본문 바로가기
MLOps 도입 가이드 이 글은 한빛미디어 도서 서평단 를 통해 책을 제공받아 작성하였습니다. 이 책은 번역서 'MLOps 도입 가이드(데이터이쿠 지음, 한빛미디어)' 입니다. 데이터 사이언스와 AI를 IT 분야뿐 아니라 제조, 구매, 마케팅 등과 같은 산업 전 분야예 걸쳐 도입하기 위한 설명을 해주는 책이다. 기업 내에서 모델을 배포하는 프로세스와 시스템을 구축, 확장, 관리하는 방법을 이론적으로 설명해 준다. 즉, 머신러닝 기술을 학문의 영역에서 현실 세계에 배포하기 위한 체계화된 방법을 알려 준다. 책은 관리자의 시점에서 머신러닝을 상용황 경에 적용하기 위한 기술적 방법과 그에 따른 여러 이슈들을 다룬다. 관리자를 대상으로 하는 책이다 보니 다소 이론적인 내용에 치우쳐 있으며, 코드나 실제로 구축하는 방법에 대한 단계적인.. 2022. 5. 22.
케라스로 구현하는 딥러닝 이 글은 한빛미디어 도서 서평단 를 통해 책을 제공받아 작성하였습니다. 이 책은 번역서 '케라스로 구현하는 딥러닝(김성진 지음, 한빛미디어)' 입니다. 이 책을 통해서 파이토치나 텐서플로가 아닌 케라스를 이용해 딥러닝을 구현하는 방법을 배울 수 있다. 개념과 함께 실제 코드를 작성해 보면서 딥러닝 구현 방법을 알 수 있으며, CNN부터 GAN, UNET까지 최근 딥러닝 구조까지도 구현할 수 있다. 또한 강화학습에 대한 부분과 양자인공지능에 대한 부분까지 심화적으로 다루고 있는 것이 흥미롭다. 기초적인 딥러닝에 대한 책들에서는 잘 다루지 않는 양자인공지능에 대한 개념과 코드를 배울 수 있어서 좋다. 강화학습과 양자인공지능에 대한 부분들은 약간의 수식이 나오면서 어렵게 보이기도 하지만 책에서 핵심 개념들을 .. 2022. 4. 23.
미국 주식으로 시작하는 슬기로운 퀀트투자 이 글은 한빛미디어 도서 서평단 를 통해 책을 제공받아 작성하였습니다. 이 책은 번역서 '미국 주식으로 시작하는 슬기로운 퀀트투자(김용환, Yubin kim 지음, 한빛미디어)' 입니다. 이 책은 프로그래밍에 대한 경험이 없고, 주식에 대한 경험이 없어도 쉽게 따라할 수 있는 방법들을 소개한다. 구글 colab과 파이썬을 이용하여 퀀트 프로그램을 만드는 방법을 소개하며 실습까지 제공해 준다. 또한 주식 투자에 대한 전략들을 소개하고 테스트하고 성과를 분석할 수 있다. 1장, 2장에서는 퀀트투자에 대한 간단한 소개와 개념 설명, 퀀트머신을 사용하기 위한 환경 설정에 대해 다룬다. 퀀트머신을 이용해 투자 기법을 활용하여 분석하며 퀀트머신 사용법을 소개한다. 3장에서는 단기투자 전략인 RSI, 엔벨로프, 변동.. 2022. 3. 31.
C++ range와 range iterator #include struct FibonacciIterator { bool operator!=(int x) const { return x >= current; } FibonacciIterator& operator++() { const auto tmp = current; current += last; last = tmp; return *this; } int operator*() const { return current; } private: int current{1}, last{1}; }; struct FibonacciRange { explicit FibonacciRange(int max) : max{ max } { } FibonacciIterator begin() const { return Fibonacci.. 2022. 3. 3.
C++ unique_ptr 직접 구현해 보기 #include #include #include template struct SimpleUniquePointer { SimpleUniquePointer() = default; SimpleUniquePointer(T* pointer) : pointer{ pointer } { } ~SimpleUniquePointer() { if(pointer) delete pointer; } SimpleUniquePointer(const SimpleUniquePointer&) = delete; SimpleUniquePointer& operator=(const SimpleUniquePointer&) = delete; SimpleUniquePointer(SimpleUniquePointer&& other) noexcept : p.. 2022. 3. 1.
C++ runtime polymorphism과 constructor injection, property injection enum class를 이용한 runtime polymorphism #include #include struct FileLogger { void log_transfer(long from, long to, double amount) { --snip-- printf("[file] %ld,%ld,%f\n", from, to, amount); } }; struct ConsoleLogger { void log_transfer(long from, long to, double amount) { printf("[cons] %ld -> %ld: %f\n", from, to, amount); } }; enum class LoggerType { Console, File }; struct Bank { Bank() : type .. 2022. 2. 28.
리버스 엔지니어링 기드라 실전 가이드 이 글은 한빛미디어 도서 서평단 를 통해 책을 제공받아 작성하였습니다. 이 책은 번역서 '리버스 엔지니어링 기드라 실전 가이드(한빛미디어)' 입니다. 기드라(Ghidra)는 미국 국가안보국에서 만들어 오픈소스로 공개한 리버스 엔지니어링 도구입니다. 리버싱 도구인 ollydbg, IDA free 제품 보다 뛰어는 프로젝트라고 알려져 있습니다. 기드라를 이용하면 디컴파일 외에도 악성 프로그램 분석, 펌웨어 분석, 취약점 진단 등을 할 수 있습니다. 이 책에서는 실습을 중심으로 기드라에 대한 경험을 늘려 주며, 조작 방법과 분석 방법을 효과적으로 알려 줍니다. 에서는 리버스 엔지니어링에 대한 기초 지식을 다룹니다. 프로그램이 실행될 때 메모리 구조는 어떻게 생겼는지, C언어는 어떻게 어셈블리 언어로 바뀌는지,.. 2022. 2. 22.