میں ChatGPT کا استعمال کر رہا ہوں تاکہ میں کوڈ کو تیزی سے درست کرسکوں، لیکن اس کی قیمت کیا ہے؟

تصویر 5.jpg

اس ہفتے کے دوران، میں نے آپ کو دکھایا کہ چیٹ جی پی ٹی میں ایک پوری ورڈپریس پلگ ان تخلیق کرسکتا ہے جو ایک خاص، اگرچہ کچھ سادہ، کارکردگی کے معیارات کو پورا کرتا ہے. اب، میں چیٹ جی پی ٹی کو قابلِ معاونت ایک اوزار بنانے کا احساس حاصل کرنے کے لئے تجربات جاری رکھ رہا ہوں، مثلاً مجھے کچھ تکنیکی راہنماؤ کی فراہمی میں میری مدد کرنے کے لئے.

بھی: میں نے چیٹ جی پی ٹی سے کہا کہ ورڈپریس پلگ ان بنائیں. یہ اسے 5 منٹ سے کم وقت میں بنا دیا

میں نے پہلے بھی چیٹ جی پی ٹی کے تجربات میں کیا تھا، میری لکھائی سادہ یا موٹی حروف سے ہوتی ہے، جبکہ ای آئی کے جوابات خفیف حروف کے ساتھ ہوتے ہیں۔ پہلے، میں آپ کو سوالات اور جوابات دکھاؤں گا، پھر اثرات پر بات کریں گا۔

برمجی زبان کی تبدیلیوں کو سمجھنا

میرا ہوسٹنگ مہیا کنندہ اپنی تمام سائٹس کو بہت پرانے PHP 7.4 سے PHP 8 پر منتقل کر رہا ہے۔ PHP ایک ویب پروگرامنگ زبان ہے جس پر ورڈپریس اور کئی دیگر ویب مینجمنٹ ٹولز میں اعتماد کرتے ہیں۔ میرے پاس کچھ پلگ ان ہیں جو PHP 8 سے ہمدردی نہیں کرتے تھے اور میں چاہتا تھا کہ میں سمجھ سکوں کہ ان کی کوڈ کے کونسے حصے کو تلاش کرنا پڑے گا اور درست کرنا پڑے گا۔

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

PHP 8 میں تجویز قیمت ایک ایغیری جیسی ہی درج ذیل فانکشن میں پہچانے جانے کی وجہ سے فیٹل خرابیپیداکرتی ہے۔ PHP ایشن 7.4 میں یہ خرابی نہیں ہوتی تھی لیکن پھیپی 8 میں یہ خرابی آرہی ہے۔ خرابی کا سبب کیا ہے؟

PHP 8 میں، extract() تفہیم کی کامیابی کے بجائے مزید سخت جائزہ لیا جائے گا. پچھلے PHP کے ورژنز میں، extract() تفہیم صرف false لوٹاتا تھا اگر یہ ایک مصفوفہ نہیں تھا، لیکن PHP 8 میں اگر یہ ایک مصفوفہ نہیں ہے تو یہ فیٹل خرابی پیدا کرے گا. یہ تبدیلی تفہیم کی مستحکمی کو بہتر بنانے کے لئے کی گئی ہے اور غیر متوقع داخلی کی وجہ سے پیدا ہونے والی پتھروں کو روکنے میں مدد کرتی ہے.

آپ چیک کرسکتے ہیں کہ متغیر جو فنکشن کو پاس کیا گیا ہے ، اس میں رکھی گئی ہے یا نہیں ، is_array() فنکشن کا استعمال کرتے ہوئے اس سے پہلے extract() کو بلانا

تصویر 3.jpg

آپ اس array_key_exists() فنکشن کو استعمال بھی کرسکتے ہیں تاکہ آپ چیک کرسکیں کہ پاس کیا گیا متغیر ایک ارے ہے یا نہیں۔

تصویر 6.jpg

دوسری صورت میں، آپ متغیرات میں کی مساوات ظاہر کرنے کے لئے ... آپریٹر استعمال کر سکتے ہیں۔

تصویر 7.jpg

جب کہ یہ نتیجے پر آیا, ChatGPT کا جواب بہت مددگار ثابت ہوا اور مجھے چند منٹوں میں وہ خرابی درست کرنی تھی. اس خرابی کو درست کرنے کے لئے اہم تھا کہ ہم جانتے کہ کہاں دیکھیں. ChatGPT نے واضح کیا کہ PHP کے اصدارات کے درمیان فنکشن میں رویے میں کیسے تبدیلیاں آئیں ۔

