자바 최적화 - 가장 빠른 성능을 구현하는 검증된 10가지 기법
벤저민 J. 에번스 외 지음, 이일웅 옮김 / 한빛미디어 / 2019년 4월
평점 :
장바구니담기




단순히 자바 문법이 아니라 조금 더 어려운 주제를 공부하고 싶어서 이 책을 읽게 되었었다. 물론 작성자의 경우에 자바를 현재 메인으로 사용하지 않지만 그래도 어떤식으로 성능 최적화를 할 수 있는지 개인적으로 궁금했다.


책은 솔직하게 말해서 술술 읽히는 그런 내용은 아니다. 처음부터 JVM 으로 시작해서 하드웨어, 운영체제, GC 등 하드한 내용들을 주로 다루고 있다. 그래서인지 개인적으로 JAVA 를 많이 써보지 않은 입장에서는 다소 어려웠던 책이였다. 


하지만 어려운 책임에도 불구하고 번역이 정말 깔끔하게 잘 되어있다. 어려운 내용들에 대해서도 용어도 먼저 설명해주고 있어 그래도 이해할 수 있도록 도와주곤 한다. 또한 다행히 컬러로 되어 있어 책을 읽는데 조금 더 집중할 수 있도록 해주었었던 것 같다.


결론적으로 자바를 문법적인 것만을 공부하다가 조금 어려운 내용을 공부하고 싶은 분들에게 추천하고 싶다. 저번에 읽은 실전 자바 소프트웨어 개발 과는 달리 오히려 이 책은 어느정도 공부를 해 본 사람들이 봐야 이해할 수 있지 않을까 싶다. 작성자 또한 현재는 솔직히 많은 부분이 이해가 된다고 할 수는 없지만 나중에 더 익숙해 졌을때 꼭 다시한번 봐보고 싶은 책이였다. 


번외적으로 여기 나오는 내용은 취업 면접에도 도움이 되지 않을까 생각도 하기는 했다.



책에서는 처음에 자바 성능과 최적화가 뭔지에 대해서 정말 간략하게 설명해준다. 당연히 이 책이 전체적으로 설명하는 내용이므로 무엇을 미리 알고 가야하는지에 대해서 알려준다고 생각하면 될 듯 싶다. 2장도 마찬가지로 자바에서 성능의 큰 부분을 차지하고 있는 JVM 내용인 많큼 이 부분도 꼭 알아야 할 부분인 듯 싶다. 3장은 어떻게 보면 2장의 연장선에 있다고 생각하면 좋을 듯 싶다. JVM 으로 해서 간단한 GC 내용을 설명해준다.


그 다음장에서는 이제 성능 테스트 기법을 알려주면서 성능 튜닝을 시작한다. 5장은 4장의 연장선상이라 생각해도 좋을 듯 싶다. 6장에서부터는 GC 에 대한 이야기로 시작해서 8장까지 이야기가 이어지고 있다. 그 뒷장에서도 계속해서 자바의 단순한 문법이 아니라 성능에 있어서 중요한 부분들에 대해서 다루고 있다.


개인적으로는 책을 읽으면서 이렇게까지 성능 튜닝을 해야하나? 혹시 성능튜닝하다가 오히려 프로그램을 망치지는 않을까? 하는 생각이 들기도 했다. 하지만 언젠가는 반드시 해야 할 작업이라 생각하고, 미리미리 준비해 두는 것도 좋을 것이라고 생각한다. 


"만약 자바가 느리다" 라는 말을 혹시나 많이 들어본 사람들은 이 책을 읽으면서 성능 튜닝을 어떻게 할 수 있는지 한번 확인해 보면 좋을 것 같다. 작성자의 경우에는 이 책을 읽으면서 그래도 자바에 대한 많은 궁금증이 해소되었었던 것 같다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
자기주권 신원증명 구조 분석서 - DID와 자격증명 분석부터 하이퍼레저 인디 블록체인 플랫폼 분석까지
윤대근 지음 / 제이펍 / 2020년 7월
평점 :
장바구니담기



블록체인 생태계에서 현재 가장 활발하게 진행되고 있는 두 가지 분야가 있다면 하나가 DID, 다른 하나는 DeFi 일 것이다. 그런데 이 두가지 분야는 개념 익히기도 어렵기 때문에 진입장벽이 높은 기술이라고 할 수 잇을 것 같다. 이 책은 그 중 DID(SSI) 를 상세하게 다루고 있다.


우선 이 책에서는 SSI에 대해서 정말 자세히 쉽게 설명해주고 있다. 하지만 절대 쉬운 책이 아니라는 점을 말씀드리고 싶다. 일단 블록체인이라는 개념 자체가 어려운 개념인데다가 SSI 는 거기에 한술 더 나아간 어려운 개념들이 포함되어 있기 때문이다. 그래도 개인적으로는 지금까지 보았던 다른 블로그 글보다 쉽게 쓰여있다고 생각한다.


저자도 이전에 하이퍼레저 패브릭으로 배우는 블록체인 이라는 책을 쓰셨었는데 그 책 또한 하이퍼레저에 대한 내용에 대해서 정말 상세히 알려주었었던 것으로 기억한다. 이에 못지 않게 자기주권 신원증명 구조 분석서 책도 내용을 하나하나 자세히 잘 설명해준다. 또한 책을 읽을 때 문맥때문에 안읽히거나 하는 경우는 거의 없을 것으로 생각한다.


하지만 이 책을 구매하고자 하는 분이라면 "내가 블록체인을 한번 쯤 본 적 있는가?", "개발을 해본 경험이 있는가?" 는 한번 생각해봐야 할 듯 싶다. 왜냐하면 다시한번 강조하지만 이 책이 SSI 에 대해서는 정말 쉽게 이해할 수 있도록 쓰여 있다고 하더라도 SSI 라는 주제 자체가 어렵고, 특히나 처음 접해보는 분야라면 개념 자체도 생소해서 이해하기 힘들수도 있겠다는 생각이 들기 때문이다. 또한 중간중간 개발자들이 사용하는 용어들이 나오는데 물론, 이 책에서 설명해주긴 하지만 지식 없이 읽기는 무리가 있지 않나 싶다.


또한 이 책에서 하이퍼레저 인디 에 대해서 알려주고는 있지만 실습을 깊게 하거나 예제를 많이 들면서 진행하는 방식이 아니기 때문에 단순히 코드를 통한 개발 하는 방법을 알고 싶은 분들은 다른 참고서를 찾아보길 바란다. (물론 아직까지 DID 에 관한 개발 서적은 없다시피 하다.) 작성자의 경우에는 개발도 개발이지만 SSI 에 대한 개념을 제대로 잡아보고 싶어서 이 책을 읽었기 때문에 매우 만족하고 읽은 책이였다.


책은 초반에 SSI 대한 간단한 개념과 왜 필요한지에 대해서 설명해주면서 시작한다. 여기서 강조하는 점은 SSI 기술 자체가 블록체인을 써야만 한다는 점이 아니라 블록체인을 활용하면 좀 더 편하게 SSI 를 구축할 수 있다는 점을 시사하고 있다.


그 후에 이제 SSI 의 구성요소 중 하나면서 오히려 더 친숙한 DID 에 대해서 설명해준다. 그 후에는 VC, VP 개념에 대해서 설명하고 이러한 SSI 프로젝트를 어떻게 사용되는지 예시를 들어준다. 여기 있는 세 개의 챕터가 정말 중요한데, 이 챕터를 이해하지 못하고 넘어간다면 다음장에서 이어지는 PeerDID, Hyperledger Indy 를 이해하는데 어려움이 많을 것이라 생각한다.


5장에서는 Peer DID, 즉 어떻게 보면 Private 한 DID 에 대해서 설명해준다. 이전 챕터까지는 public 한 환경에서 DID 를 구성했다면 Peer DID 에서는 어떻게 환경을 구성해야 하는지, 그리고 그 요소들은 무엇이 있는지 설명해준다.


그리고 드디어 마지막장에서는 SSI 플랫폼 중에서 가장 유명한 하이퍼레저 인디에 대해서 설명해준다. 만약 앞에서 설명한 개념들을 잘 이해하고 왔다면 Indy 플랫폼 설계를 설명하는 6장은 앞보다는 쉽게 읽힐 것이다. 다만, 이 부분에서는 약간의 코딩이 들어가니 개발자가 아니라면 6.2 장은 넘겨도 될 것 같다.


아무래도 작성자의 경우 블록체인 회사에서 근무하고 있기 때문에 다른 사람들보다 더 재미있게 빠져서 읽었을지도 모른다. 하지만 미래의 인증체계는 어떻게 바뀔지 모르기 때문에 블록체인 종사자가 아니더라도 SSI 에 대한 프로토콜(형식)은 알아야 하지 않을까 싶다.


이 책을 읽기 전까지는 DID 와 SSI 에 대한 개념이 머릿속에 난잡하게 엮여 있었는데 이 책을 읽고 나서 머리속에 있던 개념들이 정리 된 느낌이다. 또한 작성자의 경우도 잘 몰랐던 부분들도 더 상세하게 알려주고 있고 초반부터 SSI 에 "Why Blockchain" 이라는 부분도 제시해주기 때문에 더 깔끔하게 읽을 수 있도록 도와줬던 것 같다,


만약 블록체인이라는 산업에 근무하시는 분이라면 당연히 한번쯤 들어봤을 SSI(DID) 에 대해서 개념을 정리하고 더 자세히 알고 싶다면 꼭 이 책을 읽어 볼 것을 권하고 싶다. 또한 훝날 미래의 인증 시스템이 될 확률이 높은 신기술을 먼저 접해보고 싶은 분도 이 책 한권이면 전체적으로 개념을 정리할 수 있을 것으로 생각한다.




댓글(0) 먼댓글(0) 좋아요(3)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
실전 자바 소프트웨어 개발 - 4가지 프로젝트로 배우는 최신 자바 개발 기법
리처드 워버턴 지음, 우정은 옮김 / 한빛미디어 / 2020년 6월
평점 :
장바구니담기




스프링을 사용하지 않고 자바로 어떻게 개발할 수 있나 궁금했었다. 실전 자바 소프트웨어 개발 책의 목록을 보게 되면 프레임워크를 따로 쓰지 않으면서 개발해나간다는 것을 알 수 있다.


책 자체의 길이는 솔직히 많은 내용을 담기에는 분량이 작은 것이 사실이다. 그러다보니 디자인 패턴에 대해 자세히 설명한다기 보다는 너네가 배운 디자인 패턴을 이렇게 적용할 수 있어 라는 식으로 설명하는 느낌이였다. 즉, 자바도 배웠고 디자인 패턴도 배웠는데 이건 어떻게 사용해야 하지? 하는 사람들에게 필요한 책이라는 생각이 들었다.


책 내용 자체도 어려운 편에 속하지는 않는다. 하지만 위에서 이야기했듯이 디자인 패턴을 아무것도 모른다면 생략되어 있는 내용들이 많아 읽는 도중에 막힐 수도 있을 것 같았다. 그래도 책 자체가 어렵지는 않아서 빠르게 한번 훝어보고 싶은 사람에게 어울릴 것 같다.


결론적으로 막 자바를 끝내서 이제 뭘 공부할까 고민하는 사람들 혹은 앞에서 이야기했지만 단순히 스프링부터 공부하면서 다른 원칙들을 잊은 채 스프링에서 제공된 함수만을 쓰면서 원리를 잊어버리고 사는 분들에게 추천하고 싶은 책이다. 하지만 이미 자바를 몇년 써왔거나 회사에서 테스트코드를 위주로 디자인 패턴을 적용하면서 사용하는 사람에게는 시간낭비일 수 있을 것 같으니 추천하지 않는다.




책에서 4가지 프로젝트로 배우지만 각 챕터의 구성은 비슷하다. 먼저 실제로 어떤 요구사항이 들어왔고 어떤 기능을 개발해야 할지 리스트를 정리한다. 그러면서 이 요구사항에서는 어떤 디자인 패턴을 적용해서 개발하는 것이 좋을지 설명하면서 하나하나 개발해 나간다. 그러다보니 처음에는 간단하게 하나의 클래스에서 KISS(Keep it small and simple) 원칙만을 지키면서 개발해나가지만 그 이후에는 DRY 원칙으로 시작해서 SOLID 원칙을 어떻게 지켜나가야 하는지에 대해 개발한다. 또한 뒷장으로 가게되면 TDD 개발 방법론을 이야기해주면서 함수형 프로그래밍에 대해서 간략하게 이야기햐고 끝이 난다.


이 책을 읽다보면 아 이런식으로 디자인 패턴들이 적용되고 있고 "스프링" 이란 프레임워크도 이런 원칙을 지키고 있겠구나 하는 생각이 들게 만들었었다. 다만 조금 아쉬웠던 점은 앞에서도 이야기했지만 생략되어서 이야기된거 같다는 생각이 많이 들었다는 점이였다.즉, 개인적으로는 다시 한번 개념을 공부한다는 생각으로 읽으니 재밌게, 빠르게 한번 읽어볼 수 있었지만 어떤 사람들에게는 조금 아쉬울수도 있지 않을가? 하는 생각이 들었다.


혹시 이 책을 구매하고자 하는 분이라면 "내가 디자인 패턴을 한번쯤 공부해 본 적이 있었는지" 생각해보고 그렇지 않다면 이 책을 읽으면서 디자인 패턴 용어가 나왔을 때 함께 볼 수 있는 개념서 정도 하나 함께 읽으면 좋을 것 같다고 생각한다. 




댓글(0) 먼댓글(0) 좋아요(2)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
코틀린을 다루는 기술 - 코틀린답게 코딩하자!
피에르 이브 쏘몽 지음, 오현석 옮김 / 길벗 / 2020년 3월
평점 :
장바구니담기




평상시에도 코틀린으로 안드로이드를 개발하면서 대략 3년정도 코틀린을 써왔던 것 같다. 그래서인지 보통 내용과는 다를 것 같은 이 코틀린 책에 흥미를 가지게 되어 읽게 되었다. 


책은 첫장부터 정말 멋졌다. 처음에 코틀린 개요에 대해서부터 설명할 때부터 흔히 생각할 수 있는 그런 방식으로 설명하지 않는다. 즉, 기본 개념을 설명할때부터 코틀린 답게 사용하는 법을 알려주면서 시작한다. 책 이름인 코틀린을 다루는 기술에 정확히 들어맞는 내용이다. 


그러다보니 코틀린을 배우지 않은 사람들에게는 매우 어려울 듯 싶다. 또한 코틀린을 다루는 법에 대해서 알려주지만 기본적으로는 함수형 프로그래밍 방법에 대해서 대부분의 책 내용을 할애하고 있다. 물론 그 설명할 시 언어를 코틀린으로 설명할 뿐이다.(자바와 비교하는 구문도 많이 보인다.) 이 또한 만약 함수형 프로그래밍을 처음 접하는 사람이라면 이 책을 읽는데만 시간이 얼마나 걸릴지 잘 모르겠다. 작성자의 경우도 함수형 프로그래밍에 대해 아직 익숙하지는 않아서 이해하면서 읽는데 시간이 오래 걸렸던 것 같다.(리뷰 마감일에 거의 딱 맞춰서 읽었다.)


이 책을 진행할 때 특이한 구성은 책의 내용을 설명하고 연습문제가 있는게 아니라 책 내용을 설명하기 위해 연습문제를 계속해서 내준다는 점에 있다. 개인적으로는 책을 읽을 때 바로 결과를 보고 끝내는 것이 아니고 스스로 생각해볼 수 있는 기회를 줄 수 있어서 마음에 들었던 구성이었다. 그래서인지 책을 읽는데 조금 오래 걸렸던 것 같다.


다만 아쉬웠던 점은 코틀린 진영에서 유행하고 있는 코루틴에 대해서는 따로 다루고 있지 않다. 만약 코루틴까지 코틀린답게 작성하는 법을 다뤘더라면 정말 이 책은 완벽한 책이 되었을 것 같다는 생각이 들었다. 하지만, 이에 대한 내용이 따로 없더라도 정말 "내가 사용한 코틀린은 그냥 자바문법을 따라한 것 뿐이구나" 라는 생각을 계속 들게 만들 정도로 만족하면서 읽은 책이다. 


결론적으로 이 책을 구매하고자 해서 이 리뷰를 보시는 분이라면 무조건적으로 구매하기를 추천하고 싶다. 작성자의 경우도 아직 다 읽지도 않은 상태에서도 주변에 이 책을 계속 홍보하고 다닐 정도였다.




책에서 첫장에 당연히 책을 읽어야 하는 이유에 대해서 알려주고 있다. 다만 특이점은 단순히 "왜 코틀린을 써야하나?" 에 집중해서 쓰여있지 않고 "왜 코틀린을 코틀린답게 써야하나" 에 대해서 설명해주고 있다.


2장에서는 전체적인 코틀린 프로그래밍 개요에 대해서 설명하는데 결국 코틀린 문법을 간략하게 설명하는 장이다. 하지만 이 장 또한 다른 책들과 다른점은 처음에 평범하게 코딩을 배웠다면 사용할 코드 스타일을 적어놓고 리펙토링을 해가면서 코틀린 문법을 왜 이렇게 써야한는지에 대해서 대략적으로 설명해준다.


3장에서는 함수형 프로그래밍으로 들어가기 위한 준비를 하는 장이다. 물론 이 장에서 함수형 프로그래밍의 원론적인 개념에 대해서 설명하는 것이 아니라 함수 기반으로 되어 있는 코틀린 언어를 함수형으로 작성하는 법에 대해서 알려준다. 그렇게 읽다보면 자연스럽게 함수형 사고를 하고 있는 자신을 발견할 수 있을 것이다.


4장은 함수형 프로그래밍을 할때 (절대적으로) 필요한 재귀,공재귀,메모화 에 대해서 다루고 있다. 이쯤에서 읽으면 알겠지만 계속해서 함수형 기법을 설명해주면서 코틀린으로 함수형 프로그래밍을 하는 방법에 대해서 이어나가고 있다. 특이한 정은 공재귀와 재귀의 차이점에 대해서 정확히 짚어주려고 하는 점이다. 


5장에서는 리스트를 다루고 있다. 사실 함수형 프로그래밍을 할때의 장점이 리스트를 다루기 쉽다라는 점인데 이 부분에 대해서 코틀린에서는 어떻게 잡는지, 또한 코틀린의 List 가 어떻게 구성되어 있는지에 대해서 설명하면서 리스트를 다루는 방법에 대해서 알려준다.


6장에서는 널참조와 Option 에 대해서 설명하면서 함수형 프로그래밍에서 자주 등장하는 용어인 모나드 를 맛볼 수 있게끔 해준다. 특이한 점이 있다면 책 설명중에 모나드라는 말은 따로 안쓰다가 마지막에 "바로 이게 모나드에요" 라고 간단하게 말하고 넘어간다.


7장은 예외처리를 하면서 함수형 프로그래밍에서 에외를 처리하는 방법인 Either 에 대해서 배우게 된다. 또한 Exception 을 감싸고 있는 Result 에 대해서도 배운다. 그러면서 Result 를 잘 사용하는 방법에 대해서 구체적으로 알려준다. 


8장에서는 7장에서 배운 예외처리 방법을 가지고 리스트를 아름답게 사용할 수 있는 방법에 대해서 알려준다. 사실 이 장은 위해서 5~7 장을 배운 듯 싶다. 이전 장에서 배운 개념을 가지고 리스트의 성능부터 시작해서 다양한 방법으로 리스트를 다루는 방법을 설명한다.


그 이후에도 계속해서 함수형 기법과 코틀린을 가지고 함수형으로 더 코틀린답게 어떻게 코딩하는지에 대해서 설명해준다.


부록또한 그냥 지나치기는 어려웠다. 부록조차 다른 책이였더라면 한 부분을 할애해서 만들어도 괜찮을 정도다. 부록A 는 자바와 코틀린을 함께 사용하는 방법에 대해서 알려주는데 안드로이드 개발자라면 레거시 때문에 알아야만 하는 정보에 대해서 설명해준다. 부록B 는 코틀린 테스트 방법에 대해서 알려주는데 개인적으로 궁금했던 부분이라서 더더욱 마음에 들었던 부분이였다.




책을 다 읽고 나니 "와 이 책 정말 미쳤다." 라고 생각이 들었었다. 이 책을 단순 코틀린 책이 아니라 함수형 프로그래밍에 대해서도 알려주고 코틀린을 어떻게 써야 하는지에 대해서도 알려준다. 단순히 언어 지식에 관련해서 다룬 책들 중에서 오랜만에 마음에 드는 책이였다. 나중에 기회가 생긴다면 이 책으로 스터디를 한번 열어보고 싶기도 하다.


다만 혹시 코틀린에 대해서 아무것도 모르는 분들이라면 다른 책을 권하고 싶다. 하지만 한번이라도 코틀린을 다뤄 본 사람은 이 책을 반드시 읽어보길 바란다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
핸즈온 머신러닝 - 사이킷런, 케라스, 텐서플로 2를 활용한 머신러닝, 딥러닝 완벽 실무, 2판
오렐리앙 제롱 지음, 박해선 옮김 / 한빛미디어 / 2020년 5월
평점 :
구판절판




작년부터 기다려왔던 핸즈온 머신러닝 2판이 번역되었다는 소식을 듣고 기대하고 있었다. 이전에 1판을 읽고 2판 원서를 가지고 있는데, 아무래도 원서는 보기가 불편했었다. 그래서 대략 1000 페이지가 되는 엑박에도 불구하고 열심히 2판을 읽어보기로 결심했었다.


책은 1판과 동일하게 번역이 깔끔하게 잘 되어 있다. 그래서 읽는데 번역투로 인해 불편함을 겪는다거나 하는 경우는 거의 없었다. 또한 이번 책은 컬러로 되어 있어서 그런지 시각화 그래프가 눈에 잘 들어왔다. 1판과 다른 점은 1장(머신러닝)에서는 "비지도 학습" 이 추가되었으며 2장(딥러닝) 에서는 전처리, 대규모 모델 훈련방법 등 여러가지가 추가되었다. 단순한게 생각하면 1판 내용에 더 많은 것들이 추가되었다고 생각하면 좋을 듯 싶다.


머신러닝 입문서긴 하지만 아예 파이썬을 모르고 실습하는 것은 불가능하다. numpy, pandas, matplotlib 는 따로 설명하지 않기 때문에 이 부분을 미리 알고서 봐야 한다. 아무래도 핸즈온 머신러닝 자체가 이론에만 치중해서 설명하기 보다는 코드와 함께 돌아가는 것을 함께 보면서 설명하기 때문에 코딩에 대한 아무런 지식이 없을 경우 읽어나가기 힘들 수도 있다. 물론 라이브러리 마스터가 되어서 볼 필요는 없다. 딱, 이 코드가 뭘 설명하는지 읽을 수 있으면 된다. 


명성에 맞게 책 내용은 정말 마음에 들었다. 정말 깊게 들어가서 입문하는 사람이 어렵지 않게 쓰여 있어 전문적으로 데이터 분석 업무를 맡고 있지 않은 사람이 취미로 읽어보기에 딱 알맞다. 그래서 처음 데이터 분석에 입문하고 싶은 사람들에게 매우 추천하고 싶다. 또한 작성자처럼 이전에 공부했었지만 이후에 잊어버려서 다시한번 상기시켜보고 싶은 사람들도 읽어보면 좋을 듯 싶다. 


다만 핸즈온 머신러닝 특성상 이론에 대해서 깊게 파고들거나 하지 않는다. 혹은 뒤에서 다시 자세히 설명해주곤 한다. 처음 읽는 사람들에게는 조금 이해가 안가는 부분이 있을 수 있는데 이 부분은 건너뛰기를 바란다. 개인적으로도 일단 모든 이론을 다 알고 사용하는 것보단, 처음에는 전체적으로 흐름을 되짚어보고 이해 안갔던 부분을 복습하고 찾아보면서 익히는 것이 좋은 공부법이라고 생각하고 있다. 


결론적으로 만약 이 책을 두세번정도 정독해본 독자라면 머신러닝과 딥러닝에 대해서 전체적인 흐름을 이해할 수 있는 수준이 될 수 있지 않을까 싶다. 그 후에 더 자세하게 공부하고 싶다면 그 분야를 심층적으로 파보는 것을 추천한다. 




책에서는 우선 머신러닝이 무엇인지 알려주고, 머신러닝 프로젝트를 진행할 때 어떤 방식으로 진행되는지 알려준다. 사실 통계에 대한 지식이 이 부분에 밀집되어 있어 통계에 대한 지식을 잊어버린 분이라면 이 파트를 한번 훝어보길 바란다. 또한 딥러닝, 머신러닝 기술에 대해서만 집중을 하는 사람들이 많은데 이 파트를 읽으면서 어떤 목적을 가지고 기술을 쓸 것인지를 생각하면서 읽으면 어떨까 싶다.


그 후에는 머신러닝 알고리즘에 대해서 설명하기 시작한다 그러면서 다양한 알고리즘에 대해서 알려준다. 우선 일반적인 회귀분석으로 시작하여 로지스틱회귀, 서포트 벡터 머신, 트리, 앙상블, 차원축소에 대해서 설명해준다. 파트파트가 짧지만 함축적으로 많은 내용을 담고 있기 때문에 시간은 걸리겠지만 이해하면서 읽기에는 충분하다. 머신러닝 마지막장에는 이번에 추가된 비지도 학습에 대해서 알려준다. 사실 이전 파트에서 비지도 학습을 알려주지만 이 장은 클러스터링에 대한 이야기라 생각하면 될 것 같다.


2장부터는 드디어 딥러닝에 대한 이야기가 나온다. 작년에 텐서플로우가 2.X 으로 바뀌면서 이전 버전과는 달리 2.X 버전을 가지고 설명한다. 즉, 케라스에 대해서 설명해준다. 그래서 그런지 초반에 텐서플로우에 대한 내용이 추가되었다. 또한 전처리 파트가 하나의 장으로 추가된 점은 인산적이였다. 그 후부터는 이제 딥 뉴럴 네트워크 알고리즘에 대해서 하나하나 설명해준다. ANN, CNN, RNN, GAN 을 포함해서 강화학습까지 진행하면서 전체적인 딥러닝의 알고리즘에 대해 배워 볼 수 있다.




이 책을 읽으면서 이전부터 지금까지 항상 관심 가지고 있는 머신러닝에 대해서 다시 한번 공부해볼 수 있는 좋은 기회를 가졌던 것 같다. 작성자처럼 전문분야는 아닌 사람들도 이 책으로 한번쯤 공부하면서 미래를 대비해보는 건 어떨까 싶다. 나중에 시간이 난다면 다시 정독할 수 있는 기회가 있었으면 좋겠다.


마지막으로 혹시 어떤 책으로 머신러닝을 입문할까 고민하는 분들에게 일단 이 책을 먼저 권하고 싶다. 또한 레퍼런스 용으로 책 한권 구매하고 싶은 사람도 이 책을 추천한다. 이 책은 무려 1000 페이지라서 왠만한 내용들은 쉽게 찾아볼 수 있을 것이다.


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