반디앤루니스 인터넷서점

네비게이션 실시간 인기 책

    제미니의 백엔드 개발 실무

    베스트

    제미니의 백엔드 개발 실무 AI 시대에 가장 필요한 개발자의 기술적 사고력

    • 김재민 저
    • 위키북스
    • 2026년 08월 27일
    • 정가
      24,000원
    • 판매가
      21,600원 [10% 할인]
    • 결제 혜택
      무이자
    • 적립금
      1,200원 적립 [5%P]

      NAVER Pay 결제 시 네이버페이 포인트 5% 적립 ?

    • 배송구분
      업체배송(반디북)
    • 배송료
      무료배송
    • 출고예정일

      출고예정일 안내

      ※ 출고예정일은 도서 재고상황에 따라 변동될 수 있습니다.

      close

      2026년 11월 11일(수)

      ※ 출고예정일은 도서 재고상황에 따라 변동될 수 있습니다.

    수량
    회원리뷰
    - [0]
    ISBN: 9791158396954 292쪽 555g 175 x 235 (㎜)

    지금 이책은

    이 분야의 베스트셀러

    이 책이 속한 분야

    이 책은

    커머스 백엔드를 개발하는 과정을 통해 현업 개발자의 기술적 사고법을 전한다. 상품, 리뷰, 포인트, 쿠폰, 주문, 결제, 취소, 정산으로 이어지는 실제 서비스의 요구사항을 살펴보며, 요구사항을 해석하고 코드로 구현한 뒤 핵심 개념을 통해 소프트웨어의 구조와 흐름을 이해하는 과정을 단계적으로 다룬다. 요구사항의 의도를 파악하고, 그것이 코드로 구현되는 과정을 살펴보며, 그 안의 핵심 개념과 설계 의도를 스스로 연결하는 힘을 기르는 데 집중한다.


    출판사 리뷰

    《제미니의 백엔드 개발 실무》는 커머스 백엔드를 개발하는 과정을 통해 현업 개발자의 기술적 사고법을 전한다. 상품, 리뷰, 포인트, 쿠폰, 주문, 결제, 취소, 정산으로 이어지는 실제 서비스의 요구사항을 살펴보며, 요구사항을 해석하고 코드로 구현한 뒤 핵심 개념을 통해 소프트웨어의 구조와 흐름을 이해하는 과정을 단계적으로 다룬다.

    이 책은 정답이나 특정 기술의 사용법만을 알려주는 책이 아니다. 요구사항의 의도를 파악하고, 그것이 코드로 구현되는 과정을 살펴보며, 그 안의 핵심 개념과 설계 의도를 스스로 연결하는 힘을 기르는 데 집중한다. AI가 만든 코드를 받아들이는 개발자를 넘어, AI와 함께 더 나은 결정을 내리는 개발자가 되기 위한 실무 안내서다.

    ★ 이 책에서 다루는 내용 ★

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




    저자 소개

    김재민

    임베디드, SI, 솔루션 등 다양한 분야의 개발을 경험한 뒤 여러 스타트업을 거쳐 레진엔터테인먼트와 우아한형제들에서 서버 개발자로 근무했다. 이후 토스 서버 개발자로 합류해 토스페이먼츠 기술 이사까지 역임했다. 현재 유튜브 채널 '제미니의 개발실무'를 운영하며 개발 현장에서 쌓은 경험과 실무 지식을 공유하고 있다.

    목차


    ▣ 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안: 영역과 선형 전략

    마무리 그리고 다음 스텝에 대하여
    예비 개발자분들에게 드리는 말

    배송 시 유의사항

    - 반디앤루니스에서 구매하신 도서는 물류 대행 위탁업체 웅진 북센을 통해 배송됩니다.
     (배송 포장에 "웅진 북센"으로 표기될 수 있습니다.)

    - 구매한 상품의 품질과 배송 관련 문의는 반디앤루니스로 문의 바랍니다.

    - 천재지변 및 택배사의 사정에 따라 배송이 지연될 수 있습니다.

    - 결제(입금) 완료 후 출판사 및 유통사의 사정으로 품절 또는 절판 되어 상품 구입이 어려울 수 있습니다. (별도 안내 예정)

    - 도서산간지역의 경우 추가 배송비가 발생될 수 있습니다.

    반품/교환

    상품 설명에 반품/ 교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다)

    반품/교환

    반품/교환
    반품/교환 방법 홈 > 고객센터 > 자주찾는질문 “반품/교환/환불” 안내 참고 또는 1:1상담게시판
    반품/교환 가능 기간 반품,교환은 배송완료 후 7일 이내, 상품의 결함 및 계약내용과 다를 경우 문제발견 후 30일 이내에 신청가능
    반품/교환 비용 변심 혹은 구매착오의 경우에만 반송료 고객 부담(별도 지정 택배사 없음)
    반품/교환 불가 사유
    • 소비자의 책임 사유로 상품 등이 손실 또는 훼손된 경우
    • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    • 복제가 가능한 상품 등의 포장을 훼손한 경우 : 예)만화책, 잡지, 화보집 등
    • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
    • 전자상거래등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
    • 해외주문 상품(해외 원서)의 경우(파본/훼손/오발송 상품을 제외)
    소비자 피해보상
    환불지연에 따른 배상
    • 상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
      소비자 분쟁해결 기준(공정거래위원회고시)에 준하여 처리됨
    • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
      소비자 보호에 관한 법률에 따라 처리함
    반품/교환 주소 경기도 파주시 문발로 77, 웅진북센(반디앤루니스)
    • 회사명 : (주)서울문고
    • 대표이사 : 김홍구
    • 개인정보 보호책임자 : 김홍구
    • E-mail : bandi_cs@bnl.co.kr
    • 소재지 : (06168) 서울 강남구 삼성로 96길 6
    • 사업자 등록번호 : 120-81-02543
    • 통신판매업 신고번호 : 제2023-서울강남-03728호
    • 물류센터 : (10881) 경기도 파주시 문발로 77 반디앤루니스
    copyright (c) 2016 BANDI&LUNI'S All Rights Reserved