• 베스트
  • 소득공제
  • 무료배송

클린 아키텍처 핵심 가이드 - 파이썬으로 구현하는 좋은 소프트웨어 설계를 위한 클린 아키텍처(위키북스IT LEADERS시리즈43)

  • 한승희
  • 위키북스
  • 2026년 01월 12일
사용자 평점
0리뷰 0개
10%25,20028,000원
적립금
1,400원 (5% 적립)
추가 적립 안내
  • 5만원 이상 결제 시 (*배송비 제외)

    정가제FREE(상품/사은품) 금액이
    2,000원 이상이면 2,000원 추가적립

  • 10만원 이상 결제 시 (*배송비 제외)

    정가제FREE(상품/사은품) 금액이
    2,000원 이상이면 2,000원 추가적립

    정가제FREE(상품/사은품) 금액이
    5,000원 이상이면 5,000원 추가적립

회원가입 시 적립금 즉시 지급!

배송비
무료 (해외배송의 경우 지역에 따라 상이)

배송안내

배송비 안내
  • 1만원 이상 주문 시 무료배송 입니다.
  • 주문하신 상품을 해외로 배송 하시는 경우에는 별도의 항공료 가 부과됩니다
서울특별시 강남구 강남대로 542(논현동, 영풍빌딩)
주문 수량 변경시 안내

[주문/배송] 주문 수량 변경 시 안내

주문 수량 변경 시,배송일정이 변경될 수 있으니 반드시 확인해 주시기 바랍니다.
(고객센터 1544-9020)

지금 주문하면 9/10(목) 출고 가능
택배보다 빠른, 나우드림
상품 규격 정보
상품상세정보
ISBNISBN-13 : 9791158396565
쪽수368쪽
크기기타 규격
제품구성단행본
이 책이 속한 분야
  • 컴퓨터/IT > 시스템공학
관련 이벤트

AI추천 이유

책 소개

소프트웨어를 장기간 운영하고 개선하며 유지보수해본 개발자라면 코드 구조화의 중요성을 뼈저리게 느낀다. 동료가 쉽게 이해하고, 테스트가 용이하며, 변경에 강건한 코드는 단순히 기능이 동작하는 수준을 훨씬 넘어선다. 요즘처럼 생성형 AI로 코드를 빠르게 찍어낼 수 있는 시대에도 초기 구현 단계에서는 구조가 다소 느슨해도 동작은 하지만 실제 서비스로 출시하고 수년간 운영하려면 철저한 구조화 없이는 불가능하다.

 

《클린 아키텍처 핵심 가이드》는 장기 유지보수성과 비즈니스 민첩성을 동시에 확보하는 소프트웨어 설계의 본질을 다룬다. 로버트 C. 마틴의 클린 아키텍처를 중심축으로 삼아 이론 설명에 그치지 않고, 실무에서 바로 적용 가능한 풍부한 코드 예제를 제시하며 아키텍처 원칙을 구체적으로 구현하는 방법을 보여준다.

 

이 책을 읽으면 소프트웨어가 단순히 동작하는 코드가 아니라 비즈니스 목표와 요구 속성을 명확히 반영해야 하는 산물이며, 동시에 팀원 간 협업과 소통의 핵심 언어라는 점을 깨닫게 된다. 그동안 추상적으로만 느껴졌던 아키텍처 이론이 실제 코드와 함께 제시되면서 직관적으로 이해되고, 바로 자신의 프로젝트에 적용할 수 있는 수준으로 내면화된다.

 

특히 생성형 AI를 적극 활용하는 현재 개발 환경에서, 왜 개발자가 여전히 구조화를 주도해야 하는지, AI를 단순한 코드 생성기가 아닌 고품질 아키텍처를 만드는 강력한 조력자로 활용하는 방법까지 명확히 제시한다. 이 책은 클린 아키텍처를 배우는 데 그치지 않고, AI 시대에 개발자가 반드시 갖춰야 할 설계 감각과 실무 역량을 한 단계 끌어올리는 실질적인 지침서다.

목차

[목 차]

 

 

01: 좋은 소프트웨어 설계란 무엇이고, 왜 필요한가?

1.1 소프트웨어 아키텍처의 정의

__구조의 결정

__지식 공유

1.2 좋은 소프트웨어 아키텍처의 중요성

__소프트웨어의 상품적 가치

__구조의 우선순위

__변경 가능성의 본질

__비즈니스 관점에서의 가치

__민첩성을 위한 아키텍처의 진화

__미래를 대비한 설계

1.3 아키텍처에 영향을 주는 요소

__기능 요구사항

__제한 요소

__품질 속성

__아키텍처 설계의 기준

1.4 의도를 드러내는 아키텍처

__단순성과 지속성

__일관성의 중요성

__격리와 변경 관리

__살아있는 아키텍처

__변경에 대한 용기

1.5 아키텍처가 개발자에게 주는 영향

__변경의 명확성과 효율성

__개발자의 자신감과 만족도

__팀 협업의 향상

__장기적 생산성

1.6 정리

 

02: 품질 속성

2.1 품질 속성의 정의와 역할

__품질 속성의 정의

__품질 속성의 역할

__정량적 요구사항의 중요성

2.2 품질 속성 시나리오와 예시

__품질 속성 시나리오의 구성

__주요 품질 속성 시나리오 예시

2.3 클린 아키텍처에서 중시하는 품질 속성

__테스트 용이성

__변경 용이성

2.4 품질 속성 간 트레이드오프

2.5 정리

 

03: 소프트웨어 설계를 위한 핵심 개념과 기법

3.1 의존성이란?

3.2 다형성

__다형성의 올바른 활용

3.3 의존성 역전과 주입

3.4 관심사 분리

__관심사의 세 가지 범주

3.5 반드시 객체지향이어야 할까?

__객체지향적 구현

__함수형 프로그래밍 구현

__간단한 모듈 패턴 구현

3.6 정리

 

04: 계층형 설계

4.1 계층형 아키텍처란?

4.1 계층형 아키텍처의 장점

__코드 가독성 향상

__관심사 분리로 수정 용이성 향상

__의존성 관리 용이

4.3 계층형 아키텍처의 구조와 호출 흐름

__구성 요소

__호출 흐름과 의존성 방향

4.4 계층형 아키텍처의 한계와 클린 아키텍처로의 전환 필요성

__데이터베이스 중심 설계

__싱크홀 안티패턴과 코드 중복

__테스트와 외부 요소 변경의 어려움

__비즈니스 로직 표현 부족

4.5 정리

 

05: 클린 아키텍처란?

5.1 클린 아키텍처가 추구하는 것

__외부 요소 분리의 진정한 가치

__변화의 현실을 직시하다

__그런데 왜 하필 외부 요소의 변경에 집중할까?

5.2 클린 아키텍처의 품질 속성과 구현 방법

__테스트 용이성

__변경 용이성

__확장성

__협업과 가독성: 명확한 구조화

5.3 구성요소와 의존성 규칙

__각 계층의 역할과 책임

__의존성 규칙

__의존성 방향과 접근 제어

5.4 경계를 가로지르는 데이터

__호출 흐름과 데이터 정의의 관계

__데이터 정의 위치가 중요한 이유

__DTO 사용 전략

__DTO 설계 시 고려사항

5.5 왜 이해하기 어려웠을까?

__개념 자체의 복잡성

__관점의 혼재

__실전 예제의 부족과 구현 방식의 다양성

__용어의 비일관성

__실용적 접근의 필요성

5.6 정리

 

06: 호출 흐름에 따른 각 구성 요소의 역할

__호출 흐름과 의존 방향의 구분

__호출 흐름의 중요성과 코드 예시의 필요성

__학생 성적 계산 프로그램 예제

6.1 프레임워크

__프레임워크의 호출 흐름 내 역할

__FastAPI를 사용한 프레임워크 구현

__다양한 인터페이스 지원

6.2 컨트롤러

__컨트롤러의 호출 흐름 내 역할

__컨트롤러 구현

__프레임워크와의 연결

__FastAPI 라우터에서 컨트롤러의 역할 수행

6.3 유스케이스

__유스케이스의 호출 흐름 내 역할

__유스케이스 구현

__유스케이스의 핵심 원칙

__추상화와 의존성 주입

__입력 및 출력 인터페이스

__FastAPI 라우터와의 연계

6.4 게이트웨이

__게이트웨이의 호출 흐름 내 역할

__게이트웨이 구현

__게이트웨이의 핵심 원칙

__인터페이스의 위치와 의존성 주입

__데이터 변환의 중요성

__외부 시스템과의 확장성

__게이트웨이 설계 시 고려사항

6.5 외부 요소

__외부 요소의 호출 흐름 내 역할

__코드 예시

__외부 요소의 핵심 원칙

__의존성 주입과의 연계

__ORM을 사용하는 경우

__게이트웨이와 외부 요소의 분리

__호출 흐름에서의 외부 요소

6.6 엔티티

__엔티티의 역할

__코드 예시

__엔티티 내부의 계층화

__유스케이스와의 관계

__엔티티 설계 시 고려사항

6.7 프레젠터

__프레젠터의 구성 요소

__프레젠터와 유스케이스 간 의존성 제어

__뷰 모델과 뷰의 필요성

__구현 예시

__FastAPI를 사용한 웹 애플리케이션 통합

__컨트롤러와 FastAPI 통합

6.8 정리

 

07: 온라인 커피 주문 API 구현

7.1 요구사항 분석

__요구사항 개요

__핵심 유스케이스

__품질 속성

__제약사항

__에러 처리 및 응답 포맷

7.2 연동 규격 정의

__RESTful API 설계 원칙

__API 명세

7.3 디렉터리 구조

__디렉터리 구조의 설계 의도

7.4 CI/CD와 배포

__CI/CD의 중요성

7.5 클린 아키텍처 구현 순서

__1단계: 전체 구조의 뼈대 구현

__2단계: 엔티티 구체화

__3단계: 유스케이스 구체화

__4단계: 저장소 구체화

__5단계: 프레젠터 구체화

7.6 예외 처리

__예외 정의 위치와 의존성

7.7 테스트 전략

__단위 테스트

__API 테스트

7.8 정리

__요구사항 분석과 유스케이스 설계

__클린 아키텍처 기반 코드 작성

__서버리스 배포와 CI/CD

__예외 처리와 테스트 전략

__결론

 

08: 클린 아키텍처로 애자일하게 일하기

8.1 워터폴 방법론이란?

8.2 애자일 방법론이란?

__애자일의 핵심 가치와 원칙

__애자일에 대한 오해와 진실

__애자일 실천 방법

8.3 클린 아키텍처와 애자일 방법론

__클린 아키텍처와의 연관성

__클린 아키텍처가 애자일에 기여하는 방식

__클린 아키텍처를 애자일 환경에 적용할 때의 주의 사항

8.4 온라인 커피 주문 API로 본 애자일 적용 사례

8.5 정리

 

09: 아키텍처 확장하기

9.1 현대 소프트웨어 아키텍처의 도메인 중심 전환

__기술 중심에서 도메인 중심으로의 패러다임 변화

__도메인 중심 접근이 필요한 현실적 이유

9.2 도메인 주도 설계의 본질

__복잡성을 정복하는 설계 철학

__클린 아키텍처와 DDD의 시너지

__전략적 설계와 전술적 설계

9.3 전략적 설계: 비즈니스의 큰 그림 그리기

__도메인 탐구: 비즈니스의 본질 이해하기

