turin's blog
만들고, 터지고,
기록합니다
풀스택, Flutter, 서버 운영, SEO, 배포 삽질을 실제 프로젝트 기준으로 정리합니다. 검색해서 들어온 사람이 바로 쓸 수 있는 체크리스트와 명령을 남기는 게 목표입니다.
자주 다루는 주제
주제별로 빠르게 훑어보기
전체 글
운영 중 부딪힌 문제를 검색 의도에 맞춰 정리
Next.js에서 SEO와 RSS 메타데이터 점검하기
검색 엔진이나 RSS 리더가 제대로 콘텐츠를 읽지 못하는 경우가 있다. 프로덕션 배포 전에 확인해야 할 메타데이터 체크리스트를 정리했다.
API 응답이 이상할 때 진단 순서
curl로 요청을 보내면 정상인데, 앱에서는 에러가 나거나 처리가 이상한 경우가 있다. API 상태를 빠르게 진단하는 방법을 정리했다.
계속 읽기 →서버 배포 전 점검 체크리스트
배포 환경이 로컬과 다르다는 것을 알고 있어도, 그냥 push 버튼을 누르고 나면 문제가 생긴다. 배포 직전에 확인해야 할 것들을 정리했다.
계속 읽기 →정렬 순서가 예상과 다를 때
데이터를 가져오는 순서가 자꾸 바뀌거나, 페이지네이션에서 같은 항목이 중복으로 보이는 경우가 있다. 원인을 빠르게 찾는 방법을 정리했다.
계속 읽기 →배포 전에 데이터베이스 마이그레이션 검증하기
Prisma 마이그레이션이 로컬에서는 되는데 프로덕션에 적용하면 문제가 생기거나, 롤백이 필요한 경우가 있다. 배포 전 체크리스트를 정리했다.
계속 읽기 →브라우저에서 서버에 접속할 수 없을 때
localhost에서는 되는데 다른 기기나 호스트명으로 접속하면 안 되는 경우가 있다. 방화벽과 네트워크 문제를 빠르게 진단하는 방법을 정리했다.
계속 읽기 →Flutter 앱 릴리즈 빌드가 개발 빌드와 다르게 동작할 때
flutter run은 잘 되는데 릴리즈 빌드나 APK/IPA를 만들면 문제가 생기는 경우가 있다. 원인을 빠르게 좁히는 방법을 정리했다.
계속 읽기 →데이터베이스 인덱스가 없거나 제대로 안 탈 때
쿼리가 느려지거나 데이터를 못 찾을 때, 인덱스 문제가 원인인지 빠르게 진단하는 방법을 정리했다.
계속 읽기 →웹 접근성 이슈가 프로덕션에만 나타날 때
로컬에서는 문제없던 접근성(스크린리더, 키보드 네비게이션)이 배포 후에 깨지는 경우가 있다. 원인을 빠르게 찾는 방법을 정리했다.
계속 읽기 →React 상태 문제를 빠르게 진단하는 방법
React 컴포넌트에서 상태가 업데이트되지 않거나 의도치 않게 변할 때, 원인을 찾는 체계적인 접근법을 정리했다.
계속 읽기 →Docker 컨테이너는 떠 있는데 접속이 안 될 때
docker ps에서는 running 상태인데 curl이나 browser에서 연결이 안 되는 경우가 있다. 확인해야 할 순서를 정리했다.
계속 읽기 →React 컴포넌트에 들어오는 데이터 타입이 예상과 다를 때
props로 받은 데이터가 런타임에 타입스크립트 정의와 다르면, 작은 신호를 놓치면 디버깅이 오래 걸린다. 먼저 확인해야 할 순서를 정리했다.
계속 읽기 →Docker 컨테이너가 실행되지 않을 때 로그 읽는 법
컨테이너가 시작 직후 종료된다면, 스택 트레이스와 에러 메시지를 로그에서 찾는 게 가장 먼저 할 일이다.
계속 읽기 →도메인으로 접속할 때 간헐적으로 느릴 때
Nginx 뒤에서 도메인 연결이 불안정하거나 느리다면, DNS 응답, Nginx 설정, 인증서를 순서대로 확인해야 한다.
계속 읽기 →웹 개발 배포 후 문제를 빠르게 추적하는 방법
배포 후 로컬에서는 안 보이던 문제가 나타난다면, 빌드 결과와 배포 환경의 차이부터 체계적으로 확인해야 한다.
계속 읽기 →Dockerfile을 안전하게 수정할 때 확인할 것
Dockerfile을 바꾼 후 배포했는데 컨테이너가 실행되지 않는다면, 로그부터 보고 환경 변수와 포트를 먼저 확인하자.
계속 읽기 →React에서 사용자 입력이 반응하지 않을 때
상태 업데이트가 느리거나 입력이 반응하지 않는다면, 렌더링 조건과 이벤트 핸들러 흐름을 먼저 확인하자.
계속 읽기 →배포 전에 서버 상태 빠르게 확인하는 명령어
SSH로 접속한 후 배포하기 전에, 포트 점유와 디스크, 최근 에러 로그를 먼저 본다면 배포 문제를 미리 발견할 수 있다.
계속 읽기 →SQLite 파일 권한과 볼륨 마운트 확인하기
Docker나 서버 환경에서 SQLite가 `database is locked` 에러를 내면, 파일 권한과 볼륨 마운트부터 확인해야 한다.
계속 읽기 →배포 후 미리보기가 깨질 때 확인할 것
로컬에서는 맞는데 배포 후 소셜 미리보기나 메타데이터가 깨진다면, 실제 배포된 페이지의 HTML을 먼저 확인해야 한다.
계속 읽기 →DB 페이지네이션 쿼리에서 오프셋 계산 확인하기
페이지네이션 쿼리가 중복된 데이터를 반환하거나 데이터를 빠뜨린다면, 먼저 쿼리 자체를 직접 실행해서 결과를 확인해야 한다.
계속 읽기 →Prisma로 로컬 DB 설정 확인하는 순서
DATABASE_URL 설정이 맞아도 Prisma가 연결 실패라고 하면, 스키마와 마이그레이션 상태를 먼저 확인하는 게 빠르다.
계속 읽기 →타입 에러로 빌드가 막릴 때 빠르게 좁히는 법
TypeScript 에러 메시지가 길어서 원인이 보이지 않을 땐, 에러의 출처부터 명확히 하는 것이 먼저다.
계속 읽기 →Next.js 캐시 문제로 로컬과 배포가 다를 때
로컬에서는 잘 보이던 페이지가 배포 후 다르게 보인다면, 체계적으로 원인을 좁혀가는 순서를 먼저 정해둘 필요가 있다.
계속 읽기 →