J2EE öğrenmeye nasıl başlanır, özellikle JPA [kapalı]


11

Ben öğrenmeye başlamak çalışıyorum J2EEkısmını Java. Ama nereden başlayacağımı bilmiyorum. Ben aşinayım ve temel olarak ve Core Javaile ilgili JPAtemel bilgileri öğrenmek istiyorum . Bunun ana nedeni, tüm bunları kullanan bir proje üzerinde çalışıyorum. Kodun büyük kısmı bazı üst düzey adamlar tarafından geliştiriliyor ve bu konuda bazı değişiklikler yapmam gerekiyor. Yani temelde onların kodunu anlamak gerekir.HibernateSpring Framework

Birisi bana bir tür yol haritası verebilir mi, önceden bilmem gereken şeyler ve hangi sırayla gitmeliyim? Bağlantılar, kitaplar gibi herhangi bir referans materyal var mı?


1
Bu yaşlıların sizi şimdiye kadar yaptıklarını tanıtmak için zamanları var mı?

@ Thorbjørn Ravn Andersen: Şüphe duyarsam, bana bunu açıklar. Ama mesele kod orta derecede büyük (~ 10000 satır). Eğer bir şey yapmam gerekiyorsa, birçok kaynak dosyadan ve kod satırından geçmek zorundayım ki, sanırım beni tamamen açıklamalarını isteyemezler. Temel olarak JPA ve Spring Framework'e ve genel olarak J2EE'ye aşina değilim. Bu yüzden her şeyin nasıl çalıştığını ve temelleri anlamama yardımcı olacak bazı şeyler arıyordum, en azından aptalca şüpheler sormuyorum.
Bhushan

Yanıtlar:


7

Ne zaman yeni bir çerçeve / dil öğrenmek istersem, genellikle onu kullanan küçük bir projeyi hazırlarım. Bir web çerçevesi için, onu kullanarak yazdığım ortak bir web uygulamam var. Basit ve fazla bir şey yapmıyor, ancak çerçevenin daha yaygın kısımlarından (veritabanı, arka plan işleri, mvc veya benzeri) yararlanmak için yeterli özelliklere sahip. Aslında, çok geçmeden Spring / MVC + Hibernate'i öğrenme görevini üstlendim. Her şeyi bilmiyorum, kesinlikle, ama bana bir şey bilmediğimde, hangi soruların sorulacağını ve daha fazla bilgi edinmelerini nasıl isteyeceğini bildiğimden yeterince arka plan verdi.

Web çerçeveleri için, çoğu çerçeve için sağlanan basit "merhaba dünya" örneğiyle başlıyorum. Bir "ziyaretçi defteri" örneği varsa (yani veritabanı kullanımını göstermek için), ben bunu takip. Oradan, en basitinden başlayarak öğrenme uygulamamda istediğim işlevselliği eklemeye başlıyorum. Basit şeyler için doğru soruları nasıl soracağımı anlayabiliyorum. Bazı basit şeyleri yaptıktan sonra, daha karmaşık şeylere bakabilirim ve daha önce öğrendiğim bilgilerle, onlara sormak için doğru soruları formüle edebilirim.

Son zamanlarda ilgileniyorsanız, bu tür öğrenme projelerinin kodunu sourceforge'a koymaya başladım .

Düzenleme: Donal'ın yorumunu eklemek istiyoruz ... Bağlantıyı öğrenmen için örnek olarak vermedim. Aksine, benim kodumu oraya koymamın bir örneği olarak. Gerçekten öğrenmek istiyorsanız, kodu sadece bir başkasının okuması değil, kendiniz yazmanız gerekir (en azından bence)


+1: Ben de aynısını yapıyorum , ancak sonuçları sadece kopyalamakla kalmayıp yapmam gerektiğini gerekçesiyle hiçbir zaman paylaşmamam ve diğer insanların aynı olduğunu varsayıyorum. (OTOH, bazen deneylerimden biri vahşi doğaya kaçıyor ve gerçek bir ürüne dönüşüyor.)
Donal Fellows

Dürüst olmak gerekirse, üç nedenden dolayı paylaşmaya başladım: 1) Kodum, sahip olduğum yerel svn deposunun yanında bir yerde yaşayacaktı, 2) Böylece, insanlar belirli bir teknolojideki kodumun örneklerini istediğinde, bunları ona bağlayabilirim (daha önce onlara göstermek için böyle bir kodum yoktu), 3) İnsanlar bir şeyi nasıl yapacağım hakkında sorular sorduğunda ve yaptım, onlara daha kolay gösterebilirim
RHSeeger

+1. Bu gerçekten güzel bir fikir. Ama bu sorumu tam olarak cevaplamıyor. Bunu yapmak için bile, bir yerden başlamam gerekiyor, ama nerede olduğunu bilmiyorum. Herhangi bir konuyu rastgele taramak bana yardımcı olmuyor.
Bhushan

1
Özellikle web çerçevelerinde öğrenmeye nasıl gittiğime dair kısa bir açıklama eklendi; izlediğim yol. Ne yazık ki, şimdilik verebileceğim en iyisi bu. Umarım, yeterli değilse, başka biri sizin durumunuza daha uygun bir cevap verebilir.
RHSeeger

2

Uzun zaman önce çok benzer bir durumdaydım. İşte geriye dönük olarak, yeni bir teknolojinin temellerini hızlı bir şekilde öğrenmek için en kullanışlı yaklaşımı buldum:

Genel yaklaşım:

  1. Hangi sorunu çözdüğünü öğrenin. Projenin ana sayfası, wikipedia makalesi gibi çeşitli kaynakları okuyun.
  2. Söz konusu sorunu içeren küçük bir proje bulun . Örneğin, sizin durumunuzda, arkadaşlarınıza ödünç verme imkanı ile DVD koleksiyonunuzu yöneten küçük bir web uygulaması.
  3. Eğer ne mekanizmalar düşünmek başlayın bekliyoruz teknolojinin sağladığı edilecek . Bir orm çözümü için, örneğin bir mekanizma, bir ilişki olup olmadığını belirlemek için 1:nveya n:n.
  4. Teknolojinizde bu mekanizmaları arayın : Ör. JPA'da @OneToManyek açıklamayı bulun . Çoğu zaman, burası bir Başlangıç ​​Kılavuzu veya üst düzey geliştiricinin kodu aracılığıyla çalıştığınız yerdir .
  5. Mini projenizi bu mekanizmaları kullanarak uygulayın . Bunu yaparken, sınırlamaları ve muhtemelen birkaç başka özelliği keşfedeceksiniz. Örneğin, JPA'da, N + 1 sorunu veya Java sınıflarınız için tabloları otomatik olarak bırakıp (yeniden oluşturmanızı) sağlayan bir özellik seçer .
  6. (Zamanı göze alabiliyorsanız): Mekanizmaları nasıl uygulayacağınızı anlamaya çalışın . Bunu yapmak, belirli sınırlamaların neden var olduğunu ve bunların etrafında nasıl çalışabileceğinizi anlamanıza yardımcı olabilir.

Başlangıç Kılavuzu hakkında bir not: Do adım 4. önce bunları okuyamaz yine de bunu yaparsanız olacaktır kendisine ait tüm fantezi özellikleri ile Bahar gibi çok güçlü çerçeveler öğrenme sizi ısırırlar. Hayatta her zaman olduğu gibi, aracınız ne kadar güçlü olursa, gerçekten anlamıyorsanız, daha kolay vidalayabilirsiniz.


-1

Head First Servlets ve JSP'yi öneririm . Enterprise Java hakkında bilgi edinmek için harika bir kaynaktır.

Bu kitap, Sun Sertifikalı Web Bileşeni Geliştiricisi (SCWCD) ​​sınavını geçmek isteyen geliştiriciler için yazılmıştır. Sun o zamandan beri Oracle tarafından alındı ​​ve bu sınavın yerini aldı. Daha fazla bilgiyi burada bulabilirsiniz .


JSP'ler henüz kullanılmıyor mu? AJAX'ı yoğun şekilde kullanan "Web 2.0" uygulamaları için oldukça işe yaramazlar.
kevin cline

-1

Çevrimiçi Hazırda Bekletme belgeleri oldukça iyidir. Oradan başlayabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.