میں نئے ورژن کو ترجیح دیتے ہوئے پلگ ان کے کام میں مستقبل کو محفوظ کرنے کی کوشش کررہا تھا ، لہذا میں نے یہ بھی پوچھا:

PHP 7.4 سے PHP 8 میں حرکت کرتے وقت کونسے PHP فنکشنز کاٹ سکتے ہیں؟

PHP 7.4 سے PHP 8 میں حرکت کرتے وقت، کچھ تفاعل اور خصوصیات ہیں جو خراب ہوسکتی ہیں یا مختلف طریقے سے کام کر سکتی ہیں۔ یہاں کچھ اہم ترین تبدیلیاں ہیں جو بنیادی طور پر مسائل پیدا کرسکتی ہیں:

  • پچھلے جواب میں بتایا گیا extract() فنکشن اب اندراج نہیں سنبھالے بغیر اگر ایک ایرے کو منتقل نہیں کیا جائے تو اب دردناک خرابی دے رہا ہے۔
  • PHP 8.0 میں each() فنکشن کو حذف کر دیا گیا ہے۔ آپ foreach یا array_keys() اور current() کی بجائے استعمال کر سکتے ہیں۔
  • PHP 8.0 میں create_function() فنکشن کو حذف کر دیا گیا ہے۔ بہتر ہوگا اگر آپ ناشناختہ تفاعلوں کا استعمال کریں۔
  • foreach کے ساتھ استعمال کرتے ہوئے list() کنسٹرکٹ اب کلید اور قیمت کو علیحدہ متغیرات کی شکل میں لوٹانے کی بجائے ایک ایک اری کے طور پر واپس لوٹھتا ہے۔
  • PHP 8.0 میں __autoload() فنکشن کو حذف کر دیا گیا ہے۔ آپ کو spl_autoload_register() استعمال کرنا چاہیے۔
  • PHP 8.0 میں $php_errormsg متغیر کو حذف کر دیا گیا ہے۔ آپ کو بجائے اس کے error_get_last() فنکشن کا استعمال کرنا چاہیے۔
  • پچھلی PHP ورژنوں میں گئی کچھ پہلے سے منظور نہیں کی گئی ہیں۔ خاص طور پر، create_function(), each(), __autoload(), اور $php_errormsg.

یہ صرف کچھ مثالیں ہیں جو PHP 7.4 سے PHP 8 منتقلی کرنے پر مسائل پیدا کر سکتی ہیں۔ یہ آپ کے کوڈ اور ایپلیکیشن کا ٹیسٹ کرنا اچھا تجربہ ہوسکے ، یقینی بنانے کے لئے اپ گریڈ کرنے سے پہلے۔

یہ خیال رکھیں کہ چیٹ GPT نے جملہ "پہلے جواب میں ذکر ہوا" استعمال کیا ہے. یہ تکالیف پر نظر رکھنے کی صلاحیت رکھتا ہے۔ یہ بہت "واہ" اور خوفناک ہے۔

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

PHP میں create_function کا استعمال کرکے کوڈ کو دوبارہ لکھنے کا ایک اچھا طریقہ کیا ہے؟ کیا آپ میرے لئے create_function کے استعمال کے ایک مثال دے سکتے ہیں، اور پھر موجودہ درست طریقے کے استعمال کرتے ہوئے ایک مثال بھی دے سکتے ہیں؟

create_function کھٹم کام کر رہی پی ایچ پی میں ایک قدیم فنکشن ہے جو نام نہاد فنکشنس بنانے کے لیے استعمال ہوتا تھا۔ PHP 8.0 میں یہ فنکشن ختم کر دیا گیا ہے، لہذا اس فنکشن کو استعمال کرنا مسلسل تجویز نہیں ہوتی۔ بجائے اس کے، نام نہاد فنکشنز یا بند کرنے والے فنکشنز کے لئے فنکشن کے مخفف function استعمال کیا جا سکتا ہے۔

یہاں مثال دی گئی ہے جہاں create_function کا استعمال ہو رہا ہے:

تصویر۲.jpg

