J2EE सीखना शुरू कैसे करें, खासकर JPA [बंद]


11

मैं इसका J2EEहिस्सा सीखना शुरू करने की कोशिश कर रहा हूं Java। लेकिन मुझे नहीं पता कि कहां से शुरू किया जाए। मैं साथ Core Javaऔर मुख्य रूप से पारिवारिक हूं, मैं सीखना चाहता हूं JPAऔर मूल बातें Hibernateऔर Spring Framework। इसका मुख्य कारण मैं एक ऐसी परियोजना पर काम कर रहा हूं जो इन सभी चीजों का उपयोग कर रही है। और अधिकांश कोड कुछ वरिष्ठ लोगों द्वारा विकसित किए जा रहे हैं और मुझे इसमें कुछ संशोधन करने होंगे। इसलिए मूल रूप से मुझे उनके कोड को समझने की जरूरत है।

क्या कोई मुझे एक तरह का रोडमैप दे सकता है, जैसे मुझे किन चीजों को पहले से जानना चाहिए और मुझे किस क्रम में जाना चाहिए? कोई संदर्भ सामग्री, जैसे लिंक, किताबें?


1
क्या इन वरिष्ठों के पास समय है कि वे आपका परिचय दें कि उन्होंने अब तक क्या किया है?

@ Thorbjørn Ravn Andersen: अगर मुझे कुछ संदेह है, तो वह मुझे समझाता है। लेकिन बात यह है कि कोड मध्यम रूप से बड़ा है (~ 10000 लाइनें)। इसलिए अगर मुझे कुछ भी करना है, तो मुझे कई स्रोत फ़ाइलों और कोड की कई लाइनों से गुजरना पड़ता है, जो मुझे लगता है कि वे मुझे पूरी तरह से समझाने के लिए नहीं कह सकते। मूल रूप से मैं जेपीए और स्प्रिंग फ्रेमवर्क से परिचित नहीं हूं, और सामान्य रूप से जे 2 ईई में। इसलिए मुझे कुछ सामान की तलाश थी, जो मुझे यह समझने में मदद करें कि पूरी चीज कैसे काम करती है और मूल बातें, ताकि मैं कम से कम कुछ बेवकूफ संदेह न पूछूं।
भूषण

जवाबों:


7

जब भी मैं एक नया ढाँचा / भाषा सीखना चाहता हूँ, मैं आमतौर पर एक छोटी सी परियोजना का उपयोग करता हूँ। वेब फ्रेमवर्क के लिए, मेरे पास एक सामान्य वेबप है जिसे मैं इसका उपयोग करके लिखता हूं। यह सरल है और बहुत कुछ नहीं करता है, लेकिन इसमें पर्याप्त विशेषताएं हैं जिन्हें मुझे फ्रेमवर्क के अधिक सामान्य भागों (डेटाबेस, पृष्ठभूमि की नौकरियों, पीवीसी या ऐसे ही कुछ भी) का लाभ उठाने की आवश्यकता है। वास्तव में, बहुत पहले मैंने स्प्रिंग / एमवीसी + हाइबरनेट सीखने का काम नहीं किया था। मुझे यह सब पता नहीं है, निश्चित रूप से, लेकिन इसने मुझे एक पृष्ठभूमि के बारे में पर्याप्त जानकारी दी है, जब मुझे कुछ पता नहीं है, मुझे पता है कि क्या प्रश्न पूछना है और कैसे उन्हें अधिक जानकारी प्राप्त करने के लिए पूछना है।

वेब फ्रेमवर्क के लिए, मैं आमतौर पर सरल "हेल्लो वर्ल्ड" उदाहरण के साथ शुरू करता हूं जो ज्यादातर फ्रेमवर्क के लिए प्रदान किया जाता है। यदि इसका "गेस्टबुक" उदाहरण है (यानी, डेटाबेस का उपयोग दिखाने के लिए), तो मैं उसी का पालन करता हूं। वहां से, मैं बस अपने सीखने के आवेदन में जो कार्यक्षमता चाहता हूं, उसे सबसे सरल से जोड़ना शुरू करता हूं। विचार यह है कि मैं यह पता लगा सकता हूं कि सरल चीजों के लिए सही प्रश्न कैसे पूछें। जब मैंने कुछ सरल चीजें की हैं, तब मैं और अधिक जटिल चीजों को देख सकता हूं और, पहले से सीखी गई जानकारी के साथ, मैं उनके लिए पूछने के लिए सही प्रश्न तैयार कर सकता हूं।

यदि आप रुचि रखते हैं, तो मैंने हाल ही में इस तरह की शिक्षण परियोजनाओं के लिए कोड डालना शुरू कर दिया है ।

संपादित करें: डोनल की टिप्पणी से हम जोड़ना चाहते हैं ... मैंने लिंक को आपके लिए एक उदाहरण के रूप में नहीं सीखा। बल्कि, मेरे एक उदाहरण के रूप में मेरे कोड को वहाँ से बाहर रखा। यदि आप वास्तव में सीखना चाहते हैं, तो आपको कोड खुद लिखने की जरूरत है, न कि किसी और की (मेरी राय में, कम से कम) पढ़ें


+1: मैं बहुत सिवाय इसके कि मैं वास्तव में इस आधार पर कि मैं द्वारा सीखने की जरूरत है पर परिणामों को साझा कभी नहीं भी ऐसा ही कर रही है और न कि केवल कॉपी करने , और मुझे लगता है कि अन्य लोगों को एक ही हैं। (ओटीओएच, कभी-कभार मेरा एक प्रयोग जंगली में भाग जाता है और एक वास्तविक उत्पाद में विकसित हो जाता है।)
डोनल फेलो

ईमानदारी से, मैंने तीन कारणों से साझा करना शुरू किया: 1) ताकि मेरा कोड स्थानीय svn रिपॉजिटरी के अलावा कहीं और रह जाए, 2) ताकि, जब लोग किसी विशिष्ट तकनीक में मेरे कोड के उदाहरणों के लिए कहें, तो मैं उन्हें इससे लिंक कर सकता हूं (पहले मेरे पास उन्हें दिखाने के लिए ऐसा कोई कोड नहीं था), 3) जब लोग मुझसे सवाल पूछते हैं कि कुछ कैसे करें और मैंने इसे किया है, तो मैं उन्हें आसान दिखा सकता हूं
RHSeeger

+1। यह एक बहुत अच्छा विचार है। लेकिन यह मेरे सवाल का पूरी तरह से जवाब नहीं देता है। यहां तक ​​कि ऐसा करने के लिए, मुझे कहीं शुरू करना होगा, लेकिन मुझे नहीं पता कि कहां है। किसी भी विषय को बेतरतीब ढंग से स्कैन करना मेरी मदद नहीं कर रहा है।
भूषण

1
विशेष रूप से मैं वेब फ्रेमवर्क पर सीखने के बारे में जाने का एक त्वरित विवरण जोड़ा गया; रास्ता मैं ले दुर्भाग्य से, यह सबसे अच्छा मैं अब के लिए दे सकता है। उम्मीद है, यदि यह पर्याप्त नहीं है, तो कोई और आपकी स्थिति के अनुकूल उत्तर प्रदान कर सकता है।
RHSeeger

2

मैं बहुत समय पहले एक बहुत ही परिचित स्थिति में था। यहाँ मोटे तौर पर पूर्वव्यापी में क्या है, मुझे एक नई तकनीक की मूल बातें जानने के लिए सबसे उपयोगी तरीका मिला:

सामान्य पहूंच:

  1. पता करें कि यह किस समस्या का हल करता है। परियोजना के मुखपृष्ठ, विकिपीडिया लेख जैसे विभिन्न संसाधन पढ़ें।
  2. एक छोटी सी परियोजना का पता लगाएं जिसमें समस्या हो । जैसे कि आपके मामले में, एक छोटा सा वेबैप आपके डीवीडी संग्रह का प्रबंधन करता है, जो कि मित्रों को उधार देने के लिए है।
  3. इस बात पर विचार करना शुरू करें कि आपको कौन से तंत्र प्रौद्योगिकी द्वारा प्रदान किए जाने की उम्मीद करेंगे । ORM समाधान के लिए, यह निर्दिष्ट करने के लिए एक तंत्र कि क्या कोई संबंध है 1:nया नहीं n:n
  4. अपनी तकनीक में इन तंत्रों की खोज करें : जैसे कि JPA में, @OneToManyएनोटेशन ढूंढें । अक्सर, यह वह जगह है जहाँ आप खुद को गेटिंग स्टार्टेड गाइड या वरिष्ठ डेवलपर कोड के माध्यम से काम करते हैं ।
  5. इन तंत्रों का उपयोग करके अपनी मिनी-परियोजना को लागू करें । ऐसा करते समय, आप सीमाओं और शायद कुछ अन्य विशेषताओं की खोज करेंगे। उदाहरण के लिए, JPA में, N + 1 समस्या या एक सुविधा का चयन करता है जो आपको स्वचालित रूप से ड्रॉप करने की अनुमति देता है और ( जावा ) आपके जावा कक्षाओं के लिए टेबल बनाता है
  6. (यदि आप समय दे सकते हैं): यह समझने की कोशिश करें कि आप तंत्र को कैसे लागू करेंगे । ऐसा करने से आपको यह समझने में मदद मिल सकती है कि कुछ सीमाएँ क्यों मौजूद हैं और आप उनके आसपास कैसे काम कर सकते हैं।

प्रारंभ मार्गदर्शिकाएँ के बारे में एक नोट: चरण 4 से पहले उन्हें न पढ़ें। यदि आप अभी भी करते हैं, तो यह आपको काटेगा यदि आप अपने सभी फैंसी विशेषताओं के साथ स्प्रिंग जैसी बहुत शक्तिशाली रूपरेखा सीख रहे हैं। जीवन में हमेशा की तरह, आपका टूल जितना अधिक शक्तिशाली होगा, अगर आप वास्तव में इसे समझ नहीं पाते हैं, तो आप आसानी से पंगा ले सकते हैं।


-1

मैं हेड फर्स्ट सर्वलेट्स और JSP की सलाह देता हूं । यह एंटरप्राइज़ जावा के बारे में सीखने के लिए एक महान संसाधन है।

यह पुस्तक सन सर्टिफाइड वेब कंपोनेंट डेवलपर (SCWCD) ​​परीक्षा पास करने के इच्छुक डेवलपर्स के लिए लिखी गई थी। जब से ओरेकल द्वारा सूर्य का अधिग्रहण किया गया है और इस परीक्षा को बदल दिया गया है। अधिक जानकारी यहां पाई जा सकती है


JSPs अभी तक अप्रचलित नहीं हैं? वे "वेब 2.0" अनुप्रयोगों के लिए बहुत बेकार हैं जो AJAX का भारी उपयोग करते हैं।
केविन क्लाइन

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.