JavaRush /جاوا بلاگ /Random-SD /چال، يا جاوا ۾ تجربي کانسواءِ وچين جاوا ڊولپر جي حيثيت ۾ ...
Юрий
سطح
Москва

چال، يا جاوا ۾ تجربي کانسواءِ وچين جاوا ڊولپر جي حيثيت ۾ نوڪري ڪيئن حاصل ڪجي

گروپ ۾ شايع ٿيل
جاوا جي سڀني شاگردن ۽ پروفيسرن کي سلام. ٿي سگهي ٿو ته منهنجي ڪهاڻي ڪجهه لاءِ هڪ مثال هوندي ته اهو ڪيئن ڪجي، ۽ ٻين لاءِ - اهو ڪيئن نه ڪجي. اهو آڪٽوبر 19، 2021 آهي، ۽ اڄ مون هڪ وڏي ڪمپني ۾ جاوا مڊل ڊولپر جي حيثيت سان امتحاني دور (3 مهينا) مڪمل ڪيو. مون کي جاوا جي ترقي ۾ اڳوڻو تجربو نه هو. جون 4، 2020 تائين، مون کي جاوا بابت ڪجھ به نه ڄاڻو. جڏهن مون کي جاواسٽ طور رکيو ويو، مون واعدو ڪيو ته جيڪڏهن مون امتحاني دور پاس ڪيو ته مان هڪ ڪامياب ڪهاڻي لکندس. هي آرٽيڪل ٻن منطقي حصن ۾ ورهايو ويندو: ڪيريئر پس منظر ( باب 1-5، جاوا سان لاڳاپيل ناهي، پر جنهن ۾ توهان پنهنجي ڪيريئر بابت ڄاڻ حاصل ڪري سگهو ٿا). جاواسٽ ٿيڻ (باب 6-9 - جاوا سکڻ، انٽرويو، نوڪري حاصل ڪرڻ، پهريون حقيقي تجربو). <h3>باب 1. اقتصاديات جو ماهر</h3>سمجھڻ لاءِ ته مان جاوا رشش ۾ ڪهڙي سطح جي ڄاڻ سان آيو آهيان، مون کي پنهنجي باري ۾ هڪ سوانح عمري نوٽ ڏيڻو پوندو. 2013، نومبر، 8 ايم. مان Taganka تي ڪافي شاپ ۾ ويٺو آهيان ۽ SQL هدايتون ورجائي رهيو آهيان. هڪ ڪلاڪ ۾ مون وٽ بينڪ جي مالياتي شعبي ۾ معروف اقتصاديات جي پوزيشن لاء هڪ انٽرويو آهي. هي واحد انٽرويو آهي جنهن ۾ مون کي دعوت ڏني وئي هئي، ۽ مون کي اهو ڏيڻو آهي 100٪. هن جي خاطر، مان سينٽ پيٽرسبرگ کان پرواز ڪيو ۽ باورچی خانه ۾ مائٽن سان گڏ رهيس، ته جيئن منهنجي اڳ ۾ ئي ننڍڙي بچت خرچ نه ڪريان. 30 منٽ گذري ويا، هيم ۽ پنير سان پينڪڪس کائي ويندا آهن ۽ اسان کي اسان جي پياري خواب ڏانهن وڌڻ جي ضرورت آهي. پر سڀ ڪجهه لرزندو آهي. ڇا جيڪڏهن آئون انٽرويو ۾ ناڪام ٿيس؟ ٺيڪ، اهو نه هو. مان بئنڪ ڏانهن وڃان ٿو، پاس حاصل ڪريان ٿو، ۽ ميٽنگ روم ۾ منهنجي انٽرويو وٺندڙن جو انتظار ڪندس. وقت تمام گهڻو گذري ٿو. 35 سالن جو هڪ مرد ۽ ساڳئي عمر جي هڪ عورت اندر اچي ٿي. اهي پنهنجو تعارف ڪرائيندا آهن ۽ توهان کي پنهنجي باري ۾ ٻڌائڻ لاءِ پڇندا آهن: "يوري، اها خوشي آهي." منهنجي عمر 21 سال آهي، مان سينٽ پيٽرسبرگ جي هڪ يونيورسٽي ۾ پارٽ ٽائيم پڙهندو آهيان، مون هڪ بئنڪ ۾ ٽيلر طور 3 مهينا ڪم ڪيو. مون محسوس ڪيو ته اھو اھو نه آھي جنھن لاءِ مون مطالعو ڪيو آھي، مون نوڪريءَ جي منڊي کي ڏسڻ شروع ڪيو ۽ ڏٺم ته ماسڪو ۾ اقتصاديات جي ماهرن وٽ SQL جي ضرورت آھي. تنهن ڪري مون ان جو اڀياس ڪيو، ڪورسز ڏانهن ويا (MS SQL Administration - اهو آهي جيڪو مون وٽ هو، اهو ئي آهي جنهن لاءِ ويو آهيان) ۽ توهان مون کي سڏيو. اهي ڪمپني بابت ڳالهائيندا آهن، جيڪي ڪندا آهن (اڪثر لفظ ناقابل فهم آهن)، ۽ پوء توهان کان پڇو ته هڪ امتحان وٺو. ٽيسٽ ۾ SQL تي 3 سوال آھن: 1. ھڪ ٽيبل ڏنو، id = 10 سان سڀ رڪارڊ ڪڍو. 2. ٻن ٽيبلن کي ڏنو، انھن کي ڳنڍيو ۽ ھر ھڪ مان ھڪڙو ڪالم ڏيکاريو. 3. ڊپارٽمينٽن کي گروپ ڪريو ۽ هر کاتي لاءِ ملازمن جو تعداد ڏيو. اها وڏي شرم جي ڳالهه آهي ته مان اهي درخواستون لکي رهيو آهيان. اهو بعد ۾ نوڪري مان منهنجي اميدن جي بحث جي پٺيان آهي. ۽ اھي مون کي جادوءَ جو جملو ٻڌائين ٿا: ”انٽرويو لاءِ توھان جي مھرباني، اسان توھان کي واپس سڏينداسين. هڪ هفتو گذري ٿو، ۽ اهي مون کي پيش ڪن ٿا انهن سان گڏ ڪم ڪرڻ لاء. خوشي، صدمو، خوشي! ۽ ڪهڙي رقم لاءِ: هٿ ۾ 70 هزار روبل! ها، مان امير ٿي ويندس! مان ماسڪو آيو آهيان، آباد آهيان، مرڪز ۾ هڪ ڪمرو ڪرائي تي. پهرين ڏينهن خوش مزاج آهن. 10 ڏينهن کان پوء، احساس شروع ٿئي ٿو: مان ڪٿان آيو آهيان؟ مون کي ته ڪجهه سمجهه ۾ نٿو اچي! مون کي هر مهيني سڄي بئنڪ لاءِ مئنيجمينٽ رپورٽون تيار ڪرڻيون هيون. قدرتي طور، مون لاء اهو ساڳيو ئي توهان لاء هو، پيارا پڙهندڙ. مون اصطلاحن کي لاطيني ۾ اسپيل طور انٽر بئنڪ ڪريڊٽ، ادل بدل، خرچ مختص، خرچ وغيره سمجھيو. رستي ۾، مون کي مسئلي جي ٽيڪنيڪل پاسي کي ماهر ڪرڻو پيو: MS رسائي (سڀ رپورٽنگ اتي VBA ذريعي ڪئي وئي هئي)، MS SQL (نئين اسٽوريج جي طور تي، رسائي جي بدران)، Oracle (جنهن کي مون شروعات ۾ Oracle سڏيو، hysterics جو سبب بڻيو. پروگرامرز جي وچ ۾). ۽ اوچتو مون کي سمجهڻ شروع ڪيو ته ٽيڪنيڪل پاسي مون لاء گهڻو وڌيڪ دلچسپ آهي. پيچيده سوالن کي پيدا ڪرڻ جي ڪوشش ڪئي وئي آهي (نتيجي طور، ڊيٽابيس منهنجي اسڪرپٽ مان لڪيل آهي، ۽ ڪاوڙيل منتظمين اهو معلوم ڪرڻ جي ڪوشش ڪري رهيا آهن ته اهو ڪنهن ڪيو). پر مکيه نوڪري فنانس آهي، جيڪو صرف مون کي ختم ڪرڻ شروع ڪري ٿو. هڪ اڌ مهيني کان پوءِ، مان استعيفيٰ جو خط لکي رهيو آهيان، ڇاڪاڻ ته مان ڪو به نتيجو نه ٿو ڏئي سگهان (۽ انهن کي مون کان ڪا به اميد نه هئي، سچ پڇو). مالياتي کاتي جو سربراهه ان تي ڳوڙها ڳاڙيندو آهي ۽ چوي ٿو: "ڪپڙي سان پريشان نه ڪريو." هڪ مهيني کان پوء، مان هڪ بيان ٻيهر لکندو آهيان، ۽ ڊپارٽمينٽ جو سربراهه، جيڪو اهڙي بي رحميء کان حيران ٿي ويو هو (جيڪو بعد ۾ بينڪ جي بورڊ جو چيئرمين ٿيو)، انتهائي حيرانگي سان اشارو ڪيو: اهو ماڻهو 21 سالن جي آهي، بغير ڪنهن اعلي کان وڌيڪ. تعليم، انهن کي هڪ تنخواه ۽ اعتماد ٻنهي ڏني وئي، پر هو اهڙي طرح سان هلن ٿا. برطرفي جا سبب ٻه وڌيڪ هئا: باس، جنهن جي وڏائيءَ تي مان خاموشيءَ سان ردِعمل ظاهر نه ڪري سگهيو هوس، ۽ هڪ بي آرام ڪرسي، جنهن مان منهنجي پٺيءَ ۾ درد ٿيڻ لڳو. هي ناقابل يقين حد تائين مذاق آهي، پر هتي مقصد آهي. جڏهن مون ڇڏي ڏنو، مون سوچيو ته هاڻي مون کي وڌيڪ آرام سان ملندو. پر اهو اتي نه هو. <h3>باب 2. 70 انٽرويوز</h3>بئنڪ کي ڇڏي، مون هڪ ڊگهو سانس ورتو. ”مان ان کي اهڙي طرح ترتيب ڏيندس، هرڪو حيران ٿي ويندو. انٽرويوز طئي ٿيل هئا، انهن لاءِ تنخواه وڌيڪ هئي، ۽ لڳي ٿو ته رپورٽنگ سان معاملو ڪرڻ جي ڪا ضرورت ناهي. هتي 4 انٽرويو آهن ۽ ڪو به مون کي نوڪري نه ڏيندو آهي. 5، 6 انٽرويو - ساڳي شيء. مان هڪ ڇوڪريءَ سان گڏ ڪرائي جي ڪمري ۾ رهندو هوس، ۽ هن کي نوڪري ملي وئي ۽ منهنجي آمدنيءَ جي کوٽ پوري ٿي سگهي. پر مون کي اڃا تائين ڪا به خبر نه هئي ته منهنجي آمدني نه هوندي. مان انٽرويوز ڏانهن ويو (خالي هڪ لا تجزيه نگار)، ۽ انهن خاص طور تي SQL ۽ VBA بابت پڇيو. انهن لاءِ جن کي خبر ناهي، VBA هڪ پروگرامنگ ٻولي آهي Excel، Access ۽ ٻين MS Office پروڊڪٽس ۾. 10 انٽرويو منعقد ڪيا ويا آهن - ڪجھ به نه. 20، 30 - ڪجھ به نه. تجربو ۽ اعليٰ تعليم جي کوٽ (جيڪا مون کي ننڍڙي لڳي ٿي) کان هرڪو شرمسار آهي. 40 انٽرويو، ۽ نا اميد ٿيڻ شروع ٿئي ٿو. 55-60 انٽرويو جي عرصي دوران مون کي 1C پڙهڻ شروع ڪيو. ڇوڪري، جيڪو اڳ ۾ ئي هڪ زال بڻجي چڪو آهي، سينٽ پيٽرسبرگ ڏانهن وڃڻ لاء پڇي ٿو، ڇو ته گهٽ ۾ گهٽ هن وٽ پنهنجي رهائش آهي. ۽ 70 هين انٽرويو ۾، مون کي 1C ڊيٽابيس ايڊمنسٽريٽر ٿيڻ جي دعوت ڏني وئي (1C ڊولپر ٿيڻ جي امڪان سان) سينٽ پيٽرسبرگ جي صنعتي زون ۾ هڪ ننڍڙي ڪمپني ۾ 50,000 روبل لاءِ. هاڻي اهو ڪيريئر جي ترقي آهي! <h3>باب 3. ريٽرن آف دي ليجنڊ</h3>گرين سينٽ پيٽرسبرگ صنعتي زون ۾ هڪ مني بس (ڪارپوريٽ ٽرانسپورٽ) جي دريءَ مان ٻاهر ڏسندي، ۽ هڪ ڪلاڪ ۽ چاليهه هڪ رستو سفر ڪندي، مون محسوس ڪيو ته مان نه ٿو ڪري سگهان. ائين رهو. 1C ۾ دلچسپي غائب ٿي وئي خود لکيل سسٽم جي پهرين رابطي تي. هڪ منصوبي جي ضرورت هئي. ۽ هو پختو ٿي ويو: شام جو هن SQL جو اڀياس ڪيو، ۽ ساڳئي وقت مشهور نوڪري سائيٽ جي نگراني ڪئي. برطرفي لاء آخري محرڪ صورتحال هئي: جنرل ڊائريڪٽر مون کي رٿيل موڪلن تي وڃڻ نه چاهيو، جيتوڻيڪ ٽڪيٽون اڳ ۾ ئي خريد ڪيو ويو آهي. منهنجي موڪلن کان پوء، مان هڪ درخواست لکندو آهيان ۽ ٻيهر ٻيهر موڪليندس ماسڪو جي خالي جاين لاءِ. هڪ ڀيرو ٻيهر مون کي ماسڪو جي هڪ وڏي بئنڪ ۾ هڪ انٽرويو جي آڇ ڪئي وئي آهي. مان وري پنهنجي مائٽن جي باورچی خانه ۾ آيس ۽ انٽرويو لاءِ وڃان ٿو. جڏهن ايڇ آر ايڊريس لکيو، مون کي پنهنجي اکين تي يقين نه اچي سگهيو - هي اها عمارت هئي جنهن ۾ مون ڪم ڪرڻ جو خواب ڏٺو هو (ماسڪو ۾ منهنجي آخري رهائش وقت اهو صرف تعمير هيٺ هو). پوزيشن کي چيف انفارميشن سسٽم سپورٽ اسپيشلسٽ سڏيو ويو. مان آفيس وڃان ٿو مون کي هڪ فيشني جيڪٽ ۽ جينس ۾ اٽڪل 30 سالن جي هڪ شخص طرفان سلام ڪيو ويو آهي. اسان 15 هين ماڙ تي وياسين، ۽ جڏهن مون شهر جو نظارو ڏٺو، تڏهن منهنجو ساهه نڪري ويو: اسٽالن جون تمام بلند عمارتون نظر اچي رهيون هيون. عمارت جو سڄو انداز بلڪل جديد هو: باس جي آفيس ۾ شراب ريفريجريٽر، فيشن ايڪريريم، ڪارو ۽ اڇا انداز ۾ هڪ ننگي عورت جي تصوير هئي. اهو هڪ "واه" اثر پيدا ڪيو. باس سان گفتگو ائين نه ٿيو جيئن عام طور تي ڪيو ويو: اٽڪل 40 منٽن تائين هن بينڪ ۾ ڇا ٿي رهيو آهي بابت ڳالهايو. مون کي ڪجهه به سمجهه ۾ نه آيو، پر ڪنڌ مٿي کنيو. جڏهن مون پڇيو ته: تون مون کان پڇڻ ڪڏهن شروع ڪندين؟ هو ڌيان نه ڏئي رهيو هو. هڪ دفعو ٻيهر، منهنجي سوال تي، "ٽيڪنيڪي انٽرويو ڪڏهن آهي؟"، جواب هو "ها، اسان توهان کي هر صورت ۾ نوڪري ڪنداسين، جيڪڏهن توهان ان کي سنڀالي نه سگهندا، اسان توهان کي برطرف ڪنداسين." مسڪراهٽ سان چيو ويو، ۽ مون محسوس ڪيو ته سڀ ڪجهه، خواب ٻيهر سچو ٿي چڪو هو! <h3>باب 4. پاڻ کي IT ۾ ڳولهڻ </h3>جڏهن مان نئين جاءِ تي پهتس، مون سمجهيو ته هنن مون کي فوري طور تي ڇو رکيو آهي. مان هڪ ڊپارٽمينٽ ملازم جي هڪ عام تصوير بيان ڪندس: سراسري عمر 55 سالن جي عمر، ماسڪو، ماسڪو اسٽيٽ يونيورسٽي جي تعليم، سوويت دور ۾ هڪ دفاعي تحقيقي اداري ۾ ڪم، ۽ 90 جي ڏهاڪي ۾ بئنڪنگ شعبي ۾ منتقلي، هتي 20 سالن کان ڪم ڪري رهيو آهي. سال، اڌ مرد آهن، اڌ عورتون آهن. اهي ڀرپاسي جي اندرين سان مڪمل اختلاف ۾ داخل ٿي ويا. اسان اڪائونٽنگ جي رپورٽنگ پروگرامن کي برقرار رکڻ ۾ ملوث هئاسين. قدرتي طور تي، اهو سڀ ڪجهه قديم VBA ۽ SQL اسڪرپٽ ۾ هو جيڪو ڊولپرز پاران 90s جي آخر ۾ ۽ 2000 جي شروعات ۾ لکيل هو. اهو 2015 هو، ۽ آٽوميشن ايم ايس رسائي ذريعي هئي. اهو آهي، اهو انتهائي غريب نظر آيو. پر اتي هڪ nuance هو - انهن مهيا ڪيو ته ڪسٽمر (اڪائونٽنگ) ڇا چاهيو. ۽ بلڪل وقت تي ۽ گهربل فارم ۾. صرف انهن کي خبر هئي ته اهو ڪيئن ڪم ڪيو، ۽ جيتوڻيڪ Onotole انهن جي ترقي جي پيچيدگي کي تصور نه ڪري سگهيو. ۽ ڪنهن به آئي ٽي مينيجر، جيتوڻيڪ وڏي خواهش سان، انهن کي برطرف نه ڪري سگهيو - چيف اڪائونٽنٽ بينڪ جي بورڊ ڏانهن ويو ۽ ڪنهن به ملازم جو دفاع ڪيو جيڪو اڪائونٽنگ کاتي جي مفادن جي خدمت ڪندو هو. مئنيجر مون کي ٽرجن گھوڙي جو ڪردار ادا ڪرڻ چاهيو: مون انهن جي سڀني ترقيات جو اڀياس ڪيو، ۽ پوء ڊيٽا کي نئين سسٽم ڏانهن منتقل ڪيو. پوءِ پراڻن ملازمن کي برطرف ڪري مون کي نئين سرشتي ۾ منتقل ڪري سگهجي ٿو. پهرين، مون انهن جي عملن ۾ شامل ڪيو ۽ VBA ڪوڊ کي ڏٺو. آهستي آهستي مون VBA ڪوڊ پڙهڻ سکيو. هڪ سال کان پوء، مون کي اڳ ۾ ئي ڄاڻ هئي ته ڪيئن ڪوڊ پاڻ کي لکڻ. عام ڪم: هڪ ڊيٽابيس ڏنو، ان مان ڊيٽا ڪڍي، ۽ ان کي هڪ خاص فارميٽ ۾ Excel ۾ وجهي. هاڻي، جيئن Zadornov چيو، هڪ ڊگهو سانس وٺو: سڀ ڊپارٽمينٽ جي رپورٽنگ (۽ اهو 50 روزانو، 20 مھينا رپورٽون!) دستي طور تي هلائي وئي! ڪارل، ڇا توھان سمجھو ٿا ته ماڻھو 50 رپورٽن ۾ پنھنجي ھٿن سان ھر ڏينھن +1 تي تاريخون تبديل ڪندا آھن! اھي ويٺا آھن، ھڪڙي رپورٽ جي نتيجي جو انتظار ڪريو 1-10 منٽن لاء، ۽ ٻيو لانچ ڪريو! ان کان علاوه، روزاني رپورٽون هڪ خاص وقت تي شروع ٿيڻ گهرجن، ۽ خدا نه ڪري توهان کي دير ٿي وئي آهي! نه رڳو اهي رپورٽون ٺاهيندا آهن، اهي دستي طور تي ڊيٽابيس ۾ طريقيڪار کي هلائيندا آهن بغير استعمال ڪرڻ کان سواء! اھو آھي، @startDate = '2015-01-01' متغير استعمال ڪرڻ جي بدران، اھي ساڳيا تاريخ دستي طور تي 20 جڳھن تي تبديل ڪندا! اهو سڀ ڪجهه ڏسڻ کان پوءِ مون پائٿون سکڻ شروع ڪيو. ۽ VBA، SQL ۽ ٽاسڪ شيڊولر سان گڏ، مون اهو سڀ ڪجهه ٻن سالن ۾ خودڪار ڪيو. نه رڳو خودڪار، پر ڪيترن ئي رپورٽن کي پڻ تيز ڪيو: جيڪڏھن توھان MS SQL + TSQL جي حق ۾ MS Access + VBA کي ڇڏي ڏيو، توھان حاصل ڪري سگھوٿا پيداوار ۾ گھڻا واڌارو. منهنجو رڪارڊ تيزيءَ سان رپورٽ ٺاهي رهيو آهي100هڪ دفعو! پر منهنجا ساٿي اهڙي آٽوميشن کان بيحد ناخوش هئا، ان ڪري مون کي عوام جو دشمن قرار ڏنو ويو (اهي ريٽائرمينٽ تائين خاموش ويهڻ چاهيندا هئا). وقت گذري ويو ۽ ڊيٽا لڏپلاڻ ڪامياب ٿي وئي. مئنيجر مون کي تمام گهڻو قدر ڪيو: جيڪڏهن منهنجي ڪيريئر جي شروعات ۾ آئون صبح 8 وڳي ڪم تي آيو آهيان، پوء ٿوري دير کان پوء آئون 12:00 تائين ڪنهن به وقت اچي سگهان ٿو، تنخواه ۽ پوزيشن ۾ مسلسل اضافو، هفتي جي آخر ۾ ڪم جي ادائيگي وڌيڪ. ٻيڻو رقم کان وڌيڪ، گھر تي ٽيڪسي جيڪڏهن توهان ڪم تي دير سان آهيو، موبائل ڪميونيڪيشن، مختصر ۾ - اشرافيه! <h3>باب 5. گولڊن ڪيج</h3>اوچتو، 3.5 سالن کان پوءِ، نئون آئي ٽي مئنيجمينٽ اچي ٿو ۽ چوي ٿو ته سسٽم جنهن ڏانهن مون ڊيٽا کي منتقل ڪيو هو، هاڻي ضرورت ناهي. پر پراڻو نظام برقرار رهندو. منهنجو مئنيجر ڪيريئر ڏاڪڻ کي مٿي ڪري رهيو آهي ۽ مون کي دعوت ڏئي ٿو ته هڪ وڌيڪ ترقي پسند کاتي ڏانهن وڃو. ترقي پسند ڊپارٽمينٽ جي سربراهه سان ملاقات ۾، مان سمجهان ٿو ته هن ڊپارٽمينٽ جي ٽيڪنالاجي اسٽيڪ مون کي اڻڄاتل آهي: Oracle، .net، C#، Linux، وغيره. + امڪاني باس ڏانهن مخالف. مان پنهنجي مئنيجر کي ٻڌايان ٿو ته مون کي ترقي پسند ڊپارٽمينٽ ۾ دلچسپي نه آهي، ۽ هو آسانيء سان منهنجي باري ۾ وساري ٿو. ۽ پوء سوال پيدا ٿئي ٿو: اڳتي ڇا ڪجي؟ آمدني اڳ ۾ ئي مهذب هئي، جونيئر ديو مون کي ان تنخواه لاءِ نوڪري نه ڏيندو. منهنجي صلاحيتن جي باري ۾ سوچڻ کان پوء، مون محسوس ڪيو ته مون کي مشين سکيا ۾ وڃڻ جي ضرورت آهي. رياضياتي انگن اکرن سان پهرين ملاقات تائين سڀ ڪجهه دلچسپ هو، جيڪو صرف انسٽيٽيوٽ ۾ نفرت جو سبب بڻيو. اهو ئي آهي، ڇهن مهينن لاء بيوقوف! وقت گذرندو ويو، ۽ هڪ ڏينهن، هلڻ دوران، مون هڪ ويب سائيٽ بابت سوچيو، جيڪا ماسڪو جي نقشي تي سٺا ريسٽورنٽ ڏيکاريندي. HTML، CSS، JS سکڻ شروع ڪيو. مون پڙهائي ۾ 3 مهينا گذاريا؛ مون وٽ مڪمل ويب سائيٽ ٺاهڻ جي ڄاڻ نه هئي، پر مان ان کي ڪم تي مشق ڪري سگهان ٿو. هڪ خيال پيدا ٿيو: اڪائونٽنٽ لاءِ هڪ پورٽل ٺاهيو ته جيئن اهي هڪ بٽڻ استعمال ڪندي پنهنجي لاءِ ڪا به رپورٽ ڊائون لوڊ ڪري سگهن. پورٽل ٺاهڻ ۾ 2 مهينا لڳا، ۽ SPA (سنگل پيج ايپليڪيشن) ويب ايپليڪيشن React js ۾ Node.js backend سان پيدا ٿي. واپس هليا SQL اسڪرپٽ (مون کي فريم ورڪ جي باري ۾ خبر نه هئي Hibernate)، Python شروع ڪيو ۽ MongoDb ۾ اضافي معلومات محفوظ ڪئي (مثال طور، سائيٽ جي استعمال ڪندڙن بابت). خارجي طور تي، سائيٽ تمام مهذب نظر آئي (بوٽ اسٽريپ 4، فيشن واري متحرڪ). مون کي اڃا تائين هن منصوبي تي فخر آهي. پر جڏهن مون بئنڪ جي ويب ڊولپرز کي پنهنجو ڪوڊ ڏيکاريو ته اهي حيران ٿي ويا. توهان جو پنهنجو هڪ طبقو ناهي! صرف خاصيتون، صرف هارڊور! انهن منهنجي ساراهه ڪئي، پر چيو ته مون کي اڃا تائين تمام گهڻو مطالعو ڪرڻ جي ضرورت آهي مڊل فل اسٽيڪ ڊولپر ٿيڻ لاءِ. مون هڪ تجزيه نگار طور نوڪري حاصل ڪرڻ جي ڪوشش ڪئي، پر ڪي خاص آڇون نه هيون. مان سمجهان ٿو: مان اتي نه هوس، مان پوسٽ ڪندس منهنجي ٻيهر شروع جي مڪمل اسٽيڪ ڊولپر. ڪالون آيون، پر انٽرويو دوران آئون پيرس جي مٿان پلائيووڊ وانگر اڏامي ويو: مثال طور، مون کي خبر نه هئي ته HashMap، HashSet ڇا هئا ۽ انهن جي ضرورت ڇو هئي. او او پي، پروگرامنگ جي نمونن، الگورتھم، ٽيسٽنگ، گيٽ جي باري ۾ ٿورو خيال نه هو. مون کي بنيادي شين جي اڻ ڄاڻائيءَ کان شرمندگيءَ جا ڊگھا وساريل احساس ياد آيا. اوچتو هڪ آڇ اچي ٿي نوڪري لاءِ هڪ مالي ڪمپني ۾ ڪسٽمر تجزياتي جي سربراهه طور. هڪ هفتو اڳ ملڪ وبائي مرض جي ڪري بند ٿي ويو. مون کي هڪ مالي ڪمپني ۾ نوڪري ملي، پر اتي هڪ ٻيڻو احساس هو: هڪ پاسي تي، اعلي تنخواه گرم هو، ٻئي طرف، ٽيڪنيڪل پاسي تي گهٽ ۾ گهٽ ترقي ٿي ويندي. هڪ هفتو گذري ويو جڏهن ڊوائيس نصب ٿي وئي ۽ ريموٽ ڪم متعارف ڪرايو ويو. جيئن ته غير ڪم ڪندڙ ڏينهن مالي شعبي تي لاڳو نه ٿيا، اسان معمول وانگر ڪم ڪيو. نئون باس هڪ تمام چريو شخص بڻجي ويو: هن فيس بوڪ کي اسڪرپٽ ڪرڻ جي آڇ ڪئي، ڪلائنٽ جي مطالعي لاءِ پنهنجو نيورل نيٽ ورڪ ٺاهيو (بغير ڊيٽا سائنسدان جي عملي جي). نون ملازمن کي هڪ هفتي ۾ پٿون سکڻ لاءِ پيش ڪيو ويو، وغيره، بغير پگهار جي موڪلن جو رواج بڻجي ويو. اهو ڇڏڻ بيوقوفي هئي: توهان کي هڪ وبائي مرض دوران نوڪري ڪٿي ملندي؟ پر صبر 2 مهينن کان پوء ڀڄي ويو، جڏهن اهو اعلان ڪيو ويو ته ڪو به ٽه ماهي بونس نه هوندو. nuance اهو آهي ته جڏهن اسان تنخواه تي اتفاق ڪيو، نوڪرين جي وقت تي، ايڇ چيو ته تنخواه تنخواه ۾ ورهايل آهي (60٪) ۽ هڪ ٽه ماهي بونس (40٪)، جيڪو هميشه ادا ڪيو ويندو آهي. اهو واضح ٿيو ته غلط انتخاب ڪيو ويو آهي ۽ اسان کي نئين نوڪري ڳولڻ شروع ڪرڻ جي ضرورت آهي. <h3>باب 6. جاوا ۾ مهارت حاصل ڪرڻ جي شروعات</h3>مئي ۾ هڪ سٺو ڏينهن مون کي "ڊولپر" جي خالي جاءِ لاءِ هڪ انٽرويو جي دعوت ملي ٿي. انشورنس انڊسٽري ۾ هڪ ڪمپني هڪ شخص جي ضرورت آهي جيڪو انشورنس جي شين کي ترقي ڪندو. پروگرامنگ تجربو جي ضرورت آهي، پر جيئن ته هي ڪمپني جي "منفرد" ترقي آهي، ڪنهن مخصوص ٻولي جي ضرورت ناهي. گيٽ وغيره به گهربل آهن. مون ٻن ڏينهن ۾ هڪ انٽرويو مقرر ڪيو، ۽ مون پنهنجي مفت وقت ۾ گٽ جي بنياديات جو اڀياس ڪيو. انٽرويو دوران، مون کان پٿون، جي ايس، گٽ، SQL بابت پڇيو ويو. مون "طريقه اوور لوڊ ڪرڻ" جي تصور کان سواءِ سڀ ڪجهه جواب ڏنو، ۽ مون کي 2 هفتن ۾ ڪم ڪرڻ جي دعوت ڏني وئي. اهو ظاهر ٿيو ته ڪمپني گهڻو وقت اڳ سسٽم خريد ڪيو هو. جاوا ۾ لکيل (اڳتي ۽ پوئتي)، جنهن سان توهان ڪاروباري عمل ٺاهي سگهو ٿا بغير ڪنهن پروگرامنگ ٻولي (وڌيڪ واضح طور تي، بلٽ ان جيلي پروگرامنگ ٻولي استعمال ڪندي). اهو سٺو آواز آهي، پر حقيقت ۾ سڀ ڪجهه خراب ٿي ويو. شعري تحرڪ: ڪنهن به ٽيڪنالاجيءَ جو پنهنجو دور ۽ پنهنجو پيمانو هوندو آهي. صرف ايڪسل ۾ 2000 ۾ سڀ رپورٽنگ ڪرڻ تمام سٺو آهي. 2021 ۾ ساڳيو ڪم ڪرڻ تمام سٺو ناهي. خالص HTML ۾ ھڪڙي ڪمپني جي ويب سائيٽ 1999 ۾ سٺي ھئي، پر 2021 ۾ نه. تنهن ڪري، اها ٽيڪنالاجي جيڪا ڪمپني ان جي ٺهڻ وقت استعمال ڪئي (2005) تمام سٺي هئي - جاوا سرور ۽ ڪلائنٽ ٻنهي جي ذميوار هئي (جنهن کي جاوا سرورٽ صفحا سڏيو وڃي ٿو). ان کان علاوه، جيڪڏهن توهان هڪ نئون ڪاروباري عمل ٺاهيو (جنهن جو پنهنجو UI آهي)، پوء اهو ڊيٽابيس ۾ ذخيرو ٿيل آهي، ۽ فائل ۾ ڪوڊ ۾ نه. اهو سمجهڻ لاءِ ته اهو ڪيترو مشڪل آهي، تصور ڪريو ته توهان Intellij خيال ۾ جاوا ڪوڊ لکو، ان کي ڊيٽابيس ۾ محفوظ ڪريو، ۽ پوءِ. جڏهن توهان پنهنجو ڪوڊ هلائڻ چاهيو ٿا، پروگرام ڪرنل ڊيٽابيس ڏانهن وڃي ٿو ۽ اتان توهان جو ڪوڊ پڙهي ٿو. انهي جي مطابق، توهان پنهنجي ايپليڪيشن کي مڪمل طور تي ڊيبگ نٿا ڪري سگهو. اشارو #1: جڏهن توهان ٽيسٽ بينچ تي ڪوڊ جمع ڪرڻ چاهيو ٿا، توهان کي ٺاهڻ جي ضرورت آهي ٻئي طرف، ٽيڪنيڪل پاسي تي گهٽ ۾ گهٽ ترقي ٿيندي. هڪ هفتو گذري ويو جڏهن ڊوائيس نصب ٿي وئي ۽ ريموٽ ڪم متعارف ڪرايو ويو. جيئن ته غير ڪم ڪندڙ ڏينهن مالي شعبي تي لاڳو نه ٿيا، اسان معمول وانگر ڪم ڪيو. نئون باس هڪ تمام چريو شخص بڻجي ويو: هن فيس بوڪ کي اسڪرپٽ ڪرڻ جي آڇ ڪئي، ڪلائنٽ جي مطالعي لاءِ پنهنجو نيورل نيٽ ورڪ ٺاهيو (بغير ڊيٽا سائنسدان جي عملي جي). نون ملازمن کي هڪ هفتي ۾ پٿون سکڻ لاءِ پيش ڪيو ويو، وغيره، بغير پگهار جي موڪلن جو رواج بڻجي ويو. اهو ڇڏڻ بيوقوفي هئي: توهان کي هڪ وبائي مرض دوران نوڪري ڪٿي ملندي؟ پر صبر 2 مهينن کان پوء ڀڄي ويو، جڏهن اهو اعلان ڪيو ويو ته ڪو به ٽه ماهي بونس نه هوندو. nuance اهو آهي ته جڏهن اسان تنخواه تي اتفاق ڪيو، نوڪرين جي وقت تي، ايڇ چيو ته تنخواه تنخواه ۾ ورهايل آهي (60٪) ۽ هڪ ٽه ماهي بونس (40٪)، جيڪو هميشه ادا ڪيو ويندو آهي. اهو واضح ٿيو ته غلط انتخاب ڪيو ويو آهي ۽ اسان کي نئين نوڪري ڳولڻ شروع ڪرڻ جي ضرورت آهي. <h3>باب 6. جاوا ۾ مهارت حاصل ڪرڻ جي شروعات</h3>مئي ۾ هڪ سٺو ڏينهن مون کي "ڊولپر" جي خالي جاءِ لاءِ هڪ انٽرويو جي دعوت ملي ٿي. انشورنس انڊسٽري ۾ هڪ ڪمپني هڪ شخص جي ضرورت آهي جيڪو انشورنس جي شين کي ترقي ڪندو. پروگرامنگ تجربو جي ضرورت آهي، پر جيئن ته هي ڪمپني جي "منفرد" ترقي آهي، ڪنهن مخصوص ٻولي جي ضرورت ناهي. گيٽ وغيره به گهربل آهن. مون ٻن ڏينهن ۾ هڪ انٽرويو مقرر ڪيو، ۽ مون پنهنجي مفت وقت ۾ گٽ جي بنياديات جو اڀياس ڪيو. انٽرويو دوران، مون کان پٿون، جي ايس، گٽ، SQL بابت پڇيو ويو. مون "طريقه اوور لوڊ ڪرڻ" جي تصور کان سواءِ سڀ ڪجهه جواب ڏنو، ۽ مون کي 2 هفتن ۾ ڪم ڪرڻ جي دعوت ڏني وئي. اهو ظاهر ٿيو ته ڪمپني گهڻو وقت اڳ سسٽم خريد ڪيو هو. جاوا ۾ لکيل (اڳتي ۽ پوئتي)، جنهن سان توهان ڪاروباري عمل ٺاهي سگهو ٿا بغير ڪنهن پروگرامنگ ٻولي (وڌيڪ واضح طور تي، بلٽ ان جيلي پروگرامنگ ٻولي استعمال ڪندي). اهو سٺو آواز آهي، پر حقيقت ۾ سڀ ڪجهه خراب ٿي ويو. شعري تحرڪ: ڪنهن به ٽيڪنالاجيءَ جو پنهنجو دور ۽ پنهنجو پيمانو هوندو آهي. صرف ايڪسل ۾ 2000 ۾ سڀ رپورٽنگ ڪرڻ تمام سٺو آهي. 2021 ۾ ساڳيو ڪم ڪرڻ تمام سٺو ناهي. خالص HTML ۾ ھڪڙي ڪمپني جي ويب سائيٽ 1999 ۾ سٺي ھئي، پر 2021 ۾ نه. تنهن ڪري، اها ٽيڪنالاجي جيڪا ڪمپني ان جي ٺهڻ وقت استعمال ڪئي (2005) تمام سٺي هئي - جاوا سرور ۽ ڪلائنٽ ٻنهي جي ذميوار هئي (جنهن کي جاوا سرورٽ صفحا سڏيو وڃي ٿو). ان کان علاوه، جيڪڏهن توهان هڪ نئون ڪاروباري عمل ٺاهيو (جنهن جو پنهنجو UI آهي)، پوء اهو ڊيٽابيس ۾ ذخيرو ٿيل آهي، ۽ فائل ۾ ڪوڊ ۾ نه. اهو سمجهڻ لاءِ ته اهو ڪيترو مشڪل آهي، تصور ڪريو ته توهان Intellij خيال ۾ جاوا ڪوڊ لکو، ان کي ڊيٽابيس ۾ محفوظ ڪريو، ۽ پوءِ. جڏهن توهان پنهنجو ڪوڊ هلائڻ چاهيو ٿا، پروگرام ڪرنل ڊيٽابيس ڏانهن وڃي ٿو ۽ اتان توهان جو ڪوڊ پڙهي ٿو. انهي جي مطابق، توهان پنهنجي ايپليڪيشن کي مڪمل طور تي ڊيبگ نٿا ڪري سگهو. اشارو #1: جڏهن توهان ٽيسٽ بينچ تي ڪوڊ جمع ڪرڻ چاهيو ٿا، توهان کي ٺاهڻ جي ضرورت آهي ٻئي طرف، ٽيڪنيڪل پاسي تي گهٽ ۾ گهٽ ترقي ٿيندي. هڪ هفتو گذري ويو جڏهن ڊوائيس نصب ٿي وئي ۽ ريموٽ ڪم متعارف ڪرايو ويو. جيئن ته غير ڪم ڪندڙ ڏينهن مالي شعبي تي لاڳو نه ٿيا، اسان معمول وانگر ڪم ڪيو. نئون باس هڪ تمام چريو شخص بڻجي ويو: هن فيس بوڪ کي اسڪرپٽ ڪرڻ جي آڇ ڪئي، ڪلائنٽ جي مطالعي لاءِ پنهنجو نيورل نيٽ ورڪ ٺاهيو (بغير ڊيٽا سائنسدان جي عملي جي). نون ملازمن کي هڪ هفتي ۾ پٿون سکڻ لاءِ پيش ڪيو ويو، وغيره، بغير پگهار جي موڪلن جو رواج بڻجي ويو. اهو ڇڏڻ بيوقوفي هئي: توهان کي هڪ وبائي مرض دوران نوڪري ڪٿي ملندي؟ پر صبر 2 مهينن کان پوء ڀڄي ويو، جڏهن اهو اعلان ڪيو ويو ته ڪو به ٽه ماهي بونس نه هوندو. nuance اهو آهي ته جڏهن اسان تنخواه تي اتفاق ڪيو، نوڪرين جي وقت تي، ايڇ چيو ته تنخواه تنخواه ۾ ورهايل آهي (60٪) ۽ هڪ ٽه ماهي بونس (40٪)، جيڪو هميشه ادا ڪيو ويندو آهي. اهو واضح ٿيو ته غلط انتخاب ڪيو ويو آهي ۽ اسان کي نئين نوڪري ڳولڻ شروع ڪرڻ جي ضرورت آهي. <h3>باب 6. جاوا ۾ مهارت حاصل ڪرڻ جي شروعات</h3>مئي ۾ هڪ سٺو ڏينهن مون کي "ڊولپر" جي خالي جاءِ لاءِ هڪ انٽرويو جي دعوت ملي ٿي. انشورنس انڊسٽري ۾ هڪ ڪمپني هڪ شخص جي ضرورت آهي جيڪو انشورنس جي شين کي ترقي ڪندو. پروگرامنگ تجربو جي ضرورت آهي، پر جيئن ته هي ڪمپني جي "منفرد" ترقي آهي، ڪنهن مخصوص ٻولي جي ضرورت ناهي. گيٽ وغيره به گهربل آهن. مون ٻن ڏينهن ۾ هڪ انٽرويو مقرر ڪيو، ۽ مون پنهنجي مفت وقت ۾ گٽ جي بنياديات جو اڀياس ڪيو. انٽرويو دوران، مون کان پٿون، جي ايس، گٽ، SQL بابت پڇيو ويو. مون "طريقه اوور لوڊ ڪرڻ" جي تصور کان سواءِ سڀ ڪجهه جواب ڏنو، ۽ مون کي 2 هفتن ۾ ڪم ڪرڻ جي دعوت ڏني وئي. اهو ظاهر ٿيو ته ڪمپني گهڻو وقت اڳ سسٽم خريد ڪيو هو. جاوا ۾ لکيل (اڳتي ۽ پوئتي)، جنهن سان توهان ڪاروباري عمل ٺاهي سگهو ٿا بغير ڪنهن پروگرامنگ ٻولي (وڌيڪ واضح طور تي، بلٽ ان جيلي پروگرامنگ ٻولي استعمال ڪندي). اهو سٺو آواز آهي، پر حقيقت ۾ سڀ ڪجهه خراب ٿي ويو. شعري تحرڪ: ڪنهن به ٽيڪنالاجيءَ جو پنهنجو دور ۽ پنهنجو پيمانو هوندو آهي. صرف ايڪسل ۾ 2000 ۾ سڀ رپورٽنگ ڪرڻ تمام سٺو آهي. 2021 ۾ ساڳيو ڪم ڪرڻ تمام سٺو ناهي. خالص HTML ۾ ھڪڙي ڪمپني جي ويب سائيٽ 1999 ۾ سٺي ھئي، پر 2021 ۾ نه. تنهن ڪري، اها ٽيڪنالاجي جيڪا ڪمپني ان جي ٺهڻ وقت استعمال ڪئي (2005) تمام سٺي هئي - جاوا سرور ۽ ڪلائنٽ ٻنهي جي ذميوار هئي (جنهن کي جاوا سرورٽ صفحا سڏيو وڃي ٿو). ان کان علاوه، جيڪڏهن توهان هڪ نئون ڪاروباري عمل ٺاهيو (جنهن جو پنهنجو UI آهي)، پوء اهو ڊيٽابيس ۾ ذخيرو ٿيل آهي، ۽ فائل ۾ ڪوڊ ۾ نه. اهو سمجهڻ لاءِ ته اهو ڪيترو مشڪل آهي، تصور ڪريو ته توهان Intellij خيال ۾ جاوا ڪوڊ لکو، ان کي ڊيٽابيس ۾ محفوظ ڪريو، ۽ پوءِ. جڏهن توهان پنهنجو ڪوڊ هلائڻ چاهيو ٿا، پروگرام ڪرنل ڊيٽابيس ڏانهن وڃي ٿو ۽ اتان توهان جو ڪوڊ پڙهي ٿو. انهي جي مطابق، توهان پنهنجي ايپليڪيشن کي مڪمل طور تي ڊيبگ نٿا ڪري سگهو. اشارو #1: جڏهن توهان ٽيسٽ بينچ تي ڪوڊ جمع ڪرڻ چاهيو ٿا، توهان کي ٺاهڻ جي ضرورت آهي ڪلائنٽ جو مطالعو ڪرڻ لاءِ پنهنجا نيورل نيٽ ورڪ ٺاهيو (عملي تي ڊيٽا سائنسدان کان سواءِ). نون ملازمن کي هڪ هفتي ۾ پٿون سکڻ لاءِ پيش ڪيو ويو، وغيره، بغير پگهار جي موڪلن جو رواج بڻجي ويو. اهو ڇڏڻ بيوقوفي هئي: توهان کي هڪ وبائي مرض دوران نوڪري ڪٿي ملندي؟ پر صبر 2 مهينن کان پوء ڀڄي ويو، جڏهن اهو اعلان ڪيو ويو ته ڪو به ٽه ماهي بونس نه هوندو. nuance اهو آهي ته جڏهن اسان تنخواه تي اتفاق ڪيو، نوڪرين جي وقت تي، ايڇ چيو ته تنخواه تنخواه ۾ ورهايل آهي (60٪) ۽ هڪ ٽه ماهي بونس (40٪)، جيڪو هميشه ادا ڪيو ويندو آهي. اهو واضح ٿيو ته غلط انتخاب ڪيو ويو آهي ۽ اسان کي نئين نوڪري ڳولڻ شروع ڪرڻ جي ضرورت آهي. <h3>باب 6. جاوا ۾ مهارت حاصل ڪرڻ جي شروعات</h3>مئي ۾ هڪ سٺو ڏينهن مون کي "ڊولپر" جي خالي جاءِ لاءِ هڪ انٽرويو جي دعوت ملي ٿي. انشورنس انڊسٽري ۾ هڪ ڪمپني هڪ شخص جي ضرورت آهي جيڪو انشورنس جي شين کي ترقي ڪندو. پروگرامنگ تجربو جي ضرورت آهي، پر جيئن ته هي ڪمپني جي "منفرد" ترقي آهي، ڪنهن مخصوص ٻولي جي ضرورت ناهي. گيٽ وغيره به گهربل آهن. مون ٻن ڏينهن ۾ هڪ انٽرويو مقرر ڪيو، ۽ مون پنهنجي مفت وقت ۾ گٽ جي بنياديات جو اڀياس ڪيو. انٽرويو دوران، مون کان پٿون، جي ايس، گٽ، SQL بابت پڇيو ويو. مون "طريقه اوور لوڊ ڪرڻ" جي تصور کان سواءِ سڀ ڪجهه جواب ڏنو، ۽ مون کي 2 هفتن ۾ ڪم ڪرڻ جي دعوت ڏني وئي. اهو ظاهر ٿيو ته ڪمپني گهڻو وقت اڳ سسٽم خريد ڪيو هو. جاوا ۾ لکيل (اڳتي ۽ پوئتي)، جنهن سان توهان ڪاروباري عمل ٺاهي سگهو ٿا بغير ڪنهن پروگرامنگ ٻولي (وڌيڪ واضح طور تي، بلٽ ان جيلي پروگرامنگ ٻولي استعمال ڪندي). اهو سٺو آواز آهي، پر حقيقت ۾ سڀ ڪجهه خراب ٿي ويو. شعري تحرڪ: ڪنهن به ٽيڪنالاجيءَ جو پنهنجو دور ۽ پنهنجو پيمانو هوندو آهي. صرف ايڪسل ۾ 2000 ۾ سڀ رپورٽنگ ڪرڻ تمام سٺو آهي. 2021 ۾ ساڳيو ڪم ڪرڻ تمام سٺو ناهي. خالص HTML ۾ ھڪڙي ڪمپني جي ويب سائيٽ 1999 ۾ سٺي ھئي، پر 2021 ۾ نه. تنهن ڪري، اها ٽيڪنالاجي جيڪا ڪمپني ان جي ٺهڻ وقت استعمال ڪئي (2005) تمام سٺي هئي - جاوا سرور ۽ ڪلائنٽ ٻنهي جي ذميوار هئي (جنهن کي جاوا سرورٽ صفحا سڏيو وڃي ٿو). ان کان علاوه، جيڪڏهن توهان هڪ نئون ڪاروباري عمل ٺاهيو (جنهن جو پنهنجو UI آهي)، پوء اهو ڊيٽابيس ۾ ذخيرو ٿيل آهي، ۽ فائل ۾ ڪوڊ ۾ نه. اهو سمجهڻ لاءِ ته اهو ڪيترو مشڪل آهي، تصور ڪريو ته توهان Intellij خيال ۾ جاوا ڪوڊ لکو، ان کي ڊيٽابيس ۾ محفوظ ڪريو، ۽ پوءِ. جڏهن توهان پنهنجو ڪوڊ هلائڻ چاهيو ٿا، پروگرام ڪرنل ڊيٽابيس ڏانهن وڃي ٿو ۽ اتان توهان جو ڪوڊ پڙهي ٿو. انهي جي مطابق، توهان پنهنجي ايپليڪيشن کي مڪمل طور تي ڊيبگ نٿا ڪري سگهو. اشارو #1: جڏهن توهان ٽيسٽ بينچ تي ڪوڊ جمع ڪرڻ چاهيو ٿا، توهان کي ٺاهڻ جي ضرورت آهي ڪلائنٽ جو مطالعو ڪرڻ لاءِ پنهنجا نيورل نيٽ ورڪ ٺاهيو (عملي تي ڊيٽا سائنسدان کان سواءِ). نون ملازمن کي هڪ هفتي ۾ پٿون سکڻ لاءِ پيش ڪيو ويو، وغيره، بغير پگهار جي موڪلن جو رواج بڻجي ويو. اهو ڇڏڻ بيوقوفي هئي: توهان کي هڪ وبائي مرض دوران نوڪري ڪٿي ملندي؟ پر صبر 2 مهينن کان پوء ڀڄي ويو، جڏهن اهو اعلان ڪيو ويو ته ڪو به ٽه ماهي بونس نه هوندو. nuance اهو آهي ته جڏهن اسان تنخواه تي اتفاق ڪيو، نوڪرين جي وقت تي، ايڇ چيو ته تنخواه تنخواه ۾ ورهايل آهي (60٪) ۽ هڪ ٽه ماهي بونس (40٪)، جيڪو هميشه ادا ڪيو ويندو آهي. اهو واضح ٿيو ته غلط انتخاب ڪيو ويو آهي ۽ اسان کي نئين نوڪري ڳولڻ شروع ڪرڻ جي ضرورت آهي. <h3>باب 6. جاوا ۾ مهارت حاصل ڪرڻ جي شروعات</h3>مئي ۾ هڪ سٺو ڏينهن مون کي "ڊولپر" جي خالي جاءِ لاءِ هڪ انٽرويو جي دعوت ملي ٿي. انشورنس انڊسٽري ۾ هڪ ڪمپني هڪ شخص جي ضرورت آهي جيڪو انشورنس جي شين کي ترقي ڪندو. پروگرامنگ تجربو جي ضرورت آهي، پر جيئن ته هي ڪمپني جي "منفرد" ترقي آهي، ڪنهن مخصوص ٻولي جي ضرورت ناهي. گيٽ وغيره به گهربل آهن. مون ٻن ڏينهن ۾ هڪ انٽرويو مقرر ڪيو، ۽ مون پنهنجي مفت وقت ۾ گٽ جي بنياديات جو اڀياس ڪيو. انٽرويو دوران، مون کان پٿون، جي ايس، گٽ، SQL بابت پڇيو ويو. مون "طريقه اوور لوڊ ڪرڻ" جي تصور کان سواءِ سڀ ڪجهه جواب ڏنو، ۽ مون کي 2 هفتن ۾ ڪم ڪرڻ جي دعوت ڏني وئي. اهو ظاهر ٿيو ته ڪمپني گهڻو وقت اڳ سسٽم خريد ڪيو هو. جاوا ۾ لکيل (اڳتي ۽ پوئتي)، جنهن سان توهان ڪاروباري عمل ٺاهي سگهو ٿا بغير ڪنهن پروگرامنگ ٻولي (وڌيڪ واضح طور تي، بلٽ ان جيلي پروگرامنگ ٻولي استعمال ڪندي). اهو سٺو آواز آهي، پر حقيقت ۾ سڀ ڪجهه خراب ٿي ويو. شعري تحرڪ: ڪنهن به ٽيڪنالاجيءَ جو پنهنجو دور ۽ پنهنجو پيمانو هوندو آهي. صرف ايڪسل ۾ 2000 ۾ سڀ رپورٽنگ ڪرڻ تمام سٺو آهي. 2021 ۾ ساڳيو ڪم ڪرڻ تمام سٺو ناهي. خالص HTML ۾ ھڪڙي ڪمپني جي ويب سائيٽ 1999 ۾ سٺي ھئي، پر 2021 ۾ نه. تنهن ڪري، اها ٽيڪنالاجي جيڪا ڪمپني ان جي ٺهڻ وقت استعمال ڪئي (2005) تمام سٺي هئي - جاوا سرور ۽ ڪلائنٽ ٻنهي جي ذميوار هئي (جنهن کي جاوا سرورٽ صفحا سڏيو وڃي ٿو). ان کان علاوه، جيڪڏهن توهان هڪ نئون ڪاروباري عمل ٺاهيو (جنهن جو پنهنجو UI آهي)، پوء اهو ڊيٽابيس ۾ ذخيرو ٿيل آهي، ۽ فائل ۾ ڪوڊ ۾ نه. اهو سمجهڻ لاءِ ته اهو ڪيترو مشڪل آهي، تصور ڪريو ته توهان Intellij خيال ۾ جاوا ڪوڊ لکو، ان کي ڊيٽابيس ۾ محفوظ ڪريو، ۽ پوءِ. جڏهن توهان پنهنجو ڪوڊ هلائڻ چاهيو ٿا، پروگرام ڪرنل ڊيٽابيس ڏانهن وڃي ٿو ۽ اتان توهان جو ڪوڊ پڙهي ٿو. انهي جي مطابق، توهان پنهنجي ايپليڪيشن کي مڪمل طور تي ڊيبگ نٿا ڪري سگهو. اشارو #1: جڏهن توهان ٽيسٽ بينچ تي ڪوڊ جمع ڪرڻ چاهيو ٿا، توهان کي ٺاهڻ جي ضرورت آهي <h3>باب 6. جاوا ۾ مهارت حاصل ڪرڻ جي شروعات</h3>مئي ۾ هڪ سٺو ڏينهن مون کي "ڊولپر" جي خالي جاءِ لاءِ هڪ انٽرويو جي دعوت ملي ٿي. انشورنس انڊسٽري ۾ هڪ ڪمپني هڪ شخص جي ضرورت آهي جيڪو انشورنس جي شين کي ترقي ڪندو. پروگرامنگ تجربو جي ضرورت آهي، پر جيئن ته هي ڪمپني جي "منفرد" ترقي آهي، ڪنهن مخصوص ٻولي جي ضرورت ناهي. گيٽ وغيره به گهربل آهن. مون ٻن ڏينهن ۾ هڪ انٽرويو مقرر ڪيو، ۽ مون پنهنجي مفت وقت ۾ گٽ جي بنياديات جو اڀياس ڪيو. انٽرويو دوران، مون کان پٿون، جي ايس، گٽ، SQL بابت پڇيو ويو. مون "طريقه اوور لوڊ ڪرڻ" جي تصور کان سواءِ سڀ ڪجهه جواب ڏنو، ۽ مون کي 2 هفتن ۾ ڪم ڪرڻ جي دعوت ڏني وئي. اهو ظاهر ٿيو ته ڪمپني گهڻو وقت اڳ سسٽم خريد ڪيو هو. جاوا ۾ لکيل (اڳتي ۽ پوئتي)، جنهن سان توهان ڪاروباري عمل ٺاهي سگهو ٿا بغير ڪنهن پروگرامنگ ٻولي (وڌيڪ واضح طور تي، بلٽ ان جيلي پروگرامنگ ٻولي استعمال ڪندي). اهو سٺو آواز آهي، پر حقيقت ۾ سڀ ڪجهه خراب ٿي ويو. شعري تحرڪ: ڪنهن به ٽيڪنالاجيءَ جو پنهنجو دور ۽ پنهنجو پيمانو هوندو آهي. صرف ايڪسل ۾ 2000 ۾ سڀ رپورٽنگ ڪرڻ تمام سٺو آهي. 2021 ۾ ساڳيو ڪم ڪرڻ تمام سٺو ناهي. خالص HTML ۾ ھڪڙي ڪمپني جي ويب سائيٽ 1999 ۾ سٺي ھئي، پر 2021 ۾ نه. تنهن ڪري، اها ٽيڪنالاجي جيڪا ڪمپني ان جي ٺهڻ وقت استعمال ڪئي (2005) تمام سٺي هئي - جاوا سرور ۽ ڪلائنٽ ٻنهي جي ذميوار هئي (جنهن کي جاوا سرورٽ صفحا سڏيو وڃي ٿو). ان کان علاوه، جيڪڏهن توهان هڪ نئون ڪاروباري عمل ٺاهيو (جنهن جو پنهنجو UI آهي)، پوء اهو ڊيٽابيس ۾ ذخيرو ٿيل آهي، ۽ فائل ۾ ڪوڊ ۾ نه. اهو سمجهڻ لاءِ ته اهو ڪيترو مشڪل آهي، تصور ڪريو ته توهان Intellij خيال ۾ جاوا ڪوڊ لکو، ان کي ڊيٽابيس ۾ محفوظ ڪريو، ۽ پوءِ. جڏهن توهان پنهنجو ڪوڊ هلائڻ چاهيو ٿا، پروگرام ڪرنل ڊيٽابيس ڏانهن وڃي ٿو ۽ اتان توهان جو ڪوڊ پڙهي ٿو. انهي جي مطابق، توهان پنهنجي ايپليڪيشن کي مڪمل طور تي ڊيبگ نٿا ڪري سگهو. اشارو #1: جڏهن توهان ٽيسٽ بينچ تي ڪوڊ جمع ڪرڻ چاهيو ٿا، توهان کي ٺاهڻ جي ضرورت آهي <h3>باب 6. جاوا ۾ مهارت حاصل ڪرڻ جي شروعات</h3>مئي ۾ هڪ سٺو ڏينهن مون کي "ڊولپر" جي خالي جاءِ لاءِ هڪ انٽرويو جي دعوت ملي ٿي. انشورنس انڊسٽري ۾ هڪ ڪمپني هڪ شخص جي ضرورت آهي جيڪو انشورنس جي شين کي ترقي ڪندو. پروگرامنگ تجربو جي ضرورت آهي، پر جيئن ته هي ڪمپني جي "منفرد" ترقي آهي، ڪنهن مخصوص ٻولي جي ضرورت ناهي. گيٽ وغيره به گهربل آهن. مون ٻن ڏينهن ۾ هڪ انٽرويو مقرر ڪيو، ۽ مون پنهنجي مفت وقت ۾ گٽ جي بنياديات جو اڀياس ڪيو. انٽرويو دوران، مون کان پٿون، جي ايس، گٽ، SQL بابت پڇيو ويو. مون "طريقه اوور لوڊ ڪرڻ" جي تصور کان سواءِ سڀ ڪجهه جواب ڏنو، ۽ مون کي 2 هفتن ۾ ڪم ڪرڻ جي دعوت ڏني وئي. اهو ظاهر ٿيو ته ڪمپني گهڻو وقت اڳ سسٽم خريد ڪيو هو. جاوا ۾ لکيل (اڳتي ۽ پوئتي)، جنهن سان توهان ڪاروباري عمل ٺاهي سگهو ٿا بغير ڪنهن پروگرامنگ ٻولي (وڌيڪ واضح طور تي، بلٽ ان جيلي پروگرامنگ ٻولي استعمال ڪندي). اهو سٺو آواز آهي، پر حقيقت ۾ سڀ ڪجهه خراب ٿي ويو. شعري تحرڪ: ڪنهن به ٽيڪنالاجيءَ جو پنهنجو دور ۽ پنهنجو پيمانو هوندو آهي. صرف ايڪسل ۾ 2000 ۾ سڀ رپورٽنگ ڪرڻ تمام سٺو آهي. 2021 ۾ ساڳيو ڪم ڪرڻ تمام سٺو ناهي. خالص HTML ۾ ھڪڙي ڪمپني جي ويب سائيٽ 1999 ۾ سٺي ھئي، پر 2021 ۾ نه. تنهن ڪري، اها ٽيڪنالاجي جيڪا ڪمپني ان جي ٺهڻ وقت استعمال ڪئي (2005) تمام سٺي هئي - جاوا سرور ۽ ڪلائنٽ ٻنهي جي ذميوار هئي (جنهن کي جاوا سرورٽ صفحا سڏيو وڃي ٿو). ان کان علاوه، جيڪڏهن توهان هڪ نئون ڪاروباري عمل ٺاهيو (جنهن جو پنهنجو UI آهي)، پوء اهو ڊيٽابيس ۾ ذخيرو ٿيل آهي، ۽ فائل ۾ ڪوڊ ۾ نه. اهو سمجهڻ لاءِ ته اهو ڪيترو مشڪل آهي، تصور ڪريو ته توهان Intellij خيال ۾ جاوا ڪوڊ لکو، ان کي ڊيٽابيس ۾ محفوظ ڪريو، ۽ پوءِ. جڏهن توهان پنهنجو ڪوڊ هلائڻ چاهيو ٿا، پروگرام ڪرنل ڊيٽابيس ڏانهن وڃي ٿو ۽ اتان توهان جو ڪوڊ پڙهي ٿو. انهي جي مطابق، توهان پنهنجي ايپليڪيشن کي مڪمل طور تي ڊيبگ نٿا ڪري سگهو. اشارو #1: جڏهن توهان ٽيسٽ بينچ تي ڪوڊ جمع ڪرڻ چاهيو ٿا، توهان کي ٺاهڻ جي ضرورت آهي خالص HTML ۾ ھڪڙي ڪمپني جي ويب سائيٽ 1999 ۾ سٺي ھئي، پر 2021 ۾ نه. تنهن ڪري، اها ٽيڪنالاجي جيڪا ڪمپني ان جي ٺهڻ وقت استعمال ڪئي (2005) تمام سٺي هئي - جاوا سرور ۽ ڪلائنٽ ٻنهي جي ذميوار هئي (جنهن کي جاوا سرورٽ صفحا سڏيو وڃي ٿو). ان کان علاوه، جيڪڏهن توهان هڪ نئون ڪاروباري عمل ٺاهيو (جنهن جو پنهنجو UI آهي)، پوء اهو ڊيٽابيس ۾ ذخيرو ٿيل آهي، ۽ فائل ۾ ڪوڊ ۾ نه. اهو سمجهڻ لاءِ ته اهو ڪيترو مشڪل آهي، تصور ڪريو ته توهان Intellij خيال ۾ جاوا ڪوڊ لکو، ان کي ڊيٽابيس ۾ محفوظ ڪريو، ۽ پوءِ. جڏهن توهان پنهنجو ڪوڊ هلائڻ چاهيو ٿا، پروگرام ڪرنل ڊيٽابيس ڏانهن وڃي ٿو ۽ اتان توهان جو ڪوڊ پڙهي ٿو. انهي جي مطابق، توهان پنهنجي ايپليڪيشن کي مڪمل طور تي ڊيبگ نٿا ڪري سگهو. اشارو #1: جڏهن توهان ٽيسٽ بينچ تي ڪوڊ جمع ڪرڻ چاهيو ٿا، توهان کي ٺاهڻ جي ضرورت آهي خالص HTML ۾ ھڪڙي ڪمپني جي ويب سائيٽ 1999 ۾ سٺي ھئي، پر 2021 ۾ نه. تنهن ڪري، اها ٽيڪنالاجي جيڪا ڪمپني ان جي ٺهڻ وقت استعمال ڪئي (2005) تمام سٺي هئي - جاوا سرور ۽ ڪلائنٽ ٻنهي جي ذميوار هئي (جنهن کي جاوا سرورٽ صفحا سڏيو وڃي ٿو). ان کان علاوه، جيڪڏهن توهان هڪ نئون ڪاروباري عمل ٺاهيو (جنهن جو پنهنجو UI آهي)، پوء اهو ڊيٽابيس ۾ ذخيرو ٿيل آهي، ۽ فائل ۾ ڪوڊ ۾ نه. اهو سمجهڻ لاءِ ته اهو ڪيترو مشڪل آهي، تصور ڪريو ته توهان Intellij خيال ۾ جاوا ڪوڊ لکو، ان کي ڊيٽابيس ۾ محفوظ ڪريو، ۽ پوءِ. جڏهن توهان پنهنجو ڪوڊ هلائڻ چاهيو ٿا، پروگرام ڪرنل ڊيٽابيس ڏانهن وڃي ٿو ۽ اتان توهان جو ڪوڊ پڙهي ٿو. انهي جي مطابق، توهان پنهنجي ايپليڪيشن کي مڪمل طور تي ڊيبگ نٿا ڪري سگهو. اشارو #1: جڏهن توهان ٽيسٽ بينچ تي ڪوڊ جمع ڪرڻ چاهيو ٿا، توهان کي ٺاهڻ جي ضرورت آهيSQL скрипт، جنهن ۾ توهان جو ڪوڊ هوندو. ناپسنديده، پر قابل برداشت؟ Zest #2: ڊيٽابيس 200 کان وڌيڪ جدولن تي مشتمل آھي جيڪي ھڪ ٻئي سان ڪنيڪشن آھن. هن جو مطلب آهي ته توهان کي ڄاڻڻ جي ضرورت آهي ته توهان جي ڪوڊ کي ڪهڙي جدولن ۾ اڇلائي، ۽ ڪهڙي ادارن کي ٻين جدولن ۾ ٺاهڻ جي ضرورت آهي. ٻاھر ھڪڙو SQL اسڪرپٽ آھي جنھن جي ڊيگهه ~ 1000 لائينون آھي. هي واقعي بيوقوف آهي. وراثت کان بچو. مختصر ۾، اهو محسوس ڪيو ته اهو سڀ ڪجهه جاوا ۾ هو، مان جاوا رش ڏانهن ويو (آخرڪار اسان سائيٽ جي موضوع تي پهچي ويا!). جون-جولائي 2020. پهرين 10 سطحون جلدي بند ڪيون ويون (شايد هڪ مهينو)، ڇاڪاڻ ته اتي بنيادي طور تي نئين شيء نه هئي. پوءِ رفتار گهٽجي وئي. جولاءِ-آڪٽوبر 2020. ليول 10-20 بند. آڪٽوبر-مارچ 2021. ليول 20-30 بند. هاڻي مزو شروع ٿئي ٿو: مارچ 2021 ۾، مون جاوا جي خالي جاين کي ڏسڻ شروع ڪيو ۽ محسوس ڪيو ته اتي ڪيترائي اڻ واقف لفظ آهن. بهار جو ڪجهه قسم ، اسپرنگ بوٽ ، هائبرنيٽ ، جونٽ. هڪ مشهور ويب سائيٽ تي وڊيو ڪورس خريد ڪرڻ کان پوء، مون صرف بهار کي ڇڪيو ۽ سوچيو ته هاڻي آئون ڄاڻان ٿو ۽ سڀ ڪجهه ڪري سگهان ٿو. ان کان پوء، مان گريگوري ڪسلن پاران TopJava ڪورس ۾ آيو آهيان. هن جي ويب سائيٽ تي توهان هڪ ٽيسٽ ٽاسڪ مڪمل ڪرڻ جي ڪوشش ڪري سگهو ٿا، ۽ جيڪڏهن توهان ڪامياب ٿيو، توهان ڪورس وٺي سگهو ٿا. هن ڪورس ۾، توهان هڪ مڪمل ويب ايپليڪيشن ٺاهي ۽ ان کي انٽرنيٽ تي پڻ شايع ڪيو. هن پئسا لاء، اهي توهان کي هڪ جائزو (وڌيڪ تجربيڪار پروگرامر طرفان ڪوڊ جو جائزو)، موٽ ڏيو ۽ مسئلن جي صورت ۾ توهان کي صلاح ڏيو. مون کي هوم ورڪ 3 ۽ ڇڏي ڏنو. سبب سادو آهي: اهي توهان کان گهڻو ڪجهه گهرندا آهن، پر اهي توهان کي ڪا ڄاڻ نه ڏيندا آهن. گهر جي ڪم جون گهرجون تمام پريشان ڪندڙ آهن. معلومات انتهائي متضاد طور پيش ڪئي وئي آهي. منهنجي موضوعي راءِ ۾، هي ڪورس ڪافي تجربيڪار ڊولپرز جي ضرورت آهي جيڪي ٻين ساڳين ٻولين مان اچن ٿا. ڇاڪاڻ ته هن جي ڪورس ۾ عملي طور تي ٽيڪنالاجي جي ڪا به وضاحت ناهي جيڪا هن کي استعمال ڪرڻ لاءِ پڇي. توهان کي پڻ ڄاڻڻ جي ضرورت آهي Git چڱي طرح (هر شيء توهان جي ذاتي مخزن ڏانهن موڪليو ويو آهي). اپريل 2021 جي آخر ۾، مان پوسٽ ڪري رهيو آهيان هڪ ريزيومي جاوا ڊولپر لاءِ (مطلب + سطح تي گهربل تنخواه سان)، جنهن ۾ مان اشارو ڪريان ٿو ته منهنجي آخري نوڪري تي مون جاوا ۾ پروگرام ڪيو (مون ڪوڙ ڳالهايو). ساڳئي ڏينهن تي، بينڪ جاوا ڊولپر جي پوزيشن لاء درخواست حاصل ڪري ٿي. <h3>باب 7. جاوا انٽرويوز ۽ مهارت جي عزت</h3>پوءِ، منصوبو ڇا هو؟ مون کي سٺي تنخواه حاصل ڪرڻ جي ضرورت آهي، ڇاڪاڻ ته مان اڳ ۾ ئي استعمال ڪري چڪو آهيان هڪ وڏي آمدني + قرضن تي. تنهن ڪري، جونيئر پوزيشن مون لاء مناسب ناهي. توهان کي وچولي پوزيشن حاصل ڪرڻ جي ضرورت آهي. پر تجربي کانسواءِ مون کي ڪير ڀرتي ڪندو؟ فيصلو قدرتي طور تي آيو: منهنجو روزگار رڪارڊ چوي ٿو ته مون هڪ سال لاءِ ڊولپر جي حيثيت سان ڪم ڪيو ۽ 4 سالن تائين منهنجي پوئين پوزيشن ۾ آئي ٽي ڊپارٽمينٽ ۾ ماهر جي حيثيت سان. تنهن ڪري، مان چوندس ته مان هڪ سال تائين جاوا ۾ ترقي ڪري رهيو آهيان. ۽ جيڪڏھن اھي نئين شين جي باري ۾ پڇن ٿا، مان چوان ٿو ته پراڻو جاوا (7) اتي ھو ۽ ڪجھ به سپورٽ نه ڪيو. منهنجي پهرين (ريموٽ) انٽرويو کان اڳ، مان نروس هو. مون وٽ ڪوبه تجربو نه آهي، تمام گهٽ ڄاڻ، ۽ مان تمام گهڻو پئسو گهري رهيو آهيان. مان سمجهان ٿو: پرواه نه ڪريو، منفي تجربو پڻ تجربو آهي. مان Skype ذريعي رابطو ڪندس ۽ مون کي ٻن ڊپارٽمينٽ سربراهن طرفان انٽرويو ڪيو ويندو. جنهن مون کي وڌيڪ خوفزده ڪري ڇڏيو. سوال شروع ٿيا: OOP، HashMap ڊوائيس، اسٽريمز، ڊيٽا جي جوڙجڪ، بهار ڇا آهي، Hibernate، AOP. ۽ جيڪڏهن اسپنگ کان اڳ اهو وڌيڪ يا گهٽ برداشت ڪرڻ وارو هو، ته بهار ۾ اهو مڪمل طور تي ڌار ٿي ويو. ماڻهو مون کان پڇن ٿا: توهان بهار ۾ ڪيئن ترقي ڪئي جيڪڏهن توهان واقعي نٿا ڄاڻو؟ مان: مون ان کي ڪاپي ڪيو، ان کي پيسٽ ڪيو، اهو ڪم ڪري ٿو، ۽ انهي لاء مهرباني. هن جواب کين حيرت ۾ وجهي ڇڏيو. پوءِ هنن SQL بابت پڇيو، جنهن ۾ مان پاڻيءَ ڏانهن بتھ وانگر هو. اڳيون گيٽ هو ۽ ريبيس بابت هڪ سوال، چيري-چونڊ (جنهن جي مون کي به خبر نه هئي) ۽ JS بابت ختم ٿي ويو، ڇاڪاڻ ته اهو منهنجي شروع ۾ درج ڪيو ويو آهي. اتي پڻ، مڪمل ناڪامي هئي، ڇاڪاڻ ته اهي اوپي جي ايس بابت پڇيو. انٽرويو جي نتيجن جي بنياد تي، اهو واضح ٿي ويو ته منهنجي ڄاڻ ڪامل نه هئي، ۽ ان ڪري مان هن جاء تي اهل نه ٿيندس. شام جو، HR لکي ٿو ته منهنجي اميدوارگي منظور ڪئي وئي آهي ۽ اهي مون کي فون ڪرڻ لاء تيار آهن. مون اصل ۾ ميڪ ڊونلڊ جي برگر تي چاڪ ڪيو. مان خوش ٿيس، پر 3 ڏينهن کان پوءِ HR ٻڌايو ته هنن هڪ ٻيو اميدوار چونڊيو آهي. منهنجي تجربي ۾ پهريون ڀيرو، هڪ آڇ واپس ورتو ويو. جاوا ۾ پهرين انٽرويو کان پوء، مون پنهنجي راند کي وڌايو: مون هڪ ڪورس ورتو (۽ مڪمل طور تي مڪمل ڪيو!) Git کان Colt Steele تي وڊيو ڪورسز وڪڻڻ لاء مشهور سائيٽ تي. اهو منهنجي گيٽ جي تصور کي تبديل ڪيو. ان کان پوء، مون بهار + هائبرنيٽ تي زور ٽرگيولوف کان (شاندار) ڪورس ورتو. ٽريننگ اسڪيم: مان ان کي ڏسان ٿو جيئن وڊيو ۾، مان به ساڳيو ڪم پنهنجي ڪمپيوٽر تي ڪريان ٿو، پر مان متغيرن ۽ ڪلاسن کي الڳ الڳ نالو ڏيان ٿو ته جيئن بيوقوفيءَ سان ڪنهن ٻئي جي ڪوڊ کي نقل نه ڪجي. مان پنھنجو سمورو ڪم پنھنجي Github تي اپلوڊ ڪريان ٿو (اھڙيءَ طرح گٽ جي مشق ڪندي). مئي جو وچ هو ۽ ڪلاڪ کان ڪالون شروع ٿي ويون. اسان هڪ هڪ ڪري انٽرويو کي شيڊول ڪرڻ شروع ڪيو. ڪيترن ئي دعوتن کي ھيٺ ڏنل سببن جي ڪري منسوخ ڪيو ويو: HR منھنجي ريزومي جي تفصيل نه پڙھي ۽ مون کي ھڪڙي سينئر پوزيشن ڏانھن دعوت ڏني. اهو پڻ هڪ الڳ HR ذات جو ذڪر ڪرڻ جي قابل آهي: اهي جيڪي جاوا کي جاوا اسڪرپٽ سان گڏ ڪن ٿا. ان ڪري مون لکيو مڊل جاوا ڊولپر پنهنجي ريزومي جي عنوان ۾. <h3>باب 8. عام سوالن جي فهرست ۽ انٽرويو ڪيئن ٿا وڃن</h3>مون انٽرويوز ڏانهن وڃڻ شروع ڪيو ۽ آهستي آهستي وچ ۾ بنيادي سوالن جو هڪ پول ٺاهيو. گهربل: 0. OOP - تعريف، OOP جي هر اصول بابت ڳالهايو (+ حقيقي زندگي مان هڪ مثال ڏيو). 1. Equals ۽ hashcode - انهن جي وچ ۾ معاهدو (رشتي) ڇا آهي؟ 2. HashMap - ڪيئن سمجھجي ته ڪھڙي بڪيٽ ۾ ڪا شئي داخل ٿيندي، ڪھڙو ٽڪراءُ آھي، ڪھڙي ڊيٽا جي ڍانچي ۾ ڊيٽا HashMap اندر ذخيرو ٿيل آھي، معياري سائيز، ڪيئن بڪيٽ جو تعداد وڌي ٿو. 3. وهڪرو - آپريشن جا ڪهڙا قسم، انهن ۾ ڪهڙو فرق آهي، هر قسم جي آپريشن جو مثال ڏيو. 4. اسٽرنگ پول، انٽيگر پول - اهو ڇا آهي؟ 5. هيپ، اسٽيڪ - اهو ڇا آهي، فرق ڇا آهي؟ 6. هلندڙ، موضوع، مستقبل جي وچ ۾ فرق. 7. چست، ائٽميائي. 8. سڪل، چمي، خشڪ - وصفون، مثال حقيقي زندگي مان. 9. جاوا ۾ تبديلين جي رسائي. 10. هڪ خلاصي طبقي ۽ انٽرفيس جي وچ ۾ ڇا فرق آهي. ڇا انٽرفيس نجي ٿي سگهي ٿو؟ 11. فنڪشنل انٽرفيس. 12. سڀ اعتراض جي طريقن کي لسٽ ڪريو ۽ ٻڌايو ته انهن جي ضرورت ڇو آهي. ڪلون جي طريقن جي خاصيتون. 13. serialization ۽ deserialization ڇا آهي. 14. وسيلن سان پڪڙڻ جي ڪوشش ڪريو - بيان ڪريو ته اهو ڇا آهي، ان کي بند ڪرڻ وارو انٽرفيس استعمال ڪندي ٻڌايو. 15. فائنل، آخرڪار، فائنل جي وچ ۾ فرق؟ 16. اوور لوڊ، طريقه ڪار ۾ فرق آهي. 17. ڇو اسٽرنگ کي تبديل نه ڪيو ويو، اسان کي StringBuilder ۽ StringBuffer بابت ٻڌايو. 18. وقت جي پيچيدگي ڇا آهي O(1)، ياداشت جي پيچيدگي. 19. ڊيٽا جو ڍانچو: جاوا ۾ نقشي، سيٽ، قطار، ڊيڪ، فهرست ۽ انهن جي عمل جي باري ۾ ڳالهايو (treeMap، hashSet، hashMap، arrayList، LinkedList، priorityQueue، blockingQueue)، بيان ڪريو پيچيدگي (بدترين، اوسط، بهترين) داخل ڪرڻ جي، ڳولا، هر ساخت ۾ هڪ عنصر کي هٽائڻ. 20. جاوا ۾ پرائمري ڊيٽا جا قسم. انهن مان هر هڪ جي ضرورت ڇو آهي؟ 21. غلطين جا قسم. چيڪ ٿيل ۽ اڻ چيڪ ٿيل استثنا. 22. JVM، JRE، JDK ڇا آهي؟ 23. توهان ڪهڙن ڪليڪٽرن سان ڪم ڪيو؟ Maven - زندگي جي چڪر کي ٺاهيو. 24. اسپرنگ - Ioc وصفون، Di، Bean Lifecycle، Context، @Bean Annotations، @Configuration، @Autowired، @Advice، @Aspect، @Service، @Repository. 25. Generics - وصف ڇا آھي هيٺين ۽ مٿئين حد؟ 26. پروگرامنگ جا نمونا - گھٽ ۾ گھٽ سنگلٽن (ٻڌڻ جي رضامندي ڇو ته اھو ڪڏهن ڪڏهن ھڪڙو مخالف نمونو آھي) + بلڊر، اڊاپٽر، فيڪٽري، سجاڳي، پروڪسٽ. گهربل: 26. ٽيسٽنگ- ٽيسٽ جا قسم، ڪھڙي لائبريرين (JUnit) سان ڪم ڪيو ويو. ٺٺولي، اسٽاب، جاسوس ڇا آهي؟ 27. اسپرنگ بوٽ - ڇو ضروري آھي، اسپرنگ بوٽ ايپليڪيشن آن لائن ڪرڻ لاءِ تياري. 28. Hibernate - ان جي ضرورت ڇو آھي، Entity، join column، lazy vs eager loading، caching levels (hard). 29. بهار جو آرام - ان جي ضرورت ڇو آهي، پوسٽ ڪيئن ڪجي، آخري پوائنٽون حاصل ڪريو. پيرا ميٽرز / درخواست واري جسم کي ڪيئن پڙهو؟ json فارميٽ ۾ ڪيئن جمع ڪرايو؟ 30. ڊيٽا جي جوڙجڪ - وڻ، انهن جا قسم. 31. Algorithms - ترتيب ڏيڻ جا قسم. جاوا کان علاوه، اهي پڇي سگھن ٿا: 1. (گهربل!) گٽ - ڇو ان جي ضرورت آهي، آپريشن ملائي، ريبيس، چيري-پڪ، پش، پل، ڪمٽ، لاگ، چيڪ آئوٽ، برانچ، ري سيٽ، ريورٽ، ريفريش. 2.SQL - سوال لکڻ جي صلاحيت: ٻن جدولن کي ھڪڙي ۾ شامل ڪريو (اندرون شامل، کاٻي جوڙ). 3. ڊيٽابيسس - 3 عام فارم، انڊيڪسس (اهي ڇو گهربل آهن، قسمون)، پرائمري ڪي، غير ملڪي ڪي هڪ عام ريموٽ انٽرويو ڪيئن ٿيندو آهي: hr زوم لاءِ لنڪ موڪلي ٿو (Skype، Google Meeting). هڪ خاص وقت تائين توهان ڳنڍيو ٿا ۽ اتي 1 کان 3 ماڻهو آهن (ٽيڪنيڪل ماهر، باس، ايڇ). خاص طور تي ضد ڪيسن ۾، 8 ماڻهن تائين. پهرين توهان پنهنجي باري ۾ ٻڌايو، پوء ٽيڪنيڪل حصو، پوء خالي ۽ الوداع بابت هڪ ڪهاڻي (اهي چوندا آهن جڏهن اهي توهان سان رابطو ڪندا يا ايندڙ قدم ڇا ٿيندو). الوداع دوران، توهان علم تي راءِ طلب ڪري سگهو ٿا. مون پڇيو: ”ڇا تون مونکي ٻڌائي سگهين ٿو، منهنجي جوابن دوران، تنهنجي ڪنن کي ڪٿي درد ٿيو آهي؟ ڪيترائي ماڻھو جواب ڏين ٿا، پر رد ٿيڻ لاءِ تيار رھو. انٽرويو دوران اهي جائزو وٺندا آهن: 1. توهان جي خيالن جو اظهار ڪرڻ جي صلاحيت ۽ روسي ٻولي جي ڄاڻ (مان هڪ ڪيس ڄاڻان ٿو جتي هڪ اميدوار روسي ٻولي جي خراب ڄاڻ جي ڪري رد ڪيو ويو). 2. اڳوڻو تجربو (اهي شايد احتياط سان پڇن ٿا ته توهان پنهنجي آخري نوڪري تي ڇا ڪيو). 3. هڪ مناسب ردعمل جڏهن توهان تي دٻاءُ وڌو ويندو آهي (هڪ انٽرويو هو جڏهن ماڻهن بي عزتي سان ڳالهائڻ شروع ڪيو: منهنجي جوابن کي نظرانداز ڪرڻ، انهن جي پوزيشن کي قائم ڪرڻ جي ڪوشش ڪرڻ وغيره. مون انٽرويو شروع ٿيڻ کان 15 منٽن بعد ختم ڪيو، ۽ اهي: اهو هڪ دٻاءُ وارو انٽرويو هو!) 4. توهان جي ڄاڻ جي سطح. مان هتي وڌيڪ تفصيل ۾ ويندس. ھڪڙي موضوع جي وصفن کي ڄاڻڻ صرف 10٪ آھي جيڪو توھان جي توقع آھي. اهو سمجهڻ ضروري آهي ته اهو ڪيئن ڪم ڪري ٿو (گهٽ ۾ گهٽ مٿين سطح تي). وضاحت ڪرڻ جي رضامندي ته ترقي جي ڪهڙي نقطي تي توهان هي يا اهو حل چونڊيندا. اهو توهان جي تعريف جي درستگي کان وڌيڪ اهم آهي. مان ٻن مثالن کي استعمال ڪندي هن مقالي جو تجزيو ڪندس. پهريون مثال: هڪ انٽرويو دوران مون کان HashMap بابت پڇيو ويو، ۽ مون تعريف ڏني: "هي هڪ ڊيٽا جو ڍانچو آهي جيڪو ذخيرو ڪري ٿو اهم ۽ قدر بنڊل." پوءِ انٽرويو وٺندڙ پڇيو: TreeMap کان ڇا فرق آهي؟ جواب: فرق اهو آهي ته HashMap اهم کي هيش ڪري ٿو ۽ هيشنگ جي ڪري، رسائي تيز آهي. انٽرويو وٺندڙ فوري طور تي اسان کي HashMap جي اندروني ساخت کي ٻڌائڻ لاء چيو، ۽ ساڳئي وقت hashCode ۽ برابر بابت پڇيو. ۽ اهو اونڌو ٿي ويندو جيستائين توهان جواب سان مطمئن نه آهيو يا توهان روڪيو. مون HashMap بابت صحيح جواب ڏيڻ سکيو صرف 2 مهينن جي انٽرويوز ۽ هيڪسليٽ تي ڊيٽا جي جوڙجڪ تي هڪ ڪورس کان پوءِ. ٻيو مثال: سولڊ تصور. اهي مون کان پڇن ٿا ته هڪ تعريف ڏيو جيڪو مون ياد ڪيو آهي. پر جيترو جلدي حقيقي زندگي جي مثالن تي آيو، مسئلا شروع ٿي ويا. Внимание!جيڪڏهن توهان نٿا ڄاڻو، ته پوءِ ان کي ايجاد نه ڪريو، پر هي چئو: مون کي هن موضوع جي خبر ناهي، پر مان سمجهان ٿو ته اهو هن طرح ڪم ڪري ٿو. ڪيترائي ٽيڪنيڪل ماهر ڪاوڙجي ويندا آهن جڏهن ڪو ماڻهو بزدل ڳالهائيندو آهي ڄڻ ته هو موضوع کي سمجهي. 5. نوڪري جي بحث دوران توهان جي جوش جي سطح. توهان کي دلچسپي وٺڻ جي اميد آهي ۽ خالي جاين بابت سوال پڇڻ لاءِ (صرف نه رڳو ٺهيل آهن). 6. ڪڏهن ڪڏهن مزاح (صرف موضوع تي) ۽ عام دلچسپيون توهان کي گفتگو ڪرڻ ۾ مدد ڏين ٿيون. پنهنجي مشغلن بابت ڳالهائڻ لاءِ آزاد ٿيو؛ شايد انٽرويو وٺندڙ کي به پيار آهي ڊاٽا/فٽبال/تصور. ۽ هي هڪ پلس آهي توهان لاءِ اميدوار طور. مون کي ڪيسن جي خبر آهي جڏهن مفادن جي هڪ ڪميونٽي انٽرويو وٺندڙ جي خراب ٽيڪنيڪل ٽريننگ ڏانهن اکيون بند ڪيون (توهان هڪ عام ماڻهو آهيو، اسان توهان کي تربيت ڏينداسين). <h3>باب 9. نوڪري حاصل ڪرڻ، باهه جو بپتسما</h3>انٽرويو اپريل جي آخر کان جولاءِ جي وچ تائين ٿيو. پهرين انٽرويو شرمناڪ هئا، پر آهستي آهستي صورتحال هڪ قابل قبول سطح تي بهتر ٿي. عام سوالن جو مطالعو ۽ راءِ پاڻ کي محسوس ڪيو. پهرين 25 انٽرويو ناڪام ٿيا. ان کان پوء، مايوسي جا لمحا شروع ٿي ويا. جذبات: ڇا جيڪڏهن اهي مون کي ان تنخواه لاءِ نوڪري نه ڏيندا؟ اوچتو شيون شروع ٿي ويون: هڪ هفتي اندر، ٽي ڪمپنيون تجويزون پيش ڪيون. مون هڪ ڪمپني چونڊيو جنهن جي تفصيل مون کي ڄاڻ هئي، ان سان گڏ هڪ سٺي تنخواه ۽ دور کان ڪم ڪرڻ جو موقعو هو. منهنجي انٽرويو دوران، مون کان جاوا ڪور ۽ اسپرنگ بابت اٽڪل 30 سوال پڇيا ويا، جن مان 97 سيڪڙو مون صحيح جواب ڏنو. ان کان پوءِ اعليٰ اختيارين سان رابطو ٿيو ۽ 1.5 هفتن کان پوءِ مون کي ساڻن نوڪري ملي وئي. سڀ کان پهريان، جڏهن توهان ڪنهن به نوڪري تي ايندا آهيو، توهان سڀني ضروري سسٽم تائين رسائي حاصل ڪرڻ شروع ڪيو ۽ توهان کي گهربل اوزار نصب ڪيو. اهو هڪ هفتي ۽ اڌ ورتو، ۽ مون کي پهريون ڪم ڏنو ويو: ڪلاس روم ۾ جامد متن کي تبديل ڪرڻ. جڏهن مون پروجيڪٽ کوليو، مون کي بيمار محسوس ڪيو: هڪ منصوبي اندر ڪيترائي ماڊل هئا، ڪيترائي ڪلاس، ٽيسٽ، وغيره. هن نقطي تي مون کي گم ٿي ويو، پر هڪ سيڪنڊ ڊولپر مون کي مدد ڪئي ۽ مون کي تيز رفتار تائين پهچايو. بگ کي 10 منٽن ۾ طئي ڪيو ويو، گٽ ۾ شايع ٿيو، هڪ پل جي درخواست ڪئي وئي (ٻن شاخن کي ضم ڪرڻ جي درخواست جتي ٻيا ڊولپرز توهان جو ڪوڊ چيڪ ڪن ٿا)، ۽ پوء مکيه شاخ ۾ ضم ڪيو ويو. اهو ظاهر ٿيو ته هر شيء ايترو ڏکيو ناهي. پهرين مڪمل ڪم تائين... ايندڙ ٻن هفتن لاءِ منصوبابندي جي ڪمن جي وقت، هنن مون کي چيو: توهان هڪ ٻئي سسٽم سان انٽيگريشن ڪندا، جيڪو OpenShift تي واقع آهي. هي آهي جتي شيون واقعي خوفناڪ ٿي ويون آهن: OpenShift ٽيڪنالاجي جو هڪ مڪمل ڪلستر آهي: Docker، Kubernetes، Linux، وغيره. منهنجي پٺيءَ هيٺان ٿڌڙي پگهر وهي وئي: خير، مون هڪ جاوسٽ طور ڪم ڪيو. فوري طور تي اجلاس کان پوء، مون ڊولپر کي سڏيو، جنهن مون کي يقين ڏياريو: هن سسٽم لاء اڊاپٽر لکيا ويا هئا، ۽ اهو ڪافي هو ته منهنجي منصوبي ۾ ڪجهه طبقن کي درآمد ڪرڻ لاء، جنهن کان پوء آئون انضمام کي محفوظ طور تي استعمال ڪري سگهان ٿو. اهو ٻيهر مزو ٿي ويو، جيستائين ڊولپر هڪ عام انضمام ڏيکاريو: مون ڏٺو 20 کان وڌيڪ ڪلاس ساڳيا انضمام لاءِ ٺاهيا ويا. ان کان علاوه، اڳ ۾ اڻ ڏٺل تشريحون @Value، @Builder، @NoArgsConstructor، @Getter، نوٽ ڪيا ويا @Sl4f - اهو نڪتو Lombook پروجيڪٽ (انٽرنيٽ تي پڙهو). جڏهن ڊولپر مون کي وضاحت ڪئي ته اهو ڪيئن ڪجي، مون سڀني طبقن جي ڪنيڪشن کي لکڻ جي ڪوشش ڪئي، ۽ منهنجي سر ۾ ڪجهه به نه پڪڙيو. سڀ کان وڌيڪ شرمناڪ لمحو هو Intellij Idea جي ڄاڻ جي کوٽ: هڪ پروجيڪٽ لاءِ عالمي سطح تي ڪيئن ڳولا ڪجي، ڪوڊ ريفيڪٽرنگ وغيره. ڪم تي کڻڻ کان پوء، مون سمجهيو ته او او پي جي ضرورت ڇو آهي: ڪوڊ جي اهڙي وڏي رقم لاء، ان کي طبقن ۾ ورهائڻ ضروري آهي؛ اهي طريقا جيڪي ڪلاس کان ٻاهر استعمال نه ڪيا ويا آهن انهن کي نجي قرار ڏنو وڃي ته جيئن حادثاتي طور تي انهن کي ڪنهن ٻئي ڪلاس ۾ نه هلايو وڃي، وغيره. منهنجي انٽيگريشن کي ڪنهن ٻئي انٽيگريشن سان قياس ڪندي لکڻ کان پوءِ، مون CheckStyle جي وجود جي باري ۾ سکيو - هڪ خاص پلگ ان جيڪو انداز کي چيڪ ڪري ٿو. توهان جي ڪوڊ جو، ۽ توهان پنهنجي پروجيڪٽ کي گڏ ڪرڻ جي قابل نه هوندا جيستائين توهان غلطين کي درست نه ڪندا (مثال طور، اضافي اسپيس، متغير نالا وڏن خطن سان، متغير نالا جيڪي تمام ننڍا آهن). چيڪ اسٽائل کي شڪست ڏيڻ کان پوء، مون سينئر ڊولپرز کي جائزو وٺڻ لاء منهنجو ڪوڊ موڪليو ۽ هڪ هفتي اندر منهنجي غلطي کي درست ڪيو. عام طور تي، مان ڏاڍو خوش قسمت هوس ته منهنجي ٽيم ۾ مون کي ٻئي ڊولپر سان سٺو تعلق هو، جنهن تمام گهڻيون شيون بيان ڪيون. ڊوائيس کان هڪ مهيني کان پوء، منهنجو پهريون انضمام انٽيگريشن-فنڪشنل اسٽينڊ تي شروع ڪيو ويو (سڀني ايپليڪيشنن جو ڪم گڏجي آزمائشي آهي)، ۽ هر شيء اتي ڪم ڪيو! فتح! ايندڙ ڪم هڪ ڪلاس ٺاهڻ هو جيڪو json ۾ ڪيئي ذريعي ڊيٽا کي لڪائڻ جي اجازت ڏيندو. مثال طور: هتي آهي json {text:"JavaRush"} -> پروسيسنگ -> {text:"****Rush"}. هتي ٻه پيچيدگيون آهن: هتي nesting ٿي سگهي ٿي {text:{mytext:"JavaRush"}}، ۽ جيڪا وڌيڪ ناپسنديده آهي اها صف جي اندر nesting آهي: {text: [ {mytext: "JavaRush"}, {mytext: "JavaRush "} ] } (يقيناً توهان کي سڀ text.mytext لڪائڻ جي ضرورت آهي). هن مسئلي کي حل ڪرڻ تمام ڏکيو ٿي ويو، پر مون اهو ڪيو! هتي ٻيو ڊولپر چوي ٿو: هن ترقي کي ٽيسٽ سان ڍڪيو. اکين ۾ لرزش هئي. اهڙيءَ طرح مون کي جنگ ۾ JUnit لائبريريءَ جي خبر پئي. يونٽ ٽيسٽنگ جو جوهر: توهان وٽ ان پٽ ڊيٽا آهي، ان کي طريقي سان پاس ڪريو، ۽ حاصل ڪيل ڊيٽا کي صحيح نتيجو سان ڀيٽيو (صحيح نتيجن سان متغير ٺاهيو). مون پنهنجي لائبريري لاءِ 11 ڪيس لکيا، جن ۾ مون چيڪ ڪيو ته ايپليڪيشن NullPointException سان حادثو نه ٿيو آهي ۽ اهو صحيح طور تي ڊيٽا کي ڪنهن به قسم جي nesting سان لڪائي ٿو. هن ڪم کي مڪمل ڪرڻ کان پوء، مون کي هڪ نئون انضمام ڏنو ويو، جنهن جي خاصيت هن ريت هئي: مون کي هڪ ٻاهرين لائبريري مان هڪ بهار جي بين برآمد ڪرڻي هئي. هن موقعي تي، مان اسٽيڪ اوور فلو ويب سائيٽ جو باقاعده گراهڪ بڻجي ويو آهيان. هڪ ڀيري به هڪ سرڪاري بهار ڊولپر جواب ڏنو. ان انضمام تي عمل ڪرڻ کان پوءِ، منهنجو آزمائشي دور پڄاڻي تي پهتو. باس مون کي امتحاني دور پاس ڪرڻ تي مبارڪباد ڏني، ۽ مون هي مضمون لکڻ شروع ڪيو. مجموعي طور تي، هن مضمون کي لکڻ لاء 8 ڪلاڪ ورتو) توهان جي توجه لاء مهرباني، مون کي اميد آهي ته مضمون مفيد هو. مون سڀني طبقن جي ڪنيڪشن کي لکڻ جي ڪوشش ڪئي، ۽ منهنجي مٿي ۾ ڪجهه به نه اٽڪيل. سڀ کان وڌيڪ شرمناڪ لمحو هو Intellij Idea جي ڄاڻ جي کوٽ: هڪ پروجيڪٽ لاءِ عالمي سطح تي ڪيئن ڳولا ڪجي، ڪوڊ ريفيڪٽرنگ وغيره. ڪم تي کڻڻ کان پوء، مون سمجهيو ته او او پي جي ضرورت ڇو آهي: ڪوڊ جي اهڙي وڏي رقم لاء، ان کي طبقن ۾ ورهائڻ ضروري آهي؛ اهي طريقا جيڪي ڪلاس کان ٻاهر استعمال نه ڪيا ويا آهن انهن کي نجي قرار ڏنو وڃي ته جيئن حادثاتي طور تي انهن کي ڪنهن ٻئي ڪلاس ۾ نه هلايو وڃي، وغيره. منهنجي انٽيگريشن کي ڪنهن ٻئي انٽيگريشن سان قياس ڪندي لکڻ کان پوءِ، مون CheckStyle جي وجود جي باري ۾ سکيو - هڪ خاص پلگ ان جيڪو انداز کي چيڪ ڪري ٿو. توهان جي ڪوڊ جو، ۽ توهان پنهنجي پروجيڪٽ کي گڏ ڪرڻ جي قابل نه هوندا جيستائين توهان غلطين کي درست نه ڪندا (مثال طور، اضافي اسپيس، متغير نالا وڏن خطن سان، متغير نالا جيڪي تمام ننڍا آهن). چيڪ اسٽائل کي شڪست ڏيڻ کان پوء، مون سينئر ڊولپرز کي جائزو وٺڻ لاء منهنجو ڪوڊ موڪليو ۽ هڪ هفتي اندر منهنجي غلطي کي درست ڪيو. عام طور تي، مان ڏاڍو خوش قسمت هوس ته منهنجي ٽيم ۾ مون کي ٻئي ڊولپر سان سٺو تعلق هو، جنهن تمام گهڻيون شيون بيان ڪيون. ڊوائيس کان هڪ مهيني کان پوء، منهنجو پهريون انضمام انٽيگريشن-فنڪشنل اسٽينڊ تي شروع ڪيو ويو (سڀني ايپليڪيشنن جو ڪم گڏجي آزمائشي آهي)، ۽ هر شيء اتي ڪم ڪيو! فتح! ايندڙ ڪم هڪ ڪلاس ٺاهڻ هو جيڪو json ۾ ڪيئي ذريعي ڊيٽا کي لڪائڻ جي اجازت ڏيندو. مثال طور: هتي آهي json {text:"JavaRush"} -> پروسيسنگ -> {text:"****Rush"}. هتي ٻه پيچيدگيون آهن: هتي nesting ٿي سگهي ٿي {text:{mytext:"JavaRush"}}، ۽ جيڪا وڌيڪ ناپسنديده آهي اها صف جي اندر nesting آهي: {text: [ {mytext: "JavaRush"}, {mytext: "JavaRush "} ] } (يقيناً توهان کي سڀ text.mytext لڪائڻ جي ضرورت آهي). هن مسئلي کي حل ڪرڻ تمام ڏکيو ٿي ويو، پر مون اهو ڪيو! هتي ٻيو ڊولپر چوي ٿو: هن ترقي کي ٽيسٽ سان ڍڪيو. اکين ۾ لرزش هئي. اهڙيءَ طرح مون کي جنگ ۾ JUnit لائبريريءَ جي خبر پئي. يونٽ ٽيسٽنگ جو جوهر: توهان وٽ ان پٽ ڊيٽا آهي، ان کي طريقي سان پاس ڪريو، ۽ حاصل ڪيل ڊيٽا کي صحيح نتيجو سان ڀيٽيو (صحيح نتيجن سان متغير ٺاهيو). مون پنهنجي لائبريري لاءِ 11 ڪيس لکيا، جن ۾ مون چيڪ ڪيو ته ايپليڪيشن NullPointException سان حادثو نه ٿيو آهي ۽ اهو صحيح طور تي ڊيٽا کي ڪنهن به قسم جي nesting سان لڪائي ٿو. هن ڪم کي مڪمل ڪرڻ کان پوء، مون کي هڪ نئون انضمام ڏنو ويو، جنهن جي خاصيت هن ريت هئي: مون کي هڪ ٻاهرين لائبريري مان هڪ بهار جي بين برآمد ڪرڻي هئي. هن موقعي تي، مان اسٽيڪ اوور فلو ويب سائيٽ جو باقاعده گراهڪ بڻجي ويو آهيان. هڪ ڀيري به هڪ سرڪاري بهار ڊولپر جواب ڏنو. ان انضمام تي عمل ڪرڻ کان پوءِ، منهنجو آزمائشي دور پڄاڻي تي پهتو. باس مون کي امتحاني دور پاس ڪرڻ تي مبارڪباد ڏني، ۽ مون هي مضمون لکڻ شروع ڪيو. مجموعي طور تي، هن مضمون کي لکڻ لاء 8 ڪلاڪ ورتو) توهان جي توجه لاء مهرباني، مون کي اميد آهي ته مضمون مفيد هو. مون سڀني طبقن جي ڪنيڪشن کي لکڻ جي ڪوشش ڪئي، ۽ منهنجي مٿي ۾ ڪجهه به نه اٽڪيل. سڀ کان وڌيڪ شرمناڪ لمحو هو Intellij Idea جي ڄاڻ جي کوٽ: هڪ پروجيڪٽ لاءِ عالمي سطح تي ڪيئن ڳولا ڪجي، ڪوڊ ريفيڪٽرنگ وغيره. ڪم تي کڻڻ کان پوء، مون سمجهيو ته او او پي جي ضرورت ڇو آهي: ڪوڊ جي اهڙي وڏي رقم لاء، ان کي طبقن ۾ ورهائڻ ضروري آهي؛ اهي طريقا جيڪي ڪلاس کان ٻاهر استعمال نه ڪيا ويا آهن انهن کي نجي قرار ڏنو وڃي ته جيئن حادثاتي طور تي انهن کي ڪنهن ٻئي ڪلاس ۾ نه هلايو وڃي، وغيره. منهنجي انٽيگريشن کي ڪنهن ٻئي انٽيگريشن سان قياس ڪندي لکڻ کان پوءِ، مون CheckStyle جي وجود جي باري ۾ سکيو - هڪ خاص پلگ ان جيڪو انداز کي چيڪ ڪري ٿو. توهان جي ڪوڊ جو، ۽ توهان پنهنجي پروجيڪٽ کي گڏ ڪرڻ جي قابل نه هوندا جيستائين توهان غلطين کي درست نه ڪندا (مثال طور، اضافي اسپيس، متغير نالا وڏن خطن سان، متغير نالا جيڪي تمام ننڍا آهن). چيڪ اسٽائل کي شڪست ڏيڻ کان پوء، مون سينئر ڊولپرز کي جائزو وٺڻ لاء منهنجو ڪوڊ موڪليو ۽ هڪ هفتي اندر منهنجي غلطي کي درست ڪيو. عام طور تي، مان ڏاڍو خوش قسمت هوس ته منهنجي ٽيم ۾ مون کي ٻئي ڊولپر سان سٺو تعلق هو، جنهن تمام گهڻيون شيون بيان ڪيون. ڊوائيس کان هڪ مهيني کان پوء، منهنجو پهريون انضمام انٽيگريشن-فنڪشنل اسٽينڊ تي شروع ڪيو ويو (سڀني ايپليڪيشنن جو ڪم گڏجي آزمائشي آهي)، ۽ هر شيء اتي ڪم ڪيو! فتح! ايندڙ ڪم هڪ ڪلاس ٺاهڻ هو جيڪو json ۾ ڪيئي ذريعي ڊيٽا کي لڪائڻ جي اجازت ڏيندو. مثال طور: هتي آهي json {text:"JavaRush"} -> پروسيسنگ -> {text:"****Rush"}. هتي ٻه پيچيدگيون آهن: هتي nesting ٿي سگهي ٿي {text:{mytext:"JavaRush"}}، ۽ جيڪا وڌيڪ ناپسنديده آهي اها صف جي اندر nesting آهي: {text: [ {mytext: "JavaRush"}, {mytext: "JavaRush "} ] } (يقيناً توهان کي سڀ text.mytext لڪائڻ جي ضرورت آهي). هن مسئلي کي حل ڪرڻ تمام ڏکيو ٿي ويو، پر مون اهو ڪيو! هتي ٻيو ڊولپر چوي ٿو: هن ترقي کي ٽيسٽ سان ڍڪيو. اکين ۾ لرزش هئي. اهڙيءَ طرح مون کي جنگ ۾ JUnit لائبريريءَ جي خبر پئي. يونٽ ٽيسٽنگ جو جوهر: توهان وٽ ان پٽ ڊيٽا آهي، ان کي طريقي سان پاس ڪريو، ۽ حاصل ڪيل ڊيٽا کي صحيح نتيجو سان ڀيٽيو (صحيح نتيجن سان متغير ٺاهيو). مون پنهنجي لائبريري لاءِ 11 ڪيس لکيا، جن ۾ مون چيڪ ڪيو ته ايپليڪيشن NullPointException سان حادثو نه ٿيو آهي ۽ اهو صحيح طور تي ڊيٽا کي ڪنهن به قسم جي nesting سان لڪائي ٿو. هن ڪم کي مڪمل ڪرڻ کان پوء، مون کي هڪ نئون انضمام ڏنو ويو، جنهن جي خاصيت هن ريت هئي: مون کي هڪ ٻاهرين لائبريري مان هڪ بهار جي بين برآمد ڪرڻي هئي. هن موقعي تي، مان اسٽيڪ اوور فلو ويب سائيٽ جو باقاعده گراهڪ بڻجي ويو آهيان. هڪ ڀيري به هڪ سرڪاري بهار ڊولپر جواب ڏنو. ان انضمام تي عمل ڪرڻ کان پوءِ، منهنجو آزمائشي دور پڄاڻي تي پهتو. باس مون کي امتحاني دور پاس ڪرڻ تي مبارڪباد ڏني، ۽ مون هي مضمون لکڻ شروع ڪيو. مجموعي طور تي، هن مضمون کي لکڻ لاء 8 ڪلاڪ ورتو) توهان جي توجه لاء مهرباني، مون کي اميد آهي ته مضمون مفيد هو. ڪوڊ جي اهڙي وڏي رقم لاء، توهان کي ان کي طبقن ۾ ورهائڻ جي ضرورت آهي؛ اهي طريقا جيڪي ڪلاس کان ٻاهر استعمال نه ڪيا ويا آهن انهن کي نجي قرار ڏنو وڃي ته جيئن حادثاتي طور تي انهن کي ڪنهن ٻئي ڪلاس ۾ نه هلايو وڃي، وغيره. منهنجي انٽيگريشن کي ڪنهن ٻئي انٽيگريشن سان قياس ڪندي لکڻ کان پوءِ، مون CheckStyle جي وجود جي باري ۾ سکيو - هڪ خاص پلگ ان جيڪو انداز کي چيڪ ڪري ٿو. توهان جي ڪوڊ جو، ۽ توهان پنهنجي پروجيڪٽ کي گڏ ڪرڻ جي قابل نه هوندا جيستائين توهان غلطين کي درست نه ڪندا (مثال طور، اضافي اسپيس، متغير نالا وڏن خطن سان، متغير نالا جيڪي تمام ننڍا آهن). چيڪ اسٽائل کي شڪست ڏيڻ کان پوء، مون سينئر ڊولپرز کي جائزو وٺڻ لاء منهنجو ڪوڊ موڪليو ۽ هڪ هفتي اندر منهنجي غلطي کي درست ڪيو. عام طور تي، مان ڏاڍو خوش قسمت هوس ته منهنجي ٽيم ۾ مون کي ٻئي ڊولپر سان سٺو تعلق هو، جنهن تمام گهڻيون شيون بيان ڪيون. ڊوائيس کان هڪ مهيني کان پوء، منهنجو پهريون انضمام انٽيگريشن-فنڪشنل اسٽينڊ تي شروع ڪيو ويو (سڀني ايپليڪيشنن جو ڪم گڏجي آزمائشي آهي)، ۽ هر شيء اتي ڪم ڪيو! فتح! ايندڙ ڪم هڪ ڪلاس ٺاهڻ هو جيڪو json ۾ ڪيئي ذريعي ڊيٽا کي لڪائڻ جي اجازت ڏيندو. مثال طور: هتي آهي json {text:"JavaRush"} -> پروسيسنگ -> {text:"****Rush"}. هتي ٻه پيچيدگيون آهن: هتي nesting ٿي سگهي ٿي {text:{mytext:"JavaRush"}}، ۽ جيڪا وڌيڪ ناپسنديده آهي اها صف جي اندر nesting آهي: {text: [ {mytext: "JavaRush"}, {mytext: "JavaRush "} ] } (يقيناً توهان کي سڀ text.mytext لڪائڻ جي ضرورت آهي). هن مسئلي کي حل ڪرڻ تمام ڏکيو ٿي ويو، پر مون اهو ڪيو! هتي ٻيو ڊولپر چوي ٿو: هن ترقي کي ٽيسٽ سان ڍڪيو. اکين ۾ لرزش هئي. اهڙيءَ طرح مون کي جنگ ۾ JUnit لائبريريءَ جي خبر پئي. يونٽ ٽيسٽنگ جو جوهر: توهان وٽ ان پٽ ڊيٽا آهي، ان کي طريقي سان پاس ڪريو، ۽ حاصل ڪيل ڊيٽا کي صحيح نتيجو سان ڀيٽيو (صحيح نتيجن سان متغير ٺاهيو). مون پنهنجي لائبريري لاءِ 11 ڪيس لکيا، جن ۾ مون چيڪ ڪيو ته ايپليڪيشن NullPointException سان حادثو نه ٿيو آهي ۽ اهو صحيح طور تي ڊيٽا کي ڪنهن به قسم جي nesting سان لڪائي ٿو. هن ڪم کي مڪمل ڪرڻ کان پوء، مون کي هڪ نئون انضمام ڏنو ويو، جنهن جي خاصيت هن ريت هئي: مون کي هڪ ٻاهرين لائبريري مان هڪ بهار جي بين برآمد ڪرڻي هئي. هن موقعي تي، مان اسٽيڪ اوور فلو ويب سائيٽ جو باقاعده گراهڪ بڻجي ويو آهيان. هڪ ڀيري به هڪ سرڪاري بهار ڊولپر جواب ڏنو. ان انضمام تي عمل ڪرڻ کان پوءِ، منهنجو آزمائشي دور پڄاڻي تي پهتو. باس مون کي امتحاني دور پاس ڪرڻ تي مبارڪباد ڏني، ۽ مون هي مضمون لکڻ شروع ڪيو. مجموعي طور تي، هن مضمون کي لکڻ لاء 8 ڪلاڪ ورتو) توهان جي توجه لاء مهرباني، مون کي اميد آهي ته مضمون مفيد هو. ڪوڊ جي اهڙي وڏي رقم لاء، توهان کي ان کي طبقن ۾ ورهائڻ جي ضرورت آهي؛ اهي طريقا جيڪي ڪلاس کان ٻاهر استعمال نه ڪيا ويا آهن انهن کي نجي قرار ڏنو وڃي ته جيئن حادثاتي طور تي انهن کي ڪنهن ٻئي ڪلاس ۾ نه هلايو وڃي، وغيره. منهنجي انٽيگريشن کي ڪنهن ٻئي انٽيگريشن سان قياس ڪندي لکڻ کان پوءِ، مون CheckStyle جي وجود جي باري ۾ سکيو - هڪ خاص پلگ ان جيڪو انداز کي چيڪ ڪري ٿو. توهان جي ڪوڊ جو، ۽ توهان پنهنجي پروجيڪٽ کي گڏ ڪرڻ جي قابل نه هوندا جيستائين توهان غلطين کي درست نه ڪندا (مثال طور، اضافي اسپيس، متغير نالا وڏن خطن سان، متغير نالا جيڪي تمام ننڍا آهن). چيڪ اسٽائل کي شڪست ڏيڻ کان پوء، مون سينئر ڊولپرز کي جائزو وٺڻ لاء منهنجو ڪوڊ موڪليو ۽ هڪ هفتي اندر منهنجي غلطي کي درست ڪيو. عام طور تي، مان ڏاڍو خوش قسمت هوس ته منهنجي ٽيم ۾ مون کي ٻئي ڊولپر سان سٺو تعلق هو، جنهن تمام گهڻيون شيون بيان ڪيون. ڊوائيس کان هڪ مهيني کان پوء، منهنجو پهريون انضمام انٽيگريشن-فنڪشنل اسٽينڊ تي شروع ڪيو ويو (سڀني ايپليڪيشنن جو ڪم گڏجي آزمائشي آهي)، ۽ هر شيء اتي ڪم ڪيو! فتح! ايندڙ ڪم هڪ ڪلاس ٺاهڻ هو جيڪو json ۾ ڪيئي ذريعي ڊيٽا کي لڪائڻ جي اجازت ڏيندو. مثال طور: هتي آهي json {text:"JavaRush"} -> پروسيسنگ -> {text:"****Rush"}. هتي ٻه پيچيدگيون آهن: هتي nesting ٿي سگهي ٿي {text:{mytext:"JavaRush"}}، ۽ جيڪا وڌيڪ ناپسنديده آهي اها صف جي اندر nesting آهي: {text: [ {mytext: "JavaRush"}, {mytext: "JavaRush "} ] } (يقيناً توهان کي سڀ text.mytext لڪائڻ جي ضرورت آهي). هن مسئلي کي حل ڪرڻ تمام ڏکيو ٿي ويو، پر مون اهو ڪيو! هتي ٻيو ڊولپر چوي ٿو: هن ترقي کي ٽيسٽ سان ڍڪيو. اکين ۾ لرزش هئي. اهڙيءَ طرح مون کي جنگ ۾ JUnit لائبريريءَ جي خبر پئي. يونٽ ٽيسٽنگ جو جوهر: توهان وٽ ان پٽ ڊيٽا آهي، ان کي طريقي سان پاس ڪريو، ۽ حاصل ڪيل ڊيٽا کي صحيح نتيجو سان ڀيٽيو (صحيح نتيجن سان متغير ٺاهيو). مون پنهنجي لائبريري لاءِ 11 ڪيس لکيا، جن ۾ مون چيڪ ڪيو ته ايپليڪيشن NullPointException سان حادثو نه ٿيو آهي ۽ اهو صحيح طور تي ڊيٽا کي ڪنهن به قسم جي nesting سان لڪائي ٿو. هن ڪم کي مڪمل ڪرڻ کان پوء، مون کي هڪ نئون انضمام ڏنو ويو، جنهن جي خاصيت هن ريت هئي: مون کي هڪ ٻاهرين لائبريري مان هڪ بهار جي بين برآمد ڪرڻي هئي. هن موقعي تي، مان اسٽيڪ اوور فلو ويب سائيٽ جو باقاعده گراهڪ بڻجي ويو آهيان. هڪ ڀيري به هڪ سرڪاري بهار ڊولپر جواب ڏنو. ان انضمام تي عمل ڪرڻ کان پوءِ، منهنجو آزمائشي دور پڄاڻي تي پهتو. باس مون کي امتحاني دور پاس ڪرڻ تي مبارڪباد ڏني، ۽ مون هي مضمون لکڻ شروع ڪيو. مجموعي طور تي، هن مضمون کي لکڻ لاء 8 ڪلاڪ ورتو) توهان جي توجه لاء مهرباني، مون کي اميد آهي ته مضمون مفيد هو. variable نالا تمام ننڍا آهن). چيڪ اسٽائل کي شڪست ڏيڻ کان پوء، مون سينئر ڊولپرز کي جائزو وٺڻ لاء منهنجو ڪوڊ موڪليو ۽ هڪ هفتي اندر منهنجي غلطي کي درست ڪيو. عام طور تي، مان ڏاڍو خوش قسمت هوس ته منهنجي ٽيم ۾ مون کي ٻئي ڊولپر سان سٺو تعلق هو، جنهن تمام گهڻيون شيون بيان ڪيون. ڊوائيس کان هڪ مهيني کان پوء، منهنجو پهريون انضمام انٽيگريشن-فنڪشنل اسٽينڊ تي شروع ڪيو ويو (سڀني ايپليڪيشنن جو ڪم گڏجي آزمائشي آهي)، ۽ هر شيء اتي ڪم ڪيو! فتح! ايندڙ ڪم هڪ ڪلاس ٺاهڻ هو جيڪو json ۾ ڪيئي ذريعي ڊيٽا کي لڪائڻ جي اجازت ڏيندو. مثال طور: هتي آهي json {text:"JavaRush"} -> پروسيسنگ -> {text:"****Rush"}. هتي ٻه پيچيدگيون آهن: هتي nesting ٿي سگهي ٿي {text:{mytext:"JavaRush"}}، ۽ جيڪا وڌيڪ ناپسنديده آهي اها صف جي اندر nesting آهي: {text: [ {mytext: "JavaRush"}, {mytext: "JavaRush "} ] } (يقيناً توهان کي سڀ text.mytext لڪائڻ جي ضرورت آهي). هن مسئلي کي حل ڪرڻ تمام ڏکيو ٿي ويو، پر مون اهو ڪيو! هتي ٻيو ڊولپر چوي ٿو: هن ترقي کي ٽيسٽ سان ڍڪيو. اکين ۾ لرزش هئي. اهڙيءَ طرح مون کي جنگ ۾ JUnit لائبريريءَ جي خبر پئي. يونٽ ٽيسٽنگ جو جوهر: توهان وٽ ان پٽ ڊيٽا آهي، ان کي طريقي سان پاس ڪريو، ۽ حاصل ڪيل ڊيٽا کي صحيح نتيجو سان ڀيٽيو (صحيح نتيجن سان متغير ٺاهيو). مون پنهنجي لائبريري لاءِ 11 ڪيس لکيا، جن ۾ مون چيڪ ڪيو ته ايپليڪيشن NullPointException سان حادثو نه ٿيو آهي ۽ اهو صحيح طور تي ڊيٽا کي ڪنهن به قسم جي nesting سان لڪائي ٿو. هن ڪم کي مڪمل ڪرڻ کان پوء، مون کي هڪ نئون انضمام ڏنو ويو، جنهن جي خاصيت هن ريت هئي: مون کي هڪ ٻاهرين لائبريري مان هڪ بهار جي بين برآمد ڪرڻي هئي. هن موقعي تي، مان اسٽيڪ اوور فلو ويب سائيٽ جو باقاعده گراهڪ بڻجي ويو آهيان. هڪ ڀيري به هڪ سرڪاري بهار ڊولپر جواب ڏنو. ان انضمام تي عمل ڪرڻ کان پوءِ، منهنجو آزمائشي دور پڄاڻي تي پهتو. باس مون کي امتحاني دور پاس ڪرڻ تي مبارڪباد ڏني، ۽ مون هي مضمون لکڻ شروع ڪيو. مجموعي طور تي، هن مضمون کي لکڻ لاء 8 ڪلاڪ ورتو) توهان جي توجه لاء مهرباني، مون کي اميد آهي ته مضمون مفيد هو. variable نالا تمام ننڍا آهن). چيڪ اسٽائل کي شڪست ڏيڻ کان پوء، مون سينئر ڊولپرز کي جائزو وٺڻ لاء منهنجو ڪوڊ موڪليو ۽ هڪ هفتي اندر منهنجي غلطي کي درست ڪيو. عام طور تي، مان ڏاڍو خوش قسمت هوس ته منهنجي ٽيم ۾ مون کي ٻئي ڊولپر سان سٺو تعلق هو، جنهن تمام گهڻيون شيون بيان ڪيون. ڊوائيس کان هڪ مهيني کان پوء، منهنجو پهريون انضمام انٽيگريشن-فنڪشنل اسٽينڊ تي شروع ڪيو ويو (سڀني ايپليڪيشنن جو ڪم گڏجي آزمائشي آهي)، ۽ هر شيء اتي ڪم ڪيو! فتح! ايندڙ ڪم هڪ ڪلاس ٺاهڻ هو جيڪو json ۾ ڪيئي ذريعي ڊيٽا کي لڪائڻ جي اجازت ڏيندو. مثال طور: هتي آهي json {text:"JavaRush"} -> پروسيسنگ -> {text:"****Rush"}. هتي ٻه پيچيدگيون آهن: هتي nesting ٿي سگهي ٿي {text:{mytext:"JavaRush"}}، ۽ جيڪا وڌيڪ ناپسنديده آهي اها صف جي اندر nesting آهي: {text: [ {mytext: "JavaRush"}, {mytext: "JavaRush "} ] } (يقيناً توهان کي سڀ text.mytext لڪائڻ جي ضرورت آهي). هن مسئلي کي حل ڪرڻ تمام ڏکيو ٿي ويو، پر مون اهو ڪيو! هتي ٻيو ڊولپر چوي ٿو: هن ترقي کي ٽيسٽ سان ڍڪيو. اکين ۾ لرزش هئي. اهڙيءَ طرح مون کي جنگ ۾ JUnit لائبريريءَ جي خبر پئي. يونٽ ٽيسٽنگ جو جوهر: توهان وٽ ان پٽ ڊيٽا آهي، ان کي طريقي سان پاس ڪريو، ۽ حاصل ڪيل ڊيٽا کي صحيح نتيجو سان ڀيٽيو (صحيح نتيجن سان متغير ٺاهيو). مون پنهنجي لائبريري لاءِ 11 ڪيس لکيا، جن ۾ مون چيڪ ڪيو ته ايپليڪيشن NullPointException سان حادثو نه ٿيو آهي ۽ اهو صحيح طور تي ڊيٽا کي ڪنهن به قسم جي nesting سان لڪائي ٿو. هن ڪم کي مڪمل ڪرڻ کان پوء، مون کي هڪ نئون انضمام ڏنو ويو، جنهن جي خاصيت هن ريت هئي: مون کي هڪ ٻاهرين لائبريري مان هڪ بهار جي بين برآمد ڪرڻي هئي. هن موقعي تي، مان اسٽيڪ اوور فلو ويب سائيٽ جو باقاعده گراهڪ بڻجي ويو آهيان. هڪ ڀيري به هڪ سرڪاري بهار ڊولپر جواب ڏنو. ان انضمام تي عمل ڪرڻ کان پوءِ، منهنجو آزمائشي دور پڄاڻي تي پهتو. باس مون کي امتحاني دور پاس ڪرڻ تي مبارڪباد ڏني، ۽ مون هي مضمون لکڻ شروع ڪيو. مجموعي طور تي، هن مضمون کي لکڻ لاء 8 ڪلاڪ ورتو) توهان جي توجه لاء مهرباني، مون کي اميد آهي ته مضمون مفيد هو. هن مسئلي کي حل ڪرڻ تمام ڏکيو ٿي ويو، پر مون اهو ڪيو! هتي ٻيو ڊولپر چوي ٿو: هن ترقي کي ٽيسٽ سان ڍڪيو. اکين ۾ لرزش هئي. اهڙيءَ طرح مون کي جنگ ۾ JUnit لائبريريءَ جي خبر پئي. يونٽ ٽيسٽنگ جو جوهر: توهان وٽ ان پٽ ڊيٽا آهي، ان کي طريقي سان پاس ڪريو، ۽ حاصل ڪيل ڊيٽا کي صحيح نتيجو سان ڀيٽيو (صحيح نتيجن سان متغير ٺاهيو). مون پنهنجي لائبريري لاءِ 11 ڪيس لکيا، جن ۾ مون چيڪ ڪيو ته ايپليڪيشن NullPointException سان حادثو نه ٿيو آهي ۽ اهو صحيح طور تي ڊيٽا کي ڪنهن به قسم جي nesting سان لڪائي ٿو. هن ڪم کي مڪمل ڪرڻ کان پوء، مون کي هڪ نئون انضمام ڏنو ويو، جنهن جي خاصيت هن ريت هئي: مون کي هڪ ٻاهرين لائبريري مان هڪ بهار جي بين برآمد ڪرڻي هئي. هن موقعي تي، مان اسٽيڪ اوور فلو ويب سائيٽ جو باقاعده گراهڪ بڻجي ويو آهيان. هڪ ڀيري به هڪ سرڪاري بهار ڊولپر جواب ڏنو. ان انضمام تي عمل ڪرڻ کان پوءِ، منهنجو آزمائشي دور پڄاڻي تي پهتو. باس مون کي امتحاني دور پاس ڪرڻ تي مبارڪباد ڏني، ۽ مون هي مضمون لکڻ شروع ڪيو. مجموعي طور تي، هن مضمون کي لکڻ لاء 8 ڪلاڪ ورتو) توهان جي توجه لاء مهرباني، مون کي اميد آهي ته مضمون مفيد هو. هن مسئلي کي حل ڪرڻ تمام ڏکيو ٿي ويو، پر مون اهو ڪيو! هتي ٻيو ڊولپر چوي ٿو: هن ترقي کي ٽيسٽ سان ڍڪيو. اکين ۾ لرزش هئي. اهڙيءَ طرح مون کي جنگ ۾ JUnit لائبريريءَ جي خبر پئي. يونٽ ٽيسٽنگ جو جوهر: توهان وٽ ان پٽ ڊيٽا آهي، ان کي طريقي سان پاس ڪريو، ۽ حاصل ڪيل ڊيٽا کي صحيح نتيجو سان ڀيٽيو (صحيح نتيجن سان متغير ٺاهيو). مون پنهنجي لائبريري لاءِ 11 ڪيس لکيا، جن ۾ مون چيڪ ڪيو ته ايپليڪيشن NullPointException سان حادثو نه ٿيو آهي ۽ اهو صحيح طور تي ڊيٽا کي ڪنهن به قسم جي nesting سان لڪائي ٿو. هن ڪم کي مڪمل ڪرڻ کان پوء، مون کي هڪ نئون انضمام ڏنو ويو، جنهن جي خاصيت هن ريت هئي: مون کي هڪ ٻاهرين لائبريري مان هڪ بهار جي بين برآمد ڪرڻي هئي. هن موقعي تي، مان اسٽيڪ اوور فلو ويب سائيٽ جو باقاعده گراهڪ بڻجي ويو آهيان. هڪ ڀيري به هڪ سرڪاري بهار ڊولپر جواب ڏنو. ان انضمام تي عمل ڪرڻ کان پوءِ، منهنجو آزمائشي دور پڄاڻي تي پهتو. باس مون کي امتحاني دور پاس ڪرڻ تي مبارڪباد ڏني، ۽ مون هي مضمون لکڻ شروع ڪيو. مجموعي طور تي، هن مضمون کي لکڻ لاء 8 ڪلاڪ ورتو) توهان جي توجه لاء مهرباني، مون کي اميد آهي ته مضمون مفيد هو.
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION