리눅스 시스템 프로그래밍 - 개정2판, 커널과 C 라이브러리로 풀어가는 (리눅스 3.x 최신 커널 기반)
로버트 러브 지음, 김영근 옮김 / 한빛미디어 / 2015년 1월
평점 :
장바구니담기


 누구나 한번쯤. 아니다. 누구나 라기 보다는 컴퓨터에 관심이 있는 '긱'스러운 사람이거나 해킹에 관심이 있거나 아니면 리눅스로 밥벌어 먹고 사는 사람이라면 리눅스 시스템 프로그래밍을 접해본적이 한번쯤은 있으리라. (한번도 적지만...)

리눅스 시스템 프로그래밍

작가
로버트 러브
출판
한빛미디어
발매
2015.01.02

리뷰보기


  이쪽이 업이 아닌 사람들이라면 리눅스 시스템 프로그래밍을 접하고 오래오래 한다던지, 아니면 중간에 포기하지 않고 갈만한 사람이 몇이나 될까? 거의 없지 않을까 모르겠다. 대학교 때 해킹보안 동아리에 가입해서 리눅스 시스템 war game을 진행하는 선.후배들을 보면서 참으로  신기했더랬다. 업이 아닌 저들이 (지금은 업으로 삼고 있는 사람이 많지만.) 저런 복잡한 내용과 깊이를 주도적으로 학습하고 게임을 해나가는 모습이 약간은 낯설은 모습이기도 했다.
  무엇보다. 내 자신이 제대로 그렇게 살지 못했기 때문이 아닐까? 주도적 학습만이 살길인 요즈음에 들어서야 그들의 순수한 흥미에 의한 학습과 열정이 그렇게 그리울 수가 없다.
  
  이번에 한빛미디어에서 출간된 리눅스 시스템 프로그래밍이라는 책을 보면서 그들을 떠올리는 것이 어쩌면 당연햇는지도 모른다. 업이 된 지금에야 필요에 의해서 책을 펼쳐든 나는 그들보다 못하지는 않은지.

  이런 감상적인 후회는 이제 관두고 책을 한번 진솔하게 펴서 읽어보리라.
  


  
  책은 해외 원서의 번역판이다.  oreilly 책이야 워낙에 교재로도 많이 쓰이고 평이 좋은 책들이다보니, 나오는 족족 한국에서 번역이 잘 되는 편이다. 그런 책을 바로 '김영근' 역자가 번역을 하셨더랬다!!! 파이썬을 활용한 데이터 분석에서 성함을 접하고 python 2014 스터디 때 만나게 된 그분. '긱'스러운과 친근함을 두루 갖춘 그런 프로그래머 말이다.

  이 책을 선택하고 읽으면서 김영근 역자님의 이름을 접하게 되니 반갑기 그지 없었다. 그만큼 번역도 잘 되어 있음은 두번 말하면 입이 아플듯. 평소에 대화를 나누면서도 원서 번역에 있어서 여러가지 얘기가 나온적이 있는데 그때마다 든 생각은 '김영근 역자의 책은 언제나 믿고 읽어도 번역 때문에 책이 싫어질 일은 없겠다.' 였다. 사실 번역서들이 어려운 것이. 전문 번역가라 할지라도 이쪽 계통에 지식이 없으면 내용이 산으로 가기 일쑤라 번역서를 선뜻 집어들기가 어려운 것은 그때문.
  하지만 이 책은 믿고 읽어도 좋겠다.



 또 벌써 2판이라니. 출판쇄 수로 2판은 아니고, 원서가 2판이 나왔고. 한빛미딩가 2판도 번역을 한것을 보면 분명 보는 사람도 많았던 것이 아닐까? 그럼 또 내용도 oreilly 것이니 믿고 보기에 부족함이 없다!


  시스템 프로그래밍 관련된 책은 상당수가 나와있지만 오래전 책이라거나 믿음직하지 못한 출판사에서 나오는 경우가 대부분인것 같다. 그것을 제외하면 시스템 프로그래밍 단독으로 깊이 있는 내용을 다루는 책도 많이 않은것 같고. 그런 점에서 한빛미디어는 책을 잘 골라서 출판해 주는 것 같아 고마울 따름이다.


  이 책은 리눅스 시스템 프로그래밍이지만 리눅스 POSIX API의 규격에 맞게 학습하는 것과 동시에 C의 정수에 다다르는 책이기도 하다. 요즘은 C를 가지고 프로그래밍 할 곳이 응용 프로그래머 입장에서는 많지가 않다. 스마트폰 앱을 할 때도 C를 그닥 쓰지 않고. 대규모 네트워크 프로그래밍 할일도 없고.. 뭐 이래저래 C와는 멀어지는 시간들 이었는데. C를 활용한 본격적 프로그래밍임과 동시에 시스템 최적화 까지 신경써야 하니 이것이 바로 C언어 프로그래밍의 정수가 아닐까?



  이제 뒷표지와 목차를 살펴보자. 시스템 프로그래밍의 거의 모든 영역에 관한 내용이 빠짐없이 들어가 있다. 메모리 관련, 파일 입출력, 프로세스 다루기, 쓰레드까지도 말이다. 그렇다면 이 책 하나로 시스템 프로그래밍이 끝날까?

  또 그것은 아니다. 방대한 리눅스 시스템 API 전체를 훑어 보는 것만으로도 지면이 부족할텐데. 그렇게 한다고 해도 시스템 프로그래밍에 정통하게 되는 것은 아니니. 입문과 전문가로 가기 위한 준비로 이 책은 그 의를 다했다 할 수 있겠다.

  그렇다면 그 다음 과정은? 역시나 매뉴얼을 살펴보며 직접 시스템 프로그래밍 실무로 들어가는 것이 좋다고 말하고 싶다. 시중에 출간되는 책은은 '전문가' 라는 타이틀을 달고 있어도 출가되는 시점에서 그것은 '아마추어'까지 알게되고 접할 수 있는 수준의 지식이 되어 버린다. 그럼 이전의 전문가 레벨에서 알 수 있는 정보까지 손쉽게 얻을 수 있게 되었으니 앞으로 '전문가' 대접을 받으려면 그것을 활용해 더욱더 실무에서 발전된 모습을 보이는 것이 맞지 않겠는가?


  제레미 알리슨의 말을 들어보자 "리눅스 시스템 프로그래밍은 리눅스 애플리케이션을 작성하고 싶은 사람 혹은 프로그래밍 스킬을 한 단계 더 높이고자 하는 사람이라면 꼭 읽어봐야 할 책이다. 이 책은 고급 리눅스 개발자를 위한 훌륭한 지침서다." 라고 말하고 있다.


  이 책을 지금 서점에서 집어 들었는가? 아니면. 리뷰를 보면서 책을 볼지말지 고민하고 있는가? 제레미 알리슨의 말처럼 다음 단계로 가고자하면 주저 없이 이 책을 보자. 그리고 실무에 활용하고 노력하자. 책을 읽는데서 끝난다면 그냥 현재 단계에 안주하게 되고 말 것이다. 그리고 몇년뒤, 필자같은 후회를 하고 있을지도 모르겠다.


  "KEEP CALM AND CARRY ON"


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo