Kimkkikki Blog
개발자 kimkkikki
-
Google Cloud Platform 에서 Microsoft Azure로 이사 후기
GCP Compute Engine에서 한국인의 이름통계 서비스를 운영하고 있었습니다. 그러다 서버 VM의 사이즈를 축소 하고 싶었었습니다. GCE의 VM의 사이즈를 축소하려면 일단 서버 종료 -> VM 머신 유형 변경 -> 서버 시작 단계를 거쳐야 합니다. 일단 서버 종료 -> VM 머신 유형 변경까지는 손쉽게 되었습니다. 문제는 서버 시작에서 발생했습니다. 서버가 시작은 되었지만...
-
Python으로 비트코인 마이닝 풀 만들기 #1
1주일에 한편씩 쓰는 목표로 진행 중에 있습니다. 사전 준비 Python으로 비트코인 마이닝 풀을 만들기 전에 미리 셋팅해야 할 것들이 있습니다. 바로 Bitcoin 데몬이죠. Bitcoin Github에서 최신 릴리즈를 다운받아 줍니다. 제가 이글을 작성하는 시점의 버전은 0.17.1이네요. wget https://bitcoincore.org/bin/bitcoin-core-0.17.1/bitcoin-0.17.1-x86_64-linux-gnu.tar.gz tar zxvf bitcoin-0.17.1-x86_64-linux-gnu.tar.gz #의존성 모듈을 설치합니다. sudo apt-get install build-essential libtool autotools-dev automake...
-
간단하게 Python 프로그램을 Systemd로 관리하기
Python으로 개발을 하다보면 간단하게 짠 Python 프로그램을 데몬으로 띄워놔야 할 필요가 있습니다. 예를들면 Kafka에서 Topic을 Consume 하는 일만 하는 프로그램 같은 경우에 말이죠. PEP에 따라서 Python Daemon을 구현해도 되지만 귀찮고, 또 간단한 일인데 힘을 쏟고 싶지 않을때가 있죠. 그럴때 저는 보통 다음과 같이 실행시켰습니다. nohup python your_python_daemon.py & 딱봐도 뭔가...
-
Flask에 React Router 적용하기
Flask에 React Router를 적용해봅시다. Flask는 기본적으로 Jinja2 Template을 지원하고 있지만, 저는 그저 REST API 용도로만 Flask를 활용하고, View는 전부 React에 맡기고 싶었습니다. View에서 일어나는 모든일은 React에 맡기고 Flask는 REST API만 담당하여 둘을 완전히 분리해봅시다. 일단 기본적인 프로젝트 구조는 다음과 같이 구성할 예정입니다. template/ index.html static/ api/ api.py web/ app.js /containers...
-
Gunicorn, Flask에 Prometheus Exporter 적용하기
최근에 APM을 구축하고 싶어졌고, API 서비스 Metric을 보고 싶은 니즈가 생겼었습니다. 구글에서 Flask APM을 찾아보면 Elastic APM, NewRelic 같은 친구들이 나오는데요. Elastic APM은 ElasticSearch부터 해서 환경설정하는데 배꼽이 더 커지는 느낌이고, NewRelic은 좋다고는 하는데 유료입니다. 그래서 고른 것은 오픈소스인 Prometheus입니다. 오픈소스이다 보니 현재 진행중인 프로젝트에서 사용하고 있는 수많은 DB, MW 등등의...