미수다 첫째 줄은 의미가 있는가?


[알림] 이 글의 전개에 사용된 자료의 일부는 주관적 판단에서 도출된 것이므로, 전체적인
논리와 결론, 설명 등이 과학적으로 부정확할 수 있으니, 너무 진지하게 받아들이거나 정확한
결론으로 오인하지는 마시길 부탁드립니다.

KBS에서 오랫동안 방송하고 있는 미녀들의 수다
작년부터 심심할 때 재미있게 보고 있었습니다. 여기서는 외국인 여성들이 4×4격자로 한 회에 16명씩
출연하는데.. (벌써 숫자부터가 심상치가 않습니다;; 2비트씩 총 4비트 어드레싱!)
항상 같은 사람이 나오는 게 아니라 일정 출연자 풀을 두고 약간씩 바뀌다보니 제작진이 때에 따라
자리를 배치합니다. 시청자들도 물론 어느 정도 패턴을 파악했겠지만, 작년 11월에 방영된
50회에서 출연자인 “따루”가 “뒷 줄보세요. 노처녀들 맨날 다 여기 앉았잖아요. 앞에 어리고 이쁜
애들 다 앉고~” 라고 얘기하면서 물위로 “꿍꿍이”가 떠올랐는데요. 그래서 그 때 과연 꿍꿍이가
어느 정도 수준인가 구체적으로 분석해보면 재미있을 것 같아서 이 분석을 하게 됐습니다. -ㅇ-;

우선 자리 배치를 어떻게든 데이터로 갖고 있어야하는데, 검색해 봐도 자리 배치가 데이터베이스화
되어 있는 곳은 따로 없어서 직접 방송 전 회를 다 확인해서
데이터베이스로 만들었습니다. ;;
(혹시 더 분석해 보실 분들을 위해 공개합니다;;;;)
1회에서 63회까지 중에 13회와 23회를 뺀 총 61회분인데, 각각 설날특집, 개편기념 특집이라
자리 배치가 4×4가 아니다보니 이질적인 데이터라서 뺐습니다.

그래서 확인해 볼 가설들은 다음 것으로 정했습니다.

  • “어리고 이쁜 애들”이 정말로 집중적으로 앞에 앉는 경향이 있는가?
  • 제작진이 주장하는 해당 회차의 주제에서 재미있게 말할 수 있는가가 정말로 자리에 반영되는가?
  • 어느 줄이 진짜로 좋은 줄인가?
  • 세로줄 말고 가로줄은 영향이 없는가? 그리고, 세로줄과 가로줄의 상관관계가 있는가?
  • 52회 이후 따루가 아랫줄로 내려왔을 때 다른 사람들도 영향을 받았는가?

먼저 대부분 가설들이 “어리고 이쁜 애들”과 관련되어 있기 때문에, 어떻게든 정량적 통계를 적용하려면
그 정도를 정량화를 해야하는데, 사람마다 취향이 다르고 정량화를 하는 것도 여러 모로 문제가 많을
수 있기 때문에, 직접적으로 “어리고 이쁜” 정도를 정량화 하지는 않고, 시청자가 선호하는 정도에서
언어와 관련된 부분을 따로 떼서 나머지 부분을 “선호도”라는 주관적 기준으로 적용했습니다.
즉, 제가 마음대로 숫자를 줬다는 얘기죠 –;; 이 데이터는 인격권과 여러 가지 문제가 다분히 있을
수 있기 때문에, 통계에서도 직접적으로 노출되는 부분에는 사용하지 않고 데이터도 공개하지
않았습니다. 그리고 나머지 “해당 주제를 재미있게 말할 수 있는” 정도를 또한 제가 마음대로 정량화
해서 데이터를 만들어서 이 두 가지와 자리의 상관관계를 먼저 조사했습니다.

뭔가 의도에 맞춰 자리가 배치되었는가?

이 그래프는 카메라에서 보는 위치와 출연자의 선호도 평균값을 나타냅니다. 원 안의 색깔은
언어외선호가 낮을 수록 붉은색, 클 수록 밝은 초록색 (평균은 검은색)으로 나타납니다.
그리고 원의 크기는 해당 위치 출연자 데이터의 표준편차입니다. 대충 경향을 뚜렷히 눈으로
볼 수 있듯이, MC와 가장 가까운 왼쪽 맨 아랫줄 자리가 역시 가장 선호가 높은 자리로 볼 수 있고,
위로 갈 수록 낮아지는게 예측과 일치합니다. 그런데, 하나 예상과 다르게 나타난 것은 경향이
줄마다 있는게 아니라 약간 왼쪽으로 경사가 30도 정도 있습니다!

그 경향을 조사하기 위해서 몇 도를 회전하고 선형회귀를 했을 때 가장 목표값(선호도)과 상관관계가
높은지 보면, 25.8도를 회전했을 때 가장 높게 나타나는데 그 r값이 -0.974가 나옵니다.
물론 주관이 개입되었으므로 자주 보는 사람이 선호가 높은 등의 여러 문제가 있을 수도 있지만,
0.97이라면 그런대로 높은 상관관계라고 볼 수 있겠습니다. 그런데, 왜 25.8도를 회전해야 결과가
나왔는지를 조사해보자면, 패널 자리의 왼쪽은 MC와 방청객이 있기 때문에 카메라가 주로 오른쪽에서
접근하게 되는데, 대략 패널에 접근하는 카메라의 각도가 평균이 그 정도 되는 게 영향을 주지 않았나
생각됩니다.

그런데, 분산은 맨 아랫줄 2번째 자리와 2번째 줄 맨 오른쪽 자리가 분산이 상당히 적게 나왔고 다른 부분은
비슷한데요, 이 자리 둘에 대해서는 은연 중에라도 진짜 일관된 기준으로 배치한 것 같습니다.

그래서, 왼쪽 맨 아랫줄을 기준으로 잡아서 회전한 가로축에서의 거리를 “중심거리”로 정의해서
이를 자리가 제작진이 얼마나 별도의 기준에 따라서 배치하는가에 대해 아래에서 좀 더 조사를 했습니다.

반면에, 각 패널이 얼마나 한국어에 능숙한지를 가지고 관계를 보면 윗 그래프와 같이 전혀 다른 결과가
나옵니다. 언어에 능숙할 수록 뒤로 가는 경향이 있고, 왼쪽 맨 아래 자리만 유독 한국어에 미숙한
패널이 고정적으로 출연하는 자리로 잡힙니다. 그런데, 이 경우에는 경향이 있기는 해도 앞의 그래프만큼
뚜렷한 상관관계까지는 아닌 것으로 보입니다. 역시 “꿍꿍이”의 실체는 “어리고 이쁜 애들”에 훨씬
치우쳐져 있음을 알 수 있습니다.

각 자리들끼리 비슷한 패널이 앉는 자리가 있나?

어느 자리가 좋은지를 주관적인 데이터로 결론을 도출했기 때문에, 좀 더 객관적인 데이터로 경향을
참고해 볼 필요가 있어서 각 자리별로 해당 자리의 출연자와 다른 자리 출연자의 구성이 얼마나
비슷한가를 조사했습니다. 여기서는 1~2회만 출연한 사람들은 비교가 큰 의미가 없기 때문에,
10번 이상 출연한 31명에 대해서만 비교하였습니다.

밝은 초록색은 강한 상관관계, 붉은색은 아주 약한 상관관계, 검은색은 평균입니다.
11은 맨 앞줄의 맨 왼쪽을 의미하는데, 11과 3번째 줄 이후로는 다른 자리들보다 특별히 다른 것을 알 수
있습니다. 비슷한 부분을 보면, 맨 뒷줄의 왼쪽 3자리가 서로 굉장히 비슷하고, 맨 앞줄 중간 2자리와
그 다음 줄 중간 2자리가 서로 비슷합니다. 맨 오른쪽 자리들은 옆 자리들과 유사도가 좀 따로 노는데요,
이건 아무래도 맨 오른쪽 줄에 주로 키가 큰 패널들을 주로 배치하는 경향이 있어서가 아닌가 싶네요.

시간이 지나면서 꿍꿍이가 강화되거나 약화되었는가?

처음엔 의도가 없다가 중간에 생기거나, 패널 풀이 커지면서 다양성이 확보가 되었는지 등의 경향을
보기 위해 각 패널의 주변 5회에서 “중심거리”가 얼마나 변하는지 조사해 봤습니다.

윗쪽 그래프는 각 회별 주변 5회에서 연속 5회 모두 또는 4번 이상 출연한 패널이 얼마나 되는지를
나타내는데요, 처음에는 5번 모두 출연한 패널이 10~12명까지 되다가 점점 떨어지는 경향을 보면
패널이 다양화되는 경향이 좀 있는 걸 알 수 있습니다. 17회, 33회, 41회 같이 파란색, 빨간색이 위 아래로
피크가 반대로 떨어지는 곳을 보면, 둘이 따로 놀지 못하는게 역시 바뀌어 봐야 그 사람이 그 사람이란
걸 알 수 있구요.

아랫쪽 그래프를 보면, 처음엔 편차가 높다가 점차 뚝뚝 떨어지고 있는데요. 처음엔 자리잡기 전이라
좀 자리를 자주 여기저기 옮겨보다가 안정화 되고 나서 의도를 가진 꿍꿍이 배치가 시작된 것 같군요.
19회 ~25회 사이를 보면, 연속출연자는 상당히 많은데도 중심거리 표준편차가 뚝 떨어진게, 사람은
안 바뀌고 자리는 고정되고, 한참 식상하다는 소리를 집중적으로 듣던 시절이라는 걸 반영하고 있습니다.

패널들이 개인별로 시간이 지나면서 자리가 변하는가?

전체적인 평균 위치 말고, 개인별로도 시간에 따라 변할 수도 있을 것 같아서, 조사를 해 봤습니다.
전체 패널이 60명이 넘어서 다 그릴 수가 없다보니 자리가 특색이 있는 몇 명을 추렸습니다.

의도를 가지고 배치되는 중심 위치에서의 거리의 변화 (맨 윗 그래프)를 보면 1회부터 최근회까지
각각의 자리가 어떻게 변해왔는지를 보이고 있습니다. 굳이 따로 해석을 안 해도 그래프 자체가
추세를 보이고 있지만, 전체적으로 출연 초기에는 앞쪽에 있다가 점점 뒤로 밀려나가는 경향이
보입니다. 도미니크는 약간 좀 다른데, 앞뒤로 왔다갔다를 반복하고 있는데 주기가 빨라지고 있군요.

아래의 두 그래프는 그냥 데이터에서 바로 나온 세로줄과 가로줄 위치에 따른 것인데, 세로 줄은
대략 비슷하지만, 가로줄은 개인적인 추세만 봐도 전부 중간으로 몰려가는게 평균치로 수렴해버리는
게 그다지 의도적인 배치가 없다고 볼 수 있구요. 가로줄에서의 경향은 역시 한국어를 잘 못하는
자리에 고정배치된 엘리자베타와 키 큰 패널들만 집중적으로 앉히는 오른쪽 끝자리의 라리사의
경향을 파악할 수 있습니다.

어느 자리에 앉는 사람이 오래가는가?

패널들 중에서 50회를 넘게 출연하는 패널도 있는 반면에 1~2회만 출연한 패널들도 상당히 많습니다.
그래서, 어느 자리에 앉으면 장기 출연이 가능할까! 명당자리를 한 번 뽑아 봤습니다. 물론, 출연 하기도
전부터 제작진이 나름대로 판단한 것이 영향을 좀 미칠지도 모르겠네요.

붉은색은 해당 위치에 앉은 패널들이 출연횟수가 적고, 초록색은 많고, 검은색은 평균임을 뜻합니다.
(원의 크기도 클 수록 출연횟수가 많습니다.) 여기서 보면 한국어 초보자 좌석인 왼쪽 맨 아랫자리가
역시 출연횟수가 두드러지게 적고 (24.27번), 오른쪽 윗줄은 오랫동안 꾸준히 출연하는 사람들의 자리(32.75번)입니다.
의외로 맨 뒷줄 왼쪽자리와 앞줄 3번째 자리가 출연횟수가 낮은데, 보통 새로 출연하는 패널들의
자리로 이 두 자리가 많이 활용되는 것 같군요.


