본문 바로가기

반응형

기록지

(30)
[비트코인 자동 거래 시스템] LSTM 모델을 활용한 비트코인 가격예측 구현 📊 1. 개요 모델 분석을 진행하는 와중에 너무 좋은 논문을 봤다. 논문은 아래와 같다. 딥러닝을 이용한 비트코인 투자전략의 성과 분석 (저자: 김선웅 국민대학교 비즈니스IT전문대학원 교수) 딥러닝을 이용한 비트코인 투자전략의 성과 분석 최근 암호화폐거래소로 투자자들이 몰리면서 비트코인 가격이 급등락하고 있다. 본 연구의 목적은 딥러닝 모형을 이용하여 비트코인의 가격을 예측하고, 투자전략을 통해 비트코인의 수익성이 www.kci.go.kr 해당 논문을 보면, LSTM을 사용해서 가격을 예측하고, 예측된 가격을 사용하여 거래를 진행하는 내용이다. 나같은 경우 LSTM으로 추세를 확인하는 모델을 일단 만들어 보는 것이 목표였는데 교수님께서 예측된 가격과 실제 가격이 저장되어있는 테이블을 따로 생성하여 Chat ..
[멋쟁이사자처럼 지원페이지] #3 Email 인증 구현 - (Feat.당근마켓) 1. 서론 다음 기수를 위한 멋쟁이사자처럼 지원페이지를 제작하던 중 CV에 나와있던 Email에 관련된 불편사항을 해결하고자 하였다. 이렇게까지 하는 이유는 2년전 당근마켓 서류에서 광탈하고 받은 금같은 피드백 때문이다. 해당 피드백을 요약하자면, "단순히 완성시킨다는 것을 넘어서 점점 발전하는 서비스를 구현하는 사람을 원한다." 이다. 그래서 올해 기수를 모집하며 들어본 여러 불편한 점들을 정리하던 중 가장 시급한 일을 처리하고자 하였다. 2. 본론 가장 큰 문제는 바로 Email 인증. 우리 시스템은 1차와 2차 합격 여부를 Email로 전송할 수 있도록 시스템을 설계하였다. 지원자가 100명이 넘었기에 일일이 1차 합격 메일, 2차 합격 메일을 전송하는 것은 좋지 않다고 판단하여 프론트 단에서 메일..
[멋쟁이사자처럼 지원페이지] #2 React 프로젝트와 Spring boot의 연결 - (자원 충돌 방지를 위한 경로 설정) React 연동하기 너무 힘들었다 ㅠㅠ React는 3000번 포트, Spring boot는 8080에서 돌아가는데, 이를 연결해줘야 했다. 이렇게 한 이유는 Spring boot로 Restcontroller만을 구현하고 싶었다. API를 결합력 높게 만들고 사용하기 쉽게 만들어야 좋은 웹 페이지를 구현할 수 있다고 생각이 들었다. (전 방식처럼 jsp페이지를 쏴주는 컨트롤러도 만들지 않아도 되기에 정말 좋았다.) 솔직히 RestAPI만을 만드니 프로젝트 자체가 깔끔해보였다. 각 Entity(테이블)에 관한 CRUD와 추가적인 Service만을 구성하니 코드 자체가 읽기 편해지고 유지보수가 쉬워졌다. BaseEntity를 기준으로 각 Entity가 상속 받는 형식으로 개발을 진행했는데 신세계였다. 중간중..
[멋쟁이사자처럼 지원페이지] #1Google Cloud platform을 활용한 배포 시작 강남대학교 멋쟁이 사자처럼의 운영진이 되었다. 가장 먼저 주어진 업무는 운영진 스터디 지도와 Apply-site를 만드는 것이다. 이 카테고리에서는 Apply-site를 만드는 과정을 기록하고자한다. 1. Web hosting 플랫폼 선택 웹 호스팅 플랫폼으로는 구글 클라우드 플랫폼을 선택했다. 일단 첫 가입자들에게는 $300의 무료 크래딧이 생기기 때문에 돈이 없는 학생들이 사용하기에는 딱 좋았다. 인스턴스를 만들고 바로 배포하는 과정이 그렇게 어렵게 느껴지지는 않았다. 다만 프론트 파트에서 React를 사용하고 있기 때문에 배포 과정에서 삽질이 조금 필요할 것 같다. https://cloud.google.com/free?hl=ko 무료 체험판 및 무료 등급 | Google Cloud $300의 무료 ..
[비트코인 자동 거래 시스템] 새로운 알고리즘을 위한 Data 분석 Class 생성!📈 1. 개요 군대를 다녀오니 내 서버에서 24시간 돌아가던 비트코인 자동거래 시스템이 망가져 있었다. 인증 Key와 API 요청값 변경등이 이슈였다. 이런 것들을 변경하고 나니 트레이딩 알고리즘을 조금은 변경하고 싶어졌다. 기존에 너무 간단한 알고리즘을 사용하고 있었기에 조금은 강력한 알고리즘을 적용하고 싶었다. 그런 알고리즘들을 확인해보니 기존의 비트코인에 대한 거래값들이 매우 중요하다는 것을 알게 되었다. 필자가 사용하는 Korbit API에서는 과거의 값들을 제공해주는 API가 없기 때문에 매일 분마다 Korbit에서 제공하는 데이터를 저장해 사용하기로 했다. 몇일동안 계속 서버에 저장한다면 사용할만한 데이터가 나올 것이다. 24시간 서버에서 데이터를 수집할 생각이다. 2. 본문 이동평균과 같은 값들..
[KNU_30 개발일기] ORM을 사용해 객체지향적인 웹페이지를 설계하자 - Hibernate, Entity, Repository를 활용한 데이터베이스 연동 및 설계 1. 개요 Swagger를 설정하고 나서 내가 개발하고 있는 웹페이지에 적용할 기술이 또 뭐가 있을지를 생각해봤다. 많은 구글링을 통해 ORM이라는 존재를 알게 됐고, Java를 사용하는 Spring boot에 필요한 JPA를 공부하기 시작했다. 전에는 Mybatis와 Mapper를 활용하여 데이터베이스에 접근하는 방식을 사용했는데, Spring Data JPA와 Entity로 개발을 해보니 확실이 편하다는 것을 느낄 수 있었다. 물론 각각의 장단점이 있지만, 쿼리를 객체지향적으로 조작하고 유지보수에 ORM이 강하다는 점은 확실이 알 수 있었다. 또한 데이터베이스 쿼리라면 치가 떨리던 나기에 ORM은 데이터베이스에 대한 종속성 자체가 줄어든다는 강점을 주었다. 이번에는 ORM을 적용하기 위해 기본적인 E..
[KNU_30 개발일기] 낡은 웹페이지의 업데이트 시작 - Swagger를 활용한 API 개발 명세 자동화 1. 개요 약 1년전 KNU_30이라는 강남대학교 30주년 이벤트 페이지를 개발한 경험이 있다. 학교에서 서버를 지원해주는 사업이었기 때문에 신나게 서버를 가지고 논 기억이 난다. 단순한 일회성 페이지로 개발되었지만, 프론트 개발을 주도한 친구가 괜찮은 UI를 개발했기 때문에, 동아리도 소개하고 영상들도 첨부하는 페이지가 되었다. 오랜만에 들어가보니 아직도 서버는 구동중이고 방문 로그는 쌓여있는걸 확인할 수 있었다. 서버 한 대가 아깝다는 생각이 들었다. 그래서 관리자 페이지를 만들어 기본적인 데이터 CRUD를 개발하고 싶었다. 교수님을 따로 찾아 봬었다. 팀을 모집하고 장기적으로 개발할 계획이다. 오늘은 그 개발의 첫 단계, Swagger를 활용한 API 개발 명세 자동화이다. 사실 별거 없지만, 그래..
[비트코인 자동 거래 시스템] 6주차 시스템을 배포할 서버를 구축하자! - (Ubuntu로 서버구축하기) 💾 1. 개요 서버를 구축해야했다. 일단 이 모듈이 모든 날 수익을 낼 수는 없다. 결국 상승장에서 돈을 벌 수 있는 모듈이기 때문이다. 따라서 클라우드 컴퓨팅을 하기에는 금액이 고민되었다. 1분에 한번씩 API를 불러오는 코드를 계속 실행시키며 데이터베이스에 데이터를 생성한다. 만약 수입이 없는 상태에서 클라우드 컴퓨팅을 해야한다면? 어휴... 벌써 한숨이 나왔다. 다행이도 고모가 주신 노트북이 있어서 윈도우를 하나 밀고 Ubuntu를 설치해 개인서버로 사용할 계획을 세웠다. 2. 본문 서버구축의 순서는 다음과 같다. 1.Rufus 다운 2. Ubuntu ISO 다운 3. 부팅 USB 생성 4. 노트북에 설치 - Rufus 다운 Rufus는 USB를 ISO 파일로부터 부팅 가능한 USB로 만들어주는 프로그..