J2EE、特にJPAの学習を開始する方法[終了]


11

私はのJ2EE一部を学び始めようとしていJavaます。しかし、どこから始めればいいのかわかりません。私はfamilierだCore Javaと主に、私が学びたいJPAとの基本HibernateSpring Framework。この主な理由は、これらすべてを使用するプロジェクトに取り組んでいるからです。また、ほとんどのコードは一部の上級者によって開発されており、その中にいくつかの修正を加える必要があります。だから基本的に私は彼らのコードを理解する必要があります。

事前に知っておく必要のあることや、どの順序で行かなければならないかなど、誰かが私に一種のロードマップをくれますか?リンク、書籍などの参考資料はありますか?


1
これらの高齢者は、これまでに行ったことを紹介する時間がありますか?

@ThorbjørnRavn Andersen:疑問を投げかけると、彼はそれを説明してくれます。しかし、コードは適度に大きい(〜10000行)ことです。したがって、何かしなければならない場合は、多くのソースファイルと多くのコード行を調べる必要がありますが、完全に説明するように依頼することはできません。基本的に私はJPAとSpring Framework、そして一般的にJ2EEに精通していません。だから私は全体の仕組みと基本を理解するのに役立つものを探していたので、少なくともいくつかの愚かな疑いを聞かないようにしました。
ブーシャン

回答:


7

新しいフレームワーク/言語を学びたいときはいつも、それを使用する小さなプロジェクトを作成します。Webフレームワークの場合、一般的なwebappを使用して作成します。シンプルであまり機能しませんが、フレームワークのより一般的な部分(データベース、バックグラウンドジョブ、mvcなど)を利用するために必要な機能が十分にあります。実際、少し前に、Spring / MVC + Hibernateを学習するタスクを引き受けました。確かにすべてを知っているわけではありませんが、何かを知らないときは、どの質問をするか、どのように質問すればより多くの情報が得られるかを十分に知ることができました。

Webフレームワークの場合、通常、ほとんどのフレームワークに提供されている単純な「hello world」の例から始めます。「ゲストブック」の例がある場合(つまり、データベースの使用を示すため)、それをフォローアップします。そこから、最も単純なものから始めて、学習アプリケーションに必要な機能を追加し始めます。単純なことに対して正しい質問をする方法を見つけ出すことができるという考えです。いくつかの簡単なことを行った後、より複雑なことを見て、すでに学んだ情報をもとに、適切な質問を作成してそれらを尋ねることができれば幸いです。

興味があれば、私は最近そのような学習プロジェクトのコードをsourceforgeに置き始めました。

編集:Donalのコメントを追加したいと思います...私はあなたから学ぶための例としてリンクを入れませんでした。むしろ、ちょうど私のコードをそこに置く例として。本当に学びたいのなら、他人のコードを読むだけでなく、自分でコードを書く必要があります(少なくとも私の意見では)


+1:コピーするだけでなく、実行することで学ぶ必要があるという理由で結果を事実上共有しないことを除いて、ほとんど同じです。他の人も同じだと思います。(OTOH、時折私の実験の1つが野生に逃げて、実際の製品に進化します。)
ドナルドフェローズ

正直なところ、私は3つの理由で共有を始めました:1)私のコードが私が持っているローカルのsvnリポジトリ以外のどこかに住んでいるように、2)特定の技術で私のコードの例を尋ねるとき、私はそれらにリンクできるように(以前はそれらを表示するコードがありませんでした)、3)人々が何かをする方法について私に質問をして、それをやったとき、私はそれらをより簡単に表示できます
RHSeeger

+1。それは本当にいいアイデアです。しかし、これは私の質問に完全には答えていません。これを行うために、私はどこかから始めなければなりませんが、どこからかわかりません。トピックをランダムにスキャンしても役に立たない。
ブーシャン

1
Webフレームワークでの具体的な学習方法の簡単な説明を追加しました。私がとる道。残念ながら、今のところそれが最高です。うまくいかない場合は、他の誰かがあなたの状況により適した答えを提供できることを願っています。
RHSeeger

2

私はずっと前に非常に似たような状況にありました。振り返ってみると、おおよそ次のようになります。新しいテクノロジの基本をすばやく学習するための最も有用なアプローチが見つかりました。

一般的方法:

  1. それが解決する問題を見つけます。プロジェクトのホームページ、ウィキペディアの記事など、さまざまなリソースを読んでください。
  2. 上記の問題を含む小さなプロジェクトを見つけます。例えば、あなたの場合、あなたのDVDコレクションを友人に貸し出す可能性がある小さなウェブアプリです。
  3. あなたがテクノロジーによって提供されると予想するメカニズムについて考え始めてください。たとえば、ORMソリューションの場合、関係が1:nまたはであるかどうかを指定するメカニズムn:n
  4. テクノロジーでこれらのメカニズムを検索します。たとえば、JPAで@OneToManyアノテーションを見つけます。多くの場合、これは、入門ガイドまたは上級開発者のコ​​ードを通じて自分で作業する場所です。
  5. これらのメカニズムを使用してミニプロジェクトを実装します。そうするうちに、制限とおそらく他のいくつかの機能を発見するでしょう。たとえば、JPAでは、N + 1は問題またはJavaクラスのテーブルを自動的にドロップ(再)作成できる機能を選択します。
  6. (時間に余裕がある場合):メカニズムの実装方法を理解するようにしてください。そうすることで、特定の制限が存在する理由とその回避方法を理解するのに役立ちます。

入門ガイドに関する1つのメモ:手順4の前にそれらを読んではいけません。それでも、もしそうなら、Springのような非常に強力なフレームワークをすべてのすばらしい機能で学習しているなら、これ噛みつきます。いつものように、ツールが強力であればあるほど、それを本当に理解していなくても簡単に台無しになります。


-1

Head First ServletsとJSPをお勧めします。これは、エンタープライズJavaについて学ぶための優れたリソースです。

この本は、Sun Certified Web Component Developer(SCWCD)試験に合格することに興味のある開発者向けに書かれています。Sunはその後Oracleに買収され、この試験は置き換えられました。詳細はこちらをご覧ください


JSPはまだ時代遅れではありませんか?これらは、AJAXを多用する「Web 2.0」アプリケーションにはほとんど役に立ちません。
ケビンクライン

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.