| 07 Dec 2009 |
새 파이썬 대몬 아키텍처
채점서버 프로세스는:
이걸 위해 할 수 있어야 하는 일은
이런걸 하려면 Python API 를 쓰면 좋으나.. 버전 따라가기도 귀찮고.. 그냥 아마존에서 나오는 커맨드라인 유틸리티를 쓴다. 스냅샷 내에는 이런 스크립트를 만들어 둬야겠군:
EBS Snapshot 을 만들 때는
이렇게 하면 좀 되려나? |
| 06 Dec 2009 |
Online judging with Amazon EC2AOJ 에 해야 하는 수많은 작업들의 탑 리스트에 있는 것이 다른 언어의 지원이다. 딴건 다 그렇다 치고, 자바와 파이썬 정도만 지원할 수 있어도 potential user pool 이 훨씬 늘어날 거라고 생각하기 때문이다. (그전에 모의고사 문제나 좀 올려두던가...) 그런데 남의 프로그램을 받아다 내 컴퓨터에서 돌린다는 온라인 저지의 특성상 샌드박싱은 필수적이다. 지금은 제출된 프로그램을 띄운 뒤 부모 프로세스에서 메모리 사용량과 실행 시간을 감시하고, ptrace 를 이용해 시스템콜을 가로채는 방식으로 프로그램을 검증하고 있다. 그런데, 컴파일되는 언어들이라면 모르겠지만 VM 위에서 돌아가는 언어를 이런 식으로 검증할 수는 없다. 하지만 현실의 대세는 결국 VM 위에서 돌아가는 언어이니 지원 안할 수도 없다. 그런데, 이런 저런 방법들을 고민해 봤지만 지원하고자 하는 수많은 언어들을 한번에 지원하는 것도 힘들다. 결국 가상머신이라도 써야 하나 헐퀴 이러고 있었는데, 오늘 생각해 보니 왜 아마존 EC2 를 쓸 생각을 안하고 있었나 싶더라. 아마존 EC2 는 가상화 서비스들 중에서도 모든 것이 클라우드 위에 올라가 있다는 점에서 특이한데, 이 말인즉 실행중인 서버 인스턴스들이 특정 서버에 할당되지 않고 클라우드 위에서 시뮬레이션 된다는 뜻이다. (대개의 가상화 솔루션들 - 각종 vps 서비스들, 랙스페이스 클라우드 등은 특정 서버 위에서 돌아간다.) 반대로, 이 인스턴스들에 마운트된 디스크들은 인스턴스가 종료되면 사라져 버린다. 대개는 이런 non-persistence 가 굉장히 귀찮은 요소가 되지만, 우리 용도로는 오히려 매우 적당하다. chroot jail 등의 최소한의 샌드박싱만을 추가해서 프로그램을 실행하고, 메모리 사용량 모니터링과 실행 시간 모니터링을 예전처럼 한다. 만약 프로그램도 종료하지 않고 샌드박스도 종료하지 않고, CPU 사용량 또한 감소하지 않는다면, 간단하게 VM 자체를 죽여 버리고 리스토어하면 된다. EBS 에 디스크 이미지 저장해 놨다가 여기에서 부트하면 리부팅하는 데도 시간이 별로 걸리지 않는다. (사실 이 기능이 12월에 추가된 걸 보고 이생각을 했따. ㅡㅡ;) 이미지는 오직 이 용도로만 사용할 테니, 악의적인 프로그램이 시스템을 장악한다고 하더라도 잃을 것도 없다. 더더욱이, 아무도 한 시간 동안 서브밋을 하지 않는다면 인스턴스를 죽여둬서 운영비를 절감할 수 있다는 장점까지 있다.... 음.. 내가 이걸 왜 쓰냐면, 이렇게 포스팅 해두면 다음주엔 코딩 좀 하겠지 싶어서 써둔다. 후 |
Ninja Assassin얼마만에 영화관에서 보는 영화인지. 보은이랑 벤옹이랑 넷이서 벤옹의 스폰싱으로 (!) 보고 왔다. 나는 진짜 아무 기대도 안하고 갔는데 의외로 재밌더군. 판타지였다. -_- |
|
| 05 Dec 2009 |
ACM ICPC 2009 Asia Wuhan Regional요즘 #icpc 채널의 밤을 불태우고 있는 1주1셋운동의 첫번째 세트. 헤헷 난 멋있게 A번부터 풀어야지 하다가 A번 일주일 동안 못풀고, 마지막 날에 몇개 풀고 말았다. -_- 그런데 꽤나 못푼 것의 답을 들으니 배운 점이 많아서 정리해서 포스팅. 배운 점:
|
Malcolm Gladwell - Outliers, 그리고 내 기회들에 관한 이야기아이폰용 킨들로 처음 읽은 책. 지난 토요일에 수열이랑 쇼핑하면서 뭐 기다리다가 심심해서 킨들 다운받고 샘플 다운받았는데 볼만하길래 샀다. 다른건 다 차치하고, 심심할 때 처음 꺼내드는 것이 핸드폰이다 보니 일 주일만에 다 읽었다. 뭐 분량이 많은 책은 아니지만.. (산지 한달째 방치되어 있는 New Ideas From Dead Economist 재개정판이 울고 있다.) 이 책의 요지는 한 마디로 말하자면 '성공한 사람들을 만드는 데는 그 자신의 재능과 태도도 중요하지만, 주어지는 기회와 문화적 환경이 큰 역할을 한다' 인 것 같다. 별다른 노력을 하지 않고도 이렇게 한 마디로 책을 정리할 수 있을 만큼 책 내용이 얕다. -_- 덕분에 뒷부분은 지루해져서 (뒤로 갈수록 일관성도 떨어지는 것 같고..) 휘휘 넘기면서 봤다. Dominic 이 'his argument doesn't have much substance' 라고 했는데 맞는 말인 듯도 하고. 큰 주장을 하나 갖고 온 다음에 여기에 어울리는 예들을 모아서 붙여 놓으면 이 책이 되는 셈이다. 그래도 초반은 볼만했는데, 한국의 PDI (Power-Distance Index) 와 대한항공의 사고들을 연관짓는 부분부터는 좀 신뢰성이 떨어지는 느낌. 그래도 그래.. 그시절에 항공사면 다 군인 출신들일 테니 완전 군대 분위기겠지.. 라고 생각하면서 봤는데, 여기 나오는 '한국의 subtle 한 대화의 예' 가 가관이다. 번역하자면:
.... Seriously, WTF? 여기에 과장도 KWACANG 이라고 써놨다. -__- 이 사람이 과연 무엇을 제대로 이해하고 이걸 써놓은 것인지에 대한.. 심각한.. 회의가.. 든다. ;; (80년대, 아니 90년대의 한국이 그랬을까? 아니 최소한 그래도 과장이 윗사람인데 사야 하는 것 아냐?;;;) 하여간 이 책의 신뢰도는 여기에서 이미 바닥났지만 놀랍게도 이 책이 포스팅까지 올라오게 된 이유는 (made it into the postings...) 그래도 이 주장 자체가 나한테도 꽤나 적용되기 때문이다. 얼마 전에 방명록에 후연이가 달아놓은 '공돌이는 공돌이 학교를 가야 하나 봐요' 라는 댓글에 '근데 내가 대전이나 포항을 갔으면 어떻게 됐을지 상상이 안돼' 라는 리플을 달다가 문득 내가 연대에 갔다는 것이 내 삶을 얼마나 바꿔놓았는 지를 다시금 생각하게 되었는데, 참, 생각하면 생각할수록 놀랍다. 고등학교 때까지 나는 컴퓨터를 하겠다는 의지는 투철하지만 제대로 혼자 공부하는 방법을 한번도 안 적이 없었다. 학원을 다닌 것도 아니고, 인터넷이랑 책을 혼자 보는 게 전부였다. USACO 도 모르고 uva 도 모르고, 1년에 프로그램을 짜서 채점받는 일이 대회 때가 유일하니 하드디스크엔 예제만 돌아가는 소스코드가 수북.. 이건 뭐 잘할 수가 없다. 그래서 고등학교 때의 수상 성적은 유진이형 말대로 표현하자면 JB 이다. -_- 근데 놀랍게도 내가 연대에 붙은것이다. -_-; 알고 보니 놀랍고도 놀랍게도 평소에는 한 많아야 여섯 일곱명 정도 뽑던 연대 수시가 02학번에는 스무명을 뽑았다. -_-; 다음 학번부터는 다시 다섯명 정도로 돌아갔고, 나보다 수상 성적 안좋은 친구들이 별로 없었으니 이건 진짜 앞사람 등 꾹꾹 눌러서 집어넣고 나도 들어간 다음에 문닫은 케이스라고 할 수 있다. 3등급이 미달나서 의대가는 느낌이 이럴까? -_- 여기까지만 해도 난 이미 죽도록 운좋은 케이스다. 그런데 입학해 보니까 여기는 당시 학교 중에서 거의 유일하게 컴퓨터 특기자 모임과 ACM ICPC 준비 모임이 활성화되어 있다. 24시간 열려있는 정보특기자용 동아리방에는 개인이 할당받아 관리하고 쓸 수 있는 컴퓨터들이 득시글거리고, 난 집에서 마을 버스 한번 타면 학교에 올 수 있다. 일 주일에 한번씩 모여서 단체로 문제를 풀고 토론을 한다. (나 이런거 태어나서 첨해봤다.) 그러니 죽도록 밤새면서 코딩했다. 1학년 여름에 무슨 문제 하나 맞겠다고 동건이랑 컴실에서 밤새던 기억이 생생하다. 문제 풀다가 밤 열한시에 아침나무 가서 저녁먹고.. 헐. 그러고 나니 성적이 잘 나와서 어찌어찌 대표팀이 되었다. 이 때까지는 (아직 벤처 붐의 기운이 남아 있어서인지) 학교가 외국 대회 진출에 드는 비용까지 지원해 줬다. 그것도 두 팀이나! 덕분에 필리핀 대회도 다녀올 수 있었다. (지금은 우리학교를 포함한 많은 학교들이 일부/전부 자비로 원정을 다녀온다. 학교에서 다 지원해 주는 곳은 숭실대 정도?) 음.. 우리 팀의 당시 전력은 성훈이형 50% 유진이형 30% 나 20% 정도.. 라고 생각된다. -_-; 하여간 다년간 ACM 준비를 해 온 성훈이형의 경험이 있었기에 월파 진출을 어느정도 바라볼 수 있는 상황. 그런데 대전 대회에서 마지막 DP 문제 테스트 케이스가 틀린 점이 있어서 모든 팀들이 돌돌돌 말렸다. 그런데 우리는 당시 max flow 로 풀어야 했던 모 문제를 그리디로 당당하게 30분만에 맞아버린 -_-; 페널티가 있어서 월드파이널에 올라갈 수 있었다. 덕분에, 그 겨울을 하루에 12시간씩 코딩하며 보내게 된다. 이것만 쳐도 세달 가까이 12시간씩 했으니 1000시간이 가뿐히 넘는다. 사실 이 때 월파에 못 갔다면? 겨울에 죽도록 공부하지 않았을 테고, 그럼 성훈이 형이 은퇴한 뒤인 다음 해에도 월파를 못 갔을 테고, 그럼 그 다음 해에도 못 가고, 결국 병특을 갔겠지. -_-; 생각해 보면 죽도록 운이 좋았다. 물론 월파에서 좋은 성적을 올린 것은 아니지만, 월파에 다녀온 다음의 나는 모티베이션에 활활 불타고 있었다. 1년이고 2년이고 희생해서 탑에서 싸우고 싶다!!!! 이런 욕망에 사로잡혀 있달까. 덕분에 2학년도 송두리째 공부하는 데 보냈다. 해외 원정도 가지 않았지만, 안정적으로 서울 대회에서도 적당히 좋은 성적을 올려서 월파 티켓도 획득했다. 그리고 또 한번의 1000시간이 지나가고. 2년이 지난 후의 나는 예전과 전혀 달랐다. Problem solver 로도, 프로그래머로도 mediocre 했던 과거와 달리 자신감도, 경험도 생겼다. 여기에서 시작된 성장의 길은 비교적 그럭저럭 어느정도 (...) 계속되었고, 앞으로도 계속될 거라고 생각한다. 이 수많은 일들이 어디까지나 적절한 타이밍과 기회들로 인해 생겨났다는 것을 생각하면 참 놀랍다. 내가 만약 고등학교때 좀 더 잘해서 S모 던전이나 K모 던전에 갔다면, 득시글거리는 괴물들에게 겁을 먹고 레벨업을 할 시도조차 하지 못했을 거다. 만약 내가 1학년 때 월드파이널에 가지 못했다면, 더 공부하는 데 필요한 자신감과 의욕을 얻지 못했을 거다. 만약 정보특기자 컴퓨터실이 없었다면, 만약 선배들이 없었다면, 만약 nhn 에서 다른 팀에 떨어졌다면... 리스트는 끝도 없다. 내게 주어진 수많은 기회들에 대해 감사하고 싶단 생각이 들어서, 이 포스팅을 한다. 고맙습니다. |
|
| 03 Dec 2009 |
Luis von Ahn's advices on grad school applications
ROTFL |
| 01 Dec 2009 | |
Windows 7 Upgrade지금 쓰는 데스크탑에는 윈도우 비스타가 깔려 왔고, 윈도 7 이 나오면 무료 업그레이드를 해준다고 해서 샀다. 근데 업그레이드를 신청한지 2주일이 지나도 오기는 커녕 배송 소식도 없고, 메일을 보내니 "we will get back to you in 10 business days" 랜다. 이런 미친... -_-; |
|
| 30 Nov 2009 |
Benchmark of VPS - Slicehost, Linode, Prgmr, Rackspace Cloud, and Amazon: and of course, linode kicks the shit out of others. |
| 28 Nov 2009 |
|
| 27 Nov 2009 | |
| 26 Nov 2009 |
BoA - Bump Bump아 오피셜 보아 빠 ㅠ 근데 정지영상 프리뷰 완전 굴욕 ㅋㅋ |
| 25 Nov 2009 |
집에 가고 싶다 orz |
|
8시 전에 출근하니 오전이 캡 길구나... |
|
| 24 Nov 2009 |
"에바 새 극장판 신 캐릭터 성우가 사카모토 마야래" "헐, 에바가 망토를 흩날리면서 장검을 들고 사도랑 싸우나여? 멋잇따" |
|
동기 S군이 미금역 근처에서 결혼한다길래 다음 지도에서 미금역을 찾아봤더니 기분이 이상하다. 자전거 타고 서현역으로 출근해야 할 것 같은 기분.. ^^;; 갖고온 외장하드에 연애시대 전편이 들어있길래 저번에 한두개 봤는데 분당 생각 더 나고. 아 분당이 살긴 참 좋았지. >.<;;; 그나저나 정보처리기능사 두 번 떨어지신 (맞나?) S군 결혼 축하 축하! 행복하게 살아~ |
|
| 22 Nov 2009 | |
정수론 공부하기정수론은 솔직히 내가 살면서 탑코더 외에서 쓸 일이 없어서 공부를 잘 안하게 된다. [....] 사실 그래서 만인의 상식이어야 할 extended Euclid 따위도 필요할 때 찾아보지 않으면 모르고.. 그런 김에 위키피디아에서 의미있을 만한 정리를 긁어모아보려고 하는데 뭐가 있을까요? (제대로 공부하려면 concrete mathematics 라도 봐야하겠지만 아엉) 아래는 생각나는 대로.
다른 것 추천 좀 해주세요~ ㅠ |
|
| 21 Nov 2009 | |
| 20 Nov 2009 |
Java collections tutorial: object ordering transitivity 는 확실히 미묘한 문제. 실수 많이 할 만한.. |