[리뷰] 독서천재가된 홍대리

독서 천재가 된 홍대리



독서 천재가 된 홍대리

저자
이지성 지음
출판사
다산라이프 | 2011-08-29 출간
카테고리
자기계발
책소개
20대, 나를 살리는 생존 독서를 시작하라!꿈꾸는 다락방 리딩으...
가격비교


이책은 독서법에 대한 설명을 해주는 책입니다.

책을 처음 봤을때, 책 제목을 처음 들었을때에 좋은 느낌은 아니었습니다.

아마도 전에 "~~~ 홍대리"라는 책을 읽어본적이 있었는데 만족하지 못해서 일것입니다.


딱딱한 설명으로 독서법을 설명하지 않고, 일반적인 우리들과 같이

바빠서, 시간이 없어서 1년에 3-4권의 책도 읽지 못하는 주인공이

멘토들을 통해서 책을 읽어나가며 인생을 변화시켜 나가는 내용을 담고 있습니다.


중요한 부분은 중간중간 요점 정리가 잘되어 있어서 요점정리만 읽어보아도

책에서 말하고자 하는 독서법을 배울수 있습니다.


처음에는 관심있는 책을 많이 읽어라와 같은 모습을 보여줘서 그런가보다 했는데,

책을 많이 읽는 사람에서 책을 많이 읽으므로 인생을 변화시킬 있는 사람이되는 독서법을

설명하는 부분에서는 완전 마음을 빼앗기도 읽었습니다.


"나도 해봐야겠다. 나도 시도해보고 싶다. " 와 같은 말들이

책을 읽는 내내 마음속에서 터져나왔습니다.


1년에 책을 100권 읽지 못하는 사람들, 

바빠서, 시간이 없어서 책을 읽지못하는 사람들,

책을 읽으며 자신을 바꿔보기를 바라는 사람들에게 정말 추천합니다.


책의 내용들이 모두다 자신에게 적합하지 않는 것이라서 해보기 힘들다고 할지라고

자신을 돌아보고 반성하는 충격을 선사하기에는 충분한 책이라 생각합니다.


책에 나와있는 인생을 바꿀수있는 독서법을 옮겨적습니다.

몇번씩 보고, 저도 조금씩 적용해보려고 합니다.


자기 업무 분야에서 최고가 되기 위한 1년 100권 독서

1. 업무 분야의 고전으로 꼽히는 책을 한달마다 10권씩 산다

2. 1주일에 2권씩 읽는다.

3. 반드시 알아야할 부분에는 밑줄을 치고 여백에 자신의 생각을 적는다.

4. 한 챕터씩 요약정리하고 중요한 내용은 따로 메모하거나 녹음한 후 

   출퇴근 시간을 이용해 읽고 들으면서 자신의 것으로 소화한다.

5. 주말마다 두권의 책에 대한 리뷰를 쓴다.

기본 생성자와 생성자 오버로딩

C++에서 클래스를 만들때 생성자/소멸자가 호출하게 됩니다.

생성자/소멸자를 코드로 작성하지 않았다면 

컴파일러는 기본 생성자/기본 소멸자를 만들어서 호출하게되는데,

만약 생성자 오버로딩을 하는 경우에 컴파일러는 생성자가 존재하기 때문에

기본 생성자는 만들지 않게 됩니다.


따라서 연산자 오버로딩시 기본생성자를 만들지 만들지 않은 상태에서

기본생성자가 호출되는 로직을 작성하게 되면 컴파일 오류가 발생합니다.


어느 순간부터 생성자 오버로딩시 습관적으로 기본생성자를 같이 만들었는데,

왜 기본생성자를 만들지 않으면 컴파일 에러가 나는지에 대해서

정확한 이유가 바로 떠오르지 않아서 찾아보고 정리합니다.


기본부터 정확하게 알아가자!!

[리뷰] 멀티코어 애플리케이션 프로그래밍

성능을 100% 끌어내는 멀티코어 애플리케이션 프로그래밍 - 한빛미디어



표지부터 뭔가 복잡함을 느끼게 해주는 이책은 역시나 내용도 어려웠습니다.

주제가 주제이니 만큼 아무리 쉽게 쓰여있다고 해도 초급자가 접근하기에는 사전지식이 필요합니다.


예제 코드들이 C로 작성되어있기 때문에 C언어에 대한 이해는 있어야 합니다. 

Visual Studio에서의 프로그래밍만 익숙한 사람이라면 Unix/Linux에서의 콘솔 명령어 설명부분이

낯설게 느껴지겠지만 그정도는 쉽게 알아차릴 수 있으니 문제될것은 없을 것입니다.


책에 나오는 예제 코드는 가독성이 아주 좋게 표현되어 있습니다. 그래서 코드를 읽으면서

짜증나는 부분도 없었고, 예제 코드들도 몇페이지씩 있지 않고 짧게 짧게 있어서 파악하기가 쉬웠습니다.


멀티코어 프로그래밍이라고 해서 OpenMP나 TBB에 관한 내용들만 있을거라 예상했는데

책에는 그보다더 근본적인 부분들부터 접근을 시작하고 있습니다.


싱글코어에서 멀티코어로 넘어가면서 생기는 여러가지 변화에 대한 설명부터

성능 최적화를 고려한 코딩, 병렬화, 동기화와 데이터 공유, POSIX 스레드, 

Window 스레드, OpenMp까지 체계적으로 아주 잘 설명해주고 있습니다. 

각 설명마다 예제 코드가 있어서 다른 책을 보면서 혼동되거나 

이해안되었던 부분들을 좀더 명확하게 이해할 수 있었습니다.


책은 기본적인 내용들의 설명으로 각 챕터들을 시작합니다.

예를 들면, 데이터 레이스가 발생하는 이유 부터 크리티컬 섹션 / 뮤텍스에 대한 

설명도 하고 윈도우에서 스레드 생성/종료와 같은 부분도 설명합니다.


이러한 기본적인 것들을 설명한 이후에 본격적으로 병렬화에서의 처리들을 이야기합니다.

병렬화 도구로 OpenMP를 사용해서 어떻게 병렬화 코딩을 하는지  한 챕터에 자세하게 설명하고

그외 TBB, CUDA, Cilk++와 같은 부분도 간략하게 설명하고 있습니다.


책을 그나마 읽을 수 있었던것도 기본적인 것부터 시작했기 때문입니다.

이런것들을 생략하고 적혀있었다면 아마 다른 책들을 

더 공부하고 나서야 책을 읽을 엄두를 낼 수 있었을 것입니다.


책 후반부에는 동기화 장치와 데이터 공유의 직접구현 / 

멀티코어 프로세서와 스레드 스케일링과 같은 내용도 있습니다.


책에는 여러가지 내용이 나오지만 아직도 선명하게 기억나는 부분은

멀티코어를 쓴다고 하더라도 병렬화 가능한 코드의 비율이 증가해야 

멀티코어의 이점을 살릴 수 있다는 부분입니다.

병렬화 가능한 코드를 만들지 않으면 코어 수가 아무리 많아도 성능에는 큰 영향이 없다는 이야기이고,

앞으로는 코어수가 늘어날테고, 공짜로 프로그램의 속도가 향상되지는 않을테니 

멀티코어에서 속도를 향상시킬 수 있는 방법에 관한 공부가 필요함을 느꼈습니다.

싱글코어 프로그래밍만으로 버티는 것도 언젠가 한계가 있겠지요ㅠ


이것은 다 저의 내공이 딸려서 그렇겠지만.. 어려웠습니다.. 책의 어떤 부분은 무슨얘기인가 싶을 정도였고...ㅠ

그렇지만, 좋은 내용의 책인것은 확실합니다. 어려웠던 부분들이외에는 개념을 더 확실히 잡을 수 있었습니다.

[리뷰] 만들면서 배우는 기계학습(한빛미디어)

생각을 만드는 빅데이터 기술

만들면서 배우는 기계학습

- 한빛미디어



이 책은 기계학습에 대해서 개론부터 감독학습,진화,신경망.. 큰 그림을 잡고 하나씩 설명해줍니다.

작고 얇은 가볍운 책이지만, 책 내용은 아무리 개론서라고 해도 결코 가볍지 않습니다.

아무래도 기계학습이라는 분야가 쉽지 않은 분야여서 그런것 같습니다.


저자는 각 챕터별로 이론을 설명한 다음에 그 이론이 적용될 수 있는 예제를 보여줍니다.

예제에서 사용한 코드가 그대로 책에 포함되어있어서 잘 이해되지 않는 부분에 대한

구현이 어떻게 되어있는지를 살펴보고 이론을 이해할 수 있었습니다.


책의 저자가 일본인이어서 몇몇 예제는 일본 기상청의 데이터를 가지고

어떻게 기계학습을 적용하는지, 일본어를 이용한 기계학습을 예제로 사용합니다.

저자가 원래 넣은것인지 역자가 넣은것인지는 모르겠지만, 

한국어를 이용한 기계학습 예제도 포함되어 있습니다.


그런데 일본 데이터를 가지고 그대로 사용하고 싶어도 

일본어 기반 사이트를 뒤져야 하기 때문에

일본어를 모르면 따라 하기가 쉽지 않았습니다.


책에서 코드를 표시하는 부분에는 몇가지 불만적인것이 있습니다.

앞에는 코드가 짧아서 쉽게 이해할 수 있었지만 뒤로 갈수록 코드 양이 증가하면서

띄워쓰기나 코드 블럭 { }, 변수 네이밍등.. 코드 읽는데 눈에 거슬리는 부분들이 보였습니다.

다음판이 나온다면 코드를 좀더 읽기 쉬운 모양으로 변경해서 나왔으면 좋겠습니다.


책 내용을 공부하면서 읽어나가는데 처음에는 예제도 간단하고 내용도 어렵지 않아서 쉽게

이해할 수 있었지만, 후반부로 갈 수록 이론은 어려워지고 결국 코드를 보고 이해하려고 책을

이리저리 넘기면서 보았습니다. 역시 쉬운 분야가 아니더군요.


책에서 설명하는 이론이 현실세계에서는 어떤 분야에서 어떻게 사용되고 있을까 하는 생각이 들었습니다.

정말로 스팸필터링에서는 책에서 설명한 방법을 사용하고 있을까? 같은 생각들...

입문서로 나온책에서 너무 많은것을 기대하는 듯하지만, 대충 이렇게도 쓰이고 있다~ 는 설명이 있다면

관심을 집중하는 하나의 방법이 되지 않을까 합니다.




eclipse에 pydev 설정 에러 처리

eclipse에 PyDev(2.5.0)을 받아서 설치하고, python 인터프리터 설정과정에서 다음과 같은 에러가 발생하였습니다.



unable to get info on the interpreter.. 파이썬 인터프리터 정보를 가져오지 못한다고 해서.. 

이것저것 테스트를 해봤지만 도무지 원인을 알 수 없던 중, 구글링을 해보니 해결법이 나왔습니다.


http://stackoverflow.com/questions/10195111/eclipse-pydev-and-python-configuration-error


문제의 원인은 PyDev가 실행되는 이클립스 경로에 한글과 같은 unicode 문자가 존재하기 때문입니다.

답글단 사람의 글에 의하면 PyDev 2.6.0 버전이 배포되면 해결되는 문제라고 합니다.


아직까지 정식 배포버전은 2.5.0이므로.. 해결을 위해서는 eclipse 실행경로가

모두 영문으로 이뤄지게 변경후 PyDev 인터프리터를 설정하면 됩니다.


'프로그래밍' 카테고리의 다른 글

yoda conditions(요다 표현식)  (0) 2012.09.22
기본 생성자와 생성자 오버로딩  (0) 2012.09.08
Pointer Container, boost::ptr_vector<>  (0) 2012.02.21
Office Add-in 만들기.  (0) 2012.02.08
Lua 테이블 내용 출력하기  (0) 2012.01.28