ANDI بنغ: نحن تقريبا من خلال كل psets. في الواقع، ونحن من خلال الأغلبية من psets الأكثر صعوبة. لذلك نحن في الواقع مجرد الذهاب إلى نوع من نسيم خلال الاسبوعين المقبلين. ونحن في طريقنا لبدء الحديث عن موقعنا المشاريع النهائية، فإن الأحداث القادمة حتى في الأسابيع القليلة المقبلة. والحياة ستكون نسيم. لذلك ليس كثيرا اليوم. ونأمل أن نسيم الواقع من خلال جدول الأعمال لهذا اليوم، ومن ثم يكون من هنا مع بعض الوقت لتجنيب. أيضا، أريد أن أعتذر لعدم وجود حلوى اليوم. أنا لا أعرف لماذا. ولكن في الاسبوع المؤدية عيد جميع القديسين، وأود أن ننسى الحلوى. لذلك أنا في الواقع مجرد اسعة خيبة أمل لك في الوقت الحالي. لأنني حرفيا تذكر الحلوى لكل فئة واحدة، ولكن هالوين. ولكن في الاسبوع المقبل، سأحضر مضاعفة كمية من الحلوى للتعويض عن ذلك، كل شيء من أجلك. انها سوف تكون كبيرة. لذلك ليس لدي بضعة إعلانات فيما يتعلق ببعض الجدولة. لدي بعض القضايا الجدولة. ثم نحن في طريقنا للانتقال إلى الحديث عن ما يسمى شمود. ونحن في طريقنا للحديث عن بسرعة TCP / IP HTTP. وبعد ذلك نحن ذاهبون الى رمز لدينا موقع الويب الخاص بها باستخدام HTML و CSS. وبعد ذلك سوف يترك في الواقع ربما مثل 20 دقيقة للحديث عن pset6. لأن pset6 هو في الواقع الكثير من الاشياء التي قمنا بالفعل مثيل من قبل، ولكني أردت لتحديث بعض تلك المفاهيم وكذلك تعليم بضع وظائف جديدة. رائع. أولا حتى من كل شيء، نرحب مرة من الشوط الاول. آمل أنك وكسر ممتعة. هل فعله لكسر؟ الجمهور: ذهبت إلى نيويورك. ANDI بنغ: ذهبت الى نيويورك؟ أعتقد أن نصف مدرستنا ذهب إلى نيويورك. كل شيء على ما يرام. قضيت معظم كسر بلدي الجلوس في Netflixing السرير. وكان وقتا طيبا. ولكن نحن الآن مرة أخرى، مرة أخرى في جلسة، ظهر في التحول من الأشياء. لدينا PSET المقرر يوم الجمعة ظهرا. أعتقد أنك قد قمت بالفعل التقطت مسابقة بك، نعم؟ لذلك أي شخص آخر له لم يكن الاختبارات الخاصة بهم، يرجى يأتي والحصول على الاختبارات الخاصة بك من لي في نهاية المقطع. أو تتبع لي أسفل في الحرم الجامعي. سآخذ معي في مكان ما. مشروعنا النهائي ما قبل الاقتراح أيضا. حتى بالنسبة لأولئك منا الذين اتخذوا أبدا هذه الفئة من قبل، وتتويجا للCS50 وتوجت كثيرا في هذا المشروع الكبير الذي يقترح الطلاب. وقبل الاقتراح، مجرد فكرة عامة ما يمكن للمرء أن تريد أن تفعل الخاصة بهم المشروع، ومن المقرر الاثنين ان فكرة، الاثنين المقبل في الظهر. حتى الى حد كبير، وأعتقد أن ديفيد سوف نتحدث أكثر عن هذا في محاضرة إذا لم يكن بالفعل. وهناك صفحة الصلبة على موقعنا على الانترنت شرح جميع متطلبات المشروع. ولكن في الأساس، واختيار أي موضوع كنت قد تم المهتمين طوال وقتك هنا في CS، سواء كان ذلك الألعاب أو تصميم أو فيديو أو أي شيء. ويمكنك حقا نوع من الآن تطبيق بعض الدروس تعلمناه هنا في CS50-- مرحبا، welcome-- لإجراء حد كبير مشروع النهائي من اختيارك. كل ما هو الاثنين الواجب مجرد دعاية مغالى فيها وجيزة عبر البريد الإلكتروني بالنسبة لي، جملة سريعة، مثل، مهلا، اندى، أنا مهتم حقا في تصميم لعبة أن يفعل هذا لدائرة الرقابة الداخلية. رائع. واسمحوا لي فقط الأولية وجيزة بك أفكار لمشاريع النهائية. وسنتحدث عن طريق أم لا هذا هو في الواقع فكرة جيدة أم لا، إذا انها فكرة مجدية أم لا. ولكن فقط قبل اقتراح ويرجع ذلك يوم الاثنين المقبل. pset6، لدينا web-- جميل ما هو خطأ. Pset7؟ pset6؟ انها pset6، أليس كذلك؟ غير pset6، خادم الويب لدينا، وذلك بسبب الجمعة عند الظهر مع اليوم في وقت متأخر. ساعات العمل استئناف عادة من الاثنين إلى الخميس 8:00 حتي 11:00 هذا الاسبوع. أعتقد العموم ل الليالي الثلاث المقبلة. رائع. قبل كان لدينا في المواد، لا أحد لديك أي أسئلة، والنكات والقصص؟ ماذا فعلتم لكسر الخريف؟ الحضور: ما أقوم به؟ ANDI بنغ: إذا انها في الواقع منذ زمن بعيد. ذهب Christabel إلى نيويورك. وبقيت هنا وNetflixed. الحضور: أوه، نعم كنت هنا. ANDI بنغ: أوه، حسنا. الجمهور: لا أتذكر ما على وجه التحديد. ANDI بنغ: وهذا موافق. الحضور: Netflixing على الأرجح. ANDI بنغ: Netflixing. نعم، انها وقتا طيبا. حسنا. حسنا. أي أسئلة قبل نحن القفز الى المواد؟ أيضا، نحن ذاهبون لمحاولة السرعة من خلال القسم اليوم، ليس كثيرا لتغطية. ونأمل أننا سنصل هنا قليلا في وقت مبكر. آسف لعدم الحلوى، أيضا. أنا خيبة الأمل، لا سيما خلال عيد الهالوين. حسنا. رائع. لذلك نحن ذاهبون لبدء الحديث عن دعت وسيطة سطر الأوامر شمود. شمود، كل ما هو مجرد نظام يونكس الدعوة التي أجريت من سطر الأوامر لتغيير أذونات الملف. هكذا على سبيل المثال، لدينا جميع اجه الصفحة مثل هذا ربما في وقت ما لدينا عمر كونه الإنترنت المستخدم، حيث لديه خادم الويب لدينا أعطانا خطأ المحرمة. لم يكن لديك إذن الوصول إليها، yadda، yadda، yadda، على هذا الخادم. كل هذا يعني حقا غير أن الأذونات التي كانت تعلق على كل ما الصفحة التي كنت تحاول الوصول إليه لم تكن مفتوحة لكم. حتى الى حد كبير، شمود هي الطريقة التي يمكننا تعديل هذه الأذونات النظام لإعطاء الجميع، المستخدم، المجموعة، أو العالم، أو أي مزيج من تلك الوصول إلى بعض الملفات، الدلائل، أي شيء حقا، أي نوع من النظام على نظام التشغيل. حتى إذا كان أي من اللاعبين لديهم أجهزة الكمبيوتر إذا كنت تشعر مثل بعد طول معي اليوم، أشعر تماما مجانا لمجرد اكتب الأشياء في. إذا لم يكن كذلك، يمكنك تعليق للتو. لذلك أنا ذاهب لسحب فعلا حتى محطة لي في الوقت الحالي. ذلك الأمر لتشغيل شمود، أو على الأقل فقط لسرد الأذونات الخاصة بك دليل ملف، هو مجرد ليرة سورية-L. كما ترون، وحفنة من الاشياء للملوثات العضوية الثابتة معظمها هو مهم بالنسبة لنا على الجانب الأيسر هنا. يا رفاق نرى حفنة من التمرير، وفاء سلطان، 1 /. نعم. تلك هي أساسا فقط جميع أذونات الملف لشرح ما بعض الدلائل والملفات داخل النظام لها. لذلك دعونا نعود إلى نقطة القوة هنا. وذلك بالإضافة إلى أسماء الملفات كما يا رفاق يمكن أن يرى على الحق، ونحن نتطلع إلى رؤية أساسا فقط العمود على اليسار. وذلك بالإضافة إلى مجرد أسماء الملفات، ونحن يمكن أن نرى أذونات الملفات الخاصة مجموعة المالك، اسم المجموعة، وتاريخ أن الملف كان الماضي تعديل، وهلم جرا. يمكنك ان ترى الكثير من الأشياء باستخدام شمود. وبالتالي فإن الطريقة التي نقرأ شمود هي أن الحرف الأول نتجاهل الى حد كبير من حيث أذونات القراءة. الحرف الأول فقط يقول لنا ما نوع نظام اننا الوصول. د، في هذه الحالة، هو المجلد أو الدليل. لذلك نحن نعرف أنه في الوقت الراهن مساحة العمل الخاصة بي كان الباب السابع دليل. ثم ترى ثلاثة الثلاثيات، أساسا فقط ثلاث مجموعات من ثلاثة أحرف. ويمكنك التفكير في كل منها قليلا. بحيث يكون لديك فقط ثلاث مجموعات من ثلاثة أجزاء، تسعة أجزاء في المجموع. كنت تعاملهم في مجموعات من ثلاثة. وبالتالي فإن المجموعة الأولى من ثلاثة هي دائما أذونات المستخدم الخاص بك. المجموعة الثانية الخاصة بك من ثلاث هي دائما أذونات مجموعتك. والمجموعة الثالثة الخاصة بك من ثلاث هو دائما مثل العالم، في كل مكان الأذونات. لذلك أعتقد أن من السهل السؤال الذي يطرح نفسه هو ما هو الفرق بين المستخدمين والمجموعات. والفرق الرئيسي بين المستخدمين والمجموعات غير أن المستخدم هو فقط لأنك شخصيا الوصول إلى كل ما هو عليه الآن. ويمكن للفريق أن يكون إذا كان لديك عدة المستخدمين على جهاز كمبيوتر واحد، على سبيل المثال. ويمكن علاج كل منهم كمجموعة. وثم العالم فقط في العالم، والجميع. حتى يمكننا أن نرى في وقت لاحق كيف يمكننا تعديل تلك إلى أذونات مختلفة. كثيرا جدا، ونحن الذهاب الى لا تزال تركز من جانب على اليسار، حيث لCS50 دليل نرى drwx، حيث يعني ص مجرد انها قابلة للقراءة. ث يعني مجرد انها للكتابة. ومن ثم س فقط يعني انها قابلة للتنفيذ. وكنت أعتقد أنه نوع من لا معنى له. يجب أن يكون البريد. ولكن في الواقع نوع من س تعمل على نحو أفضل قليلا، لأنك يمكن أن تذكر على نحو أفضل. لذلك ثلاثة أنواع من الأشياء التي يمكن القيام به، يمكنك أن تقرأ إما ملف، هل يمكن أن يكون الإذن لإرسال بريد ملف، أو هل يمكن أن يكون لديك إذن لتنفيذ ملف. وبالتالي فإن الطريقة التي نحن في الواقع تمثل تلك في بت هي أرقام 4 و 2 و 1. لذا فان أي شيء هذا هو قراءة ممثلة في عدد 4. أي شيء هذا للكتابة يمثله 2. وأي شيء هذا هو قابل للتنفيذ ممثلا 1. حتى في هذا المعنى، ويمكننا أيضا تمثل هذه numbers-- مرحبا، مرحبا بكم، بطريقة مختلفة. آسف. قبل الجميع، وانا ذاهب ل أعتذر نيابة عن الجميع دخول الطبقة الآن. لقد نسيت الحلوى اليوم. أنا آسف أنا الفشل هذا الأسبوع هالوين. سأحضر ضعف كمية الحلوى المرة القادمة لتعويض عن ذلك. لكن على أي حال، آسف عن أن الرجال، آسف. وبالتالي فإن الطريقة التي نستطيع فعلا المدخلات على قيادتنا الحجة هي أننا يمكن القيام به شمود أذونات المجموعة مائل، حيث كانت المجموعة فقط أيا كان مجموعة نحاول تغيير. والأذونات كل ما نريد أن نضيف إلى ذلك. هكذا على سبيل المثال، بالإضافة إلى يضيف الأذونات، وإطرح يأخذ بعيدا الأذونات. وأنواع من مجموعة لدينا لدينا للجميع، ش للمستخدمين، ز للمجموعات، o أو للآخرين. انها مجردة بعض الشيء في الوقت الحالي. ولكننا سوف يذهب أكثر من بضعة أمثلة فقط لإثبات هذه العجالة الحقيقية. الجميع جيدا على هذا الشريحة، حتى أتمكن من الانتقال؟ رائع. هكذا على سبيل المثال، RWX. قبل أن نتحدث عن ما تمثله، أولا وقبل كل ما يعني RWX؟ إذا كنت ترى أن هذا مؤكد ملف يحتوي على أذونات من RWX، ماذا يعني ذلك لل شخص يمكن أن يكون قادرا على القيام به؟ الحضور: القراءة والكتابة والتنفيذ. ANDI بنغ: نعم، بالضبط. يمكنك قراءة والكتابة والتنفيذ. لأن كل ثلاثة من هذه موجودة حرفا. لذلك إذا أردنا المضي قدما والحديث عن هذا من حيث بت، يمكن أيضا RWX تكون ممثلة على النحو 700. لأنه كما ترون في أي نوع من إذن دليل ملف، هناك ثلاث ثلاثيات. في هذه الحالة، إلا أن الأول ثالوث ديه أي شيء هناك. حتى في هذه الحالة، ص هو 4، ث هو 2، وx هو 1. إذا قمت بإضافة تلك معا، فمن 7. وحتى إذا كنت تحويل إلى ثنائي، انها 700. لأن 7 هو ثالوث الأول. 0، لا يوجد شيء الحالي في ثالوث الثاني. ومن ثم لا يوجد شيء موجود في ثالوث الثالث، لذلك هذا هو 0 آخر. حتى في نفس الشعور، وحفنة من الثلاثيات يمكن تمثيل فقط في بت، فقط في ثنائي كذلك. حتى 700 يعني الشيء نفسه بالضبط كما RWX ------ من حيث الأذونات. الجميع اضح على ذلك؟ رائع. وهكذا CHMOD 111 سيمنح الأذونات التي تريد الملف؟ تعطيك الرجال زوجين ثانية لتحويل هذا. تذكر، أول ثالوث هو للمستخدم. ثالوث الثاني للمجموعة. وثالوث الثالث هو للجميع. وهكذا CHMOD 111 سيعطي التي نوع من أذونات ولمن؟ يستغرق بضع ثوان ل تفكر في ذلك وأعود. نعم. الحضور: الجميع حتى يمكن تنفيذ ذلك. ANDI بنغ: نعم، بالضبط. الحضور: ولكن لا أحد يستطيع القراءة أو الكتابة. ANDI بنغ: وتتردد ليوضحوا للجميع كيف وصلت إلى هذا الاستنتاج. الحضور: حسنا، بالنسبة للمستخدم، و مجموعة، والعالم، كل شيء 1، الذي هو رمز للتنفيذ. ANDI بنغ: نعم، بالضبط. حتى 1، في هذه الحالة، كل ما نعرفه هو أن هذا هو رمز قابل للتنفيذ. لأن القراءة هي 4. الكتابة هي 2. والقابل للتنفيذ هو 1. لذلك كل الثلاثيات الثلاث 1، التي يعني أن للعالم، للمستخدم، والمجموعة، فإنها كلها قابل للتنفيذ. الجميع جيدة مع ذلك؟ حسنا. وبالتالي فإن الطريقة الثانية ما في وسعنا في الواقع أكتب هذا أيضا هو أنت يمكن القيام به فقط شمود زائد س. ويعني كل أو الجميع. زائد تعني إعطاء صلاحيات ل. ومن ثم س يعني قابل للتنفيذ. لذلك هناك قيادتين متطابقة في الواقع. حتى إذا كنت تريد تشغيل هذا في المحطة الطرفية، تفعل شمود 111، اسم الدليل الخاص بك أو الملف. أو يمكنك أن تفعل شمود زائد س، اسم الملف الدليل الخاص بك. نفس الشيء، مجرد طريقة أسهل، ربما، لبعض لتمثيل أو تغيير أذونات الملف. كل واحد موافق مع شمود قبل أن ننتقل؟ رائع. وحتى الآن ونحن في طريقنا للرئيس في ل بعض الشرائح من المفاهيم المجردة جدا انني الى حد كبير الذهاب إلى نسيم من خلال. وانه موافق تماما إذا كنت لا أفهم كل شيء. حتى الآن، ما زلت لا حقا فهم كل شيء تماما. لكنه أكثر من الحصول على فهم المستوى الأعلى كيف أن بعض من هذه الأمور العمل. لذلك نحن بصدد الحديث بسرعة حول TCP / IP، وهو التحكم بالإرسال فقط بروتوكول خفض بروتوكول الإنترنت. أذكر من المحاضرة، ديفيد، وقال انه يعلمك على سبيل المثال حيث نقلتها الملاحظات في مغلف يصل إلى مثل الجزء العلوي من قاعة المحاضرات؟ وذلك في قاعة كلية الحقوق أظهرت ديفيد أساسا كيف يعمل TCP / IP في بمعنى أن كل ما هو وسيلة لضمان أن البيانات وقد تم تسليم جميع أنحاء الخادم أو على شبكة الانترنت. حتى في المثال من المغلف والرسالة، المستخدم في نهاية يمكن أن نرى ذلك، أوه، أنا في حاجة إلى تلقي أربع حزم من المعلومات. لكنني في الواقع لم تتلق سوى ثلاثة. هذا يعني أنني يجب أن يكون في عداد المفقودين واحد. ولم يتم تسليم واحدة. وهكذا TCP / IP على شبكة الإنترنت، من خلال جهاز الكمبيوتر الخاص بك وخادم، يفعل الشيء نفسه بالضبط. كل ما يفعله هو تحديد الإطار الذي بيانات المفقودة الحزم يمكن يشعرون بالاستياء وتلقيها. مثل على شبكة الانترنت عندما كنت في محاولة الوصول إلى الملفات عبر الإنترنت أو إرسال ملفات لصديقك أو إلقاء نظرة على شبكة الإنترنت المتصفحات، آلاف وآلاف من المليارات والمليارات من بايت من المعلومات يتم نقلها في ميلي ثانية واحدة. وانها حقا، مربكة حقا. وانها حقا من الصعب تعرف فعلا ما تم ارسال وما لم يتم إرسالها. وهكذا TCP / IP يحدد فقط إطار متماسك التي الويب الخاص بك المتصفح والخادم الخاص بك يمكن نوع من التواصل مع بعضها البعض، تماما تأكد من أن الحزم هي كل شيء هنا وشيء المفقودة وجميع البيانات التي طلبتها يتم عرض الواقع بشكل صحيح. الجميع موافق على أن مجرد جدا على مستوى عال وجيزة يفهم؟ رائع. حتى ذلك الحين ونحن في طريقنا للتحرك في الحديث عن HTTP، التي هو مجرد بروتوكول نقل النص التشعبي. HTTP، كل ما هو غير مهما أي صفحة أو يتم الوصول الملف على موقع الويب الخاص بك، خادم بإرجاع HTTP رمز حالة استجابة لطلب التأكد من أن إما، أوه، ذهب هذا الطلب من خلال. وعرض كل شيء بشكل صحيح. أو، أوه، لا، 404. حدث خطأ ما. أوه، أنا لا يمكن عرض. كل ما هو غير أنه مهما كانت كنت تحاول الوصول إليه، استخدام كمستخدم يحاول الوصول، على internet-- مجرد التأكد من أن لديك إما بنجاح الوصول إلى كل ما كان ذلك أم لا الوصول بنجاح مهما كان. وهكذا وضع HTTP رمز فقط يوفر لك وسيلة لتكون قادرة على معرفة ما إذا كان أو ليس كان ناجحا أم لا. هكذا على سبيل المثال، طلب سبيل المثال. هنا يمكنك ان ترى انها عادة عادة أربعة خطوط. لدينا GET HTTP 1.1، الذي هو مجرد عنوان الطلب الأسلوب، وبروتوكول الإصدار، اسم الحقل، وقيمة الحقل. لذلك لا حاجة إلى تماما حفظ أي شيء هنا. مجرد نوع من تعريف مع نفسك كيف تبدو هذه. في هذا المثال، طلب طريقة URL هو عادل كل ما طلب كنت ترسل الخادم. مثل، مهلا، الخادم، أريد حقا أن وصول yadda، yadda، yadda، صفحة HTTP. إصدار بروتوكول هو فقط مهما كانت النسخة المضيف الخاص بك أو الخادم الخاص بك تستخدم للوصول إلى المعلومات. اسم الحقل هو الموقع الإلكتروني أو URL أنك تحاول الوصول إليه، في هذه الحالة، www.apple.com. وتكون قيمة الحقل هي مجرد اسم عادة، القيمة. ويمكن أن يكون أي نوع من الجمع من حروف أو أرقام أو أيا كان. لذلك طلب نموذجي، لذلك ما الكمبيوتر الواقع يرسل إلى الخادم الذي يقول: مهلا، أنت تعرف ماذا أنا بحاجة إلى هذا المعروضة، هذا هو نوع من الطلب التي يحصلون عليها بالفعل. استجابة مثال ما سيكون الخادم يرسلون لك سيكون الى حد كبير نفس الشيء، إلا رمز حالة في الجزء العلوي. حتى 200، 2 0 0 دائما قانون الأحوال لOK. مثل، OK، ذهب هذا الطلب من خلال. كنت قادرا على الوصول كل شيء بشكل صحيح. الحياة جيدة. الحياة على ما يرام. كل شيء جيد تماما. وحتى هذا فقط يقول متصفحك و الخادم الخاص بك، مهلا، وحسن كل شيء على ما. حصلت على جميع المعلومات التي أحتاجها. رائع. ولكن المشكلة هي في بعض الأحيان مشاكل الخروج عند have-- آخر أعتقد تحدثت عن التكرارات. لديك ردود أقل جيدة. هكذا على سبيل المثال، 404 هو لم يتم العثور على الصفحة. لديك بعض الأحيان على وصول المحرمة. لديك مختلف البعض رموز الحالة التي أنا متأكد من أنك رأيت كل شيء عندما كنت في محاولة لإجراء البحوث على شبكة الانترنت. ومتصفحك يعطيك و، لا، لا يمكن الوصول إليها. وكنت مثل، حسنا، حماقة. حتى مجرد حد كبير، وهناك بعض رموز الحالة شائعة جدا. ربما تعرف على نفسك مع تلك التي أولئك هم. أطرف واحد أعتقد أنني قد سمعت من أي وقت مضى of-- إذا كنت يحدث ل بحث عن كل منهم على شبكة الإنترنت، لسبب ما هناك في الواقع رمز حالة الحقيقي دعا 418 أنا إبريق الشاي. أنا googled حيث كان أصل هذا من. وعلى ما يبدو احد كذبة نيسان اليوم بضعة عقود مضت، ظن أحدهم أنه سيكون فرحان لإنشاء رمز حالة جديدة تسمى 418 أنا إبريق الشاي. شرعيا، واسم هذا ويسمى كود أنا إبريق الشاي. أنسى ما الصفحة لديك ل انتقل إلى الواقع جعل هذا العرض. ولكن على ما يبدو، يمكنك فعلا الحصول على رمز حالة من أنا إبريق الشاي إلى حد ما من خلال القيام بشيء. لذلك هناك مئات و مئات من رموز الحالة. بعض منهم بذل المزيد بمعنى من غيرها. ولكن الى حد كبير مجرد تعريف نفسك مع تلك الأكثر شيوعا. نص الكيان المطلوب قصيرة وبدينة، على ما يبدو. حتى في بعض الأحيان هناك أكثر أخطاء مخيفة من أنا إبريق الشاي. ولكن هذا هو الذي أعتقد أنت نوع من الأمل للضرب. لكنني لا أعتقد أنك سوف. الجميع جيدا على الوضع عادل رموز والطلبات والعمليات، وصنع يتم تسليم معلومات أكيدة بشكل صحيح؟ وحتى الآن ونحن في طريقنا إلى الانتقال في جزء من متعة القسم اليوم، حيث نتحدث قليلا عن HTML. HTML، كل ما هو النص التشعبي لغة توصيف النص. انها مجرد لغة قياسية يمكنك استخدامها لتهيئة جميع على شبكة الإنترنت صفحات على شبكة الانترنت. لذلك فإن أي صفحة على شبكة الإنترنت، ما هو صفحة الويب المفضلة لديك؟ ما هي صفحة الويب المفضلة لديك؟ الحضور: (غير مسموع). ANDI بنغ: آسف؟ الحضور: نعرفكم. ANDI بنغ: نعرفكم. هكذا مكتوب نعرفكم في HTML. ولذا فإننا سوف تذهب في الواقع من خلال و لعب حولها مع بعض من هذه الأمور في وقت لاحق. الى حد كبير كل ما بحاجة إلى أن نتعلم، لمعرفة، لكتابة HTML يمكنك على الأرجح جوجل فقط على شبكة الانترنت. HTML، انها ليست برنامج مثل C حيث يمكنك إنشاء المتغيرات والقيام تهدئة الامور معها. إنها أكثر من مجرد، أوه، هذه هي الطريقة I يريدون أشياء لتظهر على موقع الويب الخاص بي. وأنا ذاهب لمجرد وضعها في. وانها تسير على نمط عليه. لذلك HTML، بمعنى من المعاني، انها مجرد مثل على التنسيق أو قالب اللغة. انها أسهل كثيرا. انها أسهل كثيرا للتعلم، أسهل كثيرا للكتابة في من البرمجة النمطية الخاصة بك لغة، من السهل جدا، الاستعمال جدا الوصول إليها ودية. لذلك نحن ذاهبون فعلا للعب حولها، وكتابة صفحات الخاصة بنا اليوم. ولكن قبل أن نبدأ، أريد فقط أن يذهب أكثر من بعض أفضل الممارسات وجيزة. لأن HTML هو مثل وسيلة سهلة اللغة وأنه حتى إذا كنت تفعل بضعة أشياء خاطئة، في بعض الأحيان قد لا تلاحظ، نحن نريد أن نتأكد من أننا الالتزام الواقع على أفضل الممارسات لدينا للتأكد من أن الأشياء التي يمكن أن يحدث حولها ولكن لا دائما ما لا يسير في الاتجاه الصحيح تأكد من أنهم أدنى حد ممكن. حتى الى حد كبير، تأكد لديك إغلاق كافة الخاص به عندما كنت أكتب في HTML. إذا كنت فتح الجسم، تأكد من أنك إغلاقه مع هيئة في مكان ما. كنت ترغب في التأكد من أن لديك بالتحقق من صحة صفحة الويب باستخدام ما يسمى W3 المصادقة. يمكنك فقط أن جوجل على الانترنت، وهناك صلة لذلك. ثم كنت تريد أن منفصلة HTML، التي هي لغة الترميز الخاص بك من طريقتك، التي هي لغة CSS أن ديفيد أثبتت أننا أيضا الذهاب للعب قليلا مع المحاضرة. رائع. لذلك في أي وقت تريد تشغيل HTML على الأجهزة CS50، ونحن في طريقنا لتشغيل دعا برنامج اباتشي، الذي كل ما هو مجرد بنيت في خادم الويب أن الجميع في CS50 لديه حق الوصول إلى. نحن نسميها apache50 لأننا فقط ترغب في استدعاء كل شيء 50 في CS50. وبالتالي فإن الطريقة التي يتم فيها تشغيل الشبكة CS50 الخادم هو عن طريق الكتابة على الأمر الخاص خط apache50 تبدأ نقطة. وإذا كنت ترغب في وضع حد لها في أي الوقت، كنت تفعل في نهاية apache50 أي نقطة. وكنت للتو هاهنا. وينبغي أن يتجه هنا قريبا. اجل. لذلك أنا ذاهب لمجرد الذهاب بسرعة أكثر مثال على صفحة الويب وجيزة حقا. ونحن في طريقنا للقضاء مثل 10، 15 دقيقة لعب حول كتابة صفحات الويب الخاصة بنا. حسنا. حتى هنا في IDE-- يمكن للجميع رؤية ذلك؟ ليس حقا. هنا، سوف تكبير. لقد حصلت على هذا القالب وجيزة فقط هنا مع أي شيء في الواقع في ذلك. نحن ذاهبون لمجرد الكتابة بسرعة برنامج HTML التي نعمل فقط ويقول مرحبا للعالم. نفس ذلك الشيء كما هو الحال في C، نحن الآن مجرد الذهاب للقيام بذلك في HTML. لا يريدون في الواقع مجرد شخص محاولة إعطائي أول شيء عليك يجب أن تضع في وثيقة HTML؟ نعم. الحضور: الأقواس، و(غير مسموع). ANDI بنغ: نعم. ذلك شيء وهذا فريدة من نوعها للغاية ل HTML أننا عادة تقليدية لا تواجه في أمر آخر لغات البرمجة مستوى خط غير أننا في الواقع ل تحديد نوع الملف أن هذا سيكون في الجزء العلوي من التعليمات البرمجية لدينا. حتى في هذا instance-- أعتقد هذا هو الأمر الصحيح، أليس كذلك؟ اجل. في الجزء العلوي، وتريد فقط أن تشمل ضجة DOCTYPE HTML في الأقواس فقط لنقول جهاز الكمبيوتر الخاص بك، مهلا، ابحث. وثيقة HTML قادمة. ثم كيف نريد لتبدأ ملفنا؟ إذا كنا نريد فقط أن أقول مرحبا، لديها صفحة الويب التي تقول مرحبا للعالم، كيف يمكننا التوجه نحو بناء هذا؟ في الواقع، دعونا ننتقل إلى جوجل. ويمكننا القيام بذلك فعلا. اجل. هناك نذهب. لذا HTML. كما ترون، متصفحي هو في الواقع التصميم تلقائيا هذا بالنسبة لي. نفس الشيء كما هو الحال في C، عند إنشاء متعرج مفتوحة، متصفحك تلقائيا ويضيف في متعرج وثيق. لحسن الحظ، لدينا IDE يحب تفعل هذا بالنسبة لنا أيضا. وحتى الآن يمكننا النوع من الكتابة بداية علامة، وانه ذاهب لاقول دائما لنا تذكر أن اكتب نهاية العلامة. وأعتقد أن هذا يحتاج إلى رأس مال. وبعد ذلك نريد أن نضيف، دائما، رئيس الذي هو عنوان. نحن نريد فقط أن ندعو ربما هذا مرحبا، ثم الجسم. وهناك تذهب. هذا هو في الواقع وثيقة HTML لدينا. وبالتالي فإن الطريقة التي أية وثيقة HTML وعلى غرار دائما in-- نفس الشيء مع الفراغ الرئيسي كثافة العمليات. تريد دائما أن يكون HTML علامة الفتح والإغلاق في الجزء العلوي والسفلي من التعليمات البرمجية. كنت تريد أن يكون لها رئيس داخل الذي يحتوي على عنوان، فقط كل ما يجري لعرض علامة التبويب الويب الخاص بك الصفحة ثم هيئة الداخل والتي سيعرض في الواقع المحتوى من كل ما تريد القيام به. لذلك إذا أردت تشغيل فعلا هذا، وأنا ذاهب إلى إعادة تكبير بها. يمكنك أن تبدأ فعلا apache50 تبدأ نقطة. رائع. وهكذا كما ترون، الآن وقد برزت هذا الرابط حتى. تقول موقعك الآن متوفر في بعض الرابط أدناه. لذلك كل IDE لديه done-- لا IDE، sorry-- نعم، IDE لدينا فعلته هو إنشاء صفحة ويب أي من صفحات الويب لدينا كل رابط على يمكن الوصول إليها على الخادم. لذلك دعونا نلقي نظرة هنا. دعونا انقر على هذا، انتقل إلى hello.html. وترى بسيط جدا صفحة الويب للمرحبا العالم. حسنا. ونحن في طريقنا إلى الواقع فقط لدينا everyone-- نعم، ما الأمر؟ الحضور: لدي سؤال أساسي. ANDI بنغ: نعم. الجمهور: كيف تحفظ الملف الخاص باعتباره HTML؟ ANDI بنغ: نعم. حتى إذا كان لي أن إنشاء ملف جديد، إذا كنت تفعل ملف جديد، Untittle، إذا كنت تفعل، section.html، والازدهار، هذا كل ما عليك القيام به. الحضور: (غير مسموع)؟ ANDI بنغ: رقم الحضور: (غير مسموع). ANDI بنغ: رقم الحضور: (غير مسموع). ANDI بنغ: نعم. الى حد كبير، وبسط على الملف الذي هو داخل IDE الخاص بك، تخبر الكمبيوتر، التي تخبر المتصفح، مهلا، ننظر بها. هذه ستكون متاحة كتب في هذه اللغة. هكذا على سبيل المثال، في Microsoft كلمة، ماذا عن وثائق وورد ينتهي، ما التمديد؟ .DOC أو .docx أو حق؟ كل ما يفعله هو يحدد ل نظام التشغيل الخاص بك، مهلا، كنت قد حصلت على مستند Word المقبلة. فتحه مع Word. نفس الشيء مع ملفات PDF. فهو يعرف، يا، ولست بحاجة لفتح هذا الملف مع برنامج Adobe Reader أو أدوبي أكروبات. وهكذا ملحقات تعمل على بنفس الطريقة كما هو الحال في جهاز الكمبيوتر الخاص بك. إذا قمت بتحديد الشفرة الخاصة بك الكشف عن اسمه HTML، ثم انه يعرف، أوه، كنت قد حصلت على رمز HTML. انا ذاهب الى التعامل معها على أنها الكود. حتى انها ذكية فائقة في هذا الاتجاه. لذلك الجميع، دعونا نلقي مثل 10 دقيقة ومجرد إنشاء المواقع الخاصة بنا. دعونا نضيف في الأشياء الجميلة. لا تتردد في قول ما تريد. أريد فقط للتأكد من أن يتم تشغيل خدمة الجميع بشكل صحيح قبل أن نحرر لكم في PSET. لأنه إذا الخوادم لا تعمل لPSET، التي ستكون حقا، حقا سيئة. أنا ذاهب لمجرد تطفو حول و نرى ما يعمل الجميع على. كيف تسير الأمور؟ الحضور: لقد تحولت على جهاز الكمبيوتر الخاص بي. ANDI بنغ: وهذا موافق. الحضور: (غير مسموع). ANDI بنغ: فقط IDE الخاص بك. نعم. الحضور: (غير مسموع). ANDI بنغ: لا بأس. الحضور: (غير مسموع). ANDI بنغ: تماما غرامة. هل الجميع الوصول على شبكة الإنترنت OK الخادم؟ وapache50 تشغيل OK؟ أعتقد في بعض الأقسام الأخرى، ونحن لديها مشاكل مع الناس لا أن تكون قادرة على الوصول إلى الملقم. نعم. لذلك أنت فقط تشغيل apache50 مساحة تبدأ فترة الفضاء. الحضور: (غير مسموع). ANDI بنغ: نعم. جيد؟ الحضور: (غير مسموع). ANDI بنغ: أوه، حسنا. لذلك كنت من المفترض أن يكون لها مساحة. apache50-- ذلك الحضور: فعلت. ANDI بنغ: الفضاء --start. الحضور: أوه، نقطة الفضاء. ANDI بنغ: نعم، نقطة الفضاء. ها أنت ذا. حتى ذلك الحين إذا كان لديك صفحة HTML خلق، ثم يمكنك اذهبوا مباشرة إلى الرابط الذي كان يحدد. ويجب أن تكون قادرة على الوصول إليه. الجميع كان قادرا على الوصول إلى صفحات الويب الخاصة بهم OK؟ الحضور: (غير مسموع). ANDI بنغ: أوه، وهذا موافق. الحضور: (غير مسموع). ANDI بنغ: نعم. أعتقد أنك يمكن أن تفتح في الواقع ضمن المتصفح، المتصفح وليس مجرد متصفح IDE الخاص بك. نعم، اعتقد انه اذا كنت نسخه ولصقه. الحضور: وبعد ذلك كيف يمكننا إيقاف تشغيله؟ [غير مسموع] ANDI بنغ: نعم، يمكنك القيام به apache50 وقف مع عدم وجود فترة. اجل. الحضور: (غير مسموع). ANDI بنغ: مع عدم وجود فترة. نعم. هناك نذهب. اجل. نحن بصدد إنشاء صفحات الويب الخاصة بنا. الحضور: يا بارد. ANDI بنغ: نعم. الحضور: لدي سؤال. اباتشي ذلك 50-- ANDI بنغ: 50، نعم. الحضور: (غير مسموع). ANDI بنغ: ماذا؟ هذا هو غريب. ترى، كان ذلك نوع من القضية ما كان يحدث من قبل. حسنا. رؤيتي بعد القسم. لأن لدينا بعض القضايا مع الخادم. وكنت تريد أن تجعل تأكد من أن الخادم الخاص بك هو تشغيل قبل بدء PSET. لأنك تسير في حاجة إلى ذلك. نعم. هل هناك أي شخص آخر أن لم يكن قادرة على الحصول على الخادم الخاص بهم لبدء؟ لأولئك منكم الذين يرغبون في إضافة أسلوب إضافي لصفحات الويب الخاصة بك، يمكننا القيام به في الواقع ما فعله داود في محاضرة كذلك، وهو خلق نمط إضافية ورقة، وهو CSS نقطة، المتتالية ورقة الأسلوب والواقع مجرد إضافته في. هكذا على سبيل المثال، لقد خلقت فقط الى حد كبير تقريبا نفس واحدة بالضبط فعله داود في المحاضرة. يمكنك حد كبير مجرد القيام الجسم. لديك ما به دعا فيه يمكنك تطبيقها على IDE مهما القسم تريد داخل و فعلي إلى صفحة HTML. وبالتالي فإن الجسم من الصفحة، كنت يمكن القيام به مركز محاذاة النص. وبعد ذلك سوف أكون أنا خلاقة علامة تسمى داخل أعلى الذي أريد هذه الأشياء ل يحدث ذلك، تعيين أكبر حجم بكسل للخط. أريد وزن الخط لتكون جريئة. وأريد اللون ل تكون زرقاء، فقط تعسفيا القيم التي قررت أن تختار. أنا يمكن أن تخلق علامة أخرى تسمى الوسط. حجم الخط، وجعله أصغر قليلا. وبعد ذلك يمكن أن تخلق علامة أخرى دعا القاع حيث أريد حجم الخط أن تكون أصغر من ذلك. وذلك الى حد كبير هذا مثال عادل من التعليمات البرمجية المصدر أو مصدر أوراق الأنماط أنه من السهل جدا لجوجل فقط. إذا أقول لكم، يا، أريد الخط بلدي أن المائل والأخضر الداكن، يمكنك على الأرجح جوجل، وبعد ذلك سوف اقول لكم علامات أو معرفات المناسبة لخلق. وبالتالي فإن الطريقة التي من شأنها أن كنت في الواقع نوع من يكون هذا في وثيقة HTML أو استخدامه هو كل ما عليك أن أفعله هنا هو على رأس إضافة ارتباط إلى ورقة الأنماط. حتى تتمكن من ربط فقط متساوين HREF مهما كان اسم ورقة أسلوبك هو. ثم العلاقة هي ورقة أنماط. هكذا في أي وثيقة HTML، طالما كما قمت بتضمين هذه الورقة CSS نقطة، يجب أن تكون قادرا على الوصول إلى ولها خصائص هناك. هكذا على سبيل المثال، وهنا لدي فقط إنشاء صفحة على شبكة الإنترنت مثال آخر. هذا هو موضع ترحيب لقسم CS50 الثلاثاء 2:00 حتي 3:30 معي. ثم اضاف لقد الصورة الجميلة التي نحن يحتمل أن تكون قادرا على رؤية. لذلك إذا كنت تأخذ نظرة هنا، إذا ذهبت إلى style.html، أنشأنا صفحة على شبكة الإنترنت مع القطط. لأن هريرة مروعة. ذلك إضافة الصورة فقط IMG SRC صلة. الى حد كبير، إذا كان هناك أي نوع من ميزة تريد إضافة إلى حسابك website-- لذلك دعونا نقول، تريد إضافة قائمة أو شريط البحث أو ما شابه وimage-- جوجل فقط كيف نفعل ذلك. وكنت صوت نزول المطر فقط في هذا الشكل. ويمكنك فقط جميلة بكثير مجرد إضافته في. انها حقا، حقا سهلة. ونحن على خلق منطقتنا صفحات الويب في الوقت الحالي. إذا كنت ترغب في-- الحضور: (غير مسموع) ANDI بنغ: آسف؟ الحضور: (غير مسموع). ANDI بنغ: أوه، شعبة هو مجرد تقسيم تقول لي، يا، لدي قسم معين يسمى الوسط الذي أنا تطبيق بلدي العلامة CSS، ومن ثم بلدي القسم الآخر مع الجزء السفلي. هذا هو كل ما هو أقول لك. لأنه لطيف للحفاظ على الأشياء الرائعة في النظام، حتى يعرف البرنامج بالضبط كيف لتشغيل. وأعتقد أنني يمكن نسخ لصق هذا إلى متصفحي الفعلي كذلك. ينبغي أن يكون على ما يرام. نعم. ياي. حتى اذا كان الجميع يريد فقط حاول إنشاء صفحة على شبكة الإنترنت، نحن سنأخذ آخر 2-3 دقائق. أريد فقط للتأكد من يتم تشغيل خدمة الجميع والجميع لديه فكرة عن كيفية القيام بذلك. إذا كنت تريد أن الرجال تأخذ بها أجهزة الكمبيوتر. لا يزال لا يعمل؟ الحضور: أنا فقط (غير مسموع). ANDI بنغ: ربما محاولة تحديث 50 كذلك. نعم. الحضور: (غير مسموع). ANDI بنغ: نعم. وبالتالي فإن الطريقة التي يتم فيها تشغيل جديد الخادم على شبكة الإنترنت هو مجرد IDE القيام apache50 نقطة البداية الفضاء الفضاء. أردت فقط للتأكد من والخوادم الجميع يعمل موافق. الحضور: وهنا، على المحطة؟ ANDI بنغ: نعم. الحضور: (غير مسموع). ANDI بنغ: أباتشي. في الواقع، أعتقد أنك تشغيل شيء بالفعل. نعم، كنت فعلا تشغيل ملقم مختلف. نعم، كنت جيدة. طالما أن تعمل، وكنت موافق. الحضور: OK. ANDI بنغ: هناك اثنين طرق لتشغيل الخوادم. وطالما واحدة من الطرق يعمل، انها كل الحق. سنأخذ آخر دقيقة فقط لنوع من الانتهاء من اللمسات الأخيرة أيا كان صفحة الويب يا رفاق يريد أن يجعل. والجميع يعمل من خلال الطريقة؟ خوادم الجميع هي تشغيل بالإضافة إلى للك؟ سنقوم هذا الرقم. وبسيطة الى حد كبير في HTML. لذلك أعتقد أننا جميعا جيدة. نعم. انا سوف اعود. الحضور: (غير مسموع). ANDI بنغ: OK. الحضور: حتى انها مجرد التي لتحميل. ANDI بنغ: لا تقلق. لذلك HTML، هناك شفرة المصدر أن سوف تكون على الانترنت بعد القسم. أيضا، ديفيد لديها كلها باقة الانترنت كذلك. مجرد نظرة نوع من فوقه ل ترى كيف تتم كتابة صفحات HTML. فإنه من السهل إلى حد ما. أي شيء كنت لا تعرف، أنت جميلة كثيرا جوجل فقط وكنت جيدة. أريد فقط للتأكد من أن يتم تشغيل الخوادم. الحضور: هل تفعل هذا في كثير من الأحيان؟ ANDI بنغ: حدث أبدا أن لي. لم أكن أعرف حتى أنه يمكن أن السبات. الحضور: (غير مسموع). ANDI بنغ: أعتقد everyone-- الألغام قد سبات لم يسبق له مثيل. وأنا لا أعرف لماذا. هذا غريب. الحضور: (غير مسموع). ANDI بنغ: هل لك السبات؟ الحضور: (غير مسموع). ANDI بنغ: نعم. الجمهور: لا بأس. مرة واحدة حتى كان مفتوحا. ANDI بنغ: OK. نحن سنتعامل مع بعض خادم القضايا بعد القسم. يجب أن يكون على ما يرام. على الرغم من أنك تريد للتأكد من الحصول على حل لها قبل أن تغادر. لأنه إذا كان الخادم الخاص بك لا يعمل، ثم كنت لن تكون قادرة على القيام PSET، مثل أي جزء من PSET. لذلك كنت ترغب في التأكد من أن هذا هو العمل. رائع. حسنا. نقول وداعا القطط. قضيت وقتا طويلا يبحث عن تلك الصورة هريرة وضعت على. لذلك، على أي حال. الحضور: (غير مسموع). ANDI بنغ: آسف؟ الحضور: (غير مسموع). ANDI بنغ: أعتقد أنه من على الموقع. مثل المواصفات؟ الحضور: (غير مسموع). أعتقد أن المواصفات هي فقط الانترنت في الأسبوع السبعة. اعتقد انه دعا pset6، حتى على الرغم من أننا في الأسبوع السبعة، التي هي الحوسبة قليلا. الحضور: ولكن أنا اقصد انه اذا نريد أن ننظر at-- إذا كنت تريد سحب ما يصل نسختنا من موقع على شبكة الإنترنت من سيفر لدينا؟ لذلك مثل server.c هو PSET، أليس كذلك؟ إذا كنت تريد أن ننظر إلى هذا، مثل كيف يتحقق ذلك؟ ANDI بنغ: أوه، لذلك الواقع وPSET، كل ما تفعلونه هنا implementing-- هنا، سأذهب على هذا لفترة وجيزة. لذلك على الجميع أن ما حصلت فقط إلى القسم، يا رفاق في الحظ. هناك القليل جدا من المواد لتغطية الواقع اليوم. أنا مجرد الذهاب لقضاء المقبل 20 دقيقة الذهاب أكثر PSET المساعدة. لأن هناك بعض مفيد وظائف من شأنها أن تساعد حياتك. ونأمل، سنكون خارج من هنا في مثل 20 دقيقة. حسنا. حتى pset7 هو الخطأ. على الرغم من أننا في الأسبوع سبعة، انها pset6 الواقع. وأنا تغيير ذلك. كل ما تفعلونه في pset6 هو خلق خادم الويب. هذا يبدو السوبر مخيف. وخصوصا بالنسبة لأولئك من منكم الذين لديهم بالفعل نظرت إلى كود التوزيع، هناك الكثير من التعليمات البرمجية، والكثير من التعليمات البرمجية. ولكن على ما يرام تماما. لأن لب الموضوع جزء من خلق الواقع يتم الخادم من قبلنا. كل ما كنت طلبت حقا القيام به في هذه PSET هو مجرد القيام ببعض التلاعب سلسلة في ملف I / O. انها في الواقع مثل بسيط إلى حد ما. حتى عندما كنت لأول مرة تحميل هكذا- يضرب الذين هنا تمت في الواقع بالفعل تحميلها وPSET واتخاذ نظرة؟ حسنا. نعم. هناك مثل 500 الأسطر من التعليمات البرمجية ان كنت تريد الذهاب ليكون مثل، ما الذي يجري؟ وهذا شيء طيب تماما. تأكد من مشاهدة المشي الاقدام. لأن ديفيد and-- أنا لا أعرف. أنا لا أعتقد أنه في Zamyla، هذا واحد. ولكن أعتقد أن بعض الآخر المشي الاقدام هي إلى حد ما مفيدة من حيث مجرد السماح تعلمون ما يجري في الداخل من التعليمات البرمجية الخاصة بك. وانه موافق تماما. لأن المهام الأربعة التي كنت طلب لتنفيذ فعلا صفر إلى القيام به مع الملقم الفعلي. كل ما عليك القيام به هو فقط تحليل السلاسل المختلفة، البحث من خلال سلاسل، لجعل الامور بالتأكيد يفعلون ما كنت من المفترض أن تفعل. لذلك لهذا الغرض، وهناك بعض الوظائف جدا ومفيدة جدا، وخاصة بالنسبة للسلسلة التلاعب، التي ينبغي لنا جميعا ذهبت أكثر من ذلك اعتقدت فما استقاموا لكم فاستقيموا أن تكون مفيدة جدا بالنسبة لك الرجال لمعرفة قبل محاولة PSET. وانهم الواردة عن داخل مكتبة string.h الخاص بك. هناك ربما أكثر فائدة وظائف لم أذكر هنا، لأنني إما أبدا استخدامها أو ربما أنا فقط لم تعرف أنها موجودة. لا تتردد في وهلة من خلال student.h. لأن هناك سيكون الكثير من الوظائف التي هي مفيدة للغاية. حتى الست التي أستخدمها أكثر من غيرها في بلدي PSET عندما كنت أفعل ذلك خلال الأسبوع الماضي كانت strtok، strchr، strrcher، strstr، strcasecmp، وstrcpy. وهكذا قد يبدو الماضيين مألوفة جدا لمعظم لك. حالة شارع مقارنة، كل ما يفعله هو مقارنة سلاسل للتحقق لهم من أجل المساواة، بما في ذلك القضية. وstrcpy نسخ فقط سلسلة واحدة في منطقة عازلة. وحتى تلك اثنين يجب أن يبدو جدا مألوفة بالنسبة لك الرجال في هذه المرحلة. لأننا قد استخدمها كثيرا، خاصة بالنسبة للpsets آخر. ولكن الأربعة الأولى ربما كنت لم أر حتى الآن. ولكن انا ذاهب الى مجرد المشي من خلالهم. لأنهم ذاهبون لجعل حياتكم حقا، من السهل حقا for-- يست سهلة، ولكن أسهل بكثير لهذا PSET القادم. حسنا. شار ذلك * strtok، هذه هي وظيفة تعريف لهذه الوظيفة احتواء ضمن سلسلة، ح المكتبة. إذا أعطيت لك مدخلا من شار * السلسلة، والذي هو مجرد سلسلة، أو شار مستمر * deliminator، delim لفترة قصيرة، كل ما يفعل هو كسر أكبر سلسلة في سلسلة من ما نسميه الرموز مفصولة قيمة معينة. حتى في المعنى، إذا كان لي أن تعطي كنت section.7.php، وهذا هو السلسلة. بحيث لا يكون إذا كان لي أن تمر في هذا الأمر شارع بلدي، شار * شارع، إذا كان لي deliminator نقطة، كل هذا سوف القيام به هو البحث عن طريق السلسلة. والمرة الأولى التي يرى نقطة، انها ستعود فقط إلى مؤشر إلى الرمز المميز الماضي وجدت في السلسلة قبل ذلك. لذلك فإنه يسير في الاتجاه الصحيح هنا. وسيكون فقط أعطني 7.php. وإذا كان لي أن استدعاء يعمل واحد مزيد من الوقت، انها تعطيني فقط فب. وهكذا كل هذه الوظيفة يقوم به وكسر سلسلة أكبر إلى سلاسل أصغر اعتمادا على ما كنت أبحث عنه. وذلك على سبيل المثال، في نظرة يصل بك ظيفة إذا كنت تريد أن ننظر إلى ما بعض الأحرف تأتي عن أو إذا النقاط يحدث أو ملحقات يحدث، أن هذه الوظيفة تكون مفيدة إلى حد ما. نعم. لا تقلق. كل هذا سوف be-- نعم، ما الأمر؟ الحضور: حتى في السطر الأول، إذا كنا باستخدام هذا المثال، ما نود أن تضاف إلى ذلك؟ ANDI بنغ: نعم. هل مجرد دعوة ل strtok delim سلسلة فاصلة. وسلسلة تساوي section.7.php. ثم كنت delim يمكن أن يكون مساويا لنقطة فقط. الحضور: OK. ANDI بنغ: نعم. تماما مثل ذلك. جميع هذه الوظائف هي إلى حد ما مماثلة عندما نذهب من خلالهم. أنها مجرد القيام بأشياء مختلفة قليلا. لكنهم جميعا سوف تجعل حياتك أسهل كثيرا. الوظيفة الثانية، وهذا واحد مثل سوبر، سوبر، سوبر المهم، غير the-- تصمد. عذرا. البحث Strchr للمرة الأولى occurrence-- في الواقع، نعم. Strchr هي الوظيفة التي أنا بالتأكيد الكرة اعتلت. لذلك تجاهل ما قلته لوظيفة الأولى. دعا فعلا strchr. فما الذي حدث هنا هو ما إذا كان تم منحك سلسلة في شار ج، انها ستقدم فقط لك كل ما كان ذلك. نعم. لذلك أعتقد أنها شارع، التي هي سلسلة، ومركز حقوق الإنسان كما شار. لذلك كل ما نحاول القيام به هو البحث لحيث شار ضمن سلسلة. وهكذا فإنه يبحث عن أول حدوث الحرف ج في شارع السلسلة. الحضور: (غير مسموع). ANDI بنغ: نعم. ثم إذا لم تجد ذلك، فإنه يجري للعودة NULL. ذلك شيء يحدث ليكون جدا مفيدة للرفاق في القيام PSET إذا، ويقول، كنت تبحث عن فرصة لل تمديد مثل دوكإكس عن كلمة مستند أو قوات الدفاع الشعبي وثيقة PDF، يمكنك النوع من استخدامه للبحث لكل ما هو بعد ذلك في كل مرة ترى نقطة، أليس كذلك؟ وكثيرا جدا، إذا كنت تشغيل هذا من خلال وظيفة، إذا كان ترجع خالي، ثم أنت تعلم أنه لم تجد نقطة، وهو ما يعني هذا هو واضح ليس ملحق ملف صالح. أو إذا كان يعود شيء ما، ثم تعلمون انها سوف تعود مهما ل في الواقع بعد التمديد. حتى أولئك منكم الذين كان ل بدأت تبحث من خلال بحث وتحليل، وهذا الدالة سيكون من المفيد السوبر. لذلك نحن ذاهبون فعلا لإثبات استخدام هذا. لماذا لا يا رفاق محاولة كتابة وظيفة منطقي شار الجملة * ق أن فقط يعود صحيحا إذا الصورة هو الجملة وكاذبة خلاف ذلك. حتى التلميح، وأنت تسير ربما لاستخدام strchr. أو يمكنك فقط البحث في سلسلة لحرف معين. وذلك في الجملة، ما يفصل الجملة من غير الجملة، ما حرف معين؟ الحضور: A الفضاء. ANDI بنغ: A الفضاء، أليس كذلك؟ وهكذا ماذا نحن الارجح الى تريد أن تفعل داخل هذه الوظيفة هنا؟ الحضور: (غير مسموع). ANDI بنغ: ونحن في طريقنا إلى الرغبة في strchr سلسلة لظهور الفضاء. لأنه إذا كان يعود شيئا، ثم ونحن نعلم أن هذا يجب أن يكون حكما. وهذا يعني أنه يجب علينا أن يكون لها مساحة في هذه السلسلة. إذا كان هناك أي مساحة، ثم نحن نعرف هذا، مهلا، أعتقد أنها ليست سلسلة. انها ربما مجرد كلمة طويلة حقا. ولذا فإنني سوف تعطيك الرجال زوجين دقائق لكتابة هذه الوظيفة. نعم. الحضور: هل حصلت على هذه السلسلة من المستخدم؟ ANDI بنغ: نعم. لذلك هذا هو مجرد وظيفة. حتى تخيل داخل المهمة الرئيسية الخاصة بك كنت بالفعل have-- دعنا نذهب هنا. حسنا. حتى لقد كتبت هذا البرنامج حيث لدي وظيفة الرئيسية حيث لقد خلقت فقط سلسلتين. أول واحد هو مرحبا، اسمي غير Andi-- بشكل واضح، وهي الجملة. بلدي الثاني هو واحد فقط اندى، واضح ليس الحكم. وهكذا أنا على التوالي كل من تلك سلاسل من خلال هذه الوظيفة. أريدكم أن يكتب الجملة الباردة. وأنا تخزين تلك القيم، وبعد ذلك فقط طباعتها. لذلك أعتقد أن المستخدم الذهاب لتمرير في سلسلة. ثم كنت تريد الذهاب إلى الأساس معرفة ما اذا كان حكما أو لا والعودة صحيحة أو خاطئة وفقا لذلك. إذا كنت الرجال يريدون إعطاء ممتاز أو رؤساء حتى رئيس إيماءة، هو أي شخص على استعداد لبدء هذا، سيكون ذلك جيدا. ربما مثل 30 ثانية أكثر؟ حسنا. دعونا نرى ما اذا كان يمكنك محاولة أكتب هذه الوظيفة. حتى الزائفة coding-- أنا مجرد الذهاب الى نوع من المشي من خلال هذا الحق الآن. الى حد كبير، ونحن نعرف الوظيفة التي نحن بحاجة إلى استخدام. ونحن في طريقنا إلى استدعاء هذه الوظيفة على سلسلة لدينا والبحث عن الفضاء. اذا عاد شيئا، ثم لا بد لنا أعرف ذلك، بشكل واضح، وهذا هو الحكم. لأن هناك مسافات. ثم نحن في طريقنا للعودة صحيح. آخر، ونحن في طريقنا للعودة كاذبة. هل يريد أي شخص أن يعطي لي السطر الأول من التعليمات البرمجية أننا ذاهبون فعلا لاستخدامها لكتابة هذا؟ انها في الواقع أصعب سطر من التعليمات البرمجية أيضا. نعم. الحضور: إذا strtok s-- ANDI بنغ: فقط strchr. الحضور: [فاصلة VOICES] مساحة لا تساوي قيمة خالية. ANDI بنغ: بارد. صحيح بالضبط. الجميع يفهم أن السطر الأول؟ ونحن في طريقنا للاتصال strstr، التي هي وظيفة الذي يبحث السلسلة الصورة لشار الفضاء. وإذا ما ثبت ذلك، فإنه سيكون ل عودة مؤشر إلى حيث هذا هو. إذا لم يجد ذلك، انها سوف تعود فارغة. إذا كان الأمر كذلك فإنه يعود أي شيء آخر غير NULL، ثم نحن نعرف وجدت أنه على مسافة. هل هذا منطقي؟ رائع. حسنا. لذلك إذا علمنا وجدت عليه الفضاء، ماذا نريد أن نفعل؟ الحضور: العودة الحقيقية. ANDI بنغ: نعم. العودة الحقيقية. وبعد ذلك، هناك من يريد ل حتى الانتهاء من وظيفة بالنسبة لي؟ نعم. آخر، تماما مثل ذلك. ومحاولة تجميع هذا. اجل. ذلك يا رفاق يمكن أن يرى من المخرجات، وتذكر القيم المنطقية في C يتم التعبير دائما في ثنائي. 1 صحيح. 0 غير صحيح. إذا كان لنا أن تشغيل هذا وظيفة على سلسلة واحدة، والتي غير مرحبا، Andi-- اسمي بشكل واضح، وهو sentence-- نتيجة طباعتها إلى 1 وهو صحيح. والثاني، الذي هو مجرد كلمة، وهي نتيجة طباعتها ل0، وهو كاذب. الجميع نوع واضح بشأن كيفية وقد كتب هذه الوظيفة؟ نعم. الحضور: هل يمكننا أيضا القيام به، بدلا من لا يساوي لا، يساوي يساوي 0، بحيث انها تساوي؟ ANDI بنغ: رقم لأن strchr هي وظيفة. أنا ذاهب إلى العودة إلى هذا. إذن ما هو نوع الإرجاع وظيفة strchr لدينا؟ الحضور: أوه، حسنا. أو NULL. ANDI بنغ: نعم. انها شار * أن يقول لي أنه مهما كانت هذه الوظيفة هو الذهاب الى العودة، انها ستكون المؤشر. أما المؤشر سيكون لافتا إلى حيث وجدت انها، أو انها سوف تعود مؤشر فارغة. في أي ظرف من الظروف، انها تسير للعودة مؤشر إلى شيء. وحتى لو كنت لمساواة وهذا يساوي، يساوي، 0، وأنت تسير في الحصول على خطأ الترجمة. لأنها سوف تعود مؤشر. وأنت تسير في محاولة ل مقارنة مؤشر إلى عدد صحيح. والكمبيوتر ليست الذهاب إلى مثل ذلك. نعم بالضبط. رائع. الجميع جيدا؟ وثانيا، نحن في طريقنا للذهاب أكثر من وظيفة ودعا strstr. لا تقلق إذا كانت هذه وظائف هي مربكة لك. انهم يحيرني. على هذا النحو، يمكن أن يرى يا رفاق، أنهم جميعا يبدو الى حد كبير نفس. فقط عندما كنت أشكل عليك، سحب ما يصل المكتبة string.h. ويمكنك فرز الرجال من خلال أي واحد والتي. strstr ذلك، كل ما يفعله هو بحث سلسلة لسلسلة أخرى كلها. فأين strchr البحث فقط لحرف واحد، البحث strstr لسلسلة بأكملها. لذلك أردت أن ننظر في، وأنا لا تعرف، مرحبا، اسمي اندى. واسم أفضل صديق لي هو أيضا اندى. إذا أردت أن تبحث في هذا الجملة للكلمة كاملة من اندى، سيكون لي إبرة كانت كل ما كنت أبحث عنه. وكومة قش الخاص بك هو كل ما كنت تبحث عن ذلك في. حتى إذا كنت تبحث عن كلمة معينة داخل الجملة، هذه الكلمة ستكون إبرة الخاص بك. ثم الجملة نفسها ستكون كومة قش الخاص بك. وحتى أنه يبحث فقط التواجد الأول من الإبرة سلسلة في كومة قش السلسلة. تقوم بإرجاع مؤشر إلى التواجد الأول. باستثناء، وتذكر في هذه الحالة، انها التواجد الأول من السلسلة بأكملها ان كنت تبحث ل، وليس مجرد حرف. وحتى هذا هو تقريبا نفس الشيء عن وظيفة فعلنا فقط، فقط مع أكثر قليلا خصوصية. لأنك تبحث عن أكثر من حرف واحد فقط. واستخدام هو بالضبط نفس ذلك الذي فعلناه للتو. الجميع موافق مع هذا؟ حسنا. واحد آخر ونحن في طريقنا للذهاب على غير strrchr، وهي ليست الخلط بينه وبين strstr أو مع strchr. strrchr ديه ص اضافية هناك. كن حذرا عندما كنت تكتب. قد تجد نفسك بما في ذلك وص إضافي أم لا بما في ذلك ص، ثم الدالة وحصلت لن تجدي نفعا. وأنت تسير أن يكون الخلط. كن حذرا أنك هجاء جميع هذه الوظائف الحق. ذلك هو strrchr بالضبط نفس الشيء كما strchr إلا أنه يبحث عن يست الأولى حدوث الطابع الخاص، بل وقوع الماضي. وهكذا، بهذا المعنى، انها تقريبا بالضبط نفس. ولكن بدلا من الانتقال إلى الأمام في سلسلة، كنت على وشك أن تتحرك إلى الوراء في سلسلة. بالضبط نفس الشيء، كنت فقط البحث في ترتيب مختلف. وهكذا يمكن أن يكون هذا عظمى، فائدة عظمى للبحث الخاص بك وظيفة، والأولى وظيفة على PSET الخاص بك. دعونا ندعي أننا بحاجة إلى إرسال بريد وظيفة التمديد باطلا التي نعمل تمرير شار المستمر اسم الملف *، مجرد سلسلة، اسم الملف، أن يأخذ في ذلك الاسم والمطبوعات من شمول هذا الملف. هكذا على سبيل المثال، إذا كان لي أن تمر في سلسلة من pset7.zip، انه سيكون لطباعة فقط التمديد الذي هو الرمز البريدي. وهذا من شأنه أن يعمل ل أي نوع من التمديد، دوكإكس Word أو قوات الدفاع الشعبي لPDF ملف أو .html لملف HTML. الى حد كبير، وكتابة وظيفة التي يمكن أن تفعل ذلك. انا ذاهب فعلا ل تبديل لأكثر من IDE. أنها ليست load-- هناك نذهب. لذلك كل ما قمت به هنا هو خلق شار *، وهي السلسلة الأولى، دعا pset7.zip. انا ذاهب للتكبير. لقد خلق السلسلة الثانية دعا finalpaper.docx. ويكتب لي وظيفة أنه عندما ودعا هو الذهاب الى طباعة للتو ملحقات أسماء الملفات. ربما تأخذ بضع دقائق للتفكير كيف انت ذاهب للقيام بذلك. قليلا أكثر تحديا من آخر واحد، ولكن استخدام تقريبا بالضبط نفس الشيء. نعم. حتى كتابة وظيفة ملحق يسمى أنه إذا أعطي لك اسم الملف، إذا كان لي أن أقدم لكم pset7.zip-- I أريدك أن تطبع فقط الرمز البريدي. إذا أعطي تريد finalpaper.docx، فقط بطباعة .docx أو مجرد تمديد أيا كان الملف. هذا في الواقع فقط يأخذ سطرين من التعليمات البرمجية. وذلك في محاولة لمعرفة ما إذا كنت يمكن القيام به ربما في ذلك. في الواقع، فقط يأخذ سطر واحد من التعليمات البرمجية. ولكن اثنين من خطوط وربما أكثر القياسية. ما وظيفة نحن على الأرجح تريد الذهاب الى الدعوة؟ الحضور: strrchr. ANDI بنغ: strrchr، والحق. لأننا نبحث من اليسار واليمين. أنا لم يعط يا رفاق مثال من هذا القبيل، ولكن إذا أعطيتك مثالا مثل www.apple.com وأردت فقط و.com و انها تريد ان تكون مثلا ل الذي تريد الاتصال به المقام الماضي من فترة ويست الأولى، أليس كذلك؟ لو كنت strchr المكالمة، فإنه سيكون قد أعطيت لك apple.com. إذا قمت بالاتصال strrchr، فإنه من شأنه أن يعطي لك كوم. وحتى نكون حذرين الذي ways-- في بلدي على سبيل المثال، هل يمكن ربما يمكن أن يكون كتبت للتو باستخدام strchr، لأن هناك نقطة واحدة فقط. ولكن في حالات أخرى، قد لا يكون الأمر كذلك. وحاول لذلك دائما لتصميم التعليمات البرمجية الخاصة بك بشكل جيد، وهكذا- يضرب لذلك نعم؟ الحضور: حتى في مثال قلته للتو، عندما لم strrchr أنه سيكون تعطيك .COM أو خرجوا للتو؟ ANDI بنغ: إنه سوف تعطيك كوم. الحضور: OK. ANDI بنغ: نعم. ويشير إلى حيث وجدت. نعم. 30 ثانية ربما؟ نعم. الجميع جيدا أو ربما أكثر قليلا الوقت؟ الأيدي؟ مشاهدة رؤساء؟ رائع. أي شخص يريد أن تعطيني أولا سطر من التعليمات البرمجية لهذا البرنامج؟ الحضور: (غير مسموع). ANDI بنغ: أولا حتى من كل شيء، دعونا ربما كسر هذه القاعده. فما هو نوع عودة strrchr؟ دعونا نعود. strrchr، ما هو نوع المقابل؟ الحضور: شار * ANDI بنغ: انها شار *، أليس كذلك؟ وهو ما يعني أن كنت على الارجح تريد أن خلق آخر شار * لنوع من مخزن كلما انها العودة إلى، أليس كذلك؟ لأنه إذا كان استدعاء وظيفة strrchr، انها سوف تعطيك مؤشر ل أينما وجدت أن الفترة الماضية، الصحيح؟ ولكن كنت تريد الذهاب الى تخزين أنه في مكان ما، أليس كذلك؟ وهكذا كيف يمكننا رمز هذا في برنامجنا؟ الحضور: يمكنك كسب شار * (غير مسموع). ANDI بنغ: نعم. الحضور: (غير مسموع). ANDI بنغ: strrchr. نعم. أوه، غاب عن ص هناك. الحضور: اسم الملف (غير مسموع). ما هذا؟ أوه، انها مجرد. ANDI بنغ: أوه، أنها مجرد. نعم، آسف. خطأي. لم الأمثلة غير متطابقة. الحضور: وبعد ذلك تنتشر. ANDI بنغ: نعم. كن حذرا عند الرجال are-- هنا، اسمحوا لي أن التكبير. هناك نذهب. كن حذرا عند الرجال تكتب، وخصوصا عندما تفعلونه مجرد حرف. فإنه من السهل حقا لصدفة القيام علامات الاقتباس المزدوجة بدلا من واحد. هذه لا تعمل. المترجم الخاص بك هو الذهاب للشكوى. وظيفة الخاص بك هو فقط لن تشغيل. ولذا كن حذرا عندما كنت تفعل أشياء مع حرف أنه من علامات الاقتباس المفردة. وهكذا يفعل هذا الخط من كود معنى للجميع؟ نحن بصدد إنشاء شار * المؤشر. لأن العائدات strrchr شيء من نوع مؤشر. وحتى ونحن في طريقنا للاتصال strchr في الصورة، وهو سلسلة، الملف اسم، اننا يمر في. ونحن نبحث عن آخر مثيل فترة، وهو مجرد اقتباس واحد دوت اقتباس مفردة. نعم. الحضور: متى نستخدم علامات الاقتباس المزدوجة ومتى نستخدم علامات الاقتباس المفردة؟ ANDI بنغ: نعم. التنصيص ذلك هي تستخدم دائما عند لدينا سلسلة من أكثر من واحدة فقط. حتى إذا كنت تريد أن تفعل strstr، وهو الوحيد الذي كنت بحث سلسلة لسلسلة، كنت سيمر في علامات اقتباس مزدوجة. لكن في أي وقت انها مجرد حرف واحد، تريد القيام به علامات الاقتباس المفردة. انه شيء جيد أن نأخذ في الاعتبار. حتى الآن أن لدينا المؤشر، ماذا نفعل معها؟ أنا أسأل يا رفاق ل الطباعة من ذلك، أليس كذلك؟ لذلك (غير مسموع)، وتريد أن تعطيني سطر من التعليمات البرمجية؟ الحضور: printf-- ANDI بنغ: نعم. الحضور: --you بحاجة إلى حامل مكان. ANDI بنغ: نعم. الحضور: طباعة صاحب المكان. أنا لا أعرف ما المكان حامل ما هو إلا نقطة لذلك. حسنا. دعونا تخطي ذلك في الوقت الحالي ذلك الحين. الحضور: ثم comma-- ANDI بنغ: المؤشر، أليس كذلك؟ الحضور: المؤشر، نعم. ANDI بنغ: لذلك النوع من سؤال خدعة، له علاقة مع مؤشرات وسلاسل بعد أن قمنا النوع من تحدث عن بالفعل. ما هو نوع من صاحب المكان هل نحن الحاجة إلى مؤشر لشار *؟ الحضور: (غير مسموع). ANDI بنغ: نعم. انها أسهل من يا رفاق أعتقد أنه هو. الحضور: سلسلة؟ ANDI بنغ: انها مجرد سلسلة، بالضبط. لأن تذكر الجمل لا وجود لها في الواقع. وشار * هو بالضبط نفس الشيء كسلسلة. وهكذا حقا هذا هو ما ق كان ينبغي أن تستخدم على طول. حسنا. دعونا نرى ما اذا كنا نستطيع حاول تشغيل هذا. دعونا نفعل جعل التمديد. رائع. يا رفاق نرى كيف مررت في psset7.zip وfinalpaper.docx، ويطبع للتو والرمز البريدي ودوكإكس؟ منطقي؟ OK لذلك أعتقد أن في مظهرك حتى وظيفة في PSET بك أنت ستكون سئل عما اذا كان سلسلة لها نهاية معين، يجب ان تعطي رمز خطأ معين. وحتى هذا سيكون مروعا جدا. لأنه إذا كان يمكنك معرفة ما هو التمديد، يمكنك ثم قارن ذلك تمديد لمعرفة ما إذا كان يتطابق مع ما يصل مع ملحق معين. وبعد ذلك يمكنك العودة رسالة خطأ، أليس كذلك؟ نعم. الحضور: لذلك نحن لا عليك إضافة 1 أو أي شيء؟ والمؤشر يذهب إلى the-- ANDI بنغ: كلا. الحضور: --point بعد ذلك. ANDI بنغ: نعم. وتشير بالضبط إلى حيث كان حدوثها. هكذا على سبيل المثال هنا، ونحن البحث عن هذه الفترة. حتى انها سوف تعود مؤشر إلى تلك الفترة. وبعد ذلك سيكون لطباعة من البدء في هذه الفترة. لذلك أنت لا تحتاج إلى إضافة 1. وعلى الرغم من أنه بخير تماما ل، إذا كنت غير متأكد من أي وقت مضى، إلى مجرد نوع من اختبار بها نفسك. بناء نموذج البرنامج. اختبار بها نفسك و رؤية أين انها الطباعة. وهذا أيضا ليس بطريقة سيئة للقيام بذلك. رائع. وهذا الى حد كبير عن كان لي رفاق اليوم. فعلنا الكثير من الأشياء PSET اليوم. حتى عندما تكون في شك، مثل قلت، أن ننظر دائما مكتبة string.h لهذا PSET. هناك سيكون الكثير من وظيفة في هناك والتي قد تكون مفيدة. البعض قد لا يكون مفيدا. أنا لا أعرف حقا. واد من خلال ذلك، هناك مجموعة كاملة منها. strstr، strchr، strrchr هي سوبر، سوبر مفيدة، فضلا وstrcpys وstrcasecmps أننا قد استخدمت بالفعل. انها الكثير العادل من العبث سلاسل، وتحديد اذا كانا لا يزالان على قدم المساواة، الحصول على الاشياء من السلاسل، و أن تكون قادرة على فتح الملفات بشكل صحيح. ان الكثير من الملفات I / O. PSET حقا لم يكن سيئا. وأنت تسير لاتخاذ ننظر في الأمر، تنزيله، ونرى مجموعة كاملة من التعليمات البرمجية. لا تقلق، الرمز الذي في الواقع إرسال ليست سيئة على الإطلاق. إذا كان أي شخص لديه مشاكل مع بهم الخادم، وتأتي يراني بعد القسم. أعتذر مرة أخرى لعدم جلب الحلوى لعيد الهالوين. أنا لا أعرف ما هو الخطأ معي. ولكن سيكون لدينا ضعف الحلوى المرة القادمة. ونتمنى لك التوفيق في PSET بك هذا الاسبوع. اجل.