본문내용 바로가기
무료배송 이벤트 소득공제

파이썬을 활용한 소프트웨어 아키텍처 견고하고 확장 가능한 애플리케이션 아키텍처 설계

소프트웨어 아키텍처
아난드 발라찬드란 필라이 지음 | 김영기 옮김 | 에이콘출판 | 2021년 01월 04일 출간
클로버 리뷰쓰기
  • 정가 : 40,000원
    판매가 : 36,000 [10%↓ 4,000원 할인]
  • 혜택 :
    [기본적립] 2000원 적립 [5% 적립] [추가적립] 5만원 이상 구매 시 2,000원 추가적립 안내 [회원혜택] 회원 등급 별, 3만원 이상 구매 시 2~4% 추가적립 안내 [리뷰적립] 리뷰 작성 시 e교환권 최대 300원 추가적립 안내
  • 추가혜택 : 포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    05월 23일 출고 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내 바로드림 혜택
    휴일에는 바로드림 픽업으로 더 빨리 받아 보세요. 바로드림 혜택받고 이용하기

이 책의 이벤트

해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
  • 6월 2일 개발자 북콘서트 사전신청하고 선물 받자!
    2022.05.11 ~ 2022.05.31
  • 기술스택 별 개발자 채용공고 비중 공개+추천도서!
    2021.12.24 ~ 2022.12.31
  • 새로운 파이썬 책을 발견해보세요! 전체 목록 다운로드 제공!
    2016.08.11 ~ 2023.12.31
  • MANNING, O'REILLY, PACKT, WILE..
    2016.03.07 ~ 2022.12.31
상품상세정보
ISBN 9791161754857(1161754857)
쪽수 656쪽
크기 188 * 234 * 39 mm /1188g 판형알림
이 책의 원서/번역서 Software Architecture with Python / Pillai, Anand Balachandran

책소개

이 책이 속한 분야

이 책의 주제어

파이썬이 애플리케이션의 아키텍처 작업에 얼마나 적합한지를 설명하며 시작한다. 아키텍처에 중요한 요구사항과 이들을 결정하는 방법을 이해할 수 있다. 또한 아키텍트가 비즈니스 요구사항을 만족하는 제품을 만드는 데 도움이 되는 유지보수성/재사용성, 테스트 용이성, 확장성, 성능, 사용성, 보안성 같은 다양한 아키텍처의 품질 요구사항을 완전히 이해하게 될 것이다.
데브옵스, 지속적인 통합과 같은 기법을 사용해 애플리케이션을 더 견고하게 만드는 방법을 살펴본다. 애플리케이션에 객체지향 기법을 언제 사용하고, 언제 사용하지 말아야 하는지를 이해하게 될 것이다. 또한 미래를 생각해 비즈니스 성장에 비례해 확장 가능한 애플리케이션을 설계할 수 있다.
파이썬의 세부사항을 이해하는 데 도움이 되며, 고객의 예상에 부응하는 동시에 고객의 예상을 뛰어 넘는 중요한 설계 결정도 할 수 있을 것이다.

목차

1장. 소프트웨어 아키텍처의 원칙들

__소프트웨어 아키텍처의 정의
____소프트웨어 아키텍처 대 디자인
____소프트웨어 아키텍처의 여러 측면
__소프트웨어 아키텍처의 특성
____아키텍처는 구조를 정의한다
____아키텍처는 핵심 요소의 집합을 선택한다
____아키텍처는 초기 디자인 결정사항을 기술한다
____아키텍처는 이해당사자의 요구사항을 관리한다
____아키텍처는 조직 구조에 영향을 미친다
____아키텍처는 환경의 영향을 받는다
____아키텍처는 시스템을 문서화한다
____아키텍처는 패턴을 준수한다
__소프트웨어 아키텍처의 중요성
__시스템 아키텍처 대 엔터프라이즈 아키텍처
__아키텍처 품질속성
____변경 용이성
____테스트 용이성
____확장성
____성능
____가용성
____보안
____배포 용이성
__요약

2장. 변경하기 쉽고 가독성 있는 코드 작성

__변경 용이성이란 무엇인가?
__변경 용이성의 관련 측면
__가독성 이해하기
____파이썬과 가독성
____가독성 - 안티패턴
____가독성 기법
____코드의 문서화
____코딩 및 스타일 가이드라인 준수하기
____코드를 리뷰하고 리팩토링하기
____코드에 주석 달기
__변경 용이성의 기본 사항 - 응집도와 결합도
____응집도와 결합도 측정하기
____응집도와 결합도의 측정 - 문자열과 텍스트 처리
__변경 용이성을 위한 전략
____명시적인 인터페이스 제공하기
____양방향 의존성 감소시키기
____공통 서비스 추상화하기
____상속 기법 사용하기
____늦은 바인딩 기법의 사용
__메트릭 - 정적 분석을 위한 도구
____코드의 나쁜 냄새란 무엇인가?
____순환 복잡도 - 맥케이브 메트릭
____정적 체커 수행하기
__코드 리팩토링하기
____코드 리팩토링 - 복잡도 수정하기
____코드 리팩토링 - 코드의 나쁜 냄새 제거하기
____코드 리팩토링 - 스타일 및 코딩 문제 수정하기
__요약

3장. 테스트 용이성 - 테스트 가능한 코드 작성하기

__테스트 용이성 이해하기
____소프트웨어 테스트 용이성과 관련 속성
____아키텍처 측면의 테스트 용이성
____테스트 용이성 전략들
__화이트 박스 테스팅 원칙
____단위 테스팅
____실제 단위 테스팅
____nose2로 정보 알아내기
____코드 커버리지
____py.test로 테스트하기
__모의객체 생성
__문서의 인라인 테스트 - doctests
__통합 테스트
__테스트 자동화
____셀레늄 웹 드라이버를 사용한 테스트 자동화
테스트 주도 개발
팰린드롬 예제를 통한 TDD
요약

4장. 좋은 성능은 보상이다!

__성능이란 무엇인가?
__소프트웨어 성능 엔지니어링
__성능 테스팅과 측정 도구
__성능 복잡도
__성능 측정
____컨텍스트 관리자를 사용한 시간 측정
____timeit 모듈을 사용한 타이밍 코드
____시간 복잡도 확인하기 - 그래프
____timeit을 사용한 CPU 시간 측정
__프로파일링
____결정론적 프로파일링
____cProfile과 profile을 사용한 프로파일링
____프로파일링 - 통계 수집 및 보고
____서드 파티 프로파일러
__다른 도구들
____Objgraph
____Pympler
__성능을 위한 프로그래밍 - 데이터 구조
____변경 가능한 컨테이너 - 리스트, 딕셔너리, 세트
____변경이 불가능한 컨테이너 - 튜플
____고성능 컨테이너- 컬렉션 모듈
____확률론적 데이터 구조 - 블룸 필터
__요약

5장. 확장 가능한 애플리케이션 작성

__확장성과 성능
__동시성
____동시성과 병렬처리
____파이썬에서의 동시성 - 멀티스레딩
__썸네일 생성기
____썸네일 생성기 - 생산자/소비자 아키텍처
____썸네일 생성기 - 잠금을 사용하는 자원 제한
____썸네일 생성기 - 세마포어를 사용하는 리소스 제한
____리소스 제한 - 세마포어 대 잠금
____썸네일 생성기 - 조건을 사용하는 URL 비율 컨트롤러
__멀티스레딩 - 파이썬과 GIL
____파이썬의 동시성 처리 - 멀티 프로세싱
____소수 검사기
____디스크 파일 정렬
__멀티스레딩 대 멀티 프로세싱
____파이썬에서의 동시성-비동기 실행
__선점형 멀티태스킹 대 협력형 멀티태스킹
__파이썬의 asyncio 모듈
__future의 실행 완료 대기하기 - async와 await
__동시 실행되는 future 객체들 - 고수준의 동시 처리
____디스크 썸네일 생성기
____동시성 옵션 - 선택 방법
____병렬 처리 라이브러리
____Joblib
____PyMP
____프렉탈 - 만델브로트 세트
__웹 스케일링
____워크플로우 확장 - 메시지 큐와 태스크 큐
__셀러리 - 분산 태스크 큐
____셀러리를 사용하는 멘델로브 세트
____파이썬으로 웹 서비스하기 - WSGI
____uWSGI - 강력한 WSGI 미들웨어
____Gunicorn - WSGI용 유니콘
____Gunicorn 대 uWSGI
____확장 아키텍처
__요약

6장. 보안 - 안전한 코드 작성

__정보보안 아키텍처
__안전한 코딩
__일반적인 보안 취약점
__파이썬은 안전한가?
____입력 읽기
____임의의 입력 값 평가
____오버플로우 오류
____객체 직렬화
__웹 애플리케이션의 보안 문제
____서버 사이트 템플릿 주입
____서버 사이드 템플릿 주입 - 완화 전략
____서비스 거부
____크로스 사이트 스크립팅
____DoS와 XSS 공격 완화
__파이썬 보안 전략
__안전한 코딩 전략
__요약

7장. 파이썬 디자인 패턴

__디자인 패턴의 요소
__디자인 패턴의 분류
____플러그 가능한 해싱 알고리즘
____플러그 가능한 해싱 알고리즘 요약
__파이썬의 생성 패턴
____싱글톤 패턴
____상태 공유 - 보그 대 싱글톤
____팩토리 패턴
____프로토타입 패턴
____빌더 패턴
__파이썬의 구조 패턴
____어댑터 패턴
____파사드 패턴
____프록시 패턴
__파이썬의 행위 패턴
____이터레이터 패턴
____옵저버 패턴
____상태 패턴
__요약

