जब कोई सीखना शुरू करता है कि कैसे प्रोग्राम करना है , चाहे अकेले या ऑनलाइन पाठ्यक्रमों के माध्यम से, कुछ डोमेन पर जोर देना और सब कुछ संरचना करना बहुत महत्वपूर्ण है। इस लेख में, हम अपनी संरचना — नौसिखियों के लिए Java कार्य प्रस्तुत करते हैं, इस संकेत के साथ कि उपयोगी लिंक्स के साथ CodeGym ऑनलाइन प्रोग्रामिंग पाठ्यक्रम में किसी विशेष प्रकार के कार्य का कितना प्रतिनिधित्व किया गया है।
भाषा सिंटैक्स के साथ अभ्यास करें
शुरुआती लोगों के लिए ये बहुत पहले जावा प्रोग्रामिंग कार्य हैं - नींव - "हैलो, वर्ल्ड" से लेकर लूप और एरे तक। CodeGym में उनमें से बहुत सारे हैं: वे विशेष रूप से Java सिंटेक्स खोज के पहले छह स्तरों पर केंद्रित हैं। आपको उनमें से अधिक को कहीं और देखने की आवश्यकता नहीं है। हमारे पास निश्चित रूप से उन्हें मास्टर करने के लिए पर्याप्त है। क्या अधिक है, जब आप कोई अधिक कठिन कार्य करते हैं, तो आप स्वचालित रूप से सिंटैक्स की समीक्षा करते हैं। लेकिन अगर आप अचानक खुद को जरूरत में पाते हैं, तो नौसिखियों के लिए किसी भी जावा पाठ्यपुस्तक में समान समस्याएं होती हैं। लेकिन CodeGym के विपरीत, इन अभ्यास पुस्तिकाओं में तत्काल कार्य सत्यापन नहीं होगा।संग्रह के साथ अभ्यास करें
संग्रह पहला "गंभीर" विषय है जो नौसिखिया प्रोग्रामर अपने अध्ययन में सामना करते हैं। Java संग्रह के लिए समर्पित शुरुआती कार्य भी CodeGym पर अच्छी तरह से दर्शाए गए हैं — Java Syntax search के सातवें और आठवें स्तर पर। यहीं पर छात्र सबसे पहले जावा कलेक्शंस फ्रेमवर्क के बारे में सुनेंगे, और सेट, लिस्ट और मैप इंटरफेस के साथ-साथ उनके कुछ कार्यान्वयनों के साथ थोड़ा काम करेंगे। हालाँकि, इस स्तर पर आपको इस उपयोगी टूल और सरल जावा कार्यों का केवल एक परिचय मिलेगा। आप जावा कलेक्शंस खोज के दौरान संग्रहों का अधिक अच्छी तरह से अध्ययन करेंगे। आप देख सकते हैं कि यह विषय कितना महत्वपूर्ण है — पूरी खोज का नाम इसके नाम पर रखा गया है!अपवादों के साथ अभ्यास करें
जावा असाधारण स्थितियों से निपटने के लिए एक विशेष तंत्र प्रदान करता है, एप्लिकेशन त्रुटियों को "पकड़ने" की प्रक्रिया को काफी सरल करता है। लेकिन इसका अधिकतम लाभ उठाने के लिए, आपको यह पता लगाने की जरूरत है कि जावा में एक्सेप्शन हैंडलिंग कैसे काम करती है। CodeGym के पास ऐसे ढेर सारे कार्य हैं। आप उन्हें पहली खोज — जावा सिंटैक्स में भी पा सकते हैं।टाइप कास्टिंग के साथ अभ्यास करें
बेशक, कार्यों के इस समूह को सिंटैक्स पर बुनियादी कार्यों के रूप में वर्गीकृत किया जा सकता है। हालांकि, हमारी विनम्र राय में, लोग अक्सर ऐसे कार्यों की कम सराहना करते हैं, और नौसिखिए उनमें फंस जाते हैं। इसलिए हम साँचे को तोड़ते हैं: हम शुरुआत में आदिम प्रकार के रूपांतरण कार्यों का अध्ययन नहीं करते हैं जैसा कि अन्य अक्सर करते हैं। इसके बजाय, हम उनसे थोड़ी देर बाद निपटते हैं - जावा सिंटैक्स खोज के अंत में। और जब हम जावा कोर खोज में OOP का अध्ययन करते हैं तो हम गैर-आदिम प्रकारों (ऑब्जेक्ट्स) को कास्ट करना सीखेंगे। CodeGym के पास ये कार्य काफी हैं। आपको और देखने की जरूरत नहीं है।ओओपी के साथ अभ्यास करें
OOP सबसे कठिन विषय नहीं है, लेकिन यह अत्यंत महत्वपूर्ण है। और यह बहुत सारी सूक्ष्मताओं को छुपाता है कि साक्षात्कारकर्ता जूनियर डेवलपर्स को पकड़ने के लिए उपयोग करना पसंद करते हैं। CodeGym पाठ्यक्रम में नौसिखियों के लिए व्यावहारिक प्रोग्रामिंग कार्य शामिल हैं जो आपको वस्तु-उन्मुख दर्शन को समझने में मदद करते हैं। लेकिन ओओपी को वास्तव में समझने के लिए, हम अनुशंसा करते हैं कि आप संबंधित साहित्य पढ़ें (उदाहरण के लिए, के होर्स्टमैन और गैरी कॉर्नेल की "कोर जावा", मैकलॉघलिन की "ऑब्जेक्ट-ओरिएंटेड एनालिसिस एंड डिज़ाइन", या अन्य पुस्तकें ) ।इनपुट/आउटपुट स्ट्रीम के साथ अभ्यास करें
हम उन्हें समझने से बहुत पहले I/O स्ट्रीम का उपयोग करना शुरू कर देते हैं। यह जावा है, मेरे युवा टिड्डी! जब आप पहली बार शुरू करते हैं तो System.out, अकेले System.in को समझाना कठिन और अनावश्यक है। लेकिन जैसा कि आप जावा कोर खोज के माध्यम से काम करते हैं, आप इस कुछ भ्रमित करने वाले विषय को समझने के लिए पर्याप्त जानते हैं, और हम न केवल कंसोल I/O के बारे में बात करते हैं, बल्कि फाइल सिस्टम के साथ भी काम करते हैं। मुख्य बात यह है कि इन कार्यों को छोड़ना नहीं है (CodeGym में काफी कुछ है) और सिद्धांत में लगातार तल्लीन करना है।मस्तिष्क टीज़र
"ब्रेनटीज़र्स" से हमारा मतलब बढ़ी हुई जटिलता के कार्यों से है जो ज्ञान के बारे में इतना अधिक नहीं हैं जितना कि आप जो जानते हैं उसे अपरंपरागत तरीकों से लागू करने की क्षमता के बारे में। जूनियर जावा डेवलपर के लिए ये सामान्य कार्य हैं। कंपनियों को इंटरव्यू के दौरान उनसे पूछने का बहुत शौक होता है, लेकिन असल काम में ऐसे ब्रेन टीज़र बहुत कम मिलते हैं। तो CodeGym में कुछ है, लेकिन बहुत अधिक नहीं है (आप आमतौर पर इन्हें Captain Squirrels के पाठों में देखेंगे)। मुझे ब्रेन टीज़र कहाँ मिल सकता है?- https://javahungry.blogspot.com/2014/03/java-programming-puzzles-tackling-brainteaser-in-java-interv...
- https://howtodoinjava.com/java-interview-puzzles-answers/
- https://www.codechef.com/
- https://www.codewars.com/?language=java
एल्गोरिदम और डेटा संरचनाएं
एल्गोरिदम और डेटा संरचनाओं के लिए, इस बारे में लगातार बहस होती है कि भविष्य के प्रोग्रामर को उनकी कितनी आवश्यकता है। हम एक बार फिर जवाब देंगे: वे सही मानसिकता स्थापित करने के लिए आवश्यक हैं, लेकिन काम के लिए उनकी सीधे तौर पर शायद ही कभी आवश्यकता होती है। ऐसा इसलिए है क्योंकि जावा, साथ ही साथ अन्य प्रोग्रामिंग भाषाओं में सॉर्टिंग, खोज और अधिक के लिए हर कल्पनीय एल्गोरिदम के कार्यान्वयन के साथ पुस्तकालय हैं। फिर भी, एल्गोरिथम के अपने स्वयं के कार्यान्वयन को लिखना बहुत मददगार हो सकता है और आपको इसकी जटिलता का अंदाजा दे सकता है। खासतौर पर उन लोगों के लिए जिन्होंने हाई स्कूल में ही गणित की पढ़ाई की है। मूल रूप से, इन कार्यों को केवल अंतर के साथ ब्रेनटीज़र के साथ इंटरचेंज किया जा सकता है कि वे सभी बार-बार ऑनलाइन वर्णित और हल किए गए हैं। आपको एक सत्यापनकर्ता उपकरण की भी आवश्यकता नहीं है। प्रिंसटन यूनिवर्सिटी से कोई भी कोर्स चुनेंया कैलिफोर्निया में एक कॉलेज । डेटा संरचनाओं के साथ अभ्यास करें:बहु सूत्रण
कोई भी "हैलो, वर्ल्ड!" लिख सकता है। कार्यक्रम। लेकिन एक अलग थ्रेड से प्रसिद्ध वाक्यांश को प्रदर्शित करने के लिए जावा थ्रेड एपीआई का उपयोग कैसे करें? या "हैलो, वर्ल्ड!" प्रदर्शित करने के बारे में क्या विचार है? तार को मिलाए बिना पांच अलग-अलग धागों से पांच बार? जब आप जावा कोर का अध्ययन करेंगे तो मल्टीथ्रेडिंग "आपकी ताकत का परीक्षण" होगा। एक संपूर्ण CodeGym खोज, जिसे Java Multithreading कहा जाता है , इस विषय को समर्पित है, जो आसान से बहुत दूर है। इसमें छात्रों को समानांतर प्रसंस्करण के "दर्द और सुंदरता" को महसूस करने की अनुमति देने के लिए बड़ी संख्या में कार्य शामिल हैं। छात्रों की पहली "वास्तविक" परियोजनाओं में आमतौर पर मल्टीथ्रेडिंग का कुछ स्तर होता है। उदाहरण के लिए, साधारण खेल।
मल्टीथ्रेडिंग के साथ अभ्यास करें पाँच मूक दार्शनिक एक गोल मेज पर बैठते हैं। उनमें से प्रत्येक के सामने स्पेगेटी की एक प्लेट है। मेज पर प्रत्येक दार्शनिक (एक बायीं ओर और एक दायीं ओर) के बीच कांटे हैं। प्रत्येक दार्शनिक गहरे विचारों को खा सकता है या सोच सकता है। लेकिन वह तभी खा सकता/सकती है जब उसके पास दो कांटे हों, यानी एक को बायीं ओर और एक को दायीं ओर उठाकर। "पिक अप फोर्क" और "पुट डाउन फोर्क" अलग-अलग क्रियाएं हैं जो क्रमिक रूप से की जाती हैं। |
जेनरिक के साथ अभ्यास करें
सामान्यीकरण स्वचालन का सार है, इसलिए कुछ अर्थों में यह प्रोग्रामिंग का सार है। तदनुसार, हम जावा में जेनरिक के विषय की उपेक्षा नहीं कर सकते। CodeGym में जेनरिक से जुड़े प्रोग्रामिंग कार्य हैं (मुख्य रूप से Java कलेक्शंस खोज में, स्तर 5 से शुरू होते हुए)। मुझे जेनरिक पर उपयोगी अभ्यास और सामग्री कहां मिल सकती है?- https://docs.oracle.com/javase/tutorial/java/generics/QandE/generics-questions.html
- https://www.geeksforgeeks.org/generics-in-java/
- http://www.angelikalanger.com/GenericsFAQ/FAQSections/ProgrammingIdioms.html
- ब्रूस एकेल द्वारा "प्रभावी जावा"
डिजाइन पैटर्न के साथ अभ्यास करें
किसी बिंदु पर (CodeGym पाठ्यक्रम के माध्यम से दो-तिहाई), नौसिखिए प्रोग्रामरों को प्रोग्रामिंग में अच्छे स्वरूप को प्राप्त करने के लिए नियमों को देखना शुरू करना चाहिए। हम उचित कोड स्वरूपण (सरल) और डिज़ाइन पैटर्न (अधिक कठिन) के बारे में बात कर रहे हैं। CodeGym के पास इसके लिए कार्य हैं। आपको और अधिक की आवश्यकता होगी और आप उन्हें एलिज़ाबेथ फ्रीमैन और कैथी सिएरा द्वारा " हेड फ़र्स्ट डिज़ाइन पैटर्न " में पा सकते हैं। या आप इस बारे में सोच सकते हैं कि आप पहले हल किए गए कार्यों के लिए डिज़ाइन पैटर्न कैसे लागू कर सकते हैं।इकाई का परीक्षण
किसी भी प्रोग्रामर के लिए एक महत्वपूर्ण कौशल, जिसे अक्सर गलती से पूरी तरह से परीक्षकों के लिए जिम्मेदार ठहराया जाता है, वह अपने स्वयं के कोड के लिए इकाई परीक्षण लिखने की क्षमता है। CodeGym में इकाई परीक्षणों से संबंधित कुछ कार्य हैं, लेकिन आपको वास्तव में अधिक खोजने की चिंता करने की आवश्यकता नहीं है। जब आप समझ जाते हैं कि इकाई परीक्षण कैसे लिखना है, तो अपने कोड (स्वयं की परियोजनाओं में, अपनी पढ़ाई में) को उनके साथ कवर करने की आदत बना लें। यह कंसोल आउटपुट के साथ चेक करने की तुलना में बहुत अधिक सहायक है, एक अभ्यास जो आमतौर पर छात्र प्रोग्रामरों को प्रभावित करता है। इसके अलावा, बहुत बार पहली बात यह है कि नए जूनियर डेवलपर्स को कंपनियों में किसी और के कोड के लिए यूनिट टेस्ट लिखने का काम सौंपा जाता है।नियमित अभिव्यक्तियों के साथ अभ्यास करें
यह एक सरल विषय है जिसे लगभग कोई भी नौसिखिए नहीं समझते हैं, क्योंकि यह अपरिचित है और वे आलसी हैं। विषय का अध्ययन करने, "रेगेक्स" की तह तक जाने और ऐसा नहीं करने वालों पर लाभ प्राप्त करने के लिए कुछ दिन बिताना वास्तव में सार्थक है। यह मददगार भी है क्योंकि रेगुलर एक्सप्रेशन लगभग भाषा-स्वतंत्र होते हैं: यदि आप उन्हें एक बार सीख लेते हैं, तो आप उन्हें हर जगह इस्तेमाल कर पाएंगे। CodeGym के पास रेगुलर एक्सप्रेशंस के लिए समर्पित कोई कार्य नहीं है, हालांकि कुछ कार्यों को उनकी मदद से हल किया जा सकता है। इस विषय को समझने के लिए यहां अतिरिक्त संसाधन दिए गए हैं:- regex101.com — एक वेबसाइट जहां आप रेगुलर एक्सप्रेशन ऑनलाइन चेक कर सकते हैं
- माइक फिट्जगेराल्ड का "इंट्रोड्यूसिंग रेगुलर एक्सप्रेशंस" - एक संक्षिप्त और सरल प्राइमर।
GO TO FULL VERSION