[Powered by Google Translate] [8 सप्ताह]
[डेविड जे Malan] [हार्वर्ड विश्वविद्यालय]
[यह CS50 है.] [CS50.TV]
>> वापस स्वागत है.
इस CS50 है, और यह 8 सप्ताह की शुरुआत है.
अवसरों के एक जोड़े को इस सप्ताह,
उन के बीच में इस यहाँ बात करते हैं, जिस पर कुछ खाना परोसा जाएगा.
अधिक जानकारी के लिए स्लाइड कि ऑनलाइन कर रहे हैं की जाँच करें.
और भी अपने स्वयं के थॉमस Carriero द्वारा एक अन्य घटना में इस सप्ताह.
वह एक CS50 पूर्व प्रमुख शिक्षण साथियों जो ड्रॉपबॉक्स पर अब है,
और वह आदमी है जो हमें तुम्हें पता है क्या साथ कांटे की शकल है,
यदि ऐसा है तो आप उस सिर के उनके बात करने के लिए और अधिक ड्रॉपबॉक्स और अधिक के लिए इस दोपहर चाहते हैं.
CS50 दोपहर के भोजन के इस शुक्रवार है.
हमें शामिल होने अगर आप करने में सक्षम हैं, आग और बर्फ में 1:15, सामान्य रूप से कर रहे हैं.
>> और अब हम सेमिनार बुलाया कुछ में गोता.
हमारे CS50 सेमिनार, याद है, इन वैकल्पिक शिक्षण साथियों द्वारा नेतृत्व वर्गों रहे हैं
और पाठ्यक्रम के सहायकों और मित्रों,
परिसर में एक समूह से लोगों ABCD कहा जाता है, जो के एक समूह है
परिसर में technophiles, के रूप में के रूप में अच्छी तरह से एक समूह बुलाया HCS,
हार्वर्ड कम्प्यूटर सोसायटी, स्नातक से नीचे के हैं, जो इसी तरह कंप्यूटिंग में रुचि रखते हैं.
सेमिनार के इस वर्ष के रोस्टर Android और IOS और जावास्क्रिप्ट पर सेमिनार
और PHP, यूनिक्स, विम, और अधिक है, तो पता है कि इन सेमिनारों को आ रहे हैं.
यदि आप उनमें से किसी के लिए RSVP करना चाहते है कि वहाँ यूआरएल सिर.
हम तो पाठ्यक्रम वेबसाइट पर समय और स्थानों के बाद एक बार वे अंतिम रूप दे रहे हैं.
लेकिन पूर्व सेमिनारों की 5 वर्ष के लायक उपलब्ध ऑनलाइन पता है,
जिनमें से कई अभी भी प्रौद्योगिकियों आप हो सकता है के मामले में बहुत ज्यादा चालू कर रहे हैं
अपने अंतिम परियोजनाओं के लिए साथ खेलना चाहते हैं, तो वहाँ कुछ उपलब्ध वीडियो के लिए उसके सिर.
>> सीएसएस, आप में से जो सीएसएस के साथ पहले से ही परिचित हैं,
इसे संक्षेप में क्या है?
सीएसएस क्या है?
यह व्यापक शैली पत्रक है, और इसका क्या मतलब है?
कि हमारे लिए क्या करता है, सीएसएस?
ठीक है, चलो एक आसान एक, HTML हाइपर टेक्स्ट मार्कअप भाषा के साथ गर्म.
कि हमारे लिए क्या करता है?
किसी को भी सब पर?
यह वास्तव में अजीब हो रही है ये सवाल पूछ.
HTML, हाइपरटेक्स्ट मार्कअप भाषा.
हाँ? नहीं?
[अश्राव्य छात्र प्रतिक्रिया]
ठीक है, अच्छा है, यह हमारे ऊपर पाठ को चिह्नित करने के लिए एक वेब ब्राउज़र में प्रदर्शित करने के लिए अनुमति देता है.
यह एक प्रोग्रामिंग भाषा नहीं है.
यह वास्तव में एक मार्कअप भाषा है, जिसका अर्थ यह प्रदर्शित करने के लिए कैसे ब्राउज़र का निर्देश
जानकारी है, तो इस का सरलतम अवतार के रूप में हमने देखा है
सुपर कुछ की तरह साधारण boldfacing, खुला ब्रैकेट ख बंद ब्रैकेट कहते हैं
इस पाठ को बोल्ड, और कहा कि वास्तव में सिर्फ एक कई मायनों
जिसमें हम करते हैं, कर सकते हैं और वास्तव में, इन दिनों एक बेहतर तरीका
अपने वेब पेज stylizing, साहसिक और तिर्छा बनाने के लिए
और केंद्रित है और उचित है और तरह, HTML टैग के माध्यम से अकेले नहीं किया जाता है
बल्कि एक सीएसएस तकनीक कहा जाता है, व्यापक शैली पत्रक के साथ.
यह स्वयं के इधार एक भाषा है.
यह भी एक प्रोग्रामिंग भाषा है, लेकिन नहीं है
सब लोग, इस दान है, जो आज हमारे साथ जुड़ने रहता है.
कुछ तकनीकी कठिनाइयों. एक समस्या नहीं है.
>> सीएसएस हमें एक पेज stylize करने की अनुमति देता है
की स्थापना गुण क्या कहा जाता है, तो हम इस पर एक नज़र रखना
कुछ बुनियादी उदाहरण के रास्ते से.
मुझे आज उपकरण में जाना.
मैं यहाँ स्रोत 8 सोमवार निर्देशिका है,
और मैं एक सीएसएस नामक निर्देशिका में जाने के लिए जहां हम एक पूरी गुच्छा है करने के लिए जा रहा हूँ
हमारे लिए सही यहाँ इंतज़ार फ़ाइलों की,
और इस फ़ोल्डर में हम पिछली बार से, उदाहरण के लिए, search0.html है.
अब, search0 के साथ याद करते हैं हम इस नोट पर छोड़ दिया
द्वारा Google को लागू करने या वास्तव में इसके लिए बस सामने अंत या तो एक सप्ताह पहले की तरह,
नोटिस और है कि हम कुछ नए टैग वहाँ था.
हम एक बड़ा, बोल्ड शीर्षक के लिए h1 था,
रूप है, जो हमें वास्तव में उपयोगकर्ता इनपुट के लिए एक HTML फार्म के लिए अनुमति दी.
लड़ाई, क्या एक कार्रवाई विशेषता के अर्थ था
HTML फार्म टैग पर?
इस कार्रवाई का अर्थ क्या था?
मैं आज यह बिल्कुल वैसा ही करूँगा.
लड़ाई जहां प्रपत्र को प्रस्तुत किया जा रहा है के लिए गंतव्य है.
तथ्य यह है कि है कि कहते हैं, कार्रवाई = "google.com / खोज"
इसका मतलब है कि जब प्रयोक्ता क्लिकें बटन या समकक्ष प्रस्तुत
जो कुछ फार्म खेतों वे बाहर भरा करने के लिए हमारे सर्वर पर नहीं भेजा जा जा रहे हैं
या बल्कि गूगल पर कि विशिष्ट यूआरएल हमारे उपकरण.
और यह विधि का उपयोग करने के लिए जा रहा है पाने के लिए कहा जाता है,
और, अब के लिए, सिर्फ एक वेब सर्वर के साथ जानकारी को पारित करने के लिए एक तकनीक है
URL के जिस तरह से है, तो हम यह कैसे काम करता है पर एक त्वरित नज़र वापस ले.
>> सूचना है कि वहाँ एक इनपुट जिसका नाम क्ष है
जिसका प्रकार प्रकार के पाठ और फिर एक दूसरे इनपुट प्रस्तुत है
जिसका मूल्य CS50 खोज है, और वास्तव में, अगर हम इस फाइल को खोलने के लिए,
search0.html यह एक सुपर सरल रूप है,
और अगर मैं कंप्यूटर विज्ञान की तरह कुछ के लिए खोज
और फिर CS50 खोज पर दर्ज करें या क्लिक करें मारा
सूचना है कि क्या होता है गूगल के लिए हो रही परे है
मैं विशेष रूप से इस URL पर शीर्ष पर समाप्त हो गया है,
google.com / खोज? q = कंप्यूटर विज्ञान,
और कंप्यूटर विज्ञान जाहिर है कि मैं क्या अंदर टाइप
+ सिर्फ मतलब है कि जहां एक अंतरिक्ष चरित्र था,
और यह ब्राउज़र द्वारा किया जाता है सिर्फ यकीन है कि वहाँ कोई
भ्रम और वास्तविक URL में सफेद स्थान है.
और फिर क्ष, ज़ाहिर है, पैरामीटर नाम है.
हम नहीं देखा है कि हम कैसे, प्रोग्रामर, वास्तव में क्ष अभी तक का उपयोग कर सकते हैं.
हम यह मान सकते हैं कि गूगल जानता है कि क्या इस के साथ करने के लिए यहाँ,
लेकिन आज हम वहाँ के कारण समय में मिलेगा.
>> लेकिन मुझे search1.html पर एक नज़र लेने के बजाय,
जो एक छोटे से अलग लग रहा है क्योंकि मैंने फैसला किया है कि इस फार्म सिर्फ एक छोटे से लंगड़ा था.
मेरा मतलब है, यह ऊपर छोड़ दिया है.
वहाँ वास्तव में कोई सौंदर्यशास्त्र इसे करने के लिए, और इसलिए मैं इस stylize
गूगल, जिसका होमपेज, याद अधिक की तरह एक सा है,
भले ही आप यह है कि अक्सर यात्रा नहीं हो सकता है, इस तरह से आज हेलोवीन पर लग रहा है.
इसके बजाय अगर हम इस फ़ाइल, खोज 1.html के संस्करण 1 खोलने, मैं यह केंद्रित है.
अभी भी बहुत बदसूरत है, लेकिन कम से कम अब मैं इस पृष्ठ के सौंदर्यशास्त्र को नियंत्रित करने के लिए शुरू कर दिया है,
न सिर्फ उसके अंकन.
चलो 1 खोज पर एक नज़र रखना, और वहाँ वास्तव में सिर्फ एक अंतर है,
जो तुम पर बाहर कूद, या हो सकता है शायद नहीं,
लेकिन एक की लाइन का टुकड़ा या अंतर क्या है?
>> इस शैली की विशेषता है, इसलिए यह पता चला है कि HTML में
अधिकांश तत्व, ज्यादातर टैग उन पर एक शैली गुण हो सकता है,
और उस शैली विशेषता के अंदर एक उद्धृत स्ट्रिंग है,
और कि उद्धृत स्ट्रिंग सीएसएस है.
तुम वहाँ में कैस्केडिंग शैली चादर डाल कर सकते हैं
यह एक संपत्ति के नाम के रूप में निर्दिष्ट द्वारा
एक के बाद एक मूल्य बृहदान्त्र द्वारा पीछा किया.
कुछ साल पहले यह एक दुर्भाग्यपूर्ण निर्णय डिजाइन की तरह है
है कि सीएसएस ही पर्यत एक भाषा है,
लेकिन यह वाक्य रचना HTML से बहुत अलग है.
इस मामले में, हम अपने वेबपेज, जो HTML में लिखा है कि अंदर देखते हैं,
मैं सीएसएस इन उद्धरण के अंदर है, और सीएसएस के लिए सम्मेलन
है कि आपके पास क्या एक संपत्ति के द्वारा पीछा किया, फिर से, एक बृहदान्त्र कहा जाता है,
कि संपत्ति के मूल्य के बाद तो, वहाँ कोई बराबर का चिह्न है.
कोई अतिरिक्त उद्धरण है.
यह सिर्फ इस बृहदान्त्र अलग कुंजी मान जोड़ी है,
और पाठ लाइन करता है वास्तव में यह क्या कहते हैं.
यह पेज के शरीर में पाठ aligns, जो वास्तव में पृष्ठ की हिम्मत,
केंद्र में.
>> ठीक है, अंत परिणाम स्पष्ट हो तो, यह है.
नहीं, लेकिन कम से कम यह है कि सभी sexier केंद्रित है और असली गूगल की तरह एक छोटे से अधिक है.
लेकिन क्या अगर मैं बजाय ऊपर के इस संस्करण 2 खुला
और यहाँ नीचे बात पूरी तरह से एक नए टैग?
अब मेरे पृष्ठ के सिर है, जो पहले से ही था जो टैग
सभी पूर्व उदाहरण में?
यह सिर्फ यह था, शीर्षक.
एक पल पहले सिर टैग इस तरह से देखा.
अब के बजाय यह की एक शैली टैग के अंदर है,
और यह भी मैं माफी माँगता हूँ, वाक्य रचना HTML से बहुत अलग लग रहा है,
लेकिन आप इसे करने के लिए, जिससे अंदर शैली टैग का इस्तेमाल किया हो
मैं अब बाहर कारक क्या एक पल पहले था
एक विशेषता है, शैली की विशेषता है, और मैं यह बहुत मेरे पृष्ठ के शीर्ष पर डाल सकते हैं.
>> क्यों?
खैर, यह बातें सफाई की ओर एक कदम है, सी कोड लिखने में बहुत पसंद है
हम कभी कभी कार्यों के लिए बाहर आम कार्यक्षमता कारक लिखना होगा.
यह सिर्फ एक छोटा क्लीनर सौंदर्यशास्त्र की तरह बातें बाहर फैक्टरिंग शुरू
यह सब छितराना अपने HTML भर बजाय एक केंद्रीय स्थान पर.
यह भी है कि वह क्या कहते हैं, भले ही वहाँ नए सिंटैक्स का एक सा है.
यह यहाँ एक चयनकर्ता है, और शरीर सिर्फ शरीर तत्व का चयन का मतलब
और यह करने के लिए निम्नलिखित गुण लागू होते हैं.
खैर, संपत्ति बिल्कुल वैसी ही है.
अच्छे उपाय के लिए मैं अंत में एक सेमीकोलन जोड़ दिया है,
जो सम्मेलन हो जाता है, और मैं इस पूरे संपत्ति लपेटा है
घुंघराले ब्रेसिज़ में क्योंकि मैं वास्तव में अलग अलग बातें यहाँ हो सकता है.
मैं वास्तव में रंग की तरह कुछ कह सकते हैं: नीले,
>> अब यह भी कुछ भी करने की ओर एक कदम सुंदर है कि सभी के लिए नहीं जा रहा है,
लेकिन अगर मैं अब संस्करण पर वापस जाना 2 मैं कम से कम अब मेरे शरीर बनाया
पेज पाठ सभी नीले.
बटन एक ही रहता है क्योंकि कि एक इनपुट है. यह शुद्ध पाठ नहीं है.
लेकिन सब कुछ है, कि पाठ शीर्ष ऊपर CS50 खोज की तरह है, वास्तव में नीले रंग में है.
फिर, सब अब हम किया है शरीर टैग से दूर है, नोटिस,
शैली विशेषता है, और हम इसे सकारात्मक असर यहाँ से बाहर है.
यह एक बड़ा सुधार नहीं है, लेकिन अगर हम इस एक कदम और आगे ले
नोटिस इस तीसरे संस्करण में हम क्या कर सकते हैं.
>> वेबपेज search3.html में लगभग समान है
को छोड़कर लिए नए टैग अब क्या?
लिंक है, तो यह एक बहुत जिसे उपयुक्त नाम नहीं है
क्योंकि आप एक क्लिक हाइपरलिंक की भावना में नहीं जोड़ रहे हैं.
बल्कि, आप के बराबर करने की तरह सी # में शामिल कर रहे हैं
जिससे एक href गुण के साथ लिंक टैग
और एक rel विशेषता का कहना है कि आगे जाना है
और फाइल की सामग्री को कॉपी पेस्ट search3.css सही यहाँ अनिवार्य रूप से कहा जाता है.
यह काफी नहीं है कि क्या करता है, लेकिन यह है कि यह की भावना है.
इसे कहते हैं, कि फ़ाइल, search3.css खुला जाना है,
और यह इलाज के रूप में यद्यपि उपयोगकर्ता इसे टाइप किया था पृष्ठ के सिर में यहीं
सिर्फ मैं पिछले उदाहरण में किया.
Search3.css, इस बीच, बहुत आसान है.
यह वास्तव में सिर्फ शामिल हैं कि क्या वास्तव में एक पल पहले था
शैली टैग में है, लेकिन मैं इसे सकारात्मक असर है बाहर यहाँ अपनी फ़ाइल.
>> हालांकि हम HTML या वेब प्रोग्रामिंग में ज्यादा समय नहीं बिताया है सब पर
बस intuitively प्रेरणा क्या है, शायद, फैक्टरिंग के लिए बाहर
अपनी फाइल में इस सीएसएस के भी एक छोटा सा टुकड़ा
और फिर इस लिंक टैग के साथ इसे यहाँ सहित?
[अश्राव्य छात्र प्रतिक्रिया]
ठीक है, यह समझ में आता है कि आप एक सीएसएस फ़ाइल में अपने सीएसएस में पढ़ने में आसान है.
आप अपने HTML फ़ाइल में अपने HTML है, तो यह उस अर्थ में और अधिक पठनीय है.
और क्या मजबूर हो सकता है? हाँ.
[अश्राव्य छात्र प्रतिक्रिया]
हाँ, तो आप इसे कई बार शामिल कर सकते हैं, तो ठीक है अब हम इन कर रहे हैं
व्यक्तिगत फाइलों के साथ बुनियादी उदाहरण हैं, लेकिन लगता है कि आप वास्तव में कर रहे हैं
आप की तरह एक असली वेबसाइट pset 7 या शायद अपने अंतिम परियोजना के लिए होगा,
और आप कई वेबपेजों चाहते हैं, के रूप में निश्चित रूप से आम है
वास्तविक वर्ल्ड वाइड वेब, और लंगड़ा की तरह होगा
करने के लिए कॉपी और पेस्ट एक ही नीले रंग
और एक ही पाठ उन पृष्ठों की हर एक में केंद्र गठबंधन.
बल्कि इसे और अधिक समझ में आता है बाहर कारक बहुत पसंद है, हम सी में किया है
ज. फ़ाइल के साथ, यह एक केंद्रीय स्थान में डाल दिया,
, इस मामले search3.css में और फिर किसी भी फाइल की अनुमति
अपनी वेबसाइट में वास्तव में यहाँ 16 लाइन में इस टैग के जिस तरह से कि फ़ाइल में शामिल हैं.
जैसा कि आम तौर पर मामला है, हम 0 संस्करण के साथ शुरू कर दिया है, जो काम करता है की तरह
सबसे अच्छा है लेकिन जरूरी नहीं है, और हर कदम के साथ,
खोज 1, 2 खोज, और अब 3 खोज हम ये बच्चे के लिए कदम उठाए
डिजाइन है कि एक छोटे से क्लीनर और अधिक तैयारी की ओर
के लिए और अधिक जटिल पृष्ठों है कि हम नीचे सड़क पर कर सकता है.
>> मुझे एक आखिरी उदाहरण यहाँ सिर्फ दिखाने के लिए खुला
एक और भी अधिक शैली पृष्ठ, लेकिन 1 HTML को देखो.
इस search4.html है, और नोटिस कि structurally यह लगभग एक ही है
एक नए टैग की शुरूआत के लिए छोड़कर, div.
डिव एक टैग है कि पृष्ठ के एक प्रभाग परिचय है.
एक अदृश्य आयत के रूप में इस के बारे में सोच सकते हैं.
यह तरह के वेबपेज में क्षेत्र के एक कटी हुई घास बनाता है
है कि आप सभी को एक बार stylize कर सकते हैं.
मैं यहाँ क्या किया है इस प्रकार है.
है, जो वहाँ किया गया है, सभी के साथ मेरे शरीर टैग के अंदर,
मैं कह रहा हूँ पृष्ठ के एक प्रभाग यहाँ 47 के माध्यम से 45 लाइनों के माध्यम से बनाने के लिए,
और इसका मतलब है कि अनिवार्य रूप से मुझे पृष्ठ के शीर्ष के साथ एक अदृश्य आयत दे.
फिर मुझे अदृश्य यद्यपि एक दूसरे आयत, नीचे दे, कि,
और यह नाम सामग्री द्वारा की पहचान है, और अंत में फिर,
मुझे तल पर एक पेज के तीसरे डिवीजन दे
आईडी कहा जाता है.
हम देखेंगे क्यों मैं बस एक पल में इस किया है,
लेकिन धारणा मैं एक हैडर विभाजन है.
मैं एक सामग्री प्रभाग है, और मैं पृष्ठ के पाद लेख विभाजन है
हालांकि इन मार्कअप में बस रहे हैं.
उपयोगकर्ता 3 आयतों को देखने के लिए नहीं जा रहा है,
लेकिन structurally वहाँ की तरह पर्दे के पीछे
वे वास्तव में मौजूद हैं.
>> अब, कौन परवाह करता है? क्यों वास्तव में इस करते हैं?
पृष्ठ पर और सब कुछ वैसा ही है जैसा कि हम पहले देखा है है.
यहाँ मेरी फार्म है. यहाँ अपने इनपुट, मेरे इनपुट, एक पंक्ति विराम और इतना आगे है.
यहाँ एक छवि है, हालांकि, तो हम देखेंगे जहां यह सिर्फ एक पल में से आया है.
यहाँ एक पाद लेख है, जो नया है, सिर्फ इसलिए कि मैं शुरू करना चाहता था
यहाँ कुछ और सामग्री.
अगर हम नोटिस स्क्रॉल इस div कि आईडी शीर्षक है.
इस div की पहचान सामग्री है, और यह एक की पहचान पाद लेख है.
और जैसा कि नाम से पता चलता है, जब आप एक आईडी गुण है
HTML में, परिभाषा के द्वारा यह विशिष्ट पहचान करनी चाहिए
तत्वों की एक के बाद एक अपने पृष्ठ में टैग की.
बोझ आप पर पूरी तरह से याद है कि आप एक शीर्षक आईडी पहले से ही है.
आप एक पाद लेख है. तुम एक सामग्री आईडी पहले से ही है.
कंप्यूटर के लिए बाहर निकालने के लिए एक ID उपलब्ध आपके लिए क्या है नहीं जा रहा है,
तो तुम गलती से 2 टैग हैडर के एक आईडी दे सकता है,
और कहा कि सिर्फ गलत होगा.
>> आप को ध्यान में रखना तुम क्या बनाया है,
लेकिन एक बार आप हम यहाँ क्या कर सकते हैं कि नोटिस किया है.
अब मैं शीर्ष पर मेरी शैली टैग में निर्दिष्ट कर सकते हैं
या equivalently अपने सीएसएस फ़ाइल में, अगर मैं अभी भी उस संस्करण का उपयोग कर रहा था,
मैं # header कह सकते हैं, और क्या इसका मतलब है कि जो कुछ भी टैग
इस वेबपेज में शीर्ष लेख की एक आईडी है
और #, मानव सम्मेलन द्वारा, आईडी का प्रतिनिधित्व करता है.
तेज हस्ताक्षर या हस्ताक्षर पौंड आईडी का प्रतिनिधित्व करता है.
हैडर नाम है कि मैं उसे छोड़ दिया है.
इसका मतलब यह है कि इस सीएसएस संपत्ति लागू
इस पेज में जो भी टैग हैडर का एक आईडी भालू.
वही यहाँ सौदा है.
किसी भी तत्व को इस संपत्ति है, जो एक ही होना होता है लागू
आईडी जिसका सामग्री है, और फिर यहाँ नीचे
नोटिस मैं पाद लेख के साथ एक छोटे से शौक़ीन मिला.
किसी भी तत्व जिसका आईडी पाद लेख है, जो वहाँ सिर्फ एक परिभाषा के द्वारा किया जा सकता है,
आगे जाने के लिए और अपने फ़ॉन्ट आकार छोटे,
अपने फ़ॉन्ट वजन बोल्ड, अपने मार्जिन 20 पिक्सल.
>> इसका क्या मतलब है?
यह सिर्फ ऊपर, नीचे, और छोड़ दिया और सही पर एक मार्जिन है.
यह मुझे एक 20 पिक्सेल इसके चारों ओर अदृश्य मार्जिन देने का मतलब
अभी बाकी सब कुछ धक्का यह से दूर एक छोटा सा, जैसे आप वर्ड में कर सकता है,
माइक्रोसॉफ्ट वर्ड या पन्ने या पसंद है.
और फिर पाठ केंद्र पंक्ति.
चलो अंत परिणाम देखने के लिए, और फिर हम वापस जाने के एक सीएसएस के शेष स्निपेट के लिए होगा वहाँ.
यह 4 संस्करण है, हमारे खोज उदाहरण के लिए पिछले है, और यह बहुत, बहुत sexier है.
अब, निष्पक्षता में, मैं सिर्फ "गूगल फ़ॉन्ट लोगो जनरेटर." Googled
और कहा कि मुझे एक GIF, एक छवि प्रारूप है, जो वहाँ है कि की तरह लग रहा है बनाने के लिए अनुमति दी.
वास्तव में, आप यह भी कर सकते हैं.
हम "गूगल फोंट लोगो जनरेटर है."
>> चलो देखते हैं अगर हम यह कर सकते हैं.
ठीक है, मुझे लगता है कि इस वेबसाइट मैं प्रयोग किया जाता है.
हम 10 से चुनाव आयोग का कहना है, उदाहरण के लिए कर सकते हैं, और उन्हें अपने स्वयं के बनाने.
आप इस दिन सभी के साथ लंबे समय तक खेलते हैं और कर सकते हैं तो यह ठीक है पर क्लिक करें
और फिर डाउनलोड वास्तविक GIF, जो सभी कि मैंने किया है.
और वास्तव में, कि मेरी HTML में क्यों है, यहाँ पर याद करते हैं,
मैं एक छवि टैग था, जो हम पिछले हफ्ते संक्षिप्त देखा
जिसका स्रोत logo.gif है.
और फिर क्या यह Alt विशेषता होने के लिए प्रेरणा थी,
इस वैकल्पिक गुण?
हाँ.
[अश्राव्य छात्र प्रतिक्रिया]
अच्छा, तो 2 कारणों वास्तव में, यदि ब्राउज़र छवि नहीं खींच सकते हैं
क्योंकि आप एक धीमी नेटवर्क कनेक्शन है या छवि भ्रष्ट है
या ऐसा कुछ कम से कम मानव "CS50 खोज," देख सकते हैं
और फिर भी पहुंच कारणों के लिए.
यदि आप एक उपयोगकर्ता जो अंधा होता है और एक स्क्रीन रीडर का उपयोग कर रहा है
और इसलिए जाहिर छवियों वे कम से कम कर सकते हैं नहीं देख सकते हैं
पाठ सुनने के लिए यदि उनके कंप्यूटर यह उन से बोलती है.
>> सामान्य में, यह सबसे अच्छा अभ्यास है जब यह पृष्ठों की पहुंच के लिए आता है
इतना है कि उस स्थिति में भी उपयोगकर्ताओं को सुनने या देखने के कर सकते हैं, तो बात है,
यह क्या है कि अपने पृष्ठ पर है.
एक अन्य बात यह है कि मैं यहाँ था
जो एक छोटे से दिलचस्प है, और हम इस समस्या में इस बारे में और अधिक देखने के लिए 7 सेट
एक शिक्षण साथियों के नेतृत्व में शॉर्ट्स के माध्यम से.
लेकिन # सामग्री टैग को संदर्भित करता है
आईडी जिसका सामग्री है, लेकिन फिर वहाँ एक अंतरिक्ष चरित्र है, और फिर वहाँ शब्द इनपुट है.
खैर, सीएसएस के बारे में दिलचस्प बात यह है कि आप कर सकते हैं
पदानुक्रम के एक पृष्ठ प्रकार में टैग देखें
और सीएसएस का मतलब है की इस स्निपेट खोजने के टैग
आईडी जिसका सामग्री है, और फिर निम्नलिखित गुण लागू
इनपुट टैग कि सामग्री के वंशज हैं सभी के लिए
वह यह है कि इसे अंदर दांतेदार बना रहे हैं.
इंडेंटेशन, फिर से, केवल कंप्यूटर के लिए महत्वपूर्ण है, मानव के लिए नहीं,
लेकिन सम्मेलन द्वारा हम चीजों को इंडेंट के रूप में हम एक पेज में गहरी जाओ,
तो इस का मतलब है कि किसी भी इनपुट तत्व के लिए 5 पिक्सल के एक मार्जिन लागू
कि कहीं के अंदर है या के अंदर नेस्टेड
तत्व आईडी जिसका सामग्री है.
>> कि कौन लागू करता है?
खैर, वहाँ वास्तव में सिर्फ यहाँ है इन 2 लोग.
सूचना प्रपत्र की कि अंदर वहाँ 2 आदानों,
वहाँ के रूप में इन उदाहरणों में से सभी के लिए किया गया है.
लेकिन नोटिस कि उन 2 आदानों अंदर नेस्टेड
एक थोड़ा गहरा यद्यपि, इंडेंटेशन के एक जोड़े परतों,
अंदर टैग जिसका आईडी सामग्री है.
इसका क्या मतलब है?
यदि हम ब्राउज़र करने के लिए जाने के लिए आप कभी तो थोड़ा देख सकते हैं
मुझे ज़ूम है कि वहाँ बटन के बीच padding का एक सा है
और पाठ क्षेत्र के बीच.
>> मुझे अस्थायी रूप से है कि बंद कर देते हैं.
मुझे अपने सीएसएस ऊपर जाना है, और मुझे आगे और बस जाओ
इस मार्जिन को 5 पिक्सल से 0 पिक्सल में बदल जाते हैं.
चलो मुझे आगे तो जाओ और फाइल को बचाने, खोज इंजन के लिए वापस जाओ
और पुनः लोड करें, और पृष्ठ के बीच देखो.
सब कुछ एक साथ संकुचित है, और जब मैं पहली बार इस उदाहरण मार पड़ी
मैंने सोचा कि पाठ क्षेत्र और फिर इसे तुरंत नीचे बटन के साथ बेवकूफ लग रहा था.
मैं यह एक छोटा सा पैड के लिए चाहता था, इसलिए मैं हाशिये शुरू की.
क्या हम व्याख्यान में नहीं चलेगा कई दर्जन के माध्यम से जाना जाता है
सीएसएस गुण मौजूद हैं, क्योंकि, फिर, फ़ॉन्ट आकार की तरह बातें कर रहे हैं,
फ़ॉन्ट वजन, मार्जिन, पाठ संरेखित, और कुछ दर्जन अन्य लोगों,
और हम आप समस्या में उल्लेख करता हूँ विभिन्न ऑनलाइन ट्यूटोरियल के लिए 7 सेट
और उल्लेख है कि आप इन बातों को लेने के लिए अनुमति देते हैं.
लेकिन दिन के अंत में क्या वास्तव में महत्वपूर्ण है
>> समझने के लिए कैसे इन बातों को लागू कर रहे हैं.
फिर, अगर हम शैली टैग के अंदर जो की
चयनकर्ताओं तरह identifiers के निर्दिष्ट जा सकते हैं
जिसे आप इन गुणों को लागू करना चाहते हैं,
और फिर तुम कुंजी मान जोड़ी के रूप में गुण डाल
एक बृहदान्त्र द्वारा अलग और फिर एक सेमीकोलन के साथ समाप्त हो गया है,
या आप कि बाहर के सभी चीर कर सकते हैं और यह एक अलग सीएसएस फ़ाइल में डाल दिया
स्वयं के इधार.
सब ठीक है, अवधारणाओं पर किसी भी सवाल
या सीएसएस की बड़ी तस्वीर?
तुम फिर 7 pset में इसके बारे में और अधिक देखेंगे,
लेकिन हम इसे आम तौर पर बहुत आसान रख देती हूँ.
नहीं? सही सभी.
यह एक वास्तविक प्रोग्रामिंग भाषा के लिए समय है,
और हम एक उदाहरण के रूप में सीएसएस का एक छोटा सा के लिए आया हूँ.
PHP वास्तव में एक अद्भुत सुलभ भाषा है
में है कि यह वाक्य रचना लगभग सी. करने के लिए बराबर है
दूसरे शब्दों में, अगर आप सी पता है, तो आप सबसे अधिक हिस्सा PHP के लिए जानते हैं,
कम से कम वाक्य रचना, भले ही वहाँ कुछ नई सुविधाएँ हैं
और कुछ नई अवधारणाओं हम को देखने के लिए होगा.
>> लेकिन सबसे अधिक भाग के लिए, अब हम संक्रमण कि सी से PHP
नए सामान के सबसे बड़े चित्र में सच है,
कैसे आप प्रोग्राम के लिए वेब पर एक भाषा के रूप में करने का विरोध किया उपयोग
कमांड लाइन पर या में एक निमिष संकेत के रूप में हम इस प्रकार दूर कर दिया गया है.
संदर्भ के लिए, विशेष रूप से 7 pset और अंतिम परियोजना आगे के साथ,
इस URL का लाभ लेने के अगर आप PHP की औपचारिकताओं पर पढ़ने के लिए करना चाहते हैं.
यह वास्तव में एक मुफ्त ऑनलाइन पाठ्यपुस्तक प्रभावी ढंग से करना चाहते हैं,
और आप यह भी पता चलेगा कि क्या PHP के बारे में वास्तव में अच्छा है
है कि वहाँ कार्यों के सैकड़ों है कि इसके साथ आ रहे हैं,
जबकि सी में आप जरूरी करने के लिए उपयोग नहीं किया है
से अधिक कार्य गणित पुस्तकालय में थे, CS50 पुस्तकालय.
PHP और आधुनिक भाषाओं, पायथन और उन के बीच रूबी का एक बहुत,
आप इतने अधिक काम करता है, जिसका मतलब है कि आप लिखना तक पहुँच पाने के
एक बहुत कम कोड है क्योंकि आप अन्य लोगों के कंधों पर खड़े हो सकते हैं
जो पहले से ही आप के लिए कुछ बातें लिखी.
>> चलो PHP के वाक्यविन्यास की एक त्वरित दौरा ले और फिर लिखने के कुछ उदाहरण हैं.
क्या अच्छा है के बारे में PHP पहला और सबसे महत्वपूर्ण
वहाँ कोई मुख्य कार्य है.
यदि आप PHP में एक प्रोग्राम लिखने के लिए चाहता हूँ कि तुम सिर्फ कोड लिखने शुरू,
और आप मुख्य के बारे में चिंता करने की ज़रूरत नहीं है.
वहाँ कोई int है. वहाँ कोई वापसी है.
वहाँ कोई argv argc, कि जब आप प्रोग्राम लिखने के लिए आवश्यक है.
बल्कि आप सिर्फ कोड लिखने शुरू कर सकते हैं, और इस हिस्से में है
क्योंकि PHP एक व्याख्या की भाषा क्या कहा जाता है.
सी संकलित किया गया था और यह समझ में आता है कि आप शुरू में संकलित किया गया
स्रोत कोड के साथ, यह बजना है, जो एक संकलक के माध्यम से चलाने के लिए,
और अंततः कदम की कुछ संख्या के बाद आप ऑब्जेक्ट कोड, 0s और 1s मिलता है.
PHP और पायथन और रूबी और पर्ल और दूसरों
भाषाओं के विभिन्न प्रकार है कि आप उन्हें संकलन नहीं कर रहे हैं.
आप स्रोत कोड से 0s और 1s के लिए जाना नहीं है.
तुम बस स्रोत कोड को चलाने के लिए, और आप स्रोत कोड चलाने
एक सामान्य पाठ फ़ाइल में लेखन, इस मामले में समाप्त में php.
के बजाय ग, और आपके कंप्यूटर पर प्रोग्राम क्या करता है
यह सचमुच लाइन से लाइन से अपने कोड लाइन की व्याख्या करता है.
>> दूसरे शब्दों में, बजाय एक प्रोग्राम लिखने के लिए और कार्यक्रम चलाने
सीधे आप के बजाय एक php. में समाप्त होने वाली फ़ाइल के साथ एक प्रोग्राम लिखने.
तो फिर तुम एक वास्तविक php.exe नामक कार्यक्रम चलाने के लिए, अगर आप विंडोज पर हैं,
या सिर्फ PHP अगर आप मैक ओएस या लिनक्स पर कर रहे हैं,
और आप निवेश के रूप में PHP कार्यक्रम अपने स्वयं के स्रोत कोड प्रदान करते हैं,
और जीवन में अपने उद्देश्य के लिए अपने कोड ऊपर से नीचे, सही करने के लिए छोड़ दिया पढ़ा है,
और जो कुछ भी आप यह है को बताया करने के लिए करते हैं.
>> चलो देखने के लिए इस वाक्य रचना करने के लिए क्या मतलब जा रहा है.
PHP में हम स्थिति है.
इस स्लाइड के समान है क्या आप 1 सप्ताह में वापस देखा
क्योंकि वाक्य रचना की स्थिति, अगर किसी और ifs हैं PHP में और
वास्तव में इस तरह लग रहे हो.
जब यह बूलियन अभिव्यक्ति के लिए आता है वे वास्तव में इस तरह देखने के लिए जा रहे हैं.
जब यह चीजें एक साथ anding रूप booleans है कि यह वास्तव में इस तरह लग रहा है के लिए आता है.
स्विच ही लग रही है, और आप PHP में जोड़ा लाभ मिलता है
सी में है कि स्विच केवल एक चार या एक int पर बदल सकता है.
आप एक स्ट्रिंग मूल्य पर नहीं बदल सकता है.
PHP में आप वास्तव में एक अभिव्यक्ति हो सकता है
कि एक चर जिनकी सामग्री एक स्ट्रिंग है,
और आप वास्तव में असली सहज तरीके में स्ट्रिंग तुलना कर सकते हैं,
तुलना सूचक नहीं, क्रम में तय करने के लिए मामले में करने के लिए मैं या j या कुछ और.
हम जानते हैं कि लंबे समय से पहले संभावित देखेंगे.
>> Loops भी शानदार वही कर रहे हैं.
के लिए loops एक initialization, एक शर्त है, और अद्यतन की कुछ संख्या है.
हालांकि यह भी PHP में मौजूद loops.
क्या है जबकि loops भी PHP में मौजूद हैं,
और arrays PHP में मौजूद हैं, लेकिन यहाँ है, जहां वाक्यविन्यास एक छोटे से अलग पाने के लिए शुरू,
लेकिन अवधारणाओं ही हैं, और अवधारणाओं वास्तव में वही कर रहे हैं
के रूप में वे खरोंच के साथ सप्ताह 0 में थे.
पहला और सबसे महत्वपूर्ण हस्ताक्षर डॉलर है.
यह PHP में एक डिजाइन का फैसला किया गया था जिससे किसी भी चर
PHP में डिजाइन $ हस्ताक्षर के साथ शुरू होता है.
वहाँ कोई और अधिक एक्स, वाई, जेड अब यह $ एक्स, वाई, $ Z क्योंकि बस.
यह करने के लिए मन में रखने के लिए कुछ है, और अब दाएँ हाथ की ओर
यह एक सरणी के समान लग रहा है,
लेकिन हम वर्ग कोष्ठक का उपयोग कर रहे हैं.
PHP और जावास्क्रिप्ट में, जैसा कि हम अंत में देखेंगे,
एक सरणी आप खुले वर्ग कोष्ठक और वर्ग कोष्ठक बंद की घोषणा करने के लिए,
और फिर तुम ints कि मूल्यों का एक अल्पविराम से अलग सूची है,
या तार या कि वहाँ अभिव्यक्ति के अंदर घर का काम, जो आप चाहते हैं,.
>> अब, हम कैसे सी में कुछ इस तरह करते हैं?
Statically ज्ञात संख्या की एक सरणी की घोषणा करने के लिए वाक्यविन्यास क्या था?
यह घुंघराले ब्रेसिज़ था, यहाँ बहुत मामूली अंतर है, लेकिन दोनों PHP में
और जावास्क्रिप्ट अंततः यह सिर्फ वर्ग कोष्ठक का उपयोग करता है, तो वास्तव में
केवल यहाँ दिलचस्प विस्तार चर नाम के लिए हस्ताक्षर $
और भी वर्ग कोष्ठक, और वहाँ एक जिज्ञासु बात है
= हस्ताक्षर के बाईं ओर पर किया गया है के रूप में अच्छी तरह से छोड़े गए.
क्या याद आ रही है कि हम सप्ताह के लिए किया गया है अब की आवश्यकता होती है? हाँ.
[अश्राव्य छात्र प्रतिक्रिया]
आकार, सरणी के आकार का कोई जिक्र नहीं है.
सच कहूँ तो, वहाँ बाईं ओर वर्ग कोष्ठक का कोई जिक्र नहीं है
= हस्ताक्षर के, और क्या रेखा से याद आ रही है?
हाँ >> [अश्राव्य छात्र प्रतिक्रिया]
प्रकार, तो क्या PHP के बारे में विशेष रूप से दिलचस्प है
यह है कि यह एक जोरदार टाइप भाषा के रूप में सी नहीं है,
और कहा कि दृढ़ता से समझ में आता है कि आप चार कहना होगा में टाइप है,
आप int कहना होगा, आप नाव कहना होगा.
>> कभी भी आप एक चर चाहते हैं आप बजना बताओ अपने प्रकार क्या है.
PHP एक छोटे से lazier है.
यह शिथिल अर्थों में टाइप है कि
आप मंगाई और घर का काम और तार हो सकता है
और ints और बहुत आगे है, लेकिन भाषा में ही
करता है परवाह क्या आप एक चर के अंदर डाल सच में नहीं.
आप इसे पहले से सूचित नहीं है क्या डेटा प्रकार
एक चर में जा रहा है.
यह आप पर निर्भर करता है, तो यह अच्छा है
में है कि आप डेटा टाइपिंग के बारे में ज्यादा चिंता करने की ज़रूरत नहीं है
चिंता और अपने तर्क क्या कर रहे हैं और बहुत आगे है.
यह भी मतलब है कि PHP में कार्य करने के लिए अंत में लौटने में सक्षम होने के लिए जा रहे हैं
या तो समय की एक int सबसे अधिक है, और हो सकता है एक समय में एक बार
वे एक bool, एक बूलीयन झूठी लौटने के लिए, उदाहरण के लिए, को दर्शाता है कि कुछ गलत हो गया.
यह हमें कुछ upsides देता है, लेकिन यह भी हमें तरह की डिजाइन कर देगा
एक छोटा सा lazier जब यह डेटा टाइप करने के लिए आता है.
>> और क्या है मन में यहाँ रख?
चर यह काफी है, तो $ s = की तरह देखो "हैलो दुनिया."
यह शायद पिछले उदाहरण से जिसका निष्कर्ष निकाला जा सके,
और हम पाश की एक अन्य प्रकार है.
यह एक हम वास्तव में एक समय में एक बार देखेंगे क्योंकि यह काफी आसान है,
एक foreach का निर्माण किया.
इस मामले में, foreach पाश अपने कोष्ठकों 3 शब्दों के अंदर आम तौर पर लेता है,
$ 1 कुछ, जो सरणी तुम क्या करने के लिए के सदस्यों से अधिक पुनरावृति करना चाहते हैं,
तो सचमुच कीवर्ड, और फिर अंत में,
एक और चर नाम है कि आप को चुन ले.
यह foo, बार, या तत्व हो सकता है,
और इस निर्माण क्या करता है
अगर सरणी $ 10 तत्वों में शामिल है
इस सरणी खेद के हर चलना पर, इस लूप के हर यात्रा पर
चर बुलाया तत्व को अद्यतन किया जा रहा है
सरणी में पहला तत्व है, तो सरणी में दूसरा तत्व हो सकता है,
तो सरणी के तीसरे तत्व है, जिससे आवश्यकता समाप्त हो जाएगी
थोड़ा कष्टप्रद वर्ग कोष्ठक संकेतन करते हैं और
मैं आदेश एक सरणी में सूचकांक में $.
PHP और आप के लिए हर यात्रा पर है कि काम के सभी करता है
बस आप सरणी से अगले तत्व हाथ
आप के बारे में पता करने के लिए या अपने संख्यात्मक सूचकांक स्थान के बारे में परवाह करने के लिए बिना.
>> और फिर अंत में, अब के लिए, वहाँ एक PHP की अन्य विशेषता यह है
कि बेहद उपयोगी हो सकता है, खासकर जब हम वेब पर प्रोग्रामिंग शुरू हो रहा है,
और कि एक साहचर्य सरणी के रूप में जाना जाता है.
arrays कि हम इस प्रकार अब तक पता पहले 20 सेकंड
और पिछले 8 हफ्तों के लिए संख्यानुसार arrays अनुक्रमित रहे हैं,
की तरह पारंपरिक arrays जहां इंडेक्स ints हैं,
0, 1, 2, ऊपर पर सभी तरह.
साहचर्य arrays एक बहुत अधिक शक्तिशाली हैं.
वे आप मनमाने ढंग से कुंजी है करने की अनुमति है,
मनमाना सूचकांक और मनमाने ढंग से मूल्यों.
जबकि एक पारंपरिक सरणी में यह 0, 1, 2,,
एक साहचर्य सरणी में एक सूचकांक हो सकता है
या foo की एक कुंजी जिसका मूल्य बार है.
फिर आप एक और महत्वपूर्ण हो सकता है जिसका नाम baz और जिसका मूल्य qux है.
>> फिर, बेवकूफ कंप्यूटर विज्ञान सामान्य चर नाम यहाँ,
लेकिन मुद्दा यह है कि इस सरणी कोष्ठक 0 या 1 ब्रैकेट नहीं है.
यह बजाय ब्रैकेट foo और ब्रैकेट baz किया जा रहा है.
यह एक बहुत अधिक बहुमुखी है कि हम सहयोगी के लिए सक्षम होने के लिए जा रहे हैं
दूसरे शब्दों के साथ शब्दों में, मूल्यों के साथ पूरी तरह से मनमाने ढंग से चाबियाँ,
और हम लगातार समय में उन मूल्यों को वापस प्राप्त करने में सक्षम होने जा रहे हैं
क्योंकि क्या हुड के नीचे एक साहचर्य सरणी
वास्तव में एक हैश तालिका है.
याद है कि एक हैश तालिका आप कुछ इनपुट में डाल देता है
शब्द डेविड में डाल की तरह अगर आप शब्दकोश के कुछ प्रकार में दाऊद सम्मिलित करना चाहते हैं,
और फिर तुम वापस कुछ मूल्य आम तौर पर मिलता है.
वर्तनीकार, सही है या गलत के मामले में.
डेविड या जो भी शब्द या शब्दकोश में नहीं है.
एक साहचर्य सरणी वास्तव में सिर्फ एक हैश तालिका है,
लेकिन यह इसका एक बहुत अधिक उपयोगकर्ता के अनुकूल अवतार है.
जैसा कि हम देखेंगे, यह करने के लिए हमें कुछ बातें करने के लिए अनुमति देने के लिए जा रहा है
बहुत, बहुत आसानी से.
>> चलो कुछ बुनियादी PHP पर एक नज़र रखना
उदाहरण और देखते हैं कि हम क्या इस भाषा के साथ कर सकते हैं.
मुझे आगे जाना है और हमारे स्रोत निर्देशिका में आज खोल
एक फ़ाइल hello1.php बुलाया.
इस फ़ाइल में है और टिप्पणी की तुलना में यह वास्तविक कोड है,
तो मुझे वास्तव में फ़ाइल से सभी टिप्पणियों को हटाने
और शायद सरल PHP कार्यक्रम सही यहाँ मौजूद है.
5 लाइनों, और उन में से कुछ सफेद स्थान है,
इतना कुछ महत्वपूर्ण अंतर नोटिस.
फ़ाइल hello1.php कहा जाता है.
हालांकि, बहुत पहली पंक्ति है <php?
भावना में HTML करने के लिए भी इसी तरह,
वर्णों की है कि अनुक्रम कंप्यूटर कहता है
"अरे, कंप्यूटर, यहाँ एक कार्यक्रम हम PHP में कर रहे हैं आता है."
यह यकीन है कि यह भ्रमित नहीं है कि यह किसी अन्य भाषा है बनाता है.
2 रेखा एक दिलचस्प सफेद स्थान है.
लाइन 3 हमारे पुराने दोस्त printf है,
PHP के संदर्भ में इस समय.
PHP अपने printf का अपना संस्करण है जो वास्तव में एक ही बर्ताव करती है,
तो यह सिर्फ करने के लिए प्रिंट जा रहा है "हैलो दुनिया,."
और फिर इस विपरीत यहाँ टैग?, इसका मतलब है कि यह अपने PHP कोड के लिए है.
>> चलो देखते हैं कि यह कैसे चलाने के लिए.
मैं मेरे टर्मिनल विंडो यहाँ वापस जाने के लिए जा रहा हूँ.
मैं अपने PHP निर्देशिका में जाने के लिए जा रहा हूँ.
सूचना है कि हम फ़ाइलों की एक पूरी गुच्छा, 1 एक जिनमें से hello.php है.
मुझे आगे जाना है और इस, hello1.php, प्रवेश चलाते हैं.
अनुमति अस्वीकृत. ठीक है.
कैसे हम अतीत में इस तरह से बातें तय हो?
क्या है कि? >> [अश्राव्य छात्र प्रतिक्रिया]
हम पढ़ने और लिखने, लेकिन मुझे ls-l करते हैं की जरूरत है.
यह कुछ हद तक गुप्त उत्पादन जिससे hello1 याद
मेरे द्वारा पठनीय और लिखने योग्य किया जा रहा है
लेकिन हर किसी के द्वारा पठनीय है.
यह पता चला है यह वास्तव में सही दिशा में एक कदम नहीं है.
एक व्याख्या की भाषा के साथ फिर से, अंतर
आप इस कार्यक्रम सीधे नहीं चला है.
आप के बजाय एक दुभाषिया चलाने के लिए और यह कोड हाथ
कि आप तो यह लाइन से लाइन की व्याख्या कर सकते हैं लिखा है.
इस मामले में, दुभाषिया या कार्यक्रम मैं वास्तव में चलाना चाहते हैं
सचमुच PHP बुलाया.
>> कहीं उपकरण के इस हार्ड ड्राइव पर एक कार्यक्रम है
किसी और PHP बुलाया लिखा है, या Windows php.exe.
मैं यहाँ क्या करने जा रहा हूँ क्या है मैं वास्तव में PHP चलाने के लिए जा रहा हूँ
लेकिन यह कोड लिखा था कि मैं एक कमांड लाइन तर्क के रूप में देते हैं,
और फिर मैं बाहर ज़ूम और एन्टर करेंगे.
यह मेरे लिए कार्यक्रम चलाता है, ऊपर से नीचे, सही करने के लिए छोड़ दिया है.
मुझे आगे जाना है और इस का एक मामूली विचरण खुला.
Hello2.php नोटिस में वह भी इस
ज्यादातर टिप्पणियाँ, तो मुझे एक व्याकुलता के रूप में उन लोगों से छुटकारा पाने के लिए,
और क्या अब स्पष्ट रूप से अलग है इस फाइल के बारे में?
इस नई लाइन है, कुछ हद तक शीर्ष पर गुप्त है.
लाइन 1 में यह # / bin / php.
बिन binaries के लिए Linux और मैक ओएस पर एक सम्मेलन है,
तो / बिन मतलब है इस बायनेरिज़ का एक गुच्छा युक्त फ़ोल्डर है
कि प्रोग्राम है, जिनमें से एक PHP है.
#! कुटिया nicknamed,
जो यह कह रही है की एक त्वरित तरीका है, और क्या इसका मतलब यह है
यह है कि जब आप इस कार्यक्रम अब चलाने फ़ाइल के शीर्ष पर एक संकेत है
कि कंप्यूटर दुभाषिया क्या उपयोग करने के लिए बताता है.
>> यह एक छोटे से परेशान हो जाता है अगर आप अपने उपयोगकर्ताओं और अपने ग्राहकों को बताना था
"अरे, हम इस hello1.php कार्यक्रम बुलाया लिखा था."
सब तुम्हें क्या करना है हमेशा के लिए PHP चलाया जाता है और फिर इस कार्यक्रम का नाम है.
सच कहूँ तो, यह सिर्फ अच्छे होने के लिए hello1.php चलाने होगा,
और वास्तव में, हम अगर हम निम्नलिखित कर सकते हैं.
मुझे आगे जाना है और ls-l, और नोटिस hello2 में यह अभी भी सिर्फ पढ़ा है लिखने
और फिर पढ़ने, इसलिए मैं अभी तक ऐसा नहीं करते हैं, hello2.php कर सकते हैं.
लेकिन हम इस पर कभी भी इतना संक्षिप्त पिछली बार शुरू की, chmod आदेश.
अगर मैं एक chmod + x, है जो सभी प्लस executability मतलब करते हैं,
और तब hello2.php और फिर ls-l फिर नोटिस क्या बदला है.
एक, लिनक्स मुझे दिखा रहा है हरे रंग में विचार व्यक्त करने के लिए फ़ाइल नाम
कि यह निष्पादन योग्य है, लेकिन अधिक महत्वपूर्ण बात, बाईं ओर
सूचना है कि बिट निष्पादन योग्य के लिए एक्स का प्रतिनिधित्व अब सेट किया गया है.
अब यह क्या मतलब है मैं हमेशा की तरह ./hello2.php चला सकते हैं,
हिट दर्ज करें, और फ़ाइल के शीर्ष पर कुटिया की वजह से
कि एक संकेत है, लिनक्स कहते हैं कि फिर से,
इस दुभाषिया का उपयोग करने के लिए इस फ़ाइल को चलाने के लिए.
उपयोगकर्ता वास्तव में इसे टाइप करने के लिए मजबूर करने के बारे में चिंता मत करो.
>> और क्या अच्छा है अब यह की तरह अपने ग्राहकों को अप्रासंगिक या मेरे दोस्तों
क्या मैं भाषा में इस कार्यक्रम को लिखा था, तो मैं आगे mv के साथ जा सकते हैं
और hello2 उदाहरण के लिए इस बात का नाम बदलें.
और अब अगर मैं ./hello2 करना
और बाहर ज़ूम मेरे कार्यक्रम चलाने के लिए जारी है.
ये फाइल एक्सटेंशन एक मानव सम्मेलन है कि आवश्यक है
बजना और लोग उन्हें देखने के लिए की तरह कुछ के लिए.
लेकिन PHP के लिए, मैं इस फ़ाइल एक्सटेंशन कुछ भी मैं चाहता हूँ कह सकते हैं.
मैं रूबी में सोच रहा है कि मैं वास्तव में अच्छा कर रहा हूँ में दुनिया चाल सकता है,
और मैं hello2.rb लिखने के लिए और फिर सकता है इस चलाने के लिए,
और देखा, अब मैं रूबी संस्करण है, जो एक पूरी तरह झूठ है.
लेकिन फ़ाइल एक्सटेंशन व्यर्थ कर रहे हैं
अगर फ़ाइल निष्पादन योग्य है और फ़ाइल के शीर्ष पर इस विशेष संकेत है.
>> अब, एक अलग रूप में, मुझे आप जल्दी से 3 संस्करण दिखा,
जो पता करने के लिए एक उपयोगी चाल की तरह है.
Hello3 में मैं थोड़ा कुछ गलत किया है
कि मैं स्रोत कोड ऑनलाइन अपडेट कर देंगे.
3 संस्करण में यह पता चला है कि सबसे Linux कंप्यूटर पर
वहाँ एक कार्यक्रम पर्यावरण के लिए वातावरण में कहा जाता है,
और क्या तुम यहाँ कर सकते है अगर तुम्हें पता नहीं है जहां PHP
स्थानीय हार्ड ड्राइव पर स्थापित है, क्योंकि वास्तव में यह कंप्यूटर के आधार पर भिन्न हो सकता है
कि किसी का उपयोग कर रहा है, वातावरण में सिर्फ कहते हैं चलाने के लिए वातावरण,
जो सबसे सिस्टम पर है, और बाहर आंकड़ा जहां PHP है.
बस एक आम चाल तो आप बाहर लग रहा है, जहां एक कार्यक्रम है के बारे में चिंता करने की ज़रूरत नहीं है.
लेकिन अगर आप ध्यान करने के लिए पता लगाना, जहां एक कार्यक्रम है और आप इस प्रकार अब तक परवाह नहीं है
आप कमांड जो का उपयोग कर सकते हैं.
>> मुझे बाहर ज़ूम और प्रकार php जो,
नोटिस और यह मुझसे कहता है कि यह usr / bin / php में वास्तव में है.
यह एक झूठ की तरह है. यह बिन में भी है.
यह सिर्फ मुझे पहली हिट दिखा रहा है.
यदि आप कभी आश्चर्य जहां बजना है, जो बजना, कि usr / bin / बजना में है,
जो usr / bin / बनाने के लिए, और क्या इसका मतलब है कि यह सब समय है
आप टाइप किया जा सकता था usr / bin / बजना बजना चलाने के दर्ज करें,
लेकिन यह कठिन की तरह है कि करने के लिए इतना कुछ फ़ोल्डर्स
usr / bin और बिन की तरह करने के लिए चूक माना जाता है
कंप्यूटर के लिए आप के लिए उन्हें में देखो जानता है.
एक सुपर, सुपर सरल नमस्ते विश्व कार्यक्रम लेखन पर कोई सवाल
PHP में और फिर यह चल रहा है?
क्योंकि अब हम और अधिक सम्मोहक वाक्यविन्यास परिचय शुरू करेंगे.
सब ठीक है, यहाँ हम चले.
इन कार्यक्रमों में हम वास्तव में देखा है उन सब से पहले.
>> अगर मैं खोलते हैं, उदाहरण के लिए, चलो beer1.php करते हैं,
हम इस के कई संस्करणों के माध्यम से जाना नहीं है, लेकिन मैं क्या किया
मैं नीचे बैठ गया और डाल दिया या परिवर्तित
मेरी सी PHP कोड यहाँ कोड.
फ़ाइल के शीर्ष के अधिकांश यहाँ टिप्पणी है.
यह जाता है वहाँ एक नया समारोह हम की जरूरत है readline बुलाया है.
GetString, याद है, सप्ताह आगे 0 से एक CS50 बात थी.
PHP अपने स्वयं के उपयोगकर्ता के अनुकूल readline बुलाया समारोह के साथ आता है
कि 1 तर्क है जो शीघ्र निर्दिष्ट करता लेता है
कि आप उपयोगकर्ता को दिखाना चाहते हैं, और क्या readline करता है
यह अंदर उपयोगकर्ता प्रकार जो भी रिटर्न
इस मामले में, मैं एक $ n चर बुलाया घोषणा कर रहा हूँ.
मैं इसे में readline का वापसी मान संग्रहीत कर रहा हूँ
इस तार के साथ उपयोगकर्ता उत्साह के बाद.
बस को वापस करने के लिए वास्तव में इस बात को चलाने, मुझे आगे जाना है
और PHP beer1.php चलाने के.
कितने बोतलों वहाँ होगा? सिर्फ 2 इस समय चलो.
दर्ज करें. यही सब है.
>> कार्यक्रम कार्यात्मक सप्ताह पहले से सी संस्करण के समान है.
लेकिन वाक्य रचना चलो देखते हैं क्या अलग है.
के बाद मैं उपयोगकर्ता नोटिस से एक int मिलता है कि मैं कुछ त्रुटि की जाँच कर रहा हूँ,
और यदि n कम से कम 1 मैं छोड़ रहा हूँ और मैं बाहर मुद्रित करने के लिए
उपयोगकर्ता और 1 के साथ बाहर निकलने के लिए एक खेद संदेश.
यह भी एक छोटे से अलग है.
सी में हम क्या किया? सी में हम 1 लौट आए.
PHP में आप 1 के साथ बाहर निकलते हैं, जो स्पष्ट रूप से मैं एक छोटे से अधिक सहज ज्ञान युक्त लगता है
क्योंकि आप सचमुच कार्यक्रम बाहर निकलने रहे हैं.
सब ठीक है, और फिर नीचे यहाँ कष्टप्रद गीत समान वाक्य रचना है
चर के लिए छोड़कर, तो नीचे पंक्ति में यहाँ 24 आगे
पाश के लिए मेरे नोटिस लगभग एक ही है,
लेकिन मैं मैं और n के सामने डॉलर है,
और क्या यह भी 26 लाइन से लापता है कि हम अतीत में किया है
जब मैं चर घोषित?
वहाँ कोई प्रकार है.
यह PHP में इंट कहना गलत है.
आप बस क्या करना है कि जरूरत नहीं है.
कंप्यूटर, दुभाषिया PHP बहुत चालाक के लिए एहसास है
कि अगर आप डॉलर में एक नंबर मैं यह इलाज करेंगे
आप के लिए एक नंबर के रूप में.
और फिर यहाँ नीचे हम $ मैं, मैं, $ मैं में प्लग - 1.
कि सब के सब एक ही है, और फिर यहाँ हम एक "वाह, कि कष्टप्रद है" printf
और फिर से बाहर निकलें (0).
>> फिर, यहाँ takeaway है कि भले ही हम अपेक्षाकृत खर्च करने जा रहे हैं
PHP पर कम समय है, निश्चित रूप से बनाम हम सी पर क्या किया था,
यह लगभग एक ही है, और इसलिए हम आज क्या करूँगा और अगले सप्ताह
और परे वास्तव में कुछ नए विचारों पर ध्यान केंद्रित है.
बस देखने के लिए कि एक अन्य बात पर सी से अनुवाद करता है,
यह एक सुपर सरल कार्यक्रम हम 1 सप्ताह में किया गया था
या 2 है कि एक मूल्य cubed.
लेकिन क्या इस कार्यक्रम के बारे में समय पर दिलचस्प यह है कि
एक कस्टम लिखा समारोह की धारणा है कि हम अपने आप को लिखा था की शुरुआत की.
PHP में वाक्यविन्यास लगभग एक ही है.
यहाँ शीर्ष मेरे प्रोग्राम है.
फिर सूचना अनुपस्थित मुख्य के किसी भी धारणा है.
मैं कोड लिखने शुरू, और यह है कि क्या दुभाषिया द्वारा क्रियान्वित हो रहा है.
मैं बाहर मुद्रित करने के लिए एक्स अब 2, संभाव्यतः.
तब मैं cubing का दावा है ...
तब मैं घन समारोह फोन और $ x में पारित
और $ x वापसी मान असाइन करें.
तो मैं दावा है कि यह cubed है, और फिर मैं यह कहना है, जो उम्मीद
x अब 8 कहेंगे.
PHP में समारोह के लिए वाक्यविन्यास कभी तो थोड़ा अलग है.
फिर लापता रिटर्न प्रकार है.
फिर वापस प्रकार याद आ रही है और यह भी लापता क्या अन्य प्रकार है?
[अश्राव्य छात्र प्रतिक्रिया]
ठीक है, ठीक है, यह अच्छी बात है. चलो एक दूसरे में वापस आने के.
>> हम नहीं है, उदाहरण के लिए, यहाँ int.
हम, उदाहरण के लिए नहीं है, यहाँ क्योंकि, फिर PHP में, int
आप बस की जरूरत नहीं है और है कि ऐसा नहीं होना चाहिए,
बल्कि इस नए कीवर्ड समारोह में कहा है.
PHP में यह लगभग एक छोटे से स्पष्ट है क्योंकि जब आप एक समारोह चाहते हैं
आप सचमुच समारोह कहते हैं, आप इसे एक नाम देने के लिए और फिर एक अल्पविराम से अलग सूची
अगर अपने तर्कों के किसी भी.
शून्य या उस तरह कुछ भी कहने की जरूरत है, और फिर वापसी में ही है,
* $ $ $ * एक.
क्या यह भी याद आ रही है? सैमी इस यहाँ बताया.
PHP में पूरी तरह से अनुपस्थित फ़ाइल के शीर्ष पर भी एक प्रोटोटाइप है.
यह भी डिजाइन की है.
PHP तरह की भाषा और दुभाषियों होशियार से सी कभी था
बजना तरह compilers में.
>> कि बजना स्मरण करो, यदि आप इसे घन मौजूद नहीं बताया था,
अगर आप यह नहीं बताया है कि printf के रूप में एक प्रोटोटाइप के साथ मौजूद था
या के साथ एक # शामिल हैं, अच्छी तरह से, यह तुम पर चिल्लाना और अपने कोड भी संकलन नहीं जा रहा था.
PHP और अधिक आधुनिक भाषाओं एक बहुत चालाक हैं, जब यह बात आती है.
वे इसे लेने पर खुद को अपने कोड के माध्यम से सभी को पढ़ने के लिए
और फिर तुम पर चिल्लाना केवल अगर यह घन कहीं नहीं पाता.
यह कोई फर्क नहीं पड़ता अगर घन नीचे या ऊपर या यहां तक ​​कि कुछ अलग फाइल में है.
PHP और इसी तरह की भाषा अब काफी समझदार के लिए आगे देखो
आप के रूप में एक गलती की deeming पहले सब कुछ.
कहाँ है कि हमें छोड़ करता है?
>> चलो परिस्थितियों में पिछले एक उदाहरण यहाँ है,
और अगर मैं भी conditions2.php नोटिस को खोलने के लिए
यहाँ वाक्यविन्यास लगभग एक ही है.
मैं बजाय readline GetString का उपयोग कर रहा हूँ, लेकिन यह है कि लाइन पहले की तरह ही है,
"मैं एक पूर्णांक कृपया चाहते हैं."
मैं तो एक हालत अगर है, अगर नहीं, तो और एक और एक वरना,
लेकिन कार्यात्मक इस कार्यक्रम भी हम क्या सप्ताह पहले के समान है,
यदि ऐसा है तो मैं इस बात, conditions2 की php चलाने के लिए,
और मैं यह 23 की तरह एक नंबर दे -
मैं एक सकारात्मक संख्या उठाया. अगर मैं इसे -1 दे मैं एक नकारात्मक संख्या उठाया.
अगर मैं दे यह 0 मैं वास्तव में 0 उठाया.
तो जो इस सब के बारे में परवाह है?
खैर, अभ्यास के यहाँ मज़ा तरह के एक
मेरे लिए कम से कम करने के लिए वापस जाओ और देखो कि कैसे जल्दी से मैं 5 pset लागू कर सकता था,
ग़लत वर्तनी pset.
याद है कि वहाँ इस फ़ाइल speller.c बुलाया था,
और वहाँ एक फ़ाइल dictionary.c बुलाया था.
मैं क्या मैंने किया था की तरह कुछ मिनट बिताए और मैं सी कोड परिवर्तित
PHP कोड, और हम वर्तनीकार पर ज्यादा समय नहीं खर्च करेगा
क्योंकि सिर्फ 5 pset तरह आप वास्तव में की जरूरत नहीं किया था
वर्तनीकार पर ही ज्यादा समय खर्च करते हैं क्योंकि आपका ध्यान शब्दकोश पर था.
>> इतना ही कहना है कि अगर आप वर्तनीकार के माध्यम से पढ़ा,
इस फाइल को यहाँ, यह बहुत सुंदर सी कोड के लिए बराबर है
हम आप 5 pset के लिए दे दिया.
मैं सिर्फ कुछ स्थानों में जोड़ दिया है.
मैं कुछ समारोह के नाम बदल दिया है अगर वे PHP में मौजूद नहीं था.
वहाँ एक अतिरिक्त बात यहाँ है, preg_match,
जो कुछ कर के एक छोटे से शौक़ीन तरीका है, लेकिन हम है कि अंततः वापस आया हूँ.
लेकिन संक्षेप में, वर्तनीकार लगभग समान है, और अगर आप बहुत नीचे देखो
यह अंत में बाहर spits क्या यह यहाँ है,
शब्द गलत वर्तनी, शब्दकोश पाठ में, शब्दों में शब्दों.
ठीक है, तो क्या दिलचस्प है अब निम्नलिखित है.
मेरी फाइल के शीर्ष पर मैं dictionary.php की आवश्यकता होती है हूँ.
बस के रूप में सी # शामिल है PHP एक विशेष समारोह कहा जाता है की आवश्यकता होती है
कि बहुत ज्यादा एक ही बात करता है, एक dictionary.php बुलाया फ़ाइल की आवश्यकता है.
कैसे मैं 5 pset को लागू करने के बारे में जा सकते हैं?
मुझे आगे जाना है और यहाँ एक फ़ाइल खोलने के.
मुझे एक छोटे संदर्भ यहाँ ले.
और मुझे एक नई फ़ाइल बनाने और इस dictionary.php बुला शुरू.
मुझे इसे किसी अन्य फ़ोल्डर में डाल दिया तो हम क्या कर सकते हैं इस लाइव.
और अब मैं ज़ूम
मैं मेरे PHP फ़ाइल खुला ब्रैकेट php ब्रैकेट बंद कर दिया के साथ शुरू करने जा रहा हूँ.
और फिर यहाँ वहाँ कुछ कार्य मैं 5 pset के लिए लागू करने के लिए की जरूरत थे,
तो मुझे उन लोगों में से कुछ को लागू करने शुरू,
तो समारोह की जांच है, जो करने के लिए एक तर्क के रूप में एक शब्द लेना पड़ा.
हम जानते हैं कि कर सकते हैं और एक पल में यह करने के लिए वापस आ जाएगा.
>> समारोह लोड, जो एक तर्क के रूप में क्या लिया था?
शब्दकोश, फ़ाइल इतना है कि मैं वास्तव में लोड करने के लिए करना चाहता था.
समारोह आकार, जो किसी भी तर्क नहीं ले किया था
और वहाँ था समारोह के अन्य क्या था?
अनलोड है, जो किसी भी तर्क या तो नहीं ले गए थे.
4 कार्य करता है कि मैं अब PHP में लागू करने की आवश्यकता होगी,
और मैं क्या करने जा रहा हूँ क्या आगे जाना है और यह करते हैं.
आप का एक बहुत 5 pset में एक हैश तालिका का इस्तेमाल किया है,
तो मुझे आगे जाना है और PHP में एक हैश तालिका बनाने के.
हो गया.
कि मुझे एक हैश तालिका देता है. ठीक है, क्यों?
एक, $ चर तालिका कहा जाता है, बस एक हैश तालिका के विचार को आच्छादित करने के लिए.
वर्ग कोष्ठक, हालांकि, याद है, क्या प्रतिनिधित्व करते हैं?
एक सरणी, लेकिन PHP arrays में संख्यानुसार अनुक्रमित किया नहीं है.
उन्होंने यह भी साहचर्य arrays हो सकता है,
जिसका मतलब है कि आप मनमाना कुंजी और मूल्यों हो सकता है.
>> ज्यादातर pset 5, आप में से जो हैश तालिका कार्यान्वयन किया
आप शायद शब्द डाला और फिर यह लिंक सूचियों की एक श्रृंखला में डाला,
या आप सच कहीं या उस प्रभाव के लिए कुछ के मूल्य संग्रहीत.
आप किसी भी तरह से तथ्य यह है कि शब्द वहाँ था याद आ गया.
अभी के लिए, कि मेरे हैश तालिका होने जा रहा है,
और इसलिए अब चेक समारोह को लागू करने के बारे में जाने के लिए
मैं सिर्फ कि हैश तालिका के अंदर देखने की जरूरत है
और देखने के लिए अगर एक शब्द है.
मैं क्या करने जा रहा हूँ क्या मैं कहने जा रहा हूँ अगर
चलो का कहना है, जो एक PHP समारोह है कि सचमुच सिर्फ मतलब है isset कुंजी सेट है,
तो isset ($ तालिका [शब्द $],
और यदि ऐसा है तो वापसी सच.
बस. कि PHP में pset 5 है.
खैर, निष्पक्षता में, ठीक है.
वरना वापसी झूठी, तो यह वहाँ नहीं है.
क्या वास्तव में यहाँ पर जा रहा है?
खैर, अगर टेबल या हैश तालिका यहाँ आम तौर पर और अधिक
एक साहचर्य सरणी है इसका मतलब है कि आप यह कर सकते हैं इसे में सूचकांक है
"शब्द," और तुम वापस कुछ मूल्य प्राप्त की तरह एक शब्द के साथ.
>> हम एक कदम खुद से आगे हो रही है की तरह कर रहे हैं.
यह अच्छी तरह हो सकता है अगर हम वास्तव में फ़ाइल 1 भरा हुआ होता है,
तो काफी लोड के रूप में सरल नहीं है लेकिन मुझे आगे जाना है और कोड़ा
लोड की एक बहुत जल्दी कार्यान्वयन.
मुझे आगे जाना है और कहने के लिए शब्द शब्दकोश फ़ाइल हो जाता है.
फ़ाइल समारोह PHP में एक फ़ाइल को खोलता
और आप के लिए रिटर्न है कि फाइल में शब्दों के सभी की एक सरणी,
सिर्फ उन्हें आप हाथ है.
यह एक बड़ा दर्द भी था, यह नहीं था?
अब foreach, यह हमारे नए निर्माण, foreach ($ $ के रूप में इस शब्द का शब्द) है.
इस लूप सरणी शब्द iterating शुरू हो रहा है
और शब्द $ चर फ़ाइल में प्रत्येक शब्द आवंटित
1 से 4 सभी तरह 3 2
तो मैं करने के लिए कष्टप्रद [i] अंकन करते हैं और पसंद नहीं है.
और क्या मैं बस इन शब्दों में से प्रत्येक के लिए जा रहा करने के लिए कर रहा हूँ
यह मेरी तालिका में तालिका में अनुक्रमण द्वारा स्टोर
और फिर सच कर रहे हैं क्योंकि याद करने के लिए
कि एक शब्द मेरे शब्दकोश में सब मैं वास्तव में क्या करना है
की तरह एक बिट फ्लिप और कहते हैं कि मेरे हैश तालिका में इस शब्द वहाँ है, सच है.
और यदि वह वहाँ नहीं है, मैं करने के लिए स्पष्ट रूप से झूठी डाल नहीं है,
अन्यथा मैं ब्रह्मांड में सभी संभव शब्दों के लिए झूठी डाल करना चाहते हैं.
>> यह मेरे लिए एक सूचकांक मूल्य निर्धारित करने के suffices
अगर सही करने के लिए एक शब्द मेरे हैश तालिका में वास्तव में है.
अब, मैं कोनों के एक जोड़े को काट रहा हूँ यहाँ है कि मैं मेरे हाथ में अब के लिए लहर करेंगे,
लेकिन अब लोड समारोह किया जाता है.
मैं एक सरणी में फ़ाइल से सभी शब्दों को लोड.
मुझे लगता है कि सरणी पर पुनरावृति, और सरणी में प्रत्येक शब्द के लिए
मैं कोड की एक पंक्ति के साथ अपने हैश तालिका में यह प्लग.
यह मजेदार है. तुम्हें पता है कि कैसे हम आकार अब लागू कर सकते हैं?
खैर, आकार हमेशा निष्पक्षता में बहुत आसान है.
यहाँ हम सिर्फ तालिका की गिनती वापसी कर सकते हैं.
यह बहुत आसान भी है, तालिका में चीजों की संख्या गिनती.
यह वास्तव में सबसे कुशल नहीं की तरह है.
मैं शायद एक चर आकार बुलाया है तो हम इसे कर सकते हैं चाहिए
निरंतर समय में है, लेकिन यह बहुत आसान है.
ओह, और फिर, उतारना, अगर हम वास्तव में गुदा यहाँ रहना चाहता हूँ
हम कह सकते हैं कि कैसे आप कुछ अनलोड करने के लिए.
तुम सिर्फ एक खाली सरणी के बराबर चर सेट,
और यह सब कुछ था कि वहाँ से छुटकारा मिलता है.
कोई फ्री कॉल करने की जरूरत है.
>> फिर, मैं कुछ कोनों में कटौती है, और मैं बताए समस्या 5 सेट के लिए माफी माँगता हूँ
शायद सी में है, लेकिन अगर हम अब आगे जाना है और इस चलाने के लिए,
मैं वास्तव में इस संस्करण को चलाने के लिए जा रहा हूँ कि मैं अग्रिम में लिखा
बस इतना है कि मैं किसी भी वाक्य गलतियों जो भी नहीं बना था.
मुझे आगे जाना है और वर्तनीकार चलाने. उपयोग एक ही है.
यहाँ एक शब्दकोश फ़ाइल है जो सिर्फ शब्द foo शामिल है.
यहाँ एक पाठ फ़ाइल है जो सिर्फ foo बार होता है.
चलो जादू, तो वर्तनीकार की जांच, इस पाठ फ़ाइल पर इस शब्दकोश फ़ाइल का उपयोग.
वहाँ एक गलत वर्तनी वाले शब्द, बार, और देखा है.
5 pset के साथ किया है.
चलो यहाँ एक 5 मिनट का ब्रेक लेते हैं, और हम वापस और अधिक PHP पर आया हूँ.
ठीक है, हम वापस आ रहे हैं.
चलो थोड़ी देर के लिए मुझे नफरत है.
चलो अब वास्तव में देखने के लिए अगर यह एक सकारात्मक नहीं था
वास्तव में PHP में इस बात को लागू कर रहा है.
दी, यह लागू करने के लिए 45 सेकंड लिया.
>> लेकिन अब आगे जाना है और चीजों को चलाने के.
मुझे आगे जाना है और एक सी संस्करण को चलाने
वर्तनीकार की है, और हम इसे एक बड़ी फ़ाइलों के पर चलने देंगे,
जो राजा जेम्स बाइबल है.
और है कि यहाँ में चलो हमारे सी फ़ोल्डर में जाना,
राजा जेम्स 5 पर speller.
ग़लत वर्तनी वाले शब्दों का एक बहुत.
ठीक है, ताकि उत्पादन आप शायद मिल गया है यहां तक ​​कि अगर बार थोड़ा अलग हैं,
अगर आप कुल में सब कुछ सही ढंग से काम करना है, और इतना समय मिल गया जांच जादू
राजा जेम्स बाइबल .38 सेकंड था, तो बहुत अच्छा है कि कार्यान्वयन का उपयोग.
अब मुझे PHP संस्करण है, जो हम सिर्फ लिखा में जाना.
मुझे राजा जेम्स वर्तनीकार चलाने.
वूप्स, कि त्रुटि की उपेक्षा. मैं गलत निर्देशिका में हूँ.
राजा जेम्स 5 पर स्पेलर.
लगभग हो गया.
>> ठीक है, चतुर पर्यवेक्षक एहसास होगा कि अधिक से अधिक 3 सेकंड था.
यह सच समय चल रहा है.
यह पता चला है कि यह समय लगता बाहर पाठ के बहुत थूक
की वजह से मुद्दों buffering, लेकिन लंबी कहानी को कम,
कि मशीन समय के 3.15 सेकंड, CPU समय था,
बनाम क्या यह एक पल पहले था?
.3 तरह.
मेरा मतलब है, यह परिमाण के एक आदेश में धीमी है, तो वह कहाँ है
हास्यास्पद मंदी से आ रहा है?
ठीक है, के रूप में मामले में सबसे अधिक किसी भी डिजाइन निर्णय हम बनाया है के साथ किया गया है
पिछले 9 सप्ताह से अधिक वर्ग में वहाँ लगभग हमेशा इस tradeoff है.
कभी कभी बस के बीच अंतरिक्ष, स्थान और समय के बीच कभी कभी,
स्थान, समय और विकास के प्रयास, और वास्तव में यहाँ, भले ही
हम समय की एक बड़ी राशि को बचाया है, शायद 10-20-30 संभावित घंटे
विकास वर्तनी परीक्षक को लागू करने के समय के
यह सजा सिर्फ 45 सेकंड में इस भाषा के साथ
कीमत हम भुगतान है कि यह एक परिणाम के रूप में धीमी परिमाण के एक आदेश है,
और यह आम तौर पर सबसे अधिक किसी भी व्याख्या की भाषा के साथ मामला है,
PHP, अजगर, रूबी, पर्ल, या जिससे दूसरों
अगर आप इसे एक दुभाषिया के माध्यम से चलाने के लिए जा रहे हैं और यह अपने कोड को पढ़ने
लाइन से लाइन, ऊपर से नीचे, दाएं से बाएं,
बिचौलिया कि अपनी खुद की कुछ समय लेने के लिए जा रहा है,
और क्या आप यहाँ 3 सेकंड में महसूस कर रहे थे के रूप में 0.3 सेकंड के लिए विरोध किया
तथ्य यह है कि वहाँ इस बिचौलिया जो सचमुच हमारे कोड की व्याख्या है
लाइन से लाइन, और भगवान न करे अगर आप एक पाश के अंदर कर रहे हैं
एक भारी शब्दों के हजारों के सैकड़ों युक्त फ़ाइल के साथ.
>> भूमि के ऊपर है कि करने के लिए जोड़ने के लिए और जोड़ने के लिए और जोड़ने के लिए और जोड़ने के लिए जा रहा है.
इस तरह एक उपकरण के लिए यह शायद सबसे अच्छा भाषा को लागू करने के लिए उपयोग करने के लिए नहीं है
तुरंत्ता अगर एक जादू चेकर अपने उपयोगकर्ताओं के लिए और आप के लिए ब्याज की है.
लेकिन लक्जरी हम एक पल में आप अगर
PHP की तरह एक भाषा या भाषाओं की व्याख्या की एक बहुत का उपयोग करें
वेब के संदर्भ में, उस बात के लिए, आप लाभ उठा रहे हैं
है कि इंटरनेट एक बहुत ज्यादातर कंप्यूटर की तुलना में धीमी है.
आप अपने कंप्यूटर, 2 गीगा, शायद अधिक भी इन दिनों में एक गीगा सीपीयू है.
लेकिन वास्तविकता इंटरनेट पर विलंबता के एक उच्च राशि है
एक सर्वर से बात करने के लिए एक ब्राउज़र के लिए, जिससे भले ही हम पिछले सप्ताह देखा
कि कि बहुत तेज है, आधे से एक तो millisecond या,
वह भी कहते हैं, और अगर आप एक छवि की तरह चीजें डाउनलोड कर रहे हैं
या एक तस्वीर या Facebook बकवास पर त्वरित संदेश हो रही है,
Gchat या तरह, इन बार राउंड ट्रिप के सभी
ब्राउज़र और सर्वर को जोड़ने के शुरू के बीच,
जो कई मामलों में अपनी भाषा का विशेष रूप से पसंद करता है
कि सभी प्रासंगिक नहीं है, तो आप ठीक एक थोड़ा धीमी भाषा का प्रयोग कर रहे हैं
PHP या अजगर या रूबी की तरह
लेकिन जिसके लिए आप को बड़ा upsides और अपने सहयोगियों
और अपने मित्रों क्योंकि आप कुछ ऐसा है, तो बहुत तेजी से लागू कर सकते हैं.
और इसके अलावा, आप कुछ सुरक्षा खामियों के बहुत कम जोखिम है.
PHP में कोई संकेत नहीं है.
कोई seg दोष है कि आप आसानी से प्रेरित कर सकते हैं
उसी तरह तुम सी में कर सकता है
सी के साथ आप सुपर हार्डवेयर के लिए बंद कर रहे हैं.
PHP और इसी तरह की भाषाओं के साथ उच्च स्तर की तरह इतनी बात करने के लिए कर रहे हैं,
वास्तव में आप और क्या के बीच सुरक्षा का एक बहुत कुछ के साथ हो रहा है
मशीन के अंदर, और यह सिर्फ एक tradeoff है.
>> हम इन अधिक आधुनिक, उच्च स्तरीय भाषाओं के होने की बात करने के लिए मिल गया है
PHP तरह क्योंकि PHP तरह सी में भाषा में सबक सीखा
लेकिन अगर आप समझ नहीं आता क्या हुड के नीचे किया गया है पर यह सब समय जा रहा
आप निश्चित रूप से सही डिजाइन निर्णय नहीं कर सकते हैं,
और निश्चित रूप से जब यह Facebook या गूगल की तरह एक जगह पर काम करने के लिए आता है
या इन स्थानों में से किसी भी है कि तेजी से बड़े डेटा के साथ खेल रहे हैं सेट
यहां तक ​​कि अगर आप वापस जाने और premed करते हैं और कुछ एमडी के साथ काम कर रहे हैं
कुछ बड़े डेटा पर सेट डॉक्टरों और मरीजों को शामिल
और सही उपकरण का उपयोग की तरह बेहद मजबूर है
क्योंकि अन्यथा कुछ डेटा सेट के अपने विश्लेषण सेकंड लग सकता है,
या यह सचमुच घंटे लग सकते हैं.
यह सिर्फ एक उदाहरण है, के लिए कितना अधिक प्रयास के साथ आप को हताश नहीं
यह सी में था, लेकिन आपको लगता है कि मदद की सराहना करते हैं जब आप कुछ सी में लागू करते हैं
तुम सच में समझ, या सिद्धांत रूप में, सच में समझ
हो सकता है कि कैसे सब कुछ है या काम करना चाहिए और आप लगभग पूरा नियंत्रण है
क्या हुड के नीचे जा रहा है, और इन उच्च स्तर भाषाओं के साथ
आप लोग हैं, जो उन का आविष्कार करने के लिए और अधिक नियंत्रण छोड़
और तुम्हारा से अपने डिजाइन निर्णय अधिक विषय हैं.
लेकिन अगर हम लेने के लिए दी है कि प्रदर्शन
काफी के रूप में वेब पर इन अन्य मुद्दों की वजह से महत्वपूर्ण नहीं है,
बस नेटवर्क गति एक छोटे से CPU गति की तुलना में धीमी वैसे भी कर रहे हैं,
तो हम की तरह एक थोड़ा धीमी भाषा का उपयोग करने के लिए खर्च कर सकते हैं
अगर upsides हैं हम चीजों को 10 गुना तेजी से या और भी अधिक विकसित कर सकते हैं.
>> चलो देखते हैं कि कैसे हम इस का उपयोग शुरू कर सकते हैं.
मुझे एक फ़ोल्डर में जाने
आज के उदाहरण के बीच frosh.ims कहा जाता है,
और यह वास्तव में व्यक्तिगत रूप से इस तथ्य से प्रेरित किया गया था कि बहुत पहले की बात
मैं वेब के लिए CS50 और CS51 लेने के बाद साल पहले लिखा था
Frosh आईएमएस कार्यक्रम के लिए एक वेबसाइट, नए अंदर का खेल था,
जो समय पर इस समय पर्याप्त साल पहले थी
कार्यक्रम के लिए कोई वेबसाइट था, भले ही वहाँ एक वेब था,
और बजाय वहाँ Wigglesworth में एक प्रॉक्टर था जिससे अगर तुम चाहते थे
वॉलीबॉल या फुटबॉल या जो कुछ भी के लिए रजिस्टर करने के लिए आप कागज के एक टुकड़े को भरने जाएगा.
तुम तो यार्ड में चलना होगा.
तब आप उनके दरवाजे या प्रॉक्टर करने के लिए हाथ में उनके दरवाजे और स्लाइड पर दस्तक
अपने नाम के साथ उस पर कागज का एक टुकड़ा है, या नहीं, आप एक टीम के कप्तान होना चाहते हैं,
खेल क्या है, आप के लिए करना चाहता था और छात्रावास क्या तुम अंदर थे
यह काम करने के एक पुराने स्कूल के रास्ते की तरह था, और यह एक मुख्य था
अवसर के लिए इस प्रक्रिया का एक बहुत स्वचालित.
तुम बस वेबसाइट पर जाएँ. आप के अंदर कुछ लिखें
आपको पुष्टिकरण ईमेल और उछाल मिलता है, तो आप कर रहे हैं.
>> यह बहुत पहले की बात है मैंने किया था, हालांकि एक पर्ल नामक भाषा में,
लेकिन यह अपेक्षाकृत आसान है PHP में क्या करना है, और इस प्रतिनिधि की तरह है
समस्याओं का हल शुरू जब आप अपने आप को व्यक्त कर सकते हैं कर सकते हैं
प्रोग्राम और Google साइटों की तरह बातों पर भरोसा नहीं है
या एक्सेल या उपकरण है कि आप को सौंप दिया जाता है.
तुम लोग अब इस तरह से काम करने की क्षमता है.
यह एक फार्म का एक सुपर बदसूरत संस्करण है,
लेकिन चलो बस यह बातचीत जिससे यह है की शुरुआत के लिए उपयोग
मोटे तौर पर फार्म की तरह क्या हमारे लिए वर्षों पहले देखा
वेब पर लोगों Frosh आईएमएस के लिए हस्ताक्षर करने के लिए सक्षम है.
हम एक नाम के लिए पूछा, के लिए एक चेकबॉक्स या नहीं, वे कप्तान बनना चाहता था,
पुरुष या महिला, और फिर क्या वे छात्रावास में थे,
और फिर वे इस फार्म प्रस्तुत करेंगे.
HTML कि इस वेबपेज का प्रतिनिधित्व करता है पर हुड के नीचे पहले देखो चलो.
चलो मुझे froshims0 में जाने,
और एक अलग रूप में, 7 pset के लिए मैं के लिए दी ले जा रहा हूँ
निर्देशिका और फ़ोल्डर्स कि मैं चीजों के अंदर डाल रहा हूँ
हम आप के माध्यम से चलना वास्तव में, जहां चीजें करने के लिए उपकरण में जाना है,
जो आधुनिक आज्ञाओं आप चलाने के लिए है, तो सब के बारे में चिंता करने की ज़रूरत नहीं है
बेवकूफ विवरण मिल जाने से सिंक्रनाइज़.
>> सभी सही है, यहाँ froshims0.php है.
मुझे नीचे स्क्रॉल, और क्या उत्सुक यहाँ है,
यह एक PHP फ़ाइल है, लेकिन क्या यह के अंदर है, स्पष्ट रूप से?
यह HTML की एक पूरी बहुत है, और वास्तव में, PHP मूल
वास्तव में एक वेब केंद्रित किया जा रहा है भाषा के लिए गए थे.
एक पल पहले हम इसे इस्तेमाल बियर उदाहरण को लागू करने,
उदाहरण के लिए, शर्तों, हैलो, उदाहरण के लिए, और वह ठीक है.
आप PHP एक पटकथा भाषा के रूप में उपयोग कर सकते हैं
जहां एक स्क्रिप्ट वास्तव में सिर्फ एक त्वरित और गंदे कार्यक्रम के लिए दिए गए नामकरण है
या कुछ और कि आप एक पटकथा या अधिक आम तौर पर एक व्याख्या की भाषा में लिखने के.
PHP सुपर उस के लिए उपयोगी है क्योंकि आप देखा है कि कैसे जल्दी से
अपेक्षाकृत हम PHP में कार्यक्रमों के सचेतक कर सकते हैं.
लेकिन यह वास्तव में वेब के लिए इस्तेमाल किया जा डिजाइन किया गया था,
और अर्थ में वेब कि फ़ाइल के शीर्ष पर यहाँ नोटिस के लिए तैयार
मैं <php के साथ शुरू करते हैं.
फिर मैं बेकार टिप्पणी दी की एक गुच्छा है, लेकिन फिर मैं PHP मोड बंद.
लेकिन तब मैं HTML मोड में छोड़ देता है.
>> PHP के बारे में दिलचस्प बात यह है भले ही फाइल में समाप्त होता है php.
यह आम तौर पर HTML के साथ सह mingled होने का मतलब है,
कुछ PHP कोड, कुछ HTML.
और हम अंत में देखते हैं कि हम उन अलग चिढ़ाने के शुरू कर सकते हैं
और हमारे PHP से हमारे HTML अलग पूरी तरह रखने के लिए,
लेकिन PHP के मूल वास्तव में आप यह लचीलापन दे रहे थे,
कि अगर आप कुछ HTML चाहते सिर्फ यह लिखने के लिए, और कहा कि हो जाएगा
बाहर थूक हूबहू ब्राउज़र करने के लिए.
लेकिन अगर आप कुछ प्रोग्रामिंग तकनीक की जरूरत है,
कुछ प्रोग्रामिंग कोड, आप भी यह एक ही सटीक फ़ाइल में डाल सकते हैं, जैसा कि हम जल्द ही देखेंगे.
यहाँ मेरी HTML है.
मैं Frosh आईएमएस के लिए इस खिताब मिला है.
मैं एक शरीर टैग है जो केंद्र के बीच में सब कुछ करने के लिए उस पर कुछ सीएसएस मिल गया है मिल गया है,
और फिर नीचे यहाँ मैं एक रूप है जो जाहिरा तौर पर पेश किया जा रहा है
एक नई register0.php नामक एक फाइल करने के लिए, तो हम एक पल में देखेंगे.
यह कहा जाता है एक के बाद विधि का उपयोग कर रहा है, जो हम के रूप में अच्छी तरह से वापस आया हूँ.
तो मैं कुछ फार्म आदानों, एक कहा जाता है नाम, जिसका प्रकार पाठ है,
जिसका नाम है कप्तान, जिसका प्रकार चेकबॉक्स है,
और यह, हम यह पहले नहीं देखा है, लेकिन यह वास्तव में यह क्या कहते हैं.
आप एक पाठ बॉक्स के बजाय एक चेकबॉक्स मिल जाएगा.
यहाँ नीचे आप एक रेडियो बटन है, जो उन परिपत्र बटन
कि या तो आप इस एक या कि एक का चयन कर सकते हैं.
>> सूचना यह विचार है कि मैं दोनों रेडियो बटन लिंग का नाम दिया है.
यह आप कैसे पारस्परिक अपवर्जन है जिससे आप क्लिक करना होगा
या तो यह एक या एक है कि, और अन्य क्लिक करके
यह अन्य unchecks, तो आप उन्हें एक ही नाम दे दिया है
अगर तुम उन्हें परस्पर कि जैसे अनन्य होना चाहता हूँ.
और तो छात्रावास के लिए, मुझे लगता है कि हम यह देखा है अभी तक नहीं है, लेकिन यह एक का चयन करें मेनू, एक ड्रॉप डाउन मेनू है.
उस के लिए टैग का चयन है.
फिर आप ड्रॉप डाउन मेनू एक नाम दे,
और तो आप इन विकल्पों में से एक पूरी गुच्छा है.
सौंदर्यशास्त्र के लिए सिर्फ 1 एक, एक खाली स्ट्रिंग है.
मैं सिर्फ नीचे ड्रॉप करना चाहता था डिफ़ॉल्ट रूप से रिक्त हो,
और फिर वहाँ Apley, Canaday, Grays, और बहुत आगे है.
और (वन और प्राणि) डाइकोगैमी यहाँ नोटिस.
ड्रॉप में विकल्प के नीचे एक मूल्य है,
लेकिन तब यह एक मानव के अनुकूल नाम है, जो इस उदाहरण में
समान है, लेकिन अगर हम वास्तव में गुदा होना चाहता था हम कर सकते
इस बूंद के मूल्य नीचे सिर्फ लघु संस्करण हो सकता है,
Grays, लेकिन हम वास्तव में Grays हॉल का कहना है कि मानव वास्तव में देखता है सकता है,
लेकिन यह है कि सभी दिलचस्प नहीं है इसलिए मैं सिर्फ यह सरल रखा और उन्हें समान बनाया.
फिर नीचे तल पर हम एक बटन सबमिट करें
जो हम पहले देखा है, लेकिन नोटिस मैं सिर्फ यह एक अलग शब्द दिया.
CS50 खोज के बजाय मैं लेबल दिया "पंजीकरण."
>> अंतिम परिणाम इस वेबपेज यहाँ है, और फिर,
इस जहां में प्रस्तुत?
यह कुछ फ़ाइल, कार्रवाई की विशेषता के मूल्य के लिए प्रस्तुत किया जाता है,
जो register0.php था.
चलो देखते हैं क्या वास्तव में यहाँ होता है.
मुझे आगे जाना है और इस फॉर्म को भरें, डेविड कहते हैं,
रजिस्टर पुरुष, मैथ्यू, और फिर मैं कहता हूँ.
मुझे बाहर ज़ूम और रजिस्टर पर क्लिक करें.
ठीक है, तो बेकार की तरह है, लेकिन देखते हैं क्या वास्तव में चल रहा है.
सूचना है कि यूआरएल के लिए register0.php बदल गया है.
क्या दिलचस्प URL से अनुपस्थित है, हालांकि, भले ही हम सिर्फ एक फार्म प्रस्तुत?
[अश्राव्य छात्र प्रतिक्रिया]
ठीक है, कि बस क्रोम उपयोगकर्ता के अनुकूल जा रहा है इन दिनों.
यह वास्तव में वहाँ है. वे सिर्फ इसे छिपाने के लिए अंतरिक्ष को बचाने.
लेकिन अच्छा लगा, अच्छा लगा.
यूआरएल के दूसरे छोर की ओर, हालांकि, क्या याद आ रही है? हाँ.
[छात्र] क्वेरी स्ट्रिंग.
क्वेरी स्ट्रिंग, तो हमारे सरल गूगल खोज उदाहरण से याद करते हैं.
जैसे ही मैं बटन सबमिट URL क्लिक करें
मुझे गूगल के लिए ले लिया, लेकिन फिर वहाँ? q = कंप्यूटर विज्ञान या मैं अंदर टाइप किया था जो कुछ भी था
ऐसा इसलिए है क्योंकि हम खोज उदाहरण के साथ मिल विधि का इस्तेमाल किया है.
>> इस समय हम बजाय क्या विधि का उपयोग कर रहे हैं?
पोस्ट, और एक तत्काल भेद
पाने के लिए और पोस्ट के बीच है कि पोस्ट URL में उपयोगकर्ता इनपुट नहीं डाल दिया है.
यह यह खाल. यह अभी भी भेजता है.
वास्तव में, हम क्या यहाँ ब्राउज़र में देख रहे हैं, के रूप में हम एक पल में प्रकट होगा
register0 में देखकर, मैं बस रहा हूँ सामग्री देखकर
सरणी है कि ब्राउज़र से सर्वर के लिए प्रस्तुत किया गया.
लेकिन URL एक? नहीं है, कोई भी कीवर्ड नहीं है
या में मूल्यों, और क्यों है?
खैर, पोस्ट आप अभी भी एक सर्वर से प्रपत्र से डेटा को प्रस्तुत करने के लिए अनुमति देता है,
लेकिन यह यूआरएल में डाल नहीं है हां, तो किस तरह की जानकारी पोस्ट है
शायद के लिए विशेष रूप से उपयुक्त है जब आप उपयोगकर्ता पूछ रहे हैं
एक फार्म के लिए इनपुट में लिखें?
एक पासवर्ड की तरह कुछ, और क्या ऐसा कुछ है?
क्रेडिट कार्ड नंबर.
कुछ भी है कि हल्का आप संवेदनशील है शायद URL में समाप्त नहीं करना चाहती
अगर केवल क्योंकि यह मतलब है कि अपने रूममेट या परिवार के किसी सदस्य के माध्यम से ट्रोल कर सकते हैं
अपने इंटरनेट और फिर इतिहास सचमुच अपने पासवर्ड को देखने के लिए,
सचमुच सबसे ब्राउज़रों क्योंकि आपके क्रेडिट कार्ड नंबर
इतिहास में याद URLs जो तुम पर किया गया है,
तो केवल क्योंकि अगर यह एक बुरा विचार होगा.
उपयोगकर्ता से बाद विस्तार कि खाल का प्रयोग.
>> इसके अलावा, आप फेसबुक के लिए एक तस्वीर कैसे अपलोड कर सकता हूं?
खैर, केवल 2 तंत्र तुम सच में उपयोग कर सकते हैं,
भले ही वहाँ कुछ अन्य रहस्यमय और अधिक लोगों को मिलता है, और पोस्ट.
आप कैसे एक यूआरएल के माध्यम से एक तस्वीर अपलोड करें?
आप वास्तव में इसे कर सकते हैं.
आप एक JPEG या बिटमैप या GIF ले और आप इसे हेक्साडेसिमल में प्रतिनिधित्व कर सकते हैं
या कुछ 64 आधार कहा जाता है.
16 आधार के बजाय आप आधार 64 का उपयोग करते हैं, जो अनिवार्य रूप से की तरह लग रहा है
ASCII वर्ण, और आप वास्तव में एक यूआरएल के माध्यम से एक तस्वीर अपलोड कर सकते हैं
एक प्रश्न चिह्न के बाद, लेकिन आम तौर पर आकार सीमा.
सबसे ब्राउज़रों यूआरएल में 1,000 से अधिक वर्ण होने के लिए मजबूर हैं,
2,000 वर्ण या की तरह है, तो शायद आप नहीं अपलोड कर सकते हैं
एक 10 MB Facebook फोटो.
के लिए कि आप पोस्ट के रूप में अच्छी तरह से उपयोग करते हैं, तो अब के लिए URL में पैरामीटर डालता है करने के लिए,
जो कभी कभी अच्छी और उपयोगी है, लेकिन संवेदनशील या बड़ा कुछ भी करने के लिए
पोस्ट जाने के लिए रास्ता है.
Register0 क्या वास्तव में यहाँ क्या कर रही है?
वैसे, अगर मैं register0 सूचना है कि यह एक सुपर सरल पृष्ठ खोलने के लिए,
लेकिन यह सच है कि मैं सह एकत्र कर सकते हैं का प्रदर्शन बेहतर या बदतर के लिए,
PHP के साथ HTML.
इस पूरी फाइल, शीर्ष पर टिप्पणियों के लिए छोड़कर, HTML
इस आदमी के लिए यहाँ छोड़कर.
>> अपने PHP कोड के बीच में सूचना,
अपने HTML के बीच में, मैं अस्थायी रूप से की तरह है
PHP मोड में प्रवेश.
मैं एक विशेष प्रिंट r नामक समारोह बुला रहा हूँ.
इसका मतलब यह है कि पुनरावर्ती मुद्रित करने के लिए, और यह क्या करता है यह recursively प्रिंट
चर जो कुछ भी आप इसे हाथ, अर्धविराम, बाहर निकलें PHP मोड.
और पूर्व टैग आप पूर्व स्वरूपित पाठ देता है,
मोनो अंतरिक्ष पाठ इतना है कि हर जगह आप वास्तव में इसे देखते हैं.
यह गायब नहीं है. पद है?
खैर, क्या PHP के बारे में रोचक और सम्मोहक है
यह है कि जब भी आप एक पाने के लिए या पोस्ट का उपयोग कर प्रपत्र प्रस्तुत
कुछ भी है कि एक ब्राउज़र द्वारा आप के लिए प्रस्तुत है
ही PHP बाहर आंकड़े उन महत्वपूर्ण मूल्य जोड़े क्या कर रहे हैं,
बाहर के आंकड़े अगर वहाँ बराबर संकेत, आंकड़े अगर वहाँ एक प्रश्न चिह्न है.
यह सब तुम्हारे लिए कड़ी मेहनत करता है, और फिर इसे आप एक साहचर्य सरणी हाथ
सब कुछ है कि उपयोगकर्ता के रूप में टाइप युक्त.
खैर, क्या क्षेत्रों इस फार्म है?
>> यह 4 क्षेत्रों था.
एक एक पाठ नाम क्षेत्र कहा जाता था.
एक कप्तान चेकबॉक्स बुलाया था.
एक रेडियो लिंग बटन बुलाया था,
और एक एक ड्रॉप - डाउन मेनू छात्रावास कहा जाता था,
इसलिए जब मैं बारी बारी से मुद्रित करने के लिए नोटिस
इस विशेष चर की सामग्री.
यह एक विशेष वैश्विक सचमुच $ _POST चर बुलाया सभी टोपियां में है.
यह एक विशेष वैश्विक चर है कि PHP सिर्फ तुम्हारे लिए बनाता है
और आप के लिए हाथ इतना है कि आप सब कुछ का उपयोग कर सकते हैं
कि एक उपयोगकर्ता द्वारा एक फार्म के माध्यम से प्रस्तुत किया गया था.
प्रिंट r फोन करके यह आप इस एक सामान्य आवेदन में नहीं करना होगा.
हम यह कर रहे हैं इस चर के अंदर देखने
और इसे के अंदर क्या है, अच्छी तरह से, 4 चाबियाँ,
Http 4 इतनी बात करने के लिए, पैरामीटर,
नाम, कप्तान, लिंग, छात्रावास, और फिर मूल्यों है कि उपयोगकर्ता
एक अपवाद के साथ में टाइप.
मैं D-A-V-I-डी प्रकार किया.
मैं बॉक्स की जाँच की है, हालांकि, पुरुष के लिए, जो जाहिरा तौर पर एक मूल्य पेश
बस संक्षिप्त हो मीटर की.
>> जब मैं मैथ्यू चयनित है कि मूल्य है कि चुना गया है,
और यह एक छोटे से एक बेवकूफ है, लेकिन यह परिपाटी है.
पर "चेकबॉक्स के लिए पेश की जाती है जब मैं बॉक्स, पर एक मूल्य की जाँच.
अगर मैं यह जाँच नहीं की थी, जो भी कोई मूल्य नहीं किया गया है भेजा जाएगा.
यह सिर्फ हमें दे रहा है इस विशेष वैश्विक चर के अंदर क्या है में अंतर्दृष्टि,
और यह इतना खास है कि यह कहा जाता है एक सुपर वैश्विक चर है.
यह आप के लिए हर जगह अपने कोड के भीतर इतनी है कि आप वास्तव में इसे का उपयोग कर सकते हैं मौजूद है.
यह नहीं है कि मजबूर है, तो हम वास्तव में सुपर वैश्विक
और वास्तव में किसी को रजिस्टर करने की कोशिश.
मैं एक परिवर्तन बनाने के लिए जा रहा हूँ froshims1 में.
मैं register1.php हो कार्रवाई बदल रहा हूँ,
और मैं एक अन्य बात कर रहा हूँ.
मैं एक तरह से अपने वेबपेज के गुणवत्ता से शर्मिंदा था.
यह बहुत घटिया है, ईमानदारी से, तो यह पता चला है
कि तुम बहुत आसानी से वेब पर उपयोग कर सकते हैं
अन्य लोगों के जावास्क्रिप्ट कोड, सीएसएस अन्य लोगों के
कि वे लिखा है और खुले sourced और एक पुस्तकालय के रूप में उपलब्ध कराया है,
तो बात है, और उदाहरण के लिए, मैं यहाँ एक आज़ादी से उपलब्ध पुस्तकालय का उपयोग कर रहा हूँ,
कोड का एक गुच्छा है कि किसी और ने लिखा है.
>> चहचहाना करने के लिए इस कोड लिखने के लिए हुआ है, और यह बूटस्ट्रैप पुस्तकालय कहा जाता है,
और यह सिर्फ सीएसएस शैली पत्रक, का एक गुच्छा के एक गुच्छा है सीएसएस फ़ाइलें.
कि किसी और ने लिखा है और पता लगा कि कैसे प्राप्त करने के लिए सब कुछ अच्छा और सुंदर
इतना है कि हमारे जैसे लोगों के एक छोटे से कम सौंदर्यशास्त्र के बारे में चिंता करने की ज़रूरत है और बहुत अधिक ध्यान केंद्रित कर सकते हैं
तर्क और वास्तविक प्रोग्रामिंग पर.
यह कि टैग है, जो एक ही टैग मैं styles3.css के लिए याद है पहले प्रयोग के साथ जोड़ने के द्वारा,
मैं अब एक bootstrap.min.css बुलाया फ़ाइल का उपयोग कर सकते है.
मिन सिर्फ मतलब है कि वे यह minified है और वे सभी सफेद स्थान से छुटकारा मिल गया है और इसलिए आगे
बस बनाने के लिए यकीन है कि वे मुझे अधिक बाइट की तुलना में मैं वास्तव में जरूरत नहीं भेज रहे हैं.
लेकिन वहाँ में सीएसएस की एक पूरी गुच्छा है, यदि ऐसा है तो मैं अब Frosh आईएमएस के संस्करण 1 खुला
सूचना है कि मेरी फाइल निश्चित रूप से सुंदर है.
अब यह अभी भी सिर्फ काले और सफेद, लेकिन सूचना है कि सिर्फ उनकी शैली पत्रक का उपयोग करके
और मेरी फॉर्म पर इसके बारे में कुछ सुविधाओं का उपयोग यह आश्चर्यजनक नहीं है,
लेकिन यह निश्चित रूप से क्लीनर की तुलना में यह पहले था, और प्रोजेक्टर यह नहीं कर न्याय है.
बटनों के चारों ओर और पाठ क्षेत्र के चारों ओर थोड़ा ग्रे लाइन यहीं पर है,
लेकिन यह निश्चित रूप से क्लीनर की तुलना में यह पहले था.
>> अब, निष्पक्षता में, मैं मेरी मार्कअप थोड़ा परिवर्तन किया है.
यह 1 संस्करण है, और लगता है कि मैं कुछ नया टैग का उपयोग किया है,
और ईमानदारी से, मुझे नहीं पता कि यह कैसे करना पड़ा जब तक मैं प्रलेखन पढ़ा
चहचहाना bootstrap पुस्तकालय के लिए, और वे मुझे बताया कि अगर आप हमारे पुस्तकालय का उपयोग करना चाहते हैं
अपने फार्म के अंदर एक fieldset तत्व का उपयोग करें,
शब्द को डाल आप एक लेबल टैग के एक क्षेत्र के अंदर करने के लिए अगले दिखाना चाहते हैं,
तो अपने इनपुट की तरह बस से पहले एक नाम दे,
और फिर चेकबॉक्स के लिए, न केवल आप एक लेबल तत्व में इसे लपेटो,
आप कुछ एक वर्ग बुलाया का उपयोग करते हैं, तो हम इस से पहले नहीं देखा है,
लेकिन आप एक pset 7 शॉर्ट्स में इस देखेंगे.
सीएसएस में एक वर्ग की मदद से आप बहुत आईडी के लिए कुछ इसी तरह करते हैं,
लेकिन पहले जब हम # प्रतीक के साथ एक आईडी था
है कि एक और केवल एक तत्व के लिए किया गया था.
एक वर्ग के बारे में अच्छी बात यह है कि कई तत्वों को एक ही वर्ग हो सकता है
या एक ही सीएसएस सामान इसे करने के लिए लागू होता है.
>> लेकिन फिर, संक्षेप में उन लोगों के लिए, और इस के बाकी पर सिर्फ और कॉपी चिपकाएँ
उनके प्रलेखन से जहां मैं एक लेबल जोड़ दिया है यहाँ और वहाँ.
और अंत में, क्योंकि मैं शीर्ष पर लिंक टैग को शामिल किया है,
सब कुछ स्वचालित रूप से सुंदर लग रहा है
द्वारा बस को चिह्नित कर एक तरह से है कि मेरे पेज
चहचहाना की उम्मीद है, और वहाँ कई अलग अलग तरीकों
के इस कर रही है, और यह वास्तव में बहुत ही उपयुक्त है.
सेमेस्टर में इस बिंदु पर है, के रूप में आप pset 7 कल्पना में देखेंगे
चारों ओर Googling, पुस्तकालयों पर पढ़ने, अन्य लोगों के सीएसएस का उपयोग
और जावास्क्रिप्ट सहायक समस्याओं को हल करने के लिए
समस्या सेट करने के लिए खुद को और निश्चित रूप से प्रोत्साहित किया जाता है जिस तरह से है
वेब इन दिनों अन्य लोगों के कंधों पर खड़े हो कर बनाया गया है,
इतना है कि आप वास्तव में नई और दिलचस्प समस्याओं पर ध्यान केंद्रित कर सकते हैं.
लेकिन अब पर ध्यान देते हैं, फिर से, तर्क.
>> सौंदर्यशास्त्र पर एक त्वरित चक्कर था बस आप जिस दिशा में आप जा सकते हैं दिखाने के लिए.
मैं एक uglier वापस के लिए अब वापस लौटने के लिए जा रहा हूँ, सिर्फ इसलिए कि
चहचहाना सामान के साथ कोई distractions है, और मुझे आगे जाना है और खोलने
"froshims2, जो फिर, कार्रवाई register2.php, में ही अलग है,
और यहाँ क्या प्रभाव है पर एक नज़र रखना.
चलो मुझे आगे जाना है और दाऊद में लिखें.
मैं कप्तान इस समय नहीं होगा.
मैं पुरुष कहते हैं, मैथ्यू, रजिस्टर.
लानत है. ठीक है, कि मेरे हिस्से पर एक पेंच है.
द्वारा खड़े हो जाओ.
Register2, 22 लाइन, यदि खाली या खेद.
चलो जस्र्रत से ज्यादा लादना.
ठीक है, अभी क्या हुआ इस फार्म के प्रस्तुत करने पर?
मैं दाऊद में टाइप, पुरुष जाँच, मैथ्यू, रजिस्टर क्लिक किया.
तुम पंजीकृत हैं. (ठीक है, वास्तव में नहीं है.)
यह स्पष्ट रूप से बस से बाहर कुछ चर की सामग्री मुद्रण से परे एक कदम है,
लेकिन इस फाइल वास्तव में क्या कर रही है?
Register2.php में
सूचना है कि मैं कुछ नए कोड है.
मैं मेरे शरीर टैग के अंदर अनिवार्य रूप से एक का निर्माण और तो,
लेकिन क्योंकि मैं कर रहा हूँ कुछ HTML के साथ इस सह mingling
मैं प्रवेश और PHP मोड से बाहर निकलने के आगे और पीछे है, तो हम देखते हैं कि मैं क्या कर रहा हूँ.
>> पहली लाइन में मैं कह रहा हूँ कि अगर यह मामला है
कि पोस्ट सुपर वैश्विक नाम की कुंजी के लिए खाली है,
तो दूसरे शब्दों में, अगर उपयोगकर्ता मेरे नाम के लिए एक मूल्य के रूप में नहीं दिया था,
वापसी सच क्योंकि मान रिक्त है तो खाली जा रहा है.
या नोटिस ऊर्ध्वाधर सलाखों अगर लिंग खाली है
अंदर की इस विशेष सुपर वैश्विक, जो, फिर, फार्म की सामग्री का प्रतिनिधित्व करता है,
या छात्रावास खाली है, तो मैं आगे जाना है और उपयोगकर्ता पर चिल्लाओ करने के लिए जा रहा हूँ.
कैसे? नोटिस खैर, मैं कहना है कि आप अपना नाम, लिंग, और छात्रावास प्रदान करनी चाहिए करने के लिए जा रहा हूँ.
चलो वास्तव में उस गलती के लिए प्रेरित.
मुझे मेरी फार्म वापस जाना. मुझे के लिए यह स्पष्ट करने के लिए पुनः लोड करें.
और मैं सिर्फ उन्हें डेविड देने जा रहा हूँ, और वे जानते हैं कि मैं कहाँ रहते हैं की जरूरत नहीं है.
रजिस्टर. जाहिर है मैं उन्हें बताना मैं कहाँ रहते हैं की जरूरत नहीं है.
आप अपना नाम, लिंग, और छात्रावास प्रदान करनी चाहिए. वापस जाओ.
>> और मैं उस प्रपत्र को वापस जाने के लिए क्लिक करें सकता है, लेकिन ऐसा क्यों है?
खैर, कि मामले नाम में खाली है, नहीं था, लेकिन लिंग था, और छात्रावास था,
तो यह पूरी अभिव्यक्ति सच करने के लिए मूल्यांकन, और भले ही वाक्यविन्यास एक थोड़ा नया है,
फिर, हम PHP मोड, बयान अगर परिचित दर्ज,
लेकिन यहाँ नए हिस्सा सिर्फ इस बृहदान्त्र है, और मैं एक कोष्टक omitting द्वारा खराब था
दुर्घटना के द्वारा, लेकिन बृहदान्त्र नोटिस, और इसका मतलब है कि
भले ही हम PHP मोड सब कुछ निकल रहे हैं
कि इस प्रकार थूक ब्राउज़र करने के लिए किया जाना चाहिए शब्दशः
जब तक आप एक और ब्लॉक के रूप में देखते हैं, हम यहाँ करते हैं,
जो मामले में आप के बजाय इस थूक चाहिए
जब तक आप endif देखते हैं, तो कुछ थोड़ा नया वाक्यविन्यास
कि मुझे HTML और PHP के बीच टॉगल करने के लिए अनुमति देता है.
हम इस अंततः साफ कर सकते हैं, लेकिन अब के लिए,
यह फार्म का त्रुटि जाँच के एक सम्मोहक रास्ते की तरह है.
>> अब, मैं कहते हैं कि तुम सच में, क्योंकि जाहिर है हम, लेकिन डेटा नहीं किया है पंजीकृत नहीं हैं,
तो हम वास्तव में कुछ शांत करने की कोशिश.
फर्क सिर्फ इतना है froshims3 मैं को register3 करने के लिए प्रस्तुत करने के लिए जा रहा हूँ,
HTML तो वहाँ एक ही है.
Register3 में इस नोटिस.
यह एक सेक्सी की तरह है.
शीर्ष पर मैं एक की आवश्यकता होती बयान का उपयोग कर रहा हूँ तो यह # शामिल की तरह है.
इस बार यह stdio.h या ऐसा कुछ नहीं है.
यह एक PHP पुस्तकालय है, और यह एक PHPMailer कहा जाता है.
मैं ठीक इस उद्धृत स्ट्रिंग शामिल कैसे पता चला?
मैं यह दस्तावेज में पढ़ा है, तो जब उन्होंने मुझे बताया फ़ाइल के शीर्ष पर डाल दिया
यदि आप एक विशेष PHPMailer बुलाया पुस्तकालय है कि यह क्या कहता है का उपयोग करना चाहते हैं.
यह आप PHP के माध्यम से ईमेल भेजने के लिए अनुमति देता है.
अब आगे नीचे स्क्रॉल.
>> सूचना शुरू करने के लिए मैं PHP मोड में इस पूरे समय हूँ,
तो अब नीचे नोटिस कि पुस्तकालय आयात करने के बाद,
तो बात है, मैं कुछ विवेक जाँच कर रहा हूँ.
यदि यह मामला है कि नाम खाली नहीं है
और लिंग विस्मयादिबोधक खाली नोटिस नहीं है अंक
और छात्रावास खाली नहीं है, तो उपयोगकर्ता तार्किक बाहर फार्म भर दिया गया है, कम से कम इतना.
मैं अगर वे कप्तान नहीं कर रहे हैं या परवाह नहीं है. मैं सिर्फ उनके नाम, लिंग, और छात्रावास की जरूरत है.
यदि वे उन बाहर भर दिया है तो उन क्षेत्रों की है कि कोई भी खाली हैं
यह थोड़ा नया वाक्यविन्यास है.
PHP, एक अलग रूप में, एक वस्तु उन्मुख प्रोग्रामिंग भाषा है
जो तुम लोगों में से कुछ APCs या तरह से याद कर सकते हैं.
अभी के लिए, अगर अपरिचित, सिर्फ इतना पता है कि इस पुस्तकालय का उपयोग करने के लिए
आप एक नया कीवर्ड का उपयोग कर इस तरह कोड का एक लाइन लिखने के लिए है,
सचमुच एक नया कीवर्ड नई बुलाया.
लेकिन उस पार, हम कुछ परिचित वाक्य है.
यह एक तीर ऑपरेटर, जो हम क्या structs के लिए संकेत के संदर्भ में इस्तेमाल करने के लिए समान है.
आज के लिए PHP संकेत नहीं है,
लेकिन अब के लिए मेल चर के अंदर पता
अनिवार्य रूप से एक सूचक की एक विशेष पुस्तकालय के लिए तरह है
कि किसी और ने लिखा है, और अगर मैं विशिष्ट कार्यक्षमता का उपयोग करना चाहते हैं
कि पुस्तकालय के अंदर मैं, सी में की तरह, तीर ऑपरेटर का उपयोग करने के लिए,
हालांकि इन वास्तव में संकेत नहीं हैं.
यह है PHP ही उसके संस्करण की तरह है.
इसका मतलब यह है कि पुस्तकालय में जाने और IsSMTP समारोह कॉल.
SMTP, याद है, नेट के हमारे योद्धाओं से ईमेल करने के लिए संदर्भित करता है,
और कहा कि अभी इस Frosh आईएमएस पंजीकरण के लिए एक ईमेल सर्वर का उपयोग का मतलब है.
>> क्या मेजबान मैं प्रयोग करना चाहते हैं?
खैर, हार्वर्ड, अगर आप चारों ओर गूगल, एक ईमेल सर्वर smtp.fas.harvard.edu कहा जाता है.
यदि आप के साथ घर में खेल रहे हैं या आप एक Comcast नेटवर्क पर रहते हैं
यह smtp.comcast.net की तरह कुछ हो सकता है.
यह पूरी तरह से तुम कहाँ रहते हैं और जो अपने आईएसपी है पर निर्भर करता है.
उसके बाद मैं पता करने के लिए मनमाने ढंग से jharvard@cs50.net हो से स्थापित करने के लिए जा रहा हूँ.
मैं तो करने के लिए सेट करने के लिए jharvard@cs50.net को संबोधित करने के लिए जा रहा हूँ.
केवल जिस तरह से मैं जानता था कि इन कार्यों बुलाया गया SetFrom और AddAddress
है, फिर से, मैं प्रलेखन पढ़ा.
यह की तरह जादुई सभी प्रोग्रामर को ज्ञात नहीं है.
तो मैं एक विषय सेट "पंजीकरण."
और अब इस लाइन को एक सा बदसूरत है क्योंकि ऑपरेटर डॉट क्या PHP में क्या मतलब है?
किसी को भी पता है?
जुटना.
सी में यह गर्दन में दर्द 2 तार एक साथ जुटना है.
आप malloc या realloc या कि सामान के सभी के साथ सौदा किया है
सिर्फ एक स्ट्रिंग की लंबाई बढ़ाने के लिए.
जावास्क्रिप्ट में PHP और अन्य भाषाओं में
आप आमतौर पर एक ही चरित्र के साथ ऐसा कर सकते हैं.
इस मामले में, डॉट इस स्ट्रिंग का मतलब यहाँ ले
और यह इस स्ट्रिंग संलग्न.
>> ओह, और जिस तरह से इसे करने के लिए इस स्ट्रिंग संलग्न,
जो कि सुपर वैश्विक चर अंदर होना होता है.
तो यह एक नई लाइन संलग्न है, तो इन सभी डॉट्स की सिर्फ मतलब
एक बड़ा और बड़ा और बड़ा स्ट्रिंग बनाने रखने के लिए,
और आप malloc या इस तरह एक भाषा में की तरह सब के बारे में परवाह नहीं है,
और वहाँ अन्य तरीके से ऐसा कर है, लेकिन इस तेज
इसे बाहर रखना तरीके.
यह क्या कर रही है?
कप्तान: लिंग: छात्रालय यह कि नाम कहने जा रहा है एक ईमेल शरीर बनाने:
अलग लाइनों पर और फिर, अंत में,
एक कोड की पंक्ति है, और मैं अब के लिए इस की उपेक्षा करने के लिए जा रहा हूँ.
यदि == false सिर्फ अगर कुछ गलत हो गया, इसका मतलब है
लेकिन जादू होता है.
भेजने के मेल का मतलब यह ईमेल भेजने के.
चलो देखते हैं शुद्ध परिणाम क्या होता है.
फाइल के नीचे नोटिस, यह कहते हैं कि तुम सच में पंजीकृत हैं जा रहा है
अगर मुझे लगता है कि अभी तक मिलता है.
अगर, हालांकि उपयोगकर्ता शिकंजा,, लगता है कि हम इस शुरू कर दिया
ऊपर हालत अगर, अगर यह खाली नहीं है और खाली नहीं
खाली और नहीं हम मेल भेजने के.
अन्यथा हम कोड की इस पंक्ति को भेजने के लिए जा रहे हैं,
जो प्रभाव जा रहा है, के रूप में आप 7 pset में देखेंगे उपयोगकर्ता पुनः निर्देशित कर के,
वापस जहाँ वे आए, froshims3.php.
>> उंगलियों को पार कर, अन्यथा यह सबसे निराशाजनक प्रदर्शन आज होने जा रहा है.
यहाँ हम चले.
मुझे मेरे jharvard के लिए जीमेल में ईमेल इनबॉक्स खुला.
अब सही नहीं ईमेल. सही सभी.
अब मुझे खुला froshims3, जो तीसरे और अंतिम उदाहरण हम यहाँ पर देखता हूँ.
ठीक है, यहाँ हम चले.
नैट, वह कप्तान, पुरुष कहते हैं, Apley हो जाएगा.
रजिस्टर. ठीक है, तुम सच में पंजीकृत हैं.
अब अगर मैं अपने ईमेल करने के लिए स्क्रॉल, ओह, मेरे भगवान.
मैं सिर्फ गतिशील वेब पर एक ईमेल भेजा है.
>> चलो कि नोट पर छोड़ दें.
एक वीडियो व्याख्यान हम याद के लिए आने वाली है. अगले हफ्ते मिलते.
[CS50.TV]