월별 글 목록: 2019년 6월월

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전기값은 벌 수 있지 않을까..?

삼천리 팬텀 제로 전기자전거 사용기

출처 : https://www.sambamall.com/item/itemDetail.do?prdtCd=SELE0058

삼천리자전거 공식 온라인 스토어 삼바(…)몰에서 팬텀 제로 전기자전거를 구매했다. 쿠팡에서 84만원에 판매하는 제품 말고는 다들 가격이 92만원으로 동일하여, 기왕 구매하는 것 공식 홈페이지에서 구매하는 쪽이 보다 나은 서비스를 받을 것 같아 공식 온라인 스토어에서 주문했다. 쿠팡은 1년 전 모델(큰 차이는 없지만)이여서 저렴했던 것으로 기억한다.

수렴 방법은 배송과 대리점 픽업이 있다. 배송의 경우 택배 배송이 아닌 대리점에서 배달해주는 듯 하다. 해보지는 않아서 정확히는 모르겠지만.. 참고로 배송을 선택할 경우 만원의 배송비를 내야 한다.

그리 멀지 않은 장소에 대리점이 있었기에, 대리점 픽업을 선택했다. 추가 비용이 나가는 점도 있고, 어차피 수령하는 날 한번 타볼 겸 해서 너무 멀지만 않는다면 배송보다는 대리점 픽업을 선택하는 것을 추천한다. 근데 당일에 비가 온다는 예고가 있어서 집으로 돌아올때밖에 못 탔었다.

대리점 픽업을 하러 가면 위와 같은 종이로 체크해가며 자전거와 사은품 확인을 한다. 사은품의 경우 비슷한 가격의 다른 물품으로 예고 없이 변경될 수 있다고 하며, 나의 경우 라이트와 펌프가 다른 제품으로 바뀌었다. 그래도 종류는 동일했기 때문에 큰 문제는 없었다.

오랜만에 자전거를 사서 없었던 것들이라 보통의 경우보다 사은품이 큰 도움이 되었다. 다만, 자전거 자체에 후미등과 전조등이 있는 상품인데 사은품으로 왜 얘들을 주었는지는 이해가 잘 안되었다. 조금만 더 신경을 써 주었으면 하는 부분이다.

배터리 자체에 후미등 기능이 있다. 자전거 이용시에 별도로 신경쓸 필요가 없어 별도로 장착하는 후미등보다 편리하다.

자전거 앞에도 기본적으로 전조등이 달려 있다. 계기판으로 쉽게 조작 가능하다.

공식 홈페이지 스펙상 PAS 1단계로 70km, 설명서에는 60(…)km, 계기판 기준 75km 주행 가능한 것으로 표기되어 있다. 몇일 이용해 보니 계기판의 안내는 상당히 정확하여 일반적인 상황에서 70km 주행은 문제 없어 보였다.

계기판에서는 현재 시각, PAS모드, 현재 속력, 주행 가능 거리 등의 다양한 정보를 살펴볼 수 있다. 또한 계기판에는 USB포트가 탑재되어 스마트폰 등을 충전할 수 있다.

근데 기본으로 달려있는 자전거 벨의 위치 때문에 출고 상태에서는 사용 불가능하다. 계기판을 살짝 옆으로 옮겨주고, 자전거 벨을 탈착한 이후에야 USB포트를 정상적으로 이용 가능하다. 자전거 벨은 우측에 옮겼는데 나름 괜찮은 위치였다.

feat.알리발 저가 USB 테스터

출력은 5V이며, 충전기를 연결했을때도 안정적으로 전압을 유지하는 모습을 볼 수 있다. 다만 출력 자체는 2.5W 정도로 그리 높지는 않은 모습이다. 아쉬울때 쓸만한 정도라고 본다. 사진은 80%정도 충전된 iPad Air 2세대를 애플 정품 케이블로 충전중에 촬영되었다.

앞과 뒤의 브레이크 모두 디스크 방식이다. 잘 동작하고 예쁜 것 이상은 전문가가 아닌지라 잘 모르겠다.

배터리 분리 방지 및 도난 방지용 잠금장치도 있다. 배터리만 30만원 하는 물건이라 꼭 필요한 기능이다.

충전 포트가 USB-C가 아닌 점은 아쉽다.

충전중에는 후미등 역할을 하는 후미등의 LED등으로 배터리 충전 상태를 표시해준다.

전기자전거로서는 훌륭한 무게와 강한 등판력, 안정적인 주행거리(스펙상 50km인 자전거들은 솔직히 실 주행시 불안불안하다), 교체가능한(홈페이지에서 판매하는..) 배터리가 장점이지만 100만원 가까이 하는 가격이 부담스러운 것은 사실이다. 다만 30~40만원 정도 되는 자전거를 사는 것보다는 한번에 이정도 급의 전기자전거를 구매하는 것이 모든 면을 고려했을때 만족스러울 것이다.

Lendit 봇 만들기 – 1

LENDIT-BOT v0.1.0..?

렌딧 거래 봇(LENDIT-TRADER)의 경우, 렌딧마켓이 현재 오픈베타서비스중이기 때문에 공개 계획이 없다.

렌딧은 참 좋은 서비스다. 채무자에게는 더욱 낮은 금리의 이자를, 렌딧은 중개 수수료를, 채권자는 적금 대비 높은 수익률을 기대할 수 있다. 하지만 생각해봐야 할 것이 하나 있다. 기존의 금융권이 멍청하지 않은 이상, 채무자에게 매기는 이자의 경우 합리적인 이유가 있을 것이다. 만약 특정한 금융 회사가 과도한 이자율을 책정할 경우, 당연히 채무자는 해당 금융 서비스를 이용하지 않을 것이다. 어떤 식으로 이자율을 책정하는지는 모르지만, 지나치게 과도한 이자율을 책정하기에는 무리가 있다고 추측할 수 있다.

렌딧에 납부하는 플랫폼 이용료의 경우, 채권자가 기존의 금융권처럼 직접 채무자 심사를 하는 것도, 채권 추심 활동을 하는 것도 아니기 때문에 기존 금융권 대비 불리하다고 말할 수 없다. 하지만 저 금리의 차이는 채권자가 떠맡아야 하는 리스크다.

유일하게 유리한 점이라면, 소액의 채권으로 절세 효과를 낼 수 있다는 점이다. 넉넉하게 생각했을 때 약 2%.

그렇다면 3% 정도의 차이를 어떻게 따라잡을 수 있을까? 라는 고민에 눈에 들어온 것이 투자자 수익률 분포다. 이 그래프가 어떻게 보이는가? 대략 24개월까지 수익률 분포가 떨어지다가 그 이후로 상승하는 추세를 쉽게 발견할 수 있다. 여기서 개월 수라는 것이 채권의 평균 경과 기간이라는 점을 고려하면, 채무의 1/2 정도(안전하게는 2/3)를 상황한 채무자의 경우 원금을 상환할 가능성이 상당히 크다는 점을 알 수 있다.

그래서 어느 정도 채무를 상환한 채권을 판매하는 렌딧마켓에 눈을 돌리게 되었고, 시장규모가 작은 탓에 거래 봇을 만들 계획을 세웠다.

Quod(쿼드)

오목과 비슷한 게임인 Quod는 처음으로 내 손으로 만든 GUI 프로그램 이어서 나에게 있어서 특별하다. 당연히 만들었다는 것은 게임의 규칙이 아닌 프로그램이다.

(이미지를 클릭하면 플레이할 수 있는 웹페이지로 이동합니다.)

https://en.wikipedia.org/wiki/Quod_(board_game)

Quod는 1979년 G. Keith Still에 의해 고안된 게임이다.

규칙

  1. 게임이 시작할 때 각각의 플레이어는 20개의 공격용 조각(quads)과 6개의 방어용 조각(quasars)가지고 시작한다. quasars는 공간을 차지하는 중립적인 조각이다.
  2. 각 플레이어는 자신의 턴에 1개의 quads를 사용해야 하고 원하는 만큼의 quasars를 사용할 수 있다.
  3. 게임의 승리를 위해서는 quads를 놓아 정사각형(quod)의 4개의 꼭짓점을 만드는 것이다. 이 정사각형은 어떠한 크기나 방향도 상관없다.
  4. 첫 번째 정사각형을 만드는 플레이어가 승리한다.
  5. 만약 양 플레이어 모두 quads를 사용하였다면 사용하지 않고 남아있는 quasars가 가장 많은 플레이어가 승리한다.
  6. 게임판은 11×11 격자판의 4개의 꼭짓점이 없는 형태이다.

다시 시작하는 블로그

SNS 생활을 정리하고, 인터넷 커뮤니티를 접했으나 SNS와의 차이를 알 수 없어서 다시 블로그를 시작합니다.

최소 주 1회 월요일 오전 6시에 하나의 글을 업로드할 계획입니다. 내용은 주로 개인적으로 하는 개발 관련 내용과 사용기들로 이루어질 것입니다.

감사합니다.