'한빛미디어'에 해당되는 글 4건

  1. 2010/11/10 한빛 리더스 2기 모집 한답니다. ^_^ (4)
  2. 2010/10/19 컴파일러 구조와 원리
  3. 2010/08/09 OpenCV 제대로 배우기
  4. 2010/06/06 루비 프로그래밍 언어 (4)
제가 지난 5월부터 활동했던 한빛리더스에서 2기 모집을 시작 한다고 합니다. 해야 할일이 위에 나열되어 있지만, 1기에서 한 일은 주로 "신간도서 읽고 리뷰 및 오탈자 등록"이였고요, "미출간 도서 읽고 미션수행"은 신청자에 한해서만, "설문조사"는 크게 어렵지 않은 내용들 (신간 도서의 제목, 겉표지 선정하기) 이였습니다. "급 미션"이 설문조사였구요.

하지만 이번엔 급미션과 설문조사 내용을 분리해놓은걸 보니 뭔가 다를 듯 싶기도 하네요. 1기의 활동은 한빛리더스 미션 게시판을 통해 엿볼 수 있습니다. "기획의견 및 아이디어"는 자유롭게 게시판에 등록하는 거였지만 피드백도 적고 참여하는 사람도 적었어요. 2기에서는 어떤 개선점이 이루어질진 모르겠습니다. ^.^;;

저는 이 프로그램을 통해서 루비 프로그래밍 언어, 프로그래머가 몰랐던 멀티코어 CPU이야기, OpenCV 제대로 배우기, IT Cookbook 윈도우 프로그래밍 개정판, 컴파일러 구조와 원리, 글로벌 소프트웨어를 꿈꾸다, 이렇게 총 5권의 신간 도서를 받아서 리뷰를 했고, "글로벌 소프트웨어를 꿈꾸다"는 현재 읽고 있습니다.

책을 읽고 그 책에 있는 오탈자를 찾아 등록하고 리뷰만 블로그나 여러 인터넷 서점에 등록을 해주면 됩니다. 리뷰 쓰는걸 귀찮아 하는 분이 아니라면 공짜로 ☆신간★을 받아 볼 수 있는 좋은 기회이지요.

1기에는 없었던 번개 지원금도 생겼네요. 더군다나 뽑는 인원도 훨씬 늘어났습니다. 우왕.

책 값이 부담되는 당신~ 신간도서를 공짜로 받아 볼 수 있는 기회를 노리는 당신, IT도서를 많이 읽는 당신, 설마 내가 뽑히겠어? 고민하는 당신~!!, 리뷰를 쓰는 성의를 보여줄 수 있다면 지원해보세요~ 롸잇나우~

... 약장사같네요 =_=;




저작자 표시
Posted by Mastojun
공부/읽은책2010/10/19 16:53
Google | Nexus One | 4.3mm | 2010:10:19 16:27:27

아오키 미네로우 저, 이영희 역, 『컴파일러 구조와 원리』, 한빛미디어, 2010


이번 한빛 리더스 5번째 리뷰 도서로 선택한 책은 "컴파일러 구조와 원리". 이번 학기에 학교에서 "컴파일러" 과목을 수강하며 컴파일러에 대해서 더 알고 싶어서 선정한 책이다. 어려울 거라는 생각은 전혀 하지도 못했던 지라 이번에도 책을 모두 다 읽진 못했다(ㅠ.ㅠ) 전공 관련 책을 볼 때 일본에서 출간된 책을 번역한 것을 보면 확실히 번역이 다른 언어권 국가의 책을 번역 한 것 보다 깔끔하다. 이번 책 역시 그랬다.

저자의 홈페이지를 찾아가 보니 일본에서 소개된 책의 제목은 "보통의 컴파일러를 만들자"란다. 한빛미디어에서는 "구조와 원리" 라는 다른 책들과 돌림자 맞추기를 한 모양인데, 어쩐지 좀 더 딱딱하게 다가온다. 책의 내용도 C언어 컴파일러를 완전히 구현하는 것이 아닌 몇 가지 기능을 제거하고 몇가지 기능은 구현하기 더 쉽게 바꾼 C♭을 만드는 것이기 때문에 "보통의 컴파일러를 만들자"가 더 와 닿고 센스까지 느껴지는 제목이다.

현재 수강하고 있는 컴파일러 과목에서 교수님이 선택하신 교재는 "컴파일러 입문" 이라는 책 인데 벌써 중간고사 (오늘 오전에 중간고사를 보았다. ㅠ.ㅠ)가 지났음에도 불구하고 언어형식에 대해서만 이야기하고 있다. 이해하기 어렵고, 이해한다고 해도 이게 컴파일러를 만들기와 무슨 상관인지 바로 연관시키기 어렵다. 시험기간 이란 것이 존재해서 교재를 정독 할 기회를 주지 않았다면 영원히 이해하지 못 했을 거다.

이 책은 보통의 학부 커리큘럼에서 다루는 이러한 컴파일러 이론은 다루지 않는다. 대신 컴파일러 제작의 실제적인 모든 내용을 다루고 있다. 컴파일러는 논리적으로 크게 두 가지로 나누어지는데, 어휘 분석과 구문 분석, 중간코드를 생성하는 전단부와 최적화, 목적코드를 생성하는 후단부가 그것 이다. 목차를 확인하면 알 수 있듯이 모든 내용이 이 책에 집약되어 있다. 

책은 컴파일 과정의 앞부분, 어휘 분석하는 단계부터 시작하여 실제 컴파일러를 제작하는 과정에서 어떻게 생각을 하고 왜 저런 코드를 썼는지, 왜 이런 제약사항을 두었는지, 왜 저런 제약사항은 고려하지 않았는지에 대한 설명과 함께 javaCC를 활용한 코드를 보여주기 때문에 책을 읽어나가며 하나하나 배우는 재미를 느낄 수 있다. 딱딱한 이론이 아닌 실제적인 코드를 이용하여 진행하기 때문에 더욱 수월한 느낌. 더군다나 C♭을 제작 하며(비록 C언어 에서 일부 제약을 둔 언어이지만) C언어의 사소한 문법을 이해하는데도 도움이 될 수 있는 책이다.

책을 여러권 번역을 했던 역자여서 그런지 번역은 매우 잘 되어 있다. 하지만 책을 읽으며 아쉬운 점이 있었는데, 번역이 너무 그대로 되어 있다는 점 이다. 한빛미디어의 도서 사이트에서도 예제 소스를 받을 수 있지만 일본어 사이트인 저자 사이트에 가서 소스를 받으라는 설명이 있는 부분이나 일본어 처리에 대한 설명은 있지만 한국어 처리에 대한 설명은 없는 점이 아쉽다. 역자 중에서 이러한 부분에는 역주를 두어 많은 설명을 해주는 분도 있는데, 이 책의 역자가 이런 부분을 배려해 줬다면 더 좋은 번역서가 되었을 꺼라 생각한다. 이 점이 0.2% 아쉬운 부분이다.
저작자 표시
Posted by Mastojun
공부/읽은책2010/08/09 02:45
RICOH | Caplio GX100 | Normal program | Pattern | 1/30sec | F/2.5 | 0.00 EV | 5.1mm | ISO-141 | Off Compulsory | 2010:08:08 22:02:17

개리 로스트 비라드스키, 에이드리안 캘러 저, 황선규 역, 『OpenCV 제대로 배우기』, 한빛미디어, 2009


한빛리더스 3번째 미션 도서로 선택한 책인 OpenCV 제대로 배우기. 컴퓨터 비전에 대해서 궁금함 때문에 선택을 했었습니다. 컴퓨터 그래픽스와 영상처리는 학부과정에서 수강을 해봤지만 컴퓨터 비전은 배워본적이 없었기 때문이였는데요, 먼저 밝히지만 사실 이 책을 다 읽지 못하였습니다. 개인적인 사정도 있었고 오라일리 책이 거의 그러하든 책의 난이도가 제법 있었던 점도 핑계가 될 수 있을려나요. ^.^;

이 책은 OpenCV의 배포처 에서도 공식으로 알리고 있는 책입니다. 하지만 최신 버전이 2.0이 넘었지만 이 책에서는 1.0을 기반으로 다루고 있습니다. 이는 원서가 나왔을때, 심지어 번역서가 나온 시점(2009년 9월)에서도 OpenCV의 버전이 1.x대 였으므로 어쩔 수 없긴 합니다. 

전부 읽지 않아 감히 뭐라 평가하긴 힘들겠지만, 이 책의 가장 훌륭한 점은 꼼꼼한 역자의 배려라고 생각합니다. 서문에서 번역의 품질을 높이기 위해 노력을 했다고 밝힌 것 처럼 많은 역주와 잘못된 소스코드의 수정, 그리고 소스의 이해를 돕게끔 호출부가 있는 main함수을 포함한 전체 소스를 제공해주려고 일부 노력한 것과, 예제 소스를 다른 방법으로 더 간단하게 하는 방법을 설명해 주기도 하였고, 프로그래밍 초보자들도 Visual Studio에 OpenCV로 개발 할 수 있도록 세팅을 할 수 있는 방법을 설명해 놓은 2개 분량의 부록을 추가해 주었습니다. 이런 역자의 배려는 책을 더 쉽게 이해하는데 도움이 된다고 생각합니다.

컴퓨터 비전에 대한 지식이 없다면 책을 읽기가 수월하진 않을듯 합니다. 이 책은 컴퓨터 비전에 대한 이론을 제공해 주기 위한 책이 아닌 OpenCV를 설명하기 위한 책 이기 때문에 OpenCV로 컴퓨터 비전 프로그래밍을 하기 위한 레퍼런스 용의 책으로 이용하기 가장 적당한 책이 아닌가 생각이 듭니다.


저작자 표시
Posted by Mastojun

데이비드 플래너건, 유키히로 마츠모토 저, 서수환 역 『루비 프로그래밍 언어』, 한빛미디어, 2010


"만족하는 프로그래밍 언어가 없어서 내가 만족할 만한 프로그래밍 언어를 만들어 보고 싶다." 어느 카페에서 채팅을 하다가 한 분이 했던 말이 떠올랐다. 그게 가능하기나 할까, 혹은 그래봤자 얼마나 제대로 만들 수 있을까 라는 생각을 그 때 했었는데 오래전에 이를 이루어 이젠 전 세계적으로 많이들 쓰이고 있는 언어가 있다. 바로 Ruby!

일본인인 유키히로 마츠모토가 1995년에 공개한 언어로 지금은 오픈소스 프로젝트로 되어 전 세계인들에 의해서 발전되고 있는 언어 이다.(몇년 전에 읽은 "사랑하지 않으면 떠나라"의 저자인 차드 파울러 역시 Ruby커미터중 하나로 알려져 있다.)

한빛 미디어에서 모집했던 한빛리더스의 5월 리뷰 대상 도서중에서 내가 선택한 책은 "루비 프로그래밍 언어". 아이폰과 웹은 별 관심없고, 안드로이드 책은 이미 몇 권 있고 루비도 예전부터 알고 싶었던 언어 이기 때문에 큰 고민 없이 선택을 했던 책이다.

책의 상태는 좋은 편이다. Short Coding을 번역 했던 서수환 님이 번역을 하셨고 그 때도 그랬지만 책을 읽으면서 번역 글 때문에 글을 읽어 내려가기가 불편 했던건 거의 없었다. 때문에 번역서라고 읽기 힘들지 않을 까 하는 걱정은 하지 않아도 될 듯 하다. 종이질은 좀 떨어트려서라도 책 값을 싸게 해주셨으면 하지만 종이 질 또한 고급이다 (^_^)

이 책의 내용은 소개에서 "이 책은 루비를 마스터하고 싶다고 생각하면서 그 목적을 달성하기 위해 신경과 사고를 기울여 읽을 베터랑 프로그래머를 대상으로 썼습니다."라고 밝힌 것 처럼 초보 프로그래머에게는 적합하지 않다. 더군다나 태어나서 처음으로 프로그래밍이라는 것을 Ruby로 시작하겠다는 분이라면 절대로! 적합하지 않은 책이다. 대부분의 소스가 문법 설명을 위해서만 존재하며 C나 Java류의 언어와의 차이점을 들어 설명하는 부분도 상당부분 있다. 제공 되는 소스코드는 번역되어 실행되는 완전한 소스 코드를 제공해 주는 것 도 아니다. 프로그래밍 경험이 있는 사람이라면 루비를 처음 배울 때 도전해 볼 만한 책이다. 단, 약간은 생소한 문법 탓에 C류의 언어만 해본 적이 있다면 버거 울 것이라는 점은 염두해 두어야 한다. 마치 C언어 창시자 들이 지은 The C Programming Language가 책 내용은 훌륭하고 모든 소스마다 주옥같지만 쉽게 읽을 수 있는 책은 아닌것과 같달까? (이 책 역시 창시자가 저술에 참여를 했고 책 제목도 The Ruby Programming Language이다.)

난 책을 읽을 때 처음부터 (심지어 역자 소개부터)차례대로 읽어 나가는 편인데, 그러다보니 책의 구성에 아쉬운 점이 몇가지 보인다. 1.1절 소개에서 부터 루비에 대한 간단한 설명과 소스코드가 나온다. 이걸 직접 돌리고 눈으로 확인하고 싶지만 그러는 방법은 나오지도 않고 다짜고짜 소스코드 부터 보여주고 있다. 바로 1.2절에 루비 쓰는 방법에 대해 나와 있지만 순서를 바꾸었으면 더 좋았을 거란 생각이 든다. 성급했던 나는 인터넷을 검색하여 루비를 받는 방법을 알아내 세팅하고 소스를 확인해보고, 1.2절을 보고 절망을 했다. 1장 마지막엔 루비로 만든 스도쿠 풀이가 나오는데 주석이 매우 잘 되어 있지만 루비를 처음 접하므로 소스코드를 완전히 이해하는데는 무리가 따를 수 밖에 없다. 이 부분을 읽고 앞으로 이해하게 될 소스 코드라고 생각할 독자도 있을 것이며, 루비는 내가 볼 만한 언어가 아니다 라고 생각할 독자도 있을 지도 모르는 일이다.

어떤 언어를 공부함에 있어서, 혹은 새로운 대상에 대하여 공부함에 있어서 가잫 좋은 방법은 그 대상에 대해 쓰여진 책 중 얕지만 쉽고 적은 분량으로, 대상에 대해 적응 할 수 있게 씌여진 책을 먼저 보고 그 대상에 대한 철학과 깊은 고찰이 들어있는 책을 읽는 것이라고 생각한다. 그런 점에 있어서 이 책은 루비를 공부하기 위해 보는 첫번째 책 보다는 두번째, 세번째 책에 적합하지 않을까 싶다.

저작자 표시
Posted by Mastojun