본문 바로가기

EP 빌드로그

EP.30 코인 가상매매 장부에 안전 리셋·수익률 그래프 붙이기 — KR·US 장부 구조를 옮긴 기록

들어가며 · 이번에 옮긴 것

실제 돈을 넣지 않고 사고파는 흉내만 내보는 가상매매를 운영하려면 지금까지 얼마를 벌고 잃었는지 적어두는 장부가 필요합니다. 이번에는 기존 KR·US 장부와 같은 스타일과 안전장치를 갖춘 세 가지 도구를 코인 가상매매 장부에도 옮겼습니다.
옮긴 도구는 장부를 안전하게 처음 상태로 되돌리는 리셋 도구, 누적수익률 그래프를 생성하는 그래프 도구, 코인 리뷰 상단에 네 가지 숫자를 넣는 항목입니다. 코인 장부의 구조가 기존 장부와 비슷해 공통 도구를 재사용할 수 있었습니다.


옮긴 도구 네 가지

이번 작업에서 손댄 부분은 아래와 같습니다. 각 도구가 코인 장부에서 어떤 역할을 하는지 정리했습니다.

  • 수익률 그래프 그리기 — 네 개 장부가 같은 모양의 그림을 그리도록 공통으로 만들었습니다. 어느 값을 기준으로 그릴지 지정하는 설정값을 받고, 그림 그리기에 실패해도 전체가 멈추지 않고 넘어가도록 했습니다.
  • 코인 리뷰 상단 항목 — 시작 금액, 현재 금액, 누적 손익, 누적 수익률 네 가지 숫자를 코인 리뷰 상단에 넣습니다.
  • 장부 리셋 도구 — 장부를 처음 상태로 되돌립니다. 코인 장부에 맞는 초기 예산, 보유 현금, 이미 거래한 시장 목록 같은 항목을 초기값으로 채웁니다.
  • 리뷰 전송 — 그래프를 붙여 보낼 때 실패해도 리뷰 전송 자체는 계속되도록 했습니다.

이 외에 코인 리뷰 상단에 네 가지 숫자를 넣도록 배선했고, close-review 러너의 그래프 발송 흐름에 연결했으며, 메신저 쪽에 사진 보내기 기능을 추가했습니다. 그래프를 그리기 위한 그림 라이브러리도 함께 추가했습니다.


안전장치 · 되돌리기가 위험하지 않도록

장부를 처음 상태로 되돌리는 일은 잘못 누르면 기록이 통째로 날아갈 수 있어서 조심해야 합니다. 그래서 리셋 도구에는 여러 겹의 안전장치를 넣었습니다.

  1. 되돌릴 수 있는 대상을 미리 정해둔 허용 목록 안에서만 동작합니다. 허용 목록에 없는 대상은 건드리지 않습니다.
  2. 기존 기록은 지우지 않고 백업 위치로 옮깁니다.
  3. 되돌린 뒤 값이 제대로 채워졌는지 스스로 검사합니다.
  4. 기본 동작은 실제로 실행하지 않고 무엇을 바꿀지만 보여주는 '미리보기'입니다. 진짜 실행하려면 따로 지정해야 합니다.

이렇게 기존 KR·US 장부와 같은 방식의 안전장치를 코인 장부에도 똑같이 적용했습니다.


옮기면서 어긋난 부분

코인 장부는 KR 장부와 사실상 같은 구조였습니다. 원화 기준이고, 전체 자산 값과 초기 예산, 보유 현금 항목을 똑같이 씁니다. 그래서 도구가 거의 그대로 재사용됐습니다.
다만 한 가지 주의할 점이 있었습니다. 리셋 도구가 채우는 초기 상태는 각 장부가 실제로 읽어 들이는 항목과 정확히 맞아야 합니다. 코인 장부는 '이미 거래한 시장 목록'이라는 항목을 쓰기 때문에, 이 항목을 빠뜨리면 되돌린 뒤 장부를 다시 불러올 때 값이 어긋납니다. 그래서 코인 장부의 초기 상태에 이 항목을 맞춰 넣었습니다.

기준 통화원화원화
공통 항목전체 자산·초기 예산·보유 현금전체 자산·초기 예산·보유 현금
리셋 초기 상태각 장부 상태 구조에 맞춤'이미 거래한 시장 목록'을 초기 상태에 맞춰 넣음
도구 재사용기준으로 활용거의 그대로 재사용

아직 실행하지 않았습니다

이번 작업은 도구를 준비하고 연결한 단계까지입니다. 실제로 장부를 되돌리거나, 정리 글을 실제로 보내거나, 운영 환경에 올리는 일은 하지 않았습니다. 오너·운영맥 통과 기준 때문에 실행·실전송·배포는 이번 단계에서 진행하지 않았습니다.
참고로 이 도구들에 대한 검사는 아홉 건이 있습니다. 다만 시간에 따라 결과가 달라지는 일부 기존 검사는 이번 변경과 무관하게 그 전부터 실패하던 것이라, 별도 과제로 두었습니다.
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

반응형