8장. 파이썬 아키텍처 패턴

__MVC 소개
____모델 템플릿 뷰(MTV) - 장고
____장고 관리자 - 자동화된 모델 중심 뷰
____유연한 마이크로 프레임워크 - 플라스크
__이벤트 주도 프로그래밍
____select 모듈과 I/O 멀티플랙싱을 사용하는 채팅 서버와 클라이언트
____이벤트 주도 프로그래밍 대 동시성 프로그래밍
____Twisted
____Eventlet
____Greenlets과 Gevent
__마이크로서비스 아키텍처
____파이썬의 마이크로서비스 프레임워크
____마이크로서비스 예제 - 레스토랑 예약
____마이크로서비스의 장점
__파이프와 필터 아키텍처
____파이썬에서의 파이프와 필터
__요약

9장. 파이썬 애플리케이션 배포

__배포 용이성
____배포 용이성에 영향을 주는 요소들
__소프트웨어 배포 아키텍처 계층
__파이썬에서의 소프트웨어 배포
____파이썬 코드 패키징
____Pip
____Virtualenv
____Virtualenv과 pip
____재배치 가능한 가상 환경
____PyPI
____애플리케이션 패키징과 제출
__PyPA
__패브릭을 사용한 원격 배포
__앤서블을 이용한 원격 배포
__슈퍼바이저를 이용한 원격 데몬 관리하기
__배포 패턴과 모범 사례
__요약


10장. 디버깅 기법

__최대 부분 배열 문제
____‘print’의 강점
____분석과 재작성
____코드 타이밍 및 최적화
__간단한 디버깅 트릭과 기법
____단어 검색 프로그램
____단어 검색 프로그램의 디버깅 단계 1
____단어 검색 프로그램의 디버깅 단계 2
____단어 검색 프로그램의 최종 코드
____코드 블록 건너뛰기
____실행 중지
____외부 의존성에 래퍼 사용하기
____반환 값/데이터로 함수 교체하기(모의 객체 사용)
__디버깅 기법으로써의 로깅
____간단한 애플리케이션 로깅
__디버깅 도구 - 디버거 사용
____pdb로 세션 디버딩하기
____pdb 유사 도구
__고급 디버깅 기법 - 추적
____trace 모듈
____lptrace 프로그램
____strace를 사용한 시스템 호출 추적
__요약

책 속으로

★ 옮긴이의 말 ★

소프트웨어 개발자라면 적어도 한 번쯤 SW에 대한 오랜 경험과 경력을 바탕으로 멋진 소프트웨어 제품을 만드는 것을 상상해 본 적이 있을 것이다. 소프트웨어 아키텍처 분야는 다른 소프트웨어 분야에 비해 비교적 역사가 짧아도 제대로 파악하려면 많은 험난한 과정을 겪어야 한다. 이러한 어려움 중 하나는 소프트웨어 아키텍처 자체를 알려주는 레퍼런스가 부족하다는 점과, 다른 하나는 파악한 소프트웨어 아키텍처의 개념을 실제 구현 언어로 어떻게 연결시킬 것인가다.
이 책의 각 장에서 이야기하는 주제들은 그 주제만으로도... 더보기

출판사 서평

★ 이 책에서 다루는 내용 ★

■ 올바른 아키텍처 속성을 갖는 프로그램 작성
■ 엔터프라이즈 아키텍처 패턴을 사용한 웹 확장성 문제 해결
■ 파이썬 관점의 디자인 패턴 이해
■ 파이썬 성능 테스팅 도구의 최적화 방법
■ 파이썬을 이용한 원격 환경 및 클라우드 환경으로의 코드 배포
■ 안전한 애플리케이션을 위한 파이썬의 아키텍처 작성법

★ 이 책의 대상 독자 ★

엔터프라이즈 애플리케이션에 경험이 있는, 아키텍트가 되려는 파이썬 개발자에게 적합하다. 애플리케이션의 효과적인 청사진을 만들기 위해 파이썬을 이용... 더보기

Klover 리뷰 (0)

북로그 리뷰 (0) 쓰러가기

북로그 리뷰는 본인 인증 후 작성 가능합니다.
책이나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 내용은 비공개 처리 될 수 있습니다.
※ 북로그 리뷰 리워드 제공 2021. 4. 1 종료

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매 후 문장수집 작성 시, 리워드를 제공합니다. 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

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

이 책의 원서/번역서

안내

이 분야의 베스트

더보기+
바로가기
  • 우측 확장형 배너 2
  • 우측 확장형 배너 2
최근 본 상품