-
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: