부자가 되는 길 - 벤자민 프랭클린
December 5th, 2008

이번 서적은 벤자민 프랭클린의 <부자가 되는 길>입니다. 이 것은 하나의 에세이를 책으로 출간한 것이고, 따라서 그리 길지 않은 양입니다. 몇 분이면 읽어버릴 수 있지만, 그 내용은 조금 생각을 하면서 읽어야 하는 게 맞을 것 같습니다.
벤자민 프랭클린은 미국 역사상 중요한 인물로, 그는 과학자이자 철학가이고 또한 정치가였습니다. 그리고 현재 미국의 백 달러 지폐에 나와있는 얼굴이 바로 그 사람이지요. 저는 많은 명언들에서 그가 말할 것들을 들었고, 또한 매달 즐겨 쓰는 플랭클린 플래너에서 조차 그의 이름을 따서 지었다는 것을 들었습니다.
이 책의 중간중간에 몇 가지의 명언이 있는데, 그 중 제가 좋아하는 것이 있더군요.
“당신은 인생을 사랑하는가? 그러면 시간을 낭비하지 말라. 인생을 만드는 것은 바로 그 시간이다.” - 벤자민 프랭클린
다음에 도서관에서는 벤자민 프랭클린의 다른 책들을 빌려볼 생각입니다. ^^
부자가 되는 길 http://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9788987999142
Boost 1.37.0 빌드하기 (for Windows)
December 5th, 2008
C++ 개발자라면 한 번은 사용하는 라이브러리가 바로 Boost 입니다. C++ 표준 위원회 사람들이 대거 참여하여 개발되고 있는 라이브러리이기도 하고요. C++의 추가 표준 라이브러리인 TR1도 이 라이브러리를 기반으로 만들어졌습니다.
Boost는 라이브러리 모음으로, 그 안에 좋은 라이브러리들이 많이 있습니다. 초급 개발자들은 그것들을 한 번씩만 사용해보더라도 능력이 대단히 향상되는 것을 느낄 수 있습니다.
Boost의 라이브러리 중에는 헤더 파일만을 사용하는 것도 있지만, 사용하기 전에 빌드를 먼저 해주어야 하는 라이브러리들도 있습니다. 따라서 Boost 빌드가 필요한 것이지요. 지금부터 Boost 빌드에 대해서 알아보도록 하겠습니다.
Boost는 bjam이라는 자체적인 빌드 모듈을 사용하여 라이브러리를 빌드 합니다. 다중 플랫폼과 다중 개발 툴에서 쉽게 빌드 하기 위함으로 알고 있습니다. 그래서 bjam이 있어야 하고, Boost 빌드 옵션을 알아야 합니다.
다음 URL에서 Boost의 최신 패키지를 다운받습니다.
Boost를 다운받아서 압축을 풀게 되면 많은 폴더가 있습니다. Boost 빌드를 하기 전에 bjam 프로그램이 필요한데, 빌드 된 것을 다운로드 받거나, Boost에 포함되어 있는 bjam 폴더에서 빌드를 하면 됩니다.
여기서는 Boost에 포함되어 있는 bjam 폴더에서 새롭게 빌드를 해 보도록 하겠습니다.
- Boost의 하위 폴더인 .\tools\jam 폴더로 이동합니다.
- build_dist.bat을 실행합니다. (빌드)
- 빌드가 완료되면 .\tools\jam\ 폴더 하위에 stage 폴더에 생성됩니다.
- 생성된 stage의 하위 폴더 bin.ntx86로 이동을 하면 bjam.exe 파일이 생성되어 있는 것을 확인할 수 있습니다.
이제 이 bjam을 이용하여 Boost을 빌드 하기 위해서 bjam.exe을 Boost 최상위 폴더로 복사하면됩니다. (환경변수의 Path로 설정하셔도 됩니다.)
다음으로는 Boost 빌드를 위한 옵션들에 대해 알아보겠습니다.
참고로 Boost Getting Started on Windows(http://www.boost.org/doc/libs/1_37_0/more/getting_started/windows.html)와 “bjam.exe –help” 커맨드에서 설치 방법을 파악할 수도 있습니다.
Boost의 빌드 방식은 크게 두 가지로 구분할 수 있습니다. install 방식과 stage 방식입니다. install의 경우에는 헤더 파일과 컴파일 된 라이브러리 파일을 아예 새로운 폴더에 생성하는 방식이고, stage의 경우에는 현재 boost 폴더에 있는 헤더 파일을 그대로 이용하고 컴파일 된 라이브러리 파일만 생성하는 것입니다. 따라서 install을 한 경우에는 새로 생성된 폴더만 남기고 기존 폴더는 삭제해도 됩니다.
- install의 경우,
–prefix 옵션으로 헤더 파일과 라이브러리 파일이 생성될 경로를 지정합니다. (기본값은 “C:\Boost”) - stage의 경우,
–stagedir 옵션으로 라이브러리 파일이 생성될 경로를 지정합니다. (기본값은 “.\stage”)
일단 다른 옵션들은 제외하고 지금까지 이야기한 옵션들로만 예제 명령어를 만들어보면 다음과 같습니다.
- bjam.exe –prefix=”C:\Lib\Boost” install
- bjam.exe –stagedir=”.\stage” stage
이 다음으로 알아볼 것은 –build-type 옵션입니다.
–build-type에는 minimal과 complete 옵션을 사용할 수 있습니다. (기본값은 minimal) 그리고 추가적으로 release와 debug 옵션을 줄 수 있습니다. (이외에도, threading이나 link 등 세부적인 옵션을 줄 수 있습니다.) 따라서 꽤 많은 조합으로 빌드를 할 수 있습니다.
현재까지 이야기한 옵션으로 예제 명령어를 만들어 보겠습니다.
- bjam.exe –build-type=complete release debug install
- bjam.exe –build-type=complete release stage
- bjam.exe release debug stage
그리고 마지막으로 알아볼 옵션은 –toolset 옵션입니다.
시중에는 꽤 다양한 C++ 컴파일러가 있습니다. 그 컴파일러마다 조금씩 옵션이 다르기 때문에 Boost에서는 –toolset 옵션을 제공합니다. Visual C++의 경우에는 msvc, Borland의 경우 borland, GCC의 경우 gcc 처럼 옵션을 줄 수 있습니다. (지원하는 툴셋에 대한 자세한 정보는 http://www.boost.org/doc/libs/1_37_0/more/getting_started/windows.html#identify-your-toolset을 참조하세요.)
그럼 마지막까지 이야기한 옵션까지 이용하여 예제 명령어를 만들어보겠습니다.
- bjam.exe –toolset=msvc –build-type=complete release debug –prefix=”C:\Lib\Boost” install
- bjam.exe release debug stage
앞서 각각에 대해 설명을 했지만, 그것이 복잡하다고 생각된다면 다음처럼 전체 설치를 하시면 됩니다.
bjam.exe –toolset=msvc –build-type=complete release debug install
C:\Boost에 헤더 파일과 라이브러리 파일이 생성되고, 빌드 시 사용했던 Boost 폴더는 삭제하시면 됩니다.
Boost 빌드에서 한 가지 아직 이야기 하지 않은 것이 있다면 iostream 라이브러리에서 사용하는 외부 라이브러리 이야기입니다. Boost의 라이브러리 중 iostream에서는 외부 라이브러리로 zlib와 bzip2 라이브러리를 사용합니다. (http://www.boost.org/doc/libs/1_37_0/libs/iostreams/doc/installation.html#ide 참조) 따라서 bjam으로 Boost를 빌드하기 전에 다음과 같은 설정을 해주어야 합니다.
- zlib(http://www.zlib.net/)와 bzip2(http://www.bzip.org/)를 다운로드 받습니다.
(여기에서 다운로드는 소스코드를 말하는 것입니다.) - 두 압축 라이브러리 모두 적당한 경로에 압축 풉니다.
- 다음과 같이 두 라이브러리의 경로를 환경변수로 설정합니다.
set ZLIB_SOURCE=”C:\Lib\zlib”
set BZIP2_SOURCE=”C:\Lib\bzip2″ - 위의 Boost 빌드 방법으로 Boost를 빌드합니다.
(예, bjam.exe –toolset=msvc –build-type=complete release debug install)
위와 같이 환경변수를 설정하면 bjam으로 빌드 시, 해당 환경변수를 찾아 빌드 시 사용합니다.
이제 Boost 빌드에 관한 이야기를 어느 정도 마무리 지은 것 같습니다. 필요에 따라 Boost를 개별 라이브러리로 빼서 사용하는 사람들도 있고, 자신의 프로젝트에 포함해서 사용하는 사람들도 있을 겁니다. 그리고 Boost를 사용하다 보면 자신이 맛깔나게 일부 코드를 수정한다거나 라이브러리의 문제점을 찾아 공식 홈페이지에 보내줄 수도 있을 거라고 생각합니다. 저도 Boost에 있는 라이브러리들을 모두 다 사용해보지는 못 했지만, 점점 커지는 라이브러리를 볼 때마다 또 좋은 코드가 추가되는구나 라는 생각을 합니다.
그리고 최근에는 C++0x에 대한 이야기가 많이 들리는데요. 이에 대한 관련된 이야기도 나중에 기회가 있다면 포스팅 하도록 하겠습니다.
Boost http://www.boost.org/
Boost Getting Started on Windows http://www.boost.org/doc/libs/1_37_0/more/getting_started/windows.html
쉽게 가르치는 기술 - 야스코치 테츠야
December 2nd, 2008

이번 서적은 <쉽게 가르치는 기술>입니다. 자주 가는 블로그에서 이 책에 대해 포스팅 한 것을 보았습니다. 그리고 이 책도 마찬가지로 학교 도서관에서 바로 빌려 보았습니다.
이 책에는 가르침에 대한 좋은 말들이 많이 있습니다. 그리고 그런 내용들에서 고개도 끄덕여지더군요. 하지만 저는 이 책에서 교육에 대한 번뜩이는 아이디어는 찾을 수는 없었습니다. 제가 이전에 비슷한 책을 읽어보았던 것인지, 아니면 프레젠테이션 관련 서적에서 이런 내용을 읽은 것인지는 모르겠습니다. 하지만 어떻게 보면 조금은 평범하지 않은가라는 생각이 조금 들었습니다. 물론 기본이라는 것이 중요하고, 그 것이 완벽하게 몸에 익혀졌을 때 쉽게 잘 가르치는 사람이 될 수 있는 것이겠지요.
이 책의 내용 중에 ‘100을 알아야 1을 가르칠 수 있다’는 말이 있습니다. 저도 약 5년 전에 컴퓨터 학원에서 잠시 강사를 하던 적이 있었는데요. 그 당시 처음으로 남을 가르쳐보면서 ‘내가 아는 내용만으로는 남을 가르칠 수가 없구나’라는 생각이 들었던 적이 있습니다. 그 당시 한 주에 네 시간씩 두 번의 수업이 있었는데, 그 전에 집에서 관련된 서적들을 몇 권씩 찾아보며 강의 내용을 준비하기에 바빴었죠.
가르친다는 것에 대해 이야기하다 보니까 떠오르는 게 있네요. 자신이 무엇인가를 잘 안다는 것과 그 것을 잘 가르친다는 것은 다르다는 것입니다. 학교에 보면 학계에서 인정을 받는 많은 교수님들이 계시지만 그 중에서 머리에 쏙쏙 들어오게 가르치는 교수님은 몇 분 계시지 않는다는 것이죠. 하지만 이런 책들에서 이야기 하듯이, 재미없고 이해를 할 수 없게 가르치시는 교수님들도 노력하시면 학생들에게 사랑 받는 교수님이 될 수 있을 거라고 생각합니다. ^^
쉽게 가르치는 기술 http://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9788977151840
생각의 법칙 10+1 - 존 맥스웰
December 1st, 2008

<생각의 법칙 10+1>, 이 책의 내용을 조금 인용한 어떤 책이 있었습니다. 그 책을 읽으면서 다음에는 이 책을 한 번 읽어봐야겠구나 라는 생각을 했습니다. 그리고 지난 번 도서관에 가게 되었을 때 이 책을 빌렸습니다. 도서관의 서고에는 이 책이 세 권 있었는데, 꽤 많은 사람들이 읽었는지 책이 많이 허름해져 있더군요. 그래서 그 중에서 그나마 멀쩡해 보이는 책으로 빌려왔습니다.
이 책에는 좋은 명언들이 많이 소개되어있습니다. 그 중 좋다고 생각되는 하나를 써보겠습니다.
“위대한 생각을 길러라. 우리는 어떤 일이 있어도 생각보다 높은 곳으로 오르지 못한다.” - 벤저민 디즈레일리
책의 앞부분에 나오는 이야기 중, 크고 뛰어난 생각을 하라는 부분이 있습니다. 이것 말고도 생각에 대한 여러 가지 이야기가 들어있는데, 제가 생각하는 가장 중요한 것은 크고 뛰어난 생각을 해야 한다는 것입니다. 작게 생각을 한다면, 그곳에 머물 수 밖에는 없는 것이지요.
실은 이와 비슷한 서적을 많이 읽었기 때문에 한 글자 한 글자씩 자세히 읽지는 않았습니다만, 좋은 명언들과 어떤 생각에 대한 이야기는 한 번쯤 읽어볼 만 하다고 생각됩니다.
생각의 법칙 10+1 http://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9788935205264
샘 월튼 - 샘 월튼, 존 휴이
November 27th, 2008

지난 주에 다시 책을 빌리기 위해 도서관에 다녀왔습니다. 그리고 빌린 책 중 하나가 <샘 월튼> 입니다. 아마 이 책은 친구의 블로그에서 도서 추천 리스트에 있던 한 권이었을 것입니다. 그리고 저도 샘 월튼이 어떤 삶을 살았는지 궁금했고요. 샘 월튼은 ‘월마트’의 창시자이죠. 월마트는 대형 할인마트의 시초라고 보시면 될 것입니다.
그는 남들이 높은 마진으로 조금씩 물건을 팔 때 낮은 마진을 붙여 많은 상품을 팔아왔습니다. 그리고 그것은 성공했습니다. 사람들이 정말로 원하는 것을 제대로 파악한 것이지요. 사람들이 마트에 가는 이유는 저렴하고 질 좋은 물건을 사기 위함이라는 기본적인 원칙을 잘 알고 있었던 것입니다. 그리고 또한 그는 열정적이었습니다. 자신의 사업에 최선을 다한 것이죠. 이런 것들을 보면 기본의 중요성을 항상 되돌아보게 합니다.
이 책이 읽기 편했던 것은 아니었던 것 같습니다. 흥미진진하여 높은 몰입감을 주지는 않았다는 생각입니다. 하지만 저는 언제나 그렇듯이 논픽션의 사람들 이야기가 좋습니다. 샘 월튼이 상점을 하나하나씩 오픈 하는 모든 이야기가 이 책에 담겨있는 것은 아니지만, 그가 어떤 생각을 했고 어떤 행동을 해왔는지에 대해 알 수 있어 유익했다고 생각합니다.
샘 월튼 http://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9788950913588