Kubernetes, CI/CD, GitOps, IaC와 AI 플랫폼을 운영하며 확인한 내용을 기록합니다.
홈서버에서 Hugo로 셀프 호스팅하고 있습니다.
Promise.race 타임아웃 뒤에도 계속 지우는 작업
타임아웃으로 실패 처리한 작업이 백그라운드에서 계속 지우고 마지막에 반납 완료를 덮어썼다. 사용자는 실패를 본 뒤 성공 알림을 받는다.
한도 값을 모르는 API에 호출량을 맞추는 방법
목록 화면이 슬롯마다 배포 이력을 조회해 분당 144회가 나갔다. 한도를 모르고도 넘지 않는 구조로 15회까지 줄였다.
빈 값이 '없음'과 '확인 실패'를 같게 만든다
삭제 목록 조회가 실패했는데 화면은 지울 것이 없다고 표시했다. 파괴적 작업에서 조회 실패를 빈 값으로 삼키면 안 되는 이유.
부분 갱신에서 화면과 프래그먼트가 갈라진 원인
화면과 프래그먼트가 같은 렌더 함수를 쓰는데도 값이 달라졌다. 파생 계산이 두 곳에 복사되어 있었고 타입 방어는 잘못된 경계에 있었다.
C와 SDL2로 삼각형 기하 도구 만들기
엔진 없이 SDL2 픽셀 렌더링만으로 삼각형의 세 중심과 내접원/외접원을 그리는 인터랙티브 도구를 만들며 겪은 버그와 수학 공식을 정리했다.
OpenBao 3노드 HA 프로덕션 구축 트러블슈팅 기록
로컬에서 검증한 OpenBao 스택을 프로덕션으로 옮기며 발생한 문제들의 기록. unseal 키 미반영, AD 그룹 부재, 셸 오류, Kyverno가 ESO를 막는 문제의 증상과 원인, 수정 내용.
LLM 프롬프트 캐싱 개념 정리 (Prompt Caching)
같은 프롬프트를 매번 다시 처리하지 않도록 캐시하는 프롬프트 캐싱의 전략과 동작 원리, 비용 구조를 정리했다.
문자열 연결과 비교 구현하기
freestanding gccgo 커널에서 문자열 연결·비교에 필요한 런타임 함수와 호출 규약을 구현했다.
간단한 셸 만들기
키보드 입력과 콘솔을 연결해 줄 버퍼·명령 해석·QEMU sendkey 검증을 지원하는 셸을 구현했다.
맵(map)을 직접 구현하기
freestanding gccgo 커널에서 map[int]int를 지원하는 최소 맵 런타임을 구현했다.