scikit-learn 자습서

역자덕에 출판된 책에 추천사를 써봤다. 여기 다시 옮길 필요는 없겠다. 늦었지만 기록을 위해 남겨둔다.

어차피 책 한 권 읽고 기계 학습을 마스터할 수는 없으니, 가리지 말고 두루 읽어야 한다. 꽤 정성들인 번역이니 처음 시작하기에 좋은 선택이다.

The Annotated Python Language Reference

이 참조 설명서는 언어의 문법과 "중심 개념들(core semantics)"을 설명한다. 딱딱하더라도 정확하고 완전해지려고 한다. 중심에서 벗어난 내장형, 내장 함수, 모듈들의 개념들은 파이썬 표준 라이브러리 에 기술되어 있다. 언어에 대한 비형식적인 소개는 파이썬 자습서 에서 제공된다. C와 C++ 프로그래머를 위해서는 두 개의 설명서가 따로 제공된다: 파이썬 인터프리터 확장 및 내장 는 파이썬 확장 모듈을 작성하는 방법에 대한 큰 그림을 설명하고, 파이썬/C API 레퍼런스 설명서 은 C/C++ 프로그래머에게 제공되는 인터페이스들을 상세하게 기술한다.

APLR

실제로 언어 레퍼런스는 딱딱할 뿐만 아니라 함축적이기 때문에 읽기가 매우 어렵습니다. 이 시리즈는 언어 레퍼런스에 상세한 주석을 붙여, 모호한 부분들에 대한 해석과, 관련 정보들을 제공해서 좀 더 이해하기 쉬운 버전으로 만듭니다. 이 과정에서 언어 레퍼런스의 정확성을 손상시키고 싶지는 않습니다. 때문에 언어 레퍼런스의 구조를 그대로 따르면서, 이런 식으로 주석을 제공합니다.

Read more...

인포그래픽 상식 모음

월스트리트저널 인포그래픽 가이드 - 9점
도나 M. 웡 지음, 이현경 옮김, 강규영 감수/인사이트

이 책이 처음 나왔을 때 한 권 사서 모두 읽어보라고 하고는, 정작 본인은 이제야 끝냈다. 고작 150쪽 정도되는 책이니 시간이 없어서라는 핑계도 대지 못하겠다.

문서나 웹 페이지로 그려놓은 도표들을 보면서 디테일한 부분들에서 불편함을 느끼는 경우가 많다. 소수점으로 정렬되지 않은 표를 볼 때, 명도 대비가 너무 약해서 가독성이 떨어지는 차트를 볼 때. 알록달록 하지만 뭘 보라는 것인지 모르겠을 때, 웹 디자인 시안의 품질이 도표가 들어간 페이지가 나올 때마다 곤두박질 칠 때… 그럴 때마다 이 책을 슬쩍 건내주고 싶다. 본인이 직접 해도 똑 같은 실수들을 저지를 것이 분명하기 때문에 손 닿는 곳에 꼽아둬야겠다. 최소한 이 책의 지침을 따르면 기본을 의심받는 일은 없을 것이기에.

실용적인 책이다. 저자의 다른 책이 있나 뒤져보았지만 찾지 못했다.

증분 대입문

그동안 프로젝트 하나를 진행하느라 바빠서 포스팅할 시간이 없었습니다. 제가 Functional Data Engineering Platform 이라고 부르는 것인데, 기계 학습을 위한 실용적인 실행 환경을 제공하는 제품입니다. 얼마전에 상용 환경에 투입되었고, 그럭 저럭 기대한 성능을 보여주고 있기 때문에, 이제 다른 곳에도 신경쓸 여유가 좀 생겼습니다. 이 제품에 대해서는 따로 소개할 기회가 있을겁니다. 오늘은 좀 더 가벼운 이야기나 나눠봅시다.

아무 생각 없이 쓰던 코드가 어느날 갑자기 이상하게 보일 때가 있습니다. 얼마전에 그런 경험을 했는데, 다음과 같은 코드입니다.

