본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

진지한 파이썬 상세페이지

컴퓨터/IT 개발/프로그래밍

진지한 파이썬

파이썬 작동 원리에서 확장, 테스트, 배포, 최적화까지
소장종이책 정가28,000
전자책 정가20%22,400
판매가22,400
진지한 파이썬 표지 이미지

진지한 파이썬작품 소개

<진지한 파이썬> 파이썬 고수가 되고 싶은 개발자를 위한 실전 프로그래밍 지침서

코드는 적게, 작동은 쉽게, 유지 보수는 편하게



파이썬 실력을 높이고 싶은 이를 위한 비법서로, 파이썬으로 15년 넘게 개발해온 저자가 파이썬의 기능과 능력을 제대로 활용해 프로그램을 체계적으로 구축하는 방법을 소개한다. 멀티스레딩, 효율적으로 반복을 처리하는 방법 등의 고급 주제를 다루며, 일반적으로 범하는 실수를 피하는 방법도 알려준다. 문서화, 버전 관리, 시간대 설정 방법, 패키징, 테스트, 배포, API, 데이터베이스 처리 등 개발에 필요한 필수 지식뿐 아니라 유명 파이썬 개발자들의 경험담까지 담았다. 이 책으로 유지 보수하기 쉽고 확장성이 뛰어난 파이썬 프로그램을 만드는 방법을 익히고, 진정한 고수로 거듭나길 바란다.





대상 독자

파이썬 실력을 더 키워 중고급 개발자가 되고 싶은 사람
파이썬 내장 기능을 제대로 활용하고 싶은 사람
파이썬 소스 코드를 효율적으로 개선하고 싶은 사람
프로젝트 문서화 등 프로그램의 완성도를 높이는 방법까지 연구하고 싶은 사람




주요 내용

모듈, 라이브러리, 프레임워크와 함께 파이썬 작동 원리 이해하기
프로젝트 문서화와 API 관리 방법
문서 자동화를 위한 스핑크스 사용법
시간 정보와 시간대를 다루는 방법
단위 테스트, 가상 테스트, 테스트 자동화와 배포 기법
메서드와 데커레이터를 만들고 사용하는 방법
파이썬으로 구현할 수 있는 함수형 프로그래밍 기법
추상 구문 트리(AST), Hy, 리스프, flask8을 사용하는 방법
자료구조, 함수, 동적 성능 분석으로 성능을 최적화하는 방법
확장성 있는 프로그램을 위한 멀티스레딩, 멀티프로세싱, asyncio 활용법
관계형 데이터베이스와 PostgreSQL을 사용하는 방법




출판사 리뷰



어떻게든 작동하는 프로그램이 아니라,

제대로 된 프로그램을 만들어보고 싶은 당신을 위한 책

이 책은 단순히 파이썬을 잘 쓰는 방법만 소개하는 책이 아니다. 파이썬 개발자가 더 나은 방식으로 유지 보수하기 쉬운 프로그램을 만들기 위해 무엇을 어떻게 해야 하는지에 대한 깊이 있는 고민을 담은 책이다. 저자는 다년간 파이썬 프로젝트를 진행해본 경험이 풍부한 오픈소스 개발자로, 수년에 걸쳐 이 책을 집필했다. 효율적인 코드를 작성하기 위해 파이썬 언어의 작동 원리를 살펴보고, 표준 코딩 스타일을 지키는 방법을 안내하며, 프로젝트를 위한 디렉터리 구성 방법, 표준 라이브러리 사용법, 간편한 문서화 방법 등을 안내한다. 단순히 작동만 하는 프로그램이 아니라 유지 보수하기 쉽고 확장성이 뛰어난 프로그램을 만들기 위한 실전 팁도 소개한다. 또한 파이썬 주요 라이브러리, API, 도구를 개발한 유명 개발자들의 인터뷰도 실었다. 선배 개발자들이 어떤 고민을 가지고 자신의 프로젝트를 시작했으며, 그 고민을 어떻게 해결했는지 이야기를 따라가다 보면 그동안 아무 생각 없이 써오던 파이썬 라이브러리와 도구들을 달리 바라보게 될 것이다.

이 책은 반드시 순서대로 읽을 필요는 없다. 각 장에서 다루는 주제가 분명하므로 업무와 프로젝트에 바로 필요한 부분을 바로 찾아 읽어도 된다. 이 책을 통해 파이썬의 여러 기능을 제대로 익히고 자신만의 개발 경험담을 쌓아가는 진정한 고수가 되길 바란다.





추천사



파이썬으로 프로그램을 개발하면서 마주친 에러들에 대해 잘 모르는 부분이 있었습니다. 이 책을 읽으면서 그 수수께끼를 풀 수 있게 되었습니다. 특히, 스핑크스 기반 문서화와 setup.py를 만드는 방법은 효율적으로 소프트웨어를 배포하고 API를 문서화하는 데 큰 도움이 됐습니다. 또한 유명 개발자 인터뷰에는 성공과 실패의 경험담과 파이썬 라이브러리를 설계하려는 사람들에게 도움이 되는 고견을 담고 있어, 책을 읽는 동안 멘토들에게 도움을 받는 느낌을 받았습니다. 잘하지만 더 잘하고 싶을 때, 즉 진정한 파이썬 고급 개발자가 되고 싶을 때 마중물이 되어줄 수 있는 책입니다.

__ 박서희, KT



파이썬을 다루다 보면 ‘파이써닉’하게 프로그래밍해야 한다는 이야기를 자주 듣습니다. 파이썬의 기능을 최대한 활용해야 다른 언어 대신 파이썬을 사용하는 의미가 있으니까요. 파이썬으로 프로젝트를 하면서 자신감이 한창 차오를 때 이 책을 만난다면 자신감이 조금 꺾일 수도 있습니다. 하지만 이 책을 공부하고 파이써닉하게 프로그래밍하는 방법을 익힌다면 더 성장한 프로그래머가 될 것입니다. 이 책에서는 데커레이터, API 문서화, 시간대 등 깊이 고민해보지 않았거나, 문제가 되는지 생각하지 못했던 것들을 잔뜩 만나게 됩니다. ‘난 지금까지 어떤 공부를 한 걸까’ 하고 생각하게 될 수도 있지만, 자신감을 잃지 않고 실습하며 완독한다면 파이썬 실력을 더 높은 단계로 올릴 수 있을 것입니다.

__ 시한, VAIS 인공지능 오픈채팅 커뮤니티 운영진



정말 많은 소프트웨어를 개발했습니다. 많은 언어를 사용했고 파이썬도 그중 하나였습니다. 파이썬을 이용하여 기능 구현에만 집중했고, 잘 작동되니 파이썬을 잘 사용하고 있다고 생각했습니다. 하지만 이 책을 읽고 ‘내가 과연 파이썬을 파이썬답게 잘 쓰고 있는가?’라는 의문이 들었습니다. 이 책은 단순한 코딩을 넘어 프로젝트의 구조, 버전 관리 등 코딩 외적인 것까지 파이썬답게 관리하는 방법을 제시합니다. 파이써닉하다는 말의 의미를 이제야 진정으로 이해하게 되었습니다.

__ 오정민, 숭실대학교



자바 중급서에 『이펙티브 자바』가 있다면 파이썬에는 『진지한 파이썬』이 있습니다. 파이썬 기본서로 공부하고 실무에 뛰어들면 고전하게 됩니다. 실무에서 개발하는 프로그램은 ‘Hello World’ 같은 게 아니니까요. 기본이 중요하지만 프로 개발자가 되려면 테크닉도 필요합니다. 이 책은 프로그램을 더 잘 만들기 위한 방법과 조언을 잘 설명하고, 여러 개발 방법론을 소스 코드에 어떻게 적용하고 실무에 활용하는지 알려줍니다. 개발할 때 마주하는 문제에 대해서도 어떻게 해결해야 하는지 여러 예시를 통해 해결 방법을 제시합니다. 파이썬을 좀 더 파이썬답게 쓰며 실력을 한 단계 더 업그레이드하고 싶다면 이 책을 읽어보길 적극 추천합니다.

__ 이석곤, 엔컴(주) 프로젝트팀



코로나19로 의료를 포함한 여러 분야에서 비대면 서비스 개발을 위해 다양한 프로젝트가 진행되고 있습니다. 이 책은 그러한 프로젝트들을 더욱 깔끔하고 멋지게 만들기 위해 파이썬을 정말 ‘진지하게’ 다루는 법을 알려줍니다. 유용한 모듈, 라이브러리와 메서드, 데커레이터의 고급 활용법으로 개발 프로젝트를 진행하다 마주하는 문제들에 대한 해결책을 제시해줍니다. 또한 개발한 소프트웨어의 테스트부터 성능 최적화, 문서화와 API 관리, 배포까지 효율적으로 진행하는 방법을 설명하여, 프로젝트의 완성도를 높이고 다른 개발자와의 공유를 더욱 용이하게 해줍니다. 구상 중인 개발 프로젝트에서 파이썬을 좀 더 세련되게 써보고 싶은 이에게 이 책을 적극 추천합니다.

__이현훈, 한의사전문의, 경희대학교 임상한의학과 박사과정



파이썬은 훌륭한 프로그래밍 입문 언어이자 실무에서도 활발히 쓰이는 명실상부한 인기 언어입니다. 이 책은 파이썬의 기본 문법을 숙지하고 기본적인 프로그래밍이 가능한 프로그래머가 중급자가 되기 위해 알아야 할 필수 내용을 예제와 함께 담고 있습니다. 특히 실무에서 여러 사람과 함께 개발할 때 필요한 문서화, 모듈과 라이브러리, 배포, 테스트부터 고급 프로그래머가 되기 위한 성능 최적화, 확장, 함수형 프로그래밍까지 다양한 내용을 고루 다루는 흔치 않은 책입니다. 파이썬을 파이썬답게 사용하며 고급 기법을 프로젝트에 적용하고 싶은 이에게 이 책을 추천합니다.

__이호상, SK텔레콤



파이썬 프로젝트를 시작하기 위해 필요한 기본적인 지식부터 최적화 등의 고급 기술에 이르기까지 『진지한 파이썬』 한 권으로 모두 배울 수 있습니다. 특히 책의 후반부에서는 개발을 오랜 시간 경험하지 않은 초심자라면 접하기 어려운 여러 기술과 기법들이 이해하기 쉽게 설명되어 있습니다. 진지하게 파이썬 프로젝트에 임해보고 싶다면 이 책을 읽어보길 권합니다.

__전준형, 티맥스



주위에 물어보고 싶었지만 대답해줄 고수조차 찾기 힘들었던 실무 난제들의 해답이 한 권에 모두 담겨 있습니다. 데커레이터, 제너레이터, 코루틴 등의 ‘파이써닉’한 활용을 위한 조언부터 프로파일링 기법, 메모이제이션을 통한 최적화, 멀티 프로세싱을 고려한 확장에 이르기까지 오픈스택 프로젝트 팀 리더 출신의 저자가 일목요연하게 정리해줍니다. 약 300쪽의 가벼운 분량으로 고수들만 아는 기법들을 빠르게 훑어볼 수 있으며 파이썬 2, 3 등 버전에 따른 변화를 파악하기 쉽습니다. 또한 각 장의 말미에 있는 파이썬 고수들의 인터뷰에서 살아 있는 파이썬을 생생하게 느낄 수 있습니다. 파이썬 엔지니어라면 꼭 읽어보길 권합니다.

__허민, 한국외국어대학교 정보지원처


저자 프로필

쥘리앵 당주

  • 경력 소프트웨어 파이썬 개발

2021.01.15. 업데이트 작가 프로필 수정 요청

20년 가까이 자유 소프트웨어 해커로 활동하며, 파이썬으로 소프트웨어를 개발했다. 250만 줄이 넘는 코드가 파이썬으로 작성된 거대 오픈소스 오픈스택(OpenStack)의 분산 클라우드 플랫폼을 위한 프로젝트의 팀 리더로 일했다. 클라우드 개발 일을 하기 전에 윈도우 관리자를 개발했으며, 데비안(Debian)과 GNU 이맥스(Emacs)와 같은 다양한 소프트웨어 프로젝트에 기여했다.


저자 소개

쥘리앵 당주

20년 가까이 자유 소프트웨어 해커로 활동하며, 파이썬으로 소프트웨어를 개발했다. 250만 줄이 넘는 코드가 파이썬으로 작성된 거대 오픈소스 오픈스택(OpenStack)의 분산 클라우드 플랫폼을 위한 프로젝트의 팀 리더로 일했다. 클라우드 개발 일을 하기 전에 윈도우 관리자를 개발했으며, 데비안(Debian)과 GNU 이맥스(Emacs)와 같은 다양한 소프트웨어 프로젝트에 기여했다.

역자
김영하

새로운 기술에 관심이 많은 개발자이자 번역가. 삼성SDS, 미래에셋증권, GS홈쇼핑 등 기업에서 다양한 프로젝트에 참여해 실무 경력을 쌓았다. 현재는 디플러스에서 데이터 분석 연구원으로 일하며, 주로 인공지능과 데이터 분석 분야 강사로 활동한다. 새 기술과 최신 정보를 공유하고자 『안전한 인공지능 시스템을 위한 심층 신경망 강화』(한빛미디어, 2020), 『Do it! 데이터 분석을 위한 판다스 입문』(이지스퍼블리싱, 2018), 『파이썬 웹 스크래핑』(2017), 『Splunk 앱 제작과 대시보드 개발』(2016, 이상 에이콘출판사), 『뷰티풀 자바스크립트』(2016), 『누구나 쉽게 배우는 스몰베이직』(2016, 이상 비제이퍼블릭) 등을 번역했으며, EBS 이솦에서 데이터 분석 컨텐츠를 제작한다.

목차

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 마치며


리뷰

구매자 별점

2.0

점수비율
  • 5
  • 4
  • 3
  • 2
  • 1

2명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전