원래 주소: http://nettuts.com/tutorials/php/10-principles-of-the-php-masters/
번역 및 편집: Andrew, 재인쇄해야 할 경우 출처를 표시해 주세요.
1. 적절할 때 PHP를 사용하세요 - Rasmus Lerdorf
PHP의 창시자인 Rasmus Lerdorf는 PHP를 어디에 더 합리적으로 사용해야 하는지 이해하지 못합니다. 그는 1995년에 PHP 언어를 출시했습니다. 그 이후로 PHP는 초원의 불길처럼 전체 개발 캠프를 불타오르게 했습니다. 인터넷. 그러나 Rasmus는 이러한 이유로 PHP를 만들지 않았습니다. PHP는 웹 개발자의 실질적인 문제를 해결하기 위해 탄생했습니다.
많은 오픈 소스 프로젝트와 마찬가지로 PHP도 대중화되었습니다. 인기를 얻은 이유는 일반적인 철학으로는 설명할 수 없으며, 심지어 자칭 감탄할 정도로 인기가 높습니다. 다양한 웹 문제를 해결하기 위한 도구의 필요성으로 인해 발생하는 케이스, 케이스로 사용할 수 있습니다. 따라서 PHP가 처음 등장했을 때는 이러한 모든 도구 요구 사항이 PHP에 집중되었습니다.
그러나 PHP가 모든 문제를 해결할 것이라고 기대할 수는 없습니다. Lerdorf는 PHP가 단지 도구일 뿐이며 PHP가 그 능력을 넘어서는 상황이 많다는 것을 처음으로 인정했습니다.
작업에 적합한 도구를 선택하십시오. 나는 PHP를 배포하고 사용하도록 설득하기 위해 많은 회사를 방문했지만 이것이 PHP가 모든 문제에 적합하다는 것을 의미하지는 않습니다. 이는 대부분의 문제를 해결할 수 있는 프런트엔드 스크립팅 언어일 뿐입니다.
웹 개발자로서 PHP의 모든 문제를 해결하려고 하는 것은 비과학적이고 시간 낭비입니다. PHP가 작동하지 않으면 주저하지 말고 다른 언어를 시도해 보세요.
2. 다중 테이블 저장소를 사용하여 확장성 향상 - Matt Mullenweg
PHP에 대한 Matt Mullenweg의 권위에 의문을 제기하는 사람은 아무도 없습니다. 그는 WordPress를 만든 후 지구상에서 가장 인기 있는 블로그 시스템(강력한 커뮤니티의 지원을 받음)을 개발했습니다. 그의 팀은 WordPress MU를 기반으로 하는 무료 블로그 사이트인 WordPress.com 플랫폼을 출시했습니다. 현재 WordPress.com에는 약 400만 명의 사용자가 있으며 매일 140,000개 이상의 게시물을 게시하고 있습니다. (더 많은 WordPress.com 통계를 보려면 여기를 클릭하십시오.)
웹 사이트를 쉽게 확장하는 방법을 아는 사람이 있다면 Matt Mullenweg가 될 것입니다. 2006년에 Matt는 WordPress의 데이터 구조를 미래 지향적으로 개선했으며 WordPress MU가 모든 블로그 데이터를 하나의 거대한 테이블에 저장하는 대신 각 블로그에 독립적인 MYSQL 테이블을 사용하는 이유를 설명했습니다.
우리는 이 접근 방식을 테스트했지만 확장하기에는 비용이 너무 많이 든다는 사실을 발견했습니다. 전체 데이터 구조를 사용하면 트래픽이 많아지면 서버 하드웨어 문제에 직면하게 됩니다. 뮤 내부. 사용자는 별도의 테이블에 분산되어 쉽게 구성할 수 있습니다. 예를 들어 WordPress.com은 4,096개의 데이터베이스에 사용자 데이터를 저장합니다. 이러한 데이터베이스는 대규모 데이터 액세스를 분산시키고 트래픽과 압력을 분산시킬 수 있습니다.
데이터 테이블의 이식성을 통해 코드(블로그)가 더 빠르게 실행되고 시스템의 확장성이 향상됩니다. 강력한 캐싱 전략과 유연한 데이터베이스 활용 전략을 바탕으로 Matt는 가장 인기 있는 Facebook과 WordPress.com이 PHP에서 안정적으로 실행되고 엄청난 양의 트래픽을 처리할 수 있다는 것을 사람들에게 보여주었습니다.
3. 절대 사용자를 믿지 마세요 - Dave Child
Dave Child는 다양한 프로그래밍 언어에 대한 뛰어난 치트 시트로 유명한 사이트인 Added Bytes(이전 ilovejackdaniels.com)의 핵심입니다. Dave는 영국의 여러 회사에서 근무하며 프로그래밍 세계의 권위자로 자리매김했습니다.
Dave는 "PHP로 보안 코드 작성"에 요약되어 PHP 개발자를 위한 많은 사려 깊은 조언을 제공합니다. 사용자를 믿지 마십시오. 사용자가 해를 끼칠 수도 있습니다.
반복할 수 없는 웹 개발의 기본 원칙이 있습니다. 절대 사용자를 신뢰하지 말고 웹 사이트의 모든 데이터 단위가 사용자로부터 수집된 악성 코드라고 가정하십시오. 클라이언트에서 양식으로 제출된 콘텐츠를 확인하려면 JavaScript를 사용해야 하는 경우가 많습니다. 이에 익숙하다면 이는 좋은 습관입니다. 보안이 중요하다면 이것이 배워야 할 가장 중요한 원칙입니다.
Dave는 현재 "Writing Secure PHP" 시리즈의 예제를 편집하고 있습니다. 책의 마지막 부분에서 그는
다음과 같이 말했습니다. 귀하의 사이트가 결코 공격을 받지 않을 것이라고 생각하지 않는 한, 문제에 정면으로 맞서십시오. 왜냐하면 그런 일이 발생하면 나쁜 상황에 처하게 될 것이기 때문입니다. 모든 사용자를 사이트에 대한 공격과 방어를 수행할 해커로 간주하고 사이트의 보안을 보호하기 위해 가능한 모든 조치를 취하는 동시에 해당 문제에 대한 해결책을 생각해야 합니다.
4. PHP 캐싱을 더 많이 사용하세요 - Ben Balbo
Ben Balbo는 개발자와 디자이너에게 지침을 제공하는 웹사이트인 Site Point를 개발합니다. 그는 Melbourne PHP 개발 및 오픈 소스 클럽의 회원이므로 PHP에 대해 어느 정도 이해하고 있으며 PHP 캐싱에 대한 특정 아이디어와 경험을 갖고 있습니다.
트래픽이 많지만 자주 업데이트되지 않는 사이트(예: 일종의 CMS 기반 블로그)가 있는 경우 약간의 수정이 필요할 수 있습니다. 이러한 수정에는 시간이 많이 걸리지 않지만 상당한 효과가 있습니다. 성과에 기여 . 복잡하고 빠르게 업데이트되는 사이트에 대한 캐싱 메커니즘을 구축하려는 경우 프로세스가 힘들 수 있지만 이점은 분명합니다.
많은 PHP 캐싱 기술이 있습니다. Ben은 다음과 같은 기술을 추천했습니다.
캐싱 기능 실행 결과 만료 시간 설정 캐싱 파일 템플릿 캐싱 IE에서 다운로드한 기술
Cache_Lite
동적 언어인 PHP의 특성으로 인해 자주 업데이트되지 않는 사이트에는 캐싱 메커니즘이 매우 중요합니다.
5. IDE, 템플릿 및 코드 조각으로 PHP 개발 가속화 - Chad Kieffer
Chad Kieffer가 UI 디자인 및 데이터베이스 최적화 작업에서 벗어나 있을 때 그는 자신의 블로그에서 많은 기술적 경험을 공유할 것입니다. Chad는 여러 면에서 포괄적인 개발을 했기 때문에 다른 프로그래머가 찾을 수 없는 문제를 발견하고 관련 경험을 쌓는 경우가 많습니다. 특히 그의 웹 사이트 개발 방법은 더욱 그렇습니다. 그는 웹사이트 개발의 모든 측면에 참여하고 있으므로 그의 조언은 웹사이트 개발의 큰 그림을 개선하는 데 매우 유용합니다.
Chad는 Eclipse PDT를 사용하여 생각합니다.
(Eclipse의 PHP 개발 패키지) 이러한 IDE는 일부 템플릿 기술과 오픈 소스 프로젝트를 사용하면서 PHP 개발 속도를 효과적으로 높일 수 있습니다.
빡빡한 계획, 긴 할일 목록, 기한 등은 개발자를 매우 좌절하게 만듭니다. 그러나 Eclipse 템플릿과 같은 일부 기능은 코딩 시간과 오류 가능성을 효과적으로 줄일 수 있습니다.
일반적으로 모든 프로젝트는 자동화될 수 있으며, 자동화 정도가 높을수록 프로젝트를 완료하는 데 걸리는 시간이 단축됩니다. 자주 사용되는 프레임워크와 템플릿을 개발하는 데 시간을 투자하면 나중에 더 많은 시간을 절약할 수 있습니다. 동시에 Eclipse 및 PDT 패키지와 같은 IDE를 사용하면 효율성이 크게 향상됩니다. IDE는 자동으로 세미콜론을 닫고 로컬에서 디버그할 수 있습니다.
관련 게시물:
WordPress가 2.3.2로 성공적으로 업그레이드되었습니다. 태그는 나에게 쓸모가 없지만 보안상의 이유로 여전히 업그레이드했습니다. 2년 전의 2.0.5에서 현재의 2.3.2로의 업그레이드 사본이 꼭 필요합니다. 용기와 결단력, 다행히 로컬에서 업그레이드를 실행할 때는 문제가 없었지만 템플릿의 기능에는 몇 가지 간단한 수정이 필요했습니다. 온라인 업그레이드는 순조롭게 진행됐는데, 방금 업그레이드 방법에 대해 도움을 요청하는 글을 올리지 않았는지 궁금해하시는 분들이 많을 텐데요. 저는 최고의 도구인 WordPress 자동 업그레이드 플러그인을 찾았습니다. 이 WordPress 자동 업그레이드 플러그인은 업그레이드하기 전에 모든 파일과 데이터를 백업해 주기 때문에 업그레이드에 대한 걱정이 전혀 없습니다. "." 유형은 업그레이드에 대해 걱정하고 싶지 않은 블로거에게 매우 적합하다고 생각합니다. 그러나 업그레이드 후 내보내기 기능에 문제가 있습니다. 이 문제가 일반적인 것인지, 아니면 내 블로그의 문제인지는 알 수 없습니다. 같은 문제가 발생한 친구는 메시지를 남겨주시면 해결 방법을 찾아보겠습니다. (조사 결과, Coolcode 플러그인의 접근 경로에 문제가 있는 것으로 밝혀졌습니다. 이 플러그인의 활성화를 취소해야만 내보내기 기능을 정상적으로 사용할 수 있습니다.)...
워드프레스 2.0에서 업그레이드 해본 경험 있으신 분 계시나요? 오늘 wordpress-2.3.2를 다운받았는데 원래 업그레이드 하려고 했는데 버전리프도 꽤 크고 업그레이드도 꽤 번거로운 것 같더군요. 리스크가 너무 커서 일단 포기했습니다. 친구가 WordPress를 2.0에서 2.3으로 업그레이드한 경험이 있습니다. ...
번역: "14가지 훌륭한 웹마스터 도구"(2부) 원문: http://www.conversion-rate-experts.com/articles/understanding-your - 방문자/ 이 기사는 Andrew( http://www . achome.cn )은 독립적으로 번역되었습니다. 재인쇄가 필요한 경우 출처를 표시해 주세요. 유저들이 최고의 홍보, 영업사원, 어떻게 홍보하는지 들어보세요, 친구소개왕, 유저 추천 시스템이 있나요? 사용자가 친구를 초대하기 위해 메시지를 보낼 수 있는 시스템입니다. 이들 사용자가 보낸 편지에는 "사용자가 귀하의 웹사이트에 돈을 쓰는 이유는 무엇입니까?"라는 질문에 대한 답변이 포함되어 있음을 알 수 있습니다. 많은 사람들이 자신을 포지셔닝하고 매력적인 광고 단어를 개발하는 데 많은 시간을 소비하지만, 사용자 사용후기를 통해 사용자가 귀하를 선호하는 이유를 알 수 있습니다. 사용자 피드백을 쉽게 수집할 수 있는 Kampyle – 지금 사용해 보세요! Kampyle을 사용하면 사용자가 웹사이트에 사용자 피드백을 제출할 수 있습니다(페이지 하단의 작은 버튼을 통해). 사용자가 의견을 입력할 수 있는 창이 나타납니다. 제안. 웹마스터는 Kampyle의 공식 웹사이트에 로그인하여 수집된 사용자 피드백을 확인하고 관리할 수 있습니다. 사용자가 이메일 주소를 남기면 웹마스터는 사용자에게 피드백을 받았음을 쉽게 알리고 이에 따라 개선할 것입니다. ...
6. PHP의 필터 기능을 잘 활용하세요 - Joey Sochacki
Joey Sochacki는 Matt Mullenweg만큼 유명하지는 않지만 경험이 풍부한 개발자이기도 하며 자신의 블로그 Devolio를 통해 많은 기술적 경험을 공유하고 있습니다.
Joey는 PHP 코드 작성을 발견했습니다
.그 과정에서 필터링이 필요한 곳은 많지만 PHP에 내장된 필터링 기능에 주의를 기울이는 코더는 많지 않습니다.
데이터 필터링은 우리가 자주 수행해야 하는 작업이지만 기능이 풍부한 PHP 내장 필터링 기능은 많이 알려져 있지 않습니다. filter_*와 같은 PHP 내장 함수를 사용하면 데이터 유형 유효성 검사/URL/이메일 및 IP 주소 유효성 검사/특수 문자 처리 등을 포함한 거의 모든 필터링 작업을 처리할 수 있습니다.
필터링은 복잡한 일이지만 Joey의 발견이 여러분에게 많은 영감을 주고 PHP의 강력한 필터링 기능을 깨닫게 해줄 것이라고 믿습니다.
7. PHP 프레임워크 사용 - Josh Sharp
Zend, CakePHP, Code Igniter 또는 기타 PHP 프레임워크를 사용해야 하는지에 대해 많은 논란이 있었지만 웹 개발자의 마음 속에는 그들만의 측정 표준이 있습니다.
Josh Sharp는 자신만의 기본 웹사이트를 만들었기 때문에 PHP 프레임워크를 사용하여 웹사이트를 개발한 경험이 있습니다. 그는 프로젝트 개발에 PHP 프레임워크를 사용하면 시간을 효과적으로 절약하고 오류 가능성을 줄일 수 있다고 믿습니다. 왜? 그는 PHP를 시작하기가 정말 쉽다고 느꼈기 때문입니다.
PHP의 사용 편의성에는 때때로 단점이 있습니다. 왜냐하면 PHP의 느슨한 구문으로 인해 종종 잘못된 코드가 많이 생성되기 때문입니다. 그러나 PHP 프레임워크를 사용하면 오류 가능성이 크게 줄어듭니다.
PHP 프레임워크를 사용하면 코드 구조를 더욱 표준화하고 많은 시간을 절약할 수 있습니다. "PHP 프레임워크 사용의 이점"을 읽고 관련 정보를 얻을 수 있습니다.
8. PHP 프레임워크를 사용하지 마세요 - Rasmus Lerdorf는
Josh의 관점과 정반대입니다. PHP 창시자인 Rasmus Lerdorf는 PHP 프레임워크를 사용하지 않는 것이 가장 좋다고 생각합니다. 프레임워크를 기반으로 하지 않는 PHP가 더 나은 성능을 발휘하기 때문입니다.
Drupalcon 2008에서의 연설에서 Rasmus는 "Hello World" 예제를 사용하여 일부 프레임워크 PHP와 단순 PHP 간의 성능을 비교했습니다. 결과는 프레임워크 PHP의 성능이 훨씬 뒤떨어져 있음을 보여주었습니다.
9. 일괄 처리 사용 - Jack D. Herrington
Jack Herrington은 PHP 세계에 대해 전혀 낯선 사람이 아니며, 유명한 IBM DeveloperWorks에 30개 이상의 기사를 기고하고 "PHP Hacks"라는 책도 출판했기 때문에 진정한 전문가입니다.
Herrington은 백그라운드에서 실행될 수 있는 프로그램 스크립트를 대체하기 위해 일괄 처리 및 Cron을 사용할 것을 권장합니다. 웹 사용자는 온라인 처리를 기다리지 않으므로 일부 항목은 백그라운드에서 처리하는 것이 더 적합합니다.
물론 이는 어떤 경우에는 과잉이지만 Cron, MySQL, PHP 객체 지향 방법 및 Pear::DB를 사용하여 일괄 처리 도구를 만드는 것은 간단한 작업이 아니라는 것을 분명히 알 수 있습니다.
Jack은 cron, PHP 및 MySQL을 사용하여 백그라운드에서 일부 작업을 처리하는 것이 다중 프로세스 비즈니스 로직보다 훨씬 비용 효율적이라고 믿습니다.
나는 두 가지 방법을 모두 시도해 보았고 Cron은 백그라운드 처리를 단순하게 만드는 "Keep It Simple, Stupid"(KISS) 원칙과 매우 일치한다고 생각합니다. 다중 프로세스 비즈니스 로직에 비해 메모리 오버플로 위험이 없습니다. 간단한 배치 스크립트를 만들어 cron에서 실행할 수 있습니다. 이 스크립트는 처리해야 할 작업이 있는지 정기적으로 확인하고 처리 후 자동으로 종료되므로 프로세스가 중단되거나 걱정할 필요가 없습니다. 무한 루프에 빠졌습니다.
10. 시기적절한 오류 보고 활성화 - David Cummings
David Cummings는 CMS 소프트웨어 서비스 제공을 전문으로 하는 회사를 보유하고 있으며 여러 상을 수상했습니다. 그는 PHP 개발 분야에서 매우 풍부한 경험을 갖고 있습니다.
David는 "처음에 배웠으면 좋았을 두 가지 PHP 팁"을 쓴 적이 있습니다. 그 중 하나는 적시에 오류 보고를 활성화하여 많은 시간을 절약할 수 있다는 것입니다.
내가 사람들에게 말하는 가장 중요한 것은 PHP에서 오류 보고를 최대화하라는 것입니다. 왜일까요? PHP는 많은 작은 문제를 숨길 수 있기 때문에
변수가 미리 정의되지 않았고, 사용할 수 없는 변수가 코드 조각에서 참조되고, 정의되지 않은 상수가 사용됩니다. 이러한 요소는 객체를 사용하여 일부 클래스 라이브러리를 작성하지 않는 한 큰 문제처럼 보이지 않을 수 있습니다. 지향적 접근 . 오류 보고 기능을 끄면 코드를 유지 관리하는 데 더 많은 비용이 드는 경우가 많습니다.
오류 보고서는 코드의 문제를 쉽게 찾는 데 도움이 됩니다. 오류 보고서 수준이 충분히 높으면 미묘한 오류를 즉시 발견할 수 있어 전체 디버깅 시간을 절약하는 데 도움이 됩니다.