도서 소개

제로부터 시작하는 러스트 백엔드 프로그래밍

제이펍 2024. 2. 15. 08:34

 

백엔드 개발자를 위한 러스트 온보딩 가이드

 

‘러스트는 API 개발을 위한 생산적인 언어가 될 수 있을까?’라는 질문에서 시작된 이 책은 가상의 엔지니어 팀이 러스트로 클라우드 네이티브 애플리케이션을 개발하고 배포하는 과정을 그린다. 총 11장에 걸쳐 러스트의 에코시스템 탐색 및 활용, 애플리케이션의 모듈화와 구조화, 단위/통합 테스트, 타입 시스템을 사용한 도메인 불변성 적용, API 사용자 인증 및 권한 부여, 강력한 오류 처리 전략, 구조화된 로그를 사용한 애플리케이션 관리, 광범위한 지속적 통합/배포 파이프라인 구축을 다룬다. 러스트 백엔드 개발자의 이상적인 출발점이자 최고의 가이드가 될 것이다.

 

도서 구매 사이트(가나다순)

  [교보문고]  [도서11번가]  [알라딘]  [예스이십사]  [인터파크]  [쿠팡

 

전자책 구매 사이트(가나다순)

  [교보문고]  [구글북스]  [리디북스]  [알라딘]  [예스이십사]

 

출판사 제이펍
저작권사 Luca Palmieri
원서명 Zero To Production In Rust: An introduction to backend development
도서명 제로부터 시작하는 러스트 백엔드 프로그래밍
부제 뉴스레터 API를 만들며 배우는 러스트 A to Z
지은이 루카 팔미에리
옮긴이 김모세
감수자 (없음)
시리즈 (없음)
출판일 2024. 02. 22
페이지 696쪽
판 형 46배판변형(188*245*32.9)
제 본 무선(soft cover)
정 가 38,000원
ISBN 979-11-92987-38-5 (93000)
키워드 에코시스템, 크레이트, 타입 시스템, 모듈화, 구조화, 테스트 주도 개발, 배포 파이프라인, 통합 테스트, API, 클라우드 네이티브
분 야 프로그래밍 언어 / 러스트

 

관련 사이트
아마존 도서 페이지
저작권사 도서 페이지

 

관련 시리즈

■ (없음)

 

관련 포스트

2024.02.01 - [출간 전 책 소식] - 이렇게 제이펍은 러스트 맛집의 길로 들어섭니다.

 

관련 도서

프로그래밍 러스트(개정판)

러스트 프로그래밍 공식 가이드(제2판): 근간

 

관련 파일 다운로드

예제 깃허브(원서)

예제 깃허브(번역서: 주석 번역)

 

강의 보조 자료(교재로 채택하신 분들은 메일(textbook@jpub.kr)을 보내주시면 다음 자료를 보내드립니다.)
■ 본문의 그림과 표

 

미리보기(목차, 옮긴이 머리말, 베타리더 후기, 추천 서문, 이 책에 대하여, 본문 일부)

 

정오표 페이지
■ (등록되는 대로 링크를 걸겠습니다.)

 

도서 구매 사이트(가나다순)

  [교보문고]  [도서11번가]  [알라딘]  [예스이십사]  [인터파크]  [쿠팡

 

전자책 구매 사이트(가나다순)

  [교보문고]  [구글북스]  [리디북스]  [알라딘]  [예스이십사]

 

도서 소개

전 세계에서 사랑받는 언어 러스트가 궁금하다면 반드시 읽어야 하는 책

 

러스트는 2023년에도 스택 오버플로에서 개발자가 가장 사랑하는 언어로 뽑혔다. 빠른 속도, 안정성, 편의성 등 많은 장점을 갖춘 러스트는 8년째 1위 자리를 지키고 있다. 새로운 언어를 선택한다면 러스트를 선택한다고 할 정도로 개발자들에게 유망한 프로그래밍 언어다.

 

이 책은 러스트로 API 백엔드 프로그래밍을 하는 방법을 자세히 다룬다. 서로 다른 경험과 숙련도를 가진 가상의 엔지니어 팀이 러스트를 통해 클라우드 네이티브 애플리케이션을 개발하고 배포하는 과정을 통해 소프트웨어를 안정적으로 생산해내는 러스트의 강점과 가치를 알 수 있을 것이다.

 

1장과 2장에서는 러스트의 유용한 도구와 유틸리티, 책에서 만들어볼 뉴스레터 API 개발에 필요한 개념과 기법을 살펴본다. 3장과 4장에서는 단위/통합 테스트, 에코 시스템 탐색 및 활용을 다루며, 5장에서는 광범위한 지속적 통합/배포 파이프라인 구축, 6장에서는 타입 시스템을 사용한 도메인 불변성 적용, 7장에서는 애플리케이션의 모듈화와 구조화, 8장에서는 강력한 오류 처리 전략을 설명한다. 이어서 9장에서는 뉴스레터 전달 로직의 프로토타입을 만들어보고, 10장과 11장에서는 API 사용자 인증 및 권한 부여뿐만 아니라 내장애성, 확장성, 비동기 처리 등의 개념까지 알려준다.

 

러스트 도입을 망설이고 있다면 바로 이 책을 선택하자. 원서의 제목처럼 제로에서 시작해 프로덕션까지, 여러분을 러스트 개발자의 세계로 안내해줄 것이다. 이보다 더 완벽하고, 더 유용하며, 더 친절한 백엔드 개발자를 위한 러스트 가이드는 없다.

 

주요 내용

  • 러스트의 에코시스템 탐색 및 활용하기
  • 애플리케이션을 모듈화 및 확장할 수 있도록 구조화하기
  • 단위 테스트부터 통합 테스트까지 테스트 작성하기
  • 타입 시스템을 활용해 도메인 불변성 적용하기
  • API 사용자를 인증하고 권한 부여하기
  • 강력한 오류 처리 전략 구현하기
  • 구조화된 로그로 애플리케이션 상태 체크하기
  • 지속적인 통합 및 배포 파이프라인 설정하기

 

지은이 소개

루카 팔미에리(Luca Palmieri)

러스트 런던 사용자 그룹(Rust London User Group)의 공동 주최자이자 오픈소스 기고자, 대중 연설가다. 영국 핀테크 스타트업인 TrueLayer에서 핵심 결제 플랫폼 개발을 위해 러스트 프로덕션 서비스를 수년간 운영했다. 다양한 러스트 크레이트를 작성했으며, 러스트의 대중화를 위해 워크숍을 개최하기도 한다.

 

옮긴이 소개

김모세

대학 졸업 후 소프트웨어 엔지니어, 소프트웨어 품질 엔지니어, 애자일 코치 등 다양한 부문에서 소프트웨어 개발에 참여했다. 재미있는 일, 나와 조직이 성장하고 성과를 내도록 돕는 일에 보람을 느껴 2019년부터 번역을 시작했다. 저서로 《코드 품질 시각화의 정석》(지앤선)이 있고, 옮긴 책은 《인간 vs. AI 정규표현식 문제 풀이 대결》(제이펍), 《추천 시스템 입문》(한빛미디어), 《타입스크립트, 리액트, Next.js로 배우는 실전 웹 애플리케이션 개발》(위키북스), 《애자일 개발의 기술 2/e》(에이콘출판사) 등 다수다. 이 책은 옮긴이 소개를 작성한 시점을 기준으로 43번째 번역서다.

 

차례

옮긴이 머리말 xi

베타리더 후기 xii

추천 서문 xiii

이 책에 대하여 xv

 

CHAPTER 1 시작하기 1

1.1 러스트 툴체인 설치하기 1

1.2 프로젝트 셋업 3

1.3 IDE 4

1.4 내부 개발 루프 6

1.5 지속적인 통합 9

 

CHAPTER 2 이메일 뉴스레터 만들기 15

2.1 구현 예시 15

2.2 뉴스레터의 기능에 관하여 16

2.3 반복적으로 작업하기 18

2.4 진척 확인하기 19

 

CHAPTER 3 신규 구독자로 등록하기 20

더보기

3.1 전략 20

3.2 웹 프레임워크 선택하기 21

3.3 첫 번째 엔드포인트: 기본 헬스 체크 22

3.4 첫 번째 통합 테스트 34

3.5 첫 번째 통합 테스트 구현하기 41

3.6 다시 집중하자 50

3.7 HTML 폼 다루기 51

3.8 데이터 저장하기: 데이터베이스 66

3.9 신규 구독자 저장하기 90

3.10 테스트 업데이트하기 101

3.11 정리 108

 

CHAPTER 4 텔레메트리 109

4.1 알려지지 않은, 알려지지 않은 것들 110

4.2 관측 가능성 111

4.3 로깅 112

4.4 POST /subscriptions 측정하기 118

4.5 구조화된 로깅 125

4.6 정리 158

 

CHAPTER 5 프로덕션에서 구동하기 159

5.1 배포의 중요성 159

5.2 도구 선택하기 160

5.3 애플리케이션용 도커 파일 162

5.4 디지털오션 앱 플랫폼으로의 배포 184

 

CHAPTER 6 유효하지 않은 구독자 거부하기 1 198

6.1 요구 사항 199

6.2 첫 번째 구현 201

6.3 검증은 구멍 난 가마솥이다 203

6.4 타입 주도 개발 205

6.5 오너십과 불변량 209

6.6 패닉 216

6.7 값으로서의 오류: Result 218

6.8 통찰력 있는 어서션 오류: claim 222

6.9 단위 테스트 223

6.10 Result 다루기 226

6.11 이메일 포맷 229

6.12 SubscriberEmail 타입 230

6.13 속성 기반 테스팅 235

6.14 페이로드 검증 241

6.15 정리 248

 

CHAPTER 7 유효하지 않은 구독자 거부하기 2 249

7.1 확인 이메일 249

7.2 이메일 전달 컴포넌트: EmailClient 251

7.3 유지 가능한 테스트 스위트의 스켈레톤과 원칙 298

7.4 돌아보기 320

7.5 제로 다운타임 배포 321

7.6 데이터베이스 마이그레이션 326

7.7 확인 이메일 전송하기 331

7.8 데이터베이스 트랜잭션 365

7.9 정리 371

 

CHAPTER 8 오류 핸들링 373

8.1 오류의 목적은 무엇인가? 373

8.2 운영자를 위한 오류 핸들링 380

8.3 제어 흐름에 대한 오류 394

8.4 'Ball Of Mud' 오류 enum를 피하자 404

8.5 누가 오류를 기록해야 하는가? 412

8.6 정리 414

 

CHAPTER 9 단순한 뉴스레터 전달 416

9.1 사용자 스토리는 아직 확고하지 않다 416

9.2 확인되지 않은 구독자에게 스팸을 보내지 말자 417

9.3 확인된 모든 구독자는 새 이슈를 받는다 422

9.4 구현 전략 424

9.5 바디 스키마 425

9.6 확인된 구독자 리스트 꺼내기 428

9.7 뉴스레터 이메일 전송하기 431

9.8 저장된 데이터 검증 433

9.9 단순한 접근 방식의 한계 442

9.10 정리 444

 

CHAPTER 10 API 보호하기 445

10.1 인증 445

10.2 비밀번호 기반 인증 447

10.3 과연 안전한가? 490

10.4 인터루드: 다음 단계 494

10.5 로그인 폼 494

10.6 로그인 498

10.7 세션 548

10.8 최초 사용자 568

10.9 리팩터링 589

10.10 정리 597

 

CHAPTER 11 결함 감내 워크플로 599

11.1 POST /admin/newsletters: 리프레셔 599

11.2 우리의 목표 601

11.3 실패 모드 602

11.4 멱등성: 소개 604

11.5 테스트로서의 요구 사항 #1 608

11.6 구현 전략 609

11.7 멱등성 스토어 611

11.8 Save와 Replay 614

11.9 동시 요청 630

11.10 오류 처리하기 640

 

마치며 663

찾아보기 665

 

제이펍 소식 더 보기(제이펍의 소통 채널에서 더욱 다양한 소식을 확인하세요!)

  포스트  유튜브  인스타그램  트위터  페이스북