진지한 파이썬 - 파이썬 작동 원리에서 확장, 테스트, 배포, 최적화까지
쥘리앵 당주 지음, 김영하 옮김 / 한빛미디어 / 2021년 1월
평점 :
장바구니담기


업무로 파이썬을 쓴 지 벌써 5년째인데, 그동안은 파이썬으로 만든 프로그램을 패키징할 필요가 없었습니다. 하둡, 스파크 등 서버에서 동작하면 그만이었습니다. 그러다 최근에 서버가 아닌 곳에 배포할 필요가 생겼습니다. 당연히 구글 검색해 보면 자료가 많이 나와서 그런가 보다 하고 있다가 이 책을 만났습니다.

이 책은 입문단계를 벗어난 파이썬 초보 개발자가 업무로서 체계적으로 노하우를 축적하며 협업하기 위한 소양을 갖추도록 합니다. Java, Spring Framework로 개발하던 사람들은 Python에서도 일대일 대응하는 도구나 개념이 있길 바라는데 그 정도는 다 갖췄다고 잘 설명해 줍니다. 책 내용을 숙지했다면 어디 가서 파이썬 개발 업무로 마냥 모르는 건 절대 없는 인재가 되지 않을까 합니다.

제가 특히 감탄한 부분은 배포, 단위 테스트, 데커레이터, ORM이었습니다. 이제까지 제가 야매로 해왔기에 모르는 부분이 많다는 건 잘 알았습니다만, 뭐가 비었는지 명쾌하게 알지 못했습니다. 이 책을 찬찬히 보니 제가 파이썬으로 좀 더 원숙할 수 있겠다는 생각도 들었습니다. 선배 역할을 해주는 책이라 하겠습니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
신경망 첫걸음 - 수포자도 이해하는 신경망 동작 원리와 딥러닝 기초 머신러닝/딥러닝 첫걸음 시리즈
타리크 라시드 지음, 송교석 옮김 / 한빛미디어 / 2017년 4월
평점 :
장바구니담기


코세라로 머신러닝 강좌를 듣다가 이해가 좀 힘들어서 예전에 샀던 책을 다시 펼쳐 들었습니다.


저 유명한 앤드류 응 교수의 코세라 딥러닝 강좌와는 찰떡궁합이랄까요? 어색한 번역이 섞여서 좀 더 어렵게 느껴지던 부분을 말끔히 해소해 주었습니다. 다만 표지에 적힌 대로 '수포자도 이해하는' 수준까지는 아니라고 봅니다. 휙 어려워지는 지점이 나옵니다. 그래도 완독하시길 바랍니다. 완벽히 이해하지는 못하더라도 신경망이라는 게 잘 돌아가는 개념이라는 사실을 잘 알게 됩니다. 인공지능, 머신러닝과 그리 친하지 않았던 입문자는 바로 구글 텐서플로나 파이토치 책을 잡기보다는 이 책을 후딱 떼는 게 더욱 도움이 되리라 단언합니다.

더불어 장 별 끄트머리에 나오는 정리가 잘 된 코드만 보지 말고, 책 중간 중간에 나오는 코드를 실제로 타이핑해가며 읽는 게 더욱 좋겠습니다. 이 정도 계산은 구글 Colab에서 수행해도 충분하니 어디서든 웹 브라우저를 켜고 공부를 이어 나가기 편합니다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
쿠버네티스 모범 사례 - 쿠버네티스 창시자가 알려주는 최신 쿠버네티스 개발 및 배포 기법
브렌던 번스 외 지음, 장정호 옮김 / 한빛미디어 / 2020년 12월
평점 :
장바구니담기


입문서가 아님을 이렇게 박력있게 드러내는 기술서는 처음 보았습니다.



다짜고짜 '이미 설치해 둔' 쿠버네티스에 응용프로그램을 설치한다며 시작합니다.


"쿠버네티스부터 설치하는 게 아닌가?" 같은 의구심이 드는 자는 이 책을 펼칠 자격이 없습니다. 반면 입문을 벗어나려는 독자에게는 눈에 쏙 들어오는 주제로 목차가 꽉 찼습니다. DevOps를 감안한 개발자 워크플로와 파이프라인 구축, 카나리 리전과 글로벌 롤아웃, 리소스 관리와 클러스터링, 모니터링/로깅, 보안/권한 등 구글 검색으로 찾아 보기에는 품이 많이 듭니다. 이 책으로 시행착오를 상당히 줄일 겁니다.


제가 감동 받은 14장 '쿠버네티스에서 머신러닝 실행하기'가 이 책의 특성과 취지를 잘 알려 줍니다.


chapter 14 쿠버네티스에서 머신러닝 실행하기

14.1 머신러닝에서 쿠버네티스의 장점

14.2 머신러닝 워크플로

14.3 쿠버네티스 클러스터 관리자를 위한 머신러닝

14.4 데이터 과학자 관심사

14.5 쿠버네티스에서의 머신러닝 모범 사례

14.6 마치며


쿠버네티스로 서비스를 운용하는 강점과 절차 전반에 대해 설명하고 구성에 대해 하나 하나 짚어 나가다가 최선의 효과를 뽑아낸 사례를 다룹니다. 아쉽게도 그대로 따라 할 수 있지는 못합니다. 쿠버네티스를 비롯한 유명한 오픈소스는 버전업이 빠른 편이므로 코드를 일일이 언급하지는 못했다고 봅니다. 대신 취지를 충분히 설명하여 독자가 해당 구성요소를 찾아 쓸 수 있게 안내합니다.


이 책이 가진 한계라 하면 한계이겠지만 바이블 수준으로 썼다가는 바이블 몇 권치는 나와야 합니다. 이 책이 보이는 미덕이 미덕으로 남으려면 분량은 이 정도가 적당하겠다 싶습니다.


달리 아쉬운 점이 있다면 학생 독자는 실습하기가 어렵겠다는 현실입니다. 메모리가 32GB 정도 되는 컴퓨터라면 그럭저럭 구성해 볼 만할 텐데 그 이하라면 좀 답답하겠다 싶습니다. 아무래도 VM을 여러 개 만들어야 하기 때문입니다. 라즈베리파이를 몇 개 살 만하다면 K3s를 섞어 쓰는 것도 방법이겠습니다.


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


좀 신기한 책이 나왔습니다.


SQL, R, Python을 같이 설명하는 책은 처음 보았습니다.



보통 SQL만 R만 Python만 다루는 책이 태반일 텐데, 일단 이 셋을 한번에 다루는 게 신기하면서도, 그동안 많이 다루지 않고 '전처리'라는 영역을 주제로 했다는 게 정말 특기할 만했습니다. 캐글 같은 경진대회에서 괜찮은 성적을 거둘 만한 역량이어도 현장 업무에서는 시작 단계에서 어려움을 겪을 때가 상당할 텐데, 이 책은 현실에서 맞붙게 될 상황에 대해 다양하게 풀어줍니다.


예를 들어 범주형 데이터를 dummy 변수로 만들기는 원래 그렇게 하는 것 아니냐고 반문할 수도 있는데, 통계로 시작하지 않고 업무를 개발자로 시작했다거나 하면 직관적으로 깨닫기 힘든 노하우일 수도 있습니다. 그래서 이 책이 가진 가장 큰 장점은 시야를 넓혀준다는 점입니다.


SQL로 시작한 사람은 R, Python의 패키지를 많이 알아둬야 하는 배경에 익숙하지 않습니다. SQL로 처리하지 못하는 영역이나 SQL로는 길게 코딩할 수 밖에 없는 상황은 곤혹스럽기만 할 겁니다.


Python은 덜 한 편인데(완전 소견/편견), R은 워낙 패키지들이 막강하니 뭐든 R로 끌어 와서 처리하는 게 가능합니다. 다만 대체로 PC 위에서만 R을 사용할 수 밖에 없으니 데이터가 조금만 커져도 운용하는 데에 무리가 있습니다. 때문에 SAS 같은 상용 솔루션은 In-database 기능을 제공하고 홍보했습니다. 전처리 상당 부분을 성능이 괜찮은 DB에서 처리하면 작업시간을 줄일 수 있을 텐데, 의외로 SQL을 생소해 하는 팀원을 만나 다소 의아했던 적도 기억납니다.


이 책은 데이터 처리에 있어 R. Python. SQL로 제 몫을 다 하게 되었지만 시야를 넓히며 더 효율적인 방법을 갈고 닦고자 하는 중수에게 특히 권하고 싶습니다. 헤매는 시간을 줄이며 보다 다양한 영역을 눈으로 보게 해줍니다. 저런 방법이 있었구나 하는 깨달음을 향후 몇 년 간 업무경험을 풍요롭게 해줄 겁니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
파이썬으로 웹 크롤러 만들기 - 초간단 나만의 웹 크롤러로 원하는 데이터를 가져오는 방법, 2판
라이언 미첼 지음, 한선용 옮김 / 한빛미디어 / 2019년 3월
평점 :
장바구니담기


최근에 웹 페이지를 자동으로 읽고 실행할 일이 생겼는데, 마침 <파이썬으로 웹 크롤러 만들기(2판)>을 읽게 되어 다행이었습니다. 이 책은 1판을 산 적이 있던 터라 좀 신기했습니다. 1판은 파이썬 기본을 익힌 수준이면 쉽게 시작할 수 있었는데 그새 무슨 내용을 보강했나 궁금해졌습니다.


한국은 '웹 크롤링(crawling)'이라는 어휘가 대세라, 저자가 쓰는 '웹 스크레이핑(scraping)'이라는 용어가 볼 때마다 어색합니다. 번역가로서 고민스러웠겠습니다.


2판 역시, 파이썬 문법 기초만 알면 웹 크롤링을 따라 개발하도록 친절하게 안내합니다. 기술 배경부터 코딩 예시까지 책을 주욱 쫓아가면 됩니다. 코딩 예시는 CSV 파일이나 DB에 저장하는 기능 구현까지 다루므로 1부 내용만 소화해도 어지간한 웹 사이트 크롤링은 충분히 구현하겠습니다. 파이프라인 같은 용어가 어색하더라도 개의치 말고 책 끝까지 읽어나가길 바랍니다.


2부 고급 스크레이핑은 CSV 뿐만 아니라 MS 오피스, PDF 문서를 읽어서 cleansing 같은 전처리를 하고 단순한 문자열 처리만이 아니라 자연어 처리를 통해 비정형 데이터에서 유용한 정형(≒ 수치) 데이터를 추출하는 기능 구현까지 소개합니다. 여기에 쿠키 처리를 포함한 로그온 처리, 자바스크립트 기반 동적 웹 페이지 크롤링에 캡차 통과까지 익히면 RPA(로보틱 프로세스 자동화) 수준 개발도 가능합니다. 저는 이 목적으로 이 책을 펴들었습니다.


이 외에 병렬처리로 크롤링 속도 향상, 사람처럼 웹 브라우징하고 원격 서버를 쓰기처럼 차단 당하지 않는 노하우, 웹 크롤링 관련 법적 이슈를 다룹니다. 이 정도면 <파이썬으로 웹 크롤러 만들기(2판)>을 웹 크롤링 백서라고 해도 좋을 정도입니다.


인터넷에 웹 크롤링을 다룬 글은 정말 많지만, 필요한 기능을 일일이 찾기는 귀찮습니다. 데이터 분석가, 데이터 과학자를 비롯하여 엔지니어가 아니더라도 자동화를 염두에 둔 지식노동자는 이 책 한 권을 두고 있으면 금방 원하는 기능을 구현할 수 있겠습니다. 파이썬 세상이나 이런 저런 머신러닝 기능이 더 발전하면 3판이 또 나오겠지요? 기대가 됩니다.


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