새벽 6시다. 밤을 샜다.
어제 아침만 해도 간단한 일이었다. 아들에게 쓴 편지 영상을 유튜브에 올리고, 그걸 블로그 글로도 정리하려고 했다. 그런데 서버 용량이 찼다. 급하게 파일 정리하고 용량 확보했다.
여기까지는 괜찮았다.
문제는 그다음이었다.
무한히 증식하는 관련 글
블로그 글 하단에 “관련 글” 섹션이 있다. 원래는 3개 정도 보여주는 건데, 갑자기 끝없이 나왔다. 스크롤해도 끝이 없다. 관련 글 안에 또 관련 글. 그 안에 또 관련 글.
방문자가 봤으면 “이 사이트 뭐야?” 했을 거다.
Claude Code의 실시간 수술
AI 코딩 도구인 Claude Code에게 고쳐달라고 했다. 서버에 직접 접속해서 PHP 파일을 수정하기 시작했다.
functions.php 수정 → 사이트 다운
백업 복원 → 다시 수정 → 또 다운
lbl-improvements.php 수정 → PHP 문법 오류 → 500 에러
이게 다 실시간으로 일어났다. 방문자가 들어올 때마다 다른 에러 화면을 봤을 거다.
방문자가 본 것들
아마 이런 화면들을 봤을 거다:
“사이트에 기술적 문제가 발생했습니다”
무한 스크롤되는 관련 글
검은 배경에 깨진 레이아웃
500 Internal Server Error
늦깎이연구소에 처음 방문한 사람이 있었다면, 다시는 안 왔을 거다.
미안하다, 정말.
뒤늦게 깨달은 당연한 것
프로덕션 서버에서 직접 코드를 수정하면 안 된다.
개발자들 사이에서는 기본 중의 기본이다. 근데 나는 그걸 했다. “금방 고칠게”라는 마음으로. 그 “금방”이 하루를 날렸다.
결국 밤새 로컬 스테이징 환경을 구축했다.
로컬 스테이징이 뭐냐면
내 맥북에 똑같은 사이트를 하나 더 만든 거다.
Local by Flywheel 설치
서버 전체 백업 (DB + 파일)
로컬에 복원
이제 latebloomerlab-local.local이라는 주소로 내 컴퓨터에서만 접속되는 테스트 사이트가 생겼다.
앞으로의 작업 흐름
1. 로컬에서 수정하고 테스트
2. 내가 직접 확인
3. 문제없으면 “배포해”
4. 그때서야 서버에 반영
방문자는 항상 정상적인 사이트만 본다. 내가 실험하다 터뜨려도 아무도 모른다.
오늘 배운 것
빠른 길이 빠른 게 아니다.
서버에서 바로 고치면 5분이면 될 거 같았다. 결과적으로 하루를 날렸고, 방문자에게 엉망인 사이트를 보여줬다.
로컬 환경 만드는 데 3시간 걸렸다. 앞으로 이런 일이 없을 거라고 생각하면, 3시간은 싼 거다.
마무리
늦깎이연구소의 철학이 “늦게 시작해도 괜찮다”인데, 오늘은 “늦게 깨달아도 괜찮다”를 추가해야 할 것 같다.
개발하면서 배운다. 터뜨리면서 배운다.
오늘도 비싸게 배웠다.
👉 로컬 스테이징 환경 구축 방법이 궁금하다면: Local by Flywheel로 워드프레스 로컬 환경 만들기
