옮긴이머리말xii
베타리더후기xvi
시작하며xix
CHAPTER1시스템프로그래머,남부럽지않은도구로날개달다1
프로그래머의짐을덜어주는안전성3
맘먹은대로되는병렬프로그래밍4
그럼에도불구하고놓칠수없는빠른속도4
협업이쉬워지는개발환경5
CHAPTER2러스트둘러보기6
rustup과카고7
러스트함수10
단위테스트작성해돌려보기12
명령줄인수다루기13
웹서비스만들기18
동시성24
파일시스템과명령줄도구45
CHAPTER3기본타입54
고정된크기를갖는수치타입57
bool타입67
문자67
튜플69
포인터타입71
배열,벡터,슬라이스74
문자열타입81
타입별칭88
한걸음더나아가기88
CHAPTER4소유와이동89
소유91
이동96
Copy타입:이동의예외107
Rc와Arc:공유된소유권110
CHAPTER5레퍼런스114
값의레퍼런스115
레퍼런스다루기119
레퍼런스안전성125
공유vs.변경140
객체의바다와맞서기148
CHAPTER6표현식151
표현식언어151
우선순위와결합성153
블록과세미콜론155
선언157
if와match159
iflet162
루프162
루프의제어흐름164
return표현식166
러스트에loop가있는이유167
함수와메서드호출169
필드와요소171
레퍼런스연산자173
산술,비트별,비교,논리연산자173
배정175
타입캐스팅175
클로저177
전진,앞으로!178
CHAPTER7오류처리179
패닉179
Result182
CHAPTER8크레이트와모듈198
크레이트199
모듈204
프로그램을라이브러리로바꾸기216
src/bin디렉터리218
어트리뷰트220
테스트와문서화223
의존성지정하기233
crates,io에크레이트게시하기237
워크스페이스239
더멋진것들240
CHAPTER9스트럭트242
이름있는필드로된스트럭트243
튜플형스트럭트246
유닛형스트럭트247
스트럭트레이아웃248
impl로메서드정의하기249
연관상수254
제네릭스트럭트255
수명매개변수를갖는제네릭스트럭트257
상수매개변수를갖는제네릭스트럭트259
스트럭트타입에공통트레이트구현하기262
내부가변성263
CHAPTER10이늄과패턴268
이늄269
패턴280
큰그림295
CHAPTER11트레이트와제네릭297
트레이트의사용299
트레이트의정의와구현311
한정자가모두붙은메서드호출321
타입간의관계를정의하는트레이트323
바운드역설계332
밑바탕으로서의트레이트336
CHAPTER12연산자오버로딩337
산술연산자와비트별연산자339
동치비교345
순서비교349
Index와IndexMut352
기타연산자355
CHAPTER13유틸리티트레이트357
Drop359
Sized362
Clone366
Copy367
Deref와DerefMut368
Default372
AsRef와AsMut374
Borrow와BorrowMut376
From과Into378
TryFrom과TryInto382
ToOwned383
Borrow+ToOwned=Cow384
CHAPTER14클로저387
변수캡처하기389
함수와클로저타입392
클로저성능395
클로저와안전성396
콜백403
효율적인클로저사용법408
CHAPTER15이터레이터411
Iterator와IntoIterator트레이트413
이터레이터생성하기415
이터레이터어댑터423
이터레이터소비하기443
나만의이터레이터구현하기460
CHAPTER16컬렉션466
둘러보기467
Vec468
VecDeque486
BinaryHeap489
HashMap와BTreeMap490
HashSet와BTreeSet498
해싱502
사용자정의해싱알고리즘사용하기504
표준컬렉션에서한걸음더나아가기506
CHAPTER17문자열과텍스트507
유니코드에대한몇가지배경지식508
문자(char)511
String과str516
값형식화하기537
정규표현식552
정규화555
CHAPTER18입력과출력559
리더와라이터560
파일과디렉터리577
네트워킹587
CHAPTER19동시성590
포크-조인병렬처리592
채널605
변경할수있는공유된상태620
러스트로동시적코드를작성한다는건바로이런것638
CHAPTER20비동기프로그래밍639
동기식에서비동기식으로641
비동기식클라이언트와서버667
기본제공퓨처와이그제큐터:퓨처를다시폴링해도좋은시점은언제일까?689
핀설정695
비동기식코드는언제써야좋을까?703
CHAPTER21매크로706
매크로의기초708
기본제공매크로715
매크로디버깅718
json!매크로만들기719
매칭중에발생하는구문오류피하기733
macro_rules!에서한걸음더나아가기734
CHAPTER22안전하지않은코드736
무엇으로부터안전하지않다는걸까?737
안전하지않은블록739
예:효율적인아스키문자열타입740
안전하지않은함수743
안전하지않은블록vs,안전하지않은함수745
미정의동작746
안전하지않은트레이트749
원시포인터751
유니언으로메모리재해석하기774
유니언매칭하기777
유니언빌려오기777
CHAPTER23외부함수778
공통데이터표현찾기779
외부함수와변수선언하기783
라이브러리에있는함수사용하기785
libgit2의원시인터페이스790
libgit2의안전한인터페이스797
결론810
찾아보기812