[موسیقی بجانے] DAVID MALAN: یہ CS 50، اور ہے اس ہفتے نو کے آغاز ہے. اور کیا ہم ہم آج ایسا سوچا تھا کہ نہیں ہے صرف گزشتہ ہفتے کے پر باب بند ہم سرور پر مرکوز ہیں جہاں مواد پی ایچ پی اور SQL کے ساتھ پارٹی کی ویب پروگرامنگ، کچھ ڈیٹا بیس کی چیزیں. ہم کے ایک بٹ کے بارے میں بات کریں گے سیکورٹی کے آج اور پھر ایک کلائنٹ سائڈ پروگرامنگ پر منتقلی جاوا سکرپٹ کے طور پر جانا جاتا زبان. لیکن سب سے پہلے، کچھ چھٹکارے. آپ اس پر یاد کر سکتے ہیں بدھ، میں باہر قائم ایک ویب سائٹ کو لکھنے کے لئے کہ صارف کی ان پٹ میں لے لیا ایک HTML کی طرف سے کہ اس کے بعد سے ذخیرہ کی تشکیل کہ صارف ان پٹ کے ناموں، فون نمبرز، اور سیل فون ڈیٹا بیس میں کیریئرز. اور پھر میں نے ایک چھوٹی سی کمانڈ تھا سطر سکرپٹ پی ایچ پی میں لکھا کہ iterate کرنا چاہیے تھا ڈیٹا بیس میں قطاریں زائد اور ٹیکسٹ پیغامات کو بھیجنے کے. کئی، کئی کوششوں کے باوجود، ہم آخر تک جو کام حاصل نہیں کیا. اس لئے میں کام کر رہے ہیں اس پورے ہفتے میں خرچ کہ کوڈ پر نقطہ ماضی ہمیں حاصل کرنے کے لئے ہم چھوڑ دیا جہاں، جس کے تحت تمام میں بدھ کے آخر تک مل گیا اس متن پیغام تھا ، میں جدوجہد کے طور مآرگو سے دوسرے سے ایک متن پیغام کی طرف سے عمل ہم جماعت، آپ اس داؤد مل گیا ہے. اس سے ایک طرف سے کے بعد، حیرت انگیز حوصلہ افزا. جا پر رکھا، بہت ہی خوش آئند. میں نے تقریبا then-- تک اسے مل گیا ہے اور یہ کہ ہم نے بدھ کے روز ختم ہو گئی نوٹ کی. اور پھر اصل میں شاید میرا پسندیدہ، ایک لمحے کے بعد، اس میں آیا. لات ندی رہتے. تو آج، ہم نے یہ ایک فوری کے ساتھ طے کر تب سے میں نے کیا کیا ہے کی طرف دیکھو. تو اس کوڈ کے تمام کے لئے دستیاب ہے آن گزشتہ ہفتے کے، ہفتے آٹھ سے، ماخذ کوڈ. اور آپ کو، میں کے ذریعے چلا گیا ہے کہ نظر آئے گا اور میں واقعی میں ایک بٹ چیزوں کو صاف. میں نے ایک جوڑے دوسرے سے متعارف کرایا ایک SQL ڈیٹا بیس کی خصوصیات. مثال کے طور پر، کی بجائے صرف متغیر چار کا کیریئر بنانے مجھے لگتا ہے کہ جیسا کہ میں نے گزشتہ ہفتے مکھی پر کیا. میں بجائے اس کے طور پر وضاحت کی گئی کیا ایک ENUM کہا جاتا ہے. اور تم میں سے بعض اس کو دیکھا ہے ہو سکتا ہے ہم کھنگالنے طور C. ENUM اصل میں ہے C کی ایک خصوصیت ہے جہاں آپ کر سکتے ہیں constants کی ایک پوری چڑھانے گننا اور خودکار اقدار ان کے تفویض، ایک، دو، تین، چار کی طرح ہارڈ کوڈ نمبروں کے لئے بغیر. لہذا SQL تو جس کے تحت، اسی کی حمایت آپ کو ایک ڈیٹا بیس کا میدان ہے کہ آپ کو صرف متناہی سے ایک پر لے جانا چاہتا ہوں اقدار، آپ لفظی اس کی وضاحت کر سکتے ہیں میں نے چار کے لئے وہاں کیا ہے مقبول امریکی سیل فون کیریئرز کے. لہذا میں نے یہ کر دکھایا. اور میں جتنی تبدیلیاں کی ایک بڑی تعداد بنا دیا ساتھ ساتھ، سب سے زیادہ اہم ہیں جن میں سے ای میل یاد ہے کیونکہ کام کر حاصل کرنے کے لئے گیا تھا، اس پروگرام ہے جس پر بھروسہ کیا کہ عام طور پر ایک ای میل کرنے کے لئے فون صرف ہے جو SMS گیٹ وے، کہ Verizon کے کہنے کی پسند ہیں طریقہ، اور AT & T، اور دوسرے لوگوں کے، ایک سرور کی حمایت جس کے تحت اسے موصول اگر ای میل، یہ ایس ایم ایس کرنے کے لئے بدلتا اور ایک متن بھیجتا کسی کے فون پر پیغام. میں صحیح طریقے سے یہ کیا تو اگر، یہاں ایک نیا اور بہتر شکل ہے اس پر بات کرنے کے لئے جا رہی ہے نئے اور بہتر کوڈ، جس میں آپ کو آن لائن کے ساتھ ادا کر سکتے ہیں. اور یہ امید کر دے گا میرا صرف ایک لمحے میں فون بیپ. تو سب سے پہلے، میں نے اپنے نام میں ٹائپ کرنے جا رہا ہوں. دوئم، میں نہیں جا رہا ہوں یہ اس وقت کیا کرنے. میں عنصر کا معائنہ کرنے جا رہا ہوں. اور یہ صرف ایک ہے چھوٹی چیز تو میں ایسا نہیں کرتے پوسٹ کی پیداوار کے اوقات تخلیق میں نے آخری بار کیا تھا کے طور پر کام. اب میرا فون نمبر ہے. میں ویریزون منتخب کریں گے. اور یہاں، چلو اس مائکروفون پر تبدیل کرتے ہیں یہاں، اور یہاں اپنے فون پر اس کا مقصد. I، رجسٹر پر کلک کرنے جا رہا ہوں جس کو چاہئے امید ہے کہ ڈیٹا بیس میں ڈال. اب میں پر جانے کے لئے جا رہا ہوں کمانڈ لائن پروگرام، جس میں یاد ڈاٹ سلیش بلایا گیا تھا متن، اور آپ کی انگلیوں سے تجاوز. یہاں ہم چلے. [PHONE dings کے] [اپلاز] DAVID MALAN: this-- نسبت تو زیادہ مزہ میں اس میں مل جائے تو یہ، کورس کے، مزہ ہے. لیکن یہ تو، میں نے سوچا، زیادہ مزہ ہے ہم وہ لوگ فلم کے لمحات میں سے ایک پیدا جہاں کچھ کی طرح واقعی برا، دنیا میں ہوا ہے این ایس اے اور تمام لوگوں کی طرح سیلفون beeping شروع ٹیکسٹ پیغامات کے ساتھ اس حقیقت کی وجہ سے ان کے alerting. لہذا میں ہم کوشش کریں گے سوچا یہاں ایک ہی آرام کرنے کی، ایک ڈیٹا بیس کا استعمال نہیں جس کے تحت، میں بجائے پیشگی اس طرح لگ رہا ہے کہ ایک پروگرام لکھا. یہ ایک index.php-- ہے اور میں آن لائن اس کوڈ ڈال well-- کہ کے طور پر بظاہر صرف، form.php دیتا ایک MVC سٹائل پیرا میٹر کا استعمال کرتے ہوئے کہ جب ہم مسئلہ سیٹ میں مزید تفصیل میں کے بارے میں بات سات. اس فارم بہت آسان ہے. یہ ایک پیش کرنے جا رہا ہے مراسلہ کے ذریعے here.php فائل کہا. اور یہ بظاہر پوچھنا جا رہا ہے ایک نام، اور ایک فون نمبر کے لئے، اور اس کے بعد کے ذریعے نام نہاد منتخب کریں مینو، یہ بات ہے آپ کو کم از کم چار دینے جا مقبول امریکی سیل فون کے کیریئرز، اور پھر آپ کو مؤثر طریقے سے کرنے کی اجازت دے یہاں کلک کر کے حاضری کے لے. اور یہاں، اس دوران، میں جا رہی ہے آخری وقت سے کوڈ کے کچھ قرضے لے. اور آپ کو صرف اس ملائی تو، آپ وہاں ہے نظر آئے گا غلطی چیکنگ کے پورے گچرچھی. لیکن آخر میں خوبصورتی یہ ہے کہ آج ہم ایک ڈیٹا بیس کے لئے لکھ نہیں رہے ہیں. ہم سادہ رکھ رہے ہیں اور صرف امید ہے کہ باہر بھیجنے تقریب میں بذریعہ ٹیکسٹ پیغام گزشتہ کچھ دنوں کی کال کے اوپر لکھا افعال میں ہے جس کے متن،. پی ایچ پی، جس میں آن لائن پھر سے دستیاب ہے. اگر ایسا ہے تو آپ کو اس میں حصہ لینا کرنے کے لئے چاہوں گا. ہم کچھ بھی ذخیرہ کرنے اندر نہیں جا رہے ہیں. حقیقی وقت میں اس یو آر ایل پر جاؤ. ابھی تک اس کو پیش، لیکن چلو مت دو ہم نے ان کو فلم میں سے ایک ہو سکتے ہیں دیکھ لمحات جہاں ہر کسی کے سیل فون شروع ہوتا ہے امید ہے کہ صرف، beeping اس سال ایک بار کے برعکس 2011 میں جہاں اس بری طرح سے ٹیڑھا چلے گئے. اور آپ کو اس ایڈریس پر جاؤ ایک بار، آپ کو ایک سپر سادہ سا فارم کو دیکھنا چاہیئے ہے کہ آپ کو ایک نام ہے تو، ایک موبائل فون نمبر، اور ایک سیل فون کیریئر کہ وہاں فہرست سے میل کھاتا ہے، جاؤ آگے اور فارم بھریں. لیکن نہ مارو صرف ابھی تک جمع کروائیں. فارم اس طرح نظر آئے جا رہا ہے. آگے بڑھیں اور میں ٹائپ کریں آپ کا نام، فون نمبر. OOP، کسی کو آگے وکر کے لئے جا رہا ہے. یہ ٹھیک ہے. اوکے، سب کے فارم بھر رہا ہے. یہ ایک پر کام کرنا چاہئے فون، آپ چاہتے ہیں بھی، تو. ٹھیک ہے،، مقرر کرنے کے آپ کے نمبر پر، جاؤ. یہاں مارا. میں کیا کروں؟ نمبر میں خدا کی قسم، میں نے تجربہ کیا اس سے زیادہ بار آج. تم سمجھ گئے؟ [آوازیں INTERPOSING] DAVID MALAN: ٹھیک ہے، صارف کی خرابی شاید. کہ دو ہے. یہ ایک میں سے دو کے لئے کام کیا سو، تین، چار، چند. اوکے، یہ اچھی بات ہے. پانچ میں سے چار کے لئے کس طرح کے بارے درست. تو کیا صرف ہوا؟ تو شاید، دیکھے بغیر آپ اسکرینوں، کیوں یہ errored ہے ہو سکتا ہے؟ یہ ہم صرف تھے کہ شاید ہے بہت سے کنکشن بنانے کی کوشش بالکل ہارورڈ یونیورسٹی کے میل سرور ایک بار ایک ہی آئی پی ایڈریس سے. میں نے نہیں کیا بعد میں صرف اندازہ لگا رہا ہوں ٹیسٹنگ کے عیش و آرام کی ہے کچھ کے ساتھ اس کوڈ کو ایڈوانس میں 300 افراد لیکن اب کے لئے اس بات کا احساس کم از کم ہونا چاہئے اس وقت کام کیا ہو گیا ہے. ٹھیک ہے، تو یہی وجہ ہے یہ سب کیا ہو رہا ہے کے لئے زیادہ germane؟ ویسے سب سے پہلے، ایک فوری اعلانات کے جوڑے. ایک تو، آپ چانگ شامل ہونے کے لئے چاہتے ہیں، اور دوپہر کے کھانے میں نک، اور دوسروں کو اس جمعہ، وہاں ہمیشہ کی طرح URL پر RSVP کرتے. اگر آپ کو توجہ مرکوز کرنے کی سوچ رہے ہیں تو میں یا CS میں ایک ثانوی کر، آپ ایک sophomore ہیں چاہے، یا اساتذہ، یا اس سے بھی جونیئر یا اس نقطہ پر سینئر اور اب بھی کورس میں نچوڑ کر سکتے ہیں، ادراک میں انجینئرنگ اسکول کہ مفت بین اجتماع ہوتا ہے اور جیری آئس کریم اور مشورہ اس بدھ تھوڑی دیر بعد کلاس CS عمارت میں 4:00 بجے میکسویل Dworkin میں. یہ بہت تیز ہے، اگر سکرین پر، بس جاؤ ایک کے لئے cs50.harvard.edu کرنا فیس بک سے ایونٹ کے لئے لنک جہاں آپ کو مزید تفصیلات دیکھ سکتے ہیں. اسی اثناء میں، میں نے درست سوچا ایک دوسری چیز میں بدھ کو goofed. مارک کی شناخت ہے کہ باہر کر دیتا ہے فیس بک پر تین نہیں تھا. یہ چار تھی. باہر کر دیتا ہے وہ زیادہ ٹیسٹ تھا اکاؤنٹس مجھے یاد مقابلے. لیکن یہ ایک موقع کی طرح محسوس کیا ایسا کرنے کے لئے اس طرح ایک URL کو ھیںچو کرنے کے لئے ہے. تو یہ فیس بک کی ایک یہ ہے کہ باہر کر دیتا ہے API، ایپلیکیشن پروگرامنگ انٹرفیس، جس میں ایک طریقہ کار ہے جس کے تحت آپ سے ہے پروگرام ڈیٹا درخواست کر سکتے ہیں اور فیس بک پر مشین واپس حاصل پڑھنے کے قابل معلومات، نہیں ویب صفحات لیکن صرف خام متن، کچھ اور جاوا سکرپٹ کے آبجیکٹ سنکیتن بلایا. اور حقیقت میں، تو میں نے اس کا دورہ URL، اور، ڈیفالٹ کی طرف سے، میں زوم یہ عوامی سطح مارک ہے قابل رسائی کی معلومات. اور دلچسپ تفصیل یہاں صرف یہ ہے کہ ان کی شناخت ہے ، بے شک نمبر چار، ہے جس میں جیسے ہی میں نے یہ کیا ہے کے طور پر اس کا احساس ہوا. آپ کو معلوم ہے تو آپ کو یہ خود کر سکتے ہیں اپنے فیس بک کے صارف نام اگر تم ایک ہے. صرف وہاں سب سے اوپر اس کو ٹائپ. اور اس میں سے کوئی نجی ہے. میں نے ابھی اس سے بھی یہ کر رہا ہوں بھیس ​​بدل موڈ میں. تو میں نے اس سے بھی لاگ ان نہیں کر رہا ہوں. اور آپ اس میں دیکھ رہے ہیں بظاہر صارف تعداد 6.454 تھا نہیں ہے جس میں فیس بک، پر ان دنوں بھی برا. تو کسی بھی طرح، آپ کو بھی دیکھ لیں گے وہاں اضافی معلومات. اور مفید پہلو اس بات کا ہے کہ آپ آپ اپنے سافٹ ویئر لکھ سکتے تھے کہ کسی نہ کسی طرح اس طرح کے اعداد و شمار میں ضم آپ کی اپنی درخواست میں. آپ صارفین کو بااختیار بنانے کے کر سکتے ہیں آپ کی ویب سائٹ میں لاگ ان کریں، ان کی اپنی مرضی کے مطابق صارف کے نام کا استعمال نہیں اور پاس ورڈ لیکن شاید ان کے فیس بک لاگ ان اور اس سے بھی معلومات حاصل ان کے دوستوں کے بارے میں، وہ اس طرح، یا اسی طرح منظور ہے تو. تو بھی، کہ CS50 نوٹ کریں اس کے اپنے APIs کا میں سے کچھ، ہے کورس کیٹلوگ ڈیٹا کے لئے ایک، کھانے میں لگائے مینو کے لئے کچھ ہال، کے تمام عمارتوں اور مقامات کیمپس میں ہم ساتھ ساتھ کے لئے ایک API ہے آپ اسی طرح سوال کر اور حاصل کر سکتے ہیں آپ کو ضم کر سکتے ہیں کہ واپس متنی ڈیٹا ایک پی ایچ پی، یا جاوا سکرپٹ میں، یا اس سے بھی، اگرچہ کم عام طور پر، ایک C حتمی منصوبے کی بنیاد پر. بے شک آگے فائنل کے لئے منصوبے چند سنگ میل ہیں. تم دوسرے دن ہم سے ایک ای میل ملا. تجویز ہے کہ احساس اس آنے والے پیر کی وجہ سے ہے. یہ ضروری بائنڈنگ، لیکن آپ نہیں کر رہا آپ تعلیم کے ساتھیوں کو وصول کرنے کی ضرورت ہے منظوری کے بنانے سے پہلے اس کے بعد کسی قسم کی تبدیلی. اور پھر آگے ہیں دیگر سنگ میل کی تعداد. تو بھی، آپ کو تنگ کرنے کے لئے، کچھ امکانات کے ساتھ، ہم کا ایک گروپ ہے ان رنگت روشنی بلب. اور تم لوگوں میں سے کچھ اب سے کچھ ہے اپنے چھاترالی کمرے میں ان میں سے اس کے ساتھ ساتھ. اور وہ بھی ایک API ہے. لہذا ان بائنری بلب ہفتوں یاد پہلے ڈین بریڈلی اور Ansel ڈف ہمارے لئے پیدا. وہ کرنے کے لئے ایک سافٹ ویئر کے انٹرفیس استعمال کیا اس کی روشنی بلب، اس وقت جس بجلی میں پلگ ہے اور پھر وائرلیس کے ذریعے ایک چھوٹی سی بات سے منسلک ہے ، یہاں نیچے پل نامی ایک چھوٹا سا روٹر ملکیتی طرح اس مخصوص آلہ کرنے کے لئے. میں نے کس طرح کرنے کے لئے جانتے ہیں لیکن اگر یہ پتہ چلتا ہے اب ہم سب کرتے ہیں کے طور، HTTP پیغامات بھیجنے، میں نے کرنے کے لئے اس طرح ایک پیغام بھیج سکتے ہیں اس کی روشنی بلب پر یا آف کرنے میں یا کی کسی بھی تعداد کرتے اس پر دیگر کارروائیوں. اسے حاصل نہیں ہے کہ، اسے شائع نہ کی نوٹس. ڈال نامی ایک اور ایک ہے. دراصل چند دیگر ایسے فعل نہیں ہے. لیکن، ایک راستہ وہاں وہاں کے نوٹس ، API سلیش نئے ڈویلپر سلیش، ریاست سلیش، ایک کے سلیش، روشنی سلیش. کہ بظاہر صرف ہے راہ ہے کہ کمپنی، فلپس، آپ مارا ہے فیصلہ ایک HTTP درخواست کے ساتھ آپ ریاست میں تبدیل کرنا چاہتے ہیں تو HTTP 1.1 استعمال کرتے ہوئے بلب کی. پھر خالی لائن کو نوٹس. اور پھر آخر میں کس طرح لگ رہا ہے کچھ قسم کی ایک صف کی طرح ہے، یہ ایک بار پھر فون کیا جا رہا ہے جاوا سکرپٹ کے آبجیکٹ سنکیتن، یا جیسن. اور کیا آپ کو یہاں دیکھ کر یہ ہے کہ تین کلیدی قدر جوڑوں سے ہیں. ایک چابی پر کہا جاتا ہے. اور اس کی قدر بظاہر سچ ہونے جا رہا ہے. چمک 128، ہے جو int کے کچھ قسم کی ہے. اور پھر منتقلی کا وقت ہے بظاہر ہے جو صفر، یہ کرنے کے لئے جا رہا ہے کب تک پر اس چیز کو تبدیل کرنے کے لئے لے. تو ابھی اس کی روشنی بلب بند ہے. مجھے ٹھیک سے کیا کرنا ہے لیکن اگر دو this-- مجھے ایک چھوٹا سا دھوکے باز شیٹ پر جانے دان میں قائم advance-- اور میں جا رہا ہوں آگے بڑھو اور کاپی کرنے کے لئے درج ذیل کمانڈ. curl کے، آپ میں سے کچھ کے طور پر CS50 پر خفیہ معلومات ہے ہو سکتا ہے بحث کریں ٹیل نیت اس طرح کی طرح ایک افادیت ہے آپ HTTP درخواست انکرن کر سکتے ہیں کہ، خاص رکھتا. مجھے اس ڈیٹا بھیج سکتے ہیں، خاص طور جو ہم نے ابھی پہلے خاص طور پر ایک لمحے کو دیکھا یہاں پر اس یو آر ایل پر. اور پھر Curl اور کو ہینڈل کرنے کے لئے جا رہی ہے مطلوبہ ہیڈر کی تمام اور وہاں کی تصریف. لہذا میں نے یہ کرنا ہے کہ میں اس کو کاپی ہے پھر ایک ٹرمنل ونڈو اور درج کریں مارا. اور روشنی بلب پر جاتا ہے. اور یہ سب گزر رہی ہے میرے کمپیوٹر wirelessly سے کسی نہ کسی طرح پل، کے لئے نیچے ہے جس پھر اس کی روشنی بلب سے بات کر رہا ہے. مجھے اور کچھ کر سکتے ہیں. میں اس بات کو بنا سکتے ہیں مثال کے طور پر سرخ جاؤ. میں نے مثال کے طور پر کر سکتے ہیں اس بات کو سبز جانے. میں نے اسے نیلے جاؤ کر سکتے ہیں. اور ان میں سے ہر ایک میں کو نوٹس مثال کے طور پر، میں نے تبدیل کر رہا ہوں کہ تمام نام نہاد رنگت قدر کرنے کے لئے ہے دراصل یہ کچھ رنگ دے. تو مجھے اس کے ساتھ ساتھ میں اس ایک کے چسپاں کر دیں. اب یہ نیلی ہے. اور آپ کو بھی پر fancier کچھ کر سکتے ہیں چیزوں کی سبز جانے where--. اور میں ایسا کر سکتا میرے اپنے کوڈ کے ساتھ کورس. لیکن پھر بھی خود API Funky کی کارروائیوں کی حمایت اس طرح، اب جس پریشان کرے گا اگلے 30 سیکنڈ کے لئے ہم سے. تو ہے کہ میں سے ایک کا ذائقہ کیا ہوا ہے آپ کو شاید یہ ایک API کے ساتھ کیا، اس ایک کو شامل روشنی بلب. CS50 ایک جوڑے کی ہے کہ نوٹ گوگل گلاس کے جوڑے آپ چاہتے ہیں تو کے ساتھ یہ کچھ سے نمٹنے کے لئے پسند ان لائنوں، Arduino کے Unos نے، جس چھوٹے سے چھوٹا کمپیوٹر ہیں، بنیادی طور پر، ایک چھوٹا سا سرکٹ بورڈ پر آپ سے رابطہ قائم کر سکتے ہیں کہ تاروں اور دیگر چیزیں کرنے کے لئے اور اصل کنٹرول آپ حقیقی دنیا کے ماحول. اور پھر ایک جوڑے کی ہیں ہمارے پاس ہے اس میں سے نئے کھلونے. اس ایک لفظی صرف پہنچے میل کی طرف سے دوسرے دن، ایک سے Myo Armband کے. اور میں اس کے لئے ایک راستہ ہے سوچا آپ کے منصوبوں کے بارے میں حوصلہ افزائی آپ کے ساتھ استعمال کر سکتے ہیں کہ یہ ہارڈ ویئر کے کرے گا اس مختصر کلپ کو کھیلنے کے لئے ہو وہ لوگ تنگ کرنے کے استعمال کرنے والے اب ہم مستقبل میں زندگی گزار رہے ہیں کہ. [موسیقی بجانے] DAVID MALAN:، صرف چند ہفتوں میں تو کیا تم بھی CS50 میلے میں کہ ٹھنڈا ہو سکتا ہے. ایک اور آلہ ہے کہ ہم ہم ہیں کہ کا ایک گروپ ہے منصوبوں کے لئے باہر قرض سے خوش ایک تحریک کنٹرولر کہا جاتا ہے. یہ ایک چھوٹی سی USB آلہ ہے آپ ایک کمپیوٹر سے متصل ہوتا ہے آپ کے ساتھ بات چیت کرنے کی اجازت دیتا ہے اپنے لیپ ٹاپ، میک یا PC، آپ کو ایک ایکس بکس Kinect کے طرح تھے جیسے اور اصل میں زیادہ جسمانی حرکات بنانے جیسا کہ ہم نے اس میں دیکھیں مستقبل کے وژن. [موسیقی بجانے] DAVID MALAN: تو آپ بھی اگر کوئی اندازہ نہیں ہے کہ کس طرح اس طرح کچھ ممکنہ طور پر ایجاد کیا یا کام کیا جا سکتا ہے ایک ہارڈ ویئر کی سطح، کوئی بات نہیں پر. یہاں تک کہ CS50 کے صرف چند ماہ کے بعد، اور پروگرامنگ کی تفہیم زیادہ عام طور پر، اور ویب پروگرامنگ زیادہ حال ہی میں، اور اس کے بعد بھی اس کے APIs، اور HTTP، آپ کے ذریعے رسائی حاصل ہوگی سافٹ ویئر APIs آپ اگر ان میں سے ایک قرضے لینا چاہتے ہو آلات اصل میں اس سے بات کرنا اور کے بارے میں فکر کرنے کی ضرورت نہیں بنیادی عمل مکمل طور پر ہے، جس کی تفصیلات، layering کے اس تصور کے ساتھ مطابقت ہم کیا ہو کہ ایک تجرید سمسٹر بھر میں دیکھا. تو بھی اختتام ہفتہ پر، خبر کی ایک جوڑے کے ٹکڑے ٹکڑے کو دیکھا. سیمینار میں جائیں، پہلے جا اگر آپ کچھ سیکھنے کے لئے چاہوں گا موضوعات میں سے کسی بھی تعداد کے بارے میں مزید. وہاں URL دیکھیں. اور اس ایک کو بھیجا گیا تھا آپ کو پتہ ہے جو چانگ، کی طرف سے مجھے، جو ہاتھیوں کے ہماری فوج چھپائی ہے. جیسا کہ مندرجہ ذیل ہے اور یہ ایک شہ سرخی تھی. میں اپنے نئے ٹی وی کی گھبرا رہا ہوں. مجھے ڈر لگ رہا یہ کیوں تبدیل کرنے کے لئے اور آپ پر چیز بھی ہو جائے گا. تو ہم پر اب ہیں سمسٹر میں اشارہ، بھی، آپ کو جہاں بھی اگر تفہیم کی ذرا ویب کیسے کام کرتا ہے، اور HTTP کے، اور اس طرح کی سیکورٹی، چیزیں آپ کی آنکھ کو پکڑنے کے لئے شروع کر دینا چاہئے. بلکہ، آپ کو سمجھ آئے گا یہ چیزیں ہیں یا نہیں اصل دھمکیاں. تو میں نے چند ایک حوالہ جات لے لی یہاں اس مضمون سے. مندرجہ ذیل کے طور پر اور کہانی ہے. میں اب کے مالک ہوں ایک نیا سمارٹ ٹی وی، جس اسٹریمنگ فراہم کرنے کا وعدہ کیا ہے ملٹی میڈیا مواد، کھیل، اے پی پی، سوشل میڈیا، اور انٹرنیٹ براؤزنگ، بھی اوہ اور ٹی وی. صرف ایک مسئلہ اب میں ہوں یہ ہے کہ اسے استعمال کرنے کے لئے خوف زدہ، مصنف کا کہنا ہے. آپ کے ذریعے پڑھیں تو آپ، بھی، ہو جائے گا اپنے ٹی وی کے 46 صفحے رازداری کی پالیسی. اعداد و شمار اس کی رقم بات یہ ہے کہ جمع حیرت انگیز ہے. یہ نوشتہ جہاں، جب، کس طرح، اور کے لئے کتنی دیر تک آپ ٹی وی استعمال. یہ، باخبر رہنے کے کوکیز سیٹ ہم نے بات چیت کی ہے کے طور پر، اور بیکنز ڈیزائن کیا آپ کے پاس جب پتہ لگانے کے لئے دیکھا مخصوص مواد یا کسی مخصوص ای میل پیغام اگر آپ اپنے ٹی وی پر ای میل چیک کرنا چاہتے ہیں تو. یہ اطلاقات کے کوائف میں آپ کا استعمال کرتے ہیں، آپ کو ملنے کے ویب سائٹ، اور اگر آپ کے مواد کے ساتھ بات چیت کس طرح، آپ کے سمارٹ ٹی وی کے ذریعے اس کے سب کر رہی. بھی یہ، creepier yet-- کہ میری addition-- ہے ایک کیمرے میں تعمیر کیا ہے چہرے کی شناخت کے ساتھ. مقصد فراہم کرنا ہے ٹی وی کے لئے اشارہ کنٹرول اور میں لاگ ان کرنے کے قابل بنائے آپ کے چہرے کا استعمال کرتے ہوئے اکاؤنٹ مشخص. الٹا، تصاویر ہیں ٹی وی پر بچایا بجائے اپ لوڈ ایک کارپوریٹ سرور تک. منفی پہلو پر، انٹرنیٹ کنکشن پورے TV بناتا ہیکروں کا شکار کرنے والے صلاحیت کا مظاہرہ کیا ہے مشین کا مکمل کنٹرول سنبھال لیا کرنے. زیادہ پریشان، کے طور پر اگر یہ نہیں تھا کافی ہوشیار، مائکروفون ہے. ٹی وی ایک آواز حامل تسلیم خصوصیت ناظرین کہ کنٹرول کرنے کی اجازت دیتا ہے آواز حکم دیتا ہے کے ساتھ سکرین. لیکن سروس کے ساتھ آتا ہے ایک بلکہ اشوب انتباہ. براہ کرم آگاہ رہیں کہ اگر آپ بات الفاظ بھی شامل ہیں ذاتی یا حساس دیگر معلومات، کہ معلومات قبضہ کر لیا ڈیٹا میں سے ہوگا اور ایک تیسری پارٹی کو منتقل کیا. سمجھے؟ ذاتی یا حساس نہ کہو آپ ٹی وی کے سامنے کی چیزیں. تو یہ حقیقی کے لئے اصل میں ہے. اور یہ مشکل ہے اگر آپ کو دیکھنے کے لئے نہیں اتارنا خریدیں جانے یا ٹی وی کے لئے کی طرح ان دنوں. وہ کسی طرح میں تمام ہوشیار ہو. اور وہ ہو رہی ہے ہوشیار اور creepier. اور وہ صرف اعداد و شمار جمع کر رہے ہیں ہم کے بارے میں بات کی ہے اس طریقے سے اور پھر HTTP یا ذریعے اسے اپ لوڈ کچھ سرور پر کچھ دیگر پروٹوکول. تو یہ ایک مذاق مضمون کا تھا اس آن لائن ویب سائٹ میں یہاں، جس میں ایک کے بارے میں بات خاص مسئلے یا غلطی کا کوڈ ہم اصل میں باندھ سکتا ہے کہ گزشتہ ہفتے کی بحث میں. لہذا اس شہ سرخی کے طور پر تھا ،، حسب ذیل کہانی یہاں جاتا ہے جوش Breckman ایک کے لئے کام کیا ایک معاہدہ اترا ہے کہ کمپنی ایک مواد کے انتظام کے تیار کرنے کے لئے نظام، یا وہ کہا جاتا رہے ہیں کے طور CMS، ایک کافی بڑی حکومتی ویب سائٹ کے لئے. ملوث منصوبے کی زیادہ تر ایک مواد کے انتظام کے نظام تیار ملازمین ہو گا تا کہ کی تعمیر اور برقرار رکھنے کے قابل کبھی تبدیل کرنے ان کی سائٹ کے لئے مواد. چیزوں کے لئے ساتھ ساتھ خوبصورت چلا گیا رہ جانے کے بعد کچھ دنوں. لیکن دن چھ پر، چیزیں اتنی اچھی طرح سے نہیں گئے تھے. پر مواد کے تمام ویب سائٹ مکمل طور پر غائب ہو گئے تھے. اور تمام صفحات ڈیفالٹ کی صورت میں نکلا، مواد ویب صفحہ درج کریں. افوہ. جوش کے لیے بلایا گیا تھا تحقیقات اور محسوس خاص طور پر مصیبت ہے کہ کسی ایک بیرونی IP پتہ تھا میں چلا گیا ہے اور کی تمام خارج کر نظام پر مواد. IP پتہ تعلق نہیں رکھتے تھے کچھ ملک مقیم ہیکر جھکا کرنا مددگار کو تباہ کرنے پر حکومتی معلومات. یہ، googlebot.com کرنے کے لئے حل گوگل کی بہت خود ویب کرالنگ مکڑی. افوہ. تحقیق اور دوڑ دھوپ کے ایک بٹ کے بعد کے ارد گرد ایک noncorrupt بیک اپ کو تلاش کرنے کے، جوش مسئلہ مل گیا. ایک صارف کاپی کیا تھا اور ایک سے کچھ مواد چسپاں ایک اور کرنے کے لئے صفحہ، سمیت ایک ترمیم کریں بالا ربط صفحے کے مواد میں ترمیم کرنے کی. عام طور پر یہ نہیں ہو گا کہ ایک کسی بیرونی صارف کے بعد سے جاری کیا کرتے تھے ایک کا نام اور پاس ورڈ درج کرنے کی ضرورت ہے، لیکن CMS تصدیق کے نظام، لاگ ان کا نظام، اکاؤنٹ میں نہیں لے گئے نفیس ہیکنگ گوگل مکڑی کے طریقوں. افوہ. یہ پتہ چلتا ہے کے طور پر، گوگل مکڑی کا استعمال نہیں کرتا یہ کر سکتے ہیں کا مطلب ہے کہ کوکیز، آسانی کے لئے ایک چیک نظرانداز کوکی سیٹ پر رکھا جاتا ہے باطل ہونا. یہ بھی پر توجہ ادا نہیں کرتا جاوا اسکرپٹ، جو عام طور پر کرے گا فوری طور پر اور صارفین کو ری ڈائریکٹ جو لاگڈ ان نہیں ہیں. تاہم یہ ہر پیروی کرتا یہ پتہ چلا ہے ہر صفحے پر بالا ربط، کے ساتھ ان سمیت عنوان میں صفحے کو حذف. افوہ. لہذا اس سے زیادہ میں کیا مطلب ہے تکنیکی لیکن کافی قابل رسائی شرائط؟ یہ صرف کا مطلب ہے کہ ان کی ویب سائٹ بھر میں، وہ اس ایک کے برعکس یو آر ایل نہیں تھا کہ مسئلہ سات مقرر کرنے میں آپ دیکھ سکتے ہیں. مسئلہ میں یادآوری سات مقرر یا مسئلہ میں جانتے سات مقرر آپ کو چیلنج کر رہے ہیں کہ، دیگر چیزوں کے علاوہ، صارفین کی جانب سے اسٹاک فروخت کرنے کی. لیکن جس طرح کی طرف سے اس خصوصیت کو لاگو کے آپ کے صارف میں بالا روابط کے ذریعے حاصل انٹرفیس، شاید نہیں سب سے ہوشیار خیال آپ کی ویب سائٹ کسی نہ کسی طرح ہے کیونکہ اگر قابل رسائی یا تو ایک انسان کی طرف سے جو ارد گرد کلک کرنے یا ایک خریدنے کی گوگل کی یا ایک مکڑی کی طرح بیوٹی وہ کہا جاتا رہے ہیں کے طور کہ صرف ہے انڈیکس کرنے کی کوشش کر ویب کرالنگ ایک تلاش کے انجن کے طور پر ویب، وہ بہت آسانی سے کر سکتے تھے URL کے اس قسم کے لئے حاصل کے ذریعے مارا. اور یہ کہ فعل ہے برابر، اس معاملے میں، گوگل کے تمام حصص کی فروخت. اب واضح طور سے، یہ مکمل طور پر ہے پر asinine کہ CMS استعمال کیا جاتا ہے جاوا سکرپٹ اور کوکیز اس کی لاگ ان کا نظام لاگو کرنے کے لئے اور کے طور پر، کہ سرور سائیڈ نہیں کر رہا آپ لوگ pset میں کرتے اور گا 7-- ایک پر login.php وہاں ہے ہمیشہ فائل، ہمیشہ، ہمیشہ سلامتی ہونا چاہئے سرور سائیڈ پر کیا، نہیں کلائنٹ سائڈ پر، کیونکہ اس کے طور پر مضمون سے پتہ چلتا ہے اور آپ اپنے آپ کو شاید یہ یہ ہے، کچھ مواقع پر دیکھیں ، ایک صارف کے لیے چھوٹی سی اچھی یا بری، صرف جاوا اسکرپٹ کو بند کرنا کوکیز کا ذکر کرنا نہیں. تو ہے کہ آپ اپنا یومیہ WTF ہے. ایک اور، وہاں جس میں ، صرف قسم ڈراونا ہے تو میں تو یہ ذکر کریں گے صرف ایک زندگی سبق کے طور پر. آپ کو ایک درخواست کو استعمال کرتے ہیں جب بھی Snapchat یا طرح طرح بلایا کہ ان تصاویر کو صرف کے لئے آخری کر کہتی پانچ سیکنڈ، دس سیکنڈ، یا whatnot. وہ وجہ ہے کہ الپکالک ہو بالکل نہیں کیس. ڈیجیٹل طور پر، کوئی راستہ نہیں ہے کی طرح، ویڈیو کے کچھ فارم کو لاگو کرنے، یا تصویر، یا متن اس طرح کے اشتراک کہ دوسرے سرے پر ایک وصول کنندہ کسی نہ کسی طرح کے اعداد و شمار کو نہیں بچا سکتا. سب سے زیادہ بولی طرح میں، کسی کو ان کے فون لے سکتا. اور وہ ایک 10 دوسری ونڈو ہے کچھ اچانک دیکھتے ہوئے کچھ دوسرے فون لینے کے لئے اور ظاہر ہے، اس کی تصویر. لہذا آپ کو محفوظ کر سکتے ہیں ڈیجیٹل طور پر کچھ نہ کچھ اس طرح سے. تم میں سے کچھ لینے کے لئے کس طرح جانتے ہیں آپ کے فون پر پردے. اصل میں، آپ کو اس میں نہیں جانتے تو، ادراک میں کم از کم Snapchat کہ، اور میں دوسرے سوچتے ہیں ایپلی کیشنز کو ان دنوں، کم از کم اگر آپ کو بتائیں وصول کنندہ اصل ہے آپ کی تصویر کا ایک اسکرین شاٹ لے لیا. لیکن بدتر ابھی تک، اس snappening تھا، کسی نے حال ہی میں یہ گڑھا طور، جہاں کچھ 100،000 تصاویر جاری کر دی گئی ایک سیلاب فائل کہا جاتا ہے کیا میں مختلف ویب سائٹس پر بالآخر. اور ان میں سے ایک مکمل جھوبڈ موجود ذاتی پیغامات اور خطوط کی. یہ، ان میں سے اکثر سومی باہر کر دیتا ہے تاکہ آپ توقع کر سکتے ہیں کیا نہیں. لیکن لوگوں کو تھا کیونکہ ایک تیسری پارٹی کی ویب سائٹ پر استعمال کیا جاتا، ان Snapchat ساتھ میں لاگ ان کا صارف کا نام اور پاس ورڈ اور پھر ان تصاویر کے تمام بچت اس تیسری پارٹی کی ویب سائٹ پر. اور یہ کہ تیسری پارٹی تھی ہیک کیا گیا تھا کہ ویب سائٹ، جس میں صرف کا مطلب کسی کو باہر سوچا کہ کس طرح ان تصاویر میں سے سب کے 100،000 کے علاوہ حاصل کرنے کے لئے ان کی اپنی ہارڈ ڈرائیو میں اس کے نتیجے میں اشتراک کے لئے. سچ کہوں تو، یہاں بھی، اس طرح ہے کے پر asinine کہ Snapchat اس طرح میں لاگو کیا جاتا ہے کہ ایک تیسری پارٹی کی تقطیع کی ترتیب کر سکتے ہیں اعداد و شمار اور اس سے منسلک نہیں ہے کہ آپ فون پر چلنے کی اپنی درخواست. لیکن یہاں، بھی، ان کو احساس ہے کہ چیزوں، حیرت کی طرف سے آپ کو پکڑنے نہیں کرنا چاہئے یا کم از کم وہاں ہونا چاہئے کے یہاں میں ایک زندگی سبق ہو. آپ کو تکنیکی چاہیں تو تفصیلات کے، کہ یو آر ایل پر جانے کہ آج کی سلائڈ میں ہے. ٹھیک ہے، پر کوئی سوال CS میں آج کی زندگی سبق؟ کہ بند کر دیں. بالکل کچھ بھی؟ بالکل کچھ بھی؟ مجھے پرکھنے لوگوں کی ایک بہت مل گیا ہے اب ان Snapchat یا کچھ اور. ٹھیک ہے، SQL تا، ساخت طلب زبان. چلو اس کو لپیٹ لیتے ہیں. اور بھی، اگرچہ ہم صرف scratching کے رہے اس کی سطح سے زبان، ہم آپ کو دے دونگا زبان کے لئے کافی 7 pset کے کی شکل میں تاکہ آپ کو کچھ سے نمٹنے کے کر سکتے ہیں کہ منصفانہ عام فعالیت. لیکن ایک جوڑے کی ہیں احساس ہم آپ کی ضرورت نہیں ہے، چیزیں، لیکن وہ ہو جا رہے ہیں اہم آخری منصوبوں آئے اور یقینی طور پر اصل بنانے آئے اصل صارفین کے ساتھ ویب سائٹس اس ڈیزائن فیصلہ ہے. اس میں پتہ چلا ہے کہ ایک ایس کیو ایل ڈیٹا بیس، آپ طرح کے انتخاب کے bunches ہے آپ کے کالم کے لئے ڈیٹا کی اقسام اور دوسری چیزوں، لیکن آپ کو بھی ہے ایک نام نہاد سٹوریج کے انتخاب آپ کے ڈیٹا کی سب کے لئے انجن، فائل سسٹم کی طرح، آپ واقف ہیں تو، آپ کے ڈیٹا کی سب کے لئے. کیا شکل یہ بالآخر میں محفوظ کیا جاتا ہے؟ اور سب سے زیادہ عام، شاید، کیا گیا ہے MyIsam کے اور InnoDB، تکنیکی اصطلاحات ہم صرف کے بارے میں پرواہ کروں گا کہ حد تک ہے کہ ایک ہے اور ایک بھی نہیں ہے مندرجہ ذیل خصوصیت. ہے کہ آپ مان لیں ایک چھوٹا سا چھاترالی فرج یا. اور آپ اور لگتا ہے کہ آپ یہ فرج یا اشتراک کرنے والے روممیٹ،، کا کہنا ہے کہ دودھ کا واقعی شوق ہے. اور اس حقیقت میں،، کہ کس طرح ہے کہانی جس طرح سے مجھے واپس کرنے کے لئے کہا گیا تھا دن میں میں نے ایک کورس لیا جب CS 161 اپریٹنگ سسٹمز، کہا جاتا ہے جس اسی طرح اس موضوع بھی روشنی ڈالی. لہذا آپ کو اس کی فرج یا مل گیا ہے. آپ کو دودھ سے باہر ہیں. اور آپ اپنے روممیٹ کی، گھر آئے اب بھی طبقے یا جو کچھ میں، اور تم میں کرنے جا رہا ہوں یہ فیصلہ باہر جاؤ اور کچھ دودھ ملتا. آپ کو فرج یا بند لہذا، حراست چھاترالی کمرے، سڑک کے پار جانا CVS یا جہاں کہیں بھی، اور حاصل کرنے کے لئے لائن میں تھوڑا دودھ خریدنے کے لئے. دریں اثنا، آپ روممیٹ گھر جاتا ہے کلاس سے،، چھاترالی کمرے میں ہو جاتا ہے بھی احساس ہے، فرج یا کھولتا ooph، ہم دودھ سے باہر ہیں. تاکہ وہ یا وہ بند کر دیتا ہے فرج یا اور پھر کیا ہوتا دیگر CVS میں جانے کے لئے، جس پر ہوتا ایک بلاک دور دیگر CVS سے چوک میں، اور لائن میں ہو جاتا ہے تھوڑا دودھ وہاں حاصل کرنے کے. اب، کورس، چند منٹ بعد میں، آپ دونوں کو واپس مل جائے، اور تمام ممکنہ کی بدترین نتائج سے ہوا ہے. تم دونوں کے دودھ. اور تم واقعی میں ایسا نہیں کرتے دودھ کی طرح اتنا. تو ان میں سے ایک ہے کچھ مواقع پر ھٹی پر جا. تو اب آپ ایک ضرورت سے زیادہ رقم ہے فرج یا میں دودھ کی سب کیونکہ کیوں؟ [اشراوی] DAVID MALAN: جی ہاں، تم نے نہیں کیا کسی نہ کسی طرح ایک دوسرے کے ساتھ بات چیت کہ آپ کو دودھ حاصل کر رہے. سے آسان میں So انسانی دنیا میں طریقوں، آپ کو اس پاگل سے بچنے کے سکتا ہے کس طرح اس طرح ہو رہا ہے سے منظر نامے کہ آپ کو صرف ایک کے ساتھ ختم. ان کا متن، ہاں اچھا. لیکن کس طرح کوئی اور؟ پوسٹ یہ نوٹ کرتی. DAVID MALAN: ایک پوسٹ اس بات کو نوٹ کیجیئے. مواصلات کے کسی بھی فارم کہ آپ کے روممیٹ بتاتا دودھ کے لئے فرج یا میں نہیں جاتے. میں نے خود restock کی جانے کے لئے جا رہا ہوں. تو اگر آپ کو کسی نہ کسی طرح کی ضرورت ہے یہ وسائل کو لاک کرنا. تو ہم this-- بنا سکتے ہیں ہم اس قسم کی کر سکتے ہیں کہانی کو برباد اور ایک CS کہانی میں تبدیل جس کے تحت کے طور پر صرف ایک کی طرح اس کے بارے میں سوچنا کچھ قدر ذخیرہ کرنے کا ہے جو متغیر،. اور اب، دودھ کی قیمت، صفر ہے آپ کو آپ کے لئے نہیں کرنا چاہتے جس روممیٹ کہ متغیر کا معائنہ کرنے اور اس کے بعد ایک فیصلہ اس کے یا خود بنانے اس متغیر کی حالت پر مبنی اگر آپ کے عمل میں ہیں تو اس متغیر کی حالت کو تبدیل کرنے. SQL کی لائنوں کی ایک تو یہ کہ ہم کو 7 pset رپورٹ میں آپ کو دے یہاں اس سے ایک ہے. اور ہم نے ایک بہت بڑا خرچ نہیں کرتے وقت کی رقم کو اس کے بارے میں بات کر. آپ کوشش کر رہے ہیں لیکن اگر یہ پتہ چلتا ہے CS50 خزانہ میں کچھ اسٹاک کو خریدنے کے لئے آپ پہلے سے ہی ہے کہ آپ، میں سے کچھ کے حصص ایک نمبر ایسا کرنے کے قابل بننا چاہتا ہوں فوری طور پر ایک دوسرے کے ساتھ چیزوں کی. آپ کرنے کے قابل بننا چاہتا ہوں مؤثر طریقے سے، ایک اعلی سطح پر، اگر میں چاہتا ہوں، تمام صحیح چیک مفت کے مزید حصص خریدنے کے لئے، پینی اسٹاک ہم رپورٹ میں کے بارے میں بات کرتے ہیں، میں نے سب سے پہلے چیک کرنے کے لئے چاہتے ہیں کتنے شیئروں میں ہے. اور یہ پانچ ہے. مجھے لگتا. اور میں کرنا چاہتے ہیں لگتا ہے میں نے بالآخر، 10 زیادہ خریدنے اسٹاک کی 15 حصص ہے کرنا چاہتے ہیں. تو میں نے دو سوال پوچھنا ہے. متغیر کی حالت کیا ہے؟ صف کی حالت کیا ہے؟ میں فی الحال کتنے شیئروں ہے؟ تو پھر تم آگے بڑھو اور اس کو اپ ڈیٹ کرنا چاہتے ہیں. تو ہے کہ ینالاگ ہے آپ صف کی جانچ پڑتال کہ میں دودھ، اور پھر آپ اس کو اپ ڈیٹ کرنا چاہتے ہیں آپ 10 حصص خریدنے کے لئے چاہتے ہیں کیونکہ، آپ کو تبدیل نہیں کرنا چاہتے 10 سے صف، آپ 5 سے اسے تبدیل کرنا چاہتے ہیں علاوہ 10 یا، کورس کے، 15. کوڈ کی اس لائن کو یقینی بناتا ہے ان دو تصوراتی خیالات ایک ساتھ مل کر یا بالکل نہ ہو. کچھ دوسرے صارف سمیت کوئی نہیں، جو، اسی ویب سائٹ میں رکھا ہے کسی نہ کسی طرح رکاوٹ کر سکتے ہیں صف کی چیکنگ اور صف کو اپ ڈیٹ، منتخب اور اپ ڈیٹ اگر تم کروگے. اور نحو، سپر واضح نہیں ہے لیکن اس ایک لائن، جب تک یہ، ہے کہ ان لوگوں کے دو آپریشن کو یقینی بناتا ہے متغیر چیک یا قطار چیک اور صف atomically ہونے اپڈیٹ. ارے یہاں ہم پھر جانا. اپنے فون پر ٹیکسٹ پیغام. تو اس کی ایک بنانے تھوڑا زیادہ ٹھوس. تم نہیں ہو کہ مان ایک ریفریجریٹر پر عمل درآمد، اور اگر آپ کو لاگو نہیں کر رہے ہیں 7 pset کے لیکن ایک حقیقی کے بینک، یا ایک اے ٹی ایم، ایک خودکار ٹیلر مشین، جس کے تحت آپ کو کسی نہ کسی طرح بااختیار بنانے کے لئے کے قابل ہونا چاہتے صارفین کو پیسے کی منتقلی کے لئے ایک اکاؤنٹ سے دوسرے میں. OK، پر پھانسی. اب میں اس کو خاموش کرنے کے لئے جا رہا ہوں، آپ کا شکریہ. تو ہم نے رقم منتقل کرنا چاہتاہمیں ایک اکاؤنٹ نمبر سے ایک مختلف اکاؤنٹ میں تعداد، خاص طور پر $ 100. تو یہ ایک صوابدیدی کی قسم ہے مثال، جس کے تحت آپ کو، اے ٹی ایم، دو SQL پھانسی کرنا چاہتے ہو سکتا ہے سوالات،، ایک اکاؤنٹ سے منہا اور دوسرے اکاؤنٹ میں شامل. لیکن اگر آپ ان اس بات کا یقین کرنا چاہتے ہیں دو لائنیں ہونے یا بالکل نہیں دونوں. تم سے کچھ نہیں کرنا چاہتے ہیں رکاوٹ پیدا ہو رہی ہے. آپ کو کچھ ہوشیار برا آدمی ایسا نہیں کرتے کسی نہ کسی طرح بینک آف امریکہ پر کھڑے سامنے دو اے ٹی ایمز کے ساتھ اس کے اور کسی نہ کسی طرح طرح کی میں ٹائپ ایک ہی وقت میں حکم دیتا ہے، امید ہے کہ اس کی بجائے 200 ڈالر کی کٹوتی کرنے کی کوشش کر $ 100 اور قرضہ صرف اندوز 100 ڈالر کی. مختصر میں، آپ کو اس کے لئے چاہتے ہیں آپ توقع کے طور پر بالکل برتاؤ. اور آپ کیا طریقہ یہ SQL میں ڈیٹا بیس ہے تم ہو کیا میں لپیٹ ایک ٹرانزیکشن کو بلایا. لفظی SQL میں، اگر آپ CS50 کے کال کر سکتے ہیں اقتباس unquote آغاز کے ساتھ استفسار تقریب ٹرانزیکشن. اس کے بعد آپ کسی بھی تعداد پھانسی کر سکتے ہیں اس کے نتیجے میں SQL سوالات کی، لیکن ان میں سے کوئی بھی لے ڈیٹا بیس پر اثر آپ کے استفسار اقتباس unquote فون تک دوبارہ PHP استعمال کرتے ہوئے اگر، کا ارتکاب. اور اس طرح میں، آپ کو اس بات کا یقین کر سکتے ہیں آپ بھی اگر 1،000 صارفین کو تمام آپ کے ڈیٹا بیس کو مارنا ایک ہی وقت میں، SQL ان کہ وعدہ گے دو سوالات ہوں گے ایک کے بعد ایک حق لاگو. تو کیا تم سے زیادہ کے ساتھ ختم نہیں کرتے دودھ یا غلط مقدار کو، بالآخر، رقم کی. لہذا یہ بات ذہن میں رکھنا، 7 pset کے لئے اتنا نہیں ہے لیکن حتمی منصوبوں کے لئے آپ اصل میں ہو تو ارد گرد کے اعداد و شمار میں منتقل کرنے کی کوشش کر رہے میزیں بھر کے طور پر آپ، یہاں شاید کیا. لیکن شاید اس سے بھی آسان اور زیادہ ایک مثال سے سمجھنے کے لئے واضح یہاں اس سے ایک ہے. اور کسی کے بارے میں ہمیں ای میل یہ تو صرف دوسرے دن انہوں نے اسی طرح آن لائن کوئی چیز جب دیکھا. میرے علم میں، پن نظام اتنا اس حملے کا شکار نہیں ہے. اور مجھے کوئی اندازہ نہیں ہے تو یہ اور بھی استعمالات ہڈ کے نیچے SQL ڈیٹا بیس. لیکن کے لئے اس کا استعمال کرتے ہیں بحث کی خاطر. یہاں کی سکرین ہے کہ ہارورڈ لوگ دیتے ہیں ساتھ میں لاگ ان ہونے پر دیکھنے کی ان ہارورڈ ID نمبر اور ان پن. اور پن کا نظام تھے کہ لگتا پی ایچ پی میں اور ایک ایس کیو ایل کے ساتھ لاگو ڈیٹا بیس، کوڈ ہے کہ کسی لکھا ہو سکتا سال پہلے اس طرح نظر ہو سکتا ہے. سب سے پہلے، ایک اعلان متغیر کہتے صارف نام. اور بس سے جو حاصل POST superglobal. پھر دوسرے متغیر حاصل پاس ورڈ فون کیا اور ایسا ہی کریں. اور پھر صرف پھانسی یہاں اس طویل استفسار، صارفین جہاں سے منتخب ستارہ ہے اسم رکنیت فلاں برابر اور پاس ورڈ فلاں برابر. گھوبگھرالی کہ نوٹس منحنی خطوط وحدانی میں یہاں استعمال کیا ہے صرف پی ایچ پی کو کیا مطلب، جاؤ آگے اور متبادل ان دونوں کی قدر وہیں متغیر. وہ سختی ضروری نہیں ہیں، بلکہ وہ ٹھیک ٹھیک نحو کی غلطیوں سے بچنے کے لئے ہوتے ہیں. تو یہ مکمل طور پر نظر آتا ہے پہلی نظر میں صحیح. اور یہ ہے. آپ کو نافذ کر سکتا ہے اس طرح میں پن نظام. لیکن ایک سپر کہ لگتا ہوشیار اور درنساوناپورن طالبہ اس کا یا اس پن کے طور پر ان پٹ اس. تو میں نے گولی نکال دیا ہے فرضی اپ میں یہاں نشانیاں، اور میں واقعی میں انکشاف کیا ہے کیا وہ یا وہ ٹائپنگ ہو سکتا ہے. اور یہ تھوڑا عجیب ہے. لیکن جو ممکنہ طور پر تم پر باہر چھلانگ صارف کی ان پٹ کے بارے میں تشویشناک، آپ کو کوئی اندازہ نہیں ہے یہاں تک کہ اگر کیا ایک SQL انجکشن حملے کا مطلب ہے. یہ کیوں ایک چھوٹی سی گڑبڑ لگتی ہے؟ یہ کیا ہے؟ [اشراوی] DAVID MALAN: یا ہے ایک تھوڑا مشکوک. سچ تو یہ ہے، کہ SQL سے ایک مطلوبہ الفاظ کی ہے. تو یہ اچھا شگون نہیں ہے. وہاں ہے کہ حقیقت یہ ہے ان تمام ایک کی قیمت درج وہاں حقیقت، آسان ترین میں سے ایک میں کچھ ڈیٹا بیس کو توڑ کرنے کے طریقے O'Reilly کے طرح ایک نام میں ٹائپ کی طرف سے ہے کہ اس میں ایک apostrophe ہے انسانی جو لکھا کیونکہ اگر پردے کے پیچھے کا کوڈ اکاؤنٹ میں لے نہیں ہے کہ وہاں کسی صارف کے میں ایک کی قیمت درج ہو سکتا ہے ان پٹ، وہ یا وہ استعمال کر رہا ہے اور ان کے کوڈ میں ایک کی قیمت درج، بری چیزیں ہو سکتا ہے. سچ تو یہ ہے، بدتر ابھی تک، اس پر غور کریں. یہ ایک بار پھر کوڈ کو تھا تو کہ ہارورڈ سالوں میں کسی پہلے پن کے لئے لکھا نظام، کس کے نوٹس کے بارے میں بدل کرنے کے لئے صارف کا نام اور پاس ورڈ کے لئے صارف اقسام اگر میں دوبارہ ان کے صارف کے نام کے طور پر skroob اور پھر ایک، دو، تین، چار، پانچ، ایک برابر unquote جو اقتباس یا اقتباس سے ایک اقتباس. اور کیا چابی کے نوٹس یہاں صارف نہیں ہے شروع کر ان کے پاس ورڈ یا ایک اقتباس کے ساتھ ان پن. اور وہ اسے ختم نہیں ہوئے ایک اقتباس کے ساتھ ہے کیونکہ وہ یا وہ کہ سنبھالنے رہا ہے تو پروگرامر، اتنی تیز نہیں تھی وہ ان لوگوں کی ضرورت کے لئے جا رہے ہیں ان کے کوڈ میں ایک کی قیمت درج. تو یہاں کوڈ ہے. اور متبادل کہ اب ہو سکتا ہے یہ ہے. اور میں زور دیا ہے کیا صارف میں ٹائپ ہے. تو اس سے پہلے، کرنے کے بعد. اور اب یہ mildly تشویش کی بات ہے کیا محسوس اس SQL کوڈ کا حق نصف کے بارے میں؟ یہ، اس کا اقرار، تھوڑا سا زیادہ پیچیدہ ہے سوالات کی نسبت ہم نے دیکھا ہے. لیکن یہ ممکنہ طور پر نہیں کر سکتے ہیں اگر آپ نہیں ہیں تو ایک اچھی بات ہو منتخب ہے جو منتخب ستارہ ہے، کہہ رہے ہیں صارف کی میز سے سب کچھ جہاں صارف نام skroob برابر ہے اور پاس ورڈ برابر ایک، دو، تین، چار، پانچ یا ایک ایک کے برابر ہے. منطقی مطلب کیا ہے شاید کہ آخری شق کی؟ یہ صرف ہمیشہ سچ ہے. اور ہم طرح کا اندازہ ہو کیونکہ یا مقدمے کی سماعت اور غلطی کی طرف سے سوچا کہ پروگرامر جو لکھا اس کوڈ کو نہیں کیا ایک انسان ہے یا برا شخص کا انتظار کررہے ہیں اس کے ساتھ ساتھ ایک کی قیمت درج کرنے میں ٹائپ، ہم syntactically ہے کر سکتے ہیں SQL سوال کو مکمل نامعقول کچھ کے ساتھ لیکن کچھ اس syntactically ہے غلط ہے کہ ہمیشہ صحیح تشخیص. تو اس کوڈ کو جواب دینے کے لئے استعمال کیا جا رہا ہے تو سوال صحیح یا غلط چاہیے اس صارف، منتقل کرنے کی اجازت دی جائے جواب ہمیشہ بظاہر جا رہا ہے یہ ہمیشہ کی جا رہی ہے کیونکہ سچ ہو ڈیٹا بیس سے کچھ منتخب کرنے کے لئے کورس میں سے ایک ہمیشہ ایک برابر ہے کیونکہ. تو اس کا حل کیا ہے؟ ویسے 7 pset میں، ہم اصل سب مل کر اس سے بچنے کے. ہم آپ کو ایک استفسار تقریب دے، اور ہم سوال نمبروں کو استعمال کرنے کی حوصلہ افزائی جگہ دار کے طور پر، اسی طرح printf کی٪ s کو روح میں، لیکن سوال نمبروں کے بارے میں اہم کیا ہے آپ اصل ذریعے پڑھا یہاں ہے functions.php کو، جہاں ہمارے استفسار تقریب، لاگو کیا جاتا ہے وہ سوال نمبر فرار ہو رہے ہیں، جس کے تحت ممکنہ طور پر خطرناک بھی چیز ایک اقتباس دیا گیا ہے کی طرح ایک فرار ایک اقتباس میں. تو یہ کیا ہے واقعی آپ تو کیا ہو CS50 کی استفسار تقریب یا کسی بھی تعداد کا استعمال تیسری پارٹی مفت لائبریریوں کے کہ ایسا ہی کریں. اس معاملے میں کوئی فرق نہیں ہے، سبز رنگ میں، صارف ایک واحد اقتباس میں ٹائپ ہے اگر استفسار کیونکہ ہم نے لکھا ہے کہ تقریب ہے اس سے پہلے backslashes شامل کی جا رہی ایسے کسی بھی خطرناک اقتباس. لہذا اس میں، نہیں ہے حقیقت، پر legit ہونے جا رہا. یہ دیکھ کر ایک پاگل میں ٹائپ کی طرح ہے کورس کی، نہیں جا رہا، ہے کہ پاس ورڈ skroob کی اصل پاس ورڈ بننے. تو CS50 کے لئے takeaway ہے، میں سے ایک ہے بالکل ہمیشہ کچھ کا استعمال کرتے ہیں CS50 کی استفسار تقریب کی طرح یا بنیادی لائبریری، جس PDO کہلانے کا ہوتا ہے. لیکن کبھی نہیں، کبھی نہیں، اس طرح کے کوڈ کبھی نہیں فرار یا scrubbing کے بغیر کے طور پر وہ اپنے آدانوں کہنا. اور آپ کو کسی وقت پر شاید اس طرح کچھ ویب سائٹ کے اس پار آئے. اصل میں، یہ معاملہ لگتا مقامات میں ہوائی اڈوں اور ہوٹلوں میں طرح وہ مفت Wi فینیش کی ضرورت ہے جہاں تم پر لاگ ان کرنے کے لئے ہے کہ رسائی، ان ویب سائٹس ہمیشہ بری لاگو. اور اس طرح گھر مشق میں مذاق کی ایک طرح سے، نہیں بدنیتی پر مبنی مقاصد یا اس سے زیادہ سڑک پر ایک مزہ ورزش، صرف ٹائپ کرنے کے لئے ہے ایک apostrophe، ایک اقتباس، کچھ ویب سائٹ پر ایک فارم میں اور دیکھتے ہیں کیا. اور سرور کریش یا دیتا ہے تو اگر آپ غلطی پیغام کے کچھ قسم کی، یہ بہت اچھی طرح ہو سکتا ہے کہ کسی کو اس سے متوقع نہیں کیا. اور پھر آپ کو مناسب کو آگاہ کرنا چاہئے حکام اور کوئی مزید آگے بڑھنے. تو اب آپ لوگ امید ہے کہ کرنا چاہئے یہاں تھوڑا سا زیادہ geek مزاحیہ سمجھنے. [ہنسی] DAVID MALAN: آپ کو ایک geek ہو. اگلے کئی لئے سال، آپ کو یاد کرے گا جو چھوٹی بابی میزیں ہے یہاں اس کارٹون کی وجہ سے. تو کے طور پر ذہن میں رکھنے ہم تناظر سوئچ ایک آخری بار جاوا سکرپٹ کے لئے آج. ہم نسبتا بہت کم خرچ کیا ہے پی ایچ پی کی نحو پر وقت یہ اصل میں ہے کیونکہ C. کے لئے سپر اسی طرح اور اچھی طرح سے کافی، جاوا اسکرپٹ کا بہت C کی نحو کے لئے سپر کی طرح ہے ہم میں دیکھیں گے کے طور پر بھی صرف ایک لمحے اور ہم کریں گے کے طور پر خاص طور پر اس ہفتے کے دیکھیں. آپ کو اس زبان کے ساتھ کیا کر سکتے ہیں، اگرچہ،، سب زیادہ طاقتور ہے خاص طور پر APIs کے ساتھ. لیکن اس سے پہلے ایک فوری اعلان. ایک تو، جاوا سکرپٹ میں، وہاں ہے جو اچھا ہے کوئی اہم تقریب،. پی ایچ پی کے ساتھ کے طور پر، آپ کو صرف کوڈ لکھ سکتے ہیں. حالات اس طرح نظر آئے. اور بولین اظہار شاید کیا اس طرح یا اس طرح نظر آئے. سوئچز وجود، اور وہ اس طرح نظر ہو سکتا ہے. چار loops کے اس طرح نظر آئے. loops کے اس طرح نظر کرتے ہوئے. کرتے whiles اس طرح نظر آئے. اور پھر arrays کی طرح نظر آتے ہیں یہ، پی ایچ پی پر بہت ملتا جلتا. لیکن، جاوا اسکرپٹ آپ میں کہ محسوس ایک ڈالر کے ساتھ نہیں ایک متغیر کا اعلان نہیں ایک ڈیٹا کی قسم کے ساتھ لیکن لفظی، دستخط اس سے پہلے متغیر کے لئے متغیر کہہ کر. یہ بھی شتل ٹائپ کر رہا ہے کہ میں اس کی اقسام ہیں، لیکن اگر آپ کو واضح طور پر ان کا اعلان نہیں کرتے. اور اس کے بعد ایک تار کے لئے مثلا، نظر ہو سکتا ہے اس طرح، اس سٹرنگ اس معاملے میں یہ کہا جا رہا. اور پھر کسی چیز کو. اور یہ کہ ہم طویل عرصے سے پہلے زیادہ نظر آئے گا. اور کسی چیز شاید میں سے ایک ہے سب سے زیادہ عام ڈیٹا ڈھانچے دیکھا ایک جاوا اسکرپٹ میں مقیم پروگرام کی اجازت دیتا ہے کیونکہ آپ کو صوابدیدی منسلک کرنا کلیدی قدر جوڑوں صرف پی ایچ پی کی ساہچری arrays کی طرح اور صرف آپ کے اپنے ہیش ٹیبل کی طرح ہم لاگو کے طور پر یا کوشش واپس چند ہفتوں. تو اصل میں دیکھتے ہیں کیا ہم جاوا سکرپٹ کے ساتھ کیا کر سکتے ہیں. اور خاص طور پر، یہ ہے خصوصیات کی ایک لانڈری کی فہرست براؤزر ہے کہ ہے کہ ہم سے جاوا اسکرپٹ ہک کرنے کی اجازت دیتے ہیں مندرجہ ذیل طریقے سے ایک ویب سائٹ میں. جاوا اسکرپٹ اکثر ایک کے طور پر استعمال کیا جاتا ہے کلائنٹ سائڈ سکرپٹ کی زبان. اسے مرتب نہیں ہے. یہ بھی تشریح کی ہے. لیکن پی ایچ پی کے برعکس، جس میں چل رہا ہے سرور پر، ویب سرور میں، یا اس کی گہری اندر کلائنٹس، جاوا سکرپٹ کے کہ اس میں مختلف ہے عام طور پر براؤزر میں چلتا ہے. لہذا کسی بھی جاوا سکرپٹ کے کوڈ آپ کو تحریری شروع pset کے 8، یا آپ حتمی منصوبے کے لئے، یا حقیقی دنیا میں عام طور پر کی جا رہی ہے بالکل، سرور پر محفوظ کرنے کی ایک نقطہ HTML یا نقطہ میں جاوا اسکرپٹ فائل کے لئے جے ایس. لیکن براؤزر کی جا رہی ہے جاوا اسکرپٹ کہ ڈاؤن لوڈ کرنے کروم کے اپنی خود کی مثال کے لئے کوڈ، IE، یا فائر فاکس، یا جو کچھ بھی یا. اور کوڈ اصل میں حاصل کرنے کے لئے کی جا رہی ہے آپ اپنے براؤزر کے اندر سے پھانسی. بس یہ مزید اصلی بنانے کے لئے، کی ٹھوس شکل میں اس طرح دیکھتے ہیں. ہم اس کوڈ کو کیا کرتا ہے کوئی اندازہ نہیں ہے واقعی اس کے ذریعے پڑھنے کے بغیر. لیکن میرے Facebook.com پر چلتے ہیں میں لاگ ان کئے بغیر. مجھے عنصر کا معائنہ اور پر جانے کے لئے جانے دو، چلو کا کہنا ہے، نیٹ ورک اور صفحہ دوبارہ دیکھیں. اور ہم دیکھتے دونگا مجھے دوبارہ دیکھیں منتقل صفحہ نئے کی تمام درخواستوں کو حاصل کرنے کے لئے. اور بہت پہلے میں دیکھ رہا ہوں فائل سی ایس ایس، سی ایس ایس ہے. یہاں سب سے پہلے ہے جاوا اسکرپٹ فائل، اور میں کوئی اس کا کیا خیال ہے، لیکن یہاں جاوا سکرپٹ کے کوڈ میں سے کچھ ہے کہ فیس بک کو چلاتی ہیں. یہ بھی سچ میں کہ نہیں ہے میں زوم کرنے کے انکشاف. یہ اب بھی صرف کے طور پر نامعقول ہے. لیکن تم وہاں ہے، یہاں تک کہ نیچے ذیل میں دیکھیں گے ان جاوا اسکرپٹ فائلوں کا بھی زیادہ. افوہ. کہ ایک پنگ ہے. چلو تھوڑا نیچے جانے دو مزید، مزید، مزید. ایک ہے. ایک ہے. ایک ہے. تو بھی فیس بک پر اگرچہ، پیچھے مناظر، پی ایچ پی میں حصے میں لکھا ہے اور فیس بک کے اپنے ورژن اس کے، جاوا اسکرپٹ کی ایک بہت بڑی رقم ہے. سچ تو یہ ہے، میں سے کسی آپ کو فیس بک پر کیا چیٹنگ، ان لائن ٹائم لائن اپ ڈیٹس کے کسی بھی کہ، حقیقی وقت میں اس کے سب سے ہو جاوا سکرپٹ کے ذریعے کارفرما ہے. جی ہاں؟ سامعین: مجھے یقین نہیں ہے یہ فیس بک کی ہے تو، لیکن میں نے فیس بک تیار کی ہے سوچا ان کے اپنے میں گھر کوڈ زبان؟ DAVID MALAN: انہوں نے کیا. میں نے کی ایک بادبانی کہنا یہی وجہ ہے کہ پی ایچ پی کی ہے کہ وہ اصل میں ہپ ہاپ بلایا اس طرح کرنے کے شامل خصوصیات کہ جب مارک پہلی، فیس بک نافذ یہ پی ایچ پی میں لکھا گیا ہے. اور اس طرح کا رہ گیا ہے سامنے اختتام زبان کی طرح وہ زیادہ تر کے لئے استعمال کرتے ہیں کہ ان کوڈنگ، لیکن اس کا ہے کہ ایک زبان نہیں کیا گیا ہے اربوں کے لئے خاص طور پر اچھی طرح ترازو لوگوں کی. اور اس طرح وہ ان کے اپنے شامل کر لیا ہے پردے کے پیچھے بہتری. اور وہ کسی بھی تعداد کا استعمال دیگر زبانوں میں کے مختلف ٹکڑے ٹکڑے کے لئے ان کے بنیادی ڈھانچے. تو جی ہاں، اس کا ایک بادبانی ہے اب ہم PHP طور پر جانتے ہیں. تو چلو ایک نظر ڈالیں مثالوں کی ایک جوڑے کو کے ہم جاوا سکرپٹ کے استعمال کر سکتے ہیں کہ کس طرح. آج کے منبع کوڈ میں، ہم نے ایک فائلوں کا ایک گروپ، جس کے پہلے، کی ڈوم صفر نامی دو. مندرجہ ذیل کے طور پر تو ڈوم صفر دکھائی دیتی ہے. مجھے اس ڈائریکٹری میں جانے دو اور domzero.html کو کھولنے، جن میں سے سب سے اوپر ایک DOC کی قسم ہے اعلامیہ، یہاں کہہ HTML 5 آتا ہے. اور اب یہاں ایک HTML ٹیگ ہے. یہاں سر ٹیگ ہے. اور آج یہاں نیا کیا ہے. اب ہم ایک سکرپٹ ٹیگ ہے صفحے کے سر کے اندر. اور یہ بظاہر کرتا بہت کم، لیکن نوٹس میں وضاحت کی گئی ہے کہ ایک سکرپٹ، ایک جاوا سکرپٹ. اور ایک ایک طرف، اس کے بعد کے طور پر ایک عام غلط فہمی ہے، جاوا اسکرپٹ بالکل تعلق نہیں ہے جاوا، زبان کے ساتھ کیا کرنا تم میں سے بعض کو شاید یہ ہے کہ APCS میں سیکھا ہے. یہ ایک مارکیٹنگ کا زیادہ تھی کسی بھی چیز سے چیز، پہلے جاوا سال کی coattails سوار. لیکن جاوا اسکرپٹ، کچھ بھی نہیں کے ساتھ کرنا جاوا، صرف اسی طرح، اور سے annoyingly، مبہم نامی. تو یہاں آپ کو ایک تقریب کا اعلان کس طرح ہے جاوا اسکرپٹ میں، لفظی تقریب کا کہنا ہے، پھر تقریب کے نام، پھر کسی بھی اسے لے سکتا ہے دلائل، پی ایچ پی میں صرف پسند. جاوا اسکرپٹ، سب سے زیادہ میں سے ایک میں باہر کر دیتا ہے موجود ہے کہ پریشان کن افعال الرٹ ہے. یہ ایک چھوٹی سی ونڈو ہے کہ پاپ اور آپ کو آگاہ کرے گا معلومات میں سے کچھ ٹکڑے کرنے کے لئے. یہ عام طور وسلم frowned ہے. لیکن ہم اس کے طور پر استعمال کریں گے ہمارے یہاں سب سے پہلے ورزش. جاوا اسکرپٹ کی چند خصوصیات نوٹس ایک کی قیمت درج کرنے اور ڈبل قیمت درج کرنے اصل میں اب کوئی فرق نہیں ہے. ایک کی قیمت درج کرنے اور ڈبل کی قیمت درج کرنے interchanged ہو سکتا، C میں جبکہ، آپ کو استعمال کرنے کے لئے ہے ڈور کے لئے ڈبل قیمت درج کرنے، اور آپ کو ایک کی دو ہے حروف کے لئے قیمت. جاوا سکرپٹ کے دنیا میں، بہت سے لوگ، زیادہ تر لوگوں کے ڈور کے ارد گرد ایک کی قیمت درج کا استعمال صرف یہ ایک stylistic بات ہے کیونکہ. لیکن پلس آپریٹر، کیا یہاں ہے جو ہم نے پہلے نہیں دیکھا ہے؟ سامعین: concatenation کے. DAVID MALAN: concatenation کے. تو C یہ بھی ضروری نہیں ہے. پی ایچ پی ڈاٹ آپریٹر ہے، جس سے اس کرتا ہے. جاوا سکرپٹ کے علاوہ آپریٹر ہے، جس مبہم صرف جاوا کی طرح ہے. اب کیا ہو رہا ہے یہاں ہے؟ تو یہاں ہے جہاں ایک بنیادی ہے کہ تصویر کی تفہیم ہم ایک جوڑے اپ پھینک دیا دن پہلے کھیل میں آتا ہے. ہم ایک سادہ سا تھا جب یاد رکھیں ایک کے ورژن HTML ایسے صفحے یہ صرف دنیا ہیلو، کہا. اور پھر ہم ایک درخت متوجہ حق، کے لئے جس مستطیل اور لائنوں کا ایک گروپ تھا ایک خاندان کے درخت کی طرح ان سے منسلک. تو ہے کہ نام نہاد ڈوم ہے یا دستاویز آبجیکٹ ماڈل. اور یہ آپ تک رسائی حاصل کر سکتے ہیں کہ باہر کر دیتا ہے نحو کے ساتھ کہ درخت میں مستطیل مندرجہ ذیل کی طرح. آپ لفظی ایک ہے جو، دستاویز کا کہنا ہے کہ ایک جاوا اسکرپٹ میں خصوصی عالمی متغیر ایک تقریب ہے کہ پروگرام آپ تک رسائی حاصل کر سکتے ہیں کہ اس کے ساتھ منسلک ایک struct کی طرح، لیکن آپ کو صرف ، ڈاٹ اور پھر تقریب کے نام کا کہنا ہے کہ ID کی طرف سے عنصر حاصل. میں حاصل کرنا چاہتے ہیں عنصر ہے بظاہر unquote جو نام کے حوالہ کیا. اور پھر میں نے اس کی قیمت کو حاصل کرنے کے لئے چاہتے ہیں. اب ہم آگے خود حاصل کر رہے ہیں. مجھے یہ بھی یقین نہیں ہے کیا اس سب کے بارے میں ہے. HTML کرنے کے لئے چلو تیزی سے آگے پر سپر آسان ہے جس کے صفحے،. میں نے بیان کیا ہے کہ نوٹس ایک یہاں نیچے کی تشکیل. میرے خیال میں یہ ایک منفرد دیا جاتا ہے کا نوٹس ہم نہیں استعمال کیا جاتا ہے اگرچہ ID، اس وصف سے پہلے. لیکن یہ HTML میں موجود ہے. تم منفرد کچھ حصہ کی شناخت کر سکتے ہیں اس طرح ایک شناخت کنندہ کے ساتھ HTML کی. اب محسوس this-- HTML باہر کر دیتا ہے کہ لانڈری کی فہرست فی، کی حمایت ایک لمحے پہلے، ایک پوری ایونٹ handlers کے گروپ. اور اس ایونٹ ہینڈلر جمع کرانے پر کہتے ہیں. اس کے صارف کو جمع کرانے پر فارم، درج ذیل کوڈ کو فون. اور اس کوڈ جا رہا ہے کہا جاتا ہے یا قتل کرنے بالکل اس، یونانی ہے تقریب واپسی جھوٹے طرف سے کے بعد. باقی سب کچھ کرنا چاہئے بہت واقف ہونا. یہاں جس کی قسم متن کی ایک ان پٹ، ہے ID، اس معاملے میں، نام ہونے جا رہا ہے. ہم نے ایک اصل نام کا وصف نہیں اس time-- اور جمع کرائیں بٹن. لہذا نتیجے والے صفحے اس طرح لگ رہا. اور نتیجے کے رویے، آپ کو اس طرح لگ رہا ہے، دیکھ لیں گے. صفحہ یہ مقامی میزبان ہیلو، کا کہنا ہے کہ ایک خوبصورت منباون بمشکل ڈیوڈ، ایک صارف کو سلام کرنے کا طریقہ. لیکن اصل میں کیا ہو رہا ہے؟ ویسے، یہ کیا ہے کے بارے میں غور. یہ ایک متن والے فیلڈ ہے. اور کے مطابق یہاں HTML، میں نے اسے دیا ہے ایک منفرد شناخت کنندہ نامی اقتباس unquote نام. اسی اثناء میں، میں نے جب کہا ہے صارف اس فارم پیش درج کریں مارنے یا کلک کر بھیجئے بٹن، سلام نامی تقریب فون اور پھر جھوٹے واپس. کی ریورس میں لوگ غور کرتے ہیں. I، جمع کریں پر کلک کریں جب کو نوٹس اس صفحے کے یو آر ایل کو تبدیل نہیں کرتا. براؤزر کی آئکن کتائی شروع نہیں کیا. میں کہیں جانا نہیں تھا، اور یہ کہ لفظی میں جھوٹے واپس چاہیے کیونکہ. جھوٹی شارٹ سرکٹ یا بند ہو جاتا ہے واپس جائیں ایک شکل کے ڈیفالٹ رویے. پھر ہمیں چھوڑ دیتا ہے تو اس کے ساتھ اس میں سے ایک آخری سوال. ہیلو کیا کرتا ہے؟ ویسے، بظاہر سلام نامی ایک تقریب بلاتا الرٹ، ایک میں گزر جاتا ہے ہے کہ طویل دلیل مل کر ایک concatenating کی کا نتیجہ substrings کی گچرچھا، کوما خلا ہیلو، پھر اس کو واپس کرتا ہے جو کچھ بھی. لہذا دستاویز ایک عالمی طرح ہے اس درخت کی اس جڑ کو متغیر، ایک خصوصی تقریب بلا، دوسری صورت میں اب ایک طریقہ کار کے طور پر جانا جاتا ہے. ہے کہ ایک تقریب ایک متغیر ہے کے اندر ایک طریقہ کے بجائے ایک تقریب میں بلایا. لہذا ID کی طرف سے عنصر حاصل. کیا عنصر تم کرتے ہو اس کی شناخت کی طرف سے حاصل کرنے کے لئے چاہتے ہیں؟ unquote جو نام اقتباس اور پھر خاص طور پر قدر کرتے. تو دوسرے الفاظ میں، اس کوڈ کو صرف جس کی ID نام ہے متن والے فیلڈ کے پائے اور پھر اس کی قیمت ہو جاتا ہے. تو تو میں اس کو تبدیل کرنے کے لئے تھے اور، Davin بجائے ڈیوڈ کہنا اور اب ہم، بھیجیں پر کلک کریں Davin لئے ایک سلام ہے. اتنا سب ٹھیک اور اچھا ٹھیک ہے،. لیکن ہم بنا سکتے ہیں تو دیکھتے ہیں ابھی سے کلینر یہ تھوڑا یہ ہے کی طرح کوڈ لکھنے عام طور وسلم frowned کیا جا جا رہا. یہ scarier کے دیکھنے کے لئے جا رہا ہے. لیکن اس سے پہلے کیا ہے آپ نے یہاں نوٹ کریں کہ فرق علاوہ اس ورژن میں ڈوم ایک کے لئے تبدیل کرنے کے نام؟ کیا ساخت کے مختلف لگ رہا ہے دوسرے مقابلے میں اس کے بارے میں؟ جی ہاں؟ سامعین: فارم پر ہے اب سکرپٹ کے سب؟ DAVID MALAN: جی ہاں، فارم سب سے اوپر ہے کچھ جاننا وجہ کے لئے سکرپٹ کے. تو ہے کہ سب سے پہلی چیز ہے وہ بھی، مجھ پر باہر چھلانگ. اور شکر ہے کم از کم، اس حصے جیسی ہے. تو لگتا ہے کہ صرف ایک ہی چیز مختلف ہونے کا یہ وہ جگہ ہے. تو یہاں صاف کیا ہے جاوا اسکرپٹ 2 کے بارے میں. اور اس کے لئے یہ مشکل بنا دیتا ہے پہلی نظر میں یہ سمجھنے، خاص طور پر آخری منصوبوں کے لئے اگر آپ آن لائن نمونے کے کوڈ کو دیکھ رہے ہیں لیکن یہ کچھ فوڑے نیچے بنیادی syntactic کی خصوصیات. یہاں پھر یہ ہے کہ عالمی متغیر دستاویز. یہاں پھر جو طریقہ یا تقریب ہے اس کی شناخت کی طرف سے عنصر حاصل کہتے ہیں. میں چاہتا ہوں اس بار ڈیمو بلایا ID ملے. وہ کہاں ہے؟ کہ بظاہر ٹھیک ہے یہاں، فارم خود. اور اب محسوس ہے کہ بظاہر تو مجھے درخت سے اس نوڈ واپس حاصل ہے کہ فارم کی نمائندگی کرتا ہے خود، نہیں ایک متن والے فیلڈ، یہ کہ، اس فارم باہر کر دیتا ہے درخت سے نوڈ یا مستطیل، ، ہم نے ایک جائداد فون کروں گا کیا ہے بہت، بہت، بہت ملتا جلتا سی میں ایک struct روح میں یہ صرف ہے اس مستطیل کے اندر ایک ڈیٹا کی رکن. لہذا میں نے فارم مل گیا ہے یہاں، اور میں منسلک کر رہا ہوں، اس پر پیش کرنے یا مجھے، بتائے ہوں ہینڈلر یا بلکہ پر پراپرٹی بھیجئے مندرجہ ذیل تقریب. اور یہ دور کی طرف سے، کون سا پاگلپن، ہے بات یہ ہے کہ اس طرح اب تک syntactically ہے. یہ جاوا سکرپٹ میں اور میں باہر کر دیتا ہے پی ایچ پی، اور واضح طور C میں اس بات کے لئے، ہم ایسا نہیں ہے، اگرچہ، آپ کر سکتے ہیں بینام، گمنام، یا AKA لامڈا شامل ایک نام کی ضرورت نہیں ہے کہ کام کرتا ہے لیکن باوجود کہا جا سکتا ہے. تو کیا میں یہاں کیا کر رہا ہوں میں بتائے ہوں جاتا ہے اس پر، جائیداد جمع کرائیں جس ایک، میری ڈوم درخت کے اس نوڈ کے اندر ہے تقریب، تقریب پوائنٹر اگر تم کروگے. اس تقریب میں کوئی ہے نام، لیکن ہے کہ ایسا نہیں ہوتا ہم دیکھیں گے، کیونکہ کوئی فرق ایک لمحے میں نے اسے فون کرنے کا طریقہ. اس تقریب میں بلایا جاتا ہے تو، اس کوڈ تو، قتل ہو جاتا ہے جھوٹے ذرا پہلے کی طرح واپس آ جاتا ہے. لیکن میں نے کیا ہے کیا محسوس. میں اس مرحلے پر کہانی، میں نے ایک فارم ہے. یہ ڈیمو نامی ایک منفرد ID کے پاس ہے. یہاں نیچے، میں نے ایک سکرپٹ ٹیگ ہے جو کہ درج ذیل کوڈ executes. یہ اس نوڈ میں دیتا یہ کرنے کے لئے درخت پر جمع کرائیں ہے جائیداد اس تقریب یہاں. اور صرف براؤزر کام کس طرح کی نوعیت کی طرف سے، اب میں جمع کرائیں یا مارا درج کریں پر کلک کریں جب، کہ تقریب میں بلایا حاصل کرنے کے لئے جا رہی ہے. یہ کون ہے کیونکہ ایک نام کی ضرورت نہیں ہے کیا heck، جو یہ کہتے پرواہ کرتا ہے. یہ کبھی حاصل کرنے کے لئے جا رہا ہے صرف وقت میں نے فارم جمع کرتے وقت کہا جاتا ہے. میرے لئے کوئی ضرورت نہیں ہے، انسانی ڈویلپر، اصل میں کہیں اور اسے فون کرنے کی. اب صرف ایک جھلکی کے طور، کہ کے طور پر اگر کافی موڑنے اعتراض نہیں کر رہے تھے، ہم یہ بھی بنا سکتے ہیں زیادہ خفیہ کا استعمال کرتے ہوئے نظر آتے ہیں ایک سپر مقبول لائبریری jQuery بلایا. حقیقت jQuery اور جاوا سکرپٹ میں اکثر خلط کر رہے ہیں. اور کیا ہم نے بدھ کو کیا کریں گے آغاز ہے اس کی زبان اور ان لائبریریوں کا استعمال کرتے ہوئے تیزی اتلیکالک کی تعمیر کے لئے اور متحرک ایپلی کیشنز نقشہ کی طرح ہو رہی ہے ایپلی کیشنز، ایپلی کیشنز کہ اصل میں ویب کے صفحے کو اپ ڈیٹ وقت، زیادہ سے زیادہ فیس بک یا Gchat طرح کرتے، اور اب کوئی اپنی ذات کو پرے ایک یا حاصل کرنے کے کی طرف سے پیغام بھیجئے مارنے اکیلے. تو میں نے بدھ کو نظر آئے گا. [موسیقی بجانے]