ホームページ >バックエンド開発 >PHPチュートリアル >これは、私と同じように衝動的な PHPer プログラマーにとって役立つことを願っています。

これは、私と同じように衝動的な PHPer プログラマーにとって役立つことを願っています。

WBOY
WBOYオリジナル
2016-06-13 13:23:13769ブラウズ

これは、私と同じように衝動的な PHP プログラマーにとって、

<pre class="brush:php;toolbar:false"><span style="white-space:pre">	</span><span style="font-family:SimSun">2012年偶决定开始写博客了,不为别的,就希望可以通过博客记录我的成长历程同时也希望可以帮助一些刚毕业,刚入行业的兄弟姐们们。我们是一群充满浮躁、抱怨、迷茫的程序猿,想一想3年就这么过去了,社会变得更浮躁了,鸭梨也越来越大,房?车?女人?... 抓狂...
<span style="white-space:pre">	</span>决定写这样一篇文章,再次明确自己的职业规划,也送给浮躁的你,踏上程序猿这条路可谓是路途艰辛,乏味,枯燥,在这里把自己的学习心得,目前正在计划的规划,列出来。希望对你有所帮助。
<span style="white-space:pre">	</span><strong>1、多动手,多思考</strong>
<span style="white-space:pre">		</span>不要怕做不好,刚毕业或者刚入行最缺的就是工作经验,没有别的途径,只有做,做,做,多做经验就来了。项目做多了自然而然你就有了多种不同项目的业务逻辑,这些可是在大学根本无法学到的东西,也是企业最需要的。
<span style="white-space:pre">		</span>任何一个企业需要的是一个快速上手,马上解决业务任务的员工。面对现在层出不穷的新技术,各种复杂的业务逻辑需求,你是如何去应对呢?很简单:做,做,做,我的学习过程就一个字:做!
<span style="white-space:pre">		</span>截止目前从0 到 1 真的很辛苦,大大小小做了上百个(包括接的大大小小单子需求,之前公司各种业务需求解决),总结就一句话:做的多了 沟通就多了,沟通多了就更好的理解客户需求和用户展示的一些基本经验。
<span style="white-space:pre">		</span>
<span style="white-space:pre">	</span><strong>2、少抱怨,多学习</strong>
<span style="white-space:pre">		</span>当你刚进公司时,难免会做很多杂事,这个是无法避免。我刚进这个行业做了大半年的杂事,什么DIV,CSS,JS 调个模板 改个小东西,等等。一切都是熬出来的,只有当你的经验,技术积累到了足够
<span style="white-space:pre">		</span>应付业务需求的时候,你自然会被赏识,当然如果还是无法赏识,建议你可以立马跳槽。对于程序员来说偶尔的跳槽也是成长的一部分,不知道对被人是否是这样,但对我来说我的每次跳槽都会
<span style="white-space:pre">		</span>一次快速成长。作为程序猿我觉得如果真想做好,必须要有兴趣,写代码会让你疯狂,让你疯癫,这样你才能写好它。如果你只是为了工作而去做,那么你只是一个工具而非程序猿,那么你也就
<span style="white-space:pre">		</span>不要过于频繁跳槽,因为每次跳槽对你来说都是一个大的挑战。有了兴趣,支持以恒,不要在乎任务多,压力大,能做就做,你的目的就是提高自己,让自己在明天比昨天更有价值,当价值积累到了足够
<span style="white-space:pre">		</span>的资本,很多公司会抢着要你,相信这个社会肯定会有识才的公司。耐心+机遇+坚定不移的信念,这就是我!一个简单的程序猿。
<span style="white-space:pre">	</span><strong>3、制定有效的学习计划</strong>
<span style="white-space:pre">		</span>当你制定了计划,就一定要坚持的完成,如果不能,请你不要制定计划,因为这样会让你很痛苦。在公司或者各类技术社区尽量多认识大牛,多加群,多交流、讨论,多帮助别人。
<span style="white-space:pre">		</span>在制定计划时,不要过于盲目。根据自身情况制定各个阶段计划,最好的计划是短期计划并且可以保证顺利完成的计划,如果制定一个飘渺无期的计划,你更适合当一个演说家。
<span style="white-space:pre">		</span>请不要吝啬,在你计划学习的过程中尽量写到博客,比如CSDN博客 就是很不错的选择。这样你即可以帮助新手,也可以让自己更深入的熟悉学习的知识,并在需要是最快的速度查找到。
<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>废话基本说完了,下面介绍下我近期整理的计划和一些学习心得,希望我们可以一起进步,一起提升,一起为了明天的更多薪资而努力。</span>

PHP プログラマーの成長に役立つことを願っています。 (インターネット上でコンパイルされており、私も段階的に実装しています)
PHP をマスターするのが苦手です (PHP マニュアルをあまり読んだことがありません)ライブラリ用)
知識ベースは比較的狭い (需要に直面して、PHP と mysql を使用する以外の解決策は知りません)
PHP コードは主にプロセスであり、オブジェクト指向の実装が複雑すぎて理解するのが難しい場合や、ビジネス ロジックが比較的複雑な場合 (システムが複数のビジネス上の問題を解決する必要がある場合)。フィールド)、アイデアが不足しています。彼らは問題の本質を分析することができず、技術的な判断力も乏しいため、問題に対する一時的な解決策をすぐに見つけることができますが、多くの場合、継続的な一時的な解決策の中でシステムとそれ自体が段階的に崩壊します。では、どうすれば自分を向上させることができるでしょうか? より難しいシステムに挑戦するにはどうすればよいでしょうか?

高性能システムの課題は何ですか?

Web サーバーの選択方法は fast-cgi モードを使用する必要がありますか?

リバース プロキシ サービスを使用しますか? フル メモリ キャッシュまたはハードディスク キャッシュを選択しますか? 負荷分散はアプリケーション層に基づいていますか? 高い信頼性を確保するにはどうすればよいですか? 最適化ツールを使用した後の PHP コードのパフォーマンスはどうですか? C で拡張機能を記述する必要がありますか? ユーザーアクセスの特徴は何ですか? 読み取りと書き込みを分離する必要がありますか? データはどのように保存されますか? データの増加に応じてアクセス速度はどのように変化しますか? キャッシュの使用方法? 障害を考慮する方法? データの整合性を確保する方法?





複雑性の高いシステムの課題は何ですか?


ビジネスに対応するフィールドは 1 つですか? ビジネスを合理的に抽象化し、少ないコストでビジネス ルールの変更を実装できるか? データの一貫性とセキュリティは保証できますか? オブジェクト指向の分析および設計手法を習得しているかどうか
私が肯定的に挙げた質問に答えることができれば、建築家になることは技術的には可能だと思います。


ボトルネックを改善して突破するにはどうすればよいですか?

使用するテクノロジーの背後にある原理と動作メカニズムを分析します。これにより、技術的な判断が向上し、技術ソリューションの選択の正確性が向上します。

大学在学中に、オペレーティング システムの原理、データ構造、アルゴリズムなどの重要な知識を学びます。以前は試験のために勉強していましたが、今は自分で勉強する必要があり、その理由を自分に知らせる必要があります。

大学ですでに学習した C 言語をもう一度学習し始めてください。これは、PHP 拡張機能を作成する必要がある可能性があるためだけでなく、C アプリケーションには、パフォーマンス、メモリ制御、変数のライフサイクル、データ構造、アルゴリズムを常に考慮する環境があるためでもあります。
複雑な問題を解決するための効果的な方法であるオブジェクト指向の分析と設計を学びます。抽象化を学びましょう。それが複雑な問題を解決する唯一の方法です。
「どうやってそんなにたくさんのことを学ぶのですか?
しっかりと計画を立てて取り組めば、1~2年程度かかると予想されます。勉強方法については後述します。
PHP を学習するプロセスについては、インターネット上にすでに多くのチュートリアルがあるため、ここではリストしません。基本 + データ構造 + アルゴリズム (PHP は比較的弱い) を繰り返し学習して使用します
2 番目はデザイン パターンです。特に複雑なビジネス要件のデザイン パターンは非常に役立ちます。私のブログでは、さまざまなデザイン パターンの使用法を学び、説明し続けます。
蓄積: よく使用されるライブラリ (使用済み、自分で作成したもの) をいくつか集めて、必要なときに取り出すだけで非常に便利です。例: ページング、画像処理、アップロード、ダウンロード、電子メールなど。これらは一般的に使用されます。

多面的な実践: コードを書くだけでなく、コード スニペット分析をブログに投稿することも改善の重要な部分であり、記憶を深める良い方法です。

1. PHP の基本入門 (構文、共通関数、拡張機能)
2. オブジェクト指向 PHP (書籍: 『詳細な PHP、オブジェクト指向、パターンと実践』)
3. ウェブサイトのソフトウェアアーキテクチャ設計 (デザインパターン、フレームワークなど)
4. ウェブサイトの物理レベルのアーキテクチャ設計 (分散コンピューティング、ストレージ、負荷分散、高可用性など)

引用: オンラインで見つけた優れた学習アドバイス

どうやって効率的に勉強するかは大きな問題です。 いくつか練習はしていますが、非常に散らかっており、要約するのが困難です。昨夜寝る前に、RUP の核心である「アーキテクチャ中心、ユースケース駆動、反復開発」をふと思い出しました。この考え方を借りれば、効果的な学習方法は次のように表現できます。
原理、モデル、またはメカニズム中心の、タスク駆動型の反復学習
目的: 処理パフォーマンスを向上させる方法を学びます。
反復可能タスク: IP で場所を検索します。
これは WEB アプリケーションの一般的なタスクです。IP データベースには約 100,000 行のレコードがあります。
最初の反復: パフォーマンスを考慮せずに機能を実装します (PHP を通じて実装)
領域は KEY (IP) を介して直接検索できないため、データに直接配置したり、連想配列を介したりするような単純な方法は機能しません。まずデータを並べ替えてから、
を検索するという考え方です。 1. IP で検索するにはどうすればよいですか? 順序付けされたデータの場合、二分検索が最も高速です。
2. ソート方法 もちろんライブラリ関数sortを使用することもできますが、学習中なので、クイックソートを自分で実装する必要があります。
学習目標: 並べ替えアルゴリズム、検索アルゴリズム
PHPer のデータ構造とアルゴリズムの基盤は比較的貧弱です。私は普段この分野で仕事をすることがなく、自分でも学習していないため、この分野の知識が不足しています。
しかし、プログラミングによって解決される問題は、最終的にはデータ構造とそのデータ構造上で動作するアルゴリズムに帰着します。
データ構造のアルゴリズムが常に頭の中にあれば、問題に遭遇したときにその内部構造を明確に理解することができ、解決策も自然に見えてきます。

2 回目の反復: データのロードと並べ替えの最適化
最初のステップを実行すると、毎回データをロードしてソートする必要があり、時間がかかりすぎるため、基本的には使用できません。 解決策は、データを一度ロードして並べ替えて、各 PHP プロセスがアクセスできる場所に配置することです
memcache に入れてください これは誰にとっても簡単な質問です。
実際、memcache にはより多くのネットワーク操作があるため、共有メモリ (EA およびその他のアクセラレータによってサポートされている) に配置する方が高速な方法です。
データが全体として共有メモリに置かれるか、ブロックに分割されるか、パフォーマンスをテストする方法、ボトルネック (xdebug) を分析する方法を学びます。
学習目標: PHP のパフォーマンスに対する PHP 実装構造の影響を検出、特定、最適化する方法。

3 回目の反復: PHP の拡張機能の作成
学習する必要があるメカニズムと原則を決定するにはどうすればよいですか?
このテクノロジーの位置付けから学ぶ必要がある重要なポイント、つまり、それがどのように行われるのか (メカニズム)、なぜそれが可能になるのか (モデルまたは原理) を見つけます
このテクノロジーの最も一般的なアプリケーションを学習タスクとしてリストし、簡単なものから難しいものまで練習してください。
完全に独学で学習する場合、学習すべきポイント(仕組み、モデル、原理)を見つけて学習課題を設定することは、確かにそれほど簡単ではありません。指導してくれる経験豊富な人を見つけたり、学習チームを追加したりすれば、学習の速度は確かに大幅に向上します。

最後に簡単にまとめます:

1. 忍耐強く計画を立て、実行する必要があります

2. PHP の基本を完全に理解しているため、手動で実行すればするほど覚えられます (PHP マニュアルを何度も読む必要があります)

3. PHP デザイン パターンを実際のシナリオに適用してみて、デザイン パターンの記憶と理解を継続的に強化します

4. 新しいことがあまりにも早くやってくるので、それに適応するためにもっと努力する必要があります。メモリ キャッシュ、ファイル キャッシュ、静的キャッシュ、および高同時実行処理を巧みに適用する必要があります。

5. コンピュータ システムの原理の理解を強化し、一般的な数学的知識に慣れ、アルゴリズムの応用を練習します。コンピューターサイエンスは本質的には数学の学問です。優れた数学者は優れたプログラマーを生み出します。数学のスキルを無駄にしないでください。

できるだけ練習して、論理、離散数学、微積分、確率論、統計学、抽象代数、整数論、圏論、偏順序論などの数学的知識に慣れてください。

6. PHP のセキュリティに注意し、最新の PHP、MYSQL バージョンの更新およびバグの更新について学びます。

7. データ構造とアルゴリズムを徹底的に研究します。どの言語であっても、中心となるのはデータ構造とアルゴリズムです。

8. C の学習を開始するか、時間と学習強度の計画によって異なります。プログラマーとしての道を歩みたいなら、C言語は必ず学ばなければなりません。 PHP も C で書かれており、PHP の実行メカニズムもコンパイラーを通じて C にコンパイルされ、コンピューター上で実行されるため、C を学習することは開発パスにのみ有益です。お金も以前よりも多く稼げます! ! ! ! ! ! ! ! ! !


最後に:一つ一つの項目を丁寧に行い、しっかりと学習し、繰り返し学習してください。気づかないうちに、あなたの能力は急速に向上します。

私は最近 C を学習しています。また、C を学習している他の人たちも Q: 1235355 を追加してコミュニケーションを図り、一緒に進歩できることを願っています。もちろん、PHP も同期の過程にあります。継続的な学習、言うまでもなく私はまだ新人です~~~~~ ~~~~~~~~~~~~

最後に、皆さんが毎年給料が上がることと、失業を恐れないことを祈ります。 ! ! ! !

能力が限界に達したら、どこにいても自由に食べられるようになります。仕事を失うのが怖いですか? ? ? ? 強力な技術力により、業界の鉄丼といえるでしょう。 。さあ、同志たち~~~~~~~

最後に、心配する必要はないと言いたいのですが、誰もが千マイルの馬になれるわけではありませんし、誰もが馬になれるわけではありません。 。 。あなたがチョリマなら、あなたに感謝できるボレをゆっくり探してください。 あなたがチョリマなら、すぐにあなたのチョリマが見つかることを願っています。

さあ、自分を磨きましょう~~~ できるようになれば、あれこれ心配しすぎないでください。 。


1FA15249203466昨日 08:53
はは、応援しています、ギャロッピングポニーです
Re: grassroots2011昨日 13:42
はは、ご清聴ありがとうございます!返信 A15249203466
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。