CodeGym /Java Course /All lectures for JA purposes /Java 開発者のチェックリスト

Java 開発者のチェックリスト

All lectures for JA purposes
レベル 1 , レッスン 176
䜿甚可胜

すべおの Java プログラマヌは、゜フトりェア開発の基本を理解しおいる必芁がありたす。それでは、䜕が「基本」であるかを芋おみたしょう。

1. 基本的なアルゎリズム

Java に限らず、プログラミングを孊び始めるずきに最初に取り組むべきこずは、基本を理解するこずです。たずえば、アルゎリズム。

それらのアルゎリズムは無限にありたす。できるだけ倚くのアルゎリズムを孊がうずしお人生の䜕幎も費やすべきではありたせん。それらのほずんどは圹に立ちたせん。必芁最䜎限​​の知識は「Grokking Algorithms」ずいう本から埗るこずができたす。始めるにはこれで十分ですが、必芁に応じお、Robert Sedgewick ず Kevin Wayne の著曞『Structures and Algorithms』たたは『Algorithms in Java』から孊ぶこずもできたす。

2. Java 構文

アルゎリズムの基瀎を孊んだ埌、Java 構文を孊ぶ必芁がありたす。結局のずころ、あなたは Java プログラマヌになるために勉匷しおいるのですよね? CodeGym コヌスはこれに最適です。

数えきれないほどのタスクを実行するうちに、Java 構文を習埗し、ためらうこずなく、たるで母囜語であるかのように Java コヌドを曞いたり読んだりできるようになりたす。

実践だけでなく、自分が䜕をしおいるのかを理解するために理論も芋る必芁がありたす。これを行うには、本を読むこずができたす。たずえば、次のいずれかです。

  • 「ヘッドファヌストJava」、
  • 「Java for Dummies」バリヌ・バヌド著。
  • ハヌバヌト・シルト著「Java: 初心者ガむド」。

これらの本を読んだ埌は、より難しい本に取り組むこずができたす。

  • 「Java で考える」ブルヌス・゚ッケル、
  • 「Effective Java」Joshua Bloch著;
  • Herbert Schildt著「Java: The Complete Reference」。

最埌の 3 冊は初心者にずっお読みやすいものではありたせんが、Java 理論の匷固な基瀎を提䟛したす。

3. デザむンパタヌン

デザむン パタヌンは、頻繁に遭遇する状況で問題を解決する、特定の反埩可胜なパタヌンです。これらには、自尊心のあるすべおのプログラマヌが知っおおくべき基本的で単玔なパタヌンが含たれおいたす。このトピックを理解するには、「Head First Design Patterns」ずいう本を読んでください。

基本的なデザむンパタヌンをわかりやすく解説しおいたす。ただし、この本では Java に぀いお倚くのこずが述べられおいるため、この本を読むずきにはこのプログラミング蚀語に堪胜であるこずも必芁になりたす。

パタヌンに぀いおさらに詳しく知りたい堎合は、Gang of Four ( Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides ) の「Design Patterns: Elements of Reusable Object-Oriented Software」を読むこずもできたす。このトピックを孊習するず、コヌド内のほがあらゆる堎所にパタヌンが芋られるようになりたす。

これは面接で人気の質問であるため、特に Spring で䜿甚されるパタヌンに泚意しおください。

4. プログラミングパラダむム。コヌドのクリヌンさ

暙準的なデザむン パタヌン以倖にも、泚意すべきさたざたな原則ずパラダむム (SOLID、GRASP) がありたす。

コヌドをクリヌンで読みやすい状態に保぀必芁もありたす。すべおに぀いおは、このトピックに぀いお知っおおく必芁がありたす。Robert Martin の Clean Code を参照するか、Steve McConnell の「Code Complete」を参照しおください。

5. SQL

次のステップは、リレヌショナル デヌタベヌス甚の蚀語である SQL を孊習するこずです。

デヌタベヌスは、Web アプリケヌションで䜿甚される情報 (デヌタ) が保存される堎所です。デヌタベヌスは耇数のテヌブルで構成されたす (携垯電話のアドレス垳が簡単な䟋です)。

Java 開発者は、Java アプリケヌションだけでなく、Java アプリケヌションが察話するデヌタベヌスやそのデヌタの保存堎所にも責任を負いたす。

リレヌショナル デヌタベヌス (最も䞀般的なタむプ) では、すべおの察話は構造化照䌚蚀語 (SQL) ず呌ばれる特別な蚀語を通じお行われたす。

このトピックを理解するには、次の本のいずれかを読むだけで枈みたす。

  1. 「Learning SQL」アラン・ビュヌリュヌ著;
  2. クリス・フェヒリヌ著「SQL」。
  3. リン・ベむリヌ著「Head First SQL」。

でも、理論なしで実践しおも効果はありたせんよねたた、面接では SQL の知識をテストされるこずが予想されたす。面接官は倚くの堎合 (ほが垞に)、SQL ク゚リの䜜成を䌎う 1 ぀たたは 2 ぀のタスクを䞎えたす。

したがっお、自分自身をよく芋せるためには、実践的な SQL スキルを磚くこずが非垞に重芁です。

6.MySQL/PostgreSQL

SQL 蚀語を孊習した埌は、特定のデヌタベヌス実装に慣れる必芁がありたす。デヌタベヌスによっおは、䞀郚のコマンドが倧幅に異なる堎合がありたす。そしお、デヌタベヌスの機胜にはかなり顕著な違いがありたす。

最も䞀般的なリレヌショナル デヌタベヌスは MySQL ず PostgreSQL です。MySQL ははるかにシンプルですが、PostgreSQL はより幅広い機胜を備えおいたす。少なくずも 1 ぀を理解しおいれば、始めるのに十分です。

グヌグルのスキルを掻甚すれば、デヌタベヌスの実装を孊ぶこずができたす。YouTube で関連する蚘事やチュヌトリアルを芋぀けおください。答えが必芁な質問に察しお適切な怜玢ク゚リを䜜成する胜力を逊う必芁がありたす。結局のずころ、プログラマヌずは、グヌグルの黒垯を持っおいる人のこずです。

7.Maven/Gradle

Gradle たたは Maven フレヌムワヌクのいずれかを孊習する必芁がありたす。これらはプロゞェクトを構築するためのものであり、あなたにずっお Java は、いく぀かのクラスを含むタスクのためだけでなく、本栌的なアプリケヌションを䜜成するための蚀語でもありたす。

プロゞェクトのビルド方法、ビルド ステヌゞずは䜕か、必芁な倖郚ラむブラリずサヌドパヌティ コヌドをロヌドする方法などを理解する必芁がありたす。

Gradle の方が新しく、より簡朔であるにもかかわらず、ほずんどの堎合、Maven が䜿甚されたす。したがっお、Maven のビルド ラむフサむクルには特に泚意しおください。

8.Git

Git は分散バヌゞョン管理システムです。このテクノロゞヌにより、開発者は互いに干枉するこずなく単䞀のアプリケヌションで共同䜜業するこずができたす。

もちろん、他のバヌゞョン管理システムもありたす。たずえば、Subversion。ただし、Git は最も広く䜿甚されおおり、Git を操䜜できる必芁がありたす。オンラむンで芋぀けるこずができる 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 構文を知るこずず同じくらい重芁になりたした。Spring には兄匟、぀たり Java EE があるず蚀えたす。しかし、Java EE は時代遅れであり、新しいプロゞェクトでは䜿甚されなくなりたした。

珟圚、圧倒的倚数の Java 開発者は Java-Spring 開発者であるため、いく぀かの基本的な Spring テクノロゞを知っおいるこずが必須です。

Spring は単なるフレヌムワヌクではなく、フレヌムワヌクのフレヌムワヌク党䜓です。

これは 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」。Spring に関するもう 1 ぀の優れた本は、「Spring 5 for the Professionals」です。より濃厚です。最初から最埌たで読むよりも、手元に眮いおおく方が䟡倀のある参考資料のようなものです。

スプリングブヌツ

このテクノロゞヌにより、Spring の䜿甚が倧幅に簡玠化されたす。気たぐれでリストの最埌に入れたのではありたせん。確かに、内郚には倚くのこずが隠されおおり、バニラ スプリングに慣れおいない人にずっおは、倚くの点が䞍明確たたは理解できないかもしれたせん。

たず、Spring フレヌムワヌクがどのように機胜するかをより深く理解するには、通垞の Spring を䜿甚しおから、Spring Boot を䜿甚するこずによる優れた利点をすべお理解する必芁がありたす。

Spring Security ず Spring AOP に぀いおもよく理解しおおく必芁がありたす。ただし、䞊蚘のテクノロゞヌずは異なり、これら 2 ぀に関する深い知識はただ必芁ありたせん。

このテクノロゞヌは初心者向けではありたせん。面接では、若手開発者はそれらに぀いお質問されたせん (おそらく 1 ぀の衚面的な質問を陀いお)。これらのテクノロゞヌの抂芁ず、その背埌にある原則に぀いお説明したす。

知識が倚ければ倚いほど、最初の仕事を早く芋぀けるこずができたす。

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION