ANDI PENG: हम कर रहे हैं लगभग सभी psets के माध्यम से। वास्तव में, हम बहुमत के माध्यम से कर रहे हैं सबसे कठिन psets की। तो हम बस वास्तव में कर रहे हवा की तरह करने के लिए जा रहा अगले कुछ हफ्तों के माध्यम से। हम इस बारे में बात कर शुरू करने जा रहे हमारे अंतिम परियोजनाओं, घटनाओं आ रहा अगले कुछ हफ्तों में। और जीवन एक हवा हो जाएगा। इसलिए बहुत ज्यादा नहीं है आज। उम्मीद है, वास्तव में हवा जाएगा आज के लिए एजेंडा के माध्यम से, और फिर यहाँ से बाहर हो क्षमा करने के लिए कुछ समय के साथ। इसके अलावा, मैं माफी चाहता हूँ कैंडी की कमी के कारण आज के लिए। मैं क्यों नहीं पता है। लेकिन सप्ताह में अग्रणी हैलोवीन, मैं कैंडी भूल होगी। तो मैं बस वास्तव में एक विशाल हूँ अभी आप को निराशा। मैं सचमुच कैंडी क्योंकि याद है हर एक वर्ग है, लेकिन हैलोवीन के लिए। लेकिन अगले हफ्ते, मैं लाएगा कैंडी की मात्रा दोगुनी आप सभी के लिए, उस के लिए बनाने के लिए। यह बहुत अच्छा होगा। इसलिए मैं घोषणाओं की एक जोड़ी है कुछ समय निर्धारण के संबंध में। मैं कुछ समय निर्धारण मुद्दों है। तो फिर हम पर स्थानांतरित करने के लिए जा रहे हैं chmod क्या कहा जाता है के बारे में बात करते हैं। हम इस बारे में बात करने जा रहे हैं जल्दी टीसीपी / आईपी HTTP। और फिर हम कोड जा रहे हमारे एचटीएमएल और सीएसएस का उपयोग कर स्वयं की वेबसाइट। और फिर मैं वास्तव में शायद छोड़ देंगे 20 मिनट की तरह pset6 के बारे में बात करने के लिए। Pset6 वास्तव में का एक बहुत है, क्योंकि हम पहले से ही पहले देखा है कि सामान, लेकिन मुझे लगता है ताज़ा करने के लिए करना चाहता था उन अवधारणाओं से कुछ के रूप में अच्छी तरह से एक जोड़ी नए कार्य को पढ़ाने के रूप में। कूल। तो सब से पहले, ब्रेक से वापस स्वागत है। मैं आप को तोड़ने सुखद था रहे हैं उम्मीद है। आप को तोड़ने के लिए क्या किया जाएगा? दर्शकों: न्यूयॉर्क के लिए चला गया। ANDI PENG: आप न्यूयॉर्क के लिए चला गया? मैं आधे हमारे स्कूल लगता है न्यूयॉर्क के लिए चला गया। सब ठीक है। मैं अपने को तोड़ने के सबसे अधिक खर्च बिस्तर Netflixing में आसीन। और यह एक अच्छा समय था। लेकिन हम वापस में वापस, अब कर रहे हैं सत्र, वापस चीजों के झूले में। हम दोपहर में इस शुक्रवार की वजह से एक pset है। मैं आप पहले से ही लगता है कि हाँ, अपनी प्रश्नोत्तरी उठाया? तो किसी और कौन है नहीं, उनकी क्विज़ था आते हैं और अपने क्विज़ मिल कृपया अनुभाग के अंत में मुझ से। या परिसर में मुझे नीचे ट्रैक। मैं कहीं यह मेरे साथ होगा। हमारा अंतिम परियोजना पूर्व प्रस्ताव भी। कभी नहीं लिया है जो हम में से उन लोगों के लिए तो इससे पहले इस वर्ग, CS50 की capstone बहुत ज्यादा इस में हुआ है छात्रों का प्रस्ताव है कि भव्य परियोजना। और पूर्व प्रस्ताव, सिर्फ एक सामान्य विचार एक के लिए करना चाहते हो सकता है की उनकी परियोजना, विचार है कि सोमवार की वजह से है दोपहर में अगले सोमवार। इसलिए बहुत ज्यादा, डेविड मैं लूंगा लगता है व्याख्यान में इस बारे में अधिक बात वह पहले से ही नहीं किया गया है। और एक ठोस पृष्ठ है समझा हमारी वेबसाइट पर परियोजना की सभी आवश्यकताओं। लेकिन अनिवार्य रूप से लेने आप है कि किसी भी विषय में दिलचस्पी किया गया यहाँ अपने समय के दौरान सीएस पर, यह जुआ खेलने किया जाए या डिजाइन या वीडियो या कुछ भी। और अगर आप वास्तव में एक तरह से कर सकते हैं अब सबक के कुछ लागू हम हाय CS50-- में यहाँ सीखा है कि, welcome-- का आयोजन बहुत ज्यादा करने के लिए अपनी पसंद का एक अंतिम परियोजना। सभी कि वजह से सोमवार है है ईमेल के माध्यम से सिर्फ एक संक्षिप्त विज्ञापन मेरे लिए, एक त्वरित वाक्य, अरे, जैसे, एंडी, मैं डिजाइन करने में वास्तव में दिलचस्पी रहा हूँ आईओएस के लिए यह एक खेल है कि। कूल। बस मुझे अपने संक्षिप्त प्रारंभिक जाने अपने अंतिम परियोजनाओं के लिए विचारों। और हम के माध्यम से बात करेंगे कि क्या है या नहीं वह वास्तव में एक अच्छा विचार है या नहीं, यह एक व्यावहारिक विचार है या नहीं है। लेकिन सिर्फ पूर्व प्रस्ताव अगले सोमवार की वजह से है। गलत है कि pset6, हमारी प्यारी web--। Pset7? pset6? यह ठीक है, pset6 है? pset6, हमारी वेब सर्वर, की वजह से है देर से दिन के साथ दोपहर में शुक्रवार। कार्यालय का समय सोमवार से सामान्य रूप से फिर से शुरू गुरुवार रात 8:00 से 11:00 इस सप्ताह के लिए। मैं के लिए कॉमन्स लगता है अगले तीन रातों। कूल। हम सामग्री में किया था, इससे पहले कि किसी को भी करता है कोई प्रश्न, चुटकुले, कहानियां हैं? आप गिरावट को तोड़ने के लिए क्या किया? दर्शकों: मुझे क्या करना है क्या? ANDI PENG: पहले से ही यह वास्तव में सदियों पहले है। क्राइस्टाबेल न्यूयॉर्क के लिए चला गया। मैं यहाँ और Netflixed रुके थे। दर्शकों: ओह, हाँ मैं यहाँ था। ANDI PENG: ठीक है, ओह। दर्शकों: मुझे याद नहीं है क्या विशेष रूप से। ANDI PENG: यह ठीक है। दर्शकों: Netflixing शायद। ANDI PENG: Netflixing। हाँ, यह एक अच्छा समय है। ठीक। ठीक है। किसी भी सवाल से पहले हम सामग्री में कूद? इसके अलावा, हम करने की कोशिश करने के लिए जा रहे हैं खंड आज के माध्यम से गति, कवर करने के लिए बहुत ज्यादा नहीं। और उम्मीद है, हम मिल जाएगा यहाँ बाहर थोड़ा जल्दी। यह भी नहीं कैंडी, के लिए क्षमा करें। मैं एक निराशा हूँ, विशेष रूप से हैलोवीन के दौरान। ठीक है। कूल। इसलिए हम के बारे में बात शुरू करने के लिए जा रहे हैं एक कमांड लाइन तर्क chmod बुलाया। chmod, यह सब सिर्फ एक यूनिक्स प्रणाली है कमांड लाइन से आयोजित कॉल फ़ाइल अनुमतियाँ बदलने के लिए। तो उदाहरण के लिए, हम है सभी एक पृष्ठ का सामना करना पड़ा इस तरह शायद कुछ देर में एक इंटरनेट जा रहा है की हमारे जीवन काल हमारी वेब सर्वर है, जहां यूजर हमें निषिद्ध की त्रुटि दिया। आप का उपयोग करने की अनुमति नहीं है yadda, yadda, yadda, इस सर्वर पर। सब है कि वास्तव में इसका मतलब अनुमतियों यह है कि कि से जुड़े थे जो कुछ भी पेज आप पहुँचने का प्रयास कर रहे थे आप के लिए खुला नहीं थे। इसलिए बहुत ज्यादा, chmod रास्ते में जो है हम उन सिस्टम अनुमतियाँ संशोधित कर सकते हैं हर किसी को देने के लिए, उपयोगकर्ता, समूह, दुनिया है, या किसी एक या उन का उपयोग का संयोजन कुछ फ़ाइलों को, निर्देशिका, कुछ भी सच में, इस प्रणाली के किसी भी प्रकार पर एक ऑपरेटिंग सिस्टम। लड़कों में से किसी भी है तो यदि आपको लगता है कंप्यूटर आज मेरे साथ निम्नलिखित की तरह, पूरी तरह से सिर्फ बातें टाइप करने के लिए स्वतंत्र महसूस में। यदि नहीं, तो आप सिर्फ बाहर लटका कर सकते हैं। इसलिए मैं वास्तव में खींचने के लिए जा रहा हूँ अभी मेरे टर्मिनल। तो कमांड को चलाने के लिए chmod, या कम से कम बस की अनुमति सूची में अपने फाइल निर्देशिका, बस LS-एल है। आप देख सकते हैं, का एक गुच्छा सामान को, जिनमें से अधिकांश चबूतरे पर हमारे लिए महत्वपूर्ण है यहां बाएं हाथ की ओर। तुम लोग रुपये, था, 1 / का एक झुंड देखा। हाँ। उन सिर्फ अनिवार्य रूप से कर रहे हैं सभी फाइल अनुमति क्या कुछ निर्देशिकाओं को समझाने के लिए और अपने सिस्टम के भीतर फाइल किया है। तो चलो के लिए वापस जाओ यहां पावर प्वाइंट। तो फ़ाइल नामों के अलावा आप लोग सही पर देख सकते हैं, हम अनिवार्य रूप से देखने के लिए देख रहे हैं बाईं तरफ सिर्फ स्तंभ। के अलावा तो बस फ़ाइल नाम, हम , फाइलों की अनुमति देख सकते हैं उनके स्वामी समूह, समूह का नाम, तारीख फाइल पिछले था कि संशोधित, वगैरह। आप chmod का उपयोग कर चीजों की एक बहुत कुछ देख सकते हैं। इसलिए हम chmod में लिखा है कि जिस तरह से यह है कि हम बहुत ज्यादा उपेक्षा पहले अक्षर पढ़ने अनुमतियों के संदर्भ में। पहले अक्षर बस हमें बताता है क्या प्रणाली के प्रकार हम पहुँच रहे हैं। घ, इस मामले में, एक है फ़ोल्डर या निर्देशिका। इसलिए हम चाहते हैं कि वर्तमान में मेरे कार्यक्षेत्र में पता खंड सात एक निर्देशिका था। और फिर आप तीन देखना तीनों, अनिवार्य रूप से बस तीन अक्षर के तीन सेट। और आप थोड़ा के रूप में प्रत्येक के बारे में सोच सकते हैं। तो तुम सिर्फ के तीन सेट है तीन बिट्स में कुल नौ बिट्स। आप तीन के समूह में उन्हें इलाज। तो तीन का पहला समूह है हमेशा अपने उपयोगकर्ता अनुमतियाँ। तीन के अपने दूसरे समूह है हमेशा अपने समूह अनुमति। और तीन में से अपने तीसरे सेट , हमेशा के लिए दुनिया की तरह है हर जगह अनुमतियों। इसलिए मुझे लगता है आसान लगता है पूछने के लिए सवाल यह है कि क्या है उपयोगकर्ता और समूह के बीच का अंतर। मुख्य अंतर उपयोगकर्ता और समूह के बीच एक उपयोगकर्ता आप व्यक्तिगत रूप से सिर्फ यह है कि यह सही है अब जो कुछ भी पहुँचने। यदि आप एकाधिक है, तो एक समूह हो सकता है उदाहरण के लिए एक कंप्यूटर पर उपयोगकर्ताओं। उन सभी को एक समूह के रूप में इलाज किया जा सकता है। और फिर दुनिया है सिर्फ दुनिया, सब लोग। हम कैसे कर सकते हैं तो हम पर बाद में देख सकते हैं विभिन्न अनुमतियों में उन संशोधित। तो बहुत ज्यादा है, हम कर रहे हैं अभी भी ध्यान केंद्रित करने जा छोड़ दिया, जहां पर भाग पर निर्देशिका CS50 के लिए हम drwx देखना आर बस का अर्थ है, जहां यह पठनीय है। डब्ल्यू सिर्फ यह लिखने योग्य है इसका मतलब है। और फिर एक्स बस यह निष्पादन योग्य है इसका मतलब है। आप किस तरह यह लगता था का मतलब नहीं है। यह ई होना चाहिए। लेकिन एक तरह से वास्तव में एक्स एक छोटे से बेहतर काम करता है क्या आप बेहतर याद कर सकते हैं। चीजों की तो तीन प्रकार आप क्या कर सकते हैं, तो आप या तो एक फाइल पढ़ सकते हैं, आप एक लिखने की अनुमति हो सकता है फ़ाइल, या आप अनुमति हो सकता था एक फ़ाइल को निष्पादित करने के लिए। और तो तरीका है कि हम वास्तव में बिट्स में उन लोगों का प्रतिनिधित्व संख्या 4, 2, और 1 है। तो पठनीय है कि कुछ भी है 4 की संख्या से प्रतिनिधित्व किया। लिखने योग्य है कि कुछ भी 2 का प्रतिनिधित्व करती है। निष्पादन योग्य है कि और कुछ भी के रूप में 1 से प्रतिनिधित्व किया। तो इस अर्थ में, हम भी कर सकते हैं इन numbers-- प्रतिनिधित्व हाय, एक अलग तरीके से, स्वागत करते हैं। माफ़ कीजिए। सब से पहले, मैं जा रहा हूँ हर किसी की ओर से माफी माँगता हूँ अब कक्षा में प्रवेश। मैं आज कैंडी भूल गया। मैंने सोचा कि मैं एक विफलता हूँ माफी चाहता हूँ हैलोवीन के इस हफ्ते। मैं की राशि दोगुना लाएगा कैंडी इसके लिए मेकअप करने के लिए अगली बार। लेकिन वैसे भी, माफ करना कि लोगों के बारे में, माफ करना। तो तरीका है कि हम निवेश वास्तव में यह कर सकते हैं हमारे आदेश पर तर्क हम है chmod समूह स्लेश अनुमतियों कर सकते हैं, जहां समूह अभी जो कुछ भी है समूह हम बदलने की कोशिश कर रहे हैं। और अनुमतियाँ हैं हम इसे जोड़ने के लिए जो चाहते हैं। तो उदाहरण के लिए, प्लस अनुमतियों के लिए कहते हैं, और घटाना अनुमतियों दूर ले जाता है। और समूह के प्रकार हम अपने एक है सभी के लिए, यू उपयोगकर्ताओं के लिए, समूहों के लिए जी, या दूसरों के लिए ओ। यह ठीक है अब थोड़ी संक्षिप्त है। लेकिन हम कुछ उदाहरण पर जायेंगे सिर्फ इस असली जल्दी प्रदर्शित करने के लिए। इस पर अच्छा हर कोई स्लाइड, तो मैं पर स्थानांतरित कर सकते हैं? कूल। तो उदाहरण के लिए, rwx। हम यह प्रतिनिधित्व करता है के बारे में बात करने से पहले, सब से पहले rwx क्या मतलब है? आप इस निश्चित कि देखते हैं फ़ाइल, rwx की अनुमति है मतलब यह है कि क्या व्यक्ति ऐसा करने में सक्षम हो सकता है? दर्शकों: पढ़ने, लिखने और निष्पादित। ANDI PENG: हाँ, बिल्कुल। आप लिखने और पढ़ने के लिए अमल कर सकते हैं। उन सभी के तीन क्योंकि पात्रों मौजूद हैं। हम बात आगे जाना है और यदि हां बिट्स के संदर्भ में इस बारे में, rwx भी 700 के रूप में प्रतिनिधित्व किया जा सकता है। आप किसी में देख सकते हैं क्योंकि फाइल निर्देशिका अनुमति की तरह, तीन तीनों नहीं है। इस मामले में, केवल पहले त्रय वहाँ कुछ भी है। तो इस मामले में, आर 4 है, डब्ल्यू 2 है, और एक्स 1 है। आप एक साथ उन जोड़ते हैं, तो यह 7 है। और तो आप परिवर्तित करता है, तो अगर यह 700 है, द्विआधारी करने के लिए। 7 क्योंकि पहली त्रय है। 0, उपस्थित कुछ भी नहीं है दूसरी त्रय में। और फिर वर्तमान में कुछ भी नहीं है वहाँ तीसरे त्रय, इतना है कि एक और शून्य है। इसलिए तीनों का एक ही अर्थ में, एक गुच्छा बस, बस बिट में प्रतिनिधित्व किया जा सकता बाइनरी में के रूप में अच्छी तरह से। तो 700 सटीक एक ही चीज के रूप में इसका मतलब है अनुमतियों के मामले में rwx ------। हर कोई उस पर स्पष्ट? कूल। और तो chmod 111 देना होगा फाइल करने के लिए जो अनुमतियों? तुम लोगों के एक जोड़े को दे दो सेकंड इस कन्वर्ट करने के लिए। , पहली याद रखें त्रय उपयोगकर्ता के लिए है। दूसरी त्रय समूह के लिए है। और तीसरा त्रय सभी के लिए है। और तो chmod 111 देना होगा जो अनुमतियों की और किसके लिए प्रकार? करने के लिए एक कुछ सेकंड ले लो इसके बारे में सोचने के लिए और वापस आ जाओ। हाँ। दर्शकों: तो हर कोई इसे अमल कर सकते हैं। ANDI PENG: हाँ, बिल्कुल। दर्शकों: लेकिन कोई नहीं पढ़ या लिख ​​सकते हैं। ANDI PENG: और के लिए स्वतंत्र महसूस हर किसी को समझाने के लिए कैसे आपको लगता है कि इस निष्कर्ष पर आया था। दर्शकों: ठीक है, उपयोगकर्ता के लिए, समूह है, और दुनिया, यह सब एक है जो निष्पादन योग्य के लिए कोड है। ANDI PENG: हाँ, बिल्कुल। तो 1, इस मामले में, हम सभी जानते है कि कि निष्पादन योग्य कोड है। पढ़ने 4 है। लेखन 2 है। और निष्पादन 1 है। इसलिए सभी तीन तीनों 1, कि कर रहे हैं कि दुनिया के लिए, उपयोगकर्ता के लिए इसका मतलब है, और समूह के लिए, वे सभी निष्पादन कर रहे हैं। उस के साथ अच्छे सब लोग? ठीक। और तो दूसरा रास्ता हम वास्तव में कर सकते हैं कि आप यह भी यह लिखना सिर्फ chmod कर सकता है एक से अधिक एक्स। एक सब या हर कोई इसका मतलब है। प्लस के लिए अनुमतियाँ देने का मतलब है। और फिर एक्स निष्पादन योग्य होता है। तो दो आदेशों को भी नहीं है वास्तव में समान हैं। आप चलाना चाहते हैं तो अपने टर्मिनल में यह, आप के नाम 111 chmod करना अपनी निर्देशिका या अपनी फ़ाइल। या फिर आप एक प्लस एक्स chmod कर सकते हैं, आपके निर्देशिका फ़ाइल का नाम। एक ही बात है, सिर्फ एक आसान तरीका है, शायद, कुछ का प्रतिनिधित्व करने या बदलने के लिए फाइल अनुमति। Chmod के साथ हर एक ठीक हम आगे बढ़ने से पहले? कूल। तो अब हम एक में सिर करने के लिए जा रहे हैं बहुत सार अवधारणाओं के कुछ स्लाइड मैं बहुत ज्यादा हूँ कि के माध्यम से हवा करने के लिए जा रहा है। और यह आप यदि पूरी तरह से ठीक है सब कुछ समझ में नहीं आता। अब भी, मैं अभी भी वास्तव में नहीं है पूरी तरह से सब कुछ समझते हैं। लेकिन यह हो रही है की अधिक है शीर्ष स्तर की समझ इन चीजों में से कुछ काम कैसे की। तो हम बात करने जा रहे हैं जल्दी टीसीपी / आईपी के बारे में, जो सिर्फ ट्रांसमिशन कंट्रोल है प्रोटोकॉल इंटरनेट प्रोटोकॉल स्लेश। व्याख्यान से याद है, डेविड, वह तुम्हें सिखाने किया वह पारित होता है, जहां उदाहरण एक लिफाफे में नोट व्याख्यान कक्ष के ऊपर की तरह करने के लिए? लॉ स्कूल सभागार में तो डेविड अनिवार्य रूप से प्रदर्शन किया कैसे टीसीपी / आईपी में काम करता है भावना है कि यह सब डेटा है कि यह सुनिश्चित करने का एक साधन है एक सर्वर भर में वितरित कर दिया गया है या इंटरनेट पर। लिफाफे के उदाहरण में और संदेश के अंत में, उपयोगकर्ता देख सकते हैं कि, ओह, मैं करने की जरूरत सूचना के चार पैकेट प्राप्त करते हैं। लेकिन मैं वास्तव में केवल तीन प्राप्त किया। यही कारण है कि मैं एक गायब होना चाहिए इसका मतलब है। और एक नहीं दिया गया था। और तो टीसीपी / इंटरनेट पर आईपी, आपके कंप्यूटर और सर्वर के माध्यम से, सटीक एक ही बात करता है। यह सब होता है एक निर्दिष्ट है ढांचा है जो एक खो डेटा में पैकेट भेजने और प्राप्त किया जा सकता है। इंटरनेट पर जैसे कि अगर आप कोशिश कर रहे हैं ऑनलाइन फ़ाइलों का उपयोग या फ़ाइलें भेजने के लिए अपने दोस्त को या वेब को देखो ब्राउज़रों, हजारों और हजारों अरबों और अरबों की की जानकारी बाइट्स मिलीसेकंड प्रति स्थानांतरित कर रहे हैं। और यह वास्तव में, वास्तव में भ्रमित करने वाला है। और यह करने के लिए वास्तव में मुश्किल है वास्तव में भेजा गया है पता और क्या नहीं भेजा गया है। और तो टीसीपी / आईपी बस को निर्दिष्ट एक जोड़नेवाला ढांचे जो अपने जाल में ब्राउज़र और अपने सर्वर एक तरह से संवाद कर सकते हैं एक दूसरे के साथ, बस पैकेट हैं कि यह सुनिश्चित कर लें सब यहाँ और कुछ भी नहीं खो आप का अनुरोध किया और कहा कि सभी डेटा वास्तव में ठीक से प्रदर्शित कर रहा है। सिर्फ इतना है कि बहुत पर ठीक हर कोई संक्षिप्त उच्च स्तर को समझते हैं? कूल। तो फिर हम स्थानांतरित करने के लिए जा रहे हैं HTTP के बारे में बात कर में जो सिर्फ हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल है। HTTP, यह सब जो कुछ भी किसी भी पृष्ठ है या फ़ाइल अपनी वेबसाइट पर पहुँचा है सर्वर एक HTTP रिटर्न जवाब में स्थिति कोड अनुरोध करने के लिए सुनिश्चित करते हुए कि या तो, ओह, इस अनुरोध के माध्यम से चला गया। और सब कुछ ठीक से दिखाई। या, ओह, नहीं, 404। कुछ गलत हो गया। ओह, मैं प्रदर्शित नहीं कर सकते। यह सब है कि जो कुछ भी आप का उपयोग करने की कोशिश कर रहे हैं उपयोगकर्ता के रूप में उपयोग करते हैं, का उपयोग करने की कोशिश कर रहा है internet-- पर सिर्फ यकीन कर रही है आप या तो सफलतापूर्वक किया है कि यह था या नहीं जो कुछ भी पहुँचा सफलतापूर्वक जो कुछ भी था पहुँचा। और तो HTTP स्थिति कोड सिर्फ आपको प्रदान करता है पता है कि क्या करने में सक्षम होने के एक साधन या नहीं यह सफल था या नहीं। तो उदाहरण के लिए, एक उदाहरण के अनुरोध। आप इसे यहाँ देख सकते हैं आम तौर पर आम तौर पर चार लाइनों। हम तो बस है, जो एक प्राप्त HTTP 1.1 है, विधि अनुरोध यूआरएल, प्रोटोकॉल संस्करण, क्षेत्र का नाम, और मैदान मूल्य। तो कोई ज़रूरत नहीं करने के लिए पूरी तरह से यहाँ कुछ भी याद। बस की तरह परिचित इन कैसे दिखते के साथ अपने आप को। इस उदाहरण में, विधि अनुरोध यूआरएल अभी जो कुछ भी अनुरोध आप सर्वर को भेज रहे हैं। अरे, की तरह, सर्वर, मैं वास्तव में करना चाहते हैं पहुँच yadda, yadda, yadda, एचटीटीपी पेज। प्रोटोकॉल संस्करण अभी जो कुछ भी है संस्करण अपने मेजबान या अपने सर्वर जानकारी का उपयोग करने के लिए उपयोग कर रहा है। फ़ील्ड नाम की वेबसाइट या है आप का उपयोग करने के लिए कोशिश कर रहे हैं कि यूआरएल, इस मामले में, www.apple.com में। और मैदान मूल्य है सिर्फ आम तौर पर, मान का नाम। और यह संयोजन के किसी भी तरह हो सकता है पत्र या संख्या या जो कुछ भी की। तो एक ठेठ अनुरोध है, इसलिए क्या आपके कंप्यूटर वास्तव में अरे, का कहना है कि सर्वर को भेजता है, तुम, मैं यह प्रदर्शित की जरूरत क्या है उस अनुरोध की तरह है वे वास्तव में प्राप्त करते हैं। क्या का एक उदाहरण प्रतिक्रिया सर्वर आप को वापस भेजना होगा बहुत ज्यादा एक ही बात होगी, शीर्ष पर स्थिति कोड के साथ छोड़कर। तो 200, 2 0 0 हमेशा होता है ठीक है के लिए स्थिति कोड। की तरह, ठीक है, इस अनुरोध के माध्यम से चला गया। आप का उपयोग करने में सक्षम थे सब कुछ सही ढंग। जीवन अच्छा है। जीवन ठीक है। सब कुछ पूरी तरह से अच्छा है। और तो यह सिर्फ आपके ब्राउज़र बताता है और अपने सर्वर, हे, सब कुछ अच्छा है। मैंने सोचा कि मैं सभी की जरूरत जानकारी मिली है। कूल। लेकिन समस्या यह है कभी-कभी समस्या आने आप मुझे लगता है कि पिछले have-- जब मैं डुप्लिकेट के बारे में बात की थी। आप कम अच्छी प्रतिक्रिया है। उदाहरण के लिए, 404 तो नहीं मिला पृष्ठ है। आप कभी कभी एक निषिद्ध उपयोग किया है। आप अन्य विभिन्न है मैं कर रहा हूँ कि स्थिति कोड आप कर रहे हैं यकीन है कि जब आप सब देखा है इंटरनेट पर शोध करने की कोशिश कर रहा है। और अपने ब्राउज़र आप देता है नहीं, नहीं, नहीं पहुँच सकते हैं। और तुम बकवास, ठीक है, की तरह हो। तो बस बहुत ज्यादा नहीं है, कुछ बहुत आम स्थिति कोड। हो सकता है कि खुद को परिचित जो लोगों के साथ होते हैं। सबसे मजेदार है कि एक मैंने सोचा कि मैं कभी सुना है लगता है of-- आप के लिए होता है उन सभी को देखो ऑनलाइन, किसी कारण के लिए वहाँ है वास्तव में एक वास्तविक स्थिति कोड मैं एक चायदानी हूँ 418 बुलाया। मैं googled जहां इस के मूल से था। और जाहिरा तौर पर एक अप्रैल फूल पहले दिन कुछ दशकों के, किसी को यह प्रफुल्लित करने वाला होगा सोचा 418 नाम से एक नई स्थिति कोड बनाने के लिए मैं एक चायदानी हूँ। वैध तरीके से इस बात का नाम कोड मैं एक चायदानी हूँ कहा जाता है। मैं आप के लिए क्या किया पेज भूल जाते हैं वास्तव में इस प्रदर्शन बनाने के लिए जाना। लेकिन जाहिर है, आप वास्तव में कर सकते हैं मैं कर रहा हूँ की एक स्थिति कोड प्राप्त किसी तरह एक चायदानी कुछ कर के माध्यम से। तो वहाँ सैकड़ों और स्थिति कोड के सैकड़ों। उनमें से कुछ अधिक बनाने दूसरों की तुलना में भावना। लेकिन बहुत ज्यादा सिर्फ परिचित सबसे आम लोगों के साथ अपने आप को। अनुरोध इकाई शरीर है जाहिरा तौर पर, लघु और मोटा। तो कभी कभी अधिक कर रहे हैं की तुलना में मैं भयावह त्रुटियों एक चायदानी हूँ। लेकिन इस मुझे लगता है कि एक है आप की तरह हिट करने की उम्मीद है। लेकिन मैं आपको नहीं लगता। अभी स्थिति पर अच्छा हर कोई कोड, अनुरोध, प्रक्रियाओं, बनाने यकीन है कि जानकारी ठीक से वितरित किया जाता है? तो अब हम संक्रमण के लिए जा रहे हैं अनुभाग का एक मजेदार हिस्सा आज के में, जहां हम एचटीएमएल के बारे में थोड़ा बात करते हैं। एचटीएमएल, सब यह हाइपरटेक्स्ट है पाठ के प्रस्तुतिकरण के लिए प्रयुक्त भाषा। यह सिर्फ मानक भाषा है आप सभी वेब बनाने के लिए उपयोग इंटरनेट पर पृष्ठों। इसलिए किसी भी वेब पेज, क्या है अपने पसंदीदा वेब पेज? अपने पसंदीदा वेब पेज क्या है? दर्शकों: [अश्राव्य]। ANDI PENG: क्षमा करें? दर्शकों: पी। ANDI PENG: पी। तो पी एचटीएमएल में लिखा है। और इसलिए हम वास्तव में के माध्यम से जाना होगा और इन चीजों में से कुछ के साथ खेलने के आसपास बाद में। बहुत ज्यादा सब कुछ आप पता करने के लिए सीखने की जरूरत है, HTML लिखने के लिए आपको शायद यह कर सकते हैं इंटरनेट पर सिर्फ गूगल। एचटीएमएल, यह सी की तरह एक कार्यक्रम नहीं है आप चर बनाने के लिए और क्या कर सकते हैं जहां इसके साथ ठंडी चीजें। यह ओह, यह कैसे है, बस के अधिक है मैं बातें मेरी वेबसाइट पर प्रदर्शित करना चाहते हैं। और मैं बस में डाला जा रहा हूँ। और यह है कि यह शैली के लिए जा रहा है। एचटीएमएल तो, एक अर्थ में, यह सिर्फ तरह है एक स्वरूपण या टेम्पलेट भाषा। यह एक बहुत आसान है। यह जानने के लिए एक बहुत आसान है एक बहुत आसान में लिखने के लिए अपने ठेठ प्रोग्रामिंग से बहुत आसान भाषा, बहुत उपयोगकर्ता सुलभ और अनुकूल है। इसलिए हम वास्तव में खेलने के लिए जा रहे हैं चारों ओर, आज हमारे अपने पृष्ठों लिखें। हम शुरू हो लेकिन इससे पहले कि मैं बस चाहता हूँ कुछ संक्षिप्त सर्वोत्तम प्रथाओं पर चलते हैं। एचटीएमएल तरह के एक आसान है, क्योंकि भाषा और भी, क्योंकि आप एक दो चीजें गलत करते हैं, यह कभी कभी नोटिस नहीं हो सकता हम हम कर रहे हैं कि यह सुनिश्चित करना चाहते हैं वास्तव में हमारे सर्वोत्तम प्रथाओं का पालन करने सुनिश्चित करने के लिए चीजें हैं जो कि चारों ओर जा रहा जा सकता है, लेकिन हमेशा सही नहीं जाने के लिए नहीं जा रहे हैं वे कम से कम कर रहे हैं कि सुनिश्चित करें। इसलिए बहुत ज्यादा, यह सुनिश्चित कर लें अपने समापन अपने सभी टैग जब आप HTML में लिख रहे हैं। आप खोलने जा रहे हैं, तो एक शरीर, सुनिश्चित करें कि आप कर रहे हैं सुनिश्चित कहीं न कहीं एक शरीर के साथ इसे बंद। तुम्हें यकीन है कि बनाने के लिए चाहते हैं अपने वेब पेज का उपयोग करके इसकी पुष्टि क्या W3 सत्यापनकर्ता कहा जाता है। तुम्हें पता है, कि ऑनलाइन सिर्फ गूगल कर सकते हैं और यह करने के लिए एक कड़ी है। और फिर आप करना चाहते हैं अलग एचटीएमएल, जो अपने मार्कअप भाषा, अपनी शैली से है सीएसएस भाषा जो है कि डेविड हम भी कर रहे हैं कि प्रदर्शन व्याख्यान के साथ एक सा खेलने के लिए जा रहा है। कूल। तो कभी भी आप चलाना चाहते हैं CS50 उपकरण पर एचटीएमएल, हम एक को चलाने के लिए जा रहे हैं कार्यक्रम, अपाचे बुलाया जो यह सब सिर्फ एक में बनाया गया है वेब सर्वर कि CS50 में हर कोई करने के लिए उपयोग किया है। हम यह सिर्फ हम क्योंकि apache50 फोन CS50 में सब कुछ 50 कॉल की तरह। तो अगर आप CS50 वेब शुरू कि रास्ता सर्वर आपके आदेश पर लिखकर है लाइन डॉट शुरू apache50। और अगर आप किसी पर इसे समाप्त करना चाहते हैं समय, आप apache50 कोई डॉट खत्म करते। और तुम सिर्फ हिट दर्ज करें। और यह जल्द ही यहां के मुखिया किया जाना चाहिए। हाँ। तो मैं बस जल्दी से ऊपर जाने के लिए जा रहा हूँ वास्तव में एक संक्षिप्त वेब पेज का एक उदाहरण। और हम खर्च करने के लिए जा रहे हैं 10 की तरह, 15 मिनट के खेल चारों ओर हमारे अपने वेब पृष्ठों लेखन। ठीक। तो यहाँ IDE-- में हर किसी को लगता है कि देख सकते हैं? ज़रूरी नहीं। इधर, मैं में ज़ूम करेंगे। मैं सिर्फ इस संक्षिप्त टेम्पलेट मिल गया है यहाँ यह वास्तव में कुछ भी नहीं के साथ। हम तो बस जल्दी से लिखने जा रहे हैं एक HTML कार्यक्रम जिसमें हम बस दुनिया को नमस्ते कहना। सी के रूप में, अब हम कर रहे हैं तो एक ही बात बस HTML में ऐसा करने जा रहा। किसी को वास्तव में सिर्फ करना चाहते हैं मुझे पहली बात आप देने की कोशिश एक HTML दस्तावेज़ में डाल दिया जाएगा? हाँ। दर्शकों: कोष्ठक, [सुनाई]। ANDI PENG: हाँ। करने के लिए बहुत ही अनोखी इतना है कि कुछ एचटीएमएल कि हम आम तौर पर पारंपरिक रूप से अन्य आदेश में मुठभेड़ नहीं है लाइन स्तरीय प्रोग्रामिंग भाषाओं हम चाहते हैं कि वास्तव में करने के लिए है फ़ाइल के प्रकार को निर्दिष्ट यह हो रहा है कि हमारे कोड के शीर्ष पर। इसलिए इस instance-- में मुझे लगता है कि कि ठीक है, सही आदेश है? हाँ। शीर्ष पर, आप सिर्फ शामिल करना चाहते हैं कोष्ठक में धमाके DOCTYPE HTML बस अपने कंप्यूटर को बताने के लिए, हे, बाहर देखो। और एचटीएमएल दस्तावेज़ आ रहा है। और फिर हम कैसे करना चाहते हैं हमारे फ़ाइल से शुरू करने के लिए? हम बस नमस्ते कहने के लिए चाहते हैं, तो एक है दुनिया को नमस्ते कहना है कि वेब पेज, कैसे हम इस इमारत के बारे में जाना है? वास्तव में, गूगल के लिए बारी है। और हम वास्तव में यह कर सकते हैं। हाँ। हम वहाँ चलें। एचटीएमएल तो। आप देख सकते हैं, अपने ब्राउज़र वास्तव में है स्वचालित रूप से मेरे लिए इस स्टाइल। सी, जब आप के रूप में एक ही बात एक खुले घुंघराले ब्रेस बनाने के लिए, आपके ब्राउज़र को अपने एक करीबी घुंघराले ब्रेस में कहते हैं। सौभाग्य से, हमारे आईडीई लिए प्यार करता है के रूप में अच्छी तरह से हमारे लिए यह करते हैं। तो अब हम एक तरह से टाइप कर सकते हैं एक टैग की शुरुआत और यह हमेशा के लिए हमें बताने के लिए जा रहा है टैग के अंत टाइप करने के लिए याद है। मैं इस पूंजीकृत होने की जरूरत है। और फिर हम जोड़ना चाहते हैं, हमेशा की तरह, एक सिर में जो शीर्षक है। हम बस हो सकता है कॉल करना चाहते हैं इस हैलो, और फिर शरीर। और वहाँ तुम जाओ। यही कारण है कि वास्तव में हमारे HTML दस्तावेज है। तो तरीका है कि किसी भी HTML दस्तावेज़ हमेशा एक ही बात in-- स्टाइल है int मुख्य शून्य के साथ। तुम हमेशा के लिए चाहते हैं एक खुला और करीब टैग HTML अपने कोड के ऊपर और नीचे। आप के अंदर एक सिर है चाहता हूँ जो अभी जो कुछ भी, शीर्षक होता अपने वेब के टैब प्रदर्शित करने के लिए जा रहा है पेज, और जिसमें से अंदर तो एक शरीर वास्तव में सामग्री को प्रदर्शित करेगा जो कुछ भी आप करना चाहते हैं। तो अगर आप वास्तव में चलाने के लिए चाहते थे कि अगर यह मैं वापस बाहर ज़ूम करने के लिए जा रहा हूँ। आप वास्तव में शुरू कर सकते हैं डॉट शुरू apache50। कूल। और अब आप देख सकते हैं इस लिंक popped है। यह आपकी साइट अब कहना है कि नीचे कुछ लिंक पर उपलब्ध। इसलिए हमारे सभी आईडीई done-- है नहीं आईडीई, हाँ sorry--, किया गया है हमारे आईडीई एक वेब बनाने के लिए है लिंक हमारे वेब पृष्ठों की है, जो सभी पर सर्वर पर पहुँचा जा सकता है। तो चलो यहाँ एक नजर डालते हैं। की, इस पर क्लिक करें hello.html के लिए चलते हैं। और अगर आप एक बहुत ही सरल देखना हैलो दुनिया के लिए वेब पेज। ठीक। हम वास्तव में करने के लिए जा रहे हैं, बस हाँ everyone--, क्या हो रहा है? दर्शकों: मैं एक बुनियादी सवाल है। ANDI PENG: हाँ। दर्शकों: आप कैसे बचा है एक HTML के रूप में अपनी फाइल? ANDI PENG: हाँ। मैं एक नई फ़ाइल बनाने के लिए गए थे तो, मैं न्यू फाइल करते हैं, Untittle, अगर मैं, section.html, बूम, कि मुझे क्या करना है सब है। दर्शकों: [अश्राव्य]? ANDI PENG: नहीं दर्शकों: [अश्राव्य]। ANDI PENG: नहीं दर्शकों: [अश्राव्य]। ANDI PENG: हाँ। पर बहुत ज्यादा, विस्तार अपने आईडीई के अंदर है कि फ़ाइल, कि कि, कंप्यूटर बताता है ब्राउज़र, अरे, देखो बाहर बताता है। इस कोड को होने जा रहा है इस भाषा में लिखा है। उदाहरण के लिए, माइक्रोसॉफ्ट में तो वर्ड, सभी वर्ड दस्तावेजों क्या करना क्या विस्तार के साथ खत्म होता है? डॉक्टर या .docx, है ना? वह सब करने के लिए निर्दिष्ट है अपने ऑपरेटिंग सिस्टम, हे, आप के लिए आ रहा एक शब्द दस्तावेज़ मिल गया है। वर्ड के साथ खुला। पीडीएफ़ साथ वही बात। यह ओह, मैं की जरूरत है, जानता है इस फ़ाइल को खोलने के लिए एडोब रीडर या एडोब एक्रोबेट साथ। और तो एक्सटेंशन संचालित आपके कंप्यूटर में उसी तरह के। आप अपने कोड पेज निर्दिष्ट करते हैं करने के लिए, तो यह जानता है, एचटीएमएल का नाम दिया जाएगा ओह, आप एचटीएमएल कोड मिल गया है। मैं HTML कोड के रूप में व्यवहार करने के लिए जा रहा हूँ। तो यह है कि समझ में सुपर स्मार्ट है। तो हर कोई, चलो 10 मिनट की तरह ले चलो और सिर्फ हमारी खुद की वेबसाइट बनाने के लिए। सुंदर चीजों में जोड़ दें। आप जो चाहते हैं कहने के लिए स्वतंत्र महसूस हो रहा है। मैं सिर्फ इतना है कि यह सुनिश्चित करना चाहते हैं हर किसी के सर्वर सही ढंग से चल रहे हैं हम pset में आप मुक्त करने से पहले। क्योंकि अपने सर्वर यदि pset के लिए नहीं चला है, कि वास्तव में, वास्तव में बुरा हो जाएगा। मैं बस के आसपास फ्लोट करने के लिए जा रहा हूँ और हर किसी पर काम कर रहा है क्या देखते हैं। ये कैसा चल रहा है? दर्शकों: मैं सिर्फ अपने कंप्यूटर पर दिया। ANDI PENG: यह ठीक है। दर्शकों: [अश्राव्य]। ANDI PENG: बस अपने आईडीई। हाँ। दर्शकों: [अश्राव्य]। ANDI PENG: यह ठीक है। दर्शकों: [अश्राव्य]। ANDI PENG: पूरी तरह से ठीक है। हर किसी को पहुँचने है अपने वेब सर्वर ठीक है? Apache50 ठीक चल रहा है? मैं से कुछ में लगता है अन्य वर्गों, हम लोग नहीं के साथ मुद्दों था सर्वर का उपयोग कर रहा है। हाँ। तो तुम सिर्फ apache50 चलाने अंतरिक्ष अंतरिक्ष अवधि शुरू करते हैं। दर्शकों: [अश्राव्य]। ANDI PENG: हाँ। अच्छा? दर्शकों: [अश्राव्य]। ANDI PENG: ठीक है, ओह। इसलिए यदि आप एक जगह है चाहिए रहे हैं। तो apache50-- दर्शकों: मैंने किया था। ANDI PENG: --start अंतरिक्ष। दर्शकों: ओह, अंतरिक्ष डॉट। ANDI PENG: हाँ, अंतरिक्ष डॉट। तुम वहाँ जाओ। तो फिर अगर आपके पास बनाई गई एक HTML पृष्ठ, तो आप सिर्फ सीधे जा सकते हैं यह बताता है कि लिंक करने के लिए। और अगर आप इसे उपयोग करने में सक्षम होना चाहिए। हर कोई कर पाए हैं अपने वेब पृष्ठों ठीक उपयोग? दर्शकों: [अश्राव्य]। ANDI PENG: ओह, यह ठीक है। दर्शकों: [अश्राव्य]। ANDI PENG: हाँ। मैं आप वास्तव में खोल सकते हैं लगता है अपने ब्राउज़र, ब्राउज़र के भीतर यह और न सिर्फ अपने आईडीई ब्राउज़र। हाँ, मैं आप को कॉपी लगता है कि अगर और चिपकाएं। दर्शकों: और फिर हम कैसे इसे बंद करते हैं? [अश्राव्य] ANDI PENG: हाँ, आप ऐसा करेंगे apache50 कोई अवधि के साथ बंद करो। हाँ। दर्शकों: [अश्राव्य]। ANDI PENG: नहीं अवधि के साथ। हाँ। हम वहाँ चलें। हाँ। हम अपने स्वयं के वेब पेज बनाने जा रहे हैं। दर्शकों: ओह, शांत। ANDI PENG: हाँ। दर्शकों: मैं एक सवाल है। तो अपाचे 50-- ANDI PENG: 50, हाँ। दर्शकों: [अश्राव्य]। ANDI PENG: क्या? वह अजीब है। देखो, कि इस मुद्दे की तरह था उस से पहले हो रहा था। ठीक। अनुभाग के बाद मुझे देखें। हम कुछ कर रहे हैं, क्योंकि सर्वर के साथ मुद्दों। और आप बनाना चाहते हैं अपने सर्वर है कि सुनिश्चित करें pset शुरू करने से पहले चल रहा है। आप इसे जरूरत के लिए जा रहे हैं। हाँ। नहीं किया गया है कि किसी और को नहीं है सक्षम उनके सर्वर शुरू करने के लिए पाने के लिए? जोड़ना चाहते हैं जो आप में से उन लोगों के लिए अपने वेब पृष्ठों के लिए अतिरिक्त शैली, हम वास्तव में क्या कर सकते हैं दाऊद के रूप में अच्छी तरह से व्याख्यान में किया था जो एक अतिरिक्त शैली बना है एक डॉट सीएसएस है जो चादर, व्यापक स्टाइल शीट और वास्तव में बस में जोड़ें। तो उदाहरण के लिए, मैं अभी बनाया है बहुत ज्यादा लगभग उसी एक डेविड व्याख्यान में किया था। तुम बहुत ज्यादा सिर्फ शरीर क्या कर सकते हैं। आप टैग क्या कहा जाता है, जिसमें आप जो कुछ भी खंड आईडीई के लिए आवेदन कर सकते हैं तुम्हारे भीतर चाहते हैं अपने HTML पृष्ठ के लिए वास्तविक। तो पेज के शरीर, आप पाठ संरेखित केंद्र कर सकते हैं। और फिर मैं रचनात्मक हूँ अंदर एक टैग बुलाया शीर्ष जिनमें से मैं करने के लिए इन बातों को चाहते हैं एक बड़ा पिक्सेल आकार आवंटित होता है, फ़ॉन्ट के लिए। मैं फ़ॉन्ट वजन बोल्ड होना चाहते हैं। और मैं करने के लिए रंग चाहते हैं सिर्फ मनमाना, नीला हो मैं चयन करने के लिए फैसला किया है कि मूल्यों। मैं बीच नामक एक और टैग बना सकते हैं। फ़ॉन्ट आकार, यह एक छोटा सा बनाते हैं। और फिर मैं एक और टैग बना सकते हैं मैं फ़ॉन्ट आकार चाहते हैं, जहां बुलाया नीचे अभी भी छोटे हो। और इसलिए बहुत ज्यादा यह सिर्फ उदाहरण है स्रोत कोड या स्रोत स्टाइल शीट की यह सिर्फ गूगल के लिए बहुत आसान है कि। यदि आप कहते हैं, ओह, मैं अपने फॉन्ट चाहते हैं italicized और गहरे हरे रंग की जा करने के लिए, आप गूगल शायद कर सकते हैं और फिर यह आपको बता देगा उचित टैग या आईडी बनाने के लिए। और तो तरीका है कि आप वास्तव में होगा एक तरह से एक HTML दस्तावेज़ में इस राशि या यह है कि आप सभी के लिए है का उपयोग यहाँ करने के लिए सिर पर है शैली पत्रक के लिए एक कड़ी जोड़ सकते हैं। तो तुम सिर्फ href बराबरी लिंक कर सकते हैं अपनी शैली पत्रक का भी नाम है। और फिर रिश्ते एक शैली पत्रक है। इसलिए किसी भी HTML दस्तावेज़ के भीतर, लंबे समय के रूप में आप इस डॉट सीएसएस चादर में शामिल हैं, के रूप में आप का उपयोग करने में सक्षम होना चाहिए और वहाँ गुण होते हैं। तो उदाहरण के लिए, यहां मैं सिर्फ है एक और उदाहरण वेब पेज बना। यह CS50 अनुभाग में आपका स्वागत है 2:00 से मेरे साथ 3:30 करने के लिए मंगलवार। और फिर मैं एक सुंदर छवि को जोड़ दिया है कि हम संभावित देखने के लिए सक्षम होना चाहिए। तो तुम यहाँ एक नज़र रखना है, तो आप style.html करने के लिए जाना है, हम बिल्ली के बच्चे के साथ एक वेब पेज बनाया। बिल्ली का बच्चा क्योंकि कमाल कर रहे हैं। तो एक छवि सिर्फ एसआरसी लिंक img है जोड़ने। अगर वहाँ बहुत ज्यादा सुविधा के किसी भी तरह आप जोड़ना चाहते हैं अपने website-- इसलिए हम कहते हैं, तुम एक मेनू जोड़ना चाहते हैं या एक खोज पट्टी या पसंद एक image-- सिर्फ गूगल कि कैसे करना है। और तुम बस उस प्रारूप में खटखटाने। और आप कर सकते हैं बस सुंदर ज्यादा बस में जोड़ें। यह वास्तव में, वास्तव में आसान है। हम अपने ही पैदा कर रहे हैं वेब पृष्ठों को अब ठीक है। यदि आप चाहते हैं-- दर्शकों: [अश्राव्य] ANDI PENG: क्षमा करें? दर्शकों: [अश्राव्य]। ANDI PENG: ओह, div सिर्फ एक प्रभाग है ओह, मुझे लगता है, कि मुझे बता रहा है कहा जाता है एक निश्चित अनुभाग बीच में जो मैं आवेदन कर रहा हूँ अपने सीएसएस टैग, और उसके बाद नीचे के साथ मेरे दूसरे विभाजन। यही कारण है कि यह कह रहा है सब है। रखने के लिए यह अच्छा है क्योंकि आदेश में साफ बातें, इसलिए इस कार्यक्रम को चलाने के लिए बिल्कुल कैसे जानता है। और मैं इस कॉपी पेस्ट कर सकते हैं लगता है के रूप में अच्छी तरह से मेरी वास्तविक ब्राउज़र में। यह अच्छा होना चाहिए। हाँ। वाह। करने के लिए हर कोई चाहता है तो बस एक वेब पेज बनाने का प्रयास करें, हम एक और दो से तीन मिनट ले जाऊँगा। मैं बस सुनिश्चित करना चाहता हूं हर किसी के सर्वर चल रहे हैं और हर कोई एक है कि कैसे करना है का विचार है। आप लोग चाहते हैं आपके कंप्यूटर के लिए बाहर ले। अब काम नहीं कर रहा? दर्शकों: मैं सिर्फ [सुनाई] हूँ। ANDI PENG: हो सकता है के रूप में अच्छी तरह से 50 को अद्यतन करने की कोशिश। हाँ। दर्शकों: [अश्राव्य]। ANDI PENG: हाँ। तो अगर आप एक नया तरीका है कि शुरू आईडीई पर वेब सर्वर बस है apache50 अंतरिक्ष शुरुआत अंतरिक्ष डॉट करते हैं। मैं सिर्फ यह सुनिश्चित करना चाहता था हर किसी के सर्वर ठीक चल रहे हैं। इधर, टर्मिनल पर: दर्शकों? ANDI PENG: हाँ। दर्शकों: [अश्राव्य]। ANDI PENG: अपाचे। असल में, मैं आप कर रहे हैं पहले से ही कुछ चल रहा है। हाँ, तुम वास्तव में कर रहे एक अलग सर्वर चल रहा है। हाँ, तुम अच्छा कर रहे हैं। जब तक कि काम कर रहा है, जैसा कि आप ठीक कर रहे हैं। दर्शकों: ठीक है। ANDI PENG: दो नहीं है तरीके सर्वर चलाने के लिए। तो जब तक तरीकों में से एक के रूप में काम कर रहा है, यह सब ठीक है। हम एक और मिनट लगेगा बस की तरह खत्म करने के लिए जो कुछ भी अंतिम रूप वेब पेज तुम लोगों को बनाना चाहते थे। हर किसी को जिस तरह से काम कर रहा है? हर किसी का सर्वर हैं तुम्हारा के लिए इसके अलावा चल रहा है? हम जानते हैं कि पता लगा लेंगे। और एचटीएमएल के काफी सरल। इसलिए मुझे लगता है कि हम सभी अच्छा कर रहे हैं लगता है। हाँ। मेरा वापस आना होगा। दर्शकों: [अश्राव्य]। ANDI PENG: ठीक है। दर्शकों: तो यह सिर्फ है लोड करने के लिए शुरू कर दिया। ANDI PENG: कोई चिंता नहीं। एचटीएमएल तो, स्रोत कोड है कि वहाँ अनुभाग के बाद ऑनलाइन हो जाएगा। इसके अलावा, डेविड एक पूरी है गुच्छा ऑनलाइन के रूप में अच्छी तरह से। इस पर बस की तरह नज़र HTML पृष्ठों लिखा जाता है कैसे देखते हैं। यह काफी आसान है। कुछ भी आप सुंदर है, पता नहीं है ज्यादा सिर्फ गूगल और आप अच्छा कर रहे हैं। मैं सिर्फ इतना है कि यह सुनिश्चित करना चाहते हैं अपने सर्वर चल रहे हैं। दर्शकों: यह अक्सर यह क्या करता है? ANDI PENG: यह मेरे लिए कभी नहीं हुआ है। मैं यह भी हाइबरनेट सकता पता नहीं था। दर्शकों: [अश्राव्य]। ANDI PENG: मुझे लगता है कि everyone-- मेरा पहले सुप्तावस्था कभी नहीं किया है। और मुझे पता नहीं क्यों। यह अजीब है। दर्शकों: [अश्राव्य]। ANDI PENG: तुम्हारा सुप्तावस्था में है? दर्शकों: [अश्राव्य]। ANDI PENG: हाँ। दर्शकों: यह ठीक है। एक बार तो यह खुला है। ANDI PENG: ठीक है। हम कुछ सर्वर के साथ सौदा होगा अनुभाग के बाद मुद्दों। आप ठीक होना चाहिए। , आप बनाना चाहते यद्यपि तुम्हारे जाने से पहले उन्हें हल हो। क्योंकि अगर अपने सर्वर नहीं चल रहा है, तो आप कर रहे हैं ऐसा करने में सक्षम नहीं किया जा रहा pset, pset के किसी भी हिस्से की तरह। तो आपको यह सुनिश्चित करना चाहते हैं कि कि काम कर रहा है। कूल। ठीक है। अलविदा बिल्ली के बच्चे कहते हैं। मैं देख रहा एक लंबे समय बिताया कि बिल्ली के बच्चे के चित्र पर रख दिया। तो, वैसे भी। दर्शकों: [अश्राव्य]। ANDI PENG: क्षमा करें? दर्शकों: [अश्राव्य]। ANDI PENG: मैं इसे वेबसाइट पर लगता है। कल्पना की तरह? दर्शकों: [अश्राव्य]। मैं कल्पना सिर्फ लगता है सप्ताह के सात में ऑनलाइन। मैं भी यह pset6 कहा जाता है हम सप्ताह में सात पर कर रहे हैं, हालांकि जो एक सा कंप्यूटिंग है। दर्शकों: लेकिन मेरा मतलब है अगर आप आप यदि at-- देखना चाहता हूँ हमारे संस्करण को खींचने के लिए चाहते हैं हमारे तोड़ने से वेब साइट? तो जैसे server.c pset, है ना? आप इस पर देखना चाहते हैं, जैसे कि यह बाहर की जाँच कैसे? ANDI PENG: ओह, वास्तव में ऐसा pset, सब हम कर रहे हैं यहाँ, यहाँ implementing-- है मैं इस संक्षिप्त पर जाना होगा। बस हो गया है कि हर किसी के लिए तो अनुभाग के लिए, तुम लोग भाग्य में हैं। बहुत कम सामग्री है वास्तव में आज कवर करने के लिए। मैं सिर्फ अगले खर्च करने के लिए जा रहा हूँ Pset मदद के ऊपर जा रहा 20 मिनट। कुछ उपयोगी है क्योंकि वहाँ अपने जीवन में मदद मिलेगी कि कार्य करता है। और उम्मीद है, हम बाहर हो जाएगा के यहां 20 मिनट की तरह। ठीक। तो pset7 गलत है। हम इस सप्ताह पर कर रहे हैं, भले ही सात, यह वास्तव में pset6 है। मुझे लगता है कि बदल देंगे। हम सब pset6 में क्या कर रहे हैं एक वेब सर्वर पैदा कर रही है। यही कारण है कि सुपर डरावना लगता है। और विशेष रूप से उन लोगों के लिए आप में से जो पहले से ही , वितरण कोड को देखा कोड का एक बहुत कुछ है, कोड का एक बहुत कुछ है। लेकिन पूरी तरह से ठीक है। जुओं से भरा हुआ किरकिरा क्योंकि वास्तव में बनाने का हिस्सा सर्वर हमारे द्वारा किया जाता है। तुम सब वास्तव में पूछा रहे हैं इस pset में क्या करना बस कुछ स्ट्रिंग हेरफेर करने के लिए किया जाता है फाइल में मैं / हे। यह वास्तव में है काफी सरल की तरह। तो अगर आप पहले that-- डाउनलोड जब कौन यहां वास्तव में पहले से ही डाउनलोड किया गया है pset और देख लिया? ठीक है। हाँ। कोड के 500 लाइनों की तरह नहीं है आप की तरह हो जा रहे हैं कि, क्या हो रहा है? और कहा कि पूरी तरह से ठीक है। आप वॉक-थ्रू घड़ी सुनिश्चित करें। डेविड और-- क्योंकि मैं नहीं जानता। मैं यह Zamyla की, यह एक नहीं लगता है। लेकिन मैं कुछ अन्य लगता है चलना-थ्रू काफी हैं के मामले में सहायक सिर्फ दे तुम्हें पता क्या अपने कोड के अंदर चल रहा है। और यह पूरी तरह से ठीक है। क्योंकि आप कर रहे हैं कि चार कार्यों को लागू करने के लिए कहा वास्तव में है शून्य वास्तविक सर्वर के साथ क्या करना है। वे सब करना है तो बस है अलग तार पार्स, तार के माध्यम से खोज, यकीन बातें कर रहे हैं बनाने के लिए क्या वे चाहिए रहे हैं क्या कर रही हो। उस प्रभाव के लिए तो, देखते हैं कुछ बहुत, बहुत उपयोगी कार्यों, विशेष रूप से स्ट्रिंग के लिए हेरफेर, कि हम सभी को चाहिए मैं मैं सोचा कि खत्म हो जाना आप लोगों के लिए बहुत उपयोगी हो pset प्रयास करने से पहले जानने के लिए। और वे सब समाहित कर रहे हैं अपने स्ट्रिंग पुस्तकालय के भीतर। शायद अधिक उपयोगी नहीं है मैं यहाँ शामिल नहीं किया है, काम करता है, मैं या तो उन्हें इस्तेमाल कभी नहीं, क्योंकि या शायद मैं सिर्फ वे मौजूद नहीं पता था। Student.h के माध्यम से नज़र करने के लिए स्वतंत्र महसूस। एक बहुत कुछ होने जा रहा है क्योंकि कार्यों की बहुत उपयोगी होते हैं। इसलिए छह मैं में सबसे अधिक उपयोग कि मेरी मैं यह पिछले सप्ताह यह कर रहा था जब pset strtok, strchr, strrcher थे, strstr, strcasecmp, और strcpy। और तो पिछले दो लग सकता है आप में से ज्यादातर के लिए बहुत परिचित। एसटीआर मामले में यह सब होता तुलना है, की तुलना तार समानता के लिए उन्हें जांच करने के लिए, मामला भी शामिल है। और strcpy सिर्फ प्रतियां एक बफर में एक स्ट्रिंग। और इसलिए उन दो बहुत ही लग जाना चाहिए इस बिंदु पर आप लोगों को परिचित। हम उन्हें एक बहुत उपयोग किया है, क्योंकि विशेष रूप से पिछले psets के लिए। शायद लेकिन पहले चार आप अब तक नहीं देखा है। लेकिन मैं सिर्फ उन के माध्यम से चलने के लिए जा रहा हूँ। वे अपने जीवन को बनाने के लिए जा रहे हैं, क्योंकि वास्तव में, आसान for-- नहीं वास्तव में आसान, इस आगामी pset के लिए लेकिन बहुत आसान है। ठीक। * Strtok तो चार, इस समारोह में है इस समारोह के लिए परिभाषा निहित स्ट्रिंग, ज पुस्तकालय के भीतर। आप चार की एक इनपुट * दिया जाता है सिर्फ एक स्ट्रिंग है जो स्ट्रिंग, या एक निरंतर चार * deliminator, कम करने के लिए delim, यह सब बड़ा टूट रहा है कर रहा है हम क्या कॉल की एक श्रृंखला में स्ट्रिंग एक निश्चित मूल्य से अलग कर दिया टोकन। तो एक अर्थ में, अगर मैं थे देने के लिए आप इस एक स्ट्रिंग है, section.7.php। मैं पास के लिए गए थे तो यह है कि हो सकता है इस रूप में मेरे एसटीआर में, मेरे चार * एसटीआर, मेरी deliminator डॉट था, यह सब क्या होगा स्ट्रिंग के माध्यम से खोज है। और यह पहली बार एक डॉट को देखता है, यह सिर्फ सूचक लौटेंगे पाया पिछले टोकन के लिए इस से पहले स्ट्रिंग में। तो यह ठीक है यहाँ जाना होगा। और यह सिर्फ मुझे 7.php देना होगा। और मुझे कहते थे कि अगर एक और अधिक समय से काम, यह मेरे बस .php देना होगा। और इतना सब इस समारोह में क्या कर रही है बड़ा स्ट्रिंग को तोड़ रही है आधार छोटे तार में आप के लिए क्या देख रहे हैं पर। और तो उदाहरण के लिए, में अपने देखो समारोह आप को देखने के लिए चाहते हैं, तो क्या कुछ पात्रों के बारे में आ या डॉट्स होने या एक्सटेंशन होता है, इस समारोह में काफी उपयोगी होगा। हाँ। कोई चिंता नहीं। यह सब be-- हाँ, क्या हो जाएगा? दर्शकों: पहली पंक्ति में तो हम इस उदाहरण का उपयोग कर रहे थे, हम उस में क्या डालने होगा? ANDI PENG: हाँ। तुम सिर्फ एक फोन होगा strtok स्ट्रिंग अल्पविराम delim। और स्ट्रिंग section.7.php के बराबर है। और फिर आप delim रहे सिर्फ डॉट के बराबर हो सकता है। दर्शकों: ठीक है। ANDI PENG: हाँ। ऐसे ही। इन सभी कार्यों के लिए काफी हैं हम उन के माध्यम से समान जाना। वे बस थोड़ा अलग बातें करते हैं। लेकिन वे सभी के लिए जा रहे हैं अपने जीवन बहुत आसान बनाते हैं। दूसरा समारोह, यह एक तरह सुपर महत्वपूर्ण सुपर सुपर, ऊपर पकड़ the-- है। उफ़। पहले के लिए Strchr खोजें occurrence-- वास्तव में, हाँ। Strchr समारोह है कि मैं निश्चित रूप से बस पर चला गया। तो मैंने कहा क्या उपेक्षा पहले समारोह के लिए। यह वास्तव में strchr कहा जाता है। तो यहाँ क्या हुआ होता तो है आप एक चार सी में एक स्ट्रिंग दिए गए थे, यह सिर्फ देना होगा आपको लगता है कि जो कुछ भी था। हाँ। तो एसटीआर, के रूप में लगता है, जो चार के रूप में एक स्ट्रिंग, और Chr है। तो तुम क्या करने की कोशिश कर रहे सभी खोज है के लिए एक चार एक स्ट्रिंग के भीतर है जहां। और तो यह पहली बार के लिए खोज चरित्र की घटना स्ट्रिंग एसटीआर में सी। दर्शकों: [अश्राव्य]। ANDI PENG: हाँ। और फिर यह भी नहीं मिला है, तो यह है, यह रिक्त वापस करने के लिए जा रहा है। इसलिए हो रहा है कि कुछ बहुत होने के लिए pset करने में आप लोगों के लिए उपयोगी कहते हैं, तो आप एक के लिए देख रहे थे शब्द के लिए एक .docx तरह विस्तार दस्तावेज़ या एक पीडीएफ दस्तावेज़ के लिए एक पीडीएफ, आप की तरह देखने के लिए इसका इस्तेमाल कर सकते हैं के लिए जो भी बाद में है हर बार जब आप सही, एक डॉट देखते हैं? और तो बहुत ज्यादा है, अगर आप समारोह के माध्यम से चलाने, यह शून्य देता है, तो तो आप को पता है कि यह है कि इसका मतलब यह है, जो डॉट इसे नहीं मिला स्पष्ट रूप से एक वैध फ़ाइल विस्तार नहीं है। या फिर यह रिटर्न यदि कुछ है, तो आप जानते हैं यह जो कुछ भी की वापसी करने जा रहा है वास्तव में विस्तार के बाद। था, जो आप उन लोगों के तो देखने के माध्यम से तलाश शुरू कर दी और इस समारोह का, पार्स जा सुपर उपयोगी हो सकता है। इसलिए हम वास्तव में जा रहे हैं इस का उपयोग कर प्रदर्शित करने के लिए। क्यों तुम लोगों को लिखने की कोशिश नहीं करते एक समारोह बूल की सजा चार * है कि एक है, तो सिर्फ सच रिटर्न सजा और अन्यथा गलत। तो आप जा रहे हैं, संकेत शायद strchr का उपयोग करने के लिए। या आप बस में खोज एक खास चरित्र के लिए स्ट्रिंग। और हां एक वाक्य में, क्या एक वाक्य को अलग करती है एक गैर-वाक्य से, क्या विशिष्ट चरित्र? दर्शकों: एक अंतरिक्ष। ANDI PENG: एक जगह है, है ना? और तो क्या हम शायद करने के लिए जा रहा है के यहां इस समारोह के भीतर करना चाहते हैं? दर्शकों: [अश्राव्य]। ANDI PENG: हम strchr करना चाहते करने जा रहे हैं अंतरिक्ष की उपस्थिति के लिए स्ट्रिंग। यह तो कुछ है, रिटर्न क्योंकि अगर हम इस एक वाक्य होना चाहिए कि पता है। यही कारण है कि हम चाहिए कि इसका मतलब इस स्ट्रिंग में एक जगह है। कोई जगह नहीं है, तो हम जानते हैं कि, अरे, यह एक स्ट्रिंग नहीं लगता है। यह शायद सिर्फ एक बहुत लंबे शब्द है। तो मैं तुम लोगों के एक जोड़े को दे दूँगा मिनट के इस समारोह में लिखने के लिए। हाँ। दर्शकों: आप मिलता है उपयोगकर्ता से इस स्ट्रिंग? ANDI PENG: हाँ। तो यह सिर्फ एक समारोह है। तो अपने मुख्य समारोह के अंदर की कल्पना आप पहले से ही यहाँ चलते हैं have--। ठीक। इसलिए मैं इस कार्यक्रम में जहां लिखा है मैं अपने मुख्य समारोह जहां है मैं सिर्फ दो तार बना लिया है। पहले एक, हाय मेरा नाम है स्पष्ट रूप से Andi--, एक वाक्य है। मेरा दूसरा एक बस है एंडी, स्पष्ट रूप से वाक्य नहीं। और इसलिए मैं उन दोनों के चल रहा हूँ इस समारोह के माध्यम से तार। मैं तुम लोगों को ठंड वाक्य लिखना चाहते हैं। और मैं उन मूल्यों को संग्रहीत कर रहा हूँ और फिर बस उन्हें बाहर मुद्रण। तो उपयोगकर्ता लगता है कि एक स्ट्रिंग में पारित करने के लिए जा रहा है। और फिर आप अनिवार्य रूप से करने के लिए जा रहे हैं यह एक वाक्य है या नहीं यह पता लगाने और उसी के अनुसार सही है या गलत वापसी। आप लोग एक देना चाहते हैं अंगूठे ऊपर या सिर, सिर को मंजूरी, है किसी को भी शुरू करने के लिए तैयार है यह, कि अच्छा होगा। हो सकता है कि जैसे 30 से अधिक सेकंड? ठीक है। तुम कोशिश कर सकते हैं, तो चलो देखते हैं इस समारोह में लेखन। मैं बस करने के लिए जा रहा हूँ coding-- तो छद्म एक तरह से अब इस अधिकार के माध्यम से चलते हैं। बहुत ज्यादा, हम जानते हैं हम उपयोग करने की आवश्यकता है कि समारोह। हम पर है कि समारोह में कॉल करने के लिए जा रहे हैं हमारे स्ट्रिंग और एक अंतरिक्ष के लिए खोज। यह कुछ देता है, तो हम चाहिए जाहिर है, इस एक वाक्य है कि पता है। क्योंकि रिक्त स्थान नहीं है। तो फिर हम सच वापसी करने जा रहे हैं। वरना, हम झूठे वापस करने के लिए जा रहे हैं। किसी को देने के लिए चाहता है मुझे कोड की पहली पंक्ति हम वास्तव में जा रहे हैं कि इस लिखने के लिए उपयोग करने के लिए? यह वास्तव में बहुत मुश्किल है कोड की लाइन के रूप में अच्छी तरह से। हाँ। दर्शकों: यदि strtok s-- ANDI PENG: बस strchr। दर्शकों: [आवाज interposing] अंतरिक्ष अशक्त के बराबर नहीं है। ANDI PENG: कूल। बिल्कुल सही। सब जानते हैं कि पहली पंक्ति समझ में आया? हम strstr फोन करने के लिए जा रहे हैं खोज करता है कि एक समारोह है जो स्ट्रिंग अंतरिक्ष की चार के लिए। यह पाता है, तो यह जा रहा है वह यह है कि जहां के लिए एक सूचक लौट आते हैं। , और अगर यह नहीं मिल रहा है यह रिक्त वापस करने के लिए जा रहा है। यह अन्य की तुलना में कुछ भी देता तो अगर रिक्त है, तो हम इसे एक स्थान पाया है पता है। समझ आया? कूल। ठीक है। जैसा कि हम जानते हैं तो यह पाया गया है एक अंतरिक्ष, हम क्या करना चाहते हैं? दर्शकों: सच लौटें। ANDI PENG: हाँ। सच लौटें। और फिर, किसी को चाहते हैं मेरे लिए समारोह खत्म? हाँ। वरना, बस ऐसे ही। और इस संकलन का प्रयास करें। हाँ। तुम लोगों से देख सकते हैं आउटपुट, सी में Booleans याद हमेशा द्विआधारी में व्यक्त कर रहे हैं। एक सच है। 0 झूठी है। हम इस चलाने के लिए गए थे स्ट्रिंग एक है, पर जो कार्य हाय, मेरा नाम Andi-- है परिणाम स्पष्ट रूप से, एक sentence-- जो सच है 1 करने के लिए बाहर मुद्रित। बस है जो एक दूसरे के, एक शब्द है, बाहर मुद्रित परिणाम 0, जो गलत है। कैसे पर की हर कोई स्पष्ट तरह इस समारोह में लिखा गया था? हाँ। दर्शकों: हम भी की बजाय, कर सकते हैं नहीं, 0 बराबर के समान नहीं है, इतना है कि यह करने के लिए बराबर है? ANDI PENG: नहीं Strchr एक समारोह है। मैं यह करने के लिए वापस करने के लिए जा रहा हूँ। इसलिए वापसी प्रकार क्या है हमारे strchr समारोह की? दर्शकों: ठीक है, ओह। या अशक्त। ANDI PENG: हाँ। ऐसा लगता है कि मुझसे कहता है कि एक चार * जो कुछ भी इस समारोह में, वापस करने के लिए जा रहा है यह एक सूचक होने जा रहा है। या तो सूचक होने जा रहा है अगर यह पाया गया है, जहां की ओर इशारा करते, या इसे वापस करने के लिए जा रहा है एक सूचक नल करने के लिए। या तो परिस्थिति में, यह हो रहा है कुछ करने के लिए एक सूचक लौटने के लिए। और तो आप के लिए समानता के लिए गए थे इस, 0, बराबर आप एक संकलन त्रुटि पाने के लिए जा रहे हैं। यह एक सूचक वापस करने के लिए जा रहा है। और तुम करने की कोशिश करने के लिए जा रहे हैं एक पूर्णांक के लिए एक सूचक की तुलना करें। और कंप्यूटर नहीं है कि पसंद करने के लिए जा रहा है। हां, ठीक यही। कूल। हर कोई अच्छा है? और दूसरी बात, हम जाने के लिए जा रहे हैं एक समारोह में कहा जाता strstr पर। इन यदि कोई चिंता नहीं कार्यों आप भ्रमित कर रहे हैं। उन्होंने मुझे भ्रमित कर रहे हैं। जैसे, आप लोगों को देखा जा सकता था, वे सब बहुत ज्यादा एक ही ध्वनि। बस जब भी आप भ्रमित कर रहे हैं, स्ट्रिंग पुस्तकालय तक खींच। और तुम लोग तरह कर सकते हैं जो किसी के माध्यम से जो। तो strstr, करता है कि सभी खोजों है एक दूसरे को पूरी स्ट्रिंग के लिए एक स्ट्रिंग। तो जहां strchr सिर्फ खोजें एक ही चरित्र के लिए, एक पूरे स्ट्रिंग के लिए strstr खोज करता है। इसलिए मैं देखना चाहता था, मैं नहीं पता है, हाय, मेरा नाम एंडी है। और मेरे सबसे अच्छे दोस्त का नाम भी Andi है। मैं इस में देखने के लिए करना चाहता था एंडी के पूरे शब्द के लिए वाक्य, मेरी सुई गया होता जो कुछ भी आप के लिए देख रहे हैं। और अपने टेबल जो कुछ भी है आप में इसके लिए देख रहे हैं। तो अगर आप एक के लिए देख रहे हैं एक वाक्य के भीतर विशिष्ट शब्द है, शब्द है कि अपने सुई होने जा रहा है। और फिर वाक्य में ही अपनी सूखी घास का ढेर होने जा रहा है। और तो यह सिर्फ खोज पहली घटना स्ट्रिंग सुई की स्ट्रिंग टेबल में। यह सूचक रिटर्न पहली घटना के लिए। इस मामले में याद के अलावा, यह है पूरे स्ट्रिंग की पहली घटना आप खोज कर रहे हैं कि के लिए नहीं है, बस एक चरित्र। और तो यह लगभग है समारोह के रूप में एक ही बात हम सिर्फ बस के साथ किया था, थोड़ा और अधिक विशिष्टता। आप के लिए खोज रहे हैं, क्योंकि सिर्फ एक चरित्र की तुलना में अधिक है। और उपयोग सटीक एक ही है हम सिर्फ था कि एक के रूप में। इस के साथ ठीक सब लोग? ठीक। हम जाने के लिए जा रहे हैं कि पिछले एक खत्म नहीं हुआ है, जो strrchr है strstr के साथ या strchr साथ उलझन में है। strrchr वहाँ में एक अतिरिक्त r गया है। आप टाइप कर रहे हों, तो सावधान रहें। तुम अपने आप सहित मिल सकता है एक अनुसंधान सहित एक अतिरिक्त आर या नहीं, और फिर अपने समारोह काम करने के लिए नहीं जा रहा हो गया है। और अगर आप उलझन में होने जा रहे हैं। आप वर्तनी रहे हैं कि सावधान रहें इन सभी कार्यों को सही। तो strrchr सटीक है strchr के रूप में एक ही बात यह पहली बार नहीं की खोज करता है सिवाय एक विशिष्ट चरित्र की घटना, बल्कि पिछले घटना। और हां, इस अर्थ में कि, यह लगभग सटीक ही है। लेकिन बजाय बढ़ने की एक स्ट्रिंग में आगे, आप चलती हो जा रहे हैं पीछे की ओर एक स्ट्रिंग में। सटीक एक ही बात है, तो आप कर रहे हैं बस एक अलग आदेश में खोज। और इसलिए यह सुपर हो सकता है आपके देखने के लिए अति उपयोगी समारोह में, पहला अपने pset पर कार्य करते हैं। हम एक लिखने की जरूरत है कि ढोंग करते हैं शून्य विस्तार के समारोह में जो हम एक निरंतर चार * फ़ाइल नाम से गुजरती हैं, सिर्फ एक स्ट्रिंग, एक फ़ाइल नाम, कि उस नाम और प्रिंट में लेता है कि फाइल का एक्सटेंशन बाहर। मैं करने के लिए थे, उदाहरण के लिए, यदि ऐसा है तो pset7.zip की स्ट्रिंग में पारित, यह सिर्फ बाहर मुद्रित करने के लिए जा रहा है ज़िप है जो विस्तार,। और इस के लिए काम करेंगे विस्तार के किसी भी प्रकार, एक पीडीएफ के लिए वर्ड या पीडीएफ के लिए .docx फाइल या एक HTML फ़ाइल के लिए .html। बहुत ज्यादा, एक लिखने ऐसा कर सकते हैं कि समारोह। मैं वास्तव में करने के लिए जा रहा हूँ आईडीई पर स्विच। यह वहाँ load-- नहीं है हम चले। इसलिए मैं यहाँ किया गया है सब है एक चार * पहली बार एक स्ट्रिंग बनाया है, pset7.zip बुलाया। मैं ज़ूम करने के लिए जा रहा हूँ। मैं एक दूसरी स्ट्रिंग बना लिया है finalpaper.docx बुलाया। और मुझे एक समारोह में लिख है कि जब कहा जाता बस से बाहर मुद्रित करने के लिए जा रहा है फ़ाइल नाम एक्सटेंशन। हो सकता है कि लगता है कि करने के लिए एक दो मिनट के लिए ले आप ऐसा करने जा रहे हैं के बारे में कैसे। थोड़ा और अधिक चुनौतीपूर्ण पिछले एक से, लेकिन उपयोग लगभग है ठीक वैसा। हाँ। तो एक समारोह में कहा जाता विस्तार लिखने कि, मैं एक फ़ाइल की आप का नाम देते हैं, मैं दे रहे थे कि अगर तुम चाहो तो मैं pset7.zip-- तुम सिर्फ ज़िप प्रिंट आउट करना चाहते हैं। मैं दे, तो आप finalpaper.docx पसंद सिर्फ .docx बाहर प्रिंट, जो कुछ भी फ़ाइल का सिर्फ विस्तार। यह वास्तव में केवल कोड की दो लाइनों लेता है। तो अगर आप देखने की कोशिश यह उस में क्या हो सकता है कर सकते हैं। दरअसल, यह केवल कोड की एक पंक्ति लेता है। लेकिन दो लाइनों शायद अधिक मानक है। क्या समारोह हम शायद रहे हैं फोन करने के लिए चाहते करने जा रहा? दर्शकों: strrchr। ANDI PENG: strrchr, सही है। हम देख रहे हैं क्योंकि दाएं से बाएं से। मैं तुम लोगों को नहीं दिया इस तरह एक उदाहरण है, लेकिन मुझे लगता है जैसे आप एक उदाहरण दिया था कि अगर www.apple.com और मैं बस चाहता था कॉम, यह कहाँ का एक उदाहरण होगा आप पिछले उदाहरण कॉल करना चाहते हैं अवधि की और सबसे पहले, सही नहीं है? आप कॉल strchr थे, यह आप apple.com दिया गया होता। आप strrchr कहा जाता है, तो यह आप .com दिया होता। और जिस पर सावधान रहना होगा मेरे उदाहरण में ways--, आप शायद हो सकता था सकता है सिर्फ strchr का उपयोग करते हुए यह लिखा है, के बाद से केवल एक डॉट नहीं है। लेकिन अन्य मामलों में, कि मामला नहीं हो सकता। और इसलिए हमेशा डिजाइन करने की कोशिश हाँ अपने कोड में अच्छी तरह से है, इसलिए that--? दर्शकों: में तो उदाहरण आप सिर्फ इतना कहा, आप strrchr है जब यह होगा आप .com या बस आने दे? ANDI PENG: यह आप .com देना होगा। दर्शकों: ठीक है। ANDI PENG: हाँ। ऐसा लगता है कि यह पाया, जहां के लिए कहते हैं। हाँ। 30 सेकंड हो सकता है? हाँ। हर कोई अच्छा या शायद थोड़ा और अधिक समय? हाथों को दिखाएँ? सिर के शो? कूल। किसी ने मुझे पहली देना चाहता हूँ इस कार्यक्रम के लिए कोड की लाइन? दर्शकों: [अश्राव्य]। ANDI PENG: तो सब से पहले, शायद यह टूट। तो strrchr की वापसी प्रकार क्या है? चलिये वापस चलते हैं। strrchr वापसी प्रकार क्या है? दर्शकों: चार * ANDI PENG: यह एक चार *, है ना? जो तुम शायद जा रहे हैं कि इसका मतलब है तरह करने के लिए एक और चार * बनाने के लिए चाहते करने के लिए दुकान की यह है कि जब भी सही करने के लिए लौटने? आप कहते हैं क्योंकि समारोह strrchr, यह आप के लिए एक संकेत देने के लिए जा रहा है जहाँ भी यह है कि पिछले अवधि पाया, है ना? लेकिन अगर आप चाहते करने के लिए जा रहे हैं ठीक है, कि कहीं दुकान? और इसलिए हम कैसे कोड क्या हमारे कार्यक्रम में यह क्या है? दर्शकों: आप बनाना चार * [सुनाई]। ANDI PENG: हाँ। दर्शकों: [अश्राव्य]। ANDI PENG: strrchr। हाँ। ओह, वहाँ एक अनुसंधान याद किया। दर्शकों: फ़ाइल नाम [सुनाई]। यह क्या है? ओह, यह सिर्फ एस। ANDI PENG: ओह, यह सिर्फ एस। हाँ, माफ करना। मेरा बुरा। उदाहरण से मेल नहीं खाती। दर्शकों: तब और डॉट। ANDI PENG: हाँ। जब तुम लोगों को सावधान रहें यहां are--, मुझ में ज़ूम। हम वहाँ चलें। जब तुम लोगों को सावधान रहें , खासकर जब टाइप कर रहे हैं आप सिर्फ एक चार कर रहे हैं। यह गलती सिर्फ करने के लिए वास्तव में आसान है बल्कि एक से डबल कोट करते हैं। वह नही चलेगा। आपका संकलक शिकायत करने के लिए जा रहा है। और अपने कार्य है बस चलाने के लिए नहीं जा रहा है। और इसलिए सावधान रहना है जब आप बातें कर रहे हैं वर्ण के साथ यह एक उद्धरण है कि। और इसलिए की इस पंक्ति करता है कोड हर किसी के लिए समझ बनाने के लिए? हम एक चार * सूचक बना रहे हैं। Strrchr रिटर्न क्योंकि प्रकार सूचक के बारे में कुछ। और इसलिए हम strchr फोन करने के लिए जा रहे हैं पर है, जो स्ट्रिंग, फ़ाइल है हम में से गुजर रहे हैं, नाम है। और हम पिछले के लिए देख रहे हैं है, जो एक अवधि के कहने सिर्फ एकल बोली ही बोली डॉट। हाँ। दर्शकों: करते हैं हम दोहरे उद्धरण चिह्नों का उपयोग और हम एक उद्धरण का उपयोग करते हो? ANDI PENG: हाँ। तो डबल उद्धरण हैं हमेशा जब आप का इस्तेमाल किया सिर्फ एक से अधिक की एक स्ट्रिंग है। आप strstr कर रहे हैं तो, जो एक है कि आप स्ट्रिंग के लिए आप एक स्ट्रिंग खोज डबल उद्धरण में यह पारित होगा। लेकिन किसी भी समय यह सिर्फ है एक ही चरित्र, आप एकल उद्धरण करना चाहते हैं। यह बात ध्यान में रखने के लिए एक अच्छी बात है। तो अब हम हमारी है सूचक है, हम इसके साथ क्या करते हो? मैं तुम लोगों से पूछ रहा हूँ ठीक है, यह बाहर मुद्रण? तो [सुनाई], आप करना चाहते हैं मुझे कोड की लाइन दे? दर्शकों: printf-- ANDI PENG: हाँ। दर्शकों: --you एक जगह धारक की जरूरत है। ANDI PENG: हाँ। दर्शकों: जगह धारक प्रिंट। मैं क्या जगह पता नहीं है धारक यह इंगित लेकिन है। ठीक। चलो अब तो के लिए कि छोड़ दें। दर्शकों: और फिर comma-- ANDI PENG: सूचक, है ना? दर्शकों: सूचक, हाँ। ANDI PENG: तो तरह की एक चाल सवाल, संकेत और तार के साथ क्या करना है कि हम किस तरह के बारे में पहले ही बात की है। जगह धारक की किस तरह हम करते हैं एक चार * के लिए एक सूचक के लिए की जरूरत है? दर्शकों: [अश्राव्य]। ANDI PENG: हाँ। यह तुम लोगों को लगता है कि यह ज्यादा आसान है। दर्शकों: स्ट्रिंग? ANDI PENG: यह वास्तव में, सिर्फ एक स्ट्रिंग है। तार क्योंकि याद है वास्तव में मौजूद नहीं है। एक चार * सटीक है स्ट्रिंग के रूप में एक ही बात है। और तो वास्तव में यह क्या है सभी के साथ इस्तेमाल किया गया है चाहिए। ठीक। हम इस चलाने की कोशिश कर सकते हैं, तो चलो देखते हैं। के एक बनाने विस्तार करते हैं। कूल। मैं में पारित कैसे तुम लोगों को देखने psset7.zip और finalpaper.docx, और यह सिर्फ बाहर प्रिंट .zip और .docx? सही बात? ठीक है तो मैं अपने रूप में लगता है आप कर रहे हैं अपने pset में समारोह यदि पूछा जाना चाहिए जा स्ट्रिंग, एक निश्चित अंत नहीं होता है आप एक निश्चित त्रुटि कोड देना है। और इसलिए यह बहुत भयानक हो जाएगा। आप समझ सकते हैं क्योंकि विस्तार क्या है, तब आप उस तुलना कर सकते हैं यह मैच यदि विस्तार देखने के लिए एक निश्चित विस्तार के साथ। और फिर तुम लौट सकते हैं सही एक त्रुटि संदेश? हाँ। दर्शकों: तो हम नहीं करते 1 या कुछ भी जोड़ने के लिए है? सूचक the-- के लिए जाना जाएगा ANDI PENG: नहींं। दर्शकों: यह बाद --point। ANDI PENG: हाँ। यह वास्तव में करने के लिए अंक जहां घटना थी। यहाँ तो उदाहरण के लिए, हम कर रहे हैं अवधि के लिए खोज। इसलिए इसे वापस करने के लिए जा रहा है अवधि के लिए एक सूचक। और फिर यह मुद्रित करने के लिए जा रहा है बाहर की अवधि पर शुरू। तो तुम एक जोड़ने की जरूरत नहीं है। हालांकि, यह है, तो करने के लिए पूरी तरह से ठीक है आप बस की तरह करने के लिए, कभी अनिश्चित हैं अपने आप को इसे बाहर का परीक्षण। एक नमूना कार्यक्रम बनाएँ। अपने आप को बाहर का परीक्षण और यह मुद्रण है जहां देखते हैं। वह भी यह करने के लिए एक बुरी तरह से नहीं है। कूल। और कहा कि बहुत ज्यादा सब है मैं आज आप लोगों के लिए था। हम आज pset सामान का एक बहुत कुछ किया। तो जब संदेह में, जैसे मैं हमेशा ऊपर लग रही है, ने कहा कि इस pset के लिए स्ट्रिंग पुस्तकालय। का एक बहुत कुछ होने जा रहा है वहाँ कि समारोह में उपयोगी हो सकता है। कुछ उपयोगी नहीं हो सकता है। मैं वास्तव में नहीं पता है। इसके माध्यम से उतारा, वहाँ उनमें से एक पूरी गुच्छा। strstr, strchr, strrchr हैं सुपर, सुपर सहायक, साथ ही strcpys और strcasecmps हम पहले से ही उपयोग किया है कि। इसके साथ खिलवाड़ के आसपास की अभी बहुत कुछ है वे बराबर कर रहे हैं तार, का निर्धारण तार के बाहर सामान मिल रहा है, और सही तरीके से फाइलों को खोलने के लिए कर रहा है। यह फाइल मैं / हे की एक बहुत कुछ है। pset सच है कि बुरा नहीं है। तुम एक ले जा रहे हैं यह इसे डाउनलोड को देखो, और कोड की एक पूरी गुच्छा देखते हैं। कोई चिंता नहीं, कोड आप वास्तव में लिखना बिल्कुल भी बुरा नहीं है। किसी के साथ मुद्दों है, तो उनकी सर्वर, अनुभाग के बाद मुझे देखने आते हैं। नहीं करने के लिए एक बार फिर से माफी माँगता हूँ हेलोवीन कैंडी लाने। मैं मेरे साथ क्या गलत था पता नहीं है। लेकिन हम डबल होगा कैंडी अगली बार। अपने pset में और अच्छी किस्मत इस सप्ताह। हाँ।