• Schwartzian Transform

    http://en.wikipedia.org/wiki/Schwartzian_transform sorting시 두개의 item을 비교하기 위한 변환 함수 호출의 수를 줄이는 방법. 1. 각 아이템 $_를 받아 foo($_)를 통해 순서값(대소를 비교하기 위해 사용하는 수치)을 부여. 그 뒤 [원래값, 순서값]의 ordered pair로 만듦. 2. 순서값에 따라서 소팅. 3. [원래값, 순서값]에서 첫번째 아이템(즉 [0])만 꺼냄. 이 코드를 non-functional로 다시 쓰되, 파일의 변경시간에 따라 소팅하는 예를들어본다면 다음과 같음.…

    Tags:

  • Cuckoo hashing

    http://en.wikipedia.org/wiki/Cuckoo_hashing 왜 들어본적도 없는걸까요 OTL. lookup이 worst case에 O(1). insertion은 rehash 해도 테이블 크기만 적당하면 worst case로 O(1).

    Tags:

  • RubyQuiz 113: One liner

    http://www.rubyquiz.com/quiz113.html 간만에 흥미를 끄는 퀴즈군요.

    Tags:

  • Swing Application Framework – JSR296

    https://appframework.dev.java.net/ https://appframework.dev.java.net/intro/index.html http://weblogs.java.net/blog/hansmuller/archive/ts-3399-final.pdf 스윙 API가 너무 복잡하니까 단순하게 해보자는 것입니다. 일단 다음과 같이 JFrame이나 content pane 같은 개념이 사라집니다. public class SingleFrameExample1 extends SingleFrameApplication { public void startup(String[] args) { JLabel label = new JLabel(" Hello World "); label.setFont(new Font("LucidaSans", Font.PLAIN, 32)); show(label); } public static void main(String[] args) { launch(SingleFrameExample1.class, args); } } 리소스로…

    Tags:

  • Concrete Mathematics

    Concrete Mathematics 샀습니다. 가장 맘에드는건 이걸로 어쩌면 푸리에 변환과 주파수 도메인에서의 연산의 의미를 밑바탕부터 제대로 닦으면서 이해할 수 있지 않을까 싶어서, sam kong님 덕분에 알게된 Project Euler의 140번 문제에서 언급된 함수가 이 책에서 이미 설명된 (그리고 TAOCP 1권에서도 설명된) Generating Function이라는 것, 피보나치 수열의 일반항 구하는 방법역시 Con. Math. 와 TAOCP에서 설명되었다는 사실 때문에, 최근에…

    Tags:

  • 오늘의 acronym: TMTOWTDI

    뜻은 구글님께 ㅎㅎ 펄과 루비가 TMTOWTDI의 전통을 잇고 있으며, 반면 파이썬은 딱히 지칭하는 정확한 문장이나 용어는 없으나 “어떤 일을 하는 방법에는 한가지만 있다. 바로 ‘올바른 방법’이 그것이다” 정도가 가장 나은 문장인 듯. p.s. Ruby for Impatient Nuby의 버젼2를 준비중입니다. 그런데 양이 너무 많아져서 과연 참을성 없는 사람들을 위한 메뉴얼이 될 수 있을것인지는.. OTL. 기대하세요^^

    Tags:

  • XSS filter to protect from XSS attacks

    XSS Filter는 XSS 공격을 해볼 수 있는 곳입니다. 소스도 공개되어있습니다. 재미있는 것은 보통 XSS는 blacklist 문자를 지정하기 보다는 whitelist 문자를 지정하는 것으로 막는데, 이 곳은 블랙 리스트를 강화하는 노력을 하고 있다는 점입니다. 그런데, 과연 현재 소스 상태에서 또 뚫을 수 있을 것인지?

    Tags:

  • initrd

    http://en.wikipedia.org/wiki/Initrd initrd The initial ramdisk, or initrd is a temporary file system used by the Linux kernel during boot. The initrd is typically used for making preparations before the real root file system can be mounted. When specified, the boot loader loads the ramdisk into memory and passes it on to the kernel, which temporarily…

    Tags:

  • cnr.com

    http://cnr.com/ 이라고 소프트웨어의 스크린샷, 간단한 설명, 사용자 커멘트들을 모아놓은 소프트웨어로 리눅스 환경에서의 프로그램 설치를 도와주는 툴입니다. 아직 런칭은 하지 않았고 개발중인 듯 한데 무척 괜찮아보이는군요.

    Tags:

  • What is ‘drwxrwxrwt’?

    man chmod STICKY FILES On older Unix systems, the sticky bit caused executable files to be hoarded in swap space. This feature is not useful on modern VM systems, and the Linux kernel ignores the sticky bit on files. Other kernels may use the sticky bit on files for system-defined purposes. On some systems, only…

    Tags: