그동안 약 1달 10일 정도 서버가 죽어 있었는데, 오늘 티이님의 도움으로
서버 복구가 끝났습니다. ^_^
한 동안 블로그에 글을 못 쓰니까 막 글 쓰고 싶어서 근질근질 했었는데
막상 열리니 쓸 게 없네요 -ㅇ-;;; 조만간 재미있는 글 많이 올리도록 할게요~ 🙂
혜식이의 열고 보는 세상
그동안 약 1달 10일 정도 서버가 죽어 있었는데, 오늘 티이님의 도움으로
서버 복구가 끝났습니다. ^_^
한 동안 블로그에 글을 못 쓰니까 막 글 쓰고 싶어서 근질근질 했었는데
막상 열리니 쓸 게 없네요 -ㅇ-;;; 조만간 재미있는 글 많이 올리도록 할게요~ 🙂
Science에 3월 7일자로 COMPUTER SCIENCE: Science 2.0라는 Perspective가 올라왔습니다. 좀처럼 안 올라오는 CS관련 글이 최근에 몇 개가 연달아 올라왔는데, 그래서 보고 있다가 중간에 붙어있는 그림 1 (정치 네트워크)을 보고 우리나라도 이런 것 하나 그려보면 정말 재미있겠다 하고 완전 꽂혀서 최근에 그래프 툴도 하나 익혀야겠다 생각이 들어서 이걸로 주말을 날렸군요 -ㅇ-;
구체적으로 저 그림을 방법에 대해서는 나와있지 않아서 그냥 대충 그림 설명의 어감을 보고 따라해 봤습니다. 우선 국회법률정보시스템에서 17대 국회 중에 통과된 개정안을 모두 긁어왔는데요, 대략 2300건 정도 되는군요.
현재 국회의원직을 유지하는지 여부는 상관 없이 의안에 한 번이라도 개입했던 의원들 중 활동이 충분한 의원은 모두 대상으로 넣었습니다.
처리된 의안 중 정부가 제안한 것과 상임위원장이 올린 법안들은 누가 올렸는지 뚜렷하게 적혀있지 않기 때문에, “XXX의원외 ~명 발의”로 되어있는 것들을 추렸는데, 총 780건 정도 되는 것으로 결국 분석했습니다. 여기서 의안을 같이 발의한 경우에 1점씩 추가해서 각 의원간의 NxN 행렬을 계산했습니다.
아무래도 이런 방식으로 의안을 많이 올리는 의원도 있고 (최고는 220건), 중간에 사퇴하거나 보궐선거로 들어오거나 장관직 수행 등으로 참석 횟수가 적은 의원들이 있기 때문에 (최저는 대략 1~2회 내외), 각 참여의 중요도를 반영하기 위해 표준 점수(Z-score)로 계산하고, 양쪽 의원간의 상호 점수 중에 낮은 것으로 양쪽 모두에게 적용했습니다. 그리고, 이 그래프를 네트워크 분석 프로그램 중 가장 널리 쓰이는 Pajek에 넣어 분석했습니다. (사실은 NetworkX를 쓰고 싶었지만, 엣지가 너무 많아서 뻗어버리더군요 –;)
요렇게 나옵니다. 대략 사이언스에 나온 그림과 비슷합니다. 하하하 (괜히 뿌듯;;;;)
사실은 자격불만족이나 기타 다른 사유로 활동이 적은 의원들을 제거해서 바깥쪽으로 멀리 떨어져나간 점은 좀 쳐냈습니다.
(구체적으로 자세히 보시려면 여기 –> Kamada-Kawai 레이아웃, Fruchterman Reingold 레이아웃)
구체적으로 숫자들로 데이터를 보면 상당히 재미있는 게 많이 있었는데, 그래프로 그려서는 어떻게 재미있는 걸 표현하기가 좀 힘드네요. -ㅇ-;; 제가 관심이 많았던 전/현 민주노동당 의원들 주변 자료만 좀 살펴보면, 작은 당들이 주로 자기들끼리 힘 모아서 같이 발의하는 경향이 훨씬 뚜렷하고, 표준 점수로 하다보니 다른 당 의원들과의 점수가 엄청 떨어지는군요. 전/현 민주노동당 의원들에서 밖으로 나가는 고리는 주로 강기갑, 최영순 의원이고, 재미있게도 민주당 비례대표 1번이었던 손봉숙 의원이 드물게도 대부분의 전/현 민주노동당 의원들에게 연결되어 있습니다.
혹시 나중에 또 새로운 툴 배울 일이 생기면 더 분석해서 올려 보겠습니다. =3=33
더 자세한 데이터에 관심있는 분들을 위해서 표준점수 데이터를 공개합니다.
(사실 위 그래프 말고도 하나 더 그리긴 했는데, 설명을 쓰고보니 글이 너무 길어져 재미없어져서 설명은 생략합니다;;)
제가 가지고 있는 도메인 중에 yonsei.net 을 이제 졸업도 하고 했으니 좀 더 유용하게 쓰일 곳을 찾아 넘겨 드리려고 합니다. 아무나 드리기는 좀 그러니, 다음 조건에 맞는 분께 신청을 받아서 제가 생각하기에 가장 적당하다고 생각되는 분께 드리겠습니다. 학교 기관 또는 동아리 등 수익이 목적이 아니라고 판단되는 곳에는 무상으로 양도해 드릴 생각입니다. (아래에서 “학교”는 연세대학교입니다.)
도메인을 받을 분의 조건
1달 뒤인 4월 11일까지 제 메일 주소(옆에 “좀 더 관심있어요” 누르시면 나옵니다~)로 메일을 보내주시면 그 후에 적절한 분을 선정해서 양도하겠습니다~ (적당한 분이 없다고 생각되면 그냥 1년 정도 더 가지고 있다가 다시 내년에 -ㅇ-)
주변에 관심이 있을 만한 분이 있으시면 이 얘기를 전해주세요~
갑자기 궁금해서 한 번 조사해 봤습니다. ;; 채팅할 때 주로
쓰는 글자는 몇 개나 되고 전혀 쓰이지 않는 KS X 1001 완성형
글자도 있을까!
그래서 대상은 2004년 12월 27일부터 오늘까지 HanIRC의 #perky, #tokigun 등 제가 들어갔던 채널들의
채팅 로그를 가지고 분석해 봤습니다. 분석 대상 한글 글자 수는 모두 54,723,296 글자였습니다. (많이도 떠들었다;;)
가장 많이 쓰이는 글자 20개는 다음과 같이 나왔군요.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
누적비율 글자수 글자 2.99% 1636236 이 4.87% 1026920 는 6.70% 999776 요 8.44% 951349 군 10.18% 948018 다 11.78% 875232 고 13.37% 872547 가 14.94% 858935 아 16.49% 842846 나 17.92% 784908 하 19.27% 735143 에 20.47% 657522 리 21.65% 644259 어 22.81% 638026 사 23.96% 627557 지 25.06% 597604 서 26.14% 594294 로 27.17% 560550 그 28.18% 554750 도 29.20% 553821 기 |
~는 ~군요. ~이 ~고.. 역시 조사가 압도적이네요. “하”나 “아”는 조사가 아닌데도 명사나 기타 다른 곳에서 많이 쓰인 모양입니다.
저걸로 뭔가 문장을 만들 수도 있을 것 같았는데 해 봐도 잘 안 돼서 일단 ;;
반면에 한 번도 안 쓰인 KS X 1001 완성형 글자들도 몇 개 있었는데 다음과 같습니다.
흽횝혤퓜푭폘틥틜튱튁툿턺쵭쵬촁쳰쬈쫬쫠쩽쥣줆죌좼졺욀얩씐쐽쐼쐴썲쇘쇔쇌솖섕섐섈섄뺙빎붊묑묍묄묀룅뢨롑띳띕뙨똴덖늚뇝뇜뇔꾈꾄괩괆
저 글자들을 활용해서 아이디를 만들면 아이디 겹칠 일은 없겠네요~ \o/
그럼 확장완성형 중에 무슨 글자가 많이 쓰였을까 생각해 보면, “뷁”, “횽” 같은 게 압도적으로 앞에 나올 것 같은데요~
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
누적비율 글자수 글자 12.36% 7108 뤂 ☆ 18.59% 3585 횽 ◎ 22.52% 2263 떄 ◆ 26.36% 2205 뷁 ◎ 29.79% 1977 됬 ◆ 32.74% 1696 봣 ◆ 35.69% 1694 햏 ◎ 37.50% 1041 쵝 ◎ 38.36% 496 썻 ◆ 39.18% 470 뵬 ☆ 39.96% 452 핳 ◎ 40.71% 432 졋 ◆ 41.42% 408 췟 ◎ 42.06% 365 쩄 ◆ 42.67% 355 뺴 ◆ 43.28% 349 휏 ◎ 43.88% 343 뮹 ☆ 44.45% 330 앜 ◎ 44.99% 310 훍 ◎ 45.52% 306 젋 ☆ |
대충 경향을 보면 닉네임을 줄여서 부르는 것(☆)이 4개, 독립적인 인터넷 언어(◎)가 9개, 오타(◆)가 7개로, 생각보다 닉네임 줄여서 부르는 것의 비율도 꽤 되고, 오타도 다양하군요~
그래서, 과연 자주 쓰는 글자들이 얼마나 비중을 차지하는지 살펴보면
위의 파란 곡선은 완성형, 빨간 곡선은 확장완성형 글자이고, 세로축은 비중이 많은 순서로 정렬한 누적 글자수 입니다. 파란 곡선에 비해 빨간게 훨씬 가파른게, 확장완성형에만 있는 글자들이 일부에 대한 편중이 심하다는 걸 볼 수 있고요, 당연히 KS X 1001 완성형 글자들이 편중이 좀 덜 되어 있는게 영 발로 만든 건 아니구나 뻔한 사실을 한 번 확인해 봅니다 –;
몇 글자만 있으면 90%를 쓸 수 있을까도 보통 많이 하는 조사인데요, 완성형은 90%까지 351자(최~복 사이), 95%까지 511자(효~착 사이), 99%까지 903자(깜~벼 사이) 입니다. 아무래도 자주 쓰이는 글자를 뽑아놓은 문자셋이라서 생각보다 골고루 쓰이고 있네요.
혹시나 이 자료를 어디에 쓰실 분이 있을까봐 조사 결과를 공개합니다. –;;;;; (KS X 1001 완성형, 확장완성형 확장한글)
돌아다니다가 레몬펜이라는 서비스가 있길래 보고 호오 신기하다 생각하던 중, 저널 사이트에 붙여놓고 온라인 저널클럽 하는 것 비슷하게도 되지 않을까 생각나서, 한 번 그리스몽키 스크립트를 만들어 봤습니다. 같이 읽으면서 메모도 쓰고 재미있을 것 같아서~
설치하시려면 그리스몽키를 먼저 설치하신 다음에 >>여기<<를 클릭하세요~
등록해 놓은 사이트는 다음과 같습니다.
얼마 전에 “사랑하지 않으면 떠나라”의 서평 제목으로는 좀 독특한 “당신은 자바 가상 머신을 죽일 수 있나요?”라는 글을 보고 떠올라서, 혹시 파이썬을 쓰다가 발생하는 문제를 얼마나 잽싸게 해결하고, 문제가 생길만한 코드를 짜지 않는 등 이해정도와 관련된 것을 시험해 볼 수 있는 문제를 한 번 내 봤습니다. -ㅇ-;; 물론 제가 냈기 때문에 제가 아는 한에서만 나온거라 좀 편향돼 있을 수도 있지만.. 그냥 재미로 한 번;;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
1. 다음 파이썬 타입 중에서 "일반적으로" 큰 수를 다룰 수 있는 순서대로 정렬하세요. decimal.Decimal int/long float (inf 제외) str (36진법으로 풀어 쓴다) 2. 다음 파이썬 타입 중에서 해시가 불가능한 타입을 모두 고르세요. unicode float set decimal.Decimal dict 3. 다음 중 최대 메모리 사용량이 가장 많은 코드를 고르세요. (ㄱ) max([i for i in range(1000)]) (ㄴ) max([i for i in xrange(1000)]) (ㄷ) max(i for i in range(1000)) (ㄹ) max(i for i in xrange(1000)) 4. 부모 클래스에서 __x(self) 메쏘드가 있을 때, 자식 클래스에서 부모 클래스가 정의된 소스코드를 수정하지 않고 호출할 수 있는 방법을 가능한 한 다양한 방법으로 쓰세요. 5. pymalloc을 넣고 컴파일했을 때 발생하는 현상이 아닌 것은? (ㄱ) 할당한 메모리보다 더 많이 할당된다. (ㄴ) 같은 루틴을 반복할 경우 메모리가 샐 수도 있다. (ㄷ) 할당된 객체가 쓰는 메모리를 해제해도 남아있을 수도 있다. (ㄹ) 메모리 할당이 더 느려질 수도 있다. 6. 다음 중 메모리 할당 횟수가 가장 많은 코드는? (ㄱ) map(int, range(100)) (ㄴ) map(str, range(100)) (ㄷ) map(long, range(100)) (ㄹ) map(unicode, range(100)) 7. exec "x ** y" 를 실행 할 때 발생할 수 있는 예외가 가장 아닐 "것 같은" 것은? NameError OverflowError MemoryError TypeError RuntimeError TabError ZeroDivisionError 8. 모듈을 들여오는 과정과 관련된 모듈 또는 객체가 아닌 것을 고르세요? (파이썬 2.x 기준) sys.path zipfile imp warnings marshal sys.modules __future__ 9. x += x 했을 때 할당된 메모리 크기가 변하지 않을 수도 있는 초기 x 값을 모두 고르세요? (ㄱ) sys.maxint (ㄴ) [1, 2] (ㄷ) 'guido' * 10 (ㄹ) True (ㅁ) sys.version 10. 다음 중 키보드 입력(ctrl-c)으로 중단할 수 있는 것를 모두 고르세요? (ㄱ) select.select (ㄴ) 9 ** 9999 (ㄷ) os.listdir (ㄹ) Decimal(9) ** 9999 (ㅂ) deque().add 11. CPython VM을 죽일 수 있는 파이썬 코드를 3가지 방법 이상 작성해 보세요. 12. 다음 중 오버라이딩으로 동작을 "바꿀" 수 있는 경우를 모두 고르세요? (ㄱ) not A (ㄴ) A is B (ㄷ) A = B (ㄹ) A != B (ㅁ) A <- B (ㅂ) A and B (ㅅ) A | B (ㅈ) (A, B) 13. 상속 받은 자식 클래스에서 단순하게 메쏘드를 오버라이드 했을 경우에도 베이스 클래스에서 "강제로" 자기 메쏘드를 부르게 하고 싶을 때 쓸 수 있는 방법 몇 가지? 14. gc.collect()가 해결할 수 없는 문제는? (ㄱ) 순환 참조 (ㄴ) C모듈의 전역 변수 (ㄷ) C객체의 멤버 변수 (ㄹ) C객체 간의 순환 참조 15. x += y를 실행했는데 ImportError가 발생했다. 어떤 상황일까? 가설을 5개 이상 생각해 보세요. 16. x = y를 실행했는데 TypeError가 발생했다. 어떤 상황일까? 가설을 2개 세워 보세요. 17. if list(x): raise SystemExit 했더니 프로그램이 종료했다. 어떤 상황일까? 가설을 5개 세워 보세요. 18. def x(a, b):에 대해서 x(1, 2)했는데 TypeError가 난다. 어떤 상황일까? 가설을 5개 세워 보세요. 19. import os; os.listdir('.') 했더니 AttributeError가 난다. 어떤 상황일까? 가설을 3개 세워 보세요. 20. print x하면 0인데 if x: print "Yay!" 하면 Yay!한다. 어떤 상황일까? 가설을 3개 세워 보세요. |
저는 학부를 “기계전자공학부”에 다니고, 지금은 “바이오및뇌공학과”에 다니고 있는데요,
둘 다 전통적인 학과 이름이 아니라 마케팅용 과 이름이다보니까
본의아니게 “기계공학 전공하셨는데 컴퓨터는 어떻게 배우셨어요?” 질문도 엄청 자주 받는데다,
저희 가족들도 제가 무슨 과인지 아직도 모르는 뭐 그런 일이 있어서,
구체적으로 뭐 하는 과인지 약간 소개를 해 봅니다.
“기계전자공학부”는 교육부에서 한창 학부제 정책을 펼 때 학교에서
지원 받으려고 급조한 학부인데요, (마지막 학생운동이 있었던 바로 그) 1996년에 기계공학, 기계설계, 전기공학, 전자공학, 전파공학, 컴퓨터과학, 산업시스템공학 이렇게 7개가 합쳐서 기계공학, 전기전자공학, 정보산업공학 3개 전공으로
재편성한 광역학부입니다. 저는 정보산업공학(컴과+산시)으로 졸업했는데,
컴과과 산공을 약간씩 들어서 컴과라고 하기도 좀 그렇고 정보라고 하기도 좀 그렇고.. 애매하지만.. 기계과는 아닙니다. -ㅇ-;
이후에 2000년에 모집계열이 공대 전체로 통합되면서 3개 전공이
모두 별도 학부로 분리되면서 정보산업전공이 컴퓨터산업공학전공으로 바뀌고, 2004년에는 다시 2개로 원래대로 분리돼서 컴퓨터과학과와 정보산업공학과(원래는 산시)가 됐다가, 2007년에는 다시 공대의 비인기과를 모아서 공학부로 통합했다고 합니다. -ㅇ-;
“바이오및뇌공학과”는 사재기부와 정부의 매칭펀드로
마찬가지로 약간 독창적인(?) 방법으로 생겨난 학과인데,
처음에 이름은 “바이오시스템학과”였습니다. 학교 내에서 학부생을
모집하는 과 중에 유일하게 자연과학대나 공과대에 속하지
않은 과이기도 한데.. 좀 이상하죠; 원래 설립목적은
BT+IT였지만, 실제로는 BT+IT라고 보통 부르는 분야가 차지하는
비중은 그렇게 많지 않고, 공학을 도구로 해서 생물을 주제로
연구하는 여러 분야에 골고루 나뉘어 있습니다. 크게 나노나 MEMS, 뇌과학/신경공학, 계산생물학, 이미징/포토닉스 같은 것을
다루는 연구실들이 있습니다.
그러다가 2006년 말에 “바이오시스템”이 다른 학교에서
주로 농기계 관련 학과에서 많이 쓰인다는 얘기 때문에,
유학준비생들을 고려해서 미국에서 보통 많이 쓰는 이름인 “바이오메디컬공학과”로 개칭합니다.
그런데 관련된 타과의 극렬한 반대로 결국 학칙만 개정하고
공표는 못 하고 있다가, 결국 2007년에 정치적 타협으로
부르기도 이상하고 쓰기도 이상한 “바이오및뇌공학과”가 됩니다.
아직도 학교 안 다른 데서 과 이름 얘기하면 이상한 사람 취급합니다.
-O-; 세글자 약어는 공식적으로는 “바공과”지만, 실제로는 과 안에서도 누구나 “바뇌과”로 부르고.. ^.^
이상한 이름 과만 돌아다니는게, 뭔가 알게모르게 유행을 좇은 결과는 아닌지 깊이 반성해 봅니다. -.-;
어제 스퀵 캠프에서 카즈히로 아베 (阿部 和広)씨를 만났는데, 보여주신 OLPC에 파이썬이 있다길래, 확인해 보니까 코덱도 빠지지 않고 소스로 다 들어가 있군요. 이히히. 반가워서 사진 한 장!
ps. 창준형, 승범이, 나부군님, 이지님, 테라님, 표님 모두 반가웠어요!
엊그제 올렸던 WoC snow camp 얘기는 행사를 주최하는 곳에서 WoC참가 학생을 위한 행사라 장소가 좁아서 일반인은 참가할 수 없다고 알려왔습니다.
제가 미처 확인을 못 하고 알려드려서 죄송하네요~ “생활 속의 프로그래밍” 주제는 앞으로 많은 분들이 참여하실 수 있는 좋은 행사에서 준비가 되면 그 때 다시 알려드리겠습니다. 🙂
이번 주 토요일(23일) 도곡동 IBM본사에서 WoC snow camp가 있습니다. 저는 “생활 속의 프로그래밍”을 주제로 발표할 예정인데, 아직 구체적인 시간은 결정되지 않은 것 같네요.
이번에는 일상생활 속에서 작은 프로그램들을 활용해서 재미나게 프로그래밍도 즐기고~ 삶도 재미있게 사는 방법을 여러 예를 통해서 보여드릴 예정입니다. 예제는 물론 뭐 긴급하게 새로 다 만들 수 없으니 제 블로그에 지난 몇 년간 올라왔던 글들이 재활용될 예정입니다;; 1시간 안에 제 블로그 전체(?)를 읽으시는 효과를 보실 수 있을지도! -ㅇ-; (뻥을 쳐 본다;)
발표자료는 발표 후에 공개하겠습니다. (참고로 저는 발표자료에는 중요한 내용은 안 적는 경향이 있으니 발표자료만 봐서는 알아보실 수 없을 수도 있습니다. =3)