[موسیقی بجانے] DAVID MALAN: یہ CS50 ہے، اور اس ہفتے آٹھ کا آغاز ہے. اور ہم نے استقبال کے لئے بہت حوصلہ افزائی کر رہے ہیں واپس، بڑا تعجب، CS50 اپنے Ramon کے GALVAN، کیا گیا ہے جو میں اضافے کا سینئر گزشتہ کئی ماہ کے خرچ LA میں جولائی کے بعد، ہالی وڈ میں، لفظی ایک نئے برانڈ ٹی وی پر کام کر رہے ہیں کالونی نامی شو، جس میں خالق اصل میں ایک ہارورڈ فٹکری خود ہے. اور ہم اس کو دیکھنے کے لئے بہت حوصلہ افزائی کر رہے امریکہ نیٹ ورک کے اس جنوری پہلی. تو اس کے لئے دیکھتے رہنا، اور ہفتے کے لئے زیادہ Ramon کے آنے. اختتام کے قریب ہے کہ اب مجھے پتہ ہے. اور کیا اس کا مطلب یہ نہیں ہے کہ تمام اتنا کہنا اداس، CS50 کے بائیں. ہم صرف تین مسئلہ ہے سیٹ ہے left-- مسئلہ میں ہے جس six-- مقرر اپنے ہاتھوں کو اب یا جلد ہی ہو جائے گا، بعد مراد ہے week-- اس پل کی وجہ سے کمانڈ لائن، جہاں ہماری دنیاؤں ہم استعمال کر ہمارے وقت کی سب سے زیادہ خرچ کیا ہے C، اور ویب پروگرامنگ کی دنیا. ٹھیک ہے، آپ کے خیالات کی ایک بہت کچھ دیکھیں گے کمانڈ لائن کام سے ادھار لیا، لیکن نئے کی بھی ایک بہت اور دلچسپ خیالات بھی متعلق ہونے جا رہے ہیں کہ موبائل کی ایپلی کیشنز اور ٹیکنالوجی، زیادہ عام طور پر، جس کے ساتھ آپ لوگ آج کل تمام واقف ہیں لیپ ٹاپ اور فونز اور طرح. تو کیا تم نہیں عمل درآمد کریں گے ایک ویب کے صفحے، یا ایک ویب سائٹ SE فی، لیکن ایک حقیقی ویب سرور. آپ کو ایک ویب سرور کے باقی لکھیں گے جس کا مقصد زندگی میں C، میں لکھا HTTP درخواست، ان حاصل کرنے کے لئے ہے ہم بات کر رکھنے مجازی لفافے کے بارے میں، اور اصل کے ساتھ یا تو کوئی جواب ایک نقطہ ایچ ٹی ایم ایل کی طرح کچھ جامد content-- فائل، یا ایک نقطہ JPEG یا فائلوں کے کسی بھی دوسرے نمبر، یا اس سے بھی ایک پی ایچ پی فائل ہے جس کے تحت آپ کی ویب سرور کہ پی ایچ پی کی تشریح کی جا رہی ہے کوڈ اور نتائج تھوکنے. اب، ہم کے ساتھ آپ کی فراہم کردہ فریم ورک کے بہت تھوڑا سا یقینا اندازہ لگانے کے لئے مسئلہ کے لئے تقسیم کے کوڈ چھ 1،000 سے زائد لائنیں طویل ہے سیٹ، ایک جن میں سے بہت تبصرے، fair-- ہونا ہے لیکن یہ واقعی کیا مراد ہے ایک موقع ہو جائے کرنے کے لئے گندی ڈائیونگ اپنے ہاتھوں کو حاصل کرنے کے لئے ایک کافی بڑی منصوبے میں ہم بہت خاص طور پر ہے کہ آپ کے لئے سے باہر کھدی ٹکڑے ٹکڑے، تاکہ واقعی آپ CS50 سے باہر نکلنے اور جب پروگرامنگ کی حقیقی دنیا میں داخل اور میں بگونا کرنا چاہتے ہیں منصوبوں کی کسی بھی تعداد، آپ کو بہت زیادہ پڑے گا سکون کچھ ذریعہ ڈاؤن لوڈ کوڈ، کچھ اوپن سورس ویب پر اس منصوبے، اور میں ڈائیونگ اور بنانے آپ فٹ دیکھتے ہیں کہ تبدیلیاں. مسئلہ سات کے بارے میں ہونے جا رہا ہے قائم آپ کی اپنی ویب کی بنیاد پر درخواست بنانے کہ متحرک ان پٹ لیتا ہے اور شکل میں متحرک پیداوار پیدا ایک etrade.com کی طرح ویب سائٹ کے. اور مسئلہ آٹھ ابھی تک توجہ دی جائے گی مقرر جاوا سکرپٹ کے طور پر جانا جاتا ہے دوسری زبان. دریں اثنا، آخری منصوبے افق پر ہے. نام نہاد پری تجویز آج سے ایک ہفتے کی وجہ سے ہے. تفصیلات کے مطابق پری proposal--، CS50 کی website-- پر جو ایک خوبصورت آرام دہ اور پرسکون مواقع کے لئے ہے آپ کو ایک خوبصورت succinct کے ای میل بھیجنے کے آپ کی تعلیم فیلو سے صرف اس سے آگاہ کرنے کے لئے یا آپ کیا سوچ رہے ہیں، کرنے کے لئے اس ایک آواز بورڈ کے طور پر اس کا یا اس کا استعمال کرتے ہیں. اور وویک ہے check-- آپ کیا سوچ رہے ہیں بھی بند کاٹ کے بارے میں بہت کم زیادہ سے زیادہ یا شاید، یا شاید آپ کو کوئی اندازہ نہیں ہے اور ایک بات چیت میں مشغول کرنا چاہتے ہیں. اس کے بعد ایک تجویز ہے اور حیثیت کی رپورٹ، یہاں میں نام نہاد ہے CS50 Hackathon ہارورڈ اور ییل طالب علموں کے لئے کیمبرج آپس میں ایک جیسے. حتمی منصوبے کے نفاذ کے بعد کی وجہ سے ہے. اور پھر یہاں ایک CS50 منصفانہ، کیمبرج میں، اس کے ساتھ ساتھ نیو ہیون میں ایک کے طور پر. تجویز تو، پر ایک نظر ڈالیں ان تفصیلات کے لئے ویب سائٹ. لیکن excitingly، بھی، ایک موقع آپ کے ہاتھ گندی حاصل کرنے کے لئے، اور مجموعی کے لئے کھلا اپنے ذہنوں موضوعات اور آلات کی گروپ اور اس کی تکنیک ذیلی ہیں کورس کا بنیادی نصاب کے، لیکن بہر حال سے متعلق. اور بھی بہت اچھا قدم رکھ پتھر حقیقی معنی میں ٹھنڈے آخری منصوبوں کر رہا ہے کہ اچھی طرح سے مواد سے باہر ہم احاطہ کرتا ہے جانا باضابطہ طور پر مسئلہ میں سیٹ یا لیکچر میں. تو اس کے لئے CS50 کی ویب سائٹ پر جائیں سیمینار کے پورے روسٹر. اگر آپ نے ابھی رجسٹر نہیں کرتے ہیں تو، یہ ٹھیک ہے. آگے بڑھو اور اب سائن اپ کریں اور ہم ایک لائیو اسٹریمنگ کی لنک کے ساتھ اپ کی پیروی، دن اور وقت ویب سائٹ پر ہے. اور سب کچھ ہو جائے گا ریکارڈ اور آن لائن ڈال دیا آپ کو بنانے کے نہیں کر سکتے ہیں خاص طور پر دن اور اوقات. thereafter-- اچھی طرح سے آگے واقع ہے کے طور پر، کورس کے، ہے CS50 Hackathon ہے. لیا ہفتے صفر سے یہ تصویر، یاد، گزشتہ سالوں میں شام سے ایک ہوں 4 کے ارد گرد. CS50 میلے، جو ایک بار پھر دونوں شہروں میں جگہ لے جائے گا. اور پھر، صرف پلانٹ بیج، یہاں تک کہ اب بھی ہم اگرچہ ایک ماہ ہے کے علاوہ اگر، سمسٹر کے بائیں آپ CS50 کی اپنی تعلیم میں شامل کرنا چاہوں گا عملے، اور آپ کو شروع کرنا چاہتے ہیں CA بننے کے بارے میں سوچ، یا تعلیم فیلو، جانتے ہیں کہ ہم اس بارے میں مزید گفتگو شروع کریں گے بعد میں اس سمسٹر. لیکن یہاں تصویر اس سال کی ٹیم کے سب سے زیادہ. اور اس طرح، PHP-- اور مجھے بہت دکھ کی بات تھی گزشتہ ہفتے [ہے؟ Allyse؟] حسن معاشرت اور اچھا حاصل کرنے کی کوشش کرنے کے لئے چلا گیا ہمیں ان شاندار جاتا میں استعمال کرتے ہوئے ختم نہیں کیا تھا کہ، یہ اتنا واقعی صرف پاگل کی طرح لگ رہا تھا ہم سب یہاں بیٹھ کر ایک بیلچہ تھا کہ دن گزشتہ بدھ، اور ایک چھوٹا سا چمچ. لیکن یہ میری metaphoric تھا پینٹ کرنے کی کوشش کی راہ ہم کیوں تبدیل کر رہے ہیں کی تصویر C کی طرف سے پی ایچ پی کی طرح ایک زبان میں. اور اسی کسی کے بارے میں کہا جا سکتا ہے زبانوں میں جاوا، ازگر، روبی کی تعداد others-- لیکن میں جبکہ یا گچھے سی، مثال کے طور پر، C میں ایک پروگرام لکھنے عام طور پر کی طرح ہو سکتا ہے اس طرح ایک چمچ لے میں ایک سوراخ کھدائی زمین، ریت یا مٹی میں. پی ایچ پی کی آپ کو بہت لینے کے لئے کی اجازت دیتا ہے مسئلہ سے باہر بڑا کاٹنے، کہیں کم کوڈ لکھنے کہیں چھوٹے آلے کا استعمال کرتے، اتنا زیادہ ہے کیونکہ فعالیت میں pieced کیا. اب، ہم واقعی ڈرامائی تھے تو، ہم بیلچہ کرنے کے لئے کچھ پڑے گا یہاں، لیکن تو یہ ہو جائے. دریں اثنا، دیگر استعارہ ہم کے ساتھ آئے کورس کے، آپ کر سکتے تھے، ہے ایک رنچ کی طرح کچھ کا استعمال کرتے ہیں ایک کیل کی طرح کچھ میں ہتھوڑا. لیکن کورس کے، حق استعمال کرنے کے لئے کے آلے رہا ہے اتنا نہیں ہونا زبان کہا جاتا C-- اور اب میں صرف ناراض [؟ سینڈرز،؟] شاید، ہم تو اس later-- ٹھیک کر دونگا حق کے آلے اکثر استعمال کرنے کے لئے ہو نہیں جا رہا ہے اس کی سب سے کم سطح کے آلے. اور بے شک، C ایک زبان نہیں ہے تم میں سے سب سے زیادہ کبھی، استعمال کرنے کے لئے جا رہے ہیں یا ضروری ایک بار پھر استعمال کرنا چاہئے. اور حقیقت میں، ایک چھوٹا سا صرف وقت راز میں سی خود کے درمیان بہت زیادہ ہے کا استعمال کرتے ہیں ہر موسم خزاں کے ستمبر اور دسمبر سمسٹر. اور اس وجہ سے ہم ایک موقع کے طور پر استعمال بنیادی اصولوں کو سکھانے کے لئے پروگرامنگ کی، اور یہ کمپیوٹر کے ساتھ سائنس کے بنیادی اصولوں، کے اعداد و شمار ڈھانچے، یلگوردمز اور like-- لیکن بہت جلد آپ کو نحو کہ اب دیکھیں اور خیالات سی بنیادی اتنی حیرت انگیز ہیں زیادہ جدید کے قابل منتقلی اعلی درجے کی زبانوں، طرح پی ایچ پی اور ازگر اور پرل اور اعلی درجے کا Java اور مقصد C--، اتنا نہیں اصل مقصد C-- لیکن سوئفٹ، ان نئے زبانوں کہ آپ کے بہت سے Will پھر آپ کی آخری منصوبے کے ساتھ بگونا. مزید ado کے بغیر تو، اصل میں چلو کچھ مسائل کو حل کرنے کے لئے پی ایچ پی کا استعمال کرتے ہیں. آخری، کہ ابتدائی طور پر یاد کرتے ہیں ہفتے، ہم صرف استعمال کیا جاتا ہے CS50 IDE، ہم ایک چھوٹا سا پروگرام ڈنکی لکھا کہ صرف "ہیلو دنیا."، انہوں نے کہا کہ اور پھر میں میں محفوظ کر ایک فائل hello.php کے بلایا. اور پھر میں یہ کمانڈ بھاگ گیا. اور کیوں؟ انگریزی میں، یہاں کیا چل رہا ہے؟ میں جب کیا کر رہا تھا میں اس حکم پر بھاگ گیا؟ جی ہاں؟ سامعین: کچھ تقریب پی ایچ پی نہیں ہے کہ in-- سمجھتا ہے کہ کیا لکھا ہے. DAVID MALAN: اچھا، کچھ تقریب ہے PHP-- اور مجھ سے زیادہ مخصوص ہو، پی ایچ پی نامی ایک پروگرام a.k.a.، وہاں ہے سمجھتا ہے کہ ایک مترجم، hello.php کے کے مواد، اور سب سے اوپر اس کی تعبیر نیچے، بائیں سے دائیں اور ان لوگوں کو حکم دیتا ہے کا کہنا ہے کہ کرتا ہے. hello.php میں حکم دیتا ہے، کورس کے، صرف code-- افعال ذریعہ ہے اور متغیر اور loops اور کی طرح، ہم نے خود کو اس پی ایچ پی میں تحریری طور پر شروع کر دیا ہے. لیکن C کے برعکس، جس میں ایک مرتب زبان، پی ایچ پی کی آپ کو صرف یہ لکھنا، اور اسے چلاتے ہیں. آپ کے اس مرحلے کو چھوڑ بچولیا zeros اور ہیں میں تبدیل، اور پھر اسے چلانے. اور اس طرح اس کی ایک الٹا کیا ہے؟ کیوں ہم قدم اچٹیں ہے؟ کیوں زیادہ جدید زبانوں کرتے اس مرحلے کو چھوڑ کے لئے ہوتے ہیں؟ فائدہ کیا ہے؟ یا صرف intuitively؟ ہم نہیں ہے یہاں تک کہ اگر سے بہت پہلے پی ایچ پی لکھا، کیا نہیں کے بارے میں فائدہ مند ہے اپنے کوڈ کو مرتب آپ سوچتے ہیں؟ نہیں؟ کا ارتکاب نہیں ہے؟ اپنے سر scratching؟ جی ہاں. سامعین: زیادہ متحرک. DAVID MALAN: زیادہ متحرک؟ کیا مطلب؟ سامعین: [اشراوی] DAVID MALAN: ٹھیک ہے، اچھا، تو ان پٹ پر منحصر ہے، آپ اسے ہر وقت مرتب کرنے کی ضرورت نہیں. اور یہ واقعی ہے that-- طور پر آسان کیا جاری رکھنے کی بات یہ ہے اپنے کوڈ کو مرتب کرنے کے لئے؟ یہ ہے کہ صرف ایک قدم ہے making-- اس، کی ضرورت ہوتی ہے ہے گزشتہ کئی کے لئے ہفتے میں دو بار کے طور پر کئی اقدامات کے طور پر صرف آپ کے پروگرام چل رہا ہے. یہ آپ کو اس کو دیکھ کر میں مفید ہو گیا ہے ، تو آگے کچھ خرابی کے پیغامات اور دیکھیں لیکن یہ اب بھی صرف ایک پریشان قدم ہے. اور اس طرح پروگرامرز احساس وقت کے ساتھ ساتھ، ہم کیوں نہیں کرتے نہیں ہے کہ زبانوں لکھنا شروع ، کہ منصفانہ میکانی قدم کی ضرورت ہے تو یہ صرف لکھ سکتے ہیں آپ کے کوڈ اور اسے چلاتے ہیں. لیکن قیمت کیا تھا ہم ادائیگی دیکھا کہ ایک خاص طور پر مثال کے طور پر، ہفتہ پچھلا؟ جی ہاں؟ سپیڈ. تو [؟ ؟] ترجمانوں کیا ہے ایک چھوٹا سا سست، کہ zeros اور ہیں اچھا اور ایک کمپیوٹر کے لئے تیزی سے کو سمجھنے کے لئے، کیونکہ انٹیل CPU، یا جو کچھ بھی ہے، صرف کیا ہو رہا ہے سمجھتا ہے بٹس کی ان نمونوں کے ساتھ. ایک مترجم جبکہ پروگرام ہے کہ واقعی ہے ASCII ذریعہ کو پڑھنے کے لئے ہے آپ نے لکھا ہے کہ کوڈ، اور اس میں تبدیل، تو بات، یا یہ بالآخر بدلتا کس طرح پتہ zeros اور ہیں کرنے کے لئے. تو یہ صرف ایک چھوٹی سی لیتا ہے ایک کی کارکردگی ہٹ کے سا. تو یہ ایک تجارتی آف کے تھوڑا سا ہے. ہم یہاں ایسا اب اگر، مجھے دو آگے بڑھو اور مندرجہ ذیل کے طور پر ایک مثال. میں یہاں جاتے ہیں، نئی فائل، میں جا رہا ہوں پھر اس کو بچانے کے لئے hello.php کے ہے. اور اب میں آگے جانے کے لئے جا رہا ہوں اور "پرنٹ ہیلو دنیا"، کا کہنا ہے کہ - اور میں پرنٹ استعمال کر سکتے ہیں یاد، میں ایسا نہیں کرتے پرنٹ F کا استعمال کرنا پڑے. اور اب یہاں نیچے، میں hello.php کے پی ایچ پی کرتے ہیں تو، huh-- میں اس کی تشریح ہے لگ رہے ہو نہیں. میں نے کیا غلط کیا؟ سامعین: angled ہے کمگن. DAVID MALAN: جی ہاں، آپ کی ضرورت ہے کہ زاویہ بریکٹ اوپر. تو یہ پریشان کن کی قسم، ہے لیکن آپ کو تیزی سے اس کی عادت ہو. میں پی ایچ پی کوڈ لکھنے کے لئے ہے تو، میں عام طور پر پروگرام بتانے کی ضرورت ہے، یا ارے، ترجمان بتانے پی ایچ پی، یہاں کچھ پی ایچ پی کوڈ آتا ہے. اور پھر اچھا اقدام کے لئے، میں کروں گا اس کے ساتھ یہ بند، بلکہ صرف سوالیہ نشان زاویہ کے ساتھ بریکٹ، اب یہاں نیچے تاکہ، میں ایک بار پھر اس چلاتے ہیں، اب میں مطلوبہ نتائج حاصل. اب ایک معمولی اصلاح کرتے ہیں، صرف تم سے پہلے اسے دیکھا ہے تاکہ. اس قسم کے پریشان کن ہے مجھے لگتا ہے کہ پی ایچ پی کی جگہ hello.php کے چلانے کے لئے ہے، کیونکہ ماضی میں صرف ڈاٹ سلیش لکھ سکتے تھے اچھی قسم کا ہے جس میں پروگرام کا نام،. یہ ایک بہتر صارف کے تجربے کی طرح ہے. یہ باہر کر دیتا تو آپ ایسا کر سکتے ہیں مندرجہ ذیل میں اس کے ساتھ پی ایچ پی میں یہ کافی خفیہ استعمال کر سکتے ہیں یہاں سب سے اوپر منتر، جو عام طور پر ایک shebang کی کہا جاتا ہے، یہ ایک تیز علامت ہے جس کے تحت، تو بات کرنے کی، یہ ایک دھماکے کی آواز ہے یا ایک فجائیہ نقطہ. اور اب یہ ایک پروگرام کا راستہ ہے ایک عام لینکس نظام پر ماحول، یا ENV کہا جاتا ہے. یہ لمبی کہانی line-- short-- لائن صرف ایک کمپیوٹر ارے، پی ایچ پی کی تلاش، کا کہنا ہے کہ ماحول میں میرے لئے مترجم، تو بات کرنے کی، آپ کی یاد میں اسے تلاش. اور، اب اچھا کیا ہے کہ میں یہاں نیچے جاتے ہیں، میں ڈاٹ سلیش کر سکتے ہیں ہیلو ڈاٹ پی ایچ پی، or-- ہمم. اجازت نہیں دی گئی. ویسے، آپ کو اس سے بھی زیادہ نظر آئے گا اگر آپ اس مسئلے سے، سات سیٹ پہلے سے ہی نہیں، اجازت کے ساتھ ہے. یہ میں نے کی ضرورت ہے کہ باہر کر دیتا ہے یہ کمانڈ پر عمل کرنے کی [بلایا؟ chamod؟] تبدیلی کے لئے ایک پلس X hello.php کے mode--. میں [اشراوی] اضافی یہ ایک ضرورت ہے میرے کمپیوٹر کہہ رہا ہے جس کے قدم، hello.php کے کارکردگی بنانے. اور اب ڈاٹ کیا ہوتا ہے دیکھتے ہیں hello.php کے سلیش، یہ صرف چلتا ہے. مجھے وضاحت کرنے کی ضرورت نہیں اب مترجم. اور میں یہ بھی خوبصورت بنا سکتے ہیں، اب بھی، تو میں اس چیز کا نام تبدیل. میں صرف hello.php کے منتقل Hello-- تو، سب سے اوپر بائیں میں محسوس پروگرام کا نام ہے یقینا اب صرف ہیلو. اب میں ایک سی پروگرام کی طرح نظر کر سکتے ہیں، یہ PHP-- میں لکھا ہے، اگرچہ یا واضح طور کسی بھی تعداد دیگر زبانوں میں. تو معمولی اضافہ، کوئی فعال فرق. لیکن یہ صرف ایک چھوٹا سا تجسس ہے اب، آپ کے پروگراموں لکھ سکتے ہیں تاکہ کسی بھی زبان میں، اور صارف نہیں ہے جانتے ہیں یا وہ لوگ ہیں جو دیکھ بھال کرنا ہے. ٹھیک ہے، ایک سے زیادہ کو دیکھو مجبور مثال اب میں پیشگی میں اپ whipped کہ. اور اس کے quote.php کہا جاتا ہے. اور یہ آن لائن دستیاب ہے. اور یہ بہت short-- ہے کہ محسوس کریں لیکن یہ ہے کہ ایک کمانڈ لائن پروگرام ہے اسٹاک کی قیمتوں کو دیکھنے کے لئے جا میرے لئے، جو اصل میں جا رہا ہے مسئلہ سات سیٹ کے متعلق ہونا. تو میں کیا کر رہا ہوں دیکھتے ہیں. سب سے اوپر میں مل گیا ہے اوپن بریکٹ سوالیہ نشان پی ایچ پی. میں ہوں جس کے تحت اس کے بعد میں، اس لائن مل گیا ہے functions.php-- نامی ایک فائل کی ضرورت ہوتی ہے ہم کو دیکھنے کے لئے جا رہے ہیں تھوڑا سا میں اس پر مزید، لیکن یہ سی کی طرح ہے تیز کے ورژن، شامل ہیں آپ کہاں جانا چاہتے ہیں ایک فائل میں شامل ہیں. پی ایچ پی کی یہ اگرچہ، اس کی ضرورت کا مطالبہ بھی ایک تقریب میں شامل ہے. اور یہ function.php کی ہے کہ باہر کر دیتا ہے صرف کچھ میں کلاس سے پہلے لکھا. میں کیونکہ، ایک ہی ڈائریکٹری میں ڈال میں کچھ کوڈ باہر عنصر کرنا چاہتے تھے کہ ہم دوسری جگہوں پر استعمال کرنے کے لئے چاہتے ہو سکتا ہے. دریں اثنا، آپ کو شاید کر سکتے ہیں یہاں کیا ہو رہا ہے اندازہ. یہ C-- لیکن سے تھوڑا سا مختلف ہے کی طرف سے کیا مطلب ہے مناسب استعمال کو یقینی بنانے کے؟ زیادہ تکنیکی طور پر یہ ترجمہ. کیا حالات کے تحت ہوں پروگرام چھوڑنے، یا باہر نکلنے؟ جی ہاں؟ سامعین: آپ کو نہیں ہے جب دو کمانڈ لائن دلائل. DAVID MALAN: مجھے ضرورت نہیں ہے جب لائن کے دلائل کی کمان. اور ان میں سے ایک یاد دلائل پروگرام کا نام خود ہے. اور دوسری جا رہا ہے ایک لفظ میں فوری طور پر کے بعد ٹائپ. تو صرف سی کی طرح، اس جانچ پڑتال کے اپنے طریقہ ہے، صارف تعاون کیا اور میں نے ارادہ کیا کے طور پر پروگرام کو چلانے کے؟ اب، وہاں کچھ ہے تھوڑا مختلف سب سے C-- پہلی کے ساتھ ہم اس ڈالر کا نشان ہے، اور ایک ڈالر کرتا ہے پی ایچ پی میں مطلع پر دستخط؟ صرف ایک متغیر. کہ اس کے بعد all-- صرف ایک متغیر ہے جو کچھ بھی آپ اصل میں اسے فون کرنا چاہتے ہیں. وہاں کچھ ہے نوٹس اپنے پی ایچ پی پروگرام سے لاپتہ، صرف یہ گزشتہ یاد کر رہا تھا کی طرح ہفتے، سی بمقابلہ، کیا ہے؟ ایک قسم، بلکہ کچھ اور. کوئی کچھ نہیں ہے مرکزی تقریب function--. کوئی اہم تقریب ہے. آپ کو صرف لکھنا شروع بغیر اپنے کوڈ ایک منصفانہ صوابدیدی بارے میں فکر کرنے کچھ پہلے سے طے شدہ نام کے کنونشن تقریب اہم. تو ARG سی صرف واقعی ہے ایک عالمی متغیر مترجم کہ مجھے لئے دستیاب کرتا ہے. اب، یہ دلچسپ ہے. تو چیزیں نظر. ڈالر کا نشان اسٹاک پر ہے چھوڑ، کہ میرا متغیر ہے. دائیں ہاتھ کی طرف پر، بظاہر ہے پی ایچ پی میں ایک تقریب تلاش کہا جاتا ہے کہ میں نے اپنے گزشتہ کمانڈ لائن گزر رہا ہوں دلیل جو to-- لفظ ہے. اور ہم کس طرح یہ دیکھ لیں گے ایک لمحے میں کام کرتا ہے. اور پھر آخر میں قیمت رپورٹنگ کر رہا ہوں. میں ایک باہر چھپائی رہا ہوں اس طرح اور اس طرح کا حصہ. اور یہ ہے، یاد میں PHP-- PHP-- میں ایک راستہ آپ کو ایسا کرنے کی ضرورت نہیں ہے جہاں اب ڈالر کی نشانی ایس. آپ کو صرف گھوبگھرالی منحنی خطوط وحدانی کا استعمال کر سکتے ہیں اور کچھ متغیر میں پلگ. آپ کے بارے میں فکر کرنے کی ضرورت نہیں ہے اسی طرح میں printf استعمال. اور ایک ایک طرف، کے طور پر ایک متغیر ڈال دیا جب اس طرح ڈبل قیمت درج کرنے کے اندر، آپ کو ایک فینسی ٹیکنالوجی استعمال کر رہے ہیں متغیر پرکشیپ کہا جاتا. یہ صرف یہاں میں متغیر پلگ مطلب. اور ایک ایک طرف، کچھ آپ کے آنے والے کے طور پر دیگر پروگرامنگ پس منظر سے، آپ واحد کی قیمت درج کرنے کا استعمال نہیں کر سکتے ہیں کے ارد گرد ڈور ایسا کرنے. آپ کے لئے ڈبل قیمت درج کرنے کا استعمال کرنا چاہئے متغیر پرکشیپ کام کرنے کے لئے. دوسری صورت میں آپ لفظی گے ان گھوبگھرالی منحنی خطوط وحدانی دیکھیں. تو آخر میں، آگے بڑھو اور اس کے چلانے دو. میرے ٹرمینل تھوڑا بڑا بنا دو. مجھے آگے بڑھو اور چلاتے ہیں میرے اقتباس ڈائریکٹری کے اندر. [؟ CDsource؟] [؟ ہوں؟] [؟ اقتباس؟] پی ایچ پی اقتباس ڈاٹ پی ایچ پی، اور میں کچھ تلاش کرنے کے لئے جا رہا ہوں اس ٹکر کی علامت ہے جس میں GOOG، طرح، اور اس کے نئے نام کے ایک حصہ، 'الف بے' انکا، آج کے طور پر، $ 717 کی لاگت آئے گی. ٹھیک ہے، ہم کرنا چاہتے ہیں تو اس کو دوبارہ چلائیں، کسی دوسرے سٹاک ٹکر ہے وہ تلاش کرنے کے لئے چاہتے ہیں؟ مائیکروسافٹ میں ہے یہ ایک، MSFT-- $ 53. میں یاہو ہو سکتا ہے کہ لگتا ہے کہ. اور فیس بک ہے. ایسا اس پروگرام کیا ہے؟ جادو سرایت کیا جا رہا ہے کہ تلاش تقریب میں. تو ایک فوری نظر ڈالیں. کہ نہیں آیا ہے کہ باہر کر دیتا پی ایچ پی کے ساتھ، یہ functions.php میں ہے. اور ہم کے ذریعے نہیں جائیں گے بڑی تفصیل سے اس، لیکن آپریٹو یہاں لفظ ہے محسوس کہ functions.php-- کی لائن چھ پر میں لفظی تقریب کا کہنا. میں میری تقریب کے نام کی وضاحت. میں تو کوئی وضاحت دلائل، یا پیرامیٹرز، مجھے لگتا ہے کہ فنکشن کوئی اقسام take-- کرنا چاہتے ہیں. اور پھر میں نے اس پر عملدرآمد. اور میں نے اپنے ہاتھ لہر کریں گے نفاذ میں، یہ کافی اعلی درجے کی ٹھیک ہے کے بعد سے اب، لیکن ہم اصل میں اسے دوبارہ دیکھ لیں گے ایک ہفتے میں مسئلہ میں سات سیٹ. لیکن میں بھی، اس کو صاف کر سکتے ہیں. میں نے بھی میں شامل آج کے کوڈ ورژن کوئی ڈاٹ پی ایچ پی فائل ہے جس میں اقتباس، کے. میں شاید ہے کیونکہ صرف حوالہ نامی پروگرام کے سب؟ یہ shebang-- نام نہاد کافی خفیہ منتر کہ اس وقت پی ایچ پی کی تلاش اور کا کہنا ہے کہ یہاں اپنے کوڈ پر چلانے. ٹھیک ہے، تو اس لاتا ہے ہم نے چھوڑ دیا ہمیں جہاں ساتھ ہی سہی آخری بار کچھ زیادہ اعلی درجے مثالیں. کوئی سوال اس طرح اب تک کے بارے میں پی ایچ پی یا ہم کیا کر رہے ہیں؟ No-- ٹھیک. جی ہاں؟ سامعین: کے اندر HTML فائلوں، you-- کرتے [؟ کیا آپ ؟] [؟ صرف یہ کہتے ہیں؟] ایک [اشراوی] پی ایچ پی فائل؟ DAVID MALAN: اچھا سوال ہے. ہم ہیں جس میں ایک ویب تناظر میں، پر منتقل کرنے کے بارے میں لفظی، آپ کو نام نہاد کا استعمال نہیں کرتے سب پر shebang، ویب سرور اکثر وجہ پروگرام اپاچی یا مائیکروسافٹ بلایا IIS، انٹرنیٹ انفارمیشن سرور، یا دیگر ویب سرور سوفٹ ویئر کی کسی بھی تعداد، اس کو دیکھتا ہے جب کہ جانتا ہے ایک نقطہ پی ایچ پی فائل، اس اس پر مترجم چلانا چاہئے. یہ پہلی سطر میں نظر نہیں آتی ہے. اس کی پہلی سطر چال تو تم بس جب ہے تحریری طور پر کمانڈ لائن programs-- ہم سپر اکثر کرتے ہیں نہیں کریں گے جس، لیکن یہ پل کے ہمارے طریقہ ہے اب ہمارے پی ایچ پی کی مثالیں ہمارے C. تو بے شک اس دنیا کو پاٹنے دو ویب پر کمانڈ لائن دنیا سے مندرجہ ذیل کرکے. مجھے آگے جانا ہے اور اپنی طرف متوجہ کرتے ہیں یہاں صرف ایک لمحے کے لئے ختم. ہم بجائے ایک ویب سرور ہے، یا تو ہم یہاں اپنے لیپ ٹاپ سے زیادہ ہے تو، جس میں اس طرح اپنی طرف متوجہ کریں گے. اور ہم یہاں ہے کسی نہ کسی شکل میں انٹرنیٹ. اور پھر یہاں، ہم نے ایک کو تعمیر میں ایک سرور یہ کس طرح انٹرنیٹ ہے works-- اور یہاں شاید کچھ روشنی کے ساتھ ایک سرور ہے. اصل میں کیا ہو رہا ہے ان دو کنکشن کے درمیان؟ تو اس عمارت میں ایک ویب سرور ہے. وہ صرف ایک کمپیوٹر ہے کہ کچھ آپریٹنگ چل رہا ہے system-- شاید مفت سافٹ ویئر کہا جاتا CS50 IDE چل رہا ہے جس میں اپاچی،. تو آپ کو اصل کر سکتے ہیں اس عمارت کے بارے میں سوچنا میں عمارت کے طور پر جس CSt0 IDE محفوظ کیا جاتا ہے. آپ کے تمام ہے جہاں ہے آپ کے اکاؤنٹس، جہاں تمام آپ کی اپنی ویب سرور ہے ، آپ کے تمام چلانے کے ، آپ کے اپنے لیے ایک منفرد یو آر ایل ہے ہم کے بارے میں بات کرنا شروع کر دیا کے طور پر، پی چھ سیٹ میں اور آپ کو زیادہ نظر آئے گا. یہاں اپنے لیپ ٹاپ کہیں ہے انٹرنیٹ پر اور. میں ایک یو آر ایل کا دورہ کریں جب اور اس طرح اس سے تعلق رکھتا ہے مجھ سے، کہ انٹرنیٹ ٹریفک جا رہا ہے سرور، سرور کی سے زائد وصول ایک HTTP request-- ایک طرح سے index.html حاصل ہے اور یہ ہے کہ ویب کے صفحے کے جواب. تو ہے کہ عام طور پر نمونہ ہے. سب کچھ جبکہ آج، سب کچھ تک میں صرف ہو رہا تھا اس عمارت کے confines. میں اپنے لیپ ٹاپ استعمال کر رہے ہیں، کیا گیا تھا لیکن میں، CS50 IDE سے منسلک کیا گیا تھا لہذا ان کے تمام پروگراموں میں چل رہا تھا کہ سرور، خود کے اندر تھا. لیکن اب، پی ایچ پی میں reusing شروع کر دیں کچھ اصل پروگراموں کو لکھنے کے لئے ہے کہ ایک ویب سرور کی طرف سے خدمت کر رہے ہیں. اور ایسا کرنے کے لئے، میں جا رہا ہوں مثالوں کی ایک پوری چڑھانے میں کہ یہاں اس خیال کو متعارف کرانے. تو اس کی پسند ہیں طریقہ کی طرح ہے ایک پروگرامنگ مثال بیان. اور حقیقت میں، کے طور پر آپ CS50 سے باہر نکلیں یا، حتمی منصوبوں پر کام یا کسی کو فالو لے کلاس پر، آپ کو شروع کریں گے world-- کو دیکھنے کے لئے خاص طور پر بڑی ہو گئی ہے سی کی طرح زبانوں کے ساتھ سپر کم level-- ہیں کہ بہتر ہے کہ احساس تحریری طور پر سافٹ ویئر کے طریقے. مخصوص ہیں آپ کی پیروی کر سکتے ہیں پیٹرن، آپ کی فائلوں کو منظم کرنے کے کچھ طریقے اور آپ کے افعال کے نام کے طریقے، تاکہ لمبی کہانی مختصر، دنیا آیا ہے مخففات کی ایک پوری چڑھانے کے ساتھ اور پروگرامنگ کی کے طریقوں کے لئے نام. یہ آپ استعمال کر سکتے ہیں صرف تراکیب ہیں. اور ان میں سے ایک، MVC کہا جاتا ہے ماڈل دیکھیے کنٹرولر کے لئے. اور اس کے لئے، صرف ہے اب، ایک حد سے زیادہ پیچیدہ آپ کو باہر بچھانے چاہئے کس طرح کہہ کے راستے ایک پی ایچ پی کی بنیاد پر ویب سائٹ، ہمارے معاملے میں. آپ کو آپ کی فائلوں کو منظم کیسے، کس طرح آپ کو، آپ کی منطق کو منظم کرتے ہیں کرنے کے لئے اسے آسان بنا دیتا ہے کہ ایک طرح سے زیادہ پیچیدہ ویب سائٹس لکھ؟ اور بے شک، ہم فوری طور پر کروں گا سات P- سیٹ کے ساتھ وہاں حاصل کرنے کے. MVC کی دنیا میں، آپ جا رہے ہیں دیکھنے کے لئے کہ ہمارے کوڈ عام طور پر کر سکتے ہیں تو ماڈل کوڈ کے طور پر خصوصیات کیا جائے، یا کنٹرولر کوڈ، یا نقطہ نظر کوڈ. اور میں جا رہا ہوں مندرجہ ذیل کے طور پر oversimplify کنٹرولر ہے آپ کے پروگرام کے دماغ، اس کا ہے جہاں تمام ہے دلچسپ منطق ہوتا. تو سب کچھ ہم کیا گیا ہے اس طرح اب تک کلاس میں تحریری طور پر، قسم کے کنٹرولر کی طرح ہے code-- اس پر قابو پانے ہے آپ کے پروگرام، آپ loops کے، آپ حالات، اپنے افعال اور متغیر اور جو. مناظر، اب، ایک چھوٹا سا ہونے جا رہے ہیں ویب کی دنیا میں زیادہ واضح. ایک نقطہ نظر جمالیات ہے آپ کی ویب سائٹ. یہ، صارف تصاویر sees-- کیا ہے HTML ٹیبل، HTML ٹیگ، اور تمام کہ، بندوق جمالیاتی کی سب سے لکھنے کے لئے مشکل نہیں ہے کہ چیزیں، لیکن آپ پیدا کر رہے ہیں صرف کیا ہے، نام نہاد نقطہ نظر، جمالیات ہے. اور ماڈل، بالآخر، جا رہا ہے ڈیٹا بیس stuff-- ہونا ہے جس ہم سب میں ڈائیونگ کا آغاز کریں گے اس بدھ. تو کنٹرولر منطق ہے، نقطہ نظر، جمالیاتی سامان ہے اور ماڈل جہاں جا رہا ہے ہم اپنے اصل ڈیٹا ذخیرہ. تو زیادہ ٹھوس اس پر نظر آتے ہیں مندرجہ ذیل مثال کے طور پر. میں یہاں اپنے ڈائریکٹری میں جانے کے لئے جا رہا ہوں آج کے ذریعہ کی جن میں سے تمام code-- آن لائن دستیاب ہے. اور میں ورژن صفر میں جانے کے لئے جا رہا ہوں. اور یہاں کہتے ہیں is-- CS50 کی ویب سائٹ کے ورژن صفر. بالکل زیادہ سے زیادہ یہاں نہیں ہے. یہ ہے کہ ایک بہت سادہ ویب صفحے کے شاید استعمال کیا ایچ ٹی ایم ایل tags-- صرف گزشتہ مثالوں سے لگتا ہے؟ وہ کیا ہے؟ شاید اس بڑے جرات مندانہ کے لئے H1-- عنوان، سب سے اوپر ہے کہ علامت (لوگو)، CS50. اور کیا ڈرامہ ہے؟ جی ہاں؟ سامعین: بے ترتیب فہرست. DAVID MALAN: بے ترتیب list-- تو شیخ الاسلام ٹیگ اور لشکر کرنے کے شاید ایک جوڑے. اور تم ان کو یاد نہیں کرتے ہیں تو، یہ ایمانداری سے کوئی فرق نہیں پڑتا. ان میں بندوق طرح ہیں HTML کے عملدرآمد کی تفصیلات آپ کو تیزی سے نظر آتے ہیں کہ اور آپ کو واپس اپنے راستے پر ہو. ہم پروگرامنگ پر زیادہ توجہ مرکوز کریں گے juicier ٹکڑے ٹکڑے ہیں کہ خیالات. تو صرف ایک فوری ڈالیں ایچ ٹی ایم ایل میں نظر آتے ہیں اور بے شک میں جی ہاں، یہاں مآخذ دیکھئے کھول تو، کہ بالکل یہاں کیا ہو رہا ہے. ایک شیخ الاسلام ٹیگ ہے. اس کے اندر اندر در اندر لی ٹیگز کرنے کے لئے ہے. اور پھر میں یو آر ایل ادھار یہاں اصل نصاب کا. اور پھر lectures.php یہ بظاہر ہے ایک متحرک طور پر پیدا صفحے کہ، کی آہ دیکھتے دو، لئے جا رہا ہے لیکچر کے پہلے دو ہفتوں. تو ہفتے صفر اور ایک ہفتے، چلو میں صفحے کا ماخذ دیکھنے تو this-- دیکھو، بھی سپر آسان. ان دو صفحات کے نتیجے میں کر رہے ہیں کہا جاتا week0.php، اور week1.php. تو کیا ہو رہا ہے اب غور. میں week0.php پر کلک کریں جب، اپنے لیپ ٹاپ week0.php کے لئے ایک درخواست کر رہا ہے. ویب سرور، a.k.a.، CS50 IDE، کہ مجازی لفافے وصول کر رہا ہے. یہ ایک پیغام کو دیکھ رہا ہے کی طرح، week0.php حاصل. اس کے بعد فائل کی تشریح ہے، سب سے سب سے نیچے، دائیں کرنے کے لئے چھوڑ دیا فائل کہا جاتا week0.php-- اور نتائج توکنا. لہذا اس فائل کے اندر، week0.php، ہونا ضروری ہے پیدا کر رہا ہے کہ کنٹرولر منطق یہ HTML، اور ہم جلد ہی دیکھیں گے کہ. لیکن اب کے لئے،، مجھے ہفتے صفر پر کلک کریں اور اب ہم، بدھ اور جمعہ کو ہے اور اب ہم سلائڈ آہستہ آہستہ ہفتے صفر سے. اور آپ کو یاد کر سکتے ہیں واپس جب اس سے راستے. تو ہے کہ اس ویب سائٹ کر رہا ہے تمام ہے. تو یہ کر رہا ہے کہ کس طرح غور کریں. میں میں واپس جانے کے لئے جا رہا ہوں CS50 IDE میں منبع کوڈ،، اور میں نے index.php کو کھولنے کے لئے جا رہا ہوں. اس فائل کے سب سے اوپر تبصرے کا ایک گروپ ہے. اور پھر اس فائل کے وسط میں، اس ، باہر کر دیتا ہے جو کوئی پی ایچ پی کوڈ ہے. تم میں سے کسی کی ضرورت نہیں ہے کیونکہ اگر اوپن بریکٹ سوالیہ نشان پی ایچ پی ٹیگز، آپ کو صرف ایچ ٹی ایم ایل میں ڈال کرنے کے لئے آزاد ہیں. کی وجہ سے کیا پی ایچ پی کی مترجم، ایسا کرنے کے لئے سمجھا جاتا ہے اس فائل پڑھتا ہے جب اوپر سے نیچے، دائیں کرنے کے لئے چھوڑ دیا یہ صرف اس کے درمیان دیکھتا کوڈ تعبیر ان زاویہ بریکٹ نشان سوال. اور کچھ یہ نہیں ہے کہ پی ایچ پی کے طور پر تسلیم، یہ صرف باہر spits. اور HTML چیزیں میں سے ایک ہے یہ صرف باہر توک گا. تو اس فائل کر سکتے ہیں index.html کے بلایا گیا، لیکن میں سب کچھ نام کر رہا ہوں ایک قدم رکھ پتھر کے طور پر ڈاٹ پی ایچ پی. اسی طرح Lectures.php-- underwhelming کیا، یہ صرف کچھ HTML ہے. Week0.php، اسی طرح صرف کچھ HTML. لیکن اب پر ڈال دو لوکک انجینئرنگ ٹوپی، اور ہم اس کو بہتر بنانے کے کر سکتے ہیں کہ کس طرح کے بارے میں غور. یہ ایسا کرنے کے لئے مشکل نہیں ہے، لیکن میں اس قسم کی کاپی اور پیسٹ میں منتقل. اور حقیقت میں، میں نے دو ہفتے بنا دیں تو، آپ میں شاید ایسا کرنے کے لئے جا رہا ہوں کیا جانتے ہیں؟ میں ہوں، week1.php پر جانے کے لئے جا رہا ہوں ہر چیز کو اجاگر کرنے کے لئے جا. مجھے اس کی کاپی کرنے جا رہا ہوں، چسپاں week2.php ہے نامی ایک نئی فائل میں، کچھ یو آر ایل موافقت، اور اپنے راستے پر ہو. تو ہم کیا کی بنیاد پر پہلے سے سی میں دیکھا، یہ امید ہے کہ، صحیح محسوس نہیں کرتا. کاپی، پیسٹ شاذ و نادر ہی صحیح حل. تو ہم شروع کر سکتے ہیں کیا اس کو بہتر بنانے کے لئے کرنا ہے؟ کہاں مواقع ہیں بہتر ڈیزائن کے لئے؟ میں حاصل کرنے کے لئے وقت ہفتے آٹھ، یہ جا رہا ہے واقعی پریشان ہونا میں تبدیل کرنا چاہتے ہیں تو میں سے ہر ایک کے فونٹ میں چاہتا ہوں، یا اگر اپنے صفحات ترتیب کی ساخت کو تبدیل کرنے کے لئے. تو جہاں موقع ہے بہتر ڈیزائن کے لئے؟ ٹھیک ہے، کیا پر غور کریں ان فائلوں کی تمام بھر میں مشترکہ. یہاں ہفتے، ہفتے سے ایک ہے صفر، یہاں lectures.php یہ ہے، یہاں ایک ہی ہے کیا index.php-- ہے اور مختلف، تقریبا کیا بول رہا ہے، ان فائلوں میں سے ہر ایک میں؟ جی ہاں؟ سامعین: [اشراوی] DAVID MALAN: ٹھیک ہے، اچھا. تو ایک پیٹرن ضرور، جس کے تحت، وہاں ہے ہر وقت میں، لیکچر میں منتخب میں پیدا کیا جانا چاہئے بہت ہی اسی طرح آپ ڈھونڈ صفحے. اور اس طرح شاید میں بیعانہ کر سکتے ہیں حقیقت یہ ہے کہ واقعی اس، جان بوجھ کر عددی ہم ہمارے lectures-- حساب سے ترتیب میں اس سے بھی زیادہ ڈال کر سکتے ہیں آپ کا جواب میں الفاظ. اور، واقعی، صرف ایک ہی چیز ہے اس ہفتے کے درمیان تبدیل کر رہا ہے one-- اور یہ ہے تو مجھے ذیل میں سکرال تقریبا ایک ہی place-- میں تو یہاں ہفتے صفر ہے، تقریبا سب سے اوپر. یہاں ایک ہفتے، ہفتہ ہے صفر، ایک ہفتے، ہفتے صفر. ٹھیک ہے، لفظی اگر تم جانتے ہو کوئی پروگرام، یہ صرف ایک کی طرح ہے نمونہ کے ملاپ کھیل. تو مختلف کیا ہے؟ جی ہاں؟ سامعین: [اشراوی] DAVID MALAN: اچھا، تو عنوان کبھی تو تھوڑا سا، تبدیل کر رہا ہے. زیرو سے ایک، کورس کے، جا رہا ہے. ایک ہی بات H1 ٹیگ میں کیا ہو رہا. اور ہم کافی کے طور پر آسانی سے نظر نہیں آتا یو آر ایل تھوڑا سا طویل ہے کیونکہ. لیکن ان یو آر ایل تھوڑا سا تبدیل کر رہے ہیں. لیکن تبدیل نہیں کیا ہے، میں ہمت ، کا کہنا ہے کہ ایسے صفحے کے مواد کی سب سے زیادہ HTML ٹیگ ایک ہی ہے، سر ہے اسی، عنوان، تقریبا ایک ہی ہے جسم ایک ہی ہے، اور اور تقریبا سب کچھ کے علاوہ ایک ہی ہے ان چھوٹی انداز. تو ہم کے بارے میں کیسے جا سکتے ہیں اس میں سے کچھ باہر فیکٹرنگ؟ ویسے مجھے بالکل تجویز کرتے ہیں اگلے ورژن میں. تو یہاں ایک ورژن میں، میں عین مطابق ہے ایک ہی فائلوں، کے علاوہ دوسروں کے ایک جوڑے. یہاں index.php-- اور یہاں تک کہ اگر تم سے پہلے پی ایچ پی کی کبھی نہیں دیکھا ہے جو میں نے شاید اس کو حل کرنے کر رہا ہوں آپ کو یہاں دیکھ کیا کی بنیاد پر مسئلے؟ جی ہاں، ایک معمولی وابستگی ہے؟ نہیں؟ جی ہاں، پر جانے. سامعین: [اشراوی] DAVID MALAN: جی ہاں. سامعین: [اشراوی] DAVID MALAN: میں آپ کی ضرورت ہے صرف ایک چھوٹا سا زور سے بولتے ہیں. سامعین: [اشراوی] DAVID MALAN: ٹھیک ہے، اچھا. اور میں یہ تھا think-- you-- لیکن میں سننے کے لئے مشکل تم کیا ہو رہی ہے کہ لگتا ہے کہ اوپر عام تھے کہ ٹیگ، پر عام تھے اور ٹیگز نیچے، اب، باہر ہم factored گیا ہے یا فائلوں کو پر relegated؟ header.php اور footer.php-- اور ہم جا رہے ہیں کے لئے کچھ انداز بنانے کے لئے تشویش آپ سے خطاب صرف کے لئے، تعداد کو تبدیل کرنے کے بارے میں اٹھائے مثال کے طور پر، میں صحیح طریقے سے آپ نے سنا تو. لیکن یہ اس کا خلاصہ ہو رہا ہے. کی ایک بڑی رقم نہیں تھی تو صفحے کے سب سے اوپر فالتوپن، اور کی ایک بڑی رقم نچلے حصے میں فالتوپن، کی لفظی صرف کو اجاگر دو اور یہ کہ مواد کاٹ، ایک علیحدہ فائل جیسا میں ڈال دیا ہم باہر وجوہات جہاں سی ایس ایس، کا خیال ڈال بہت ہی اسی طرح جمالیات، ایک علیحدہ ڈاٹ پی ایچ پی فائل میں، mechanism-- ضرورت استعمال کرتے ہیں جس سی تیز include-- کی طرح ہے جس بنیادی طور پر جانا کہہ طرح ہے ، کیا header.php کے مندرجات پر قبضہ اور اسکی نقل اتار اور انہیں یہاں چسپاں کر دیں. لیکن کیا اس کا مطلب ہے کہ اب میں ہے index.php کو، میں ان دو لائنوں ہے. lectures.php یہ، میں نے بھی ان دو لائنوں ہے. week0.php، میں نے بھی ان دو لائنوں ہے. تو اب، میں تبدیل کرنا چاہتے ہیں تو اپنے صفحات میں سے سب سے عنوان، یا میں تبدیل کرنا چاہتے ہیں بنیادی ڈھانچہ، میں، صرف ایک جگہ میں تبدیل کر سکتے ہیں یا دو places-- ہیڈر اور فٹر کے، بالترتیب. اب کوڈ کے اغاز کو دیکھنے کے لئے ایک چھوٹا سا خفیہ، ٹھیک ہے؟ لیکن آپ کے بارے میں سوچتے ہیں تو کیا پیج میں week0.php درخواست ہوں تو doing-- ہے، صرف ڈرائنگ کی طرح یہاں week0.php درخواست کی ہے جب، اس کا کیا مطلب ہے؟ لفظی، اس فائل ہے براؤزر کی طرف سے درخواست کی. ویب سرور a.k.a. CS50 ID-- اس گرپس فائل، week0.php، اور پڑھتا ہے یہ اوپر سے نیچے، بائیں سے دائیں. ایک آن لائن، اسے فوری طور پر مقابلوں اوپن بریکٹ سوالیہ نشان پی ایچ پی، کی ضرورت ہوتی ہے ہیڈر ڈاٹ پی ایچ پی، اور تو کیا ایچ پی کی ترجمان ویب میں بنایا گیا ہے does-- سرور، ہم تشکیل کردہ کیونکہ یہ خود کار طریقے جاتا ہے you-- لئے کیا header.php میں، کاپیاں مواد، یہاں ان جوڑتا ہے. لیکن اس وقت مترجم مقابلوں سوالیہ نشان بند بریکٹ، تو یہ سب سوچ کیا ہے. اب یہ صرف آنکھ بند کر تھوکتا ہے لائنوں سے سات کے ذریعے دو، یہ صرف خام HTML ہے کیونکہ. آٹھ لائن پر ہو جاتا، اور کرتا ہے فائل کھولنے again-- اسی جادو، مواد پکڑ، اور ان کی ضرورت ہوتی یا ان چسپاں ٹھیک ہے پھر یا وہاں. لیکن میں صرف ایک مسئلے کے لئے alluded. یہ، پسماندہ ایک جزوی قدم ہے ہم header.php میں نظر آتے ہیں کیونکہ اگر، میں اس قسم کے ایک کونے کاٹ کر دیا ہے. میں آرڈر میں ترک کیا خصوصیت اس قابل بحث بہتر ڈیزائن حاصل کرنے کے لئے؟ جی ہاں؟ سامعین: [اشراوی] DAVID MALAN: جی ہاں، میں قسم کے nontrivial نجی کونے کاٹ. تم نے کیا تبدیل کر رہا تھا کہ اس کی نشاندہی عنوان تھا، عنوان میں تعداد، اور H1 میں نمبر. تو میرا حل، ٹھیک ہے، تھا صرف صفحے کا نام تبدیل کرتے ہیں، اور اس کے ساتھ نمٹنے کے لئے نہیں جو مسئلہ. تو یہ ایک جزوی ہے اس بات کا یقین کے لئے پیچھے کی طرف قدم. لیکن یہاں ذکر کیا ہے میں نے کیا ہے کہ کیا دوسری صورت میں factored ہے تمام عام چیزیں باہر. اور footer.php میں، میں نے وجوہات نوٹس اس کے سب باہر، کم ہی سہی، عام چیزیں. تو میں نے کسی نہ کسی طرح اب کے قابل ہو جائے کرنے کی ضرورت ہے ایک اور قدم آگے لے، اور ٹھیک اس عنوان کے مسائل. تو یہ کرتے ہیں. میرے دوسرے ورژن میں جانے دو یہاں، جس میں، پھر، ایک ہی فائلوں ہے ایک نئے اس کے علاوہ کے علاوہ. اور یہ تھوڑا زیادہ ہے شبدبہل، لیکن دیکھتے ہیں اگر ہم یہاں کیا ہو رہا ہے کے علاوہ چڑھاو کر سکتے ہیں. تو بجائے کی ضرورت ہوتی ہے کیا header.php، اور footer.php، میں صرف ایک کی ضرورت ہوتی ہے کرنے لگتے ہیں فائل helpers.php کی، کورس کے، کہا جاتا ہے. اور، اب مجھے شرط دو helpers.php کے اندر کیا ہے کے افعال میں سے ایک گروپ ہے کہ میں نے صرف پہلے کی طرح، لکھا. لیکن میں اس نے helpers.php بلایا. اب بظاہر، میں لائن تین اور 10، ہوں دو افعال بلا ہیڈر رینڈر، فوٹر رینڈر. کے ساتھ نہیں آتے ان پی ایچ پی، میں ان خود لکھا. اور میں نے helpers.php میں ڈال. اب، ہم صرف اس نحو دیکھا ہے ایک بار، اور اس سپر مختصر تھا. لیکن یہ بظاہر ایک دلیل ہے ہیڈر، تقریب رینڈر کرنے کے لئے. میں ایسا کیوں جانتے ہیں؟ ویسے یہاں ایک قریبی قوس ہے، یہاں ایک کھلی قوس ہے. اور ظاہر کی، صرف سی کی طرح، ان قوسین کے درمیان کچھ ایک ان پٹ یا ایک ہے تقریب میں دلیل. اس دلیل کے اعداد و شمار کی قسم کیا ہے، میں روشنی ڈالی ہے کیا کی بنیاد پر؟ ان مربع بریکٹ کیا گزشتہ ہفتے کی بنیاد پر، اس بات کی نشاندہی؟ جی ہاں، یہ ایک صف ہے خاص طور پر ایک ساہچری سرنی. اور یہ نحو کا اقرار ایک چھوٹا سا funky ہے، لیکن یہ صرف گزر رہا ہے ایک کلیدی قدر جوڑی میں. اہم اقتباس unquote، ہے عنوان، اور قیمت CS50 ہے. ہم نے کیا کیا تھا، تو اس C میں، اس کی بجائے طاقت اس طرح نظر آتے ہیں، صرف اقتباس unquote CS50-- یا اصل میں یہ گھوبگھرالی ہو جائے گا منحنی خطوط وحدانی، یا C میں اس طرح کچھ، جہاں اہم صفر ہے، اور قیمت CS50 ہے. لیکن ایک بار پھر، پی ایچ پی میں، اگرچہ نحو،، ایک بار پھر، ایک چھوٹا سا عجیب ہے یہ آپ میں منتقل کرنے کے لئے کی اجازت دیتا ہے الفاظ کی بجائے کی تعداد اقدار کے ساتھ چابیاں منسلک کرنے کے لئے. تو یہ سب کا کیا مطلب ہے؟ میں نے helpers.php میں جاتے ہیں، اس تقریب میں نظر آتے ہیں. renderHeader.php، بلکہ renderHeader، میری تقریب ہے اور مجھے دیکھنے کی وجہ سے جانتے ہیں کہ یہاں تقریب مطلوبہ الفاظ. یہ بظاہر یہ C سے نیا ہے data-- نامی ایک دلیل لیتا ہے لیکن میں نے اس سے ملاقات کر سکتے ہیں کچھ، لیکن میں، اعداد و شمار اس سے ملاقات کی صرف ایک چھوٹا سا clean-- ہونا اور صرف خاص طور پر، ایک اندازہ لے آپ کو کچھ دیگر میں پروگرام ہے تو پہلے اعلی سطح کی زبان، کچھ C اوپر، تصوراتی. کیا برابر اوپن بریکٹ کرتا ہے شاید مربع بریکٹ کا مطلب؟ یا اس کا کیا مطلب ہو سکتا ہے؟ ہم جی ہاں سی میں اس کو نہیں دیکھا ہے؟ ایک خالی صف. خاص طور پر، اس کا مطلب ہے کہ صارف renderHeader فون نہیں کرتا ایک دلیل کے ساتھ، میں اب بھی جا رہا ہوں ڈیٹا نامی ایک دلیل ہے، لیکن اس کے پہلے سے طے شدہ قیمت ہے ایک خالی صف کو ہونے جا رہا. تو یہ صرف ایک اچھی سہولت ہے. میں، صارف پر چللاو کی ضرورت نہیں ہے یا آپ کو میری تقریب غلط استعمال کہنا. میں صرف صارف ڈیفالٹ دے سکتے ہیں قیمت، میں خاص طور پر دیکھ بھال نہیں کرتے ہیں تو. اب یہ تقریب، ہوں میں اپنے ہاتھ لہر جا رہا. لیکن یہ نچوڑ تقریب کی اجازت دیتا ہے ہمارے اعداد و شمار میں ان متغیرات میں منتقل کرنے کے لئے مندرجہ ذیل طریقے سے کیا header.php میں. اور یہ آخری ٹکڑا ہے، میں Funky کی نحو کے، لگتا ہے. یہاں میرا نیا ورژن ہے اس کے header.php-- لفظی، کہتے تھے، کھلی بریکٹ عنوان CS50، اور یہ کہ یہ تھا. اور H1 لئے ایک ہی بات. اب یہ کہنا ہے کہ بظاہر بہت funky کچھ. اور مجھے اس کو آسان بنانے ایک لمحے کے لئے کے طور پر مندرجہ ذیل ہے. یہ میں نے کیا ہے ہونا میری عنوان تبدیل کر دیا گیا. تاہم، یہ تھوڑا بدسورت ہو رہی ہے پی ایچ پی کے ساتھ مسلسل کھلی بریکٹ کرنے کے لئے، اور پھر پرنٹ تقریب کا استعمال کرتے ہیں. یہ پی ایچ پی ایک آشلپی ہے کہ باہر کر دیتا ہے صرف ہے جس میں اس کے لئے سنکیتن، تکنیکی طور پر ایک ہے جس میں ایک برابر علامت، نام نہاد تقریب، بجائے پرنٹ کی بازگشت لیکن یہ مؤثر طریقے، ایک ہی بات ہے. یہ صرف بہتر لگ رہا ہے. یہ صرف ایک نحوی ہے چینی، اگر آپ، کہ میرا کوڈ تھوڑا بہتر نظر بناتا ہے. لیکن یہ باہر کر دیتا ہے، اور ہم ایک بار پھر یہ دیکھ لیں گے طویل عرصے سے پہلے، ہم اس کو فون کرنا پڑے سے annoyingly طویل تقریب میں بلایا ایچ ٹی ایم ایل کی خصوصی حروف میں پی ایچ پی، یہ باہر کر دیتا ہے کیونکہ بعض آدانوں ہیں ، صارف ہمیں دے سکتا ہے کہ یا صارفین ہمیں دے سکتا ہے، کہ ہماری ویب سائٹ کو توڑنے کے لئے جا رہے ہیں. لیکن ہم اس اگلے دیکھ لیں گے جاوا سکرپٹ کے ساتھ ہفتے. لیکن اب کے لئے، صرف جانتے ہیں کہ اس فائل، headers.php، صرف عنوان لیتا ہے میں گزر، اس کے بنانے کے یہ محفوظ ہے یقین ہے کہ ایک ویب میں لگایا جائے گا صفحے، اور یہ میری عنوان کے طور پر باہر spits اور میرے H1 کے طور پر. تو اب میں اس ورژن میں جانا تو، لیکچر اس کے عنوان واپس ہے کہ محسوس، ہفتے صفر واپس اس عنوان ہے، اور بے شک، ایچ ٹی ایم ایل میں پیدا کر رہا ہوں کیا میرا پہلا ورژن میں ایک جیسی ہے میرے سفید فاصلہ کے علاوہ was--، میں فارمیٹنگ شروع کر دیا ہے کیونکہ مختلف میرا کوڈ ایک چھوٹا سا. لیکن میں پیدا ہے مجھے پرواہ کوڈ. تو میرے لئے روک دیں صرف ایک لمحے اور دیکھیں کسی بھی سوال ہے تو یا الجھن میں تشکیل دے دیا ہے. ٹھیک ہے، تو موڑ دیں تھوڑا مشکل یہاں وہاں ایک ہے تو دیکھنے کے لئے بہتری کے لئے موقع. helpers.php کی بھی یہ تھا تقریب، renderFooter بلایا. اور کے بارے میں قابل ذکر کیا ہے renderHeader، اور renderFooter؟ اور پھر، آج کے مقاصد کے لئے، جانتے ہیں نچوڑ تقریب صرف یہ ہے کہ پاسنگ دلائل کے اپنے طریقہ header.php اور footer.php میں. معاف کیجئے گا؟ سامعین: [اشراوی] DAVID MALAN: جی ہاں، میں نے صرف لائن کی ضرورت تبدیل. تو لفظی، میں نے گناہ کا ارتکاب کیا ہے کاپی اور چسپاں کے، ایک بار پھر. یہ ایک بہت بڑی تعداد نہیں ہے لائنوں کی، لیکن on-- آئے میں کاپی اور چسپاں سب کچھ کر رہا ہوں تو صرف ایک چھوٹا سا لفظ تبدیل کرنے کے لئے، اور ایک چھوٹا سا لفظ ایلن بتاتے ہیں کہ باہر بمقابلہ، یہاں فوٹر یہاں ہیڈر. دوسری صورت میں، سب کچھ ہے ایک جیسی، کے علاوہ، کورس کے، تقریب کے نام. تو ہم بہتر کیا کر سکتے ہیں؟ ویسے مجھے اس ورژن کو کھول دیں یہاں، جس نے helpers.php میں، کیوں میں صرف ایک نہیں ملتا اس کے بارے میں ہوشیار کم؟ تھوڑا سا زیادہ پیچیدہ لکھیں کوڈ، لیکن یہ رینڈر کہتے ہیں؟ تو میں بنیادی طور پر کیا تبدیل کر دیا گیا ہے؟ یہ ایک دلیل لیتا ہے now-- دو دلائل، اب بھی ڈیٹا. اور پھر سب سے پہلے کیا ہے شاید کے لئے استعمال کیا جا رہا نام، آپ یہاں پڑھ رہے ہیں کی بنیاد پر کیا؟ یہاں تک کہ اگر نحو کے کچھ اب بھی نئی ہے. ڈالر کا نشان ٹیمپلیٹ کیا ہے؟ معاف کیجئے گا؟ سامعین: ہیڈر یا فوٹر. DAVID MALAN: ہیڈر یا فوٹر. تو بظاہر، میں نے فیصلہ کیا کہ اگر تبدیل کر رہا ہے کہ صرف ایک ہی چیز میں چاہتا ہوں ٹیمپلیٹ ہے print-- اور سانچے کی طرف سے میں اس کے لئے بلیو پرنٹ ہے مطلب میں پیداوار کرنا چاہتے ہیں کہ کوڈ، لیکن میں کچھ میں پلگ کرنا چاہتے ہیں اقدار اگر ایسا ہے تو یہ صرف ہیڈر یا فوٹر، کیوں مجھے parameterize نہیں اور دلیل ڈالر کا نشان کال سانچے؟ اور پھر اس funky نحو مجھے اجازت دیتا ہے یہاں ایک متغیر میں ایک راستہ بنانے کے لئے. تو ڈالر کا نشان راہ ایک متغیر ہے. یہ نحو کرتا ہے آپ واقف ہیں تو، کیا ہے؟ جی ہاں؟ سامعین: [اشراوی] DAVID MALAN: بالکل. ٹیمپلیٹ ہے تو، اقتباس unquote، ہیڈر، یا سانچے ہے، اقتباس unquote، فوٹر، وہاں اس لائن میں پر روشنی ڈالی ہے کہ، لائن آٹھ، صرف ہیڈر کی طرح، اس کے نام لے جا رہا ہے، اور ڈاٹ پی ایچ پی کے ساتھ اس concatenating کی. تو ہم نے اس آپریٹر کی ضرورت نہیں تھی سی میں اس نقطہ آپریٹر ہے تم تو PHP-- میں ایک حیرت انگیز بات یہ ہے جاوا سکرپٹ یا جاوا کے ساتھ واقف، آپ کے علاوہ استعمال کر سکتے ہیں concatenation ایسا کرنے کے لئے دستخط. C میں، اس neck-- میں درد ہے چھ P- سیٹ اور میں، بہت افسوس ہے، تمہیں کیا کرنا ہے کرنے کے لئے جا رہے ہیں this-- یہ گردن میں درد ہے ڈور سلسلہ بندی کرنا. کیوں؟ ویسے، آپ کو مل گیا ہے کیونکہ اگر طویل عرصے سے اس ہے کہ ایک سٹرنگ، اور جب تک یہ ہے کہ ایک سٹرنگ، آپ کو صرف ان کے ساتھ پلگ نہیں کر سکتے. کیا آپ اس کے بجائے C میں کیا کرنا ہوگا؟ جی ہاں؟ سامعین: [اشراوی] DAVID MALAN: آپ malloc کرنا پڑے میموری، یا اسٹیک پر ایک صف کا استعمال کرتے ہیں. اور آپ اصل میں کرنا پڑے کافی اس صف بڑا بنانے اس کے علاوہ اس فٹ ہونے کے لئے، علاوہ الٹا سلیش صفر. تو استعمال کے ساتھ مل کر ان کے سلسلہ بندی لوپ کے لئے ایک کے ساتھ بلی یا دستی طور پر ہلچل، یا تکنیک کی کسی بھی تعداد. اور ہم آپ کو میں ایک جوڑے کو ظاہر P- سیٹ چھ. یہ گردن میں درد ہے. اور اس کے بارے میں کیا مطلب ہے واقعی ہے پی ایچ پی بمقابلہ سی کی طرح this-- بمقابلہ اس. آپ کو صرف اتنا زیادہ حاصل مفت کے لئے فعالیت، آپ کو توجہ مرکوز کر سکتے ہیں تاکہ، مثالی طور پر، مذاق پر کوڈنگ کا حصہ، آپ کو حل کرنا چاہتے ہیں اس منصوبے، بلکہ کم سطح باریکیوں سے. تو یہ صرف پیدا کیا header.php یا میں نے فون جس میں سے ایک کی بنیاد پر کیا footer.php. اور یقینا میں جاتے ہیں تو index.php کو میں، نوٹس سب اس کے بجائے changed-- ہے ہیڈر رینڈر یا فوٹر رینڈر بلا، کی طرف سے پیروی کی، رینڈر بلا رہا ہوں میں کرنا چاہتا ہوں کہ سانچے کا نام. اور تم بھی، یہ دیکھ لیں گے، مسئلہ میں، سات سیٹ ہم آپ کو استعمال کرنے کے لئے کی اجازت دیتے ہیں جس کے تحت ایک ہی تقریب bunches بنانے کے لئے اور مختلف ویب صفحات کے bunches. تو بجائے بھی بسنے سے زیادہ ان تفصیلات کی پر بہت زیادہ میں ایک بار پھر دیکھ لیں گے جس مسئلہ سیٹ کی دیکھو seven-- ایک حل اب شروع میں ایک سے زیادہ دلچسپ مسئلہ کے لئے. اس طرح اب تک، کچھ بھی نہیں ہم نے کیا بچا لیا اعداد و شمار ہے. اصل میں، صرف وقت ہم نے کبھی محفوظ کر لیا ہے ہم اس کی کلاس میں کیا ہے کچھ ہم تھوڑی دیر کے ایک بہت سادہ ڈیمو پڑا ہے جب واپس، جس کے تحت ہم C میں فائل IO استعمال اور مجھے میرے نام میں ٹائپ لگتا ہے، اور ہننا کا نام، اور ماریا کا نام، یا شاید اینڈی کا نام، اور پھر ہم ایک CSV فائل کو محفوظ کر لیا کوما اقدار فائل الگ. اور مجھے لگتا ہے کہ ہم fopen-- استعمال مجھے یاد کے طور پر ہم، fprintf استعمال اور ہم کسی فائل کو محفوظ. اب، کہ آسان ہے ایک ڈیٹا بیس کی شکل. آپ کے لئے ایک ویب سائٹ بنانے کے لئے چاہتے ہیں Frosh IMS پروگرام، جس کے تحت freshmen کے مثالی طور پر، ایک کھیل کے لئے آپ کو رجسٹر کر سکتے ہیں کہ اعداد و شمار کے ساتھ کچھ کرنا چاہتا ہوں. گزشتہ ہفتے، ہم کچھ نہیں کیا data-- ساتھ ہم صرف اتنا کہا، آپ سچ میں نہیں، رجسٹرڈ ہیں. یا شاید میں نے ای میل پراکٹر، اور یہ کہ یہ تھا. میں کر سکتا ہوں لیکن اگر یہ اچھا ہو گا ، کہ پراکٹر ایک CSV فائل دے ایک ایکسل فائل کی طرح. یا اس سے بہتر ابھی تک، یہ کرے گا میں کر سکتا ہوں تو اچھا ہو ان صارفین کے ناموں ڈال دیا اور ناموں چھاترالی اور اس کے سب ایک ڈیٹا بیس میں ہے کہ صرف، ہمیشہ رہتا ہے جب تک میں ڈیٹا حذف کرنے کا انتخاب. کی اجازت دیتا ہے کہ ایک ڈیٹا بیس مجھے معلومات سوال. اور بے شک، کہ ایک ڈیٹا بیس کیا ہے. آج ہم کو متعارف کرانے، اور اگلے ہفتے، بھی، ایک ٹیکنالوجی کہا جاتا SQL-- تشکیل استفسار ایک زبان ہے جو زبان،. یہ بنیادی طور پر ایک پروگرامنگ ہے زبان، لیکن ڈیٹا بیس کے لئے. اور اب کے لئے ایک ڈیٹا بیس، صرف ایک سپر فینسی ورژن کے طور پر کے بارے میں سوچنا مائیکروسافٹ ایکسل، یا گوگل کے سپریڈ شیٹ، یا ایپل نمبر. یہ عام طور پر کی اجازت دیتا ہے کہ ایک پروگرام ہے آپ اعداد و شمار کے پورے گچرچھی ذخیرہ کرنے کے لئے قطار اور کالم میں، کافی جیسے آپ کو ایکسل میں شاید. لیکن کیا خاص طور پر اگر، اچھا ہے ہم ایکسل کے ساتھ سپر واقف نہیں ہیں کیا SQL آپ کو ایسا کرنے کی اجازت دیتا ہے کے سوال یہ ہے کوڈ کی لائنیں لکھ کر معلومات جہاں آپ کر سکتے ہیں، یہاں تک کہ اگر آپ ڈیٹا بیس، اس میں ایک ملین لائنیں آپ چیزوں کو تلاش کر سکتے ہیں سپر روزہ. اصل میں، خاص طور پر ایکسل ہے بڑی ڈیٹا سیٹ میں برا. اور حقیقت میں، چند ایک کے لئے سائن اپ سال پہلے، نکلے ایکسل صرف آپ کو محفوظ کرنے کے لئے کی اجازت دے گا data-- جن میں اپ کے لئے 65.535 قطار میں بلکہ، ایک بہت کی طرح لگتا ہے وقت میں، ایک گراڈ طالب علم تھا اور میں پر tripping یاد اس میں پیدا کیا گیا تھا کی وجہ سے میری تحقیق اور میں CSV فائلوں انہیں فوری طور پر تجزیہ کرنے کے لئے کرنا چاہتا تھا صرف ایکسل میں کھولنے کی طرف سے. کورس کے، میرے کمپیوٹر صرف گر کر تباہ ہوگیا، میں زیادہ سے زیادہ 65،000 قطار تھا کیونکہ. لیکن 65.535 جہاں سے آیا تھا؟ مائیکروسافٹ کیا کر رہی تھی، شاید؟ تم دونوں کے اپنے اختیارات کے ساتھ اچھے ہیں؟ جی ہاں، وہ ایک 16 بٹ کا استعمال کرتے ہوئے قیمت صفیں کی نمائندگی کرنے. اور 16 کے لئے دو ہے 65،536-- مائنس ایک، کیونکہ اگر آپ صفر انڈیکس تھا کہ کا مطلب ہے میں کر سکتے ہیں قطاروں کی سب سے زیادہ تعداد. اور یہ صرف ایک ڈیزائن فیصلہ تھا. 16 بٹس بچانے کی طرف سے، انہوں نے مجھ سے محدود بجائے 4 ارب کے 16،000 قطار، کرنے کے لئے، جس میں مثالی طور پر تھا ہو سکتا ہے. لیکن اب کے لئے، ہم جا رہے ہیں ایک ویب تناظر میں اس سے زیادہ متعارف کرانے. اور کیا ایس کیو ایل کے بارے میں اچھی بات ہے کہ اس سے بھی ہے یہ بہت طاقتور اور خوبصورت ہے، اگرچہ نفیس، یہ واقعی فوڑے نیچے چار اہم آپریشن، چار اہم افعال، آپ کے منتخب کردہ will-- تو، ، ڈیٹا کی بازیافت تلاش کرنے کے لئے ڈیٹا کے لئے؛ حذف یا ڈیٹا کو خارج. ڈیٹا بیس کے لئے لائنیں شامل کرنے کے لئے داخل؛ اور اپ ڈیٹ. کیا تم نے کبھی استعمال کیا ہے تو گوگل سپریڈ شیٹ، ایپل نمبر، مائیکروسافٹ ایکسل، آپ کو پھانسی دے دی ہے، سب سے زیادہ امکان، تمام ایک انسان کے طور پر ان کی کارروائیوں کی طرف سے صرف اپنے کی بورڈ اور mouse-- استعمال آپ کی آنکھوں، ڈیٹا ڈالنے کا استعمال کرتے ہوئے منتخب کریں یا ڈیٹا کے لئے تلاش کرنے کے لئے، یا اپ ڈیٹ ڈیٹا، یا حذف ڈیٹا. تو اس کا کیا مطلب ہے؟ ویسے، CS50 میں پہلے سے نصب IDE ایس کیو ایل نامی ایک پروگرام ہے. یہ ایک مفت، اوپن سورس ہے سپر مقبول ہے کہ ڈیٹا بیس. فیس بک، مثال کے طور پر، اس سے اس کا استعمال کرتا وہ استعمال کرتے ہیں کہ دوسرے آلات کے درمیان دن،. اور بہت مقبول ویب سائٹس کی ایک بہت استعمال کرتے ہیں اس بڑے حصے میں اس سے روزہ ہے کیونکہ اور یہ مفت ہے کیونکہ. یقینی طور پر، اگرچہ متبادل موجود ہیں. اور تم میں سے بعض کے ساتھ بگونا سکتا آخری منصوبوں کے لئے متبادل. اس کے، اس دوران، ایک اسکرین شاٹ ہے phpMyAdmin کے نامی ایک ویب کی بنیاد پر آلہ. یہ ایک اتفاق نہیں ہے کہ اس ویب پر مبنی آلے کے بھی ہے ایک زبان میں لکھا گیا، پی ایچ پی، لیکن یہ ایسا کرنے کا مطلب ہے ہمیں دے رہا ہے ایک ویب کی بنیاد ایک ڈیٹا بیس انٹرفیس. ایس کیو ایل عام طور پر ہے کیونکہ کچھ، تاریخی طور پر، آپ صرف کے ساتھ بات چیت کریں گے ایک کمانڈ لائن کے ساتھ. اور یہ سپر ہو جائے گا پریشان اور حاصل کرنے میں Arcane منتخب کرنے کے لئے ٹیکسٹ حکم ٹائپ کرنے اعداد و شمار، ڈیٹا داخل، اور اعداد و شمار کو خارج کر دیں. انٹرنیٹ پر تو کچھ لوگوں ایک ویب پر مبنی پروگرام لکھا بس ہمیں منظم کرتے ہیں کہ ہمارے ڈیٹا بیس میں اعداد و شمار. یہ ایکسل پر ڈبل کلک کی طرح ہے، اور اس ایک ویب کی بنیاد پر ورژن چل رہا ہے. اور آپ کے لئے اس کا استعمال کرنے جا رہے ہیں بالآخر اگلے ہفتے، نہیں میں P- سیٹ چھ، لیکن کچھ تعمیر کرنے کے لئے ہے CS50 خزانہ، کہا جاتا ہے جس کا ایک ڈیٹا بیس کی جا رہی ہے صارف کا نام اور پاس ورڈ کے ساتھ صارفین،، ڈالر کی رقم ہے کہ وہ ان کے بینک اکاؤنٹس میں ہے. یہ ہونے جا رہا ہے آپ کو محفوظ کرنے کے لئے استعمال کچھ علامات اور مقدار اسٹاک کی ہے کہ صارفین مجازی استعمال خریدا ہے تم نے ان سے دے دیں گے کہ ڈالر. اور صارفین کی اجازت دینے جا رہا ہے آپ کی ویب سائٹ کے لئے رجسٹر کرنے، یہاں تک کہ اپنے دوستوں کہ اپنی ویب سائٹ پر میں کر سکتے ہیں کی دھن اور اصل میں رجسٹر، میں لاگ ان کریں، اور ارد گرد کھیلنے کے اور آپ کے کوڈ میں غلطی تلاش کرنے کی کوشش، اور اپنی ویب سائٹ میں کیڑے تلاش کرنے کی کوشش. اور وہ صرف رجسٹر ہوں مؤثر طریقے سے، خود انہوں نے مزید کہا، کوڈ کے ذریعے آپ کو آپ کے ڈیٹا بیس کو لکھیں. مثال کے طور پر، یہ ایک فوری اسکرین شاٹ ہے کیا ہے کی ایک ڈیٹا بیس کی طرح نظر ہو سکتا ہے. اس میں سے ایک سے تھا گزشتہ سال کے solutions-- یہ ایک منی ایکسل کی طرح ہے ہمارے ڈیٹا بیس میں محفوظ کیا، فائل، ایس کیو ایل کہا جاتا ہے اس سافٹ ویئر میں ذخیرہ. بائیں ہاتھ کی طرف پر، میں بظاہر ہے ہر صارف ایک منفرد نمبر دیا. دوسرے کالم میں، میں دیا ہے سب کو ایک صارف اپنے نام بتاو ان کے درمیان. اور دائیں ہاتھ کی طرف، میں نے انہیں ایک ہیش دیا ہے. اب یہ اصل میں ایک پاس ورڈ ہے، لیکن یہ ایک سادہ متن پاس ورڈ نہیں ہے. یہ تو، ایک مرموز پاس ورڈ ہے تم کروگے، یا ایک ہیش پاس ورڈ. جو ہم طویل عرصے سے پہلے واپس آ جائیں گے. لیکن کیا تم نے کبھی پڑھا ہے تو کس طرح کے بارے میں ایک مضمون کچھ بینک یا کچھ پر آپ کے پاس ورڈ ویب سائٹ، سمجھوتہ کیا گیا ہے ہو سکتا ہے یہ عام طور پر دو چیزوں میں سے ایک مطلب ہو سکتا ہے. تو یہ چھ صارفین کی صرف ایک اقتباس ہے. تم سب اب اندازہ لگا سکتے ہیں ہیکنگ یا کریکنگ کے ذریعے باہر ہمارے چھ لوگوں کے پاس ورڈ ہیں. لیکن تم نے کبھی ملا ہے تو ایک انتباہ یا ایک معافی ایک کمپنی یا ویب سائٹ کہاوت سے، معذرت، ہیکر، ہمارے ڈیٹا بیس میں توڑ دیا آپ کو شاید آپ کو تبدیل کرنا چاہئے پاس ورڈ، اس کا کیا مطلب ہو سکتا ہے؟ ویسے، ایک، مطلب ہو سکتا ہے کمپنی، زیادہ moronic رہا ہے اور آپ کے پاس ورڈ کو محفوظ کرنے کے کیا گیا ہے اس طرح ایک کالم میں، غیرخفیہ کردہ. کون دشمن کا مطلب ہے، جو، ڈیٹا بیس چرا لیا لفظی آپ جانتا ہے نام اور پاس ورڈ. یہ ممکن بدترین منظر نامے ہے. اور آپ P- سیٹ میں دیکھیں گے کے طور پر سات، سے بچنے کے لئے اتنا آسان. بالکل کوئی عذر اس کے لئے نہیں ہے آج کی انٹرنیٹ میں حماقت کی شکل. Two-- اور ہم نے کچھ مضامین تلاش کر لیں گے یہ اب بھی حقیقت یہ ہے کہ گواہی دینے کے لئے nonetheless--، ہوتا دو، شاید مخالف ڈیٹا بیس کے اس ورژن چرا لیا. جو، اب بھی قسم کی برا ہے کیونکہ اب انہوں نے چھ صارفین جانتے ہیں کہ، میں صارف نام جاننا ان چھ گاہکوں کی، اور میں مرموز جانتے ورژن، یا سے hashed ورژن، ان چھ صارفین کے پاس ورڈ کی. تم میں سے کسی لیکن جو شاید کیا ہے [؟ ہیکر 2؟] آپ کو پاس ورڈ پھٹے، یا لیا جہاں ایک مسئلہ کی اس ورژن کی طرف دیکھو سیٹ، کیوں اب بھی تھوڑا سا پریشان کن ہے دشمن آپ ہیش جانتا ہے پاس ورڈ؟ سامعین: وہ کر سکتا ہے کیونکہ پورے لغت میں داخل ہیش تقریب میں. اور اپنے پاس ورڈ کو ایک ڈکشنری ہے تو لفظ، [؟ وہ صرف match-- سکتا ہے؟] DAVID MALAN: بالکل، مخالف صرف تم میں سے بعض کی طرح، کوڈ لکھ سکتے ہیں [کے لیے کیا؟ ہیکر؟] 2، آپ iterate جس لغت میں الفاظ کی تمام، ایک یا تمام ممکنہ کے مجموعے Z کے ذریعے اور کے ذریعے ایک nine-- جس میں ایک بہت کی طرح لگتا ہے، اور یہ ہے. لیکن ایک کمپیوٹر کے لئے، یہ خوبصورت رفو روزہ ہے. اور حقیقت میں، تھا [کے نقطہ؟ ہیکر 2،؟] تھا جو چیزیں لینے کے لئے لفظی، اس طرح لگ رہا اور ریورس انجنیئر کیا یہ اصل میں تھا. ہم کس طرح کر سکتے ہیں تو ہم پر نظر ڈالیں گے زیادہ مؤثر طریقے سے اس سٹور. ، شکر ہے ایس کیو ایل میں، باہر کر دیتا ہے اعداد و شمار اقسام ہونا وہاں جا رہے ہیں. اور کے بارے میں مذاق حصوں میں سے ایک ڈیٹا بیس ڈیزائن،، ایماندار ہونا اصل میں خود کے لئے فیصلہ کیا جاتا ہے کس طرح آپ کو ڈیٹا کی نمائندگی کرنا چاہئے؟ آپ کے طور پر ایک فون نمبر کی نمائندگی کرنا چاہئے ایک بڑی تعداد، یا ایک طویل طرح ایک int،؟ یا آپ کو اصل میں یہ کرتے ہیں حروف کی ایک ہی تسلسل کے طور پر؟ اور بہت سے ہو سکتا ہے اس کی غیر معمولی اثرات. اصل میں، ایک ابتدائی، مزہ متعلق کہانیاں مارک Zuckerberg تعمیر کیا گیا تھا جب فیس بک، یہ اصل میں لکھا گیا ہے، اور اب بھی زیادہ تر پی ایچ پی میں لکھا ہے. اور سب سے بڑے چیلنجوں میں سے ایک وہ ابتدائی پیمائی گیا تھا کا سامنا کرنا پڑا. وہ بعد اسکول کا اضافہ رہا تو سکول کے بعد، میرے علم میں، اصل حل میں سے ایک کاپی اور پیسٹ کرنے بنیادی طور پر تھا ڈیٹا بیس میں سے کچھ اور کوڈ کے کچھ، ہارورڈ تھا تاکہ اپنے سرور پر چلنے، اور ایم ائی ٹی کے اپنے سرور پر چل رہا تھا. یہ تھا کیوں، کے لئے کچھ تم میں سے جو یاد کر سکتے ہیں، آپ دوستوں نہیں کر سکتے ہیں دوسرے نیٹ ورکس میں. آپ نے شاید میں دوست نہیں ہے 10 یا اس سال پہلے ایم ائی ٹی یا ہارورڈ، لیکن آپ کے نیٹ ورک اسپین نہیں کر سکتے جزوی طور پر اس کی وجہ سے. اور اس کے لئے سب سے بڑے چیلنجوں میں سے ایک مارک اور فیس بک جیسی کمپنیوں کے لئے اصل میں سینکڑوں ہینڈلنگ ہے اور ہزاروں اور لاکھوں فی سیکنڈ درخواستوں کی. تو چیزیں ہم شروع کریں گے اس ہفتے کے بارے میں بات واقعی کے متعلق ہونے جا رہے ہیں اچھا سافٹ ویئر لکھنے، اور مقبول کامیاب اوزار کہ صارفین کی بہت سی کو سنبھال سکتا ہوں. تو ہم چیزوں کے بارے میں بات کریں گے تخکرمن اور تلاش کی طرح، لیکن آج کے لئے ہے. ہم آپ کو بدھ سے زیادہ کے لئے آپ دیکھیں گے. [MUSIC - "Seinfeld کے" تھیم] DAVID MALAN: آپ کر سکتے ہیں یہ، اور اس سے منہا. اور آپ کے ساتھ رہنا کی ضرورت نہیں ہے میموری میں سے کچھ پہلے سے مقرر رقم. ٹھیک ہے، اس بلایا جا رہا ہے؟ اسپیکر 1: ٹھیک ہے، کیا ہو رہا ہے؟ اسپیکر 2: آپ کو کیا مطلب ہے؟ انہوں نے کہا کہ ایک لیکچر دے رہا ہے. DAVID MALAN: اور ہم ایک استعمال کر سکتے ہیں تقریب میموری کو malloc کہا جاتا ہے اسپیکر 1: کیوں اس کی باہوں منتقل نہیں کر رہے ہیں؟ اسپیکر 2: ویسے that's-- آپ کو معلوم ہے، کہ عام ہے. وہ صرف ہے جیسے یہ صرف ہے بڑا sausages کے وہاں پھانسی. اسپیکر 1: یہ عام ہے؟ اسپیکر 2: جی ہاں، میں ہم سوچتے ہیں صرف اتفاقی طور پر وہ فرض superglue ہے کے ساتھ ان کی جگہ لے لی deodorant کے.