[00:00:02] [موسیقی بجانے] HANNAH: ہیلو، سب کو. آپ کو باہر آنے کے لئے اتنا کچھ لوگ آپ کا شکریہ کوئز ایک کے لئے نفرت کے موسم میں سیشن کا جائزہ لینے کے. تم لوگوں، کوئز جانتے ہیں ایک اس بدھ ہے. تو اگر ہم جا رہے ہیں موضوعات کی ایک گروپ کے ذریعے. DAVIN: ارے، میں کہہ سکتے ہیں اصلی فوری کچھ اور؟ HANNAH: جی ہاں، Davin کی جا رہی اصلی فوری کچھ کہنا. DAVIN: معاف کیجئے گا. بس اصلی فوری، آپ کے سوالات ہیں تو کوئز کے بارے میں، اگر آپ آن لائن جا سکتے ہیں. کوئز کے بارے میں، 2014 کوئز ایک پر جانے. اس کے بارے میں لاجسٹکس کے پاس ہے کہاں جانا، جب جانے کے لئے. آپ بیک وقت انرول ہوتے ہیں تو، ہم ہیں 5:30 میں ایک مکین مشکل کوئز کر جا رہا. یا تم مجھے ایک مسئلہ بھیجا ہے تو، تم کسی دوسرے مسئلہ ہے. لیکن 5:30 میک اپ ہے بدھ کو وقت. لیکن اگر آپ کے سوالات ہیں تو، عام سوالات، آن لائن تمام لاجسٹکس ہے. تو سب سے پہلے وہاں چیک کریں. [00:00:47] HANNAH: بہت اچھے. تو یہاں موضوعات میں سے بڑی فہرست ہے ہم آج کے ذریعے جانے کے لئے جا رہے ہیں. میں نے سی کا احاطہ کرنے جا رہا ہوں کہ سب سے پہلے کالم ہے جو کہ سامان،. تو سی چیزیں کہ جب ہم کوئز صفر کے بعد احاطہ کرتا ہے. ایک لنک کی فہرست کے ساتھ شروع ہو، جس میں اشارہ بھی شامل. [00:01:05] ٹھیک ہے، تو ہم نے یہ دیکھا آخری جائزہ لینے کے سیشن میں، تو میں کے ذریعے جانے کے لئے جا رہا ہوں یہ تھوڑا سا تیز ہے. آپ کو مجھ سے چاہتے ہیں، صرف ہاتھ اٹھانے سست یا مزید کچھ اور خطاب. لیکن ہم کیونکہ فہرست منسلک استعمال ہم arrays کے ساتھ C میں شروع کیا. اور arrays عظیم ہیں، لیکن مسئلہ یہ ہے کہ وہ ایک مقررہ سائز ہے. لنک کی فہرست ہمیں پیدا کرنے کی اجازت متحرک ڈیٹا ڈھانچے بالکل سائز. [00:01:28] اور ہم اپنے بنیادی آپریشن ہے، ، داخل خارج کر دیں، اور تلاش. اور ہم میں ڈالیں کیا کر سکتے ہیں بدترین صورت مسلسل وقت ہم صرف بہت شروع میں ڈال دیا ہے تو. ، بدترین خارج کر دیں اور تلاش اوہ ن وقت کا بڑا کیس. تو ایک بار پھر، صرف پلٹائیں کرنے کے لئے ان تصاویر کے ذریعے، میرے خیال میں ہمیں ان آخری بار دیکھا جانتے ہیں، لیکن ہم ہمارے منسلک کی فہرست کے ٹریک رکھنا چاہتے ہیں کے ٹریک رکھنے کی طرف سے ہمارے منسلک فہرست کے سربراہ. ہم جانتے ہیں کہ وجہ ہمارے مراکز میں سے ہر ایک بالکل اسی کی طرف اشارہ کرنے جا رہا ہے ہمارے منسلک فہرست میں اگلے نوڈ. [00:01:58] تو ہے کہ ہم ٹریک رکھنے کا طریقہ یہ ہے. ان نہیں ہیں اگرچہ میموری کی مسلسل ٹکڑے ٹکڑے، ہم صرف کی طرف سے ان کو تلاش کر سکتے ہیں مختلف تیر مندرجہ ذیل. ہمارے یہاں کی ساخت ہے ایک لنک کی فہرست نوڈ کے لئے. ہم اس آخری بار دیکھا. ہم ہمارے struct نوڈ ہے. اور یہ دو خصوصیات ہیں. نمبر ایک، اصل قیمت ہم محفوظ کرنا چاہتے ہیں. اس صورت میں، یہ ایک عددی ہے. یہ ایک تار ہو سکتا ہے، یہ کر سکتا تھا جو چاہو ایک چار، ہو. اور پھر، ہم کا ٹریک رکھنے کے لئے ہے ہمارے منسلک فہرست میں اگلے نوڈ. تو یہ ایک ہونے جا رہا ہے اگلے نوڈ پوائنٹر. آپ کو صرف کر رہے تھے تو کی تلاش میں، پہلے کہا، جیسے آپ کو آپ نیچے تیر پر عمل کرنا پڑے گا. رحم میں داخل، آپ کو ٹریک رکھیں گے آپ کی فہرست کے باقی کہاں ہے. اور آپ کے سر ری ڈائریکٹ کرنا چاہتے ہمارے نئے عنصر، کی طرف اشارہ ہے جس اس معاملے میں، میں سے ایک ہے اور پھر ایک طرف اشارہ کریں گے لنک کی فہرست کے باقی. تو ایک بار پھر، میں نے یہ ایک چھوٹی سی ہے جانتے ہیں کوئز صفر سے ایک دہرانے کا سا. تو ہم بہت ہوشیار رہنا ہوگا حکم کے بارے میں ہے جس میں ہم ہم ایسا نہیں کرتے تو ان pointings کرتے فہرست کی پشت میں سے ٹریک کھو. ساتھ ٹھیک، میں کوئی سوالات بالکل اسی اکیلے کی فہرست منسلک؟ بہت اچھے، ٹھیک ہے، ڈاؤن لوڈ، اتارنا. [00:03:06] تو اب، ہم کچھ پر جانے کے لئے جا رہے ہیں صرف تھوڑا سا زیادہ پیچیدہ، دوگنا فہرست منسلک. رکھنے کے علاوہ اتنی اگلے نوڈ کے ٹریک، ہم بھی ٹریک رکھنا چاہتے ہیں گزشتہ نوڈ کی. ہم ہیں اور یہ، اگر لئے کی اجازت دیتا ہمارے منسلک فہرست میں کچھ مواقع پر، نہ صرف فارورڈز جاتے ہیں، لیکن بھی پیچھے کی طرف iterate کے. ہم میں دیکھا تھا کیونکہ ایک اکیلے منسلک فہرست، ہم نے کچھ نوڈ میں تھے، اور اگر اچانک، ہم نے فیصلہ کیا، اصل میں، میں نے میں جانا چاہتا ہوں مجھ سے پہلے نوڈ کا حق، تم سب کو جانا پڑے گا واپس سر کے لئے راستہ آپ محسوس کریں اور جب تک ذریعے iterate آپ کے لئے تلاش کر رہے تھے نوڈ. [00:03:35] تو یہ چیزیں بناتا ہے ہم ہیں کے طور پر تھوڑا آسان iterate کرنے کی کوشش کر رہے ہمارے منسلک فہرست کے ذریعے. لیکن یہ ایک ٹریک رکھنے کے لئے کی ضرورت ہے ہمیں مزید پوائنٹر ہے، تو ایک اور نوڈ سٹار. ٹھیک ہے، تو یہاں مزہ حصہ آتا ہے. ہم پر عملدرآمد کی مشق کرنے کے لئے جا رہے ہیں دوگنا منسلک کی فہرست کے لئے ہٹا دیں. تو کیا یہ ہے کہ کچھ ہے کوئز کے لئے مکمل طور پر منصفانہ کھیل. یہ ماضی quizzes پر دکھایا. تو یقینی تیار کیا جائے سی میں ایک تھوڑا سا کوڈ کرنے کی سب کے ساتھ یہ نہ بھولنا اس لطف پی ایچ پی اور جاوا سکرپٹ، ہم اب بھی یاد رکھنا ہے C. کرتے تو یہ پر برش کرنے تو آپ کو زنگ آلود محسوس کر رہے ہو. [00:04:12] ٹھیک ہے، ہم یہ کر سکتے ہیں تو دیکھتے ہیں. ٹھنڈی، اوکے. تو ہم نے کوشش کی جا رہے ہیں یہاں میں صحیح میں ترمیم کرنے، منصوبے کے مطابق اور امید ہے کہ یہ جاتا ہے. ٹھیک ہے، کسی کو مجھے دینا چاہتی ہے میں نے شروع کر دینا چاہئے کس طرح ایک تجویز؟ میں ہوں صرف مفروضے سازی میں سمجھتا ہوں کہ پہلے سے ہی ہے ایک ڈھانچہ تعریف کی ہے، ایک میں، آخری صفحے پر دکھایا گزشتہ سلائڈ پر. اور میں منسلک میرا کے سربراہ محفوظ کر رہا ہوں بعض پوائنٹر میں فہرست سے ملاقات کی فہرست. کسی نے مجھے شروع کرنے کے لئے چاہتا ہے؟ [00:04:42] سامعین: آپ کو ایک نیا بنا سکتا نوڈ فہرست کے ذریعے فون کرنے کے لئے؟ [00:04:45] HANNAH: بہت اچھے، تاکہ ہم پیدا کرنے کے لئے جا رہے ہیں ایک نیا نوڈ فہرست کے ذریعے کرال. مجھے یہ پسند ہے. یہ ٹھیک ہے اگر میں صرف پوائنٹر اسے فون کروں گا. اور جہاں یہ اصل میں شروع کر دینا چاہئے؟ [00:04:57] سامعین: شاید میں فہرست کے سربراہ. HANNAH: خوبصورت. ہم سر، میں شروع کرنا چاہتے ہیں جس میں نے فہرست میں محفوظ کیا جا رہا ہے نے کہا. بہت اچھے. اب تک تو اچھا. اور اب، ہمارے مقصد کے لئے ہے فہرست کے ذریعے iterate ہم نوڈ کے ساتھ تلاش تک ہم کو خارج کرنا چاہتے ہیں کہ قدر ن. ٹھیک ہے؟ [00:05:13] تو اب حصہ کہاں ہے ہم کے ذریعے iterate کرنا چاہتے ہیں. کسی کو بھی ایک مشورہ دے سکتے ہیں راستہ کے ذریعے iterate کرنے کے لئے؟ [00:05:19] سامعین: ایک لوپ. [00:05:20] HANNAH: ایک لوپ. مجھے یہ پسند ہے. خاص طور پر، ہم تھوڑی دیر کے لوپ کوشش کر سکتے ہیں. اوکے، اور ہم تک پہنچ گئے ہیں کہ پتہ ہماری فہرست تو کیا کا خاتمہ؟ سامعین: پوائنٹر خالی ہے جب. HANNAH: پوائنٹر خالی ہے جب. خوبصورت، مجھے یہ پسند ہے. ٹھنڈی، اوکے. میرے bounding اس تسمہ ہے تو بہت افسوس اس قسم کی سکرین گرنے. ہم اسے واپس لے آئے. ٹھنڈی، اوکے. اس کے بعد کیا ہے؟ [00:05:48] تو ہم کو حذف کرنا چاہتے ہیں جانتے ہیں قدر ن ہے کہ نوڈ. تو چلو کیس کہاں ملے دیں ہم اصل میں ہمارے نوڈ جائے. تو کس طرح میں چیک کریں کہ گے؟ میں نے صرف پوائنٹر ہے تو، اور پھر اگر کہونگا میں پوائنٹر کی قدر کے لئے چاہتے ہیں، میں نے ابھی ابھی، (ن) تیر کر (ن)، پیرامیٹر کے برابر ہے ہم نے اس تقریب کو دیا تھا، ہم اصل میں حذف کرنا چاہتے ہیں نوڈ. یہاں تک اپ کوئی سوال ہے؟ ٹھیک ہے. ٹھیک ہے، تو اب ہم ایک فوری تصویر اپنی طرف متوجہ بورڈ پر ترتیب میں اس کو دیکھ کرنے کی. [00:06:24] تو چلو ہمارے خوبصورت نوڈ نہیں ہے کہنے دو. اور یہ ایک قیمت ہے، میں نے صرف چار کہیں گے. اور یہ اگلے کی طرف اشارہ ہے ہمارے منسلک فہرست میں نوڈ. اور اس سے پہلے کچھ بھی نہیں ہے. تو ہم اپنے سابقہ ​​پڑے کچھ بھی نہیں اشارہ. اس صورت میں، ہم پیچھے کی طرف اشارہ کریں. ٹھیک ہے، بالکل اسی کے قیام میری یہاں منسلک فہرست. اور ہم نے اشارہ ہے کہ ایک فہرست ہے اس ڈھانچے کے ساتھ شروع کرنے کے لئے. میں نے کے لئے ایک اور طرف متوجہ کریں گے کاملیت کی خاطر. اوکے. میں نے اس کو آگے طرف اشارہ کریں گے. اور میں نے اس ایک واپس طرف اشارہ کریں گے. افوہ، افسوس. جی ہاں، پیچھے کی طرف یہ ملا. اسے دوبارہ کرتے ہیں. ٹھیک ہے، ہم وہاں چلتے ہیں. ٹھیک ہے، یہ مل گیا. ٹھیک ہے، یہاں ہماری تصویر ہے. [00:07:21] ٹھیک ہے، تو ہم دو صورتوں پر غور کرنا چاہتے. پہلی صورت ہے تو ہے نوڈ ہم کو خارج کرنا چاہتے ہیں ہماری فہرست کے آغاز میں ہے. اور اس کے بعد، دوسری صورت کہ ہم چاہتے ہیں یہ کہیں اور ہے پر غور کرنے کے لئے ہے. میں نے یہ ایک مکمل طور پر کہ سمجھ گندا میرے تمام صفائی کے ساتھ ڈرائنگ، لیکن امید ہے کہ ہم کرنے کی کوشش کریں گے کچھ کوڈ کے ساتھ اس کو صاف کر لیں. [00:07:40] ٹھیک ہے، تو کیس کا احاطہ جہاں ہم اپنے نوڈ تلاش اور یہ بہت کم ہے ہمارے منسلک فہرست کے آغاز. کسی نے مجھے ایک دے کرنے کے لئے کے طور پر یہاں تجویز کیا میں واقعی میں اپنے نوڈ کو دور کرنے کے لئے کیا کرنا چاہئے؟ یہ ایک چھوٹی سی مشکل ہے. ٹھیک ہے؟ [00:07:56] سامعین: آپ کو لے جانا ہے اس سے پہلے ہو جائے گا کہ نوڈ اور اس کے لئے نقطہ بنائیں اس کے بعد ہو جائے گا کہ ایک، اور نوڈ لے کہ اس کے بعد ہو اور بنا دے گا یہ اس سے پہلے نوڈ کی طرف اشارہ. HANNAH: بالکل. ٹھیک ہے، تو یہ معاملہ ہے where-- ہم دو مقدمات ہیں. ہم معاملے کو کہاں ہے ہم دیکھ رہے ہیں کہ نوڈ فہرست کے سامنے ہے. ٹھیک ہے، اور اس کے بعد کیس ہے کہ آپ بیان کیا حق، دوسری صورت میں ہے؟ اس فہرست میں کہیں اور ہے. تو تم نے کہا، ہم کرنے کی ضرورت گزشتہ نوڈ پر نظر ڈالیں، اور گزشتہ نوڈ بنانے اگلے نوڈ کی طرف اشارہ. تو ہم کر رہے ہیں پانچ باہر لے جانے کی کوشش کر رہے یہاں پر میرے بہت گندا ڈرائنگ میں. ہم اس بات کو یقینی بنانا چاہتے ہیں چار اب چھ کی طرف اشارہ ہے. چھ چار کے اگلے پوائنٹس. اور چار سے چھ کی گزشتہ پوائنٹس. کہ ہمارا مقصد حق، یہاں ہے؟ یہ میں نے آپ کے خیال میں کیا ہے بالکل اسی نے کہا کہ وہاں. [00:08:56] ٹھیک ہے، تو ہے کہ پہلا ٹکڑا حاصل کرتے ہیں. پاس چلو کرتے ہیں گزشتہ پوائنٹر پچھلے. تاکہ اگلے چار کی دلچسپیوں سے اشارہ کرنا چاہئے؟ بالکل ٹھیک، اس کیس، چھ میں. تو ہم نے اگلے، پوائنٹر کہنا چاہئے. ٹھیک ہے؟ ٹھیک ہے. تو اس بدسورت تصویر کے چھٹکارا حاصل ہے اور ایک قدرے اچھے ایک اپنی طرف متوجہ کرنے کی کوشش کریں. ہم یہاں ہماری فہرست سر ہے. اور یہ کہ سب سے پہلے نوڈ میں کی طرف اشارہ ہے ہم نے کہا جو ہمارے منسلک فہرست، چار ہے. یہاں ہماری دوسری نوڈ، پانچ ہے. اور ہمارے تیسرے نوڈ، چھ. بس بالکل وہی اپنی طرف متوجہ کرنے کی کوشش کر تصویر، صرف ایک چھوٹا سا زیادہ cleanly. ٹھیک ہے، تو چار کی اگلی اصل پانچ پوائنٹس. چھ پانچ کے اگلے پوائنٹس. پانچ چھ کی گزشتہ پوائنٹس. اور چار سے پانچ کی گزشتہ پوائنٹس. اتنا اچھا! ٹھنڈی، اوکے. [00:10:04] تو اب، ہم نے کیا کیا صرف یہاں، کوڈ کی اس لائن، جس میں گزشتہ پوائنٹر کا کہنا ہے کہ اگلے، تو اس کا کیا مطلب ہے؟ ہم دیکھ رہے ہیں تو اس کا مطلب ہے کہ پانچ، گزشتہ نوڈ کے لئے جانا، اور اب یہ اگلے چاہئے پانچ کے اگلے کی طرف اشارہ. تو بنیادی طور پر، یہ ہے کہ ایسا ہے کہ اس تیر کے نشان مٹانے رہا ہے، اور یہ درست پانچ پر پر بنانے. یہ واضح ہے؟ مجھے لگتا ہے کہ میں تھوڑا سا خاکہ ہو سکتا ہے. میں نے کچھ سر nods دیکھیں. یہ اچھی بات ہے. ٹھنڈی، اوکے. اب، اگلے قدم کیا ہے؟ [00:10:39] میں نے اگلے ری سیٹ کر دیا ہے. اب، جس میں دیگر کے تیر کے نشان میں کپڑے تبدیل کرنے کی ضرورت ہے؟ یہیں اس میں سے ایک. چھ کی گزشتہ. ہم نے چھ کی سابقہ ​​لئے نہیں کرنا چاہتے اب سے پانچ اشارہ کرنے کے لئے. ہم نے اسے چار اشارہ کرنا چاہتے ہیں. کہ تصویر عقل مندی ہے؟ تو اب ہم اصل پانچ باہر لے جا سکتے. تو یہ ٹکڑا حاصل کرتے ہیں. میں نے پہلے کیا کرنا چاہیے چھ کی گزشتہ چار ری سیٹ؟ وہاں کوئی خیال ہے؟ [00:11:14] سامعین: درمیان نوڈ آزاد شہوت انگیز null مقرر کرنے کی طرف سے ان؟ HANNAH: اتارنا. یقینی طور پر، ہمارے آخر مقصد ہے نوڈ آزاد ہونے جا رہا. تو ہم نے یہیں پر یہ کر سکتے ہیں. مفت پوائنٹر. بالکل. لیکن پھر بھی اس سے پہلے، چلو ہمارے مقصد صحیح صرف دو یہاں اگلے پوائنٹر قائم کرنے کے لئے ہے برابر سابقہ ​​پچھلے پوائنٹر. میں یہ شامل ہو رہی ہے جانتے ہیں. ٹھیک ہے، ٹھنڈی take-- دیں. ہر کسی کو اس کے نیچے دیے لائن دیکھ سکتے ہیں؟ یا پھر یہ چھوٹے سپر ہے؟ [00:11:50] ہم پھانسی سے پہلے تو یہاں اس لائن، ہم چاہتے ہیں اس بات کو یقینی بنانے کے لئے پوائنٹر اگلے خالی نہیں ہے. پوائنٹر اگلے ہے کیونکہ اگر خرابی کی شہوت انگیز null، کس قسم میں نے کرنے کی کوشش کریں جب میں ملے گا شہوت انگیز null پوائنٹر حوالہ؟ سامعین: seg غلطی. HANNAH: ایک seg غلطی، خوبصورت. اگر ایسا ہے تو ٹھیک ہے، کہ نہیں ہے شہوت انگیز null، تو پھر ہم بحال کر سکتے ہیں. اور ہم چار بار پھر چھ نقطہ ہے. اس مرحلے تک سوالات؟ جی ہاں؟ [00:12:17] سامعین: آپ کی پہلی میں بیان کرتا ہے، تم نے کیا تیر کی ہے کرنے کے لئے مطلب اگلے، یا [اشراوی]؟ HANNAH: میں پوائنٹر تیر ن مراد. تو بنیادی طور پر، میں نے ایسا کرنے کی کوشش کر رہا ہوں ، میں ہوں کہ موجودہ نوڈ کا کہنا ہے پر iterating، موجودہ نوڈ کہ میں نے پوائنٹر میں محفوظ کر رہا ہوں، میں دیکھ رہا ہوں. اور میں پوائنٹر میں جاننا چاہتا ہوں اس معاملے میں جو ن ہے قدر،. اور میں دیکھنا چاہتے ہیں، ہے میں دیکھ رہا ہوں نوڈ نوڈ کے لئے میں نے حذف کرنے کا ارادہ کر رہا ہوں؟ ہم یہاں ن پوائنٹر یہی وجہ ہے کہ. [00:12:47] سامعین: تو تیر کی جا رہی (ن)، آپ نے قیمت مقرر اور (ن) نامی ایک نوڈ میں سٹور؟ [00:12:55] HANNAH: تو یہ میں ہوں تو اس طرح ہے اس سے منسلک فہرست کے ذریعے جا اور پانچ کی طرف اشارہ. میں نے تو اس کے، کہ قیمت حاصل کرنے کے لئے چاہتے ہیں، تو میں، اس نمبر، 5 حاصل کرنا چاہتے ہیں میں پوائنٹر تیر ن کیا کرنا ہے. ٹھنڈی؟ جی ہاں. [00:13:07] سامعین: متغیر کے نام (ن) ہے؟ HANNAH: جی ہاں. ہم ایک واپس پلٹائیں اگر ایسا ہے تو سلائڈ، (ن) کا نام ہے کے اندر قدر کی ہمارے منسلک فہرست میں نوڈ. اور میں نے اسے تھوڑا حاصل کر سکتے ہیں جانتے سا مبہم بھی وجہ سے ہم بات یہ مطالبہ کر رہے ہیں ہم ن حذف کرنا چاہتے ہیں. تو ہے کہ وہ کہاں ہے ایک ہی لائن سے آتا ہے. جی ہاں؟ [00:13:27] سامعین: آپ کے پاس کیا ہے [اشراوی] وہ کام کس طرح؟ پوائنٹر [اشراوی]؟ [00:13:35] HANNAH: ضرور. آپ about-- جس لائن میں بات کر رہے ہیں؟ سامعین: آخری لائن [اشراوی]. [00:13:44] HANNAH: ضرور، اوکے. تو چلو تصویر میں بھی جائزہ لیں حکم کی اس کی وضاحت کرنے کی کوشش کرنا. میں نے کے لئے، معافی چاہتا ہوں کیمرے، سوال یہ تھا ہم پوائنٹر وضاحت کر سکتے ہیں اگلے پوائنٹر پچھلا تیر. ٹھیک ہے، تو ہم پانچ وقت کر رہے ہیں اور ہمارا مقصد پانچ کو خارج کرنے کے لئے ہے. تاکہ، اگلے پوائنٹر ان میں سے جو تین مراکز کہ ہمیں دے؟ یہ ٹھیک، چھٹے نوڈ کی طرف لاتا ہے؟ [00:14:10] ٹھیک ہے، تو اب ہم سے پوچھ رہے ہیں چھ کی سابقہ ​​لئے. ٹھیک ہے؟ اور ہم نے اس کے ری سیٹ کر رہے ہیں چار کے برابر ہو، جس میں پانچ کی سابقہ ​​ہونا ہوا. میں نے اس کے سپر، جانتے ہیں مشکل ٹریک رکھنے کے لئے. میں واقعی آپ کو تصویریں بنانے کی سفارش کرتے ہیں آپ کو اس طرح ایک سوال ملتا ہے تو. جی ہاں؟ [00:14:30] سامعین: وجہ یہ ہے کہ ہم ایک [اشراوی] نہیں ہے؟ [00:14:37] HANNAH: بالکل. سوال تھا تو، کیوں کروں ہم یہاں چیک کرنے کی ضرورت نہیں؟ یہی وجہ ہے کہ ہم اس کی جانچ پڑتال کرنے کی ضرورت نہیں ہے گزشتہ پوائنٹر شہوت انگیز null برابر نہیں ہے؟ ہم نے کی وجہ سے اور یہ بات ہے پہلے سے ہی باہر سے جدا کیس تو اس پوائنٹر بہت شروع میں. بہت اچھا سوال ہے. اس پر اور کچھ؟ ٹھنڈی، اوکے. تو چلو اس کو ختم کرتے ہیں. ہم پہنچ ہی گئے ہیں. [00:14:59] کیا اگر تو یہ سر پر ہے؟ کیا بجائے اگر پانچ کو خارج کرنے کی کوشش کر رہے، ہم اصل میں چار حذف کرنا چاہتے تھے؟ مجھے کیا کرنا پڑے گا؟ ٹھیک ہے، میں کیا کے میرے سر کو ری سیٹ کرنا چاہتے ہیں؟ اسے باہر چللاو؟ سامعین: یہ ایک کے بعد ایک. HANNAH: خوبصورت. ٹھیک ہے، تو ہم اشارہ کرتے ہوئے کیا جا کرنے کی فہرست چاہتے ہیں جو کچھ بھی ہمارے پوائنٹر اگلے نوڈ ہے. اچھا. اور صرف کاملیت کے لئے خاطر، ہم کریں گے ہماری فہرست طور پر جب تک کہ جانچ کرنا چاہتے ہیں جب تک ہمارے فہرست نہیں ہے کے طور پر، خالی نہیں ہے خالی، تو پھر ہم قائم کرنا چاہتے ہیں شہوت انگیز null ہمارے گزشتہ برابر. سوال یہ اب تک؟ ایک قدم دور from--؟ [00:15:53] سامعین: یہ اگر ہو گا فہرست شہوت انگیز null برابر نہیں ہے؟ [00:15:55] HANNAH: جی ہاں، آپ بالکل ٹھیک کہہ رہے ہو. مجھے بہت افسوس ہے. ہے فہرست شہوت انگیز null برابر نہیں ہے. بہت اچھے. تمام سکرین پر اس لانے کی کوشش کر. یہ قسم کے گرنے ہے. معذرت، لڑکوں. اور کم از آخری لیکن نہیں، تمام ہم واپسی ہے کیا کرنا ہے. اوکے. یہ ایک بہت بھرا ہوتا تھا واقعی بہت تیزی سے. اس پر دیکھو میں ایک سیکنڈ. اگر آپ کو کوئی سوال ہے تو مجھ سے کہو. جی ہاں؟ [00:16:20] سامعین: فہرست میں ہے تو سر، کوئی بات نہیں، انتظار then--. [00:16:26] HANNAH: ٹھیک ہے، اچھا. فہرست سر میں ہے اگر تو یہ ہے، ہم ڈالا جو بھی اسے ختم. جی ہاں؟ [00:16:31] سامعین: آپ کی وضاحت کر سکتا پھر سے بیان تو سب سے پہلے؟ ن پوائنٹر ن کے برابر ہے؟ HANNAH: ضرور. تو کیا یہ پوری تقریب کے ہمارا مقصد ہے قدر ن ہے کہ نوڈ کو حذف کرنا. اگر ایسا ہے تو ہم ہیں کے طور پر ہم، مل ہماری فہرست ذریعے iterating، قدر ن کے ساتھ نوڈ، کہ ہے ایک ہم حذف کرنا چاہتے ہیں. اتنا خارج کرنے کی سب ہوتا ہے کہ بڑے اگر بیان کے اندر. کہ سمجھ میں آتا ہے کرتا ہے؟ ٹھنڈا. جی ہاں؟ [00:16:59] سامعین: ہو سکتا ہے کہ آپ صرف دیکھ نہیں سکتے یہ، لیکن آپ کو بھی ایک لائن کی ضرورت نہیں ہے فہرست کے ذریعے طومار کر رہا ہے کے لئے؟ HANNAH: بہت اچھے. چلو تھوڑا سا اس کو لانے دو، اور ہم نیچے میں اس حق پھینک دونگا. ہو سکتا ہے کہ بورڈ کیا ہوگا ایک قدرے بہتر خیال کیا گیا. تو کس طرح میں آگے پوائنٹر منتقل کریں گے؟ [00:17:17] سامعین: اشارہ پوائنٹر کے علاوہ ایک کے برابر ہے. [00:17:20] HANNAH: خوبصورت. پس اس کے لئے ہمیں اجازت دیتا ہے سب iterating تک جاری رہے. اوکے. سامعین: وہاں ہے ورنہ نہیں ہو گا؟ HANNAH: ایک بار؟ سامعین: نہیں ہو گی اگر بڑی پرانی بعد ایک باقی بیان میں [اشراوی]؟ HANNAH: کون سا حصہ ہے؟ میں معافی چاہتا ہوں. [00:17:38] سامعین: traversal کی، وہاں ایک باقی نہیں ہونا چاہئے؟ HANNAH: تم بالکل ورنہ ہو سکتا ہے. میں نے ایک واپسی کا حق ہے کیونکہ وہاں، اگر آپ کو ایک کسی اور کی ضرورت نہیں ہے. لیکن ہاں، اچھا سوال ہے. جی ہاں، ٹھیک ہے؟ سامعین: ہم پوائنٹر کے بارے میں سوچ سکتا ہے اس فہرست کے ذریعے آگے بڑھ رہا ہے قدر پر لینے کے طور پر فہرست میں ہر نوڈ کا؟ یا ہم کے طور پر لگتا چاہئے فہرست خارجی کی طرح؟ [00:18:00] HANNAH: یا تو ایک ٹھیک ہے، مجھے لگتا ہے. میرے خیال میں یہ تصور بھی طریقہ ہے میں ٹھیک، میں پوائنٹر ہوں، کا کہنا ہے کہ. اور یہ میں ہوں. یہ میرا ہاتھ ہے. میں نے مختلف کی طرف اشارہ کرنے جا رہا ہوں میں کے ذریعے iterate کرنا چاہتے ہیں کہ چیزیں. سب سے پہلے، میں نے اشارہ کرنے جا رہا ہوں فہرست کے سربراہ. اور یہ کہ میں ہوں مجھ سے کہتا ہے چار اشارہ کرنے جا رہا. اور تو مجھ سے،، فہرست خارجی موجود میں ان عناصر میں سے ہر ایک کی طرف اشارہ کر سکتے ہیں. تو میں نے پوائنٹر کے طور پر اپنے آپ کے بارے میں سوچ. سامعین: تو آپ کو حذف کرتے وقت ان عناصر میں سے ایک، اگر آپ اس سے بات کرنے، اپنے آپ کو حذف. HANNAH: بالکل. لہذا اگر آپ ایک ہی چیز کو خارج آپ کی طرف اشارہ کر رہے ہیں. مثال میں تو ہے کہ ہم کہاں ہیں دیکھا پانچ کو خارج کرنے کی کوشش کر رہے، میں نے پانچ اشارہ کر رہا ہوں جب، مجھے حذف کرنا چاہتے ہیں بات میں نے کی طرف اشارہ کر رہا ہوں. بالکل صحیح. جی ہاں؟ سامعین: ہم کا خیال رکھا ہے ن فہرست میں نہیں ہے جہاں صورت؟ HANNAH: N فہرست میں نہیں ہے تو؟ کیا ہونے جا رہا ہے وہ سب آپ کر رہے ہیں ہے کے ذریعے اور iterate ہے iterate جا کے ذریعے، اور اس کے بعد، آپ جا رہے ہیں ہونے کی وجہ نل پوائنٹر کے لئے حاصل کرنے، اور اس کے بعد تم نے کیا کیا کرنے جا رہے ہیں. [00:18:48] سامعین: تو ہم کیا ضرورت ہے کچھ بھی واپس کرنے کے لئے؟ HANNAH: ہم کر سکتے تھے. جس طرح یہ وضاحت کی گئی ہے کہ اگر تقریب، میں نے صرف اسے واپس کہ کہتے ہیں قطع نظر کہ باطل. لیکن آپ یہاں کچھ بھی کر سکتے ایک عددی واپس لوٹنے کی طرح، اور اس کو واپس کر دیا ہے یہ ناکام ہو جاتا ہے تو 1 منفی. اس طرح کچھ. سوالوں کے ہاں with--؟ سامعین: [اشراوی]؟ HANNAH: معاف کیجئے گا؟ سامعین: [اشراوی]؟ HANNAH: ضرور. ہم نے تو ایک بار ہے کہ actual-- ہے منتقل کرنے کے کیا کیا یہ سب کام ان تمام تیروں کے ارد گرد، ہمارے پورے مقصد یہ نوڈ سے نجات حاصل کرنے کے لئے تھا کہ ہم دیکھ رہے ہیں. تو اس صورت میں، آزاد ہے پوائنٹر، میں نے پانچ طرف اشارہ کرتے ہوئے کر رہا ہوں، یہ اس درمیانی نوڈ مٹانے کی طرح ہے. کہ مفت پوائنٹر حصہ ہے. اس کا کوئی مطلب؟ [00:19:29] سامعین: تو بھی سوچا اگر آپ نہیں ہیں [اشراوی] کیا؟ [00:19:31] HANNAH: تو ہم نے شروع میں فرض کیا گیا ہم تھا کہ بعض فہرست تھی نے پہلے ہی وہ مل کر اس میں ڈال دیا تھا. لہذا اس کی تعمیر کے لئے آرڈر میں فہرست، وہ [اشراوی] ہوگی. ٹھنڈا. اس کے ساتھ اور کچھ؟ جی ہاں؟ [00:19:46] سامعین: اگر فہرست ہے تو شہوت انگیز null لائن کے برابر نہیں ہے؟ [اشراوی]؟ HANNAH: یہاں؟ سامعین: جی ہاں. HANNAH: ٹھیک ہے، سب کے سب میں کر رہا ہوں میں نے صرف اس بات کا یقین کر رہا ہوں کیا جاتا ہے کہ اگر میں ہے dereference درج کرنے کی کوشش کرنے سے پہلے، میں نے پچھلے تک رسائی حاصل کرنے کی کوشش کرنے سے پہلے، ایسا نہیں ہے کہ میں نے یقینی بنانا چاہتے ہیں شہوت انگیز null تو میں نے ایک seg غلطی نہیں ملتا. ٹھنڈا. [00:20:08] ٹھیک ہے، میں یہ کافی تھا معلوم ایک بہت کے ذریعے حاصل کرنے کے لئے. تاکہ اس سلائڈ ہو جائے گا آپ کے لئے دستیاب کر دیا. لہذا اگر آپ کو مزید تفصیل سے اس کے ذریعے جا سکتے ہیں. جی ہاں؟ [00:20:17] سامعین کیوں کرتا فہرست [اشراوی]؟ HANNAH: ضرور. اتنا فہرست واقعی کی طرف اشارہ ہے یہیں اس عنصر، فہرست میں پہلا عنصر. تو یہ ایک سابقہ ​​نہیں کر سکتے ہیں. جی ہاں؟ [00:20:31] سامعین: پوائنٹر نقطہ کرتا یاد میں ایک ہی پتہ کرنے کے لئے؟ یہ ایک ہی کی طرف اشارہ کرتا نوڈ کے طور پر یاد میں ایڈریس اس کی طرف اشارہ ہے کہ؟ [00:20:40] HANNAH: جی ہاں، یہ اشارہ یاد میں اس نوڈ. [00:20:43] سامعین: ٹھیک ہے، تو جب آپ [اشراوی]؟ [00:20:47] HANNAH: ایک لحاظ سے، ہاں. اوکے. ٹھیک ہے، چلو اس کے ساتھ ساتھ منتقل کرتے ہیں. اور آپ کو مزید سوال ہے تو، آخر میں کے ارد گرد رہنا، اور ہم پھر اس کے ذریعے جا سکتے ہیں. ٹھنڈی، اوکے. اب، ہم پر منتقل کرنے کے لئے حاصل میزیں، کوشش کرتا ہیش، اور درختوں، آپ سپر مل گیا جس P- سیٹ، پانچ ہجے کنندہ میں سے واقف. [00:21:04] تاکہ ہیش ٹیبل صرف ایک ہے اکیلے منسلک کی فہرست کے ساتھ صف یا دوگنا اس کا دور آ فہرست منسلک. تو ہم نے کسی قسم کا ہے ساہچری سرنی کی. اور ہم جانتے ہیں کہ کس طرح ان میں سے جو بالٹیاں میں حاصل کرنے کے arrays، ہم نے ایک ہیش تقریب کا استعمال کرتے ہیں. تو اس معاملے میں، یہ کر سکتے ہیں کسی کو کیا ہیش تقریب کا اندازہ لگانا کچھ کی بنیاد پر کیا جائے گا ان پٹ اور آؤٹ پٹ کے؟ [00:21:31] سامعین: حروف تہجی کے خط نمبر. HANNAH: بالکل. یہ صرف حروف تہجی کی ترتیب میں ان رکھتا ہے. ایک کے ساتھ شروع ہوتا ہے کہ سب کچھ ایک پہلی بالٹی میں ڈال دیا جاتا ہے. ایک بی کے ساتھ سب کچھ میں ڈال دیا ہے دوسری بالٹی، تو پر، اور تو آگے. بہت اچھے، ٹھیک ہے. اور ایک ہیش تقریب کسی بھی ہے ایک لفظ میں لیتا ہے کہ تقریب اور آپ کو بتائے گا کہ کیا اس میں تعلق رکھتا بالٹی. میں جس انٹری تو ہماری سرنی اس میں تعلق رکھتا ہے. [00:21:55] تو ہر وقت میں نے اپنے دے ہیش، ایک لفظ سے کام اس نے مجھے ایک ہی بتانا چاہئے ہر ایک وقت رکھ. ہم ہیش تقریب کا استعمال کرتے ہیں اگر ایسا ہے تو پچھلے سلائڈ سے ہم کہاں طرف چھںٹائی کر رہے ہیں حروف تہجی کا پہلا حرف، میں نے ہر بار میری ہیش تقریب "ایپل" یہ ہمیشہ 0 مجھے واپس دے دینا چاہئے. میں نے ایک سیب ہیں تو میری ہیش ٹیبل میں ڈال کرنے کے لئے، میں نے اپنے ہیش تقریب کے لئے "سیب" دے تو، یہ بالٹی 0 میں ڈال دیا جانا، کہنا چاہئے. میں نے ایک کے لئے تلاش کر رہا ہوں تو میری ہیش ٹیبل میں سیب اور میں جہاں قدرت سیب، کا کہنا ہے کہ لائیو، آپ اپنے ہیش تقریب سے دعا گو ہیں. اور یہ 0 بالٹی کے لئے جاؤ، کا کہنا ہے کہ. ٹھیک ہے؟ ہیش افعال کے ساتھ سوال؟ بہت اچھے. [00:22:34] یہاں ایک تھوڑا سا زیادہ ہے تفصیلی وضاحت ایک ہیش فنکشن طرح نظر کر سکتے ہیں کی. ٹھیک ہے. ہیش کے ساتھ اب مسئلہ افعال، ایک مثالی دنیا میں ہے ہم صرف ایک ہوگا ہر ایک بالٹی میں بات. لیکن حقیقت میں، وہاں ہے نہ صرف ایک لفظ کہ نہیں ہے اے کے ساتھ شروع ہوتا ہے بی تو ساتھ شروع ہوتا ہے کہ صرف ایک لفظ اس معاملے میں، ہم نے تو اس اچانک "، بیری" حاصل اور ہم نے اسے ڈال کرنا چاہتے ہیں ہمارے ہیش ٹیبل میں، اور ہم اوہ، نہیں، کیلا ہے، دیکھیں پہلے سے ہی وہاں، ہم کیا کرتے جا رہے ہیں؟ [00:23:03] ٹھیک ہے، ہم دو اختیارات ہیں. پہلا آپشن ہے لکیری، تحقیقات کر رہی ہے جس کے صرف تلاش جانے کا مطلب اگلے خالی بالٹی. اگلے خالی صف انٹری مل جانا. اور صرف وہاں "بیری" ڈال. تو میں نے اسے چاہیے جانتے ہیں بالٹی ایک میں کیلے کے ساتھ جانا. لیکن صرف، بالٹی تین میں ڈال دیا بالٹی کیونکہ تین خالی ہے. ایک اور آپشن شاید ہے آپ کو نافذ کیا آپ P- سیٹ، جہاں آپ میں علیحدہ chaining تھا. تاکہ آپ کی بالٹیاں میں سے ہر ایک، آپ کے صف عناصر میں سے ہر، نہ صرف ایک الفاظ کی ڈگری حاصل کی، لیکن اصل الفاظ کی ایک فہرست پر ایک پوائنٹر کی ڈگری حاصل کی. آپ نے اتنی کہ اگر آپ ہیش ٹیبل میں کیلے اور آپ کو اچانک چاہتا تھا بیری، کوئی مسئلہ نہیں ہے شامل کرنے کے لئے. بس ختم کرنے کے لئے، یا کرنے پر بیری کا اضافہ آغاز، آپ کے لنک کی فہرست کے. ٹھیک ہے، بہت اچھا. ہیش کے ساتھ سوالات میزیں ہم پر جانے سے پہلے؟ [00:23:58] ٹھیک ہے. درختوں اور کوشش کرتا ہے. ٹھیک ہے، تو یہ ایک اور آپشن تھا ڈکشنری لاگو کرنے کے لئے. آپ ایک کوشش بنا سکتا ہے. تو یہ درخت کی ایک خاص قسم ہے کہ ایک کثیر سطح ہیش کی میز کی طرح برتاؤ کرتی. لہذا آپ کو تصویر نظر آئے گا اگر آپ ایک صف ہے کہ جہاں arrays کے ایک گروپ کی طرف اشارہ ہے arrays کے ایک گروپ کو اس نقطہ arrays کے ایک گروپ کو اس نقطہ. اور ہم نے بالکل وہی جو ہے نظر آئے گا ایک مستقبل سلائڈ پر طرح نظر آئے گا. اور عام طور پر، ایک درخت صرف کسی آنکڑا ڈھانچہ ہے جس میں اعداد و شمار ہے کچھ تنظیمی ڈھانچے میں منظم کیا. تو ہم نے ہمارے پاس کہاں دیکھا افہام و تفہیم کی کسی قسم ایک اعلی سطح کے، ایک اگلے درجے، ایک اگلے درجے، ایک اگلے درجے. تو شاید یہ سب سے زیادہ واضح ہے کچھ مخصوص مثالوں کے ساتھ. تو یہاں ہمارے درخت ہے. آپ اسے دیکھ سکتے ہیں کہ خاص سطح ہے ہم کہ جڑ نوڈ، ایک کے ساتھ شروع ہے کہ. اور ہم اپنے درخت کے ذریعے نیچے جا سکتے ہیں. [00:24:50] ایک بائنری درخت ہے ایک درخت کی خاص قسم. اور صرف تصریح ایک بائنری درخت کے لئے ہر نوڈ ہے کہ ہے سب سے زیادہ دو پتے میں. تو اگر آپ کو کسی بھی دیکھنے کے لئے نہیں جا رہے ہیں ان مراکز تین یا چار ہے کے یا پتیوں میں سے کچھ دوسرے نمبر کی. اور پھر اس سے بھی زیادہ مخصوص ایک بائنری تلاش درخت ہے جہاں کے بائیں ہر نوڈ نوڈ ایک قدر چھوٹا کر جا رہا ہے. اور کے لئے ہر قدر حق بڑا ہونے جا رہا ہے. آپ کو 44 سے ہماری جڑ ہے دیکھ تو، بائیں، 11، 22، اور 33 کو ہماری جڑ کے مقابلے میں تمام کم ہیں. اور حق پر ہیں نمبرز 66، 55، اور 77. میں بڑا. اور اس کی خاصیت کے سچ رکھتا درخت کی ہر سطح پر. [00:25:37] ہم نیچے جاؤ تو جب اب بھی 22، 11، اور 33، 11 ہے چھوٹے کے مقابلے میں 22 اور 33 سے 22 سے بھی بڑا ہے. اور یہ آسان تلاش کرنے کے لئے بناتا ہے ہم ایک بڑی تعداد کے لئے تلاش کر رہے ہیں کیونکہ، ہمیں پتہ ہے جس شاخ پر عمل کرنے کی. تو یہ ہے کہ آپ کو ایک یاد دہانی کروانی چاہیئے بائنری تلاش کے تھوڑا سا. جی ہاں؟ [00:25:56] سامعین: تو اگر ہو جب بائنری بیان کرنے، آپ نے اسے سب سے زیادہ دو پتے میں نے کہا کہ؟ HANNAH: ملی میٹر-HM. سامعین: یہ کم ہے کر سکتے ہیں؟ HANNAH: جی ہاں. تو کیا تم، مثال کے طور پر، ہم کہتے ہیں، چیزوں کی بھی تعداد کی ضرورت نہیں تھی اور آپ کو بھرنے نہیں کر سکتے تھے اپنے تمام ایک کے وجود رکھتا ہو پتیوں، یہ ٹھیک ہے. ٹھیک ہے؟ بہت اچھے. درختوں پر کوئی سوال؟ اوکے. [00:26:16] واپس ہماری کوشش کرتا ہے سے بات کر رہا تھا کے طور پر تھوڑا سا پہلے کے بارے میں، ہم کس طرح ان کثیر سطح arrays کر. تو اس صورت میں، ہم نے سب سے اوپر شروع. اور ہم وہ سب کسی دیئے گئے لفظ کو فالو کر سکتا. تو چلو ہم چاہتے تھے کہنے دو ٹیورنگ کے لئے نظر کرنا. ہم T میں شروع، اس کو نیچے کی پیروی یو پر مشتمل ہے کہ ایک صف کی، اور ہم جب تک یہ نیچے کی پیروی اس چھوٹے ڈیلٹا تک پہنچنے کے جو ہمیں، ہاں، آپ کو ایک لفظ پایا بتاتا ہے. کوشش کرتا ہے پر واضح؟ کچھ بھی وہاں جانے کے لئے؟ جی ہاں؟ سامعین: ڈیلٹا کی علامت کرتا ہے کے اندر اندر جگہ پر قبضہ کرنے کے لئے ہے؟ HANNAH: جی ہاں، تو ایسا نہیں ہوتا لازمی طور پر بھی ایک ڈیلٹا رہنے کی ضرورت ہے. لیکن ہم کسی طرح کرنے کی ضرورت ہے ہمارے کمپیوٹر افسوس بتا دے، تاکہ ہم TUR ایک لفظ نہیں ہے. کیونکہ دو چلو ہم نہیں تھا کا کہنا ہے کہ ایک ڈیلٹا کے اس تصور، اس تصور مبارک باد کے، آپ کو ایک لفظ پایا، یہ، ٹی یو آر ذریعے جاؤ اور iterate ہوتا ہے اور پھر میں نے یہ محسوس کیا،، خوفناک کہنا ہے کہ! یہ ایک لفظ ہونا ضروری ہے. لیکن یہ واقعی میں نہیں ہے. ہم پوری ٹیورنگ ایک لفظ بننا چاہتا ہوں. تو ہم کم کچھ ہونا ضروری کہتے ہیں کہ آخر، مبارک ہو، آپ کو ایک جائز لفظ مل گیا ہے. سامعین: آپ کی طرح تھا تو اگر حروف تہجی میں 26 حروف، آپ اصل میں ہوگا آپ کی کوشش میں 27 چابیاں کا؟ [00:27:24] HANNAH: بہت اچھے، جی ہاں. تو اصل میں، مجھے لگتا ہے کہ اگلی سلائڈ پر ہو جائے گا. ٹا دا! آپ ایک چیز ہے تو کہاں آپ کی کوشش میں نوڈ، تم ہو بجائے 26 کے 27 بچے ہیں کے لئے جا. اس کے ساتھ کوئی سوال ہے؟ جی ہاں؟ سامعین کیوں کوشش کرتا ہے تاکہ لینے کرتے ہیں زیادہ سے زیادہ جگہ [اشراوی] کے طور پر آپ کو جانا؟ ایسا کیوں ہے کہ [اشراوی] سمجھا جاتا ہے؟ HANNAH: ضرور. چلو واپس چلتے ہیں. سوال، کیوں ہے کوشش کرتا ہے تاکہ بہت بڑے ہیں ایک ہیش میز ایسا کچھ سے. ان کی سطح میں سے ہر ایک کے لئے اتنا، بھی، وہ یہاں سے تیار نہیں کر رہے ہیں آپ تمام 26 حروف ہوتے ہیں کے لئے ہے. وجہ اور کہ تم نہیں کر سکتے میں، ٹیورنگ لئے اوہ، کہتے ہیں، لیکن جیسے ان میں سے کسی کی ضرورت کی ضرورت نہیں ہے U. ویسے کی سطح پر وہی چیزیں، اچانک اگر آپ شامل کرنا چاہتے تھے ٹی ایچ طرح تھا کہ کچھ، آپ کے پاس کرنے کی ضرورت چاہتے ہیں اس لفظ کو شامل کرنے کے کی صلاحیت. ہر ایک خط کے لئے تاکہ، آپ کے پاس کرنے جا رہے ہیں کا ایک گروپ ہے کرنا اس کا دور آنے arrays کے. لہذا آپ اسے ملے گا کہ کس طرح دیکھ سکتے ہیں واقعی بڑا، بہت تیزی سے. کوئی سوال؟ ٹھیک ہے. جی ہاں؟ [00:28:29] سامعین: جب کوشش کرتا ہو ہیش میزیں مقابلے میں تیزی سے؟ [00:28:33] HANNAH: جب کوشش کرتا ہو ہیش میزیں مقابلے میں تیزی سے؟ اگر ایسا ہے تو آپ کو ایک بہت تھا برا ہیش تقریب. تو چلو میں طرح تھا کہنے دو، یہاں آپ ہیش تقریب ہے. کوئی بات نہیں جو لفظ تم مجھے دے، میں نے ہمیشہ ہوں سرنی انٹری 0 میں ڈال کرنے کے لئے جا. اور اس طرح ہم نے صرف ڈالنے کے ساتھ ختم ایک بڑا طویل منسلک فہرست میں سب کچھ. اور تو ایک نظر دوڑائیں وقت میں سب سے برا لگ جائیں گے (ن) یہ ہماری فہرست کے آخر میں ہے تو. کوشش کے ساتھ، ہم صرف iterate کرنا پڑے لفظ میں خطوط کے ذریعے. ہم ایک گروپ شامل تو بھی اگر ہماری کوشش کریں زیادہ الفاظ، یہ کسی بھی وجہ سے ہم سے نہیں لے گا ایک خاص لفظ کو تلاش کرنے کے. [00:29:09] ہمیں کیا کرنا ہے تمام کے لئے، ہے مثال، اس معاملے میں، چلو ہم زوم کے لئے تلاش کر رہے ہیں کہنے دو، ہم صرف iterate کرنا پڑے گا Z-اے-اے-M، چار حروف. تو وہ صرف لفظ زوم کی لمبائی. یہ کس طرح بہت سے فرق نہیں پڑتا زیادہ الفاظ ہم اس کوشش میں ڈال دیا. ہم نے ہمیشہ حاصل کر سکتے ہیں ان چار مراحل میں. بہت اچھے. جی ہاں؟ [00:29:32] سامعین: تو [اشراوی] حق، ایک صف ہے؟ [00:29:34] HANNAH: ملی میٹر-HM. سامعین: آپ ہیں تو [اشراوی] کے لئے تلاش کر، آپ کے ذریعے جانا پڑے گا آپ کے صف [اشراوی] کو تلاش کرنے کے لئے؟ HANNAH: ضرور. سامعین: کہ زیادہ وقت نہیں لگتا؟ HANNAH: میں جا رہا ہوں تو اپنے صف ہمیشہ سے ہے کا کہنا ہے کہ اے، بی، سی، ڈی ہونے جا رہا، E، F، G، بلاہ بلاہ بلاہ، میں نے ہمیشہ جانتے ہیں اگر ایسا ہے تو یہ بات ہے ایک ہی عین مطابق ترتیب میں، میں نے ہمیشہ جانتے ہیں کہ اگر یہ بات ہے الفبائی ترتیب میں، میں نے صرف اے نمبر ہے کہہ سکتے ہیں فلاں حروف تہجی میں. بس اس جگہ پر کود. کے ساتھ، یاد ہے کیونکہ arrays کے، ہم تک رسائی حاصل کر سکتے ہیں مسلسل میں اس صف کے کسی بھی عنصر ہم دیکھ رہے ہیں جہاں ہم جانتے ہیں کہ اگر وقت. جی ہاں؟ [00:30:09] سامعین: پچھلے پر ، [اشراوی] 27 سلائڈ لیکن سب سے پہلے ایک کے لئے 26. [00:30:14] HANNAH: معاف کیجئے گا؟ [00:30:15] سامعین: پہلا نہیں ہے ایک 0، تو یہ 26 نہیں ہو گی؟ [00:30:18] HANNAH: ہم 27 کا کہنا ہے کہ جب اس بات کا یقین ہے، تو، کہ ہے ہمیں 26 کے ذریعے 0 سوچکانکوں دینے جا رہا. لیکن اگر آپ واقعی شمار ان لوگوں کو باہر، یہ 27 ہو رہا ہے. اچھا سوال ہے. اور کچھ؟ جی ہاں؟ [00:30:31] سامعین: تو کوشش کرتا ہو ہیش میزیں کے مقابلے میں سست؟ [00:30:34] HANNAH: کوشش کرتا ہے میں، ہونے جا رہے ہیں نظریہ، کے مقابلے میں تیزی ہیش میزیں لیکن زیادہ میموری لے. جی ہاں؟ سامعین: [اشراوی]؟ [00:30:45] HANNAH: معافی چاہتا ہوں کہ میں، میں نے تم سے نہیں سنا. سامعین: [اشراوی]. 25 0 آپ 26 دیتا ہے. [00:30:54] HANNAH: 0 سے 25 کروگی ٹھیک ہے، آپ 26 کو دے. [00:30:56] سامعین: اور پھر [اشراوی]. HANNAH: صحیح. تاکہ ہم وضاحت کر رہے ہیں نمبر ہے ہمارے صف میں چیزوں کی تعداد. ہم 27 اگر ایسا ہے تو، یہ ہے ہمیں دینے کے لئے جا 0 26 کے ذریعے، جس میں دے گا اس معاملے میں کے لئے ہم سے کمرے،، میں نے ایک apostrophe بھی شامل نہیں ہوں. تو ہم نے 25 کے ذریعے 0 ہو ہو رہے ہیں حروف تہجی کا پہلا 26 حروف، حروف تہجی کے یا تمام 26 حروف. اور پھر اس آخری بات یہ ہے، انٹری 26 میں، ہے چیک کی ہونے جا رہا نشان، یا ڈیلٹا. اور کچھ؟ بہت اچھے. اپنے خلائی جہاز کو کھو دیا. ٹھنڈی، اوکے. [00:31:31] تو ہم نے پہلے سے ہی اس پر چھوا. لیکن بڑے تجارتی بند کوشش کرتا ہے اور ہیش ٹیبل کے درمیان کوشش کرتا ہے میں، فراہم کرتے ہیں یہ ہے کہ نظریہ، مسلسل اوپر دیکھو اوقات لیکن میموری کی ایک پوری بہت استعمال کرتے ہیں. ٹھیک ہے، اب ہم تھوڑا سا ہے کم پیچیدہ ڈھانچے، اور ہم سی کے ساتھ کیا کیا جائے گا، اور ہم نے حق کے ساتھ منتقل کریں گے. [00:31:49] پوٹ لہذا، ہم نے یہ دیکھا جہاں درس میں آپ ایک طرح کچھ ہے ٹرے جہاں کے اسٹیک آپ کو ڈال آخری بات اسٹیک ہو رہا ہے آپ کو لینے کے سب سے پہلے بات ہو. تاکہ واقعی ایک اسٹیک کی وضاحت کرتا ہے کیا ہے آخری چیز جو آپ پر ڈال دیا ہے کہ سب سے پہلے ہونے جا رہا ہے ایک چیز آپ سے دور لے. اور ہم استعمال کرتے ہیں کہ اصطلاحات اگر ہم کچھ ڈال کر جا رہے ہیں، ہم میں کچھ اضافہ کرنے جا رہے ہیں ہمارے اسٹیک، ہم زور دے کہ میں فون. اور ہم کچھ لے اگر بند، ہم پوپ آؤٹ کہتے ہیں. اور ہم جا رہے ہیں ، ہم ایک اسٹیک کو لاگو ٹریک رکھنے کے لئے اس بات کا یقین کرنے کی ضرورت ہے سائز اور صلاحیت دونوں. عناصر کی کل تعداد ہم کر سکتے ہیں تاکہ پکڑ اور عناصر کی موجودہ تعداد کہ ہم پر فائز ہیں. [00:32:27] اور بہت اسی طرح ہم قطار ہے. اور فرق صرف ، بجائے stacks کے ساتھ کی ہے ہم نے کہا کہ ہم پر ڈال آخری بات ہم لے پہلی چیز ہے. تاکہ قطار کے ساتھ، ہم میں ڈال دیا ہے پہلی بات ہونے جا رہا ہے پہلی بات ہم باہر لے. تو یہ آپ ہیں تو طرح ہے اصل میں ایک سٹور میں استر اور آپ کو مدد کی جا رہے ہیں، لائن میں اس وقت سب سے پہلے شخص مدد کی جائے سب سے پہلے شخص ہونا چاہئے. تو یہ ایک قطار ہو گی. [00:32:52] تو اگر ہم کا ٹریک رکھنے کے لئے کی ضرورت ہے سائز، صلاحیت، اور سر ہم ہیں کے بعد سے سامنے سے دور ہر کسی کو لے جا رہا اس کی بجائے پیچھے کی فہرست میں. اس پر سوال؟ آپ کو پریشان کر رہے ہیں کسی بھی C سوال؟ ڈیٹا ڈھانچے، مزہ چیزیں میں سے کسی کو؟ ٹھیک ہے، ڈاؤن لوڈ، اتارنا. تو میں نے ایلیسن کرنے کو اس کے حوالے کر دیں گے کچھ اور پروگرامنگ میں کود. [00:33:14] ALISON: اوہ، ہم دیکھیں گے. ہم میں یہاں کیا کتنی اچھی طرح دیکھ لیں گے. ٹھیک ہے، میں کوشش کرتے ہیں اور پرواز کرنے جا رہا ہوں اس چیز کے ذریعے، لوگ. ہننا میں بہت چلی گئی اس کی ساری چیزوں پر گہرائی. مجھے دینے کی کوشش کی جا رہی ہوں آپ کو ایک فوری دھماکے کے جائزہ ہم سب کے ساتھ Davin کرنے کے لئے حاصل کر سکتے ہیں تاکہ مزہ جاوا اسکرپٹ اور سیکورٹی چیزیں کہ شاید آپ اصل کے بارے میں مزید سننا چاہتے ہیں. [00:33:33] اوکے، حنا نے کہا کہ، اگر اگر آپ کو کوئی سوالات ہیں، میں نے بہت تیزی سے جا رہا ہوں،، براہ مہربانی مجھے بتاو. میں ضرورت کے سوالات کا جواب دے گا. شروع کرنے کے لئے، تاکہ، ہم کے ساتھ شروع کرنے کے لئے جا رہے ہیں بہت پہلے چیزوں میں سے شاید ایک آپ کو ویب کے ساتھ سیکھا پروگرامنگ، اجازتوں. تاکہ CHMOD، تم لوگوں کو ہونا چاہیے تمام ویب ساتھ اس پر آقاؤں آپ نے کہ پروگرامنگ حال ہی میں کر دیا گیا. یہ بنیادی طور پر صرف ایک کمانڈ ہے وہ اجازتیں تبدیل کرتا یا رسائی اجازتیں ہماری فائل سسٹم اشیاء کی. کورس کے، کہ اصل میں اگر آپ نہیں ہیں تو، ان دیکھیں ان کے ساتھ کسی بھی پریشانی ہو آپ کا مسئلہ سیٹ کے دوران، آپ، طویل ہے جس میں LS L- کے، استعمال کیا جاتا ہے ہو سکتا ہے اس طرح کے قول طرح حاصل کرنے کے لئے، آپ نے واقعی سب کو دیکھنے کہاں ایک فائل کے لئے اجازت. [00:34:16] اور واقعی، ہم صرف جا رہے ہیں بہت تیزی سے گزر صرف خوبصورت زیادہ سے زیادہ ان میں سے ہر ایک کا کیا مطلب ہے. تو ہم نے، یہیں د ہے جس کے بس ڈائریکٹری کے لئے کھڑا ہے. ظاہر ہے یہیں، ہم، rwx دیکھ جس پڑھنے کے قابل، سے writeable، اور کارکردگی ہے. یہ بھی بٹس کے طور پر ظاہر کیا جا سکتا ہے، جو ہم اگلے صفحے پر میں مل جائے گا. ہم نے دیکھا کہ تو ہر triad کے یہاں، تو یہ تین تینوں ہے. ہم، ر کچھ نہیں X اور ر rwx کیا ہے کچھ بھی نہیں اس سب سے پہلے فائل کے لئے X. یہ اس عام ساخت ہے. [00:34:49] تو ہم نے کچھ ڈائریکٹری ہے. ہم نے کچھ صارف گروپ ہے ان کی اجازت کے ساتھ. ان کی اجازت ہے کہ کچھ گروپ، اور ایک دنیا کو ایک اجازت ہے کہ. آپ کو ایک triad کے طور پر ان کے بارے میں سوچ کر سکتے ہیں. آپ کو تین بٹس کے طور پر ان کے بارے میں سوچ کر سکتے ہیں. تاکہ وہ اقدار رکھ سکتا کہیں بھی 0 سے اوپر 7 سے، جس میں کبھی کبھی یہی وجہ ہے ہم آپ کو CHMOD کرتے دیکھا گیا اس کی بجائے جو کچھ بھی RW CHMOD 600. ہم وہاں ایک مثال میں مل جائے گا. لیکن بنیادی طور پر، آپ کو لگتا ہے کر سکتے ہیں بالکل اسی rwx یا تو کے طور پر ان کی، یا آپ کو کچھ کے طور پر ان کے بارے میں سوچ کر سکتے ہیں تعداد میں جہاں یہ پہلا ایک درمیان ایک بڑی تعداد کی نمائندگی کرتا ہے 0 اور 7، یہ دوسری درمیان ایک بڑی تعداد کی نمائندگی کرتا ہے 0 اور 7، اور تیسری ایک ٹھیک ہے، 0 اور 7 کے درمیان ایک بڑی تعداد کی نمائندگی کرتا ہے؟ [00:35:38] ر 4. کی قدر W ہے ایک 2 کی قدر، اور ایکس ہے یہی وجہ ہے جس کے 1 کی قیمت، ہے یہاں اجازت 700 سے chmod کیا جائے گا. یہاں اس صورت میں، یہ ہے کہ ہم کہتے ہیں کیونکہ سب سے پہلے تھوڑا سا پر بس الٹ جاتا ہے کیا ہے. تو ہم نے پڑھنے کے لئے 4. دوسری سا پر بس الٹ جاتا ہے اب ہم 6 پڑے تو، جو 2 ہے، ڈبلیو. اور تیسری بٹ پر بس الٹ جاتا ہے 1 ہے جس میں ایکس، کے لئے، اس طرح ہم نے سات ملے. اور ظاہر کی، ہمارے گروپ اور ہماری دنیا سے ہر ایک 0 ہیں. تو کیا یہ بھی ہے CHMOD 700 کے برابر. اور میں ضرور کی کوشش کریں گے ان لوگوں کے درمیان تعریفیں سمجھتے ہیں. یہ ہے تو مجھے یقین نہیں ہوں پہلے ایک گئے تمام سوالات پر آنے، لیکن یہ ایک ہو گی کیا میں پوچھ سکتا ہے اس سوال. [00:36:18] صرف تھوڑا سا بھی جا مزید یہاں CHMOD، یہاں میں بہت عام ہے ایک CHMOD کال کی ساخت. تو میں کورس کے، ہم یہاں سے chmod کر دیا ہے. یہ وہ جگہ ہے سے مراد، جو حوالہ جات، جو ہم پر ان کی اجازت دے رہے ہیں یا جو ہم ان سے لے رہے ہیں دور سے اجازتیں. تو ہم یہاں ایک اجازتیں میں ہے، کی طرح ہم آپ کو ایک پلس X سے chmod دیا ہے، ہم جلد ہی دیکھیں گے کے طور پر. ایک صرف ان مخصوص دینے کا مطلب ہے کہ ہر کسی کو اجازت. تمام کو دے. تو آپ کو بہت اچھی طرح سے یو پلس X ہو سکتا ہے یا جی پلس X یا O پلس X یا ایک سے زیادہ اس کے. پہلا حصہ ہمیشہ ہے تاکہ ریفرنسز ہونے جا رہا. ہم کون، کو ان کی اجازت دے رہے ہیں یا جو ہم دور سے ان کو لے جا رہے ہیں؟ [00:37:03] دوسری ایک آپریٹر ہے. تو تم لوگ جن میں زیادہ تر پلس کے ساتھ نمٹا ہے. یہ کرنے کی اجازت دیتا ہے جو شخص تم انہیں دے رہے ہیں، مائنس جبکہ، منطقی طور پر، ان کو ہٹاتا ہے. وہاں تو کچھ بھی نہیں خوفناک بھی. اور پھر طریقوں سے ہم کے بارے میں بات کیا ہے ، پڑھ، لکھ، یا عمل کر کے ساتھ. تو ایک پلس X ایکزیکیوٹیبل دینے کا مطلب ہے کہ ہر کسی کو اجازت. اور پھر، کورس کی، جس پر مخصوص فائل یا ڈائریکٹری. ٹھیک ہے؟ CHMOD ساتھ سب اچھا ہے؟ بھی برا نہیں؟ [00:37:37] اوکے، تم میں سے کوئی ہو، HTML تو پرانے کافی مااسپیس عمر to--؟ میں نے اپنے حصے کے ساتھ یہ بھیجا اور لفظی آدھے لوگ میں پاگل تھا جیسے میری طرف دیکھا. اور میں، لوگ، جیسا تھا ہم اس بوڑھے نہیں ہیں. چلو. تاکہ ہایپر ٹیکسٹ مارکاپ زبان، یہ ایمانداری سے آپ کے لئے صرف ایک طریقہ ہے ویب پر کچھ چیزیں ظاہر کرنے کے لئے. تو یہ ایک مارکاپ زبان ہے. یہ ایک سکرپٹ کی زبان نہیں ہے. اس میں کوئی منطق نہیں ہے. اسے تبدیل کرنا صرف یہ ہے جس طرح سے کچھ دکھایا جاتا ہے. ٹھیک ہے، تو ہے کہ ایک اہم بات ہے فرق کرنے کے لئے. یہ ایک مارکاپ زبان سمجھا جاتا ہے، نہیں ایک سکرپٹ کی زبان. [00:38:12] تو یہاں ہم اپنے HTML ٹیگ ہے. اس سلائڈ پر شاید سب سے زیادہ ہیں آپ سے واقف ہونا چاہئے کہ لوگ اور ساتھ واقعی آرام دہ ہو. تو ظاہر ہے، ہمارے پاس ہے ہمارے HTML ٹیگ، جس میں کہ ہر چیز میں نامزد کے درمیان ان دونوں HTML ہو جائے گا. ہم نے کچھ لنک، ہے جس ظاہر ہے آپ کو دے گا ایک بیرونی ویب کے صفحے پر ایک لنک. کچھ عنوان، یہاں ہمارے سر کے اندر اندر. اور ہم کے ساتھ ہمارے جسم ہے ایک ہیڈر ہے جس H1،، تو یہ اسے اچھا بنا دیں گے اور جرات مندانہ اور بڑے. اور پھر، ہم کچھ ہے ایک پیراگراف ہے جو پی،. آپ کو شاید معلوم ہونا چاہیے اور چیزوں سے واقف ہونا آپ کو ایک تصویر داخل ہیں کہ کس طرح، طرح وہاں کسی بھی دوسرے ہیڈر کلاس؟ میں ضرور ہو گی div کے ساتھ آرام دہ. تاکہ ان ٹیگ کی اکثریت ہے آپ سے واقف ہونا چاہئے کہ. لیکن کورس کے، میں ہر چیز کے ساتھ کے طور پر سی ایس 50، فہرست جامع نہیں ہے. تو آپ کو اس پر برش یقینی بنائیں. [00:39:08] سی ایس ایس، لہذا سی ایس ایس، تم میں سے کسی کو دیکھتے ہیں تو اس دو ہفتے پہلے کی طرف سے اپنے سیمینار، واقعی صرف ایک طریقہ ہے آپ کے ویب صفحے سٹائل کے لئے؟ ٹھیک ہے، تو ہم نے کچھ مارکاپ زبان ہے. صرف متن کا خیال رکھتا ہے کہ HTML، اور اس صفحے پر کہاں ہو سکتا ہے. لیکن سی ایس ایس یہ بہت بناتا ہے کیا واقعی ہے. کیا آپ اپنے HTML میں ان ہو سکتے فائلوں، لیکن ہم بعد میں بات کریں گے کے طور پر، میں نے یہ شاید یقین یہ، اگلی سلائڈ ہونا رواج عام ہے، اور اصل میں ہم واقعی حوصلہ افزائی کرتے ہیں کہ عملی طور پر، آپ کو رکھنے کے لئے ان سے الگ جب ہم MVC اور یہ کہ پورے پیرا میٹر کے بارے میں بات. کہ اس میں فیڈ کیا واقعی ہے. [00:39:42] لہذا سی ایس ایس کرنے کے لئے صرف ایک طریقہ ہے چیزوں کی نظر خوبصورت بنانے. یہاں چیزوں، جیسے جسم اور # عنوان چھوڑ دیا اور .info، ان سلیکٹرز اور کیا کہا جاتا ہے وہ مخصوص چیزوں کو منتخب کر رہا ہے آپ کے HTML فائل کے اندر اندر اور جو کچھ بھی سٹائل کا اطلاق، جو کچھ بھی آپ چاہتے ہیں کہ چیزوں کی طرح ہے، آپ کی ویب کی اس مخصوص عنصر کے صفحہ. تو یہاں ہم ایک ہیں پس منظر کا رنگ اور ایک رنگ اور ایک فونٹ خاندان بن رہا ہے کہ جسم میں جو کچھ بھی کرنے کے لئے درخواست. ہم یہاں واپس دیکھا تو، یہ عنوان پر لاگو نہیں ہو گی. یہ صرف کیا ہے کے لاگو ہوں گے ان کے جسم سلیکٹرز میں، ٹھیک ہے؟ [00:40:22] یہاں عنوان کے ساتھ، یہ وہ جگہ ہے اسی بات کے لئے جا، متن کا رنگ نیلے صرف کی جا رہی ہے کیا جا رہا ہے اندر کیا ہے کے متاثر کرنے کے لئے عنوان سلیکٹرز. کے ساتھ ساتھ یہاں کی معلومات کے طور پر، ٹیکسٹ، گلابی ہو جائے گا یہیں پر ہے جو جو بھی ہیں info،. صرف ایک ہی چیز ہے تا کہ اس صفحے پر گلابی ہو جائے گی تاریخ، پیر، 17 نومبر، 2014 ہے. ٹھیک ہے، تو سی ایس ایس کرنے کے لئے صرف ایک طریقہ ہے ہاں پھر سے زیادہ کنٹرول ہے؟ [00:40:48] شائقین کو کیوں ہے عنوان کے ساتھ ہیش استعمال کریں؟ [00:40:51] HANNAH: اگلا سلائڈ، وعدہ کرتا ہوں! ہم وہاں مل جائے گا. ہم ہیش کا استعمال کرنا پڑے تو یہی وجہ ہے یہ ہے. تاکہ سلیکٹرز تین اہم پر لینے کے ہم کے بارے میں تم لوگوں سے بات ہے کہ فارم. اگر میں مزید جاننے کے لئے چاہتے fyou، وہاں بہت سارے ہے. عظیم سی ایس ایس دستاویزات ہے. ایسا کرنے کے لئے ہے جس میں ایک ٹیگ کا نام نہیں ہے، HTML میں صرف آپ کا معمول ٹیگ کے ساتھ. H1، P، div کی، H2 تا، چیزوں کے ان قسم کے. اور ہم نے صرف یہ ہے کے طور پر ان نام کر سکتے ہیں. ہم یہاں سے دیکھیں تو کے طور پر جسم، یہ ایک عام ٹیگ ہے. تو جب ہم صرف جسم ڈال کر سکتے ہیں ہم اپنی سی ایس ایس فائل میں بات کر رہے ہیں. [00:41:26] عنوان، پورے وجہ سے ہم اس ہیش ہے ہے ہم نے کیا ہے ہے ایک شناختی سمجھا. تاکہ ایک شناختی ہمیشہ ہونا چاہئے اپنے HTML صفحے میں ہی منفرد تم ہو جب کہ اتنی اس کا حوالہ، آپ آپ کو صرف حوالہ دے رہے ہیں جانتے ہیں کہ کسی ایک مخصوص چیز کے لئے. کے ساتھ، اس صورت میں یہاں تو ہماری یہاں H1، CS 50 جائزہ لینے کے سیشن، ہم عنوان کے ایک شناختی پڑے. صرف یہ ہے کہ کی طرف رجوع کرنے کے لئے یہ ہمارے HTML کا ٹکڑا، ہم نے ایک ہیش عنوان کرتے. کنونشن کی طرف سے، آئی ڈیز نامزد کر رہے ہیں ان کے سامنے ایک ہیش سے. اسی طرح میں، ہم دیکھیں یہاں معلومات ایک کلاس ہے. اور اس طرح سی ایس ایس ساتھ کلاس ہے ایک نقطہ طبقے کے طور پر نامزد یا یہ کہ کلاس ہے جو کچھ بھی ڈاٹ. تو یہاں اس صورت میں، یہ معلومات ہے. [00:42:10] تو میں نے اسے واپس لے. ان میں سے دونوں ہو گی یہاں ہمارے سی ایس ایس کے لئے گلابی وہ دونوں کی معلومات کی ایک کلاس ہے کیونکہ. اور ہماری سی ایس ایس فائل میں، ہم نامزد ہیں معلومات کا ایک طبقے کے ساتھ کہ کچھ بھی گلابی ہو گا. کہ عقل مندی ہے؟ جی ہاں؟ [00:42:27] سامعین: آپ ہوتے تو بنانے کے لئے جسم سفید میں سب کچھ، اور پھر آپ کو بنانے کے لئے کوشش نیلے رنگ کے اس کے اندر کچھ اور، کہ مسائل کا سبب بن جائے گا؟ [00:42:34] HANNAH: تو CSS ہے جھرن کاری سٹائل شیٹس. تو جو کچھ بھی ہونے کو ہے نیچے دیے مقدم ہو گا. تو اگر آپ کے جسم کے ساتھ کچھ کرنا ہے تو، اور آپ کو سب کچھ سفید بنانے، اور پھر بعد میں آپ عنوان کو تبدیل یا آپ کو جسم کے اندر متن کو تبدیل، یہ اس overwrites ہے. کی طرف تو اگر کچھ نیچے دیے مقدم ہو گا. جی ہاں؟ [00:42:56] سامعین: اور آئی ڈی، منفرد ہیں لیکن کلاسوں میں زیادہ ہو سکتا ہے؟ HANNAH: صحیح. تاکہ آئی ڈیز منفرد ہونا چاہئے، اور کلاس کر سکتے ہیں اگر آپ چاہتے ہیں کے طور پر کئی چیزوں کا حوالہ دیتے. کوئی سوال؟ جی ہاں. [00:43:09] سامعین: [اشراوی]. میں سوچ رہا ہوں کہ ایک فرق پڑتا ہے. HANNAH: میں معافی چاہتا ہوں، سوال کیا تھا؟ سامعین: چھوٹے بھی نہیں ہے "F" اور سرمایہ "ایف" HANNAH: تو فرق چھوٹے "F" اور مرکز کے درمیان "F" کوئی فرق نہیں کرنا چاہئے. تو "چ" 15 یا تو راستہ ہو جائے گا. ٹھنڈی، اور کچھ؟ اچھا ہر کوئی، سی ایس ایس؟ جی ہاں؟ [00:43:30] سامعین معذرت. آپ کو ایک کلاس اور ایک شناختی مل سکتا ہے؟ [00:43:35] HANNAH: جی ہاں، آپ کر سکتے ہیں. چیزوں کو ایک کلاس اور ایک شناختی دونوں کر سکتے ہیں. اور میں بہت زیادہ سفارش کرتے ہیں اپنے اپنے طور پر ان کے ٹیسٹ. آپ بنا کر سب کو صرف سیکھ جائے سی ایس ایس کچھ، بہت سادہ ویب کے صفحے، کچھ سی ایس ایس ڈرائنگ، اور صرف وہ بات چیت کو کس طرح دیکھ کر. اور آپ کو ایک بہت اچھا حاصل کریں گے یہ کیسے کام کرتا لیے بدیہی احساس. [00:43:56] اوکے، سی ایس ایس ساتھ سب اچھا ہے؟ آپ سب کو بنانے کے لئے جا رہے ہیں اب سی ایس ایس ساتھ خوبصورت ویب سائٹس. اوکے، بہترین طریقوں، صرف ذہن میں رکھنے کی چیزیں، چیزیں ہم گودی کیوں اس that-- ہے آپ ڈیزائنر اور whatnot کے لئے. تاکہ تمام HTML ٹیگ کو بند. آپ کو ایک کھلے جسم ہے اگر ایسا ہے تو، قریبی جسم نہیں ہونا چاہئے. آپ کو ایک کھلی پیراگراف ہے تو، قریبی پیراگراف وہاں ہونا چاہیئے. آپ کے صفحے توثیق کرتا ہے کو دیکھنے کے لئے چیک کریں. تم لوگوں کو بہت واقف ہونا چاہئے کی طرف سے اس کے ساتھ P- سیٹ سات کاوچ سرفنگ کے 50 خزانہ کے ساتھ W3 جوازدہندہ کے ساتھ. اور میں، پہلے کہا ہمارے بڑے نمونوں میں سے ایک سی ایس ایس کے ساتھ اپنے طرز الگ ہے ایچ ٹی ایم ایل ہے جو آپ کے مارک اپ، سے. اور پھر، کورس کے، ہم ہیں یہاں نیچے اس عظیم XKCD. گرمیوں میں، کامک ریلیف! [00:44:38] اوکے، ٹی سی پی / آئی پی. ان کی اور HTTP کے درمیان، بنیادی طور پر وہ دونوں پروٹوکول رہے. لہذا آپ کو صرف سوچ سکتا ان میں قوانین کا ایک سیٹ کے طور پر کس طرح چیزوں حکومت ہے کہ انٹرنیٹ بھر میں منتقل. تاکہ ٹرانسمیشن کنٹرول پروٹوکول، یا انٹرنیٹ پروٹوکول، اس بات کا یقین بنانے کے لئے صرف ایک طریقہ ہے یہ کہاں جا رہا ہے کہ اعداد و شمار ہو جاتا ہے اور ہم تو اس کو معلوم ہے کہ ہم نے کبھی بھی اعداد و شمار کو یاد کر رہے ہیں. تو تم لوگ تو اس لیکچر پر واپس لگتا داؤد کے ساتھ پہلے ایک جوڑے ہفتوں ہم کہاں وہ، چار لفافے تھا چاروں میں سے ایک طرح گنے گئے، چار میں سے دو، چار میں سے تین، کی چار چار، یہ صرف قوانین کا ایک سیٹ ہے. ہم ٹھیک ہے، ہم جب بھی ہو، کہا ایک پیکٹ سے زیادہ بھیجنا، ہم تعداد میں جا رہے ہیں یہ کیا ہے تعداد کے ساتھ اور کتنے کل کہ صارف ہو جانا چاہئے. [00:45:19] اور یہ تو صرف کہہ رہا ہے جو کوئی اعداد و شمار کو وہ چاہے وصول کر رہا ہے اگر سب کچھ یا ملا کچھ تو راستے میں کھو گئے. اور وہ پھر اس کے لئے کہنے کی ضرورت ہے. یہ واقعی صرف قوانین کا ایک سیٹ ہے. کہ تم ٹھیک، پر سوچ سکتے ہیں کہ کس طرح ہے؟ اور بھی، یہ بندرگاہ، جو وضاحت تم لوگوں، اگر میں لیکچر کے دوران معلوم ہے can-- وہ بندرگاہوں کی ایک پوری فہرست پڑا. لیکن ہم ابھی ان کو یہاں ضرورت نہیں ہے. [00:45:41] تاکہ ہایپر ٹیکسٹ ٹرانسفر پروٹوکول ایک بار پھر، یہ ایک اور پروٹوکول ہے، ہے. تو یہ قوانین کا ایک سیٹ ہے کہ اس معاملے میں، حکومت ہے، ہایپر ٹیکسٹ کو کس طرح منتقل کیا جاتا ہے. تو یہ صرف براؤزر کی اجازت دیتا ہے ویب سرورز سے بات کرنے کے لئے. ہم یہاں کہا کہ کے طور پر اور، یہ بات ہے انسانی handshaking طرح. یہ حکومت کرنے کے صرف ایک طریقہ ہے کہ کس طرح ویب سرور ہے آپ کے براؤزر کے ساتھ بات چیت کرنے کے لئے جا. اور ہم نے مثالیں کے صرف ایک جوڑے کی ہے. ہم یہاں کچھ درخواستوں ہے کہاں سے حاصل کے طریقہ کار ہے. ہم ہے جو، 1.1 HTTP پڑے ہمارے لئے پروٹوکول کے ورژن. اور اس کے بعد، میزبان، جس کا ہے جو ہم اصل میں جانے کی کوشش کر رہے ہیں. اور پھر، آپ کو یہاں دیکھ کے طور پر، ہم اس 200 کے ساتھ کچھ جواب حاصل ہمارے HTTP جواب کوڈ کے طور پر اوکے. ہم میں جا رہا ہوں ایک بڑی فہرست ہے ایک سیکنڈ میں ھیںچو تم لوگوں سے واقف ہونا چاہئے کہ. اور ہم، اس کے مواد کی قسم متن / HTML ہے جس میں صرف اعداد و شمار کو کس قسم کا کہنا ہے کہ ہم ٹھیک، سرور سے حاصل کر رہے ہیں؟ اس کے میزبان اور اس کے مواد کی قسم HTTP ہیڈر کا حصہ ہیں. آپ کے طور پر کے طور پر چند یا کم جیسا ہو سکتا ہے کے تناظر لئے ضروری ہے کیا آپ کے ساتھ کام کر رہے ہو. کبھی کبھی آپ کی ایک بہت پڑے گا آپ کے سرور سے آنے والے معلومات. شاید وہ ایک بہت کی درخواست کر رہے ہیں صارف سے معلومات کی. یہ سیاق و سباق پر منحصر ہوتی ہے. آپ CS 50 سٹڈی میں نظر آتے ہیں، اس پر ایک بہت زیادہ ہے. لیکن ہم نے حاصل کرنے کے لئے ایک بہت کچھ ہے لہذا میں جا رہا ہوں، کے ذریعے ٹھیک ہے تو جانے کے لئے کہ لوگ آپ کے ساتھ ٹھیک ہے؟ ٹھنڈا. رکو. میں ضرور اس کی ضرورت ہہ of-- پوری فہرست! یہ وجہ ہے، مجھے پتہ نہیں ہے یہاں پر تمام طریقہ. میں نے لفظی منتقل کر دیا سوچا مجھے sitting-- یہ تھا جبکہ [00:47:15] DAVIN: اگر آپ کو یہ سکھانا چاہتے ہیں؟ یا تم مجھے یہ سکھانے کرنا چاہتے ہیں؟ [00:47:17] سامعین: میں ہم کر سکتے تھے سوچا صرف کے ساتھ شروع کرنے کے لئے انہیں دکھا. میں نے تم میں جا سکتے ہیں، مطلب ان کو مزید، لیکن میں یہ میں نے جب سے زیادہ احساس نے سوچا صرف HTTP حیثیت کے بارے میں بات کر رہا تھا. تو یہاں پوری فہرست ہے. میں نے ایسا ہونے کی جاتی ہے کیا ہو رہا ہے کا اندازہ لگانا Davin بعد میں ان میں جانے کے لئے کی جا رہی ہے. لیکن ایک پوری فہرست کے ایک، وہاں ہے ذائقہ کا پیش منظر آنے کے لئے. ٹھیک ہے، ہم یہ جا رہا ہے blow-- لئے جا رہے ہیں کوئی دوسرے کی طرح ایک پی ایچ پی حادثے کورس ہونے کے لئے. [00:47:41] تو پی ایچ پی، ہایپر ٹیکسٹ پریپروسیسر، یہ ایک پنراورتی backronym ہے، جس میں یہ کچھ اور قرار دیا گیا تھا کا مطلب ہے. اور پھر وہ، اس طرح تھے واقعی کوئی مطلب نہیں ہے. تو وہ صرف اسے نامزد کیا گیا اور یہ مخفف تھا، تو وہ صرف یہ پی ایچ پی بنایا ہایپر ٹیکسٹ پریپروسیسر، جس میں صرف کوئی احساس نہیں کرتا ہے. تفریح ​​کہانی. یہ ایک پروگرامنگ زبان ہے. میں اس پر زور طور پر اتنا زیادہ کے طور پر ایچ ٹی ایم ایل ایک پروگرامنگ زبان نہیں ہے، یہ ایک مارکاپ زبان، پی ایچ پی کی ایک پروگرامنگ زبان ہے. اگر آپ کو یہ معلوم ہو جائے کہ کس طرح منطق ہے کیونکہ وہاں. conditionals سے ہیں. ہم، متغیر ہے کہ ہم جبکہ HTML میں ان چیزوں میں سے کوئی بھی پڑے. [00:48:12] ٹھیک ہے، تو پھر ہم یہ چھوٹا ہے سا یہاں کہ پی ایچ پی کی ایک ذائقہ کی طرح ہے. تاکہ بنیادی باتیں، متغیر کے نام ایک ڈالر علامت کے ساتھ شروع. اس کی طرح بہت سے لوگوں کو. ہمیں پیسے کی یاد دلاتا ہے. یہ سب بہت اچھا ہے. ہم تمام پی ایچ پی چاہتے ہیں. تو ہم نے ایک وضاحت نہیں کرتے اب متغیر کی قسم. رن کے وقت مقرر کیا جاتا ہے. مترجم کی طرح ہوں گے اوہ، ہم صرف، کے ذریعے چلائے جائیں گے اور سیاق و سباق کے مطابق، ہم اقسام میں سے کس قسم کے دیکھ لیں گے ان متغیرات میں حاصل کرنے کی ضرورت. کوئی اہم تقریب ہے. چیزوں کو صرف چلایا جائے گا. میں آپ کی درآمد کے ساتھ تم لوگوں کو آپ P- سیٹ گزشتہ، آپ کو اس پر توجہ دیں گے. ایک اہم تقریب اصل میں نہیں تھا. تم نے صرف لکھا کیا آپ کو کیا ہو کرنا چاہتے تھے. اور یہ صرف کی قسم کچھ بھی ہوا. تو ہے کہ آپ کے لئے پی ایچ پی کی. [00:48:56] arrays کے بہت ملتے جلتے ہیں. ہم اب بھی اس بریکٹ ہے. یہاں، ہم کچھ متغیر ہے آمد کہا جاتا ہے، اور یہ برابر ہے to-- ہم اپنے معمول ہے بریکٹ سنکیتن. اور ہم نے کچھ کلیدی قدر ہے. اور بڑا فرق سی اور پی ایچ پی کی arrays کے درمیان ہم اس associate-- ہو سکتا ہے ہم چابیاں کرنے کے لئے اقدار کو منسلک کر سکتے ہیں. تاکہ بجائے صرف اندوز حساب سے ترتیب ہے کہ ایک صف نمبر یا پوزیشن کی طرف سے صف میں اس عنصر کی، ہم اصل میں ایک بٹن کے ساتھ اس سے منسلک کر سکتے ہیں. ہم کہہ سکتے ہیں، جہاں، ٹھیک ہے، میں جو چاہو قدر پھل کے ساتھ منسلک کیا جاتا ہے. اور شاید ہم پھل کیلا کے پاس گیا ہے. تو یہ ہمارے لئے کیلے واپس کروں گا. [00:49:41] لیکن بنیادی طور پر، سب سے زیادہ اس کے بارے میں طاقتور چیز ہے کہ تم لوگوں کو یاد ہے جہاں ہم بنیادی طور پر لیکچر سے ڈیمو دوبارہ لکھی پی ایچ پی میں ہجے کنندہ، اور یہ was-- لک اپ صرف سچ تھا پسند، اس چابی موجود ہے؟ یہی اس کی طاقت کی واقعی قسم ہے. آپ iterate کرنے کی ضرورت نہیں آپ کے صف کے ذریعے. آپ کو جاننے کی ضرورت نہیں ہے کیا جگہ کو اس میں کیا ہے. یہ آخر یا شروع میں ہو سکتا ہے. جب تک آپ کی چابی جانتے ہیں کے طور کہ قیمت کے ساتھ منسلک ہے، پی ایچ پی نے صرف اس قدر توکنا کر سکتے ہیں حق اوکے، تم پر باہر پیچھے؟ [00:50:09] اور پھر، ہم بھی صرف ہے صرف اس وجہ سے ہم کلیدی قدر جوڑوں ہو سکتا ہے آپ کی ضرورت کا مطلب یہ نہیں. آپ بھی صرف تشکیل دے سکتے ہیں ایک عام سرنی یہاں کی طرح، یہ ہے جہاں سب سے نیچے، اوپر صرف ایک، دو، تین، چار. ان لوگوں کو اپنی اقدار ہیں. اور حقیقت میں، ان کے چابیاں سوچکانکوں ہیں. تو ایک کے لئے اہم صفر ہو جائے گا. دو لوگوں کے لئے چابی سے ایک ہو گا. تو اور تو آگے، جب تک کہ آپ کو واضح طور پر ایک بٹن تفویض، آپ اس کو فرض کر سکتے ہیں قدر صرف ان کے انڈیکس ہے. کہ ہر کسی کو احساس ہے؟ کوئی سوال؟ بہت اچھے. [00:50:38] اوکے، جعلی foreach کے لئے ایک راستہ ہے آپ arrays کے ذریعے iterate. ہم تو یہاں کچھ ہے صرف جنرل ڈھانچہ. کا اتنا جعلی foreach، نام ہمارے صف، جو کچھ بھی کے طور پر آپ کو ہر ایک فون کرنا چاہتے ہیں آپ کی صف میں عنصر، اور ہم ساتھ کچھ کر سکتے ہیں اس عنصر یا اس کی قیمت کے ساتھ. تو ہم یہاں ایک مثال ہے. ہم ایک ساہچری ہے ان دو اندراجات کے ساتھ سرنی بار کے ساتھ FOO کے ساتھ منسلک کیا جا رہا ہے اور باز کے ساتھ منسلک کیا جا رہا ہے جو qux. اتنی والے بٹنوں FOO اور باز ہیں. اقدار بار اور جو qux ہیں. تاکہ جعلی foreach، ہم اپنے صف ہے یہاں، کلیدی قدر جوڑی کے طور پر. اس تک رسائی حاصل کرنے کی اجازت دیتا ہے کلید اور قیمت دونوں. شاید آپ کو صرف چاہتا ہوں قدر، جس صورت میں آپ صرف آمد طرح ایسا کر سکتا ہے پھر $ قدر، اور کے طور پر آپ کو صرف قیمت تک رسائی حاصل کر رہے ہیں آپ کے ذریعے iterate کے طور پر. لیکن ہو سکتا ہے، کے لئے کچھ وجہ، آپ کو ان کلیدی چاہتے ہیں، مجھے انتخاب کیا ہے یہی وجہ ہے کہ بجائے اس مثال. تو آپ کو اصل جوڑتوڑ کر سکتے ہیں اس معاملے میں اہم اور قیمت. ٹھیک ہے؟ سوال؟ [00:51:41] سامعین: آپ کرنا چاہتے تھے صرف یہ، چابی گی جوڑتوڑ تمہیں کیا کرنا ہے foreach-- [00:51:45] ALISON: صحیح. تو کیا تم چاہتے تھے تو صرف اہم جوڑتوڑ، اگر آپ اب بھی اس کی ضرورت ہو گی نحو صرف اگر آپ کی وجہ سے کچھ کے طور پر کی آمد، ایک بات کے طور پر، یہ ہے جا کے آپ چاہتے ہیں فرض کرنا قدر نہیں کی چابی. تو تم نے کبھی صرف صرف پسند ہے تو ، شاید یہ $ عنصر کی طرح ہے کے طور پر آمد، یہ آپ کہہ رہے ہیں کہ یہ فرض کرنے جا رہا ہے ہر موڑ پر صرف قیمت کے لئے. آپ کو واضح طور لئے چاہتے ہیں کلید کے ساتھ کچھ کرنا، آپ کے لئے نہیں جا رہے ہیں یہاں تک کہ اگر قیمت کے ساتھ کچھ، آپ کو اس ڈھانچے کی ضرورت ہے ہم یہاں ہے کہ جہاں آپ کو واضح طور پر کہہ رہے ہیں کلید اور قیمت دونوں کے لیے. بڑا سوال. اور کچھ؟ ٹھنڈا. [00:52:27] ٹھیک ہے، پی ایچ پی اور ایچ ٹی ایم ایل. اوہ، جو ہم سے واپس آ گئے ہیں P- سیٹ دوبارہ سات. تو یہ ایک چھوٹا سا واقف نظر آنا چاہئے. تو کیا یہ کچھ آسان HTML شکل ہے کہ ہیلو کی کچھ ان پٹ کا نام ہے. اور ہم ہم حاصل کرنے کے ہمارے طریقہ ہے دیکھیں. اور ہم نے اپنے P- سیٹ سے یاد ہے، اس فارم کو جمع کرایا جاتا ہے جب، یہ ہے کہ $ _GET نامی ایک سرنی بھیجتا ہے ان آدانوں یا متغیر سے کے تمام ہونا چاہئے کہ فارم ہمارے پی ایچ پی میں ہیرا پھیری. اس معاملے میں، صارف ان کے نام میں ڈال دیں گے. وہ اس کو پیش. اور ہم یہاں کچھ صف ملتا دیکھیں. ہم کو ہماری حاصل صف ہے. اور ہم نے نام تک رسائی حاصل کر رہے ہیں. [00:53:11] ایسا کہتا ہے کہ، ٹھیک ہے، مجھے دے دو نام کے ساتھ منسلک ہے کہ قیمت، یہاں اہم ہونے کی وجہ سے نام ہیں. اور یہ کہ براہ راست نقشے کیا ہم اپنے ان پٹ کا نام ہے. تو یہ آپ کے لئے چابی دے رہا تھا کیا یہاں آپ کی صف میں ہونے جا رہا ہے. کہ ہر کسی کو احساس ہے؟ جی ہاں؟ [00:53:32] سامعین: نام سے رجوع حاصل کرتا ہے [اشراوی] میں جامنی لائن کے لئے؟ [00:53:36] ALISON: اسے یہاں اس سے مراد ہے. تو یہیں اس میدان، یہ یہاں اس نام سے مراد ہے. لہذا اس کا نام دیا جا سکتا تھا فون نمبر، یا جو کچھ بھی طرح. یہ نام دراصل، کیا کہتے ہیں آپ کو اس میدان بلا رہے ہو؟ تم کس طرح کرنے کے لئے جا رہے ہیں اس میدان کا حوالہ دیتے ہیں؟ اور اس نام کے ہم ہیں، کی طرح اصل میں جاتا ہے اس میدان کہہ کے نام کہا جاتا ہے. یہی ہے جو ہم اس تک رسائی حاصل کرنے جا رہے ہیں کا طریقہ یہ ہے. [00:53:59] سامعین: تو یہ، پسند ہے ان پٹ کا نام باب کے برابر ہے، and-- [00:54:02] ALISON: دایاں پھر آپ کو، وہاں نیچے باب ملے گا. بالکل ٹھیک. ہر کوئی ٹھنڈی؟ ٹھیک ہے، تو، پوسٹ بمقابلہ حاصل کریں ان دو اہم طریقے ہیں کہ اگر ہم ایک HTTP درخواست میں ڈیٹا کو منتقل. تم لوگوں کو دیکھنا چاہئے ان کو امید ہے کہ دونوں کو. حاصل کرنے کے ساتھ، معلومات بہت یو آر ایل کے ذریعے منظور کیا ہے. تو کیا تم نے کبھی گوگل ایسا کرتے ہیں تلاشی، یو ٹیوب، تمہیں میں شاید کچھ سوال کا نشان نظر. اور پھر، تمام الفاظ کہ آپ کو صرف وہاں میں ڈال دیا. اور پوسٹ کے اعداد و شمار سے گزر جاتا ہے HTTP پیغام کی باڈی میں. تاکہ GET کے برعکس، آپ کی قسم پر غور اعداد و شمار کو صارف سے پوشیدہ نہیں ہے کہ. لیکن کیا واقعی ہے سمجھنے کے لئے ضروری یہ اب بھی ہے ہے حاصل کے طور پر صرف کے طور پر غیر محفوظ. میں نے استعمال کرنا قیاس کرتا ہے ہے آپ کو اپنے بینک اکاؤنٹ کی تعداد ہے اور تم باہر پر لکھو ایک لفافے، وہ کافی غیر محفوظ ہے. اگر تم تھے کے ایک ٹکڑے پر یہ لکھنے کے لئے کاغذ اور لفافے کے اندر ڈال دیا، یہ اب بھی ہے کیونکہ واقعی غیر محفوظ ہے تمہیں کیا کرنا ہے تمام اس کے لئے کھولنے ہے اور اصل مندرجات کی طرف دیکھو پیغام کا یہ دیکھ کر. تو یہ ہے "، چھپی ہوئی" ہے اور جیسے لوگوں کے یہ محفوظ ہے لگتا ہے کہ، لیکن یہ واقعی نہیں ہے. اور مجھے یقین ہے Davin گے شاید، کہ زیادہ میں حاصل. لیکن یہ ایک اہم بات ہے فرق کرنے کے لئے اور بہت اچھا کچھ سمجھنا. [00:55:15] اوکے، SQL، طلب زبان ساخت. تمام چیزیں کہ ہم نے اب حال ہی میں دیکھا ہے! تو یہ بنیادی طور پر صرف ڈیزائن کیا گیا ہے، ظاہر ہے، اعداد و شمار کا انتظام کرنے کے لئے. تم لوگوں کے ساتھ تجربے کی ایک بہت تھا پی ایچ پی MyAdmin کے ساتھ آپ کے ٹیبل میں سے اس. اور چار عام سوالات ہیں ہم چاہتے ہیں کہ تم لوگوں کو معلوم کرنے کے لئے. تاکہ اپ ڈیٹ، ڈالیں وہاں ہے، منتخب کریں، اور حذف. تو کیا تم واقعی اچھی طرح سے ان لوگوں کو معلوم ہے بات کو یقینی بنانا. ہم جانے کے لئے جا رہے ہیں بہت تیزی سے ان کے ذریعے. [00:55:40] تو کے طور پر، واقعی، کو اپ ڈیٹ کیا آپ، یہ کرتا ہے سوچ سکتا ہے یہ صرف آپ کے ڈیٹا بیس میں ڈیٹا اپ ڈیٹس. تو ہم یہاں سے کچھ مثال ہے. یہ عام ہے ایک اپ ڈیٹ کے استفسار کی ساخت. تو ہم نے میز کو اپ ڈیٹ کہ ہم کے بارے میں بات کر رہے ہیں. اور ہم نے بعض مقرر کرنا چاہتے ہیں اقدار، بعض کالم مخصوص اقدار کے برابر. تو یہ صرف تبدیلی کرتے ہوئے، میز اپ ڈیٹس اس معاملے میں تمام قطار میں اقدار. اس میں تو یہاں، ایک حقیقی مثال، ہم insert-- افسوس ہے. کہ سلائڈ پیش قدمی میرے بغیر یہ احساس. [00:56:17] تو کیا یہ اپ ڈیٹ میز برابر col1 مقرر گھر کے برابر ہے جہاں VAL1 لئے "کریئر." کیا یہ ایک کرتا ہے یہ صرف یہ صرف، بدلتے رہتے ہیں مخصوص جگہوں میں ان اقدار کو اپ ڈیٹ. تو کیا یہ سب سے پہلے میں، یہ ان تبدیلیوں آپ کے جدول میں ہر چیز کے لئے اقدار، ٹھیک ہے؟ یہ تبدیلی کرنے جا رہا ہے ہر ایک کے اندراج کے لئے کالم، ہر ایک صف کے لئے. اس جہاں لیکن، آپ کر سکتے تھے ایک کوالیفائر کے طور پر لگتا. تو یہ صرف تبدیل کرنے جا رہا ہے بہت ہی مخصوص جگہوں پر. میں اتنی P- سیٹ، جب آپ کو سات شاید نقد کی رقم کو اپ ڈیٹ اپنا صارف پڑا کہ، آپ کو شاید دیکھا گیا بعض ID حق، شناخت سیشن کے برابر ہے کہاں؟ [00:56:53] کے لئے آپ کو نہیں چاہتا تھا کیونکہ نقد کی رقم کو تبدیل ہر اس شخص کے لیے جو آپ کی ویب سائٹ کا استعمال کرتے ہوئے کیا گیا تھا. آپ کو ایک کے لئے اسے تبدیل کرنا چاہتے تھے مخصوص شخص، اس شخص ہونے کے ناطے جو شخص اس وقت اس کا استعمال تھا. ہے نا؟ ٹھیک ہے، تو، ڈالیں داخل ٹیبل میں کچھ اقدار. اس سے آپ کو ہو جب طرح ہے ایک بالکل نیا صارف بنانے. یہاں عام ساخت جو کچھ بھی ٹیبل میں داخل کیا جاتا ہے ہم کے بارے میں بات کر رہے ہیں. اقدار، ہونے اہمیت دیتا ہے ہم اصل میں داخل کرنا چاہتے ہیں. ٹھیک ہے، ہم یہاں دیکھتے ہیں کے طور پر تو، ہم ٹیبل میں داخل کیا ہے. اس کے ساتھ مخصوص کالم ہے ان کے خط و کتابت کی اقدار. تو یہ ہے، ڈالیں کہتے ہیں پر مشتمل ایک نئی صف اقدار VAL1 اور val2 تحت ان مخصوص کالم. [00:57:33] تو شاید آپ کو صرف بھرنے کے لئے چاہتے ہیں اس صف میں نصف چیزوں کو باہر. کہ اس حصے آپ کو یہاں کر دیتا ہے کیا ہے. یہ اصل میں آپ کی اجازت دیتا ہے کس حصے کا تعین. جی ہاں؟ [00:57:44] سامعین: کر سکتے ہیں آپ کو صرف [اشراوی] صف [اشراوی] میں خلیات؟ [00:57:52] ALISON: آپ کو صرف میں بھرنے، تو آپ کی قطار کے بعض حصوں، ان خلیات کی باقی صرف خالی ہیں. جب تک آپ کو ان کی اجازت کے طور پر خالی ہو، یہ ایک مسئلہ نہیں ہے. اگر آپ ان تک رسائی حاصل کرنے کی کوشش کرتے ہیں تو، یہ ہے بعض خالی عنصر واپس جا رہا. لیکن یہ جاننا ضروری ہے بعض ٹیبل میں کہ، وہ خالی ہونے کی اجازت دی جائے گئے ہیں. اگر آپ ایک میں چلاتے ہو سکتا ہے آپ P- سیٹ کے دوران مسائل ہم کسی بھی ہونے نہیں دیا کیونکہ کی آپ کی اقدار شہوت انگیز null ہو. لیکن آپ نے ایک وضاحت کر سکتے ہیں آپ کے جدول میں اختیاری قدر. [00:58:26] اوکے، منتخب، تاکہ یہ ہے حاصل کرنے کا صرف ایک طریقہ ایک میز سے مخصوص اعداد و شمار پر آپ چاہتے ہیں کہ کچھ شناخت کنندہ. میز جہاں سے تو منتخب کریں ستارہ ہے کرنل، کچھ تو صرف کا مطلب ہے کے برابر ہے مجھے منسلک تمام اعداد و شمار دے جہاں اس مخصوص کالم سچ ہے. تو اس صورت میں کام کریں گے ٹھیک ہے، آپ کے لئے پوری قطار واپس؟ [00:58:49] اور پھر، اس معاملے میں، سے ستارہ منتخب میز صرف آپ کو پوری ٹیبل فراہم کرتا ہے. اور اس کے بعد،، ظاہر ہے یہ صرف خارج کر دیں ٹیبل سے قطار خارج کرتا ہے. تاکہ میز سے خارج کر دیں، جو کچھ بھی میز ہم ہیں جہاں کچھ مخصوص، حوالہ شناخت کنندہ یا کسی شرط سچ ہے. جی ہاں؟ [00:59:07] سامعین: سوال. کیوں آپ کو ڈبل استعمال کر رہے ہیں کی قیمت درج کرنے، اور آپ کو چاہے ڈبل قیمت درج کرنے یا سنگل کرتے کی قیمت درج کرنے، اس سے کوئی فرق پڑتا ہے؟ [00:59:13] ALISON: ڈبل قیمت درج کرنے یا ایک کی قیمت درج SQL میں ایک فرق نہیں پڑتا. میں نے ایک اور سوال دیکھا سوچا. جی ہاں؟ [00:59:20] سامعین: یہ کیا متاثر نہیں کرتا استفسار سے فرار ہو جاتا ہے؟ [00:59:25] ALISON: روب؟ [00:59:27] روب: آپ کی طرف سے کیا مطلب ہے استفسار سے فرار ہو؟ [00:59:31] سامعین: اگر کوئی ہے تو ایک شکل میں ایک استفسار of-- [00:59:36] روب: کسی کے لئے ہوتے تو میں ایک ایک اقتباس ڈال دیا، اس کے بعد جب تک آپ کو جراثیم کش رہے آپ کی ان پٹ، تو اس سے کوئی فرق نہیں پڑتا. لیکن اگر آپ ایک ہی استعمال کر رہے ہیں اقتباس اور آپ کو غلط طریقے ہیں آپ کے آدانوں فرار کے، تو جی ہاں، انہوں نے کی ضرورت توڑ کرنے کے لئے ایک اقتباس ڈال کرنے کے لئے آپ کے کوڈ. آپ ڈبل قیمت درج کرنے کا استعمال کرتا ہے، وہ ایک ڈبل ڈال کرنے کی ضرورت آپ کے کوڈ کو توڑنے کے لئے حوالہ. لیکن جب تک تم ان چیزوں سے بچ کے طور پر درست طریقے سے، اس سے کوئی فرق نہیں پڑتا. یہ صرف ترجمہ کیا جا رہا ہے ویسے بھی صحیح علامت. [00:59:59] سامعین: فرار میں کیا مطلب ہے؟ ALISON: ٹھیک ہے، کی طرح جراثیم کش اور فرار. ہم ہے کہ امتحان، عظیم XKCD کامک آپ ہو کہاں وہ ھیںچو کہ، oh-- روب: یہ گزشتہ سلائڈ ہے. ALISON: یہ واقعی، آخری سلائڈ ہے؟ اوہ میرے خدا. وہاں ہم کامل، جاؤ. ٹھیک ہے، تو بنیادی طور پر، آپ کو انجیکشن کر سکتے ہیں اس SQL استفسار میں کچھ جہاں یہ آپ ٹوٹ جاتا ہے کوڈ، یا ڈیوڈ طور پر دکھایا کلاس میں، ہم کچھ واحد چیز ہے تو اقتباس 1 1 برابر ہے اور اپنے کوڈ میں ہے تو، ہم صرف براہ راست ہے کہ میں کاپی، اور ہم ایک خاتمہ ایک اقتباس ہے، کیا ہوتا ہے ہم حاصل ہے بعض اظہار ہے کہ صحیح تشخیص کرے گا کسی کو ہمارے ڈیٹا بیس میں داخل کرتے ہیں اور اعداد و شمار حاصل ہے کہ ہم ان کو حاصل نہیں کرنا چاہتا. تاکہ آدانوں جراثیم کش صرف یقین ہے کہ بنانے کا مطلب ہم ان سے بچ نکلتے جاتے ہیں کہ حروف اور ان سے designating کے حروف اور نہ چیزوں کے طور پر کہ اجازت دی جانی چاہئے لفظی سے لیا جائے ہمارے SQL بیان کے طور پر. [01:01:04] اتنی بڑی بات ہم نے کہا کہ تم لوگوں کو استعمال کر رہے ہیں ہونا چاہئے کہ ایچ ٹی ایم ایل کی خصوصی حروف، تھے جو کچھ ہے آپ پر ایک نظر لینے کے لئے چاہتے ہیں کر سکتے ہیں. اوکے، خارج کر دیں. ڈیٹا کی اقسام، اس کی تمام آن لائن ہو جائے گا. ہم 15 منٹ چھوڑ دیا ہے کے بعد سے، میں ہوں صرف حق اس کے ذریعے جانے کے لئے جا رہا. پی ایچ پی اور SQL، بنیادی طور پر یہ ہے صرف ہم ایک استفسار تقریب تھا کہ کے خلاف کی حفاظت میں مدد کی ان میں درنساوناپورن حملوں. تاکہ جب بھی آپ استعمال کرتے ہیں استفسار، ہمیں یقین ہے کہ بنا رہے تھے وہ چیزیں ہیں جو جراثیم سے پاک اور whatnot رہے تھے. [01:01:36] MVC، صرف ایک ڈیزائن مثال ہے تو ماڈل، قول، کنٹرولر. یہ چیزوں کو رکھنے کے لئے صرف ایک طریقہ ہے اچھا اور اسی طرح میں نے تقسیم ہم عنصر دیتے ہیں کہ افعال میں نکل کوڈ. یہ صرف ایک ویب ڈیزائن فریم ورک ہے کہ اگر آپ ایک ہی بات کرنے کی اجازت دیتا ہے. میں نے اس کو چھوڑ کر جا رہا ہوں. [01:01:54] یہ کچھ ہے کہ مجھے لگتا ہے کے ساتھ سپر آرام ہو جائے گا. یہ وہاں ایک عظیم تھوڑا میز ہے. یہ آپ کو تقریب دیتا ہے ماڈل کی مثال. میں صرف اس کے ذریعے میں نے کی وجہ جا رہا ہوں واقعی Davin بات کرنے کے قابل بننا چاہتا ہوں. اگر آپ کو کوئی سوالات ہیں، تو، براہ مہربانی بلا جھجھک. میں نے بعد یہاں ہو جائے گا. بس مجھ سے بات کیا آتے ہیں. اس کے ساتھ، ہم HTTP حیثیت حاصل ہے. اور Davin کے پھٹنے والا 15 منٹ میں اس کے ذریعے. اس عظیم بننے جا رہی ہے. [01:02:17] DAVIN: ٹھیک ہے. اہ، آپ کا مائیک؟ جی ہاں. معذرت. ALISON: راہ تیار رہنا. DAVIN: نہیں، میں تیار ہوں. میں تیار ہوں. ایسا کرنے دو. یہ تیار ہے. اوکے. معذرت. مجھے اپنے آپ پر کافی گرا دیا. میں نے زیادہ ہوں تو مجھے پتہ نہیں ہے میں پاگل نظر آتے ہیں کہ پریشان، یا میں اب کافی نہیں ہے کہ. ویسے بھی، صرف ایک فوری اعلان کے شیٹ کے بارے میں تم لوگوں کو ہے. تو تم لوگ اس شیٹ نہیں ہے کوئز پر کیا اہلکار. اس کوئز پر کیا اہلکار ہے. اس کے علاوہ، ویب سائٹ پر، ہم بتا آپ، ٹھیک ہے، یہ تمام سوالات پر ہو جائے گا. چھوٹا سا دھوکے باز شیٹ میں اتنی آپ سرکاری نہیں، ہے. اور اس پر غلطیاں تو نہیں ہیں. تو سب سے بہتر صرف آنکھ بند کر اس کا استعمال کرنے کے لئے نہیں. تو جی ہاں، یہ ہے. تو اس کی اصلی فوری میں حاصل کرتے ہیں. [01:03:05] تو HTTP حیثیت. تو کیا ہوتا ہے جب ویب سائٹ، سب کچھ ٹھیک ہے. سب کچھ ٹھیک ہے. ہر چیز کو واپس آتا ہے کیا آپ واقعی یہ کرنے کے لئے راستہ چاہتے ہیں. آپ کو ایک 200 ٹھیک ہو جاؤ. 301، جہاں ہم 301 اس سے پہلے کہ دیکھا ہے؟ کیا ہو رہا ہے، انتظار ہے؟ معذرت. ہم سیکورٹی کے دوران میں ٹن لیکچر دیکھا. اگر ایسا ہے تو ایسا ہے سیکورٹی کے دوران، ڈیوڈ میں ٹائپ HTTP اور پھر، cs50.net جانے کی کوشش آپ 301 منتقل کر دیا گیا دیکھ کر جا رہے. آخر کیوں؟ یہ ری جا رہا ہے کیونکہ ہمارے HTTPS کو خود بخود آپ. [01:03:35] اتنی 301 صرف یہ ہے، منتقل کر دیا گیا بنیادی طور پر ایک نئ سمت. اور تم اس طرح اس کے بارے میں سوچ سکتے ہیں. 2 کے ساتھ شروع ہے کہ حیثیت کے کسی بھی، ان لوگوں کو سب کچھ ٹھیک ہے، ٹھیک ہے، کی طرح ہیں. شروع حیثیت کی کوئی بھی 3 کے ساتھ، ان لوگوں نئ سمت ہیں. 4 کے ساتھ شروع ہے کہ حیثیت، مطلب ہے کہ کلائنٹ کی خرابی کے کچھ قسم کی. 5 کے ساتھ شروع ہے کہ حیثیت، کہ سرور کی خرابی کے کسی قسم ہے. لہذا آپ کو اس قسم کی کو توڑنے ایسے ہی حیثیت. اتنی 304 میں اتنی، ترمیم نہیں نہیں آپ server.c P سیٹ، تو آپ کہنے دو بھاری بھرکم cat.html. سب کچھ، واپس آتا ہے آپ 200s کے، اوکے، عظیم ملے. [01:04:03] کہ آپ اسے تازہ دم کہنے دو. ٹھیک ہے، اس کے اندر cat.html، آپ کو ایک JPEG ہے. ویسے، اس JPEG نہیں ہے جا دوبارہ لوڈ حاصل کرنے کے لئے. آپ کو ایک اور پوسٹ کرنے نہیں جا رہے ہیں سرور سے درخواست، اور پھر واپس سب کو اس بارے میں معلومات حاصل. یہ صرف اس کی تصویر ہے be-- جا رہا ہے جا کے آپ کی مشین پر محفوظ ہو جائے کرنے کے لئے. اور تو ہے کہ تصویر ایک 304 ہو جائے گا. تو یہ نظر ثانی کی گئی نہیں ہے. تم تو باہر میں بند کرتی ہے، واضح کوکیز، اور پھر ریفریش اور اس صفحہ کو لوڈ کرنے کی کوشش کریں پھر، آپ 200s کے دیکھنے جا رہے ہیں. آپ کہ 304 کو دیکھنے کے لئے نہیں جا رہے ہیں. [01:04:28] 400، برے کی درخواست، حقیقی فوری، جیسا کہ آپ کو اگر ایک بھیجنے کے لئے جا رہے تھے سرور سے JSON اعتراض اور آپ JSON اعتراض، غلط تھا اگر آپ کو اس طرح کچھ نظر آئے گا. 403، حرام کیا. جب آپ کو ایک حرام دیکھیں گے؟ شاید شاید؟ سامعین: CHMOD. DAVIN: CHMOD، جی ہاں. تو تم نے مقرر نہیں ہے درست طریقے سے اجازتیں. 404 نہیں ملا. یہ صرف وہاں نہیں ہے. اگر آپ کو غلط کا یو آر ایل میں ٹائپ اگر ایسا ہے تو. 500، اندرونی سرور کی خرابی، سرور شاید درست طریقے سے مرتب نہیں کیا گیا تھا. آپ کے اختتام پر کچھ نہیں، لیکن سرور سائیڈ پر کچھ. اور 503؟ لوگوں کی ایک بہت دیکھا گزشتہ P- سیٹ میں 503s. جب کہ یہ ہو گا؟ مجھے وسوسہ سنا. [01:05:05] سامعین: جب گوگل آپ کو ایک روبوٹ ہو فیصلہ کرتا ہے. DAVIN: جی ہاں، جب گوگل کا فیصلہ کیا آپ واقعی 503s حاصل، ایک روبوٹ ہو. تو ہے کہ ایک اوورلوڈ ہے. آپ سرور سے درخواست کی ہے تو بہت زیادہ، یہ عام طور پر عارضی ہے. اور تم میں اکثر یہ دیکھا. تو اگر آپ 503 کو دیکھا. آپ کو تھوڑا اٹھایا ہو وقفے، پھر 503s، چلا گیا اور سب کچھ ٹھیک تھا. [01:05:20] Gabe کی: اصلی فوری، تم لوگوں کو جب حاصل کروں شاید میں 500 اس آخری مسئلہ سیٹ؟ جی ہاں؟ [01:05:27] سامعین: عام طور پر، اگر سرور غلط ہے ایک فائل ہے یا [اشراوی] ان مشین [اشراوی]. [01:05:34] Gabe کی: تو یہ ایک ترتیب سے ہو سکتا ہے آپ کے سرور پر آپ پی ایچ پی میں مسئلہ. لیکن یہ صرف کچھ ہو سکتا ہے آپ بھول ہی گیا کہ ایک نیم وقفہ طرح. آپ پی ایچ پی ٹائپ کر رہے ہیں تو، کچھ غلط نحو اگر آپ کو اس طرح کچھ حاصل ہو سکتا ہے. ٹھیک ہے؟ [01:05:46] DAVIN: اتارنا. تم نے مجھے AJAX تک صرف اپ کرنے کے لئے چاہتے ہیں؟ [01:05:51] Gabe کی: [اشراوی]. DAVIN: ٹھیک ہے. تاکہ ڈوم کیا ہے؟ ڈوم کیا مطلب ہے؟ [01:05:55] سامعین: دستاویز آبجیکٹ ماڈل. DAVIN: اچھا. اور کیوں ہم نے یہ پسند ہے؟ بہت اچھے. ٹھیک ہے، یہ تو صرف تک رسائی حاصل کرنے کی اجازت دیتا ہے ایچ ٹی ایم ایل، بہت جلد ہماری صفحہ تک رسائی. آخر کیوں؟ ہم علاج کر رہے ہیں، کیونکہ ہمارے صفحہ، ہمارے HTML ٹیگ کے علاج، علاج کر سب کچھ کے طور پر اگر وہ اشیاء ہیں. وہ کر رہے ہیں جیسا کہ ہم ان کا علاج کر رہے ہیں تو اشیاء، تو ہم کیا کر سکتے ہیں؟ ٹھیک ہے، ہم ان پر کام کرتا ہے کے کال کر سکتے ہیں. اور یہ کیوں اہم ہے؟ ٹھیک ہے، ہم استعمال کرنے کے لئے جا رہے ہیں جاوا سکرپٹ ہماری ایچ ٹی ایم ایل کو اپ ڈیٹ کرنے، ان اشیاء کو اپ ڈیٹ. ہم اشیاء کی طرح ان کا علاج اگر ایسا ہے تو، اس کے بعد ہم ان پر کام کرتا ہے کے کال کر سکتے ہیں. میں نے یہ ایک چھوٹا سا میں حاصل کرنے کے لئے جا رہا ہوں میں جاوا اسکرپٹ میں جانے کے جب زیادہ، لیکن آپ سب کی طرح دیکھا ہے ہیں document.getElementByID. تاکہ دستاویز آپ ہے عنصر،، ID کی طرف عنصر حاصل لہذا آپ کو دیکھنے کے لئے جا رہے ہیں ایک HTML ٹیگ میں کچھ ID کے لئے. اور اس کے بعد، آپ کر سکتے ہیں کہ کچھ اور. مثال کے طور پر، document.body طرح، اس کے بعد آپ کے بچے کو شامل کر سکتے ہیں. تو اگر آپ دستاویز کو تلاش کرنے کے لئے جا رہے ہیں. آپ دستاویز ہے. آپ کے جسم کو تلاش کرنے کے لئے جا رہے ہیں. تم نے لاش ملی. اور اس کے بعد، آپ کے لئے جا رہے ہیں اس پر کچھ تقریب کہتے ہیں. تو بچے شامل ہیں، اور آپ کو شامل کر سکتے ہیں آپ کے جسم کے اندر آخر پر کچھ HTML. تو بنیادی طور پر، آپ کو صرف ہو کسی چیز کی طرح اس کا علاج کر. آپ کو HTML علاج کر رہے ہیں کسی چیز کی طرح ٹیگ. اور یہ اس کو بہت آسان بنا دیتا ہے اور فوری ان کے ذریعے جانے کے لئے. لیکن یہ بھی آپ کی اجازت دیتا ہے ان پر کام کرتا ہے کے فون کرنے کے لئے لہذا آپ جوڑتوڑ کر سکتے ہیں اور عناصر کو تبدیل. [01:07:04] Gabe کی: اس کو دیکھتے ہوئے، کیوں اس طرح جاوا اسکرپٹ ہے ایک اچھا زبان ایچ ٹی ایم ایل کے ساتھ بات چیت کرنے کے لئے؟ لوگوں کو منتخب کر رہے تھے جب مشکلات ہیں براؤزر کے لئے زبان کو، کلائنٹ کی طرف کے لئے، جاوا اسکرپٹ، واقعی بہت اچھا ہے یہ اشیاء سامان ہینڈل کرنے میں بہت اچھا ہے. اور اشیاء قسم کی طرح کر رہے ہیں ایچ ٹی ایم ایل میں ظاہر ہے کہ اشیاء، تو یہ جاوا سکرپٹ کے لئے بہت آسان ہے ہینڈلنگ کی اس قسم کو ایسا کرنے کی. DAVIN: اچھا. تو یہاں صرف ایک مثال ہے. تو میں نے، گزشتہ سال کے تمام سوالات پر سوچنے کے یا شاید دو سال پہلے، ہم ایک درخت کو پیدا کرنے کے لئے آپ سے پوچھا. تو یہ آپ کروں گا بالکل وہی جو ہے. تو اگر آپ دستاویز کے ساتھ باہر شروع. اور پھر آپ کو بنیادی طور پر صرف ٹیگز کی طرف دیکھو. آپ، اگر ہم دیکھیں تو کیا ایک HTML ٹیگ کے ساتھ شروع. اور اس کے بعد، آپ کو کس طرح کے بارے میں سراگ کے لئے حاصل پوٹ کاری کی بنیاد پر ایسا کرتے ہیں. شاخوں کی تو سر قسم سے دور. سر کے اندر، ہم ہیں عنوان کے لئے ایک اور ٹیگ. تو پھر، ہم ایک عنوان ٹیگ ہے. اور اس کے اندر، ہم نے کچھ سٹرنگ ہے. اور اس طرح ہم نمائندگی کریں ایک دائرے کی مانند میں ایک تار. اور تمام ٹیگ چوکوں میں ہیں. [01:07:54] اور آپ کو نظر آتے ہیں تو، ہم تو اس ایک درخت کے طور پر اس کے بارے میں سوچنا، اور چلو کہ HTML ہے کہنے دو ایک والدین، پھر سر اور جسم بہن بھائیوں ہونے جا رہے ہیں. وہ دونوں بننے جا رہے ہو اس کے والدین کے بچوں کو. وہ کر رہے ہیں کیونکہ تو دونوں بہن بھائی، وہ کر رہے ہیں قسم کے اگلے پر ہونے جا رہا ہمارے درخت ماڈل میں ایک دوسرے. اور اس کے بعد، آپ بنیادی طور پر بالکل وہی کام کرتے. اتنا مشکل ہے، لیکن ہم پوچھا نہیں ہو تمام سوالات پر پہلے اس طرح کے سوالات. Gabe کی: کسی کو کرتا ہے اب تک کے سوالات ہیں؟ یہ اچھا ہے؟ DAVIN: اتارنا. جاوا اسکرپٹ، اوکے، اچھی چیزیں. تو جاوا سکرپٹ، جاوا اسکرپٹ کیا ہے؟ ویسے، جاوا اسکرپٹ یہ ہے is-- پیچیدہ، لیکن ان جھلکیوں میں سے کچھ یہ ہیں کہ آپ کو ذہن میں رکھنا چاہئے. سب سے پہلے، یہ شتل ٹائپ ہے. اس کا کیا مطلب ہے؟ تو پی ایچ پی کیا ہو رہا ہے، جی ہاں was--؟ [01:08:35] سامعین: آپ کو واضح طور پر کرنے کی ضرورت نہیں یہ ہے کے متغیر کے کس قسم کی ریاست. DAVIN: کامل. اسی طرح اس نے تم سے نہیں ہے جن واضح طور پر متغیر کی قسم بیان. یہ بالکل صحیح ہے. میں int تھا تو تو C میں، میں نے 50 کے برابر ہے، اس کے بعد پی ایچ پی میں، یہ صرف اس طرح ہے، ڈالر، 50 کے برابر ہے. تب جاوا اسکرپٹ میں، کال کیا ہو گا؟ متغیر، ٹھیک ہے؟ متغیر میں 50 کے برابر ہے جیسے یہ ہو جائے گا. لیکن تم ہونا ضروری نہیں ہے کی طرح، ٹھیک ہے، یہ ایک int ہے. ٹھیک ہے، یہ ایک تار ہے. کوئی ضرورت نہیں ہے کہ ایسا کرنے کی. یہ ایک تشریح زبان ہے. تو اس کا کیا مطلب ہے؟ [01:09:04] سامعین: مرتب نہیں. [01:09:06] DAVIN: کیا مطلب مرتب کیا نہیں ہے؟ جی ہاں؟ [01:09:11] سامعین: آپ کی ضرورت نہیں ہے کوڈ کی تشکیل نو کرنے کے لیے تیار حاصل کرنے کے لئے کمپیوٹر اس کو چلانے کے لیے. یہ صرف کے وقت لیا ہے پھانسی اور کمپیوٹر [اشراوی]. DAVIN: جی ہاں، تو یہ جا رہا ہے ایک مترجم کے ذریعے منتقل. لیکن آپ بالکل ٹھیک کہہ رہے. لہذا آپ کو کبھی نہیں جا رہے ہیں دائیں، اسے مرتب کرنے کے لئے؟ جب تم کر رہے تھے آپ پی ایچ پی اور جاوا سکرپٹ کے کوڈ، تم مرتب کبھی نہیں بلایا. آپ کی طرح کچھ کہا جاتا کبھی نہیں بنانے کے لئے یا اس طرح کچھ بھی. اس کی تفسیر کی ہے وہ اس لئے کہ. تو یہ براؤزر کے ذریعے جاتا ہے ہر بار، یہ ایک مترجم کے ذریعے جاتا ہے. اور یہ کہ اس کی تشریح کی جا رہا ہے صرف فورا آپ کے لئے حقیقی وقت میں. تو کچھ مثبت اور منفی کیا ہیں ایک تشریح زبان اندوز کرنے کے لئے اور ایک مرتب کی زبان ہو رہا ہے؟ اتنی کیا ہو رہا ہے، جی ہاں compiling--؟ [01:09:50] سامعین: تشریح سست ہے. DAVIN: کس لحاظ سے؟ [01:09:57] سامعین: آپ کے بعد مرتب، آپ کی ضرورت نہیں عملدرآمد کرنے کے لئے کسی بھی اضافی اقدامات کرنے کے لئے یہ، اس [اشراوی] جبکہ. [01:10:04] DAVIN: حق، کامل. تو تم نے کہا کہ کیا بنیادی طور پر اس انتخاب، آپ کو مرتب کرتے وقت، آپ کو ایک ہے براہ راست اخراجات کی ایک بہت ہے، ہے نا؟ آپ نے اسے مرتب کرنے جا رہے ہیں. لیکن آپ اسے مرتب کرنے کے بعد، سنکلک اس کو بہتر بنانے کے لئے جا رہا ہے. یہ روزہ ہو رہا ہے. یہ بنیادی طور پر ہونے جا رہا ہے یہ ہو سکتا ہے کے طور پر روزہ کے طور پر ہو جائے. ، آپ کو کبھی نہیں کی تشریح کے ساتھ کہ براہ راست سرمایہ کاری ہے. بلکہ، یہ تھوڑا سا سست ہونے جا رہا ہے اگر آپ اس کی تشریح ہر ایک وقت. اور آپ کو ضرورت کے لئے جا رہے ہیں یہ ہر وقت کی تشریح ہے. لہذا اس کے ہونے کی بجائے ایک وقت لاگت، اب تم ہو اس کی تشریح کے لئے جا ہر بار صفحے دیتا. [01:10:29] تاکہ ترجمانوں کیونکہ اچھے ہیں آپ نے اسے مرتب کرنے کی ضرورت نہیں، لیکن وہ ہے کہ ہر میں برے ہیں یہ بات ہے، صفحہ بوجھ کا وقت کرنے کے لئے جا یہ جاوا سکرپٹ کی تشریح. اور یہ تھوڑا سا سست چلانے کے لئے جا رہا ہے آپ نے اسے مرتب کرنے کے لئے تھے تو سے. آپ، اوہ communicate-- انتظار کرنے کی اجازت دیتا ہے. جوڑتوڑ کرنے کے لئے استعمال مواد اور ظہور. ہم صرف اس کے بارے میں بات. یہ ڈوم استعمال کرتا ہے. AJAX، ہم میں مل جائے گا تھوڑا سا میں AJAX. اور پھر، اس کے کلائنٹ کی طرف ہے. تو پی ایچ پی سرور کی طرف ہے. جاوا سکرپٹ کو کلائنٹ کی طرف ہے. اس پر مثبت کیا ہیں؟ یہ اس کا کہنا ہے. یہ درست ہے، تیزی سے ہے؟ یہ تیزی سے ہے to-- آپ کو ضرورت نہیں ہے کیونکہ. آپ کو بات چیت کرنے کی ضرورت نہیں کچھ دوسرے آلہ کے ساتھ. آپ کو صرف پر ہیں تو آپ کلائنٹ، آپ کو کبھی نہیں ہو جانے کے لئے کی ضرورت کے لئے جا رہے ہیں اور سرور پر کیا دیکھنا اور پھر واپس رپورٹ یا اس طرح کچھ. تاکہ کلائنٹ سائڈ لئے جاتا ہے تھوڑا سا تیز ہو جائے. [01:11:15] Gabe کی: جی ہاں، لیکن اس پی ایچ پی کی ہے مطلب یہ نہیں ہے جاوا سکرپٹ کے مقابلے میں تیزی یا جیسے کسی چیز کی. وہ اسی میں قسم کی کو چلانے کے رفتار وہ دونوں ہیں کیونکہ تشریح زبانوں. سست ہے کہ بات یہ ہے یہاں کی درخواست ہے. تو آپ کو اصل جا رہے ہیں برازیل کے ہر طرح کچھ معلومات حاصل کرنے کے لئے کہ وہاں رہتی ہے. لیکن پی ایچ پی اور جاوا سکرپٹ، وہ اس قسم کی ایک ہی رفتار میں چلایا. یہ نہیں کہ ایک ہے ہے دوسرے مقابلے میں تیزی سے. یہاں اس، بھی، چال کا سوال. تو جاوا سکرپٹ بن جاتا ہے کبھی نہیں صحیح یا غلط مشین کوڈ،؟ [01:11:47] سامعین: جھوٹی. Gabe کی: جھوٹی. یہ مشین بننا ہے کوڈ مشین کوڈ ہے کیونکہ صرف ایک ہی چیز مشین سمجھتا ہے. اسے مرتب نہیں ہے، اگرچہ، یہ اب بھی مشین کوڈ بن جاتا ہے مترجم کی صرف ہے کیونکہ لائن کی طرف سے لائن چلا جاتا ہے کہ ایک پروگرام اور میں اس لائن کو تبدیل کچھ کمپیوٹر سمجھتا ہے. ٹھیک ہے؟ ٹھنڈا. [01:12:08] DAVIN: یہاں صرف ایک بہت بنیادی ہے دنیا کو جاوا اسکرپٹ کا پروگرام ہیلو. اگر آپ اس کو دیکھا ہے if-- تاکہ مجھے پتہ نہیں ہے. لیکن آپ یہاں صرف HTML ہے. اور بجائے اس کے کہ اصل میں ڈالنے سکرپٹ ٹیگز میں جاوا، لہذا آپ کو عام طور پر سر میں ڈال دیا تھا. آپ سکرپٹ ٹیگز ہے. تم وہاں اسے چھوڑ. ہم یہاں کیا ہے سب ہم in-- منسلک ہے کر رہا ہے تو ہم نے ایک جاوا اسکرپٹ فائل میں منسلک ہے اس طرح. اور تم سب اس، صحیح کیا ہے؟ تاکہ جب آپ jQuery اور استعمال کر رہے تھے گزشتہ P- سیٹ میں underscore.js، آپ میں کوڈ کو کے ٹن کی ضرورت نہیں ہے آپ کے سکرپٹ ٹیگز، آپ کے سر میں پلا. کیا تم یہ کر، لیکن اس کی بجائے سکتا ہے آپ اسے میں منسلک رہے ہیں. اور آپ میں سے جوڑ رہے ہیں صرف آپ کو سی ایس ایس کے ساتھ کیا جیسے. یہ صرف کرتا ہے تو یہ آسان ہو تاکہ پڑھنے کے لئے 1،000 لائنیں طویل طرح نہیں ہے آپ کے کوڈ افعال کے ٹن کے ساتھ کہ آپ استعمال نہیں ہو پا رہے. [01:12:52] اس کے بجائے، آپ اسے میں جوڑتی ہیں. یہ اس compartmentalizes. یہ کچھ ہیڈر فائل لکھنے کی طرح ہے، اور اس کے بعد سی میں اس ہیڈر فائل بھی شامل ہے صرف اس طرح کے بارے میں سوچو. تو یہ کیا کرتا ہے؟ ویسے، اس کو چلانے کے لئے جا رہی ہے. اس کو آگاہ کرنے کے لئے جا رہا ہے. تو آپ کو ایک چھوٹی سی حاصل کرنے جا رہے ہیں کہا جاتا ہیلو دنیا کو پاپ. فوری سوال، صرف وویک چیک، لہذا آپ کو، جسم میں یہاں دیکھ کر یہاں جسم، ایچ ٹی ایم ایل کا کہنا ہے کہ. کیا سب سے پہلے آتا ہے؟ میں یہاں جسم، ایچ ٹی ایم ایل دیکھتے ہیں، یا میں نے پہلی الرٹ دیکھتے ہیں؟ [01:13:19] سامعین: انتباہ. [01:13:20] DAVIN: صحیح. انہوں الرٹ کہتے ہیں. آخر کیوں؟ [01:13:22] سامعین: آپ کیونکہ اوپر سے نیچے تک جانا. [01:13:24] DAVIN: جی ہاں. کامل. پس اس نے تم پر اوپر سے جانا، کا کہنا ہے کہ بالکل صحیح ہے جس کے نیچے دیے،. آپ کو اوپر سے نیچے تک جانے کے لئے جا رہے ہیں. اور جاوا اسکرپٹ، jQuery میں، آپ کو ایک ہے جیسے onload کے، یا تیار ہے وہ تقریب، اور یہ کہ ٹھیک، جب تک انتظار، کا کہنا ہے کہ یہ HTML کی تمام بھری ہوئی ہے. اور پھر، جاوا سکرپٹ کو فون کریں. ہم یہاں، کہ ضرورت نہیں ہے کیونکہ کیا ہونے جا رہا ہے کہ سب سے پہلی بات یہ اوپر سے نیچے جانے کے لئے جا رہا ہے کر رہا ہے. یہ کہ جے ایس مارا جا رہا ہے فون، یہ آگاہ کرنے کے لئے جا رہا ہے. اس کے بعد آپ اوکے پر کلک کریں، جو انتباہ دور چلا جاتا ہے. اس کے بعد یہ دکھانے کے لئے جا رہا ہے آپ کو یہاں جسم ایچ ٹی ایم ایل. اچھا. [01:13:54] ٹھیک ہے، تو صرف حقیقی فوری، تحریری طور پر جاوا اسکرپٹ میں سپر تیز ہے. اعلان کے کرنے کے لئے ایک متغیر، متغیر کے نام. تو C میں، آپ کو آپ کے پاس، int میں ہے یہ ہے قسم کی کس قسم کا اعلان کرنا. پی ایچ پی، $. جاوا اسکرپٹ، متغیر. ہم اس بارے میں بات کی. ٹھیک ہے، چلو. [01:14:11] loops کے، ایک ہی بات. ایک ہی بات. تقریب کا اعلان، تاکہ صرف تمہارے سی میں دیکھا ہے کی طرح مختلف صرف ایک ہی چیز تو جب ہے آپ کو دیگر پروگرامنگ زبانوں کے لئے حاصل، جیسا کہ آپ کو 51 اگلے سمسٹر لے جب اور آپ کو، OCAML کے ساتھ کیا کر رہے ہیں آپ گمنام افعال کے ساتھ نمٹنے کر سکتے ہیں. تو ہے کہ آپ کو یہاں حاصل ہے بالکل وہی جو ہے. تو اگر آپ رقم میں ڈال کرنا چاہتے ہیں، رقم کی قدر کی کسی قسم. لیکن آپ کو صرف یہ ایک وقت کر رہا ہو سکتا. آپ تقریب سے بات کرنا چاہتے نہیں ہے تو رقم، یہ ایک تقریب اعلان دے. اس کے بجائے، آپ کو صرف اسے استعمال کریں ایک گمنام تقریب کے طور پر. اور آپ کو یہ ایک بہت دیکھا ہے. اگر آپ کی ایک مثال دیکھ لیں گے ایک جوڑے سلائڈ میں اس. جی ہاں، ہم دیکھیں گے. Gabe کی: اچھا سوال ہے. آپ استعمال کرنا چاہتے ہیں کر سکتے ہیں جب یہاں ایک گمنام تقریب؟ بنیادی طور پر، جب آپ کچھ کرنا چاہتے ہیں، ایک واقعہ کی طرح، کیا ہونے. تاکہ ماؤس ہے جب کلک کیا، مثال کے طور پر، آپ کو کچھ تقریب میں بلایا جائے چاہتے ہیں. تو تم نے واقعہ پر منتقل ہینڈلر، آپ، ایونٹ کے لئے منظور اس قسم کی، تقریب اس آپ کو بلایا جائے چاہتے ہیں. اور تم کیا گزر رہے ہیں آخر میں، کی طرح ہے دن کی، صرف ایک پوائنٹر کو تقریب میں ہے کہ ہدایات،. تو یہ آپ گزر رہے ہیں نہیں ہے پورے کوڈ، صرف کے طور پر تقریب میں ایک پوائنٹر. اور اس کے بعد، جب کسی کلکس ماؤس، تو اس تقریب میں بلایا جاتا ہے. [01:15:17] DAVIN: لڑیاں، آپ کا بہت ایک سرنی اعلان ہے. اس کے بعد، ایک صف میں چیزوں کو کرنے. اصلی فوری، یہ کیا باہر پرنٹ کرے گا؟ تیسرا عنصر کیا ہو گا؟ [01:15:31] سامعین: "جے". [01:15:32] DAVIN: صحیح، یہ "جے." ہو جائے گا انتظار، واپس جاؤ. لمبائی کیا ہے؟ [01:15:37] سامعین: تین. DAVIN: تین، ٹھیک ہے؟ بالکل آپ کیا سوچتے ہیں. ٹھیک ہے، اب جاؤ. arrays کے، آپ ان کے لئے چیزوں کو شامل کر سکتے ہیں. تو کیا تم باہر جا سکتے ہیں ان کے ابتدائی گامزن. بس کچھ ذہن میں رکھنے کی. پی ایچ پی، جاوا اسکرپٹ، وہ تھوڑا ہو چیزوں کے لحاظ سے تھوڑا سا زیادہ بخشنے والا ایسے ہی. اشیاء، بہت پسند structs کے C میں، بہت زیادہ پی ایچ پی میں ساہچری arrays کی طرح. تم سب اس کے ساتھ بات ہوئی ہے. آپ JSON گزر رہے ہیں جب JSON، تاکہ آگے پیچھے P- سیٹ آٹھ میں، کہ آپ کے اعتراض ہے. [01:16:03] تو جی ہاں، مثال، اصلی فوری مثال. یہاں کسی چیز ہے. آپ اس ریفرنس طریقہ اعتراض، فوری تاکہ صرف حقیقی، کی مجھے تلاش کرنا چاہتے تھے کہنے دو باہر، اوکے، کورس کیا ہے؟ اور اس طرح یہاں آبجیکٹ نام CS50 ہے. اور پھر میں نے ایک ساہچری تھا تو سرنی، میں کہ کس طرح کریں گے؟ میں نے دائیں، ایک اہم کا استعمال کریں گے؟ تو میں نے صف کے نام ہے. میں، بریکٹ، کی قیمت درج کرنے، چابی ہے آخر کی قیمت درج کرنے، آخر بریکٹ، اور یہ کہ حوالہ گا میرے ساہچری سرنی کے اندر عنصر. مجھے کس طرح محولہ کرتے میری شے کے اندر کورس؟ کسی کو معلوم ہے؟ [01:16:39] سامعین: [اشراوی]. [01:16:40] DAVIN: کیا بات ہے؟ سامعین: CS50.course. DAVIN: ٹھیک ہے، جی ہاں. تاکہ CS50.course. تاکہ جس طرح تم ان چیزوں کا حوالہ ایک JSON اعتراض اندر ایک نقطہ کے ساتھ ہے. [01:16:48] سامعین: آپ بھی صف نحو استعمال کر سکتے ہیں. [01:16:53] DAVIN: ٹھیک ہے، ٹھیک ہے. [01:16:54] Gabe کی: آپ بھی، CS50 بریکٹ استعمال کر سکتے ہیں واوین طرح سٹرنگ،. سامعین: میں یہ پی ایچ پی میں ایک جیسا لگتا ہے. Gabe کی: یہ ایک ہی بات ہے. DAVIN: ٹھیک ہے! لیکن آپ کو اس میں دیگر مقامات دیکھیں گے. جی ہاں، تو جا رکھنے. یہ میں نے ابھی کہا ہے. ایک جاوا اسکرپٹ jQuery کی مثال میں اتنا. تو یہ میری ڈوم حق، ہے؟ اصلی فوری، تو میں نے ایک ہیں سر، دنیا ہیلو، جسم. میں نے ایک بٹن ہے. یہ "، مجھے دھکا" کہتے ہیں تو میں نے اسے دھکا کرنا چاہتے ہیں. اور میں کچھ کرنا چاہتا ہوں اسے کلک کیا ہے جب. دائیں، اگلے. [01:17:31] ٹھیک ہے، تو یہ میرا جاوا اسکرپٹ ہے. تو jQuery صرف ایک آسان ہے راستہ جاوا اسکرپٹ لکھنے کا. یہ اتنا، اور میں دکھانے کے لئے جا رہا ہوں آپ کو اگلے،، jQuery کی جا رہی ہے ایک جیسی ہیں. تاکہ وہ ایک ہی باتیں کریں گے. صرف jQuery تھوڑا آسان ہو جاتا ہے. لوگ یہ زیادہ پسند کرتے ہیں. یہ فعالیت کی ایک بہت ہے. تاکہ لوگ jQuery استعمال کے لئے ہوتے ہیں. آپ تمام گزشتہ P- سیٹ میں jQuery استعمال کیا. تو اس کا کیا کریں گے؟ کیا کرے گا اس جاوا سکرپٹ تاکہ یہ جاوا سکرپٹ صرف سادہ ہے. یہ کیا کریں گے؟ یہ کیا کریں گے؟ [01:18:03] تو سب سے پہلے، آپ کو کھڑکی onload کے دیکھیں. ہے نا؟ تو ہم نے اس سے پہلے اس کو نہیں دیکھا تھا. لہذا اس کا انتظار کرنے کی جا رہی ہے پوری ونڈو بوجھ تک. تو یہ تک انتظار کرنے جا رہا ہے ایچ ٹی ایم ایل، تمام تصاویر بوجھ پہلے اسے کچھ نہیں کرتا. لہذا اپنی ڈوم بھری ہوئی ہے کہنے دو. سب کچھ وہاں ہے. اس کے بعد کیا ہونے جا رہا ہے؟ جی ہاں؟ [01:18:19] سامعین: بٹن ظاہر ہوتا. [01:18:22] DAVIN: بٹن کو پہلے ہی وہاں ہے. جی ہاں، تو وہاں پہلے سے بٹن کی. لیکن یہ کہنا جا رہا ہے ٹھیک ہے، میں بٹن پر کلک کرتا ہے تو، اتنی بٹن پر پہلے سے ہی ہے وہاں، کہ HTML ٹیگ کی طرح. ، انتظار اصلی فوری واپس جانا. اس ٹیگ کے حق یہیں پر ہے پہلے سے ہی ایک بٹن ہونے جا رہا. ایک بٹن پہلے سے ہی موجود ہے. لیکن اس وقت، جاوا سکرپٹ کو ٹیگ، یہیں پر، یہ ٹھیک ہے، میں چاہتا ہوں، کا کہنا ہے کہ آئی ڈی کی جانب عنصر حاصل کرنے کے لئے، تو تلاش کے بٹن پر بس ٹھیک، میں چاہتا ہوں، کا کہنا ہے کہ اس بٹن کو اس متغیر کے نقشے پر. تو کہ متغیر کی صرف ایک ہے اس بٹن تک رسائی کے لئے آسان طریقہ. میں نے اس پر کلک کریں تو اور کیا میں، ٹھیک ہے، کا کہنا ہے کہ بٹن، میں نے اس عنصر پر کلک کریں اگر ایسا ہے تو، اور اس عنصر سے مراد بٹن، میں نے اس پر کلک کریں تو، پھر میں نے ایک تقریب کو فون کرنا چاہتے ہیں. یہاں ان گمنام میں سے ایک ہے ہم کے بارے میں بات کر رہے تھے افعال. [01:19:03] بس کچھ تقریب کہتے ہیں. اس تقریب کے اندر، بنیادی طور پر کچھ تو ہم نے ایک بہت، الرٹ دیکھا ہے. آپ کی تلاش کے بٹن پر کلک کریں. یہ بنیادی طور پر ایک بٹن ہے جا رہا ہے. اگر آپ اس پر کلک کریں. تم وہ الرٹ ملے. X باہر. یہ بات ہے. جی ہاں؟ [01:19:16] سامعین: تو آپ کو ڈال دے تو اس کے سکرپٹ آپ HTML میں [اشراوی]، سکرپٹ ٹیگ؟ [01:19:21] DAVIN: تم سکرپٹ ڈال کر سکتے ہیں سر میں ٹیگ براہ راست آپ کو اس onload کے لئے ہے کیونکہ. یہ آپ کو ایک کلک ہے کہ میں بھی ہے. تو یہ تک انتظار کرنے جا رہا ہے آپ کسی چیز کے لئے کلک کریں. لیکن onload کے محفوظ ہونے کا صرف ہے، بنانے کے لئے آپ HTML میں سب کچھ بوجھ پہلے سے. جی ہاں؟ تم کچھ کہنا چاہتے ہو؟ [01:19:40] Gabe کی: [اشراوی]. DAVIN: جی ہاں. [01:19:42] سامعین: تو onload کے بچا جائے متغیر تلاش کے بٹن کی وضاحت کی بالکل اسی document.getElementByID کہہ کر تلاش کے بٹن ڈاٹ [اشراوی]. [01:19:49] DAVIN: ضرور، لیکن اس کے بعد آپ سٹرنگ صرف بھاری ہو جاتا ہے. بالکل ٹھیک، تو یہ صرف کے لئے ہے جی ہاں، یہ آپ کے لئے آسان بنانے کے. جی ہاں؟ [01:19:56] سامعین: ہم نے کہاں window.onload بنائیں؟ یا document.ready؟ [01:19:58] DAVIN: جی ہاں، وہاں ہے. جی ہاں، میں وہاں موازنہ کیا جاتا ہے. [01:20:02] Gabe کی: ان کے بارے میں پرواہ نہیں کے لئے. [01:20:03] DAVIN: ٹھیک ہے، تو میں جا رہا ہوں ویسے بھی آپ کو بتانے کے لئے. تو بنیادی طور پر، صرف عام طور پر، تاکہ window.onload تمام، آپ کے ڈوم تک انتظار کر رہی ہے اپنے HTML، بوجھ. یہ آپ کی تصاویر بوجھ تک انتظار کر رہی ہے. یہ سب کچھ بوجھ تک انتظار کر رہی ہے. document.ready، یہ صرف آپ ڈوم بوجھ تک انتظار کر رہی ہے. ایچ ٹی ایم ایل نے ایک بار سب وہاں، ہے ایک بار آپ ڈوم ہے، چل رہا ہے شروع ہوتا ہے. کہ صرف فرق ہے. [01:20:23] Gabe کی: فوری وویک یہاں چیک. تاکہ اس قسم کے دیکھا جا سکتا ہے کوڈ کی ایک لائن کی طرح، ہے نا؟ اس window.onload ہے کیونکہ سامان کا ایک گروپ کے برابر ہے. جاوا اسکرپٹ پڑھتا ہے تو اس، سچ ہے یا جھوٹے، تقریب قتل ہو جاتا ہے. جھوٹی. ٹھیک ہے؟ یہاں کیا ہوتا ہے، آپ کو صرف گزر رہے ہیں ایک گمنام افعال کے طور پر اس تقریب window.onload کرنے. اور پھر جب یہ جا رہا ہے اصل میں پھانسی دے دی حاصل کرنے کے لئے؟ جب ونڈو بوجھ. کہ ایک واقعہ ہے. تو ہے کہ ہم ہیں jus کے ٹی چیز ہے حق، اس سے قبل کی بات کر رہا؟ تاکہ واقعہ ہوتا ہے جب، تقریب ہوتا ہے. ہیں OnClick ساتھ ایک ہی بات. [01:20:59] DAVIN: ٹھیک ہے، کسی نے لیا تو دور document.ready. لیکن یہ عین مطابق same-- ہو جائے گا سامعین: ڈالر کی نشانی، کہ ایک document.ready ہے. کہ ایک شارٹ کٹ ہے. [01:21:07] DAVIN: اوہ، یہ ہے کہ؟ ٹھیک ہے، تو اس کا مطلب ہے کہ document.ready، شارٹ کٹ. لیکن یہ window.onload کے طور پر ایک ہی ہے کہ کم فرق کے لئے چھوڑ کر کے بارے میں میں نے آپ سے کہا. اور اس jQuery ہے. تو کیا یہ بالکل وہی ہے یہ جاوا سکرپٹ ہے thing--. یہ کچھ لوگوں کو اس کے بارے میں سوچنا just-- جاتا ہے ایک سے زیادہ ہلکے وزن کے طور پر، چیکنا ورژن اس فعالیت کے بہت سے ہے کہ آپ شاید استعمال کریں گے. تو کیا یہ بالکل وہی بات ہے. [01:21:34] تو چیزوں قسم کی نشاندہی کرنے کے لئے. دوسری مثال میں، ہم ، ہیں document.getElementByID دیکھا گیا تو ہم نے اس طویل تھا حاصل کرنے کے لئے جا رہا ہے کہ سٹرنگ یہ ہے جو کچھ بھی آئی ڈی کی جانب عنصر. کہ یہیں اس کال کی طرف سے تبدیل کر رہا ہے. لہذا آپ کو، ڈالر کا نشان دیکھیں پھر آپ کو اقتباس، hashtag کے دیکھیں. hashtag کے ہمیشہ ایک سلیکٹر ہے. یہ ٹھیک ہے، یہ ایک ID کے ساتھ کیا ہے، کا کہنا ہے کہ. ایک کلاس کے لئے سلیکٹر کیا ہے؟ [01:21:56] سامعین: ڈاٹ. [01:21:57] DAVIN: ڈاٹ، حق. آپ کو صرف کرنے جا رہے ہیں ایک ٹیگ، یہ کیا ہے کو منتخب کریں؟ یہ بالکل، بالکل اسی ٹیگ ہے. اور آپ کے ساتھ ساتھ، یہاں اس کا استعمال کر سکتے. [01:22:05] Gabe کی: اور ٹیگ کی طرف سے، ہم جیسے مطلب div کی، مثال، یا سر کے لئے. [01:22:08] DAVIN: یا جسم یا P یا اس طرح کچھ بھی، جی ہاں. تو یہاں، ٹھیک ہے، بجائے کہہ کے ہیں document.getElementByID، یہ تو صرف ایک ہی چیز کا ہے. بس jQuery میں، یہ چھوٹا ہے. تو یہ آسان ہے. تو پھر، کوئی زیادہ ہیں OnClick، صرف کلک کریں. jQuery تقریب، اس تقریب کو فون. الرٹ بالکل وہی ہے. تو یہ تھوڑا سا ہے چھوٹے، یا تھوڑا سا چھوٹا، تھوڑا سا لوگوں کا خیال یہ باہر لکھنے کے لئے تھوڑا آسان ہے، آسان تھوڑا سا سمجھنے کے لئے. لیکن یہ jQuery ہے. بہت سے لوگ تھوڑا حاصل تھوڑا الجھن اور پریشان اور وہ ٹھیک ہے، jQuery کے، لگتا ہے کہ جاوا سکرپٹ کے مقابلے میں مختلف ہے. میں نے ان کو یاد ہے دو مختلف چیزیں. ایسا نہیں ہے. میں نے اس کے مختلف نحو ہے، مطلب. لیکن jQuery جاوا اسکرپٹ ہے. یہ صرف ایک بظاہر ہے بہتر ورژن ہے کہ کرنے کے لئے آسان ہو سکتا ہے لوگ استعمال کرتے ہیں کو سمجھتے ہیں. Gabe کی: جی ہاں، بننا ایماندار، کہ ڈالر کی نشانی آپ jQuery میں دیکھتے ہیں کہ، صرف ہے کہ jQuery کی وضاحت کرتا ہے کہ ایک تقریب کے نام. یہ کچھ خاص نہیں ہے. ، یہ ایک تقریب کا صرف نام ہی کا ہے صرف آپ کو ڈالر کی نشانی کی وضاحت کر سکتا ہے جیسے. [01:23:03] DAVIN: جی ہاں، تو اس کے بارے میں بات کی تھی. کچھ مفید چیزوں کو. میں واپس پرانے quizzes کو دیکھ رہی تھی. گزشتہ چند quizzes میں، وہ ہے اس طرح چیزوں کا استعمال کرنا پڑا. تاکہ document.ready، تاکہ اس بات کا یقین سب کچھ بنانے تم سے پہلے بھری ہوئی چیزوں کر شروع. ایک شناختی کریں، یا منتخب کریں ایک کلاس، یہ صرف ہوتا کچھ طبقے، اھ ڈاٹ قیمت ہو جائے. اگر آپ کر رہے ہیں، جمع کرانے ایک شکل اور کال کے سامنے سرتسلیم خم فارم کے بعد اس تقریب پیش ہے. قدر، تو چلو میں ایک فارم تھا کہنے دو جمع کرانے، ایک صارف نام کی طرح، ایک ای میل، جو کچھ بھی. میں نے ایک ٹیکسٹ باکس تھا. تو میں اس کے ٹیکسٹ باکس میں ٹائپ کر رہا ہوں. ٹھیک ہے، تم قیمت حاصل کرنا چاہتے ہیں تو اس ٹیکسٹ باکس کے باہر، آپ ڈاٹ ویل کا استعمال. اور پھر، یہاں نیچے، ڈاٹ ایچ ٹی ایم ایل ایک ہی ہے دستاویز ڈاٹ طرح ہے getElementByID ڈاٹ innerHTML. تو ہے کہ واپس جا رہا ہے آپ اس آئی ڈی سے ٹی ایم ایل. یہاں، آپ کو صرف کچھ کا استعمال ID یا جو کچھ ڈاٹ ٹی ایم ایل. کہ اس عنصر سے HTML حاصل کریں گے. آپ کو تو اس کو تبدیل کرنا چاہتے تھے تو ایچ ٹی ایم ایل، آپ اسے کچھ کے پاس کر سکتے ہیں. تو کیا تم پھر ڈاٹ ٹی ایم ایل کی طرح ہو، اور چاہتے ہیں اندر، کی قیمت درج کرنے، نئے HTML یا کچھ اور. [01:24:05] Gabe کی: ٹھیک ہے، AJAX تا. میں واقعی میں سمجھنے کے لئے پسند AJAX واقعی میں بہت اچھا. لہذا میں آپ کو لوگ چاہتے ہیں واقعی میں بہت اچھا AJAX کو سمجھتے ہیں. اگر آپ ایسا کرتے ہیں کیونکہ، آپ کو بہت زیادہ ہیں جا رہے ہیں سب کچھ سمجھنے کے لئے کہ HTTP کے ساتھ کیا ہے، پی ایچ پی، جاوا اسکرپٹ یہ سب اس کی وجہ AJAX میں ایک دوسرے کے ساتھ آتا ہے. AJAX کی ایک زبان نہیں ہے. AJAX کی ایک ٹیکنالوجی ہے. اور یہ مختلف آلات کے بہت سے استعمال کرتا ہے. AJAX کے لئے کھڑا ہے اتلیکالک جاوا اسکرپٹ XML. طریقہ، زبان، کے اعداد و شمار. [01:24:36] ہم استعمال کرتے ہیں کہ اہم زبان اتنی AJAX میں سب کچھ ٹرگر کرنے کے لئے اور ہر چیز کو ہینڈل کرنے میں بعد میں جاوا اسکرپٹ ہے. اس سے متعلق یہی وجہ ہے کہ جاوا سکرپٹ کے لئے بہت قریب. اور پھر اتلیکالک ہے ہم ایسا نہیں کرتے کیونکہ تمام ایک بار میں ہم صفحہ لوڈ کر رہے ہیں جب. یہ ہے کہ ہم کر سکتے ہیں ایک ہی چیز ہے متوازی طور پر اس قسم کی باتیں کرتے ہیں. پیچھے بنیادی خیال AJAX آپ چاہتے ہیں یہ ہے کہ یہ کچھ مخصوص معلومات حاصل کرنے کے لئے. مثال کے طور پر، جب آپ نئے ٹائپ کر رہے ہیں آپ کو ایک صارف کا نام رجسٹر کرتے وقت صارف کا نام، اپنے صارف نام abc123 ہے. اور پھر، کے آخر میں فارم، آپ جمع کریں پر کلک کرنے کے لئے ہے. اور یہ، سرور سے جانا پڑا اور پھر، ڈیٹا بیس میں تو چیک abc123 پہلے ہی وہاں ہے. یہ پہلے سے ہی موجود ہے تو یہ کہتے ہیں کہ، پہلے سے ہی ڈیٹا بیس میں صارف کا نام. اور وہ، آپ کو بھرنے کے لئے ہے پورے فارم کو پھر سے. اور یہ واقعی، بہت برا تھا. [01:25:23] اور پھر لوگوں کا کہنا ہے، ٹھیک ہے، ہم کیوں نہیں کر سکتے ہیں صرف یہ چیک کرنے کے لئے ایک چھوٹا سا HTTP درخواست کروں اس صارف کے ڈیٹا بیس میں تو دیکھ کر صارف کو دیکھیں تھا اس سے پہلے پورے فارم کو جمع؟ تو مثال کے طور پر، جب صارف، abc123 ٹائپ کر فارغ چلو صرف سرور کو تھوڑا چلتے ہیں بٹ اور صرف ایک صحیح یا غلط ہو جاؤ تو دیکھنا سرور سے یہ ایک درست صارف کا نام یا نہیں ہے. ٹھیک ہے، تو ہے کہ اہم میں سے ایک ہے آج تک AJAX کا استعمال کرتا ہے. [01:25:49] DAVIN: تو میں، فوری حقیقی jQuery میں ایک ایجیکس کال، تم آپ اس کی نشاندہی کر سکتا ہے اس تلیکالک بننا چاہتا ہوں. اگر آپ ایسا نہیں کرنا چاہیئے. لیکن آپ یہ کر سکتے ہیں. آپ، کہ کیا تو اور کیا ہوگا؟ ویسے، مثال کے طور پر، آپ جب ہو خبر یا جو کچھ بھی ہو رہی ہے، آپ کے براؤزر صرف انتظار کی جا رہی ہے کہ پورے کال مکمل ہونے تک اس کی بجائے دے کے آپ کو دوسرے کرتے حق آپ کے بعد چیزیں اس پر کلک کریں. [01:26:14] Gabe کی: یہ اب گزر نہیں ہے. اوہ میرے خدا. معاف کیجئے گا! جی ہاں. "ماضی میں، کلائنٹ کی درخواست کے لئے درکار ایک ویب سائٹ کے پورے مواد. " کہ میں نے وہی کہا. اس کو بھیجنے کی اجازت دیتا ہے اضافی حاصل یا پوسٹ بغیر درخواستوں ہمارے براؤزر دوبارہ لوڈ. دن کے آخر میں، ہم ہیں اصل میں ایک HTTP درخواست بنانے یہاں جاوا سکرپٹ کا استعمال. کیونکہ اس سے پہلے، ہم صرف جاوا اسکرپٹ استعمال کیا پہلے سے ہی آیا ہے کہ ایچ ٹی ایم ایل کو تبدیل کرنے کی. اور اب، ہم انٹرفیس کرنے کے لئے استعمال کر سکتے ہیں اس کے ساتھ ساتھ ویب سرورز کے ساتھ. اگر ایسا ہوتا طریقہ ہم کلائنٹ ہے. Davin ایک کلائنٹ ہے. اور وہ ہر جاوا اسکرپٹ کا ہے ایچ ٹی ایم ایل کی وجہ سے چل رہا گونگا ہے. جاوا سکرپٹ کو ہوشیار ہے. تاکہ davin Davin ان کے سمارٹ ہے حصہ اور اس کے گونگے حصہ. انہوں نے اب اپنے اسمارٹ حصہ استعمال کرنے جا رہا ہے. انہوں جاوا اسکرپٹ استعمال کرنے کے لئے جا رہا ہے درخواست پر، مثال کے طور پر، abc123 میں ہے کہ ڈیٹا بیس یا نہیں. [01:27:04] تاکہ Davin، براہ مہربانی، آپ کو صرف مجھے ایک HTTP درخواست بھیج. آپ کا شکریہ. تو وہ صرف ایک HTTP درخواست بھیجی. تم نے یہ دیکھا؟ اور یہ کہ صرف ایک ہی طریقہ ہے کسی بھی HTTP درخواست بھیجی جانے والی. براؤزر، گوگل کروم یا کچھ اور، ہے Davin کی کہ دیکھ کر جا ایک HTTP درخواست بھیجنے کی کوشش کر، ایک تھوڑا سا HM مدد کی جا رہی. اور یہ کہ جانا جا رہا ہے سرور کے لئے تمام طریقہ. اب، سرور کی جا رہی ہے یہاں پی ایچ پی، یا کسی بھی دوسری زبان. صرف ایک عام HTTP درخواست میں پسند. یہ بہت زیادہ ایک عام HTTP درخواست ہے. [01:27:31] اور پھر، سرور اوکے، کہنا جا رہا ہے، Davin یا نہیں دیکھنے کے مجھے چاہتا ہے اس abc123 ڈیٹا بیس میں ہے. ماڈل سے بات کرو. ماڈل یہ نہیں ہے کا کہنا ہے کہ. abc123 ایک اچھا صارف نام ہے. اور پھر، ویب سرور کی جا رہی ہے فائل کے کچھ فارم فراہم کرنے کے لئے پی ایچ پی کا استعمال. یہ لفظی صرف ایک فائل ہو سکتا ہے کہ کوئی "اس میں" ہاں "پر مشتمل ہے، یا، یا اس طرح کچھ. یہ کسی بھی فائل ہو سکتا ہے. [01:27:54] میں جا رہا ہوں جیسے یہ ہو سکتا ہے Davin ایک بتھ کی ایک تصویر بھیج اس ڈیٹا بیس میں ہے اور ایک hamster کی ایک تصویر بھیج اس ڈیٹا بیس میں نہیں ہے تو. اس قسم کے ہوں گے گونگے، لیکن یہ کام کریں گے. ٹھیک ہے، تو میں نے Davin میں بطخ بھیج. Davin بتھ مل گیا. اور اب، جو کی جا رہی ہے بتھ کو ہینڈل کرنے کے لئے؟ Davin کے سمارٹ حصہ دوبارہ، تو جاوا سکرپٹ، ٹھیک ہے؟ جاوا سکرپٹ کو بھیجا درخواست، اور جاوا سکرپٹ درخواست موصول کی جا رہی ہے اور نہ کسی شکل میں اس کی تشریح. [01:28:22] اور اس معنی میں، یہ جا رہا ہے تو میں اچھا ہوں بتھ، تو ٹھیک ہے، کا کہنا ہے کہ. hamster کی، تو میں جا رہا ہوں پہلے سے ہی کوئی، صارف کا نام، کیا کہنا ڈیٹا بیس میں موجود ہے. لیکن عام طور پر، تم نہیں ہو بتھ بھیجنے کے لئے جا. آپ کو بھیجنے کے لئے جا رہے ہیں قدرے عقلمندی سے کچھ کی. اور جو ہم استعمال XML ہے. اور حال ہی میں، ہم JSON کا استعمال. JSON صرف جاوا سکرپٹ ہے آبجیکٹ سنکیتن، جس میں بنیادی طور پر آپ کو ایک حاصل کر رہا ہے پورے جاوا اسکرپٹ اعتراض. اور آپ کو صرف پسند، ایک فائل میں ڈال دیا تم لوگوں نے دیکھا کہ کہ CS50 اعتراض. آپ کو ایک فائل میں ڈال دیا، اور آپ Davin کو اس پر بھیج دیں. [01:28:53] تو اس معاملے میں، میں کروں گا ایک جاوا اسکرپٹ اعتراض بنانے اور صرف، صارف موجود ہے، ہاں کہنے. یا صارف کی کوئی موجود ہے. اور اس کے لئے اسے واپس بھیج. اور کیوں JSON؟ شخص کی وجہ سے جو یہ ہے وصول کرنا ہے جاوا سکرپٹ کو استعمال کرنے کے لئے جا اس کے جواب کو ہینڈل کرنے میں. اور جاوا سکرپٹ کو اتنی اچھی طرح سے کام کرتا ہے کیونکہ یہ جاوا سکرپٹ آبجیکٹ سنکیتن کہا جاتا ہے. ہے نا؟ تو اس نے صرف ایک تقریب کو فون کرنے اور حاصل کر سکتے ہیں جواب سے اس اچھی اعتراض. اور پھر، وہ جاننا ہو رہا ہے کہ صارف کے ڈیٹا بیس میں ہے یا نہیں ہے. [01:29:22] لہذا آپ کو دیکھ، اس کے تمام آنے والے ایک دوسرے کے ساتھ کے ویب سرور میں، اور اس کے بعد کی درخواست کرنے کے لئے ایک HTTP وہاں ہے اور ایک HTTP جواب اور سب کچھ. اتنا یقین تم لوگوں کو بنانے کے اس AJAX کال کو سمجھ اس کی مدد کرتا ہے کیونکہ آپ سب سمجھ تصورات میں ہم کے بارے میں بات کر رہے ہیں. [01:29:37] تو یہاں ایک مثال ہے jQuery کے ساتھ AJAX کی. اور یہاں، ہم حاصل JSON کے ساتھ کیا. تو ہم نے ایک حاصل کرنے کی کوشش نہیں کر رہے ہیں یہاں ایک بلی، یا ایک بتھ کی تصویر. ہم ایک JSON فائل حاصل کرنے کے لئے کوشش کر رہے ہیں. اور پھر ہم تک انتظار یہ کیا ڈوٹ، ہو چکا ہے. یہی تو میں جواب کے لئے انتظار کر رہا ہوں مطلب ہے. یہ تھوڑا وقت لگ سکتا ہے. اس کے بعد، آپ کو تھوڑا لوڈ ہو رہا ہے دیکھیں. آپ اپنی ویب سائٹ میں ایسا کرنا چاہتے ہیں تو. تو پھر کیا کیا، اور ڈاٹ کیا یہ ہو چکا ہے تو کیا ہوتا؟ آپ ایک گمنام میں منتقل تقریب، صرف ہم سے پہلے دیکھا. کیا کیا کیونکہ صرف، ایک واقعہ ہے ایک ماؤس یا جو کچھ بھی کلک کرنے کی طرح، jQuery کے لئے. تو اگر آپ اس تقریب کے ساتھ میں منتقل ڈیٹا، متن، حیثیت، اور jqXHR. اور بنیادی طور پر، کہ ہے صرف کچھ متغیرات آپ کے پاس کرنے کو بعد میں استعمال کر سکتے ہیں HTTP درخواست کی حیثیت، یہ ہو رہا ہے کہ اعداد و شمار آپ کے پاس واپس بھیجنے کے لئے. تو پھر اگر آپ کو بعد میں اس کی تشریح کر سکتے ہیں اور اس کے ساتھ بامعنی کچھ کرنا. یہ ناکام ہو جاتا ہے اور اگر، جب یہ ناکام ہو سکتا ہے؟ ویسے، جب HTTP درخواست دیتا ہے آپ کو اس طرح ایک 500 یا کچھ اور. پھر، یہ آپ کو بتانے جا رہا ہے حیثیت، تھا کہ ناکامی کے کس قسم، اور کئی طرح کی باتیں. کیا آپ کو یقین بنانے کے لئے ہے دونوں صورتوں کو ہینڈل کرنے میں، دوسری صورت میں پروگرام پاگل ہو جاتا ہے. [01:30:42] DAVIN: تو جی ہاں، یہ بالکل وہی ہے آپ اپنے آخری P- سیٹ پر دیکھا کیا. اصل AJAX کال مل JSON میں ہے. اس کا فون ہے. اور پھر، ڈاٹ کیا کیا طرح ہے یہ کامیاب ہے تو یہ چیک کرتا ہے. یہ کامیاب ہوتا ہے تو، آپ چاہتے ہیں اعداد و شمار کے ساتھ کچھ کرنا. تم نے اس سے واپس حاصل JSON ڈیٹا کی درخواست. کہ تم واپس حاصل کیا ہے. تو تم اپنے P- سیٹ سے یاد ہے، آپ کی ایک بہت کے اعداد و شمار بریکٹ کی طرح تھے مجھے یا جو بھی، ڈاٹ لنک یا عنوان. واپس جو کچھ بھی آ رہا ہے کہ JSON، سے جو بھی کھیتوں، کہ JSON اعتراض میں ہیں کہ تم واپس ہو رہے ہیں ہے. اعداد و شمار آپ کو واپس مل رہا ہے کیا ہے. سٹیٹس کی، صرف کچھ ہے کہ آپ کو کیا ہوا پتہ رہےگا. اور پھر، jqXHR، صرف ہے کہ jQuery کے XML HTTP درخواست. کہ صرف کسی چیز کی طرح ہے. اور پھر بغیر کہا کہ بالکل اسی طرح، میں ناکام رہتے ہیں. Gabe کی: abc123 کے ہماری چھوٹی مثال میں ڈیٹا بیس ہے کہ میں تو صرف یہ چیک کرنے کے لئے یا، اعداد و شمار آپ کچھ ہو جائے گا نہیں اعداد و شمار کو ڈاٹ صارف کا نام موجود ہے تو، کیا کریں گے، آپ پی ایچ پی کے لئے پیدا کیا ہے جس میں ہے آپ کو ڈیٹا ڈاٹ صارف کا نام تو موجود ہے، اگر مجھے آگاہ کرنے کے لئے جا رہا ہوں، صارف نام پہلے سے موجود ہے. ورنہ، میں نے صرف دو کرنے کے لئے جا رہا ہوں صارف فارم کو بھرنے کے لئے آگے بڑھنے. اوکے، سیکورٹی، ٹھنڈا. [01:31:50] DAVIN: میرے لئے چاہتے ہیں؟ [01:31:52] Gabe کی: مجھے یہ پسند ہے. تو کچھ واقف لگ رہا ہے کہ. ہم نے تقریبا کیا کر رہے ہیں. تو یہ صرف مثال ہے تم لوگوں کو کلاس میں دیکھا. آپ یہاں argv1 استعمال کر رہے تھے. یہ ایک کمانڈ لائن کی دلیل کی طرح ہے. اور ہم کاپی کو mem رہے ہیں کہ 12 سائز کے ایک بفر میں. یہاں مسئلہ کیا ہے؟ بفر اتپرواہ! ہم سائز 12 کے ایک بفر ہے کیونکہ. argv1 دو ارب کے سائز کو ہو سکتا ہے. ہم کسی بھی حد چیکنگ ایسا نہ کرو. تاکہ ہم میموری کا ایک بہت کو کاپی کر سکتے ہیں. اور ہم نے خاص طور پر ہو جائے گا اس کے بارے میں برا. ہم کہ میں کیا کر سکتا تھا بہت، بہت اس معاملے میں مطلب ہے؟ جی ہاں؟ سامعین: دو ارب چیزوں کا حصہ واپس کہ کارکردگی کوڈ پر مشتمل ہے [اشراوی]. Gabe کی: بالکل. تو ہے کہ کی طرح ہے لوگ استعمال کرتے ہیں وہ چیز مثال کے طور پر، ایک فون باگنی کے لئے. اس طرح کی بات تو کیا. آپ صرف آلہ کر سکتے ہیں کیونکہ آپ کی طرح ہے کہ کسی بھی کوڈ کو پھانسی. طے کر، تو ٹھیک کرنے کے لئے آسان ہے. بس گامزن لئے چیک. آپ شہوت انگیز null کیونکہ لئے چیک ہم ہمیشہ انگیز null کے لئے چیک جب ہم ڈور کے ساتھ کام کر رہے ہو. اور اس کے بعد، آپ کو لینے سٹرنگ کی لمبائی سے پہلے. اور اگر سٹرنگ لمبائی ایک درست تار ہے 0 اندر اندر ہے جس کی لمبائی، اور 12، تو ہم اچھے ہیں. [01:33:03] DAVIN: آپ کے لئے جانچ پڑتال نہیں کرتے ہیں تو شہوت انگیز null، اصلی فوری، کیا ہوگا؟ یہ seg غلطی کر لیں گے. کیوں یہ seg غلطی کرے گا؟ آپ شہوت انگیز null پر strlen بلا رہے ہیں کیونکہ. Gabe کی: جی ہاں. ایک کا استعمال، صحیح یا غلط پاس ورڈ ایک اچھا خیال ہے. [01:33:19] سامعین: جھوٹی. [01:33:20] Gabe کی: جھوٹی. بہت سے پاس ورڈ، اور بڑے، لمبی لوگ استعمال. پیڈلاک شبیہیں سلامتی کو یقینی بنانے. [01:33:26] سامعین: جھوٹی. [01:33:27] Gabe کی: جھوٹی. یہ کوئی مطلب نہیں ہے. یہ صرف ایک آئکن ہے. ایس ایس ایل اے کے خلاف تحفظ فراہم کرتا ہے درمیانے حملہ میں آدمی. سامعین: جھوٹی. Gabe کی: جھوٹی. ٹھیک ہے، تو ان تمام لوگوں کو جھوٹے ہیں. اچھا. [اشراوی] اس بارے میں بات کرنا چاہتے ہیں؟ آپ کی باری. DAVIN: حملوں کی اقسام، درمیان میں مرد. مڈل حملے میں ایک آدمی کیا ہے؟ سامعین: [اشراوی]. DAVIN: آپ کو ایک بھیجتے ہیں تو HTTP درخواست، وہ صحیح، یہ کر سکتے ہیں؟ لیکن آپ HTTPS بھیج رہے ہیں، انہوں شاید ایسا کرنے کے لئے نہیں کر سکیں گے. پوائنٹس کے بہت سے ہے آپ کے کنکشن کے ساتھ ساتھ. تم راوٹرز ہے. آپ DNS سرورز ہے. کسی کو جسمانی طور پر کرنے کے قابل ہے آپ بھیج رہے ہیں دیکھتے ہیں کیا، کسی کو تو ہم کرنے کے قابل ہے اصل میں آپ کے درمیان حاصل، کلائنٹ، اور سرور، اور ہے آپ بھیج رہے ہیں کیا میں دیکھ کرنے کے قابل، اس درمیانی حملے میں ایک آدمی ہے. تو اگر آپ سے حاصل کرنے کی کوشش کر رہے ہیں دیکھنے کے لئے سرور، یا، بدتر see-- کرنے کے قابل ہے آپ کو دیکھ کرنے کے قابل ہو سکتا ہے کوکیز یا اس طرح کچھ. [01:34:16] مثال کے طور پر، اگر ایسا ہے تو کیا تم نے، SSL استعمال نہیں کر رہے کو دیکھنے کے لئے قابل ہو سکتا ہے آپ کی شناخت سیشن کوکیز. اور اس اجلاس کے اغوا کہا جاتا ہے وہ آپ کی آئی ڈی کوکیز دیکھتا ہے کیونکہ، اور پھر وہ اس پر جانے کے لئے کے قابل ہے ویب سائٹ اور اپنی ہونے کا ڈرامہ. صرف پی ایچ پی میں پسند ہے کیونکہ، یاد رکھنا ہم میں کا جب، ہم کیا کرتے ہیں؟ ہم ID کے برابر شناخت سیشن مقرر. تو ہے کہ آپ کو پہچانتی ہے. آپ کو اپنے پورٹ فولیو میں دیکھ سکتے ہیں یہی وجہ ہے کہ اور نہیں سب کسی اور کے پورٹ فولیو. [01:34:38] ٹھیک ہے، میں ہے کہ کوکی حاصل کرنے کے قابل ہوں تو، پھر میں نے اس صفحے پر لاگ ان کر سکتے ہیں. اور اس کے بعد، میں نے صرف اپنا سامان دیکھ سکتے ہیں اور خرید اور سامان کی فروخت شروع. تو ہے کہ اجلاس کے اغوا ہے. لیکن تم اتنی قابل to-- نہیں ہونا چاہئے درمیانے حملہ میں انسان کو استعمال کر سکتے ہیں یہاں تک کہ وہ SSL استعمال کررہے ہیں تو. لیکن آپ کو کرنے کے قابل نہیں ہونا چاہئے. وہ SSL استعمال کرتے ہوئے کر رہے ہیں تو، آپ کے سیشن اغوا نہیں کر سکتا. آخر کیوں؟ یہ تمام خفیہ کردہ ہے کیونکہ، ہے نا؟ یہ خفیہ کردہ ہے تو، اور میں اب بھی میں ایک آدمی ہوں مڈل، میں اب بھی آپ کے اعداد و شمار ملے. یہ ٹھیک ہے. لیکن یہ خفیہ کردہ ہے. تو میں نے واقعی اس کا استعمال نہیں کر سکتے. تو ہے کہ دو ہے. [01:35:09] اصلی فوری، کراس سائٹ کی درخواست جعلسازی. ایک لنک اگر وہاں صرف ہے کہ اور یہ کہ لنک کچھ کرتا ہے تم نے ایسا کیا جانا چاہئے نہیں لگتا ہے کہ. تو مثال کے طور، لنک اگر تھا اسٹاک کو خریدنے یا اسٹاک فروخت کی جا رہی، اور آپ کو یہ معلوم نہیں تھا. تم، لنک پر کلک کیا خریدا ایک درخواست، بھیجا یا کچھ اور فروخت تمہیں کیا کرنا نہیں چاہتا تھا. یہ ہے وہ ہے. [01:35:25] کراس سائٹ سکرپٹ، یہاں بہت، آپ، متغیر (ق) کے ذریعے میں گزر رہے ہیں بجائے اس کے کچھ قسم میں گزرنے والے کے قدر کی، ہو سکتا ہے کہ ق ایک نام کی طرح ہے. تو بجائے ق برابر گزرنے کے Davin یا اس طرح کچھ، آپ کو HTML استعمال نہیں کرتے تو خصوصی حروف، اگر آپ یہ ہے اس بات کو یقینی بنانے کے لئے اس سے بچ نہیں کرتے ٹھیک ہے، پھر میں نے اس کی بجائے میں منتقل کر سکتے ہیں، چلو یہاں سے میں کہہ رہا ہوں کہنے دو اس طرح سے پرنٹ یا کچھ اور، پھر میں یہاں ایک سکرپٹ کال میں گزر سکتا ہے. [01:35:51] تو پھر، بجائے اس کے کہ صرف ایک متغیر ہو رہی ہے، میں نے تو اس اسکرپٹ کال پر عمل کریں گے. کہ سکرپٹ کے اندر اتنی فون، یہ کیا کرتا ہے؟ دستاویز ڈاٹ محل وقوع، کہ جا رہا ہے دستاویز کی جگہ تبدیل. اس لئے میں ری ڈائریکٹ کرنے کے لئے جا رہا ہوں کہیں اور. یہ برا آدمی میں کہا جاتا ہے اس مثال، بہت اچھا. لفظ کا سوچ بھی نہیں سکتا تھا. اور پھر، کیا اس سے بھی ہے بدتر میں جا رہا ہوں یہ ہے کہ کچھ ہے جو اس کے بعد کوکی مقرر، کرنے متغیر میں اس ویب سائٹ میں ضرورت. میں نے اس کے برابر مقرر کرنے جا رہا ہوں دستاویز ڈاٹ کوکی کو. لہذا، میں جا رہا ہوں اپنے کوکیز کو چوری کرنے کی. اور میں ری ڈائریکٹ کرنے کے لئے جا رہا ہوں ایک ویب سائٹ پر کچھ معلومات کہ آپ تک رسائی حاصل نہیں کیا جانا چاہئے. تم ہو کیونکہ اور یہ سب ہوتا آپ کو نہیں دیکھا ہے سے بچنے سے. جی ہاں؟ [01:36:29] سامعین: تو صرف کرنے کے لئے یہ بات ہے، یہ واضح کر دے vulnerable.com کہ اس کے خطرے سے دوچار ہے. اس لنک ظاہر ہو سکتے ہیں تو کسی بھی صفحے پر. کسی کو، اس پر کلک کرتا ہے vulnerable.com کو جاتا ہے. تم vulnerable.com کو ایک کوکی ہے. فیس بک ہے کہنے دو غیر محفوظ، facebook.com تا. آپ اپنے فیس بک کوکی ہے. یہ کیا کر رہا ہے، تم ہو facebook.com کے لئے جا رہا، یہ فوری طور پر منتقل کیا جا رہا ہے آپ، badguy.com کرنے لیکن آپ کی کوکی معلومات بھی شامل ہے. تو یہ ایک فوری ری ہے، لیکن اپنے فیس بک ککی کہ ری ساتھ شامل ہے، اور یہ کہ وہ کس طرح [اشراوی] ہے. Gabe کی: جی ہاں، وہاں ہے کچھ بہت ہی گھٹیا چیزیں یہ اگر وہاں کے لوگوں کر سکتے ہیں کہ. مثال کے طور پر، فیس بک کی اجازت دی تو ہر کوئی، اپنا صارف نام تبدیل کرنے کی اور وہ کسی بھی ایسا نہیں کیا وویک چیک، آپ کا بہت ایک جاوا اسکرپٹ چیز داخل کر سکتا ہے کہ ایک hamster لئے آپ کی تصویر کو تبدیل. اور یہ کہ اسی کو جاوا اسکرپٹ کا اضافہ اپنے صفحے کو دیکھتا ہے جو سب میں. اپنے صفحے کو دیکھتا ہے جو تو سب لوگ صارف کا نام میں ایک ہی بات ہے. اور یہ ایک وائرس ہے کیونکہ، اسے تیزی سے پھیلتا ہے. DAVIN: ہم نے گزشتہ چھوڑ دیں گے ایک، اور اس کے بعد ہم کیا کر رہے ہیں. تو یہ صرف ایک اور مثال ہے. تو یہ ہے وہ نہیں ہو رہا ہے ان SQL ٹیبل سے بچ نکلتے. لہذا آپ اسے چھوڑ کر سکتے ہیں. تو کیا تم چیزوں سے بچنے کے لئے کرنا چاہتے ہیں. کہ گزشتہ مثال تھا کراس سائٹ سکرپٹ کے ساتھ. افسوس ہم دیر سے ایک تھوڑا سا بھاگ گیا. کل، افسوس! کل، ہم دفتر کے اوقات ہیں. 11:00 Cabbot 8:00 میں اتنی دفتر کے اوقات. دفتر کے اوقات ہیں سختی سے تمام سوالات کے سوالات کے لئے.