Code/PHP7 EUC-KR 환경에서 JSON이 통째로 사라진 이유 — 코드 한 줄의 인코딩 함정 Code & Life · PHP / 인코딩 EUC-KR 환경에서 JSON이 통째로 사라진 이유— 코드 한 줄의 인코딩 함정 DB도 AJAX도 정상이었다. 알림도 왔다. 그런데 채팅 목록만 사라졌다. 범인은 코드 안에 조용히 박혀 있던 문자열 하나였다. C CoLife 20년 차 현직 개발자 · code & life 📋 목차 증상 — 접수도, 저장도, 알림도 정상인데 목록만 없다 구조 파악 — AJAX → PHP → DB → JSON 디버깅 — 데이터는 있는데 화면엔 없다 원인 — DB 밖에서 태어난 한글 문자열 해결 — 인코딩 흐름을 하나로 통일 .. 2026. 5. 12. PHP ftp_put 고정장 전문 오프셋 깨짐 해결 — 범인은 FTP_ASCII 모드였다 PHP ftp_put 고정장 전문 오프셋 깨짐 완전 해결 범인은 FTP_ASCII 모드였다 PHP FTP 전송 · 고정장(Fixed-Length) 전문 · CRLF 트러블슈팅 📋 목차 발단 — 전문 오프셋이 뒤로 갈수록 밀린다 1차 의심 — 항상 의심받는 인코딩 문제 진짜 원인 — ASCII 모드의 과잉친절 해결 방법 — FTP_BINARY 모드로 전환 노하우 — ASCII vs Binary, 언제 뭘 써야 하나? 마무리 개발을 하다 보면 "범인이 왜 거기서 나와?" 싶은 황당한 트러블슈팅을 만날 때가 있습니다. 특히 레거시 시스템과 연동하거나, 바이트 단위의 칼 같은 정확성을 요구하는 고정장(F.. 2026. 4. 22. 반복문 속 쿼리가 서버를 죽인다 — PHP N+1 문제와 SQL 실행 최소화 실전 가이드 PHP 성능 최적화 반복문 속 쿼리가 서버를 죽인다 PHP N+1 문제와 SQL 실행 최소화 실전 가이드 개발 서버에선 빠른데 운영 서버에선 왜 느릴까요? 높은 확률로 반복문 속 DB 쿼리가 원인입니다. 20년 차 개발자가 직접 겪고 다듬은 N+1 문제 해결법을 단계별로 정리했습니다. 📋 목차 개발 서버는 괜찮은데 운영이 느린 이유 루프 안의 숨은 폭탄 — N+1 문제란? 단계별 최적화 — 쿼리 실행 횟수를 줄여라 로직 튜닝만으론 부족하다 — 쿼리 자체도 최적화하라 20년 차 개발자의 현장 결론 01 개발 서버는 괜찮은데 운영이 느린 이유.. 2026. 4. 21. [PHP] 화면엔 멀쩡한데 전송하면 깨진다? EUC-KR 고정 길이 전문 숨은 에러 완벽 해결 PHP · Encoding · Legacy [PHP] 화면엔 멀쩡한데 전송하면 깨진다?EUC-KR 고정 길이 전문 숨은 에러 완벽 해결 CP949 확장 한글이 유발하는 바이트 밀림 현상, iconv로 사전에 잡는 검증 함수 완전 분석 📋 목차 왜 화면에선 멀쩡하고 전송만 하면 깨질까? 범인 식별: CP949 확장 완성형 한글 수작업 디버깅의 한계와 자동화의 필요성 EUC-KR 비표준 문자 자동 색출 PHP 함수 코드 작동 원리 단계별 분석 실전 적용 팁 & 마무리 01 왜 화면에선 멀쩡하고 전송만 하면 깨질까? 외부 파트너사와 레거시 시스템을 연동할 때, TCP.. 2026. 4. 19. PHP Imagick 멀티 TIFF 자동 변환이 서버를 다운시킨 이유와 해결법 PHP Troubleshooting · 삽질기PHP Imagick 멀티 TIFF 자동 변환이서버를 다운시킨 이유와 해결법완벽한 자동화를 꿈꿨다가 OOM으로 서버를 뻗게 만든,20년 차 개발자의 뼈아픈 트러블슈팅 실전기📋 목차 (Table of Contents)01 · 발단: "분명히 싱글 TIFF라고 말씀드렸는데요?"02 · 전개: 개발자의 본능 — PHP Imagick으로 자동화 도전03 · 위기: 크론탭의 반격, OOM으로 서버 다운04 · 해결: 기술의 한계는 UX 설계로 푼다05 · 마무리: 시니어 개발자의 인사이트안녕하세요! ☕ 커피 향을 사랑하는 20년 차 개발자, CoLife입니다. 오늘은 완벽한 로직을 짰다고 확신하다가 서버와 함께 멘탈이 무너졌던, 아주 흥미롭고 뼈아팠던 PHP 트러블슈.. 2026. 4. 15. PHP 개발자의 에디터 변천사: 드림위버부터 AI CLI 환경까지 PHP를 주력으로 개발해 온 지난 시간 동안, 코드를 작성하는 도구는 끊임없이 변해왔습니다. 개발 환경의 변화는 단순히 툴이 바뀌는 것을 넘어, 코드를 작성하고 서버에 배포하는 '워크플로우' 자체의 변화를 의미하기도 합니다.처음 개발을 시작했던 시절의 드림위버부터 최근 주력으로 넘어가고 있는 구글 안티그래비티(Google Antigravity)까지, 실무에서 직접 겪은 에디터 변천사를 정리해 봅니다. 1. 투 트랙(Two-Track) 시대: 드림위버와 에디트플러스개발 초기에는 프론트와 백엔드 작업에 따라 에디터를 철저히 분리해서 사용했습니다. 위 이미지는 제미나이로 생성한 이미지입니다. 드림위버는 화면을 분할해서 상단에 코드가 실행되는 화면, 하단에는 타이핑을 할 수 있는 영역이 있었죠. 아래 이미지는 .. 2026. 3. 25. 이전 1 2 다음