아름다운 프로그램 짜기.
javadoc을 거꾸로 해주는 codavaj
JSR에 첨부된 Javadoc은 있는데 코드가 없어서 해당하는 API를 Eclipse 등의 IDE로 볼 수 없어서 아쉬운 경우가 있습니다. 이런 경우 유용한 Javadoc으로부터 원래 Java 코드를 유추해주는 codavaj를 소개합니다.
Java에서 XML 쓰고 읽기
Java Architecture for XML Binding (JAXB)은 Java 객체들을 XML로 쓰고 다시 읽어오기 위한 매우 강력한 방법을 제공합니다. XML로 표현하려는 Class에다 간단한 Annotation만 살짝 입혀주면 해당 객체들을 XML로 썼다가 다시 읽어올 수가 있습니다. 물론, 반대로 XML Schema로부터 Java Class들을 자동 생성하여 XML 자료들을 Java에서 자연스럽게 다룰 수도 있습니다. 무엇보다 좋은 소식은, JAXB 2.0의 참조구현이 Java SE 6에 포함되어 있어 별도의 라이브러리를 쓸 필요도 없다는 것입니다.
프로그램을 한 파일로 포장하기
Apple의 Mac OS X을 쓰는 사람들은 설치한 프로그램의 위치를 옮기거나 지우고 이름 바꾸는 일들을, 파일 다루기 이상의 특별한 작업으로 여기지 않습니다. 그것은 Mac OS X의 Finder가 Mail.app과 같이 여러 파일로 구성된 프로그램의 bundle 디렉토리를 하나의 단위로 다룰 수 있게 해주기 때문이지요. 프로그램 뿐 아니라, 가령 Keynote나 Pages의 문서도 여러 파일로 이루어진 디렉토리이지만 한 단위로 다룰 수 있습니다. 이러한 특징은 Time Machine이라는 백업도구가 파일을 단위로 변경사항을 기록하는 아주 단순한 방법으로도 매우 효율적으로 동작할 수 있는 기반이 됩니다. 이렇게 디렉토리를 하나의 파일처럼 다룰 수 있는 점을 저는 Mac OS X의 큰 장점으로 높이 평가해오고 있었습니다.
Google Korea TechTalk: ROC
지난 목요일에 구글 코리아에서 스팍스 행사가 있어서 구글 코리아를 방문했습니다. 겸사겸사 Resource-Oriented Computing을 소개하는 시간도 가졌습니다. (발표자료)
셸 프로그래밍의 매력
셸의 힘은 프로그래밍과 사용 사이의 경계를 허문다는 점에서 나옵니다. 즉, 셸을 통해 기계를 사용하는 행위 자체가 프로그래밍이며, 셸 프로그래밍이 곧 기계를 다루는 방법이란 점에서 매우 매력적입니다.
tags
del.icio.us에서 태크 다루기가 힘들다. 내 북마크를 통째로 import 시킨 후로 조금씩 써오기 시작했는데, import를 하면서 북마크 폴더 이름들을 전부 태그로 붙여버렸던 것이다. import 기능 생기고 처음 한 동안은 이름바꾸기/지우기도 지원을 안해서 새 주소만 조금씩 넣고 거의 방치하다시피 했는데 오늘 보니 이름바꾸기가 가능해졌더라. 아직 share all 같은 기능은 없는데, 사람들이 원하고 있으니 곧 생기지 않을까 싶다.
darcs, unpull
요즘 darcs에 적응해보려고 여기저기에 쓰는 중이다. 실행 권한이나 변경시각 등을 어떻게 기록하는지 모르겠고, 사용법이 여타 버전관리 도구와 많이 달라서 고생하고 있는데.. 오늘은 옛날 버전으로 되돌리는 방법을 몰라서 애먹었다.
값 탈출시키기
셸 스크립트를 짜다보면 eval을 쓰거나 또 다른 스크립트를 만들어내야할 때가 종종 있다. 그냥 장난삼아 짜는 스크립트라면 상관 없을 수도 있지만, 모든 상황에 대비해 돌아갈 수 있게 진지하게 짜는 스크립트라면 값이 뭉개지지 않도록 감싸는 방법(escaping in shell scripts)을 고민해야 한다.
darcs
내가 대략 3년전부터 만들어 써오고있는 파일 분산+동기화 도구인 iDEA. 내 메일, 일기, 과목 자료부터 논문, 프로그램 조각들까지 주로 내 개인 자료들을 여러 서버에 복제해두는 용도로 사용해왔다. 물론 서버들의 상호백업(mutual backup)에도 사용하고 있고. 간단히 요약하면 rsync를 이용하는 셸 스크립트라고 할 수 있다. 지난 주에 iDEA를 제대로 손볼 필요를 조금씩 느껴오던 차에.. 요즘엔 뭐가 있나하고 웹을 둘러보다가 darcs라는 소스관리 도구를 살펴봤다.
복구 불능
왜 자기 일에 열정을 갖지 못하고 끌려다니는 사람이 생길까. 대부분이 취미나 놀이에는 열의를 갖고 매달리지만, 정작 자기 시간의 대부분을 투자해야하는 "일"에 흥미를 갖고 있는 사람은 현대의 우리 사회에서 극히 일부뿐이라고만 느껴진다. 분명 일을 즐기면서 할 수 있다면 그보다 더한 행복은 없을텐데.. 계속 의문을 가지고 고민을 해왔으나 뾰족한 답은 찾지 못했다. 그런데 최근 깨달은 바가 하나 있다.
복구 불능
왜 자기 일에 열정을 갖지 못하고 끌려다니는 사람이 생길까. 대부분이 취미나 놀이에는 열의를 갖고 매달리지만, 정작 자기 시간의 대부분을 투자해야하는 "일"에 흥미를 갖고 있는 사람은 현대의 우리 사회에서 극히 일부뿐이라고만 느껴진다. 분명 일을 즐기면서 할 수 있다면 그보다 더한 행복은 없을텐데.. 계속 의문을 가지고 고민을 해왔으나 뾰족한 답은 찾지 못했다. 그런데 최근 깨달은 바가 하나 있다.
