ریپڈ رسپانس: ڈیٹا بیس ڈیبگنگ اور ریسکیو کو پروفائل کرنا

مصنف: Roger Morrison
تخلیق کی تاریخ: 22 ستمبر 2021
تازہ کاری کی تاریخ: 1 جولائی 2024
Anonim
ریپڈ رسپانس: ڈیٹا بیس ڈیبگنگ اور ریسکیو کو پروفائل کرنا - ٹیکنالوجی
ریپڈ رسپانس: ڈیٹا بیس ڈیبگنگ اور ریسکیو کو پروفائل کرنا - ٹیکنالوجی

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



آپ فی الحال لاگ ان نہیں ہیں۔ ویڈیو دیکھنے کے لئے براہ کرم لاگ ان یا سائن اپ کریں۔

ایرک کااناگ: ٹھیک ہے ، خواتین اور حضرات ، یہ بدھ کے روز مشرقی وقت 4:00 بجے کا ہے ، اور یقینا اس کا مطلب ہے۔

رابن بلور: ایرک ، تمہیں سن نہیں سکتا۔

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


واقعی آپ کے بارے میں ایک جگہ ہے ، مجھے مارا ، یقیناeric_kavanagh۔

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

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

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


مشہور کیڑے کی ایک فہرست یہاں ہے ، اور ان میں سے بیشتر کسی بھی جسم کی فہرست میں شامل ہیں ، بنیادی طور پر ، آخری دو کے سوا کم از کم million 100 ملین۔ پہلا ایک مریخ آب و ہوا کا مدار تھا ، خلا میں کھو گیا تھا اور یہ کوڈنگ کی دشواری کی وجہ سے تھا ، جہاں لوگ (ہنستے ہوئے) پاؤں اور انچوں کے ساتھ میٹرک یونٹوں کو الجھاتے تھے۔ اریین فائیو فلائٹ 501 میں لگائے گئے انجن اور جو کمپیوٹرز اس راکٹ کو چلانے کے بارے میں سمجھے جارہے تھے اس کے مابین ایک مطابقت نہیں تھی۔ متعدد کمپیوٹر کی ناکامی ، پھٹنے والا راکٹ ، سرخی کی خبریں۔ سوویت گیس پائپ لائن 1982 میں ، سیارے کی تاریخ کا سب سے بڑا دھماکہ تھا۔ مجھے یقین نہیں ہے کہ آیا یہ ہے۔ روسیوں نے کچھ خودکار کنٹرول سافٹ ویئر چرا لیا ، اور سی آئی اے کو احساس ہوا کہ وہ ایسا کرنے جا رہے ہیں اور اس میں کیڑے ڈالیں گے ، اور سوویت یونین نے بغیر کسی جانچ کے اس پر عمل درآمد کرایا۔ تو ، ایک پائپ لائن کو اڑا دیا ، سوچا کہ دل لگی ہے۔

مورس کیڑا ایک کوڈنگ تجربہ تھا ، جو اچانک ایک بے چین کیڑا بن گیا جو ہر جسم پر چھا گیا- اس نے بظاہر million 100 ملین ڈالر کا نقصان پہنچایا۔ کورس کا اندازہ لگاتا ہے۔ انٹیل نے ریاضی چپ کے ساتھ ایک مشہور غلطی کی تھی - جو پینٹیم چپ پر 1993 میں ریاضی کی ہدایت تھی - جس پر سمجھا جاتا تھا کہ اس کی لاگت million 100 ملین سے زیادہ ہے۔ سیب کے نقشے کا پروگرام شاید ایپل کا سب سے خراب اور سب سے تباہ کن لانچ ہے۔ جن لوگوں نے اسے استعمال کرنے کی کوشش کی ، وہ تھے ، میرا مطلب ہے ، کوئی 101 کے ساتھ گاڑی چلا رہا تھا ، اور دریافت کیا کہ ایپل میپ نے بتایا ہے کہ وہ سان فرانسسکو خلیج کے وسط میں تھے۔ لہذا ، لوگوں نے ایپل میپس ایپ کو iLost کے نام سے دیکھنا شروع کیا۔ 1990 ء میں ہمارا سب سے طویل عرصے سے گزر - یہ اس طرح کی قیمت کے نقطہ نظر سے محض دلچسپ ہے - اے ٹی اینڈ ٹی تقریبا hours نو گھنٹے کے لئے باہر تھا اور اس کی طویل فاصلہ پر $ 60 ملین لاگت آتی ہے۔

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

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

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

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

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

بہرحال ، میں ڈیز پر جاؤں گا ، جو شاید اس سے کہیں زیادہ دانشمندی کے الفاظ کہے جس سے میں باہر نکلا ہوں۔ مجھے نہیں معلوم کہ آپ کو گیند کیسے گزرنا ہے ، Dez.

ایرک کااناگ: میں اسے پاس کروں گا ، کھڑے ہو جاؤ ، تھام لو۔

خودکار آواز: شریک لائنوں کو خاموش کردیا گیا۔

ایرک کااناگ: ٹھیک ہے ، ایک سیکنڈ پر لٹکا دو ، مجھے ڈیز کو گیند دینے دو۔

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

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

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

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

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

(ہنسی)

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

دراصل ، میرا پہلا تجربہ ٹیلی ٹائپ ٹرمینل پر تھا ، جو دراصل 132 کالم کا جسمانی ایر تھا۔ بنیادی طور پر ، کاغذ کے ساتھ ایک بہت ہی پرانے ٹائپ رائٹر کی طرح سوچئے جو اس کے ذریعے اسکرول ہو ، کیوں کہ ان کے پاس CRT ٹیوب نہیں ہے۔ اور اس پر ڈیبگنگ کوڈ بہت ہی غیر معمولی مسئلہ تھا ، لہذا آپ اپنا سبھی کوڈ ہاتھ سے لکھتے تھے ، اور پھر ٹائپسٹ کی طرح کام کرتے تھے ، چھپنے میں غلطیاں نہ لانے کی پوری کوشش کرتے تھے ، کیونکہ یہ کہنا انتہائی مایوس کن ہے ایک لائن ایڈیٹر کسی خاص لائن اور پھر لائن پر جانے کے ل the اور پھر اسے ٹائپ کریں۔ لیکن ایک بار ، ہم نے کوڈ لکھتے ہوئے لکھا تھا کہ ہم ڈیبگ کیسے کرتے ہیں ، اور ہمیں اس میں بہت اچھ gotا موقع ملا۔ اور در حقیقت ، اس نے ہمیں پروگرامنگ کی بہت اچھی تکنیکیں رکھنے پر مجبور کیا ، کیونکہ اسے ٹھیک کرنے میں یہ ایک حقیقی پریشانی تھی۔ لیکن اس کے بعد یہ سفر گزر گیا - اور سبھی اس سے واقف تھے - یہ میری دنیا کے 3270 ٹرمینل تجربے سے ڈیجیٹل آلات VT220 تک گیا جہاں آپ اسکرین پر چیزیں دیکھ سکتے تھے ، لیکن ایک بار پھر ، آپ صرف وہی کام کر رہے تھے جو آپ نے کیا تھا۔ صرف ایک CRT پر ایڈ فارمیٹ کی طرح کاغذی ٹیپ پر ، لیکن آپ زیادہ آسانی سے حذف کرنے میں کامیاب ہوگئے اور آپ کے پاس وہ “dit dit dit dit” آواز نہیں ہے۔

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

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

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

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

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

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

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

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

اور اس بات کو ذہن میں رکھتے ہوئے ، میں اپنے مہمان کے حوالے کروں گا اور میں یہ سننے کے منتظر ہوں کہ انہوں نے اس مسئلے کو کیسے حل کیا۔ اور خاص طور پر میرے خیال میں وہ ڈیمو ملنے والا تھا۔ ایرک ، بیمار واپس گزر گیا۔

ایرک کااناگ: ٹھیک ہے ، برٹ ، اسے لے جاؤ۔

برٹ اسکالزو: اچھا آپ کا شکریہ. برٹ سکالزو یہاں سے IDERA ، ہمارے ڈیٹا بیس ٹولز کے ل product پروڈکٹ مینیجر ہوں۔ اور میں ڈیبگنگ کے بارے میں بات کرنے جارہا ہوں۔ میرے خیال میں رابن نے پہلے کہی ایک سب سے اہم بات - اور اس کی حقیقت یہ ہے کہ ڈیبگنگ بہت ہی کم اور غیر معمولی ہے ، اور جب آپ ڈیٹا بیس پر جاتے ہیں تو اس کی شدت کا آرڈر اس سے بھی زیادہ سخت اور غیر معمولی ہوتا ہے - لہذا ، ایک اہم حوالہ تھا۔

ٹھیک ہے. میں پروگرامنگ کی تاریخ سے آغاز کرنا چاہتا تھا ، کیونکہ بہت ساری بار میں ان لوگوں کو دیکھتا ہوں جو ڈیبگ نہیں کررہے ہیں ، وہ ڈیبگر استعمال نہیں کرتے ہیں ، وہ صرف جس زبان کا استعمال کرتے ہیں اس سے پروگرام کرتے ہیں اور بہت بار مجھ سے کہتے ہیں ، "ٹھیک ہے ، وہ ڈیبگر چیزیں نئی ​​ہیں ، اور ہم نے ابھی تک ان کا استعمال شروع نہیں کیا ہے۔ "اور اس کے بعد میں کیا کروں میں انھیں اس ٹائم لائن چارٹ ، طرح کی تاریخ سے پہلے کی طرح ، بڑھاپے ، درمیانی عمر ، اس طرح کی بات کہوں گا کہ ہم کہاں تھے پروگرامنگ زبانوں کی شرائط۔ اور ہمارے پاس بہت پرانی زبانیں 1951 میں اسمبلی کوڈ ، اور لسپ اور حقیقت اور کوبل کے ساتھ شروع ہوئیں۔ اس کے بعد ہم اگلے گروپ ، پاسکلز اور سی ایس اور پھر اگلے گروپ ، سی ++ ایس میں داخل ہوجائیں اور دیکھیں کہ وہ سوالیہ نشان کہاں ہے۔ یہ سوالیہ نشان تقریبا888 to to سے شاید 1980 کے عین قریب ہے۔ اس جگہ میں کہیں ہمارے پاس تھا ہمارے پاس ڈیبگرز دستیاب ہیں ، اور اس طرح یہ کہنا ، "ارے ، میں ڈیبگر استعمال نہیں کررہا ہوں ، ان میں سے کسی ایک نئی چیز کا سبب بنتا ہوں ،" پھر آپ نے پروگرامنگ شروع کردی ہوگی ، آپ کو معلوم ہوگا ، 1950 کی دہائی میں ، آپ کو واحد راستہ ملنے کا سبب بنتا ہے۔ اس دعوے سے دور

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

ڈیز بلانچفیلڈ: میں کہنے جارہا تھا ، آپ نے وہاں ہماری عمر بہت اچھال لی ہے۔

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

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

اب ، پروفائلنگ: آپ مختلف طریقوں سے پروفائلنگ کرسکتے ہیں۔ کچھ لوگ کہیں گے کہ کام کے بوجھ پر قبضہ اور دوبارہ چلائیں جہاں اس نے سب کچھ پکڑ لیا ہے ، اس کی گنتی پروفائل کے طور پر ہے۔ اگر اس کے نمونے لینے سے کام لیا جائے تو میرا تجربہ اس سے زیادہ بہتر رہا ہے۔ ان میں سے ہر ایک بیان کو پکڑنے کی کوئی وجہ نہیں ہے ، کیوں کہ کچھ بیانات اتنی جلدی سے چل سکتے ہیں کہ آپ کو پرواہ نہیں ہے ، جو آپ واقعی دیکھنے کی کوشش کر رہے ہیں وہ ٹھیک ہے ، جو وہی ہیں جو بار بار ظاہر کرتے رہتے ہیں ، کیونکہ وہ بہت طویل دوڑتے ہیں . لہذا ، کبھی کبھی پروفائلنگ کا مطلب پوری چیز کو چلانے کے بجائے نمونے لینے کا مطلب بن سکتا ہے۔ اور عام طور پر ، آپ کو کسی قسم کی آؤٹ پٹ ملے گی جس کا استعمال آپ کرسکتے ہیں ، اب یہ کسی IDE ڈویلپمنٹ ماحول کے نظارے میں ہوسکتا ہے ، جہاں یہ آپ کو مختلف خطوط کوڈ کی کارکردگی کا ایک ہسٹوگرام دے سکتا ہے ، لیکن یہ اب بھی ہوسکتا ہے ہو کہ یہ ٹریس فائل تیار کرے۔

پروفائلر سب سے پہلے 1979 میں شائع ہوئے۔ لہذا ، وہ بھی ایک طویل عرصے سے رہے ہیں۔ وسائل کی کھپت ، یا کارکردگی کے امور تلاش کرنے کے ل Great ، دوسرے لفظوں میں جو کارکردگی کی بات ہے۔ عام طور پر ، یہ ڈیبگر سے الگ اور الگ ہے ، حالانکہ میں نے ڈیبگرز کے ساتھ کام کیا ہے جو بیک وقت دونوں کرتے ہیں۔ اور جب مجھے لگتا ہے کہ پروفائلرز ان دو ٹولز میں زیادہ دلچسپ ہیں ، اگر مجھے لگتا ہے کہ کافی لوگ ڈیبگ نہیں کرتے ہیں تو یقینا then کافی تعداد میں لوگ نہیں ، کیونکہ ایسا لگتا ہے کہ دس میں سے ایک ڈیبگر پروفائل کرے گا۔ اور شرم کی بات ہے ، کیونکہ پروفائلنگ واقعی میں بہت بڑا فرق لاسکتی ہے۔ اب ، ڈیٹا بیس کی زبانیں ، جیسا کہ ہم نے پہلے کی بات کی تھی ، آپ کو ایس کیو ایل مل گیا ہے - اور ہم نے طرح طرح کے گول پیر کو یہاں کے مربع سوراخ میں داخل کردیا اور اسے ایک پروگرامنگ زبان بننے پر مجبور کیا۔ اوریکل۔Thats PL / SQL - طریقہ کار کی زبان SQL - اور SQL سرور ، اس کا ٹرانزیکٹ- SQL ، اس SQL-99 ، اس SQL / PSM - کے لئے ، مجھے لگتا ہے کہ اس کا طریقہ کار اسٹور شدہ ماڈیول ہے۔ پوسٹگریس اس کو دوسرا نام ، ڈی بی 2 اور ایک اور نام ، انفارمکس دیتا ہے ، لیکن بات یہ ہے کہ ہر ایک نے 3GL قسم کی تعمیرات پر مجبور کیا ہے۔ دوسرے لفظوں میں ، متغیر کے اعلامیے پر ، loops کے لئے ، اور SQL کو غیرملکی چیزیں اب ان زبانوں میں SQL کا حصہ ہیں۔ اور اسی طرح ، آپ کو ایک PL / SQL یا ٹرانزیکٹ SQL اسی طرح ڈیبگ کرنے کے قابل ہونا چاہئے جیسے آپ ایک بصری بنیادی پروگرام بنائیں۔

اب ، ڈیٹا بیس اشیاء ، یہ ضروری ہے کیونکہ لوگ کہیں گے ، "ٹھیک ہے ، مجھے ڈیٹا بیس میں کون سی چیزیں ڈیبگ کرنا ہیں؟" اور جواب یہ ہے ، ٹھیک ہے ، جو بھی آپ کوڈ کے بطور ڈیٹا بیس میں اسٹور کرسکتے ہیں - اگر میں ٹی کر رہا ہوں۔ ایس کیو ایل ، یا پی ایل / ایس کیو ایل - اور آئی ایم ڈیٹا بیس میں اشیاء کو ذخیرہ کررہا ہے ، یہ شاید ذخیرہ شدہ طریقہ کار یا اسٹوریج فنکشن ہے۔ لیکن وہاں بھی متحرک ہوجاتا ہے: ایک محرک ایک ذخیرہ شدہ طریقہ کار کی طرح ہوتا ہے ، لیکن یہ کسی نہ کسی طرح کے واقعے پر آگ لگاتا ہے۔ اب ، کچھ لوگ اپنے محرکات میں ایک کوڈ کی لکیر لگائیں گے اور ذخیرہ شدہ طریقہ کار کو کال کریں گے تاکہ وہ اپنے تمام ذخیرہ شدہ کوڈ اور طریقہ کار کو برقرار رکھیں ، لیکن یہ ایک ہی تصور ہے: اس کا اب بھی محرک وہی ہوسکتا ہے جو پوری چیز کو شروع کرتا ہے۔ اور پھر اوریکل کی حیثیت سے ، ان کے پاس ایک پیکیج نامی کچھ ہے ، جو لائبریری کی طرح ہے اگر آپ کریں گے۔ آپ نے ایک گروپ میں 50 یا 100 ذخیرہ شدہ طریقہ کار ڈال دیا ، جسے پیکیج کہتے ہیں ، لہذا اس کی طرح لائبریری کی طرح۔ لہذا ، ڈیبگر پرانے طریقے سے ہریس؛ یہ دراصل ایک ٹول ہے جو دراصل آپ کے لئے آپ کے کوڈ میں ان تمام ڈیبگ بیانات کو داخل کرے گا۔ لہذا ، جہاں کہیں بھی آپ ڈیبگ بلاک دیکھتے ہیں ، اسے نہیں ہٹاتے ہیں ، آٹو ڈیبگر اسٹارٹ کرتے ہیں اور ٹریس کرتے ہیں ، وہ سب کسی نہ کسی آلے کے ذریعہ پھنسے ہوئے تھے۔ اور اس سے باہر کی لکیریں ، جو کوڈ کی اقلیت ہے ، اچھی طرح سے ، غیر دستی ڈیبگنگ کا طریقہ کار بناتا ہے۔

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

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

