파이썬 모듈 관광 2회: imputil

지난 번 모듈 관광 1회의 뜨거운 성원에 힘입어 (;;)
2회를 준비했습니다. 으흐흣~
오늘은 역시 초기이니, 많이 안 알려진 것을 일부러 골라 봤는데요.
파이썬 표준라이브러리에 들어있지만 문서화가 안 되어 있고
책에서도 좀처럼 소개해주지 않기 때문에, 쓰는 곳도 찾기
힘든 그런 모듈로 이름은 imputil 입니다.

파이썬에서는 임포트 과정을 직접 조작할 수 있는데, 그 기능을
이용한 것이 대표적인게 바로 zipimport 모듈입니다. 그 덕분에
파이썬에서는 모듈을 zip에 묶어놔도 읽어들일 수 있게 되어
있는데요. 이 과정을 직접 만들려면 파이썬 내부 동작을
건드릴 부분이 많다보니 귀찮은 과정을 겪어야합니다.
이런 과정을 파이썬 언어스럽게 간단하게 해결할 수 있게
대충 껍데기를 만들어 놓은 것이 바로 imputil입니다.

관광에서는 역시 복잡한 걸 해 보면 안 되니까, 간단하게
파이썬 프로그램 확장자를 .py가 아니라 .pl인 것도 읽을
수 있게 고쳐봅시다. (-O-;;) 우선 foo.pl 라는 이름으로 파일을
만듭니다.

그리고 이제 imputil로 쓱싹~

플러그인에 괜히 자기 프로그램 이름을 붙여서 파이썬 아니고
뭔가 특별한 것인 척 할 때 좋겠죠? 🙂 괜히 암호화해 놨다가 풀면서 임포트하게 할 수도 있고.. 여러가지 응용이 가능하겠습니다.
— (플러그인 프레임워크를 위해 제어할 때는 마찬가지로 표준 모듈인 imp를 쓰면 멋있게 만들 수 있습니다.)

파이썬 모듈 관광 1회: ezpyinline

요새 블로그가 있다는 존재를 스스로 까먹을 정도로 안 썼더니만
뭔가 블로그 들어오기가 무서워서, 연재물을 하나 구상했습니다.
예전에 회사에서 한번 옆 사람한테 “모듈 관광”을 한번 시켜줬더니
좋아하길래 블로그 버전으로 모듈의 용도와 특징만 겉핥아보는
모듈관광 연재를 해 보려구요!

첫 관광명소(?)로 뭐가 좋을까 한참 고민을 하다가, 아무래도
첫회이니만큼 너무 잘 알려진 모듈을 하면 보는 분들이
지루하지 않을까 싶은 생각이 들었습니다. 그래서 결국 아무도
모를만한(;;) 모듈을 찾아봤는데 뭐 사실 인터넷에 다 있는데
아무도 모를리야 없을테고 그래도 잘 안 쓰지만 저는 매일매일
쓰는 모듈을 하나 건져 올려 봤습니다. 🙂

처음으로 소개해 드릴 모듈은 “ezpyinline“이라는 모듈인데,
이름에서 풍기듯 “쉽게 파이썬에 C를 인라인”할 수 있는 모듈입니다.
이런 건 전에도 몇 번 나오기는 했지만, 그래도 보통 시대 흐름에
따라서 요구사항이 달라지는데 오래 전에 나온 것은 스타일도 다르고
여러모로 취향이 다르니까 새것이 유지만 잘 되면 쓰기는 편할 것 같네요.

인라인 같은 요구사항이 있을 때는 보통 C로 간단하게 인터페이스를
줄인 다음에 pyrex를 쓰거나, SWIG같은 래퍼를 쓰거나, 아니면 직접 다 모듈을 짜버리는 방법이 정통적인 방법입니다.
간단한 것 할 때는 뭘 해도 상당히 귀찮죠. 파이썬은 역시 기동성이 힘! ez붙은 건 거짓말만 아니라면 다 한번씩은 봐 둘 가치가 있겠죠;

관광에 설명이 너무 많으면 안 되니 경치구경으로 대신합니다. 🙂

진정 보람을 느끼려면 항상 예전과 비교를.. ^.^

대략 10배 넘게 성능 향상이 있었습니다. 와우~! (뻔한 일에도 감동을;)

그래도 아무래도 타입이 조금만 복잡해져도 자동 처리가 난감해지고 하는 면이 있기 때문에,
아주 인터페이스를 단순화해서 임시 실험용으로 쓸 코드에서
C코드로 가속을 하고 싶을 때 유용할듯 합니다.

자 그럼 다음 이 시간에 또 만나요~ (TV 세계관광 프로그램 컨셉으로;;)

제주대 “오픈소스 개발 방법론”

지금은 제주도에 와 있습니다. ^^; 처음으로 제주도에 왔는데
나무도 다르고 바닷가 바위들도 희한하고 정말 신기하네요 ㅎㅎ;
올해 처음 개설된 제주대 컴퓨터공학전공의
오픈소스 개발 방법론
과목에 초청받아
버그, 패치, 스타일에 대해서 얘기를 하고 왔습니다.

전반적으로 작년에 했던 KLDP 10주년 행사의 오픈소스 프로젝트에 참여하기
내용과 비슷하게 실제 오픈소스 프로젝트에서 일어나는 여러 과정에
대해서 다루었는데, 수업에서 쓸 수 있게 좀 정상적인 포맷으로 바꿨습니다. [강의자료 받기]
저작권이 있는 그림들은 pdf에서 제거해서 좀 썰렁한 것은 양해 바랍니다;

제주대에는 처음 들어가면서도 우람한 나무들이 엄청나게 심겨있는
걸 보고 깜짝 놀랐는데, 학생들의 열의도 정말 대단했습니다.
수업시간에 그렇게 열심히 듣는 학생들을 본 건
학부, 대학원 다닌 경험 합해도 없었던 것 같아요. 거의 다른학교들에서
2000년대 들어서 순식간에 사라져버린 공대 학생들의 순수한 열정을
다시 볼 수 있어서 정말 감동적이었습니다. (나중에 들은 말로는
열의있는 학생들만 듣는 과목이어서 그랬을지도 모른다더군요 ^^;)
졸업한 청강생도 있고 출석률도 늦게 수강신청한 경우를 제외하고는 전체 인원이 25명인데도 100%! 이 과목으로 많은 대학생들이 오픈소스에 뛰어들 수 있게 될 것 같아서 무척 기대가 됩니다. 🙂