전체 글(206)
-
"이 데이터, 오늘 것 맞나?"를 69줄로 판정하기
화면 뒤의 데이터 판단 · 아키텍처 · processor/freshness.pyprocessor/freshness.py — "이 데이터, 오늘 것 맞나?"를 69줄로 판정하기Passive 의 화면 대부분은 하루 한 번 배치가 계산해 둔 값을 읽습니다. 그런데 배치가 실패하면 화면은 에러 없이 어제 값을 그대로 보여 줍니다. 겉으로는 멀쩡하니 아무도 모릅니다. processor/freshness.py 는 이 문제를 "데이터의 날짜가, 지금쯤 나와 있어야 할 최신 영업일보다 옛날인가?"라는 질문 하나로 바꿔 판정하는 69줄짜리 파일입니다.1. 흐름의 어디에 있나📍 적용 화면 — 화면에 직접 노출되지 않음(API·스케줄러·감시 페이지가 공통으로 부르는 판정기).① 지수 시세 테이블 · index_price_..
2026.10.28 -
모델 결과 테이블: 무거운 계산과 화면 사이의 보관함
화면 뒤의 데이터 판단 · 아키텍처 · database/repositories.pydatabase/repositories.py — 모델 결과 테이블: 무거운 계산과 화면 사이의 보관함Passive 아키텍처 도식에서 "결과 테이블" 상자는 파일이 아니라 Supabase(PostgreSQL) 안의 테이블 묶음입니다. 여러 모델이 계산한 결과를 여기 저장해 두고, 점수 엔진과 API 는 이 저장값만 꺼내 씁니다. 이 글은 그 상자 안에 실제로 어떤 테이블이 있고, 누가 넣고 누가 꺼내는지를 코드 기준으로 따라갑니다.1. 결과 테이블은 흐름의 어디에 있나📍 적용 화면 — 화면에 직접 노출되지 않음(모델과 화면 사이의 저장 단계).① 수집기 원시 테이블 · 시세·지표 원본 시계열↓ 원시 시계열② 모델들 · 국면..
2026.10.27 -
SELECT COUNT(*) 는 왜 느려지고, 무엇으로 대신하나
강의 정리 · Hussein Nasser — SELECT COUNT(*) can impact your Backend Application Performance (10분 37초) SELECT COUNT(*) 는 왜 느려지고, 무엇으로 대신하나"몇 개인지 세기"는 쉬워 보이지만 DB 입장에선 줄을 하나하나 확인하는 일입니다. 6천만 줄짜리 grades 테이블로 PostgreSQL 이 COUNT 를 어떻게 처리하는지 따라가고, 정확한 수가 필요 없을 때 쓰는 추정치까지 정리합니다.① COUNT(g)→② COUNT(*)→③ 수정 후→④ 범위 확대→⑤ 추정치※ 강사는 영상 속 실행 시간이 컨테이너·캐시 환경이라 의미가 없고, 실행 계획(plan)을 읽는 것이 핵심이라고 강조합니다.1. COUNT(g) — 색인을 ..
2026.10.27 -
Passive 에서의 시장예측 모델링
화면 뒤의 데이터 판단 · 방향예측 모델pattern_demo/kr_dir5_v3.py — "5일 뒤 오를까"를 0~100점으로 만드는 과정정답 정하기 → 재료 손질 → 학습 → 섞기·보정 → 점수, 그리고 20일 모델은 무엇이 다른가Passive 홈의 기간별 예측점수는 "앞으로 5일·20일·60일 동안 시장이 오를 가능성"을 0~100점으로 보여 줍니다. 이 글은 그중 국내 5일 점수를 만드는 모델이 어떤 순서로 만들어졌는지를 실제 코드와 모델 파일(models/*.pkl, *_meta.json) 기준으로 따라갑니다.1. 지금 운영 중인 모델적용 화면 — 홈 › 기간별 예측점수 세 칸(5일·20일·60일). 5일 칸은 서버가 바로 채우고, 20·60일 칸은 /api/horizon-scores 가 채웁니..
2026.10.23 -
ACID 트랜잭션 — 송금과 매출 리포트로 이해하는 관계형 DB 의 네 가지 성질
강의 정리 · Hussein Nasser 「Relational Database ACID Transactions」ACID 트랜잭션 — 송금과 매출 리포트로 이해하는 관계형 DB 의 네 가지 성질원자성·격리성·일관성·지속성, 그리고 "무엇을 포기할 수 있나"ACID 는 Postgres·MySQL·SQL Server·Oracle 같은 관계형 DB 가 지키는 네 가지 성질, 원자성(Atomicity)·일관성(Consistency)·격리성(Isolation)·지속성(Durability)입니다. 이 42분짜리 강의는 은행 송금과 매출 리포트 두 예시로 각 성질을 설명하고, NoSQL 이 그중 일관성을 내려놓은 이유까지 다룹니다. 강사는 순서를 일부러 A → I → C → D 로 바꿉니다. 원자성과 격리성을 알아야 ..
2026.10.16 -
processor/market_brief.py — 뉴스 RSS 를 두 갈래로 나누는 이유
화면 뒤의 데이터 판단 · 뉴스 소스processor/market_brief.py — 뉴스 RSS 를 두 갈래로 나누는 이유같은 기사 묶음을 AI 브리핑용과 화면 카드용으로 따로 고르는 법Passive 의 아키텍처 문서(.omm/data-flow/news-src)에는 2026년 7월 22일에 적은 설명이 있습니다. "Google News·연합뉴스·매경·인포맥스·머니투데이·한경·이데일리·서울경제·파이낸셜뉴스 RSS 를 collector/stock 뉴스 수집기가 모아 FinBERT 감성분석과 헤드라인 생성에 공급한다." 언론사 목록은 맞습니다. 그런데 코드로 내려가 보면 collector/stock 이라는 수집기는 없고, RSS 는 브리핑을 만드는 processor/market_brief.py 가 직접 모읍..
2026.10.12