태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

도서출판 ITC

블로그 이미지
도서출판 ITC와 체온365의 블로그입니다. 031-955-4353
ITCnCHAEON365

Article Category

분류 전체보기 (220)
근간안내 (0)
ITC대학교재 (104)
IT단행본 (31)
수입원서 (10)
체온365 (12)
체온365통신 (5)
극장전이야기 (47)
고실장다이어리 (11)

Recent Comment

Recent Trackback

Calendar

«   2012/02   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      

Archive

  • Total53,961
  • Today40
  • Yesterday84
사용자 삽입 이미지

저자명 : 자스민 블랑쉐(Jasmin Blanchette), 마크 서머필드(Mark Summerfield)   
역자명 : 조성만  
출판사 : 도서출판 ITC  
정 가  : 42,000원  
ISBN : 978-89-6351-000-2  
원서명 : C++ GUI Programming with Qt 4(2/e)   
출간년월 : 2009 년 3 월   
페이지 : 960 쪽   
크기 : 세로 : 245, 가로 : 188, 반양장 

  트롤테크의 Qt를 사용하면 윈도우, 리눅스/유닉스, 맥 OS X, 그리고 임베디드 리눅스상에서 동작하는 고성능 C++ 응용프로그램을 소스코드 변경 없이 만들어낼 수 있다. 트롤테크의 두 전문가가 내놓은 이 책은 Qt의 최신 버전인 Qt 4.3을 이용해 사용자가 최고의 결과를 낼 수 있도록 처음부터 끝까지 Qt의 모든 것을 다루고 있다.

  현실적인 예제와 전문가의 깊은 조언이 담긴 이 책은 트롤테크의 신입사원 교육에 사용되고 있는 Qt 교재다. 이번에 선보이는 제2판은 그 내용이 크게 개정되고 확장되어, 모델/뷰 응용프로그램의 제작에서부터 새로운 그래픽스 뷰 클래스의 사용에 이르기까지, 모든 부분에 있어 최고의 Qt 프로그래밍 패턴들을 담아내고 있다. 사실상 모든 GUI 개발 업무에 대한 해결책과 더불어, 데이터베이스 접근, XML 통합, 커스텀 위젯 제작 등과 같은 수많은 고급 기법들을 만나볼 수 있는 이 책은, Qt를 처음 배우는 사용자나 경험 있는 사용자 모두에게 Qt 4.3의 모든 것을 알려줄 것이다.

• 데이터베이스, XML, 큐토피아 임베디드 프로그래밍 관련 내용 전면 개정
• QDialogButtonBox 사용법, 윈도우 비스타 지원, 위젯 스타일링을 위한 CSS 지원 등, Qt 4.2와 4.3의 모든 변경사항 총 망라
• 2D 및 3D 그래픽스 관련 내용 분리 수록, Qt의 새로운 그래픽스 뷰 클래스와 QPainter의 OpenGL 백엔드 기능 소개
• CSS 및 QStyle 서브클래싱을 통한 룩앤필 커스터마이징, ECMAScript를 사용한 응용프로그램 스크립팅 관련 내용 추가
• Qt 4의 모델/뷰 구조, 플러그인 지원, 레이아웃 관리, 이벤트 처리, 컨테이너 클래스 등에 대한 세부설명 수록
• 플러그인 제작에서부터 네이티브 API 연동에 이르기까지, 다른 책에서는 찾아볼 수 없는 고급 기법 수록
• 새롭게 선보이는 Qt 잠비를 다룬 부록 추가

www.trolltech.com
 

지은이 소개

자스민 블랑쉐Jasmin Blanchette

  자스민 블랑쉐는 2001년 캐나다 퀘벡Quebec의 셔브룩 대학교University of Sherbrooke에서 컴퓨터 과학 학사학위를 받았다. 2000년 여름, 트롤테크의 소프트웨어 엔지니어 인턴십work term을 밟았으며, 이것을 인연으로 2001년 초부터 지금까지 트롤테크에 몸담고 있다. Qt 4의 컨테이너 클래스 및 레이아웃 시스템을 담당한 핵심적인 인물로, 『C++ GUI Programming with Qt 3』(2003)와 『C++ GUI Programming with Qt 4』(2005)를 공동 집필했다. 현재 트롤테크의 선임 소프트웨어 엔지니어로 근무하고 있으며, 노르웨이의 오슬로 대학교University of Oslo에서 컴퓨터 과학 석사과정을 밟고 있다.

마크 서머필드Mark Summerfield

  마크 서머필드는 1993년 영국 웨일즈 스완지 대학교University of Wales Swansea에서 컴퓨터 과학 학사학위를 받았다. 대학졸업 후 1년간 대학원 연구과정postgraduate research을 밟았으며, 트롤테크에 입사하기 전까지 다양한 회사에서 소프트웨어 엔지니어로 근무했다. 3년 가까이 트롤테크의 다큐멘테이션 매니저documentation manager로 근무하면서 Qt 쿼터리Qt Quarterly를 발행했으며, 『C++ GUI Programming with Qt 3』(2003)와 『C++ GUI Programming with Qt 4』(2005)를 공동 집필했고, 최근에는 『Rapid GUI Programming with Python and Qt』(2007)를 집필했다. 현재 교육 및 컨설팅 업체인 Qtrac (Quality Training Research and Consultancy, http://www.qtrac.eu/)을 운영하고 있으며, C++, Qt, Python, PyQt에 대한 전문 트레이너 및 컨설턴트로 활동하고 있다.


옮긴이 소개

조성만 mann@chosungmann.org

  옮긴이 조성만은 단국대학교에서 컴퓨터과학을 공부했다. 클라우드 컴퓨팅Cloud Computing 기술에 기반을 둔 소프트웨어 퍼블리싱Software Publishing과 서로 다른 컴퓨팅 환경을 넘나드는 크로스 플랫폼Cross Platform 영역 그리고 모바일 컴퓨팅 환경에서의 사용자 경험User Experience에 관심 있다. 현재 ㈜인프라웨어Infraware에서 근무하고 있으며, 오픈 모바일 환경인 안드로이드Android와 오픈모코Openmoko에 푹 빠져 지내고 있다. 운영하고 있는 홈페이지는 다음과 같다. http://www.chosungmann.org

***********************************************************

지은이의 글

  Qt는 크로스 플랫폼 GUI 응용프로그램 제작을 위한 전방위적인 C++ 응용프로그램 개발 프레임워크이다. “Write Once, Compile Anywhere”를 모토로 갖는 Qt는, 프로그래머들이 한 벌의 소스 코드만을 가지고 윈도우 98 이상의 계열과, 맥 OS X, 리눅스, 솔라리스, HP-UX, 그리고 X11이 탑재된 수많은 유닉스 버전상에서 동작하는 응용프로그램을 만들 수 있도록 해준다. 이러한 Qt 라이브러리와 도구들은, 임베디드 리눅스상에서 독자적인 윈도우 시스템을 제공하는 제품인 Qt/임베디드 리눅스Qt/Embedded Linux에도 포함되어 있다.

  이 책의 목적은 Qt 4를 이용한 GUI 프로그램의 제작방법을 가르쳐주는 것으로써, 그 내용은 “Hello Qt”로부터 시작하여, 커스텀 위젯의 제작 및 드래그 앤 드롭의 구현과 같은 고급 토픽으로 빠르게 나아간다. 본문에 수록된 예제들의 소스 코드는 이 책의 웹사이트인 http://www.informit.com/title/0132354160에서 다운로드받을 수 있으며, 본문의 내용을 실습하기 위한 소프트웨어의 다운로드 및 설치방법은 부록 1에 설명되어 있다.

  이 책은 크게 세 부분으로 구성되어 있다. 1부에서는 Qt를 사용한 GUI 응용프로그램 프로그래밍에 필수적인 모든 기본 개념들과 예제들을 다루는데, 이 1부에서 다루는 내용만으로도 충분히 유용한 GUI 응용프로그램을 만들 수 있다. 2부에서는 Qt의 핵심 주제들을 심도 있게 다루며, 3부에서는 좀더 특화된 고급주제들을 다룬다. 2부와 3부의 내용은 여러분이 필요한 주제에 맞게 원하는 순서대로 읽을 수 있도록 구성되어 있지만, 각각의 장들은 독자들이 이미 1부의 내용을 잘 이해하고 있다고 가정한 채 기술되어 있다. 또한 이 책은 몇 가지 부록을 수록하고 있는데, 부록 2에서는 Qt 응용프로그램의 빌드 방법을, 부록 3에서는 Qt의 자바 버전인 Qt 잠비를 소개한다.

  이 책의 제1판인 『C++ GUI Programming with Qt 4』는, Qt 4의 독특한 프로그래밍 테크닉이 반영되도록 그 내용이 전면 개정되었고, 또한 Qt 4의 모델/뷰 구조model/view architecture, 새로운 플러그인 프레임워크plugin framework, Qt/임베디드 리눅스를 사용한 임베디드 프로그래밍 등 몇 가지 새로운 내용과 부록을 포함하고 있었지만, 책 내용 대부분이 『C++ GUI Programming with Qt 3』를 기반으로 하고 있었다. 이번 제2판에서는 Qt 4.2와 4.3에서 소개된 특징들에 대한 장점을 취하도록 그 내용이 완전히 새롭게 업데이트 되었으며, 룩앤필 커스터마이징look and feel customization 및 응용프로그램 스크립팅application scripting에 대한 내용과 더불어 두 개의 부록이 새롭게 추가되었다. 한 개의 장을 통해 다루어졌었던 그래픽스 부분은 이제 2D와 3D 부분으로 각각 나뉘어졌으며, 이를 통해 새로운 그래픽 뷰 클래스graphics view classes와 QPainter의 OpenGL 백엔드OpenGL back-end 기능을 소개하고 있다. 뿐만 아니라, 데이터베이스, XML, 그리고 임베디드 프로그래밍에 대한 내용이 새롭게 보강되었다.

  이번 제2판에서는 이전 판에서 지향했던 바와 마찬가지로, Qt 온라인 문서를 단순히 개작하여 재탕하거나 요약하는 것이 아닌, 현실적인 예제의 제공과 Qt 프로그래밍의 알기 쉬운 해설을 강조한다. 또한 Qt 4 프로그래밍의 견고한 원리와 경험을 가르쳐주고 있기 때문에, Qt 4.4나 Qt 4.5 등 앞으로 발표될 Qt 4.x 버전에 새롭게 추가되는 Qt 모듈들 역시 마찬가지로 쉽게 익힐 수 있을 것이다. 여러분이 앞으로 발표될 Qt 버전을 사용하게 된다면, 반드시 레퍼런스 문서의 “What’s New in Qt 4.x”를 숙지하여 새로운 기능에 대한 정보를 얻기 바란다.

  우리는 C++이나 자바 또는 C#에 대한 기본 지식이 있는 독자들을 대상으로 이 책을 집필했다. 이 책의 예제들은 C++의 많은 기능들 중 Qt 프로그래밍에 거의 사용되지 않는 것들을 제외한 C++의 일부만을 사용해 작성되었다. 하지만 몇몇 예제들의 경우 고급 C++ 구조의 사용이 불가피했는데, 이러한 경우에는 그에 대해 충분히 설명해 놓았다. 자바나 C#에는 익숙하지만 C++에 대한 경험이 전혀 없거나 부족하다고 생각되는 독자들은 부록 4의 내용을 먼저 읽어볼 것을 권한다. 부록 4에서는 여러분이 이 책을 읽어나갈 수 있을 정도의 C++에 대한 내용을 다루고 있다. C++을 사용한 객체지향 프로그래밍에 대해 좀 더 살펴보길 원한다면, P. J. Deitel과 H. M. Deitel이 지은 『C++ How to Program』(Prentice Hall)과 Stanley B. Lippman, Josée Lajoie, Barbara E. Moo가 공동 집필한 『C++ Primer』(Addison-Wesley)를 추천한다.

  Qt가 크로스 플랫폼 프레임워크이긴 하지만, 그의 직관적이고 강력한 API 덕분에 단일 플랫폼을 위한 소프트웨어 개발에도 많이 사용되고 있다. 어도비 포토샵 앨범Adobe Photoshop Album은 시장에 출시되어 있는 Qt로 작성된 윈도우 응용프로그램의 한 가지 예에 지나지 않는다. 3D 애니메이션 툴을 비롯해 디지털 영상처리, 반도체 칩 설계, 석유 및 가스 탐사, 금융 서비스, 의료 영상과 같은 분야의 시장에 출시되어 있는 복잡한 많은 소프트웨어 시스템들이 Qt로 구축되어 있다. 혹 여러분이 지금 Qt로 작성된 윈도우 응용 제품으로 수입을 벌어들이고 있다면, 이를 단순히 재컴파일함으로써 맥 OS X와 리눅스 진영에도 새로운 시장을 창출해낼 수 있게 되는 것이다.

  Qt는 다양한 라이선스를 통해 사용될 수 있다. 상용 응용프로그램을 개발하고자 하는 경우에는 반드시 트롤테크로부터 상용 Qt 라이선스를 구입해야만 하며, 오픈 소스 프로그램을 개발하고자 하는 경우에는 Qt 오픈 소스 (GPL) 에디션을 사용하면 된다. KDEK Desktop Environment를 비롯하여, KDE상에서 동작하는 대부분의 오픈 소스 응용프로그램들이 바로 Qt를 사용해 제작되었다.

  Qt가 가진 수 백여 가지의 클래스들과 더불어, Qt의 기능과 능력을 확장해주는 많은 애드온add-ons 제품들이 존재한다. 이러한 제품들 중에는 Qt 솔루션Qt Solutions 컴포넌트와 같이 트롤테크를 통해 제공되는 것이 있는가 하면, 다른 회사들이나 오픈 소스 커뮤니티에 의해 제공되기도 하는데, 사용 가능한 이들 애드온 제품의 목록은 http://www.trolltech.com/products/qt/3rdparty/를 통해 확인해볼 수 있다. 한편 트롤테크의 개발자들은 트롤테크 랩Trolltech Labs(http://labs.trolltech.com/)이라는 그들만의 웹사이트를 가지고 있는데, 이곳에는 그들이 작성한 비공식적인 코드가 올려지게 된다. 또한 Qt는 qt-interest 메일링 리스트를 사용하는 잘 구축된 사용자 커뮤니티를 가지고 있는데, 이에 대한 보다 자세한 내용은 http://lists.trolltech.com/을 참고하도록 하자.

제작과정에 대하여

  저자들은 NEdit과 Vim을 사용해 원고를 작성했다. 저자들이 직접 본문을 조판typeset하고 색인을 붙였으며, 이들을 수정된 Lout 구문modified Lout syntax으로 표기한 뒤, 파이썬Python으로 작성한 전처리기를 사용해 본래의 순수한 Lout로 변환했다. 이 책에 사용된 모든 다이어그램은 Lout로 제작되었으며, 스크린 샷은 ImageMagick과 KView를 사용해 포스트스크립트PostScript로 변환되었다. 저자들은 모든 편집 및 처리과정을 KDE가 설치된 페도라Fedora와 쿠분투Kubuntu상에서 수행했으며, 예제 프로그램은 윈도우, 리눅스, 맥 OS X에서 테스트되었다.

  이 책에서 발견된 오류나, 우리에게 제안하고자 하는 내용이 있다면 qt-book@trolltech.com을 통해 보내주길 바란다. 정오표는 이 책의 웹사이트(http://www.prenhallprofessional.com/title/0132354160)를 통해 공지될 것이다.

감사의 글

  제일 먼저 트롤테크의 두 설립자 중 한 명이자 우리의 두목 트롤Chief Troll Eirik Chambe-Eng에게 감사의 말을 전합니다. Eirik은 이 책의 Qt 3 에디션이었던 『C++ GUI Programming with Qt 3』를 집필하도록 우리를 열정적으로 격려했을 뿐만 아니라, 실제로 책을 쓰는 데 필요로 했던 상당한량의 시간을 할애해 주었습니다. Eirik과 더불어 트롤테크의 CEO인 Haavard Nord는 이 책의 원고를 검토해주었으며, 귀중한 조언을 아끼지 않았습니다. 이 두 분의 관대함과 선견지명에 힘입어, Matthias Ettrich는 우리가 이 책을 쓰느라 소홀할 수 밖에 없었던 본연의 업무에 대해 흔쾌히 이해해 주었고, 또한 좋은 Qt 프로그래밍 스타일에 대한 충고를 아끼지 않았습니다.

  이전에 출간되었던 이 책의 Qt 3 에디션의 경우에는 우리의 두 고객인 Paul Curtis와 Klaus Schmidinger가 검토를 맡아 주었었습니다. 이 두 분은 모두 기술적인 세부사항에 조예가 깊은 Qt 전문가로서, 우리의 원고에 있었던 매우 미묘한 몇 가지 오류들을 지적하고 그에 대한 다양한 개선점들을 제안해 주었습니다. 또한 트롤테크 내에서는 Matthias와 더불어 믿음직스럽고 듬직한 Reginald Stadlbauer가 검토에 참여해 주었습니다. 그의 기술적인 통찰력은 값을 매길 수 없을 만큼 훌륭했으며, 심지어 우리조차 가능하리라 생각지 못했던 일들을 Qt로 가능하게 하는 방법에 대해 가르쳐주었습니다.

  Eirik, Haavard, Matthias의 무한한 도움과 지원은 이번 Qt 4 에디션에서도 계속되었습니다. Klaus Schmidinger는 계속해서 우리에게 값진 피드백을 주었으며, 또한 새롭게 추가된 부분들에 대해서는 우리의 고객인 Paul Floyd가 면밀하게 검토해주었습니다. 부록 2에서 다루고 있는 SCons에 대해 도움을 준 David García Garzón과, 트롤테크내의 핵심 리뷰어 Carlos Manuel Duclos Vergara, Andreas Aardal Hanssen, Henrik Hartz, Martin Jones, Vivi Glückstad Karlsen, Trond Kjernåsen, Trenton Schulz, Andy Shaw, Gunnar Sletta, Pål de Vibe에게도 감사의 말을 전합니다.

  위에 언급한 분들 외에도 우리는 Eskil Abrahamsen Blomfeldt (Qt 잠비), Frans Englich (XML), Harald Fernengel (데이터베이스), Kent Hansen (애플리케이션 스크립팅), Volker Hilsheimer (ActiveX), Bradley Hughes (멀티스레딩), Lars Knoll (2D 그래픽스와 국제화), Anders Larsen (데이터베이스), Sam Magnuson (qmake), Marius Bugge Monsen (아이템 뷰 클래스), Dimitri Papadopoulos (Qt/X11), Girish Ramakrishnan (스타일시트), Samuel Rødal (3D 그래픽스), Rainer Schmid (네트워크킹과 XML), Amrit Pal Singh (C++의 소개), Paul Olav Tvete (커스텀 위젯과 임베디드 프로그래밍), Geir Vattekar (Qt 잠비), Thomas Zander (빌드 시스템)의 전문적인 도움을 받았습니다.

  특별히 이 책을 쓰는 과정에서 상당한 시간을 차지했던 문서와 관련된 많은 이슈들을 다뤄준 트롤테크의 문서 팀과 지원 팀, 그리고 프로젝트기간 내내 우리의 컴퓨터와 네트워크가 잘 동작될 수 있도록 신경 써준 트롤테크의 시스템 관리자 여러분들께 이 자리를 빌어 감사하다는 말을 전합니다.

  이 책의 제작과정에 있어서, 조판 도구typesetting tool인 Lout 의 제작자 Jeff Kingston은 우리의 건의사항을 수용해 Lout의 많은 기능들을 향상시켜 주었으며, James Cloos는 이 책에서 사용된 고정폭 글꼴인 DejaVu Mono의 좁은폭 버전을 제공해주었습니다. 또한 우리를 대신해 계약 및 법적 의무에 관한 업무를 처리해준 트롤테크의 Cathrine Bore와, 트롤 일러스트를 담당한 Nathan Clement, 교정을 위해 수고한 Audrey Doyle에게도 감사의 말을 전합니다. 마지막으로 이 책을 만드는 과정 가운데 아낌없는 지원과 배려로 함께해 준 편집자 Debra Williams-Cauley와 제작과정의 실무를 훌륭히 처리해준 Lara Wysong에게 감사드립니다.

자스민 블랑쉐, 마크 서머필드

***********************************************************

옮긴이의 글

  윈도우와 리눅스 그리고 맥 OS, 이 세 가지 운영체제 모두에서 실행될 수 있는 프로그램 개발을 꿈꾸셨나요? 자바를 사용하기로 마음 먹었지만, 프로그램을 실행할 운영체제에 자바 런타임 환경JRE(Java Runtime Environment)을 반드시 설치해야 하는 번거로움과, 배보다 배꼽이 더 큰 격일 수 있는 자바 런타임 환경의 부담스러운 크기, 그리고 자바 가상 머신JVM(Java Virtual Machine)에서의 수행 속도가 걱정되신다고요? 네, 여러분의 마음 모두 충분히 이해합니다. 설마 그렇다고 개발팀 세 개를 운영하실 생각은 아니시죠?

  Qt 는 소스 코드 한 벌만으로 이와 같이 다양한 운영체제 환경에서 실행 가능한 어플리케이션을 만들 수 있도록 해주는 크로스 플랫폼 응용프로그램 프레임워크cross-platform application framework입니다. 노르웨이에 있는 트롤테크Trolltech에서 처음 개발된 Qt는, 2008년 세계적인 휴대폰 제조사인 노키아Nokia가 트롤테크를 인수하면서, 현재 모바일 및 데스크톱 소프트웨어에 관한 노키아의 크로스 플랫폼 소프트웨어 전략에서 핵심적인 역할을 해내고 있습니다.

  Qt의 특징을 한 문장으로 요약하자면, “Write Once, Compile Anywhere!” 라고 말할 수 있습니다. 즉, 소스 코드는 한 벌만 만들고 이를 원하는 운영체제 환경에서 컴파일하기만 하면 해당 환경에서 실행될 수 있는 실행이미지가 만들어진다는 말이죠. 어때요, 멋지죠? Qt는 현재 가장 널리 사용되고 있는 3대 운영체제인 윈도우, 리눅스, 맥 OS를 완벽히 지원합니다. 따라서, 여러분이 Qt를 사용해 만든 소스 코드를 윈도우에서 컴파일하면 윈도우 응용프로그램이, 리눅스에서 컴파일하면 리눅스 응용프로그램이, 맥 OS에서 컴파일하면 맥 OS 응용프로그램이 되는 것이죠. 이게 전부가 아니랍니다. 오지랖 넓게도 Qt는 임베디드 리눅스와 윈도우 CE를 지원합니다. 이게 무슨 의미인지 감이 오시나요? 그렇습니다. Qt를 사용해 만든 여러분의 응용프로그램은 윈도우, 리눅스, 맥 OS뿐만 아니라, 임베디드 리눅스나 윈도우 CE가 탑재된 휴대폰 및 모바일 장치에서도 실행될 수 있습니다. 내가 만든 응용프로그램이 내 휴대폰과 친구들의 휴대폰, 심지어 세계 방방곡곡에 살고 있는 수많은 이들의 휴대폰에서 실행될 수 있다니, 그것도 소스 코드 한 줄 바꾸지 않은 채 말이죠. 정말 짜릿하지 않나요?

  구글 어스Google Earth, 어도비 포토샵 앨범Adobe Photoshop Album, 스카이프Skype, 메스메티카Mathematica, KDE, KOffice. 모두 익숙한 이름들이죠? 네, 이 것들이 바로 Qt를 사용해 만들어진 제품들입니다. 하지만 이는 여러분이 익히 들어 알고 계실법한 것들만을 나열했을 뿐이랍니다. 이외에도 소니Sony, 루카스 필름Lucas Film, 볼보Volvo 등 수많은 회사와 다양한 오픈 소스 프로젝트에서 이미 Qt가 사용되었고 지금도 많은 곳에서 사용되고 있지요. 앞서 말씀 드린 Qt의 갖가지 장점들을 대하면서, “음... 온갖 감언이설은 다 적어놨군. 소스 코드를 단 한 줄 아니 단 한 글자도 바꾸지 않고 저렇게나 다양한 운영체제 위에서 동작할 수 있다는 걸 믿을 사람이 대체 몇이나 된다고. 난 절대로 속아넘어가지 않겠어!”라며 굳은 결의를 다지셨거나, “정말 저 다양한 운영체제에서 아무런 문제 없이 매끄럽게 동작될 수 있을까? 남들이 쓰는 걸 좀 더 지켜보고 결정해야겠어!”라며 의심의 눈초리를 가지신 분들. 이 정도면 고민이 좀 해결되셨나요?

  하지만 모든 병을 낫게 하는 만병통치약이 없는 것처럼, 팔방미인 원더걸스도 매력만점 소녀시대도 어느 누군가에게는 아무런 감흥이 되지 못할 수도 있는 것처럼(하지만 몇이나 될까요 ^^), Qt도 만능일 수만은 없으며 흠 없이 완벽할 수만도 없습니다. 이 점에 대해서는 다양한 의견이 있을 수 있는데요, 이러한 관점에서 볼 때 Qt가 오픈 소스로 배포되고 있다는 점은 정말 다행스러운 일이 아닐 수 없습니다. 더 기쁜 소식은 2009년 3월에 발표될 4.5 버전을 시작으로 Qt에 LGPL 라이선스가 추가되었다는 사실입니다. 이제 소스를 공개하기 어려운 상용 제품 개발에도 라이선스 비용 걱정 없이 Qt를 마음껏 활용할 수 있게 되었을 뿐만 아니라, Qt의 저변 확대에도 한몫 톡톡히 해낼 뜻있는 결정이 내려진 것이죠.

  악기를 처음 배울 때는 먼저 악기를 쥐는 법과 소리 내는 법 그리고 음을 바꾸는 법 등을 배운 다음 곧바로 쉬운 연습곡을 통해 연주하는 법을 익힙니다. 시간이 지남에 따라 다양한 곡들을 연주할 줄 알게 되면서, 점차 악기에 대한 이해가 깊어지고 그 곡에 담긴 화성을 통해 보다 풍부한 감성과 표현력을 배우게 되지요. 프로그래밍을 배우는 것도 매한가지라고 생각합니다. 물론 하나에서부터 열까지 해당 분야의 프로그래밍에 관한 모든 것을 담은 방대한 책으로도 얼마든지 원하는 바를 이룰 수 있겠지만 대개 효율적이지 못하죠. 화성학이라든가 악식론 같은 책들은 어느 정도 악기를 연주할 줄 알고 음악에 대한 이해가 쌓인 뒤에야 읽을 수 있고 또 그래야만 완전한 내 것이 되듯, 프로그래밍 역시 처음부터 방대한 레퍼런스를 끼고 책상 앞에서 씨름하기보다는, 예제가 풍부한 책을 하나 골라 직접 따라 해보는 편이 훨씬 기억에도 오래 남고 더 효율적이지 않을까요?

  이 책은 Qt라는 악기를 배우기 위해 필요한 ‘악보’와도 같은 책입니다. 누군가에게 악기를 이야기하기 보다는 실제로 그 악기를 연주해 보이는 것이 훨씬 더 많은 것을 말해줄 수 있듯이, 이 책에 담긴 수많은 예제를 통해 여러분은 Qt를 아는 것뿐만 아니라 실제로 여러분의 현장에서 ‘연주’할 수 있게 될 것입니다. 게다가 이 책은 Qt를 만든 트롤테크의 사내 교육 교재로 사용되고 있는 유일한 공식도서이기 때문에, 적어도 책을 잘못 만나 시간을 버리는 일 역시 없을 겁니다.

  이제 약간의 변명을 늘어놓아야 할 타이밍이군요. 이 책을 옮기면서 마음만은 언제나 철저히 독자의 편에 서서 최선을 다했다고 감히 말씀드리고 싶지만 그 결과에 대해서는 한없이 겸손할 수 밖에 없습니다. 출간 직전 원고를 다시 한번 정독하면서 드는 아쉬움이 이만저만 아니네요. 이 책을 읽으면서 갸우뚱하거나 어색하게 느껴지는 부분이 있다면 모두 역자의 부족함 탓임을 미리 말씀드리고 싶습니다. 이 책에서 접하게 될 우리말로 된 전문 용어는 마이크로소프트 용어집 2007년 1월 30일자와, IT 분야에서 가장 탁월한 번역가로 손꼽히는 곽용재 님과 류광 님께서 정리하신 용어대역을 최대한 참고했습니다. 이 분야에서 선구적인 일을 하고 계시는 두 분께 지면을 빌어 감사와 고마움의 마음을 전해드립니다.

  자, 이제 그럼 출발해 볼까요? 그 이름도 깜찍한 Qt와 함께 즐거운 프로그래밍을 하세요!

감사드리고 싶은 분들

  이 책이 우리말로 옮겨지기까지 너무나도 많은 분들의 시간과 헌신적인 노력 그리고 격려가 필요했습니다. 이 책의 번역 제안을 흔쾌히 받아주시고, 번번히 예정된 시간을 넘기기 일쑤였던 못난 역자에게 밥 사주시며 용기주신 ITC 장성두 실장님(드디어 책이 나오는군요!!!), 원서보다 더 멋지게 편집해주신 성은경 님(와우, 책이 너무 예쁜데요?), 어색하기 짝없는 서툰 글을 깔끔하게 다듬어주신 김경희 님(덕분에 읽을 만한 글이 되었어요)께 진심으로 감사의 말씀을 드립니다.

  눈코 뜰 새 없이 바쁜 일정 중에도 제자의 부족한 글을 기꺼이 검토해주신 ㈜아임구루의 강석민 선생님. C++를 너무나도 사랑한 나머지 이젠 외모까지도 비야네 스트롭스트룹을 닮아버린 그의 예술강의가 아니었다면 이 책은 세상 밖으로 나올 수 없었을 것입니다. 또한 우리네 IT 교육 현장 최전방에서 혼이 담긴 강의와 감동이 있는 코딩을 몸소 실천하고 계시면서 아낌없는 격려와 후원으로 용기주신 영혼의 프로그래머, ㈜아임구루의 김정인 선생님께도 감사 드립니다.

  이 책의 기술적인 오류와 내용을 검토해준 멋진 친구들, 화끈한 정렬의 남자 종철이(보고픈 녀석!)와 팀 구루 팩토리Guru Factory의 잘생긴 꽃미남 삼인방 오태(이젠 장가만 가면 되겠구나), 찬식이(올해는 사랑하는 사람 꼭 만나기를), 도광이(마커스를 뛰어넘을 그날까지 파이팅)에게 다시 한번 고마움과 사랑의 마음을 전하며, 팀 멤버 전원 삼성소프트웨어 멤버십 합격을 축하하고 싶습니다. 또 조류독감 시즌마다 집중적으로 치킨을 함께 먹어준 닭사마 영선이, 지난 겨우내 프로젝트로 함께 고생했던 팀 ING의 정훈이, 영원이, 승표, 경민이, 번역 작업을 응원해준 쾌남 명진이, /잉/ 혁이, 만나면 늘 즐거운 다담패밀리 민찬 형님(보고 싶어요 행님), 종운이(건강해라! 꼭!), 귀염둥이 경택이, 말썽꾸러기 종하, 까칠한 하나에게도 감사와 고마움의 말을 전합니다.

번역 작업이 지루하지 않도록 음악을 무한 공급해준 DJ 엘리사Alyssa(은선이), 멀리 있어도 늘 가족 같은 미수누이와 은진이(이승호-조미수, 이대성-이은진 커플의 결혼을 축하하며), 이들의 응원은 늘 큰 힘이 됐습니다(다들 정말 고마워!). 그리고 2009년 한해 신나는 여행을 함께하게 된 사랑하는 예닮 BTB, 전상현 전도사님(목사님 되신 것 축하해요!), 깜찍한 인희, 듬직한 영현이, 박력 있는 민애, 물개를 꿈꾸는 현우, 간지남 윤수, 하늘을 날게 된 예신이, 잘생기고 멋진 지후, 이영애 뺨치는 선영이, 귀여운 예령이에게 사랑과 감사의 말을 전하며(모두 파이팅!), 마지막으로 늘 든든한 우리 가족, 그리고 사랑하는 나의 하나님께 감사 드립니다.

2009년 2월
조성만


크리에이티브 커먼즈 라이선스
Creative Commons License

'IT단행본' 카테고리의 다른 글

한국어판 Programming Flex3 : RIA 개발을 위한 완벽 가이드  (3) 2009/03/25
ARM Cortex-M3 완벽 가이드  (0) 2009/03/19
QT 4를 이용한 C++ GUI 프로그래밍(제2판)  (0) 2009/03/19
헬로, 안드로이드: 구글의 모바일 개발 플랫폼 소개하기  (2) 2009/03/19
입문자를 위한 루비  (0) 2009/02/17
스프링 인 액션(제2판)  (0) 2009/02/17
Trackback 0 and Comment 0
prev Prev : [1] ... : [51] : [52] : [53] : [54] : [55] : [56] : [57] : [58] : [59] ... : [220] : Next next