다이내믹 프로그래밍 완전 정복 - 빠르고 우아한 상향식 문제 풀이법
미나크시.카말 라와트 지음, 박상은 옮김 / 한빛미디어 / 2019년 10월
평점 :
장바구니담기


옆구리 혹은 가방안의 알고리즘 문제 풀이 책에서 절대 빠지지 않는 부분이 다이나믹 프로그래밍 부분인데  

알고리즘 문제 풀이에서 절대 빠질수 없는 부분이니 만큼 설명도 방대하고 예제들 또한 이해하기도 어렵다. 


이 책은 다이나믹 프로그래밍 부분을 아예 따로 뽑아내 설명을 하고 있다. 

여러 유형의 문제에 대해 다양한 방법을 설명하는 다른 책들과는 달리 

다이나믹 프로그래밍에 한가지 방법에 대해 쉽고 명확한 설명을 목표로 한다. 

책도 생각보다 얇으며 책의 문체가 편해 책을 읽기에도 부담이 적다.


많은 회사들이 S/W 개발자를 필요로 하면서 그에 함께 정확한 역량 측정을 위한 지표로써 알고리즘 문제 풀이를 활용한다. 

알고리즘 문제 풀이와 개발 역량과의 직접적인 관계가 있는지는 잘모르겠으나  

구직을 준비하는 사람들에 입장에서는 무시할 수 없는 것이 사실이다. 


프로그래밍의 많은 세부 분야 중 알고리즘 보다 다른 영역에서 더 흥미를 느끼고 역량이 드러날수 있음에도 불구하고 

역량 평가의 지표로써 활용되기에 어떤 식으로든 어느정도의 지식을 습득하고 시험에 대비해야 하는 것이 현실이다. 


때론 의사와는 무관하게 하고 싶은 것을 하는 것이 아니라 해야 해서 하는 상황이 들이 닥치기도 하지만  

때론 의사와는 무관하게 우연히 새로운 지식을 접하고 새로운 즐거움을 알게 되는 계기가 되기도 한다. 


부디 새로운 지식을 접하고 새로운 즐거움을 알게 되는 계기가 되었으면 좋겠다. 




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
전문가를 위한 C++ - C++17, 제네릭 람다, STL, 템플릿, 디자인 패턴, 객체지향의 원리를 익히는 확실한 방법, 개정4판
마크 그레고리 지음, 남기혁 옮김 / 한빛미디어 / 2019년 8월
평점 :
구판절판


일단 책을 처음 접하고 크게 두번 놀랐는데, 

책 가격에 한번 놀라고, 책 두께에 두번 놀란다.

그만큼 책 내용은 이런저런 군더더기 내용없이 깔끔한 내용으로 채워졌음에도 두껍다.

물론 방대한 책내용을 모두 습득할 수 있는지는 별개이다.


만약 C++의 기본적인 내용을 다시금 상기코자 한다면 Chapter 1, Chapter 2를 먼저 읽어보길 권한다.

목차를 훝어보고 흥미로운 주제부터 읽어보는게 쉽게 질리지 않아 Part 3. - Chapter 7. 메모리 관리부터 읽었다.

'Part 3. 전문가 답게 C++ 코딩하기' 라는 파트명 답게 구성하는 챕터 하나하나 모두 시간을 들여서 읽게 한다.


개인적으로는 'Chapter 14. 에러 처리하기' 챕터로 에러 처리에 대한 내용을 별도로 빼 설명하고

'Part 5. C++ 소프트웨어 공학'-'Chapter 26. 테스트 숙달하기', 'Chapter 27. 디버깅 완전 정복' 과 같이 프로젝트 개발 프로세스와 디자인에 대한 내용을 함께 설명하고 있어 좋다.


마지막으로 이 책을 읽어보고자 하는 분들이 두께에 지레 겁먹지 않았으면 좋겠다.

두께만큼 읽을거리가 많은 책이다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
C++ 최적화 - 최고 성능을 구현하는 10가지 검증된 기법
커트 건서로스 지음, 옥찬호 옮김 / 한빛미디어 / 2019년 7월
평점 :
장바구니담기


현업에 있을수록 '기본'의 중요함을 느낀다.


운영체제, 자료구조, 개발문화 등의 도메인의 기본 뿐만아니라


 


내면의 동기, 열정, 직업적 소명의식,  향상심 등 감성적인 부분에 있어서도


'기본'이 중요하다는 것을 느낀다.


 


책 제목에서 알수 있겠지만 책에서는 C++ 코드단 에서의 최적화를 다룬다.


하루가 다르게 발전하는 하드웨어와 


개발 접근성과 편의성을 무기로 여타의 다른 프로그래밍 언어, 프레임 워크가 발표되는 이 시대에 


어쩌면 C++이 고전의 영역으로 넘어가고 있는 것은 아닐까라는 생각이 팽배한 이 시점에


(물론 편견이다. C++ 은 하루가 다르게 발전되고 있다.)


랭귀지에서의 최적화를 이야기한다.


 


최적화는 불편하고 재미없으며 어쩌면 요즘엔 더 이상 신경쓰지 않아도 되는


편의성의 영역일지도 모르는 주제에 대해 


다시금 생각을 환기시켜주는 계기가 되었다.


 


책의 요점 & 흥미로운 포인트만 읽고 넘기고자 한다면 


챕터 10. 자료구조 최적화와 챕터 12. 동시성 최적화 파트를 반드시 읽어보기 권한다.






댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
계산기는 어떻게 인공지능이 되었을까 - 주판에서 알파고까지 거의 모든 컴퓨팅의 역사
더멋 튜링 지음, 김의석 옮김 / 한빛미디어 / 2019년 5월
평점 :
절판


 


이 책의 첫 인상. 빳빳한 양장본 표지와 올 컬러 페이지가 어릴적 읽었던 위인전이나 동화책을 생각나게 한다.


(사실 위인전이라면 위인전이지).


 


특정 도메인 지식을 알려주는 책들을 읽다가 간만에 재밌는 교양 서적 한권을 읽은 느낌이다.


사이사이에 있는 토막지식들과 중요한 개념들. 그리고 컴퓨터 공학 & 과학사에 족적을 남긴 인물들의 이야기가 쓰여져 있다.


 


나에게 있어서 컴퓨터의 첫 모습은 배불뚝이 CRT 모니터를 놓을 수 있고


3.5 인치 플로피 디스크, 5인치 디스크를 넣을 수 있는 가로형의 본체,


그리고 두껍게 올라와있는 키보드와 버튼이 세개가 있는 마우스가 연결되어 있는 모습이다.


업계에 선배 분들은 자신들의 첫 컴퓨터로 애플 2 컴퓨터를 이야기 하지만 여튼.


 


이 책을 읽다가 문득 든 생각인데 


누군가 나에게 컴퓨터가 무엇이냐고 묻는다면


내 머리속에 있던 컴퓨터를 처음봤을때의 그 모습이 아니라 


폰노이만 구조를 먼저 떠올려야 하는건 아닌가 싶기도 하고.


 


어느새 개인 PC의 시대를 넘어 개인마다 스마트폰을 갖고 있으며


컴퓨터는 사용할줄 몰라도 유튜브는 사용할줄아는 어르신들도 많다.


IOT라는 말에서 앞으로 더욱더 컴퓨터는 정형화된 모습을 갖고 있지 않을 확률이 높다. 


 


시대가 변함에 따라 컴퓨터의 모습은 변해가고 있고 본질적으로 묘사하려면 폰노이만의 구조를 갖고 있다는 사실을 제외하고 구분할 수 있는 것이 있을까.


뭐 이런 개똥 철학같은 생각들이 떠오르게 하는 책이었다.


 


덧. 종교와 과학의 아이러니라고나 할까.


책 내용중에 종교는 천문학과 밀접한 연관을 가져왔다는 내용이 있다. 일식과 월식을 두려워하거나 재앙의 암시로 생각했기 때문에 사람들을 달래고 진정시키기 위해서라도 정확히 예측이 필요가 있었단다. 


비논리적인 곳에도 논리가 필요하다라..




출처: https://hurderella.tistory.com/152 [Hurderella]


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
Accelerated C++ - C++를 C++답게 배우는 16가지 방법
앤드류 쾨니히.바바라 E. 무 지음, 류태호 옮김 / 한빛미디어 / 2018년 11월
평점 :
장바구니담기


2019년 설 연휴 첫날쓰는 책 리뷰.

아주 반가운 책이 출간되었다. 한동안 절판되었는지라 중고가가 꽤 올랐던 책으로 알고 있다.
C++을 C++답게 사용하는 법부터 템플릿을 다루는 방법까지.
이펙티브 시리즈와 함께 언어의 고급주제들을 다루는 시리즈.
일명 빨간책 시리즈. 그 중의 하나. Accelerated C++ 가 다시 한번 출간 되었다.

책을 읽기 전 저서 탈고 후의 소회나 책의 개략적인 방향을 서술해둔 저자 서문을 꼭 읽어보는 편이다.
이 책의 서문에서 저자는 [컴퓨터의 종류는 다양하고 성능이 계속 개선되므로 책 안에서 컴퓨터에서 C++ 프로그램을 실행하는 방법을 소개하는 것은 현실적이지 않으며 C++프로그램을 컴파일하고 실행하는 방법을 아직 모른다면 인터넷 검색으로 현재 자신이 사용하는 컴퓨터 환경에 맞는 방법을 참고하기 바란다]고 밝힌다.
개인적으로는, 아주~ 개인적으로는 매우 바람직한 생각과 자세라 생각한다.
다운로드 컨텐츠로 판매되어 지면의 제약이 없은 것도 아니고
제한된 지면 상에 중요한 의미나 통찰을 줄 수 없는 금새 레거시가 될 정보라면
과감히 생략하고 그 역할을 잘할 수있는 누군가에게(여기선 인터넷) 위임하는 것이
매우 합리적이고 프로그래머로서의 미덕이 아닐까

STL과 템플릿을 다루기도 하며 STL 과 템플릿의 개념 자체를 설명하기보다는
예제를 통해 필요한 상황을 설정하고 그에 맞는 기능을 찾아 설명한다.
필요성을 느끼고 쉽게 기능을 이해하기 위한 목적에 충실하지만
중급자 및 숙련자를 대상으로 해서인지 고등학생때의 ‘수학의 정석’을 떠오르게 하기도 한다.
어떤 느낌인지는 개인마다 다르겠지.

이 책은 쉽지 않다.
전체적으로 고급주제들을 잘비볐다고 생각한다.
이책을 읽고 더 쉽게 풀거나 혹은 어렵지만 더 폭넓게 다루는 책이 필요하다.
글이 딱딱해 불편하기도 하지만 개념에 집착하지 않아 이해 자체가 어렵지는 않다
자연스럽게 더 알고 싶게 한다.
이 책을 읽고 이펙티브 시리즈나 템플릿을 다루는 책을 보면 좋을 것 이다

댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo