• 소득공제
  • 무료배송

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

  • 에이미브라운,그레그윌슨
  • 류성호,김마이클,김성안외9인
  • 인사이트
  • 2015년 05월 11일
사용자 평점
0리뷰 0개
10%32,40036,000원
적립금
1,800원 (5% 적립)
추가 적립 안내
  • 5만원 이상 결제 시 (*배송비 제외)

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

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

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

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

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

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

배송안내

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

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

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

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

AI추천 이유

책 소개
프로그래밍은 평생에 걸친 수련이 필요하다. 하지만, 프로그래밍 자체는 소프트웨어 아키텍처 설계와는 별개의 문제다. 많은 프로그래머가 보다 큰 규모의 설계 이슈에 대해 몇 년에 걸쳐 생각하고 씨름한다. 그런데 개별 프로그래머들은 역사적으로 뚜렷한 족적을 남긴 프로그램들을 접하거나, 노련한 업계종사자들이 해당 프로그램들에 대해 작성한 평가를 읽을 기회가 거의 없었다. 그 결과로 서로의 장점과 성공을 계승하지 못하고 서로 동일한 실수를 계속 반복해 왔다. 이 책은 이런 현상을 고쳐보고자 하는 노력의 일환이다. 각 장은 오픈 소스 소프트웨어의 아키텍처를 설명한다. 전체 구성은 어떻고, 각 하부 구조는 어떻게 상호동작하며, 왜 그런 방식으로 구축하게 되었으며, 다른 대규모 설계 문제에 적용될 수 있는 교훈은 어떤 것들이 있었는지 말이다. 각 해설은 해당 소프트웨어를 잘 아는, 복잡한 애플리케이션을 설계하고 다시 재설계하는 작업을 길게는 수십 년에 걸쳐 수행해 온 전문가들이 저술했다. 각 애플리케이션은 간단한 드로잉 프로그램에서부터, 웹 기반 스프레드시트, 컴파일러 툴킷, 그리고 수백만 라인에 이르는 시각화 패키지 등 매우 다양한 분야를 아우르고 있다. 일부는 몇 년밖에 되지 않은 반면, 어떤 것은 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 고마운 분들 참고자료
저자 소개
저자 : 에이미브라운,그레그윌슨
    에이미 브라운(Amy Brown)
    워털루 대학교에서 수학으로 학사를 마쳤으며, 소프트웨어 산업에서 10년 동안 근무했다. 최근에는 저술과 책 편집 업무에 종사하고 있으며, 때때로 소프트웨어에 관한 책을 다루기도 한다. 토론토에서 자녀 두 명과 아주 나이 먹은 고양이와 함께 살고 있다.

    그레그 윌슨(Greg Wilson)
    25년 넘게 고성능 과학 컴퓨팅, 데이터 시각화, 컴퓨터 보안 분야에 종사해왔으며, 2008년 졸트상 수상작인 『Beautiful Code』를 포함한 여러 권의 컴퓨터 관련 서적과 어린이를 위한 두 권의 책을 저술했다. 1993년 에딘버러 대학교에서 전산학 박사 학위를 취득했다.
    도서리뷰 (0)
    이 책을 읽고 어떤 느낌을 받으셨나요? 리뷰를 남기고 다른 독자들과 함께 공유해보세요.

    등록된 리뷰가 없습니다

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

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

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