[Powered by Google Translate] [9 ہفتے جاری] [ڈیوڈ J. Malan - ہارورڈ یونیورسٹی] یہ [CS50 ہے. CS50.TV] - یہ CS50 ہے. یہ 9 ہفتے کے آخر ہے. آپ کا بہت بہت شکریہ. آخر میں. 9 ہفتے. مجھے مل گیا. آج ہم ویب پروگرامنگ کے بارے میں ہماری گفتگو جاری حتمی منصوبے کی طرف ایک آنکھ کے ساتھ، آپ کو وجہ سے ویب کی بنیاد پر کچھ کرنا ہے حتمی منصوبوں کے لئے بلکہ اس لئے کہ آخری منصوبوں کے لئے یا CS50 کے بعد اس بات کو یقینی طور سے سمت جس میں جدید سافٹ ویئر کی جا رہی ہے ہے. اور ابھی تک یہ اصل میں ایک آسان بات نہیں ہے. اصل میں، سب سے مشکل کام کرنے میں سے ایک ڈیزائن کے پہلو یہ ہے. مثال کے طور پر، ہم نے ڈیزائن کی طرف سے اصل میں یوزر انٹرفیس حاصل مطلب یا صارف کے تجربے ٹھیک ہے. daresay I - اور ہم نے ایک حالیہ مسئلہ سیٹ سے جانتے ہیں تم میں سے چند سافٹ ویئر میں سے کچھ ٹکڑے کے بارے میں جب اپنی gripes نشر یا ہارڈ ویئر ہے کہ آپ کو کیمپس یا کہ infuriates - وہاں کی سائٹس میں سے ایک بہت ہے، وہاں ہارڈ ویئر کے ایک بہت ہے، اس طرح کی بیکار ہے. لیکن حقیقت یہ ہے کہ وہ چیزیں ہیں جو ابھی تک استعمال کرنے کے لئے آسان ہے بنانے باوجود طاقتور ہیں ایک بہت مشکل چیلنج ہے. تو میں نے آج کے لئے یوسف اور ٹومی مجھے شامل ہونے کے لئے یہاں کہا تاکہ ہم بات چیت کر سکتے ہیں، کے بارے میں دونوں ڈیزائن اور جو سوچ کے عمل کی قسم اپنے سر کے ذریعے کرنا شروع کر دینا چاہئے جب آپ کو آپ کی آخری منصوبوں ڈیزائن، آپ کے مستقبل کی کوششوں. اور پھر ہم پر عملدرآمد کی تفصیلات میں سے کچھ میں ٹومی مدد کے ساتھ دیکھتا ہوں. آپ کو کاغذ پر یا آپ کے دماغ میں کچھ نقطہ نظر کس طرح کر سکتے ہیں کہ آپ پروگرام تو پھانسی کر سکتے ہیں ٹیکنالوجی اور طریقوں میں سے کچھ کا استعمال کرتے ہوئے کی طرف سے ہم صرف کے بارے میں بات کرنا شروع کر دیا ہے، یعنی جاوا اسکرپٹ اور بھی نئے، یعنی AJAX، اتلیکالک جاوا اسکرپٹ چيز ہے. کہ آپ سب کو ایک صارف انٹرفیس کی زیادہ متحرک بنانے کے لئے کی اجازت دیتا ہے زیادہ سے زیادہ ڈیٹا سرور سے آہستہ آہستہ نکال رہا ہے کی طرف سے. تو ہم نے ان ٹکڑوں میں سے کچھ آج اچھی طرح کے طور پر نظر آئے گا. ایک طرف ایک کے طور پر، اگر آپ کو کمپیوٹر سائنس میں توجہ مرکوز کرنے میں دلچسپی رکھتے ہیں یا کمپیوٹر سائنس میں minoring جانتے ہیں، کہ دوپہر میں اس جمعہ میکسویل Dworkin 221 میں ایک پزا واقعہ ہو جائے گا آپ کو کمپیوٹر سائنس کے بارے میں تھوڑی معلومات حاصل کر سکتے ہیں. دروازے کے باہر آپ کی طرح آج آپ نے ہارورڈ میں کاوچ سرفنگ کے ایک غیر سرکاری گائیڈ کرنے کے لے کرنے کے قابل ہو جائے گا. ہم کمر کی اونچائی میں باہر ردی کی ٹوکری میں کین پر ڈال دیتا ہوں کہ ایسا ہے، اگر آپ نے اس پر قبضہ کرنے اور کاوچ سرفنگ کے بارے میں مزید تھوڑا سا سیکھنے کرنا چاہتے ہیں کہ آپ کے لئے وہاں کے طور پر یہ 0 ہفتے میں کریں گے. اس کے علاوہ اگر آپ اس جمعہ کو 1:15 بجے ہمیں CS50 دوپہر کے کھانے کے لئے اپنے ساتھ شامل ہونے کی چاہتے ہیں، cs50.net/lunch سربراہ. مزید ado کے بغیر، میں آپ کو تعلیم کے ساتھی جوزف Ong دیتے ہیں. ہیلو. [تعریف] شکریہ. یہاں کلاس کہا جاتا CS179 پہلی بار میں ڈیزائن کے بارے میں سیکھا تھا. وقت میں پروفیسر نے ہمیں دوسرے پروفیسر کے بارے میں کہانی کو بتایا ایک ہوٹل پر جو چلا گیا تھا faucets استعمال کیا ہے. آپ کے وزٹرز کا ریکارڈ رکھا کوئی کیا بائیں 2 knobs بتا اور ٹھیک کر سکتا ہوں؟ [طالب علم] گرم اور سرد ہے. >> گرم اور سرد ہے. اچھی بات ہے. کیا آپ ان کے ساتھ عام طور پر توقع، ہے نا؟ ٹونٹی کا استعمال کرتے ہوئے اس کے بعد پروفیسر نہا لینا چاہتا ہے، اور وہ اس کا استعمال کرنے کے لئے آمدنی ہے. وہ بائيں پاؤں سمجھے اور صحیح اطراف کو گرم اور ٹھنڈا کے لئے ہے، ہے نہ؟ لیکن کوئی مجھے کہو کہ یہ اصل میں کیا کر سکتے ہیں؟ کوئی ہاتھ ہے؟ [اشراوی طالب علم کے جواب] >> ایک تجویز ہے؟ [اشراوی طالب علم کے جواب] >> درجہ حرارت؟ تو ان میں سے ایک کا درجہ حرارت اور دیگر کنٹرول کنٹرول؟ >> [طالب علم کو] پانی کا دباؤ. پانی کا دباؤ ہے. اچھی بات ہے. یہ پروفیسر اس میں چلتا ہے، اور سوچ وہ گرم اور ٹھنڈا کنٹرول کر رہے ہیں، درست ہے، جو وہ سوچتا ہے کہ اپ گرم، سارا راستہ ہے بدل جاتا ہے کیونکہ وہ ایک گرم شاور لینا چاہتی ہے. ٹھیک ہے، یہ اپ واقعی نہیں ملتی ہیں، تو وہ یہ مزہ بہت تجربہ نہیں ملتا ایک سرد شاور میں کیا جا رہا ہے، اور ہم سب جانتے ہیں کہ وہ کیسا محسوس کرتی ہے. یہ ایک ڈیزائن دوش کی ایک مثال ہے. میں کیا مطلب ہے کی طرف سے ہے کہ ٹونٹی سے ان کی امید ہے کیا سے مماثل نہیں ہے کہ شاور سے باہر آئے، جو کہ اس کے لئے بدقسمتی کی طرح ہے. تو یہ ڈیزائن دوش ہے کہ حقیقی زندگی میں ہوتا ہے اس کی ایک مثال ہے. لیکن ہم نے دوسرے لوگوں کے تمام قسم کے ساتھ ساتھ دیکھتے ہیں. ہم شاید نہیں ہو MBTA نظام کی پرستار. یہ لندن میں ایک سب وے اصل نظام ہے، جس میں کہا گیا ہے، ہے انہوں نے کہا کہ "یہ بٹن استعمال میں نہیں ہے." یہ وہاں پر کیوں بھی؟ ہم بھی کیوں پرواہ نہیں ہے؟ میں ایک بچہ، گھر میں ٹیک پریمی ایک ہونے کی وجہ سے جب تھی، کمپیوٹر جب بھی کریش گے، میری ماں میرے پاس آئے گا، مجھے اس کی سکرین دکھاتا ہے اور مجھ سے پوچھے کہ کیا ہوا ہے. مجھے بھی پتہ نہیں کیا اس کا مطلب یہ ہے کہ ہے. [ہنسی] کیا خیال ہے؟ [ہنسی] کبھی کبھی ہم سافٹ ویئر ڈویلپرز کی طرح محسوس کرتا ہوں صرف trolling ہمارے ہیں. صارفین جیسے جیسے ہم کی طرح ہیں انہوں نے کہا کہ کیا ہو رہا ہے کسی نے ہمیں بتایا؟ " یہ سب ڈیزائن کا مسئلہ آتا ہے. ڈیزائن، ہم کے طور پر دیکھ سکتے ہیں، خالصتا جمالیات کے بارے میں نہیں ہے، یہ کیسا نظر آئے نہیں ہے. ہم یہاں دیکھتے ہیں کہ یہ پاپ اپ یہاں بہت کم اصل میں بہت اچھا لگتا ہے. یہ پس منظر میں کمی کا سايہ ہے، سرحد پر جا radiuses ہے. یہ خوبصورت کی طرح ہے. کیونکہ یہ بہت صارف دوستانہ نہیں ہے واقعی میں بہت اچھا نہیں ہے کے لئے ڈیزائن کیا ہے. وہ چھوٹی پاپ اپ کہ آتی ہے آپ کے وزٹرز کا ریکارڈ نہیں کوئی معلومات دے کیا ہو رہا ہے کے بارے میں، یہ صارف کے طور پر کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے متعلق بتانا ہے کچھ بھی نہیں کہ غلطی کس طرح سے نمٹنے کے لئے کے بارے میں ہے. ہم چیزوں کہ ڈیزائن نہیں ہے کے بارے میں سوچنا چاہتے ہیں. سب سے پہلے، یہ جمالیات نہیں ہے. یہ بھی پڑھنا آپ کی اے پی پی ہے غیر ضروری کی فعالیت کے ٹن کے ساتھ نہیں. اگر آپ کو ایک تھائی ریستوران ہیں، آپ شاید ایک ہی وقت میں ایک دانتوں کا ڈاکٹر نہیں چاہتا ہے. اور فیس بک کے سوالات کے ساتھ، بہت سے لوگ نہیں اس کا استعمال کیا اور یہ واقعی وہ کیا تعمیر کیا گیا تھا کی بنیاد پر نہیں تھا. اور اس طرح یہ اچھا ہے کے بارے میں چیزوں کی مقدار سوچنا اتنا نہیں ہے کہ آپ کو آپ کی درخواست کی لیکن معیار میں ڈال رہے ہیں اور کس طرح تم نے اس صارف کے تجربے کو بہتر بنانے رہے ہیں اصل کی طرف سے جو آپ نے پہلے ہی صلی اللہ علیہ وسلم کو بہتر بنانے کے. مختصر میں، ڈیزائن ہمیں بتاتی ہے کہ ہم کیا تعمیر کرنا چاہئے. مثال کے طور پر، اگر ہم کچھ کہ ہمیں چیزوں کو تلاش کی تعمیر کر رہے ہیں، گوگل کی طرح، ہم نے مثال کے طور پر ایک انداز میں چیزیں کرنا چاہیے ہے کہ صارف کو ہونے والے کلکس کی بہت کہ وہ کیا کرنا چاہتے ہیں حاصل کرنے کے لئے کی ضرورت ہے، یا یہ ایک طرح سے ہم گوگل کے فوری یا خود تکمیل کے ساتھ مثال کے طور پر کیا ہونا چاہئے، اس کا کی اجازت دیتا ہے کہ ہمارے نتائج تیزی سے حاصل ہے؟ انجینئرنگ شامل ہے، کی طرح ٹومی تمہیں دکھاتا ہوں، اصل میں اس کی تعمیر کریں گے. ڈیزائن کی اقسام میں سے بہت سے ہیں. مثال کے طور پر، اگر آپ کو کچھ بنا رہے ہیں کچھ تعینات کرنے کا ، ایک تیسری دنیا کا ملک ہے جہاں زیادہ بجلی یا یہ کہ زیادہ ٹیکنالوجی نہیں ہے آپ کو ڈیزائن ہے کہ آپ کیا بنا رہے ہیں ہے ایک طریقہ ہے کہ آسانی سے وہاں کے لوگوں تک رسائی فراہم کرتا ہے. لیکن جو دیگر ڈیزائن کے فیصلوں کی طرح ہو سکتا ہے یا کچھ اس طرح میں ملوث ہو سکتا ہے؟ جی ہاں. میں نے ایک ہاتھ نظر آتا ہے. [اشراوی طالب علم کے جواب] >> حق ہے. بالکل. رسائی ایک بات ہے. بہت سے لوگوں کی ایک کے بارے میں "کیا میرے صارفین کے بارے میں ہے؟" نہیں میں کیا سوچتے ہیں، دونوں میں سے کسی بھی سپیکٹرم کے غلو کی طرح. میں صارفین جو معذور ہے کہ میں کے بارے میں نہیں سوچ رہا ہوں ہو سکتا ہے ہے اور میں صرف عام صارف کے لیے ڈیزائن کے بارے میں سوچ رہا ہوں. انٹرنیٹ آج کل سب کی طرف سے قابل رسائی ہے، اور میں ان لوگوں کے لئے بھی ڈیزائن چاہئے. تمہیں کیا دیگر ڈیزائن کے فیصلوں کی طرح کر سکتا ہے؟ جی ہاں. >> [طالب علم] لاگت. قیمت. بہت اچھا ہے. ایک اور چیز جو ہم پر ہمارے ڈیزائن کے فیصلوں کی بنیاد سکتے ہیں قیمت ہیں. اگر ہم نے ایک کاروبار ہیں، تو آپ کو کچھ زیادہ قیمت نہ لے تیار کرنے کی تعمیر کرنا چاہتے ہیں خاص طور پر اعلی قیمت پر فروخت پر یا ہم میں سے کچھ منافع حاصل کر سکتے ہیں کر سکتے ہیں. یہ ڈیزائن کے تمام مختلف اقسام ہیں، لیکن جب ہم نے انٹرنیٹ پر کچھ بنا رہے ہیں یا جب ہم کچھ ہے کہ شاید اتنا خرچ نہیں ہے اب کی تعمیر کی تعمیر کر رہے ہیں، انٹرنیٹ ایپلی کیشنز کی طرح - آپ اس میں زیادہ سے زیادہ سرمایہ پھینک نہیں ہے کے لئے کچھ ہے جو اصل میں کام کرتا ہے - کیا ہم زیادہ کے بارے میں فکر مند ہو صارف کا تجربہ ہے. ہم اس صارف مرکوز ڈیزائن کہتے ہیں. بنیادی طور پر ہے کہ صارف مرکوز ڈیزائن شامل اپنے آپ کو آپ کے صارفین میں سے جوتے میں ڈال رہا ہے. اگر جو میں تعمیر کر رہا ہوں کے لئے کسی نشانیاں وہ واضح طور پر دماغ میں ایک مقصد کے ساتھ اپنے مخصوص کی درخواست آیا، کام کے ساتھ وہ مکمل کرنا چاہتے ہیں. اور آپ کا کام نہ صرف اس کام کو مکمل کرنے میں ان کی مدد لیکن میں ان کی مدد کوچاہیے کہ وہ موثر، بدیہی ہے میں اس کام کو مکمل کرنے کے اور، جیسا کہ بعض شخص نے کہا کہ وہاں، قابل رسائی. کارکردگی کا کیا مطلب ہے؟ کارکردگی کا مطلب ہے کہ کتنی تیزی سے اپنے صارف کو دیا میرے انٹرفیس کام کو مکمل کرتا ہے. کیا یہ کلکس کی بہت سی کے لئے ان کو ایک جگہ سے دوسرے کو حاصل کرنے کے لئے؟ کیا ہے تکاؤ ہے؟ کیا وہ بار بار کاموں کو بہت کو انجام دینے کے لئے ہے؟ ہم نے ہر ممکن حد تک موثر طور پر اس عمل کو بنانا چاہتے ہیں تو وہ ان طرح کی چیزوں کے کرنے کی ضرورت نہیں ہے. intuitiveness کے لئے کے طور پر، یہ مثال کے طور پر ہے، اگر کوئی صارف اپنے انٹرفیس لگتا ہے، کے لئے ان کی جگہ سے حاصل کرنے کے لئے یہ آسان ہے؟ کیا یہ ان کے لیے جو وہ میری انٹرفیس میں کلک کریں اعداد و شمار پر آسان میں ان کے لئے مقصد یا کام کو حاصل کرنے کے لئے ہے کہ وہ حاصل کرنے چاہتے ہیں؟ اور آخر میں، کے طور پر ایک شخص نے کہا کہ وہاں کی رسائی بہت ضروری ہے. [لڑکا اسپیکر] یہ وژن کی طرح چیزوں کے لئے رسائی کے لئے آتا ہے، جیسا کہ میں کوئی ہے جو اندھا ہے کے لئے واقعی کچھ کرنا ڈیزائن؟ اوہ. لوگ ہیں جو بالکل نہیں دیکھ سکتے ہیں، ہمیں کہا جاتا اسکرین پر قارئین کے کچھ ہے. آپ کو کیا کرنا چاہیے ہے کہ آپ کو ایک طرح سے آپ کی ویب سائٹ کی تعمیر کرنا چاہئے کہ، مثال کے طور پر جو ہم کہتے ہیں، خاص طور پر ٹیکنالوجی - اب چیزوں کی بہت ہیں. مجھے لگتا ہے کہ وہاں پردے کہا جاتا جاز قارئین ہیں. ان چیزوں کی ایک بہت پر انحصار کرتے ہیں جو ہم علاقے کے قوانین کہتے ہیں کے لئے صارف کو پڑھنے کے لئے کیا صفحے پر موجود ہے. ان لوگوں کے جو نہیں دیکھ سکتے ہیں کے لئے، آپ کو اس بات کا یقین کرنے کی ضرورت ہے کہ یہ اسکرین پر قارئین کے اصل صفحے پر جائیں مواد اٹھا کر اپنے صارفین کو اصل میں دکھا سکتے ہیں کر سکتے ہیں، اگر آپ کو نہیں دیکھ سکتے ہیں، کم سے کم آپ کے صفحے پر مواد اب بھی سمجھ سکتے ہیں. جی ہاں. ٹھیک ہے. بہت ہو گیا اچھا ڈیزائن کے بارے میں میں بات کر رہے ہیں. چلو برا ڈیزائن کے بارے میں بات کرتے ہیں. یہ وہ چیزیں ہیں جو آپ کو نہیں کرنا چاہئے ہیں. آپ کے وزٹرز کا ریکارڈ رکھا کسی Craigslist کے ساتھ ان کے تجربات کے بارے میں بتا سکتے ہیں اور جو کچھ ان کا خیال ہے اس ڈیزائن کے بارے میں اتنا اچھا نہیں ہے؟ جی ہاں. >> [طالب علم] مجھے لگتا ہے کہ ایک علاقے میں بہت سے الفاظ. بہت سارے الفاظ، ہے نا؟ پوری طرح غالب ہے. آپ کو اس صفحے پر آ کر آپ کو یہاں چیزوں کی پوری چڑھانے کے ساتھ مبارک باد دی ہے کہ تم بھی کوئی فرق نہیں پڑتا ہو سکتا ہے. مثال کے طور پر، آپ کو ایک ریاست ہے کہ نہیں اس خط کے ساتھ شروع ہوتا ہے میں رہتے ہیں. چلو کا کہنا ہے کہ آپ کو ٹیکساس یا کچھ اور میں رہتے ہیں. آپ کو صفحے نیچے طریقہ مقام آپ میں ہیں حاصل کرنے کے لئے سکرال کرنے میں ہے. میں بوسٹن سے ہوں، تو کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے میسا چوسٹس میں نظر آتے ہیں. میسا چوسٹس کہاں ہے؟ اوہ، یہ یہاں ہے. اوہ، یہ بوسٹن ہے. ٹھیک ہے. میں بوسٹن میں نظر ہوں. [ہنسی] بہت زبردست، ٹھیک ہے؟ وہاں عجیب باتیں. [ہنسی] چلو کا کہنا ہے کہ کے لئے میں رہنے کے لئے کہیں دیکھ رہا ہوں. کتنے لوگ اصل میں استعمال کیا ہے Craigslist؟ آپ کے ٹن. بہت برے طریقے ہیں اس کو دیکھنے کے لئے، لیکن ہم اس کو دیکھو. IMG اور pic کے درمیان کیا فرق ہے؟ کیا کوئی مجھے بتا سکتا ہے؟ اصل میں کوئی فرق نہیں ہے. وہ بالکل وہی بات مطلب ہے، لیکن انہوں نے کسی وجہ کے لئے ان کے لئے مختلف لیبل ہے. اگر میں نے پر کلک کریں تصویر کے صفحے پر، کچھ بھی نہیں ہوتا ہے. دراصل میں تلاش ہونے کے لیے کچھ کے لئے دوبارہ کلک کریں. ایک بہتر ڈیزائن فیصلہ ہے کہ وہاں کیا جائے کیا جا سکتا ہے کیا ہو سکتا ہے؟ اگر میں اس فلٹر پر کلک کر رہا ہوں، میں شاید اس مخصوص کارروائی کی طرف سے فلٹر کرنا چاہتے ہیں یا کہ خاص طور کی قسم. لہذا، میں تلاش دوبارہ پریس کرنے کی بجائے فلٹرنگ صرف خود کار طریقے سے کر سکتے ہیں طرح کے گوگل انداز جہاں وہ اسے فوری طور پر کرتے ہیں. [Malan] بناتی ہے لیکن جیسا کہ ہم نے انہیں ابھی تک جسمانی طور پر پیش کرنے کی ہے ہے مارنے کی طرف سے کم از کم یا ایک بٹن پر کلک درج کریں؟ جیسا کہ آپ نے انہیں اب تک دیکھا ہے، آپ اصل میں کلک کریں ان چیزوں کو کرنے کی عرض ہے. لیکن جیسا کہ ٹومی آپ کو ایک دوسرے میں دکھایا جائے گا، اصل میں آپ کے لئے طریقے ہیں ایسی ہے کہ جب تم اس چیز پر کلک کریں یہ خود کار طریقے سے بھیج سکتے ہیں کیا ہم نے ایک AJAX کی درخواست فون اور ڈیٹا واپس ہو جاؤ اور آپ کے نتائج فوری طور پر فلٹر. چیزیں جو اس انٹرفیس کے ساتھ غلط ہیں ٹن ہیں. [Malan] آپ کیمبرج کے لئے تلاش کر سکتے ہیں؟ تھوڑا ویشم یہاں کچھ ہے جہاں آپ کیمبرج کے بارے میں پرواہ ہے اور ابھی تک تم Westford، بہار ہل، مغربی نیوٹن اور اس طرح کی ہو رہی ہے. شاید مثالی نہیں ہے. >> شاید نہیں مثالی ہے. میں اس مخصوص صفحے پر صارف کے تجربے کو بہتر بنانے کے لئے کرنے کے قابل کیسے ہو سکتا ہے؟ جی ہاں. >> [طالب علم] ہدایات. ٹھیک ہے. احساس کس طرح کا ہدایات؟ مثال کے طور پر [طالب علم]، پہلی بار صارفین جو بھی کیا Craigslist ہے پتہ نہیں ہے کے لئے ایک بات آپ کو معلوم ہے یا نہیں کہ آپ کو کیا کرنا چاہئے کر رہے ہو. ٹھیک ہے. تو وضاحت Craigslist اس صفحے پر ہے ضروری ہے. ہم نے صارفین کو اصل میں بتاو کہ کیا اس صفحہ کے لئے اصل ہے. اگر میں صرف اس کا دورہ کر رہا ہوں، میں مقامات کی ایک پوری چڑھانے دیکھتے ہیں. میں یہ بھی نہیں کہ وہ کیا مطلب جانتے ہو. لیکن زیادہ اہم بات یہ ہے کہ صرف اس انٹرفیس کے دیکھ یاد میں چیزوں کی ایک ٹن سکرال ایک خاص کمیونٹی کو تلاش کرنے کے لئے تھا کہ میں اصل میں اس کے بارے میں پرواہ نہیں کی. ایک تیز طریقہ میں کر سکتا ہوں کیا ہے؟ جی ہاں. [طالب علم] انہیں مشرق، مغرب علاقوں میں تقسیم کریں. ٹھیک ہے. >> میں انہیں زیادہ اقسام آپ کے وزٹرز کا ریکارڈ رکھا تیزی کا تعین میں مدد کر سکتے ہیں میں تقسیم کر سکتے ہیں کس طرح اس خاص مقام پر حاصل کرنے کے لئے. [طالب علم] ایک ڈراپ ڈاؤن فہرست رکھو. >> حق ہے. ٹھیک ہے. میں ایک ڈراپ ڈاؤن مینو کا استعمال کریں کیونکہ ہم چیزوں کی ایک مقررہ سیٹ کر سکتے ہیں اور ہم نے انہیں ایک ڈراپ ڈاؤن مینو میں دکھایا جا سکتا ہے. اس طرح سکرین پر لگتا ہے اتنی جگہ نہیں ہے. لیکن اس سے بھی بہتر، ہم کیا کر سکتے ہیں؟ جی ہاں. >> [اشراوی طالب علم کے جواب] >> کہ آپ پھر سے کہہ سکتا ہے؟ >> [طالب علم کو] تلاش کے باکس. جی ہاں، ایک تلاش کے باکس. یہ بہت اچھا ہے. اصل میں ہم کیا کر سکتے ہیں ہے اگر ہم سلائڈ، تلاش کے باکس میں واپس نظر آئے. خودکار طور پر مکمل. بہت آسان نتائج کہ آپ جانتے ہیں کے ذریعے تلاش کرنے کا طریقہ ایک سیٹ میں ہیں. اگر میں BO ٹائپ کرنا شروع کریں، صرف آپ کے وزٹرز کا ریکارڈ رکھا تمام نتائج کے کہ ان میں سے BO اندر ہے دکھاتے ہیں. اس طرح میں نے خاص طور پر جس میں جانا چاہتے ہیں بہت آسانی سے حاصل کر سکتے ہیں یہ واقعی بڑی فہرست کے ذریعے سکرال کرنے کی بجائے. یہ واقعی کم پھانسی پھل ہر قسم کے ہیں کہ کوئی ہے جو Craigslist عمل کر رہا ہے اصل میں بہت ان کی مخصوص صارف کے لئے بہتر ویب سائٹ پر تجربے کو بہتر بنانے کے کر سکتے ہیں. ٹھیک ہے. بہت ہو چکا خراب ویب سائٹ کے بارے میں میں بات کر رہے ہیں. فیس بک کے بارے میں بات کرنے دو جب فیس بک باہر آئے، اور خاص طور پر فیس بک تصاویر دیگر خدمات کا وقت ہے جو بالکل وہی چیز کر سکتا ہے میں بہت تھے. وہ یلبموں میں آپ کی تصاویر کو منظم کر سکتا ہے. آپ کیا کر سکتے ہیں ہے، آپ ان کے سیٹ میں منظم جا سکتا ہے. تم نے انہیں تاریخ کے لحاظ سے منظم کر سکتے ہیں. آپ ان تمام خاص طور پر کام کر سکتا ہے. لیکن کسی کو بھی معلوم ہے کہ کیا نے فیس بک تصاویر جب سے یہ جاری کیا گیا تھا دھماکے کرتا ہے؟ جی ہاں. >> [طالب علم کی تلاش میں.] >> ٹیگز. بالکل. ہم یہاں Milo، جو کہ CS50 bandana کے ساتھ ہمارے کتے کے شوبنکر ہے. تم نے دیکھا ہے کہ ہم درمیان میں اس ٹیگنگ خصوصیت ہے کر سکتے ہیں. اور کیا پریوست کے نقطہ نظر سے فیس بک تصاویر بہت دلچسپ بنا دیا یہ ہے کہ یہ اصل میں اس کے ذریعے لوگوں کو ان کی تصاویر میں ان کے دوستوں کو شامل کرنے کے لئے کی اجازت دی ہے. فیس بک کے لئے ہے، کے بعد سے ان کی ویب سائٹ خاص طور پر سماجی ہے، یہ سماجی ماحول کا اس طرح کی تعمیر کے بارے میں ہے. یہ تصاویر کے تجربے کو بہت بہتر کیونکہ ان کا یہ کہنا بھی شروع کر سکتا ہے، "یہ ان لوگوں کے درمیان تعلقات ہیں، اور یہ وہ لوگ ہیں جن سے آپ نے واقعی پرواہ کے بارے میں تصاویر نہیں ہیں. " جسم کے اس حصہ کو بھی طرح narcissism ہے. لوگ اس طرح کی تصاویر اور چیزوں میں ٹیگ پسند کرتا ہوں. جب کہ ایک اچھا انسان علامات ضروری نہیں ہے، ایک ہی وقت میں یہ اچھا ڈیزائن کے فیصلوں کی بنیاد پر ہے کیونکہ لوگ اصل میں اس طرح چیزوں کے بارے میں فکر کرتا ہوں. تو جو فیس بک تصاویر ہے. لیکن فیس بک سے زیادہ عام طور پر بات. میں اس بات کا یقین کر لیں کہ یہاں لوگوں کی بہت فیس بک کے بارے میں رائے ہے ہوں، دونوں اچھے ڈیزائن فیصلے اور خراب ڈیزائن فیصلے. تو یا خوش رہو چھدر. چلو. مجھے معلوم ہے کہ آپ سب کو فیس بک کا استعمال کرتے ہیں. کسی کو کچھ برا کہنا یا کچھ اچھا ہے اس کے بارے میں کیا کہنا ہے. جی ہاں. خبر فیڈ [طالب علم] ایک بہت سی چیزوں کے بارے میں میں واقعی پرواہ نہیں کرتا ہے. خبر فیڈ ہیں آپ کے بارے میں کوئی پرواہ نہیں کر سکتے ہیں کے ایک بہت ظاہر کرتا ہے. آپ فیس بک پر دوست ہیں جو آپ کو 2 یا 3 سال کے لئے پورا نہیں کیا ہے تمہیں دیکھ کر اور ان کی خبر کے نتائج آپ کی خبر فیڈ میں پوپ آؤٹ اور آپ کو اس کے بارے میں بہت پرواہ نہیں کرتا. فیس بک نے اصل میں اس میں بہتر بنانے کے لئے کی کوشش کی ہے، اور وہ اصل میں نے حال ہی میں خبر فیڈ کے سب سے اوپر پر متعلقہ نتائج کو دھکا کی کوشش کی ہے تاکہ آپ کے دوستوں کو جو آپ یا آپ کے قریبی دوستوں سے متعلق ہیں کی طرف سے اصل میں چیزیں دیکھیں. اور کچھ؟ جی ہاں. [اشراوی طالب علم کے جواب] >> کہ آپ پھر سے کہہ سکتا ہے؟ [طالب علم] اشتھارات کو نسبتا ونیت ہیں. کس لحاظ سے >>؟ [اشراوی طالب علم کے جواب] وہ بینر کی طرح سکرین پر روشنی نہیں ہے،. ٹھیک ہے. وہ اچھا ہے. اگر آپ '90s سے انٹرنیٹ یاد - >> [Malan] میں وہاں تھا. >> وہ وہاں تھا. [ہنسی] آپ GIFs چمکتا پس منظر، sparkly باتیں یاد کر سکتے ہیں، چیزوں کی GeoCities طرز ترتیب دیں. یہ واقعی ایک اچھا ڈیزائن کی ایک مثال نہیں کیونکہ یہ واقعی مواد سے پریشان ہے. ییل فن اس ویب سائٹ کی ان کے پس منظر کے طور پر متحرک GIFs پر استعمال کیا جاتا اور آپ کے صفحے پر کچھ نہیں پڑھ سکتا ہے، لیکن مجھے لگتا ہے کہ کسی اصل میں ان سے بات کی ہے اور اب یہ تھوڑا سا مختلف ہے. [Malan] اب یہ بہتر ہے. >> یہ بہتر ہے اب، جیسا کہ آپ دیکھ سکتے ہیں. >> [Malan] اوہ، جی ہاں. بہت اچھا، صرف - جی ہاں. ٹھیک ہے. جسم کے اس حصہ کو بھی اپنے صفحے کو بہت minimalist اور بہت فہم کر رہا ہے ایک طریقہ ہے کہ بہت منطقی ہے میں صفحہ کے بہاؤ پر چیزیں اتنی اور ایک دوسرے کے راستے میں نہیں حاصل کر سکتا ہوں. دوسری چیزوں کس طرح فیس بک کے بارے میں اچھا ہے یا فیس بک کے بارے میں برا ہے؟ چلو، صرف ایک ڈیزائن گفتگو یہاں. اوہ. کہاں ہے؟ جی ہاں. [طالب علم] نئی ٹائم لائن کا نظام آپ کو ان کے ماضی کے بارے میں اس شخص کی پروفائل تلاش کرنے کی اجازت دیتا ہے. ، ؤہ سمیریھا. ٹائم لائن ایک عظیم چیز ہے کیونکہ یہ آپ stalk اپنے دوستوں کی اجازت دیتا ہے واپس جب وہ ہائی اسکول میں تھے. ٹائم لائن اچھا ہے کیونکہ یہ اجازت دیتا ہے آپ کو تیزی سے بہت مواد کے ذریعے فلٹر اس کی مدد سے آپ کو چیزیں جو دوسری صورت میں کیا تم نے ایک بہت طویل وقت لے تلاش صرف سکرول نیچے،،،،، وقت میں واپس جانے کا من. لیکن پھر بھی صارفین کے تجربے کے لحاظ سے طرح کی کمی کی ہے. اس سے کیا ہو سکتا ہے؟ بڑا لفظ ہے جو P R-کے ساتھ شروع ہوتی ہے. >> [طالب علم] نجی معلومات کی حفاظتی. >> پرائیویسی، ٹھیک ہے؟ معلومات کي پوشيدگي کا ایک بڑا صارف کے تجربے کا مسئلہ ہے. یہ چیزوں میں فیس بک کے بارے میں سب سے زیادہ سے نفرت میں سے ایک ہے. [ہنسی] [Malan] جیسا کہ اب مجھے کیا کرنا. ڈیوڈ کا احساس نہیں تھا کہ یہ اصل میں کل تک ہوا. تو اب وہ یہ بھی جانتا ہے کہ ہر بار جب میں نے اسے بات چیت میں جانتا ہوں کہ وہ مجھے نظر انداز کرتے ہوئے. [Malan] عجیب حصہ میں کیا گیا تھا اصل میں اس کو نظر انداز، اور مجھے پتہ نہیں تھا کہ انہیں پتہ تھا کہ میں نے اس کو نظر انداز کر رہا تھا. [ہنسی] معلومات کي پوشيدگي کا ایک بہت بڑا مسئلہ ہے. یہاں کوئی مجھے بتاو کہ کیا فیس بک کی رازداری کے بارے میں میں برا ہو سکتا ہے کر سکتے ہیں حقیقت یہ ہے کہ وہ اس طرح کام کرتے ہیں کے علاوہ؟ کیا ہے خاص طور پر فیس بک کی رازداری کے احترام کے ساتھ کیا مشکل ہے؟ اس طرح ایک اہم سوال ہے. جی ہاں. >> [طالب علم] بعض لوگوں کی طرف سے آپ کی تصاویر کو چھپائیں. ٹھیک ہے. بالکل، بعض لوگوں کی طرف سے آپ کی تصاویر کو چھپانے کے لئے. وہ اوپری دائیں ہے کہ اس کی مدد سے آپ کو ایک تصویر کی رازداری کو ٹاگل میں اس چھوٹے، چھوٹے بٹن ہے. ان کی ذاتی زندگی کے اختیارات کے مینو کے مختلف قسم کے درمیان بہت مختلف ہے. انہوں نے اس کے بارے میں بہت بہتر ہو گیا ہے حال ہی میں، لیکن یہ معاملہ کیا کرتے تھے ، جب بھی آپ کو دیکھ تصاویر سے اپنے دوستوں کو روکنے کے لئے کرنا چاہتا تھا کہ آپ طرح ہونے کا ایک بہت پیچیدہ عمل مرحلہ نمبر 5 کے ذریعے جانا ہوگا، مجھے اس لنک پر کلک کریں، اب مجھے پھر سے کریں پر کلک کریں، مجھے پھر سے کریں پر کلک کریں، مجھے وضاحت کریں کہ کون لوگوں کو میری تصاویر کو دیکھ نہیں کر سکتے ہیں. یہ فیس بک کی طرف سے خاص طور پر اچھا نہیں ہے وجہ سے صارفین کے تجربے کے بارے میں اتنا زیادہ اصل میں ان کی آزادی دے رہا ہے کنٹرول لوگ کیا دیکھ سکتے ہیں. ہم اس رکن کنٹرول اور آزادی کہتے ہیں. اگر آپ کو نہیں دے رہے ہو اپنے صارفین کو ہے کہ، ایک طریقہ ہے کہ ہنر اور بدیہی ہے اس وقت آپ کے صارف کے تجربے کو بہت اچھا نہیں ہے بالکل.  فیس بک کے بارے میں کچھ کہنا تم لوگ چاہتے ہیں؟ میں اس بند کو کس طرح باری ہے؟ [Ong] آپ اسے بند کردیں، اور سکتا ہے کہ فیس بک کے ایک حصے کے پر ایک بہت بڑا پریوست دوش ہے. اس کو نمایاں کریں - اصل میں میں کل اس میں دیکھا - یہ یا تو ہے کہ تم ایسا نہیں کر سکتے ہیں یا اسے کہیں دفن بہت، بہت گہرا ہے فیس بک کے کونوں میں کیونکہ میں باہر سمجھ نہیں کس طرح میں اس فعالیت کو غیر فعال کر سکتے ہیں. [Malan] لیکن کبھی کبھی ان فیصلوں واضح نہیں ہیں کیونکہ تم لوگ ہمیں مختلف CS50 درخواستوں پر دیا ہے مفید رائے کی ایک بہت اور ویب سائٹ ہے کہ کورس کا استعمال کرتا ہے. ہم ان درخواستوں اور تجاویز کے سب لاگو نہیں ہے. حصہ یہ ہے کہ بہت سی درخواستوں کو حاصل کرنے کے لئے یہ ہے کہ اس وقت کی ایک تقریب ہے، لیکن کبھی کبھی ہم ویسے ہی جیسے ایک ہوش فیصلہ کرتے ہیں تو، انہوں نے کہا کہ آپ کے مشورے کا شکریہ، لیکن ہم اختلاف. " تو آپ اصل میں کس طرح کا فیصلہ کرتے ہیں آپ کو کیا کرنا چاہیے اگر آپ کے صارفین کو لگتا ہے کہ آپ کو کچھ کرنا چاہیے یہاں تک کہ اگر آپ ضروری نہیں کرتے؟ یہ اصل میں اپنے صارفین کا کہنا ہے کہ سن کے درمیان ایک اچھا توازن ہے اور اصل میں لائن کے کچھ جہاں آپ کا کہنا ہے کہ، "ہم نے کیا کرنا ہے ان صارفین کا کہنا ہے کہ نہیں کر رہے ہیں." اور خاص طور پر، مجھے لگتا ہے کہ ہینری فورڈ کی طرف سے ایک اقتباس ہے کہ یہ اپ خلاصہ بہت اچھی طرح تھی. انہوں نے کہا کہ اگر میں لوگوں سے پوچھا کہ کیا وہ چاہتا تھا، انہوں نے وہ تیز گھوڑوں چاہتے تھے نے کہا. " کسی علاوہ چڑھانا کیا اس اقتباس کو واقعی مطلب الگ الگ کر سکتے ہیں؟ ایسا نہیں ہے صرف یہ ہے کہ صارفین کو پتہ ہے کہ وہ کیا چاہتے ہیں، لیکن یہ ہے کہ زیادہ ہے - [طالب علم] وہ نہیں جانتے کہ کیا ممکن ہے. وہ حصے میں نہیں جانتا کہ کیا ممکن ہے. کہ تھوڑا سا علاوہ چڑھانا. تم نے اس سے کیا مطلب ہے؟ [اشراوی طالب علم کے جواب] وہ اچھا ہے. کیا ہے مجھے لگتا ہے کہ ہم یہاں کہنے کی کوشش کر رہے ہیں کہ لوگوں کو معلوم ہے کہ وہ کیا چاہتے ہیں. وہ تیزی سے گھوڑے کی ضرورت ہے. کیا وہ واقعی کرنا چاہتے ہیں، تیزی سے منتقل کرنے کے لئے کی صلاحیت ہے، لیکن وہ وسیلہ ہے جس کے ذریعے وہ حاصل کرنے کے لئے واقعی نہیں جانتے ہو. جب آپ کو آپ کے صارفین کو آتے ہیں اور آپ کے صارفین آپ سے کچھ کہنا ہے اور وہ آپ کو بتا، "ہم نے ان کی خصوصیات اور ان کی خصوصیات اور ان خصوصیات کی ضرورت ہے،" آپ کو ضروری کے بارے میں سوچنا نہیں چاہتی ہے، "مجھے آگے بڑھو "پر عملدرآمد اور جو وہ واضح طور پر کہتے ہیں،" لیکن کیا آپ کے بارے میں سوچنا چاہتے ہیں ہے، "خیالات کی طرح کیا میں اس سے حاصل کر سکتے ہیں؟" وہ اصل میں کیا کرنا چاہتے ہیں؟ اور وہاں سے جو آپ کر سکتے ہیں وہ کچھ ہے جو ان درخواستوں مطمئن ڈیزائن لیکن ضروری نہیں جس طرح کہ صارف مطمئن رکھا جائے کی امید ہے. تو، حتمی منصوبوں کی طرح بہت حقیقی معنوں میں کچھ کے لئے کیا ایک مفید heuristic ہے جب یہ کچھ بہتر بنانے کے لئے آتا ہے، ڈیزائنر خاص طور پر اگر اس کے بارے میں یہ تکبر ہے جس میں آپ کی طرح معلوم ہے کہ کیا سب سے بہتر ہے، آپ کو آپ کے صارفین کی طرف سے ان پٹ لے سکتے ہیں، لیکن تم کہ رائے حاصل کرنے کے بارے میں کس طرح اصل میں جانا ہے؟ آخری منصوبوں میں، بہت concretely، بہترین نتائج یہاں پیدا؟ بہترین نتائج پیدا کرتا ہے - اور اس سے زیادہ میں ایک سیکنڈ میں جائیں گے - اور پھر ترقی جانچ اور پھر iterating کے اس عمل ہے. میں ٹیسٹنگ کی طرف سے کیا مطلب ہوتا ہے جب آپ کچھ ڈیزائن آپ کو لگتا ہے کہ یہ کافی اچھا، جیسا ہے، "میں اس طرح ایک عظیم ڈیزائنر ہوں. ہر کسی کو اس سے محبت کرنے جا رہا ہے." اور پھر آپ اسے وہاں سے باہر رکھ کر لوگ اسے کسی وجہ کے لئے پسند نہیں کرتے. تمہیں کیا کرنا ہے آپ وہ چیزیں ہیں جو لوگوں کی طرح کرتے ہیں کے کچھ حصوں کو لینے کے لئے ہے اور چیزیں ہیں جو لوگوں کو پسند نہیں کرتے بہتری. یہ ایک بہت واضح عمل کی طرح لگتا ہے، لیکن اس عمل کو مسلسل iterating کیا آپ کے پاس پہلے سے ہی تعمیر ہے کے سب سے اوپر پر ایک ایسا عمل ہے جو آپ کی مدد کرتا ہے نہ صرف اپنے اپنے ڈیزائن مہارت کو بہتر بنانے بلکہ سے آپ کو ڈیزائن کو بہتر بنانے میں مدد ملتی ہے تاکہ لوگوں کو اصل میں آپ کی مصنوعات کو بھی زیادہ سے زیادہ وہ پہلے کی تعریف کرتے ہیں. میں جو تم اصل میں کیا کر سکتے ہیں کے بارے میں مزید ٹھوس مثالیں گے. طرح کی مصنوعات کی آخری مثال کے طور پر، کیاک کو دیکھو. کیاک جب وہ باہر آئے بہت، بہت مقبول تھا. کسی کو کیوں لگتا ہے کہ سکتے ہیں؟ چیزوں کی طرح آپ کو اس کے بارے میں پسند ہے اگر آپ نے اسے استعمال کیا ہے کیا ہے یا چیزیں آپ کو پسند نہیں قسم کیا ہیں؟ جی ہاں. >> [اشراوی طالب علم کے جواب] >> ٹھیک ہے. دے یہ اس کا حصہ ہے، صارف ایک سوال ہے کہ زیادہ expansive ہے ہے ہے کی طرح ایک بہت پابندیوں سے، "آپ کو آپ شروع کرنے کی تاریخ کو منتخب کرنے کی ہے "اور آپ کو اپنے اختتام کی تاریخ کو منتخب کرنے کی ہے." اصل میں، اس کی مدد سے آپ کو اس کے بارے میں لچکدار ہے اور یہ آپ کو اس کی حد میں پروازوں کی سب دیتا ہے. اور کچھ؟ [طالب علم] انہوں نے قیمت میں فیس شامل ہیں. وہ قیمت میں فیس شامل کرتے ہیں. ٹیکس اور چیزوں کو اصل میں اوپری بائیں سمت میں اس کی قیمت میں براہ راست تو آپ کو سوچ میں دھوکہ نہیں ہے کہ تم اصل میں 240 ڈالر کی پرواز کے لئے ادا کر رہے ہیں رہے ہیں یہ واقعی جب 330 ڈالر ہے. اور کچھ؟ جی ہاں. [اشراوی طالب علم کے جواب] مجھے یقین نہیں ہے اگر وہ واقعی آپ ایسا کریں. میں غلط ہو سکتا ہے. یہ ایک دلچسپ بات ہے اگر آپ کو خاص طور پر فلٹر پر زیادہ وزن کے لئے کرنا چاہتے ہیں کر سکتے ہیں تاکہ وہ سب سے اوپر اس فلٹر سے متعلق نتائج دھکا. لیکن کوئی مجھے بتاو کہ کیا اس بائیں جانب کے بارے میں ایسا کیا خاص ہے کر سکتے ہیں؟ آپ روایتی طور پر کس طرح اس سے پہلے نے ایک انٹرنیٹ سروس پر پرواز نظر آتے ہیں؟ جی ہاں. >> [اشراوی طالب علم کے جواب] >> آپ کا کہنا ہے کہ کر سکتے ہیں - [طالب علم] ہر ایئر لائن. >> جی ہاں. ہر ایئر لائن کی اپنی ویب سائٹ ہے. یہ چیزیں انوائسز. اور؟ [طالب علم] آپ جانتے ہیں بالکل وہی جو وقت تم جا رہے ہو. تمہیں پتہ ہے کہ بالکل وہی جو وقت تم جا رہے ہو، لیکن خاص طور پر فلٹر سے متعلق. مجھے کیاک ھیںچو. اوہ خدا، پاپ اپ. غلط صارف کے تجربے. جب میں نے یہ سلائیڈر منتقل کیا ہوتا ہے؟ [طالب علم] خودکار تازہ کاریاں. >> [Ong] خودکار تازہ کاریاں. یہ کچھ ہے جو بہت اہم ہے. اس سے پہلے، جب بھی آپ کو ایک پرواز پر نظر کرنا چاہتا تھا، آپ کو آپ کی ان پٹ مقام، آپ کی پیداوار مقام، پریس تلاش میں ڈال دیا تھا، اس عمل اور اپنے نتائج کو دکھا سکتے ہیں. اگر آپ کو آپ کے سوال کو تبدیل کرنا چاہتے تھے، تم واپس دو بار پریس ہوگا، شروع سے ایک نیا سوال میں درج کریں، اور پھر اسے ختم کرتے ہیں اور پھر. اس طرح کچھ کے بارے میں اچھی بات یہ ہے کہ یہ درمیان میں ایک بہت ہی [unintelligible] بات کا استعمال کرتا ہے. جب بھی آپ کو کچھ اس طرح کرتے ہیں، ایک درخواست گولی مار دیتی ہے اور یہ آپ سب کے نتائج فوری طور پر واپس. فوری طور پر رائے کا اس طرح کچھ کیاک بیتہاشا مقبول بنا ہے کیونکہ یہ واقعی بہت آسان ہے میرے لئے صرف میرے استفسار کو تبدیل کرنے کی اور چیزیں جو ایک مخصوص حد کے ارد گرد ہیں اعداد و شمار پیچھے جانا ہے، آگے اور پیچھے، آگے اور پیچھے کے بغیر. تو یہ کئی طرح کی باتیں آپ کو جب آپ اپنی ویب سائٹ کو ڈیزائن کر رہے ہیں کے بارے میں سوچنے کے لئے چاہتے ہیں ہیں. یہ بہت موثر مجھے کس طرح بنانے کے لئے اپنے صارفین کے ذریعے جو کچھ بھی وہ کام کر رہے ہیں کر سکتے ہیں اور ان کا ممکنہ ہدف کے طور پر جلد از جلد حاصل کرنے کے لئے؟ [Malan] اور جوسف پہلے کہ وہ کیا چاہتے ہیں ضروری نہیں جاننے صارفین کے بارے میں نقطہ پر، کی بنیاد پر تم لوگ کیا اب HTML کے بارے میں جانتے ہیں اور آپ چیک باکسز، ریڈیو بٹن منتخب ڈاؤن مینو میں، ان پٹ کے کھیتوں اور طرح ہے، آپ کو ایک پرواز کے لئے ایک وقت آغاز اٹھا کے تصور کس طرح سے عمل درآمد کریں گے؟ آپ ان مختلف UI میکانزم میں سے کس کا استعمال کریں گے؟ اگر آپ صرف HTML کی رقم ہے جو اس سے پہلے سکھایا گیا تھا معلوم اور آپ کو معلوم ہے کہ آدانوں ریڈیو بٹن، چیک باکسز، ڈراپ چڑھاو، اور ان پٹ باکس ہیں، آپ کے قدرتی انتخاب کیا ہے تاریخوں کو منتخب کرنے کے لئے ہوتا ہے؟ [طالب علم] ان پٹ. >> ان پٹ. یا شاید بھی ڈراپ ڈاؤن کھجوریں سب کے ساتھ ہے، ہے نہ؟ تو، اس طرح زیادہ پیچیدہ بائیں جانب UI میکانزم کہ تم پر عملدرآمد کر سکتے ہیں کے ساتھ آپ کو ایک سلائیڈر کے ساتھ اس عمل کو بہت زیادہ بدیہی کر سکتے ہیں کیونکہ وقت مسلسل ہے، اور لوگوں کو اس سے عام طور پر استت مقدار کے لحاظ سے نہیں لگتا ہے. ٹھیک ہے. آخری بات. دس پریوست heuristics. تمام چیزوں کو ہم کے بارے میں بات شاید ان اقسام میں سے ایک کے تحت آتے ہیں. اگر آپ اس لنک، جو سائٹس کو آن لائن شائع ہوگا، آپ کو کرنے کے قابل اصل میں، جیسا کہ آپ کو آپ کی ویب سائٹ ڈیزائن ہو جائے گا، ذہن میں ان heuristics رکھنے اور انگوٹھے کے ان قوانین. آپ کے منصوبوں کے لئے، میرا مشورہ ہے کہ آپ کا کیا کرتے ہیں تاکہ آپ کی اے پی پی کو بہتر ڈیزائن کاغذ prototyping سب سے پہلے کرنا ہے. جب آپ کو آپ کی درخواست کے بارے میں سوچ رہے ہیں، بہت جلد خاکہ کیا آپ اس کی طرح نظر آنا چاہتے ہیں اس بات کا یقین اور تمام باکسز کو ایک طریقہ ہے کہ صارف کو استعمال کرنے کے لئے کے لئے بہت بدیہی ہے میں کیا کر رہے ہیں اور یہاں تک کہ میں اپنے دوستوں کو ان کاغذ prototypes اور توجہ گروپ شروع کریں. صرف 2 یا 3 افراد کے ساتھ ہو جاؤ اور ان سے صرف ان کاغذ prototypes پر نل کا مطالبہ، اور ان نئے سکرین ظاہر اگر وہ واقعی سمجھ کیا ہو رہا ہے دیکھنے کے لئے. آپ کیا کرنا چاہتے ہیں انہیں کام دے، اس کام کی حوصلہ افزائی کی ہے، اور صرف ان کے اے پی پی کے دو اور انہیں اس کا استعمال. کیا انہیں نہیں دے اس کے بعد دی گئی ہدایات پر. تم واقعی میں ہم انہیں ایک ایسا طریقہ ہے جس کی مدد سے آپ کو دیکھ کر میں آپ کی اے پی پی کے ساتھ بات چیت کرنا چاہتے ہیں وہ اسے کس طرح استعمال کرنے کے لئے اگر تم کھڑے ان کے ساتھ نہیں تھے. اور یہ بہت ضروری ہے. کہ آپ بصیرت بہت دینے کے طور پر مخصوص چیزوں کے ارد گرد حاصل کرنے والے لوگ ہیں ایک راستہ ہے جس سے کہ میں ان کا ارادہ نہیں کیا؟ کیا وہ سکرین پر خاص طور پر UI نظام کا استعمال کرتے ہوئے ایک طرح سے جو hacky کی قسم ہے؟ میں اس کا ارادہ رکھتے ہیں ان کے لیے یہ اس طرح نہ تھا. اور ایک بار آپ نے اس کے ساتھ کیا کیا کر رہے ہیں، جو آپ کرنا چاہتے ہیں؟ آپ کے ڈیزائن پتھر، ٹھیک ہے؟ آپ کیا کرنا چاہتے ہیں آپ اور پھر ترقی کرتے ہیں اس عمل کو دوبارہ کرنا چاہتے ہیں. تو دوستوں ایک بار آپ اسے تیار ہے ظاہر، ٹیسٹ، ٹیسٹ کی ترقی، ترقی، ٹیسٹ، اور اس کے اور آگے iterate. ڈیزائن ہے اس معنی میں بہت عمل تکراری ہے. تم واقعی میں کچھ اور تعمیر کرنے کی تو اس کے بارے میں چیزوں کا احساس ہے کہ تم سے پہلے محسوس نہیں کیا اور واپس جاؤ اور اس سے بہتر بنانے کے. اب، کے طور پر ترقی کے حصہ کے لئے، یہ کیا ہے ٹومی وقفے کے بعد آپ کو ظاہر کرنے کے لئے کی جا رہی ہے اور آپ خود تکمیل کی طرح کچھ لاگو کرنے کے لئے کے قابل کس طرح ہو سکتا ہے ایک طریقہ ہے جو کافی آسان ہے. [Malan] کے طور پر ٹومی نے یہاں کا تعین کرتا ہے، تو ایک سوال کے جواب میں ہے. قدیم ترین ویب سائٹس میں سے ایک بہت - ​​اور جب یوسف 1990s طرز کی ویب سائٹ نے کہا کہ، نفاذ جہاں اگر آپ شروع ہونے کے وقت کو منتخب کرنے کے لئے کرنا چاہتا تھا اور ایک وقت اختتام تھا، واضح طور سے، واپس دن میں اور بعض ویب سائٹس پر بھی آج جس طرح تم نے ایسا ہے کہ آپ کو ایک ڈراپ ڈاؤن سے ایک گھنٹے کرنے کے لے، آپ ڈراپ ڈاؤن، ہو سکتا ہے کہ آپ AM کا انتخاب سے PM منٹ لینے، اور اس کے بعد کہ تم 3 گنا کرتے ہیں. اور اس طرح 6 کلکس اور شاید کچھ طومار کر کے ساتھ اصل میں آپ کے صارف نے اس معنی میں تاریخ اور / یا وقت کی حد کے کچھ قسم فراہم کر سکتے ہیں. تو یقینی طور پر suboptimal اور ابھی تک اس طرح اب تک ہم نے کوئی اظہار صلاحیتوں کو دیکھا ہے زبانوں میں سے کسی میں ہم نے دیکھا کچھ sexier ہے شروع ہونے کے وقت اور ختم ہونے کا وقت اس سلائیڈر کی طرح. لیکن، اگر آپ 0 ہفتے واپس لگتا ہے کہ جب ہم نے شروع کے بارے میں بات کی تھی وہاں بھی وہاں کی بارے چیزیں نہیں تھے جو صرف کچھ چیزیں کیا. تم نے سچ میں صرف loops اور حالات اور طرح کی طرح ان بنیادی اصولوں تھا. تو صرف بہت abstractly سوچ اب، HTML کی تفصیلات کی آزاد کی قسم کیا واقعی میں اس کے شروع ہونے کے وقت اور ختم ہونے کا وقت سلائیڈر کی طرح کچھ کے ساتھ جا رہی ہے؟ جب میں اپنے ماؤس منتقل اور میں بائیں جانب اس چھوٹے گاجر کی علامت پر کلک کریں اور گھسیٹ شروع، پروگرام، کیا ہے تم کو نافذ کرنے کے قابل بننا چاہتا ہوں کہ ہو؟ کیا سوال ہے، کیا بولین اظہار آپ کے لئے کہنے کے قابل ہو جائے چاہتے ہیں؟ کہ اصل میں کیا ہو رہا ہے؟ سیمی؟ [طالب علم] جہاں کرسر کی پوزیشن ہے؟ >> اچھا لگا. کرسر کی پوزیشن کہاں ہے؟ یہ کچھ ہم سکریچ میں واپس کا اظہار کرنے کی ضرورت ہے ہے، چاہے وہ جگہ یا رنگ یا طرح کی بنیاد پر کیا گیا تھا. کیا تم نے کبھی پیر پر یاد تو مختصر طور پر ہو سکتا ہے ان تمام چیزوں کے تھے بلایا واقعات ویب کی دنیا میں، اور تو وہاں onclick اور onkeypress جیسے چیزوں اور onkeyup اور onmouseover اور onmouseout. تو احساس ہوتا ہے کہ ویب پر بھی ان چیزوں کو ہم کے لئے لینے کی اجازت دی فیس بک اور Gmail کی طرح سائٹس، یہاں تک کہ اگر آپ کو کوئی اندازہ نہیں ہے کے ساتھ تم ایسا کیسے ممکن ہے کے نفاذ کی وجہ سے درس میں بھی اس کی طرح کچھ بھی نہیں ہے یا مسئلہ 7 مرتب کریں، کہ یہ بالکل وہی بنیادی اصولوں کے ساتھ احساس، ، HTTP اور پیرامیٹرز کے ساتھ اور پوسٹ حاصل بنیادی HTML آدانوں کہ ہم میں دیکھا ابھی تک ہے کے ساتھ اور یہ کہ ٹومی پروگرام میکانزم کے ساتھ ایک لمحے میں متعارف کرانے تم اپنے آپ کو جیسا کہ تم 0 ہفتے میں کیا کا اظہار کرنا شروع کر سکتے ہیں بہت intuitively گھسیٹنے اور گر رہی ہے. تو کہا کہ، ٹومی MacWilliam اور ہمارے لئے کچھ نئی ویب کے لئے پہیلی کے ٹکڑے ٹکڑے کر کے ساتھ. ٹھیک ہے. میرا نام ٹومی ہے اور میں جاوا سکرپٹ کے بارے میں بات کر جا رہا ہوں. بس ایک ڈس کلیمر: میں رائے ہوں کہ جاوا اسکرپٹ بہترین پروگرامنگ زبان ہے پوری پوری دنیا میں. بہت سے ان لوگوں کے جو میرے ساتھ متفق ہیں، لیکن یہ صرف حیرت انگیز ہے. ایک بار جب آپ C واپس جاتے ہیں، اگر آپ دوسرے طبقے یا کچھ دیگر زبانوں کے لئے C لکھنا ہے، یہ تمام تفصیلات کم سطح کے آپ کے واقعی نراشا کے اندر نیچے فنس گیا ہو اگر ایسا ہے تو کس طرح پریشان C لکھنے کے بارے میں تم نے کبھی اداس محسوس کر رہے ہو، واپس جانا، کچھ جاوا اسکرپٹ لکھ. یہ نروان ہے. آپ اپنے برے دن کے بارے میں زیادہ بہتر محسوس کریں گے. جاوا اسکرپٹ کا جادو کا ایک بہت اس کی چیزیں جوڑتوڑ کرنے کی صلاحیت سے آتا ہے اس صفحے پر پہلے سے ہی ہیں. جب ہم نے اپنے پی ایچ پی اسکرپٹ لکھا ہے، انہوں نے سرور پر پھانسی تھے، اور آخر میں ہے کہ پی ایچ پی اسکرپٹ شاید کچھ HTML پیداوار. یہ HTML کلائنٹ کو بھیجا گیا تھا، اور پھر کہ یہ تھا. اگر پی ایچ پی کی ایک صفحے پر ایک بٹن شامل کرنے کے لئے کرنا چاہتا تھا، یہ مثال کے طور پر سچ میں وہ نہیں کر سکتے ہیں. یہ ایک پوری نئی HTML فائل فراہم کرنے اور براؤزر ہے کہ بھیجنے ہوگا. جاوا سکرپٹ کے ساتھ ہم جانتے ہیں کہ ہم چیزوں کو اپ ڈیٹ ہے جبکہ وہ پہلے ہی صفحے پر ہو، اور ہم نے اس کی وجہ سے بہت زیادہ فوری تاثرات فراہم کر سکتے ہیں، جو کہ ہماری ویب سائٹ پر صارف کے تجربے کو سچ میں میں بہتری آئے گی. جاوا اسکرپٹ سلیکٹرز کی بس ایک فوری recap. ہم یہ پتہ ہے کہ جب ہم ایک HTML صفحے کو ڈاؤن لوڈ، اتارنا، DOM میں نمائندگی ہو رہا ہے. DOM یاد رکھنا صرف یہ بڑا درخت ہے جہاں عناصر اس بڑے کے تنظیمی ڈھانچے میں سے متعلق ہیں. جب ہم 7 pset میں ڈیٹا بیس کے ساتھ کام کیا، پہلی چیزیں ہم جانتے ہیں کہ کس طرح کر کرنے کی ضرورت میں سے ایک ڈیٹا بیس کی کیوری. ہم اس بڑے صارفین کی میز ہے، اور بعض اوقات ہم صرف یہ کہنا چاہتے ہیں، "میں صرف ان صارفین کو کوئی شرط میچ میں کے کچھ کرنا چاہتا ہوں." اسی طرح جب ہم DOM ہے ہم یہ querying کے کچھ طریقہ کی ضرورت ہے. ہم کہنے کی کوئی نہ کوئی راستہ کی ضرورت ہے، "میں بٹن جو اس طرح نظر آئے سب چاہتے ہیں "یا صفحے پر تصاویر کو." اور یہ سلیکٹرز ہمیں ایسا کرنے کی اجازت ہے. تو صرف ایک فوری recap. یہ پہلا ایک، یہ # پیش کیا ہے کہ منتخب کی جا؟ کسی کو یاد ہے؟ [اشراوی طالب علم کے جواب] >> جی ہاں، بالکل. اس صفحے جمع ID ہے پر ایک عنصر منتخب کی جا رہی ہے. اور تاکہ ہیش ٹیگ کا کہنا ہے کہ اس سلیکٹر آئی ڈیز کے ساتھ کام کرنے کی جا رہی ہے. اور دوسرا شخص کے بارے میں، یہ کیسے مرتکز ہے کہ کیا کرنا ہے. منتخب کر لئے جائیں گے؟ جی ہاں. >> [طالب علم] کلاس. بالکل ٹھیک ہے. >> یہ اب طبقے کی طرف سے منتخب کرنے کے لئے کی جا رہی ہے. ID اور یہاں کلاس کے درمیان فرق عام طور پر ہے ID منفرد ہونا چاہئے جو خلا کے اندر اندر میں آپ تلاش کر رہے ہیں. تو اگر میں آپ تلاش ایک پورے ویب صفحہ تھے، آپ واقعی اس بات کا یقین ID کے ساتھ 1 عنصر صرف جمع اس معاملے میں بہت ہونا چاہئے. کلاس کے ساتھ، دوسری طرف، ہم ایک ہی صفحے پر 1 سے زیادہ عنصر ہو سکتا ہے ایک ہی کلاس کے ساتھ. یہ ہوئے کہا کہ میں نے سب کچھ اس صفحے پر مرکوز ہے کو منتخب کرنے کے لئے چاہتے ہیں کے لئے فائدہ مند ہو سکتا ہے کی بجائے صرف 1 بات. اور آخر میں، یہ آخری یہاں تھوڑا زیادہ پیچیدہ ہے، لیکن یہ کیا DOM سے منتخب کرنے کے لئے کی جا رہی ہے؟ [اشراوی طالب علم کے جواب] >> یہ کیا ہے؟ [طالب علم] کوئی بھی چیز جو ایک ٹیگ ہے. >> ہم نے 2 حصوں یہاں ہے. دوسرا حصہ کا کہنا ہے کہ میں ان پٹ کی ایک ٹیگ کے ساتھ ان ٹیگ کا انتخاب کرنا چاہتے ہیں کی جا رہی ہے، کسی بھی عنصر تو ہے کہ ایک ان پٹ ٹیگ ہے. لیکن میں صرف آدانوں کی سب کو منتخب نہیں کرنا چاہتا کیونکہ جمع کرائیں بٹن کی طرح کچھ ان پٹ ہو سکتا ہے اور ایک ٹیکسٹ باکس کی طرح کچھ ایک ان پٹ ہو سکتا ہے. تو میں ان مربع بریکٹ میں کہہ رہا ہوں کے ساتھ صرف ان عناصر کو منتخب کرنے کے لئے چاہتے ہیں جو قسم کے متن کی ہیں. کہیں میں اپنے HTML ٹیگ میں ایک سے ملاقات کی قسم وصف ہے، اور کہ وصف کی قدر متن کا ہونا ضروری ہے. تو کس طرح یہ پہلا حصہ یہاں کے بارے میں؟ اس سلیکٹر کے پہلے لفظ کی قسم ہے تو میں نے ایک جگہ اور پھر اس ان پٹ کا حصہ ہے. کیا ہے، اس کے سامنے کے فارم لگانے کرتی ہے؟ یہ بنیادی طور پر ہمارے استفسار کو محدود کرنے کی جا رہی ہے. یہ کیس ہو سکتا ہے کہ ہم صفحے پر کچھ آدانوں ہے جس میں ایک فارم کے خاندان نہیں ہیں. کیا ایسا ہے کہ یہ کہیں گے میں صرف کرنا چاہتے ہیں ان پٹ ٹیگ ہے کہ کہیں ان کے اوپر ہے ایک فارم میں سے کچھ والدین عنصر. اور اس طرح ہم نے اس طرح ان پدانکردوست سوالات کر سکتے ہیں تو ہم نے دیا سلیکٹر سے مماثل سب کچھ منتخب کرنے کے لئے نہیں ہے. ہم اس استفسار کے کچھ اور گنجائش کی حد کی طرح کر سکتے ہیں. تو اب ہے کہ ہم جانتے ہیں کہ کس طرح صفحے پر عناصر کو منتخب کرنے کے لئے، AJAX کے بارے میں تھوڑی بات. AJAX اب بھی بہت جدید مخفف ہے جو اتلیکالک جاوا اسکرپٹ اور XML کے لئے کھڑا ہے ہے. یہ صرف اس لئے ہوتا ہے کہ XML صرف کچھ اعداد و شمار کی نمائندگی کرنے کا ایک طریقہ ہے. کھو مقبولیت کا حال ہی میں اس طرح، تو X AJAX میں ہر وقت استعمال نہیں ہے. بنیادی طور پر، کیا AJAX ہمیں کرنے کے لئے کی اجازت دیتا ہے ہے HTTP درخواست ہے جاوا سکرپٹ کے تناظر سے. جب ہم ہماری ویب براؤزر میں ہیں اور ہم صفحات کے ارد گرد گشت کر رہے ہیں اور ہم نے ایک لنک پر کلک کریں، جو اپنے براؤزر کو کیا جا رہا ہے ایک HTTP ہم جو بھی لنک پر کلک کریں درخواست ہے. لیکن یہ ہمیشہ مثالی نہیں ہے کیونکہ اگر یہ بات ہے، تو کے طور پر ڈیوڈ کہہ رہا تھا، ہم ہمیشہ صارفین کو ایک جمع کرائیں بٹن پر کلک کریں یا لنک پر کلک کریں ہے کے لئے کچھ بھی ہو سکتا ہے کہ ایک HTTP درخواست کو شامل کرنے جا رہا ہے. تو جاوا سکرپٹ کی طرف سے ہم AJAX کے ساتھ ان درخواستوں کر سکتے ہیں. اس کا مطلب یہ ہے کہ جب بھی صارف کے صفحے یا کچھ ہوتا ہے کے ساتھ انٹرایکٹ کر سکے، ہم نے ہماری ویب سائٹ پر ایک پروگرام کی درخواست اصل میں کسی دوسرے پی ایچ پی فائل کر سکتے ہیں یا اور کچھ اور اعداد و شمار ہے کہ وہ فائل spits بازیافت کریں. AJAX کی ایک مثال میں ایک نظر ڈالیں. یہ ہماری CS50 خزانہ صفحہ ہے جس سے امید ہے کہ ہم میں سے کچھ واقف ہیں. اگر ہم اس صفحے کے HTML میں دیکھو، ہم یہاں دیکھتے ہیں کہ میں کچھ چیزیں شامل ہیں، جن میں سے ایک میں اس فارم کو ID کیا ہے. میں ID = "فارم اقتباس" کہا ہے. یہ میں نے کیا ہے کیونکہ یہ اسے تھوڑا سا DOM سے آسان کرنے کے لئے منتخب کرنے کے لئے جا رہا ہے ہیں کیونکہ میں نے ایک بہت سادہ استفسار کر سکتے ہیں. کیا ہے میں یہاں کرنا چاہتے ہیں میں CS50 خزانہ کے ساتھ کچھ مسئلہ طے کرنا چاہتے ہیں. ، تو اگر ہم finance.cs50.net پر جانا ہر بار میں ایک اقتباس کو حاصل کرنے کے لئے چاہتے ہیں، میں حاصل اقتباس کے بٹن پر کلک کریں، کہ جاؤ اور اقتباس کے بٹن تو مجھے ایک اور مکمل صفحے پر لے جاتا ہے. اور، اگر میں ایک اور اقتباس کرنا چاہتے ہیں، میں Back کے بٹن کو دبائیں اور پھر میں اس میں ٹائپ کریں میں ایک اقتباس حاصل ہے، اور میں واپس بٹن دبائیں. یہ واقعی میں بہترین صارف کے تجربے کو نہیں ہے. کون سائٹ واقعی استعمال اگر یہ اسٹاک کی قیمتوں کو حاصل کرنے کے لئے کیا یہ سست ہے ہے؟ تو ہم AJAX کے ساتھ کیا کرنا چاہتے ہیں ایک علیحدہ صفحے پر جانے کے اس قدم کو ہٹائیں کے لئے نتائج کو دیکھنے کے لئے. کیا ہم واقعی صرف اس کے لئے کر رہے ہیں سے پوچھ کہ بہت ہی چھوٹی سی قیمت ہے، اور یہ کہ صرف اعداد و شمار کے ایک بہت چھوٹی رقم ہے. تو میرے لئے ایک اور ساری HTML صفحہ جانے کی کوئی ضرورت نہیں ہے، ڈاؤن لوڈ، اتارنا HTML کی ایک پوری نئی کھیپ میں، شاید کچھ تصاویر ڈاؤن لوڈ، اتارنا، کسی اور سی ایس ایس فائلوں کے لئے آپ کے وزٹرز کا ریکارڈ رکھا کہ بہت سادہ سوال کا جواب کس طرح اس اسٹاک کی کیا قیمت ہے. AJAX کے ساتھ ہم نے یہ بہت آسان بنا سکتے ہیں. ہم یہاں دیکھتے ہیں کہ میں ایک جاوا اسکرپٹ فائل میں کہا جاتا quote.js منسلک کر رہا ہوں. چلو، اصل میں اس فائل کو کھولنے. وہاں نہیں. میری جاوا اسکرپٹ فائلوں کی سب HTML میں واقع جا رہے ہیں تاکہ ویب براؤزر تک رسائی حاصل کر سکتے ہیں. پھر ہم جاوا سکرپٹ کے لئے ایک علیحدہ ڈائریکٹری ہے، اور اب یہاں quote.js ہے. اس فائل کے سب سے اوپر دیئے گئے اس کا کہنا ہے کہ میں پورے صفحے کے لئے لوڈ کرنے کے لئے انتظار کرنا چاہتے ہیں اس سے پہلے کہ میں کچھ بھی کرنے کی کوشش کرتے ہیں. یہ ہے کہ کیوں ضروری ہے؟ یہ پتہ چلا ہے کہ اگلی بات جو میں یہاں کیا کرنے جا رہا ہوں میں آغاز ایک عنصر کی تلاش ہے کہ کچھ سلیکٹر سے میل کھاتا ہے. اگر یہ جاوا سکرپٹ کے پہلے کبھی اس عنصر صفحے پر لوڈ کیا جاتا ہے پھانسی دے دی ہے، تو سب کچھ میں کرنے کی کوشش کروں کام نہیں ہے کیونکہ میں کچھ ہے کہ نہیں ہے ابھی تک منتخب کرنے کے لئے کوشش کرنے کے لئے جا رہا ہوں. تو سب سے اوپر اس لائن کا کہنا ہے کہ میں آپ انتظار کریں جب تک سب کچھ بھری ہوئی ہے کرنا چاہتے ہیں تو ہم بات کی ضمانت ہے کہ کسی بھی عناصر میں کے لئے دیکھ رہا ہوں صفحے پر اصل میں ہیں کر رہے ہیں. یہ ڈالر یہاں سائن ان کا مطلب ہے کہ میں کہا جاتا jQuery لائبریری کا استعمال کرتے ہوئے کر رہا ہوں. اس jQuery لائبریری ہمیں ان سلیکٹرز ہے کہ ہم صرف کی طرف دیکھ رہے تھے کو استعمال کرنے کے لئے کی اجازت دیتا ہے ہے. ڈالر کہہ رہے ہیں تو ایک دلیل کے طور پر میں اس # فارم اقتباس کو منظور کرتے ہوئے، اب میں اس فارم کو منتخب کر رہا ہوں کہ ہم پر ایک نظر لیا. اب میری یاد میں ہے کہ کسی نہ کسی طرح فارم کی نمائندگی کرتا ہے. اس اعتراض کو اب، فارم کا یہ نمائندگی میں اب سے ملاقات کی ایک تقریب کا استعمال کرتے ہوئے کر رہا ہوں. اس تقریب ہے یہ ایک ایونٹ ہینڈلر کو منسلک کرنے کے لئے جا رہا ہے. واقعہ ہے کہ ہم سننے کے لئے جا رہے ہیں میں جمع کرانے کا واقعہ ہے. تو جب صارف کلکس بٹن یا پریس جمع کرانے کے درج کریں، اس واقعہ پر گولی چلانے جا رہا ہے. اس میں hooking سے، اب میں فارم کی پہلے سے طے شدہ رویے کی جگہ لے لے سکتے ہیں. یہ جاوا سکرپٹ کے بغیر فارم جمع کریں گے جو پی ایچ پی فائل ہم نے اس کارروائی کے وصف میں استعمال کیا ہے. بلکہ اس کی بجائے، اب میں، کہہ رہا ہوں رکو، رکو، رکو، میں واقعی میں آپ ایسا نہیں کرنا چاہتے ہیں. میں ایسا کرنا چاہتے ہیں اس سے پہلے کہ تم جاؤ اور کچھ پی ایچ پی فائل کو جمع کرنے کی کوشش کرو. اب میں کیا کرنا چاہتے ہیں؟ اس وقت میں کسی نہ کسی طرح AJAX کو اسٹاک کی قیمت کیا ہے میں لوڈ کرنے کے لئے استعمال کرنا چاہتے ہیں. پہلی بات میں جاننے کی ضرورت ہے کیا اسٹاک صارف لگ رہا ہے. یہ کرنا ہے کہ میں کسی دوسرے سلیکٹر کو استعمال کرنے کے لئے جا رہا ہوں. یہ تیسری سلیکٹر ہم پہلے میں دیکھا ہے. اس کا کہنا ہے کہ میں نے فارم اقتباس کے ایک ID کے ساتھ اس فارم عنصر شروع کرنا چاہتا ہوں. پھر کہیں اس فارم کے اندر ایک ان پٹ عنصر ہے جو علامت کا نام ہے. اگر ہم اپنے HTML میں واپس دیکھو، ہم نے دیکھا ہے کہ ہم نے ایک ان پٹ [NAME = علامت]. اس کا مطلب یہ ہے کہ ہے کہ یہ ہے کہ ٹیکسٹ باکس کو منتخب کرنے کے لئے ہے کہ صارف میں ٹائپ کر رہا ہے جا رہا ہے. یہ اچھی بات ہے. ہم ٹیکسٹ باکس ہے. اب ہم صرف معلوم ہے کہ اس کے اندر کیا ہے کرنے کی ضرورت ہے. کہ ہم نے اس طریقے کو فون کر سکتے ہیں کرنے کے لئے، اس ویل اور اس کا کہنا ہے کہ میں جانتا ہوں کہ آپ ٹیکسٹ باکس ہے. میں تم مجھے بتاو کہ کیا یہ اس ٹیکسٹ باکس میں ٹائپ صارف ہے کرنا چاہتے ہیں. اب ہم نامی علامت سٹرنگ کہ جو صارف اندر ٹائپ کے برابر ہے یہ اچھی بات ہے. اب ہم اس سٹرنگ کو ہماری درخواست کرنے کے لئے استعمال کر سکتے ہیں. یہ ایک نیا تقریب یہاں ہے، ڈالر، اس کے علاوہ اب ہم عناصر کو منتخب کرنے کے لئے جا رہے ہیں، ہم ایک مختلف تقریب ہے جو jQuery کی طرف سے ہمیں فراہم کی ہے بلا رکھا جائے جا رہے ہیں. یہ AJAX تقریب ہے جو اصل میں اس HTTP درخواست بنانے کے لئے جا رہا ہے. تو ہم یہ کچھ چیزیں بتانا ہے. پہلی بات ہم نے اس تقریب کو بتانا ہے ہے جہاں میں درخواست جانا چاہتے ہیں. کہیں میں اپنے منصوبے میں HTML بلایا quote.php ڈائریکٹری کے اندر اس فائل ہے. میں اس فائل تک رسائی حاصل کر سکتے ہیں، ہم صرف اس طرح دیکھا، اگر میں localhost / quote.php. میں نے اپنی اس صفحے کی درخواست کرنے کے لئے جاوا اسکرپٹ کی ضرورت ہے. کس قسم کی درخواست کی؟ ہم نے اس سے پہلے کہ قسم ہے جو کہ طریقہ کار = "پیغام" کے وصف ہے، اور اس کا مطلب ہے کہ POST درخواست کرنے جا رہا ہے، تو یہ جا رہا بلکہ حاصل کرنے کی درخواست کے مقابلے میں یو آر ایل میں کچھ بھی ڈال، نہیں ہے، جس میں صرف اگر ہم صرف ویب براؤزر کے ساتھ مثال کے طور پر صفحہ تک رسائی حاصل کی جائے گی نکال دیا. اب ہم نے کہا کہ میں ایک HTTP POST درخواست کو بنانے کے لئے چاہتے ہیں ہے صفحے پر quote.php میں واقع ہے. یاد ہے جب ہم فارم جمع، ہم اس فارم کے اندر ان پٹ عناصر تک رسائی حاصل کر سکتا ہے کہ _POST ڈالر متغیر کے ساتھ. اب تک ہم نے کہانی میں کسی بھی اعداد و شمار کے ساتھ ساتھ اصل میں نہیں ہے ابھی تک بھیج دیا گیا. ہم نے صرف اتنا کہا ہم ایک AJAX کی درخواست کر رہے ہیں اور یہاں کی درخواست کی قسم ہے جو ہم کر رہے ہیں ہے. اب ہم اصل صفحے پر کچھ ڈیٹا بھیجنے کے کی ضرورت ہے. یہ ہے کہ ہم نے یہ کہا جاتا ڈیٹا جائیداد کا استعمال کر سکتے ہیں. اس کی خاصیت کی قدر اصل میں ایک ساہچری سرنی ہے. اس کی وجہ یہ ہے کہ یہ ہمیں صرف اعداد و شمار کے 1 ٹکڑا سے زیادہ بھیجنے کے لئے کی اجازت دیتا ہے. یہی وجہ ہے کہ ہم نے ان گھوبگھرالی منحنی خطوط وحدانی یہاں ان دیگر گھوبگھرالی منحنی خطوط وحدانی کے اندر اندر در اندر. ان ساہچری arrays میں چابیاں ایک ہی بات کے لئے جا رہے ہیں کے طور پر ان کا نام ہمارے فارم عناصر میں ٹھہراتے ہیں. اس کا مطلب یہ ہے کہ اگر میں ایک اہم علامت کے ساتھ بھیج اس کا مطلب ہے کہ میرے پی ایچ پی پروفائل $ _POST [علامت] کے ساتھ اس ڈیٹا تک رسائی حاصل کر سکتے ہیں جیسا کہ ہم جب ہم نے ایک فارم کو جمع کر رہے تھے سے پہلے کیا تھا. اور اب ہم اصل ڈیٹا بھیجنا چاہتے ہیں اس ساہچری سرنی کی قیمت کے اندر اندر چل رہا ہے. ہم نامی ایک متغیر کی علامت میں اس متن کو محفوظ، اور ہم ساتھ اب بھیج رہے ہیں علامت کا ایک اہم اور جو بھی صارف اندر ٹائپ کی قیمت اب ہم اس HTTP درخواست کی ہے، ہمارے پی ایچ پی فائل کو پھانسی دے دی ہے، اور یہ کچھ ڈیٹا کلائنٹ ہے کہ صرف اس درخواست کی تھی اب واپس بھیجنے جا رہا ہے. اب ہمیں جو بھی سرور نے ہم سے کہا کا جواب کرنے کی ضرورت ہے. ہے کہ ہم نے یہ آخری یہاں جائیداد سے ملاقات کی کامیابی ہے. اس کامیابی کی چابی کی قیمت اصل میں ایک تقریب ہونے جا رہا ہے، اور یہ واقعی زبردست چیزیں آپ کو جاوا سکرپٹ کے ساتھ کیا کر سکتے ہیں میں سے ایک ہے. صرف تم ہی نہیں ساہچری سرنی کی قدر اندر کے طور پر ints یا arrays کر سکتے ہیں، ہم نے ایک تقریب کا بھی ہو سکتا ہے. تو کامیابی کہہ کر، یہ میری چابی ہے. یہاں ایک بڑی آنت کا کہنا ہے کہ قیمت آتا ہے، اور اب اس کی قیمت اصل میں ایک تقریب ہے. تو ہم نے اس تقریب SE فی نام دینے کی ضرورت نہیں ہے. ہم تو صرف یہ کوئی تقریب ہو جا رہا ہے کہہ سکتے ہیں. 1 دلیل لے جا رہا ہے. اس تقریب پر دلیل ہونے جا رہا ہے جو بھی سرور نے ہمیں درخواست کی جانب سے بھیجے. سرور جب ہمارے براؤزر ایک درخواست کرتا ہے پسند، کچھ واپس بھیجتا ہے اور براؤزر یہ دکھاتا ہے، AJAX کے تناظر میں ہم صرف ایک درخواست کی تھی میں، سرور، کچھ واپس بھیجا، اور اب ہم اس ایک تار کے طور پر کی نمائندگی کی ہے. اس سٹرنگ کے ساتھ میں صفحے پر ظاہر کرنے کے لئے کرنا چاہتے ہیں. کیا کہ مجھے ایک آخری سلیکٹر کے لئے جا رہا ہوں. میں ID قیمت کے ساتھ عناصر کو منتخب کرنے کے لئے چاہتے ہیں. یہ صرف ایک خالی div ہے کہ میں صفحے پر تشکیل دے دیا ہے، اور میں وہ ہے جو سرور ہمیں واپس بھیج div کے مندرجات کو مقرر کرنا چاہتے ہیں. میں اصل میں quote.php تھوڑا سا نظر ثانی کی ہے. رینڈر بلا اور بعض صفحہ سرگرم سے، بلکہ quote.php اب صرف ایک تار کے طور پر اسٹاک کی قیمت پرنٹ کی جا رہی ہے. تو اگر آپ کو اصل صفحے پر کا دورہ کرنے والے تھے، آپ کو اس چھوٹے سے سٹرنگ صرف دیکھیں گے جو اسٹاک کی قیمت ہے. ایک آخری چیز جو ہم یہاں کیا کرنے کی ضرورت ہے صرف اس بات کا یقین کر لیں کہ اس تقریب کے جھوٹے واپس پڑتا ہے. کیا اس کا کہنا ہے کہ یہ ہے کہ اگر میں ایک ایونٹ ہینڈلر کے اندر ہوں اور یہ کہ ایونٹ ہینڈلر صحیح واپس لوٹنے کی بجائے جھوٹے واپس، اس کا مطلب یہ ہے کہ میں نے اصل کو برطرف کرنے کا واقعہ نہیں کرنا چاہتے ہیں. اس صورت میں، اگر ہم کسی بھی جاوا اسکرپٹ کی ضرورت نہیں تھی اور ہم نے ایک فارم جمع، ہماری ویب براؤزر کا کہنا ہے کہ "میں ساتھ کہ ڈیٹا بھیجنے جا رہا ہوں،" جا رہا ہے اور وہ آپ کو کسی دوسرے صفحے پر بھیجنے جا رہے ہیں. کیونکہ ہم AJAX کا استعمال کرتے ہوئے اب کر رہے ہیں، دوسرے صفحے پر صارف کو بھیجنے کی کوئی ضرورت نہیں ہے. ہم صرف نتائج اس ایک ہی صفحے پر کو متحرک طور پر ظاہر کرنے کے لئے جا رہے ہیں. ہم واقعی انہیں کہیں جانے کی نہیں ہے، اور میں ایک ہی صفحے پر رہنا چاہتے ہیں. تو ہم جھوٹے واپس لوٹنے کی طرف سے اس بات کا یقین ہے کہ فارم ہمارے لئے ایسا نہیں ہے. کیا یہ اصل کی طرح لگتا ہے میں ایک نظر ڈالیں. ہمارے اقتباس کے صفحے ایک ہی لگتا ہے. مجھے لیتے ھیںچو نیچے ہم یہاں دیکھ کیا ہو رہا ہے کر سکتے ہیں. یہ بڑی کم تھوڑا بنائیں. یاد رکھیں اگر ہم نے نیٹ ورک کے ٹیب کو کھولیں، یہ وہ جگہ ہے جہاں ہم HTTP درخواست کی سب دیکھ سکتے ہیں اس صفحے پر ہو رہی ہیں. ایک علامت کے لیے دو کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے AAPL میں ٹائپ کریں اور اقتباس حاصل کریں پر کلک کریں. اب ہم نے دیکھا ہے کہ ایپل کا ایک حصہ ڈالر کی کچھ تعداد کی قیمت ادا کرنی پڑتی صفحے پر شائع، لیکن یو آر ایل بالکل تبدیل نہیں کیا ہے. اصل میں، یہاں HTTP درخواست یہ ہے کہ ہم صرف بنایا ہے. ہم نے quote.php پر ایک پوسٹ کی درخواست کی تھی. یہ سمجھ میں آتا ہے. اس کا ہے جو سرور ہمیں واپس بھیج. اب یہ تصاویر اور اس طرح چیزوں کے ساتھ یہ بہت بڑا HTML دستاویز ہے، یہ صرف متن کی ایک سطر ہے، اور اس وقت ہم صرف متن کے مطابق ظاہر کیا ہے. اگر ہم ہیڈر پر واپس جاؤ اور دیکھو کیا ہم اصل میں اس HTTP درخواست کی اندر بھیجا، ہم یہاں دیکھتے ہیں کہ ہم علامت اور AAPL کی قدر کا ایک اہم کے ساتھ بھیجا جا سکتا ہے، ہيں جو صارف اندر ٹائپ یہ اچھا ہے، لیکن یہ اب بھی تھوڑا پریشان ہے. میں اب بھی اسٹاک اقتباس حاصل کرنے کے لئے اس بٹن کو کلک کریں. ہم مصروف لوگ ہیں اور ہم کے بٹن پر کلک کریں وقت نہیں ہے. Google اس کچھ دیر پہلے نے محسوس کیا جب کہ وہ گوگل کے فوری عملدرآمد. گوگل فوری کیا ہے جیسا کہ آپ ٹائپ کر رہے ہیں ہے، یہ صرف آپ کے لئے نتائج کی نمائش شروع ہوتا ہے لہذا آپ بھی تلاش کریں پر کلک کے بارے میں فکر کرنے کی ضرورت نہیں ہے. اصل میں، ایک مذاق کی کہانی اس سے متعلق ہیں. ایک بار گوگل کے فوری باہر آئے، لوگوں کی طرح تھے، "یہ رکو، سپر حیرت انگیز ہے." "یہ بہت اچھی بات ہے." اور سٹینفورڈ میں ایک طالب علم نیچے جو اس وقت 19 تھا یہ یوٹیوب فوری نامی سائٹ بنا دیا. YouTube کے سبھی فوری مؤثر طریقے سے کرتا ہے یوٹیوب فوری طور پر تلاش کریں. بلکہ مارا تلاش YouTube.com کرنے سے جب میں CS50 طرح YouTube کے فوری کچھ میں ٹائپ کرنا شروع کریں، ہم یہاں دیکھتے ہیں کہ یہ ایک سست انٹرنیٹ کنکشن کی کوشش ہے کر سکتے ہیں آباد ان نتائج رہتے ہیں. کہ اصل میں ہم ایک بہت سادہ ہمارے quote.js فائل ترمیم کر سکتے ہیں. ٹھیک ہے اب ہم اس پروگرام کو منسلک جب فارم جمع کر رہے ہیں. ہم صارف کو اس فارم کو اب جمع کرنے کے لئے واقعی نہیں کرنا چاہتے ہیں، تو بجائے اس پروگرام کو ہر بار جب صارف ایک اہم پریس کو برطرف. کرنا ہے کہ پہلے keyup پیش سے صورت کو تبدیل کرنے کے لئے. اس فارم کے لیے جمع کرنے کے لئے انتظار کر رہے کی بجائے اس کا مطلب، ہر بار کی چابی دبایا جاتا ہے، کچھ ہونے جا رہا ہے. اب یہ سمجھ میں آتا ہے ہے کہ وہ پورے فارم میں اس keyup واقعہ منسلک ہے. ہم اس تلاش کے باکس کے بارے میں بہت ہی خیال رکھتے ہیں. منتخب اب کہ ہم نے اس کی بجائے فارم اقتباس سے تبدیل کر سکتے ہیں، کرنے کے لئے، فارم اقتباس اور ہم نے ایک ان پٹ (= متن ٹائپ کریں) یا ہم نے (= علامت نام) کہہ سکتے ہیں کریں گے - جو ہم چاہتے ہیں. اب ایک آخری چیز ہے جو ہمیں کرنا ہے. یہاں یاد ہے جب ہم واپسی جھوٹے نے کہا کہ ہم نے کہا کہ ہم کہ ڈیفالٹ ایونٹ کو برطرف کرنے کے لئے نہیں کرنا چاہتا. لیکن یہ صرف اس لئے کہ ہوتا ہے اگر اب ہم کو غیر فعال ہے، جا جو ہم میں ٹائپ براؤزر میں ظاہر نہیں ہے اب کیونکہ وہ ایک ٹیکسٹ باکس میں ٹائپ کی پہلے سے طے شدہ رویہ ہو گا. اب ہم کی جگہ لے لے کہ تو اس کی واپسی کو جھوٹے کو تباہ کرنا چاہتے ہیں. اگر ہم اس کو محفوظ کریں اور صفحہ دوبارہ لوڈ کریں، اب جب میں AAPL ٹائپ کرنا شروع کریں آپ دیکھیں گے کہ یہاں سب سے نیچے دیئے گئے اسٹاک قیمت خود کار طریقے سے مکمل گے. تو یہاں CS50 خزانہ فوری ہے. یوٹیوب فوری کے بارے میں واقعی میں مزہ کہانی یہ ہے کہ طالب علم صرف کی قسم 1 رات ایک منصوبہ کے طور پر لکھا ہے، اور اگلے دن وہ YouTube کے سی ای او کی طرف سے ایک کام کی پیشکش کی گئی تھی. تو اس کے طور پر سادہ، آپ CS50 طالب علموں، آپ کی آخری منصوبوں آپ کو YouTube پر ایک کام حاصل کر سکتے ہیں. ایسا ہی کچھ ایک حتمی منصوبے کے لئے ایک اچھا خیال ہے، ٹھیک ہے؟ ہم نے کچھ موجودہ فعالیت تھا کہ ہم کے ساتھ ضم کرنا چاہتے تھے. ہم صارف کے تجربے کے لئے تھوڑا سا کو بہتر بنانے کے اور اچانک یوٹیوب فوری پر کچھ تلاش آسان بہت کچھ ہو سکتا ہے سے باقاعدگی سے یو ٹیوب پر اس کے لئے تلاش کر. تو یہ ایک مختصر میں AJAX ہے. مثالیں کہ جوزف دکھا رہا تھا میں، ہم autocompletes کے بہت دیکھا، اور وہ autocompletes واقعی، واقعی ہاتھ ہیں کیونکہ ہم یاد نہیں ہے - مثال کے طور پر، اگر آپ ایپل کے لئے اسٹاک کی قیمت یاد نہیں ہے اور ہم صرف پتہ ہے کہ یہ AA کچھ ہے، بلکہ صرف مجھ سے کیا کہہ سے، "اس بات کا ایک حصہ یہ سارا پیسہ کی قیمت ادا کرنی پڑتی ہے،" مجھے معلوم ہے کہ کیا اسٹاک AA کے ساتھ شروع کرنے کے لئے اس قسم کی کرنا چاہتے ہیں. ہم اس بوٹسٹریپ لائبریری ہے جو پہلے ہی شامل ہے کے ساتھ بہت اچھی طرح سے کر سکتے ہیں اندر CS50 خزانہ. اگر آپ یہاں جاوا سکرپٹ ٹیگ اور Typeahead ذیل میں سکرال یہ صرف ایک اچھا پلگ ان ہے کہ کسی نے پہلے سے ہی ہمارے لئے لکھا ہے، اور ہم اس طرح اس کی فعالیت آسانی سے استعمال کر سکتے ہیں. میں ایک میں ٹائپ ہے اور یہاں کچھ کا کہنا ہے کہ اے کے ساتھ شروع کی ایک فہرست ہے چلو کا کہنا ہے کہ ہے کہ مجھے لگتا ہے کہ یہ واقعی بہت اچھی بات ہے اور کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے اپنے صفحے پر یہ شامل کرنے کے لئے وقت ہو گیا ہے. یہ پتہ چلا ہے کہ یہ بہت، بہت آسان ہے. آو ختم quote3.js یہاں کود. میری فائل تھوڑا سا مختلف لگ رہا ہے. یہاں نیچے میرے AJAX کی چیزیں ایک ہی ہے. میں دوسرے صفحے پر جانے کے لئے بغیر اسٹاک ڈیٹا لوڈ کرنے کے لئے کرنا چاہتے ہیں. لیکن اب میں اس پلگ ان کو استعمال کرنے کے لئے کرنا چاہتے ہیں. بوٹسٹریپ دستاویزات کہ میں کس طرح کر سکتے ہیں کی عظیم مثالیں ہیں. میں کہنا چاہتا ہوں، "ان پٹ ہے کہ میں خود تکمیل کرنا چاہتے ہیں،" اور میں یہ کہا جاتا typeahead ایک تقریب کو فون کرنے جا رہا ہوں، اور یہ کہ ہمارے لئے Typeahead چیزیں سب کو ہینڈل کرنے جا رہا ہے. یہ فہرست ابتدا گا، ہمارے فلٹرنگ کے تمام کر دے گا. صرف ایک ہی چیز ہے یہ جاننے کی ضرورت ہے ہے جو ڈیٹا ہم پر autocompleting کر رہے ہیں. تو میں باہر صرف دستاویزات کو پڑھنے اور مثال کے طور پر دیکھ کر اس چابی مل گیا. اگر میں اس کے ذرائع کا ایک اہم ہے، اس چابی کی قیمت دے صرف چیزوں میں سے کچھ صف میں خود تکمیل کرنا چاہتے ہیں ہے. یہ متغیر اس دوسری فائل سے آیا ہے. میں symbols.js کھولتے ہیں. یہ symbols.js یہ واقعی بہت بڑا صف کی ڈور پر مشتمل ہے نیس ڈیک سے ان اسٹاک علامات میں سے سب سے. اگر میں HTML، تو jharvard، vhosts، globalhost، HTML، سانچے واپس کود کرنا چاہتے ہیں، quote_form. چونکہ کہ اب quote3.js کہتے ہیں، آپ کے وزٹرز کا ریکارڈ رکھا جاوا اسکرپٹ فائل میں یہاں بھی شامل ہوں کو تبدیل. اب میں quote3.js ہے، تو میں ہے کہ علیحدہ جاوا اسکرپٹ فائل میں لوڈ کرنے جا رہا ہوں، جو اس بوٹسٹریپ خود تکمیل ہے. اب جب میں براؤزر میں واپس کود، صفحہ دوبارہ لوڈ کریں، اور میں AA ٹائپ کرنا شروع کریں، میرا خود تکمیل ہے. اور یہ واقعی اس کے طور پر کے طور پر آسان تھا. میں کوڈ کے 1 سطر، جو کہ صرف اتنا کہا تھا "یہاں چیزوں میں خود تکمیل کرنا چاہتے ہیں ہیں،" اور اچانک میں نے کوشش کی ساری بہت بالکل نہیں کے ساتھ یہ بہت، بہت اچھا فعالیت ہے. جیسا کہ آپ کی ویب سائٹ اور چیزوں کی خاص طور پر سامنے کے آخر میں کی طرف کی ترقی کر رہے ہیں، آپ کے لئے یہ کیس بہت ہے جا رہے ہیں. واقعی ڈاؤن لوڈ، اتارنا مفت لائبریریوں کے بہت، بہت، وہاں بہت ہیں کہ یہ اس طرح کام کرنا آسان سپر. کوئی صرف علامات کی اس بڑی فہرست پر autocompleting کے کسی بھی خرابیوں کے بارے میں سوچ کر سکتا ہوں؟ ایسا کچھ ہے جو اس نقطہ نظر کے ساتھ سب سے اچھا نہیں ہے کیا ہو سکتا ہے؟ جی ہاں. >> [طالب علم] وقت، اگر آپ کو [اشراوی] بہت ہے جی ہاں. ٹھیک ہے اب ہم اس بھاری جاوا اسکرپٹ فائل ڈاؤن لوڈ کر رہے ہیں اور علامات کی ایک بہت ہے. اور اگر ایسا ہے تو ہم چیزیں ایک ٹن ہے، اس قسم کی تلاش نہ صرف تاخیر اضافہ بلکہ اصل فائل ڈاؤن لوڈ. بہت اچھا ہے. اور کچھ؟ اب مطابقت کی کوئی حقیقی احساس ہے. اگر میں ایک، وہ کمپنیاں جو یہاں نظر میں ٹائپ سب سے زیادہ مقبول وہ کمپنیاں جو اے کے ساتھ شروع نہیں ہو سکتا ہے اس سے پہلے کہ میں ایپل حاصل کرنے کے لئے، یہ کچھ حروف تلاش کہ میں کیا دیکھ رہا ہوں ہو سکتا ہے. اس خود تکمیل کو متعلقہ اس کا کوئی مطلب نہیں ہے. یہ صرف کہنے کی جا رہا ہے "کوئی بھی چیز جو سے میل کھاتا ہے میں ظاہر کرنے کے لئے جا رہا ہوں." اس کی بجائے، میں کسی نہ کسی طرح میری تلاش میں کچھ مطابقت ضم کرنا چاہتے ہیں. اگر میں یہاں یاہو خزانہ finance.yahoo.com،، اگر میں یاہو! کی خزانہ کے صفحے پر ایک علامت میں داخل ہونے کی کوشش کرتے ہیں اور میں GOOG ٹائپ کرنا شروع کریں، میں چیزوں کی اس اچھی فہرست ہے. ظاہر ہے، ایسا لگتا ہے جیسے یاہو! خزانہ کچھ کرنے میں زیادہ ہوشیار ہے یہاں. وہ کچھ مطابقت ہے اور وہ بھی اضافی معلومات ہے اسٹاک کے نام کی طرح. یہ ایک ایسی چیز ہے جس میں علامات کے صرف اپنے اسٹاک کی فہرست کے ساتھ واقعی نہیں حاصل کر سکتے ہیں ہے. میں نے یہ چاہتے ہیں اور اس لئے میں اسے لے جا رہا ہوں. کیا کہ چلو کچھ چیزیں کرنے کے لئے. چلو اس صفحے پر سب سے پہلے انسپکٹر کھول کیونکہ ہم نے دیکھا کہ اس صفحہ کو دوبارہ لوڈ بالکل نہیں ہے، تو شاید یہ AJAX کا استعمال کرتے ہوئے ہے کسی نہ کسی طرح اپنے ڈیٹا لوڈ ہورہا ہے. ہم باہر تلاش کیا ڈیٹا لوڈنگ ہے. اگر میں اس نیٹ ورک کے ٹیب پر کلک کریں، یہ درخواست کرتا ہے کہ فائرنگ شروع کی سب جا رہے ہیں. اب اگر میں goo میں ٹائپ ہم نے دیکھا، کہ میں صرف ایک نیا HTTP درخواست ہے کر سکتے ہیں. شاید یہ وہ جگہ ہے جہاں اس ڈیٹا سے آ رہا ہے. کافی یقین ہے، اگر میں اس یو آر ایل، جو تھوڑا عجیب نام ہے دیکھو ہم دیکھتے ہیں کہ یہ بالکل ہے جہاں یاہو نے سے بھیج رہا ہے اس کا ڈیٹا کر سکتے ہیں. میں نامی ایک علیحدہ suggest.php فائل ہے جو روح میں بہت تلاش کی تقریب کی طرح ہے تشکیل دے دیا ہے. یہ بنیادی طور پر یاہو یو آر ایل ایک سوال بنانے کے لئے جا رہا ہے، کچھ معلومات حاصل، اور اسے میرے پاس واپس بھیج دیں. اب، علامات کی اس بڑی، بڑی فہرست کا استعمال کرتے ہوئے کی بجائے، میں یاہو کے اچھا مطابقت چیزوں کا استعمال کر سکتے ہیں، اور میں کہ بڑے پیمانے پر جاوا سکرپٹ فائل کو ڈاؤن لوڈ کرنے کی ضرورت نہیں ہے. میں صرف اصل میں متعلقہ اسٹاک علامات ھیںچو جا رہا ہوں. چلو کہ میں کود. تو HTML، JS. اب ہم quote4 میں ہیں. اب ہم نہیں رہ گیا ہے کہ جاوا اسکرپٹ فائلوں کی بڑی فہرست کا استعمال کرتے ہوئے کر رہے ہیں. لیکن اس کے ڈیزائن کے مسئلے کا ایک چھوٹا سا قسم یہاں ہے. ہم نے کہا ہے کہ AJAX میں اتلیکالک ہے. کیا کہ اس کا مطلب یہ ہے کہ جب میں ایک AJAX کی درخواست کرتے ہیں، یہیں 8 لائن پر، یہ وہ جگہ ہے جہاں میرے AJAX کی درخواست اصل میں فائرنگ کی ہے. چلو کا کہنا ہے کہ اب میں کچھ کوڈ ہے یہاں پر جو کچھ کیا جا رہا ہے کے صفحے پر صارف یا تبدیلی کی کچھ متنبہ پسند. کیا ہو رہا ہو نہیں ہے براؤزر کو جاری رکھنے کے لئے اس کی درخواست کے لئے انتظار نہیں ہے سے پہلے نیچے آ رہی ہے اور اس لائن کو مارنا ہے. اتلیکالک حصہ ہے. یہ اس کی درخواست کو بنانے کے لئے اور، کا کہنا ہے کہ "آپ جب بھی ختم ہو رہا ہے، "واپس آ اور اس تقریب میں ہے کہ میں نے تم سے کہا تھا کہ کامیابی کے اندر کال پر کال کریں." اس کا مطلب یہ ہے کہ ہم صرف اسٹاک سے پہلے ڈاؤن لوڈ، اتارنا کر سکتے ہیں. ہم درخواست کرنے اور واپس آنے کے لیے کچھ انتظار کرنے کی ضرورت ہے. یہ کہ اس سے پہلے کا مطلب ہے، ہم بوٹسٹریپ صرف بتا سکتا ہوں، "یہاں چیزوں کی فہرست ہے میں نے خود تکمیل کرنے کے لئے آپ کو پر کرنا چاہتے ہیں." ہم جو اب نہیں اب کیا کیونکہ ہم نہیں جانتے ہیں کر سکتے ہیں کیا ہم اصل پر خود تکمیل چاہتے ہیں. خوش قسمتی سے، بوٹسٹریپ نے اس کے بارے میں سوچا، کیونکہ وہ وہاں ہوشیار لوگ ہیں، اور وہ اصل میں ہمیں ایک اس Typeahead پلگ ان لوڈ کرنے کا طریقہ دیا. سے پہلے چیزوں کی، اس ذریعہ جائیداد کی قدر صرف اس بڑی پر خود تکمیل پر صف تھا. اب ذریعہ جائیداد اصل میں ایک تقریب ہے، اور اس تقریب کا مقصد معلوم کرنا ہے پر خود تکمیل پر چیزیں ہیں. جس طرح سے اس سے اعداد و شمار پر جا رہا ہے ہے ہے کہ یاہو! خزانہ سے کہنے جا رہا ہے جو خود تکمیل پر بہترین چیزیں ہیں. کرنا کہ میں ایک بہت ہی AJAX درخواست بنانے کے لئے جا رہا ہوں. میں suggest.php اس صفحے کی درخواست کی جا رہی ہوں. میں علامات کے ساتھ ساتھ اب بھی بھیجنا چاہتے ہیں. اور اب میری کامیابی، بوٹسٹریپ دستاویزات نے مجھ سے کہا کہ میں چیزوں کی فہرست آباد، میں کیا کرنے کی ضرورت ہے اب اس صف میں واپسی کال تقریب کو منتقل کر رہا ہے. لیکن ایک منٹ انتظار کریں. اگر یہ ایک صف ہونا چاہیے ہے اور AJAX آپ کے وزٹرز کا ریکارڈ رکھا واپس بھیجنے متن ہے، یہ ہے کہ یہ کس طرح ممکن ہے؟ یہ کہا جاتا JSON ڈیٹا کے تبادلے کا ایک نیا طریقہ متعارف کرایا. اس صورت میں ہم ابھی واپس نہیں کر رہے ہیں متن کی ایک سادہ اسٹرنگ بھیج. اب ہم اسٹاک کی علامات کے اس زیادہ پیچیدہ فہرست کے ساتھ کام کر رہے ہو. یہ اسٹاک علامات کمپنی کا نام یا موجودہ قیمتوں کی طرح چیزوں کو بھی شامل کر سکتے ہیں. صرف ایک بڑا طویل سٹرنگ ہے کہ کسی بھی امکانات کے راستے میں فارمیٹ نہیں ہے کا استعمال کرتے ہوئے جا رہی ہے Yahoo کے سرور سے یہ اعداد و شمار آپ کے وزٹرز کا ریکارڈ رکھا حاصل کرنے کا بہترین طریقہ نہیں ایک راستہ ہے جس سے کہ میں آسانی سے سمجھ سکتے ہیں. JSON ایک ٹیکنالوجی ہے کہ ہم کس طرح جاوا سکرپٹ میں ساہچری arrays تخلیق کا فائدہ لیتا ہے ہے. ساہچری سرنی کی طرح جاوا سکرپٹ کو یہ بہت لگ رہا ہے، اور اصل میں، اس کا ہے کیونکہ یہ ہے. JSON جاوا سکرپٹ کے آبجیکٹ سنکیتن کے لئے کھڑا ہے. یہ بنیادی طور پر ایک ڈیٹا منتقل آگے اور پیچھے کرنے کے لئے کی شکل پر اتفاق ہے. یہاں یہ JSON چیز یا اس JSON ساہچری سرنی کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے ایک کورس کے بارے میں کچھ معلومات بھیج. اس صف کی چابی کورس جیسی چیزوں cs50 کی قدر ہے، اور نیچے ہم یہاں دیکھتے ہیں کہ میں ایک قیمت ہے جو ایک صف ہے کر سکتے ہیں کر سکتے ہیں. میں ڈور کے باہر تصریف طرح کام کرنے کی ضرورت نہیں ہے اور کوما کے لئے تلاش کریں اور اس طرح پاگل چیز. اس کی وجہ اس JSON کی شکل میں اعلان کیا جاتا ہے، جاوا اسکرپٹ اور jQuery پہلے سے ہی ایک تار کو تبدیل کرنے کے کام کرتا ہے جو کہ ایک حقیقی جاوا اسکرپٹ ساہچری سرنی میں اس JSON کی طرح لگتا ہے کہ ہم ساتھ مل کر کام کر سکتے ہیں. یہ ہے کہ ایسا کہہ رہے ہیں کہ اب اس فائل نہیں suggest.php ہے، کے طور پر کے طور پر آسان ہے، مجھے واپس صرف متن کی ایک تار بھیج لیکن مجھے پتہ ہے کہ یہ آپ کے وزٹرز کا ریکارڈ رکھا بھیجنے واپس JSON جا رہا ہے. اس کا مطلب یہ ہے کہ کہ وہ JSON ساہچری سرنی میں جاوا سکرپٹ کو تبدیل کیا جا سکتا ہے. اور jQuery ایسا ہے، تو میں آپ کو میرے لئے ایسا کرنا چاہتے ہیں. اس کا مطلب ہے کہ یہ جواب یہاں پیرامیٹر، یہ اب صرف ایک تار ہے. کیونکہ ہم jQuery کہا ہے کہ یہاں کچھ JSON آتا ہے، jQuery کہنے کے لئے کافی ہوشیار ہو جا رہا ہے، "تم JSON چاہتے ہو؟" "میں آپ کے لئے ایک ساہچری سرنی میں تبدیل کرنے جا رہا ہوں." چلو، اصل میں نیٹ ورک کے ٹیب پر ایک نظر ایک بار ہم quote4.js ہے. ہم نے اس کو تبدیل کرنے اور صفحہ دوبارہ لوڈ کریں گے. اب میں ایک میں دوبارہ ٹائپ جا رہا ہوں. میں suggest.php ایک جوڑے کی درخواستوں لیا ہے، لیکن اب یہ جواب، صرف سٹرنگ کے بجائے، یہ JSON ہے. تو میں ایک کھلی گھوبگھرالی تسمہ کہہ رہے ہو، "یہ ایک ساہچری سرنی آتا ہے." اس ساہچری سرنی کا پہلا اور واحد اہم علامات کو کہا جاتا ہے، اور پھر یہاں متعلقہ علامات میں سے سب سے ایک صف ہے اب یاہو خزانہ سے آ رہا ہے، اس بہت بڑا فہرست سے نہیں. یہ ہے کہ میں کس طرح یہ خود تکمیل پلگ ان صرف آباد کر سکتے ہیں کچھ اعداد و شمار ہے کہ ایک مقامی فائل ہے جو پہلے ہی پہلے سے مقرر ہے سے نہیں آ رہا ہے کے ساتھ لیکن کچھ اور سے. یہ پتہ چلا ہے کہ ہم نامی JSONP ٹیکنالوجی کے فائدہ بھی لے جا سکتے ہیں ہے، یا بھرتی کے ساتھ JSON، جو اس suggest.php بچولیا خاتمہ کر دے گی. لیکن یہ ہے کہ ایسا کرنے کے بجائے، بجائے کس طرح میں اس سے بھی زیادہ بہتر بنا سکتے ہیں پر ایک نظر لے. مجھے واقعی میں بوٹسٹریپ Typeahead پسند ہے. یہ بہت اچھی بات ہے. لیکن ہم جاوا اسکرپٹ میں اچھا ہو رہے ہیں اور ہم اس قسم کی خود کرنا چاہتے ہیں، شاید اس پلگ ان کیا کر رہا کیا جا سکتا ہے پر ایک نظر لے. ، ہے اب نہیں ہے کہ Typeahead چیز کا استعمال اور مجوزہ اسٹاک کی اس فہرست میں خود کو بنانے کی کوشش کریں. یہاں ہم quote6.php میں اسی طرح شروع کرنے جا رہے ہیں. ہر وقت کسی نے کچھ کی قسم، ہم ایک AJAX کی درخواست کرنا چاہتے ہیں. یہ ہمارے اصل خزانہ CS50 فوری کی طرح ہے. نے quote.php پر ایک درخواست کرنے سے، بلکہ اب ہم پہلے کی طرح اس ایک ہی فائل میں رہے ہیں ایک درخواست کرنے، اس suggest.php جس میں صرف یاہو خزانہ کی طرف سے اعداد و شمار کی ھیںچو کی جا رہی ہے. ایک بار پھر، ہم ابھی تک JSON کی توقع کر رہے ہیں، لیکن اب کے بعد Typeahead یہ ہمارے لئے نہیں کر رہا ہے، ہم بھی قدر ہے کہ موجودہ متن والے باکس کے اندر ہے بھیجنے کی ضرورت ہے. اب ہم جانتے ہیں کہ کیا یاہو خزانہ سے پوچھنا، اور تو اب یہاں تقریب میں ہے کہ ہم ایک بار درخواست مکمل پھانسی کرنا چاہتے ہیں ہے. ہم پلگ ان کی ضرورت نہیں ہے، ہمارے لئے کی فہرست بنانے، یہاں ہے جہاں ہم اصل میں تجاویز کی ایک فہرست بنانے کے لئے جا رہے ہیں. ایسا کرنے کے لئے، زیادہ پی ایچ پی کی طرح ہم HTML کے ان بڑے ڈور concatenated پھر ہم نے ان طباعت، ہم جاوا سکرپٹ میں ایک ہی عین مطابق بات کر سکتے ہیں. سب سے پہلے ہم اس سے ملاقات کی تجاویز سٹرنگ شروع کرنے جا رہے ہیں، اور میں اس جملے کو صرف کچھ HTML مشتمل ہو رہا ہے. ہم چیزوں کی فہرست کرنا چاہتے ہیں، تو ہم اس فہرست ٹیگ کے ساتھ شروع کرنے کے لئے جا رہے ہیں، اور اب ہم علامات جو ہمیں واپس گئے تمام iterate جا رہے ہیں. یاد رکھیں، کیونکہ ہم ڈیٹاپرکار کہا ہے: یہ 'JSON'، ایک تار نہیں ہے. یہ پہلے سے ہی ہمارے لئے ایک صف ہے. یہ واقعی بہت اچھا ہے. ہم یہ کہتے ہیں "میں آپ کو ایک فہرست عنصر شامل کرنا چاہتے ہیں." ​​کر سکتے ہیں ہم نے اس کی طرف میں ایک عنصر کے اندر ڈال دیتا ہوں، ہم یہ تجاویز کی ایک کلاس دے تو ہم جانتے ہیں کہ یہ کیا ہے. اور اب یہاں کی علامت ہے کہ ہم یاہو خزانہ سے واپس مل گیا ہے. ایک بار جب ہم علامات سے ہم واپس ہو گیا ہے میں سے ہر ایک کے لئے ایک عنصر تشکیل دے دیا ہے، ہم صرف فہرست بند کرنا چاہتے ہیں. تو اب تجاویز یہ چھوٹا HTML فریگمنٹ کی نمائندگی کرتا ہے جب ایک صفحے پر ڈال دیا ہے کہ چیزوں کو ہم کے لئے تلاش کر رہے ہیں کی فہرست میں جا رہا ہے. چلو اب اصل صفحے پر ڈال. کہ میں نے اصل میں ایک اور خالی div تشکیل دے دیا ہے اور میں نے اسے دی گئی تجاویز میں سے ایک ID کیا ہے. بہت کچھ جیسا کہ ہم div کے مندرجات اسٹاک اعداد و شمار کی قیمت کو ظاہر کرے گا مقرر، اب ہم جو کچھ بھی میں اس جملے کو ہے اس div کے مندرجات قائم کرنے کے لئے کرنا چاہتے ہیں جس میں ان علامات پر مشتمل ہے. اس HTML طریقہ کا استعمال کرتے ہوئے کی طرف سے، یہ تجاویز متغیر، اس سٹرنگ، HTML کی ایک تار ہے. میں تم سے جو HTML لے لیتے ہیں اور کہا جاتا تجاویز div کے اندر رکھ چاہتے ہیں. ہمیں صرف DOM کچھ اب سے منسلک ہے. ہم DOM کچھ نئے عناصر نے مزید کہا کہ اب ہم صفحے پر ظاہر کر سکتا ہے ہے. چلو دیکھتے ہیں یہ کس طرح لگتا ہے. اگر ہم نے quote6 میں لوڈ کریں اور اب ہم واپس آ، اب جب میں AAPL ٹائپ کرنا شروع کریں، ہم نہیں رہ گیا کہ بوٹسٹریپ خود تکمیل ہے، لیکن اب ہم اس فہرست میں ہے کہ ہم نے خود بنایا ہے. یہ بوٹسٹریپ Typeahead سے تھوڑا سا uglier مثال کے طور پر ہے، لیکن یہ ہمیں ایک اور چیز کرنے کی اجازت ہے. جب ہم اس بوٹسٹریپ پلگ ان میں تلاش کر رہے تھے، ہم نے دیکھا کہ جب ہم autocompleted، خود تکمیل اقدار میں سے ایک AAPL تھا. یہ بہت مددگار ثابت نہیں ہو سکتا ہے. ایک صارف کے طور پر، میں نے فوری طور پر اسٹاک علامات کو تسلیم نہیں کرتے ہو سکتا ہے. میں شاید ہوں کی شناخت کا امکان کمپنی کے اصل نام یہ ہیں. تو یہ واقعی مددگار نہیں اگر بجائے AAPL کہہ رہے یہ ایپل انکارپوریٹڈ کی طرح کچھ نے کہا کہ کیونکہ ہم اس لڑھکا کر خود ہے، ہم اس واقعی آسانی سے کر سکتے ہیں. تو چلو، ہماری آخری اقتباس یہاں فائل کو کھولنے، quote7. ایک ہی بات ہے. میں صرف ایک پی ایچ پی فائل صرف علامات سے ہمیں واپس نہیں کر تشکیل دیا ہے. اس سے ہمیں یہ بھی کمپنی کا نام دے گا. اور اس طرح ہم ایک ہی بات کر رہے ہیں. ہم ایک AJAX کی درخواست کر رہے ہیں. ایک بار کی درخواست مکمل کر لیا ہے، ہم یہاں اس تقریب پھانسی جا رہے ہیں، اور اس تقریب کے عناصر کا ایک بڑا سٹرنگ کی تعمیر کی جا رہی ہے. لیکن یہاں فرق یہ ہے کہ ان فہرستوں کی قدر اب صرف ایک علامت ہے، اب یہ نام ہے. تو ہم ایک چھوٹی سی مسئلہ ہے. جب ہم اپنی تلاش کا استعمال کرتے ہیں، ہم کسی نہ کسی طرح اس علامت کو منتقل کرنے کی ضرورت ہے. ہم مائیکروسافٹ کارپوریشن جیسے کچھ تلاش پاس نہیں کر سکتے. ہم نے یہ MSFT کو منتقل کرنے کی ضرورت ہے. جب ہم HTML لکھ رہے ہیں، ہم اچھی صفات بلٹ میں بہت ہے. ایک اسے ایک href کی یا ایک کلاس کے ساتھ منسلک کر سکتے ہیں. لیکن کیا ہم واقعی ضرورت ہے ان لنکس میں سے ہر ایک کے لئے ہے اس کے ساتھ وابستہ اسٹاک علامت ہے. کوئی بلٹ میں اسٹاک علامت کے لئے HTML وصف ہے لیکن خوش قسمتی سے، HTML5 ہمیں ہماری اپنی صفات جو ہم چاہتے ہیں بنانے کے لئے کی اجازت دیتا ہے ہے. ڈیٹا علامت کہہ کر، میں نے ایک نئی خصوصیت متعارف کرائی ہے جس کے نام میں صرف بنا ہوا ہے، اور یہ ٹھیک ہے کیونکہ میں نے اسے اس اعداد و شمار کے ساتھ prefaced. ہم اسٹاک سے وہاں کی علامت کے اندر ذخیرہ کرنے جا رہے ہیں. کیا اس کا مطلب یہ ہے کہ اگرچہ ہم نے کمپنی کے نام کی قدر ظاہر کر رہے ہیں ہماری خود تکمیل کے اندر، ہم اب بھی علامت کو یاد کر رہے ہیں جو کہ ہر کمپنی کے ساتھ منسلک کیا جاتا ہے. جس طرح سے ہم اس کر رہے ہیں اس عنصر ہی کے اندر ہے. تو اس کا مطلب ہے کہ ہم ایک اور تبدیلی کی ضرورت ہے. جب ہم اس پر کلک کریں، ہم اصل میں علامت کے وصف سے فائدہ اٹھانے کی ضرورت ہے کی بجائے صرف اس کی قیمت ہے. اگر ہم بیک اپ، ہم تجاویز کے نتیجے میں کوئی ایسا واقعہ ہینڈلر منسلک ہے. جب بھی ان تجاویز میں سے ایک کو اب کلک کیا ہے، میں کچھ کرنا چاہتا ہوں. مجھے کیا کرنا چاہتے ہیں اس ان پٹ باکس کی قدر میں تبدیلی. اب میں یہی ویل تقریب مقرر کرنا چاہتے ہیں. تو کوئی بحث کے بغیر اس ویل تقریب آپ کو واپس متن والے باکس میں پہلے سے ہی کیا ہے، لیکن اگر آپ یہ ایک تار دے، اس سٹرنگ اور ٹیکسٹ باکس میں ڈال جا رہا ہے. میں اسی طرح میں اس کے ٹیکسٹ باکس کو منتخب کر رہا ہوں. یہ نام فارم اقتباس کی علامت کے اندر ہے. اب میں یہ وصف ڈیٹا کی علامت کی قدر بھیج رہا ہوں. یہ بات نئی ہے، اس ڈالر (اس). کیا اس سے مراد وہ عنصر ہے کہ کلک کیا گیا تھا ہے. ہم یہاں دیکھتے ہیں کہ ہم ایک کلک واقعہ منسلک نہیں کر رہے ہیں کر سکتے ہیں تجویز کی ایک کلاس میں سے ہر ایک انفرادی طور پر عنصر. بلکہ، ہم نے یہ ایک چھوٹی سی مختلف قریب آ رہے ہیں. اس کے بجائے ہم کہہ رہے ہو، اس تجاویز div کچھ اندر جب بھی جو یاد رکھیں کہ صرف اس کی فہرست کے لئے کنٹینر ہے، اگر اس div کے اندر کچھ پر کلک کیا اور اس تجویز کی کلاس ہے، میں نے اس ایونٹ کو برطرف کرنا چاہتے ہیں. بنیادی طور پر اس کا مطلب یہ ہے کہ ہم کیا کر سکتے ہیں ہے کہ ہم نے یہ اسی ایونٹ ہینڈلر کو دوبارہ استعمال کر سکتے ہیں فہرست میں چیزوں میں سے سب کے لئے. تو ہم نے پہلے عنصر کے لئے ایک ایونٹ ہینڈلر کی ضرورت نہیں ہے دوسرے عنصر کے لئے اور ایک مختلف ایونٹ ہینڈلر. ہم بجائے کہنا "میں اسی ایونٹ ہینڈلر میری فہرست میں سب کچھ پر لاگو کرنا چاہتے ہیں." ​​کر سکتے ہیں لیکن ہم کسی نہ کسی طرح جانتے ہیں جس میں عنصر کلک کیا گیا تھا کی ضرورت ہے. اس "صرف یہ ہے کہ اس" مطلوبہ الفاظ کی نمائندگی کرتا ہے. یہ اعتراض ہے کہ صرف صارف کی طرف سے کلک کیا تھا ہے. اگر میں صرف 3rd اس لنک پر کلک، یہ اس 3rd لنک کے عناصر کی نمائندگی کرتا ہے، جس کا مطلب یہ ہے کہ میں اس کے وصف، ڈیٹا علامت حاصل کر سکتے ہیں، جو ہم جانتے علامت ہے کہ کمپنی میں صرف کلک کیا کے ساتھ منسلک ہے پر مشتمل ہے. اگر ہم ہمارے فنانس صفحے پر واپس کود، اب ہم دیکھ سکتے ہیں کہ ایک بار میں msft طرح کچھ ٹائپ کرنا شروع کریں، اب ہم صرف اسٹاک علامات ہو رہے ہیں، اب ہم اصل کمپنیوں کو ہو رہے ہیں. ، لیکن جب میں نے ان کمپنیوں میں سے ایک پر کلک کریں کمپنی کے نام کے ساتھ ہم دیکھتے ہیں کہ ہم اصل میں ٹیکسٹ باکس populating رہے ہیں نہیں کر سکتے لیکن ان اعداد و شمار صفات کے اندر جو کچھ بھی ذخیرہ کیا گیا تھا. اور اگر ایسا ہے تو میں ٹھیک ہے پر کلک کر کے اصل میں ان عناصر میں سے ایک کا معائنہ اور عنصر کے معائنہ پر کلک، ہم اصل میں یہ کس طرح لگتا ہے دیکھ سکتے ہیں. یاد رکھیں اس بات پر ہے کہ ہم اس کے لوپ کے لئے اندر پیدا جب ہم نے تعمیر HTML کہ سٹرنگ تھے. ہم یہاں دیکھتے ہیں کہ اس ڈیٹا علامت MSFT، جو بہت اچھا ہے کی قدر ہے. یہی ہے جو ہم توقع کر رہے تھے. یہ نشانی ہے اور یہ کہ ہے کہ ہم کس طرح قدر ہے کہ ہم نے استعمال کرنے کے لئے کی ضرورت ہے ہے اس ٹیکسٹ باکس کے اندر. یہ اقتباس فارم کے لیے کافی ہے کیونکہ یہ بورنگ کی طرح ہے. آو ہمارے پورٹ فولیو کے صفحے میں کچھ فوری اضافہ. اگر آپ تھوڑی دیر کے لئے CS50 خزانہ کا استعمال کیا ہے اور آپ خرید اور فروخت اسٹاک کی ایک بہت شروع، آخر میں یہ میز بہت بڑا حاصل کرنے کے لئے جا رہا ہے، اور آپ کو اسٹاک کورس کی ٹکر، کرنا چاہتے ہیں جا رہے ہیں. ایک بار میز بہت، بہت بڑا ہے، اس صارف کے لئے مفید ہو اس پر تلاش کرنے کی کوشش کر سکتے ہیں. اندر تلاش کے باکس اگر میں ڈزنی کی طرح کچھ ٹائپ کرنا شروع کریں اور ہم اپنے مکی ماؤس اسٹاک کے لئے تلاش، ملاحظہ کریں کہ ٹیبل اب فلٹرنگ ہے کی بنیاد پر جو میں نے ابھی اندر ٹائپ یہ فعالیت سپر پیچیدہ لگتا ہے، لیکن یہ واقعی بہت آسان ہے jQuery اور جاوا سکرپٹ کے ساتھ. یہ portfolio.php فائل جاوا سکرپٹ کہا جاتا portfolio.js فائل بھی شامل ہے. چلو، اس پر ایک نظر لے. تو HTML، JS، پورٹ فولیو. یہاں ہے جہاں ہم کیا کر رہے ہیں کہ میز پر تلاش کر رہے ہیں. پہلی بات میں کیا کرنے کی ضرورت ہے، اس ٹیکسٹ باکس میں ایک ایونٹ ہینڈلر منسلک ہے کیونکہ ہم جانتے ہیں کہ ہمیں ہمارے فلٹرنگ تقریب کو برطرف کرنا چاہتے ہیں ہر بار صارف کے کچھ پریس کیونکہ ہم تلاش کے بٹن کے لئے وقت نہیں ہے. پہلی بات ہم کیا کرنے کی ضرورت ہے ہے اعداد و شمار جو صارف کے لئے تلاش کر رہا ہے، جیسا کہ ہم نے پہلے کیا ہے. یہ مطلوبہ الفاظ سے مراد موجودہ عنصر صارف کے ساتھ بات چیت ہے. کیونکہ صارف کے تلاش کے باکس کے ساتھ بات چیت کر رہا ہے، ڈالر کی اس تلاش کے باکس کی نمائندگی کرتا ہے، تو this.val ہمیں دیتا ہے تلاش کے باکس صارف فی الحال ٹائپ کر رہا ہے کے اندر کیا ہے. تو، اب جو ہم کرنا چاہتے ہیں تو ہم سے زیادہ لائنوں کی سب iterate چاہتے ہیں کے اندر اندر ہماری ٹیبل کے. ہمارے ٹیبل میں قطاروں کی سب کو منتخب کرنے کے لئے، میں نے اس کی میز میز کے پورٹ فولیو کا ایک ID دیا، اور ہر صف ایک TR کے عناصر کی طرف سے ظاہر کیا جاتا ہے، تو اس سلیکٹر میرے لئے ایک بڑا صف میں واپس جا رہا ہے میری ٹیبل میں تمام قطاروں کی. اب میں اس صف پر iterate کرنا چاہتے ہیں. مجھے تم، لوپ کے لئے کر سکتے لیکن jQuery اصل میں ہمیں اچھی تقریب فراہم کرتا ہے کہتے ہیں "ہر". ہر کرتا ہے ہر ایک دلیل لیتا ہے، اور یہ دلیل ایک تقریب ہے. یہ کیا جا رہا ہے ہے ہے کہ اس فہرست کے اندر ہر عنصر ہے کہ تقریب پر لاگو ہو رہا ہے. اس تقریب میں ایک دلیل ہے کہ ای لیتا ہے، اور جب اس تقریب کو پھانسی ہے، یہ ای پہلی قطار کے ساتھ تبدیل ہو رہا ہے، اور پھر دوسری صف، اور پھر تیسری قطار. اس طرح سے، یہ لوپ کے لئے ایک چلانے کے طور پر ایک ہی بات ہے اور پھر موجودہ لوپ کے لئے آپ کی فہرست کے اندر کی بنیاد پر عنصر figuring. ہر iteration میں ٹیبل میں ان عناصر میں سے ہر ایک کے لئے، قطار کے اندر سیل کا متن - عنصر کا متن اگر چیک کرنے کے لیے کرنا چاہتے ہیں - سے میل کھاتا ہے کہ میں کیا تلاش کر رہا ہوں. حکم کا یہ بڑا طویل سٹرنگ ہے کہ میں کس طرح کر سکتے ہیں. سب سے پہلے، ایک بار پھر، اب یہ مراد - کیونکہ یہ ایک نیا تقریب کے اندر ہے - اب یہ ٹیبل میں موجودہ لائن ہے. میں ٹیبل میں موجودہ لائن کو لینے کے لئے چاہتے ہیں، اور میں اس کے بچوں کی سب کو حاصل کرنے کے لئے کرنا چاہتے ہیں. یاد رکھیں، DOM ایک پدانکردوست درخت ہے، جس کا مطلب یہ ہے کہ عناصر بچوں کی ایک بڑی تعداد ہے. یہ بچوں کی تقریب. میرے پاس واپس عناصر کے سب ایک صف واپس جا رہا ہے کے بچوں کو اس معاملے میں، ٹیبل میں ایک قطار میں ہیں. یہ صرف صرف صف کے اندر خلیات ہے. میں صرف پہلا سیل پر تلاش کرنا چاہتے ہیں. یہ پہلا جشن ہے. کا کہنا ہے کہ کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے اس صف میں سب سے پہلے عنصر. پھر متن تقریب کا کہنا ہے کہ حاصل آپ کے وزٹرز کا ریکارڈ رکھا بالکل وہی جو اس سیل کے اندر ہے کیونکہ میں یہ کہ عبارت پر تلاش کرنا چاہتے ہیں. آخر میں، یہ چھوٹے تبدیل، تو ہم متن کیس بے حسی سوالات کر سکتے ہیں. آخر میں، ہم اگر ایک ٹیبل کے اندر سٹرنگ سٹرنگ ہم کے لئے تلاش کر رہے ہیں پر مشتمل ہے کو دیکھنے کے لئے چاہتے ہیں. جاوا اسکرپٹ میں indexOf تقریب صرف یہ ہے کہ کرتا ہے. یہ ہمیں بتاتا ہے یا نہیں میں اس جملے کو ایک اور سٹرنگ پر مشتمل ہے. ، اگر یہ سچ ہے کہ سیل پر مشتمل ہے جو میں تلاش کر رہا ہوں تو میں اس بات کا یقین کر لیں کہ کہ یہ دکھایا گیا ہے بنانے کے لئے چاہتے ہیں. کا کہنا ہے کہ شو کا طریقہ، "دکھائیں عنصر." اگر ایسا نہیں ہے، تو اس کا مطلب ہے کہ جو کچھ بھی میں نہیں موجود ہے کے لئے تلاش کر رہا ہوں اس قطار کے اندر اندر، اور میں چاہتا ہوں کہ چھپانے کی صارف کی طرف سے ہے. یہ کہ اچھا فلٹرنگ اثر حاصل ہے جہاں اب کوئی ہم پوری ٹیبل دیکھیں. اگر آپ کو کس طرح اس ٹکر کے طور پر بنانے کے لئے میں دلچسپی رکھتے ہیں، ہم ذریعہ آن لائن پوسٹ کریں گے. لیکن یہ واقعی بہت آسان ہے. JQuery یہ متحرک تصاویر اور توڑ CSS خصوصیات کے لئے بہت اچھا طریقوں ہے. تو، یہ میرے لئے ہے. کیا تو پھر جھوٹ؟ کے طور پر آپ کو چند دنوں میں نظر آئے گا، حتمی منصوبوں کی تجویز کی وجہ سے ہے. حتمی منصوبوں کی تجویز آپ کو کچھ سوالات پوچھے گا، لیکن ان کے درمیان تین سنگ میل ہو جائے گا - ایک "اچھے" سنگ میل، ایک بہتر سنگ میل، اور ایک بہترین. واقعی لوگ آپ کی مدد کرنے کے خیال سے آپ کی توقعات مقرر تاکہ minimally آپ کو آپ کی آخری منصوبے کی پیداوار کے ساتھ خوش ہو جائے گا اور یہ "اچھے" جہاں تک آپ کا تعلق ہے ہو جائے گا. لیکن اس وقت بہتر آپ سے کچھ صرف تھوڑا سا تک پہنچنے کے لئے حاصل کرنے کے مفاد میں یا سب سے بہتر کچھ، ہم بھی آپ سے اس کی طرف اس کے ساتھ ساتھ دھکا ترتیب گے. CS50 ہیک ایک thon، دوران، چند ہفتوں میں ہے. ، عام طور پر، ہم نے ایک لاٹری کی بنیاد کی بنیاد پر دلچسپی کی وجہ سے ایسا کرتے ہیں لیکن مشکلات ہیں ہم شٹل بسیں میں ہارورڈ چوک سے ہم میں سے چند سو لے جائیں گے کینڈل چوک جہاں مائیکروسافٹ aptly "بیوکوف" ایک خوبصورت سہولت ہے - نیو انگلینڈ تحقیق اور ترقی کے مرکز. ہم وہاں 8 بجے ہم کچھ کھانا پڑے گا. تقریبا 1 بجے ہم کچھ کھانا پڑے گا. تقریبا 5 اگر آپ اب بھی ہیں ہم جاگ کے اوپر سے سر یا لینے کے لئے کیمپس کرنے کے لئے آپ کو IHOP واپس کریں گے. وہاں مقصد آخری منصوبوں میں کودو ہے کے ساتھ ساتھ ہم جماعتوں اور عملے کی. پھر کچھ دنوں کے بعد CS50 میلے ہے، جو واقعی میں ایک موقع مراد ہے کے لئے لوگ آپ کو آپ کے کام کی نمائش سمسٹر کے لئے کامیابیوں اور جبکہ ایک دوسرے کے ساتھ کندھوں رگڑ اور جو سب نے کا احساس ہو رہا ہے. نے کہا کہ کے ساتھ، ٹومی اور یوسف بہت شکریہ اور ہم نے تم سے پیر کو نظر آئے گا.  [تعریف]