>>> l = []
>>> l += 'hello'
>>> l
['h', 'e', 'l', 'l', 'o']

Read more...

딕셔너리는 순서 있는 매핑

파이썬 3.7 부터 표준 딕셔너리 dict 가 삽입 순서를 보존합니다. 다음과 같은 코드가 항상 같은 결과를 준다는 뜻입니다.

>>> d = {}
>>> d['b'] = None
>>> d['a'] = None
>>> list(d)
['b', 'a']

Read more...

python-docs-ko

파이썬 도큐멘테이션의 한국어 번역을 위한 PSF 공식 git 저장소가 개설되었습니다.

그 동안의 작업들도 3.6 브랜치에 모두 푸시했습니다.

이 저장소는 docs.python.org 사이트의 빌드 스크립트가 읽어오는 장소입니다. PEP 545 가 정하고 있는 방식으로 이름을 붙입니다. 옆을 둘러보시면 python-docs-ja 나 python-docs-fr 같은 이름의 저장소들도 보실 수 있습니다.

파이썬 제너레이터

지난 글에서는, 생산자-소비자 패턴(Producer-Consumer Pattern)의 소비자 쪽의 코드를, 함축적이면서도 자연스럽게 기술할 수 있는 방법을 제공하는 이터레이터를 살펴봤습니다. 오늘은 생산자 쪽을 들여다봅니다.

Read more...

파이썬 이터레이터

대부분의 파이썬 튜토리얼들과는 달리 파이썬 3.3을 중심으로 기술하고 파이썬 2를 포함한 하위 버전에서 차이를 보이면 따로 설명합니다.

Read more...

asyncio - Python Tulip

주로 성능을 이유로 파이썬에서 비동기 IO가 인기를 얻고 있습니다. GIL (Global Interpreter Lock) 때문에 파이썬에서는 쓰레드를 통한 성능 향상을 꾀하기 어렵다는 점도 이런 경향을 더욱 가속화합니다. 이 영역에서 널리 알려진 이름들에는 Twisted, gevent, Tornado 등이 있습니다. 가장 오랜 역사를 자랑하는 Twisted 는 HTTP 뿐만 아니라 파이썬의 비동기 네트워크 엔진을 추구하고 있고, gevent 는 코루틴(Coroutine)이 콜백(callback)의 대안이 될 수 있음을 보여줬고, Tornado 는 스스로 웹 서버를 표방하고 있지만 Generator 기반의 코루틴 을 사용하는 프레임워크도 포함하고 있습니다. 잘 돌아가고 있는 듯 보이지만 이 들은 서로 호환이 되지 않는다는 문제가 있습니다. Gevent 로 작성한 채팅 서버를 Twisted로 이식하는 것은 처음부터 새로 작성한다고 생각하는 편이 좋습니다. 다른 조합도 상황은 크게 달라지지 않습니다. 한 프레임워크로 작성한 코드를 다른 프레임워크로 옮기는 것이 어렵다는 것이 그리 놀랄만한 일은 아닙니다. 하지만 이 프레임워크들이 공존할 수 있는 방법도 없는 걸까요? 최근 희망이 보이기 시작했습니다.

Read more...

숫자 인쇄하기

아들 녀석에게 프로그래밍을 가르쳐준답시고 “헬로! 컴퓨터프로그래밍” 이라는 책을 들여다 본적이 있습니다. 저자가 어린 아들에게 파이썬 프로그래밍을 설명한다는 형식을 취하고 있는 꽤 재미있는 책입니다. 책의 두 저자 중 한 명은 아들인데 초등학생이라고 합니다. 전체적으로 초등학생 수준에 맞추어져 있을 거라고 기대할 수 있지만, 그 보다는 살짝살짝 높은 기준을 넘나드는 부분들이 있습니다.

이 책의 62쪽을 보면 38.8 이라는 숫자에 관한 내용이 나옵니다.

Read more...