-
광고 오버플로우로 깨지던 모바일 레이아웃 고정
모바일 환경에서 광고 컨테이너가 부모 요소 경계를 넘으면서 화면 레이아웃이 깨지는 버그를 발견했다. public/styles.css 에 overflow 가드를 추가해서 단순하지만 효과적으로 수정했다.
읽기 → -
포스트 메타데이터 이모지 제거
포스트 byline 에서 조회/공유/좋아요 메트릭을 나타내던 이모지를 모두 제거하는 작업을 했다.
읽기 → -
컨텐츠 너비 표준화로 레이아웃 일관성 확보
처음에는 작은 스타일링 수정이라고 생각했지만, 이번 작업을 돌아보니 구조적으로 중요한 기술부채 정리였다. 사이트 곳곳에서 다른 너비 값을 사용하고 있던 상황을 발견했고, 이를 800px로 통일하면서 동시에 불필요한 레이아웃 계층을 제거했다.
읽기 → -
포트폴리오 캐러셀의 가로스크롤 문제 해결
포트폴리오 사이트의 메인 페이지에는 여러 작업물을 슬라이드로 보여주는 캐러셀이 있다. 사용자가 포트폴리오를 탐색할 때 좌우로 스윕하거나 슬라이드 컨트롤로 항목을 넘기는 경험을 제공하려고 설계한 것이다. 그런데 반응형 디자인으로 모바일부터 데스크톱까지 지원하는 과정에서 예상치 못한 버그를 발견했다: 특정 해상도에서 페이지 전체가 좌우로 스크롤된다는 것. 사용
읽기 → -
모바일 광고 오버플로우로 가로스크롤 나던 버그 수정
포트폴리오 사이트에 수익화 목적으로 AdSense 광고를 붙였는데, 모바일에서 가로스크롤이 자꾸만 생겼다. 광고 iframe이 고정 너비(1280px)로 설정되어 있었고, 모바일 뷰포트(375px 정도)에서 그대로 렌더링되면서 벌어진 문제였다.
읽기 → -
매거진 스타일 리디자인으로 포스트 가독성 한 단계 올리다
스타일시트 한 줄 고침이 아니라, 페이지 구조부터 푸터까지 전체적으로 블로그 읽기 경험을 다시 설계하는 작업을 했다. "light magazine/editorial redesign for readability" — 이 커밋 한 줄에 담긴 건 단순한 색깔 변경이 아니라, 사용자가 글을 읽을 때 어디에 집중해야 하고, 어떤 흐름으로 정보를 받아들이는지를 고민한
읽기 → -
광고 포화 줄이고 컨텐츠 중심 페이지 개편
광고 수익과 사용자 경험 사이의 불편한 타협을 좀 더 나은 설계로 해결해 본 경험이다. 이 커밋은 에디토리얼 보드를 재설계하면서 동시에 복잡해진 광고 시스템을 정리하고, 로딩 성능까지 챙긴 작업이었다.
읽기 → -
영문 카테고리 블로그 런칭을 위한 환경 셋업
한 기술 블로그 프로젝트에 영문 AI 도구 & 자동화 리뷰 섹션을 새로 추가했다. 단순히 콘텐츠만 늘리는 게 아니라 이를 뒷받침할 개발·운영 환경을 함께 정리하는 작업이었다.
읽기 → -
포스트별 검색 인덱싱을 CMS에서 선택 가능하게
블로그나 콘텐츠 플랫폼을 운영하다 보면 특정 포스트를 검색 결과에서 제외해야 할 순간이 생긴다. 임시 메모, 아카이브된 글, 중복 컨텐츠, 혹은 더 이상 유효하지 않은 정보들 말이다. 이번에 CMS에서 포스트별로 검색 인덱싱을 선택 가능하도록 cms_post.extra.noindex 필드를 추가했다.
읽기 → -
테스트 기기 13대로 정리한 CI/CD 최적화
안드로이드 가상 디바이스(AVD) 28개에서 필요한 것만 골라 13개로 축소했다. 데일리 테스트 러너의 효율성을 높이기 위한 정리 작업이었는데, 의외로 이 과정에서 배운 게 많았다.
읽기 → -
개인 사이트에 AdSense 광고 연동
개인 포트폴리오 사이트의 호스팅 비용과 유지보수 리소스를 조금이라도 상쇄하기 위해 이번엔 AdSense 광고를 추가했다. side 프로젝트라고 해서 완전히 자선 사업처럼 운영할 필요는 없다는 생각에서였다.
읽기 → -
가상계좌 발급현황 조회 기능 완성
가상계좌는 결제 플랫폼에서 매우 일반적인 결제 수단이다. 온라인 거래 특성상 여러 고객에게 여러 건의 계좌를 발급해야 하는데, 발급된 계좌들이 어떤 상태인지 실시간으로 파악하는 건 운영자 입장에서 필수적이다. 이번 커밋에서는 관리자가 발급된 가상계좌의 현황을 조회하고, 그 정보를 구조화해서 저장할 수 있는 기능을 추가했다. 말이 간단하지만, 웹 계층에서 데
읽기 → -
새로고침 후 사라지던 추출 진행 폴링 복구
PDF 추출 시스템에서 결제 후 진행 상황을 폴링으로 추적하는 중에 사용자가 페이지를 새로고침하면 폴링이 멈추는 버그를 고쳤다. 특히 추출에 오래 걸리는 Opus 모델을 사용할 때 문제가 심각했다.
읽기 → -
새로고침해도 추출 결과 유지되도록 개선
이번 커밋은 pdf2api 서비스의 핵심 경험을 세 가지 방향으로 개선한 결과다. 추출된 데이터를 새로고침해도 유지하도록 했고, 분석 중인 상태를 모달로 시각화했으며, 유료 사용자들에게 고급 모델을 제공하기 시작했다. 따로 보면 각각 작은 개선 같지만, 함께 묶으면 사용자 신뢰와 서비스 가치를 크게 높이는 변화다.
읽기 → -
폐기된 줄 알던 추적 기능, 문서 현황 정정
한동안 문서를 정리하다가 흥미로운 발견을 했다. 공용 문서에서 자세히 봐야 할 게 있다는 생각이 든 거다. site-pv 라는 추적 기능이 도큐멘테이션에는 '폐기/부활금지' 상태로 표기되어 있었는데, 실제로 시스템을 살펴보니 여전히 운영 중이었다. 무심코 지나칠 수 있지만, 이런 작은 오류가 팀 전체의 의사결정과 시스템 이해에 꽤 큰 영향을 미친다.
읽기 → -
분석 데이터 누락·중복 제거로 정확한 모니터링 복구
PV(페이지뷰) 분석 추적 시스템에서 누락되거나 중복 집계되던 사이트들을 정리했다. 전체 커버리지를 완성하면서 동시에 부정확한 로깅으로 인한 중복 제거까지 함께 처리한 작업이다.
읽기 → -
악용으로 터지던 PDF 무료 미리보기, 3페이지 제한으로 안정화
무제한 무료 PDF 미리보기 기능을 제공했는데, 악의적인 사용자들이 대용량 파일을 계속 요청하면서 서비스가 자주 장애를 겪기 시작했다. 이 문제를 간단하면서도 효과적인 3페이지 제한으로 해결한 작업을 정리해본다.
읽기 → -
PDF 변환 에이전트 턴 제한으로 응답 속도 개선
PDF 문서 추출 및 번역 기능에서 에이전트의 multi-turn 호출을 단일 턴으로 제한하는 최적화 작업을 했다. src/lib/anthropic.ts에서 maxTurns를 1로 캡핑해 에이전트 오버헤드를 크게 줄일 수 있었다.
읽기 → -
설정이 빌드마다 조용히 초기화되던 버그 수정
pdf2api의 converter 기본값이 명시적으로 설정되지 않아서, 빌드/배포 과정에서 설정이 자동으로 초기값으로 되돌아가는 문제를 만났다. 이 글에서는 이 종류의 버그가 왜 발생하는지, 그리고 어떻게 방지할 수 있는지 회고해본다.
읽기 → -
주석 오류와 드리프트 감시로 수수료 처리 안정성 확보
결제 플랫폼의 충전 수수료 처리 로직을 정리하면서 코드와 주석 사이의 불일치를 발견했고, 동시에 수수료 차감 과정에서 발생할 수 있는 데이터 드리프트를 감시하는 기능을 추가했다.
읽기 →