Lendit 봇 만들기 – 2

기본적인 기능은 모두 완성하였다. 지난 12시간동안 8만원 정도의 가치를 하는 80여개의 채권을 성공적으로 매수하였다. 프로그램을 코딩하면서 생각해본 점들을 정리해보았다.

under 100MB

개관

주석을 제외하면 100줄도 안되는 파이썬 스크립트로 원하는 목표를 달성하였다. 렌딧 마켓의 채권을 구매 금액의 역순으로 정렬된 값 10개를 요청하고, 특정 금액 미만의 채권을 매수한다. 요구하는 기능의 복잡도도 낮고, 그마저도 조금은 투박하게 짰다. 그렇다고 해서 난관이 없었던 것은 아니었다.

  • 로그인

로그인 구현은 상당히 간단하였다. 고민할 필요 없이 본인의 계정과 비밀번호를 서버에게 건네주는 것이 끝이였다. 이전에 파이썬을 이용한 웹 사이트 로그인을 해 본 경험이 있다면 쉬웠을 것이다.

  • 텔레그램

NAS의 도커 안에서 프로그램을 실행시킬 계획이었다. 때문에 프로그램의 상태를 확인하는 것은 어려웠고, 로그를 스마트폰으로 내보낼 방법을 찾았다. 이에 부합하는 것은 텔레그램이라는 메신저였다. 텔레그램을 불러오고, 봇을 정의한 다음 콘솔창에 출력하듯이 메시지를 보내주는 것이 끝이었다. 입력을 받아 여러가지 명령을 중간에 내릴 수 있었지만, 지나치게 복잡해지는 것을 피하기 위하여 생략했다.

  • Docker

도커는 정말 훌륭한 서비스다. 다만 별다른 고려 없이 사용했더니, 시간대가 서울이 아니었고, Python 코드 실행에 있어 조금은 부자연스러웠다. 순전히 내 잘못이었다. 스파게티 코드가 되어버린듯 한 NAS로부터 분리되어 사용할 수 있다는 점은 상당한 장점이다.

  • Request Payload

가장 큰 난관이었다. 원하는 채권을 장바구니에 담으려고 하는데 담기지가 않았다. data를 post한 경험은 많았지만 이런 경우는 처음이었다. 잘 살펴보니 보통의 경우와 달리 Request Payload라는 항목 안에 데이터가 담겨있었다.(크롬 개발자 네트워크 분석 도구에서..) 처음 보는 항목과, 검색해봐도 상당히 적은 정보에 당황했다. 하지만 여기저기 찾아보고 뜯어보니 결론은 간단했다. 보통의 data와 동일하지만, json형식으로 넘기는 것만이 차이였다. post할때 header에 json도 넘기겠다고 알려(?) 주는 것으로 해결했다.

  • 1시간만의 오류

프로그램을 가동한지 1시간만에 오류가 발생하여 멈추었다. 알고 보니 오픈 베타 서비스를 종료하고 공식 오픈하면서 소소한 수정이 있었다. 덕분에 아침에 급히 수정하게 되었다. 이후 12시간 이상 실행중이나 현재까지는 이상이 없었다.

  • 시장의 크기

어제는 서비스 오픈일이라 조금은 매수할 수 있는 물량이 많지 않았나 추측한다. 보수적으로 하루에 5만원, 채권 평균 기간 3개월이라고 생각하면 200만원 좀 넘는 정도로밖에 유지가 안된다. 그래도 NAS전기값은 벌 수 있지 않을까..?

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다