JavaRush /جاوا بلاگ /Random-UR /مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔ انٹرپرائز - حصہ 1...
Diana
سطح

مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔ انٹرپرائز - حصہ 1

گروپ میں شائع ہوا۔
"ان تکنیکی کامیابیوں پر زیادہ فخر نہ کریں جو آپ نے بنائی ہیں۔ کسی سیارے کو تباہ کرنے کی صلاحیت فورس کی طاقت کے مقابلے میں کچھ بھی نہیں ہے۔" - ڈیتھ اسٹار پر ڈارتھ وڈر۔ مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔  انٹرپرائز - حصہ 1 - 1

تعارف

شاید، مضامین کی سیریز کے اگلے دو حصے بہت سے لوگوں کے لیے سب سے زیادہ متوقع ہیں، اور اچھی وجہ سے۔ وہاں کیا ہے، افق سے پرے، خالص جاوا سے پرے؟ جاوا ڈویلپر ہر پروجیکٹ میں کیا سانس لیتے ہیں؟ اسے کسی بھی اوسط بیک اینڈ انجینئر کے لیے ایک حقیقی، مکمل خود مطالعہ گائیڈ پر غور کریں جس کی بنیادی پروگرامنگ زبان جاوا ہے۔ میں ہسپتال کی اوسط کو زیادہ سے زیادہ کور کرنے کا ارادہ رکھتا ہوں اور نہ صرف سب سے زیادہ مقبول فریم ورک، بلکہ ان حلوں کو بھی بیان کروں گا جو اس وقت متعلقہ سمجھے جاتے ہیں۔ قدرتی طور پر، بہت سارے اوزار ہیں، اور تفہیم جو سب سے اہم ہیں اور سب سے بہتر ہے کہیں نہ جانے کا راستہ۔ آپ میں سے ہر ایک نے DOU پر "ملازمتیں" سیکشن کو دیکھا اور انہیں ٹیکنالوجیز کا ایک ڈھیر ملا جو مسلسل خالی جگہ سے خالی جگہ تک دہرائی جاتی ہے۔ میں سمجھتا ہوں کہ ہر چیز کو بیان کرنا ناممکن ہے، لیکن ایک عام فریم ورک کے ساتھ آنا ٹھیک ہے، تو آئیے اس سمت پر عمل کرنے کی کوشش کریں۔ کسی نہ کسی طرح ماضی میں، منصوبوں میں سے ایک پر، ایک دلچسپ شرمندگی واقع ہوئی، جو میرے خیال میں کسی نہ کسی علاقے میں بہت سے لوگوں کے لیے وقتاً فوقتاً تھی اور دہرائی جاتی ہے۔ کام صرف انفرادی اداروں کی حیثیت کو ظاہر کرنے کے لئے مکمل فعالیت کے ساتھ ایک HTML صفحہ کے رینڈر کو منسلک کرنے کے لئے مقرر کیا گیا تھا۔ نتیجے کے طور پر، میرے ساتھی نے اسپرنگ thymeleaf کو منسلک کرنے کا فیصلہ کیا، جس نے اسپرنگ کے بنیادی انحصار کا ایک حصہ کھینچ لیا، جب کوئی بھی اسپرنگ کا استعمال نہیں کرتا تھا۔ اور یہ سب ایک باقاعدہ صفحہ کے لیے ہے، جو صرف 2-3 اداروں کی حیثیت کو ظاہر کرتا ہے۔ "میں نے دو لائٹ سیبرز استعمال کرنے میں کبھی زیادہ فائدہ نہیں دیکھا... یہ میری رائے میں ایک شو آف ہے" - اوبی-وان کینوبی۔ ایک طرف، ڈویلپر نے اس مسئلے کو جلد از جلد حل کیا، ایک فریم ورک انسٹال کیا جس کے ساتھ اسے استعمال کرنے کا تجربہ تھا اور اسے چند گھنٹوں میں پروجیکٹ میں ضم کر دیا۔ لیکن دوسری طرف، ہمارے پروگرام کے سائز میں اضافہ ہوا ہے، لہذا آسان سوال بن جاتا ہے: کیا اس نے صحیح کام کیا؟ اس طرح کے جوہری کاموں کے لیے، جب آپ کو یقین سے معلوم ہو کہ یہ thymeleaf/Spring MVC وغیرہ بڑا ہے۔ اسے کہیں استعمال نہیں کیا جائے گا، بہتر ہے کہ اسے بالکل استعمال نہ کیا جائے۔ میں ہمیشہ ایسے جملے سے حیران ہوتا ہوں جیسے "اوہ! ہاں، ہم نے یہاں ہائبرنیٹ کا استعمال کیا! دیکھو، سب کچھ ٹھنڈا ہے، ORM!"، اور جب ان سے یہ منطقی سوال پوچھا گیا کہ کیا یہاں باقاعدہ JDBC کے ساتھ جانا ممکن ہے، تو انہوں نے کندھے اچکائے۔ عام فن تعمیر ہے، جو سادہ ہونا چاہیے، جس کے ساتھ گھبراہٹ کے ساتھ سلوک کیا جانا چاہیے، فیشن اور انتہائی جدید فریم ورک کے ساتھ بے ترتیبی نہیں۔ جیسا کہ اوبی وان نے اوپر کہا، یہ دکھاوے کے سوا کچھ نہیں ہے، حالانکہ یہ جاننا ضروری ہے کہ انہیں کیسے استعمال کیا جائے۔ نوجوان جاواسٹ، میری رائے میں، سب سے زیادہ بدقسمت ہے - بہت ساری وضاحتیں، بہت ساری لائبریریاں جن کا مطالعہ کرنے کی ضرورت ہے۔ جاوا EE کے پاس ہی چھت کے ذریعے دستاویزات ہیں۔ سوال یہ پیدا ہوتا ہے کہ ایک مبتدی کو کیا کرنا چاہیے، اسے آگے کیا سیکھنا چاہیے، ہورسٹ مین کے بعد اسے کیا کرنا چاہیے؟ سادہ جواب: بدقسمتی سے، بہت سے لوگوں سے ملتے ہیں۔ اور ہم کاروباری فریم ورک کے ساتھ نہیں بلکہ مزید ضروری چیزوں کے ساتھ شروع کریں گے۔

آپریٹنگ سسٹمز

لینکس

ونڈوز اور/یا آرام دہ Yosemite کے علاوہ، آپ کو مسکراہٹ کے ساتھ لینکس کی طرف ہاتھ پھیلانے کی ضرورت ہے۔ کچھ پروجیکٹس کے لیے، یہ ایک صارف ہونا کافی ہے اور یہ جاننا کہ کمانڈ لائن کو کس طرح استعمال کرنا ہے، دوسروں کے لیے - بہت کچھ۔ کون سا طریقہ بہترین ہے؟ انٹرنیٹ پر صرف ٹن کتابیں/ٹیوٹوریل موجود ہیں۔ Ubuntu یا اپنی پسند کی کوئی دوسری تقسیم انسٹال کرکے شروع کریں اور اسے اگلے ایک یا دو مہینوں تک اپنے مرکزی آپریٹنگ سسٹم کے طور پر استعمال کرنے کی کوشش کریں۔ یہ بہت بہتر ہو گا اگر آپ ٹرمینل کا استعمال کرتے ہوئے فائلوں کو مرتب اور جوڑ توڑ کے ذریعے لینکس کے اندر جاوا سیکھنا شروع کر دیں۔ مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔  انٹرپرائز - حصہ 1 - 2لینکس کمانڈ لائن بذریعہ ولیم شاٹس ۔ اس کتاب کو "50 شیڈز آف گرے" ناول کے طور پر نہیں، بلکہ ایک مکمل انٹرایکٹو کورس کے طور پر پڑھیں - ایک ٹرمینل کھولیں اور مصنف کے بعد دہرائیں۔ کیا آپ بنیادی باتیں چاہتے ہیں اور لینکس کیسے کام کرتا ہے؟ آئیے کمپیوٹر سائنس اور آپریٹنگ سسٹمز کا کورس نہیں لیتے ہیں - یہ اگلے حصے میں ہے۔ edx.org پر جائیں اور لینکس کورس کا آسان تعارف آزمائیں ۔ مندرجہ بالا سیریز کی ایک کتاب بھی ہے کہ لینکس کیسے کام کرتا ہے: برائن وارڈ کے ذریعہ ہر سپر یوزر کو کیا معلوم ہونا چاہئے ۔ ایک کافی واضح اشاعت جو نیٹ ورکنگ، آلات اور وسائل کے انتظام پر توجہ دیتی ہے۔ مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔  انٹرپرائز - حصہ 1 - 3آگے بڑھو؟ ایک بہترین کتاب ہے، جو، ویسے، میرے پاس یہیں کہیں ہے... ہاں (دھول جھاڑتی ہے)... یہ یہاں ہے! یونکس اور لینکس: سسٹم ایڈمنسٹریٹر گائیڈ۔ ایوی نیمتھ۔ مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔  انٹرپرائز - حصہ 1 - 4کافی بڑا دستی، اچھی طرح سے ترجمہ کیا گیا ہے۔ سچ پوچھیں تو، میں ذاتی طور پر اس میں مہارت نہیں رکھتا تھا، لیکن مجھے انتظامیہ کی بنیادی باتیں (پہلا حصہ) بہت پسند تھیں۔ قدرتی طور پر، آپ شیل اسکرپٹنگ کو نظر انداز نہیں کر سکتے۔ یہ سب کچھ عملی طور پر آزمانا بہتر ہے، لیکن کتابوں سے آپ Learning the bash Shell: Unix Shell programming by Cameron Newham کو دیکھ سکتے ہیں۔ مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔  انٹرپرائز - حصہ 1 - 5لینکس/یونکس پر ادب کی اتنی بڑی مقدار کا مکمل احاطہ نہیں کیا جا سکتا، خاص طور پر اس مضمون میں، جہاں لینکس پس منظر میں ہے۔ کام پر میرے ساتھی، جس نے اس معاملے میں کتے کو کھایا، نے ایک عملی چیز کا مشورہ دیا: ArchLinux ڈاؤن لوڈ کریں اور اسے چلانے کی کوشش کریں۔ اس عمل میں آپ سب سے زیادہ سیکھیں گے جو میں نہیں چاہتا!

ونڈوز

پروگرامرز کے ریزیوم میں ایک کالم ہے: "ونڈوز کا تجربہ 10 سال سے زیادہ ہے۔" بلاشبہ، میں آپ کو اس حقیقت پر مبارکباد پیش کرتا ہوں کہ آپ ونڈوز پر 10 سال کی عمر کے بعد سے کاؤنٹر کھیل رہے ہیں، لیکن میں آپ سے کہتا ہوں کہ انٹرویو کے وقت اپنے آپ کو پہلے سے سوراخ نہ کریں، کیونکہ ایک ایسے پروجیکٹ پر جہاں آپ مل کر کام کر رہے ہیں۔ IIS، بیچ/پاور شیل، خدا نہ کرے، رجسٹری، انٹرویو واقعی مشکل نہیں ہوگا، اور اس کے علاوہ بیٹھے ہوئے شخص کے سامنے مسکراہٹ۔ لدا تمہیں ذلت کی خوراک بھی ملے گی۔ کیا آپ کو اس کی ضرورت ہے؟ جواب خود تجویز کرتا ہے۔ اپنے پائریٹڈ ونڈوز کو ٹورینٹ سے الگ رکھیں اور اسے کسی قسم کی ونڈوز سرور ورچوئل مشین پر انسٹال کرنے کی کوشش کریں۔ اس کا مطالعہ نہ صرف صارف کی طرف سے اور JAVA_HOME انسٹالیشن سے کریں۔ اس سلسلے میں، مارک میناسی کی کتاب Mastering Windows Server 2012 R2 کی شکل میں ایک تقریباً مکمل گائیڈ موجود ہے ۔ مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔  انٹرپرائز - حصہ 1 - 6مثال کے طور پر، اگر آپ PowerShell استعمال کرتے ہیں، تو بہترین کتاب دیکھیں Windows PowerShell in Action by Manning by Bruce Payette ۔ میں سمجھتا ہوں کہ 1000 صفحات سے گزرنا ناممکن ہے، لیکن کم از کم آپ اسے بطور حوالہ اپنے پاس رکھ سکتے ہیں۔ میرے خیال میں کسی اور چیز کی ضرورت نہیں ہے۔ مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔  انٹرپرائز - حصہ 1 - 7نتیجے کے طور پر، ونڈوز کے استعمال کے بارے میں اپنے علم میں موجود خلا پر توجہ دیں اور انٹرنیٹ پر وہ معلومات تلاش کریں جس میں آپ کی دلچسپی ہے۔

ٹولز بنائیں

ماوین

Maven میں سمجھنے کے لئے سب سے اہم چیز کیا ہے؟ یہاں پہلے اقدامات اور کام ہیں:
  1. جانیں کہ Maven ہر مرحلے میں کیا کرتا ہے، آپ اسے حفظ بھی کر سکتے ہیں۔ یہ تقریباً 80% کامیابی ہے اور آپ کو ایک واضح تصویر دے گی۔
  2. واضح انحصار کے انتظام کے ساتھ ملٹی ماڈیول سسٹم کے ساتھ مقامی طور پر اپنے سینڈ باکس پروجیکٹس بنائیں۔ تھرڈ پارٹی لائبریریوں کو منسلک کرنے کی کوشش کریں، ان کا استعمال کرتے ہوئے کچھ بنانے کی کوشش کریں۔
  3. پروفائل کے ساتھ کھیلو
  4. پلگ ان کے انتظام کو سمجھیں اور آفیشل ویب سائٹ پر مقبول ترین پلگ انز کی فہرست کا مطالعہ کریں۔
  5. دریافت کریں کہ آپ اپنے پروجیکٹ میں میون کو کس طرح بہترین طریقے سے استعمال کرسکتے ہیں۔ مثال کے طور پر، متوازی تعمیرات تعمیر کے وقت کو نمایاں طور پر کم کر سکتی ہیں۔
فوری غوطہ لگانے کے لیے، اپاچی ماون ویب سائٹ کے روسی ورژن پر جائیں ، گوگل پر کچھ ٹیوٹوریلز تلاش کریں۔ پھر بھی، Maven پر ایک اہم کتاب کا تیسرا ایڈیشن جاری نہیں کیا جائے گا۔ اب تک یہ Sonatype's Maven: The Definitive Guide کا دوسرا ایڈیشن ہے ۔ مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔  انٹرپرائز - حصہ 1 - 8اعلی درجے کے لیے، اپنا پلگ ان بنانا مناسب ہے۔ اس بارے میں فکر نہ کریں کہ آپ کو کس قسم کا پلگ ان بنانے کی ضرورت ہے، کیونکہ بہت سے پہلے سے موجود ہیں! کسی قسم کا اینالاگ بنانے کی کوشش کریں، دو اور دو کے طور پر مراحل کا مطالعہ کریں۔

اے این ٹی

یہ ٹول بہت آسان لگتا ہے، اس لیے یہاں سیکھنے کے لیے بہت کچھ نہیں ہے۔ ابھی بھی ایسے منصوبے ہیں جہاں ANT واحد تعمیراتی ٹول ہے۔ یہ بالکل عام بات ہے: ANT نے خود کو چھوٹے ایٹمی کاموں (چیونٹی کے کاموں) کے انتظام کے تناظر میں ایک سادہ اور سیدھا تعمیراتی ٹول ثابت کیا ہے۔ بلاشبہ، یہاں بہت سے پلگ ان ہیں، بالکل Maven کی طرح۔ ANT کے ساتھ شروع کرنے کے لیے، درج ذیل کام کریں:
  • فائلوں اور فولڈرز میں ہیرا پھیری کرنے کی کوشش کریں۔
  • کاموں کو انجام دینے کے لیے مختلف احکامات نافذ کریں۔ اس کی بنیاد پر، ANT میں انحصار اور کاموں کی ترجیح سیکھیں۔
  • پیک کھولیں اور/یا زپ آرکائیو۔ کاموں میں، آرکائیو وغیرہ کے مواد کے ساتھ کھیلنے کی کوشش کریں۔
اے این ٹی سیکھنے کے لیے وسائل کا ایک گروپ پیش کرنے کی ضرورت نہیں ہے۔ کم و بیش گہری غوطہ خوری کے لیے، آفیشل اپاچی اینٹ کا صفحہ کافی ہے۔ ( ant.apache.org ) اور کتابیں Ant in Action by Steve Loughran . مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔  انٹرپرائز - حصہ 1 - 9

گریڈل

میرے لیے، گریڈل ماون کے مقابلے اے این ٹی کے زیادہ قریب ہے، لیکن اسے مکمل طور پر ان دو لڑکوں کا سوتیلا بھائی کہا جا سکتا ہے۔ اس کا لائف سائیکل Maven جیسا ہے، اور اسی کاموں کی لچک ہے جو ANT کے پاس ہے۔ ٹھیک ہے، سب سے اہم بات یہ ہے کہ Gradle XML کا استعمال نہیں کرتا ہے اور مزید یہ کہ اگر آپ Groovy سے کم و بیش واقف ہیں تو آپ اس کے ساتھ جو چاہیں کر سکتے ہیں۔ عام طور پر، ایک بہت سوادج چیز. اپنے IDE کے تناظر میں Ant/Maven/Gradle استعمال کرنے سے نہ گھبرائیں۔ یہ ٹولز Eclipse/IDEA میں مضبوطی سے مربوط ہیں، اور IDE کے تناظر میں ان ٹولز کا استعمال کافی آرام دہ ہے۔

مسلسل انضمام

نظریہ

یہ فرشتہ پروگرام ہیں جو آپ کو برطرف ہونے سے بچاتے ہیں۔ مختصراً، یہ وہ سافٹ ویئر ہے جو کوڈ میں ہونے والی تبدیلیوں پر نظر رکھتا ہے، آپ کے لیے لکھے گئے ٹیسٹ بناتا اور چلاتا ہے۔ اگر ہر کمٹ/مرج کے بعد سب کچھ ٹھیک ہے، تو بلڈ ایک خوشگوار سبز/نیلی روشنی سے چمکتی ہے۔ جیسے ہی آپ کسی چیز کو توڑتے ہیں، سی آئی سسٹم فوری طور پر اس کی اطلاع دے گا۔ تاہم، ایک چھوٹا سا نظریہ - یہ کلاسک ہے! مسلسل انضمام: سافٹ ویئر کے معیار کو بہتر بنانا اور رسک کو کم کرنا بذریعہ پال ڈووال ۔ (روسی میں "مسلسل انضمام") مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔  انٹرپرائز - حصہ 1 - 10یہ کتاب یہاں تک کہ آپ کا اپنا CI نظام بنانے پر بھی بحث کرتی ہے۔ آئیے اس علاقے میں دو سب سے مشہور حل دیکھیں۔

جینکنز

جینکنز، عرف ہڈسن۔ کھلی، دوستانہ، استعمال میں آسان ایپلیکیشن۔ جینکنز سے مزید واقف ہونے کے لیے، درج ذیل کو آزمائیں:
  1. اسے اپنے کمپیوٹر پر ڈاؤن لوڈ کریں۔ JDK، Maven، ANT اور ہر وہ چیز جو آپ کو پروجیکٹ کے لیے درکار ہے انسٹال اور کنفیگر کریں۔
  2. پہلی جاب بنائیں اور اپنے پراجیکٹ کے مقام کی وضاحت کریں، مثال کے طور پر مین pom.xml۔ اسے چلائیں، یقینی بنائیں کہ آپ کے پاس کسی قسم کا ٹیسٹ ہے تاکہ یہ واضح طور پر نظر آئے۔
  3. اپنے پروجیکٹ کو مختلف ترتیبات اور اختیارات کے ساتھ چلانا سیکھیں۔
  4. مختلف پلگ ان منسلک کریں اور دیکھیں کہ وہ آپ کے پروجیکٹ کے ساتھ مل کر کیسے کام کرتے ہیں۔
  5. مختلف ملازمتوں کے لیے محرکات بنائیں۔ ایک چھوٹی پائپ لائن بنائیں۔
  6. ڈی ایس ایل کو دریافت کریں اور اسے جینکنز کے ساتھ ضم کرنے کی کوشش کریں۔
  7. کسی دوسرے کمپیوٹر سے غلام سیٹ اپ کریں اور/یا اسے چلانے کے لیے ایک باقاعدہ مشین بنائیں۔
  8. رات کی تعمیرات بنائیں۔
کتابوں سے، صرف Jenkins: The Definite Guide by John Ferguson Smart پڑھیں ۔ بہت سارے اسکرین شاٹس کے ساتھ ایک واضح رہنما۔ مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔  انٹرپرائز - حصہ 1 - 11

ٹیم سٹی

جی ہاں، TeamCity مفت نہیں ہے، لیکن دیکھیں کہ یہ مصنوعات کے JetBrains ماحولیاتی نظام میں کتنی اچھی طرح سے مربوط ہے۔ انٹیلیج آئیڈیا اور ٹیم سٹی ایک عظیم اتحاد ہیں۔ مجموعی طور پر، اگر آپ جینکنز سے پہلے ہی واقف ہیں، تو ٹیم سٹی آپ کے لیے ایک تاریک جنگل نہیں ہو گا، اور اس کے برعکس۔ غلام‘ ایجنٹوں کی بجائے وہی محرکات وغیرہ۔ لیکن جینکنز کے برعکس، ٹیم سٹی ایسی حیرت انگیز خصوصیات کا حامل ہے، مثال کے طور پر، ریموٹ رن، جسے پری ٹیسٹڈ کمٹ بھی کہا جاتا ہے، بہت زیادہ بصری اعدادوشمار اور بہت کچھ۔ مجھے یوٹیوب پر یوزر گائیڈ بہت پسند ہے، جسے جیٹ برینز نے خود بنایا ہے ( ٹیم سٹی یوزر گائیڈ (9 کا حصہ 1) - تعارف )۔ میں ٹیم سٹی کو بدیہی اور دستاویزات کو اعلیٰ معیار کی سمجھتا ہوں۔ لیکن اگر آپ کو لگتا ہے کہ کوئی کتاب دیکھنے کے قابل ہے تو براہ کرم اسے تبصروں میں چھوڑ دیں۔ بلاشبہ، میں نے ان CI سسٹمز کا صرف ایک چھوٹا سا حصہ درج کیا ہے، لیکن ہمارے پاس دائرہ کار میں ہر چیز محدود ہے۔ شاید سیکھنے کا بہترین رہنما مشق ہے۔ میں نے اسے اپنے کمپیوٹر پر انسٹال کیا، اسے لانچ کیا، تعمیرات کو کریش/بحال کیا اور بستر پر چلا گیا۔ اور پھر آپ مجھے محفوظ طریقے سے ریکارڈ بک لا سکتے ہیں (اگر آپ چاہیں تو :)۔

ورژن کنٹرول سسٹم

VCS کے بارے میں زیادہ بات کرنے کا کوئی فائدہ نہیں ہے۔ یہ صرف وہی ہے جو ہونا چاہئے، اور جس کے بغیر پراجیکٹ مینجمنٹ Mesozoic دور جیسا ہوگا۔ CI سسٹمز کی طرح، آئیے دو مقبول ترین حلوں کو دیکھتے ہیں: Git اور SVN۔

گٹ

ہمارے گٹ نے خود کو ایک مستحکم تقسیم شدہ ورژن کنٹرول سسٹم ثابت کیا ہے۔ یہاں سے سیکھنا شروع کریں اور Git کے ساتھ پہلے سے تشکیل شدہ تمام ابواب کو دیکھیں۔ اس کے بعد کوڈ سکول سے انٹرایکٹو ٹیوٹوریلز کا ایک شاندار سلسلہ ہے۔ ان کی طرف سے ایک مختصر گائیڈ بھی ہے جسے Try Git: Code School کہتے ہیں ۔ کتابوں سے میں Jon Loeliger کے ذریعے Version Control with Git کی مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔  انٹرپرائز - حصہ 1 - 12 سفارش کر سکتا ہوں اگر آپ کچھوے کے اتنے عادی ہیں (TortoiseSVN، مصنف کا نوٹ) اور کنسول سے ڈرتے ہیں، تو آپ یقیناً اس کا analogue TortoiseGit ڈاؤن لوڈ کر سکتے ہیں، لیکن میری رائے میں، بہت زیادہ خوشگوار اور جمالیاتی لحاظ سے خوش کن حل Atlassian - SourceTreeApp سے ایک پروڈکٹ ہے۔ آپ ریموٹ ریپوزٹریز کے ساتھ مشق کر سکتے ہیں، کیونکہ انٹرنیٹ پر کافی میزبان خدمات موجود ہیں۔ اگر آپ چاہیں تو مقامی طور پر تربیت دیں۔ نہیں؟ پھر گٹ ہب پر ایک اکاؤنٹ بنائیں اور مکمل موڈ میں کام کریں: کچھ کمٹ کریں، کچھ اوپن سورس پروجیکٹ کو فورک کریں، شاخوں کے درمیان کچھ انضمام کریں، وغیرہ۔

ایس وی این

ایک اور یکساں مقبول VCS SVN ہے۔ یہ نظام تقسیم پر فخر نہیں کر سکتا۔ ان میں سے ہر ایک کا اپنا نقطہ نظر ہے، اس کے اپنے فوائد اور نقصانات ہیں۔ ایک نوزائیدہ اور SVN صارف کے درمیان ہونے والی دلچسپ گفتگو کو ضرور پڑھیں ۔ read-bean.com سے روسی ترجمہ کے ساتھ ایک مفت کتاب ہے ۔ TutorialsPoint کا ایک منی کورس بھی انتہائی مفید ہوگا ۔ اپاچی کی آفیشل ویب سائٹ subversion.apache.org کو مت چھوڑیں ۔ میرے لیے سب سے دلچسپ کلائنٹ مذکورہ بالا TortoiseSVN ہے۔ کتابوں میں سے، کوئی بھی اس پر روشنی ڈال سکتا ہے: مائیکل پیلاٹو کے ذریعہ ورژن کنٹرول سبورژن کے ساتھ ۔ مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔  انٹرپرائز - حصہ 1 - 13مجھے یہ پسند آیا کیونکہ یہ خود SVN سرور کی انتظامیہ پر توجہ دیتا ہے۔ مجھے امید ہے کہ میں نے اہم نکات کو نہیں چھوڑا تھا۔

جانچ کے اوزار

اپنے چھوٹے سینڈ باکس پروجیکٹس میں یہ سمجھنا ایک اچھا خیال ہوگا کہ یونٹ ٹیسٹ، انٹیگریشن اور ریگریشن ٹیسٹنگ کیا ہیں۔ JUnit یونٹ ٹیسٹ کا نظریہ پچھلے مضمون کی کتابوں میں اچھی طرح بیان کیا گیا ہے۔ خاص طور پر، کلین کوڈ یہاں تک کہ جونیٹ کو اس علاقے کی ایک مشہور لائبریری کے طور پر بیان کرتا ہے۔ لیکن جب بات خاص طور پر JUnit کی ہو، تو ایک بہت ہی چھوٹی سی کتاب ہے جس کا نام پریکٹیکل یونٹ ٹیسٹنگ ود JUnit اور Mockito از Tomek Kaszanowski مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔  انٹرپرائز - حصہ 1 - 14 یقیناً اس میں JUnit اور Mockito کے علاوہ بھی بہت کچھ ہے۔ یہاں مصنف نے میچرز کا تعارف کرایا، پیرامیٹرائزڈ ٹیسٹوں کی مثالیں پیش کیں، اور مختصراً TDD کے ذریعے چلیں۔ ایک کتاب بھی ہے جو حال ہی میں منظر عام پر آئی ہے۔ یہ جاوا 8 میں جیف لینگر کی پراگمیٹک یونٹ ٹیسٹنگ ہے۔ مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔  انٹرپرائز - حصہ 1 - 15 مصنف نے ہیم کرسٹ کا تعارف کرایا، بہترین طریقوں کی وضاحت کی، اور یقیناً جاوا 8۔ آپ ٹومیک کی کتاب کے بعد محفوظ طریقے سے پڑھ سکتے ہیں۔ ویسے، TDD کے حوالے سے۔ میں اس بارے میں کوئی ہولیور نہیں بڑھانا چاہتا کہ آیا یہ ان کا استعمال کرنے کے قابل ہے، چاہے یہ اچھا ہو یا برا، چاہے صارفین کو ان کی ضرورت ہو۔ بس یاد رکھیں: TDD میں کام کرنا کوئی نیا کام نہیں ہے، اور بہت سے پروجیکٹ اس طریقہ کار کو استعمال کرتے ہیں، اور بہت سے لوگوں کے لیے یہ واحد اور ناقابل تردید اصول ہے۔ نظریہ میں، آپ کلاسیکی پڑھ سکتے ہیں. کینٹ بیک - ٹیسٹ سے چلنے والی ترقی: مثال کے طور پر ۔ جو چیز مجھے سب سے زیادہ پسند آئی وہ TDD پیٹرن کا حصہ تھا۔ مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔  انٹرپرائز - حصہ 1 - 16حیرت کی بات یہ ہے کہ ایک اچھا فرسٹ پرسن کورس ہے - آئیے یوٹیوب پر ٹی ڈی ڈی (200 ویڈیوز!) چلائیں۔ Fowler کی اپنی بحث اس سے کم دلچسپ نہیں ہے کہ آیا یہ TDD استعمال کرنے کے قابل ہے یا نہیں، چاہے یہ ڈیزائن کو خراب کرتا ہے، وغیرہ۔ بس اسے ایک بار اور ہمیشہ کے لیے یاد رکھیں: TDD برا ڈیزائن نہیں بناتا، آپ اسے بناتے ہیں۔ اگر آپ BDD زیادہ استعمال کرتے ہیں (ایک دوسرے کے ساتھ مداخلت نہیں کرتا ہے) اور مثال کے طور پر، کسی پروجیکٹ پر ککڑی کا استعمال کرتے ہیں، تو یہ تھوڑا مختلف طیارہ ہے۔ اس پر ایک اچھی کتاب Manning BDD in Action: Behavior-driven development for the whole software lifecycle by John Ferguson Smart ۔ مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔  انٹرپرائز - حصہ 1 - 17ویسے جان فرگوسن سمارٹ اس موضوع کو عوام تک پہنچانے کے لیے سرگرم عمل ہے۔ اگر آپ سکرم ماسٹر یا پی ایم ہیں جو آخر کار اپنی آنکھوں کو تکلیف نہیں دیتے ہیں، لیکن جب-اگر-تو ٹیسٹ دیکھنے میں لطف اندوز ہوتے ہیں، تو ٹویٹر پر جان کو ضرور فالو کریں ۔ ککڑی کے بارے میں، سرکاری ویب سائٹ پر جاوا کے نفاذ کو دیکھیں اور کتاب The Cucumber Book: Behavior-driven Development by Matt Wayne پڑھیں ۔ مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔  انٹرپرائز - حصہ 1 - 18

تیسری پارٹی کی لائبریریاں

جہاں ضروری ہو مقبول لائبریریوں کو استعمال کرنے کے قابل ہونا ضروری ہے - وہ ہر جاوا ڈویلپر کی روزمرہ کی زندگی کو آسان بنا دیتے ہیں۔ مقبول حل میں درج ذیل شامل ہیں: جوڈا ٹائم۔ تکلیف دہ مقامی تاریخ اور وقت کو مکمل طور پر زیادہ آسان JodaTime سے تبدیل کرنے کی پیشکش کرتا ہے۔ یہاں ایک اچھا حوالہ ہے ۔ براہ کرم نوٹ کریں کہ اگر آپ پہلے ہی جاوا 8 استعمال کر رہے ہیں، تو جوڈا ٹائم زیادہ مددگار نہیں ہوگا۔ حقیقت یہ ہے کہ نئے ڈیٹ ٹائم API نے اس لائبریری کو مکمل طور پر تبدیل کر دیا ہے، اور کچھ جگہوں پر اسے چالاکی سے کاپی اور پیسٹ بھی کیا گیا ہے۔ مصنف کے اپنے مضمون کے مطابق ، ہر جوڈا کلاس کو آسانی سے java.time سے ایک اینالاگ سے تبدیل کیا جا سکتا ہے۔ گوگل امرود۔ بہت سے طریقوں سے، جاوا 8 یہاں تک کہ امرود کی جگہ لے لیتا ہے۔ وہی آبجیکٹ، سٹریم API، Java Predicate اور بہت سی دوسری چیزیں اس کو تبدیل کرنے اور اسے بالکل استعمال نہ کرنے کا مشورہ دیتی ہیں۔ میں دہراتا ہوں، اگر آپ کے پاس جاوا 8 نہیں ہے، تو اس گائیڈ اور آپ کے براہ راست ہاتھوں سے بہتر کوئی چیز نہیں ہے۔

اپاچی کامنز

اس عفریت سے نمٹنا اتنا آسان نہیں ہے: تمام مواقع کے لیے تقریباً 40 لائبریریاں، معروف Commons.lang سے لے کر xml کی توثیق تک، DBUtils سے Commons.io تک ۔ قدرتی طور پر، آپ کو ہر چیز سے واقفیت حاصل کرنے کی ضرورت نہیں ہے، لیکن کک بک کی کتابیں اور سبق آپ کے ساتھ رکھنا مفید ثابت ہوں گے۔ مثال کے طور پر، یہ سمجھنے کے لیے کہ اپاچی کامنز کیا ہے، آپ جکارتہ کامنز کک بک بذریعہ ٹموتھی او برین دیکھ سکتے ہیں۔ مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔  انٹرپرائز - حصہ 1 - 19

نتیجہ

انٹرپرائز اتنا وسیع ہے کہ اس انٹرپرائز کے ارد گرد موجود ہر چیز کے بغیر JavaEE اور دوسرے فریم ورک پر بحث شروع کرنا احمقانہ ہوگا۔ لہذا، دوسرے حصے میں ہم ملٹی ٹیئر فن تعمیر کی ہر پرت پر توجہ مرکوز کریں گے، خدمات پر غور کریں گے اور اسی طرح کی۔ آپ کی توجہ کا بہت شکریہ. پہلے حصے کا اختتام۔ سیریز کے پچھلے حصے:
  1. مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔ جاوا کی بنیادی باتیں
  2. مستقبل کے جاوا ڈویلپر کے لیے ایک گائیڈ۔ خوبصورت کوڈ
DOU کے ساتھ اصل
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION