Software Development

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 더 읽기"

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 더 읽기"

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 더 읽기"

Slashdot Today

Slashdot Today 더 읽기"