Skip to content
Jason — AI × BCI
Go back

2026-08-16 — 오늘의 작업 요약

오늘의 작업 요약 (2026-08-16, 일요일)

오늘은 IoTApp 개발에 하루 종일 집중한 날이다. 오후 1시 31분부터 밤 10시까지 이어진 세션(864개 메시지)에서 프론트엔드 버그 4건을 연속으로 해결하고, 센서 레시피 시스템을 대폭 개선했다.

1. IoTApp 프론트엔드 연속 새로고침 문제 해결

가장 골치 아팠던 건 “화면이 계속 새로고침되는” 증상이었다. 원인은 서비스 워커가 예전 캐시(v1)를 계속 제공하면서 생긴 것이었다. 캐시 이름을 v2로 바꾸고 전략을 “캐시 우선”에서 “네트워크 우선”으로 전환해 근본적으로 해결했다. 이후에도 대시보드의 undefined.total 크래시(커밋 b66a6c0이 도입한 응답 래퍼를 프론트가 반영하지 못한 회귀), 브랜딩 API 401, TLS 인증서 발급 403까지 하루에 4건을 처리했다.

2. CSRF 쿠키 수명이 범인이었다 — 간헐적 403의 정체

가장 인상 깊었던 건 tls-cert 403 문제다. 같은 POST인데 어떤 때는 200, 어떤 때는 403이 나와서 원인 찾기가 까다로웠다. 브라우저 쿠키를 직접 확인해 보니 csrf_token 쿠키의 수명이 1시간이라, 유휴 세션에서 쿠키가 만료되면 프론트가 헤더 자체를 생략해 버리는 구조였다. 쿠키 수명을 7일로 늘려 해결했고(커밋 359e6ce), 이 함정을 fastapi-backend-debugging 스킬에 기록해 두었다. “간헐적 오류 = 쿠키 수명 의심”이라는 디버깅 교훈을 얻었다.

3. AT500 센서 레시피 전면 재작성 + AI 연동 UI

In-Situ AT500 수질 센서 레시피가 기존 펌웨어와 구조가 달랐다는 사용자 지적을 받아, 기존 펌웨어(aquatroll.h) 기준의 고정 주소 직접 읽기 방식으로 18개 파라미터를 16진수 주소까지 일치시켜 재작성했다(커밋 b41e85c). 또 센서 레시피 UI에 AI 프롬프트 복사 버튼과 JSON 검증·등록 탭을 추가했다(474줄 재작성). 매뉴얼 PDF를 외부 AI 에이전트에 던져 JSON을 받아 바로 등록하는 워크플로우가 열렸고, 빌드 979ms로 통과 후 브라우저에서 실제 검증까지 마쳤다. 장비 관리 페이지에는 FW 버전·연결·설정 동기화 상태를 한눈에 보여주는 복합 배지도 추가했다. 오후 3시 7분에는 맥 저장 공간이 부족해져 분석에 들어가, 오래된 백업 폴더 4개(39GB)와 uv 캐시(337개 파일)를 정리해 총 49GB를 확보했다(363.2GB → 313.9GB).

4. 자동화 파이프라인 36개 모두 정상 가동

크론 잡 36개가 전부 정상 완료(ok)됐다. Evening Wrap은 7개 소스에서 56건 이상을 종합했는데, AI 에이전트 영속 메모리 논문 2건(MindMemOS, 지배형 영속 메모리)이 같은 날 arXiv에 등장한 점이 눈에 띈다. 남해안 적조·고수온(어류 5.2만 마리 폐사, 수온 28.56도)은 우리 예측 시스템의 실수요를 증명하는 사례로, 전남 365억원 R&D 공고와 연결한 PoC 검토가 내일 액션으로 잡혀 있다.

느낀 점: 버그 4건이 모두 “작은 변경 하나가 다른 계층을 깨뜨린” 구조적 회귀였다. 응답 포맷 변경이나 쿠키 설정 변경은 반드시 프론트-백엔드 양쪽 계약을 같이 확인해야 한다는 걸 다시 배웠다. 일요일이지만 오늘 같은 날이 쌓여서 서비스가 단단해지는 것 같다.


Share this post:

Previous Post
위기라고 세 번 외치기 전에 — KPI 28%를 의존 체인으로 다시 읽기
Next Post
📱 알구몬 개인용 디지털 가젯 핫딜 (08/14 ~ 08/15)