728x90
반응형

가장 기본적인 개발환경이 설정되었다.

잠깐 요약해보면 이전 블로그 포스팅에서 다음 리스트를 설치했었다.

  • Rust 설치
  • VSCode 설치 + 플러그인 설치
  • Tauri 설치 [create-tauri-app]
  • Tauri 프로젝트 설정 [Tauri + Cargo + yew]

설치 후 Tauri + yew 샘플페이지가 정상적으로 실행되는걸 확인했으니 앞으로 개발할 App에서 사용할 기술이 어떤것이 있는지 확인해볼 차례다. 이제 겨우 개발환경 기초만 만들었기 때문에 앞으로 가야할 길이 멀긴하다.

자 그럼 어떤기술이 필요할 것인지 전체적인 App의 기능에 대해서 기획해볼 차례다.

  1. 업비트, 바이낸스 (혹은 기타 거래서 API) Websocket, Restful API 를 통해서 필요한 거래정보를 가져온다. (API 신청이 완료되었다고 가정한다. : 댓글이나 메일로 API 신청에 대해서 자세히 알고 싶다는 요청글이 많아지면 별도로 작성하겠지만 API 신청에 대해서는 이미 많은 정보들이 있으므로 검색해서 찾아보도록 하자)
  2. 코인리스트를 우측에 보여주고 체크된 코인에 대해서 오른쪽 화면에 Grid 형태로 필요정보를 지속적으로 갱신해준다.
  3. 개인이 설정한 전략에 따라서 자동, 반자동, 수동 매매를 할 수 있도록 버튼을 배치한다.
  4. 간략한 차트를 볼수 있게 버튼을 구성하거나 차트를 기본적으로 보여주도록 한다.
  5. 매매 전략에 부합되는 코인들에 대해서 알림을 해준다.
  6. 현재는 현물 거래만 지원하고 추후 비트코인 및 원하는 알트코인에 대한 선물 매매기능도 지원한다.
  7. 특정 알고리즘에 부합되면 Telegram Bot으로 채널에 알림을 전송한다.
  8. 오류가 발생하거나 이상이 발생하면 Telegram 이나 email, sms 메세지로 알림을 전송한다.
  9. 코인 마켓메이커의 성향을 반영한 매매전략을 수립할 수 있도록 한다.

대략적인 기능을 나열해봤는데 구현하려면 꽤 많은 학습이 필요할 것 같다. 왜냐하면 처음 해보는 언어이기 때문에 어떤 crate 들이 필요한지 체크해야 하고 적합성도 확인을 해야 하는데 그렇게 간단한 일이 아니다. 그렇지만 일단 Just Do It 프로젝트이기 때문에 과감하게 진행하면서 문제점들을 해결해나가야 한다. 

너무 고민을 오래 하지말자. 시간만 가고 머리속 지식으로 끝나버리는 경우가 너무 많다. 최근에 [클루지(Kluge)] 라는 책을 읽었는데 내가 가진 문제를 콕 찝어서 해결책을 알려주는것 같은 책이었다. 

 

클루지 : 어떤 문제에 대한 서툴거나 세련되지 않은 (그러나 놀라울 만큼 효과적인) 해결책

너무 깊은 고민에 어떤일을 진행하지 못하는 나쁜 습관을 가지고 있다면 꼭 한번 읽어보도록 하자. 의외의 해결책을 깨달을지도 모른다.

자 책소개는 이정도만 하고 본론으로 돌아가 보자.

위의 기능을 구현하기 위해 필요한 개발 기술들을 나열해보도록 하자

  • Winform : Tauri
  • Webform : Yew (WASM)
  • Websocket : Tokio, Actix
  • GUI : Tarui - EGUI

위의 기술들은 비교적 신규 기술들이므로 지속적으로 발전하고 급격한 변화를 맞아서 소스코드를 뒤엎을 수도 있을지도 모른다. 하지만 현재 구상한 프로젝트를 만들기 위한 최적의 기술들을 나열해봤다.

일단 진행해본다. 진행하다보면 기술적난제나 난이도 때문에 교체가 필요할지 모르겠지만 선택한것을 믿고 가도록 하자.

728x90

+ Recent posts