홈 > 부모님 > 부모님 > 소설,일반 > 컴퓨터,모바일
헤드 퍼스트 소프트웨어 아키텍처  이미지

헤드 퍼스트 소프트웨어 아키텍처
효과적인 시스템 설계를 위한 사고법, 연습문제 50개 수록
한빛미디어 | 부모님 | 2025.09.19
  • 정가
  • 37,000원
  • 판매가
  • 33,300원 (10% 할인)
  • S포인트
  • 1,850P (5% 적립)
  • 상세정보
  • 20.3x24.5 | 0.927Kg | 488p
  • ISBN
  • 9791169213929
  • 배송비
  • 2만원 이상 구매시 무료배송 (제주 5만원 이상) ?
    배송비 안내
    전집 구매시
    주문하신 상품의 전집이 있는 경우 무료배송입니다.(전집 구매 또는 전집 + 단품 구매 시)
    단품(단행본, DVD, 음반, 완구) 구매시
    2만원 이상 구매시 무료배송이며, 2만원 미만일 경우 2,000원의 배송비가 부과됩니다.(제주도는 5만원이상 무료배송)
    무료배송으로 표기된 상품
    무료배송으로 표기된 상품일 경우 구매금액과 무관하게 무료 배송입니다.(도서, 산간지역 및 제주도는 제외)
  • 출고일
  • 품절된 상품입니다.
  • ★★★★★
  • 0/5
리뷰 0
리뷰쓰기

구매문의 및 도서상담은 031-944-3966(매장)으로 문의해주세요.
매장전집은 전화 혹은 매장방문만 구입 가능합니다.

  • 도서 소개
  • 출판사 리뷰
  • 작가 소개
  • 목차
  • 회원 리뷰

  도서 소개

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

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

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

  출판사 리뷰

소프트웨어 아키텍처의 핵심 원리를 배우는 입문서!
소프트웨어 아키텍처는 단순한 설계 기술이 아니라 시스템의 성공을 좌우하는 핵심 사고 방식이다. 이 책은 건축과 아키텍처의 비유에서 출발해 아키텍처 특성, 의사결정, 컴포넌트, 아키텍처 스타일까지 단계적으로 풀어내며, 복잡한 개념을 독자가 직접 이해하고 적용할 수 있도록 돕는다.
레이어드 아키텍처, 모듈러 모놀리스, 마이크로서비스, 이벤트 기반 아키텍처 등 다양한 스타일을 실제 사례와 함께 비교하며, 각 방식의 장점과 한계를 균형 있게 제시한다. 또한 [난&팝], [트립이지], [고잉 그린] 같은 스토리 기반 프로젝트를 통해 독자가 실제 아키텍트로 참여하듯 학습할 수 있게 구성했다. 단순히 이론을 나열하는 것이 아니라, ‘왜 이런 결정을 내려야 하는가’를 끊임없이 묻고 답하게 함으로써 아키텍처적 사고를 훈련한다.
이 책은 코드를 작성하는 개발자에서 시스템을 설계하는 아키텍트까지, 모든 소프트웨어 엔지니어가 한 단계 성장할 수 있는 지도를 제공한다. 기술을 외우는 책이 아니라, 더 나은 시스템을 만들기 위한 질문과 선택의 과정을 안내하는 책이다.

아키텍처적 사고를 훈련하는 실전 가이드
소프트웨어 아키텍처는 종종 추상적이고 멀게 느껴지지만, 실제로는 모든 시스템 개발의 토대가 됩니다. 이 책은 복잡한 개념을 단순화해 설명하면서도, 실무자가 반드시 알아야 할 핵심을 놓치지 않았습니다.
특히 건축 설계와의 비유를 통해 아키텍처 사고방식을 쉽게 이해할 수 있도록 했고, 다양한 아키텍처 스타일을 실제 프로젝트 스토리와 연결해 학습자가 몰입할 수 있는 구조로 풀어냈습니다. 아키텍처 특성 정의, 트레이드오프 분석, 아키텍처 결정 기록(ADR) 등 실무에서 당장 활용할 수 있는 방법론을 체계적으로 다루는 점은 이 책의 큰 강점입니다.
이 책은 초보 개발자에게는 아키텍처의 큰 그림을 그릴 수 있는 나침반이 되고, 경험 많은 엔지니어에게는 자신의 의사결정 과정을 점검하고 확장할 수 있는 참고서가 될 것입니다.

  작가 소개

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

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

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

  목차

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 카타로 아키텍처 연습하기
카타를 수행하는 방법

  회원리뷰

리뷰쓰기