이미 소장하고 있다면 판매해 보세요.
|
· 1장 러스트는 어디서 쓸까요? 1
1.1 러스트란? 1 1.2 러스트는 고성능 2 ____1.2.1 기계어로 컴파일된다 3 ____1.2.2 가비지 컬렉션이 필요 없다 3 ____1.2.3 제로 코스트 추상화를 실현한다 4 1.3 러스트는 안전성이 높다 4 1.4 러스트는 생산성이 높다 5 ____1.4.1 패키지 매니저 5 ____1.4.2 단위 테스트 5 ____1.4.3 포매터와 린터 6 ____1.4.4 풍부한 표현력 6 1.5 러스트, 어디서 쓰고 있을까? 8 1.6 활발한 커뮤니티 활동 8 · 2장 러스트로 프로그램을 실행해 보자: Hello, world! 9 2.1 러스트 설치하기 9 ____2.1.1 macOS와 리눅스에서 설치하기 10 ____2.1.2 러스트 개발 도구 구성 10 2.2 러스트로 프로그램 작성하기 13 ____2.2.1 코드를 작성하기 전에 14 ____2.2.2 rustc 사용하기 16 ____2.2.3 Cargo 사용하기 19 ____2.2.4 cargo new로 신규 프로젝트 작성하기 19 ____2.2.5 프로그램 작성하기 요약 24 2.3 개발 환경 만들기 25 ____2.3.1 VS Code를 더 편리하게 사용하기 25 · 3장 인터랙티브 프로그램 만들기 [계산 퀴즈] 29 3.1 애플리케이션 사양 30 ____3.1.1 실행 예 30 3.2 준비 작업 30 ____3.2.1 코드 안 주석 30 ____3.2.2 값과 데이터 타입 31 ____3.2.3 변수 33 ____3.2.4 표현식과 구문 34 ____3.2.5 불변성과 가변성 34 3.3 퀴즈 정답 판정하기 35 ____3.3.1 프로젝트 작성 35 ____3.3.2 사용자 입력 받기 36 ____3.3.3 덧셈 문제 만들기: if 문 38 ____3.3.4 뺄셈 문제 만들기: unsigned/signed 40 ____3.3.5 무작위 문제 생성하기 42 3.4 다양한 제어 흐름 사용하기 45 ____3.4.1 종료 판정하기: for in/while 45 ____3.4.2 퀴즈 종류 나누기: match 46 ____3.4.3 정답을 맞힐 때까지 문제 반복하기: loop 48 · 4장 다양한 자료 구조 다루기 [포커 게임] 53 4.1 애플리케이션 사양 53 ____4.1.1 실행 예 54 4.2 프로젝트 작성하기 55 4.3 트럼프 카드 정의하기 55 4.4 트럼프 카드를 변수에 대입하기 57 4.5 52장 카드 더미 만들기 58 4.6 카드 더미 섞기 59 4.7 카드 더미에서 카드 뽑기 59 4.8 패 교환 61 4.9 조합 판정 62 · 5장 함수와 메서드 다루기 [메모리 기능이 있는 계산기] 65 5.1 애플리케이션 사양 66 5.2 덧셈, 뺄셈, 곱셈, 나눗셈 기능 만들기 66 ____5.2.1 함수를 사용하지 않는 구현 66 ____5.2.2 함수 정의와 호출 방법 68 ____5.2.3 처리를 함수로 분할하기 71 ____5.2.4 함수의 장점 72 5.3 메모리 기능 구현하기 74 ____5.3.1 메모리 읽고 쓰기 74 ____5.3.2 참조 전달과 값 전달 79 5.4 메모리 기능 확장하기 82 ____5.4.1 메모리를 10개로 늘리기 82 ____5.4.2 소유권 시스템 86 ____5.4.3 재도전: 메모리를 10개로 늘리기 90 ____5.4.4 메모리 이름 지정하기 94 5.5 복잡한 수식 계산하기 107 ____5.5.1 토큰 의미 해석 위치 정리하기 108 ____5.5.2 [심화 내용] 괄호가 없는 수식 계산하기 112 ____5.5.3 [심화 내용] 괄호가 있는 수식 계산하기 116 · 6장 파일 입출력이 있는 명령줄 도구 만들기 [가계부 프로그램] 123 6.1 애플리케이션 사양 123 6.2 명령어 만들기 124 ____6.2.1 CLI 명령어 만들기 124 ____6.2.2 서브 명령어 만들기 126 6.3 CSV 파일 다루기 130 ____6.3.1 파일 작성하기: new 명령어 구현하기 130 ____6.3.2 파일에 내용 추가하기: deposit, withdraw 명령어 구현하기 135 ____6.3.3 여러 레코드 일괄 작성하기: import 명령어 구현하기 144 ____6.3.4 여러 파일 조작하기: report 명령어 구현하기 153 · 7장 직접 만든 라이브러리 공개하기 [도서 관리 프로그램] 159 7.1 패키지, 크레이트, 모듈 이해하기 159 ____7.1.1 패키지와 크레이트 160 ____7.1.2 모듈 이해하기 162 ____7.1.3 모듈 사용하기 162 ____7.1.4 모듈을 여러 파일로 분할하기 173 7.2 외부 크레이트 사용하기 175 ____7.2.1 crates.io 175 ____7.2.2 크레이트 추가하기 176 7.3 라이브러리 직접 만들기 181 ____7.3.1 구현하기 181 ____7.3.2 다른 크레이트 불러오기 186 ____7.3.3 깃 사용하기 187 ____7.3.4 만든 라이브러리 사용하기 192 · 8장 단위 테스트 작성하기 [스터디 모임 캘린더] 195 8.1 테스트란 무엇인가? 196 ____8.1.1 끝없는 버그 196 ____8.1.2 테스트하기 197 ____8.1.3 이 장에서 다루는 내용 197 8.2 일정을 읽고 쓰는 기능 구현하기 198 ____8.2.1 애플리케이션 사양 198 ____8.2.2 데이터 저장 형식 198 ____8.2.3 일정 목록 표시하기 199 ____8.2.4 일정 추가하기 203 8.3 중복 일정 확인하기 206 ____8.3.1 중복 일정 판정 206 ____8.3.2 테스트 작성하기 209 ____8.3.3 중복 확인 로직 수정하기 215 ____8.3.4 테스트 간결하게 작성하기 218 8.4 일정 삭제하기 225 ____8.4.1 일정 삭제 기능 구현하기 225 ____8.4.2 디버깅 방법 229 · 9장 오류 처리하기 [스터디 모임 캘린더] 239 9.1 오류 처리 239 9.2 오류 처리의 기본 개념 240 9.3 오류 타입 정의하기 242 9.4 ?를 사용한 오류 처리 243 9.5 실용적인 오류 처리 244 ____9.5.1 달력 읽기 함수의 오류 처리 244 ____9.5.2 달력 저장 함수의 오류 처리 245 ____9.5.3 사용자 지정 오류 타입 구현하기 246 ____9.5.4 오류 변환 로직 구현하기 248 ____9.5.5 thiserror 248 · 10장 간단한 웹 앱 만들기 [TODO 앱] 251 10.1 웹 브라우저 작동 원리 251 10.2 TODO 앱 만들기 252 ____10.2.1 애플리케이션 사양 253 ____10.2.2 메시지 표시하기 253 ____10.2.3 HTML 표시하기 257 ____10.2.4 데이터 저장하기 267 ____10.2.5 TODO 앱 완성하기 274 · 11장 직접 만든 웹 앱 공개하기 [TODO 앱] 287 11.1 사전 준비 287 11.2 깃 리포지터리 작성 288 11.3 Render.com 등록하기 290 · 12장 병렬 처리 다루기 [썸네일 생성 프로그램] 295 12.1 썸네일 생성 프로그램 만들기 295 ____12.1.1 병렬 처리 프로그램 작성하기 296 12.2 병렬 처리 시작하기 300 ____12.2.1 1을 10억 번 더하기 300 ____12.2.2 이상한 덧셈 301 ____12.2.3 배타적 제어로 안전한 데이터 동기화 304 12.3 다양한 데이터 동기화 방법 309 ____12.3.1 썸네일 생성 도구 병렬화 309 ____12.3.2 채널 313 ____12.3.3 rayon으로 간편하게 병렬 처리하기 316 · 13장 채용 면접 대비하기 321 13.1 전형 절차 321 ____13.1.1 서류 전형 321 ____13.1.2 1차 면접 322 ____13.1.3 기술 면접 322 ____13.1.4 2차 면접 323 13.2 기술 면접 준비하기 323 ____13.2.1 문제 A 323 ____13.2.2 문제 A 풀이 324 ____13.2.3 문제 B 328 ____13.2.4 문제 B 풀이 329 찾아보기 332 |
安東 一慈
大西 諒
中村 謙弘
山中 雄大
서수환의 다른 상품
|
8개 프로그램을 완성하며 배우는 러스트식 사고법!
프로그램을 만들면서 문제를 해결하는 힘을 기른다! 이 책은 문법부터 외우기보다 실제로 실행되는 프로그램 하나를 처음부터 끝까지 완성하는 과정을 먼저 보여 준다. 각 장의 프로그램은 하나의 과제를 잘게 쪼개서 생각하도록 짜여 있고 구현에 필요한 개념만 그때그때 단계적으로 등장한다. 구조체, 열거형, 컬렉션 같은 개념도 따로 떼어 설명하지 않는다. 계산기 같은 실제 프로그램을 구현하면서 왜 이런 타입이 필요한지, 왜 이런 구조가 안전한지를 직접 보여 준다. 이렇게 문제를 쪼개고, 구현하고, 수정하는 과정을 거치며 러스트식 문제 해결법을 기른다. 이 책에서 다루는 내용 · 계산 퀴즈 · 계산기 · 도서 관리 프로그램 · TODO 앱 · 포커 게임 · 가계부 프로그램 · 스터디 모임 캘린더 · 썸네일 생성 프로그램 |