
구매문의 및 도서상담은 031-944-3966(매장)으로 문의해주세요.
매장전집은 전화 혹은 매장방문만 구입 가능합니다.
지은이 : 안도 카즈시게
도쿄대학교 공학부를 졸업했다. 에스티(estie)의 소프트웨어 엔지니어로 사내 부동산 데이터 관리 시스템을 개발한다. 데이터 가공부터 프런트엔드 구현까지 폭넓게 담당하고 있으며 일본에서 부동산 등기부를 가장 잘 아는 러스터션이라고 자칭한다.
지은이 : 오니시 료
오키나와공업고등학교 정보통신시스템공학과를 졸업했다. 에스티의 소프트웨어 엔지니어로 웹 애플리케이션 백엔드 분야를 담당한다. 그전에는 프리랜서로 웹 애플리케이션을 개발했으며 프런트엔드부터 인프라까지 폭넓은 경험을 가지고 있다.
지은이 : 토쿠나가 유스케
에스티의 소프트웨어 엔지니어로 서비스 런칭 분야를 담당한다. 그전에는 EC, 크라우드 펀딩 등 B2C 서비스 웹 애플리케이션을 중심으로 개발, 유지보수, 운영을 맡았다.
지은이 : 나카무라 켄코
에스티의 스태프 엔지니어로 플랫폼 엔지니어링을 담당한다. 그전에는 인디드(Indeed)에서 머신러닝 시스템을 개발했다. 공저로 《실전 러스트 프로그래밍 입문》(슈와시스템), 《알고리즘 실기 검정 공식 교재(초중급 편)》(마이나비), 《알고리즘 실기 검정 공식 교재(고급 편)》(마이나비)이 있다.
지은이 : 야마나카 유다이
에스티의 소프트웨어 엔지니어로 웹 애플리케이션을 주로 개발한다. 그전에는 금융계 등 대규모 개발을 경험한 적이 있으며 비어퐁(Beer Pong) 일본 대표이기도 했다.
▶ 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
도서 DB 제공 - 알라딘 인터넷서점 (www.aladin.co.kr)