핸즈온 데이터 시각화 - 효과적인 데이터 시각화 전략부터 20가지 시각화 도구 사용법까지
잭 도허티.일리야 일라얀코우 지음, 김태헌 옮김 / 한빛미디어 / 2022년 7월
평점 :
장바구니담기


  • 데이터 시각화라면 차트나 그래프를 통해 데이터를 더 보기 좋고 이해하기 쉽게 만드는 일이라고 단편적으로 생각했던 나에게 이 책은 예상보다 훨씬 더 넓은 시각화의 세계를 알려줬다. 많은 교육 기관에서 데이터 시각화 입문 교재로 이 책을 활용한다고 하는데, 책의 구성뿐만 아니라 내용이 교과서로 사용할 정도로 자세할 뿐만 아니라 정말 교과서에서나 볼법한 주제를 반복적으로 알려주고 있다는 점에서도 의외였고 좋았다.
  • 책의 구성은 총 4부로, 1부 기본 기술에서는 도구 및 데이터를 이용해 스토리를 구상하는 기초, 2부 시각화 구축에서는 난이도가 낮은 도구로 실습, 3부 코드 템플릿과 고급 도구에서는 코드를 직접 다뤄야 하는 정도의 난이도가 높은 도구로 더 다양한 시각화를 소개, 4부 진실하고 의미 있는 스토리 전달하기에서는 이 책에서 반복적으로 이야기하는 데이터를 이용해 진실하고 의미 있는 스토리 전달에 대해 설명한다.
  • 가디언이나 뉴욕 타임스의 사례가 아니더라도, 이제 한 번 만들면 변하지 않는 시각화가 아니라 사용자와의 인터랙션이 기본이 되면서 기술적인 요소는 전보다 훨씬 더 중요해졌고 앞으로도 3D뿐만 아니라 AR, VR 같은 분야를 생각하면 시각화에서도 기술의 중요성은 점점 더 높아져만 갈 것이 확실하다. 하지만 저자는 일관되게 진실한 이야기를 전달하는 스토리를 구성해야 한다고 말한다.
  • 초반에 처음 소개하는 지도도 부의 불평등에 대한 지도를 어떻게 전달하느냐에 따라 둘 다 진실을 전하지만 느낌이 달라지고 중요하게 생각하는 부분이 변한다는 걸로 시작한다. 테니스 스타 세레나 윌리엄스가 겪었던 흑인 여성에 대한 차별이나 유명한 메르카토르 도법의 문제점 등 데이터 자체의 문제, 알고리즘의 편향성, 시각화가 유도하는 의도한(혹은 의도치 않은) 인식의 문제 등을 알려주고, 데이터 시각화가 왜 중요하고, 또 어떤 면을 전달해야 하는지 설명한다. 또 다른 기술들도 마찬가지이지만, 시각화 기술 역시 계속 발전하므로, 단 하나의 정답만 고수하지 않고 진실을 보여주기 위한 방법을 지속적으로 찾아야 한다고 주장한다.
  • 좋은 기술을 알려주면 악용하는 일이 항상 발생한다. 책에서 차트를 사용해 속임수를 쓰는 방법도 설명하기 때문에 어쩌면 그렇게 저자의 의도와는 반대되는 결과를 가져올 수도 있다. 하지만, 시각화의 기술과 그 파급력, 또 그래서 어떤 마음을 가지고 기술을 대해야 할지까지 같이 작성한 걸 보면, 저자는 좋은 사람이기도 할 거란 생각이 든다. 다양하고 좋은 시각화 기술만 볼 거라고 생각한 나에게 저자는 시각화도 데이터를 다루는 일이므로 역시 항상 편향, 편견을 조심해야 한다는 점을 알려줬다. 생각보다 더 좋은 책을 읽게 되어 기분이 좋다.

한빛미디어 ‘나는 리뷰어다’ 활동을 위해서 책을 제공받아 작성된 서평입니다


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
똑똑한 코드 작성을 위한 실전 알고리즘 - 파이썬 예제로 문제 해결 전략 익히기
조지 하이네만 지음, 윤대석 옮김 / 한빛미디어 / 2022년 5월
평점 :
장바구니담기



이미 수많은 자료구조 & 알고리즘 책들이 있는데, 이 책의 가치는 무엇일까? 초보자를 위해, 정말 자주 사용될 부분만 집중적으로, 하지만 다른 초보자들 책에 비해 더 깊게 파고들었다는 점이 특징이라고 생각한다.

대상 독자가 초보자라는 점은 여러가지로 드러나지만, 단적으로 이 페이지만 봐도 알 수 있다. 알고리즘 책에 빠질 수 없는 시간복잡도를 설명하면서 O(NlogN)의 읽는 법을 알려줄 정도로 저자는 입문자를 대상으로 책을 썼다는 점을 알 수 있다.

책은 알고리즘이 뭔지, 복잡도가 뭔지 설명하고, hash, heap, sort, binary tree, graph라는 정말 자주 사용되는, 또한 기본적인 자료구조 & 알고리즘을 한 챕터씩 설명한다. 목차를 보고 든 첫 인상은, 혹시 저자가 interview를 준비하는 사람들을 위해 이런 구성을 선택했나? 하는 생각을 할 정도로, 기초적인 (동시에 매우 중요한) 부분에 집중했다는 생각이다. 실제로 그동안 했던 coding interview를 생각해보면, 주제들이 O(N), hash, sort, binary tree, heap등이 자주 나오고 graph만 해도 보기 쉽지 않으며, 가끔 dyanmic programming을 경험했었다.

앞서 이야기했지만, 다른 책과 좀 차별화되는 점은 하나 하나의 주제를 좀 더 깊게 파고든다는 점이다. 예를 들어 sort에서 tim sort를 다루거나 binary tree에서는 AVL tree를 설명하는 등 완전 초보용으로 보기에는 약간 난이도가 있는 부분까지 설명한다.

책의 마지막에서도 이야기하지만 이런 초보자용 알고리즘 서적은 정말 다양하고 풍부한 알고리즘 세계의 시작에 불과하며, The Art of Computer Programming은 여전히 프로젝트가 진행중이다. 이 책은 이런 알고리즘 세계로 가는 좋은 시작점이다.

한빛미디어 ‘나는 리뷰어다’ 활동을 위해서 책을 제공받아 작성된 서평입니다


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
혼자 공부하는 파이썬 - 1:1 과외하듯 배우는 프로그래밍 자습서, 개정판 혼자 공부하는 시리즈
윤인성 지음 / 한빛미디어 / 2022년 6월
평점 :
장바구니담기


python 책은 이제 너무 흔하다. python 초보를 위한 책도 정말 다양하다. 하지만 그래도 여전히 처음 시작하는 사람들은 책만 가지고 공부하기 어려운 게 사실이다. 최근 몇 년간은 AI나 data science의 인기가 높아져서 공부를 시작하는 사람들에게 우선 python을 알아야 한다면서 보통 chapter 1 introduction, chapter 2 python basic으로 시작하고 뒤에서 이론과 결합해서 설명하거나 좀 더 어려운 부분을 추가하는 책들이 많은데, 이런 책은 보통 입문자에게는 도움이 안 된다. 시작하는 사람들에게는 (아무리 python이 상대적으로 배우기 쉬운 언어라고 해도) 한 chapter로 python을 배우기는 여전히 어렵고, 이미 python을 알기 때문에 뭔가 배우려는 사람들에게는 이런 chapter는 필요가 없기 때문에 개인적으로는 항상 계륵과도 같은 부분이라고 생각했다.

그런 면에서 아예 입문자를 대상으로 하나하나 가르쳐주는 이런 책이 현실적으로 유용할 거라고 생각한다. 일단 이 책은 저자가 믿음이 간다. 모든 책이 최고는 아니라고 해도, 이미 수십년간 프로그래밍 책을 만들어온 분(소개에 보면 이 책이 67번째 책이라고)이라 정말 입문자를 생각해 자세하고 이해하기 쉽게 설명했다는 생각이 든다.

  1. source code를 받아 전부 실행해봤는데, 살펴보면 비슷한 형태의 코드를 chapter가 지나면서 조금씩 다듬어서 발전시키는 방향을 택해 익숙한 가운데 새로운 걸 배울 수 있게 신경 썼고
  2. 여기저기 그림으로 개념을 설명해 조금이라도 이해하기 쉽게 설명한다. chapter 1을 보면 python 설치를 하고 환경 설정을 하는데, 일일이 screenshot과 함께 설명을 해서 입문자들이 보통 포기하기 쉬운 환경 설정도 가능한 스스로 할 수 있게 구성했다는 점을 알 수 있다.
  3. 또 책을 살펴보면 기본편과 고급편(chapter 7부터)으로 나뉘는데, 고급편의 내용이 모듈과 클래스이다. 이미 어느 정도 python을 자유롭게 쓰는 사람이 보기에는 정말 답답할 정도로 자세히 설명했다는 걸 이런 chapter 이름만 봐도 파악할 수 있을 정도이다.
  4. 마지막으로 source code 제공이야 당연한 거지만, youtube channel과 혼공이란 사이트를 통해 여러모로 신경을 썼다는 점이 참 좋다고 생각한다(이런 걸 보면 모든 분야가 그렇지만 프로그래밍 책도 과거보다 할 일이 정말 많아졌단 생각이 든다. 책만 잘 쓰는 거도 부족해서 코드도 제공해야 하는데, 이제는 youtube 강의도 해야 하니).

python은 분명히 배우기 쉬운 언어이다. 하지만 어디까지나 상대적으로 쉬울 뿐 프로그래밍을 안 하던 사람이 배우기 쉬운 정도는 아니다. 그런 면에서 관심을 갖고 시작을 하려는 사람에게 자신있게 추천할 수 있는 책이다. 내 책도 지인중 비전공자인 사람에게 선물할 생각이다.

Ref.

https://hongong.hanbit.co.kr/

https://www.youtube.com/playlist?list=PLBXuLgInP-5n2fvfXHU9mHVuWBgAKpHNi

https://cdn.hanbit.co.kr/examples/10565/source.zip


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
엑셀이 편해지는 파이썬 - 엑셀 사용자를 위한 자동화 구축과 데이터 분석
펠릭스 춤슈타인 지음, 한선용 옮김 / 한빛미디어 / 2022년 4월
평점 :
장바구니담기


엑셀은 최초의 스프레드시트는 아니지만 사실상 스프레드시트의 표준이 된 지 오래이다. 막강한 협업 기능과 브라우저에서 편리하게 사용 가능하다는 장점을 통해 구글 시트가 맹렬히 추격하고 있지만, 그래도 “아직”이라는 말이 맞을 거 같다. 특히 회사에서 excel을 통해 쌓인 과거의 유산이 많은 경우 이전하기가 여전히 힘든데, 이런 면에서 excel을 좀 더 편리하게 쓰려는 시도는 예전부터 꽤 있었고, 이미 관련 서적이나 특화된 유튜브 채널도 존재한다. 지금 일하고 있는 회사에서도 업계 특성상 과거부터 excel file이 업무의 중심에 있었고, 여전히 여러가지로 활용을 많이 하기 때문에 관심을 갖고 있었는데, 마침 알맞은 책이 나와서 기쁜 마음으로 살펴보게 되었다.

책의 대상 독자는 프로그래머라기보다 엑셀을 사용할 줄 아는 도메인 전문가, 즉 프로그래밍 초보자라고 생각한다. 책의 목차를 살펴보면 Part1은 전부 이런 사람들을 위한 설명, 엑셀에 파이썬을 사용해야 하는 이유, 개발 환경 설정과 파이썬 기초에 할당했다. 또한 저자는 엑셀이 프로그래밍 언어라고 생각한다. 단지 전형적인 프로그래밍 언어와 다를 뿐이고, 그러므로 전형적이지 않은 개발자들, 회계사, 트레이더, 혹은 다른 직종의 직장인들을 위해 이 책을 썼다고 설명한다. 즉 내가 보기엔 전형적인 프로그래밍은 모르지만 알면 편리하게, 일의 효율을 향상시킬 수 있는 도메인 전문가를 위한 책이다.

numpy, pandas, OpenPyXL, XlsxWriter, pyxlsb, xlrd, xlwt, xlwings와 같은 다양한 package들의 사용법을 따라하며 배울 수 있는게 이 책의 가장 큰 장점이다. 앞서 말했듯 도메인 전문가, 즉 엑셀은 잘 사용하지만, python을 잘 모르는 사람들을 위해 계속 참고할 수 있도록 이론적인 면과 함께 예제를 통한 설명을 하고 있으며, 특히 script 작업을 하기 위한 자료가 많다.

다만 모든 programming 언어를 다루는 데 있어 기본에 가까운 I/O 작업에 대한 설명이 많이 없는 게 좀 단점이고 의아하단 생각이 든다. csv나 txt file을 사용해 파일을 읽고 다루는 방법을 설명하는 건 이 책의 대상 독자를 고려하면 당연하다고 생각하는데 Part1 — Chapter3 파이썬 시작하기에서 설명을 해줘야 하지 않았을까? 하는 의견이다(물론 나중에 pandas의 read_csv같은 걸 사용하는게 나오긴 한다).

또 많은 책이 그렇듯이 난이도의 상승이 급격하게 느껴질 수도 있다는 점도 독자에 따라서는 단점이 될 수도 있다. 예를 들어 후반부에 나오는 ‘웹 API’같은 부분은 프로그래머가 아닌 독자들이 보기에는 내가 이런 것도 알아야 할까? 하는 의문을 가질 수도 있는 부분이다.

하지만 몇 가지 단점에도 불구하고, 이제 프로그래머가 아닌 사람들도 프로그래밍을 하는 게 더 이상 어색하지 않은 시대라는 걸 생각해보면, 사무실에서 가장 압도적으로 많이 사용하는 프로그램인 엑셀을 더 잘 활용할 수 있는 여러가지 막강한 방법을 알려주는 이 책의 장점은 절대 퇴색되지 않을 것이고, 어떻게 활용하느냐가 문제이지, 그 유용성은 절대 의심할 필요가 없다고 생각한다.

한빛 미디어 “나는 리뷰어다” 활동을 위해서 책을 제공받아 작성한 서평입니다.


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
도메인 주도 개발 시작하기 - DDD 핵심 개념 정리부터 구현까지
최범균 지음 / 한빛미디어 / 2022년 3월
평점 :
장바구니담기


  • 개발 세계에는 여러가지 개발 방법론이 많다. 가장 유명한 건 아무래도 TDD이겠지만, 최근 가장 각광받는 건 DDD라고 생각한다. 그 이유는 아마 세상의 수많은 software는 대부분 현실의 문제를 해결하기 위해 만들었을텐데, 그걸 해결하는 게 여전히 힘들기 때문이라고 생각한다.
  • 현실의 문제를 해결하는 게 아직도 힘든 이유도 여러가지가 있겠지만, 그 중 하나는 비즈니스를 하는 사람들과 개발자들간의 간극에 있다. 개발자들은 요구 사항에 맞춰 서비스를 만들(었다고 생각하)지만, 비즈니스를 하는 사람들은 내가 요구한 게 아니라는, 이 업계가 탄생한 순간부터 발생했던 문제. 애자일 방법론도 사실 이 문제 때문에 나오지 않았던가. 동작하는 소프트웨어를 전달하기 위해서.
  • DDD는 이런 간극을 좁히기 위한 고민의 산물이다. 그래서 오히려 초반에 ‘Garbage in garbage out’이라는 이 업계의 유명한 문구와 함께 도메인 전문가가 같이 개발에 참여해야 한다는 걸 이야기한다. 또 도메인 전문가의 요구 사항도 항상 옳은 건 아니라는 점을 알려준다. 즉 개발자와 도메인 전문가는 같은 도메인의 비즈니스 문제를 해결하기 위해 상호 작용을 하며 고민을 통해 문제를 해결해야 한다는 지극히 상식적인, 커뮤니케이션 문제부터 짚고 간다(그리고 이게 사실 애자일 선언문의 이야기이기도 하다) . 또 서로간의 소통을 해결하기 위해 용어를 통일해 모호함을 줄이고 이런 용어 역시 계속 업데이트해야 한다는 점도(소프트웨어 뿐만 아니라 문서도 지속적인 업데이트가 필요한데 이걸 모르는 경우가 참 많다).
  • 도메인, 애그리거트, 계층 구조, 바운디드 컨텍스트 등 각 용어의 의미와 구조를 그림과 코드를 통해 설명하기 때문에 하나씩 따라가기도 좋다. 또 이 책을 읽다보면 처음부터 생각할 수도 있겠지만, 결국 이런 도메인 구조에 따라 코드를 작성하는 게 MSA와 바로 연결된다는 걸 알 수 있다. DDD를 계속해서 파고들었던 저자가 쓴 책인데다가 번역서가 아니라서 참 읽기도 자연스럽고 편하다는 점이 더 좋기도 하다.
  • 여담으로 저자의 책 중에 DDD Start라는 책이 있는데, 그래서 그런지 이번 책의 github repository 이름이 ddd-start2이다.
한빛 미디어 “나는 리뷰어다” 활동을 위해서 책을 제공받아 작성한 서평입니다.



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