도서상세
장바구니에 상품을 담았습니다.
바로가기
  1. 도서정가제
  2. 소득공제
제미니의 백엔드 개발 실무: AI 시대에 가장 필요한 개발자의 기술적 사고력 - 위키북스 오픈소스 & 웹 시리즈
위키북스 2026.08.27
일시재고부족
24,000원
21,600원
10%
최대 적립 포인트
1,500 원
  • 구매 적립
    적립금 안내
    • 상품 적립금
    • 상품 적립금은 고객님이 웬디북에서 상품을 구매하실 경우 이에 대한 마일리지 개념으로 구매금액의 일부를 적립해 드리는 제도이며 사용은 예치금과 같이 현금처럼 사용가능하십니다.
    • 멤버십 적립금
    • 멤버십 적립금은 고객님의 멤버십(고객)등급에 따라 도서 구매액의 1 ~ 4%에 해당하는 적립금이 추가로 적립되며 적립금은 다음 주문시 현금처럼 사용이 가능합니다.
    • 다만 적립금은 예치금과는 달리, 현금으로 환불하실 수 없고 적립금의 적립일로 부터 12개월 이내에 사용하시지 않으면 자동으로 소멸됩니다.
  • 상품 적립금
    1,200원
  • 리뷰 적립
  • 최대 리뷰 적립금
    300원
21,600원
· 쿠폰 및 적립금은 결제 시 적용해 주세요
바로구매
장바구니 담기
일시재고부족
이 책을 구입하신 분들이 산 책
상세 이미지 더보기
상세 이미지
목차 더보기
목차
· 01장: 시작하기
1.1 상황 정의
__1.1.1 서비스 규모와 제약
__1.1.2 인프라 구성
__1.1.3 이 책에서의 학습 관점
1.2 프로젝트 구조
__1.2.1 core-enum 모듈
· 02장: 상품 목록
2.1 상품 목록 - 요구사항 느끼기
__2.1.1 요구사항 분석
__2.1.2 기술 방식 결정
__2.1.3 협업과 소통
2.2 상품 목록 - 코드 느끼기
__2.2.1 컨트롤러와 페이징 방식
__2.2.2 서비스 코드와 Finder 설계
__2.2.3 엔티티 설계
__2.2.4 매핑 테이블과 조회 전략
__2.2.5 상품 삭제 전략
2.3 상품 목록 - 개념 정리
__2.3.1 격벽이란?
__2.3.2 개념도 작성 원칙
__2.3.3 개념의 중요도 구분
__2.3.4 참조 관계와 격벽의 목적
· 03장: 상품 상세
3.1 상품 상세 - 요구사항 느끼기
__3.1.1 상품 상세 페이지 구성
__3.1.2 검토해야 할 요구사항
__3.1.3 API 설계 전략
__3.1.4 조직 상황별 판단 기준
__3.1.5 기술적 요구사항 검토
3.2 상품 상세 - 코드 느끼기
__3.2.1 쿠폰 조회 시점과 API 분리
__3.2.2 ProductFinder 재사용과 Price 설계
__3.2.3 ProductSectionService 분리
__3.2.4 RateSummary와 rateVisible 설계
__3.2.5 쿠폰 타깃 조회 로직
__3.2.6 갓 오브젝트 안티패턴
3.3 상품 상세 - 개념 정리
__3.3.1 Product와 격벽 구조
__3.3.2 Price의 개념적 위치
__3.3.3 개념 중요도와 계층 구분
· 04장: 리뷰
4.1 리뷰 - 요구사항 느끼기
__4.1.1 리뷰 수정·삭제 정책
__4.1.2 리뷰 작성 정책과 고아 리뷰
__4.1.3 별점 산정 기준
__4.1.4 리뷰 보상 정책
__4.1.5 정책 변경에 유연한 설계
4.2 리뷰 - 코드 느끼기
__4.2.1 리뷰 조회와 ReviewTargetType
__4.2.2 ReviewFinder와 확장 구조
__4.2.3 ReviewService와 컴포넌트 분리
__4.2.4 ReviewEntity와 ReviewKey 설계
__4.2.5 ReviewPolicyValidator와 작성 정책
__4.2.6 리뷰 작성·수정·삭제 정책과 ReviewManager
__4.2.7 컴포넌트 분리의 장단점
4.3 리뷰 - 개념 정리
__4.3.1 Order 의존 구조
__4.3.2 포인트 참조와 격벽
__4.3.3 리뷰 기능의 핵심 흐름
· 05장: QnA
5.1 QnA - 요구사항 느끼기
__5.1.1 질문 작성 권한과 정책
__5.1.2 대댓글 구조와 운영 방식
__5.1.3 비공개 기능 설계
__5.1.4 API 설계와 데이터 효율
__5.1.5 답변 주체와 운영 방식
5.2 QnA - 코드 느끼기
__5.2.1 QnA 컨트롤러 구조와 Answer 분리
__5.2.2 QnA 개념 설계 - Question과 Answer의 분리
__5.2.3 QnA 서비스와 findQnA 구현
__5.2.4 CRUD 구현과 리포지터리 직접 사용 패턴
__5.2.5 ReviewService와 QnAService 구조 비교
__5.2.6 QuestionEntity와 AnswerEntity 설계
__5.2.7 설계 검토와 대안적 구조
5.3 QnA - 개념 정리
__5.3.1 QnA 개념 구조
__5.3.2 Product 의존 관계
__5.3.3 개념도 작성 관점 - 테이블 구조 vs. 개념적 관계
· 06장: 찜하기
6.1 찜하기 - 요구사항 느끼기
__6.1.1 상품 변경 시 데이터 처리 정책
__6.1.2 기능 우선순위와 비용 효율
__6.1.3 찜 항목 유효기간 설정
__6.1.4 더블클릭 이슈와 API 설계
__6.1.5 찜하기와 장바구니의 차이
6.2 찜하기 - 코드 느끼기
__6.2.1 컨트롤러 구조와 따닥 이슈
__6.2.2 FavoriteService 구현
__6.2.3 찜 목록 조회와 30일 기준
__6.2.4 addFavorite 구현
__6.2.5 FavoriteEntity와 favoritedAt 설계
__6.2.6 소프트 딜리트와 removeFavorite
6.3 찜하기 - 개념 정리
__6.3.1 의존 관계 단순화와 순환 의존 방지
__6.3.2 단순성 유지의 중요성
__6.3.3 Product 중심 구조와 사용자 생략 이유
· 07장: 포인트
7.1 포인트 - 요구사항 느끼기
__7.1.1 포인트 적립 정책
__7.1.2 포인트 사용과 차감 정책
7.2 포인트 - 코드 느끼기
__7.2.1 PointController와 주요 개념
__7.2.2 PointService 조회 구현
__7.2.3 PointHandler - earn과 deduct
__7.2.4 포인트 적립과 차감 호출 시점
__7.2.5 낙관적 락과 초기 잔액 전제
__7.2.6 PointAmount와 PaymentService 연동
7.3 포인트 - 개념 정리
__7.3.1 PointBalance와 PointHistory의 역할
· 08장: 쿠폰
8.1 쿠폰 - 요구사항 느끼기
__8.1.1 쿠폰 개념의 재정의 - 쿠폰과 소유 쿠폰
__8.1.2 유효기간·발급 정책·할인 방식
__8.1.3 쿠폰 사용 정책과 결제 연계
__8.1.4 현재 규모에 맞는 설계 수준
8.2 쿠폰 - 코드 느끼기
__8.2.1 CouponTargetEntity와 타깃 조회
__8.2.2 쿠폰 다운로드와 OwnedCoupon
__8.2.3 download의 책임 소재 - CouponService vs. OwnedCouponService
__8.2.4 중복 다운로드 처리와 개선 방향
__8.2.5 OwnedCoupon 조회와 엔티티 설계
__8.2.6 쿠폰 정보 변경 시 스냅샷 전략
8.3 쿠폰 - 개념 정리
__8.3.1 Coupon과 OwnedCoupon 구분
__8.3.2 OwnedCoupon의 계층적 위치
· 09장: 장바구니
9.1 장바구니 - 요구사항 느끼기
__9.1.1 유효기간·가격 변경·수량 관리 정책
__9.1.2 주문 연결 흐름과 다중 상품 처리
__9.1.3 가격 계산 및 수량 변경 API 설계
__9.1.4 재고 관리 연계 여부
9.2 장바구니 - 코드 느끼기
__9.2.1 CartController와 Cart·CartItem 개념
__9.2.2 CartService getCart와 논리적 카트
__9.2.3 addCartItem과 소프트 딜리트 재활용
__9.2.4 수량 수정과 삭제 처리
9.3 장바구니 - 개념 정리
__9.3.1 Cart와 CartItem의 관계
__9.3.2 현실 구조를 활용한 개념 설계
__9.3.3 다중 카트 구조의 확장 가능성
· 10장: 주문
10.1 주문 - 요구사항 느끼기
__10.1.1 쿠폰·포인트 적용 정책
__10.1.2 다중 셀러 확장 가능성
__10.1.3 재고 확인 시점
__10.1.4 주문 데이터 저장 시점
__10.1.5 주문 생성 경로 단순화
10.2 주문 - 코드 느끼기
10.3 주문 - 개념 정리
__10.3.1 격벽과 의존성 최소화
__10.3.2 반복적 개념도 접근법
__10.3.3 Cart vs Product 우선순위
__10.3.4 현실 세계를 통한 설계 검증
· 11장: 결제
11.1 결제 - 요구사항 느끼기
__11.1.1 결제와 PG사 연동 구조
__11.1.2 타임아웃과 예외 처리 설계
__11.1.3 결제 실패 시나리오와 재시도 처리
11.2 결제 - 코드 느끼기
__11.2.1 PaymentController와 API 구조
__11.2.2 결제 생성과 PaymentDiscount
__11.2.3 PaymentService의 createPayment와 중복 결제 방지
__11.2.4 paidAmount와 0원 결제 처리
__11.2.5 콜백 성공 처리와 주문 검증
__11.2.6 PG 승인 API 호출과 결제 완료 처리
__11.2.7 트랜잭션 히스토리와 주문 중심 설계
__11.2.8 PG 승인 이후 예외 처리 주의사항
__11.2.9 결제 실패 처리와 상태 전략
11.3 결제 - 개념 정리
__11.3.1 주문 vs 결제 중요도
__11.3.2 트랜잭션 히스토리의 위치
__11.3.3 주문·결제 모듈 분리 원칙
__11.3.4 주문 중심 설계의 확장성
· 12장: 취소
12.1 취소 - 요구사항 느끼기
__12.1.1 취소 정책 확인 항목
__12.1.2 취소 처리 방식과 요구사항 다시 보기
12.2 취소 - 코드 느끼기
__12.2.1 CancelController와 CancelRequest
__12.2.2 CancelService와 PG 취소 흐름
__12.2.3 Payment 상태 미변경과 Order 중심 처리
__12.2.4 CancelEntity 분리 설계
__12.2.5 삽입 방식 vs 업데이트 방식
__12.2.6 데이터 조회 효율과 스캔 범위
__12.2.7 쿠폰·포인트 복원
__12.2.8 취소 설계의 두 가지 핵심 원칙
12.3 취소 - 개념 정리
__12.3.1 Payment와 Cancel의 격벽 여부
__12.3.2 비즈니스 상황에 따른 설계 유연성
· 13장: 정산
13.1 정산 - 요구사항 느끼기
__13.1.1 정산 기준일과 송금 주기
__13.1.2 취소 건 상계 처리
__13.1.3 정산 정책서의 필요성
__13.1.4 수수료율과 슬라이딩 방식
__13.1.5 정산 업무와 개발자의 역할
13.2 정산 - 코드 느끼기
__13.2.1 SettlementBatchController와 배치 구성
__13.2.2 loadTargets와 테이블 분리의 이점
__13.2.3 SettlementTargetLoader와 가맹점 매핑
__13.2.4 시간 기반 배치의 한계와 전략
__13.2.5 calculate 배치와 SettlementCalculator
__13.2.6 transfer 배치와 상계 처리
__13.2.7 배치 분리의 안정성과 디버깅 이점
13.3 정산 - 개념 정리
__13.3.1 SettlementTarget과 격벽 구조
__13.3.2 전처리 계층으로서의 SettlementTarget
__13.3.3 Transfer(지급) 미구현 처리
· 14장: 전체 개념 정리
__14.1.1 전체 개념도 분석
__14.1.2 1안: 상품 기준·주문 기준 분리
__14.1.3 2안: 내부·외부 영역 분리
__14.1.4 3안: 영역과 선형 전략
마무리 그리고 다음 스텝에 대하여
예비 개발자분들에게 드리는 말
저자 소개
저자 : 김재민
임베디드, SI, 솔루션 등 다양한 분야의 개발을 경험한 뒤 여러 스타트업을 거쳐 레진엔터테인먼트와 우아한형제들에서 서버 개발자로 근무했다. 이후 토스 서버 개발자로 합류해 토스페이먼츠 기술 이사까지 역임했다. 현재 유튜브 채널 '제미니의 개발실무'를 운영하며 개발 현장에서 쌓은 경험과 실무 지식을 공유하고 있다.
저자 소개 더보기
출판사 서평 더보기
출판사 서평
* 이 책에서 다루는 내용 *

· 요구사항의 맥락을 파악하고 더 나은 질문을 찾아내는 방법
· 요구사항이 코드로 구현되는 과정과 선택의 근거를 살펴보는 방법
· 요구사항을 구현하는 여러 방법과 각 선택에 따르는 트레이드오프
· 핵심 개념을 통해 지금 만들고 있는 소프트웨어의 구조와 흐름을 느끼는 방법
· 작성된 코드를 되짚으며 설계 의도와 구현 과정을 정리하는 방법
· 상품 목록과 상품 상세 기능의 모델링 및 구현
· 리뷰와 Q&A, 찜하기 기능의 설계
· 포인트와 쿠폰의 정책 및 데이터 처리
· 장바구니와 주문 흐름의 구현
· 결제와 취소 과정에서 고려해야 할 사항
· 커머스 정산의 기본 구조와 설계
리뷰(0)
0 / 5.0
리뷰 작성
•
리뷰를 작성하시면 소정의 적립금을 드립니다.
•
도서의 첫번째 리뷰부터 10번째 리뷰까지는 기본 적립금의 2배를 적립해 드리며, 이후 리뷰부터는 기본 적립금이 적립됩니다.
리뷰 혜택 및 유의사항
배송방법

배송은 CJ대한통운(전화 : 1588-1255)을 이용해서 보내드리고 있습니다.

3만원 이상 구매시 무료배송 가능하며, 3만원 미만의 경우 2500원의 배송비가 발생합니다.

배송기간

15시 이전에 입금확인된 주문까지는 당일날 발송하며, 일반적인 경우 다음날 책을 받아보실 수 있습니다.

주말 또는 공휴일이 있거나 시기적으로 배송이 많은 기간인 경우는 지역에 따라 1~2일이 더 소요될 수 있습니다.

주문 후, 5일이 경과해도 책이 도착하지 않는 경우에는 웬디북 고객센터(전화 : 1800-9785)로 전화를 주시거나 고객센터 > 1:1 문의를 통해 문의글을 남겨주시면 확인 후 신속히 조치하도록 하겠습니다.

묶음배송

묶음배송 원하시는 모든 주문서의 상태가 "입금대기" 또는 "결제완료" 상태일 경우에만 처리가 가능하며, 고객센터 > 1:1 문의에서 신청 할 수 있습니다.

반품안내

변심반품의 경우 도서주문일로부터 15일이내에 반품접수가 가능하며, 반품 배송비는 고객님 부담입니다.

부분 반품의 경우, 3만원 이상 주문으로 무료배송 받았으나 일부 상품 반품으로 주문금액이 3만원이 안될 경우, 이전 주문의 배송비를 포함한 왕복 배송비를 부담하셔야 합니다.

반품절차는 고객센터의 반품교환신청 페이지에서 신청을 해주시면 웬디북 고객센터에서 지정택배사에 회수요청을 하고, 방문한 택배기사님을 통해 반품도서를 보내주시면 됩니다.

운송 중 책이 손상되지 않도록 포장을 해주신 후, 포장 겉면에 “반품도서”라고 기재해주시기 바랍니다. 회수된 상품은 요청해주신 환불방법에 따라 적립 또는 환불 진행해드립니다.

(특히 팝업북 등은 조그만 충격에도 책이 손상될 수 있으므로 주의해 주시기 바랍니다.)

• 반품이 불가한 경우
  • 1. 고객에게 책임 있는 사유로 상품(띠지 또는 더스트커버 포함)이 멸실 또는 훼손된 경우
  • 2. CD 나 소프트웨어 포함, 포장이 되어 있는 모든 상품의 포장 개봉
  • 3. 만화책 및 단시간 내에 완독이 가능한 잡지
  • 4. 상품과 함께 발송된 추가사은품이 분실되거나 훼손된 경우
  • 5. 고객의 사용 또는 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
  • 6. 명시된 반품가능 기한이 지난 경우
  • 7. 세트상품중 일부 반품
교환안내

파본도서 혹은 오배송으로인한 교환은 도서주문일로부터 15일 이내에 신청하셔야 하며 이 경우 배송비는 웬디북에서 부담합니다.

(단, 팝업북과 CD가 세트인 책은 책의 특성상 7일 이내에 해주셔야 합니다.)

교환절차는 고객센터의 반품교환신청 페이지에서 신청을 해주시면 웬디북에서 새 책을 보내드리고 새 책을 받으실 때 교환도서와 맞교환 하시면 됩니다.

교환은 동일도서에 한하며, 다른 도서로 교환은 불가합니다.

운송도중 책이 손상되지 않도록 포장을 해주신 후, 포장 겉면에 “반품도서”라고 기재해주시기 바랍니다.

(특히 팝업북 등은 조그만 충격에도 책이 손상될 수 있으므로 주의해 주시기 바랍니다.)

• 교환이 불가한 경우
  • 1. 고객에게 책임 있는 사유로 상품이 멸실 또는 훼손된 경우
  • 2. 포장 상품의 포장을 해체한 경우
  • 3. 고객의 사용 또는 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
  • 4. 물품 수령 후, 15일이 경과한 경우
  • 5. 동일상품으로 교환하신 후, 다시 교환하시고자 할 경우 (이 경우에는 환불처리 해드립니다.)
신고하기
신고사유 선택
도서 입고 알림 신청
입고알림 신청하셨습니다.
입고시 {{tel}}로 문자 발송됩니다

바로 확인 하시겠습니까?
예

휴대폰 번호, 이메일 주소는

마이 페이지 > 회원정보수정에서 확인해 주세요.

관심 시리즈 신간 알림 신청
시리즈명:{{ series_name }}
관심 시리즈 신간 입고 알림 신청하셨습니다.
입고시 {{ tel }}로 문자 발송 또는
앱푸시, 이메일 등으로 알려드리겠습니다.

바로 확인 하시겠습니까?
예

휴대폰 번호, 이메일 주소는

마이 페이지 > 회원정보수정에서 확인해 주세요.

입고 알림 수신 방법 변경은

마이 페이지 > 알림 > 알림 설정에서 확인해 주세요.

푸시 알림이 오지 않을 시,

스마트폰 설정 > 알림 > 웬디북 앱 설정을 확인해 주세요

관심 작가 신간 알림 신청
작가명:{{ series_name }}
관심 작가 신간 입고 알림 신청하셨습니다.
입고시 {{ tel }}로 문자 발송 또는
앱푸시, 이메일 등으로 알려드리겠습니다.

바로 확인 하시겠습니까?
예

휴대폰 번호, 이메일 주소는

마이 페이지 > 회원정보수정에서 확인해 주세요.

입고 알림 수신 방법 변경은

마이 페이지 > 알림 > 알림 설정에서 확인해 주세요.

푸시 알림이 오지 않을 시,

스마트폰 설정 > 알림 > 웬디북 앱 설정을 확인해 주세요

{{title}}
{{content}}
{{title}}
{{content}}