얼마전에, 회사일로 Git의 pack에서 object를 가져오는 기능을 node.js 기반으로 구현하다가 문제를 만났다. pack은 대략 아래와 같은 포맷으로 구성되어있다. (엉성해서 죄송) ...hhzzzzzzzzzzzzhhzzzzzzzzzzzhhzzzzzzzzz... (h는 헤더, z는 deflate로 압축된 영역) pack파일은 git의 object들을 합쳐놓은 파일이므로, 크기가 굉장히 커질 수 있다. 저장소의 모든 object가 pack 파일 하나에 다 들어가는 경우도 얼마든지 있을 수 있다. 따라서 object하나만 얻으면 되는 상황에서 … node.js zlib 스트림의 문제 계속 읽기
캘린더로 할일 관리하기
문제 - 지금까지 써오던 할일 관리법 작년까지 할일 목록을 텍스트 파일 하나에 집어넣고 수시로 확인하며 처리했었다. 할일은 TODO 파일에, 완료된 일은 DONE 파일에 넣는 식이었다. 2010년 6월부터 1년 반동안 그렇게 써왔다. 그러다보니 잊혀진채로 처리되지 않은 할일들이 쌓이고 쌓여서, 그 양이 어느덧 무려 154 라인에 달하게 되었다. 그에 비해 완료된 일은 40라인밖에 되지 않았다. 해결 - … 캘린더로 할일 관리하기 계속 읽기
보안사고가 발생했을 때, 인증서 발행기관도 책임을 지는가?
진다. 대한민국 전자서명법 제26조 (배상책임) (1) 공인인증기관은 인증업무 수행과 관련하여 가입자 또는 공인인증서를 신뢰한 이용자에게 손해를 입힌 때에는 그 손해를 배상하여야 한다. 다만, 공인인증기관이 과실 없음을 입증하면 그 배상책임이 면제된다. (2) 공인인증기관은 제1항의 규정에 따른 손해를 배상하기 위한 보험에 가입하여야 한다. (( http://ko.wikisource.org/wiki/%EB%8C%80%ED%95%9C%EB%AF%BC%EA%B5%AD_%EC%A0%84%EC%9E%90%EC%84%9C%EB%AA%85%EB%B2%95 )) 판례 2003년, 위조운전면허증으로 인증서를 발급받은 개인이 삼성생명으로부터 1억3천5백만원을 불법으로 대출받은 사고에 … 보안사고가 발생했을 때, 인증서 발행기관도 책임을 지는가? 계속 읽기
PHP, Perl, Ruby, Python 비교
나는 왜 PHP보다 Python을 좋아하는가? 깔끔한 문법이 일단 매력이지만 그게 다가 아니다. 기능 비교 (( http://en.wikipedia.org/wiki/First-class_function, http://en.wikipedia.org/wiki/List_comprehension, http://en.wikipedia.org/wiki/Mixin )) 일단은 언어의 강력함에서 큰 차이를 보인다. 생산성에 신경쓰는 언어들이라면 당연히 지원해 줄 법한 기능들에 대해 PHP는 너무나도 무심하다. PHP Perl Ruby Python Higher-order functions Arguments Yes Yes Yes Yes Results Yes Yes Yes Yes Non-local variables … PHP, Perl, Ruby, Python 비교 계속 읽기
리눅스의 서브디렉토리 갯수 한계 (ext 계열)
리눅스에서 ext 계열 파일시스템의 서브디렉토리 생성 갯수 한계는 아래와 같다. ext2, ext3: 31998 ((http://en.wikipedia.org/wiki/Ext3)) ext4: 무제한 ((https://ext4.wiki.kernel.org/index.php/Frequently_Asked_Questions)) ext2, ext3 ext2, ext3의 제한에 대한 정의는 리눅스 커널 코드의 EXT*_LINK_MAX 값에 정의되어 있다. 아래는 linux-2.6.32.8에서 grep으로 찾아본 것이다. include/linux/ext2_fs.h:#define EXT2_LINK_MAX 32000 include/linux/ext3_fs.h:#define EXT3_LINK_MAX 32000 이처럼 32000으로 정의되어있다. 그런데 모든 디렉토리는 기본적으로 '.' 과 '..' 의 링크를 이미 갖고 있기 때문에 … 리눅스의 서브디렉토리 갯수 한계 (ext 계열) 계속 읽기
PHP의 당황스런 특징들
PHP는 나름 태생이 특이한 언어다. 현재 웹에서 널리 쓰이고 있는 많은 서버사이드 언어들(Java, PHP, Python, Ruby 등등 ((등등 취급해서 미안하다. perl 그리고 c)) ) - 중에서 거의 유일하게 '진짜로 웹개발에 특화된' 언어다. 그래서 그런건지 PHP는 다른 언어를 쓰다 온 사람들을 희한한 방식으로 깜짝 놀래키곤 한다. 지난 3년간 나를 당황시킨 PHP의 독특한 동작 몇가지를 소개해 보겠다. 0 … PHP의 당황스런 특징들 계속 읽기
프로그래밍 언어들을 한문장으로 소개
Perl Perl is a language optimized for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information. ((man perl)) 펄은 텍스트를 다루는데 최적화된 언어다. Python Python is an interpreted, interactive, object-oriented programming language that combines remarkable power with very clear syntax. ((man python)) 파이썬은 매우 간결한 문법이 특징. … 프로그래밍 언어들을 한문장으로 소개 계속 읽기
코딩 20년
올해는 2011년. 내가 코드를 처음으로 작성해 본 것이 초등학교 4학년때인 91년이니, 올해로 코딩을 20년째 했다는 얘기가 된다. 그렇게 열심히 한 건 아니지만, 어쨌든 꾸준히 하긴 했다. 초등학교때 컴퓨터를 사자마자 베이직을 배우면서 코딩하고, 중학교때 간단한 퍼즐 게임 만든다고 코딩하고, 고등학교때 전산반 들어가서 코딩하고, 대학교때 전자공학부로 입학했지만 컴퓨터공학도 복수전공하면서 코딩하고, 게임제작동아리 들어가서 또 코딩하고, 군대갔을 때는 휴가나와서 … 코딩 20년 계속 읽기
한글날 > 크리스마스 = 석가탄신일
한글날이 크리스마스보다 중요하지 않나? 아무리 생각해봐도 크리스마스나 석가탄신일보다는 한글날이 휴일인 것이 맞다. 한국인 중 22%가 불교, 18%가 개신교, 11%가 천주교를 믿는다. ((인구주택총조사, 2005년. 개신교는 여호와 증인, 안식교, 몰몬교, 성공회, 통일교, 영생교, 천부교, 영주교 등을 포함한다.)) 그에 비해 한글은 한국인의 98%가 사용한다. ((국민의기초문해력조사, 2008년. 정확히 말하면 대한민국에 거주하는 한국인의 문해율이 98%라는 이야기다.)) 특정 종교의 기념일보다는 한글이 반포된 날이 … 한글날 > 크리스마스 = 석가탄신일 계속 읽기
HTTP status code 실험
요즘 회사에서 HTTP 스터디중이다. HTTP/1.1의 다양한 Status Code들에 대해 공부한 뒤, 실제 웹브라우저가 Status Code에 대해 어떻게 대응하는지 궁금해졌다. 그래서 구글 크롬을 가지고서 테스트 해 보았다. 일단 status code를 원하는대로 만들어서 응답해주는 코드를 간단히 작성했다. header("HTTP/1.1 ".$_REQUEST['status']." ".$_REQUEST['reason']); if (isset($_REQUEST['body'])) { echo $_REQUEST['body']; } 예를 들어 http://npcode.com/test/http-resonse.php?status=201 이렇게 요청하면 201로 응답해준다. 이걸로 구글크롬을 테스트 해 … HTTP status code 실험 계속 읽기