파이썬과 비교하며 배우는 러스트 프로그래밍
"파이썬 개발자를 위한 유일무이한 러스트 입문서
이 책은 파이썬 코드와 러스트 코드를 비교하면서 차이점과 유사점을 발견하고, 러스트를 쉽게 이해하도록 도와준다. 파이썬을 모르더라도 친절한 설명으로 러스트의 타입 시스템, 함수, 클로저, 매크로 등 기본 개념을 빠르게 익힐 수 있으며, 파이썬에 익숙하다면 러스트의 소유권과 제네릭, 트레이트, 멀티스레딩, 테스트 등 고급 개념을 확실히 이해하는 데 도움이 될 것이다. 러스트를 사용해본 개발자라면 다른 언어와의 비교를 통해 러스트에 대해 미처 몰랐던 부분을 발견할 수 있다."
"저 : 윤인도
SAP Labs Korea의 백엔드 개발자. 한 줄의 코드가 세상을 더 나은 곳으로 바꿀 수 있다고 믿으며, 많은 이에게 지식을 전하기 위해 여러 기업과 대학에서 강연하고 있다. 또한 프로그래머스, 클래스101, 인프런, 베어유 등에서 다양한 주제로 온라인 클래스도 진행하고 있다."
"추천사
베타리더 후기
시작하며
이 책에 대하여
CHAPTER 1 러스트 시작하기
1.1 가장 사랑받는 언어, 러스트
1.2 파이썬 개발자가 러스트를 배워야 하는 이유
1.3 파이썬과 러스트의 차이점
__언어상의 차이
__툴 비교
1.4 러스트의 경쟁 언어
1.5 러스트로 뭘 할 수 있나요?
__러스트 실제 사용 사례
1.6 러스트 개발 환경 설정하기
__러스트 툴체인 설치하기
__Visual Studio Code 설치 및 설정하기
__프로젝트 생성하기
1.7 러스트 코드 실행하기
__코드 컴파일하기
__코드 실행하기
__rustfmt
CHAPTER 2 변수와 상수
2.1 값 출력하기
2.2 변수 선언
2.3 작명 규칙
2.4 불변성
2.5 섀도잉
2.6 타입
__타입 추론
__타입 변환
2.7 상수
2.8 연습문제
CHAPTER 3 함수와 매크로
3.1 함수 선언
3.2 여러 개의 값 리턴하기
3.3 스코프
3.4 익명 함수
3.5 매크로
3.6 연습문제
CHAPTER 4 조건문과 반복문
4.1 if/else
__let if
4.2 for
4.3 while
4.4 loop
4.5 match
4.6 연습문제
CHAPTER 5 소유권
5.1 메모리 관리
5.2 스택과 힙
5.3 소유권 규칙
__값에 대한 소유권
__소유권 돌려주기
__레퍼런스와 소유권 빌리기
__가변 레퍼런스
5.4 클로저와 소유권
__클로저의 환경 캡처
__move를 사용한 소유권 이동
5.5 연습문제
CHAPTER 6 자료구조와 이터레이터
6.1 한눈에 보기
6.2 벡터
__벡터 선언
__벡터 원소 접근하기
__벡터에 값 추가하기
__벡터에서 값 삭제하기
__데크
6.3 배열
__배열 선언
__원소 참조
6.4 튜플
__튜플 선언
__원소 참조
__튜플 불변성
6.5 해시맵
6.6 문자열
__문자열 생성하기
__문자열 슬라이스
6.7 열거형
__Option 열거형
__Result〈T, E〉 열거형
6.8 이터레이터
__이터레이터의 개념
__이터레이터를 소비하는 메서드
__새로운 이터레이터를 만드는 메서드
6.9 연습문제
CHAPTER 7 구조체
7.1 구조체의 정의
__구조체 선언
__연관 함수
__메서드
__튜플 구조체
7.2 트레이트
__트레이트로 메서드 공유하기
__파생
7.3 연습문제
CHAPTER 8 모듈과 크레이트
8.1 러스트의 모듈 시스템
__크레이트
8.2 모듈
__공개 및 비공개
__모듈 사용하기
__패키지
8.3 모듈과 크레이트 사용해보기
CHAPTER 9 제네릭과 라이프타임
9.1 제네릭
9.2 타입 파라미터
9.3 제네릭과 트레이트
__파라미터 타입
__트레이트 바운드
__터보피시
9.4 미니 프로젝트: cat 만들어보기
9.5 라이프타임과 스태틱
__라이프타임
__함수에서의 라이프타임
__스태틱 라이프타임
CHAPTER 10 에러 처리와 로깅
10.1 에러 처리의 철학
__파이썬의 에러 처리
__러스트의 에러 처리
10.2 panic!
10.3 unwrap
__unwrap
__unwrap_or
__unwrap_or_else
__unwrap_or_default
10.4 expect
10.5 ? 연산자
10.6 커스텀 에러 정의
10.7 로깅
CHAPTER 11 스마트 포인터
11.1 포인터
__스마트 포인터
11.2 Box 타입
__Box〈T〉
__Box 사용하기
__dyn과 Box로 트레이트 타입 표현하기
11.3 Rc〈T〉
__마지막 순간까지
__퀴즈
11.4 RefCell〈T〉
__Rc〈T〉의 한계
__내부 가변성
__Rc〈RefCell〈T〉〉
11.5 스마트 포인터 정리
11.6 연습문제
CHAPTER 12 멀티스레딩
12.1 스레드 스폰
__싱글 스레드 스폰하기
__데몬 스레드 만들기
__join 함수를 사용해 스레드 기다리기
12.2 GIL
__GIL의 단점
12.3 스레드와 소유권
__범위 제한 스레드
__스태틱
12.4 Arc
__레퍼런스 카운팅
__Arc
12.5 뮤텍스
12.6 메시지 전달
CHAPTER 13 비동기 프로그래밍
13.1 비동기 프로그래밍
__멀티스레드와 비동기의 차이점
__비동기 프로그램의 작동 방식
13.2 비동기 프로그래밍 만들기
__비동기 런타임
__비동기 함수 만들기
__여러 작업 실행하기
13.3 예제: 빠르게 HTTP 요청 보내기
__동기 방식
__비동기 방식
CHAPTER 14 테스트
14.1 프로그래밍에서 테스트가 필요한 이유
14.2 단위 테스트
__함수 테스트
__클래스와 구조체 테스트
__비동기 함수 테스트
14.3 문서 테스트
14.4 모킹
CHAPTER 15 파이썬 바인딩
15.1 파이썬 가상 환경 만들기
__가상 환경
__pipenv
15.2 러스트 프로젝트 생성하기
__파이썬 바인딩
__maturin
__라이브러리 크레이트 만들기
15.3 파이썬에서 러스트 코드 실행하기
__개발 모드로 빌드하기
__릴리스 모드로 빌드하기
15.4 PyO3와 GIL
__GIL 획득과 해제
APPENDIX A 연습문제 정답
찾아보기"
윤인도 저자가 집필한 등록된 컨텐츠가 없습니다.