전체 글 230

{first 10-digit prime found in cosecutive digits of e}.com

임백준씨가 쓴 "임백준의 소프트웨어 산책"이란 책을 최근에 읽었다. 그중에 뒷부분에 '프로그래머 K씨의 하루'라는 짧막한 소설이 있었는데, 거기에 흥미로운 내용이 있었다. 구글에서 2004년쯤인가에 사진과 같은 광고판을 어느 고속도로에 붙였다고 한다. {e의 연속된 숫자중에서 10개로 이루어진 첫번째 소수}.com이라는 문구는 유능한 프로그래머를 찾고자 하는 구글의 작은 이벤트였던 것이다. 흥미로워서 실제로 저 수를 구하는 소스를 C로 짜봤다. ㅋㅋ 숫자가 10자리라 int형으로 안되서 double로 처리했음.. #include #include #include #include #define TOTAL_ROW 10000 #define EACH_UNIT 10 #define LOOP_CNT 2000 int i..

[책] 나는 프로그래머다

임백준 저자의 책들을 골라보느라 읽어보았다. 최근 몇년간 책을 워낙에 안읽어서인가.. 그동안 쓸만한 책들이 많이도 나와들 있는거 같다. 이 책은 IT쪽에 여러 사람들이 본인의 경험을 에세이식으로 기술한 책이다. 내가 SDS에 있어봐서 그런지.. SI나 IS실 계신분들이 쓴 내용들은 알고 있는 내용들이어서 그런지 내가 그쪽 방면에 회의를 느껴서 그런지 그리 와닿지는 않았다. 임백준씨가 비전공자 출신에 프로그램은 회사들어가서야 배웠다는 걸 읽고 조금 놀랐다. 그리고, 꿈을 위해 유학을 선택할 수 있었던 그 판단력도 부러웠다. 와닿았던 부분은 임백준씨가 유학시절 사내 교내에 아르바이트 모집공고 관련 글이었는데.. 본인은 Perl 언어를 전혀 몰랐음에도 'Perl관련 아르바이트'공고를 보고, 그날부터 Perl을..

책 이야기 2008.07.08

[책] 똑똑하고 100배 일 잘하는 개발자 모시기

RSS에서 서평을 보고 읽게됐다. 조엘 온 소프트웨어도 아직 못봤지만, 누군가의 서평에서 '팀장님께 권해드리고 싶은 책'이라는 문구를 보고, 우리 팀장님께도 한번 권해드려볼까 해서 읽어봤다. 피플웨어에서 얘기하는 내용하고 비슷한 내용도 많았던거 같고. 좋은 개발자가 되기 위해서 어떤 방법으로 연마해야 할까라는 생각도 들게 하는 책이었다. 역시나 개발 생산성과 좋은 프로그램을 하기 위해서는 뛰어난 개발자들과 함께 하고, 좋은 환경에서 근무해야 한다라는 점을 다시 한번 생각하게 했다. 저자가 채용시 유념해야 할 점으로 내세우는 내용 중에 다음 내용이 조금 인상적이었다. 포인터나 재귀같은 조금 생각해야 하는 문제를 냈을때 조금 생각을 하고 나서야 대답을 하는 개발자보다 직관적으로 코드를 쓰거나 답을 내놓을 수..

책 이야기 2008.07.08

[책] 뉴욕의 프로그래머

RSS를 통해 몇몇분들의 독서평을 보고, 뉴욕의 프로그래머를 읽어보았다. SI와 국내 전산업계의 한계에 실망해서 언제부터인가 프로그래밍이 재밌는 것이라는 사실을 잊고 살았던거 같다. 프로그램 버그나 장애를 해결하는 것이 이렇게 재밌을 수도 있구나..하는 생각과 함께 제대로 된 프로그래밍을 한번 해봐야 겠다는 생각을 하게 해 주었다. 강컴에서 찾아보니 임백준 저자의 다른 책들도 서평이 꽤 좋았다. 그래서, 내친김에 임백준씨가 쓴 책들을 찾아서 읽어보는 중이다. 매너리즘에 빠진 프로그래머들에게 자각을 일깨워주는 좋은 책이다.

책 이야기 2008.07.08

[20080702] php에서 c확장기능 구현

회사에서 인증등 보안이 필요한 부분에 대해 php내에서 zend기능을 통해 c확장기능을 구현해 놓고 쓴다. 그런데, 기존에 구현되어 있는 부분이라 소스도 복잡하고, 이 부분이 왜 들어갔을까 하는 부분을 알기 힘들기 때문에, 기존 소스에 구애받지 않고, 직접 간단하게 c확장기능을 구현하는 부분을 테스트 해보았다. 참고로, zend라고 검색을 하면 주로 php성능향상을 위해 zend사에서 내놓은 엔진에 대한 내용이 많은데, http://kr.php.net/manual/en/zend.php#zend.intro 위 사이트에서 보면 php에서 c와 같은 다른 언어의 함수등을 호출해서 쓸 수 있는 기능으로도 불린다.. 우선 다음과 같이 c로 test.c를 만든다. #include "php.h" ZEND_FUNCTI..

