간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (30,780원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (22,680원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (25,920원)
(최대할인 4만원 / 2만원 이상 결제)
Close

25개 애플리케이션으로 배우는 오픈 소스 소프트웨어 아키텍처

원제 : (The)architecture of open source applications
소득공제

2013년 9월 9일 이후 누적수치입니다.

공유하기
정가

36,000원

  • 32,400 (10%할인)

    1,800P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
배송정보
  • 7/5(화) 이내 발송 예정  (서울시 강남구 삼성로 512)
  • 무료배송
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(105)

  • 상품권

AD

책소개

[25개 애플리케이션으로 배우는 오픈 소스 소프트웨어 아키텍처]는 오픈 소스 소프트웨어의 아키텍처를 설명하고, 전체 구성은 어떻고, 각 하부 구조는 어떻게 상호동작하며, 왜 그런 방식으로 구축하게 되었으며, 다른 대규모 설계 문제에 적용될 수 있는 교훈은 어떤 것들이 있었는지 다룬다.

출판사 서평

프로그래밍은 평생에 걸친 수련이 필요하다. 하지만, 프로그래밍 자체는 소프트웨어 아키텍처 설계와는 별개의 문제다. 많은 프로그래머가 보다 큰 규모의 설계 이슈에 대해 몇 년에 걸쳐 생각하고 씨름한다. 그런데 개별 프로그래머들은 역사적으로 뚜렷한 족적을 남긴 프로그램들을 접하거나, 노련한 업계종사자들이 해당 프로그램들에 대해 작성한 평가를 읽을 기회가 거의 없었다. 그 결과로 서로의 장점과 성공을 계승하지 못하고 서로 동일한 실수를 계속 반복해 왔다.

이 책은 이런 현상을 고쳐보고자 하는 노력의 일환이다. 각 장은 오픈 소스 소프트웨어의 아키텍처를 설명한다. 전체 구성은 어떻고, 각 하부 구조는 어떻게 상호동작하며, 왜 그런 방식으로 구축하게 되었으며, 다른 대규모 설계 문제에 적용될 수 있는 교훈은 어떤 것들이 있었는지 말이다. 각 해설은 해당 소프트웨어를 잘 아는, 복잡한 애플리케이션을 설계하고 다시 재설계하는 작업을 길게는 수십 년에 걸쳐 수행해 온 전문가들이 저술했다.

각 애플리케이션은 간단한 드로잉 프로그램에서부터, 웹 기반 스프레드시트, 컴파일러 툴킷, 그리고 수백만 라인에 이르는 시각화 패키지 등 매우 다양한 분야를 아우르고 있다. 일부는 몇 년밖에 되지 않은 반면, 어떤 것은 30주년을 바라보는 애플리케이션이다. 하지만 이 책을 저술한 43명의 필진 모두가 공통적으로 가지고 있는 바람인, 각 시스템 제작자들이 설계에 대해 오랫동안 열심히 고민해왔고 그 결과를 독자와 자발적으로 공유하고 싶다는 기대로 엮어졌다.

하둡과 같은 분산시스템에서부터 bash와 같은 셸에 이르기까지 다양한 대상들을 다루고 있는 만큼, 각 챕터마다 설명하는 방식들도 개성이 뚜렷하다. 하지만, 작업한 대상의 얼개를 설명할 때 어떤 내용들을 중심으로 설명하고 어떤 내용들을 생략했는지, 그리고 설계할 때 어떤 부분을 고민했으며 그에 따르는 장단점이 어떤 것이었는지 등을 살펴보면 흥미로울 듯하다. 특히 센드메일(Sendmail)이나 bash와 같이 오랜 역사를 가지고 있는 소프트웨어들의 경우 시간이 흐름에 따라 어떤 부분이 유지되었고 어떤 부분이 변경되었는지, 새로 만든다면 다르게 접근하고 싶은 부분은 어떤 것인지 등에 대한 설명을 듣는 것도 쉽게 접하기 어려운 부분이다.

목차

옮긴이의 글
서문

1장 CMake
1.1 CMake 역사와 요구사항
1.2 CMake의 구현 방식
1.3 교훈

2장 LLVM
2.1 빠르게 살펴보는 고전적 컴파일러 설계 방식
2.2 기존 구현 사례들
2.3 LLVM IR
2.4 LLVM에서의 3단계 컴파일러 설계 구현
2.5 이식이 용이한 LLVM 코드 생성기의 설계
2.6 그 밖의 흥미로운 기능들
2.7 회고와 향후 방향

3장 NoSQL 생태계
3.1 NoSQL이란?
3.2 NoSQL의 데이터와 질의 모델
3.3 데이터 내구성(Durability)
3.4 스케일링을 통한 성능 향상
3.5 일관성
3.6 마치며

4장 VTK
4.1 VTK란 무엇인가?
4.2 아키텍처
4.3 회고와 앞으로의 기대

5장 그래파이트(Graphite)
5.1 데이터베이스 라이브러리: 시계열 데이터를 저장
5.2 백엔드: 그저 저장소 서비스일 뿐
5.3 프론트엔드: 온디멘드 그래프
5.4 대시보드
5.5 뻔했던 병목지점
5.6 입출력 최적화
5.7 실시간성 회복
5.8 커널과 캐시 그리고 대재앙
5.9 클러스터링
5.10 회고
5.11 오픈 소스

6장 리악(Riak)과 얼랭/OTP(Erlang/OTP)
6.1 간략한 얼랭 소개
6.2 프로세스 뼈대
6.3 OTP 비헤이비어
6.4 다른 작업자 비헤이비어들
6.5 관리자
6.6 리악에서의 복사와 통신
6.7 결론과 교훈

7장 머큐리얼(Mercurial)
7.1 버전 관리의 간략사
7.2 데이터 구조
7.3 버전 관리 구조
7.4 일반 구조
7.5 부가기능
7.6 교훈

8장 바이올렛(Violet)
8.1 바이올렛 소개
8.2 그래프 프레임워크
8.3 JavaBeans 프로퍼티의 사용
8.4 장기 저장
8.5 Java WebStart
8.6 Java2D
8.7 자체 구현한 스윙 프레임워크
8.8 Undo/Redo
8.9 플러그인 구조
8.10 결론

9장 배시(Bourne-Again Shell, Bash)
9.1 서론
9.2 구문 단위와 기본형
9.3 입력 처리
9.4 구문 분석
9.5 단어 확장
9.6 명령 실행
9.7 교훈
9.8 마치며

10장 버클리 DB(Berkeley DB)
10.1 버클리 DB의 시작
10.2 아키텍처 살펴보기
10.3 액세스 메서드들: Btree, Hash, Recno, Queue
10.4 라이브러리 인터페이스 레이어
10.5 내부 컴포넌트
10.6 버퍼 관리자: Mpool
10.7 로크(lock) 관리자
10.8 로그 관리자
10.9 트랜잭션 관리자
10.10 마무리

11장 비스트레일스(VisTrails)
11.1 시스템 개요
11.2 프로젝트의 역사
11.3 비스트레일스의 내부
11.4 구성요소와 기능
11.5 교훈

12장 센드메일(Sendmail)
12.1 옛날 옛적에…
12.2 설계 원칙
12.3 개발 단계
12.4 설계 결정
12.5 다른 고려사항
12.6 보안
12.7 센드메일의 진화
12.8 지금이라면 어떻게 했을까?
12.9 결론

13장 셀레늄 웹드라이버(Selenium WebDriver)
13.1 역사
13.2 용어 정리
13.3 프로젝트의 원칙들
13.4 복잡성과 상대하기
13.5 자바스크립트 라이브러리의 계층구조
13.6 원격 드라이버, 특히 파이어폭스
13.7 IE 드라이버
13.8 웹드라이버 RC
13.9 회고
13.10 향후 전망

14장 소셜캘크(SocialCalc)
14.1 WikiCalc
14.2 소셜캘크
14.3 명령어 실행 루프
14.4 테이블 편집기
14.5 저장 포맷
14.6 리치 텍스트 편집
14.7 실시간 협업
14.8 교훈

15장 스노우플록(SnowFlock)
15.1 스노우플록 개요
15.2 VM 복제
15.3 스노우플록의 접근법
15.4 아키텍처 VM 설명자
15.5 부모 측 컴포넌트
15.6 Clone-Side 컴포넌트
15.7 VM 복제 애플리케이션 인터페이스
15.8 결론

16장 애스터리스크(Asterisk)
16.1 주요 아키텍처 개념
16.2 애스터리스크 컴포넌트 추상화
16.3 스레드
16.4 통화 시나리오
16.5 마지막 설명

17장 오더시티(Audacity)
17.1 오더시티의 구조
17.2 wxWidgets GUI 라이브러리
17.3 ShuttleGui 레이어
17.4 TrackPanel
17.5 PortAudio 라이브러리: 녹음과 재생
17.6 블록파일
17.7 스크립팅
17.8 실시간 효과
17.9 요약

18장 웨스노스 전투(Battle for Wesnoth)
18.1 프로젝트 개요
18.2 웨스노스 마크업 언어
18.3 웨스노스의 유닛
18.4 웨스노스의 다중 사용자 구현
18.5 결론

19장 이클립스(Eclipse)
19.1 초기의 이클립스
19.2 이클립스 3.0: 런타임, RCP, 로봇
19.3 이클립스 3.4
19.4 이클립스 4.0
19.5 결론

20장 지속적 통합 시스템(Continuous Integration)
20.1 배경
20.2 아키텍처
20.3 향후 개선 방향

21장 지트시(Jitsi)
21.1 지트시의 설계
21.2 지트시와 OSGi 프레임워크
21.3 번들의 패키징과 실행
21.4 프로토콜 제공자 서비스
21.5 미디어 서비스
21.6 사용자 인터페이스 서비스
21.7 교훈
21.8 감사의 말

22장 천 파섹(Thousand Parsec)
22.1 우주 제국
22.2 천 파섹 프로토콜
22.3 지원 기능
22.4 교훈 1

23장 텔레파시(Telepathy)
23.1 텔레파시 프레임워크의 구성요소
23.2 Telepathy가 D-Bus를 사용하는 방식
23.3 연결, 채널 그리고 클라이언트
23.4 언어 바인딩의 역할
23.5 견고함
23.6 텔레파시 확장하기: 사이드카
23.7 연결 관리자 내부 개요
23.8 얻은 교훈

24장 파이썬 패키징(Python Packaging)
24.1 개요
24.2 파이썬 개발자의 부담
24.3 패키징의 현재 아키텍처
24.4 개선 표준
24.5 구현 상세
24.6 교훈
24.7 레퍼런스 및 기여자

25장 하둡 분산 파일시스템(Hadoop Distributed File System)
25.1 개요
25.2 아키텍처
25.3 파일 I/O 작업 및 복제본 관리
25.4 야후!의 사례
25.5 교훈
25.6 고마운 분들

참고자료

저자소개

에이미 브라운 (엮음) [저] 신작알림 SMS신청
생년월일 -

해당작가에 대한 소개가 없습니다.

류성호, 김 마이클, 김성안, 박성철 외8명 [역] 신작알림 SMS신청
생년월일 -

해당작가에 대한 소개가 없습니다.

이 상품의 시리즈

(총 115권 / 현재구매 가능도서 106권)

선택한 상품 북카트담기
펼쳐보기

전공도서/대학교재 분야에서 많은 회원이 구매한 책

    리뷰

    0.0 (총 0건)

    구매 후 리뷰 작성 시, 북피니언 지수 최대 600점

    리뷰쓰기

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    0.0

    판매자정보

    • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

    상호

    (주)교보문고

    대표자명

    안병현

    사업자등록번호

    102-81-11670

    연락처

    1544-1900

    전자우편주소

    callcenter@kyobobook.co.kr

    통신판매업신고번호

    01-0653

    영업소재지

    서울특별시 종로구 종로 1(종로1가,교보빌딩)

    교환/환불

    반품/교환 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청 또는 1:1 문의 게시판 및 고객센터(1577-2555)에서 신청 가능

    반품/교환가능 기간

    변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
    단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

    반품/교환 비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

    반품/교환 불가 사유

    ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)

    ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등

    ·복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

    ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

    ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

    상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

    소비자 피해보상
    환불지연에 따른 배상

    ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

    ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

    (주) 인터파크 안전결제시스템 (에스크로) 안내

    (주)인터파크의 모든 상품은 판매자 및 결제 수단의 구분없이 회원님들의 구매안전을 위해 안전결제 시스템을 도입하여 서비스하고 있습니다.
    결제대금 예치업 등록 : 02-006-00064 서비스 가입사실 확인

    배송안내

    • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

    • 배송비는 업체 배송비 정책에 따릅니다.

    • - 도서 구매 시, 1만 원 이상 무료, 1만원 미만 2천 원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용