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