स्पीकर 1: सभी, सही वापस स्वागत करते हैं. इस CS50 है. और इस सप्ताह नौ की शुरुआत है. और यह बाकी की शुरुआत है CS50 में अपना समय, जिसमें हम संक्रमण अब, अंत में, वेब करने के लिए पाठ्यक्रम के पहलू, जहां तुम हूँ लगता है कि बुनियादी बातों की एक बहुत है कि हम सप्ताह के लिए निर्यात किया गया है अभी भी यात्रा करने के लिए वापस आ गए या, हमें परेशान करने लगे. लेकिन अब, आप यह एक है कि मिल जाएगा परिमाण के आदेश को आसान करने के लिए कुछ कार्यों और पूरा कुछ समस्याओं का समाधान - इतना तो है कि आप सोचा था कि भले ही कुछ समस्या सेटों में मज़ा थे उनके अपने तरीके से, मैं तुम्हें मिल जाएगा कि पी पी तो 8 सेट, और, 7 सेट, अंत में, अंतिम परियोजना होगी सभी को और अधिक खुशी की तुम हूँ क्योंकि हम के लिए दी लेने के लिए शुरू पाते हैं कि अब स्मृति प्रबंधन की तरह बातें, और संकेत दिए गए, और क्या हो रहा है हुड के नीचे पर. और फिर, विषयगत, सभी भर में सेमेस्टर इस layering कर दिया गया है और लेयरिंग. और अब हम एक तरह से ऊपर हो यहां पर खड़े सप्ताह के अतीत के कंधों. अब, पिछले समय से याद है कि हम इंटरनेट कैसे काम के बारे में बात की थी. और यह शायद एक था अति सरलीकरण, लेकिन याद रखना कि दुनिया में हर कंप्यूटर एक आईपी है कि एक का एक सा है, हालांकि संबोधित अभी oversimplification. और उन पतों को विशिष्ट रूप से करने के लिए उपयोग किया जाता है मशीनों की पहचान इतनी है कि आपको जानकारी, या पैकेट भेजने, जब इतनी बात करने के लिए, वे एक मूल हो सकता है पता और गंतव्य पता. और वे एक ही आईपी पते का इस्तेमाल किया जा सकता है दोनों अच्छे और भी बुराई के लिए के लिए, उदाहरण के लिए, यदि आप ट्रैक करने के लिए. वास्तव में, एक लैपटॉप के साथ आप में से हर एक में अब खुले, या एक फोन अपने जेब, एक आईपी पता है हार्वर्ड के नेटवर्क पर. और यह सब है कि मुश्किल नहीं है कौन और कहाँ आप को उस सहसंबंधी इन दिनों कर रहे हैं. लेकिन उस पर अधिक शायद भविष्य में. अब मुझे लगता है मैं कुछ वापस लाने लगा [की यादें? ? बढ़ाने] और तुम्हें दे एक शो आप से दूसरे क्लिप परिचित मिल सकता है. हम रोशनी मंद कर सकता है बस कुछ सेकंड के लिए. शो Numb3rs. अध्यक्ष 2: यह एक 32 बिट IPP4 पता है. स्पीकर 3: आईपीपी, इंटरनेट के रूप में? अध्यक्ष 2: निजी नेटवर्क. अमिता के निजी नेटवर्क के लिए. वह बहुत अद्भुत है. स्पीकर 3:, चार्ली पर आओ. अध्यक्ष 2: यह है. एक दर्पण आईपी पता. वह हमें देखने दे रहा है वह वास्तविक समय में कर रहा है. स्पीकर 1: ठीक है, तो कुछ बातें इस तस्वीर के साथ गलत. तो एक है, और यह एक स्वीकार्य है, यह वास्तव में है नहीं एक वैध आईपी पता. एक वैध आईपी पता संख्याओं हो गया है फार्म w.x.y.z की, जहां प्रत्येक की उन पत्रों 0-255 है. लेकिन यह है कि क्योंकि सिर्फ तरह ठीक है फिल्मों जहां वे नकली फोन नंबर, वे नकली आईपी पते. आप वास्तव में असली सर्वरों को मारा नहीं है. पर याद रखो, यह एक ब्राउज़र है. और ब्राउज़रों outputting शुरू नहीं करते इस तरह कंप्यूटर कोड. और हम एक छोटे से गहरी देखो, नोटिस कि वे देख रहे हैं कि भाषा स्क्रीन पर बुलाया एक भाषा है वह भाषा है जो उद्देश्य सी, जो iPhone क्षुधा लिखा जाता है, शामिल विशेष रूप से लोगों को आप से देख सकते हैं crayons, यहाँ स्रोत कोड. ठीक है, मैं यह हास्यास्पद था. तो कोड का यह टुकड़ा बिल्कुल है जो भी इस के साथ कुछ नहीं करना विशेष प्रकरण के बारे में था. तो मज़ाक लोगों पर की तरह है दी इस के लिए ले रही है. लेकिन इस पाने के लिए सभी कि मुश्किल नहीं है इन तकनीकी जानकारी सही. और मैं आपको प्रोत्साहित करेगा. और वास्तव में, 50 बहुत अच्छी तरह से खराब हो सकता है एक टीवी शो और फिल्मों का एक बहुत या आप आप यह सिर्फ है कि मिल जाएगा क्योंकि वे क्या कर रहे हैं संभव नहीं स्क्रीन पर कर. लेकिन वास्तव में, यह कोड है कि आप यह एक iPhone आवेदन में देख सकते हैं या मैक ओएस आवेदन. यह सब कुछ नहीं है सुरक्षा से कोई लेना देना. इसलिए अधिक के लिए एक आंख बाहर रखने उस तरह ऐसे मजेदार बातें. लेकिन आज हम वास्तव में गोता लगाने के लिए शुरू गहरा भाषाओं की एक पूरी श्रृंखला के लिए. व्यापक का एक वास्तव में, एक के इस भाग के takeaways बेशक कार्यक्रम के लिए कैसे जानने के लिए नहीं है PHP में, एसक्यूएल प्रतिशत से नहीं जानने के लिए नहीं जावास्क्रिप्ट से प्रति, बल्कि जानने के लिए कैसे सिखाने के लिए अपने आप को पढ़ाने के लिए क्योंकि, वास्तव में अपने आप को नई भाषा, हम अब लेने के लिए शुरू बंद प्रशिक्षण पहियों कि ऐसा करने के बाद कोर्स के अंत में, आप एक 20 की उम्मीद नहीं है तुम्हें बताने के लिए पृष्ठ विनिर्देश कैसे कुछ कार्यक्रम लागू करने के लिए. आप अपने में पर्याप्त सामग्री है मन और अपने उपकरण में पर्याप्त उपकरण किट, जिसके साथ निर्माण शुरू करने के लिए के लिए ब्याज की समस्याओं का समाधान आप कुछ छात्रों के समूह के लिए, कुछ के लिए अनुसंधान परियोजना, या वास्तव में कुछ भी आप के लिए ब्याज की. तो अंत की ओर है, यह था कि याद चित्र हम यह आखिरी बार आकर्षित किया. और यह दो कंप्यूटर, ग्राहक है और एक दूसरे से बात कर, तोड़. और प्रोटोकॉल, भाषा, ऐसा करने के लिए इन दो कंप्यूटर हो कि, बात बोल रहे हो के लिए HTTP कहा जाता है. और उस द्वारा प्रयोग किया जाता सिर्फ प्रोटोकॉल है अधिक जानकारी के लिए स्थानांतरण करने के लिए कंप्यूटर वर्ल्ड वाइड वेब. वेब, बेशक, सिर्फ एक सेवा है उस के शीर्ष पर चलता है इंटरनेट तथाकथित. एक और सेवा क्या पर उपलब्ध है इन दिनों इंटरनेट के ऊपर? कुछ अन्य प्रोटोकॉल या - वो क्या है? दर्शक: एफ़टीपी. स्पीकर 1: एफ़टीपी. तो फाइल ट्रांसफर प्रोटोकॉल एक और है. आप में से अधिकांश शायद इसे इस्तेमाल नहीं किया. लेकिन आप में से अधिकांश शायद का इस्तेमाल किया है Gchat, या पल की तरह बातें , अधिक आम तौर पर संदेश निश्चित रूप से ईमेल. और उन है, भी, पर चलने वाले सेवा कर रहे हैं क्योंकि, पर इंटरनेट के ऊपर दिन के अंत में, अपने आप इंटरनेट वास्तव में सिर्फ एक बिंदु से डेटा प्राप्त बी बिंदु और यह की एक संख्या का उपयोग करता है कणों ही है, उनमें से एक या दो उनमें से ज्यादातर आम तौर पर टीसीपी / आईपी कहा जाता है, जो कहना है कि एक कंप्यूटर पर इंटरनेट वास्तव में क्या कर रही हो सकता है अलग अलग चीजें हैं, ईमेल, और इसके आगे के वेब, और. Google इस का एक बहुत कुछ करता है. तो कैसे उन सेवाओं अनोखे हैं पहचान, हम एक कंप्यूटर पर, कहा कि वास्तव में क्या कर रही हो सकता है कई बातें? पोर्ट संख्या. और ये सिर्फ मनमाना इंसान हैं 80 जैसे सम्मेलनों वेब, 443 है एन्क्रिप्टेड वेब, 25 ईमेल है. और दूसरों के एक गुच्छों नहीं है. और उन लोगों की संख्या बस में शामिल किए गए हैं जानकारी के उन पैकेट, उन आभासी लिफाफा, कि वास्तव में एक अनुरोध या एक प्रतिक्रिया निहित. तो तुम में से एक प्रतिक्रिया वापस पाने के लिए जब वेब, आम तौर पर, आप किसी भी नहीं दिख रहा है के मामले में जो भी संख्या प्रतिक्रिया की स्थिति कोड. आप वास्तव में नहीं देखते हैं अंदरूनी कामकाज वापस आया है कि पैकेट. लेकिन 200 वास्तव में ठीक मतलब है. और कहा कि सब कुछ ठीक है का मतलब है. आप इनमें से एक गुच्छा देखा हो सकता है. शायद सबसे आम है आप वेब पर देखा है? 404. यह सिर्फ फ़ाइल नहीं मिला मतलब है. यह किसी को खराब कर दिया है इसका मतलब है. आप यूआरएल, या किसी त्रुटिपूर्ण लेखन द्वारा किया फिर आप एक देकर किया अवैध यूआरएल, या वे नष्ट फ़ाइल और यूआरएल अब भी है लोगों द्वारा इस्तेमाल किया जा रहा है. इसलिए कारणों से किसी भी संख्या की व्याख्या कर सकते हैं एक फ़ाइल नहीं मिली है क्यों. और आप आने वाले हफ्तों में, देखता हूँ, इन अन्य त्रुटि कोड, और तुम हूँ उनमें से कुछ का लाभ ले. सबसे खराब 500 है. आप कोड में एक 500 त्रुटि मिलती है आपने लिखा है, की तरह के रूप में उस के बारे में सोच में SEG दोष के अनुरूप वेब प्रोग्रामिंग की दुनिया. यह काफी के रूप में गंभीर नहीं है. लेकिन यह सिर्फ कहीं, इसका मतलब है कि आप बँधा हुआ. तो उन लोगों के लिए तत्पर हैं. लेकिन हम कर सकते हैं, तो चलो देखते हैं संदर्भ में इन देखते हैं. मुझे यहाँ एक ब्राउज़र करने के लिए जाओ और निम्नलिखित है. तो इस के लिए होता है जो क्रोम है, उपकरण में स्थापित किया. लेकिन सबसे हर ब्राउज़र में इन दिनों है कुछ समान कार्यशीलता. मैं क्रोम के मेनू ऊपर जाने के लिए जा रहा हूँ, और उपकरणों के लिए जाना है, और मैं जा रहा हूँ डेवलपर उपकरण के लिए. और आप देखेंगे कि इस छोटे से पैनल खिड़की के नीचे में खुलता है. एक और शॉर्टकट, ईमानदार हो, कि मैं आमतौर पर उपयोग अपने आप को राइट क्लिक करना है या कंट्रोल वेब पर कहीं भी क्लिक करें बस पृष्ठ और तत्व का निरीक्षण करने जाना. और वह खुलेगा नहीं केवल यह आपके लिए है. यह भी, विशेष रूप से, खुलेगा पर तत्वों भाग बाएं हाथ की ओर. तो हम बेशक गूगल को देख रहे हैं. वे आज अपने लोगो बदल दिया है. लेकिन मैं यहाँ नीचे स्क्रॉल, तो नोटिस तत्वों के अंतर्गत, कि आप देखते हैं एचटीएमएल, हाइपरटेक्स्ट मार्कअप क्या कहा जाता है भाषा, और इस भाषा है कि यह और सभी वेब पृष्ठों, वास्तव में, अंदर लिखे गए हैं लेकिन यह वास्तव में के लिए स्वरूपित है हमें इतना अधिक पठनीयतापूर्वक यह सामान्य रूप से अधिक है. वास्तव में, मैं बाहर ज़ूम, और मैं अगर बजाय बस ठीक क्लिक करें या नियंत्रण क्लिक करें पृष्ठ पर क्लिक करें और फिर देखने के लिए जाना पृष्ठ स्रोत, यह सचमुच है क्या गूगल अपने ब्राउज़र को नीचे भेजा. तो कुछ व्यक्ति या व्यक्तियों लिखा Google.com इस स्रोत कोड का उपयोग कर. इस का सबसे HTML नहीं है. यह वास्तव में बुलाया एक भाषा है जावास्क्रिप्ट, जो हम बुधवार को चल जाएगा. लेकिन क्या क्रोम, और क्या हर ब्राउज़र हमारे लिए क्या कर सकते हैं, की तरह देख रहा है के distractions के सभी पिछले पागल वाक्यविन्यास, और सफेद अंतरिक्ष डालें हमें, और यहां तक ​​कि वाक्यविन्यास पर प्रकाश डाला, के लिए या हमारे लिए चीजें colorize. तो आप इन तथाकथित पाएंगे कि ब्राउज़र में बनाया गया डेवलपर उपकरण तो, इतना आसान अपने जीवन में कर देगा आप इस मेनू के माध्यम से, का पता लगाने सकता है क्योंकि इंटरफेस है, कि क्या वास्तव में अंतर्निहित स्रोत कोड के लिए है इंटरनेट पर किसी भी पेज. और वास्तव में, यह सबसे में से एक है कैसे करना सीखने के लिए प्रभावी तरीके कुछ नया, कम से कम अगर पेज डूब के रूप में इतनी जटिल है, नहीं है यह एचटीएमएल आसपास poking शुरू करने के लिए, देखो हम आया हूँ जो अपने तथाकथित सीएसएस, पर साथ ही एक बिट करने के लिए, एक पाने के लिए कि प्रोग्रामर की समझ कुछ विशेष कार्यान्वित पेज की सुविधा. लेकिन अधिक तकनीकी रूप से दिलचस्प सही अब यह इस होने जा रहा है. मैं नेटवर्क टैब के लिए जाना है, चलो अब यह स्पष्ट करते हैं. मैं थोड़ा क्लिक करने के लिए जा रहा हूँ तो यहाँ प्रतीक पार, और एक अन्य वेबसाइट पर जाएं. और मैं सिर्फ टाइप करने के लिए जा रहा हूँ Facebook.com में. कोई HTTP, कोई HTTPS, कोई WWW. वास्तव में यहाँ देखो क्या होता है. दर्ज करें. अब सामान की एक पूरी गुच्छा नोटिस बस में, यह नीचे पैनल में छपी वेब पेज के अलावा शीर्ष में दिखाई दे. मैं में वापस ऊपर स्क्रॉल करने के लिए जा रहा हूँ यहाँ नेटवर्क टैब, और मैं जा रहा हूँ पहली पंक्ति पर क्लिक करें. इस उपकरण हमारे लिए प्रकट करने के लिए क्या हो रहा है HTTP अनुरोध के हर एक है कि तेजी से अभी वापस चला गया और आगे अपने ब्राउज़र के बीच और फेसबुक के सर्वर. और इसलिए उन पंक्तियों के हर एक ऐसा ही एक अनुरोध या प्रतिनिधित्व करता है प्रतिक्रिया, एक या एक से अधिक उन आभासी लिफाफा. या अधिक लापरवाही से, यह एक व्यक्ति की तरह है एक व्यक्ति, एक में एक ग्राहक की तरह रेस्टोरेंट, कुछ के लिए पूछ फिर से, और फिर, और फिर से. और वेटर लाने रहता है इसे वापस एक समय में. तो अब, मैं इस पर ज़ूम अगर, नोटिस और इस तरह की बात हो जाएगा आप का स्वागत है और प्रोत्साहित कर रहे हैं कि अपने दम पर साथ खेलने के लिए है क्योंकि हम सब कुछ के माध्यम से जाना नहीं होगा महान विस्तार में. लेकिन नोटिस वहाँ एक है यहाँ कुछ उप टैब - हेडर, पूर्वावलोकन, प्रतिक्रिया, कुकीज़, और समय. मैं सिर्फ हेडर को देखने जा रहा हूँ इन छोटे हैं, क्योंकि अब के लिए लिफाफे के अंदर सामग्री है कि डेटा के लिए और स्थानों से प्राप्त करने में मदद. तो सबसे पहले, मुझे यह देखें क्लिक करते हैं शीर्ष लेख का अनुरोध करने के लिए अगले स्रोत. कि मेरी ब्राउज़र अनुरोध, वहाँ है क्रोम, इस मामले में, के अंदर भेजा वर्चुअल लिफाफा. तुम पिछले हफ्ते याद करेंगे मैं जबकि स्वयं इसे टाइप किया एक ब्राउज़र होने का नाटक. तो यह है कि सर्वर को याद दिलाया कहा जाता है मेजबान की तलाश में Facebook.com. और फिर थोड़ा और अधिक रहस्यमय नहीं है हम लहर हूँ कि जानकारी अब के लिए हमारे हाथ. लेकिन मैं अब नीचे स्क्रॉल करने के लिए शुरू इस विंडो, मुझे करने के लिए जाओ प्रतिक्रिया हेडर. इस आभासी में क्या था से वापस आया था कि लिफाफा Facebook.com. और मैं स्रोत देखें क्लिक करें, तो बस यह कच्चा पाठ को देखने के लिए, कुछ बातों पर ध्यान. एक, फेसबुक भी वही बोलता है प्रोटोकॉल, संस्करण तत्संबंधी 1.1. तो यह अच्छा है. लेकिन स्थिति कोड 301, स्थायी रूप से ले जाया गया. खैर, फेसबुक जहां बिल्ली चली गई? क्या यह हमारे लिए देने की कोशिश कर रहा है? खैर, एक और वहाँ यहाँ नीचे नोटिस हैडर स्थान कहा जाता है. तो क्यों फेसबुक मुझे कह रहा है कि वे कि यूआरएल के लिए स्थायी रूप से स्थानांतरित स्थान के बगल में? मैं www भूल गया. इसलिए कि मेरी पसंद थी. वास्तव में, हम में से ज्यादातर को शायद ही कभी, शायद, इन दिनों www.whatever.com लिखें. लेकिन यह एक सिस्टम प्रशासक से पता चला है, फेसबुक, कर सकते हैं जैसे ऐसे में उनके सर्वरों को विन्यस्त Facebook.com या तो काम करता है, या कि www.Facebook.com काम करता है, या, वास्तव में, के सामने ऐसे किसी भी उपसर्ग उनके डोमेन नाम. तो वे हमारे लिए जो कुछ किया गया है. और वे शायद, हमें पुनः निर्देशित कर रहे हैं कुछ तकनीकी के लिए, कुछ विपणन कारणों. वे सिर्फ canonicalize करना चाहते हैं www.Facebook.com पर. लेकिन यह है कि यह काफी नहीं है. मैं यहाँ नीचे स्क्रॉल, तो चलो देखो क्या होता है. यह मेरे हम कह रहा है करने के लिए स्थायी रूप से स्थानांतरित http://www.Facebook.com. तो चलो दूसरा अनुरोध को देखो अपने ब्राउज़र भेजता है. दुर्भाग्य से, यह फेसबुक की तरह दिखता है फिर से ले जाया गया है क्योंकि दूसरे बजाय कि यूआरएल का चयन करके, अनुरोध, , भी ले जाया गया, का कहना है कि स्थायी रूप से. और मुझे यहाँ नीचे स्क्रॉल प्रतिक्रिया हेडर को. कहां फेसबुक अब चला गया है? HTTPS तो. तो अब फेसबुक शुरू कर दिया है, विशेष रूप से वर्तमान की रोशनी में हाल के महीनों में घटनाओं, विशेष रूप से और भी वर्ष के पिछले कुछ में एक अच्छा में है, उनके सभी उपयोगकर्ताओं को मजबूर करने के लिए जिस तरह से,, HTTPS का उपयोग करने के लिए अधिक है जो पूरी तरह से सुरक्षित नहीं है, हालांकि सुरक्षित. और इसलिए अब मेरे पृष्ठ, मेरे ब्राउज़र है इस तीसरे यूआरएल का अनुरोध करने जा रही है. और अब, अंत में, हम मिल अन्यथा अनदेखी 200 ठीक. तो क्या दुनिया में या के सभी नीचे यहाँ इन अन्य पंक्तियों. मैं सचमुच एक बात लिखा है, और मेरे ब्राउज़र की तरह का अनुरोध किया है लगता है 20 कुछ अजीब बातें. वह क्या है? दर्शक: लिपियों? स्पीकर 1: लिपियों, ताकि अन्य फाइलें कहा जाता है एक भाषा में लिखा फिर, हम करेंगे, जो जावास्क्रिप्ट, बुधवार को की एक बिट देखते हैं. और क्या? स्टाइल शीट. कहा जाता है एक भाषा में तो कुछ हम कुछ देर में देखेंगे जो सीएसएस,. Gifs, और JPEGs, और PNGs, और छवियों, और फिल्म फ़ाइलों - जो कुछ भी एक वेब पेज में सबसे अधिक संभावना है है एक फ़ाइल के रूप में. और इसलिए हम बाईं तरफ देख रहे हैं हाथ की ओर फ़ाइलों के सभी वहाँ है क्रोम को डाउनलोड करने के लिए किया था कि, बारी बारी से, अगर तुम जाएगा, क्रम में करने के लिए पेज की सम्पूर्णता रचना करते हैं. तो क्या हम गूगल के साथ एक पल पहले देखा था, मैं तत्वों पर क्लिक करें टैब, यह सुनिश्चित करें, जो HTML है इस पेज composes उस भाषा. लेकिन अन्य बातों के गुच्छों नहीं है. एक लोगो है. उन नीली ish नहीं है वहाँ पर प्रतीक. और अभी भी अन्य तत्व है खुद को हो सकता है कि पेज अलग फ़ाइलों. तो क्या एक ब्राउज़र के बारे में अच्छी बात है यह है कि यह हम जा रहे भाषा में दिखता है लेखन शुरू, या आप पहले से ही करने के लिए 7, आंकड़े सेट पी में लिखना शुरू कर दिया बाहर उन फ़ाइलों रहते हैं, और जहां चला जाता है और साथ ही उन्हें पकड़ लेता है. और मैं भी पर्याप्त जोर नहीं कर सकते इस में से कुछ एक सा लग सकता है, हालांकि , रहस्यमय या पहली नज़र में भारी कार्यक्रम के लिए सीखने वेब के लिए आवेदन, यह है समझने के लिए अमूल्य कैसे इन छोटे से उपकरण काम करते हैं. ये है, की तरह औजार की तरह GDB की तरह हैं लेकिन बहुत सरल है, अंत में, उपयोग करने के लिए - और वास्तव में क्या आप आंखों देता है हम के लिए प्रदान के लिए ले जा रहा हूँ काफी कुछ समय अब. तो क्या अब हम साथ क्या कर सकते हैं इस जानकारी? ठीक है, चलो वास्तव में एक नज़र रखना अवधारणाओं अंतर्निहित एचटीएमएल. और हम करने के लिए, हम पहले से ही है, तब स्थगित कर देंगे समस्या को वर्गों में इस सप्ताह, अधिक से कुछ के लिए, 7 विनिर्देश सेट इन भाषाओं का विवरण. लेकिन हम एक रंग नहीं कर सकते, तो चलो देखते हैं आपको समझना चाहिए क्या की तस्वीर कुल मिलाकर यहां. तो एचटीएमएल, हाइपरटेक्स्ट मार्कअप लैंग्वेज, एक प्रोग्रामिंग भाषा नहीं है. कि वास्तव में क्या मतलब है? तो एचटीएमएल इस तरह दिखता है. और आप में से कुछ पहले से ही यह पता है. आप में से कुछ कर दिया गया है यह कुछ समय के लिए. लेकिन हम नहीं भर सकता है, तो चलो देखते हैं कुछ रिक्त स्थान के रूप में अच्छी तरह से. तो यहाँ चीजों की एक जोड़ी नोटिस. एक, यह सिर्फ पाठ है. में तो यह सिर्फ स्रोत कोड की तरह है सी, या कुछ अन्य भाषा. वहाँ लगता है कि नोटिस यहाँ एक पैटर्न होना. वहाँ खरोज है, लेकिन तकनीकी रूप से खरोज सिर्फ मानव है सम्मेलन. नए अगर वहाँ एक ब्राउज़र की परवाह नहीं करता हम जैसे लाइनों और टैब देखें. लेकिन वहाँ है कि नोटिस यहाँ समानताएं. मैं के शीर्ष पर, फोन करता हूँ वहाँ क्या है इस फ़ाइल को खोलने टैग, या शुरू एचटीएमएल बुलाया टैग,. और फिर, नीचे नीचे, पूरी तरह से लाइन में खड़ा ऊपर, जितना हम घुंघराले ब्रेसिज़ के साथ करते हैं, हम खुले कोष्ठक, आगे देखना स्लैश, एचटीएमएल, बंद कोष्ठक. इसलिए कि इसी करीब है उस बात के लिए टैग, या अंत टैग,. साथ में, के अंदर सब कुछ खुले टैग और करीब टैग तथाकथित हम एक तत्व को बुलाता हूँ क्या रचना करते हैं. और हम बस एक पल में, देखता हूँ, यह है वास्तव में एक पेड़ में एक नोड पसंद है. क्योंकि आप के बारे में अब अगर आपको लगता है आप यहाँ निहित है कि खरोज एक तरह से, जैसे, एक grandparent है एचटीएमएल बुलाया नोड. आप आधारित, कितने बच्चों को कह सकते हैं इस तस्वीर पर, HTML तत्व है? तो शायद दो. जाहिरा तौर पर, सिर तत्व है. और एक शरीर तत्व है. और क्यों दो बच्चों को? ठीक है, मैं बस की तरह inferring हूँ कि अगर मैं तो एक खुले सिर टैग और एक करीब सिर टैग, कि एक तत्व है. और फिर, एक और खुला शरीर अगर वहाँ टैग और एक करीबी शरीर टैग, उस तरह है एक और तत्व. तो समझ में है कि मैं एक तरह से बारी बारी से अगर अपने पक्ष पर तस्वीर, यह है फिर एक एचटीएमएल टैग, और एक होने की तरह सिर टैग, और फिर एक शरीर टैग, और तो कुछ पाठ, नमस्ते विश्व, झूलने शरीर टैग के ही बंद. तो हम एक चित्र आकर्षित कर सकते हैं इस तरह लग सकता है. आकार मनमानी कर रहे हैं. लेकिन मैं एक की तरह उपयोग किया है कि नोटिस प्रतिनिधित्व करने के लिए शीर्ष पर दीर्घवृत्त खुद दस्तावेज़. यह अन्य सामान वहाँ हो सकता है पता चला है मैं नहीं है कि एक वेब पेज के अंदर यहां तैयार की. तो हम भी HTML घूमने के लिए जा रहे हैं एक तथाकथित दस्तावेज़ नोड के बंद नोड. और फिर हम सिर है और शरीर और शीर्षक, नोटिस, आगे नेस्ट है. मैं अतिरिक्त लाइन डालने की जहमत नहीं उठाई शीर्षक टैग के अंदर टूट जाता है. यह हो रही थी जैसे यह सिर्फ महसूस किया एक छोटे से बहुत वाचाल. तो मैं के साथ, वहाँ एक लाइन में छोड़ दिया ओपन खिताब, नमस्ते दुनिया, करीब शीर्षक. और फिर हम कुछ पाठ है यहां की बंद झूलने. तो इस तस्वीर के लिए वापस आ जाएगा हमें हम जावास्क्रिप्ट में डुबकी जब. और समझ है कि जब आप इस तरह HTML लिखने, क्या एक ब्राउज़र कर रहा है? खैर, हम के बारे में चिंता करने की ज़रूरत नहीं है यह यह कर रहा है कि कैसे, या क्या साथ एल्गोरिथ्म, लेकिन दिन के अंत में, एक ब्राउज़र की तरह HTML प्राप्त करता है जब कि, फेसबुक या गूगल से, यह डेसिमल यह तो बात है, यह इसे पढ़ता है, fread, ऊपर की तरह कुछ करने के साथ नीचे, दाएं से बाएं, और यह रूप पता चलता है, ओह, खुला टैग, और तब बंद टैग, यह तो बात है, malloc शुरू होता है, एक पेड़ में एक नोड. और हम गर्भित किया है, क्योंकि यह जब मुठभेड़ों यहाँ खरोज, एक साथ बच्चे के नोड, यह उसके लिए एक नोड mallocs और पेड़ के लिए कि संलग्न. तो वृक्ष संरचनाओं, द्विआधारी पेड़, त्रिगुट के पेड़, और बड़ा पेड़, कि हम एक या दो सप्ताह पहले, नोटिस पर नजर एक ही सिद्धांत है कि हमारे पास वापस आ रहे हैं. और जो कोई भी, क्रोम कार्यान्वित जो कुछ भी टीम संभवतः पड़ा था कि, वृक्ष संरचना के कुछ प्रकार लागू करने के लिए हुड के नीचे. और ही है कि एक में शायद है सी की तरह भाषा, या सी + +, या एक कम स्तर की भाषा है कि हम करेंगे अब वेब के ऊपर का उपयोग करें. तो अब, शायद, यह होगा अधिक मतलब. किसी लड़के से वास्तविक टैटू कौन हो सकता है एक तरह से, अंततः यह अफसोस. ठीक है, ठीक है, तो वेब हास्य का एक बहुत. यह वास्तव में नहीं जा रहा है अधिक इतनी अच्छी तरह से आज. तो हम आगे बढ़ना होगा. ठीक है. तो चलो अब एक नजर डालते हैं कुछ उदाहरणों में. सरल संभव बात यह हो सकता है. मुझे आगे जाना है और में खोलने के लिए जा रहा हूँ hello.php नामक एक फाइल gedit. और यहाँ के अंदर, मैं जल्दी से जा रहा हूँ सिर्फ यह करना है, printf, भाव गंदें शब्द बोलना, "हैलो दुनिया." तो नोटिस, और मैं अपने बैकस्लैश n करूँगा, मैं मुख्य घोषित करने के लिए परेशान नहीं किया है. यह PHP में, पता चला है, और का एक बहुत भाषा, आप एक मुख्य जरूरत नहीं है दर असल कार्य करते हैं. तुम सिर्फ लेखन शुरू कर सकते हैं अपने कार्यक्रम. मैं इस फाइल को बचाने के लिए अब, जब मैं कर रहा हूँ नोटिस निम्न कार्य करने के लिए किया जा रहा. मैं बनाने का उपयोग करने के लिए नहीं जा रहा हूँ, और मैं नहीं हूँ बजना प्रयोग करने जा पीएचपी, के विपरीत है क्योंकि सी, एक संकलित भाषा नहीं है. यह एक व्याख्या क्या कहा जाता है आप इसे चलाने जिसका अर्थ है कि भाषा, एक अन्य कार्यक्रम के माध्यम से एक निवेश के रूप में एक दुभाषिया कहा जाता है. और कहा कि कार्यक्रम के शीर्ष करने के लिए, इसे पढ़ता नीचे, दाएं से बाएं, और करता आप ऐसा करने में बता जो भी हो. तो इस मामले में यहाँ मैं printf का कहना है कि एक लाइन. इसलिए मैं इस स्रोत कोड चलाते हैं, hello.php, हालांकि एक कार्यक्रम है कि , पीएचपी कहलाने का, सुविधा, होता उस कार्यक्रम PHP पढ़ने के लिए जा रहा है इस फाइल, ऊपर से नीचे, बाएं से दाएं और यह मैं क्या करने जा रहा है यह करने के लिए बता - कोड को क्रियान्वित करने, और अगर यह बस, कुछ को नहीं पहचानता इसे बाहर थूकना. तो मैं आगे जाने के लिए जा रहा हूँ hello.php के PHP चलाते हैं. दर्ज करें. और कहा कि मैं इरादा काफी नहीं है. खैर, ऐसा क्यों है? खैर, पीएचपी वास्तव में है कि एक भाषा है काफी हो डिजाइन वेब के साथ intertwined. इस भाषा के साथ वेब पेज करते समय हम जल्द ही देखेंगे के रूप में PHP, हम करेंगे छापा की तरह कुछ करना चाहते हैं इस तरह से बाहर लाइनों. तो मैं यह करने के लिए जा रहा हूँ. ओपन वर्ग, प्रश्न चिह्न, पीएचपी, और अब मैं सिर्फ रखने के लिए इंडेंट जा रहा हूँ अच्छी बातें. और अब मैं एक सवाल क्या करने जा रहा हूँ बंद कोष्ठक निशान. यहाँ तो विषमता का एक सा है. आप ऐसा नहीं करते हैं. और तुम तो, एक स्लैश नहीं करते PHP एक छोटे से अलग है. लेकिन अब, मैं इस कार्यक्रम से दौड़ना हैं, PHP hello.php, अब मैं वास्तव में नमस्ते विश्व मिलता है. इस बहुमूल्य है और यही कारण है कि हम देखेंगे. एक, यह मुझे निर्दिष्ट करने के लिए अनुमति देता है, सुपर स्पष्ट रूप से, यह है कोड, इस पर अमल. और वह वास्तव में है क्या इन विशेष टैग यहाँ मतलब. लेकिन यह भी मतलब है कि मैं सिर्फ अगर मैं यहाँ पर उद्देश्य कुछ और की तरह, कि इसका मतलब सचमुच, कि बस है कि, जरूरत के बिना बाहर मुद्रित किया वास्तव में, printf, या प्रिंट कॉल या किसी भी इसी तरह कार्य करते हैं. इसलिए हम चाहते हैं कि करने के लिए वापस आ गया हूँ बस एक पल में. सबसे पहले, चलो यह करते हैं. उपकरण के अंदर, हम एक है आभासी के लिए vhosts नामक निर्देशिका मेजबान टीम, स्थानीय मेजबान स्लेश सार्वजनिक स्लेश. तो यह थोड़ा वाचाल है, लेकिन लंबी कहानी संक्षेप में, उपकरण नहीं बनाया गया है केवल समर्थन सी. यह भी है PHP सहायता के लिए बनाया गया. लेकिन यह भी एक वेब होने के लिए तैयार है सर्वर, और एक डेटाबेस सर्वर. और यह तैयार है, और सही मायने में विन्यस्त है किसी की याद ताजा होने के लिए व्यावसायिक वेब होस्टिंग कंपनी है कि यदि आप के लिए $ 5 एक महीने का भुगतान हो सकता है के लिए 100 डॉलर प्रति माह. सेवा है जो भी हो, यह विन्यस्त है एक करने के लिए बहुत समान होने के लिए वास्तविक दुनिया उत्पादन सर्वर. और क्या इसका मतलब यह है कि पर चल रहा है उपकरण वेब सर्वर सॉफ्टवेयर है. यह अपाचे बुलाया होना होता है. यह सिर्फ मुफ्त, और खुला स्रोत है, और बहुत लोकप्रिय है. और हम पता करने के लिए अपाचे कॉन्फ़िगर किया गया है मैं एक निश्चित यूआरएल पर जाते हैं, के साथ कि क्रोम या के अंदर किसी भी ब्राउज़र उपकरण, इस निर्देशिका में देखने के लिए फाइल के लिए कि उपयोगकर्ता अनुरोध कर रहा है. दूसरे शब्दों में, मुझे जाने आगे बढ़ो और यह करते हैं. मेरी सार्वजनिक निर्देशिका के अंदर, मैं जा रहा हूँ आगे जाकर एक फ़ाइल बनाने के लिए सूचकांक कहा जाता है. यही कारण है कि मुझे यहाँ टैब देता है. और मैं बहुत जल्दी जाने के लिए जा रहा हूँ और आगे जाना है और बाहर धमाका यहाँ इस कार्यक्रम. टैग, अब के लिए, जो बस आप टाइप करने के लिए मान लेते हैं. यह सिर्फ एक रहस्यमय टैग है, कि नहीं है सही मायने में एक एचटीएमएल टैग, कि निर्दिष्ट करता है यहाँ कुछ HTML आता है. मुझे आगे जाना है और विश्राम करने के लिए जा रहा हूँ हम एक क्षण पहले क्या देखा. यहाँ पृष्ठ का सिर है. के अंदर प्रमुख थे - इसलिए शीर्षक. इसलिए हम दुनिया, नमस्ते कह देंगे. और फिर नीचे यहाँ शरीर टैग था. मुझे शरीर टैग को बंद करते हैं. और फिर यहां मैं यह भी कहना होगा, बस स्पष्टता के लिए, दुनिया नमस्ते. तो यह यकीनन, सरल है संभव वेब पेज आप कि वैध है बना सकते हैं. यह वाक्य रचना से वैध है. खोला है कि सब कुछ बंद है. सब कुछ अच्छी तरह से में स्टाइल और इंडेंट. तो चलिए अब देखते हैं कि कैसे मैं इस फ़ाइल का उपयोग कर सकते हैं. खैर, मुझे यहाँ क्रोम के लिए चलते हैं. और मेरे लिए चलते हैं http://localhost/index.html. इसलिए स्थानीय मेजबान क्या है? खैर, सबसे दुनिया में किसी भी कंप्यूटर, लिनक्स, मैक ओएस, विंडोज, एक उपनाम है स्थानीय मेजबान बुलाया. तो आप कभी भी बात करना चाहता हूँ अपने स्वयं के कंप्यूटर के लिए - अजीब तरह से reflexively, यद्यपि - आप स्थानीय मेजबान को बुलाओ. कोई बात नहीं अपने वास्तविक कंप्यूटर है क्या यह दाऊद के मैकबुक, चाहे बुलाया एयर, या कुछ और अधिक उस तरह वर्बोस. तो इस URL जाहिरा तौर पर प्रयोग हो रहा है स्थानीय होस्ट करने के लिए बात करने के लिए HTTP, एक ही कंप्यूटर, उपकरण, और यह बस ले, के लिए पूछने के लिए जा रहा है एक , क्या फ़ाइल लगता है क्या? Index.html. तो उपकरण में विन्यस्त किया गया है पता करने के लिए अग्रिम कि मैं पूछ रहा हूँ अगर सूचकांक की तरह कुछ के लिए, के लिए देखो एक में vhosts नामक फ़ोल्डर में एक फ़ोल्डर में, स्थानीय होस्ट बुलाया फ़ोल्डर उसमें जनता का आह्वान किया. वह है, जहां मेरी जनता के सभी फाइलें होने जा रहे हैं. इसलिए मैं अब हिट दर्ज करने के लिए जा रहा हूँ. और लानत, मना किया कि वहाँ है अन्यथा 403 के रूप में जाना जाता है संदेश,, इसके लिए सांख्यिक कोड. तो यहाँ क्या गलत है? खैर, यह सिर्फ डाल करने के लिए पर्याप्त नहीं है मेरा फ़ोल्डर की फ़ाइल के अंदर. मैं वास्तव में निम्न कार्य करना होगा. में, मुझे मेरे vhosts निर्देशिका में चलते हैं स्थानीय होस्ट, में सार्वजनिक, और चलो मुझे रास पानी का छींटा एल करते हैं. और कुछ अन्य चीज़ें हैं यहाँ आज के उद्देश्यों के लिए है. लेकिन अगले, बाएं हाथ की ओर नोटिस index.html के लिए, हम केवल एक आरडब्ल्यू देखें. और अतीत में, क्या आरडब्ल्यू के लिए खड़ा हो गया है? सिर्फ पढ़ने या लिखने के. यह बाईं तरफ आरडब्ल्यू का कहना है कि तथ्य मैं इस फाइल के मालिक, इसका मतलब यह कर सकते हैं इसे पढ़ने या लिखने के. लेकिन मैं सभी लोगों को जाने की जरूरत यह नहीं लिख हालांकि दुनिया, इस पढ़ें. तो मुझे लगता है की विधा को परिवर्तित करने के लिए जा रहा हूँ फ़ाइल, chmod, सभी प्लस आर देने के लिए हर किसी पर पढ़ने की अनुमति फ़ाइल सूचकांक कहा जाता है. और मैं अब रास पानी का छींटा एल, नोटिस फिर से लिखें अगर कि, यहाँ पर, कुछ और आर के ऊपर popped है. और अब के लिए, कल्पना चला जाता है और अधिक विस्तार में. पी 7 सेट के लिए, कि बस सब का मतलब अब इस फाइल को पढ़ सकते हैं. मैं वापस अपने ब्राउज़र में जाओ अब और देखा, पुनः लोड. हैलो दुनिया. और मैं भी अपने क्रोम उपकरण खोल सकते हैं और सिर्फ गूगल के साथ की तरह देखते हैं, और अपने HTML है कि वहाँ फेसबुक, एक छोटे से प्रारूपित अलग तरह से और colorized. मैं नेटवर्क टैब पर जाएं और फिर से लोड हैं पृष्ठ मिलता है, वहाँ है कि नोटिस क्रोम भेज रहा है कि अनुरोध उपकरण के लिए. उस के लिए 200 वहाँ खास फाइल. तो संक्षेप में, यह सब कैसे इन है विभिन्न टुकड़ों को एक साथ आ रहे हैं. यह सिर्फ इतना होता है कि वेब सर्वर हम अभी प्रयोग कर रहे हैं, रिमोट नहीं है फेसबुक की तरह. यह एक ही कंप्यूटर पर शाब्दिक है, जो पूरी तरह से ठीक है. तो हम एक वेब पेज में अधिक क्या कर सकते हैं? ठीक है, बस, के माध्यम से हवा देना इन चीजों के एक जोड़े. लेकिन मुझे आगे जाना है और फिर से खोलना चलो सूचकांक के साथ gedit. और मुझे आगे जाना है और हैलो CS50 हम कहते हैं, इस फाइल को बचाने के लिए, के लिए वापस जाओ ब्राउज़र, वास्तव में underwhelming परिवर्तन. लेकिन क्या हम वास्तव में करना चाहते हैं अब कुछ करने के लिए लिंक? तो यह हम कर सकते हैं कि पता चला है बस टैग कर रहे हैं कि HTML में लिंक खुद को. यह कहा जा करने के लिए होता है टैग लंगर. एक href बराबरी https://www.cs50.net, www.cs50.net बंद बोली, बंद कोष्ठक. और अब चलो देखते हैं क्या बाकी अगले आता है. मैं टैग खोल दिया है. मैं अब इसे देने की जरूरत है CS50 तरह एक वाक्यांश. मुझे टैग को बंद करते हैं. और कुछ बातों पर ध्यान. इस गुप्त बात नहीं है हालांकि जब आप यहां, मैं इसे दोहराया नहीं है टैग बंद करें. तुम बस टैग बंद अकेले अपने नाम के साथ. और इस के रूप में जाना जाता है क्या है एक मूल्य के साथ एक विशेषता. गुण सिर्फ व्यवहार को संशोधित एक पृष्ठ के अंदर कुछ टैग की. तो यह निर्दिष्ट है कि हाइपर संदर्भ, कहने का अच्छा तरीका इस के लिए यह लंगर के लिए यूआरएल, लिंक, CS50.net होना चाहिए. और हम दिखाना चाहते हैं कि पाठ उपयोगकर्ता कि कच्चे URL नहीं है, बल्कि शब्द CS50. तो अब मैं फिर से लोड है, तो मेरे लिए में ज़ूम स्पष्टता, मुझे पृष्ठ को फिर से लोड करते हैं, हम इस पुराने स्कूल है कि नोटिस नीले कड़ी को रेखांकित किया. और मैं इस पर जाएँ और यह जा रहा है नीचे बाएँ में, देखने के लिए मुश्किल हो स्क्रीन, नोटिस के हाथ कोने यह यूआरएल का कहना है कि जो करने के लिए मैं जा रहा हूँ. और मैं वहाँ क्लिक करें, तो देखा, अब मैं वेब पृष्ठों बना रहा हूँ. और हम अपने आप को नेतृत्व किया है होम पेज के लिए. लेकिन सूचना के क्या संभावित यह हमें प्रदान करता है. सुरक्षा बहुत ज्यादा है इन दिनों प्रचलन में. मैं बजाय कुछ तरह कहते हैं वो अगर यह है, और मैं बजाय चलो, कहते हैं, के लिए जाना , fakeCS50.net देखें. इस पृष्ठ पुनः लोड करें. ठीक है, तो मैं कर रहा हूँ की तरह यह अभी भी लग रहा है नोटिस एक चतुर आंख, जब तक CS50 के लिए जा रहा मैं नकली CS50 के लिए जा रहा हूँ नोटिस जाएगा. मैं इस डोमेन नहीं लिया है अनुमान लगा रहा हूँ. ठीक है, तो यह उपलब्ध नहीं है. तो यह अच्छी बात है. कोई भी वास्तव में है कि डोमेन है. लेकिन हम एक छोटे से अधिक दुर्भावनापूर्ण हो जाने उस तरह की बेवकूफी है क्योंकि. क्या हम पेपैल के लिए यह परिवर्तन है. और क्या हम यह कहते हैं, जैसे, www.paypal.badguy.com, डोमेन है जो भी हो. यह शायद मौजूद है. तो अब मुझे पृष्ठ को फिर से लोड करते हैं. और यहाँ हम प्रकार की एक फिशिंग है हमले, जो पी एच आई एस एच आई एन जी, कि एक हमले के लिए दिए गए मूर्खतापूर्ण शब्द जानकारी मछली, या, बेहतर करने की कोशिश करता है अभी तक, पैसा, लोगों के बाहर चकरा देनेवाला द्वारा उन्हें जानकारी है कि उपलब्ध कराने में वे अन्यथा नहीं कर सकता है. यह ठीक है, पूरी तरह से कानूनी दिखता है? मैं Paypal.com करने के लिए यहाँ एक कड़ी होनी चाहिए. निष्पक्षता में, मैं कुछ के साथ इसे sexed अगर ग्राफिक्स, हम यह देख सकते हैं अधिक पेपैल की तरह. है ना? मैं कर सकता है, क्योंकि एक तरफ एक के रूप में, मैं Paypal.com तक जा सकता है. और हम सिर्फ देखा है कि कैसे मैं कर सकता हूँ अपने HTML के सभी देखते हैं. मैं बस इसे कॉपी और विश्राम सकता है पेपैल के सौंदर्यशास्त्र के बजाय जाना यहां पुराने स्कूल. लेकिन नोटिस, ज़ाहिर है, और यह एक छोटे से है छोटे अभी भी, केवल नीचे में बाएँ हाथ के कोने, जैसे में एक 10 बिंदु फ़ॉन्ट, आप आप क्या कर रहे हैं यूआरएल देखते हैं वास्तव में करने के लिए नेतृत्व किया जा रहा है. और तो आप कभी स्पैम कहावत मिल गया है आगे बढ़ो, और आप खाते हो छेड़छाड़ की गई है. इस लिंक पर क्लिक करें और कृपया हमें पता है अपना पासवर्ड तो हम आप कर रहे हैं सुनिश्चित कर सकते हैं तुम, कभी ऐसा नहीं करते. ये बातें कहे बिना जाना चाहिए. लेकिन यह अद्भुत मनोरंजक है, और दुखद, कैसे हर साल इस लगता है कुछ गैर शून्य को कुछ नहीं लोगों की संख्या. और वह सौंदर्य है के हमलों फ़िशिंग. आप एक लाख ईमेल भेज सकते हैं. और यहां तक ​​कि यदि वास्तव में लोगों की 0.01% पेपैल पर क्लिक करें और आप दे अपने पासवर्ड, कि अभी भी एक गैर शून्य संख्या है बस दे दिया है जो लोगों की आप अपने पैसे. और ईमेल भेजने, ज़ाहिर है, काफी है नि: शुल्क, आसान और अनिवार्य रूप से इन दिनों. तो लंबे लघु कहानी, शानदार सुंदर विचार, सही? साल पहले, यह जल्द से जल्द किया गया था वेब, एक वेब के सक्षम करने से संसाधनों के बीच हाइपरलिंक. लेकिन इतनी जल्दी यह हो सकता है बीमार प्रयोजनों के लिए प्रयोग किया जाता है. और ईमेल, कहने के लिए पर्याप्त है, इन दिन, एचटीएमएल अंदर एम्बेडेड है. खैर, मुझे बस एक और बात करते हैं. और हम में खंड को काफी हद तक स्थगित कर देंगे समस्या आप को अनुमति देने के लिए सात सेट ब्यौरे का पता लगाएं. लेकिन मुझे आगे जाना है और दो यहाँ कुछ बातें करते हैं. मैं में जाना है और घोषणा करने के लिए जा रहा हूँ कहा जाता है एक div, या पेज का विभाजन,. मुझे लगता है कि div टैग को बंद करते हैं. और मैं कहने जा रहा हूँ यहाँ पृष्ठ के शीर्ष. और फिर इससे नीचे, मैं क्या करने जा रहा हूँ एक और div की तरह कुछ है, इस बंद टैग, और पृष्ठ के निचले भाग से करते हैं. और हम इसे बचाने के लिए करते हैं. तो अब वापस मेरी फाइल करने के लिए चलते हैं. बहुत underwhelming. लेकिन क्या डिवीजन, के लिए प्रयोग किया जाता है हुड के नीचे, यह वास्तव में है एक अच्छा संरचनात्मक तत्व. यह अब तक के रूप में किसी भी सौंदर्यशास्त्र नहीं है हम देखते हैं, दूसरे, जाहिर है, की तुलना कर सकते हैं नई लाइनों पर डाल बातें. लेकिन नोटिस, एक अलग रूप में, बस मार दर्ज है जैसे कि यह HTML में कटौती नहीं करता है सी. में आपको लगता है कि लगता है कि हो सकता है के बीच एक अच्छा बड़ा अंतर रखा जा रहा पृष्ठ के ऊपर और नीचे. लेकिन इसे नजरअंदाज कर दिया है. व्हाइट अंतरिक्ष अनिवार्य रूप में नजरअंदाज कर दिया है बहुत पहले की तुलना में अन्य वेब पन्नों अंतरिक्ष बार चरित्र, या कैरिज रिटर्न, आप कीबोर्ड पर मारा. आप अधिक लाइन टूट जाता है, यदि आप चाहते हैं यह अपने आप स्पष्ट करना होगा. तो मैं कुछ बातें करने के लिए जा रहा हूँ यहाँ पर क्या हो रहा है दिखाने के लिए. मैं एक विशेषता जोड़ने के लिए जा रहा हूँ कि फिर से मौजूद है और आप सीखना रास्ता मौजूद विशेषताएँ क्या, क्या टैग मौजूद हैं, वास्तव में, ऑनलाइन संदर्भ है. एचटीएमएल भाषा की तरह है - यह बात है नहीं एक प्रोग्रामिंग भाषा. यह एक मार्कअप भाषा है - उसके बाद एक अच्छा आधे घंटे, शायद, एक घंटे साथ यह आप निश्चित रूप से, ज्यादातर समझ लेंगे अधिक संभावना है, मूल विचार. और फिर एक गूगल सर्च दूर सब है आप हो सकता है कि संभव टैग अंदर दिलचस्पी और कल्पना के अनुसार, यह काफी है आपका स्वागत है और यहाँ के लिए प्रोत्साहित किया. तो अब मुझे आगे चलते हैं और कुछ इस तरह करते हैं. पृष्ठभूमि रंग. और अब, मैं कुछ करने के लिए जा रहा हूँ लाल की तरह, अर्धविराम. और अगर आप ऐसा कर सकते हैं कुछ अलग तरीके. मैं बस की तरह सुपर रूप में इसे टाइप कर रहा हूँ स्पष्ट रूप से हो सके. लेकिन यह यहाँ यह मान रहा है कि पता चला है सीएसएस क्या कहा जाता है, व्यापक स्टाइल एक और है जो शीट्स, कुल मिलाकर भाषा. सीएसएस के साथ कुछ नहीं करना है खुले टैग और करीब टैग. यह गुण के साथ नहीं है. और संपत्तियों बस कुंजी मान रहे हैं बस कुछ शब्द है जिसका अर्थ है जोड़े,, पेट के, और फिर कुछ अन्य शब्द. और तुम बस कई लोगों को, या अगर आपके पास यहां एक, आप एक साथ यह समाप्त कर सकते हैं बस स्पष्टता के लिए अर्धविराम,. लेकिन, भी, कि यहां काम करेंगे. अब क्या यह करने के लिए जा रहा है? आप शायद अनुमान लगा सकते हैं. मुझे आगे जाना है और इस पृष्ठ पुनः लोड करते हैं. और अब यह वास्तव में साथ आ रहा है. तो मेरे पृष्ठ के ऊपर लाल है. लेकिन क्या यहां महत्वपूर्ण यह है कि मैंने उल्लेख किया है, वह है इससे पहले कि div आपको देता है पेज का एक प्रभाग. और कि यह क्या करता है वास्तव में है. यह अनिवार्य रूप में पृष्ठ बांटता आप तो कर सकते हैं कि एक आयत हेरफेर. और आयतों की इस धारणा की तरह है उस में सम्मोहक, आप के बारे में सोच अगर सबसे अधिक किसी भी वेबसाइट, शायद वहाँ यह करने के लिए कुछ संरचना. आप में से अधिकांश शायद शायद ही कभी देखा है आप लॉग इन कर रहे हैं फेसबुक के होमपेज सभी समय में. लेकिन फेसबुक के मुख पृष्ठ पर, वहाँ है शीर्ष के साथ div की किसी तरह. और यह रूप में सरल नहीं हो सकता एक div के रूप में, लेकिन वहाँ एक वहाँ आयताकार क्षेत्र. पेज के बाकी की तरह है एक बहुत पसंद है एक बड़ा div, बड़ा आयताकार क्षेत्र. बस होने से, तो लंबी कहानी को कम इन छोटे ब्लॉकों का निर्माण, आयत के रूप में बातें करने के लिए मॉडल की क्षमता, चाहे विस्तृत या संकीर्ण, आप भी कर सकते हैं संभावित कॉलम बनाने, आप के लिए अनुमति देता है आप फिर भी, वास्तव में, पन्ने बाहर करना चाहते हैं. हम वास्तव में सिर्फ scratching रहे हैं यहाँ सतह. दरअसल, मैं एक दूसरे से करते हैं, मुझे आगे जाना है और शैली करते हैं, पृष्ठभूमि रंग, हम कुछ नहीं हूँ नीले, करीब उद्धरण की तरह. चलो यह फिर से लोड करते हैं. तो अब यह भी भद्दा हो रही है. लेकिन अब मैं एक तरह से दिखावा कर सकते हैं मेरे पी सही, पाँच कौशल सेट? लाल. यह आरजीबी, लाल की याद दिलाता है हरा नीला ट्रिपल. खैर, यह, वेब प्रोग्रामिंग में पता चला है या यह है जो वेब डिजाइन, हम है अभी तक कुछ भी प्रोग्राम नहीं दर असल, तुम वास्तव में कर सकते हैं हेक्साडेसिमल कोड है. तो कुछ कुछ, कुछ कुछ, कुछ कुछ. तो आप छह हेक्साडेसिमल हो सकता है वर्ण, या तीन, कुछ मामलों में, और उन प्रश्न चिह्न के प्रत्येक एक हेक्साडेसिमल अंक हो गया है, एफ के माध्यम से शून्य. मैं लाल रंग का एक बहुत कुछ है, और चाहते हैं कोई हरा, और कोई नीले, क्या है हेक्स का उपयोग करते समय शून्य के विपरीत? यह एफ. इसलिए मुझे लगता है, शून्य शून्य शून्य शून्य एफएफ कर सकते हैं इस बचाने के लिए, और अब यहां आता था. और मैं वास्तव में एक परिवर्तन नहीं दिख रहा है. तो बोली गंदें शब्द बोलना "लाल" जाहिरा तौर पर है सभी लाल के लिए पर्याय बन गया, कोई हरा, कोई नीला. इस बीच, चलो जानबूझ बदल जाते हैं इस एक कुछ हो ABCDF तरह, यादृच्छिक. यह है कि क्या देखते हैं. यह एक बहुत अच्छा नीला है, वास्तव में, बेबी ब्लू. ठीक है, तो इन बस अब कर रहे हैं के कुछ यादृच्छिक संयोजनों अक्षर. तो हम यहाँ में फंस नहीं होगा. लेकिन फिर, यह परिशुद्धता के लिए बोलती है आप शुरू कर सकते हैं कि लागू - आप बहुत अभिभूत हो, भले ही सौंदर्यशास्त्र द्वारा. वास्तव में, आप वास्तव में चाहते हैं होने के लिए प्रभावित, मुझे आगे जाना है और बदल देना उदाहरण के लिए फ़ॉन्ट आकार,. और, अर्धविराम नोटिस जो वहाँ आवश्यक है. फ़ॉन्ट आकार, हम सिर्फ हास्यास्पद हो सकता है यहां, 96 बिंदु. उस बचाओ. वाह, यह एक बड़ा फ़ॉन्ट आकार है. ठीक है, यह बहुत आसान है. और वास्तव में, आप अनिवार्य रूप से देख रहे हैं मैं बनाया बहुत पहले वेब पेज साल पहले, जब मैं पहली बार इस सामान सीखा. इसे बनाने के लिए बहुत आसान है बहुत जल्दी घृणित बातें. और तुम Wayback से परिचित हैं अगर Archive.org पर मशीन, आप आप पा सकते हैं अपने सभी घृणित छात्र वेब पृष्ठों. एक मोर्चे पर Kermit मेंढक था. मैं मैंने सोचा था कि जहां एक चरण के माध्यम से चला गया यह की पृष्ठभूमि लेने के लिए अच्छा था मैंने सीखा है जब एक लाल पर्दा, कैसे आप कर सकते हैं टाइल छवियों फिर से, और फिर, और फिर, के साथ एक पृष्ठ को भरने के लिए एक बड़ा कठिन लाल पर्दा. और फिर, इस के शीर्ष पर, एक आइकन था आप मेरे घर में प्रवेश करने के लिए क्लिक करने के लिए किया था कि पेज कि था क्योंकि बहुत प्रचलन में ज्यादा. और फिर मेरा पहला कार्यक्रम मैं कभी लिखा PHP में, लेकिन एक भाषा में नहीं था पर्ल कहा जाता है, एक अतिथि पुस्तक, जो लिखा एक बहुत अच्छी बात है कि एक लोगों की बहुत आप की उम्मीद एक मुख पृष्ठ पर है. आप पेज को मिलता है, वे आप चाहते हैं साइन इन करें, और आप जो कर रहे हैं कहने के लिए, और यही कारण है कि तुम वहाँ हो. यह बहुत 1990 के दशक शैली वेब डिजाइन है. लेकिन इन दिनों, निश्चित रूप से, हम है आगे एक बहुत आते हैं. और तुम भी अनुभाग में, देखते हैं, करेंगे समस्या में से, सात सेट इन दिनों पुस्तकालयों का लाभ इसे बनाने के लिए इतना आसान है जल्दी से सुंदर चीजें. वास्तव में यहाँ, हम सिर्फ scratching रहे हैं आप क्या कर सकते हैं की सतह stylistically. और वास्तव में, पहले से ही, मुझे जोर दूंगी यह पहले से ही बदसूरत, नहीं हो रही है कि सिर्फ सौंदर्य की दृष्टि से, लेकिन मामले में मेरे कोड की शैली, या की मेरे कोड के डिजाइन. मैं वर्तमान में एचटीएमएल, comingled है जो हरे खुला टैग के साथ, वहाँ है सीएसएस गुण, जो पूरी तरह से कानूनी है. यह वास्तव में भाषा जहां है अपनी मूल था. लेकिन साफ ​​डिजाइन के हित में, हम फैक्टरिंग सामान शुरू कर दिया बहुत पसंद है सी फाइलों से बाहर में. घंटे फाइलें, चलो मुझे वास्तव में उस तरह का अभ्यास सिद्धांत और शुरू कर इस बजाय. मुझे, यहाँ एक शैली टैग डाल दो. जो यह भी HTML में मौजूद है, और मुझे नीचा निम्न निर्दिष्ट. मुझे इस हटा दें. पृष्ठभूमि का रंग लाल होने जा रहा है. मैं पूरी तरह से इसे हटाना जा रहा हूँ. मैं शैली से छुटकारा पाने के लिए जा रहा हूँ विशेषता, और मैं विशिष्ट रूप से करने के लिए जा रहा हूँ एक शब्द के साथ इस div पहचान - मनमाने ढंग से, लेकिन काफी, भाव गंदें शब्द बोलना "शीर्ष." और ईद एक विशेष है विशिष्ट रूप से परिभाषित करता है कि विशेषता एक निश्चित HTML तत्व उस आईडी होने के रूप में. मैं अब में यहाँ, यह शैली चाहते हैं के अंदर मेरे पृष्ठ के सिर, शैली टैग, सूचना है कि मैं हैश शीर्ष कर सकते हैं. और फिर मैं घुंघराले के एक जोड़े रख सकते हैं चलो फिर ब्रेसिज़, सी की याद ताजा करती है, और मुझे लगता है कि stylization में पेस्ट करें. और मुझे यहाँ से आगे जाने के लिए और आशा करते हैं मैं इस के साथ जा रहा हूँ जहाँ. मुझे भी एक बना दो. नीचे div के लिए. मुझे नीचे से इस घृणित कोड ले लो यहाँ, यहाँ में डाल दिया है, और मैं हो जाएगा एक छोटे से अधिक अब गुदा और शैली यह सिर्फ अपने दम पर बातें डाल द्वारा अर्धविराम समाप्त होने के साथ लाइन,. मुझे शैली टैग से छुटकारा मिलता है. लेकिन मैं अभी तक नहीं कर रहा हूँ. मैं एक और बात करने की ज़रूरत है. हाँ, आईडी, "नीचे", बोली गंदें शब्द बोलना के बराबर होती है या मैं करना चाहता हूँ जो कुछ भी आईडी उस तत्व दे. अब, मुझे यहाँ पर वापस चलते हैं. और इस नृशंस है. मैं 96 बिंदु के साथ सौदा नहीं कर सकते. के 24 बिंदु करते हैं. या फिर आप अधिक सटीक हो सकता है. आप वास्तव में पिक्सल, px, तो उपयोग कर सकते हैं आप वास्तव में बेहतर अनाज मिलता है कि अपने पृष्ठ पर नियंत्रण. एक अलग रूप में, यह जरूरी है कि नहीं है सबसे अच्छी बात यह उपयोगकर्ताओं के लिए अगर अभिगम्यता कारणों, करना चाहते हैं आकार में वृद्धि करने में सक्षम हो. ऐसा करने के तरीके हैं कि एहसास जरूरी नहीं है कि चीजें मुश्किल कोड सब कुछ. ठीक है, यह बड़ा है तो, 24 बिंदु, डिफ़ॉल्ट है जो कुछ भी की तुलना में. लेकिन अब यह एक छोटे से क्लीनर है. और मुझे यह एक कदम आगे ले लो. बस, हेडर फाइल करने के विचार की तरह हम एक कदम और करीब है कि करने के लिए कर रहे हैं नोटिस. मैं सकारात्मक असर बाहर है, लेकिन अभी भी छोड़ दिया है मेरे पृष्ठ के अंदर, उन सीएसएस नियम. क्यों मैं इस एक कदम रखना चाहते हो सकता इसके अलावा, पूरी तरह इस निकालने के लिए, और एक अलग फाइल में डाल दिया? तो मैं सही, यह पुन: उपयोग कर सकते हैं? इस तरह की बस अंतर्ज्ञान है अब ठीक है. इससे पहले, मैं यह सिर्फ दावा किया था कि शैली बदसूरत होने हो रही के अंदर का श्रेय खुद को divs. लेकिन बस की तरह है कि के माध्यम से लगता है. अगर आपके पेज, अब और अब हो जाता है आप यहाँ डाल, और यहां, और कर रहे हैं यहां, और यहां, इन अलग से सभी रंग और फ़ॉन्ट आकार, और अन्य ऐसे गुण, आपके पेज बहुत जल्दी है आप के लिए असहनीय हो जा रहा है. किसी को आप और अप करने के लिए आता है ओह, आप जानते हैं कि क्या कहते हैं? मैं वास्तव में फ़ॉन्ट आकार बदलने के लिए करना चाहते हैं दो अतिरिक्त अंक, आप जाओ और पता लगाने और बदलने के लिए हो सकता है कोड की लाइनों की एक बड़ी संख्या. यह बहुत अधिक सम्मोहक केंद्रस्थ है यहां सभी तरह के सौंदर्यशास्त्र. लेकिन आप उन पुन: उपयोग करना चाहते हैं तो कई वेब पेज में सौंदर्यशास्त्र, सभी के लिए, के लिए अधिक सम्मोहक उदाहरण के लिए, एक फाइल बना उन सामग्री के साथ बुलाया. और मुझे इस करते हैं. इस फाइल को सेव करें. मैं कहना styles.css, मनमाना, लेकिन पारंपरिक. मैं जॉन हार्वर्ड के घर में रख देंगे निर्देशिका अब सादगी के लिए. और क्या मैं अपने वेब पेज में कर सकते हैं मिलता है कुल मिलाकर शैली टैग से छुटकारा, और कुछ हद तक unintuitively, एक लिंक का उपयोग करें में आप एक लिंक देना नहीं है जो टैग, हाइपरलिंक, क्लिक करने योग्य भावना है, लेकिन मैं लिंक, href बराबरी का कहना है, जहां styles.css. और रिश्ता है कि इस तत्व वेब पेज के रूप में सेवा करने के लिए है के साथ है अपनी शैली पत्रक. तो कैसे मैं यह जानता था? एक, तुम सिर्फ हाथ से पढ़ें, या आप के आसपास गूगल, और आप विभिन्न संसाधनों पर दिखेगा. मेरा मतलब है, कि सचमुच तुम्हें लेने कैसे है लगातार इस तरह की तकनीक, और, अपने आप को नए शिक्षण की इस विचार के साथ भाषा, फिर, आप पाएंगे कि बातों का केवल एक सीमित संख्या है एक बार आप उस किसी भी भाषा के लिए उन्हें, तुम यह हो जाता है कि मिल जाएगा तेजी से और लिखने के लिए तेजी से. दरअसल, एक नई प्रोग्रामिंग सीख भाषा एक नए की तुलना में इतना तेज है बोली जाने वाली भाषा है, क्योंकि इन चीजों हैं बहुत छोटे और बहुत कुछ ठीक परिभाषित. लेकिन मैं थोड़ा प्रकाश डाला है यहां एक विसंगति की. क्यों मैं इस पर प्रकाश डाला है आगे यहाँ स्लेश? मैं टैग को बंद किया है. मैं टैग बंद हो जाना चाहिए. और तुम असंख्य संसाधनों मिलेगा ऐसा नहीं है कि ऑनलाइन जरूरी करीब टैग. और वास्तविक है, यह सख्ती नहीं है तकनीकी के लिए आवश्यक है और कर रहे हैं वास्तविकता के कारणों, ब्राउज़रों बस रहे हैं वेब में गलतियों की काफी सहिष्णु बेहतर या बदतर के लिए पृष्ठों,, लेकिन ज्यादातर खराब है. यहाँ तो यह सिर्फ एक साफ रास्ता की है , इस तरह बेवकूफ कुछ कह जहां आप लिंक टैग खोलना चाहते हैं लेकिन कोई धारणा सच नहीं है, इसे बंद एक लिंक टैग के लिए सामग्री की. यह सिर्फ इस लोड का मतलब फ़ाइल और इसे यहाँ रखा है. तेज आप कर सकते हैं सी. में शामिल हैं लगता है खुला और एक बार में सभी एक टैग बंद एक ही टैग के भीतर. और इस के अन्य उदाहरण भी है. यह ऐसा करने के लिए रास्ता नहीं है, लेकिन लाइन टूट के लिए br टैग,, अगर मैं वास्तव में मैं था क्या हासिल करना चाहता था अगर, दर्ज मार से पहले की कोशिश कर रहा मैं स्पष्ट रूप से कहना पंक्ति विराम, पंक्ति विराम, पंक्ति विराम, पंक्ति विराम, और तो इस पृष्ठ पुनः लोड, अब आप पर ध्यान देंगे पेज का है कि नीचे है, दरअसल, बहुत दूर नीचे में पेज के नीचे. लेकिन यह भी है कि बहुत अधिक किया जा सकता है सफाई से सीएसएस के साथ, और मार्जिन के साथ, और अन्य तरह के सौंदर्य के साथ तकनीक. तो अब के लिए, takeaways इस हैं. एचटीएमएल में, हम इन किया है बातें टैग कहा जाता है. सीएसएस में, हम इन बातों है गुण कहा जाता है. हम इन दो भाषाओं comingle कर सकते हैं, या तो शैली विशेषता का उपयोग करके, या शैली टैग, या सबसे अच्छा अभी तक, फैक्टरिंग हम क्या कर के रूप में इसे पूरी तरह से बाहर, समस्या में 7 सेट. प्रश्न है, तो, के बारे में यहां वैचारिक मूल बातें? दर्शक: मैं एक सवाल है. स्पीकर 1: ओह, माफ करना. दर्शक: क्यों यह रंग नहीं था - स्पीकर 1: ओह, अन्य टैब में? यहाँ यह? दर्शक: नहीं, यह की तरह है - स्पीकर 1: ओह, यह है, क्योंकि मैं मैला किया जा रहा था. मैं गलत जगह में फ़ाइल डाल दिया. मैं वास्तव में इसे यहाँ रखा है, और मैं तो अगर यह chmod, सभी + styles.css के लिए आर, और अब अब, पृष्ठ पुनः लोड हम stylization वापस मिलता है. और फ़ॉन्ट आकार रहे हैं क्योंकि अलग, हम काफी के रूप में ज्यादा नहीं दिख रहा है सफेद स्थान. हम बजाय क्या है डिफ़ॉल्ट बजाय है. अच्छा सवाल है. हाँ? दर्शक: क्यों लिंक है हैडर के अंदर टैग? स्पीकर 1: क्यों लिंक है हैडर के अंदर टैग - संक्षिप्त उत्तर है, सिर्फ इसलिए कि. निर्णय लिया गया कि क्या है. लिंक टैग जब जाना कि जहां आप एक कहा जाता है बाह्य शैली पत्रक. अन्य प्रश्न? सब ठीक है, ठीक है चलो यह करते हैं. हम आज आगे हम इतना मज़ा है. वह सिर्फ scratching है सीएसएस की सतह. चलो यह करते हैं. चलो यहाँ एक पाँच मिनट का ब्रेक लेते हैं , मेरा ईमेल प्रति, चलो में लटका है क्योंकि आज 2:30-ish वहाँ तक. लेकिन आप के लिए क्या है अगर वह ठीक है, छोड़ दें. लेकिन हम के बाद आगे बना लेंगे एक पाँच मिनट का ब्रेक. और हम एक छोटे से कुछ सीखना होगा PHP, MySQL, और अधिक के बारे में. ठीक है, तो चलो टाई करने के लिए, अब, कोशिश करते हैं एक , एक साथ और बनाने के इन विचारों से कुछ अपने स्वयं के खोज इंजन का कहना है. मैं, बल्कि मजे की बात है, देखा निम्नलिखित. आप Google.com पर होते हैं, तो आप कर रहे हैं आम तौर पर यहाँ यह एक तरह एक यूआरएल पर डॉट कॉम के बाद कुछ भी नहीं के साथ. लेकिन मैं जैसे बेवकूफ कुछ खोजते हैं बिल्लियों, और हिट दर्ज करें, हम मिलेगा - नहीं बेवकूफ, लेकिन आप जानते हैं. ठीक है, तो, पृष्ठ के शीर्ष पर, नोटिस अब, यूआरएल, ज़ाहिर है, बदल गया है. और यह कुछ भी नहीं है हम में से किसी को नया. आप लिंक और सामान क्लिक करें वेब पर होता है. लेकिन क्या यहां दिलचस्प है पीछा कर रहा है. वहाँ अव्यवस्था की एक पूरी बहुत कुछ है, लेकिन चलो मुझे मैं नहीं है कि सामान भी फेंक दिया काफी समझ है या नहीं वास्तव में प्रासंगिक सके. मुझे इससे छुटकारा मिलता है. मुझे इससे छुटकारा मिलता है. और मुझे अभी छुटकारा मिलता है इस सब की. और अब बिल्लियों यूआरएल में सूचना है कि, एक क्यू के साथ पीछा किया, तो एक समान इसे के सामने हस्ताक्षर. तो यह इस है कैसे पता चला जब यह आता है जिस तरह से यह काम करता है इनपुट और आउटपुट के लिए. हम लंबे समय के बारे में बात की है काले बक्से, सही? तो यह लागू एक समारोह है यहाँ एक ब्लैक बॉक्स के रूप में, यह इनपुट लेता है और उत्पादन, अच्छी तरह से, साधन का उत्पादन जिसके द्वारा आप एक के लिए इनपुट प्रदान वेबसाइट अपने यूआरएल की, अक्सर, जिस तरह से है. आप बस एक सवालिया निशान लग और फिर एक महत्वपूर्ण मूल्य के बराबर होती है. फिर और फिर शायद एक एम्परसेंड, और एक और महत्वपूर्ण हो सकता है तो, मूल्य के बराबर होती है एक और एम्परसेंड, कुंजी मूल्य के बराबर होती है. कि तुम चाबियाँ में पारित कैसे है और मूल्यों, आदानों के जोड़े. मैं अब हिट दर्ज करें यदि हां, तो क्या है गूगल के बारे में दिलचस्प बात यह है कि सभी मैं नष्ट कर दिया है कि अव्यवस्था प्रकट नहीं होता है सख्ती जरूरी हो. मैं गूगल को भेजने की जरूरत है सभी सवाल है मार्क क्यू पाने के लिए बिल्लियों के बराबर होती है कुछ बिल्लियों बैक. खैर, इस बात का निहितार्थ है, तो, मैं जीएडिट को खींचने के हैं, मैं शुरू कर दिया है यहाँ अपने स्वयं के खोज इंजन बनाने seach0.html नामक एक फ़ाइल में. और मुझे आगे जाना है और हटा दें एक और लाइन है कि आप देख नहीं करने वाले थे. और अब, मुझे मेरे अपने ब्राउज़र में चलते हैं, इसलिए नहीं गूगल के लिए, और करने के लिए जाना http://localhost. और इस तरह हो रहा है. तो हम को अलविदा कहने के लिए जा रहे हैं अभी के लिए, यहाँ पर यह है कि चाल ओह, अब हम करने के लिए जा रहे हैं उस फ़ाइल को अलविदा कहना है. आप नामक एक फाइल है जब भी एक में index.html या index.php निर्देशिका, वेब सर्वर हो इस तरह से विन्यस्त है, क्या तुम हूँ डिफ़ॉल्ट रूप से, देख, कि की सामग्री है फ़ाइल के बजाय की एक सूची निर्देशिका, मैं यहाँ चाहते थे. कल्पना में इस पर और ज्यादा. तुम्हें पता है कि नहीं देखा था. तो यह है कि मैं वास्तव में क्या चाहता है. लेकिन एक पल पहले, एक वहाँ था कहा जाता है इस फ़ोल्डर में फाइल index.html और index.php. और तो वेब सर्वर था मुझे उन फ़ाइलों को दिखा. इसके बजाय, मैं इस निर्देशिका चाहते हैं यहाँ लिस्टिंग. तो मैं में जाने के लिए जा रहा हूँ सीएसएस और search0 के पास जाओ. और मैं यह है कि यह होने जा रहा है कि दावा मेरे अपने प्रतिस्पर्धी की शुरुआत खोज इंजन. और ऐसा करने के लिए, मैं में जाने के लिए जा रहा हूँ यहाँ, सीएसएस में, और साथ खुला जीएडिट, खोज 0. लेकिन दुर्भाग्य से, वहाँ बहुत यहाँ पर नहीं जा रहा. सब मैंने किया था एक शीर्षक टैग, उपयोग किया गया था जो एच 1 के नाम से जाना होता है अनिवार्य रूप से बड़ा अर्थ है और बोल्ड, और यह बात है. लेकिन इसका मतलब है कि हम जो कर सकते द्वारा आदानों इन के माध्यम से प्रदान कर रहे हैं बातें रूपों बुलाया. तो मुझे आगे और खुला और करीब जाने दो, preemptively, वहाँ एक फार्म टैग. और मुझे आगे जाना है और करते हैं कुछ इस तरह. इनपुट, प्रकार पाठ के बराबर होती है. और फिर भीतर टैग को बंद करते हैं कोष्ठक खुद को. मैं एक पाठ क्षेत्र शुरू करने की जरूरत नहीं है और एक पाठ क्षेत्र बंद करो. यह सिर्फ वहाँ या नहीं होने जा रहा है. और फिर नीचे है कि, चलो इनपुट प्रकार प्रस्तुत बराबर होती है. इस बचाएँ. और अब चलो बस करते हैं एक त्वरित मानसिक स्वास्थ्य की जांच. का रीलोड करते हैं. ठीक है, तो यह बुरा नहीं है. यह गूगल की शैली नहीं है, लेकिन यह बहुत करीब है. एक पाठ क्षेत्र है. मैं कुछ सामान में टाइप कर सकते हैं, हिट दर्ज करें, लेकिन अभी तक कुछ भी नहीं होता. मैं निर्दिष्ट नहीं किया है क्योंकि और है कि इतनी बात करने के लिए इस प्रपत्र के लिए एक कार्य,. इसलिए मैं वापस प्रपत्र तत्व के लिए जाना है, यह पता चला है, और मैं यह केवल पता प्रलेखन पढ़ने वाले से, कि फार्म टैग एक विशेषता लेता है यूआरएल है कि कहा जाता है कार्रवाई वेबसाइट के लिए जो आप प्रपत्र भेजना चाहते हैं. मैं वास्तव में हम करने के लिए समय नहीं लगता एक के लिए पूरे वापस अंत लागू खोज इंजन आज. तो हम बस, एह कहने जा रहे हैं google.com / खोज करने के लिए जाना. और अब मुझे मेरे उद्धरण को बंद करते हैं. और मुझे आगे निर्दिष्ट करते हैं कि उपयोग करने के लिए विधि जा रहा है मिल बुलाया जाए. लंबी कहानी संक्षेप में, पर, दो तरीके है कम से कम, आपको जानकारी प्रस्तुत कर सकते हैं कि ब्राउज़र से सर्वर से. एक, मिलता है, और, आज के उद्देश्यों के लिए है कि सिर्फ यूआरएल में इसका मतलब है. आप वास्तव में प्रश्न चिह्न, देखते हैं लक्षण के बराबर होती है, और एम्परसेंड्स कि हमने पहले देखा था. या पोस्ट कहा जाता है वहाँ एक विकल्प है. अभी के लिए, उस पोस्ट अक्सर प्रयोग किया जाता है पता आप चाहें, तो फाइलें अपलोड करना चाहते हैं छवियों और बहुत आगे है, या जब आप करना चाहते हैं क्रेडिट कार्ड की जानकारी जमा या यह नहीं है कि पासवर्ड, कुछ भी वास्तव में धारणा, समझ बनाने के लिए, या सुरक्षा बुद्धिमान, यूआरएल के में खत्म करने के लिए अपने ब्राउज़र, जहां snooping माता पिता, उपयोग के साथ या कमरे में रहते हैं, या किसी को भी अपने कंप्यूटर से देख सकते हैं. तो चलो यहाँ सहेजने दें. और मैं एक और बात करने की ज़रूरत है. यह करने के लिए अभी पर्याप्त नहीं है कहते हैं मुझे एक पाठ क्षेत्र दे. मुझे लगता है कि क्षेत्र के देना है एक नाम मान. तो मुझे गूगल की पसंद के उधार ले नाम, क्यू, और है कि दूसरा निर्दिष्ट मैं वास्तव में परवाह नहीं है विशेषता के बारे में सबमिट बटन का नाम. मैं देखभाल के बारे में प्रस्तुत है क्या उपयोगकर्ता प्रकार के अंदर और अब इस तरह बदसूरत है. यह सिर्फ प्रस्तुत कहते हैं. यह पता चला है, और मैं से यह पता प्रलेखन, मैं वास्तव में कह सकते हैं मूल्य बोली गंदें शब्द बोलना "CS50 के बराबर होती है खोज, "बंद भाव. तो चलो फिर से फिर से लोड करते हैं. इसलिए मैं कमान आर मार रखने के लिए, या पुनः लोड करने के लिए अपने कीबोर्ड पर नियंत्रण, आर. अब हम एक और अधिक दिलचस्प है खोज इंजन. यह काफी की तरह नहीं लगती हालांकि, अभी तक गूगल. तो चलो यहां से आगे जाने दिया और एक छोटी सी पंक्ति विराम करते हैं. ठीक है, तो अब हम गूगल है. हम वास्तव में लगभग गूगल की क्या ज़रूरत है. तो अब क्या होने वाला है? मैं कुछ में टाइप करने के लिए जा रहा हूँ बिल्लियों की तरह. और ब्राउज़र पार्स करने के लिए जा रहा है मैं परिभाषित है कि उस प्रपत्र. और उसे भेजने के लिए जा रहा है कि यूआरएल के लिए उपयोगकर्ता. तो इस बार, कुछ जिज्ञासु कारण से, मैं स्टॉक के बारे में अधिक जानकारी मिल गया वास्तविक बिल्लियों के बारे में की तुलना में. लेकिन वह ठीक है नोटिस हम अभी भी है क्योंकि यहां समाप्त हो गया, क्यू बिल्लियों के बराबर होती है. तो लंबी कहानी को कम, यह काफी लगता है उपयोगकर्ता से इनपुट मिल तुच्छ. और निष्पक्ष होना, गुच्छों वहाँ प्रपत्र फ़ील्ड अन्य प्रकार की. वहाँ की जांच बक्से है, और थोड़ा परस्पर विशेष रेडियो बटन, और मेनू, और अधिक नीचे छोड़. लेकिन उन सभी के रूप में अपेक्षाकृत रहे हैं आसानी के रूप में कार्यान्वित इस पाठ क्षेत्र था. और अंत में, हम सिर्फ बनाने के लिए है यकीन है कि किसी अन्य पर सुन रहा है पंक्ति के अंत कि प्राप्त करने के लिए जानकारी किसी भी तरह, संसाधित, और हमें हमारे बिल्लियों वापस दे. चलो एक थोड़ा पर देखें अधिक शामिल उदाहरण. मुझे मेरे vhost की निर्देशिका में चलते हैं, में स्थानीय मेजबान, सार्वजनिक, और जहां मैं आज के स्रोत कोड डाल दिया. इस सब के सब पाठ्यक्रम पर हो जाएगा आप के साथ टिंकर करने के लिए वेबसाइट. और मैं froshims में जाओ, मुझे खुला इस फाइल को अब, froshim0.php. यह एक बहुत, एक छोटे से अधिक वाचाल है हम खरोंच से यह लिख नहीं होगा. लेकिन अभी कुछ हद तक नोटिस परिचित विशेषताओं. एक, प्रपत्र टैग, अलग कार्रवाई की. यह एक पूर्ण यूआरएल नहीं है. अब, यह फाइल करने के लिए जाहिरा तौर पर बुलाया है , एक पल में, क्योंकि register0.php मैं अपने आप को एक छोटे से पढ़ाने के लिए जा रहा हूँ पीएचपी, एक प्रोग्रामिंग के बारे में कुछ भाषा, PHP के लिए इस्तेमाल किया जा सकता है क्योंकि गूगल के रूप में कार्यान्वित क्या लागू उनकी खोज इंजन के पीछे के अंत. गूगल, वास्तविकता में, शायद का उपयोग करता है कुछ अजगर, कुछ सी + +, और अन्य भाषाओं के गुच्छों. लेकिन हम निश्चित रूप से खोज लागू कर सकता है हम चाहते थे कि अगर PHP का प्रयोग का परिणाम है. लेकिन अब के लिए, हम इसे सरल रखने देंगे. और इस एक के लिए वास्तव में याद ताजा करती है अन्य बहुत पहले वेबसाइटों की मैं साल पहले बनाया. पीछे मेरा दिन में, आप के लिए पंजीकृत एक नए रूप में अंदर का खेल से घूमना, कागज के एक टुकड़े को भरना यार्ड में, और में यह गिर में एक प्रॉक्टर के मेलबॉक्स Wigglesworth, और था कि कैसे आप दर्ज की गई. और इसलिए मेरे परियोजना शीघ्र ही CS50 के बाद, आदर्श बनाता है जो कि, रखा गया था भावना, वेब पर, जो नहीं था यह अब है तो के रूप में प्रचलित है. लेकिन हम सभी के लिए था बनाने था, अनिवार्य रूप से, एक HTML फार्म. और उस प्रपत्र देखा मोटे तौर पर इस तरह से. मैं के लिए एक इनपुट था नए का नाम. मैं चाहे या के लिए एक और चेक बॉक्स था या वे कप्तान बनना चाहता था नहीं, क्या उनके लिंग था, और क्या उनके छात्रावास था. और फिर मैं कठिन चीजों में कोडित Apley कोर्ट, और Canaday, जैसे इसके आगे Grays, और. तो फिर, नए टैग. पहले इन नहीं देखा है, नया गुण, लेकिन काफी सुलभ. आप एक उदाहरण देख लेते हैं, तो आप की तरह कर सकते हैं का विचार है कि उधार लेने और एक बूंद कर सबसे कुछ के लिए नीचे मेनू. लेकिन क्या महत्वपूर्ण है है कि के प्रत्येक इन बातों नाम है. और इस फार्म के तल पर, वहाँ है एक जिसका लेबल बटन सबमिट करें, या मूल्य, रजिस्टर है. तो चलो इस पेज को जाने दिया. मुझे में वापस जाओ निर्देशिका लिस्टिंग. मुझे froshims में चलते हैं, और froshim0.php के पास जाओ. तो यह निष्पक्ष हो, घृणित है. तो मैं निश्चित रूप से इस stylize सकता कुछ सीएसएस के साथ, मैं कुछ कर सकता है ग्राफिक्स, शायद कुछ रंग जोड़ने के लिए, और इस सुंदर बनाने. लेकिन कार्यात्मक, मैं तर्क था कि इस वास्तव में बहुत पूरा हो गया है. दुर्भाग्य से, मैं इस भरते हैं, दाऊद, कप्तान, नर, हम चुनेंगे, के मैथ्यू, रजिस्टर, हम कहते हैं ऐसा होता है कि यह सब है. लेकिन takeaways के एक जोड़े को नोटिस. एक, क्या फ़ाइल उन लौटे परिणाम, जाहिरा तौर पर? तो यह वास्तव में, register0.php है. हम उस कार्रवाई को देखा तो यह है कि तथ्य , register0 के लिए एक पल पहले यह मान हम वास्तव में समाप्त हो गया है कि पुष्टि होती है उस विशेष फ़ाइल पर. अब यह सिर्फ बदसूरत पाठ है. लेकिन इस पाठ है कि नोटिस स्थानीय मेजबान से आ रहा है, जो उपकरण से है. बस के रूप में अब उपकरण के बारे में सोचो हो सकता है कि एक वेब सर्वर विज्ञान केंद्र. यह वास्तविक वेब पर हो सकता है. तो यह सार्वजनिक रूप से सुलभ है. तो जाहिर है, पासिंग का कोई रास्ता नहीं है एक सर्वर से प्रपत्र फ़ील्ड आदानों यह उन लोगों के साथ कुछ कर सकते हैं. दुर्भाग्य से, register0 बहुत मूर्ख है. सभी यह है प्रिंट बाहर एक सरणी है कि इस तरह दिखता है. और उस में एक सरणी नहीं है हम यह जानते हैं कि भावना. कि पीएचपी, और का एक बहुत बाहर वर्षगांठ भाषा, न केवल संख्यानुसार है जिसका पहला सूचकांक है अनुक्रमित सरणियों शून्य, तो एक, फिर दो, तब डॉट, डॉट, डॉट, एन शून्य से 1. यह एक कहा जाता है क्या है साहचर्य सरणी. एक साहचर्य सरणी जिसमें से एक है आप कुंजी मूल्य जोड़े स्टोर कर सकते हैं कुंजी जरूरी संख्या नहीं है. यह वास्तव में एक शब्द एक स्ट्रिंग हो सकता है. और इसलिए यह लागू किया जा सकता है, हुड के नीचे, यह पता चला है, एक के रूप में जाना एक डेटा संरचना का उपयोग? सोचा नाटकीय कुछ होने वाला था - तालिका हैश. तो एक हैश तालिका, याद है, आप में से उन जो याद भी 6 सेट P के लिए यह किया है, या यह आपको एक कोशिश की थी, कम से कम, भले ही एक हैश तालिका, हमारे उपयोग में, करने के लिए इस्तेमाल किया गया था सिर्फ शब्दों की दुकान. लेकिन वास्तव में, तुम भंडारण के थे कुंजी और मूल्यों. आप पी के लिए एक हैश तालिका यदि लागू 6 शब्दकोश सेट, चाबियाँ थे अपने शब्दों, और मूल्यों प्रभावी रूप से सही है या गलत थे. हाँ, यहाँ, या परोक्ष, नहीं, यहाँ नहीं. ठीक है, हम विचार है कि सामान्य कर सकते हैं. और हम एक बहुत ही इसी तरह के डेटा का उपयोग कर सकता है स्ट्रिंग नहीं स्टोर करने के लिए संरचना खुद अपने हैश तालिका में अकेले, लेकिन मान लीजिए कि आपके हैश में से हर एक में तालिका के नोड्स. और तुम भी एक कोशिश में यह कर सकता है के बजाय सिर्फ एक bool है. आप कुछ और हो सकता था. कुंजी मैक्सवेल, के लिए नहीं था क्या अगर उदाहरण के लिए, लेकिन बोली गंदें शब्द बोलना "नाम", या बोली "कप्तान." गंदें शब्द बोलना और के अंदर अपनी सी डेटा संरचना, आप एक डाल मूल्य ही नहीं, एक बूलियन, लेकिन मूल्य के जैसे, "डेविड" गंदें शब्द बोलना बोली या इसके आगे "एम" या "मैथ्यू," और. हम प्रयोग किया जाता तो वे एक ही डेटा संरचनाओं जाहिरा तौर पर अन्य भाषाओं में मौजूद हैं. और मुझे लगता है वे वास्तव में बहुत हो बहस होगी बहुत सरल यहाँ तक पहुँचने के लिए. वास्तव में चलो एक नज़र रखना अब कुछ ऐसे वाक्य रचना में. मैं एक PHP निर्देशिका में जाने के लिए जा रहा हूँ. और मैं एक बेहतर खोलने के लिए जा रहा हूँ पहले से नमस्ते -0 का संस्करण. सब मैंने किया था कि नोटिस कुछ टिप्पणियां जोड़ें. इसलिए हम चाहते हैं कि व्याकुलता से छुटकारा मिल सकता. और इस कार्यक्रम के निशान वास्तव में करता है हैलो मैं बीच में निर्दिष्ट किया है क्योंकि मुझे लगता है कि कोड को निष्पादित करने के लिए चाहते हैं कि टैग. अब, हम एक पल में देखेंगे यही कारण है कि यह उपयोगी है. लेकिन यहां एक अन्य उदाहरण खोलते हैं. कहते हैं मुझे आगे जाना है और खोल दो, स्थितियां एक की जीएडिट. यह अब जिस तरह से वापस समय में है. लेकिन हफ्ते पहले, मैं एक सप्ताह में, लगता है कि या सप्ताह दो, हम नामक एक उदाहरण था conditions1.c. और मैं PHP में यह reimplement करने का निर्णय लिया बस की तरह बल देने के लिए है कि पीएचपी, वाक्य रचना से, लगभग समान है सी. करने के लिए यह एक बहुत बड़ी छलांग नहीं है पिछले सप्ताह से इस के लिए. इस कार्यक्रम के शीर्ष पर ध्यान दें जो कुछ के साथ, के रूप में पहले शुरू होता है, मैं छुटकारा मिल जाएगा जो टिप्पणियां, की एक व्याकुलता के रूप में. मैं PHP में हूँ कि नोटिस इस फाइल में मोड. इसलिए इस कोड, हम देखेंगे, मार डाला जाएगा. , ReadLine है कि वहाँ नोटिस जो शायद getstring की PHP में एनालॉग. यह थोड़ा अलग है पर ध्यान दें. आप वास्तव में करने के लिए एक त्वरित निर्दिष्ट समारोह में पढ़ा रेखा कहा जाता है, और वह है, उपयोगकर्ता क्या देखता है. तो आप मैन्युअल printf के लिए नहीं है. लेकिन यह एक बड़ा सौदा नहीं है. मैं $ n के अंदर, स्टोर करने के लिए जा रहा हूँ वापसी इस बात का मूल्य है, इसलिए जो कुछ भी उपयोगकर्ता प्रकार में उनके int है. और यहाँ एक और जिज्ञासा है. यह किसी भी चर PHP में पता चला है, बस उपसर्ग हो गया है एक डॉलर के हस्ताक्षर के साथ. यह एक छोटे से परेशान है. लेकिन मैं PHP में क्या नहीं किया है नोटिस. क्या बाएं हाथ से याद आ रही है बराबरी की ओर हस्ताक्षर? प्रकार का कोई उल्लेख नहीं किया. तो यह बेहतर के लिए सी. से अलग है या बदतर के लिए, PHP एक शिथिल है टाइप भाषा. यह संख्या है. यह तार करता है. यह Booleans है. और यह कुछ है अन्य डेटा प्रकार. लेकिन तुम, प्रोग्रामर, आमतौर पर उनके बारे में परवाह करने की जरूरत नहीं है. इस का उल्टा यह है कि बनाता है यह थोड़ा आसान करने के लिए कार्यक्रम. आप एक छोटे से कम सोच सकते हैं. नकारात्मक पक्ष यह भी है कि यह है के लिए आप खुल जाता है संभावित कीड़े अगर आप गलती एक स्ट्रिंग के रूप में एक नंबर का इलाज, एक स्ट्रिंग एक संख्या के रूप में, संभावित, लेकिन फिर भी तो, पीएचपी, और भाषाओं का एक बहुत, बहुत सहिष्णु हैं. वे क्या कहा जाता है का उपयोग करेगा निहित कास्टिंग. और तुम संदर्भ में एन का उपयोग करने की कोशिश एक सांख्यिक स्थिति की, यह होगा एक होने जा रहा है यहाँ क्या परिवर्तित स्ट्रिंग, क्योंकि अगर उपयोगकर्ता प्रकार में कुछ, और तुम परिणाम मिलता है, ReadLine के साथ के रूप में, या स्ट्रिंग मिलता है, कि एक स्ट्रिंग वापस करने के लिए जा रहा है. लेकिन, एक जोड़ी लाइनें बाद में, सूचना के मैं n शून्य से अधिक है या नहीं. तो PHP के संकेत भी डाली जा रही है मेरी "स्ट्रिंग" 123, या जो कुछ भी उपयोगकर्ता प्रकार एक पूर्णांक में, में. तो संक्षेप में, सामान सिर्फ काम करता है एक बहुत अधिक intuitively. इसलिए हम अब से कुछ आराम करने के लिए शुरू हम अतीत में किया है कि चीजें. इस सामान में से एक बहुत कुछ है वही, यद्यपि. अभी भी बराबर होती है. एक तरफ PHP भी बराबर होती गया है में, शायद, के बराबर होती है, लेकिन उस पर और अधिक भविष्य. यह एक था. दो लेकिन टाइपो एक ही अर्थ है संकेत के बराबर होती है तुलना के लिए के रूप में पहले बात,. printf पहले की तरह ही बात का मतलब है. बैकस्लैश n एक ही मतलब है के रूप में पहले बात. तो कैसे मैं इस कार्यक्रम चला सकता हूँ? खैर, पहले के रूप में, मैं PHP करते हैं, conditions1.php, और में टाइप करें 123 की तरह एक नंबर. यह एक सकारात्मक संख्या है. मैं 0 में लिखते हैं, तो मैं 0 उठाओ. मैं नकारात्मक 123 में टाइप करें और, अगर मैं मिल जो केवल एक नकारात्मक संख्या, बैक , वाक्य रचना, पीएचपी कहना सुपर इसी तरह, सुपर है. तो क्यों यह अब उपयोगी है एक वेब संदर्भ में? ठीक है, चलो इस froshims के लिए वापस जाओ उदाहरण के लिए, जो देखा, फिर, यहाँ इस तरह. और हम वास्तव में वेब पेज को खींचने के चलो फिर से, जो इस तरह से देखा. साथ हम क्या कर सकते हैं प्रस्तुत है कि डेटा? खैर, मुझे एक नए खोल देना इस का संस्करण. और आप देखेंगे कि समस्या सेट विनिर्देश से चलता है इनमें से कुछ के माध्यम से. बल्कि, शून्य के साथ शुरू से के froshims3 को देखो, जो थोड़ा और अधिक करता है. पहले नोटिस, वास्तव में, ओपन जाने 0 क्या ऊपर था, तो आप देख क्या रजिस्टर 0 था. 0 किया रजिस्टर क्या सूचना है. एक, मैं शीर्ष पर टिप्पणी की है. उन्हें हटा दें और केवल इस पर ध्यान देते हैं. Register0.php की सामग्री के अधिकांश जाहिर है, क्या भाषा, कर रहे हैं? सिर्फ कच्चे PHP. तो नोटिस, इस फाइल को प्रारंभ नहीं होता साथ, पल में, खुले ब्रैकेट, प्रश्न चिह्न, पीएचपी. PHP यदि आप मिलाना करने की अनुमति है एचटीएमएल टैग के साथ PHP कोड. लेकिन मैं अंदर यहां किया है कि यहाँ पर पेज के. अब, फिर से, आप केवल से यह पता था पुस्तिका पर देखा. , print_r यह पता चला है, print_recursive है. _recursive और यह सिर्फ एक काम है बस से बाहर है कि प्रिंट उपयोगिता समारोह, बारी बारी से, जो कुछ भी तुम इसे हाथ. आप इसे एक सरणी हाथ हैं, यह एक सरणी मुद्रित करेंगे. आप इसे एक नंबर हाथ हैं, यह एक संख्या मुद्रित करेंगे. यह एक स्ट्रिंग हाथ, यह हूँ एक स्ट्रिंग मुद्रित. आप इसे एक हैश तालिका हाथ है, यह एक हैश तालिका बाहर प्रिंट होगा. आप सब लिखने की जरूरत नहीं है कोड है कि अपने आप को. अब मैं प्रवेश कर रहा हूँ कि नोटिस यहाँ पर PHP मोड. मैं यहाँ पर PHP मोड बाहर निकलने रहा हूँ. वेब सर्वर इस फाइल पढ़ता है तो जब नीचे से ऊपर, सही करने के लिए छोड़ दिया क्योंकि यह. PHP नामक एक फ़ाइल नाम में समाप्त होता है, PHP टैग के अंदर नहीं है जो कुछ भी है बस थूक होने जा रहा कच्चे HTML की तरह, बाहर. कोई बड़ी बात नहीं. लेकिन जैसे ही वेब सर्वर नोटिस के रूप में यही नहीं, यह कहने के लिए जा रहा है, मैं नहीं करना चाहिए सचमुच, print_r पोस्ट की, थूक. मैं निम्नलिखित पर अमल करना चाहिए कोड की लाइन. इस फाइल के तो आखिरी सवाल, फिर, , खैर, इस बिल्ली क्या है? एक अनुमान ले लो. $ _POST शायद, क्या है? दर्शक: [सुनाई] स्पीकर 1: हाँ, तैनात डेटा. याद है, में वापस स्क्रॉल बस एक पल के लिए समय है. froshim0, फिर से, इस तरह से देखा. इस का एक सुपर बहुमत बस HTML है. फिर, कुछ टैग आप नहीं है अभी तक देखा है, या जो साथ आप पहले से ही परिचित हैं. लेकिन दिलचस्प बात यह थी. इस एक लाइन वास्तव में लिंक क्या है हमारे register0.php फाइल करने के लिए यह. मैं विधि पोस्ट के माध्यम से प्रस्तुत कर रहा हूँ. और इसका मतलब है कि मापदंडों में उपयोगकर्ता प्रकार नहीं कर रहे हैं जहां खत्म होता जा रहा है. वे नहीं जा रहे हैं यूआरएल में दिखा. वे अभी से भेजे जाने के लिए जा रहे हैं ब्राउज़र से, करने के लिए ग्राहक, सर्वर है, लेकिन अभी कुछ अन्य के माध्यम से हम अपने हाथों को माफ कर देंगे कि तंत्र आज के लिए कम, लेकिन यह यूआरएल में नहीं है. लेकिन साथ अब रिश्ते नोटिस सम्मेलन द्वारा, है जो, पोस्ट, यहाँ लोअरकेस. लेकिन मैं register0.php खोल अगर, मैं जाहिरा तौर पर यह मुद्रण कर रहा हूँ. तो यह एक अजीब की तरह है सम्मेलन नामकरण. लेकिन क्या PHP में अच्छी बात यह है कि जब एक पर एक वेब संदर्भ PHP में नहीं का उपयोग आदेश पंक्ति मैं एक पल पहले किया था, आप वास्तव में एक वेब में यह प्रयोग कर रहे हैं जब पेज, हम कर रहे हैं के रूप में एक vhost निर्देशिका में, यह स्वचालित रूप से भरने PHP जाएगा एक साहचर्य सरणी है जो बात,, इसलिए, के साथ, एक हैश तालिका बात करने के लिए उपयोगकर्ता अंदर टाइप किया सब कुछ संक्षेप में, सभी टोपियां में $ _POST एक है वैश्विक चर कि PHP बस जादुई आप के लिए बनाता है जब एक वेब संदर्भ में PHP का उपयोग कर. और यह इसके अंदर के सभी डालता है फॉर्म में मापदंडों का नाम उस इस फाइल और सभी के लिए प्रस्तुत किया गया था उपयोगकर्ता अंदर लिखे गए मूल्यों तो यह क्या उपयोगकर्ता आप के लिए हाथ उस प्रपत्र में टाइप. तो इससे पहले, हम वास्तव में बेवकूफ उत्पादन मिला का सिर्फ यह देख क्योंकि सब मैंने किया बारी बारी से इस सरणी मुद्रित किया गया था. कुंजी मान दाऊद है, नाम है. कुंजी कप्तान है. मूल्य पर है. और डबल तीर और कोण वहाँ वर्ग, यह सिर्फ मनमाना है. यह कोड नहीं है. यह सिर्फ आपको दिखा के PHP की तरह है कुछ प्रमुख का मूल्य क्या है. लेकिन अब मुझे में प्रस्ताव है कि चलो froshIMs3, यह लगभग समान है यह इस फ़ाइल को पेश छोड़कर. और फिर, हम किस तरह की बस जा रहे हैं इस पर नज़र, बस कुछ देखने के लिए वाक्यविन्यास, लेकिन क्या नोटिस इस फाइल करता है. बस की तर्ज पर आधारित एक अनुमान ले लो शायद दिखते हैं जो कोड, कुछ हद तक, यूनानी जाहिरा तौर पर कर रही है. इस फ़ाइल में किसी भी तरह से संबंधित है , ईमेल मेल करने के लिए. इसलिए इस कार्यक्रम में क्या कर रही है? इस संस्करण में, मैं करने के लिए वास्तव में थे इस फॉर्म को भरें - और मेरे लिए चलते हैं froshIMs3, नहीं froshIMs0 - फार्म में ही दिखता है. दाऊद, कप्तान, पुरुष, छात्रावास, मैथ्यू. मैं इस प्रस्तुत लेकिन, अगर यह फाइल है register3.php के लिए जाना जा रहा है. और मैं यह है पर देख कर, दावा स्रोत कोड, यह जा रहा है किसी भी तरह से ईमेल शामिल है. मुझे आगे जाना है और इस खोलते हैं एक बड़ी खिड़की में, तो हम अधिक सफाई से इसे देख सकते हैं. हम vhosts, स्थानीय मेजबान में कर रहे हैं, सार्वजनिक, froshims. मैं एक अलग खोलने के लिए जा रहा हूँ कार्यक्रम, बस हम तो एक बार में अधिक देख सकते हैं. तो अब, यहाँ कुछ बातों पर ध्यान. फ़ाइल के शीर्ष पर खुला है ब्रैकेट, प्रश्न चिह्न, पीएचपी. फिर टिप्पणियों का एक गुच्छा है, हम अनदेखा कर सकते हैं, जो है अब के लिए शुष्क. अब यह नहीं है. यह PHP एक बहुत कुछ है पता चला है कोड की आवश्यकता होती है बुलाया. यह सी के लिए आत्मा में बहुत समान है , हैश शामिल हैं, जिसमें शामिल अनिवार्य रूप से कुछ की सामग्री पकड़ लेता है सिर्फ अन्य फ़ाइल और उन्हें यहाँ plops इसलिए आप उन्हें इस्तेमाल कर सकते हैं. इस मामले में, उपकरण, है पहले से स्थापित, एक पुस्तकालय, स्वतंत्र और PHP बुलाया खुला स्रोत पुस्तकालय मेलर किसी को भी यह कर सकते हैं कि इंटरनेट से डाउनलोड. हम सिर्फ तुम्हारे लिए ऐसा किया था. और यह मैं अब ईमेल किया है इसका मतलब अपने निपटान में कार्यक्षमता. अब, कुछ बातों पर ध्यान. मैं मान्य करने के लिए जा रहा हूँ फार्म सबमिशन. पीएचपी, एक, विस्मयादिबोधक है बाहर वर्षगांठ नहीं ऑपरेटर, जैसे के लिए अंक सी. लेकिन PHP भी एक समारोह है खाली बुलाया. खाली बस सच रिटर्न अगर मूल्य आप में इसे हाथ बात की कोष्ठकों तरह खाली है, उपयोगकर्ता अंदर कुछ भी टाइप नहीं था तो यह कह रही है, और सूचना है अगर, सी के वाक्यविन्यास, बहुत याद ताजा , फार्म में महत्वपूर्ण है, इसलिए नाम फ़ील्ड नाम द्वारा, पोस्ट के माध्यम से प्रस्तुत किया गया था जो उपयोगकर्ता, खाली करने के लिए नहीं है, और उनके लिंग के रूप में रूप में खाली नहीं है ठीक है, और उनके छात्रावास खाली नहीं है - लेकिन नोटिस मैं कप्तान के बारे में परवाह नहीं है तो क्या हम क्या करने जा रहे हैं? मैं निष्पादित करने के लिए जा रहा हूँ कोड की इस पंक्ति. और अगर आप इस तरह की सोच सकते हैं malloc की तरह है, लेकिन यह एक छोटे से है उस से भी शौक़ीन. लेकिन अब के लिए यह मेरे लिए एक विशेष देता है प्रकार PHP मेलर की संरचना. लेकिन आज के लिए कीवर्ड नई उपेक्षा. अब मैं एक समारोह कॉल करने के लिए जा रहा हूँ कहते हैं जो IsSMTP, एसएमटीपी का उपयोग करें. यह सिर्फ वीडियो की तरह, पोर्ट 25 है बात फेंक रहा था जब पिछले हफ्ते, फ़ायरवॉल में ईमेल. पोर्ट 25 एसएमटीपी है. SMTP मेल सर्वर का उपयोग का मतलब है. एक है, जो हम हार्वर्ड उपयोग कर सकते हैं SMTP.fas.harvard.edu. हम पते से सेट कर सकते हैं जॉन हार्वर्ड हो. मैं आगे नीचे स्क्रॉल, तो मैं सेट कर सकते हैं प्राप्तकर्ता पता है, बस मनमाने ढंग से, जॉन होने के लिए हार्वर्ड के रूप में अच्छी तरह से. इसलिए वह खुद को ईमेल किया जा रहा है. अब मैं इस विषय निर्धारित कर सकते हैं पंजीकरण किया जाना है. और मैं शरीर सेट कर सकते हैं इस प्रकार के रूप में ईमेल के. इस लाइन, एक छोटे से अधिक गूढ़ लग रहा है वहाँ एक बहुत क्योंकि लेकिन सिर्फ है कि उस में जानकारी की. एक, एक डॉट ऑपरेटर नहीं है. किसी को पहले से ही पता होना चाहिए क्या डॉट ऑपरेटर करता है. यह कड़ी है. तो आप PHP में एक स्ट्रिंग ले जाना चाहता हूँ, और करने के लिए, यह संलग्न है, या यह पहले जोड़ें PHP में एक स्ट्रिंग, भगवान शुक्रिया strcopy और malloc का उपयोग करने के लिए नहीं है, अब उस की और सब. आप दो स्ट्रिंग्स जोड़ना चाहते हैं, जो स्मृति के बारे में परवाह नहीं है. आप के लिए PHP आंकड़ा है कि बाहर निकालो. PHP डॉट ऑपरेटर के साथ क्या करेंगे यहां बस से बाहर एक बड़ा वाक्य बनाना है इस लाइन का, इस लाइन, इस लाइन, इस लाइन. और अब यह हो रहा है, नोटिस मूल्यों में plugging किया जाना है. तो जॉन हार्वर्ड जा रहा है कि ईमेल प्राप्त करने के लिए सचमुच कहने जा रहा है नाम, पेट, कुछ, बल्कि, तो हम स्ट्रिंग बंद और पर जुटना आपके द्वारा लिखा गया जो कुछ उपयोगकर्ता फिर एक नई लाइन में. फिर, जॉन हार्वर्ड की अगली पंक्ति पर ईमेल, यह कहने जा रहा है कप्तान को या कुछ भी नहीं है. यह लिंग कहने जा रहा है, पुरुष या महिला. छात्रावास मैथ्यू होने जा रहा है मेरे मामले में. और फिर परिचित अर्धविराम नोटिस बहुत अंत में. और फिर, यहाँ नीचे, कुछ हद तक, नोटिस अभी गुप्त है, लेकिन फिर, के बाद एक अधिक परिचित हो जाएगा कि पैटर्न मेल भेजने अगर पी, 7 सेट के बाद झूठी देता है, तो आगे चलते हैं और मर जाते हैं. तो पीएचपी, मरने कहा जाता है एक समारोह है जो, सचमुच, बस मारता बस वेबसाइट और प्रिंट जो भी आप यह बता - अपनी मर रहा है शब्द, तो बात करो. और कहा कि, मामले में, यह मुद्रित होगा त्रुटि की जानकारी के लिए क्या है जो कुछ भी गलत हुआ. हम क्या हैं यहां तो लंबी कहानी को कम, एक उदाहरण है, जहां जब उपयोगकर्ता फार्म, froshim0 प्रस्तुत है, froshims3.php, यह करने के लिए चला जाता है register3.php. लेकिन register3.php तो आय इन लाइनों के सभी निष्पादित करने के लिए. तो यहाँ कुछ ले aways नहीं है. एक, यह जाहिरा तौर पर काफी आसान है, प्रोग्राम के रूप में, ईमेल भेजने के लिए, जो अच्छा है. उपयोगकर्ताओं में, अपनी साइट के लिए रजिस्टर करते हो इस मामले में, वे के लिए रजिस्टर जब अपने खेल, आप नए ईमेल कर सकते हैं प्रॉक्टर, या जॉन हार्वर्ड, इस मामले में. लेकिन यह भी है कि आप क्या कर सकते हैं इसका मतलब है? किसी से किसी को भी ईमेल भेजें. और यह बिल्कुल सच है. इस रूप में आसानी से अगर ऐसा नहीं किया गया है आप जीमेल का प्रयोग करने के लिए इस्तेमाल कर रहे हैं. लेकिन क्या आपने कभी यूडोरा या उपयोग किया है आउटलुक, तुम बहुत ज्यादा एक बता सकते हैं मेल सर्वर है कि आप कर रहे हैं आप चाहते हैं कि किसी को भी. मैं पर खड़ा करने की जरूरत है, जहां और यह है ऐसा नहीं करते हैं, कि टोपी और कहते हैं. लेकिन यह वसीयतनामा करने के लिए अभी कितना आसान यह फ़िशिंग हमलों प्रदर्शन करने के लिए है, और अनाम ईमेल भेजने के लिए, और स्पैम, अधिक आम तौर पर. और यह वास्तव में करने के लिए नीचे फोड़े आप सभी की जरूरत है कुछ तथ्य यह है कि प्रोग्रामेटिक पहुँच. साथ में एक अलग, मेरे करीबी मुठभेड़ विज्ञापन बोर्ड, मेरे अपने नए साल के, मैं इस शांत जब पता चला था आप कर सकते हैं, वाह, कि चाल किसी से ईमेल भेजें. और इसलिए हम कुछ मूर्ख कर रहे थे तर्क, सचमुच, मैथ्यू में, मेरे प्रॉक्टर समूह के बीच. मैं भी याद नहीं है क्या मुद्दा था. लेकिन मैं एक डाल करने के लिए कोशिश करना चाहता था इस बेवकूफ बहस को खत्म होता है. इसलिए मुझे लगता है मैं बस एक ईमेल भेजने का फैसला मेरे प्रॉक्टर समूह में, होने का नाटक जिसका विचार के साथ मैं दूसरे आदमी, असहमत है, और उसे मौन स्वीकृति देना है मेरी राय में जो कुछ भी था इस विशेष बहस. और इसलिए मैं एक का उपयोग कर इस ईमेल जाली इस भावना में इसी तरह की तकनीक. लेकिन यह वास्तव में आसान था समय पर. भेजें मारा. वह चाहते हैं की कृपा, और न ही नहीं था विज्ञापन बोर्ड की गई है. और मैं बहुत जल्दी भीतर पकड़ा गया सेकंड आप जानते हैं, मैं हस्ताक्षर, क्योंकि एक निश्चित तरीके से मेरे ईमेल. और मैं बड़े में, स्वयं कर यद्यपि भाग, 15 साल बाद मैं गया था क्योंकि उस से आघात. मैं एक हस्ताक्षर नहीं है अब मेरे ईमेल पर. लेकिन 1995 में, मैं सिर्फ एक हस्ताक्षर किया था, अपने ईमेल में एक हस्ताक्षर. तो प्यारे, कह रही है इस पर ध्यान दें वहाँ था प्रॉक्टर समूह, मैं मेरी राय acquiesce और दाऊद के साथ सहमत हैं, तो हस्ताक्षर किए और इसलिए, नई लाइन, नई लाइन, DJM. तो यह है कि क्या करना है या सामान्य रूप में, नहीं लेते इस तकनीक का लाभ. लेकिन के लिए की तरह, एक वेबसाइट बनाने जब अपने अंतिम परियोजना बना रही है जब एक उद्यमी कुछ के लिए वेबसाइट, इस कैसे, pragmatically, आप यह कर सकते है इंटरनेट पर लाभ उठाने अन्य सेवाएं मेल की तरह और फिर वास्तव में कोड का उपयोग कर बातें भेजें. तो कैसे हम इस पर सुधार कर सकते हैं? खैर, पहले की एक त्वरित दौरे ले जाने आप देखेंगे कि कुछ बातें की, और फिर पर एक नज़र रखना उदाहरण के एक जोड़े. एक तो, आश्वस्त करने के लिए है क्योंकि हम PHP के माध्यम से उड़ान भर रहे हैं. और मुझे लगता है, कुछ बिंदु पर, आप होगा पता वास्तव में आप अगर इस लेखन शुरू करने के लिए पहले से ही नहीं है. एक, मुख्य प्रकार है, एहसास है कि के PHP के साथ खिड़की से बाहर. आप हो जाता है कि कोड लिखने के लिए चाहते हैं मार डाला, आप बस में लेखन शुरू इसलिए जब तक. PHP नामक एक फाइल आप खुले कोष्ठक प्रश्न चिह्न PHP टैग. लेकिन इन कर रहे हैं नोटिस PHP में स्थितियां. सूचना, यह ठीक उसी स्लाइड है हम था जब हम एक सप्ताह में था सी. शर्तों में में स्थितियां PHP संरचनात्मक रूप से कर रहे हैं और एक ही वाक्य रचना. तुम मिल गया है, तो केवल वास्तविक अंतर है शामिल चर, आप उन है डॉलर के संकेत. इस बीच, बूलियन अभिव्यक्ति बस के लिए इस तरह दिखेगा या हैैं या एक साथ और हैैं. स्विच बिल्कुल वैसा ही दिखेगा. क्या PHP में अच्छा है, जबकि सी में, स्विच मामलों पर रहना होगा PHP में ints या घर का काम जैसे पुरातन, आपके मामले बयान वास्तव में हो सकता है एक पूरे के तार पर, जो है वास्तव में एक तरह से अच्छा है. आप कुछ समय बचाता है. सी. में ऐसा नहीं कर सकता यहाँ PHP में पाश के लिए एक है. यह समान है. कुछ डॉलर के संकेत हो सकता है चर के लिए. आप का उल्लेख करने की जरूरत नहीं है कि कुछ एक पूर्णांक है. तुम सिर्फ एक डॉलर के हस्ताक्षर के साथ यह घोषित और चर का नाम. लेकिन पाश के लिए एक ही है. एक समय पाश में ही है. एक पाश में एक ही है, जबकि करते हैं. यह थोड़ा अलग है. तो PHP के साथ, एक सरणी के साथ, आप कर सकते हैं स्थिर रुप से एक सरणी की घोषणा, सी, के रूप में लेकिन तुम वर्ग कोष्ठक का उपयोग करें. सी में, आप घुंघराले ब्रेसिज़ का प्रयोग करेंगे, आप भी जानते थे कि अगर. लेकिन इस PHP में वास्तव में बहुत आम है इस मामले में, एक सरणी की घोषणा की, संख्या की, और कॉल चर संख्या. चर खुद को इस तरह दिखेगा. यहाँ एक स्ट्रिंग, बोली गंदें शब्द बोलना "हैलो है दुनिया. "आप एक बैकस्लैश पता हो सकता था. मैं तो बस इस मामले में नहीं है. अब यह एक दिलचस्प निर्माण है. सी यह नहीं है. लेकिन इस सुपर मददगार है. और आप 7 सेट पी में इस देखेंगे कल्पना - प्रत्येक निर्माण के लिए एक. आप सब से अधिक दोहराना चाहते हैं तत्वों एक सरणी, तुम नहीं है $ मैं और $ एन के साथ सौदा करने के लिए, और + +, और यह सब. तुम सचमुच, कह सकते हैं PHP में, इस - प्रत्येक संख्या के लिए संख्या के रूप में, तो मुझे लगता है कि $ संख्या मान रहा हूँ संख्या की एक सरणी है. और मैं प्रत्येक संख्या के लिए कहते हैं जब संख्या के रूप में, यह जा रहा है स्वचालित रूप से, मेरे पाश कार्यान्वित के रूप में, अद्यतन, प्रत्येक यात्रा पर, मूल्य डॉलर के हस्ताक्षर संख्या के अंदर - फिर से, और फिर, और फिर घूमना उस सरणी से अधिक मेरे लिए. तो यह सिर्फ हमारे कोड बचाता है. कोई अर्धविराम, कोई + + के पास, नहीं मैं, एन के नहीं, यह सिर्फ अच्छा है. लेकिन PHP भी यह है. और इस सुपर शक्तिशाली है. और तुम, हाथ में इस का उपयोग करेंगे पर, पी में 7 सेट. और साहचर्य सरणी भी घोषित किया जाता है वर्ग कोष्ठक के साथ. लेकिन अब वाक्यविन्यास नोटिस. यह हम क्या देखा की याद ताजा करती है साथ print_r एक पल पहले. कितने चाबियाँ, एक छोटे से मानसिक स्वास्थ्य की जांच के रूप में, इस सरणी है लगता है. तो यह दो है. और मैं एक सरणी कहते हैं. लेकिन यह मदद करता है, तो आप सोच सकते हैं इस रूप में हैश तालिका के रूप में, या एक साहचर्य सरणी. लेकिन यह सिर्फ एक अलग है सरणी के प्रकार. और फिर, अलग अलग भाषाओं इन किया है. हम ऐसी ही कुछ देखेंगे जावास्क्रिप्ट में के रूप में अच्छी तरह से. दो कुंजी है. एक बोली गंदें शब्द बोलना, "प्रतीक," एक है गंदें शब्द बोलना "कीमत." बोली और उन कुंजी प्रत्येक एक मूल्य है. इस मामले में प्रतीक के मूल्य के लिए, अमेरिकन प्लान है फेसबुक, और कीमत के मूल्य, 49, 26 है फेसबुक के शेयर था जो आज सुबह के रूप में कीमत. तो क्या हुआ के बारे में उपयोगी है एक साहचर्य सरणी. मैं एक संख्यानुसार था हो सकता है बस के साथ अनुक्रमित सरणी साधारण वर्ग कोष्ठक. और मैं डॉलर के हस्ताक्षर हो सकता था भाव अभी यह बराबर होती है. मुझे वास्तव में ऐसा करते हैं. मैं बजाय सिर्फ घोषित मान लीजिए लगता है कि जैसे यह सरणी. यही है, पूरी तरह से वैध है वाक्य रचना. यह किसी भी जानकारी खोना नहीं करता है, दर असल. मैं अभी भी प्रतीक FB है कि देखते हैं, और कीमत 49, 26 है. तो क्यों साहचर्य हैं सम्मोहक सरणियों? दर्शक: तुम याद करने की जरूरत नहीं आप सामान कहाँ रखा. स्पीकर 1: बिल्कुल, आप नहीं है आप सामान रखा जहां याद करने के लिए. आप मनमाने ढंग से याद करने की जरूरत नहीं है उस स्टॉक प्रतीक, ब्रैकेट शून्य में है और शेयर कीमतों, वर्ग एक में है विशेष रूप से खतरनाक है जो आप अगर अंत में, चीजें बदल जाते हैं. यह संबद्ध करने के लिए बहुत अच्छा है क्या हम मेटाडाटा को बुलाता हूँ आपके वास्तविक डेटा के साथ. मुझे लगता है हम वास्तव में परवाह क्या तर्क था कि यहाँ के बारे में अमेरिकन प्लान और 49, 26 है. प्रतीक और कीमत मेटाडाटा है उस डेटा हम का वर्णन वास्तव में के बारे में परवाह है. लेकिन यह सिर्फ इतना है का उपयोग करने के लिए आसान. अब, क्या एक अलग रूप में हम भुगतान की कीमत? हम यह कर रहा हूँ सप्ताह के लिए CS50 में. यह सुविधा कुछ भी कीमत पर आना चाहिए. मेमोरी. तो तुम सिर्फ एक 32 बिट भंडारण नहीं कर रहे हैं उदाहरण के लिए, पूर्णांक. तुम्हें शायद, प्रतीक / 0 भंडारण कर रहे हैं. तो आप और अधिक स्मृति का उपयोग कर रहे हैं. और प्रदर्शन क्या है एक में कुछ देख साहचर्य सरणी, शायद? यह शायद धीमी है. रैंडम एक्सेस अच्छा है, विशेष रूप से है आप द्विआधारी खोज कर सकते हैं जब. लेकिन आप वास्तव में अब नहीं देख रहे हैं संख्या के लिए है, लेकिन तार के लिए, इस सही मायने में नीचे कार्यान्वित किया जाता है हुड, शायद एक हैश तालिका के रूप में, जहां आप एक हैश तालिका का उपयोग अलग श्रृंखलन के साथ. या फिर आप वास्तव में करने के लिए एक कोशिश का उपयोग मूल्यों की दुकान. इसलिए हो सकता है कि आप लगातार समय कर सकते हैं, लेकिन आप अभी भी एस वाई एम बी ओ एल पर नजर है, संभवतः, के बजाय सिर्फ 32 कुछ को देखने के लिए बिट्स. तो फिर, उन्हीं विचारों आ इस संदर्भ में पुनरावृत्ति के लिए वापस. लेकिन फिर, पीएचपी अब कुछ सुपर है यह पता चला है कि, वैश्विक, कर रहे हैं साहचर्य arrays. हम $ _POST, एक पल पहले देखा था. और कहा कि सुपर वैश्विक कुंजी और मूल्यों है. विशेष रूप से, चाबियाँ क्या साथ लाइन? $ _POST में चाबी कहां से आए हो? बस संक्षिप्त करने के लिए? दर्शक: नाम. स्पीकर 1: नाम, जहां? दर्शक: [सुनाई] स्पीकर 1: नाम विशेषता है. खैर उन्होंने किया जहां जहां, मूल रूप से आते हैं? फार्म. एक HTML पृष्ठ एक फार्म टैग है तो अगर, जो के अंदर की तरह कुछ जानकारी है, कर रहे हैं चेक बक्से, पाठ बॉक्स, ड्रॉप डाउन एक नाम है, जिनमें से प्रत्येक मेनू, उन नाम, $ _POST में कुंजी के रूप में खत्म होता है, और सच कहूँ तो, उस बात के लिए, $ _GET. विधि मिल रहा है, तो एक ही विचार है. यह सिर्फ एक अलग सुपर वैश्विक में है. और मूल्यों, ज़ाहिर है, से आया उपयोगकर्ता पर में टाइप जो कुछ भी अपने या उसके ब्राउज़र. लेकिन कुछ अन्य लोगों के नहीं है. कुकी, वहाँ जो हम करेंगे वापस अंत में करने के लिए आते हैं. लेकिन उन आप जानते हैं कि बातें कर रहे हैं वेब कुछ अच्छे या बुरे के लिए उपयोग करता है. लेकिन हम वापस करने के लिए आया हूँ. सर्वर और सत्र, और उन दो कुछ विशेष उपयोगिता है. लेकिन हम इस पर एक नजर डालते हैं. मुझे आगे जाना है और एक उदाहरण खोल दो. mvc0.php तो MVC बुलाया निम्नलिखित के लिए खड़ा है. और हम है की तुलना में यह पहले परिचय ठेठ, वास्तव में, आप को डिजाइन करने के लिए समस्या, 7 सेट, और भी अंतिम परियोजनाओं एक उद्योग की तरह मानक तरीका है, और साफ रास्ता. यह अच्छा डिजाइन है. तो जैसा कि आप देख रहे हैं के बारे में, और तुम हूँ पी में अनुभव,, प्रतिमान, की तरह 7 सेट एक प्रोग्रामिंग मानसिकता की, कि लग रहा है इस तरह एक छोटे से कुछ. नियंत्रक के लिए मॉडल, सी के लिए एम, देखें के लिए वी. लंबी कहानी संक्षेप में, MVC बस की तरह है एक पद्धति है, बनाने का एक तरीका की वेबसाइटों, विशेष रूप से, जिससे आप अपने, बेवकूफ वाक्यांश के सभी डाल - व्यापार तर्क - अपनी बौद्धिक संपत्ति में से सभी एक नियंत्रक कहा जाता है, एक फाइल जैसे index.php, या हम देखेंगे, quote.php, या buy.php. समस्या के संदर्भ में 7 सेट, अपने मॉडल आम तौर पर, अपने डेटा होते हैं एक डेटाबेस से संबंधित कुछ भी, हम करेंगे के रूप में अंत में देखते हैं, और अपने विचारों आपके के सौंदर्यशास्त्र होते साइट, एचटीएमएल, सीएसएस. तो हम पहले से ही सी में एक छोटे से यह देखा . घंटे फ़ाइलों का उपयोग करके बिट. हम वास्तव में सीएसएस के साथ एक पल पहले देखा था, सीएसएस stylization फैक्टरिंग से हमारे HTML के बाहर की चीज है. तो MVC वास्तव में बस के बारे में ड्राइंग है रेत में लाइनों और कह रही है, आपके लिए दिलचस्प प्रोग्रामिंग कोड वेबसाइट हम फोन करता हूँ क्या में है नियंत्रक. आमतौर पर डेटाबेस से संबंधित सामग्री एक मॉडल में समाप्त होता है. लेकिन तुम, 7 सेट समस्या में देखेंगे, हम इसे सरल रखने के लिए सी और एम विलय. लेकिन दृश्य है जहां अपने HTML के सभी और सौंदर्यशास्त्र आम तौर पर जाना. तो यह वास्तविक रूप में क्या मतलब है? खैर, मुझे हमारी MVC में जाने इस प्रकार के रूप निर्देशिका. और आप इनमें से अधिक देखेंगे कल्पना में के माध्यम से दौरा किया. तो mvc0 में, मैं, जैसे, यह है कि दावा CS50 की वेबसाइटों के संस्करण 0. हमारे पास सभी तरह, कुछ HTML है एक बड़ा H1 टैग, जाहिरा तौर पर. और फिर एक बुलेटेड सूची. मैं एक बुलेटेड सूची कभी नहीं देखा इससे पहले, लेकिन कोई बड़ी बात नहीं. चलो जल्दी से स्रोत कोड को देखो. गोलियों के साथ एक unordered सूची से बाहर वर्षगांठ खुले ब्रैकेट एक या साथ उल है अधिक सूची आइटम्स, ली. यहाँ तो नोटिस एक लंगर टैग है. हम एक पल पहले देखा. तो यह है कि मैं कार्यान्वित कैसे है इस पेज. मैं दो लिंक, दो सूची आइटम्स, एक मिल गया है unordered सूची के लिए उल, और अंत परिणाम, सौंदर्य की दृष्टि से, यह बहुत है सुंदर वेबसाइट, यहाँ संस्करण 0. लेकिन क्या अब दिलचस्प बात यह है कि यह कैसे है हुड के नीचे किया जाता है. मुझे जीएडिट में जाने और इस खोल दो. एक तस्वीर पेंट करने के लिए बहुत पहले उदाहरण. और हम त्रुटिपूर्ण है पर देखता हूँ, संभवतः, यहां. अब मैं लोकलहोस्ट में जाओ, सार्वजनिक, MVC, कुछ फाइलें नोटिस. मैं के लिए, इन कॉल करने के लिए जा रहा हूँ पल, सभी नियंत्रकों. लेकिन यह है कि एक दुरुपयोग का एक सा है क्योंकि आप सब कुछ के मिश्रित देखेंगे उन के अंदर. और मुझे index.php के अंदर जाने दिया. और हम, सचमुच, एक ही HTML देखें. इस फाइल में समाप्त होता है तो भले ही . पीएचपी, यह करने के लिए किया है इसका मतलब यह नहीं किसी भी PHP कोड है. यह सिर्फ हालांकि, कच्चे HTML हो सकता है उस तरह की मूर्खतापूर्ण है. लेकिन कोई खुला कोष्ठक PHP वहाँ नोटिस , इस के अलावा, टैग, जो स्पष्ट रूप से, एक टिप्पणी के रूप में सेवा करने के लिए बस नहीं है. लेकिन यह है कि कार्यात्मक नहीं है यहां तक ​​कि दिलचस्प. लेकिन इस पर ध्यान दिया. क्या अब दिलचस्प बात यह है क्या इस पृष्ठ पर परिवर्तन. मुझे व्याख्यान क्लिक करते हैं. और यूआरएल बदलने के बारे में सूचना है. अब मैं lectures.php पर हूँ. मुझे शून्य पर क्लिक करते हैं. अब मैं week0.php में हूँ और अब चलो मुझे जीएडिट में इन फ़ाइलों को खोलने के. सूचकांक, लेकिन ऐसा नहीं बस मुझे व्याख्यान खुला. और मुझे टिप्पणियों से छुटकारा पाने के चलो केवल इस हिस्से पर ध्यान केंद्रित करने के लिए. और अब मुझे सिर्फ एक और खोल देना, week0.php, टिप्पणियां दूर फेंक अभी यह साफ करने के लिए. और अब निम्नलिखित नोटिस. के बारे में सच की तरह ध्यान से सोच रही थी डिजाइन, और हम यह लाइन बनाते हैं वही हुआ, क्या किया जा सकता है यहां बेहतर, तुम्हें क्या लगता है? कैसे मैं एक सप्ताह से एक बना दिया? इस बारे में कैसे. तो यह है कि मैं सप्ताह एक बना दिया है. मैं फ़ाइल को गया, नई, पेस्ट, सेव, week1.php, और फिर मैं यहां से चला गया. और मैं एक बदला - क्या, शुक्रवार को एक यह था. मैं एक करने के लिए शून्य बदल दिया है. मैं एक के लिए इस बदल दिया है. ठीक है, तो अब मेरी फाइल पर दिखेगा. क्या अलग ढंग से किया जा सकता है? जहां मौका शायद, है ना? तो शुरू करने का अवसर नहीं है इस सामान बाहर फैक्टरिंग. मेरे लिए, एक बिगाड़ने के रूप में, खोल दो. क्या आप पी में देखेंगे 7 सेट. संस्करण में मैं ऊपर खुला, अब, index.php इस के पांच, यह रास्ता दिखता है अधिक गुप्त, बेशक. लेकिन यह अब, मैं एक फोन करता हूँ क्या है नियंत्रित है कि नियंत्रक मेरे पृष्ठ के तर्क. और आप की तरह फिर से संगठित कर सकते हैं, intuitively, शायद, क्या हो रहा है. पहली पंक्ति पर, यह है एक छोटे से गुप्त. लेकिन मैं के साथ की तरह, की आवश्यकता होती हूँ नोटिस तेज नामक एक फ़ाइल में शामिल helpers.php. और फिर मैं, जाहिर है, बुला रहा हूँ एक रेंडर बुलाया समारोह, में गुजर दो तर्क. एक बोली गंदें शब्द बोलना, शीर्ष लेख है. और क्या अन्य प्रकार की है, डेटा प्रकार के आधार पर, यह है पहले हमारे वाक्यविन्यास पर? यह एक संबद्ध सरणी है. विशेष रूप से, यह शीर्षक में गुजर रहा है याद दिलाता है कि कुछ मेटाडेटा के साथ मुझे यह क्या है और इसकी कीमत. तो मैं एक हार्ड कोडित देखना उल, तो कुछ कच्चे HTML. लेकिन तब मैं PHP मोड में वापस आ गया हूँ एक समारोह में प्रस्तुत करना बुला. आप HTML या PHP इस्तेमाल नहीं किया है तो भी अगर इससे पहले, और यह लग रहा है, भले ही डरावना, यह शायद इसलिए है बेहतर डिजाइन? क्या इसके बारे में बेहतर है, अनुमान के आधार पर? दर्शक: [सुनाई] स्पीकर 1: उस में कम बेमानी कोई और अधिक एचटीएमएल टैग, कोई और भी है सिर टैग, कोई और शरीर टैग हर लानत फ़ाइल में. इसके बजाय, मैं सकारात्मक असर बाहर कर दिया है समानताएं और संभवतः उन्हें डाल किसी भी तरह से संबंधित एक फाइल में एक शीर्ष करने के लिए. और करीब शरीर के लिए एक ही बात टैग, करीब HTML टैग. अंदर है कि यहाँ नीचे शायद कहीं पाद की. और तुम, 7 सेट समस्या में देखेंगे, इस के माध्यम से एक छोटे से दौरे. तो क्या आगे झूठ? हम क्षमता नहीं है एक बात अभी तक के लिए वास्तव में डाटा स्टोर करने के लिए है. और तो क्या हम देखना शुरू करेंगे बुधवार, उदाहरण के लिए, है कि आपके पुराने दोस्त एक्सेल, या संख्याओं, आप में से बहुत सारे स्टोर करने की अनुमति देता है पंक्तियों और स्तंभों में डेटा. आप क्या में ऐसा कर सकते हैं बाहर वर्षगांठ प्रोग्राम के रूप में, एक डेटाबेस कहा जाता है. उन्मत्त और यह उस के बाद पता चला है,, हम जैसे चीजों को स्टोर करने में सक्षम हो जाएगा आप पी सेट में फिर से देखेंगे इस, जो 7, उपयोगकर्ता नाम की एक पूरी गुच्छा और पासवर्ड, कर रहे हैं जो बाद वास्तव में बहुत तरह वे एन्क्रिप्टेड पी में 2 की हैकर संस्करण निर्धारित किया गया. और अंत में, आप इस लागू करेंगे, अपनी खुद की Etrade की तरह वेबसाइट है कि सामूहिक CS50 वित्त लागू करता है. अन्त में, आप यहां रुके थे क्योंकि इतनी देर से आज, आप इस हिस्से को वापस आने के लिए अगर परिसर का, 04:00 में आज, हम करेंगे SCES पर, आप सलाह न केवल देना में 4:00 पर, मेला सलाह देना मैक्सवेल-डॉर्किन, हम आपको कुछ दे दूँगा Americone ड्रीम, चेरी गार्सिया, चॉकलेट ठगना ब्राउनी, चॉकलेट चिप कुकी आटा, और, जब आप गूगल चंकी बंदर, आप यह मिलता है. इसलिए कि सभी 4:00 पर इंतजार कर रहा है मैक्सवेल-डॉर्किन में PM. साथ ही बुधवार को मिलते हैं. अध्यक्ष 2: अगले पर CS50, आरजे अंदर सोता आरजे: मेरा खंड! हा! ओह,