책소개
백엔드 개발자를 위한 러스트 온보딩 가이드 ‘러스트는 API 개발을 위한 생산적인 언어가 될 수 있을까?’라는 질문에서 시작된 이 책은 가상의 엔지니어 팀이 러스트로 클라우드 네이티브 애플리케이션을 개발하고 배포하는 과정을 그린다. 총 11장에 걸쳐 러스트의 에코시스템 탐색 및 활용, 애플리케이션의 모듈화와 구조화, 단위/통합 테스트, 타입 시스템을 사용한 도메인 불변성 적용, API 사용자 인증 및 권한 부여, 강력한 오류 처리 전략, 구조화된 로그를 사용한 애플리케이션 관리, 광범위한 지속적 통합/배포 파이프라인 구축을 다룬다. 러스트 백엔드 개발자의 이상적인 출발점이자 최고의 가이드가 될 것이다.
저자소개
러스트 런던 사용자 그룹(Rust London User Group)의 공동 주최자이자 오픈소스 기고자, 대중 연설가다. 영국 핀테크 스타트업인 TrueLayer에서 핵심 결제 플랫폼 개발을 위해 러스트 프로덕션 서비스를 수년간 운영했다. 다양한 러스트 크레이트를 작성했으며, 러스트의 대중화를 위해 워크숍을 개최하기도 한다.
목차
옮긴이 머리말 xi베타리더 후기 xii추천 서문 xiii이 책에 대하여 xvCHAPTER 1 시작하기 11.1 러스트 툴체인 설치하기 11.2 프로젝트 셋업 31.3 IDE 41.4 내부 개발 루프 61.5 지속적인 통합 9CHAPTER 2 이메일 뉴스레터 만들기 152.1 구현 예시 152.2 뉴스레터의 기능에 관하여 162.3 반복적으로 작업하기 182.4 진척 확인하기 19CHAPTER 3 신규 구독자로 등록하기 203.1 전략 203.2 웹 프레임워크 선택하기 213.3 첫 번째 엔드포인트: 기본 헬스 체크 223.4 첫 번째 통합 테스트 343.5 첫 번째 통합 테스트 구현하기 413.6 다시 집중하자 503.7 HTML 폼 다루기 513.8 데이터 저장하기: 데이터베이스 663.9 신규 구독자 저장하기 903.10 테스트 업데이트하기 1013.11 정리 108CHAPTER 4 텔레메트리 1094.1 알려지지 않은, 알려지지 않은 것들 1104.2 관측 가능성 1114.3 로깅 1124.4 POST /subscriptions 측정하기 1184.5 구조화된 로깅 1254.6 정리 158CHAPTER 5 프로덕션에서 구동하기 1595.1 배포의 중요성 1595.2 도구 선택하기 1605.3 애플리케이션용 도커 파일 1625.4 디지털오션 앱 플랫폼으로의 배포 184CHAPTER 6 유효하지 않은 구독자 거부하기 1 1986.1 요구 사항 1996.2 첫 번째 구현 2016.3 검증은 구멍 난 가마솥이다 2036.4 타입 주도 개발 2056.5 오너십과 불변량 2096.6 패닉 2166.7 값으로서의 오류: Result 2186.8 통찰력 있는 어서션 오류: claim 2226.9 단위 테스트 2236.10 Result 다루기 2266.11 이메일 포맷 2296.12 SubscriberEmail 타입 2306.13 속성 기반 테스팅 2356.14 페이로드 검증 2416.15 정리 248CHAPTER 7 유효하지 않은 구독자 거부하기 2 2497.1 확인 이메일 2497.2 이메일 전달 컴포넌트: EmailClient 2517.3 유지 가능한 테스트 스위트의 스켈레톤과 원칙 2987.4 돌아보기 3207.5 제로 다운타임 배포 3217.6 데이터베이스 마이그레이션 3267.7 확인 이메일 전송하기 3317.8 데이터베이스 트랜잭션 3657.9 정리 371CHAPTER 8 오류 핸들링 3738.1 오류의 목적은 무엇인가? 3738.2 운영자를 위한 오류 핸들링 3808.3 제어 흐름에 대한 오류 3948.4 'Ball Of Mud' 오류 enum를 피하자 4048.5 누가 오류를 기록해야 하는가? 4128.6 정리 414CHAPTER 9 단순한 뉴스레터 전달 4169.1 사용자 스토리는 아직 확고하지 않다 4169.2 확인되지 않은 구독자에게 스팸을 보내지 말자 4179.3 확인된 모든 구독자는 새 이슈를 받는다 4229.4 구현 전략 4249.5 바디 스키마 4259.6 확인된 구독자 리스트 꺼내기 4289.7 뉴스레터 이메일 전송하기 4319.8 저장된 데이터 검증 4339.9 단순한 접근 방식의 한계 4429.10 정리 444CHAPTER 10 API 보호하기 44510.1 인증 44510.2 비밀번호 기반 인증 44710.3 과연 안전한가? 49010.4 인터루드: 다음 단계 49410.5 로그인 폼 49410.6 로그인 49810.7 세션 54810.8 최초 사용자 56810.9 리팩터링 58910.10 정리 597CHAPTER 11 결함 감내 워크플로 599 11.1 POST /admin/newsletters: 리프레셔 59911.2 우리의 목표 60111.3 실패 모드 60211.4 멱등성: 소개 60411.5 테스트로서의 요구 사항 #1 60811.6 구현 전략 60911.7 멱등성 스토어 61111.8 Save와 Replay 61411.9 동시 요청 63011.10 오류 처리하기 640마치며 663찾아보기 665