• Introducing Google Guice

    Introduction to Google Guice Guice 1.0 User’s Guide No XML. Only module/binder/injector/provider with annotations. Pretty nice.

    Tags:

  • Duh Typing

    http://www.artima.com/weblogs/viewpost.jsp?thread=209353 Code snippet from Scala: Why it is duh typing? “Well, duh! The type of s is String.” Very similar to c++0x’s auto keyword.

    Tags:

  • Proposed Java7 Features

    http://puredanger.com/techfiles/java7.pdf http://tech.puredanger.com/java7 No JAVA7 SE JSR up to now, but the proposed features include many attractive ones. Most notably, 1) Reified generics: really??????!!!!!!! So, .NET’s choice was the correct one in the beginning while Java failed? Never mind. Hope this dream come true!!! 2) Type literals: wow!!!!!!!!!!!!!!!!!!!!!!!!!! 3) Language level XML: expected for a long…

    Tags:

  • Clone & Copy Constructor in Java

    Given a reference to a class which does not implement defensive copying, users of the class can use one of the following techniques..

    Tags:

  • Designing DSL

    Behind the scenes of the planning DSL The article explains how to write class for supporting DSL. Very much inspiring. Must read!!! If you are curious what DSL is, have a look at Fluent Interface and Domain Specific Language (DSL). Basically, it can be summarized as using human readable/writable language instead of clumsy OOP stuff;…

    Tags:

  • Editors go for snippet

    TextMate http://macromates.com/ VIM http://www.vim.org/scripts/script.php?script_id=1318 Textmate clones http://intype.info/ http://www.e-texteditor.com/ If you don’t know what snippet is, take a look at http://intype.info/screencasts/snippets/

    Tags:

  • Logging in Linux

    http://wowhacker.com/webzine/webzine1.pdf Commands lastlog – 개별 사용자마다의 최근 로그인 내용 last – /var/log/wtmp를 사용하여 로그인 내용 보여줌 lastb – /var/log/btmp를 사용하여 실패한 로그인 내용 보여줌 기타 로그 파일 /var/log/messages /var/log/secure – 인증 과정의 로그 /var/log/httpd/access_log, /var/log/httpd/error_log – httpd 로그 ~/.history – shell command history /var/log/dmesg – 부팅 로그(dmesg 명령으로도 볼 수 있음) /var/log/boot.log – 부팅시 에러…

    Tags:

  • YAGNI

    YAGNI – You Ain’t Gonna Need It. Speculative design을 피하기위한 principle.

    Tags:

  • 2PC or not 2PC

    http://www.addsimplicity.com/adding_simplicity_an_engi/2006/12/2pc_or_not_2pc_.html http://www.addsimplicity.com/adding_simplicity_an_engi/2006/12/avoiding_two_ph.html 2PC를 버리고 TX에 대한 message queue를 사용한 asynchronous recovery에 의존해야하는 이유 2PC는 총 availability (TX에 참여하는 각 component의 availability의 곱)을 저하시킨다. 2PC coordinator는 SPOF (Single Point of Failure)가 된다. 2PC없이 두번 커밋하더라도 전체 TX의 실패가능성은 매우 낮다. 만약 실패한다고 하더라도 실패내용을 journal에 저장하고 이를 asynchronous idempotent operation으로 복구할 수 있다. Axioms 데이터 모델과…

    Tags:

  • 함수형 언어의 4가지 키워드: enumerate, map, filter, accumulate

    http://gensym.org/2007/4/7/enumerate-map-filter-accumulate http://onsmalltalk.com/programming/smalltalk/on-simple-functional-idioms/ “employees 배열이 주어졌을때 프로그래머의 최고 연봉을 구해보자.”는 문제에 대한 구현 비교. 언제나 느끼는 거지만 자바는 너무 할말을 하나씩 다 써야합니다. 반면에 함수형 언어 루비등의 경우라면, 이 얼마나 간단한지. C++의 경우에도 비슷하게는 할 수 있겠지만, boost의 도움을 얻어야하는 점이 골치거리이고, 자바는 이제사 lambda 를 고려하고 있으므로 그때를 기다리는 수 밖에요.

    Tags: