[epub3.0] 러스트 웹 개발 : Tokio, Warp, Reqwest를 활용한 웹 애플리케이션 개발!
2024년 05월 27일 출간
국내도서 : 2024년 05월 21일 출간
- eBook 상품 정보
- 파일 정보 ePUB (19.30MB)
- ISBN 9791140709533
- 지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
-
교보eBook App
듣기(TTS) 가능
TTS 란?텍스트를 음성으로 읽어주는 기술입니다.
- 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를 읽을 수 있습니다.
- 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
쿠폰적용가 23,760원
10% 할인 | 5%P 적립이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.
카드&결제 혜택
- 5만원 이상 구매 시 추가 2,000P
- 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
- 리뷰 작성 시, e교환권 추가 최대 200원
작품소개
이 상품이 속한 분야
1장 왜 러스트인가?
1.1 배터리 포함: 러스트의 도구
1.2 러스트 컴파일러
1.3 웹 서비스를 위한 러스트
1.4 러스트 애플리케이션의 유지보수성
1.5 요약
2장 기초 쌓기
2.1 러스트 플레이북 따라 하기
__2.1.1 구조체로 리소스 모델링하기
__2.1.2 Option 이해하기
__2.1.3 에러를 해결하기 위해 문서 사용하기
__2.1.4 러스트에서 문자열 다루기
__2.1.5 이동, 대여, 소유권에 대해 훑어보기
__2.1.6 트레이트를 사용하고 구현하기
__2.1.7 Result 다루기
2.2 웹 서버 만들기
__2.2.1 동시에 다수 요청을 다루기
__2.2.2 러스트의 비동기 환경
__2.2.3 러스트에서 async/await 다루기
__2.2.4 러스트의 퓨처 타입 사용하기
__2.2.5 런타임 고르기
__2.2.6 웹 프레임워크 고르기
2.3 요약
2부 시작하기
3장 첫 경로 핸들러 만들기
3.1 웹 프레임워크에 대해 알아보기: Warp
__3.1.1 Warp에 있는 기능
__3.1.2 Warp의 필터 체계
3.2 첫 JSON 응답을 GET 요청으로 받기
__3.2.1 프레임워크가 생각하는 대로 따르기
__3.2.2 성공 경로 처리하기
__3.2.3 Serde의 도움 받기
__3.2.4 우아하게 에러 처리하기
3.3 CORS 헤더 다루기
__3.3.1 애플리케이션 레벨에서 CORS 헤더를 반환하기
__3.3.2 CORS 응답 검사
3.4 요약
4장 Restful API 구현하기
4.1 인메모리 스토리지에서 질문 가져오기
__4.1.1 모의 데이터베이스 설정하기
__4.1.2 테스트 데이터를 준비하기
__4.1.3 가짜 데이터베이스에서 읽어 들이기
__4.1.4 쿼리 매개변수 파싱하기
__4.1.5 전용 에러 반환하기
4.2 질문을 POST, PUT, DELETE하기
__4.2.1 스레드에 안전한 방식으로 데이터를 수정하기
__4.2.2 질문 추가하기
__4.2.3 질문 업데이트하기
__4.2.4 잘못된 요청 처리하기
__4.2.5 저장소에서 질문 삭제하기
4.3 url-form-encoded로 answers POST 요청하기
__4.3.1 url-form-encoded와 JSON의 차이점
__4.3.2 url-form-encoded로 answers 추가하기
4.4 요약
5장 코드 정리하기
5.1 코드 모듈화
__5.1.1 러스트의 내장 mod 시스템 사용하기
__5.1.2 다양한 경우를 위한 실용적인 폴더 구조
__5.1.3 라이브러리와 하위 크레이트 만들기
5.2 코드 문서화하기
__5.2.1 문서 주석과 비공개 주석 사용하기
__5.2.2 주석에 코드 추가하기
5.3 코드베이스를 린팅하고 서식화하기
__5.3.1 클리피 설치하기
__5.3.2 Rustfmt로 코드 서식화하기
5.4 요약
6장 로그, 추적, 디버깅
6.1 러스트 애플리케이션 로깅하기
__6.1.1 웹 서비스에 로깅 구현하기
__6.1.2 들어오는 HTTP 요청을 로깅하기
__6.1.3 구조화된 로그 만들기
6.2 비동기 애플리케이션 추적하기
__6.2.1 Tracing 크레이트 소개
__6.2.2 애플리케이션에 tracing 통합하기
6.3 러스트 애플리케이션 디버깅하기
__6.3.1 명령줄에서 GDB 사용하기
__6.3.2 LLDB로 웹 서비스 디버깅하기
__6.3.3 비주얼 스튜디오 코드와 LLDB 사용하기
6.4 요약
7장 애플리케이션에 데이터베이스 추가하기
7.1 예제 데이터베이스 설정하기
7.2 첫 번째 테이블 만들기
7.3 데이터베이스 크레이트로 작업하기
__7.3.1 프로젝트에 SQLx 추가하기
__7.3.2 Store에 데이터베이스 연결하기
7.4 경로 핸들러 다시 구현하기
__7.4.1 get_questions에 데이터베이스 추가하기
__7.4.2 add_question 경로 핸들러 재구현하기
__7.4.3 질문을 수정, 삭제하는 핸들러 수정하기
__7.4.4 add_answer 경로 수정하기
7.5 에러 처리와 데이터베이스 상호 작용 추적하기
7.6 SQL 마이그레이션 통합하기
7.7 사례 연구: DBMS 바꾸기
7.8 요약
8장 서드파티 라이브러리와 통합하기
8.1 코드 준비하기
__8.1.1 API 고르기
__8.1.2 HTTP 크레이트 이해하기
__8.1.3 Reqwest로 예제 HTTP 호출 추가하기
__8.1.4 외부 API 요청에 대한 에러 처리하기
8.2 JSON 응답을 구조체로 역직렬화하기
__8.2.1 API 응답 정보를 수집하기
__8.2.2 API 응답에 대한 타입 만들기
8.3 API에 질문과 답변 보내기
__8.3.1 add_question 경로 핸들러 리팩터링
__8.3.2 질문 수정 시 금칙어 적용하기
__8.3.3 add_answer 경로 핸들러 수정하기
8.4 타임 아웃과 다수 요청을 한 번에 처리하기
__8.4.1 외부 HTTP 호출의 재시도 구현하기
__8.4.2 퓨처를 동시에 또는 병렬로 실행하기
8.5 요약
3부 프로덕션으로 투입시키기
9장 인증과 권한 추가
9.1 웹 서비스에 인증 추가하기
__9.1.1 사용자 개념 만들기
__9.1.2 데이터베이스 마이그레이션하기
__9.1.3 registration 엔드포인트 추가하기
__9.1.4 비밀번호 해시하기
__9.1.5 중복 계정 에러 처리하기
__9.1.6 상태 저장 인증과 상태 비저장 인증
__9.1.7 login 엔드포인트 추가하기
__9.1.8 토큰에 만료 날짜 추가하기
9.2 인증 미들웨어 추가하기
__9.2.1 데이터베이스 테이블 마이그레이션하기
__9.2.2 토큰 검증 미들웨어 만들기
__9.2.3 계정 ID를 처리하도록 기존 경로를 확장하기
9.3 다루지 않는 내용
9.4 요약
10장 애플리케이션 배포하기
10.1 환경 변수로 애플리케이션 설정하기
__10.1.1 구성 파일 설정하기
__10.1.2 애플리케이션에 명령줄 입력을 허용하기
__10.1.3 웹 서비스로 환경 변수 읽고 파싱하기
10.2 서로 다른 환경에 맞춰 웹 서비스 컴파일하기
__10.2.1 바이너리를 빌드할 때 개발 플래그와 릴리스 플래그 사용하기
__10.2.2 다른 환경을 위해 크로스 컴파일하기
10.3 빌드 프로세스에서 build.rs 사용하기
10.4 웹 서비스에 맞는 도커 이미지 생성하기
__10.4.1 정적으로 연결된 도커 이미지 생성하기
__10.4.2 도커 컴포즈로 로컬 도커 환경 설정하기
__10.4.3 웹 서버의 구성을 추출하여 새로운 모듈에 넣기
10.5 요약
11장 러스트 애플리케이션 테스트하기
11.1 비즈니스 로직의 단위 테스트
__11.1.1 페이지 로직을 테스트하고 자체 에러로 처리하기
__11.1.2 환경 변수로 Config 모듈 테스트하기
__11.1.3 새로 생성된 모의 서버로 profanity 모듈 테스트하기
11.2 Warp 필터 테스트하기
11.3 통합 테스트 설정 만들기
__11.3.1 lib.rs와 바이너리로 코드 분할하기
__11.3.2 통합 테스트 크레이트와 원샷 서버 구현하기
__11.3.3 등록 테스트 추가하기
__11.3.4 에러가 발생하는 경우 되돌리기
__11 3.5 로그인과 질문 올리기 테스트하기
11.4 요약
부록 보안 고려하기
A.1 종속성의 보안 이슈 검증하기
A.2 자신의 코드 확인하기
A.3 맺음말
찾아보기
작가정보
저자(글) 바스티안 그루버 저자, 장연호 번역
Centrifuge의 런타임 엔지니어로 러스트를 사용하고 있다. Rust Async Working Group의 일원이며, Rust and Tell Berlin Meetup Group을 설립했고 세계에서 가장 큰 암호화폐 거래소 중 한 곳에서 러스트를 사용해 핵심 백엔드에서 일한 경력이 있다. 또한, 경력 12년 이상의 작가로 LogRocket을 위해 정기적으로 러스트에 대한 글을 쓰고 있으며, 웹사이트(https://rustwebdevelopment.com)에서 수집한 내용으로 인터뷰와 강연도 한다. 본인의 경험으로 복잡한 개념을 이해하기 쉬우면서도 심도 있는 내용으로 쉽게 가르치며, 많은 사랑을 받고 있다./20여 년간 웹프로그래머로 활동했으며 의료, 교육, 메타버스 등 다양한 분야에서 일했다. 취미로 OCaml, Common Lisp를 이용해 게임을 제작하고 있으며, 신화와 역사, SF와 판타지 콘텐츠를 즐겨 본다.
이 상품의 총서
Klover리뷰 (0)
- - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (5,000원 이상 상품으로 변경 예정, 2024년 9월 30일부터 적용)
- - 리워드는 한 상품에 최초 1회만 제공됩니다.
- - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
구매 후 리뷰 작성 시, e교환권 100원 적립
문장수집
- 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
- e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (5,000원 이상 eBook으로 변경 예정, 2024년 9월 30일부터 적용)
- 리워드는 한 상품에 최초 1회만 제공됩니다.
- sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.
구매 후 문장수집 작성 시, e교환권 100원 적립
신규가입 혜택 지급이 완료 되었습니다.
바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!
- 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
- 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
- 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
가장 와 닿는 하나의 키워드를 선택해주세요.
총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.
신고 사유를 선택해주세요.
신고 내용은 이용약관 및 정책에 의해 처리됩니다.
허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
있으니 유의하시어 신중하게 신고해주세요.
이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.
구매 후 90일 이내 작성 시, e교환권 100원 적립
eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.
차감하실 sam이용권을 선택하세요.
차감하실 sam이용권을 선택하세요.
선물하실 sam이용권을 선택하세요.
-
보유 권수 / 선물할 권수0권 / 1권
-
받는사람 이름받는사람 휴대전화
- 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
- 열람권은 1인당 1권씩 선물 가능합니다.
- 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
- 선물한 열람권의 등록유효기간은 14일 입니다.
(상대방이 기한내에 등록하지 않을 경우 소멸됩니다.) - 무제한 이용권일 경우 열람권 선물이 불가합니다.
첫 구매 시 교보e캐시 지급해 드립니다.
- 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
- 한 ID당 최초 1회 지급 / sam 이용권 제외
- 구글바이액션을 통해 교보eBook 구매 이력이 없는 회원 대상
- 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)