진지한 파이썬
파이썬 작동 원리에서 확장, 테스트, 배포, 최적화까지
Regular price
$31.46
Sale price
Regular price
✈️
Estimated delivery date 예상 배송일
Standard Shipping
불러오는 중...
주문일로부터 8-12 영업일
Express Shipping
불러오는 중...
주문일로부터 6-8 영업일
파이썬 고수가 되고 싶은 개발자를 위한 실전 프로그래밍 지침서
코드는 적게, 작동은 쉽게, 유지 보수는 편하게
파이썬 실력을 높이고 싶은 이를 위한 비법서로, 파이썬으로 15년 넘게 개발해온 저자가 파이썬의 기능과 능력을 제대로 활용해 프로그램을 체계적으로 구축하는 방법을 소개한다. 멀티스레딩, 효율적으로 반복을 처리하는 방법 등의 고급 주제를 다루며, 일반적으로 범하는 실수를 피하는 방법도 알려준다. 문서화, 버전 관리, 시간대 설정 방법, 패키징, 테스트, 배포, API, 데이터베이스 처리 등 개발에 필요한 필수 지식뿐 아니라 유명 파이썬 개발자들의 경험담까지 담았다. 이 책으로 유지 보수하기 쉽고 확장성이 뛰어난 파이썬 프로그램을 만드는 방법을 익히고, 진정한 고수로 거듭나길 바란다.
코드는 적게, 작동은 쉽게, 유지 보수는 편하게
파이썬 실력을 높이고 싶은 이를 위한 비법서로, 파이썬으로 15년 넘게 개발해온 저자가 파이썬의 기능과 능력을 제대로 활용해 프로그램을 체계적으로 구축하는 방법을 소개한다. 멀티스레딩, 효율적으로 반복을 처리하는 방법 등의 고급 주제를 다루며, 일반적으로 범하는 실수를 피하는 방법도 알려준다. 문서화, 버전 관리, 시간대 설정 방법, 패키징, 테스트, 배포, API, 데이터베이스 처리 등 개발에 필요한 필수 지식뿐 아니라 유명 파이썬 개발자들의 경험담까지 담았다. 이 책으로 유지 보수하기 쉽고 확장성이 뛰어난 파이썬 프로그램을 만드는 방법을 익히고, 진정한 고수로 거듭나길 바란다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
어떻게든 작동하는 프로그램이 아니라,
제대로 된 프로그램을 만들어보고 싶은 당신을 위한 책
이 책은 단순히 파이썬을 잘 쓰는 방법만 소개하는 책이 아니다. 파이썬 개발자가 더 나은 방식으로 유지 보수하기 쉬운 프로그램을 만들기 위해 무엇을 어떻게 해야 하는지에 대한 깊이 있는 고민을 담은 책이다. 저자는 다년간 파이썬 프로젝트를 진행해본 경험이 풍부한 오픈소스 개발자로, 수년에 걸쳐 이 책을 집필했다. 효율적인 코드를 작성하기 위해 파이썬 언어의 작동 원리를 살펴보고, 표준 코딩 스타일을 지키는 방법을 안내하며, 프로젝트를 위한 디렉터리 구성 방법, 표준 라이브러리 사용법, 간편한 문서화 방법 등을 안내한다. 단순히 작동만 하는 프로그램이 아니라 유지 보수하기 쉽고 확장성이 뛰어난 프로그램을 만들기 위한 실전 팁도 소개한다. 또한 파이썬 주요 라이브러리, API, 도구를 개발한 유명 개발자들의 인터뷰도 실었다. 선배 개발자들이 어떤 고민을 가지고 자신의 프로젝트를 시작했으며, 그 고민을 어떻게 해결했는지 이야기를 따라가다 보면 그동안 아무 생각 없이 써오던 파이썬 라이브러리와 도구들을 달리 바라보게 될 것이다.
이 책은 반드시 순서대로 읽을 필요는 없다. 각 장에서 다루는 주제가 분명하므로 업무와 프로젝트에 바로 필요한 부분을 바로 찾아 읽어도 된다. 이 책을 통해 파이썬의 여러 기능을 제대로 익히고 자신만의 개발 경험담을 쌓아가는 진정한 고수가 되길 바란다.
대상 독자
● 파이썬 실력을 더 키워 중고급 개발자가 되고 싶은 사람
● 파이썬 내장 기능을 제대로 활용하고 싶은 사람
● 파이썬 소스 코드를 효율적으로 개선하고 싶은 사람
● 프로젝트 문서화 등 프로그램의 완성도를 높이는 방법까지 연구하고 싶은 사람
주요 내용
● 모듈, 라이브러리, 프레임워크와 함께 파이썬 작동 원리 이해하기
● 프로젝트 문서화와 API 관리 방법
● 문서 자동화를 위한 스핑크스 사용법
● 시간 정보와 시간대를 다루는 방법
● 단위 테스트, 가상 테스트, 테스트 자동화와 배포 기법
● 메서드와 데커레이터를 만들고 사용하는 방법
● 파이썬으로 구현할 수 있는 함수형 프로그래밍 기법
● 추상 구문 트리(AST), Hy, 리스프, flask8을 사용하는 방법
● 자료구조, 함수, 동적 성능 분석으로 성능을 최적화하는 방법
● 확장성 있는 프로그램을 위한 멀티스레딩, 멀티프로세싱, asyncio 활용법
● 관계형 데이터베이스와 PostgreSQL을 사용하는 방법
제대로 된 프로그램을 만들어보고 싶은 당신을 위한 책
이 책은 단순히 파이썬을 잘 쓰는 방법만 소개하는 책이 아니다. 파이썬 개발자가 더 나은 방식으로 유지 보수하기 쉬운 프로그램을 만들기 위해 무엇을 어떻게 해야 하는지에 대한 깊이 있는 고민을 담은 책이다. 저자는 다년간 파이썬 프로젝트를 진행해본 경험이 풍부한 오픈소스 개발자로, 수년에 걸쳐 이 책을 집필했다. 효율적인 코드를 작성하기 위해 파이썬 언어의 작동 원리를 살펴보고, 표준 코딩 스타일을 지키는 방법을 안내하며, 프로젝트를 위한 디렉터리 구성 방법, 표준 라이브러리 사용법, 간편한 문서화 방법 등을 안내한다. 단순히 작동만 하는 프로그램이 아니라 유지 보수하기 쉽고 확장성이 뛰어난 프로그램을 만들기 위한 실전 팁도 소개한다. 또한 파이썬 주요 라이브러리, API, 도구를 개발한 유명 개발자들의 인터뷰도 실었다. 선배 개발자들이 어떤 고민을 가지고 자신의 프로젝트를 시작했으며, 그 고민을 어떻게 해결했는지 이야기를 따라가다 보면 그동안 아무 생각 없이 써오던 파이썬 라이브러리와 도구들을 달리 바라보게 될 것이다.
이 책은 반드시 순서대로 읽을 필요는 없다. 각 장에서 다루는 주제가 분명하므로 업무와 프로젝트에 바로 필요한 부분을 바로 찾아 읽어도 된다. 이 책을 통해 파이썬의 여러 기능을 제대로 익히고 자신만의 개발 경험담을 쌓아가는 진정한 고수가 되길 바란다.
대상 독자
● 파이썬 실력을 더 키워 중고급 개발자가 되고 싶은 사람
● 파이썬 내장 기능을 제대로 활용하고 싶은 사람
● 파이썬 소스 코드를 효율적으로 개선하고 싶은 사람
● 프로젝트 문서화 등 프로그램의 완성도를 높이는 방법까지 연구하고 싶은 사람
주요 내용
● 모듈, 라이브러리, 프레임워크와 함께 파이썬 작동 원리 이해하기
● 프로젝트 문서화와 API 관리 방법
● 문서 자동화를 위한 스핑크스 사용법
● 시간 정보와 시간대를 다루는 방법
● 단위 테스트, 가상 테스트, 테스트 자동화와 배포 기법
● 메서드와 데커레이터를 만들고 사용하는 방법
● 파이썬으로 구현할 수 있는 함수형 프로그래밍 기법
● 추상 구문 트리(AST), Hy, 리스프, flask8을 사용하는 방법
● 자료구조, 함수, 동적 성능 분석으로 성능을 최적화하는 방법
● 확장성 있는 프로그램을 위한 멀티스레딩, 멀티프로세싱, asyncio 활용법
● 관계형 데이터베이스와 PostgreSQL을 사용하는 방법
목차
목차
CHAPTER 1 프로젝트 시작하기
1.1 파이썬 버전
1.2 프로젝트 잘 설계하기
1.3 버전 번호 매기기
1.4 코딩 스타일과 자동 검사
1.5 인터뷰: 조슈아 할로와 파이썬에 대해
CHAPTER 2 모듈, 라이브러리, 프레임워크
2.1 임포트
2.2 유용한 표준 라이브러리
2.3 외부 라이브러리
2.4 패키지 설치: pip로 더 많은 것 얻기
2.5 프레임워크 사용 및 선택하기
2.6 인터뷰: 파이썬 코어 개발자 더그 헬먼과 라이브러리에 대해
CHAPTER 3 문서화와 모범 API 사례
3.1 스핑크스로 문서화하기
3.2 마치며
3.3 인터뷰: 크리스토프 드 비엔과 API 개발에 대해
CHAPTER 4 시간 정보와 시간대 다루기
4.1 시간대가 없는 경우의 문제
4.2 datetime 객체 생성하기
4.3 dateutil로 시간대 정보가 있는 시간 정보 생성하기
4.4 시간대 정보가 있는 datetime 객체 직렬화하기
4.5 애매한 시간대 처리하기
4.6 마치며
CHAPTER 5 개발한 소프트웨어 배포하기
5.1 간단하게 설명하는 setup.py의 역사
5.2 setup.cfg를 이용한 패키징
5.3 Wheel 형식의 배포 표준
5.4 작업물 공유하기
5.5 진입점
5.6 마치며
5.7 인터뷰: 닉 코글런과 패키지에 대해
CHAPTER 6 단위 테스트
6.1 테스트 기본 사항
6.2 가상 환경
6.3 테스트 정책
6.4 인터뷰: 로버트 콜린스와 테스트에 대해
CHAPTER 7 메서드와 데커레이터
7.1 데커레이터 사용 방법과 데커레이터의 사용 시기
7.2 파이썬에서 메서드가 작동하는 방법
7.3 정적 메서드
7.4 클래스 메서드
7.5 추상 메서드
7.6 정적, 클래스, 추상 메서드 혼합하기
7.7 마치며
CHAPTER 8 함수형 프로그래밍
8.1 순수 함수 만들기
8.2 제너레이터
8.3 리스트 컴프리헨션
8.4 함수형, 함수, 함수화
8.5 마치며
CHAPTER 9 AST, Hy, 리스프 계열 속성
9.1 AST 살펴보기
9.2 AST 검사로 flake8 확장하기
9.3 Hy 살펴보기
9.4 마치며
9.5 인터뷰: 폴 탈리아몬테와 AST, Hy에 대해
CHAPTER 10 성능과 최적화
10.1 자료구조
10.2 프로파일링으로 내부 동작 이해하기
10.3 효율적으로 함수 정의하기
10.4 정렬된 리스트와 bisect
10.5 네임드튜플과 슬롯
10.6 메모이제이션
10.7 더 빠른 파이썬 PyPy
10.8 버퍼 프로토콜로 제로 복사하기
10.9 마치며
10.10 인터뷰: 빅터 스티너와 최적화에 대해
CHAPTER 11 확장과 구조
11.1 파이썬의 멀티스레딩과 한계
11.2 멀티프로세싱과 멀티스레딩
11.3 이벤트 반응형 아키텍처
11.4 또 다른 방법 asyncio
11.5 서비스 지향 아키텍처
11.6 ZeroMQ로 프로세스 간 통신하기
11.7 마치며
CHAPTER 12 관계형 데이터베이스 관리
12.1 RDBMS과 ORM의 사용 시기
12.2 데이터베이스 백엔드
12.3 플라스크 및 PostgreSQL을 사용한 데이터 스트리밍
12.4 인터뷰: 디미트리 퐁텐과 데이터베이스에 대해
CHAPTER 13 효율적으로 코딩하기
13.1 파이썬 2와 3을 지원하는 six 사용하기
13.2 파이썬으로 구현한 리스프를 사용하여 단일 디스패처 만들기
13.3 콘텍스트 관리자
13.4 attr로 상용구 사용하기
13.5 마치며
1.1 파이썬 버전
1.2 프로젝트 잘 설계하기
1.3 버전 번호 매기기
1.4 코딩 스타일과 자동 검사
1.5 인터뷰: 조슈아 할로와 파이썬에 대해
CHAPTER 2 모듈, 라이브러리, 프레임워크
2.1 임포트
2.2 유용한 표준 라이브러리
2.3 외부 라이브러리
2.4 패키지 설치: pip로 더 많은 것 얻기
2.5 프레임워크 사용 및 선택하기
2.6 인터뷰: 파이썬 코어 개발자 더그 헬먼과 라이브러리에 대해
CHAPTER 3 문서화와 모범 API 사례
3.1 스핑크스로 문서화하기
3.2 마치며
3.3 인터뷰: 크리스토프 드 비엔과 API 개발에 대해
CHAPTER 4 시간 정보와 시간대 다루기
4.1 시간대가 없는 경우의 문제
4.2 datetime 객체 생성하기
4.3 dateutil로 시간대 정보가 있는 시간 정보 생성하기
4.4 시간대 정보가 있는 datetime 객체 직렬화하기
4.5 애매한 시간대 처리하기
4.6 마치며
CHAPTER 5 개발한 소프트웨어 배포하기
5.1 간단하게 설명하는 setup.py의 역사
5.2 setup.cfg를 이용한 패키징
5.3 Wheel 형식의 배포 표준
5.4 작업물 공유하기
5.5 진입점
5.6 마치며
5.7 인터뷰: 닉 코글런과 패키지에 대해
CHAPTER 6 단위 테스트
6.1 테스트 기본 사항
6.2 가상 환경
6.3 테스트 정책
6.4 인터뷰: 로버트 콜린스와 테스트에 대해
CHAPTER 7 메서드와 데커레이터
7.1 데커레이터 사용 방법과 데커레이터의 사용 시기
7.2 파이썬에서 메서드가 작동하는 방법
7.3 정적 메서드
7.4 클래스 메서드
7.5 추상 메서드
7.6 정적, 클래스, 추상 메서드 혼합하기
7.7 마치며
CHAPTER 8 함수형 프로그래밍
8.1 순수 함수 만들기
8.2 제너레이터
8.3 리스트 컴프리헨션
8.4 함수형, 함수, 함수화
8.5 마치며
CHAPTER 9 AST, Hy, 리스프 계열 속성
9.1 AST 살펴보기
9.2 AST 검사로 flake8 확장하기
9.3 Hy 살펴보기
9.4 마치며
9.5 인터뷰: 폴 탈리아몬테와 AST, Hy에 대해
CHAPTER 10 성능과 최적화
10.1 자료구조
10.2 프로파일링으로 내부 동작 이해하기
10.3 효율적으로 함수 정의하기
10.4 정렬된 리스트와 bisect
10.5 네임드튜플과 슬롯
10.6 메모이제이션
10.7 더 빠른 파이썬 PyPy
10.8 버퍼 프로토콜로 제로 복사하기
10.9 마치며
10.10 인터뷰: 빅터 스티너와 최적화에 대해
CHAPTER 11 확장과 구조
11.1 파이썬의 멀티스레딩과 한계
11.2 멀티프로세싱과 멀티스레딩
11.3 이벤트 반응형 아키텍처
11.4 또 다른 방법 asyncio
11.5 서비스 지향 아키텍처
11.6 ZeroMQ로 프로세스 간 통신하기
11.7 마치며
CHAPTER 12 관계형 데이터베이스 관리
12.1 RDBMS과 ORM의 사용 시기
12.2 데이터베이스 백엔드
12.3 플라스크 및 PostgreSQL을 사용한 데이터 스트리밍
12.4 인터뷰: 디미트리 퐁텐과 데이터베이스에 대해
CHAPTER 13 효율적으로 코딩하기
13.1 파이썬 2와 3을 지원하는 six 사용하기
13.2 파이썬으로 구현한 리스프를 사용하여 단일 디스패처 만들기
13.3 콘텍스트 관리자
13.4 attr로 상용구 사용하기
13.5 마치며
저자
저자
쥘리앵 당주
Julien Danjou
20년 가까이 자유 소프트웨어 해커로 활동하며, 파이썬으로 소프트웨어를 개발했다. 250만 줄이 넘는 코드가 파이썬으로 작성된 거대 오픈소스 오픈스택(OpenStack)의 분산 클라우드 플랫폼을 위한 프로젝트의 팀 리더로 일했다. 클라우드 개발 일을 하기 전에 윈도우 관리자를 개발했으며, 데비안(Debian)과 GNU 이맥스(Emacs)와 같은 다양한 소프트웨어 프로젝트에 기여했다.
20년 가까이 자유 소프트웨어 해커로 활동하며, 파이썬으로 소프트웨어를 개발했다. 250만 줄이 넘는 코드가 파이썬으로 작성된 거대 오픈소스 오픈스택(OpenStack)의 분산 클라우드 플랫폼을 위한 프로젝트의 팀 리더로 일했다. 클라우드 개발 일을 하기 전에 윈도우 관리자를 개발했으며, 데비안(Debian)과 GNU 이맥스(Emacs)와 같은 다양한 소프트웨어 프로젝트에 기여했다.
Payment & Security
Payment methods
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