결론!

미수다의 자리배치에는 뭔가 뚜렷한 경향이 있음을 알 수 있을 것 같고요, 제작진이 의도를 하건
안 하건 생각보다 다양한 요소들이 꾸준히 개입하고 있다는 것을 보았습니다. 좀 더 객관적인
자료를 위해서 방송에 나온 시간이나 방청객들의 반응 등을 모두 측정하여 사용했으면 더
좋은 자료를 만들 수 있었을 것 같은데, 좀 아쉽네요. (;;;;)

유니크카드

얼마 전 애자일 블로그에서 언급유니크카드 어떤 건지 무척
궁금해서 저도 하나 만들었습니다. +_+
발렌타인데이 특별세트를 무척 만들고 싶었지만, 아쉽게도
쓸 곳이 없어서 =___=;; (자작극이라도 부려 볼까!)

얼마 전 RCSB 에 올라왔던 달력 그림으로 만들어서 12종으로 50개를 채웠습니다. 킁킁. 단백질 하나 하나 그림으로 이렇게 보니 친구 같고 해서 뿌듯합니다. -ㅇ-; 뒷면의 설명은 대충 원문에서 번역을 해서 만들었습니다. 일단 실험실 동료들은 좋아하는 단백질 2~3개 씩 달라고 하고 매우 좋아하긴 하는데… ;;;;

당신과 비슷한 단백질은 어떤 것인가요! (심리테스트라도 하나 만들어 보면 재미있겠네요 ;;;_-_)

유니크카드 품질은 마음에 드는데, 케이스가 우그러져서 오는 것이 해결되면 좋겠고, 100장에 3만원이라던지 좀 더 많이 싼 가격으로 인쇄할 수 있는 상품이 나오면 좋겠습니다.

Watch movie online The Transporter Refueled (2015)

구글코리아 테크토크: 파이썬 – 상상력에 날개 달기

어제 구글코리아에서 있었던 테크토크 자료입니다.
주제는 “파이썬 – 상상력에 날개 달기”로 C와 자바를 쓰시던 프로그래머들이 자주 갇히게 되는 상상력의 굴레에서 벗어날 수 있게, “헉 이런 것도 되다니!”를 통해서 창의적인 구조를 디자인하는데 도움을 드리는 것이 목적이었습니다.

소개해드리는 소스코드는 각 문제를 해결하는 데 최적의 해결방법이 아니라, 이렇게 하는 방법도 있다는 정도이니 감안해서 참고하시면 좋겠습니다~ (실제로 여기서 사용된 hack을 그냥 막 도입해서 쓰시면 왕따당합니다. ^^*)

녹화된 현장 비디오는 편집이 완료되는대로 유튜브 한국 사이트에 올리신다고 합니다. ^.^;;;

파이썬 웹 프로그램 순식간에 만들어서 친구들과 나눠 쓰기

얼마 전에 nohmad님 이 소개해 주신 AppJet을 보고 파이썬 모듈들을 쓸 수 있으면
무척 좋겠구나! 생각을 했었는데요. 결국 파이썬으로 된게 나왔습니다.

이름은 UtilityMill 대략 우리말로 대장간 정도 되겠습니다~
Zope에서 입력 변수를 웹 UI에서 편집하면 주석에다 달아주듯이, Utility Mill에서는 주석에 달지는 않지만, 양식에 들어갈 변수들의 성질만 정해주면 자동으로 웹 양식을 만들어줍니다. 파이썬 프로그램에는 그냥 전역변수로 들어오기 때문에 그냥 쓸 수 있고, 출력은 print하면 됩니다. 간단!

저도 간단하게 테스트를 해 보려고 예전에 만들었던 한국어 lorem ipsum의 라틴어-한글 변환기 부분을 집어 넣어 보았습니다. 뭔가 처음엔 이상한 에러가 났었는데, 어딘가 고치다보니 저절로(?) 고쳐져서 잘 돌아가는군요;

