안녕하세요, 천상나타입니다.지난 글에서 네이버 서치어드바이저에 공식 API가 없어서 콘솔 자체를 Playwright로 자동화한 이야기를 했었죠. 그런데 그 방식에는 치명적인 제한이 하나 있었습니다. 웹 페이지 수집 요청에 일일 한도가 있다는 것. 제 사이트처럼 페이지가 1,600개 넘는 곳에서 50개씩 끊기면 전체를 돌리는 데 한 달이 걸립니다.그러다 발견한 게 IndexNow입니다. 네이버가 2024년부터 공식 지원하는 프로토콜인데, 의외로 모르는 분이 많은 것 같아 정리해봅니다.IndexNow가 뭔가요"내 사이트 페이지가 추가·변경·삭제됐다"고 검색엔진에 즉시 알리는 단순한 핑 프로토콜입니다. Bing과 Yandex가 만들었고, 지금은 네이버, Bing, Yandex, Seznam, Yep이 참여하고..
안녕하세요, 천상나타입니다.어느 날 제 무료 도구 사이트가 통째로 안 열리는 일이 생겼어요. 서버가 죽은 게 아니라, Cloudflare Workers 무료 플랜의 일일 요청 한도를 넘어버린 거였습니다. 화면에 뜬 건 Error 1027. 오늘은 한도가 왜 터졌는지 파고들어서 실제로 고친 과정을 정리해봤습니다.Error 1027이 뭔데 사이트가 통째로 죽나Cloudflare Workers 무료 플랜은 하루 100,000 요청까지만 허용됩니다. 이걸 넘으면 다음 리셋(UTC 0시, 우리 시간으로 오전 9시)까지 방문자 전원이 에러 화면만 보게 돼요.제 사이트는 Workers + 정적 에셋 구성이라 별도 오리진 서버가 없습니다. 캐시가 있어도 우회할 곳이 없어서 한도 초과 = 완전한 다운이에요. 호스팅비 0..
안녕하세요, 천상나타입니다.Electron으로 데스크톱 앱을 몇 개 만들어서 GitHub Releases로 배포하고 있습니다. 얼마 전 mac 자동 업데이트가 안 된다는 걸 발견해서 수정 커밋을 넣고 5개 앱을 전부 재릴리스했는데요, 그 뒤 정리가 안 된 상태를 확인하다가 버그가 하나가 아니라 두 개였다는 걸 알게 됐습니다. 그리고 둘 다 원인이 어이없을 정도로 작았어요 — YAML 들여쓰기 한 번, 그리고 파일 필터 정규식에 빠진 글자 세 개.오늘은 그 삽질기를 정리합니다. electron-builder와 electron-updater를 쓰시는 분은 제발 같은 실수를 안 하셨으면 해서요.배경: 왜 zip을 넣었나electron-updater로 mac 자동 업데이트를 구현하면, 앱은 릴리스의 latest..
안녕하세요, 천상나타입니다.운영하는 도구 사이트에 브라우저 내장 AI로 퀴즈를 만드는 기능을 붙여봤어요. Chrome에 들어있는 Gemini Nano(Prompt API)가 문제를 만들고, Translator API가 번역하는 구조인데요. 서버가 필요 없어서 비용 0원이라는 게 매력적이었습니다.문제는 만들고 나서였어요. "AI 준비 중…" 화면에서 영원히 안 넘어가는 버그가 있었는데, 원인을 찾는 과정이 꽤 재미있어서 정리해봅니다.배경: 브라우저 내장 AI가 뭔데?Chrome은 몇 버전 전부터 브라우저에 AI가 내장돼 있습니다. LanguageModel(Prompt API)로 Gemini Nano를 돌리고, Translator로 번역도 해요. 전부 온디바이스라 입력이 서버로 안 가고, API 키도 필요 ..
안녕하세요, 천상나타입니다.내년에 정보처리기사나 정보보안기사를 준비하시는 분들을 위해 2027년 시험 일정과 이번에 바뀌는 것을 정리했습니다. 2027년 공식 일정은 아직 공고 전(통상 11월 하순 공고)이라, 일정 부분은 2026년 실제 일정 기준 예상으로 표기했어요. 공고가 나오면 이 글에 확정 날짜로 업데이트하겠습니다.큰 변화: 필기가 5과목에서 4과목으로2027년 1월 1일부터 정보처리기사 필기가 개편됩니다. 핵심은 하나 — 소프트웨어 설계 과목이 통째로 삭제됩니다.| 구분 | ~2026년 | 2027년~ ||---|---|---|| 필기 과목 | 5과목 | 4과목 (소프트웨어 설계 삭제) || 문항·시간 | 과목당 20문항·30분 | 동일 (4과목 기준) || 실기 | 필답형 2시간 30분 | ..