플레임에서 승리하는 자의 선택 [우리말 도우미], 지뢰밭용 업데이트

우리말 도우미

예전에 올렸던 우리말 도우미
한동안 잊고 있었는데 불여우 3.0 지뢰밭 출시가 임박해서 많은 분이 요청해 주셔서 3.0 용으로 갱신했습니다.

우리말 도우미 1.0 (불여우 부가 기능) 설치

3.0 지원 외에는 아주 사소한 레이아웃 관련 변경이 몇 개 있었지만 별로 눈에 안 띌 것 같네요 -ㅇ-;

아직 모래통 안에 들어 있어서 쉽게 설치가 안 되고, 사이트에 로그인해야지만 됩니다. 므흐흐..
언젠가는 모래통을 탈출하여 쉽게 설치할 수 있는 날이 오겠죠. -ㅇ-;

이번 업데이트에 큰 도움을 주신 신종훈님께 감사드립니다.Watch Full Movie Online Streaming Online and Download

2005년 이전 글들을 복구했습니다.

2005년 2월에 pyblosxom에서 COREBlog로 옮기면서 글 내용만 옮기고 댓글, 그림은 옮기지 않아서
옛날 자료들이 검색엔진에서 걸리면 상당히 흉한 화면이 덩그러니 나왔었는데요.
이제 문명의 혜택을 받은 django 사용자로써 –; 옛 글도 제대로 나오게 복구해 봤습니다.
pyblosxom 때는 moinmoin 첨부를 써서 그림을
올렸었지요. 그런데 지금 보니 절대경로로 쓴 것, 상대경로로 쓴 것, 애플리케이션 서버 포트에
직접 접속하는 것 등등 별의 별 잡스러운 방법으로 일관성 없게 URL이 기록돼 있네요. 크흐;

지금은 이제 2003, 2004년에 남겨주신 소중한 댓글들도 모두 복구해서 잘 넣어 두었습니다. ^_^;
(옛 글들은 오른쪽 곁에 있는 “이전 글 보기”를 누르시면 됩니다.)
스팸 2000개 지우는게 생각보다 힘드네요. 흐;;

지금 옛 글들을 둘러보니 대체로 부끄러운 글이 많은데, 그 중에 그래도 가장 애착이 가는 것은
안 초연하다. (2003년 11월 28일)
이군용! 지금도 뭐 상황은 같아서.. 5년이나 지나도 참 일관성 있습니다. 므흣; ㅠ.ㅠ

“내 이름 어때” 만든 이야기~

며칠 전에 올렸던 “내 이름 어때?”를 만들면서 썼던 여러 가지 기술적인 부분에 대해서
간단하게 정리해 봅니다. 물론 django로 만들었습니다! 이히히

Django 템플릿에서 한글 조사 처리

이름 뒤에 은/는 이/가 같은 것들을 제대로 붙이려면 아무래도 템플릿에서 처리를 해 줘야하는데,
django에서는 애플리케이션에서 직접 템플릿 태그나 필터를 정의하는 걸 매우 장려하는 분위기라서
“필터”를 따로 정의해서 처리했습니다.

템플릿에서 이렇게 쓰려고 하는 부분이 있다면:

필터 정의를 이렇게 해 줬습니다.

마지막 줄에서 1:로 굳이 잡아준 이유는 이름 뒤의 ~이 처럼 받침이 없으면 끝에 안 붙는 경우도
처리해 주려고요..

추세 해석

이름의 인기가 늘고 있는지 줄어드는지를 글자로 판단해서 표현해 주기 위해서, 간단한 계산식을
사용했습니다. 우선 원 데이터 자체는 샘플수가 적어서 노이즈가 많기 때문에 보통 많이 쓰이는
9개 윈도우 평균으로 했고, 이렇게 하면 18개 포인트가 나와서 세 부분으로 나눠서
앞 중간 뒤의 평균을 다시 구해서 3가지 값이 나왔습니다. 그래서 눈으로 딱 보면 값이 계속
증가하는지, 올라갔다 내려갔다 하는지를 볼 수 있는데요, 그냥 값으로 볼 수는 없으니
앞/중간 과 중간/뒤의 각각의 변동폭을 0에서 1사이로 정량화해서 봤습니다. 변동폭은 이름마다
절대량이 다르기 때문에 상대량으로 비교해야해서 아래와 같은 식으로 썼습니다.

\delta = {{\arctan {\log {N_B \over N_A}}} \over \pi} + 0.5

보기엔 약간 쓸데없이 복잡하긴 하지만, 그냥 상대비율을 (0, 1) 사이로 넣어주는 일 밖에 안 합니다;;;

이렇게 나온 값으로 앞 뒤가 모두 (0.4, 0.6) 구간에 들어오면 “꾸준한 추세입니다.”라고 하거나,
앞-중간은 (0.0, 0.3), 중간-뒤는 (0.0, 0.5) 구간에 들어가면 앞 반쪽에서 감소세가 강하고
뒷 반쪽에서 감소세가 둔하다는 의미이므로 “확 줄어들다가 잦아드는 추세입니다.”라고 보여주는 식으로
주된 패턴들을 “대충” 느낌으로 나열하는 방법으로 코딩했습니다. 크흐;

구글 차트

이름 전체의 성별 성향이나 이름의 시대적 경향, 이름 글자의 시대적 경향을 보이는 부분에서
구글 차트를 불러서 사용했습니다. 구글 차트는 직접 URL을 코딩하는 방법은 아니고,
pygooglechart를 사용했는데요,
이게 의외로 그런대로 잘 만들어서 웬만한 기능은 불편없이 쓸 수 있게 돼 있더군요. ?

다만, 하나 기술적인 문제가 있었던 부분은 이름 글자의 시대적 경향 같은 경우에는
글자마다 실수값 18개씩(경향)이 저장돼야 하기 때문에, 이걸 그냥 저장하는 건 여러모로
번거롭고 해서 구글 차트 API에서 쓰는 0~4095 사이 인코딩하는 방법으로 썼습니다.
(base64와 거의 같은 방법입니다.) 그래서, 저장은 바로 구글 차트 API URL에 쓰면 되는
형태가 돼서 다시 불러올 때 매우 빠르게 불러올 수 있긴 한데, 문제는 한 이름 안에
이름 앞자와 뒷자의 경향을 모두 보여줘야하기 때문에 둘의 그래프 크기를 제대로 조절해 주지
않으면 각 글자의 크기가 잘못 나온다는 점이었습니다.

그래서 결국 선택한 방법은 보여줄 때 앞자 뒷자 인코딩된 값을 다시 풀어서 큰 쪽의 스케일로
맞춘 다음에 다시 인코딩하는 -.,-; 약간 노가다성 방법을 썼습니다. 역시 이런 부분은
numpy의 array의 도움을 많이 받을 수 있었습니다.

확장코드 인코딩/디코딩 부분을 따로 떼서 쓸 일이 좀 있을 것 같아서..

통계치가 적은 이름의 성별 추정

역시 통계 샘플 크기가 작아서 주요 이름들을 빼고는 제대로 된 통계치를 낼 수 없어서
주요 이름들의 성별 경향으로 학습한 걸로 예측하는 부분이 필요했습니다.
이번에는 아예 사용된 적 없는 글자까지도 어떻게 좀 해 보려고
통계치에 전혀 의존하지 않고 그냥 자소별로 분해해서 이름만 피처로 사용하기로 했습니다.
그래서 보통 SVM
쓰는 것이 여러모로 대세이기는 하지만, 카테고리성(이산) 피처값에 매우 유리한
random forest을 썼습니다.
(물론 제가 수학을 워낙 못하는 것도 큰 요인으로;;;;)

Random forest는 아무래도 쓸 수 있는 구현이 적다는 게 큰 문제인데요.
파이썬에서 쓸 수 있는 orange를 쓰면 정말
좋겠지만, 아쉽게도 이 구현은 리그레션은 지원하지 않고요. Y.Y
R용 패키지인
party
randomForest
중에 선택해야하는데, party를 먼저 했으나 메모리 3기가를 먹더니 죽었고 (-_-)
randomForest는 안정적으로 대략 200메가 정도 먹고 그런대로 쓸 만한 결과를 줬습니다. ?

학습 기법 측면에서는 남자 샘플이 2배 정도 되기 때문에 편향 문제가 있어서 샘플링 조절을
좀 해야했는데요, 그냥 복잡한 것 쓰지 않고 대략 0.3 밑을 반 다운 샘플링하니까 전체적으로
분포가 윗쪽하고 아랫쪽이 그런대로 맞았습니다. 중성적인 이름이 수가 훨씬 적은 것도 또한
중성적 이름 쪽에서 오차를 많이 발생시킬 수 있는 요인이 될 수 있는데, 이쪽에서 오버샘플링을
하려고 하다가 “될 거 같으면 대충해도 돼야 하는거지” 하는 교수님 말씀이 귓가를 스치며
놀이인데 대충하자 하고 -ㅇ-;; 크흐; 그래서 결국 10-fold cross validation으로
평균 피어슨 연관성이 0.97 정도 나왔습니다. (만… 역시 사람 느낌하고 좀 다른
사례가 개별적으로는 제법 많이 발견되긴 하네요;)

페이지 내용 캐시

서비스를 공개한 다음 날 점심시간이 좀 지나고 나서는 접속이 폭주해서, 실시간 계산이 상당히
있었던 구현 특성상 앞으로 어떻게 될 지 참 고민이 있었는데요; 그래서 마침 전혀 필요없겠다
싶어서 꺼놨던 django의 캐시 프레임워크
살려서 해 봤습니다.
백엔드를 선택할 수 있는데, 역시 제일 잘 나가는 memcached를 썼습니다. 이거 소문대로 깔끔하고 잘 돌아가네요. ^_^;

Django는 다행히도 템플릿에서 일부만 특정 변수에 따라서 캐시하는 기능이 있어서
이름에 따라 바뀌는 부분, 성에 따라 바뀌는 부분을 따로 따로 캐시하도록 3조각으로
따로 캐시해서 생각보다 훨씬 간단하게 쉽게 캐시로 넣었고요, 지금은 CPU부하가 전보다
같은 요청에서 거의 1/10로 줄어들었습니다! 이히히.

다른 사소한 것들..

몇 분께서 물어보셨던 게 자료처리나 통계처리는 어떤 걸 썼느냐가 있는데, 특별히 쓴 것은 없구요, 파이썬 하나면 다 해결됩니다. -ㅇ-;
물론 numpy, matplotlib도 아주 큰 도움이 됐습니다.
collections.defaultdict를 전에는 그렇게 자주 쓰지는 않았는데, 이번에 좀 과격하게
3~4 단계 쑥쑥 defaultdict를 겹쳐서도 써 봤더니 pickle이 잘 안 되는 문제만 빼고는, 코드를 아주 많이 줄여준다는 점에서
아주 사랑스러웠습니다.

후속편으로는 이번에 들어온 로그를 한 번 분석해 보려고 하고 있습니다. ^^;Watch Full Movie Online Streaming Online and Download

내 이름 어때? — 한국인의 이름 2탄!

전에 올렸던 한국인의 이름 통계를 많은 분들이 관심있게 봐 주셔서,
본인 이름은 얼마나 많은가요, 얼마나 중성적인가요 같은 질문을 많이 받았습니다.
그래서 직접 확인하실 수 있게 통계에서 나온 여러 자료들을 모아서 한 페이지에
보이도록 서비스를 만들어 봤습니다.

내 이름 어때!

대부분은 이전 글에서 소개해 드렸던 내용이고요, 이번에 추가된 부분은 통계에서
자료가 충분하지 않을 때 자동으로 추정하는 것과 이름이나 글자가 시대가 바뀌면서
어떤 빈도 변화가 있는지 그래프로 나타내는 부분입니다.

자동 성별 추정 부분은 통계 수치없이도 단순하게 바로 이름에서 예측할 수 있게
하기 위해 피처는 그냥 이름을 자소로 쪼갰고, random forest를 사용했습니다.
(옵션은 리그레션, 500그루, mtry=3, R randomForest 패키지 사용)
10배 교차검정에서 피어슨 연관성이 0.97이 나와서 대략 결과는 좋긴 한데, 실제로 보다 보면
얼토당토않은 결과가 심심찮게 나옵니다;; 나중에 제대로 쓰려면 글자 단위 통계도 피처로
좀 추가해야할 것 같네요.

그리고, 역시 이름도 시대별 흐름이 있는데요. 예를 들어 미자, 혜자, 경자 같이 -자로
끝나는 이름은 60년대생까지 매우 흔한 여자 이름이었지만 70년대부터 급속히 사라지는데
그래프로 직접 이런 경향을 확인할 수 있도록 했습니다. 데이터셋이 그렇게 크지 않기 때문에
그냥 생데이터를 쓰지는 못하고, 9년 단위 슬라이딩 윈도우 평균으로 했기 때문에 갑자기
튀는 최고점 같은 것은 좀 무시되었습니다. (이 분석을 위해 “생년”만 추가로 데이터를 받아서 보충했습니다.)

자 그럼 본인 이름을 넣어보세요~ —-> 내 이름 어때! <—-

이터레이터 팁 몇 가지

나중에 쓰려고 쌓아두고 있던 간단한 예시인데, 더 이상 쌓이지가 않아서 (–;)
방출해 봅니다;

파이썬 이터레이터/제너레이터는 함축적으로 프로그래밍하는 걸 즐기는 사람들에게는
정말 재미있지만, 절차적 프로그래밍을 하다가 갑자기 이터레이터를 쓰는 게 적응이
잘 안 되는 경우도 많이 볼 수 있습니다. 최고의(!) 파이썬 책으로
유명한 David Beazley가 지난 3월에 PyCon 2008에서 튜토리얼로
시스템 프로그래머를 위한 제너레이터 트릭을 발표했습니다. 여러모로 재미있는 내용인데요~ 저기서는 제너레이터를
주로 다뤘는데, 몇 가지 이터레이터와 관련된 사용 예를 소개해 드리려고요~
(별로 관련 없는 것이 뒤죽박죽;;)

zip을 쓰면 이터레이터를 일정 개수씩 빼오는 걸 간단하게 할 수 있습니다.

빈칸이 올 때까지 입력받은 걸 리스트로 받으려면?

딕셔너리 2개에서 양쪽 중 하나라도 키가 있는 것들을 뽑아서 돌려서 합치려는 경우..

(이 경우는 collections.defaultdict를 써도 간단합니다.)

리스트를 받아서 순위를 계산

(이건 뭐 주제하고 상관도 없고 제멋대로;;;)

한국인의 이름에 대한 여러 수치 조사

예전부터 꼭 해 보고 싶었던 것 중의 하나로 이름 데이터베이스를 구해서
흔한 이름, 여성적 이름, 중성적 이름 등등 같은 것 통계내기가 있었습니다.
요새 주변 사람들 중에 아기를 낳아서 새로 이름 짓는 사람도
많고, 아무래도 이름에서 나오는 느낌의 신비(?)에 접근하고 싶어서! -ㅇ-

그러다가 얼마 전에 이름 데이터베이스를 하나 구했는데, 정보활용 동의를 받은
사이트에 가입한 분들의 정보에서 이름, 성별 2가지만 추출한 것을 받았기 때문에
개인정보보호와 관련된 문제는 심각하지 않을 것 같습니다. 정확한 통계를 위해서는
성별외에도 생년이나 출생지같이 이름에 중대한 영향을 미치는 요소를 파악해서
편향성을 봐야하겠지만, 개인정보의 과다한 사용이 될까 해서 그냥 이름 성별 외에는
사용하지 않기로 결정했습니다. 그 결과 통계에 편향이 있는 것은 눈에 보이지만
편향을 피하기도 힘들고, 신뢰도가 어느 정도 되는지 정확히 통계적인 분석은
불가능했습니다. 따라서, 아래 분석은 그냥 재미로 읽어주시고 과학적인 통계로
이뤄진 것이 아님을 유의해 주세요. 🙂

사용한 데이터셋은 기본적인 오타나 잘못 입력된 것이 명확한 자료들, 깨진 자료들은
수작업으로 제거했고, 결국 80757명 (남자 52640명, 여자 28117명) 데이터로 분석했습니다.
여자 수가 훨씬 적게 샘플링됐기 때문에, 전체적으로 분석에서 비율에 맞춰서 보정하려고
노력했습니다.

데이터셋 내 성별 편향

성씨별 빈도

기본적으로 성씨별 빈도는 통계청에서도 발표하는 자료이기 때문에
우리 데이터셋이 성씨별로 편향되어 있지 않은지 보기 위해 똑같이 빈도 조사를 해 봤습니다.
그래서 순위를 보면 (한자는 음가기준으로 합산)

순위 2000년 통계청 데이터셋
1 김 (21.6%) 김 (21.6%)
2 이 (14.8%) 이 (14.8%)
3 박 (8.5%) 박 (8.4%)
4 정 (4.9%) 정 (4.8%)
5 최 (4.7%) 최 (4.7%)
6 조 (2.9%) 조 (2.9%)
7 강 (2.5%) 강 (2.4%)
8 윤 (2.1%) 장 (2.2%)
9 장 (2.1%) 임 (2.1%)
10 임 (2.0%) 윤 (2.1%)

아주 비슷하게 나온 것이, 장난으로 엉뚱한 이름으로 가입한 경우가 그렇게 많이 포함되어
있지 않고 편향도 그다지 뚜렷한 것은 아니라는 것을 확인할 수 있습니다.

이 다음 통계부터는 성과 이름을 분리해서 쓰기 때문에 2글자 성을 구별할 필요가 있었는데요.
특별히 좋은 방법이 없어서 그냥 일정 빈도 이상의 2글자 성씨로 시작하는 이름을 모두 2글자
성씨로 봤습니다. 즉 “서문교”같은 이름은 서씨인지 서문씨인지 구분할 수 없으므로 그냥 모두
서문씨인 것으로 처리했습니다. (이 조사에서 처리한 2글자 성씨: 남궁, 독고, 동방, 사공, 서문,
선우, 제갈, 황보)

가장 흔한 이름은 무엇일까!

자기 이름이 무척 흔한 분들은 보통 인터넷에 이름 쓸 때도 전혀 거리낌 없이 막 써도
익명이 보장될 정도인데요. 과연 흔한 이름은 어떤 게 있을까 무척 어릴 때 부터 궁금했는데
정량적으로 조사해 봤습니다! 물론 세대별 차이가 있긴 한데, 이번 데이터셋은 이름, 성별 외의
개인정보를 사용하지 않았기 때문에 세대별 편향성 같은 것은 고려하지 않았습니다.

1 정훈 (0.367%) 미경 (1.106%)
2 성호 (0.350%) 은주 (1.024%)
3 정호 (0.293%) 미영 (0.942%)
4 성진 (0.285%) 은영 (0.882%)
5 성훈 (0.285%) 경희 (0.850%)
6 영수 (0.281%) 은경 (0.839%)
7 상훈 (0.277%) 정희 (0.825%)
8 영호 (0.264%) 은정 (0.818%)
9 준호 (0.262%) 미숙 (0.804%)
10 진호 (0.260%) 현숙 (0.800%)

아는 정훈이 미경이가 보통 너댓명 씩은 되시니까 다들 1등은 놀라지 않으실 것 같네요 🙂

그 뒷 순위로는 남자는 재호- 영진 – 상현 – 성환 – 재영 – 영민 – 재훈 – 영준 – 영철 – 성수 등등이고, 여자는 은희 – 현주 – 미정 – 영미 – 현정 – 지영 – 영숙 – 정숙 – 선희 – 은숙 이렇게 나가는데, 둘의 비율 차이가 비교가 안 될 정도입니다. 즉, 여자 이름은 0.2% 이상 이름이 115개나 되는데 남자는 0.2% 이상이 27개 밖에 안 됩니다. 여자 이름이 훨씬 집중적으로 같은 이름이 많이 쓰이고, 남자 이름이 다양성이 높다고 볼 수 있겠습니다. (엔트로피 계산은 생략;;)

빈도별 이름 사용 인구

이름에 많이 쓰이는 글자는?

이름 전체 말고 각 글자별로 보는 방법도 있겠죠~ 그래서 성별로 어떤 글자가 위치별로 많이 쓰이는지
알아봤습니다.

순위 남자 앞 남자 뒤 여자 앞 여자 뒤
1 성 5.56% 호 5.42% 미 8.34% 희 10.04%
2 영 5.09% 수 4.67% 은 7.66% 숙 9.31%
3 상 4.30% 석 3.32% 정 6.12% 영 6.90%
4 재 4.19% 철 3.30% 영 5.64% 정 6.15%
5 종 4.12% 훈 3.13% 경 4.81% 경 5.47%
6 정 4.03% 현 3.12% 현 4.51% 미 5.29%
7 동 3.07% 진 2.92% 선 3.89% 자 4.81%
8 용 3.00% 영 2.58% 혜 3.83% 순 4.60%
9 승 2.79% 환 2.55% 지 3.72% 선 3.61%
10 경 2.68% 식 2.54% 수 2.77% 주 3.49%

역시 여자 이름이 흔히 쓰는 글자가 좀 더 집중되어 있는데, 보통 한국인의 평균 얼굴 만들듯이
대충 아무렇게나 상관관계 없이 뽑았을 때 가장 흔해 보이는 이름은 성호, 미희 가 되겠습니다.
성별 구분을 하지 않고 그냥 뽑으면 영희가 가장 대표적인 이름이 됩니다. 🙂

제 이름은 여자 앞글자에서 8등, 남자 뒷글자에서 10등 했군요;;;;

도무지 여자인지 남자인지 알 수 없는 이름은!

종종 중성적 매력이 있는 이름이 있죠. “정민”이라던지.. 양쪽에서 모두 많이 쓰여서 이름만 봐서는
설렐지 안 설렐지 결정도 못할 무서운 그런 이름! 흐흐. 그래서 양쪽에서 모두 많이 쓰이는 이름들을
찾아 봤습니다. 성별 편향은 여성내비율 / (남성내비율 + 여성내비율) 로 계산했으므로
0에 가까운 값이 나오면 남자 이름에서 압도적으로 많이 쓰이는 것이고 1에 가까우면 여성 편향이
있는 게 됩니다. 샘플이 적은 이름들은 비율이 잘못 계산될 수 있기 때문에 최소 0.05% 이상 있는
이름에 대해서만 조사했습니다.

태희는 당연히 여자 아닌가 생각했더니, 거의 완벽한 중성적 이름이군요. -ㅁ-;

저도 저런 이름 있었으면 무척 좋았을텐데 아쉽네요. 제 이름은 남자반 여자반 갈라놓은
남녀공학 학교같은 분위기라서 –;;

그런데, 성별 편향을 조사하면서 잘 살펴보면 0.5 경계선 주변의 이름이 그다지 많지 않다는
것을 알 수 있었습니다. 그래서 편향값의 분포를 히스토그램으로 그려 봤는데 진짜 확실하게
드러납니다.

이름별 성별 편향 분포

여성쪽이 압도적으로 확 올라가 버리는 것은 이름이 아무래도 집중되는 경향도 있긴 하지만,
여자가 남자이름을 쓰는 경우가 남자가 여자이름을 쓰는 경우에 비해서 훨씬 많은 것이 주요
원인인 것 같군요.

남자/여자 이름에 각각 많은 글자?

전체적인 빈도 뿐만 아니라, 어떤 특정 글자가 전체적인 느낌을 압도해서 남자로 만들어버린다거나
여자로 만들어버리는 글자들이 제법 있는데요. 예를 들어서 “철”이나 뒷 글자가 “국”인 경우에는
웬만한 글자가지고는 여자이름을 만들기가 어렵고, 앞 글자가 “미”나 뒷 글자가 “숙”인 경우에는
남자 이름을 만들기가 쉽지가 않습니다. 그래서 한 번 글자별 성별 편향을 조사해 봤습니다.
편향성은 마찬가지로 아까와 같이 0과 가까우면 남자, 1과 가까우면 여자입니다.

순위 남자 앞글자 남자 뒷글자 여자 앞글자 여자뒷글자
1 왕 (0.0) 황 (0.0) 미 (0.9954) 애 (1.0)
2 웅 (0.0) 율 (0.0) 애 (0.9908) 분 (1.0)
3 범 (0.0184) 률 (0.0) 난 (0.9905) 녀 (1.0)
4 철 (0.0268) 술 (0.0) 혜 (0.9892) 름 (1.0)
5 대 (0.0341) 걸 (0.0) 숙 (0.9840) 자 (0.9996)
6 익 (0.0352) 탁 (0.0) 소 (0.9824) 란 (0.9987)
7 중 (0.0538) 백 (0.0) 분 (0.9771) 미 (0.9986)
8 낙 (0.0612) 돈 (0.0) 아 (0.9662) 혜 (0.9983)
9 택 (0.0630) 룡 (0.0) 매 (0.9630) 임 (0.9981)
10 권 (0.0738) 건 (0.0) 말 (0.9571) 라 (0.9969)
상위 25 평균 0.0727 0.0069 0.9337 0.9848

역시 뭔가 성별을 치명적으로 결정해버릴 수 있는 글자들이 많이 보이는 것 같군요. 🙂
그런데, 뒷 글자가 앞 글자에 비해서 편향이 훨씬 심한 것을 볼 수 있는데, 그래서
남녀 데이터를 모두 합쳐서 앞/뒤의 각각의 표준편차를 구해봤는데 각각 0.31, 0.38로
차이가 제법 나는군요. 앞 글자보다는 뒷 글자가 전체 성별 느낌을 결정하는데 중요한
역할을 하는게 아닌가 싶습니다.

앞 뒤 위치에 따라서 성별이 다른 글자

어떤 글자들은 앞에 오면 남자이름에 주로 쓰이지만, 뒤에 갈 때는 여자이름에 쓰이는 경우가
있는데요, 이런 게 어떤게 있는지 한 번 찾아봤습니다. (편향은 앞의 설명과 마찬가지로 계산했습니다.)

글자 앞글자 편향 뒷글자 편향
0.747 (여) 0.084 (남)
0.725 (여) 0.093 (남)
0.777 (여) 0.239 (남)
0.625 (여) 0.087 (남)
0.604 (여) 0.128 (남)

예를 들어, “보”가 앞에 오면 여자 이름인데, 뒤에 오면 남자인 경향이 훨씬 높다는 것이죠.
그런데 신기하게도 편향이 차이나는 것 상위 13개가 모두 앞 글자에서 여자/뒷 글자에서
남자이고, 처음으로 뒷 글자에서 더욱 여성스러워 지는 것은 “이” (0.57 -> 0.92),
“자” (0.65 -> 0.99) 입니다.

성별을 진짜로 확! 바꿔버리는 글자

앞에서는 그냥 전체적으로 한 성별에서 많이 나오는 글자들을 조사했는데요. 이번에는
원래는 여성성이 있는 글자에 다른 글자가 붙어서 남성 이름으로 바꿔버린다던지 완전히
반대로 바꿔버리는 글자들이 있는지 조사해 봤습니다.

순위 남성 앞글자 편향조절 여성 앞글자 편향조절 남성 뒷글자 편향조절 여성 뒷글자 편향조절
1 철 (0.703) 슬 (-0.672) 호 (0.549) 아 (-0.572)
2 대 (0.576) 미 (-0.642) 석 (0.522) 이 (-0.519)
3 요 (0.546) 예 (-0.491) 규 (0.494) 미 (-0.486)
4 충 (0.490) 혜 (-0.441) 상 (0.480) 실 (-0.485)
5 치 (0.486) 소 (-0.433) 준 (0.468) 숙 (-0.484)
6 창 (0.468) 은 (-0.433) 용 (0.460) 순 (-0.435)
7 형 (0.455) 금 (-0.342) 식 (0.451) 림 (-0.428)
8 동 (0.448) 옥 (-0.329) 찬 (0.442) 경 (-0.422)
9 용 (0.445) 여 (-0.315) 필 (0.437) 은 (-0.421)
10 병 (0.444) 지 (-0.311) 한 (0.436) 례 (-0.419)

므흐흐. 역시 단순 빈도 조사를 한 앞 것보다 좀 더 결정적인 글자들이 강조되었는데요.
제 이름은 앞 글자에서 -0.441, 뒷 글자가 0.451 해서 아슬아슬하게 남자 이름이 되었군요!
-O-;

한 위치에만 압도적으로 많이 쓰이는 글자

각 성별 안에서도 한 자리에만 많이 나오는 글자가 있는데, 뭐가 있나 조사해 봤습니다.

순위 남자 앞글자 남자 뒷글자 여자 앞글자 여자 뒷글자
1 자 (52/1) 식 (1/1339) 세 (135/1) 실 (1/160)
2 병 (1394/31) 섭 (3/798) 소 (360/4) 심 (2/162)
3 지 (498/13) 곤 (1/240) 계 (59/1) 례 (3/167)
4 여 (36/1) 엽 (1/152) 보 (160/3) 랑 (1/29)
5 시 (108/3) 열 (7/555) 유 (314/7) 자 (52/1353)

-식, -실, -례 는 자주 보지만 식-, 실-, 례-는 좀처럼 보기 힘든 것 같은 게 위의 표에서
표현되어 있는데, 전체를 조사해 보면 반 정도 글자는 앞 뒷 글자 구분이 있고,
반 정도는 앞 뒤에서 모두 사용되는군요.

한글 자모별 편향

한글은 분해해서 자모의 느낌도 볼 수 있으니까, 각 자모별 조사도 해 봤습니다~
전체 자료는 표시하기에 너무 많아서 몇 가지 주요 자모만..

남자 초성 (앞) 11.0 6.3 4.0 18.2 17.1 19.8 5.0 2.6 10.1
남자 초성 (뒤) 12.4 2.3 4.4 18.4 18.5 9.6 5.1 2.0 21.2
여자 초성 (앞) 8.4 0.9 13.4 17.2 24.8 15.6 1.3 0.4 14.5
여자 초성 (뒤) 6.4 0.5 6.3 20.5 22.8 18.9 0.2 0.0 17.5
남자 중성 (앞) 11.1 9.3 14.8 16.8 11.1 2.8 3.8 8.2 4.6 1.3 11.0
남자 중성 (뒤) 5.5 4.7 15.1 10.6 11.3 4.3 2.6 20.7 2.6 1.7 13.9
여자 중성 (앞) 4.5 3.0 13.2 20.0 5.8 0.9 1.5 9.3 10.1 2.1 19.7
여자 중성 (뒤) 11.1 2.6 10.9 18.2 4.0 2.9 0.3 19.2 2.1 10.2 14.7
없음
남자 종성 (앞) 23.9 3.6 19.2 2.4 1.5 0.2 49.2 0.0
남자 종성 (뒤) 28.9 13.0 31.4 8.1 2.1 2.1 14.4 0.0
여자 종성 (앞) 34.8 3.3 31.3 1.0 2.0 0.1 27.6 0.0
여자 종성 (뒤) 38.1 13.6 23.0 1.0 3.3 0.2 20.7 0.0

가만 보고 있으면, 어감하고 직결되는 부분이 몇 군데가 확 눈에 띄는데요, 여자 이름에
받침이 없는 경우가 훨씬 많고, 뒷글자에 훨씬 많이 나오는 종성 같은 것들이 뚜렷하군요.
(분석할 것은 많지만 지면 상 생략 -ㅇ-) 재미있는 것은 남자 중 거의 절반이
이름 앞글자가 ㅇ 받침이네요. +_+

성과 연결된 이름

종종 이름 중에 한가지 성씨하고 유독 잘 어울리는 이름이 있습니다.
예를 들어 한아름, 조아라, 정다운 이런 이름은 다른 성보다 한 성에 보통 집중되어 있죠.
그래서 그런 게 어떤게 있나 조사해 봤습니다. (괄호 안의 수치는 성의 빈도에 대한
해당 이름 내의 성의 빈도차)

여자이름
정다운 (21배), 조아라 (17.9배), 한송희 (14배), 한아름 (13.4배), 한송이 (11.5배),
고은선 (9.4배), 안소희 (8.4배), 조한나 (8.3배)

남자이름
남궁원 (268배), 백운봉 (125배), 심현보 (107배), 구정모 (79배), 허근 (69.7배), 홍준표 (59.4배),
홍광표 (55.4배), 권혁성 (53배), 홍원표 (52배), 권오성 (47.7배), 권대혁 (45.4배), 허욱 (39.6배)

여자이름은 대부분 연결된 글자들이 뜻하는 다른 단어들이 영향을 많이 주었는데,
남자이름은 돌림자와 관련된 것이 매우 많습니다. 즉, 홍씨와 권씨가 압도적으로 상위 빈도를
모두 차지했는데, 그 이유를 연구실 동료인 홍모군에게 문의한 결과, 홍씨가 넘어온 것이 조선대라서
얼마 되지 않다보니 항렬자가 상당히 같은 연대에서 많이 동기화되어 있다고 하는군요.

그래서 그냥 위치별로도 따로 조사를 해 봤는데, 따로 한 것과 큰 차이는 없어서 이름을 분해한 글자를 기준으로 성과의 상관관계를 봤습니다. (성-이름글자 순서)

여자이름
여-운 (49.4배), 권-혁 (36.1배), 민-홍 (17배), 백-설 (13.2배), 한-름 (13.1배), 남-우 (11.9배)

남자이름
구-본 (246.9배), 연-흠 (221배), 구-자 (141.5배), 인-치 (55.8배), 연-제 (42.1배), 구-회 (35배),
홍-표 (32.4배), 윤-여 (31.5배), 추-엽 (30.5배), 성-낙 (26.9배), 심-보 (20.8배), 곽-노 (19.9배),
권-오 (18.3배), 성-백 (17.9배), 허-행 (15배), 구-모 (14.7배), 임-채 (12배), 원-유 (11.9배)

주로 대부분 돌림자와 관련된 것을 알 수 있는데, 그동안 이상하게 한 성씨에서 한 글자를 많이
봤다 싶은 것들이 골고루 나와있네요. 🙂

머릿글자가 겹치는 이름

이름을 대충 숨겨서 쓰려고 ㅇㅁㅂ 같은 방법을 많이 쓰는데, 이렇게 쓰면 과연 겹치는 사람이
얼마나 될지 궁금해서 한 번 찾아 봤습니다. 머릿글자가 ㅇㅁㅂ인 사람은 8만명 중 6명으로
0.000075 확률이라서 일부러 누구 찍어서 말하는 게 아니라고 말하기 매우 힘든 수준이라고
볼 수 있겠죠; 그럼 과연 가장 많이 겹치는, 머릿글자만 따도 이미 익명성이 보장되는 것은
어떤 게 있을까요!

머릿글자 비율 예시
ㅇㅈㅎ 1.50% 안정환 안재현 오지호 유정현 엄지혜 임지훈
ㅇㅈㅇ 1.34% 안재욱 이재오 양진영 오종원 유지연 윤재열
ㄱㅈㅎ 1.30% 강종훈 고정환 구자현 권재혁 김정현 김진형
ㅇㅅㅇ 1.26% 안상우 양소영 유수연 윤선영 이승엽 임순옥
ㄱㅇㅅ 1.20% 강은숙 공영섭 곽영수 금윤섭 김연실 김은수

위 이름 쓰시는 분들은 좋겠어요~ 머릿글자가 익명이라.. ^^;

마지막으로..

여러가지 이름에 대한 통계를 해 봤는데, 그동안 피상적으로 느꼈던 것을 정량적으로
확인해 볼 수 있는 기회가 됐습니다. 이름과 성별 밖에 없는 자료이기는 하지만,
그래도 혹시 있을 수 있는 오용을 막기 위해 위에서 공개된 자료 외에는 추가로 공개하지는
않을 예정입니다. 다음에는 여러 가지 기계학습 기법들을 이용한 이름 -> 성별 판단 루틴들을
만들어서 시험해 보는 글을 언젠가는 한 번 써 보려고 아이디어를 정리하고 있습니다. ^^;

단백질 접기 게임 fold.it의 배경 이야기

요즘 인터넷에서 단백질을 접는 게임 fold.it이 아주 인기입니다.
단백질 접기(protein folding)는 구조생물정보학의 가장 큰 문제이기도 하지만, 제가 있는 연구실의
주요 주제이기도 해서, 단백질 접기에 관한 몇 가지 얘기를 해 볼까 합니다. 🙂

단백질 구조가 뭔가?

단백질은 생물을 구성하는 주요 분자구조 중의 하나인데, 20가지 아미노산이 일렬로
실처럼 쭉 연결되는 것이 기본 구조입니다. (현재 22번째 자연계 아미노산까지 발견되긴
했지만 사람은 20개만 사용하고 있습니다.) 20가지면 컴쟁이가 생각하기에 바로 생각할
수 있는게 알파벳으로 커버하고 남는다 그거죠. 그래서 실제로 아미노산은 알파벳으로
표시하고 있는데 각각의 이름을 따서 BJOUXZ 여섯개를 빼고 나머지로 표현하는 문자열로
많이 씁니다.

그런데, 각 아미노산은 성질이 있어서 자기들끼리 모이려고 하는 것도 있고, 서로 떨어지려고
하는 것도 있고 크기가 커서 부딪히지 않으려고 하는 것도 있고, 기타 등등 여러 성질이 있어서
안정적인 몇 가지 기본적인 구조(나선형, 판형 등..)을 지역적으로 이루는데, 이걸 2차구조라고 부릅니다.

역시 인간관계도 상당히 복잡하듯, 2차구조를 이룬 다음에도 자기들끼리 꼬이면 그나마 남은
관계까지도 복잡하게 얽여서 굉장히 안정적인 구조를 만들 수 있는데요, 이렇게 모인 것을
3차구조라고 부릅니다. 그리고 여러 단백질 가닥이 모여서 큰 단백질을 만들면 4차구조라고
부릅니다.

구조는 뭐에 쓰는가?

단백질은 생화학적 작용의 가장 기본적이고 유용한 분자이기 때문에, 생화학 작용에서
단백질을 빼면 거의 남는게 없습니다. 물론 핵산이나 탄수화물 등도 매우 중요하긴 하지만,
생화학 회로를 그린다 하면 거의 대부분 단백질이 주인공이죠. 그런데, 단백질이 상대를
만나서 반응을 하는 기준이 대부분 단백질에 있는 구멍의 특정 모양이나 아미노산들이 배치된
패턴과 상대의 특징들 같이 단백질과 생분자간의 모든 관계가 구조를 빼면 설명하기 힘듭니다.

그래서 단백질의 구조를 밝히는 것이 분자생물학, 세포생물학의 기본 원리를 밝히는 데 뿐만
아니라, 새로운 단백질을 디자인하고 약을 만드는 데 매우 중요한 도구입니다. 90년대 말의
히트작 항암제인 글리벡도 구조를 연구해서 기막히게 구멍을 메우는 약이죠.

구조를 그냥 보면 안 되나?

웬만하면 구조는 그냥 현미경으로 보면 가장 좋겠죠. 그런데, 단백질은 빛의 파장보다
짧은 구조를 하고 있기 때문에, 가시광선으로는 볼 수 없어서 현미경으로 볼 수 없고,
전자현미경이나 다른 원리를 쓰는 현미경들도 (적어도 아직은) 단백질 구조까지 보기에는
한참 힘듭니다. 그래서 사용하는 것이 일반인들에게 MRI로 유명한 NMR
X레이 구조결정 두 가지 방법이 쓰이는데요, 보통 X레이가 여러 이유로 더 많이 쓰입니다.

