연도 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2008 2 8 3 10 6 3 4 6 6 2 1
2007 3 13 10 2 4 4 6 2 3 4 3
2006 15 12 24 7 11 9 11 5 14 6 7 5
2005 5 8 17 14 13 16 10 12 11 17 9 13
2004 26 23 20 22 26 24 20 24 12 19 18 10
2003 4 27 38 32 35 36 29

2008년 08월

전문가가 되기 위한 파이썬 책

Expert Python Programming

나와 있는 파이썬 책은 대부분 "파이썬 1주일 만에 배우세요!" 아니면 "파이썬으로 뭐시기 하기" 두 부류였습니다. 아무래도 파이썬이 배우기 쉬운 언어처럼 보이는게 주요 마케팅 요소다 보니까, 쉽게 배워서 어디다가 써 먹는 것 밖에 없었는데요. 얼마 전에 전문가 파이썬 프로그래밍(Expert Python Programming)이라는 책의 출간 소식이 발표됐습니다. 그동안 파이썬 자체를 주제로 하면서 초보서적이 아닌 것은 거의 Python Essential Reference밖에 없었기에 무척 기대가 되어서 당장 내용을 살펴 봤습니다. :) 아직 출간이 안 돼서 내용은 못 봤는데 목차가 공개되어 있네요~

다루고 있는 내용은 패키지 관리, 빌드, 네이밍, 테스트 주도 개발, 지속적 통합, 소프트웨어 개발 사이클, 최적화 등이 있어서 전반적으로 파이썬 문법이나 내부 구조에 대한 것 보다는, 오랫동안 파이썬 개발을 하다보면 얻을 수 있는 경험적 지식이 들어 있습니다. 대충 파이썬 고급서가 나오면 아무래도 파이썬 내부구조나 VM자체, 개념 같은 것을 다루지 않을까 생각했는데, 일일이 찾아서 배울 수는 있지만 처음 접근하기가 쉽지 않은 것들을 그런대로 잘 모아놓은 것 같네요~

파이썬을 쓰다보면 언제든 한 번은 만날 만한 것들을 빨리 배울 수 있게 잘 모아놓긴 했지만, 제목과는 달리 전체적으로 소프트웨어 개발 공정에 관련된 것들만 듬성듬성 다룬 것 같은 느낌이 약간 나긴합니다. 그래도 이런 책이 나왔다는 것은 매우 반갑네요. :)

가격은 $40인데 여러 권 사면 할인도 해 준다고 합니다. 신기하게도 한국도 무료배송 지역이군요. -ㅇ-;

댓글 3 개 | 트랙백 0 개 (보낼곳) | 태그 python


파이썬 페차쿠차를 마치고~

파이썬 페차쿠차를 마치고 막 대전에 돌아왔습니다. 오늘은 비도 계속 추적추적 내리고 주말 저녁이기도 해서 걱정이 좀 됐었는데, 90%를 훨씬 넘는 완벽한 출석률로 좋은 시간 가졌습니다~

이번 페차쿠차는 12장으로 줄이고 첫 장, 마지막 장의 시간 제한을 없애는 약간의 변형을 거쳤는데, 원래 예상했던 것 보다 훨씬 다들 준비를 많이 해 오셔서 이렇게 짧은 시간에 많은 얘기를 들은 적이 있을까 싶을 정도로 압축적인 경험 전달이 된 것 같습니다. 다들 어쩜 말씀을 잘 하시는지 그냥 말 하셔도 20초에 딱 맞을 것 같은 분들도 있고.. :) -- 사실 중간에 잠시 생각했던 대로 50명 이상이 참가하는 행사로 키웠으면 발표하는 분들에게 부담감이 좀 가서 제대로 진행되지 못했을 것 같다는 느낌이 들었습니다. 이번에 페차쿠차 경험을 좀 쌓았으니 다음에는 더 크게도 할 수 있을 것 같네요!

우선 정말 다양한 (하나도 겹치는 분야가 없었어요!) 분야에서 파이썬을 쓰시는 분들이 모여서 얘기하다보니 쓰이는 곳을 알았다는 것 뿐만 아니라, 앞으로 뭔가 궁금한 게 있으면 누구한테 물어봐야할 지 알았다는 것도 참 유익했습니다. 회사에서 파이썬을 도입한 과정이나 문제해결 과정을 조금씩 엿볼 수 있었던 것도 다른 곳에서 파이썬을 도입하는 데 어려움을 겪고 있는 분들께 전해주기 좋은 경험이었던 것 같네요.

형식적으로는, 20초는 매우 적절한 시간이라는 느낌을 받았고요, 보통 20초면 시간이 좀 모자라거나 남을 때도 쉽게 따라잡거나 약간 덧붙여서 유연하게 넘어갈 수 있는 아주 좋은 간격인 것 같네요. 그리고 시간 제약이 정확히 있다보니 지나치게 구체적인 설명은 아무래도 피하게 돼서, 대부분이 집중해서 관심있게 들을 수 있고, 질문할 시간이 잊기 전에 오기 때문에 대화를 시작하는 역할까지도 하게 돼서 좋았습니다. 12장도 이번 주제에서는 적절했던 것 같은데, 기술적인 내용 같은 경우에는 어떨지 아직 잘 감은 안 오네요.

이번에는 발표가 모두 13분이 하셨기 때문에 미리 짜면 아무래도 페차쿠차는 처음이라 긴장도 되고 할 것 같아서 아예 순서를 알 수 없게 파이썬의 random.shuffle()을 써서 순간순간 자동으로 슬라이드가 열리게 했습니다. :)

import random
import os

os.chdir('페차쿠차/QT')

presenters = []

while True:
    cmd = raw_input('> ')
    if not cmd.strip():
        if not presenters:
            print "끝났습니다. 짝짝!"
            raise SystemExit
        next = presenters.pop()
        print next + "님 하세요!"
        os.system("open %s.mov" % next)
    else:
        presenters.extend(cmd.split())
        random.shuffle(presenters)
        print len(presenters)

중간에라도 온 사람 이름을 입력한 다음에, 엔터를 치면 "누구님 하세요!" 하면서 그 사람의 슬라이드를 열어줍니다. ^^; 다음에 누가 할 지 모르기 때문에 긴장 없이 들을 수 있습니다.;;; (뒤에 남은 분들은 약간 -ㅇ-)

슬라이드는 이번에 파워포인트, 키노트, 임프레스 세가지 포맷 중 하나로 미리 이틀 전에 제출받았는데, 동영상 출력 기능이 가장 적절한 키노트로 모두 변환한 다음 키노트에서 20초 자동넘김 지정을 해서 QuickTime 동영상으로 만들었습니다. 미리 변환을 동영상으로 주우욱 해 뒀던 건 아무래도 4분이 짧기 때문에 발표자가 바뀔 때 빨리 바뀔 수 있게 한 것인데 괜찮았던 것 같네요.

이번에 발표 동영상은 미지리서치의 도움으로 촬영을 하기는 했지만, 테이프에 문제가 좀 있어서 앞부분 반 정도만 촬영이 제대로 되었구요. 발표자분들이 요청하신 기업기밀보호(^^;)를 위해 편집한 다음에 공개할 계획입니다.

파이썬 뿐만 아니라 분야별, 기술별, 모임주제별 다양한 페차쿠차들이 많이 생기면 좋겠네요~

댓글 9 개 | 트랙백 0 개 (보낼곳) | 태그 python


비슷한 글에는 비슷한 친구들이 댓글을 달까?

인터넷에서 글을 쓰다보면 "왠지 이 글에는 누구 누구가 댓글을 달겠구나."하고 느낌이 강하게 올 때가 있습니다. 글 올리고 나서 열심히 10분마다 리프레시 하다가 (;;;) 누가 댓글을 딱 달면 "역시 낚였구나!" 하기도 하고.. -ㅇ-; 그렇다면 댓글을 누가 썼는지만 봐도 대략 글 내용을 추정할 수도 있지 않을까요? 그래서 오늘은 미투데이에서 댓글 쓴 친구 목록만 가지고 비슷한 글끼리 묶고 각 친구들의 성향을 분석해 봤습니다. (이제 점점 무슨 인터넷통계 블로그로 변신을 --;)

분석대상은 여러가지 요인들을 고려할 볼 겨를도 없이 그냥 한국 IT블로그계의 여왕벌 이지님의 최근 2달 글로 했습니다. :) (미리 이지님과 댓글을 쓰신 친구분들께 양해를 구하지 못한 점 죄송합니다~)

분석 과정

우선 가설은 "비슷한 글에는 비슷한 친구들이 댓글을 단다."로 세웠습니다. 그 후의 분석과정은 생략하고 Orange의 플로우 그림으로 대체합니다. 최초 입력은 친구가 각각 해당 글에 댓글을 썼는지 여부를 0/1로 표시한 큰 행렬에서 몇 종류의 노이즈를 제거했습니다.

댓글 경향 분석 과정 (Orange)

비슷한 댓글을 다는 친구 묶음

이렇게 해서 나온 결과로 각 친구들끼리 얼마나 비슷한 글에 댓글을 달고 있는지를 보여주는 다음 그림이 나왔습니다.

비슷한 댓글을 다는 친구 클러스터 큰 그림

비슷한 경향의 친구들끼리 같은 클러스터(색깔)로 묶였는데, 파란색(1) 묶음은 다른 묶음에 비해 다양한 친구들이 묶여있고, 다른 묶음들은 각기 독특한 경향이 있습니다. 위 그림은 7가지 글에서 댓글을 달았는지 여부를 가지고 각 친구들 경향을 눈으로 잘 보이게 그림으로 그린 것인데요. 각 글(회색점, 글 내용은 흰색 네모)에 댓글을 쓴 경우에 점에 가깝게 표시되어 있습니다. 14, 39번 글에 파란색 친구들이 많이 몰려있고, 83번 글에는 빨간색 친구들이 많이 몰려 있습니다.

파란색 친구들은 대체로 누구나 쉽게 글을 달 수 있는 글에 댓글을 단 경우가 많았고요, 빨간색, 초록색 친구들은 각기 독특한 성향이 있었는데, 윗 그림에서는 잘 나타나지는 않았지만, 빨간색은 학술적인 글이 많이 포함되어 있었고, 초록색은 친한 친구들이 댓글을 달 만한 글들이 많았던 것 같네요.

비슷한 친구들이 댓글을 다는 글들의 묶음

실제 위에서 나타난 친구묶음들의 분포를 기준으로 다시 글의 분포를 구성해 보면

비슷한 친구들이 댓글을 다는 기준으로 글을 분류

그림이 글을 표시하기는 좀 빽빽해서 각 친구묶음들이 선호하는 글의 대표적인 사례 몇 가지를 뽑으면 이렇습니다. (전체 텍스트 목록)

친구묶음 1(파란색)이 좋아하는 글

친구묶음1친구묶음2친구묶음3친구묶음4 댓글수 내용
0.640.200.250.00 44 <다찌마와 리> 시사회 티켓 득템~♬ (근데 너무 바빠서 갈 수 있을지…)
0.430.200.000.00 87 (삼계탕 말고) 보양식으로 무엇이 있나요?! 몸이 좀 허해진 것 같아서… 내일 좀 챙겨먹으려구요.
0.360.200.000.00 27 (집에서는 커피 금지령이 내린 관계로) 밤샘 작업을 위해 할 수 없이 커피를 사왔는데, 이렇게 맛이 없을 수가… 야식 배달 전문점 말고, 밤샘 커피 배달 전문점이 있다면 얼마나 좋을까…
0.140.000.000.00 46 이제 미투사무실 왔어요~♥

친구묶음 2(빨간색)이 좋아하는 글

친구묶음1친구묶음2친구묶음3친구묶음4 댓글수 내용
0.00 1.000.000.17 40 미투데이 사례로 논문 쓰려니 힘들어요. 왜냐구요?! 자료가 너무 없어~ 조만간 미투 사무실 습격해야겠다~ 요구하는 정보 다 내놔라!
0.14 0.400.000.00 33 어떤 논문에서, “(…) frequent IM users tend to exchange shorter messages over a longer period of time, and they are more likely to engage in multitasking.”
0.07 0.400.000.17 24 어떤 논문을 보니, dodgeball 창업자는 자사 서비스에 대해 “facilitating serendipity”라고 말했더라. 이 대목에서 난 너무 웃었다. 이쯤되면, 만박 님도 한말씀 하셔야죠? 미투에 커플이 몇인데! ^-^
0.07 0.400.250.00 21 한국언론재단의 2008년도 수용자 의식조사에 따르면, 매체 영향력 및 매체신뢰도 조사 결과가… 1위 KBS, 2위 MBC, 3위 NAVER라고. (오늘 각각 1위부터 10위까지 봤는데 좀 놀라웠어요. 조사를 어떻게 했는지…)

친구묶음 3(초록색)이 좋아하는 글

친구묶음1친구묶음2친구묶음3친구묶음4 댓글수 내용
0.140.00 0.750.17 48 어제 득템한 노트북~ 잘되네~♬
0.070.20 0.750.00 22 무언가를 반드시 쟁취하고자 하는 욕망, 이라는 것이 없는 사람.
0.140.20 0.750.00 37 A Grammar of the Multitude. 나에게는 이 책이 두 권 있다. 나머지 한 권으로 무엇을 하면 좋을까~?!
0.070.00 0.500.00 9 시간은 왜 항상 부족할까…

친구묶음 4(주황색)이 좋아하는 글

친구묶음1친구묶음2친구묶음3친구묶음4 댓글수 내용
0.000.000.00 0.50 17 이 책을 편의점(!)에서 파는 것을 보고, “이 정도로 베스 트셀러야?!”하며 경악했던 적이 있는데. 정말 많이 팔렸구나. 울 엄마 말씀으로는, 외숙 모들도 다 읽으셨단다. (엄마도 요즘 읽고 계신다…)
0.000.000.00 0.50 19 1976년 생인 이 책의 저자는 도쿄대학교 대학원 박사과정을 “수료 후 자퇴”했다. 꾸준히 논문과 저서를 발표하고 있고, 박사논문을 포기할 상황도 아니고, 후속 연구도 정했고, 다른 직장으로 외도한 적도 없고, 지도교수와의 관계도 좋은데… 왜?!
0.570.000.50 0.83 68 2년 동안 함께 만든 책인데, <문화관광부 우수학술도서>로 선정되었어요!!! 글 쓰고, 편집하고, 섭외하고… 열심히 뛴 보람이 있구나~ㅠ_ㅜ ( “보람”이라는 단어는 이럴 때 쓰는 건가봐~)
0.140.000.25 0.50 24 이 책의 원제는 [불안형 내셔널리즘의 시대]. 그런데 역서 제목이 이렇게 뽑혀버려서~ 마치 가벼운(!) 시사평론집처럼 느껴진다. (사실은 그렇지 않 은데~ 한번쯤 읽어봐도 괜찮은 책인데~ 주위에서 이 책 구입한 사람 나밖에 없어~ㅠ_ㅜ)

각 친구묶음의 각 글에 대한 경향

위 결과에서 보면, 2, 4 묶음은 비교적 뚜렷한 경향이 있는데, 1과 3은 아주 눈에 띄지는 않습니다. 그래서, 각 친구묶음이 다른 친구들이 더 좋아하는 글들에도 댓글을 쓰는 경향이 얼마나 되는지 봤습니다. 즉, 자기 취향의 글에 대한 일편단심 충성도(?)라고 볼 수도 있겠죠.

친구묶음들이 각 다른 취향의 글에 댓글을 다는 경향

이렇게 보면 뚜렷하게, 첫번째 묶음 (파란색)은 뚜렷한 경향없이 평균적으로 모든 취향의 글에 댓글을 달고, 다른 친구묶음의 친구들은 뚜렷한 취향을 가지고 "책 관련 된 글" 또는 "행사/학술 관련된 글"에만 댓글을 달고 있다는 것을 볼 수 있습니다. (그래프의 수치는 해당 친구묶음 내의 관련 글묶음 댓글 빈도 %) 그리고, 또 특이한 것은 파란색과 초록색은 모두 일상생활 또는 사적인 감정에 대한 글들 취향이었는데, 초록색은 누구나 댓글을 쉽게 다는 파란색 취향에는 오히려 댓글을 더 적게 달았군요. ^^;

정리

대략적으로 가설에서 세웠던 것대로, 적지 않은 친구들이 뚜렷한 자기 취향을 갖고 관심 글에만 댓글을 달고 있다는 것을 확인할 수 있었고요, 이를 토대로 댓글을 단 친구의 구성만 봐도 대략적인 글 내용이나 성향을 파악할 수 있다는 것을 알게 되었습니다.

사실 뭐 누구나 이미 감으로 알고 있는 것이지만.. 그냥... 진짜 그런지 확인해 보고 싶었어요 ^^;;

덧붙임: 여기서는 k-means clustering과 빈도수 샘플링 같은 간단한 것들만 사용했는데, 실제로 이 모델을 제대로 묘사하려면 MCMC EM같은 숨은 확률을 반영할 수 있는 도구를 써야할 것 같습니다.

댓글 8 개 | 트랙백 0 개 (보낼곳) | 태그 happyhacking


파이썬마을 페차쿠차 - 파이썬 경험 나누기

얼마 전에 파이썬 마을 모임에 대한 얘기를 올리고 많은 분들이 관심을 보여 주셨는데, 제가 한동안 재미있는 삶에 빠져서 놀다가 깜빡해서;; 좀 정리를 해서 구체적인 일정을 정했습니다. ^_^

멍하니 있으면 순식간인 단 48분 만에 다른 12명의 파이썬 경험을 압축해서 빨아들일 수 있는 기회!

지난 번 댓글에서 파이썬에 처음 입문하시려는 분들도 많은 관심을 보여주셨지만, 아무래도 이번에는 경험공유에 강조하기로 했기 때문에, 경험만 알짜배기로 모아서 얘기를 하는 쪽으로 하고 다음에 또 다른 좀 더 큰 모임에서 튜토리얼 섹션 같은 것을 마련하는 쪽으로 마음 먹었습니다. 조만간 꼭 하겠습니다~ :)

참가 신청은 온오프믹스에서 모레 (수요일) 부터 받을 예정입니다.

모임의 주제는 "나는 파이썬을 이런 데 쓴다!"이고, "참가자 모두가 발표해야합니다." 발표의 내용은 경험을 나누는 것이 주가 되며, 기술적인 상세사항이나 기술 자체에 대한 것들은 되도록이면 지양합니다. 참가 신청에 발표 제목을 꼭 표시해 주세요.

  • 일시: 8월 22일(금) 오후 7시 - 삼성동 미지리서치 본사 2층 회의실
  • 신청 기간: 8월 13일(수) 오전 10시 ~ 8월 18일(월) 오전 10시 (12명)
  • 참가대상: 파이썬으로 뭔가를 작업해 본 경험을 나누고 싶으신 분
  • 참가비: 없음 (저녁식사 제공되지 않음, 얼음물/아이스커피믹스 무한제공 ^^)
  • 모임은 모두 한국어로 진행됩니다

발표 주제의 예:

  • 나는 파이썬을 일상 생활에 사용한다.
  • 휴대전화기에 올라간 파이썬
  • 우리 온라인 게임은 서버가 파이썬으로 되어 있어요.
  • 알고보면 기상예보 파이썬으로 한답니다. (쿠당~)
  • 우리 아기 교육은 파이썬으로: 동요 따라부르기, 숫자 놀이
  • 우리 회사 서버는 파이썬을 지우면 대형사고가 난답니다.

발표형식은 경험 공유를 하다가 따분해질 수도 있기 때문에, 디자인계에서 많이 사용하는 발표형식인 "페차쿠차"를 차용했습니다.

  • 모든 발표는 슬라이드(파워포인트, 키노트, pdf 등) 12장으로 구성돼야 합니다.
  • 각 슬라이드는 20초가 지나면 발표자의 의지와 상관없이 자동으로 넘어갑니다. 되돌아갈 수 없습니다. -> 20초 * 12장 = 4분
  • 자동으로 넘어가는 것을 감안해서 슬라이드는 간결해야하고, 모임 목적이 경험 공유이기 때문에 구체적이기 보다는 개괄적이고 재미있는 경험 위주로 구성해 주시면 좋습니다. (보통은 그냥 관련 그림만 말 순서대로 쭉 붙여 넣으시면 됩니다.)
  • 발표 자료는 모임 일자 이틀 전에(8월 20일 밤 11시 59분까지) 모임 주최자에게 보내주셔야 합니다.
  • 생각보다 20초에 맞추는게 만만치 않기 때문에, 미리 연습해 보시고 오시는 것이 다른 사람들과 경험을 효과적으로 나누는 데 좋습니다. ^^

그럼 전국의 파이썬 강호 여러분을 많이 뵈었으면 좋겠네요!

댓글 7 개 | 트랙백 0 개 (보낼곳) | 태그 python


누구?

장혜식 (Hye-Shik Chang)
내일을 사랑하는 소년(!)

최근 댓글