본문 바로가기

잡담

(12)
프로그래밍을 다른 사람들과 공유한다는 것 얼마 전 한 블로그에서 이런 글을 보았다. 개발자들은 저주 받았습니다. 자기 일하는 것을 주변의 다른 사람들(개발을모르는)과 공유하지 못합니다. 아버지 어머니는 도대체 내 딸이 무슨 일을 하는지 모릅니다. 저는 이 벽을 넘어서 보고 싶습니다.내가 평소 하는 일을 조금이라도 다른 사람들과 공유할 수 있기를 기대합니다.제가 해보고 싶은 것은, 바로 컴퓨터프로그래밍을 아는 사람과 모르는 사람이 함께 섞여서 서로 학습하고 또 즐거운 시간을 보내는 겁니다. 그 사람들이 모여서 정치이야기나 탤런트 스캔들 이야기, 혹은 유치한 게임 외에 도대체 뭘 같이 할 수 있을지 상상하기도 힘들죠? 저는 확신을 갖고있습니다. 이것은 가능하며, 엄청나게 재미있고 유익하며 모두에게 큰 계발을 줄 것이라는 것을. 예를 들면 소프트웨어..
daybreaker.info 첫화면 리뉴얼 사실 원래 해야 되는 리뉴얼 작업은 따로 있으나(-_-), PS 숙제하러 동방에 왔다가 갑자기 말려서 리뉴얼 작업을 좀 해주었다. 홈페이지의 다른 페이지들은 모두 흰 바탕, 검은 글씨인데 비해 메인 화면만 반대라서 페이지 이동시 눈이 아픈 것을 해소하였고(연한 회색 배경 선택), 아기자기한 느낌을 주기 위해 기본으로 8pt의 글자 크기를 사용하면서도 em 단위를 써서 사용자가 글자 크기를 조절할 수 있도록 배려하였다. 물론 XHTML, CSS validator 통과는 기본. (한 페이지 짜리니까..-_-) 또한 옛날에 잠시 대문으로 쓰려고 찍어둔 이미지도 재활용했다. 어쨌든 그런고로 새 대문은 daybreaker.info다.
Perl에서 newline 매칭하기 어제 새벽에, inureyes님이 갑자기 메신저로 말을 걸으신 게 화근이었다. Tattertools 1.1 Development Alpha 버전을 릴리즈하기 위해서, 간단한 코드 최적화를 하시는 모양이었는데, php 코드에서 쓸모 없는 php 구분 영역 기호 열기/닫기를 없애려고 하시는 거였다. 원래 의도했던 바는 ... ?> \n<\?//" {} \;이라는 쉘 명령어로 하려고 하셨는데 계속 안 되고 있었던 것이다. (위 명령어의 내용을 해석하면, 현재 디렉토리와 그 하위 디렉토리 안의..
리눅스 커널세미나 내가 중학교 때 한창 Visual Baisc 6.0을 다루면서, 왜 Windows API를 통한 타이머의 최장 간격에 제한이 생길까 궁금해했던 적이 있었다. 그때는 단순히 32bit Long 데이터형의 overflow 때문이겠지 생각하고 넘어갔었는데, 오늘 커널세미나를 들으면서 좀더 자세히 알게 되었다. 리눅스 시스템에서 어떻게 시간 측정을 하고, Tick을 발생시키고 계산하는지에 관한 내용이었는데, 시스템 프로그래밍 프로젝트를 하면서 왜 패킷 전송을 지연시키기 위해 usleep 함수를 쓸 때 어느 정도 시간 이상을 주어야 했는지(내가 당시 의도했던 건 다른 프로세스가 스케쥴링되게 하여 패킷 전송 간격을 벌리는 거였다.), 또한 gettimeofday 같은 함수가 어떻게 동작하는 것인지, 아주 작은 시간..