성능 최적화 심화
autoload 옵션 — 모든 요청에 실리는 데이터 찾기
autoload 로 표시된 옵션은 요청마다 한 번에 읽혀 역직렬화됩니다. 큰 값 하나가 사이트 전체에 조용히 세금을 매기는 구조입니다.
Technote
워드프레스를 코드로 다루는 개발자를 위한 가이드. 훅 · WP-CLI · Git 워크플로우 · 배포 자동화를 다룹니다.
글 51편· 개발자
성능 최적화 심화
autoload 로 표시된 옵션은 요청마다 한 번에 읽혀 역직렬화됩니다. 큰 값 하나가 사이트 전체에 조용히 세금을 매기는 구조입니다.
성능 최적화 심화
쓰지 않는 스크립트를 내리는 것은 가능합니다. 다만 그 자산에 기대던 기능의 책임이 함께 넘어오므로, 무엇이 실제로 깨지는지 확인하는 절차가 필요합니다.
개발 워크플로우 심화
확장 지점을 남기지 않은 코드는 결국 포크되거나 직접 수정됩니다. do_action 과 apply_filters 를 어디에 몇 개나 둘지가 그 코드의 수명을 정합니다.
서버 · 인프라 심화
예약한 글이 정시에 안 나오는 이유는 대개 코드가 아니라 구조입니다. 워드프레스의 크론은 방문 요청에 얹혀 돌기 때문에, 조용한 사이트에서는 아무것도 실행되지 않습니다.
개발 워크플로우 심화
전면적인 테스트 스위트가 없어도 CI 는 값을 합니다. 문법 · 코딩 표준 · 빌드 대조 · 부팅 스모크 넷이 현실적인 출발점입니다.
보안 실무
/wp-json/wp/v2/users 는 로그인하지 않아도 열립니다. 거기 실린 slug 는 대개 로그인 아이디이고, 그러면 공격자는 비밀번호 하나만 남겨 두게 됩니다.
서버 · 인프라 실무
완성된 HTML 을 보관하는 계층은 PHP 앞에 있어야 값을 합니다. 서버 캐시 위에 플러그인 캐시를 얹으면 무효화 타임라인이 둘이 됩니다.
개발 워크플로우 심화
등록은 세 줄이면 끝나고, 문서 주석이 그대로 도움말이 됩니다. 실제로 신경 써야 하는 것은 log · warning · error 중 무엇을 부르느냐입니다 — error 는 실행을 멈춥니다.
테마 · 플러그인 실무
관련 글 목록을 넣었더니 그 아래의 모든 것이 엉뚱한 글을 가리킵니다. 템플릿 문제처럼 보이지만 원인은 빠뜨린 한 줄입니다.
개발 워크플로우 실무
remove_action 은 실패해도 아무 말을 하지 않습니다. 이름이 틀렸는지 우선순위가 다른지 아직 등록 전인지 구분되지 않으므로, 반환값을 보는 습관이 절반의 해결입니다.
개발 워크플로우 실무
세 방식은 속도가 아니라 되돌리기 이야기로 갈립니다. "어떻게 올리나" 보다 "어떻게 되돌리나" 를 먼저 정하면 선택이 쉬워집니다.
보안 실무
외부 서버에는 쿠키도 nonce 도 없습니다. 검증은 서명이나 공유 키로 하고, hash_equals 로 비교하며, 서명은 반드시 원본 바디에 대고 계산합니다.