mysql - Web サイトを開発するための PHP の学習がボトルネックになっていると感じています。技術的に突破する方法がわかりません。誰かがおすすめの本を教えてください。

WBOY
リリース: 2016-07-06 13:53:56
オリジナル
885 人が閲覧しました

PHP の HTML 初心者の私は、最初は PHP で Web サイトを構築するのは非常に簡単だと感じましたが、後で学んだ知識だけでは十分ではないと感じました。Web サイトは掲示板とは程遠く、ログインしてログインするだけで十分です。登録中。

現時点では、これらのテクノロジーについてはあまり知りません:

  1. サーバーの運用と保守、ウェブサイトの展開、技術アーキテクチャ

  2. php 高度なテクノロジー、スケジュールされたタスク、キュー (私は常に php を「静的」言語として使用してきました。誰もアクセスしないと消滅します)、composer docker Ionicphonegap

  3. mysqlトランザクション、高度な

  4. その他のデータベース nosql memcached redis mongodb

  5. css3 html5 html5 新機能 html5 ウェブサイト angularjs フレームワーク React フレームワーク requirejs CommonJS

  6. nodejs npm Grunt ツール git github

  7. ECサイトのシステム設計、大規模同時実行、フラッシュセールシステム設計の知識

  8. 検索テクノロジー、現在の SQL 単語リンク '%$q%' を解決する必要があります

  9. Linux php 環境の展開と最適化。 Linuxランプ環境の最適化、共通Webソフトウェア環境の設定、インストール

  10. デザインパターン、アルゴリズム

上記は私がぜひ学びたいことです。

Web 開発、フロントエンドとバックエンドについてすべてを学びたいです。ボトルネックに達したと感じたら、本を読んでみてはいかがでしょうか。誰かが私に教えてくれると嬉しいです。フロントエンドとバックエンドの両方、および実践的な基礎が受け入れられます。ありがとう!

返信内容:

PHP の HTML 初心者の私は、最初は PHP で Web サイトを構築するのは非常に簡単だと感じましたが、後で学んだ知識だけでは十分ではないと感じました。Web サイトは掲示板とは程遠く、ログインしてログインするだけで十分です。登録中。

現時点では、これらのテクノロジーについてはあまり知りません:

  1. サーバーの運用と保守、ウェブサイトの展開、技術アーキテクチャ

  2. php 高度なテクノロジー、スケジュールされたタスク、キュー (私は常に php を「静的」言語として使用してきました。誰もアクセスしないと消滅します)、composer docker Ionicphonegap

  3. mysqlトランザクション、高度な

  4. その他のデータベース nosql memcached redis mongodb

  5. css3 html5 html5 新機能 html5 ウェブサイト angularjs フレームワーク React フレームワーク requirejs CommonJS

  6. nodejs npm Grunt ツール git github

  7. ECサイトのシステム設計、大規模同時実行、フラッシュセールシステム設計の知識

  8. 検索テクノロジー、現在の SQL 単語リンク '%$q%' を解決する必要があります

  9. Linux php 環境の展開と最適化。 Linuxランプ環境の最適化、共通Webソフトウェア環境の設定、インストール

  10. デザインパターン、アルゴリズム

上記は私がぜひ学びたいことです。

Web 開発、フロントエンドとバックエンドについてすべてを学びたいです。ボトルネックに達したと感じたら、本を読んでみてはいかがでしょうか。誰かが私に教えてくれると嬉しいです。フロントエンドとバックエンドの両方、および実践的な基礎が受け入れられます。ありがとう!

あなたの作成したリストは素晴らしく、知識が非常に充実していますが、個人的には、あなたが今直面しているボトルネックは本では解決できないと思います。つまり、本だけで解決するのは難しいのです。

学習の目的を明確に考え、学習のための学習を避けてください

たとえば、高い同時実行性、フラッシュ セールス、アーキテクチャなど、既存のビジネスでは触れられないことがよくありますが、学習の目的は通常 2 つあります。1 つは面接に対処するため、もう 1 つは将来のビジネス開発のためで、必要に応じてそれらをサポートできます。 (知識の蓄え) 。目的が異なれば学習手段も目標レベルも異なります。たとえば、面接を受ける場合は、シナリオと一般的な解決策をある程度理解しておいてください。面接中に何も話す必要はありません。その人に連絡する機会がなかったとだけ伝えてください。しかし、あなたはそれを行う方法を知っています、それは良い答えです。それが事業開発のためであり、現在の会社がすぐにそのレベルに発展するのであれば、それを実行する必要があり、上司とコミュニケーションをとることができます。

でも、もしあなたの会社がどの現場からも遠く離れていて、転職する予定がないのなら、貴重な時間を無駄にせず、他のことを学んでください

練習、練習、練習!

本やビデオを読むことに慣れている人も、私のように Google や StackOverflow から学ぶことに慣れている人も、学習の唯一の一定の終点は常に練習することです。学習の目的が何であれ、始める前に必ず練習する機会を自分に与えてください。会社は上司とコミュニケーションをとる必要があります。それが都合が悪い場合は、「問題と一般的な解決策を理解する」というレベルで停止してください。

あなたはすでに優れた知識ベースを持っているので、会社の現在/将来のニーズに基づいてブレークスルーを見つけるのは難しくないはずです、会社の開発ニーズに基づいて学習しようとすることが最も効率的で有益です。従業員が「これは前にも見たことがある」と飛び上がるようなテクノロジーは何か。選択肢は 3 つあります。現時点では、選択肢 B が当社の状況に最も適していると思います。私はこれを実現するために主導権を握ることができます。」

シーンは王様

上記の2点では、繰り返し場面についてお話してきましたが、実は英語と非常によく似ているのですが、英語の核となる能力は数万の単語でも、高度な文法でもなく、「言語感覚」なのです。 」、つまり、場面から適切な表現へ、そして他人の表情から場面を理解する力です。

オンライン検索を含む大多数の本やビデオは、「方法」の問題しか解決できませんが、私は常々、極端なシナリオを除いて、少なくともインターネット技術に関しては、「方法」はほとんど重要ではないと考えています。 % この場合、「方法」は問題ではなく、最適なクラス ライブラリを見つけてドキュメントを読み、それを呼び出してデバッグするだけではないでしょうか。質問の鍵は常に「いつ」と「何を」、そして時には「なぜ」です

  • 方法: 何かを達成する方法 (大規模な同時実行をサポートする方法など)、これは実際には重要ではありません

  • いつ: 同時実行をサポートするソリューションを導入する必要があるのはいつですか? 一般的なシングルコア 8G サーバーは何人の同時ユーザーをサポートできますか?同時実行を監視して拡張が必要かどうかを確認するにはどうすればよいですか?一般的な同時実行の最適化によって同時実行はどの程度改善できますか?これにより、

    対応するソリューションの導入を検討する必要がある時点までビジネスが成長するかどうかが決まります。時期尚早の最適化は何よりもまずいことです

  • 内容: 同時実行性の問題の中核的な問題は何ですか? たとえば、1 つの方向は水平拡張/自動拡張、もう 1 つの方向は高同時実行下でのデータの整合性 (トランザクションと分散トランザクション)、そしてもちろん単一マシンの同時実行の最適化もあります。それを理解すれば、スタンドアロンの最適化は確かに重要かつ基本的ですが、ほとんどの場合、最初の 2 つよりも効果がはるかに低いことがわかります。無知で「高い同時実行性」という言葉に飛びつき、単一マシンの最適化についてたくさん学んだ場合、最終的には使用できない可能性があります
  • why: なぜ会社はこのテクノロジーを必要とするのですか?ビジネスとテクノロジーの接点はどこにあるのでしょうか? あなたの会社のビジネス モデルは、利益を上げるために多数の同時実行をサポートする必要があると判断していますか?会社のビジネス データは失われるには貴重なので、強力なオフサイトの災害復旧が必要ですか?それとも、会社のビジネスが長時間のダウンタイムを許容できないため、災害復旧、柔軟性、高可用性が必要なためでしょうか?もちろん、「上級幹部がこのテクノロジーを好む」という少し憂鬱な理由を排除することはできません。
  • まとめると、「方法」以外の問題は単に状況の問題です。これを理解することによってのみ、目的を持った、計画的な学習が可能になり、
効果的な学習が可能になります。

最後に、本を読むのが嫌いな人に私が勧める唯一の本は、「The Pragmatic Programmer」と訳されている、このリストには載っていない、学ぶべき/注意すべき重要な点がたくさんあります。 「プログラム」「会員としての育成方法」はちょっと下品ですが、見逃すのはもったいないです 別の回答「プログラマーは日常業務プロジェクトと組み合わせてスキルをどのように練習できますか?」を添付します

プログラマーがボトルネックに遭遇したとき、本を読んでも何の役にも立たないのが最善の方法です

段階的に進み、本を購入し、プロジェクトの演習を行い、少なくとも 2 つの PHP フレームワークの使用に習熟してください

基本、PHP の基礎、HTML の基礎から学習を開始し、いくつかの小さなプロジェクトを見つけて、初心者にとって理解しやすい Codeigniter などのフレームワークに触れることができます。あなた自身。

PHP テクノロジーのブログをさらに読むことができます:

http://blog.tanteng.me

1 最初に本をお勧めします

サーバー運用保守

「ニアオ兄弟の Linux プライベートクッキング」

ギット

githug - git を使用して git を学ぶための小さなゲーム

類似のもの

ウェブサイトのシステム設計、大規模同時実行、フラッシュセールシステム設計に関する知識:
vimtutorいくつかの大企業の技術ブログを読んで、最前線の開発者が何をしているのかを学びましょう

Tencent レクチャーホール

Tencent フルターミナル AlloyTeam チーム

Meituan 技術チームへのコメント

Mogujie Technology Blog

デザインパターン、アルゴリズム

《Dahuaデザインパターン》

《コード事典》

他の側面についてはほとんど知らないので、さらに追加することを歓迎します


2 ボトルネックに遭遇した場合の対処法について話しましょう

まず第一に、自分が弱すぎると感じないでください。ボトルネックに遭遇したと感じるということは、自分がいくつかの面でまだ不十分であることを認識していることを意味しますが、やみくもに学習を始めないでください。私の提案は次のとおりです:

    PHP から始める場合は、Web、データベース、運用保守、アーキテクチャについての理解が必要です
  1. 今後 5 年間で何をしたいか考えてください。あなたは常にプログラマーでいますか?プログラマーはチーム内でどのようなポジションを占めますか?

  2. 2を考えた後は、将来何をするかについて

    継続的
  3. かつ
  4. 深い

    理解をする必要があります。

    Linux スクリプトを学習し、symfony や yii などのフルスタック フレームワークを学習し、大規模なアプリケーション シナリオでのクラウド製品の使用に慣れます。

ボトルネックになったときに考えるべきことは実はとてもシンプルで、何も考えずに、やるべきことを地道にやって、知識を蓄えることです。ボトルネックの理由は、Bofa の基準を満たせないことです。機会があれば、より幅広いテクノロジーに触れるようにしてください。ただし、これは可能です。すべての言語を使用できる、または他の言語でいくつかのアイデアを学ぶために PHP を放棄できるという意味ではありません。次に、サードパーティのテクノロジーやフレームワークを使用する場合は、プロジェクトのプロセスに影響を与えずに、基礎となる知識を深く学ぶようにしてください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート