메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

고성능 파이썬

파이썬 성능 잠재력을 끌어내는 실용적인 개발 전략서

한빛미디어

집필서

절판

  • 저자 : 미샤 고렐릭 , 이안 오스발트
  • 번역 : 김영근 , 오현석
  • 출간 : 2016-08-10
  • 페이지 : 424 쪽
  • ISBN : 9788968484995
  • eISBN : 9788968483073
  • 물류코드 :2499
  • 개정판정보 :개정판이 새로 출간되었습니다. 개정판 보기
  • 초급 초중급 중급 중고급 고급
1 2 3 4 5
4점 (6명)
좋아요 : 58

책소개

파이썬의 생산성에 컴파일 언어의 성능을 더하다

 

파이썬은 느리다? 이 책은 파이썬의 단 하나의 약점, 성능 문제를 해결해주는 다양한 전략을 소개한다. 파이썬의 관점에서 바라보는 컴퓨터 아키텍처와 동작 원리를 기본으로 깔고, 각종 라이브러리의 올바른 활용법, 행렬과 벡터 연산 가속, 메모리를 효율적으로 쓰는 법, 병목을 찾는 습관과 도구, 네이티브 코드로 컴파일하기 등을 배우고, 파이썬을 성공적으로 도입한 업계 선배들의 경험담과 전략을 듣게 될 것이다. 특히 한국어판에서는 저자의 동의를 얻어 파이썬 2로 작성된 원서의 예제 코드를 파이썬 3에서 실행할 수 있도록 수정하였다.

 

저자소개

미샤 고렐릭 저자

미샤 고렐릭

2033년 화성에 착륙한 최초의 인류이자 시간 여행에 기여한 공로로 2056년 노벨상을 수상했다. 그가 개발한 신기술이 악용되는 데 분노하여 2012년으로 돌아와서 시간 여행 연구를 그만두고 데이터와 사랑에 빠졌다. 그 후 머신러닝 응용 연구 실험실인 패스트 포워드 랩을 공동 창업하고, 도덕적 컴퓨팅에 관한 논문을 여러 편 저술하고, 윌킨스버그에 포괄적 공동체 공간인 커뮤니티 포지를 세우도록 도왔다. 2019년 도덕적 머신러닝 그룹인 프로버블 모델즈를 공동 설립하여 대화형 몰입형 연극인 프로젝트 아멜리아를 만들었다. 2020년 프랑스에서는 OCCRP의 기자들이 데이터에서 기삿거리를 찾도록 도왔다. 1857년 센트럴 파크에 그의 생을 기리는 기념비가 세워졌다.

 

이안 오스발트 저자

이안 오스발트

수석 데이터 과학자이자 코치이다. 700명 이상이 참석하는 연례 콘퍼런스인 PyData 런던과 회원이 1만 명 이상인 월례 미팅을 공동 설립했다. 런던의 모 컨설팅 데이터 과학을 운영하고, 국제 콘퍼런스에서 강사로 활동하며 종종 기조연설을 한다. 수석 데이터 과학자이자 트레이너, 팀 코치로 17년 이상 경력을 쌓았다. 취미로는 에너지 넘치는 스프링어 스파니엘과 함께 산책을 하고, 코니시 해변에서 서핑을 하며, 커피를 즐긴다. ianozsvald.com에서 그의 지난 강의와 글을 찾아볼 수 있다.

 

오현석 역자

오현석

모빌리티42 이사로 일하면서 매일 고객의 요청에 따라 코드를 만드는 현업 개발자다. 어릴 때 처음 접한 컴퓨터에 매료된 후 경기과학고등학교, KAIST 전산학 학사와 프로그래밍 언어 전공 석사를 취득하며 계속 컴퓨터를 사용했다. 직장에서는 주로 코틀린이나 자바를 사용한 서버 프로그래밍을 하고, 주말이나 빈 시간에는 번역을 하거나 공부하면서 즐거움을 찾는다. 『코어 파이썬 애플리케이션 프로그래밍』(에이콘, 2014)을 시작으로 『배워서 바로 쓰는 스프링 프레임워크』(2020), 『러닝 리액트(2판)』(2021), 『고성능 파이썬(2판)』(이상 한빛미디어, 2021) 등 30권 이상의 책을 번역했다.

 

 

김영근 역자

김영근

애플 II에서 BASIC으로 처음 프로그래밍을 시작했고, 장래 희망은 항상 프로그래머라고 말하고 다니다 정신 차리고 보니 어느덧 20년 경력을 훌쩍 넘긴 개발자가 되었다. 리눅스 커뮤니티에서 오랫동안 활동했으며 임베디드 환경에서부터 미들웨어, 웹, 스마트폰 애플리케이션에 이르기까지 다양한 분야에서 개발했다. 아시아 최초의 파이썬 소프트웨어 재단의 이사로 활동했으며 2014년 ‘파이콘 한국(PyCon Korea)’을 처음 시작했다. 스타트업 CTO로 재직 중이며 소프트웨어 마에스트로의 기술 멘토이기도 하다. 현재의 장래 희망은 장학 재단 설립이다. 한빛미디어에서 『리눅스 시스템 프로그래밍(개정2판)』(2014), 『고성능 파이썬』(2016)을 번역했다.

 

목차

1장. 고성능을 위한 파이썬 이해하기

__1.1 컴퓨터 시스템의 기본

__1.2 기본 구성 함께 보기

__1.3 파이썬을 쓰는 이유

 

2장. 프로파일링으로 병목 지점 찾기

__2.1 효과적으로 프로파일링하기

__2.2 쥘리아 집합

__2.3 전체 쥘리아 집합 계산하기

__2.4 시간을 측정하는 간단한 방법 - print와 데코레이터

__2.5 유닉스 time 명령어를 이용한 간단한 시간 측정

__2.6 cProfile 모듈 사용하기

__2.7 line_profiler로 한 줄씩 측정하기

__2.8 memory_profiler로 메모리 사용량 진단하기

__2.9 heapy로 힙 메모리 살펴보기

__2.10 dowser로 변수 생성을 실시간으로 확인하기

__2.11 dis 모듈로 CPython의 바이트코드 조사하기

__2.12 최적화 중에 단위 테스트하기

__2.13 성공적인 코드 프로파일링 전략

__2.14 마치며

 

3장. 리스트와 튜플

__3.1 더 효율적인 탐색

__3.2 리스트와 튜플

__3.3 마치며

 

4장. 사전과 셋

__4.1 사전과 셋의 동작 원리

__4.2 사전과 네임스페이스

__4.3 마치며

 

5장. 이터레이터와 제너레이터

__5.1 무한급수와 이터레이터

__5.2 제너레이터의 지연 실행

__5.3 마치며

 

6장. 행렬과 벡터 연산

__6.1 문제 소개

__6.2 파이썬의 리스트만으로 충분할까?

__6.3 메모리 단편화

__6.4 numpy를 이용한 확산 방정식 해법

__6.5 numexpr : 제자리 연산을 더 빠르고 간편하게 쓰기

__6.6 최적화 검증 scipy

__6.7 마치며

 

7장. C 언어로 컴파일하기

__7.1 가능한 속도 개선의 종류

__7.2 JIT 대 AOT 컴파일러

__7.3 타입 정보가 실행 속도에 영향을 주는 이유

__7.4 C 컴파일러 사용하기

__7.5 쥘리아 집합 예제 다시 보기

__7.6 Cython

__7.7 Shed Skin

__7.8 Cython과 numpy

__7.9 Numba

__7.10 Pythran

__7.11 PyPy

__7.12 각 기술을 언제 사용할까?

__7.13 외부 함수 인터페이스

__7.14 마치며

 

8장. 동시성

__8.1 비동기 프로그래밍 소개

__8.2 순차적 크롤러

__8.3 gevent

__8.4 tornado

__8.5 AsyncIO

__8.6 데이터베이스 예제

__8.7 마치며

 

9장. multiprocessing 모듈

__9.1 multiprocessing 모듈 소개

__9.2 몬테카를로 방식을 사용해 원주율 추정하기

__9.3 프로세스와 스레드를 사용해 원주율 추정하기

__9.4 소수 찾기

__9.5 프로세스 간 통신을 사용해 소수 검증하기

__9.6 multiprocessing과 numpy 데이터 공유하기

__9.7 파일과 변수 접근 동기화하기

__9.8 마치며

 

10장. 클러스터와 작업 대기열

__10.1 클러스터링의 이점

__10.2 클러스터링의 단점

__10.3 일반적인 클러스터 설계

__10.4 클러스터화한 해법을 어떻게 시작할 것인가?

__10.5 클러스터 사용 시 고통을 피하는 방법

__10.6 세 가지 클러스터링 솔루션

__10.7 강건한 프로덕션 클러스터링을 위한 NSQ

__10.8 살펴볼 만한 다른 클러스터링 도구들

__10.9 마치며

 

11장. RAM 아껴 쓰기

__11.1 원시 타입 객체는 비싸다

__11.2 컬렉션이 사용하는 RAM 이해하기

__11.3 바이트와 유니코드

__11.4 RAM에 수많은 텍스트를 효율적으로 저장하기

__11.5 RAM을 덜 사용하기 위한 팁

__11.6 확률적 자료구조

 

12장. 현장에서 얻는 교훈

__12.1 어댑티브랩의 소셜 미디어 분석, 소마(SoMA)

__12.2 RadimRehurek.com의 딥 러닝, 플라이(Fly)

__12.3 Lyst.com의 대규모 기계 학습

__12.4 스메시에서의 대규모 소셜 미디어 분석

__12.5 성공적인 웹과 데이터 처리 시스템을 위한 PyPy

__12.7 Lanyrd.com의 작업 대기열

출판사리뷰

프로토타이핑에서 실무 운영까지 살아가는 파이썬 코드의 비밀

아이디어 무한경쟁이 펼쳐지는 대(大)스타트업 시대! 높은 생산성으로 유명한 파이썬은 최우선 고려사항이다. 한 가지, 컴파일 언어 대비 느린 성능 때문에 성공한 서비스나 성능이 중요한 기능은 컴파일 언어로 다시 작성하곤 한다. 하지만 실무 운영까지 파이썬 코드를 계속 이어가는 방법이 있다면?

 

이 책은 파이썬을 둘러싼 설계와 작동 원리를 설명하고 이에 기반한 실용적인 구현 전략을 소개한다. 멀티코어 아키텍처와 클러스터의 이점을 활용하려면 어떻게 해야 하는가? 안정성을 잃지 않고 확장하는 방법은 무엇인가? 여러분은 이에 대한 명확한 해법을 찾고 방대한 소셜 데이터까지도 눈부신 속도로 처리해내는 파이썬 코드를 얻게 될 것이다.

 

 

주요 내용

  • numpy, Cython, 프로파일러 활용하기
  • 파이썬의 시선으로 바라보는 컴퓨터 아키텍처 이해하기
  • CPU 시간과 메모리 사용량을 프로파일링하여 병목 지점 찾기
  • 상황에 맞는 컬렉션으로 효율적인 프로그램 작성하기
  • 행렬과 벡터 연산 가속하기
  • 네이티브 코드로 컴파일하기
  • 대량의 I/O와 연산 동시 수행하기
  • 원격 클러스터로 병렬 처리하기
  • 적은 메모리로 대규모 데이터 처리하기

 

독자리뷰

오탈자 보기

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원 무료배송
닫기

리뷰쓰기

닫기
* 상품명 :
고성능 파이썬
* 제목 :
* 별점평가
1 2 3 4 5
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
고성능 파이썬
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
고성능 파이썬
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?