생활속의 프로그래밍 시작~

요즘 읽고 있는 책들이나 몇몇 동영상을 통해 생활 속의 프로그래밍, 즉 나를 위한 프로그래밍을 매일 조금씩 해봐야 겠다는 생각을 했다. 남들에게 보여주기 부끄러울지 모르지만, 하나하나 기본기를 연마하고 내 실력이나 생활에 유용한 프로그램을 해봐야 겠다. 프로그램은 1시간에서 2시간안에 끝날 수 있는 간단한 기능 위주로 해볼려고 한다. 게시물은 우선 비공개모드다; 나중에 이 카테고리가 좀 쌓이고, 먼가 그럴듯한 산출물이 나오면 카테고리 전체를 일괄 공개로 하는 목표를 삼아본다.

[리눅스] %iowait 에 대한 이해

운영하고 있는 MySQL 서버중에 트래픽 통계를 집계해서 보여주는 DB가 있는데, 매시간 배치작업이나 데이터 양으로 속도개선이 필요하다. 다음주에 Mysql 버전을 5.1.25로 올리면서 partitiong과 replication을 구현해서 올릴 예정이다. 대체 예정 서버에서 배치프로그램과 쿼리들을 실행시키면서 테스트를 하고 있다. 그런데, sar 명령등에서 %iowait이 배치작업 도중 25% 정도까지 올라가는 현상이 있었다. 기존 운영서버에서는 거의 0%인데, 대체서버에서 왜 올라가는 것일까? 혹시 추가로 꽂은 디스크쪽에 io가 문제가 있는게 아닐까 하는 생각이 들었다. 그러나, %iowait에 대해 좀더 확인해 보니, %iowait 의 의미는 CPU 가 idle 이지만 I/O 가 끝나기를 기다리는 ..

리눅스 및 DB 2008.06.26

[리눅스] vmstat 과 sar 명령

리눅스의 메모리, CPU, IO 등을 확인할 수 있는 유용한 명령어로 vmstat과 sar가 있다. 1. vmstat 5 와 같이 하면 5초 간격으로 모니터링 정보를 갱신하며 보여준다. 해당 항목들의 의미와 점검점은 다음과 같다. 구분 설명 proc r CPU에서 대기 중인 프로세스의 수를 의미한다. 이 값이 증가하거나 r 개수/cpu 개수의 값이 항상 2 이상 나온다면 CPU의 성능을 높여주어야 한다. b 동작하는 블럭 프로세스의 수 이 값이 높다면 블럭 디바이스의 속도를 높여야 한다. w swap out되는 프로세서의 수이다.w에 값이 증가하면 메모리가 매우 부족하다는 의미이므로 메모리를 늘려야 한다. memory(KB) swapd 현대 메모리가 부족해 swap을 사용하고 있는 양을 의미한다. 평소에..

리눅스 및 DB 2008.06.26

동시 다운로드 디폴트 개수와 개수 조정

어제에 이어, 자투리 시간에 Page Detailer를 띄우고 여기저기 사이트들을 열어보고 있다. Page Detailer 는 시작시점등이 너무 작게 나와서, 이게 동시에 시작된건지 앞 이미지에 대해 응답을 받고, 다음으로 시작된건지 구별하기가 힘들다. 그래서, Firebug의 Net탭으로 보는데 이미지들이 10개이상 동시에 요청이 되고 있었다. Http 1.1 표준에는 서버당 2개의 요청만 하도록 권장했는데, firefox3 에서는 디폴트값이 더 높아서 그런것이었다. 파폭의 about:config 에서 열어본 결과 network.http.max-connections-per-server 값이 15, network.http.max-persistent-connections-per-server를 6으로 설정되..

about Web 2008.06.26

헤더 만료기한(image cache)

요즘 웹사이트 최적화 기법 이라는 책을 보고 있다. 얼마전 Daum UI DevDay 에서 들은 내용이나 서평등을 보니 Daum에서 2008년 리뉴얼을 하면서 책 내용을 많이 참고한거 같다. 책 내용들이 적용하면 좋을 내용들이 많은데, 오늘은 "규칙3: 헤더에 만료기한을 추가하라"라는 부분을 보고 테스트해보고 있다. 현재 서비스 하고 있는 url들에 대해 firefox의 firebug의 Net탭으로 다운내역들을 확인해 보았다. 아니 그런데, 한번 받은 이미지에 대해 페이지 리로드시 304로 요청처리가 되어야 할 내용들이 요청이 없는 것이 아닌가.. 음 리뉴얼할때, Expire내용을 추가한건가 해서 response 헤더도 찍어봤는데, 분명 이미지들에 대해 Expire나 max-age 속성이 없었다. 이상해..

about Web 2008.06.25
반응형