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...

Thread-Safety in Python

얼마 전에 한 파이썬 커뮤니티에서 이런 질문이 올라왔습니다.

Python에서 사전에 하는 입출력 연산이 원자적 연산인가요?
동기화된 사전 쓰레드가 하나 필요한데 입출력 연산에도 락을 걸어야 하나 해서요

문맥상으로 볼 때, 입력 연산은 딕셔너리에서 Key로 Value를 조회하는 것을 뜻하고, 출력이란 Key-Value Pair 를 등록하는 것을 뜻하는 것으로 보입니다. 결국 다음과 같은 문장들의 thread-safety 에 관해 묻고 있는 것입니다.

Read more...

파이썬 프로젝트 시작하기 - Nose

이 글은 프로젝트의 틀을 구성하는 방법에 관한 시리즈의 네 번째 글입니다. 앞선 포스트들의 목록은 다음과 같습니다.

오늘 다룰 내용은 Nose 를 사용한 테스트입니다.

Read more...

파이썬 프로젝트 시작하기 - Setuptools

이 글은 Setuptools 를 사용하여 프로젝트의 틀을 구성하는 방법에 관한 것으로, Virtualenv 와 Distutils 에 관한 내용을 담고 있는 다음 포스트에 이어지는 세 번째 글입니다.

Read more...

지오지브라와 파이썬의 만남 - Part 3

파이썬 스크립트가 어떤 식으로 동작하는지 확인했으니, 이제는 다듬어봅시다.

Locus 와 Trace

전에는 Locus 로 점 Q 의 자취를 그렸습니다. 작은 원이 큰 원의 둘레를 구르면서, 그 위의 점 QLocus 위를 지나가는 모습을 보여줍니다. 하지만 이 자취가 미리 그려져 있기 때문에 시각적인 효과가 그리 만족스럽지는 못합니다. 자취가 Q 가 지나온 자리까지만 그려진다면 더 좋겠습니다. 한번 바꿔봅시다.

지오지브라에서 이런 목적으로 Trace 라는 기능을 제공합니다만, 이 역시 시각적으로는 별로입니다. 점 Q 의 Trace 를 켜면, 듬성듬성 Q 가 지나온 지점들이 점으로 남을 뿐이고, 이마저 화면을 확대, 축소하면 지워져 버리고 맙니다. Trace 는 우리가 원하는 게 아닙니다.

Read more...