(REST + WS, 키 불필요)
이건 고객 의뢰가 아니라 저희가 직접 만들어 운영 중인 서비스입니다. 사례탭에 넣는 이유는 "웹서비스 규모의 프로젝트를 맡기면 어디까지 되는가"를 보여 주기 가장 좋은 물건이라서입니다. 바이낸스 USDⓈ-M 선물 약 350종목 × 6개 시간봉을 서버가 상시 스캔해서 다이버전스·삼박자 신호가 뜨면 텔레그램과 웹으로 알립니다. FastAPI 서버 한 대, 트레이딩뷰급 차트 프론트, 회원·플랜·AI 브리핑, 무중단 배포. 2026년 8월 오픈.
파동에너지 다이버전스 지표를 만들고 나서 든 생각이 출발점입니다. 지표는 차트를 열어야 보입니다. 350종목 6시간봉을 사람이 열어 볼 수는 없으니 서버가 보게 하자. 신호 엔진은 Pine 원본과 시드 단위로 일치 검증한 파이썬 사본이고, 이 폴더는 수정 금지 규약을 두어 서비스 코드가 아무리 바뀌어도 신호 계산부는 불변입니다.
2년·7년·횡보장·상승장 네 구간 백테스트가 전부 "기계적 우위 없음"으로 수렴했습니다. 그래서 확률·승률·수익률을 계산도 표기도 하지 않습니다. 신호 문구도 매수/매도가 아니라 바닥형/천정형입니다. 포지셔닝은 감시 노동 절약, 딱 거기까지입니다. 단일 구간 최적화가 다른 구간에서 어떻게 뒤집히는지(t=+6.04 → −9.02)의 실측 기록이 리서치 폴더에 열 건 남아 있습니다.
배포 직후 database disk image is malformed 크래시 루프. 서버 DB가 35MB에서 147KB로 잘려 회원·세션이 영구 소실됐습니다.
SQLite WAL 모드의 -wal/-shm 사이드카 파일이 배포 tar에 실려 올라간 게 원인입니다. 배포 스크립트는 signals.db만 제외했고,
로컬에서 앱을 한 번 띄우기만 해도 생기는 사이드카가 서버 DB와 짝을 이루면 SQLite가 정합성 검사를 통과시킨 채 로컬 크기로 잘라 버립니다.
복구는 불가능했습니다. 신호는 결정론적으로 재계산돼 사고 전과 정확히 일치했지만 회원만 잃었습니다.
이후 tar를 만든 뒤 목록을 검사해 DB 계열 파일이 있으면 배포를 중단하고, 재시작 직전에 서버 측 sqlite3.backup() 스냅샷을 14개 보관하며,
재계산 가능한 데이터(신호)와 불가능한 데이터(회원)를 같은 파일에 두지 않습니다. 사고보다 백업 부재가 본질이었습니다.
fstream.binance.com이 국내망에서 TLS와 101 핸드셰이크까지 성공하고 데이터 프레임만 0개로 막혔습니다. onopen은 오고 onerror/onclose는 영영 안 옵니다.
소켓 상태로는 절대 판정할 수 없는 실패입니다. 후보 호스트 두 개를 동시에 열어 실데이터가 먼저 온 쪽을 채택하고, 마지막 수신 시각 기준 20초 감시견으로 재접속하며, 서버 REST 폴백을 3~5초 폴링합니다.
살아 있는지는 연결 상태가 아니라 데이터 도착으로 판정한다는 걸 여기서 배웠습니다.
재시작하면 345종목 × 6TF를 전부 다시 받아 바이낸스 분당 가중치(2,400)를 두 배 넘겼고, 사용자 요청까지 거절됐습니다. 캔들과 프랙탈 풀을 디스크 스냅샷으로 남겨 두고 기동 시 복원한 뒤 스냅샷 이후 마감된 시간봉만 스캔하니 기동 API 호출이 0회가 됐습니다. 여기에 blue-green(대기 인스턴스 기동 → 승격 → nginx reload)을 붙여 배포 중 745요청 0실패를 실측했습니다.
synchronous=FULL로 스캔 1회에 fsync 1만 회. WAL + NORMAL로 12.9~17.9초 → 4.2~7.3초. 신호는 다음 스캔에서 재계산되므로 마지막 트랜잭션 유실이 무해하다는 판단이 핵심이었습니다.asyncio.create_task가 참조를 안 잡으면 예외를 조용히 삼킵니다. 모든 백그라운드 루프에 가드 래퍼(예외 로깅 + 10초 후 재시작).let을 먼저 참조. typeof 가드조차 TDZ 오류를 던집니다. 단일 파일 앱은 배포 전 헤드리스 렌더 스모크가 필수.이 서비스에서 뽑아 낸 부품은 의뢰 프로젝트에 그대로 들어갑니다. 가중치를 인지하는 바이낸스 공개 API 클라이언트, 범용 다이버전스 엔진, blue-green 무중단 배포 세트(WAL 사이드카 가드 포함), 쿠키 없는 자체 유입 통계, SSR 렌더러와 얇은 문서 noindex 게이트, 성과 주장 금칙어 린터, 헤드리스 크롬 렌더 검증 프로브. 비슷한 계보의 의뢰 사례가 14거래소 김치프리미엄 스캐너 웹서비스입니다.
"알림만" 규모부터 "회원제 웹서비스" 규모까지, 이 사례의 부품으로 만듭니다.
알고랩이 24시간 빠르게 답변드립니다.