turin's blog
만들고, 터지고,
기록합니다
풀스택, Flutter, 서버 운영, SEO, 배포 삽질을 실제 프로젝트 기준으로 정리합니다. 검색해서 들어온 사람이 바로 쓸 수 있는 체크리스트와 명령을 남기는 게 목표입니다.
자주 다루는 주제
주제별로 빠르게 훑어보기
전체 글
운영 중 부딪힌 문제를 검색 의도에 맞춰 정리
React 폼 검증이 모바일에서 깨질 때
폼 검증 문제는 작은 이상 신호도 빨리 분리해서 봐야 한다. 렌더링 조건과 에러 문구를 함께 확인해야 원인이 보인다.
파일 업로드 API를 검증하는 체크리스트
파일 업로드 문제를 마주칠 때는 요청 파라미터부터 확인하고 서버와 클라이언트 응답을 함께 봐야 한다.
계속 읽기 →React 폼 입력을 모바일에서 테스트하는 방법
혼자 개발할 때는 확인한 값과 바꾼 값을 따로 남기는 습관이 필요하다. 모바일 화면에서 입력 흐름을 직접 검증해야 한다.
계속 읽기 →Next.js 배포 후 메타데이터 확인하기
Next.js에서 SEO 메타데이터는 빌드 결과와 실제 HTML을 함께 확인해야 문제를 찾을 수 있다.
계속 읽기 →폰트 로딩 실수를 피하는 방법
웹 개발에서 폰트 문제를 마주칠 때는 로그와 빌드 결과를 함께 확인해야 원인을 빠르게 찾을 수 있다.
계속 읽기 →API 응답을 안전하게 수정하는 체크리스트
API에서 JSON 응답 구조를 바꿀 때는 status code 먼저 확인하고 단계적으로 진행하는 게 핵심이다.
계속 읽기 →DNS 문제를 빠르게 찾는 방법
도메인과 Nginx 작업에서 DNS 응답을 먼저 확인하면 불필요한 수정을 줄일 수 있다.
계속 읽기 →화면이 반응을 느릴 때 상태 업데이트 최적화하기
React에서 특정 입력이나 상태 변화에 화면 반응이 느릴 때, 원인을 찾고 최적화하는 방법을 정리했다.
계속 읽기 →배치 작업에서 입력 값이 예상과 다를 때
정기적으로 실행되는 배치 작업이 데이터를 잘못 처리하거나, 특정 조건에서만 실패할 때 원인을 찾는 방법을 정리했다.
계속 읽기 →서버가 갑자기 재부팅될 때 원인 찾기
운영 중 서버가 예기치 않게 재부팅되거나 다운될 때, 로그에서 원인을 찾는 체계적인 방법을 정리했다.
계속 읽기 →Nginx 설정 실수로 서비스가 내려갈 때
Nginx 설정 변경 후 요청이 다른 곳으로 가거나, 헤더가 누락되거나, 인증서가 작동하지 않을 때 확인할 사항을 정리했다.
계속 읽기 →HTTPS 인증서가 만료되거나 유효하지 않을 때
운영 중 HTTPS 인증서 에러가 발생했을 때, 원인을 빠르게 파악하고 대응하는 순서를 정리했다.
계속 읽기 →리스트 성능이 운영에서만 나빠질 때
로컬에서는 빠르지만 배포 환경에서만 리스트 렌더링이 느릴 때, 원인을 찾는 체계적인 방법을 정리했다.
계속 읽기 →권한 체크가 제대로 작동하지 않을 때
관리자 페이지의 권한 검증이 예상대로 작동하지 않을 때, 어디서 실패했는지 체계적으로 찾는 방법을 정리했다.
계속 읽기 →데이터베이스 연결 문자열이 계속 헷갈릴 때
개발, 스테이징, 운영 환경마다 데이터베이스 연결 방식이 다를 때, 실수를 줄이는 방법을 정리했다.
계속 읽기 →입력 필드가 반응하지 않을 때 확인할 것들
React에서 input이나 textarea의 onChange가 작동하지 않거나 느릴 때, 원인을 찾는 체계적인 방법을 정리했다.
계속 읽기 →검색해서 버그를 발견했을 때의 확인 순서
사용자가 검색했을 때 이상한 결과가 나올 때, 어디가 문제인지 체계적으로 찾는 방법을 정리했다.
계속 읽기 →상태 목록 조회 성능이 갑자기 느려졌을 때
React에서 상태 목록을 받아오는 API 응답이 느려졌을 때, 원인을 체계적으로 찾는 방법을 정리했다.
계속 읽기 →푸시 알림 배포 후 실패하는 이유를 찾는 방법
로컬에서는 정상이었던 푸시 알림이 배포 환경에서 작동하지 않을 때, 실제 원인을 빠르게 찾는 순서를 정리했다.
계속 읽기 →TypeScript unknown 타입을 안전하게 처리하기
unknown 타입은 그냥 any와 다르다. 무조건 타입을 확인하고 나서야 사용할 수 있으므로, 이 특성을 제대로 활용하면 런타임 버그를 줄일 수 있다.
계속 읽기 →빌드 환경변수가 적용되지 않을 때 확인할 것
빌드 타임 환경변수와 런타임 환경변수를 구분하지 않으면, 배포 후에 설정이 먹지 않는다. 각 단계에서 어느 값이 사용되는지 확인해야 한다.
계속 읽기 →Next.js 동적 라우팅 관리자 페이지를 추가할 때 주의할 것
동적 렌더링 페이지를 추가할 때는 캐싱 설정, 권한 검증, 성능을 배포 전에 미리 점검해야 캐시 문제나 성능 저하를 피할 수 있다.
계속 읽기 →Flutter 릴리즈 빌드 때문에 앱이 깨질 때
로컬 디버그 빌드에서는 잘 작동하지만 릴리즈 빌드에서 문제가 생기면, flutter doctor와 프로파일 설정을 먼저 확인해야 한다.
계속 읽기 →API 페이지네이션 응답 형식을 바꿀 때 주의할 것
페이지네이션 응답은 클라이언트가 목록을 제대로 받을 수 있는지 영향을 주므로, 변경하기 전에 기존 사용처를 모두 파악해야 한다.
계속 읽기 →