• 맥북 Air, 살빼라 노트북!

    Tags:

  • Never use find and rm in your crontab.

    http://seclists.org/bugtraq/1996/May/0046.html 예를들어, 는 /tmp/etc/passwd로 링크를 건 파일하나 생성하는 것으로 /etc/passwd를 삭제하는데 악용될 수 있다.

    Tags:

  • Column oriented database

    Column oriented database 위키외에 어디선가 본 이야기는 다음과 같습니다. 요즘 시대엔 row하나에도 attribute가 정말 많은 데다가, 조인이 예전처럼 한두개도 아니고 10여개까지 발생한다. 그러면 그에 맞게 join 을 편하게 하면서, 압축도 잘 되고, 뭔가 denormalization 한것같으면서도 normalization의 구조를 유지하면 좋지 않겠느냐.. 하는 것.

    Tags:

  • Factorization

    어떤수 x가 Prime인지 확인하는 방법: 1. Trial Division: sqrt(x) 까지의 모든 prime으로 나눠본다. 2. Sieve of Erathosthenes: x뿐만 아니라 x+1, x+2, … x+n과 같이 연속된 정수의 경우에 좋은 방법. 2부터 시작해서 2의 배수를 지움, 남은 수에서 가장 작은 odd number 남기고 그 배수를 지우는 것의 반복. 3. Wheel Factorization: 몇개의 prime number를 취한다. 예를들면 2와…

    Tags:

  • Tanimoto coefficient

    http://en.wikipedia.org/wiki/Jaccard_index Jaccard index(Jaccard similarity coefficient)는 샘플 셋간의 유사성 측정. 두개의 셋 A, B가 있다고하면, 다음과 같이 정의. A와 B가 binary attribute를 가진 object에 대한 벡터라면 다음과 같이 정해짐. 여기서 은 A가 n, B가 m을 가진 attribute의 개수. 주의할점은 는 분모에 포함 안된다는 거.. Tanimoto Coffecient는 Jaccard 의 continuous, count attribute를 위한 확장으로, binary attribute에 적용하면…

    Tags:

  • Scope Guard idiom

    Transactional Programming More C++ Idioms/Scope Guard 예외가 발생했을 때 자동 원상 복구가 가능할까… 아래는 ScopeGuard idiom. #include #include using namespace std; class ScopeGuard { char *mem; bool dismissed; public: ScopeGuard(char *m):mem(m), dismissed(false) { } ~ScopeGuard() { if (!dismissed) { cout

    Tags:

  • Generator in C++

    http://www.crystalclearsoftware.com/soc/coroutine/index.html#coroutine.intro http://www.sgi.com/tech/stl/generate.html 이렇게 할 수 있다는 건 미처 생각 못해봤네요… #include using namespace std; class Generator { private: int min; int max; int val; public: Generator(int minInit, int maxInit):min(minInit), max(maxInit) { val = minInit; } int operator()() { return val++; } operator bool() const { return val < max; } }; int main() { Generator…

    Tags:

  • Closure Impl. in Java

    Pretty nice to see this actually happening. Java Closures: first prototype Closures for the Java Programming Language 아래는 www.javac.info에서 가져온 예입니다. 두 정수의 합 구하기 Closure Literal. {int x, int y => x+y} 두 정수의 합 구하기 Closure를 지역 변수 plus에 할당하기 {int,int=>int} plus = {int x, int y => x+y}; 내부적으로는 위와 같은 literal들이…

    Tags:

  • C++ FQA(Frequently Questioned Answeres) Lite

    http://yosefk.com/c++fqa/index.html The main purpose of this FQA is to convince people of the following: There is no reason to use C++ for new projects. However, there are existing projects in C++ which might be worth working on. Weighting the positive aspects of such a project against the sad fact that C++ is involved is a…

    Tags:

  • Removing all whitespaces

    Python 코딩중 golfing. >>> s = """a b\\tcd … e … """ >>> ”.join(s.split()) # 난 이 문법이 정말 싫다. ‘abcde’ >>> str.join(”, s.split()) # 이게 더 낫다 ‘abcde’ split과 join이 whitespace를 제거한다는 것은 비직관적. regular expression을 쓴다고 하더라도 import re 하는 순간 golfing과는 멀어진다. Ruby라면 이렇게 할 수 있다. irb(main):001:0> s = "a b\t…

    Tags: