JAVAの背景

著者:青のプロピレン
リンクします。https://www.zhihu.com/question/305924723/answer/1092644344
出典:ほとんど知っている
著者が著作権を保有。著者は認可商業転載してください接触、非商用の転載は、ソースを明記してください。

テキスト

この記事を書く前に、私は彼が基本的に私は、ステップ解析によりステップは、私たちが接触できる技術についてお話します今日のカットにそれを使用し、小さいながらも完全に形成されても、電気の供給システムを想像することをいくつかの時間を費やしスタックは不完全であってもよいが、十分に、そして最終的に学習ルートにあります。

ヒント:彼は各点でしばらく、一見のために楽しみ、あなたが精通していないことを、どのような技術スタックと接触するかを確認するように、私はそれはまだ比較的広いと思うし、何かアドバイスは、あなたも私にメッセージをそこに残すことができます。

あなたが見ていない、と今はPaodingjieniuに持って、上から下への私の分析かどうかは知りません。

フロント

あなたがさて、いくつかのフロントエンドがありますなぜ、私はあなたを伝えることができ、バックエンドの学習ルート、について話していないとして、あなたは好奇心かもしれない愚か者表面的な、。

私たちはできる密室で動作していないバックエンドのフロントエンドを学ぶないことを言いましたか、?

今、フロントエンド、バックエンドの技術スタックの多くはまた、あなたが最初に何を見て、私たちはウェブサイト、最初の接触に行きたいことを理解できますか?

はい、私は、最も基本的な技術スタックが精通だったと思う、あなたは大学生専用のフロントエンドで見つけることができない場合、システムはほぼ確実に彼らのトップのフロントエンドをやってます、フロントエンドであり、それを理解し、プロピオン酸プロピルは時折今開発されています当社の管理システムは主にどのようなVUEリアクト

ここで私は私の現在の考えはシンプルで列挙されていると我々は、バックエンド・テクノロジー・スタックを理解することができ、それは、より基本的なものです。

知識や必要な理解のフロントエンドのバックエンド部分としては、後に開発する場合、会社はあなたが単純にページの上部に見ることができないフロントあれば、よりスムーズにFBIの前と後にあなたを助けることができるフロントエンドを持っています。

HTMLCSSJSアヤックス、私はポイントを把握する必要があると思いますが、実際には、下に行くか、単に多くのことが残っている場合に動作するために探して、拡張機能などの他は、とにかく、知って興味がある可能性があり、エントリはシンプルですが、非常に、非常に困難堪能。

このレベルではこれらだけではなく、そこにあるHTTPプロトコルとサーブレット、リクエストレスポンスクッキーセッション技術のキャリアを通じてあなたを同行する予定、彼らは確かにあなたの背中に多くの利点があります理解しています。

ヒント:ここで私は最終的に削除JSP関連技術を、私は個人的に昔のプロジェクトに加えて、企業の多くを学ぶための必要性を全く感じない、新しいプロジェクトがその技術を使用しません。

私の意見では、後端より前は、私の友人のフロントエンドのインタビュー、多くのメーカーが技術よりも難しい、難しいと言うが、知識が多く複雑であるので、システムの具体的な知識を思えなかった、困難、反復技術は高速であり、見つけることができません明確なバックエンドの多くに比べて完全なシステムは、私は、バックエンドの後ろに話し始めました。

ゲートウェイ層:

インターネットの発展は今まで、多くのインターネット企業の出現は、テクノロジーのアップデートは、スタンドアローンの早い時代から、さまざまなバージョンを反復し、今や超大規模なインターネットの時代、春に関わる人々の何百万、数百、二から一一のトランザクションサイズの数千億、多数のインターネットの前任者は現在、インターネットを輝かしいを作成しました。

マイクロサービス分散負荷分散など、これらは、私たちはしばしば舞台裏でこれらの技術サポートと呼ば用語です。

スタンドアローンスタンド、我々はポイントサーバーを探しますが、どのようにしても、サーバー上のトラフィックを打つのだろうか?

ロードバランシング、LVS

私たちのマシンは、我々は、サーバーへの要求に、ドメイン名によってどのように適用されるか、その後、IPアクセスされていますか?

DNS

私たちは、B局にビブラートを磨く、そしてその巧みなビデオ・サービス・プロバイダ、全国の高速なユーザーエクスペリエンスを提供しながらことを確実にする方法ですか?

CDN

だから、当社のシステムやサービスの多く、上のスケジュールなどを管理するためにどのように多くのミドルウェアスケジューリングがあるのですか?

ZK

だから、多くのサーバー、外部の統一されたアクセスが、それは、あなたがリバースプロキシサーバーを知っておく必要があるかもしれませんか。

nginxの

この層が作られる逆負荷は、ルーティング、サービス管理、トラフィック管理、セキュリティの分離、フォールトトレラントサービスなどが行われ、すべての人の内部および外部のネットワーク分離は、この層がやるです。

私はまた、サービスの数十解読が実際にルート要求を行く見つけるゲートウェイを介して行われ、すべての外部インターフェイスが暗号化され、より多くの興味深いプロジェクトの一部と接触していました。

この層は、実際に多くの知識で、あなたが戻って見つけることを学ぶ分散トランザクション、分散ロックを、ミドルウェアの多くは不可分であるZK私たちが見下し続け、このレベル。

サービス層:

この層は小さなもので、フレームワークのコアも、あなたは私のようであれば、ハンサム後のプロピレンは、我々は、実質的に全体の技術のキャリア、時間のほとんどは、技術スタックのこの層を扱う、バックエンドの開発に従事しています、ミドルウェア、基本的なコンピュータの知識、Linuxの操作、データ構造、アルゴリズム、アーキテクチャフレームワーク、開発ツールなど、さまざまなまぶしいです。

私はあなたがこの記事を見てみたい、基本的なコンピュータは確かに大学が学ぶのに時間がかからなかった場合、私はそれを見て必要だと思う、それを学習されます。

私たちのページは安全で信頼性の高い伝送を確保するために、なぜ、あなたは学ぶことがHTTP、TCPプロトコルの4倍を振って、何のスリーウェイハンドシェイク。

だけでなく、プロセス、スレッド、コルーチン、どのようなメモリ順序のうちバリア命令、分岐予測、CPUの親和性、およびあなたはこれらの事を習得し、可能ならばそう、プログラミングでのキャリアの後、問題が発生する場合の多くが発生します瞬時に野生の推測(しかし、十分なプロパンプロピレンを行っていない)のように、むしろ、ヘッドレスチキンのようなよりも、ポイントを得ます。

これらのコンピュータの知識について、あなたは言語をプログラミングする必要があり、大学の後にC言語の基礎があなたのエントリはすぐにどのような言語を学びますでしょう、私はオブジェクト指向選んだJAVAを、私はまだいないオブジェクトを持っている理由がわかりません。

ちょうど重要としてJAVAベース、オブジェクト指向の、共通API(クラス、オブジェクト、メソッド、継承、カプセル化、抽象化、多型、メッセージ解析、等を含む)、データ構造セットのフレームワークデザインパターン作成タイプを含む(、構造型、行動)、マルチスレッドと並行処理、I / Oストリーム、ストリーム、ネットワークプログラミングのあなたが知っている必要があります。

書き込みコードは、あなたがより多くの標準化フレームワークになって助けることができるシステムの学習を開始する必要があり、SSMは、開発をより便利に、より明確な構造レベルすることができます。

あなたの大学の使用ことがわかりますように、コードを書くのEclipseあなたは人々に使用するために行くように会社を見未満、IDEA週間後、このようなものであるものの最初の日、本当に香りが、少し高価なこのようなものの通行料、それは無料ですVSCodeは本当に良い選択です。

あなたは、コードの倉庫管理ツールさらされることになるコード書くときにMavenGradleのをプロジェクトのバージョン管理ツールを書くことと、コードが送信されますGitリポジトリ

コードの提出後、解放後、あなたはそれを、自分のサーバー個人的に調査を行うために多くのことを見つけるのLinux、の知識はそれで利用することができるプロセスを確認するために、ビューファイル、様々なVimのように操作して。

システムではない最適化スペースに多くの場所の最適化、あなたが試すかもしれないアルゴリズムを、または最適化するデータ構造を最適化するには、あなたは、HashMapのソースコードを参照してください赤黒木を知りたい、そして、二分探索木を見て、各アルゴリズムオンラインアルゴリズムの問題の一般的なタイプ、ブラシより、あなたは何の本質まとめることができ貪欲、分割統治、動的プログラミングようにしています。

あなたは見つけるように多くのサービス、HTTPリクエストは少しを取得されていますが、あなたのニーズを満たしていませんが、あなたは私たちが理解する必要がありますので、リモートサービスへのアクセスのように、そのようなローカルサービスへのアクセスなど、より便利に開発したいダボ、春の雲を

あなたは、高性能との接触に入るので、ダボがプロセスを理解し、あなたは、RPCの本質を発見NIOのフレームワーク、ネッティー

コードが書かれている、通信サービスをすることができますが、あなたはあなたが触れるので、一緒に結合されているロングコードをリンク発見メッセージキューおいしい、この非同期アプローチを、。

彼はまた、あなたが一度にバーストトラフィックキューにバッファリング作るのを助けることができますが、ことを貧しい上の分散トランザクション管理のケースを見つけ、そしてあなたは、分散トランザクションを学びます、何を、二段、三段、TCC XA、グローバル・トランザクション・サービスGTSのアリ雲とオンそう。

あなたが知りたいだろうトランザクション分散RocketMQを彼が分散トランザクション、あなたが見ることができるビッグデータのシーンのためのソリューションが付属しているので、カフカが住んでいたが

私は、上記のZKを同じように、ダボカフカが住んでいたミドルウェアレジストリ技術スタックの多くは、最終的な知識システムを形成するように、あなたが最初にシステム内のすべてのメンバーについて学んだ、それで行われ、あなたはそれらを置くことができますリンク。

遠隔通信への両方においてプロセス通信の双方向サービスは、それほど性能は、いくつかの影響であることがバインドされています。

また、このようなネットワークの輻輳などの不確実性の多くの要因、サーバー側のサーバーのダウンタイム、ショベルタックルルーム繊維等のため、マイクロサービスの円滑かつ安定した仕事を確保するために、余分な機能や措置の多くを必要とします。

春クラウドそこでHystrixヒューズ、リボンクライアント・ロード・バランサ、ユーレカレジストリなど、これらのサービスのマイクロコンポーネントの問題を解決するために使用されています。

あなたは、ほぼあなたは、このようなコンテナ化などいくつかの主要なフォーラム、ブログ、最先端の技術があった、あなたはのように、コンテナの知識を知ってもらうかもしれないことがわかり、学習感じるドッカー、Kubernetes(K8S)ようにと。

マイクロサービスを迅速に開発することができました、非常に重要な理由は次のとおりです。コンテナとコンテナ管理システム技術の開発が成熟しています。

物事のこの層は、実際にははるかにそれよりも、私は繰り返しますが、より多くの教師のようなより、書き込み、落胆のように、私たちはゆっくりと動作するように、技術のほとんどは徐々ににさらされている、慌てる必要はありませんありません。理解し、より深く行きます。

まあ我々はそれがシェーンあり、その後ダウン、マップを見下ろすし続けますか?

データ層:

データベースは、全体のシステムとすることができる最も貴重な一部であり、私の庭の前にテキストを1日、ちょうど足の操作にマイクロ一つプログラマ削除ライブラリを起こった、足の事実上のライブラリを削除した私たちは、最も一般的に使用されるオンライン冗談ですが、私は期待していませんでしたまだ現実に輝きます

また、それを少しそこに言及され、36時間の失敗、実際には、インターネット企業は冗談である必要があり、右、典拠コントロール、同様のやっていないのrm -rf、FDISK、ドロップなど高リスクリアルタイムに遮断命令することができるようにと、バックアップ、フルバックアップ、増分バックアップ、バックアップ、オフサイトの災害復旧を遅らせるすべて、このことについて考えるように上場企業の少しを持つべきではないか、あってはなりません。

基本的なデータベースのトランザクション分離レベルインデックス、SQL、マスターが同期され、別々の読み取りと書き込みとそれはあなたが学んだことを学ぶ時間があるかもしれません。

我々は、すべてのことを知っている必要がありあり1つのバスケットの真実にあなたの卵を入れないで、安全性上記のサブライブラリー、そして、あなたが時間をかけてデータテーブルが大きいことがわかります、意味は非常に明確である、テーブルに到達するためのポイントを考えます何TDDLシャーディング-JDBCDRDSこれらのプラグインがにさらされています。

あなたが大規模な流れを見つけ、またはホットデータデータベースは少し多すぎる圧力はまだ立って、アプローチ上の非リレーショナルデータベースことはできませんヒットすると、Redisのは望ましいもちろんですが、MongoDBは、memcacheのは、独自のシナリオを持っています。

このことは、メモリ内の速い操作ですので、本当に速いのRedis、おいしいを、使用して、しかし後にあなたは、ほとんどの冒頭で述べたセキュリティ上の問題を心配するから始めましょう、そして実行する方法失われたデータを破りますか?あなたは、公式ドキュメントを読んで始めるAOF、RDBをタイムラインに遭遇すると、これらの永続性メカニズムキャッシュアバランシェ降伏、浸透ようにしています。

あなたが理解しなければならないように、クラスタでも、クラスタの健康状態を心配して、単一に満足し、彼のクラスタモデルされていない歩哨を、彼のマスター・スレーブ同期、長い時間がキーより、あなたは理解する必要があり、メモリ除去メカニズムを ......

彼の大容量ストレージの問題は、あなたが知っておく必要があるかもしれピカを ....

実際には、あまりにも多くの、そして私はそれを越えて行くことができますが、実際には、長い時間のために学習する各ポイントの底面に到達するためにすべての点、私たちは読み。

リアルタイム/オフライン/ビッグデータ

あなたは、いくつかの非リレーショナルリレーショナルデータベースの知識を入れたら、うまく仕上げ、あなたはデータやビッグああ、しかし、より多くの多様なシーンデータを見つけるだろう、とミドルウェアのデータの大規模な様々なことをあなたは持っています私は理解しています。

あなたはこれらのデータが変更、不要のリアルタイムは、その後、あなたは次のように露出させることができるではないだろうが、そのようなあなたは、昨年先月の手形を支払うためにあなたの宝物を見つけるよう、リアルタイムのデータを必要としない、シーンの多くを見つけるでしょうODPSこのような中間作品は、データのオフライン分析を行います。

そして、あなたは、のようにHadoopのシリーズに関連する何かに接触する可能性のHadoop(HDFS)データウェアハウス・ツールであるハイブ、Hadoopの分散ファイルシステム、列指向データベースの上に構築されるのHBase

いくつかの単純なクエリを実行するためのより多くのシーンを書く、彼らがいることを、少しやり過ぎを使用カサンドラはもっと良かったはず。

オフラインデータ分析をすることを、リアルタイムでの一般的な、類似したリスクコントロールのいくつかを満たすことができないFLINKあなたが少しを知っている必要があり、彼は窓は非常に興味深いと思いました。

以上のデータ接点、計算エンジンのスパークそうでないと手放すことができない......

検索エンジン:

こうした我々は結果でない限り、数回では、Baiduの淘宝網一緒にデータベースの検索では、何かのためにいくつかのキーワードを持つことが多いものを検索するときなど、従来のリレーショナルデータベースと非リレーショナルのNoSQLデータいくつかの問題を解決する方法はありません、交差点を行い、実現しにくいです。

その全文検索エンジンは、検索の問題を解決するために生まれた、あなたは物事にへのリアルタイム同期のデータベース置く方法を考えなければならないESを行くために、あなたはに考えるかもしれないlogstash同期するために時限式の実行スクリプトに、または装っ手を差し伸べるためにMySQLのサービスから運河、彼がメインサービスのサブスクリプションMySQLへ行くとbinlogの後、エスに自分のデータを操作するために解析され、。

これらのすべての設定、およびその視覚的なバックグラウンドチェックとどのようにそれを解決するには?Kibanaは、彼彼もエスクラスタ健康管理は、クエリシステムは、多くの企業が行うには、それを使用しているログに記録し、可視化を行っている、視覚的なプラットフォームです。

学習パス

それは、特定のルートに来るとき、私はあなたが認知またはそれリテラシーを持ちたいので、あなただけのテクノロジー・スタックのすべてのレベルで導入されていれば発見されない、ハンサムプロピオン探し、それは、それはしませんでした。

情報/学習サイト

JavaFamily:一人の男のメンテナンスのGitHubによってインターネットGouqietousheng

CodeGym:オンラインJavaプログラミングコース、コンテンツの80%がについて何も知らない初心者のための適切な実践にあります。

オンラインコースJavaのWibit:プログラミングを学ぶための非常に興味深いサイト、鮮やかなアニメーション画像の様々な人々が退屈な学習を忘れることができます。オンラインビデオ学習、ゼロベースのための理想的。

CS106Aスタンフォード:プログラミング方法論:もちろんのスタンフォード・クラシックシリーズ、全くプログラミングの経験は、Java言語を勉強したい、あなたはこのコースを見てみることができます。

Bloombenc:オンラインインタラクティブな学習プラットフォーム、教師は学び、リズムにあなたの能力に基づいて、その指導方法を変更するだけでなく、プラットフォーム上でコーディングすることができます。

Imooc:ムーのクラスのネットワークは、C言語で私の大学は見るためにここにあります

Codecademy:仕事の技術的能力を探していたときに、より実用的なJavaのオンラインコース、焦点は非常に便利です。

Pluralsightのうち、:Javaの統合は、一部は有料のビデオレッスン、いくつかの無料の多くは、あなたが自分のニーズに応じて選択することができます。

Javaのトレーニングビデオオンラインリンダ:Javaの詳細コース、MySQLデータベース、リフレクションAPIを統合するためにJDBCを使用する方法などは、ファイルやディレクトリを管理します。

IXの基本アルゴリズムのクラス(Javaの):中国のオンライン双方向授業、学習を開始する準備ができて。

BeginnersBook:初心者のための無料のJavaチュートリアルの後、いくつかのプログラミングのために少し基礎があり、ドキュメントが実際にコードをたどることができます。

docs.oracle.com/javase/tutorial:Javaへの公式ガイド、ほぼすべて理解するには、Java技術的特性は非常に有用です。

JournalDev:JavaのチュートリアルやQ&A

JavaWorld:最も初期のJavaサイトでは、毎週のJavaテクノロジの記事を更新しました。

developer.com/java Java技術の記事のウェブサイトのメンテナンス。

IBM developerWorksのテクノロジWebサイト:Javaテクノロジホームの一つであるIBMのDevelperworks技術サイト、

おすすめ

転載: www.cnblogs.com/kakaisgood/p/12606863.html