공부/읽은책2010/11/22 00:16
Google | Nexus One | 4.3mm | 2010:11:21 22:23:28

김익환, 『글로벌 소프트웨어를 꿈꾸다』, 한빛미디어, 2010


한빛리더스 마지막 미션 책으로 선택했던 글로벌 소프트웨어를 꿈꾸다.

국내 소프트웨어 회사가 수익을 더 확보하기 위해서, 더 많은 사용자를 늘리기 위해서는 글로벌 소프트웨어 회사를 꿈꿀 수 밖에 없다. 그만큼 국내 시장은 한계가 있고 이미 커질만큼 커졌다. 그래서 오래전부터 많은 회사들이 해외 진출을 노렸으나 성공했다는 이야기는 안타깝게도 아직까지 들어보지 못했다.

실리콘밸리 회사에서 근무한 경험이 있고, 현재는 ABC Tech의 대표이며 카이스트 겸직교수를 맡고 있는 김익환님이 자신이 직접 경험 했거나 수년간의 컨설팅 경험을 바탕으로 씌여진 이 책은 우리나라에서 글로벌 소프트웨어 회사라고 불리울만한 회사가 나오길 바라는 마음을 볼 수 있다.

책의 내용은 새로운것이 없다. 소프트웨어 개발에 관심을 가진 분들이라면 목차만 봐서도 책에 어떤 내용이 들어 있을지 짐작을 충분히 해볼만한 내용이다. 하지만 그렇다고 책의 의미가 없어지는 것은 아니다. 초등학교 도덕교과서에 있는 내용이 기초이고 중요하지만 이를 행하기는 매우 어렵듯이, 모두가 다 알고 있을 법한 내용이긴 하지만 이를 행하는 것은 매우 어렵다.

책을 읽고 나서 다시 한번 제대로된 소프트웨어 공학을 개발 프로세스에 적용해보려는 노력을 해본다면 저자가 책을 쓰는데 들인 수고에 대한 보답을 하는 길이 아닐까 한다. 단, 책에서 소프트웨어 공학의 중요성에 대해서는 얇은 책인데도 못이 박히도록 언급해 주셨지만 그 방법에 대하서는 설명이 안 되어 있으므로 이 부분은 염두해두자. (경우에 따라서는 필요 없는 책이 될수도 있겠다)

이번 학기에 소프트웨어공학이 개설되어 있긴 하나 지금까지 학교 다니면서 전공을 사랑한 덕분에 전공학점을 다 채워 수강과목에 넣지를 않았다. 소프트웨어 공학에 대한 중요성을 잘 모르기 때문이기도 했는데 랩실 옆자리 책장에 있는 소프트웨어 공학 교재를 읽어봐야겠다. 
저작자 표시
Posted by Mastojun
제가 지난 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/09/15 17:13

한빛리더스 4번째 리뷰 도서로 선택한 책은 윈도우 프로그래밍(개정판) 입니다. 이번 리뷰도서는 모두 IT Cookbook 시리즈 였는데요, 개인적으로 이 시리즈를 자습용도로는 적당하지 않다고 생각하여 가장 익숙한 분야인 윈도우 프로그래밍 관련 책으로 선택을 하였습니다.

학부 2학년때 자료구조및 알고리즘을 IT Cookbook으로 수업을 한적이 있습니다. 그 책에 있는 엄청난 오타와 개인적으로 부족하다고 생각되었던 설명들로 인하여 IT Cookbook에 대한 인상은 그다지 좋게 가지고 있지 않습니다. 때문에 이 책도 별 기대는 하지 않았지요.

그러나, 이 책은 괜찮았습니다. 교재용의 책이지만 연습문제의 정답을 제공해주지 않는다는 것 빼고는 자습용으로 활용해도 큰 손색이 없을 정도로 내용이 알차다고 생각합니다. MFC내용 뿐만 아니라 어쩔 수 없이 API를 써야 하는 부분에 대한 설명과, 단순 컨트롤의 사용에 대한 내용만 다루는게 아니라 어느 정도 깊이의 MFC내부 구조도 설명 해주고 있습니다. 윈도우즈 프로그래밍을 잘 몰라도 이 책에서 설명해주고 있는 내용을 공부하고 책의 내용이 부족하다고 생각하면(이정도의 두깨에 모든 내용을 담는 것은 사실 무리가 있습니다) 관련 내용을 인터넷 등으로 검색한다면 윈도우즈 프로그래밍을 하는데 필요한 대부분의 지식은 습득 할 수 있다고 생각합니다.

책을 읽으면서 개발할때 이해 하지 않고 사용했던 코드들을 이해할 수 있는 부분도 있었고 아직 모르고 있는 내용에 대한 글을 읽으며 새로운 지식을 쌓을 수 있었습니다. 현장 팁을 통해서 교재용 책에서는 잘 다루지 않지만 유용한 방법에 대한 정보도 추가로 얻을 수 있습니다.

단지 많이 아쉬운 점이 있다면, 책이 Visual Studio 6.0을 기준으로 씌여져 있다는 것 입니다. Visual Studio 6.0은 지원할 수 있는 범위나 디버깅의 기능의 한계와 부정확성, C/C++의 표준을 준수하지 않는다는 점 등에서 대학교에서도 산업 현장에서도 그다지 쓸만한 프로그램이 아님에도 불구하고 아직도 많은 대학에서 Visual Studio 6.0을 기준으로 교육을 하고 있다는걸 안타깝게 생각하며, 잘못되었다고 생각합니다. 때문에 대학 교재부터 최신 컴파일러를 이용하여 탈 Visual Studio 6.0을 유도해야 한다고 생각합니다.


저작자 표시
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
4월이야기.
1.
알바를 하느라 공부를 제대로 하지 못하여 쥐쥐. 그래도 알바는 무사히 끝냈다. 돈을 벌게 되서 기분은 좋으나 이러려고 휴학하고 있는게 아니라는 생각 때문에 약간의 후회도 ㅠ.ㅠ 통장에 돈이 들어오면 후회따윈 사라질꺼 같지만 언제 들어올지 모르겠다. 끄응.

2.
월급을 받지 않은지 몇달이 지나서 책을 사는데도 부담이 된다. 더군다나 컴퓨터 관련 도서는 가격이 적지 않기에 더 그런데, 책을 공짜로 읽고 싶어서 Yes 24 컴퓨터와 리뷰어 클럽에 리뷰어 신청과 한빛리더스에 지원. 리뷰 신청서나 리더스 지원서나 "나 안뽑아주면 안됨" 이라는 느낌이 들 정도로 처절하게 썼다 -_-;;;

5월이야기.
1.
Google Code jam 2010 qualification Round 참가! 작년보단 어려웠다. 영어가 ㅠ.ㅠ...  프로그래밍 문제에 재미를 위해서 배경 이야기를 우화 식으로 지어 내는데 이런 배경 이야기 읽다가 지쳐버릴 정도.
B번 문제에는 C/C++에는 없는 Big Integer를 이용해야 풀 수 있는 문제가 나오는 바람에 난이도에 비해 푼 사람의 수가 적다. C로 어떻게 해보려다가 나머지 연산이랑 나누기 연산은 구현할 엄두가 나지 않아서 자바로 풀었다.. 하지만.. Large는 만족하는 최소 배수 구하는 부분을 루프 돌면서 구해서 Time Over ㅠ.ㅠ 그냥 나누기 하면 되는것을..

덕분에 B Large는 통과 못함 @#$%@$@!#%%!~

우리나라의 참가자는 작년보다 더 늘어났다. ( http://www.go-hero.net/jam/10/regions/South%20Korea ) 오홋.

2.
Yes24에 신청한 리뷰어에 당첨이 되어서 "안드로이드 정복"을 받아 보게 되었다. 4월달에 알바 하며 두권의 책과 한개의 프로젝트와 씨름을 해서 보기 수월 할 것 같지만 책의 두깨가 엄청나다. 하지만 저자는 Win Api정복으로 유명한 김상형님 이기 때문에 기대중.

3.
한빛리더스에 지원한게 당첨되어서 매달 신간 도서 한권 받아 보게 되었다.

2+3.
.. 그런데 안드로이드 정복도 한빛미디어 신간도서. 선택할 수 있는 도서 중에 "안드로이드 정복"이 있었다. 리뷰를 편하게 쓰기 위해서 둘다 안드로이드로 선택하려다가 양심에 찔림과 이왕이면 두 책 얻는게 좋지 하는 생각에 루비를 선택했는데..

이번달은 책 보느랴 영어공부 못하려나 ㅠ.ㅠ.... 더군다나 루비는 건들여 본적도 없다.
경험있는 PHP+Mysql을 선택할껄 그랬나.....

--
블로그에 오랫만에 적으니 이리 서먹한 느낌이 날수가 ㅠ.ㅠ)!

저작자 표시
Posted by Mastojun