اب ، وہاں اگلا تیر - آپ اس DBMS آؤٹ پٹ کی طرف ، دائیں طرف اشارہ کرتے ہوئے جیسے تھوڑا سا نشان دیکھ سکتے ہو ، وہ جگہ ہے جہاں میرا کرسر اس وقت موجود ہے۔ لہذا ، دوسرے الفاظ میں ، Ive قدم رکھا اور جہاں اس وقت I وہاں ہے۔ لہذا ، اگر میں کہتا ہوں کہ ، "پھر سے قدم اٹھائیں" ، تو میں اگلی لائن میں جاؤں گا۔ اب اس کے بالکل نیچے آپ کو سرخ نقطہ نظر آئے گا۔ ٹھیک ہے ، ایک وقفہ نقطہ ہے ، جس کا کہنا ہے کہ "ارے ، میں ان لائنوں پر قدم نہیں اٹھانا چاہتا ہوں۔" اگر میں صرف ہر چیز پر کود پڑنا چاہتا ہوں اور اس سرخ نقطے کو کہاں جانا چاہتا ہوں تو ، میں رن بٹن کو ٹکر سکتا ہوں اور یہاں سے بھی چلا جاؤں گا۔ اختتام ، یا کسی بریک پوائنٹ پر ، اگر وہاں کوئی بریک پوائنٹ مقرر ہو ، اور پھر یہ رک جائے گا اور مجھے دوبارہ قدم رکھنے دے گا۔ اور اس کی وجہ یہ ہے کہ یہ سب اہم اور طاقتور ہے ، کیوں کہ جب میں یہ سب کر رہا ہوں تو ، درمیان میں اور یہاں تک کہ نیچے کیا ہو رہا ہے - لیکن سب سے اہم بات یہ ہے کہ وسط بدل جائے گا اور میں اپنی متغیرات سے اقدار دیکھ سکتا ہوں ، میری کال اسٹیک ٹریس دیکھیں ، آپ جانتے ہیں ، اور اس طرح کی تمام معلومات کوڈ کے ذریعے قدم اٹھانے کے بطور ظاہر ہوتی ہیں ، لہذا میں واقعتا دیکھ سکتا ہوں اور محسوس کرسکتا ہوں اور اس کے بارے میں ایک تفہیم حاصل کرسکتا ہوں کہ عمل درآمد کے وقت کوڈ در حقیقت کس طرح کام کررہا ہے۔ . اور عام طور پر مجھے کوئی مسئلہ درپیش ہے ، اگر کوئی مسئلہ ہے ، یا اگر میں اسے پکڑنے کے لئے کافی اچھا ہوں۔

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

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

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

ٹھیک ہے ، میں یہاں ایک حقیقی فوری ڈیمو کرنے جارہا ہوں۔ پروڈکٹ کو آگے بڑھانا میرا ارادہ نہیں ہے ، میں صرف آپ کو یہ دکھانا چاہتا ہوں کہ ایک ڈیبگر کیسا لگتا ہے اس کی وجہ سے بہت سارے لوگ کہیں گے ، "میں نے ان میں سے ایک بھی پہلے کبھی نہیں دیکھا تھا۔" اور یہ اسکرین اسنیپ سلائڈ میں بہت خوبصورت نظر آتا ہے ، لیکن کیا جب اس کی حرکت ہوتی ہے تو کیا ایسا لگتا ہے؟ تو ، یہاں میری اسکرین پر ہمارا ڈی بی آرٹیزان پروڈکٹ چل رہا ہے۔ ہمارے یہاں بھی ایک ڈیبگر ہے۔ ڈی بی آرٹیزن کا مطلب ڈی بی اے کے لئے زیادہ ہے ، ریپڈ ایس کیو ایل ڈویلپرز کے لئے زیادہ ہے ، لیکن میں نے ڈی بی آرٹیزان استعمال کرنے والے ڈویلپرز کو دیکھا ہے ، اور Ive نے DBAs کو دیکھا ہے جو ریپڈ استعمال کرتے ہیں۔ تو ، مصنوعات پر پھنسنے کے لئے مت. اور یہاں ، میرے پاس ڈیبگ کرنے کا انتخاب ہے ، لیکن ڈیبگ لانچ کرنے سے پہلے ، میں اس کوڈ کو نکالنے جا رہا ہوں تاکہ آپ یہ دیکھ سکیں کہ کوڈ اس کو چلانے سے پہلے کی طرح لگتا ہے۔ تو ، یہاں عین وہی کوڈ ہے جو اسکرین اسنیپ شاٹ میں تھا ، یہ میری نقلوں کے لئے چیک ہے۔ اور میں اس کو ڈیبگ کرنا چاہتا ہوں ، لہذا میں ڈیبگ دباتا ہوں۔ اور اب ، اس میں ایک لمحہ لگتا ہے اور آپ کہتے ہیں ، "ٹھیک ہے ، کیوں کہ یہ ایک لمحہ کیوں لے رہا ہے؟" ریموٹ ڈیبگنگ کو یاد رکھیں: ٹھیک کرنا میرے پی سی پر نہیں ، بلکہ میرے ڈیٹا بیس سرور پر ہو رہا ہے۔ لہذا ، اسے ختم ہوکر وہاں سیشن بنانا ہوگا ، ریموٹ ڈیبگنگ چیز بنانی ہوگی ، میرے سیشن کو اس ریموٹ ڈیبگنگ سیشن میں لگانا تھا اور ایک مواصلاتی چینل تشکیل دینا تھا۔

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

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

اور اس کے ساتھ ، میں ڈیمو معطل کروں گا اور واپس جاؤں گا اس لئے کہ ہم یہ یقینی بنانا چاہتے ہیں کہ ہمارے پاس سوالات اور جوابات کے ل for وقت ہے۔ اور اسی طرح ، میں اسے سوالات اور جوابات کے ل. کھول دوں گا۔

ایرک کااناگ: ٹھیک ہے ، رابن ، شاید آپ سے کوئی سوال ہے اور پھر ڈیز سے ایک جوڑے؟

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

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

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

رابن بلور: ہاں ، حیرت انگیز ہے۔ میں نے یہ کبھی نہیں کیا۔ آپ یقینا course دیکھیں ، جب میرے پاس ڈیٹا بیس کی پریشانی تھی تو ایسا تھا جیسے میں ایک طرح سے کسی اور طرح سے ڈیٹا بیس سے نمٹ رہا ہوں یا کوڈ کے ساتھ معاملہ کر رہا ہوں۔ میں بیک وقت ان دونوں کے ساتھ کبھی معاملہ نہیں کرسکتا تھا۔ لیکن وہاں ، ایک بار پھر ، میں نے ایسا نہیں کیا - میں واقعتا applications کبھی بھی ایسی درخواستوں کی تعمیر میں ملوث نہیں رہا تھا جہاں ہم نے طریقہ کار کو محفوظ کیا تھا ، لہذا میرا اندازہ ہے کہ میں کبھی بھی ایسی پریشانیوں میں نہیں پڑتا جو مجھے جنگلی بنانے کے لئے استعمال کرتے ہیں ، اس خیال سے کہ آپ کوڈ کو تقسیم کریں ڈیٹا بیس اور ایک پروگرام۔ لیکن اس کے باوجود ، تمام جوابات کو ہاں میں ہی ہو رہا ہوں ، لیکن یہ ایک ترقیاتی ٹیم کی سرگرمی کا حصہ ہے ، جب آپ کسی طرح یا ٹوٹ پھوٹ کو ختم کرنے کی کوشش کر رہے ہیں ، یا ہوسکتا ہے کہ ایک نیا درخواست ساتھ لائیں۔ لیکن کیا یہ تمام درجی دوسرے تمام اجزاء کے ساتھ ہے جس کی میں ماحول میں توقع کروں گا؟ کیا میں یہ توقع کرسکتا ہوں کہ میں اپنے تمام ٹیسٹ پیکوں اور ان تمام چیزوں کو جو میں کر رہا ہوں اور اپنے پروجیکٹ مینجمنٹ کے سامان کے ساتھ مل کر کلپ کرسکتا ہوں ، کیا یہ ساری کلپس ایک ساتھ مل کر چلتی ہیں؟

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

رابن بلور: زبردست.

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

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

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

رابن بلور: ہاں ، میں اس پر آپ کے ساتھ ہوں۔ میرا مطلب ہے ، اب میں آ گیا ہوں ، تعلیم کا مسئلہ بناتا ہوں۔ میرے خیال میں یہ مکمل طور پر تعلیم کا مسئلہ ہے ، میرے خیال میں پروگرامروں کے لئے طریقہ کار کے مطابق سوچنا فطری ہے۔ اور ایس کیو ایل طریقہ کار نہیں ہے ، اس کا اعلامیہ ہے۔ آپ دراصل صرف یہ کہہ رہے ہیں کہ ، "میں یہی چاہتا ہوں اور مجھے اس کی پرواہ نہیں ہے کہ آپ یہ کیسے کرتے ہیں ،" آپ جانتے ہو؟ جب کہ پروگرامنگ کی زبان کے ساتھ آپ اکثر آستین لپیٹ لیتے ہیں اور آپ گنتی کا انتظام کرنے کے منuیٹی میں اتر جاتے ہیں جب کہ آپ لوپ کرتے ہیں۔ بیمار ہاتھ to—

برٹ اسکالزو: نہیں ٹھیک ہے ، جاری رکھیں۔

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

رابن بلور: ہاں ، یہ ایک تباہی ہوگی۔ جس کا مطلب بولوں: آپ بس گھوم رہے ہوں گے۔ دھمکیاں ہمیشہ ہی خراب رہتی ہیں۔

بہرحال ، بیم سے Dez پر گزریں۔ مجھے یقین ہے کہ ہچ کو کچھ دلچسپ سوالات ملے ہیں۔

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

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

آپ کہیں بھی $ 6 کی قمیض خرید سکتے ہیں ، اس کی وجہ یہ ہے کہ کسی نے واقعی تیار کرنے اور جہاز بھیجنے اور منطقی طور پر فراہمی اور فروخت اور خوردہ کے لئے ایک سسٹم بنایا تھا اور اس $ 6 شرٹ کو حاصل کرنے کے لئے آن لائن ادائیگی کی جائے گی۔ اور ایسا نہیں ہوتا اگر آپ کو لوگوں کو ایک سال میں ،000 400،000 کی ادائیگی کامل طریقے سے ہوسکتی ہے۔ اس کی صرف پوری ترقی ہے۔ تو ، اس نقطہ نظر سے ، مجھے لگتا ہے کہ آئی ڈی واقعی آپ سے ایک سوال کا اندازہ لگاتا ہے کہ آپ ہمیں محض کچھ اور بصیرت فراہم کرتے ہیں ، کیا آپ اس طرح کے لوگوں کی وسعت اور وسعت کو دیکھ سکتے ہیں جو کسی کوڈ کو پروفائل کرنے اور دیکھنے کے ل these اس قسم کے ٹولز کو لگا رہے ہیں۔ کارکردگی کے مسائل کے لئے؟ ابتدا میں ، تاریخی طور پر ، وہ کہاں سے آتے ہیں؟ کیا وہ بڑے انجینئرنگ ہاؤس رہے ہیں؟ اور پھر ، آگے بڑھنا ، کیا یہ معاملہ ہے ، کیا میں یہ سوچنے میں درست ہوں کہ زیادہ سے زیادہ کمپنیاں اس آلے کو ، یا ان ٹولز پر عمل درآمد کر رہی ہیں ، تاکہ کوڈرز کی مدد اور مدد کی جاسکے ، کون جانتا ہے کہ کام ختم کرنے کے لئے کون کام کر رہا ہے۔ اور اسے دروازے سے باہر نکالنا؟ اور کبھی کبھی ہمیں جیل سے باہر نکلنے والے کارڈ کی ضرورت ہوتی ہے؟ کیا میں یہ سوچنے میں حق بجانب ہوں کہ تاریخی طور پر ہمارے پاس انجینئرنگ کی زیادہ توجہ اور ترقی ہے؟ جیسا کہ اب ، کچھ کم ہورہا تھا ، جیسا کہ رابن نے کہا ، تعلیمی نقطہ نظر ، اور اب اس کی خود تعلیم ، یا کٹ اور پیسٹ کوڈ ، یا صرف چیزیں تعمیر کروائیں؟ اور کیا اس طرح کے لوگوں سے میل کھاتا ہے جو اب پروڈکٹ لے رہے ہیں؟

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

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

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

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

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

برٹ اسکالزو: بالکل ٹھیک

ڈیز بلانچفیلڈ: لہذا ، کیا آپ میرے خیال سے اب کچھ زیادہ کچھ دیکھ رہے ہیں ، میرا مطلب ہے ، مجھ سے حتمی سوال ، اس سے پہلے کہ میں اپنے شرکاء کے ل our اپنے سوال و جواب کی طرف پھینکوں۔ اگر آپ یہ کرنے کے ل around نقطہ نظر کے ارد گرد کسی طرح کی سفارش دینے جارہے ہیں - میں یہ فرض کر رہا ہوں کہ یہ بیان بازی ہے - کیا یہ معاملہ ہے کہ آپ ترقی پذیر ہونے سے پہلے ، ابتدائی طور پر آپ کو ترقی پذیر بناتے ہوئے اس کو نافذ کریں گے؟ یا یہ معاملہ ہے کہ آپ بنیادی طور پر عمارت حاصل کرتے ہو ، چلتے ہو ، کچھ بناتے ہو پھر آتے ہو اور بعد میں اس کی پروفائلنگ کرتے ہو؟ مجھے شبہ ہے کہ جلد ازجلد ہوجائیں اور یقینی بنائیں کہ آپ کے کوڈز صاف ہیں۔ یا یہ ایسا معاملہ ہے کہ ان کو بعد میں تعیناتی کے اس حصے پر غور کرنا چاہئے؟

برٹ اسکالزو: مثالی طور پر ، وہ یہ کام سب سے آگے کرتے ، لیکن چونکہ ہر ایک ہلچل ، ہلچل کی دنیا میں ہے جہاں انہیں بس کام کرنا پڑتا ہے ، اس وقت تک وہ ایسا نہیں کرتے جب تک کہ وہ کسی پرفارمس پریشانی کا شکار نہ ہوجائیں جس سے وہ زیادہ سی پی یو اور میموری شامل کرکے حل نہیں کرسکتے ہیں۔ ایک ورچوئل مشین میں

ڈیز بلانچفیلڈ: ہاں تو ، دراصل آپ نے کچھ دلچسپ بات کا ذکر کیا ، اگر میں جلدی سے کروں؟ آپ نے پہلے بتایا ہے کہ اسے کہیں سے بھی چلایا جاسکتا ہے ، اور پچھلے سرے پر ڈیٹا بیس سے بات کی جاسکتی ہے۔ لہذا یہ ہم اس طرح کے bimodal تصور کے ساتھ آرام دہ اور پرسکون ہیں جو ہم اب کے بارے میں بات کرتے ہیں ، آن پریمیم / آف پریمیم کلاؤڈ کی ، چیزوں کی شکل کے مطابق بھی ، دن کے آخر میں ، اگر یہ پچھلے سرے پر بات کرسکتا ہے اور دیکھ سکتا ہے کوڈ ، یہ واقعی پرواہ نہیں کرتا ، کیا یہ کرتا ہے؟

برٹ اسکالزو: بالکل ٹھیک ، ہاں ، آپ اسے بادل میں چلا سکتے ہیں۔

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

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

برٹ اسکالزو: بالکل ، اس کی وجہ سے جو میں ان سے کہتا ہوں ، وہ ہے ، "میں اپنے دستاویزات پر ہجے کی جانچ کیوں کرتا ہوں؟ میں بیوقوف ہجے کی غلطیوں سے شرمندہ ہونا نہیں چاہتا۔ "ٹھیک ہے ، وہ کوڈ کوڈنگ غلطیوں کی وجہ سے شرمندہ ہونا نہیں چاہتے!

ایرک کااناگ: ٹھیک ہے۔ ہاں یقینا. ٹھیک ہے ، لوگ ، یہاں ایک گھنٹہ اور پانچ منٹ کے دوران ہم نے جلادیا ، لہذا آپ کا وقت اور توجہ کے لئے آپ سب کا بہت بہت شکریہ۔ ہم ان تمام ویب چیٹس کو آرکائیو کرتے ہیں ، کسی بھی وقت واپس آ کر بلا جھجک محسوس کرتے ہیں۔ ان لنکس کو تلاش کرنے کے ل Best بہترین جگہ شاید ٹیکوپیڈیا ڈاٹ کام ہے ، لہذا اسے ابھی یہاں اس فہرست میں شامل کریں۔

اور اس کے ساتھ ہی ، آپ لوگوں کو الوداع کرنے کے لئے گئے تھے ، ایک بار پھر ، عمدہ نوکری ، برٹ ، آئی ڈی ای آر اے کے اپنے دوستوں کا شکریہ۔ اچھ youی سے اگلی بار آپ سے بات کریں گے ، حقیقت میں اگلے ہفتے آپ سے اچھی بات کریں گے۔ اپنا خیال رکھنا! خدا حافظ.