JavaRush /جاوا بلاگ /Random-UR /جاوا عملی منصوبہ

جاوا عملی منصوبہ

گروپ میں شائع ہوا۔
جاوا  ایکشن پلان - 1

مواد:

  1. سیکشن زیرو - جاوا کور
  2. اوزار
  3. JDK API
  4. جاوا 8 میں نیا کیا ہے۔
  5. ایس کیو ایل، ڈیٹا بیس، جے ڈی بی سی
  6. فریم ورکس
  7. جانچ کے لیے لائبریریاں اور فریم ورک
  8. سروس لائبریریاں
  9. API کلائنٹس
  10. ڈیزائن پیٹرن
  11. اضافی علم
ایک ممکنہ جاوا جونیئر کو پہلی نوکری حاصل کرنے یا کم از کم کسی اچھی کمپنی میں ٹرینی پوزیشن کے لیے درخواست دینے کے لیے کیا جاننا چاہیے؟ کون سے ٹولز جاوا پروگرامر کو اگلے درجے تک پہنچنے میں مدد کریں گے؟ کون سی ٹیکنالوجیز کا مطالعہ کرنا ہے اور کن کو بعد میں چھوڑنا ہے؟ ان سوالوں کا کوئی معیاری جواب نہیں ہے، جیسا کہ عمل کا کوئی واحد منصوبہ نہیں ہے جو بالکل ہر کسی کے لیے موزوں ہو۔ کچھ کمپنیاں ترقی کے لیے کوشاں ہیں، مسلسل نئی ٹیکنالوجیز متعارف کروا رہی ہیں اور زبان کے نئے ورژن کی صلاحیتوں کی جانچ کر رہی ہیں، جب کہ دیگر ضدی طور پر پرانی سے چمٹی ہوئی ہیں۔ "درمیانی" اختیارات بھی ہیں، اور، شاید، ان میں سے اور بھی ہیں۔ تاہم، ہم نے جاوا کے خواہشمند ڈویلپر کے لیے ایک روڈ میپ یا روڈ میپ رکھا ہے۔ اسے ہر ممکن حد تک آسان بنانے کی کوشش میں، ہم نے صرف ان ٹیکنالوجیز اور موضوعات کی نشاندہی کی ہے جو "جاواسٹ" کی اکثریت کے لیے ضروری ہیں۔ یہ یاد رکھنا چاہیے کہ ہر چیز کا تفصیل سے مطالعہ کرنے کی ضرورت نہیں ہے (مذکورہ بالا میں سے کچھ کو صرف ٹیم میں کام کرنے سے حاصل کیا جا سکتا ہے)، لیکن ان کے بارے میں عام فہم ہونے سے کوئی نقصان نہیں ہوگا۔

0. سیکشن زیرو - جاوا کور

ہم نے مضمون میں سیکشن صفر کو صرف اس صورت میں داخل کیا ہے، اگر کوئی شخص جو ابھی جاوا سیکھنے کا ارادہ کر رہا ہو اور نہ جانتا ہو کہ کہاں سے شروع کرنا ہے وہ یہاں آتا ہے۔ جاوا کور ایک ایسی چیز ہے جسے ایک ابتدائی شخص کو بھی اچھی طرح سے معلوم ہونا چاہیے۔ یعنی بنیادی چیزوں کو جاننا، یہ سمجھنا کہ زبان کسی خاص مسئلے کو حل کرنے کے لیے کیا پیش کش کرتی ہے، اور سادہ معاملات میں اس علم کو بروئے کار لانے کے قابل ہونا۔ آپ JavaRush پر جاوا کور کی مشق کر سکتے ہیں، اور اگر آپ نے ابھی تک ایسا نہیں کیا ہے، تو ہم آپ کو کورس کرنے کی دعوت دیتے ہیں ! ٹھیک ہے، باقی سب کے لیے، آئیے آپ کو جاوا کور کے اہم سنگ میل کی یاد دلاتے ہیں:
  • بنیادی جاوا تعمیرات، آپریٹرز، اور ڈیٹا کی اقسام
  • OOP اور جاوا میں اس کا نفاذ
  • مستثنیات
  • جاوا کے مجموعے۔
  • جنرک
  • ملٹی تھریڈنگ

1. اوزار

IDE یا مربوط ترقیاتی ماحول

ایک جدید ڈویلپر کا بنیادی ٹول ایک IDE ہے۔ آج مارکیٹ میں ان میں سے بہت سارے ہیں، لیکن پیشہ ورانہ جاوا کی ترقی میں عام طور پر صرف دو نام ہوتے ہیں۔ یہ مفت Eclipse ہے، جو پلگ انز پر بنایا گیا ہے ، جس نے مسلسل کئی سالوں سے ہتھیلی کو تھام رکھا ہے، اور IntelliJ IDEA ، جو حالیہ برسوں میں ایکلیپس کو فعال طور پر ہٹا رہا ہے، اور یہ اس حقیقت کے باوجود کہ الٹیمیٹ ورژن کی رکنیت کی ضرورت ہے۔ پیشہ ور افراد پیسے خرچ کرتے ہیں. آئیے آپ کو یاد دلاتے ہیں کہ JavaRush کورس میں ہم Community IntelliJ IDEA کا مفت ایڈیشن استعمال کرتے ہیں، جس میں الٹیمیٹ کے مقابلے میں کچھ فنکشنل حدود ہیں۔ جملہ "میں IDE جانتا ہوں" کا مطلب ہے کہ آپ ترقیاتی ماحول کی بنیادی صلاحیتوں سے واقف ہیں، آپ فائلوں کو مرتب کرنے، چلانے، ڈیبگ کرنے اور جانچنے کا طریقہ جانتے ہیں، اور ریفیکٹر کوڈ۔ ہاٹ کیز میں مہارت حاصل کرنا آپ کے کام کو تیز کرنے میں اچھی مدد کرے گا۔ سست نہ ہوں، IDE کی خصوصیات کے بارے میں سیکھنے میں چند گھنٹے گزاریں جن کے بارے میں آپ نہیں جانتے تھے اور عملی طور پر ان کا استعمال شروع کریں۔ اور ڈیبگنگ کو نظر انداز نہ کریں، یہ بہت مفید ہنر ہے۔ ان تمام اقدامات سے آپ کے کام کی رفتار اور معیار کو نمایاں طور پر بہتر بنانے میں مدد ملے گی۔

خودکار اسمبلی کے لیے ٹولز

آج، جاوا پروجیکٹ اکثر ٹولز کا استعمال کرتے ہیں جیسے ماون اور گریڈل۔ ان کا اچھی طرح سے مطالعہ کرنا ضروری نہیں ہے، لیکن یہ سمجھنا مفید ہو گا کہ وہ ایک دوسرے سے کیسے مختلف ہیں، وہ کن چیزوں پر مبنی ہیں، کون سے کام ہیں (گریڈل میں) اور ماون میں اہداف کے ساتھ مراحل۔ سسٹمز کے بارے میں پڑھنا اور ان پر چند چھوٹے پروجیکٹس لگانا کافی ہوگا۔ یہ کرنا کافی آسان ہے، اور آپ کام کے حقیقی حالات میں تفصیلات سمجھ جائیں گے۔

ورژن کنٹرول سسٹمز اور آن لائن ہوسٹنگ سروسز

ایک ورژن کنٹرول سسٹم وہ ہے جو پروگرامرز کو کسی مشترکہ پروجیکٹ پر ٹیم میں "توڑے" کے بغیر کام کرنے، مختلف لوگوں کے بنائے گئے کوڈ کے مختلف ٹکڑوں کو سنکرونائز کرنے، ناکام اپ ڈیٹس کو واپس لانے اور نئے شامل کرنے میں مدد کرتا ہے۔ سب سے عام دو ورژن کنٹرول سسٹم ہیں۔ ان میں سے ایک کو تقسیم کیا جاتا ہے اور اسے گٹ کہا جاتا ہے، دوسرا سنٹرلائزڈ ہے، جسے SVN (عرف سبورژن) کہا جاتا ہے۔ آج، گٹ ڈی فیکٹو معیار ہے۔ اس سسٹم کے ساتھ کام کرنا زیادہ آسان اور آسان ہے؛ یہ تمام IDEs (ساتھ ہی SVN) کے ذریعے تعاون یافتہ ہے۔ آپ Git کے ساتھ جلدی اور آسانی سے کام کرنے کی کوشش کر سکتے ہیں؛ خوش قسمتی سے، انٹرنیٹ پر اس موضوع پر بہت ساری معلومات موجود ہیں۔ مثال کے طور پر، انٹرایکٹو درسی کتاب GitHowTo، جو روسی زبان میں دستیاب ہے (بہت تیزی سے گزر جاتی ہے)۔ ایک نوآموز ڈویلپر کے لیے ورژن کنٹرول سسٹمز کے لیے آن لائن ہوسٹنگ سروسز میں مہارت حاصل کرنا بہت ضروری ہے۔ اکثر وہ Git پر مبنی ہوتے ہیں اور انہیں Git پلیٹ فارم کہا جاتا ہے (حالانکہ ان میں سے کچھ مختلف ورژن کنٹرول سسٹم کے ساتھ کام کر سکتے ہیں)۔ ان میں سب سے زیادہ مقبول GitHub ہے۔ BitBucket اور GitLab بھی کافی عام ہیں۔ یہ سسٹم آپ کو کوڈ کو ذخیرہ کرنے اور بازیافت کرنے میں مدد کرتے ہیں، اور یہ بھی کرتے ہیں کہ Git کیا کر سکتا ہے، نہ صرف کمانڈ لائن کے ذریعے، بلکہ انٹرفیس کے ذریعے۔ GitHub آپ کو کوڈ چیک کرنے اور مسائل کے حل کو براہ راست سائٹ پر پیش کرنے کی بھی اجازت دیتا ہے۔ وہاں آپ کسی اور کا اوپن سورس پروجیکٹ بھی تلاش کر سکتے ہیں اور اسے بہتر بنانے کے لیے اپنے حل پیش کرنے کی کوشش کر سکتے ہیں۔ بنیادی طور پر، GitHub ڈویلپرز کے لیے ایک قسم کا سوشل نیٹ ورک ہے۔ لہذا اگر آپ کے پاس پہلے سے نہیں ہے، تو یقینی بنائیں کہ GitHub پر ایک اکاؤنٹ بنائیں اور وہاں اپنے پروجیکٹس کی میزبانی کریں۔ GitLab اور BitBucket کے بارے میں بھی پڑھیں، اور اگر آپ کے پاس وقت ہے تو آپ انہیں آزما سکتے ہیں، ان کے مفت ورژن ہیں۔ ویسے یہ تمام پلیٹ فارم جدید IDEs کے ساتھ مکمل طور پر مربوط ہیں۔ جاوا  ایکشن پلان - 2

2. JDK API

یہ سیکشن ان JDK APIs کو نمایاں کرتا ہے جو ایک جدید جاوا ڈویلپر کو کافی اعتماد کے ساتھ جاننے کی ضرورت ہے۔ پروگرامر کے لیے وقتاً فوقتاً ان لائبریریوں کے سورس کوڈ کو دیکھنا، ان پر نیویگیٹ کرنا، اور یہ سمجھنا کہ انہیں کب اور کیوں استعمال کرنے کی ضرورت ہے، کو نقصان نہیں پہنچے گا۔ ضمنی اثر: اگر آپ کو ان APIs میں اچھی طرح مہارت حاصل ہے تو، آپ کو اپنے انٹرویو پر عمل کرنے میں بہت آسان وقت ملے گا۔

جاوا کلیکشن فریم ورک

جاوا کلیکشن فریم ورک جاوا زبان کے سب سے اہم APIs میں سے ایک ہے اور ہر ڈویلپر کو اسے معلوم ہونا چاہیے۔ یہ جاوا میں معیاری ڈیٹا ڈھانچے جیسے فہرست، منسلک فہرست، سیٹ، اسٹیک، قطار، ہیش ٹیبل، اور بہت سے دوسرے کے انٹرفیس اور نفاذ کے درجہ بندی کی نمائندگی کرتا ہے۔ ڈویلپر کو کلاسز ArrayList، HashMap، HashSet، LinkedHashSet، TreeSet اور دیگر کی اچھی سمجھ ہونی چاہیے، اور ان کی خصوصیات کے بارے میں جاننا چاہیے۔ خاص طور پر، آپ کو معیاری آپریشنز (انڈیکس، تلاش، اندراج، حذف) کے لیے کسی خاص مجموعہ کے وقت اور میموری کے اخراجات کو سمجھنے کی ضرورت ہے اور اس کی بنیاد پر، انہیں اپنے پروجیکٹس میں صحیح طریقے سے لاگو کرنا چاہیے۔ جاوا میں مجموعے کو بہت اچھی طرح سے لاگو کیا جاتا ہے، لیکن اگر ضرورت ہو تو، ڈویلپر اپنا نفاذ پیش کر سکتا ہے۔ ایک پروگرامر جو مجموعوں میں مہارت رکھتا ہے وہ پہلے سے لکھی گئی کلاسوں میں منطق کو بڑھا سکتا ہے یا اس کی نئی وضاحت کرسکتا ہے، یا ہر چیز کو شروع سے نافذ کرسکتا ہے۔

Java Concurrency API

جاوا اصل میں متوازی پروگرامنگ کو سپورٹ کرنے کے لیے ڈیزائن کیا گیا تھا، اور ورژن 5.0 کے بعد سے، زبان میں متوازی تھریڈز کے لیے اعلیٰ سطح کے APIs شامل ہیں۔ اس لیے ایک قابل جاوا ڈویلپر کو ملٹی تھریڈنگ کی اچھی سمجھ ہونی چاہیے اور java.util.concurrent.* پیکجز سے مرکزی APIs کی سمجھ ہونی چاہیے ۔ کم از کم، آپ کو یہ جاننے اور واضح طور پر سمجھنے کی ضرورت ہے کہ تھریڈ، رن ایبل، آبجیکٹ لاکنگ اور سنکرونائزیشن کیا ہیں۔ تعطل، لائیو لاک، نسل کے حالات، اور ان سب کے ساتھ کیا کرنا ہے کے تصورات کو ضرور سمجھیں۔ پراعتماد محسوس کرنے کے لیے، java.util.concurrent.* سے synchronizers سیکھیں، جیسے Semaphore، CyclicBarrier، CountDownLatch، Phaser، Exchanger<V>، CompleteableFuture وغیرہ۔ اور کال ایبل اور فیوچر انٹرفیس بھی۔

Java I/O API

نوسکھئیے ڈویلپر اکثر Java I/O اور Java نان بلاکنگ I/O کے گہرائی سے مطالعہ کو نظر انداز کرتے ہیں ۔ لیکن بیکار: یہ جاوا API دھاگوں کے ساتھ کام کرنا آسان بناتے ہیں اور حقیقی ایپلی کیشنز میں باقاعدگی سے استعمال ہوتے ہیں۔ خاص طور پر java.io پیکیج سے فائل، ان پٹ اسٹریم، آؤٹ پٹ اسٹریم، ریڈر اور رائٹر جیسی کلاسز، جو جاوا IO API کا بنیادی حصہ ہے۔ جاوا نان بلاکنگ I/O (java.nio) ایپلیکیشن پروگرامنگ انٹرفیس کا ایک مجموعہ ہے جسے اعلیٰ کارکردگی والے I/O آپریشنز کو لاگو کرنے کے لیے ڈیزائن کیا گیا ہے۔ ان میں خاص طور پر بائٹ بفر، فائل چینل اور سلیکٹر شامل ہیں۔ ان APIs کو سمجھنے میں پریشانی اٹھائیں، آپ کو اس پر افسوس نہیں ہوگا۔

ڈیوائس کلاس آبجیکٹ

ایک بار جب آپ آبجیکٹ سپر کلاس کو سمجھ لیتے ہیں، تو ایک لحاظ سے آپ "آبائیٹ جاوا سپیکر" بن جاتے ہیں، جو OOP ڈھانچے اور بہت سے عملوں کے بارے میں بہت بہتر جانتے ہیں۔ java.lang.Object کلاس کلاس درجہ بندی کے بالکل اوپر ہے۔ کیا ہو رہا ہے اس کی بہتر تفہیم کے علاوہ، کلاس کے طریقوں کو جاننے سے انٹرویو لینا بہت آسان ہو جائے گا — انٹرویو لینے والے صرف امیدواروں کو آبجیکٹ کلاس اور اس کی اشیاء کے ساتھ جانچنا پسند کرتے ہیں۔

3. جاوا 8 میں نئی ​​خصوصیات

اس حقیقت کے باوجود کہ جاوا 8 کی ریلیز کے بعد سے وقت گزر چکا ہے، اور دوسرے نمبر والے اپ ڈیٹس پہلے ہی سامنے آ چکے ہیں، یہ آٹھواں ورژن تھا جو مشہور بن گیا۔ اس نے اہم اختراعات متعارف کروائیں جو جاوا میں پروگرامنگ کے نقطہ نظر کو آسان بناتی ہیں اور کچھ معنوں میں تبدیلی لاتی ہیں۔ آپ کو سمجھنا چاہیے کہ لیمبڈا ایکسپریشنز کے ساتھ ساتھ Java 8 میں Stream API اور نئی تاریخ اور وقت APIs کا استعمال کیسے کریں۔

4. SQL، ڈیٹا بیس، JDBC

کچھ جاوا ڈویلپرز کو اپنے کام میں SQL سوالات اور ڈیٹا بیس کا سامنا نہیں ہوتا ہے۔ لہذا، یہ سمجھنا ضروری ہے کہ ایس کیو ایل اور متعلقہ ڈیٹا بیس کیا ہیں، وہ کیسے کام کرتے ہیں، اور دو ٹیبلز میں شامل ہونے کے لیے آسان سوالات لکھنے کے قابل ہونا۔ تربیت کے لیے، آپ DBMSs میں سے کسی ایک کے ساتھ کام کرنے کی کوشش کر سکتے ہیں، مثال کے طور پر، PostgreSQL یا MySQL ۔ غیر متعلقہ ڈیٹا بیس، noSQL نقطہ نظر اور دستاویز پر مبنی DBMS MongoDB کے ساتھ سطحی واقفیت کے بارے میں بنیادی معلومات حاصل کرنا بھی اچھا ہوگا ۔ خالص جاوا میں ڈیٹا بیس کے ساتھ کام کرنے کے لیے، آپ اسی نام کے API کے ساتھ JDBC سٹینڈرڈ استعمال کر سکتے ہیں۔ اسے java.sql پیکیج کے طور پر لاگو کیا گیا ہے، جو JDK میں شامل ہے۔ آج یہ اپنی خالص شکل میں شاذ و نادر ہی استعمال ہوتا ہے، لیکن یہ اکثر پرانے سپورٹ ایپلی کیشنز میں پایا جا سکتا ہے، اور زیادہ جدید اور عام طور پر قبول شدہ ٹولز اکثر اس معیار پر مبنی ہوتے ہیں۔

5. فریم ورک

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

بہار کا فریم ورک

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

ہائبرنیٹ

جاوا ڈویلپرز کے لیے ایک اور سب سے اہم فریم ورک ہائبرنیٹ ہے۔ یہ JPA (Java Persistence API) تصریح کو نافذ کرتا ہے، جو آبجیکٹ-ریلیشنل میپنگ (ORM) کے مسائل کو حل کرتا ہے۔ زیادہ تر جاوا ایپلی کیشنز ڈیٹا بیس کے ساتھ تعامل کرتے ہیں، اور اگر ہم رشتہ دار ڈیٹا بیس کے بارے میں بات کر رہے ہیں، تو ان کے ساتھ ہائبرنیٹ کے بغیر کام کرنا تکلیف دہ ہے۔ یہ فریم ورک ڈویلپرز کو بہت سی اہم خصوصیات فراہم کرتا ہے، خاص طور پر، کیچنگ اور لین دین کو باکس سے باہر، جس کے نتیجے میں وہ اپنی کوششوں کو ایپلیکیشن لاجک کو تیار کرنے پر مرکوز کر سکتے ہیں اور رشتہ دار ڈیٹا بیس کے ساتھ کام کرتے وقت پروگرامر کو بہت سے نچلے درجے کے کاموں سے آزاد کر دیتے ہیں۔ . یہ نمایاں طور پر ڈویلپر کی پیداواری صلاحیت کو بہتر بناتا ہے۔

بہار MVC

یہ فریم ورک ماڈل - ویو - کنٹرولر پیٹرن کے مطابق ایپلی کیشن کی ترقی کو یقینی بناتا ہے، ڈھیلے جوڑے ہوئے ریڈی میڈ اجزاء کا استعمال کرتے ہوئے۔ اس پیٹرن کا مطالعہ کریں (ڈیزائن کے نمونوں پر نیچے بحث کی گئی ہے) اور اسپرنگ MVC کی منطق۔ عملی طور پر یہ اکثر استعمال ہوتا ہے۔

اسپرنگ بوٹ

صحیح مہارت کے ساتھ، بہار جاوا ایپلیکیشن بنانا آسان بناتی ہے۔ بدلے میں، اسپرنگ بوٹ اسپرنگ کی بنیاد پر جاوا ایپلیکیشن بنانا آسان بناتا ہے۔ اسپرنگ بوٹ آپ کو آسانی سے مکمل انٹرپرائز اسپرنگ ایپلی کیشنز بنانے کی اجازت دیتا ہے جو کم سے کم کوشش کے ساتھ شروع کی جاسکتی ہیں: آٹو کنفیگریشن اسپرنگ ایپلی کیشنز کو کنفیگر کرنے سے وابستہ زیادہ تر پریشانیوں کو ختم کرتی ہے۔

6. جانچ کے لیے لائبریریاں اور فریم ورک

کچھ مستقبل کے ڈویلپرز کو یقین ہے کہ ٹیسٹنگ کوڈ ان کی فکر نہیں ہے، بلکہ خاص لوگوں کی ہے جنہیں ٹیسٹر کہا جاتا ہے۔ عملی طور پر، یہ بالکل معاملہ نہیں ہے. ٹیسٹنگ، خاص طور پر یونٹ ٹیسٹنگ (جسے اکثر یونٹ ٹیسٹنگ کہا جاتا ہے) ہر پروگرامر کے لیے ایک بہت اہم مہارت ہے۔ مزید برآں، نئے آنے والے جنہوں نے ابھی ابھی اپنی ڈیوٹی شروع کی ہے انہیں اکثر یونٹ ٹیسٹ کے ساتھ کسی کے کوڈ کا احاطہ کرنے کا کام سونپا جاتا ہے۔ اس لیے ہم JUnit لائبریری کو سیکھنے اور اپنے کوڈ کے لیے یونٹ ٹیسٹ لکھنے کی عادت پیدا کرنے کا مشورہ دیتے ہیں۔ Mockito فریم ورک کو بھی چیک کریں، جسے JUnit کے ساتھ فرضی انحصار کی کلاسیں بنانے کے لیے استعمال کیا جا سکتا ہے۔

7. سروس لائبریریاں

جاوا میں سروس لائبریریوں کی ایک بڑی تعداد ہے جو کسی ڈویلپر کو درپیش تقریبا کسی بھی مسئلے کو حل کرنے میں مدد کرتی ہے۔ ان سب کا مطالعہ کرنا ناممکن ہے اور ایسا کرنے کا کوئی خاص فائدہ نہیں۔ لیکن ان کے ذریعے تشریف لے جانا ایک بہترین خیال ہے۔ یہاں ہم ان میں سے صرف چند ایک پر روشنی ڈالیں گے جو اکثر عملی طور پر استعمال ہوتے ہیں۔

لاگنگ کے لیے لائبریریاں

سب سے پہلے، ہم log4j اور Slf4j کا ذکر کر سکتے ہیں ۔ یہ لائبریریاں جاوا ایپلیکیشنز کے چلنے کے دوران ہونے والے روٹین لاگنگ آپریشنز کے نفاذ کو چھپانے کے لیے بنائی گئی ہیں۔

JSON کے لیے لائبریریاں

JSON، کلائنٹ سے سرور تک معلومات کی منتقلی کا فارمیٹ، آج کل سب سے زیادہ استعمال ہونے والا فارمیٹ ہے۔ JSON کے ساتھ کام کرنے والی کئی اچھی لائبریریاں ہیں، جن میں سب سے زیادہ مشہور Jackson اور google-gson ہیں ۔

گوگل امرود

امرود گوگل کے ذریعہ تیار کردہ بنیادی جاوا لائبریریوں کے ساتھ ایک پروجیکٹ ہے۔ یہاں آپ کو نئے قسم کے مجموعے (ملٹی میپ، ملٹی سیٹ اور دیگر)، ناقابل تغیر مجموعے، گراف، فنکشنل، متوازی کے لیے افادیت، I/O، ہیشنگ، سٹرنگ پروسیسنگ اور بہت کچھ مل سکتا ہے۔

اپاچی کامنز

Commons ایک بہت بڑا پروجیکٹ ہے جس میں مختلف مقاصد کے لیے جاوا کی بہت سی مفید یوٹیلیٹیز موجود ہیں۔ اس طرح، اپاچی کامنز کی لائبریریاں Tomcat، Hibernate اور کئی دوسرے بڑے پروجیکٹوں کو زیر کرتی ہیں۔ اپاچی کامنز میں بہت ساری لائبریریاں ہیں۔ آئیے Commons IO کا ذکر کرتے ہیں، جو I/O آپریشنز کو آسان بناتا ہے، csv فائلوں کے ساتھ کام کرنے کے لیے Commons CSV، پیچیدہ ریاضیاتی اور شماریاتی آپریشنز اور حسابات کے ساتھ کام کرنے کے لیے Commons Math، کمانڈ لائن دلائل کا تجزیہ کرنے کے لیے Commons CLI کا ذکر کرتے ہیں۔

8. API کلائنٹس

REST انسانی پڑھنے کے قابل فارمیٹ میں نیٹ ورک پر وسائل تک رسائی کے لیے اینڈ پوائنٹس کے لیے نام دینے کا ایک انداز ہے۔ جدید جاوا ڈویلپر کے لیے بہتر ہے کہ وہ REST نظریے کو سمجھے اور Spring RestTemplate کو بھی جان لے ، جو کہ REST کلائنٹ بنانے کے لیے ایک بہت مفید لائبریری ہے۔

9. ڈیزائن پیٹرن

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

10. اضافی علم

الگورتھم اور ڈیٹا ڈھانچے

"الگورتھمز اور ڈیٹا سٹرکچرز" تکنیکی یونیورسٹیوں میں پڑھائے جانے والے پورے کورس کا نام ہے۔ یہ مختلف ڈیٹا ڈھانچے کی تعمیر کی نظریاتی بنیاد کو ظاہر کرتا ہے۔ اور عملی کلاسوں میں وہ ان کے ساتھ کام کرنا سیکھتے ہیں - ڈیٹا ڈالنا اور بازیافت کرنا، انہیں تلاش کرنا اور چھانٹنا۔ دراصل، اس جملے میں "الگورتھمز" کا مطلب بالکل چھانٹنا اور تلاش کرنا ہے۔ سالوں کے دوران، کمپیوٹر سائنس دانوں نے بہت سے الگورتھم تیار کیے ہیں۔ ان میں سے کچھ تعلیمی نوعیت کے ہیں، کیونکہ عمل درآمد میں نسبتاً آسانی کے باوجود، وہ کام میں زیادہ موثر نہیں ہیں۔ مثال کے طور پر، وہ آہستہ آہستہ کام کرتے ہیں، جو بڑے ڈیٹا پولز پر نمایاں ہو سکتے ہیں۔ یا وہ بہت زیادہ میموری استعمال کرتے ہیں۔ دیگر الگورتھم بہت موثر ثابت ہوئے ہیں۔ اتنا زیادہ ہے کہ انہیں زیادہ تر پروگرامنگ زبانوں کی سرکاری لائبریریوں میں شامل کیا گیا ہے۔ اس کے مطابق، آج اس طرح کے الگورتھم کو آزادانہ طور پر تیار کرنا ضروری نہیں ہے۔ یہ جاننا کافی ہے کہ وہ کہاں ہیں۔ اور پھر بھی، زیادہ تر تجربہ کار ڈویلپرز تجویز کرتے ہیں کہ ابتدائی افراد "الگورتھم اسکول" سے گزریں—پڑھائی کے دوران انہیں خود ہی لاگو کریں۔ یہ پروگرامر کی سوچ کو فروغ دیتا ہے۔ یہ انٹرویوز میں بھی مدد کرتا ہے؛ وہ واقعی چھانٹنے اور تلاش کرنے کے مسائل پوچھنا پسند کرتے ہیں۔

سرولیٹس

Сервлет — это способ обработки requestа пользователя. Их сегодня используют не везде и не всегда, но получить о них представление будет полезно.

HTML и CSS

Основы верстки должны знать все. Эти знания получить довольно просто, и если вы вдруг ещё этого не сделали, уделите этому занятию пару дней. Заодно отдохнёте от более сложных тем.

XML

Расширяемый язык разметки раньше повсеместно применялся в Java-разработке. Его постепенно вытесняет JSON, но XML встречается и сегодня. Изучать его несложно, так что можно уделить этому языку толику внимания.

JavaScript

Опросы разработчиков показывают, что даже те из них, кто не имеет абсолютно ниHowого отношения к фронтенд-разработке, время от времени писали скрипты на JavaScript. Знание основ этого языка можно считать правилом хорошего тона, поэтому не поленитесь, почитайте о нём и создайте десяток-другой скриптов. Лишним не будет.
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION