E D R , A S I H C RSS

컴퓨터공부지도

해당 분야를 공부하기 위해선 어떠한 순서로 보는 것 더 효율적일까? (또는 커리큘럼 작성?) 해당 언어에 대해서는 어느정도 언제쯤 적당한 깊를 가져야 할까?

'What' 의 영역과 & 'How' 의 영역.

Scientist . Engineer . Programmer 의 영역. (꼭 분법적으로 나누는건 좀 그렇지만. 일종의 간단한 분류체계정도?)

Windows Programming (Windows Platform Programming)

Windows Programming 라고 한다면 Windows 운영체제에서 Windows 관련 API 를 용 (혹은 관련 Framework), 프로그래밍을 하는 것을 의미한다. 보통 다루는 영역은 다음과 같다. ( 영역은 꼭 Windows 기에 생기는 영역들 아니다. Windows 기에 생기는 영역들은 Shell Extension ActiveX, DirectX 정도? 하지만, 가로지르기는 어떻게든지 가능하다)

GUI Programming

예전에 Windows Programming 을 배운다고 한다면 기본적으로 GUI Programming 을 의미했다. Windows 가 기본적으로 GUI OS 기에 기본 라고 생각하는 것다. 하지만, GUI 는 어디까지나 'User Interface' 다. 즉, 건 Input/Output 에 대한 선택사항다. 필요할때 공부하자. (하지만, 보통 User-Friendly 한 프로그램들은 대부분 GUI 다.)

Windows 에서 GUI Programming 을 하는 방법은 여러가지다. 언어별로는 Python 의 Tkinter, wxPython 있고, Java 로는 Swing 있다. C++ 로는 MFC Framework 를 용하거나 Windows API, wxWindows 를 용할 수 있으며, MFC 의 경우 Visual Studio 와 연동 잘 되어서 프로그래밍 하기 편하다. C++ 의 다른 GUI Programming 을 하기위한 툴로서는 Borland C++ Builder 가 있다. (C++ 중급 상 프로그래머들에게서 오히려 더 선호되는 툴)

가장 쉽게 GUI Programming 을 배우는방법라 생각되는건, Python 에서의 Tkinter Programming 또는 Jython Interpreter 에서 Swing Tutorial 을 용하는것다. (Jython지의 JythonTutorial 참조)

GUI Programming 을 하면서 익힐 수 있는 소중한 개념으로서 Event Driven Programming, Design 으로는 CompositePattern 있다. 대부분의 GUI Framework 들은 Event Driven Style 의 프로그래밍 방식며, 대부분 CompositePattern용한다. Framework 들의 디자인 개념들 비슷하므로, 하나의 GUI 관련 Framework 에 익숙해지면 다른 Framework 도 쉽게 익힐 수 있다.

  • 개인적 충고 : MFC 를 선택했다면, Code Generator 가 만들어주는 코드를 제대로 해하라.; MFC 책으로는 Jeff Prosise 의 책을 추천. --1002

  • 내 생각엔 일단.. : 윈도우 컨트롤(VC 등의 리소스 편집기에서 제공 되는 모든 컨트롤들) 을 다루는 법을 완전히 습득 하자. 리스트 컨트롤, 트리 컨트롤, 탭 컨트롤 등의 모든 컨트롤을 자유자재로 원하는 모양(비트맵) 으로 바꿔서 사용할 수 있을때 까지 하자. 완전히 습득하면 어떤 프로그램든 50% 상 개발 기간 단축될 것다. -- 김정욱

Windows GUI Programming 관련 서적으로는 찰스페촐드의 책을 추천한다. 책 내용나 번역(!)글 어렵지만 개념설명 잘 되어 있으며, 실려있는 예제들 좋다.

MFC

Windows API

Direct X

Network Programming

Multi Thread Programming


3D Programming


Network Programming

모든 학습과 마찬가지로 피드백 회수, 시간을 높면 효과적, 효율적인 학습 된다.

를 위해 Interactive Shell 지원되는 인터프리터 언어(e.g. Python)와 패킷 스니퍼(e.g. tcpdump, ethereal, etherpeek, ...), 웹 브라우져, FTP, TELNET 클라언트 등을 용할 수 있다.

안내 서적으로는 W. Richard Stevens나 Douglas E. Comer의 책을 많 본다. 후자 쪽 조금 더 개념적고, 더 쉽다.

--JuNe


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:31:18
Processing time 0.0141 sec