2010-03-04 9 views
6

मैंने जूनियर जावा डेवलपर के रूप में 5 या 6 साल पहले अपनी कंपनी में काम करना शुरू किया, और मुझे Servlets और Jsp का उपयोग करके कुछ जे 2 ईई प्रोग्रामिंग करना पड़ा। मैंने उस स्थिति में ज्यादा समय नहीं लगाया और मैं डेटाबेस के साथ काम करने गया, इसलिए मैंने खुद को सॉफ्टवेयर विकास दुनिया से दूर किया। अब मुझे जावा प्रोग्रामिंग पर वापस जाना पड़ा, और मुझे विकसित करने और बनाए रखने के लिए एक वेब एप्लिकेशन दिया गया था।यदि मैं अभी तक शामिल किसी भी ढांचे को नहीं जानता तो मुझे एक बड़े जे 2 ईई आवेदन को समझने के लिए क्या दृष्टिकोण लेना चाहिए?

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

वर्तमान ढांचे और तकनीकों के साथ अद्यतित होने के लिए मैं क्या कर सकता हूं? मैं जावा 1.4 मूलभूत सिद्धांतों को काफी अच्छी तरह से जानता हूं और मुझे डिजाइन पैटर्न और ऑब्जेक्ट उन्मुख डिजाइन की अच्छी समझ है, लेकिन मुझे पहले बताए गए ढांचे के बारे में कुछ भी नहीं पता है। मैं वास्तव में उन लोगों के कुछ सुझावों की सराहना करता हूं जिनके बारे में मुझे पहले अलग-अलग विषयों के बारे में पहली पुस्तक को अंधाधुंध पढ़ने की बजाय बेहतर समझ है।

आपकी सहायता के लिए अग्रिम धन्यवाद।

+0

एक बहुत अच्छी आईडीई जो इंटेलिज आईडीईए जैसी सभी उपरोक्त तकनीकों का समर्थन करती है, इन सभी चीजों को एक साथ कैसे जोड़ती है, इसके विपरीत होना चाहिए। –

उत्तर

4

केवल (या मुझे सबसे अच्छा तरीका कहना चाहिए) होगा: क्या यह प्रोजेक्ट आपके स्थानीय वातावरण में चल रहा है और वहां से कोड को तब तक स्पर्श करना शुरू हो जाता है जब तक आप इसे समझ नहीं लेते।

उदाहरण के लिए, प्रवेश पृष्ठ के साथ शुरू:

  • यह कहाँ है?
  • क्या ट्रिगर करता है?
  • घटक कहां है?
  • नीचे कोड क्या है।
  • क्या होता है यदि आप कोड की इस पंक्ति को बदलते हैं या अन्य।

    अंततः आप कहने के लिए सक्षम हो जाएगा या "ठीक है इस तरह के ढांचे के एक कार्रवाई है"

तोड़ने के लिए डरो मत "यह है कि config पेज के माध्यम से कॉन्फ़िगर किया गया है" कुछ, जब ऐसा होता है, तो अपने पर्यावरण को बहाल करें और फिर से शुरू करें।

सैद्धांतिक से व्यावहारिक से जाने के बजाय मुझे नई तकनीकों को सीखने के लिए बेहद तेज़ और प्रभावी लगता है।

समय-समय पर अपने शब्दावली बढ़ाने के लिए और पूरी बात की एक बड़ी तस्वीर के लिए इस्तेमाल किया जा रहा विशिष्ट ढांचे के बारे में कुछ पढ़ा। फिर वापस जाओ और कोड में फिर से digg।

1

मैं वर्तमान में कंप्यूटर विज्ञान और व्यवसायों के लिए कोडिंग का अध्ययन करने वाला एक छात्र हूं। मैंने पाया कि इसका सबसे आसान तरीका दस्तावेज को पढ़ना है।

Spring Documentation

Hibernate tutorials

Apache Wicket

Axis for Web Services

Maven

एक बार जब आप कैसे अलग व्यवस्थाएं काम की समझ, ऐसा करने के लिए अगली बात को देखो है कोड। क्या वहां दस्तावेज हैं, कोड में टिप्पणियां हैं, पता लगाएं कि वे क्या कह रहे हैं और आप समझने वाले कोड के उन हिस्सों का प्रयास करें और उनका पालन करें। एक समय में एक विशाल साइट पर एक पृष्ठ से संपर्क करना बेहतर होता है और पता चलता है कि प्रत्येक पृष्ठ एक ही समय में सभी पृष्ठों को देखने से पहले क्या करता है।

एक बार जब आप साइट के लिए महसूस करते हैं, तो कोड में सरल चीजों को बदलकर शुरू करें, भले ही यह यहां "हैलो वर्ल्ड" प्रिंट कर रहा हो, फिर भी यह आपको एक विचार देगा कि कोड ऑनस्क्रीन साइट को कैसे प्रभावित करता है।

लेकिन सबसे महत्वपूर्ण हिस्सा आतंक नहीं है, शांत रहना है। यदि यह आपको अभिभूत करना शुरू कर देता है तो शुरुआत करने के लिए फिर से प्रयास करना बेहतर होता है।

यदि मेरे पास कोई अन्य सलाह है तो मैं एक संपादन जोड़ूंगा।

आपको शुभकामनाएं।

** संपादित

आप पता लगाना आप हमेशा कैसे इन सब बातों को एक साथ काम करता है, तो वे प्रणाली के लिए दस्तावेज में पूछताछ कर सकता है परेशानी हो रही है। यदि उनके पास प्रवाह चार्ट हैं, तो उन्होंने किस डिजाइन दृष्टिकोण को लिया, झरना आदि। उपयोगकर्ता द्वारा बनाई गई विधियों, कक्षाओं, कार्यों को ढूंढें। आम तौर पर उन्हें अच्छी तरह से दस्तावेज और प्रोग्रामर द्वारा समझाया जाना चाहिए जो उन्हें कोडिंग कर रहे हैं। साइट के तार्किक और भौतिक डिजाइन भी। किसी साइट का सिद्धांत चरण साइट के रूप में इसे कम करने के लिए उतना ही महत्वपूर्ण है।

उम्मीद है कि इससे मदद मिलती है।

1

मैं एक बिंदु पर एक समान स्थिति में था, और मुझे बहुत अभिभूत महसूस हुआ।

स्प्रिंग सीखने के लिए मुझे सबसे उपयोगी चीजों में से एक था। एक पुस्तक उठाएं (मुझे Spring Recipes पसंद आया, लेकिन बहुत से लोग Spring In Action की सलाह देते हैं), या एक प्रशिक्षण कक्षा लें (स्प्रिंग की वेबसाइट के माध्यम से पेश किया गया एक बहुत अच्छा है)। स्प्रिंग सीखकर, मैंने सीखा कि हाइबरनेट और अन्य वेब सेवा ढांचे जैसे अन्य ढांचे के साथ एकीकृत कैसे किया जाए, और इस प्रक्रिया में मैंने उन ढांचे और सामान्य रूप से जावाईई अवधारणाओं की मूल बातें सीखी।

जावा 1.4 और 1.5 के बीच कुछ मौलिक मतभेद हैं, इसलिए यदि आपको स्वयं को परेशानी हो रही है तो आपको एक अच्छी जावा पुस्तक सहायक भी मिल सकती है।

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

शुभकामनाएं!

3

मुझे इन वेब चौखटे से अधिकांश के साथ सबसे बड़ी बाधा के लिए पाइपलाइन है - "इस एक्सएमएल पैरामीटर के नक्शे कि है, जो कि वर्ग की तलाश में है" - एक वसंत किताब पढ़ना, सभी config जानकारी एक बड़े पैमाने पर सॉर्टा-कॉन्फ़िगर करने योग्य-उस-एक्सएमएल-पॉइंट-टू-द-एक्सएमएल-टू-व्हा ?? - हुह ?? बातें। ढांचे को समझने के लिए मैंने पाया सबसे अच्छा तरीका खिलौना परियोजनाओं का निर्माण करना है। दुनिया में सभी किताबें और दस्तावेज़ीकरण आपके हाथों को गंदे करने के लिए प्रतिस्थापित नहीं कर सकते हैं।

तो, मैंने जो किया वह एक छोटी वसंत परियोजना का निर्माण है। उदाहरण के लिए 2 कक्षाएं, 1 jsp शायद, यह स्पष्ट हो रहा है कि कॉन्फ़िगरेशन के कौन सा टुकड़े सरलीकृत वातावरण में करते हैं। अगला चरण एक टुकड़ा जोड़ना होगा - बसंत के माध्यम से कॉन्फ़िगर किया गया एक साधारण हाइबरनेट-एक्सेस क्लास जोड़ें। चरण-दर-चरण प्रक्रिया में आगे बढ़ना इस तरह से आप समझते हैं कि सभी टुकड़े कैसे फिट होते हैं, और जब आप ऐप कार्यक्षमता के टुकड़े को समझने की कोशिश कर रहे हैं तो आप किस टुकड़े की तलाश कर रहे हैं। बहुत सारे विन्यास योग्य भाग हैं, और मुझे इसे एक से अधिक बार करना पड़ा है।

+1

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

0

मेरी सलाह है कि प्रत्येक ढांचे के लिए "हैलो वर्ल्ड" ट्यूटोरियल ढूंढकर शुरू करें और वास्तव में अपने पर्यावरण में कोड लिखकर वास्तव में पालन करें। मैंने पाया है कि अगर मैं वास्तव में उदाहरण पढ़ने के बजाय कोड लिखता हूं तो मैं बहुत तेज़ी से सीखता हूं।

एक बार ऐसा करने के बाद, ऐसा सोचें जो आपको लगता है कि आपके लिए उपयोग करने के लिए उपयोगी या ठंडा होगा और एक समय में एक ढांचे का उपयोग करके इसे बनाना शुरू कर देगा। एक साधारण नोट लेने वाला ऐप लिखें जो txt फ़ाइलों में नोट्स संग्रहीत करता है, उदाहरण के लिए, और वर्ग निर्भरताओं को प्रबंधित करने के लिए वसंत का उपयोग करें। फिर जार बनाने और निष्पादित करने के लिए मेवेन का उपयोग करें। फिर txt फ़ाइलों के बजाय डीबी में स्टोर करने के लिए हाइबरनेट जोड़ें। फिर इसे वेब ऐप आदि बनाने के लिए विकेट का उपयोग करें ...

फिर अमेज़ॅन पर जाएं और प्रत्येक ढांचे पर एक पुस्तक खरीदें और पढ़ें।

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

महान सवाल, बीटीडब्ल्यू, मुझे लगता है कि यह स्थिति है कि डेवलपर्स अक्सर खुद को पाते हैं!

5

मुझे लगता है कि "शानदार प्रोग्रामर" अभी भी आसपास हैं, इसलिए आपकी सबसे अच्छी शर्त उनका उपयोग करना है। हालांकि, प्रत्येक डेवलपर चीजों को समझाने में बहुत अच्छा नहीं है, लेकिन वे आपको एप्लिकेशन का एक सिंहावलोकन देने में सक्षम होना चाहिए ताकि आप समझ सकें कि प्रत्येक ढांचा क्या प्रदान करता है और वे एक साथ कैसे काम करते हैं।

पूरा करने वाली पहली चीज़ क्या है, नहीं। मार्गदर्शन प्राप्त करें और उम्मीद है कि दस्तावेज तैयार करें जो आपको समझने की अनुमति देगा कि पहेली का प्रत्येक टुकड़ा पूरी तरह से समाधान को प्रदान करता है।

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

पाठ्यक्रम और दस्तावेज निश्चित रूप से मदद करेंगे, लेकिन कुछ भी समझने में आपकी सहायता के लिए कुछ भी गर्म शरीर (एक सक्षम व्यक्ति) की जगह नहीं लेता है, और भी अगर उन्होंने कुछ बनाया है।

एक बार जब आप अपने स्वयं के अनुप्रयोगों में इन ढांचे के उपयोग को समझ लेते हैं, तो आपको भविष्य में उपयोग करने में सक्षम अन्य सुविधाओं को चुनना शुरू करना अधिक आसान लगेगा।

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

+0

+1 उनसे पूछें। शायद आपको उस परियोजना पर काम करने के लिए उपयोग की जाने वाली हर तकनीक को जानने की आवश्यकता नहीं है। –

1

अपने आप ऐसा न करें ... इन "शानदार प्रोग्रामर" का लाभ उठाएं ... उम्मीद है कि वे अभी भी इस परियोजना पर आपके साथ काम कर रहे हैं। जोड़ी प्रोग्रामिंग आपके ज्ञान को सबसे तेज़ी से विस्तारित करने का एक शानदार तरीका है। आप दुनिया की सभी पुस्तकों को पढ़ सकते हैं, लेकिन अनुभव पर पुराने पुराने हाथों को कुछ भी नहीं धड़कता है। बिल्ली, यदि आप एक समर्थन रोटेशन में हैं, तो फोन को कुछ हफ्तों तक ले जाएं ... फोन के अंत में उन परेशान ग्राहकों को एक निश्चित अग्नि प्रेरक है। :)

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

शुभकामनाएं!

संबंधित मुद्दे