Will be Prosumer's Revolution and Technical Revolution in the Future!
Linux User/Developer is also Windows User/Developer... Cross Platform Engineer...
"이제는 공학인을 대통령, 국회의원으로 만들자!" "더욱 더 많은 동지분들이 공학제국 건설에 동참할 수 있도록 널리 알려주세요~" [ F = m * a ]
어느덧 리눅스는 공학인 뿐만 아니라 모든 사람들이 탐험해 보아야 할 필수 요소가 된것 같습니다!
한번쯤 색 다른 미지의 세계를 경험해보는 것도 나쁘진 않을 것입니다. 재미있잖아요.(PLAY~ LINUX!) ^^
어떤 형태로든 자신이 작업/테스트/삽질?해 보았던 경험들을 LUG에 문서로 남겨두면 후배, 동지분들에게 도움이 되겠지요.
===== 독자 여러분. 공학인 동지 여러분. 본 도서를 통하여 만나 뵙게 되어서 반갑습니다.
필자는 시중에 나와있는 C++ 입문 도서들을 보면서 왜 크로스 플랫폼 개발을 위한 안내서는 없을까? 라고 생각해 왔습니다. 이런 생각을 가지게 된 이유는 다름 아니라, 리눅스라는 OS를 사용하면서 생겨난 의문이었습니다. 필자는 1996년부터 직업적인 이유로 유닉스를 사용하면서 자연스럽게 리눅스를 접하기 시작했습니다.
대부분의 학교 교육들은 마이크로소프트 윈도우와 관련된 개발 교육에만 편중되어 있습니다. 애플리케이션을 만들기 위해서는 Visual C++도 공부해야 하고, 델파이도 공부해야 하고, GTK도 공부해야 하고, 여하튼 공부할 것이 너무도 많습니다. 하지만 wxWidgets를 공부해 두면 애플리케이션을 개발하는 작업에는 거의 모든 OS에 적용할 수 있으니 얼마나 시간적으로 금전적으로 경제적일까요?
뉴스그룹을 보면 해외에서는 wxWidgets를 사용해서 개발하는 개발자들이 많습니다. 유독 한국에서만 Visual C++를 사용하는 유저들만 학교에서 양산하고 있다는 것입니다. 물론 사용자가 많고, 레퍼런스 도서들이 많다는 점이 한 몫을 했다고 해도 과언은 아니지만, wxWidgets는 이보다 더 쉽게 프로그래밍 할 수 있습니다. 또한 한번 공부해 두면 어느 OS에서도 쉽게 프로그래밍을 할 수 있기 때문에 아주 유용합니다.
C++ 언어는 C 언어로부터 시작된 언어입니다. 그래서 C 언어에 대해서 조금이라도 알고 있으면 C++ 언어를 공부하는데 많은 도움이 됩니다. 하지만, C++ 언어를 먼저 공부한다고 해서 잘못된 것은 아닙니다. 그래서 본 도서에서는 C++ 언어의 객체지향 개념 외에 C 언어의 기본 문법들도 간략하게 언급하였습니다.
2008년 여름, 대한민국 국민들은 국민의 주권을 표현하고, 알리기 위해 정부를 향해 촛불문화제를 진행하였습니다. 국민이 정부와의 소통(커뮤니케이션)을 위해 많은 노력을 한 것과 마찬가지로 컴퓨터와 인간과의 커뮤니케이션을 위해 C++라는 컴퓨터 언어를 공부하시는데 본 도서가 조금이나마 도움이 되었으면 좋겠습니다.
2009년을 맞이하며, 대구에서 김 태 용 http://www.lug.or.kr
=====
[추천사] =====
한국리눅스유저그룹(한국 LUG) 김태용 회장과는 2002년 대구 교사 리눅스 동호회 활동을 하면서 처음 만나게 되었으며, 내가 제4회 한국 LUG 세미나(동양대학교)에서 강사로 참여하면서 더욱 가까이 지내게 되었다. 7여 년의 세월 동안 그를 가까이서 지켜본 모습으로 볼 때 리눅스에 대한 사랑과 열정이 남달랐다.
몇 년간 한국 LUG를 운영하는 모습을 지켜보면서 느낀 점은, 그는 개인적 사심 없이 오직 리눅스의 전파를 위해서 온 힘 쏟는 모습을 볼 수 있었다. 특히 매년 세미나를 진행하는 동안에는 부족한 경비를 개인의 사비로 보충하는 것을 마다하지 않았으며, 거리가 먼 다른 지역에서 한국 리눅스 세미나를 참여하기 위해 찾아온 회원들에게 따뜻한 식사라도 한 끼 대접하여 보내고자 하는 그의 따뜻한 마음을 보고 인간적으로 감동을 느끼지 않을 수 없었다.
그가 "CentOS 리눅스 구축관리실무"라는 리눅스 책에 이어 두 번째로 리눅스와 관련된 “C++ 기초 입문 :: gcc를 이용한 C++와 wxWidgets GUI" 책을 출판한다. 그는 "리눅스와 관련된 모든 것을 사람들과 나누고 싶어서 리눅스와 관련된 책이면 모두 출판해보고 싶다."라는 포부를 나에게 이야기 한 적이 있다. 그가 가지고 있는 리눅스에 대한 열정은 과연 어디가 끝일까?
이번에 출판하는 "C++ 기초 입문…"은 C++ 프로그램을 처음 접하는 초보자라도 누구나 쉽게 접근할 수 있도록 잘 정리된 책이다. 단계별로 책에서 이끄는 대로 따라하다 보면 C++ 프로그래밍에 대한 능력이 빠르게 발전할 것이라고 생각한다.
특히, 이번 책에서는 리눅스에서 GUI(Graphic User Interface) 툴킷(Toolkit)을 이용하여 프로그램을 개발할 수 있는 크로스플랫폼을 지원하는 wxWidgets을 포함 시켰다는 것은 누구나 반길 수 있는 부분이라 생각한다. wxWidgets 툴킷을 사용하여 개발한 애플리케이션은 윈도우뿐만 아니라 리눅스, 유닉스, 심지어 Mac OS에서도 GUI 소스코드를 재사용할 수 있기 때문에 프로그래밍의 효율성을 높이는 데 많은 일조를 할 것이라고 생각한다.
마지막으로 이번 책을 통하여 모든 프로그램 개발자들이 wxWidgets 툴킷을 이용하여 리눅스에서도 쉽게 프로그래밍을 할 수 있게 되기를 바라며, 대한민국의 모든 사람들에게 리눅스가 한발 더 가까이 다가갔으면 하는 간절한 마음으로 추천사를 마치고자 한다.
영남대학교 컴퓨터공학과 광정보 연구실에서 대구 경암중학교 과학부장, 컴퓨터공학 박사 정 왕 부
=====
[서평] ===== "이 책을 덮는 순간 당신의 C++ 실력은 OS(운영체제)로부터 자유로워지게 될 것이다."
영진전문대학 컴퓨터정보계열 교수 차 용 두
=====
[목차] ===== Part 1. C++ 프로그래밍
Chapter1 :: C++ 프로그래밍 시작하기 1-1 컴퓨터의 내부구조 1-2 C++ 언어란 1-3 C++ 언어의 특징 1-4 C++ 프로그래밍 과정 1-5 첫 번째 C++ 프로그래밍 1-6 C 언어로부터 확장된 연산자
Chapter 2 :: 변수와 상수 그리고 함수 2-1 변수(Variable)란 2-2 변수의 데이터 타입 2-3 상수(Constant) 2-4 연산자(Operator) 2-5 판단문과 제어문 2-6 함수(Function) 2-7 함수의 확장 Chapter 3 :: 배열과 포인터 3-1 배열(Array) 3-2 문자열 처리 3-3 포인터(Pointer)
Chapter 4 :: 객체지향 언어 4-1 객체지향 언어(OOP)란 4-2 구조체와 클래스(Class) 4-3 클래스(Class)와 객체(Object) 4-4 클래스(Class) 멤버의 접근제어 4-5 클래스(Class)의 초기화와 프로그램 종료 4-6 클래스와 배열 4-7 this 포인터(자기 참조 포인터) 4-8 friend 키워드 4-9 복사 생성자 4-10 복사 생성자의 호출 시점
Chapter 9 :: 템플릿 9-1 템플릿(template) 이란 9-2 함수 템플릿 9-3 클래스 템플릿
Chapter 10 :: 예외 처리 10-1 예외 처리란 10-2 C++ 언어의 예외 처리 10-3 예외를 나타내는 클래스와 상속
Chapter 11 :: C++ 입출력 11-1 C++ 입출력 기초 11-2 파일 입출력
Part 2. wxWidgets
Chapter 12 :: wxWidgets 시작 12-1 wxWidgets 시작 12-2 wxWidgets 예제 12-3 wxWidgets 애플리케이션 실행 순서 정리
Chapter 13 :: wxWidgets 메뉴바와 레이아웃 13-1 메뉴바 구성 13-2 간단한 메뉴바 구성하기 13-3 레이아웃 구성하기
Chapter 14 :: wxWidgets 이벤트 처리 14-1 이벤트 Chapter 15 :: wxWidgets 다이얼로그 15-1 다이얼로그 15-2 정의된 다이얼로그 15-3 커스텀 다이얼로그(Custom Dialog)
Chapter 16 :: wxWidgets 위젯들 16-1 여러 가지 위젯들 16-2 Drag and Drop
Chapter 17 :: Device Contexts 17-1 Device Contexts, GDI 17-2 Drawing text 17-3 Point 17-4 Pen 17-5 Regions 17-6 Gradient 17-7 Shapes
Chapter 18 :: 기타 위젯 18-1 Burning Widget
Chapter 19 :: 윈도우와 리눅스에서 C++ 프로그래밍 환경 구축 19-1 윈도우에서 CodeBlocks 환경 구축 19-2 리눅스(Fedora) 설치와 CodeBlocks 환경 구축
Chapter 20 :: VI(M), RPM 패키징 그리고 SUBVERSION 20-1 vi(m) 편집기 20-2 RPM 패키지 만들기 20-3 subversion 활용하기
Chapter 21 :: wxWidgets 프로그램 예제와 배포방법 21-1 자동종료 프로그램 만들기 예제
===== [wxWidgets로 만든 프로그램 캡쳐]
눈팅만으로는 전체글을 볼 수 없습니다. 로그인하셔야 합니다.
- 日新又日新 -
한국LUG: http://www.lug.or.kr 이메일 : 네이트온 메신저: * CentOS 리눅스 서버 구축, 컨설팅, 교육 의뢰하실분들은 메일(gmail)주시기 바랍니다. *
- 리눅스 교육/컨설팅, 웹서버, FTP서버, Qmail 메일서버 구축 의뢰-
* 2007년 *
1. CentOS 리눅스 구축관리실무 집필
2007년 12월 출판 - 출판사 : (주)수퍼유저코리아 * 2009년 *
2. 김태용의 C++ 기초 입문 :: gcc로 공부하는 C++와 wxWidgets GUI 집필
2009년 03월 출판 - 출판사: (주)수퍼유저코리아
3. 김태용의 리눅스 쉘 스크립트 프로그래밍 입문 집필
2009년 9월 출판 - 출판사: 제이펍
4. 자바와 웹 애플리케이션 JSP, 서블릿에 대하여 책을 쓰고 있음 ^^;; 파이팅!!
인생목표 프로젝트
- 공학/기술인의 위상을 높이고, 공학과 기술중심의 TechNation Korea 건설을 위한 공학정치 실현 - 공학/기술인을 대한민국의 수장으로 만들기 - 1000만 달러 벌기 -> 우수 공학인재 서포팅하기
한 반절 봤는데..상당히 좋은 책인것 같습니다!!
프로그래밍 책...뭐 그래봐야 C언어나 임베디드책만 봤지만...
많은 것을 배울 수 있는 책이네요 ^^
타 도서처럼 지식 자랑이 아닌 겸손하게 지식을 물려준다는 느낌의 책이랄까요?
실험실 도서로 샀지만 개인적으로 하나 사서 소장해야할 필요가 있는 책이네요 ^^
1 . 페이지 262 의 static 키워드 의 예문중 int count = 1; 로 선언하니 (263페이지 내용)
컴파일시 에러가 뜹니다 count가 어디서 선언 되거나 사용을 못하게 해서 그런거 같습니다
예문전체를 int count1 = 1; 로 바꾸어서 하니 컴파일 되고 실행이 되거든요
2 . 페이지 336 의 예문 14라인과 friend 선언시 매개변수 (Point &p) 와 34라인이 일치 하지 않습니다
14 라인이 선언이라서 컴파일시 없지만 초보분들이 보고 헷갈릴수 있다 생각합니다
3. 페이지 337 의 예문 53라인 역시 객체x,y의 값을 2 씩 감소 시킨다 되어있지만 예문내용상으로는 1씩
감소되며 결과물 역시 1 감소 되는것으로 되어 있습니다
///////////////////////////////////////////////////////////////////////////////////
오타인지 제컴만 그런지 모르지만 이책의 오타 정정 메뉴가 안 보여서 여기다가 댓글 달게요
제 컴터는 xp에 책 내용와 같은 버전의 프로그램을 깔아서 사용중입니다 책은 2009년 3월 1쇄 구요
어제 책 구입했습니다.^^
책에서는 페도라를 설치하고 vi에디터로 코드를 작성하였는데,
전 우분투를 사용하고 있고 에디터로는 gedit을 사용하여 작성할 예정입니다.
이클립스를 이용해서 공부할까도 생각해보았지만 아무래도 날코딩 하는게 공부에는 더 도움이 될 거 같습니다.
좋은 책 감사합니다.
한국LUG 사이트는 1024 x 768 해상도(운영자 노트북:14")에 최적화 되어 있습니다. : LINUX FANSITE
WWW.LUG.OR.KR Server is made by CentOS Linux, P4 1.8G, Memory 512MB, Main HDD 160GB, Backup HDD 40GB and LAMP, qmail MTA.
CentOS Linux & Mozilla Firefox UTF-8 Base Created.
1998-2010 www.lug.or.kr Directed By Great Dragon, Kim.
Top
LUG 포인트 정책 : [회원가입 : +100점] [로그인(하루한번) : +50점] [글쓰기 : +20점] [코멘트 : +10점] [다운로드 : -200점] [질문 포인트 : 최소 200점]
데스크탑 프로그래밍(gcc, g++, wxGTK[wxWidgets] 등)은 "Fedora"를 사용하고, 서버 운영(WEB, FTP 등)은 "CentOS"를 사용하시길 권장합니다.
도전하는자, 자신을 투자하는자만이 뜻하는바를 이룰 수 있다.
Information should be Exchanged with Interactive, not One Way Direction. 준회원,
정회원,
우수회원,
VIP회원,
기업회원,
관리자
System Uptime : 06:01:01 up 44 days, load average: 0.24, 0.18, 0.17
Be Maker!
인생에서, 100% 순이익을 보장하는건 없다. 1%의 지식을 나눔으로써, 가끔씩 손해볼 필요도 있다.
그대가 가진 1%의 지식만이라도 공공을 위해 포스팅하라. 손해본다는 생각이 앞선다면 그대의 인생은 힘들어질것이다.
자신이 가진 지식의 1%도 투자하지 않고, 오로지 자신의 이익만 탐하는자와는 동지가 되지마라.
만나서 대화하면 모두 좋은 사람들이지만, 유독 인터넷에서만 자신을 밝히지 않고, 좀비로 서식하는 사람들이 많다.
부지불식간[不知不識間], 좀비(하류) 인생이 될지도 모르니, 항상 자신을 경계하도록 하라. [writer TY Kim]
[工學, engineering]
대한민국이 Global Leader로 자리매김하기 위해서는 공학(소프트웨어, 하드웨어, 기계, 전자, 전기, 화공, 재료, 건축, 토목 등) 우선 정책이 필수이다.
특히, 모든 산업의 핵심 부분을 담당하며, 고부가가치 창조의 원천인 소프트웨어 기반 산업의 약진과 수출에 한반도의 존폐가 달려있다고해도 과언이 아니다.
[도서 안내]
1. CentOS Linux
2. gcc로 공부하는 C++
베스트셀러 입성^^