CodeGym /Java Course /All lectures for HI purposes /एक जावा डेवलपर की चेकलिस्ट

एक जावा डेवलपर की चेकलिस्ट

All lectures for HI purposes
स्तर 1 , सबक 177
उपलब्ध

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

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

प्रोग्रामिंग (सिर्फ जावा नहीं) सीखना शुरू करते समय निपटने वाली पहली बात मूल बातें समझना है। उदाहरण के लिए, एल्गोरिदम।

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

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

एल्गोरिदम की मूल बातें सीखने के बाद, हमें जावा सिंटैक्स सीखना होगा। आखिरकार, आप जावा प्रोग्रामर बनने के लिए पढ़ रहे हैं, है ना? CodeGym कोर्स इसके लिए एकदम सही है।

जैसे ही आप अनगिनत कार्य करते हैं, आप जावा सिंटैक्स पर अपना हाथ जमा लेंगे और फिर, बिना किसी हिचकिचाहट के, आप जावा कोड को लिखेंगे/पढ़ेंगे जैसे कि यह आपकी मूल भाषा हो।

अभ्यास से परे, आपको यह समझने के लिए कि आप क्या कर रहे हैं, सिद्धांत को देखने की भी आवश्यकता है। ऐसा करने के लिए, आप किताबें पढ़ सकते हैं। उदाहरण के लिए, निम्न में से एक:

  • "हेड फर्स्ट जावा",
  • बैरी बर्ड द्वारा "जावा फॉर डमीज़";
  • "जावा: ए बिगिनर्स गाइड" हर्बर्ट शिल्ड्ट द्वारा।

इन पुस्तकों को पढ़ने के बाद, आप कठिन पुस्तकों के बारे में जान सकते हैं:

  • "जावा में सोच," ब्रूस एकेल;
  • जोशुआ बलोच द्वारा "प्रभावी जावा";
  • हर्बर्ट शिल्ड्ट द्वारा "जावा: द कम्प्लीट रेफरेंस"।

शुरुआती तीन पुस्तकें शुरुआती लोगों के लिए पढ़ना आसान नहीं हैं, लेकिन वे जावा सिद्धांत में एक ठोस आधार प्रदान करते हैं।

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

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

यह मूल डिजाइन पैटर्न को सुलभ तरीके से समझाता है। लेकिन किताब जावा के बारे में बहुत कुछ बताती है, इसलिए जब आप इस किताब को पढ़ेंगे तो आपको इस प्रोग्रामिंग भाषा में भी निपुणता की आवश्यकता होगी।

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

इस पर ध्यान दें, विशेष रूप से स्प्रिंग में उपयोग किए जाने वाले पैटर्न पर, क्योंकि यह एक लोकप्रिय साक्षात्कार प्रश्न है।

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

मानक डिजाइन पैटर्न के अलावा, (SOLID, GRASP) से अवगत होने के लिए विभिन्न सिद्धांत और प्रतिमान हैं।

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

5. एसक्यूएल

हमारा अगला कदम रिलेशनल डेटाबेस - SQL के लिए एक भाषा का अध्ययन करना है।

डेटाबेस वे होते हैं जहां वेब एप्लिकेशन द्वारा उपयोग की जाने वाली जानकारी (डेटा) संग्रहीत होती है। एक डेटाबेस में कई टेबल होते हैं (आपके फोन पर पता पुस्तिका एक साधारण उदाहरण है)।

जावा डेवलपर्स न केवल जावा एप्लिकेशन के लिए जिम्मेदार हैं, बल्कि उस डेटाबेस के लिए भी जिम्मेदार हैं, जिसके साथ वह इंटरैक्ट करता है और जहां वह अपना डेटा स्टोर करता है।

रिलेशनल डेटाबेस में (जो सबसे सामान्य प्रकार हैं), सभी इंटरैक्शन स्ट्रक्चर्ड क्वेरी लैंग्वेज या SQL नामक एक विशेष भाषा के माध्यम से होते हैं।

इस विषय को समझने के लिए, आपको इनमें से किसी एक पुस्तक को पढ़ने की आवश्यकता है:

  1. एलन ब्यूलियू द्वारा "लर्निंग एसक्यूएल";
  2. क्रिस फेहिली द्वारा "एसक्यूएल";
  3. लिन बेघली द्वारा "हेड फर्स्ट एसक्यूएल"।

लेकिन सिद्धांत के बिना अभ्यास इसे काट नहीं देता है, है ना? और साक्षात्कार में आप एसक्यूएल के अपने ज्ञान की परीक्षा की उम्मीद कर सकते हैं। साक्षात्कारकर्ता अक्सर (लगभग हमेशा) एक या दो कार्य देते हैं जिसमें SQL क्वेरी लिखना शामिल होता है।

नतीजतन, अपने आप को अच्छी रोशनी में दिखाने के लिए अपने व्यावहारिक एसक्यूएल कौशल को सुधारना बहुत महत्वपूर्ण है।

6. MySQL/PostgreSQL

SQL भाषा सीखने के बाद, आपको विशिष्ट डेटाबेस कार्यान्वयन से परिचित होने की आवश्यकता है। डेटाबेस के आधार पर, कुछ आदेश नाटकीय रूप से भिन्न हो सकते हैं। और डेटाबेस क्षमताओं में काफी ध्यान देने योग्य अंतर हैं।

सबसे आम रिलेशनल डेटाबेस MySQL और PostgreSQL हैं। MySQL कहीं अधिक सरल है, लेकिन PostgreSQL में बहुत व्यापक क्षमताएँ हैं। उनमें से कम से कम एक से परिचित होना आरंभ करने के लिए पर्याप्त है।

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

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

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

आपको यह समझने की आवश्यकता है कि एक परियोजना कैसे बनाई जाए, निर्माण के चरण क्या हैं, आवश्यक बाहरी पुस्तकालयों को तृतीय-पक्ष कोड के साथ कैसे लोड किया जाए, और बहुत कुछ।

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

8. गिट

गिट एक वितरित संस्करण नियंत्रण प्रणाली है। यह तकनीक डेवलपर्स को एक दूसरे के साथ हस्तक्षेप किए बिना एक ही एप्लिकेशन पर सहयोग करने देती है।

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

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

9. जेडीबीसी

यह तकनीक आपके जावा एप्लिकेशन और एक रिलेशनल डेटाबेस को जोड़ती है। बुनियादी बातों के लिए कोई भी JDBC ट्यूटोरियल पढ़ें।

ऐसे लेखों की बहुतायत है जो JDBC की व्याख्या करते हैं और अल्पविकसित उदाहरण प्रदान करते हैं, भले ही अब कोई भी सीधे JDBC का उपयोग नहीं कर रहा है।

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

JPA, JDBC की तरह ही जावा एप्लिकेशन और डेटाबेस के बीच संबंध स्थापित करने का एक तरीका है। लेकिन साथ ही, जेपीए एक उच्च स्तरीय तकनीक है और इसलिए इसका उपयोग करना आसान है।

लेकिन जेपीए केवल एक विनिर्देश है, कार्यान्वयन नहीं। इसके ठोस क्रियान्वयन की जरूरत है। उनमें से कई मौजूद हैं, लेकिन जेपीए आदर्शों के सबसे करीब, सबसे लोकप्रिय और सबसे विकसित हाइबरनेट है।

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

11. बसंत

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

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

स्प्रिंग सिर्फ एक ढांचा नहीं है, बल्कि चौखटे का एक पूरा ढांचा है:

और यह स्प्रिंग द्वारा प्रदान किए गए ढांचे का एक सबसेट है। एक शुरुआत के लिए, उनमें से केवल कुछ को जानना ही काफी अच्छा है:

स्प्रिंग कोर

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

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

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

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

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

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

वसंत जेपीए

पहले हमने जेपीए के बारे में बात की थी और उल्लेख किया था कि यह केवल एक विनिर्देश है, हालांकि इसके विभिन्न कार्यान्वयन हैं। इन कार्यान्वयनों में, हाइबरनेट आदर्श के सबसे करीब आता है।

वसंत का अपना आदर्श जेपीए कार्यान्वयन है जो हुड के नीचे हाइबरनेट का उपयोग करता है। यह जेपीए विनिर्देश के आदर्श के जितना संभव हो उतना करीब है।

इसे स्प्रिंग जेपीए कहा जाता है। एक शब्द में, यह डेटाबेस एक्सेस को बहुत सरल करता है।

आप केवल JDBC, हाइबरनेट, स्प्रिंग JDBC या स्प्रिंग हाइबरनेट सीखे बिना ही JPA सीख सकते हैं। लेकिन अगर आप यह तरीका अपनाते हैं, तो डेटाबेस से कैसे जुड़ना है, इसका आपका ज्ञान बहुत ही सतही होगा।

वसंत MVC

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

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

स्प्रिंग बूट

यह तकनीक स्प्रिंग के उपयोग को बहुत सरल बनाती है। मैंने इसे सूची के अंत में फुसफुसाते हुए नहीं रखा। दरअसल, यह हुड के नीचे बहुत कुछ छुपाता है, और वैनिला स्प्रिंग से अपरिचित किसी के लिए, कई बिंदु अस्पष्ट या समझ से बाहर हो सकते हैं।

सबसे पहले, स्प्रिंग फ्रेमवर्क कैसे काम करता है, इसकी बेहतर समझ के लिए, आपको नियमित स्प्रिंग का उपयोग करना चाहिए, और फिर स्प्रिंग बूट का उपयोग करने के सभी उच्च लाभों को चुनना चाहिए।

आपको स्प्रिंग सिक्योरिटी और स्प्रिंग एओपी से भी परिचित होना चाहिए। लेकिन उपरोक्त तकनीकों के विपरीत, इन दोनों के गहन ज्ञान की अभी आवश्यकता नहीं है।

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

जितना अधिक आप जानते हैं, उतनी ही तेजी से आपको अपनी पहली नौकरी मिल जाएगी।

टिप्पणियां
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION