SlideShare a Scribd company logo
“실전 파이썬 프로그래밍” 
오픈 소스 개발자가 알려주는 고급 기법과 실천법 
(Hacker’s Guide To Python) 
PyCon 12월 세미나 
김영후
책 홍보 세미나
지금 예판 중 
알라딘, YES24에서 검색 ㄱㄱ 
“실전 파이썬 프로그래밍”
My Python 
• new style class가 new일때쯤 정체 
• 의사코드 + indentation 
• 리스트 해석 
• 제네레이터 (는 프레임워크가 쓰라고 할때, Tornado)
책 소개 
• 저자 Julien Danjou 
• OpenStack 프로젝트의 개발자 
• 오픈소스 프로젝트에 가장 적합한 내용 
• 오픈소스 = 리모트 협업 
• 프로젝트 구조 
• API 설계 
• 환경설정 
• 문서화 
• 유닛테스트 테스크 커버리지
목차 
1. 1장 프로젝트 시작하기 
2. 2장 모듈과 라이브러리 
3. 3장 문서화 
4. 4장 배포 
5. 5장 가상 환경 
6. 6장 단위 테스트 
7. 7장 메서드와 데코레이터 
8. 8장 함수형 프로그래밍 
9. 9장 AST 
10.10장 성능과 최적화 
11.11장 확장과 아키텍처 
12.12장 관계형 데이터베이스와 ORM 
13.13장 파이썬 3 지원 전략
목록 
오픈소스 프로젝트의 실천법 
파이썬과 아키텍쳐 
1. 1장 프로젝트 시작하기 
2. 2장 모듈과 라이브러리 
3. 3장 문서화 
4. 4장 배포 
5. 5장 가상 환경 
6. 6장 단위 테스트 
7. 7장 메서드와 데코레이터 
8. 8장 함수형 프로그래밍 
9. 9장 AST 
10.10장 성능과 최적화 
11.11장 확장과 아키텍처 
12.12장 관계형 데이터베이스와 ORM 
13.13장 파이썬 3 지원 전략
1~6장 초간단 요약 
• 프로젝트 디렉토리 구조 
• 테스트는 어디에 두는게 좋은가 
• 코딩스타일 체크 pylint, pyflakes, flake8 등 
• import 후킹 
• 외부 라이브러리를 쓸 때 체크리스트 
• API 변경 관리 
• 문서화, 스핑크스, reST, 스핑크스 확장 
• 파이썬 배포 도구의 역사 distutils, setuptools, distribute, disutils2, packaging, distlib, pbr (이거 진짜 영화 
…) 
• pypi 에 공유하는 법 
• 가상환경 tox 
• unittest, fixture, mock, testscenario, 테스트 스트리밍 및 병렬 수행, 코트 커버리지
파이썬 메서드 
• 메서드와 함수의 차이 
• 메서드는 클래스의 속성이다. 그래서? 
• 속성에 바로 접근해보자
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
• Python 2: Unbound method 
• Python3: Function
• Python 2: Unbound method 
• Python3: Function
• Python 2 & 3: 메소드는 객체와 바운드된 함수
• Python 2 & 3: 바운드된 메소드에서 객체를 
__self__로 가지고 올 수 있음
• @staticmethod 
• @classmethod 
• import abc, abc = ABCMeta
책에서 봅시다
데코레이터
데코레이터 
• 데코레이터 사용으로 기존 함수의 정보가 날라감
• functools.update_wrapper @wraps
데코레이터 inspect 
• ‘username’이 키워드인자 **kwargs 온다는 가정
데코레이터 inspect 
• inspect.getcallargs는 딕셔너리를 돌려줌
함수형 
• lambda 대신 partial 
• x, y => x + y 함수혀 언어 (Int) -> (Int) -> (Int) 
• (Int, Int) -> (Int)가 아닌 이유
AST 
• ast 모듈 
• 파이썬 코드는 내부적으로 AST로 변환됨
Hy 
• http://hylang.org 
• 파이썬에서 리습 런타임을 만들다가 퍼포먼스에 좌절 
• 파이썬 AST로 컴파일 되는 리습언어 = Hy런타임은 파이썬 런타임 
• 파이썬 에코시스템을 완전히 이용가능 (Clojure보다 더) 
• “파이썬 컴파일러가 이 코드가 Hy로 작성되었는지 알기 어려운 수 
준” 
• Flask, Django 가능
성능과 최적화 
• cProfile 
• dis 
• bisect 
• __slot__과 namedtuple 
• memoization 
• PyPy
버퍼를 사용한 제로카피
확장과 아키텍쳐 
• 멀티스레딩과 멀티프로세싱 (GIL) 
• 비동기와 이벤트 기반 아키텍쳐 
• SOA, ZeroMQ
관계형 데이터베이스 
• ORM을 까는 시간 (인터뷰이가 PostgreSQL 파시스트) 
• 데이터베이스를 <저장소>로 여기지 말고 협력해라 
• select_by_id 같은걸 만들어서 유니크 확인 후 insert 
하지 말고 unique 한 컬럼을 만들고 DB 예외처리해 
라 
• PostgreSQL의 LISTEN, NOTIFY와 Flask를 이용한 
스트리밍 서버
파이썬3 
• tox로 파이선2와 파이썬3에 대해서 테스트 
• 오픈스택에서 eventlet을 썼다가 망한 이야기 (여전히 
파이썬3 지원안함) 
• six 모듈
싱글 디스패쳐 
• Common Lisp의 CLOS 
• 클래스 drum, stick, brushes
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
감사합니다 
인사이트 감사합니다! 협찬 5권!

