1. Linux
通常の操作、パフォーマンスの監視と追跡に加えて、多くの高度で複雑なコマンドを使用して、Linux での作業を完了することもできます (watch/tcpdump /starce / ldd/ar など);
シェル スクリプトに関しては、バックアップや自動処理を含む多くのシェルの完成を支援する比較的複雑なシェル スクリプト (500 行以上) を書くことができました。 、モニタリングなど;
awk/sed/perl などのアプリケーションに習熟し、テキスト統計の操作、制御、処理、およびさまざまな複雑な形式のデータ分析を自由に実行できる;
Linux の内部機構をある程度理解しており、カーネルモジュールをロードできる、起動時のエラー処理などの基本的な処理があり、同時に NFS、ディスク管理、等
2. Nginx
主に、特定のマスター/ワーカー動作メカニズム、Nginx などのソース コードを読むことから始めて、Nginx の動作原理の徹底的な研究に焦点を当てることを検討できます。内部イベント処理、メモリ管理など;
同時に、Nginx 拡張機能の開発を学び、独自のプライベート拡張機能のいくつかをカスタマイズすることができ、同時に、ある程度のNginx Lua を理解し、それを組み合わせて適用してより良いモデルを作成できるかどうかを確認してください。
3. MySQL/MongoDB
MySQL アプリケーションに関しては、前述の基本的な SQL 最適化に加えて、大規模なバッチのインポートとエクスポートなど、いくつかの複雑な操作を完了することもできます。テーブル構造の変更やインデックス フィールドの追加または削除などのリスクの高い操作;
インストールと構成に加えて、より複雑な MySQL の問題も処理できるようになりました。さまざまな問題の追跡、マスターとスレーブの同期遅延問題の解決、コンピュータ ルーム間の同期データ スキーム、MySQL 高可用性アーキテクチャなどのすべてが関与し、理解されています。
は MySQL アプリケーション レベルに精通しています。トランザクション メカニズム (分離レベル、ロックなど)、トリガーなどの MySQL の中核となる主要なテクノロジ、パーティショニングおよびその他のテクノロジについて一定の理解と応用を持っている。
4. Redis/Memcached
Memcached は特に複雑ではないため、より深い理解を容易にするために、ソース コード、特にメモリ管理部分を読むことをお勧めします。 ##Redis の部分では、複雑なデータ構造のアプリケーションをさらに実行できます (zset は、フラッシュ セール シナリオ アプリケーションのアトミック性を確保するためのランク付け操作/トランザクション処理に使用されます)。aof などの同期メカニズムを含む、より多くの学習アプリケーションを使用して、高レベルの設計を行うことができます。利用可能な Redis アプリケーション アーキテクチャとクラスター。
5. PHP
基本的なコード アプリケーションに関しては、PHP 開発で遭遇する問題の 95% を解決でき、PHP スキルのほとんどを理解でき、ほとんどの PHP フレームワークを処理できます。 1 日以内にすぐに開始でき、主流の各 PHP フレームワークの長所と短所を理解することで、プロジェクト開発におけるテクノロジの選択が迅速に容易になります;
構成の観点からは、比較的型破りな構成オプション (php auto_prepend_file) を理解します。 / auto_append_file) には、拡張機能の複雑な高度な構成と原則が含まれます。
php-fpm の動作メカニズム (さまざまな構成マシンでの php-fpm の開始プロセス数の計算と原理など) を含む、php の動作メカニズムをよく理解し、 Zend エンジン (vm/gc/stream Processing) に関する基本的な知識があり、基本的な PHP カーネル ソース コードを読んでいること (または関連記事を読んでいること)、ほとんどのコア データ構造 (基本型/配列/オブジェクト) の実装を理解していることPHP の内部メカニズムとコア インフラストラクチャ (zval/hashtable/gc) に関する知識があり、深い研究と理解が必要です。
6. C/C
C/C言語をより深く理解し、中小規模のC/Cシステムの開発を完了できる。第 2 段階の C/C 構文とデータ構造の基本基礎に加えて、ニーズに合わせていくつかの特別なデータ構造 (b-tree/rb-tree/skiplist/lsm-tree/trie-tree など) を学ぶこともできます。特別な作業;
システム内 プログラミングに関しては、マルチプロセスおよびマルチスレッドプログラミングに精通していること、マルチプロセス状況におけるマルチプロセス間の通信方法のほとんどを理解していること、および通信方法 (共有メモリ/セマフォ/パイプラインなど) を柔軟に選択できます;
マルチスレッド プログラミングは、ロック競合の問題をうまく解決し、マルチスレッド プログラムの開発とデバッグを行うことができます。ネットワーク プログラミングに精通しており、マルチプロセス モデル/マルチスレッド モデル/非同期ネットワーク IO モデルの違いと選択を理解し、さまざまな非同期ネットワークに精通している IO モデル (select/poll/epoll/iocp) の原理と違いに精通している, など)、一般的な非同期フレームワーク (ACE/ICE /libev/libevent/libuv/Boost.ASIO など) とその使用法に精通している方 時間があれば、いくつかの国産製品を見てみるのも良いでしょう。 -開発されたライブラリ (muduo など);
また、高同時実行性のプログラム アーキテクチャ (リーダー-フォロー/マスター-ワーカーなど) を設計できます; C/C バックエンド サーバー開発におけるほとんどの問題を理解しています(メモリ管理、ログ出力、高い同時実行性、フロントエンドとバックエンドの通信プロトコル、サービス監視)、各バックエンド サービス (struct/http/thirft/protobuf など) の RPC 通信の問題を把握しています。
7. フロントエンド
HTTP プロトコルについての深い理解 (各詳細プロトコルの特別なプロトコル コードとその背後にある理由 (302 個の静的ファイルがキャッシュされる、502 個の静的ファイルなど) を含む)これは、nginx の背後にある php がダウンしていることなどを意味します); これまでのフロントエンドの側面に加えて、さまざまなフレームワーク アプリケーション統合機能が追加されました。
推奨チュートリアル:
PHP チュートリアル以上が15,000 PHP を獲得するにはどのようなスキルを習得する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。