쓸만한 C++ IDE들.

1. Eclipse CDT Project
Eclipse Platform상에서 구현한 C/C++ Tool이다.
Eclipse는 Java로 만든 프로그래밍 개발툴 개발용 플랫폼? (말이 이상하네요;;) 으로 자바에서는 원츄급의 기능을 제공한다.
뭐 C/C++도 괜찮기는 한데… STL에서 자동완성이나 되었으면 좋겠다. (자동완성이 좀 약하다;;)

2. CPPLite
Eclipse와 자바개발툴로 쌍벽? 을 이룬다는 Sun사의 NetBeans 프로젝트 용 C/C++ 플러그인.. 이지만;;
사실 NetBeans보단 Eclipse에 점수를 한참 많이 주고 있으므로 이녀석은 패스.

3. Dev C++
Win32용으로 시작했는데.. 어느새 리눅스도 지원하기 시작한 IDE. 버그가 좀 많다.
(하지만 자동완성 기능은 제일 쓸만한듯 – 오픈소스중에서는;;)

4. Visual C++ .Net

function __toggle_hide_zone15()
{
elm = document.getElementById(“hide_zone15”);
if(elm.style.visibility == ‘visible’) __hide_hide_zone15();
else __show_hide_zone15();
}
function __show_hide_zone15()
{
elm = document.getElementById(“hide_zone15″);
elm.style.visibility=’visible’;
elm.style.display=”block”;
}
function __hide_hide_zone15()
{
elm = document.getElementById(“hide_zone15″);
elm.style.visibility=’hidden’;
elm.style.display=”none”;
}


Microsoft에서 잘 만드는 것은?

마우스와 개발툴;;

정말 마음에 드는 툴이다. (신품가 14만원이다. VC++.Net 말이다. ㅋ)
2005가 기대된다. Class Diagram을 지원한다고 하니. ㅋㅋ
사실 C++ 툴에서는 Class 생성 지원이 자바에 비해 많이 딸리는게 사실이기도 해서리..
Visual Assist X와 함께 쓰면 베리굳.
윈도우용아니냐.. 라시는 분에겐.. 리눅스 어플리케이션 개발에서도 위용을 발휘한다는 이야기를;;
(Samba로 네트워크 드라이브 연결을 해서 썼었지요. 🙂 )

5. GNU Emacs
쓰는 사람은 최고라고 하고, 쓰지 않는 사람은 뭐냐고 이야기하는게 저 Emacs.
스톨만의 역작이죠. Programmer's Kitchen이란 별명도 가진 ㅋㅋ
제대로 써보고 싶은데.. 학습을 통해 생산성을 올리기엔 시간이 모자라네요. 흐윽.

my programming.

대학시절부터.

1. 2000년.

대학에 첫 입학해서 삽질을 시작할 시점이었다. PHP를 처음 만났고, Python을 접하게 되었으며, JSP를 사용하기 시작했다. MySQL과 Oracle을 알게 되었고, EJB에 관심을 가진채 CORBA를 하게 되었으며, 지금은 쓰이는지도 모르겠는 WML과 지금도 즐겨쓰는 XSLT를 사용해 일을 했다. Pro C를 이용하는 데몬을 만들어 보기도 하고, 갑의 입장에서 일을 하기도 했다. 그리고, C++을 이용해 교수님과 프로젝트를 시작했던 때이기도 하다.

 

2. 2001년.

설계에 눈을 떴다. Design Pattern을 공부하고, UML을 사용하기 시작했다. 접근제어에 대해 고민하며, Template가 없는 Java에 대해 불만이 생기기 시작했다. C++과 Java를 혼용해서 일을 했으며, 프로토 타입은 Python으로 작업하는 패턴이 이때부터 생기기 시작. XML DB를 고민하는 것도 이때 시작. MIDP와 Embedded에 치를 떰.

 

3. 2002년.

월드컵에 휩싸인 채 정신없는 학기를 보내며, 쓰기는 편하지만 귀찮은 Arena(SIMAN)와 지금 학과장인 교수님께서 자랑스럽게 생각하실지도 모르는 소프트파워作 ProcessQ의 알수없는 버그와 전쟁을 치룸. Web Service와 EJB를 놓고 씨름하기도 했으며, Python으로 처음 쓸만한 프로그램을 만들어 봄. Java를 가지고 분산처리 프로그램도 만들어 봄. 제출된 텀 프로젝트중에 스펙은 가장 좋았음.

 

4. 2003년.

암흑기이긴 했지만, 잊혀졌던 바이너리 포맷 읽기 실력을 되찾았으며 파이썬으로 돈을 처음 벌어 봄. 가장 큰 수확은 저 2가지로 병특자리를 보장받게 됨.

 

5. 2004년.

현재 일하고 있는 회사에 입사. Apache Module, NSAPI, ISAPI, Servlet Filter의 도를 깨달음. Samba를 이용해 Linux Application을 Visual Studio로 개발하는 기염을 토하기도 함. Win32에 눈을 떴으며, Generic Programming에 빠져든채 열심히 삽질중. Network에 대한 이해도는 300%정도 향상됨.

 

으음. 릴리즈 년도 기준으로 나름대로 쓸만했던 일들을 정리해보면.

 

2000. Motion and Time Study Calculator (설계 및 구현)

2000. 유무선 통합 컨텐츠 시스템 (설계 및 구현)

2000. 단문전송시스템 (설계 및 구현)

2001. Workflow Management System with Document Versioning. (구현)

2001. Collaborative Authoring System (설계 및 구현)

2001. 4thpass WAP Browser Customization & Optimization (설계 및 구현)

2002. Workflow Simulation System with SNUFlow (구현)

2002. Workflow Simulation System with Handy Bizflow (설계 및 구현)

2003. Distributed Web Document Analyzer (설계 및 구현)

2003. Lotus Notes NRPC Protocol Analyzer

2003. KT SACS Prototyping (설계 및 구현)

 

나름대로 그나마 덜 부끄러운 것들.

그냥 정리해 두고 싶었음.

1년에 대략 3개정도씩?

 

에휴..

 

Modern C++ Design 독후감?

안드레 알렉산드레쿠스저.

제목처럼 C++에 관련된 책이고, 부제인 "제네릭 프로그래밍과 디자인 패턴을 적용한" 과 같이 디자인 패턴과 제너릭 프로그래밍을 다룬 책이다.

Generic Programming은 처음 접했을 때는, DataType에서 벗어난 코드를 짤 수 있다는 것에 다만 "신기" 했을 뿐이었고, 실제로는 Python을 접하면서 Dynamic Typing이란 개념으로 사용을 했었다.

Dynamic Typing을 적용한 Python은 정말 "편한" 언어 였지만, 회사에서는 적용하기 힘든 언어였고, 결국은 C++로 할 수 밖에 없었다. 킁. (Dynamic Typing의 단점.. 느리다..)

그러던 와중에 접한 저 책은…
예술이었다. Wow, Art!!!

위에서 언급한대로 DataType에서 벗어난 코딩이 가능한 것 이외에도, 컴파일 타임에 최대한 많은 일을 하여, 좀더 효율적인
프로그래밍이 가능하도록 하는 것. sizeof와 template의 마술과 #define의 적절한 사용은 C++의 새로운 세계를
열어주었다. 히힛.
– 실제로 읽으며 따라서 구현해보면 느낌이 확연히 다르다. –

처음 읽었을 때의 느낌은 "어렵다."
두번째 읽었을 때의 느낌은 "아.. 내가 하던 C++은 C++이 아니구나! 그래도 어렵다"
세번째 읽고있는 지금의 느낌은 "호오. 구현해보니 이런게 있군! 여전히 어렵다"

function __toggle_hide_zone18()
{
elm = document.getElementById(“hide_zone18”);
if(elm.style.visibility == ‘visible’) __hide_hide_zone18();
else __show_hide_zone18();
}
function __show_hide_zone18()
{
elm = document.getElementById(“hide_zone18″);
elm.style.visibility=’visible’;
elm.style.display=”block”;
}
function __hide_hide_zone18()
{
elm = document.getElementById(“hide_zone18″);
elm.style.visibility=’hidden’;
elm.style.display=”none”;
}


3줄요약.

예술이다.
정말 이런 세계가 있는줄은 몰랐다.
그럼 뭐하나.. 어렵다. 쳇;

다 읽고 나만의 템플릿 라이브러리를 만들꺼다! ㅋㅋㅋ