상세정보
미리보기
파이썬과 비교하며 배우는 러스트 프로그래밍 : 가장 사랑받는 언어 러스트를 배우는 가장 확실한 방법
- 저자
- 윤인도 저
- 출판사
- 제이펍
- 출판일
- 2024-06-14
- 등록일
- 2024-07-22
- 파일포맷
- PDF
- 파일크기
- 7MB
- 공급사
- 예스이십사
- 지원기기
-
PC
PHONE
TABLET
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
파이썬 개발자를 위한 유일무이한 러스트 입문서이 책은 파이썬 코드와 러스트 코드를 비교하면서 차이점과 유사점을 발견하고, 러스트를 쉽게 이해하도록 도와준다. 파이썬을 모르더라도 친절한 설명으로 러스트의 타입 시스템, 함수, 클로저, 매크로 등 기본 개념을 빠르게 익힐 수 있으며, 파이썬에 익숙하다면 러스트의 소유권과 제네릭, 트레이트, 멀티스레딩, 테스트 등 고급 개념을 확실히 이해하는 데 도움이 될 것이다. 러스트를 사용해본 개발자라면 다른 언어와의 비교를 통해 러스트에 대해 미처 몰랐던 부분을 발견할 수 있다.
저자소개
SAP Labs Korea의 백엔드 개발자. 한 줄의 코드가 세상을 더 나은 곳으로 바꿀 수 있다고 믿으며, 많은 이에게 지식을 전하기 위해 여러 기업과 대학에서 강연하고 있다. 또한 프로그래머스, 클래스101, 인프런, 베어유 등에서 다양한 주제로 온라인 클래스도 진행하고 있다.
목차
추천사 x베타리더 후기 xi시작하며 xiii이 책에 대하여 xivCHAPTER 1 러스트 시작하기 11.1 가장 사랑받는 언어, 러스트 11.2 파이썬 개발자가 러스트를 배워야 하는 이유 21.3 파이썬과 러스트의 차이점 3__언어상의 차이 3 __툴 비교 41.4 러스트의 경쟁 언어 51.5 러스트로 뭘 할 수 있나요? 6__러스트 실제 사용 사례 81.6 러스트 개발 환경 설정하기 10__러스트 툴체인 설치하기 10 __Visual Studio Code 설치 및 설정하기 11__프로젝트 생성하기 121.7 러스트 코드 실행하기 15__코드 컴파일하기 15 __코드 실행하기 16 __rustfmt 17CHAPTER 2 변수와 상수 182.1 값 출력하기 182.2 변수 선언 192.3 작명 규칙 212.4 불변성 222.5 섀도잉 232.6 타입 24__타입 추론 24 __타입 변환 252.7 상수 262.8 연습문제 29CHAPTER 3 함수와 매크로 303.1 함수 선언 303.2 여러 개의 값 리턴하기 333.3 스코프 353.4 익명 함수 383.5 매크로 403.6 연습문제 42CHAPTER 4 조건문과 반복문 434.1 if/else 43__let if 454.2 for 474.3 while 494.4 loop 504.5 match 524.6 연습문제 54CHAPTER 5 소유권 555.1 메모리 관리 555.2 스택과 힙 565.3 소유권 규칙 57__값에 대한 소유권 57 __소유권 돌려주기 59__레퍼런스와 소유권 빌리기 60 __가변 레퍼런스 615.4 클로저와 소유권 64__클로저의 환경 캡처 64 __move를 사용한 소유권 이동 655.5 연습문제 67CHAPTER 6 자료구조와 이터레이터 706.1 한눈에 보기 716.2 벡터 71__벡터 선언 71 __벡터 원소 접근하기 72 __벡터에 값 추가하기 73__벡터에서 값 삭제하기 74 __데크 756.3 배열 76__배열 선언 76 __원소 참조 796.4 튜플 81__튜플 선언 81 __원소 참조 82 __튜플 불변성 836.5 해시맵 846.6 문자열 87__문자열 생성하기 87 __문자열 슬라이스 876.7 열거형 89__Option 열거형 92 __Result〈T, E〉 열거형 946.8 이터레이터 98__이터레이터의 개념 98 __이터레이터를 소비하는 메서드 100__새로운 이터레이터를 만드는 메서드 1016.9 연습문제 105CHAPTER 7 구조체 1077.1 구조체의 정의 108__구조체 선언 108 __연관 함수 109 __메서드 111 __튜플 구조체 1137.2 트레이트 114__트레이트로 메서드 공유하기 114 __파생 1187.3 연습문제 125CHAPTER 8 모듈과 크레이트 1278.1 러스트의 모듈 시스템 127__크레이트 1278.2 모듈 128__공개 및 비공개 129__모듈 사용하기 130 __패키지 1328.3 모듈과 크레이트 사용해보기 134CHAPTER 9 제네릭과 라이프타임 1399.1 제네릭 1399.2 타입 파라미터 1419.3 제네릭과 트레이트 144__파라미터 타입 145 __트레이트 바운드 146 __터보피시 1479.4 미니 프로젝트: cat 만들어보기 1509.5 라이프타임과 스태틱 152__라이프타임 153 __함수에서의 라이프타임 153 __스태틱 라이프타임 157CHAPTER 10 에러 처리와 로깅 16310.1 에러 처리의 철학 163__파이썬의 에러 처리 163 __러스트의 에러 처리 16410.2 panic! 16510.3 unwrap 167__unwrap 167 __unwrap_or 170 __unwrap_or_else 171__unwrap_or_default 17210.4 expect 17310.5 ? 연산자 17410.6 커스텀 에러 정의 17710.7 로깅 181CHAPTER 11 스마트 포인터 18711.1 포인터 187__스마트 포인터 18811.2 Box 타입 191__Box〈T〉 194 __Box 사용하기 194 __dyn과 Box로 트레이트 타입 표현하기 19511.3 Rc〈T〉 198__마지막 순간까지 198 __퀴즈 20111.4 RefCell〈T〉 202__Rc〈T〉의 한계 202 __내부 가변성 205 __Rc〈RefCell〈T〉〉 20611.5 스마트 포인터 정리 20811.6 연습문제 209CHAPTER 12 멀티스레딩 21112.1 스레드 스폰 212__싱글 스레드 스폰하기 212 __데몬 스레드 만들기 214__join 함수를 사용해 스레드 기다리기 21612.2 GIL 218__GIL의 단점 21912.3 스레드와 소유권 220__범위 제한 스레드 223 __스태틱 22512.4 Arc 225__레퍼런스 카운팅 226 __Arc 22712.5 뮤텍스 22912.6 메시지 전달 233CHAPTER 13 비동기 프로그래밍 23713.1 비동기 프로그래밍 237__멀티스레드와 비동기의 차이점 238 __비동기 프로그램의 작동 방식 23813.2 비동기 프로그래밍 만들기 239__비동기 런타임 239 __비동기 함수 만들기 240 __여러 작업 실행하기 24213.3 예제: 빠르게 HTTP 요청 보내기 245__동기 방식 245 __비동기 방식 248CHAPTER 14 테스트 25514.1 프로그래밍에서 테스트가 필요한 이유 25514.2 단위 테스트 256__함수 테스트 256 __클래스와 구조체 테스트 260 __비동기 함수 테스트 26314.3 문서 테스트 26414.4 모킹 266CHAPTER 15 파이썬 바인딩 27115.1 파이썬 가상 환경 만들기 271__가상 환경 271 __pipenv 27115.2 러스트 프로젝트 생성하기 273__파이썬 바인딩 273 __maturin 274 __라이브러리 크레이트 만들기 27515.3 파이썬에서 러스트 코드 실행하기 276__개발 모드로 빌드하기 276 __릴리스 모드로 빌드하기 27815.4 PyO3와 GIL 279__GIL 획득과 해제 279APPENDIX A 연습문제 정답 282찾아보기 291