Kubernetes를 쌩으로(?) 설치하기 너무 귀찮기에

조금 편하게 설치하기 위해 Kubespray를 이용해보기로 했다.

 

   - kubernetes.io/ko/docs/setup/production-environment/tools/kubespray/

 

Kubespray로 쿠버네티스 설치하기

이 가이드는 Kubespray를 이용하여 GCE, Azure, OpenStack, AWS, vSphere, Packet(베어메탈), Oracle Cloud infrastructure(실험적) 또는 베어메탈 등에서 운영되는 쿠버네티스 클러스터를 설치하는 과정을 보여준다. Kub

kubernetes.io

설치를 진행한 환경은 다음과 같다.

 

  - Location : Home (SKB Internet - 500Mbps)

  - Host OS : Windows 10 64bit

  - VM S/W : VirtualBox

  - Guest OS : Ubuntu 20.04 Server 64bit (3개 VM)

    . CPU : 2 Core

    . Mem : 4096 MB

    . N/W : Bridge

 

 

1. python 설치

  - 설치되어 있는 python을 확인해보자.

 

$ ls /usr/bin | grep python
python3
python3.8

 

  - ubuntu 20.04 에서는 기본적으로 3.8이 설치되어 있는듯하다.

  - 사용하기 편하도록 기본 `python`에 mapping 하자.

 

$ sudo update-alternatives --config python
update-alternatives: error: no alternatives for python

$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
$ sudo update-alternatives --config python

$ python --version
Python 3.8.5

 

  - `pip`도 설치해보자.

 

$ sudo apt install python3-pip

$ sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1
$ sudo update-alternatives --config pip3

$ pip --version
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)


2. ansible 설치

  - kubespray는 `ansible`을 기본으로 사용한다.

 

$ sudo apt install ansible python3-argcomplete

$ ansible --version
ansible 2.9.6
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/whatwant/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]

 

3. SSH 키 복사하기

  - `ansible`을 기본으로 사용하기에, 3대의 VM에 ssh 접속을 바로 할 수 있도록 SSH 키를 모두 복사해야 한다.

 

  - `master`로 사용할 VM에서 `ssh-keygen`으로 key를 생성한 뒤, copy하면 된다.

  - 개인적으로 사용하는 SSH 키가 있다면 그것을 사용하면 되고...

 

$ ssh-keygen

$ ssh-copy-id 192.168.122.10
(Master Node와 Worker Node에 모두 키를 복사)

 

 

4. swap 메모리 비활성화

  - kubernetes를 설치하기 위해선 swap 메모리를 모두 비활성화 해야 한다.

  - master/worker node에 사용할 3대의 VM 모두 꺼버리자!

 

$ sudo swapoff -a

 

 

5. ip forward 설정

  - K8s는 가상 네트워크 환경을 사용해야 하기에 ip_forward를 활성화 해야 한다.

  - master/worker node에 사용할 3대의 VM 모두 적용 !!!

 

$ sudo sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'

$ cat /proc/sys/net/ipv4/ip_forward
1

 

  - 위와 같은 설정은 본래 재부팅하면 풀려야 하는데... 재부팅해도 그대로 유지되기에 내버려두고 있다.
  - 나중에 한 번 확인해봐야 할 것 같다.

 

 

6. hosts 등록

  - hostname으로 서버에 접속할 수 있도록 hosts 파일에 3개 VM hostname을 등록하자.

  - master/worker node에 사용할 3대의 VM 모두 적용 !!!

 

$ sudo nano /etc/hosts
192.168.100.111 master-stg
192.168.100.112 worker1
192.168.100.113 worker2

 

  - 각자의 hostname 과 IP 상황에 맞게 적용하면 된다.

 

 

7. kubespray 실행

  - `git clone` 받은 뒤, 필요한 패키지 설치하도록 하고, 나만의 환경 설정을 하자.

 

$ git clone https://github.com/kubernetes-sigs/kubespray.git

$ cd kubespray

$ git checkout release-2.15

$ sudo pip install -r requirements.txt

$ cp -rfp inventory/sample inventory/mycluster

$ declare -a IPS=(192.168.100.111 192.168.100.112 192.168.100.113)

$ CONFIG_FILE=inventory/mycluster/hosts.yaml python3 contrib/inventory_builder/inventory.py ${IPS[@]}

 

  - `cp`를 하는 것은, sample을 기본으로 나만의 inventory를 만들기 위함이다.

  - `declare`는 설치할 VM들의 IP를 적어주면 된다.

  - `CONFIG_FILE`을 실행하면 `declare`로 알려준 VM 정보들을 이용하여 config file을 만들어준다.

 

  - master node로 사용할 아이와 worker node를 사용할 아이들에 대해서 설정을 맞춰주자.

  - hostname도 맞춰서 적어주는 것이 좋다.

 

$ nano inventory/mycluster/hosts.yaml

all:
  hosts:
    master-stg:
      ansible_host: 192.168.100.111
      ip: 192.168.100.111
      access_ip: 192.168.100.111
    worker1:
      ansible_host: 192.168.100.112
      ip: 192.168.100.112
      access_ip: 192.168.100.112
    worker2:
      ansible_host: 192.168.100.113
      ip: 192.168.100.113
      access_ip: 192.168.100.113
  children:
    kube_control_plane:
      hosts:
        master-stg:
    kube_node:
      hosts:
        worker1:
        worker2:
    etcd:
      hosts:
        master-stg:
    k8s_cluster:
      children:
        kube_control_plane:
        kube_node:
    calico_rr:
      hosts: {}

 

  - addon도 필요한 것들을 true로 만들어주자.

 

$ nano ./inventory/mycluster/group_vars/k8s_cluster/addons.yml

dashboard_enabled: true
metrics_server_enabled: true
ingress_nginx_enabled: true

 

 

8. Static IP 설정

  - DHCP 설정으로 되어있으면 Node의 `/etc/resolv.conf`에 잡스러운(?) 내용이 들어가고

  - 그렇게 되면 K8s의 coredns에서 Node의 `/etc/resolv.conf`를 참고하게 되면서

  - Pod의 Container 안에 있는 `/etc/resolv.conf`에도 그 내용이 반영되어서

  - FQDN 관련해서 원하지 않는 결과가 나올 수 있다.

 

❯ cd /etc/netplan/

❯ sudo cp ./00-installer-config.yaml ./00-installer-config.yaml.210504

❯ sudo nano ./00-installer-config.yaml

network:
  ethernets:
    enp0s3:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.100.111/24]
      gateway4: 192.168.100.1
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]
  version: 2

 

 

 

 

9. 설치

  - 이제 준비는 끝났다. 고! 고!

 

$ ansible-playbook -i inventory/mycluster/hosts.yaml  --become --become-user=root cluster.yml

 

 

10. 사용자 계정 설정

  - root 계정이 아닌 사용자 계정에서 `kubectl` 명령어를 사용하기 위해서는 다음과 같이...

 

$ mkdir -p $HOME/.kube

$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

$ sudo chown $(id -u):$(id -g) $HOME/.kube/config

 

11. zsh 자동 완성 셋팅

 

 

> echo "source <(kubectl completion zsh)" >> ~/.zshrc
> source ~/.zshrc

 

 

 

12. 재부팅 후

  - 희한하게 서버들을 재부팅 하고, `kubectl` 사용을 하면 API Server 연결을 거부당했다는 메시지가 나온다.

  - 그러면 swap 메모리 설정을 한 번 해주면 해결이 된다.

 

$ sudo swapoff -a

 

 

13. 결과

  - 이렇게 잘 나온다~

 

$ kubectl get nodes -o wide
NAME         STATUS   ROLES                  AGE   VERSION   INTERNAL-IP       EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION     CONTAINER-RUNTIME
master-stg   Ready    control-plane,master   37h   v1.20.6   192.168.100.111   <none>        Ubuntu 20.04.2 LTS   5.4.0-72-generic   docker://19.3.15
worker1      Ready    <none>                 37h   v1.20.6   192.168.100.112   <none>        Ubuntu 20.04.2 LTS   5.4.0-72-generic   docker://19.3.15
worker2      Ready    <none>                 37h   v1.20.6   192.168.100.113   <none>        Ubuntu 20.04.2 LTS   5.4.0-72-generic   docker://19.3.15

 

반응형

APACHE KAFKA 표지

 

이번 달에 보게된 책은

"실전 아파치 카프카(APACHE KAFKA) - 애플리케이션 개발부터 파이프라인, 사물인터넷 데이터 허브 구축까지"

 

개인적으로 KAFKA를 알게된 계기는 MLOps를 처음 공부할 때에

Streaming Data를 수집 및 배포하는 용도의 도구로 처음 접하게 되었었다.

 

Machine Learning에서 대용량의 데이터 특히 지속적으로 제공되는 straming data를 처리할 때,

앞단에 구축하게 되는 시스템으로 가장 추천하는 도구가 바로 Kafka였었다.

 

Apache Kafka

 

책에서 제일 처음 보여주는 그림을 보면, KAFKA의 용도를 정확히 알 수 있다.

 

Kafka는 대량의 데이터를 높은 처리량과 실시간으로 처리하기 위한 도구로써 다음의 4가지 특징이 있다.

 

  - 확장성 : 여러 대의 서버 구성 가능

  - 영속성 : 수신한 데이터를 디스크에 유지 가능

  - 유연성 : 다양한 도구와 연계 가능

  - 신뢰성 : 메시지 전달 보증

 

https://kafka.apache.org/

 

 

Apache Kafka 사이트에 가면, 위와 같은 홍보 문구(?)를 볼 수 있다.

Fortune 100대 기업의 80% 이상에서 사용될 정도로 신뢰성 있고 인기 있는 잘나가는 도구라는 의미이다.

 

 

이렇게 멋진 도구에 대해서 멋지게 잘 소개해주고 있는 책이 바로 이 책이다.

 

실전 아파치 카프카 - 10점
사사키 도루 외 지음, 정인식 옮김, 시모가키 도루 외 감수/한빛미디어

 

 

조금 아쉬운 점은 이 책은 2018년도에 출시된 2.0 버전을 바탕으로 작성되었다는 것인데,

현재 시점 최신 버전은 아직 2.7 이다.

 

초판 1쇄

 

책이 출간된 것도 20년 2월이니까.... 1년이 조금 넘게 된 시점에서 이 책을 보게 되었지만...

Kafka라는 도구 특성상 엄청난 변화가 있는 것은 아니기에 Kafka에 대해서 공부하기에 별 무리는 없을 것으로 본다.

 

 

목차

 

Kafka에 대한 hitstory에 대해서도 친절히 설명해주고 있다.

 

목차

설치나 애플리케이션 구성 등에 대해서도 자세하게 친절하게 잘 되어있다.

 

사례

 

실제 사례에 대해서도 보기 좋게 재미있게 잘 정리되어 있다.

 

 

실무에서 Kafka를 사용해야하는 분들에게 많은 도움이 될 수 있는 책이다.

 

 

 

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

반응형

 

누구나 그렇겠지만, 모기를 정말 정말 리얼리 진짜 진짜 싫어한다.

날이 따뜻해지면서 이제 또 모기가 날라다닐 것을 생각하니 벌써부터 짜증이 날 정도로...

 

그러던 中 정말 재미있는 paper 제목을 보게 되었다.

 

"Raspberry PI for Kill Mosquitoes by Laser"

preprints.org/manuscript/202101.0412/v1

 

Raspberry PI for Kill Mosquitoes by Laser

 

우와~~~ 레이저로 모기를 죽여버리다니!!!

 

 

Abstract를 보면... 음... 진지한데, 조금 웃기다 ^^

 

모기로 인해 죽는 사람이 전세계 살인 건수의 2배가 넘는 7만명 이상이기 때문에,
모기로부터 사람을 보호하기 위한 새로운 발명이 필요하다.
그래서 머신 비전과 1W 파워 레이저를 사용한 모기 사냥 기계를 Rasberry Pi로 개발했다.

 

하지만, 진행한 내용은 정말 진지하다.

 

Using OpenCV for mosquitoes tracking

 

사냥할 모기를 찾기 위해서

어떤 방법으로 영상 인식을 하는 것이 좋을지 다양한 방법으로 실험도 했다.

 

  • a) cv2.TrackerCSRT_create ()
  • b) Hara cascade
  • c) color tracking
  • d) color tracking without success
  • e) optical flow
  • f) frame difference

 

장치도 어마무시하다.

 

Laser installation

 

  • 1 - cameras
  • 2 - galvanometer
  • 3 - Raspberry PI3
  • 4 - laser rangefinder
  • 5 - laser
  • 6 - power supply
  • 7 - motor drivers
  • 8 - electronic signal processing board
  • 9 – box with mosquitoes

 

실험 결과는 아래와 같단다.

 

The results of experimental research

 

아직은 제한된 영역에서 초당 2마리의 모기를 사냥(?)할 수 있는 수준이지만,

머신러닝도 이용하고 장비의 성능을 높이면 레이저를 이용해 모기들을 박멸할 수 있다는 가능성은 보여준 연구라는...

 

 

뭐 여하튼, 개인 취향 저격 제대로한 논문이었다.

 

반응형

'주절주절' 카테고리의 다른 글

두산베어스 2013년 연봉 협상  (0) 2012.12.22
네이버의 블로그 검색 오류  (0) 2012.06.14
까는 중  (0) 2011.10.23
2010년 국내 트렌드에 대해서  (0) 2010.01.20
자동차 구입비용도 소득공제  (0) 2009.04.17

[ GAN is ... ]

 

AI가 만든 얼굴이라던지, 오바마 전미국대통령의 fake 영상이라던지 하는 뉴스를 들어보았을 것이다.

이런 것들을 만들어낼 수 있는 가장 대표적인 기술적 배경이 바로 GAN 이다.

 

아래 영상을 보면 바로 어떤 것인지 알 수 있다.

 

 

GAN은 "Generative Adversarial Network"의 줄임말인데, 풀어보면 아래와 같이 말할 수 있다.

  • Generative: 생성(Generation) 모델을 이용하여, 진짜 데이터와 같이
  • Adversarial: 두 개의 모델을 적대적(Adversarial)으로 경쟁시키며 발전 시키는
  • Network: 인공신경망(Artificial Neural Network)

 

"GAN"은 라벨(정답)이 없는 데이터를 가지고 학습을 하는 비지도학습의 한 유형이다.

GAN에 대한 가장 대표적인 설명은 "위조지폐범"과 "경찰"이다.

 

GAN

 

위조지폐범(생성모델)은 진짜와 구분이 어렵도록 위조지폐(가짜 데이터)를 계속 생성하고,

경찰(분류모델)은 진짜와 가짜를 계속 분류하면서 50%의 확률 정도가 될 때까지 계속 진행을 하는 방식이다.

 

 

 

[ This book is ... ]

 

서두가 길었다 ^^

 

GAN에 대해서 알려주는 괜찮은 책이 이번에 한빛미디어에서 출간되었다.

책의 제목은 "GAN 첫걸음" !!!

 

GAN 첫걸음 - 표지

 

예쁜 보라색으로 깔끔한 폰트로 제목이 적혀있는 표지를 갖고 있는 조금 작은 크기(신국판 규격 정도?!)의 책이다.

거기에다가 지금 이 글을 적고 있는 시점에서보면 나온지 얼마 안되는 따끈따끈한 책이다.

 

GAN 첫걸음 - 초판

 

이 책의 지은이는 "타리크 라시드"이다.

 

GAN 첫걸음 - 지은이

 

"타리크 라시드"는 이 책에 앞서서 다른 책을 출간했었다.

 

신경망 첫걸음 - 10점
타리크 라시드 지음, 송교석 옮김/한빛미디어

 

어떻게 보면 위 책의 다음 2권과 같은 위치에 있는 것이 바로 이 책 "GAN 첫걸음"인 것 같다.

물론, "신경망 첫걸음"을 보지 않고 바로 "GAN 첫걸음"을 본다고 하여 문제가 되지는 않는다.

 

GAN 첫걸음 - 대상 독자

 

책에 쓰여져 있는 것처럼, 기초부터 알고 싶은 사람을 배려해서 쓰여져 있기 때문이다.

 

하지만, 아무리 그래도 최소한 Machine Learning에 대한 기초적인 지식이 있으면 조금 더 읽기 수월할 것이고

"신경망 첫걸음"을 먼저 읽었다면 더더욱 읽고 이해하기 좋을 것이다.

 

 

[ Prerequisite ]

 

이 책은 기본적으로

"구글 코랩(Google Colab)" 환경에서 "파이토치(PyTorch)" 라이브러리를 이용하여 GAN을 구현한다.

 

친절하게도 이 책에서는 "Chapter1 파이토치 기본"에서

기본적인 실습 환경과 배경 지식에 대해서 친절하게 설명을 해주고 있다.

 

그러다가 PyTorch의 기본 데이터 형태인 텐서(tensor)에 대해서까지 Part1에서 설명을 해준다.

 

 

[ practice ]

 

"Chapter2 파이토치로 만드는 첫 번째 신경망"에서는

유명한 MNIST 데이터셋을 이용해 PyTorch로 신경망을 만드는 과정을 꼼곰히 설명해주고 있다.

 

"Chapter3 성능 향상 기법"에서는 조금 더 성능을 높이기 위한

손실함수, 활성화 함수, 옵티마이저, 정규화 등에 대해서 설명한다.

 

"Chapter4 CUDA 기초"에서는 AI 하면 떠오르는 GPU를

어떻게 사용할 수 있는지에 대해서 친절하게 설명해준다.

 

여기까지가 "Part1 파이토치와 신경망 기초"에 해당한다.

 

 

[ lesson ]

 

본격적인 GAN에 대한 학습은 "Part2 튼튼한 GAN 만들기"로 분류되어 있는

"Chapter5 GAN 개념"부터 "Chapter8 얼굴 이미지"까지로 이루어져 있고,

 

"Part3 흥미로운 GAN 기법"에서는 조금 더 고급스러운(?)

'Chapter9 합성곱 GAN', 'Chapter10 조건부 GAN'에 대해서 설명해주고 있다.

 

 

 

[ My Opinion is ... ]

 

아직 이 책의 끝까지 공부해보지는 못했지만 지금까지 공부하면서 느낀 점을 적어보면...

 

책이 나름 친절하고 쉽게 설명해주고자 노력했지만,

그렇다고 해서 Machine Learning이 뭔지도 공부하지 않은 상태에서 접하기에는 어려울 수 밖에 없다.

 

또한 책에서 심심찮게 보이는 "신경망 첫걸음에서 뭐뭐를 해봤었다"와 같이

이 책을 보기 전에 "신경망 철걸음"을 보고와야 되는 것처럼 되어 있는 점은 조금 아쉬웠다.

 

하지만,

최소한 "Machine Learning"에 대해서 조금이라도 공부를 해보신 분이라면

GAN에 대해서 공부하기 위해 이 책을 추천할 수 있을 것 같다.

 

어려운 수학 공식에 대한 설명 보다는

구글 코랩에서 PyTorch를 직접 구현해보며 공부할 수 있다는 점은 정말 좋았다.

 

직접 해보면서 공부하는 것을 좋아하시는 분에게는 정말 정말 적극 추천한다!!!

 

 

※ 이 책은 한빛출판네트워크의 '나는 리뷰어다' 이벤트를 통해 제공 받은 도서입니다.

반응형

 

머신러닝에 대한 이론 공부만 해서는 실무에서 적용할 때 무쓸모가 될 수도 있기에 😥

실무에 적용을 어떻게 해야하는지에 대해서 살펴보고자 찾던 중 찾게 된 도서 !! 😍

 

"Machine Learning for Business"

 

책 표지

 

왠지 멋지게 생긴 선장 같은 아저씨가 더욱 더 눈길을 잡아끌었다.

 

하지만, 보험약관 처럼 놓친 것이 있었으니...

"아마존 세이지메이커와 주피터를 활용한 빠르고 효과적인 머신러닝 활용법"

 

어쩐지 추천의 글에 있는 2분 모두 AWS코리아 소속이시더라니... 😁

 

 

뭐 하지만, 회사에서도 퍼블릭 클라우드 사용량을 보면 대부분 AWS를 쓰고 있고,

글로벌 트렌드를 봐도 뭐 AWS가 대세이기는하니 ...

이번 기회에 말로만 듣던 세이지메이커 한 번 써보지 뭐 !!! 😑

 

 

우선 AWS 가입부터 해야하는데,

친절하게도 책의 뒷 부분에 있는 '부록'에

"AWS 가입"부터 파일 저장을 위한 S3 설정 및 사용방법, 세이지메이커 설정 등에 대해서 친절히 알려준다.

 

Amazon SageMaker

 

그런데, AWS 서비스 쓰려면 돈드는 것 아닌가!?

본래 처음 가입하면 1년간 어느 정도 사용할 수 있는 무료 정책이 있다지만

나는 이미 무료 1년이 지났는데... 그래서 홈페이지 찾아가봤다.

 

SageMaker 요금제

리전을 서울로 바꾸지는 말자.

시간당 요금이 여기보다 비싸다.

 

그런데, 실제 사용하면 얼마쯤 나온다는 것일까?

 

SageMaker 요금 예제

 

2시간 정도 쓰면 500원쯤 지불한다는거네... 음... 나의 똑똑해짐을 위해 이 정도는 투자해줘도 될 것 같다. 😎

 

뭐, 기본 환경 구축은 이 정도로 하고...

 

 

 

책의 내용을 살펴보자.

 

도서 구성

 

일반적인 회사의 운영 영역을 시나리오로 해서 구성이 되어있다.

 

각 시나리오에 따라 데이터가 제공되고

그 데이터를 모델에 적합한 형태로 가공도 하고

학습/검증/테스트 용도에 맞게 데이터셋 분리도 해보고

시나리오와 데이터에 맞는 머신러닝 알고리즘을 선택해서 학습도 한다.

심지어 AWS 비용 절감을 위한 관리 방법까지도 알려준다.

 

 

다만, 이렇게 실제 머신러닝을 비즈니스에 적용하기 위한 과정을

AWS SageMaker를 이용해서 적용하는 과정에 대해서 설명을 하다보니

머신러닝에 대해서는 많은 분량으로 설명해주지는 않는다.

 

하지만 이 부분은 절대 이 책의 단점이 아니다!!!

 

이 책은 분명히 타이틀에 적어놓은 것 처럼

"비즈니스 머신러닝"에 대한 책이다!!!

 

또한,

"아마존 세이지메이커와 주피터를 활용한 빠르고 효과적인 머신러닝 활용법"에 대해서 알려주는 책이다.

 

 

그리고, 이 책의 경우 원서에는 없는 설명도 포함되어 있다.

 

한국어판 부록

 

IT 서적의 안타까운 부분인데... 대상 시스템이 업그레이드가 되어버려 버전이 맞지 않게 되는 것이다.

하지만, 친절하게도 버전을 맞출 수 있는 방법을 가이드해주고 있다.

 

 

머신러닝에 대해서 기본적인 사항들을 공부하신 분들에게 추천하고픈 책이다.

전체적으로 어떤 흐름으로 비즈니스에 적용하는지 살펴보기에 충분히 괜찮은 책이다.

 

 

※ 이 책은 한빛출판네트워크의 '나는 리뷰어다' 이벤트를 통해 제공 받은 도서입니다.

반응형

요즘에는 새로운 언어가 너무 쏟아져서 굳이 R까지 배워야 하나 싶은 마음에 지금까지 R 언어와 관련된 것은 피해왔다.
Machine Learning 초창기에는 R이 유행하였지만, 지금은 솔직히 Python으로 못할게 없기에 더더욱... 😁

그래서 "R을 이용한"이라는 말이 붙어있어서 이 책 또한 살짝 피하고 싶었지만,
퀀트 투자를 위해 중요한 요소인 데이터 수집에 대해서 자세히 나온 책이라 하여 나름 과감하게 도전해보기로 하였다.

 

책 표지

 

전체적으로 13개의 Chapter가 있는데,
거의 반을 차지하는 6개의 Chapter가 데이터 수집과 관련된 내용이고
2개 챕터가 데이터 정리 및 분석과 관련한 내용이다.
그 다음 9장부터 본격적으로 종목 선정하고 포트폴리오 구성하고 평가하는 것들을 설명해주고 있다.

이 책은 R 언어를 기본적으로 사용할 줄 아는 사람들을 대상으로 하고 있다.
그래서 안타깝게도 실습 환경 구축을 위한 과정 등을 설명해주지 않는다. 😥

 

 

저자는 독자들을 위해서 다음과 같은 온라인 지원을 해주고 있다.

 

- 웹페이지: hyunyulhenry.github.io/quant_cookbook

 

R을 이용한 퀀트 투자 포트폴리오 만들기(개정판)

본 페이지는 R을 이용한 퀀트 투자 포트폴리오 만들기의 웹사이트 입니다. 책의 수정 사항이 있을시 즉시 반영할 예정이며, 책에서 다루지 못했던 추가적인 내용도 지속적으로 업데이트 할 예정

hyunyulhenry.github.io

- GitHub: github.com/hyunyulhenry/quant_cookbook

 

hyunyulhenry/quant_cookbook

R을 이용한 퀀트 투자 포트폴리오 만들기. Contribute to hyunyulhenry/quant_cookbook development by creating an account on GitHub.

github.com

- Blog: henryquant.blogspot.com

 

Henry's Quantopia

금융, 주식, 퀀트 투자에 대한 블로그입니다. 연구 결과 및 투자 결과를 정기적으로 업로드 합니다.

henryquant.blogspot.com

 

 

특히, 웹페이지의 경우에는 (책이 안팔리지 않을까 우려되어 알려드리기가 좀 조심스럽지만 ^^)

책 내용을 그대로 제공해주고 있다. 우와아~~~~ 😻

 

심지어, 책의 경우 2색 인쇄이지만, 웹페이지는 풀컬러로 제공이 된다 👍

 

 

뭐 일단 웹페이지를 통해서 공부하여도 좋지만,

개인적인 경험으로는 책을 사서 공부하는 것이 조금이라도 더 공부를 하게 되더라는 ... 👩‍🚀

 

 

퀀트 투자를 하기 위해서는 다양한 데이터가 필요하기에

이 책에서는 그러한 데이터를 수집하는 방법을 알려주고 있다.

 

물론 비싼 비용을 지불하면 손쉽게 데이터를 얻을 수 있지만... 우리가 좋아하는 것은 Free !!! 💛

 

이 책에서는 API를 이용해 데이터를 수집하는 방법을 시작으로 해서

HTML을 파싱하는 방법을 통해 공시를 받아오기도 하고 주식티커를 통해 데이터를 얻어오기도 한다.

 

또한 시각화를 통해 데이터를 분석하는 방법도 구체적으로 설명해주고 있으며,

종목을 선정하는 방법들에 대해서도 구체적으로 설명해주고 있다.

 

다만, R 언어를 이용한 프로그래밍적인 부분에 대해서 힘을 주다보니

퀀트 투자에 대한 설명 부분이 많지 않은 것은 조금 아쉽다.

 

 

그래서, 저자가 앞서 출간했던 책을 같이 살펴보면 더 좋을 것 같다.

    - www.yes24.com/Product/Goods/56018775?Acode=101

 

SMART BETA (스마트 베타)

주식투자의 새로운 흐름, 스마트베타현명한 베타를 통해 알파를 추구하라!오래 두고 볼 수 있는 퀀트 투자 교과서 쉬지 않고 변화하는 주식시장에서, 스마트베타는 `장기적으로 주가지수 이상

www.yes24.com

 

기존에 다른 퀀트 투자 책을 보면서 실제 구현에 대한 부분이 아쉬웠는데,

이 책에서는 실제 데이터들을 수집해서 구현하는 내용들을 자세히 설명해주고 있어서 너무 좋았다.

 

 

※ 제이펍 서평단 활동을 위해 지급 받은 도서에 대한 리뷰입니다.

반응형

Hacker News Digest 메일을 보다가 자극적인 문구를 보고 살펴보게 된 article이다.

 

 

WTF Python: Exploring and understanding Python through surprising snippets

번역해보면 "빌어먹을 파이썬: 놀라운 코드 조각을 통해 파이썬을 탐험하고 이해해보자" 라고 하면 될라나?!

 

 

# 링크 : github.com/satwikkansal/wtfpython

 

satwikkansal/wtfpython

What the f*ck Python? Contribute to satwikkansal/wtfpython development by creating an account on GitHub.

github.com

 

실제 사이트에 가보면 아래와 같은 문구가 반긴다.

 

 

What the f\*ck Python! 😱

 

 

아무래도 Python 공부하면서 고생을 많이 하신 분인가 보다.

 

 

중국어와 특이하게도 베트남어 번역이 있다.

자동 번역기로라도 한국어를 PR 해볼까?!라는 생각이 들었다. 음... 고민중...

 

 

Python 왕초보에게는 별 도움이 되지 않을 것 같고, (괜히 햇갈릴 수 있을 내용이 많다!)

어느정도 다룰줄 아는 분이라면 여기에 있는 내용을 살펴보면 재미있을 것 같다.

 

 


>>> a = "wtf"
>>> b = "wtf"
>>> a is b
True

>>> a = "wtf!"
>>> b = "wtf!"
>>> a is b
False

 

 

위와 같은 상황이 이해가 되나?! ^^

반응형



최근 주력으로 공부하고 있는 것은 Kubernetes와 Machine-Learning이다.

특히 현재 업무와도 관련이 있어서 더 깊이 보고 있는 것이 바로 Kubernetes인데, 이와 관련된 새로운 책 하나를 살펴보게 되었다.



취향 저격!


요즘 IT 서적들은 표지도 너무 잘 만들고, 타이포그라피도 너무 잘 하는 것 같다.

그리고, 왠지 모르게 레벨업 욕구를 불러일으키게 "15단계"라니...




희한하게 요즘 보는 책들의 지은이가 계속 일본인이네...

지은이가 IBM 클라우드 소속이라서, 책에서도 IBM 클라우드를 소개했구나 ... ^^



15단계로 구성되었다고 하지만,

1장은 단계에 속하지 않은 사전 학습 내용으로 되어있다.



2장부터 1단계 시작이다.



그런데, 살펴보면 다른 책에서는 잘 보지 못하는 재미있는 항목이 보인다.



각 Step의 뒷 부분을 보면, "참고 자료"를 하나의 섹션으로 넣어 놓았다.


실제 내용을 보면 아래와 같이 되어있다.



추가적으로 공부를 더 해보고 싶은 경우, 이 내용을 참조하면 많은 도움이 될 것 같다.



책 내용은 깔끔하다.

다만, Why 에 대한 설명을 해주는 책은 아니고, How 위주로 설명을 해주는 책으로 보인다.




설명도 잘 되어 있고, 실행 예도 잘 보여주고 있다.


다만, 15단계에 따라 하나씩 직접 해보면서 어떤 명령어들을 사용하는지 배우기에는 적합하지만,

왜 이런 구성을 가지고 있는지 등에 대해서 파악하려면 다른 책을 보는 것이 나을 것 같다.


직접 몸으로 부딪히면서 배우는 것을 좋아하시는 분들에게 추천할 수 있는 책이다.




※ 제이펍 서평단 활동을 위해 지급 받은 도서에 대한 리뷰입니다.

반응형

+ Recent posts