홈 > 부모님 > 부모님 > 소설,일반 > 컴퓨터,모바일
러스트 프로그래밍 입문  이미지

러스트 프로그래밍 입문
8개 프로그램을 만들면서 러스트 컴파일러와 친해지기
인사이트 | 부모님 | 2026.02.23
  • 정가
  • 32,000원
  • 판매가
  • 28,800원 (10% 할인)
  • S포인트
  • 1,600P (5% 적립)
  • 상세정보
  • 18.8x24 | 0.661Kg | 348p
  • ISBN
  • 9788966265190
  • 배송비
  • 2만원 이상 구매시 무료배송 (제주 5만원 이상) ?
    배송비 안내
    전집 구매시
    주문하신 상품의 전집이 있는 경우 무료배송입니다.(전집 구매 또는 전집 + 단품 구매 시)
    단품(단행본, DVD, 음반, 완구) 구매시
    2만원 이상 구매시 무료배송이며, 2만원 미만일 경우 2,000원의 배송비가 부과됩니다.(제주도는 5만원이상 무료배송)
    무료배송으로 표기된 상품
    무료배송으로 표기된 상품일 경우 구매금액과 무관하게 무료 배송입니다.(도서, 산간지역 및 제주도는 제외)
  • 출고일
  • 품절된 상품입니다.
  • ★★★★★
  • 0/5
리뷰 0
리뷰쓰기

구매문의 및 도서상담은 031-944-3966(매장)으로 문의해주세요.
매장전집은 전화 혹은 매장방문만 구입 가능합니다.

  • 도서 소개
  • 출판사 리뷰
  • 작가 소개
  • 목차
  • 회원 리뷰

  도서 소개

깐깐하기로 유명한 러스트 컴파일러?
에러 메시지는 장애물이 아니라 안내자다!


러스트 입문자가 가장 먼저 부딪히는 벽은 문법이 아니라 컴파일러의 반응이다. 코드를 작성하고 실행하기까지 러스트 컴파일러는 수많은 에러 메시지를 던진다. 이 책은 에러를 피하지 않고 직접 하나씩 고쳐 나가는 과정 자체를 러스트 학습의 중심에 둔다. 소유권, 참조, 에러 처리 같은 핵심 개념은 직접 코드를 짜다 마주치는 컴파일 에러를 따라가며 익힌다. 무엇을 어떻게 고칠지는 항상 컴파일러의 메시지가 알려 준다. 이 과정을 반복하다 보면 러스트가 요구하는 사고 방식을 자연스럽게 배울 수 있다.

  출판사 리뷰

8개 프로그램을 완성하며 배우는 러스트식 사고법!
프로그램을 만들면서 문제를 해결하는 힘을 기른다!


이 책은 문법부터 외우기보다 실제로 실행되는 프로그램 하나를 처음부터 끝까지 완성하는 과정을 먼저 보여 준다. 각 장의 프로그램은 하나의 과제를 잘게 쪼개서 생각하도록 짜여 있고 구현에 필요한 개념만 그때그때 단계적으로 등장한다. 구조체, 열거형, 컬렉션 같은 개념도 따로 떼어 설명하지 않는다. 계산기 같은 실제 프로그램을 구현하면서 왜 이런 타입이 필요한지, 왜 이런 구조가 안전한지를 직접 보여 준다. 이렇게 문제를 쪼개고, 구현하고, 수정하는 과정을 거치며 러스트식 문제 해결법을 기른다.

이 책에서 다루는 내용
● 계산 퀴즈
● 계산기
● 도서 관리 프로그램
● TODO 앱
● 포커 게임
● 가계부 프로그램
● 스터디 모임 캘린더
● 썸네일 생성 프로그램

  작가 소개

지은이 : 안도 카즈시게
도쿄대학교 공학부를 졸업했다. 에스티(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

  회원리뷰

리뷰쓰기