>
>
>
>
러스트 서버, 서비스, 앱 만들기 : 백엔드 서버, 서비스, 프런트엔드 모두 러스트로 안전하고 빠르게 구축하기
김모세 ㅣ 제이펍
  • 정가
28,000원
  • 판매가
25,200원 (10% ↓, 2,800원 ↓)
  • 발행일
2024년 05월 17일
  • 페이지수/크기
388page/188*245*19
  • ISBN
9791192987965/1192987969
  • 배송비
무료배송
  • 배송예정일
07/26(금) 배송완료예정
  • 현 보유재고
100 권 이상
  • 주문수량
  • 바로구매 북카트담기
  • 제휴몰 주문 시 고객보상, 일부 이벤트 참여 및 증정품 증정, 하루/당일 배송에서 제외되므로 참고 바랍니다.
  • 상세정보
  • 분산 웹 앱 구축하며 풀스택 러스트 마스터하기 이 책은 오직 러스트만으로 웹서버, RESTful 서비스, 서버 렌더링 앱, 클라이언트 프런트엔드를 만든다. 작고 예측 가능한 리소스 풋프린트로 코드를 작성하는 법, 탁월한 안전성과 신뢰성을 갖춘 고성능 애플리케이션을 구축하는 법을 배울 수 있다. 책 전체에 걸쳐, 강사들을 위한 온라인 교육 플랫폼을 풀스택 러스트로 만들어나간다. 간단한 HTTP 서버와 RESTful 웹 서비스를 구축하는 기초부터 시작해서 보안, 데이터베이스 상호작용, 오류 처리를 추가해 프로덕션 레디 상태로 만든다. 최종적으로 서비스를 구현하고 SPA를 만들고 비동기 프로그래밍까지 살펴본다.
  • 백엔드부터 프런트엔드까지 직접 구축하며 러스트 스킬업 러스트는 고도의 동시성을 안전하게 제공하는 언어로 설계되었고, 이를 활용하면 ‘모든 프로그래밍 언어의 도전’인 고성능 네트워크 서비스를 만드는 것도 가능하다. 이 책은 다양한 도구, 기법, 기술을 십분 활용해 오직 러스트만으로 백엔드부터 프런트엔드까지 현대적인 웹 서비스 및 애플리케이션을 점진적으로 구축해나간다. 1부에서는 웹 애플리케이션의 기초를 다지고 백엔드를 구축한다. 먼저 1장은 분산 아키텍처 등 핵심 개념 및 책에서 구축해나갈 온라인 교육 플랫폼 애플리케이션에 대해 소개한다. 2장에서는 TCP 기반 컴포넌트를 개발하고, 3장은 서드파티 크레이트를 활용해 RESTful 웹 서비스를 구현하는 방법을 살펴본다. 4장은 SQL 데이터베이스(PostgreSQL), 5장은 예외 처리, 6장은 리팩터링을 다룬다. 2부에서는 Actix 프레임워크를 이용한 서버 사이드 렌더링 프런트엔드 및 GUI를 개발한다. 7장은 프레임워크 및 폼에 대해 설명하고, 1부에서 개발한 백엔드 웹 서비스와 상호작용하는 방법도 살펴본다. 8장은 서버 사이드 Tera 템플릿 엔진을 살펴보고 폼을 이용한 사용자 등록 방법을 설명한다. 9장은 사용자 인증, 라우팅, HTTP 메서드를 사용한 CRUD 방식의 유지보수를 다룬다. 끝으로 3부는 프로덕션 배포를 위한 고급 주제를 다룬다. 10장은 Tokio와 퓨처를 활용한 비동기 프로그래밍, 11장은 libp2p를 사용한 P2P 애플리케이션 개발, 12장은 웹 애플리케이션을 도커 이미지로 준비하고 패키징하는 방법을 살펴본다. 챕터별로 실제 작동하는 프로젝트에 대해 이터레이션을 걸쳐 점진적으로 기능을 추가해나가며, 관련 이론은 프로젝트의 문맥 안에서 설명하는 실무 친화적인 방식으로 쓰인 책이다. 웹에서 돌아가는 서버/서비스/앱을 직접 만드는 과정을 통해, 개발자들의 사랑을 받으며 성장 중인 러스트 생태계의 진가를 맛보고 개발 스킬도 크게 향상할 수 있다. 주요 내용 ● 러스트로 데이터베이스 기반 웹 서비스 개발 ● RESTful API 빌드 및 보안 확보 ● 러스트로 서버 측 웹 애플리케이션 작성 ● 웹 서비스 성능 측정 및 벤치마킹 ● 웹 서비스 패키징 및 배포 ● 풀스택 러스트 애플리케이션
  • 옮긴이 머리말 ix 베타리더 후기 x 시작하며 xii 감사의 글 xiv 이 책에 대하여 xv 표지에 대하여 xix PART I 웹서버와 웹 서비스 CHAPTER 1 왜 러스트가 웹 애플리케이션에 적합한가? 3 1.1 모던 웹 애플리케이션 개요 4 1.2 웹 애플리케이션을 위해 러스트를 선택하기 7 __1.2.1 웹 애플리케이션의 특성 8 __1.2.2 러스트를 사용한 웹 애플리케이션 구현의 이점 9 __1.2.3 러스트에 없는 것은? 15 1.3 예제 애플리케이션 소개 15 __1.3.1 무엇을 만들 것인가? 16 / 1.3.2 예제 애플리케이션의 기술적 가이드라인 19 요약 20 CHAPTER 2 기본 웹서버 작성하기 21 2.1 네트워킹 모델 22 2.2 러스트를 사용해 TCP 서버 작성하기 24 __2.2.1 TCP/IP 통신 흐름 설계하기 24 / 2.2.2 TCP 서버와 클라이언트 작성하기 26 2.3 러스트를 사용해 HTTP 서버 작성하기 31 __2.3.1 HTTP 요청 메시지 파싱하기 33 / 2.3.2 HTTP 응답 메시지 구성하기 42 __2.3.3 main() 함수와 server 모듈 작성하기 51 __2.3.4 router 및 handler 모듈 작성하기 52 / 2.3.5 웹서버 테스팅하기 57 요약 60 CHAPTER 3 RESTful 웹 서비스 구축하기 62 3.1 Actix 시작하기 62 __3.1.1 첫 번째 REST API 작...
  • 웹 애플리케이션은 애플리케이션 계층 프로토콜로 HTTP를 사용하며, 표준 인터넷 브라우저를 통해 인간 사용자가 접근할 수 있는 기능들을 제공하는 프로그램이다. 이러한 웹 애플리케이션이 하나가 아니라 수십 또는 수백 개의 분산 애플리케이션 요소로 구성되어 네트워크상에서 협력하고 통신할 때, 이를 분산 웹 애플리케이션이라 부른다. (…) 그림 1.1은 모던 웹 애플리케이션의 분산 시스템 스택의 전형적인 논리적 형태를 나타낸다. 실제 세계에서라면 이러한 시스템은 수천 대의 서버에 분산되어 있겠지만, 그림에서는 3개의 서버만 네트워킹 스택을 통해 연결된 것으로 나타냈다. (5쪽) REST 아키텍처 스타일을 사용해 API를 노출하는 웹 서비스를 RESTful 웹 서비스(RESTful web service)라 부른다. 이번 절에서는 EzyTutors 디지털 스토어프런트를 위한 RESTful 웹 서비스를 만든다. (…) 이번 장에서 구현할 웹 서비스의 핵심 기능은 신규 강의 등록하기, 특정 강사의 강의 목록 얻기, 개별 강의에 대한 세부 정보 얻기다. 초기 데이터 모델은 course라는 하나의 리소스만 갖는다. / 데이터 모델을 다루기 전에, 먼저 프로젝트 구조와 코드 형태를 마무리하자. 또한 여러 Actix 워커 스레드들이 안전하게 메모리의 데이터에 접근할 수 있도록 저장하는 방법도 결정한다. (70~71쪽) 이번 장에서는 관계형 데이터베이스로 PostgreSQL을 사용한다. Postgres는 잘 알려진 오픈 소스 관계형 데이터베이스로 확장성, 안전성, 기능 및 대규모의 복잡한 데이터 작업을 처리하는 데 뛰어나다. / sqlx 크레이트를 사용해 Postgres에 연결한다. 이 크레이트는 가공되지 않는 SQL 구문으로 쿼리를 작성할 수 있다. sqlx는 컴파일 시간에 쿼리를 확인하며, 내장 커넥션 풀을 제공하고, Postgres에 대한 비동기 커넥션을 반환한다. 컴파일 시간 확인은 런타임 에러를 발견하고 예방하는 데 매우 유용하다. / 데이터베이스에 대해 비동기 커넥션을 갖는다는 것은 튜터 웹 서비스가 데이터베이스로부터의 응답을 기다리는 동안 다른 태스크를 수행할 수 있다는 의미이다. (98쪽) UpdateCourse 구조체는 옵셔널 필드들을 포함하고 있기 때문에, 먼저 API 클라이언트가 어떤 필드들을 보냈는지 검증해야 한다. 필드에 대한 새로운 값을 보냈다면, 해당 필드를 업데이트해야 한다. 그렇지 않다면 데이터베이스의 기존값을 유지해야 한다. 이를 위해 먼저 모든 필드를 포함하고 있는 현재 강의 레코드를 추출한다. 다음으로 API가 특정한 필드에 대한 값을 보냈다면, 해당 값을 사용해 데이터베이스를 업데이트하고, 그렇지 않으면 기존의 값을 사용해 업데이트한다. / 이것으로 강의와 관련된 데이터 모델, 라우트, 핸들러, 테스트 케이스, 데이터베이스 접근 함수에 대한 코드 변경을 완료했다. $PROJECT_ROOT에서 다음 명령을 실행해서 컴파일 에러가 발생하는지 확인할 수 있다. (181쪽) 이전 장에서 강사 등록하기에 관해 살펴봤다. 사용자가 강사로서 등록할 때, 강사 관련 정보는 2개의 데이터베이스에 걸쳐서 저장되었다. 강사의 이름, 이미지, 전문 영역과 같은 프로파일 상세 정보는 백엔드 튜터 웹 서비스 안의 데이터베이스에서 유지보수된다. 사용자 ID, 비밀번호 같은 등록 상세 정보들은 웹 애플리케이션 안의 로컬 데이터베이스에 저장된다. / 이번 장에서는 이전 장에서 만든 코드 위에서 구현한다. 러스트 프런트엔드 웹 앱을 작성할 것이다. 이 웹 앱을 통해 사용자들은 애플리케이션에 로그인할 수 있고, 로컬 데이터베이스와 상호작용할 수 있고, 백엔드 웹 서비스와 통신할 수 있다. (249쪽) tutors 리스트...
  • 김모세 [저]
  • 대학 졸업 후 소프트웨어 엔지니어, 소프트웨어 품질 엔지니어, 애자일 코치 등 다양한 부문에서 소프트웨어 개발에 참여했다. 재미있는 일, 나와 조직이 성장하고 성과를 내도록 돕는 일에 보람을 느끼며 나 자신에게 도전하고 더 나은 사람이 되기 위해 항상 노력하고 있다. 저서로 『코드 품질 시각화의 정석』(지앤선, 2015)이 있고, 옮긴 책으로는 『제대로 배우는 수학적 최적화』(한빛미디어, 2021), 『그림으로 배우는 TCP/IP』 등이 있다.
  • 전체 0개의 구매후기가 있습니다.

인터파크도서는 고객님의 단순 변심에 의한 교환과 반품에 드는 비용은 고객님이 지불케 됩니다.
단, 상품이나 서비스 자체의 하자로 인한 교환 및 반품은 무료로 반품 됩니다.
교환 및 반품이 가능한 경우
상품을 공급 받은 날로부터 7일이내 가능
공급받으신 상품의 내용이 표시, 광고 내용과 다르거나 다르게 이행된 경우에는 공급받은 날로부터 3개월 이내,
   혹은 그사실을 알게 된 날 또는 알 수 있었던 날로부터 30일 이내
상품에 아무런 하자가 없는 경우 소비자의 고객변심에 의한 교환은 상품의 포장상태 등이 전혀 손상되지 않은 경우에 한하여 가능
교환 및 반품이 불가능한 경우
구매확정 이후(오픈마켓상품에 한함)
고객님의 책임 있는 사유로 상품 등이 멸실 또는 훼손된 경우
   (단, 상품의 내용을 확인하기 위하여 포장 등을 훼손한 경우는 제외)
시간이 지남에 따라 재판매가 곤란할 정도로 물품의 가치가 떨어진 경우
포장 개봉되어 상품 가치가 훼손된 경우
다배송지의 경우 반품 환불
다배송지의 경우 다른 지역의 반품을 동시에 진행할 수 없습니다.
1개 지역의 반품이 완료된 후 다른 지역 반품을 진행할 수 있으므로, 이점 양해해 주시기 바랍니다.
중고상품의 교환
중고상품은 제한된 재고 내에서 판매가 이루어지므로, 교환은 불가능합니다.
오픈마켓 상품의 환불
오픈마켓상품에 대한 책임은 원칙적으로 업체에게 있으므로, 교환/반품 접수시 반드시 판매자와 협의 후 반품 접수를 하셔야하며,
   반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가능할 수 있으니 유의하시기 바랍니다.
배송예정일 안내
인터파크 도서는 모든 상품에 대해 배송완료예정일을 웹사이트에 표시하고 있습니다.
<인터파크 직배송 상품>
상품은 월~토요일 오전 10시 이전 주문분에 대하여 당일 출고/당일 배송완료를 보장하는 상품입니다.
상품은 서울지역/평일 주문분은 당일 출고/익일 배송완료를 보장하며,
서울외지역/평일 주문분의 경우는 오후 6시까지 주문분에 대하여 익일 배송완료를 보장하는 상품입니다.
(단, 월요일은 12시까지 주문에 한함)
상품은, 입고예정일(제품출시일)+택배사배송일(1일)에 배송완료를 보장합니다.
~ 상품은 유통특성상 인터파크에서 재고를 보유하지 않은 상품으로
주문일+기준출고일+택배사배송일(1일)에 배송완료를 보장합니다.(토/공휴일은 배송기간에 포함되지 않습니다.)
※기준출고일:인터파크가 상품을 수급하여 물류창고에서 포장/출고하기까지 소요되는 시간
<업체 직접배송/오픈마켓 상품>
~ 상품은 업체가 주문을 확인하고, 출고하기까지 걸리는 시간입니다.
주문일+기준출고일+택배사배송일(2일)에 배송완료를 보장합니다.(토/공휴일은 배송기간에 포함되지 않습니다.)
※5일이내 출고가 시작되지 않을시, 오픈마켓 상품은 자동으로 주문이 취소되며, 고객님께 품절보상금을 지급해 드립니다.
배송비 안내
도서(중고도서 포함)만 구매하시면 : 배송비 2,000원 (1만원이상 구매 시 무료배송)
음반/DVD만 구매하시면 : 배송비 1,500원 (2만원이상 구매 시 무료배송)
잡지/만화/기프트만 구매하시면 : 배송비 2,000원 (2만원이상 구매 시 무료배송)
도서와 음반/DVD를 함께 구매하시면 : 배송비 1,500원 1만원이상 구매 시 무료배송)
도서와 잡지/만화/기프트/중고직배송상품을 함께 구매하시면 : 2,000원 (1만원이상 구매 시 무료배송)
업체직접배송상품을 구매시 : 업체별로 상이한 배송비 적용

   * 세트상품의 경우 부분취소 시 추가 배송비가 부과될 수 있습니다.
   * 북카트에서 배송비없애기 버튼을 클릭하셔서, 동일업체상품을 조금 더 구매하시면, 배송비를 절약하실 수 있습니다.
해외배송 안내
인터파크도서에서는 국내에서 주문하시거나 해외에서 주문하여 해외로 배송을 원하실 경우 DHL과 특약으로 책정된 요금표에
   의해 개인이 이용하는 경우보다 배송요금을 크게 낮추며 DHL(www.dhl.co.kr)로 해외배송 서비스를 제공합니다.
해외배송은 도서/CD/DVD 상품에 한해 서비스하고 있으며, 다른 상품을 북카트에 함께 담으실 경우 해외배송이 불가합니다.
해외주문배송 서비스는 인터파크 도서 회원 가입을 하셔야만 신청 가능합니다.
알아두세요!!!
도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 취소될 수 있습니다.
오픈마켓업체의 배송지연시 주문이 자동으로 취소될 수 있습니다.
출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 기준으로 배송됩니다.
유통의 특성상 출고기간은 예정보다 앞당겨지거나 늦춰질 수 있습니다.
택배사 배송일인 서울 및 수도권은 1~2일, 지방은 2~3일, 도서, 산간, 군부대는 3일 이상의 시간이 소요됩니다.
  • 0개
  • 0개