やあ!今日は、Java 開発者の成長の道筋と、需要があるために知っておくべきことについて話します。 面接では、開発者なら誰でも候補者を厳しく責めるかもしれません。たとえば、現在のプロジェクトで遭遇した特定のトピックについて質問を始める場合があります。しかし、すべてを知らないのは普通のことです。質問によっては答えられないことも普通のことです。原則として、すべての Java プログラマーはソフトウェア開発の基本を理解している必要があります。それでは、何が「基本」であるかを見てみましょう。
Spring とは何か、つまり Spring コンテナー、Bean、DI、IoC などについてすべて理解できるように、これを最初に置く必要があります。いわば、Spring を使用する哲学そのものを理解するためです。Spring フレームワークのさらなる研究は、このベースの上に構築されます。おそらく、新しく学んだすべてのテクノロジを徐々に組み込むことができる独自の小さなアプリケーションを作成する必要があります。
先ほど、データベース接続を作成するためのテクノロジとして JDBC について説明しました。一般に、プロジェクトではこのテクノロジを「裸で」使用することはもう見られないため、JDBC を学習する必要はないと結論付けることができます。これはまったく正しい態度ではありません。JDBC を直接 (直接) 使用することを検討することで、テクノロジーをより低いレベルで確認し、その問題と欠点を理解することができます。Spring JDBC の学習を始めると、このフレームワークが正確に何を改善し、最適化し、隠しているのかがわかるでしょう。
ネイキッド JDBC の状況と同様に、このフレームワークは既存のテクノロジー (この場合は Hibernate) を利用します。Spring なしで Hibernate の使用を検討すると、Spring Hibernate が提供する利点を確実に実感できるでしょう。
先ほど JPA について説明し、さまざまな実装があるものの、それは単なる仕様であると述べました。これらの実装の中で、Hibernate が最も理想に近い実装です。Spring には、内部で Hibernate を使用する独自の理想的な JPA 実装があります。これは JPA 仕様の理想に可能な限り近いものです。Spring JPAと呼ばれます。一言で言えば、データベースへのアクセスが大幅に簡素化されます。JDBC、Hibernate、Spring JDBC、または Spring Hibernate を学習せずに JPA のみを学習することはできます。ただし、このアプローチを採用した場合、データベースへの接続方法に関する知識は非常に表面的なものになります。
このテクノロジーにより、アプリケーションの Web インターフェイスをユーザーに表示し、インターフェイスとアプリケーションの残りの部分の間の通信を容易にすることができます。ディスプレイの処理を担当するアプリケーションがあり、RESTfulテクノロジーを使用してアプリケーションと対話している場合、このテクノロジーはディスプレイなしで使用することもできます。春に関する情報をよりよく吸収するには、記事や YouTube レクチャーに加えて、数冊の本を読むとよいでしょう。私はクレイグ・ウォールズの「Spring in Action」という本がとても好きでした。英語が得意な方は、第 6 版を読むことをお勧めします。Spring に関するもう 1 つの優れた本は、「Spring 5 for the Professionals」です。より濃厚です。最初から最後まで読むよりも、手元に置いておく方が価値のある参考資料のようなものです。
このテクノロジーにより、Spring の使用が大幅に簡素化されます。気まぐれでリストの最後に入れたのではありません。確かに、内部には多くのことが隠されており、バニラ スプリングに慣れていない人にとっては、多くの点が不明確または理解できないかもしれません。まず、Spring フレームワークがどのように機能するかをより深く理解するには、通常の Spring を使用してから、Spring Boot を使用することによる優れた利点をすべて理解する必要があります。Spring Security と Spring AOP についてもよく理解しておくことをお勧めします。ただし、上記のテクノロジーとは異なり、これら 2 つに関する深い知識はまだ必要ありません。このテクノロジーは初心者向けではありません。面接では、若手開発者はそれらについて質問されません (おそらく、1 つの表面的な質問を除いて)。これらのテクノロジーとは何か、およびその動作の背後にある原理の概要をお読みください。記事上で、本を読むことについては何度も言及してきました。一方で、これは必須ではありません。本を一冊も読まなくても、オンライン記事やトレーニング ビデオから必要な知識をすべて取得すれば、プログラマーになることができます。一方で、雇用市場では現在、初心者開発者間の競争が激しく、初心者が知っておくべきことのハードルが高くなっています。したがって、知識が多ければ多いほど、面接官にあなたの知識レベルを印象付けることができ、最初の仕事を早く見つけることができます。みなさんに感謝します。Java があなたとともにありますように。これにより、初心者が知っておくべきことのハードルが上がります。したがって、知識が多ければ多いほど、面接官にあなたの知識レベルを印象付けることができ、最初の仕事を早く見つけることができます。みなさんに感謝します。Java があなたとともにありますように。これにより、初心者が知っておくべきことのハードルが上がります。したがって、知識が多ければ多いほど、面接官にあなたの知識レベルを印象付けることができ、最初の仕事を早く見つけることができます。みなさんに感謝します。Java があなたとともにありますように。
1. 基本的なアルゴリズム
Java に限らず、プログラミングを学び始めるときに最初に取り組むべきことは、基本を理解することです。たとえば、アルゴリズム。それらのアルゴリズムは無限にあります。できるだけ多くのアルゴリズムを学ぼうとして人生の何年も費やすべきではありません。それらのほとんどは役に立ちません。必要最低限の知識は「Grokking Algorithms」という本から得ることができます。始めるにはこれで十分ですが、必要に応じて、Robert Sedgewick と Kevin Wayne の著書『Structures and Algorithms』または『Algorithms in Java』から学ぶこともできます。また、コンピューター サイエンスの基礎についての知識を高めることをお勧めします。これはハーバード大学のCS50コースで行うことができます。2. Java 構文
アルゴリズムの基礎を学んだ後、Java 構文を学ぶ必要があります。結局のところ、私たちはここで Java プログラマーになるために勉強しているのですよね? CodeGym コースはこれに最適です。数え切れないほどのタスクを実行するうちに、Java 構文を習得し、迷うことなく、まるで母国語であるかのように Java コードを書いたり読んだりできるようになります。CodeGym は実践ですが、それを超えて、何をしているのかを理解するために理論を調べる必要もあります。これを行うには、本を読むことができます。たとえば、次のいずれかです。- 「ヘッドファースト Java」、
- 「Java for Dummies」バリー・バード著。
- ハーバート・シルト著「Java: 初心者ガイド」。
- 「Java で考える」ブルース・エッケル、
- 「Effective Java」Joshua Bloch著;
- Herbert Schildt著「Java: The Complete Reference」。
3. デザインパターン
デザイン パターンは、頻繁に遭遇する状況で問題を解決する、特定の反復可能なパターンです。これらには、自尊心のあるすべてのプログラマーが知っておくべき基本的で単純なパターンが含まれています。このトピックを理解するには、「Head First Design Patterns」という本を読んでください。基本的なデザインパターンをわかりやすく解説しています。ただし、この本では Java について多くのことが述べられているため、この本を読むときにはこのプログラミング言語に堪能であることも必要になります。パターンについてさらに詳しく知りたい場合は、Gang of Four の「Design Patterns: Elements of Reusable Object-Oriented Software」を読むこともできます (編集者注: Gang of Four は、Erich Gamma、Richard Helm、Ralph を含む著者のチームです)ジョンソン、ジョン・ブリシデス。)。このトピックを学習すると、コード内のほぼあらゆる場所にパターンが見られるようになります。これは面接でよくある質問であるため、特に Spring で使用されるパターンに注意してください。4. プログラミングパラダイム。コードのクリーンさ
標準の設計パターン以外にも、注意すべきさまざまな原則とパラダイムがあります ( SOLID、GRASP )。コードをクリーンで読みやすい状態に保つ必要もあります。すべてについては、このトピックについて知っておく必要があります。Robert Martin の Clean Code を参照するか、Steve McConnell の「Code Complete」を参照してください。5.SQL
次のステップは、リレーショナル データベース用の言語であるSQLを学習することです。 データベースは、 Web アプリケーションで使用される情報 (データ) が保存される場所です。データベースは複数のテーブルで構成されます (携帯電話のアドレス帳が簡単な例です)。Java 開発者は、Java アプリケーションだけでなく、Java アプリケーションと対話するデータベース、およびそのデータの保存場所にも責任を負います。リレーショナル データベース (最も一般的なタイプ) では、すべての対話は構造化照会言語 (SQL) と呼ばれる特別な言語を通じて行われます。このトピックを理解するには、次の本のいずれかを読むだけで済みます。- 「Learning SQL」Alan Beaulieu 著;
- クリス・フェヒリー著「SQL」。
- Lynn Beighley 著「Head First SQL」。
GO TO FULL VERSION