JavaRush /جاوا بلاگ /Random-SD /ڪيئن هڪ انٽرويو ٽيسٽ هڪ اوپن سورس لائبريري ۾ تبديل ٿي وئي...

ڪيئن هڪ انٽرويو ٽيسٽ هڪ اوپن سورس لائبريري ۾ تبديل ٿي وئي

گروپ ۾ شايع ٿيل
هيلو هرڪو، JavaRush ڪميونٽي! پنهنجي باري ۾ ٿورڙو: مان 2016 جي بهار کان وٺي جاوا سافٽ ويئر انجنيئر طور ڪم ڪري رهيو آهيان. مون کي هتي اچڻ پسند آهي ۽ مسئلا حل ڪرڻ جيڪي مون پنهنجي پڙهائي دوران حل نه ڪيا آهن. اڄ مان توهان کي لائبريري بابت ٻڌايان ٿو - تصوير جو مقابلو . هي هڪ کليل ذريعو لائبريري آهي جيڪا عوامي طور تي GitHub تي دستياب آهي . ڪيئن هڪ انٽرويو ٽيسٽ ٽاسڪ هڪ اوپن سورس لائبريري ۾ تبديل ٿيو - 1هن آرٽيڪل جو مقصد اهو ٻڌائڻ آهي ته هڪ اوپن سورس پراڊڪٽ ٺاهڻ صرف وقت جو ضايع ناهي، نه! هي هڪ شاندار تجربو آهي جيڪو مختلف پاسن کان تيار ڪيو ويو آهي، جڏهن توهان کي سڄي ترقي جي عمل تي ڪنٽرول هوندو آهي، جڏهن توهان کي هر تفصيل تي غور ڪرڻ جي ضرورت آهي. اوپن سورس توهان جي چوڌاري دنيا آهي. مان مذاق نه ڪري رهيو آهيان، هن لائبريري جي وجود دوران، مون مختلف ملڪن، جهڙوڪ آمريڪا، هندستان، چين، مصر، روس، جرمني، يوڪرين، سويڊن، نيوزيلينڊ، ناروي جي ماڻهن سان رابطو ڪيو. اھو آھي، اھو آھي حقيقي تجربو گڏيل ترقي ۾، سمجھوتا ​​ڳولڻ، ڪوڊ چيڪ ڪرڻ، وغيره. اهو تعارف هو، هاڻي اچو ته ترتيب سان شروع ڪريون:

ٽيسٽ. آگسٽ 2017 جي شروعات

اهو سڀ ڪجهه حقيقت سان شروع ٿيو ته مون هڪ ڪمپني سان هڪ انٽرويو ڪيو هو، جتي پهريون قدم هڪ ٽيسٽ ڪم لکڻ هو. ڪم هڪ ڪوڊ لکڻ هو جيڪو هڪ ئي سائيز جي ٻن تصويرن جو مقابلو ڪري، انهن جي وچ ۾ فرق ڳولي، انهن کي گروپ ڪري ۽ انهن جي چوڌاري هڪ مستطيل ٺاهي. پهرين تصوير آهي:
ڪيئن هڪ انٽرويو ٽيسٽ ٽاسڪ هڪ اوپن سورس لائبريري ۾ تبديل ٿيو - 2
هڪ ٻي تصوير آهي:
ڪيئن هڪ انٽرويو ٽيسٽ ٽاسڪ هڪ اوپن سورس لائبريري ۾ تبديل ٿيو - 3
اهو ضروري هو ته اختلافن کي ڳولڻ ۽ انهن کي دائرو ڪرڻ لاء هيٺ ڏنل ڏيکاريل آهي:
ڪيئن هڪ انٽرويو ٽيسٽ ٽاسڪ هڪ اوپن سورس لائبريري ۾ تبديل ٿيو - 4
جئين توھان ڏسي سگھو ٿا، ھڪڙو فرق آھي Username فيلڊ ۾ ، جيڪو ھڪڙي ڳاڙھي ٽڪنڊي سان گول ڪيو ويو آھي. ڪم جي وڌيڪ تفصيلي وضاحت . مون فيصلو ڪيو ته مان اهو ڪرڻ چاهيان ٿو نه صرف هڪ فنڪشنل نقطه نظر کان صحيح طور تي، پر خوبصورت پڻ، ته جيئن اهو شرمندگي نه ٿئي. هن کي ڪرڻ لاء، مون فيصلو ڪيو ته مان هن کي شايع ڪندس GitHub تي هڪ پروجيڪٽ جي طور تي . مون ڊگھي عرصي کان GitHub جو مطالعو ڪرڻ ۽ ان سان ڪم ڪرڻ جو تجربو حاصل ڪرڻ چاھيو آھي. هڪ تڪڙي نظر کان پوءِ، مون ڏٺم ته اهو بهتر ٿيندو ته ٽئين پارٽي جون خدمتون شامل ڪرڻ لاءِ ڪوڊ جي معيار جو تجزيو ڪرڻ، ٽيسٽ سان ڪوڊ ڪوريج پيدا ڪرڻ وغيره. ھيٺ ڏنل اوزار شامل ڪيو:
  • ڪوڊيسي - ڪوڊ جي معيار. اهو واقعي ڌيان ڏيڻ جي قابل آهي.

  • Travis CI هڪ CI (مسلسل انضمام) اوزار آهي جيڪو هڪ پروجيڪٽ ٺاهي ٿو، ٽيسٽ هلائي ٿو ۽ ٻڌائي ٿو ته ڇا پروجيڪٽ ڪاميابي سان تعمير ڪيو ويو. مثال طور، جيڪڏهن نئين تبديلين جي نتيجي ۾ هڪ امتحان پاس نه ڪيو، پوء اهو چوندو ته منصوبي جي تعمير ناڪام هئي ۽ ان کي ڳاڙهي رنگ ڏيندو.

  • Coveralls ھڪڙو اوزار آھي جيڪو ڏيکاري ٿو توھان جي ڪوڊ جو سيڪڙو ٽيسٽن سان ڍڪيل آھي.

  • BetterCode Hub هڪ ٻيو اوزار آهي ڪوڊ جي معيار جو تجزيو ڪرڻ لاءِ. هڪ تمام مفيد شيءِ جيڪا نه صرف توهان کي ٻڌائي ٿي ته خراب ڇا آهي، پر اهو پڻ بيان ڪيو ته ڇو ۽ ڪنهن ڪتاب جي لنڪ ڏيو جتي توهان ان بابت ڄاڻ حاصل ڪري سگهو.

انهن خدمتن مان هر هڪ ڊيٽا جي نتيجن سان گڏ پنهنجو بيج آهي، جهڙوڪ ڪوڊ ڪوريج پروجيڪٽ. ۽ هي بيج پروجيڪٽ جي مکيه وضاحت ۾ شامل ڪري سگھجي ٿو - README فائل. ڪم تيار هو - مون ان کي جائزو وٺڻ لاء موڪليو. جائزو وٺڻ کان پوء، مون فوري طور تي، تازي ياداشت کان، هر تبصري لاء هڪ Github مسئلو پيدا ڪيو ، جيڪو پوء هن منصوبي کي بهتر بنائڻ ۾ مدد ڪندو. آجر کان ڪو به بهتري وارو ڪم نه هو، تنهنڪري مون ڪجهه وقت لاءِ پروجيڪٽ جي باري ۾ وساري ڇڏيو ...

لائبريري جو رستو. جولاءِ 2018

لوگو

هڪ نقطي تي، مون دريافت ڪيو ته ماڻهو اڪثر منهنجي منصوبي جو دورو ڪندا آهن، ۽ اهو هر روز ٿئي ٿو. مان ان ڳالهه تي حيران ٿي ويس، ۽ ان کان به وڌيڪ حيران ٿيس ته اٽڪل هڪ سال بعد هڪ ISSUE ٺاهيو ويو، جنهن ۾ اهو لکيل هو ته هڪ خاص گرافڪ ڊيزائنر مون کي پنهنجي پروجيڪٽ لاءِ لوگو ٺاهڻ جي آڇ ڪري رهيو هو. انهن جو چوڻ آهي ته هو اهو ڪرڻ پسند ڪندو آهي اوپن سورس پروڊڪٽس لاءِ ۽ اهو ڪندو بلڪل مفت. اسان تعاون ڪرڻ شروع ڪيو. ڪيترائي اختيار پيش ڪيا ويا، پر آخرڪار اسان ان تي آباد ٿيا:
ڪيئن هڪ انٽرويو ٽيسٽ ٽاسڪ هڪ اوپن سورس لائبريري ۾ تبديل ٿيو - 5
مان تڏهن به جوان هئس ۽ اوپن سورس برادريءَ کان ناواقف هئس، ۽ اهڙي آڇ جي حقيقت مون لاءِ جهنگلي هئي ۽ مون پڇيو ته هو ائين ڇو ڪري رهيو آهي؟ جنهن تي هن جواب ڏنو: ”لوز اوه، صرف ان ڪري جو مون کي اوپن سورس پروجيڪٽس ۾ حصو وٺڻ پسند آهي. هڪ قسم جي زندگي جي مقصدن واري شيءِ...“ ( مسئلو پاڻ هتي آهي ). اهو تڏهن آهي جڏهن مون پهريون ڀيرو محسوس ڪيو ته اهو ڪيترو عظيم آهي جڏهن مختلف ماڻهو توهان کي اوپن سورس پروجيڪٽ ذريعي ڳوليندا آهن ۽ اهڙيون دلچسپ شيون پيش ڪندا آهن!

پهرين پاسي جي خرابي

مون ڏٺو ته چين مان هڪ خاص ڊولپر مون لاءِ هڪ مسئلو پيدا ڪيو ، جنهن ۾ هن بيان ڪيو ته هن لائبريري جي ڪم ۾ هڪ نقص محسوس ڪيو آهي، ته جيڪڏهن توهان وڏيون تصويرون استعمال ڪندا آهيو، توهان کي StackOverflowError ملندو . انسان فائدو وٺڻ جو فيصلو ڪيو ۽ هڪ غلطي ڏٺائين. ۽ مون کي صرف اهو نه مليو. ۽ پڻ هن جي باري ۾ لکيو. هي لائبريري جي ترقي ۾ هڪ نئون قدم آهي. ان کان علاوه، مون وٽ واقعي ڪو حل نه هو. هڪ خاص نقطي تي، روس کان ٽيسٽ ڪندڙن مان هڪ هڪ حل پيش ڪيو. پر اهو خام هو ۽ صحيح طرح ٺهيل نه هو ۽ مون ان کي قبول نه ڪيو. ۽ جڏهن ماون سينٽرل ۾ لائبريري شايع ڪرڻ جو وقت هو، اهو ضروري هو ته هن عيب سان ڪجهه حل ڪيو وڃي؛ مون ان سان گڏ شايع ڪرڻ نه چاهيو. ان کان علاوه، هڪ ٻيو عيب هو، جيڪو مون ڪڏهن به درست نه ڪيو هو ۽ اهو پڻ تمام گهڻي تڪليف آڻيندو هو.

ڪمانڊ لائن استعمال. خزاں 2018

ترقيءَ جو ايندڙ مرحلو هڪ سويڊن (Renato Athaydes) سان رابطو هو، جيڪو ڪمانڊ لائن ذريعي لائبريري استعمال ڪرڻ چاهيندو هو ۽ ان لاءِ ڪجهه تبديليون ۽ اضافو ڪرڻ ضروري هو. ان ڳالهه تي مان وري حيران ۽ حيران ٿي ويس. گرافڪ ڊيزائنر مون کي لکڻ کان پوء، منهنجي تعجب ڪجهه گهٽ هئي، پر اڃا تائين تمام گهڻو. اهو خيال ته ڪنهن کي واقعي منهنجي ڪوڊ جي ضرورت آهي مون کي ناقابل اعتماد جذبات سان ڀريو. هن ضروري تبديليون ڪيون ۽ ڪوڊ تيار ڪيو. مون هڪ ڪوڊ جو جائزو ورتو، اهو آهي، مون تبديلين کي ڏٺو، اتي تبصرا هئا جيڪي تبديل ڪيا ويا ۽ تبديليون اڳ ۾ ئي لائبريري ۾ هيون. مون انهن تبديلين کي نسخو v2.0 جي طور تي نامزد ڪيو. ايندڙ قدم ۾ لائبريري شامل ڪرڻ هو Maven Central - هڪ مرڪزي مخزن، جتان توهان ان کي ڪنهن به منصوبي لاءِ ڊائون لوڊ ڪري سگهو ٿا ۽ ان کي انحصار طور استعمال ڪري سگهو ٿا. ان وقت، مون کي ڪا به خبر نه هئي ته اهو ڪيئن ڪريان، جيتوڻيڪ پري کان، تنهن ڪري مون چيو ته مان مصروف آهيان ۽ هن کي چيو ته اهي سڀئي مرحلا انجام ڏيو جيڪي پروجيڪٽ کي ترتيب ڏيڻ لاء ضروري هئا. پر اهو نڪتو ته اهو ڪافي نه هو ۽ سڀ کان وڌيڪ دلچسپ ڳالهه اها هئي ته ماون سينٽرل سان رابطو قائم ڪرڻ. هي هڪ جهنگلي درد آهي، جيڪو آئون پهريون ڀيرو نه ڪري سگهيو آهيان، ۽ اهو صرف 15 اپريل تي هو ته مان ماون سينٽرل تي پروجيڪٽ شايع ڪرڻ جي قابل ٿيس. اهو آسان نه هو، پر جيئن ٻيا چون ٿا، "هرڪو جيڪو پنهنجي جاوا ڪوڊ کي شايع ڪرڻ چاهي ٿو، اهو هن ذريعي وڃي ٿو." لائبريري شايع ڪرڻ کان اڳ، آخرڪار مون کي معلوم ٿيو ته ڇا ۽ ڪيئن ڪجي انهن خرابين سان جيڪي ڪافي عرصي کان هلي رهيا هئا ۽ هڪ نئون نسخو v2.0.2 جاري ڪيو ، جنهن ۾ مون انهن سڀني جو شڪريو ادا ڪيو جن منهنجي مدد ڪئي، بيان ڪيو ته مون ڇا ۽ ڪيئن ڪيو. .

Maven سينٽر تي شايع ڪرڻ. بهار 2019

لائبريري کي صحيح طور تي شايع ڪرڻ لاءِ، توهان کي ورزننگ جي سٺي ڄاڻ هجڻ گهرجي ۽ نسخن کي صحيح طريقي سان ڪيئن ترتيب ڏيڻو پوندو. مان هن اسڪيم تي قائم رهندس:
  • XX.YY.BBBB ، جتي XX ھڪڙو وڏو نسخو اپڊيٽ آھي جيڪو تبديلين کي داخل ڪري ٿو جيڪي اڳئين ھڪڙي سان ناانصافي آھن (مثال طور، طريقن ۾ واپسي جا نتيجا تبديل ڪرڻ)؛
  • YY هڪ معمولي تازه ڪاري آهي - هڪ اندروني تبديلي يا توسيع جيڪا تبديل نٿو ڪري ته BBBB ڇا آهي - اهي خرابيون آهن جيڪي مقرر ڪيون ويون آهن.
  • مثال طور، ورجن 2.0.2 جو مطلب آهي ته وڏو نسخو 2 آهي، ڪو به معمولي اپڊيٽ نه هو، ۽ خرابين لاءِ ٻه تازه ڪاريون آهن.
اڳيون، اهو معلوم ڪرڻ ضروري هو ته ڪيئن صحيح طريقي سان گروپ آءِ ڊي ۽ آرٽيفيڪٽ آئي ڊي سيٽ ڪجي . انهن کي هڪ ڀيرو چونڊيو وڃي ۽ وڌيڪ استعمال ڪيو وڃي. ۽ اهي ٺاهيندا آهن پيڪيج جنهن ۾ ڪوڊ محفوظ ٿيل آهي. هو: ua.comparison.image هاڻي: com.github.romankh3.image.comparison ۽ اهو واضح طور تي بهتر آهي، ڇاڪاڻ ته هرڪو ڄاڻي ٿو ته اهو GitHub جو هڪ پروجيڪٽ آهي ۽ ڪنهن شخص کان ملي سگهي ٿو جيڪو عرفان romankh3 آهي. جڏهن مون اهو سڀ ڪجهه ڪيو، مون هڪ نئون نسخو جاري ڪيو v2.1.0 .

سويڊن سان رابطي. مئي 2019

لائبريري شايع ڪرڻ کان پوءِ، هڪ ٻئي سويڊن (Mika Kytöläinen) مون کي اي ميل ڪئي ۽ پنهنجي دوست کي منهنجي لائبريري ۾ تبديليون ڪرڻ لاءِ چيو. هن جو چوڻ آهي ته هن کي واقعي هن جي ضرورت آهي ۽ هو تمام گهڻو خوش ٿيندو جيڪڏهن اسان اهو ڪريون ۽ جلدي ڪريون. يقينن، مان انهن تبديلين جي خلاف نه هوس جيڪي گهربل هئا. هن تجويز ڪيو ته هڪ لڪير جي ٿلهي جي جوڙجڪ کي شامل ڪيو وڃي جيڪو هڪ مستطيل ٺاهي ٿو. پسند ڪريو، انهن لاءِ جن جي نظر خراب آهي، اها هڪ مفيد تبديلي هوندي. ڪوڊ تيار ڪيو . ڪجھ وڌيڪ تبديليون شامل ڪرڻ سان، مون ورزن 2.2.0 جاري ڪيو

هڪ جرمن سان رابطي. مئي 2019

ان کان پوء، هڪ جرمن هڪ مسئلو پيدا ڪيو جنهن ۾ هن چيو ته هو ان کي جانچ لاء استعمال ڪرڻ چاهي ٿو، پر ان ۾ ڪارڪردگي نه آهي. هن ڪيتريون ئي تجويزون ڏنيون جيڪي ڏاڍيون دلچسپ هيون، هن تجويز ڏني ته مقابلي جي نتيجي ۾ صرف نتيجن واري تصوير کي موٽڻ بدران، ڊيٽا جو هڪ سيٽ واپس ڏيو: ڇا جو مقابلو ڪيو ويو، نتيجو (جيڪڏهن ضروري هجي) ۽ رياست جنهن ۾. هوندو MATCH، MISMATCH، SIZE_MISMATCH. جيتوڻيڪ تبديليون ڪيون. پر انهن اڳئين ڪوڊ کي بلڪل به نه ورتو ۽ جلدي ٺاهيا ويا. مون انھن کي رد ڪيو ۽ انھن کي کڻڻ جي آڇ ڪئي جيئن مون مناسب ڏٺو. ان جي باوجود، هن وڌيڪ جواب ڏنو ۽ مون فيصلو ڪيو ته مان اهو پاڻ ڪندس ۽ هڪ نئون نسخو جاري ڪندس. ساڳئي وقت، Mika Kytöläinen هڪ ٻيو دلچسپ ڪارڪردگي پيش ڪيو - علائقن کي شامل ڪرڻ جيڪي مقابلي ۾ شامل نه ڪيا ويندا. هي هڪ حقيقي ڪيس آهي. ۽ اهو سڀ ڪجهه v3.0.0 ۾ جاري ڪيو ويو

هڪ حقيقي منصوبي ۾ استعمال ڪريو

مئي جي آخر ۾، Kyiv مان هڪ آٽوميشن ٽيسٽر مون ڏانهن لکيو، جيڪو لائبريري ۾ دلچسپي رکي ٿو ۽ ان کي حقيقي منصوبي ۾ استعمال ڪرڻ چاهي ٿو جيڪو پئسا آڻيندو. اها هڪ ڪاميابي هئي! ان کي ڪٿي استعمال ڪرڻ هڪ پالتو پراجيڪٽ ۾ هڪ شيء آهي، پر هڪ حقيقي منصوبي ۾ استعمال ڪرڻ هڪ مڪمل طور تي مختلف معاملو آهي. اسان بحث ڪيو ته ڇا ۽ ڪيئن ڪم ڪري ٿو. ايپليڪيشن ڏاڍي دلچسپ آهي: انهن جي ايپليڪيشن ۾ اهي چيڪ آهن جيڪي ڇپيل آهن ۽ اهو چيڪ ڪرڻ ضروري آهي ته چيڪ هڪ خاص ٽيمپليٽ جي مطابق ٺاهيل آهن ۽ اهو تبديل نٿو ڪري. پر اتي هڪ مسئلو هو ته سيڪشن جهڙوڪ تاريخ ۽ وقت هميشه تبديل ٿي ويا ۽ انهن کي نظرانداز ڪيو ويو. اسان ڪجھه علائقن کي نظرانداز ڪرڻ لاءِ اڳ ۾ ئي ڪارڪردگي شامل ڪئي هئي، پر اهو اڃا تائين حقيقي استعمال لاءِ بلڪل خام ثابت ٿيو ۽ اسان اڃا تائين ان تي ڪيترن ئي هفتن تائين گڏجي ڪم ڪيو. نتيجو نسخو 3.1.1 جو رليز ٿيو

جڳھ ڳولڻ

ان کان پوء، مون محسوس ڪيو ته منهنجي لائبريري لاء حقيقي جڳهه ان کي تجربن ۾ استعمال ڪندي هئي. ائين ڪرڻ لاءِ، مون فيصلو ڪيو ته ٽيسٽ ڪندڙن لاءِ ڪنهن قسم جو فورم ڳوليان ۽ انهن کي ان بابت لکان ته جيئن ڪجهه راءِ حاصل ڪري ۽ شهرت وڌائي. مون کي روسي ٻوليءَ جو هڪ فورم مليو ۽ اتي هڪ مضمون شايع ڪيو: آرگنائيزيشن آف ٽيسٽنگ تصويرن - ٻن ملندڙن جو مقابلو . ان ۾ مون کي ڪوڊ ۽ ڪارڪردگي تي حقيقي موٽ ملي، جنهن کي مون لاڳو ڪيو ۽ هڪ نئون نسخو جاري ڪيو v3.2.0 ، ۽ پوءِ v.3.3.0 .

هاڻي

لائبريري هن وقت Github تي 60 ستارا آهن ۽ 33 فورڪس آهن. مان سمجهان ٿو ته اهو تمام سٺو آهي، انهي ڳالهه تي غور ڪندي ته مون ان کي ڪنهن به طريقي سان فروغ نه ڏنو آهي سواءِ فورم تي هڪ مضمون جي automators لاءِ. هر ڪنهن جي مهرباني جنهن آخر تائين پڙهيو. اهو اصل ۾ مون کان توقع کان گهڻو ڊگهو مضمون نڪتو. هڪ مضمون ڪيئن شايع ڪجي لائبريري کي ماون سينٽرل ڏانهن. جيڪڏهن توهان وٽ شامل ڪرڻ لاء ڪجهه آهي، لکو! جيڪڏهن توهان وٽ لائبريري کي بهتر ڪرڻ لاءِ ڪجهه آهي ته لکو! مان سڀ ڪجهه پڙهندس ۽ ان لاءِ مناسب وقت وقف ڪندس. ڪو به ماڻهو جيڪو مضمون پسند ڪيو ۽ ان کي مفيد مليو - ان جي شرح ڪريو ۽ تبصرن ۾ لکو. پڻ، رڪنيت حاصل ڪريو منهنجي github اڪائونٽ romankh3 منهنجا ٻيا مضمون پڻ ڏسو:
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION