이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제 청년패스
러스트 프로그래밍 공식 가이드
베스트
IT 모바일 top100 3주
가격
34,000
10 30,600
YES포인트?
1,700원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요
  • 본 도서의 개정판이 출간되었습니다.

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

이 상품의 태그

  • EBS 수능완성 영어영역 영어 (2026년)
    EBS 수능완성 영어영역 영어 (2026년)
    10% 14,040
    상품명 이동
  • EBS 수능완성 국어영역 독서·문학·화법과 작문 (2026년)
    EBS 수능완성 국어영역 독서·문학·화법과 작문 (2026년)
    10% 14,040
    상품명 이동
  • 완자 고등 통합과학 2 (2026년용)
    완자 고등 통합과학 2 (2026년용)
    10% 16,650
    상품명 이동
  • 2027 공단기 소방단기 써니 행정법총론 기본서
    2027 공단기 소방단기 써니 행정법총론 기본서
    10% 39,600
    상품명 이동
  • 2027 유휘운 행정법총론 요약노트+기출문제 (요.플.)
    2027 유휘운 행정법총론 요약노트+기출문제 (요.플.)
    10% 33,300
    상품명 이동
  • EBS 수능완성 사회탐구영역 사회·문화 (2026년)
    EBS 수능완성 사회탐구영역 사회·문화 (2026년)
    10% 8,820
    상품명 이동
  • 쎈 중등 수학 2-2 (2026년)
    쎈 중등 수학 2-2 (2026년)
    10% 17,100
    상품명 이동
  • 2026 큰별쌤 최태성의 별별한국사 한국사능력검정시험 심화(1,2,3급) 상
    2026 큰별쌤 최태성의 별별한국사 한국사능력검정시험 심화(1,2,3급) 상
    10% 17,100
    상품명 이동
  • 오투 중학 과학 2-2 (2026년)
    오투 중학 과학 2-2 (2026년)
    10% 17,550
    상품명 이동
  • ETS 토익 정기시험 기출문제집 1000 Vol. 5 RC
    ETS 토익 정기시험 기출문제집 1000 Vol. 5 RC
    10% 19,800
    상품명 이동
  • EBS 수능완성 국어영역 독서·문학·언어와 매체 (2026년)
    EBS 수능완성 국어영역 독서·문학·언어와 매체 (2026년)
    10% 14,040
    상품명 이동
  • 완자 기출 PICK 통합과학2 (2026년용)
    완자 기출 PICK 통합과학2 (2026년용)
    10% 15,300
    상품명 이동
  • 2026 큰별쌤 최태성의 별별한국사 한국사능력검정시험 심화(1,2,3급) 하
    2026 큰별쌤 최태성의 별별한국사 한국사능력검정시험 심화(1,2,3급) 하
    10% 16,650
    상품명 이동
  • ETS 토익 정기시험 기출문제집 1000 Vol. 5 LC
    ETS 토익 정기시험 기출문제집 1000 Vol. 5 LC
    10% 19,800
    상품명 이동
  • EBS 수능완성 사회탐구영역 생활과 윤리 (2026년)
    EBS 수능완성 사회탐구영역 생활과 윤리 (2026년)
    10% 8,820
    상품명 이동
  • EBS 윤혜정의 개념의 나비효과 입문 편 1권 문학 (2026년용)
    EBS 윤혜정의 개념의 나비효과 입문 편 1권 문학 (2026년용)
    10% 15,300
    상품명 이동
  • 쎈 중등 수학 3-2 (2026년용)
    쎈 중등 수학 3-2 (2026년용)
    10% 14,400
    상품명 이동
  • 완자 고등 물질과 에너지 (2026년)
    완자 고등 물질과 에너지 (2026년)
    10% 18,000
    상품명 이동
  • EBS 수능완성 수학영역 수학1·수학2·확률과 통계 (2026년)
    EBS 수능완성 수학영역 수학1·수학2·확률과 통계 (2026년)
    10% 12,960
    상품명 이동
  • 오투 중학 과학 3-2 (2026년)
    오투 중학 과학 3-2 (2026년)
    10% 16,200
    상품명 이동

상세 이미지

책소개

목차

CHAPTER 1 시작하기 1

1.1 설치하기 1
1.2 첫 번째 러스트 프로그램 작성하기 4
1.3 카고 알아보기 9

CHAPTER 2 숫자 맞히기 게임의 구현 15

2.1 새 프로젝트 셋업하기 16
2.2 플레이어가 예측한 값 처리하기 17
2.3 난수 생성하기 23
2.4 난수와 사용자의 입력 비교하기 28
2.5 반복문을 이용해 다중 입력 지원하기 32

CHAPTER 3 일반 프로그래밍 개념 39

3.1 변수와 가변성 40
3.2 데이터 타입 45
3.3 함수 53
3.4 주석 60
3.5 흐름 제어 61

CHAPTER 4 소유권 73

4.1 소유권이란? 73
4.2 참조와 대여 86
4.3 슬라이스 타입 93

CHAPTER 5 구조체를 활용한 관련 데이터의 구조화 101

5.1 구조체 정의와 인스턴스 생성 102
5.2 구조체를 사용하는 예제 프로그램 107
5.3 메서드 문법 112

CHAPTER 6 열거자와 패턴 매칭 119

6.1 열거자 정의하기 120
6.2 match 흐름 제어 연산자 127
6.3 if let을 이용한 간결한 흐름 제어 133

CHAPTER 7 패키지, 크레이트, 모듈로 프로젝트 관리하기 137

7.1 패키지와 크레이트 138
7.2 모듈을 이용한 범위와 접근성 제어 140
7.3 경로를 이용해 모듈 트리의 아이템 참조하기 142
7.4 use 키워드로 경로를 범위로 가져오기 150
7.5 모듈을 다른 파일로 분리하기 157

CHAPTER 8 범용 컬렉션 161

8.1 벡터에 일련의 값 저장하기 162
8.2 String 타입에 UTF-8 형식의 텍스트 저장하기 168
8.3 키와 값을 저장하는 해시 맵 178

CHAPTER 9 에러 처리 185

9.1 panic! 매크로를 이용한 회복 불가능한 에러 처리 186
9.2 Result 타입으로 에러 처리하기 189
9.3 패닉에 빠질 것인가? 말 것인가? 200

CHAPTER 10 제네릭 타입, 트레이트 그리고 수명 207

10.1 함수로부터 중복 제거하기 208
10.2 제네릭 데이터 타입 211
10.3 트레이트: 공유 가능한 행위를 정의하는 방법 220
10.4 수명을 이용해 참조 유효성 검사하기 233
10.5 제네릭 타입 매개변수, 트레이트 경계, 그리고 수명 248

CHAPTER 11 자동화 테스트 작성하기 251

11.1 테스트의 작성 252
11.2 테스트 실행 제어하기 268
11.3 테스트의 조직화 274

CHAPTER 12 I/O 프로젝트: 명령줄 프로그램 작성하기 283

12.1 명령줄 인수 처리하기 284
12.2 파일 읽기 287
12.3 모듈화와 에러 처리 향상을 위한 리팩토링 289
12.4 테스트 주도 방법으로 라이브러리의 기능 개발하기 303
12.5 환경 변수 다루기 310
12.6 stderr을 이용해 에러 메시지 출력하기 316

CHAPTER 13 함수형 언어의 기능: 반복자와 클로저 321

13.1 클로저: 주변 환경을 캡처하는 익명 함수 322
13.2 반복자를 이용해 일련의 아이템 처리하기 337
13.3 입출력 프로젝트의 개선 346

CHAPTER 14 카고와 crates.io 353

14.1 릴리즈 프로필을 이용한 빌드 커스터마이징 354
14.2 crates.io 사이트에 크레이트 발행하기 355
14.3 카고 작업공간 367
14.4 cargo install 명령을 이용해 crates.io에서 바이너리 설치하기 374
14.5 사용자 정의 명령을 이용해 카고 확장하기 375

CHAPTER 15 스마트한 포인터 377

15.1 Box〈T〉를 이용해 힙 메모리의 데이터 참조하기 379
15.2 Deref 트레이트를 이용해 스마트 포인터를 참조처럼 취급하기 384
15.3 Drop 트레이트를 구현해서 메모리를 해제할 때 코드 실행하기 391
15.4 Rc〈T〉, 참조 카운터 스마트 포인터 395
15.5 RefCell〈T〉 타입과 내부 가변성 패턴 400
15.6 메모리 누수의 원인이 되는 순환 참조 410

CHAPTER 16 자신 있는 동시성 421

16.1 코드를 동시에 실행하기 위한 스레드 422
16.2 공유 상태 동시성 438
16.3 Sync와 Send 트레이트로 동시성 확장하기 446

CHAPTER 17 러스트의 객체지향 프로그래밍 기능 449

17.1 객체지향 언어의 특징 450
17.2 다른 타입의 값을 허용하는 트레이트 객체 454
17.3 객체지향 디자인 패턴 구현 462

CHAPTER 18 패턴과 매칭 477

18.1 패턴을 활용할 수 있는 위치 478
18.2 부인 가능성: 패턴이 일치할 수도 있고 그렇지 않을 수도 있는 경우 484
18.3 패턴 문법 486

CHAPTER 19 러스트의 고급 기능 505

19.1 안전하지 않은 러스트 506
19.2 고급 트레이트 517
19.3 고급 타입 시스템 529
19.4 고급 함수와 클로저 537
19.5 매크로 541

CHAPTER 20 최종 프로젝트: 다중 스레드 웹서버 구축 555

20.1 단일 스레드 웹서버 구현하기 556
20.2 다중 스레드 서버로 전환하기 568
20.3 우아한 종료와 해제 591

APPENDIX A 키워드 601

현재 사용 중인 키워드 601
향후에 사용하기 위해 예약한 키워드 603
원시 식별자 603

APPENDIX B 연산자와 심볼 605

연산자 605
비연산자 심볼 607

APPENDIX C 상속 가능한 트레이트 613

프로그래머용 출력을 위한 Debug 614
일치 비교를 위한 PartialEq와 Eq 614
순서를 비교하는 PartialOrd와 Ord 615
값을 복제하기 위한 Clone과 Copy 616
어떤 값을 고정된 크기의 값에 매핑하는 Hash 617
기본값을 제공하는 Default 617

APPENDIX D 유용한 개발 도구 619

rustfmt를 이용한 자동 포매팅 619
rustfix 도구로 코드 수정하기 620
Clippy 린트 621
러스트 언어 서버를 이용한 IDE 통합 623

APPENDIX E 에디션 625


찾아보기 627

저자 소개 3

스티브 클라브닉

관심작가 알림신청
 

Steve Klabnik

모질라의 러스트 커뮤니티 팀 리더로서 공식적인 러스트 커뮤니티 문서를 담당하고 있고 신뢰받는 러스트 커뮤니티 애드버킷이기도 하다. 콘퍼런스에 발표자로 자주 참가하며, 루비 온 레일즈 프로젝트의 최다 기여자 중 한 명이다.

스티브 클라브닉의 다른 상품

캐롤 니콜스

관심작가 알림신청
 

Carol Nichols

러스트 코어 팀의 구성원이자 세계 최초의 러스트 소프트웨어 컨설팅 기업인 Integer 32, LLC의 공동 창립자다. 또한, 러스트 벨트(Rust Belt)라는 러스트 콘퍼런스의 주최자이기도 하다.
지난 10여 년간 호주와 캐나다에서 시니어 엔지니어 및 스태프 엔지니어로 경험을 쌓았으며 현재는 프린시펄 소프트웨어 엔지니어로서 소프트웨어 개발은 물론 성공적인 엔지니어링 팀과 문화의 구축에 힘을 쏟고 있다. 지금까지 총 30권의 개발 관련서를 집필/번역하면서 책이라는 매개체로 멀리서나마 국내 개발자들과 꾸준히 소통하고 있으며 대표적인 번역서로는 『필독! 개발자 온보딩 가이드』(책만, 2023), 『안녕하세요, 오늘부터 매니저입니다』(길벗, 2023), 『스태프 엔지니어』(길벗, 2022), 『SRE를 위한 시스템 설계와 구축』(한빛미디어, 2022), 『구글 빅쿼리 완벽 가이드
지난 10여 년간 호주와 캐나다에서 시니어 엔지니어 및 스태프 엔지니어로 경험을 쌓았으며 현재는 프린시펄 소프트웨어 엔지니어로서 소프트웨어 개발은 물론 성공적인 엔지니어링 팀과 문화의 구축에 힘을 쏟고 있다. 지금까지 총 30권의 개발 관련서를 집필/번역하면서 책이라는 매개체로 멀리서나마 국내 개발자들과 꾸준히 소통하고 있으며 대표적인 번역서로는 『필독! 개발자 온보딩 가이드』(책만, 2023), 『안녕하세요, 오늘부터 매니저입니다』(길벗, 2023), 『스태프 엔지니어』(길벗, 2022), 『SRE를 위한 시스템 설계와 구축』(한빛미디어, 2022), 『구글 빅쿼리 완벽 가이드』(책만, 2020), 『엔터프라이즈 데이터 플랫폼 구축』(책만, 2020), 『사이트 신뢰성 엔지니어링』(제이펍, 2018), 『클라우드 네이티브 자바』(책만, 2018) 등이 있다.

장현희의 다른 상품

품목정보

발행일
2019년 11월 28일
쪽수, 무게, 크기
656쪽 | 1250g | 188*245*35mm
ISBN13
9791188621729

책 속으로

카고(Cargo)는 러스트의 빌드 시스템이자 패키지 관리자다. 대부분의 러스타시안은 이 도구를 이용해 러스트 프로젝트를 관리한다. 카고는 코드의 빌드, 코드가 의존하는 라이브러리의 다운로드, 그리고 이런 라이브러리의 빌드 등 다양한 작업을 대신 처리해 주기 때문이다(코드가 의존하는 라이브러리들을 ‘의존 라이브러리(dependencies)’라고 부른다).
--- p.9

러스트는 코드의 구조를 관리하기 위한 몇 가지 기능을 제공한다. 이 기능을 이용해 어떤 부분을 외부에 노출할지, 어떤 부분을 비공개로 숨길지, 그리고 프로그램이 사용하는 이름들이 어떤 범위에 속하는지 등을 결정할 수 있다. 때로는 이런 기능들을 합쳐서 모듈 시스템이라고 부르기도 한다.
--- p.138

지금부터 정의할 새 함수의 타입을 매개변수화하려면 값 매개변수와 마찬가지로 타입 매개변수의 이름이 필요하다. 어떤 식별자도 타입 매개변수의 이름으로 사용할 수 있다. 하지만 러스트의 규칙에 따르면 매개변수의 이름은 최대한 짧게, 심지어 달랑 한 문자만 사용할 때도 있으며, 러스트의 타입 이름 규칙은 카멜케이스(CamelCase)이므로 T라는 이름을 사용하기로 한다. T는 ‘type’의 첫 글자를 딴 것으로 대부분 러스트 프로그래머들이 가장 즐겨 사용하는 이름이다.
--- p.212

반면, 스마트 포인터(smart pointers)는 포인터처럼 동작할 뿐만 아니라 추가적인 메타데이터와 기능을 포함하는 데이터 구조다. 스마트 포인터의 개념은 러스트에만 있지 않다. 스마트 포인터는 원래 C++에서 유래한 것이며 다른 언어에도 있다. 러스트의 표준 라이브러리에는 참조가 제공하는 것 외의 기능을 제공하려는 목적으로 다양한 스마트 포인터가 정의되어 있다. 이번 장에서 살펴볼 스마트 포인터의 예 중 하나는 참조 카운트(reference counting) 스마트 포인터 타입이다. 이 포인터는 값의 소유권을 추적해서 여러 코드가 데이터의 소유권을 공유하고 소유권을 가진 코드가 더 없으면 해당 데이터를 해제한다.
--- p.377

안전하지 않은 러스트가 필요한 이유는 본질적으로 정적 분석은 너무 보수적이기 때문이다. 즉, 컴파일러가 코드가 언어에서 보장하는 것들을 충족하는지를 판단할 때 유효하지 않은 부분들을 부분적으로 수용하는 것보다는 유효한 프로그램을 부분적으로 거부하는 편이 더 낫다. 문제가 없는 코드라도 러스트가 보기에는 그렇지 않다면 그렇지 않은 것이다. 이때 안전하지 않은 코드를 이용해서 컴파일러에게 ‘날 믿어. 내가 뭘 하는지 잘 알고 있으니까’라고 말할 수 있다. 단점은 개발자가 스스로 위험을 부담해야 한다는 것이다. 안전하지 않은 코드를 잘못 작성하면 널 포인터 역참조 같은 불안전한 메모리로 인한 문제가 발생할 수 있다.

--- p.506

출판사 리뷰

고수준 프로그래밍 언어와 저수준 시스템 제어를 결합했다!
러스트의 핵심 개발자 두 명이 소개하는 프로그래머와 시스템 개발자 모두를 위한 러스트 프로그래밍!


『러스트 프로그래밍 공식 가이드』는 빠르고 안전한 소프트웨어를 개발하기 위한, 오픈 소스 시스템 프로그래밍 언어인 러스트의 첫 한국어판 번역 도서이자 공식 안내서다. 러스트는 고수준의 소프트웨어 공학을 담고 있으면서 일반적인 저수준 언어의 불편함을 해소하였다. 따라서 메모리 사용 등의 저수준 상세 구현을 제어할 수 있는 옵션을 제공한다.

이 책에서는 러스트의 핵심 개발자 두 명이 러스트 언어의 설치부터 견고하고 확장 가능한 프로그램을 작성하는 기법에 이르기까지 러스트가 제공하는 모든 기능의 활용 방법을 설명한다. 이 책을 통해 함수의 생성, 데이터 타입의 선택, 변수의 바인딩 같은 기본적인 개념부터 다음의 고급 개념까지 학습할 수 있다.

- 소유권과 대여, 수명 그리고 트레이트
- 러스트의 메모리 안정성 보장을 활용한 빠르고 안전한 프로그래밍 작업
- 테스트, 에러 처리 그리고 효율적인 리팩토링
- 제네릭, 스마트 포인터, 멀티스레딩, 트레이트 객체, 그리고 고급 패턴 매칭
- 러스트의 내장 패키지 매니저인 카고를 이용한 빌드, 테스트, 코드의 문서화 및 의존성 관리
- 러스트의 고급 컴파일러 기능을 활용한 컴파일러 주도 프로그래밍 기법

리뷰/한줄평3

리뷰

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

한줄평

6.7 한줄평 총점

클린봇이 부적절한 글을 감지 중입니다.

설정