간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (28,220원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (20,790원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (23,760원)
(최대할인 4만원 / 2만원 이상 결제)
Close

러스트 웹 개발

소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 65
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

33,000원

  • 29,700 (10%할인)

    1,650P (5%적립)

할인혜택
적립혜택
  • S-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
배송정보
  • 7/22(월) 이내 발송 예정  (서울시 강남구 삼성로 512)
  • 무료배송
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서

  • 상품권

AD

책소개

러스트로 뼈대부터 웹 서비스, 테스트, 배포까지!
더 빠르고 안전한 웹 애플리케이션을 만드는 최상의 방법!

러스트는 시스템 프로그래밍을 위한 안전하고 빠르며 생산적인 언어다. 또한, 개발자들이 가장 배우고 싶은 언어 1위이기도 하다. 이 책은 러스트로 웹 애플리케이션을 처음부터 끝까지 따라 하며 만들 수 있도록 도와준다. 먼저 애플리케이션의 뼈대인 기본적인 사항부터 구현한 다음, 러스트의 기능과 장점을 활용해 코드를 점진적으로 개선해 나간다. API를 외부에 공개하고, 데이터베이스를 연결하여 데이터를 저장하고, 애플리케이션을 테스트하고 배포하는 데 필요한 모든 과정을 다루며, 라우팅, 미들웨어, 데이터베이스, 비동기 작업 등 필요한 내용으로 가득차 있다. 또한, 따라 하는 실습에 그치지 않고 애플리케이션을 개발하는 동안 만나는 다양한 상황과 시행착오를 겪는 과정을 보여주면서 러스트의 장점을 살린 솔루션을 제공하기 때문에 여러분도 이 솔루션을 이해하여 자신의 프로젝트에 적용하고, 러스트를 더 깊이 있게 이해할 수 있을 것이다.

출판사 서평

러스트로 빠르고 견고하며 현대적인 웹 애플리케이션을 개발한다!

느리고 불안정한 웹 개발에 질렸다면 러스트로 해결하자!
러스트는 시스템 프로그래밍을 위한 안전하고 빠르며 생산적인 언어이다. 안전한 메모리 관리, 효율적인 컴파일러, 강력한 타입 시스템 등으로 코드를 안전하고 효율적으로 작성할 수 있다. 이 책은 이러한 러스트와 함께 비동기 런타임용 Tokio, 웹 서버 및 API용 Warp, 외부 HTTP 요청 실행을 위한 Reqwest 등 최신 웹 개발 기술과 도구를 사용하여 현대적인 웹 애플리케이션을 개발한다. 이를 통해 최신 트렌드에 맞는 웹 개발을 경험하고 익힐 수 있다. 느리고 리소스가 부족하며 불안정한 웹 개발에 질렸다면 러스트가 해결책이 될 것이다.

실용적이고 실무적인 가이드를 제시한다!
손으로 직접 해보는 것이 배우는 데 있어 가장 좋은 방법이다. 무언가를 직접 해본다면 다음에 좀 더 개선되고 자동화된 방식으로 작업할 때 그 장단점을 알 수 있기 때문이다. 이런 저자의 철학이 이 책에 녹아 있다. 기본적인 사항부터 구현한 다음, 러스트의 기능과 장점을 활용해 다른 솔루션을 뒤이어 구현하면서 코드를 점진적으로 개선해 나간다. 코드는 점차 군더더기가 없어지고, 좀 더 자동화된 방식으로 만들어진다. 이때 비로소 러스트의 아름다움을 알게 된다. 또한, 러스트로 웹 애플리케이션을 개발할 때 발생할 수 있는 일반적인 문제에 대한 실용적인 해결 방법과 팁을 제공하여 웹 애플리케이션을 효과적으로 구축할 수 있도록 도와 준다.

[베타평]

다른 기술 서적과 비슷하게, 따라 하기 방식으로 구성되어 있어 책을 따라 실습하다 보면 애플리케이션 하나가 완성됩니다. 다만, 다른 책과 달리 일단 에러를 발생시키고 왜 이런 에러가 발생했는지에 대한 이유를 설명하며 올바른 방법을 제시해 줍니다. 그냥 따라 하다 보면 이해되지 않은 부분을 무심결에 넘어가게 되는데, 이 책처럼 에러를 확인하면서 다시 한번 생각하게 해 주는 방식은 실무에서 프로그래밍을 할 때 시행착오를 겪는 과정과 동일하다고 느꼈습니다. 이는 마치 러스트의 컴파일러가 동작하는 방식과 유사한데, 저자가 러스트를 깊이 이해하고 있음을 생각하면 당연한 전개 방식이라고 생각합니다.
주제 하나를 가지고 처음부터 끝까지 블록 쌓기처럼 완성해 가는 과정 또한 마음에 들었습니다(마음의 든 정도가 아니라 정말 훌륭했습니다). 목표가 선명했으며, 왜 이렇게 바꿔 나가야 하는지를 설명하면서 그간 어렴풋하게만 알고 있던 개념들이 명확해지고 러스트뿐 아니라 프로그래밍 전반에 대한 이해도를 높일 수 있는 시간이었습니다.
역자가 원문에 있는 예제를 직접 실행해 보면서 발견한 문제점까지 꼼꼼하게 보완한 덕분에 오히려 원서보다 완성도가 높아져 학습자로서 감사 말씀을 드리고 싶습니다.
ㆍ실습 환경 macOS 13.0, Rust Playground, VS Code
유서호_해피테크놀로지 CTO

러스트에 대한 기초를 쌓고 무엇을 해야 할지 막막할 때 이 책이 웹 백엔드 개발에 대한 훌륭한 길잡이가 되어 줍니다. 이 책에서는 백엔드의 비동기 처리를 위해 Warp, Tokio, Reqwest를 사용하는 방법 그리고 개발에서 머무는 것이 아니라 실제 프로덕션으로 완성시키기 위해 배포와 테스트를 하는 방법까지 러스트 개발에 대해 상세하게 안내해 줍니다. 개인적으로 log4rs, tracing 소개와 GDB, LLDB 등 상세한 디버깅을 설명하는 6장이 가장 마음에 들었습니다. 러스트의 기초를 넘어 러스트를 웹 백엔드 개발 실무에 적용해 보고자 하는 분들에게 이 책을 추천하고 싶습니다.
ㆍ실습 환경 Windows WSL2, Ubuntu 20.04.6 LTS
전봉규_LG CNS

러스트 문법을 공부한 적이 있어 이 책의 베타 테스터로 참여하게 되었습니다. 러스트의 문법만 배웠지 웹으로는 처음 알게 되었습니다. 웹 프레임워크를 이용해 프로젝트 하나를 만드는 책의 구성이 좋았습니다. 또한, 함수형 기법으로 웹 프레임워크를 반영하는데, 함수형 기법까지 알게 되어 좋았습니다.
ㆍ실습 환경 macOS Sonoma, RustRover
문용준_SK C&C

목차

1부 러스트 소개
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 맺음말

찾아보기

본문중에서

이 책은 학습 여정의 고단함을 엄청나게 줄여 주는, 훌륭한 동반자라고 할 수 있겠다. 웹 서비스를 하나하나 말 그대로 바닥부터 채워 올라가는 내용과 라우팅, 미들웨어, 데이터베이스, 비동기 작업 등 필요한 내용으로 가득 채워져 있어 어느 곳 하나 뺄 곳이 없을 정도로 알차게 구성되어 있다.
혁신적인 러스트 웹 프레임워크인 Warp는 아마도 가장 러스트스러운 방법으로 만들어진 결과물일 것이다. 그만큼 가장 정석적인 러스트 프로그래밍 개발 과정을 익히게 될 것이고, 개발 과정 내내 부딪힐 다양한 상황을 해결해 나가다 보면 저자의 스타일을 따라 잘 구성된 제품을 만드는 방법도 함께 익히리라 생각한다.
이 책이 시작하는 사람에게는 좋은 참고서가 되고, 경험이 어느 정도 있는 사람에게는 저자의 통찰을 통해 빈 곳을 메우는 레시피가 되기를 희망한다. 또한, 러스트로 웹 백엔드를 구성하는 데 있어 안전하고 효율적인 서비스를 구축하는 데 작게나마 보탬이 되었으면 좋겠다

_옮긴이의 말 중에서

관련이미지

저자소개

바스티안 그루버 [저] 신작알림 SMS신청
생년월일 -

Centrifuge의 런타임 엔지니어로 러스트를 사용하고 있다. Rust Async Working Group의 일원이며, Rust and Tell Berlin Meetup Group을 설립했고 세계에서 가장 큰 암호화폐 거래소 중 한 곳에서 러스트를 사용해 핵심 백엔드에서 일한 경력이 있다. 또한, 경력 12년 이상의 작가로 LogRocket을 위해 정기적으로 러스트에 대한 글을 쓰고 있으며, 웹사이트(https://rustwebdevelopment.com)에서 수집한 내용으로 인터뷰와 강연도 한다. 본인의 경험으로 복잡한 개념을 이해하기 쉬우면서도 심도 있는 내용으로 쉽게 가르치며, 많은 사랑을 받고 있다. 트위터(@recvonlin

펼쳐보기
장연호 [역] 신작알림 SMS신청
생년월일 -

역서로 『러스트 프로그래밍』 등이 있다.

전공도서/대학교재 분야에서 많은 회원이 구매한 책

    리뷰

    10.0 (총 0건)

    100자평

    작성시 유의사항

    평점
    0/100자
    등록하기

    100자평

    0.0
    (총 0건)

    판매자정보

    • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

    상호

    (주)교보문고

    대표자명

    안병현

    사업자등록번호

    102-81-11670

    연락처

    1544-1900

    전자우편주소

    callcenter@kyobobook.co.kr

    통신판매업신고번호

    01-0653

    영업소재지

    서울특별시 종로구 종로 1(종로1가,교보빌딩)

    교환/환불

    반품/교환 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청 또는 1:1 문의 게시판 및 고객센터(1577-2555)에서 신청 가능

    반품/교환가능 기간

    변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
    단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

    반품/교환 비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

    반품/교환 불가 사유

    ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)

    ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등

    ·복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

    ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

    ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

    상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

    소비자 피해보상
    환불지연에 따른 배상

    ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

    ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

    (주)KG이니시스 구매안전서비스서비스 가입사실 확인

    (주)인터파크커머스는 회원님들의 안전거래를 위해 구매금액, 결제수단에 상관없이 (주)인터파크커머스를 통한 모든 거래에 대하여
    (주)KG이니시스가 제공하는 구매안전서비스를 적용하고 있습니다.

    배송안내

    • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

    • 배송비는 업체 배송비 정책에 따릅니다.

    • - 도서 구매 시 15,000원 이상 무료배송, 15,000원 미만 2,500원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용