X레이로 그냥 다 찍으면 보이면 좋은데, 이게 결정을 만들어야하다보니, 같은 분자를 다량
정제하는 것도 힘들고 결정으로 만들기도 힘든 고분자를 결정으로 만드는 것도 상당히
경우에 따라 다른 기술이 필요합니다. 그래서, 대량으로 찍고 싶다고 다 나온다기 보다는
관심이 많은 단백질들의 구조에 집중되어 있는 편입니다. 또한, 단백질 구조가 항상 같은게
아니라 꿈틀꿈틀 움직이기도 하고 아예 훽훽 움직이기도 하는데 그 움직임이 중요한 경우도 있어서 원하는 걸 다 얻기도 힘들고,
막 사이에 끼여있는 단백질 같은 경우엔
아예 원래 구조로 결정으로 만드는게 너무너무너무 힘들어서 지금까지 찍힌 것이
손으로 꼽을 정도가 되기도 합니다.

계산적 구조 예측

그래서 하는 것이 컴퓨터를 이용한 구조 예측입니다. 기본적으로 원자의 움직임은 물리역학적
특성을 따르기 때문에, 움직임이나 안정적 구조를 컴퓨터로 당연히 이론적으로 예측할 수
있습니다. 대표적으로 사용되는 방법은 분자동역학 시뮬레이션이나 몬테카를로 같은 것들을
쓰는데, 전자의 경우에는 계산량이 엄청나게 많아서 수십나노초(ns)가 넘으면
예측이 거의 불가능해집니다. 그리고 몬테카를로법이나 다른 변종들도
한계가 있습니다. (시작점을 잡기 위한 방법이나 지속적인 움직임을 보기 위한 다른 방법을 도입할 필요가 있죠.)

그 결과 결국 구조 예측의 주축은, 유사성 모델링이 되었는데, 기존의 비슷한 단백질의 구조를 가져다가
여기 저기 비슷한 부분을 잘라 붙인 다음에, 그걸 기존 방법으로 에너지 안정화 시뮬레이션을
좀 거치는 방법입니다. 기존 단백질 구조를 이용해서 완전 바닥이 아니라 벌써 한참 진행된
것을 가지고 하기 때문에 아주 효율적이고 비교적 정확한 결과를 얻을 수 있지만, 기존의
비슷한 단백질이 없으면 구조를 예측하지 못하는 한계가 있습니다. 그렇지만, 데이터베이스가
점점 커져서, 최근에는 단백질 예측에서 유사성을 이용하지 않는 것은 상상할 수 없을 정도가
되었고 데이터베이스 크기가 예측의 품질과 매우 밀접한 관계를 가지게 되었습니다.

구조 예측 대회 CASP!

이렇게 단백질 구조 예측이란게 아주 정의가 잘 된 계산 문제가 되다보니, 그 다음에 당연히
나올 수 있는 것은 초밥만들기 대회처럼 세계대회가 생기는 것이겠죠. 그 중 가장 큰 것은
단연 CASP입니다. 1994년부터 격년으로 하고 있는데
올해 대회는 얼마 전에 참가접수가 끝나고, 지금 한참 대회가 진행 중입니다.

요즘 유행하는 fold.it도 이 구조 예측 대회를 타겟으로 나온 것인데, fold.it을 만든
워싱턴대학(시애틀) 생화학과의 David Baker 연구실은 한동안 CASP을 휩쓸었던
먼치킨 그룹입니다. 여기는 애플과 비슷한 점이 많은데, 남들이 다 뻔히 될 것 같다고 생각하고는
있지만 실제로는 여러 이유로 안 해보는 것들을 아주 기발하고 멋진 해결책을 들고서
짠! 하고 만들어서 그걸로 굉장한 결과물을 만들어냅니다. 유사성 모델링에서 에너지 계산방법도
그렇고, 구조 데이터베이스 탐색법, 분산계산(Rosetta@Home)등 여러 가지가 그런데요,
이번에 fold.it도 종종 컨퍼런스에서 구조는 역시 사람이 보고 끼워맞추는게 최고다 그런
농담이 자주 나오는 걸 진짜로 게임으로 만들어서 수만명이 달려들게 만들어버렸습니다.

-ㅇ-; 그 결과 지금 fold.it에 슬슬 CASP문제가 나오기 시작했고, 올해 CASP 문제를
게임에서 수만명 플레이어가 여러가지를 아직 알고리즘으로 나오지도 않은 여러 직관을
써서 풀어놓으면 거기서 나온 구조로 CASP 답안으로 제출한다고 합니다. 물론 컴퓨터로
찾는 것 보다 완전 샅샅히 뒤지는 것은 안 되겠지만, 그래도 사람의 직관이 수만명이
모이면 그 힘이 어떻게 될 지는 상상도 안 가네요. 아마도 상당히 상위권에 들어갈
수 있지 않을까 싶습니다.

실제로 게임 안에 나오는 구조는 진짜 단백질 구조인가?

많은 분들이 물어보셔서 덧붙이자면, 게임 안에서 쓰이는 용어는 모두 실제
생물학에서 사용하는 용어이고, 구조에 큰 영향을 주는 요소들은 상당 부분이
게임 안에서 자세히 표현되어 있습니다.

앞으로 이런 게임이 어떤 것이?

직관으로 풀면 훨씬 간단한 NP-hard 문제들을 재미있는 퍼즐로만 만들 수 있다면
이렇게 잘 표현한 게임으로 만드는게 수천개 CPU 동원한 클러스터보다 효율적일 수도
있을 것 같습니다. 단백질 구조 외에도 계통 분류 최적화RNA 구조,
단백질-단백질/라이간드 도킹 예측/디자인, 단백질 유도 진화 등 재미있는 게
많이 있을 것 같은데 게임으로 과연 만들 수 있을지는 모르겠네요. ㅎㅎ;

파이썬 문법을 내 맘대로 python4ply

그동안 파이썬은
조건 표현
with절같이
문법을 바꿔달라는 수 많은 사용자들의 요청을 받아들여 문법을 추가한 사례가
여럿 있기는 했지만, switch-case나 for-from-to 같이 디자인 상의
일관성 문제로 인해서 받아들여지지 않은 문법도 많이 있었습니다.

요즘 계속 영역-특정적 언어(Domain-specific Language)에 대한 사용처가
늘고 있는데 파이썬을 특정 목적에 쓰자면 종종 대형 프로젝트에서는 문법을
고치는 게 득이 될 경우도 많이 생각할 수 있습니다.
그래서 전처리기를 사용해서 쓰는 방법도 있지만, python4ply는 이걸 좀 더
깔끔한 방법으로 처리하기 위해 등장했습니다.
나온지는 꽤 오래되었지만, 갈 수록 중요한 변환점을 찍은 모듈로
지속적으로 언급되고 있습니다.

원래 PLY는 파이썬에서 lex/yacc를
지원하기 위한 파서 제너레이터인데, python4ply는 PLY에서 파이썬을 파싱하고
그걸로 파이썬 바이트코드를 생성해서 직접 파이썬 코드 파싱/컴파일을 만들었기 때문에
그 부분을 직접 조절할 수 있도록 했습니다.

예를 들면 튜토리얼에서 예제로 들고 있는 것에서 이런 문법도 보여주고 있습니다.

파싱과 컴파일을 모두 건드리고 있으니 문법은 원한다면 얼마든지 바꿀 수 있는데,
python4ply는 소스 구조도 아주 깔끔하게 잘 정리되어 있는 편이라, DSL을 만들어야
하는 상황이라면 언제나 유용하게 쓸 수 있을 듯 합니다.

사실 python4ply가 나온 이후로 python-dev 메일링에 누군가 새로운 문법 뭔가 좀
넣어달라, 또는 파이썬 3에 2.x호환성 좀 넣어달라 요청만 올라오면 python4ply
URL을 누군가 덥썩 던져주고서는 그 다음부터는 무시하는 분위기가 됐지요. :>
누구나 어렵지 않게 할 수 있을 거라고 생각하고 있던거지만, 실제로 구현이 되고나니
영향을 꽤 많이 미치고 있는게 역시 가능하다고 생각만 하고 있는 것과 실제 구현체가
나온 것은 영향력이 차이가 좀 있군요.

블로그 프로그램을 바꾸었어요~

처음 pyblosxom으로 블로그를 시작했던 게 벌써 5년 전인데,
그 후에 Zope 기반인 COREBlog로 바꿨다가, 오늘 드디어 시대의 주류
Django로 갈아탔습니다. 으흣. 항상 비주류 도구를 쓰다가,
Markdown같은 호사스러움도 누려보고 기분이 상큼하네요. ^_^;

블로그 애플리케이션

이번 블로그 프로그램은 Blogmaker라는 Django프로그램을
가지고 다른 사람이 수정한 Trespams를 다시 수정해서
사용했습니다. 최근 댓글 목록이나, 댓글 양식같은 기존 부분을 가급적이면 그대로 유지하려다보니
수정한 부분이 많이 있었구요. 이번에는 django도 이제 주류이니 저변을 좀 더 넓혀보자는 의미에서
제 블로그를 돌리고 있는 그대로 소스를 공개합니다. 누구든 받으시면 똑같이 오픈룩을 하나 돌리실 수 있게
-ㅇ-;; 수정한 부분을 구분하기 위해서 수정을 많이 했다는 의미에서 이름은 "수정"입니다.
역사 속의 블로그 프로그램 soojung과 혼동을 막으려고 sujung으로 씁니다 –; (소스 다운로드는 mercurial 깔으시고 hg clone http://openlook.org:20311/ sujung 하시면 됩니다. — allieus님 감사!)

디자인

디자인은 제가 요새 감각이 날로 떨어지고 있어서 OSWD 에서 잘 나가는 템플릿
하나
를 가져와서 적용했습니다. ^^;; 혹시나 디자인 하신 분 한글을 읽을 줄 안다면, 고마워요~ (;;)

그런데, 역시 우리말 사이트는 제가 꼭 지키고 싶은 두 가지 조건을 가지고는 MSIE에서 예쁘게 보이게 하는 것이 거의 불가능하더군요. (1) 그림 파일은 되도록 안 쓴다. (2) 글자는 11포인트 이상. 그래서 가급적이면 MSIE사용자분들은 그냥 RSS리더로 읽으시기 바랍니다(?);;;;;;;

블로그 외의 다른 내용

그 동안 "오픈룩에 뭔가 올라왔던 것 같은데 개똥도 약에 쓰려니 못 찾겠어요" 하는 분들을 많이 뵈어서, 받아갈 만한 뭔가가 있는 것들은 따로 페이지에 정리했습니다. 오래돼서 도움이 될 지는 모르겠지만 그래도 없는 것 보다는 낫기를.. 그리고 프로필도 업데이트 했습니다. ^_^;

기존 블로그 URL

전에 쓰던 COREBlog에서의 URL 중 다른 URL은 보존이 사실 좀 어렵고, 글에 대한 직접 링크는
모두 새 블로그로 리다이렉트 하도록 했습니다. 기존에 제 블로그에 링크하셨던 분들은 수정하지 않으셔도
그냥 연결됩니다.

댓글과 트랙백

Blogmaker는 스팸방지 장치를 몇 가지 도입하고 있는데, 댓글 쓰기 양식에서 안 보이는 상자나 단추를 누르시면 스패머로 등록돼서 그 다음부터는 같은 IP에서는 댓글을 못 쓰게 됩니다. (정상적인 웹 브라우저를 쓰신다면 그럴 일은 없습니다.) 그리고 트랙백은 반드시 트랙백 본문 안에 오픈룩 글의 URL이 일부 포함되어 있어야지만 받게 되어 있습니다만, 언급이 안 돼 있다고 스패머로 등록하지는 않으니 안심하시고 보내주세요~

버그를 발견하시면..

지금도 이 Django 프로그램은 디버그모드로 돌고 있으니 언제든 희한한 문제가 발견됐다 싶으시면
이 글 밑에 댓글로 달아주세요! ?

Watch Full Movie Online Streaming Online and Download

생활 속의 프로그래밍

예전에 블로그에서 알려드린 적 있는 생활 속의 프로그래밍 동영상이 얼마 전에 올라왔습니다. 이미 보신 분도 계시겠지만, 기록의 의미로 여기도 하나 링크해 둡니다. 🙂

생활 속의 프로그래밍은 프로그래밍으로 먹고 사는 분들이 일상 생활에서 프로그래밍을 활용해서 재미도 있고 편하기도 하고 배울 것도 있는 여러 놀이를 떠올리는 계기가 되게 제가 그동안 오픈룩에서 썼던 여러 사례들을 소개해 드리는 세션이었습니다. 오픈마루 WoC 스노우캠프와 NHN 네이버토크에서 따로 2번 진행했었는데, 둘 다 비디오 촬영은 되었지만 오픈마루 WoC 것은 아직 공개되지 않았고, NHN 것이 얼마 전에 공개되었습니다.

화면이 잘 안 보이는 편이니, 발표자료를 따로 받아서 보시면 잘 보일 것 같습니다~

사실 제가 말이 좀 느리고 중언부언하는 경향이 있어서 3배속으로 보면 딱 맞을 것 같긴 한데, 아쉽게도 속도 조절은 못 하는군요 -ㅇ-;