대규모 C++ 1편 : 절차와 아키텍처
2024년 01월 17일 출간
국내도서 : 2023년 12월 28일 출간
- eBook 상품 정보
- 파일 정보 ePUB (70.58MB)
- ISBN 9791140708284
- 지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
-
교보eBook App
듣기(TTS) 가능
TTS 란?텍스트를 음성으로 읽어주는 기술입니다.
- 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를 읽을 수 있습니다.
- 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
쿠폰적용가 54,000원
10% 할인 | 5%P 적립이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.
카드&결제 혜택
- 5만원 이상 구매 시 추가 2,000P
- 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
- 리뷰 작성 시, e교환권 추가 최대 200원
작품소개
이 상품이 속한 분야
인기 있는 책들은 이상적인 모델을 설명한다.
그들은 실제 대규모 시스템을 운영하고 있지 않다.
진짜 대규모 시스템을 30여 년 가까이 운영하는 저자의 설계론!
당신이 오늘 작성하는 코드는 레거시이고, 내일 작성하는 코드는 모던 코드인가? 차세대 프로젝트가 나오면 사라져야 하는 레거시 코드인가? 소모적인 코드 갈아엎기 대신 소프트웨어 자산으로 축적하고 성장하는 방법은 없을까?
개발자는 책으로 공부한다. 책에서 설명하는 이론적인 방법을 신봉하고야 만다. 그러나 소프트웨어는 복잡하다. 복잡한 현실 세계를 소프트웨어로 담아내다 보면 이상적인 이론은 무너지고 만다. 이론을 넘어 물리적인 세계에 실제로 적용할 수 있는 아키텍처를 배워보자.
__0.1 목표: 더 빨리, 더 좋게, 더 싸게!
__0.2 애플리케이션 vs 라이브러리
__0.3 뒤엉킨 협업 vs 재사용 가능한 소프트웨어
__0.4 계층적 재사용 소프트웨어
__0.5 소프트웨어의 가변성 vs 안정성
__0.6 물리적 설계의 핵심 역할
__0.7 물리적으로 균일한 소프트웨어: 컴포넌트
__0.8 계층적 재사용의 정량화: 비유
__0.9 소프트웨어 자산
__0.10 투자의 확대
__0.11 주의/경계의 필요성
__0.12 요약
1장 컴파일러, 링커 그리고 컴포넌트
__1.1 아는 것이 힘이다: “악마는 디테일에 있다”
__1.2 C++ 컴파일과 링킹
__1.3 선언, 정의, 링키지
__1.4 헤더 파일
__1.5 인클루드 지시자와 인클루드 가드
__1.6 단순한 .h/.cpp 쌍에서 컴포넌트로
__1.7 표기법과 용어
__1.8 종속 관계
__1.9 암시된 종속성
__1.10 계층 번호
__1.11 실제 종속성 추출
__1.12 요약
2장 패키징과 설계 규칙
__2.1 큰 그림
__2.2 물리적 연합
__2.3 논리적/물리적 일관성
__2.4 논리적 이름, 물리적 이름의 응집성
__2.5 컴포넌트 소스 코드의 조직화
__2.6 컴포넌트 설계 규칙
__2.7 컴포넌트 private 클래스와 하위 컴포넌트
__2.8 패키지
__2.9 패키지 그룹
__2.10 패키지와 패키지 그룹의 네이밍
__2.11 부속 패키지
__2.12 레거시, 오픈 소스, 서드 파티 소프트웨어
__2.13 애플리케이션
__2.14 계층적 테스트 가능성
__2.15 개발에서 배포까지
__2.16 메타데이터
__2.17 요약
3장 물리적 설계와 인수분해
__3.1 물리적으로 생각하기
__3.2 부실한 물리적 모듈화 피하기
__3.3 논리적으로 묶인 것을 물리적으로 묶기
__3.4 링크 타임 순환 종속성 피하기
__3.5 계층화 테크닉
__3.6 과도한 링크 타임 종속성 피하기
__3.7 수평적 아키텍처와 수직적 아키텍처(레이어링)
__3.8 부적절한 링크 타임 종속성 피하기
__3.9 물리적 상호운용성의 확보
__3.10 불필요한 컴파일 타임 종속성 피하기
__3.11 아키텍처적 격리 테크닉
__3.12 컴포넌트 기반 설계
__3.13 요약
__3.14 결론
부록 퀵 레퍼런스
A.1 정의
A.2 따름정리
A.3 설계 필수 요건
A.4 설계 규칙
A.5 가이드라인
A.6 관찰
작가정보
저자(글) 존 레이코스 저자, 권오인 번역
1996년에 출판한 『Large-Scale C++ Software Design』(Addison-Wesley, 1996)의 저자이며 현재는 뉴욕 시의 블룸버그 LP에서 선임 아키텍트로 근무하고 있으며 C++ 소프트웨어 개발 분야에서 세계적으로 잘 알려진 멘토로 활동하고 있다. 2001년에는 블룸버그의 BDE 그룹을 설립하고 자신의 컴포넌트 기반 방법론, 프로세스 및 아키텍처를 사용하여 최상급의 재사용 가능한 C++ 소프트웨어를 개발하고 있다. 존 레이코스는 ACCU, C++Now, CppCon, Meeting C++ 같은 저명한 전문 콘퍼런스에 항상 연사로 참여하고 있다. 또한, 2006년부터 C++ 표준 위원회의 투표 회원으로 참여하여 C++11 값 시멘틱, C++17 PMR 메모리 할당자, C++20 모듈 등 여러 세대에 걸쳐 C++를 발전시키는 데 기여했다. 1996년에 출간한 그의 책은 업계에 많은 영향을 줬으며 지금까지도 C++에서 대규모 시스템을 디자인하는 데 있어 첫 번째이자, 현재까지도 유일하고도 명확한 참고 자료였다./아르바이트, 창업, 벤처를 거쳐 잠시 생뚱맞게 이동 통신사 연구소에서 사업 기획을 하다가 현재 대형 제조사에서 시스템 소프트웨어 개발을 하고 있다. 공대생의 로망인 메카닉 제어 펌웨어 개발이 첫 시작이었으나, 생계를 꾸리다 보니 본의 아니게 웹 서비스, 모바일 앱까지 버티컬한 소프트웨어 스택 전체와 부딪히고 있다. 저서로는 《전문가를 위한 C++ 1(한빛미디어》, 《전문가를 위한 C++ 2(한빛미디어》가 있다.
작가의 말
[역자 서문]
10여 명에서 2,000여 명에 이르는 다양한 규모의 소프트웨어 개발 조직에서 개발자로 또는 관리자로 일을 해오고 있습니다. 수십 또는 수백 명 수준의 서드 파티 업체에 외주 과제를 주기도 하고 사내 해외 연구소와 개발 업무를 나눠서 해보기도 했습니다. 업종 또한 반도체 장비, 웹 솔루션에서부터 일반 소비자용 전자제품까지 다양했습니다.
한 가지 공통된 현상으로, 개발자가 늘어날수록 조직의 커지는 기대와 달리 생산성은 오히려 떨어지는 문제가 있었습니다. 경험적으로 개발자가 20~30여 명을 넘어가면 뭔가 다른 법칙이 적용되기 시작합니다. 개발자가 많아진 만큼 더 많은 기능과 더 복잡한 소프트웨어를 개발할 수 있어야 하는데, 이상하게도 일상적인 유지보수만으로도 벅차기 시작합니다. 며칠이면 충분했을 작업이 몇 주씩 걸리기 시작하고, QA를 아무리 거쳐도 비슷한 고객 문제가 반복해서 발생합니다. 소모적인 야근과 휴일 근무에 지쳐가는 것뿐만 아니라 개발자들 간의 책임소재 갈등도 심화됩니다. 그리고 많은 개발자가 투입되는 큰 과제는 기획하는 것 자체가 무서워집니다.
이런 고민들을 하고 있을 때 이 책의 저자인 존 레이코스를 CppCon 세미나로 처음 만났습니다. 아쉽게도 세미나로 전달된 내용은 당연하고 좋은 말만 있을 뿐 그의 유명세에 비해 알맹이가 부족했습니다. 한동안 잊고 지내다가 나중에 그의 저서, 바로 이 책을 보고 생각이 완전히 달라졌습니다. 왜 한 시간짜리 세미나에서는 그 정도로밖에 얘기될 수 없었는지 이해되었습니다. 수십 년에 걸친 경험과 고민, 실전 대책을 각각의 구체적인 배경 맥락 아래에서 코드 수준으로 음미해야만 전달할 수 있는 내용들이었습니다.
이 책은 월스트리트 금융 소프트웨어 개발의 실전 경험을 바탕으로 합니다. 금융 상품의 빠른 변화에 대응하면서도 천문학적인 금융거래에 요구되는 고도의 신뢰성을 갖추고, 금융사 간 경쟁을 위한 최고 성능까지 필요한 터프한 환경에서의 경험이 담겨 있습니다. 저자의 스타일상 다소 호흡이 긴 문장과 중언부언이 있지만, 20여 년이 넘는 경험을 체계적으로 정리했다는 것은 이 책의 가장 큰 강점입니다. 이론적인 이상향만 다루는 여타의 소프트웨어 디자인 서적에서 목마름을 느꼈다면 이 책은 시원한 사이다입니다.
이 책은 개발자와 팀이 협업하는 방법, 논리적 설계와 물리적 코드 배치의 유기적 연계, 그렇게 해야 하는 내재된 원리, 그리고 언젠가 ‘버리고 싶은 레거시 코드’가 아니라 든든한 소프트웨어 자산을 쌓아가는 방법에 대해 자세히 다루고 있습니다. 이 책을 10년 전에 접했다면 개발자로서의 인생이 꽤 다르게 흘렀을 것이라고 믿습니다.
이제 소프트웨어 개발에 발을 들인 초심자라면 이 책을 통해 소프트웨어 디자인과 협업 방법에 대한 통찰을 얻을 수 있을 것이며, 현업에서 대규모 개발에 어려움을 겪고 있는 개발자나 관리자라면 이 책이 장기적인 돌파구에 대한 구체적인 실마리를 제공해 줄 것으로 기대합니다.
이 상품의 총서
Klover리뷰 (0)
- - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (5,000원 이상 상품으로 변경 예정, 2024년 9월 30일부터 적용)
- - 리워드는 한 상품에 최초 1회만 제공됩니다.
- - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
구매 후 리뷰 작성 시, e교환권 100원 적립
문장수집
- 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
- e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (5,000원 이상 eBook으로 변경 예정, 2024년 9월 30일부터 적용)
- 리워드는 한 상품에 최초 1회만 제공됩니다.
- sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.
구매 후 문장수집 작성 시, e교환권 100원 적립
신규가입 혜택 지급이 완료 되었습니다.
바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!
- 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
- 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
- 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
가장 와 닿는 하나의 키워드를 선택해주세요.
총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.
신고 사유를 선택해주세요.
신고 내용은 이용약관 및 정책에 의해 처리됩니다.
허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
있으니 유의하시어 신중하게 신고해주세요.
이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.
구매 후 90일 이내 작성 시, e교환권 100원 적립
eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.
차감하실 sam이용권을 선택하세요.
차감하실 sam이용권을 선택하세요.
선물하실 sam이용권을 선택하세요.
-
보유 권수 / 선물할 권수0권 / 1권
-
받는사람 이름받는사람 휴대전화
- 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
- 열람권은 1인당 1권씩 선물 가능합니다.
- 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
- 선물한 열람권의 등록유효기간은 14일 입니다.
(상대방이 기한내에 등록하지 않을 경우 소멸됩니다.) - 무제한 이용권일 경우 열람권 선물이 불가합니다.
첫 구매 시 교보e캐시 지급해 드립니다.
- 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
- 한 ID당 최초 1회 지급 / sam 이용권 제외
- 구글바이액션을 통해 교보eBook 구매 이력이 없는 회원 대상
- 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)