返信内容:
残念ながら、私はさまざまなフレームワークには興味がありません。
私の理解を教えてください
1: 安全な SQL インジェクション、クロスサイト スクリプティング、XSS ワーム、典型的なアップロードの脆弱性およびその他のリスク、および CC 攻撃の原則と防止について、セキュリティを理解していない開発エンジニアは理解しておく必要があります。資格を持たないこと。
2: データベース
データのインデックス作成の原則 (少なくともハッシュ インデックスと Btree インデックスを含む) を正しく理解でき、インデックスの最適化の原則とクエリ効率の分析方法を知ることができます。 これは簡単なことのように思えますが、私たちのインタビューによると、この要件を満たすことができるのは、私たちのトレーニングを受けていないエンジニアの 10 人に 1 人未満です。もちろん北京には企業もたくさんあるのでそのほうが良いかもしれません。
リレーショナル データベース、キー/値データベース、インメモリ データベースのそれぞれの長所、短所、適用可能なシナリオを理解すると、特定のビジネス要件に応じて適切なデータ ストレージ モードを選択できます。
これは DBA の仕事ではないのか、と言う人もいるでしょう。私は開発エンジニアとDBAを全く区別すべきではないと常々思っていましたが、私が少し偏執的なのかもしれませんが、当社では基本的に開発エンジニアが兼務することを求めています。
3: デバッグとテストの能力
これは少し曖昧ですが、いくつかのシナリオについて説明します。
さまざまな種類のエラー出力で明らかなバグに遭遇した場合、検索を通じて補助情報を取得し、解決する方法を知ってください。
データ ロジック エラーや一部の分岐判断エラーなど、結果が期待と一致しない隠れたバグに遭遇した場合は、ブレークポイントを設計し、中間データを出力して問題を徐々に特定する方法を知ってください。
より大きなタスクを完了するときは、各ステップを一緒にテストする必要性について考えるのではなく、それぞれのステップを個別にテストする必要があることを理解してください。
ビジネス要件で高いアクセス規模が必要な場合、または外部ネットワークへの公開が CC 攻撃につながる可能性がある場合は、事前にストレス テストを実施し、パフォーマンス指標を与えることを知ってください。
4: コード コメント
ドキュメントの代わりにコメントについて話しましょう。他のプログラマにドキュメントとプログラムを同時に読むように依頼するのは難しいため、コード内のコメントは実際には非常に重要です。リリース バージョンのコードは、特定の考慮事項に基づいてコメントを解除できますが、完全にコメント化された元のコードのコピーを保持します。
5: ビジネスニーズの理解
私は、PHP は純粋に技術的な仕事ではなく、より直接的にニーズを重視した仕事であると常々信じてきました。そのため、ビジネス ニーズの理解が強ければ強いほど、関連する製品担当者とのコミュニケーションがよりスムーズになります。信じてください、すべての製品担当者はニーズを理解し、コミュニケーションが取りやすい開発エンジニアを好みます。
6: 可能であれば、運用や保守についてある程度の理解があった方が良いです。時々、おかしなバグが発生したときに正しい判断をする必要があり、運用や保守についてある程度の理解が必要になる場合があります。環境。
優先順位に従って行きましょう
1. PHP 独自の言語機能、セキュリティ技術、CakePHP、Symfony などの評価の高いフレームワーク、そしてもちろん ThinkPHP などの国産の優れたフレームワーク。 PHP プログラマーは、PHP 自体の長所と短所、およびさまざまな実装の詳細をより深く理解する必要があります。さまざまな CMS などの人気のあるオープンソース プログラムを読むことができます。世界に完璧な言語はありませんが、プログラマーとして、開発するシステムを完璧にするためには、言語自体、さらにはチーム自体の欠点を補うことができなければなりません。同時に、開発段階でさまざまな抜け穴をタイムリーに埋めることができるように、さまざまなインジェクション手法やハッカーが使用する一般的な攻撃手法など、さまざまなネットワーク攻撃手法を理解する必要もあります。
2. Mysql データベース テクノロジー。 Mysql は PHP と非常に密接に統合されていると言えます。Mysql がなければ PHP は普及しなかったと言えるため、LAMP 開発が一般的に議論されています。また、作成するプログラムのボトルネックは主に DB にあるため (特に負荷がそれほど高くない場合)、データベースの作成と最適化のテクニックを理解する必要があります。
3. HTML、CSS、JS などのフロントエンド技術、さらには Flex などの一部のプログラミング。 PHP でどのようなアーキテクチャやフレームワークを使用しているとしても、最終的にユーザーとやり取りするのは、ブラウザーの解析を生成するフロントエンド コードであることに疑いの余地はありません。これらのテクノロジーに慣れることで、間違いなく作業効率が向上し、問題解決能力が向上します。
4.Apache Web サイトサーバー、Linux システムの知識。これは、PHP プログラムが実行されるコンテナーです。水槽の品質とその構造上の利点と欠点を理解することは、養殖にとって間違いなく有益です。
PHPは主にWeb開発に使われます。次に、html、css、js の知識がある場合は、フロントエンドのパフォーマンスを理解する必要があります。データベースは主に mysql であり、プロジェクトと連動して SQL ステートメントを記述して最適化できます。さらに、Linux とサーバーについても理解する必要があります。
資格のある PHP プログラマーは、まず資格のあるプログラマーです。プログラマーという職業に就くことを決めた場合、php は単なる始まりにすぎません 。私の提案は次のとおりです:
1. ジュニア プログラマー の場合は、プロジェクトに従って学習してください。ジュニアプログラマーは主に必要な言語知識などを習得します。
2 番目の中級プログラマー は、トラフィックが 100 万または数千万を超えるアプリケーションなど、いくつかの複雑なアプリケーションに触れることができ、このプロジェクトを経験すると、必要な知識を自然に適用できるようになります。自由に。
第三に、エキスパート プログラマー は、プロジェクトの振り返り、学習、専門家とのコミュニケーションを通じて、徐々に独自のプログラミング スタイルを形成します。彼らは、技術的な問題について独自の洞察を持ち、ビジネス、テクノロジー、チームについてよく理解しています。全体的な分析を行います。 。 。
要するに: プログラマーは継続的な学習を通じて自己改善を達成する必要があり、プログラマーはビジネス チームのメンバーにすぎません。テクノロジーは最終的にはビジネスの生産性とビジネスの生産性の向上に変換される必要があります。テクノロジーを学ぶためにテクノロジーを学ばないようにしてください。テクノロジーは常に人々の役に立ちます。
C/C++ をよく学びましょう。PHP がデフォルトで処理できない場合は、拡張機能を作成して解決してください。
PHP プログラマー、Lei Xuesong の個人ブログは優れた IT テクノロジー ブログです。 http://www.leixuesong.cn
データベース、デバッグとテストの機能、コードのコメント、ビジネス要件の理解、運用と保守、これらのいくつかは備えておくべきだと思います(笑)
資格のある PHP プログラマー: 会社のビジネスとプロジェクトを満足させる
優秀な PHP プログラマー: 会社のビジネスとプロジェクトを満足させた後、会社のビジネスとプロジェクトを最適化し、改善します
強力な PHP プログラム: 会社のビジネスとプロジェクトを満足させた後、会社のビジネスとプロジェクトを最適化および改善した後、問題を解決するのは PHP レベルに限定されず、場合によっては特定の影響!