본문 바로가기

IT실습공부14

파이썬 비트코인 선물 자전거래 봇 프로토타입 완성 프리를 뛰기 전, 원래 합류하기로 했던 팀의 기술 스택은 파이썬, vue.js였다. 코인 관련된 팀이었기에, 팀이 불발되며 할일이 없어지자, 삘이 들어 만들게 되었다. 미루고 미뤄왔고, 원래는 노드로 작성할까 했는데, 파이썬이 더 편해, 파이썬으로 만들게 되었다. 1) 일단, 프로그램을 설계할 때, 공통기능을 만드는게 우선이라고 생각했다. 공통기능 -> 거래소 접근 토큰 생성 기능, 잔고 확인 기능, 로그 기능, 개인 키 접근 기능, 코인 가격 확인 기능, 코인 거래량 확인 기능, 사기, 팔기 2) 두번째로 메인 동작을 할 기능들을 만들었다. ( 스크립트 메인에서 호출할 순차적 기능들 ) 메인 기능 -> 매매할 코인 분석 기능, 매수 가격 결정 기능, 배율 결정 기능, 블랙리스트 코인 제외 기능, 포지션.. 2021. 11. 23.
DB 세팅하기 - 2 aws rds에 db를 생성하고, dbeaver로 접속하는 일까지 했었다. 일단 당장 테이블을 만들고 데이타를 넣어보자. 컨트롤 S로 저장하기를 누르면 쿼리가 뜨는데, 따로 쿼리로 치지말고 디비버를 활용해서 저장해주자. 아래 쿼리는 참고용이다. CREATE TABLE bitcoin.price ( id serial NOT NULL, usdt float8 NOT NULL, reg_date timestamp NOT NULL ); CREATE UNIQUE INDEX price_id_idx ON bitcoin.price (id); -- Column comments COMMENT ON COLUMN bitcoin.price.id IS 'id 값'; COMMENT ON COLUMN bitcoin.price.usdt I.. 2021. 9. 13.
DB 세팅하기 - 1 미뤄놨던 정처기 실기 시험을 준비해보자. 교과는 수제비 2권 실기 ( 집에 굴러다녔는데 언제 샀는지 잘 모르겠다. ) 총 5단락이 있다. ( 아무래도 실기 1권이 따로 있는것같은데 집을 한번 찾아봐야겠다. ) 1. SQL 응용 2. 소프트웨어 개발 보안 구축 3. 프로그래밍 언어 활용 4. 응용 SW 기초 기술 활용 5. 제품 소프트웨어 패키징 그냥 하는김에, 실기도 같이 해보자. 1번부터 시작하자면, 관계형 DB 기준으로 작성되어있는거같은데, 프로시저 어쩌고 단락을 하기 전, 걍 실습을 위해 DB를 구축해보자. 구축 방법은 3개가 있다. 1. 도커 2. AWS RDB 3. ec2 인스턴스에 통으로 깔기 1,3번은 돈이 추가로 안든다. 그리고 도커에 대해 학습할 수도 있다. 2번은 돈이 들 예정이다. a.. 2021. 9. 13.
파이참 설치 + 파이선 설치 + wsl 터미널에서 flask 워크프레임 환경으로 웹 페이지를 작성해보자 갑작스례 파이썬 백엔드 환경에서 할일이 생겼다. python3.8 이상+ virtualenv 환경 플라스크 -> pip sql alchemy - >pip sql lite -> apt get postman -> 회원가입 백엔드 id , pw , 이름 -> 로그인 성공 msg 목표는 위와 같다. 일단 윈도 + 윈도 우분투환경에서 파이썬 3.8 이상 버전을 설치한다. 윈도에선 공식 홈페이지에서 설치. 우분투환경에선 2.7버전이 설치되어있을 것임으로 sudo apt-get update sudo apt-get install python3 sudo apt-get upgrade python3 명령어를 사용하여 기본 터미널에서 파이썬 버전을 업해주자. 윈도에선 3.91버전 우분투에선 python --version 이 .. 2021. 1. 2.
코인 정보 db 구성을 구상해보자. db 정상 설치 상태에서 DB 추가 (유저 or 스키마 or database단계에서) 테이블을 설계해야한다. 나같은경우엔 액셀을 이용해서 사용자나 시스템에서 접근하는 기준으로 테이블을 분리하고 정리한다. 그리고 현재 상황같은경우엔 우선적으로 주의해야할 조건은 아래와 같다고 생각한다. 1. 공짜 aws라 최대한 부담이 안가게끔 해야한다. 2. 공짜 oracledb라 4gb의 용량제한 3. 업비트 api에서 코인 정보를 땡길때 유저들이 많으면 단번에 못땡긴다 -> 10회 해도 못땡길 수 있다. 4. 명확한 분석 방향이 정해지지 않았다. (항상 그럼,이건 왠만하면 다 그럼) 5. 동시에 커밋되는 부분이나 시점이 없도록 해야한다. 건드는 프로세스들이 한 시퀀스로 흐르게끔 조절하자. 지표 분석을 위해서는 최대한 .. 2020. 12. 13.
aws 서버에 도커를 설치하고 oracle DB 11xe 버전을 구동시켜보자. subicura.com/2017/01/19/docker-guide-for-beginners-2.html 2020. 12. 12.
개인 사이트의 방문자 정보를 기록하고, 위치정보를 표기해보자 서버의 부담을 최소화 + DB가 현재 없는 상태이기에 이 방법을 사용했다. $ip = $SERVER["REMOTE_ADDR"]; $days = date("Y-n-j_h:i:s"); "; $dummy_str = $ip."|".$days; $dummy_str = explode("",$dummy_str)[0]; //exec($str,$ip_list,$dummy_e); $str = "tac /home/connect_list.txt"; exec($str,$ip_list,$dummy_e); if (!in_array($dummy_str,$ip_list)) { $str = "echo '$dummy_str' >> /home/connect_list.txt"; system($str); } 위와 같이 프론트 php 단에서 방.. 2020. 12. 12.
업비트 코인목록 리스트를 보여주자. 현재 DB가 없는 상태이므로 리눅스 슈퍼유저 nodejs 로 업비트에서 제공하는 코인 리스트 목록을 가져온것을 유저단 디렉토리 txt 파일로 뿌린 후 파싱하면서 형태를 만들고있다. 해당 파일 읽고, 제이쿼리를 활용해서 테이블을 만들어준다. 코인 당 거래액과 변동률을 구하기 위해 data를 끌고와야하는데, 업비트 api에 접근하면 너무 많은 app들이 접근 중이라 특정 코인은 거부를 한다. 이 방법을 해결하는게 저 사진의 aaaa를 채울 수 있다. 지금 당장 생각나는것은 db를 구성해 수시로 업비트의 정보를 끌고와 db에 적립시키는 방식이다. 파일 단위로도 할 수 있지만 쓸대없이 작업이 복잡해진다. 2020. 12. 9.
업비트 잔고보이는것의 등락률 을 마저 표기하자. 기존에 업비트 구매가를 가져왔다면, 현재 가격 부분과 등락률을 표기해주어야 한다. 기존 krw , 기존 가진 코인명, 기존 가진 코인 수량, 기존 가진 코인의 구매값 정보로 현재가와 등락률을 표기해야한다. 즉 -> 코인 명 가져와서 해당 명 가지고 업비트에서 제공한 정보 주소로 https://api.upbit.com/v1/trades/ticks?market=코인코드&count=1 ajax 데이터를 쏘면 리턴값으로 현재 코인 가격이 나온다 대충 이런식으로 포맷이 나오는데 내가 원하는 리턴값[0].trade_price 항목이 최근 거래 가격이다. 즉 최근 btc 가격 * 해당 코인의 최근 btc 가격을 하면 최근 원화 가격이 나온다. btc 최근 가격 https://api.upbit.com/v1/trades.. 2020. 12. 9.
업비트 잔고보여주는걸 꾸며보자 그냥 별거 없다. 처음에 가져온 데이터들은 파싱 한 후에, 정리 디비전과 테이블을 나눠줘서 간단한 style 만 태그에 집어넣는다. 제이쿼리 연동 + 업비트 get 방식으로 data 요청하는 작업도중에 객체 분류 작업이 생각보다 길어지는데 9시까지 나와야해서 작업은 여기까지한다. 나중에 리액트 js를 추가하던 말던 하자. 2020. 12. 8.