WordPress Comfort Zone을 벗어나서 얻은 교훈
게시 됨: 2020-01-072018년 늦여름이었습니다. 저는 워드프레스 세계에서 더 이상 제가 어디에 적합할지 확신이 서지 않는 늙어가는 개발자였습니다. 저는 10년 넘게 제 경력을 시작한 플랫폼의 안팎을 배우는 데 보냈고 제가 다루고 싶은 다른 애완 동물 프로젝트의 취미이기도 했습니다.
부분적으로 나는 지루했다. 새로운 도전이 필요했습니다.
나는 워드프레스를 사랑한다. 그 이상으로 저는 WordPress를 통해 수년 동안 제가 성취할 수 있었던 것에 감사합니다. 그러나 나는 더 이상 내 개인 블로그에 만족하지 않았습니다. 그것은 작업에 적합했지만 종종 내가 필요한 것보다 훨씬 더 많은 장치와 장치가 있다는 것을 알았습니다. 나는 또한 고전적인 편집기가 아닌 Markdown에서 수년 동안 블로그 게시물을 작성했습니다. WordPress는 더 이상 내 블로그 워크플로의 일부가 아니었습니다. 때로는 방해가 되기도 했습니다.
도전이 수락되었습니다.
주말 동안 나는 작동하는 맞춤형 블로그 시스템을 구축했습니다. CMS의 핵심인 관리 인터페이스와 같은 중요한 기능이 없기 때문에 CMS(콘텐츠 관리 시스템)라고 부르기가 꺼려집니다. 그럼에도 불구하고 이틀 만에 처음부터 작업 시스템을 구축했습니다.
WordPress가 내 프로그래밍 경력의 대부분을 위해 아낌없이 제공한 유용한 기능과 도구에 의존하지 않고 이러한 위업을 달성할 수 있는지 전혀 몰랐습니다. esc_attr() 또는 esc_html() 을 실수로 입력한 횟수는 워드프레스 기능이라는 것만 기억하기 위해 셀 수 없습니다. 내 워드프레스 근육 기억력은 강했습니다. 나도 모르는 사이에 워드프레스를 기반으로 구축하면서 배운 모든 것이 저를 더 다재다능한 PHP 개발자로 만들었습니다. 핵심 WordPress에서 작업하지 않은 API가 거의 없습니다. 나는 많은 소스 코드를 이해했고 많은 레거시 쓰레기에 대한 이유를 알고 있었습니다.
내 개인 프로젝트는 WordPress의 성능에 비해 창백했고 오늘날에도 여전히 그렇습니다. 그러나 그것은 나를 내 안락 지대 밖으로 옮겼습니다. 이를 통해 새로운 방식으로 오래된 아이디어를 탐색할 수 있었습니다.
한 가지 예는 재작성 규칙 및 라우팅이 작동하는 방식을 이해하는 것입니다. 내 친구 중 일부와 나는 최근 아무도 WordPress Rewrite API를 제대로 이해하지 못한다고 농담했습니다. 무언가가 작동하고 새 코드가 더 이상 사이트를 손상시키지 않을 때까지 만지작거리기만 하면 됩니다. 많은 기존 라이브러리가 있지만 이것이 내 자신의 교화를 위해 어떻게 작동하는지 이해하고 싶었습니다. 따라서 HTTP 요청, 라우터 및 컨트롤러 클래스를 구축하기 시작했습니다. 최종 결과는 다른 PHP 프레임워크에서 많이 차용한 우아한 솔루션이었습니다.
"책" 콘텐츠 유형을 설정하기 위해 아래와 같이 간단한 코드 줄을 사용하여 책 페이지에 대한 수신 요청을 처리하고 이를 올바른 리소스에 매핑하고 프런트 엔드에서 템플릿을 출력할 수 있습니다. 나는 왜 내가 개발자로서 수년 동안 이 기본적인 웹사이트 개념을 외면했는지 궁금해지기 시작했습니다.
// Create 'example.com/books/book-name'. $this->router->get( 'books/{name}', Controller::class );작업을 수행하는 "WordPress 방식"에 의문을 제기하기 시작한 다른 영역이 많이 있습니다. 이 발견의 여정 동안 나는 WordPress 프로젝트에서 사용하기 위해 다시 가져올 수 있는 것들을 배울 수 있었습니다. 웹사이트 개발이라는 더 큰 세계에 발을 들여놓음으로써 나는 프로그래밍과 사랑에 빠지도록 도운 플랫폼의 결함을 더 잘 볼 수 있었습니다. 그러나 지난 15년 동안 수천 명의 개발자가 계속 실행해 온 시스템의 아름다움을 더 잘 볼 수 있었습니다.

코드가 전부는 아닙니다
Laravel 및 Symfony와 같은 대규모 프레임워크를 연구하고 배울 기회가 있었습니다. 그러나 순수한 사용자 경험 관점에서 다른 플랫폼이 어떻게 작동하는지 연구했습니다.
내가 확실히 알고 있는 한 가지는 Markdown으로 작성한 사람들을 위해 만들어진 플랫폼을 테스트하고 싶었다는 것입니다. 나는 Joomla나 Drupal과 같이 WordPress의 힘과 경쟁할 거대한 플랫폼을 찾고 있지 않았습니다. 대신 Grav, Jekyll 및 Hugo와 같은 더 가벼운 솔루션을 찾고 있었습니다. 사용자 경험이 내 워크플로에 어떻게 맞는지 이해하고 싶었습니다.
내가 테스트한 모든 솔루션 중에서 각각의 장점이 있었습니다. 각각 내 취향에 맞지 않는 일을하는 기능이나 방법도있었습니다. 이 경험의 좋은 점은 내 블로깅 플랫폼이 어떻게 작동하기를 원하는지 확인할 수 있다는 것입니다. 해당 커뮤니티의 다른 사람들의 생각을 읽으면서 WordPress 커뮤니티 외부의 사용자로부터 선호하는 블로깅 시스템을 좋아하는 이유에 대해 들을 수 있었습니다.
나는 앞으로 병사했다. 그 플랫폼에서 배운 것을 사용하여 사용하기 좋은 것을 만들었습니다. 그것은 완벽하지 않았고 아마도 결코 없을 것입니다. 성장의 여지는 나쁜 것이 아닙니다.
이 기간 동안 나는 WordPress로 블로그에 대한 나의 사랑을 다시 불태웠습니다. 항상 대중적인 의견은 아니지만 블록 편집기는 클래식 편집기보다 도약과 한계를 더 잘 느꼈습니다. 꾸준히 사용하는 모습을 볼 수 있었습니다. 제 개인 블로그 외에도 다른 프로젝트에서 사용하기 시작했습니다. 나는 여전히 매일 Markdown으로 글을 씁니다. 그러나 몇 년 만에 처음으로 WordPress의 편집기 내에서 글쓰기를 즐기는 자신을 발견했습니다.
새로운 플랫폼을 시도해야 하는 이유
개발자의 관점에서 안주하고 단일 시스템에 의존하는 것은 좋은 생각이 아닙니다. 스스로를 "WordPress 개발자"라고 부르지 말고 그 용어 이상으로 생각하십시오. 대신 PHP 프로그래머 또는 JavaScript 프로그래머여야 합니다. 또는 더 나은 방법은 단순히 자신을 프로그래머라고 부르는 것입니다. 프로그래머는 문제를 해결합니다. 도구 또는 언어는 A 지점에서 B 지점으로 이동하는 데 사용하는 것입니다.
직업 시장에서 보다 다재다능한 프로그래머가 되는 것은 더 많은 기회를 열어줍니다. 우리 대부분은 WordPress가 향후 10년, 20년 또는 50년 동안 최고의 플랫폼이 되기를 바랄 뿐이지만 미래에 대비해야 합니다.
때때로 다른 플랫폼과 작업할 때의 또 다른 이점은 WordPress 생태계로 다시 가져올 수 있는 아이디어를 배울 수 있다는 것입니다. 예를 들어, Sage 스타터 테마가 Laravel Blade의 템플릿 엔진을 어떻게 구현하는지 보는 것은 흥미로울 것입니다. 이러한 아이디어는 WordPress의 미래를 형성하는 데 도움이 될 수 있습니다.
일부 아이디어는 핵심 WordPress에 푸시할 수 있습니다. 다른 사람들은 에이전시 내에서 팀 워크플로를 개선할 수 있습니다.
지속적인 교육은 WordPress 커뮤니티 전체에 도움이 됩니다. 해당 교육을 WordPress 관련 아이디어로 제한하지 마십시오. 외부에서 배우고 다시 가져오십시오.
