메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

대여 가능

전자책

종이책

헤드 퍼스트 소프트웨어 아키텍처

효과적인 시스템 설계를 위한 사고법

  • 저자라주 간디 , 마크 리처드 , 닐 포드
  • 번역유동환 , 최영수
  • 출간2025-09-22
  • 페이지488 쪽
  • eISBN9791169219853
  • 물류코드11985
  • 난이도
    초급 초중급 중급 중고급 고급
0점 (0명)
좋아요 : 0

소프트웨어 아키텍처의 핵심 원리를 배우는 입문서!


소프트웨어 아키텍처는 단순한 설계 기술이 아니라 시스템의 성공을  좌우하는 핵심 사고 방식이다. 이 책은 건축과 아키텍처의 비유에서 출발해 아키텍처 특성, 의사결정, 컴포넌트, 아키텍처 스타일까지 단계적으로 풀어내며, 복잡한 개념을 독자가 직접 이해하고 적용할 수 있도록 돕는다.
 

레이어드 아키텍처, 모듈러 모놀리스, 마이크로서비스, 이벤트 기반 아키텍처 등 다양한 스타일을 실제 사례와 함께 비교하며, 각 방식의 장점과 한계를 균형 있게 제시한다. 또한 [난&팝], [트립이지], [고잉 그린] 같은 스토리 기반 프로젝트를 통해 독자가 실제 아키텍트로 참여하듯 학습할 수 있게 구성했다. 단순히 이론을 나열하는 것이 아니라, ‘왜 이런 결정을 내려야 하는가’를 끊임없이 묻고 답하게 함으로써 아키텍처적 사고를 훈련한다.
 

이 책은 코드를 작성하는 개발자에서 시스템을 설계하는 아키텍트까지, 모든 소프트웨어 엔지니어가 한 단계 성장할 수 있는 지도를 제공한다. 기술을 외우는 책이 아니라, 더 나은 시스템을 만들기 위한 질문과 선택의 과정을 안내하는 책이다.

 

라주 간디 저자

라주 간디

라주는 아키텍트이자 컨설턴트, 저자, 교사로 전 세계의 컨퍼런스에서 정기적으로 초청받는 연사입니다. 그는 매사를 간단하게 유지해야 한다고 믿으며, 항상 ‘어떻게’보다는 ‘왜’를 이해하고 설명하는 접근 방식을 취합니다.

마크 리처드 저자

마크 리처드

마크는 경험이 풍부한 실무 소프트웨어 아키텍트이자, 개발자가 소프트웨어 아키텍트가 되는 여정을 돕는 무료 웹사이트 ‘DeveloperToArchitect.com’ 의 창립자입니다. 그는 1983년부터 소프트웨어 산업에 종사해 왔으며, 애플리케이션, 통합 및 엔터프라이즈 아키텍처에 대한 상당한 경험과 전문성을 보유하고 있습니다.

닐 포드 저자

닐 포드

닐은 종단 간 소프트웨어 개발과 배포를 전문으로하는 글로벌 IT 컨설팅 회사 ‘ThoughtWorks’의 이사이자 소프트웨어 아키텍트, 밈 랭글러(meme wrangler)입니다. 또한 그는 많은 애플리케이션, 기사, 비디오 프레젠테이션의 설계자이자 개발자입니다.
유동환 역자

유동환

책 쓰는 프로그래머로 연세대학교 정보대학원에서 경영정보학을 전공한 후 LG전자에서 안드로이드 앱을 개발했습니다. 자바 카페와 한국자바개발자협의회(JCO)에서 초기 멤버로 수년간 활동했습니다.

 

최영수 역자

최영수

LG전자 webOS 웹 엔진 아키텍트로 활동하며 BlinkOn 등 국제 무대에서 Chromium 관련 발표를 진행했습니다.

Chapter 00 들어가며 | 이 책을 읽는 방법

_이 책의 독자
_이 책이 이렇게 된 이유
_이 책의 구성
_여러분의 두뇌를 정복하는 방법
_일러두기 
_테크니컬 리뷰어
_감사의 글

 

Chapter 01 소프트웨어 아키텍처 쉽게 이해하기 | 시작하기
_건축 계획과 소프트웨어 아키텍처
_소프트웨어 아키텍처 차원들
_차원들의 퍼즐 맞추기
_첫 번째 차원: 아키텍처 특성
_두 번째 차원: 아키텍처 결정
_세 번째 차원: 논리적 컴포넌트
_네 번째 차원: 아키텍처 스타일
_설계 관점
_아키텍처 관점
_아키텍처와 설계 사이
_여러분이 내린 결정은 스펙트럼에서 어디에 위치하나요?
_전략적 vs. 전술적
_높은 수준 vs. 낮은 수준의 노력
_중대한 vs. 덜 중대한 트레이드오프
_모두 합하기
_해냈습니다!

 

Chapter 02 아키텍처 특성 | 네 역량을 알라
_래프터 유발하기
_아키텍처 특성은 무엇인가요?
_아키텍처 특성 정의하기
_아키텍처 특성은 비도메인 설계 고려사항을 명시한다
_아키텍처 특성은 아키텍처 구조에 영향을 준다
_오버엔지니어링을 막기 위해 아키텍처 특성을 제한한다
_명시적과 암묵적 기능을 고려하세요
_’~성’의 국제 동물원
_프로세스 아키텍처 특성
_구조적 아키텍처 특성
_운영 아키텍처 특성
_아키텍처 공통 특성
_문제 도메인에서 아키텍처 특성 찾기
_환경 인식을 통해 아키텍처 특성 도출하기
_전체적인 도메인 지식을 활용하여 아키텍처 특성 도출하기
_복합 아키텍처 특성
_우선순위는 맥락을 따릅니다
_해석에 빠지다
_아키텍처 특성과 논리적 컴포넌트
_도메인 고려사항과 아키텍처 특성 사이에서 균형 잡기
_아키텍처 특성의 개수 제한하기

 

Chapter 03 소프트웨어 아키텍처의 두 가지 법칙 | 모든 것은 트레이드오프다
_스니커즈 앱으로 시작합니다
_지금까지 무엇을 알았나요?
_하위 서비스와 통신하기
_트레이드오프 분석하기
_트레이드오프 분석: 큐
_트레이드오프 분석: 토픽
_소프트웨어 아키텍처의 제1법칙
_항상 트레이드오프로 돌아옵니다
_아키텍처 결정하기
_아키텍처를 결정하는 다른 요소는 무엇인가요?
_소프트웨어 아키텍처의 제2법칙
_아키텍처 결정 기록(ADR)
_ADR 작성하기: 올바른 제목 선택하기
_ADR 작성하기: 여러분의 상태는?
_ADR 작성하기: 맥락 설정하기
_ADR 작성하기: 결정 전달하기
_ADR 작성하기: 결과 고려하기
_ADR 작성하기: 거버넌스 보장하기
_ADR 작성하기: 노트로 마무리하기
_ADR의 이점
_[투 매니 스니커즈]는 성공했다

 

Chapter 04 논리적 컴포넌트 | 구성 요소
_논리적 컴포넌트 다시 보기
_모험적인 경매가 온라인으로 진행됩니다
_논리적 아키텍처 vs. 물리적 아키텍처
_논리적 아키텍처 만들기
_1단계: 초기 핵심 컴포넌트 식별하기
_워크플로우 접근법
_액터/액션 접근법
_엔티티 함정
_2단계: 요구사항을 컴포넌트에 할당하기
_3단계: 역할과 책임 분석하기
_응집력 유지하기
_4단계: 아키텍처 특성 분석하기
_입찰 수집 컴포넌트
_컴포넌트 결합
_내부 결합
_외부 결합
_결합도 측정
_강하게 결합된 시스템
_디미터의 법칙 적용하기
_균형 잡기
_컴포넌트에 대한 마무리

 

Chapter 05 아키텍처 스타일 | 분류와 철학
_아키텍처 스타일은 정말 다양합니다
_아키텍처 스타일의 세계
_기술 관점 vs. 도메인 관점
_배포 모델: 모놀리식 vs. 분산
_모놀리식 배포 모델: 장점
_모놀리식 배포 모델: 단점
_분산 배포 모델: 장점
_분산 배포 모델: 단점
_이제 마무리입니다!

 

Chapter 06 레이어드 아키텍처 | 관심사 분리하기
_[난&팝]: 신생 레스토랑 요구사항 정리하기
_『헤드 퍼스트 디자인 패턴(개정판)』 다시 읽기
_MVC 레이어화
_레이어링하기
_레이어를 코드로 변환하기
_도메인, 컴포넌트와 레이어들
_레이어드 아키텍처를 선택하는 이유
_레이어, 현실 세계를 만나다: 물리적 아키텍처
_물리적 아키텍처의 트레이드오프
_도메인 변경에 대한 마지막 주의 사항
_레이어드 아키텍처의 슈퍼파워
_레이어드 아키텍처의 크립토나이트
_레이어드 아키텍처 등급표
_마무리하기

 

Chapter 07 모듈러 모놀리스 | 도메인 중심으로 생각하기
_모듈러 모놀리스?
_도메인 변경의 어려움
_왜 모듈러 모놀리스인가요?
_코드를 보여주세요!
_모듈을 모듈러하게
_모듈성을 데이터베이스까지 확장하기
_조인을 주의하기
_모듈러 모놀리스의 슈퍼파워
_모듈러 모놀리스의 크립토나이트
_모듈러 모놀리스 등급표
_[난&팝]에서 피자를 배달합니다!

 

Chapter 08 마이크로커널 아키텍처 | 맞춤형으로 제작하기
_[고잉 그린]의 혜택
_마이크로커널 아키텍처의 두 부분
_‘마이크로커널-성’의 스펙트럼
_기기 평가 서비스 코어
_캡슐화된 플러그인 vs. 분산된 플러그인
_플러그인 통신
_플러그인 계약
_[고잉 그린]이 친환경을 실천하다
_마이크로커널의 슈퍼파워
_마이크로커널의 크립토나이트
_마이크로커널 등급표
_마무리하기

 

Chapter 09 직접 해보기 | [트립이지] 여행 앱
_여행을 더 쉽게 만들기
_[트립이지] 사용자 워크플로우
_아키텍처 계획하기
_아키텍트의 로드맵
_1단계: 아키텍처 특성 식별하기
_2단계: 논리적 컴포넌트 식별하기
_3단계: 아키텍처 스타일 선택하기
_4단계: 여러분의 결정을 문서화하기
_5단계: 아키텍처 다이어그램 그리기
_옳은 답도 틀린 답도 없습니다

 

Chapter 10 마이크로서비스 아키텍처 | 조금씩 단계별로
_몸은 괜찮으세요?
_마이크로서비스란?
_이건 나만의 데이터입니다
_마이크로서비스에서 ‘마이크로’는 얼마나 작은 걸까요?
_세분화 분해 인자
_왜 마이크로서비스를 더 작게 만들어야 할까요?
_세분화 결합 인자
_왜 마이크로서비스를 더 크게 만들어야 할까요?
_모두 균형에 관한 것입니다
_기능 공유하기
_공유 서비스로 코드 재사용하기
_공유 라이브러리로 코드 재사용하기
_워크플로우 관리하기
_오케스트레이션: 마이크로서비스 지휘하기
_코레오그래피: 춤을 춥시다
_마이크로서비스 아키텍처의 슈퍼파워
_마이크로서비스 아키텍처의 크립토나이트
_마이크로서비스 등급표
_마무리하기

 

Chapter 11 이벤트 기반 아키텍처 | 비동기 모험
_너무 느려요
_속도 높이기
_[데어 나일]은 어느 때보다 빠르게 흐릅니다
_이벤트란 무엇인가요?
_이벤트 vs. 메시지
_시작 이벤트와 파생 이벤트
_누구 듣고 있나요?
_비동기 통신
_파이어 앤드 포겟
_비동기가 최고예요
_동기 방식이 최고예요
_데이터베이스 구성
_모놀리식 데이터베이스
_도메인 분할 데이터베이스
_서비스별 데이터베이스
_EDA vs. 마이크로서비스
_하이브리드: 이벤트 기반 마이크로서비스
_이벤트 기반 아키텍처의 슈퍼파워
_이벤트 기반 아키텍처의 크립토나이트
_이벤트 기반 아키텍처 등급표
_모두 모으기
_마무리하기

 

Chapter 12 직접 해보기 | 지식 테스트
_메이크 더 그레이드를 환영합니다
_학생 시험 워크플로우
_아키텍처 계획하기
_아키텍처의 로드맵
_1단계: 아키텍처 특성 식별하기
_2단계: 논리적 컴포넌트 식별하기
_3단계: 아키텍처 스타일 선택하기
_4단계: 여러분의 결정을 문서화하기
_5단계: 아키텍처 다이어그램 그리기
_옳은 답도 틀린 답도 없습니다

 

부록 A: 미처 다루지 못한 것들 | 다루지 못한 여섯 가지 주요 주제
#1 코딩 아키텍트
#2 아키텍트에 대한 기대
#3 아키텍처의 소프트 스킬
#4 다이어그램 기법
#5 지식의 깊이 vs. 넓이
#6 카타로 아키텍처 연습하기
카타를 수행하는 방법

아키텍처적 사고를 훈련하는 실전 가이드
 

소프트웨어 아키텍처는 종종 추상적이고 멀게 느껴지지만, 실제로는 모든 시스템 개발의 토대가 됩니다. 이 책은 복잡한 개념을 단순화해 설명하면서도, 실무자가 반드시 알아야 할 핵심을 놓치지 않았습니다.
 

특히 건축 설계와의 비유를 통해 아키텍처 사고방식을 쉽게 이해할 수 있도록 했고, 다양한 아키텍처 스타일을 실제 프로젝트 스토리와 연결해 학습자가 몰입할 수 있는 구조로 풀어냈습니다. 아키텍처 특성 정의, 트레이드오프 분석, 아키텍처 결정 기록(ADR) 등 실무에서 당장 활용할 수 있는 방법론을 체계적으로 다루는 점은 이 책의 큰 강점입니다.
 

이 책은 초보 개발자에게는 아키텍처의 큰 그림을 그릴 수 있는 나침반이 되고, 경험 많은 엔지니어에게는 자신의 의사결정 과정을 점검하고 확장할 수 있는 참고서가 될 것입니다.

  • 첫번째 리뷰어가 되어주세요.
  • 정가 29,600원
    판매가
    29,600원
    총 결제 금액 29,600원
    dropdown arrow
    • 소장/대여 옵션 선택
    • 소장
    • 365일
      30% 할인
    • 180일
      40% 할인
    • 90일
      50% 할인
    • 30일
      60% 할인

    마이한빛 > MY 콘텐츠에서 웹뷰어로 바로 이용가능한 상품이며 배송되지 않습니다.

    리뷰쓰기

    닫기
    * 상품명 :
    헤드 퍼스트 소프트웨어 아키텍처
    * 제목 :
    * 별점평가
    * 내용 :

    * 리뷰 작성시 유의사항

    글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

    1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
    2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

    오탈자 등록

    닫기
    * 도서명 :
    헤드 퍼스트 소프트웨어 아키텍처
    * 구분 :
    * 상품 버전
    종이책 PDF ePub
    * 페이지 :
    * 위치정보 :
    * 내용 :

    도서 인증

    닫기
    도서명*
    헤드 퍼스트 소프트웨어 아키텍처
    구입처*
    구입일*
    부가기호*
    부가기호 안내

    * 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

    * 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

    * 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

    닫기

    해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
    장바구니로 이동하시겠습니까?