SlideShare a Scribd company logo
1 of 32
Download to read offline
“실전 파이썬 프로그래밍” 
오픈 소스 개발자가 알려주는 고급 기법과 실천법 
(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, 테스트 스트리밍 및 병렬 수행, 코트 커버리지
파이썬 메서드 
• 메서드와 함수의 차이 
• 메서드는 클래스의 속성이다. 그래서? 
• 속성에 바로 접근해보자
• 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
감사합니다 
인사이트 감사합니다! 협찬 5권!

More Related Content

What's hot

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

What's hot (20)

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

Viewers also liked

Python 표준 라이브러리
Python 표준 라이브러리Python 표준 라이브러리
Python 표준 라이브러리용 최
 
Python on Android
Python on AndroidPython on Android
Python on Android용 최
 
Python 테스트 시작하기
Python 테스트 시작하기Python 테스트 시작하기
Python 테스트 시작하기Hosung Lee
 
한양대학교 철학과 파이썬 스터디: 코딩 파이썬
한양대학교 철학과 파이썬 스터디: 코딩 파이썬한양대학교 철학과 파이썬 스터디: 코딩 파이썬
한양대학교 철학과 파이썬 스터디: 코딩 파이썬Yeongho Kim
 
간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기Kyoung Up Jung
 
Python 이해하기 20160815
Python 이해하기 20160815Python 이해하기 20160815
Python 이해하기 20160815Yong Joon Moon
 
파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)Heungsub Lee
 
Python 웹 프로그래밍
Python 웹 프로그래밍Python 웹 프로그래밍
Python 웹 프로그래밍용 최
 
Python 내장 함수
Python 내장 함수Python 내장 함수
Python 내장 함수용 최
 
[동유럽] 동유럽 여행안내서 (2012)
[동유럽] 동유럽 여행안내서 (2012)[동유럽] 동유럽 여행안내서 (2012)
[동유럽] 동유럽 여행안내서 (2012)Mal-Yong Yoon
 
QnA Blog Using Django - 회원가임/로그인폼, Post, 글보기
QnA Blog Using Django - 회원가임/로그인폼, Post, 글보기QnA Blog Using Django - 회원가임/로그인폼, Post, 글보기
QnA Blog Using Django - 회원가임/로그인폼, Post, 글보기Kwangyoun Jung
 
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기Joongi Kim
 
Python과 Git으로 만드는 모바일 게임 패치 시스템
Python과 Git으로 만드는 모바일 게임 패치 시스템Python과 Git으로 만드는 모바일 게임 패치 시스템
Python과 Git으로 만드는 모바일 게임 패치 시스템Youngtaek Oh
 
Python 개발자를 위한 최상의 무료 개발 도구 Visual Studio와 Visual Studio Code
Python 개발자를 위한 최상의 무료 개발 도구 Visual Studio와 Visual Studio CodePython 개발자를 위한 최상의 무료 개발 도구 Visual Studio와 Visual Studio Code
Python 개발자를 위한 최상의 무료 개발 도구 Visual Studio와 Visual Studio Code명신 김
 
Profiling - 실시간 대화식 프로파일러
Profiling - 실시간 대화식 프로파일러Profiling - 실시간 대화식 프로파일러
Profiling - 실시간 대화식 프로파일러Heungsub Lee
 
Character Encoding in python
Character Encoding in pythonCharacter Encoding in python
Character Encoding in pythondaesung7kang
 
[경제] 마케팅 이론과 사례 분석
[경제] 마케팅 이론과 사례 분석[경제] 마케팅 이론과 사례 분석
[경제] 마케팅 이론과 사례 분석Yongsoo Cho
 
[Ignite LG]인도 개발자와 프로젝트 성공시키는 - 문대호
[Ignite LG]인도 개발자와 프로젝트 성공시키는 - 문대호[Ignite LG]인도 개발자와 프로젝트 성공시키는 - 문대호
[Ignite LG]인도 개발자와 프로젝트 성공시키는 - 문대호Life's Good
 
Network programming in python..
Network programming in python..Network programming in python..
Network programming in python..Bharath Kumar
 
병렬 프로그래밍
병렬 프로그래밍병렬 프로그래밍
병렬 프로그래밍준혁 이
 

Viewers also liked (20)

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

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

18 2 파이썬표준라이브러리
18 2 파이썬표준라이브러리18 2 파이썬표준라이브러리
18 2 파이썬표준라이브러리Changwon National University
 
Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)정명훈 Jerry Jeong
 
맨땅에서 AI학습플랫폼을 만들기까지
맨땅에서 AI학습플랫폼을 만들기까지맨땅에서 AI학습플랫폼을 만들기까지
맨땅에서 AI학습플랫폼을 만들기까지Sunwoo Park
 
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발Jeongkyu Shin
 
