turin's blog
만들고, 터지고,
기록합니다
풀스택, Flutter, 서버 운영, SEO, 배포 삽질을 실제 프로젝트 기준으로 정리합니다. 검색해서 들어온 사람이 바로 쓸 수 있는 체크리스트와 명령을 남기는 게 목표입니다.
자주 다루는 주제
주제별로 빠르게 훑어보기
전체 글
운영 중 부딪힌 문제를 검색 의도에 맞춰 정리
Next.js 빌드 로그를 읽고 문제를 찾기
빌드 로그에는 많은 정보가 숨어있다. 특히 경고 메시지와 빌드 시간을 자세히 보면 숨은 버그를 찾을 수 있다.
웹 디자인 테마를 안전하게 바꾸기
테마나 색상을 변경할 때는 한 번에 모든 것을 바꾸기보다는 작은 부분부터 확인하며 진행해야 예상 밖의 버그를 빠르게 찾을 수 있다.
계속 읽기 →외부 API 연동이 안 될 때 디버깅하는 방법
API 응답이 없거나 예상과 다를 때는 인증, 요청 파라미터, 응답 본문을 차례로 확인해야 한다.
계속 읽기 →서버 백업 문제를 좁혀서 해결하기
백업 작업 중 문제가 생겼을 때 전체 시스템을 의심하기보다는 디스크, 권한, 설정 세 가지부터 체계적으로 확인해야 한다.
계속 읽기 →Next.js RSS 피드가 정상인지 빠르게 확인하기
RSS 피드 문제를 디버깅할 때는 로그만 봐서는 부족하다. 공개 URL, 빌드 결과, 실제 요청을 함께 비교해야 원인을 빠르게 찾을 수 있다.
계속 읽기 →React 모달이 터치 환경에서 닫혀버릴 때
모달이 로컬에서는 멀쩡한데 프로덕션에서 이상해진다면, 포커스와 이벤트 흐름을 먼저 확인하자.
계속 읽기 →GitHub Actions 실패 로그를 읽을 때 덜 헤매는 방법
GitHub Actions 로그는 한눈에 들어오지 않는다. 실패 원인을 빠르게 찾는 방법을 알아보자.
계속 읽기 →Nginx 301 리다이렉트 적용 전 체크리스트
301 리다이렉트를 설정하면 SEO에 영향을 준다. 실수 없이 하려면 사전 체크가 필수다.
계속 읽기 →React 폼의 onChange 검증을 너무 많이 넣었을 때의 실수
폼의 매 입력마다 검증을 하면 사용자 경험이 나빠진다. 올바른 검증 시점을 찾아야 한다.
계속 읽기 →서버 운영: 리눅스에서 디스크가 찼을 때 보는 명령어 순서
서버 디스크가 가득 차면 서비스가 멈춘다. 원인을 빠르게 찾기 위한 명령어 순서를 알아두자.
계속 읽기 →Next.js 캐시 때문에 수정한 글이 안 바뀌어 보였던 날
Next.js에는 여러 단계의 캐시가 있다. 한 곳만 지워선 안 되는 이유를 알아보자.
계속 읽기 →Next.js Route Handler에서 JSON 에러 응답 통일하기
API 에러 응답 형식이 제각각이면 클라이언트에서 처리하기 힘들다. 한 가지 패턴으로 통일하자.
계속 읽기 →GitHub Actions 배포 job 이름을 읽기 쉽게 정리하기
GitHub Actions 로그를 보면서 "이 job이 뭐 하는 거지?" 할 때가 많다. 이름과 step을 명확히 짓는 게 먼저다.
계속 읽기 →Next.js 블로그에서 글 제목을 언제든 바꿀 수 있는 이유
블로그 글의 제목은 SEO를 위해 고정돼야 한다고 생각하기 쉽지만, 실제로는 유연하게 관리할 수 있다.
계속 읽기 →API pagination에서 page size 제한 두기
사용자가 원하는 page size를 모두 수용하면 서버에 부담이 된다. 적절한 제한을 두는 게 중요하다.
계속 읽기 →TypeScript 타입을 API 스키마와 맞추는 방법
API 응답 타입이 실제 데이터와 안 맞으면 런타임에 버그가 터진다. 처음부터 맞추는 게 핵심이다.
계속 읽기 →Git push 전에 원격 변경사항 fetch하기
Git으로 작업할 때 충돌을 미리 막으려면 push 전에 원격 변경사항을 확인하는 습관이 필수다.
계속 읽기 →서버 재부팅 후 로그의 시간대가 맞는지 확인하기
재부팅 후 로그 시간이 잘못되면 디버깅이 매우 어려워진다.
계속 읽기 →Nginx server_name을 정확하게 쓰기
server_name의 작은 실수가 원치 않는 도메인에서 사이트가 보이게 할 수 있다.
계속 읽기 →Docker prune 실행 전에 이미지 목록을 먼저 보자
docker prune은 편하지만 잘못하면 필요한 이미지를 삭제할 수 있다.
계속 읽기 →React에서 상태 이름을 loading보다 구체적으로
단순한 loading 대신 상태의 목적을 명확히 하는 이름을 쓰자.
계속 읽기 →Next.js API route에서 validation은 어디에?
요청 검증을 어느 레이어에서 할지는 성능과 유지보수성에 영향을 미친다.
계속 읽기 →GitHub Actions에서 환경변수를 로그에 출력하지 않기
Actions의 로그에 실수로 민감한 정보를 출력하는 것을 방지하는 방법들.
계속 읽기 →기술 블로그 설명을 한 문장으로 줄이는 연습
긴 소개글보다 간명한 한 문장이 훨씬 효과적이다.
계속 읽기 →