파이썬을 활용한 소프트웨어 아키텍처

본문 바로가기

회원메뉴

쇼핑몰 검색

통합검색

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

정가
40,000 원
판매가
38,000 원    5 %↓
적립금
2,000 P
배송비
무료배송
배송일정
48시간 배송 예정 배송일정안내
ISBN
9791161754857
쪽수 : 656쪽
아난드 발라찬드라 필라이  |  에이콘출판  |  2020년 12월 30일
소득공제 가능도서 (자세히보기)
주문수량
 
책 소개
★ 이 책에서 다루는 내용 ★ ■ 올바른 아키텍처 속성을 갖는 프로그램 작성 ■ 엔터프라이즈 아키텍처 패턴을 사용한 웹 확장성 문제 해결 ■ 파이썬 관점의 디자인 패턴 이해 ■ 파이썬 성능 테스팅 도구의 최적화 방법 ■ 파이썬을 이용한 원격 환경 및 클라우드 환경으로의 코드 배포 ■ 안전한 애플리케이션을 위한 파이썬의 아키텍처 작성법 ★ 이 책의 대상 독자 ★ 엔터프라이즈 애플리케이션에 경험이 있는, 아키텍트가 되려는 파이썬 개발자에게 적합하다. 애플리케이션의 효과적인 청사진을 만들기 위해 파이썬을 이용하려는 소프트웨어 아키텍트도 커다란 효과를 볼 수 있을 것이다
저자 소개
저자 : 아난드 발라찬드라 필라이 (Anand Balachandran Pillai) 소프트웨어 분야의 제품 공학 소프트웨어 설계와 아키텍처 연구에 18년이 넘는 경험이 있는 공학과 기술 전문가다. 마드라스의 인도 공과대학교에서 기계공학 학사 학위를 받았다. 야후(Yahoo), 맥아피(McAfee), 인포시스(Infosys) 같은 회사의 제품 개발 팀에서 새로운 제품을 만드는 수석 엔지니어와 아키텍트 역할을 수행했다. 소프트웨어 성능 공학, 고확장성 아키텍처, 보안 및 오픈소스 커뮤니티에 관심이 있으며 때때로 스타트업에서 기술 리더 역할이나 컨설팅을 담당하기도 한다. 방갈로 파이썬 사용자 그룹의 설립자이며 파이썬 소프트웨어 재단PSF의 선임연구원이기도 하다. 현재는 예지(Yegii Inc)의 선임 아키텍트로 일하고 있다. 역자 : 김영기 삼성전자 네트워크 사업부 기술 전략 그룹에서 신기술 센싱 및 소프트웨어 혁신 업무를 담당하고 있다. 주요 업무는 지능망(IN)과 모바일 애플리케이션 개발, 정적 분석과 소프트웨어 구조 분석, 소프트웨어 개발 인프라 관리 등이다. 소프트웨어 개발과 관련된 사항, 특히 조직의 개발 문화, 애자일과 데브옵스, 자동화에 관심이 많다.
목 차
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를 사용한 시스템 호출 추적 __약
출판사 서평
★ 이 책의 구성 ★ 1장, '소프트웨어 아키텍처의 원칙'에서는 소프트웨어 아키텍처가 갖는 주요 사항을 소개한다. 아키텍처 품질속성과 아키텍처의 배경이 되는 원칙을 간단하게 설명한다. 소프트웨어 아키텍처 원칙과 기본 속성을 파악하는 데 탄탄한 기반이 된다. 2장, '변경 가능하고 가독성 있는 코드'에서는 작성 개발에 관련된 아키텍처 품질속성인 변경 용이성과 가독성을 다룬다. 아키텍처 품질속성인 유지보수성과 애플리케이션의 테스트를 위한 코드를 파이썬으로 작성하는 전술을 이해할 수 있게 된다. 3장, '테스트 용이성 - 테스트 가능한 코드 작성'에서는 아키텍처 품질속성인 테스트 용이성과 테스트 용이성을 위해 파이썬 애플리케이션의 구조를 잡는 방법을 배운다. 테스트 용이성과 소프트웨어 테스팅의 다양한 관점을 학습하고 테스트 가능한 애플리케이션을 파이썬으로 작성하기 위해 이용할 수 있는 다양한 라이브러리와 모듈을 익힌다. 4장, '좋은 성능은 보상이다!'에서는 성능 관점에서 파이썬 코드를 작성하는 방법을 다룬다. 성능을 최적화하는 시기에 아키텍처에서 품질속성은 물론 성능 관련 지식도 갖추게 된다. 소프트웨어 수명주기에서 성능 최적화를 하는 시기도 알게 된다. 5장, '확장 가능한 애플리케이션 작성'에서는 확장 가능한 애플리케이션의 중요성을 이야기한다. 애플리케이션의 확장성을 달성하는 다양한 방법을 설명하고 파이썬에서 사용하는 확장성 관련 기법을 알아본다. 확장성의 이론적 측면과 업계의 모범 사례도 배운다. 6장, '보안- 안전한 코드 작성'에서는 아키텍처의 보안 측면, 관련 모범 사례와 안전한 애플리케이션의 작성 기법을 다룬다. 조심해야 할 다양한 보안 문제도 짚고 넘어간다. 처음부터 파이썬으로 안전한 애플리케이션 아키텍처를 만드는 방법을 깨닫게 된다. 7장, '파이썬 디자인 패턴'에서는 실용적인 프로그래머 관점에서 각 패턴에 대한 이론적인 배경과 더불어, 파이썬에서 디자인 패턴의 개요를 다룬다. 실용적인 프로그래머에게 유용한 파이썬의 디자인 패턴 지식을 얻게 된다. 8장, '파이썬 아키텍처 패턴 고수준의 현대적인 파이썬 아키텍처 패턴을 소개한다. 고준 아키텍처 문제를 해결하기 위한 패턴들의 접근방법을 알 수 있도록 파이썬 라이브러리와 프레임워크 예제도 제공한다. 9장, '파이썬으로 애플리케이션 배포'에서는 파이썬을 이용해 올바른 방법으로 원격환경이나 클라우드에 쉽게 코드를 배포하는 방법을 설명한다. 10장, '디버깅 기법'에서는 파이썬 코드의 디버깅 기법을 다룬다. 프로그래머에게 가장 간단하면서도 매우 편리한, 그리고 전략적으로 배치된 print문에서부터 로깅과 시스템 호출(system call) 추적까지 다룬다. 이러한 기법들은 시스템 아키텍트가 팀을 이끄는 데 도움이 된다.
고객 리뷰
평점 리뷰제목 작성자 작성일 내용보기

아직 작성된 리뷰가 없습니다.

반품/교환
· 회사명 : 북앤북스문고   · 주소 : 제주특별자치도 제주시 1100로 3308 B1  
· 대표자 : 김대철   · 사업자 등록번호 : 661-10-02383  
· 통신판매업신고번호 : 2023-제주노형-0169   · 개인정보 보호책임자 : 최재혁  

고객센터

(평일 09:30~17:30)
(점심 12:00~13:00)
· 전화 : 064)725-7279 (발신자 부담)
    064)757-7279 (발신자 부담)
· 팩스 : 064)759-7279
· E-Mail : bookpani@naver.com
Copyright © 2019 북앤북스문고. All Rights Reserved.