Books on C++

원문: http://www.lastmind.net/tWiki/bin/view/Main/SoftwareDevelopmentBooks

C++ Programming Language

프로그래밍 언어에 대한 책에는 세가지가 있다. 프로그래밍 언어를 배우기 위한 책, 프로그래밍 언어를 잘 쓰기 위한 책, 프로그래밍 언어의 레퍼런스.

읽어보지는 않았지만, C++을 배우기 좋은 책으로 ‘Essential C++’을 꼽을 수 있을 것 같다. Bruce Eckel의 ‘Thinking in C++’같은 것도 나쁘지 않은 것 같다. (본인은 좋은 C++ 입문서를 읽어본 적이 없다. 번역서는 커녕 일반 서점에서는 외서를 구하기가 힘들었기 때문에, 한국 사람이 쓴 책을 읽었었다.)

‘The C++ Programming Language’는 C++의 창안자인 Bjarne Stroustroup이 쓴 책인 만큼 권위도 있고 자세하기도 하고 잘 쓰여진 책이기도 하다. (한 때, ISO C++ Standard가 이 책을 기반으로 쓰여지기도 했으니까) 이 책은 위에서 말한 프로그래밍 언어에 대한 책의 세가지 성격을 모두 갖고 있는 책에 가깝다. C++의 문법뿐만 아니라 왜 그런 문법이 생기게 되었는가, 그리고 어떻게 사용해야하는가 까지도 자세하게 적고 있으니 말이다. 이러한 성격 탓에 입문서로는 약간 부담스러울 수는 있으나, 다른 입문서를 읽고 C++ 문법을 모두 익히더라도 한번 쯤 읽어볼만한 책이다.

개인적으로 Effective 서들은 C++의 중급자로 올라서기 위해서는 ‘필수서’라고 생각한다. C++을 사용할 때 거의 항상 부닥치는 문제들에 대한 idiom을 제시하고 있기 때문이다. Exceptional* 서는 *Effective*보다는 덜 범용적이지만, 역시 중요하고 유용한 idiom들을 적고 있다. Modern C++ Design은 template의 사용에 관한한 최고의 책이라고 한다. template이 어디에 쓰는 건지 모르겠다면 Modern C++ Design은 template을 사용해서 구현할 수 있는 모든 technique을 보여줄 것이다.

‘The C++ Standard’는 말그대로 ISO C++ Standard를 책으로 만든 것이다. 더 정확하게는 C++98과 이후에 나온 Technical Corrigandum 1 (일종의 서비스팩)을 합쳐놓은 버전이다.
STL reference로는 STL Tutorial and Reference Guide의 번역판을 가지고 있으나 별로 참조할 일이 없어서 평가는 하기 힘들 듯 하다.
대체로 http://cppreference.com 이나 ‘The C++ Standard’를 참조하는 편이다.

번역에 관해 한마디 하자면, 본인이 읽어본 번역서는 Effective 시리즈와 Exceptional C++이다. (Modern C++ Design 읽는 중) Effective 시리즈도 번역이 나쁘다는 사람이 있으나, 개인적으로는 그런대로 읽을만하다고 생각했고, (개인적으로 기본적인 용어를 번역하는 것을 싫어한다) Exceptional C++은 악역이었다. Herb Sutter의 홈페이지에 쓰여진 내용을 찾아 대조해보면서 읽어야만 했다.

저자에 대해서도 좀 적어보면, Bjarne Stroustroup(http://www.research.att.com/~bs/homepage.html)은 C++의 창안자이자 현재도 ISO C++ standard commitee에서 활발하게 활동하고 있는 사람이다. Herb Sutter(http://www.gotw.ca/)는 ISO C++ standard committee의 의장(convener)이며, 책이나 논문, 잡지(CUJ) 등을 통해, 활발할 저술활동을 하고 있다. comp.lang.c++.moderated newsgroup의 moderator이기도 하다. ‘Modern C++ Design’의 저자인 Andre Alexandrescue도 CUJ에 정기적으로 기고하는 사람 중 하나이다. Scott Meyers는 Effective 시리즈의 저자라는 사실 하나라도 너무나도 유명하기 때문에 굳이 따로 언급할 필요도 없을 듯 하다. (사실, 그 외에는 잘 모르겠음)

입문서

C++을 잘 쓰기 위한 책

레퍼런스

Books on C++ 더 읽기"

Visual C++ Toolkit 2003

Windows platform에서의 개발 환경은 점점 좋아지고 있는 것 같다.
Microsoft에서 공짜 compiler suite인 Visual C++ Toolkit 2003를 내놓음으로 인해, Windows에서 사용할 수 있는 개발 환경이 하나 더 추가되었다. 일반적으로 VCT2k3을 이용해 빌드한 어플리케이션은 재배포 가능하다고 하니, 사용하기에는 상당히 자유로운 편인 것 같다. 그 외에도 VC++에서 잘 동작하지 않았던 partial template specialization도 지원하게 되었다고 하니 반가운 소식. (하지만 여전히 실제로 사용하기에는 부담스러운?)
구성요소는 다음과 같다.
– command-line compiler and linker, ..
– VC++ C Runtime Library, static-link module, the Standard C++ Library (including STL)
– the Microsoft .NET Framework Runtime, including library files
– samples
자세한 내용은 다음 페이지를 참조.
http://msdn.microsoft.com/visualc/vctoolkit2003/
다운로드는 다음 페이지를 참조.
http://www.microsoft.com/downloads/details.aspx?FamilyId=272BE09D-40BB-49FD-9CB0-4BFA122FA91B&displaylang=en

Visual C++ Toolkit 2003 더 읽기"

MovableType으로 이전..

윈도우즈 머신에 MovableType을 셋업했습니다.
딥뿔군의 ExportMT script를 이용해서 네이버 아티클들도 전부 이사했습니다.
http://myruby.net/archives/002132.html
블로그
http://www.lastmind.net/
위키
http://www.lastmind.net/tWiki/bin/view/Main/WebHome
앞으로 딥뿔군의 네이버 블로그 포스터를 써서, 크로스 포스팅 정책을 취할 생각입니다만, lastmind쪽이 기본 사이트가 될 것 같습니다. ^^
mod_perl 셋업에 실패해서 일단 CGI로 세팅해두었기 때문에 comment가 좀 느린데,
UNIX machine을 하나 구해서 새로 셋업해볼 생각입니다.

MovableType으로 이전.. 더 읽기"

Don't follow the money, lead with it

Enterprise architects are the one star generals of their business.  They have some authority.  Usually less than their subordinates believe they have, and more than their superiors and peers want them to have.   Ultimately, it comes down to the individual architects vision and their ability to lead others to accomplish the tasks needed to achieve it.



Vision is a key differentiator.  Specifically, those architects with clarity of scope and definition thrive and succeed where others fail to achieve.  Ours is a job centered on communicating complex, frequently abstract, concepts which while providing re-occurring long-term value on what appears to be little more than another wasteful expense in this year’s accounting.



How then are we to justify the expansive nature of our goals?


First, don’t follow the money, lead with it.  If your architecture is chasing the “funded” projects seeking to ride their fiscal wave, you are doomed to over-promise and under deliver.  As soon as you become a dependency to another project the implied value of an enterprise effort is subverted by the immediate (and very real) needs of the project.  Instead you must fight your own fight and develop a funding stream dedicated to enterprise development.  Only then can you produce components so valuable to the projects that the projects will be drawn to by the obvious savings or ease of development.



Next, it’s not enough to tell those around you about your goals and their obvious value to the enterprise, you must establish and actively pursue a marketing campaign.  Although you will need to advertise both the availability and features of your enterprise architecture, a great deal of the marketing efforts must focus on gathering mind share.  Think political campaign.  You don’t need sales you need support, trust, credibility, and power.  You need to build both a constituency to represent and a majority consensus among those with similar but not necessarily like minded views.



Lastly, Technical users of your enterprise products are swayed by applied technology and cogent discussions of the pluses and minuses associated with a particular choice.  Give it to them.  Armed with working prototypes, running code, metrics on performance, and well documented APIs you will be allowed to begin the conversation.  Don’t for a moment believe you position, title, or self importance will ensure adoption.  Know the current application development process … its value and its warts.  Chances are software has been built and successfully deployed.  Suggestions of change must be complete and compelling.


From http://blogs.msdn.com/stcohen/archive/2004/04/11/111329.aspx

Don't follow the money, lead with it 더 읽기"

about to move out!

처로군과 딥뿔군이 네이버로부터 딴 곳으로 이사를 계획 중인 사실에 영향을 받았는지, 나도 슬슬 네이버를 접을까 생각 중이다. 원래부터 commercial 사이트에 내 데이터를 올리기를 싫어하는 지라 시작할 때부터 떨떠름 했었더랬다. 순전히 귀찮은 탓에 네이버에 들어앉은 셈이라..
 
여러가지로 솔루션을 생각중이지만, 일단은 원래의 위키 사이트가 있던 회사 윈도우즈 머신에다가 MT(Movable Type)를 설치해볼 생각. (저번에 설치 시도했다가 실패했었는데, 이젠 MT가 직접적으로 윈도우즈를 지원하는 것 같다. zip 파일을 제공하는 것을 보면!) MT에 처음으로 feel을 받은 것은 이 사이트(http://unadorned.org/dandruff/)를 보고나서인데, 딥뿔군에 의하면, 지금은 거의 가장 유명한 blog tool이 된 것 같다. MT를 사용할 때 얻을 수 있는 또다른 장점이 딥뿔군이 네이버에서 migration할 때, 나도 똑같은 툴을 사용할 수 있다는 것. ㅋㅋㅋ
 
개인적으로는 blog와 wiki의 용도는 상당히 다르다고 생각하고, 또한 마음에 드는 CMS도 찾기 힘들어서, 따라서 이원화된 구조로 가는 것이 바람직하다고 생각하고 있다. 기존의 tWiki가 UTF-8 URL encoding을 지원하지 않아서 좀 괴로웠는데, beta에서 지원하고 있으니 version up을 시도해볼 예정이다. 데이터 저장을 파일로 한다는 것도 마음에 안드는데, 혹시 DB storage를 지원하는지 살펴봐야겠다. 플러그인과 템플릿을 강력하게 지원하는 점에서 tWiki는 매우 훌륭하지만, 계속 걸림돌이 되는 문제가 있다면 moni wiki로 갈 생각도 하고 있다. blog과 wiki의 연동 방안에 대해서는 계속 생각해볼 것.
 
계획의 일환으로 신청해둔 도메인 네임들은 다음과 같다.
lastmind.com (The Last Mind를 의도한 것이다. 상당히 거만한.. =_=)
lastmind.net
esoterica.name
이미 윈도우즈 머신쪽에 연결되어있으므로, 들어가면 내 위키 사이트를 볼 수 있다.
대문에 내부 페이지들에 대한 링크를 붙여놓진 않았으므로 들어가봤자 볼 건 별로 없으리라.
 
내가 도메인 신청한 곳은 가비아란 곳인데, 도메인 네임당 2년에 36k. 1년에 9.9k 정도인 곳도 있다고 하니 참고. 딥뿔군의 dns에 기생해서 살고 있는 중이다. (Thanks to deepblue!!!) 딥뿔군이 졸업하면? 내일은 내일의 태양이 뜨겠지.
 
기계는 계속 윈도우즈 머신을 쓸 생각은 없다. (관리에도 불편, 집에서 작업하기에도 불편!) 조만간 리눅스 머신을 구하든가 (회사 머신을 쓰든, 내가 세컨을 마련하든) 노트북을 사고 기존의 윈도우즈 머신을 리눅스 머신으로 만들어버릴 생각을 하고 있다.
 
 

about to move out! 더 읽기"

Regulator: an regular expressions testing and learning tool

regular expression을 테스팅하는 도구.
당연히 기본적인 match/replace test등이 가능하다.
 
다른 regex 테스팅 도구와 다른 점은,
– Regexlib.com에서 regex example을 검색할 수 있다.
– 성능 분석이 가능하다.
 
http://royo.is-a-geek.com/iserializable/regulator/
http://sourceforge.net/projects/regulator/
 
@은수형이 전에 추천해 준 간단한 regex 테스팅 툴도 하나 있는데, 물어보고 아래에 적어주겠음.

Regulator: an regular expressions testing and learning tool 더 읽기"

A bug in the Perl Net::Server module/debian-testing

며칠전에 Net::Server module에서 재민군이 syslog 관련 버그를 발견했는데, 이미 보고된 심각한 버그임에도 불구하고, debian-testing에 남아있었다.(모듈의 최신 버전에서는 수정된 문제) debian testing을 믿을 수 없는 것인가, 아니면 비표준 Perl 모듈을 믿을 수 없는 것인가?
 
모듈 페이지: http://search.cpan.org/~bbb/Net-Server-0.87/lib/Net/Server.pm
데비안 패키지 페이지: http://packages.debian.org/unstable/perl/libnet-server-perl
버그리포트: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=202439

A bug in the Perl Net::Server module/debian-testing 더 읽기"