Python(basic)
Python(basic)Python(basic)
Python(basic)POSTECH
 
[Tf2017] day1 jwkang_pub
[Tf2017] day1 jwkang_pub[Tf2017] day1 jwkang_pub
[Tf2017] day1 jwkang_pubJaewook. Kang
 
Open stack 세미나자료_장현정
Open stack 세미나자료_장현정Open stack 세미나자료_장현정
Open stack 세미나자료_장현정Nalee Jang
 
[온라인교육시리즈] Jupyter를 이용한 분석 환경 구축하기 - 허창현 클라우드 솔루션 아키텍트
[온라인교육시리즈] Jupyter를 이용한 분석 환경 구축하기 - 허창현 클라우드 솔루션 아키텍트[온라인교육시리즈] Jupyter를 이용한 분석 환경 구축하기 - 허창현 클라우드 솔루션 아키텍트
[온라인교육시리즈] Jupyter를 이용한 분석 환경 구축하기 - 허창현 클라우드 솔루션 아키텍트NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
함수형 프로그래밍
함수형 프로그래밍함수형 프로그래밍
함수형 프로그래밍QooJuice
 
Apache Htrace overview (20160520)
Apache Htrace overview (20160520)Apache Htrace overview (20160520)
Apache Htrace overview (20160520)Steve Min
 
Python & Spark
Python & SparkPython & Spark
Python & Sparkitproman35
 
Python을 활용한 챗봇 서비스 개발 1일차
Python을 활용한 챗봇 서비스 개발 1일차Python을 활용한 챗봇 서비스 개발 1일차
Python을 활용한 챗봇 서비스 개발 1일차Taekyung Han
 
2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료
2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료
2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료beom kyun choi
 
SOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AISOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AIJoongi Kim
 
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...hoondong kim
 

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

18 2 파이썬표준라이브러리
18 2 파이썬표준라이브러리18 2 파이썬표준라이브러리
18 2 파이썬표준라이브러리
 
Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)
 
파이썬으로 익히는 딥러닝
파이썬으로 익히는 딥러닝파이썬으로 익히는 딥러닝
파이썬으로 익히는 딥러닝
 
맨땅에서 AI학습플랫폼을 만들기까지
맨땅에서 AI학습플랫폼을 만들기까지맨땅에서 AI학습플랫폼을 만들기까지
맨땅에서 AI학습플랫폼을 만들기까지
 
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
 
1.introduction
1.introduction1.introduction
1.introduction
 
파이썬 데이터 분석 (18년)
파이썬 데이터 분석 (18년)파이썬 데이터 분석 (18년)
파이썬 데이터 분석 (18년)
 
Python(basic)
Python(basic)Python(basic)
Python(basic)
 
[Tf2017] day1 jwkang_pub
[Tf2017] day1 jwkang_pub[Tf2017] day1 jwkang_pub
[Tf2017] day1 jwkang_pub
 
Open stack 세미나자료_장현정
Open stack 세미나자료_장현정Open stack 세미나자료_장현정
Open stack 세미나자료_장현정
 
JetsonTX2 Python
 JetsonTX2 Python  JetsonTX2 Python
JetsonTX2 Python
 
[온라인교육시리즈] Jupyter를 이용한 분석 환경 구축하기 - 허창현 클라우드 솔루션 아키텍트
[온라인교육시리즈] Jupyter를 이용한 분석 환경 구축하기 - 허창현 클라우드 솔루션 아키텍트[온라인교육시리즈] Jupyter를 이용한 분석 환경 구축하기 - 허창현 클라우드 솔루션 아키텍트
[온라인교육시리즈] Jupyter를 이용한 분석 환경 구축하기 - 허창현 클라우드 솔루션 아키텍트
 
함수형 프로그래밍
함수형 프로그래밍함수형 프로그래밍
함수형 프로그래밍
 
Apache Htrace overview (20160520)
Apache Htrace overview (20160520)Apache Htrace overview (20160520)
Apache Htrace overview (20160520)
 
Python & Spark
Python & SparkPython & Spark
Python & Spark
 
Python을 활용한 챗봇 서비스 개발 1일차
Python을 활용한 챗봇 서비스 개발 1일차Python을 활용한 챗봇 서비스 개발 1일차
Python을 활용한 챗봇 서비스 개발 1일차
 
Java the good parts
Java the good partsJava the good parts
Java the good parts
 
2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료
2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료
2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료
 
SOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AISOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AI
 
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
 

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. 파이썬 메서드 • 메서드와 함수의 차이 • 메서드는 클래스의 속성이다. 그래서? • 속성에 바로 접근해보자
  • 10.
  • 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
  • 31.