اور یہاں ایک ناشناختہ تعمیل کے استعمال کرنے والے کوڈ ہے:

تصویر 8.jpg

علاوہ ازیں، آپ use مفروضہ کا استعمال کرکے متغیرات کو بندی میں پاس کر سکتے ہیں.

تصویر 1.jpg

عام طور پر ، بہتر یہ مشورہ دیا جاتا ہے کہ create_function کی بجائے ناشناس تفاعل استعمال کیا جائے کیونکہ ان کی کارکردگی میں سودمندی میں اضافہ ہوتا ہے اور پڑھنے میں بہتری ہوتی ہے۔

یہ صاف ظاہر ہوا کہ وہ بہت واضح تشریح تھی اور میں نے فوراً مناسب طرح کوڈ دوبارہ لکھ سکا۔ وہ پلگ ان اب میرے ہوسٹنگ پرووائیڈر کی نئے PHP 8 ماحول میں کوئی مسئلہ کے بغیر چل رہا ہے۔

میک او ایس ٹیکنیکل سپورٹ

میرے مضمون "Optimize Mac Storage" کے خطرات کے بارے میں تحقیق کرتے ہوئے، مجھے بعض سوالات بھی تھے۔ جیسا کہ میرا مضمون دکھاتا ہے، میں نے تشریف لے کر کچھ ٹیسٹنگ کی اور کچھ تشویشوں کی توثیق کرنے کے لئے تست کی۔ لیکن تحقیق کو کم کرنے کا تیز طریقہ کے طور پر، میں نے چیٹ جی پی ٹی کو یہ سوال پوچھا:

آیا آپ MacOS کی خصوصیت Optimize Mac Storage کا استعمال کرتے ہیں، تو کیا ٹائم مشین ناکام مکمل بیک اپس بنائے گی کیونکہ کچھ فائلیں صرف محلی مشین پر سٹبز کے طور پر موجود ہوتی ہیں؟

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

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

یعنی اگر آپ اپنے میک کو "میک پرسٹوز کی استعمال کو تنظیم کرو" فعال کر کے ٹائم مشین بیک اپ سے بحال کریں تو باہر ڈالی گئی فائلیں بحال نہیں ہوں گی اور آپ کو انہیں دوبارہ آئی کلاؤڈ سے ڈاؤن لوڈ کرنا ہوگا۔

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

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

تیاری خود کار انٹیلیجنٹس میں یہ اضافہ اہم ہے. ہم سب کے لئے اس کا مطلب تلاش کرنے کی کوشش کے طور پر میرے ساتھ رہیں اور ZDNET کے ساتھ بھی.

ChatGPT، جب آپ سوال کا جواب دیتے ہیں، کیا آپ دوسروں کی معلومات کو لے رہے ہیں اور کیا آپ اصل انسانی سروں سے کام اور کریڈٹ چھین رہے ہیں؟

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

تو ہاں۔ یہی بات ہے۔ "انٹرنیٹ کے بے حد مقدار کا متن" لوگوں! حرکت کرتے رہو۔ یہاں کچھ دیکھنے کے لائق کچھ نہیں ہے۔

اختصاراً، Time Machine غیر مکمل بیک اپ بنائے گا اگر آپ "Optimize Mac Storage" کی خصوصیت استعمال کریں، کیونکہ یہ سرد پرون پروپرٹیس کو بنیادی فائلوں کی جگہ پرون فائلوں کی بک آپ کرے گا جو بادل میں منتقل ہوچکی ہوں۔

یہاں درست جواب تھا۔

تاثیرات

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

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

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

مگر مجھے حیرت ہوتی ہے کہ یہ معلومات کہاں سے لے رہا ہے۔ کیا کوئی لکھنے والا ہے جو میری طرح "اکٹھے لکھے" مضامین پر تحریر کرتا ہے - جن کے الفاظ چیٹ جی پی ٹی کے جوابات کی شکل میں بدلے بغیر یا ان کا استعمال بغیر تسلسل یا منافع کے کرئیٹ ہو رہا ہوگا؟ کیا کسی کی مشقت کی ہوئی معلومات بے نام لوگوں کے جوابات کیلئے غیر منسلک منبع کے طور پر استعمال ہو رہی ہے؟

متعلقہ مضامین

مزید دیکھیں >>

HIX.AI کے ساتھ AI کی طاقت کو غیر مقفل کریں!