파이썬으로 배우는 딥러닝 교과서 - 이미지 인식 모델을 만들면서 익히는 딥러닝 파이썬으로 배우는 교과서
이시카와 아키히코 지음, 박광수 옮김 / 한빛미디어 / 2020년 3월
평점 :
장바구니담기


  • 이 책은 한빛미디어의 «나는 리뷰어다» 이벤트로 받은 서적입니다.

책표지!

1

이 책은 이미지 인식 모델을 예제로 다루고 있는 Python 학습자를 위한 교재다. 그러니 Python 처음 배우는 분들에게 적합한 책이다. 책의 전체 22개 챕터 중에서 8개 챕터를 제외하면 대부분의 내용이 Python, Pandas, Matplolib 등의 내용을 다루고 있기 때문이다. 즉, 머신러닝에 관심이 많아서 이 책을 구매하면 생각보다 적은 분량에 당황하게 되고, Python을 학습하려는 목적으로 구매했다면 생각보다 좋은 책이다.

처음 Python을 배우거나, Pandas나 Numpy 등을 처음 접한다면 이 책은 굉장히 좋은 가이드가 되어줄 것이다. 그리고 간단하지만 자세한 ML 관련 예제를 통해서 자신이 배웠던 내용을 하나의 완결된 예제로 끝맺음 할 수 있다. 반면 Python 및 Numpy, Pandas 등에 대해서 잘 앍고 있다면 조금 더 전문적인 교재를 선정해도 좋을 듯 싶다. 예를 들면, 박해선님이 이번에 개정판으로 출판하신 교재(핸즈온 머신러닝)등이 적합하다.

2

이 책으로 인터넷에서 스터디를 진행하면서 좋았던 점은 입력과 결과를 명확하게 나눠서 소개하고 있어서, Juptyer Notebook을 처음 사용하는 분들도 손쉽게 오류를 검증할 수 있었다. 이렇게 편집된 책이 처음인데 읽는데 굉장히 편하고 좋았다.

보기 좋은 편집

그리고 비대면 스터디를 진행하다보니 연습문제를 같이 풀었는데, 생각보다 쉽고 내용을 정리할 수 있어서 좋았다. 이런 연습문제가 없으면 뭔가 막연하게 지나갔을 내용을 연습문제 덕분에 한 번더 정리할 수 있어서 좋았다.

스터디에 적절한 문제

3

처음에 ML 보다 Python 관련 부분이 많아서 조금 당황스러웠지만, 그래도 전체를 가볍게 스케치하면서 스터디를 진행했는데 초급에서 중급자까지 커버할 수 있는 교재라서 수월하게 진행한 것 같았다. 혹시 Python 기반의 ML 스터디를 진행한다면 이 교재를 사용해보면 좋을 듯 싶다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
개발 7년차, 매니저 1일차 - 개발만 해왔던 내가, 어느 날 갑자기 '팀'을 맡았다!
카미유 푸르니에 지음, 권원상 외 옮김 / 한빛미디어 / 2020년 2월
평점 :
장바구니담기


  • 이 책은 한빛미디어의 «나는 리뷰어다» 이벤트로 받은 서적입니다.

[…] CTO는 관리 직무이기도 하다. […] 다시 말해 그 비즈니스에 적극적으로 달려들 대규모 팀에 대한 모든 책임을 지고 싶지 않다면, CTO는 당신에게 맞는 직무가 아니다.

글쓴이와 사뭇 다른?

1

먼저 이 책의 저자인 카밀 푸르니에(Camille Fournier)는 Rent The runway의 CTO이자, 골드만삭스의 부사장을 역임했던 인물이며 아파치 주키퍼의 커미터다. 쉽게 말해서 관리자(CTO), 비지니스 이해관계자(부사장, Stakeholder), 개발자(커미터)임을 기억하고 읽어야 한다.

만약 이 사전 지식없이 책을 읽으면 엄청난 꼰대가 말도 안되는 소리 한다는 느낌을 받을 수 있다.

2

책의 전반적인 내용 중에서 약 1/3은 충불히 줄일 수 있을 것 같은 느낌이다. 왜냐하면 비슷한 이야기가 반복해서 나오는 경향성이 있다. 그리고 국내 상황과 비교해서 적절한지 묻지 않을 수 없다. 예를 들어 «1장 IT 관리 101»에서 아래와 같은 구절이 나온다.

매니저가 문제를 해결해주길 바라는 대신 매니저에게 문제 접근 방식에 대한 조언을 구하자. 조언을 구하는 것은 존중과 신뢰를 표현하는 좋은 방법이기도 하다.

책에 서술한 바와 같이 조언을 구하는게 존중과 신뢰를 표현할 수 있지만 과연 해당 매니저가 존중과 신뢰를 할 지 아니면 일을 떠넘긴다고 느낄지는 Case by Case 경향이 강하다. 그러니 이 책을 수용하는 독자는 이 분이 주로 근무하시는 곳이 ‘미국’임을 잊지 않아야 하며 환경이 사뭇 다르다는 점도 사전에 알고 있어야 한다.

3

반면 이 책의 전체 분량 2/3에 대해서 한 마디로 정의하면 ‘우린 문제를 해결하기 위해 존재한다’라는 명제를 계속해서 주장하고 있다는 점이다. 이게 일반적인 관리자를 위한 에세이와 사뭇 다른 점이다.

그러나 기술적으로 뛰어난 것과 좋은 테크리드가 되는 것은 직접적인 관련이 없다. […] 기술적인면과 팀 전체 요구사항 사이의 균형을 잡는 방법을 찾아야 한다. « 3장. 테크리드 »

테크리드라는 역할은 코딩을 해야 하지만 너무 많이 해서도 안 된다. 마술사가 모자 속에서 토끼를 꺼내듯이 해결책을 내놓고 싶더라도 우선 문제를 알릴 줄 알아야 한다. « 3장. 테크리드 »

제품 매니저가 주장하는 엄청난 아이디어를 시스템에서 구현할 수 있을지를 평가하는 데 스스로 확신이 있다면 상황을 관리하기가 엄청 쉽다. « 5장. 팀 관리 »

매니저가 되기 전에 충분한 시간을 들여 반드시 프로그래밍을 숙달하기를 권한다« 6장. 여러 팀 관리 »

훌륭한 디버깅이 관리와 무슨 관련이 있을까? […] 이 블랙박스는 눈으로 확인 가능한 입력과 출력이 있지만, 출력이 예상과 다를 때 그 이유를 살펴보려면 블랙박스를 열어 내부적으로 어떤 일이 벌어지고 있는지 보아야 한다. « 7장. 매니저 관리»

인용 구문에서 볼 수 있듯이 뭔가를 관리하는데 집중하는 것 같지만, 그 관리의 목적이 ‘비즈니스 문제’를 해결하기 위한 관리라는 것을 암묵적으로 전제하고 있는 듯 하다.

여기저기 디버깅?

4

임백준님을 비롯한 다른 분들의 에세이도 실려있는데, 이런 점은 매우 훌륭하다. 왜냐하면 책일 읽으면서 미묘하게 느껴지는 이질감을 해소시켜 줄 수 있고, 기고자와 글쓴이가 묘하게 대립되는 주장을 하고 있는 부분이 있는데 이런 대립되는 주장에 대해서 다시 생각해 볼 수 있는 기회를 주기 때문이다.

여기저기 디버깅?

5

비슷한 내용이 많아서 조금 늘어지는 감이 있지만, 책의 내용이나 글쓴이의 견해가 매우 명쾌하기 때문에 회사에서 어쩔 수 없니 매니저 업무를 진행해야 된다면 참고하면 좋을 책이고, 개발을 처음 시작하는 분들에게도 좋은 책이다. (초입개발자는 이 책을 읽고 여러분의 매니저가 어떻게 행동하는지 관찰해보면 좋지 않을까?)

Written on March 26, 2020



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
데이터 전처리 대전 - 데이터 분석을 위한 파이썬, SQL, R 실천 기술
모토하시 도모미쓰 지음, 윤준 옮김 / 한빛미디어 / 2019년 11월
평점 :
절판


데이터 분석을 위하여!

1

데이터 분석 혹은 머신러닝을 공부하거나 실제 서비스에 적용하기 위해서 가장 먼저 진행하는 과정은 데이터를 깔끔하게 정리하는 일이다.

나는 대학원생이자 직장인이라서 어쩔 수 없이 R과 Python을 모두 사용한다. 논문이나 다른 연구원들과 함께 작업할 경우 R을 사용해서 진행하는 경우가 많고, 회사나 다른 프로젝트는 Python을 사용한다.

대부분의 경우 데이터 전처리가 끝나면 Python의 tensorflow나 scikit-learn 등을 사용하거나 R의 경우 e1071이나 CARAT등을 사용하지만, 나는 CUDA의 도움을 받아야 되는 경우가 많고 Python이 편하기 때문에 tf나 scikit-learn등을 활용한다.

문제는 데이터 전처리의 경우 생각보다 손이 많이 가고, 모든 작업을 ‘자동화’할 수 없기 때문에 어쩔 수 없이 R과 Python 관련 데이터 처리 라이브러리를 함께 사용해야 한다. 다행스럽게도 Python에서 사용하는 Pandas와 R에서 주로 사용하는 data.table의 사용용법이 거의 비슷해서 큰 어려움이 없지만 그래도 미묘하게 다른 점이 있다.

2

가장 큰 특징

이 책의 가장 큰 특징은 Pandas와 data.table 두 가지 모두를 다루고 있으며, 비슷한 업무나 작업을 해야 할 경우 관련 사항을 한 번에 확인할 수 있어서 좋았다. 그리고 SQL 관련 내용도 추가로 제공하고 있기 떄문에 데이터 클리닝 작업을 하는 개발자나 관련 업무 종사자에게 굉장히 추천할만한 책이라 할 수 있다.

SQL만 사용하는 분들이 Pandas를 사용할 경우에도 약간의 도움이 된다. 데이터베이스에서 실시간으로 작업을 하는 연구자, 개발자에게 좋은 참고 자료가 될 것으로 생각된다.(하지만 나는 대부분의 데이터를 CSV로 작업한다). 왜냐하면 이 책의 경우 Pandas를 기준으로 놓고 보자면 기초적인 내용부터 차근 차근 다루고 있기 때문에 Pandas 초보자가 보기엔 전혀 무리가 없다. 따라서 책에서 다루는 언어(PythonRSQL) 중 하나 정도를 어느 정도 알고 있다면 책에서 소개하는 내용만 차근차근 따라하면 별 문제없이 배울 수 있다.

3

하지만 Python을 전혀 모르거나, R을 함께 사용하고 있지 않다면 아쉽지만 책의 분량에 비해서 소개하는 내용이 조금 모자랄 것으로 생각된다. 특히 그래프 관련해서 Pandas나 R 책에 비해서 내용이 많이 부족하기 때문에 전문적인 내용이 필요하시면 다른 교재도 함께 참고하셔야 됩니다. 그리고 그래프 부분이 조금 부족한 점이 조금 아쉽네요.


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


다이내믹 프로그래밍 완전 정복

책 표지

1

이 책을 읽어야 할 이유

순전히 책 표지에 끌렸다. 물론 책이 매우 얇은 점도 한 몫했다. 책 표지에서 알 수 있듯이 이 책은 재귀와 관련된 내용을 주로 다룬다.

2

책이 크게 4파트로 나뉘는데, 파트1과 파트2는 재귀호출에 대한 기본적인 내용(기본적이라고 말했지만, 사실 재귀에 필요한 거의 대부분의 내용을 담고 있음) 책 제목에 적혀 있는 다이내믹 프로그래밍에 필요한 접근방식(상향/하향)에 대해서 진자세히 다루고 있다. 책을 읽다보면 예제로 행렬에 관련된 내용을 다루고 있어서 뭐랄까… 약간의 어색함이 있지만 여튼, 파트1/2만 잘 넘겨도 충분히 많은 것을 알 수 있다. 파트1/2는 재귀에 대해서 피상적으로 알고 있던 내용을 일목요연하게 정리해주는 파트라 2~3번 정도 읽었다. 하향식/상향식 접근의 경우 내가 할 수 있다고 믿었던 것과 실제 코드를 작성하는 사이의 괴리를 어느 정도 느낄 수 있을 만큼 예제가 잘 정리되어 있으니 꼭 참고하자.

3

파트3/4로 진입하면 연습문제의 난이도가 약간 높아진다. 실전 문제를 풀면서 실력을 향상 시키기 위한 목적으로 다양한 문제를 제공하고 있다. 파트4의 경우 알고리즘의 세부적인 내용들에 대해서 다루고 있어서 파트3/4 정도를 쉽게 읽을 수 있다면 굉장한 실력이라 할 수 있다. 문제를 잘 이해하고, 파트2에서 배웠던 내용을 복습하면서 차근 차근 문제를 풀어보고 좋겠지만(하하!) 생각만큼 잘 안되니, 2~3번 정도 연습해보자.

난이도가 높다, 약간?

4

파트1/2 수준의 경우 일반적인 개발자나 학습자는 대부분 알고 있는 경우가 많고, 파트3/4의 경우 난이도가 있기 때문에 주변 동료나 친구들과 함께 문제를 풀어볼만하다. 특히 컴고 2~3학년 학생에 권한다. 재귀는 한 번 잘 배워두면 평생 써먹을 수 있으니! 시간날 때 열심히 연습하자.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
이더리움 블록체인 게임 개발 - 5가지 게임을 만들면서 배우는 솔리디티와 스마트 컨트랙트
키더 아이어.크리스 대넌 지음, 임지순 옮김, 정순형 감수 / 한빛미디어 / 2019년 9월
평점 :
장바구니담기


1

블록체인이 처음 소개될 때, 커뮤니티 차원에서 작은 코인을 만들어서 사람들에게 나눠주며 ‘Linked-List 변종같은데?’라며 작은 이벤트를 진행했다. 비트코인 광풍이 몰아치고 블록체인 기술이 전혀 다른 형태로 작동한 후에 잊었다. 그러다가 부산이 블록체인 특구가 지정되고 나서 조금씩 관심을 가지고 있었는데, 이번에 기회가 되어서 블록체인으로 게임 개발을 한다는 교재를 보고 손에 잡았다.

이것이 책 표지

주변에 경험있는 사람들이 다른 책을 추천하긴 했는데, 이론적이거나 기술적인 시기가 지난 책들이 많았다. 그리고 이론적인 것보다 코드나 작동방법에 관심이 많아서 찾아보는데 생각보다 재미있는게 없었지만 ‘게임’ 이란 단어 하나 보고 이 책을 시작하기로 했다.

2

6장까진 기본적인(그러나 쉽지 않은) 블록체인에 관한 이론적인 내용을 다루고 있고, 재미있는건 7장부터 시작된다. 그런데, 이 책은 2장에서 개발 환경 설정을 하는 부분이 있다. 블록체인 연결하는 부분이 있는데 생각보다 시간이 많이 걸렸다. 윈도우에선 작동을 잘 하지 않아서 macOS에서 진행했다.

이것은 내부

나머지 이론적인 부분은 책의 분량 때문인지 조금 간결하기 하지만, 그래도 게임관련 코드가 잘 작동하기 때문에 재미있게 코딩하면서 읽었습니다. 코드량이 많지 않아서 적당히 재미있지만, 연습문제에 대한 해답이나 참고 코드를 찾을 수 없어서 아쉽다.


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