그러나, 그냥 단순한 프로그램만 돌리면 아무래도 파이썬의 매력은 다 살리지 못한 것일텐데, 여기서는 파이썬의 표준 라이브러리 “전부”뿐만 아니라, BeautifulSoup, numpy, PyCrypto, feedparser, pyparsing, PyRSS2Gen, ReportLab, SciPy 까지도 지원하기 때문에, 정말 간단한 도구들은 웬만하면 불편없이 만들 수 있군요. 웹을 긁어와서 작업하는 것도 가능하기 때문에, 앞으로 아이디어가 생기면 저기에 올려놓고 모두 같이 쓸 수 있게 해야겠습니다. ^-^*

Watch Full Movie The Shack (2017)

The Shack (2017) Full Movie Online Watch Free , English Subtitles Full HD, Free Movies Streaming , Free Latest Films.


Quality : HD
Title : The Shack.
Director : Stuart Hazeldine
Release : March 03, 2017
Language : en.
Runtime : 132 min
Genre : Drama, Fantasy.

Synopsis :
‘The Shack’ is a movie genre Drama, Fantasy, was released in March 03, 2017. Stuart Hazeldine was directed this movie and starring by Sam Worthington. This movie tell story about After suffering a family tragedy, Mack Phillips spirals into a deep depression causing him to question his innermost beliefs. Facing a crisis of faith, he receives a mysterious letter urging him to an abandoned shack deep in the Oregon wilderness. Despite his doubts, Mack journeys to the shack and encounters an enigmatic trio of strangers led by a woman named Papa. Through this meeting, Mack finds important truths that will transform his understanding of his tragedy and change his life forever.

Watch Full Movie The Shack (2017)

So..do not miss to Watch The Shack Online for free with your family. only 2 step you can Watch or download this movie with high quality video. Come and join us! because very much movie can you watch free streaming.

Incoming search term :

The Shack Full Episodes Online
The Shack English Full Episode Online
Watch The Shack Online Indiewire
Watch The Shack Online Hitfix
The Shack English Full Episodes Free Download
The Shack HD English Full Episodes Download
The Shack Free Download
Watch The Shack Online Putlocker
The Shack Full Episodes Watch Online
The Shack Free Online
The Shack HD Full Episodes Online
The Shack English Full Episodes Online Free Download
The Shack Full Episode
Watch The Shack Online Free Putlocker
The Shack Episodes Watch Online
Watch The Shack Online HDQ
UltraHD Watch Stream Online The Shack
Watch The Shack Online HD1080px
Watch The Shack Online Mediafire
The Shack For Free Online
The Shack English Episode
The Shack Watch Online
Watch The Shack Online Latinpost
Watch The Shack Online Collider
Watch The Shack Online Free Viooz
Watch The Shack Online Free putlocker
The Shack Episodes Online
Watch The Shack Online Boxofficemojo
The Shack English Episodes Free Watch Online
The Shack English Episodes

자주 바뀌는 흩어져 있는 여러 변수를 다루는 여러 방법

파이썬 마을에 올라온 질문을 읽다가
답변을 하려고보니, 파이썬을 처음 접하는 분들이 빈번하게 궁금해 하시는 문제인 것 같아서,
좀 더 깊게 후벼파서 글로 만들어 봅니다.

질문의 요지는 아래 소스에서 a~f까지 딕셔너리를 임의로 섞고 싶은데 목록이 많을 수도 있고
자주 바뀌기도 하니까 좀 더 좋은 방법이 없을까 하는 것입니다.

이거랑 완전히 똑같은 상황이 자주 일어나지는 않겠지만, 그래도 종종 처음엔 네임스페이스에
변수를 왕창 넣어놓고 이걸 어떻게 해보고 싶은 경우가 있긴 하니까 그래도 파이썬 프로그램들이
자주 사용하는 패턴들로 해결해 보겠습니다.

[1] 정면승부! 네임스페이스 직접 접근해서 거시기하기

