전문 PHP 개발자가 되려면 어떻게 해야 하나요? 수석 웹 개발자 Bruno Skvorc는 자신의 블로그에서 몇 가지 통찰력을 공유했습니다. Bruno Skvorc는 다양한 PHP 관련 블로그, Quora 질문, Google 커뮤니티, 뉴스 및 잡지를 읽으면서 논의된 문제가 양극화되어 있음을 발견했습니다. 예를 들어, "mysql 데이터베이스에 어떻게 연결합니까?" 또는 "서버를 추가하지 않고도 이메일 시스템에서 시간당 백만 개가 넘는 이메일을 보낼 수 있도록 하려면 어떻게 해야 합니까? Bruno Skvorc는 PHP 사용 능력에 따라 사용자를 초급, 중급, 전문가 및 엘리트의 네 가지 범주로 나눕니다. 양극성PHP 언어에서 초보 사용자는 일부 변수, 포함, 양식 처리 등을 사용하게 됩니다. 또한 몇 가지 간단한 논리적 구조도 배우게 됩니다. 튜토리얼의 도움으로 PHP를 사용하여 이메일을 보낼 수 있고 객체 지향 프로그래밍의 몇 가지 예를 접할 수도 있지만 물론 그 뒤에 숨어 있는 원칙을 반드시 이해하지는 못할 수도 있습니다. 그들은 WordPress를 사용하고 일부 CSS 클래스를 수정합니다. 그들은 이 지식을 가지고 일자리에 지원했지만 불행하게도 거절당했습니다. PHP 전문 사용자는 다양한 프로젝트에 생기를 불어넣을 수 있습니다. 그들은 많은 프레임워크를 사용하여 비즈니스 애플리케이션을 개발하고, 다양한 데이터베이스를 효율적으로 사용하고, 다양한 세미나에 참석하고, 다양한 디자인 패턴을 배우고, 프로세스 설계부터 최종 운영까지 전체 프로젝트를 쉽게 개발합니다. 그들은 오랫동안 절차적 프로그래밍 패러다임에서 벗어났습니다. 엘리트 프로그래머는 10,000시간 동안 전설적인 교육을 받은 전문가입니다. 그들은 자신이 배포하는 PHP의 기능을 확장하기 위해 자신만의 확장 기능을 작성합니다. 그들은 소스 파일을 대충 훑어보는 것만으로도 버그를 잡을 수 있습니다. 특히 코드 레이아웃에 대해 매우 복잡한 프로젝트를 인식하고 다른 사람들이 문제를 인지하기 전에 문제를 해결할 수 있는 창의적인 대안을 찾습니다. 그들은 또한 PHP 언어에 관한 베스트셀러 책을 집필하고, 수많은 세미나에서 연설하고, 자신만의 PHP 포크나 매우 성공적인 프레임워크를 하나 또는 두 개 만들 수도 있습니다. 그렇다면 중급유저는 어디에 있나요? 누락된 링크프로그래머는 어떻게 주니어 레벨에서 프로 레벨 또는 그 이상 레벨로 발전할 수 있나요? 사람이 기본적인 프로그래밍 지식만 갖고 있다면 어떻게 기술을 향상하고 나쁜 습관을 버리고 고급 방법을 사용하여 연습할 수 있습니까? Bruno Skvorc는 초보자로부터 종종 이런 질문을 받습니다. 전문 프로그래머가 되려면 먼저 중급 PHP 프로그래머가 되어야 합니다. 다음 목록은 PHP를 원활하게 사용할 때 주의해야 할 몇 가지 측면을 지적합니다. 스파게티 코드 포기많은 사람들이 클래스를 사용하면 객체지향 코드를 작성하고, 함수를 사용하면 절차적 코드를 작성한다고 생각합니다. 큰 실수입니다! 넓은 정의를 검토해 보겠습니다. 절차적 코드는 클래스와 개체를 사용하지 않는 코드이고, 개체 지향 코드는 가능한 한 많은 클래스와 개체를 사용하는 코드입니다. Bruno Skvorc의 제안은 절차적 코드를 완전히 포기하는 것입니다. 가능한 한 객체 지향 스타일을 사용하십시오. 클래스 작성, 논리 캡슐화, 실제 용어로 생각하십시오. 재사용성을 고려하면 클래스 기반 코드에 비해 절차적 코드의 성능 이점은 무시할 수 있습니다. 적절한 OOP 코드를 사용하면 미래의 개발자가 프로젝트를 이어받을 수 있습니다. 일반적으로 사람들은 다음과 같이 반박할 것입니다: "하지만 WordPress는 절차적입니다!" 솔직히 말해서 (아마도 불쾌할 수도 있지만) WordPress 개발자가 PHP 개발자라면 Instagram 개발자는 사진작가입니다. 그렇다고 WP가 유용하지 않다는 의미는 아닙니다. 블로그, 간단한 웹 사이트 및 일일 프로젝트의 경우 WP가 훌륭합니다. WP를 이용하면 빠르게 돈을 벌 수 있고, 기술적인 지식이 많지 않은 사용자에게도 매우 유용합니다. 하지만 WP에 능숙하다고 해서 전문 PHP 개발자라는 의미는 아닙니다. 이는 합리적인 디자인 원칙을 가르쳐줄 수 없는 스파게티 코드 덩어리일 뿐입니다. 작게 시작하세요. 실제 개념에 대해 생각하고 이를 객체 지향 코드로 표현해 보십시오. 몇 가지 기본 튜토리얼을 배운 다음 천천히 고급 레벨로 진행하세요. 클래스를 완전히 이해할 때까지 객체지향 프로그래밍을 연습하세요. 그 전에는 MVC와 같은 다양한 프레임워크와 추상적인 용어를 서두르지 마세요. 기존 프로젝트 살펴보기소스 코드를 어디서 보든 주의 깊게 연구하세요. 예를 들어, Github에서 PHP 프로젝트를 찾아 복제하고 자신의 컴퓨터에 배포한 후 수정해 보세요. 그 의미를 실제로 이해할 때까지 파일에서 파일로, 한 줄씩 이동하십시오. PHP 환경 구축 방법 알아보기PHP 환경을 구축하는 것도 귀중한 기술입니다. 이를 통해 자신의 구성을 조정하고 최적화할 수 있을 뿐만 아니라 소스에서 플러그인을 구축하는 데 익숙해질 수도 있습니다. Windows에서 개발하지 마세요. 기본 데스크톱이 Windows인 경우 가상 머신 소프트웨어를 설치한 다음 Linux 가상 머신을 실행해야 합니다. Windows에는 대부분의 서버 환경과 달리 대소문자 구분, 줄 끝 및 이상한 특징이 있습니다. 당신에게 문제를 일으키는 원인이 됩니다. 그래서 서버와 비슷한 환경에서 개발하는 것이 가장 좋습니다. 가상 머신은 실험에도 좋습니다. 문제가 발생하면 다시 시작하거나 롤백할 수 있습니다. 모든 것을 망칠까 봐 걱정하지 않고 실험해 볼 수도 있습니다. 도구를 사용하는 방법을 아는 것도 중요하지만, 좋은 작업 플랫폼을 갖는 것도 마찬가지로 중요합니다. 자신의 환경을 실험해 보면 Nginx나 Apache를 사용할지, Appserver를 사용할지 등 다양한 서버에 익숙해질 수도 있습니다. 모범 사례를 조기에 적용자신만의 코드를 작성할 때는 주석을 자세히 달고, 들여쓰기를 완벽하게 하고, 구조를 세심하게 작성하세요. 클래스, 프로젝트, 라이브러리를 구축한 후 잘 알려진 문서 도구(PHPDocumentor, ApiGen)를 사용하여 문서를 추출하고 개선합니다. 좋은 IDE는 가치가 있습니다. 크로스 플랫폼 편집기에 익숙해지면 키보드 단축키와 테마를 설정하는 데 시간을 낭비하는 대신 새로운 환경을 설정한 후 즉시 코드를 시작하는 데 도움이 됩니다. IDE 구성 파일을 클라우드(예: Google 드라이브)에 저장하면 시스템을 새로 설치하는 경우에도 쉽게 가져올 수 있습니다. Bruno Skvorc는 두 개의 크로스 플랫폼 IDE인 PHPStorm과 Netbeans를 권장하며, 후자는 무료입니다. 모범 사례를 조기에 적용하면 프로젝트 전반에 걸쳐 일관성을 유지하고 다른 사람들이 코드를 유창하게 읽는 데 도움이 될 수 있습니다. 자신의 스타일을 찾아 고수하세요. 이는 자신과 다른 사람들에게도 도움이 될 것입니다. PSR 표준(PSR-0, PSR-1, PSR-2, PSR-3)을 최대한 엄격하게 따르십시오. 표준은 단지 이름만 있는 것이 아닙니다. 대부분의 사람들은 이러한 표준을 따르고 모든 사람의 코드에 대한 재사용성과 가독성을 높이기 때문에 이를 좋아합니다. PHP Tao는 초보자에게 시기 적절한 지침을 제공하는 매우 유용한 리소스입니다. 이 책을 통해 최신 모범 사례, 객체지향의 기본 개념, 보안, 배포, 코딩 표준 등에 익숙해질 수 있습니다. 다양한 프레임워크를 시도한 후 선택하세요.오랫동안 PHP는 프레임워크가 가장 많은 프로그래밍 언어였습니다(최근에는 JavaScript가 따라잡았습니다). 이것이 커뮤니티의 분열을 의미하는지, 아니면 언어의 인기를 의미하는지 말하기는 어렵습니다. 그러나 사실 프레임워크를 선택하는 것은 혼란스러울 수 있으며, 특히 막 시작하는 경우에는 더욱 그렇습니다. Bruno Skvorc는 대부분의 프레임워크를 사용해 본 후 안정적이고 품질이 뛰어난 Phalcon 프레임워크를 추천합니다. 실제로 Phalcon은 C언어로 작성되었으며 PHP 확장으로 설치가 가능하기 때문에 기존 프레임워크보다 빠릅니다. 그럼에도 불구하고, 다양한 프레임워크를 시도해 볼 가치가 있습니다. 다양한 프레임워크를 사용해 보면 매번 일반적인 문제를 해결하는 새로운 방법을 배우게 됩니다. 각 프레임워크에는 고유한 기능과 함정이 있지만 가장 중요한 것은 다른 사람(주로 프레임워크 개발자)의 아이디어를 배울 수 있다는 것입니다. 새로운 사용법과 접근 방식을 접하게 될 것이며 찾을 수 있는 모든 프레임워크를 사용하여 프로젝트를 리팩터링하는 것은 훌륭한 연습입니다. 이는 특정 프레임워크의 효율성, 즉 개발 속도와 성능을 효과적으로 측정하는 데 도움이 됩니다. 읽다다른 사람이 제공한 팁과 제안을 절대 무시하지 마세요. 가능한 한 많이 읽으십시오. 좋은 블로그를 구독하고, 웹사이트에서 튜토리얼을 읽고, StackOverflow에서 Q&A를 읽고, 메일링 리스트를 구독하고, Google에서 고품질 리소스를 팔로우하세요. 하지만 PHP 기본 튜토리얼 책은 피하세요. 이 책들은 빨리 구식이 될 것입니다. 대신 유용한 최신 코드 조각과 온라인 튜토리얼에 집중하세요. 이미 다루었던 주제라도 다시 읽을 수 있고, 다른 사람의 관점에서 새로운 아이디어를 얻을 수도 있습니다. 일자리가 없다면 일자리를 만들어라항상 할 일이 있습니다. 스스로에게 "프로젝트가 없어요"라고 말하지 마세요. "심심해요"라고 말하지 마세요. 작업할 프로젝트를 찾을 수 없다면 새로운 프로젝트를 시작하세요. 매일 사용하는 도구에 특정 기능이 없어서 답답하시나요? 더 나은 대안을 만들어보세요! 새로운 제품에 대한 아이디어가 없나요? 그런 다음 기존 아이디어를 반복합니다. 기본 Facebook을 다시 구축하고 이미 알고 있는 몇 가지 프로젝트를 다시 만들어 연습해 보세요. 가장 중요한 것은 절대 멈추지 않는 것입니다. 멈추면 놀라운 10,000시간을 가질 수 없습니다! 계속 일하고, 관심을 유지하고, 계속 투자하십시오. 간단한 주소록 애플리케이션을 만들어 보세요. 그런 다음 다른 프레임워크를 사용하여 리팩터링합니다. 그런 다음 데이터베이스를 변경합니다(예: MariaDB를 Mongo로). 바쁘게 지내세요! 파트너나 멘토 찾기다른 사람과 함께 일하면 학습이 더 쉬워집니다. 당신의 열정을 공유할 파트너를 찾으세요. 아마도 당신은 당신의 괴상한 관심사를 공유하는 파트너를 찾을 수 있는 행운의 소수 중 하나일 것입니다. 어쩌면 당신은 학교에 있고 공부를 시작하고 싶지만 파트너가 필요한 동반자를 찾을 수 있습니다. 멘토를 찾고 전문적인 지도를 받을 수도 있습니다. 동료애의 힘을 결코 과소평가하지 마세요! 결론적으로위에서 언급한 다양한 방법들을 집중적으로 실천한다면 당신은 전문적인 PHP 개발자가 되는 길에 들어섰습니다. 원칙을 고수하고, 절대 포기하지 말고(주변의 다른 사람들이 포기하더라도) 계속 연습하세요. PHP 전문가의 원본 텍스트: The Missing Link |