공부를 끄적끄적/책 리뷰 19

우아한 사이파이, 엔지니어를 위한 강력한 무기

사실 Scipy는 문서화가 매우 잘 되어있는 라이브러리에 속한다. 그 말은 Scipy 라이브러리를 찾아보면 그 구현체에 대한 설명과 수식, 튜토리얼까지 모두 갖추어져 있기 때문에, 이 라이브러리를 사용하기 위해 책을 찾아보는 것 보다 문서를 보는 것이 더 도움이 될 수 있다는 이야기이다. (아무래도 책은 2차 가공이 되어 있기 때문에 라이브러리를 개발한 사람의 의도가 왜곡될 여지가 존재한다.) 위 이미지는 이 책에서 다루는 내용 중 일부인 Optimization에 대한 Scipy 문서의 일부이다. Rosenbrock Function에 대하여 최소값을 구하는 방법에 대한 구현과 Simplex Method에 대한 설명이 잘 기술되어 있다. 그래서 지금까지 연구나 프로젝트를 하면서 문서만 보면서 FFT나 Op..

[리뷰]파이썬과 대스크(Dask)를 활용한 고성능 데이터 분석

[Data Science with Python and Dask] 데이터 분석 강의를 수강할 때 하는 분석 과제의 수준과 현업에서의 분석 수준은 확연하게 다릅니다. 더 많은 Feature들이 존재하고, 결측치가 많고, (실무자가 아닌 경우에는) Feature가 의미하는 것이 무엇인지 정확하게 알지 못하는 등 교육용 데이터에는 존재하지 않는 많은 불확실성들이 분석 난이도를 높이게 됩니다. 결정적으로 데이터의 규모가 노트북 단위에서 처리하기 어려운 경우가 많습니다. 데이터셋 종류 크기 범위 RAM에 적당한가? 하드디스크에 적당한가? 작은 데이터셋 2GB-4GB 네 네 중간 데이터셋 2TB 이하 아니오 네 큰 데이터셋 2TB 이상 아니오 아니오 위의 표는 리뷰한 책에서 데이터셋에 대해 정의한 내용을 발췌한 것입..

해커, 광기의 랩소디 – 동기부여를 위한 고전 명작

오늘날의 해커는 시스템에 침입해 정보를 탈취하고 정보에 대해 몸값을 요구하는 범죄자라는 인식을 가지고 있습니다. 하지만 초창기의 해커는 어떠한 문제에 열중해서 풀어내는 (그중에서도 유능한)사람이었습니다. 전화기를 분해하여 원리를 이해하고, 컴퓨터를 통해 전화 교환국으로 라우팅 하기도 하는 등 본인이 궁금한 것을 참지 못하고 어떤 방법을 사용하더라도 끝장을 보고 원리를 이해하고자 하는 사람들이었습니다. 그리고 이들이 가지고 있는 ‘해커윤리’는 기술을 한발짝 더 발전시키고 더 많은 해커들이 문제에 달려들게 하는 핵심 교리가 되었습니다. 현재 우리는 이 정신을 IT분야의 개발자들이 이어받고 있습니다. 아래에 ‘해커 윤리’와 현재 개발자들의 생각, 인식을 비교해 보았는데, 이를 통해 개발자들이 성공적으로 해커 ..

파이썬으로 배우는 통계학 교과서

이 책은 전공 점추정과 구간추정, 그리고 최대우도와 분산분석까지, 머신러닝과 품질관리등 많은 산업군에서 기본적으로 필요한 통계 지식을 다루고 있습니다. 산업공학과 커리큘럼으로 보자면 기초통계와 응용통계학 1 수준의 범위가 되는 것 같습니다. 하지만 매우 상세한 설명과 이해하기 쉬운 도식으로 처음 통계를 접하거나 자신이 없는 분들이 접하기에 좋을 것 같습니다. 특히 처음에 많이 헷갈리는 부분인 평균과 분산에 따른 데이터 분포 차이와 공분산을 매트릭스로 설명하는 부분 등은 저에게도 직관적인 이해에 많은 도움이 되었습니다. 이 책은 통계적인 개념을 알려줄 뿐 아니라 요근래 머신러닝에 많이 사용되는 파이썬과 넘파이(numpy), 판다스(pandas)와 같은 라이브러리를 활용하여 통계량을 계산하고 분산분석과 선형..

R교과서 - Learning R Programming

책 소개 데이터 사이언스와 컴퓨터 사이언스가 많은 이목을 받으며 최근에 출간되는 많은 책들이 '문과생도 할 수 있는 프로그래밍', 'n주만에 마스터하는 파이썬' 등의 자극적이고 흥미를 부르는 표현을 이용하며 독자를 유치하고 있습니다. 프로그래밍을 처음 시작하는 친구에게 책을 추천해 주기 위해 서점에서 흥미로운 제목의 책을 몇권 읽어 보았는데, '독자가 이 책을 다 읽고 스스로 무언가를 할 수 있을까?'라는 생각이 드는 책들이 많았습니다. 그런 책들은 공통적으로 내용을 쉽게 설명하기 위해 비유와 추상화 된 개념을 이용하여 내용을 전달하고 있었고, 내부적으로 그 코드가 어떻게 동작되는지에 대한 내용은 독자들이 어려워 하기 때문에 넘어가며, 흥미로운 프로젝트를 한줄씩 따라해보며 만들어보는 내용을 가지고 있는 ..

클라우드 네이티브 - 기초부터 탄탄하게

책을 구성할 때 모든 내용을 다 집어넣고 싶어하는 책이 있고 주제의 핵심적인 내용만 짚어주며 필요한 부분들은 독자들 이 직접 찾아 습득하는 방식의 책이 있습니다. 개인적으로는 후자의 책을 더 선호하는데 아무리 저자가 뛰어나다고 하더라도 책 한권에 모든 내용을 다 담는 것이 어려운 일일 뿐 아니라 만약 담았다고 하더라도 독자가 충분하게 이해할 만큼의 설명을 넣는 것은 쉽지 않습니다. 이 책에서는 후자의 형태를 따르고 있습니다. 클라우드 네이티브로 개발하기 위한 개발 방법론과 가이드를 제시해 주지만 실제로 운영되는 서비스를 통해서 구현하는 방법은 다루지 않습니다. 전공서로 따지면 심화된 내용을 배우기 위한 개론에 가까운 내용들을 다룬다고 할 수 있습니다. 그러면서도 CDN, API버전관리, 데브옵스 등 웹 ..

[리뷰]줄리아를 생각하다 - Let's Julia!

평점 별5개 저는 최적화에 많은 관심을 가지고있습니다. 어릴 때는 학교에서 집까지 가는 최단 경로를 찾으려 애썼고 프로그래밍을 짤 때에도 어떻게 하면 0.1초라도 빠르게 동작시킬 수 있을지 고민했습니다(물론 고민하는 시간을 줄였으면 더 빠르게 끝났을 수 있다는건 함정입니다.). 게다가 지금 일하고 있는 곳에서는 스케줄링을 최적화(?)를 하고 있고 이정도면 신이 저를 보고 있다가 최적화를 배우는 전공으로 보내버린 것이 아닐까 하는 생각이 들 정도입니다. 그러던 중에 줄리아라는 언어를 접하게 되었습니다. 저도 꽤 오랬동안 자바를 하다가 파이썬을 3년정도 쓰고 있는데, 책의 역자이신 송한별님께서 언급하셨듯 요즘들어 너무 느리다는 것을 몸소 체감하고 있었습니다. 언젠가 수리 최적화 라이브러리를 만드는 것이 저의..

bash를 활용한 사이버 보안 운영 - 보안 실무를 위한 훌륭한 참고서

평점 별 4개 리뷰 지금 이 순간에도 전 세계에서는 수많은 해킹과 개인정보 유출 사고들이 일어나고 있습니다. 저의 경우에는 몇년 전 AWS로 동아리 관리 시스템을 개발했을 때도 수많은 중국/해외 IP의 접속 시도와 공격을 받았고 집에서 운영하고 있는 라즈베리 파이에는 지금도 수백개 이상의 IP가 접속을 시도하고 있습니다. 만약 보안에 관심을 가지지 않는다면 우리도 모르는 사이에 권한이 탈취되어 개인정보나 중요한 파일이 유출될 수 있고, 만약 공격당한 PC가 GPU를 가지고 있다면 암호 화폐 채굴에 사용될 수 있습니다. 이 책은 bash를 활용해서 모니터링 및 공격의 개념을 학습 및 실습할 수 있는 책입니다. 독특한 점은 Windows와 Linux 모두 지원한다는 점입니다. wevtutil 명령어를 이용하..

창업의 과학 - 선배에게 듣는 창업이야기

평점 별4개반 리뷰 대학교에 입학했을 때부터 창업을 꿈꾸었고, 대학을 졸업한 지금까지도 창업에 대해서 많은 관심을 가지고 있던 차에 이 책을 접하게 되었다. 책을 읽으며 많은 창업 경험을 가진 선배가 와서 창업을 하면서 겪었던 많은 일들과 시행 착오들, 그리고 비즈니스가 성공하기 위한 방법들을 알려주는 듯한 느낌을 받았다. 이 책은 창업의 전반적인 로드맵과 아이디어 검증, 프로토타이핑, 이코노믹스, 피벗 등 창업에 필수적인 내용을 A부터 Z까지 짜임새 있고 밀도 높게, 그러면서 지루하지 않도록 구성되어 있다. 책의 전체를 관통하는 “누구의 어떤 문제를 해결할 것인가?” 라는 메세지는 매 챕터마다 반복되며 계속 우리의 뇌리에 각인 시킨다. 그 뿐만 아니라 처음부터 한국어로 작성된 듯한 깔끔한 번역과 많은 ..