PHP エンジニアは成長のボトルネックに直面している
まず、ここで言う PHP エンジニアとは、主に PHP を使用して Web システムを開発し、他の言語で働いたことのない人々を指すことは明らかです。私は 3 ~ 4 年の実務経験があり、通常の Web システム (数百万アクセス、1,000 レベル未満のデータ、またはビジネス ロジックが特に複雑ではないもの) を問題なく開発できます。しかし、彼らは次のような間違いを犯すでしょう:
◆ PHP 以外の他の言語を使用しないでください。また、シェル スクリプトをクリックする可能性があります。
◆ PHP を使いこなすのが苦手(ライブラリ以外の PHP マニュアルをあまり読んだことがない)。
◆ 知識ベースは比較的狭いです (需要に直面して、PHP と MYSQL を使用する以外に他のソリューションを知りません)。
◆ PHPのコードは主にプロセス指向であり、オブジェクト指向の実装は複雑すぎて理解しにくいと思います。
これらの PHPer は、高性能、高同時処理、大量のデータを必要とするプロジェクトに遭遇したとき、またはビジネス ロジックが比較的複雑な (システムが複数の分野でビジネス上の問題を解決する必要がある) ときにアイデアが不足します。彼らは問題の本質を分析することができず、技術的な判断力も乏しいため、問題に対する一時的な解決策をすぐに見つけることができますが、多くの場合、継続的な一時的な解決策の中でシステムとそれ自体が段階的に崩壊します。では、どうすれば自分自身を改善できるのでしょうか?より難しいシステムに挑戦するにはどうすればよいですか?
より高い課題はどこにありますか?
私自身の経験に基づいて、誰もが知覚的に理解できるように、いくつかの具体的な課題をリストします。
高性能システムの課題は何ですか?
◆ Webサーバーはどうやって選ぶの? fast-cgi モードを使用する必要がありますか?
◆ リバース プロキシ サービスを使用する必要がありますか?フルメモリキャッシュかハードディスクキャッシュを選択しますか?
◆ 負荷分散は必要ですか?それはアプリケーション層に基づいていますか?それともネットワーク層に基づいていますか? 高い信頼性を確保するにはどうすればよいでしょうか?
◆ PHP コードのパフォーマンスはどうですか? 最適化ツールを使用した後のパフォーマンスはどうですか? パフォーマンスのボトルネックはどこにあるのでしょうか? C の拡張として記述する必要がありますか?
◆ ユーザーアクセスの特徴は、読み取りが多いのか書き込みが多いのか?読み取りと書き込みの分離は必要ですか?
◆ データはどのように保存されますか?書き込み速度と読み取り速度はどれくらいですか? データ量が増えるとアクセス速度はどう変化するのでしょうか?
◆キャッシュの使い方は? 失敗をどう考えるか?データの一貫性を確保するにはどうすればよいでしょうか?
高度に複雑なシステムの課題は何ですか?
◆その事業に該当する分野を特定できますか?それは 1 つですか、それとも複数ですか?
◆業務を合理的に抽象化し、少ないコストで業務ルールの変更を実現できるか?
◆ データの一貫性と安全性は保証できますか?
◆ オブジェクト指向の分析・設計手法を習得しましたか?
ここに挙げた質問に肯定的に答えることができれば、技術的には建築家になる準備ができていることを意味します。まだ答えられない場合は、次の方向に強化する必要があります。
ボトルネックを改善して突破する方法
まだ答えられない場合は、次の方向に強化する必要があります:
◆ 使用しているテクノロジーの原理とその背後にあるメカニズムを分析します。技術的な判断力を向上させることで、技術的なソリューションの選択の正確性が向上します。
◆ 大学時代に、オペレーティング システムの原理、データ構造、アルゴリズムなどの重要な知識を学びます。以前は試験のために勉強していましたが、今は自分で勉強する必要があり、その理由を自分に知らせる必要があります。
◆ 大学ですでに学習した C 言語をもう一度学習し始めてください。これは、PHP 拡張機能を作成する必要があるためだけでなく、C アプリケーションにはパフォーマンス、メモリ制御、変数のライフサイクル、データ構造、アルゴリズムを常に考慮する環境があるためでもあります。
◆ オブジェクトを学ぶ。指向性分析と設計は、複雑な問題を解決するための効果的な方法です。抽象化を学びましょう。それが複雑な問題を解決する唯一の方法です。
この記事へのリンク http://www.cxybl.com/html/wlbc/Php/20130326/37404.html