본문 바로가기

IT실습공부/개인프로젝트13

파이썬 비트코인 선물 자전거래 봇 프로토타입 완성 프리를 뛰기 전, 원래 합류하기로 했던 팀의 기술 스택은 파이썬, 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.
코인 정보 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.
간단하게 웹에 내 업비트 잔고를 보여줘보자 아파치 설치 yum install -y httpd systemctr httpd 실행 php yum install -y php DB는 나중에 도커로 분리 후 구성할것이다. vim /var/www/html/index.php 로 작성해서 php 페이지 작성한다. 작성하고 한번 내 아이피주소로 접속해서 봐본다. 뜨는걸 확인한다면, 전에 만들었던 업비트 잔고확인 node.js 파일 정보를 뛰울려고한다. 그냥 간단하게 서버 내 파일 위치 실행 > 리턴 값 txt파일로 저장 출력 > 띄우기 보안 관련된 문제 + 서버 리다이렉트 문제하면 부담될까바 주기적으로 실행시켜서 업데이트하는 형식으로 해봤다. 다음은 그리고 스케줄러로 조절해서 실시간으로 파일 txt 파일을 출력해보자. 크론탭이다. crontab -e */5 * .. 2020. 12. 8.