제로부터 시작하는 러스트 백엔드 프로그래밍 : 뉴스레터 API를 만들며 배우는 러스트 A to Z

제로부터 시작하는 러스트 백엔드 프로그래밍 : 뉴스레터 API를 만들며 배우는 러스트 A to Z

$42.70
저자

루카팔미에리

저자:루카팔미에리

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



역자:김모세

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

목차


옮긴이머리말xi
베타리더후기xii
추천서문xiii
이책에대하여xv

CHAPTER1시작하기
1.1러스트툴체인설치하기1
1.2프로젝트셋업3
1.3IDE4
1.4내부개발루프6
1.5지속적인통합9

CHAPTER2이메일뉴스레터만들기
2.1구현예시15
2.2뉴스레터의기능에관하여16
2.3반복적으로작업하기18
2.4진척확인하기19

CHAPTER3신규구독자로등록하기
3.1전략20
3.2웹프레임워크선택하기21
3.3첫번째엔드포인트:기본헬스체크22
3.4첫번째통합테스트34
3.5첫번째통합테스트구현하기41
3.6다시집중하자50
3.7HTML폼다루기51
3.8데이터저장하기:데이터베이스66
3.9신규구독자저장하기90
3.10테스트업데이트하기101
3.11정리108

CHAPTER4텔레메트리
4.1알려지지않은,알려지지않은것들110
4.2관측가능성111
4.3로깅112
4.4POST/subscriptions측정하기118
4.5구조화된로깅125
4.6정리158

CHAPTER5프로덕션에서구동하기
5.1배포의중요성159
5.2도구선택하기160
5.3애플리케이션용도커파일162
5.4디지털오션앱플랫폼으로의배포184

CHAPTER6유효하지않은구독자거부하기1
6.1요구사항199
6.2첫번째구현201
6.3검증은구멍난가마솥이다203
6.4타입주도개발205
6.5오너십과불변량209
6.6패닉216
6.7값으로서의오류:Result218
6.8통찰력있는어서션오류:claim222
6.9단위테스트223
6.10Result다루기226
6.11이메일포맷229
6.12SubscriberEmail타입230
6.13속성기반테스팅235
6.14페이로드검증241
6.15정리248

CHAPTER7유효하지않은구독자거부하기2
7.1확인이메일249
7.2이메일전달컴포넌트:EmailClient251
7.3유지가능한테스트스위트의스켈레톤과원칙298
7.4돌아보기320
7.5제로다운타임배포321
7.6데이터베이스마이그레이션326
7.7확인이메일전송하기331
7.8데이터베이스트랜잭션365
7.9정리371

CHAPTER8오류핸들링
8.1오류의목적은무엇인가?373
8.2운영자를위한오류핸들링380
8.3제어흐름에대한오류394
8.4'BallOfMud'오류enum를피하자404
8.5누가오류를기록해야하는가?412
8.6정리414

CHAPTER9단순한뉴스레터전달
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

CHAPTER10API보호하기
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

CHAPTER11결함감내워크플로
11.1POST/admin/newsletters:리프레셔599
11.2우리의목표601
11.3실패모드602
11.4멱등성:소개604
11.5테스트로서의요구사항#1608
11.6구현전략609
11.7멱등성스토어611
11.8Save와Replay614
11.9동시요청630
11.10오류처리하기640

마치며663
찾아보기665

출판사 서평

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

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

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

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

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

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