첫 번째로는 원래 프로그램 자체는 전혀 안 건드리고 그냥 원하는 작업만 하는 방법입니다.
(변수 개수는 소스코드 길이를 줄이려고 3개로 줄였습니다.)
shufflelocaldicts()를 호출하면 바깥 프레임에 접근해서 바깥 네임스페이스의 딕셔너리를 모두
가져다가 섞은 다음에 다시 넣어줍니다.
이건 고칠 부분이 줄기는 하지만, 모든 하이테크 방법들이 그렇듯
깨지기도 쉽고 사용하는 사람들이 제대로 알지 않으면 엉뚱하게 흘러갈 수도 있는 잠재적 위험성이 있습니다.

[2] 구차하더라도 열심히 고치기

두 번째 방법으로 바깥 네임스페이스를 검색하는 흑마법을 쓰지 않고 일일이 등록해주는 것이
있습니다. 이 방법은 일일이 등록해야한다는 것이 약간 중복의 냄새도 있긴 하지만, 단순하고
잘 작동하고 명시적이라서 잘 보인다는 점에서 상당히 자주 사용되는 패턴입니다. 그렇지만 역시
이 경우에는 그다지 썩 좋지는 않네요.

[3] 좀 머리를 굴려보자

이번에는 노장 프로그래머들이 동적 언어들이 그렇게 활발하기 전에 예전에 자주 사용했던 방법으로,
태그를 보고 코드를 자동생성하는 방법입니다. 요새도 전혀 사용되지 않는 것은 아닌데, 프로그램이
변경될 때마다 스크립트를 한 번씩 실행해 주면 자동으로 소스의 주석을 보고 [] 사이의 빈칸을 채워줍니다.
이 기법은 파이썬 프로그램보다는 C프로그램에서 보통 유용하게 쓰이는데요,
cog
같은 툴들을 쓰면 좀 더 간편하게 할 수 있습니다. 이건 뭐 대체로 잘 작동하기는 하지만, 어쩌다
소스코드 업데이트가 빠지면 재앙이 생기기도 하고, 그다지 멋지지 않다는게 좀 흠입니다. 주석에 의존한다는게
특히 좀 찝찝하죠. -o-

[4] 객체지향 좀 배운 사람인 척 티내보기

앞에서 썼던 방법들은 직관적이고 단순하기는 해도
역시 너무 무식한 방법같은 냄새가 납니다.
이번엔 파이썬에서 객체 꽁수를 배우고 한참 기분낼 때 아주 재미있게 하는 객체 오버라이딩으로
위임(proxy) 객체 만들어주기입니다. 대형 프로젝트에서는 이런 스타일을 종종 사용하기도 하지만,
짧은 스크립트에서 쓰면 좀 격에 안 맞기는 하죠. 직접 딕셔너리를 만들어서 그걸 어쩌고 저쩌고하는
대신에 리스트에 원래 걸 넣어두고 그 첫번째, 두번째~ 등을 간접적으로 작업을 지원해 주도록 하는 방법입니다.
이 방법은 shuffle이 매우 빠른 게 장점이고, 참조가 리스트 하나 안에 모여서 깔끔하게 정리가 돼 있는게
좋습니다. 그런데 문제는 역시 위임이 중간에 거치기 때문에 속도상 불이익이 있고, 위임을 제대로 하려면
위 소스보다 훨씬 길게 짜야 한다는 거겠죠.

[5] 딕셔너리들을 모두 관리하는 오버마인드

이번엔 딕셔너리 자체를 상속받아서, 2번에서처럼 따로 등록하는 대신 딕셔너리 초기화 도중에
자동으로 등록되게 하고, 4번처럼 위임을 구질구질하게 하지 않고도 자체가 그냥 딕셔너리가 되게 했습니다.
요것도 어느 정도 장점이 있긴 하지만, 역시 딕셔너리를 만들 때 마다 일일이 캐스팅을 해 줘야하고,
원래 객체의 참조를 건드리려면 역시 이름 없이는 할 수 없기 때문에, 참조를 놔둔채로 내용을 바꾸기 위해서
내용을 싹 비워서 다른데 옮겼다가 다시 부어주는 좀 심각하게 비싼 작업이 들어가는게 단점입니다.

[6] 억지로 구겨넣지 말고 원래 모양을 바꿔보자

앞에서 썼던 여러 구질구질한 방법들은 결국 네임스페이스에 흩어져 있는 것들을 어떻게든
관리를 하려다보니 생기는 문제입니다. 그냥 네임스페이스에 흩어지지 않게 따로 모아두면
결국 그렇게 고생 안 해도 간단하게 해결됩니다. 굳이 __dict__를 쓰지 않더라도 그냥 리스트에
번호붙여서 넣어서 쓰거나, 다양한 깔끔한 방법이 네임스페이스에 흩어놓는 것만 포기하면
마구 생겨납니다.

결국은!

이 경우에 우선 문제를 해결하려다보면 앞에서 소개해 드렸던 다양한 방법으로 억지로 해결할 수도 있습니다.
다 만들어 놓은 프로그램을 막판에 약간 어떻게든 고쳐서 출시를 해야하는 경우나, 당장 여자친구가
얼른 안 오면 삐진다고 문자를 수십통을 보내고 있는데 과장님은 얼른 고쳐내라고 옆에서 1분마다 보채고 있을 때
뭐 이런 극한 상황에서나 얼른 쓰고 도망갈 때 쓸만한 방법이겠죠;

역시 이 문제의 경우에는 질문 자체의 요구사항을
파이썬에서 쉽게 해결할 수 있는 방법으로 바꾸는 게 중요합니다. 딕셔너리 여러개를 마구 섞는 문제라고 최종 문제를
보면 상상력의 한계가 있지만, 그것보다 원초적으로 다뤄야하는 문제를 보면 딕셔너리를 여러개 마구 섞는게
아니라 간단하게 해결할 수 있는 다른 자료구조가 반드시 있을 것 같은 예감이 강렬하게 드는군요. -O-; (그리고 마지막으로 하나 덧붙이고 싶은 것은, 생각보다 원래 질문의 코드도 보기에는 좀 그렇더라도 복잡한 방법을 안 썼다는 점에서 그런대로 쓸만한 코드입니다. 물론 문제 자체를 바꾸는게 더 좋을 것 같긴 하지만요;)

고등학생을 위한 Summer of Code, GHOP Contest

Summer of Code를 여러 해 동안 성공적으로 운용해오고 있는
구글에서 드디어 얼마 전, 고등학생을 위한 행사를 공개했습니다.
이름은
The Google Highly Open Participation Contest
이고,
대상은 13세 이상이고 대학이전의 학교(한국에서는 초,중,고등학교)에 다니고 있는 사람입니다. 그리고, 북한에 사는 학생들은 참가가 제한됩니다. -O-
그동안 SoC가 대학생이 주 대상이었는데, 실제로 요즘은
고등학생들이 꽤 많이 참가하고 있고, 앞으로 오픈소스 새싹을 키우려면 (상투적이지만;;) 중,고등학생이 프로젝트에 적극적으로
참여할 수 있는 이런 기회가 생겨서 무척 좋습니다.

파이썬 재단의 GHOP 목록
보면 그다지 어렵지 않으면서도 파이썬의 중요한 부분에 재미있게
참여할 수 있는 여러 작업들을 가지고 있어서 중고등학생이
오픈소스 프로젝트의 마수에 걸려들게 하는 좋은 미끼일 것 같군요. 🙂

구체적인 형식은 Summer of Code와는 많이 다른데요, 큰 프로젝트를 멘터와 함께 만들어서 제안하는 방식이 아니라, 일정기간
(2007년 11월 27일부터 2008년 2월 3일까지)동안 이뤄낸 작은
작업들에 대해 보상을 받습니다. 쿠폰바꾸는 것과 비슷한데요, 도장 1개는 24달러짜리 티셔츠를 받을 수 있고, 3개는 100달러를 현금으로 받을 수 있습니다. 1인당 티셔츠 1개 + 500달러 현금으로 최대 상금이 제한되어있습니다.

구체적인 규칙은 GHOP 2007-8 Rules에 나와 있습니다. 우리나라의 열의 넘치는 중고등학생들이 많이 참가해서 다음 행사에 티셔츠 우루루 입고 참가하면 좋겠네요~ 🙂

파이썬 모듈 관광 4회: 기본제공 자료구조 겉핥기!

오늘은 파이썬에서 기본으로 제공하는 자료구조가 어떤
것이 있는지 겉핥기식으로 쭉 고속으로 관광가겠습니다~ 🙂

내장 자료구조

우선 기본 내장자료구조 str, unicode, list, tuple, dict, set 여섯가지에서 아무 기능이나 하나씩 써 봅시다. ^.^;

밑의 타입들은 보통 다른 언어에서는 자료구조라기보다는 그냥 primitive 타입이지만 그래도 그냥 나머지도 끼워줘 봅시다;

bool, frozenset 등등은 그냥 넘어갑시다 -ㅇ-;

이제 기본 자료형을 보았으니 다음으로 표준 확장 모듈 자료구조들을..

표준 라이브러리 자료구조

작은 값을 많이 저장할 때 효율적으로 메모리또는 디스크에 들고 있을
수 있는 array
모듈입니다.

heapq
모듈은 기본 list자료형을 가지고 우선순위 큐(priority queue)
쓸 수 있게 해줍니다. 스케줄링 루틴 같은 곳에서 정말 편리합니다.
속도가 무진장 빠릅니다. 🙂

bisect
모듈은 정렬된 list에서 이진검색법으로 자료의 위치를 찾아줍니다.
dict로 다루기에는 자료의 양이 많거나, 순서가 중요한 경우에 쓸만합니다.
아래 예제는 동전을 몇 번 던지면 앞면이 나오나 같은 경우를 나타내는

기하분포
랜덤함수를 bisect로 만든 방법인데, 그냥 계산해버리는
방법도 있지면 예제를 위해서 –; (실제로 분포함수가 없고 그냥 이산확률만
덩그러니 주어졌을 때 bisect가 꽤 쓸만합니다.)

다음은 어정쩡한 이름을 달고 있는
collections
입니다.

빼놓으면 서운하니까
bsddb
도 한 번..

이 외에도
UserString,
UserDict,
StringIO,
decimal,
Queue
등 유용한 것이 많이 있습니다만, 신비감 조성을 위해서 모두 소개하지 않고
이쯤에서 마칩니다. =3=33

파이썬 모듈 관광 3회: durus

별로 관심있는 분들이 없는 것 같아서 다음 편을 안 쓰고
있었는데, 오늘 어딘가에서 모듈 관광을 읽었다는 분을 만나고
어딘가에는 읽는 분이 있구나! 싶어서 생각난 김에 한 번 또 씁니다;

오늘의 모듈은 durus 입니다. 이미 SCGI같은 여러 프로그램들로 유명한 CNRI MEMS-Exchange 팀에서 만들었습니다. 원래 파이썬 뿐만 아니라 다양한 환경에서 캐시 공유나 분산 배치 작업 같이 한 데이터 공간을 여러 프로세스가 써야하는 경우에는 memcached가 거의 압도적으로 많이 쓰이는 솔루션이겠지요. durus는 이와 비슷한 역할과 표준 shelve의 기능이 모두 필요한 경우에 요긴하게 쓸 수 있습니다.

미리 서버를 띄워두고.

시험삼아 접속해서 UUID 객체를 하나 넣어봅니다.Watch Full Movie Online Streaming Online and Download

이렇게 되면 서버에 커밋되었다는 메시지가 보입니다.

이제 다시 클라이언트를 따로 띄워서 접속해서 확인해 봅니다.

역시 MEMS Exchange에서 만들었던 다른 작품들과 같이 기능도 괜찮으면서 단순해서 속도도 쓸만합니다. 여러 프로세스가 협업하거나 임시로 떴다 죽었다 하는 프로그램들에서 객체를 다뤄야할 때 쓰면 좋겠네요. ?