목록책리뷰 (15)
Scientia Conditorium
[책리뷰] 알고리즘 인사이드 with 파이썬 전반적인 소감 및 마음에 드는 부분 알고리즘과 자료구조의 기본적인 내용을 소개하면서 이를 통해 코딩 문제 풀이를 설명한 책입니다. 첫번째 장점은 자료구와 알고리즘을 설명하는데 이해하기 쉽도록 최대한 많은 그림이 삽입되었다는 점입니다. 보통 2차원 배열이라던가 트리 구조에서 순회하는 알고리즘들은 동작 방식이 한번에 와닿지 않는 경우가 많습니다. 그런 부분을 최소화 시키고자 그림을 통해 동작 순서를 자세하게 설명해줍니다. 아래 사진은 그런 예시들 입니다. 두 번째 장점으로는 오랜 시간동안 개발해온 저자가 엄선한 leetcode 86문제 입니다. 자료구조와 알고리즘을 설명해주고 이를 코딩문제에 어떻게 적용하는지 보여줍니다. 문제를 해결한 코드를 한줄한줄 자세하게 설..
[책리뷰] 개발자를 위한 실전 선형대수학 Practical Linear Algebra for Data Science 전반적인 소감 및 마음에 드는 부분 간만에 제대로 된 선형대수학 책을 만났다. 일단 가장 좋은건 쓸데없는 파이썬 기초 설명이 없다는 것이다. 엄밀히 말하면 들어있긴 한데, 부록으로 빠져있기 때문에 괜찮다. 선형대수학 책이니 선형대수학에 대해 설명해야지 파이썬 기초 코딩이 챕터 하나를 잡고 있으면 안된다는 의미다. 그런 점에 이 책은 파이썬 기초 코딩을 약 25장에 걸쳐 부록으로 간략하게만 설명해주고 있다. 한글 제목은 '개발자를 위한' 이지만 영문명을 직역하면 '데이터과학을 위한'이 된다. 책 내용을 보았을 때, '개발자를 위한' 이라고 의역한 것은 좋다고 생각한다. 책에 나오는 연습문제는..
제목을 정말 잘 지었다. 영문 원 제목을 그대로 직역하면 '범용 컴퓨터'가 된다. 단순히 책 제목이 '범용 컴퓨터'였다면 현대 컴퓨터가 어떻게 동작하는지에 관한 책으로 오해받을 수 있다. 책 제목처럼 우리가 컴퓨터라 부르는 것들이 초기 어떤 원리에서부터 시작하여 어떤 과정을 거쳐왔는지를 서술한 책이다. 그렇다고 해서 역사서/연대기 같은 책은 아니다. 수학적 개념과 철학 사고방식이 어느정도 필요하다. 대표적으로 아래 예제를 이해할 수 있어야 된다고 본다. 우리는 원소의 숫자를 세지 않고도 두 개의 집합이 같은 원소의 개수를 갖는다고 말할 수 있다. 방법은 한 집합의 원소와 다른 집합의 원소를 1 대 1로 매치시키는 것이다. 예를 들어 경기장의 관중석이 꽉 차 있고 입석 관객은 하나도 없다면 경기장의 관객 ..
[책리뷰] 개발자를 넘어 기술 리더로 가는 길 A Guide for Individual COntrobutors Navigating Growth and Change The Staff Engineer's Path 흔히들 개발자들 커리어를 말해보라고 하면 처음 주니어(초급) 프로그래머부터 시작해서 시니어(중급)를 거쳐 고급 프로그래머 혹은 책임자(Director)가 되고 이어서 CTO가 되는걸 생각한다. 그러나 실제 개발자들 커리어는 그리 단순하지 않다. 불꽃남자25님의 블로그 글 'IT 개발자 커리어 패스에 대해서'를 보면 세분화된 개발자 진로를 볼 수 있다. 추가로 okky 개발자 지식공유 플랫폼에서 운체조교님이 작성하신 '평범한 개발자가 되는 것은 원래 어렵습니다' 에세이를 보면 개발자가 진로가 단순하지..
[책리뷰] Docs for Developers 기술 문서 작성 완벽 가이드 문서화는 굉장히 중요하다고 생각한다. 신입 개발자가 입사했을 때, 모든 정보를 습득할 수 있게 하며 개발 과정을 엿볼 수 있게한다. 대표적으로 마이크로소프트 문서를 보자. 비쥬얼 스튜디오에서 발생한 모든 오류에 대한 정보가 이미 문서화되어있다. 심지어 개발을 위한 기초 가이드 문서도 잘 작성되어있다. 물론 이 문서화하는 과정은 굉장히 번거롭고 귀찮은 작업이다. 가끔보면 이 문서화를 왜 해야되나 라는 생각이 들 정도이다. 그러나 개발자라고 칭한다면 문서화는 해야한다. 부제로는 테크니컬 라이터들을 위한 기술 문서 작성 가이드북이지만 대부분의 개발자들한테도 통용되는 얘기라고 생각한다. 개발자들은 단순히 알고리즘을 구현하고 코드만 작성하..
[책리뷰] 온디바이스 AI - AI and Machine Learning for On-Device Development 책 내용은 군더더기 없으며 모바일에 머신러닝을 접목시키고 싶은 개발자들을 위한 기초 책입니다. 다만 아쉬운 점이라고 하면 철저하게 구글 TF에 치중되었다고 생각하시면 되겠습니다. 2019년 10월에 PyTorch 1.3이 출시되며 모바일을 지원한다고는 했지만, 책의 저자 로런스 모로니는 구글 AI Advocacy를 리딩하고 있기 때문에 당연히 경쟁사 모델인 파이토치를 다룰 필요가 없기는 합니다. 그래서인지 추천사를 보면 전부 구글 관련 개발자들로만 구성되어있는 것을 볼 수 있습니다. 단순히 임베디드 기계에 접목시키기 위해서 어쩔 수 없이 TF Lite를 써야한다고 하기에 아쉬운 것은 2..
[책리뷰] 우리가 사랑한 한국 PC게임 - 사진으로 읽는 한국 게임의 역사 '당신이 읽고픈 책이 있는데 아무도 쓴 적이 없다면 그 책은 당신이 써야 한다.' 노벨문학상을 수상한 토니 모리슨의 말이다.이 문구는 조기현 저자 서문에 그대로 인용되어 있다. 이 책은 제목 그대로 약 1992년부터 2004년까지 한국에서 개발하고 발매된 PC 게임들을 정리하였다. 책 구성은 간단하다. 당시 나왔던 인기 게임 메인 사진과 함꼐 간단한 설명으로 구성되었다. 이 책이 단순히 '90년대에 이런 게임이 있었고 어떤 게임이다' 라고만 서술되어 있었다면 사전과 비슷한 느낌이 되었을 것이다. 내가 가장 마음에 들었던 것은 인터뷰 부분이다. 게임 4~10개 정도 소개를 해주고 이후 그 게임을 만들었던 대표 개발자 한 분의 인터뷰..
[책리뷰] 똑똑한 코드 작성을 위한 실전 알고리즘(Learning Arlgorithms) 학부 과정에서 알고리즘 수업을 수강했거나 기본적인 알고리즘을 알고 있는 이후에 보면 좋은 책이다. 여러 알고리즘을 소개하기 보다는 대표적으로 많이 사용하고 널리 알려진 알고리즘들을 조금 더 심도있게 다루고 있는 책이라고 생각하면 된다. 책에서 다루는 알고리즘으로는아래와 같다. 알고리즘 분석(시간복잡도, 공간복잡도, 성능 비교 방법) 해싱(키, 해시함수, 연결 리스트, 동적 해시 테이블, 완벽한 해싱) 힙(최대 이진 힙, 배열로 이진 힙 구성, 엔트리 이동의 구현) 정렬(교환, 선택, 삽입, 재귀, 병합, 퀵, 힙, 팀) 이진 트리(이진 탐색 트리, 탐색, 제거, 순회, 성능 분석, 자가 균형 이진 트리) 그래프(모델..
[책리뷰] 전문가를 위한 C C++의 교과서였던 '전문가를 위한 C++'에 이어서 C 역시 탄생하였다. C언어의 정신은 C99 Rationale에서 다음과 같이 묘사하고 있다. 프로그래머를 믿어라(Trust the programmer) 프로그래머가 작업을 못하게 방해하지 마라(Don't prevent the programmer from doing what needs to be done) 언어를 작고 간단하게 유지하라(Kepp the language samll and simple) 명령을 실행하는 방법을 하나만 제공하라(Provide only one way to do an operation) 호환성은 장담할 수 없더라도 빨리 작동하게 만들어라(Make it fast, even if it is not gua..
[책리뷰] 혼자 공부하는 컴퓨터구조 + 운영체제 컴퓨터 공학과 전공자 필수 과목 중 하나인 컴퓨터 구조와 운영체제. 이 과목들의 혼공 시리즈가 나와서 대단히 기쁘다. 결론은 역시나 혼공 시리즈답게 혼자서 충분히 공부할 수 있도록 기초 개념을 잘 잡아준다. 비전공자들은 구매해서 쭈욱 읽어보는 것을 적극 추천한다. 각 챕터에 대한 간략한 후기를 아래 나열해보는 것으로 이번 리뷰를 해보겠다. Chapter 01 컴퓨터 구조 시작하기 컴퓨터 구조의 큰 그림과 공부해야 하는 이유를 설명해준다. 책에서도 설명되어있지만 컴퓨터 구조는 컴퓨터공학과의 전공 필수과목 중 하나이며 대부분의 채용 공고에서 컴퓨터구조를 중요시 여긴다. 서울대학교 컴퓨터공학과 교과목 정보를 살펴보면 2020입학 기준으로 컴퓨터 구조는 전공필수 ..