투자회수 내역의 XIRR 값들을 일괄 업데이트 해야 하는 이슈가 있었는데 간결하고 심플한 파이썬으로 작업을 하게 되었습니다.이미 Spring 웹서버에 단건의 투자건에 대해 XIRR을 구하는 로직은 구현이 되어 있었고 포팅만 하면 되는 상황이었는데 생산성을 높이고자 파이썬으로 작업을 하게 됩니다 XIRR 일괄 업데이트는 FAST API 를 발행해서 스케줄러를 통해 새벽 시간대에 업데이트를 하도록 설정하고 XIRR 산식은 채찍피티를 갈궈서 빠르게 클래스 객체로 만들어 내게 됩니다.생산성은 기가 막히는데 딜레마에 빠지기도 하지만 MSDN 찾아보고 구글링 하던 시절 생각하면 별반 차이는 없다고 생각이 드네요 CashFlow 는 현금흐름 정보를 가지는 객체입니다class CashFlow: def __in..
413 request entity too large 오류 기존 윈도우 서버에서 구동중이던 웹서버를 apache에서 nginx 로 교체하는 작업을 진행 후 몇가지 테스트를 진행하다 아래와 같은 오류를 맞이하게 됩니다. 413 request entity too large413 요청 엔터티가 너무 큽니다 2개의 서버에 같은 nginx 를 설치했는데 2개의 서버가 넘겨주는 메시지도 하나는 영어, 하나는 한글인데 왜인지 파악해보아야 겠습니다. 해당 오류를 찾아보니 클라이언트의 요청 사이즈가 제한에 걸려서 발생하는 문제인데 주로 첨부파일 업로드시 발생하는 부분이었습니다.아래와 같이 nginx 공식문서에서 해당 오류가 발생하는 경우를 설명해두었는데요 client_max_body_size 값일 수정해 클라이언트 요청..
WebSocket 을 활용한 주가정보 실시간 조회 작업 대쉬보드에서 주식 종목 정보를 보여주는 부분이 존재하는데 주가정보는 전일 오후 3시 30분, 장이 마감되고 난 뒤에 일괄 업데이트 된 정보만을 보여주다보니 당일 실시간으로 변하고 있는 주가정보를 반영해주지 못하고 있었습니다.20분 지연시세도 아닌 전일 종가라서 당일 변동에 따른 수익률의 변화를 실시간으로 반영하지 못하고 있는 부분으로 인해 이 부분을 개선해주기로 하였습니다. 주가정보는 서버에서 가져오게 하고, 뷰단에서는 수신된 주가정보를 업데이트 하도록 했습니다.웹페이지 접속 시 웹소켓을 이용해 서버로 접속 요청 이후 접속 성공 시 주가정보를 내려받을 종목 코드 리스트를 넘겨주도록 합니다. 서버는 python 으로 작성되었으며 주가정보는 Finan..
nodejs express 서버를 AWS에서 무중단 서비스로 구동하기 위해 PM2를 사용중에 있습니다. https://pm2.keymetrics.io/ npm install pm2 -g 명령어로 손쉽게 설치가 가능하며 pm2 list 로 현재 리스트업된 목록을 확인가능하고 pm2 monit 명령어로 구동중인 서버 로그를 확인도 가능합니다. 다만 로그를 하나씩 확인하는게 너무 불편하고 모니터링 하기엔 부적절하다는 판단하에 모니터링 툴을 알아보던 중 pm2 자체에서 제공해주는 모니터링 웹서비스가 있음을 확인해서 설치하게 되었습니다. 기존 스프링에서 진행했었던 프로메테우스와 Grafana를 그대로 차용해서 활용해보고 싶었으나 일단 빠르게 시작할 수 있는 PM2를 먼저 건드려 보게 되었습니다. https://i..
들어가며 mysql에서 select 쿼리 결과를 JSON형태로 뽑아주는 함수가 있습니다. JSON_ARRAY, JSON_OBJECT, JSON_QUOTE 사용법은 공식 문서를 통해 확인할 수 있으며 MYSQL 5.7 버전 이상에서만 지원되는 함수입니다. https://dev.mysql.com/doc/refman/8.0/en/json-creation-functions.html MySQL :: MySQL 8.0 Reference Manual :: 12.17.2 Functions That Create JSON Values 12.17.2 Functions That Create JSON Values The functions listed in this section compose JSON values from co..
아마존 LightSail 서버를 운영하면서 브라우저 방식의 ssh 콘솔을 이용해왔었는데 라이트한 작업만 했었다보니 로컬에 따로 접속 환경을 설정해두지 않았으나 이번에 mysql 설치 작업을 진행하면서 VSCode 환경에 ssh 접속 환경을 셋팅하게 되었습니다. 제게 있어서도 VSCode 가 개발IDE 로써 점점 사용빈도가 높아지고 있다보니 더욱 이쪽 환경을 더 많이 셋업하게 되네요 Remote SSH 확장팩 설치 => SSH Key 다운로드 => SSH Config 파일 수정 => SSH 접속 먼저 확장팩 탭으로 이동해 Remote-SSH 를 검색해서 설치를 진행해줍니다. 설치가 완료되면 검색바에 >Open SSH Configuration FIle 을 찾아서 열어줍니다. 풀 경로는 >Remote-SSH ..
https://quantrader.tistory.com/176 [Node.js] Express 프레임워크로 Rest API 서버 만들기 node.js 와 express를 통해 API 서버를 만들어 기존 레거시 서버와 연동 개발을 진행했던 부분을 기록으로 남기려 합니다. SpringFramework Server Node.js + express API 서버, 두 서버 사이에 rest api 통신을 위한 quantrader.tistory.com https://quantrader.tistory.com/177 [Node.js] Express Rest API 서버 - mysql2 sequelize 연동 기존 Express 프레임워크로 API 서버 뼈대를 구축했었는데 이번에는 mysql DB 연동을 진행해보려 합니다..