본문 바로가기

추천 검색어

실시간 인기 검색어

LUVIT 실전 백엔드 러스트 Axum 프로그래밍

채팅 앱을 만들며 배우는 모던 웹 애플리케이션 개발
윤인도 지음
제이펍

2025년 09월 10일 출간

국내도서 : 2025년 06월 19일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 PDF (21.36MB)   |  270 쪽
ISBN 9791194587736
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.

PDF 필기가능 (Android, iOS)
이벤트 소득공제
소장
정가 : 17,500원

판매가 15,750

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 200원

작품소개

이 상품이 속한 분야

프로젝트로 배우는 러스트 웹 백엔드 개발 프레임워크Axum은 사용성과 성능에 중점을 둔 러스트 프레임워크로, Axum을 활용하면 고성능 서버를 간단하게 구축할 수 있다. 이 책은 Axum의 기초부터 SeaORM, tower 미들웨어, 웹소켓까지 자세히 다루며, 실전 프로젝트를 통해 깊이 있게 학습할 수 있도록 구성되었다. 채팅 앱 서비스는 프런트엔드와 백엔드를 모두 구현해보며, 만든 앱을 Shuttle로 쉽고 빠르게 배포하는 방법을 배운다. 도커로 간단하게 실행하기 위해 도커 이미지 빌드 방법도 소개한다. 실무 중심의 학습으로 Axum을 활용한 백엔드 개발 역량을 키워보자.
머리말 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

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

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

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

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

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

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

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

이 책만의 특별한 점
이 책은 가장 빠르게 성장하고 있는 러스트 프레임워크 Axum을 이해하기 쉽게 설명하는 최고의 가이드입니다. 러스트 입문자부터 고성능 서버 프로그램을 작성해보고 싶은 실무자까지 다양한 독자층을 고려하여 구성했습니다.
1. 입문자를 위한 러스트 핵심 개념 복습
이 책을 이해하기 위해 필요한 러스트 핵심 개념을 단계적으로 정리합니다. 풍부한 예제 코드와 쉬운 설명으로 처음 배우는 분들도 막힘없이 따라 할 수 있습니다.
2. 실무 중심의 프로젝트 예제
이론 학습만으로 실무에 적용하는 기술을 배우기는 어렵습니다. 이 책은 실무 감각을 익힐 수 있도록 프런트엔드와 백엔드를 모두 구현한 채팅 서비스를 만들어봅니다. 코드를 완성한 후에는 Shuttle, 도커를 이용해 웹에 배포하는 과정도 배웁니다.
3. 저자의 인프런 동영상 강의
책만으로 부족하다고 느낄 초보자들을 위해 저자는 인프런 동영상 강의를 제작했습니다. 책의 흐름에 맞춰 진행되는 강의는 핵심 이론과 실습 프로젝트를 알기 쉽게 설명하며, 실전에서 유용한 팁까지 담았습니다.

이 책은 누가 읽으면 좋을까요?
-러스트에 입문하고자 하는 타 언어 개발자
-새로운 프로젝트를 만들어보고 싶은 러스트 개발자
-고성능 서버 프로그램을 작성해보고 싶은 실무자

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

작가정보

저자(글) 윤인도

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

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 5,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (2024년 9월 30일부터 적용)
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 5,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (2024년 9월 30일부터 적용)
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    LUVIT 실전 백엔드 러스트 Axum 프로그래밍 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    LUVIT 실전 백엔드 러스트 Axum 프로그래밍 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    LUVIT 실전 백엔드 러스트 Axum 프로그래밍
    채팅 앱을 만들며 배우는 모던 웹 애플리케이션 개발
    저자 모두보기
    저자(글)
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글바이액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글바이액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)