turin's blog

만들고, 터지고, 기록합니다

풀스택, Flutter, 서버 운영, SEO, 배포 삽질을 실제 프로젝트 기준으로 정리합니다. 검색해서 들어온 사람이 바로 쓸 수 있는 체크리스트와 명령을 남기는 게 목표입니다.

1175published
8topics
kopractical notes

자주 다루는 주제

주제별로 빠르게 훑어보기

웹 개발350Next.js283서버 운영165Docker110API80TypeScript58DB50Flutter39

전체 글

운영 중 부딪힌 문제를 검색 의도에 맞춰 정리

Next.js

Next.js에서 SEO와 RSS 메타데이터 점검하기

검색 엔진이나 RSS 리더가 제대로 콘텐츠를 읽지 못하는 경우가 있다. 프로덕션 배포 전에 확인해야 할 메타데이터 체크리스트를 정리했다.

·2분 읽기
API2분 읽기

API 응답이 이상할 때 진단 순서

curl로 요청을 보내면 정상인데, 앱에서는 에러가 나거나 처리가 이상한 경우가 있다. API 상태를 빠르게 진단하는 방법을 정리했다.

계속 읽기 →
서버 운영2분 읽기

서버 배포 전 점검 체크리스트

배포 환경이 로컬과 다르다는 것을 알고 있어도, 그냥 push 버튼을 누르고 나면 문제가 생긴다. 배포 직전에 확인해야 할 것들을 정리했다.

계속 읽기 →
웹 개발2분 읽기

정렬 순서가 예상과 다를 때

데이터를 가져오는 순서가 자꾸 바뀌거나, 페이지네이션에서 같은 항목이 중복으로 보이는 경우가 있다. 원인을 빠르게 찾는 방법을 정리했다.

계속 읽기 →
웹 개발2분 읽기

배포 전에 데이터베이스 마이그레이션 검증하기

Prisma 마이그레이션이 로컬에서는 되는데 프로덕션에 적용하면 문제가 생기거나, 롤백이 필요한 경우가 있다. 배포 전 체크리스트를 정리했다.

계속 읽기 →
서버 운영2분 읽기

브라우저에서 서버에 접속할 수 없을 때

localhost에서는 되는데 다른 기기나 호스트명으로 접속하면 안 되는 경우가 있다. 방화벽과 네트워크 문제를 빠르게 진단하는 방법을 정리했다.

계속 읽기 →
Flutter2분 읽기

Flutter 앱 릴리즈 빌드가 개발 빌드와 다르게 동작할 때

flutter run은 잘 되는데 릴리즈 빌드나 APK/IPA를 만들면 문제가 생기는 경우가 있다. 원인을 빠르게 좁히는 방법을 정리했다.

계속 읽기 →
웹 개발2분 읽기

데이터베이스 인덱스가 없거나 제대로 안 탈 때

쿼리가 느려지거나 데이터를 못 찾을 때, 인덱스 문제가 원인인지 빠르게 진단하는 방법을 정리했다.

계속 읽기 →
웹 개발2분 읽기

웹 접근성 이슈가 프로덕션에만 나타날 때

로컬에서는 문제없던 접근성(스크린리더, 키보드 네비게이션)이 배포 후에 깨지는 경우가 있다. 원인을 빠르게 찾는 방법을 정리했다.

계속 읽기 →
Next.js2분 읽기

React 상태 문제를 빠르게 진단하는 방법

React 컴포넌트에서 상태가 업데이트되지 않거나 의도치 않게 변할 때, 원인을 찾는 체계적인 접근법을 정리했다.

계속 읽기 →
Docker1분 읽기

Docker 컨테이너는 떠 있는데 접속이 안 될 때

docker ps에서는 running 상태인데 curl이나 browser에서 연결이 안 되는 경우가 있다. 확인해야 할 순서를 정리했다.

계속 읽기 →
Next.js1분 읽기

React 컴포넌트에 들어오는 데이터 타입이 예상과 다를 때

props로 받은 데이터가 런타임에 타입스크립트 정의와 다르면, 작은 신호를 놓치면 디버깅이 오래 걸린다. 먼저 확인해야 할 순서를 정리했다.

계속 읽기 →
Docker2분 읽기

Docker 컨테이너가 실행되지 않을 때 로그 읽는 법

컨테이너가 시작 직후 종료된다면, 스택 트레이스와 에러 메시지를 로그에서 찾는 게 가장 먼저 할 일이다.

계속 읽기 →
서버 운영2분 읽기

도메인으로 접속할 때 간헐적으로 느릴 때

Nginx 뒤에서 도메인 연결이 불안정하거나 느리다면, DNS 응답, Nginx 설정, 인증서를 순서대로 확인해야 한다.

계속 읽기 →
웹 개발2분 읽기

웹 개발 배포 후 문제를 빠르게 추적하는 방법

배포 후 로컬에서는 안 보이던 문제가 나타난다면, 빌드 결과와 배포 환경의 차이부터 체계적으로 확인해야 한다.

계속 읽기 →
Docker1분 읽기

Dockerfile을 안전하게 수정할 때 확인할 것

Dockerfile을 바꾼 후 배포했는데 컨테이너가 실행되지 않는다면, 로그부터 보고 환경 변수와 포트를 먼저 확인하자.

계속 읽기 →
Next.js1분 읽기

React에서 사용자 입력이 반응하지 않을 때

상태 업데이트가 느리거나 입력이 반응하지 않는다면, 렌더링 조건과 이벤트 핸들러 흐름을 먼저 확인하자.

계속 읽기 →
서버 운영1분 읽기

배포 전에 서버 상태 빠르게 확인하는 명령어

SSH로 접속한 후 배포하기 전에, 포트 점유와 디스크, 최근 에러 로그를 먼저 본다면 배포 문제를 미리 발견할 수 있다.

계속 읽기 →
DB1분 읽기

SQLite 파일 권한과 볼륨 마운트 확인하기

Docker나 서버 환경에서 SQLite가 `database is locked` 에러를 내면, 파일 권한과 볼륨 마운트부터 확인해야 한다.

계속 읽기 →
웹 개발1분 읽기

배포 후 미리보기가 깨질 때 확인할 것

로컬에서는 맞는데 배포 후 소셜 미리보기나 메타데이터가 깨진다면, 실제 배포된 페이지의 HTML을 먼저 확인해야 한다.

계속 읽기 →
DB1분 읽기

DB 페이지네이션 쿼리에서 오프셋 계산 확인하기

페이지네이션 쿼리가 중복된 데이터를 반환하거나 데이터를 빠뜨린다면, 먼저 쿼리 자체를 직접 실행해서 결과를 확인해야 한다.

계속 읽기 →
DB1분 읽기

Prisma로 로컬 DB 설정 확인하는 순서

DATABASE_URL 설정이 맞아도 Prisma가 연결 실패라고 하면, 스키마와 마이그레이션 상태를 먼저 확인하는 게 빠르다.

계속 읽기 →
TypeScript1분 읽기

타입 에러로 빌드가 막릴 때 빠르게 좁히는 법

TypeScript 에러 메시지가 길어서 원인이 보이지 않을 땐, 에러의 출처부터 명확히 하는 것이 먼저다.

계속 읽기 →
Next.js1분 읽기

Next.js 캐시 문제로 로컬과 배포가 다를 때

로컬에서는 잘 보이던 페이지가 배포 후 다르게 보인다면, 체계적으로 원인을 좁혀가는 순서를 먼저 정해둘 필요가 있다.

계속 읽기 →