logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

러스트 서버, 서비스, 앱 만들기

러스트 서버, 서비스, 앱 만들기

(백엔드 서버, 서비스, 프런트엔드 모두 러스트로 안전하고 빠르게 구축하기)

프라부 에스왈라 (지은이), 김모세 (옮긴이)
제이펍
28,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
25,200원 -10% 0원
1,400원
23,800원 >
25,200원 -10% 0원
0원
25,200원 >
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
알라딘 판매자 배송 15개 13,000원 >
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
aladin 19,600원 -10% 980원 16,660원 >

책 이미지

러스트 서버, 서비스, 앱 만들기
eBook 미리보기

책 정보

· 제목 : 러스트 서버, 서비스, 앱 만들기 (백엔드 서버, 서비스, 프런트엔드 모두 러스트로 안전하고 빠르게 구축하기)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 프로그래밍 언어 기타
· ISBN : 9791192987965
· 쪽수 : 388쪽
· 출판일 : 2024-05-17

책 소개

오직 러스트만으로 웹서버, RESTful 서비스, 서버 렌더링 앱, 클라이언트 프런트엔드를 만든다. 작고 예측 가능한 리소스 풋프린트로 코드를 작성하는 법, 탁월한 안전성과 신뢰성을 갖춘 고성능 애플리케이션을 구축하는 법을 배울 수 있다.

목차

옮긴이 머리말 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 작성하기 63 / 3.1.2 Actix 개념 이해하기 66
3.2 REST를 사용해 웹 API 만들기 70
__3.2.1 프로젝트 범위와 구조 정의하기 71 / 3.2.2 애플리케이션 상태 정의 및 관리하기 74
__3.2.3 데이터 모델 정의하기 78 / 3.2.4 강의 게시하기 83
__3.2.5 한 강사의 모든 강의 정보 얻기 87 / 3.2.6 한 강의에 관한 세부 정보 얻기 90
요약 93

CHAPTER 4 데이터베이스 조작하기 95
4.1 프로젝트 구조 설정하기 96
4.2 첫 번째 데이터베이스와의 비동기 커넥션 작성하기(이터레이션 1) 98
__4.2.1 데이터베이스 및 커넥션 라이브러리 선택하기 98
__4.2.2 데이터베이스를 설정하고 비동기 풀과 연결하기 99
4.3 웹 서비스 설정하기와 단위 테스트 작성하기(이터레이션 2) 105
__4.3.1 디펜던시와 라우트 설정하기 106
__4.3.2 애플리케이션 상태와 데이터 모델 설정하기 107
__4.3.3 디펜던시 주입을 사용해 커넥션 풀 설정하기 108
__4.3.4 단위 테스트 작성하기 111
4.4 데이터베이스에서 레코드를 생성하고 질의하기(이터레이션 3) 113
__4.4.1 데이터베이스 접근 함수 작성하기 114 / 4.4.2 핸들러 함수 작성하기 117
__4.4.3 데이터베이스 기반 웹 서비스를 위한 main() 함수 작성하기 120
요약 124

CHAPTER 5 에러 핸들링하기 125
5.1 프로젝트 구조 설정하기 126
5.2 러스트와 Actix Web에서의 에러 핸들링 기본 130
5.3 커스텀 에러 핸들러 정의하기 137
5.4 모든 강의 정보 얻기에 대한 에러 핸들링하기 141
5.5 강의 상세 정보 얻기에 대한 에러 핸들링하기 148
5.6 새로운 강의 게시에 대한 에러 핸들링하기 150
요약 153

CHAPTER 6 API의 진화와 두려움 없는 리팩터링 154
6.1 프로젝트 구조 개편하기 155
6.2 강의 생성 및 관리와 관련된 데이터 모델 개선하기 160
__6.2.1 데이터 모델 변경하기 162 / 6.2.2 강의 API 변경하기 168
6.3 강사 등록 및 유지 관리를 가능하게 하기 183
__6.3.1 강사를 위한 데이터 모델과 라우트 184
__6.3.2 강사 관련 라우트에 대한 핸들러 함수 187
__6.3.3 강사 관련 라우트에 대한 데이터베이스 접근 함수 189
__6.3.4 강사에 대한 데이터베이스 스크립트 191
__6.3.5 강사 관련 API 실행 및 테스트하기 193
요약 197

PART II 서버 사이드 웹 애플리케이션

CHAPTER 7 러스트를 사용한 서버 사이드 웹 애플리케이션 개요 201
7.1 서버 사이드 렌더링 개요 202
7.2 Actix를 사용해 정적 웹페이지 제공하기 204
7.3 Actix와 Tera를 사용해 동적 웹페이지 렌더링하기 207
7.4 폼을 사용해 사용자 입력 추가하기 210
7.5 템플릿을 사용해 리스트 표시하기 213
7.6 클라이언트 사이드 테스트 작성 및 실행하기 217
7.7 백엔드 웹 서비스에 연결하기 220
요약 224

CHAPTER 8 템플릿을 사용해 강사 등록하기 226
8.1 초기 웹 애플리케이션 작성하기 227
8.2 등록 폼 표시하기 234
8.3 등록 제출 처리하기 240
요약 247

CHAPTER 9 강의 유지보수를 위한 폼 다루기 249
9.1 사용자 인증 설계하기 250
9.2 프로젝트 구조 설정하기 251
9.3 사용자 인증 구현하기 252
9.4 HTTP 요청 라우팅하기 258
9.5 HTTP POST 메서드를 사용해 리소스 생성하기 262
9.6 HTTP PUT 메서드를 사용해 리소스 업데이트하기 265
9.7 HTTP DELETE 메서드를 사용해 리소스 삭제하기 268
요약 269

PART III 고급 주제: 비동기 러스트

CHAPTER 10 비동기 러스트 이해하기 273
10.1 비동기 프로그래밍 개념 소개 274
10.2 동시 프로그램 작성하기 281
10.3 비동기 러스트 자세히 살펴보기 287
10.4 퓨처 이해하기 292
10.5 커스텀 퓨처 구현하기 300
요약 304

CHAPTER 11 비동기 러스트를 사용해 P2P 노드 구현하기 305
11.1 P2P 네트워크 소개 306
__11.1.1 전송 308 / 11.1.2 피어 신원 308 / 11.1.3 보안 308
__11.1.4 피어 라우팅 308 / 11.1.5 메시징 309 / 11.1.6 스트림 멀티플렉싱 309
11.2 libp2p 네트워킹의 핵심 아키텍처 이해하기 310
__11.2.1 피어 ID 및 키 페어 311 / 11.2.2 멀티어드레스 312
__11.2.3 스웜과 네트워크 동작 314
11.3 피어 노드 사이에서 ping 명령 교환하기 316
11.4 피어 발견하기 318
요약 321

CHAPTER 12 도커를 사용해 웹 서비스 배포하기 323
12.1 서버와 앱의 프로덕션 배포 개요 324
__12.1.1 소프트웨어 배포 수명 주기 325 / 12.1.2 도커 컨테이너 기본 327
12.2 첫 번째 도커 컨테이너 작성하기 329
__12.2.1 도커 설치 확인하기 329 / 12.2.2 간단한 도커 컨테이너 작성하기 331
__12.2.3 다단계 도커 빌드 334
12.3 데이터베이스 컨테이너 빌드하기 337
__12.3.1 Postgres 데이터베이스 패키징하기 338
__12.3.2 데이터베이스 테이블 생성하기 344
12.4 도커를 사용해서 웹 서비스 패키징하기 347
12.5 도커 컴포즈를 사용해서 도커 컨테이너 조정하기 348
요약 355

APPENDIX A 부록 357
Postgres 설치 357

찾아보기 360

저자소개

프라부 에스왈라 (지은이)    정보 더보기
20년 이상 대기업에 고품질의 비즈니스 크리티컬 소프트웨어와 분산 시스템을 공급하고 IT 운영을 담당했다. 현재는 러스트를 사용해 레이어 1 블록체인을 구축하는 스타트업의 CTO다. 복잡한 기술을 쉽게 가르치는 데 진심인 교육자이기도 하다. 분산 시스템용 소프트웨어 인프라 및 시스템 도구 구축에 러스트가 강점이 있음을 일찍이 파악하고 활용해왔다. 코딩의 창의적 성격을 중요하게 여기지만, 깔끔하고 효율적이며 안전하고 유지 가능한 코드를 만들기 위한 소프트웨어 엔지니어링의 엄격함 또한 중시한다.
펼치기
김모세 (옮긴이)    정보 더보기
대학 졸업 후 소프트웨어 엔지니어, 소프트웨어 품질 엔지니어, 애자일 코치 등 다양한 부문에서 소프트웨어 개발에 참여했다. 재미있는 일, 나와 조직이 성장하도록 돕는 일에 보람을 느껴 2019 년부터 번역을 시작했다. 옮긴 책으로는 <버튜버 캐릭터 제작 가이드>, <블렌더로 애니 그림체 캐릭터를 만들어보자!>(모델링편/카툰렌더링편), <피그마 For 디자인 시스템>, <고도 엔진 간단 입문>, <제로부터 시작하는 러스트 백엔드 프로그래밍>(제이펍), <챗GPT 프롬프트 120% 질문 기술>(정보문화사), <애자일 개발의 기술 2판>(에이콘), <타입스크립트, 리액트, Next.js로 배우는 실전 웹 애플리케이션 개발>(위키북스) 등이 있다.
펼치기

책속에서



웹 애플리케이션은 애플리케이션 계층 프로토콜로 HTTP를 사용하며, 표준 인터넷 브라우저를 통해 인간 사용자가 접근할 수 있는 기능들을 제공하는 프로그램이다. 이러한 웹 애플리케이션이 하나가 아니라 수십 또는 수백 개의 분산 애플리케이션 요소로 구성되어 네트워크상에서 협력하고 통신할 때, 이를 분산 웹 애플리케이션이라 부른다. (…) 그림 1.1은 모던 웹 애플리케이션의 분산 시스템 스택의 전형적인 논리적 형태를 나타낸다. 실제 세계에서라면 이러한 시스템은 수천 대의 서버에 분산되어 있겠지만, 그림에서는 3개의 서버만 네트워킹 스택을 통해 연결된 것으로 나타냈다.


REST 아키텍처 스타일을 사용해 API를 노출하는 웹 서비스를 RESTful 웹 서비스(RESTful web service)라 부른다. 이번 절에서는 EzyTutors 디지털 스토어프런트를 위한 RESTful 웹 서비스를 만든다. (…) 이번 장에서 구현할 웹 서비스의 핵심 기능은 신규 강의 등록하기, 특정 강사의 강의 목록 얻기, 개별 강의에 대한 세부 정보 얻기다. 초기 데이터 모델은 course라는 하나의 리소스만 갖는다. / 데이터 모델을 다루기 전에, 먼저 프로젝트 구조와 코드 형태를 마무리하자. 또한 여러 Actix 워커 스레드들이 안전하게 메모리의 데이터에 접근할 수 있도록 저장하는 방법도 결정한다.


이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책
9791193926352