이 글은 영상 처리(Image Processing)을 전공하고자 하는 사람들을 위해 개인적인 생각을 적은 글이다. 필자는 대학원에서 영상 처리를 전공으로 하였으며, 학부 또는 석사 과정에서 이런 책들을 진작에 잘 읽고 공부해놨으면 더 편하고 빠르게 많은 것들을 습득할 수 있지 않았을까 하는 생각을 해본다. 이 글을 읽는 대상은 대학원에서 영상 처리를 전공하고자 하는 학부 2~4학년 학생으로 생각하도록 하겠다.

1. Advanced Engineering Mathematics, 9/E

쉽게 말해 공업수학이다. 수학이야 말로 공학을 공부함에 있어 가장 기초적이면서도 중요한 과목이 아닐 수 없다. 특히, 공업수학은 공대생들을 위한 수학적 내용들을 공대생들이 접할 수 있는 예제를 이용하여 공대생들에게 필요한 방향으로 설명을 해놓았기 때문에 반드시 충실히 읽어야 할 책이라고 할 수 있다. 아마존( http://www.amazon.com/ )에 가서 Advanced Engineering Mathematics 으로 검색을 해보면 아마 다수의 저자에 의해 쓰여진 동일한 제목의 책들이 많은 것을 발견할 수 있을 것이다. 그 중에서 Erwin Kreyszig 의 책이 본교(한양대)에서 사용하고 있는 책으로써, 널리 사용되고 있는 책으로 알고 있다. 이미 9th edition이 나와있을 정도로 역사도 깊은 책이다. 이 외에도 필자는 Peter V. O'Neil 의 책도 소장하고 있는데, 이 책은 미분기하쪽에 대한 내용이 더 자세히 나와있다는 장점이 있다.

2. Linear Algebra and Its Applications, 3/E

Gilbert Strang 이라는 말을 좀 더듬는 MIT 교수님께서 쓰신 책이다. 영상(Image)이란 어차피 쉽게 생각하면 2차원 배열이다. 배열과 벡터의 속성에 대해서 공부하는 학문이 바로 선형 대수(linear algebra)라고 할 수 있다. 아마 학부 2~3학년 과정에서 배우지 않을까 하는 과목이다. 이 책과 더불어, 조금 쉬운 책 Introduction to Linear Algebra, 3/E 도 추천하고자 한다. 특히, 이 책은 MIT Open Lecture 라는 이름으로 인터넷을 통해 화상 강의를 볼 수 있다는 장점이 있다. 그러나, 어차피 내용은 Linear Algebra and Its Applications 책에도 다 있는 것들이므로, 굳이 Introduction to Linear Algebra 책을 구입해서 가지고 있을 필요까지는 없어보인다. 물론 수업은 영어로 진행되지만, 약간은 어눌하면서 빠르지 않게 말을 하기 때문에 한번 도전해보기를 적극 권장한다. 주소는 아래와 같다.

http://ocw.mit.edu/OcwWeb/Mathematics/18-06Spring-2005/CourseHome/

3. C++ 기초플러스 (5판)


영어 원서 제목은 C++ Primer Plus 이고, 저자는 Stephen Prata 이다. 영상 처리란 결국 프로그램을 작성하여 새로운 알고리즘을 테스트해보고 그 결과를 분석하는 작업이 주를 이룬다. 그렇다면, 무엇으로 프로그램을 작성할 것인가? Matlab, C, Java 등의 많은 프로그래밍 언어가 존재하지만, 역시 C++ 이 가장 믿음직한 언어가 아닐까 싶다. 필자가 한 때 java 로 영상 처리 프로그램을 해보긴 했지만 아무래도 대세가 아님을 실감했다. Matlab 은 그 결과를 신뢰할 수 있다는 장점이 있으나, 속도와 범용성, 상용성에서 떨어진다. 그렇다고 C 언어로 모든 것을 하는 시대는 이미 지났다. 이미 객체 지향 패러다임이 전반적으로 깔려있는 상태에서 C 만은 고집하는 것은 시대에 뒤떨어지겠다는 얘기를 하고 있는 것과 다르지 않다고 본다. C++ 이라고 해서 단순히 클래스와 상속성 개념을 이야기하는 것이 아니라, 템플릿과 STL을 같이 공부해야 한다. STL에 대해서는 따로 더 좋은 책들이 나와 있으니 참고하기 바란다. 어찌되었건, 이 책이야말로 C++ 을 다뤄야 하는 학생으로써 반드시 소장하고 있어야 할 책이 아닌가 싶다.

4. Numerical Methods for Engineers 4/E

Chapra 외 1명이 지은 책이다. 수치해석이란 수학적인 문제를 프로그래밍 형태로 푸는 방법을 소개한 책이다. 방정식의 해를 구하는 방법, 미분 혹은 적분을 하는 방법, 행열을 다루는 방법, 최대/최소값을 구하는 방법 등 공대에서 반드시 공부해야 할 학문 중의 하나이다. 아무리 뛰어난 이론을 생각해냈다고 하더라도, 실제로 구현하여 사용할 수 없다면 아무짝에도 소용없는 짓이 되어버린다(적어도 공대에서는...). 이 책에 나온 내용들은 가급적 직접 C++ 로 코딩하여야 확실하게 머리속에 남게 됨을 명심하자.

5. Digital Image Processing, 3/E


Gonzalez 외 2명이 같이 쓴 책이지만, 보통 곤잘레스 책이라고 한다. 영상 처리의 바이블이라고 해도 될만한 책으로, 이 책을 가지고 있지 않은 영상 처리 전공자는 없지 않을까 싶다. 사실, 이 책 말고도 많은 영상 처리 관련 책들이 존재하지만, 학부 과정에서 소화할 정도의 내용을 충실히 담은 책이기 때문에 교과서로 애용되고 있지 않은가 싶다. 2002년 2판이 나왔고, 2007년에 3판이 새로 나왔다. Digital Image Processing using Matlab 이라는 책도 같이 출간되었는데, 이 책은 그다지 권하고 싶지는 않다. 최근 한글 번역서도 출간되어있지만, 가급적 영어 원서로 공부하는 습관을 들이길 바란다.

6. Pattern Classification, 2/E


이 책의 저자는 Duda, Richard O. 외 2명이고, 보통 duda 책이라고 부르기도 한다. 이 책은 대학원 석사 과정 학생에게 권하고 싶은 책이다. 영상 처리라는 학문이 영상의 화질 개선(image enhancement), 영상 기술(description), 각종 필터링(low pass, high pass, etc) 등을 포함하면서 궁극적으로는 인식(recognition)으로 결론을 내지 않을까 싶다. 제목은 패턴 분류라고 되어있지만, 분류(classification)이라는 것은 결국 인식(recognition)으로 이어지게 된다. 이 책은 1973년 1판이 발행되서 거의 이 분야의 바이블로 여겨지다가, 2000년에 2판이 새로 나왔다. 

7. 영상 처리 프로그래밍 by Visual C++


이 책은 필자가 직접 집필한 책이며 영상 처리 이론뿐만이 아니라 구현에 대한 내용까지 담고 있다. 앞서 소개한 Digital Image Processing 에 나오는 영상 처리에 관한 기본적인 이론뿐만 아니라 비등방성 확산 필터(anisotropic diffusion filter), 해리스 코너 검출기(Harris corner detector), 전통적 레이블링 기법(traditional labeling) 등에 대한 설명과 코드를 수록하고 있다. 또한 BMP 파일 구조에 대한 상세한 설명과 OpenCV와 연동하는 방법 등도 유용하다. 윈도우즈 환경에서 Visual C++ 2005 와 MFC를 함께 사용하여 하나의 완성된 영상 처리 프로그램을 만드는 과정에 대해 알고싶다면 이 책을 강력히 추천한다. 다만, 프로그래밍이 완전히 초보인 사람들에게는 설명이 다소 어렵게 느껴질 수도 있다.

대충 중요한 책에 대해서는 언급을 한 것 같다. 이 외에도 좋은 책들이 많지만, 그것들을 다 나열하기는 힘들 것 같고, 적어도 위에서 언급한 책들은 당장 보지 않더라도 책장에 꽂아두고 언제든 참고할만한 가치가 있는 책들이다. 위의 7권 모두 학생판 형태로 5만원 안쪽으로 구입할 수 있는 책들이므로, 가급적 복사본 또는 번역본을 사지 말고 원서로 구입할 것을 추천한다.

공부 열심히 하세요~ ^^


펌글 : http://kkokkal.tistory.com/66


'생각하는개발 > 추천 개발도서' 카테고리의 다른 글

사고싶은책  (0) 2010.12.06
사랑하지 않으면 떠나라  (0) 2010.11.07
개발자가 놓치지 말아야 할 책 70권  (0) 2010.10.18
프로그래머의길, 멘토에게 묻다  (0) 2010.10.16
Code Complete 2  (0) 2010.10.16
Posted by 모과이IT
,

서른 다섯 지금 하지 않으면 반드시 후회하는 87가지
연봉 협상의 기술 : 연봉 협상 사장의 마음을 지배하라!
C++ How to Program : (한글판) (CD 1 포함)(제6판)
IT 개발자가 쓴 통쾌한 인간관리 이야기
잘 벌고 잘 쓰는 법 : 미국 100개 도시 최고 부자들이 말하는 부의 법칙
평생 살 안찌는 몸 만들기 : 아름다운 몸으로 다시 태어나는 23일 체질 성형 프로그램
누워서 읽는 알고리즘
최대리, 얘기 좀 할까 : 직장생활 10년차가 3년차에게 들려주는 직장인 생존 전략
서른과 마흔 사이 : 30대에 이루지 못하면 평생 후회하는 70가지
직장별종 탐구생활
Visual C++ 윈도우 스킨 & 테마프로그래밍 프로젝트 따라하기 : (CD 1 포함)
좋은 사람 콤플렉스
직장인의 운명은 30대에 결정된다

Posted by 모과이IT
,
Posted by 모과이IT
,

개발자가 놓지지 말아야 할 책 베스트10

Thinking In Java/Bruce Eckel
*Practical C Programming/Steve Oualline
Instant CORBA/Robert Orfali,Dan Harkey,Jeri Edwards
Modern Database Management/Fred R.McFadden,Jeffrey A.Hoffer,Mary B.Prescott
*Programming Pearls/Jon Bently
Effective C++/Scott Meyers
Unix Network Programming/W.Richard Stevens
*MicroC/OS-II The Real-Time Kernel/Jean J.Labrosse
Unix Internals:The New Frontiers/Uresh Vahalia
Extreme Programming Installed/Ron Jeffries,Ann Anderson,Chet Hendrickson

개발자가 놓지지 말아야 할 책 베스트40

Macintosh Human Interface Guidelines/Apple Computer Staff
Design Patterns/Gang of Four
*Refactoring/Martin Fowler
The Pragmatic Programmer:From Journeyman to Master/Andrew Hunt,David Thomas,Ward Cunningham(Preface)
*Peopleware:Productive Projects and Teams/Tom DeMarco & Timothy Lister
Linkers and Loaders/John R. Levine
Client Server Database Enterprise Computing/James Martin
DataWareHouse From Architecture To Implementation/Bary Devlin
Operation System Design-The XINU Approach/Douglas Comer
Writing Solid Code/Steve Maguire
Algorithm+Data Structure=Programs/NIclus Wirth
*Code Complete/Steve McConnell
Component Software:Beyond Object Oriented Programming/Clemens Szyperski
Software Reuse-Architecture,Process and Organization for Business Success/Ivar Jacobson,Martin Griss,Patrik Jonsson
Extreme Programming Explained/Kent Beck
Applying UML and Patterns,2nd Ed/Craig Larman
The Java Programming Languages, 3rd Ed/David Holmes,James Gosling,Ken Arnold
리눅스 완전분석으로 가는 길/박장수
*Operating System Concept/Abraham Silberschatz
TCP/IP Illustrated Volume I,II,III/W.Richard Stevens
*Advanced Programming in UNIX Environments/W.Richard Stevens
Understanding COM+/David S.Platt
Compilers: Principles,Techniques and Tools/Jeffrey D.Ullman
Numerical Reciples in C/William H.Press
The C++ Programming Language Special Ed/Bjarne Stroustrup
Effective STL/Scott Meyers
Professional Jini/Sing Li
C++ Primer/Stanley B.Lippman,Josee Lajoie
대용량 데이터베이스 시스템/이화식,조광원
Armchair Universe/A.K.Dewdney
Writing for Computer Science/Justin Zobel
*The C Programming Language/Brian W.Kernighan,Dennis M.Ritchie
Bugs in Writing Revisted:A Guide to Debugging Your Prose/Lyn Dupre
*The Design of The UNIX Operationg System/Maurice Bach
Building Business Objects/Peter eles,Oliver Sims
The Art of Computer Programming:Fundamental Algorithms/D.Knuth
Professional ATL COM Programming/Ricard Grimes
Pattern-Oriented Software Architecture, Volume 2/Douglas Schmidt
Inside Java2 Virtual Machine/Bill Venners
Understanding ActiveX/COM/David Chappell

개발자가 놓지지 말아야 할 책 베스트20

*Fundamentals of Data Structues in C++/Ellis Horowitz,Dinesh Mehta
*Computer Networks/Andrews.Tanenbaum
Modern C++ Design/Andrei Alexandrescu
Database System Concepts/Abraham Silberschatz,Henry F.Korth,S.Sudarshan
Modern Database Management/DaFred R.McFadden,Jeffrey A.Hoffer,Mary B.Prescott
Data Mining:Concepts and Techniques/Jiawei Han,Micheline Kamber
*The Design and Implementation of the 4.4BSD Operating System/Marshall Kirk               McKusick,Keith Bostic,Michael J.Karels
*UNIX Power Tools/Jerry D.Peek,Tim O’Reilly,Mike Loukides
The Unix Programming Environment/Brian W.Kernighan,Rob Pike(Contributor),Robert Pike
The Cathedral & The Bazaar/Eric S.Raymond
The Society of MIND/M.Mmsky
Fundamentals of Object Oriented Design in UML/Meilir Page-Jones
Computer Organization and Design:The Hardware/Software
Interface/David A. Patterson, John L. Hennessy
Design Web Usability The Practice of Simplicity/Jakob Nielsen
Introduction to Algorithms/Charles E.Leiserson,Ronald L.Rivest, Thomas H. Cormen
Introduction to the Team Software Process/Watts .Humphrey,Marc Lovelace
Mythical Man Month/Frederick P.Brooks
The Psychology of Computer Programming/Gerald M.Weinberg
After the Gold Rush/Steve C McConnell
Structure and Interpretation of Computer Programs - 2nd Ed/Harold Abelson,Gerald Jay Sussman,Julie Sussman


'생각하는개발 > 추천 개발도서' 카테고리의 다른 글

사고싶은책  (0) 2010.12.06
사랑하지 않으면 떠나라  (0) 2010.11.07
프로그래머의길, 멘토에게 묻다  (0) 2010.10.16
Code Complete 2  (0) 2010.10.16
Refactoring 한글판  (0) 2010.10.16
Posted by 모과이IT
,


 

“소프트웨어 개발이라는 긴 여로의 시작, 생각하는 프로그래머의 길은 어떻게 가야 하는가.” 

『실용주의 프로그래머』가 숙련된 프로그래머에서 마스터로 가는 깊은 통찰을 전해줬다면 이 책은 견습 프로그래머가 숙련 프로그래머로 성장하는 길을 안내하는 지침서다. 
흔히 프로그래밍을 공부하면서 진지한 고민 없이 인기 있는 언어를 선택하고, 개발에 몸담은 햇수를 기준으로 앞길을 결정하고는 한다. 
『프로그래머의 길, 멘토에게 묻다』는 당신이 소프트웨어 개발 분야에서 경력의 시작을 설계하고 이 분야에서 탁월한 개발자가 될 수 있도록 자기 자신을 세우는 일에 관한 책이다. 
프로그래밍을 생업으로 삼으며 견습이라고 부를 만한 시기에 어떻게 행동해야 이상적인 길을 걸을 수 있을지, 정말로 제대로 배우려면 어떤 마음가짐이어야 하는지, 커뮤니티를 어떻게 활용해야 내게 도움이 되는지 등 구체적인 상황과 해결책을 멘토의 조언을 빌어 제시한다.

 

<프로그래머의 길 멘토에게 묻다>

 

'생각하는개발 > 추천 개발도서' 카테고리의 다른 글

사랑하지 않으면 떠나라  (0) 2010.11.07
개발자가 놓치지 말아야 할 책 70권  (0) 2010.10.18
Code Complete 2  (0) 2010.10.16
Refactoring 한글판  (0) 2010.10.16
실용주의프로그래머  (0) 2010.10.16
Posted by 모과이IT
,


 

프로그래밍에 대한 최고의 실무적인 지침서로 널리 알려진 스티브 맥코넬의 CODE COMPLETE 제2판. 이번 책은 소프트웨어 개발 단계 중 "구현" 부분에 초점을 맞추고, 소프트웨어 구현에 대한 예술과 과학을 설명하기 위해서 최신의 기법들과 수백 개의 새로운 예제 코드가 포함되어 개정되었다. 

맥코넬은 연구와 학계, 그리고 상업적인 기법들에 있는 지식들을 바탕으로, 가장 효율적인 기법과 반드시 알아야 하는 원칙들을 이 실용적인 지침서에서 종합적으로 다루었다. 

스티브 맥코넬(Steve McConnell)은 개발 분야에 있어서 가장 뛰어난 저자이자 대변인 중 한 명으로 인정받고 있다. 그는 Construx Software의 수석 소프트웨어 엔지니어이며, Software Development 잡지의 Jolt Award를 수상한 Code Complete과 Rapid Development, 그리고 Software Project Survival Guide와 Professional Software Development의 저자이다.

 

<CODE COMPLETE 2>

Posted by 모과이IT
,

 

이 책은 기존에 존재하는 소프트웨어의 성능과 구조적인 무결성을 개선하기 위한 방법을 소개하는 책으로, 갈수록 복잡해지는 개발환경에 맞춰서 어떻게 해야 보다 효율적이고, 재사용이 가능한 소프트웨어를 개발할 수 있는지에 대해서 집중적으로 논의하고 있다. 여기서는 좋지 못한 코드로 재 작업하여 잘된 코드로 변환하는 적절한 방법을 소개하며, 그와 함께 "Refactoring"의 개념에 대해서 제대로 이해할 수 있는 기회를 제공한다. 

이러한 Refactoring을 통해서 실무자들은 소프트웨어의 결점을 보완할 수 있으며, 잘못된 코드로 인한 시간과 비용의 낭비라는 딜레마에서 헤어날 수 있을 것이다. Refactoring에 관한 한 이 책은 관련 기술 모두와 방대하고도 자세한 세부명세를 제공하고 있으며, 그것을 적용하기 위한 조언도 아끼지 않고 있다. 이러한 조언들은 단계적인 접근에 의해 보다 쉽게 익힐 수 있도록 하였다. 이 책에서 제공되는 모든 예제들은 Java라는 객체 지향언어로 작성 되었고, 객체 지향을 지원하는 어떠한 언어에서도 그 개념이 적용 가능하도록 작성하였다.

 

저자들

Martin Fowler는 컨설턴트로 10년 이상 객체를 주요한 기업 문제에 적용해왔다. 그는 의료, 금융, 회계 등의 분야에서 사용되는 시스템을 컨설팅했고, 그의 고객으로는 크라이슬러, 씨티뱅크, UK 내셔널 헬스 서비스, 앤더슨 컨설팅, 넷스케이프 커뮤니케이션 등이 있다. 또한 Fowler는 객체와 UML, 패턴에 관련된 정기 강연자이고, Analysis Pattern와 UML Distilled 등의 저자 이기도 하다.

Kent Beck은 저명한 프로그래머이자, 테스터, 리팩토링 전문가, 저자 그리고 밴조 연주자이다.

John Brant와 Don Roberts는 스몰토크에서 사용할 수 있는 리팩토링 브라우저(http://st-www.cs.uiuc.edut/~brant/RefactoringBrowser)를 개발했다. 이들은 또한 6년 동안 리팩토링의 실용적 측면과 이론적 측면을 연구한 컨설턴트이기도 하다.

William Opdyke는 객체지향 프레임워크에서의 리팩토링에 대한 연구로 이 분야의 중요한 업적을 남겼다. 그는 현재 Lucent Technologies/Bell Laboratories의 기술위원으로 있다.

 

<Refactoring (한글판)>

'생각하는개발 > 추천 개발도서' 카테고리의 다른 글

개발자가 놓치지 말아야 할 책 70권  (0) 2010.10.18
프로그래머의길, 멘토에게 묻다  (0) 2010.10.16
Code Complete 2  (0) 2010.10.16
실용주의프로그래머  (0) 2010.10.16
Gof의 디자인 패턴  (0) 2010.10.16
Posted by 모과이IT
,


 

이 책은 개발자를 위한 탈무드다. 
설계를 잘 하기 위해 UML 책도 공부했고, 유스케이스의 규칙도 달달 외웠다. 하지만 막상 실제로 무언가 설계하자니 막막하고, 어떤 설계가 정말 좋은지 감이 오지 않는 막연함이 들 때 이 책이 큰 도움이 될 수 있다. 이 책은 특정 방법론이나 언어, 플랫폼에 제한됨이 없이 모든 상황에 두루 적용할 수 있는 지혜와 격언들로 가득 차 있다. 이 책에서 자바의 문법이나 유닉스 명령어를 가르쳐 주지는 않는다. 그런 기초적인 것들을 익혔지만 실무에 적용할 때 ‘감각’이 부족한 사람들을 위한 책이다. 

자신의 일을 좀 더 생산적이고 효과적, 효율적으로 바꾸고 싶은 사람이라면 이 책이 큰 도움이 될 것이다. 이 책에서 제안하는 방식을 따르다보면 아주 빠른 시간 내에 다양한 경험과 학습을 하게 되고 전체 개발 프로세스에 대한 관(觀)을 얻을 수 있다. 

이 책에서는 코딩시의 가이드라인부터, 설계에 대한 격언, 프로젝트 관리에 대한 조언, 사람들과의 관계에 대한 지혜까지 개발의 전 과정을 다루고 있다. 각 항목별로 도전해 볼 것과 연습문제가 실려 있으며, 부록에는 연습문제에 대한 답이 실려 있어서 독행자에게 많은 도움이 될 것이다.

 

지은이 
데이비드 토머스(David Thomas)와 앤드류 헌트(Andrew Hunt)는 현재 Pragmatic Programmer LLC를 운영하며 개발자와 관리자를 대상으로 한 실용적인 자원들을 제공한다. 

저서로 실용주의 프로그래머를 위한 시작도구 시리즈Pragmatic Starter Kit 시리즈가 있고, 최근 Pragmatic Bookshelf 출판사를 만들어 효과적이고 유쾌한 실용주의 프로그래머의 프로그래밍 방식을 설파하고 있다. 저자들에 대한 정보는 http://pragmaticprogrammer.com에서 더 찾아볼 수 있다. 

앤디 헌트는 열광적인 목수이자 음악가이지만, 신기하게도 컨설턴트로서 더 인기가 있다. 그는 원격통신, 은행업무, 투자 서비스업, 공공사업은 물론 의료 이미징, 시각 예술, 인터넷 서비스 같은 좀더 새로운 분야에서도 일을 해오고 있다. 최첨단 기술과 이미 검증된 테크닉을 혼합하여, 새롭지만 효과적인 솔루션을 창조해 내는 것이 앤디의 전문이다. 그는 노스캐롤라이나 주의 롤리에서 자신의 컨설팅 비즈니스를 하고 있다. 

데이브 토머스는 단발엔진 비행기를 조종하기를 좋아하는데, 그 습관에 들어가는 돈을 충당하기 위해 어려운 문제에 우아한 해결책을 찾는 일을 하며 항공우주 산업, 은행업무, 투자 서비스업, 원격통신, 여행과 운송, 인터넷 등의 영역에서 컨설팅을 하고 있다. 1994년 미국으로 이사해 오기 전에 그는 ISO9001 공인 영국 소프트웨어 회사를 설립했다. 그 회사는 전 세계에 걸쳐 맞춤 주문의 정교한 소프트웨어 프로젝트를 이행했다. 데이브는 현재 텍사스 주 달라스에서 독립 컨설턴트로 일하고 있다. 

옮긴이 
김창준 

현재 월간 마이크로소프트웨어 자문위원, 한국 XP 사용자 모임 설립자 및 코어그룹 멤버, 애자일 컨설팅 대표이며, 한국 XP 사용자 모임 http://xper.org 를 운영하고 있다. 

다음커뮤니케이션, NHN, 한미 연합사령부, SKT, 삼성전자/전기 등에 XP 코칭, 교육, 컨설팅 등을 제공한 바 있고, 월간 마이크로소프트웨어에 다수의 글을 기고했다. 

번역서로 ‘테스트 주도 개발’(인사이트)이 있다. 

정지호 

서울대학교에 재학 중이며 (주)언어과학에서 한국어 Text To Speech 서버의 통신 하위 시스템, 유아용 한글 학습 게임 '디디미', 영어 교육 솔루션인 'Dr. Listening' 등의 프로젝트에 참여했다. 파이썬, 펄, 루비 같은 동적 프로그래밍 언어에 관심이 많다. 

번역서로 『UML, 실전에서는 이것만 쓴다(인사이트)』, 『실용주의 프로그래머를 위한 버전 관리 using CVS(인사이트)』,『소프트웨어 개발의 지혜(야스미디어)』가 있다.

 

<실용주의 프로그래머>

'생각하는개발 > 추천 개발도서' 카테고리의 다른 글

개발자가 놓치지 말아야 할 책 70권  (0) 2010.10.18
프로그래머의길, 멘토에게 묻다  (0) 2010.10.16
Code Complete 2  (0) 2010.10.16
Refactoring 한글판  (0) 2010.10.16
Gof의 디자인 패턴  (0) 2010.10.16
Posted by 모과이IT
,

 

이 책은 이미 많은 책들이 잘 소개하고 있는 객체지향적인 기술이나 설계를 소개하기 위한 책이 아니다.
이 책은 여러분이 최소한 한 가지 객체지향 프로그램 언어에 관해서 꽤 숙달되었다는 가정하에 객체지향 소프트웨어를 설계할 때 겪는 특별한 문제에 대한 간결하고 명확한 솔루션을 서술한 디자인 패턴에 관한 책이다. 디자인 패턴은 오랜 시간 동안 발전되고 진화되어 온 솔루션들을 집대성한 것이다. 디자인 패턴을 이해하게 되면 다른 사람들이 경험했듯이 "아!"라는 탄성을 지르게 될 것이다. 그리고 더 이상 전과 같은 방법으로 객체지향 설계를 생각하지 않게 될 것이다. 자신의 설계를 보다 더 융통성 있고, 모듈화되고, 재사용 가능하고, 이해하기 쉬운 것을 만들 수 있는 통찰력을 지닐 것이다. 

책의 내용은 두 가지 주요 부분으로 나뉜다. 첫 번째 부분은(1장과 2장) 디자인 패턴이 무엇인지와 디자인 패턴이 어떻게 객체지향 소프트웨어 설계에 도움을 주는지를 설명한다. 이 책에서는 디자인 패턴을 어떻게 실생활에서 응용할 수 있는지를 사례 연구를 들어 설명하였다. 두 번째 부분은(3, 4, 5장) 실제적인 디자인 패턴의 카달로그이다. 카달로그는 이 책의 주요 부분을 구성한다. 카달로그는 패턴을 세 가지 종류 -생성, 구조, 행위-로 분류하여 여러 방법으로 이용할 수 있다. 

객체지향 시스템이 적어도 한두 개의 패턴들을 사용하지 않는 것은 거의 없고 대규모 시스템은 거의 패턴을 사용하여 설계한다. 이 책은 좁게는 디자인 패턴을 이해하는데 도움을 주고, 넓게는 훌륭한 객체지향 프로그램을 설계하도록 도와 줄 것이다.

 

<GOF의 디자인 패턴(개정판)>


'생각하는개발 > 추천 개발도서' 카테고리의 다른 글

개발자가 놓치지 말아야 할 책 70권  (0) 2010.10.18
프로그래머의길, 멘토에게 묻다  (0) 2010.10.16
Code Complete 2  (0) 2010.10.16
Refactoring 한글판  (0) 2010.10.16
실용주의프로그래머  (0) 2010.10.16
Posted by 모과이IT
,