1 00:00:00,000 --> 00:00:05,616 2 00:00:05,616 --> 00:00:07,030 >> हन्ना BLUMBERG: हाय सब लोग। 3 00:00:07,030 --> 00:00:09,530 हम आरंभ करने के लिए जा रहे हैं मिनट के एक जोड़े को जल्दी 4 00:00:09,530 --> 00:00:11,738 हम एक पूरी बहुत कुछ के बाद से सामग्री के माध्यम से प्राप्त करने के लिए। 5 00:00:11,738 --> 00:00:12,790 मैं हन्ना हूँ। 6 00:00:12,790 --> 00:00:13,865 मैं एक टीएफ हूँ। 7 00:00:13,865 --> 00:00:16,239 मारिया शामिल होने के लिए जा रहा है हमें सिर्फ एक दो मिनट में। 8 00:00:16,239 --> 00:00:17,560 वह ठीक से पहले खंड सिखाता है। 9 00:00:17,560 --> 00:00:19,351 मैं अनुभाग सही सिखाना के बाद, इसलिए हम जा रहे हैं 10 00:00:19,351 --> 00:00:21,200 डेढ़ घंटे के लिए इसे रखने के लिए। 11 00:00:21,200 --> 00:00:25,490 >> तुम यहाँ देखेंगे तो, जैसा कि हम काफी है कुछ विषयों हम, के माध्यम से प्राप्त करने की आवश्यकता 12 00:00:25,490 --> 00:00:27,200 तो हम तेजी से एक छोटा सा जा रहा हूँ। 13 00:00:27,200 --> 00:00:31,140 लेकिन किसी भी बिंदु पर यदि हम कुछ कहना बहुत जल्दी या आप समझ में नहीं आता, 14 00:00:31,140 --> 00:00:33,170 सवालों के साथ बाधित करने के लिए स्वतंत्र महसूस। 15 00:00:33,170 --> 00:00:36,610 हम इस एक बनाने के लिए सक्षम होना चाहता हूँ आप सभी के लिए उपयोगी के रूप में सत्र की समीक्षा 16 00:00:36,610 --> 00:00:37,973 यथासंभव। 17 00:00:37,973 --> 00:00:38,920 भयानक। 18 00:00:38,920 --> 00:00:41,650 >> तो चलो साथ में सही कूद जाने कुछ विषयों है कि हम वास्तव में 19 00:00:41,650 --> 00:00:46,980 बहुत, बहुत संक्षेप लिए कवर प्रश्नोत्तरी 0 समीक्षा सत्र में प्रश्नोत्तरी 0। 20 00:00:46,980 --> 00:00:48,840 तो लिंक सूचियों के साथ शुरू। 21 00:00:48,840 --> 00:00:52,090 तो बस आप कुछ है सुनिश्चित करें लिंक सूचियों के बारे में बुनियादी ज्ञान 22 00:00:52,090 --> 00:00:55,110 और आराम कर रहे हैं बुनियादी कार्यों में से कुछ। 23 00:00:55,110 --> 00:00:58,560 >> तो बस, की समीक्षा से जुड़े सूचियों सरणियों की तुलना में बेहतर कर रहे हैं 24 00:00:58,560 --> 00:01:01,020 वे गतिशील विकसित कर सकते हैं। 25 00:01:01,020 --> 00:01:03,300 इसलिए हम चाहते हैं कि बहुत बड़ा फायदा है। 26 00:01:03,300 --> 00:01:06,031 हम उन्हें इस्तेमाल देखा है हैश तालिकाओं में जब हम 27 00:01:06,031 --> 00:01:08,280 वास्तव में कितने पता नहीं है बातें हम चाहते करने के लिए जा रहे हैं 28 00:01:08,280 --> 00:01:10,900 हमारे डेटा संरचना में डालने के लिए। 29 00:01:10,900 --> 00:01:15,700 दुर्भाग्य से, हम के टुकड़े सभी स्मृति से अधिक लिंक सूची, 30 00:01:15,700 --> 00:01:20,820 इसलिए हम जरूरी नहीं होगा लगातार समय का उपयोग करने के लिए सक्षम 31 00:01:20,820 --> 00:01:22,502 लिंक सूची में किसी भी तत्व को। 32 00:01:22,502 --> 00:01:24,210 एक खोजने के क्रम में विशेष तत्व है, हम 33 00:01:24,210 --> 00:01:26,510 सभी पुनरावृति करने के लिए है शुरू से ही तरीका है। 34 00:01:26,510 --> 00:01:30,610 तो मन में रखने के सबसे कि बुनियादी कार्यों 1 की ओमेगा हैं। 35 00:01:30,610 --> 00:01:32,130 इसलिए डालने सिर्फ 1 लेने के लिए जा रहा है। 36 00:01:32,130 --> 00:01:37,520 मिटायें लेने के N हम के बाद से करने जा रहा है सूची से मिल जाना है। 37 00:01:37,520 --> 00:01:39,260 और खोज एन, सबसे पर, ले सकता है। 38 00:01:39,260 --> 00:01:42,330 हम ऐसा कुछ कर नहीं सकते एक लिंक सूची पर द्विआधारी खोज 39 00:01:42,330 --> 00:01:45,101 के बाद से हम नहीं कर सकते बस बेतरतीब ढंग से बीच करने के लिए कूद। 40 00:01:45,101 --> 00:01:45,600 कूल। 41 00:01:45,600 --> 00:01:48,160 42 00:01:48,160 --> 00:01:48,960 भयानक। 43 00:01:48,960 --> 00:01:50,270 >> ढेर का एक छोटा सा। 44 00:01:50,270 --> 00:01:53,980 यह, फिर से, प्रश्नोत्तरी 0 पर आया, तो आप ऐसा इसके साथ सुपर सहज होना चाहिए। 45 00:01:53,980 --> 00:01:57,210 लेकिन ढेर के लिए, हम आप से पूछना ट्रे के एक ढेर को याद करने के लिए। 46 00:01:57,210 --> 00:01:59,940 और उस में पहली बार होने जा रहा है, बाहर पिछले। 47 00:01:59,940 --> 00:02:02,272 इसलिए हम बातें हो चुकी है ढेर में, और उसके बाद 48 00:02:02,272 --> 00:02:04,980 हम कुछ लेने के लिए कोशिश कर रहे हैं हम off-- बंद popping जो फोन 49 00:02:04,980 --> 00:02:06,581 stack-- हम ऊपर से आते हैं। 50 00:02:06,581 --> 00:02:09,289 और हम कुछ करना चाहते हैं ढेर में, हम इसे आगे बढ़ाने कहते हैं। 51 00:02:09,289 --> 00:02:13,170 तो यह हमेशा आगे बढ़ रही है किया जा रहा है ट्रे के एक ढेर की तरह नीचे से। 52 00:02:13,170 --> 00:02:14,540 भयानक। 53 00:02:14,540 --> 00:02:17,607 >> हमने देखा ढेर को क्रियान्वित किया है दोनों लिंक सूचियों और सरणियों के साथ। 54 00:02:17,607 --> 00:02:19,440 आप को लागू कर रहे हैं सरणियों के साथ, आप चाहते हैं 55 00:02:19,440 --> 00:02:22,350 का ट्रैक रखने के लिए सुनिश्चित करने के लिए आकार और क्षमता दोनों। 56 00:02:22,350 --> 00:02:27,540 तो आकार चालू होने जा रहा है अपने ढेर में बातें की संख्या, 57 00:02:27,540 --> 00:02:32,900 क्षमता जबकि कुल संख्या है बातों के बारे में आप अपने ढेर में स्टोर कर सकते हैं। 58 00:02:32,900 --> 00:02:34,220 कूल। 59 00:02:34,220 --> 00:02:35,767 >> बहुत इसी तरह, हम कतारों है। 60 00:02:35,767 --> 00:02:38,850 इस मामले में, बजाय के बारे में सोच की ट्रे के एक ढेर, एक लाइन का लगता है। 61 00:02:38,850 --> 00:02:40,697 यह पहली बार में पहली बार हो रहा से बाहर जा रहा है। 62 00:02:40,697 --> 00:02:42,780 आप के लिए ऊपर अस्तर रहे हैं तो दुकान पर कुछ है, 63 00:02:42,780 --> 00:02:46,920 हमें उम्मीद है कि व्यक्ति में पहली बार है कि लाइन पहले मदद की जा रही है। 64 00:02:46,920 --> 00:02:49,350 >> इसके बजाय धक्का कह के और हम ढेर के लिए क्या पसंद पॉप, 65 00:02:49,350 --> 00:02:52,000 हम सिर्फ एन्क्यू और विपंक्ति कहते हैं। 66 00:02:52,000 --> 00:02:54,970 और फिर, अगर आप कर रहे एक सरणी के साथ इस को लागू करने, 67 00:02:54,970 --> 00:02:56,720 हम ट्रैक रखने की जरूरत का न केवल आकार 68 00:02:56,720 --> 00:03:02,390 क्षमता, लेकिन यह भी सिर, और जो हमारी लाइन के सामने होने जा रहा है। 69 00:03:02,390 --> 00:03:03,010 कूल। 70 00:03:03,010 --> 00:03:05,770 इस बात का किसी पर कोई सवाल? 71 00:03:05,770 --> 00:03:06,320 भयानक। 72 00:03:06,320 --> 00:03:07,640 सही साथ चल रहा है। 73 00:03:07,640 --> 00:03:08,564 >> ठीक है, हैश टेबल। 74 00:03:08,564 --> 00:03:10,605 यह करने के लिए शुरू होता है, जहां यहाँ है वास्तव में दिलचस्प मिलता है। 75 00:03:10,605 --> 00:03:14,150 तो एक हैश तालिका एक कार्यान्वयन है एक साहचर्य सरणी की। 76 00:03:14,150 --> 00:03:16,700 मूल रूप से तो क्या हुआ हम सब इस इनपुट है, 77 00:03:16,700 --> 00:03:18,750 और हम एक हैश को दे जो कहते हैं, समारोह, 78 00:03:18,750 --> 00:03:21,840 ठीक है, इस जहां में है हैश तालिका यह अंतर्गत आता है। 79 00:03:21,840 --> 00:03:24,860 >> सरलतम हैश समारोह तो हम सिर्फ यह कह रहा है देखा है, 80 00:03:24,860 --> 00:03:28,170 ठीक है, हम डाल करना चाहते हैं लगता है हमारे हैश तालिका में तार। 81 00:03:28,170 --> 00:03:30,870 और वास्तव में एक सरल विचार ठीक है, कहने के लिए हो सकता है, 82 00:03:30,870 --> 00:03:34,350 चलो बस द्वारा सॉर्ट जाने शब्द के पहले अक्षर। 83 00:03:34,350 --> 00:03:37,570 आप यहाँ देख सकते हैं तो, हम, केले लेने के लिए हम एक हैश समारोह के माध्यम से रखा 84 00:03:37,570 --> 00:03:40,190 और यह कि, हे कहते हैं, सूचकांक 1 पर जाना चाहिए। 85 00:03:40,190 --> 00:03:45,120 >> इसलिए हम अनिवार्य रूप से एक हैश के बारे में सोच सकते हैं अलग बाल्टी के एक समूह के रूप में मेज। 86 00:03:45,120 --> 00:03:49,880 और उन बाल्टियों में से प्रत्येक के जा रहा है एक लिंक सूची के सिर पकड़ लिए। 87 00:03:49,880 --> 00:03:55,030 और कहा कि लिंक सूची में जहां हम कर सकते है वास्तव में डेटा के विभिन्न टुकड़े डाल दिया। 88 00:03:55,030 --> 00:03:57,820 >> तो डाइविंग थोड़ा और अधिक एक हैश समारोह में, यहाँ है 89 00:03:57,820 --> 00:03:59,870 उदाहरण मैं बस हम सिर्फ इतना कहना है, जहां वर्णित है, 90 00:03:59,870 --> 00:04:02,460 ठीक है, पहले अक्षर को लेकर हम कर रहे हैं और इस शब्द का 91 00:04:02,460 --> 00:04:03,990 बाल्टी में यह ऐसा करने जा। 92 00:04:03,990 --> 00:04:08,490 तो शायद, 26 बाल्टी वहाँ हो जाएगा, वर्णमाला के प्रत्येक अक्षर के लिए एक। 93 00:04:08,490 --> 00:04:10,090 क्यों यह एक महान हैश समारोह में नहीं है? 94 00:04:10,090 --> 00:04:13,461 क्या इस गैर आदर्श बनाता है? 95 00:04:13,461 --> 00:04:13,960 हाँ। 96 00:04:13,960 --> 00:04:15,790 >> दर्शकों: आप जा रहे हैं टक्करों है। 97 00:04:15,790 --> 00:04:16,390 >> हन्ना BLUMBERG: हाँ, बिल्कुल। 98 00:04:16,390 --> 00:04:18,000 आप टक्करों के लिए जा रहे हैं। 99 00:04:18,000 --> 00:04:18,954 तो यह है कि एक बात है। 100 00:04:18,954 --> 00:04:21,620 हम कैसे कर सकते हैं और हम के बारे में बात करेंगे बस एक पल में टकराव तय है। 101 00:04:21,620 --> 00:04:23,980 इस के साथ एक और समस्या विशेष हैश समारोह 102 00:04:23,980 --> 00:04:25,980 हमारे विभिन्न यह है कि बाल्टी होने जा रहे हैं 103 00:04:25,980 --> 00:04:28,960 का सुंदर काफी अलग आकार। 104 00:04:28,960 --> 00:04:33,840 >> हम एक पूरी बहुत कुछ पता है कि वहाँ एक्स से एक साथ शुरू है कि अधिक शब्द, 105 00:04:33,840 --> 00:04:38,980 इसलिए हम बहुत है जा रहे हैं हमारे हैश तालिका में असंतुलित बाल्टी। 106 00:04:38,980 --> 00:04:40,050 कूल। 107 00:04:40,050 --> 00:04:41,340 तो हाँ, के लिए वापस मिल जाने टकराव के बिंदु। 108 00:04:41,340 --> 00:04:42,900 एक टकराव है कि अगर वहाँ हम क्या करते हैं? 109 00:04:42,900 --> 00:04:44,490 >> हम कुछ अलग विकल्प हैं। 110 00:04:44,490 --> 00:04:47,600 तो एक है, इसलिए हम कोशिश कर रहे हैं लगता है हमारे हैश तालिका में बेरी रख दिया। 111 00:04:47,600 --> 00:04:50,370 और हम ओह, हम चाहते हैं, देखते हैं सूचकांक 1 में डाल दिया है, 112 00:04:50,370 --> 00:04:52,070 लेकिन केले वहां पहले से ही रहता है। 113 00:04:52,070 --> 00:04:53,110 हम क्या करने जा रहे हैं? 114 00:04:53,110 --> 00:04:54,560 हम दो मुख्य विकल्प हैं। 115 00:04:54,560 --> 00:04:58,050 >> नंबर एक ठीक है, हम कह सकते है, सूचकांक 1 में कोई जगह नहीं है, 116 00:04:58,050 --> 00:05:03,210 लेकिन हम बस के माध्यम से देख रख देना हम एक और खुली जगह पा सकते हैं जब तक। 117 00:05:03,210 --> 00:05:08,490 इसलिए हम, ठीक है, कह देंगे की जगह 3 में डाल दिया। 118 00:05:08,490 --> 00:05:09,240 यही कारण है कि एक ही विकल्प है। 119 00:05:09,240 --> 00:05:11,470 यही कारण है कि जांच कर रही रैखिक कहा जाता है। 120 00:05:11,470 --> 00:05:15,500 >> और एक दूसरा विकल्प है, ठीक है, ठीक है, कह रही है चलो बस इन बाल्टियों में से प्रत्येक के कर देना 121 00:05:15,500 --> 00:05:17,470 लिंक सूचियों के प्रमुखों को किया जाना है। 122 00:05:17,470 --> 00:05:21,910 और यह और भी है, तो ठीक है एक बाल्टी में एक बात से। 123 00:05:21,910 --> 00:05:23,820 हम सिर्फ करने के लिए जा रहे हैं सामने पर संलग्न। 124 00:05:23,820 --> 00:05:26,032 यहाँ तो आप ठीक हैं, देख सकते हैं, हम बेरी जब डाला, हम 125 00:05:26,032 --> 00:05:28,240 बस की तरह, केला ले लिया एक छोटा सा पर इसे धक्का दिया 126 00:05:28,240 --> 00:05:29,842 और वहाँ में एक बेर फेंक दिया। 127 00:05:29,842 --> 00:05:31,050 और वह भी पूरी तरह से ठीक है। 128 00:05:31,050 --> 00:05:32,830 यह अलग श्रृंखलन कहा जाता है। 129 00:05:32,830 --> 00:05:38,100 आप के रूप में की तरह की तरह इस के बारे में सोच सकते हैं लिंक सूचियों को सिर की एक सरणी। 130 00:05:38,100 --> 00:05:41,950 हैश पर कोई प्रश्न टेबल, हैश कार्यों? 131 00:05:41,950 --> 00:05:44,290 भयानक। 132 00:05:44,290 --> 00:05:45,470 >> पेड़ों और कोशिश करता है। 133 00:05:45,470 --> 00:05:47,287 तो एक पेड़ के किसी भी प्रकार है डेटा संरचना की 134 00:05:47,287 --> 00:05:49,453 जिसमें किसी प्रकार है पदानुक्रम या किसी प्रकार की 135 00:05:49,453 --> 00:05:51,247 की अपनी अलग-अलग वस्तुओं के लिए रैंकिंग। 136 00:05:51,247 --> 00:05:53,580 और इस सुपर बन जाएगा स्पष्ट है कि हम एक उदाहरण देखते हैं। 137 00:05:53,580 --> 00:05:56,960 और हम साथ-साथ, कोशिश करता देखा हैश तालिका के साथ, pset5-- में 138 00:05:56,960 --> 00:06:00,700 जो, फिर से, पूरी तरह से निष्पक्ष खेल यह एक और डेटा के रूप में quiz-- के लिए 139 00:06:00,700 --> 00:06:03,110 संरचनाओं कि हम कर सकते हैं अलग अलग चीजों की दुकान। 140 00:06:03,110 --> 00:06:06,782 शब्दकोश के मामले में, हम शब्दों का एक गुच्छा संग्रहीत। 141 00:06:06,782 --> 00:06:08,240 तो चलो कुछ पेड़ पर एक नजर डालते हैं। 142 00:06:08,240 --> 00:06:10,190 तो यह एक पेड़ का एक उदाहरण है। 143 00:06:10,190 --> 00:06:13,105 यह संरचना का एक प्रकार है सौपानिक संरचना है कि, 144 00:06:13,105 --> 00:06:15,920 आप देख सकते हैं कि जहां शीर्ष पर यह 1 नोड 145 00:06:15,920 --> 00:06:20,750 , 2 और 3 से ऊपर रैंक के कुछ प्रकार है जो कर रहे हैं, 4, 5 और 6 और 7 से ऊपर, 146 00:06:20,750 --> 00:06:22,860 जो 8 और 9 से ऊपर हैं। 147 00:06:22,860 --> 00:06:25,210 वह सब है तो हम एक से मतलब पेड़, कर सकते हैं आप तो बस प्रकार 148 00:06:25,210 --> 00:06:26,660 अपने सिर में इस तस्वीर। 149 00:06:26,660 --> 00:06:29,050 >> अब, हम की एक जोड़ी है अधिक विशिष्ट पेड़। 150 00:06:29,050 --> 00:06:31,070 तो एक उदाहरण के एक द्विआधारी पेड़ है। 151 00:06:31,070 --> 00:06:33,290 और एक द्विआधारी पेड़ है, फिर से, बस होने जा रहा 152 00:06:33,290 --> 00:06:37,040 किसी प्रकार के साथ एक डेटा संरचना पदानुक्रम, लेकिन नोड्स के प्रत्येक 153 00:06:37,040 --> 00:06:38,650 सबसे दो बच्चों पर पड़ सकता है। 154 00:06:38,650 --> 00:06:41,530 शब्द द्विआधारी से आता है। 155 00:06:41,530 --> 00:06:43,410 तो यह एक द्विआधारी पेड़ का एक उदाहरण है। 156 00:06:43,410 --> 00:06:45,720 तो यह है कि पेड़ के एक छोटे वर्ग है। 157 00:06:45,720 --> 00:06:48,960 >> अब चलो भी अधिक विशिष्ट हो और बाइनरी trees-- द्विआधारी खोज के बारे में बात 158 00:06:48,960 --> 00:06:51,310 पेड़, बल्कि। 159 00:06:51,310 --> 00:06:56,430 तो यहाँ विचार करता ही नहीं है हर नोड, सबसे दो बच्चों पर है 160 00:06:56,430 --> 00:07:00,300 लेकिन करने के लिए बच्चों के सभी बाएं छोटे होने जा रहे हैं 161 00:07:00,300 --> 00:07:03,450 और करने के लिए बच्चों के सभी सही बड़ा होने जा रहे हैं। 162 00:07:03,450 --> 00:07:05,890 तो बस में नोटिस हमारी द्विआधारी पेड़ नहीं है, 163 00:07:05,890 --> 00:07:08,650 संख्याओं के बीच कोई संबंध नहीं है। 164 00:07:08,650 --> 00:07:12,990 लेकिन हमारे द्विआधारी खोज में पेड़, हम देखते हैं, ठीक है, यहाँ 44 है। 165 00:07:12,990 --> 00:07:17,080 और 44 के बाईं ओर हर नंबर है सही करने के लिए छोटे और सब कुछ 166 00:07:17,080 --> 00:07:17,920 बड़ा है। 167 00:07:17,920 --> 00:07:20,130 >> और कहा कि हर पर रखती है पेड़ के स्तर पर। 168 00:07:20,130 --> 00:07:24,810 तो यहाँ, इस से भी छोटा होता है 22 और यह 22 से भी बड़ा है। 169 00:07:24,810 --> 00:07:26,390 और कहा कि द्विआधारी खोज वृक्ष है। 170 00:07:26,390 --> 00:07:28,900 हम यह क्यों कहा जाता है लगता है एक द्विआधारी खोज वृक्ष? 171 00:07:28,900 --> 00:07:30,651 क्या एल्गोरिथ्म यह की याद दिलाती है? 172 00:07:30,651 --> 00:07:31,650 दर्शकों: बाइनरी खोज। 173 00:07:31,650 --> 00:07:32,480 हन्ना BLUMBERG: बाइनरी खोज। 174 00:07:32,480 --> 00:07:35,150 आप एक के लिए देख रहे हैं क्योंकि इस पेड़ में विशेष नंबर, 175 00:07:35,150 --> 00:07:38,800 हर बिंदु पर, तुम बस दस्तक कर सकते हैं महान है जो पेड़, के बंद आधा। 176 00:07:38,800 --> 00:07:43,800 और इतना है कि हमें कुछ देने के लिए जा रहा है कि द्विआधारी खोज की तरह एक बहुत लग रहा है। 177 00:07:43,800 --> 00:07:45,870 कोई सवाल? 178 00:07:45,870 --> 00:07:47,570 ठीक है, शांत। 179 00:07:47,570 --> 00:07:48,560 >> ठीक है, कोशिश करता है। 180 00:07:48,560 --> 00:07:49,657 हर कोई पसंदीदा। 181 00:07:49,657 --> 00:07:51,990 तो यह उदाहरण है कि हम कक्षा में एक गुच्छा देखा है। 182 00:07:51,990 --> 00:07:54,710 और फिर, यह सिर्फ एक और है हम डाटा स्टोर कर सकते हैं। 183 00:07:54,710 --> 00:07:57,530 शब्दकोश के मामले में, फिर से, इस बस तार होने जा रहा है। 184 00:07:57,530 --> 00:08:00,870 तो चलो वास्तव में क्या यह देखते हैं एक से थोड़ा कम स्तर पर की तरह लग रहा है। 185 00:08:00,870 --> 00:08:03,690 >> तो चलो एक नजर डालते हैं एक Trie में एक नोड पर। 186 00:08:03,690 --> 00:08:07,532 और हम ठीक है, वहाँ जा रहा है, देखते हैं एक बूलियन और एक नोड हो सकता है, 187 00:08:07,532 --> 00:08:09,170 एक नोड के लिए एक सूचक। 188 00:08:09,170 --> 00:08:11,400 और हम देखते हैं कि बूलियन is_word कहा जाता है। 189 00:08:11,400 --> 00:08:13,490 तो अनिवार्य रूप से, कि अनुरूप करने के लिए जा रहा 190 00:08:13,490 --> 00:08:16,750 इन छोटे त्रिकोण जो आप यहाँ मिल गया है, कहते हैं, 191 00:08:16,750 --> 00:08:19,100 आप एक पूरा शब्द पाया है। 192 00:08:19,100 --> 00:08:23,670 >> हम जानते हैं कि "ट्यूरिंग" पर यहां एक पूरा शब्द है, 193 00:08:23,670 --> 00:08:28,030 जबकि सिर्फ टी यू-आर में एक शब्द भी नहीं है हम उस छोटे से डेल्टा नहीं दिख रहा है। 194 00:08:28,030 --> 00:08:31,440 और उस छोटे डेल्टा, फिर से, इस is_word से मेल खाती है, 195 00:08:31,440 --> 00:08:34,480 इस बूलियन is_word। 196 00:08:34,480 --> 00:08:36,320 और फिर हम बच्चों की एक सरणी है। 197 00:08:36,320 --> 00:08:39,860 आप प्रत्येक स्तर पर तो एक विशेष नोड है, 198 00:08:39,860 --> 00:08:42,470 और एक करने के लिए कि नोड अंक पूरी वर्णमाला की सरणी। 199 00:08:42,470 --> 00:08:44,346 >> तो क्या आप फिर से देख सकते हैं, इस picture-- में मैं कर रहा हूँ 200 00:08:44,346 --> 00:08:48,170 वापस कूद रखने के लिए जा रहा है और forth-- कि शीर्ष पर है कि सरणी 201 00:08:48,170 --> 00:08:51,640 अलग से एक गुच्छा है इसे दूर आ रहा नोड्स। 202 00:08:51,640 --> 00:08:57,140 आप चाहते हैं तो यह 26 या 27 है एक अतिरिक्त चरित्र शामिल करने के लिए। 203 00:08:57,140 --> 00:09:01,320 और यह हमें एक देता है हमारे डेटा स्टोर करने के लिए रास्ता 204 00:09:01,320 --> 00:09:04,450 पर देखा जा सकता है कि एक तरह से कि आप सुपर फास्ट देख सकते हैं। 205 00:09:04,450 --> 00:09:06,650 एक Trie के लिए देखने का समय क्या है? 206 00:09:06,650 --> 00:09:07,970 >> दर्शकों: [अश्राव्य]। 207 00:09:07,970 --> 00:09:08,300 >> हन्ना BLUMBERG: हाँ। 208 00:09:08,300 --> 00:09:09,550 सिद्धांत रूप में, यह लगातार समय है। 209 00:09:09,550 --> 00:09:13,230 यह केवल के आकार के होने जा रहा है आप को देखना चाहता हूँ कि शब्द। 210 00:09:13,230 --> 00:09:15,950 हम एक zillion जोड़ने यहां तक ​​कि अगर हमारे Trie करने के लिए अधिक शब्द, 211 00:09:15,950 --> 00:09:18,160 यह हमें लेने के लिए नहीं जा रहा है किसी भी लंबे समय निर्धारित करने के लिए 212 00:09:18,160 --> 00:09:19,690 एक भी शब्द Trie में है। 213 00:09:19,690 --> 00:09:21,412 तो यह है कि वास्तव में अच्छा है। 214 00:09:21,412 --> 00:09:23,697 >> दर्शकों: बस क्या आप उस सरणी से प्रारंभ? 215 00:09:23,697 --> 00:09:24,780 आप एक बिंदु या दो याद किया। 216 00:09:24,780 --> 00:09:26,130 आप बस के बारे में बात कर सकते हैं एक पल के लिए है? 217 00:09:26,130 --> 00:09:26,680 >> हन्ना BLUMBERG: यकीन है, बिल्कुल। 218 00:09:26,680 --> 00:09:27,590 अच्छा प्रश्न। 219 00:09:27,590 --> 00:09:31,140 सवाल है कि हम था, है कि एक सरणी है 220 00:09:31,140 --> 00:09:34,180 के रूप में नोड स्टार के लिए जा ठीक है, सिर्फ नोड करने का विरोध किया? 221 00:09:34,180 --> 00:09:35,180 कूल। 222 00:09:35,180 --> 00:09:37,990 यहाँ तो हम क्या कह रहे हैं हमारे सरणी बस है 223 00:09:37,990 --> 00:09:40,035 अन्य सरणियों के लिए संकेत किया जा रहा है। 224 00:09:40,035 --> 00:09:42,910 तो यह एक तरह से यह essentially-- है इस तरह से एक लिंक सूची की तरह लगता है 225 00:09:42,910 --> 00:09:46,620 जहां इन बच्चों में से प्रत्येक बस अगले नोड के लिए बात। 226 00:09:46,620 --> 00:09:49,030 >> और वैसे भी है कि हम वास्तव में ठीक है, अरे, निर्धारित करते हैं, 227 00:09:49,030 --> 00:09:52,320 हम एक पूरे के माध्यम से दोहराया गया है, शब्द, शब्दकोश में इस शब्द है, 228 00:09:52,320 --> 00:09:54,476 हम सिर्फ इस is_word की जाँच करें। 229 00:09:54,476 --> 00:09:55,100 बड़ा सवाल है। 230 00:09:55,100 --> 00:09:55,675 हाँ। 231 00:09:55,675 --> 00:09:56,216 दर्शकों: ठीक है। 232 00:09:56,216 --> 00:09:57,470 तो Trie के लिए क्रम क्या था? 233 00:09:57,470 --> 00:09:58,386 >> हन्ना BLUMBERG: यकीन है। 234 00:09:58,386 --> 00:10:01,852 के लिए एक Trie के लिए क्रम तो देखने लगातार समय होने जा रहा है। 235 00:10:01,852 --> 00:10:04,310 तो यह सिर्फ होने जा रहा है शब्द में पत्र की संख्या। 236 00:10:04,310 --> 00:10:06,310 उस पर निर्भर नहीं है शब्दकोश का आकार 237 00:10:06,310 --> 00:10:09,510 या डेटा संरचना के आकार। 238 00:10:09,510 --> 00:10:12,170 यहाँ तो एक से थोड़ा सरल उदाहरण है। 239 00:10:12,170 --> 00:10:15,430 >> इस मामले में, आप देख सकते हैं कि शब्द बल्ला शब्दकोश में है 240 00:10:15,430 --> 00:10:18,900 और आप ज़ूम है, लेकिन आप चिड़ियाघर की तरह कुछ भी नहीं है। 241 00:10:18,900 --> 00:10:20,050 हम कैसे चिड़ियाघर करना होगा? 242 00:10:20,050 --> 00:10:24,276 हम चिड़ियाघर में जोड़ने के लिए कैसे करते हैं हमारी शब्दकोश, हमारे Trie करने के लिए? 243 00:10:24,276 --> 00:10:24,776 हाँ। 244 00:10:24,776 --> 00:10:27,014 >> दर्शकों: is_word बनाओ सच [सुनाई] के लिए। 245 00:10:27,014 --> 00:10:27,930 हन्ना BLUMBERG: अच्छा। 246 00:10:27,930 --> 00:10:31,731 इसलिए हम जेड-ओ-ओ कह सकता हूँ, और फिर हम चाहते हैं के रूप में अच्छी तरह से है कि बॉक्स को बंद करना चाहते हैं। 247 00:10:31,731 --> 00:10:32,230 अच्छा है। 248 00:10:32,230 --> 00:10:35,160 249 00:10:35,160 --> 00:10:37,930 बहुत संक्षेप में तुलना करते हैं हैश टेबल बनाम कोशिश करता है। 250 00:10:37,930 --> 00:10:39,770 कोशिश करता है वास्तव में बहुत अच्छा कर रहे हैं क्योंकि, जैसा कि हमने कहा, 251 00:10:39,770 --> 00:10:41,610 वे लगातार समय देखने प्रदान करते हैं। 252 00:10:41,610 --> 00:10:44,285 लेकिन बहुत बड़ा नुकसान वे humongous रहे है। 253 00:10:44,285 --> 00:10:46,160 तुम समझ प्राप्त कर सकते हैं, यहां तक ​​कि यह देख कर, 254 00:10:46,160 --> 00:10:48,454 इसे लेने के लिए जा रहा है कि स्मृति की एक बड़ी राशि है। 255 00:10:48,454 --> 00:10:50,620 इसलिए वे ज्यादा होने के लिए जा रहे हैं हैश तालिकाओं की तुलना में बड़ा है, 256 00:10:50,620 --> 00:10:52,270 लेकिन वे देने के लिए जा रहे हैं हमें बहुत तेजी से देखने गुना। 257 00:10:52,270 --> 00:10:54,478 तो यह है कि की तरह है आपके tradeoff, आप के बारे में परवाह है, क्या 258 00:10:54,478 --> 00:10:57,350 यह गति या स्मृति है या नहीं। 259 00:10:57,350 --> 00:11:02,251 इस बात का किसी पर कोई प्रश्न, सी डेटा संरचनाओं के सभी। 260 00:11:02,251 --> 00:11:02,750 खूबसूरत। 261 00:11:02,750 --> 00:11:03,250 ठीक है। 262 00:11:03,250 --> 00:11:07,322 हम एक छोटे से करने के लिए पर स्थानांतरित करने के लिए जा रहे हैं मारिया के साथ वेब विकास का एक सा है। 263 00:11:07,322 --> 00:11:08,280 मारिया ZLATKOVA: लवली। 264 00:11:08,280 --> 00:11:09,036 ठीक है। 265 00:11:09,036 --> 00:11:10,380 >> हन्ना BLUMBERG: आप अपने लैपटॉप का उपयोग कर सकते हैं। 266 00:11:10,380 --> 00:11:11,255 >> मारिया ZLATKOVA: अच्छा। 267 00:11:11,255 --> 00:11:13,320 268 00:11:13,320 --> 00:11:14,912 अच्छा ठीक है। 269 00:11:14,912 --> 00:11:17,120 हम वेब के लिए अब कदम के रूप में विकास, हम एक छोटे से बात की 270 00:11:17,120 --> 00:11:20,680 बदलते अनुमतियों के बारे में फाइल और निर्देशिका की 271 00:11:20,680 --> 00:11:24,190 इतना है कि वे सुलभ हो सकता है अन्य उपयोगकर्ताओं के लिए, दुनिया के लिए, 272 00:11:24,190 --> 00:11:28,640 और इतना है कि हम कैसे देख सकते हैं मूल रूप से हम उन्हें व्यक्त कर सकते हैं 273 00:11:28,640 --> 00:11:32,600 हम वेबसाइटों की तरह चीजों का विकास जब कि हम ज्यादातर कर दिया गया है। 274 00:11:32,600 --> 00:11:36,400 >> इसलिए हम chmod कमांड देखा, जो मूल रूप से, परिवर्तन विधा है। 275 00:11:36,400 --> 00:11:39,300 यही कारण है कि एक लिनक्स कमांड है और यह पहुँच अनुमतियाँ बदल जाता है 276 00:11:39,300 --> 00:11:40,410 फाइल सिस्टम वस्तुओं की। 277 00:11:40,410 --> 00:11:43,370 और एक फाइल सिस्टम वस्तु है सिर्फ एक निर्देशिका, एक फ़ाइल, 278 00:11:43,370 --> 00:11:46,810 कुछ भी है कि आप कर सकते हैं की अनुमतियाँ बदल जाते हैं। 279 00:11:46,810 --> 00:11:53,750 >> तो फाइल अनुमति, देखने के लिए हम आदेश रास, सूची, -l टाइप करें। 280 00:11:53,750 --> 00:11:56,500 और हम उस टाइप करते हैं, हम आम तौर पर कुछ अनुमतियाँ देखने 281 00:11:56,500 --> 00:11:59,660 कि इस तरह की तरह देखो एक निर्देशिका के नाम के सामने। 282 00:11:59,660 --> 00:12:01,260 तो घ निर्देशिका को दर्शाता है। 283 00:12:01,260 --> 00:12:05,930 और फिर हम तीन हैं तीनों मूल रूप से उस 284 00:12:05,930 --> 00:12:11,675 या तो की अनुमतियों के लिए देखें एक उपयोगकर्ता, एक समूह, या दुनिया। 285 00:12:11,675 --> 00:12:16,490 >> अनुमतियों के प्रकार है कि हम कर सकते हैं लोगों के इन तीन समूहों के लिए है 286 00:12:16,490 --> 00:12:20,830 के लिए डब्ल्यू पढ़ने के लिए या तो आर, कर रहे हैं लिखते हैं, और अमल के लिए एक्स। 287 00:12:20,830 --> 00:12:23,650 और हम के लिए उन लोगों के हो सकते हैं समूह और दुनिया के रूप में अच्छी तरह से। 288 00:12:23,650 --> 00:12:26,940 मुश्किल बात यह है कि कभी कभी होता है हम chmod कमांड टाइप करते हैं, 289 00:12:26,940 --> 00:12:32,960 हम कुछ नंबर टाइप करेंगे कि तीन बिट्स शामिल थे। 290 00:12:32,960 --> 00:12:36,990 इसलिए हम की तरह कर सकता है 777 और कहा कि मूल रूप से 291 00:12:36,990 --> 00:12:40,450 कहा कि मूल्य में भेजा इन तीनों में से प्रत्येक की 292 00:12:40,450 --> 00:12:45,060 आर 4 का उल्लेख होगा, क्योंकि डब्ल्यू होगा 2 का उल्लेख है, और एक्स 1 का उल्लेख होगा, 293 00:12:45,060 --> 00:12:50,020 इसलिए, नंबरों में से प्रत्येक के लिए कहा जब एक संचयी नंबर करने के लिए नीचे आ जाएगा 294 00:12:50,020 --> 00:12:52,750 0 और 7 के बीच एक संचयी मूल्य के लिए। 295 00:12:52,750 --> 00:12:55,150 इसलिए हम भी 0 हो सकता था सभी में कोई अनुमतियों के लिए। 296 00:12:55,150 --> 00:12:58,200 और कहा कि मूल रूप से हमें देना होगा या तो उपयोगकर्ता के लिए अनुमतियाँ, 297 00:12:58,200 --> 00:13:00,450 समूह, या दुनिया। 298 00:13:00,450 --> 00:13:02,620 अब तक इस पर कोई सवाल? 299 00:13:02,620 --> 00:13:05,331 >> दर्शकों: आप पढ़ कहा कि 4 था? 300 00:13:05,331 --> 00:13:06,164 मारिया ZLATKOVA: हाँ। 301 00:13:06,164 --> 00:13:07,568 दर्शकों: [अश्राव्य]। 302 00:13:07,568 --> 00:13:08,504 हन्ना BLUMBERG: हाँ। 303 00:13:08,504 --> 00:13:11,790 दर्शकों: और फिर उन सभी को जोड़कर दूसरों को अपने नंबर का संकेत होता है। 304 00:13:11,790 --> 00:13:12,665 मारिया ZLATKOVA: हाँ। 305 00:13:12,665 --> 00:13:14,970 हाँ। 306 00:13:14,970 --> 00:13:17,810 इन महान सवाल कर रहे हैं। 307 00:13:17,810 --> 00:13:20,490 लवली। 308 00:13:20,490 --> 00:13:25,340 अगला, हम एचटीएमएल और एक में कूद गए वेब विकास के बारे में थोड़ा और अधिक। 309 00:13:25,340 --> 00:13:27,990 तो एचटीएमएल बस का अर्थ हाइपर टेक्स्ट मार्कअप लैंग्वेज। 310 00:13:27,990 --> 00:13:30,460 और कहा कि मार्कअप है एक मानक है कि भाषा 311 00:13:30,460 --> 00:13:32,720 यह वेब पृष्ठों को बनाने के लिए उपयोग किया जाता है। 312 00:13:32,720 --> 00:13:35,750 >> यह एक मार्कअप भाषा कहा जाता है यह वास्तव में संकलित नहीं है क्योंकि। 313 00:13:35,750 --> 00:13:40,310 यह कैसे कुछ कोड होना चाहिए नहीं कहना है निष्पादित या ऐसा कुछ भी हो। 314 00:13:40,310 --> 00:13:44,800 यह सिर्फ रूपरेखा बनाती है और कैसे एक वेब का वर्णन 315 00:13:44,800 --> 00:13:46,840 पेज की स्थापना की जानी चाहिए इसके तत्वों में से प्रत्येक के साथ 316 00:13:46,840 --> 00:13:48,460 और वे उपयोगकर्ता के लिए कैसे देखना चाहिए। 317 00:13:48,460 --> 00:13:53,090 318 00:13:53,090 --> 00:13:57,110 >> एचटीएमएल टैग में से कुछ है कि हम खत्म हो गया था अनुसरण कर रहे हैं। 319 00:13:57,110 --> 00:14:00,500 हमारे HTML दस्तावेजों के सभी DOCTYPE HTML के साथ शुरू कर दिया। 320 00:14:00,500 --> 00:14:02,550 तो फिर हम हमेशा एचटीएमएल टैग है। 321 00:14:02,550 --> 00:14:03,930 हम एक सिर और एक शरीर है। 322 00:14:03,930 --> 00:14:07,890 और यह HTML है कि यह महत्वपूर्ण है नेस्टेड संरचना के इस तरह के 323 00:14:07,890 --> 00:14:09,280 यह बहुत स्पष्ट है क्योंकि। 324 00:14:09,280 --> 00:14:13,200 और फिर यह बहुत ही स्पष्ट हो जाता है जब हम वास्तव में करीब टैग खोलने के लिए और करने की जरूरत है। 325 00:14:13,200 --> 00:14:18,400 और हम हमेशा बंद करने की जरूरत हम खोल दिया है कि टैग। 326 00:14:18,400 --> 00:14:23,170 >> और यहाँ हम प्रकार के कुछ है हम चाहते हैं कि आगे चीजों की। 327 00:14:23,170 --> 00:14:26,580 तो हमारे पास है, उदाहरण के लिए, CS50 के शीर्षक। 328 00:14:26,580 --> 00:14:31,980 और फिर हम वास्तव में एक शैली पत्रक लिंक कर सकते हैं 329 00:14:31,980 --> 00:14:34,030 कि हम हमारी वेबसाइट शैली कैसे परिभाषित करता है। 330 00:14:34,030 --> 00:14:35,650 यही कारण है कि सीएसएस है। 331 00:14:35,650 --> 00:14:39,320 हम में इसे खत्म हो जाना करने के लिए जा रहे हैं के रूप में अच्छी तरह से स्लाइड के अगले दो। 332 00:14:39,320 --> 00:14:42,580 >> शरीर के भीतर, हम सेट कुछ वर्गों और आईडी। 333 00:14:42,580 --> 00:14:45,860 और एक चेतावनी के रूप में, फिर से, आईडी के अद्वितीय और कक्षाएं हैं 334 00:14:45,860 --> 00:14:47,390 कई मदों को सौंपा जा सकता है। 335 00:14:47,390 --> 00:14:52,110 और कहा कि सिर्फ मतलब है कि हम वर्गों और आईडी का उपयोग कर सकते हैं 336 00:14:52,110 --> 00:14:55,860 इसलिए अन्य structures-- भीतर, के लिए उदाहरण के लिए, सीएसएस फ़ाइलों या शैली के भीतर 337 00:14:55,860 --> 00:15:00,940 विशिष्ट तत्वों का उल्लेख करने के sheets-- और मूल रूप से हम शैली करना चाहते हैं का कहना है कि 338 00:15:00,940 --> 00:15:03,280 या कुछ तत्व डिजाइन कुछ खास तरह से। 339 00:15:03,280 --> 00:15:06,440 और हम ने उन्हें देखें उनके आईडी और वर्गों। 340 00:15:06,440 --> 00:15:09,870 और हम भी उल्लेख कर सकते हैं साथ ही साथ टैग द्वारा अलग अलग चीजें हैं, 341 00:15:09,870 --> 00:15:13,830 लेकिन आईडी और कक्षाएं सिर्फ हमें कुछ दे बहुमुखी प्रतिभा और विशेष रूप से क्या हम 342 00:15:13,830 --> 00:15:15,850 उल्लेख करने के लिए करना चाहते हैं। 343 00:15:15,850 --> 00:15:19,620 >> तो सिर्फ एक उदाहरण है। 344 00:15:19,620 --> 00:15:22,730 हम भीतर फिर से कर सकते हैं, एक सीएसएस फ़ाइल जहां हम 345 00:15:22,730 --> 00:15:25,770 कुछ परिभाषित करना चाहते हैं style-- रंग, फ़ॉन्ट तो, 346 00:15:25,770 --> 00:15:30,340 और सामान हम कर सकते हैं that-- की तरह एक शरीर के लिए शैली को परिभाषित। 347 00:15:30,340 --> 00:15:32,640 तो यह है कि यह परिभाषित करेगा पूरे शरीर टैग के लिए। 348 00:15:32,640 --> 00:15:36,160 लेकिन तब हम भी परिभाषित कर सकते हैं एक #title के लिए एक शैली। 349 00:15:36,160 --> 00:15:40,390 और फिर, हैशटैग को दर्शाता है हमारी आईडी और डॉट हमारे वर्ग को दर्शाता है। 350 00:15:40,390 --> 00:15:44,760 >> और फिर .info के लिए, हम यह भी कुछ गुण सेट कर सकते हैं। 351 00:15:44,760 --> 00:15:49,750 हम वापस जाने के लिए जब और फिर, हम था हमारे कक्षा की जानकारी है और हमारे आईडी शीर्षक बुलाया। 352 00:15:49,750 --> 00:15:53,422 और हम हम उल्लेख है कि देख सकते हैं उन्हें #title और .info द्वारा। 353 00:15:53,422 --> 00:15:55,380 दर्शकों: आप कहेंगे हैशटैग [? मुझे गोद ले लो? ?] 354 00:15:55,380 --> 00:15:55,725 मारिया ZLATKOVA: क्षमा करें? 355 00:15:55,725 --> 00:15:58,120 दर्शकों: आप कहेंगे हैशटैग [? मुझे गोद ले लो? ?] 356 00:15:58,120 --> 00:16:01,400 मारिया ZLATKOVA: हैशटैग आईडी है, तो इसका मतलब है #title 357 00:16:01,400 --> 00:16:07,890 जो कुछ तत्वों को संदर्भित करता है शीर्षक नामक इस आईडी है। 358 00:16:07,890 --> 00:16:10,735 और फिर डॉट एक वर्ग को दर्शाता है। 359 00:16:10,735 --> 00:16:14,590 तो .info इस तत्व को संदर्भित करता है यह वर्ग जानकारी है क्योंकि। 360 00:16:14,590 --> 00:16:15,090 हाँ। 361 00:16:15,090 --> 00:16:17,905 >> दर्शकों: क्यों तुम करते हो एचटीएमएल में उन्हें अलग? 362 00:16:17,905 --> 00:16:20,985 क्यों आप कुछ बातें कर रहे हैं कहते हैं आईडी और कुछ बातें वर्ग के हैं? 363 00:16:20,985 --> 00:16:22,610 मारिया ZLATKOVA: यह you-- करने के लिए अभी तक है 364 00:16:22,610 --> 00:16:24,151 हन्ना BLUMBERG सवाल दोहराएँ। 365 00:16:24,151 --> 00:16:25,370 मारिया ZLATKOVA: ओह, माफ करना। 366 00:16:25,370 --> 00:16:29,480 हम क्यों कुछ तत्वों भेद है आईडी और वर्गों के रूप में अन्य तत्वों के रूप में? 367 00:16:29,480 --> 00:16:34,760 यह इसलिए है क्योंकि यह सिर्फ है वास्तव में अक्सर एक डिजाइन पसंद। 368 00:16:34,760 --> 00:16:38,520 यह आप का एक बहुत कुछ देता है होने में बहुमुखी प्रतिभा 369 00:16:38,520 --> 00:16:43,250 मैं इस विशेष आइटम चाहता हूँ कहने के लिए सक्षम वे चाहते हैं क्योंकि इस आईडी के लिए है 370 00:16:43,250 --> 00:16:45,300 चीजों की एक बहुत कुछ करने की यह, और मैं साथ ही 371 00:16:45,300 --> 00:16:50,010 एक शैली को परिभाषित करना चाहते हैं, खास शैली उस आइटम के लिए या रंग जो भी हो। 372 00:16:50,010 --> 00:16:52,630 और वैसे भी ऐसा करने के लिए बस इसे एक आईडी दे रही है। 373 00:16:52,630 --> 00:16:55,060 >> और फिर अगर मैं चाहता हूँ के लिए है विभिन्न मदों की एक जोड़ी 374 00:16:55,060 --> 00:16:58,940 होने के बजाय, कि जा रहा है और their-- की स्थापना 375 00:16:58,940 --> 00:17:03,840 बजाय द्वारा इसे करने का टैग टैग होगा क्योंकि 376 00:17:03,840 --> 00:17:07,369 पूरे टैग के लिए सेल सेट हर समय के लिए है कि टैग प्रयोग किया जाता है, 377 00:17:07,369 --> 00:17:09,740 आप कई मदों के लिए एक वर्ग सेट कर सकते हैं। 378 00:17:09,740 --> 00:17:15,109 और फिर बस उस वर्ग तक पहुंचने के लिए और कहते हैं मैं इस वर्ग तरीका है कि शैली के लिए चाहते हैं। 379 00:17:15,109 --> 00:17:17,579 >> और फिर, वर्ग कर सकते हैं कई विभिन्न मदों होना 380 00:17:17,579 --> 00:17:21,150 और आईडी अनूठा हो गया है। 381 00:17:21,150 --> 00:17:21,849 महान प्रश्न। 382 00:17:21,849 --> 00:17:25,339 कोई ओर प्रश्न? 383 00:17:25,339 --> 00:17:26,220 ठीक है, बहुत बढ़िया। 384 00:17:26,220 --> 00:17:30,680 385 00:17:30,680 --> 00:17:35,330 फिर, यह कैसे इन चयनकर्ताओं है हैशटैग के साथ, सीएसएस में संदर्भित कर रहे हैं, 386 00:17:35,330 --> 00:17:40,031 डॉट के साथ, या के लिए कुछ भी बिना कुछ टैग की शैली बताए, 387 00:17:40,031 --> 00:17:40,530 शरीर की तरह। 388 00:17:40,530 --> 00:17:43,500 389 00:17:43,500 --> 00:17:47,860 और यहाँ हम सामान्य है यह कैसे किया जाता का सिंटेक्स। 390 00:17:47,860 --> 00:17:52,830 391 00:17:52,830 --> 00:17:55,680 >> कुछ सबसे अच्छा दोहराने के लिए एचटीएमएल और सीएसएस के लिए प्रथाओं, 392 00:17:55,680 --> 00:17:59,170 हम करने के लिए, फिर से, करीब सभी की जरूरत है हम है कि खुले हैं एचटीएमएल टैग। 393 00:17:59,170 --> 00:18:03,950 और हम आप की सिफारिश की क्या अपने अंतिम परियोजनाओं के लिए करते हैं, 394 00:18:03,950 --> 00:18:10,560 के रूप में अच्छी तरह से CS50 वित्त के लिए, के रूप में बनाने के लिए है अपने HTML के सभी पुष्टि की है कि सुनिश्चित करें। 395 00:18:10,560 --> 00:18:12,920 और कहा कि W3 सत्यापनकर्ता के साथ किया है। 396 00:18:12,920 --> 00:18:16,940 >> और हमने किया तो क्या और हम क्या कर क्या सलाह देते हैं 397 00:18:16,940 --> 00:18:19,790 इसलिए, शैली अलग है मार्कअप HTML से सीएसएस। 398 00:18:19,790 --> 00:18:24,210 कैसे से संबंधित है तो कुछ भी अपने पेज नेत्रहीन देखने के लिए जा रहा है 399 00:18:24,210 --> 00:18:27,330 और कैसे इसे संशोधित किया जा रहा है एक सीएसएस दस्तावेज़ में जाना चाहिए। 400 00:18:27,330 --> 00:18:33,880 और फिर अपने मार्कअप कैसे बातें कह एक दूसरे के संबंध में हैं, एचटीएमएल है 401 00:18:33,880 --> 00:18:37,550 और कहा कि अंदर जाना चाहिए अपने HTML दस्तावेजों की। 402 00:18:37,550 --> 00:18:38,590 कोई सवाल? 403 00:18:38,590 --> 00:18:39,226 Mhm। 404 00:18:39,226 --> 00:18:42,628 >> दर्शकों: क्या वास्तव में जा रहा है पेज सत्यापन के साथ पर 405 00:18:42,628 --> 00:18:47,945 हम मान्य कर रहे हैं जब [अश्राव्य] बनाए गए एचटीएमएल? 406 00:18:47,945 --> 00:18:49,850 >> मारिया ZLATKOVA: तो आपको लगता है कि what--। 407 00:18:49,850 --> 00:18:53,020 तो क्या वास्तव में जा रहा है पेज सत्यापन के साथ पर 408 00:18:53,020 --> 00:18:55,570 और यही कारण है कि हम ऐसा करने की जरूरत है? 409 00:18:55,570 --> 00:18:59,180 असल में, हम ऐसा करने की जरूरत क्योंकि समय की एक बहुत कुछ है, अपने ब्राउज़र, 410 00:18:59,180 --> 00:19:01,390 आप एक टैग को बंद नहीं करते हैं तो या कुछ इस तरह का, 411 00:19:01,390 --> 00:19:05,680 आपके ब्राउज़र अभी भी करने जा रहा है एक पृष्ठ प्रस्तुत करना है और अभी भी काम हो सकता है, 412 00:19:05,680 --> 00:19:10,840 लेकिन यह सबसे अच्छा अभ्यास है कि यह सुनिश्चित करना है आप, फिर से, अपने सभी टैग बंद कर दिया है 413 00:19:10,840 --> 00:19:13,190 अपने सभी तत्व हैं कि वे किया जाना चाहिए कि जिस तरह से, 414 00:19:13,190 --> 00:19:18,470 और इसके द्वारा मूल रूप से कि पूर्व निर्धारित कर रहे हैं कि सम्मेलनों। 415 00:19:18,470 --> 00:19:21,970 >> यह, फिर से, सिर्फ एक बात यह है कि आप चाहिए 416 00:19:21,970 --> 00:19:24,040 क्या कर रही हो सीखने हो, होने के लिए विरोध के रूप में 417 00:19:24,040 --> 00:19:25,696 लगता है कि जैसे sloppier कोड और सामान। 418 00:19:25,696 --> 00:19:26,688 हाँ। 419 00:19:26,688 --> 00:19:27,680 मुझे माफ करें। 420 00:19:27,680 --> 00:19:29,221 मैं आप अपने हाथ को ऊपर उठाने लगा। 421 00:19:29,221 --> 00:19:31,240 दर्शकों: नहीं, मैं सिर्फ [सुनाई] था। 422 00:19:31,240 --> 00:19:33,800 >> मारिया ZLATKOVA: ठीक है। 423 00:19:33,800 --> 00:19:34,640 >> दर्शकों: धन्यवाद। 424 00:19:34,640 --> 00:19:36,181 >> मारिया ZLATKOVA: बेशक, धन्यवाद। 425 00:19:36,181 --> 00:19:41,680 तो फिर, कैसे में चल रहा है जानकारी स्थानांतरित कर रहा है 426 00:19:41,680 --> 00:19:44,630 और संचार मॉडल जानकारी के हस्तांतरण के लिए। 427 00:19:44,630 --> 00:19:45,730 टीसीपी / आईपी। 428 00:19:45,730 --> 00:19:48,600 टीसीपी सिर्फ ट्रांसमिशन इसका मतलब कंट्रोल प्रोटोकॉल और आईपी 429 00:19:48,600 --> 00:19:51,260 इंटरनेट प्रोटोकॉल को दर्शाता है। 430 00:19:51,260 --> 00:19:54,275 और वह बस को संदर्भित करता है जिस तरह से डेटा दिया जाता है। 431 00:19:54,275 --> 00:19:59,470 432 00:19:59,470 --> 00:20:02,710 >> हम कुछ डेटा है, तो उस इसलिए you-- के लिए दिया करने की जरूरत है 433 00:20:02,710 --> 00:20:06,770 आप एक निश्चित सर्वर के लिए एक अनुरोध करना। 434 00:20:06,770 --> 00:20:09,800 उदाहरण के लिए, जब हम cs50.net का उपयोग करने की कोशिश करते हैं, 435 00:20:09,800 --> 00:20:12,420 हम एक अनुरोध करने के लिए बना CS50 सर्वर और हम 436 00:20:12,420 --> 00:20:14,720 हम प्राप्त करना चाहते हैं कि वहाँ इस प्रकार की जानकारी। 437 00:20:14,720 --> 00:20:19,294 और फिर इस प्रोटोकॉल के आधार पर कर रहे हैं इस जानकारी के वितरण के तरीके के लिए, 438 00:20:19,294 --> 00:20:21,460 सर्वर जानकारी देता है हमारे पास वापस, ग्राहक। 439 00:20:21,460 --> 00:20:25,590 और फिर हम देखने में सक्षम हो पृष्ठ के लिए जानकारी 440 00:20:25,590 --> 00:20:26,390 और फिर इसका इस्तेमाल। 441 00:20:26,390 --> 00:20:29,300 442 00:20:29,300 --> 00:20:33,050 >> तो फिर हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल सिर्फ एक और प्रोटोकॉल या सेट है 443 00:20:33,050 --> 00:20:37,470 सम्मेलनों की है कि कैसे परिभाषित करता है वेब ब्राउज़र और वेब सर्वर 444 00:20:37,470 --> 00:20:38,890 बातचीत करनी चाहिए। 445 00:20:38,890 --> 00:20:43,730 और यह सब डाल एक साथ, HTTP, फिर से, 446 00:20:43,730 --> 00:20:50,960 सिर्फ इस हाइपरटेक्स्ट परिभाषित कैसे परिभाषित करता है हम यह काम कर रहा है कि एचटीएमएल से, 447 00:20:50,960 --> 00:20:59,500 यह आप के लिए दिया जाना चाहिए कि कैसे और कैसे आप के लिए दिया जाता है कि उस डेटा 448 00:20:59,500 --> 00:21:00,540 आप के लिए हो जाता है। 449 00:21:00,540 --> 00:21:05,990 >> तुम लोगों को याद है और वह है, यही कारण है एक वर्ग से, हम अनुरोधों का एक बहुत कुछ था 450 00:21:05,990 --> 00:21:08,970 और हम वाक्य रचना का एक बहुत कुछ था हम कर रहे हैं कि इन अनुरोधों के लिए 451 00:21:08,970 --> 00:21:10,250 सही अब खत्म हो जाना जा रहा है। 452 00:21:10,250 --> 00:21:13,270 तो फिर, हम जब भेजना एक सर्वर के लिए एक अनुरोध है, 453 00:21:13,270 --> 00:21:15,920 हम चीजों के एक जोड़े को परिभाषित किया है। 454 00:21:15,920 --> 00:21:18,520 इसलिए हम प्रकार खोजने की जरूरत है अनुरोध की हम स्थापित कर रहे हैं कि। 455 00:21:18,520 --> 00:21:22,180 और फिर, हम है, उदाहरण के लिए, प्राप्त विधि का एक प्रकार है 456 00:21:22,180 --> 00:21:25,290 हम अपने अनुरोध में है। 457 00:21:25,290 --> 00:21:31,710 >> और फिर HTTP / 1.1 है बस हम वर्तमान में उपयोग कर रहे हैं कि प्रोटोकॉल। 458 00:21:31,710 --> 00:21:34,224 459 00:21:34,224 --> 00:21:36,890 समय से अधिकांश, कि हो रहा है हम प्रयोग कर रहे है कि प्रोटोकॉल के लिए। 460 00:21:36,890 --> 00:21:40,290 आप में एक सवाल है तो अगर अपने प्रश्नोत्तरी पर ऐसे ही। 461 00:21:40,290 --> 00:21:43,120 यही कारण है कि सम्मेलनों है कि हम अब तक किया है। 462 00:21:43,120 --> 00:21:46,580 >> Backslash किस तरह करने के लिए संदर्भित करता है बातों का हम अनुरोध कर रहे हैं। 463 00:21:46,580 --> 00:21:52,810 फिर, हमारे मेजबान इस में, उदाहरण के लिए, है मामला है, हम google.com पर जाने की कोशिश कर रहे हैं। 464 00:21:52,810 --> 00:21:57,070 तो यह एक मेजबान के लिए मूल्य है। 465 00:21:57,070 --> 00:21:59,330 इस अनुरोध का एक प्रकार है कि भेजा जा सकता है। 466 00:21:59,330 --> 00:22:02,890 >> प्रतिक्रिया का एक प्रकार है और फिर सकता है कि भेजा, फिर से, इस प्रोटोकॉल के आधार पर किया, 467 00:22:02,890 --> 00:22:05,190 फिर से है, HTTP / 1.1। 468 00:22:05,190 --> 00:22:07,150 तो यह है कि HTTP संस्करण फिर से है। 469 00:22:07,150 --> 00:22:09,730 200 ठीक अभी स्थिति कोड है। 470 00:22:09,730 --> 00:22:12,860 और कहा कि ठीक है बस एक मुहावरा है उस स्थिति कोड के आधार पर। 471 00:22:12,860 --> 00:22:15,520 >> और फिर सामग्री प्रकार टाइप करने के लिए संदर्भित करता है 472 00:22:15,520 --> 00:22:20,295 वह यह है कि आप में लौट रहा है कि आप प्राप्त है कि वेब पेज के लिए 473 00:22:20,295 --> 00:22:22,570 और अपने ब्राउज़र कि बाद में प्रस्तुत कर सकते हैं। 474 00:22:22,570 --> 00:22:24,401 और कहा कि पाठ / html है। 475 00:22:24,401 --> 00:22:26,660 >> दर्शकों: 1.1 क्या मतलब है? 476 00:22:26,660 --> 00:22:29,910 >> मारिया ZLATKOVA: सिर्फ है कि संस्करण of-- ओह, 1.1 क्या मतलब है? 477 00:22:29,910 --> 00:22:37,075 यही कारण है कि सिर्फ संस्करण, एचटीटीपी है हम प्रयोग कर रहे हैं कि एक प्रोटोकॉल का संस्करण। 478 00:22:37,075 --> 00:22:37,700 बड़ा सवाल है। 479 00:22:37,700 --> 00:22:38,366 अन्य सवाल? 480 00:22:38,366 --> 00:22:41,222 481 00:22:41,222 --> 00:22:45,080 >> दर्शकों: आप को योग सका सामग्री प्रकार असली जल्दी? 482 00:22:45,080 --> 00:22:48,150 >> मारिया ZLATKOVA: है कि इतनी क्या सर्वर है। 483 00:22:48,150 --> 00:22:51,020 क्या information-- के प्रकार सामग्री प्रकार सवालों का था। 484 00:22:51,020 --> 00:22:53,400 तो यह है कि के प्रकार था तुम वापस पाने के लिए है कि जानकारी 485 00:22:53,400 --> 00:22:58,200 सर्वर, प्रकार की से डेटा ब्राउज़र तो कर सकते हैं कि 486 00:22:58,200 --> 00:23:00,604 आप उपयोग कर रहे हैं कि प्रस्तुत करना। 487 00:23:00,604 --> 00:23:03,020 दर्शकों: क्या यह है कि प्रोटोकॉल क्या करने के लिए कह रहा है? 488 00:23:03,020 --> 00:23:03,390 मारिया ZLATKOVA: क्षमा करें? 489 00:23:03,390 --> 00:23:05,380 दर्शकों: प्रोटोकॉल क्या कहना है? 490 00:23:05,380 --> 00:23:05,915 मारिया ZLATKOVA: protocol-- 491 00:23:05,915 --> 00:23:07,940 दर्शकों: कौन सा सामग्री प्रकार है या what-- 492 00:23:07,940 --> 00:23:12,040 मारिया ZLATKOVA: प्रोटोकॉल आधारित है on-- तुम्हें बता प्रोटोकॉल क्या है? 493 00:23:12,040 --> 00:23:16,070 यही कारण है कि अभी जिस तरह से इस जानकारी के कि 494 00:23:16,070 --> 00:23:18,610 आप के लिए दिया गया था आधारित प्रोटोकॉल की तरह क्या पर 495 00:23:18,610 --> 00:23:21,830 यह जानकारी मिली की गई थी तुम्हें वापस करने के लिए दिया। 496 00:23:21,830 --> 00:23:23,500 की कि मतलब तरह करता है? 497 00:23:23,500 --> 00:23:28,320 498 00:23:28,320 --> 00:23:30,070 हन्ना BLUMBERG: आप प्रोटोकॉल के बारे में सोच सकते हैं 499 00:23:30,070 --> 00:23:33,300 एक-- के रूप में मैं प्रोफेसर लगता है मालन यह वर्णित 500 00:23:33,300 --> 00:23:36,910 के रूप में एक तरह से एक-- तरह कक्षा में यह पसंद है मानव handshaking के बराबर है। 501 00:23:36,910 --> 00:23:44,930 जैसे, अरे, मैं एक अनुरोध कर रहा हूँ, और मैं संस्करण 1.1 के HTTP संभाल करने के लिए कैसे पता है। 502 00:23:44,930 --> 00:23:48,770 और उसके बाद सर्वर का कहना है, ठीक है, ओह, I-- और दोनों मौजूद हैं। 503 00:23:48,770 --> 00:23:51,337 मैं भी HTTP / 1.1 के साथ सौदा करने के लिए कैसे पता है। 504 00:23:51,337 --> 00:23:53,170 और मैं देने के लिए जा रहा हूँ आप कुछ सामग्री वापस। 505 00:23:53,170 --> 00:23:56,230 इस मामले में, यह जा रहा है प्रकार पाठ / HTML का हो। 506 00:23:56,230 --> 00:23:58,480 तो यह एक तरह का सिर्फ एक रास्ता है उनमें से communicating-- के लिए 507 00:23:58,480 --> 00:24:00,480 >> मारिया ZLATKOVA: यह बस है आप कर रहे हैं कि इस बात की पुष्टि 508 00:24:00,480 --> 00:24:03,290 दोनों एक ही निम्न प्रोटोकॉल और कहा कि दोनों 509 00:24:03,290 --> 00:24:06,620 ग्राहक और server-- इसलिए आपके ब्राउज़र और server-- 510 00:24:06,620 --> 00:24:09,280 एक तरह से आप क्या कर रहे हैं पता है के बारे में बात कर रही है और 511 00:24:09,280 --> 00:24:12,557 डेटा में पारित करने के लिए सम्मेलन। 512 00:24:12,557 --> 00:24:17,022 >> दर्शकों: तो सामग्री प्रकार part-- सामग्री प्रकार पाठ / html-- है कि 513 00:24:17,022 --> 00:24:18,521 एक ही संदेश का एक अलग हिस्सा है? 514 00:24:18,521 --> 00:24:20,509 या यह 200 से हम कहते हैं का हिस्सा है? 515 00:24:20,509 --> 00:24:22,010 200 उन्हें लगता है कि या है- बता करता है 516 00:24:22,010 --> 00:24:23,770 >> मारिया ZLATKOVA: 200 यह सब ठीक चला गया कहते हैं। 517 00:24:23,770 --> 00:24:27,900 और फिर सामग्री प्रकार एक की तरह है एक ही संदेश के अलग-अलग हिस्से, 518 00:24:27,900 --> 00:24:34,274 और बात कह रही है कि मैं लौटे पाठ / HTML के इस प्रकार है। 519 00:24:34,274 --> 00:24:35,690 यह सिर्फ अधिक जानकारी दे रही है। 520 00:24:35,690 --> 00:24:38,700 521 00:24:38,700 --> 00:24:39,995 जोड़ने के लिए कुछ भी है? 522 00:24:39,995 --> 00:24:40,495 ठीक है। 523 00:24:40,495 --> 00:24:43,590 524 00:24:43,590 --> 00:24:46,530 >> इस पर कोई अन्य प्रश्न? 525 00:24:46,530 --> 00:24:48,370 भयानक। 526 00:24:48,370 --> 00:24:54,070 तो कुछ अन्य HTTP स्थितियों कि हम 200 से ठीक करने के लिए इसके अलावा में मिल सकता है 527 00:24:54,070 --> 00:24:59,500 हम शायद देखा है कि लोगों को संभवतः एक बहुत 403 और 404 हैं। 528 00:24:59,500 --> 00:25:05,190 तो 404, आप करने के लिए कोशिश कर रहे थे मौजूद नहीं है कि पहुँच कुछ। 529 00:25:05,190 --> 00:25:10,460 उदाहरण के लिए, तो अपने CS50 वित्त psets, 530 00:25:10,460 --> 00:25:15,640 आप quote.html प्रतिपादन किया गया था और आप उस फ़ाइल के लिए नहीं था, 531 00:25:15,640 --> 00:25:19,740 लेकिन इसके बजाय आप कि, quote.php था 404 में परिणाम होगा नहीं मिला 532 00:25:19,740 --> 00:25:21,600 फ़ाइल मौजूद नहीं हो सकता है। 533 00:25:21,600 --> 00:25:25,690 >> एक 403 के लिए कि, मना किया अनुमतियों को दर्शाता है। 534 00:25:25,690 --> 00:25:31,150 कुछ फाइल से नहीं पठनीय है तो अगर दुनिया, आप एक 403 लौटे हो सकता है। 535 00:25:31,150 --> 00:25:34,510 536 00:25:34,510 --> 00:25:37,810 कुछ दूसरों कि तुम हो सकता है 301, स्थायी रूप से स्थानांतरित get--; 537 00:25:37,810 --> 00:25:41,300 302, मिला; 304, संशोधित; 400 गलत अनुरोध; 538 00:25:41,300 --> 00:25:47,330 और उसके बाद आंतरिक सर्वर त्रुटि 500 और 503, सेवा अनुपलब्ध। 539 00:25:47,330 --> 00:25:48,140 हाँ। 540 00:25:48,140 --> 00:25:51,490 >> दर्शकों: क्या हम करने की उम्मीद उन सभी स्थितियों को याद? 541 00:25:51,490 --> 00:25:53,739 मारिया ZLATKOVA: मैं होता उन्हें अपने धोखा शीट पर। 542 00:25:53,739 --> 00:25:55,146 [हँसी] 543 00:25:55,146 --> 00:25:59,954 दर्शकों: हम उम्मीद कर रहे हैं हर एक से चलाता है क्या जानते हो? 544 00:25:59,954 --> 00:26:00,995 मारिया ZLATKOVA: वे कर रहे हैं? 545 00:26:00,995 --> 00:26:03,870 हन्ना BLUMBERG: हम है कि लोगों के लिए तो सवाल into-- चलाने was-- 546 00:26:03,870 --> 00:26:08,010 मारिया ZLATKOVA: वे उम्मीद कर रहे हैं इन स्थिति की क्या हर एक को पता है 547 00:26:08,010 --> 00:26:09,330 कोड से चालू किया जा सकता है? 548 00:26:09,330 --> 00:26:13,240 हम का उपयोग किया है कि लोगों के लिए तो और में भाग गया, मैं हाँ कहेंगे। 549 00:26:13,240 --> 00:26:16,610 तो हम निश्चित रूप से 200 देखा है ठीक है और psets में यह पढ़ाते हैं। 550 00:26:16,610 --> 00:26:19,071 हम 404 403 देखा है। 551 00:26:19,071 --> 00:26:20,550 अन्य लोगों के लिए? 552 00:26:20,550 --> 00:26:22,690 >> हन्ना BLUMBERG: मैं होता 500 निष्पक्ष खेल लगती है कहना। 553 00:26:22,690 --> 00:26:23,330 >> मारिया ZLATKOVA: 500, हाँ। 554 00:26:23,330 --> 00:26:24,246 >> हन्ना BLUMBERG: हाँ। 555 00:26:24,246 --> 00:26:27,006 बस एक सामान्य समझ नहीं है उन कारणों का क्या। 556 00:26:27,006 --> 00:26:28,880 और यह भी कि अभी तक इन नाम, आप कर सकते हैं एक तरह से 557 00:26:28,880 --> 00:26:32,890 जैसे एक शिक्षित अनुमान के रूप में बनाने क्या वास्तव में उन्हें कारण होता है। 558 00:26:32,890 --> 00:26:36,919 उदाहरण के लिए, शायद, स्थायी रूप से ले जाने के लिए फ़ाइल स्थायी रूप से ले जाया गया था। 559 00:26:36,919 --> 00:26:39,328 >> दर्शकों: लेकिन पिछले एक पर परीक्षा, एक तो वहाँ था 560 00:26:39,328 --> 00:26:41,050 कैसे आपको लगता है कि जवाब देने के लिए हमें उम्मीद करते हैं? 561 00:26:41,050 --> 00:26:42,883 >> हन्ना BLUMBERG: यह है कि शून्य अंक लायक था। 562 00:26:42,883 --> 00:26:45,870 चायदानी पर 418 पर सवाल तकनीकी रूप से एक HTTP स्थिति है 563 00:26:45,870 --> 00:26:47,090 लेकिन यह शून्य अंक लायक था। 564 00:26:47,090 --> 00:26:48,320 जाहिर है, आप नहीं कर रहे हैं उन्हें पता है की उम्मीद है। 565 00:26:48,320 --> 00:26:49,670 >> दर्शकों: यह एक असली एक है? 566 00:26:49,670 --> 00:26:51,970 >> हन्ना BLUMBERG: यह एक असली है एक है, लेकिन यह कुछ भी मतलब नहीं है। 567 00:26:51,970 --> 00:26:52,700 यह सिर्फ एक मजाक है। 568 00:26:52,700 --> 00:26:55,480 569 00:26:55,480 --> 00:26:57,010 इंटरनेट लोगों हास्यास्पद हैं। 570 00:26:57,010 --> 00:26:59,680 >> मारिया ZLATKOVA: ग्रेट सवाल, दोस्तों। 571 00:26:59,680 --> 00:27:01,452 कोई ओर प्रश्न? 572 00:27:01,452 --> 00:27:04,891 >> दर्शकों: आंतरिक सर्वर त्रुटि क्या है? 573 00:27:04,891 --> 00:27:06,640 मारिया ZLATKOVA: आंतरिक सर्वर त्रुटि बस 574 00:27:06,640 --> 00:27:10,050 तुम गया है कि इसका मतलब है संवाद करने में असमर्थ 575 00:27:10,050 --> 00:27:13,400 किसी कारण के लिए सर्वर के साथ। 576 00:27:13,400 --> 00:27:15,400 इसलिए यह जरूरी नहीं है ऐसा करने के लिए है कि कुछ 577 00:27:15,400 --> 00:27:19,170 लगता है कि जैसे ग्राहक या कुछ और के साथ। 578 00:27:19,170 --> 00:27:22,170 मैं किसी भी विशिष्ट उदाहरण का पता नहीं हम समझाने के लिए पर चला गया है कि, 579 00:27:22,170 --> 00:27:23,000 लेकिन हाँ। 580 00:27:23,000 --> 00:27:23,250 >> हन्ना BLUMBERG: यकीन है। 581 00:27:23,250 --> 00:27:25,625 तो उदाहरण के लिए, जैसे चलो आप मैशप पर काम कर रहे थे कहना 582 00:27:25,625 --> 00:27:30,440 और एक गूगल सर्वर कुछ के लिए नीचे चला गया कारण, एक शक्ति आउटेज, हम कहते हैं। 583 00:27:30,440 --> 00:27:33,400 यही कारण है कि एक आंतरिक सर्वर होगा त्रुटि या किसी प्रकार आप की तरह of-- 584 00:27:33,400 --> 00:27:34,630 एक प्रतिक्रिया वापस नहीं मिलेगा। 585 00:27:34,630 --> 00:27:35,260 >> मारिया ZLATKOVA: हाँ। 586 00:27:35,260 --> 00:27:37,050 आप कर रहे हैं जब यह बस है संवाद करने में असमर्थ 587 00:27:37,050 --> 00:27:40,299 किसी कारण के लिए है क्योंकि सर्वर के साथ यह नीचे जा रहा है या किसी अन्य कारण से। 588 00:27:40,299 --> 00:27:44,430 589 00:27:44,430 --> 00:27:47,690 तो पीएचपी में कूद। 590 00:27:47,690 --> 00:27:49,930 पीएचपी, एचटीएमएल के विपरीत, एक है प्रोग्रामिंग भाषा। 591 00:27:49,930 --> 00:27:54,820 और हम यह है, क्योंकि यह प्रयोग शुरू कर दिया वेब विकास के लिए बहुत उपयोगी है। 592 00:27:54,820 --> 00:27:56,940 >> हम पहले CS50 वित्त में इसका इस्तेमाल किया। 593 00:27:56,940 --> 00:28:02,240 और यह मूल रूप से हमें लाने में मदद करता है एक साथ इस मार्कअप, डिजाइन, 594 00:28:02,240 --> 00:28:07,460 और हम वास्तव में जानकारी का उपयोग कैसे एक वेब पेज पर चीजों को प्रदर्शित करने के लिए। 595 00:28:07,460 --> 00:28:11,870 पीएचपी तो खुद को पीएचपी इसका मतलब हाइपरटेक्स्ट पूर्वप्रक्रमक, 596 00:28:11,870 --> 00:28:15,360 तो यह अपने आप में एक पुनरावर्ती backnorym है। 597 00:28:15,360 --> 00:28:22,330 और पीएचपी के लिए टैग खोलने हम छोड़ दिया प्रश्न चिह्न के साथ और दाएँ तीर 598 00:28:22,330 --> 00:28:23,060 और पीएचपी। 599 00:28:23,060 --> 00:28:25,890 >> इसलिए हम पहले से ही इसके बारे में एक गुच्छा देखा है। 600 00:28:25,890 --> 00:28:29,150 अब, हम बस पर जाने के लिए जा रहे हैं इसके बारे में बुनियादी बातों में से कुछ हैं। 601 00:28:29,150 --> 00:28:32,280 PHP के साथ, चर तो नामों डॉलर के हस्ताक्षर के साथ शुरू करते हैं। 602 00:28:32,280 --> 00:28:35,660 हम, फिर से, निर्दिष्ट नहीं करते एक चर अब लिखें। 603 00:28:35,660 --> 00:28:38,450 हम सी के साथ किया था, उसी तरह हम ऐसा करने की जरूरत नहीं है। 604 00:28:38,450 --> 00:28:41,670 605 00:28:41,670 --> 00:28:44,490 >> हम अलग अलग की एक गुच्छा कर सकते हैं चर के साथ सामान। 606 00:28:44,490 --> 00:28:47,750 हम उन्हें एक साथ रख सकते हैं उन्हें concatenating द्वारा 607 00:28:47,750 --> 00:28:52,900 डॉट संकेतन, साथ जो हम फिर से सी में नहीं कर सका। 608 00:28:52,900 --> 00:28:57,490 फिर, हम थोड़ा और अधिक बहुमुखी प्रतिभा है चर के मामले में PHP के साथ। 609 00:28:57,490 --> 00:29:00,080 फिर, हम एक मुख्य समारोह में नहीं है। 610 00:29:00,080 --> 00:29:03,370 >> और पीएचपी व्याख्या की है संकलित करने के लिए विरोध के रूप में, 611 00:29:03,370 --> 00:29:09,970 तो बस हम सी फ़ाइलों के लिए कैसे बना था, हम पीएचपी के लिए ऐसा करने के लिए नहीं है। 612 00:29:09,970 --> 00:29:15,440 बल्कि, जिस तरह की भाषा है कि स्वयं के द्वारा चलाया जाता है, यह व्याख्या की है। 613 00:29:15,440 --> 00:29:18,550 और फिर शिथिल टाइप किया बस हम मतलब है कि 614 00:29:18,550 --> 00:29:22,490 एक चर निर्दिष्ट करने के लिए नहीं है प्रकार और चर प्रकार 615 00:29:22,490 --> 00:29:25,415 क्रम में समझ रहे हैं। 616 00:29:25,415 --> 00:29:29,185 >> दर्शकों: लेकिन क्या तुमने किया डॉट कड़ी से क्या मतलब? 617 00:29:29,185 --> 00:29:30,060 मारिया ZLATKOVA: यकीन है। 618 00:29:30,060 --> 00:29:37,660 हम together-- बातें करना चाहते हैं जब इसलिए यदि हम कुछ चर था कि 619 00:29:37,660 --> 00:29:41,500 3 का मूल्य था और हम एक और था स्ट्रिंग का मूल्य था कि चर, 620 00:29:41,500 --> 00:29:45,920 हम एक साथ चर डाल सकता है उन दोनों के बीच में एक बिंदु डालने से 621 00:29:45,920 --> 00:29:46,970 और उन्हें concatenating। 622 00:29:46,970 --> 00:29:52,670 या फिर हम एक बना सकता है चर बुलाया नाम 623 00:29:52,670 --> 00:29:56,900 और द्वारा एक साथ रखा दो तार concatenating। 624 00:29:56,900 --> 00:30:00,680 >> तो अगर हम डबल में एक स्ट्रिंग था उद्धरण और हम इसके बाद एक डॉट डाल 625 00:30:00,680 --> 00:30:03,660 और फिर हम, कि एक और स्ट्रिंग था कुल मिलाकर एक स्ट्रिंग पैदा होगा। 626 00:30:03,660 --> 00:30:05,242 >> दर्शकों: ठीक है। 627 00:30:05,242 --> 00:30:06,450 मारिया लातविया: स्पष्ट था कि? 628 00:30:06,450 --> 00:30:07,099 दर्शकों: हाँ। 629 00:30:07,099 --> 00:30:07,890 मारिया ZLATKOVA: ठीक है। 630 00:30:07,890 --> 00:30:08,766 हाँ। 631 00:30:08,766 --> 00:30:11,146 >> दर्शकों: जब आप कहते हैं व्याख्या की बजाय संकलित, 632 00:30:11,146 --> 00:30:14,160 आप के बारे में बात कर रहे हैं नहीं है जब के रूप में विशिष्ट होने की जरूरत 633 00:30:14,160 --> 00:30:15,906 यह सी बनाम PHP के लिए आता है? 634 00:30:15,906 --> 00:30:18,085 635 00:30:18,085 --> 00:30:20,710 मारिया ZLATKOVA: जब हम कहते हैं संकलित करने के लिए विरोध के रूप में व्याख्या की है, 636 00:30:20,710 --> 00:30:21,850 हम क्या मतलब है? 637 00:30:21,850 --> 00:30:26,220 तो यह है कि हम जरूरत नहीं है कि इसका मतलब है निष्पादन योग्य फ़ाइलों पीएचपी चलाने के लिए। 638 00:30:26,220 --> 00:30:29,870 यह यह हो जाता है कि यह रन का मतलब है। 639 00:30:29,870 --> 00:30:31,650 समझ आया? 640 00:30:31,650 --> 00:30:32,495 थोड़ा और अधिक। 641 00:30:32,495 --> 00:30:34,620 हन्ना BLUMBERG: तो तुम एक दुभाषिया के बारे में सोच सकते हैं 642 00:30:34,620 --> 00:30:38,980 जिम्मेदार है कि एक अन्य कार्यक्रम के रूप में पीएचपी के माध्यम से लाइन से लाइन जाने के लिए 643 00:30:38,980 --> 00:30:42,745 विरोध के रूप में है और वास्तव में, इसे क्रियान्वित द्विआधारी करने के लिए नीचे यह सब संकलन करने के लिए। 644 00:30:42,745 --> 00:30:46,050 यह वास्तव में कुछ भी मतलब नहीं है हम होने की जरूरत है कि कैसे विशेष के बारे में। 645 00:30:46,050 --> 00:30:49,470 हम अभी भी सटीक होने की जरूरत है, और नहीं करना अपने अर्धविराम भूल जाते हैं, और यह सुनिश्चित कर लें 646 00:30:49,470 --> 00:30:51,470 यदि आप अपने डॉलर के हस्ताक्षर है और इस तरह की बातें। 647 00:30:51,470 --> 00:30:52,240 अच्छा प्रश्न। 648 00:30:52,240 --> 00:30:53,115 >> मारिया ZLATKOVA: हाँ। 649 00:30:53,115 --> 00:30:55,590 तो लाइन लाइन द्वारा, के रूप में सी फाइलों के साथ करने का विरोध किया, 650 00:30:55,590 --> 00:30:59,100 हम पूरे अंतिम बनाने के लिए है हम वास्तव में इसे चलाने से पहले। 651 00:30:59,100 --> 00:31:00,360 यही कारण है कि मुख्य अंतर है। 652 00:31:00,360 --> 00:31:02,655 लेकिन फिर, हम नहीं कर सकते वास्तव में कम विशिष्ट हो। 653 00:31:02,655 --> 00:31:08,760 654 00:31:08,760 --> 00:31:13,950 तो पीएचपी में सरणियों का प्रतिनिधित्व वास्तव में एक आदेश दिया नक्शा। 655 00:31:13,950 --> 00:31:17,550 >> चाबियाँ करने के लिए सरणियों सहयोगी मूल्यों तो। 656 00:31:17,550 --> 00:31:23,350 दो तरीकों से एक घोषित करने के लिए सरणी, इस वाक्य रचना पर आधारित है, 657 00:31:23,350 --> 00:31:26,380 हम और अधिक स्पष्ट किया जा सकता है कहने में हम एक सरणी है 658 00:31:26,380 --> 00:31:31,010 और हम करने के लिए है कि नक्शे इस key1 है value2 कि नक्शे इस मान 1, Key2। 659 00:31:31,010 --> 00:31:34,660 या हम सिर्फ एक सरणी बना सकते हैं मूल्यों है कि अपने आप में शामिल 660 00:31:34,660 --> 00:31:38,360 और उसके बाद चाबियाँ हैं एक तरह से समझ में आया। 661 00:31:38,360 --> 00:31:40,000 इस पर कोई सवाल? 662 00:31:40,000 --> 00:31:42,500 >> दर्शकों: क्या होगा चाबियाँ दूसरा उदाहरण में हो सकता है? 663 00:31:42,500 --> 00:31:47,100 664 00:31:47,100 --> 00:31:47,920 0, 1, 2, 3? 665 00:31:47,920 --> 00:31:50,650 666 00:31:50,650 --> 00:31:55,780 >> मारिया ZLATKOVA: उदाहरण के लिए, यह सिर्फ है इस में कुंजी जरूरी नहीं है 667 00:31:55,780 --> 00:31:56,550 एक फर्क करें। 668 00:31:56,550 --> 00:32:01,720 वे सिर्फ कैसे आप कर सकते हैं परिभाषित इसके अंदर मूल्यों का उपयोग करें। 669 00:32:01,720 --> 00:32:08,660 तो अगर हम एक foreach था PHP में पाश है कि होगा 670 00:32:08,660 --> 00:32:14,760 हमें सभी मूल्यों के माध्यम से जाने के लिए अनुमति देते हैं, हम सभी मूल्यों के माध्यम से जाना जा सकता है, 671 00:32:14,760 --> 00:32:19,570 भले ही हम था या परिभाषित नहीं किया था साइट के भीतर एक विशेष कुंजी 672 00:32:19,570 --> 00:32:20,820 पिछले वाक्य रचना। 673 00:32:20,820 --> 00:32:23,460 >> तो भी इस तरह के साथ सरणी की, हम अभी भी कर सकता है 674 00:32:23,460 --> 00:32:26,260 एक foreach पाश कि प्रत्येक के माध्यम से चला जाता है 675 00:32:26,260 --> 00:32:31,240 सरणी में कुंजी में मूल्यों की। 676 00:32:31,240 --> 00:32:36,180 एक foreach की वाक्य रचना तो पाश, हम एक सरणी के साथ शुरू करते हैं। 677 00:32:36,180 --> 00:32:38,720 678 00:32:38,720 --> 00:32:43,900 इस $ आगमन चर हमारी वास्तविक सरणी है हम पिछली स्लाइड में परिभाषित किया है कि 679 00:32:43,900 --> 00:32:47,550 सचमुच चला जाता है कि मूल्य के रूप में मूल्यों में से प्रत्येक के माध्यम से, 680 00:32:47,550 --> 00:32:50,122 की परवाह किए बिना कि क्या हम एक महत्वपूर्ण था या नहीं। 681 00:32:50,122 --> 00:32:53,080 और फिर हम साथ कुछ कर सकते हैं foreach पाश के अंदर मूल्य। 682 00:32:53,080 --> 00:32:57,730 तो फिर, अगर हम एक सरणी था इस यहाँ created-- की तरह 683 00:32:57,730 --> 00:33:03,270 इसलिए हम फू और के मूल्य की कुंजी है बार, बाज की चाबी और qux-- का मूल्य 684 00:33:03,270 --> 00:33:09,730 हम एक foreach पाश हो सकता है कि कुंजी मान के रूप में सरणी के माध्यम से चला जाता है 685 00:33:09,730 --> 00:33:11,900 और फिर कुछ करना कुंजी और / या मूल्य के साथ। 686 00:33:11,900 --> 00:33:15,980 लेकिन हम जरूरी हमेशा नहीं करते एक foreach कि छोरों के लिए है 687 00:33:15,980 --> 00:33:19,410 मूल्य के लिए महत्वपूर्ण नक्शे के रूप में सरणी के माध्यम से चला जाता है। 688 00:33:19,410 --> 00:33:26,060 हम के माध्यम से जा सकते हैं मूल्य के रूप में foreach पाश सरणी। 689 00:33:26,060 --> 00:33:28,990 >> हन्ना BLUMBERG: और मुझे लगता है कि आपके सवाल, है-- क्या था 690 00:33:28,990 --> 00:33:31,229 अंतर्निहित सूचकांक है? 691 00:33:31,229 --> 00:33:31,895 दर्शकों: थोड़े। 692 00:33:31,895 --> 00:33:32,240 मारिया ZLATKOVA: ओह। 693 00:33:32,240 --> 00:33:33,406 हन्ना BLUMBERG: हाँ, हाँ। 694 00:33:33,406 --> 00:33:36,150 तो बुनियादी तौर पर, आप निर्दिष्ट नहीं करते हैं तो एक चाबी है, यह 01 होने जा रहा है। 695 00:33:36,150 --> 00:33:37,140 >> मारिया ZLATKOVA: हाँ। 696 00:33:37,140 --> 00:33:41,718 बस सी के साथ की तरह, यह शून्य है आप एक कुंजी निर्दिष्ट नहीं करते हैं, तो अनुक्रमित। 697 00:33:41,718 --> 00:33:42,384 दर्शकों: क्षमा करें। 698 00:33:42,384 --> 00:33:43,827 आप बोल कोशिश कर सकते हो एक छोटा सा जोर से? 699 00:33:43,827 --> 00:33:45,270 मैं का एक छोटा सा आ रहा है मुसीबत सब कुछ सुनवाई। 700 00:33:45,270 --> 00:33:46,478 >> मारिया ZLATKOVA: मैं बहुत शर्मिंदा हूँ। 701 00:33:46,478 --> 00:33:48,439 हाँ बिलकुल। 702 00:33:48,439 --> 00:33:50,230 तो क्या आप मुझे करना चाहते हैं फिर इस पर जाने के लिए? 703 00:33:50,230 --> 00:33:51,680 या है- है 704 00:33:51,680 --> 00:33:54,930 दर्शकों: पिछले slide-- पर अगर तो आप बस एक पल के लिए वापस जा सकते हैं। 705 00:33:54,930 --> 00:33:57,313 मारिया ZLATKOVA: बेशक, माफ करना। 706 00:33:57,313 --> 00:33:59,237 दर्शकों: तो दूसरी यहां सरणी नहीं करता 707 00:33:59,237 --> 00:34:04,135 कुंजी के लिए एक मूल्य है लगता है, की तरह [? करणीय। ?] 708 00:34:04,135 --> 00:34:05,343 मारिया ZLATKOVA: ठीक है, ठीक। 709 00:34:05,343 --> 00:34:07,608 दर्शकों: तो कैसे काम करता है जब आप कहते हैं कि यह सब या कोई नहीं है। 710 00:34:07,608 --> 00:34:08,969 मेरे लिए, कि तरह लग रहा है ए [? foo?] पहले से ही। 711 00:34:08,969 --> 00:34:10,093 >> मारिया ZLATKOVA: हाँ, हाँ। 712 00:34:10,093 --> 00:34:12,969 तो फिर, यह एक है इस अर्थ में आदेश दिया नक्शे 713 00:34:12,969 --> 00:34:15,639 वहाँ से समझ रहे हैं कि, उदाहरण के लिए, अनुक्रमित 714 00:34:15,639 --> 00:34:20,159 यहाँ 0, 1, 2, 3 के रूप में समझा जा सकता है। 715 00:34:20,159 --> 00:34:25,929 फिर, उन है कि होने वाला है अनुक्रमित हमारे बराबर है 716 00:34:25,929 --> 00:34:28,980 के मूल्यों पर मैप चाबियाँ कर रही है। 717 00:34:28,980 --> 00:34:34,710 तो अगर हमारे प्रमुख 0-- माफी चाहता था। 718 00:34:34,710 --> 00:34:36,524 >> हन्ना BLUMBERG: नहीं, वहाँ यहाँ चाक है। 719 00:34:36,524 --> 00:34:36,929 यह वास्तव में बहुत अच्छा है। 720 00:34:36,929 --> 00:34:37,460 >> मारिया ZLATKOVA: यह बढ़िया है। 721 00:34:37,460 --> 00:34:38,260 ठीक है। 722 00:34:38,260 --> 00:34:49,489 तो फिर, $ आगमन 0 होगा मान 1 के लिए कुंजी। 723 00:34:49,489 --> 00:34:51,138 0 मान 1 के लिए महत्वपूर्ण होगा। 724 00:34:51,138 --> 00:34:51,971 दर्शकों: मैं माफी चाहता हूँ। 725 00:34:51,971 --> 00:34:53,190 यह अदृश्य है। 726 00:34:53,190 --> 00:34:53,659 >> हन्ना BLUMBERG: कोई बात नहीं ठीक है,। 727 00:34:53,659 --> 00:34:54,980 चाक एक बुरा विचार था। 728 00:34:54,980 --> 00:34:58,030 मैंने इसे वापस ले लिया है। 729 00:34:58,030 --> 00:35:01,425 आप कुंजियों के बारे में सोच सकते हैं मान 1 0 नक्शे के रूप में। 730 00:35:01,425 --> 00:35:02,300 मारिया ZLATKOVA: हाँ। 731 00:35:02,300 --> 00:35:04,630 तो यह शून्य है, यह 1, 2, 3 है। 732 00:35:04,630 --> 00:35:05,760 ये अपनी चाबी हो सकता है। 733 00:35:05,760 --> 00:35:10,020 आप हाँ as-- उनमें से सोच सकते हैं। 734 00:35:10,020 --> 00:35:12,740 तो बजाय होने की स्पष्ट चाबियाँ, वे कर रहे हैं 735 00:35:12,740 --> 00:35:17,180 एक तरह से किया जा रहा है के रूप में समझा अनुक्रमित 0 से शुरू। 736 00:35:17,180 --> 00:35:21,630 737 00:35:21,630 --> 00:35:24,820 चाक मदद नहीं की। 738 00:35:24,820 --> 00:35:25,722 हाँ। 739 00:35:25,722 --> 00:35:30,914 >> दर्शकों: foreach पाश के लिए, हम मूल्य के रूप में देखना चाहते थे, 740 00:35:30,914 --> 00:35:33,245 यह 0 से सिर्फ स्वतः सूचकांक होगा? 741 00:35:33,245 --> 00:35:34,120 मारिया ZLATKOVA: हाँ। 742 00:35:34,120 --> 00:35:35,745 यह मूल्यों से प्रत्येक के माध्यम से जाना होगा। 743 00:35:35,745 --> 00:35:39,130 दर्शकों: [अश्राव्य] के रूप में 0 या कि केवल 0 क्या करना होगा? 744 00:35:39,130 --> 00:35:43,710 >> मारिया ZLATKOVA: आप के लिए होता है तो डॉलर के हस्ताक्षर और के रूप में कहने के लिए 745 00:35:43,710 --> 00:35:46,266 कुछ चर नाम, मूल्य। 746 00:35:46,266 --> 00:35:47,182 दर्शकों: [अश्राव्य]। 747 00:35:47,182 --> 00:35:50,048 748 00:35:50,048 --> 00:35:50,964 मारिया ZLATKOVA: क्षमा करें? 749 00:35:50,964 --> 00:35:52,839 दर्शकों: माफ करना, मैं कर रहा हूँ बस याद करने की कोशिश कर रहा। 750 00:35:52,839 --> 00:35:57,190 आपको लगता है कि आप यह कर सकते हैं करते हैं, तो कैसे स्वचालित रूप से अनुक्रमण केवल 0 की है? 751 00:35:57,190 --> 00:36:00,780 >> मारिया ZLATKOVA: तो आपको लगता है कि कैसे करना होगा आप विशिष्ट कुंजी नाम नहीं था तो क्या होगा? 752 00:36:00,780 --> 00:36:01,710 >> दर्शकों: हाँ। 753 00:36:01,710 --> 00:36:07,820 >> मारिया ZLATKOVA: तुम सिर्फ define-- होगा बस कुछ नाम के रूप में अपने आप को कहते। 754 00:36:07,820 --> 00:36:17,950 तो अपने psets में, तुम लोगों को हो सकता है $ पंक्तियों के रूप में foreach $ पंक्ति याद है, 755 00:36:17,950 --> 00:36:24,610 हम ourself कह इस $ पंक्ति बनाया हम $ पंक्तियों के रूप में पंक्ति के माध्यम से जाना चाहते हैं। 756 00:36:24,610 --> 00:36:28,360 हम नहीं था, भले ही पंक्तियों परिभाषित यह स्पष्ट $, 757 00:36:28,360 --> 00:36:31,990 हम बस जाओ और कर सकता है , यह हमारे लिए महत्वपूर्ण हो सकता है कहने 758 00:36:31,990 --> 00:36:33,615 और सिर्फ मूल्यों में से प्रत्येक के माध्यम से जाना। 759 00:36:33,615 --> 00:36:37,295 760 00:36:37,295 --> 00:36:41,660 >> दर्शकों: तो मूल्य एक नया चर रहा है हम [सुनाई] स्टोर करने के लिए बना रहे हैं? 761 00:36:41,660 --> 00:36:46,820 762 00:36:46,820 --> 00:36:49,990 >> मारिया ZLATKOVA: तो यह नहीं है स्वाभाविक एक नया चर। 763 00:36:49,990 --> 00:37:00,310 यह उल्लेख है कि एक चर है उनमें से प्रत्येक के लिए सरणी के अंदर। 764 00:37:00,310 --> 00:37:02,060 हन्ना BLUMBERG: यह एक नया चर नाम। 765 00:37:02,060 --> 00:37:04,018 मारिया ZLATKOVA: हाँ, यह एक नया चर नाम है, 766 00:37:04,018 --> 00:37:06,680 लेकिन यह हाँ inherently-- नहीं है। 767 00:37:06,680 --> 00:37:08,950 यह सिर्फ एक नया चर है आप ऐसा कर सकते हैं। 768 00:37:08,950 --> 00:37:12,680 तो बस हम कैसे किया करते हैं $ $ पंक्तियाँ, पंक्तियों के रूप में पंक्ति 769 00:37:12,680 --> 00:37:17,980 एक नया चर नाम था कि हम हमारे foreach पाश में बना सकते हैं। 770 00:37:17,980 --> 00:37:22,065 ऐसा लगता है कि इससे पहले कि पहिले से होना जरूरी नहीं है। 771 00:37:22,065 --> 00:37:25,777 >> दर्शकों: आप के माध्यम से जाना जा सका वहाँ उदाहरण का उपयोग करते हुए प्रत्येक के लिए तर्क,? 772 00:37:25,777 --> 00:37:26,610 मारिया ZLATKOVA: Mhm। 773 00:37:26,610 --> 00:37:31,240 774 00:37:31,240 --> 00:37:32,080 मुझे माफ करें। 775 00:37:32,080 --> 00:37:33,780 यहाँ उदाहरण है। 776 00:37:33,780 --> 00:37:34,280 ज़रूर। 777 00:37:34,280 --> 00:37:38,950 के लिए तो हर इसलिए array-- कि इस सरणी के लिए जाने का मतलब 778 00:37:38,950 --> 00:37:43,930 कि value-- कुंजी के रूप में हो रहा है इस सरणी के माध्यम से जाने के लिए 779 00:37:43,930 --> 00:37:49,480 और सबसे पहले, जाना और फू मिल कुंजी फू और मूल्य बार। 780 00:37:49,480 --> 00:37:51,570 और फिर दूसरा पर पाश के लिए चलना, 781 00:37:51,570 --> 00:37:55,090 इसके माध्यम से जाने के लिए और ले जा रहा है कुंजी बाज और मूल्य qux। 782 00:37:55,090 --> 00:38:00,512 और फिर आप के साथ कुछ कर सकते हैं उनमें से या तो या उन दोनों को। 783 00:38:00,512 --> 00:38:03,488 >> दर्शकों: तो पीछे विचार मूल्य के लिए एक प्रमुख मुद्दा रहा है, 784 00:38:03,488 --> 00:38:07,470 आप पहुँचने क्या अंत? 785 00:38:07,470 --> 00:38:10,680 >> मारिया ZLATKOVA: विचार है क्या की एक प्रमुख ओर इशारा करते हुए मूल्य के लिए कर रहे हैं? 786 00:38:10,680 --> 00:38:16,400 यह सिर्फ एक और सम्मेलन, दूसरे की सरणी के माध्यम से जाने का रास्ता 787 00:38:16,400 --> 00:38:22,600 और सक्षम किया जा रहा है या तो उपयोग करने के लिए कुंजी या मूल्य या दोनों और उन्हें इस्तेमाल करते हैं। 788 00:38:22,600 --> 00:38:27,100 >> दर्शकों: के लिए भूमिका क्या है foreach में चलता है कि आदेश? 789 00:38:27,100 --> 00:38:29,250 हम जोड़ने के लिए गए थे तो सरणी के लिए तत्वों बाद में, 790 00:38:29,250 --> 00:38:32,140 उन पहले लोगों को होगा foreach सरणी में कहा जाता है, 791 00:38:32,140 --> 00:38:33,750 या इसे बाद में हो सकता है? 792 00:38:33,750 --> 00:38:37,770 >> मारिया ZLATKOVA: तो क्या है foreach कि आदेश 793 00:38:37,770 --> 00:38:39,210 पाश में एक सरणी के माध्यम से चला जाता है? 794 00:38:39,210 --> 00:38:42,220 यह पहली बार के माध्यम से चला जाता है पिछले तत्व को तत्व, 795 00:38:42,220 --> 00:38:43,400 पिछले जोड़ा तत्व करने के लिए। 796 00:38:43,400 --> 00:38:48,020 आप बाद में तत्वों को जोड़ने, तो वे करेंगे पहला तत्व होता accessed-- किया 797 00:38:48,020 --> 00:38:51,410 पहले के रूप में पहुँचा जा सरणी के तत्वों, 798 00:38:51,410 --> 00:38:57,620 और फिर आप में से प्रत्येक के माध्यम से जाना था, एक ordered-- की तरह के रूप तत्वों 799 00:38:57,620 --> 00:39:02,930 एक आदेश दिया है, लेकिन जिस तरह से है कि नहीं वे सरणी में डाल दिया गया है। 800 00:39:02,930 --> 00:39:06,855 >> दर्शकों: तो नए तत्व पर बाद में जोड़ रहे हैं? 801 00:39:06,855 --> 00:39:10,680 तो वे हो जाएगा added-- रहे [में पिछले वाले? चलना। ?] 802 00:39:10,680 --> 00:39:14,280 >> मारिया ZLATKOVA: नई तत्वों can-- मूल रूप से, नए तत्व जोड़ रहे हैं, 803 00:39:14,280 --> 00:39:16,520 वे सरणी के अंत करने के लिए जोड़ रहे हैं? 804 00:39:16,520 --> 00:39:17,632 >> दर्शकों: हाँ। 805 00:39:17,632 --> 00:39:18,840 मारिया ZLATKOVA: मैं इतना विश्वास है। 806 00:39:18,840 --> 00:39:20,850 हाँ। 807 00:39:20,850 --> 00:39:24,330 और फिर अपने foreach पाश के साथ आप नए तत्व जोड़ दिया है के बाद 808 00:39:24,330 --> 00:39:26,790 और आप उन के माध्यम से जाना है, नए तत्व होगा 809 00:39:26,790 --> 00:39:30,930 अगर यह है, नए तत्व accessed-- होना पिछले जोड़ा, यह पिछले पहुँचा दिया जाएगा। 810 00:39:30,930 --> 00:39:34,416 >> दर्शकों: आप सिर्फ एक उदाहरण दे सकते हैं कुछ की है कि होगा [सुनाई] 811 00:39:34,416 --> 00:39:37,404 मूल्य के साथ कुछ के साथ [अश्राव्य] या मूल्य की तरह, 812 00:39:37,404 --> 00:39:38,910 आपको लगता है कि कैसे को फॉर्मेट था जैसे? 813 00:39:38,910 --> 00:39:39,785 >> मारिया ZLATKOVA: यकीन है। 814 00:39:39,785 --> 00:39:42,340 815 00:39:42,340 --> 00:39:46,410 मैं का एक उदाहरण क्या दे सकते हैं हम मूल्य के साथ क्या होगा? 816 00:39:46,410 --> 00:39:52,440 तो तुम लोगों के साथ परिचित हो सकता है क्या हम एक सरणी के माध्यम से चला गया है है कि 817 00:39:52,440 --> 00:39:55,380 और मूल रूप से मुद्रित तत्वों में से प्रत्येक, 818 00:39:55,380 --> 00:40:00,910 उदाहरण के लिए, एक के हिस्से के रूप में आदेश सूची या कि कुछ और। 819 00:40:00,910 --> 00:40:02,674 अर्थ है कि या हम चाहते क्या करता है-- 820 00:40:02,674 --> 00:40:04,340 दर्शकों: हम इन मूल्यों को मुद्रित कर सकते हैं? 821 00:40:04,340 --> 00:40:13,220 मारिया ZLATKOVA: हाँ, हम प्रिंट सकता और फिर मूल रूप से मूल्य $ पर क्योंकि 822 00:40:13,220 --> 00:40:16,570 उस विशिष्ट मूल्य, हम होगा इसके अंदर का मूल्य मुद्रण। 823 00:40:16,570 --> 00:40:20,150 तो अगर हम अपने पहली यात्रा पर थे और इसके बारे में हम, $ मूल्य मुद्रित 824 00:40:20,150 --> 00:40:23,775 हम बार मुद्रण किया जाएगा। 825 00:40:23,775 --> 00:40:27,020 >> दर्शकों: के लिए वहाँ भी कर रहे हैं पीएचपी में छोरों या सिर्फ foreach छोरों? 826 00:40:27,020 --> 00:40:30,430 >> मारिया ZLATKOVA: वहाँ है यह भी पीएचपी में छोरों के लिए। 827 00:40:30,430 --> 00:40:33,399 और उनके तर्क ज्यादातर है आप के लिए इस्तेमाल किया गया है के रूप में ही। 828 00:40:33,399 --> 00:40:34,690 दर्शकों: अपने मूल्य रिक्त है तो। 829 00:40:34,690 --> 00:40:35,090 मारिया ZLATKOVA: यह एक ही तरह है। 830 00:40:35,090 --> 00:40:35,590 हाँ। 831 00:40:35,590 --> 00:40:37,747 दर्शकों: मैं सिर्फ पूछने के लिए जा रहा हूँ। 832 00:40:37,747 --> 00:40:39,695 तो अगर आप एक घोषित सरणी, आप की जरूरत नहीं 833 00:40:39,695 --> 00:40:42,617 यह करने के लिए क्या हो रहा है आकार बताने के लिए जिसका मतलब है, हो सकता है कि तुम सिर्फ कर सकते हैं 834 00:40:42,617 --> 00:40:44,417 जोड़ने और तत्वों [अश्राव्य] दूर ले। 835 00:40:44,417 --> 00:40:45,250 मारिया ZLATKOVA: हाँ। 836 00:40:45,250 --> 00:40:45,750 हाँ। 837 00:40:45,750 --> 00:40:46,251 बिल्कुल सही। 838 00:40:46,251 --> 00:40:48,875 हम एक सरणी की घोषणा करते हैं, हम आकार क्या है कहने की ज़रूरत नहीं है, 839 00:40:48,875 --> 00:40:51,022 तो हम सिर्फ तत्व जोड़ सकते हैं बाद में के रूप में अच्छी तरह से इसे पर। 840 00:40:51,022 --> 00:40:55,075 841 00:40:55,075 --> 00:40:55,700 अधिक प्रश्न? 842 00:40:55,700 --> 00:40:59,870 843 00:40:59,870 --> 00:41:05,950 तो एक साथ PHP और एचटीएमएल लाने, क्या हम अच्छी तरह से seen-- है, 844 00:41:05,950 --> 00:41:15,130 उदाहरण के लिए, इस उदाहरण में, हम है एक इनपुट क्षेत्र है कि एक HTML फार्म। 845 00:41:15,130 --> 00:41:18,830 >> और इनपुट क्षेत्र सिर्फ नाम है और फिर इसे एक सबमिट बटन है। 846 00:41:18,830 --> 00:41:26,040 जब आप प्रेस और सबमिट करें बटन, हमारे hello.php फाइल में, 847 00:41:26,040 --> 00:41:32,130 फार्म के लिए विधि है, क्योंकि मिलता है, हम नाम पर जो कुछ भी उपयोग कर सकते हैं 848 00:41:32,130 --> 00:41:40,360 इस से वैश्विक चर मिलता है कि यह $ _GET है के लिए वाक्य रचना है-। 849 00:41:40,360 --> 00:41:44,520 और फिर हम जो कुछ भी उपयोग कर सकते हैं नाम के लिए है कि फार्म के अंदर उपयोगकर्ता इनपुट 850 00:41:44,520 --> 00:41:47,410 उस क्षेत्र के नाम निर्दिष्ट द्वारा। 851 00:41:47,410 --> 00:41:51,480 852 00:41:51,480 --> 00:41:55,060 >> किसी भी अन्य प्रश्न या किसी इस विशिष्ट उदाहरण पर सवाल? 853 00:41:55,060 --> 00:41:58,275 >> दर्शकों: पीएचपी कहां है? 854 00:41:58,275 --> 00:41:59,150 मारिया ZLATKOVA: यहाँ। 855 00:41:59,150 --> 00:42:01,150 इसलिए इस पीएचपी के लिए हमारे खोलने टैग है। 856 00:42:01,150 --> 00:42:01,530 >> दर्शकों: ओह, ठीक है। 857 00:42:01,530 --> 00:42:02,363 >> मारिया ZLATKOVA: हाँ। 858 00:42:02,363 --> 00:42:05,320 859 00:42:05,320 --> 00:42:09,609 >> हन्ना BLUMBERG: = आशुलिपि है इस के लिए PHP और सिर्फ गूंज है। 860 00:42:09,609 --> 00:42:10,150 दर्शकों: ओह। 861 00:42:10,150 --> 00:42:10,720 मारिया ZLATKOVA: हाँ, माफ करना। 862 00:42:10,720 --> 00:42:12,040 मुझे लगता है कि स्पष्ट कर दिया है चाहिए। 863 00:42:12,040 --> 00:42:13,759 >> हन्ना BLUMBERG: प्रिंट। 864 00:42:13,759 --> 00:42:16,800 मारिया ZLATKOVA: यह सिर्फ समारोह कि हमें कुछ मुद्रित करने के लिए अनुमति देता है। 865 00:42:16,800 --> 00:42:19,795 866 00:42:19,795 --> 00:42:20,420 बड़ा सवाल है। 867 00:42:20,420 --> 00:42:24,140 868 00:42:24,140 --> 00:42:25,495 तो हाँ going--। 869 00:42:25,495 --> 00:42:31,940 >> दर्शकों: वहाँ काफी होने जा रहा है PHP और एचटीएमएल के हाथ कोडिंग के एक बिट 870 00:42:31,940 --> 00:42:33,450 प्रश्नोत्तरी 1 पर? 871 00:42:33,450 --> 00:42:36,310 872 00:42:36,310 --> 00:42:38,810 मारिया ZLATKOVA: एक ही हो सकता है व्याख्या का उचित मात्रा में 873 00:42:38,810 --> 00:42:43,330 PHP और एचटीएमएल की, जरूरी नहीं कोडिंग की एक बड़ी राशि की तरह, 874 00:42:43,330 --> 00:42:46,960 आप एक लिखने के लिए हो सकता है, हालांकि foreach पाश, हालांकि, एक पाश के लिए। 875 00:42:46,960 --> 00:42:49,790 छोरों के किसी भी है कि हम निष्पक्ष खेल यहाँ कवर है। 876 00:42:49,790 --> 00:42:51,889 और कहा कि ज्यादातर यह बात है। 877 00:42:51,889 --> 00:42:53,430 हन्ना BLUMBERG: मैं तैयार किया जाएगा। 878 00:42:53,430 --> 00:42:57,010 उसी तरह है कि हम आप के लिए कहा प्रश्नोत्तरी 0 सी कार्यों का एक गुच्छा लिखने, 879 00:42:57,010 --> 00:42:59,766 मैं करने के लिए तैयार हो जाएगा पीएचपी और जावास्क्रिप्ट में एक ही। 880 00:42:59,766 --> 00:43:00,640 मारिया ZLATKOVA: हाँ। 881 00:43:00,640 --> 00:43:03,210 हन्ना BLUMBERG: मैं कहना चाहूँगा हम नहीं कर रहे हैं जैसे एक little-- 882 00:43:03,210 --> 00:43:06,251 जा रहा है आप एक विशाल HTML लिखने बनाने के लिए कि एक छोटा सा है, सिर्फ इसलिए कि पेज 883 00:43:06,251 --> 00:43:08,240 कठिन है, लेकिन आप कुछ हिस्सों हो सकता है। 884 00:43:08,240 --> 00:43:09,310 यही कारण है कि पूरी तरह से निष्पक्ष खेल है। 885 00:43:09,310 --> 00:43:11,082 छोटे एचटीएमएल पेज की तरह, पूरी तरह से निष्पक्ष। 886 00:43:11,082 --> 00:43:11,623 दर्शकों: ठीक है। 887 00:43:11,623 --> 00:43:13,814 कैसे के बारे में जावास्क्रिप्ट में के रूप में अच्छी तरह से? 888 00:43:13,814 --> 00:43:14,730 हन्ना BLUMBERG: हाँ। 889 00:43:14,730 --> 00:43:15,250 जावास्क्रिप्ट मेले खेल। 890 00:43:15,250 --> 00:43:15,635 >> मारिया ZLATKOVA: हाँ। 891 00:43:15,635 --> 00:43:16,801 यही कारण है कि पूरी तरह से निष्पक्ष खेल है। 892 00:43:16,801 --> 00:43:19,280 हन्ना BLUMBERG: हम मिलेगा जैसे 10 मिनट में है कि करने के लिए। 893 00:43:19,280 --> 00:43:23,750 >> मारिया ZLATKOVA: एसक्यूएल, फिर से, स्ट्रक्चर्ड क्वेरी लैंग्वेज। 894 00:43:23,750 --> 00:43:28,651 यह मूल रूप से हमें डाटा का प्रबंधन करने की अनुमति देता है एक संबंधपरक डेटाबेस प्रबंधन में 895 00:43:28,651 --> 00:43:29,150 प्रणाली। 896 00:43:29,150 --> 00:43:31,149 यही कारण है कि सिर्फ मूल रूप से इसका मतलब है हम कहीं है कि 897 00:43:31,149 --> 00:43:37,980 हम चाहते हैं हो सकता है कि कुछ डेटा स्टोर करने के लिए एक वेबसाइट में या किसी अन्य रूप में इस्तेमाल करते हैं। 898 00:43:37,980 --> 00:43:42,190 और फिर हम पाने के लिए प्रश्न है हमारे डेटाबेस से जानकारी, 899 00:43:42,190 --> 00:43:44,320 या उन में जानकारी डालने के लिए। 900 00:43:44,320 --> 00:43:47,560 आम ones-- अद्यतन का एक बहुत कुछ है, सम्मिलित करें, चयन करें, और हटाएँ। 901 00:43:47,560 --> 00:43:50,790 >> तो अद्यतन के लिए, इस वाक्य रचना है एक डेटाबेस में डेटा को अद्यतन करने के लिए। 902 00:43:50,790 --> 00:43:53,330 903 00:43:53,330 --> 00:43:57,340 नामक इस तालिका अद्यतन सेट कह कर मेज, 904 00:43:57,340 --> 00:44:04,170 हम सभी में कुछ मूल्यों सेट कर सकते हैं और बराबर कुछ करने के लिए पंक्तियों। 905 00:44:04,170 --> 00:44:09,410 तो हम भी कुछ विशिष्ट निर्दिष्ट कर सकते हैं हम संशोधित करना चाहते हैं प्रविष्टियों 906 00:44:09,410 --> 00:44:11,240 और वह है, जहां का उपयोग किया जा सकता है। 907 00:44:11,240 --> 00:44:16,380 और हम हम ही करना चाहते हैं कि निर्दिष्ट कर सकते हैं कुछ पंक्तियों को संशोधित जहां के लिए घर, 908 00:44:16,380 --> 00:44:19,830 हम छात्रों की एक मेज था कि अगर और सभी छात्रों को, घर था 909 00:44:19,830 --> 00:44:24,890 इसलिए हम केवल कुछ मूल्यों को संशोधित करेगा एक घर Currier के बराबर होती है, जहां 910 00:44:24,890 --> 00:44:25,430 उदाहरण के लिए। 911 00:44:25,430 --> 00:44:29,120 912 00:44:29,120 --> 00:44:31,800 >> डालने के लिए, हम सम्मिलित कर सकते हैं एक तालिका में निश्चित मूल्यों। 913 00:44:31,800 --> 00:44:35,150 तो तालिका में डालने, और फिर मूल्यों, 914 00:44:35,150 --> 00:44:39,080 और फिर कोष्ठक में, हम निर्दिष्ट जो आप सम्मिलित करना चाहते महत्व देता है। 915 00:44:39,080 --> 00:44:43,220 तो मेज, Col1 में डालने और col2, मूल्य VAL1 और val2 है। 916 00:44:43,220 --> 00:44:48,930 तो इस में मूल रूप से एक नई पंक्ति सम्मिलित करता है मूल्यों 1 और 2 से युक्त एक मेज 917 00:44:48,930 --> 00:44:50,850 कॉलम 1 और 2 के तहत। 918 00:44:50,850 --> 00:44:54,760 >> और फिर हम पर जाने के लिए जा रहे हैं इस कैसे लग रहा है की एक त्वरित उदाहरण 919 00:44:54,760 --> 00:44:56,310 एक छोटा सा हमारे डेटाबेस में की तरह। 920 00:44:56,310 --> 00:44:58,685 लेकिन इस अंतिम क्वेरी कि मैं हम पर जाने के लिए जा रहे हैं लगता है, 921 00:44:58,685 --> 00:45:01,450 चयन करें, यह सिर्फ हमें की अनुमति देता है एक मेज से डेटा का चयन करने के लिए 922 00:45:01,450 --> 00:45:03,080 संभवतः इसे बाद में उपयोग करने के लिए। 923 00:45:03,080 --> 00:45:05,830 और हम ऐसा करते हैं जिस तरह से हम है बस कुछ चर में यह दुकान। 924 00:45:05,830 --> 00:45:07,780 और फिर हम संभवतः इसे फिर से उपयोग कर सकते हैं। 925 00:45:07,780 --> 00:45:10,260 >> इसलिए चयन स्टार सभी का चयन होता है। 926 00:45:10,260 --> 00:45:13,280 वह सिर्फ एक आशुलिपि है सभी के चयन के लिए। 927 00:45:13,280 --> 00:45:19,760 मेज, जहां से हम देख रहे हैं कुछ विशेष परिस्थितियों के लिए, 928 00:45:19,760 --> 00:45:22,290 इसलिए स्तंभ के बराबर होती है, जहां उदाहरण के लिए कुछ है,। 929 00:45:22,290 --> 00:45:24,410 हम तो बस करना चाहता था मेज से सभी का चयन करें, 930 00:45:24,410 --> 00:45:28,400 यह सिर्फ सभी स्तंभों का चयन करता है और एक मेज से सभी पंक्तियों। 931 00:45:28,400 --> 00:45:32,040 >> और तब तालिका से हटाएं जहां कर्नल कुछ के बराबर होती है, 932 00:45:32,040 --> 00:45:36,440 यह सिर्फ कुछ हटाता हमारे टेबल से पंक्ति 933 00:45:36,440 --> 00:45:38,860 जहां हम कुछ विशिष्ट स्थिति है। 934 00:45:38,860 --> 00:45:41,870 इस मामले में, की स्थिति हैं कॉलम कुछ के बराबर होती है। 935 00:45:41,870 --> 00:45:43,460 इस बात का तो सिर्फ एक त्वरित उदाहरण है। 936 00:45:43,460 --> 00:45:49,100 हम यहीं है और हम इस तालिका है, तो एक तालिका में डालने, इन मूल्यों, 937 00:45:49,100 --> 00:45:50,400 कि एक नई पंक्ति सम्मिलित होगा। 938 00:45:50,400 --> 00:45:56,380 हम ऑटो वेतन वृद्धि की थी और अगर यह होता है सिर्फ 2 to 0-1 हमारे आईडी वेतन वृद्धि। 939 00:45:56,380 --> 00:46:00,010 >> हम छात्रों से सभी चयनित हैं, तो यह बस सभी क्षेत्रों और सभी पंक्तियों को लौटाता है। 940 00:46:00,010 --> 00:46:02,430 जहां वर्ष अधिक से अधिक है 2016 से अधिक या बराबर है, 941 00:46:02,430 --> 00:46:04,390 कि सिर्फ लौटेंगे हन्ना और अपने आप को। 942 00:46:04,390 --> 00:46:08,360 और फिर हम सिर्फ अगर चयनित छात्रों से साल आईडी और वर्ष 943 00:46:08,360 --> 00:46:11,710 जहां घर काबोट हाउस, वह है, फिर से, हन्ना और अपने आप को वापस कर देगा। 944 00:46:11,710 --> 00:46:14,430 >> तो फिर हम छात्रों से हटा दिया है, तो जहां नाम, रोब के बराबर है 945 00:46:14,430 --> 00:46:16,760 कि पूरी पंक्ति को हटाना होगा। 946 00:46:16,760 --> 00:46:19,696 और फिर हम निर्धारित करते हैं नाम, अद्यतन छात्रों 947 00:46:19,696 --> 00:46:21,570 सेट नाम Daven के बराबर होती है जहां घर के बराबर है 948 00:46:21,570 --> 00:46:27,010 काबोट हाउस, कि करने के लिए जाना जा रहा है उन पंक्तियों और फिर नाम अपडेट करें। 949 00:46:27,010 --> 00:46:31,470 >> और फिर कुछ एसक्यूएल डेटा प्रकार हैं चार, varchar, पूर्णांक, और तैरने लगते हैं। 950 00:46:31,470 --> 00:46:32,760 ये उचित खेल रहे हैं। 951 00:46:32,760 --> 00:46:36,740 मैं फिर से जाना होगा और सुनिश्चित करें कि आप जानते हैं 952 00:46:36,740 --> 00:46:40,930 और, अपने धोखा शीट पर उन्हें दिया है क्या उन पात्रों में से प्रत्येक 953 00:46:40,930 --> 00:46:44,140 के लिए इस्तेमाल किया गया है, क्या यदि आप अपने psets पर उन्हें इस्तेमाल किया 954 00:46:44,140 --> 00:46:48,050 और आप परिचित हैं और सुनिश्चित करें चुनने के लिए होने के साथ आराम 955 00:46:48,050 --> 00:46:51,450 अपने pset में विभिन्न प्रकार के डेटा से। 956 00:46:51,450 --> 00:46:51,950 हाँ। 957 00:46:51,950 --> 00:46:54,300 >> दर्शकों: उस मेज क्या संग्रहीत किया गया था? 958 00:46:54,300 --> 00:46:57,119 हाँ, जहां इस तालिका भंडारित किया जाता है? 959 00:46:57,119 --> 00:46:59,160 मारिया ZLATKOVA: ठीक है, फिलहाल, यह नहीं जमा हो रहा है। 960 00:46:59,160 --> 00:47:00,700 वैसे भी, जहां इस तालिका भंडारित किया जाता है? 961 00:47:00,700 --> 00:47:04,503 लेकिन यह एक एसक्यूएल डाटाबेस में संग्रहित किया जा सकता है। 962 00:47:04,503 --> 00:47:07,330 >> दर्शकों: और जहां एसक्यूएल डाटाबेस है? 963 00:47:07,330 --> 00:47:11,200 कंप्यूटर में, ऑनलाइन कहीं न कहीं, सर्वर? 964 00:47:11,200 --> 00:47:15,000 >> मारिया ZLATKOVA: यह एक हो सकता है अलग अलग बातें की संख्या। 965 00:47:15,000 --> 00:47:19,690 >> हन्ना BLUMBERG: हम साथ interfaced किया है ज्यादातर phpMyAdmin के साथ एसक्यूएल टेबल। 966 00:47:19,690 --> 00:47:22,060 इसलिए हम एक सर्वर पूछ सकते हैं हमारे लिए उन्हें स्टोर करने के लिए। 967 00:47:22,060 --> 00:47:23,830 हम अपने स्वयं के कंप्यूटर पर उन्हें स्टोर सकता है। 968 00:47:23,830 --> 00:47:27,950 >> मारिया ZLATKOVA: यह सिर्फ पर निर्भर करता है कैसे आप इसे खुद के लिए करना चाहते हैं। 969 00:47:27,950 --> 00:47:30,075 लेकिन हम भंडारण किया गया है उन्हें, हन्ना उल्लेख किया है, 970 00:47:30,075 --> 00:47:31,755 phpMyAdmin, पर जो ऑनलाइन है। 971 00:47:31,755 --> 00:47:36,550 972 00:47:36,550 --> 00:47:39,280 और फिर जिस तरह से हम उपयोग PHP और एसक्यूएल, हम इसे स्टोर 973 00:47:39,280 --> 00:47:43,450 कुछ चर में क्या हम के लिए पूछे गए हैं। 974 00:47:43,450 --> 00:47:48,370 >> हम सभी को इतिहास से चयन करते हैं तो user_id सत्र आईडी के बराबर होती है, जहां 975 00:47:48,370 --> 00:47:53,900 कि सभी पंक्तियों का चयन करेंगे विशिष्ट व्यक्ति के लिए कौन 976 00:47:53,900 --> 00:47:58,327 इतिहास से लॉग इन किया है मेज और पंक्तियों में उन्हें तरह। 977 00:47:58,327 --> 00:48:00,410 पता करने के लिए एक अच्छी बात है CS50 के प्रश्न समारोह कि 978 00:48:00,410 --> 00:48:02,180 एसक्यूएल इंजेक्शन टैग के खिलाफ सुरक्षा करता है। 979 00:48:02,180 --> 00:48:07,420 वह सिर्फ यह सुनिश्चित करता है कि इसका मतलब है दर्ज किया जाता है कि इनपुट सही है 980 00:48:07,420 --> 00:48:09,920 और कहा कि जो व्यक्ति इनपुट प्रवेश कर रहा है 981 00:48:09,920 --> 00:48:15,100 निवेश करने के लिए कोशिश नहीं कर रहा है कुछ दुर्भावनापूर्ण कोड या तो हमारे टेबल ड्रॉप करने के लिए 982 00:48:15,100 --> 00:48:17,305 या सब कुछ नष्ट हमारे डाटाबेस के अंदर। 983 00:48:17,305 --> 00:48:20,060 984 00:48:20,060 --> 00:48:23,400 >> की एक त्वरित अवलोकन मॉडल देखें नियंत्रक मॉडल 985 00:48:23,400 --> 00:48:27,360 यह आयोजन का सिर्फ एक रास्ता है और कोड के बारे में सोच रही है। 986 00:48:27,360 --> 00:48:29,100 यह फिर से एक डिजाइन प्रतिमान है। 987 00:48:29,100 --> 00:48:33,380 क्या इसका मतलब है कि हम है can-- और यह अच्छा अभ्यास है 988 00:48:33,380 --> 00:48:37,790 अलग-अलग हिस्सों को अलग करने के लिए हमारे कोड और क्या वे की 989 00:48:37,790 --> 00:48:40,530 इन तीन मानदंड में नियंत्रित करते हैं। 990 00:48:40,530 --> 00:48:46,700 >> इसलिए हमारे विचार से सबसे अधिक बार है हमारी टेम्पलेट्स, हमारे लेआउट, रास्ता 991 00:48:46,700 --> 00:48:48,260 कि हम अपने कोड कैसे दिखता है निर्धारित किया है। 992 00:48:48,260 --> 00:48:55,190 यही कारण है कि ज्यादातर हमारे सीएसएस फ़ाइलें और रास्ता है हम अपने कोड के डिजाइन में परिभाषित किया गया है कि, 993 00:48:55,190 --> 00:48:55,710 मूल रूप से। 994 00:48:55,710 --> 00:48:59,280 हमारे नियंत्रक ज्यादातर क्या है हम PHP फाइलों के साथ कर दिया गया है। 995 00:48:59,280 --> 00:49:03,030 तो फिर, के साथ काम करना हमारे पास जानकारी है कि 996 00:49:03,030 --> 00:49:06,700 और परिभाषित है कि कैसे जानकारी के लिए किया जाता है 997 00:49:06,700 --> 00:49:10,660 और फिर उस जानकारी गुजर या तो दृश्य या मॉडल पर। 998 00:49:10,660 --> 00:49:13,880 और मॉडल, हम है कि रास्ता है का उपयोग किया गया, हमारे डाटाबेस किया गया है 999 00:49:13,880 --> 00:49:17,510 इसलिए हमारी जानकारी है, जहां यह कहीं न कहीं है तो संग्रहित 1000 00:49:17,510 --> 00:49:21,490 में रहते हैं, और से किसी को जिस तरह से संबंधित है कि कोड 1001 00:49:21,490 --> 00:49:25,410 हम जानते हैं कि जानकारी या मिलता है कि हम उस जानकारी को अद्यतन उस तरह। 1002 00:49:25,410 --> 00:49:28,940 1003 00:49:28,940 --> 00:49:33,200 >> MVC मॉडल में तो, HTTP अनुरोधों एक वेब सर्वर से भेजा जाता है। 1004 00:49:33,200 --> 00:49:36,220 फिर, नियंत्रक की व्याख्या उपयोगकर्ता से अनुरोध 1005 00:49:36,220 --> 00:49:38,260 और तब उपयोगकर्ता इनपुट पुष्टि की। 1006 00:49:38,260 --> 00:49:41,580 यह है कि हम वैकल्पिक है नियंत्रक संवाद 1007 00:49:41,580 --> 00:49:44,000 एक मॉडल के साथ, कुछ ऐसा हमारे डाटाबेस की तरह 1008 00:49:44,000 --> 00:49:47,500 या कुछ अन्य कार्यक्षमता जानकारी है कि रिले। 1009 00:49:47,500 --> 00:49:50,340 और फिर अंत में, नियंत्रक दृश्य पर जानकारी गुजरता 1010 00:49:50,340 --> 00:49:52,090 इतना है कि यह किया जा सकता है गाया है और यह कर सकते हैं कि 1011 00:49:52,090 --> 00:49:55,860 किसी भी व्यक्ति को दिखाई देने लगते हैं वेब पेज तक पहुँचने। 1012 00:49:55,860 --> 00:49:58,440 1013 00:49:58,440 --> 00:50:01,340 >> कोई सवाल? 1014 00:50:01,340 --> 00:50:01,840 भयानक। 1015 00:50:01,840 --> 00:50:04,530 1016 00:50:04,530 --> 00:50:08,469 तो फिर, मॉडल, अपने कार्य को, फिर से, 1017 00:50:08,469 --> 00:50:11,260 जानकारी के लगातार भंडारण है, प्रबंध और डेटा के आयोजन। 1018 00:50:11,260 --> 00:50:13,890 और हम ऐसा क्या देखा है अब तक MySQL डाटाबेस है 1019 00:50:13,890 --> 00:50:16,200 और किसी भी डेटा फ़ाइलों का उपयोग कर सकते हैं। 1020 00:50:16,200 --> 00:50:20,580 >> देखें, जानकारी की प्रस्तुति के लिए उपयोगकर्ता, यूआई, या यूजर इंटरफेस। 1021 00:50:20,580 --> 00:50:22,350 और इस बात का उदाहरण HTML है। 1022 00:50:22,350 --> 00:50:23,950 और फिर हम कम से कम पीएचपी हो सकता है। 1023 00:50:23,950 --> 00:50:28,360 तो एक पाश के लिए कि दोहराता डेटा पर कि बाहर मुद्रित कर रहे हैं 1024 00:50:28,360 --> 00:50:30,720 देखने के हिस्से के रूप में है नियंत्रक करने का विरोध किया। 1025 00:50:30,720 --> 00:50:35,660 और हमारे PHP फाइलों की तो एक बहुत नियंत्रक श्रेणी में आते हैं। 1026 00:50:35,660 --> 00:50:38,410 यह सिर्फ उपयोगकर्ता अनुरोधों को संभालती है और मॉडल से जानकारी हो जाता है। 1027 00:50:38,410 --> 00:50:42,880 1028 00:50:42,880 --> 00:50:45,590 >> दस्तावेज़ में कूदते ऑब्जेक्ट मॉडल है, यह सिर्फ 1029 00:50:45,590 --> 00:50:47,700 रास्ते HTML करने के लिए संदर्भित करता है दस्तावेजों का आयोजन कर रहे हैं। 1030 00:50:47,700 --> 00:50:51,600 और वे एक पेड़ में आयोजित कर रहे हैं एक पदानुक्रम है कि संरचना। 1031 00:50:51,600 --> 00:50:56,720 हम करने के लिए उपयोग किया है तो अगर [सुनाई] दस्तावेज़ के प्रतिनिधित्व, 1032 00:50:56,720 --> 00:51:02,750 हम जैसे, दस्तावेज़ के साथ काम कर सकते हैं हम मूल रूप से वस्तुओं में हेरफेर। 1033 00:51:02,750 --> 00:51:06,630 >> और यह एक बनाने के लिए थोड़ा सा साफ, जब 1034 00:51:06,630 --> 00:51:10,540 हम में से एक बहुत कुछ है हमारे अलग टैग प्रतिक्रिया 1035 00:51:10,540 --> 00:51:12,590 हमारे पेड़ में विभिन्न मार्गों के लिए। 1036 00:51:12,590 --> 00:51:17,070 और फिर इस उदाहरण के लिए, हम शुरू होने वाले दस्तावेज़ नोड है। 1037 00:51:17,070 --> 00:51:20,010 हम हैं, तो हमारे एचटीएमएल नोड कि सिर और शरीर में विभाजन। 1038 00:51:20,010 --> 00:51:22,810 सिर तो शीर्षक और है शीर्षक, हैलो दुनिया में शामिल है। 1039 00:51:22,810 --> 00:51:24,860 और हमारे शरीर सिर्फ शामिल हैलो, दुनिया के रूप में अच्छी तरह से। 1040 00:51:24,860 --> 00:51:28,700 1041 00:51:28,700 --> 00:51:31,900 >> में से किसी पर तो किसी भी सवाल हम अब तक कवर किया है कि बातें? 1042 00:51:31,900 --> 00:51:35,891 और अगर नहीं, हन्ना होगा जावास्क्रिप्ट के साथ ले। 1043 00:51:35,891 --> 00:51:36,390 भयानक। 1044 00:51:36,390 --> 00:51:37,473 >> हन्ना BLUMBERG: ठीक है, शांत। 1045 00:51:37,473 --> 00:51:40,980 कुछ भी पीएचपी या HTML के साथ आता है, या मारिया कवर सामान के किसी भी, 1046 00:51:40,980 --> 00:51:42,700 हम हमेशा रोक सकते हैं। 1047 00:51:42,700 --> 00:51:46,430 बेहतर होगा कि हम पर क्या कर रहे हैं समय फिर से, इतना भयानक। 1048 00:51:46,430 --> 00:51:48,770 और अभी वापस जाने के लिए वास्तव में जल्दी से इस के लिए, 1049 00:51:48,770 --> 00:51:51,010 आप हर पर नजर डालें तो पिछले एक साल के परीक्षा, इस 1050 00:51:51,010 --> 00:51:54,120 either-- यहाँ है ऊपर आता है कुछ HTML, इस चित्र बनाते हैं। 1051 00:51:54,120 --> 00:51:58,380 या यहाँ इस चित्र है, कुछ करना एचटीएमएल, इतना जरूर है कि अभ्यास। 1052 00:51:58,380 --> 00:52:01,500 और फिर उस एक गारंटी है अगर आप सही प्राप्त कर सकते हैं सवाल। 1053 00:52:01,500 --> 00:52:02,000 कूल। 1054 00:52:02,000 --> 00:52:04,510 तो चलो जावास्क्रिप्ट के बारे में बात करते हैं और यह एक छोटा सा है कैसे 1055 00:52:04,510 --> 00:52:09,130 PHP और जैसी भाषाओं से अलग सी, हम पहले से देखा दो भाषाओं। 1056 00:52:09,130 --> 00:52:10,780 तो नंबर एक, यह शिथिल टाइप किया है। 1057 00:52:10,780 --> 00:52:14,630 यही कारण है कि पीएचपी की तरह है, लेकिन सी के विपरीत 1058 00:52:14,630 --> 00:52:15,890 >> यह एक व्याख्या की भाषा है। 1059 00:52:15,890 --> 00:52:19,870 फिर, ऐसा ही है पीएचपी, सी और इस के विपरीत 1060 00:52:19,870 --> 00:52:24,630 हमें यह use-- करने के लिए अनुमति देने के लिए जा रहा है वेब पृष्ठों के साथ वास्तव में अच्छी तरह से काम करता है। 1061 00:52:24,630 --> 00:52:28,350 यह हमें हेरफेर करने के लिए अनुमति देने के लिए जा रहा है सामग्री और कैसे यह लग रहा है 1062 00:52:28,350 --> 00:52:30,300 और यह क्या करता है। 1063 00:52:30,300 --> 00:52:32,330 >> हम अजाक्स का एक छोटा सा देखने के लिए जा रहे हैं। 1064 00:52:32,330 --> 00:52:36,140 यह हमें संवाद करने की अनुमति देता है asynchronously अलग सर्वरों के साथ 1065 00:52:36,140 --> 00:52:37,950 और जानकारी मिलती है। 1066 00:52:37,950 --> 00:52:42,820 और यह बात सच है कि पीएचपी और सी से JavaScript अलग करती है 1067 00:52:42,820 --> 00:52:45,590 यह क्लाइंट पक्ष है। 1068 00:52:45,590 --> 00:52:49,860 दोनों PHP और सी हैं आम तौर पर सर्वर साइड। 1069 00:52:49,860 --> 00:52:51,960 >> अधिकांश भाग के लिए और लगभग पूरी तरह से क्या 1070 00:52:51,960 --> 00:52:53,900 हम कम से कम में देखा है, इस वर्ग, जावास्क्रिप्ट 1071 00:52:53,900 --> 00:52:57,040 जिसका मतलब है, क्लाइंट-साइड पर काम करता है ब्राउज़र है कि वास्तव में 1072 00:52:57,040 --> 00:52:58,597 इसे चलाने के लिए जिम्मेदार है। 1073 00:52:58,597 --> 00:53:01,180 और कहा कि हम ऐसा नहीं है कि इसका मतलब है सर्वर के साथ बातचीत करने की जरूरत है। 1074 00:53:01,180 --> 00:53:04,380 तो यह है कि यह एक बहुत तेजी से हो सकता है इसका मतलब यह वास्तव में है क्योंकि सिर्फ यह, क्रोम है 1075 00:53:04,380 --> 00:53:10,420 यह यह फ़ायरफ़ॉक्स, है, सफारी है जो कुछ भी आप वास्तव में इस्तेमाल अपने जावास्क्रिप्ट चल रहा है। 1076 00:53:10,420 --> 00:53:12,290 >> दर्शकों: अतुल्यकालिक क्या मतलब है? 1077 00:53:12,290 --> 00:53:13,620 >> हन्ना BLUMBERG: आह, क्या asynchronously मतलब है? 1078 00:53:13,620 --> 00:53:14,250 बड़ा सवाल है। 1079 00:53:14,250 --> 00:53:17,890 Asynchronously means-- अच्छी तरह से, सामग्री जिसमें 1080 00:53:17,890 --> 00:53:22,140 हम यह ठीक है, उपयोग करें, हम एक वेब पेज पैदा कर रहे हैं 1081 00:53:22,140 --> 00:53:23,860 और हम कुछ जानकारी प्राप्त करने की जरूरत है। 1082 00:53:23,860 --> 00:53:28,250 मैशप के उदाहरण के साथ तो, हम चाहते हैं कि हो सकता है कि कुछ जानकारी 1083 00:53:28,250 --> 00:53:30,580 लेख खिताब है। 1084 00:53:30,580 --> 00:53:33,330 अब, हम एक ही विकल्प could-- तुल्यकालिक यह करने के लिए है 1085 00:53:33,330 --> 00:53:37,940 और कहा कि चलो इसका मतलब बंद करो, लेख मिल जाना, 1086 00:53:37,940 --> 00:53:41,275 तो लेख वापस मिलता है, और प्रस्तुत करना, लेकिन लगता है कि वास्तव में धीमी गति से होगा। 1087 00:53:41,275 --> 00:53:44,150 यह एक बुरा उपयोगकर्ता अनुभव होगा तुम सिर्फ बैठा होगा क्योंकि 1088 00:53:44,150 --> 00:53:46,630 कुछ प्रतिक्रिया करने के लिए वहाँ इंतज़ार कर रहे। 1089 00:53:46,630 --> 00:53:50,020 >> Asynchronously हम होगी मतलब हमारे व्यापार के बारे में जाने के लिए जारी, 1090 00:53:50,020 --> 00:53:52,529 पेज प्रतिपादन, और हम एक अनुरोध भेजना बंद कर देंगे 1091 00:53:52,529 --> 00:53:54,570 उस तरह के लिए जा रहा है पृष्ठभूमि में होती हैं। 1092 00:53:54,570 --> 00:53:57,610 मुझे लगता है हम उदाहरण में उपयोग लगता है रोब बुला रही है और कह रही है की व्याख्यान, 1093 00:53:57,610 --> 00:53:59,980 अरे, तुम इस को देख सकते हैं और मेरे लिए मेरे पास वापस पाने के लिए, 1094 00:53:59,980 --> 00:54:02,870 सिर्फ मेरे लिए विरोध के रूप में फोन पर इंतज़ार कर रहे। 1095 00:54:02,870 --> 00:54:07,020 तो asynchronously ऐसा होता है इसका मतलब है हम से दूर पृष्ठभूमि में 1096 00:54:07,020 --> 00:54:08,676 समान्तर में। 1097 00:54:08,676 --> 00:54:10,400 >> बड़ा सवाल है। 1098 00:54:10,400 --> 00:54:11,830 और कुछ? 1099 00:54:11,830 --> 00:54:12,330 अच्छा है। 1100 00:54:12,330 --> 00:54:15,020 हम में एक बहुत अधिक कूद जाएगा अजाक्स के साथ अतुल्यकालिक अनुरोध। 1101 00:54:15,020 --> 00:54:18,287 >> दर्शकों: करता है, जहां JavaScript-- करता है यह मॉडल देखें नियंत्रक के साथ आते हैं? 1102 00:54:18,287 --> 00:54:19,620 हन्ना BLUMBERG: बड़ा सवाल है। 1103 00:54:19,620 --> 00:54:23,320 कहाँ जावास्क्रिप्ट गिरावट करता है मॉडल देखें नियंत्रक के साथ? 1104 00:54:23,320 --> 00:54:23,930 हम्म। 1105 00:54:23,930 --> 00:54:28,350 मैं यह fall-- सकते हैं लगता है इसलिए हम आमतौर पर नहीं करना 1106 00:54:28,350 --> 00:54:31,340 उस में यह तोड़ो पसंद प्रतिमान, लेकिन मुझे लगता है कि मैं कहूँगा कि लगता है, 1107 00:54:31,340 --> 00:54:34,280 ठीक है, जावास्क्रिप्ट इसलिए वास्तव में अनुमति देने के लिए जा रहा है 1108 00:54:34,280 --> 00:54:37,587 अमेरिका, डेटा इकट्ठा करने के लिए वास्तव में क्या करना है, डेटा की व्याख्या 1109 00:54:37,587 --> 00:54:38,920 डेटा के साथ सार्थक बातें। 1110 00:54:38,920 --> 00:54:41,100 उस रास्ते में, यह बहुत ही नियंत्रण की तरह है। 1111 00:54:41,100 --> 00:54:43,900 >> लेकिन यह भी करने के लिए हमें अनुमति देने के लिए जा रहा है बातें और प्रिंट बातें प्रदर्शित करते हैं। 1112 00:54:43,900 --> 00:54:47,021 उस रास्ते में, यह बहुत ही दृश्य की तरह है। 1113 00:54:47,021 --> 00:54:47,520 हाँ। 1114 00:54:47,520 --> 00:54:51,710 तो उस में पीएचपी की तरह की तरह है यह एक तरह से दोनों जहां हो सकता है। 1115 00:54:51,710 --> 00:54:53,330 अच्छा प्रश्न। 1116 00:54:53,330 --> 00:54:55,209 और कुछ? 1117 00:54:55,209 --> 00:54:56,000 ठीक है, बहुत बढ़िया। 1118 00:54:56,000 --> 00:54:57,120 सही साथ चल रहा है। 1119 00:54:57,120 --> 00:54:59,110 >> तो चलो एक उदाहरण देखते हैं हम उपयोग कर सकते हैं कि कैसे की 1120 00:54:59,110 --> 00:55:02,250 हमारी वेब कार्यक्रमों में से एक में जावास्क्रिप्ट। 1121 00:55:02,250 --> 00:55:05,680 इसलिए मैं इस पर विचार करेंगे HTML के एक समूह के साथ सूचकांक। 1122 00:55:05,680 --> 00:55:08,800 और बात यह है कि मैं आप चाहते हैं पर ध्यान केंद्रित करने के लिए इस स्क्रिप्ट टैग है। 1123 00:55:08,800 --> 00:55:13,280 और यह ठीक है, मैं कुछ चलाना चाहते हैं, कहते हैं, यह रहती है जहां यहां जावास्क्रिप्ट और है। 1124 00:55:13,280 --> 00:55:15,400 यह hello.js में रहती है। 1125 00:55:15,400 --> 00:55:21,120 >> बहुत ज्यादा सीएसएस की तरह है, हम कर सकते थे एचटीएमएल के भीतर जावास्क्रिप्ट डाल दिया। 1126 00:55:21,120 --> 00:55:24,000 क्यों हम इसे बाहर अलग करने के लिए चाहते हो सकता है? 1127 00:55:24,000 --> 00:55:24,500 हाँ। 1128 00:55:24,500 --> 00:55:25,486 >> दर्शकों: फिर से लिखना आसान? 1129 00:55:25,486 --> 00:55:26,402 >> हन्ना BLUMBERG: हाँ। 1130 00:55:26,402 --> 00:55:28,450 इसे भर में उपयोग करने के लिए आसान है विभिन्न वेब पृष्ठों। 1131 00:55:28,450 --> 00:55:29,980 यह क्लीनर बातें करती रहती है। 1132 00:55:29,980 --> 00:55:32,090 यह सिर्फ अच्छा अभ्यास है। 1133 00:55:32,090 --> 00:55:32,590 भयानक। 1134 00:55:32,590 --> 00:55:33,930 अच्छा उत्तर। 1135 00:55:33,930 --> 00:55:36,690 तो अच्छा है, तो यह जा रहा है हमारे सूचकांक होने के लिए। 1136 00:55:36,690 --> 00:55:39,430 और फिर नीचे हमारे यहाँ है छोटे छोटे जावास्क्रिप्ट फ़ाइल। 1137 00:55:39,430 --> 00:55:42,410 >> और यह कहते हैं सब, हैलो दुनिया सतर्क है। 1138 00:55:42,410 --> 00:55:46,040 तो क्या होता है जब है इस पेज renders-- 1139 00:55:46,040 --> 00:55:49,680 इसलिए आप जो कुछ भी वेबसाइट पर जाना है, तो यह सब है कि क्या होने जा रहा है- 1140 00:55:49,680 --> 00:55:53,330 ठीक है, मैं कर रहा हूँ, यह जा रहा है कहने के लिए यह जावा स्क्रिप्ट कोड को चलाने के लिए जा रहा है। 1141 00:55:53,330 --> 00:55:56,370 और यह जावा स्क्रिप्ट कोड सिर्फ चेतावनी हैलो, दुनिया कहते हैं। 1142 00:55:56,370 --> 00:55:59,090 इसलिए मैं इसे पाने के लिए जा रहा हूँ दोस्ताना छोटे पॉप-अप। 1143 00:55:59,090 --> 00:56:00,360 >> कूल? 1144 00:56:00,360 --> 00:56:04,746 यही कारण है कि बहुत पहले एक तरह से हमारी तरह है जावास्क्रिप्ट कार्यक्रम, हमारे नमस्ते, दुनिया। 1145 00:56:04,746 --> 00:56:07,690 1146 00:56:07,690 --> 00:56:12,190 के बारे में थोड़ा और अधिक लग रहे हैं क्या जावास्क्रिप्ट का वाक्य रचना की तरह लग रहा है। 1147 00:56:12,190 --> 00:56:16,330 और विशेष रूप से, के लिए यह तुलना करते हैं हम पहले देखा है जो सी और पीएचपी,। 1148 00:56:16,330 --> 00:56:20,610 >> जावास्क्रिप्ट में, हम करने जा रहे हैं वर, चर का नाम है, और फिर 1149 00:56:20,610 --> 00:56:21,690 इसकी वास्तविक मूल्य। 1150 00:56:21,690 --> 00:56:26,170 और हम बस, एक प्रकार का उल्लेख नहीं करते पीएचपी में है, लेकिन बहुत सी में विपरीत की तरह 1151 00:56:26,170 --> 00:56:28,850 हम चाहते थे, उदाहरण के लिए, यदि ऐसा है तो मूल्य 50 स्टोर करने के लिए, 1152 00:56:28,850 --> 00:56:32,490 सी में, हम कहने के लिए होता है, अरे, सी, मैं एक पूर्णांक चाहते हैं, 1153 00:56:32,490 --> 00:56:35,076 मैं यह कॉल करने के लिए जा रहा हूँ मैं और इसकी कीमत 50 है। 1154 00:56:35,076 --> 00:56:36,450 पीएचपी में, यह थोड़ा आसान है। 1155 00:56:36,450 --> 00:56:41,880 हम अरे, मैं एक चर चाहते हैं, का कहना है मैंने कहा जाता है और इसकी कीमत 50 है। 1156 00:56:41,880 --> 00:56:45,890 बहुत इसी तरह, जावास्क्रिप्ट में, हम , अरे, मैं एक चर मुझे बुलाया कहना चाहते हैं 1157 00:56:45,890 --> 00:56:47,080 इसकी कीमत 50 है। 1158 00:56:47,080 --> 00:56:52,140 मैं का उपयोग करने वाले हर बाद समय मैं, मैं वर लिखने की जरूरत नहीं है। 1159 00:56:52,140 --> 00:56:53,810 यह सिर्फ मैं उस बिंदु से है। 1160 00:56:53,810 --> 00:56:58,660 सी, जहां में एक ही रास्ते में हम मैं पूर्णांक कहना है, एक बार हम सिर्फ मैं का उपयोग करें। 1161 00:56:58,660 --> 00:57:00,340 कूल? 1162 00:57:00,340 --> 00:57:01,800 ठीक है। 1163 00:57:01,800 --> 00:57:03,710 >> छोरों पर चल रहा है, सौभाग्य से, इन लगभग 1164 00:57:03,710 --> 00:57:06,720 मुझे लगता है वे कर रहे हैं exactly-- देखो क्या बिल्कुल के रूप में एक ही 1165 00:57:06,720 --> 00:57:09,799 छोरों में की तरह देखने के लिए जा रहे हैं सी की तरह कुछ जहां अपने पाश के लिए 1166 00:57:09,799 --> 00:57:11,840 तीन किया जा रहा है , एक initialization parts-- 1167 00:57:11,840 --> 00:57:13,640 एक शर्त है, और एक अद्यतन। 1168 00:57:13,640 --> 00:57:15,340 एक जबकि पाश, यह ठीक उसी लग रहा है। 1169 00:57:15,340 --> 00:57:16,390 हम सिर्फ यह एक शर्त दे। 1170 00:57:16,390 --> 00:57:18,264 >> और एक करना पाश, जबकि फिर, बिल्कुल वैसा ही। 1171 00:57:18,264 --> 00:57:20,190 हम इसे एक शर्त दे। 1172 00:57:20,190 --> 00:57:24,510 चलो मैं over-- पुनरावृति करना चाहता था हम कहते हैं मैं कुछ पांच बार करना चाहता था। 1173 00:57:24,510 --> 00:57:27,840 सी में, हम लिख सकता है Init के लिए मैं 0 के बराबर होती है। 1174 00:57:27,840 --> 00:57:30,480 मैं 5 से कम है, मैं ++। 1175 00:57:30,480 --> 00:57:34,240 फर्क सिर्फ इतना है, जावास्क्रिप्ट में, इसके बजाय मैं 0 के बराबर होती पूर्णांक कह रही है की, 1176 00:57:34,240 --> 00:57:36,820 हम वर मैं 0 के बराबर होती है कहना। 1177 00:57:36,820 --> 00:57:38,370 खूबसूरत। 1178 00:57:38,370 --> 00:57:41,320 यही कारण है कि केवल अंतर है। 1179 00:57:41,320 --> 00:57:43,200 इस बात का किसी पर कोई सवाल? 1180 00:57:43,200 --> 00:57:44,160 हाँ। 1181 00:57:44,160 --> 00:57:48,480 >> दर्शकों: पीएचपी में तो, यह वैसा ही है बात यह है कि, सिवाय लेकिन एक चर की तरह? 1182 00:57:48,480 --> 00:57:49,564 या फिर एक वर उदाहरण था? 1183 00:57:49,564 --> 00:57:50,480 हन्ना BLUMBERG: हाँ। 1184 00:57:50,480 --> 00:57:52,310 तो पीएचपी में, यह जा रहा है एक डॉलर के हस्ताक्षर होने के लिए। 1185 00:57:52,310 --> 00:57:59,450 तो यह $ मैं बराबरी करने के लिए जा रहा है 0, $ मैं $ मैं ++, कम से कम 5 है। 1186 00:57:59,450 --> 00:58:02,490 बड़ा सवाल है। 1187 00:58:02,490 --> 00:58:04,570 >> अब के बारे में बात करते हैं समारोह घोषणाओं। 1188 00:58:04,570 --> 00:58:07,010 सी में, हम घोषित जब एक समारोह है, हम इसे एक नाम दिया 1189 00:58:07,010 --> 00:58:08,490 और हम इसे कुछ मानकों दे दी है। 1190 00:58:08,490 --> 00:58:10,670 और शुरुआत में, हम प्रकार लिखा था। 1191 00:58:10,670 --> 00:58:12,440 जावास्क्रिप्ट में, हम लिखने के लिए क्या करना है 1192 00:58:12,440 --> 00:58:15,080 कीवर्ड समारोह कि , हे, जावास्क्रिप्ट कहते हैं, 1193 00:58:15,080 --> 00:58:16,570 मैं एक समारोह को परिभाषित करने के बारे में हूँ। 1194 00:58:16,570 --> 00:58:18,520 >> इस मामले में, यह नाम योग है। 1195 00:58:18,520 --> 00:58:20,820 और यह दो तर्क, एक्स और वाई लेता है। 1196 00:58:20,820 --> 00:58:23,280 हम परवाह नहीं है कि नोटिस एक्स और वाई के प्रकार के बारे में। 1197 00:58:23,280 --> 00:58:26,280 और बस सी की तरह, हम है इस कीवर्ड वापसी, 1198 00:58:26,280 --> 00:58:29,140 इसलिए हम कुछ कर सकते हैं वापसी एक्स और वाई की तरह। 1199 00:58:29,140 --> 00:58:32,540 >> और अब एक बार हम यह पहली लिखा है समारोह में, हम कहीं भी राशि का उपयोग कर सकते हैं। 1200 00:58:32,540 --> 00:58:34,740 और कहा कि पूरी तरह से ठीक है। 1201 00:58:34,740 --> 00:58:37,530 एक वास्तव में अच्छी बात के बारे में सी के विपरीत बहुत है कि जावास्क्रिप्ट 1202 00:58:37,530 --> 00:58:40,770 है कार्यों कर सकते हैं कि मूल्यों की तरह व्यवहार किया। 1203 00:58:40,770 --> 00:58:43,895 इसलिए हम यहां ऐसा कुछ कर सकते हैं मुझे लगता है कि जहां मैं इस up-- कवर 1204 00:58:43,895 --> 00:58:46,400 मैं वर राशि को कवर part-- और हम सिर्फ इतना कहा 1205 00:58:46,400 --> 00:58:49,850 समारोह XY वापसी एक्स प्लस y के बराबर होती है। 1206 00:58:49,850 --> 00:58:52,140 >> यही कारण है कि बुलाया जाएगा क्या है एक गुमनाम समारोह। 1207 00:58:52,140 --> 00:58:53,920 यह एक नाम के बिना एक समारोह है। 1208 00:58:53,920 --> 00:58:56,290 इस समारोह का कहना है जबकि योग, बकवास, बकवास, बकवास, 1209 00:58:56,290 --> 00:58:59,340 यह सिर्फ समारोह कहेंगे। 1210 00:58:59,340 --> 00:59:02,020 लेकिन अब मुझे लगता है कि भले ही इस अनाम समारोह, 1211 00:59:02,020 --> 00:59:03,630 उस समारोह वास्तव में सिर्फ एक मूल्य है। 1212 00:59:03,630 --> 00:59:05,160 हम एक मूल्य की तरह व्यवहार कर सकते हैं। 1213 00:59:05,160 --> 00:59:10,180 >> इसलिए हम एक चर ही में इसे बचाने के लिए कर सकते हैं जिस तरह से हम एक चर में 50 स्टोर सकता है। 1214 00:59:10,180 --> 00:59:13,870 इसलिए हम ठीक है, मैं एक चाहते हैं, कह सकते हैं चर, यह योग कहा जाता है 1215 00:59:13,870 --> 00:59:16,011 और यह इस समारोह है। 1216 00:59:16,011 --> 00:59:18,760 तो इन दो चीजें वास्तव में कर रहे हैं सटीक एक ही बात करने के लिए जा रहा है, 1217 00:59:18,760 --> 00:59:21,576 लेकिन वाक्य रचना के एक छोटे से है अलग-अलग और एक मजेदार नोट की तरह। 1218 00:59:21,576 --> 00:59:22,076 हाँ। 1219 00:59:22,076 --> 00:59:25,548 >> दर्शकों: आप कह सकते हैं तो एक कह कर गुमनाम था कि समारोह में, 1220 00:59:25,548 --> 00:59:28,244 योग कोष्ठक 2, 5? 1221 00:59:28,244 --> 00:59:29,160 हन्ना BLUMBERG: हाँ। 1222 00:59:29,160 --> 00:59:32,280 आप इस गुमनाम कॉल कर सकते हैं उसी तरह से कार्य करते हैं। 1223 00:59:32,280 --> 00:59:33,350 आप योग करना होगा (2, 5) ;. 1224 00:59:33,350 --> 00:59:36,180 1225 00:59:36,180 --> 00:59:38,200 यही कारण है कि पूरी तरह से ठीक हो जाएगा। 1226 00:59:38,200 --> 00:59:41,575 >> मैं वर राशि के बराबर नहीं किया है समारोह है, मैं बस नष्ट कर दिया है, तो 1227 00:59:41,575 --> 00:59:45,480 है- मैं इसे अपने हाथ पर पता है, लेकिन मैं तो है- हटाए नाटक 1228 00:59:45,480 --> 00:59:46,964 उस समारोह तरह की बस चला गया है। 1229 00:59:46,964 --> 00:59:49,630 तुम फिर से, क्योंकि इसका इस्तेमाल कभी नहीं कर सकते हैं आप इसके लिए एक नाम नहीं है। 1230 00:59:49,630 --> 00:59:53,497 यह कुछ का उल्लेख करने के लिए मुश्किल है आप क्या फोन करने के लिए पता नहीं है। 1231 00:59:53,497 --> 00:59:54,080 अच्छा प्रश्न। 1232 00:59:54,080 --> 00:59:54,580 हाँ। 1233 00:59:54,580 --> 00:59:59,580 >> दर्शकों: आप में योग संदर्भित कर सकते हैं एक्स प्लस y के मूल्य के साथ अन्य स्थानों पर? 1234 00:59:59,580 --> 01:00:01,940 >> हन्ना BLUMBERG: कर सकते हैं आप अन्य स्थानों में संदर्भ योग 1235 01:00:01,940 --> 01:00:03,360 मूल्य एक्स प्लस y के साथ? 1236 01:00:03,360 --> 01:00:05,130 मैं तुम्हें क्या मतलब पूरी तरह यकीन नहीं कर रहा हूँ। 1237 01:00:05,130 --> 01:00:10,582 >> दर्शकों: तो अपने अतीत अर्द्ध गुमनाम समारोह राशि इस के बराबर है 1238 01:00:10,582 --> 01:00:14,452 गुमनाम समारोह है, तो योग है आप can-- कि अब एक चर 1239 01:00:14,452 --> 01:00:15,410 हन्ना BLUMBERG: ठीक है। 1240 01:00:15,410 --> 01:00:18,980 इसलिए योग चर रहा है, लेकिन यह actually-- है 1241 01:00:18,980 --> 01:00:23,770 इतनी राशि जिसका एक चर रहा है मूल्य समारोह है। 1242 01:00:23,770 --> 01:00:27,030 तो यह एक तरह से है, जो एक समारोह है, एक अजीब बात यह है कि अपने सिर के चारों ओर लपेट के लिए 1243 01:00:27,030 --> 01:00:29,880 हम साथ खेल रहा हूँ के बाद से सी और तुम सी में ऐसा नहीं कर सकते 1244 01:00:29,880 --> 01:00:32,679 लेकिन अब हम फोन योग कर सकते हैं हम यहां योग कह सकते हैं एक ही रास्ता है। 1245 01:00:32,679 --> 01:00:33,220 दर्शकों: ठीक है। 1246 01:00:33,220 --> 01:00:33,970 हन्ना BLUMBERG: हाँ। 1247 01:00:33,970 --> 01:00:34,553 अच्छा प्रश्न। 1248 01:00:34,553 --> 01:00:35,438 हाँ। 1249 01:00:35,438 --> 01:00:39,862 >> दर्शकों: तो हम प्रयोग नहीं करते PHP या जावास्क्रिप्ट में प्रोटोटाइप? 1250 01:00:39,862 --> 01:00:42,070 हन्ना BLUMBERG: नहीं, हम प्रोटोटाइप का उपयोग करने की जरूरत नहीं है, 1251 01:00:42,070 --> 01:00:43,880 विशेष रूप से जावास्क्रिप्ट में। 1252 01:00:43,880 --> 01:00:49,380 मैं कर रहा हूँ कि एक तो बुरा व्यवहार बात आप ऐसा नहीं करना चाहिए कि कहने के लिए जा रहा 1253 01:00:49,380 --> 01:00:52,620 आप वर मैं = 50 लिखने के लिए नहीं है। 1254 01:00:52,620 --> 01:00:54,840 आप सिर्फ 50 = मैं क्या कर रही शुरू कर सकता है। 1255 01:00:54,840 --> 01:00:57,490 और अभी मैं एक वैश्विक चर बनाना होगा। 1256 01:00:57,490 --> 01:01:00,550 >> यह करने के लिए बहुत बुरा व्यवहार है कभी नहीं स्पष्ट रूप वर मैं कहता हूँ, 1257 01:01:00,550 --> 01:01:01,800 लेकिन यह कुछ आप कर सकते है। 1258 01:01:01,800 --> 01:01:03,591 दुभाषिया नहीं है आप पर चिल्लाना जा रहा है। 1259 01:01:03,591 --> 01:01:05,920 जावास्क्रिप्ट, सुंदर की तरह है आप जो चाहते है वो कर सकते हैं। 1260 01:01:05,920 --> 01:01:09,301 1261 01:01:09,301 --> 01:01:09,800 मुझे माफ करें। 1262 01:01:09,800 --> 01:01:10,300 दो नहीं है। 1263 01:01:10,300 --> 01:01:12,150 नारंगी पैंट में। 1264 01:01:12,150 --> 01:01:13,190 आगे बढ़ें। 1265 01:01:13,190 --> 01:01:14,390 >> दर्शकों: नहीं, तुम पहले जाओ। 1266 01:01:14,390 --> 01:01:16,765 >> दर्शकों: नहीं, मैं सिर्फ कह रहा था मैं अपने हाथ ऊपर नहीं था। 1267 01:01:16,765 --> 01:01:20,248 1268 01:01:20,248 --> 01:01:20,748 ठीक है। 1269 01:01:20,748 --> 01:01:26,604 आप कहते थे तो अगर पहली बार है कि, अब, योग 1270 01:01:26,604 --> 01:01:29,864 हम एक ही तरीका है कि यह फोन, x Y, हर बार की तरह? 1271 01:01:29,864 --> 01:01:30,780 हन्ना BLUMBERG: हाँ। 1272 01:01:30,780 --> 01:01:32,572 तो इन दो अनिवार्य वहीं काम करें। 1273 01:01:32,572 --> 01:01:35,113 दर्शकों: और क्या फायदा है एक या अन्य का उपयोग करने का? 1274 01:01:35,113 --> 01:01:37,500 हन्ना BLUMBERG: कोई लाभ एक या अन्य का उपयोग करने का। 1275 01:01:37,500 --> 01:01:40,080 मैं तो बस आप दो दिखाना चाहता था वाक्य रचना के विभिन्न टुकड़ों। 1276 01:01:40,080 --> 01:01:42,770 समय की एक बहुत जहां गुमनाम कार्यों एक उद्देश्य है 1277 01:01:42,770 --> 01:01:48,220 अगर किसी अन्य के लिए तर्क समारोह में एक समारोह होना चाहिए। 1278 01:01:48,220 --> 01:01:50,600 और हम में देखेंगे कि अजाक्स के साथ बस एक पल। 1279 01:01:50,600 --> 01:01:53,577 >> कि कोई मतलब नहीं था तो, अगर अपने सिर के पीछे में यह दुकान। 1280 01:01:53,577 --> 01:01:55,660 यही कारण है कि जहां एक गुमनाम है समारोह उपयोगी हो सकता है 1281 01:01:55,660 --> 01:01:58,284 यह वास्तव में इसके लायक नहीं है क्योंकि हम सिर्फ रहे हैं के बाद इसे एक नाम दे रही है 1282 01:01:58,284 --> 01:01:59,443 एक बार इसका इस्तेमाल करने जा रही है। 1283 01:01:59,443 --> 01:02:00,370 हाँ। 1284 01:02:00,370 --> 01:02:03,635 >> दर्शकों: यदि एक्स और वाई परिवर्तन बाद में पर, के रूप में अच्छी तरह से बदल योग होगा? 1285 01:02:03,635 --> 01:02:06,510 हन्ना BLUMBERG: यदि एक्स और वाई परिवर्तन पर बाद में, के रूप में अच्छी तरह से बदल योग होगा? 1286 01:02:06,510 --> 01:02:08,840 तो यह है कि मैं वास्तव में है , कुछ है कि लगता है 1287 01:02:08,840 --> 01:02:12,260 फिर, यह सिर्फ बहुत अलग लगता है सी से यह कोई मूल्य नहीं है। 1288 01:02:12,260 --> 01:02:13,620 यह 5 नहीं है। 1289 01:02:13,620 --> 01:02:15,550 यह सिर्फ समारोह में ही है। 1290 01:02:15,550 --> 01:02:19,110 इसलिए जैसे ही आप इसे मापदंडों देने के रूप में, तो आप वास्तव में एक मूल्य की गणना करेंगे। 1291 01:02:19,110 --> 01:02:21,193 >> मारिया ZLATKOVA: और फिर आप समारोह कॉल कर सकते हैं 1292 01:02:21,193 --> 01:02:23,272 और कुछ मूल्य पाने के लिए इसका इस्तेमाल करते हैं। 1293 01:02:23,272 --> 01:02:24,230 हन्ना BLUMBERG: ठीक है। 1294 01:02:24,230 --> 01:02:25,250 बिल्कुल सही। 1295 01:02:25,250 --> 01:02:25,863 हाँ। 1296 01:02:25,863 --> 01:02:27,946 >> दर्शकों: अगर तुम तो बस चर में स्टोर, 1297 01:02:27,946 --> 01:02:31,430 वर एक्स की तरह दो values-- के योग के बराबर होती है 1298 01:02:31,430 --> 01:02:32,420 >> हन्ना BLUMBERG: हाँ। 1299 01:02:32,420 --> 01:02:35,320 तो तुम सिर्फ वर योग कर सकता है दो मूल्यों की राशि के बराबर होती है। 1300 01:02:35,320 --> 01:02:37,670 हाँ। 1301 01:02:37,670 --> 01:02:38,680 कोई ओर प्रश्न? 1302 01:02:38,680 --> 01:02:39,642 हाँ। 1303 01:02:39,642 --> 01:02:42,047 >> दर्शकों: लेकिन होता है कि योग और योग को भ्रमित? 1304 01:02:42,047 --> 01:02:45,062 आप अपने चर राशि फोन की तरह, अगर आप समारोह योग कहोगे? 1305 01:02:45,062 --> 01:02:45,895 हन्ना BLUMBERG: मिमी। 1306 01:02:45,895 --> 01:02:46,395 मिमी। 1307 01:02:46,395 --> 01:02:51,253 आप कुछ किया तो जैसे, योग योग 2, 5 के बराबर होती है? 1308 01:02:51,253 --> 01:02:53,170 >> दर्शकों: हाँ। 1309 01:02:53,170 --> 01:02:56,465 >> हन्ना BLUMBERG: मुझे विश्वास है कि राशि के मूल्य के ऊपर लिख होगा। 1310 01:02:56,465 --> 01:02:59,290 तो एक और दिलचस्प जावास्क्रिप्ट के बारे में बात 1311 01:02:59,290 --> 01:03:02,950 एक एकल चर ले जा सकते हैं विभिन्न प्रकार की एक गुच्छा पर। 1312 01:03:02,950 --> 01:03:03,790 बुरा व्यवहार। 1313 01:03:03,790 --> 01:03:06,280 तुम कुछ भी नहीं करना चाहिए जैसे आप अभी क्या कहा। 1314 01:03:06,280 --> 01:03:10,240 >> लेकिन सी में, मैं सेट है, तो एक पूर्णांक के बराबर है, 1315 01:03:10,240 --> 01:03:13,570 हम यह कभी नहीं पता है कि एक स्ट्रिंग बनने जा रहा। 1316 01:03:13,570 --> 01:03:15,670 यह जावास्क्रिप्ट में ऐसा नहीं है। 1317 01:03:15,670 --> 01:03:17,770 हाँ, अच्छा सवाल है। 1318 01:03:17,770 --> 01:03:20,151 और कुछ? 1319 01:03:20,151 --> 01:03:20,650 ठीक है। 1320 01:03:20,650 --> 01:03:21,850 समय पर सब ठीक कर रहा है। 1321 01:03:21,850 --> 01:03:23,050 जारी रखें। 1322 01:03:23,050 --> 01:03:25,200 ठीक है। 1323 01:03:25,200 --> 01:03:27,780 >> हम एक सरणी पर नजर डालें तो जावास्क्रिप्ट में, यहाँ है 1324 01:03:27,780 --> 01:03:30,250 तारों की एक सरणी की एक त्वरित उदाहरण है। 1325 01:03:30,250 --> 01:03:31,967 और सारणियों गतिशील विकसित कर सकते हैं। 1326 01:03:31,967 --> 01:03:33,675 वे एक के लिए नहीं है उसी तरह से निश्चित आकार 1327 01:03:33,675 --> 01:03:37,990 वे सी में है कि हम उपयोग कर सकते हैं सिर्फ वर्ग कोष्ठक के साथ तत्वों। 1328 01:03:37,990 --> 01:03:41,720 >> यही कारण है कि PHP और एक बहुत की तरह एक बहुत लग रहा है हम इस मामले में कह सकते हैं, जहां सी, जैसे, 1329 01:03:41,720 --> 01:03:48,360 मैं शब्द जावास्क्रिप्ट चाहता था, तो मैं करूंगा एक 0, 1, 2 के साथ वर्ग कोष्ठक आगमन है। 1330 01:03:48,360 --> 01:03:51,450 1331 01:03:51,450 --> 01:03:55,390 जब हम और फिर तुम सी में याद करता है, तो एक सरणी की लंबाई प्राप्त करना चाहता था, 1332 01:03:55,390 --> 01:03:56,820 यह वास्तव में गुस्सा आ रहा था। 1333 01:03:56,820 --> 01:03:58,460 लेकिन जावास्क्रिप्ट में, सुपर आसान। 1334 01:03:58,460 --> 01:03:59,910 हम सब करते हैं, .length। 1335 01:03:59,910 --> 01:04:01,120 यह लंबाई देता है। 1336 01:04:01,120 --> 01:04:01,892 बस। 1337 01:04:01,892 --> 01:04:03,140 >> दर्शकों: इतना आसान है। 1338 01:04:03,140 --> 01:04:05,306 >> हन्ना BLUMBERG: हाँ, बनाता है अपने जीवन बहुत आसान। 1339 01:04:05,306 --> 01:04:08,950 1340 01:04:08,950 --> 01:04:11,560 ठीक है, वहाँ नहीं object--। 1341 01:04:11,560 --> 01:04:15,480 जावास्क्रिप्ट महसूस में वस्तुओं सी में structs की तरह एक बहुत 1342 01:04:15,480 --> 01:04:18,280 और पीएचपी में साहचर्य arrays। 1343 01:04:18,280 --> 01:04:20,270 तो हम क्या देखा है एक की बहुत JSON, जो है 1344 01:04:20,270 --> 01:04:23,150 जावास्क्रिप्ट वस्तु संकेतन के लिए खड़ा है। 1345 01:04:23,150 --> 01:04:25,550 और यह मूल रूप से एक रास्ता है के बारे में हमारी डेटा संरचना। 1346 01:04:25,550 --> 01:04:27,880 >> तो चलो एक उदाहरण देखते हैं, शायद सबसे आसान। 1347 01:04:27,880 --> 01:04:32,540 तो यहाँ एक वस्तु का एक उदाहरण है कि CS50, वर्ग की दुकानों। 1348 01:04:32,540 --> 01:04:37,790 मैं क्लास का कहना है कि, जब मैं, ज़ाहिर है इसका मतलब नहीं, हाँ CS50 पाठ्यक्रम like--। 1349 01:04:37,790 --> 01:04:40,730 और आप देखेंगे कि वस्तु में सब कुछ 1350 01:04:40,730 --> 01:04:43,526 समाहित किया जा रहा है घुंघराले ब्रेसिज़ में। 1351 01:04:43,526 --> 01:04:48,260 >> और हम क्षेत्र के नाम संबद्ध करने के लिए शुरू या विभिन्न मूल्यों के साथ चाबियाँ। 1352 01:04:48,260 --> 01:04:52,920 तो आप कैसे इस तरह के देखने के लिए शुरू कर सकते हैं PHP में एक साहचर्य सरणी की तरह लगता है। 1353 01:04:52,920 --> 01:04:57,450 इसलिए हम क्षेत्र संबद्ध करने के लिए जा रहे हैं या कुंजी का नाम, पाठ्यक्रम, तार के साथ, 1354 01:04:57,450 --> 01:04:58,510 CS50। 1355 01:04:58,510 --> 01:04:59,940 >> हम एक प्रशिक्षक के लिए जा रहे हैं। 1356 01:04:59,940 --> 01:05:00,940 हम TFS लिए जा रहे हैं। 1357 01:05:00,940 --> 01:05:05,240 हम psets की संख्या के लिए जा रहे हैं और हम दर्ज की गई है करने के लिए जा रहे हैं। 1358 01:05:05,240 --> 01:05:10,720 और टिप्पणी करने के लिए एक अच्छी बात की है सब इन बातों को विभिन्न प्रकार है, 1359 01:05:10,720 --> 01:05:12,020 और कहा कि पूरी तरह से ठीक है। 1360 01:05:12,020 --> 01:05:15,330 >> यह वास्तव में एक वस्तु के लिए ठीक है यह शायद एक वस्तु के लिए उम्मीद है 1361 01:05:15,330 --> 01:05:19,620 तार का एक संयोजन है और संख्या और Booleans और सरणियों 1362 01:05:19,620 --> 01:05:23,420 और जो कुछ भी आप कर सकते हैं अपने उद्देश्य के अंदर करना चाहते हैं। 1363 01:05:23,420 --> 01:05:28,570 और इन होने जा रहे हैं कि ध्यान दें नाम या चाबियाँ, और फिर हम सिर्फ 1364 01:05:28,570 --> 01:05:30,300 एक छोटे से पेट के साथ इसे बराबर निर्धारित किया है। 1365 01:05:30,300 --> 01:05:32,015 >> दर्शकों: क्या वास्तव में JSON क्या मतलब है? 1366 01:05:32,015 --> 01:05:33,890 हन्ना BLUMBERG: क्या वास्तव में JSON मतलब है? 1367 01:05:33,890 --> 01:05:36,470 JSON बस के लिए खड़ा है जावास्क्रिप्ट वस्तु संकेतन। 1368 01:05:36,470 --> 01:05:38,430 यह स्वरूपण का सिर्फ एक रास्ता है। 1369 01:05:38,430 --> 01:05:40,040 हाँ। 1370 01:05:40,040 --> 01:05:41,800 यह हमारे डेटा स्वरूपण का एक तरीका है। 1371 01:05:41,800 --> 01:05:43,620 >> सी में, यह structs है। 1372 01:05:43,620 --> 01:05:45,800 पीएचपी में, यह साहचर्य arrays है। 1373 01:05:45,800 --> 01:05:47,120 जावास्क्रिप्ट में, हम वस्तुओं है। 1374 01:05:47,120 --> 01:05:48,969 >> दर्शकों: तो CS50 एक वस्तु है? 1375 01:05:48,969 --> 01:05:51,010 हन्ना BLUMBERG: CS50 है इस मामले में वस्तु। 1376 01:05:51,010 --> 01:05:54,830 1377 01:05:54,830 --> 01:05:57,880 अब, हम वास्तव में कैसे पहुंच करना उन क्षेत्रों के उन क्षेत्रों में परिवर्तन या। 1378 01:05:57,880 --> 01:06:03,920 उदाहरण के लिए, हम फैसला किया है कि लगता है आप एक कम pset इस सेमेस्टर चाहता था। 1379 01:06:03,920 --> 01:06:06,300 इसके बजाय नौ वर्ष की है, हम कर रहे हैं सिर्फ आठ लिए किया जा रहा। 1380 01:06:06,300 --> 01:06:08,240 हम यह कैसे बदल जाएगा? 1381 01:06:08,240 --> 01:06:09,436 >> ओह, गलत तरीका है। 1382 01:06:09,436 --> 01:06:11,060 हम ऐसा कर सकते हैं कि दो तरीके हैं। 1383 01:06:11,060 --> 01:06:13,490 नंबर एक बिंदी के साथ है संकेतन और नंबर दो 1384 01:06:13,490 --> 01:06:15,750 वर्ग कोष्ठक अंकन के साथ है। 1385 01:06:15,750 --> 01:06:19,720 तो, उदाहरण के लिए, मैं अगर बदलने के लिए या उपयोग करना चाहता था 1386 01:06:19,720 --> 01:06:26,820 हमारे CS50 वस्तु में psets क्षेत्र, मुझे क्या करना होगा CS50.psets है, 1387 01:06:26,820 --> 01:06:30,770 इसलिए वस्तु डॉट के नाम क्षेत्र या कुंजी का नाम है। 1388 01:06:30,770 --> 01:06:37,120 >> बहुत इसी तरह, यह ठीक है बराबर तो CS50 करते हैं, और करने के लिए 1389 01:06:37,120 --> 01:06:42,050 वर्ग ब्रेसिज़ में, psets। 1390 01:06:42,050 --> 01:06:42,837 कूल? 1391 01:06:42,837 --> 01:06:44,298 हाँ। 1392 01:06:44,298 --> 01:06:47,707 >> दर्शकों: तो JSON है अभी भी तकनीकी जावास्क्रिप्ट, 1393 01:06:47,707 --> 01:06:51,814 भले ही psets में हम [अश्राव्य] यह अलग? 1394 01:06:51,814 --> 01:06:52,730 हन्ना BLUMBERG: यकीन है। 1395 01:06:52,730 --> 01:06:56,290 सवाल यह है तो, कर रहे हैं जावास्क्रिप्ट और JSON बराबर? 1396 01:06:56,290 --> 01:07:00,750 तो JSON के नोटेशन मूल रूप से है हम बाहर लिखने कि रास्ता 1397 01:07:00,750 --> 01:07:02,700 जावास्क्रिप्ट से एक वस्तु। 1398 01:07:02,700 --> 01:07:05,190 इसलिए वे वास्तव में एक ही नहीं कर रहे हैं। 1399 01:07:05,190 --> 01:07:08,950 >> मैं वहाँ, जावास्क्रिप्ट कहेंगे जावास्क्रिप्ट में वस्तुओं रहे हैं। 1400 01:07:08,950 --> 01:07:12,590 JSON के उन वस्तुओं लेता है और उन्हें प्रिंट और उन्हें प्रदर्शित करता है 1401 01:07:12,590 --> 01:07:15,160 या एक अच्छा तरीका में उन्हें संग्रहीत करता है। 1402 01:07:15,160 --> 01:07:18,110 तो JSON एक प्रोग्रामिंग नहीं है भाषा जावास्क्रिप्ट है कि जिस तरह से। 1403 01:07:18,110 --> 01:07:20,900 इसके लिए सिर्फ संकेतन है जावास्क्रिप्ट में हमारे वस्तुओं। 1404 01:07:20,900 --> 01:07:21,400 हाँ। 1405 01:07:21,400 --> 01:07:24,144 >> दर्शकों: तो क्या वास्तव में [अश्राव्य] को पूरा? 1406 01:07:24,144 --> 01:07:25,060 हन्ना BLUMBERG: यकीन है। 1407 01:07:25,060 --> 01:07:27,727 तो यह वास्तव में कुछ भी नहीं है। 1408 01:07:27,727 --> 01:07:28,935 इस का उपयोग करने के लिए सिर्फ एक ही रास्ता है। 1409 01:07:28,935 --> 01:07:31,393 तो चलो हम बदलना चाहते थे, हम कहते हैं समस्या सेट की संख्या 1410 01:07:31,393 --> 01:07:32,450 9-8। 1411 01:07:32,450 --> 01:07:34,383 हम क्या कुछ करना है CS50.psets = 8 ;. की तरह 1412 01:07:34,383 --> 01:07:38,500 1413 01:07:38,500 --> 01:07:39,400 >> हाँ, बड़ा सवाल है। 1414 01:07:39,400 --> 01:07:40,733 यह सिर्फ आप वाक्य रचना दिखाने के लिए है। 1415 01:07:40,733 --> 01:07:43,620 वास्तव में उपयोगी कुछ भी नहीं है। 1416 01:07:43,620 --> 01:07:46,085 कोई सवाल? 1417 01:07:46,085 --> 01:07:48,210 सही साथ चल रहा है। 1418 01:07:48,210 --> 01:07:51,960 >> तो चलो कैसे की एक त्वरित उदाहरण देखो मैं आपको यह बताया था क्योंकि जावास्क्रिप्ट काम करता है 1419 01:07:51,960 --> 01:07:55,170 करता है इन सब शांत बातें और हमें वेब पृष्ठों को संशोधित करने के लिए अनुमति देता है। 1420 01:07:55,170 --> 01:07:56,970 वास्तव में यह कार्रवाई में देखते हैं। 1421 01:07:56,970 --> 01:07:59,850 तो, उदाहरण के लिए, इस HTML फाइल ले। 1422 01:07:59,850 --> 01:08:04,350 >> और मैं तुम पर ध्यान केंद्रित करना चाहते बात है एक बटन है, जो इस विशेष टैग, 1423 01:08:04,350 --> 01:08:06,182 आईडी search_button साथ। 1424 01:08:06,182 --> 01:08:08,670 यह केवल पृष्ठ पर है। 1425 01:08:08,670 --> 01:08:10,690 तो अब चलो देखते हैं क्या हम वास्तव में क्या कर सकते हैं। 1426 01:08:10,690 --> 01:08:12,560 >> खैर, जब लगता है आपको लगता है कि बटन पर क्लिक करें 1427 01:08:12,560 --> 01:08:16,010 हम एक alert-- बनाना चाहते आप बटन क्लिक किया। 1428 01:08:16,010 --> 01:08:17,840 हम ऐसा कर सकते हैं कि कैसे देखते हैं। 1429 01:08:17,840 --> 01:08:23,869 तो यह कुछ नहीं है window.onload-- कि आप इसलिए, कक्षा में देखा है 1430 01:08:23,869 --> 01:08:26,180 प्रश्नोत्तरी के लिए यह पता करने की जरूरत नहीं होगी। 1431 01:08:26,180 --> 01:08:33,660 लेकिन यह मूल रूप से ठीक है, कॉल कहते हैं, इस समारोह में जब खिड़की भार। 1432 01:08:33,660 --> 01:08:35,080 >> तो यह है कि बस की तरह सेटअप कोड की है। 1433 01:08:35,080 --> 01:08:36,390 उस बारे में इतनी चिंता मत करो। 1434 01:08:36,390 --> 01:08:39,170 क्या मैं तुम पर ध्यान केंद्रित करना चाहते हैं यहाँ है। 1435 01:08:39,170 --> 01:08:44,020 हम वर searchButton के बराबर होती है कहना document.getElementById search_button। 1436 01:08:44,020 --> 01:08:46,450 >> आप अनुमान लगा सकते हैं तो, यह क्या करता है, यह कहते है 1437 01:08:46,450 --> 01:08:50,920 ठीक है, तत्व मिल जाते हैं आईडी search_button साथ। 1438 01:08:50,920 --> 01:08:52,790 और अब हम उस राशि और मैं कर रहा हूँ वास्तविक तत्व 1439 01:08:52,790 --> 01:08:56,279 एक में यह स्टोर करने के लिए जा रहा चर searchButton। 1440 01:08:56,279 --> 01:09:00,651 और अब हम वास्तव में उस तत्व का उपयोग कर सकते हैं और इसे बदलने के लिए, या अपने मूल्यों का उपयोग, 1441 01:09:00,651 --> 01:09:01,359 इस तरह बातें। 1442 01:09:01,359 --> 01:09:04,649 हम वास्तव में करने के लिए शुरू कर सकते हैं वेब पेज के साथ व्यस्त हैं। 1443 01:09:04,649 --> 01:09:10,330 >> तो यहाँ मैं अब मुझे लगता है कि, ठीक है, का कहना है यह क्लिक किया जाता है कि जब बटन, 1444 01:09:10,330 --> 01:09:12,859 इस अनाम समारोह कहते हैं। 1445 01:09:12,859 --> 01:09:16,811 इसलिए इस जहां गुमनाम है कार्यों उपयोगी हो जाते हैं। 1446 01:09:16,811 --> 01:09:18,060 और समारोह क्या करता है? 1447 01:09:18,060 --> 01:09:20,529 खैर, यह सिर्फ इस कॉल चेतावनी समारोह और यह कहते हैं, 1448 01:09:20,529 --> 01:09:22,910 आप खोज बटन क्लिक किया। 1449 01:09:22,910 --> 01:09:29,670 >> मैं जहाँ भी जाते हैं, तो तो क्या होगा इस HTML रहता है और मैं बटन पर क्लिक करें 1450 01:09:29,670 --> 01:09:33,729 मैं एक फैंसी थोड़ा सतर्क मिलेगा कि आप बटन क्लिक किया कहते हैं। 1451 01:09:33,729 --> 01:09:40,710 इसलिए चीजों पर ध्यान केंद्रित करने के लिए here-- document.getElementById 1452 01:09:40,710 --> 01:09:44,960 एक विशेष एचटीएमएल हो जाता है दिए गए आईडी के साथ तत्व। 1453 01:09:44,960 --> 01:09:48,529 और अब हम सेट कर सकते हैं जब क्या होना चाहिए 1454 01:09:48,529 --> 01:09:50,702 उस विशेष तत्व क्लिक किया जाता है। 1455 01:09:50,702 --> 01:09:52,670 >> दर्शकों: हम में है कि सभी डाल दिया है? 1456 01:09:52,670 --> 01:09:53,162 >> हन्ना BLUMBERG: क्षमा करें? 1457 01:09:53,162 --> 01:09:55,130 >> दर्शकों: हम करने के लिए है शारीरिक रूप से है कि सभी कोड? 1458 01:09:55,130 --> 01:09:56,340 >> हन्ना BLUMBERG: हम करने के लिए है शारीरिक रूप से है कि सभी कोड? 1459 01:09:56,340 --> 01:09:56,839 हाँ। 1460 01:09:56,839 --> 01:09:58,120 कष्टप्रद के इस तरह नहीं है? 1461 01:09:58,120 --> 01:10:00,032 इस कोड का एक बहुत कुछ है। 1462 01:10:00,032 --> 01:10:01,574 >> दर्शकों: आप कुछ आयात कर सकता है। 1463 01:10:01,574 --> 01:10:02,532 हन्ना BLUMBERG: ठीक है। 1464 01:10:02,532 --> 01:10:03,610 हम कुछ का उपयोग कर सकता है। 1465 01:10:03,610 --> 01:10:08,140 और particular-- में ओह, यह मुझे बता रहा है कि मैं धारा को पढ़ाने के लिए है। 1466 01:10:08,140 --> 01:10:11,061 विशेष रूप से, चलो jQuery पुस्तकालय का उपयोग करें, 1467 01:10:11,061 --> 01:10:13,060 कि वास्तव में था क्योंकि लंबी और वास्तव में गुस्सा 1468 01:10:13,060 --> 01:10:16,860 और मैं इसे आसान बनाने के लिए सक्षम होना चाहता हूँ और यह छोटे और लिखने के लिए आसान बनाते हैं। 1469 01:10:16,860 --> 01:10:19,810 >> तो jQuery के एक जावास्क्रिप्ट पुस्तकालय है। 1470 01:10:19,810 --> 01:10:24,930 इसलिए जावास्क्रिप्ट प्रोग्रामिंग है भाषा; jQuery के एक पुस्तकालय है। 1471 01:10:24,930 --> 01:10:27,190 और यह आसान चीजों की एक गुच्छा बना देता है। 1472 01:10:27,190 --> 01:10:33,230 यह बदल रहा है और पार जा बनाता है एक HTML दस्तावेज़ बहुत आसान है। 1473 01:10:33,230 --> 01:10:35,030 >> इसे संभालने की घटनाओं को आसान बनाता है। 1474 01:10:35,030 --> 01:10:37,580 यह आसान एनीमेशन बनाता है और यह आसान अजाक्स बनाता है। 1475 01:10:37,580 --> 01:10:40,140 तो चलो में से दो में कूद जाने ठीक है अब उन चीजों। 1476 01:10:40,140 --> 01:10:40,900 मुझे माफ करें। 1477 01:10:40,900 --> 01:10:42,620 हम ऐसा करने से पहले, कुछ बुनियादी सिंटेक्स। 1478 01:10:42,620 --> 01:10:46,870 >> यह सबसे करने के लिए कहता है jQuery पुस्तकालय की तरह देखो। 1479 01:10:46,870 --> 01:10:50,520 हम इस डॉलर का उपयोग sign-- पीएचपी से कोई संबंध नहीं हस्ताक्षर, 1480 01:10:50,520 --> 01:10:56,030 सिर्फ एक का नाम inconvenient-- चयनकर्ता, बिंदी, और फिर एक कार्रवाई। 1481 01:10:56,030 --> 01:10:58,860 तो चलो कुछ देखते हैं इस बात का ठोस उदाहरण। 1482 01:10:58,860 --> 01:11:02,980 >> तो यह वास्तव में एक ही है घटना स्लाइड से कोड। 1483 01:11:02,980 --> 01:11:08,740 तो यह लंबे समय तक, बदसूरत बात बन जाती है इस बहुत अच्छे, छोटी बात है। 1484 01:11:08,740 --> 01:11:10,370 तो चलो इस नीचे तोड़ने की कोशिश करते हैं। 1485 01:11:10,370 --> 01:11:17,090 यह ठीक है, jQuery-- यह डॉलर का कहना है, jQuery के sign-- मुझे खिड़की लगता है। 1486 01:11:17,090 --> 01:11:18,480 तो यह है कि चयनकर्ता है। 1487 01:11:18,480 --> 01:11:21,800 >> जब यह भार, इस समारोह में कहते हैं। 1488 01:11:21,800 --> 01:11:23,880 तो यह है कि सब कुछ अंदर है। 1489 01:11:23,880 --> 01:11:24,380 ठीक है। 1490 01:11:24,380 --> 01:11:25,740 अब तक सब ठीक है? 1491 01:11:25,740 --> 01:11:26,750 ठीक है। 1492 01:11:26,750 --> 01:11:32,970 >> अब, jQuery के, मुझे मिल आईडी search_button साथ बात। 1493 01:11:32,970 --> 01:11:36,090 और यह क्या क्लिक किया जाता है, इस समारोह में कहते हैं। 1494 01:11:36,090 --> 01:11:37,900 और फिर इस समारोह के बिल्कुल वैसा ही। 1495 01:11:37,900 --> 01:11:41,052 बस चेतावनी का एक छोटा सा है, आप खोज बटन क्लिक किया। 1496 01:11:41,052 --> 01:11:42,650 >> तो यह वास्तव में अच्छा है। 1497 01:11:42,650 --> 01:11:46,260 यह वास्तव में संघनित और हमारे कोड को सरल। 1498 01:11:46,260 --> 01:11:49,030 मैं नहीं जानता था कि कैसे यह आईडी search_button है 1499 01:11:49,030 --> 01:11:50,960 और वर्ग search_button पसंद नहीं? 1500 01:11:50,960 --> 01:11:52,024 >> दर्शकों: हैशटैग? 1501 01:11:52,024 --> 01:11:52,940 हन्ना BLUMBERG: हाँ। 1502 01:11:52,940 --> 01:11:56,450 इस हैश प्रतीक है, यह सिर्फ सीएसएस की तरह है। 1503 01:11:56,450 --> 01:12:00,080 , जब हम तो सीएसएस के साथ, याद आईडी के आधार पर कुछ का चयन करना चाहता था, 1504 01:12:00,080 --> 01:12:01,590 हम पाउंड चिह्न का इस्तेमाल किया। 1505 01:12:01,590 --> 01:12:05,400 और हम का चयन करना चाहता था जब वर्ग द्वारा कुछ, हम डॉट का उपयोग करें। 1506 01:12:05,400 --> 01:12:06,870 अच्छा है। 1507 01:12:06,870 --> 01:12:08,230 सही बात? 1508 01:12:08,230 --> 01:12:11,500 तो jQuery के लिए माना जाता है सिर्फ हमारे जीवन को आसान बनाते हैं। 1509 01:12:11,500 --> 01:12:12,000 हाँ। 1510 01:12:12,000 --> 01:12:15,660 >> दर्शकों: तो मैं के रूप में एक छोटी सी उलझन में हूँ गुमनाम समारोह कैसे काम करता है। 1511 01:12:15,660 --> 01:12:19,027 आप इस anonymouse नाम नहीं समारोह, समारोह? 1512 01:12:19,027 --> 01:12:20,594 इसे क्या कह कर पुकारते हैं? 1513 01:12:20,594 --> 01:12:21,510 हन्ना BLUMBERG: यकीन है। 1514 01:12:21,510 --> 01:12:25,812 तो समारोह सिर्फ एक कीवर्ड है कि मैं एक समारोह को परिभाषित करने के बारे में हूँ, कहते हैं। 1515 01:12:25,812 --> 01:12:26,520 दर्शकों: ठीक है, ओह। 1516 01:12:26,520 --> 01:12:27,353 हन्ना BLUMBERG: ठीक है? 1517 01:12:27,353 --> 01:12:32,120 और फिर हम एक के रूप में इसे पारित तर्क के लिए ले जाने है-- 1518 01:12:32,120 --> 01:12:37,040 क्लिक समारोह को यह भीतरी one--। 1519 01:12:37,040 --> 01:12:39,420 तो हाँ, उस समारोह तो, इस अनाम समारोह, 1520 01:12:39,420 --> 01:12:40,910 एक वास्तविक तर्क हो जाता है। 1521 01:12:40,910 --> 01:12:43,632 तो, जावास्क्रिप्ट में याद है हम मूल्यों के रूप में कार्य करता है इलाज कर सकते हैं। 1522 01:12:43,632 --> 01:12:44,340 दर्शकों: ठीक है, ओह। 1523 01:12:44,340 --> 01:12:45,256 हन्ना BLUMBERG: हाँ। 1524 01:12:45,256 --> 01:12:46,035 मुझे पसंद है कि "ओह।" 1525 01:12:46,035 --> 01:12:47,490 अच्छा लगा। 1526 01:12:47,490 --> 01:12:49,915 अन्य सवाल? 1527 01:12:49,915 --> 01:12:50,505 T.I.M.E? 1528 01:12:50,505 --> 01:12:51,380 मारिया ZLATKOVA: अच्छा। 1529 01:12:51,380 --> 01:12:52,760 अच्छा। 1530 01:12:52,760 --> 01:12:54,210 >> हन्ना BLUMBERG: बहुत बढ़िया। 1531 01:12:54,210 --> 01:12:55,720 कुछ जल्दी उपयोगी है jQuery। 1532 01:12:55,720 --> 01:12:57,559 मैं जाने के लिए नहीं जा रहा हूँ इन सब के माध्यम से। 1533 01:12:57,559 --> 01:12:59,350 ये स्लाइड होगी ऑनलाइन एक छोटा सा 1534 01:12:59,350 --> 01:13:02,040 बाद में, तो आप देख सकते हैं एक छोटा सा बाद में इसे बाहर। 1535 01:13:02,040 --> 01:13:07,120 लेकिन मूल रूप से, सामान्य हम कहते हैं जहां पैटर्न, रखती है 1536 01:13:07,120 --> 01:13:11,510 अरे, ठीक है, jQuery के, यहाँ है मेरी तो यहाँ चयनकर्ता और एक कार्रवाई है। 1537 01:13:11,510 --> 01:13:15,940 और आप पहुंच की तरह बातें कर सकते हैं एक फार्म के मूल्य, कुछ HTML का उपयोग 1538 01:13:15,940 --> 01:13:19,195 जब उपयोगकर्ता क्या होता है नियंत्रण एक रूप है, इस तरह बातें प्रस्तुत करें। 1539 01:13:19,195 --> 01:13:20,106 हाँ। 1540 01:13:20,106 --> 01:13:22,090 >> दर्शकों: में तो परीक्षा, हम जरूरत के लिए जा रहे हैं 1541 01:13:22,090 --> 01:13:25,066 से काफी एक बहुत कुछ पता करने के लिए प्रलेखन। 1542 01:13:25,066 --> 01:13:31,018 तो हम jQuery कॉपी / पेस्ट दिया है कि हमारे पत्रक धोखा करने के लिए दस्तावेज, 1543 01:13:31,018 --> 01:13:32,506 जहां लाइन तैयार की है? 1544 01:13:32,506 --> 01:13:33,957 जैसा कि कितने हम पता करने की जरूरत है? 1545 01:13:33,957 --> 01:13:35,290 हन्ना BLUMBERG: बड़ा सवाल है। 1546 01:13:35,290 --> 01:13:37,765 सवाल यह है की अनिवार्य रूप से आप यह देखते हुए कि 1547 01:13:37,765 --> 01:13:41,330 jQuery के प्रलेखन का उपयोग नहीं कर सकते परीक्षण के दौरान, आप कितना होना चाहिए 1548 01:13:41,330 --> 01:13:41,830 पता है? 1549 01:13:41,830 --> 01:13:45,540 हम आपको आने की उम्मीद नहीं होता कुछ बेतरतीब समारोह के साथ 1550 01:13:45,540 --> 01:13:47,240 हम गूगल को आप उम्मीद करेंगे कि। 1551 01:13:47,240 --> 01:13:52,930 >> उचित खेल रहे हैं कि चीजें मैं होता हैं , सामान्य वाक्य रचना की तरह बस का कहना है 1552 01:13:52,930 --> 01:13:58,310 आईडी के आधार पर चयन करने में सक्षम किया जा रहा है और तो बस सीएसएस तरह class-- द्वारा। 1553 01:13:58,310 --> 01:14:01,876 और फिर वास्तविक कार्यों themself, हम संभावना आपको बता दूँगा। 1554 01:14:01,876 --> 01:14:02,376 हाँ। 1555 01:14:02,376 --> 01:14:05,591 >> दर्शकों: तो आप चयन करते हैं वर्ग द्वारा डॉट मतलब होगा। 1556 01:14:05,591 --> 01:14:06,840 हन्ना BLUMBERG: हाँ, बिल्कुल। 1557 01:14:06,840 --> 01:14:07,340 अच्छा। 1558 01:14:07,340 --> 01:14:10,461 आप वर्ग द्वारा चयन करते हैं, यह जा रहा है बजाय पाउंड चिह्न के डॉट किया जाना है। 1559 01:14:10,461 --> 01:14:10,960 हाँ। 1560 01:14:10,960 --> 01:14:12,710 >> दर्शकों: क्या आप चाहेंगे अंतर खत्म हो जाना 1561 01:14:12,710 --> 01:14:14,310 आईडी के आधार पर और वर्ग से चयन करने के बीच? 1562 01:14:14,310 --> 01:14:14,560 >> हन्ना BLUMBERG: यकीन है। 1563 01:14:14,560 --> 01:14:17,510 चयन के बीच का अंतर वर्ग द्वारा आईडी और चयन। 1564 01:14:17,510 --> 01:14:20,685 मारिया ने कहा कि इतनी के रूप में एक छोटा सा पहले, वहाँ 1565 01:14:20,685 --> 01:14:26,280 केवल एक HTML तत्व हो सकता है एक दिया आईडी के साथ, वर्ग, जबकि 1566 01:14:26,280 --> 01:14:29,740 यह समूह एक गुच्छा करने के लिए हमें की अनुमति देता है एक साथ के विभिन्न तत्वों, 1567 01:14:29,740 --> 01:14:34,300 इसलिए संबंधित हैं कि बातें, लेकिन नहीं बिल्कुल वैसा ही। 1568 01:14:34,300 --> 01:14:35,685 उस सवाल का जवाब है? 1569 01:14:35,685 --> 01:14:36,200 भयानक। 1570 01:14:36,200 --> 01:14:37,194 हाँ। 1571 01:14:37,194 --> 01:14:40,680 >> दर्शकों: आप कई है तो क्या होगा एक ही कक्षा में कर रहे हैं कि बातें? 1572 01:14:40,680 --> 01:14:42,150 >> हन्ना BLUMBERG: क्या होता है अगर आप कई चीजें है कि अगर 1573 01:14:42,150 --> 01:14:43,280 एक ही वर्ग के हैं? 1574 01:14:43,280 --> 01:14:45,829 तो, उदाहरण के लिए, हम कर रहे हैं बस, शुद्ध जावास्क्रिप्ट का उपयोग 1575 01:14:45,829 --> 01:14:48,120 हम कुछ करना होगा document.getElementsByClass। 1576 01:14:48,120 --> 01:14:52,280 1577 01:14:52,280 --> 01:14:56,320 और कहा कि वास्तव में होता तो क्या रिटर्न तत्वों की एक सरणी है। 1578 01:14:56,320 --> 01:14:59,517 >> और तुम पर पुनरावृति करने के लिए या तो है उन्हें आप चाहते हैं जो एक पाते हैं या। 1579 01:14:59,517 --> 01:15:01,350 इसे देने के लिए नहीं जा रहा है आप एक ही तत्व। 1580 01:15:01,350 --> 01:15:03,450 यह तुम्हें देने के लिए जा रहा है तत्वों की एक सरणी। 1581 01:15:03,450 --> 01:15:05,280 बड़ा सवाल है। 1582 01:15:05,280 --> 01:15:07,700 और कुछ? 1583 01:15:07,700 --> 01:15:09,520 भयानक। 1584 01:15:09,520 --> 01:15:12,860 >> इसलिए मुझे लगता है कि आप के साथ परिचित हैं, तो लगता है किसी भी jQuery के तुम, pset में देखा था 1585 01:15:12,860 --> 01:15:15,600 आप जाने के लिए तैयार हैं। 1586 01:15:15,600 --> 01:15:16,325 प्रश्न? 1587 01:15:16,325 --> 01:15:17,610 अरे नहीं। 1588 01:15:17,610 --> 01:15:18,859 मैं वास्तव में सिखाने के लिए है। 1589 01:15:18,859 --> 01:15:19,358 आराम करें। 1590 01:15:19,358 --> 01:15:20,035 यह ठीक हो जाएगा। 1591 01:15:20,035 --> 01:15:20,660 मैं वहाँ मिल जाएगा। 1592 01:15:20,660 --> 01:15:24,670 1593 01:15:24,670 --> 01:15:26,870 >> के अजाक्स के बारे में बात करते हैं। 1594 01:15:26,870 --> 01:15:31,350 तो अजाक्स एक-- अच्छी तरह से होने जा रहा है, इसके लिए क्या खड़ा के साथ शुरू करते हैं। 1595 01:15:31,350 --> 01:15:32,350 यह एक परिचित करा रहा है। 1596 01:15:32,350 --> 01:15:35,855 यह अतुल्यकालिक के लिए खड़ा है जावास्क्रिप्ट और XML। 1597 01:15:35,855 --> 01:15:39,800 और एक्सएमएल मूल रूप से होने जा रहा है है [अश्राव्य] हमारे डेटा का एक प्रकार से। 1598 01:15:39,800 --> 01:15:42,100 लेकिन हम वास्तव में एक्सएमएल इस्तेमाल नहीं किया है। 1599 01:15:42,100 --> 01:15:43,430 इसके बजाय, हम सिर्फ JSON का उपयोग करें। 1600 01:15:43,430 --> 01:15:48,350 >> तो बुनियादी तौर पर, यह कुछ data-- है अतुल्यकालिक, जावास्क्रिप्ट, और डेटा, 1601 01:15:48,350 --> 01:15:50,040 इस मामले में, JSON में। 1602 01:15:50,040 --> 01:15:52,820 और हमारे लक्ष्य हम उल्लेख किया है, के रूप में एक छोटा सा पहले, 1603 01:15:52,820 --> 01:15:56,880 एक बनाने के लिए सक्षम होने के लिए है अनुरोध है कि, अनुरोध करते हैं 1604 01:15:56,880 --> 01:16:00,700 में अपनी बात पृष्ठभूमि, लेकिन जारी रखने के लिए 1605 01:16:00,700 --> 01:16:02,550 हम ऐसा करने की इच्छुक थे जो कुछ भी करते हैं। 1606 01:16:02,550 --> 01:16:06,650 और उस जानकारी है तो जब तैयार है, तो हम इसे शामिल करेंगे। 1607 01:16:06,650 --> 01:16:08,470 >> तो यह क्या देखते हैं वास्तव में की तरह लग रहा है। 1608 01:16:08,470 --> 01:16:11,210 और यह, आप होना चाहिए परिचित एक छोटा सा 1609 01:16:11,210 --> 01:16:13,680 pset8 से, एक तुम्हारे बस में बदल गया। 1610 01:16:13,680 --> 01:16:16,200 तो यहाँ एक वैध jQuery के समारोह है कि हम हो सकता है 1611 01:16:16,200 --> 01:16:18,250 इस डॉलर के हस्ताक्षर about-- जानना चाहते हैं। 1612 01:16:18,250 --> 01:16:21,500 तो यह jQuery समारोह, .getJson कहते हैं। 1613 01:16:21,500 --> 01:16:25,020 >> और क्या इस कार्य करता है यह है एक यूआरएल और कुछ parameters-- लेता है 1614 01:16:25,020 --> 01:16:28,000 इसलिए मैं इस मामले में लगता है pset8 की, यह की तरह था 1615 01:16:28,000 --> 01:16:33,520 यूआरएल articles.php था और मापदंडों के = कुछ डाक कोड जाना था। 1616 01:16:33,520 --> 01:16:41,580 और यह ठीक है, के लिए एक अनुरोध करना कहते हैं, दिए गए मापदंडों के साथ इस यूआरएल। 1617 01:16:41,580 --> 01:16:43,480 और कहा कि सिर्फ होता है। 1618 01:16:43,480 --> 01:16:47,730 >> यह पूरा होने पर, यह या तो सफलतापूर्वक पूरा करने के लिए जा रहा 1619 01:16:47,730 --> 01:16:49,370 या इसे विफल करने के लिए जा रहा है। 1620 01:16:49,370 --> 01:16:53,480 इसलिए इस कॉल के बराबर है रोब और कुछ करने के लिए उसे पूछने के लिए। 1621 01:16:53,480 --> 01:17:00,260 वह वापस बुलाता है और फिर, जब वह या तो मैं कर रहा हूँ या मैं असफल कहने जा रहा। 1622 01:17:00,260 --> 01:17:04,030 >> आप कर रहे हैं, जहां मामले में तो किया, आप ठीक है, मैं कर रहा हूँ, कहते हैं। 1623 01:17:04,030 --> 01:17:05,980 और फिर आप इस समारोह में कहते हैं। 1624 01:17:05,980 --> 01:17:08,915 इस मामले में, यह एक होने जा रहा है कुछ जानकारी लेता है कि समारोह। 1625 01:17:08,915 --> 01:17:12,890 हम आम तौर पर देखभाल के बारे में एक, डेटा है हम वास्तव में लौट रहे थे कि डेटा 1626 01:17:12,890 --> 01:17:15,900 .getJSON बुला का एक परिणाम के रूप में। 1627 01:17:15,900 --> 01:17:17,470 >> और अगर आप इसके साथ कुछ कर सकते हैं। 1628 01:17:17,470 --> 01:17:23,670 Pset8 के मामले में तो, हम एक सूची के रूप में यह प्रदर्शित होता है। 1629 01:17:23,670 --> 01:17:29,050 असफल एक समारोह होने जा रहा है अनुरोध विफल रहता है कि कहा जाता है 1630 01:17:29,050 --> 01:17:30,450 कारण जो भी हों। 1631 01:17:30,450 --> 01:17:35,104 और pset8 के मामले में, हम सिर्फ यह console.log। 1632 01:17:35,104 --> 01:17:36,020 उस पर कोई सवाल? 1633 01:17:36,020 --> 01:17:36,300 हाँ। 1634 01:17:36,300 --> 01:17:39,633 >> दर्शकों: हम सिर्फ समारोह थीटा उपयोग कर सकते हैं बजाय समारोह की, textStatus, jqHXR। 1635 01:17:39,633 --> 01:17:43,464 1636 01:17:43,464 --> 01:17:44,380 हन्ना BLUMBERG: यकीन है। 1637 01:17:44,380 --> 01:17:46,713 तो हाँ, मैं pset में लगता है, हम सिर्फ समारोह डेटा को देखा। 1638 01:17:46,713 --> 01:17:48,700 तो यह सिर्फ ठीक है, हाँ the-- है। 1639 01:17:48,700 --> 01:17:50,510 यही कारण है कि हम pset में क्या देखा है। 1640 01:17:50,510 --> 01:17:51,480 यही कारण है कि पूरी तरह से ठीक है। 1641 01:17:51,480 --> 01:17:54,210 >> अगर तुम चाहते थे ये तो बस कर रहे हैं अधिक जानकारी के बाहर खींचने के लिए, 1642 01:17:54,210 --> 01:17:57,190 ये बातें कर रहे हैं कि आप .getJSON से मिल सकता है। 1643 01:17:57,190 --> 01:17:59,040 अच्छा प्रश्न। 1644 01:17:59,040 --> 01:17:59,706 और कुछ? 1645 01:17:59,706 --> 01:18:00,206 हाँ। 1646 01:18:00,206 --> 01:18:01,787 >> दर्शकों: तो .getJSON अजाक्स है? 1647 01:18:01,787 --> 01:18:02,620 हन्ना BLUMBERG: ठीक है। 1648 01:18:02,620 --> 01:18:05,700 तो यह मुश्किल हिस्सा की तरह है। 1649 01:18:05,700 --> 01:18:12,390 यह अनुमति देता है कि एक jQuery समारोह है आप अतुल्यकालिक कॉल करने के लिए। 1650 01:18:12,390 --> 01:18:16,080 और उन अतुल्यकालिक कॉल, कि क्या हम अजाक्स के रूप में करने के लिए बात कर रहा है। 1651 01:18:16,080 --> 01:18:16,850 हाँ। 1652 01:18:16,850 --> 01:18:20,185 यही कारण है कि मुझे एक बहुत लंबे समय ले लिया मैं एक छात्र था जब अलग खींच। 1653 01:18:20,185 --> 01:18:21,560 दर्शकों: तुम फिर से कह सकते हैं? 1654 01:18:21,560 --> 01:18:22,476 हन्ना BLUMBERG: हाँ। 1655 01:18:22,476 --> 01:18:23,630 मैं फिर से कहना है कि कर सकते हैं? 1656 01:18:23,630 --> 01:18:29,010 इस .getJSON समारोह, यह एक jQuery समारोह है। 1657 01:18:29,010 --> 01:18:31,970 और इसे बनाने के लिए जा रहा है एक अतुल्यकालिक कॉल। 1658 01:18:31,970 --> 01:18:35,700 और इन अतुल्यकालिक कॉल, हम है अजाक्स के रूप में उन लोगों के लिए चर्चा करते हुए किया गया है। 1659 01:18:35,700 --> 01:18:39,610 1660 01:18:39,610 --> 01:18:41,872 >> कोई ओर प्रश्न? 1661 01:18:41,872 --> 01:18:43,330 हम छोड़ दिया है, बस एक दो मिनट है। 1662 01:18:43,330 --> 01:18:45,080 और मारिया के लिए जा रहा सुरक्षा के साथ लपेट 1663 01:18:45,080 --> 01:18:47,464 और फिर हम जा रहे हैं बस के बारे में किया जाना है। 1664 01:18:47,464 --> 01:18:48,630 मारिया ZLATKOVA: बहुत बढ़िया, ठीक है। 1665 01:18:48,630 --> 01:18:54,030 तो यह सिर्फ एक जोड़े को ले है- सेकंड की इस पर देखने के लिए। 1666 01:18:54,030 --> 01:18:56,750 और यह वास्तव में बहुत कुछ नहीं है। 1667 01:18:56,750 --> 01:18:59,430 और यही कारण है कि कोई मुझे बता सकते हैं? 1668 01:18:59,430 --> 01:19:05,650 क्या foo में चल रहा है और हो सकता है, कर सकता है संभवतः कुछ बुरा परिणाम में, 1669 01:19:05,650 --> 01:19:06,770 और कि क्या कहा जाता है? 1670 01:19:06,770 --> 01:19:07,270 हाँ। 1671 01:19:07,270 --> 01:19:10,391 दर्शकों: तो है कि तर्क 12 से अधिक वर्ण में पारित कर दिया, 1672 01:19:10,391 --> 01:19:11,454 यह अतिप्रवाह हो सकता है। 1673 01:19:11,454 --> 01:19:12,370 मारिया ZLATKOVA: ठीक है। 1674 01:19:12,370 --> 01:19:14,180 बिल्कुल सही। 1675 01:19:14,180 --> 01:19:15,384 इसे क्या कहते है? 1676 01:19:15,384 --> 01:19:16,300 तुम सिर्फ यह उल्लेख किया है। 1677 01:19:16,300 --> 01:19:16,840 >> दर्शकों: बफर अतिप्रवाह। 1678 01:19:16,840 --> 01:19:18,381 >> मारिया ZLATKOVA: हाँ, अतिप्रवाह बफर। 1679 01:19:18,381 --> 01:19:21,230 तो यह कुछ है कि हम बफर अतिप्रवाह के रूप में देखें। 1680 01:19:21,230 --> 01:19:25,500 और हम, foo की कि अंदर देखना हम अपने बफर, ग से परिभाषित किया है 1681 01:19:25,500 --> 01:19:27,240 12 के एक आकार के साथ। 1682 01:19:27,240 --> 01:19:32,680 हालांकि, मुख्य रूप से, हम नहीं करते सब पर किसी भी तरह की जांच 1683 01:19:32,680 --> 01:19:36,480 चाहे वह इतना है कि argv1-- दूसरा तर्क था। 1684 01:19:36,480 --> 01:19:39,630 हम या नहीं यह जांच नहीं करते इसका आकार उचित है। 1685 01:19:39,630 --> 01:19:43,380 >> तो अगर हम एक था विशेष रूप से दुर्भावनापूर्ण उपयोगकर्ता 1686 01:19:43,380 --> 01:19:47,170 था कि कुछ तर्क में डाल दिया है जो 12 से अधिक समय है, और फिर संभावित 1687 01:19:47,170 --> 01:19:50,850 कि की सीमा से परे तर्क, कुछ निष्पादन योग्य कोड था 1688 01:19:50,850 --> 01:19:55,570 वह कुछ बुरा करने की कोशिश कर रहा था कि इसके साथ; तो यह क्या होगा 1689 01:19:55,570 --> 01:19:59,310 वापसी से ऊपर होंगे foo समारोह का पता, 1690 01:19:59,310 --> 01:20:04,370 जब समारोह के कारण कि कोड को निष्पादित करने के लिए लौटने। 1691 01:20:04,370 --> 01:20:07,540 और फिर बुरी बातें हो सकता है। 1692 01:20:07,540 --> 01:20:09,850 यह हर किसी के लिए समझ पड़ता है? 1693 01:20:09,850 --> 01:20:12,424 >> और हम इस के खिलाफ कैसे बचा सकते हैं? 1694 01:20:12,424 --> 01:20:13,090 कोई सुझाव? 1695 01:20:13,090 --> 01:20:16,480 1696 01:20:16,480 --> 01:20:21,890 असल में, के अंदर संभवतः Foo, कैसे 1697 01:20:21,890 --> 01:20:28,294 हम यह सुनिश्चित करने के लिए जाँच कर सकते हैं कि कि ऐसा नहीं हो सकता? 1698 01:20:28,294 --> 01:20:33,879 >> दर्शकों: आकार 12 से अधिक हो गई है, तो आप अतिरिक्त स्मृति आवंटित करेगी? 1699 01:20:33,879 --> 01:20:37,170 मारिया ZLATKOVA: सुझाव है, आवंटित आकार के अतिरिक्त स्मृति पार हो गई। 1700 01:20:37,170 --> 01:20:39,800 दरअसल, हम कुछ कर सकती के रूप में अच्छी तरह से है कि तुलना में आसान बहुत। 1701 01:20:39,800 --> 01:20:44,870 हम सिर्फ स्ट्रिंग लंबाई प्राप्त कर सकते हैं दर्ज किया जाता है कि तर्क की, 1702 01:20:44,870 --> 01:20:48,590 कि कम है तो जाँच से या 12-- के बराबर 1703 01:20:48,590 --> 01:20:50,790 हम यह चाहते हैं क्या है जो हम नहीं चाहते क्योंकि होना करने के लिए 1704 01:20:50,790 --> 01:20:52,373 यह हमारे बफर की सीमा पार करने के लिए। 1705 01:20:52,373 --> 01:20:55,690 और यह नहीं है तो, तो हम तर्क के साथ काम कर सकते हैं। 1706 01:20:55,690 --> 01:21:00,296 अगर यह होता है और फिर, हम वास्तव में चाहते हैं उपयोगकर्ता पर संभावित Yello के लिए। 1707 01:21:00,296 --> 01:21:01,670 लेकिन इस हम ऐसा कैसे होता है। 1708 01:21:01,670 --> 01:21:02,443 हाँ। 1709 01:21:02,443 --> 01:21:04,360 >> दर्शकों: तुम सकता है memcpy असली जल्दी समझा? 1710 01:21:04,360 --> 01:21:05,443 मारिया ZLATKOVA: ओह, माफ करना। 1711 01:21:05,443 --> 01:21:06,040 हाँ। 1712 01:21:06,040 --> 01:21:11,290 Memcpy ठीक है, जो कुछ है- खेद लेता है। 1713 01:21:11,290 --> 01:21:15,850 Memcpy है जो कुछ भी लेता है बार में, जो कुछ भी पारित हो जाता है 1714 01:21:15,850 --> 01:21:18,050 कमांड लाइन तर्क के रूप में foo पर। 1715 01:21:18,050 --> 01:21:19,440 तो यह argv1 ले जा रहा है। 1716 01:21:19,440 --> 01:21:21,420 Argv1 यहां बार कहा जाता है। 1717 01:21:21,420 --> 01:21:24,453 तो यह पट्टी ले जा रहा है और यह सी में कॉपी करने के लिए जा रहा है। 1718 01:21:24,453 --> 01:21:25,402 >> दर्शकों: ठीक है। 1719 01:21:25,402 --> 01:21:28,360 मारिया ZLATKOVA: और यह जा रहा है तीसरा तर्क सिर्फ संदर्भित copy-- 1720 01:21:28,360 --> 01:21:30,601 कितना करने के लिए इसे ग में कॉपी करने के लिए जा रहा है। 1721 01:21:30,601 --> 01:21:31,142 दर्शकों: आह। 1722 01:21:31,142 --> 01:21:33,030 तो यह एक नकल के तो यह सब। 1723 01:21:33,030 --> 01:21:34,310 >> मारिया ZLATKOVA: हाँ, यह यह सब को कॉपी है। 1724 01:21:34,310 --> 01:21:34,810 हाँ। 1725 01:21:34,810 --> 01:21:38,400 1726 01:21:38,400 --> 01:21:41,910 सबसे पहले, हम बार नहीं है सुनिश्चित करें यह एक सूचक है, क्योंकि बराबर अशक्त करने के लिए। 1727 01:21:41,910 --> 01:21:44,680 तो फिर हम बार की स्ट्रिंग लंबाई मिलता है। 1728 01:21:44,680 --> 01:21:47,530 हम यह सुनिश्चित कर लें कि कम से कम या 12 के बराबर है। 1729 01:21:47,530 --> 01:21:50,070 और फिर हम है क्योंकि सुनिश्चित कर दिया है, हम वास्तव में कर सकते हैं 1730 01:21:50,070 --> 01:21:53,122 memcpy और वह ठीक है कि यह सुनिश्चित हो। 1731 01:21:53,122 --> 01:21:53,705 कोई सवाल? 1732 01:21:53,705 --> 01:21:56,280 1733 01:21:56,280 --> 01:21:58,690 अच्छा है। 1734 01:21:58,690 --> 01:22:00,400 मैं दो सही है या गलत सवाल है। 1735 01:22:00,400 --> 01:22:05,470 किसी को भी सही दूर मुझे बता सकते हैं इन सही है या गलत कर रहे हैं तो क्या होगा? 1736 01:22:05,470 --> 01:22:07,460 हाँ, यह गलत है। 1737 01:22:07,460 --> 01:22:07,960 बिल्कुल सही। 1738 01:22:07,960 --> 01:22:09,330 उन दोनों ने झूठे हैं। 1739 01:22:09,330 --> 01:22:12,682 एक ही पासवर्ड का उपयोग कर तो वास्तव में कभी अच्छा विचार है 1740 01:22:12,682 --> 01:22:14,890 किसी को जानता है, क्योंकि अगर अपना पासवर्ड, वे सिर्फ कर सकते हैं 1741 01:22:14,890 --> 01:22:16,260 अपने सभी अन्य खातों का उपयोग। 1742 01:22:16,260 --> 01:22:19,260 और फिर माउस को कुछ भी नहीं है सुरक्षा सुनिश्चित करने के लिए। 1743 01:22:19,260 --> 01:22:24,900 हम आम तौर पर HTTPS के लिए दिखना चाहिए बजाय HTTP और यूआरएल की। 1744 01:22:24,900 --> 01:22:28,560 >> और कुछ अन्य प्रकार हम उल्लेख किया है कि हमलों, 1745 01:22:28,560 --> 01:22:31,390 डेविड में उल्लेख किया गया है कि , एसक्यूएल इंजेक्शन हमलों व्याख्यान। 1746 01:22:31,390 --> 01:22:37,310 हम पहले से ही देखा था कि हम don't-- यदि CS50 क्वेरी समारोह यकीन है कि एसक्यूएल बनाता है 1747 01:22:37,310 --> 01:22:39,530 इंजेक्शन हमले होते नहीं कर सकते। 1748 01:22:39,530 --> 01:22:42,640 लेकिन हम CS50 का उपयोग नहीं कर रहे थे, बोली, गंदें शब्द बोलना "क्वेरी में," 1749 01:22:42,640 --> 01:22:46,830 हम यह सुनिश्चित करना होगा कि उपयोगकर्ता इनपुट वास्तव में कुछ एसक्यूएल नहीं है 1750 01:22:46,830 --> 01:22:49,670 सब का कारण होगा कि क्वेरी हमारे टेबल जा गिरा 1751 01:22:49,670 --> 01:22:54,070 या कुछ बुरा हमारे डाटाबेस के साथ होता है। 1752 01:22:54,070 --> 01:22:56,790 >> सत्र अपहरण है हमले का एक और प्रकार 1753 01:22:56,790 --> 01:23:05,940 कि जब कुछ बुरा होता है व्यक्ति कुछ पीड़ित के सत्र का उपयोग करता है 1754 01:23:05,940 --> 01:23:08,740 आईडी लॉगिन जानकारी का उपयोग करने के लिए। 1755 01:23:08,740 --> 01:23:13,620 इसलिए इस बात का एक बहुत ही तुच्छ उदाहरण है जैसे हम एक सार्वजनिक कंप्यूटर है, 1756 01:23:13,620 --> 01:23:21,120 तो बुरे व्यक्ति में और फिर लॉग करता है वे बच रहे हैं कि कुकीज़ है। 1757 01:23:21,120 --> 01:23:23,380 और कुकी सत्र के लिए बदल नहीं है। 1758 01:23:23,380 --> 01:23:27,620 >> तो फिर हम शिकार में जाना है और फिर वेबसाइट में लॉग इन करें। 1759 01:23:27,620 --> 01:23:30,290 कुकीज़ बदल नहीं है एक निश्चित सत्र के लिए। 1760 01:23:30,290 --> 01:23:33,060 और फिर शिकार में लॉग तो वेबसाइट और छोड़ देता है। 1761 01:23:33,060 --> 01:23:36,190 और फिर जो व्यक्ति वापस चला जाता है तो अभी भी अपने सत्र आईडी का उपयोग कर सकते हैं 1762 01:23:36,190 --> 01:23:37,430 उनकी जानकारी का उपयोग करने के लिए। 1763 01:23:37,430 --> 01:23:40,050 इसलिए इस बात का एक उदाहरण है हो सकता है कि कैसे। 1764 01:23:40,050 --> 01:23:45,570 >> और फिर मैं बहुत ज्यादा चिंता नहीं होगी विशिष्ट कोड या कुछ के बारे में 1765 01:23:45,570 --> 01:23:49,270 इस कारण सकता है कि इस तरह, लेकिन इस विचार से किसी प्रकार का कर क्या 1766 01:23:49,270 --> 01:23:51,400 इस में शामिल चर रहे हैं। 1767 01:23:51,400 --> 01:23:53,897 और फिर हेडर जोड़ तोड़ डेटा हमले का एक और प्रकार है 1768 01:23:53,897 --> 01:23:55,230 कि दाऊद के बारे में बात की है की है। 1769 01:23:55,230 --> 01:23:59,730 और यह सिर्फ करने के लिए संदर्भित करता है जब क्या हो सकता है 1770 01:23:59,730 --> 01:24:04,300 प्रतिक्रिया, एचटीटीपी हमारे हेडर के अंदर प्रतिक्रिया 1771 01:24:04,300 --> 01:24:05,720 ठीक से साफ नहीं किया गया है। 1772 01:24:05,720 --> 01:24:14,340 >> और उदाहरण के लिए fields-- के किसी भी, किसी हेडर से एक लिख देगा यदि 1773 01:24:14,340 --> 01:24:18,860 मूल्यों से अधिक कुछ भी शामिल करने के लिए क्या वे contain-- चाहिए और वास्तव में 1774 01:24:18,860 --> 01:24:22,720 एक 200 उदाहरण के लिए, होते हैं ठीक स्थिति कोड, वे तो 1775 01:24:22,720 --> 01:24:26,890 संभावित दुर्भावनापूर्ण कर सकता है चीजों को वे नहीं कर रहे हैं। 1776 01:24:26,890 --> 01:24:30,815 लेकिन मैं भी चिंता नहीं होगी विशिष्ट कोड के बारे में ज्यादा 1777 01:24:30,815 --> 01:24:34,110 कि, इस कारण बन सकता है समझ के बस की तरह 1778 01:24:34,110 --> 01:24:37,290 लगता है कि जैसे उच्च स्तरीय बातें। 1779 01:24:37,290 --> 01:24:39,570 >> मैं यह सब लगता है हम कवर करने के लिए किया है। 1780 01:24:39,570 --> 01:24:40,090 कमाल है। 1781 01:24:40,090 --> 01:24:43,310 किसी को भी किसी पर कोई सवाल है, हम कवर किया है कि चीजों की? 1782 01:24:43,310 --> 01:24:44,213 हाँ। 1783 01:24:44,213 --> 01:24:48,077 >> दर्शकों: तो एक तरह का अधिक साजो सवाल। 1784 01:24:48,077 --> 01:24:53,400 सामग्री मुख्य रूप से ध्यान केंद्रित किया है प्रश्नोत्तरी 1 के बाद चीजों पर? 1785 01:24:53,400 --> 01:24:55,730 >> मारिया ZLATKOVA: तो सवाल यह है कि सामग्री है 1786 01:24:55,730 --> 01:24:59,720 प्रश्नोत्तरी 1 के बाद चीजों पर मुख्य रूप से ध्यान केंद्रित? 1787 01:24:59,720 --> 01:25:06,070 तो ध्यान के बाद पर है अपवाद के साथ प्रश्नोत्तरी 1, 1788 01:25:06,070 --> 01:25:10,914 हम में चीजों पर ध्यान केंद्रित करने की जरूरत है कि pset5 और डेटा संरचनाओं का एक बहुत 1789 01:25:10,914 --> 01:25:11,580 हम कवर किया है कि। 1790 01:25:11,580 --> 01:25:14,300 और हम नहीं कह सकते कि हम पहले कुछ भी अनदेखा कर सकते हैं 1791 01:25:14,300 --> 01:25:17,120 यह रूप में अच्छी तरह से यह पर बनाता है क्योंकि कि। 1792 01:25:17,120 --> 01:25:21,845 >> तो उस पर ध्यान केंद्रित, प्लस pset5 सामग्री लिंक सूचियों, ढेर सहित जैसे, 1793 01:25:21,845 --> 01:25:23,720 कतार, और सब कुछ हन्ना खत्म हो गया है। 1794 01:25:23,720 --> 01:25:24,050 >> हन्ना BLUMBERG: ठीक है। 1795 01:25:24,050 --> 01:25:27,450 हाँ, हम सब सी सामान खत्म हो गया था पर बहुत बहुत जल्दी शुरुआत। 1796 01:25:27,450 --> 01:25:29,090 लेकिन उस की समीक्षा करने के लिए सुनिश्चित करें। 1797 01:25:29,090 --> 01:25:32,700 वापस जाओ और प्रश्नोत्तरी 0 समीक्षा देखो। 1798 01:25:32,700 --> 01:25:36,110 >> एक जोड़े को और अधिक साजो नोट्स, बस, जबकि हम आपका ध्यान है। 1799 01:25:36,110 --> 01:25:39,100 हम कार्यालय समय के लिए जा रहे हैं दोनों सोमवार और मंगलवार की रात को। 1800 01:25:39,100 --> 01:25:41,540 वे एमडी 119 में होने जा रहे हैं। 1801 01:25:41,540 --> 01:25:44,220 यह इसलिए, सभी वेबसाइट पर है आप इसे, कोई चिंता नहीं सुन नहीं है। 1802 01:25:44,220 --> 01:25:45,266 >> मारिया ZLATKOVA: 8:30-11:00। 1803 01:25:45,266 --> 01:25:46,260 >> हन्ना BLUMBERG: हाँ, 8:30-11:00। 1804 01:25:46,260 --> 01:25:46,910 हम वहां होंगे। 1805 01:25:46,910 --> 01:25:48,368 हम सवालों के जवाब देने वहाँ हो जाएगा। 1806 01:25:48,368 --> 01:25:49,480 यह बहुत ठंड है और मजेदार है। 1807 01:25:49,480 --> 01:25:53,240 आप लोग किसी भी सवाल पूछ सकते हैं आप प्रश्नोत्तरी 1 पर है। 1808 01:25:53,240 --> 01:25:55,740 और प्रश्नोत्तरी 1 पर है बुधवार, इतनी अच्छी किस्मत। 1809 01:25:55,740 --> 01:25:59,770 आप हो सकता है, किसी भी प्रश्न हैं यहां पर एक-एक हमसे बात आते हैं। 1810 01:25:59,770 --> 01:26:00,880 कूल। 1811 01:26:00,880 --> 01:26:01,630 बहुत - बहुत धन्यवाद। 1812 01:26:01,630 --> 01:26:02,880 >> मारिया ZLATKOVA: बहुत बहुत धन्यवाद, दोस्तों। 1813 01:26:02,880 --> 01:26:03,480 >> दर्शकों: याय। 1814 01:26:03,480 --> 01:26:05,930 >> [वाहवाही] 1815 01:26:05,930 --> 01:26:07,530