• Liskov Substitution Principle

    EC++ 보다가 나온 내용입니다. http://www.objectmentor.com/resources/articles/lsp.pdf What is wanted here is something like the following substitution property: If for each object o1 of type S there is an object o2 of type T such that for all programs P defined in terms of T, the behavior of P is unchanged when o1 is substituted for o2…

    Tags:

  • swig – ruby

    OMG.. I’m dying of swig for c++ and ruby interconnections…. [person.hpp] [person.cpp] [person.i] So far, so good. But…

    Tags:

  • 파이썬에 curly brace란 없다

    There is no curly brace in python even in the future! from reddit.

    Tags:

  • Real programmer doesn’t need a debugger.

    http://linuxmafia.com/faq/Kernel/linus-im-a-bastard-speech.html 그러니까 이런 의미입니다. 1. 처음부터 조심히 잘 프로그래밍하지 않는 사람과 친구로 지내지 않는다. 2. 디버거를 쓰지 않고 문제를 파악하려고 노력하면 새로운 차원에서 문제를 조망하게 되며, 실제로 이것이 중요한 것이다. 아마도 또 다른 배경은, 진짜 qualified 된 코더들이 짠 진짜 코드만 리눅스 커널로서 받아들이겠다는 거겠죠. 실력없는 사람들은 디버거가 없어서 고통스러워하다가 금방 나가떨어지란 뜻.

    Tags:

  • Erlang

    Concurrency is easy 세간의 화제, Ericsson Computer Science Laboratory에서 만든 Erlang에 대한 글입니다. concurrency를 위한 multithreading이 그 자체의 본질적인 어려움에서 허덕이는 와중에, multicore cpu나 distributed computing이 점차 널리 퍼짐에 따라, multithreading이 지고 프로세스 기반의 프로그래밍 언어가 스포트라이트를 받고 있는 듯 합니다. – 아카데미에서 그렇다라거나 제가 생각하기에 그렇다는 말은 아닙니다.. 제가 하는 여기서의 multithreading에 대한 입지가…

    Tags:

  • The Safe Bool Idiom

    The Safe Bool Idiom by Bjorn Karlsson Foo라는 클래스가 있을 때, Foo f; if (f) cout

    Tags:

  • Monte Carlo Simulation: pi

    if ARGV.length == 0 puts “USAGE: #{__FILE__} [# of iterations]” exit 0 end def rand_point [rand, rand] end def inside_circle?(p) p[0] ** 2 + p[1] ** 2

    Tags:

  • Tapping into your browser history

    Tapping into your browser history 위 링크를 클릭해보세요. ㅎㅎ 그러면 당신이 방문했던 사이트의 목록이 나타납니다. 원리는 다음과 같습니다. A New Way of Tracking Users’ Browsing Habits Jeremiah Grossman came up with a really clever way of using Javascript to find what pages you’ve visited recently. It goes like this: when a link has been visited,…

    Tags:

  • C++ Template Metaprogramming의 소개

    자바 7은 클로져를 지원할 듯 위 글의 커멘트에서 이야기가 나왔길레 간단하게 써보는 C++ Template Metaprogramming에 대한 소개입니다. C++의 메타프로그래밍은, C++자체가 실행시간 타입에 대한 정보를 자바처럼 들고 다니는 것이 아니므로 컴파일타임에 모든 것이 이루어집니다. 이를 일단 기억하시고, 또다른 하나는 template에는 꼭 타입만 쓰는 것이 아니란 사실을 기억하면 모든 준비가 끝입니다. 이 글에서는 가장 유명한 예제인 피보나치…

    Tags:

  • Boost.Bind

    C++ bind1st and bind2nd How the Boost.Bind can improve your C++ program

    Tags: