1 00:00:00,000 --> 00:00:08,350 2 00:00:08,350 --> 00:00:09,710 >> केविन SCHMID: सबको नमस्ते. 3 00:00:09,710 --> 00:00:12,640 CS50 संगोष्ठी में आपका स्वागत है Node.js. पर 4 00:00:12,640 --> 00:00:13,955 मेरा नाम केविन है. 5 00:00:13,955 --> 00:00:15,580 मैं एक CS50 TF हूँ. 6 00:00:15,580 --> 00:00:17,650 और मैं की तरह वास्तव में उत्साहित की तरह हूँ इस संगोष्ठी के बारे में. 7 00:00:17,650 --> 00:00:20,430 मैं Node.js बहुत शांत है. 8 00:00:20,430 --> 00:00:24,200 मैं इस संगोष्ठी में इस्तेमाल किया जा सकता है उम्मीद के लिए एक अच्छा है, मुझे लगता है, मंच के रूप में 9 00:00:24,200 --> 00:00:26,380 अपने अंतिम परियोजनाओं की अगर कुछ आप का उपयोग करने में रुचि रखते हैं 10 00:00:26,380 --> 00:00:27,630 Node.js. तरह कुछ 11 00:00:27,630 --> 00:00:29,770 12 00:00:29,770 --> 00:00:33,320 >> हम की तरह द्वारा संगोष्ठी शुरू करेंगे बस का एक छोटा सा के बारे में बात 13 00:00:33,320 --> 00:00:36,970 पृष्ठभूमि scalability की तरह फिर Node.js के दृष्टिकोण, और 14 00:00:36,970 --> 00:00:39,240 हम कुछ कोड उदाहरण के लिए कदम होगा. 15 00:00:39,240 --> 00:00:42,340 और मैं एक वेबसाइट पर कोड होगा, और आप कोड में देख सकते हैं. 16 00:00:42,340 --> 00:00:45,475 और संगोष्ठी के बाद, मैं बात की सुलझा लेंगे आप Node.js स्थापित कर सकते हैं के बारे में 17 00:00:45,475 --> 00:00:48,220 आपके कंप्यूटर पर. 18 00:00:48,220 --> 00:00:48,710 >> ठीक है. 19 00:00:48,710 --> 00:00:49,760 तो चलो शुरू हो जाओ. 20 00:00:49,760 --> 00:00:53,700 इसलिए मुझे लगता है मैं बस के बारे में बात करना चाहता हूँ लगता है वेब सर्वर, वास्तव में, पहले. 21 00:00:53,700 --> 00:00:59,730 और इस चर्चा शुरू करने के लिए, मैं मूल रूप से है जो एक चित्र है 22 00:00:59,730 --> 00:01:04,269 CS61 के लिए इस्तेमाल किया पाठ्यपुस्तक, जो मूल रूप से बातचीत से पता चलता है 23 00:01:04,269 --> 00:01:08,510 कृपया अपने वेब की तरह एक ग्राहक प्रक्रिया के बीच ब्राउज़र या अपने उद्देश्य ग्राहक या पसंद 24 00:01:08,510 --> 00:01:11,340 ऐसा कुछ, और एक वेब सर्वर. 25 00:01:11,340 --> 00:01:15,150 तो इस तरह से करने के लिए समान दिखता है आप पर व्याख्यान में देखा कि तस्वीर 26 00:01:15,150 --> 00:01:19,270 बुधवार जहां बुनियादी तौर पर हम कुछ है गूगल क्रोम की तरह ग्राहक की प्रक्रिया. 27 00:01:19,270 --> 00:01:22,980 >> और फिर एक कदम है ग्राहक एक अनुरोध भेजता है. 28 00:01:22,980 --> 00:01:27,510 तो यह है कि कुछ की तरह अच्छी तरह से जाने के किया जा सकता है यात्रा, मैं, CS50.net पता नहीं है. 29 00:01:27,510 --> 00:01:29,320 तो हम उस अनुरोध को जारी करते हैं. 30 00:01:29,320 --> 00:01:34,280 और किसी को नाम से याद करता है कैसे कि यह बताता है कि प्रोटोकॉल 31 00:01:34,280 --> 00:01:35,610 अनुरोध संरचित किया जाना चाहिए? 32 00:01:35,610 --> 00:01:36,382 हां. 33 00:01:36,382 --> 00:01:37,650 >> दर्शक: [सुनाई]. 34 00:01:37,650 --> 00:01:38,150 >> केविन SCHMID: बिल्कुल. 35 00:01:38,150 --> 00:01:40,100 तो यह ठीक है, HTTP की तरह है? 36 00:01:40,100 --> 00:01:44,720 कैसे के लिए तो बुनियादी तौर पर विनिर्देश उस अनुरोध को वास्तव में रखा जाना चाहिए 37 00:01:44,720 --> 00:01:47,450 बाहर, क्योंकि दिन के अंत में, उस अनुरोध को सच की तरह है एक 38 00:01:47,450 --> 00:01:50,240 स्ट्रिंग है कि मूल रूप से मैं यह चाहता हूँ कहते हैं. 39 00:01:50,240 --> 00:01:53,580 और विशिष्टता उस के लिए एचटीटीपी है. 40 00:01:53,580 --> 00:01:55,270 इसलिए कि एक प्रोटोकॉल की तरह है. 41 00:01:55,270 --> 00:01:57,920 >> तो फिर सर्वर को प्राप्त करता है उस अनुरोध. 42 00:01:57,920 --> 00:02:01,610 तो तुम लोग एक वेब सर्वर स्थापित CS50 उपकरण में. 43 00:02:01,610 --> 00:02:02,460 यह अपाचे है. 44 00:02:02,460 --> 00:02:06,230 और इस सप्ताह आप समस्या पर काम करते समय सात सेट, तुम वास्तव में काम कर सकता हूँ 45 00:02:06,230 --> 00:02:08,160 कि वेब सर्वर के साथ. 46 00:02:08,160 --> 00:02:12,380 तो सर्वर उस अनुरोध प्राप्त करता है, और तो यह एक तरह से खरोंच करने के लिए है इसकी 47 00:02:12,380 --> 00:02:15,090 सिर और क्या अच्छी तरह से जैसे कहना मैं इस के साथ क्या करते हैं? 48 00:02:15,090 --> 00:02:20,060 >> तो यह तो करना तय किया है पर आधारित यह किसी तरह का संपर्क करना पड़ सकता 49 00:02:20,060 --> 00:02:20,730 संसाधन की. 50 00:02:20,730 --> 00:02:23,700 और कहा कि संसाधन एक हो सकता है विभिन्न बहुत सी चीजें. 51 00:02:23,700 --> 00:02:26,810 एक के लिए, यह हो सकता है अभी एक स्थैतिक HTML फ़ाइल की तरह. 52 00:02:26,810 --> 00:02:29,820 तो यह सिर्फ कुछ की तरह हो सकता है के लिए की तरह है कि एचटीएमएल 53 00:02:29,820 --> 00:02:31,100 अपनी निजी वेबसाइट. 54 00:02:31,100 --> 00:02:35,360 यह एक छवि की तरह एक स्थिर फाइल किया जा सकता है या तुम हो कि एक फिल्म की तरह. 55 00:02:35,360 --> 00:02:37,660 यह भी बात करने के लिए हो सकता है डेटाबेस का किसी तरह से 56 00:02:37,660 --> 00:02:39,530 एक डाटाबेस की तरह. 57 00:02:39,530 --> 00:02:43,910 तो यह हमेशा से संवाद करने की जरूरत नहीं है एक संसाधन है, लेकिन साथ में 58 00:02:43,910 --> 00:02:45,700 कुछ मामलों में, यह सकता है. 59 00:02:45,700 --> 00:02:47,800 >> तो फिर ऐसा करने में क्या हो रहा है उसके बाद यह जा रहा है है 60 00:02:47,800 --> 00:02:49,430 प्रतिक्रिया वापस भेज देते हैं. 61 00:02:49,430 --> 00:02:53,130 और इस के लिए प्रतिक्रिया है यह भी HTTP द्वारा निर्दिष्ट. 62 00:02:53,130 --> 00:02:54,830 तो फिर ग्राहक इसे प्राप्त कर सकते हैं. 63 00:02:54,830 --> 00:02:56,740 यह इसे फाड़ और यह प्रक्रिया कर सकते हैं. 64 00:02:56,740 --> 00:03:00,900 और फिर आप एक वेब पेज मिल जैसे गूगल या CS50.net या 65 00:03:00,900 --> 00:03:02,240 आप के लिए गया था जो भी हो. 66 00:03:02,240 --> 00:03:03,100 ठीक है? 67 00:03:03,100 --> 00:03:06,080 >> तो इस बुनियादी बातचीत है कि हम साथ काम करने जा रहे हैं. 68 00:03:06,080 --> 00:03:08,770 और हम बहुत ज्यादा होने के लिए जा रहे हैं के इस भाग पर ध्यान केंद्रित 69 00:03:08,770 --> 00:03:10,640 बातचीत, सर्वर. 70 00:03:10,640 --> 00:03:10,990 ठीक है. 71 00:03:10,990 --> 00:03:12,210 कूल. 72 00:03:12,210 --> 00:03:15,500 किसी को भी अब तक किसी भी प्रश्न हैं? 73 00:03:15,500 --> 00:03:17,720 ठीक है. 74 00:03:17,720 --> 00:03:22,430 >> हमने कहा तो, के रूप में वेब सर्वर को प्राप्त करता है तो इस HTTP अनुरोध और इस मुद्दे 75 00:03:22,430 --> 00:03:24,760 HTTP प्रतिक्रिया. 76 00:03:24,760 --> 00:03:29,100 और इस तरह हम, पहले के बारे में बात की थी CS50 उपकरण वेब सर्वर अपाचे है. 77 00:03:29,100 --> 00:03:32,490 आप लोगों पर काम तो जब पी, सात सेट आप के साथ काम करने जा रहे हैं 78 00:03:32,490 --> 00:03:34,120 अपाचे वेब सर्वर. 79 00:03:34,120 --> 00:03:37,890 आप वास्तव में काम करने के लिए कभी नहीं होगा सीधे बहुत ज्यादा अपाचे के साथ. 80 00:03:37,890 --> 00:03:41,920 आप की तरह अपाचे एक छोटे से कॉन्फ़िगर आप आभासी मेजबान या निर्दिष्ट जब 81 00:03:41,920 --> 00:03:44,970 वी होस्ट करता है, और हम मिल जाएगा एक छोटा सा में है कि करने के लिए. 82 00:03:44,970 --> 00:03:50,620 >> लेकिन मूल रूप से, अपाचे वेब सर्वर PHP प्रकार के साथ काम करने के लिए स्थापित 83 00:03:50,620 --> 00:03:51,730 के बॉक्स से बाहर. 84 00:03:51,730 --> 00:03:56,170 जब तुम जाओ तो क्या वास्तव में होता है कहते हैं, की तरह अपने वेबसाइटों में से एक के लिए, 85 00:03:56,170 --> 00:04:00,360 स्थानीय मेजबान स्लैश index.php या कुछ और, अपने ब्राउज़र भेजता है कि 86 00:04:00,360 --> 00:04:04,330 अनुरोध है, और फिर अपाचे बैठी है वहाँ और इसके साथ क्या बाहर के आंकड़े. 87 00:04:04,330 --> 00:04:08,840 और कार्रवाई अमल करने के लिए है कि index.php में कोड और 88 00:04:08,840 --> 00:04:11,330 फिर इसे वापस भेजना बंद. 89 00:04:11,330 --> 00:04:15,640 तो यह है कि वहाँ है. 90 00:04:15,640 --> 00:04:16,980 तो हम एक तरह से इस बारे में बात की. 91 00:04:16,980 --> 00:04:21,990 तो यह सिर्फ एक स्थिर फाइल की सेवा कर सकता या मुद्दा तो कुछ PHP कोड को चलाने और 92 00:04:21,990 --> 00:04:23,510 प्रतिक्रिया. 93 00:04:23,510 --> 00:04:27,670 >> आ सकता है तो फिर एक आम सवाल ऊपर अच्छी तरह से है, हम वास्तव में कैसे सौदा करते हैं 94 00:04:27,670 --> 00:04:31,750 एकाधिक उपयोगकर्ताओं होने के साथ एक ही समय में? 95 00:04:31,750 --> 00:04:36,930 आप एक वेब लिख रहे थे तो कल्पना सर्वर, आप एक वेब सर्वर था कि अगर 96 00:04:36,930 --> 00:04:39,900 यदि आप कुछ लिखने के लिए कोशिश कर रहे थे सी या ऐसा कुछ की तरह, 97 00:04:39,900 --> 00:04:45,150 मूल रूप से आप के बारे में सोच सकते हैं कि कैसे वहाँ कोड किसी तरह का हो सकता है 98 00:04:45,150 --> 00:04:49,330 फिर अनुरोध प्राप्त करते हैं, लेकिन होता यह उस पर यह सब काम करना पड़ता है. 99 00:04:49,330 --> 00:04:53,060 यह उदाहरण के लिए, संपर्क करने के लिए हो सकता है डेटाबेस या ऐसा कुछ. 100 00:04:53,060 --> 00:04:53,300 है ना? 101 00:04:53,300 --> 00:04:56,010 और फिर यह उस तरह से करना होगा प्रसंस्करण की और उसके बाद 102 00:04:56,010 --> 00:04:57,060 प्रतिक्रिया वापस भेज दिया. 103 00:04:57,060 --> 00:04:58,950 इसलिए कि उच्च की तरह है स्तर सिंहावलोकन. 104 00:04:58,950 --> 00:05:04,210 >> लेकिन यह तत्काल स्पष्ट नहीं है कि कैसे आप क्या कर सकते हैं कि इतना है कि दो लोग या 105 00:05:04,210 --> 00:05:09,040 यहां तक ​​1,000 लोगों के साथ काम कर सकता है आपकी एक ही समय में वेब सर्वर. 106 00:05:09,040 --> 00:05:14,880 तो अपाचे का उपयोग करता है कि समाधान धागे या प्रक्रियाओं कहा जाता है. 107 00:05:14,880 --> 00:05:16,770 तो आप के बारे में सुना हो सकता है पहले इन शर्तों. 108 00:05:16,770 --> 00:05:22,190 यह अगर तुम नहीं है ठीक है, लेकिन अभी लगता है के लिए तरीके के रूप में धागे या प्रक्रियाओं के बारे में 109 00:05:22,190 --> 00:05:26,290 एक ऑपरेटिंग सिस्टम या एक उपयोगकर्ता कार्यक्रम या कुछ उस तरह या एक वेब सर्वर 110 00:05:26,290 --> 00:05:28,810 की तरह कई निष्पादित करने के लिए एक ही बार में बातें. 111 00:05:28,810 --> 00:05:31,760 तो तुम शब्द सुना हो सकता है निष्पादन के धागे की तरह. 112 00:05:31,760 --> 00:05:34,140 आप कर रहे हैं तो यह एक तरह से है मल्टीटास्किंग की तरह. 113 00:05:34,140 --> 00:05:37,710 >> और आप के बॉक्स पर देखा है अगर आपके लैपटॉप, या ऐसा कुछ, 114 00:05:37,710 --> 00:05:43,040 आप क्या कर सकते हैं मल्टीकोर, आप यह कर सकते है अलग पर दो अलग धागे चलाने 115 00:05:43,040 --> 00:05:46,700 सीपीयू के कुछ हिस्सों वे कर सकते हैं कि इतना वास्तव में एक ही समय में होता है. 116 00:05:46,700 --> 00:05:48,100 तो यह वास्तव में शक्तिशाली है. 117 00:05:48,100 --> 00:05:52,270 और यह अपाचे की तरह है इस समस्या का हल. 118 00:05:52,270 --> 00:05:57,900 >> इतनी तरह की किसी भी मुद्दे की तरह कर रहे हैं हालांकि इस दृष्टिकोण के साथ? 119 00:05:57,900 --> 00:05:59,870 इसलिए मुझे लगता है मैं एक तरह से उन्हें वहाँ लिखा लगता है. 120 00:05:59,870 --> 00:06:03,440 लेकिन उन दोनों की तरह स्मृति का एक बहुत का उपयोग करें. 121 00:06:03,440 --> 00:06:07,490 इसे बनाने के लिए बहुत महंगा है एक धागा या एक प्रक्रिया. 122 00:06:07,490 --> 00:06:11,750 >> और तर्क का हिस्सा है कि बस जैसे तुम एक सी कार्यक्रम चला रहे हैं जब 123 00:06:11,750 --> 00:06:15,090 अपने मुख्य जैसे और फिर उस कॉल एक अन्य समारोह, कि है 124 00:06:15,090 --> 00:06:16,520 ढेर के कुछ प्रकार की. 125 00:06:16,520 --> 00:06:19,910 तो धागे भी पूरी तरह से एक की आवश्यकता अलग ढेर जो 126 00:06:19,910 --> 00:06:21,220 काफी बड़ा हो सकता है. 127 00:06:21,220 --> 00:06:25,170 और जैसा कि आप कल्पना कर सकते हैं के टन होने अपनी वेबसाइट पर उपयोगकर्ताओं को, तुम होगा 128 00:06:25,170 --> 00:06:26,280 अलग धागे का एक बहुत. 129 00:06:26,280 --> 00:06:28,230 उस के लिए ढेर का एक बहुत कुछ है प्रबंधन करने और बनाए रखने के. 130 00:06:28,230 --> 00:06:31,280 तो यह बड़ी स्मृति खपत है. 131 00:06:31,280 --> 00:06:35,650 >> और फिर, भी, की आप केवल हम कहते हैं एक सीपीयू, या मान लीजिए कि आप हम कहते हैं 132 00:06:35,650 --> 00:06:38,460 आप अधिक से अधिक धागे उन multicores. 133 00:06:38,460 --> 00:06:38,730 है ना? 134 00:06:38,730 --> 00:06:43,280 तो चलो आप 10 धागे था हम कहते हैं और आप केवल पांच CPUs था. 135 00:06:43,280 --> 00:06:46,260 आप इस तरह की बात करना है, जहां आप वर्तमान के बीच स्विच 136 00:06:46,260 --> 00:06:49,090 तुम क्योंकि चल रहा है कि एक एक ही बार में सभी 10 नहीं चलाया जा सकता. 137 00:06:49,090 --> 00:06:50,980 और कहा कि एक संदर्भ स्विच कहा जाता है. 138 00:06:50,980 --> 00:06:54,260 और उस शब्द वास्तव में एक जोड़े की है विभिन्न संदर्भों, लेकिन अभी चलो 139 00:06:54,260 --> 00:06:56,620 स्विचन के रूप में सोच दो धागे के बीच. 140 00:06:56,620 --> 00:06:59,730 यह बहुत महंगा हो सकता है क्योंकि मूल रूप से क्या तुम्हें क्या करना है आप है 141 00:06:59,730 --> 00:07:03,340 आप क्या कर रहे हैं रोकने के लिए है, बचा चल रहा है कि राखी के राज्य, और 142 00:07:03,340 --> 00:07:05,440 फिर कहीं और करने के लिए स्विच. 143 00:07:05,440 --> 00:07:09,420 >> इसलिए सब लोग एक तरह से देखा है क्यों धागे और की प्रेरणा 144 00:07:09,420 --> 00:07:12,030 प्रक्रियाओं थोड़ा भारी हो सकता है? 145 00:07:12,030 --> 00:07:13,840 और अगर आप एक प्रश्न किया है? 146 00:07:13,840 --> 00:07:14,376 ठीक है. 147 00:07:14,376 --> 00:07:15,070 कूल. 148 00:07:15,070 --> 00:07:18,090 किसी को भी किसी भी प्रश्न हैं? 149 00:07:18,090 --> 00:07:19,620 ठीक है. 150 00:07:19,620 --> 00:07:26,720 >> तो हम एक दूसरे के लिए एक कदम वापस ले, तरह का एक तरह वहाँ 151 00:07:26,720 --> 00:07:30,350 के बारे में हम कर सकते हैं कि अवलोकन वेब अनुप्रयोगों का एक बहुत. 152 00:07:30,350 --> 00:07:34,810 और वह वास्तव में है कि उनमें से एक बहुत वास्तव में ऐसा नहीं है कि बहुत उपयोगी 153 00:07:34,810 --> 00:07:37,140 एक धागे के अंदर काम करते हैं. 154 00:07:37,140 --> 00:07:41,170 तो किसी पर शुरू कर दिया गया है पी में सभी सात सेट? 155 00:07:41,170 --> 00:07:45,650 तो आप शायद का वर्णन करना चाहते हैं भागों में से कुछ? 156 00:07:45,650 --> 00:07:47,850 आप लॉगिन पर काम किया है या ऐसा कुछ? 157 00:07:47,850 --> 00:07:49,330 >> दर्शकों: नहीं 158 00:07:49,330 --> 00:07:49,780 >> केविन SCHMID: ठीक है. 159 00:07:49,780 --> 00:07:50,150 कोई बात नहीं. 160 00:07:50,150 --> 00:07:50,900 माफ़ कीजिए. 161 00:07:50,900 --> 00:07:55,790 लेकिन मूल रूप से, पी सेट में, आप कर रहे हैं की तरह का एक बहुत कुछ कर रही हो जा 162 00:07:55,790 --> 00:07:59,760 कुछ पाने के लिए एक डेटाबेस के लिए क्वेरी उस डेटाबेस से जानकारी. 163 00:07:59,760 --> 00:08:03,330 और क्या अपने कोड कर रही हो जा रहा है, क्या है कि अपाचे प्रक्रिया या 164 00:08:03,330 --> 00:08:06,030 अपाचे धागा कर रही हो जा रहा है कि यह संपर्क करने के लिए है, जबकि 165 00:08:06,030 --> 00:08:08,990 डेटाबेस यह की तरह होने जा रहा है है वहाँ बैठे और यह होने जा रहा है 166 00:08:08,990 --> 00:08:12,130 डेटाबेस उत्तर करने के लिए इंतज़ार कर रहे. 167 00:08:12,130 --> 00:08:16,290 >> अब जब कि कि एक बड़ा तरह बात नहीं कर सकते हैं डेटाबेस अपने पर है, क्योंकि सौदा 168 00:08:16,290 --> 00:08:18,240 CS50 उपकरण, सही? 169 00:08:18,240 --> 00:08:22,930 लेकिन नेटवर्क के कुछ प्रकार है वहाँ विलंबता अब वेब क्योंकि 170 00:08:22,930 --> 00:08:26,830 सर्वर के लिए अपने स्वयं के अनुरोध जारी करने के लिए है साथ संवाद करने के लिए डेटाबेस 171 00:08:26,830 --> 00:08:29,520 डेटाबेस और फिर उस मिल जानकारी वापस. 172 00:08:29,520 --> 00:08:33,190 तो अब यह मैं हूँ, अच्छी तरह से मेरे लिए प्रतीक्षा की तरह है जाने के लिए जाने से कुछ मिल 173 00:08:33,190 --> 00:08:35,770 डेटाबेस और फिर वहाँ एक है चल रहा इंतजार कर के बहुत कुछ. 174 00:08:35,770 --> 00:08:36,870 कि मतलब? 175 00:08:36,870 --> 00:08:38,580 >> और कुछ बातों के लिए यह इतना बुरा नहीं है. 176 00:08:38,580 --> 00:08:41,950 यह बस गया है, उदाहरण के लिए, एक्सेस मेमोरी, ऐसी बात नहीं है 177 00:08:41,950 --> 00:08:44,100 भयानक मैं / हे विलंबता. 178 00:08:44,100 --> 00:08:47,110 मैं कहता हूँ और जब मैं / हे विलंबता, मैं क्या कर रहा हूँ करने के लिए बात की तरह की किसी भी तरह की तरह है 179 00:08:47,110 --> 00:08:48,290 इनपुट आउटपुट. 180 00:08:48,290 --> 00:08:52,950 लेकिन जैसे, डिस्क पर एक फ़ाइल का उपयोग करने के लिए मैं स्थैतिक HTML की सेवा करना चाहता था 181 00:08:52,950 --> 00:08:57,850 फ़ाइल कि अपने वेब पेज पर था या ऐसा कुछ, मैं एक तरह से करने के लिए है 182 00:08:57,850 --> 00:09:02,310 एक बिट के लिए बंद करो, उस फ़ाइल को पढ़ने डिस्क से, और उसके बाद में में 183 00:09:02,310 --> 00:09:04,400 कि प्रक्रिया मैं इंतज़ार कर रहा हूँ. 184 00:09:04,400 --> 00:09:06,700 मैं उपयोगी काम नहीं कर रहा हूँ. 185 00:09:06,700 --> 00:09:11,270 >> यह यह सब कुछ का सच नहीं है, लेकिन पी सेट जैसे अनुप्रयोगों में आम है 186 00:09:11,270 --> 00:09:13,960 सात और अनुप्रयोगों का एक बहुत आप नहीं कर रहे हैं कि 187 00:09:13,960 --> 00:09:15,440 वास्तव में बहुत सोच कर. 188 00:09:15,440 --> 00:09:19,090 मैं सोच कहना और, जब मैं मतलब कम्प्यूटेशनल काम की तरह. 189 00:09:19,090 --> 00:09:23,270 तो कम्प्यूटेशनल काम कुछ हो सकता है जैसे, कहते हैं, तुम चाहते थे 190 00:09:23,270 --> 00:09:26,590 बस अभिकलन कि एक वेब सर्वर लिखना n वें फिबोनैकी संख्या. 191 00:09:26,590 --> 00:09:29,300 यह एक विशेष रूप से की तरह बात नहीं करता मज़ा वेब सर्वर. 192 00:09:29,300 --> 00:09:34,220 जैसे मैं उस साइट होने की उम्मीद नहीं की होगी अगले फेसबुक, लेकिन लगता है कि कुछ है 193 00:09:34,220 --> 00:09:35,610 कम्प्यूटेशनल काम की तरह. 194 00:09:35,610 --> 00:09:39,570 >> और आप के साथ उस जगह की कल्पना कर सकते हैं दिलचस्प के कुछ अन्य प्रकार 195 00:09:39,570 --> 00:09:43,070 कम्प्यूटेशनल काम. 196 00:09:43,070 --> 00:09:46,050 मान लीजिए कि आप कुछ लिख रहे थे हम कहते हैं कि डिग्री की गणना की 197 00:09:46,050 --> 00:09:49,170 दो लोगों के बीच अलगाव या ऐसा कुछ. 198 00:09:49,170 --> 00:09:51,860 तो यह है कि किसी तरह का शामिल करता है गणना की है, है ना? 199 00:09:51,860 --> 00:09:56,630 और फिर भी, आप अभी भी है कि ऐसा करने के लिए शायद नहीं क्षेत्रों के लिए बहुत कुछ करने की 200 00:09:56,630 --> 00:09:59,550 आप देखने के लिए एक डेटाबेस क्वेरी के लिए है ऊपर कौन या के साथ दोस्त है 201 00:09:59,550 --> 00:10:00,600 ऐसा कुछ. 202 00:10:00,600 --> 00:10:03,510 तो धारणा के उस तरह नहीं है के कम्प्यूटेशनल काम. 203 00:10:03,510 --> 00:10:05,260 कि मतलब? 204 00:10:05,260 --> 00:10:08,258 किसी को भी किसी भी सवाल है? 205 00:10:08,258 --> 00:10:11,960 >> ओह, और मुझे लगता है मैं वहाँ चैट सर्वर डाल अनुमान चैट सर्वर प्रकार के हैं, क्योंकि 206 00:10:11,960 --> 00:10:13,240 इस का एक और अच्छा उदाहरण. 207 00:10:13,240 --> 00:10:15,250 एक चैट सर्वर नहीं है बहुत सोच करने के लिए. 208 00:10:15,250 --> 00:10:18,350 यह सिर्फ लोगों के लिए इंतजार करना पड़ता है संदेशों और फिर जब भेज 209 00:10:18,350 --> 00:10:19,800 वे, उन्हें भेजूं. 210 00:10:19,800 --> 00:10:21,050 ठीक है? 211 00:10:21,050 --> 00:10:23,410 212 00:10:23,410 --> 00:10:28,180 >> तो बस फिर से संक्षिप्त करने के लिए, अपाचे और कि कांटा एक तरह समान वेब सर्वर 213 00:10:28,180 --> 00:10:31,470 धागे और प्रक्रियाओं की बहुत जो एक तरह से बेकार हो सकता है. 214 00:10:31,470 --> 00:10:37,530 तो मैं आ सकता है कि सवाल लगता है उस से हम की आवश्यकता है है 215 00:10:37,530 --> 00:10:39,610 कई धागे और प्रक्रियाओं? 216 00:10:39,610 --> 00:10:41,890 क्या हम सिर्फ एक था? 217 00:10:41,890 --> 00:10:45,710 >> तो चलो तरह की एक तस्वीर रंग देना इस तरह से देखना होगा की. 218 00:10:45,710 --> 00:10:47,810 तो चलो केवल एक धागे का उपयोग करते हैं. 219 00:10:47,810 --> 00:10:48,660 ठीक है? 220 00:10:48,660 --> 00:10:52,790 तो सिर्फ एक ही धागे के साथ इस कल्पना. 221 00:10:52,790 --> 00:10:56,600 >> हम वास्तव में नहीं कर रहे थे लगता हैं कि बहुत उपयोगी हैं - और जब मैं कहता हूँ 222 00:10:56,600 --> 00:10:59,450 उपयोगी, मैं कम्प्यूटेशनल काम मतलब है - 223 00:10:59,450 --> 00:11:01,130 पहले उन कई धागे में. 224 00:11:01,130 --> 00:11:04,180 तो चलो तरह की समेकित करते हैं एक धागे में सब कुछ. 225 00:11:04,180 --> 00:11:07,780 तो क्या हम एक धागा तरह था अगर की बस पाश में चारों ओर चला जाता है और 226 00:11:07,780 --> 00:11:10,880 लगातार चेक कुछ किया नई हो. 227 00:11:10,880 --> 00:11:15,130 तो उदाहरण के लिए, कुछ नया हुआ मैं से कुछ वापस मिल गया मतलब हो सकता है 228 00:11:15,130 --> 00:11:19,310 भेजा डेटाबेस, या किसी मुझे एक नया HTTP अनुरोध. 229 00:11:19,310 --> 00:11:22,290 तो उन घटनाओं की तरह कर रहे हैं कि ठीक है, हो? 230 00:11:22,290 --> 00:11:26,130 >> और फिर मैं क्या कर सकता है जब उन नए हुआ कुछ इस एक ही धागे में है 231 00:11:26,130 --> 00:11:30,120 निष्पादन की, यह एक धागे की निष्पादन, मैं कुछ कोड कॉल कर सकते हैं 232 00:11:30,120 --> 00:11:32,410 उस विशेष बात संभालना होगा. 233 00:11:32,410 --> 00:11:36,640 तो उदाहरण के लिए, मैं कुछ मिल गया, तो वापस डेटाबेस से, मैं चला सकता है मेरा 234 00:11:36,640 --> 00:11:40,960 यह के छोटे कम्प्यूटेशनल हिस्सा है कि वास्तव में अभी तक बात को तैयार 235 00:11:40,960 --> 00:11:42,620 उपयोगकर्ता को वापस भेज देते हैं. 236 00:11:42,620 --> 00:11:46,710 तो मतलब की है कि तरह है? 237 00:11:46,710 --> 00:11:49,940 >> लेकिन वास्तव में क्या कर रहे हैं इस का निहितार्थ है? 238 00:11:49,940 --> 00:11:50,660 है ना? 239 00:11:50,660 --> 00:11:53,730 हम लिखा है क्योंकि कोड है कि का एक बहुत - 240 00:11:53,730 --> 00:11:58,330 और मैं बस आगे कूद करने के लिए जा रहा हूँ यह ठीक है अगर स्लाइड्स में. 241 00:11:58,330 --> 00:12:00,930 तुम बुरा न मानो तो, मैं कर रहा हूँ बस एक कदम वापस लेने के लिए जा रहा. 242 00:12:00,930 --> 00:12:03,410 तो इस तरह की बात है एक घटना लूप कहा जाता है. 243 00:12:03,410 --> 00:12:04,070 ठीक है? 244 00:12:04,070 --> 00:12:07,240 और यह मूल की तरह है Node.js. पीछे विचार 245 00:12:07,240 --> 00:12:11,240 >> Node.js वास्तव में एक वेब के रूप में कर रही है तो क्या हुआ सर्वर एक भी मुद्दा नहीं है है 246 00:12:11,240 --> 00:12:14,850 कि मूल रूप से एक पाश में चारों ओर जा रहा है के तहत की है, जबकि एक प्रकार की तरह 247 00:12:14,850 --> 00:12:18,510 लगातार है कि Node.js के हुड जाँच, हम नई चीजें प्राप्त किया था? 248 00:12:18,510 --> 00:12:22,720 और फिर यह हैंडलर चलेंगे आप की स्थापना की है. 249 00:12:22,720 --> 00:12:26,720 लेकिन पूछने के लिए एक अच्छा सवाल है, हम यह कैसे कर सकते हो 250 00:12:26,720 --> 00:12:28,090 मौजूदा चीजों के साथ? 251 00:12:28,090 --> 00:12:32,440 >> इसलिए मैं यहाँ सी कोड की एक लाइन में कहें कि इसे खोलने की तरह मूल रूप से दिखता है एक 252 00:12:32,440 --> 00:12:33,060 सही, फ़ाइल? 253 00:12:33,060 --> 00:12:36,090 मैं वह सिर्फ एक एल्बम के साथ बाहर आ गया. 254 00:12:36,090 --> 00:12:39,600 तो मैं उसे एक नई फ़ाइल को खोलने के लिए किया था. 255 00:12:39,600 --> 00:12:43,810 तो जिस तरह से संचालन के लिए हमारे सी कोड - 256 00:12:43,810 --> 00:12:47,890 और मुझे लगता है मैं फ़ाइलों को चुना कारण था इस हद तक की तरह है क्योंकि 257 00:12:47,890 --> 00:12:52,000 हम में सी में किया है कि मैं / ओ काम की इनपुट आउटपुट है कि वहाँ एक भावना. 258 00:12:52,000 --> 00:12:55,070 इसलिए हम इस कोड है कि कॉल इस च खुला करता है. 259 00:12:55,070 --> 00:12:59,370 और फिर हमारे की अगली पंक्ति पर कार्यक्रम, हम अब एफ के साथ काम कर सकते हैं. 260 00:12:59,370 --> 00:13:02,710 >> तो यह कुछ का एक उदाहरण होगा कि तुल्यकालिक या की तरह है 261 00:13:02,710 --> 00:13:06,850 कि पहली पंक्ति पर क्योंकि अवरुद्ध वहाँ हम हम जब तक प्रतीक्षा कर रहे हैं 262 00:13:06,850 --> 00:13:08,110 फ़ाइल खुला मिलता है. 263 00:13:08,110 --> 00:13:12,260 तो दूसरी लाइन पर, हम जानते हैं कि हम एफ के साथ काम करते हैं, लेकिन इसका मतलब यह है कि कर सकते हैं 264 00:13:12,260 --> 00:13:16,240 कि दूसरी पंक्ति वास्तव में नहीं चल सकता पहली पंक्ति किया जाता है जब तक. 265 00:13:16,240 --> 00:13:17,760 कि मतलब? 266 00:13:17,760 --> 00:13:20,890 >> तो यह डाल करने के लिए बुरा होगा कोई ईवेंट हैंडलर में. 267 00:13:20,890 --> 00:13:23,920 और उस के लिए कारण यह है कि इंतजार कर रहा है की इस तरह, सही? 268 00:13:23,920 --> 00:13:26,500 तो यह हमें वापस लौट जाएगा एक ही बात करने के लिए. 269 00:13:26,500 --> 00:13:29,470 और अब हम भी नहीं होता कई सूत्र के लाभ या 270 00:13:29,470 --> 00:13:32,390 प्रक्रियाओं हमें मिल गया है क्योंकि Node.js. में एक धागा 271 00:13:32,390 --> 00:13:35,496 कि हर किसी को मतलब? 272 00:13:35,496 --> 00:13:35,990 >> दर्शक: रुको. 273 00:13:35,990 --> 00:13:36,980 तो प्रतिस्थापन क्या है? 274 00:13:36,980 --> 00:13:37,840 >> केविन SCHMID: ओह, तो हाँ. 275 00:13:37,840 --> 00:13:39,560 तो मैं करने जा रहा हूँ प्रतिस्थापन. 276 00:13:39,560 --> 00:13:40,430 ठीक है. 277 00:13:40,430 --> 00:13:42,960 हम कुछ था तो क्या हुआ अगर कि इस तरह से देखा? 278 00:13:42,960 --> 00:13:45,730 तो क्या मैं संपादित अब अगर एफ एक छोटे से खोलने? 279 00:13:45,730 --> 00:13:48,370 इसलिए मैं उसी में गुजर रहा हूँ पहले की तरह दो तर्क. 280 00:13:48,370 --> 00:13:52,610 मैं अभी भी नए गाने से प्यार है वह साथ बाहर आ गया है. 281 00:13:52,610 --> 00:13:57,260 लेकिन मैं एक तीसरी बात गुजर रहा हूँ जो इस चर कोड कहा जाता है. 282 00:13:57,260 --> 00:14:02,280 >> लेकिन कोड वास्तव में क्या है इस संदर्भ में? 283 00:14:02,280 --> 00:14:05,360 यह एक नियमित रूप से सी चर की तरह है? 284 00:14:05,360 --> 00:14:06,740 यह ठीक है, एक समारोह है? 285 00:14:06,740 --> 00:14:09,450 और उस वजह से एक अजीब सा हो सकता है मैं वास्तव में अब गुजर जैसा हूँ एक 286 00:14:09,450 --> 00:14:12,320 एक अन्य समारोह में कार्य करते हैं. 287 00:14:12,320 --> 00:14:14,400 >> इस बारे में ध्यान दें तो कुछ बातें. 288 00:14:14,400 --> 00:14:17,145 एक, मैं वास्तव में नहीं बुला रहा हूँ कोड समारोह. 289 00:14:17,145 --> 00:14:20,650 तो आप के साथ कोड नहीं दिख रहा है छोड़ दिया कोष्ठक, सही paren. 290 00:14:20,650 --> 00:14:23,010 मैं सिर्फ कोड में गुजर रहा हूँ. 291 00:14:23,010 --> 00:14:26,990 और सी में, यह वास्तव में क्या करना होगा कि वास्तविक मुझे एक सूचक दे ​​रहा है 292 00:14:26,990 --> 00:14:29,740 कोड, और तब यह यह चला सकता है. 293 00:14:29,740 --> 00:14:33,350 आप कर रहे हैं लेकिन अभी इसके बारे में सोचते हैं चलाने के लिए कोड गुजर जब 294 00:14:33,350 --> 00:14:35,150 उस फ़ाइल को खोल दिया है. 295 00:14:35,150 --> 00:14:41,430 >> लेकिन क्या इसका मतलब यह है कि अब कर सकता है जो अपने कार्यक्रम के बाकी 296 00:14:41,430 --> 00:14:47,050 अन्य सामान, अन्य कर जारी कर सकते हैं सामान हम वास्तव में इंतजार है, लेकिन नहीं है, जबकि 297 00:14:47,050 --> 00:14:50,890 अभी हमारे सिर के पीछे में है कि जब कि फ़ाइल का खुला, भागो कि 298 00:14:50,890 --> 00:14:52,130 शीर्ष पर कोड. 299 00:14:52,130 --> 00:14:53,390 कि मतलब? 300 00:14:53,390 --> 00:14:58,060 >> और अब Node.js के पीछे विचार यह है कि एफ के साथ क्या सामान में कोड 301 00:14:58,060 --> 00:15:04,590 हिस्सा बहुत कम है और सरल होना चाहिए वास्तव में होना है और ईमानदार और नहीं 302 00:15:04,590 --> 00:15:06,160 गहन बहुत computationally. 303 00:15:06,160 --> 00:15:09,390 यह एक और फ़ाइल खोलने के लिए है, लेकिन हो सकता है वह भी बहुत जल्दी होना चाहिए 304 00:15:09,390 --> 00:15:14,710 यह सिर्फ एक और च कर कहना चाहिए क्योंकि खोलने के लिए और फिर यह अन्य कोड कहते हैं. 305 00:15:14,710 --> 00:15:19,100 >> इसलिए अभी पूरी तरह से स्पष्ट है, च होने के लिए कि खुले नए कैटी पेरी गीत करता है 306 00:15:19,100 --> 00:15:23,060 किया एमपी 3, कि जा रहा है बहुत ज्यादा आती हूँ. 307 00:15:23,060 --> 00:15:27,820 और फिर हम सिर्फ कर जारी कर सकते हैं अन्य सामान वजह है कि अब एफ सभी 308 00:15:27,820 --> 00:15:33,410 खुले कॉल मूल रूप से बता रहा है है अंतर्निहित च खुला कोड इस फाइल को खोलने 309 00:15:33,410 --> 00:15:36,020 और आप इस खोलने काम पूरा हो जाने आप इसे वापस पाने के लिए जब फ़ाइल या, 310 00:15:36,020 --> 00:15:37,480 फिर उस कोड चलाते हैं. 311 00:15:37,480 --> 00:15:39,540 लेकिन यह वास्तव में है कि कोड नहीं चला. 312 00:15:39,540 --> 00:15:41,815 और आप में एक सवाल था? 313 00:15:41,815 --> 00:15:46,180 >> दर्शक: आप कुछ संकेत करने के लिए लग रहा था computationally उनका कहना है कि कई बार 314 00:15:46,180 --> 00:15:50,545 गहन कोड की तरह तोड़ [सुनाई] संचालित प्रणाली. 315 00:15:50,545 --> 00:15:51,795 [सुनाई]? 316 00:15:51,795 --> 00:15:54,450 317 00:15:54,450 --> 00:15:55,290 >> केविन SCHMID: यह एक बड़ा सवाल है. 318 00:15:55,290 --> 00:15:59,280 इसलिए मैं वास्तव में कैसे का एक उदाहरण है आप computationally एकीकृत कर सकता 319 00:15:59,280 --> 00:16:01,090 एक छोटा सा में गहन कोड. 320 00:16:01,090 --> 00:16:03,620 इसलिए हम कोड उदाहरण के लिए मिलता है, मुझे लगता है कि एक खींचने के लिए सुनिश्चित हो जाएगा. 321 00:16:03,620 --> 00:16:04,700 क्या यह ठीक है? 322 00:16:04,700 --> 00:16:05,950 धन्यवाद. 323 00:16:05,950 --> 00:16:07,690 324 00:16:07,690 --> 00:16:08,750 >> आपका नाम क्या था? 325 00:16:08,750 --> 00:16:10,620 >> दर्शक: हारून. 326 00:16:10,620 --> 00:16:14,830 >> केविन SCHMID: हारून एक बहुत ऊपर लाता है है जो अच्छी बात है, कि अगर मैं था 327 00:16:14,830 --> 00:16:18,560 में कुछ computationally गहन कोड च हिस्सा है, बाकी के साथ क्या सामान 328 00:16:18,560 --> 00:16:22,880 मेरे कार्यक्रम नहीं चलाया जा सकता है और नहीं सुन सकते हैं सभी जब तक नया अनुरोध या कुछ के लिए 329 00:16:22,880 --> 00:16:24,270 सामान है कि समाप्त हो गया है. 330 00:16:24,270 --> 00:16:27,390 इसलिए मैं सामान्य में नोड कोड लिख रहा हूँ अगर मैं जा रहा हूँ जैसे हम कुछ कर जब तक 331 00:16:27,390 --> 00:16:33,060 हम पर देखने के लिए जब बाद में करने के लिए सुझाव कोड उदाहरणों, मुझे यकीन है कि होना जरूरी 332 00:16:33,060 --> 00:16:36,060 मेरे कोड टाई नहीं है इस घटना पाश. 333 00:16:36,060 --> 00:16:38,120 कि मतलब? 334 00:16:38,120 --> 00:16:38,350 ठीक है. 335 00:16:38,350 --> 00:16:40,040 कूल. 336 00:16:40,040 --> 00:16:47,090 >> तो Node.js इस ढांचे प्रदान करता है आप प्रेरित ये घटना का निर्माण कर सकते हैं 337 00:16:47,090 --> 00:16:48,210 साथ सर्वर. 338 00:16:48,210 --> 00:16:53,460 तो यह अतुल्यकालिक के इन प्रकार जबकि, मैं / हे पुस्तकालयों गैर अवरुद्ध 339 00:16:53,460 --> 00:16:56,800 हम किया गया है कि मानक सी पुस्तकालयों , के साथ काम करना पसंद है तो आप बस 340 00:16:56,800 --> 00:16:59,500 हम है कि उन्हें उसी तरह का उपयोग एफ के साथ उन का उपयोग किया गया खोलता है और 341 00:16:59,500 --> 00:17:03,000 सामान, उन अवरुद्ध कर रहे हैं क्योंकि आप वास्तव में के लिए इंतज़ार करना होगा 342 00:17:03,000 --> 00:17:04,470 खोलने के लिए उस फ़ाइल. 343 00:17:04,470 --> 00:17:09,290 >> लेकिन Node.js यह आपको लगता है कि देता है और मूल रूप से गूगल के वी 8 में संबंध 344 00:17:09,290 --> 00:17:14,030 कारण है जो जावास्क्रिप्ट इंजन क्रोम प्रसंस्करण में इतनी तेजी है कि 345 00:17:14,030 --> 00:17:17,040 जावास्क्रिप्ट क्योंकि यह इस वी 8 इंजन है. 346 00:17:17,040 --> 00:17:22,460 इसलिए मुझे लगता है कि उनमें से एक की तरह लगता है WWDC डेवलपर सम्मेलनों बात 347 00:17:22,460 --> 00:17:25,390 वे बस का एक गुच्छा फेंक जहां प्रोसेसर के लिए पत्र संख्या बातें 348 00:17:25,390 --> 00:17:26,910 और यह बहुत अच्छा है कहना. 349 00:17:26,910 --> 00:17:34,200 लेकिन यह है कि वे किया शांत है इस वजह जावास्क्रिप्ट - 350 00:17:34,200 --> 00:17:37,010 या हो सकता है आप के साथ परिचित नहीं हैं जावास्क्रिप्ट अभी तक हम नहीं पड़ा है क्योंकि 351 00:17:37,010 --> 00:17:38,180 इस पर व्याख्यान - 352 00:17:38,180 --> 00:17:40,770 लेकिन जावास्क्रिप्ट एक व्याख्या है भाषा. 353 00:17:40,770 --> 00:17:41,970 >> और यह भी एक महत्वपूर्ण बिंदु है. 354 00:17:41,970 --> 00:17:45,790 तो यह हमारे वेब के लिए महत्वपूर्ण है सर्वर सही, तेजी से हो सकता है? 355 00:17:45,790 --> 00:17:49,970 और हम बस जावास्क्रिप्ट चल रहे थे साथ व्याख्या की गई थी कि कोड बस 356 00:17:49,970 --> 00:17:52,130 किसी भी पुराने दुभाषिया यह धीमी गति से हो सकता है. 357 00:17:52,130 --> 00:17:55,980 इस होने से तो नोड लाभ सुपर फास्ट वी 8 दुभाषिया. 358 00:17:55,980 --> 00:17:59,580 वे इसे नाम दिया है और अगर मैं नहीं जानता क्योंकि माथे में वी 8 थप्पड़ 359 00:17:59,580 --> 00:18:01,110 बात है, लेकिन ठीक है. 360 00:18:01,110 --> 00:18:07,070 >> तो मैं कुछ उदाहरण तैयार किया है इस यूआरएल पर. 361 00:18:07,070 --> 00:18:10,490 संगोष्ठी के बाद, मैं एक तरह से करने के लिए जा रहा हूँ आप नोड सेट प्राप्त कर सकते हैं के बारे में बात 362 00:18:10,490 --> 00:18:13,570 ऊपर, लेकिन अब के लिए, मैं बस की तरह चाहते हैं कुछ कोड उदाहरण के माध्यम से चलने के लिए. 363 00:18:13,570 --> 00:18:17,250 तो तुम साथ पालन करना चाहते हैं, तो सभी स्रोत कोड वहाँ उपलब्ध है. 364 00:18:17,250 --> 00:18:18,720 ठीक है? 365 00:18:18,720 --> 00:18:22,280 >> इसलिए मैं इस यूआरएल छोड़ देंगे एक छोटी सी के लिए ऊपर. 366 00:18:22,280 --> 00:18:24,440 और फिर मैं अभी जा रहा हूँ टर्मिनल में स्विच. 367 00:18:24,440 --> 00:18:29,670 368 00:18:29,670 --> 00:18:34,400 हर कोई इस यूआरएल के साथ अच्छा है? 369 00:18:34,400 --> 00:18:37,990 तो मैं स्विच करने के लिए जा रहा हूँ यहाँ मेरे टर्मिनल के लिए. 370 00:18:37,990 --> 00:18:42,030 >> तो यहाँ कोड है कि मैं आज के लिए है. 371 00:18:42,030 --> 00:18:43,960 क्यों करते हैं हम के साथ शुरू नहीं simpler.js फ़ाइल? 372 00:18:43,960 --> 00:18:49,110 373 00:18:49,110 --> 00:18:52,100 दूसरी बात यह है कि इस सब कोड में लिखा जा रहा है 374 00:18:52,100 --> 00:18:56,660 जावास्क्रिप्ट जो आप कर सकते हैं या साथ परिचित नहीं हो सकता. 375 00:18:56,660 --> 00:19:00,170 मैं एक दो चीजें है लगता है कि एक बहुत जावास्क्रिप्ट कोड की तरह का है 376 00:19:00,170 --> 00:19:04,000 वाक्यविन्यास और संरचना के समान है सी, के रूप में आप की तरह इसे उठा सकते हैं तो 377 00:19:04,000 --> 00:19:05,020 तुम्हारे साथ जाना. 378 00:19:05,020 --> 00:19:08,750 मैं का एक बहुत कुछ लिखने की कोशिश की है है कि एक तरह से इस के लिए शुरू कर कोड 379 00:19:08,750 --> 00:19:11,230 यह है कि इतनी सी के समान एक छोटे से अधिक पठनीय. 380 00:19:11,230 --> 00:19:15,980 लेकिन हम प्रगति के रूप में, मैं हो जाएगा अतिरिक्त के कुछ का प्रदर्शन 381 00:19:15,980 --> 00:19:18,980 जावास्क्रिप्ट की सुविधाओं कि एक तरह से शांत कर रहे हैं. 382 00:19:18,980 --> 00:19:21,510 >> लेकिन यह नमूना कार्यक्रम पर नजर डालते हैं. 383 00:19:21,510 --> 00:19:24,820 मैं वहाँ सब कुछ काट रहा है लगता है. 384 00:19:24,820 --> 00:19:28,500 मैं सिर्फ इतना है कि असली तय करने के लिए जा रहा हूँ कि ठीक है या नहीं की तेजी है. 385 00:19:28,500 --> 00:19:31,400 मैं यह करने के लिए क्या हो रहा है पता नहीं है. 386 00:19:31,400 --> 00:19:34,660 एक छोटे से बेहतर है? 387 00:19:34,660 --> 00:19:36,510 आप वर और सामान देख सकते हैं? 388 00:19:36,510 --> 00:19:39,320 ठीक है. 389 00:19:39,320 --> 00:19:44,120 >> तो पहली पंक्ति जावास्क्रिप्ट की तरह है एक चर का संस्करण 390 00:19:44,120 --> 00:19:44,800 घोषणा. 391 00:19:44,800 --> 00:19:49,870 तो बस क्या यह होगा उजागर करने के लिए तो यह बस की तरह है सी में की तरह दिखते 392 00:19:49,870 --> 00:19:52,620 मुझे कह सूचकांक तीन बराबर होती है या ऐसा कुछ. 393 00:19:52,620 --> 00:19:55,740 तो मैं प्रकार निर्दिष्ट नहीं किया है. 394 00:19:55,740 --> 00:20:00,780 जावास्क्रिप्ट प्रकार है, लेकिन यह बात है बहुत गतिशील रूप से प्रकृति में लिखा है, तो 395 00:20:00,780 --> 00:20:02,580 इस पर प्रकार के किसी भी प्रकार प्रदान नहीं किया. 396 00:20:02,580 --> 00:20:03,670 तो यह सिर्फ वर है. 397 00:20:03,670 --> 00:20:05,320 उस चर की तरह है. 398 00:20:05,320 --> 00:20:05,920 ठीक है? 399 00:20:05,920 --> 00:20:08,340 >> और मैं इस चर HTTP बुला रहा हूँ. 400 00:20:08,340 --> 00:20:12,480 और मेरे दाहिने हाथ की ओर, मेरे पास है मैं HTTP में डाल करना चाहते हैं कि अभिव्यक्ति. 401 00:20:12,480 --> 00:20:14,960 और यह HTTP आवश्यकता कहते हैं. 402 00:20:14,960 --> 00:20:18,500 तो इस तरह के समान शामिल करने के लिए है. 403 00:20:18,500 --> 00:20:22,940 यह एक छोटे से अधिक की तरह शक्तिशाली की तुलना में है शामिल है कि भावना में शामिल 404 00:20:22,940 --> 00:20:26,100 बस कॉपी और हैडर पेस्ट होगा समारोह प्रोटोटाइप के लिए फ़ाइल या 405 00:20:26,100 --> 00:20:27,930 प्रकार परिभाषा के साथ जो कुछ भी. 406 00:20:27,930 --> 00:20:30,590 लेकिन आवश्यकता वास्तव में जा रहा है हमें कोड पाने के लिए. 407 00:20:30,590 --> 00:20:33,280 >> तो आप के रूप में सोच सकते हैं कुछ कोड का आयात. 408 00:20:33,280 --> 00:20:37,960 तो कहीं Node.js मॉड्यूल में सिस्टम या जो भी हो, वे यह सब किया है 409 00:20:37,960 --> 00:20:40,790 HTTP सर्वर कोड तो मैं अभी कर रहा हूँ मेरे अपने के लिए यह दिलकश 410 00:20:40,790 --> 00:20:43,130 इस कार्यक्रम में निजी इस्तेमाल के. 411 00:20:43,130 --> 00:20:44,260 ठीक है? 412 00:20:44,260 --> 00:20:46,930 >> इतना तो मैं इस समारोह है मैंने लिखा है कि. 413 00:20:46,930 --> 00:20:50,330 और मैं स्पष्ट करना होगा नहीं किया नोटिस वापसी प्रकार या के प्रकार 414 00:20:50,330 --> 00:20:51,140 तर्क फिर से. 415 00:20:51,140 --> 00:20:54,440 इतनी तरह की ढीली में टाइप भावना के उस तरह. 416 00:20:54,440 --> 00:20:57,290 उस में लेता है कि दो तर्क, अनुरोध और प्रतिक्रिया. 417 00:20:57,290 --> 00:21:02,080 तो उस धारणा की तरह की तरह है हम था कि तस्वीर से परिचित 418 00:21:02,080 --> 00:21:05,280 स्क्रीन पर क्योंकि पहले हम इस अनुरोध को मिलता है कि हम 419 00:21:05,280 --> 00:21:06,410 उपयोगकर्ता से है. 420 00:21:06,410 --> 00:21:09,170 और फिर हम एक प्रतिक्रिया है कि हम बातें करने के लिए लिख सकते हैं. 421 00:21:09,170 --> 00:21:15,060 >> तो यह की पहली पंक्ति करता है 200 res.writeHead और फिर इस 422 00:21:15,060 --> 00:21:17,070 सामग्री प्रकार पाठ सादे. 423 00:21:17,070 --> 00:21:19,300 तो चलो एक छोटे से यह अलग टुकड़ा चलो. 424 00:21:19,300 --> 00:21:22,340 तो चलो बस res.write पर ध्यान केंद्रित करते हैं एक छोटी सी के लिए. 425 00:21:22,340 --> 00:21:28,420 तो राइट, मूल रूप से है, और सिर लिखना एक तरह से बाहर लिखने के लिए सिर्फ तरीके हैं 426 00:21:28,420 --> 00:21:29,960 प्रतिक्रिया के लिए चीजें. 427 00:21:29,960 --> 00:21:30,770 ठीक है? 428 00:21:30,770 --> 00:21:36,230 किसी को भी याद करते हैं तो, अगर सिर लिखना HTTP के व्याख्यान से, तुम लोग करते हैं 429 00:21:36,230 --> 00:21:39,940 पर हेडर याद HTTP बात के ऊपर? 430 00:21:39,940 --> 00:21:43,580 तो क्यों मैं सिर्फ डेमो नहीं है असली जल्दी हेडर. 431 00:21:43,580 --> 00:21:44,640 कि मददगार होगा? 432 00:21:44,640 --> 00:21:45,500 चाहिए या हम बस की तरह - 433 00:21:45,500 --> 00:21:46,070 ठीक है. 434 00:21:46,070 --> 00:21:46,740 ज़रूर. 435 00:21:46,740 --> 00:21:52,340 >> तो अपने ब्राउज़र google.com पर चला जाता है जब या ऐसा कुछ, 436 00:21:52,340 --> 00:21:54,250 वास्तव में एक छोटे से अधिक है - 437 00:21:54,250 --> 00:21:55,380 यह एक रहस्य की तरह है - 438 00:21:55,380 --> 00:21:58,340 एक छोटे से अधिक जानकारी की तरह नहीं है कि बस से पाइप के माध्यम से आता है 439 00:21:58,340 --> 00:22:00,180 छोटे से खोज और सब कुछ. 440 00:22:00,180 --> 00:22:03,550 तो आप यह दिखाने के लिए, मैं जा रहा हूँ कर्ल नामक एक प्रोग्राम का उपयोग करने के लिए. 441 00:22:03,550 --> 00:22:04,260 ठीक है? 442 00:22:04,260 --> 00:22:08,020 तो यह आप पर चला सकते हैं कि कुछ है अपने मैक OSX कमांड लाइन या में 443 00:22:08,020 --> 00:22:09,830 उपकरण या जो भी हो. 444 00:22:09,830 --> 00:22:17,050 और इसलिए मैं कर्ल है अगर HTTP google.com, मैं HTML को देखने के लिए जा रहा हूँ. 445 00:22:17,050 --> 00:22:21,230 और यह, निष्पक्षता में, है अभी एक तरह से करने के लिए आपको बताता है कि HTML 446 00:22:21,230 --> 00:22:24,695 अपने ब्राउज़र नहीं करता है www पर रीडायरेक्ट स्वचालित रूप से संभाल 447 00:22:24,695 --> 00:22:27,110 पुनर्निर्देशन. 448 00:22:27,110 --> 00:22:33,390 >> तो यह बस HTML है, लेकिन मैं जा रहा हूँ मैं झंडा इस हाइफ़न कर्ल जोड़ने के लिए. 449 00:22:33,390 --> 00:22:33,600 ठीक है? 450 00:22:33,600 --> 00:22:35,600 और यह दिखाने के लिए जा रहा है मुझे हेडर. 451 00:22:35,600 --> 00:22:40,640 तो यह भी आता है कि जानकारी है के माध्यम से मैं इस प्रतिक्रिया मिलता है. 452 00:22:40,640 --> 00:22:41,260 ठीक है? 453 00:22:41,260 --> 00:22:45,320 >> तो शीर्ष पर, आप यह देखना HTTP 301 स्थायी रूप से चलते हैं. 454 00:22:45,320 --> 00:22:49,470 और इस तरह के महत्वपूर्ण है क्योंकि इस स्थिति कोड को दर्शाता है. 455 00:22:49,470 --> 00:22:53,750 तो यहाँ 301, स्थिति कोड है बुनियादी तौर पर सिर्फ एक पूर्णांक है जो 456 00:22:53,750 --> 00:22:57,750 उस ब्राउज़र या जो कोई भी है कहता है आप बहाना है कि अगर यह पढ़ 457 00:22:57,750 --> 00:23:01,460 आप एक ब्राउज़र रहे हैं और आप यह देख रहे हैं, मूल रूप से अब अगर तुम देखो 458 00:23:01,460 --> 00:23:04,960 कि और आप एक 301 देख, तुम मुझे पता है के आधार पर कुछ खास करना 459 00:23:04,960 --> 00:23:08,810 301, या कुछ विशेष हुआ 301 पर आधारित है. 460 00:23:08,810 --> 00:23:12,640 तो यह स्थायी रूप से स्थानांतरित कहते हैं. 461 00:23:12,640 --> 00:23:17,700 >> और फिर, मूल रूप से, हम हैं महत्वपूर्ण मूल्य जोड़े का एक गुच्छा. 462 00:23:17,700 --> 00:23:22,100 इसलिए हम स्थान मिल www.google.com है. 463 00:23:22,100 --> 00:23:25,190 और फिर एक तरह से यह सब अन्य सामान, लेकिन असल में, क्या स्थान है 464 00:23:25,190 --> 00:23:29,662 कहावत नया स्थान है www.google.com पर है. 465 00:23:29,662 --> 00:23:33,800 आप google.com पर जाना तो अब, अगर तुम हूँ सॉर्ट की झपकी के ब्राउज़र तरह देखना 466 00:23:33,800 --> 00:23:38,770 आप पुनर्निर्देशित तो एक दूसरे और के लिए सही वापस www.google.com पर. 467 00:23:38,770 --> 00:23:41,840 इसलिए प्रतिक्रियाओं शामिल कर सकते हैं इन हेडर. 468 00:23:41,840 --> 00:23:43,330 >> और चीजों के एक जोड़े को बाहर बात करने के लिए. 469 00:23:43,330 --> 00:23:46,890 तो चलिए हम वास्तव में सफल रहे थे, हम कहते हैं एक वेब पेज का दौरा करने में. 470 00:23:46,890 --> 00:23:49,040 इसलिए मेरे लिए चलते हैं - 471 00:23:49,040 --> 00:23:51,080 एक अच्छी वेबसाइट क्या है? 472 00:23:51,080 --> 00:23:53,285 मैं अच्छा के बारे में सोच पर बुरा हूँ मौके पर वेबसाइटों. 473 00:23:53,285 --> 00:23:53,640 >> दर्शक: विकिपीडिया. 474 00:23:53,640 --> 00:23:54,160 >> केविन SCHMID: ठीक है. 475 00:23:54,160 --> 00:23:56,040 विकिपीडिया करते हैं. 476 00:23:56,040 --> 00:23:58,680 यहाँ तो मैं ले जाया गया था. 477 00:23:58,680 --> 00:23:59,240 ओह रुको. 478 00:23:59,240 --> 00:24:00,160 मैं था? 479 00:24:00,160 --> 00:24:00,890 हाँ, मैं था. 480 00:24:00,890 --> 00:24:01,100 ठीक है. 481 00:24:01,100 --> 00:24:03,005 इसलिए मैं www करना होगा. 482 00:24:03,005 --> 00:24:06,006 इसलिए मैं www क्या करने जा रहा हूँ. 483 00:24:06,006 --> 00:24:09,680 आप देख सकते हैं और, यहाँ सभी HTML है ब्राउज़र की प्रक्रिया होगी कि 484 00:24:09,680 --> 00:24:10,910 विकिपीडिया के लिए. 485 00:24:10,910 --> 00:24:14,055 >> लेकिन मैं यहाँ स्क्रॉल रखने के लिए, मैं शीर्ष पर क्या देखेंगे - 486 00:24:14,055 --> 00:24:17,800 वाह, का एक बहुत कुछ है विकिपीडिया पर HTML - 487 00:24:17,800 --> 00:24:22,550 लेकिन क्या मैं यहाँ शीर्ष पर देख सकते है के रूप में विरोध किया इस 200 स्थिति कोड 488 00:24:22,550 --> 00:24:24,570 जैसा कि मैंने पहले देखा था कि 301. 489 00:24:24,570 --> 00:24:27,100 और यह एक अच्छा है कि नोटिस यह अगले अनुकूल ठीक है. 490 00:24:27,100 --> 00:24:29,470 तो यह अच्छी स्थिति कोड की तरह है. 491 00:24:29,470 --> 00:24:31,160 >> कि 200 नंबर परिचित दिखता है? 492 00:24:31,160 --> 00:24:34,120 493 00:24:34,120 --> 00:24:39,880 हां, क्योंकि मैं simpler.js किया था, जब मैं वहाँ एक 200 लिखा था. 494 00:24:39,880 --> 00:24:43,290 तो यह है कि मूल रूप से बता कह रहा है ब्राउज़र या जो कोई भी प्राप्त करने की कोशिश कर रहा है 495 00:24:43,290 --> 00:24:45,440 वे सफल रहे थे कि यह. 496 00:24:45,440 --> 00:24:49,040 या जैसा कि हम उस तरह भी सफल रहे थे. 497 00:24:49,040 --> 00:24:54,320 >> और विशेष वाक्यविन्यास के इस तरह वहाँ जावास्क्रिप्ट में एक घोषित करने के लिए 498 00:24:54,320 --> 00:24:59,870 सामग्री प्रकार की तरह इन चाबियों का नक्शा और पाठ सादे तरह इन मूल्यों. 499 00:24:59,870 --> 00:25:03,780 तो आप प्रतिक्रिया पर नजर डालें तो लगता है कि हम , पहले वापस विकिपीडिया से मिला - 500 00:25:03,780 --> 00:25:06,200 मैं स्क्रॉल करने के लिए प्रयास करने के लिए जा रहा हूँ एक छोटे से तेजी से ऊपर - 501 00:25:06,200 --> 00:25:09,900 आप सर्वर की तरह इन चाबियों है और इन मूल्यों अपाचे. 502 00:25:09,900 --> 00:25:12,120 तो आप कुंजी और मूल्यों मिल गया है. 503 00:25:12,120 --> 00:25:15,930 और आप में यह निर्दिष्ट कर सकते हैं वापस भेजने के लिए क्या नोड. 504 00:25:15,930 --> 00:25:19,380 >> तो यह कुछ में, वास्तव में किस तरह का है तरीके, और कुछ मायनों में यह नहीं है 505 00:25:19,380 --> 00:25:23,170 वास्तव में, लेकिन यह एक छोटे से कम स्तर है आप हो सकता है कि PHP कोड से 506 00:25:23,170 --> 00:25:26,980 पी के लिए लिख सात सेट क्योंकि PHP और अपाचे की तरह कुछ का ख्याल रखना 507 00:25:26,980 --> 00:25:28,150 आपके लिए इन बातों के बारे में. 508 00:25:28,150 --> 00:25:32,520 PHP में, आप डिफ़ॉल्ट ओवरराइड कर सकते हैं अपने खुद के हेडर लिखने से व्यवहार. 509 00:25:32,520 --> 00:25:35,520 लेकिन इस के प्रयोजनों के लिए, हम मिल हमारे अपने हेडर बाहर लिखने के लिए. 510 00:25:35,520 --> 00:25:38,210 511 00:25:38,210 --> 00:25:41,105 >> तो यह है कि लाइन को समझ पड़ता है सब लोग, लिखने के सिर रेखा? 512 00:25:41,105 --> 00:25:41,380 ठीक है. 513 00:25:41,380 --> 00:25:42,280 बहुत बढ़िया. 514 00:25:42,280 --> 00:25:45,870 >> तो फिर मैं क्या मैं प्रतिक्रिया अंत है दुनिया नमस्ते कह कर. 515 00:25:45,870 --> 00:25:47,040 ठीक है. 516 00:25:47,040 --> 00:25:49,920 लेकिन वह सिर्फ एक समारोह है अनुरोध हैंडलर कहा जाता है. 517 00:25:49,920 --> 00:25:53,510 तो अब मैं वास्तव में किस तरह की क्या करना है इस समारोह के साथ कुछ है, है ना? 518 00:25:53,510 --> 00:25:59,170 >> तो यहाँ मैं क्या कर यह वहाँ है वर सर्वर के बराबर होती है जो लाइन 519 00:25:59,170 --> 00:26:03,530 HTTP.create सर्वर, और फिर मैं अनुरोध हैंडलर में गुजरती हैं. 520 00:26:03,530 --> 00:26:06,080 तो इस नोड की तरह है एक सर्वर बनाने का तरीका. 521 00:26:06,080 --> 00:26:08,790 और मैं जा रहा हूँ कि नोटिस अनुरोध हैंडलर में. 522 00:26:08,790 --> 00:26:12,290 तो इस createServer कह रहा है मैं आपको एक मुझे बनाना चाहते कि समारोह 523 00:26:12,290 --> 00:26:16,270 सर्वर, और जब कि सर्वर को प्राप्त करता है एक प्रतिक्रिया है, मैं आप इस फोन की जरूरत 524 00:26:16,270 --> 00:26:18,680 हैंडलर समारोह का अनुरोध. 525 00:26:18,680 --> 00:26:18,990 ठीक है? 526 00:26:18,990 --> 00:26:22,290 >> तो यह है कि लाइन बहुत ज्यादा सही दूर रहता है. 527 00:26:22,290 --> 00:26:28,780 तो वर सर्वर लाइन सही किया जाता है तुम बहुत ज्यादा है कि ऐसा करने के बाद. 528 00:26:28,780 --> 00:26:31,770 मेरा मतलब है, यह कुछ आंतरिक स्थापित करने के लिए है आप के लिए होता है कि पता करने के लिए राज्य 529 00:26:31,770 --> 00:26:35,400 उस अनुरोध हैंडलर समारोह फोन है, लेकिन यह वहाँ बैठने के लिए जा रहा है और नहीं है 530 00:26:35,400 --> 00:26:37,730 कहते भेजा उपयोगकर्ता है मुझे अभी तक एक अनुरोध? 531 00:26:37,730 --> 00:26:39,270 अभी तक मुझे एक अनुरोध भेजा है? 532 00:26:39,270 --> 00:26:40,780 तो यह ब्लॉक नहीं करता है. 533 00:26:40,780 --> 00:26:41,650 ठीक है? 534 00:26:41,650 --> 00:26:46,120 >> तो क्या यह करना होगा कि यह मूल रूप से है अब इस कोड के लिए एक संकेत संग्रहीत करता है, 535 00:26:46,120 --> 00:26:49,670 तो इस अनुरोध हैंडलर समारोह, और उस कोड चलेंगे जब किसी को 536 00:26:49,670 --> 00:26:52,170 एक अनुरोध करता है. 537 00:26:52,170 --> 00:26:54,120 और फिर हम server.listen करना. 538 00:26:54,120 --> 00:26:56,950 539 00:26:56,950 --> 00:26:59,960 >> 1337 सुंदर मनमाना है. 540 00:26:59,960 --> 00:27:02,285 मैं कोई विशेष कारण था उस नंबर चुनने के लिए. 541 00:27:02,285 --> 00:27:03,860 यह पूरी तरह से यादृच्छिक था. 542 00:27:03,860 --> 00:27:07,010 लेकिन वह सिर्फ पोर्ट निर्दिष्ट करता है. 543 00:27:07,010 --> 00:27:10,640 तो सबसे वेब सर्वर आप देखेंगे कि वे उस तरह है क्योंकि 80 बंदरगाह का उपयोग 544 00:27:10,640 --> 00:27:11,810 के सम्मेलन की तरह. 545 00:27:11,810 --> 00:27:16,170 तो मैं ऐसा कुछ करने के लिए जाना है, मैं नहीं जानता, Wikipedia.org, 546 00:27:16,170 --> 00:27:17,700 और मैं पेट के 8 डाल - 547 00:27:17,700 --> 00:27:18,610 अरे वाह, तुम देख नहीं सकते. 548 00:27:18,610 --> 00:27:19,370 मैं माफी चाहता हूँ. 549 00:27:19,370 --> 00:27:21,820 लेकिन मैं विकिपीडिया से करते हैं - 550 00:27:21,820 --> 00:27:24,810 मैं यहां यह लिख देता हूँ बस इतना है कि यह कैमरे पर स्पष्ट है. 551 00:27:24,810 --> 00:27:29,150 लेकिन मैं के साथ एक ब्राउज़र में यह लो अगर यह बताता है कि एक पेट के 80, के लिए जाना 552 00:27:29,150 --> 00:27:31,430 Wikipedia.org पोर्ट 80 पर. 553 00:27:31,430 --> 00:27:36,200 तो यह संयुक्त राज्य अमेरिका है कि कैसे की तरह है आप जहाज कर सकते हैं जहां की तरह कई बंदरगाहों 554 00:27:36,200 --> 00:27:37,440 की तरह बातें करने के लिए. 555 00:27:37,440 --> 00:27:40,730 तो यह इस विशेष के लिए जाना पसंद है इस सर्वर पर जगह है. 556 00:27:40,730 --> 00:27:40,990 ठीक है. 557 00:27:40,990 --> 00:27:45,730 >> इसलिए मैं सिर्फ 1337 चुना. 558 00:27:45,730 --> 00:27:47,910 संख्या की एक पूरी श्रृंखला है आप चुन सकते हैं कि. 559 00:27:47,910 --> 00:27:50,390 यह पूरी तरह से विशेष नहीं था. 560 00:27:50,390 --> 00:27:54,560 >> लेकिन अब मैं क्या करने जा रहा हूँ मैं नोड चलाने के लिए जा रहा हूँ. 561 00:27:54,560 --> 00:27:59,730 मुझे वास्तव में दर्ज करते हैं कि एक जोड़े आप इसे देख सकते हैं कि इतने नीचे लाइनों. 562 00:27:59,730 --> 00:28:03,130 मैं नोड क्या करने जा रहा हूँ, और मैं कर रहा हूँ simpler.js चला जा रहा. 563 00:28:03,130 --> 00:28:06,880 और हम कैसे प्राप्त करने के बारे में बात करेंगे नोड एक छोटा सा में स्थापित की. 564 00:28:06,880 --> 00:28:09,350 लेकिन अब यह सिर्फ सर्वर चल रहा है. 565 00:28:09,350 --> 00:28:14,360 >> तो एक बात हम कोशिश कर सकते हैं, जो नहीं हो सकता रोमांचक हम वास्तव में कर सकते है कि हो सकता है 566 00:28:14,360 --> 00:28:16,300 कर्ल में इसे उपयोग करने की कोशिश. 567 00:28:16,300 --> 00:28:20,680 इसलिए मैं कर्ल कर सकते हैं, और मेरे मशीन स्थानीय मेजबान है. 568 00:28:20,680 --> 00:28:24,600 तुम भी यह लिखा देखेंगे कभी कभी इस तरह से. 569 00:28:24,600 --> 00:28:29,810 स्थानीय मेजबान और 127.0.0.1 प्रकार हैं के अपने घर को कंप्यूटर की तरह. 570 00:28:29,810 --> 00:28:33,180 तो यह करने के लिए बात की तरह है अपने खुद के कंप्यूटर. 571 00:28:33,180 --> 00:28:33,760 ठीक है. 572 00:28:33,760 --> 00:28:36,030 >> और फिर मैं 1337 में कह सकते हैं. 573 00:28:36,030 --> 00:28:39,630 तो मैं कोड की इस पंक्ति चलाते हैं, यह दुनिया नमस्कार कहते हैं. 574 00:28:39,630 --> 00:28:44,050 और मुझे लगता है कि चीजें देखना चाहता था कि अगर था सामग्री प्रकार पाठ सादे या 575 00:28:44,050 --> 00:28:46,560 जो भी हो, मैं भी यहाँ इस डाल सकता है. 576 00:28:46,560 --> 00:28:48,810 और यह ठीक कहती है कि नोटिस. 577 00:28:48,810 --> 00:28:50,810 और मैं पाठ सादा है. 578 00:28:50,810 --> 00:28:53,140 और फिर यह अन्य तरह के सभी वहाँ नोड में जोड़ना होगा कि सामान 579 00:28:53,140 --> 00:28:54,440 वहाँ मेरे लिए. 580 00:28:54,440 --> 00:28:55,700 यही कारण है कि सुपर महत्वपूर्ण नहीं है. 581 00:28:55,700 --> 00:28:58,230 >> मेरा मतलब है, तकनीकी के कुछ प्रकार के होते हैं तरह कर रहे हैं उस पर के पहलुओं 582 00:28:58,230 --> 00:29:02,280 सिर्फ दिखाने के लिए के बारे में बात करने के लिए शांत है, लेकिन आप, मैं भी सत्ता के लिए है 583 00:29:02,280 --> 00:29:03,070 चारों ओर इन बदलते हैं. 584 00:29:03,070 --> 00:29:06,280 तो मैं सिर्फ एक गुच्छा जोड़ सकते हैं इस तरह से सामान की. 585 00:29:06,280 --> 00:29:11,780 और फिर अब, मैं में देखो अगर मेरी उत्पादन, यह है कि हो जाएगा. 586 00:29:11,780 --> 00:29:19,740 इसलिए इन हेडर कुछ बातें मतलब कि जैसे ब्राउज़रों और बातें करने के लिए. 587 00:29:19,740 --> 00:29:23,040 >> और हेडर मूल रूप से एक ब्राउज़र बता सकते हैं कैसे कुछ करने के लिए प्रतिक्रिया करने के लिए. 588 00:29:23,040 --> 00:29:26,280 आप पहले कभी कुकीज़ के बारे में सुना है तो या आप कभी नाराज़ किया गया है अगर 589 00:29:26,280 --> 00:29:29,330 कुकी सेट करने के लिए एक वेब पेज से, या कुकी ब्लॉक या पर दिया 590 00:29:29,330 --> 00:29:30,320 ऐसा कुछ. 591 00:29:30,320 --> 00:29:33,040 आप वास्तव में कुकीज़ सेट कर सकते हैं इन शीर्ष लेख में. 592 00:29:33,040 --> 00:29:36,990 तो वे कैसे एक ब्राउज़र बताओ कुछ मामलों में व्यवहार. 593 00:29:36,990 --> 00:29:37,750 ठीक है. 594 00:29:37,750 --> 00:29:40,310 >> इसलिए कि simpler.js था. 595 00:29:40,310 --> 00:29:42,780 किसी को भी किसी भी सवाल है उस स्रोत कोड फ़ाइल पर? 596 00:29:42,780 --> 00:29:45,420 597 00:29:45,420 --> 00:29:45,610 ठीक है. 598 00:29:45,610 --> 00:29:46,490 कूल. 599 00:29:46,490 --> 00:29:50,780 >> तो चलो से आर को दूर करते हैं और simple.js पर दिखेगा. 600 00:29:50,780 --> 00:29:53,010 तो यह बहुत ज्यादा है एक ही कार्यक्रम. 601 00:29:53,010 --> 00:29:56,030 मैं सिर्फ एक छोटे से इसे दूसरे तरीके से लिखा मैं उजागर की तरह करना चाहता था क्योंकि 602 00:29:56,030 --> 00:29:57,850 जावास्क्रिप्ट के कुछ सुविधाएँ. 603 00:29:57,850 --> 00:30:03,880 >> इसलिए सूचना के उस अनुरोध हैंडलर समारोह पूरी तरह से गायब हो गया है. 604 00:30:03,880 --> 00:30:05,800 हां ओह, आप एक प्रश्न किया है? 605 00:30:05,800 --> 00:30:08,200 >> दर्शक: हाँ, तर्क कि करने के लिए पारित कर रहे हैं कि 606 00:30:08,200 --> 00:30:10,120 समारोह, वे क्या कर रहे हैं? 607 00:30:10,120 --> 00:30:12,050 >> केविन SCHMID: तो उन हैं जावास्क्रिप्ट वस्तुओं. 608 00:30:12,050 --> 00:30:15,230 Node.js दस्तावेज में, यह मूल रूप से तरीके हैं क्या कहते हैं 609 00:30:15,230 --> 00:30:15,910 उन पर उपलब्ध. 610 00:30:15,910 --> 00:30:19,602 हम बस के लिए उपयोग के लिए होता है लिखने के सिर और अंत नामक इस विधि 611 00:30:19,602 --> 00:30:20,730 और इस तरह से सामान. 612 00:30:20,730 --> 00:30:22,590 लेकिन एक पूरी गुच्छा है अधिक तरीकों. 613 00:30:22,590 --> 00:30:27,670 >> और उदाहरण के लिए, उनमें से एक की तरह आरईसी पर विशेष रूप से, आप कर सकते हैं 614 00:30:27,670 --> 00:30:34,540 rec.method तरह कुछ जो होगा यह एक HTTP मिलता है या कि क्या आप बता 615 00:30:34,540 --> 00:30:36,780 HTTP पोस्ट अनुरोध और इस तरह बातें. 616 00:30:36,780 --> 00:30:39,100 इसलिए अलग से सभी प्रकार के होते है गुण, लेकिन वे दोनों कर रहे हैं 617 00:30:39,100 --> 00:30:42,560 जावास्क्रिप्ट वस्तुओं, और वे बस उनमें से जुड़े कार्यों आपको लगता है कि 618 00:30:42,560 --> 00:30:43,850 बातें करने के लिए लिख सकते हैं. 619 00:30:43,850 --> 00:30:45,520 ठीक है? 620 00:30:45,520 --> 00:30:49,030 >> तो उस अनुरोध हैंडलर नोटिस पूरी तरह से चला गया है. 621 00:30:49,030 --> 00:30:52,650 लेकिन मैं अनुरोध में था कि कोड हैंडलर अभी भी वहाँ है. 622 00:30:52,650 --> 00:30:56,520 मैं अभी भी इस res.writeHead है और मैं अभी भी इस res.end है. 623 00:30:56,520 --> 00:31:00,270 और इस में से एक उदाहरण क्या है जावास्क्रिप्ट एक के इस विचार है 624 00:31:00,270 --> 00:31:01,460 गुमनाम समारोह. 625 00:31:01,460 --> 00:31:04,180 और बेनामी एक उपयुक्त नाम की तरह है इसके लिए यह सचमुच नहीं है, क्योंकि 626 00:31:04,180 --> 00:31:05,180 एक नाम है. 627 00:31:05,180 --> 00:31:07,900 कोई समारोह अनुरोध नहीं है वहाँ में हैंडलर. 628 00:31:07,900 --> 00:31:10,110 >> कोई नाम नहीं है, लेकिन यह अभी भी एक तर्क ले रही है. 629 00:31:10,110 --> 00:31:12,250 इसलिए मैं अभी भी आरईसी और जोड़कर मिला. 630 00:31:12,250 --> 00:31:16,180 और मैं अभी भी कोड है. 631 00:31:16,180 --> 00:31:18,930 यह पूरी तरह से ठीक है जावास्क्रिप्ट कोड. 632 00:31:18,930 --> 00:31:22,540 इसलिए मैं बिना एक समारोह की घोषणा कर सकते हैं स्पष्ट रूप से यह एक नाम दे रही है. 633 00:31:22,540 --> 00:31:24,250 यह पहली बार में एक छोटे से भ्रामक है. 634 00:31:24,250 --> 00:31:26,230 कुछ की तरह उपयोगी बातें कर रहे हैं आप के साथ क्या कर सकते हैं 635 00:31:26,230 --> 00:31:28,450 इन बेनामी कार्य करता है. 636 00:31:28,450 --> 00:31:32,100 किसी को भी इस पर कोई प्रश्न है, या यह सिर्फ के लिए, के लिए अब ठीक है 637 00:31:32,100 --> 00:31:34,130 एक तरह से सिर्फ स्वीकार करते हैं कि यह एक ही बात करेंगे? 638 00:31:34,130 --> 00:31:36,700 639 00:31:36,700 --> 00:31:37,125 हाँ? 640 00:31:37,125 --> 00:31:38,680 >> दर्शक: कार्यों पहले कर रहे हैं जावास्क्रिप्ट में वर्ग? 641 00:31:38,680 --> 00:31:41,020 >> केविन SCHMID: वे पहले कर रहे हैं जावास्क्रिप्ट में वर्ग. 642 00:31:41,020 --> 00:31:45,490 और सिर्फ इतना पता है कि इन अवधारणाओं की तरह एक गुमनाम समारोह में गुजर 643 00:31:45,490 --> 00:31:49,600 इस जावास्क्रिप्ट लागू करने के लिए आप के लिए अपने अंतिम परियोजना में लिख सकते हैं 644 00:31:49,600 --> 00:31:51,260 भी वेब ब्राउज़र. 645 00:31:51,260 --> 00:31:56,700 तो उदाहरण के लिए, जावास्क्रिप्ट में में अपने ब्राउज़र, यह कुछ हद तक भी घटना है 646 00:31:56,700 --> 00:32:00,680 समझ में संचालित है कि क्या तुम हूँ उपयोगकर्ता इस पर क्लिक करने पर है 647 00:32:00,680 --> 00:32:02,640 बटन, मैं आप इस कोड को चलाने के लिए चाहते हैं. 648 00:32:02,640 --> 00:32:07,070 >> इसलिए इसके बारे में विचारों का एक ही तरह का है ग्राहक की ओर एक माउस क्लिक करें या वे जब 649 00:32:07,070 --> 00:32:09,870 पर कुछ छवि पर माउस अपने वेब पेज, इस कोड को चलाने. 650 00:32:09,870 --> 00:32:11,350 कि सर्वर के लिए आवेदन कर सकते हैं. 651 00:32:11,350 --> 00:32:16,380 तो उस तरह के रोमांचक तरह है जावास्क्रिप्ट एक सच है कारण 652 00:32:16,380 --> 00:32:19,810 उपयुक्त या कुछ लोगों को यह एक लगता है इस तरह के लिए उपयुक्त भाषा 653 00:32:19,810 --> 00:32:22,530 घटना चालक सर्वर क्योंकि तुम इन बेनामी कार्य करता है. 654 00:32:22,530 --> 00:32:26,150 आप पूरे विचार के लिए है इस अतुल्यकालिक कोड. 655 00:32:26,150 --> 00:32:27,060 ठीक है. 656 00:32:27,060 --> 00:32:30,360 किसी को भी किसी भी प्रश्न हैं? 657 00:32:30,360 --> 00:32:30,470 >> ठीक है. 658 00:32:30,470 --> 00:32:33,440 इसलिए कि simple.js था. 659 00:32:33,440 --> 00:32:38,070 तो चलो एक और को देखो या कुछ और. 660 00:32:38,070 --> 00:32:42,040 तो इस sleep.js है. 661 00:32:42,040 --> 00:32:47,160 तो साथ परिचित किसी को है सी समारोह नींद? 662 00:32:47,160 --> 00:32:50,936 पहले व्याख्यान का शायद एक से या ऐसा कुछ? 663 00:32:50,936 --> 00:32:54,650 >> तो बुनियादी तौर पर आप मुझे लगता है कि में पारित कर सकते हैं एक सेकंड की संख्या या आप यू का उपयोग कर रहे हैं 664 00:32:54,650 --> 00:32:57,080 मिसे के एक नंबर सो या nanoseconds. 665 00:32:57,080 --> 00:33:00,450 और मूल रूप से कार्यक्रम बस बंद हो जाएगा समय की है कि राशि के लिए चल रहा है. 666 00:33:00,450 --> 00:33:01,280 है ना? 667 00:33:01,280 --> 00:33:06,970 और फिर यह अंततः जाग और होगा तो यह सिर्फ उनका प्रदर्शन जारी रहेगा 668 00:33:06,970 --> 00:33:08,340 कार्यक्रम. 669 00:33:08,340 --> 00:33:12,740 >> इसलिए इस सर्वर की तरह देता है नींद की छाप. 670 00:33:12,740 --> 00:33:17,580 तो हम एक ही है कि नोटिस शीर्षक के रूप में साथ 200 res.writeHead 671 00:33:17,580 --> 00:33:22,130 इससे पहले, लेकिन फिर हम यह कह रहे हैं समारोह सेट मध्यांतर बुलाया. 672 00:33:22,130 --> 00:33:26,170 सेट मध्यांतर में भी उपलब्ध है कृपया अपने वेब ब्राउजर गूगल क्रोम 673 00:33:26,170 --> 00:33:28,000 या सफारी या जो भी हो. 674 00:33:28,000 --> 00:33:31,720 और असल में यह यहाँ क्या कर रहा है यह एक समारोह में ले जा रहा है. 675 00:33:31,720 --> 00:33:33,360 सूचना, फिर से, यह एक है गुमनाम समारोह. 676 00:33:33,360 --> 00:33:36,310 हम कर रहे हैं क्योंकि तो उस तरह से शांत है एक के भीतर एक गुमनाम समारोह का उपयोग 677 00:33:36,310 --> 00:33:38,950 अनाम समारोह जो एक अजीब सा हो सकता है. 678 00:33:38,950 --> 00:33:42,270 >> लेकिन ऐसा नहीं है, जो कि समारोह ले जा रहा है और इस तरह से - मूल रूप से कह 679 00:33:42,270 --> 00:33:47,430 निर्माण मैं चाहता हूँ, 5000 मिसे में है आप उस समारोह निष्पादित करने के लिए जो 680 00:33:47,430 --> 00:33:50,830 बस अरे प्रतिक्रिया समाप्त होता है और लिखते हैं. 681 00:33:50,830 --> 00:33:56,730 तो इस तरह का आभास देता है सो, लेकिन जिस तरह से यह वास्तव में 682 00:33:56,730 --> 00:33:59,780 काम करता है हम के माध्यम से चलाया जाएगा बहुत जल्दी इस लाइन. 683 00:33:59,780 --> 00:34:01,190 हम सिर्फ कुछ लिख रहे हैं. 684 00:34:01,190 --> 00:34:03,780 और फिर हम भी माध्यम से चलने देंगे बहुत जल्दी इस लाइन. 685 00:34:03,780 --> 00:34:08,620 इसलिए हम वास्तव में नहीं जा रहे हैं पाँच सेकंड प्रतीक्षा करने के लिए. 686 00:34:08,620 --> 00:34:11,370 हम बस चलाने के लिए जा रहे हैं तुरंत इस कोड. 687 00:34:11,370 --> 00:34:14,219 >> और फिर, फिर से, इस छोटे से वहाँ अब इस बात की है कि घटना पाश 688 00:34:14,219 --> 00:34:17,570 मूल रूप से बस है कि रजिस्टरों लगातार एक सर्कल में चारों ओर जा रहा 689 00:34:17,570 --> 00:34:21,620 और एक एकल में घड़ी को देख मुद्दा है और कह, पाँच सेकंड है 690 00:34:21,620 --> 00:34:22,360 अभी तक पारित किया? 691 00:34:22,360 --> 00:34:26,409 और फिर यह देखता है कि जब दूसरा हाथ में पाँच सेकंड या की तरह ले जाया गया 692 00:34:26,409 --> 00:34:29,190 जो भी हो, तो यह उठता है और कहता है ओह, मुझे क्या करना है? 693 00:34:29,190 --> 00:34:30,350 ओह मैं इस कोड चलाने के लिए है. 694 00:34:30,350 --> 00:34:33,110 और फिर यह जा रहा है अरे res.end चलाते हैं. 695 00:34:33,110 --> 00:34:35,360 >> तो फिर, हम यहाँ इंतज़ार कभी नहीं रहे हैं. 696 00:34:35,360 --> 00:34:38,590 इसलिए यह नहीं है कि के अंदर इस कोड इस समारोह में पाँच ले जा रहा है 697 00:34:38,590 --> 00:34:39,900 चलाने के लिए सेकंड. 698 00:34:39,900 --> 00:34:43,090 इस कोड को बहुत ज्यादा चलेंगे करने के लिए तत्क्षण, कम से कम रिश्तेदार 699 00:34:43,090 --> 00:34:46,139 हम बात कर रहे थे कि पाँच सेकंड के बारे में पहले से पहले. 700 00:34:46,139 --> 00:34:52,100 >> तो बस, कार्रवाई में यह दिखाने के लिए मैं Node.sleep.js कर सकते हैं. 701 00:34:52,100 --> 00:34:55,159 और कुछ मैं गड़बड़ कर दी? 702 00:34:55,159 --> 00:34:56,310 संभवतः. 703 00:34:56,310 --> 00:34:57,410 माफ़ कीजिए. 704 00:34:57,410 --> 00:34:59,530 हम इसे ठीक करने के लिए क्या कर सकते हैं देखते हैं. 705 00:34:59,530 --> 00:35:10,830 706 00:35:10,830 --> 00:35:12,080 ठीक है. 707 00:35:12,080 --> 00:35:15,460 708 00:35:15,460 --> 00:35:17,464 तो निश्चित रूप से Node.js. उपयोग 709 00:35:17,464 --> 00:35:19,440 मैं सिर्फ मजाक कर रहा हूँ. 710 00:35:19,440 --> 00:35:19,570 ठीक है. 711 00:35:19,570 --> 00:35:20,820 बस एक सेकंड. 712 00:35:20,820 --> 00:35:27,380 713 00:35:27,380 --> 00:35:27,900 ठीक है. 714 00:35:27,900 --> 00:35:29,130 मैं यह क्या है. 715 00:35:29,130 --> 00:35:34,440 >> तो मुद्दा है कि मेरे अन्य टैब में यहाँ, मैं पहले से ही पर नोड चल रहा था 716 00:35:34,440 --> 00:35:36,590 कि एक ही पते, 1337. 717 00:35:36,590 --> 00:35:43,370 हम देखें तो यह फेंक दिया तो त्रुटि इसे असली बारीकी, पते में है 718 00:35:43,370 --> 00:35:45,180 , EADDRINUSE का उपयोग करें. 719 00:35:45,180 --> 00:35:47,970 इसलिए मैं यहाँ पहले से ही 1337 का उपयोग कर रहा था. 720 00:35:47,970 --> 00:35:52,210 मुझे लगता है मैं तो अब इस बंद, और यदि हां हमें उम्मीद है कि सब कुछ इस चलाने का प्रयास 721 00:35:52,210 --> 00:35:53,210 ठीक हो जाएगा. 722 00:35:53,210 --> 00:35:53,440 ठीक है. 723 00:35:53,440 --> 00:35:57,020 तो आप केवल एक ही बात के आधार पर क्रमबद्ध हो सकती है के एक बार में एक बंदरगाह पर सुन रहा है. 724 00:35:57,020 --> 00:35:59,660 एक अन्य समाधान मेरे लिए हो गया होता सिर्फ इतना है कि कार्यक्रम को संपादित करने और बनाने के लिए 725 00:35:59,660 --> 00:36:02,370 यह 1338 या कुछ और की तरह हो ऐसे ही. 726 00:36:02,370 --> 00:36:04,100 >> लेकिन अब नींद से चल रहा है. 727 00:36:04,100 --> 00:36:06,400 तो चलो वास्तव में इसे बाहर की कोशिश करते हैं ब्राउज़र इस समय यह है क्योंकि एक 728 00:36:06,400 --> 00:36:09,080 देखने के लिए थोड़ा unexciting यह एक टर्मिनल में. 729 00:36:09,080 --> 00:36:13,560 इसलिए मुझे लगता है कि बस में जाने के लिए जा रहा हूँ 127 पते फिर 1337 में. 730 00:36:13,560 --> 00:36:14,850 और अगर आप इसे देख सकते हैं - 731 00:36:14,850 --> 00:36:18,050 मैं आप कर सकते हैं अगर नहीं पता है - लेकिन मेरी ब्राउज़र की एक बहुत, बहुत लंबे समय ले 732 00:36:18,050 --> 00:36:20,600 या पाँच सेकंड की तरह लोड करने के लिए समय है. 733 00:36:20,600 --> 00:36:23,460 >> और फिर उसके बाद, यह अंत में प्रतिक्रिया समाप्त हो गया. 734 00:36:23,460 --> 00:36:29,070 और आप इसे देख नहीं सकते क्योंकि बात अगर मैं एक छोटे से अधिक चले गए, लेकिन है 735 00:36:29,070 --> 00:36:32,500 इस एक छोटे से छोटे, तुम यह हे कहते हैं देख सकते हैं. 736 00:36:32,500 --> 00:36:35,130 इसलिए मैं हे मिल गया, लेकिन पाँच सेकंड के बाद. 737 00:36:35,130 --> 00:36:38,510 और यह देखने के लिए एक छोटे से क्लीनर हो सकता है यहां टर्मिनल पर यह है, तो मैं कर रहा हूँ 738 00:36:38,510 --> 00:36:40,980 एक क्या करने जा रहा - 739 00:36:40,980 --> 00:36:43,540 चलो यहाँ में करते हैं - 740 00:36:43,540 --> 00:36:48,370 चलो उस पते कर्ल करते हैं फिर 1337 के साथ. 741 00:36:48,370 --> 00:36:50,820 और मैं बस की तरह बैठना होगा यहाँ पाँच सेकंड के लिए. 742 00:36:50,820 --> 00:36:53,760 लेकिन सूचना है कि सर्वर नई प्रतिक्रियाओं को स्वीकार कर सकते हैं. 743 00:36:53,760 --> 00:36:54,940 तो यह हे प्रिंट. 744 00:36:54,940 --> 00:36:58,720 >> और असल में, इस डेमो के लिए क्या मैं यह अन्य टैब में कर सकते हैं - 745 00:36:58,720 --> 00:37:02,640 तो चलो मैं एक और टैब में ऐसा कर हम कहते हैं, मैं कर्ल और ऐसा ही करने जा रहा हूँ 746 00:37:02,640 --> 00:37:03,780 बात फिर से. 747 00:37:03,780 --> 00:37:06,600 और मैं इन किक करने की कोशिश करने जा रहा हूँ एक ही समय में लोगों को बंद. 748 00:37:06,600 --> 00:37:08,260 तो मैं यह करने के लिए जा रहा हूँ, और मैं कर रहा हूँ यहाँ पर दौड़ के लिए जा रहा है और मैं हूँ 749 00:37:08,260 --> 00:37:09,650 फिर से ऐसा करने जा रहा. 750 00:37:09,650 --> 00:37:14,030 >> और हम इसका बनाते हैं इतना है कि आप उन दोनों को देख सकते हैं. 751 00:37:14,030 --> 00:37:20,250 अरे मुद्रित है कि एक और एक है कि मुद्रित हे सब रास्ते पर - 752 00:37:20,250 --> 00:37:22,550 फिर उस प्रयोग करते हैं. 753 00:37:22,550 --> 00:37:25,100 दरअसल, हम इस का उपयोग करते हैं यह ठीक है, तो चाल. 754 00:37:25,100 --> 00:37:30,520 >> तो मैं एक खोल बात का उपयोग करने के लिए जा रहा हूँ कि मुझे मूल रूप से दो प्रतियों को चलाने के लिए अनुमति देता है 755 00:37:30,520 --> 00:37:32,630 समानांतर में इस कार्यक्रम का. 756 00:37:32,630 --> 00:37:36,070 तो यह पहला कार्यक्रम चलाने के लिए और करेंगे समानांतर में दूसरा कार्यक्रम है. 757 00:37:36,070 --> 00:37:39,060 मैं प्रेस दर्ज करें तो अब, अगर यह हो रहा है उस अनुरोध को बहुत ज्यादा बनाने के लिए 758 00:37:39,060 --> 00:37:40,570 तत्क्षण ही समय में. 759 00:37:40,570 --> 00:37:42,620 तो चलो इस एक शॉट देना. 760 00:37:42,620 --> 00:37:44,950 >> तो अब यह दो प्रक्रियाओं कहते हैं नोटिस. 761 00:37:44,950 --> 00:37:50,630 और यदि आप उत्सुक हैं, कि 27,000 नंबर मूल रूप से प्रक्रिया आईडी है. 762 00:37:50,630 --> 00:37:52,940 और फिर वे मुद्रित, नोटिस अरे एक ही समय में. 763 00:37:52,940 --> 00:37:56,820 यह हम पांच इंतजार करना पड़ा पसंद नहीं था उसके बाद एक और तब के लिए सेकंड, 764 00:37:56,820 --> 00:37:59,640 पांच सेकंड बाद दूसरा मिलता है. 765 00:37:59,640 --> 00:38:03,300 तो उस तरह का कुछ मायनों में, यह है वास्तव में सबूत है, लेकिन यह नहीं है 766 00:38:03,300 --> 00:38:07,390 यह बस नहीं है कि सहज ज्ञान युक्त सबूत पाँच सेकंड प्रतीक्षा और अवरुद्ध की तरह 767 00:38:07,390 --> 00:38:08,960 पूरे धागा. 768 00:38:08,960 --> 00:38:10,720 शांत ठीक है. 769 00:38:10,720 --> 00:38:17,850 >> इसलिए हारून पहले एक सवाल पूछा कि था, अच्छी तरह से क्या हम कुछ करते हैं अगर - 770 00:38:17,850 --> 00:38:18,735 हाँ? 771 00:38:18,735 --> 00:38:19,051 >> दर्शक: रुको. 772 00:38:19,051 --> 00:38:21,585 कैसे है कि से अलग printf बफर, हालांकि? 773 00:38:21,585 --> 00:38:23,010 यह स्वचालित रूप से ऐसा नहीं करता है? 774 00:38:23,010 --> 00:38:25,390 क्यों हम इसके बारे में चिंता करने की ज़रूरत है? 775 00:38:25,390 --> 00:38:26,555 >> केविन SCHMID: ओह, तुम सकता है कि एक बार और कहते हो? 776 00:38:26,555 --> 00:38:29,510 >> दर्शक: printf बफर पसंद नहीं करता सटीक एक ही बात करते हैं? 777 00:38:29,510 --> 00:38:31,280 >> केविन SCHMID: printf बफर? 778 00:38:31,280 --> 00:38:32,753 >> दर्शक: हाँ. 779 00:38:32,753 --> 00:38:33,244 ठीक है. 780 00:38:33,244 --> 00:38:40,609 वे थे परीक्षाएँ में से एक में नहीं था कैसे आप अगर सही printf के बारे में बात 781 00:38:40,609 --> 00:38:42,899 कुछ और तो यह एक रोकते हैं, दूसरा, और फिर आप इसे पाश दस है 782 00:38:42,899 --> 00:38:46,530 कई बार, यह दस सेकंड तक प्रतीक्षा करेंगे तब सब कुछ एक साथ printf? 783 00:38:46,530 --> 00:38:47,460 >> केविन SCHMID: ओह, ठीक है. 784 00:38:47,460 --> 00:38:49,170 >> दर्शक: यह वही कर रहा है बात तो इस मामले में? 785 00:38:49,170 --> 00:38:52,630 >> केविन SCHMID: तो सवाल था मूल रूप से पूर्व परीक्षाएँ में से एक में 786 00:38:52,630 --> 00:38:57,200 या कुछ और, एक सवाल ही नहीं था कि मूल रूप से आप प्रिंट एफ 10 का कहना है कि अगर 787 00:38:57,200 --> 00:39:01,490 तो एक बार में बातें और में जैसे सोया उन बाहर मुद्रण की प्रक्रिया, 788 00:39:01,490 --> 00:39:04,850 किसी कारण के लिए अंत में, यह होगा सिर्फ स्क्रीन पर सभी बाहर उन डंप. 789 00:39:04,850 --> 00:39:06,740 इसलिए अलग दो की तरह नहीं है यहाँ अवधारणाओं. 790 00:39:06,740 --> 00:39:10,400 >> तो मैं एक बात है कि, इस में है लगता है मामले में, हम अलग दो के साथ काम कर रहे हैं 791 00:39:10,400 --> 00:39:13,510 एक तरह से लोगों को सर्वर पूछ एक ही समय में बातें करने के लिए. 792 00:39:13,510 --> 00:39:17,455 और कहा कि printf तरह का कारण उस तरह इंतजार कर रहा है और यह सब बाहर उदासीनता 793 00:39:17,455 --> 00:39:21,760 एक बार में अधिक से संबंधित है की कैसे printf तरह - 794 00:39:21,760 --> 00:39:25,100 इसलिए जिस तरह printf वास्तव में है कार्यान्वित यह मूल रूप से करने के लिए किया है 795 00:39:25,100 --> 00:39:28,850 लिखने के लिए ऑपरेटिंग सिस्टम से बात दिलासा देने के लिए है कि सामान. 796 00:39:28,850 --> 00:39:33,460 तो यह है कि सभी को करना नहीं चाहता है आप printf का कहना है कि जब सामान तुरंत 797 00:39:33,460 --> 00:39:36,260 कुछ स्ट्रिंग है कि सकता है क्योंकि यह करने के लिए है, तो महंगा हो 798 00:39:36,260 --> 00:39:37,340 हर बार करते हैं. 799 00:39:37,340 --> 00:39:41,530 >> अगर आप ऐसा करेंगे तो, हे अपने कार्यक्रम printf वास्तव में है कि मुद्रित नहीं हो सकता 800 00:39:41,530 --> 00:39:43,040 तुरंत दिलासा देने के लिए. 801 00:39:43,040 --> 00:39:46,080 यह ठीक है, मैं इसे लिखा था, कह सकते हैं. 802 00:39:46,080 --> 00:39:49,570 तुम्हें देने के लिए के लिए और फिर तरह की प्रतीक्षा यह वास्तव में से पहले एक छोटे से अधिक 803 00:39:49,570 --> 00:39:51,380 सांत्वना के लिए इसे बाहर लेखन. 804 00:39:51,380 --> 00:39:54,040 >> तो यह है कि इस मामले था कि कारण - 805 00:39:54,040 --> 00:39:56,450 और यह एक तरह से असंबद्ध है नींद के लिए - 806 00:39:56,450 --> 00:40:00,060 नींद की तरह बस गया था कि है प्रदर्शित करने के लिए वहाँ में इंजेक्ट 807 00:40:00,060 --> 00:40:02,480 यह लिख नहीं है कि तथ्य यह synchronously. 808 00:40:02,480 --> 00:40:06,210 लेकिन उस के लिए कारण बस है प्रदर्शन आप की जरूरत नहीं है कि इतनी 809 00:40:06,210 --> 00:40:08,920 कि बहुत से संपर्क करने के लिए बना ऑपरेटिंग सिस्टम. 810 00:40:08,920 --> 00:40:12,300 >> लेकिन यहाँ, क्या हम वास्तव में करने की कोशिश कर रहे हैं इस नींद बात के साथ ही शो है 811 00:40:12,300 --> 00:40:17,730 कि हम पर जाकर दो लोगों के पास जब इस वेबसाइट, यह डाल करने के लिए नहीं जा रहा है 812 00:40:17,730 --> 00:40:22,310 उन्हें यह कहने जा रहा है जहां एक पंक्ति में मुझे लगता है मैं कर रहा हूँ तो जब आप मदद, और करने के लिए है 813 00:40:22,310 --> 00:40:25,350 पूरी तरह से इन के बाद आप की मदद समाप्त पाँच सेकंड, तो मैं करने जा रहा हूँ 814 00:40:25,350 --> 00:40:26,750 अगले व्यक्ति पर चलते हैं. 815 00:40:26,750 --> 00:40:29,515 तो सबसे पहले व्यक्ति के अनुरोध नहीं करता उस घटना पाश टाई 816 00:40:29,515 --> 00:40:31,610 कि समझ में आता है. 817 00:40:31,610 --> 00:40:34,980 >> लेकिन यहाँ वास्तव में एक उदाहरण है टाई होगा कि कुछ की 818 00:40:34,980 --> 00:40:36,090 घटना पाश. 819 00:40:36,090 --> 00:40:39,130 तो यहाँ एक भयानक कार्य करने के लिए है n वें फिबोनैकी गणना. 820 00:40:39,130 --> 00:40:43,510 यह सचमुच आप कर सकते हैं बदतर तरीका है n वें फिबोनैकी संख्या की गणना. 821 00:40:43,510 --> 00:40:48,480 और यह सिर्फ स्वीकार करने के लिए वास्तव में है यह कहाँ से आया 822 00:40:48,480 --> 00:40:49,330 वास्तव में नहीं है - 823 00:40:49,330 --> 00:40:53,230 मेरा मतलब है, आप इसे पा जाने की कोशिश कर सकते हैं - लेकिन एक बहुत लंबी ब्लॉग की तरह नहीं है 824 00:40:53,230 --> 00:40:54,130 किसी ने लिखा है कि पोस्ट. 825 00:40:54,130 --> 00:40:55,660 यह उन Reddit चीजों में से एक की तरह है. 826 00:40:55,660 --> 00:40:59,650 लेकिन किसी Node.js आलोचना की, और वे एक उदाहरण के रूप में इस का उपयोग किया. 827 00:40:59,650 --> 00:41:03,700 तो मैं एक तरह से सिर्फ तुम दो दिखाना चाहता था अलग अलग दृष्टिकोण बस पाने के लिए 828 00:41:03,700 --> 00:41:07,320 अवधारणाओं के एक सामान्य समझ इन दोनों चीजों के पीछे. 829 00:41:07,320 --> 00:41:13,050 >> लेकिन यह सिर्फ एक भयानक रूप में चुना है बुरी अक्षम computationally 830 00:41:13,050 --> 00:41:15,940 गणना करने के लिए गहन तरीका n वें फिबोनैकी संख्या. 831 00:41:15,940 --> 00:41:21,180 तो बस एक तरफ ध्यान दें के रूप में, क्यों है यह भयानक एक तरह की तरह? 832 00:41:21,180 --> 00:41:23,210 हाँ? 833 00:41:23,210 --> 00:41:25,130 >> दर्शक: आप शुरू कहो 1,000 से बाहर. 834 00:41:25,130 --> 00:41:27,050 999 और 998 में 1,000 विभाजन. 835 00:41:27,050 --> 00:41:28,970 इस में से प्रत्येक दो चीजों में विभाजन. 836 00:41:28,970 --> 00:41:30,890 इस में से प्रत्येक दो चीजों में विभाजन. 837 00:41:30,890 --> 00:41:31,355 >> केविन SCHMID: ठीक है. 838 00:41:31,355 --> 00:41:32,400 >> दर्शक: सभी तरह से नीचे. 839 00:41:32,400 --> 00:41:32,840 >> केविन SCHMID: बिल्कुल. 840 00:41:32,840 --> 00:41:37,330 तो अगर सिर्फ कैमरे के लिए दोहराने के लिए मैं 1,000 या कुछ और की तरह पर मिथ्या कॉल 841 00:41:37,330 --> 00:41:41,810 ऐसे ही, यह स्पष्ट रूप से कम नहीं है या एक के बराबर है तो मैं करने जा रहा हूँ 842 00:41:41,810 --> 00:41:46,040 यह किसी और मामले में जाते हैं, और फिर मैं जा रहा हूँ 999 मिथ्या प्लस 998 मिथ्या कॉल करने के लिए. 843 00:41:46,040 --> 00:41:50,290 और फिर बहुत ज्यादा है कि सभी की 999 करता मिथ्या है कि काम है 844 00:41:50,290 --> 00:41:52,950 एक तरह से इस स्तर पर. 845 00:41:52,950 --> 00:41:55,620 आप नीचे जाना है, तो यह और भी अधिक बेमानी है उस से भी, लेकिन अगर आप बस 846 00:41:55,620 --> 00:42:01,390 कंप्यूटिंग मिथ्या 998 हो जाता है हमें बहुत करीब 999 मिथ्या है. 847 00:42:01,390 --> 00:42:05,860 इसलिए हम वास्तव में एक छोटे से अधिक होना चाहिए हम किस तरह का पुन: उपयोग के बारे में कैसे चतुर 848 00:42:05,860 --> 00:42:07,580 इन, लेकिन हम पुन: उपयोग नहीं कर रहे हैं सभी में इन बातों को. 849 00:42:07,580 --> 00:42:11,860 तो अगर आप इस विशाल कल्पना कर सकते हैं सिर्फ भयानक है कि विशाल पेड़. 850 00:42:11,860 --> 00:42:12,940 >> लेकिन वैसे भी, ठीक है. 851 00:42:12,940 --> 00:42:14,040 इसलिए कि मिथ्या था. 852 00:42:14,040 --> 00:42:15,530 यह बस चलाने के लिए कुछ समय लगता है. 853 00:42:15,530 --> 00:42:16,510 हाँ? 854 00:42:16,510 --> 00:42:17,760 >> दर्शक: [सुनाई]. 855 00:42:17,760 --> 00:42:20,430 856 00:42:20,430 --> 00:42:22,481 >> केविन SCHMID: ओह, तुम सकता है सवाल दोहराने? 857 00:42:22,481 --> 00:42:23,731 >> दर्शक: [सुनाई]. 858 00:42:23,731 --> 00:42:30,840 859 00:42:30,840 --> 00:42:33,990 >> केविन SCHMID: ओह तो यह सिर्फ कोड है उस तरह का पर होने जा रहा है 860 00:42:33,990 --> 00:42:34,850 सर्वर साइड. 861 00:42:34,850 --> 00:42:38,100 तो यह पाया नहीं किया जा रहा है ब्राउज़र या कुछ में. 862 00:42:38,100 --> 00:42:42,160 यह क्या हमारे पास है मूल रूप से है कि जब यहाँ उपयोगकर्ता बहुत ज्यादा बनाता है 863 00:42:42,160 --> 00:42:45,300 फिर उनके अनुरोध, जब हम की तरह एक अनुरोध करना, हम कॉल करने के लिए जा रहे हैं 864 00:42:45,300 --> 00:42:47,040 सर्वर साइड पर इस समारोह. 865 00:42:47,040 --> 00:42:50,480 और फिर हम परिणाम वापस मिल जाएगा उस समारोह कॉल करने से. 866 00:42:50,480 --> 00:42:52,460 और फिर हम सिर्फ मुद्रित करेंगे यह उपयोगकर्ता के लिए. 867 00:42:52,460 --> 00:42:54,580 तो उपयोगकर्ता वास्तव में सौदा नहीं करता बहुत ज्यादा इस समारोह के साथ. 868 00:42:54,580 --> 00:42:57,270 >> सवाल था? 869 00:42:57,270 --> 00:42:58,470 कि मतलब? 870 00:42:58,470 --> 00:42:58,810 ठीक है. 871 00:42:58,810 --> 00:43:00,930 कूल. 872 00:43:00,930 --> 00:43:04,240 >> तो फिर, हम इस पूरे res.writeHead करना हम बाहर प्रिंट जहां बात 873 00:43:04,240 --> 00:43:05,150 हैडर. 874 00:43:05,150 --> 00:43:09,730 और फिर मैं कर रही द्वारा प्रतिक्रिया खत्म जादुई संख्या मिथ्या 45 है. 875 00:43:09,730 --> 00:43:12,100 तो चलो बस इस सर्वर चलाते हैं. 876 00:43:12,100 --> 00:43:15,190 तो मैं एक नोड fib.js. क्या करने जा रहा हूँ 877 00:43:15,190 --> 00:43:17,340 तो अब मेरे मिथ्या सर्वर चल रहा है. 878 00:43:17,340 --> 00:43:21,790 >> और फिर यहाँ, मैं जा रहा हूँ इनमें से एक करने की. 879 00:43:21,790 --> 00:43:22,200 ठीक है? 880 00:43:22,200 --> 00:43:24,960 तो मैं बस, कर्ल कहने जा रहा हूँ. 881 00:43:24,960 --> 00:43:32,226 तो यह एक छोटे से समय लेने के लिए जा रहा है, लेकिन है उम्मीद है कि जल्द ही यह खत्म होगा और 882 00:43:32,226 --> 00:43:35,660 यह है कि 45 वीं बाहर प्रिंट होगा संख्या फिबोनैकी. 883 00:43:35,660 --> 00:43:36,910 >> दर्शक: [सुनाई]. 884 00:43:36,910 --> 00:43:40,720 885 00:43:40,720 --> 00:43:42,050 >> केविन SCHMID: यह चाहिए बहुत जल्द करवाने के. 886 00:43:42,050 --> 00:43:43,780 तो यह 5-6 सेकंड लेना चाहिए. 887 00:43:43,780 --> 00:43:48,570 मुझे लगता है कि सिर्फ वी 8 की जा रही सुपर है पता नहीं है तेजी से, लेकिन किसी भी मामले में, यह एक है 888 00:43:48,570 --> 00:43:52,700 जानबूझकर बहुत कम उदाहरण और एक गैर तुच्छ के असजीला 889 00:43:52,700 --> 00:43:54,200 अभिकलन. 890 00:43:54,200 --> 00:43:56,700 तो एक समय के बाद, यह इस प्राप्त करता है. 891 00:43:56,700 --> 00:44:02,130 >> लेकिन अब, मुझे क्या करना है कि एक ही तरह की मैं जहां पहले के रूप में प्रयोग 892 00:44:02,130 --> 00:44:04,010 एक ही समय में दो अनुरोध? 893 00:44:04,010 --> 00:44:06,990 तो यहाँ मैं पर एक कर्ल करने के लिए जा रहा हूँ उस पते, और मैं जा रहा हूँ 894 00:44:06,990 --> 00:44:08,260 एक और कर्ल करने के लिए. 895 00:44:08,260 --> 00:44:12,070 और हम के लिए यह किया है, याद हम मूल रूप से यह था जब, सर्वर सो 896 00:44:12,070 --> 00:44:15,320 पाँच सेकंड के बाद, वे सुंदर बहुत दोनों अभी वापस आया 897 00:44:15,320 --> 00:44:16,380 एक ही समय के आसपास. 898 00:44:16,380 --> 00:44:18,650 इसलिए यह विशेष रूप से करार नहीं किया गया था. 899 00:44:18,650 --> 00:44:20,290 >> लेकिन अब यह कोशिश करते हैं. 900 00:44:20,290 --> 00:44:22,370 ठीक है, तो हम हमारे दो प्रक्रियाओं मिला. 901 00:44:22,370 --> 00:44:24,210 उन प्रक्रिया आईडी के हैं याद रखें. 902 00:44:24,210 --> 00:44:25,900 यह एक छोटे से होने जा रहा है हम स्टाल, जबकि अजीब. 903 00:44:25,900 --> 00:44:31,340 904 00:44:31,340 --> 00:44:35,360 तो चलो बस यहाँ रहने के लिए और इंतजार. 905 00:44:35,360 --> 00:44:37,090 >> तो उनमें से एक आना चाहिए पीठ की तरह के बाद - 906 00:44:37,090 --> 00:44:39,190 ठीक है, तो एक वापस आ गया. 907 00:44:39,190 --> 00:44:43,570 लेकिन फिर क्यों दूसरा नहीं किया एक बस अभी तक वापस आ गए? 908 00:44:43,570 --> 00:44:44,389 हाँ? 909 00:44:44,389 --> 00:44:49,280 >> दर्शक: सर्वर कुछ नहीं कर सकते यह है कि बड़ी संख्या कंप्यूटिंग की है. 910 00:44:49,280 --> 00:44:51,620 >> केविन SCHMID: ठीक है. 911 00:44:51,620 --> 00:44:55,395 तो जवाब था कि बस सर्वर वास्तव में कुछ नहीं कर सकते, जबकि 912 00:44:55,395 --> 00:44:57,460 यह कि फिबोनैकी संख्या कंप्यूटिंग की. 913 00:44:57,460 --> 00:44:59,360 तो अब मैं बस वापस अपने दो चीजें मिल गया. 914 00:44:59,360 --> 00:45:03,210 लेकिन मैं सिर्फ कोड के बारे में सोचने के लिए लगता है एक छोटे से अधिक, यह कैसे काम कर रहा है 915 00:45:03,210 --> 00:45:05,030 और सब कुछ. 916 00:45:05,030 --> 00:45:11,750 >> तो यहाँ इस समारोह कोड है कि मैं जब इसे चलाने के लिए इस सर्वर बता दिया 917 00:45:11,750 --> 00:45:14,100 एक नई आवक अनुरोध प्राप्त करता है. 918 00:45:14,100 --> 00:45:17,940 तो यह सिर्फ इस माध्यम से चलाने के लिए जा रहा है पूरे कोड, और तब यह जाना जा रहा है 919 00:45:17,940 --> 00:45:21,120 घटना पाश को लेने और फिर जारी नई घटनाओं के लिए जाँच. 920 00:45:21,120 --> 00:45:23,670 तो बुनियादी तौर पर हम क्या हो रहा है क्या सर्वर है 921 00:45:23,670 --> 00:45:25,080 नई चीजों के लिए सुन रहा है. 922 00:45:25,080 --> 00:45:28,070 पहले व्यक्ति 45 क्या है के लिए पूछता है. 923 00:45:28,070 --> 00:45:30,490 हम यह गणना करने के लिए इस कोड को चलाने. 924 00:45:30,490 --> 00:45:33,420 इस कोड लेता लगभग पाँच चलाने के लिए छह सेकंड के लिए. 925 00:45:33,420 --> 00:45:36,990 तो फिर हम घटना पाश के लिए वापस जाओ और नए अनुरोधों के लिए जाँच करें. 926 00:45:36,990 --> 00:45:42,700 >> तो यह आप हैं, कैसे का एक उदाहरण है तथाकथित गणना कर रहे हैं कि चीजें है 927 00:45:42,700 --> 00:45:48,140 बाध्य, या कम्प्यूटेशनल का एक बहुत का उपयोग करें, सत्ता नहीं, लेकिन पसंद कर रहे हैं 928 00:45:48,140 --> 00:45:50,260 गहन computationally - 929 00:45:50,260 --> 00:45:54,080 मैं इस बारे में एक बात कहना है लगता है इस समारोह में पूरी तरह से कर रही है कि 930 00:45:54,080 --> 00:45:56,310 अधिकांश भाग के लिए, सुंदर उपयोगी काम सही. 931 00:45:56,310 --> 00:45:59,970 पूरे समय है कि उस कॉलबैक समारोह चल रहा था, यह बहुत था 932 00:45:59,970 --> 00:46:03,670 ज्यादा अपने समय के सबसे अधिक खर्च सिर्फ कंप्यूटिंग कि वें फिबोनैकी संख्या. 933 00:46:03,670 --> 00:46:05,930 >> लेकिन हम केवल एक मुद्दा था साथ सौदा करने के लिए. 934 00:46:05,930 --> 00:46:10,270 अपाचे मॉडल में, जब दो लोग , 45 मिथ्या प्राप्त करने के लिए अनुरोध किया है कि हम 935 00:46:10,270 --> 00:46:11,610 दो अलग धागे पड़ता था. 936 00:46:11,610 --> 00:46:15,060 और फिर ऑपरेटिंग सिस्टम का काम उपयोगकर्ता स्तर से किया गया है, या होता 937 00:46:15,060 --> 00:46:18,660 धागे का प्रबंधन करता है कि कोड, गया होता पर कि टुकड़ा दिया गया 938 00:46:18,660 --> 00:46:23,060 सीपीयू, या आप अधिक CPU था, भले ही CPUs भर में समान रूप से वितरित 939 00:46:23,060 --> 00:46:26,130 वे खत्म दोनों थे कि इतने मोटे तौर पर एक ही समय में. 940 00:46:26,130 --> 00:46:31,120 >> तो बस हम की तरह कर सकते हैं कि कैसे आप को दिखाने के लिए - और यह एक कुल सही नहीं है 941 00:46:31,120 --> 00:46:34,280 समाधान है, लेकिन एक तरह से हम कैसे कर सकते हैं कर एक वापस यहां आते हैं और करते हैं 942 00:46:34,280 --> 00:46:35,880 एक छोटा सा बेहतर. 943 00:46:35,880 --> 00:46:41,540 तो क्या मैं यहाँ एक कार्यक्रम बुलाया है मिथ्या सी. और यह मूल रूप से उपयोग करता है 944 00:46:41,540 --> 00:46:45,690 कहा जाता नोड के मॉड्यूल का एक और एक बाल प्रक्रिया मॉड्यूल. 945 00:46:45,690 --> 00:46:49,210 इसलिए मैं शामिल की है कि शीर्ष प्रकार पर शामिल मैं एक पाउंड करना होगा की तरह 946 00:46:49,210 --> 00:46:51,230 बच्चे process.h या कुछ और. 947 00:46:51,230 --> 00:46:56,210 अब मैं इस सी.पी. चर के लिए उपयोग किया जो अपने सभी कार्यक्षमता है. 948 00:46:56,210 --> 00:47:01,810 >> तो अब मैं इस प्रतिक्रिया में क्या कर रहा हूँ हैंडलर मैं इस कार्यक्रम चल रहा है 949 00:47:01,810 --> 00:47:04,100 डॉट मिथ्या 45 स्लेश. 950 00:47:04,100 --> 00:47:06,820 तो क्या मैंने किया है - और मैं अभी जा रहा हूँ एक के लिए इस कार्यक्रम से बाहर कदम 951 00:47:06,820 --> 00:47:07,620 थोड़ा - 952 00:47:07,620 --> 00:47:11,060 मैं एक सी प्रोग्राम लिखा है यह है कि मूल रूप से की गणना 953 00:47:11,060 --> 00:47:12,630 n वें फिबोनैकी संख्या. 954 00:47:12,630 --> 00:47:15,960 यहाँ तो मैंने लिखा है बस एक कार्यक्रम है सी में है कि इस गणना करता है. 955 00:47:15,960 --> 00:47:19,040 मैं यह संकलन कर सकते हैं, और मैं चला सकते हैं यह कमांड लाइन पर. 956 00:47:19,040 --> 00:47:22,150 और यह गणना करने के लिए जा रहा है 45 वें फिबोनैकी संख्या. 957 00:47:22,150 --> 00:47:24,510 >> तो यह सिर्फ लेता नोटिस लंबे समय के रूप में बहुत ज्यादा. 958 00:47:24,510 --> 00:47:28,240 मैं शायद पानी का छींटा 03 के लिए इस्तेमाल किया जा सकता था यह या ऐसा कुछ अनुकूलन, 959 00:47:28,240 --> 00:47:31,050 लेकिन मैं सिर्फ नियमित रूप से पसंद नहीं आया संकलक सेटिंग्स. 960 00:47:31,050 --> 00:47:33,260 और यह इसे बाहर प्रिंट. 961 00:47:33,260 --> 00:47:36,830 >> लेकिन अब, मैं एक तरह से क्या कर रहा हूँ? 962 00:47:36,830 --> 00:47:39,800 ओह, माफ करना, गलत फ़ाइल. 963 00:47:39,800 --> 00:47:42,800 तो मैं के साथ एक ही सामान करना के रूप में पहले शीर्ष लेख. 964 00:47:42,800 --> 00:47:45,780 तब मैं इस cp.exec करना. 965 00:47:45,780 --> 00:47:49,460 तो क्या यह करने के लिए जा रहा है यह है है इस कार्यक्रम को चलाने के लिए जा रहा है. 966 00:47:49,460 --> 00:47:51,960 लेकिन यह काम करता है जिस तरह से है इसके लिए प्रतीक्षा करने के लिए नहीं जा रहा है 967 00:47:51,960 --> 00:47:53,400 समाप्त करने के लिए कि कार्यक्रम. 968 00:47:53,400 --> 00:47:56,000 यह सिर्फ मूल रूप से कहते हैं इस कार्यक्रम पर अमल. 969 00:47:56,000 --> 00:47:58,700 तो बुनियादी तौर पर यह लिखें के शीघ्र तरह कमान. 970 00:47:58,700 --> 00:48:02,350 >> और फिर, आप के साथ कर रहे हैं जब यह, इस समारोह में चलाते हैं. 971 00:48:02,350 --> 00:48:04,800 तो अब हम एक तरह से इस मिल के पूरे बहाल बात 972 00:48:04,800 --> 00:48:06,750 जैसे हम इंतजार नहीं कर रहे हैं. 973 00:48:06,750 --> 00:48:08,530 के उस तरह मतलब? 974 00:48:08,530 --> 00:48:08,990 हाँ? 975 00:48:08,990 --> 00:48:11,060 >> दर्शक: [सुनाई]? 976 00:48:11,060 --> 00:48:13,610 >> केविन SCHMID: तो यह होगा वास्तव में यह करने के लिए एक नई प्रक्रिया खुला. 977 00:48:13,610 --> 00:48:19,310 तो यह कुछ मायनों में, वास्तव में है, , बुराई सुपर बुराई नहीं है, लेकिन यह है 978 00:48:19,310 --> 00:48:22,990 महत्वपूर्ण इस तरह की है कि कहने के लिए एक ओर, वापस करने के लिए जा रहे हैं, अपाचे 979 00:48:22,990 --> 00:48:26,450 हम धागे और प्रक्रियाओं जहां मॉडल प्रत्येक अनुरोध या के लिए 980 00:48:26,450 --> 00:48:29,280 प्रत्येक अनुरोध के लिए प्रक्रियाओं. 981 00:48:29,280 --> 00:48:32,090 तो यह अनुरूप की तरह है अपाचे क्या करता है. 982 00:48:32,090 --> 00:48:35,110 कुछ मामलों में, यह सिर्फ एक नया प्रयोग करेंगे एक छोटे से अधिक प्रकाश है जो धागा, 983 00:48:35,110 --> 00:48:39,040 एक प्रक्रिया की तुलना में वजन, लेकिन अपाचे सकता है एक नई प्रक्रिया forking अंत तक 984 00:48:39,040 --> 00:48:43,370 हम यहाँ क्या कर की तरह है जो उलझाव डॉट स्लेश मिथ्या 45 कार्य करके. 985 00:48:43,370 --> 00:48:48,690 >> और फिर उस मामले में, हम एक तरह से अपने ऊपर लेना प्रक्रियाओं का एक ही खर्च. 986 00:48:48,690 --> 00:48:50,710 तो यह आप क्या कर सकते हैं सिर्फ एक ही बात है. 987 00:48:50,710 --> 00:48:52,600 लेकिन अभी चल रहा है की इस तरह दिखाने के लिए. 988 00:48:52,600 --> 00:48:57,120 और यह बात सिर्फ सच के उद्देश्य से है एक के रूप में कार्यक्रम के इन प्रकार पेश 989 00:48:57,120 --> 00:49:00,710 अलग अलग दृष्टिकोण पर दिखाने के लिए रास्ता कैसे की तरह है कि सर्वर डिजाइन करने के लिए. 990 00:49:00,710 --> 00:49:08,300 अगर मैं तो यह अब तो चल रहा है, और है इस बार फिर, मैं दो प्रक्रिया आईडी के लिए मिला है. 991 00:49:08,300 --> 00:49:10,320 >> चलो बस के बारे में बात करते हैं बातें बाहर बात करने के लिए. 992 00:49:10,320 --> 00:49:11,980 इसलिए वे संवर्द्धित कर रहे हैं नोटिस. 993 00:49:11,980 --> 00:49:12,700 वह शांत है. 994 00:49:12,700 --> 00:49:15,140 यह पहले 27,122 थी. 995 00:49:15,140 --> 00:49:18,580 लेकिन नोटिस अब, वे वापस आए लगभग एक ही समय. 996 00:49:18,580 --> 00:49:23,960 >> और अब, एक अच्छा सवाल पूछने के बारे में क्यों मामला है, जिसका काम है कि था 997 00:49:23,960 --> 00:49:27,590 यह एक तरह से इन चीजों को बनाने के लिए अब था तरह से प्रत्येक के साथ निष्पक्ष खेलने 998 00:49:27,590 --> 00:49:31,350 अन्य, इन दो उदाहरणों की मैं भागा कि डॉट स्लेश मिथ्या 45 999 00:49:31,350 --> 00:49:32,880 या कि नोड भाग गया? 1000 00:49:32,880 --> 00:49:36,940 एक तरह से यह उचित है कि कौन बनाता है कि वे दोनों एक तरह से चलाने के लिए समय संतुलित मिलता है? 1001 00:49:36,940 --> 00:49:42,900 1002 00:49:42,900 --> 00:49:44,220 >> दर्शक: [सुनाई]. 1003 00:49:44,220 --> 00:49:44,620 >> केविन SCHMID: हाँ. 1004 00:49:44,620 --> 00:49:49,740 तो बुनियादी तौर पर, मैं डॉट स्लेश मिथ्या करते हैं 45 या ऐसा कुछ है, अब यह है 1005 00:49:49,740 --> 00:49:53,750 एक तरह से करने के लिए ऑपरेटिंग सिस्टम के लिए ऊपर उन कार्यक्रमों के क्रम संभाल. 1006 00:49:53,750 --> 00:49:56,920 और अब यह उनके कार्यक्रम कर सकते हैं अलग CPUs या उस पर 1007 00:49:56,920 --> 00:49:58,330 उन्हें कार्यक्रम कर सकते हैं. 1008 00:49:58,330 --> 00:50:01,870 ऐसा लगता है कि एक समय काट सकते हैं सीपीयू है कि वे मिल यह हो जाता है या 1009 00:50:01,870 --> 00:50:03,330 एक सीपीयू पर चलने के लिए. 1010 00:50:03,330 --> 00:50:05,620 इसलिए कि उस के पीछे विचार है. 1011 00:50:05,620 --> 00:50:07,220 कि हर किसी को मतलब? 1012 00:50:07,220 --> 00:50:10,950 तो अब नोड वास्तव में एक खेल नहीं है इन कार्यों को विभाजित में हिस्सा. 1013 00:50:10,950 --> 00:50:12,200 ठीक है. 1014 00:50:12,200 --> 00:50:14,050 1015 00:50:14,050 --> 00:50:17,840 >> तो यह है कि लगभग यह उदाहरण के लिए है. 1016 00:50:17,840 --> 00:50:23,370 मैं सिर्फ एक बात और दिखाना चाहता था इस का एक बहुत अब तक किया गया है क्योंकि 1017 00:50:23,370 --> 00:50:27,350 पूरी तरह से सुपर व्यावहारिक नहीं कुछ मामलों में. 1018 00:50:27,350 --> 00:50:30,970 मैं इस के बाद घर आ रहा कल्पना कर सकते हैं बात करते हैं और कुछ और की तरह कह, 1019 00:50:30,970 --> 00:50:35,710 अच्छी तरह से मैं एक तरह से उस बात से बाहर हो गया है कि मैं के लिए एक फिबोनैकी सर्वर बना सकते हैं 1020 00:50:35,710 --> 00:50:37,360 मेरा अंतिम परियोजना. 1021 00:50:37,360 --> 00:50:40,770 यहाँ तो बस की तरह एक और उदाहरण है उम्मीद है कि हो जाएगा - 1022 00:50:40,770 --> 00:50:44,620 शायद नहीं, लेकिन हो सकता है - एक छोटे से अधिक एक तरह से अंतिम परियोजनाओं के लिए प्रासंगिक और 1023 00:50:44,620 --> 00:50:46,440 उस जैसी चीजों के लिए आगे की सोच. 1024 00:50:46,440 --> 00:50:48,870 >> तो इस chat.js. है 1025 00:50:48,870 --> 00:50:52,290 तो इस तरह के कुछ उदाहरण की तरह है आप करने के लिए इस्तेमाल कर सकते हैं कि सर्वर साइड कोड 1026 00:50:52,290 --> 00:50:55,700 एक छोटे चैट सर्वर की तरह स्थापित तुम पर देखा है सकते हैं 1027 00:50:55,700 --> 00:50:56,630 फेसबुक चैट या जो भी हो. 1028 00:50:56,630 --> 00:50:59,990 इसलिए मैं इस फेसबुक की तरह नहीं कह रहा हूँ चैट, लेकिन इस तरह की है 1029 00:50:59,990 --> 00:51:06,230 शायद शायद अच्छा नहीं है, लेकिन - एक अच्छा तरह अच्छा - एक चैट के लिए शुरुआती बिंदु 1030 00:51:06,230 --> 00:51:08,560 अपनी वेबसाइट के लिए सर्वर एक अंतिम परियोजना के लिए. 1031 00:51:08,560 --> 00:51:11,040 तो चलो यह क्या कर रहा है पर देखो. 1032 00:51:11,040 --> 00:51:15,500 >> इसलिए हम इस विशेष बात हो रही है शीर्ष पर, इस SIO var 1033 00:51:15,500 --> 00:51:17,050 Socket.IO की आवश्यकता होती है. 1034 00:51:17,050 --> 00:51:20,280 तो यह बात नहीं है कि एक और बात है वास्तव में बंडल के साथ आए 1035 00:51:20,280 --> 00:51:22,300 नोड लेकिन आप इसे स्थापित कर सकते हैं. 1036 00:51:22,300 --> 00:51:23,480 यह एक नोड मॉड्यूल है. 1037 00:51:23,480 --> 00:51:25,670 तो यह सिर्फ कुछ की तरह है नोड के लिए विस्तार. 1038 00:51:25,670 --> 00:51:29,220 >> SocketIO वास्तव में वास्तव में है शांत की तरह. 1039 00:51:29,220 --> 00:51:32,550 ऐसा लगता है कि असल में क्या एक अमूर्त है यह है कि यह आपको अनुमति देता है है 1040 00:51:32,550 --> 00:51:35,770 संचार की इस धारा है एक वेब के बीच 1041 00:51:35,770 --> 00:51:39,430 ब्राउज़र और एक वेब सर्वर. 1042 00:51:39,430 --> 00:51:45,250 तो अब तक सबसे अधिक भाग के लिए, हमें मिला है ये बहुत जल्दी एक दूसरे या दो 1043 00:51:45,250 --> 00:51:48,790 एक वेब के बीच दूसरा संचार ब्राउज़र और वेब सर्वर. 1044 00:51:48,790 --> 00:51:53,310 तो यह मूल रूप google.com, मिल जाना है सामान, तो इसे वापस भेजने के लिए, और 1045 00:51:53,310 --> 00:51:53,770 हम कर रहे हैं. 1046 00:51:53,770 --> 00:51:56,560 हम जब तक फिर से बात कभी नहीं रहे उपयोगकर्ता प्रकार कुछ और ही है. 1047 00:51:56,560 --> 00:52:01,090 >> लेकिन क्या Socket.IO और इसी प्रकार की बातों - और SocketIO वास्तव में एक है 1048 00:52:01,090 --> 00:52:03,940 के रूप में बनाया गया है कि चीजों की WebSocket जो एक तरह से उपलब्ध है 1049 00:52:03,940 --> 00:52:06,440 एचटीएमएल 5 के भाग के रूप में - 1050 00:52:06,440 --> 00:52:09,620 कि आप इस के लिए अनुमति देता है जारी रखने बातचीत. 1051 00:52:09,620 --> 00:52:13,990 और यह एक चैट सर्वर में बहुत उपयोगी है बात की तरह है क्योंकि यह 1052 00:52:13,990 --> 00:52:17,390 एक तरह से में एक सतत संवाद की तरह कुछ मायनों क्योंकि आप बातें कर रहे हैं 1053 00:52:17,390 --> 00:52:21,540 किसी के साथ, अब आप सिर्फ एक भेज सकते हैं फिर पाइप नीचे संदेश, और 1054 00:52:21,540 --> 00:52:23,940 सर्वर डाउन एक संदेश भेज सकते हैं आप कर रहे हैं अन्य व्यक्ति के लिए पाइप 1055 00:52:23,940 --> 00:52:24,520 साथ चैट. 1056 00:52:24,520 --> 00:52:26,903 और फिर आप यह कर सकते हैं उस तरह का आदान प्रदान. 1057 00:52:26,903 --> 00:52:30,590 1058 00:52:30,590 --> 00:52:32,850 >> तो यह है कि क्या की तरह है SocketIO के लिए अच्छा है. 1059 00:52:32,850 --> 00:52:38,400 SocketIO WebSockets का उपयोग करता है कि कारण एक बात है कि के रूप में 1060 00:52:38,400 --> 00:52:43,980 सिर्फ सादे पुराने WebSockets के अलावा, यह भी मूल रूप से करने के लिए कुछ गुर करता है 1061 00:52:43,980 --> 00:52:45,610 यह ब्राउज़र संगत बनाने. 1062 00:52:45,610 --> 00:52:50,040 इंटरनेट एक्सप्लोरर की तरह तो ब्राउज़रों दुर्भाग्य WebSockets का समर्थन नहीं करते 1063 00:52:50,040 --> 00:52:50,810 सही बॉक्स से बाहर. 1064 00:52:50,810 --> 00:52:55,290 तो यह अच्छा साफ के कुछ अन्य प्रकार का उपयोग करता है अनुमति देने के लिए एडोब फ्लैश के साथ बातें 1065 00:52:55,290 --> 00:52:57,170 तुम पार ब्राउज़र का समर्थन किया है. 1066 00:52:57,170 --> 00:52:58,800 तो यह है कि वास्तव में उपयोगी है. 1067 00:52:58,800 --> 00:53:02,440 >> और वास्तव में, मैं मैं एक तरह से कर रहा हूँ यहां समय पर चल रहा है, लेकिन CS50 1068 00:53:02,440 --> 00:53:08,490 चर्चा, क्या तुमने कभी कुछ देखा है जैसे, मैं नहीं जानता, रिक्त इतना और इतनी है 1069 00:53:08,490 --> 00:53:11,030 इस संदेश या कुछ और करने के लिए जवाब ऐसे ही, उस सुविधा? 1070 00:53:11,030 --> 00:53:12,250 यही SocketIO है. 1071 00:53:12,250 --> 00:53:15,580 तो किसी में टाइपिंग शुरू होता है जब एक उत्तर या बनाने के लिए बॉक्स पर चर्चा 1072 00:53:15,580 --> 00:53:20,040 कुछ, अपने ब्राउज़र क्या करता है SocketIO में कहा जाता है किसी तरह का उत्सर्जन करता है 1073 00:53:20,040 --> 00:53:22,660 किसी का कहना है कि घटना इस संदेश का जवाब देने के. 1074 00:53:22,660 --> 00:53:26,110 >> फिर सर्वर, ठीक है, कहते हैं मुझे क्या करना है? 1075 00:53:26,110 --> 00:53:29,270 खैर अब मैं उन अन्य लोगों को बताने के लिए है जो CS50 पर देख रहे हैं पर चर्चा 1076 00:53:29,270 --> 00:53:31,170 इस पद पर किसी को जवाब देते है कि. 1077 00:53:31,170 --> 00:53:34,190 इसलिए कि SocketIO क्या है की तरह है इस सतत तरह के, के लिए अच्छा 1078 00:53:34,190 --> 00:53:35,930 बातचीत की धारा. 1079 00:53:35,930 --> 00:53:37,250 ठीक है. 1080 00:53:37,250 --> 00:53:40,060 >> इसलिए मैं यहाँ क्या है - और हम बस कर रहे हैं कनेक्शन सरणी अनदेखी करने के लिए जा रहा 1081 00:53:40,060 --> 00:53:41,390 एक छोटा सा के लिए - 1082 00:53:41,390 --> 00:53:43,080 मैं क्या मैं एक और सुनते हो रहा है. 1083 00:53:43,080 --> 00:53:46,880 ताकि बस Socket.IO में जिस तरह से है चलो इस बंदरगाह पर सुनो कह रही. 1084 00:53:46,880 --> 00:53:50,060 और फिर मैं कनेक्शन पर यह करते हैं. 1085 00:53:50,060 --> 00:53:53,360 तो यह है कि सिर्फ मूल रूप से सॉकेट कब है हम एक प्राप्त होता है, कहने का तरीका 1086 00:53:53,360 --> 00:53:55,840 कनेक्शन, मैं आप चाहते हैं इस कोड को चलाने के लिए. 1087 00:53:55,840 --> 00:53:59,870 >> और बदले आरईसी होने की सूचना है कि और वहाँ में पारित छोड़कर मैं सॉकेट है. 1088 00:53:59,870 --> 00:54:03,260 और इस सॉकेट विचार मूल रूप से यह है आप को लिखने और पढ़ने के लिए कर सकते हैं कि बात 1089 00:54:03,260 --> 00:54:05,750 उस से उपयोगकर्ता है संभवतः संदेश. 1090 00:54:05,750 --> 00:54:10,700 और आप भेजना होगा कि संदेश कि सॉकेट के माध्यम से जा सकते हैं. 1091 00:54:10,700 --> 00:54:12,140 कि मतलब? 1092 00:54:12,140 --> 00:54:14,490 तो यह इस जारी रखने की बात है. 1093 00:54:14,490 --> 00:54:17,820 >> तो मैं क्या मैं Socket.emit कॉल है. 1094 00:54:17,820 --> 00:54:20,330 फेंकना बहुत लेता है ज्यादा दो तर्क. 1095 00:54:20,330 --> 00:54:24,100 पहला तर्क एक स्ट्रिंग है बस प्रकार का प्रतिनिधित्व करने वाले 1096 00:54:24,100 --> 00:54:25,270 आप उत्सर्जक रहे हैं बात. 1097 00:54:25,270 --> 00:54:28,120 तो इस मामले के लिए, मैं का उपयोग करें इस स्ट्रिंग नया संदेश. 1098 00:54:28,120 --> 00:54:32,670 और कहा कि सिर्फ मूल रूप से कह रहा है कि मैं क्या कर रहा हूँ इस बात के प्रकार, 1099 00:54:32,670 --> 00:54:34,750 भेजने, एक नया संदेश है. 1100 00:54:34,750 --> 00:54:38,460 तो आप विशिष्ट प्रकार के लिए सुन सकते हैं नया संदेश या जो कुछ भी तरह 1101 00:54:38,460 --> 00:54:39,960 डॉट पर उपयोग करके. 1102 00:54:39,960 --> 00:54:44,570 >> तो कनेक्शन और उपयोगकर्ता हैं, वहाँ भेजा आप, हम डॉट पर फोन जहां पर देखने के लिए 1103 00:54:44,570 --> 00:54:48,150 उन लोगों का प्रतिनिधित्व करने वाले अन्य तार कर रहे हैं उपयोगकर्ता संदेशों के प्रकार. 1104 00:54:48,150 --> 00:54:52,060 तो यह है कि आप इस फेंकना हो सकता है मूल रूप से है इन संदेश प्रकारों में से एक है, और 1105 00:54:52,060 --> 00:54:55,520 तब के जवाब में कुछ करना इन संदेश प्रकारों में से एक 1106 00:54:55,520 --> 00:54:57,640 >> इसलिए मैं इस नए संदेश उत्सर्जन रहा हूँ. 1107 00:54:57,640 --> 00:55:00,540 हम connections.push अनदेखी करने के लिए जा रहे हैं एक पल के लिए. 1108 00:55:00,540 --> 00:55:03,360 लेकिन तब मैं Socket.on उपयोगकर्ता भेजा, कहते हैं. 1109 00:55:03,360 --> 00:55:07,540 तो अब यह एक तरह से पसंद है जब उपयोगकर्ता मुझे एक संदेश भेजता है, मैं चाहता हूँ 1110 00:55:07,540 --> 00:55:09,240 आप इस कोड को चलाने के लिए. 1111 00:55:09,240 --> 00:55:12,080 और नोटिस कि कि गुमनाम समारोह इस चर में ले जा रहा है 1112 00:55:12,080 --> 00:55:16,300 मूल रूप से जा रहा है, जो डेटा बुलाया उपयोगकर्ता का संदेश है. 1113 00:55:16,300 --> 00:55:20,700 >> के बारे में बात की तो अब चलो तरह कनेक्शन सरणी. 1114 00:55:20,700 --> 00:55:24,590 तो यह एक चैट क्लाइंट के लिए डिज़ाइन किया गया है मूल रूप से हर किसी में एक तरह से है, जहां 1115 00:55:24,590 --> 00:55:25,950 एक ही चैट रूम. 1116 00:55:25,950 --> 00:55:29,640 तो बुनियादी तौर पर, क्या हम रखने की जरूरत चारों ओर कुछ सरणी है कि मूल रूप से 1117 00:55:29,640 --> 00:55:33,170 में बातें कर सभी लोगों का प्रतिनिधित्व करता है कुछ तरीके, जो समझ में आता है. 1118 00:55:33,170 --> 00:55:33,340 है ना? 1119 00:55:33,340 --> 00:55:37,190 हम उन लोगों को जो जानने की जरूरत है क्योंकि इसलिए हम उन्हें संदेश भेज सकते हैं 1120 00:55:37,190 --> 00:55:39,140 अन्य लोगों कि हमारे पास भेजें. 1121 00:55:39,140 --> 00:55:44,440 >> तो क्या इस कोड करता है जब उपयोगकर्ता है एक संदेश भेजता है - उस प्रकार की है 1122 00:55:44,440 --> 00:55:45,300 घटना - 1123 00:55:45,300 --> 00:55:47,120 हम इस कोड को चलाने के लिए जा रहे हैं. 1124 00:55:47,120 --> 00:55:51,240 और हम क्या हम इस के माध्यम से चलाने के लिए है हम कनेक्शन कहा जाता है कि सरणी. 1125 00:55:51,240 --> 00:55:54,390 और हर कनेक्शन के लिए बहुत ज्यादा हमारा है कि एक को छोड़कर, कि 1126 00:55:54,390 --> 00:55:59,520 इस कोड को क्या कहते हैं, हम एक नई भेज कि संलग्न संदेश के साथ संदेश 1127 00:55:59,520 --> 00:56:01,210 जानकारी. 1128 00:56:01,210 --> 00:56:04,880 >> आप यहाँ नोटिस यदि हां, तो क्या मैंने किया था जब उपयोगकर्ता वास्तव में एक नया बनाता है 1129 00:56:04,880 --> 00:56:08,560 कनेक्शन मैं साथ जोड़ दिया है JavaScript.push विधि, यह है 1130 00:56:08,560 --> 00:56:12,100 मूल रूप से बस की तरह जोड़ कह में एक मूल्य के रूप में है कि सॉकेट 1131 00:56:12,100 --> 00:56:13,900 हमारे कनेक्शन सरणी. 1132 00:56:13,900 --> 00:56:20,560 इस कोड चलाता है जब तो अब, यह होगा उन विशेष बातें करने के लिए भेज 1133 00:56:20,560 --> 00:56:22,020 कनेक्शन. 1134 00:56:22,020 --> 00:56:26,980 तो यह एक अच्छा प्रारंभिक बिंदु हो सकता है एक चैट सर्वर बनाने के लिए 1135 00:56:26,980 --> 00:56:28,250 या कुछ इसी तरह की. 1136 00:56:28,250 --> 00:56:33,315 >> और शांत बात की तरह है कि तुम पर कैसा लिए यहाँ देख सकते हैं और उस कोड 1137 00:56:33,315 --> 00:56:36,390 फेंकना और इस तरह से सामान एक ही है जावास्क्रिप्ट कोड की तरह है कि आप होता 1138 00:56:36,390 --> 00:56:39,260 बातचीत करने के लिए ब्राउज़र में लिखना सर्वर के साथ. 1139 00:56:39,260 --> 00:56:42,480 SocketIO तरह की है तो इसलिए साफ है कि रास्ते में उपयोगी. 1140 00:56:42,480 --> 00:56:45,680 1141 00:56:45,680 --> 00:56:49,250 >> ओह, और सिर्फ एक और बात जल्दी असली. 1142 00:56:49,250 --> 00:56:55,970 एक CS50 अंतिम परियोजना पिछले साल हुई थी कि मूल रूप से एक चैट कार्यान्वित 1143 00:56:55,970 --> 00:56:57,840 Node.js. में सर्वर 1144 00:56:57,840 --> 00:57:01,350 मैं यह Harvardchats.org लगता है लेकिन मैं नहीं कर रहा हूँ - 1145 00:57:01,350 --> 00:57:02,940 ठीक है. 1146 00:57:02,940 --> 00:57:06,190 मैं यूआरएल है यकीन नहीं है, लेकिन मैं बाद में कि बाहर भेज सकते हैं. 1147 00:57:06,190 --> 00:57:09,260 लेकिन यह एक तरह से अच्छा है क्या आप Node.js. के साथ क्या कर सकते हैं 1148 00:57:09,260 --> 00:57:14,680 >> इसलिए मैं सामान्य रूप में, तुम लोगों को है, आशा है कि एक Node.js उपयोगी है क्या की अच्छी समझ 1149 00:57:14,680 --> 00:57:17,870 के लिए और कैसे आप शायद लागू हो सकते हैं अपने अंतिम परियोजना के लिए. 1150 00:57:17,870 --> 00:57:21,050 मैं कुछ और बाहर भेज दिया जाएगा इस के साथ संसाधनों. 1151 00:57:21,050 --> 00:57:23,170 और आने के लिए धन्यवाद. 1152 00:57:23,170 --> 00:57:23,610 धन्यवाद. 1153 00:57:23,610 --> 00:57:27,168 >> [वाहवाही]