CodeGym /Java Blog /ランダム /Java 開発者のチェックリスト。開発者が知っておくべきこと
John Squirrels
レベル 41
San Francisco

Java 開発者のチェックリスト。開発者が知っておくべきこと

ランダム グループに公開済み
やあ!今日は、Java 開発者の成長の道筋と、需要があるために知っておくべきことについて話します。 Java 開発者のチェックリスト。 開発者が知っておくべきこと - 1面接では、開発者なら誰でも候補者を厳しく責めるかもしれません。たとえば、現在のプロジェクトで遭遇した特定のトピックについて質問を始める場合があります。しかし、すべてを知らないのは普通のことです。質問によっては答えられないことも普通のことです。原則として、すべての 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 冊は初心者にとって読みやすいものではありませんが、Java 理論の強固な基礎を提供します。また、CodeGym の記事も忘れないでください。興味のあるトピックのほとんどが説明されています。検索バーに興味のあるトピックを入力すると、関連する記事を見つけることができます。JavaJava 開発者のチェックリスト。 開発者が知っておくべきこと - 2のインタビューからの質問を探すことも強くお勧めします。これは、正確に何を学ぶ必要があるのか​​、どのような質問に備えるべきなのかを理解するのに役立ちます。

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. プログラミングパラダイム。コードのクリーンさ

標準の設計パターン以外にも、注意すべきさまざまな原則とパラダイムがあります ( SOLIDGRASP )。コードをクリーンで読みやすい状態に保つ必要もあります。すべてについては、このトピックについて知っておく必要があります。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」。
でも、理論なしで実践しても効果はありませんよね?また、面接では SQL の知識をテストされることが予想されます。面接官は多くの場合 (ほぼ常に)、SQL クエリの作成を伴う 1 つまたは 2 つのタスクを与えます。したがって、自分自身をよく見せるためには、実践的な SQL スキルを磨くことが非常に重要です。

6.MySQL/PostgreSQL

SQL 言語を学習した後は、特定のデータベース実装に慣れる必要があります。データベースによっては、一部のコマンドが大幅に異なる場合があります。そして、データベースの機能にはかなり顕著な違いがあります。最も一般的なリレーショナル データベースはMySQLPostgreSQLです。Java 開発者のチェックリスト。 開発者が知っておくべきこと - 3MySQL ははるかにシンプルですが、PostgreSQL はより幅広い機能を備えています。少なくとも 1 つを理解していれば、始めるのに十分です。グーグルのスキルを活用すれば、データベースの実装を学ぶことができます。YouTube で関連する記事やチュートリアルを見つけてください。答えが必要な質問に対して適切な検索クエリを作成する能力を養う必要があります。結局のところ、プログラマーとは、グーグルの黒帯を持っている人のことです。

7.Maven/Gradle

Gradle またはMavenフレームワークのいずれかを学習する必要があります。これらはプロジェクトを構築するためのものであり、あなたにとって Java は、いくつかのクラスを含むタスクのためだけでなく、本格的なアプリケーションを作成するための言語でもあります。プロジェクトのビルド方法、ビルド ステージとは何か、必要な外部ライブラリとサードパーティ コードをロードする方法などを理解する必要があります。Gradle の方が新しく、より簡潔であるにもかかわらず、ほとんどの場合、Maven が使用されます。したがって、Maven のビルド ライフサイクルには特に注意してください。

8.Git

Gitは分散バージョン管理システムです。このテクノロジーにより、開発者は互いに干渉することなく単一のアプリケーションで共同作業することができます。もちろん、他のバージョン管理システムもあります。たとえば、Subversion。ただし、Gitは最も広く使用されており、Git を操作できる必要があります。Java 開発者のチェックリスト。 開発者が知っておくべきこと - 4オンラインで見つけられる Git に関する多数の記事に加えて、YouTube には、このテクノロジーを段階的に習得するのに役立つ十分なビデオがあります。最初は、何らかの GUI 実装ではなく、コマンド ラインから Git を使用することをお勧めします。これは、すべてをコマンドを使用して実行する必要があるためです。面接では、いくつかの Git コマンドについて質問されることが多いため、それらを書き留めて近くの場所に保管しておくことをお勧めします。また、面接前に確認して記憶をリフレッシュするために、最も重要なポイントをメモに取っておくことをお勧めします。

9.JDBC

このテクノロジーは、Java アプリケーションとリレーショナル データベースを接続します。基本については、JDBC チュートリアルを読むことをお勧めします。ネイキッド JDBC を直接使用する人はもう誰もいませんが、JDBC を説明し、基本的な例を提供する記事が豊富にあります。

10.JPA。休止状態

JPA は、JDBC と同様に、Java アプリケーションとデータベース間の接続を確立する方法です。しかし同時に、JPA はより高いレベルのテクノロジーであるため、より使いやすくなります。ただし、JPA は単なる仕様であり、実装ではありません。具体的な実装が必要です。それらは多数存在しますが、JPA の理想に最も近く、最も人気があり、最も開発されているのは Hibernate です。ソフトウェア開発のキャリアの中で、このテクノロジーに何度も遭遇することになるでしょう。したがって、記事を読んでこのテクノロジーに慣れることに加えて、たとえば「Java Persistence API」などの書籍を読むことを検討する価値があるかもしれません。

11. 春

Java 開発者になると、Spring は単なる言葉ではなくなります。Java 開発者のチェックリスト。 開発者が知っておくべきこと - 5このフレームワークを知ることは、Java 構文を知ることと同じくらい重要になりました。Spring には兄弟、つまり Java EE があると言えます。しかし、Java EE は時代遅れであり、新しいプロジェクトでは使用されなくなりました。現在、圧倒的多数の Java 開発者は Java-Spring 開発者であるため、いくつかの基本的な Spring テクノロジを知っていることが必須です。Spring は単なるフレームワークではなく、フレームワークのフレームワーク全体です。Java 開発者のチェックリスト。 開発者が知っておくべきこと - 6そして、これは Spring が提供するフレームワークのサブセットにすぎません。初心者の場合は、そのうちのいくつかを知っていれば十分です。

  • スプリングコア

Spring とは何か、つまり Spring コンテナー、Bean、DI、IoC などについてすべて理解できるように、これを最初に置く必要があります。いわば、Spring を使用する哲学そのものを理解するためです。Spring フレームワークのさらなる研究は、このベースの上に構築されます。おそらく、新しく学んだすべてのテクノロジを徐々に組み込むことができる独自の小さなアプリケーションを作成する必要があります。

  • 春のJDBC

先ほど、データベース接続を作成するためのテクノロジとして JDBC について説明しました。一般に、プロジェクトではこのテクノロジを「裸で」使用することはもう見られないため、JDBC を学習する必要はないと結論付けることができます。これはまったく正しい態度ではありません。JDBC を直接 (直接) 使用することを検討することで、テクノロジーをより低いレベルで確認し、その問題と欠点を理解することができます。Spring JDBC の学習を始めると、このフレームワークが正確に何を改善し、最適化し、隠しているのかがわかるでしょう。

  • 春の休止状態

ネイキッド JDBC の状況と同様に、このフレームワークは既存のテクノロジー (この場合は Hibernate) を利用します。Spring なしで Hibernate の使用を検討すると、Spring Hibernate が提供する利点を確実に実感できるでしょう。

  • 春JPA

先ほど JPA について説明し、さまざまな実装があるものの、それは単なる仕様であると述べました。これらの実装の中で、Hibernate が最も理想に近い実装です。Spring には、内部で Hibernate を使用する独自の理想的な JPA 実装があります。これは JPA 仕様の理想に可能な限り近いものです。Spring JPAと呼ばれます。一言で言えば、データベースへのアクセスが大幅に簡素化されます。JDBC、Hibernate、Spring JDBC、または Spring Hibernate を学習せずに JPA のみを学習することはできます。ただし、このアプローチを採用した場合、データベースへの接続方法に関する知識は非常に表面的なものになります。

  • 春のMVC

このテクノロジーにより、アプリケーションの Web インターフェイスをユーザーに表示し、インターフェイスとアプリケーションの残りの部分の間の通信を容易にすることができます。ディスプレイの処理を担当するアプリケーションがあり、RESTfulテクノロジーを使用してアプリケーションと対話している場合、このテクノロジーはディスプレイなしで使用することもできます。春に関する情報をよりよく吸収するには、記事や YouTube レクチャーに加えて、数冊の本を読むとよいでしょう。私はクレイグ・ウォールズの「Spring in Action」という本がとても好きでした。英語が得意な方は、第 6 版を読むことをお勧めします。Spring に関するもう 1 つの優れた本は、「Spring 5 for the Professionals」です。より濃厚です。最初から最後まで読むよりも、手元に置いておく方が価値のある参考資料のようなものです。Java 開発者のチェックリスト。 開発者が知っておくべきこと - 7

  • スプリングブーツ

このテクノロジーにより、Spring の使用が大幅に簡素化されます。気まぐれでリストの最後に入れたのではありません。確かに、内部には多くのことが隠されており、バニラ スプリングに慣れていない人にとっては、多くの点が不明確または理解できないかもしれません。まず、Spring フレームワークがどのように機能するかをより深く理解するには、通常の Spring を使用してから、Spring Boot を使用することによる優れた利点をすべて理解する必要があります。Spring Security と Spring AOP についてもよく理解しておくことをお勧めします。ただし、上記のテクノロジーとは異なり、これら 2 つに関する深い知識はまだ必要ありません。このテクノロジーは初心者向けではありません。面接では、若手開発者はそれらについて質問されません (おそらく、1 つの表面的な質問を除いて)。これらのテクノロジーとは何か、およびその動作の背後にある原理の概要をお読みください。記事上で、本を読むことについては何度も言及してきました。一方で、これは必須ではありません。本を一冊も読まなくても、オンライン記事やトレーニング ビデオから必要な知識をすべて取得すれば、プログラマーになることができます。一方で、雇用市場では現在、初心者開発者間の競争が激しく、初心者が知っておくべきことのハードルが高くなっています。したがって、知識が多ければ多いほど、面接官にあなたの知識レベルを印象付けることができ、最初の仕事を早く見つけることができます。みなさんに感謝します。Java があなたとともにありますように。これにより、初心者が知っておくべきことのハードルが上がります。したがって、知識が多ければ多いほど、面接官にあなたの知識レベルを印象付けることができ、最初の仕事を早く見つけることができます。みなさんに感謝します。Java があなたとともにありますように。これにより、初心者が知っておくべきことのハードルが上がります。したがって、知識が多ければ多いほど、面接官にあなたの知識レベルを印象付けることができ、最初の仕事を早く見つけることができます。みなさんに感謝します。Java があなたとともにありますように。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION