The Incops Strikes Back!

제목이 뭔가를 떠올리게 한다면, 그건 다 오해다. (기다려달라?)

화요일 저녁에 퇴근하려는데, 옆자리의 개발자 분이 나를 부른다. 내가 개발하는 라이브러리에서,

“Debugger 붙여놓고 띄워보면 First chance exception이 나요. Access violation 이고 0x0000 0000에 뭔가 쓰려고 합니다”

라고.[1]

일단 해당 자리의 디버거 창에서 살펴본 봐로는, 내가 수 주 전에 추가한 WSASend 호출 횟수 줄이는 코드에서 나온 문제인 듯 했다. Send-Queue에 패킷이 여러개 쌓이면, 이걸 모아서 전송하는 루틴을 추가했는데, 이 안에서 저 first-chance exception이 발생.[2] 일단 화요일엔 집에 어머니도 와 계시고 해서 바로 퇴근하고 다음 날 오전에 추적하기로 했다.

First chance exception 이 발생했다곤 해도, 프로그램이 실제로 크래시하지 않는 걸로 봐선, 어딘가에선 처리 되고 있단 얘기니 좀 안심하고 다음 날 디버깅 시작. 출근해서 코드를 열심히 들여다 봤다. 대체 어디서 문제가 생길까? 일단 내 머신에선 재현이 안되더라. 그래서 일단 저 문제를 발견한 개발자가 출근할 때 까지 기다렸다. 그리고 얘기해주는 환경을 다 끌어 모아서(플랫폼 + 컴파일러 버젼을 맞춤) 테스트.

발생하지 않는다?!?!?!?!. 해당 개발자 자리에 가서 하면 한 번에 재현된다. 그래서 잘 알려진 WinSock 관련 first-chance exception 문제처럼, 이것도 MS가 포기(?)한 버그인가 싶어서 MS에 있는 모 선배에게 물어볼까 하고 있었다. 그래도 다른 선임분의 말을 듣고 다시 디버깅하는데, 콜 스택 모듈에 보니 수상한 dll 이 하나 있더라.

anywall3.dll 이게 뭘까? 저 네이밍으로 볼 때, 저주받을(…) 삼성 SDS의 인캅스(incops)를 연상케하는데… 여튼 몇 가지 테스트를 더 해본 결과:

Incops3 가 없는 시스템에선 당연히 저 DLL이 콜 스택에 안 보인다. 그리고 저 문제도 없다….

=_=

더욱 씨니어인 다른 개발자 분의 말로는, 정확히 같은 케이스는 아니지만, 인캅스 적용 후 그런 문제를 경험하고 있다고… 나는 계속 서버 쪽 개발만해서 x64 환경만 쓰다보니 — x64에선 인캅스가 안 돈다 – 다행히 안 겪은 것 뿐이었던 듯?

결론: 개발자의 시간과 노고를 갉아먹는, 내 컴퓨터 공학 석사/학사 학위를 걸고 쓸모 없는 프로그램인 삼성 SDS Incops 좀 쓰지 맙시다. 이 회사에서도 사실 상 사용을 포기한 툴이기도 하고 – 존재 의의 중 하나가 USB 로 파일 복사를 막는 기능이 있다. 근데 “전혀 막지 못하는 버그(헛점?)”가 있는데, 리포팅하고 나서 수 개월 후에 패치는 받았다는데, 전사 적용을 못 하더라. 그리고 이젠 다른 툴을 쓴다. 인캅스 자체는 꼭 설치하지 않아도 된다고 하더라…

  1. First chance exception에 대해서는 MSDN 블로그의 이 글을 참고 하자. []
  2. 실제로 구현한 최적화는 이런 내용이다. MS Win32 WinSock 에 존재하는 시스템 콜인 WSASend 는 좀 특이하게(?)도 – 혹은 일부 UNIX 시스템에 익숙한 사람이라면 sendv() 함수를 생각하면 된다 – 하나의 바이트 스트림을 전송하는게 아니라, 일련의 바이트 스트림을 전송하게 해준다. 즉 pointer + length 를 이용하는게 아니라 pointer + length의 배열을 인자로 받아, 이를 전송해 준다. 그래서 Send-Queue에 쌓인게 많으면, 이걸 여러 번 쏘거나(system-call 수가 많다), 하나의 배열로 합치거나(추가적인 메모리 할당 및 복사가 필요하다)하지 않고, 단순히 이 버퍼들에 대한 주소 + 길이 쌍을 배열에 집어넣고 WSASend를 호출하는 것. []

