2010/07/21

아파치 로그를 업신여기다 또 한 번 당하다.

0 comment(s)

app server log 는 거의 맨날 끼고 살면서 정작 웹서버의 억세스 로그/에러 로그는 등한시하다가 된통 당했다. 빨리 이 나쁜 버릇을 고쳐야 하는데...

업무 중 로컬에서 어플리케이션을 구동했는데, 화면이 이상하게 나오고 스크립트 오류가 발생하였다. 이상하다... 설정에 손댄 것이 없는데... (심지어 소스조차도)
firebug 로 보니 *.js 가 모조리 404 였다. css 도 아니고 js 만. 다른 사람들에게 조언을 구해 보았는데 다들 apache 설정 이야기를 한다.
나는 설정을 고치지 않았고, 그들이 보기에도 설정에는 별 문제가 없어 보였다.

이런저런 삽질 끝에, 결국 아파치 억세스 로그와 에러 로그를 보았더니, 에러 로그에

[Wed Jul 21 16:33:17 2010] [error] [client 127.0.0.1] File does not exist: /usr/share/javascript/XXX.js
가 있다.

아니, 이게 뭘까... 웬 엉뚱한 /usr/share/javascript 를 찾지?
아파치 설정 디렉터리로 들어가보니, /etc/apache2/conf.d/ 에 자바스크립트 관련한 설정이 추가되어 있고, jquery, prototype 가 /usr/share/javascript 에 설치되어 있었다.
기억을 더듬어 보니, 지난 주 말에 레일스 관련한 것들을 설치하면서 javascript-common 이란 것이 추가로 설치된 듯 하다.

우분투가 마음에 들긴 하지만 이런 몇몇 부분들은 조금 납득하기 어렵다.
어쨌거나, 앞으로는 무언가 설치를 할 때 귀찮아도 설치될 파일 목록을 한 번 훑어 보아야 할 것 같고, 아파치 에러 로그도 절대 무시하지 말아야겠다.

2010/07/15

장고 프레임워크를 잠시 접으며

0 comment(s)

무언가 "간단한" 프로그램을 만들게 되어 그 기반으로 이것저것을 고민하다가 장고를 택했었는데, 결국 아직까지는 한계가 있다고 생각하여 rails 로 하기로 하였다. 사실 그 한계가 정말로 한계라고 장담할 수는 없다. 모델 설계에 대한 내 고정관념 때문일 수도 있으니까.

예전에도 잠시 레일스를 보았었지만, 당시에는 레일스보다 장고가 내게 더 맞는 것 같았다. 그런데, 왜 레일스가 그렇게 인기가 있는지는 조금은 더 생각해봤어야 했을 듯 싶다.
레일스 때문에 루비 언어가 각광을 받았던 것에 비해 장고 때문에 파이썬 언어가 각광을 받은 것은 아니니까. 물론 파이썬 언어 자체는 충분히 매력적이다. 그리고 상당히 강력하다고 생각한다.

그러나 아직 장고를 쓰기에는 이른 시점일 지도 모른다.

2010/07/05

문제: 0~1 사이의 실수 중 임의의 수를 골라 더해 나갔을 때, 1이상이 되기까지 평균 몇 번을 더해야 하는가?

0 comment(s)

이 문제와 답을 보았을 때, 막상 어떻게 풀어야 할 것인지 딱히 떠오르지가 않았다.

그냥 심심풀이 차원에서 주변 사람들에게도 문제를 알려줘 보았는데, 관점의 차이 때문이었을까... 실제로 그러한 값이 나오는지 시도해 볼 생각은 못 했었는데 프로그램을 돌려서 값을 구했다. 물론 그 친구는 정확한 답이 무엇인지 모르고 이런 값이 나오는데 맞는지를 되물었었다.

글쎄, 나는 이 쪽 계통에서 밥을 벌어먹고 살면서 왜 코드로 검증해 볼 생각은 못했을까? 전공이 그쪽이라서? 아무튼, 그 얘기를 듣고 생각해보니 프로그램 자체가 별로 어려울 것은 없어 보여서 확인을 해 보았다. 한 1억 번 돌렸더니, 돌릴 때 마다 값이 조금씩 다르기는 하지만 - 당연하겠지 - 대략 다음과 같은 값이 나온다.

2.718...

그럼, 그 "정확한" 수학적인 답은 무엇일까?
이미 이 값을 보고 알아챈 사람도 있을 지 모르겠다.
바로 "e" 이다.

그런데, 왜 하필 e 일까?
잠시 시간이 지난 뒤 문제를 다시 보니, 어떻게 풀어야 할 것인지 감이 오기 시작했다. 생각보다 꽤 복잡한 과정을 거쳐 풀어 보니까 결국 그 수식 - e 의 급수 표현? - 이 나왔다.