데이터가 들어와서 쌓이고, 모델이 돌고, 화면까지 나가는 구간을 처음부터 끝까지 직접 세워 보는 걸 주로 합니다. 혼자 서버를 굴리다 보니 장애를 남이 대신 찾아 주지 않아서, 고치는 일에 시간을 많이 씁니다. 그 과정에서 배운 것을 아래에 그대로 적었습니다. 안 된 것도 같이 적었습니다.
개인 투자자용 주식 퀀트 분석 플랫폼입니다. 2026학년도 SW종합설계 4조 과제로 시작했습니다.
팀장 이민성, 팀원 문지훈과 임창혁 3인 팀이고, 서버 구축과 데이터 파이프라인, 백엔드 운영을 제가 맡아 이어 가고 있습니다.
Oracle Cloud ARM 무료 티어 한 대에 Docker 컨테이너 20여 개를 올려 24시간 돌립니다.
KIS, DART, FRED, KOSIS, 위성, 선박 AIS 등에서 수집기 25종으로 긁어 Kafka 로 넘기고
PostgreSQL 에 쌓습니다. 테이블 228개, 17GB 입니다.
3년 백테스트에서 누적 +59.45%, 샤프 0.81 이 나왔습니다.
그런데 미래 정보 누수를 막고 Deflated Sharpe Ratio 게이트를 걸어 다시 재니
통계적으로 검증된 신호가 0에서 극소수였습니다.
그래서 좋은 숫자를 앞에 내거는 대신 판정불가를 그대로 보여주도록 만들었습니다.
금융 보안 로그에서 개인정보를 지우고 위험도를 매기는 파이프라인입니다. 개인정보는 LLM 호출보다 반드시 앞에서 지웁니다. 순서를 바꾸면 원본이 외부 API 로 나갑니다. 26시간 돌려 12,458건을 처리했고 그 기록을 저장소에 같이 넣어 뒀습니다. 로그의 43.3%가 볼 필요 없는 것이었고, 소스 하나가 통째로 노이즈였습니다.
웹을 긁어 개인정보 노출을 찾는 NER 모델입니다. 정답을 손으로 달면 못 끝낸다고 보고 HyperCLOVA X 에게 라벨링을 맡겼습니다. 수집, 라벨링, 재학습이 서버에서 매일 한 바퀴 돕니다. 모델을 채점하려고 개인정보가 일부러 박힌 테스트 사이트를 직접 만들었습니다.
1대1 온라인 대전 게임입니다. 판정이 두 클라이언트에서 갈리지 않도록 서버 타깃을 따로 만들어 데디케이티드 서버를 붙였습니다. 게임 로직은 Blueprint 로 짰고, C++ 에서 한 일은 빌드 타깃 구성입니다.
학교 건물 2층을 통째로 OpenGL 프리미티브로 그린 지진 대피 시뮬레이터입니다. 교실, 계단, 엘리베이터, 화장실, 운동장까지 함수 81개로 직접 쌓았습니다. 카메라 경로를 텍스트 파일로 녹화하고 재생해서, 코드를 안 고쳐도 시연 동선이 바뀝니다.
주변 병원과 약국을 지도에서 찾고 증상으로 검색하는 앱입니다. 영업 정보가 없는 곳을 닫힌 것으로 표시하면 갈 수 있는 병원을 놓치게 되어, 모름 상태를 따로 두고 마커를 세 가지로 나눴습니다.
대구 도서관 장서 373,443행을 초등 교육과정에 붙여 보는 시도입니다. 십진분류 번호로는 학년과 단원에 못 맞춰서, 상위 100종을 LLM 과 웹 검색으로 다시 분류했습니다. 그중 11종은 분류에 실패했고, 성공률로 바꿔 쓰지 않고 실패 건수로 남겼습니다.
CHRONO 이전에 만든 이더리움 선물 봇입니다. 전략을 짜는 것보다 안전하게 바꾸는 절차를 만드는 데 시간을 더 썼습니다. 후보 전략을 돈 없이 같은 시장에 태워 보고, 그때도 나으면 importlib 으로 봇을 끄지 않고 교체합니다. 투입 결정은 사람이 텔레그램에서 승인합니다. 실전 투입 전에 멈췄습니다.
온라인 강의 소리를 스테레오 믹스로 받아 Whisper 로 받아쓰고 요약합니다. 마이크로 받으면 주변 소음이 섞이고 이어폰을 쓰면 아무것도 안 잡혀서, 컴퓨터가 재생 중인 소리를 그대로 되돌려 주는 장치를 씁니다.
대구대학교와 네이버 클라우드가 함께 연 DANCE 교육 과정 1기를 수료했습니다. 2025년 10월 29일부터 11월 21일까지 12일차 과정이고 콘솔 실습 비중이 큽니다. 마지막 미니 프로젝트로 2-Tier 구성을 직접 세웠습니다. Multi AZ 에 웹 서버 두 대를 두고 ALB 로 묶고, DB 를 Master 와 Standby 로 이중화하고, ACG 인바운드 규칙으로 DB 접근을 웹 서버 서브넷으로만 제한했습니다. 웹 서버는 Private Subnet 에 두고 외부 진입은 ALB 하나로 모았습니다. 과정 끝에 NCA 자격증을 땄습니다.
수집이 멈춰 있어서 봤더니 crontab 이 4줄만 남아 있었습니다. 더 나빴던 건 백업에서 되살리는 자동 복원 스크립트가 잘린 쪽을 정상으로 알고 매일 덮어쓰고 있었다는 점입니다. 두 달 동안 그렇게 돌았습니다. 복원 전에 줄 수를 먼저 비교하고, 줄어들었으면 덮어쓰지 않고 알림만 보내도록 고쳤습니다.
감지는 되고 있었고 로그에도 남아 있었습니다. 그런데 재기동을 맡은 워치독이 두 달 전부터 같이 죽어 있었습니다. 알림 조건도 error 레벨만 보내게 돼 있어서 사람한테도 안 갔습니다. 감시하는 쪽이 살아 있는지 확인하는 절차를 따로 두었습니다.
executemany 로 1,000행씩 넣는데 한 행이 제약에 걸리면 배치 전체가 롤백됐습니다. auto-commit 이라 되돌릴 것도 없이 그날 데이터가 없었습니다. 실패한 배치는 행 단위로 다시 넣도록 바꾸고 빠진 구간을 채웠습니다.
실제로 써 본 것만 적었습니다. 쿠버네티스와 테라폼은 운영해 본 적이 없어서 뺐습니다.
NCA (Naver Cloud Certified Associate) · 2025 대구울산경북 AI Agent 해커톤 결선 최우수상 · 대구대학교 네이버 클라우드 DANCE 교육 과정 1기 수료