turin's blog

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

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

1175published
8topics
kopractical notes

자주 다루는 주제

주제별로 빠르게 훑어보기

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

전체 글

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

Next.js

Next.js prune으로 빌드가 막힐 때 먼저 볼 로그

Next.js 모노레포에서 prune 명령이 실패하거나 빌드가 막히면, 먼저 sitemap과 canonical 태그, HTML head를 확인해야 한다.

·1분 읽기
웹 개발1분 읽기

데이터베이스 마이그레이션이 실패하지 않도록 미리 확인할 것

데이터 계층 문제는 복잡해 보이지만, 마이그레이션 상태, 스키마 검증, 백업 상태를 체계적으로 확인하면 대부분 해결할 수 있다.

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

서버 백업이 제대로 되는지 확인하는 방법

백업 문제는 보통 실제 필요할 때까지 드러나지 않는다. 포트, 디스크, 프로세스 상태를 미리 체계적으로 확인하면, 문제가 생겼을 때 빠르게 대응할 수 있다.

계속 읽기 →
TypeScript1분 읽기

Prisma 타입 오류로 빌드가 막힐 때 체크할 것

처음부터 완벽한 타입을 맞히려고 하면 오히려 확인 시간이 길어진다. 타입 가드, optional 필드, 실제 응답을 단계별로 확인하면서 원인을 좁혀나가는 방법을 정리했다.

계속 읽기 →
Docker1분 읽기

Docker 컨테이너가 로컬에서는 되는데 배포 후에 안 될 때

Node 이미지로 만든 Docker 컨테이너는 로컬과 배포 환경에서 완전히 다르게 동작할 수 있다. 로그, 환경변수, 포트 매핑을 체계적으로 확인하는 방법을 정리했다.

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

서버에서만 JSON 응답이 깨질 때 체크리스트

로컬 개발 환경에서는 정상이지만 운영 서버에서만 JSON이 깨진다면, 디스크 용량, 권한, 프로세스 상태를 먼저 확인해야 한다.

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

Nginx가 간헐적으로 느려질 때 가장 먼저 볼 곳

Nginx 성능 문제는 간헐적으로 나타나기 때문에 재현이 어렵다. 프록시 규칙 설정, 인증서 갱신, 캐시 상태를 체계적으로 확인하면 원인을 찾을 수 있다.

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

301 리다이렉트 로그가 계속 쌓일 때 체크할 것

301 리다이렉트가 과도하게 발생하면 서버 로그가 급증한다. Nginx 프록시 규칙, DNS 설정, 캐시 상태를 확인하는 순서를 정리했다.

계속 읽기 →
API1분 읽기

파일 업로드 API가 응답 형식을 일관되게 주지 않을 때

파일 업로드 API를 다룰 때 응답 형식이 불안정하면, 클라이언트에서 처리하기가 어렵다. 요청 파라미터부터 인증 상태, 서버 로그까지 체계적으로 확인해야 원인을 찾을 수 있다.

계속 읽기 →
Next.js1분 읽기

Next.js Route Handler가 운영에서만 느릴 때 확인할 것

Next.js의 Route Handler는 로컬 개발 환경과 배포 환경에서 완전히 다르게 동작할 수 있다. 메타데이터부터 canonical, 빌드 결과까지 단계별로 확인하는 방법을 정리했다.

계속 읽기 →
Flutter1분 읽기

Flutter 앱이 에뮬레이터에서는 되는데 실기기에서 안 될 때

Flutter 개발 중 에뮬레이터와 실제 기기 사이의 차이는 권한, 환경 설정, 빌드 모드 등 여러 곳에 숨어 있다. 체계적으로 확인하는 순서가 있으면 훨씬 빠르게 문제를 찾을 수 있다.

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

에러 페이지를 수정할 땐 증상보다 흐름부터 본다

웹 개발 중 예상 밖의 에러를 마주쳤을 때, 단편적인 증상만 따라 수정하다 보면 문제가 반복된다. 전체 흐름 속에서 원인을 좁혀나가는 습관이 필요하다.

계속 읽기 →
TypeScript2분 읽기

TypeScript 타입 에러가 프로덕션에서만 나올 때

개발 환경에서는 빌드가 성공하는데 배포 환경의 TypeScript 체크에서만 실패할 때 원인을 찾는 방법을 정리했다.

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

systemd 서비스가 배포 후 시작 안 될 때

배포 후 시스템 서비스가 시작되지 않거나 계속 실패할 때, 권한과 로그를 확인하는 방법을 정리했다.

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

배포 후 사용자 데이터가 사라질 때

새 버전을 배포했는데 사용자가 저장한 데이터가 보이지 않을 때, 원인을 파악하고 대응하는 방법을 정리했다.

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

Nginx 리버스 프록시가 요청을 안 넘길 때

Nginx 뒤의 여러 서버로 요청을 분배해야 하는데, 특정 요청이 제대로 전달되지 않을 때 확인하는 방법을 정리했다.

계속 읽기 →
Next.js2분 읽기

React state 초기화가 제대로 안 될 때

컴포넌트가 언마운트되거나 리셋될 때 상태가 제대로 초기화되지 않아서 생기는 문제와 해결 방법을 정리했다.

계속 읽기 →
Next.js1분 읽기

React 컴포넌트가 서버와 로컬에서 다르게 보일 때

대규모 React 애플리케이션에서 환경마다 다르게 작동하는 컴포넌트를 찾아내고 수정하는 방법을 정리했다.

계속 읽기 →
Next.js2분 읽기

React 에러 메시지를 체계적으로 읽는 방법

React 에러가 났을 때 콘솔과 화면에 나타나는 여러 에러 메시지 중 진짜 원인을 찾는 방법을 정리했다.

계속 읽기 →
Next.js1분 읽기

Next.js 캐싱 문제로 구 콘텐츠가 보일 때

배포했는데 이전 버전의 페이지가 계속 보이는 문제를 진단하고 해결하는 방법을 정리했다.

계속 읽기 →
Docker2분 읽기

Node 컨테이너 이미지 태그 헷갈릴 때

Docker 이미지를 빌드하고 배포할 때, 어떤 버전이 실제로 실행 중인지 확인하는 방법을 정리했다.

계속 읽기 →
Next.js1분 읽기

Next.js 배포 후 SEO 메타데이터가 안 보일 때

로컬에서는 메타데이터가 정상인데 배포 후에 검색 엔진에서 안 읽어갈 때, 먼저 확인해야 할 것들을 정리했다.

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

서버 메모리 누수 원인 찾는 방법

서버의 메모리가 점점 줄어들 때, 어디부터 확인해야 하는지 체계적으로 접근하는 방법을 정리했다.

계속 읽기 →
Flutter1분 읽기

Flutter 배포 후 문제 추적하는 실전 방법

Flutter 앱을 배포한 후 예상 못 한 문제를 마주칠 때, 로그와 환경 차이에서 원인을 빨리 찾는 방법을 정리했다.

계속 읽기 →