__유비쿼터스 언어: 모두가 이해하는 공통 언어 만들기

__바운디드 컨텍스트: 복잡성을 관리하는 경계

__컨텍스트 맵: 경계 간의 관계 정의

9.4 전술적 설계: 도메인 모델의 구현

__엔티티(Entity): 고유한 정체성을 가진 객체

__값 객체(Value Object): 불변의 개념적 완전성

__애그리게이트(Aggregate): 일관성의 경계와 트랜잭션 단위

__도메인 이벤트(Domain Event): 중요한 비즈니스 사건의 기록

__리포지터리(Repository): 도메인 객체의 영속성 관리

9.5 DDD와 클린 아키텍처의 대응 관계

9.6 클린 아키텍처에서의 MVC 패턴 적용

__MVC 패턴의 구성요소

__MVC 동작 흐름

__MVC에서 클린 아키텍처로 변환하려는 니즈

__클린 아키텍처에서의 MVC 매핑

9.7 클린 아키텍처와 헥사고날 아키텍처의 관계

__헥사고날 아키텍처의 주요 구성요소

__클린 아키텍처와 헥사고날 아키텍처의 구성요소 대응 관계

9.8 마이크로서비스 아키텍처로의 진화

__MSA의 기본 개념과 장점

__DDD와 클린 아키텍처의 시너지: MSA로의 자연스러운 확장

__MSA 도입의 도전 과제와 해결책

9.9 정리

 

10: 생성형 AI를 이용한 클린 아키텍처 구현

10.1 AI 시대에 아키텍처 공부가 여전히 필요한 이유

__개발자는 단순히 개발만 하지 않는다

__약은 약사에게, 진료는 의사에게

__책임과 아키텍처 설계의 인간적 역할

10.2 소프트웨어를 설계하고 구현할 때 생성형

__활용하는 방법

__요구사항 분석 단계: 컨텍스트 구축과 유스케이스 식별

__설계 단계: 아키텍처 원칙 적용과 계층별 구성

__구현과 테스트 단계: 코드 생성과 품질 보장

__배포와 유지보수 단계: 지속적 개선

10.3 사례 연구: AI로 구현한 온라인 커피 주문 API

__프롬프트 엔지니어링

__제로샷 프롬프팅

__원샷 프롬프팅 혹은 퓨샷 프롬프팅

__생각의 사슬 프롬프팅

__프롬프트 복잡성과 실용성의 균형

__AI 생성 코드의 품질 관리를 위한 가드레일 도구와 적용

10.4 AI 기반 아키텍처 확장: 기능 추가와 수정

__DynamoDB에서 RDS(MySQL)로의 전환

__API 및 유스케이스 추가하기

10.5 정리

출판사 서평



★ 이 책에서 다루는 내용 ★

 

◎ 좋은 소프트웨어 설계의 본질과 필요성

◎ 설계에 필수적인 소프트웨어 핵심 개념

◎ 클린 아키텍처 이론과 실무 수준의 코드 예제

◎ 실제 애플리케이션 구현 과정을 통해 배우는 설계 원칙 적용 노하우

◎ 도메인 중심 설계 등 현대 소프트웨어 설계 패러다임의 이해

◎ 생성형 AI를 활용한 고품질 소프트웨어 설계 및 개발 기법

저자 소개
저자 : 한승희
도서리뷰 (0)
이 책을 읽고 어떤 느낌을 받으셨나요? 리뷰를 남기고 다른 독자들과 함께 공유해보세요.

등록된 리뷰가 없습니다

첫번째 리뷰어가 되어주세요

교환/반품/환불
반품/교환방법
  • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
  • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
반품/교환 가능기간
  • 변심반품의 경우 수령 후 7일 이내
  • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용
  • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 만화, 잡지, 수험서 및 문제집류
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
상품 품절
  • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

매장에서 사용할 수 있는 바코드가 있어요!