سب کو ہیلو، مستقبل کے سینئر سافٹ ویئر انجینئرز ! پچھلے کچھ مہینوں میں، میں سادہ مضامین لکھ رہا ہوں جو ترقی کے اہم حصوں کو بیان کرتے ہیں۔ آج میں آپ کو اپنے خیال کے بارے میں بتاؤں گا! میں آپ کی پہلی نوکری حاصل کرنے میں مدد کرنا چاہتا ہوں۔ اس کے لیے کیا ضرورت ہے؟ ایسا کرنے کے لیے آپ کو تجربہ حاصل کرنے کی ضرورت ہے۔ سمجھیں کہ یہ پروجیکٹ کن چیزوں پر مشتمل ہیں، جن پر انجینئرز کام کرتے ہیں اور انفارمیشن ٹیکنالوجی کی دنیا کو آگے بڑھاتے ہیں۔
یہ کیسے کرنا ہے؟ مجھے کچھ لکھنا ہے۔ لہذا، مواد کی اس سیریز کے ایک حصے کے طور پر، ہم اپنا ٹیلیگرام بوٹ مرحلہ وار لکھیں گے (تفصیلات ذیل میں)۔ اور ایک ہی وقت میں، ہم ٹیکنالوجی کے اسٹیک کو سمجھیں گے جس کی ایک نوسکھئیے جاوا ڈویلپر کو بھی ضرورت ہے۔
ہدف
ایک ایسا پروجیکٹ لکھیں جو ڈیٹا بیس کے ساتھ کام کرنے، کاروباری منطق کو تخلیق کرنے، جس کی ہمیں ضرورت ہے، اور پروجیکٹ کو تعینات کرنے اور اس کی جانچ کرنے کے لیے کام کو ترتیب دے گا۔ ہم کیا لکھنے جا رہے ہیں؟ اگر آپ لکھنے جا رہے ہیں، تو آپ کو واقعی کوئی مفید چیز لکھنے کی ضرورت ہے، تاکہ کام میں دلچسپی پیدا ہو اور کوئی نتیجہ سے فائدہ اٹھا سکے۔ اس ڈیٹا کی بنیاد پر ایک ٹیلی گرام بوٹ لکھا جائے گا جو JavaRush ویب سائٹ کے ساتھ کام کرے گا۔ کیا یہ مفید ہو گا؟ بغیر شک و شبے کے! اس حقیقت کی وجہ سے کہ ٹیلیگرام بوٹس کو لکھنا اتنا مشکل نہیں ہے، آپ تیزی سے کام کرنے والا پروجیکٹ حاصل کر سکتے ہیں جو مفید ہو سکتا ہے۔ترقی کا وقت
مضامین ہفتے میں ایک بار شائع کیے جائیں گے، اس لیے کچھ واضح نہ ہونے کی صورت میں سوالات کو عبور کرنے/دوہرانے/لکھنے کے لیے کافی وقت ہوگا۔ پہلے مضامین نظریاتی بنیاد ہوں گے جسے ہم پروجیکٹ میں استعمال کریں گے۔ اور پھر یہ صرف مشق ہے۔MVP (کم سے کم قابل عمل مصنوعات)
MVP کیا ہے؟ اصطلاح، ہمیشہ کی طرح، ہماری نہیں ہے، لیکن آپ ویکی پر ایک معقول وضاحت تلاش کر سکتے ہیں ۔ ہم نقل کرتے ہیں: MVP ایک ایسی مصنوع ہے جس کے افعال کم سے کم ہیں، لیکن پہلی ضروریات کو پورا کرنے کے لیے کافی ہیں۔ بنیادی کام مصنوعات کی مزید ترقی کے لیے مفروضے بنانے کے لیے رائے حاصل کرنا ہے۔ ہمارے لیے یہ تفصیل بالکل فٹ بیٹھتی ہے۔ تمام فنکشنلٹی کی فوری تفصیل: ٹیلیگرام صارف کی حیثیت سے، میں گروپس میں نئے مضامین کو سبسکرائب کرنے اور نئے شائع ہونے پر اطلاعات موصول کرنا چاہتا ہوں۔ مجھے گروپ کی کامیابی کی کہانی پڑھنا پسند ہے ، یہ مجھے سیکھنا جاری رکھنے اور کچھ نیا سیکھنے کی ترغیب دیتا ہے۔ میں سست ہوں اور ہر بار صفحہ میں جاکر ریفریش نہیں کرنا چاہتا ۔ اس لیے، میں، ایک پروگرامر کے طور پر، اپنی زندگی کو آسان بنانا چاہتا ہوں اور ایک ایسا پروگرام لکھنا چاہتا ہوں جو مجھے ٹیلی گرام پر پیغام بھیجے کہ ایک نیا مضمون شائع ہوا ہے۔ مزید: یہ واحد گروپ نہیں ہے جسے میں ٹریک کرتا ہوں۔ میں کھرکوف سے ہوں، اس لیے میں وہاں شائع ہونے والے مضامین کو پڑھنے میں دلچسپی رکھتا ہوں۔ اس پروڈکٹ کے ڈویلپر کے طور پر، میں اس بات میں بہت دلچسپی رکھوں گا کہ آیا کوئی میرا کام استعمال کر رہا ہے، لہذا ہم منتظمین کے لیے فعالیت شامل کریں گے تاکہ وہ ٹیلیگرام بوٹ کے اعدادوشمار دیکھ سکیں۔ کیا ایسا کرنا ممکن ہے؟ بے شک! کیسے؟ یہ وہی ہے جو میں مضامین کی ایک سیریز میں دکھاؤں گا۔خفیا نام
ہر ٹھنڈے پروجیکٹ کا کوڈ نام ہونا چاہیے۔ ہمارا کوئی استثنیٰ نہیں ہوگا، اس لیے ابھی کے لیے یہ اس طرح ہوگا: JRTB (JavaRush Telegram Bot)۔ اس کے بعد اسے کہا جائے گا۔ہم کن موضوعات کا احاطہ کریں گے؟
ڈیٹا بیس
آپ کو فوری طور پر یہ سمجھنے کی ضرورت ہے کہ آپ درخواست میں اسٹیٹ (ڈیٹا اور معلومات) کو اسٹور نہیں کرسکتے ہیں۔ ڈیٹا کو ڈیٹا بیس میں محفوظ کرنے کی ضرورت ہے۔ چونکہ تربیت میں اس کے بارے میں کوئی معلومات نہیں ہے (جہاں تک مجھے یاد ہے :D)، میں کوشش کروں گا کہ علم میں موجود خلا کو پر کروں جس کی ہمیں ضرورت ہوگی۔ میں کوشش کروں گا کہ ڈیٹا بیس اسکیما کو ہر ممکن حد تک آسان بنایا جائے تاکہ کوئی الجھن نہ ہو۔ اس حصے میں شامل ہوں گے:- MySQL پر مبنی SQL کے ساتھ کام کرنے کا نظریہ۔
- MySQL کے ساتھ کام کرنے کا ایک ٹول MySQL Workbench ہے۔
- ڈیٹا بیس ورژننگ۔ فلائی وے اور مائع بیس۔
- ڈیٹا بیس اسکیما بنانا۔
- ڈیٹا بیس اسکیما ڈرائنگ بنائیں۔
گٹ
اس موضوع پر پہلے ہی مضامین موجود ہیں۔ یقینا، ورژن کنٹرول سسٹم کے بغیر کچھ بھی کام نہیں کرے گا۔ JRTB پر کام شروع کرنے کے لیے، آپ کو گٹ کو سمجھنا ہوگا۔ آپ اسے خود کر سکتے ہیں، یا آپ اس موضوع پر میرے مضامین پڑھ سکتے ہیں: اگر آپ چاہیں تو برانچنگ کی حکمت عملیوں کے بارے میں بھی پڑھ سکتے ہیں، لیکن یہاں یہ اہم نہیں ہے اور اسے چھوڑا جا سکتا ہے۔ماوین
یہاں ہم اسمبلی کے نظام کے بارے میں بات کریں گے، یہ کس لیے ہے، ہم اسے کیسے استعمال کریں گے، کن باتوں پر توجہ دینی چاہیے، اور اچھے اخلاق کے اصول۔ ہم یہاں ورژن بنانے کے بارے میں بھی بات کریں گے، اور ہم اسے کیسے کریں گے۔ڈوکر
اپنی زندگی کو آسان اور آسان بنانے کے لیے، اور تعیناتی کے عمل کو ہر ممکن حد تک آسان بنانے کے لیے، ہم Docker کا استعمال کریں گے۔ ایسا کرنے کے لیے، آئیے اس بارے میں بات کرتے ہیں کہ Docker کیا ہے اور وہاں کون سے مفید کمانڈز ہیں۔ میں ابھی یہ کہنا چاہتا ہوں کہ میں ڈوکر کو صارف کی سطح پر استعمال کرتا ہوں اور ہوسکتا ہے کہ میں کچھ نہیں جانتا ہوں یا کچھ کرنے کے قابل نہیں ہوں)) لہذا اگر کوئی تجویز کرتا ہے کہ ڈوکر کے ساتھ کام کو بہتر/آسان کیسے بنایا جائے، تو مجھے اس سے خوشی ہوگی۔ اس حصے میں شامل ہوں گے:- ڈوکر کا نظریہ اور عمل۔
- ڈاکر کے ذریعے ڈیٹا کا بیک اپ/بحال کرنا۔
- ہمارے پروجیکٹ کو ترتیب دینا تاکہ یہ ڈوکر میں چلے۔
باش اسکرپٹس
کام کو خودکار کرنے کے لیے، بعض اوقات ایک یا دو اسکرپٹ لکھنا مفید ہوتا ہے۔ باش اسکرپٹس وہ اسکرپٹ ہیں جنہیں تمام ڈویلپرز کسی نہ کسی حد تک سمجھتے ہیں، کیونکہ یہ بنیادی طور پر لینکس میں کمانڈ لائن کام ہیں، بس ایک الگ فائل میں محفوظ کی جاتی ہیں۔ایک ایپلیکیشن بنانا
تمام ڈرائیو یہاں ہو جائے گا. سابقہ معلومات کی بنیاد پر، ہم اسپرنگ بوٹ ایپلی کیشن بنائیں گے جس میں ٹیلیگرام بوٹ آبجیکٹ ہوگا۔ ہم یہاں کیا کرنے جا رہے ہیں؟- فعالیت کی مکمل تفصیل بنانا جو وہاں ہونی چاہیے۔
- ٹیلیگرام بوٹ کیا ہے اس کی مختصر تفصیل۔
- اسپرنگ بوٹ ایپلی کیشن بنانا۔
- لومبوک کے ساتھ کام کرنے کی تفصیل۔
- UniRest کے ساتھ کام کرنے کی تفصیل۔
- کمانڈ پیٹرن کا نفاذ + ایڈمنسٹریٹر کمانڈز کے لیے اپنی تشریح بنانے کے ساتھ کام کریں۔
- UniRest کا استعمال کرتے ہوئے JavaRush کے سوالات (جیسے گروپوں کی فہرست، گروپ میں مضامین کی فہرست) کے ساتھ کام کرنے کے لیے ایک کلائنٹ بنانا۔
- ٹیسٹنگ آئیے اپنی فعالیت کا احاطہ کرنے کے لیے تمام ممکنہ ٹیسٹ لکھیں۔
- کوڈ کے معیار کو چیک کرنے اور خود بخود GitHub پر تعمیر کرنے کے لیے ایک نظام ترتیب دینا۔
- ڈیٹا بیس کو ڈیٹا بیس ورژننگ کے ساتھ جوڑنا۔
GO TO FULL VERSION