개발
코드 / 아키텍처 / 디버깅
-
폰트 로드 실패로 콘솔 404 에러 제거
Pretendard 폰트를 GitHub CDN에서 npm CDN으로 변경하는 작업을 했다. v1.3.9 버전의 GitHub CDN에 woff2 파일이 없어서 계속 브라우저 콘솔에 404 에러가 찍히던 문제를 해결한 것.
읽기 → -
폰트 로딩 404 에러, CDN 경로 마이그레이션으로 정리
Pretendard 웹폰트의 CDN 경로를 GitHub Pages에서 npm 레지스트리로 변경했다. v1.3.9 버전이 GitHub 저장소에 woff2 파일을 포함하지 않아서 브라우저 콘솔에 404 에러가 떨어지고 있었는데, npm 기반 CDN으로 옮기니 자동 해결됐다.
읽기 → -
팀 가이드 문서에서 평문 비번 제거
pdf2api 프로젝트의 CLAUDE.md 에 평문으로 작성되어 있던 DB 비번을 제거하고, secrets.env 참조로 변경했다. 한줄짜리 수정이지만, 온보딩부터 배포까지 전 라이프사이클에 걸친 보안 관행의 차이가 담긴 작업이다.
읽기 → -
사이트별 보트 설정을 캐스케이드로 조직
CLAUDE.md 설정 파일의 캐스케이드 구조를 endpoint2cost 사이트에 추가했다. 여러 보트/프로젝트가 전역 규칙을 상속하면서 각 사이트만의 추가 규칙을 가질 수 있게 정리한 작업이다.
읽기 → -
CLAUDE 문서 슬림화로 봇 초기 로딩 시간 단축
전체 프로젝트 봇들이 초기화될 때마다 로드되는 공통 규칙 문서(hedvion-CLAUDE.md)가 점점 비대해지고 있었다. 광고 정책, 인증 정책, SEO 인프라 규칙 같은 여러 도메인의 상세 내용들이 한 파일에 뭉쳐 있었고, 이는 그 문서를 사용하는 모든 봇과 에이전트의 로딩 시간과 토큰 비용을 늘렸다.
읽기 → -
계정 설정과 팀 지침을 버전 관리로 정리
서비스의 외부 계정 설정(GSC/AdSense 등)과 팀 개발 지침을 docs 디렉토리에 정리하고, git 저장소에 추가했다. 산재된 정보가 버전 관리되면서 팀 전체가 동일한 정보를 참고할 수 있는 구조가 갖춰졌다.
읽기 → -
자료요청 위젯과 카운팅을 분리하다
사용자가 콘텐츠를 직접 요청할 수 있는 자료요청 위젯을 Astro 프론트엔드에 추가하면서, 그 요청을 추적하고 집계하는 별도의 카운터 서버를 구축했다.
읽기 → -
멤버 검색 페이지 추가로 다국어 라우팅 기초 마련
멤버 검색 페이지를 추가하고 데이터 시드를 설정하는 작업을 했다. 단순히 새로운 페이지 하나를 띄우는 것처럼 보이지만, 사실은 팀이 앞으로 다국어 기능을 확장할 때 따를 수 있는 패턴을 정립한 것이다.
읽기 → -
광고 문의 폼 도배 방어 추가
광고 관련 문의가 늘면서 스팸성 자동 제출이 문제가 되기 시작했다. 단순히 폼을 여러 번 클릭하거나 스크립트로 반복 요청을 보내는 수준을 넘어, 특정 IP에서 짧은 시간에 대량 제출되는 패턴이 눈에 띄었다. 운영자가 처리해야 할 건전하지 않은 요청들이 계속 쌓이고, 정말 필요한 고객 문의를 구분하기 어려워지는 상황이었다. 이번 작업에서는 서버 레벨의 rat
읽기 → -
광고문의 도배 차단한 이중 rate limiting 설계
광고 문의 폼 신청이 계속 반복되거나 악의적으로 도배되는 상황을 마주했다. 이를 해결하기 위해 서버와 클라이언트 양쪽에 rate limiting을 엮었고, 그 과정에서 배운 여러 트레이드오프를 정리해본다.
읽기 → -
광고 문의 폭주 방어하기
광고 문의 기능이 연달아 도배되는 문제가 터졌다. 한두 사람이 의도적으로 폭주시키거나, 자동화 도구가 반복 요청을 날리는 상황들이 있었고, 이게 정상 사용자 입장에서는 경험을 방해할 뿐 아니라 서버도 불필요하게 소비시키고 있었다. 단순한 스팸 차단이 아니라 시스템 안정성과 사용 편의성 모두를 고려해서 방어 체계를 짜기로 했다.
읽기 → -
웹 광고문의 채널 자동화하기
광고·제휴 협력사들이 외부 이메일이나 전화로 문의를 보내오던 것을 웹 폼으로 받고, 그 내용을 바로 메일로 자동 발송하는 시스템을 만들었다. 간단한 기능이지만 여러 레이어를 거쳐야 하는 작업이었고, 이 과정에서 오래된 설정 문제까지 발견해서 함께 정리했다.
읽기 → -
우하단 플로팅 위젯으로 제휴 문의 접근성 개선
사이트 전역에서 광고·제휴 문의를 받을 수 있는 플로팅 위젯을 추가했다. 기존엔 연락처 페이지나 푸터 링크를 통해서만 문의할 수 있었는데, 이제 사용자가 어느 페이지에 있든 우하단의 작은 위젯을 통해 즉시 문의를 보낼 수 있게 됐다.
읽기 → -
플로팅 위젯으로 광고·제휴 문의 수집 시작
광고나 제휴 제의를 받을 창구가 필요했다. 메인 네비게이션에 숨겨진 링크보다는, 방문자 눈에 띄는 곳에 항상 열어둔 문의 창이 낫다고 판단했다. 그래서 우하단 플로팅 위젯 + 자동 메일 발송 API를 한 묶음으로 추가했다.
읽기 → -
게임 종료 후 이용자 체류율 개선
게임이 끝난 후 사용자가 나가는 순간이 가장 위험하다. 특히 모바일·웹 게임 플랫폼에서는 "한 판 끝" = "서비스 이탈" 이라는 등식이 성립하기 쉽다. 이번 작업은 그 순간을 잡아내기 위해 완료 화면에 체류 위젯을 추가하고, 최근 플레이한 게임 이력을 관리하는 기능을 만든 것이다.
읽기 → -
법률 페이지 간 쉬운 이동 환경 만들기
다양한 법률 문서(이용약관, 개인정보 정책 등)를 관리하는 페이지 렌더러에 형제 문서 네비게이션을 추가했다. 사용자가 한 정책 페이지에서 관련된 다른 문서로 쉽게 이동할 수 있도록 개선한 작업이다.
읽기 → -
목차·진행바·관련글로 블로그 글 읽기 경험 개선
길어지는 기술 글일수록 독자가 "어디까지 읽었는지", "뒤에 뭐가 남았는지"를 놓치기 쉽다. 특히 스크롤만 하다가 흥미로운 섹션을 다시 찾으려 할 때 답답한 경험을 한 적 있는데, 이번에 블로그 글 상세 페이지 전체를 손봤다. 목차, 진행바, 관련글, 최근본글 네 개 컴포넌트를 추가하고 중앙 레이아웃을 개선하는 작업이었다.
읽기 → -
글 읽기 경험 개선한 4가지 네비게이션 기능 추가
한 블로그 서비스의 사용자 체류율을 높이기 위해 여러 기능을 한꺼번에 추가했다. 읽은 글의 진행도를 보여주고, 관련 글을 추천하고, 목차로 스크롤을 돕고, 최근 본 글을 기억하는 식으로 말이다. 덤으로 중앙 정렬 레이아웃으로 가독성도 개선했다.
읽기 → -
도구 추천과 히스토리로 사용자 붙잡기
사용자가 한 도구를 본 후 자연스럽게 다른 도구로 이동하지 못하고 떠나는 패턴이 눈에 띄었다. 분석해보니 관련 도구를 발견할 수 있는 통로가 부족했고, 이전에 본 도구들을 빠르게 다시 찾을 수 없었다. 단순해 보이지만 이 작은 마찰들이 사용자 체류 시간을 깎아 먹고 있었다. 이번 작업에서는 세 가지를 동시에 개선했다: 연관 도구 자동 추천, 최근 본 도구
읽기 → -
글 상세 페이지 체류율 개선
글 읽기 화면에 읽기진행바, 목차, 관련글, 최근본글을 추가하는 작업을 했다. 단순히 기능을 넣는 것이 아니라 사용자가 글을 끝까지 읽게 하고, 읽은 후에도 계속 탐색하도록 유도하는 전략이었다.
읽기 →