
매일 새롭게 만나는 세 가지 주제
새로 올라온 글들을 확인해보세요!
실제 서비스에서 마주한 문제들을 분석하고 해결 과정에서 얻은 경험들을 공유합니다

1. 문제 상황 NestJS 프로젝트 개발 중 코드를 수정했음에도 불구하고 dist 폴더 내의 결과물이 갱신되지 않거나 심지어 dist 폴더 자체가 생성되지 않는 현상을 겪었다. nest start --watch 모드를 사용 중임에도 변경사항이 반영되지 않아 매번 수동으로 폴더를 지우고 다시 실행해야 하는 번거로움이 발생했다. 2. 원인 분석 이 문제의 핵심 원인은 TypeScript의 증분 빌드(Incremental Build) 메커니즘과 그 결과물인 tsconfig.tsbuildinfo 파일에 있었다. 증분 빌드란?모든 파일을

최근 NestJS를 활용해 관리자 CMS 프로젝트를 진행하던 도중 백엔드 설계 시 고유 ID 값으로 BigInt를 사용할 때 발생할 수 있는 치명적인 자바스크립트 정밀도 유실 문제에 대해 알게 되었다. 당장 내 코드에서 에러가 나지 않더라도 서비스가 커져 ID 값이 커지는 순간 문제가 될 수 있기 때문에 왜 자바스크립트에서 큰 숫자를 다룰 때 문자열 처리가 필수인지 정리해보자. 1. 자바스크립트 숫자의 한계: IEEE 754 표준 자바스크립트는 정수(Int)와 실수(Float)의 구분 없이 모든 숫자를 64비트 부동 소수점(Doub

1. 문제 상황 기존에 사용하던 GitHub Actions 구성은 다음과 같았다. name: Deploy to Raspberry Pi on: push: branches: [ main ]jobs: deploy: name: Deploy via SSH runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 with: fetch-depth: 0

1. 문제 상황 기존 프론트엔드(Next.js) 서버의 사이트맵 생성 로직은 백엔드의 게시글 목록 API를 활용하고 있었다. 이 과정에서 몇 가지 문제가 발생했다. 응답 지연 및 타임아웃: 페이징 기반 API를 사용함에 따라 전체 데이터를 불러오기 위해 순차적인 HTTP 요청이 발생했고 데이터 양에 비례해 응답 시간이 증가함 검색엔진 크롤링 실패: Googlebot과 달리 네이버의 Yeti 봇은 응답 대기 시간이 일정 수준을 초과할 경우 연결을 강제로 종료하여 사이트맵 수집에 실패하는 현상 확인 리소스 낭비: 사이트맵 생성에 불필요