현재 나는 웹프로그래머로 회사를 다니고 있다.
하지만 늘 관심 분야는 많았다. 내 성격처럼...
항상 나의 관심에 포함되어 있던 것 중 하나인 시스템 프로그램은 언제나 어려운 분야였다.
몇 권의 책을 읽었지만, 볼 때마다 새롭다.
이전에 본 책인
유닉스 시스템 프로그래밍 SVR4 (한빛미디어)과
학교에서 교재로 쓴 다던
UNIX 시스템프로그래밍 2/E (Addison-Wesley, 홍릉과학출판사)가 그 책들이다.
유닉스 시스템 프로그래밍 SVR4는 특히 System V Release 4를 중점적으로 다룬 책이었다.
UNIX 시스템프로그래밍 2/E는 학교에서 교재로 쓰는 것에서 알 수 있듯이 책은 얇지만 핵심적인 것들이 자세히 다뤄져 있었던 것 같다.
하지만 늘 그렇듯 책만 읽고 실제로 활용하지 못한 지식은 금방 까먹어 버렸다.
이번에 읽은 IT Expert 유닉스 시스템 프로그래밍은 위의 2책과는 많이 다른 책이었다.
다른 책들이 시스템 콜과 같은 것을 알려주고 간단한 예제를 통해 설명을 하려 했지만,
이 책은 시스템에서 사용되는 유틸리티를 제작하는 단계를 보여주고 그 소스에 관한 설명을 위주로 한다.
초반부에는 소위 시스템 프로그래밍하면 떠오르는 부분이 아닌 유닉스 유틸리티에 관한 설명들이 나온다.
프로그래밍 관련 유틸리티, 쉘 프로그래밍등에 관한 것이다.
아직 경험이 부족한 나에게는 도움이 되긴 했지만,IT Expert 라는 타이틀과는 다소 어울리지 않는 부분인 것 같다.
디버거(gdb) 사용법이나 make, lint 등과 같은 유틸리티는 웹 문서를 통해서도 얼마든지 알 수 있는 것들이다.
vi 사용법에 관한 내용도 나온다.
이런 부분은
GNU 소프트웨어로 프로그래밍하기와 같은 책에서 자세히 다루고 있는데,
유닉스 시스템 프로그래밍 책에서 이처럼 다루기는 다소 맞지 않는 것 같다.
총 4부로 된 내용의 1부와 2부가 이 내용들이다.
2부는 유닉스 명령어 만들기이다.
ls, cat, cp 등 우리가 유닉스에서 많이 사용하는 명령어들을 실제로 구현하고 설명을 해 줌으로써,
기본(?)은 알지만 활용하는 법을 모르던 나와 같은 사람들에게 많은 도움이 되었다.
특히 부분 부분 핵심을 설명해 줌으로써 이해를 도왔다.
3부는 실제 프로그램 작성하기이다.
2부에서 보여준 간단한 명령어 작성과는 달리 좀 더 깊숙한 부분을 알려준다.
시스템 정보를 보여주는 프로그램을 작성해 봄으로써 한 단계 업그레이드 될 수 있는 부분이다.
4부는 부록이다.
이 부록에는 모든 시스템 함수를 설명해 놓았다.
시스템의 man 페이지를 통해 시스템 함수에 대한 설명을 볼 수는 있다.
하지만 영문으로 된 문서이다. ㅡ.ㅡ;;;
그리고 부록에는 포인터와 시그널에 관한 내용이 나온다.
포인터는 C 의 핵심이라 할 수 있다.
시스템 프로그래밍하면 C 를 떠올리는 나로써는 조금은 당황한 부분이다.
시스템 프로그래밍을 할려면 C는 기본이 아닌가?
(물론, 나도 C를 잘하진 못한다.;;)
전체적으로 기존의 시스템 프로그래밍 책과는 많이 다른 책이다.
나는 개인적으로 오라일리 책을 좋아하고 물론 한빛미디어의 책도 좋아한다.
그래서 올해 새로 선 보이는 한빛의 야심작(?)인 IT 백두대간 시리즈와
IT Expert 시리즈에 많은 기대를 했다.
기대가 크면 실망도 큰 법인지... IT Expert 시리즈의 첫 책인 이 책을 읽고 조금은 실망스럽다.
IT Expert 시리즈의 목적은 전문가로 가기위한 것이다.
하지만 전반적으로 IT Expert라는 타이틀에는 좀 먼가 부족한 것 같다.
IT 백두대간 시리즈로 이 책이 나왔다면 정말 좋은 책이 되었을지도 모르겠다.