जेव्हा एखादी व्यक्ती प्रोग्राम कसा करायचा हे शिकण्यास सुरुवात करते , मग ते एकटे असो किंवा ऑनलाइन अभ्यासक्रमांद्वारे, काही डोमेनवर जोर देणे आणि प्रत्येक गोष्टीची रचना करणे खूप महत्वाचे आहे. या लेखात, आम्ही आमची रचना सादर करतो — नवशिक्यांसाठी Java कार्ये, उपयुक्त लिंक्ससह, CodeGym ऑनलाइन प्रोग्रामिंग कोर्समध्ये कोणत्याही विशिष्ट प्रकारच्या टास्कचे किती प्रतिनिधित्व केले जाते हे दर्शवितो .
भाषेच्या वाक्यरचनेचा सराव करा
नवशिक्यांसाठी ही पहिलीच Java प्रोग्रामिंग कार्ये आहेत - पाया - "हॅलो, वर्ल्ड" पासून लूप आणि अॅरे पर्यंत. CodeGym मध्ये त्यापैकी बरेच आहेत: ते विशेषतः Java सिंटॅक्स क्वेस्टच्या पहिल्या सहा स्तरांवर केंद्रित आहेत . तुम्हाला इतरत्र त्यांपैकी अधिक शोधण्याची आवश्यकता नाही. त्यांना पारंगत करण्यासाठी आपल्याकडे नक्कीच पुरेसे आहे. इतकेच काय, जेव्हा तुम्ही आणखी कठीण काम करता तेव्हा तुम्ही सिंटॅक्सचे आपोआप पुनरावलोकन करता. परंतु जर तुम्हाला अचानक स्वतःची गरज भासली तर नवशिक्यांसाठी कोणत्याही जावा पाठ्यपुस्तकात समान समस्या आहेत. परंतु CodeGym च्या विपरीत, या व्यायाम पुस्तकांमध्ये त्वरित कार्य पडताळणी नसते.संग्रहासह सराव करा
संग्रह हा पहिला "गंभीर" विषय आहे जो नवशिक्या प्रोग्रामरना त्यांच्या अभ्यासात आढळतो. जावा कलेक्शनला समर्पित नवशिक्या टास्क देखील कोडजिम वर चांगल्या प्रकारे प्रस्तुत केल्या जातात — Java सिंटॅक्स क्वेस्टच्या सातव्या आणि आठव्या स्तरावर. येथेच विद्यार्थी जावा कलेक्शन फ्रेमवर्कबद्दल प्रथम ऐकेल आणि सेट, सूची आणि नकाशा इंटरफेससह त्यांच्या काही अंमलबजावणीसह थोडेसे कार्य करेल. तथापि, या टप्प्यावर आपल्याला या उपयुक्त साधनाची आणि साध्या Java कार्यांची फक्त एक ओळख मिळेल. जावा कलेक्शन शोध दरम्यान तुम्ही संग्रहांचा अधिक सखोल अभ्यास कराल . हा विषय किती महत्त्वाचा आहे हे तुम्ही पाहू शकता — एका संपूर्ण शोधाला त्याचे नाव देण्यात आले आहे!अपवादांसह सराव करा
Java अपवादात्मक परिस्थिती हाताळण्यासाठी एक विशेष यंत्रणा प्रदान करते, अनुप्रयोग त्रुटी "कॅचिंग" करण्याची प्रक्रिया लक्षणीयरीत्या सुलभ करते. परंतु त्याचा जास्तीत जास्त फायदा घेण्यासाठी, तुम्हाला Java मध्ये अपवाद हाताळणी कशी कार्य करते हे शोधून काढणे आवश्यक आहे. CodeGym मध्ये अशा प्रकारची कामे आहेत. तुम्ही त्यांना पहिल्या शोधात देखील भेटाल — Java सिंटॅक्स.टाइप कास्टिंगसह सराव करा
कार्यांचा हा गट, अर्थातच, वाक्यरचनावर मूलभूत कार्ये म्हणून वर्गीकृत केला जाऊ शकतो. तथापि, आमच्या नम्र मतानुसार, लोक सहसा अशा कार्यांचे कमी कौतुक करतात आणि नवशिक्या त्यामध्ये फसतात. म्हणूनच आम्ही साचा तोडतो: आम्ही अगदी सुरुवातीस आदिम प्रकारच्या रूपांतरण कार्यांचा अभ्यास करत नाही जसे इतर सहसा करतात. त्याऐवजी, आम्ही त्यांना थोड्या वेळाने हाताळतो — Java सिंटॅक्स शोधाच्या शेवटी. आणि मग जावा कोअर क्वेस्टमध्ये जेव्हा आपण OOP चा अभ्यास करतो तेव्हा आपण गैर-आदिम प्रकार (वस्तू) टाकायला शिकू . CodeGym मध्ये ही कार्ये पुरेशी आहेत. तुम्हाला आणखी पाहण्याची गरज नाही.OOP सह सराव करा
OOP हा सर्वात कठीण विषय नाही, परंतु तो अत्यंत महत्त्वाचा आहे. आणि यात अनेक बारकावे लपवले जातात जे मुलाखतकारांना कनिष्ठ विकासकांना पकडण्यासाठी वापरायला आवडतात. CodeGym कोर्समध्ये नवशिक्यांसाठी व्यावहारिक प्रोग्रामिंग कार्ये समाविष्ट आहेत ज्यामुळे तुम्हाला ऑब्जेक्ट-ओरिएंटेड तत्त्वज्ञान समजण्यास मदत होते. परंतु OOP खरोखर समजून घेण्यासाठी, आम्ही शिफारस करतो की तुम्ही संबंधित साहित्य वाचा (उदाहरणार्थ, Cay Horstmann's and Gary Cornell's "Core Java", McLaughlin's "Object-oriented Analysis and Design", किंवा इतर पुस्तके ) .इनपुट/आउटपुट प्रवाहांसह सराव करा
आम्ही I/O प्रवाह समजण्याआधीच वापरण्यास सुरुवात करतो. हा जावा आहे, माझा तरुण टोळ! System.out चे स्पष्टीकरण देणे, System.in सोडा, तुम्ही पहिल्यांदा सुरुवात करता तेव्हा अवघड आणि अनावश्यक आहे. परंतु तुम्ही जावा कोअर क्वेस्टमध्ये काम करत असताना, तुम्हाला हा काहीसा गोंधळात टाकणारा विषय समजून घेण्यासाठी पुरेशी माहिती आहे आणि आम्ही केवळ कन्सोल I/O बद्दलच बोलत नाही, तर फाइल सिस्टमसह काम करण्याबद्दल देखील बोलतो. मुख्य गोष्ट म्हणजे ही कार्ये वगळू नका (कोडजिममध्ये बरेच काही आहे) आणि सातत्याने सिद्धांताचा अभ्यास करणे.ब्रेनटेझर्स
"ब्रेनटेझर्स" द्वारे, आमचा अर्थ असा आहे की वाढीव जटिलतेची कार्ये जी ज्ञानाविषयी इतकी नसतात की तुम्हाला जे माहित आहे ते अपारंपरिक मार्गांनी लागू करण्याची क्षमता. कनिष्ठ Java विकासकासाठी ही सामान्य कार्ये आहेत. कंपन्यांना मुलाखती दरम्यान त्यांना विचारणे खूप आवडते, परंतु वास्तविक कामात असे ब्रेनटीझर्स सहसा आढळत नाहीत. म्हणून CodeGym मध्ये काही आहेत, परंतु बरेच नाहीत (आपण सहसा कॅप्टन स्क्वायरल्सच्या धड्यांमध्ये हे पहाल). मला ब्रेनटीझर्स कुठे मिळतील?- 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
अल्गोरिदम आणि डेटा संरचना
अल्गोरिदम आणि डेटा स्ट्रक्चर्ससाठी, भविष्यातील प्रोग्रामरला त्यांची किती गरज आहे याबद्दल सतत वादविवाद होत असतात. आम्ही पुन्हा एकदा उत्तर देऊ: योग्य मानसिकता स्थापित करण्यासाठी ते आवश्यक आहेत, परंतु ते क्वचितच थेट कामासाठी आवश्यक आहेत. याचे कारण असे की Java, तसेच इतर प्रोग्रामिंग भाषांमध्ये वर्गीकरण, शोध आणि बरेच काही यासाठी प्रत्येक कल्पनीय अल्गोरिदमची अंमलबजावणी असलेली लायब्ररी आहेत. तरीही, अल्गोरिदमची तुमची स्वतःची अंमलबजावणी लिहिणे खूप उपयुक्त ठरू शकते आणि तुम्हाला त्याच्या जटिलतेची कल्पना देऊ शकते. विशेषत: ज्यांनी फक्त हायस्कूलमध्ये गणिताचा अभ्यास केला आहे. मूलभूतपणे, ही कार्ये ब्रेनटीझर्ससह अदलाबदल केली जाऊ शकतात या एकमेव फरकाने त्या सर्वांचे वर्णन केले गेले आहे आणि वारंवार ऑनलाइन निराकरण केले आहे. तुम्हाला व्हॅलिडेटर टूलचीही गरज नाही. प्रिन्स्टन विद्यापीठातून कोणताही अभ्यासक्रम निवडाकिंवा कॅलिफोर्नियामधील कॉलेज . डेटा स्ट्रक्चर्ससह सराव करा:मल्टीथ्रेडिंग
कोणीही "हॅलो, वर्ल्ड!" लिहू शकतो. कार्यक्रम पण वेगळ्या थ्रेडमधून प्रसिद्ध वाक्यांश प्रदर्शित करण्यासाठी Java Thread API वापरण्याबद्दल कसे? किंवा "हॅलो, वर्ल्ड!" प्रदर्शित कसे करावे? स्ट्रिंग्स न मिसळता पाच वेगवेगळ्या धाग्यांमधून पाच वेळा? तुम्ही Java Core चा अभ्यास करता तेव्हा मल्टीथ्रेडिंग ही सर्वोत्तम "तुमच्या सामर्थ्याची चाचणी" असेल. संपूर्ण कोडजिम शोध, ज्याला Java मल्टीथ्रेडिंग म्हणतात , या विषयाला समर्पित आहे, जे सोपे नाही. यात विद्यार्थ्यांना समांतर प्रक्रियेचे "वेदना आणि सौंदर्य" अनुभवण्याची परवानगी देण्यासाठी मोठ्या संख्येने कार्ये आहेत. विद्यार्थ्यांच्या पहिल्या "वास्तविक" प्रकल्पांमध्ये सहसा काही स्तरांचे मल्टीथ्रेडिंग असते. उदाहरणार्थ, साधे खेळ.
मल्टीथ्रेडिंगसह सराव करा पाच मूक तत्त्वज्ञ एका गोल टेबलावर बसले आहेत. त्या प्रत्येकाच्या समोर स्पॅगेटीची प्लेट आहे. प्रत्येक तत्वज्ञानी (एक डावीकडे आणि एक उजवीकडे) टेबलवर काटे आहेत. प्रत्येक तत्वज्ञानी एकतर खाऊ शकतो किंवा खोल विचार करू शकतो. पण तो किंवा ती फक्त दोन काटे धरून, म्हणजे एक डावीकडे आणि एक उजवीकडे उचलून खाऊ शकतो. "पिक अप फोर्क" आणि "पुट डाउन फोर्क" या वेगळ्या क्रिया आहेत ज्या अनुक्रमे केल्या जातात. |
जेनेरिकसह सराव करा
सामान्यीकरण हे ऑटोमेशनचे सार आहे, म्हणून काही अर्थाने ते प्रोग्रामिंगचे सार आहे. त्यानुसार, आम्ही जावामधील जेनेरिक विषयाकडे दुर्लक्ष करू शकत नाही. कोडजिममध्ये जेनेरिक (प्रामुख्याने 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 कडे रेग्युलर एक्स्प्रेशनसाठी समर्पित कोणतीही कार्ये नाहीत, जरी काही त्यांच्या मदतीने सोडवता येतात. हा विषय समजून घेण्यासाठी येथे अतिरिक्त संसाधने आहेत:- regex101.com — एक वेबसाइट जिथे तुम्ही नियमित अभिव्यक्ती ऑनलाइन तपासू शकता
- माईक फिट्झगेराल्डचे "इन्ट्रोड्यूसिंग रेग्युलर एक्सप्रेशन्स" — एक संक्षिप्त आणि साधे प्राइमर.
GO TO FULL VERSION