CodeGym/Java Blog/अनियमित/एक जावा डेवलपर की चेकलिस्ट। एक डेवलपर को क्या पता होना चा...
John Squirrels
स्तर 41
San Francisco

एक जावा डेवलपर की चेकलिस्ट। एक डेवलपर को क्या पता होना चाहिए

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

1. बुनियादी एल्गोरिदम

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

2. जावा सिंटेक्स

एल्गोरिदम की मूल बातें सीखने के बाद, हमें जावा सिंटैक्स सीखना होगा। आखिरकार, हम सभी यहाँ जावा प्रोग्रामर बनने के लिए अध्ययन कर रहे हैं, है ना? CodeGym कोर्स इसके लिए एकदम सही है। जैसे ही आप अनगिनत कार्य करते हैं, आप जावा सिंटैक्स पर अपना हाथ जमा लेंगे और फिर, बिना किसी हिचकिचाहट के, आप जावा कोड को लिखेंगे/पढ़ेंगे जैसे कि यह आपकी मूल भाषा हो। CodeGym अभ्यास है, लेकिन इससे परे, आपको यह समझने के लिए सिद्धांत को देखने की भी आवश्यकता है कि आप क्या कर रहे हैं। ऐसा करने के लिए, आप किताबें पढ़ सकते हैं। उदाहरण के लिए, निम्न में से एक:
  • "हेड फर्स्ट जावा",
  • बैरी बर्ड द्वारा "जावा फॉर डमीज़";
  • "जावा: ए बिगिनर्स गाइड" हर्बर्ट शिल्ड्ट द्वारा।
इन पुस्तकों को पढ़ने के बाद, आप कठिन पुस्तकों के बारे में जान सकते हैं:
  • "जावा में सोच," ब्रूस एकेल;
  • जोशुआ बलोच द्वारा "प्रभावी जावा";
  • हर्बर्ट शिल्ड्ट द्वारा "जावा: द कम्प्लीट रेफरेंस"।
शुरुआती तीन पुस्तकें शुरुआती लोगों के लिए पढ़ना आसान नहीं हैं, लेकिन वे जावा सिद्धांत में एक ठोस आधार प्रदान करते हैं। साथ ही, CodeGym लेखों के बारे में न भूलें, क्योंकि वे ऐसे अधिकांश विषयों के लिए स्पष्टीकरण प्रदान करते हैं जिनमें आपकी रुचि हो सकती है। आप खोज बार में उस विषय को टाइप करके एक प्रासंगिक लेख पा सकते हैं जिसमें आपकी रुचि है: एक जावा डेवलपर की चेकलिस्ट।  एक डेवलपर को क्या पता होना चाहिए - 2मैं जावा साक्षात्कारों से प्रश्नों की तलाश करने की भी अत्यधिक अनुशंसा करता हूं। इससे आपको यह समझने में मदद मिलेगी कि वास्तव में आपको क्या सीखने की आवश्यकता है और किन प्रश्नों की तैयारी करनी है।

3. डिजाइन पैटर्न

डिज़ाइन पैटर्न कुछ दोहराए जाने योग्य पैटर्न हैं जो अक्सर सामने आने वाले संदर्भों में समस्याओं को हल करते हैं। उनमें बुनियादी, सरल पैटर्न शामिल हैं जो प्रत्येक स्वाभिमानी प्रोग्रामर को पता होना चाहिए। इस विषय को समझने के लिए, "हेड फ़र्स्ट डिज़ाइन पैटर्न्स" पुस्तक लें। यह मूल डिजाइन पैटर्न को सुलभ तरीके से समझाता है। लेकिन किताब जावा के बारे में बहुत कुछ बताती है, इसलिए जब आप इस किताब को पढ़ेंगे तो आपको इस प्रोग्रामिंग भाषा में भी निपुणता की आवश्यकता होगी। पैटर्न में गहरी गोता लगाने के लिए, आप गैंग ऑफ फोर से "डिजाइन पैटर्न: एलिमेंट्स ऑफ रियूजेबल ऑब्जेक्ट-ओरिएंटेड सॉफ्टवेयर" भी पढ़ सकते हैं (संपादक का नोट: द गैंग ऑफ फोर लेखकों की एक टीम है जिसमें एरिक गामा, रिचर्ड हेल्म, राल्फ शामिल हैं। जॉनसन, जॉन व्लिससाइड्स।). एक बार जब आप इस विषय का अध्ययन कर लेते हैं, तो आपको अपने कोड में वस्तुतः हर जगह पैटर्न दिखाई देने लगेंगे। इस पर ध्यान दें, विशेष रूप से स्प्रिंग में उपयोग किए जाने वाले पैटर्न पर, क्योंकि यह एक लोकप्रिय साक्षात्कार प्रश्न है।

4. प्रोग्रामिंग प्रतिमान। कोड स्वच्छता

मानक डिजाइन पैटर्न के अलावा, ( SOLID , GRASP ) से अवगत होने के लिए विभिन्न सिद्धांत और प्रतिमान हैं। आपको अपना कोड साफ और पठनीय रखने की भी आवश्यकता है। सब कुछ के लिए, आपको इस विषय के बारे में जानने की जरूरत है, रॉबर्ट मार्टिन द्वारा क्लीन कोड देखें, या स्टीव मैककोनेल द्वारा "कोड कम्प्लीट" देखें।

5. एसक्यूएल

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

6. MySQL/PostgreSQL

SQL भाषा सीखने के बाद, आपको विशिष्ट डेटाबेस कार्यान्वयन से परिचित होने की आवश्यकता है। डेटाबेस के आधार पर, कुछ आदेश नाटकीय रूप से भिन्न हो सकते हैं। और डेटाबेस क्षमताओं में काफी ध्यान देने योग्य अंतर हैं। सबसे आम रिलेशनल डेटाबेस MySQL और PostgreSQL हैं । एक जावा डेवलपर की चेकलिस्ट।  एक डेवलपर को क्या पता होना चाहिए - 3MySQL कहीं अधिक सरल है, लेकिन PostgreSQL में बहुत व्यापक क्षमताएँ हैं। उनमें से कम से कम एक से परिचित होना आरंभ करने के लिए पर्याप्त है। यदि आप अपने गूगलिंग कौशल का उपयोग करते हैं तो आप डेटाबेस कार्यान्वयन का अध्ययन कर सकते हैं - YouTube पर प्रासंगिक लेख और ट्यूटोरियल खोजें। आपको जिन प्रश्नों के उत्तर की आवश्यकता है, उनके लिए आपको उचित खोज प्रश्नों को तैयार करने की अपनी क्षमता को विकसित करने की आवश्यकता होगी। आखिरकार, एक प्रोग्रामर वह होता है जिसके पास गुगलिंग में ब्लैक बेल्ट होता है।

7. मेवेन/ग्रेडल

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

8. गिट

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

9. जेडीबीसी

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

10. जेपीए। हाइबरनेट

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

11. बसंत

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

  • स्प्रिंग कोर

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

  • स्प्रिंग जेडीबीसी

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

  • स्प्रिंग हाइबरनेट

नग्न JDBC के साथ स्थिति के अनुरूप, यह ढांचा मौजूदा तकनीक का लाभ उठाता है, इस मामले में, हाइबरनेट। यदि आप स्प्रिंग के बिना हाइबरनेट का उपयोग करने पर विचार करते हैं, तो आप निश्चित रूप से स्प्रिंग हाइबरनेट के लाभों को महसूस करेंगे।

  • वसंत जेपीए

पहले हमने जेपीए के बारे में बात की थी और उल्लेख किया था कि यह केवल एक विनिर्देश है, हालांकि इसके विभिन्न कार्यान्वयन हैं। इन कार्यान्वयनों में, हाइबरनेट आदर्श के सबसे करीब आता है। वसंत का अपना आदर्श जेपीए कार्यान्वयन है जो हुड के नीचे हाइबरनेट का उपयोग करता है। यह जेपीए विनिर्देश के आदर्श के जितना संभव हो उतना करीब है। इसे स्प्रिंग जेपीए कहा जाता है। एक शब्द में, यह डेटाबेस एक्सेस को बहुत सरल करता है। आप केवल JDBC, हाइबरनेट, स्प्रिंग JDBC या स्प्रिंग हाइबरनेट सीखे बिना ही JPA सीख सकते हैं। लेकिन अगर आप यह तरीका अपनाते हैं, तो डेटाबेस से कैसे जुड़ना है, इसका आपका ज्ञान बहुत ही सतही होगा।

  • वसंत MVC

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

  • स्प्रिंग बूट

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