>> रोजेर ZURAWICKI: सभी को नमस्कार.
मैं आपका ध्यान मिल सकता है?
धन्यवाद, दोस्तों.
आज मैं उल्का के बारे में बात करना चाहता हूँ.
यह एक जावास्क्रिप्ट रूपरेखा है.
आप कैसे कर सकते हैं हम के माध्यम से जा रहा हूँ वास्तव में अच्छा वेब क्षुधा बनाने.
>> हम जावास्क्रिप्ट में शामिल होने से पहले, मैं बस तुम लोगों को बताना चाहता हूँ कि इस वसीयत
आप एक बाद में होगा - जाना इस सेमेस्टर टुकड़ा.
यह जावास्क्रिप्ट के बारे में होना चाहिए.
मैं [सुनाई] पहला जा रहा है हम पहले वेब एचटीएमएल PHP सामान को कवर
जावास्क्रिप्ट के लिए कदम.
और CS50 में, जावास्क्रिप्ट में माना जाता है एक ग्राहक कोड की तरह.
तो यह केवल में चला जाता है वेब ब्राउज़र.
>> लेकिन हाल ही में प्रगति में करने के लिए धन्यवाद प्रौद्योगिकी, हम अब चलाने में कामयाब रहे हैं
साथ ही एक सर्वर के रूप में छोड़ दिया.
तो यह एक बहुत अच्छा बनाया गया है ढांचा अब आप लिख सकते हैं क्योंकि
के लिए वैध तरीके से एक ही कोड क्लाइंट और सर्वर.
और तुम में कार्यों को परिभाषित जब अपने सर्वर, आपके ग्राहक उन कॉल कर सकते हैं
एक ही कार्य करता है.
और यह एक बहुत आसान बना देता है.
जबकि पहले, आप पर PHP का उपयोग कर रहे हैं मोर्चे पर सर्वर, जावास्क्रिप्ट
अंत में, आप एक PHP समारोह लिखने के लिए और फिर से एक जावास्क्रिप्ट संस्करण
ऐसा करने के लिए एक ही समारोह काम की इसी तरह की.
>> हम शुरू हो तो इससे पहले, मैं चाहता हूँ आप में से एक डेमो दिखाने के लिए क्या
उल्का तुम्हारे लिए क्या कर सकते हैं.
मैं क्या है, जो आप डेमो दिखा देंगे आप से बनाने में सक्षम हो जाएगा
इस सेमिनार के अंत में.
हम बस यहीं जाना.
यह एक लीडरबोर्ड अनुप्रयोग है.
यह वास्तव में उदाहरण के बाहर स्थित है उस उल्का आपको देता है.
>> उल्का बहुत अच्छा है जब आप क्योंकि आप कर सकते हैं, एक पैकेज के रूप में इसे स्थापित
मूल रूप से साथ खेलने के आसपास इन चार क़ौम.
और लीडरबोर्ड है इन क़ौम के पहले.
संगोष्ठी के बाद, मैं आप सभी को प्रोत्साहित सिर्फ दूसरे क़ौम का पता लगाने के लिए
मुझे लगता है वे वास्तव में अच्छा कर रहे हैं लगता है, और क्योंकि वे तुम्हें उल्का की शक्ति दिखा.
>> तो यह क्या है, यह है लीडरबोर्ड पर होस्ट.
यह अभी स्पष्ट नामों की एक सूची है.
और आप लोगों का चयन कर सकते हैं.
वे पीले रंग की बारी.
और फिर तुम दे सकते हैं उन्हें पांच अंक.
और आप सूची है कि ध्यान देंगे सॉर्ट किया गया क्योंकि मैं अधिक अपने आप को देने के रूप में
और, मैं शीर्ष पर अब और अधिक अंक हूँ.
हम कहाँ शुरू तो यह है.
>> और क्या आप दूर ले जाने में सक्षम हो जाएगा इस संगोष्ठी से कुछ अधिक है
मैं करने के लिए जोड़ दिया विशेषताएं लीडरबोर्ड.
हम कैसे को कवर, साथ ही हो जाएगा हम कर सकते हैं, एक खिलाड़ी के लिए पांच अंक जोड़
खिलाड़ियों को हटाने के लिए, हम नए खिलाड़ियों को जोड़ सकते हैं, और हम चाहते हैं कि कैसे चुन सकते हैं
उन्हें तरह.
और ये सब बहुत आसान एपीआई कॉल कर रहे हैं उस उल्का आप के लिए प्रदान करता है.
तुम भी यहाँ एक सुविधा है स्कोर के randomize करने के लिए.
>> तो क्या इस बारे में वास्तव में अच्छा है तुम लोगों को वास्तव में कर सकते है
सभी साइट पर जाना.
मैं यहाँ बड़ा पाठ में डाल देंगे.
एक कट्टरपंथी नेतृत्व erboard.meteor.com.
और तुम लोग आप साइट पर जाना जब साइट को संपादित करने में सक्षम होना चाहिए, और
अपने संपादन के सभी दिखाई जाएगी बाकी सब.
तो आप कर सकते हैं - आप लोग सब कर रहे हैं साइट से कनेक्ट करने में सक्षम?
तो यह आसपास के साथ खेलते हैं.
जाओ और कुछ नामों को हटाने शुरू.
देखो क्या होता है.
>> तो आप सब लोग खेल सकते हैं देखते हैं.
यह बस डिफ़ॉल्ट सुरक्षा है उल्का के लिए मोड.
आप देखते हैं कि हर कोई यह कर सकते हैं एक दूसरे के डेटा बदल जाते हैं.
चिंता मत करो.
उल्का सुरक्षा करता है.
यह एक बहुत आसानी से लागू है आप उपयोगकर्ताओं को स्थापित कर सकता जहां सुविधा,
और लॉगिन के.
लेकिन अभी, किसी को भी, जो का दौरा साइट के लिए खुद के रूप में कई दे सकते हैं
वे चाहते हैं के रूप में बताते हैं.
इसलिए मैं हमेशा इस तरह से इस वजह आरंभ करने के लिए एक मजेदार तरीका है.
और फिर हम सिर्फ बात करेंगे विवरण के बारे में, कैसे
उल्का यह संभव बनाता है.
>> तो मैं, उल्का है क्या कवर करने के लिए जा रहा हूँ और फिर हम सिर्फ कवर करने की आवश्यकता होगी
दो और चीज की कि CS50 पर्याप्त कवर नहीं किया गया है.
लेकिन कार्यकाल के अंत तक, तुम चाहिए HTML और दोनों के साथ सहज हो
जावास्क्रिप्ट वास्तव में अपने हाथों को प्राप्त करने के लिए गंदा उल्का के साथ काम कर रहे.
और मैं इसके लिए सिर्फ एक महान तरीका है ऐसा करने के लिए भी कम आरामदायक छात्रों
अंतिम परियोजनाओं वे वास्तव में कर सकते हैं क्योंकि एक भाषा में रहना है, और वे करने के लिए मिल
के परिवर्तनों को देख उनके अभी काम.
>> तो इस स्लाइड बस का कुछ पता चलता है प्रमुख प्रौद्योगिकियों कि उल्का जेएस
आप करने के लिए देता है.
उल्का एक नई तकनीक नहीं है अपने दम पर.
यह सच का एक समूह है ये सब अलग अलग बातें
हम इंटरनेट पर है.
साथ ही HTML, सीएसएस, जावास्क्रिप्ट, हम Node.js तरह कुछ प्रौद्योगिकी है,
आप को चलाने के लिए अनुमति देता है जो पर वापस अंत पर जावास्क्रिप्ट अपने
सर्वर, साथ ही कुछ जावास्क्रिप्ट jQuery, अधोडैस तरह पुस्तकालयों,.
>> इन सभी के लिए परिचित हो जाएगा सेमेस्टर के अंत तक आप.
और हम भी कहा जाता है एक डेटाबेस का उपयोग करने के लिए मिल एक सच है जो MongoDB,
अब के लिए लोकप्रिय डेटाबेस इन नए startups.
आप MySQL की तरह के रूप में सोच सकते हैं, लेकिन यह जावास्क्रिप्ट के साथ बहुत अच्छी तरह से काम करता है.
और कुछ अन्य प्रौद्योगिकियों यहाँ है और मैं सूचीबद्ध नहीं है कई और अधिक
कि सभी इंटरफेस वास्तव में अच्छी तरह से उल्का के साथ.
>> मैं इस स्लाइड में डाल दिया है क्योंकि कभी कभी मैं इस बारे में भ्रम मिलता है.
उल्का केवल जावास्क्रिप्ट है.
यह PHP नहीं है.
यह पटरियों पर रूबी नहीं है.
तो अगर आप चाहते हैं आप, कोड लिखने एक उल्का परियोजना लिखने, तुम सच
रूबी कोड का उपयोग नहीं कर सकते हैं.
आप वास्तव में PHP का उपयोग नहीं करते.
>> हम देखेंगे कि जब में मतभेद कोड और वाक्यविन्यास कि नहीं हो सकता है
अलग, मैं आप को तनाव चाहते हैं कि उल्का, आप कोड सब कुछ है
केवल जावास्क्रिप्ट में.
और आप को पता चलता है कि सब कुछ उपयोगकर्ता एचटीएमएल सीएसएस हो जाएगा.
लेकिन आप वास्तव में से किसी का उपयोग नहीं कर रहे हैं अन्य भाषाओं कि अन्य
सेमिनार कवर हो सकता है.
क्या उल्का भी है एक वेब सर्वर है.
आप किसी भी नहीं है तो भी अगर जावास्क्रिप्ट, और आप बस की सेवा करना चाहते हैं
सीएसएस और एचटीएमएल फाइलें, उल्का आप के लिए ऐसा कर सकते हैं.
>> और यहाँ तक फिर कड़ी है मैं तुम लोगों को मिला है कि डेमो
साथ खेलना शुरू कर दिया.
लेकिन के एचटीएमएल पर चलते हैं.
कितने लोग यहाँ है पता नहीं क्या एचटीएमएल है?
महान ठीक है.
और वह पूरी तरह से ठीक है.
तुम सच के बारे में ज्यादा जानने की जरूरत नहीं है यह हम खत्म हो जाएंगे क्योंकि
बहुत आसानी से उपयोग.
>> यह क्या आसान है एचटीएमएल पेज की तरह दिखता है.
इस के लिए अपने हैलो, दुनिया की तरह हो सकता है एचटीएमएल, हम साथ सी में शुरू कर दिया है, जबकि
हैलो, दुनिया.
मैं तुम पर तनाव नहीं करना चाहती क्या एचटीएमएल, क्या सिर के विवरण, क्या
शरीर, क्या शीर्षक वहाँ क्या कर रही है.
मैं सिर्फ संरचना तनाव चाहते, आप टैग नहीं है कैसे.
और उस कोण कोष्ठक है.
आपके पास और वह है जहाँ अपने वर्णनकर्ता.
>> तो आप HTML दस्तावेज़ हो सकता है.
और फिर आप HTML दस्तावेज़ को बंद करेंगे बैकस्लैश एक ही बात के साथ.
और आप टैग के विभिन्न प्रकार की है.
और वे सब मिलान कर रहे हैं नोटिस.
आप एक शरीर टैग की तरह होगा और फिर एक करीबी शरीर टैग.
और शरीर टैग के अंदर, कि हो जाएगा अपने वेब पेज की सामग्री.
इसलिए इस वेब पेज के लिए बस को प्रदर्शित होगी एक सफेद पृष्ठभूमि और काले पाठ में
हैलो, दुनिया.
यह समझ में आता है?
ठीक है.
>> अब मैं जल्दी करने के लिए जा रहा हूँ जावास्क्रिप्ट को कवर किया.
पिछले एक TF के शब्दों में, "जावास्क्रिप्ट सबसे अच्छा प्रोग्रामिंग है
वर्तमान में अस्तित्व में भाषा.
अन्य लोगों की कोशिश करेंगे अन्यथा आपको बता.
वे गलत हैं. "जावास्क्रिप्ट सुंदर है अच्छा है, और यही कारण है कि मैं तुम्हें दिखाता हूँ.
>> तो यह है कि हम शुरू क्लासिक उदाहरण है सी. में साथ हम, नमस्ते दुनिया है.
और तुम नोटिस कि यहां तक ​​कि आप हटना अगर यह आपको कम से कम दो के लिए है
यहाँ कोड की लाइनों.
मैं कोड की कई लाइनें है.
यह बहुत आसानी से किया जा सकता है.
Console.log साथ जावास्क्रिप्ट में एक पंक्ति, और फिर अपने स्ट्रिंग,
हैलो, दुनिया.
>> अब, हम एक नया करने जा रहे हैं, भले ही भाषा जावास्क्रिप्ट, के लगभग सभी
आप कोडिंग से सीखा है कौशल सी में सीधे पोर्टेबल हैं.
तो तार, तार के विचार में डबल उद्धरण, कि ऐसा ही है.
अर्धविराम, कि ऐसा ही है.
>> जावास्क्रिप्ट के बारे में एक स्वच्छ सुविधा वास्तव में आप यह है कि
अर्धविराम की जरूरत नहीं है.
यह अनुमान लगा सकते हैं तो आप चाहिए कि वहाँ एक अर्धविराम डाल दिया.
लेकिन कहा कि, आप हमेशा कोशिश करनी चाहिए वहाँ अपने अर्धविराम डाल दिया.
यह अच्छा शैली माना जाता है.
और यह भी, कोई मुख्य समारोह नहीं है.
तुम बस फ़ाइल के शीर्ष पर शुरू और लाइन से बातें लाइन पढ़ा.
>> तो यह कर लेता है कि हैलो, दुनिया कार्यक्रम.
और फिर आप के लिए है कि नोटिस नमस्कार करते हैं और फिर नमस्ते चलाते हैं.
जावास्क्रिप्ट के साथ, यह माना जाता है एक व्याख्या की भाषा.
क्या आपको पता है की जरूरत है कि कोई बना रही है.
>> कोई संकलन नहीं है.
तुम बस नोड चलाते हैं.
और नोड याद प्रोग्राम है कि एक कंसोल पर आपकी जावास्क्रिप्ट को चलाया जाएगा,
एक ब्लैक बॉक्स नहीं, वेबसाइट पर.
तो तुम सिर्फ यह फाइल देते हैं, और यह बात है , नमस्ते विश्व मुद्रित करने के लिए जा रहा है.
>> मैं वास्तव में एक छोटे से प्रदर्शन की कोशिश करूँगा आप लोगों के लिए सही है कि यहाँ.
तो चलो करने पर चलते हैं मेरे Node.js टर्मिनल.
ठीक है.
चलो यहाँ चलते हैं.
इसलिए मैं नोड शुरू करने जा रहा हूँ.
और मैं बस में तुम लोगों को दिखाता हूँ कि कैसे पाने के लिए एक सेकंड
अगर तुम नहीं, स्थापित.
मुझे लगता है कि एक बड़ा सा बनाते हैं.
ठीक है.
मैं तुम लोगों को देख सकते हैं उम्मीद है.
>> जैसे मैंने किया था तो मैं कोड लिख सकते हैं पहले console.log में.
हाय, रोजर.
और मैं ऐसा करने की जरूरत नहीं है नोटिस अर्धविराम, लेकिन तब मैं इस अजीब मिल
अपरिभाषित बात.
दरअसल, के बारे में कोई बात नहीं अपरिभाषित बात.
मैं आपको नोटिस चाहते हालात यह है कि तुम यहां मुख्य समारोह की जरूरत नहीं है
कोड चल रहा शुरू करने के लिए.
और कोई बैकस्लैश अंत नहीं है.
कुछ छोटे विशेषताएं है कि जावास्क्रिप्ट तुम्हारे लिए क्या कर सकते हैं.
>> दर्शक: [सुनाई].
>> रोजेर ZURAWICKI: ओह, हाँ.
मैं उस बारे में माफी चाहता हूँ.
और उस तीर सिर्फ नोड का मतलब एक अन्य आदेश के लिए तैयार है.
तो आप यह करना हो सकता है आसान गणित, जैसे 1 प्लस 1.
और बस सी, इन गणित में तरह प्रतीकों बस वही कर रहे हैं.
मैं एक नंबर का console.log कर सकते हैं.
और फिर यह दो प्रिंट.
जावास्क्रिप्ट इस अर्थ में कि अच्छा है क्योंकि दो एक पूर्णांक है, भले ही
जैसे सी में, आप के साथ printf था अगर दो, आप एक त्रुटि मिल जाएगा.
>> लेकिन जावास्क्रिप्ट ओह, आप कर रहे हैं, जानता है कुछ मुद्रण.
मैं एक स्ट्रिंग की जरूरत करने जा रहा हूँ.
तो मुझे परिवर्तित करते हैं कि दो आप के लिए एक स्ट्रिंग में.
और तुम भी कुछ अजीब चीजें कर सकते हैं जैसे हाय और फिर अतिरिक्त दो.
यह सिर्फ एक उदाहरण है कि कैसे दो साथ ही वहाँ में परिवर्तित किया जा सकता है.
>> उस रास्ते से बाहर है, चलो साथ तो बस थोड़ा और अधिक जावास्क्रिप्ट को कवर किया.
तो सी में, हम प्रकार के हैं.
हम एक नया चर बनाया जब भी हम कि यह चार * या है कहने के लिए है
मामले CS50 में स्ट्रिंग.
या हम एक दशमलव संख्या था, हम नाव कहना था.
हम एक बूलियन की जरूरत है, तो हम बी कहना था.
और फिर हम कि कुछ किया था एक बार ख किया गया था, यह एक bool रहना पड़ा.
हम जादुई करने के लिए इसे बदल नहीं सकता हम में लिखा है, जब तक कि एक पूर्णांक
कोष्ठक, बी के इंट.
>> जावास्क्रिप्ट में, कोई प्रकार के होते हैं.
तुम सिर्फ वर रूप में लगता है.
और var आप एक नए प्रकार का निर्माण कैसे होता है.
तो यह वार एक स्ट्रिंग जा रहा है हो सकता है वर एन, एक नाव की जा रही है
और var बी सही जा रहा है.
और आप सी में ऐसा नहीं कर सकते कि एक बात है मैं अब उस लाइन, बी के बाद कह सकते हैं,
एक पूर्णांक के बराबर होती है.
और यह ठीक काम करता है.
सी में, जैसे कि यह कहना होगा जबकि अपने पूर्णांक एक bool नहीं है.
मैं आप के लिए ऐसा नहीं कर सकते.
या [सुनाई] एक त्रुटि फेंक देना होगा.
>> और मैं जल्दी वापस नोड में जाने के लिए और कर सकते हैं कि कार्यशीलता के कुछ दिखा.
तो मैं एक var एक हो सकता है.
"एप्पल." कॉल तो अब मैं एक मुद्रित करते हैं, मैं अपने स्ट्रिंग, मिल 'एप्पल.' लेकिन मैं कर सकता हूँ
भी अब 3 के बराबर होती है कहना.
और कोई त्रुटि नहीं है नोटिस.
और एक अब 3 बराबर होती है.
कोई प्रश्न अब तक?
हां.
>> दर्शक: रुको, तो console.log ठीक है, मूल रूप से printf है?
>> रोजेर ZURAWICKI: console.log अपने printf है.
>> दर्शकों: ठीक है.
तुम सिर्फ आठ में लिखें अगर तो कैसे आ गए या [सुनाई], क्या करता है कि
[सुनाई]?
>> रोजेर ZURAWICKI: ठीक है.
तो यह है -
हरे रंग में सामान मुद्रित हो जाता है कंसोल पर.
और क्या हम अगले देखेंगे है हम वेब के लिए ले जाते हैं
पेज, हम कर नहीं किया जाएगा -
जावास्क्रिप्ट एक HTML होने दिया जाएगा मैं में कवर करेंगे जो टेम्पलेट,
संगोष्ठी की उल्का हिस्सा.
आप मुझे दे, कह सकते हैं और वह है जहाँ एक के मूल्य, और यह एक में रखा जाएगा
अपनी वेबसाइट.
क्योंकि वास्तव में हर वेब ब्राउज़र एक छोटी सी सांत्वना है.
और तुम बहुत ध्यान से देखा जैसे, कुछ जानकारी मिल जाएगा आपके
printf के साथ वहां दिखाई है हर वेब पेज आप लोड.
>> दर्शक: आप कैसे मिला खोल स्क्रीन करने के लिए?
>> रोजेर ZURAWICKI: तो वहाँ एक आदेश है नोड कहा जाता है, और यह उल्का के साथ आता है.
तो मैं वहाँ से बाहर छोड़ देंगे.
नोड प्रोग्राम है कि जावास्क्रिप्ट चलाता है.
तुम meteor.com में जाओ उल्का स्थापित कर सकते हैं और
उल्का नोड के साथ आता है.
उल्का सिर्फ एक संग्रह है क्योंकि इन सभी सॉफ्टवेयर संकुल की.
हम अपने उदाहरण के लिए मिलता है, तो मैं लूंगा स्थापित करने के माध्यम से सबको चलना
उल्का, और फिर आप खेल सकते हैं अपने आप नोड के साथ.
महान, ठीक है.
>> काम करने के बारे में तो एक और बड़ी सुविधा जावास्क्रिप्ट के साथ छोरों वही कर रहे है.
बहुत ज्यादा बिल्कुल वैसा ही.
छोरों के लिए, जबकि छोरों, कर छोरों, और अगर करते हुए.
यह सब ब्रेसिज़ के साथ भी ऐसा ही है.
यह एक ही वाक्य रचना है.
एक पाश के लिए, छोटे के मामले में आप ध्यान देना है कि विस्तार
बजाय int के मैं, 0 के बराबर होती है करने के लिए हम वर मैं 0 के बराबर होती है कहने के लिए है.
लेकिन यह है कि क्योंकि चर का है हम पहले के बारे में बात की है कि प्रकार के.
>> Printf हो जाता है कि नोटिस एक लॉग, एक console.log.
और हम प्रतिशत करने की ज़रूरत नहीं है पी बैकस्लैश n और फिर मैं में गुजरती हैं.
तुम बस मैं कह सकता हूँ.
और यह संख्या मुद्रित होगा चार शून्य से.
तुम लोग, यह कोशिश करना चाहते हैं क्योंकि आप एक अच्छी बात पाला.
आप इस कोड को चलाने के लिए चाहता था, तो अपने स्वयं के ब्राउज़र, मैं सुझा होगा कि
सबको गूगल क्रोम खोलता है.
गूगल क्रोम या वास्तव में किसी भी वेब ब्राउजर, लेकिन मैं गूगल क्रोम की तरह
यह बहुत मानकीकृत है क्योंकि.
>> तुम्हें पता है, मुझे विश्वास है, के लिए जा सकते हैं अगर आप सही बस में, किसी भी वेबसाइट पर क्लिक करें
सफेद अंतरिक्ष, आप एक विकल्प दिखाई देगा तत्व का निरीक्षण बुलाया.
यह आम तौर पर पिछले एक है.
और आप इसे क्लिक करते हैं, तो आपको मिलना चाहिए नीचे करने के लिए एक बात यहां दिखाई देते हैं.
मुझे यहां ज़ूम करते हैं.
और हम यहाँ कुछ टैब है.
आप देखभाल के बारे में एक सांत्वना है.
>> और यह एक JavaScript कंसोल है अब आप के साथ काम कर सकते हैं.
ग्रेट.
तो मैं एक ही चीज में टाइप कर सकते हैं मैं नोड में पहले टाइप किया गया.
दो अतिरिक्त दो है.
वार एक "एप्पल" के बराबर होती है.
और फिर मैं एक प्रिंट चाहते हैं, और एक 'एप्पल' है.
इसलिए किसी भी वेब ब्राउज़र में, फ़ायरफ़ॉक्स, क्रोम, सफारी, आप का उपयोग जो भी हो, के रूप में
आप एक जावास्क्रिप्ट का उपयोग किया है जब तक कंसोल, एक ही तरह की
मैं नोड में चल रहा था कोड आप अपनी खुद की सांत्वना में चला सकते हैं.
>> दर्शक: [सुनाई]?
>> रोजेर ZURAWICKI: कैसे करने के लिए सांत्वना के लिए मिलता है?
आप सही खाली जगह पर क्लिक करने के लिए पृष्ठ पर, और फिर आप को जाना
तत्व का निरीक्षण किया.
तो वास्तव में, मैं तुम लोगों को पसंद हैं सिर्फ यकीन है कि आप कर सकते हैं बनाने के लिए
क्रोम में तत्व का निरीक्षण किया.
आप कुछ में टाइप करें और जब देखते हैं कंसोल में कोड
यह ठीक से चलता है कि.
कोई प्रश्न पूछने के लिए स्वतंत्र महसूस हो रहा है यहाँ कुछ स्पष्ट नहीं है.
>> दर्शक: [सुनाई].
>> रोजेर ZURAWICKI: किसी भी प्रकार, सही.
सभी के लिए केवल एक ही प्रकार नहीं है जावास्क्रिप्ट में चर.
और आप की घोषणा करने के लिए है जब एक चर, तुम्हें वर कहते हैं.
>> दर्शक: [सुनाई].
>> रोजेर ZURAWICKI: हाँ.
यह है, लेकिन जावास्क्रिप्ट में, यह बहुत है स्मृति आवंटन के बारे में होशियार.
कोई malloc है.
कोई मुक्त नहीं है.
तो क्या आप इस बारे में चिंता करने की जरूरत नहीं है.
यह एक और अच्छी सुविधा है कि जावास्क्रिप्ट प्रदान करता है.
>> तो मैं पर स्थानांतरित करने के लिए करना चाहते हैं.
कि ठीक होगा?
ठीक है.
ग्रेट.
>> दर्शक: मैं सिर्फ परेशानी हो रही हूँ [ढूँढने? तत्व का निरीक्षण किया. ?]
>> रोजेर ZURAWICKI: तो सफारी लग रहा है आप एक अलग सा है, लेकिन है
क्रोम या फ़ायरफ़ॉक्स है?
उन आसान कर रहे हैं साथ काम करने वाले.
और अपनी परियोजनाओं के लिए, मैं सुझा एक ब्राउज़र क्योंकि साथ चिपके
आप लगभग कीड़े का एक बहुत कुछ मिल जाएगा क्योंकि हर ब्राउज़र व्यवहार करता है
एक छोटे से अलग जावास्क्रिप्ट एचटीएमएल.
इसलिए मैं अपने जीवन में बहुत कुछ हो जाएगा आसान आप क्रोम के लिए छड़ी है क्योंकि अगर
यह सभी मशीनों पर उपलब्ध है.
और यह एक बहुत लोकप्रिय ब्राउज़र है.
ठीक है?
>> तो अगली विषय है कि हम चाहिए जावास्क्रिप्ट में कवर -
मैं यहाँ स्वरूपण के बारे में माफी चाहता हूँ.
मैं मैच के लिए स्लाइड फैलाने के लिए किया था widescreen प्रोजेक्टर.
लेकिन मैं अब के बारे में बात करना चाहते हैं आप कार्य कैसे करते हैं.
सी में, हम घोषित करने के लिए है हर समारोह.
INT तरह जोड़ते हैं, और इसे में एक पूर्णांक लेता है एक्स, और एक int y, और फिर हम उन्हें जोड़
और यह वापसी.
>> जावास्क्रिप्ट में कार्य करता है वास्तव में कर रहे हैं एक अन्य चर प्रकार.
तो हम सिर्फ वर जोड़ने का कहना है, और यह एक समारोह के बराबर होती है.
एक एक्स और एक वाई लेता है एक समारोह.
और उस समारोह क्या करता है?
यह ठीक उसी में एक्स प्लस y रिटर्न सी. में और तुम नोटिस के रूप में वाक्यविन्यास कि में
जावास्क्रिप्ट, आपको बताया नहीं होगा क्या फ़ंक्शन देता है के बाद से, क्योंकि
चर, वैसे भी प्रकार की ज़रूरत नहीं है यह यह वास्तव में उत्पादक नहीं है, मुझे लगता है,
आपके सभी को निर्दिष्ट किया जाना है आपके कार्यों में प्रकार.
आप एक समारोह कॉल और फिर, जब यह बात है सी. आप के रूप में सटीक एक ही वाक्य रचना
सिर्फ अपने दो तर्क में गुजरती हैं.
मैं अपने नोड में यह कोशिश करना चाहते हैं.
मैं स्लाइड बदल सकते हैं?
>> दर्शक: [सुनाई].
हम स्लाइड्स की एक कॉपी मिल जाएगा?
>> रोजेर ZURAWICKI: हाँ.
तो चलो वापस नोड के लिए चलते हैं.
ठीक है.
तो मैं var ऐड समारोह के बराबर होती है कहूँगा.
, एक एक्स लेते हुए एक वाई ले रही है.
और फिर यह जानता है कि बयान के पूरा नहीं.
तो, नोड में या अपने कंसोल में आप डॉट डॉट डॉट ध्यान देंगे.
तो अगर आप अपने कोड लिखकर रख सकते हैं.
और अब मैं वापसी एक्स प्लस y कहूँगा.
और फिर गले को बंद करें.
और मुझे गले लगा बंद क्षण, यह बयान समाप्त हो गया है कि देखता है.
>> और अब मैं एक और दो को जोड़ने कह सकते हैं.
और मैं तीन बाहर हो जाएगी.
ध्यान दें कि मैं बस जोड़ दिया है, यह यह एक समारोह है मुझसे कहता है.
और एक बात बस पर ध्यान देना है कि आप इसके बारे में गलत नंबर दे अगर
तर्क, यह कर देगा.
यह चलेगा, लेकिन आपको मिल सकता है कुछ बहुत ही अजीब परिणाम है.
एक तरह से एक कचरा मूल्य की तरह, आप इसके बारे में सोच सकते हैं.
तो आगे चलते हैं और कोशिश करें इस आपके ब्राउज़र में.
>> ठीक है, इसलिए समय के हित में, मैं हूँ अब में अगले सुविधाओं के लिए आगे बढ़ना
जावास्क्रिप्ट.
तो हम कार्यों के बारे में बात की है.
हम छोरों के बारे में बात की है, बयान भी हैं.
वाक्य रचना एक ही है सी और चर के रूप में.
और अब मैं सरणियों के बारे में बात करना चाहता हूँ.
मैं माफी चाहता हूँ कि स्लाइड एक सा कट गया.
लेकिन वास्तव में, प्रथम खंड में, आप की जरूरत है सब कुछ काम करेंगे.
>> तो हम एक और प्रकार के लिए है चर सरणियों कहा जाता है.
और हम वर्ग कोष्ठक का उपयोग उन्हें निरूपित करने के लिए.
, पहले उदाहरण में तो वर आगमन, खाली सरणी.
इस खाली सूची है, तो एक सरणी कोई तत्वों से युक्त.
और तुम भी एक सरणी हो सकता है तीन तार के साथ.
सी में, अपने सरणी में प्रत्येक तत्व उसी प्रकार किया जा सकता था.
>> लेकिन क्योंकि जावास्क्रिप्ट में ही है एक प्रकार, सरणियों वास्तव में कर सकते हैं
मूल्यों के विभिन्न प्रकार है.
यहाँ की तरह, हम साथ एक सरणी है एक नाव, एक bool, और एक int.
आप एक सरणी की लंबाई पाने के रास्ते, आप वास्तव में आकार का उपयोग करने के लिए नहीं है
या कुछ भी.
तुम बस सरणी कहना और तो लंबाई डॉट.
और इस डॉट लंबाई, आप सोच सकते हैं यह एक तरह से एक संरचना की तरह, कैसे हर
सरणी एक क्षेत्र है, एक अतिरिक्त चर इसके अंदर, लंबाई जो बुलाया
अपने सरणी है कितनी देर का ट्रैक रखता है.
>> तो मैं बस जल्दी में जाने के लिए जा रहा हूँ नोड और शो तुम लोग एक ही बात.
तो मैं एक सरणी हो सकता है.
यह खाली सूची हो सकता है.
और यह मुझे मुद्रित होगा एक खाली सूची बैक.
ग्रेट.
मैं अब कह सकते हैं कि सरणी 1, और 2.3, और सच है.
इतना सब अलग अलग प्रकार के.
और तुम यह ठीक काम करता है नोटिस.
मैं समर्थन वापस मिल सरणी मैं दे दिया मूल्यों के सभी.
>> मैं का पहला तत्व प्राप्त करना चाहता था सरणी, वाक्यविन्यास वास्तव में है
सी. आप के रूप में ही सरणी शून्य कह सकते हैं.
और तुम एक हो.
मैं सरणी के लिए एक ही कह सकते हैं दो, और मैं सच में मिलता है.
मैं सरणी के बाहर कुछ करते हैं, जावास्क्रिप्ट एक सुरक्षित भाषा है
मैं एक seg गलती नहीं मिलेगा क्योंकि.
मैं अपरिभाषित मिलेगा.
>> और इस अपरिभाषित, आप की तरह कर सकते हैं के अशक्त के रूप में इसके बारे में सोचो.
जब आप लेकिन यह सच में कष्टप्रद हो सकता है आपको लगता है कि जांच करनी होगी कोड क्योंकि
आप लगभग सब कुछ, आप अपरिभाषित है के साथ काम करते हैं.
और हम में से कुछ उदाहरण देखेंगे यह हम उल्का में काम करते हैं.
>> सरणी चार, अपरिभाषित है मैं इसे एक मूल्य प्रदान कर सकते हैं.
इसलिए मैं इसे एक बराबर कहता हूँ.
और फिर मैं मैं सरणी के लिए जाना वहाँ अतिरिक्त मूल्य है.
और उस सरणी तीन, जो भी नोटिस अपरिभाषित था, अपरिभाषित रहता है.
तो अब मैं एक सरणी के साथ है बीच में एक छेद.
लेकिन मैं सरणी चार मुद्रित हैं, मैं एक मिल जाएगा.
मैं सरणी तीन किया है, मैं अपरिभाषित मिलता है.
>> तो अच्छी सुविधा है कि जावास्क्रिप्ट तुम क्या करने की अनुमति देता है सूचियों कर सकते हैं कि
आकार बदल जाते हैं.
सारणियों, सरणियों सूचियों जा रहा है, वे आकार बदल जाते हैं.
और अगर आप किसी भी स्थान को निर्दिष्ट कर सकते हैं उन के अंदर.
और यह सब अंतराल भरा जाएगा इन अपरिभाषित मूल्यों के साथ.
>> इसलिए हम सरणियों के बारे में बात की है.
अब, मैं में कवर करना चाहते पिछले बात जावास्क्रिप्ट, और यह बहुत महत्वपूर्ण है
कोड को समझने के लिए कि मैं तुम्हें दिखाने के लिए जा रहा हूँ,
वस्तुओं होने जा रहा है.
और वस्तुओं में एक अवधि के होते हैं -
असल में, वे में मौजूद हैं कई प्रोग्रामिंग भाषा.
और हर प्रोग्रामिंग भाषा के लिए पसंद करती है थोड़ा अलग उनमें से लगता है.
>> लेकिन मैं उल्का, एक अच्छा के लिए लगता है सादृश्य सी संरचना है.
सी में, हम संरचना खोजना चाहते हैं छात्र, हम स्पष्ट करना होगा चाहते हैं सभी
इसके अंदर बातें.
तो यह एक नाम के लिए है.
यह एक वर्ष के लिए है.
यह एक लिंग के लिए है.
लेकिन हम भी इसे देने के लिए है उन सभी चीजों की तरह.
>> और अब हम के लिए इस ढालना है कि छात्र बुलाया संरचना, हम कर सकते हैं एक
नई संरचना, और फिर हम स्वयं कर सकते हैं क्षेत्र के प्रत्येक क्या कर रहे हैं कहते हैं.
हम डॉट के नाम का उपयोग और वह है जहाँ, डॉट वर्ष, लिंग डॉट.
और फिर हम तो बस की अंतिम पंक्ति में यहाँ कोड, मैं अभी बाहर मुद्रण कर रहा हूँ
संरचना छात्र का नाम है.
>> जावास्क्रिप्ट दुनिया में, वहाँ है संरचना के छात्र के रूप में ऐसी कोई बात नहीं.
आप एक पूर्व निर्धारित संरचना नहीं पैदा करते हैं.
तुम वास्तव में सिर्फ इन कोष्ठक में, तुम सब कुछ है क्या कहना.
और इसके साथ यह अजीब अंकन है कोलोन और फिर अल्पविराम, लेकिन तुम हूँ
जल्द ही इसकी आदत हो.
>> और यह वास्तव में एक बहुत आसान है बस का लचीला तरीका
वस्तुओं से छेड़छाड़.
तुम नोटिस कि मैं अब प्राप्त करना चाहते हैं s से नाम है, मैं सिर्फ s.name करना.
इस बारे में किसी भी सवाल कर रहे हैं?
यह आमतौर पर एक बहुत ही भ्रामक दिया गया है हम करने के लिए लोगों को पेश विषय जब
जावास्क्रिप्ट.
मैं नोड में इस के कुछ उदाहरण क्या होगा.
हाँ?
>> दर्शक: [सुनाई].
>> रोजेर ZURAWICKI: तो तुम क्या एक उदाहरण, एकाधिक है
उस प्रकार के चर.
>> दर्शक: [सुनाई].
>> रोजेर ZURAWICKI: ठीक है.
तो मैं तुम्हारे बारे में जाना होगा तरीका है आप एक सरणी में वस्तुओं को रखा जाएगा,
और अब आप एक होगा वस्तुओं की सरणी.
कि आपके सवाल का जवाब है?
>> दर्शक: [सुनाई].
>> रोजेर ZURAWICKI: हाँ.
एस एक वस्तु है.
तो हम बस नोड में जाने के लिए और कर सकते हैं एक छोटा सा खेलने के आसपास.
>> दर्शक: [सुनाई]?
>> रोजेर ZURAWICKI: ओह, ठीक है.
तो आप पूछ रहे हैं कक्षाएं, क्या कर रहे हैं कक्षाएं, बहुत अलग ढंग से इलाज कर रहे हैं
और वे एक बहुत ही अजीब योजना है तुम जो नहीं बुलाया प्रोटोटाइप,
के बारे में जानने की जरूरत है.
यह करने के लिए कोई निश्चित तरीका नहीं है.
तो आप कई, आप उत्पन्न करना चाहते हैं बस की तरह एक समारोह होगा
या कुछ और.
आप अपने खुद के समारोह उत्पन्न करते हैं.
और तुम एक वस्तु वापस कर देगा.
यही सबसे आसान होगा ऐसा करने का तरीका.
कि मतलब?
ठीक है.
ग्रेट.
तो एक बार हम एक समझ की है जावास्क्रिप्ट वस्तुओं, वे हैं -
ओह, हाँ.
>> दर्शक: [सुनाई]
उदाहरण के बीच अंतर क्या है दोहरे उद्धरण बनाम साथ "रोजर"
[सुनाई] एकल उद्धरण के साथ.
>> रोजेर ZURAWICKI: ठीक है.
इसलिए इस सी में है, हम एक है घर का काम का प्रतिनिधित्व उद्धरण, और डबल
तार का प्रतिनिधित्व उद्धरण.
जावास्क्रिप्ट वास्तव में दूर इस फेंकता आप तार के साथ हो सकता है क्योंकि
एक या दो उद्धरण, और वहाँ एक भी चार के रूप में ऐसी कोई बात नहीं.
लेकिन अगर आप सिर्फ एक ही नकल की अगर सी कोड, जावास्क्रिप्ट होगा
बस ठीक व्यवहार करते हैं.
मैं के रूप में यह इलाज यही वजह है कि -
यही कारण है कि मैं कर सकता हूँ सचमुच बंदरगाह है इस अर्थ में कि कोड.
>> और मैं आपको एक उदाहरण दिखाना चाहते हैं एक अधिक जटिल वस्तु की.
तो आप देख सकते हैं कि एक वस्तु मान के रूप में तार हो सकता है.
यह मूल्यों की एक और सूची हो सकती है.
यह की एक सूची हो सकता है मूल्यों के रूप में वस्तुओं.
इस के लिए कोई सीमा वास्तव में नहीं है.
यहाँ तो, यह सिर्फ एक अच्छा प्रदर्शन है आप एक बहुत कुछ मिल सकता है की
पर जा रहे विभिन्न प्रकार सभी एक वस्तु में.
इस अर्थ?
>> अब, आप भी हो सकते हैं वस्तुओं के arrays.
और यहाँ तुम क्या करने के लिए तरह के समान है आप की वस्तुओं हो सकता है, अगर पूछा
एक ही प्रकार के.
लेकिन समस्या यह है कि कोई निश्चित नहीं है, है जावास्क्रिप्ट में वस्तुओं के लिए प्रारूप.
तो आप उन्हें अपने आप को स्पष्ट करना होगा.
और आपको यह सुनिश्चित करना है वे वर्दी रहे हैं.
मैं एक वस्तु बना तो जब यहाँ,, मेरे पास है हर एक को एक है कि बनाना
नाम है, और हर एक के लिए एक घर है.
>> और फिर मैं उन लोगों में से एक सरणी है, और कहा कि मेरी झोपड़ी किया जा सकता है.
और फिर यहाँ आप की तरह कर सकते हैं पाश पर जाने के लिए देखते हैं.
के लिए लूप सिर्फ एक सच में आम जा रहा है एक सरणी से अधिक पार करने के लिए रास्ता
जावास्क्रिप्ट में.
इस पद्धति के समान है कि नोटिस सी बराबर करने के लिए, जहां आप
मैं शून्य के बराबर होती है int है. मैं लंबाई की तुलना में कम है.
और फिर मैं प्लस प्लस.
>> यह लगभग एक ही कोड है कुछ विवरण के लिए छोड़कर.
तो हर कोई समझ है क्या एक वस्तु है?
बस एक सी संरचना के रूप में इसके बारे में सोचो.
और तुम क्षेत्रों का उपयोग रास्ता बस डॉट के साथ है.
और जब तक आप याद के रूप में कैसे करने के लिए डॉट का उपयोग, तुम ठीक हो जाओगे.
>> ठीक है, तो अब यह कर सकते हैं कि सब लोग उस लिंक पर पढ़ा है?
इस परियोजना के लिए कड़ी है.
किसी को भी परेशानी हो रही है लिंक देख?
ठीक है, तो इसे बदल दे.
ऐसा नहीं है -
हाँ, यह शायद है यह करने के लिए सबसे आसान तरीका है.
ग्रेट.
>> आप इस साइट पर जाना है तो, अगर वहाँ होना चाहिए कुछ निर्देश हो कि मैं हूँ
हम उल्का स्थापित कर सकते हैं पर खत्म हो जाना और हमारे नमूना परियोजना चल मिलता है.
मुझे यकीन है कि हर कोई है बनाना चाहते नीचे दिए गए लिंक मैं ले जाने से पहले.
मैं पर स्थानांतरित कर सकते हैं?
महान, ठीक है.
>> तो यहाँ मैं वेबसाइट पर हूँ.
आप रीडमी फ़ाइल में नोटिस हूँ हम पर कुछ निर्देश है
वें की स्थापना करने के लिए.
आप या तो CS50 में होना चाहिए उपकरण या सिर्फ एक मैक पर.
विंडोज काम नहीं करेगा.
लेकिन मूल रूप से कुछ भी नहीं है कि विंडोज इन के साथ काम करना चाहिए
बस ठीक निर्देश.
लेकिन मैं यह एक बिट कर सकते हैं बड़ा के रूप में अच्छी तरह से.
>> तो आप पहली बार भाग लेंगे आदेशों की जोड़ी.
ये लोग सिर्फ उल्का स्थापित हो जाएगा.
मैं अपने टर्मिनल में जा सकते हैं.
और मैं अब एक ही बात चलाते हैं, मैं पहले से ही स्थापित है.
तो यह थोड़ा कम है.
यह थोड़ा समय लग सकता है आप लोगों के लिए.
लेकिन मैं पहले बनाना चाहते हम उल्का चल रहा है कि.
उल्का स्थापित करने के बाद, आप चाहिए कंसोल में नोड प्राप्त करने में सक्षम हो.
>> दर्शक: वे पूछ रहे हैं एक पासवर्ड के लिए.
>> रोजेर ZURAWICKI: वह अपने होगा उपयोगकर्ता पासवर्ड, आप एक मैक पर हैं.
यह सिर्फ अनुमति की जरूरत कुछ सिस्टम फ़ाइलों को संशोधित.
इसके लिए आप पूछता है तो सवाल था एक पासवर्ड, यह सिर्फ तुम पूछ रहा है
अपना उपयोगकर्ता नाम पासवर्ड के लिए जब आप अपने मैक में लॉग इन करें.
और यह है कि आप कर सकते हैं कि इतना सिस्टम फ़ाइलों को बदलें.
>> जब आप तैयार हैं और, तुम पर स्थानांतरित कर सकते हैं अगले कदम के लिए, जो कॉपी जाएगा
मैं वेबसाइट से है नमूना कोड.
और आप में एक नया निर्देशिका मिलेगा आपके घर निर्देशिका लीडरबोर्ड कहा जाता है, और
हम वहाँ से काम शुरू कर सकते हैं.
तो मैं सिर्फ नकल और इन चिपका रहा हूँ मेरे टर्मिनल में हासिल है.
और मेरे लिए, मैं पहले से ही यह क्लोन.
तो मैं बस अब स्थानांतरित कर सकते हैं लीडरबोर्ड में.
और मैं कुछ करना चाहिए था वहाँ में फ़ाइलों.
कोई सवाल?
>> दर्शक: [सुनाई] काम नहीं कर रहा.
>> रोजेर ZURAWICKI: ओह, आप कर सकते हैं के रूप में अच्छी तरह से स्थापित git जरूरत है.
>> दर्शक: [सुनाई].
>> रोजेर ZURAWICKI: क्षमा करें?
>> दर्शक: [सुनाई].
>> रोजेर ZURAWICKI: ओह, ठीक है.
ठीक है.
आपको करना पड़ सकता है कि क्योंकि इस कड़ी पाने के लिए GitHub करने में लॉग इन किया.
तुम लोगों को देख सकते हैं कि, तो सबसे आसान यह करने के लिए जिस तरह से मैं तो कहूँगा
ज़िप डाउनलोड.
और यह सिर्फ डाउनलोड करेगा सभी फ़ाइलें.
और फिर आप अपने में डाल दिया है एक बार डाउनलोड या आपके घर निर्देशिका -
मैं में डालने की सिफारिश अपने घर निर्देशिका इसलिए हम सब कर सकते हैं
उसी आदेश चलाएँ.
जब तक हम फ़ाइलों के रूप में, हम करेंगे उनके साथ काम शुरू करने में सक्षम हो.
लोगों को हो रही हो तो मुझे जानते हैं मुसीबत फ़ाइलों को डाउनलोड.
>> दर्शक: घर निर्देशिका से, आप मतलब है -
>> रोजेर ZURAWICKI: तो घर निर्देशिका होगा यदि आप में हैं, जॉन हार्वर्ड हो
CS50 उपकरण.
आपके घर निर्देशिका को प्राप्त करने के लिए, बस सी में लिखें
>> दर्शक: [सुनाई]
CS50 उपकरण [सुनाई].
>> रोजेर ZURAWICKI: हाँ.
आप आदेश चलाना चाहते हैं अपने टर्मिनल में.
>> दर्शक: [सुनाई].
मैं नहीं कहते हैं कि एक त्रुटि हो गई फ़ाइल या निर्देशिका.
>> रोजेर ZURAWICKI: हम एक त्वरित ले जा सकते हैं तोड़ने और सिर्फ यकीन है कि बनाने
हर कोई उल्का स्थापित किया है, और मैं हूँ सिर्फ लोगों को मदद करने की कोशिश जाना.
एक दूसरे की मदद करने की कोशिश करो अगर आप समस्याओं में चला रहे हैं.
क्षमा करें, हाँ.
आप उपकरण में दोनों कर रहे हैं?
>> दर्शक: हाँ.
मैं RISA है
>> रोजेर ZURAWICKI: ठीक है.
आप वापस वेबसाइट पर जाते हैं, शीर्ष करने के लिए स्क्रॉल जाना.
और यह HTTPS नहीं है.
>> दर्शक: यह प्रति?
>> रोजेर ZURAWICKI: हाँ.
और फिर आप करना चाहते हैं git क्लोन में लिखें.
तो आप नियंत्रण एक प्रेस -
>> दर्शक: यहाँ?
और [सुनाई] करते हैं?
>> रोजेर ZURAWICKI: जी, मैं टी.
>> दर्शक: [सुनाई].
>> रोजेर ZURAWICKI: फिर Git और क्लोन.
इसलिए यह आदेश के समान है आप ऊपर था, लेकिन यूआरएल बदल दिया है.
यह इस गया था तो इससे पहले, अब यह इस है.
मुझे अद्यतन करते हैं -
हाँ.
>> दर्शक: [सुनाई].
>> रोजेर ZURAWICKI: इस डाउनलोड की है.
>> दर्शक: [सुनाई].
>> रोजेर ZURAWICKI: ओह, यह तो सही ढंग से क्लोन नहीं था.
मुझे लगता है कि ठीक कर देंगे.
कोशिश के साथ एक त्रुटि है फ़ाइलों को डाउनलोड करने के लिए.
मुझे आप लोगों के लिए आदेश को अपडेट करते हैं इसलिए मुझे लगता है कि यह काम करेगा सुनिश्चित कर सकते हैं.
मैं उस बारे में माफी चाहता हूँ.
इसके लिए एक ही होना चाहिए एमएसीएस या CS50 उपकरण.
>> दर्शक: [सुनाई].
>> रोजेर ZURAWICKI: मैं नवीनीकृत किया है नंबर दो, अगर के लिए आदेश
आप पृष्ठ ताज़ा.
और इस के साथ, यूआरएल, तुम होना चाहिए फ़ाइलों को डाउनलोड करने में सक्षम.
>> दर्शक: तो हम अभी भी कर रहे हैं [सुनाई] डाउनलोड करने.
>> रोजेर ZURAWICKI: आप कर रहे हैं अभी भी उल्का को डाउनलोड?
>> दर्शक: [सुनाई].
>> रोजेर ZURAWICKI: हाँ, अगर आप चाहते हैं अपने मैक पर विकसित करने के लिए.
लेकिन आप Xcode डेवलपर की जरूरत स्थापित उपकरणों.
मैं CS50 पर इन आदेशों का परीक्षण किया उपकरण है, तो मैं गारंटी ले सकते हैं
यह काम करेगा.
हां. मुझे जाना है और आपकी मदद करते हैं.
>> दर्शक: [सुनाई].
मैं अपना पासवर्ड दे.
यह मैक है.
और फिर मैं [सुनाई] से करते हैं.
>> रोजेर ZURAWICKI: ठीक है.
मैं सभी कमानों चलाने की कोशिश करेंगे केवल CS50 उपकरण टर्मिनल में.
>> दर्शक: [सुनाई].
>> रोजेर ZURAWICKI: मैं यह काम करना आरंभ होगा पर, टर्मिनल पर पहले
फिर CS50 उपकरण, और मैक टर्मिनल.
>> दर्शक: तो तुम CS50 पर यह करते हैं [सुनाई], उस तरह के उपकरण.
>> रोजेर ZURAWICKI: मैं स्थानांतरित करना चाहते हैं , लेकिन लोगों को अभी भी कर रहे हैं पर
मुसीबत उल्का की स्थापना, केविन अधिक है तुम लोगों को मदद करने के लिए खुश से,
ग्रे शर्ट में केविन.
क्या हम होना चाहिए कि हम करने जा रहे है अंतिम आदेश, तीन नंबर, में चलाने
हमारे टर्मिनल.
हम ऐसा करते हैं, तो हम उल्का चलने देंगे.
>> और तुम चाहिए -
ओह, मैं पहले से ही उल्का चल रहा है.
तो यह बताने के लिए नहीं जा रहा है - मुझे दो सिर्फ मेरे अन्य उल्का बंद करें.
मैं उल्का, जब आप चलाने अब यह देखना चाहिए कि -
आप वर्तमान निर्देशिका देखना चाहिए यह सेवा है कि.
और अब यह सर्वर कहने जा रहा है http://localhost पर चल रहा है.
कि तुम डाल करना चाहते यूआरएल है कृपया अपने वेब ब्राउज़र में में.
>> और उस यूआरएल पर, आप में सक्षम होना चाहिए एक अच्छा सा लीडरबोर्ड तक पहुँचने.
तो यह लोकलहोस्ट पर है कि सूचना, जिसका मतलब है कि आप किसी भी करते हैं
परिवर्तन, आप नहीं जा रहे हैं एक दूसरे के परिवर्तनों को देखते हैं.
मैं तुम से पता चला वेबसाइट पर जबकि शुरुआत में, हम मिल सकता है
हर किसी के परिवर्तन क्योंकि सब लोग एक ही वेबसाइट तक पहुँचने था.
>> तो मुझे सिर्फ [करने के लिए चलते हैं? शब्द?]
3,000.
तो आप सिर्फ इस बात की पुष्टि करने में सक्षम होना चाहिए कार्यक्षमता काम करता है.
आप अलग अलग लोगों का चयन कर सकते हैं और आप उन्हें विभिन्न बिंदुओं दे सकते हैं.
तो मैं किसी को अंक दे.
आप यह भी देख सकते हैं कि वे रैंक में वृद्धि.
>> अब, समय के हित में, वहाँ मैं है कि तीन विशेषताएं हैं
लागू किया है.
और हम हटाने को लागू करने के लिए जा रहे हैं हमारी पहली फीचर के रूप में उपयोगकर्ताओं.
हम आगे बढ़ने से पहले, कर रहे हैं वहाँ कोई सवाल?
आप अपने हाथ ऊपर था.
हाँ?
>> दर्शक: [सुनाई].
>> रोजेर ZURAWICKI: आप देख सकते हैं उस उल्का स्थापित किया गया है?
>> दर्शक: [सुनाई].
>> रोजेर ZURAWICKI: स्थानीय मेजबान 3,000?
और तुम CS50 उपकरण में कर रहे हैं?
मैं कर सकते हैं -
आप एक मैक पर होने की जरूरत नहीं है.
इस उपकरण में काम करेंगे.
>> दर्शक: [सुनाई].
>> रोजेर ZURAWICKI: सामान्य में वेब ब्राउज़र, हाँ.
>> दर्शक: [सुनाई].
>> रोजेर ZURAWICKI: उल्का चल रहा है?
तो ठीक है, यहाँ एक अंतर है.
आप में यह चला रहे हैं उपकरण, तुम्हें क्या करना है
उपकरण के भीतर स्थानीय होस्ट.
आप अपने मैक में चल रहे हैं, जैसे मैं हूँ, तो मैं क्या कर सकता
मेरे मैक गूगल क्रोम.
लेकिन आप CS50 उपकरण का उपयोग कर रहे हैं, आप सब कुछ करना है
उपकरण में.
तो आप गूगल का उपयोग करने के लिए है उपकरण में क्रोम.
>> दर्शक: [सुनाई].
>> रोजेर ZURAWICKI: यह है अभी भी काम नहीं कर रहा?
>> दर्शक: [सुनाई].
>> रोजेर ZURAWICKI: तो बस दोहराने के लिए, कैसे आप अब वेबसाइट का उपयोग करते हैं.
आप यहाँ पर एक यूआरएल है 3,000 लोकलहोस्ट.
आप CS50 उपकरण में कर रहे हैं, आप CS50 खोलने के लिए है
उपकरण के गूगल क्रोम.
और भीतर कि गूगल क्रोम में उपकरण, आप उस URL में टाइप कर सकते हैं
और आप एक लीडरबोर्ड देखना चाहिए.
तो मैं बस इसे बंद करने के लिए जा रहा हूँ यहाँ किनारे एक छोटा सा.
और अब मैं खोलने के लिए जा रहा हूँ मेरे यहाँ पर पाठ संपादक.
तो मुझे बस सुनिश्चित करें कि चलो कोड क्रम में है.
ठीक है.
ग्रेट.
>> मैं अब के माध्यम से चलने के लिए करना चाहते हैं कोड एक सा है.
और पहली फाइल मैं शुरू करना चाहते हैं है leaderboard.html साथ.
आप के बाद इस कोड प्राप्त करने में सक्षम हो जाएगा संगोष्ठी, तो मैं सिर्फ दिखाने के लिए चाहते हैं
आप अपने कंप्यूटर पर क्या हो रहा है.
इसलिए मुझे लगता है कि सब लोग यह देख सकते हैं उम्मीद है.
तो फ़ाइल के बहुत शुरुआत में, हम हमारे सिर और शीर्षक है, जो
क्या हमने देखा के समान है हर HTML दस्तावेज़ में.
और फिर हमारे पास करने के लिए जा रहे हैं यहां शरीर टैग.
>> क्या मैं का चयन किया है मुख्य है शरीर, असल में क्या है
प्रदर्शित होने वाली.
लेकिन कुछ नए गैर एचटीएमएल कर रहे हैं बातें, और उस में है
डबल कोण कोष्ठक.
और इन टेम्पलेट टैग कर रहे हैं.
तो तुम यहाँ इस ब्रैकेट देखेंगे ब्रैकेट नई लीडरबोर्ड.
और इस तरह से है - यह सोचने HTML के लिए एक समारोह के रूप में बुला.
>> इस HTML की एक विशेष संस्करण है.
यह उल्का का उपयोग करता है कि संस्करण है, जो आप अलग अलग प्रदर्शन कर सकते हैं क्यों है
ऐसे लीडरबोर्ड चीजों के रूप में, नाम और बटन.
लेकिन लीडरबोर्ड पर जाने के लिए कहता है नाम लीडरबोर्ड के साथ टेम्पलेट.
तो टेम्पलेट से प्रदर्शित नहीं करता है ही है, लेकिन यह एक समारोह है, तो यह
कहा जाता हो जाएगा.
और आप इस सब में स्थानापन्न हूँ यहीं लीडरबोर्ड में कोड.
>> लीडरबोर्ड के दिलचस्प हिस्सा यहां सिर्फ इस तालिका है.
आप बस इसे पढ़ा, तो इस कोड को पढ़ने के लिए ज़ोर से, यह सहज ज्ञान युक्त होना चाहिए
क्योंकि लीडरबोर्ड, सब हम यहाँ है एक टेबल है.
आप इसे मत आईडी वर्ग सामान के बारे में चिंता करने की जरूरत है.
सिर्फ एक मेज हेडर पता है कि वहाँ.
यही कारण है कि इस thead है.
>> और यह एक नाम और एक अंक पाता है.
इन सभी टैग, thtable तरह कृपयाविज्ञापन, आप के साथ जाने के रूप में आप सिर्फ सीखना होगा.
यह आपको याद है कि यह महत्वपूर्ण नहीं है इन आप बस किसी भी उपयोग कर सकते हैं क्योंकि
ऑनलाइन संदर्भ.
या सेमेस्टर के अंत तक इन बस आप के साथ बहुत परिचित हो जाएगा.
>> तालिका के शीर्ष लेख के बाद मैं आकर्षित करना चाहता हूँ कि हिस्सा अपने
करने के लिए ध्यान इस ज टैग है.
यह डबल कोष्ठक में है, क्योंकि यह एक टेम्पलेट है.
तो यह है कि खिलाड़ियों में से प्रत्येक के लिए इसका मतलब है, , हम करने के लिए किया जाता है जो कुछ खिलाड़ियों
यह प्रदर्शित करते हैं.
और हम खिलाड़ी टेम्पलेट के पास जाओ.
>> हम थोड़ा और अधिक नीचे स्क्रॉल करें -
मैं सबको देख सकते हैं कि उम्मीद है.
हम खिलाड़ी टेम्पलेट है.
और इस टेम्पलेट मूल रूप से एक को परिभाषित करता है आप नाम में डाल जहां तालिका सेल,
यहाँ और स्कोर.
अब बाहर zooming, हम देख सकते हैं उस कोड के इस टुकड़ा -
और कहा कि वहाँ नीचे हमारे खिलाड़ी थे -
इन कोशिकाओं में से एक को परिभाषित करता है.
मैं क्लिक करें कि हर बात पीला हो जाता है.
>> मैं अब यह बदल सकता है एक आसान तरीका है.
यकीन है कि उल्का अभी भी चल रहा है.
उल्का एक सर्वर प्रक्रिया होनी चाहिए, तो आप बस इसे छोड़ दें
आप विकसित जब चल रहा है.
कहते हैं कि मैं बदलना चाहते थे हम कहते हैं सभी के नाम या स्कोर.
और मुझे लगता है कि मैं जा रहा हूँ कहेंगे अंक यहाँ जोड़ने के लिए.
इसलिए मैं यहाँ बनाया परिवर्तन किया गया था, के बजाय सिर्फ स्कोर का, मैं
स्कोर अंतरिक्ष अंक जोड़ने.
>> मैं बाहर ज़ूम करने के लिए जा रहा हूँ, और मैं कर रहा हूँ मेरी फाइल को बचाने के लिए जा रहा.
मैं अपनी फाइल को बचाने के बाद और, मैं जरूरत यकीन है कि उल्का चल रहा है बनाने के लिए.
इस बारे में खेद.
मैं आप संपादन दिखाना चाहते हैं वास्तविक समय में किया गया.
तो मैं बस कुछ पाठ बदल देंगे.
एक खिलाड़ी पर क्लिक करें.
मैं सभी टोपियां में यह डाल रहा हूँ.
और यह होना चाहिए कि यह काम कर रहा है ठीक से, मैं इसे बचाने के लिए है, यह
अद्यतन करेगा.
>> ओह, मैं अभी समस्या है मैं सही निर्देशिका में नहीं हूँ.
ठीक है.
मैं उस बारे में माफी चाहता हूँ.
यहाँ तो, क्या तुम नोटिस है मेरा परिवर्तन के माध्यम से चला गया.
अब मैं परिवर्तन वापस करना चाहते हैं.
मुझे लगता है मैं क्या किया था के लिए वापस जाना चाहता हूँ.
मैं सिर्फ यह सामान्य टाइप करने के लिए जा रहा हूँ.
एक खिलाड़ी पर क्लिक करें.
>> मैं, इसे बचाने के पल साइट मेरे लिए तरोताजा कर देती है.
और मैं अपने परिवर्तन देखने तुरन्त साइट.
यह एक बहुत उपयोगी सुविधा है डिबगिंग में क्योंकि अब
मैं करने के लिए नहीं है -
हम सी कोड लिखने, जब न केवल हमने किया फ़ाइल को बचाने के लिए है, लेकिन हम करना पड़ा
इसे बनाने के लिए और फिर इसे फिर से चलाने.
उल्का, क्योंकि सी के विपरीत बहुत अच्छा है आप अपने HTML या बचाने के पल
JavaScript फ़ाइल, परिवर्तन तुरंत पता चलता है.
>> एक सवाल, इन खाकों में, कैसे होता है मैं खिलाड़ियों की तरह मान मिलता है
या एक नाम का चयन करें?
मैं अपने कोड में यहां ज़ूम, मैं प्रत्येक खिलाड़ी के लिए यह देखना.
तो टेम्पलेट जानता है कि मैं किसी भी तरह खिलाड़ी हैं.
और यह है कि वहाँ जानता है एक चयनित नाम.
यह कहाँ से आया है?
जावास्क्रिप्ट से आता है.
>> और तुम leaderboard.js के लिए जाना है, तो यह मैं यहाँ से जाना जब फ़ाइल, अब, हम एक है
कुछ आदेशों को परिभाषित किया.
इस विशेष उल्का वाक्यविन्यास है.
आप की जरूरत नहीं है नोटिस वार्स या कुछ भी.
लेकिन ये सिर्फ structs पर structs कर रहे हैं structs या इन वस्तुओं पर.
और मैं परिभाषित कर रहा हूँ सभी टेम्पलेट है लीडरबोर्ड कहा जाता है.
>> लीडरबोर्ड एक हो जाना चाहिए बात खिलाड़ियों का आह्वान किया.
और खिलाड़ियों क्या है?
यह इस अभिव्यक्ति देता है जो कुछ भी है.
और चयनित नाम क्या है?
यह कुछ और कोड है.
हम हूँ कोड का ब्यौरा थोड़ा बाद में कवर किया.
लेकिन अभी मैं आपको समझना चाहता हूँ इस कोड में, हम ले जा रहे हैं
खिलाड़ियों, और हम इसे एक मूल्य दे रहे हैं.
इस मामले में, यह एक समारोह है कि मार डाला जाता है.
इसलिए हम मूल्य वापस मिल सकता है हम समारोह चला रहे हैं.
यह एक लॉग है.
कि मतलब?
>> मैं इसे हल है जिस तरह से बदल सकते हैं.
इधर, एक तरह से वस्तु नहीं है.
और क्या यह कहते हैं मैं सॉर्ट करने के लिए जा रहा हूँ है स्कोर पहली उतरते और से
तब आरोही नाम है.
मैं एक के लिए इस बदलते हैं, तो यह जा रहा है स्कोर आरोही सॉर्ट करने के लिए.
तो शून्य शीर्ष पर होना चाहिए.
और मैं अपनी वेबसाइट में ज़ूम, जब हम अब वेबसाइट को अपडेट किया है कि देखते हैं.
और स्कोर चढ़ना है.
>> मैं बस चाहता हूँ कि अगले समारोह कवर करने के लिए क्लिक वेतन वृद्धि है.
समय की दिलचस्पी की वजह से, मैं नहीं होगा उल्का के अधिक कवर करने में सक्षम हो
कोड, लेकिन संसाधनों के बहुत सारे हैं उपलब्ध है, और मैं हो जाएगा
यहाँ संगोष्ठी के बाद.
लेकिन मैं सिर्फ कवर करना चाहते हैं लीडरबोर्ड घटनाओं.
इस वाक्य रचना तुम एक सीख जाओगे बाद में व्याख्यान में सा.
यह जावास्क्रिप्ट है.
>> हम एक क्लिक पाने के लिए जब हम सिर्फ यह कह रहे हैं, और यह वेतन वृद्धि पर इस प्रकार है
हैश सिर्फ आईडी मतलब है.
वेतन वृद्धि आईडी टैग पर, तो हम चाहते हैं अद्यतन करने के लिए - कुंजी शब्दों मैं आप चाहते हैं
देखने के लिए अद्यतन है और चयन और खिलाड़ी.
इसलिए जो भी खिलाड़ी का चयन किया है, हम इसे अद्यतन करें.
और हम क्या हम वेतन वृद्धि है पाँच द्वारा अपने स्कोर.
और कहा कि कार्यक्षमता का वर्णन करेंगे हम यहाँ है.
>> इस संगोष्ठी के अंत के बाद, हम करेंगे कुछ और कोड को देखने के लिए सक्षम हो.
लेकिन मैं चाहता हूँ कि वापस अपने लक्ष्य के लिए जा रहा साइट बदलने के लिए, मैं यहाँ पर करना चाहता था
एक निकालें बटन जोड़ने के लिए इतना मैं खिलाड़ी नष्ट कर सकते हैं.
तो क्या है कि, मैं जरूरत दो बातें करने के लिए.
मैं अद्यतन, एचटीएमएल अद्यतन करने की आवश्यकता उपयोगकर्ता को दिखाया जाता है क्या, देखने, और
फिर कुछ जावास्क्रिप्ट है कि जब बटन दबाया जाता है, उल्का जा रहा है
कुछ करने के लिए.
ऐसा लगता है कि खिलाड़ी को दूर करने के लिए जा रहा है.
>> तो कोड की मात्रा का एक बहुत हैं मूल रूप से पहले से ही है कि
मेरे लिए किया गया.
मैं यहाँ देखो, मैं पहले से ही एक रास्ता है के चयनित खिलाड़ी हो रही है.
आप इसे देख सकते हैं कि अगर यह सामान है.
इसलिए मैं सिर्फ अगर -
मैं एक और घटना है जा रहा हूँ.
इसलिए मुझे लगता है कि मैं क्या कॉपी करने के लिए जा रहा हूँ.
इस सूची दी गई है, क्योंकि मैं सिर्फ एक अल्पविराम जरूरत है.
>> तो अब मैं इसे हटाना क्लिक करने के लिए जा रहा हूँ.
और फिर बजाय खिलाड़ियों अद्यतन की, मैं खिलाड़ियों को नष्ट करने के लिए जा रहा हूँ.
और सभी खिलाड़ियों की जरूरत है हटाना एक चयनित खिलाड़ी है.
इसलिए इस समारोह हम सभी की जरूरत है.
मैं कुछ जोड़ने की जरूरत है हालांकि यहां एचटीएमएल.
इसलिए मैं यहाँ नीचे स्क्रॉल अगर, इस HTML दृश्य है.
हम यहाँ एक बात थी जो एक एक टैग था.
आप इस बारे में चिंता करने की जरूरत नहीं है.
>> आप के लिए क्या मायने रखती है इस आईडी वेतन वृद्धि.
और यह हमारे कहने की अनुमति दी क्या है जब हम वेतन वृद्धि क्लिक किया, हम करने के लिए है
पांच अंक दे.
और तुम इस एक बटन है कि देखेंगे.
यही BTN का मतलब क्या है.
और बटन में पाठ पांच अंक देना है.
तो मैं क्या करने जा रहा हूँ मैं कर रहा हूँ है इस लाइन को कॉपी करने के लिए जा रहा है.
मैं नष्ट करने के लिए आईडी बदलने के लिए जा रहा हूँ.
और मुझे बदलने के लिए जा रहा हूँ नष्ट करने के लिए यहा.
>> तो यकीन है कि सब कुछ बचाया बनाते हैं.
मैं वापस अपने जावास्क्रिप्ट में जाना चाहते हैं मुझे लगता है कि यह सुनिश्चित करना
हटाना यहां खड़े हैं.
अच्छा.
इसलिए मैं दोनों फ़ाइलों को बचाने के लिए जा रहा हूँ.
दोनों फ़ाइलों को सहेजने के बाद, हम वापस नीचे करने के लिए जा सकते हैं.
और अब हम हमारे पास देखना एक बटन हटा दें.
और एक और कदम है.
तुम एक मिल सकता है नोटिस त्रुटि जब मैं क्लिक करें क्योंकि
कुछ भी नहीं हो रहा है, हटाना.
>> इस डिबग करने के लिए एक रास्ता तय करना है वापस तत्व का निरीक्षण किया.
मैं उद्देश्य पर यह कर रहा हूँ आप कर सकते हैं ताकि आप कुछ डिबग होगा कैसे देखते हैं.
तत्व निरीक्षण में, हम है यहाँ नीचे हमारे सभी पाठ की.
मैं वापस कंसोल पर जाना चाहते हैं.
मैं यहाँ जाने कब और क्या होता है मैं त्रुटि के कुछ प्रकार मिल रहा है.
इसे हटाने के लिए कोई तरीका है कहते हैं.
>> मैं जब चलते हैं तो क्या यह कह रहा है वापस कोड के लिए, मैं खिलाड़ी कहा जाता है
यहां हटा दें.
हटाएँ वास्तव में नहीं है सही आदेश.
तो क्या सही आदेश पता लगाने के लिए , उल्का एपीआई वहाँ है.
मैं आपको कहना चाहता हूँ प्रलेखन करने के लिए लोगों को सिर्फ meteor.com पर है.
इसलिए मैं इसे यहाँ ऊपर है.
यह सिर्फ इतना है कि आप लोगों को पता है जहां अधिक जानने के लिए.
>> प्रलेखन के लिए एक कड़ी है.
और असल में, मैं सिर्फ यह कर सकते हैं मिटायें के लिए खोज करते हैं.
और तुम क्या देखते हैं, हटाना वास्तव में निकालें.
उस आदेश है कि मैं फोन करने की जरूरत है.
तो अब हम जानते हैं कि, मैं जा रहा हूँ इस दूर करने के लिए हटाना बदलने के लिए.
तो अब, मैं वापस अपने लीडरबोर्ड जब जाना साइट, मैं क्लिक करने के लिए जा रहा हूँ
हटाना, और अब मैं जा रहा हूँ.
कोई और अधिक रोजर है.
और मैं हर हटाने जा रहा रख सकते हैं एक का नाम मैं कुछ नहीं बचा है जब तक.
>> तो यह है कि एक छोटे पूर्वावलोकन था उल्का का उपयोग कैसे की.
आप एक बहुत अधिक जावास्क्रिप्ट सीख सकता हूँ और बनाने के लिए आवश्यक एचटीएमएल
यह हम में कवर करेंगे, जो सुंदर लग रही हो इस सप्ताह के [? टुकड़ा?] HTML के लिए सेट
और अगले में जावास्क्रिप्ट [? टुकड़ा?] की स्थापना की.
>> तो चिंता मत करो नहीं तो सब की अगर इस सामान आप को आसानी से आता है.
यह समय के द्वारा होगा अंतिम परियोजना.
ऊपर दिखाने के लिए धन्यवाद.
मैं के बाद जल्द ही अद्यतन करेगा लिंक संगोष्ठी तो आप कुछ और अधिक देख सकते हैं
मैं पर क्रियान्वित किया है कि उदाहरण के लिए कैसे अधिक उन्नत लीडरबोर्ड पाने के लिए
मैं यहाँ पर इस वेबसाइट पर है कि एक कट्टरपंथी leaderboard.meteor.
धन्यवाद.
>> [वाहवाही]