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