turin's blog
만들고, 터지고,
기록합니다
풀스택, Flutter, 서버 운영, SEO, 배포 삽질을 실제 프로젝트 기준으로 정리합니다. 검색해서 들어온 사람이 바로 쓸 수 있는 체크리스트와 명령을 남기는 게 목표입니다.
자주 다루는 주제
주제별로 빠르게 훑어보기
전체 글
운영 중 부딪힌 문제를 검색 의도에 맞춰 정리
동적 라우트 배포할 때 확인할 사항들
Next.js나 다른 프레임워크의 동적 라우트가 프로덕션에서 404를 반환할 때 문제 해결 방법.
Next.js 서버 액션이 로컬에서는 되는데 서버에서 실패할 때
환경 변수, 파일 경로, 패키지 의존성 차이로 인한 빌드 또는 실행 오류를 진단하는 방법.
계속 읽기 →마이그레이션 중 사용자에게 영향 없이 진행하기
데이터베이스나 프레임워크 버전을 업그레이드할 때 이미 접속 중인 사용자에게 문제가 없도록 하는 방법.
계속 읽기 →배포 후 페이지 캐시 문제 해결하기
배포했는데 사용자가 계속 이전 버전을 보거나 페이지가 느려질 때 캐시 문제를 진단하는 방법.
계속 읽기 →Next.js 서버 액션이 SEO에 영향을 미치지 않도록 하기
동적 콘텐츠를 생성하는 서버 액션을 사용할 때 검색 엔진 최적화와 메타 태그 관리 방법.
계속 읽기 →로그인 상태 초기화되는 문제 안전하게 해결하기
사용자가 갑자기 로그아웃되거나 필터 설정이 사라지는 문제의 원인을 찾고 고치는 방법.
계속 읽기 →useEffect 의존성 배열 체크리스트
useEffect에서 의존성 배열을 잘못 설정해서 발생하는 버그들을 미리 잡아내는 방법.
계속 읽기 →502 Bad Gateway 에러 해결하기
Nginx와 애플리케이션 서버 사이 연결 문제로 나타나는 502 에러를 진단하고 고치는 방법.
계속 읽기 →301 리다이렉트가 제대로 작동하지 않을 때
오래된 URL에서 새 URL로의 리다이렉트가 작동 안 할 때 DNS부터 Nginx 설정까지 확인하는 순서.
계속 읽기 →VPS 운영하면서 메모리 문제 진단하는 법
메모리 부족으로 서버가 느려지거나 프로세스가 죽을 때 어디서부터 봐야 할까.
계속 읽기 →권한 체크를 안전하게 변경하기
권한 관련 코드를 수정할 때 기존 사용자는 잠기고 새 사용자는 접근 못 하는 상황을 피하는 법.
계속 읽기 →React에서 조건부 렌더링이 제대로 작동하지 않을 때
로컬에서는 정상이던 조건부 렌더링이 실제 배포 환경에서 이상하게 작동할 때 어디를 봐야 할까.
계속 읽기 →API가 점점 느려질 때 performance를 생각해보자
API 응답이 100ms에서 500ms로 느려지는 건 보통 데이터베이스 쿼리 성능 때문이다. 인덱스와 쿼리 최적화가 필요하다.
계속 읽기 →Next.js 배포 후 메타데이터가 이상할 때
블로그 글의 제목, 설명, OG 이미지가 SNS에서 제대로 안 보인다면, 메타데이터 태그를 확인해야 한다.
계속 읽기 →서버 로그가 너무 커지면 디스크가 찬다
서버의 로그 파일이 계속 쌓이다 보면 디스크 공간이 부족해진다. 로그 로테이션 설정으로 자동 정리할 수 있다.
계속 읽기 →Next.js 빌드에서 페이지가 누락된 경험
Next.js 빌드 후 특정 페이지가 없다고 하면, 빌드 로그를 먼저 자세히 확인해야 한다. 빌드 경고나 에러가 숨어 있을 수 있다.
계속 읽기 →앱 버전을 올렸는데 실제로는 올라가지 않았을 때
배포했는데 사용자들이 여전히 이전 버전을 보고 있다면, 캐시나 버전 태그를 확인해야 한다.
계속 읽기 →운영 서버에서만 앱이 안 돌 때
로컬에서는 완벽한데 서버에서는 에러가 나면, 서버의 시간대나 권한, 디스크 용량을 먼저 확인해야 한다.
계속 읽기 →배포 전에 데이터베이스 제약을 꼭 확인하자
unique 제약이나 foreign key 때문에 배포 후 데이터 입력이 실패할 수 있다. 배포 전 마이그레이션을 검토해야 한다.
계속 읽기 →Docker 이미지 배포 후 문제가 생겼을 때
컨테이너 배포 후 앱이 안 되면, 먼저 컨테이너가 실제로 시작됐는지, 로그에 에러가 있는지 확인해야 한다.
계속 읽기 →권한 때문에 API 요청이 막혔을 때
특정 사용자는 API를 호출할 수 없을 때는, 토큰 권한과 리소스 소유권을 함께 확인해야 한다.
계속 읽기 →배포 후 문제가 생겼을 때 원인 찾기
로컬에서는 멀쩡한데 배포 환경에서만 문제가 나면, 환경 설정의 차이를 먼저 확인해야 한다.
계속 읽기 →웹앱 메모리 누수를 찾는 순서
메모리 사용량이 점점 늘어나면 처음부터 뭔가 잘못됐을 거라고 가정하지 말고, 순서대로 확인해야 한다.
계속 읽기 →API 검증 실패를 빨리 찾아내는 법
API 요청이 validation에서 막힐 때는 요청 전체를 먼저 봐야 한다. 인증부터 확인하고, 응답 메시지로 원인을 좁혀가는 방식이다.
계속 읽기 →