대부분 검색을 통해서 바이낸스 Candle 데이터를 REST API를 통해서 가져올 수 있다는 것을 알고 있을 것이다. 그런데 왜 지금까지 바이낸스 Historical Market Data 에서 zip 파일형태로 Candle 데이터를 다운 받아 1개의 CSV파일로 합치는 작업을 했던 것일까? 바이낸스 REST API로 선물(Futures)이나 현물(Spot) 캔들 데이터를 가져오는 경우 바이낸스 WAF(웹 방화벽)에 의해 IP단위로 API 호출 횟수 제한을 받게 된다. 현재 바이낸스 선물에 적용된 WAF 정책은 1분당 2,400의 가중치(Weight)를 허용하는데 API로 1000개씩의 캔들을 가져온다면 1분에 약 240번 정도 가져오는 것이 가능한 것으로 계산하면 된다. (1번 호출 = 가중치 10 소..
Python으로 바이낸스 3년간의 비트코인 선물 1분지표 Candle 데이터를 파일로 빠르게 다운받아 머신러닝에 필요한 데이터를 얻어 낼 수 있게 되었다. 하지만 zip 파일로 다운로드만 빠르게 되었을뿐, 다운로드 받은 zip파일들의 압축을 풀고 하나의 단일 csv파일로 만들어줘야 하는데 이 작업을 수동으로 매번 하는 것은 나의 취향과 맞지 않는다. 다운받은 Kines/Candle 데이터 파일들을 하나의 파일로 묶어 머신러닝에 필요한 큼직한 데이터 파일을 만들어 주도록 파이썬 프로그램을 만들어보자. 1. 다운로드를 자동화하고 1개의 CSV로 만들자 binance-public-data에 아래에 있는 download-kline.py파일을 실행해서 캔들 데이터를 다운로드 할때 아래와 같이 실행을 하고 있었다...
Docker Desktop이 유료화 되면서(250인 이상, 130억 이상 매출 회사라면 유료!) 대안으로 사용할 수 있는 테스크탑용 컨테이너 가상화 프로그램을 조금씩은 생각해둘 필요성이 생기게 되었다. 오픈소스 수익모델이 점점 기업을 대상으로 비용을 요구하는 방식으로 변해가고 있어 실업무 상황에서 사용자들에겐 곤란한 부분이 없지 않게 있다. (회사에서 안사줘요 ㅠㅠ 등등) 마침 도커 테스크탑의 대체제가 필요해진 이때를 놓치지 않고 Redhat에서 밀고있는 컨테이너 엔진인 podman을 기반으로 Podman Desktop이 공개되었는데, 설치 사용을 해보니 사용성 부분에서 충분히 Docker Desktop의 대체하고도 남을만한 수준으로 만들어져 있어 도커 데스크탑을 벗어나 Podman Desktop으로 갈..
이전에 Mikrotik WebProxy 기능으로 외부에서 Home 서버를 웹으로 연결할 수 있도록 작업을 하고 조금 아쉬웠던 부분중에 하나가 https처리를 백엔드의 웹서버에서 하거나 Mikrotik장비에서 처리를 하려면 SSL 인증서 별도로 Import를 해야하는 부분이었다. 그리고 시간이 좀 지나 미크로틱 RouterOS v7 부터는 이제 장비 자체에서 무료 Let's Encrypt SSL인증서를 설치할 수 있고, 스크립트를 통해 3개월마다 업데이트 작업까지 할 수 있게 되었다. Mikrotik에서 이런 업데이트를 하게된 이유는 미크로틱에서 제공하는 WEB 관리콘솔을 https로 연결할때 SSL인증서를 Import하지 않는 이상 장비 자체에서 생성된 사설인증서를 사용하게 되어 경고 메시지를 보여주기 ..
머신러닝에 필요한 만큼의 바이낸스 과거 Candlestick data를 API로 가져오려고 하는데... 헉! REST API 1회 호출로가져올수 있는 Candlestick은 최대 1,000개로 제한되어 있고 1일 최대로 호출할 수 있는 API호출 횟수도 제한 되어 있었다. (REST API가 비싸긴 하다지만... 살짝 기분이 상한다. 강제청산으로 뜯긴 내돈이 얼만데!! ㅠㅠ) 지나간 과거의 캔들 데이터를 API호출 제한에 상관 없이 받을 수 있는 "방법이 뭔가 있지 않을까?" 하고 뒤적뒤적 Binance 의 Github를 찾아 봤는데... 두둥! 보인다 보여! Binance Public data 다운로드 도구가! - 역시 전세계 1등 거래소인건가? - (다른 거래소는 아직 안 찾아봐서 모르겠음) 인터넷을..
파이썬은 이곳 저곳 정말 다양한 프로젝트에서 많이 사용 되어지고 있다. 그러다보니 Python 버전도 EoL된 2.x 버전 부터 Python 3.x 까지 프로젝트에 따라 사용되어야 하는 버전도 다르고, 라이브러리 의존성에 의해서 파이썬 버전을 강요 당하는 일도 빈번하다. 때문에 [ Python버전 , Python라이브러리 ] 에 따라 격리된 환경에서 사용해야 하는 것이 이젠 거의 필수적인 상황이다. 요구되는 파이썬 환경(Environment)에 따라서 조금이라도 편하게 사용하고자 몸부림치면서 가장 즐겨 사용하고 있는 방법을 정리 해보도록 하겠다. Pyenv 파이썬 가상환경 사용을 위해 필요한 것들 단순하게 보자면 Pyenv는 원하는 Python버전을 쉽게 설치할 수 있는 도구로 생각할 수 있다. 그래서 ..
주로 인프라를 다루는 업무를 하다보니 일적으로나 취미적으로나 리눅스환경에서 쿠버네티스를 만지는일이 많다. 특히 멀티노드 클러스터로 구성된 쿠버네티스(K8s)를 필요로 하는 경우가 많은데, Minikube나 Docker Desktop의 Kubernetes로는 동일한 환경으로 가정해 테스트나 실제 작업을 염두에 두고 작업후 적용하는데 어려울 수가 있다. 회사의 클라우드 테스트환경을 아무렇게나 사용하기엔 동료들에게도 살짝 눈치가 보일때도 많아서 집에 있는 맥북과 맥미니 윈도우 데스크탑에 Vagrant로 VirtualBox 호스트를 만들어 쿠버네티스 클러스터를 구성해보려고 한다. Vagrant와 Vagrant Manager에 대해 우선 Vagrant와 Vagrant Manager를 설치 하는 이유를 알고 넘어가..
MacOS 시스템 모니터링은 MacOS는 Unix(linux) 기반 시스템들이 그러하듯 기본 제공되는 GUI 또는 CLI(Command line) 도구들을 통해 시스템 사용률을 확인 할 수 있다. 시스템 엔지니어로 Linux 시스템을 shell로 접근해 주로 다루고 있다 보니 시스템 모니터링 도구로 Cli 도구를 자주 사용하고 있지만 Mac을 작업/개발을 위한 데스크탑으로 사용하려면 GUI 환경에서 쉽게 확인하길 바랄 수 밖에 없다. (Cli로 확인 하는 것은 좀더 자세한 트러블 슈팅을 진행하며 하는것) 시스템 모니터링을 위한 도구는 사용방식에 따라 크게 GUI / CLI 도구로 나뉠 수 있다. 거기에 모니터링 하려는 OS의 구성요소 ( Process / CPU / GPU / Memory / Networ..
나는 Github ID를 2개 이상 사용하고 있다. 코드를 수정하고 있을때는 상관이 없다가, 무심결에 개인 Git Profile 상태에서 업무용 깃헙 리포에 Push를 한적이 있다. 깃 프로필 변경을 잊어버린 것 이기도 하지만 필요에 의해 수시로 Git 프로필을 변경하고 클론받은 Github 리포에 Push를 하는 경우가 많다보니 종종 민망한 Git History 를 만들곤 하는 것이다. 그래서 귀잖게 SSH PEM Key를 만들고 관리할 필요 도 없고, 간단하게 Github 로그인 인증으로 만든 Token과 아이디를 스위칭해서 한대의 pc로 여러 Github 계정을 사용하도록 설정을 사용중이다. (autoenv를 사용하면 폴더에 들어갔을때 자동 스위칭도 가능하다) 노트북 1대에서 2개의 Github I..
MacOS에 Virtualbox 커널 확장 드라이버가 정상적으로 로딩 되지 않아 NS_ERROR_FAILURE (0x80004005) 에러가 발생 하고 있었다.There was an error while executing `VBoxManage`, a CLI used by Vagrant for controlling VirtualBox. The command and stderr is shown below. Command: ["startvm", "fccacb30-19e0-451b-b625-0e8d44a92cf4", "--type", "headless"] Stderr: VBoxManage: error: The virtual machine 'test01' has terminated unexpectedly duri..
우리집 오큘러스 리프트(Oculus Rift S)는 Left, Right 터치 컨트롤러가 2개씩 생기거나 정신 못차리고 인식에 오류가 있을 때가 많다. USB 연결이 불량인것인지 오큘러스 블루투스 컨트롤러가 이상한것 같기도하고, 지금 사용중인 Windows10 윈도우 상태가 좀 이상한 것 같기도 하다. (무튼 이상하다...) 근본적인 해결책은 찾지 못했지만, 이런 문제가 생길때 오큘러스 리프트 기기를 재설정하는 것으로 해결이하면서 사용중이다. 문제는! 비트세이버를 너무 너무 좋아하시는 우리 와이프님께서는 터치 컨트롤러 오류 문제가 생겼을때 재설정 직접하기 어렵다는 것! 그래서 와이프님께서 오큘러스 리프트 터치 컨트롤러 오류를 쉽게 해결 하실수 있도록 간단한 배치명령 아이콘을 실행해 해결할 수 있도록 아이..
7월경 판매한 건강기능식품 구매대행 상품중에 부적합 성분이 있어 수입신고한 건강기능식품 하나가 '불합격'을 받아 버렸다. ㅠㅠ 그후, 얼마지나지 않아 식품의약품안전처에서 등기가 왔다. 뚜둥! 그리고 안에는 상큼한 초대장이 똿!! ㅠㅠ 이제 3개월이내에 교육을 받아야 한다. (그렇지 않으면 더 따끔한 벌금을 내야 한다고!) - 식품안전 교육명령 일정 및 장소 안내 - 집합교육(현장교육)을 받아야 하는줄 알고 좀 놀랬다. 다행히 교육은 온라인교육으로 대신할 수 있다고 나와 있어서 온라인 교육을 받기로 했다. 이번일을 계기로 조금 더 타이트하게 건강기능식품 수입신고를 하고 진행을 해야 겠다. 이건 명백하게 판매할 상품 하나 하나의 성분을 제대로 확인하지 못한 판매자의 잘못이다. ㅠㅠ (응 참교육 가자~) 1...