راڪيٽ کان روبوٽ تائين ۽ پٿون جو ان سان ڪهڙو تعلق آهي. GeekBrains Alumni Story

راڪيٽ کان روبوٽ تائين ۽ پٿون جو ان سان ڪهڙو تعلق آهي. GeekBrains Alumni Story
اڄ اسان شايع ڪري رهيا آهيون ڪهاڻي اندري ووڪوولوف جي آئي ٽي ڏانهن منتقلي. خلا لاءِ سندس ننڍپڻ جو شوق هڪ دفعو کيس MSTU ۾ راڪيٽ سائنس پڙهائڻ جي هدايت ڪئي. سخت حقيقت مون کي خواب جي باري ۾ وساري ڇڏيو، پر هر شيء اڃا به وڌيڪ دلچسپ ٿي ويو. مطالعي C++ ۽ Python مون کي هڪ جيتري دلچسپ ڪم ڪرڻ جي اجازت ڏني: روبوٽ ڪنٽرول سسٽم جي منطق کي پروگرام ڪرڻ.

شروعات

مون کي خوش قسمت هئي ته خلا جي باري ۾ منهنجي سڄي ننڍپڻ کان پريشان ٿي. تنهن ڪري، اسڪول کان پوء، مون کي هڪ منٽ لاء شڪ نه ڪيو جتي مون کي پڙهڻ لاء وڃڻ گهرجي، ۽ مون MSTU ۾ داخل ٿيو. Bauman، راڪيٽ پروپولين انجنيئرنگ ڊپارٽمينٽ ڏانهن. بهرحال، ڪورس جي شاخ پاڻ - پاؤڊر يا خلائي راڪيٽ جي مائع انجڻ - سڀ کان وڌيڪ چونڊڻ جي ضرورت نه هئي: 2001 ۾، هڪ خاص فيڪلٽي ڪميشن اڃا تائين درخواست ڪندڙن جي ٽارگيٽ گروپن کي ورهايو. مون کي بارود جي هڪ ڪپ ۾ پڪڙيو ويو.

ان وقت، "راڪيٽ بوم" صرف منصوبن ۾ موجود هو؛ انجنيئرن کي معمولي تنخواه ملي ٿي ۽ خاص بند ڊيزائن بيوروز ۽ تحقيقاتي ادارن ۾ ڪم ڪيو ويو، عملي طور تي ڪيريئر ۽ پيشه ورانه ترقي لاء ڪو به امڪان نه هو. اڃا تائين، روس ۾ پاؤڊر راکٽ خالص فوجي مصنوعات آهن.

هاڻي هي علائقو طلب ۾ آهي، پر اڳ ۾ ئي منهنجي پڙهائي دوران مون محسوس ڪيو ته راڪيٽ سائنس ۾ ڪنهن به سرگرمي کي پنهنجي شروعات تي تقريبا ناممڪن آهي. حقيقت ۾، هي فوجي خدمت آهي. مثال طور، راڪيٽ انڊسٽري ۾ ڪم ڪندي، مان مڪمل طور تي آزاد طور تي سافٽ ويئر کي ترقي ڪرڻ جو موقعو کان محروم ٿي ويندو، جيتوڻيڪ پاڻ لاء، ڇو ته هن سرگرمي کي سختي سان منظم ڪيو ويو آهي.

سڀئي سافٽ ويئر پروڊڪٽس خاص طور تي خاص آرڊر تي ۽ رازداري ڪميشن (هاڻي FSTEC جي هڪ ڊويزن) جي منظوري سان ٺاهيا ويا آهن. اتي ڊولپر کي رجسٽر ڪرڻ ۽ لائسنس ڪرڻ جي ضرورت آهي لفظي طور تي ڪوڊ جي هر لائن. سڀ سافٽ ويئر شروعاتي طور تي ڪم جي سطح تي ڳجھي آھي. اهو جزوي طور تي وضاحت ڪري ٿو ڇو ته سافٽ ويئر هاڻي استعمال ڪيو ويو راڪيٽ سائنس جي شاگردن کي تربيت ڏيڻ لاءِ جديد ترين 90s ۾.

ان وقت تائين جڏهن مان انسٽيٽيوٽ مان گريجوئيشن ڪئي، مون ميڪانيزم جي نظريي جي ڊپارٽمينٽ ۾ ڪم ڪرڻ جو انتظام ڪيو ۽ C++ ۾ هڪ تعليمي عمل سميوليٽر ٺاهڻ شروع ڪيو، تنهنڪري مون وٽ مقابلي لاءِ هڪ مثال هو ۽ مان نفعو ۽ نقصان جو وزن ڪري سگهان ٿو. چونڊ واضح هئي، ۽ مان آهستي آهستي آئي ٽي ۽ روبوٽڪس ڏانهن وڌڻ شروع ڪيو. اپلائيڊ ميڪنڪس راڪيٽ سائنس کان وڌيڪ مزيدار هو: ڪيترائي حل نه ٿيل مسئلا، هڪ کليل ماحول، ترقي جي صنعت جي کوٽ، تخليقي سافٽ ويئر جي هڪ تڪڙي ضرورت. روبوٽڪس ۾، عام سافٽ ويئر جو هڪ اڻڄاتل فن تعمير آهي ۽ بار بار پيچيده الگورتھم کي لاڳو ڪرڻ جي ضرورت آهي، جنهن ۾ فزي منطق ۽ AI جي شروعات شامل آهن. تنهن ڪري، تجرباتي ڊيٽا جي پروسيسنگ لاء منهنجي پهرين پروگرامن کان پوء، مون تقريبا ڪڏهن به راکٽس ڏانهن نه موٽيو (منهنجي گريجوئيشن منصوبي جي استثنا سان).

نتيجي طور، مون کي صرف چار مهينا پنهنجي خاص ۾ ڪم ڪرڻ جو موقعو مليو هو گريجوئيشن ڪرڻ کان پهريان ماسڪو جي ويجهو هڪ پلانٽ ۾ ايرو اسپيس انڊسٽري لاءِ جامع اڏاوتن لاءِ. پڙهائي مڪمل ڪرڻ کان پوءِ، مون کي نوڪري ڳولڻ جي به ضرورت نه هئي- مان فوري طور تي روبوٽڪس ڊپارٽمينٽ ۾ اپلائيڊ ميڪنڪس سيکارڻ لاءِ آيس.

تدريس کان پروگرامنگ تائين

راڪيٽ کان روبوٽ تائين ۽ پٿون جو ان سان ڪهڙو تعلق آهي. GeekBrains Alumni Story
IFTOMM ورلڊ ڪانگريس ۾ ريسرچ گروپ جي شاگردن جي ميمبرن سان (مان ساڄي پاسي)

مون 10 سالن تائين MSTU ۾ نموني کاتي ۾ ڪم ڪيو، ميکانيزم جي نظريي تي هڪ ڪورس سيکاريو. هن سائنسي ڪم شايع ڪيو (مضمون جي آخر ۾ ڏسو)، تدريجي طور تي ميڪيڪل مان CAD ۽ روبوٽڪس ڏانهن منتقل ڪيو ويو. ۽ آخر ۾ هن تدريس ڇڏڻ جو فيصلو ڪيو. هن فيصلي جي سببن کي واضح طور تي واضع ڪرڻ لاء، مان اهو چوندس ته ڏهن سالن جي مطالعي جي نصاب ۾ مون کي سيکاريو ويو آهي هڪ اعشاري جڳهه تبديل نه ڪيو آهي. جيتوڻيڪ لاڳو ڪيل ميخانيات، اشاعتن طرفان فيصلو ڪندي، تمام گهڻو، ڪاميابيء سان اڳتي وڌو.

ان کان سواء، ڪم وڌيڪ ۽ وڌيڪ بيوروڪريسي ڪم وانگر آهي - رپورٽون، پروگرام، معيار ۽ ڪاغذن جي ٽن. اهڙين حالتن ۾، درس جي خوشي کي هن خوشي جي وصولي تي رپورٽنگ سان تبديل ڪيو ويو، ۽ اهو مشق ماهرن لاء ناپسنديده کان وڌيڪ آهي.

۽ آخرڪار مون روبوٽڪس ڏانهن راغب ڪيو: 2007-2009 ۾، پروفيسر A. Golovin ۽ N. Umnov سان گڏ، اسان پهريون سائنسي ڪم تيار ڪرڻ شروع ڪيو. اتي مون کي اسٽروب فوٽوگرافي مان شيون جا رستا طئي ڪرڻ لاءِ الگورٿم استعمال ڪرڻو پيو. هن موضوع کان اهو هڪ قدم آهي مشين وژن ڏانهن، اوپن سي وي ۽ روبوٽ آپريٽنگ سسٽم (جيتوڻيڪ ان وقت مون اهڙي پيماني بابت سوچيو به نه هو). ان کان پوء، مون آخرڪار تحقيق ۾ لاڳو ڪيل ميڪيڪڪس ۽ روبوٽڪس تي ڌيان ڏنو، ۽ ترقي هڪ معاون سرگرمي بڻجي وئي.

بهرحال، روبوٽڪس ۾ نئين نوڪري ڳولڻ لاء، اهو ضروري هو ته منهنجي پروگرامنگ جي ڄاڻ کي بهتر ۽ اضافي ڪرڻ. آخرڪار، مون ڪڏهن به خاص طور تي آئي ٽي جو اڀياس نه ڪيو، سواءِ هڪ سال جي ڊگهي يونيورسٽي ڪورس (ObjectPascal ۽ Borland VCL in C++)، ۽ ترقيءَ جي نظرياتي پهلوئن لاءِ رياضي تي ڀروسو ڪيو.

پهرين ۾ مون پنهنجي اصلي انسٽيٽيوٽ ۾ مڪمل وقت جي ڪورسز جي اختيارن تي غور ڪيو. سچ، اهو جلدي واضح ٿي ويو ته اهڙي مطالعي کي ڊپارٽمينٽ ۾ ڪم سان گڏ ڪرڻ لڳ ڀڳ ناممڪن هوندو، ڇاڪاڻ ته غير منظم شيڊول ۽ بار بار ڪم پنهنجي پنهنجي شيڊول کان ٻاهر (متبادل، وغيره). تنهن ڪري مون کي آهستي آهستي ادا ڪيل ڪورسز کي پري کان مڪمل ڪرڻ جو خيال آيو. مان پروفيسرن جي سفارش تي GeekBrains آيو آهيان Mail.ru Technopark ٽريننگ سينٽر، جيڪو Baumanka ۾ واقع آهي، ۽ Python پروگرامر ڪورس ۾ داخلا ورتي آهي.

ڪورسن ۾ ڪا به مشڪلات نه هئي، رڳو مسئلو اهو هو ته مون کي مسلسل انهن کي ڊپارٽمينٽ ۾ ڪم، سائنسي ڪم ۽ واقعن سان گڏ ڪرڻو پيو. وقت ايترو تنگ هو جو گهر کان ٻاهر اڪثر سماجي رابطن کي قربان ڪرڻو پيو (خوش قسمتيءَ سان، عارضي طور تي).

هن طريقي سان مون ڪم لوڊ سان مقابلو ڪيو: مون روڊ تي مسئلا حل ڪيا. هي مهارت، ڪيترن ئي ڪاروباري سفرن ذريعي ترقي ڪئي وئي، تمام ڪارائتو ثابت ٿيو، ڇاڪاڻ ته ان کان سواء آئون پنهنجي گهر جي سڀني ڪم کي مڪمل ڪرڻ جي قابل نه هوندو (۽ اهو پڻ مراقبت کي تبديل ڪري ٿو ...). مون پنهنجي ليپ ٽاپ، اسمارٽ فون، ۽ وائرليس اسمارٽ فون ڪيبورڊ استعمال ڪندي وڃڻ تي ڪوڊ ڪرڻ سکيو.

منهنجو ليپ ٽاپ هڪ Dell Latitude 3470 آهي، ۽ ڪو به سمارٽ فون 5.5 انچ يا ان کان وڌيڪ ڊگنل سان Logitech K 810 BT ڪيبورڊ سان ٺاهيندو. عام طور تي، مان سفارش ڪريان ٿو Logitech پروڊڪٽس هر ڪنهن کي؛ اهي ڏاڍا قابل اعتماد آهن ۽ استعمال جي تمام سخت حالتن کي برداشت ڪري سگهن ٿا (۽ اهو ڪڏهن به اشتهار نه آهي).

راڪيٽ کان روبوٽ تائين ۽ پٿون جو ان سان ڪهڙو تعلق آهي. GeekBrains Alumni Story
ڪي بورڊ Logitech K810

پٿون اهڙي ڪم لاءِ تمام سازگار آهي - جيڪڏهن توهان وٽ سٺو ايڊيٽر آهي. ٻيو پروگرامنگ هيڪ: ريموٽ ڪنيڪشن استعمال ڪريو ڊيسڪ ٽاپ يا رن ٽائم ماحول ۾. مون پنهنجي گهر جي ڪمپيوٽر تي Django هلائيندڙ محفوظ ويب سرور استعمال ڪندي ڪيترائي ڪم مڪمل ڪيا. مون ٽرين مان ڪم ڪيو، سافٽ ويئر استعمال ڪندي PyDroid، DroidEdit، Maxima.

پٿون ڇو؟

اهو گهڻو وقت نه هو جڏهن مون PHP کي سسٽم اسڪرپٽنگ ٻولي طور استعمال ڪرڻ جي ڪوشش ڪئي. مون شروعات ۾ پٿون جو مطالعو ڪيو پاڻ تي ۽ ٿورڙو ”پنهنجي لاءِ“. مون سنجيدگيءَ سان مطالعو ڪرڻ جو فيصلو ڪيو جڏهن مون ماڊل سطح تي پٿون ۽ C++ جي وچ ۾ هڪ مؤثر ڪنيڪشن جي وجود جي باري ۾ سکيا - اهو هڪ ئي ٻوليءَ ۾ بهتر ڪيل الگورتھم ۽ ڊيٽا تيار ڪرڻ جي طريقيڪار کي شيئر ڪرڻ دلچسپ لڳي رهيو هو.

سادو مثال: هڪ غير معياري طاقتور ڊرائيو لاءِ ڪنٽرول سسٽم آهي، جيڪو ايمبيڊڊ مشين تي RISC پروسيسر سان، C++ ۾ لاڳو ڪيو ويو آهي. انتظام هڪ خارجي مشين-انحصار API ذريعي ٿئي ٿو، جيڪو سپورٽ ڪري ٿو، مثال طور، نيٽ ورڪ تي سب سسٽم جي وچ ۾ رابطي. هڪ اعلي سطح تي، ڊرائيو آپريشن الورورٿم ڊيبگ نه ڪيو ويو آهي يا مسلسل نه آهي (اهو ضروري آهي ته مختلف الگورتھم لوڊ ڪرڻ لاء ڪم جي عمل جي لحاظ سان).

اهڙي نظام کي حاصل ڪرڻ جو هڪ بهترين طريقو اهو آهي ته مشين لاءِ مخصوص C++ سب سسٽم API استعمال ڪيو وڃي پٿون طبقن جي هڪ سيٽ جي بنياد جي طور تي جيڪو ڪراس پليٽ فارم مترجم تي هلندو آهي. اهڙيء طرح، مٿين سطح جي ڊولپر کي ايمبيڊڊ مشين ۽ ان جي او ايس جي خاصيتن کي حساب ۾ رکڻ جي ضرورت ناهي؛ هو صرف پيٿون طبقن سان ڪم ڪندو جيڪي گهٽ-سطح API جي "ريپرز" طور ڪم ڪن ٿا.

مون کي سي ++ ۽ پٿون بائنڊنگ لڳ ڀڳ شروع کان ئي سکڻي هئي. اهو جلدي واضح ٿي ويو ته هڪ اعلي سطح تي اعتراض تي مبني صلاحيتون گهٽ سطح جي ڀيٽ ۾ تمام گهڻو اهم آهن. انهي جي ڪري، اسان کي مڪمل طور تي API کي ڊزائين ڪرڻ ۽ ان کي لاڳو ڪرڻ جي طريقي کي تبديل ڪرڻو پيو، پٿون سطح تي ڪلاس چونڊيو ۽ C/C++ ۾ عالمي ڊيٽا شيئر ڪيو. ڪوڊ جنريشن لاءِ استعمال ڪريو: مثال طور، ROS فريم ورڪ پاڻ Python ۾ نالا ۽ شيون ٺاهي ٿو، تنهنڪري توهان کي ٻوليءَ جي اختلافن کي ڌيان ۾ رکڻو پوندو، خاص طور تي ٽائپنگ ۾، جڏهن توهان جا انٽرفيس ڊزائين ڪندا.

موجوده ۾ ڪم ڪرڻ: پٿون ۽ روبوٽ ڪنٽرول منطق

هاڻي مان ماسڪو اسٽيٽ ٽيڪنيڪل يونيورسٽي ۾ روبوٽڪس ريسرچ اينڊ ايجوڪيشن سينٽر ۾ پٿون ۽ C++ پروگرامر طور ڪم ڪريان ٿو. اسان تحقيقاتي منصوبن ۽ سافٽ ويئر ٽولز کي لاڳو ڪريون ٿا جيڪي حڪومتي شعبن پاران ڪم ڪيا ويا آهن: اسان ٺاهيل ٽيڪنيڪل ويزن سسٽم ۽ اعلي سطحي خودڪار ڪنٽرول الگورٿمز سان ٺاهيندا آهيون جيڪي سسٽم کان آزاد آهن.

في الحال، آئون Python ۾ روبوٽ ڪنٽرول سسٽم لاءِ اعليٰ سطحي منطق جو پروگرام ڪريان ٿو؛ هي ٻولي C++، assembler، ۽ Go ۾ لکيل انتهائي اصلاحي ماڊيولز کي گڏ ڪري ٿي.

پروگرامنگ روبوٽ ڪنٽرول الگورتھم ۾، الگورتھم جا ٻه وڏا گروپ استعمال ٿيندا آھن. انهن مان پهريون سڌو سنئون سامان تي، گهٽ سطح تي لاڳو ڪيو ويو آهي - اهو ڊرائيو ڪنٽرولرز، ڪميونيڪيشن لائين ڪنسٽرٽرز، ۽ آپريٽر رابطي جي سبسسٽم جو ٺهيل سافٽ ويئر آهي.

هتي الگورتھم ڪنٽرول ٿيل عملدرآمد جي رفتار ۽ ڀروسي لاءِ ٺهيل آهن جيڪي مڪمل طور تي روبوٽ جي ڪارڪردگي کان وڌيڪ آهن. جنهنڪري لازمي آهي، ڇاڪاڻ ته سڄي سسٽم جي سيڪيورٽي تي منحصر آهي گهٽ-سطح ڪنٽرول سافٽ ويئر.

الگورتھم جو ٻيو گروپ مڪمل طور تي روبوٽ جي آپريشن کي طئي ڪري ٿو. اهي اعلي سطحي پروگرام آهن، جن جي ترقي ۾ زور الورورٿم جي عمل جي وضاحت ۽ رفتار تي آهي، اڪثر ڪري ڪافي پيچيده. ان کان علاوه، روبوٽ تي اعلي سطحي سافٽ ويئر اڪثر ڪري سيٽ اپ ۽ جانچ جي عمل دوران تبديلي جي تابع آهي. اهڙي ترقيءَ لاءِ، عام معنيٰ واريون ٻوليون ناگزير آهن.

اهڙي ڪم لاء ڪهڙي علم جي ضرورت آهي؟

اهو لازمي هوندو ته C++ ٽيمپليٽ جي ٻولي ۽ پٿون جي آبجیکٹ تي مبني صلاحيتن جو مطالعو ڪرڻ. هڪ تقريبن ناقابل بدلي مهارت APIs کي ڊزائين ڪرڻ ۽ دستاويز ڪرڻ جي صلاحيت آهي. اهو هڪ سٺو خيال هوندو ته خاص لائبريرين جي صلاحيتن کي ڳولڻ جهڙوڪ Boost::Python. جيڪي گھٽ-سطح واري سافٽ ويئر سان ڪم ڪن ٿا انھن کي ضرور ملٽي ٿريڊنگ (ڪنيل ليول تي) ۽ لينڪس/UNIX/QNX سسٽم ڪالن سان معاملو ڪرڻو پوندو. روبوٽڪس جي اصولن جي پنهنجي سمجھ کي بهتر بڻائڻ لاءِ، روبوٽ آپريٽنگ سسٽم جي فريم ورڪ سان پاڻ کي واقف ڪرڻ تمام ڪارآمد آهي.

مان ڪوشش ڪريان ٿو ته گهٽ ۾ گهٽ هڪ مرتب ڪيل ۽ هڪ تشريح ڪيل پروگرامنگ ٻولي جيڪا ترقي ڪري رهي آهي ۽ گهربل آهي. انجنيئرنگ ۾ ڪم ڪرڻ لاءِ هي هڪ کٽڻ واري حڪمت عملي آهي، جتي مسلسل ضرورت آهي ته انتهائي خاص (پڙهو: غير معمولي) الگورتھم تيار ڪرڻ ۽ انهن کي مرتب ڪندڙ ٻولين ۾ لاڳو ڪرڻ. اهڙي سافٽ ويئر لاء ڊيٽا تيار ڪرڻ جو ڪم گهڻو وڌيڪ وڻندڙ ​​​​آهي ته جيئن تشريح ٿيل ٻولين کي استعمال ڪندي حل ڪيو وڃي. شروعات ۾، منهنجي سيٽ ۾ C++، Pascal ۽ BASIC شامل هئا، بعد ۾ PHP ۽ BASH شامل ڪيا ويا.

ڪيئن ترقي جا اوزار شاگردن کي تدريس ۾ ڪارائتو ٿي سگهي ٿو

پروفيشنل ڊولپمينٽ جو بنيادي منصوبو هاڻي تدريسي طريقن کي ترقي ۽ جانچڻ لاءِ پيشه ورانه سافٽ ويئر ڊولپمينٽ اوزار جي استعمال لاءِ سائنسي بنياد فراهم ڪرڻ جي ڪوشش ڪرڻ آهي.

2016 کان وٺي، مون ڊولپمينٽ ٽولز - پروگرامنگ ٻوليون، IDEs، ڊاڪيومينٽيشن جنريٽر، ورجن ڪنٽرول سسٽم - کي اعليٰ تعليم ۾ درس تدريس ۾ متعارف ڪرائڻ لاءِ وڏو تجربو شروع ڪيو. اسان ھاڻي ڪامياب ٿي ويا آھيون نتيجا حاصل ڪرڻ ۾ جن کي معياري طور تي عام ڪري سگھجي ٿو.

مثال طور، تعليمي عمل ۾ مواد جي ورجننگ جو تعارف خاص طور تي شاگردن جي ڪم جي معيار کي بهتر بڻائي ٿو، جڏهن ته، صرف هڪ لازمي شرط تحت: شاگرد گڏيل منصوبن تي گڏجي ڪم ڪري رهيا آهن. پروفيشنل سافٽ ويئر ڊولپمينٽ ٽولز استعمال ڪندي ٽيڪنيڪل مضمونن کي سيکارڻ جي طريقن جي ترقي هاڻي منهنجي تحقيقي گروپ پاران فعال طور تي ڪئي پئي وڃي، جنهن ۾ شاگردن، درخواست ڏيندڙن ۽ MSTU ۾ اضافي تعليمي پروگرامن جا شاگرد شامل آهن.

رستي ۾، مون پنهنجي تدريس واري مشق کي نه ڇڏيو - مون MSTU ۾ انسٽيٽيوٽ آف ايڊوانسڊ اسٽڊيز لاءِ لينڪس جي ڊيزائن ۽ انتظاميه تي پنهنجو پاڻ ۾ مڪمل وقتي ڪورس تيار ڪيو، ۽ مان پاڻ ان کي سيکاريندو آهيان.

سائنسي ڪم

شروعاتي ڪم
گيٽ پلاننگ جا مسئلا جڏهن چار ٽنگن واري هلڻ واري نظام کي ڊزائين ڪرڻ جو مثال استعمال ڪندي گهوڙي جي چال تي عمل درآمد (2010/XNUMX/XNUMX)

گهوڙي جي اڳين ٽنگ جي حمايتي عنصر جي ڪنيميٽيڪس ۽ لوڊ ڪرڻ جي مسئلي تي چار پيرن واري موور جي ڪم ڪندڙ چڪر جي اجزاء جي طور تي سپورٽ جي ويجهو اچڻ جي مرحلي ۾ (2012/XNUMX/XNUMX)

آخري کان
3D گيئر ٺاھڻ جي تخليق جي ايپليڪيشن تدريس جي ميڪانيزم ۽ مشين جي نظريي لاء (2019/XNUMX/XNUMX)

ساخت جي رڪاوٽن کي سڃاڻڻ جو طريقو ۽ امدادي شيون ڳولڻ ۾ ان جي درخواست (2018/XNUMX/XNUMX)

سائنسي حوالن جي ڊيٽابيس پاران ترتيب ڏنل ٻيا ڪم منهنجي پروفائل تي ڏسي سگهجن ٿا ڏسجي وئي. اڪثر مضمون مشينن جي حرڪت لاءِ وقف ٿيل آهن، اتي انجنيئرنگ جي تدريسي ۽ تعليمي سافٽ ويئر تي ڪم آهن.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو