हाय! आज आपण जावा डेव्हलपरच्या वाढीच्या मार्गाबद्दल आणि त्याला किंवा तिला मागणीत असण्यासाठी काय माहित असणे आवश्यक आहे याबद्दल बोलू. मुलाखतीत, कोणताही विकासक नोकरीच्या उमेदवाराला ग्रिल करू शकतो. उदाहरणार्थ, ते त्यांच्या सध्याच्या प्रोजेक्टमध्ये आलेल्या विशिष्ट विषयांबद्दल प्रश्न विचारू शकतात. परंतु सर्वकाही माहित नसणे सामान्य आहे. आपण काही प्रश्नांची उत्तरे देऊ शकत नाही ही वस्तुस्थिती देखील सामान्य आहे. सामान्य नियमानुसार, प्रत्येक Java प्रोग्रामरला सॉफ्टवेअर डेव्हलपमेंटची मूलभूत माहिती असणे आवश्यक आहे. तर "मूलभूत" काय मानले जाते यावर एक नजर टाकूया.
तुम्ही हे प्रथम स्थानावर ठेवले पाहिजे, जेणेकरून तुम्ही स्प्रिंग म्हणजे काय हे समजू शकाल — सर्व काही स्प्रिंग कंटेनर, बीन्स, DI, IoC इत्यादींबद्दल. स्प्रिंग वापरण्याचे तत्वज्ञान समजून घेणे, म्हणून बोलणे. स्प्रिंग फ्रेमवर्कचा तुमचा पुढील अभ्यास या बेसच्या वर तयार होईल. कदाचित तुम्ही तुमचा स्वतःचा छोटा ऍप्लिकेशन तयार केला पाहिजे ज्यामध्ये तुम्ही हळूहळू सर्व नवीन शिकलेल्या तंत्रज्ञानाचा समावेश करू शकता.
यापूर्वी आम्ही डेटाबेस कनेक्शन तयार करण्यासाठी तंत्रज्ञान म्हणून JDBC चा उल्लेख केला होता. सर्वसाधारणपणे, तंत्रज्ञानाचा "नग्न" वापर यापुढे प्रकल्पांमध्ये आढळू शकत नाही, त्यामुळे तुम्ही असा निष्कर्ष काढू शकता की JDBC शिकणे आवश्यक नाही. ही वृत्ती अगदी योग्य नाही. JDBC चा नग्न (थेट) वापर करून, तुम्ही तंत्रज्ञानाला खालच्या पातळीवर पाहू शकता आणि त्यातील समस्या आणि कमतरता समजून घेऊ शकता. मग जेव्हा तुम्ही Spring JDBC शिकण्यास सुरुवात कराल, तेव्हा तुम्हाला हे समजेल की ही फ्रेमवर्क नेमके काय सुधारते, ऑप्टिमाइझ करते आणि लपवते.
नग्न जेडीबीसीच्या परिस्थितीशी साधर्म्य असलेले, हे फ्रेमवर्क विद्यमान तंत्रज्ञानाचा लाभ घेते, या प्रकरणात, हायबरनेट. जर तुम्ही स्प्रिंगशिवाय हायबरनेट वापरण्याचा विचार केला तर तुम्हाला स्प्रिंग हायबरनेटचे फायदे नक्कीच जाणवतील.
यापूर्वी आम्ही JPA बद्दल बोललो आणि नमूद केले की ते फक्त एक तपशील आहे, जरी त्यात विविध अंमलबजावणी आहेत. या अंमलबजावणींपैकी, हायबरनेट आदर्शाच्या सर्वात जवळ येते. स्प्रिंगची स्वतःची आदर्श JPA अंमलबजावणी आहे जी हुड अंतर्गत हायबरनेट वापरते. हे जेपीए तपशीलाच्या आदर्शाच्या शक्य तितके जवळ आहे. त्याला स्प्रिंग जेपीए म्हणतात. एका शब्दात, ते डेटाबेस ऍक्सेस मोठ्या प्रमाणात सुलभ करते. तुम्ही जेडीबीसी, हायबरनेट, स्प्रिंग जेडीबीसी किंवा स्प्रिंग हायबरनेट न शिकता फक्त जेपीए शिकू शकता. परंतु जर तुम्ही हा दृष्टीकोन घेतला तर डेटाबेसशी कसे जोडले जावे याचे तुमचे ज्ञान खूप वरवरचे असेल.
हे तंत्रज्ञान वापरकर्त्यांना आमच्या ऍप्लिकेशनचा वेब इंटरफेस प्रदर्शित करणे आणि इंटरफेस आणि उर्वरित ऍप्लिकेशन दरम्यान संवाद सुलभ करणे शक्य करते. जेव्हा तुमच्याकडे डिस्प्ले हाताळण्यासाठी जबाबदार असलेले अॅप्लिकेशन असेल आणि तुम्ही RESTful तंत्रज्ञान वापरून अॅप्लिकेशनशी संवाद साधत असाल तेव्हा डिस्प्लेशिवाय देखील तंत्रज्ञान वापरले जाऊ शकते . लेख आणि YouTube व्याख्याने व्यतिरिक्त, वसंत ऋतु बद्दल माहिती अधिक चांगल्या प्रकारे भिजवण्यासाठी, तुम्ही अनेक पुस्तके वाचू शकता. मला क्रेग वॉल्सचे "स्प्रिंग इन अॅक्शन" हे पुस्तक खूप आवडले. जर तुम्हाला इंग्रजी चांगले येत असेल तर मी तुम्हाला 6 वी आवृत्ती वाचण्याचा सल्ला देतो. स्प्रिंगवरील आणखी एक उत्तम पुस्तक म्हणजे "व्यावसायिकांसाठी स्प्रिंग 5". ते अधिक दाट आहे. कव्हर टू कव्हर वाचण्यापेक्षा जवळ ठेवणे अधिक मौल्यवान असलेल्या संदर्भासारखे.
हे तंत्रज्ञान स्प्रिंगचा वापर मोठ्या प्रमाणात सुलभ करते. मी ते यादीच्या शेवटी ठेवले नाही. खरंच, ते हुड अंतर्गत बरेच काही लपवते आणि व्हॅनिला स्प्रिंगशी अपरिचित असलेल्या व्यक्तीसाठी, बरेच मुद्दे अस्पष्ट किंवा समजण्यासारखे असू शकतात. प्रथम, स्प्रिंग फ्रेमवर्क कसे कार्य करते हे अधिक चांगल्या प्रकारे समजून घेण्यासाठी, आपण नियमित स्प्रिंग वापरावे आणि नंतर स्प्रिंग बूट वापरण्याचे सर्व उच्च फायदे घ्या. मी शिफारस करतो की तुम्ही स्प्रिंग सिक्युरिटी आणि स्प्रिंग एओपीशी परिचित व्हा. परंतु वरील तंत्रज्ञानाच्या विपरीत, या दोघांचे सखोल ज्ञान अद्याप आवश्यक नाही. हे तंत्रज्ञान नवशिक्यांसाठी नाही. मुलाखतींमध्ये, कनिष्ठ देवांना त्यांच्याबद्दल विचारले जाणार नाही (एक वरवरचा प्रश्न वगळता, कदाचित). हे तंत्रज्ञान काय आहेत आणि त्यांच्या कार्यामागील तत्त्वे यांचे विहंगावलोकन वाचा. या लेखात, पुस्तके वाचण्याचा उल्लेख मी वारंवार केला आहे. एकीकडे, हे अनिवार्य नाही. ऑनलाइन लेख आणि प्रशिक्षण व्हिडिओंमधून सर्व आवश्यक ज्ञान मिळवून, एकही पुस्तक न वाचता तुम्ही प्रोग्रामर बनू शकता. दुसरीकडे, नोकरीच्या बाजारपेठेत, नवशिक्या विकसकांमध्ये स्पर्धा सध्या जास्त आहे, ज्यामुळे नवशिक्याला काय माहित असणे आवश्यक आहे. त्यामुळे, तुम्हाला जितके अधिक माहिती असेल तितक्या लवकर तुमची पहिली नोकरी तुमच्या ज्ञानाच्या पातळीने मुलाखतकाराला प्रभावित करून मिळेल. सर्वांना धन्यवाद, आणि जावा तुमच्या सोबत असू द्या. जे नवशिक्याला काय माहित असणे आवश्यक आहे यासाठी बार वाढवते. त्यामुळे, तुम्हाला जितके अधिक माहिती असेल तितक्या लवकर तुमची पहिली नोकरी तुमच्या ज्ञानाच्या पातळीने मुलाखतकाराला प्रभावित करून मिळेल. सर्वांना धन्यवाद, आणि जावा तुमच्या सोबत असू द्या. जे नवशिक्याला काय माहित असणे आवश्यक आहे यासाठी बार वाढवते. त्यामुळे, तुम्हाला जितके अधिक माहिती असेल तितक्या लवकर तुमची पहिली नोकरी तुमच्या ज्ञानाच्या पातळीने मुलाखतकाराला प्रभावित करून मिळेल. सर्वांना धन्यवाद, आणि जावा तुमच्या सोबत असू द्या.
1. मूलभूत अल्गोरिदम
प्रोग्रामिंग (फक्त जावा नाही) शिकण्यास सुरुवात करताना पहिली गोष्ट म्हणजे मूलभूत गोष्टी समजून घेणे. उदाहरणार्थ, अल्गोरिदम. त्यांची संख्या असीम आहे, आणि शक्य तितक्या अल्गोरिदम शिकण्याचा प्रयत्न करून तुम्ही तुमच्या आयुष्यातील संपूर्ण वर्षे मारून टाकू नयेत: त्यापैकी बहुतांश तुमच्यासाठी उपयुक्त ठरणार नाहीत. आपण "ग्रोकिंग अल्गोरिदम" या पुस्तकातून आवश्यक किमान ज्ञान मिळवू शकता. तुम्हाला सुरुवात करण्यासाठी हे पुरेसे आहे, परंतु तुम्हाला हवे असल्यास, तुम्ही रॉबर्ट सेजविक आणि केविन वेन यांच्या "स्ट्रक्चर्स अँड अल्गोरिदम्स" किंवा "जावामधील अल्गोरिदम" या पुस्तकातून शिकू शकता. मी तुम्हाला संगणक विज्ञान मूलभूत गोष्टींचे ज्ञान सुधारण्याची शिफारस देखील करतो. हे हार्वर्ड CS50 कोर्ससह केले जाऊ शकते.2. Java सिंटॅक्स
अल्गोरिदमच्या मूलभूत गोष्टी शिकल्यानंतर, आपल्याला जावा वाक्यरचना शिकणे आवश्यक आहे. शेवटी, आम्ही सर्व येथे जावा प्रोग्रामर बनण्याचा अभ्यास करत आहोत, बरोबर? यासाठी CodeGym कोर्स योग्य आहे. तुम्ही अगणित कार्ये करत असताना, तुमचा हात जावा सिंटॅक्सवर येईल आणि नंतर, जास्त संकोच न करता, तुम्ही जावा कोड लिहा/वाचाल जणू ती तुमची मूळ भाषा आहे. कोडजिम हा सराव आहे, परंतु त्यापलीकडे, आपण काय करत आहात हे समजून घेण्यासाठी आपल्याला सिद्धांत देखील पाहण्याची आवश्यकता आहे. हे करण्यासाठी, आपण पुस्तके वाचू शकता. उदाहरणार्थ, खालीलपैकी एक:- "हेड फर्स्ट जावा",
- बॅरी बर्डचे "जावा फॉर डमीज";
- "जावा: एक नवशिक्या मार्गदर्शक" हर्बर्ट शिल्ड.
- "जावा मध्ये विचार," ब्रूस एकेल;
- जोशुआ ब्लोच द्वारे "प्रभावी जावा";
- हर्बर्ट शिल्ड द्वारे "जावा: संपूर्ण संदर्भ".
3. डिझाइन नमुने
डिझाईन नमुने हे काही पुनरावृत्ती करण्यायोग्य नमुने आहेत जे वारंवार समोर येणाऱ्या संदर्भांमध्ये समस्या सोडवतात. त्यामध्ये मूलभूत, साधे नमुने समाविष्ट आहेत जे प्रत्येक स्वाभिमानी प्रोग्रामरला माहित असले पाहिजेत. हा विषय समजून घेण्यासाठी, "हेड फर्स्ट डिझाइन पॅटर्न" हे पुस्तक घ्या. हे मूलभूत डिझाइन पॅटर्न सुलभ मार्गाने स्पष्ट करते. परंतु हे पुस्तक जावा बद्दल बरेच काही बोलते, म्हणून जेव्हा तुम्ही हे पुस्तक वापरता तेव्हा तुम्हाला या प्रोग्रामिंग भाषेत ओघ देखील आवश्यक असेल. पॅटर्नमध्ये खोलवर जाण्यासाठी, तुम्ही गँग ऑफ फोर मधील "डिझाइन पॅटर्न: एलिमेंट्स ऑफ रीयुजेबल ऑब्जेक्ट-ओरिएंटेड सॉफ्टवेअर" देखील वाचू शकता ( संपादकाची टीप: गँग ऑफ फोर ही लेखकांची एक टीम आहे ज्यामध्ये एरिक गामा, रिचर्ड हेल्म, राल्फ यांचा समावेश आहे. जॉन्सन, जॉन व्लिसाइड्स.). एकदा तुम्ही या विषयाचा अभ्यास केल्यावर, तुम्हाला तुमच्या कोडमध्ये अक्षरशः सर्वत्र नमुने दिसू लागतील. याकडे लक्ष द्या, विशेषत: स्प्रिंगमध्ये वापरल्या जाणार्या नमुन्यांकडे, कारण हा एक लोकप्रिय मुलाखत प्रश्न आहे.4. प्रोग्रामिंग प्रतिमान. कोड स्वच्छता
मानक डिझाइन नमुन्यांव्यतिरिक्त, विविध तत्त्वे आणि प्रतिमान आहेत ज्यांची माहिती असणे आवश्यक आहे ( SOLID , GRASP ). तुम्हाला तुमचा कोड स्वच्छ आणि वाचनीय ठेवणे देखील आवश्यक आहे. प्रत्येक गोष्टीसाठी, तुम्हाला या विषयाबद्दल माहिती असणे आवश्यक आहे, रॉबर्ट मार्टिनचा क्लीन कोड पहा किंवा स्टीव्ह मॅककॉनेलचा "कोड पूर्ण" पहा.5. SQL
आमची पुढची पायरी म्हणजे रिलेशनल डेटाबेस - SQL साठी भाषेचा अभ्यास करणे . डेटाबेस म्हणजे वेब ऍप्लिकेशनद्वारे वापरलेली माहिती (डेटा) साठवली जाते. डेटाबेसमध्ये अनेक टेबल्स असतात (तुमच्या फोनवरील अॅड्रेस बुक हे एक साधे उदाहरण आहे). Java डेव्हलपर्स केवळ Java ऍप्लिकेशनसाठीच नव्हे तर ते ज्या डेटाबेसशी संवाद साधतात आणि त्याचा डेटा कोठे संग्रहित करतात यासाठीही जबाबदार असतात. रिलेशनल डेटाबेसेसमध्ये (जे सर्वात सामान्य प्रकार आहेत), सर्व परस्परसंवाद स्ट्रक्चर्ड क्वेरी लँग्वेज किंवा SQL नावाच्या विशेष भाषेद्वारे होतात. हा विषय समजून घेण्यासाठी, तुम्हाला फक्त यापैकी एक पुस्तक वाचण्याची आवश्यकता आहे:- अॅलन ब्युलियु द्वारे "लर्निंग एसक्यूएल";
- ख्रिस फेहिली द्वारे "SQL";
- लिन बेघलीचे "हेड फर्स्ट एसक्यूएल"
GO TO FULL VERSION