ہیلو! آج ہم جاوا ڈویلپر کے ترقی کے راستے کے بارے میں بات کریں گے اور اس کی طلب میں رہنے کے لیے اسے کیا جاننا چاہیے۔ انٹرویو میں کوئی بھی ڈویلپر کسی عہدے کے امیدوار کو "ناکام" کر سکتا ہے۔ مثال کے طور پر، وہ مخصوص موضوعات کے بارے میں سوالات پوچھنا شروع کر دے گا جن کا اسے موجودہ پروجیکٹ میں سامنا کرنا پڑا۔ لیکن سب کچھ نہ جاننا ٹھیک ہے۔ حقیقت یہ ہے کہ آپ کچھ سوالوں کے جواب نہیں دیتے ہیں یہ بھی معمول کی بات ہے۔ عام طور پر، ہر جاوا پروگرامر کو ترقی کا بنیادی علم ہونا چاہیے۔ تو، آئیے دیکھتے ہیں کہ کن ٹیکنالوجیز کو "بنیادی" سمجھا جاتا ہے۔
یہ سمجھنے کے لیے آپ کی پہلی جگہ ہونی چاہیے کہ بہار کیا ہے: اسپرنگ کنٹینر، پھلیاں، DI، IoC وغیرہ کیا ہیں۔ تو بات کرنے کے لیے، بہار کے استعمال کے فلسفے کو سمجھیں۔ اس بنیاد کی بنیاد پر بہار کے فریم ورک کا مزید مطالعہ کیا جائے گا۔ یہ آپ کی اپنی چھوٹی ایپلیکیشن بنانے کے قابل ہو سکتا ہے، جس میں آپ آہستہ آہستہ نئی ٹیکنالوجیز جو آپ نے سیکھی ہیں شامل کریں گے۔
اس سے پہلے ہم نے ڈیٹا بیس سے کنکشن بنانے کے لیے ایک ٹیکنالوجی کے طور پر JDBC ٹیکنالوجی کے بارے میں بات کی تھی۔ عام طور پر، ٹیکنالوجی کا "ننگا" استعمال اب پروجیکٹس میں نہیں پایا جا سکتا ہے، لہذا ایسا لگتا ہے کہ JDBC سیکھنا ضروری نہیں ہے۔ لیکن ایسا نہیں ہے۔ جے ڈی بی سی کی ننگی ہڈیوں کو دیکھ کر آپ ٹیکنالوجی کو نچلی سطح پر دیکھ سکتے ہیں اور اس کے مسائل اور خامیوں کو سمجھ سکتے ہیں۔ ایک بار جب آپ Spring JDBC سیکھنا شروع کر دیتے ہیں، تو آپ سمجھ جائیں گے کہ یہ فریم ورک ہماری نظروں سے بالکل کیا بہتر، بہتر اور چھپاتا ہے۔
ننگی ہڈیوں کے JDBC کی طرح، یہ فریم ورک موجودہ ٹیکنالوجی کے استعمال کو بہتر بناتا ہے، اس معاملے میں ہائبرنیٹ۔ اگر آپ اسپرنگ کے بغیر ہائبرنیٹ استعمال کرنے پر غور کرتے ہیں، تو آپ بخوبی سمجھ جائیں گے کہ اسپرنگ ہائبرنیٹ استعمال کرنے کا کیا فائدہ ہے۔
اس سے پہلے ہم نے JPA کے بارے میں بات کی تھی اور یہ کہ یہ صرف ایک تصریح ہے جس کے لیے مختلف نفاذات ہیں۔ ان نفاذات میں، ہائبرنیٹ مثالی کے قریب ترین ہے۔ اسپرنگ کا JPA کا اپنا مثالی نفاذ ہے، جو ہائبرنیٹ "ہڈ کے نیچے" کا استعمال کرتا ہے اور JPA کی تصریحات کے آئیڈیل کے ممکنہ حد تک قریب ہے۔ اس ٹیکنالوجی کو Spring JPA کہا جاتا ہے۔ ویسے، یہ ڈیٹا بیس تک رسائی کو بہت آسان بناتا ہے۔ آپ JDBC، Hibernate، Spring JDBC، Spring Hibernate سیکھے بغیر صرف JPA سیکھ سکتے ہیں۔ لیکن اس صورت میں، ڈیٹا بیس سے جڑنے کا آپ کا علم بہت سطحی ہوگا۔
اس ٹیکنالوجی کے ساتھ، ہم اپنی ایپلیکیشن کا ویب انٹرفیس صارفین کو دکھا سکتے ہیں اور انٹرفیس کو باقی ایپلیکیشن کے ساتھ بات چیت کرنے کی اجازت دے سکتے ہیں۔ ٹیکنالوجی ڈسپلے کے بغیر بھی کام کر سکتی ہے، جب کوئی ایپلیکیشن ڈسپلے کے لیے ذمہ دار ہو، اور آپ RESTful ٹیکنالوجی کا استعمال کرتے ہوئے درخواستوں اور جوابات کا استعمال کرتے ہوئے اس ایپلیکیشن کے ساتھ تعامل کریں۔ بہار کے بارے میں معلومات کو بہتر طور پر سمجھنے کے لیے، یوٹیوب پر مضامین اور لیکچرز کے علاوہ، آپ کئی کتابیں پڑھ سکتے ہیں۔ مجھے والز کریگ کی کتاب "اسپرنگ ان ایکشن" بہت پسند آئی۔ بدقسمتی سے، روسی زبان میں اب صرف تیسرا ورژن ہے، جسے پرانا سمجھا جاتا ہے۔ اگر آپ انگریزی اچھی طرح جانتے ہیں تو میں آپ کو ورژن 6 پڑھنے کا مشورہ دیتا ہوں۔ موسم بہار پر ایک اور عظیم کتاب "پیشہ ور افراد کے لیے موسم بہار 5" ہے۔ یہ سیکھنا مشکل ہے اور اسپرنگ بائبل کی طرح جسے کور سے کور تک پڑھنے کے بجائے ہاتھ میں رکھنا بہتر ہے۔
یہ ٹیکنالوجی بہار کے استعمال کو بہت آسان بناتی ہے۔ میں نے اسے فہرست کے آخر میں ایک وجہ سے رکھا ہے، کیونکہ یہ "ہڈ" کے نیچے بہت کچھ چھپاتا ہے اور ایک ایسے شخص کے لیے جو باقاعدہ بہار سے ناواقف ہے، بہت سے نکات واضح اور ناقابل فہم نہیں ہوسکتے ہیں۔ سب سے پہلے، اسپرنگ فریم ورک کس طرح کام کرتے ہیں اس کی بہتر تفہیم کے لیے، آپ کو باقاعدہ اسپرنگ استعمال کرنا چاہیے، اور پھر اسپرنگ بوٹ کے استعمال کے تمام اعلیٰ فوائد۔ میں آپ کو یہ بھی مشورہ دیتا ہوں کہ اپنے آپ کو اسپرنگ سیکیورٹی اور اسپرنگ اے او پی سے واقف کروائیں۔ لیکن اوپر کی ٹیکنالوجیز کے برعکس، ان دونوں کے بارے میں گہرے علم کی اب ضرورت نہیں ہے۔ یہ ٹیکنالوجی beginners کے لیے نہیں ہے۔ انٹرویوز کے دوران، جونیئرز سے ان کے بارے میں نہیں پوچھا جاتا (سوائے ایک سطحی سوال کے)۔ عام طور پر پڑھیں کہ یہ ٹیکنالوجیز کیا ہیں اور وہ کیسے کام کرتی ہیں۔ اس پورے مضمون میں میں نے بارہا کتابیں پڑھنے کا ذکر کیا ہے۔ ایک طرف، یہ ضروری نہیں ہے. آپ ایک بھی کتاب پڑھے بغیر پروگرامر بن سکتے ہیں، مضامین اور تربیتی ویڈیوز سے اپنی ضرورت کی ہر چیز کا مطالعہ کر کے۔ دوسری طرف، اس وقت نوسکھئیے ڈویلپرز کے لیے مارکیٹ میں مسابقت بہت زیادہ ہے، جو ایک ابتدائی کے لیے مطلوبہ ابتدائی معلومات کے لیے بار کو بڑھاتا ہے۔ اس لیے، جتنا زیادہ آپ جانتے ہیں، اتنی ہی تیزی سے آپ اپنی پہلی نوکری تلاش کر سکتے ہیں، انٹرویو لینے والے کو اپنے علم کی سطح سے متاثر کرتے ہوئے۔ آپ سب کا شکریہ، اور جاوا آپ کے ساتھ ہو سکتا ہے ۔
1. بنیادی الگورتھم
جب آپ پروگرامنگ سیکھنا شروع کرتے ہیں تو پہلی چیز جو آپ کو اٹھانی چاہئے (یہ نہ صرف جاوا پر لاگو ہوتا ہے) بنیادی باتوں کا تجزیہ ہے۔ مثال کے طور پر، الگورتھم۔ ان کی لاتعداد تعداد ہے، اور آپ کو زیادہ سے زیادہ الگورتھم سیکھنے کی کوشش میں پورے سال نہیں گزارنا چاہیے: ان میں سے اکثر آپ کے لیے کارآمد نہیں ہوں گے۔ مطلوبہ کم از کم علم کتاب " گروکنگ الگورتھم " سے حاصل کیا جا سکتا ہے۔ یہ سفر شروع کرنے کے لیے کافی ہوگا، لیکن اگر آپ چاہیں تو، آپ رابرٹ سیڈگوک اور کیون وین کی کتاب " سٹرکچرز اینڈ الگورتھم " یا "الگورتھمز ان جاوا" کی مدد سے سیکھ سکتے ہیں۔ میں آپ کو کمپیوٹر سائنس کی بنیادی باتوں کے بارے میں اپنے علم کو بہتر بنانے کا مشورہ بھی دیتا ہوں۔ یہ CS50 کورس کا استعمال کرتے ہوئے JavaRush میں کیا جا سکتا ہے ۔2. جاوا سنٹیکس
الگورتھم کی بنیادی باتیں سیکھنے کے بعد، ہمیں جاوا نحو سیکھنا چاہیے۔ بہر حال، ہم سب یہاں جاوا پروگرامر بننا سیکھ رہے ہیں، کیا ہم نہیں؟ JavaRush کورس اس کے لیے بہترین ہے۔ متعدد کاموں کو انجام دینے کے عمل میں، آپ جاوا نحو میں روانی بن جائیں گے اور بغیر زیادہ سوچے سمجھے جاوا کوڈ لکھیں/پڑھیں گے، گویا یہ آپ کی مادری زبان ہے۔ JavaRush پریکٹس ہے، اور اس کے علاوہ، آپ کو یہ سمجھنے کے لیے تھیوری کو بھی دیکھنا ہوگا کہ آپ بالکل کیا کر رہے ہیں۔ ایسا کرنے کے لیے، آپ کتابیں پڑھ سکتے ہیں، مثال کے طور پر درج ذیل میں سے ایک:- " ہیڈ فرسٹ جاوا "؛
- "جاوا فار ڈمی" از بیری برڈ؛
- "جاوا۔ ابتدائیوں کے لیے ایک گائیڈ" ہربرٹ شلڈٹ۔
- "جاوا کا فلسفہ"، بروس ایکل؛
- "موثر پروگرامنگ"، جوشوا بلوچ؛
- "جاوا۔ مکمل گائیڈ"، ہربرٹ شیلڈٹ۔
3. پروگرامنگ پیٹرنز
پروگرامنگ پیٹرن کچھ دہرائے جانے والے پیٹرن ہیں جو اکثر ہونے والے سیاق و سباق میں کسی مسئلے کے حل کی نمائندگی کرتے ہیں۔ ان میں بنیادی، سادہ ٹیمپلیٹس ہیں جو ہر عزت نفس پروگرامر کو معلوم ہونا چاہیے۔ اس موضوع کو سمجھنے کے لیے، کتاب " Head First" استعمال کریں۔ ڈیزائن پیٹرن ." وہ واضح طور پر پروگرامنگ کے بنیادی نمونوں کی وضاحت کرے گی۔ لیکن کتاب Java کے بارے میں بہت کچھ بتاتی ہے ، اس لیے کتاب کا مطالعہ کرتے وقت آپ کو اس پروگرامنگ لینگویج پر عبور حاصل کرنا ہوگا۔ پیٹرن میں گہرا غوطہ لگانے کے لیے، آپ "آبجیکٹ اورینٹڈ ڈیزائن کی تکنیکیں" بھی پڑھ سکتے ہیں۔ گینگ آف فور سے ڈیزائن پیٹرنز" ( گینگ آف فور: مصنفین کی ایک ٹیم جس میں ایرچ گاما، رچرڈ ہیلم، رالف جانسن، جان ولسائیڈز شامل ہیں - ایڈیٹر کا نوٹ) ۔ اس موضوع کا مطالعہ کرنے کے بعد، آپ کو اپنے کوڈ میں عملی طور پر ہر جگہ پیٹرن نظر آنا شروع ہو جائیں گے۔ اس پر توجہ دیں، خاص طور پر بہار میں استعمال ہونے والے پیٹرن ، کیونکہ یہ انٹرویوز میں ایک مقبول سوال ہے۔4. پروگرامنگ پیراڈائمز۔ کوڈ کی صفائی
معیاری پروگرامنگ پیٹرن کے علاوہ، مختلف اصول اور پیراڈائمز ہیں جن کے بارے میں آپ کو جاننے کی ضرورت ہے ( SOLID , GRASP )۔ یہ یقینی بنانا بھی ضروری ہے کہ کوڈ صاف اور پڑھنے کے قابل ہو۔ اس موضوع پر آپ کو جو کچھ بھی جاننے کی ضرورت ہے وہ رابرٹ مارٹن کی کتاب " کلین کوڈ " میں ہے یا اسٹیو میک کونل کی کتاب "پرفیکٹ کوڈ" کو آزمائیں۔5.SQL
ہمارا اگلا مرحلہ رشتہ دار ڈیٹا بیس کی زبان کا مطالعہ کرنا ہے - SQL ۔ ڈیٹا بیس وہ جگہ ہیں جہاں ویب ایپلیکیشن کی معلومات (ڈیٹا) کو محفوظ کیا جاتا ہے۔ ایک ڈیٹا بیس کئی میزوں پر مشتمل ہوتا ہے (آپ کے فون پر ایڈریس بک ایسی میزوں کی سب سے آسان مثال ہے)۔ آپ اس مضمون میں ڈیٹا بیس کے بارے میں مزید پڑھ سکتے ہیں ۔ جاوا کے ڈویلپرز کے لیے، ذمہ داری کا علاقہ نہ صرف جاوا ایپلیکیشن ہے، بلکہ وہ ڈیٹا بیس بھی ہے جس کے ساتھ یہ بات چیت کرتا ہے اور جہاں یہ ڈیٹا اسٹور کرتا ہے۔ متعلقہ (سب سے زیادہ عام) ڈیٹا بیس میں، تمام تعامل ایک خاص زبان - سٹرکچرڈ کوئوری لینگویج، یا SQL کے ذریعے ہوتا ہے۔ اس موضوع کو سمجھنے کے لیے کسی ایک کتاب کا مطالعہ کرنا کافی ہوگا:- ایلن بیولی کی طرف سے "ایس کیو ایل سیکھنا"؛
- "SQL"، کرس فیلی؛
- لن بیلی کے ذریعہ "ہیڈ فرسٹ ایس کیو ایل"۔
GO TO FULL VERSION