추천사 x
베타리더 후기 xi
시작하며 xiii
이 책에 대하여 xiv
CHAPTER 1 러스트 시작하기 1
1.1 가장 사랑받는 언어, 러스트 1
1.2 파이썬 개발자가 러스트를 배워야 하는 이유 2
1.3 파이썬과 러스트의 차이점 3
__언어상의 차이 3
__툴 비교 4
1.4 러스트의 경쟁 언어 5
1.5 러스트로 뭘 할 수 있나요? 6
__러스트 실제 사용 사례 8
1.6 러스트 개발 환경 설정하기 10
__러스트 툴체인 설치하기 10
__Visual Studio Code 설치 및 설정하기 11
__프로젝트 생성하기 12
1.7 러스트 코드 실행하기 15
__코드 컴파일하기 15
__코드 실행하기 16
__rustfmt 17
CHAPTER 2 변수와 상수 18
2.1 값 출력하기 18
2.2 변수 선언 19
2.3 작명 규칙 21
2.4 불변성 22
2.5 섀도잉 23
2.6 타입 24
__타입 추론 24
__타입 변환 25
2.7 상수 26
2.8 연습문제 29
CHAPTER 3 함수와 매크로 30
3.1 함수 선언 30
3.2 여러 개의 값 리턴하기 33
3.3 스코프 35
3.4 익명 함수 38
3.5 매크로 40
3.6 연습문제 42
CHAPTER 4 조건문과 반복문 43
4.1 if/else 43
__let if 45
4.2 for 47
4.3 while 49
4.4 loop 50
4.5 match 52
4.6 연습문제 54
CHAPTER 5 소유권 55
5.1 메모리 관리 55
5.2 스택과 힙 56
5.3 소유권 규칙 57
__값에 대한 소유권 57
__소유권 돌려주기 59
__레퍼런스와 소유권 빌리기 60
__가변 레퍼런스 61
5.4 클로저와 소유권 64
__클로저의 환경 캡처 64
__move를 사용한 소유권 이동 65
5.5 연습문제 67
CHAPTER 6 자료구조와 이터레이터 70
6.1 한눈에 보기 71
러스트에 입문하는 가장 빠르고 확실한 방법, 파이썬 코드와 비교하기
파이썬은 간결한 문법 덕분에 널리 사랑받는 언어이고, 러스트는 고성능 프로그램을 구현할 수 있는 언어다. 파이썬 패키지와 자바스크립트 패키지를 러스트로 대체하려는 분야가 많아지고 있고, 이 추세는 계속될 것으로 보인다. 이러한 상황에서 파이썬 사용자 중에는 진입장벽이 높은 러스트에 발을 들이기를 망설이고 있는 사람이 많다.
이 책은 파이썬을 알고 있는 사람이 가장 빠르고 확실하게 러스트에 입문할 수 있게 쓰인 책이다. 파이썬 코드에서 병목현상이 발생하는 부분을 러스트로 대체하면 성능을 크게 높일 수 있으며, 러스트는 파이썬보다 멀티스레딩 구현이 쉽고, 개발 도구가 매우 편리하다. 파이썬은 동적 타입 언어로 주로 객체지향 프로그래밍을 하고, 러스트는 정적 타입 언어로 주로 함수형 프로그래밍을 한다는 차이점이 있지만 이 책과 함께라면 쉽게 그 차이를 이해할 수 있을 것이다.
1장에서는 러스트를 배워야 하는 이유와 실무에서 러스트를 활용한 사례를 알아보고, 실행 환경을 차근차근 구축한다. 2장에서는 변수를 선언하는 방법과 타입 시스템, 3장에서는 함수와 클로저를 정의하는 방법과 매크로를 알아본다. 4장에서는 흐름 제어문, 5장에서는 소유권을 배운다. 6장에서는 러스트 내장 자료형과 함수형 프로그래밍에서 중요한 이터레이터를 알아보고, 7장에서는 객체 지향 방식과 구조체를 사용한 방식을 비교해본다. 8장에서는 코드가 길어지고 복잡해질 때 프로젝트를 모듈화하는 방법을 배운다.
9장에서는 제네릭과 트레이트로 코드를 추상화하는 방법과 러스트에서 라이프타임을 사용해 변수의 범위를 제한하는 방법을 살펴본다. 10장에서는 에러 처리 방법과 디버깅을 위한 로깅 방법을, 11장에서는 스마트 포인터를 통해 힙 메모리 공간을 안전하게 사용할 수 있는 방법을 알아본다. 12장에서는 멀티스레딩을 효율적이고 안전하게 수행하는 방법을 살펴보고, 13장에서는 비동기 프로그래밍을 알아본다. 14장에서는 단위