More Related Content

PPTX
Python 생태계의 이해
PPTX
파이선 실전공략-1
PDF
20150306 파이썬기초 IPython을이용한프로그래밍_이태영
PDF
자바, 미안하다! 파이썬 한국어 NLP
PPTX
141103 최창원 파이썬 확장 프로그래밍
PDF
Python vs Java @ PyCon Korea 2017
PDF
파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)
PPTX
파이썬 스터디 9장
Python 생태계의 이해
파이선 실전공략-1
20150306 파이썬기초 IPython을이용한프로그래밍_이태영
자바, 미안하다! 파이썬 한국어 NLP
141103 최창원 파이썬 확장 프로그래밍
Python vs Java @ PyCon Korea 2017
파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)
파이썬 스터디 9장

What's hot (20)

PPTX
문과생 대상 파이썬을 활용한 데이터 분석 강의
PDF
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
PDF
GopherCon Korea 2015 - Python 개발자를 위한 Go (이경찬)
PDF
알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터
PDF
Writing Fast Code (KR)
PPTX
파이썬 스터디 15장
PDF
파이썬과 커뮤니티와 한국어 오픈데이터
PDF
Go로 새 프로젝트 시작하기
PDF
니름: 쉬운 SOA 단위 테스트
PDF
파이썬(Python) 소개
PDF
1.Introduction to Python and TensorFlow
PDF
Sublime Text 3 for python and django
PPTX
The beginner’s guide to 웹 크롤링 (스크래핑)
PDF
모두의 JIT 컴파일러
PDF
파이썬을 배워야하는 이유 발표자료 - 김연수
PDF
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영)
PPTX
Python - Module
PDF
H3 2011 파이썬으로 클라우드 하고 싶어요
 
PDF
알고리즘 시각화 라이브러리 ipytracer 개발기
PDF
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
문과생 대상 파이썬을 활용한 데이터 분석 강의
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
GopherCon Korea 2015 - Python 개발자를 위한 Go (이경찬)
알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터
Writing Fast Code (KR)
파이썬 스터디 15장
파이썬과 커뮤니티와 한국어 오픈데이터
Go로 새 프로젝트 시작하기
니름: 쉬운 SOA 단위 테스트
파이썬(Python) 소개
1.Introduction to Python and TensorFlow
Sublime Text 3 for python and django
The beginner’s guide to 웹 크롤링 (스크래핑)
모두의 JIT 컴파일러
파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영)
Python - Module
H3 2011 파이썬으로 클라우드 하고 싶어요
 
알고리즘 시각화 라이브러리 ipytracer 개발기
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
Ad

Viewers also liked (20)

PPTX
Python 표준 라이브러리
PPTX
Python on Android
PDF
Python 테스트 시작하기
PPTX
한양대학교 철학과 파이썬 스터디: 코딩 파이썬
PDF
간단한 블로그를 만들며 Django 이해하기
PPTX
Python 이해하기 20160815
PDF
파이썬 생존 안내서 (자막)
PPTX
Python 웹 프로그래밍
PPTX
Python 내장 함수
PDF
[동유럽] 동유럽 여행안내서 (2012)
PDF
QnA Blog Using Django - 회원가임/로그인폼, Post, 글보기
PDF
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
PDF
Python과 Git으로 만드는 모바일 게임 패치 시스템
PPTX
Python 개발자를 위한 최상의 무료 개발 도구 Visual Studio와 Visual Studio Code
PDF
Profiling - 실시간 대화식 프로파일러
PDF
Character Encoding in python
PPT
[경제] 마케팅 이론과 사례 분석
PPT
[Ignite LG]인도 개발자와 프로젝트 성공시키는 - 문대호
PPT
Network programming in python..
PDF
병렬 프로그래밍
Python 표준 라이브러리
Python on Android
Python 테스트 시작하기
한양대학교 철학과 파이썬 스터디: 코딩 파이썬
간단한 블로그를 만들며 Django 이해하기
Python 이해하기 20160815
파이썬 생존 안내서 (자막)
Python 웹 프로그래밍
Python 내장 함수
[동유럽] 동유럽 여행안내서 (2012)
QnA Blog Using Django - 회원가임/로그인폼, Post, 글보기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python과 Git으로 만드는 모바일 게임 패치 시스템
Python 개발자를 위한 최상의 무료 개발 도구 Visual Studio와 Visual Studio Code
Profiling - 실시간 대화식 프로파일러
Character Encoding in python
[경제] 마케팅 이론과 사례 분석
[Ignite LG]인도 개발자와 프로젝트 성공시키는 - 문대호
Network programming in python..
병렬 프로그래밍
Ad

Similar to PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보 (20)

PDF
『고성능 파이썬』 - 맛보기
PDF
파이썬 소개
PDF
Light Tutorial Python
PDF
파이썬 데이터 분석 (18년)
PDF
20160126_python
PDF
18 2 파이썬표준라이브러리
PDF
1 Python기초 오리엔테이션
PDF
파이썬 소개
PPTX
땅울림 파이썬 스터디 intro
PPTX
Hello python 오리엔테이션(파이썬 스터디, 발표자료)
PPTX
코딩은 문제해결이다 (도구로써 파이썬)
PPTX
빠르게 활용하는 파이썬3 스터디(ch1~4)
PDF
(독서광) 클린코드 이제는 파이썬이다
PDF
파이썬으로 익히는 딥러닝
PPTX
Python
 
PDF
[2015-05월 세미나] 파이선 초심자의 Openstack
PDF
01 built in-data_type
PPTX
파이썬 쪼렙 탈출 1주차
PDF
파이썬2.7 기초 공부한 것 정리
PDF
Python Recipes for django girls seoul
『고성능 파이썬』 - 맛보기
파이썬 소개
Light Tutorial Python
파이썬 데이터 분석 (18년)
20160126_python
18 2 파이썬표준라이브러리
1 Python기초 오리엔테이션
파이썬 소개
땅울림 파이썬 스터디 intro
Hello python 오리엔테이션(파이썬 스터디, 발표자료)
코딩은 문제해결이다 (도구로써 파이썬)
빠르게 활용하는 파이썬3 스터디(ch1~4)
(독서광) 클린코드 이제는 파이썬이다
파이썬으로 익히는 딥러닝
Python
 
[2015-05월 세미나] 파이선 초심자의 Openstack
01 built in-data_type
파이썬 쪼렙 탈출 1주차
파이썬2.7 기초 공부한 것 정리
Python Recipes for django girls seoul

PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보

  • 1. “실전 파이썬 프로그래밍” 오픈 소스 개발자가 알려주는 고급 기법과 실천법 (Hacker’s Guide To Python) PyCon 12월 세미나 김영후
  • 3. 지금 예판 중 알라딘, YES24에서 검색 ㄱㄱ “실전 파이썬 프로그래밍”
  • 4. My Python • new style class가 new일때쯤 정체 • 의사코드 + indentation • 리스트 해석 • 제네레이터 (는 프레임워크가 쓰라고 할때, Tornado)
  • 5. 책 소개 • 저자 Julien Danjou • OpenStack 프로젝트의 개발자 • 오픈소스 프로젝트에 가장 적합한 내용 • 오픈소스 = 리모트 협업 • 프로젝트 구조 • API 설계 • 환경설정 • 문서화 • 유닛테스트 테스크 커버리지
  • 6. 목차 1. 1장 프로젝트 시작하기 2. 2장 모듈과 라이브러리 3. 3장 문서화 4. 4장 배포 5. 5장 가상 환경 6. 6장 단위 테스트 7. 7장 메서드와 데코레이터 8. 8장 함수형 프로그래밍 9. 9장 AST 10.10장 성능과 최적화 11.11장 확장과 아키텍처 12.12장 관계형 데이터베이스와 ORM 13.13장 파이썬 3 지원 전략
  • 7. 목록 오픈소스 프로젝트의 실천법 파이썬과 아키텍쳐 1. 1장 프로젝트 시작하기 2. 2장 모듈과 라이브러리 3. 3장 문서화 4. 4장 배포 5. 5장 가상 환경 6. 6장 단위 테스트 7. 7장 메서드와 데코레이터 8. 8장 함수형 프로그래밍 9. 9장 AST 10.10장 성능과 최적화 11.11장 확장과 아키텍처 12.12장 관계형 데이터베이스와 ORM 13.13장 파이썬 3 지원 전략
  • 8. 1~6장 초간단 요약 • 프로젝트 디렉토리 구조 • 테스트는 어디에 두는게 좋은가 • 코딩스타일 체크 pylint, pyflakes, flake8 등 • import 후킹 • 외부 라이브러리를 쓸 때 체크리스트 • API 변경 관리 • 문서화, 스핑크스, reST, 스핑크스 확장 • 파이썬 배포 도구의 역사 distutils, setuptools, distribute, disutils2, packaging, distlib, pbr (이거 진짜 영화 …) • pypi 에 공유하는 법 • 가상환경 tox • unittest, fixture, mock, testscenario, 테스트 스트리밍 및 병렬 수행, 코트 커버리지
  • 9. 파이썬 메서드 • 메서드와 함수의 차이 • 메서드는 클래스의 속성이다. 그래서? • 속성에 바로 접근해보자
  • 11. • Python 2: Unbound method • Python3: Function
  • 12. • Python 2: Unbound method • Python3: Function
  • 13. • Python 2 & 3: 메소드는 객체와 바운드된 함수
  • 14. • Python 2 & 3: 바운드된 메소드에서 객체를 __self__로 가지고 올 수 있음
  • 15. • @staticmethod • @classmethod • import abc, abc = ABCMeta
  • 18. 데코레이터 • 데코레이터 사용으로 기존 함수의 정보가 날라감
  • 20. 데코레이터 inspect • ‘username’이 키워드인자 **kwargs 온다는 가정
  • 21. 데코레이터 inspect • inspect.getcallargs는 딕셔너리를 돌려줌
  • 22. 함수형 • lambda 대신 partial • x, y => x + y 함수혀 언어 (Int) -> (Int) -> (Int) • (Int, Int) -> (Int)가 아닌 이유
  • 23. AST • ast 모듈 • 파이썬 코드는 내부적으로 AST로 변환됨
  • 24. Hy • http://hylang.org • 파이썬에서 리습 런타임을 만들다가 퍼포먼스에 좌절 • 파이썬 AST로 컴파일 되는 리습언어 = Hy런타임은 파이썬 런타임 • 파이썬 에코시스템을 완전히 이용가능 (Clojure보다 더) • “파이썬 컴파일러가 이 코드가 Hy로 작성되었는지 알기 어려운 수 준” • Flask, Django 가능
  • 25. 성능과 최적화 • cProfile • dis • bisect • __slot__과 namedtuple • memoization • PyPy
  • 27. 확장과 아키텍쳐 • 멀티스레딩과 멀티프로세싱 (GIL) • 비동기와 이벤트 기반 아키텍쳐 • SOA, ZeroMQ
  • 28. 관계형 데이터베이스 • ORM을 까는 시간 (인터뷰이가 PostgreSQL 파시스트) • 데이터베이스를 <저장소>로 여기지 말고 협력해라 • select_by_id 같은걸 만들어서 유니크 확인 후 insert 하지 말고 unique 한 컬럼을 만들고 DB 예외처리해 라 • PostgreSQL의 LISTEN, NOTIFY와 Flask를 이용한 스트리밍 서버
  • 29. 파이썬3 • tox로 파이선2와 파이썬3에 대해서 테스트 • 오픈스택에서 eventlet을 썼다가 망한 이야기 (여전히 파이썬3 지원안함) • six 모듈
  • 30. 싱글 디스패쳐 • Common Lisp의 CLOS • 클래스 drum, stick, brushes