Everyday Scripting with Ruby
Everyday Scripting with Ruby라는 책을 구입했다. 이 책은 The Pragmatic Programmers에서 판매하고 있는데, 2007년 1월에 나온 책이고 이 출판사의 메일링 리스트에서 출간 소식을 듣자마자 구입을 한거니까 아주 따끈따끈한 책이다. 이전부터 The Pragmatic Programmers의 책을 몇 번 산 적이 있었는데 한 번도 후회를 해 본 적이 없을 정도로 책 자체에 대한 만족도가 높았었고, pdf로 구매하는 것이 가격적으로도 좋고 배송 시간을 기다리지 않아도 되는 장점이 있었기 때문에 편안하게 pdf 버전을 구매했다. 이번에는 이전과 달리 책 전체를 컬러 레이저 프린터로 출력하여 comb 제본기로 제본을 했다. 책 내용 중에 있는 여러 가지 색을 그대로 표현을 해 놓으니 보기가 훨씬 좋다. 아직 다 읽지는 못했지만 읽으면서 좋은 것은, 저자가 설명하는 내용들을 차근차근 따라하는 것이 짧은 스크립트를 쓰는 중에도 많은 생각을 할 수 있도록 해 준다는 점이다. 그동안 루비를 배우고 여러 가지 종류의 스크립트들을 써 보면서, 내가 프로그래밍에 대한 기초가 없어서인지 배운 것들을 체계적으로 적용하는 것을 못한다는 한계를 많이 느끼고 있었는데 그런 부분들을 많이 보충해 준다는 느낌이 들었다. 저자가 말하는 Programming by assumption이라는 기법이 특히 많은 도움이 되는 것 같다. 이 방법은 프로그래밍을 할 때, 세부적인 기능은 구현이 되었다고 가정하고 스크립트를 만든 후에 차근차근 필요한 기능들을 구현하는 방식이다. 일종의 탑-다운 방식이라고 할 수 있는데, 이렇게 하는 것이 내가 만들고 있는 프로그램의 전체적인 그림을 염두에 두고 작업할 수 있다는 면에서 도움이 많이 되는 것 같다. 그리고 어느 순간이든 내가 어떤 역할을 하는 어떤 부분을 만들고 있는지를 잊지 않을 수 있다는 장점도 있다. 그리고 이 책을 읽으면서 테스트에 대한 실질적인 적용 방법을 알 수 있었다. 항상 책으로 읽으면서 좋다고 생각은 했지만, 실제로 내가 프로그래밍을 할 때는 시도해 보지 못했었는데, 저자의 자세한 설명을 읽으며 따라하는 것만으로 좋은 테스트를 하는 방법을 알 수 있다는게 참 마음에 드는 부분이었다. 좋은 책을 읽고, 그로부터 도움을 받는 것은 좋은 일이다. 대학원에서 공부를 하면서 십수권짜리 전집 책을 구입하면서 한 페이지에서만 도움을 받아도 이익이라는 말을 많이 들었었는데, 이렇게 책 한 페이지 한 페이지가 도움이 되는 책도 흔하지는 않은 것 같다.