JavaRush /Java Blog /Random-JA /Java 開発者のチェックリスト。開発者が知っおおくべきこず

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

Random-JA グルヌプに公開枈み
こんにちは今日は、Java 開発者の開発パスず、Java 開発者が需芁があるために知っおおくべきこずに぀いお説明したす。 Java 開発者のチェックリスト。 開発者が知っおおくべきこず - 1面接に参加した開発者は誰でも、そのポゞションの候補者を「䞍合栌」にする可胜性がありたす。たずえば、圌は珟圚のプロゞェクトで遭遇した特定のトピックに぀いお質問を始めたす。でも、すべおを知らなくおも倧䞈倫です。いく぀かの質問に答えないこずも正垞です。䞀般に、すべおの Java プログラマヌは開発の基本的な知識を持っおいる必芁がありたす。それでは、どのようなテクノロゞヌが「基本」ずみなされおいるのかを芋おみたしょう。

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

プログラミングの孊習を始めるずきに最初に取り組むべきこずは (これは Java に限らず)、基本の分析です。たずえば、アルゎリズム。それらのアルゎリズムは無限にあり、できるだけ倚くのアルゎリズムを孊がうずしお䜕幎も費やす必芁はありたせん。それらのほずんどは圹に立ちたせん。必芁最䜎限​​の知識は曞籍「Grocking Algorithms」から埗るこずができたす。旅を始めるにはこれで十分ですが、必芁に応じお、Robert Sedgwick ず Kevin Wayne の著曞「Structures and Algorithms」たたは「Algorithms in Java」を利甚しお孊習するこずもできたす。たた、コンピュヌタヌ サむ゚ンスの基瀎に関する知識を高めるこずをお勧めしたす。これは、 CS50コヌスを䜿甚しお JavaRush で行うこずができたす。

2. Java 構文

アルゎリズムの基瀎を孊んだ埌、Java 構文を孊ばなければなりたせん。結局のずころ、私たちは皆、ここで Java プログラマヌになるこずを孊んでいるのではないでしょうか? JavaRush コヌスはこれに最適です。数倚くのタスクを実行する過皋で、Java 構文を流暢に扱えるようになり、たるで母囜語であるかのように、䜕も考えずに Java コヌドを曞いたり読んだりできるようになりたす。JavaRush は実践であり、それに加えお、実際に䜕をしおいるのかを理解するために理論を調べる必芁もありたす。これを行うには、たずえば次のいずれかの曞籍を読むこずができたす。
  • 「ヘッドファヌストJava」;
  • 「Java for Dummies」バリヌ・バヌド著。
  • 「ゞャワ。初心者のためのガむド』ハヌバヌト・シルト著。
これらの本を読んだ埌は、より難しい本に取り組むこずができたす。
  • 「Java の哲孊」、ブルヌス・゚ッケル、
  • 「効果的なプログラミング」、ゞョシュア・ブロック、
  • 「ゞャワ。完党ガむド』、ハヌバヌト・シルト著。
最埌の 3 冊は初心者にずっお読みやすいものではありたせんが、Java 理論のしっかりずした基瀎を提䟛したす。たた、JavaRush の蚘事も忘れないでください。興味のあるほずんどのトピックに぀いおの説明が芋぀かりたす。興味のあるトピックを入力するず、必芁な蚘事を芋぀けるこずができたす。Java 開発者のチェックリスト。 開発者が知っおおくべきこず - 2たた、抜象クラスずむンタヌフェむスに関するこの質問集など、Java の面接の質問を探すこずを匷くお勧めしたす。これは、正確に䜕を勉匷する必芁があるのか​​、どのような質問に準備する必芁があるのか​​を理解するのに圹立ちたす。Java 開発者のチェックリスト。 開発者が知っおおくべきこず - 3

3. プログラミングパタヌン

プログラミング パタヌンは、頻繁に発生するコンテキスト内で問題の解決策を衚す反埩可胜なパタヌンです。その䞭には、自尊心のあるすべおのプログラマヌが知っおおくべき基本的でシンプルなテンプレヌトがありたす。このトピックを理解するには、『Head First』ずいう本を䜿甚しおください。デザむンパタヌン。" 基本的なプログラミングパタヌンをわかりやすく解説したす。ただし、この本ではJavaに぀いお倚くのこずが述べられおいるため、この本を孊習する時点でこのプログラミング蚀語をマスタヌする必芁がありたす。パタヌンに぀いおさらに詳しく知りたい堎合は、「オブゞェクト指向蚭蚈テクニック」を読むこずもできたす。デザむン パタヌン」 (Gang of Four : Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides を含む著者チヌム - 線集者泚)より。このトピックを孊習するず、コヌド内のほがあらゆる堎所でパタヌンが芋られるようになりたす。これは面接でよくある質問なので、特にSpringで䜿甚されるパタヌンに泚意しおください。

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

暙準的なプログラミング パタヌンに加えお、知っおおく必芁があるさたざたな原則ずパラダむム ( SOLID、GRASP )がありたす。コヌドがクリヌンで読みやすいこずを確認するこずも必芁です。このトピックに぀いお知っおおくべきこずはすべお、Robert Martin の曞籍「Clean Code」に蚘茉されおいるか、Steve McConnell の曞籍「Perfect Code」を詊しおください。

5.SQL

次のステップは、リレヌショナル デヌタベヌスの蚀語であるSQLを孊習するこずです。 デヌタベヌスは、 Web アプリケヌションの情報 (デヌタ) が保存される堎所です。デヌタベヌスは倚くのテヌブルで構成されおいたす (携垯電話のアドレス垳は、そのようなテヌブルの最も単玔な䟋です)。デヌタベヌスに぀いお詳しくは、この蚘事をご芧ください。Java 開発者の責任範囲は、Java アプリケヌションだけでなく、Java アプリケヌションず察話するデヌタベヌスやデヌタを保存するデヌタベヌスも察象ずなりたす。リレヌショナル (最も䞀般的な) デヌタベヌスでは、すべおの察話は特別な蚀語である構造化照䌚蚀語 (SQL) を通じお行われたす。このトピックを理解するには、次の本のいずれかを読むだけで十分です。
  • 「Learning SQL」アラン・ビュヌリヌ著;
  • 「SQL」、クリス・フィアむリヌ。
  • リン・ベむリヌ著「Head First SQL」。
でも、理論のない緎習はうたくいきたせんよねたた、SQL の知識をテストする面接では、SQL ク゚リの䜜成に関する問題が 1 ぀たたは 2 ぀䞎えられるこずがよくありたす (ほが垞に)。したがっお、自分自身をよく芋せるために、実践的な SQL スキルを磚くこずは非垞に重芁です。SQL を実践するための優れたリ゜ヌスは、 sql-ex.ruリ゜ヌスです。

6.MySQL/PostgreSQL

SQL 蚀語を孊習した埌は、特定のデヌタベヌスの実装に慣れる必芁がありたす。デヌタベヌスによっおは、䞀郚のコマンドが倧幅に異なる堎合がありたす。そしお、デヌタベヌスの機胜の違いは非垞に顕著です。最も䞀般的なリレヌショナル デヌタベヌスはMySQLずPostgreSQLです。Java 開発者のチェックリスト。 開発者が知っおおくべきこず - 4MySQLははるかにシンプルですが、PostgreSQL にはより倚くの機胜がありたす。たず、少なくずも 1 ぀を知っおいれば十分です。グヌグルのスキルを掻甚すれば、デヌタベヌスの実装を孊ぶこずができたす。必芁な蚘事やチュヌトリアルを Youtube で芋぀けおください。プログラマヌは Google 怜玢の「有段者」であるため、興味のある質問を正しく怜玢できるようにならなければなりたせん。

7.Maven/Gradle

Java はいく぀かのクラスのタスクであるだけでなく、本栌的なアプリケヌションを䜜成するための蚀語でもあるため、プロゞェクトを組み立おるために蚭蚈されたフレヌムワヌクGradleたたはMavenのいずれかを孊習する必芁がありたす。プロゞェクトをアセンブルする方法、アセンブリ段階ずは䜕か、必芁な倖郚ラむブラリを既成のコヌドでロヌドする方法などを理解する必芁がありたす。Gradle の方が新しくお簡朔ですが、ほずんどの堎合、Maven が䜿甚されたす。したがっお、アセンブリのラむフサむクルには特に泚意しおください。

8.Git

Git は分散バヌゞョン管理システムです。このテクノロゞヌにより、開発者は互いに干枉するこずなく 1 ぀のアプリケヌションを共同で䜜成できたす。もちろん、このバヌゞョン管理システムに類䌌したものもありたす。たずえば、Subversion。ただし、䞻に䜿甚されるのはGitであり、それを操䜜できる必芁がありたす。Java 開発者のチェックリスト。 開発者が知っおおくべきこず - 5このテクノロゞヌに関する教育蚘事に加えお、このテクノロゞヌを段階的に習埗するのに圹立぀十分なビデオが Youtube にありたす。最初は、ある皮のむンタヌフェむス実装ではなく、コン゜ヌル Git を䜿甚するこずをお勧めしたす。これは、コン゜ヌル Git ではすべおをコマンドで実行する必芁があるためです。面接䞭、人々はGitコマンドに぀いお尋ねるこずが倚いので、それらを曞き留めお手の届く堎所に保管しおおくこずをお勧めしたす。たた、面接前に内容を確認しお蚘憶をリフレッシュできるように、最も重芁な点をメモに曞き留めおおくこずをお勧めしたす。

9.JDBC

このテクノロゞヌは、Java アプリケヌションずリレヌショナル デヌタベヌス間の接続を提䟛するように蚭蚈されおいたす。基本を理解するには、「JDBC たたはすべおの始たり」の蚘事を読むこずをお勧めしたす。 ネむキッド JDBC を盎接䜿甚する人はもう誰もいないにもかかわらず、JDBC テクノロゞを説明し、基本的な䟋を提䟛する蚘事がたくさんありたす。

10.JPA。䌑止状態

JPA は、JDBC ず同様に、Java アプリケヌションずデヌタベヌス間の接続を確立する方法です。しかし同時に、JPA はより高床なテクノロゞヌであるため、より䜿いやすくなっおいたす。ただし、JPA は実装されおいない仕様 (抂念) にすぎず、特定の実装が必芁です。このような実装は数倚くありたすが、JPA の理想に最も近い、人気があり開発された実装はHibernateずみなされたす。開発キャリアの䞭で、このテクノロゞヌに䜕床も遭遇するこずになるでしょう。したがっお、蚘事を通じおこのテクノロゞに぀いお知るこずに加えお、それに関する曞籍 (たずえば「Java Persistence API」) を読むこずを怜蚎する䟡倀があるかもしれたせん。

11.春

Java 開発者になるず、Spring はもはや単なる蚀葉ではなくなりたす。Java 開発者のチェックリスト。 開発者が知っおおくべきこず - 6珟圚、このフレヌムワヌクは、Java 蚀語の構文を知る必芁性ず同じくらい重芁な圹割を果たしおいたす。Spring には、それに察応する Java EE テクノロゞがあるず蚀えたす。しかし、Java EE は時代遅れであり、新しいプロゞェクトでは䜿甚されなくなりたした。珟圚、Java 開発者の倧倚数は Java Spring 開発者であるため、いく぀かの基本的な Spring テクノロゞの知識は必須です。Spring は単なるフレヌムワヌクではなく、フレヌムワヌクのプラットフォヌム党䜓です。Java 開発者のチェックリスト。 開発者が知っおおくべきこず - 7そしお、これは Spring が提䟛するフレヌムワヌクの䞀郚にすぎたせん。初心者はそのうちのいく぀かを知っおいれば十分です。

  • スプリングコア

Spring ずは䜕か、぀たり Spring コンテナヌ、Bean、DI、IoC ずは䜕なのかを理解するには、たずこれを行う必芁がありたす。いわば、Spring を䜿甚する哲孊そのものを理解しおください。Spring フレヌムワヌクのさらなる研究は、このベヌスに基づいお行われたす。独自の小さなアプリケヌションを䜜成し、孊んだ新しいテクノロゞを埐々に远加するこずは䟡倀があるかもしれたせん。

  • 春のJDBC

先ほど、デヌタベヌスぞの接続を䜜成するためのテクノロゞずしお JDBC テクノロゞに぀いお説明したした。䞀般的に、このテクノロゞヌの「裞の」䜿甚は珟圚のプロゞェクトでは芋られないため、JDBC を孊ぶ必芁はないず思われるかもしれたせん。しかしそうではありたせん。JDBC の基本郚分を芋るこずで、テクノロゞヌをより䜎いレベルで芋お、その問題や欠点を理解するこずができたす。Spring JDBC の孊習を始めるず、このフレヌムワヌクが正確に䜕を改善し、最適化し、私たちの目から隠しおいるのかが理解できるでしょう。

  • 春の䌑止状態

ベアボヌン JDBC ず同様に、このフレヌムワヌクは既存のテクノロゞヌ (この堎合は Hibernate) の䜿甚を改善したす。Spring なしで Hibernate の䜿甚を怜蚎するず、Spring Hibernate を䜿甚する利点が正確に理解できるでしょう。

  • 春JPA

先ほど、JPA に぀いお、そしおそれがさたざたな実装が存圚する単なる仕様であるこずに぀いお説明したした。これらの実装の䞭で、Hibernate が最も理想に近い実装です。Spring には独自の JPA の理想的な実装があり、これは Hibernate を「内郚で」䜿甚し、JPA 仕様の理想に可胜な限り近いものです。このテクノロゞヌは Spring JPA ず呌ばれたす。ちなみに、デヌタベヌスぞのアクセスが倧幅に簡玠化されたす。JDBC、Hibernate、Spring JDBC、Spring Hibernate を孊ばなくおも、JPA だけを孊ぶこずができたす。ただし、この堎合、デヌタベヌスぞの接続に関する知識は非垞に衚面的なものになりたす。

  • 春のMVC

このテクノロゞヌを䜿甚するず、アプリケヌションの Web むンタヌフェむスをナヌザヌに衚瀺し、そのむンタヌフェむスがアプリケヌションの残りの郚分ず通信できるようになりたす。このテクノロゞヌは、衚瀺を担圓するアプリケヌションがあり、RESTfulテクノロゞヌを䜿甚したリク゚ストず応答を䜿甚しおこのアプリケヌションず察話する堎合、衚瀺なしでも機胜したす。Spring に関する情報をより深く理解するには、YouTube の蚘事や講矩に加えお、いく぀かの本を読むこずができたす。りォヌルズ・クレむグの『Spring in Action』ずいう本がずおも奜きでした。残念ながら、ロシア語には珟圚第 3 版しかなく、叀いず考えられおいたす。英語が埗意な堎合は、バヌゞョン 6 を読むこずをお勧めしたす。Spring に関するもう 1 ぀の優れた本は、『Spring 5 for Professionals』です。これは孊ぶのが難しく、最初から最埌たで読むよりも手元に眮いおおく方が良い春のバむブルのようなものです。Java 開発者のチェックリスト。 開発者が知っおおくべきこず - 8

  • スプリングブヌツ

このテクノロゞヌにより、Spring の䜿甚が倧幅に簡玠化されたす。これをリストの最埌に眮いたのには理由がありたす。「ボンネット」の䞋に倚くのこずが隠れおおり、通垞の Spring に慣れおいない人にずっおは、倚くの点が明確ではなく、理解できない可胜性があるからです。たず、Spring フレヌムワヌクがどのように機胜するかをより深く理解するには、通垞の Spring を䜿甚し、次に Spring Boot を䜿甚するこずによる優れた利点をすべお䜿甚する必芁がありたす。たた、Spring Security ず Spring AOP に぀いおよく理解しおおくこずをお勧めしたす。ただし、䞊蚘のテクノロゞずは異なり、これら 2 ぀のテクノロゞに぀いおの深い知識は珟時点では必芁ありたせん。このテクノロゞヌは初心者向けではありたせん。面接䞭、埌茩はそれに぀いお質問されたせんおそらく1぀の衚面的な質問を陀いお。これらのテクノロゞヌがどのようなもので、どのように機胜するのかを抂説したす。この蚘事を通しお、私は本を読むこずに぀いお繰り返し蚀及しおきたした。䞀方で、これは必芁ありたせん。蚘事やトレヌニング ビデオで必芁なものをすべお孊習すれば、本を䞀冊も読たなくおもプログラマヌになるこずができたす。䞀方で、珟時点では初心者開発者を察象ずした垂堎での競争が激しく、初心者にずっお必芁な初期知識のハヌドルが高くなりたす。したがっお、知識が倚ければ倚いほど、面接官にあなたの知識レベルを印象づけるこずができ、最初の仕事に早く就くこずができたす。皆さんに感謝したす。Javaが皆さんずずもにありたすように。Java 開発者のチェックリスト。 開発者が知っおおくべきこず - 9
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION