게시글
달력 개선, Blackdeck 스냅샷 정책, ByteCosmos 접속 지연 수정
달력 사용성 개선, Blackdeck 스냅샷 공개 조건의 이유, ByteCosmos 페이지 지연의 원인을 기록한다.
이번 작업에서는 개인 사이트를 다듬고 두 가지 플랫폼의 모호함을 정리했다. 여러 날에 걸친 일정을 달력에서 어떻게 보여줄지, 그리고 Blackdeck이 아직 운영용 위험 스냅샷을 공개하지 않는 이유다.
사이트의 미션을 더 명확하게
홈페이지의 문장을 다음처럼 바꿨다.
공개 데이터를 쓸모 있는 인사이트로 바꿉니다.
공개된 정보를 구조화하고 연결해 이해와 판단에 도움이 되는 무언가로 바꾼다는 점에서, 여러 프로젝트를 통해 하려는 일을 더 잘 설명한다.
달력과 게시 기능 개선
개인 달력은 간결한 모바일 월간 보기를 유지하되, 여러 날 일정이 해당 기간의 모든 날짜에 표시되도록 했다.
범위는 다음처럼 명시한다.
- 첫날: 시작 10:00
- 중간 날짜: 계속
- 마지막 날: 종료 18:00
좁은 모바일 화면에서 날짜·시간 입력 필드가 넘치지 않도록 일정 폼도 수정했다.
달력 필터는 페이지를 달력 앵커로 이동시키지 않는다. 전체 / 일정 / 글은 달력 안에서 전환하고, 월 이동은 현재 스크롤 위치를 유지한 채 달력 영역만 가져와 교체한다. 홈페이지에 새로 방문하면 정상적으로 맨 위에서 시작한다.
새 일정과 새 글은 공개를 기본값으로 한다. 필요하면 비공개를 선택할 수 있다.
글 관리 화면에 전체 / 공개 / 비공개 필터를 추가해 나중에 공개 상태를 바꾸기 쉽게 했다. 목록과 상세에는 게시 날짜뿐 아니라 시각도 표시하여 같은 날 작성한 글의 순서를 알 수 있게 했다.
Blackdeck이 아직 스냅샷을 공개하지 않는 이유
Blackdeck 제품에서 스냅샷을 없앤 것은 아니다.
당시 운영 파이프라인은 GDELT 증분 수집과 초기 필터링을 마쳤다. 최신 실행은 원천 1,603개 행을 처리하고 위험 관련 사건 209개를 보존했다.
이 단계에서 스냅샷을 만들면 가볍게 필터링한 사건의 순위 목록에 그친다. 그러면 Blackdeck이 피하려는 모습, 즉 뉴스·사건 피드를 인텔리전스처럼 보여주는 제품이 된다.
운영용 스냅샷은 의도적으로 다음 단계 뒤에 둔다.
- 사건 수집
- 필터링
- 중복 제거와 묶음 처리
- 개체·지리 정규화
- 위험 주제 연결
- 원자재·소재 및 노출 연결
- 검증된 위험 점수 계산
- 이전 상태와 비교
그제야 무엇이 달라졌는지, 왜 중요한지, 무엇이 노출되어 있는지, 얼마나 심각한지, 다음에 무엇을 확인해야 하는지에 답할 수 있다.
완전 재구축 과정에서 레거시 스냅샷은 의도적으로 삭제했다. DB와 Object Storage 연결은 남아 있지만 기존 제품 상태는 재사용하지 않는다.
ByteCosmos 페이지 지연
ByteCosmos의 느린 로딩은 애플리케이션 렌더링 문제가 아니었다.
내부 애플리케이션 응답은 약 2밀리초였다. 문제는 외부 HTTPS 경로였다.
- OCI 네트워크 인바운드는 80번 포트를 허용했지만 443번은 허용하지 않았다.
- 인스턴스 방화벽은 80·22번을 허용하고 443번 신규 연결을 거부했다.
- HTTPS를 시도한 브라우저는 연결 시간 초과를 기다린 뒤 실패하거나 다른 경로로 전환했다.
두 방화벽 계층에서 HTTPS를 허용했고, Caddy가 사이트를 제공하며 www.bytecosmos.com의 유효한 인증서도 설치했다.
수정 뒤 다른 OCI 서버에서 확인한 홈페이지 전체 응답 시간은 약 40~50밀리초였다.
보조 데이터 원천으로서 Upbit
ByteCosmos 서버가 Upbit 공개 시장 데이터 API에 접근할 수 있어, 시장 간 비교 연구의 보조 원천으로 캐시 방식의 어댑터를 추가했다.
첫 동기화 결과는 다음과 같다.
- 전체 시장 855개
- 원화 시장 289개
- BTC·ETH 시세 표본
재구축 서버에 남아 있는 Upbit 인증 자격 증명은 발견되지 않아, 현재 어댑터는 공개 시장 데이터 API만 사용한다.
무엇보다 페이지 요청 중에는 Upbit를 호출하지 않는다. 외부 데이터를 먼저 로컬 캐시에 동기화하고 사이트는 그 캐시를 읽는다. 외부 API가 페이지 지연의 의존성이 되는 것을 막는다.
당시 ByteCosmos의 주식 우선 V1 범위는 이 변경으로 바뀌지 않았다. Upbit는 한국·미국 주식 데이터를 대체하는 것이 아니라 시장 간 비교 맥락을 보완하는 역할이다.
데이터 모델 원칙
이번 변경으로 애플리케이션 DB 테이블을 추가하지 않았다.
세 제품의 공통 원칙은 같다. 새 기능이 생겼다고 새 테이블이 자동으로 필요한 것은 아니다. 지속적으로 관리할 개체나 독립적인 수명주기가 있을 때만 테이블을 추가한다.