سرور 1: جميع، نرحب الظهير الايمن. هذا هو CS50. وهذه هي بداية من الأسبوع تسعة. وهذه هي بداية ما تبقى من وقتك في CS50، التي نعمل الانتقال الآن، أخيرا، على شبكة الإنترنت جانب من جوانب الدورة، حيث عليك نجد أن الكثير من الأساسيات التي لقد تم تصدير لأسابيع لا يزال يعود للزيارة، أو تطارد، لنا. ولكن الآن، ستجد أنها تشكل أمر من حجم الأسهل ل انجاز مهام معينة و حل بعض المشاكل - لدرجة أنه حتى لو كنت تعتقد وكانت بعض مجموعات مشكلة المرح في حياتهم بطريقته الخاصة، وأعتقد أن عليك أن تجد تعيين هذا ص 7، ص 8 تعيين، ومن ثم، في نهاية المطاف، سوف يكون المشروع النهائي جميع أكثر مما يثلج الصدر لأن عليك تجد أن نبدأ أمرا مفروغا منه الآن أشياء مثل إدارة الذاكرة، و مؤشرات، وما يحدث تحت غطاء محرك السيارة. ومرة أخرى، الموضوعية، في كل أنحاء وقد تم فصل هذه الطبقات وطبقات. ونحن الآن نوع من يصل هنا، يقف على أكتاف الأسابيع الماضية. الآن، أذكر من آخر مرة أننا تحدث عن كيفية عمل الإنترنت. وربما كان هذا التبسيط، ولكن تذكر أن كل جهاز كمبيوتر في العالم لديه IP معالجة، على الرغم من أن قليلا من التبسيط لا يزال. وتستخدم هذه العناوين لفريد تحديد الآلات بحيث عند إرسال المعلومات أو الحزم، إذا جاز التعبير، وأنها يمكن أن يكون لها أصل عنوان وعنوان الوجهة. وهذه العناوين IP يمكن استخدام نفس سواء من أجل الخير وأيضا للشر، لتتبع لك، على سبيل المثال. في الواقع، كل واحد منكم مع جهاز كمبيوتر محمول فتح الآن، أو الهاتف في الخاص جيب، لديه عنوان IP على شبكة هارفارد. وانها ليست بهذه الصعوبة ل ربط إلى أن الذين وأين أنت هي في هذه الأيام. ولكن أكثر على ذلك ربما في المستقبل. الآن اعتقدت اعادة بعض ذكريات [؟ تعزيز؟] وتعطيك مقطع آخر من تظهر لك قد تجد مألوفة. لو استطعنا تحت أضواء خافتة لثوان معدودة. المعرض NUMB3RS. المتحدث 2: انها عنوان IPP4 32 بت. SPEAKER 3: IPP، كما هو الحال في الإنترنت؟ المتحدث 2: شبكة خاصة. إلى شبكة خاصة أميتا ل. انها مذهلة جدا. SPEAKER 3: هيا، تشارلي. المتحدث 2: انها. عنوان IP المرآة. انها السماح لنا مشاهدة ما انها تفعل في الوقت الحقيقي. سرور 1: OK، حتى الأشياء قليلة الخطأ في هذه الصورة. حتى واحد، وهذا واحد هو مقبول، هذا هو في الواقع ليس عنوان IP صالح. عنوان IP صالح يجب أن يكون أرقام من w.x.y.z شكل من الأشكال، حيث أن كل من تلك الرسائل هو من 0 إلى 255. ولكن هذا ما يرام لمجرد مثل الأفلام حيث أرقام هواتف وهمية، أنها عناوين IP وهمية. كنت لا تصل في الواقع خوادم الحقيقي. ولكن اعتبارها لكم، وهذا هو متصفح. ومتصفحات لا تبدأ إخراج رمز كمبيوتر من هذا القبيل. وإذا نظرنا أعمق قليلا، إشعار أن اللغة التي يعايشونه على الشاشة هي لغة تسمى الهدف C، والتي هي اللغة في التي هي مكتوبة تطبيقات آي فون، ولا سيما تلك التي تنطوي الطباشير الملون، وكما ترون من شفرة المصدر هنا. حسنا، أعتقد أن هذا مضحك. لذلك هذا مقتطف من التعليمات البرمجية على الإطلاق كل ما يجب القيام به مع هذا شيء كان حلقة خاصة حول. وبالتالي فإن النكتة هي نوع من الناس على لهذا أخذ أمرا مسلما به. ولكن هذا ليس كل ما من الصعب الحصول على هذه التفاصيل التقنية الصحيح. وأود أن أشجعكم. وفعلا، 50 قد تفسد بشكل جيد للغاية الكثير من البرامج التلفزيونية والأفلام أو لك لأنك سوف تجد أنه مجرد ليس من الممكن انهم ما القيام على الشاشة. ولكن في الواقع، وهذا هو رمز التي قمت قد نرى ذلك في تطبيق اي فون أو تطبيق نظام التشغيل Mac OS. كان لديه أي شيء على الإطلاق علاقة بالأمن. لذلك ترقب لمزيد من مثل هذه الأشياء متعة من هذا القبيل. ولكن اليوم نبدأ في الغوص في الحقيقة بعمق إلى مجموعة كاملة من اللغات. والواقع، واحدة من الجامع الوجبات السريعة من هذا الجزء من بالطبع ليس لتعلم كيفية برمجة في PHP، وليس لتعلم SQL في حد ذاتها، وليس لتعلم الجافا سكربت في حد ذاتها، وإنما لتعلم نفسك كيفية تدريس نفسك لغات جديدة لأنه، في الواقع، نبدأ في اتخاذ الآن عجلات التدريب من ذلك أنه بعد نهاية بالطبع، وكنت لا أتوقع 20 مواصفات الصفحة لاقول لكم كيف لتنفيذ بعض البرامج. لديك ما يكفي من المكونات في الخاص مانع، وأدوات كافية في أداة الخاصة بك عدة، والتي لبدء بناء حلول للمشاكل التي تهم لكم لبعض الطلاب مجموعة، بالنسبة لبعض مشروع بحثي، أو أي شيء حقا ذات فائدة لكم. حتى من اجل هذا الهدف، أذكر أن هذا كان الصورة ضعنا ذلك في المرة السابقة. وهذا هو جهازي كمبيوتر، والعميل قطع، والتحدث إلى بعضهم البعض. والبروتوكول، واللغة، وذلك ل الكلام، أن هذه جهازي يحدث وكأنه يتحدث يسمى HTTP. وهذا مجرد بروتوكول المستخدمة من قبل أجهزة الكمبيوتر لنقل المعلومات عبر الشبكة العالمية. شبكة الإنترنت، بطبيعة الحال، هو خدمة واحدة فقط التي يتم تشغيلها على أعلى ما يسمى الإنترنت. ما هو خدمة أخرى متوفرة على العلوي من الإنترنت في هذه الأيام؟ بعض بروتوكول آخر أو - ما هذا؟ الجمهور: FTP. سرور 1: FTP. لذلك بروتوكول نقل الملفات هو شيء آخر. معظمكم ربما لم تستخدم. ولكن معظم وربما كنت قد استخدمت أشياء مثل Gchat، أو لحظة الرسائل بصورة أعم، بالتأكيد البريد الإلكتروني. وتلك، أيضا، هي الخدمات التي تعمل على العلوي من الإنترنت، لأنه في نهاية اليوم، وشبكة الإنترنت نفسها حقا مجرد الحصول على البيانات من النقطة ألف إلى النقطة باء وأنه يستخدم عددا من الجسيمات نفسها، واحد منهم أو اثنين منهم أكثر تسمى TCP / IP عموما، وهذا يعني أن جهاز كمبيوتر واحد على يمكن في الواقع أن تفعل الإنترنت أشياء مختلفة، والبريد الإلكتروني، وعلى شبكة الإنترنت، وهكذا دواليك. جوجل يفعل الكثير من هذا. فكيف هي تلك الخدمات بشكل فريد التي تم تحديدها، لم نقول، على جهاز كمبيوتر قد يكون في الواقع القيام أشياء متعددة؟ رقم المنفذ. وهذه هي الإنسان مجرد التعسفي الاتفاقيات مثل 80 هو شبكة الإنترنت، و443 الشبكة مشفرة، 25 هو البريد الإلكتروني. وهناك باقات من الآخرين. وببساطة يتم تضمين هذه الأرقام في تلك الحزم من المعلومات، تلك المغلف الظاهري، والتي في الواقع يرد طلب أو استجابة. حتى عندما كنت أعود استجابة من على شبكة الإنترنت، عادة، كنت لا أرى أي أرقام على الإطلاق من حيث رمز حالة من الاستجابة. كنت لا ترى في الواقع الأعمال الداخلية لل الحزم التي يعود. ولكن 200 لا يعني حقا موافق. وهذا يعني كل شيء على ما يرام. كنت قد رأيت حفنة من هؤلاء. الذي هو على الارجح الاكثر شيوعا كنت قد رأيت على شبكة الإنترنت؟ 404. بل يعني فقط لم يتم العثور على الملف. فهذا يعني شخص ثمل. فعلت من قبل ميستيبينغ عنوان URL، أو أي شخص فعل آخر عن طريق إعطائك URL غير صالحة، أو أنها حذف ملف وعنوان URL لا يزال تستخدم من قبل الناس. لذلك أي عدد من الأسباب يمكن أن تفسر لماذا لم يتم العثور على الملف. وسترى، في الأسابيع المقبلة، هذه رموز الخطأ الأخرى، وعليك الاستفادة من بعضهم. الأسوأ هو 500. إذا كنت تحصل على خطأ 500 في التعليمات البرمجية قمت مكتوبة، والتفكير في أنه نوع من التناظرية من أخطاء في ثوانى عالم برمجة الويب. انها ليست تماما كما وخيمة. ولكنه يعني فقط أن، في مكان ما، أنت ثمل. لذلك نتطلع إلى هؤلاء. ولكن دعونا نرى ما اذا كنا نستطيع نرى هذه في السياق. اسمحوا لي أن انتقل إلى مستعرض هنا والقيام بما يلي. لذلك هذا هو كروم، والذي يحدث ل يتم تركيبها في الجهاز. ولكن معظم كل متصفح في هذه الأيام لديها بعض الوظائف ما يعادلها. أنا ذاهب لترتفع القائمة كروم، و وانتقل إلى أدوات، وانا ذاهب للذهاب إلى أدوات المطور. وسترى أن هذا الفريق الصغير يفتح في الجزء السفلي من الإطار. اختصار آخر، أن نكون صادقين، وأنني وعادة ما يستخدم نفسي هو انقر بزر الماوس الأيمن أو التحكم انقر فوق أي مكان على شبكة الإنترنت صفحة واذهبوا الى فحص العنصر. والتي ستفتح ليس فقط هذا يكون بالنسبة لك. فإنه سيتم فتح أيضا، وتحديدا، جزء عناصر في الجانب الأيسر. لذلك نراه بالطبع جوجل. غيروا الشعار اليوم. ولكن على ما إذا كنت انتقل لأسفل هنا، لاحظ أنه في ظل عناصر، ترى ما يسمى HTML، توصيف النص التشعبي اللغة، وهذه هي اللغة أن هذا وجميع صفحات الويب، حقا، مكتوبة فيها. لكنه في الواقع مهيأ ل لنا أكثر من ذلك بكثير بصورة مقروءة مما هو عليه عادة. في الواقع، إذا كنت التصغير، وأنا بدلا من ذلك فقط انقر على الحق أو التحكم اضغط انقر على الصفحة، ثم انتقل إلى عرض الصفحة المصدر، وهذا هو حرفيا ما أرسلت جوجل وصولا الى متصفحي. حتى كتب بعض الشخص أو الأشخاص Google.com باستخدام هذه التعليمات البرمجية المصدر. معظم هذه ليست HTML. انها في الواقع لغة تسمى جافا سكريبت، الذي سنأتي إلى يوم الأربعاء. ولكن ما كروم، وما كل متصفح يمكن القيام به بالنسبة لنا، هو نوع من رؤية الماضي كل من الانحرافات من جملة مجنون، ومعاودة المساحة البيضاء بالنسبة لنا، وحتى تسليط الضوء على بناء الجملة، أو تلوين الأشياء بالنسبة لنا. لذلك ستجد أن هذه يسمى أدوات المطورين في صلب المتصفحات سوف تجعل حياتك جدا، لذلك أسهل بكثير لأنه يمكنك استكشاف، عبر هذه القائمة واجهة، وبالضبط ما الكامنة الشيفرة المصدرية ل أي صفحة على شبكة الانترنت. والواقع، هذا هو واحد من أكثر طرق فعالة لتعلم كيفية القيام شيئا جديدا، على الأقل إذا كانت الصفحة ليست معقدة بحيث تطغى، هو لبدء بدس حولها في HTML، والبحث في دورته يسمى CSS، والتي سنأتي إلى قليلا أيضا، للحصول على فهم كيف أن مبرمج تنفيذ بعض خاصة ميزة من الصفحة. ولكن أكثر إثارة للاهتمام من الناحية الفنية الحق الآن انها سوف تكون هذه. إذا ذهبت إلى علامة التبويب الشبكة، دعونا الآن مسح هذا. انا ذاهب الى فوق قليلا عبور رمز هنا، ثم انتقل إلى موقع آخر. وأنا ذاهب لمجرد اكتب في Facebook.com. لا HTTP، HTTPS لا، لا WWW. دعونا نرى في الواقع ما يحدث هنا. دخول. الآن لاحظت وجود مجموعة كاملة من الاشياء فقط ظهرت في هذه اللوحة السفلية، في بالإضافة إلى صفحة الويب تظهر في الجزء العلوي. انا ذاهب للتمرير احتياطية في علامة التبويب شبكة هنا، وانا ذاهب الى انقر على الصف الأول. ما هذه الأداة سوف تكشف لنا هو كل واحد من طلبات HTTP أن بسرعة فقط عاد و إيابا بين متصفحي والخادم في الفيسبوك. وذلك في كل واحدة من تلك الصفوف يمثل واحدا مثل هذا الطلب أو ردا على ذلك، واحد أو أكثر من تلك المغلف الظاهري. أو أكثر عرضا، وانها مثل شخص وكأنه شخص، والعملاء في مطعم، يسأل عن شيء مرة أخرى، ومرة ​​أخرى، ومرة ​​أخرى. والنادل يحتفظ بذلك مرة أخرى في وقت واحد. وحتى الآن، وإذا كنت التكبير في هذا، لاحظ وسيكون هذا النوع من الشيء ان كنت مرحبا بكم في وشجعت للعب مع لوحدك، لأننا لن تذهب من خلال كل شيء بقدر كبير من التفصيل. ولكن هناك إشعار قليل من علامات التبويب الفرعي هنا - رؤوس، معاينة، الاستجابة، ملفات تعريف الارتباط، والتوقيت. أنا فقط سوف ننظر في رؤوس في الوقت الراهن لأن هذه هي قليلا المكونات داخل المغلف الذي تساعد البيانات الحصول من وإلى الأماكن. لذلك الأولى، اسمحوا لي أن فوق هذا، عرض مصدر المقبل لطلب رؤوس. هناك طلب أن متصفحي، الكروم، في هذه الحالة، أرسل داخل أن الظرف الظاهري. سوف أذكر الأسبوع الماضي وأنا كتابته يدويا في حين التظاهر ليكون المتصفح. ثم أنه ذكر أنه من الخادم يبحث عن مضيف يسمى Facebook.com. وبعد ذلك هناك أكثر قليلا غامضة المعلومات التي سنقوم موجة أيدينا الآن. ولكن إذا كنت تبدأ في التمرير لأسفل الآن في هذا الإطار، اسمحوا لي أن الحصول على رؤوس استجابة. كان هذا ما هو في الظاهرية المغلف الذي عاد من Facebook.com. وإذا كنت انقر فوق عرض المصدر فقط لرؤية النص الخام منه، لاحظت وجود عدد قليل من الأشياء. واحد، الفيسبوك أيضا يتحدث نفس بروتوكول، الإصدار 1.1 منه. بحيث لطيف. ولكن قانون الأحوال 301، انتقلت بشكل دائم. حسنا، أين هيك الفيسبوك تذهب؟ ما هذا يحاول أن ينقل لنا؟ كذلك، لاحظ أسفل هنا وهناك أخرى دعا رأس الدولة. فلماذا يتم الفيسبوك يقولون لي انهم انتقلت بشكل دائم إلى هذا العنوان بجانب المكان؟ لقد نسيت شبكة الاتصالات العالمية. لذلك كان هذا خياري. في الواقع، ومعظمنا نادرا ما، على الأرجح، اكتب www.whatever.com هذه الأيام. ولكن اتضح مسؤول النظام، مثل الفيسبوك، ويمكن تكوين أجهزتهم في مثل هذه الطريقة إما أن يعمل Facebook.com، أو www.Facebook.com يعمل، أو، في الحقيقة، أي بادئة مثل أمام بهم اسم المجال. حتى أنها قد فعلت ذلك بالنسبة لنا. وهم توجيه لنا، وربما بالنسبة لبعض التقنية، بعض الأسباب التسويق. انهم يريدون فقط لcanonicalize على www.Facebook.com. ولكن هذا ليس تماما ذلك. إذا كنت انتقل لأسفل هنا، دعونا نرى ما سيحدث. وهذا ما تقول لي نحن انتقلت بشكل دائم ل http://www.Facebook.com. لذلك دعونا ننظر في الطلب الثاني أن يرسل متصفحي. للأسف، يبدو أن الفيسبوك انتقلت مرة أخرى لأن الثانية طلب، من خلال تحديد هذا العنوان بدلا من ذلك، يقول ذلك أيضا، انتقلت بشكل دائم. واسمحوا لي أن انتقل لأسفل هنا إلى رؤوس الاستجابة. حيث تمت الفيسبوك ذهب الآن؟ حتى HTTPS. وحتى الآن بدأت الفيسبوك، خاصة في ضوء الحالي الأحداث في الأشهر الأخيرة، وخاصة و أيضا في العامين الماضيين لإجبار جميع مستخدميها، في وضع جيد الطريقة، لاستخدام HTTPS، والتي هي أكثر تأمين، وإن لم يكن آمن تماما. وحتى الآن صفحتي، متصفحي هو ستذهب لطلب هذا العنوان الثالث. والآن، أخيرا، نحصل على الغيب إلا 200 OK. لذلك ما في العالم أو كل هذه الصفوف الأخرى إلى هنا. أنا كتبته حرفيا شيئا واحدا، وبلدي يبدو أن المتصفح قد طلبت مثل 20 بعض الأشياء الغريبة. ما هذا؟ الجمهور: مخطوطات؟ سرور 1: مخطوطات، لذلك ملفات أخرى مكتوب بلغة تسمى جافا سكريبت، والتي، مرة أخرى، وسوف نقوم نرى قليلا من يوم الاربعاء. ماذا؟ أوراق الأنماط. ذلك شيء بلغة تسمى CSS، والتي سنرى في بعض الشيء. متحركة، وملفات JPEG، وpngs، والصور، وملفات الأفلام - أيا كان صفحة ويب لديه هو الأكثر احتمالا في شكل ملف. وذلك ما نراه على اليسار الجانب هناك كافة الملفات أن كروم زيارتها لتحميل، بشكل متكرر، اذا صح التعبير، من أجل يؤلف مجمل الصفحة. ذلك ما رأيناه منذ لحظة مع جوجل، إذا كنت أنقر على عناصر التبويب، وهذا، بالتأكيد، هو HTML، و اللغة التي يؤلف هذه الصفحة. ولكن هناك باقات من الأشياء الأخرى. هناك شعار. هناك تلك الأزرق العش الرموز هناك. وهناك عناصر أخرى لا تزال على الصفحة التي قد تكون نفسها ملفات منفصلة. فما هو لطيفة عن متصفح هو أن يبدو في اللغة ونحن في طريقنا لبدء الكتابة، أو قمت بالفعل بدأت الكتابة في P تعيين 7 والشخصيات من أين تعيش تلك الملفات، و يذهب والاستيلاء عليها كذلك. وأنا لا أستطيع التأكيد بما فيه الكفاية، حتى على الرغم من بعض هذا قد يبدو قليلا غامضة أو الساحقة للوهلة الأولى، تعلم كيفية البرنامج تطبيقات لشبكة الإنترنت، فإنه من لا تقدر بثمن لفهم كيف يمكن لهذه تعمل الأدوات قليلا. هذه هي نوع من مثل GDB مثل الأدوات، ولكن أبسط من ذلك بكثير، في نهاية المطاف، لاستخدام - ويعطي حقا لكم العينين إلى ما لقد تم اتخاذ أمرا مفروغا منه ل بعض الوقت الآن. فماذا يمكننا أن نفعل الآن مع هذه المعلومات؟ حسنا، دعونا نلقي نظرة الواقع في المفاهيم الأساسية HTML. ونحن سوف تؤجل، كما لدينا بالفعل، ل أقسام هذا الأسبوع، لمشكلة ضبط 7 مواصفات، لبعض من أكثر تفاصيل هذه اللغات. ولكن دعونا نرى ما اذا كنا لا يمكن أن ترسم صورة لما يجب أن نفهم عموما هنا. لذلك HTML، لغة توصيف النص التشعبي، ليست لغة برمجة. ماذا يعني ذلك حقا؟ لذا HTML يبدو مثل هذا. والبعض منكم يعرفون ذلك بالفعل. تم القيام ببعض منكم هذا لبعض الوقت. ولكن دعونا نرى ما اذا كنا لا يمكن أن تملأ في بعض الفراغات كذلك. حتى إشعار بضعة أشياء هنا. واحد، انها مجرد نص. حتى انها مجرد مثل شفرة المصدر في C، أو بعض اللغات الأخرى. لاحظت أن هناك يبدو لتكون نمطا هنا. هناك المسافة البادئة، لكن من الناحية الفنية المسافة البادئة هو فقط الإنسان الاتفاقية. A المتصفحات لا يهتم إذا كان هناك جديد خطوط وعلامات مثل التي نراها هناك. ولكن لاحظت أن هناك التماثلات هنا. هناك ما اسميه، في الجزء العلوي من هذا الملف، علامة مفتوحة، أو بداية علامة، ودعا HTML. وبعد ذلك، في الأسفل، واصطف تماما حتى، مثل الكثير نقوم به مع الأقواس المتعرجة، نرى قوس مفتوحة، إلى الأمام مائل، HTML، وقوس إغلاق. ذلك أن ختام المقابلة العلامة، أو نهاية العلامة، لهذا الشيء. معا، كل شيء داخل ما يسمى علامة مفتوحة والعلامة قريبة يؤلف ما سنقوم استدعاء عنصر. وسنرى، في مجرد لحظة، انها أحب عقدة في الأشجار. لأنه إذا كنت تفكر الآن المسافة البادئة وهذا ما يعني ضمنا هنا، نوع من ديك، مثل، جد عقدة تسمى HTML. كيف العديد من الأطفال قد يقول لك، استنادا على هذه الصورة، عنصر HTML قد؟ لذلك ربما اثنين. واحد هو العنصر الرئيسي، على ما يبدو. واحد هو العنصر الأساسي. ولماذا طفلين؟ حسنا، أنا مجرد نوع من استنتاج أنه إذا لدي علامة رئيس فتح وثم وثيقة علامة الرأس، وهذا عنصر. ومن ثم، إذا كان هناك جسم آخر مفتوح علامة وعلامة الجسم وثيق، وهذا مثل عنصر آخر. ذلك بمعنى أنه إذا كنت نوع من تدوير الصورة على جانبها، وانها مثل وجود علامة HTML، ومن ثم علامة الرأس، ثم علامة الجسم، و ثم بعض النصوص، مرحبا العالم، المتدلية الخروج من علامة الجسم نفسه. حتى نتمكن من رسم الصورة التي قد تبدو مثل هذه. الأشكال هي التعسفي. ولكن لاحظ أنني قد استخدمت نوعا من القطع الناقص في أعلى لتمثيل الوثيقة نفسها. اتضح يمكن أن يكون هناك غيرها من الاشياء داخل صفحة الويب التي لدي لا رسمها هنا. لذلك نحن في طريقنا حتى لشنق HTML عقدة الخروج من ما يسمى عقدة الوثيقة. ومن ثم لدينا رئيس و الجسم والعنوان، إشعار، الذي يتم عنده تداخل أخرى. لم أكن عناء وضع خط إضافية فواصل داخل علامة العنوان. شعرت تماما مثل كان الحصول على مطول قليلا جدا. لذلك أنا تركت في سطر واحد هناك، مع عنوان مفتوحة، مرحبا العالم، عنوان وثيق. ثم لدينا بعض النص التعلق الخروج من هنا. لذلك هذه الصورة سوف يعود ل لنا عندما يغوص في جافا سكريبت. وفهم أنه عند إرسال HTML مثل هذا، ما هو متصفح تفعل؟ حسنا، ليس لدينا ما يدعو للقلق كيف يفعل هذا، أو مع ما الخوارزمية، ولكن في نهاية اليوم، عندما يتلقى متصفح HTML مثل أنه من الفيسبوك أو جوجل، فإنه يوزع عليه، إذا جاز التعبير، فإنه يقرأ عليه، مع شيء من هذا القبيل fread، من أعلى إلى أسفل، اليسار إلى اليمين، وكما يدرك، أوه، علامة مفتوحة، ثم أغلق العلامة، ويبدأ لmalloc، إذا جاز التعبير، عقدة في شجرة. وعندما واجه، ونحن قد ضمنا هنا مع المسافة البادئة، و عقدة الطفل، فإنه mallocs عقدة لذلك وتعلق ذلك إلى شجرة. وبالتالي فإن الهياكل شجرة، الأشجار الثنائية، أشجار الثلاثي، وأشجار أكبر، أن نحن يحملق في غضون أسبوع أو اثنين قبل، لاحظ أن نفس المبدأ هو يعود لنا. وأيا كان تنفيذها، والكروم أيا كان فعل الفريق الذي كان يفترض لتنفيذ بعض نوع من هيكل شجرة تحت غطاء محرك السيارة. وهذا في حد ذاته هو على الارجح في اللغات مثل C أو C + + أو أقل اللغة المستوى الذي سنقوم الآن استخدام فوق الشبكة. وحتى الآن، وربما، وهذا سوف أكثر منطقية. وشم الفعلية من بعض الرجل الذي قد نأسف لذلك في نهاية المطاف، نوع من. حسنا، كل الحق، لذلك الكثير من الفكاهة على شبكة الإنترنت. انها ليست يحدث في الواقع على ما يرام اليوم. ولذا فإننا سوف نمضي قدما. حسنا. لذلك دعونا نلقي نظرة الآن في بعض الأمثلة. أبسط ممكن قد يكون هذا الشيء. انا ذاهب الى المضي قدما وفتح في gedit ملف يسمى hello.php. وداخل هنا، أنا ذاهب إلى بسرعة مجرد قيام بذلك، printf، واقتبس نهاية الاقتباس، "مرحبا العالم". حتى إشعار، وسأفعل بلدي مائل ن، أنا لم يكلفوا أنفسهم عناء تعلن الرئيسي. كما تبين، في بي، والكثير من لغات، لا تحتاج رئيسي تعمل في حد ذاتها. يمكنك فقط بدء الكتابة البرنامج. الآن، عندما أقوم بحفظ هذا الملف، لاحظ أنا ستكون لدينا للقيام بما يلي. أنا لن تستخدم جعل، وأنا لست تنوي استخدام رنة لPHP، خلافا C، ليست لغة المترجمة. انها ما يسمى تفسير اللغة، مما يعني أنك تشغيله كمدخل من خلال برنامج آخر دعا مترجم. وهذا البرنامج يقرأ عليه، من أعلى إلى أسفل، اليسار إلى اليمين، ويفعل مهما كنت أقول أن تفعله. حتى في هذه الحالة هنا لا بد لي سطر واحد تقول printf. لذلك عند تشغيل هذا الكود المصدري، hello.php، على الرغم من أن برنامج يحدث، ملائم، ليتم استدعاؤها PHP، أن برنامج PHP هو الذهاب الى قراءة هذا الملف، من أعلى إلى أسفل، من اليسار إلى اليمين، وانها سوف تفعل ما أنا أقول ذلك لقيام - تنفيذ التعليمات البرمجية، وإذا أنها لا تعترف شيئا، فقط البصق عليه. لذلك انا ذاهب الى المضي قدما و تشغيل PHP من hello.php. دخول. وهذا ليس تماما ما نويت. حسنا، لماذا؟ كذلك، PHP هي لغة هذا في الواقع صمم ليكون إلى حد ما تتشابك مع شبكة الإنترنت. عند اتخاذ صفحات الويب مع هذه اللغة PHP، كما سنرى قريبا، وسوف نقوم تريد أن تفعل شيئا مثل الطباعة خطوط للخروج من هذا القبيل. لذلك أنا ذاهب للقيام بذلك. فتح قوس، علامة استفهام، PHP، و الآن أنا مجرد الذهاب فقط للحفاظ على المسافة البادئة أشياء لطيفة. والآن أنا ذاهب للقيام سؤال بمناسبة قوس إغلاق. حتى لا يكون هناك قليلا من عدم التماثل هنا. كنت لا تفعل هذا. وأنت لا تفعل مائل، لذلك PHP هي مختلفة قليلا. ولكن الآن، إذا أنا أعد هذا البرنامج، PHP hello.php، وأنا الآن في الواقع الحصول مرحبا العالم. وسنرى لماذا هذا هو قيمة. واحد، فإنه يتيح لي الفرصة لتحديد، السوبر صراحة، وهذا هو رمز، تنفيذ هذا. وهذا في الواقع ما هذه علامات خاصة تعني هنا. لكنه يعني أيضا أنه إذا أنا فقط تفعل شيء من هذا القبيل أسعى هنا، أن يعني ذلك، حرفيا، من شأنها أن فقط طباعتها دون الحاجة إلى استدعاء printf الواقع، أو الطباعة، أو أية وظيفة مماثلة. ولذا فإننا سوف أعود إلى ذلك في مجرد لحظة. أولا، دعونا نفعل هذا. داخل الأجهزة، لدينا دليل يسمى Vhosts، لالظاهرية المضيفين، خفض المضيف المحلي، خفض العامة. لذلك فمن مطول بعض الشيء، ولكن قصة طويلة باختصار، تم تصميم الجهاز لا فقط لدعم C. كما انها تهدف إلى دعم PHP. لكنها مصممة أيضا لتكون على شبكة الإنترنت الخادم، وخادم قاعدة البيانات. وانها مصممة، وتكوين حقا، أن تذكر أي الشبكة التجارية شركة استضافة التي كنت قد دفع 5 دولار شهريا ل، 100 دولار في الشهر ل. مهما كانت الخدمة، التي تكوينه لتكون مشابهة جدا ل خادم الإنتاج الحقيقي العالم. وما يعنيه ذلك هو أن تعمل على الجهاز هو برنامج خادم الويب. يحدث ذلك ليتم استدعاؤها اباتشي. انها حرة تماما، والمصدر المفتوح، وتحظى بشعبية كبيرة. ولقد تكوين اباتشي لمعرفة أنني إذا زيارة URL معينة، مع الكروم أو أي متصفح من داخل الأجهزة، للنظر في هذا الدليل للملفات التي ل المستخدم الطالبة. وبعبارة أخرى، اسمحوا لي نمضي قدما ونفعل ذلك. داخل الدليل العام بلدي، وانا ذاهب المضي قدما وإنشاء ملف دعا index.html و. أن يعطيني علامة التبويب هنا. وانا ذاهب للذهاب بسرعة كبيرة والمضي قدما وفرقعة خارج هذا البرنامج هنا. DOCTYPE HTML، والتي في الوقت الراهن، فقط يفترض أن يكون لديك لكتابة. انها مجرد علامة غامضة، وهذا ليس حقا علامة HTML، التي تنص على أن هنا يأتي بعض HTML. انا ذاهب الى المضي قدما وإعادة ما رأيناه قبل لحظة. وهنا رأس الصفحة. داخل الرأس كان - لذلك العنوان. ولذا فإننا سوف نقول مرحبا، العالم. ثم انخفض هنا العلامة الجسم. اسمحوا لي أن إغلاق علامة الجسم. ثم هنا أنا أقول أيضا، فقط من أجل الوضوح، مرحبا العالم. لذلك هذا هو، يمكن القول، وأبسط صفحة ويب المحتملة التي يمكن أن تجعل هذا صحيح. انها لصالح بناء جملة. كل ما هو فتح مغلقة. كل شيء جيد في ل وعلى غرار بادئة. لذلك دعونا نرى الآن كيف يمكن الوصول إلى هذا الملف. حسنا، اسمحوا لي أن انتقل إلى كروم هنا. واسمحوا لي ان اذهب ل http://localhost/index.html. فما هو المضيف المحلي؟ حسنا، أكثر من أي جهاز كمبيوتر في العالم، لينكس، ماكنتوش، ويندوز، لديه كنية دعا المضيف المحلي. حتى إذا كنت تريد من أي وقت مضى للحديث إلى جهاز الكمبيوتر الخاص بك - وإن كان، الغريب بالغريزة - يمكنك استدعاء نفسك المضيف المحلي. بغض النظر عن ما هو الكمبيوتر الفعلية الخاصة بك ودعا، سواء كان ماك بوك داود الهواء، أو شيء أكثر مطول من هذا القبيل. لذلك هذا هو URL يبدو تنوي استخدام وHTTP لاجراء محادثات مع المضيف المحلي، نفس جهاز الكمبيوتر، والأجهزة، و انها تسير لطلب، تأخذ فقط تخمين، ملف ما؟ index.html و. لذلك تم تكوين الأجهزة في تقدم إلى معرفة أنه إذا أنا أسأل لشيء من هذا القبيل index.html و، والبحث عن في مجلد يسمى Vhosts، في مجلد يسمى المضيف المحلي، في مجلد دعا فيه الجمهور. حيث ان كل من بلدي العامة الملفات ستكون. لذلك أنا ذاهب الآن إلى هاهنا. واللعنة، هو أن هناك ممنوع رسالة، والمعروف باسم 403، و رمز رقمي لذلك. فما هو الخطأ هنا؟ حسنا، انها ليست كافية لوضعت للتو داخل ملف من مجلد بلدي. ولست بحاجة إلى القيام به في الواقع ما يلي. اسمحوا لي ان اذهب الى بلدي Vhosts دليل، في المضيف المحلي، في العام، والسماح لي أن تفعل ليرة سورية اندفاعة لتر. وهناك عدد قليل من الأشياء الأخرى هنا لأغراض اليوم. ولكن لاحظ على الجانب الأيسر، بجانب لindex.html و، ونحن نرى فقط RW واحد. وفي الماضي، ما وقفت لRW؟ مجرد قراءة أو الكتابة. حقيقة أنه يقول ريتشارد على اليسار يعني أنا، صاحب هذا الملف، يمكن القراءة أو الكتابة عليه. ولكني في حاجة إلى السماح لجميع الناس في قراءة هذا العالم، ولكن ليس كتابته. لذلك أنا ذاهب لتغيير وضع لل ملف، التصريح، بالإضافة إلى جميع r لإعطاء الجميع إذن القراءة على ملف index.html ودعا. وإذا كنت الآن أعد كتابة يرة سورية اندفاعة لتر، إشعار أن، أكثر من هنا، وبعضها أكثر وقد برزت في R المباراة. والآن، ويذهب المواصفات في مزيد من التفاصيل. لتعيين P 7، وهذا يعني فقط الجميع ويمكن الآن قراءة هذا الملف. إذا أعود إلى متصفحي الآن وإعادة تحميل، فويلا. مرحبا العالم. وأنا حتى يمكن فتح أدواتي كروم ونرى، تماما مثل مع جوجل و الفيسبوك أن هناك بلدي HTML، تنسيق قليلا بشكل مختلف والملونة. إذا ذهبت إلى علامة التبويب الشبكة وإعادة تحميل الصفحة، لاحظ أن هناك الحصول على طلب أن يرسل كروم إلى الأجهزة. هناك 200 لذلك ملف معين. لذلك باختصار، هذه هي الطريقة كل هذه مختلف القطع تأتي معا. انها مجرد أن ذلك يحدث خادم الويب نستخدمه الآن ليس بعد، مثل الفيسبوك. انها حرفيا على نفس الكمبيوتر، وهو موافق تماما. لذلك أكثر ما يمكن أن نقوم به في صفحة ويب؟ حسنا، فقط، دعونا نسيم من خلال اثنين من هذه الأشياء. ولكن اسمحوا لي المضي قدما وفتح Gedit مع index.html و. واسمحوا لي أن تمضي قدما ويقول مرحبا CS50، حفظ هذا الملف، والعودة إلى المتصفح، وتغير مخيب حقا. ولكن ماذا إذا كنا نريد فعلا تصل إلى شيء الآن؟ لذلك تبين أننا يمكن أن يكون الروابط في HTML التي هي علامات فقط أنفسهم. يحدث أن تسمى ترسيخ العلامة. ويساوي أ href https://www.cs50.net، www.cs50.net اقتباس قريبة، وقوس إغلاق. والآن دعونا نرى ما يأتي آخر المقبل. لقد فتحت العلامة. أنا الآن بحاجة لاعطائها عبارة مثل CS50. اسمحوا لي أن إغلاق علامة. ولاحظ عدد قليل من الأشياء. على الرغم من أن هناك هذا الشيء خفي هنا، وأنا لم تتكرر عند إغلاق علامة. كنت مجرد إغلاق علامة مع اسمها وحده. وهذا هو ما يعرف سمة بقيمة. سمات مجرد تعديل السلوك بعض البطاقات داخل صفحة. لذلك هذا هو تحديد أن فرط المرجعية، وطريقة أخرى للقول و URL لهذا الربط، لهذا رابط، وينبغي أن يكون CS50.net. والنص الذي نريد أن تظهر المستخدم غير أن URL الخام، وإنما وCS50 كلمة. إذا كان الأمر كذلك الآن أنا تحميل، اسمحوا لي أن التكبير ل الوضوح، واسمحوا لي إعادة تحميل الصفحة، لاحظت أن لدينا هذه المدرسة القديمة وأكد الأزرق الارتباط. وإذا كنت تحوم فوقها، وانها تسير أن تكون صعبة لنرى، في الجزء السفلي الأيسر الزاوية اليسرى من الشاشة، وإشعار أنه يقول URL التي انا ذاهب للذهاب. وإذا كنت فوق هناك، فويلا، الآن أنا صنع صفحات الويب. ولقد أدى أنفسنا إلى الصفحة الرئيسية. ولكن لاحظ ما المحتملة هذا يقدم لنا. الأمن هو إلى حد كبير في رواج هذه الأيام. ماذا لو كنت بدلا من ذلك تقول شيئا مثل هذا، وأنا بدلا من الذهاب، ويقول، دعونا ترى، fakeCS50.net. تحديث هذه الصفحة. موافق، لذلك نلاحظ أنه لا يزال يبدو وكأنه أنا الذهاب الى CS50، إلا إذا عين المخضرمين سوف تلاحظ انا ذاهب الى CS50 وهمية. انا التخمين لا يؤخذ هذا المجال. حسنا، انها ليست متوفرة. لذلك هذا امر جيد. لا أحد لديه فعلا ذلك المجال. ولكن دعونا نكون أكثر قليلا الخبيثة لأن هذا نوع من الغباء. ماذا لو قمنا بتغيير هذا إلى Paypal. وماذا لو أننا نسمي هذا، مثل، www.paypal.badguy.com، أيا كان المجال. التي يحتمل وجودها. وحتى الآن اسمحوا لي إعادة تحميل الصفحة. وهنا لدينا نوع من التصيد هجوم، P-H-I-S-H-I-N-G، والذي هو كلمة سخيفة نظرا للهجوم يحاول الاصطياد المعلومات، أو الأفضل حتى الآن، والمال، من خلال خداع الناس لهم في توفير المعلومات التي لأنها قد لا تفعل خلاف ذلك. وهذا يبدو وشرعي تماما، أليس كذلك؟ أنا يجب أن يكون وصلة هنا لPaypal.com. في الإنصاف، وإذا كنت بالغت هذا الامر مع بعض الرسومات، ونحن يمكن أن تجعل الأمر يبدو أكثر مثل باي بال. أليس كذلك؟ لأنني يمكن، بوصفها جانبا، أنا يمكن أن تذهب إلى Paypal.com. وشاهدنا كيف يمكنني ترى كل من أتش تي أم أل. أنا فقط يمكن نسخه وإعادة جماليات باي بال بدلا من الذهاب المدرسة القديمة هنا. ولكن الإشعار، بطبيعة الحال، وانها قليلا لا تزال صغيرة، فقط في الجزء السفلي الزاوية اليسرى، في مثل نقطة 10 الخط، هل ترى ما كنت URL في طريقها فعلا إلى أن أدت إلى. وحتى إذا كنت قد حصلت من أي وقت مضى القول البريد المزعج المضي قدما، وكنت حساب تم اختراق. يرجى النقر على هذا الرابط واسمحوا لنا أن نعرف كلمة السر الخاصة بك حتى نتمكن من ضمان كنت لك، لا تفعل أي وقت مضى أن. هذه الأمور يجب أن يذهب دون أن يقول. لكنها مسلية رائعة، و المأساوية، وكيف يبدو هذا في كل عام ل يحدث لبعض غير صفرية عدد من الناس. وهذا هو الجمال من التصيد الهجمات. يمكنك إرسال رسائل البريد الإلكتروني من مليون. وحتى لو كان 0.01٪ من الناس فعلا انقر على باي بال ونعطيكم الخاص كلمة، وهذا لا يزال عدد غير الصفر من الناس الذين قد مجرد إعطاء كنت أموالهم. وإرسال رسائل البريد الإلكتروني، بطبيعة الحال، هو تماما سهلة و، أساسا، مجانا في هذه الأيام. قصة قصيرة طويلة، رائعة فكرة جميلة، أليس كذلك؟ سنوات مضت، كان هذا أقرب على شبكة الإنترنت، وتمكن شبكة من ارتباطات تشعبية بين الموارد. لكن ذلك سرعان ما يمكن أن يكون تستخدم لأغراض سوء. والبريد الإلكتروني، ويكفي ان نقول، هذه أيام، وجزءا لا يتجزأ من داخل HTML. حسنا، اسمحوا لي فقط شيئا واحدا الأخرى. ونحن سوف تؤجل إلى حد كبير في القسم مشكلة تعيين سبعة ليسمح لك ل استكشاف تفاصيل. ولكن اسمحوا لي أن تمضي قدما و القيام ببعض الامور هنا. انا ذاهب للذهاب في وتعلن ما يسمى شعبة، أو الانقسام، من الصفحة. اسمحوا لي أن إغلاق شعبة الوسم. وانا ذاهب الى القول حتى هنا أعلى الصفحة. ثم دون هذا، وانا ذاهب للقيام شيء من هذا القبيل شعبة آخر، أغلق هذا العلامة، والقيام أسفل الصفحة. ودعونا حفظه. حتى الآن دعونا نعود إلى ملف بي. مخيب جدا. ولكن ما يستخدم لتقسيم، تحت غطاء محرك السيارة، لأنها في الواقع عنصر هيكلي لطيفة. أنه ليس لديه أي علم الجمال بقدر ما يمكننا أن نرى، عدا، على ما يبدو، وضع الأشياء على خطوط جديدة. ولكن الإشعار، بوصفها جانبا، فقط ضرب ادخل لا قطع عليه في HTML مثل ذلك لا في C. قد تعتقد أن هذا ذاهب الى وضع فجوة كبيرة بين طيفة الجزء العلوي والسفلي من الصفحة. ولكن هو تجاهله. يتم تجاهل المساحة البيضاء أساسا في صفحات الويب الأخرى من أول جدا حرف شريط الفضاء، أو إرجاع، أن تضغط على لوحة المفاتيح. إذا كنت تريد المزيد من فواصل الأسطر، كنت لديك لتحديد ذلك بنفسك. لذلك أنا ذاهب الى القيام ببعض الامور هنا لإظهار ما يجري. انا ذاهب لإضافة السمة التي موجود ومرة ​​أخرى، والطريقة التي تعلم ما سمات الوجود، وجود ما به، حقا، هو المراجع على الانترنت. HTML هو نوع من اللغة - انها ليس لغة البرمجة. انها لغة الترميز - أنه بعد نصف ساعة جيدة، ربما، ساعة مع ذلك، فسوف بالتأكيد فهم، ومعظم الأرجح، والفكرة الأساسية. ثم جوجل للبحث بعيدا عن العلامات المحتملة التي قد تكون مهتما وفقا للمواصفات، وهذا هو تماما ترحيب وتشجيع هنا. وحتى الآن اسمحوا لي أن تمضي قدما و تفعل شيئا من هذا القبيل. لون الخلفية. والآن، انا ذاهب الى القيام بشيء مثل الأحمر، منقوطة. ويمكنك القيام بذلك في عدد قليل من الطرق المختلفة. أنا مجرد نوع من كتابتها كما السوبر صراحة ممكن. ولكن تبين أن هذه القيمة هنا هو ما يسمى CSS، الأنماط المتتالية صحائف، والذي هو آخر اللغة تماما. CSS له علاقة مع أي شيء به مفتوحة والعلامات وثيق. عليها أن تفعل مع الخصائص. والخصائص هي قيمة ببساطة الرئيسية أزواج، مما يعني سوى بعض النصوص، القولون، وبعد ذلك بعض النصوص الأخرى. وإذا كان لديك عدة منها، أو مجرد واحد هنا، يمكنك وضع حد لها مع منقوطة، فقط من أجل الوضوح. ولكن ذلك، أيضا، سوف يعمل هنا. الآن هذا ما تنوي القيام به؟ ربما يمكنك تخمين. اسمحوا لي المضي قدما وإعادة تحميل هذه الصفحة. والآن انها قادمة حقا على طول. حتى أعلى الصفحة بلدي أحمر. ولكن ما هو المفتاح هنا هو أنه، ذكرتها في وقت سابق، أن شعبة يمنحك تقسيم الصفحة. وهذا في الواقع ما تقوم به. فإنه يقسم أساسا إلى الصفحة مستطيل التي يمكنك ثم التلاعب. وهذه الفكرة من المستطيلات هو نوع من مقنعة في ذلك، إذا كنت تعتقد من معظم أي موقع، هناك على الارجح بعض هيكل لذلك. معظم ربما كنت قد نادرا ما يشاهد موقع الفيسبوك إذا كنت تسجيل في كل وقت. ولكن على الصفحة الرئيسية الفيسبوك، وهناك نوعا من شعبة على طول الجزء العلوي. وأنه قد لا يكون بهذه البساطة كما شعبة واحد، ولكن هناك منطقة مستطيلة هناك. بقية الصفحة هو مثل وشعبة ضخمة، مثل الكثير أكبر منطقة مستطيلة. حتى قصة قصيرة طويلة، فقط من خلال وجود هذه اللبنات قليلا، و القدرة على نمذجة الأشياء كما المستطيلات، سواء واسعة أو ضيقة، يمكنك أيضا جعل الأعمدة يحتمل، ويسمح لك ل وضع صفحات، حقا، ولكن هل نود. نحن حقا مجرد خدش السطح هنا. في الواقع، إذا كنت تفعل واحدة واحدة أخرى، اسمحوا لي أن نمضي قدما ونفعل الاسلوب، لون الخلفية، ونحن سوف نفعل شيئا مثل الأزرق، ونقلت وثيقة. دعونا إعادة تحميل هذه. وحتى الآن هو الحصول على أكثر بشاعة. ولكن الآن يمكنني أن تظهر نوع من الخروج تعيين بلدي P خمس مهارات، أليس كذلك؟ الأحمر. هذا يذكرني RGB، الأحمر الأخضر الأزرق يتضاعف ثلاث مرات. كذلك، اتضح في برمجة الويب، أو تصميم المواقع الإلكترونية، والذي هو هذا، لدينا لا المبرمجة أي شيء حتى الآن في حد ذاته، يمكنك فعلا ديك رمز ست عشري. ذلك شيء شيئا، شيئا شيء ما، شيء ما. حتى تتمكن من ستة الست عشري حرفا، أو ثلاثة، في بعض الحالات، ولكل من هذه علامات استفهام يجب أن تكون أرقام ست عشرية، صفر خلال f. إذا كنت تريد أن يكون لها الكثير من اللون الأحمر، و لا الأخضر، والأزرق لا، ما هو عكس الصفر عند استخدام عرافة؟ إف ذلك. حتى أتمكن من القيام به وما يليها، وصفر صفر صفر صفر، حفظ هذا، والآن ينزل هنا. وأنا لا أرى في الواقع تغيير. لذلك أقتبس نهاية الاقتباس "الحمراء" على ما يبدو مرادفا لجميع الحمراء، لا الخضراء، لا زرقاء. وفي الوقت نفسه، دعونا تغيير عمدا هذا واحد ليكون شيئا عشوائية، مثل ABCDF. دعونا نرى ما هو هذا. انها الزرقاء لطيف، في الواقع، والأزرق الطفل. كل الحق، لذلك هذه ليست سوى الآن تركيبات عشوائية إلى حد ما حرفا. لذلك نحن لن تتورط في هنا. ولكن مرة أخرى، وهذا يتحدث إلى الدقة يمكنك أن تبدأ ل تطبيق - حتى لو كنت غارقة جدا من الجماليات. في الواقع، إذا كنت تريد حقا أن تكون أعجب، اسمحوا لي أن تمضي قدما والتغيير حجم الخط، على سبيل المثال. ولاحظ الفاصلة المنقوطة، والتي ضروري هناك. حجم الخط، ونحن يمكن أن يكون مجرد سخيفة هنا، 96 نقطة. حفظ ذلك. نجاح باهر، وهذا هو حجم الخط كبير. كل الحق، لذلك فإنه من السهل جدا. وفعلا، ترونه أساسا صفحة الويب الأولى أدليت به قبل سنوات، عندما كنت الأولى تعلمت هذه الاشياء. فإنه من السهل جدا لجعل جدا الأشياء البشعة بسرعة. وإذا كنت على دراية ايباك الجهاز على archive.org، كنت يمكن العثور على كل ما عندي من البشعة صفحات الويب الجامعي. كان واحد كيرميت الضفدع على الجبهة. ذهبت من خلال مرحلة حيث اعتقدت كان باردا لاتخاذ خلفية ستارة حمراء، عندما علمت كيف يمكن الصور البلاط مرة أخرى، ومرة ​​أخرى، و مرة أخرى، لملء الصفحة مع ستارة حمراء كبيرة مبتذل. ومن ثم، وعلى رأس هذا، كان رمز ان كنت قد لانقر لدخول بيتي الصفحة لأن ذلك كان إلى حد كبير في رواج. ثم أول برنامجي كتبت من أي وقت مضى لم يكن في PHP، ولكن في لغة دعا بيرل، وكتب الكتاب نزيل، والتي هو شيء رائع حقا أن الكثير من الناس يتوقعون منك أن يكون على الصفحة الرئيسية. عندما تحصل على الصفحة، أنهم يريدون لك لتسجيل الدخول، ويقول من أنت، ولماذا كنت هناك. هذا هو نمط 1990s جدا تصميم مواقع الإنترنت. لكن في هذه الأيام، وبالتأكيد، لدينا يأتي الكثير أبعد. وسترى في القسم، وحتى في مشكلة تعيين سبعة، من خلال الاستفادة من المكتبات هذه الأيام، انها أسهل بكثير لجعل أجمل الأشياء بسرعة. حقا هنا، ونحن مجرد خدش سطح ما يمكنك القيام به أسلوبيا. في واقع الأمر، وبالفعل، واسمحوا لي أن أؤكد أن هذا بالفعل هو الحصول على القبيح، وليس فقط من الناحية الجمالية، ولكن من حيث من نمط من قانون بلدي، أو تصميم قانون بلدي. لقد comingled حاليا HTML، والتي هي علامات مفتوحة مخضر هناك، مع خصائص CSS، والتي هو شرعي تماما. هذا هو حقا حيث اللغة كانت أصولها. ولكن في مصلحة التصميم الأنيق، مثل الكثير من الاشياء التي نحن العوملة الخروج من ملفات C في ح الملفات، والسماح لي ممارسة في الواقع هذا النوع من المبدأ وتبدأ في فعل هذا بدلا من ذلك. اسمحوا لي أن أطرح علامة النمط هنا، والتي موجود أيضا في HTML، واسمحوا لي تحديد ما يلي. اسمحوا لي أن حذف هذا. لون الخلفية ستكون باللون الأحمر. انا ذاهب الى حذف هذا تماما. انا ذاهب للتخلص من النمط السمة، وانا ذاهب الى فريد تحديد هذا شعبة بكلمة - تعسفي، ولكن بشكل معقول، واقتبس نهاية الاقتباس "من أعلى". و id هو خاص السمة التي يعرف فريد عنصر HTML معينة كما أن وجود الهوية. إذا أريد الآن أن منمنمة ذلك، حتى هنا في رئيس صفحتي، داخل العلامة النمط، لاحظ أن أستطيع أن أفعل أعلى التجزئة. وبعد ذلك يمكن وضع بضع مجعد الأقواس، تذكرنا C، ومن ثم السماح لصق لي في هذا التنميق. واسمحوا لي أن المضي قدما هنا واستباق أين أنا ذاهب مع هذا. اسمحوا لي أيضا إنشاء واحد لشعبة القاع. اسمحوا لي أن انتزاع هذا الرمز البشعة من أسفل هنا، ووضعها هنا، وسأكون أكثر من ذلك بقليل الشرج الآن وذلك بأسلوب منمق فقط عن طريق وضع الأشياء من تلقاء نفسها خط، وتنتهي مع منقوطة. اسمحوا لي أن التخلص من العلامة الاسلوب. ولكن أنا لم تفعل حتى الآن. يجب أن أفعل شيئا واحدا الأخرى. نعم، معرف يساوي بين قوسي الإقتباس، "أسفل" أو أيا كان هوية أريد أن إعطاء هذا العنصر. الآن، اسمحوا لي أن أعود إلى هنا. وهذا هو الشنيعة. لا أستطيع التعامل مع 96 نقطة. دعونا نفعل 24 نقطة. أو هل يمكن أن يكون أكثر دقة. يمكنك فعلا استخدام بكسل، مقصف، بحيث ان كنت حقا الحصول على الحبوب الدقيقة السيطرة على الصفحة الخاصة بك. بوصفها جانبا، وهذا ليس بالضرورة أفضل شيء إذا المستخدمين، ل أسباب الوصول، تريد تكون قادرة على زيادة الأحجام. حتى ندرك أن هناك طرق للقيام الأشياء التي لا بالضرورة كل شيء رمز القرص الثابت. كل الحق، لذلك فمن أكبر، 24 نقطة، من كل ما هو الافتراضي. ولكن الآن انها قليلا أكثر نظافة. واسمحوا لي أن أغتنم هذه خطوة واحدة أخرى. تماما مثل فكرة رأس الملفات، إشعار نحن خطوة واحدة أقرب إلى ذلك. لقد يؤخذ بها، ولكن لا يزال اليسار، داخل الصفحة الخاصة بي، تلك القواعد CSS. لماذا قد أريد أن أغتنم هذه خطوة واحدة أبعد من ذلك، إزالة هذا تماما، و وضعها في ملف منفصل؟ حتى أتمكن من إعادة استخدامها، أليس كذلك؟ هذا هو مجرد نوع من الحدس الآن. من قبل، وادعى أنه كان مجرد الحصول على القبيح وجود نمط سمات داخل DIVS أنفسهم. ولكن مجرد نوع من التفكير أنه من خلال. كما يحصل صفحتك أطول وأطول، إذا أنك تضع هنا، وهنا، و هنا، وهنا، كل هذه مختلفة الألوان وأحجام الخطوط، وغيرها من مثل هذه سمات، صفحتك بسرعة كبيرة سوف تصبح لا يمكن السيطرة عليها بالنسبة لك. اذا كان شخص ما يأتي متروك لكم و يقول: أوه، أنت تعرف لماذا؟ أود حقا لتغيير حجم الخط نقطتين إضافية، كنت قد تضطر الى الذهاب والبحث عنها واستبدالها عدد كبير من الأسطر من التعليمات البرمجية. انها أكثر من ذلك بكثير مقنعة لمركزة كل هذه الجماليات هنا. ولكن إذا كنت ترغب في إعادة استخدام تلك جماليات في صفحات الويب متعددة، كل وأكثر إقناعا ل، ل المثال، إنشاء ملف ودعا مع تلك المحتويات. واسمحوا لي أن تفعل هذا. حفظ هذا الملف. أقول styles.css والإعدام التعسفي، ولكن التقليدية. أنا وضعت في منزل جون هارفارد الدليل الآن لالبساطة. وما يمكنني القيام به في بلدي صفحة الويب هو الحصول على التخلص من العلامة النمط تماما، وunintuitively إلى حد ما، استخدم الرابط العلامة، والتي لا تعطي لك رابطا في الارتباط التشعبي، بمعنى يمكن النقر عليها، ولكن حيث أقول الارتباط، متساوين أ href styles.css. والعلاقة أن هذا العنصر لديه مع الصفحة على شبكة الإنترنت هو بمثابة ورقة أسلوبه. فكيف لم أعرف هذا؟ واحد، وكنت قرأت للتو دليل، أو كنت جوجل حولها، وكنت ننظر إلى الموارد المختلفة. أعني، وهذا هو حقا كيف كنت اتناول تقنيات مثل هذا، وبما يتسق مع هذه الفكرة من تعليم الذات جديدة اللغات، ومرة ​​أخرى، سوف تجد أن لا يوجد سوى عدد محدود من الأشياء إلى أي لغة، وبمجرد الحصول لهم، وستجد أنه يحصل أسرع وأسرع في الكتابة. في الواقع، تعلم برمجة جديدة اللغة هي أسرع بكثير من جديد اللغة المحكية لأن هذه الأشياء هي أصغر بكثير، وأكثر من ذلك بكثير محددة بدقة. ولكن لقد أبرزت بعض الشيء من حالة شاذة هنا. لماذا أنا أبرز هذه إلى الأمام خفض هنا؟ لأن لدي لإغلاق علامة. وأود أن إغلاق علامة. وسوف تجد عدد لا يحصى من الموارد على الانترنت التي لا وثيقة به بالضرورة. واقعيا، انها ليست بدقة التقنية اللازمة لوهناك أسباب للواقع، ليست سوى المتصفحات متسامحة إلى حد ما من الاخطاء في الويب صفحات، للأفضل أو للأسوأ، ولكن في الغالب أسوأ. لذلك هذا هنا هو مجرد وسيلة للنظافة يقول شيئا غبيا مثل هذا، حيث إذا كنت تريد فتح علامة الرابط ولكن إغلاقه، وهناك حقا أي فكرة من المحتوى لعلامة الارتباط. بل يعني فقط تحميل هذا ملف وضعه هنا. انها مثل وتشمل حاد في C. يمكنك فتح وإغلاق علامة في كل مرة داخل نفس العلامة. وهناك أمثلة أخرى على ذلك. هذه ليست طريقة للقيام بذلك، ولكن العلامة ر، فواصل الأسطر، وإذا كنت أراد حقا لتحقيق ما كنت تحاول قبل عن طريق ضرب أدخل، إذا أقول صراحة انقطاع الخط، خط فاصل، انقطاع الخط، خط فاصل، و ثم إعادة تحميل هذه الصفحة، والآن ستلاحظ أن الجزء السفلي من الصفحة هو، في الواقع، أبعد من ذلك بكثير في أسفل الجزء السفلي من الصفحة. ولكن حتى هذا يمكن عمله أكثر من ذلك بكثير نظيفة مع CSS، ومع الهوامش، ومع غيرها من مثل هذه الجمالية التقنيات. حتى الآن، والوجبات السريعة هي هذه. في HTML، لدينا هذه الأشياء تسمى به. في CSS، لدينا هذه الأشياء تسمى خصائص. يمكننا comingle هاتين اللغتين، إما باستخدام السمة نمط، أو علامة أسلوب، أو أفضل من ذلك، العوملة من ذلك تماما، كما نفعل في مشكلة تعيين 7. الأسئلة، ثم، عن أساسيات المفاهيمي هنا؟ الجمهور: لدي سؤال. سرور 1: أوه، آسف. الحضور: لماذا لم يكن عليه الملونة - سرور 1: أوه، في علامة التبويب الأخرى؟ هذا هنا؟ الجمهور: لا، انها مثل - سرور 1: أوه، ذلك لأن أنا كان يجري قذرة. أنا وضعت الملف في المكان الخطأ. حتى لو كنت فعلا وضعه هنا، وأنا شمود، إلا أن كافة R + لstyles.css، و الآن إعادة تحميل الصفحة، ونحن الآن الحصول على التنميق الظهر. ولأن أحجام الخطوط و مختلفة، ونحن لا نرى تماما بقدر المساحة البيضاء. نحن نرى بدلا من ذلك ما هو الافتراضي هو بدلا من ذلك. سؤال جيد. نعم؟ الحضور: لماذا هو الرابط علامة داخل الرأس؟ سرور 1: لماذا هي الروابط علامة داخل الرأس - الجواب القصير، لمجرد. هذا هو ما تقرر. حيث يذهب علامات الارتباط عند لديك ما يسمى ورقة النمط الخارجية. أسئلة أخرى؟ كل الحق، حسنا دعونا نفعل ذلك. لدينا الكثير من المرح أمامنا اليوم. أن مجرد الخدش سطح CSS. دعونا نفعل ذلك. دعونا نأخذ استراحة خمس دقائق هنا لأنه، في بريدي الإلكتروني، دعونا شنق في هناك حتى 02:30 العش اليوم. ولكن إذا كان لديك ل ترك، فلا بأس. ولكننا سوف نمضي قدما بعد استراحة خمس دقائق. وسوف نتعلم شيئا قليلا حول PHP و MySQL، وأكثر من ذلك. كل الحق، لذلك دعونا نحاول، والآن، لادراك التعادل عدد قليل من هذه الأفكار معا، وجعل، أقول، محرك البحث الخاصة بنا. لقد لاحظت، بدلا الغريب، ما يلي. عندما كنت في Google.com، وكنت عادة في URL هذا مثل واحد هنا مع أي شيء بعد دوت كوم. ولكن إذا كنت ابحث شيئا غبيا مثل القطط، وهاهنا، وسوف نحصل - لا غبي، ولكن كما تعلمون. موافق، لذلك تلاحظ في أعلى الصفحة،، الآن، وقد وبطبيعة الحال، تغيرت URL. وهذه ليست أي شيء جديدة إلى أي واحد منا. النقر فوق الروابط والاشياء يحدث على شبكة الإنترنت. ولكن ما هو مثير للاهتمام هنا هو التالي. هناك مجموعة كبيرة من الفوضى، ولكن دعونا لي نرمي الاشياء التي أنا لا أفهم تماما أو لا تبدو حقا ذات الصلة. اسمحوا لي أن التخلص من هذا. اسمحوا لي أن التخلص من هذا. واسمحوا لي أن مجرد الحصول على التخلص من كل هذا. والآن لاحظ أن القطط هي في URL، ثم مع ف، ثم قدم المساواة توقيع أمامه. حتى اتضح هذا هو كيف يمكن لل الطريقة التي يعمل بها عندما يتعلق الأمر إلى المدخلات والمخرجات. تحدثنا طويلا عن الصناديق السوداء، أليس كذلك؟ حتى إذا كان هذا هو وظيفة تنفيذها هنا على شكل مربع أسود، فإنه يأخذ مدخلات وتنتج الانتاج، وأيضا، وسيلة التي كنت توفير مدخلات ل الموقع هو عن طريق، في كثير من الأحيان، من محددات مواقع المعلومات الخاصة به. يمكنك ببساطة وضع علامة استفهام ثم مفتاح يساوي القيمة. وربما بعد ذلك العطف، ثم مفتاح آخر يساوي قيمة، ثم ربما العطف أخرى، مفتاح يساوي القيمة. هذه هي الطريقة التي كنت تمر في المفاتيح و القيم، وأزواج من المدخلات. حتى لو كنت هاهنا الآن، ما هو مثيرة للاهتمام حول جوجل هو أن جميع لا يبدو أن فوضى أنا حذفت أن تكون الضرورة القصوى. كل ما تحتاج لإرسالها إلى جوجل هو السؤال علامة يساوي ف القطط للحصول على نسخ بعض القطط. جيدا، والآثار المترتبة على ذلك، ثم، وإذا كنت سحب ما يصل gedit، لقد بدأت جعل بلدي محرك البحث الخاص هنا في ملف يسمى seach0.html. واسمحوا لي أن تمضي قدما وحذف سطر واحد أكثر من كنت لم يكن من المفترض أن نرى. والآن، اسمحوا لي أن أخوض في المتصفح الخاص بي، حتى لا جوجل، والذهاب إلى http://localhost. وهذا ما سوف تحصل في الطريق. لذلك نحن ذاهبون لدينا لنقول وداعا ل ذلك في الوقت الحالي، نقل هذا أكثر من هنا، أوه، والآن ونحن في طريقنا لدينا ل نقول وداعا لهذا الملف. كلما كان لديك ملف يسمى index.html و index.php أو في الدليل، إذا كان خادم الويب هو تكوين في هذا الطريق، ما عليك ترى، افتراضيا، هو أن محتويات ملف بدلا من قائمة من الدليل، كما أردت هنا. المزيد عن هذا في المواصفات. كنت لا ترى ذلك. لذلك هذا هو ما أردت فعلا. ولكن قبل لحظة، كان هناك ملف في هذا المجلد يسمى index.html و index.php و. وهكذا كان خادم الويب تبين لي تلك الملفات. بدلا من ذلك، أريد هذا الدليل قائمة هنا. لذلك انا ذاهب للذهاب الى CSS وانتقل إلى search0. وأزعم أن هذا هو الذهاب الى تكون بداية بلدي تنافسية محرك البحث. وللقيام بذلك، وانا ذاهب للذهاب في هنا، في CSS، وفتح مع gedit، 0 البحث. ولكن للأسف، هناك لا يحدث كثيرا هنا. وكان كل ما فعلته استخدام علامة العنوان، الذي يحدث أن يسمى H1، التي يعني أساسا كبيرة و جريئة، وهذا كل شيء. ولكن الوسائل التي نستطيع توفير المدخلات هي عن طريق هذه الأشياء تسمى النماذج. لذلك اسمحوا لي المضي قدما وفتح وإغلاق، استباقي، شكل علامة هناك. واسمحوا لي أن نمضي قدما ونفعل شيء من هذا القبيل. المدخلات، ونوع يساوي النص. ثم دعونا إغلاق علامة داخل الأقواس أنفسهم. ولست بحاجة للبدء في حقل النص ووقف حقل النص. انها مجرد الذهاب إلى هناك أم لا. ثم أقل من ذلك، دعونا نفعل نوع الإدخال يساوي تقديم. حفظ هذا. والآن دعونا نفعل مجرد الاختيار التعقل سريعة. دعونا إعادة تحميل. حسنا، انها ليست سيئة. انها ليست على غرار غوغل، لكنها قريبة جدا. هناك حقل النص. أستطيع أن اكتب بعض الاشياء في، هاهنا، ولكن لا شيء يحدث حتى الآن. وهذا لأنني لم تحدد دعوى للحصول على هذا الشكل، إذا جاز التعبير. حتى إذا أعود إلى العنصر النموذج، كما تبين، وأنا أعرف هذا فقط من بعد قراءة الوثائق، التي العلامة يأخذ شكل سمة إلى اتخاذ إجراءات وهذا هو URL من الموقع الذي قمت تريد إرسال النموذج. لا أعتقد حقا لدينا الوقت ل تنفيذ نهاية الخلفي بأكمله ل محرك بحث اليوم. لذلك نحن ذاهبون لمجرد القول، إيه، انتقل إلى google.com / البحث. والآن اسمحوا لي أن يغلق يقتبس بلدي. واسمحوا لي كذلك أن تحدد طريقة لاستخدام يجري ليتم استدعاؤها الحصول عليها. قصة قصيرة طويلة، وهناك طريقتان، في الأقل، التي يمكن أن تقدم المعلومات من المتصفح على الخادم. واحد هو الحصول على،، ولأغراض اليوم، هذا يعني فقط في URL. ترى بالضبط علامات استفهام، و يساوي علامات، واقحام أن شاهدنا في وقت سابق. أو هناك بديل آخر يسمى. في الوقت الراهن، ونعرف وكثيرا ما يستخدم هذا المنصب عندما تريد تحميل الملفات، مثل الصور وما إلى ذلك، أو عندما تريد تقديم معلومات بطاقة الائتمان، أو كلمات السر، أي شيء أنه لا حقا جعل المعنى، من الناحية النظرية، أو أمنيا، في نهاية المطاف في URL المتصفح الخاص بك، حيث الآباء التطفل، أو غرفهم، أو أي شخص مع وصول إلى جهاز الكمبيوتر الخاص بك قد نرى. لذلك دعونا أن حفظ هنا. ولست بحاجة لتفعل شيئا واحدا الأخرى. فإنه لا يكفي فقط ل ويقول أعطني حقل النص. لا بد لي من إعطاء هذا الحقل قيمة اسم. لذلك اسمحوا لي أن تقترض اختيار جوجل لل أسماء، ف، وتحديد أن الثانية ويعزو أنا لا نكترث اسم الزر إرسال. كل ما يهمني هو تقديم ما أنواع المستخدم فيه. والآن هذا هو نوع من القبيح. تقول فقط تقدم. كما تبين، وأنا أعرف هذا من الوثائق، أستطيع أن أقول فعلا قيمة يساوي بين قوسي الإقتباس "CS50 seach، "الاقتباس وثيق. ثم دعونا إعادة تحميل مرة أخرى. لذلك أنا الحفاظ على ضرب القيادة-R، أو ضبط R على لوحة المفاتيح جهدي لإعادة تحميل. الآن لدينا أكثر إثارة للاهتمام محرك البحث. أنها لا تبدو تماما مثل جوجل حتى الآن، وبالرغم من ذلك. لذلك دعونا نمضي قدما هنا و القيام فاصل أسطر قليلة. حسنا، الآن لدينا جوجل. ونحن في الواقع لا يكاد يكون جوجل. وحتى الآن ما الذي سيحدث؟ أنا ذاهب لكتابة شيء مثل القطط. والمتصفح هو الذهاب الى تحليل هذا النموذج أنني محددة. وانها بصدد ارسال المستخدم إلى هذا العنوان. وحتى هذا الوقت، لسبب غريب، حصلت على مزيد من المعلومات حول الأسهم من حوالي القطط الفعلية. ولكن هذا شيء طيب لكننا ما زلنا إشعار انتهى هنا، ف يساوي القطط. حتى قصة قصيرة طويلة، على ما يبدو إلى حد ما تافهة للحصول على مدخلات من المستخدم. ولكي نكون منصفين، هناك عناقيد أنواع أخرى من حقول النموذج. هناك خانات الاختيار هذا، والقليل متبادل أزرار الراديو الحصرية، و القوائم المنسدلة، وأكثر من ذلك. ولكن كل تلك هي كما نسبيا كما تنفذ بسهولة وكان هذا المجال النص. وفي نهاية المطاف، لدينا فقط لجعل متأكد من شخص يتم الاستماع على الآخر نهاية السطر من أجل الحصول على ذلك المعلومات المجهزة، بطريقة أو بأخرى، و تعطينا الظهر القطط لدينا. دعونا ننظر قليلا المثال أكثر انخراطا. اسمحوا لي أن انتقل إلى دليل بلدي عشقتك و في المضيف المحلي والعامة، وحيث أكون وضع التعليمات البرمجية المصدر اليوم. كل هذا سوف يكون على ملعب ل موقع لك للعب مع. وإذا ذهبت إلى froshims، اسمحوا لي أن فتح يصل هذا الملف الآن، froshim0.php. هذا واحد هو أكثر من ذلك قليلا مطول، لذلك نحن لن أكتب هذا من نقطة الصفر. ولكن مجرد إشعار الآن عدد قليل إلى حد ما خصائص مألوفة. واحد، العلامة النموذج، عمل مختلفة. انها ليست URL الكامل. الآن، انها على ما يبدو إلى ملف يسمى register0.php، لأنه في لحظة، أنا ذاهب لتعليم نفسي قليلا شيئا عن PHP، برمجة اللغة، لأن PHP يمكن استخدامها ل تنفيذ ما نفذت جوجل كما نهاية الجزء الخلفي من محركات البحث الخاصة بهم. جوجل، في الواقع، وربما يستخدم بعض بيثون، بعض C + +، و عناقيد من لغات أخرى. لكننا يمكن بالتأكيد تنفيذ البحث النتائج باستخدام PHP إذا أردنا. لكن في الوقت الراهن، ونحن سوف يبقيه بسيط. وهذا هو في الواقع تذكرنا احد من غيرها من المواقع الأولى I الذي أدلى به منذ سنوات. مرة أخرى في بلدي اليوم، قمت بالتسجيل لل الألعاب الجماعية كطالبة من قبل ملء قطعة من الورق، والمشي عبر الفناء، وإسقاطه في علبة من بروكتور في يجلزوورث، وكان ذلك كيف مسجل. وذلك بعد فترة وجيزة مشروعي CS50، كان لوضع هذا، الأمر الذي يجعل الكمال المعنى، على شبكة الإنترنت، والذي لم يكن كما هو الحال في رواج ثم كما هو عليه الآن. ولكن كل ما كان علينا فعله هو خلق، أساسا، وهو شكل HTML. وبدا هذا النموذج تقريبا مثل هذا. كان لي مدخلا ل اسم طالبة في. كان لي خانة الاختيار لآخر أم أو لم تكن تريد أن تكون القبطان، ما كان جنسهم، و ما كان النوم الخاصة بهم. وبعد ذلك الثابت ترميز في الأشياء مثل المحكمة آبلي، وكانادي، رمادية، وهكذا دواليك. ذلك مرة أخرى، والعلامات الجديدة. لم أر هذه قبل، جديدة الصفات، ولكن يمكن الوصول إليها إلى حد ما. بمجرد رؤية على سبيل المثال، يمكنك النوع من اقتراض هذه الفكرة وجعل قطرة القائمة أسفل بالنسبة لمعظم أي شيء. ولكن ما هو المفتاح هو أن كل من هذه الأشياء لها أسماء. وفي الجزء السفلي من هذا النموذج، وهناك زر التسمية التي تقدم، أو قيمة، هو السجل. لذلك دعونا نذهب إلى هذه الصفحة. اسمحوا لي أن أعود إلى سرد الدليل. اسمحوا لي ان اذهب الى froshims، وانتقل إلى froshim0.php. لذلك فمن البشعة، لكي نكون منصفين. حتى أتمكن من أسلب بالتأكيد هذا مع بعض CSS، أنا يمكن أن يجعل بعض الرسومات، وربما إضافة بعض الألوان، وجعل هذا أجمل. ولكن وظيفيا، ويهمني القول بأن هذا هو في الواقع كاملة جدا. للأسف، عندما كنت ملء هذا الخروج، ديفيد، والنقيب، ذكر، وسوف نختار، دعنا نقول ماثيوز، تسجيل، كل ما يحدث هو هذا. ولكن لاحظت وجود اثنين من الوجبات السريعة. عاد واحد، ما تلك الملفات النتائج، على ما يبدو؟ لذلك هو، في الواقع، register0.php. وبالتالي فإن حقيقة أن رأينا أن العمل قيمة قبل لحظة لregister0، وهذا يعزز لقد انتهى بالفعل حتى في ذلك ملف معين. الآن هذا هو النص قبيحة فقط. ولكن لاحظ أن هذا النص هو قادمة من المضيف المحلي، وهو من الأجهزة. التفكير في الأجهزة كما هو الحال الآن فقط خادم الويب التي قد تكون في مركز العلم. يمكن أن يكون على شبكة الإنترنت الفعلية. لذلك فمن متاحة للجمهور. بشكل واضح، وهناك طريقة ما لمرور مدخلات حقل النموذج إلى خادم بحيث تستطيع ان تفعل شيئا معهم. للأسف، register0 هو غبي جدا. كل ما يفعله هو من الطباعة على مجموعة يشبه هذا. وانها ليست مجموعة في بمعنى أن نعرفها. تبين أن PHP، والكثير من اللغات، ويكون عدديا ليس فقط صفائف المفهرسة الذي هو المؤشر الأول صفر، ثم واحد، ثم اثنين، ثم نقطة، نقطة، نقطة، ن ناقص 1. هذا هو ما يسمى مجموعة النقابي. مجموعة النقابي هو الذي يمكنك تخزين أزواج قيمة المفتاح حيث والمفتاح هو ليس بالضرورة عددا. أنها يمكن أن تكون في الواقع سلسلة، كلمة واحدة. وحتى هذه يمكن تنفيذها، تحت غطاء محرك السيارة، كما تبين، استخدام بنية بيانات يعرف؟ يعتقد شيء دراماتيكي كان على وشك الحدوث - تجزئة الجدول. حتى جدول تجزئة، أذكر، أولئك منكم من فعل ذلك لP تعيين 6، أو حتى استدعاء ذلك، على الأقل حتى لو كنت فعلت ذلك لمحاولة، ل جدول التجزئة، في استخدام لدينا، كان يستخدم ل مجرد تخزين الكلمات. ولكن في الحقيقة، كنت تخزين المفاتيح والقيم. إذا كنت تنفذ جدول تجزئة لP تعيين 6 القاموس، وكانت مفاتيح الكلمات نفسها، والقيم كانت صحيحة أو خاطئة على نحو فعال. نعم، هنا، أو ضمنا، لا، ليس هنا. حسنا، يمكننا تعميم هذه الفكرة. ونحن لا يمكن استخدام البيانات مشابهة جدا هيكل لتخزين السلسلة لا نفسها وحيدة في جدول التجزئة، ولكن لنفترض أن في كل واحد من التجزئة الخاصة بك العقد الجدول. ويمكن أن حتى القيام بذلك في محاولة بدلا من أن يكون مجرد منطقي. هل يمكن أن يكون شيئا آخر. ماذا لو كان المفتاح لا ماكسويل، ل المثال، ولكن الإقتباس "اسم"، أو قوسي الإقتباس "كابتن". وداخل هيكل البيانات C الخاص بك، يمكنك وضع قيمة، وليس مجرد منطقية، ولكن من قيمة مثل أقتبس نهاية الاقتباس "ديفيد"، أو "M" أو "ماتيوس"، وهكذا دواليك. حتى تلك هياكل البيانات نفسها التي استخدمناها توجد على ما يبدو في لغات أخرى. ويهمني القول انهم كثيرا في الواقع، أبسط من ذلك بكثير للوصول إلى هنا. دعونا في الواقع نلقي نظرة الآن في بعض جملة من هذا القبيل. انا ذاهب للذهاب إلى دليل PHP. وانا ذاهب لفتح أفضل إصدار مرحبا-0 من قبل. لاحظ أن كل ما فعلته كان إضافة بعض التعليقات. حتى نتمكن من التخلص من هذا الهاء. والواقع لا يطبع هذا البرنامج مرحبا لأنني قمت بتحديدها بين العلامات التي أريد أن تنفيذ هذا الرمز. الآن، وسنرى في لحظة لماذا هذا هو مفيد. ولكن دعونا فتح المثال الآخر هنا. اسمحوا لي أن تمضي قدما وتفتح يقول، gedit ظروف واحدة. هذا هو طريق العودة في الوقت المناسب الآن. ولكن قبل أسابيع، كما أعتقد، في أسبوع واحد أو أسبوعين، كان لدينا مثال يسمى conditions1.c. وقررت أن reimplement في PHP، فقط لنوع من التأكيد على أن PHP، نحويا، مطابق تقريبا لC. وهذه ليست قفزة هائلة من الاسبوع الماضي لهذا. تلاحظ في أعلى هذا البرنامج الذي تبدأ، كما كان من قبل، مع بعض التعليقات، التي سوف تخلص كما من الهاء. لاحظت أن أنا في PHP وضع في هذا الملف. حتى هذا الرمز، وسنرى، سوف تحصل على تنفيذها. لاحظت أن هناك يقوم readline، الذي هو على الارجح التناظرية في PHP من getstring. لاحظت انها مختلفة قليلا. كنت في الواقع تحديد موجه ل استدعاء الدالة قراءة السطر، وهذا ما يراه المستخدم. لذلك لم يكن لديك لprintf يدويا. ولكن هذا ليس مشكلة كبيرة. أنا ذاهب لتخزين وداخل دولار ن و القيمة المرجعة من هذا، لذلك مهما كان أنواع المستخدم في كثافة العمليات هو بهم. وهنا الفضول أخرى. كما تبين، في PHP، أي متغير فقط أن تكون مسبوقة مع علامة الدولار. انها مزعجة قليلا. ولكن لاحظ ما لم تكن قد فعلت في PHP. ما هو مفقود من اليد اليسرى جانب من علامة التساوي؟ لم يذكر نوع. ولذلك فإن هذا يختلف من جيم لأفضل أو للأسوأ، PHP هي فضفاضة اللغة المكتوبة. لديها أرقام. فإنه لا يكون السلاسل. فإنه لا يكون القيم المنطقية. وكان لديها عدد قليل من أنواع البيانات الأخرى. ولكن لك، مبرمج، وعادة ما لا يجب أن نهتم بهم. الاتجاه الصعودي لهذا هو أنه يجعل انها أسهل قليلا على البرنامج. يمكنك التفكير أقل قليلا. الجانب السلبي هو أنه أيضا يفتح لك ما يصل الى الخلل المحتملة إذا كنت غير قصد علاج عدد كسلسلة، سلسلة كرقم، يحتمل، ولكن حتى ثم، PHP، والكثير من اللغات، متسامحون جدا. أنها سوف تستخدم ما يسمى صب ضمنية. وإذا حاولت استخدام ن في سياق من الوضع رقمية، وسوف تحويل ما هنا سيكون ل سلسلة، لأنه إذا قام المستخدم بكتابة شيء في، وتحصل على نتيجة، كما هو الحال مع يقوم readline، أو الحصول على سلسلة، أن يحدث لإرجاع سلسلة. ولكن لاحظ، في وقت لاحق بضعة خطوط، وأنا معرفة ما اذا كان n هو أكبر من الصفر. لذا PHP هو الذهاب الى يلقي ضمنا بلدي "السلسلة" 123، أو أيا كان المستخدم أنواع في، إلى كثافة العمليات. لذلك باختصار، الاشياء تعمل فقط الكثير من حدسي. لذلك علينا أن نبدأ الآن للاسترخاء عدد قليل من الأشياء التي قمنا به في الماضي. وهناك الكثير من هذه الاشياء هي نفسه، وبالرغم من ذلك. لا تزال لديها يساوي متساوين. باعتبارها PHP جانبا أيضا قد يساوي يساوي يساوي، ولكن أكثر على ذلك، ربما، في المستقبل. كان ذلك. الخطأ المطبعي ولكن اثنين يساوي علامات يعني نفس شيء كما كان من قبل، على سبيل المقارنة. printf يعني الشيء نفسه كما كان من قبل. ن مائل يعني نفس شيء كما كان من قبل. فكيف يمكنني تشغيل هذا البرنامج؟ حسنا، كما كان من قبل، وإذا كنت تفعل PHP، conditions1.php، واكتب في عدد مثل 123. هذا هو رقم موجب. إذا كنت اكتب في 0، I اختيار 0. وإذا كنت اكتب في السلبية 123، وأحصل نسخ رقما سالبا، الذي لا يبعد سوى أن أقول، ذو بناء جملة، PHP هو السوبر، والسوبر مماثلة. فلماذا هذا الآن مفيدة في سياق شبكة الإنترنت؟ حسنا، دعنا نعود إلى هذا froshims سبيل المثال، التي بدت، مرة أخرى، من هذا القبيل هنا. ودعونا سحب فعليا حتى صفحة الويب مرة أخرى، التي بدت مثل هذا. ماذا يمكننا أن نفعل مع البيانات التي قدمت؟ حسنا، اسمحوا لي أن أجدد فتح نسخة من هذا. وسترى أن المشكلة مجموعات مواصفات يرشدك من خلال عدد قليل من هذه. بدلا من البدء من الصفر، دعونا ننظر في froshims3، الذي يفعل أكثر قليلا. لاحظ أولا، في الواقع، دعونا فتح حتى ما كان 0، لذلك ترى سجل ما كان 0. لاحظ ما فعلت التسجيل 0. واحد، ولدي تعليق في الأعلى. حذف تلك والتركيز فقط على ذلك. معظم محتويات register0.php هي، بالطبع، ما هي اللغة؟ PHP فقط الخام. حتى إشعار، لا يبدأ هذا الملف مع، في هذه اللحظة، وقوس فتح، علامة استفهام، PHP. PHP لا تسمح لك أن تتداخل كود HTML PHP مع العلامات. ولكن لقد فعلت ذلك هنا في الداخل الصفحة أكثر من هنا. الآن، مرة أخرى، وكنت أعرف هذا إلا من بعد أن نظرت إلى دليل. print_r، كما تبين، هو print_recursive. _recursive وهذا هو مجرد مفيد وظيفة الأداة التي يطبع للتو، بشكل متكرر، مهما كنت تسليمه. إذا كنت تسليمه صفيف، انها سوف طباعة صفيف. إذا كنت تسليمه عددا، انها سوف طباعة العدد. تسليمه سلسلة، وأنها سوف طباعة سلسلة. إذا كنت تسليمه جدول تجزئة، فإنه سوف طباعة جدول تجزئة. لم يكن لديك لكتابة كل من هذا الرمز نفسك. الآن تلاحظ أن اكون في دخول وضع PHP أكثر من هنا. أنا تخرج وضع PHP أكثر من هنا. لذلك عندما يقرأ خادم الويب هذا الملف الأعلى إلى الأسفل، من اليسار إلى اليمين، ل ينتهي في اسم ملف يسمى. فب، كل ما هو ليس داخل من الأكواد PHP هو مجرد الذهاب الى أن يبصق بها، مثل HTML الخام. لا صفقة كبيرة. ولكن بمجرد أن إشعارات خادم الويب هذا، فإنه يحدث أن أقول، لا ينبغي لي بصق، حرفيا، print_r من آخر. أود أن تنفيذ ما يلي سطر من التعليمات البرمجية. وبالتالي فإن السؤال الأخير، إذن، من هذا الملف هو، أيضا، ما هيك هو هذا؟ اتخاذ تخمين. ما هو $ _POST، ربما؟ الحضور: [غير مسموع] سرور 1: نعم، البيانات التي تم نشرها. أذكر، دعونا انتقل مرة أخرى في الوقت لمجرد لحظة. froshim0، مرة أخرى، بدا مثل هذا. غالبية عظمى من هذا هو مجرد HTML. مرة أخرى، وبعض العلامات التي لم نشهد حتى الآن، أو التي كنت معتادا بالفعل. لكن الشيء المثير للاهتمام أن هذا. هذا سطر واحد هو ما يربط حقا إلى ملف register0.php لدينا. أنا تقديم عن طريق وسيلة آخر. وهذا يعني أن المعلمات أنواع المستخدم في ليست الذهاب الى نهاية المطاف حيث. انهم لن تظهر في URL. أنها ما زالت مستمرة ليتم إرسالها من العميل، من المتصفح، ل الخادم، ولكن فقط عن طريق بعض الدول الاخرى آلية أننا سوف تتنازل عن أيدينا في لهذا اليوم، ولكنها ليست في URL. ولكن لاحظ العلاقة الآن مع آخر، والتي، من خلال الاتفاقية، هو أحرف صغيرة هنا. ولكن إذا كنت تفتح register0.php، أنا على ما يبدو طباعة هذا. لذلك هذا هو نوع من غريب اصطلاح التسمية. ولكن ما هو جميل في PHP هو أنه عندما باستخدام PHP في سياق شبكة الإنترنت، وليس في سطر الأوامر كما فعلت قبل لحظة، عندما كنت في الواقع استخدامه في شبكة الصفحة، في دليل عشقتك كما نحن، تلقائيا سوف PHP ملء هذا الشيء، وهو مجموعة النقابي، إذا جاز التعبير، جدول تجزئة، مع كل شيء كتبته المستخدم فيها. وباختصار، $ _POST في كل مباراة دولية هو المتغير العالمي الذي PHP فقط يخلق سحرية بالنسبة لك عندما باستخدام PHP في سياق شبكة الإنترنت. وأنه يضع داخله كل من أسماء المعلمات في النموذج الذي قدم إلى هذا الملف وجميع من القيم التي يقوم المستخدم بكتابتها فيه. لذلك يسلم لك ما المستخدم كتبته في لهذا النموذج. لذلك من قبل، وصلنا الانتاج غبي حقا من مجرد رؤية هذا لأن كل ما فعلته وقد متكرر طباعة هذه المجموعة. والمفتاح هو اسم، القيمة ديفيد. والمفتاح هو الكابتن. قيمة غير. وسهم مزدوج وزاوية قوس هناك، وهذا هو مجرد التعسفي. هذه ليست متاحة. هذا هو مجرد وسيلة PHP من يظهر لك ما قيمة بعض المفتاح هو. ولكن الآن اسمحوا لي أن أقترح أن في froshIMs3، انها متطابقة تقريبا إلا أنها تقدم لهذا الملف. ومرة أخرى، نحن ذاهبون الى نوع من مجرد نظرة على هذا، فقط لرؤية بعض بناء الجملة، ولكن ما إشعار لا هذا الملف. اتخاذ تخمين تستند فقط على خطوط رمز، والتي ربما لا تبدو وكأنها اليونانية، إلى حد ما، تقوم على ما يبدو. هذا الملف هو ذات الصلة بطريقة أو بأخرى إلى البريد، والبريد الإلكتروني. فما هو هذا البرنامج تفعل؟ في هذا الإصدار، وإذا كان لي أن الواقع ملء هذا النموذج - واسمحوا لي ان اذهب ل froshIMs3، وليس froshIMs0 - شكل تبدو هي نفسها. ديفيد، كابتن، ذكر، النوم، ماثيوز. ولكن إذا أقدم هذا، هذا الملف ستذهب إلى register3.php. وأزعم، من خلال النظر في انها شفرة المصدر، انه سيكون ل تنطوي بطريقة أو بأخرى البريد الإلكتروني. اسمحوا لي المضي قدما وفتح هذا حتى في إطار أكبر، لذلك نحن يمكن أن نرى ذلك أكثر نظافة. نحن في Vhosts، المضيف المحلي، العامة، froshims. أنا ذاهب لفتح مختلف برنامج، فقط لذلك نحن يمكن أن نرى أكثر في آن واحد. وحتى الآن هنا، لاحظت وجود عدد قليل من الأشياء. في الجزء العلوي من ملف مفتوح قوس، علامة استفهام، PHP. ثم هناك مجموعة من التعليقات، التي يمكننا تجاهلها، هو رتيبا في الوقت الراهن. الآن هناك هذا. اتضح PHP لديها الكثير من التعليمات البرمجية دعا تتطلب. انها مشابهة جدا في روح للC وتشمل، وتشمل تجزئة، والتي العناوين الرئيسية للصحف أساسا محتويات بعض ملف آخر وتغمر افضلها فقط لهم هنا، حتى تتمكن من استخدامها. في هذه الحالة، فإن الأجهزة لديها، مثبتة مسبقا، ومكتبة وحرة و مكتبة مفتوحة المصدر تسمى PHP الارسال التي يمكن لأي شخص تحميل من الإنترنت. فعلنا فقط لانها لكم. وهذا يعني لدي الآن البريد الإلكتروني وظائف في تصرفي. الآن، لاحظت وجود عدد قليل من الأشياء. انا ذاهب للتحقق من صحة تقديم نموذج. تبين PHP، واحد، لديه تعجب نقطة ليست المشغل، تماما مثل لديه C. ولكن أيضا وظيفة PHP دعا فارغة. فارغة يعود فقط صحيح إذا كانت قيمة من الشيء الذي تسلمه في أقواس فارغة، مثل لم المستخدم لا تكتب أي شيء فيها. لذلك هذا هو القول، وتلاحظ لغوي، ويذكرنا كثيرا من C، إذا كان اسم المفتاح، وبالتالي فإن حقل الاسم في النموذج، الذي قدم عن طريق آخر، من خلال للمستخدم، ليس لإفراغ، وبهم بين الجنسين ليست فارغة في النموذج كما جيدا، والنوم ليست فارغة - ولكن إشعار أنا لا يهتمون الكابتن، ثم ماذا نحن فاعلون؟ أنا ذاهب لتنفيذ هذا الخط من التعليمات البرمجية. ويمكنك التفكير في هذا النوع من مثل malloc، لكنه قليلا مربي الحيوانات من ذلك. ولكن الآن هذا يعطيني الخاصة البنية من نوع PHP الارسال. ولكن تجاهل الكلمة الجديدة لهذا اليوم. الآن انا ذاهب الى استدعاء دالة يسمى IsSMTP، التي تقول، استخدام SMTP. هذا هو المنفذ 25، تماما مثل الفيديو في الأسبوع الماضي، عندما تم إلقاء الشيء رسائل البريد الإلكتروني في جدار الحماية. المنفذ 25 هو SMTP. SMTP يعني استخدام خادم البريد. أي واحد، يمكننا استخدام في جامعة هارفارد SMTP.fas.harvard.edu. فإننا يمكن أن يحدد من عنوان أن تكون جون هارفارد. إذا كنت انتقل لأسفل أبعد من ذلك، وأنا يمكن أن يحدد عنوان المستلم، فقط بشكل تعسفي، ليكون جون هارفارد كذلك. حتى انه ذاهب الى أن البريد الإلكتروني نفسه. الآن أنا يمكن أن يحدد هذا الموضوع أن يكون تسجيل. وأنا يمكن أن يحدد الجسم من البريد الإلكتروني على النحو التالي. هذا الخط يبدو أكثر قليلا خفي، ولكن هذا مجرد لأن هناك الكثير من المعلومات الواردة فيه. واحد، وهناك نقطة المشغل. شخص ما يجب أن تعرف مسبقا ما المشغل نقطة يفعل. انها سلسلة. حتى إذا كنت تريد أن تأخذ سلسلة في PHP، وإلحاقها، أو prepend ذلك، ل سلسلة أخرى في PHP، والحمد لله كنت لم يكن لديك لاستخدام strcopy وmalloc، وكل ذلك بعد الآن. إذا كنت تريد لسلسلة سلسلتين، الذي يهتم الذاكرة. دعونا الرقم PHP أنه من أصل لك. ما PHP سيفعل مع المشغل نقطة هنا هو مجرد جعل الجملة كبيرة للخروج من هذا الخط، هذا الخط، هذا الخط، هذا الخط. والآن نلاحظ، انه سيكون أن يسد في القيم. وبالتالي فإن البريد الإلكتروني الذي جون هارفارد الذهاب لتلقي حرفيا ستقول اسم والقولون، شيء ما، بدلا من ذلك، فإننا إغلاق سلسلة وسلسلة على كل ما كتبته المستخدم في، ثم سطر جديد. ثم في السطر التالي من جون هارفارد البريد الإلكتروني، وانها سوف يقول نقيب، في شيء أو لا شيء. انها ستقول بين الجنسين، ذكرا أو أنثى. النوم ستكون ماثيوز في حالتي. ومن ثم لاحظ الفاصلة المنقوطة مألوفة في نهاية جدا. وبعد ذلك، إلى هنا، لاحظ، إلى حد ما خفي لا تزال، ولكن مرة أخرى، بعد نمط من شأنها أن تصبح أكثر دراية بعد تعيين P 7، في حالة إرسال البريد ترجع كاذبة، ثم المضي قدما ويموت. لذلك PHP لديه وظيفة تسمى يموت، التي، حرفيا، يقتل فقط الموقع وفقط بطباعة ما كنت أقول ذلك - ليحتضر الكلمات، إذا جاز التعبير. وأنه، في هذه القضية، فإنه سيتم طباعة ما هي المعلومات الخطأ ل مهما حدث على غير ما يرام. قصة قصيرة طويلة حتى هنا، ما لدينا مثال حيث عندما يقوم المستخدم يقدم النموذج، froshim0، froshims3.php، فإنه يذهب إلى register3.php. ولكن العائدات ثم register3.php لتنفيذ كل من هذه الخطوط. لذلك هناك عدد قليل من المختفى تأخذ هنا. واحد، انها على ما يبدو من السهل إلى حد ما، برمجيا، لإرسال رسائل البريد الإلكتروني، وهو أمر جيد. عند تسجيل المستخدمين لموقعك، في هذه الحالة، عندما سجل لديك الرياضة، ويمكنك الكتابة طالبة بروكتور، أو جون جامعة هارفارد، في هذه الحالة. لكنه يعني أيضا يمكنك أن تفعل ما؟ إرسال رسائل البريد الإلكتروني من أي شخص إلى أي شخص. وهذا صحيح جدا. لا يتم ذلك بسهولة إذا كنت تستخدم لاستخدام Gmail. ولكن إذا كنت قد استخدمت من أي وقت مضى يودورا أو النظرة، يمكن أن أقول لكم الى حد كبير أن خادم البريد كنت أي شخص تريده. وهذا هو المكان الذي أنا بحاجة لوضع على أن قبعة ويقول، لا تفعل هذا. ولكن هذا هو دليل على مدى سهولة فمن لتنفيذ هجمات تصيد المعلومات، و إرسال رسائل البريد الإلكتروني مجهول، و البريد المزعج، وبشكل أعم. وأنه حقا يتلخص في حقيقة أن كل ما تحتاجه هو بعض الوصول البرمجي. بوصفها جانبا، أقرب لقاء لي مع مجلس الإعلان، يا طالبة الخاصة العام، كان عندما اكتشفت هذا بارد خدعة ذلك، نجاح باهر، يمكنك إرسال رسائل البريد الإلكتروني من أي شخص. وهكذا كنا وجود بعض غبي حجة، حرفيا، في ماثيوز، بين مجموعة بروكتور بلدي. أنا لا أتذكر حتى ما هو المشكلة. ولكن كنت أرغب في محاولة لوضع نهاية لهذا النقاش غبي. لذلك قررت أنا سوف مجرد ارسال بريد الكتروني لمجموعة بروكتور بلدي، والتظاهر ليكون الرجل الآخر، مع الذي أنا رأي اختلف، ويكون له الإذعان ل مهما كان رأيي في هذا النقاش خاص. ولذا فإنني مزورة هذا البريد الإلكتروني باستخدام تقنية مماثلة في الروح لهذا. ولكنه كان في الواقع أسهل في ذلك الوقت. ضرب الإرسال. وقال انه لا يسر، ولن وكانت لوحة الإعلان. وأنا ألقي القبض عليه بسرعة كبيرة في غضون ثانية لأنه، كما تعلمون، أنا التوقيع بلادي رسائل البريد الإلكتروني بطريقة معينة. وعلى الرغم من أنني القيام بذلك يدويا، في كبيرة جزء، بعد 15 عاما لأنني كنت صدمة قبل ذلك. ليس لدي توقيع على بريدي الإلكتروني الآن. ولكن في عام 1995، وكان لي مجرد سيج، توقيع في بريدي الإلكتروني. لذلك كان هناك هذه المذكرة قائلا: عزيزي مجموعة بروكتور، والإذعان رأيي ونتفق مع ديفيد، وقعت حتى و لذلك، سطر جديد سطر جديد، دجم. لذلك لا تفعل ذلك، أو في العام، واتخاذ الاستفادة من هذه التقنية. ولكن عند اتخاذ موقع على شبكة الانترنت، مثل ل المشروع النهائي الخاص بك، عند اتخاذ قرار موقع لشيء الريادية، هذه هي الطريقة، عمليا، يمكنك النفوذ غيرها من الخدمات على شبكة الانترنت مثل البريد ومن ثم في الواقع إرسال الأشياء باستخدام التعليمات البرمجية. فكيف يمكننا تحسين على هذا؟ حسنا، دعونا أولا نلقي جولة سريعة بعض الأشياء التي سترى، ثم نلقي نظرة على بضعة أمثلة. حتى واحد، لطمأنة، ل نحن تتطاير PHP. وأنا أعلم، وعند نقطة ما، سيكون لديك لبدء فعلا كتابة هذا إذا كنت لم تقم بذلك بالفعل. ندرك أن، واحد، هو نوع الرئيسي من خارج النافذة مع PHP. إذا كنت تريد كتابة التعليمات البرمجية التي يحصل أعدم، عليك أن تبدأ في الكتابة فقط ملف يسمى. فب طالما لديك قوس مفتوح علامة استفهام علامة PHP. ولكن لاحظ هذه هي الأوضاع في بي. إشعار، وهذا هو بالضبط نفس الشريحة كان لدينا في أسبوع واحد عندما كان لدينا الأوضاع في C. الأوضاع في PHP هي هيكليا و بناء جملة نفسه. الفارق الحقيقي الوحيد هو ما إذا كنت قد حصلت على المتغيرات التي تنطوي عليها، لديك تلك علامات الدولار. وفي الوقت نفسه، التعبيرات المنطقية تبدو وكأنها مجرد هذا ل أو جي جي وأو معا. مفاتيح تبدو في عينه. ما هو جميل في PHP، بينما في C، مفاتيح يجب أن تكون الحالات على البدائيون مثل رجات أو حرف، في PHP يمكن البيانات قضيتك يكون في الواقع على سلاسل كله، الذي هو في الواقع نوع من لطيفة. يوفر لك بعض الوقت. لا يمكن ان نفعل ذلك في C. وهنا لحلقة في PHP. انها متطابقة. قد يكون بعض علامات الدولار للمتغيرات. لم يكن لديك أن نذكر أن شيء هو كثافة العمليات. كنت للتو نعلن ذلك مع علامة الدولار واسم متغير. ولكن للحلقة هو نفسه. حلقة بينما هو نفسه. A تفعل حين حلقة هو نفسه. هذا هو مختلفة قليلا. حتى مع PHP، مع مجموعة، يمكنك تعلن بشكل ثابت صفيف، كما هو الحال في C، ولكن يمكنك استخدام الأقواس المربعة. في C، يمكنك استخدام الأقواس المتعرجة، حتى إذا كنت أعرف ذلك. ولكن هذا هو الواقع شائعة جدا في PHP لتعلن مجموعة، في هذه الحالة، من الأرقام، واستدعاء أرقام متغيرة. المتغيرات نفسها تبدو مثل هذا. هنا هو سلسلة، نهاية الاقتباس الاقتباس "مرحبا العالم. "هل يمكن أن يكون مائل ن. أنا ببساطة لا في هذه القضية. الآن هذا هو بناء مثيرة للاهتمام. C لا يملك ذلك. ولكن هذا هو سوبر مفيدة. وسترى هذا في P تعيين 7 المواصفات - ولكل بناء. إذا كنت تريد أن تؤكد من جديد على كل من عناصر صفيف، لم يكن لديك للتعامل مع ط دولار و ن، و+ +، وجميع ذلك. هل يمكن القول حرفيا، في PHP، وهذا - لكل الأرقام كرقم، لذلك أنا على افتراض أن الأرقام $ هو مجموعة من الأرقام. وعندما أقول لكل أرقام كرقم، وهذا هو ذاهب ل تلقائيا، كما ينفذ حلقة بلدي، التحديث، على كل التكرار، وقيمة داخل عدد علامة الدولار - مرة أخرى، ومرة ​​أخرى، والمشي مرة أخرى بالنسبة لي أكثر من أن مجموعة. لذلك يوفر لنا رمز فقط. لا منقوطة، لا + ق + '، لا ط، لا غير، وأنه من الجيد فقط. ولكن لديه أيضا هذا PHP. وهذا هو قوية عظمى. وسوف تستخدم هذه واليدين على، في P تعيين 7. وأعلن أيضا مجموعة النقابي مع أقواس معقوفة. ولكن لاحظ بناء الجملة الآن. انها تذكرنا ما شاهدنا مع print_r قبل لحظة. كيف العديد من مفاتيح، وشيك التعقل قليلا، يبدو هذه المجموعة لديهم. لذلك فقد اثنين. وأنا أسمي هذا صفيف. ولكن إذا كان ذلك يساعد، يمكنك التفكير هذا جدول التجزئة كما، أو كما مجموعة النقابي. وإنما هو مجرد مختلفة نوع صفيف. ومرة أخرى، لغات مختلفة لديك هذه. سنرى شيئا من هذا القبيل في جافا سكريبت كذلك. هناك مفتاحين. واحد هو قوسي الإقتباس، "رمز" واحد هو أقتبس نهاية الاقتباس "السعر". وتلك المفاتيح كل لها قيمة. في هذه الحالة قيمة الرمز هو الفيس بوك، ل قيمة الفيسبوك، والسعر هو 49، 26، الأسهم التي كانت في الفيسبوك السعر اعتبارا من صباح اليوم. لذلك ما هو مفيد حول مجموعة النقابي. كان يمكن ان يكون لي عدديا مجموعة مفهرسة مع عادل بين قوسين معقوفين بسيطة. ويمكن أن يكون قد علامة الدولار اقتبس هذا يساوي فقط. اسمحوا لي أن تفعل ذلك في الواقع. افترض بدلا من ذلك أعلنت فقط هذه مجموعة من هذا القبيل. صالحة تماما، بناء جملة. أنها لا تفقد أي من المعلومات، في حد ذاتها. أنا لا تزال ترى أن الرمز هو الفيس بوك، وأن السعر هو 49، 26. فلماذا هي النقابي صفائف مقنعة؟ الجمهور: ليس لديك أن نتذكر حيث يمكنك وضع الاشياء. سرور 1: بالضبط، لم يكن لديك تذكر المكان الذي وضعت الاشياء. لم يكن لديك أن نتذكر بصورة تعسفية هذا الرمز السهم في قوس الصفر، وأسعار الأسهم في شريحة واحدة، وهو أمر خطير خصوصا إذا كنت تتغير الأمور، في نهاية المطاف. انها أجمل بكثير لربط ما سنقوم استدعاء البيانات الوصفية مع البيانات الفعلية الخاصة بك. فما استقاموا لكم فاستقيموا يجادل بأن ما يهمنا حقا عنه هنا هو أف ب و 49 و 26. الرمز والثمن هو الفوقية أن يصف نحن البيانات يهمني في الواقع شيء. ولكن هذا هو مجرد ذلك بكثير أسهل في الوصول إليها. الآن، بوصفها جانبا ما هو الثمن الذي ندفعه؟ كنا نفعل هذا في CS50 لأسابيع. يجب أن تأتي هذه الميزة في بعض التكاليف. الذاكرة. لذلك كنت لا مجرد تخزين 32 بت عدد صحيح، على سبيل المثال. كنت تخزين رمز / 0، على الأرجح. لذلك كنت تستخدم ذاكرة أكثر. وما هو أداء أبحث شيء ما في مجموعة النقابي، وربما؟ انها على الارجح أبطأ. الوصول العشوائي هو لطيف، وخاصة عندما يمكنك ان تفعل البحث الثنائي. ولكن إذا كنت فعلا تبحث ليس الآن للأرقام، ولكن لسلاسل، وهذا حقا ينفذ تحت غطاء محرك السيارة، وربما كان ذلك جدول التجزئة، حيث يمكنك استخدام إما جدول تجزئة مع تسلسل منفصلة. أو كنت تستخدم في الواقع محاولة ل تخزين القيم. وربما لذلك يمكنك القيام به وقت ثابت، ولكن لا يزال لديك أن ننظر إلى S-Y-M-B-O-L، يحتمل، بدلا من مجرد 32 بت لننظر بشيء من المباراة. ذلك مرة أخرى، تلك الأفكار نفسها القادمة نسخ تتكرر في هذا السياق. ولكن مرة أخرى، PHP لديها الآن بعض السوبر غلوبالس ذلك، كما تبين، هي صفائف النقابي. رأينا واحد قبل لحظة، $ _POST. وهذا السوبر العالمية لديه مفاتيح والقيم. على وجه التحديد، ومفاتيح يصطف مع ماذا؟ أين المفاتيح في $ _POST تأتي من؟ لمجرد أن نلخص؟ الحضور: اسم. سرور 1: اسم، وأين؟ الحضور: [غير مسموع] سرور 1: اسم هو السمة. جيدا حيث، حيث أنها لم تأتي أصلا من؟ النموذج. إذا كان الأمر كذلك صفحة HTML لديه علامة النموذج، داخل التي هي بعض المدخلات، مثل خانات الاختيار ومربعات النص والمنسدلة القوائم، كل منها له اسم، تلك أسماء ينتهي بهم الأمر إلى مفاتيح في $ _POST، و بصراحة، لهذه المسألة، $ _GET. إذا كان الأسلوب هو الحصول على، نفس الفكرة. انها مجرد مختلفة في السوبر العالمية. والقيم، بطبيعة الحال، وتأتي من مهما كانت المستعمل في طباعة في مكتبه أو المتصفح لها. ولكن هناك عدد قليل من الآخرين. هناك ملفات تعريف الارتباط، والتي سنقوم أعود إلى نهاية المطاف. ولكن تلك هي الأشياء التي كنت تعرف يستخدم شبكة الإنترنت لبعض الخير أو الشر. ولكننا سوف نعود إلى ذلك. الخادم والدورة، وهذين لدينا بعض المرافق الخاصة. ولكن دعونا نلقي نظرة على هذا. اسمحوا لي المضي قدما وفتح مثال دعا mvc0.php لذا MVC لتقف على ما يلي. ونحن نقدم هذا في وقت سابق مما هو نموذجية، حقا، لتحصل على تصميم ضبط 7 المشكلة، وأيضا المشاريع النهائية، في نوع من الصناعة الطريقة القياسية، وطريقة نظيفة. انها التصميم الجيد. لذلك كنت على وشك أن ترى، وعليك الخبرة، في وضع P 7، نموذج، نوع من عقلية البرمجة، التي تبدو شيئا قليلا من هذا القبيل. M لنموذج، C للتحكم، V للعرض. قصة قصيرة طويلة، MVC هو نوع فقط منهجية، وسيلة لجعل المواقع، على وجه الخصوص، حيث كنت وضع كل الخاص بك، عبارة غبية - منطق الأعمال - جميع حقوق الملكية الفكرية الخاصة بك في ما يسمى وحدة تحكم، ملف مثل index.php، أو أننا سنرى، quote.php، أو buy.php. في سياق مشكلة تعيين 7، ك وعادة ما تحتوي على نماذج البيانات الخاصة بك، أي شيء متعلق قاعدة بيانات، وسنقوم نرى في نهاية المطاف، وجهات نظركم تحتوي على جماليات الخاص الموقع، HTML، CSS و. لذلك رأينا بالفعل هذا في C قليلا بت باستخدام ح الملفات. شاهدنا حقا قبل لحظة مع CSS، من قبل العوملة والتنميق CSS الاشياء لدينا HTML. حتى MVC هو في الحقيقة مجرد عن الرسم خطوط في الرمال والقول، و كود البرمجة للاهتمام لجهودكم موقع ينتمي في ما سنقوم استدعاء تحكم. الاشياء المتعلقة قاعدة البيانات عادة ينتهي في نموذج. ولكن سترى، في مشكلة تعيين 7، ونحن دمج C و M ليبقيه بسيط. ولكن الرأي فيها كل من HTML الخاص والجماليات تذهب عادة. فماذا يعني هذا في الواقع؟ حسنا، اسمحوا لي ان اذهب الى لدينا MVC الدليل على النحو التالي. وسترى أكثر من هذه جال من خلال في المواصفات. حتى في mvc0، أزعم أن هذا هو، مثل، نسخة 0 من المواقع CS50 ل. كل ما لدينا هو بعض HTML، مثل علامة H1 كبيرة، على ما يبدو. ثم قائمة ذات تعداد نقطي. أنا لم أر قط قائمة نقطية من قبل، ولكن ليست صفقة كبيرة. دعونا ننظر بسرعة في شفرة المصدر. تبين قائمة غير مرتبة مع الرصاص وقوس مفتوح مع واحد أو UL المزيد من العناصر القائمة، لى. حتى إشعار هنا هو علامة مرساة. رأينا أنه منذ لحظة. لذلك هذا هو كيف تنفذ هذه الصفحة. لقد حصلت على اثنين من وصلات، واثنين من عناصر القائمة، واحد المجاهدين لقائمة غير مرتبة، ونهاية نتيجة لذلك، من الناحية الجمالية، وهذا هو غاية موقع جدا، نسخة 0 هنا. ولكن ما هو مثير للاهتمام الآن كيف أن هذا وينفذ تحت غطاء محرك السيارة. اسمحوا لي أن انتقل إلى gedit وفتح هذا المثال الأول للغاية لرسم صورة. وسوف نبحث في ما معيبة، يحتمل، هنا. الآن إذا ذهبت إلى المضيف المحلي، العامة، MVC، لاحظت وجود عدد قليل من الملفات. انا ذاهب الى استدعاء هذه، ل لحظة، كافة وحدات تحكم. ولكن هذا قليلا من مخالف ل سترى كل شيء على ما مزجت داخل منهم. واسمحوا لي أن يذهب داخل index.php. ونحن نرى، حرفيا، وهو نفس HTML. ذلك على الرغم من هذا الملف ينتهي في . بى، وهذا لا يعني أنه لا لديك أي كود PHP. يمكن أن يكون مجرد HTML الخام، على الرغم من وهذا النوع من سخيفة. ولكن لاحظ ليس هناك PHP قوس مفتوح علامة، فيما عدا هذا، والذي، وبصراحة، هناك فقط لتكون بمثابة تعليق. ولكن هذا ليس وظيفيا حتى أن مثيرة للاهتمام. ولكن لاحظ هذا. ما هو مثير للاهتمام الآن هو ما التغييرات على هذه الصفحة. اسمحوا لي انقر محاضرات. وتلاحظ URL على وشك أن يتغير. الآن أنا في lectures.php. اسمحوا لي فوق الصفر. الآن أنا في week0.php ودعونا الآن لي فتح هذه الملفات في gedit. مؤشر ليس فقط، ولكن دعونا لي فتح المحاضرات. واسمحوا لي أن تخلص من تعليقات التركيز على هذا الجزء فقط. والآن اسمحوا لي أن فتح واحد فقط أكثر من ذلك، week0.php، ورمي بعيدا التعليقات، فقط لتنظيف هذا الأمر. والآن لاحظ ما يلي. التفكير حقا نوع من مليا تصميم، ودعونا تجعل من الخط حتى نفسه، ما يمكن عمله أفضل هنا، هل تعتقد؟ كيف لم تجعل أسبوع واحد؟ كيف حول هذا الموضوع. لذلك هذا هو كيف لي أن قدمت أسبوع واحد. صعدت إلى ملف جديد، لصق، حفظ، week1.php، ثم ذهبت هنا. ولقد غيرت واحد - ما كان هذا، واحدة ليوم الجمعة. لقد غيرت الأصفار إلى واحد. لقد غيرت هذه إلى واحد. موافق، وحتى الآن ننظر في ملفاتي. ما يمكن عمله بشكل مختلف؟ أين الفرصة، ربما؟ لذلك هناك فرصة للبدء العوملة هذه الاشياء. اسمحوا لي أن تفتح، والمفسد، ل ما سترى في P تعيين 7. إذا كنت تفتح، الآن، في النسخة index.php خمسة من هذه، يبدو الطريق أكثر خفي، باعتراف الجميع. ولكن هذا، الآن، هو ما اسميه ل وهذا ما تحكم السيطرة على منطق صفحتي. ويمكنك نوع من إعادة بناء، حدسي، ربما، ما يحدث. في السطر الأول، انها خفي قليلا. ولكن لاحظ أنا تتطلب، كما هو الحال مع وتشمل حادة، ملف يسمى helpers.php. ثم ادعو، على ما يبدو، و وظيفة، ودعا تقديم، ويمر في حجتين. واحد هو نهاية الاقتباس الاقتباس، رأس. والآخر هو، أي نوع من نوع البيانات هو هذا، يستند على موقعنا على بناء جملة في وقت سابق؟ انها مجموعة المرتبطة بها. على وجه التحديد، وانه يمر في العنوان مع بعض الفوقية التي تذكر لي ما هو عليه، وقيمته. ثم أرى الثابت ترميز المجاهدين، وحتى بعض HTML الخام. ولكن بعد ذلك أنا في وضع PHP استدعاء دالة تقديم. لذلك حتى لو كنت تستخدم أبدا HTML أو PHP من قبل، وعلى الرغم من أن هذا يبدو و ترويعا، لماذا هذا ربما تصميم أفضل؟ ما هو أفضل حول هذا الموضوع، على أساس الاستدلال؟ الحضور: [غير مسموع] سرور 1: أقل زائدة عن الحاجة في ذلك ليس هناك مزيد من علامة HTML، لا أكثر رؤساء علامة، لا أكثر العلامة الجسم في كل ملف لعنة. بدلا من ذلك، لقد يؤخذ خارج القواسم المشتركة ويفترض وضعها في ملف ذات الصلة بطريقة أو بأخرى إلى الرأس. ونفس الشيء للجسم وثيقة العلامة، والعلامة HTML وثيقة. وهذا ربما أسفل هنا في الداخل من تذييل في مكان ما. وسترى، في مشكلة تعيين 7، جولة صغيرة من خلال هذا. ذلك ما ينتظرنا في المستقبل؟ شيء واحد وليس لدينا القدرة بعد لهو في الواقع لتخزين البيانات. وذلك ما سنقوم تبدأ في رؤية الأربعاء، على سبيل المثال، هو أن لديك صديق العمر إكسل، أو أرقام، يسمح لك لتخزين الكثير من البيانات في الصفوف والأعمدة. تبين لك أن تفعل ذلك في ما ودعا قاعدة بيانات، برمجيا. الهوس واتضح، بعد ذلك، سنكون قادرين على تخزين أشياء مثل هذا، والتي سترى مرة أخرى في مجموعة P 7، في مجمله مجموعة من أسماء المستخدمين و كلمات السر، وهذه الأخيرة هي التي مشفرة في الواقع، يشبه إلى حد كبير أنها تم تعيين 2 في P في طبعة القراصنة. وفي النهاية، عليك تنفيذ ذلك، موقع eTrade مثل بنفسك أن وتنفذ بشكل جماعي التمويل CS50. أخيرا، وبما انك بقيت هنا حتى وقت متأخر اليوم، إذا كنت أعود إلى هذا الجزء من الحرم الجامعي، في 04:00 اليوم، ونحن سوف تقديم المشورة لك ليس فقط، في SCES وتقديم المشورة العادلة، في 16:00 في ماكسويل-دوركين، سنعطيك بعض Americone الحلم، الكرز غارسيا، الشوكولاته الهراء براوني، الشوكولاته رقاقة كوكي العجين، وعند جوجل مكتنزة القرد، وتحصل على هذا. لذلك كل من الذي ينتظر الساعة 4:00 PM-دوركين في ماكسويل. أراك يوم الأربعاء أيضا. المتحدث 2: في المقبل CS50، RJ ينام فيه. RJ: قسم بلدي! ها! أوه،