개요 외부망에서 내부망으로 접근해야 하는 이슈가 있었습니다. 이 문제를 풀어내기 위해 고민을 오래 했었는데 의외로 proxy server를 설정하면 쉽게 해결이 될 것으로 보였습니다. 내부망으로 통하는 공개포트 하나를 뚫어놓고 특정ip대역에서 오는 호출만 받아들이는 걸로요 원칙대로 하자면 vpn 접속을 통해 같은 망으로 구성시키고 나서 접속하는 방식을 택해야 하는데 아직 정보의 부족으로 proxy server를 통한 내부망의 접근을 하고자 합니다. 처음에는 자체 운영중인 시놀로지를 활용해 역방향 프록시(Reverse Proxy)를 이용해 가능성을 보았습니다. 다만 유동ip인지라 고정ip를 제공받을 수 있는 서버가 필요했고, 호스트웨이를 고려했었지만 소소한 비용때문에 아마존 서비스를 이용해보기로 합니다. ..
개요 오늘은 메신저봇R을 이용해 socket 서버와 통신을 하는 걸 만들어 보려 합니다. 이미 제가 구축한 카카오봇에서 작동하는 소스를 발췌해 echo 기능을 넣어보는 예제로 쉽게 풀어보았습니다. 동작 방식은 다음과 같습니다. python 으로 작성된 UDP 서버 카카오봇 카카오봇은 들어오는 메시지를 UDP 서버로 전송하고 서버는 전달받은 메시지에 From UDP Server by python 워터마크 텍스트를 추가해서 다시 보내주는 방식으로 구현해보았습니다. socket 통신의 경우 TCP와 UDP 방식이 존재하는데 연결지향 방식인 TCP의 경우 데이터 전송을 보장하지만 속도가 느린 반면에 UDP는 데이터 전송은 보장하지 않지만 속도가 빠른 장점을 가지고 있습니다. 개발 시 둘의 차이에 맞는 방식을 사..
개요 기존 소스코드 분석 위주로 플러터 개발을 진행하다 보니 예제 하나를 실행해보려 해도 깔끔하게 진행되는 법이 없습니다. 개발환경이 제 각각 다르고 안드로이드 스튜디오가 업데이트 되면서 gradle 또한 호환성을 갖는 버전으로 업데이트 해주면서 맞춰주어야 하는데 그러지 못함에서 나타나는 오류와 경고들이 많이 보입니다. 아래 경고 메시지 Warning: Mapping new ns ~ to old ns ~ 의 경우 gradle 버전이 낮아서 나타나는 경고 메시지입니다. 궂이 경고를 없애지 않아도 앱 실행은 정상적으로 되는 것을 확인했는데 깔끔한 처리를 위해 경고 메시지를 없애도록 gradle 버전을 올려보겠습니다. Warning: Mapping new ns http://schemas.android.com/..
개요 퀀트투자 하시는 분들은 주가정보와 기타 지표들을 모두 수집하고, 또 그 데이터를 정제해서 본인만의 데이터를 구축합니다. 그리고 그 데이터를 이용해 전략을 수립하고 백테스팅 툴을 이용해 전략을 시뮬레이션 해보고 실전 매매에 적용해보는 순서를 가지는데요. 저 역시 퀀트투자를 위한 데이터를 데일리로 수집하는 시스템을 구축해서 사용하고 있습니다. 백테스팅은 python 라이브러리 backtrader 를 이용해 구성한 전략을 2000종목 이상 대입해보면서 전략의 가치를 판단해보고 있습니다. 오늘은 이동평균선 매매를 위한 전략을 세울때 그 이동평균선 데이터를 정제하는 방법을 소개해드리려고 합니다. 본문 주가정보 데이터는 키움 api를 통해 받아오고 있습니다. 실시간 데이터 수집과 스케줄러를 통한 데이터 수집을..
chatGPT의 거짓말 OpenAI의 chatGPT 출현 이후로 업무나 코딩할때 많은 부분이 편해졌다는 것을 느낍니다. 메신저봇R에도 chatGPT를 적용해두고 사용중인데 과금이 무서워 3개월 무료 포인트 소진되면 종료할 예정입니다. 코딩 할 때는 만들어야 하는 함수의 윤곽을 잡아야 할때 유용하고 python, java, flutter, android, mysql 등등 다양한 스택을 옮겨다니려면 망망대해에 있는 함수를 찾기가 어려운데 부탁만 하면 척척 만들어내 줍니다. 물론 저한테 알맞게 필요한 것만 뽑아써야 하는데요. 그런데 오늘은 chatGPT의 거짓말을 보게 되었습니다. 물론 이뿐만 아니라 다양하게 거짓을 말하는 사례를 보아왔었는데요. 제가 직접 당해본건 오늘이 처음 아닌 처음(?) 입니다. 위와 ..
개요 윈도우10에서 잘 사용했었던 탐색기 사진 미리보기 기능이 윈도우11로 업그레이드 하면서 기존 설정이 바뀐것인지 동작하지 않고 있더군요. 그래서 탐색기 옵션을 들여다보면서 다시 미리보기를 활성화 하는 방법을 찾아냈습니다. 다음과 같이 간단한 2단계의 설정만 거치면 되니 잘 따라해보세요 첫번째 윈도우 탐색기 상단 메뉴의 미트볼 아이콘(점 3개) 메뉴 -> 옵션 클릭 두번째 '아이콘은 항상 표시하고 미리 보기는 표시하지 않음' 항목 체크 해제 상세 탐색기 상단 메뉴를 보시면 가장 우측에 점 3개가 보여요. 미트볼 아이콘이라고 하는데 이걸 클릭하면 확장메뉴가 나타납니다. 여기서 가장 아래에 위치한 옵션을 클릭 하시면 추가 설정을 할 수 있는 '폴더 옵션' 창이 나타납니다. '폴더 옵션' 창에 3가지 탭이 ..
올해 2023년 부처님 오신날이 5월 27일로 토요일이여서 대체 휴일이 지정되지 않을까 하는 기대감을 가지고 있었지만 뉴스에서는 갈팡질팡만 하고 있는 것으로 확인했었는데 휴가 다녀오니 대체 공휴일 확정이라고 뉴스가 떴었네요 이로써 5월 27(토) ~ 5월 29일(월) 총 3일의 연휴가 주어지게 되었습니다. 5월 가정의 달 행사도 많고 갈곳도 많은 차에 대체 공휴일 확정 안되면 어쩌나 노심초사 했는데 5월 말일의 일정을 또 잡아보면서 즐거운 시간 보내봐야 겠습니다. 추가로 올해부터 부처님 오신날, 그리고 크리스마스가 대체공휴일로 확정되었다고 합니다. https://news.kbs.co.kr/news/view.do?ncd=7665563&ref=A 올해부터 부처님오신날·크리스마스 대체 공휴일 적용 올해부터 부..
예전 고등학생 시절 친구따라 성당에 가서 교리 공부를 6개월 하고 세례를 앞두었었는데 아버지의 불호령에 더이상 성당을 가지못해 세례를 못받았었는데 입대해서 훈련소에서 주말 종교시간 때 성당을 택해서 7주만에 세례를 받았엇죠. 그리고는 잊고 지냈습니다. 세월이 흘러 결혼을 하고 자녀가 태어나면서 종교활동을 다시 해야 겠다 생각하고 성당에 찾아갔었는데 전산상 제가 세례받은 내역이 없다고 하여 코로나 시국 다시 교리공부를 하고 세례를 받기가 벅찰듯 해서 성당을 포기하게 되었습니다. 그리고 다시 돌고돌아 절을 다니기 시작합니다. 부모님 종교가 불교였었고 어렸을 적 부모님 따라 절에 자주 갔었었기에 고향에 온듯한 기분이 드는 곳입니다. 자주는 못가더라도 월에 한번은 주말을 맞아 사찰을 찾아 가서 기도를 드리곤 하..
개요 주식 관련 정보를 키움증권api를 통해서 받아오는 서버를 운영중에 있는데 flask 로 end point를 제공하고 있습니다. 이번에 시스템 확장을 하면서 한국투자 KIS 에서 제공해주는 기능을 추가하기로 합니다. 그리고 flask를 걷어내고 FastAPI로 대체하기로 했습니다. Flask와 비슷한 구조를 가졌는데 기본적으로 비동기식으로 작성되어 있기에 웹 서버 구동시 빠른 성능을 보여준다고 합니다. 이외에도 빠른 코드 작성, 적은 버그, 직관성, 쉬운 설계, 견고함, 표준을 기반으로 했다는 다양한 장점이 있다고 하는데 대세가 Flask 에서 FastAPI로 넘어간다고 하니 저도 넘어가려는 이유가 큽니다. FastAPI에 대한 상세 설명은 공식 문서 페이지에서 확인하시기 바랍니다. https://f..
개요 플러터앱 개발에 관심이 생겨서 책을 한권 샀습니다. Do it! 플러터 앱 프로그래밍 정가 3만원 짜리 책. 소스까지 제공되기에 이걸로 플러터를 익혀보자해서 샀는데 제공되는 예제코드 실행에 애를 먹었습니다. 현재 진행해보고 있는 예제는 12장. 네이티브 API와 통신하기 부분인데 3가지 오류가 발생하고 있습니다. 다만 플러터 빌드 시 오류에 대한 부분을 해결하는 명시적인 방법을 컴파일러가 알려주고 있어서 해결이 어렵지 않습니다. 본문 첫번째 오류 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Warning ────────────────────────────────────────────────────────..
개요 지난번 메신저봇R을 이용해서 카카오봇을 만들고 echo 기능을 통해 뼈대를 만들었습니다. https://quantrader.tistory.com/104 카카오봇 제작 방법 - 메신저봇R with javascript 요즘 카카오 오픈채팅방에서 개인정보가 다 유출되어서인지 주식 리딩방 추천 문자가 엄청나게 날아오더군요. 심지어 오픈챗방에 사용중인 제 대화명까지 다 붙여서 오는거 보고 깜놀했습니다 quantrader.tistory.com 이번 포스팅은 기존 뼈대에 살을 덧대 기능확장을 해보고자 합니다. 지역별 날씨를 챗봇에게 물어보면 네이버 날씨 검색과 html 파싱을 통해 챗봇이 답을 해주는 방식입니다. 본문 챗봇에게 질의하는 부분은 /날씨 '지역' 의 형태로 입력할 것이며 챗봇은 입력받는 데이타를 파..
요즘 카카오 오픈채팅방에서 개인정보가 다 유출되어서인지 주식 리딩방 추천 문자가 엄청나게 날아오더군요. 심지어 오픈챗방에 사용중인 제 대화명까지 다 붙여서 오는거 보고 깜놀했습니다. 어차피 제 개인정보는 공공재..신경쓰지 않기로 하면서 오픈챗방에 보이는 드리고와 같은 카카오봇을 한번 만들어보고자 합니다. 이 봇들은 어떤 방식으로 동작하는지 상당히 궁금했었는데 메신저봇R 이라는 것을 통해 많이 알게 되었습니다. 메신저봇R 개발자님께서 구현방식 또한 상세히 설명해두셨는데요. 간단히 작동방식을 요약하자면 다음과 같습니다. 1. NotificationListenerService 통해 알림 데이타 파싱 2. Rhino JavaScript Engine 을 통해 javascript 로직 구현 3. WearableEx..
웅진씽크빅(095720) 오늘은 웅진씽크빅 이라는 종목을 한번 보려합니다. 제가 종목을 선정하는 방식은 TOP-DOWN 방식이 아닌 BOTTOM-UP 방식을 택합니다. 산업 분석에서부터 찾아들어가는 방식은 시간투자를 꽤 오래 했던걸로 기억합니다. 그래서 차트분석부터 진행해서 좋은 관점에 보이는 종목을 먼저 찾고 기업분석과 산업분석을 진행하는 편입니다. 연관테마 - 교육/온라인교육/출산장려정책 온라인교육과 출산장려정책 테마에 편성되어 있는 종목입니다. 코로나 시절 비대면으로 온라인 교육주들이 뜨거웠던걸로 기억하는데 웅진씽크빅 차트를 보니 그 시절 강했던 모습을 볼 수 있습니다. 그리고 인구절벽 시대에 접어들면서 출산장려 관련주들이 계속 주목 받을 수 있을것으로 생각합니다. 이외에도 많이 있으니 인포스탁섹터..