• 소득공제
  • 무료배송

러스트 프로그래밍 입문 - 8개 프로그램을 만들면서 러스트 컴파일러와 친해지기

  • 안도 카즈시게, 오니시 료, 토쿠나가 유스케, 나카무라 켄코, 야마나카 유다이
  • 서수환
  • 인사이트
  • 2026년 02월 23일
사용자 평점
0리뷰 0개
10%28,80032,000원
적립금
1,600원 (5% 적립)
추가 적립 안내
  • 5만원 이상 결제 시 (*배송비 제외)

    정가제FREE(상품/사은품) 금액이
    2,000원 이상이면 2,000원 추가적립

  • 10만원 이상 결제 시 (*배송비 제외)

    정가제FREE(상품/사은품) 금액이
    2,000원 이상이면 2,000원 추가적립

    정가제FREE(상품/사은품) 금액이
    5,000원 이상이면 5,000원 추가적립

회원가입 시 적립금 즉시 지급!

배송비
무료 (해외배송의 경우 지역에 따라 상이)

배송안내

배송비 안내
  • 1만원 이상 주문 시 무료배송 입니다.
  • 주문하신 상품을 해외로 배송 하시는 경우에는 별도의 항공료 가 부과됩니다
서울특별시 강남구 강남대로 542(논현동, 영풍빌딩)
주문 수량 변경시 안내

[주문/배송] 주문 수량 변경 시 안내

주문 수량 변경 시,배송일정이 변경될 수 있으니 반드시 확인해 주시기 바랍니다.
(고객센터 1544-9020)

지금 주문하면 9/10(목) 출고 가능
택배보다 빠른, 나우드림
상품 규격 정보
상품상세정보
ISBNISBN-13 : 9788966265190
쪽수348쪽
크기기타 규격
제품구성단행본
이 책이 속한 분야
  • 컴퓨터/IT > 인터넷
관련 이벤트

AI추천 이유

책 소개

깐깐하기로 유명한 러스트 컴파일러?

에러 메시지는 장애물이 아니라 안내자다!

 

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

목차

[목 차]

▶ 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 앱

● 포커 게임

● 가계부 프로그램

● 스터디 모임 캘린더

● 썸네일 생성 프로그램

저자 소개
저자 : 안도 카즈시게, 오니시 료, 토쿠나가 유스케, 나카무라 켄코, 야마나카 유다이

안도 카즈시게
安東 一慈

도쿄대학교 공학부를 졸업했다. 에스티(estie)의 소프트웨어 엔지니어로 사내 부동산 데이터 관리 시스템을 개발한다. 데이터 가공부터 프런트엔드 구현까지 폭넓게 담당하고 있으며 일본에서 부동산 등기부를 가장 잘 아는 러스터션이라고 자칭한다.

 

오니시 료
大西 諒

오키나와공업고등학교 정보통신시스템공학과를 졸업했다. 에스티의 소프트웨어 엔지니어로 웹 애플리케이션 백엔드 분야를 담당한다. 그전에는 프리랜서로 웹 애플리케이션을 개발했으며 프런트엔드부터 인프라까지 폭넓은 경험을 가지고 있다.

 

토쿠나가 유스케
徳永 裕介

에스티의 소프트웨어 엔지니어로 서비스 런칭 분야를 담당한다. 그전에는 EC, 크라우드 펀딩 등 B2C 서비스 웹 애플리케이션을 중심으로 개발, 유지보수, 운영을 맡았다.

 

나카무라 켄코
中村 謙弘

에스티의 스태프 엔지니어로 플랫폼 엔지니어링을 담당한다. 그전에는 인디드(Indeed)에서 머신러닝 시스템을 개발했다. 공저로 《실전 러스트 프로그래밍 입문》(슈와시스템), 《알고리즘 실기 검정 공식 교재(초중급 편)》(마이나비), 《알고리즘 실기 검정 공식 교재(고급 편)》(마이나비)이 있다.

 

야마나카 유다이
山中 雄大

에스티의 소프트웨어 엔지니어로 웹 애플리케이션을 주로 개발한다. 그전에는 금융계 등 대규모 개발을 경험한 적이 있으며 비어퐁(Beer Pong) 일본 대표이기도 했다.

 

서수환(역자)

일본에서 IT 시스템을 설계, 개발하는 엔지니어다. 귀찮은 일을 대신해 줄 무언가를 만드는 것이 취미다. 늘 ‘또 뭐 하며 놀까’를 고민하며, 최근에는 업무 효율화와 창작 도구로서의 AI 기술에 깊은 관심이 있다. 주요 번역서로는 《그림으로 이해하는 도커와 쿠버네티스》(길벗), 《생성형 AI 활용 백과사전》(길벗), 《그림으로 이해하는 시스템 설계》(길벗), 《게임 AI를 위한 탐색 알고리즘 입문》(한빛미디어) 등이 있다.

도서리뷰 (0)
이 책을 읽고 어떤 느낌을 받으셨나요? 리뷰를 남기고 다른 독자들과 함께 공유해보세요.

등록된 리뷰가 없습니다

첫번째 리뷰어가 되어주세요

교환/반품/환불
반품/교환방법
  • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
  • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
반품/교환 가능기간
  • 변심반품의 경우 수령 후 7일 이내
  • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용
  • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 만화, 잡지, 수험서 및 문제집류
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
상품 품절
  • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

매장에서 사용할 수 있는 바코드가 있어요!