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

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

주석

파이썬 3 환경에서 가상 환경을 사용하는 방법은 가상 환경 친화적 앱 에서 논의합니다.

Virtualenv 는 시스템에 설치된 파이썬에 영향을 주지 않고 파이썬의 가상 환경을 유지할 수 있도록 합니다. 가상 환경에서는 파이썬 실행파일, 라이브러리 설치 장소 등이 따로 제공됩니다. 이 곳에 패키지를 설치해도 시스템의 파이썬이나 다른 가상 환경에는 영향을 주지 않도록 설계되어 있습니다.

이 글에서는 Virtualenv 를 사용해서 프로젝트 별 가상 환경을 구성하고, 편집기나 IDE 등이 가상 환경을 사용하도록 설정하는 방법을 살펴봅니다. 이제 막 파이썬의 기초를 마치신 분들도, 일찌감치 Virtualenv 를 활용하는 법을 익혀두시면 좋습니다.

이 글에서는 virtualenvwrapper 와 같이 virtualenv 를 확장하는 패키지는 다루지 않습니다. 특별한 이유는 없고, 단지 필요성을 느끼지 못해 사용하지 않고 있기 때문입니다. 하지만 Setuptools 는 저희의 프로젝트 관리에서 중요한 역할을 담당합니다. Virtualenv 도 Setuptools 와 연계될 때 더욱 유용해집니다. Setuptools 의 일부는 다루지만, 본격적인 Setuptools 의 활용은 별도의 글에서 다루겠습니다.

Read more...

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

지오지브라5 베타버전을 기준으로 파이썬 스크립팅에 대해 알아보겠습니다.

Read more...

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

지오지브라(GeoGebra)는 ’움직이는 수학’을 표방하는 무료 소프트웨어입니다. 가령 점을 만들고, 그 점을 중심으로 하는 원을 작도할 수 있습니다. 점과 원과의 관계가 계속 유지되기 때문에 점을 움직이면 원도 따라 움직입니다. 수학에 약간의 호감이라도 갖고 계신 분들께서는 금방 재미를 느끼실 수 있을 겁니다. 기하학만을 예로 들었지만 이름에서 추측해볼 수 있듯이 대수학도 포함하고 있습니다. GeoGebra 는 기하(Geometry)와 대수(Algebra)를 합성해서 만든 이름입니다. 꽤 오랜 시간 많은 사람들이 헌신적으로 노력해온 덕에 유럽과 미국의 교육 현장에서 널리 사용되고 있고, 최근에는 국내에서도 출판, 강의, 연수 등 관련 활동도 활발해지고 있습니다.

Read more...

나눗셈 이야기

파이썬 강의를 할 기회가 있었습니다. 아무런 배경 없이 기초부터 접근했는데, 정리하다 보니 파이썬의 나눗셈이 초보자에게는 그리 만만하지 않다는 것을 발견하게 되었습니다. 그래서 짧은 글을 쓰게 되었는데, 이 곳에도 올려둡니다. 기초적인 내용이라 너무 고급스러운 글을 기대하시는 분들에게는 적당하지 않습니다.

Read more...