이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
LUVIT♥ 실전 백엔드 러스트 Axum 프로그래밍
채팅 앱을 만들며 배우는 모던 웹 애플리케이션 개발
윤인도
제이펍 2025.06.19.
베스트
컴퓨터 공학 top100 2주
가격
25,000
10 22,500
YES포인트?
1,250원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능
  •  문화비소득공제 신청가능

LUVIT(러빗) 시리즈

상세 이미지

책소개

목차

머리말 vii
베타리더 후기 ix
이 책을 읽는 법 x
학습 가이드 xiv
로드맵 xvi

CHAPTER 1 러스트와 서버 개발

1.1 왜 러스트인가? 2
1.2 러스트 서버 개발 사례 4
1.3 러스트 백엔드 프레임워크 비교 6
1.4 개발 환경 설정하기 9
1.5 러스트 핵심 개념 복습 22
돌아보기/쪽지시험 39

CHAPTER 2 Axum 기초 살펴보기

2.1 HTTP 기초 42
2.2 Axum 프로젝트 만들기 45
2.3 라우터와 핸들러 49
2.4 상태 관리 76
2.5 핸들러 디버깅 86
2.6 예제: 프록시 서버 만들기 88
돌아보기/쪽지시험 94

CHAPTER 3 SeaORM으로 데이터베이스 연동해보기

3.1 ORM이란? 98
3.2 스키마와 모델 만들기 100
3.3 SeaQuery 111
3.4 HTTP 요청에 Users 테이블 연결하기 123
3.5 데이터베이스 연결 126
3.6 모듈화 128
3.7 나머지 엔드포인트 완성하기 141
3.8 DBeaver 사용해보기 148
돌아보기/쪽지시험 154

CHAPTER 4 tower 미들웨어

4.1 미들웨어란? 158
4.2 미들웨어 레이어 추가해보기 160
4.3 예제: JWT 인증 레이어 만들기 171
돌아보기/쪽지시험 182

CHAPTER 5 웹소켓

5.1 웹소켓 살펴보기 184
5.2 웹소켓 사용해보기 186
5.3 동시 접속 웹소켓 193
5.4 인증 헤더 202
돌아보기/쪽지시험 206

CHAPTER 6 프로젝트: 채팅 서비스 만들어보기

6.1 프로젝트 개요 210
6.2 Shuttle로 배포하기 213
6.3 도커로 실행하기 241
돌아보기 245

찾아보기 247

저자 소개1

서울대학교에서 공학 학사와 석사 학위를 취득하고, 현재 SAP Labs Korea에서 백엔드 개발자로 근무하고 있다. 한 줄의 코드가 세상을 더 나은 곳으로 만들 수 있다는 신념을 가지고 지식을 나누기 위해 여러 기업과 대학에서 강연을 이어가고 있다. 또한 프로그래머스, 클래스101, 인프런, 베어유 등 여러 플랫폼에서 다양한 주제로 온라인 클래스도 운영하고 있다.

윤인도의 다른 상품

품목정보

발행일
2025년 06월 19일
쪽수, 무게, 크기
268쪽 | 542g | 188*245*14mm
ISBN13
9791194587293

책 속으로

Axum은 tokio와 hyper를 제대로 사용하기 위해서 만들어진 서버 프레임워크인 만큼 다른 Tokio 생태계의 라이브러리들과 매끄럽게 연결됩니다. 특히 다른 프레임워크에서도 많이 사용하고, 다양한 미들웨어(middleware) 기능이 미리 구현되어 있는 미들웨어 크레이트인 tower와의 연동이 매우 간편합니다. 이러한 이유에서 Tokio 생태계에서 제공하는 다양한 기능을 쉽게 통합해서 사용하려면 Axum이 가장 적합한 선택입니다.
--- p.7

또한 특정 경로를 다른 경로로 변경할 때도 여러 번 경로를 수정해야 하는 번거로움이 있습니다. 예를 들어 /user 경로를 /my_user로 바꾸려면 라인 4개를 일일이 고쳐야 하기 때문에 번거로운 데다 실수로 이름을 잘못 넣을 가능성도 있습니다. 이런 이유에서 route 메서드를 계속 연결하는 방법은 라우터에서 정의하고자 하는 경로와 핸들러의 가짓수가 많을 때는 바람직하지 않습니다. / 이처럼 경로와 핸들러가 많아지는 경우 코드가 길어지고 관리가 어렵기 때문에, 하나의 경로에 여러 개의 핸들러를 묶는 방법을 사용하면 문제를 간단하게 해결할 수 있습니다. route 함수의 두 번째 매개변수로 get, post, put, delete 메서드를 연결해주면 됩니다.
--- p.50

Entity에서 EntityTrait를 사용해 테이블 레코드를 표현했던 것처럼 ActiveModel에서는 ActiveModelTrait를 사용해 변경 가능한 테이블 레코드를 나타내고 있습니다. 해당 트레이트를 구현하면 구조체의 각 필드에서 객체의 값을 변경하는 함수인 insert와 update를 사용할 수 있습니다. 두 함수는 객체의 변경사항을 데이터베이스에 적용하는 역할을 수행합니다.
--- p.117

그런데 만일 id 필드에 정수형이 아닌 문자열이 들어오거나, 데이터베이스 쿼리 도중 에러가 발생하면 어떻게 될까요? 문자열을 정수로 변환하는 함수인 parse::〈i32〉에서 unwrap을 호출하기 때문에 정수형이 아닌 문자열이 입력되는 경우에는 즉시 패닉이 발생하게 됩니다. Axum은 핸들러에서 패닉이 발생하더라도 애플리케이션이 종료되지 않고 다른 요청을 계속해서 처리할 수 있습니다. 하지만 패닉이 발생하면 해당 핸들러는 곧바로 종료되기 때문에 사용자에게는 어떤 문제로 요청이 제대로 처리되지 않았는지가 전달되지 않습니다. 그러면 사용자는 요청이 잘못된 것인지, 서버에 문제가 생긴 것인지 알 수 없기 때문에 같은 요청을 여러 번 보내거나 서버 측의 문제인지를 직접 확인해야 하는 불편함이 생깁니다.
--- p.133

Users와 마찬가지로 업서트(upsert)를 위한 별도 모델이 필요하고 핸들러도 거의 동일합니다. 다만 get_product 함수에서 쿼리 파라미터의 종류가 많기 때문에 불필요한 타입 검사를 피하기 위해 쿼리 파라미터에서도 UpsertModel을 사용한다는 점이 약간 다릅니다. 만일 쿼리 파라미터에 타입을 HashMap〈String, String〉과 같이 지정했다면 id와 price가 해시맵에 포함되어 있는지, 그리고 타입이 정수형인지를 별도로 검사해야 하기 때문에 코드가 길어지고 복잡해졌을 것입니다. UpsertModel은 역직렬화 과정에서 타입을 자동으로 처리해주기 때문에 코드가 훨씬 간결해집니다.
--- p.143

압축하지 않을 때 응답 시간이 줄어든 것은 압축 알고리즘의 실행에 시간이 소요되기 때문인데, 파일의 크기가 크거나 서버와 클라이언트가 물리적으로 멀리 떨어져 있는 경우에는 데이터를 압축하는 데 드는 시간보다 작은 크기의 압축된 데이터를 보내는 것이 더욱 효율적이기 때문에 걱정하지 않아도 됩니다. / 참고로 추가하지 않은 피처의 압축 방법으로 Accept-Encoding 헤더를 포함해 보내더라도 Axum에서는 에러가 발생하지 않는 것을 볼 수 있습니다. 하지만 데이터가 압축되지 않은 상태로 전송되기 때문에 정확한 압축 방법을 명시해서 보내는 것이 효율적인 데이터 전달을 위해서 중요합니다.

--- p.170

출판사 리뷰

뛰어난 유연성과 확장성, 완벽한 개발자 경험까지

웹 백엔드 개발 프레임워크 Axum은 전 세계 개발자들의 주목을 받고 있습니다. 최소한의 코드만으로 원하는 기능을 구현할 수 있도록 설계된 Axum은 웹소켓, SSE, HTTP/2와 같은 최신 프로토콜을 모두 지원합니다. 고성능 서버를 간단하게 구축하고 싶다면 사용성과 성능을 모두 갖춘 Axum이 답입니다. 빠르게 변화하는 개발 트렌드와 러스트 생태계에 남들보다 먼저 앞서 나가보세요.

이 책만의 특별한 점

이 책은 가장 빠르게 성장하고 있는 러스트 프레임워크 Axum을 이해하기 쉽게 설명하는 최고의 가이드입니다. 러스트 입문자부터 고성능 서버 프로그램을 작성해보고 싶은 실무자까지 다양한 독자층을 고려하여 구성했습니다.

1. 입문자를 위한 러스트 핵심 개념 복습
이 책을 이해하기 위해 필요한 러스트 핵심 개념을 단계적으로 정리합니다. 풍부한 예제 코드와 쉬운 설명으로 처음 배우는 분들도 막힘없이 따라 할 수 있습니다.

2. 실무 중심의 프로젝트 예제
이론 학습만으로 실무에 적용하는 기술을 배우기는 어렵습니다. 이 책은 실무 감각을 익힐 수 있도록 프런트엔드와 백엔드를 모두 구현한 채팅 서비스를 만들어봅니다. 코드를 완성한 후에는 Shuttle, 도커를 이용해 웹에 배포하는 과정도 배웁니다.

3. 저자의 인프런 동영상 강의
책만으로 부족하다고 느낄 초보자들을 위해 저자는 인프런 동영상 강의를 제작했습니다. 책의 흐름에 맞춰 진행되는 강의는 핵심 이론과 실습 프로젝트를 알기 쉽게 설명하며, 실전에서 유용한 팁까지 담았습니다.

이 책은 누가 읽으면 좋을까요?

- 러스트에 입문하고자 하는 타 언어 개발자
- 새로운 프로젝트를 만들어보고 싶은 러스트 개발자
- 고성능 서버 프로그램을 작성해보고 싶은 실무자

먼저 읽은 독자들의 한줄평

- 이미 다른 언어로 웹 개발 경험이 있으면서 고성능과 안정성을 동시에 갖춘 언어로 새로운 가능성을 탐색하고자 하는 분들에게 추천합니다. _김진영 님
- 러스트는 인지도 있는 언어가 되었지만 아직 라이브러리를 활용한 학습 자료가 부족하여 초심자들에게 새로운 것을 만들며 배울 기회가 적었습니다. 이 책은 그런 면에서 가뭄에 단비 같은 존재입니다. _김태근 님
- 책을 따라 REST API를 만들고 ORM으로 데이터베이스를 연동하며 인증, 웹소켓을 이용한 채팅 앱까지 구현하면서 러스트와 Axum의 매력에 빠져들 수 있었습니다. _김호준 님
- 러스트 생태계에 대한 이해를 돕는 실용적인 내용이 많아 적극 추천합니다. _이현수 님

리뷰/한줄평1

리뷰

10.0 리뷰 총점

한줄평

첫번째 한줄평을 남겨주세요.

22,500
1 22,500