時代遺憾

서태지의 노래 제목이기도 하고, 오후부터 싱숭생숭한 마음으로 계속 듣고있기도 하지만; 여튼 요 며칠 간 한 생각. 요약하자면 저 노래의 가사가 되어버릴 것 같지만; 덤으로 이 블로그의 일반적인 주제가 아닌 내용이기도 하다. 그렇지만 요 며칠 간 방문자가 갑자기 늘어서(…) 안 하고 있다가, 다시 줄어든 틈을 타서 쌓아놓은 소리를 좀 풀어보자.

이 나라가 “인구가 줄어든다”, “아이를 안 낳아서 큰 일이다” 라고 하지만 아이 낳는데 드는 비용이 너무 많다. 별로 법석 떤 것도 없는 우리 부부의 경우 대충 들어간 돈이,

  • 임신 검사 두 번에 대략 18만원. 첫번째는 애가 너무 작아서 안 보인다고 -_- 확진 받으려고 한 번 더 갔다
  • 2주~4주마다 받은 검사 각 2.8만정도씩 10+번.
  • 아이의 기형아 검사 3번인가? 각 10만원 정도씩 든듯
  • 산모 검사 2번인가 각 5만원 쯤 들었나 그럴듯. (혈액검사랑 X-Ray를 찍었던듯)
  • 임신 초기에 유산할 뻔하고 응급실 실려가서 낸 병원비: 대략 21만?

정도? 이러면 대충 백만원[1] . 여기에 출산 비용과 그 이후의 산후 조리 비용 같은건 1원도 안들어가있다. 내가 나이에 비하면 못 버는 건 아마 아닐테지만[2] 회사에서 의료비 지원해주는게 아니면 (저 위에서 3번째 항목 빼고는 전부 지원 받을 듯)) 꽤나 부담이 되지 않을까 싶다. 사실 이 이것도 3차 의료 기관도 아니고 그냥 일반 의료기관에서 진료 받아서 저 액수일텐데 -_-;   국가에서 지원해 준 비용은 20만원인가가 있다[3] .

물론 아기가 사용할 용품을 구입하는데 나간 비용은 작게 잡아서 저 2~3배 쯤 될 것 같은데 -_-;;

이런 상황인데, 소위 88만원 세대가, 의료보험이 축소된 미래의 세상에서 애를 낳으려고 — 그러니까 충분한 의료 지원을 받으면서 산모가 안전하도록 — 한다면, 그 의료비를 감당할 수는 있을까? 저 위에 써놓은 건 그나마 의료보험을 적용하고 내가 실제로 낸 액수란걸 참고해서 생각하면, 미래의 상황이 암울하면 암울했지 나아지진 않을 것 같다. 물론, 출산 비용에 대한 의료비 지원이 전향적으로 바뀐다면 안 그렇겠지만.

모님은 아이를 조산해서, 인큐베이터에 넣었는데, 일주일에 500만 원 정도가 소요된다고 한다. 이걸 회사 의료비 지원없이 버티는게 가능한가?[4] 8 개월 째에 조산한다고 쳐도 한 달 있으면 2천만원이다; 이거면 88만세대의 맞벌이 부부는 연봉을 합쳐야 낼 수 있는 수준이다.  ((물론 88만원 세대란 가정 자체가 좀 심한(?) 거일지도 모르겠지만. 과 동기들을 빼면 동갑내기 친구들의 취업률이 그다지 좋지 않다는걸 생각하면 아주 기괴한 가정은 아닐거라 생각한다)) 의료비를 당장 조달할 수 없어서 아이를 죽일 수도 없는 노릇이고;

아이를 낳기 위해 목돈을 마련해야하는 세대가 되면, “아이를 낳고”, “돈을 모아 주택 혹은 재화를 구입하고”, 하는 행위로 “소비를 늘리고”, “인구를 유지하는 것”이 가능할까? 한반도 대운하인지, 4대강 사업인가 뭔가 하면서 “턴 키라서 지방 건설업체에겐 돈이 안들어오네요”하고 징징대는 중앙 정부 vs. 지방 정부 놀음을 할 때가 아니라, 부부가 아이를 낳는다면 모든 종류의 비용을 국가가 대고, 양육비와 유아 교육비를 대주겠다고 선언하는게 “출산율 문제”와 “소비 진작”을 일부 해결하는 방법이 아닐까 싶다. 애 낳으려면 돈을 안 쓸 수는 없거든 -_-. 아이 1명당 2억씩 잡아도 21조원의 예산이면 매우 naive하게 계산해도 10만 명의 아이가 태어나도록 지원해 줄 수 있다. 그리고 당연히 이 돈은 한 꺼번에 나가는 것도 아니고 순차적으로 지출될테니, 실제로는 훨씬 더 많은 수의 아이를 지원해줄 수 있을 것이다. 아마 이렇게 늘어난 인구는 향후에 국가를 부양하는데 도움을 줄테고, 이렇게 아이를 낳기 위해, 양육하기 위해 소요된 비용은 경제에 소비의 선순환을 불러일으킬 것이다.

물론 이 정부가 그럴리는 없다고 믿어 의심치 않으니, 전망이 밝아보이질 않는 미래에 대해 딱히 더 할 말은 없고 단지 유감을 표할 뿐이다.

  1. 아마 내가 기억 못하는 비용도 있고, 일부 영양제 비용이랑 뭐랑 있을테니; 아직 결산(?)은 안 끝나서 총액내면 -_- 아마 저건 가볍게 초과할 듯 하다 []
  2. 사실 20대 후반치곤 적당히는(?) 벌고 있다고 생각하련다 []
  3. 그것도 한 번에 사용하는 액수에 제한이 있어서 나눠 써야한다. 진짜 이번에 의료비 나가는 거 보면서,  회사에 대한 충성도가 상승하는걸 느꼈다(…) []
  4. 민간 의료보험이 본인 이외에도 보장되는지는 난 모른다 []

실패할 인터넷 광고 – 테레비 (a.k.a spam)

요즘 블로그 댓글류로 “이런 서비스를 시작하니 한 번 와보세요” 하는 해당 글 내용과는 전혀 상관없는 댓글이 달리는걸 보는데, 이번 경우는 좀 심한게 하나 걸렸다.

예전엔 사람이 하는 경우가 많아서 그나마 관련있는 블로그의 관련글, 혹은 관련있는 블로그의 관련없는 글(…이미 무개념이지만)에 댓글이 달렸다. 하지만 요즘은 아주 무차별적으로 달리더라. 오늘 달린 무게념 광고는 테레비초콘지 뭔지하는 듣도보도 못한 잡 서비스.

이런 댓글이 달렸다 — 물론 Akismet이 알아서 스팸처리 했다. 즉, 대부분의 워드프레스 기반 블로그에서는 스팸처리 되고 있을 것이다.

spam

이것만 보면 정상적인(?)메시지인 것 같지만, 저 글자체는 프로그래밍 개발툴 설정과 관련된 내용이다.
+ 이 블로그에 스크린 캐스트 류의 글은 한 개도 없다. 유튜브 임베드한 글도 통틀어 1개 일텐데…

구글에서 저걸 검색해보자. 수 많은 스팸이 잡힌다 -_-; 이런 식으로 악명을 잔뜩 쌓아놓고 성공하길 바라는건 좀 문제가 많지않은가.

HTTP 표준을 무시하는 KTF

일반 사용자들이 직접 접할 수 없는 일이긴하지만, 친한 개발자 한 명이 겪은 일을 소개한다.

이번에도 문제를 일으킨 것은, UTF-8으로 XML 요청해도 응답이 EUC-KR로 날아와서 엿을 먹이는(…) 대형통신사 중 하나인 KTF의 사례.

대략 다음과 같은 상황을 겪고 있었다.

ㅊ: SOAP 요청을 (HTTP 연결을 통해) 개발 서버에 보내면 바로 응답이 오는데
ㅊ: 실제로 상용 서버에 올리면 15초씩 걸려요

뭔가 IRC 채널의 사람들이 모여서 고민하다가,

ㅊ: HTTP 타임아웃이 15000ms네요(=15초) 그리고 Keep-Alive 설정이 켜져있음
rein: Content-Length 안오는거 아닌가요?
rein: 그거 안오면 연결이 끊겨야 HTTP응답을 받은게 됨
ㅊ: Content-Length 가 오는 것 같은데요[1]

Content-Length: 530
Connection: Keep-Alive
Keep-Alive: timeout=15, max=100
Content-Type: text/xml; charset=UTF-8

같은 상황을 감지. 의심한 것은 역시 Keep-Alive(on) + Timeout 후에야 HTTP 응답을 읽은 것이었는데, 실제로 그러했다.

이유가 좀 엽기적인데,

Continue reading “HTTP 표준을 무시하는 KTF”

  1. 메세지 덤프를 본 상황 []

오늘 전해받은 막장 SW 개발기

SW가 막장인게 아니라 개발 과정이 막장인 무언가에 관한 얘기. 출근해서 IRC 쪽으로 얘기를 하는데 딴 회사에서 병특 중인 ㅊ 님의 얘기.

[09:11:07]	< ㅊㅎ>	후우
[09:11:12]	< ㅊㅎ>	python은 포기해야하나...
[09:11:28]	< ㅊㅎ>	expat 진짜 압박이네... euc-kr지원을 안하니...
[09:12:41]	<rein_ 실진맥>	rmsep
[09:12:42]	<rein_ 실진맥>	근데
[09:12:45]	<rein_ 실진맥>	euc-kr 로
[09:12:47]	<rein_ 실진맥>	XML을 쓰는
[09:12:50]	<rein_ 실진맥>	정신나간 곳은 어디임
[09:12:51]	<rein_ 실진맥>	...
[09:12:52]	< ㅊㅎ>	skt
[09:12:56]	< ㅊㅎ>	openapi
[09:13:04]	< ㅊㅎ>	당연히 utf-8일줄알았는데
[09:13:07]	< ㅊㅎ>	wsdl보니
[09:13:10]	< ㅊㅎ>	전부 euc-kr
[09:13:19]	< ㅊㅎ>	그래서 utf-8로 바꿔서 해봤더니
[09:13:23]	< ㅊㅎ>	응답은
[09:13:27]	< ㅊㅎ>	전부 euc-kr로 날아옴
[09:13:28]	< ㅊㅎ>	...

여기까지는 상당히 가슴아픈 — 항상 euc-kr 이면 python의 decode+encode써서 인코딩 바꾸면 그만이니 — 개발 얘기지만, 반전은 더 무서움(…).

[09:48:48]	< ㅊㅎ>	헤더에는 utf-8로 써놓고
[09:48:50]	< ㅊㅎ>	실제 인코딩은
[09:48:53]	< ㅊㅎ>	euc-kr이라니

그가 삽질한 이유. 알고보면 어제 디버깅도 별거 아닌지도(???). 아니 이래서 한국어 인터넷의 인코딩들이 막장인건가…

사가와 택배 = 스트레스, 알라딘 딴 택배 회사 좀 알아보면 안되겠니?

작년 12월 경부터 오프라인 서점에서 책을 주로 사던 생활에서 온라인 쪽 구매를 늘리는 쪽으로 옮겨가봤다.

올해들어서는 알라딘을 주 구매창구로 책을 질러오고 있었는데 — 금년 들어서 83만원정도의 책 + 음반을 구매한 걸로 기록되어 있다 — 딱 하나의 경향이 보인다: 택배사가 변경된 후로 한달 평균 구매액이 반정도로 줄었다 -_-. 딱 플래티넘 회원이 유지될 수준으로 구매 중인 느낌.

택배사가 바뀌고 나서 총 5번 책/음반을 샀는데, 거의 받을 때마다 스트레스다. 알라딘의 문제라기보단 택배사의 문제지만, 택배사를 바꾼 알라딘도 책임이 없다곤 못하겠지.

얘기한 시간에 오지 않는다

금요일에 온다더니 다음날 오더라(…). 결정적으로 내가 전화해가면서 그날 온다고 확인까지 받았단 말이지 Orz

그 보다 더 충격적인 사실 하나. 4월의 일인데, 주문한 책이 토요일에 배송되게 생겨먹었는데(…), 설마 토요일에 배송할까 하고 있었는데, 그날 아침(…)에 배송한다고 문자가 왔다. 회사는 코 앞이니 밀린 일도 처리할 겸 가서 프로그래밍을 하고 있었는데 기대를 저버리지 않고 정오~ 오후1시에 배송한다던 문자는 싹 씹어주시고, 오후 4시 좀 넘어서 받을 수 있었다.

그냥 사가와 택배에서 말하는 배송 시간은 묻지도/믿지도 않는게 좋은 듯 -_-

택배 고객 센터가 전화를 받지 않는다

퇴근 시간 전인데 노나. 퇴근 시간 1시간 전까지는 말을 돌리고(..), 근처가 되면 전화를 안 받는 악질 고객 센터(의 탈을 쓴 유명무실기관)의 전형인 느낌.

배송시간이 나쁜 의미로 일정하다

아주 나쁜 의미로 일정하다. 1일 1회 배송만 하는듯? 예전에 배송해주던 택배사(넥센택배?)는 전날 오후에 택배 지점으로 간 것은 오전에 배송되고, 당일 배송만 오후에 왔었다. 하지만 사가와 택배는 전날 배송 시작된 것이든 당일 배송이든 차이가 없음 -_-; 오후에 책을 주문하면 다음날 오전, 오전에 주문하면 그날 오후에 온다는 패턴이라 오프라인에서 온라인 구매로 넘어간건데 이 가장 중요한 대전제를 그대로 깨먹어주고 있다.

회사 건물에 배송되는 시간대가 대략 오후 5:50~6:00 쯤 되는 듯 => 회사 우편 수발실은 6시까지밖에 안하거든요 Orz

배송에 관한 공지가 매우 부족하다

우체국 택배나 넥센 택배는 배송 공지하나는 정말 체계적이다.

* 배송 전 공지 (오전 혹은 오후 출발에 맞춰서)
* 배송 후 공지 (우편 수발실 등에 도착하고나서)

이렇게 두 가지가 제 타이밍에 적절히 문자로 전송된다. 근데 사가와 택배는 전자를 반 정도 밖에 못 받아봤고, 후자는 딱 한 번 받았다 -_-
2주 전 금요일에 음반 2개 + 책 한 권이 도착했는데 — 도착시간은 5:5x 분 경인듯 — 배송 후 공지가 안와서 우편이 온 줄도 몰랐다. 그리고 전화해보니 “아까 놓고 갔는데요”.

내가 그걸 어찌 아는데 -_- 우편 수발실 분들도 6시 퇴근인데 Orz. 금요일 오후 못받음=> 월요일 오전에나 받게됨.
왜 온라인 구매 했을까 하는 생각이 막 들더구만;

여튼 결론. 알라딘[1] 에서 책/음반 등 알라딘에서 직접 배송하는 물품을 구매할 때는 그냥 맘편이 우체국 택배쓰자. 아직 제대로 민영화 안되어서인지 서비스의 질은 훠~얼씬 낫다. CJ/사가와 택배 따위 버려 -_-

아마 이 이상 스트레스 받기시작하면 쥐꼬리만한 할인율이고 뭐고 오프라인으로의 회귀만 남았다 — 결정적으로 회사 이사하면서 반디앤루니스 본점과의 거리가 10분 이하로 줄어들어서 점심 때라도 부담없이 갈 수 있음;

  1. 예스 24도 같은 날 저기로 바꿔서 마찬가지임. []

House edge

선배 라피즈 옹과 후배 감자와 강원도를 갔다왔음 — 목적은 주문진가서 회 먹기(…).

8:20분쯤 과천에 모여서 출발했는데, 우리같은 미친 놈들이 많은지 가는 거리 절반쯤 막혔음 상당히 막혀서 12시 반쯤에야 주문진 도착. …하고 적당히 술마시고 일어나서 점심으로 회 + 매운탕을 먹고 그냥 돌아오진 못했고, 강원랜드를 갔다왔음.

내 개인적으로는 로또라거나 하는 류의 복권류, 그리고 카지노의 여러 도박류를 상당히 싫어하고 믿지 않는다 — 아주 기초적인 수준의 확률/통계 지식으로도 그 것들의 기대값은 음수(=내 손해)거든 -_-a[1]

카지노에서 카지노가 플레이어에 대해서 확률/통계적으로 얻을 수 있는 이익의 비율을 house edge (혹은 house advantage) 라고 부르는데, 제일 간단한 예로,

룰렛 게임에는 36개의 칸이 있고, 두 개의 0 (0과 00)이 있다. R/B 혹은 홀/짝을 고른다고 하면 이길 확률은 18/38, 받을 돈의 기대값은 36/38이 된다.

처럼 카지노는 2/38 씩의 이익을 매 베팅/사람 마다 얻게 된다 — from wikipedia: Gaming Mathematics 중에서

내가 아는 게임 중 플레이어가 그나마 가장 높은 확률로 이길 수 있는게 블랙잭인데, 집에와서 검색해보니 플레이어에게 불리하지 않은 룰을 쓰고 플레이어가 최적전략을 구사할 경우 약 0.5% 미만의 house edge가 있다고 한다 — 즉 그나마도 카지노가 계속 돈을 버는 구조(…).

비슷하게 내가 지속적으로 해도 받을 돈의 기대값이 음수인(…) 게임 — 그러니까 카지노의 여러 도박이나 로또 등의 복권류 — 을 내가 할 이유를 못 찾겠더라고 -_-a
그러니 도박이 “게임으로써 즐길 수 있는 사람”이 아닌 누군가들께서는 수학공부나 다시 하시면 되겠다(…)라는 것인데;

우리가 사는 사회에서도 이런 류의 비용들 — 즉 이익을 준다고 비용을 지불하게 하지만, 실제적으로 계산해보면 지속적인 손해인 것 — 을 찾아서 열심히 제거해 버려야하지 않을까. 누구도 House[2] 가 아닌 것들이 잔뜩 있을테니…

  1. 하지만 랜덤신의 가호와 감자의 운으로 일행은(…) 5천원 이익보고 나왔다. []
  2. 뒤에서 이익을 얻을 사람 []

잡담: 2008년 6월 1일

어떤 절망

병특생활의 남은 기간을 계산하기 위해서 만들었던 웹 용 progress-bar 가 있다. 여기에 모종의 데이터를 넣어보니,

2mb_counter

이런게 나오는 구나. Firefox 확장 기능으로 Bush Counter가 있었는데, 이걸 만들던 제작자의 마음을 조금은 이해하게 된듯도. 연구실 선배가 얘기했던 해외 취업 얘기가 굉장히 솔깃해지는 중이다. 남은 시간이 너무 길구나 너무 길어…

단순성, 편안함

Psyco 얘기를 하면서 언급했던 ProjectEuler를 이번 주에 좀 했는데 — 퍼즐 맞추다 잘 안되면 오일러, 그러다 안되면 퍼즐 … 의 반복 — 이번엔 python이 아니라 C++로 진행하고 있다. 근데 정말 놀라운 사실은(…), 내가 풀지 못한/혹은 1년 새 추가된 약 40% 의 문제들에 다시 도전 중인 상태인데, 이 문제들 대부분이 큰 수를 다룰 것을 요구하지 않는다.

정확히 말하면, 64 bit integer 정도면 충분히 표현가능한 수만 다룰 수 있으면 되기 때문에 그냥 C++로 해보는 중이다 — 사용 가능한 개인용 컴퓨터 중 한 대 빼고는 다 64bit 머신/컴파일러가 있어서 도구 자체의 문제는 없다…[1]

C++ 자체도 알고리즘을 표현할 때는 그리 복잡한 표현이 나올게 없고, python 보다 불편한 점은 좀 엉뚱한 곳에 있더라.

  • list 표현식 — [ x**2 for x in range( 1, 1000 + 1 ) ] 하는 식의 것이라거나
  • 타입 선언이 없는 것
  • print 구문의 편함 + string.join() 구문[2]

정도가 좀 불편했고, 나머지는 의외로 별거 없었다(…).

기본적인 자료구조 — vector, list, map (or hash or dictionary) — 는 어차피 양 쪽 언어에 기본으로 구현되어 있어서 알고리즘 문제 푸는데는 큰 차이가 없는것 뿐인가. 오히려 오래써서 편안한 C++이 더 좋을 때도(…). 그래도 타입 선언 없는 거라거나 duck-typing 같은게 주는 단순함은 python 쓸 때의 기억이 좀 부럽긴하다.

어디에서 본 것인지 정확히 기억 안나지만 CLR의 DLR 쪽에서 키워드 뺀 VB 얘기를 했던게 좀 떠오르던데[3] , 의외로 타입 같은게 서로 잘 아는 몇 명이 같은 프로그램을 짜는덴 불편한 — 그러니까 제한을 가하는 — 요소라는 느낌이 든다.

  1. 64bit 정수는 부호없이 1844,6744,0737,0955,1615 까지 표현 가능하고, 프로젝트 오일러에서 다루는 범위가 대략 10^8~10^10 정도면 대충 떡을치기 때문에 32bit으론 가끔 아슬아슬하지만 64bit에선 문제가 없다 정도의 느낌 []
  2. 근데 print 문은 Python3000이라고 흔히 일컫는 Python 3.0 에서 다른 구문으로 대체된다고 한다. 내가 이 변화를 제대로 추적하지 못하고 있었는데 누가 설명 좀(…) []
  3. 이거 출처가 정말 궁굼한데 -_-;; []