A2공간 - 도움되는 글을 쓰자

ani2life.egloos.com

포토로그


그냥 잡담

※방명록은 따로 없고 무조건 최신글에 댓글 남기시면 됩니다. ^^

위드블로그



개발서적 - 유닉스/리눅스 프로그래밍 필수 유틸리티(개정판) 개발/플밍

위드블로그의 서적 리뷰에 선정이 되어서 좋은 책을 한권 보게 되었습니다.
한빛미디어에서 나온 '유닉스/리눅스 프로그래밍 필수 유틸리티'라는 책입니다.
일반적인 책이라면 제가 서평을 쓴다는 것은 생각치도 않지만 개발관련 서적이라 서평에 도전했습니다. ^^

이 책은 리눅스와 같은 환경에서 개발시 필수적은 유틸리티를 소개하는 내용을 다루고 있습니다.
하지만 꼭 유닉스/리눅스 어플리케이션 개발자에게만 유용한 책은 아닙니다.
이 부분은 아래에서 다시 이야기 하겠습니다.



물리적 특징

책의 물리적 특징으로는 종이의 질이 무척 좋습니다.
두께는 약800페이지로 두껍지만 부드럽게 펼쳐집니다.
제본이 좋지 못한 책은 좌우로 펼치면 책의 중앙이 심하게 꺾여서 페이지가 뜯어지는 책도 있습니다.
개발서적은 두꺼운 책이 많고 수시로 사용하기 때문에 내구성도 중요합니다.


찾아보기(인덱스)

개발서적은 찾아보기가 정말 중요합니다.
수많은 용어나 함수를 전자책이 아닌이상 직접 찾는 것은 쉽지 않습니다.
이 책의 찾아보기는 15쪽으로 특수문자, 영문, 한글별로 꼼꼼히 구분되어 있습니다.


개발 환경

페도라7과 우분투7.04 환경으로 3년전 환경이지만 책의 내용을 다루는데는 문제가 없습니다.
물론 툴 설치나 환경설정 방법이 다를 수 있지만 이 책을 보는 대상에게는 문제가 되는 부분은 아닙니다.


소개되는 주요 유틸리티

vim, gcc, make, automake, autoconf, gdb, svn, cvs


유용한 리눅스 정보

유닉스/리눅스 프로그래밍 유틸을 다루는 책이어서 리눅스 팁이 자주 등장합니다.
책을 읽다보면 다양한 리눅스 명령들이 등장하는데 평소 몰랐던 명령을 발견하는 것도 큰 소득이었습니다.
커피의 황금 비율 같은 재밌는 팁도 나옵니다. ^^


vi, vim

저는 vim을 주력 에디터로 쓰고 있지 않지만 간단한 수정을 할때는 vim을 자주 사용합니다.
vim은 기능이 워낙 많다보니 기본 기능이외에는 그냥 넘어갔었습니다.
그런데 책을 읽다보니 당장이라도 유용하게 쓸수있는 기능을 우선으로 다뤄서 좋았습니다.
단순히 기능의 나열이 아니라 vim의 기초부터 착실히 다져줍니다.


gcc, Make, 컴파일

이 책은 gcc에 대해서 gcc 옵션. 컴파일 과정. 최적화 컴파일 등 무척 자세하게 다루고 있습니다.
automake, autoconf 등을 활용해서 Make 파일을 만드는 방법을 배울 수 있습니다.
C언어가 주력인 개발자들에게 정말 좋은 내용입니다.
Make 파일은 C언어 컴파일용도 이외에 활용할수 있으므로 알아두면 좋습니다.


gdb

gdb는 디버깅을 위한 도구로 다양한 언어를 지원합니다.
IDE만 쓰다보면 GUI에 가려져서 모를뿐 사실 자신도 모르게 gdb를 사용하고 있었을 겁니다.
IDE에서 개발하면 gdb를 몰라도 GUI로 쉽게 사용할 수 있지만 IDE의 디버깅 모드에서 gdb 명령을 직접 내리는 것도 가능하기에 알아두면 좋습니다.
책에서는 gdb도 자세히 다루고 있으며 멀티프로세스와 멀티스레딩 상황에서는 gdb를 어떻게 써야하는지도 알려줍니다.


책이 도움이 될 대상

이 책은 반드시 유닉스/리눅스 어플리케이션 개발자에게 한정된 내용이 아닙니다.
리눅스와 유사한 환경 조금이라도 접해야하거나, 윈도우 환경의 C언어 개발자에게도 유용합니다.
윈도우에서 개발하면 자동화툴만 쓰게되는 개발자가 많습니다.
생산성을 위해 자동화툴의 활용은 필수지만 직접 과정을 밟아보는 것은 자동화툴을 더욱 잘 다룰수 있게 해주고 응용력도 키워줍니다.

이 책이 다루는 vim, gdb, svn, cvs등은 개발자라면 실무에서 부딪힐 가능성이 높습니다.
특히 svn, cvs 같은 버전관리도구는 이제는 개발자가 모르면 안될정도로 중요합니다.

터미널을 쓸수밖에 없는 개발자라면 vim은 필수입니다.
vim만 공부하더라도 아깝지 않은 책이라고 생각합니다.


뒷장의 부록도 알짜배기

부록A : 프로그래밍 유형별 가용 유틸리티
GUI 도구
 - QT와 GTK 디자이너 도구를 소개 합니다.
네트워크 도구
 - tcpdump, wireshark, iptraf를 간단하게 소개 합니다.

부록B : vim 명령 정리
다양한 명령이 표로 정리되어 있고 활용도가 높은 명령에는 진한 색상으로 표시되어 있습니다.

부록C :gcc 옵션 정리

부록D : autoconf 매크로 정리


국내에서 구하기 어려운 내용을 다뤘고 저자의 노하우가 녹아들어 있는 기대 이상의 좋은 책 입니다.
좋은 책을 만들어주신 저자분께 감사드립니다.



저는 건강한 리뷰문화를 만들기 위한 그린리뷰 캠페인에 참여하고 있습니다.



덧글

  • it 2012/11/08 22:44 # 삭제

    음.. 리눅스 개발자.. 전망 좋나요?
    gcc밖게 안써봣네요

    vi편집기에 적응이 안되서 리눅스에서의 C프로그래밍은 정말 골치아프네요 ㅎㅎ
  • -A2- 2012/11/10 20:20 #

    전망 보다는 자신이 좋아하는 것을 선택하시는 것이 좋을 것 같습니다.

    그리고 리눅스라고 꼭 터미널 환경이나 vi 편집기를 쓸 필요는 없습니다.

    리눅스에서 C언어를 배워보려 하신다면 이 책이 도움이 되실 것 같습니다.
    http://www.hanb.co.kr/book/look.html?isbn=978-89-7914-953-1
  • dev 2013/06/23 09:49 # 삭제

    포스팅 잘봤습니다~
    현재 리눅스 커널프로그래밍을 해야될 일이 생겨 알아보고잇는데요

    C, CPP는 할 줄알구요(물론 윈도우환경에서 접했습니다^^)

    리눅스는 제대로 해본적이 한번도 없는데
    이책을보면 커널프로그래밍을 익히는데 무리가 없을까요?

    아니면 리눅스 기본서적을 먼저 보고 봐야할까요?
  • -A2- 2013/06/24 15:21 #

    이책은 리눅스에서 개발을 할때 도움이 되는 유틸리티를 소개하는 것이기 때문에 실제 개발을 위해서는 다른 서적을 보셔야 합니다.