1 00:00:00,000 --> 00:00:08,350 2 00:00:08,350 --> 00:00:09,710 >> KEVIN SCHMID: Hello kila mtu. 3 00:00:09,710 --> 00:00:12,640 Karibu CS50 semina juu ya Node.js. 4 00:00:12,640 --> 00:00:13,955 Jina langu ni Kevin. 5 00:00:13,955 --> 00:00:15,580 Mimi nina CS50 TF. 6 00:00:15,580 --> 00:00:17,650 Na mimi nina aina ya kama kweli msisimko kuhusu semina hii. 7 00:00:17,650 --> 00:00:20,430 Nadhani Node.js ni baridi sana. 8 00:00:20,430 --> 00:00:24,200 Natumaini kwamba semina hii inaweza kutumika mazuri, mimi nadhani, chachu kwa 9 00:00:24,200 --> 00:00:26,380 baadhi ya miradi yako ya mwisho kama wewe ni nia ya kutumia 10 00:00:26,380 --> 00:00:27,630 kitu kama Node.js. 11 00:00:27,630 --> 00:00:29,770 12 00:00:29,770 --> 00:00:33,320 >> Tutaweza aina ya kuanza semina mbali na tu kuzungumza kuhusu kidogo ya 13 00:00:33,320 --> 00:00:36,970 aina ya background scalability mitazamo ya Node.js, na kisha 14 00:00:36,970 --> 00:00:39,240 tutaweza hoja ya baadhi ya mifano code. 15 00:00:39,240 --> 00:00:42,340 Na mimi itabidi code kwenye tovuti, na unaweza kuangalia code. 16 00:00:42,340 --> 00:00:45,475 Na baada ya semina, mimi itabidi kutatua ya majadiliano kuhusu jinsi gani unaweza kuanzisha Node.js 17 00:00:45,475 --> 00:00:48,220 kwenye kompyuta yako. 18 00:00:48,220 --> 00:00:48,710 >> OK. 19 00:00:48,710 --> 00:00:49,760 Basi hebu kuanza. 20 00:00:49,760 --> 00:00:53,700 Kwa hiyo mimi nadhani nataka kuzungumzia ni juu ya vya mtandao, kwa kweli, ya kwanza. 21 00:00:53,700 --> 00:00:59,730 Na kuanza mjadala huu, mimi kimsingi na mchoro ambayo ni kutoka 22 00:00:59,730 --> 00:01:04,269 vitabu vya kiada kutumika kwa ajili ya CS61, ambayo kimsingi inaonyesha mahusiano ya 23 00:01:04,269 --> 00:01:08,510 kati ya mchakato wa mteja, kama mtandao wako browser au kama mteja wako lengo au 24 00:01:08,510 --> 00:01:11,340 kitu kama hicho, na mtandao wa kompyuta. 25 00:01:11,340 --> 00:01:15,150 Hivyo hii aina ya inaonekana sawa na picha kwamba aliona katika hotuba ya 26 00:01:15,150 --> 00:01:19,270 Jumatano ambapo kimsingi tuna baadhi ya mteja mchakato kama Google Chrome. 27 00:01:19,270 --> 00:01:22,980 >> Na kisha hatua moja ni mteja atatuma ombi. 28 00:01:22,980 --> 00:01:27,510 Hivyo kwamba wanaweza kuwa na kitu kama vizuri hebu kutembelea, mimi sijui, CS50.net. 29 00:01:27,510 --> 00:01:29,320 Hivyo sisi suala ombi hilo. 30 00:01:29,320 --> 00:01:34,280 Na haina mtu yeyote kumbuka jina la itifaki kwamba unasema jinsi 31 00:01:34,280 --> 00:01:35,610 ombi lazima muundo? 32 00:01:35,610 --> 00:01:36,382 Yep. 33 00:01:36,382 --> 00:01:37,650 >> Watazamaji: [inaudible]. 34 00:01:37,650 --> 00:01:38,150 >> KEVIN SCHMID: Hasa. 35 00:01:38,150 --> 00:01:40,100 Hivyo ni kama HTTP, sawa? 36 00:01:40,100 --> 00:01:44,720 Hivyo kimsingi vipimo kwa ajili ya jinsi ombi hilo lazima kweli kuwa aliweka 37 00:01:44,720 --> 00:01:47,450 nje, kwa sababu mwisho wa siku, ombi hilo ni kweli tu kama 38 00:01:47,450 --> 00:01:50,240 kamba kwamba kimsingi anasema mimi nataka hii. 39 00:01:50,240 --> 00:01:53,580 Na vipimo kwa kuwa ni HTTP. 40 00:01:53,580 --> 00:01:55,270 Ili kama itifaki. 41 00:01:55,270 --> 00:01:57,920 >> Hivyo basi server inapata kwamba ombi. 42 00:01:57,920 --> 00:02:01,610 Hivyo guys na mtandao wa kompyuta imewekwa katika CS50 appliance. 43 00:02:01,610 --> 00:02:02,460 Ni Apache. 44 00:02:02,460 --> 00:02:06,230 Na wiki hii wakati kazi juu ya tatizo kuweka saba, wewe utakuwa kweli kazi 45 00:02:06,230 --> 00:02:08,160 na kwamba mtandao wa kompyuta. 46 00:02:08,160 --> 00:02:12,380 Hivyo server inapata ombi hilo, na kisha ina aina ya scratch yake 47 00:02:12,380 --> 00:02:15,090 kichwa na kusema kama vizuri nini mimi kufanya na hili? 48 00:02:15,090 --> 00:02:20,060 >> Hivyo kulingana na kile anaamua kufanya, basi inaweza kuwa na kuwasiliana na baadhi ya aina 49 00:02:20,060 --> 00:02:20,730 wa rasilimali hiyo. 50 00:02:20,730 --> 00:02:23,700 Na rasilimali ambayo inaweza kuwa mengi ya mambo mbalimbali. 51 00:02:23,700 --> 00:02:26,810 Kwa moja, inaweza kuwa tu kama tuli HTML file. 52 00:02:26,810 --> 00:02:29,820 Hivyo inaweza tu kuwa kama baadhi HTML kwamba ni kama kwa 53 00:02:29,820 --> 00:02:31,100 tovuti yako binafsi. 54 00:02:31,100 --> 00:02:35,360 Inaweza kuwa file tuli kama picha au kama movie kwamba wewe. 55 00:02:35,360 --> 00:02:37,660 Ingeweza hata kuwa na majadiliano baadhi ya aina ya database 56 00:02:37,660 --> 00:02:39,530 kama database MySQL. 57 00:02:39,530 --> 00:02:43,910 Hivyo hana daima kuwa na kuwasiliana na rasilimali, lakini katika 58 00:02:43,910 --> 00:02:45,700 baadhi ya matukio, naweza. 59 00:02:45,700 --> 00:02:47,800 >> Hivyo basi nini kinaendelea kufanya baada ya kuwa ni kwenda 60 00:02:47,800 --> 00:02:49,430 kutuma nyuma majibu. 61 00:02:49,430 --> 00:02:53,130 Na majibu kwa hii ni pia maalum kwa HTTP. 62 00:02:53,130 --> 00:02:54,830 Hivyo basi mteja anaweza kupokea hiyo. 63 00:02:54,830 --> 00:02:56,740 Ni unaweza machozi ni mbali na mchakato yake. 64 00:02:56,740 --> 00:03:00,900 Na kisha kupata ukurasa wa mtandao kama Google au CS50.net au 65 00:03:00,900 --> 00:03:02,240 chochote akaenda. 66 00:03:02,240 --> 00:03:03,100 OK? 67 00:03:03,100 --> 00:03:06,080 >> Hivyo hii ni mwingiliano msingi kwamba tunakwenda kuwa kushughulika na. 68 00:03:06,080 --> 00:03:08,770 Na sisi ni pretty much kwenda kuwa kulenga sehemu hii ya 69 00:03:08,770 --> 00:03:10,640 mahusiano, server. 70 00:03:10,640 --> 00:03:10,990 OK. 71 00:03:10,990 --> 00:03:12,210 Baridi. 72 00:03:12,210 --> 00:03:15,500 Mtu yeyote una maswali yoyote hadi sasa? 73 00:03:15,500 --> 00:03:17,720 OK. 74 00:03:17,720 --> 00:03:22,430 >> Hivyo kama sisi alisema, mtandao wa kompyuta inapata ombi hili HTTP na kisha masuala ya hii 75 00:03:22,430 --> 00:03:24,760 HTTP majibu. 76 00:03:24,760 --> 00:03:29,100 Na kama kuongelea kabla, CS50 appliance mtandao wa kompyuta ni Apache. 77 00:03:29,100 --> 00:03:32,490 Hivyo wakati wewe guys kazi ya P kuweka saba, wewe kwenda kufanya kazi na 78 00:03:32,490 --> 00:03:34,120 Apache mtandao wa kompyuta. 79 00:03:34,120 --> 00:03:37,890 Hutaweza kuwa kwa kweli kazi na Apache moja kwa moja sana. 80 00:03:37,890 --> 00:03:41,920 Wewe aina ya configure Apache kidogo wakati bayana majeshi virtual au 81 00:03:41,920 --> 00:03:44,970 v majeshi, na tutaweza kupata na kwamba katika kidogo. 82 00:03:44,970 --> 00:03:50,620 >> Lakini kimsingi, Apache mtandao wa kompyuta kuanzisha kufanya kazi na aina PHP 83 00:03:50,620 --> 00:03:51,730 ya nje ya sanduku. 84 00:03:51,730 --> 00:03:56,170 Hivyo kinachotokea hasa ni wakati wa kwenda kwa moja ya tovuti yako kama, kusema, 85 00:03:56,170 --> 00:04:00,360 ndani jeshi slash index.php au kitu, ni ya browser yako inapeleka kwamba 86 00:04:00,360 --> 00:04:04,330 ombi, na kisha Apache ameketi huko na takwimu za nje kwa kufanya hivyo. 87 00:04:04,330 --> 00:04:08,840 Na hatua ni kutekeleza kwamba kanuni katika index.php na 88 00:04:08,840 --> 00:04:11,330 kisha kutuma mbali nyuma. 89 00:04:11,330 --> 00:04:15,640 Hivyo kuna hiyo. 90 00:04:15,640 --> 00:04:16,980 Hivyo sisi aina ya kuongea kuhusu hili. 91 00:04:16,980 --> 00:04:21,990 Hivyo inaweza tu kutumika file tuli au kukimbia baadhi ya kanuni PHP na kisha suala 92 00:04:21,990 --> 00:04:23,510 majibu. 93 00:04:23,510 --> 00:04:27,670 >> Hivyo basi swali la kawaida kwamba wanaweza kuja up ni vizuri, ni jinsi gani sisi kweli kukabiliana 94 00:04:27,670 --> 00:04:31,750 na kuwa na watumiaji mbalimbali wakati huo huo? 95 00:04:31,750 --> 00:04:36,930 Hivyo kufikiria kama ungekuwa kuandika mtandao server, kama alikuwa na mtandao wa kompyuta kwamba 96 00:04:36,930 --> 00:04:39,900 ungekuwa kujaribu kuandika katika kitu kama C au kitu kama hicho, 97 00:04:39,900 --> 00:04:45,150 kimsingi unaweza kufikiria kuhusu jinsi huko inaweza kuwa baadhi ya aina ya kificho kwamba 98 00:04:45,150 --> 00:04:49,330 watapewa ombi, lakini kisha ina kufanya kazi hii yote juu yake. 99 00:04:49,330 --> 00:04:53,060 Inaweza kuwa, kwa mfano, wasiliana na database au kitu kama hicho. 100 00:04:53,060 --> 00:04:53,300 Haki? 101 00:04:53,300 --> 00:04:56,010 Na kisha bila kufanya aina hiyo ya usindikaji na kisha 102 00:04:56,010 --> 00:04:57,060 kurejea majibu. 103 00:04:57,060 --> 00:04:58,950 Ili kama high ngazi ya jumla. 104 00:04:58,950 --> 00:05:04,210 >> Lakini si mara moja dhahiri jinsi gani anaweza kufanya hivyo watu ili mbili au 105 00:05:04,210 --> 00:05:09,040 hata watu 1,000 anaweza kufanya kazi kwa yako server mtandao wakati huo huo. 106 00:05:09,040 --> 00:05:14,880 Hivyo ufumbuzi kwamba Apache anatumia inaitwa nyuzi au taratibu. 107 00:05:14,880 --> 00:05:16,770 Hivyo unaweza kuwa na habari za maneno haya kabla ya. 108 00:05:16,770 --> 00:05:22,190 Ni sawa kama una si, lakini nadhani tu kuhusu nyuzi au taratibu kama njia kwa 109 00:05:22,190 --> 00:05:26,290 mfumo wa uendeshaji au mpango mtumiaji au kitu kama hicho au mtandao wa kompyuta 110 00:05:26,290 --> 00:05:28,810 na aina ya kutekeleza nyingi mambo mara moja. 111 00:05:28,810 --> 00:05:31,760 Hivyo unaweza kuwa na habari mrefu kama nyuzi ya kunyongwa. 112 00:05:31,760 --> 00:05:34,140 Hivyo ni aina ya kama wewe ni aina ya multitasking. 113 00:05:34,140 --> 00:05:37,710 >> Na kama wameweza kuona juu ya sanduku yako mbali, au kitu kama hicho, 114 00:05:37,710 --> 00:05:43,040 multicore, nini unaweza kufanya ni unaweza kukimbia nyuzi mbili tofauti juu ya mbalimbali 115 00:05:43,040 --> 00:05:46,700 sehemu ya CPU ili waweze kweli kutokea wakati huo huo. 116 00:05:46,700 --> 00:05:48,100 Hivyo hii ni kweli nguvu. 117 00:05:48,100 --> 00:05:52,270 Na hii ni aina ya Apache ya ufumbuzi wa tatizo hili. 118 00:05:52,270 --> 00:05:57,900 >> Hivyo ni kuna aina ya kama masuala yoyote kwa njia hii ingawa? 119 00:05:57,900 --> 00:05:59,870 Hivyo mimi nadhani aina ya aliandika hapo. 120 00:05:59,870 --> 00:06:03,440 Lakini wote wawili aina ya matumizi mengi ya kumbukumbu. 121 00:06:03,440 --> 00:06:07,490 Ni gharama kubwa sana ya kujenga thread au mchakato. 122 00:06:07,490 --> 00:06:11,750 >> Na sehemu ya hoja ni kwamba tu kama wakati wewe ni mbio C mpango 123 00:06:11,750 --> 00:06:15,090 kama kuu yako na kisha kuwa wito kazi nyingine, ambayo ina 124 00:06:15,090 --> 00:06:16,520 baadhi ya aina ya stack. 125 00:06:16,520 --> 00:06:19,910 Hivyo nyuzi pia zinahitaji kabisa tofauti stack ambayo 126 00:06:19,910 --> 00:06:21,220 inaweza kuwa kubwa kabisa. 127 00:06:21,220 --> 00:06:25,170 Na kama unaweza kufikiria kuwa na tani ya watumiaji kwenye tovuti yako, ingekuwa 128 00:06:25,170 --> 00:06:26,280 mengi ya nyuzi tofauti. 129 00:06:26,280 --> 00:06:28,230 Kwamba mengi ya mwingi kwa kusimamia na kudumisha. 130 00:06:28,230 --> 00:06:31,280 Hivyo ni matumizi makubwa ya kumbukumbu. 131 00:06:31,280 --> 00:06:35,650 >> Na kisha, pia, hebu sema wewe tu na CPU moja, au hebu kusema kuwa 132 00:06:35,650 --> 00:06:38,460 nyuzi zaidi kuliko wewe na wale multicores. 133 00:06:38,460 --> 00:06:38,730 Haki? 134 00:06:38,730 --> 00:06:43,280 Basi hebu kusema alikuwa nyuzi 10 na wewe tu alikuwa CPUs tano. 135 00:06:43,280 --> 00:06:46,260 Wewe aina ya kufanya jambo hili ambapo kubadili kati ya sasa 136 00:06:46,260 --> 00:06:49,090 moja kwamba mbio kwa sababu wewe hawezi kukimbia zote 10 kwa wakati mmoja. 137 00:06:49,090 --> 00:06:50,980 Na kwamba wito kubadili mazingira. 138 00:06:50,980 --> 00:06:54,260 Na kwamba muda wa kweli ina michache ya mazingira tofauti, lakini hebu tu 139 00:06:54,260 --> 00:06:56,620 kufikiria kama byte kati ya nyuzi mbili. 140 00:06:56,620 --> 00:06:59,730 Hiyo inaweza kuwa pretty ghali kwa sababu kimsingi nini una kufanya ni wewe 141 00:06:59,730 --> 00:07:03,340 na kukomesha kile unachokifanya, kuokoa hali ya kwamba mbio thread, na 142 00:07:03,340 --> 00:07:05,440 kisha kubadili mahali pengine. 143 00:07:05,440 --> 00:07:09,420 >> Hivyo haina kila mtu aina ya kuona motisha ya nini nyuzi na 144 00:07:09,420 --> 00:07:12,030 michakato ya inaweza kuwa ni kidogo bulky? 145 00:07:12,030 --> 00:07:13,840 Na je, una swali? 146 00:07:13,840 --> 00:07:14,376 OK. 147 00:07:14,376 --> 00:07:15,070 Baridi. 148 00:07:15,070 --> 00:07:18,090 Mtu yeyote una maswali yoyote? 149 00:07:18,090 --> 00:07:19,620 OK. 150 00:07:19,620 --> 00:07:26,720 >> Hivyo kama sisi kuchukua hatua nyuma kwa ajili ya pili, kuna aina ya kama 151 00:07:26,720 --> 00:07:30,350 uchunguzi kwamba tunaweza kufanya kuhusu mengi ya maombi ya mtandao. 152 00:07:30,350 --> 00:07:34,810 Na kwamba ni kweli kwamba mengi yao kweli si kufanya hivyo muhimu sana 153 00:07:34,810 --> 00:07:37,140 kazi ndani ya thread. 154 00:07:37,140 --> 00:07:41,170 Hivyo ina mtu yeyote kuanza P kuweka saba wakati wote? 155 00:07:41,170 --> 00:07:45,650 Hivyo unataka labda kuelezea baadhi ya sehemu? 156 00:07:45,650 --> 00:07:47,850 Je, kazi ya kuingia au kitu kama hicho? 157 00:07:47,850 --> 00:07:49,330 >> Watazamaji: Hapana 158 00:07:49,330 --> 00:07:49,780 >> KEVIN SCHMID: OK. 159 00:07:49,780 --> 00:07:50,150 Kamwe akili. 160 00:07:50,150 --> 00:07:50,900 Sorry. 161 00:07:50,900 --> 00:07:55,790 Lakini kimsingi, katika P kuweka, wewe ni kwenda kuwa maamuzi mengi ya aina ya 162 00:07:55,790 --> 00:07:59,760 maswali kwa database kupata baadhi ya habari kutoka kwamba database. 163 00:07:59,760 --> 00:08:03,330 Na nini code yako ni kwenda kufanya, nini kwamba mchakato Apache au 164 00:08:03,330 --> 00:08:06,030 kwamba Apache thread ni kwenda kufanya wakati ina kuwasiliana na 165 00:08:06,030 --> 00:08:08,990 database ni ni aina ya kwenda kuwa wameketi hapo ni kwenda kuwa 166 00:08:08,990 --> 00:08:12,130 kusubiri kwa database ya kujibu. 167 00:08:12,130 --> 00:08:16,290 >> Sasa kwamba wanaweza kuonekana kama kwamba a kubwa kukabiliana kwa sababu database ni juu yako 168 00:08:16,290 --> 00:08:18,240 CS50 appliance, sawa? 169 00:08:18,240 --> 00:08:22,930 Lakini kuna baadhi ya aina ya mtandao utulivu huko kwa sababu sasa mtandao 170 00:08:22,930 --> 00:08:26,830 server ina kutoa ombi lake mwenyewe kwa orodha ya kuwasiliana na 171 00:08:26,830 --> 00:08:29,520 database na kisha kupata kwamba habari nyuma. 172 00:08:29,520 --> 00:08:33,190 Hivyo sasa ni kama vizuri kusubiri kwa ajili yangu, mimi nina kwenda kupata kitu kutoka 173 00:08:33,190 --> 00:08:35,770 database na kisha kuna mengi ya kusubiri kinachoendelea. 174 00:08:35,770 --> 00:08:36,870 Je, hiyo mantiki? 175 00:08:36,870 --> 00:08:38,580 >> Na kwa baadhi ya mambo ni kuwa mbaya. 176 00:08:38,580 --> 00:08:41,950 Kama tu ana, kwa mfano, upatikanaji wa kumbukumbu, si kwamba kama 177 00:08:41,950 --> 00:08:44,100 kutisha I / O utulivu. 178 00:08:44,100 --> 00:08:47,110 Na wakati mimi kusema, I / O utulivu, nini mimi akimaanisha ni kama aina yoyote ya kama 179 00:08:47,110 --> 00:08:48,290 pembejeo pato. 180 00:08:48,290 --> 00:08:52,950 Lakini kwa kupata faili juu ya disk, kama kama nilitaka kumtumikia HTML tuli 181 00:08:52,950 --> 00:08:57,850 faili kwamba alikuwa kwenye mtandao ukurasa yangu au kitu kama hicho, mimi aina ya kuwa na 182 00:08:57,850 --> 00:09:02,310 kuacha kwa kidogo, kusoma faili kwamba kutoka disk, na kisha katika 183 00:09:02,310 --> 00:09:04,400 mchakato kwamba mimi nina kusubiri. 184 00:09:04,400 --> 00:09:06,700 Mimi si kufanya kazi muhimu. 185 00:09:06,700 --> 00:09:11,270 >> Hii si kweli wa kila kitu, lakini ni jambo la kawaida katika maombi kama P kuweka 186 00:09:11,270 --> 00:09:13,960 saba na mengi ya maombi kwamba wewe si 187 00:09:13,960 --> 00:09:15,440 kweli kufanya kufikiri sana. 188 00:09:15,440 --> 00:09:19,090 Na wakati mimi kusema kufikiri, I mean kama kazi computational. 189 00:09:19,090 --> 00:09:23,270 Kazi hiyo computational inaweza kuwa ni kitu kama vile, kusema, alitaka 190 00:09:23,270 --> 00:09:26,590 kuandika server mtandao tu computed nth Fibonacci idadi. 191 00:09:26,590 --> 00:09:29,300 Hiyo haina sauti kama hasa furaha mtandao wa kompyuta. 192 00:09:29,300 --> 00:09:34,220 Kama mimi bila kutarajia tovuti ya kwamba kuwa Facebook ijayo, lakini kwamba ni baadhi ya 193 00:09:34,220 --> 00:09:35,610 aina ya kazi computational. 194 00:09:35,610 --> 00:09:39,570 >> Na unaweza kufikiria kuchukua nafasi ya kuwa na aina nyingine ya kuvutia 195 00:09:39,570 --> 00:09:43,070 computational kazi. 196 00:09:43,070 --> 00:09:46,050 Hebu sema wewe walikuwa kuandika kitu kwamba mahesabu digrii ya 197 00:09:46,050 --> 00:09:49,170 kujitenga kati ya watu wawili au kitu kama hicho. 198 00:09:49,170 --> 00:09:51,860 Hivyo kwamba hana kuhusisha baadhi ya aina ya hesabu, sawa? 199 00:09:51,860 --> 00:09:56,630 Na hata basi, kwa kufanya hivyo bado una kufanya mengi ya kusubiri kwa labda 200 00:09:56,630 --> 00:09:59,550 una swala database kuangalia up ambaye ni marafiki na nani au 201 00:09:59,550 --> 00:10:00,600 kitu kama hicho. 202 00:10:00,600 --> 00:10:03,510 Kwa hiyo, kuna aina ya dhana ya computational kazi. 203 00:10:03,510 --> 00:10:05,260 Je, hiyo mantiki? 204 00:10:05,260 --> 00:10:08,258 Je, mtu yeyote una maswali yoyote? 205 00:10:08,258 --> 00:10:11,960 >> Oh na mimi nadhani kuweka watumishi mazungumzo huko kwa sababu watumishi mazungumzo ni aina ya 206 00:10:11,960 --> 00:10:13,240 mfano mwingine mzuri wa hili. 207 00:10:13,240 --> 00:10:15,250 server mazungumzo hana kufanya kufikiri sana. 208 00:10:15,250 --> 00:10:18,350 Ni tu ana kusubiri kwa ajili ya watu kutuma ujumbe na kisha wakati 209 00:10:18,350 --> 00:10:19,800 hawana, kuwatuma. 210 00:10:19,800 --> 00:10:21,050 OK? 211 00:10:21,050 --> 00:10:23,410 212 00:10:23,410 --> 00:10:28,180 >> Hivyo tu kwa kurejea tena, Apache na mtandao sawa watumishi kama kwamba uma a 213 00:10:28,180 --> 00:10:31,470 mengi ya nyuzi na michakato ambayo inaweza kuwa aina ya fujo. 214 00:10:31,470 --> 00:10:37,530 Kwa hiyo mimi nadhani swali ambayo inaweza kuja na kwamba ni nini tunahitaji kuwa na 215 00:10:37,530 --> 00:10:39,610 nyuzi nyingi na taratibu? 216 00:10:39,610 --> 00:10:41,890 Nini kama sisi tu alikuwa mmoja? 217 00:10:41,890 --> 00:10:45,710 >> Basi hebu aina ya rangi picha ya jambo hili bila kuangalia kama. 218 00:10:45,710 --> 00:10:47,810 Basi hebu kutumia moja tu thread. 219 00:10:47,810 --> 00:10:48,660 OK? 220 00:10:48,660 --> 00:10:52,790 Hivyo tu kufikiria hii kwa thread moja. 221 00:10:52,790 --> 00:10:56,600 >> Hebu tuseme sisi si kweli kufanya kiasi kwamba muhimu - na wakati mimi kusema 222 00:10:56,600 --> 00:10:59,450 muhimu, I mean kazi computational - 223 00:10:59,450 --> 00:11:01,130 katika nyuzi wale nyingi kabla. 224 00:11:01,130 --> 00:11:04,180 Basi hebu aina ya kuimarisha kila kitu katika thread moja. 225 00:11:04,180 --> 00:11:07,780 Basi nini kama tulikuwa na thread moja aina hiyo ya tu unaendelea kuzunguka katika kitanzi na 226 00:11:07,780 --> 00:11:10,880 mara kwa mara hundi alifanya kitu mpya kutokea. 227 00:11:10,880 --> 00:11:15,130 Hivyo kwa mfano, kitu kipya kilichotokea inaweza kuwa na maana mimi got kitu nyuma kutoka 228 00:11:15,130 --> 00:11:19,310 database, au mtu alimtuma me mpya HTTP ombi. 229 00:11:19,310 --> 00:11:22,290 Basi hizo aina ya matukio kutokea, sawa? 230 00:11:22,290 --> 00:11:26,130 >> Na kisha nini siwezi kufanya wakati wale mpya mambo kutokea ni katika thread hiyo 231 00:11:26,130 --> 00:11:30,120 wa utekelezaji, thread hii moja ya utekelezaji, siwezi kuwaita baadhi ya kanuni kwamba 232 00:11:30,120 --> 00:11:32,410 ingekuwa kushughulikia jambo fulani. 233 00:11:32,410 --> 00:11:36,640 Hivyo kwa mfano, kama mimi got kitu nyuma kutoka database, mimi naweza kukimbia yangu 234 00:11:36,640 --> 00:11:40,960 ndogo sehemu ya ukokotooaji wa kwamba kweli tu huandaa kitu 235 00:11:40,960 --> 00:11:42,620 kutuma nyuma kwa mtumiaji. 236 00:11:42,620 --> 00:11:46,710 Hivyo gani kwamba aina ya mantiki? 237 00:11:46,710 --> 00:11:49,940 >> Lakini nini ni kweli matokeo ya hili? 238 00:11:49,940 --> 00:11:50,660 Haki? 239 00:11:50,660 --> 00:11:53,730 Kwa sababu tumekuwa imeandikwa mengi ya kificho kwamba - 240 00:11:53,730 --> 00:11:58,330 na mimi nina kwenda tu kuruka mbele katika slides kama kwamba ni sawa. 241 00:11:58,330 --> 00:12:00,930 Hivyo kama huna akili, mimi tu kwenda kuchukua hatua nyuma. 242 00:12:00,930 --> 00:12:03,410 Hivyo aina hii ya kitu ni aitwaye kitanzi tukio hilo. 243 00:12:03,410 --> 00:12:04,070 OK? 244 00:12:04,070 --> 00:12:07,240 Na ni aina ya msingi Dhana ya Node.js. 245 00:12:07,240 --> 00:12:11,240 >> Kwa hiyo kile Node.js ni kweli kufanya kama mtandao server ni kuna moja thread 246 00:12:11,240 --> 00:12:14,850 kwamba kimsingi ni kwenda kuzunguka katika kitanzi kama wakati aina moja ya chini ya 247 00:12:14,850 --> 00:12:18,510 kofia ya Node.js kwamba mara kwa mara kuangalia, je, sisi kupokea mambo mapya? 248 00:12:18,510 --> 00:12:22,720 Na kisha itakuwa kukimbia handlers kwamba kuweka up. 249 00:12:22,720 --> 00:12:26,720 Lakini swali vizuri kuuliza ni, jinsi gani tunaweza kufanya hili kutokea 250 00:12:26,720 --> 00:12:28,090 pamoja na mambo zilizopo? 251 00:12:28,090 --> 00:12:32,440 >> Basi, mimi kuweka mstari wa C code hapa kwamba kimsingi inaonekana kama ni kufungua 252 00:12:32,440 --> 00:12:33,060 faili, sawa? 253 00:12:33,060 --> 00:12:36,090 Mimi Yeye tu akatoka na albamu. 254 00:12:36,090 --> 00:12:39,600 Hivyo nilikuwa na kufungua wake faili mpya. 255 00:12:39,600 --> 00:12:43,810 Hivyo njia yetu C kanuni kwa ajili ya kazi - 256 00:12:43,810 --> 00:12:47,890 na mimi nadhani sababu mimi waliamua files mara kwa sababu hii ni aina ya kiwango 257 00:12:47,890 --> 00:12:52,000 ya I / O kazi tumefanya katika C katika maana kwamba kuna pembejeo pato. 258 00:12:52,000 --> 00:12:55,070 Hivyo tunatoa wito kanuni hii kwamba gani f hii wazi. 259 00:12:55,070 --> 00:12:59,370 Na kisha juu ya mstari wa pili wetu mpango, tunaweza sasa kazi na f. 260 00:12:59,370 --> 00:13:02,710 >> Hivyo hii itakuwa ni mfano wa kitu hiyo ni kama synchronous au 261 00:13:02,710 --> 00:13:06,850 kuzuia kwa sababu juu ya kwamba mstari wa kwanza huko tunasubiri mpaka sisi 262 00:13:06,850 --> 00:13:08,110 kupata faili wazi. 263 00:13:08,110 --> 00:13:12,260 Kadhalika mstari wa pili, tunajua kwamba sisi wanaweza kufanya kazi kwa f, lakini hii ina maana kwamba 264 00:13:12,260 --> 00:13:16,240 kwamba mstari wa pili kweli hawezi kukimbia mpaka mstari wa kwanza ni kosa. 265 00:13:16,240 --> 00:13:17,760 Je, hiyo mantiki? 266 00:13:17,760 --> 00:13:20,890 >> Hivyo hii itakuwa ni mbaya kwa kuweka katika tukio handler. 267 00:13:20,890 --> 00:13:23,920 Na sababu ya kuwa ni kwamba aina hii ya kusubiri, sawa? 268 00:13:23,920 --> 00:13:26,500 Hivyo hii itakuwa kurejea yetu nyuma kwa kitu kimoja. 269 00:13:26,500 --> 00:13:29,470 Na sasa sisi bila hata kuwa faida ya nyuzi nyingi au 270 00:13:29,470 --> 00:13:32,390 michakato ya sababu tulipata thread moja katika Node.js. 271 00:13:32,390 --> 00:13:35,496 Je, hiyo mantiki kwa kila mtu? 272 00:13:35,496 --> 00:13:35,990 >> Watazamaji: Ngoja. 273 00:13:35,990 --> 00:13:36,980 Basi nini badala ya? 274 00:13:36,980 --> 00:13:37,840 >> KEVIN SCHMID: Oh, hivyo ndiyo. 275 00:13:37,840 --> 00:13:39,560 Hivyo nina kwenda kupata badala. 276 00:13:39,560 --> 00:13:40,430 OK. 277 00:13:40,430 --> 00:13:42,960 Basi nini kama sisi alikuwa na kitu kwamba inaonekana kama hii? 278 00:13:42,960 --> 00:13:45,730 Basi nini kama sasa mimi mwisho f kufungua kidogo? 279 00:13:45,730 --> 00:13:48,370 Hivyo mimi nina kupita katika hiyo hoja kama mbele ya watu wawili. 280 00:13:48,370 --> 00:13:52,610 Mimi bado upendo wimbo mpya kwamba yeye akatoka na. 281 00:13:52,610 --> 00:13:57,260 Lakini mimi nina kupita Jambo la tatu ambayo ni variable hii inayoitwa code. 282 00:13:57,260 --> 00:14:02,280 >> Lakini ni nini code kweli katika muktadha huu? 283 00:14:02,280 --> 00:14:05,360 Je, ni kama mara kwa mara C variable? 284 00:14:05,360 --> 00:14:06,740 Ni kazi, haki? 285 00:14:06,740 --> 00:14:09,450 Na kwamba inaweza kuwa ni kidogo weird kwa sababu Mimi kwa kweli kama sasa kupita 286 00:14:09,450 --> 00:14:12,320 kazi katika kazi nyingine. 287 00:14:12,320 --> 00:14:14,400 >> Hivyo mambo kadhaa kutambua kuhusu hili. 288 00:14:14,400 --> 00:14:17,145 Moja, mimi si kweli wito code kazi. 289 00:14:17,145 --> 00:14:20,650 Hivyo huna kuona kanuni na kushoto paren, paren haki. 290 00:14:20,650 --> 00:14:23,010 Mimi nina kupita tu katika kanuni. 291 00:14:23,010 --> 00:14:26,990 Na katika C, nini hii ingekuwa kweli kufanya ni nipe pointer kwa kuwa halisi 292 00:14:26,990 --> 00:14:29,740 , na kisha hii inaweza kukimbia. 293 00:14:29,740 --> 00:14:33,350 Lakini tu kufikiri juu yake kama wewe ni kupita code kwa kukimbia wakati 294 00:14:33,350 --> 00:14:35,150 faili kwamba ni wazi. 295 00:14:35,150 --> 00:14:41,430 >> Lakini nini maana ya hii ni kwamba sasa wengine wa mpango wangu ambayo inaweza kufanya 296 00:14:41,430 --> 00:14:47,050 mambo mengine, unaweza kuendelea kufanya wengine mambo wakati sisi, si kweli kusubiri, lakini 297 00:14:47,050 --> 00:14:50,890 tu nyuma ya vichwa vyetu kwamba wakati kwamba faili wazi, kukimbia kwamba 298 00:14:50,890 --> 00:14:52,130 code juu. 299 00:14:52,130 --> 00:14:53,390 Je, hiyo mantiki? 300 00:14:53,390 --> 00:14:58,060 >> Na sasa Dhana ya Node.js ni kwamba code katika mambo ya kufanya na f 301 00:14:58,060 --> 00:15:04,590 sehemu lazima pretty mfupi na rahisi na moja kwa moja na si kweli kuwa 302 00:15:04,590 --> 00:15:06,160 computationally kubwa sana. 303 00:15:06,160 --> 00:15:09,390 Ni inaweza kuwa na kufungua faili nyingine, lakini kwamba lazima pia kuwa na pretty haraka 304 00:15:09,390 --> 00:15:14,710 kwa sababu ni lazima tu kusema kufanya f mwingine kufungua na kisha kuwaita kanuni hii nyingine. 305 00:15:14,710 --> 00:15:19,100 >> Hivyo tu kuwa wazi kabisa, f wazi kwamba gani mpya Katy Perry wimbo 306 00:15:19,100 --> 00:15:23,060 done mp3, ambayo inaenda pretty sana kurudi mara moja. 307 00:15:23,060 --> 00:15:27,820 Na kisha tunaweza tu kuendelea kufanya mambo mengine kwa sababu yote sasa f 308 00:15:27,820 --> 00:15:33,410 wito wazi haina ni kuwaambia kimsingi msingi f code wazi kufungua faili hii 309 00:15:33,410 --> 00:15:36,020 na wakati wewe ni kosa kufungua hii faili au wakati kupata nyuma, 310 00:15:36,020 --> 00:15:37,480 kisha kukimbia kwamba kanuni. 311 00:15:37,480 --> 00:15:39,540 Lakini haina kweli kuendesha kwamba kanuni. 312 00:15:39,540 --> 00:15:41,815 Na alikuwa swali? 313 00:15:41,815 --> 00:15:46,180 >> Watazamaji: You walionekana kuashiria chache mara kwamba kuongeza computationally 314 00:15:46,180 --> 00:15:50,545 code kubwa aina ya kuvunja [Inaudible] mfumo wa upepo. 315 00:15:50,545 --> 00:15:51,795 [Inaudible]? 316 00:15:51,795 --> 00:15:54,450 317 00:15:54,450 --> 00:15:55,290 >> KEVIN SCHMID: Hilo ni swali kubwa. 318 00:15:55,290 --> 00:15:59,280 Hivyo mimi kwa kweli na mfano wa jinsi unaweza kuunganisha computationally 319 00:15:59,280 --> 00:16:01,090 code kubwa katika kidogo. 320 00:16:01,090 --> 00:16:03,620 Hivyo wakati sisi kupata code mifano, Mimi utakuwa na uhakika wa kuvuta kwamba moja. 321 00:16:03,620 --> 00:16:04,700 Ni kwamba OK? 322 00:16:04,700 --> 00:16:05,950 Asante. 323 00:16:05,950 --> 00:16:07,690 324 00:16:07,690 --> 00:16:08,750 >> Jina yako alikuwa nini? 325 00:16:08,750 --> 00:16:10,620 >> Watazamaji: Aaron. 326 00:16:10,620 --> 00:16:14,830 >> KEVIN SCHMID Haruni huleta juu sana hatua nzuri, ambayo ni kwamba kama alikuwa 327 00:16:14,830 --> 00:16:18,560 baadhi kubwa code computationally katika kufanya mambo kwa f sehemu, wengine wa 328 00:16:18,560 --> 00:16:22,880 mpango wangu hawezi kukimbia na hawezi kusikiliza kwa maombi mapya au kitu chochote mpaka wote 329 00:16:22,880 --> 00:16:24,270 mambo ambayo ni kumaliza. 330 00:16:24,270 --> 00:16:27,390 Basi, ikiwa mimi nina kuandika Node code kwa ujumla isipokuwa sisi kufanya kitu kama mimi nina kwenda 331 00:16:27,390 --> 00:16:33,060 zinaonyesha baadaye wakati sisi kuangalia code mifano, mimi na kuwa na uhakika kwamba 332 00:16:33,060 --> 00:16:36,060 code yangu haina kufunga up kitanzi hii tukio hilo. 333 00:16:36,060 --> 00:16:38,120 Je, hiyo mantiki? 334 00:16:38,120 --> 00:16:38,350 OK. 335 00:16:38,350 --> 00:16:40,040 Baridi. 336 00:16:40,040 --> 00:16:47,090 >> Hivyo Node.js inatoa mfumo huu kwamba unaweza kujenga tukio haya inaendeshwa 337 00:16:47,090 --> 00:16:48,210 seva na. 338 00:16:48,210 --> 00:16:53,460 Hivyo ina aina hii ya Asynchronous mashirika yasiyo ya kuzuia I / O maktaba, ambapo 339 00:16:53,460 --> 00:16:56,800 kiwango C maktaba kwamba sisi tumekuwa kufanya kazi pamoja, kama kama wewe tu 340 00:16:56,800 --> 00:16:59,500 matumizi yao katika njia ile ile ambayo tumekuwa wamekuwa wakitumia yao kwa f kufungua na 341 00:16:59,500 --> 00:17:03,000 mambo, wale ni kuzuia kwa sababu kwa kweli kuwa na kusubiri kwa 342 00:17:03,000 --> 00:17:04,470 kwamba faili kufungua. 343 00:17:04,470 --> 00:17:09,290 >> Lakini Node.js anatoa hiyo na kimsingi mahusiano ndani ya V8 Google 344 00:17:09,290 --> 00:17:14,030 JavaScript injini ambayo ni sababu kwamba Chrome ni kwa kasi katika usindikaji 345 00:17:14,030 --> 00:17:17,040 JavaScript kwa sababu ina injini hii V8. 346 00:17:17,040 --> 00:17:22,460 Hivyo najua kwamba inaonekana kama mmoja wa wale WWDC mikutano developer kitu 347 00:17:22,460 --> 00:17:25,390 ambapo wao tu kutupa rundo la mambo barua ya idadi ya wasindikaji 348 00:17:25,390 --> 00:17:26,910 na kusema huu ni ya baridi. 349 00:17:26,910 --> 00:17:34,200 Lakini ni baridi kwamba wao walifanya hii kwa sababu JavaScript - 350 00:17:34,200 --> 00:17:37,010 au labda kama wewe si ukoo na JavaScript bado kwa sababu sisi si alikuwa na 351 00:17:37,010 --> 00:17:38,180 mihadhara juu yake - 352 00:17:38,180 --> 00:17:40,770 lakini JavaScript ni kutafsiriwa lugha. 353 00:17:40,770 --> 00:17:41,970 >> Na hii ni hatua muhimu sana. 354 00:17:41,970 --> 00:17:45,790 Hivyo ni muhimu kwa mtandao wetu seva ya kuwa na haraka, sawa? 355 00:17:45,790 --> 00:17:49,970 Na kama tulikuwa kukimbia tu JavaScript kificho kwamba ilitafsiriwa na tu 356 00:17:49,970 --> 00:17:52,130 mkalimani yoyote zamani inaweza kuwa polepole. 357 00:17:52,130 --> 00:17:55,980 Hivyo faida Node kutokana na kuwa na hii super haraka V8 mkalimani. 358 00:17:55,980 --> 00:17:59,580 Na mimi sijui kama wao jina lake ni kwa sababu V8 kofi katika paji la uso 359 00:17:59,580 --> 00:18:01,110 kitu, lakini OK. 360 00:18:01,110 --> 00:18:07,070 >> Hivyo nimekuwa tayari baadhi ya mifano kwa hii. 361 00:18:07,070 --> 00:18:10,490 Baada ya semina hiyo, mimi nina aina ya kwenda majadiliano juu ya jinsi gani unaweza kupata Node kuweka 362 00:18:10,490 --> 00:18:13,570 juu, lakini kwa sasa, mimi tu aina ya kutaka kutembea kwa njia ya baadhi ya mifano code. 363 00:18:13,570 --> 00:18:17,250 Hivyo kama unataka kufuata pamoja, kila chanzo code inapatikana huko. 364 00:18:17,250 --> 00:18:18,720 OK? 365 00:18:18,720 --> 00:18:22,280 >> Basi, mimi itabidi kuondoka URL hii up kwa kidogo. 366 00:18:22,280 --> 00:18:24,440 Na basi mimi nina kwenda tu kwa kubadili ndani ya wastaafu. 367 00:18:24,440 --> 00:18:29,670 368 00:18:29,670 --> 00:18:34,400 Ni kila mtu mzuri na URL hili? 369 00:18:34,400 --> 00:18:37,990 Hivyo nina kwenda kubadili juu ya kwa terminal wangu hapa. 370 00:18:37,990 --> 00:18:42,030 >> Hivyo hapa ni kificho kwamba Nina kwa leo. 371 00:18:42,030 --> 00:18:43,960 Kwa nini si sisi kuanza na simpler.js faili? 372 00:18:43,960 --> 00:18:49,110 373 00:18:49,110 --> 00:18:52,100 Jambo jingine ni kwamba yote haya code ni kwenda kuandikwa katika 374 00:18:52,100 --> 00:18:56,660 JavaScript ambayo wanaweza au inaweza kuwa familiar with. 375 00:18:56,660 --> 00:19:00,170 Nadhani mambo ya wanandoa ni kwamba mengi ya JavaScript code ni aina ya 376 00:19:00,170 --> 00:19:04,000 syntax na muundo ni sawa na C, hivyo unaweza aina ya pick it up kama 377 00:19:04,000 --> 00:19:05,020 wewe kwenda pamoja. 378 00:19:05,020 --> 00:19:08,750 Nimejaribu kuandika mengi ya kuanzia kanuni kwa ajili ya hili katika njia ambayo ni 379 00:19:08,750 --> 00:19:11,230 sawa na C hivyo kwamba ni kidogo zaidi someka. 380 00:19:11,230 --> 00:19:15,980 Lakini kama sisi maendeleo, mimi utakuwa kuonyesha baadhi ya ziada 381 00:19:15,980 --> 00:19:18,980 sifa za JavaScript kwamba ni aina ya baridi. 382 00:19:18,980 --> 00:19:21,510 >> Lakini hebu tuangalie mpango huu sampuli. 383 00:19:21,510 --> 00:19:24,820 Nadhani kila kitu ni kupunguza huko mbali. 384 00:19:24,820 --> 00:19:28,500 Mimi tu anaenda kurekebisha kwamba kweli haraka kama kwamba ni OK au la. 385 00:19:28,500 --> 00:19:31,400 Sijui jambo hili ni kwenda kufanya. 386 00:19:31,400 --> 00:19:34,660 Ni kidogo bora? 387 00:19:34,660 --> 00:19:36,510 Je, unaweza kuona var na stuff? 388 00:19:36,510 --> 00:19:39,320 OK. 389 00:19:39,320 --> 00:19:44,120 >> Hivyo mstari wa kwanza ni kama JavaScript toleo la variable 390 00:19:44,120 --> 00:19:44,800 tamko hilo. 391 00:19:44,800 --> 00:19:49,870 Hivyo tu kuonyesha kitu gani hii kuangalia kama katika C. Hivyo hii ni kama 392 00:19:49,870 --> 00:19:52,620 mimi kusema index sawa na tatu au kitu kama hicho. 393 00:19:52,620 --> 00:19:55,740 Hivyo sikuwa kutaja aina. 394 00:19:55,740 --> 00:20:00,780 JavaScript gani kuwa na aina, lakini ni sana dynamically typed katika asili, hivyo 395 00:20:00,780 --> 00:20:02,580 hakuwa na kutoa aina yoyote ya aina juu yake. 396 00:20:02,580 --> 00:20:03,670 Hivyo tu ana var. 397 00:20:03,670 --> 00:20:05,320 Hiyo ni kama kutofautiana. 398 00:20:05,320 --> 00:20:05,920 OK? 399 00:20:05,920 --> 00:20:08,340 >> Na mimi nina wito HTTP hii kutofautiana. 400 00:20:08,340 --> 00:20:12,480 Na upande wangu wa kulia mkono, nina kujieleza kwamba nataka kuweka katika HTTP. 401 00:20:12,480 --> 00:20:14,960 Na hii anasema zinahitaji HTTP. 402 00:20:14,960 --> 00:20:18,500 Hivyo hii ni aina ya sawa pamoja. 403 00:20:18,500 --> 00:20:22,940 Ni kidogo zaidi kama nguvu zaidi kuliko ni pamoja na kwa maana ya kwamba ni pamoja na 404 00:20:22,940 --> 00:20:26,100 ingekuwa tu nakala na kuweka kichwa faili kwa ajili ya kazi prototypes au 405 00:20:26,100 --> 00:20:27,930 chochote na ufafanuzi aina. 406 00:20:27,930 --> 00:20:30,590 Lakini zinahitaji ni kweli kwenda kupata yetu code. 407 00:20:30,590 --> 00:20:33,280 >> Hivyo unaweza kufikiria ni kama kuagiza baadhi ya kanuni. 408 00:20:33,280 --> 00:20:37,960 Hivyo mahali fulani katika Node.js moduli mfumo au chochote, wote wanayo hii 409 00:20:37,960 --> 00:20:40,790 HTTP server code hivyo mimi nina tu kuchota kwa ajili ya yangu mwenyewe 410 00:20:40,790 --> 00:20:43,130 matumizi binafsi katika mpango huu. 411 00:20:43,130 --> 00:20:44,260 OK? 412 00:20:44,260 --> 00:20:46,930 >> Hivyo basi mimi na kazi hii kwamba nimepata maandishi. 413 00:20:46,930 --> 00:20:50,330 Na taarifa sikuwa na kutaja kurudi aina au aina ya 414 00:20:50,330 --> 00:20:51,140 hoja tena. 415 00:20:51,140 --> 00:20:54,440 Hivyo aina ya huru typed katika kwamba aina ya akili. 416 00:20:54,440 --> 00:20:57,290 Hoja mbili kwamba inachukua katika, ombi na majibu. 417 00:20:57,290 --> 00:21:02,080 Hivyo kwamba ni conceptually aina ya kama familiar na picha kwamba tulikuwa 418 00:21:02,080 --> 00:21:05,280 juu ya screen kabla kwa sababu sisi kupata ombi hili kwamba sisi 419 00:21:05,280 --> 00:21:06,410 na kutoka kwa mtumiaji. 420 00:21:06,410 --> 00:21:09,170 Na kisha sisi kuwa na jibu kwamba tunaweza kuandika mambo ya. 421 00:21:09,170 --> 00:21:15,060 >> Hivyo mstari wa kwanza wa hii haina res.writeHead 200 na kisha hii 422 00:21:15,060 --> 00:21:17,070 aina ya maudhui Nakala wazi. 423 00:21:17,070 --> 00:21:19,300 Basi hebu kipande hii mbali kidogo. 424 00:21:19,300 --> 00:21:22,340 Hivyo basi tu kuzingatia res.write kwa kidogo. 425 00:21:22,340 --> 00:21:28,420 Hivyo kuandika ni kimsingi, na kuandika kichwa, ni baadhi tu ya njia na aina ya kuandika 426 00:21:28,420 --> 00:21:29,960 mambo ya majibu. 427 00:21:29,960 --> 00:21:30,770 OK? 428 00:21:30,770 --> 00:21:36,230 Hivyo kuandika kichwa, kama mtu yeyote anakumbuka kutoka HTTP hotuba, je, guys 429 00:21:36,230 --> 00:21:39,940 kumbuka headers katika juu ya jambo HTTP? 430 00:21:39,940 --> 00:21:43,580 Hivyo kwa nini si mimi tu demo headers halisi haraka. 431 00:21:43,580 --> 00:21:44,640 Ingekuwa kwamba kuwa na manufaa? 432 00:21:44,640 --> 00:21:45,500 Au lazima sisi tu aina ya - 433 00:21:45,500 --> 00:21:46,070 OK. 434 00:21:46,070 --> 00:21:46,740 Uhakika. 435 00:21:46,740 --> 00:21:52,340 >> Hivyo wakati browser yako inakwenda google.com au kitu kama hicho, 436 00:21:52,340 --> 00:21:54,250 kuna kweli kidogo zaidi - 437 00:21:54,250 --> 00:21:55,380 hii ni kama siri - 438 00:21:55,380 --> 00:21:58,340 kuna kama taarifa kidogo zaidi kuja kwa njia ya bomba kuliko tu 439 00:21:58,340 --> 00:22:00,180 search kidogo na kila kitu. 440 00:22:00,180 --> 00:22:03,550 Hivyo kuonyesha hii, mimi nina kwenda kutumia mpango ujulikanao Curl. 441 00:22:03,550 --> 00:22:04,260 OK? 442 00:22:04,260 --> 00:22:08,020 Hivyo hii ni kitu ambacho unaweza kukimbia wakati yako Mac OSX mstari amri au katika 443 00:22:08,020 --> 00:22:09,830 appliance au chochote. 444 00:22:09,830 --> 00:22:17,050 Na hivyo kama mimi Curl HTTP google.com, Mimi kwenda kuona HTML. 445 00:22:17,050 --> 00:22:21,230 Na hii ni, katika haki, tu HTML kwamba aina ya anakwambia 446 00:22:21,230 --> 00:22:24,695 kuelekeza kwa www kama browser yako haina moja kwa moja kushughulikia 447 00:22:24,695 --> 00:22:27,110 redirection. 448 00:22:27,110 --> 00:22:33,390 >> Hivyo hii ni HTML, lakini nina kwenda na kuongeza Curl hyphen hii mimi bendera. 449 00:22:33,390 --> 00:22:33,600 OK? 450 00:22:33,600 --> 00:22:35,600 Na hii ni kwenda kuonyesha mimi headers. 451 00:22:35,600 --> 00:22:40,640 Hivyo hii ni pia habari kwamba anakuja kupitia wakati mimi kupata majibu hii. 452 00:22:40,640 --> 00:22:41,260 OK? 453 00:22:41,260 --> 00:22:45,320 >> Hivyo saa ya juu, unaweza kuona hii HTTP 301 hoja ya kudumu. 454 00:22:45,320 --> 00:22:49,470 Na hii ni aina ya muhimu kwa sababu hii ina maana ya hali ya code. 455 00:22:49,470 --> 00:22:53,750 Hivyo 301 hapa ni hali ya kanuni, ambayo kimsingi ni tu integer 456 00:22:53,750 --> 00:22:57,750 kwamba anasema browser au mtu yeyote ni kusoma hii, kama wewe kujifanya kuwa 457 00:22:57,750 --> 00:23:01,460 wewe ni browser na wewe ni kuona hii, kimsingi sasa kama ukiangalia 458 00:23:01,460 --> 00:23:04,960 kuwa na wewe kuona 301, unajua mimi na kufanya kitu maalum kwa kuzingatia 459 00:23:04,960 --> 00:23:08,810 301, au kitu maalum kilichotokea msingi 301. 460 00:23:08,810 --> 00:23:12,640 Hivyo anasema wakiongozwa kudumu. 461 00:23:12,640 --> 00:23:17,700 >> Na kisha, kimsingi, tuna kundi la thamani jozi muhimu. 462 00:23:17,700 --> 00:23:22,100 Ili tuweze kupata eneo ni www.google.com. 463 00:23:22,100 --> 00:23:25,190 Na kisha aina ya mambo haya mengine yote, lakini kimsingi, nini eneo ni 464 00:23:25,190 --> 00:23:29,662 Usemi huu ni wa eneo mpya ni katika www.google.com. 465 00:23:29,662 --> 00:23:33,800 Hivyo sasa kama wewe kwenda google.com, itabidi aina ya kuona kisakuzi aina ya blink 466 00:23:33,800 --> 00:23:38,770 kwa ajili ya pili na kisha kuelekeza ninyi haki ya nyuma www.google.com. 467 00:23:38,770 --> 00:23:41,840 Hivyo majibu unaweza vyenye haya headers. 468 00:23:41,840 --> 00:23:43,330 >> Na michache ya mambo ya uhakika nje. 469 00:23:43,330 --> 00:23:46,890 Basi hebu kusema sisi walikuwa kweli mafanikio katika kutembelea ukurasa wa mtandao. 470 00:23:46,890 --> 00:23:49,040 Hivyo basi mimi kwenda - 471 00:23:49,040 --> 00:23:51,080 nini tovuti nzuri? 472 00:23:51,080 --> 00:23:53,285 Mimi nina mbaya katika fikra za nzuri Nje papo hapo. 473 00:23:53,285 --> 00:23:53,640 >> Watazamaji: Wikipedia. 474 00:23:53,640 --> 00:23:54,160 >> KEVIN SCHMID: OK. 475 00:23:54,160 --> 00:23:56,040 Hebu kufanya Wikipedia. 476 00:23:56,040 --> 00:23:58,680 Hivyo hapa nilikuwa wakiongozwa. 477 00:23:58,680 --> 00:23:59,240 Oh kusubiri. 478 00:23:59,240 --> 00:24:00,160 Mimi? 479 00:24:00,160 --> 00:24:00,890 Ndiyo, mimi. 480 00:24:00,890 --> 00:24:01,100 OK. 481 00:24:01,100 --> 00:24:03,005 Basi, mimi got kufanya www. 482 00:24:03,005 --> 00:24:06,006 Hivyo nina kwenda kufanya www. 483 00:24:06,006 --> 00:24:09,680 Na kama unaweza kuona, hapa HTML wote kwamba browser bila mchakato 484 00:24:09,680 --> 00:24:10,910 kwa Wikipedia. 485 00:24:10,910 --> 00:24:14,055 >> Lakini kama mimi kuweka scrolling up hapa, kile utaona juu - 486 00:24:14,055 --> 00:24:17,800 wow, kuna mengi ya HTML juu ya Wikipedia - 487 00:24:17,800 --> 00:24:22,550 lakini nini siwezi kuona juu hapa ni hii code 200 hali kama kinyume na 488 00:24:22,550 --> 00:24:24,570 301 niliowaona hapo awali. 489 00:24:24,570 --> 00:24:27,100 Na taarifa kwamba ina nzuri kirafiki OK karibu na hiyo. 490 00:24:27,100 --> 00:24:29,470 Hivyo hii ni kama hali ya nzuri code. 491 00:24:29,470 --> 00:24:31,160 >> Je, kwamba idadi 200 kuangalia familiar? 492 00:24:31,160 --> 00:24:34,120 493 00:24:34,120 --> 00:24:39,880 Ndiyo kwa sababu wakati mimi simpler.js, Niliandika 200 huko. 494 00:24:39,880 --> 00:24:43,290 Hivyo hiyo kimsingi akisema kuwaambia browser au mtu yeyote ni kujaribu kupata 495 00:24:43,290 --> 00:24:45,440 hii kwamba walikuwa na mafanikio. 496 00:24:45,440 --> 00:24:49,040 Au kwamba aina ya kama sisi walikuwa na mafanikio pia. 497 00:24:49,040 --> 00:24:54,320 >> Na kuna aina hii ya syntax maalum katika Javascript kwa ajili ya kutangaza 498 00:24:54,320 --> 00:24:59,870 ramani ya funguo hizi kama aina ya maudhui na maadili haya kama Nakala wazi. 499 00:24:59,870 --> 00:25:03,780 Hivyo kama wewe kuangalia na majibu kwamba sisi got nyuma kutoka Wikipedia kabla ya, - 500 00:25:03,780 --> 00:25:06,200 Mimi nina kwenda kujaribu kitabu juu kidogo kwa kasi - 501 00:25:06,200 --> 00:25:09,900 una funguo hizi kama server na maadili haya Apache. 502 00:25:09,900 --> 00:25:12,120 Basi nimepata funguo na maadili. 503 00:25:12,120 --> 00:25:15,930 Na unaweza bayana hii katika Nodi nini kutuma nyuma. 504 00:25:15,930 --> 00:25:19,380 >> Hivyo hii ni kweli ni aina ya, katika baadhi ya njia, na katika baadhi ya njia siyo 505 00:25:19,380 --> 00:25:23,170 kweli, lakini ni ngazi ya chini kidogo kuliko PHP kificho kwamba unaweza kuwa na 506 00:25:23,170 --> 00:25:26,980 kuandika kwa P kuweka saba kwa sababu PHP na Apache aina ya kutunza baadhi 507 00:25:26,980 --> 00:25:28,150 mambo haya kwa ajili yenu. 508 00:25:28,150 --> 00:25:32,520 Katika PHP, unaweza kupuuza default tabia na kuandika headers yako mwenyewe. 509 00:25:32,520 --> 00:25:35,520 Lakini kwa ajili ya hii, sisi kupata kuandika nje headers yetu wenyewe. 510 00:25:35,520 --> 00:25:38,210 511 00:25:38,210 --> 00:25:41,105 >> Hivyo gani kwamba line mantiki kila mtu, line kuandika kichwa? 512 00:25:41,105 --> 00:25:41,380 OK. 513 00:25:41,380 --> 00:25:42,280 Kutisha. 514 00:25:42,280 --> 00:25:45,870 >> Hivyo basi nini mimi ni mimi mwisho majibu na kusema hello dunia. 515 00:25:45,870 --> 00:25:47,040 OK. 516 00:25:47,040 --> 00:25:49,920 Lakini hiyo ni kazi aitwaye ombi handler. 517 00:25:49,920 --> 00:25:53,510 Basi sasa mimi kwa kweli kuwa na aina ya kufanya kitu na kazi hii, sawa? 518 00:25:53,510 --> 00:25:59,170 >> Hivyo hapa nini mimi ni kuna hii line ambayo haina var server usawa 519 00:25:59,170 --> 00:26:03,530 HTTP.create server, na kisha mimi kupita katika ombi handler. 520 00:26:03,530 --> 00:26:06,080 Hivyo hii ni aina ya Node njia ya kujenga server. 521 00:26:06,080 --> 00:26:08,790 Na taarifa kwamba mimi nina kupita katika ombi handler. 522 00:26:08,790 --> 00:26:12,290 Hivyo hii ni kuwaambia createServer kazi kwamba mimi nataka kufanya mimi 523 00:26:12,290 --> 00:26:16,270 server, na wakati kwamba server inapata majibu, mimi haja ya wewe wito huu 524 00:26:16,270 --> 00:26:18,680 kuomba handler kazi. 525 00:26:18,680 --> 00:26:18,990 OK? 526 00:26:18,990 --> 00:26:22,290 >> Ili line pretty much alimaliza haki mbali. 527 00:26:22,290 --> 00:26:28,780 Hivyo var server line unafanyika baada ya kufanya hivyo pretty much. 528 00:26:28,780 --> 00:26:31,770 I mean, ina kuanzisha baadhi ya ndani hali ya kujua kwamba wewe ingekuwa 529 00:26:31,770 --> 00:26:35,400 wito kwamba ombi handler kazi, lakini si kwenda kukaa huko na 530 00:26:35,400 --> 00:26:37,730 kusema ina user alimtuma mimi ombi bado? 531 00:26:37,730 --> 00:26:39,270 Ina user aliyenituma ombi bado? 532 00:26:39,270 --> 00:26:40,780 Hivyo hana kuzuia. 533 00:26:40,780 --> 00:26:41,650 OK? 534 00:26:41,650 --> 00:26:46,120 >> Basi nini hii kufanya ni kimsingi sasa maduka pointer na kanuni hii, 535 00:26:46,120 --> 00:26:49,670 hii ombi handler kazi, na kisha inakwenda kwamba kanuni wakati mtu 536 00:26:49,670 --> 00:26:52,170 hufanya ombi. 537 00:26:52,170 --> 00:26:54,120 Na kisha sisi kufanya server.listen. 538 00:26:54,120 --> 00:26:56,950 539 00:26:56,950 --> 00:26:59,960 >> 1337 kuna pretty holela. 540 00:26:59,960 --> 00:27:02,285 Sikuwa na sababu hasa kwa kuokota idadi hiyo. 541 00:27:02,285 --> 00:27:03,860 Ni kabisa random. 542 00:27:03,860 --> 00:27:07,010 Lakini kwamba tu bayana bandari. 543 00:27:07,010 --> 00:27:10,640 Hivyo watumishi wengi mtandao utaona kwamba wao kutumia bandari 80 kwa sababu hiyo ni aina 544 00:27:10,640 --> 00:27:11,810 ya kama mkataba. 545 00:27:11,810 --> 00:27:16,170 Basi, ikiwa mimi kwenda kitu kama, Mimi sijui, Wikipedia.org, 546 00:27:16,170 --> 00:27:17,700 na mimi kuweka koloni 8 - 547 00:27:17,700 --> 00:27:18,610 oh wow, huwezi kuona kwamba. 548 00:27:18,610 --> 00:27:19,370 Mimi nina sorry. 549 00:27:19,370 --> 00:27:21,820 Lakini ikiwa ninazifanya Wikipedia - 550 00:27:21,820 --> 00:27:24,810 Mimi itabidi kuandika hapa tu ili ni wazi juu ya kamera. 551 00:27:24,810 --> 00:27:29,150 Lakini kama mimi kuchukua hii katika browser ni pamoja na koloni 80, kwamba unasema kwenda 552 00:27:29,150 --> 00:27:31,430 Wikipedia.org katika bandari ya 80. 553 00:27:31,430 --> 00:27:36,200 Hivyo ni kama jinsi Umoja wa Mataifa ina bandari nyingi kama ambapo unaweza meli 554 00:27:36,200 --> 00:27:37,440 mambo ya aina ya. 555 00:27:37,440 --> 00:27:40,730 Hivyo ni kama kwenda fulani mahali kwenye seva hii. 556 00:27:40,730 --> 00:27:40,990 OK. 557 00:27:40,990 --> 00:27:45,730 >> Hivyo mimi tu waliamua 1337. 558 00:27:45,730 --> 00:27:47,910 Kuna mbalimbali mzima wa idadi kwamba unaweza kuchukua. 559 00:27:47,910 --> 00:27:50,390 Hiyo ilikuwa si kabisa maalum. 560 00:27:50,390 --> 00:27:54,560 >> Lakini nini mimi kwenda kufanya sasa ni mimi nina kwenda kukimbia Node. 561 00:27:54,560 --> 00:27:59,730 Hebu kweli kuingia kwamba wanandoa mistari chini ili uweze kuona. 562 00:27:59,730 --> 00:28:03,130 Mimi nina kwenda kufanya Node, na mimi nina kwenda kukimbia simpler.js. 563 00:28:03,130 --> 00:28:06,880 Na tutaweza majadiliano juu ya jinsi ya kupata Node kuanzisha katika kidogo. 564 00:28:06,880 --> 00:28:09,350 Lakini sasa ni kukimbia tu server. 565 00:28:09,350 --> 00:28:14,360 >> Kwa hiyo, jambo moja tunaweza kujaribu ambayo inaweza si kuwa ya kusisimua ni tunaweza kweli 566 00:28:14,360 --> 00:28:16,300 kujaribu kupata hiyo katika Curl. 567 00:28:16,300 --> 00:28:20,680 Hivyo siwezi kufanya Curl, na yangu mashine ni jeshi la ndani. 568 00:28:20,680 --> 00:28:24,600 Utapata pia kuona hii imeandikwa kama hii wakati mwingine. 569 00:28:24,600 --> 00:28:29,810 Mitaa jeshi na 127.0.0.1 ni aina ya kama kompyuta yako ya nyumbani. 570 00:28:29,810 --> 00:28:33,180 Hivyo ni kama kuzungumza na kompyuta yako mwenyewe. 571 00:28:33,180 --> 00:28:33,760 OK. 572 00:28:33,760 --> 00:28:36,030 >> Na kisha naweza kusema 1337. 573 00:28:36,030 --> 00:28:39,630 Basi, ikiwa mimi kukimbia line hii ya kificho, ni anasema hello dunia. 574 00:28:39,630 --> 00:28:44,050 Na kama nilitaka kuona kwamba mambo ambayo alikuwa aina ya maudhui Nakala wazi au 575 00:28:44,050 --> 00:28:46,560 chochote, mimi naweza hata kuweka hii hapa. 576 00:28:46,560 --> 00:28:48,810 Na taarifa kwamba haina kusema OK. 577 00:28:48,810 --> 00:28:50,810 Na mimi kuwa Nakala wazi. 578 00:28:50,810 --> 00:28:53,140 Na kisha kuna aina ya yote haya mengine mambo ambayo Node kuongeza katika 579 00:28:53,140 --> 00:28:54,440 pale kwa ajili yangu. 580 00:28:54,440 --> 00:28:55,700 Hiyo si super muhimu. 581 00:28:55,700 --> 00:28:58,230 >> I mean, kuna baadhi ya aina ya kiufundi masuala ya wakati huo ni aina 582 00:28:58,230 --> 00:29:02,280 ya baridi kwa majadiliano juu, lakini tu kuonyesha wewe, mimi pia kuwa na uwezo wa 583 00:29:02,280 --> 00:29:03,070 kubadili hizi kote. 584 00:29:03,070 --> 00:29:06,280 Hivyo siwezi tu kuongeza rundo ya mambo kama hayo. 585 00:29:06,280 --> 00:29:11,780 Na kisha sasa, kama mimi kuangalia katika wangu pato, itakuwa hiyo. 586 00:29:11,780 --> 00:29:19,740 Hivyo headers haya yana maana mambo fulani kwa browsers na mambo kama hayo. 587 00:29:19,740 --> 00:29:23,040 >> Na headers unaweza kimsingi kuwaambia kisakuzi jinsi ya kukabiliana na kitu. 588 00:29:23,040 --> 00:29:26,280 Kama umefanya milele habari za kuki kabla, au kama umefanya aliyewahi kuwa annoyed 589 00:29:26,280 --> 00:29:29,330 na ukurasa wa mtandao kuweka cookies, au akageuka juu ya kuzuia cookie au 590 00:29:29,330 --> 00:29:30,320 kitu kama hicho. 591 00:29:30,320 --> 00:29:33,040 Unaweza kweli kuweka cookies katika headers haya. 592 00:29:33,040 --> 00:29:36,990 Basi kuwaambia kisakuzi jinsi ya tabia katika baadhi ya kesi. 593 00:29:36,990 --> 00:29:37,750 OK. 594 00:29:37,750 --> 00:29:40,310 >> Ili kwamba ilikuwa simpler.js. 595 00:29:40,310 --> 00:29:42,780 Je, mtu yeyote una maswali yoyote juu ya kwamba chanzo code faili? 596 00:29:42,780 --> 00:29:45,420 597 00:29:45,420 --> 00:29:45,610 OK. 598 00:29:45,610 --> 00:29:46,490 Baridi. 599 00:29:46,490 --> 00:29:50,780 >> Basi hebu kuondoa r na kwamba na kuangalia simple.js. 600 00:29:50,780 --> 00:29:53,010 Hivyo hii ni pretty much mpango huo. 601 00:29:53,010 --> 00:29:56,030 I just aliandika tofauti kidogo kwa sababu nilitaka aina ya kuonyesha 602 00:29:56,030 --> 00:29:57,850 baadhi ya sifa za JavaScript. 603 00:29:57,850 --> 00:30:03,880 >> Hivyo taarifa kuwa ombi handler kazi umetoweka kabisa. 604 00:30:03,880 --> 00:30:05,800 Oh yep, je, una swali? 605 00:30:05,800 --> 00:30:08,200 >> Watazamaji: Yeah, hoja kwamba ni kupita kwa kuwa 606 00:30:08,200 --> 00:30:10,120 kazi, ni mambo gani hayo? 607 00:30:10,120 --> 00:30:12,050 >> KEVIN SCHMID: Basi hizo JavaScript vitu. 608 00:30:12,050 --> 00:30:15,230 Katika nyaraka Node.js, ni kimsingi anasema mbinu gani ni 609 00:30:15,230 --> 00:30:15,910 inapatikana juu yao. 610 00:30:15,910 --> 00:30:19,602 Sisi tu kutokea kwa kuwa upatikanaji wa njia hii inaitwa kuandika kichwa na mwisho 611 00:30:19,602 --> 00:30:20,730 na mambo kama hayo. 612 00:30:20,730 --> 00:30:22,590 Lakini kuna rundo zima mbinu zaidi. 613 00:30:22,590 --> 00:30:27,670 >> Na kwa mfano, kama mmoja wao hasa juu ya rec, unaweza kufanya 614 00:30:27,670 --> 00:30:34,540 kitu kama rec.method ambayo itakuwa kuwaambia kama ni HTTP kupata au 615 00:30:34,540 --> 00:30:36,780 Maombi HTTP baada na mambo kama hayo. 616 00:30:36,780 --> 00:30:39,100 Hivyo kuna kila aina ya mbalimbali mali, lakini wao ni wote 617 00:30:39,100 --> 00:30:42,560 JavaScript vitu, na wao tu kazi masharti yao kwamba 618 00:30:42,560 --> 00:30:43,850 unaweza kuandika mambo ya. 619 00:30:43,850 --> 00:30:45,520 OK? 620 00:30:45,520 --> 00:30:49,030 >> Hivyo taarifa kuwa ombi handler ni gone kabisa. 621 00:30:49,030 --> 00:30:52,650 Lakini kificho kwamba nilikuwa katika ombi handler bado yupo huko. 622 00:30:52,650 --> 00:30:56,520 Mimi bado na res.writeHead hii na mimi bado res.end hii. 623 00:30:56,520 --> 00:31:00,270 Na nini hii ni mfano wa katika JavaScript ni wazo hili la 624 00:31:00,270 --> 00:31:01,460 bila majina kazi. 625 00:31:01,460 --> 00:31:04,180 na bila ni kama jina kufaa kwa sababu ni halisi haina 626 00:31:04,180 --> 00:31:05,180 na jina. 627 00:31:05,180 --> 00:31:07,900 Hakuna ombi kazi handler huko. 628 00:31:07,900 --> 00:31:10,110 >> Hana jina, lakini bado ni kuchukua hoja. 629 00:31:10,110 --> 00:31:12,250 Hivyo mimi bado got rec na res. 630 00:31:12,250 --> 00:31:16,180 Na mimi bado code. 631 00:31:16,180 --> 00:31:18,930 Hii ni kikamilifu faini JavaScript code. 632 00:31:18,930 --> 00:31:22,540 Hivyo siwezi kutangaza kazi bila wazi kutoa jina. 633 00:31:22,540 --> 00:31:24,250 Ni utata kidogo mara ya kwanza. 634 00:31:24,250 --> 00:31:26,230 Kuna baadhi ya mambo kama muhimu kwamba unaweza kufanya na 635 00:31:26,230 --> 00:31:28,450 kazi hizi bila majina. 636 00:31:28,450 --> 00:31:32,100 Je, mtu yeyote una maswali yoyote juu ya hili, au ni OK tu, kwa sasa, 637 00:31:32,100 --> 00:31:34,130 aina ya kukubali tu kwamba kufanya kitu kimoja? 638 00:31:34,130 --> 00:31:36,700 639 00:31:36,700 --> 00:31:37,125 Yep? 640 00:31:37,125 --> 00:31:38,680 >> Watazamaji: Je, kazi ya kwanza darasa katika JavaScript? 641 00:31:38,680 --> 00:31:41,020 >> KEVIN SCHMID: Wao ni kwanza darasa katika JavaScript. 642 00:31:41,020 --> 00:31:45,490 Na tu kujua kwamba dhana hizi ya kupita katika kazi bila majina kama 643 00:31:45,490 --> 00:31:49,600 hii yanahusu JavaScript kwamba wanaweza kuandika katika mradi wako wa mwisho kwa 644 00:31:49,600 --> 00:31:51,260 kivinjari pia. 645 00:31:51,260 --> 00:31:56,700 Hivyo kwa mfano, katika JavaScript katika browser yako, pia ni kiasi fulani tukio 646 00:31:56,700 --> 00:32:00,680 inaendeshwa kwa maana kwamba yale itabidi na ni wakati mtumiaji Clicks hii 647 00:32:00,680 --> 00:32:02,640 kifungo, nataka wewe kukimbia kanuni hii. 648 00:32:02,640 --> 00:32:07,070 >> Hivyo ni aina moja ya mawazo ya upande wa mteja wakati click mouse au 649 00:32:07,070 --> 00:32:09,870 panya juu ya baadhi ya picha juu yako mtandao ukurasa, kukimbia kanuni hii. 650 00:32:09,870 --> 00:32:11,350 Zinazoweza kuomba kwa watumishi. 651 00:32:11,350 --> 00:32:16,380 Basi hiyo ni aina ya kusisimua kama sababu JavaScript ni kweli 652 00:32:16,380 --> 00:32:19,810 watu kufaa au baadhi nadhani ni lugha zinazofaa kwa aina hii ya 653 00:32:19,810 --> 00:32:22,530 dereva tukio server kwa sababu una kazi hizi bila majina. 654 00:32:22,530 --> 00:32:26,150 Una wazo zima la hii code asynchronous. 655 00:32:26,150 --> 00:32:27,060 OK. 656 00:32:27,060 --> 00:32:30,360 Mtu yeyote una maswali yoyote? 657 00:32:30,360 --> 00:32:30,470 >> OK. 658 00:32:30,470 --> 00:32:33,440 Ili kwamba ilikuwa simple.js. 659 00:32:33,440 --> 00:32:38,070 Hivyo hebu angalia saa moja zaidi au wanandoa zaidi. 660 00:32:38,070 --> 00:32:42,040 Hivyo hii ni sleep.js. 661 00:32:42,040 --> 00:32:47,160 Hivyo ni mtu yeyote ukoo na C kazi usingizi? 662 00:32:47,160 --> 00:32:50,936 Kutoka labda moja ya mihadhara mapema au kitu kama hicho? 663 00:32:50,936 --> 00:32:54,650 >> Hivyo kimsingi unaweza kupita katika Nadhani idadi ya sekunde au kama unatumia U 664 00:32:54,650 --> 00:32:57,080 kulala idadi ya milliseconds au nanoseconds. 665 00:32:57,080 --> 00:33:00,450 Na kimsingi mpango wa kuacha tu mbio kwa kuwa kiasi cha wakati. 666 00:33:00,450 --> 00:33:01,280 Haki? 667 00:33:01,280 --> 00:33:06,970 Na kisha itakuwa kuamka hatimaye na basi itabidi kuendelea kuendesha 668 00:33:06,970 --> 00:33:08,340 mpango. 669 00:33:08,340 --> 00:33:12,740 >> Hivyo server aina hii ya anatoa hisia ya kulala. 670 00:33:12,740 --> 00:33:17,580 Hivyo taarifa kwamba sisi kuwa sawa res.writeHead 200 kwa kichwa kama 671 00:33:17,580 --> 00:33:22,130 kabla, lakini basi sisi ni wito huu kazi kuitwa kuweka timeout. 672 00:33:22,130 --> 00:33:26,170 Kuweka timeout pia ni inapatikana katika kivinjari chako Google Chrome 673 00:33:26,170 --> 00:33:28,000 au Safari au chochote. 674 00:33:28,000 --> 00:33:31,720 Na kimsingi nini ni kufanya hapa ni ni kuchukua katika kazi. 675 00:33:31,720 --> 00:33:33,360 Ilani, tena, ni bila majina kazi. 676 00:33:33,360 --> 00:33:36,310 Basi hiyo ni aina ya baridi kwa sababu tuko kutumia kazi bila majina ndani ya 677 00:33:36,310 --> 00:33:38,950 kazi bila majina ambayo inaweza kuwa ni kidogo weird. 678 00:33:38,950 --> 00:33:42,270 >> Lakini ni kuchukua kazi hiyo, ambayo ni kimsingi akisema - na kwa njia hii 679 00:33:42,270 --> 00:33:47,430 kazi ni katika milliseconds 5000, nataka wewe kutekeleza kazi hiyo ambayo 680 00:33:47,430 --> 00:33:50,830 tu kuishia kukabiliana na anaandika hey. 681 00:33:50,830 --> 00:33:56,730 Hivyo hii inatoa hisia ya kama kulala, lakini njia hii kwa kweli 682 00:33:56,730 --> 00:33:59,780 kazi ni tutaweza kukimbia kwa njia ya mstari huu haraka sana. 683 00:33:59,780 --> 00:34:01,190 Sisi ni kuandika tu kitu. 684 00:34:01,190 --> 00:34:03,780 Na kisha tutaweza pia kukimbia kwa njia ya mstari huu haraka sana. 685 00:34:03,780 --> 00:34:08,620 Hivyo sisi ni si kweli kwenda kusubiri sekunde tano. 686 00:34:08,620 --> 00:34:11,370 Sisi ni kwenda tu kukimbia kanuni hii papo hapo. 687 00:34:11,370 --> 00:34:14,219 >> Na kisha kuna, tena, hii kidogo tukio kitanzi kwamba sasa ina jambo hili 688 00:34:14,219 --> 00:34:17,570 madaftari kwamba kimsingi ni mara kwa mara kwenda kuzunguka katika mzunguko 689 00:34:17,570 --> 00:34:21,620 na kuangalia saa katika moja thread na kusema, ina sekunde tano 690 00:34:21,620 --> 00:34:22,360 kupita bado? 691 00:34:22,360 --> 00:34:26,409 Na kisha wakati anaona kwamba pili mkono ameenda kama sekunde tano au 692 00:34:26,409 --> 00:34:29,190 chochote, basi ni anaamka na anasema, oh, je, mimi na kwa nini? 693 00:34:29,190 --> 00:34:30,350 Oh mimi kuwa na kukimbia kanuni hii. 694 00:34:30,350 --> 00:34:33,110 Na kisha kwenda kukimbia res.end hey. 695 00:34:33,110 --> 00:34:35,360 >> Hivyo tena, sisi ni kamwe kusubiri hapa. 696 00:34:35,360 --> 00:34:38,590 Hivyo si kwamba kanuni hii ndani ya kazi hii ni kwenda kuchukua tano 697 00:34:38,590 --> 00:34:39,900 sekunde kukimbia. 698 00:34:39,900 --> 00:34:43,090 Kanuni hii inakwenda pretty much mara moja, angalau jamaa na 699 00:34:43,090 --> 00:34:46,139 sekunde tano kwamba sisi walikuwa wanazungumza hapo awali kabla ya. 700 00:34:46,139 --> 00:34:52,100 >> Hivyo tu kuonyesha hii katika hatua, Mimi siwezi kufanya Node.sleep.js. 701 00:34:52,100 --> 00:34:55,159 Na alifanya mimi rabishia? 702 00:34:55,159 --> 00:34:56,310 Ikiwezekana. 703 00:34:56,310 --> 00:34:57,410 Sorry. 704 00:34:57,410 --> 00:34:59,530 Hebu kuona nini tunaweza kufanya kwa kurekebisha hii. 705 00:34:59,530 --> 00:35:10,830 706 00:35:10,830 --> 00:35:12,080 OK. 707 00:35:12,080 --> 00:35:15,460 708 00:35:15,460 --> 00:35:17,464 Hivyo dhahiri kutumia Node.js. 709 00:35:17,464 --> 00:35:19,440 Mimi tu kidding. 710 00:35:19,440 --> 00:35:19,570 OK. 711 00:35:19,570 --> 00:35:20,820 Sec moja tu. 712 00:35:20,820 --> 00:35:27,380 713 00:35:27,380 --> 00:35:27,900 OK. 714 00:35:27,900 --> 00:35:29,130 Mimi najua ni nini. 715 00:35:29,130 --> 00:35:34,440 >> Hivyo suala ni kwamba katika tab yangu nyingine hapa, mimi nilikuwa mbio Node tayari juu ya 716 00:35:34,440 --> 00:35:36,590 anwani hiyo, 1337. 717 00:35:36,590 --> 00:35:43,370 Hivyo makosa kwamba hii kurusha, kama sisi kuangalia katika ni kweli kwa karibu, ni anwani katika 718 00:35:43,370 --> 00:35:45,180 kutumia, EADDRINUSE. 719 00:35:45,180 --> 00:35:47,970 Hivyo nilikuwa tayari kutumia 1337 hapa. 720 00:35:47,970 --> 00:35:52,210 Basi, ikiwa mimi kufunga off hii, na kisha mimi sasa kujaribu kukimbia hii, hopefully, kila kitu 721 00:35:52,210 --> 00:35:53,210 itakuwa vizuri. 722 00:35:53,210 --> 00:35:53,440 OK. 723 00:35:53,440 --> 00:35:57,020 Hivyo unaweza tu na jambo moja aina ya kusikiliza kwenye bandari mara moja. 724 00:35:57,020 --> 00:35:59,660 Ufumbuzi mwingine ingekuwa kwa ajili yangu tu hariri mpango huo na kufanya 725 00:35:59,660 --> 00:36:02,370 ni kuwa kama 1338 au kitu kama hiyo. 726 00:36:02,370 --> 00:36:04,100 >> Lakini sasa usingizi ni mbio. 727 00:36:04,100 --> 00:36:06,400 Basi hebu kweli kujaribu nje katika kisakuzi wakati huu kwa sababu ni 728 00:36:06,400 --> 00:36:09,080 unexciting kidogo kuona katika terminal. 729 00:36:09,080 --> 00:36:13,560 Hivyo mimi nina tu kwenda kwa kuwa 127 anwani tena katika 1337. 730 00:36:13,560 --> 00:36:14,850 Na kama unaweza kuona ni - 731 00:36:14,850 --> 00:36:18,050 Mimi sijui kama unaweza - lakini yangu browser kuchukua sana, kwa muda mrefu sana 732 00:36:18,050 --> 00:36:20,600 wakati na shehena au kama sekunde tano. 733 00:36:20,600 --> 00:36:23,460 >> Na kisha baada ya kuwa, hatimaye kumalizika majibu. 734 00:36:23,460 --> 00:36:29,070 Na huwezi kuona ni kwa sababu jambo ni wakiongozwa juu ya kidogo, lakini kama mimi kufanya 735 00:36:29,070 --> 00:36:32,500 hii ndogo kidogo, unaweza kuona inasema hey. 736 00:36:32,500 --> 00:36:35,130 Basi, mimi got hey, lakini baada ya sekunde tano. 737 00:36:35,130 --> 00:36:38,510 Na inaweza kuwa safi kidogo kuona hapa juu ya terminal, hivyo mimi nina 738 00:36:38,510 --> 00:36:40,980 kwenda kufanya - 739 00:36:40,980 --> 00:36:43,540 hebu kufanya katika hapa - 740 00:36:43,540 --> 00:36:48,370 hebu kufanya Curl anwani kwamba tena kwa 1337. 741 00:36:48,370 --> 00:36:50,820 Na mimi tu aina ya kuwa na kukaa hapa kwa sekunde tano. 742 00:36:50,820 --> 00:36:53,760 Lakini taarifa kwamba server wanaweza kukubali majibu mpya. 743 00:36:53,760 --> 00:36:54,940 Hivyo Prints hey. 744 00:36:54,940 --> 00:36:58,720 >> Na demo hii, kimsingi nini Mimi siwezi kufanya katika tab hii nyingine - 745 00:36:58,720 --> 00:37:02,640 hivyo hebu sema mimi kufanya hivyo katika tabo nyingine, Mimi nina kwenda kufanya Curl na sawa 746 00:37:02,640 --> 00:37:03,780 kitu tena. 747 00:37:03,780 --> 00:37:06,600 Na mimi nina kwenda kujaribu kick haya guys mbali kwa wakati mmoja. 748 00:37:06,600 --> 00:37:08,260 Hivyo nina kwenda kwa kufanya hivyo, na mimi nina kwenda mbio juu ya hapa na mimi nina 749 00:37:08,260 --> 00:37:09,650 kwenda kufanya hivyo tena. 750 00:37:09,650 --> 00:37:14,030 >> Na hebu kufanya hivyo ili unaweza kuona wote wawili. 751 00:37:14,030 --> 00:37:20,250 Hiyo moja iliyochapishwa hey na kwamba moja kuchapishwa hey njia yote - 752 00:37:20,250 --> 00:37:22,550 hebu kufanya majaribio tena. 753 00:37:22,550 --> 00:37:25,100 Kwa kweli, hebu kutumia hii hila, kama kwamba ni sawa. 754 00:37:25,100 --> 00:37:30,520 >> Hivyo nina kwenda kwa kutumia kitu shell kwamba inaruhusu mimi kimsingi kukimbia nakala mbili 755 00:37:30,520 --> 00:37:32,630 ya mpango huu katika sambamba. 756 00:37:32,630 --> 00:37:36,070 Hivyo utakuwa kuendesha programu kwanza na programu ya pili katika sambamba. 757 00:37:36,070 --> 00:37:39,060 Hivyo sasa kama mimi vyombo vya habari kuingia, itakuja kufanya ombi hilo pretty much 758 00:37:39,060 --> 00:37:40,570 mara moja kwa wakati mmoja. 759 00:37:40,570 --> 00:37:42,620 Basi hebu kutoa hii risasi. 760 00:37:42,620 --> 00:37:44,950 >> Hivyo sasa taarifa inasema michakato miwili. 761 00:37:44,950 --> 00:37:50,630 Na kama wewe ni curious, kwamba 27,000 Idadi ya kimsingi ni mchakato ID. 762 00:37:50,630 --> 00:37:52,940 Na kisha taarifa, wao kuchapishwa hey kwa wakati mmoja. 763 00:37:52,940 --> 00:37:56,820 Haikuwa kama tulikuwa na kusubiri tano sekunde kwa moja na kisha baada ya 764 00:37:56,820 --> 00:37:59,640 sekunde tano baadaye kupata pili. 765 00:37:59,640 --> 00:38:03,300 Basi hiyo ni aina ya, katika baadhi ya njia, ni si kweli ushahidi, lakini ni 766 00:38:03,300 --> 00:38:07,390 ushahidi Intuitive kwamba siyo tu kama kusubiri sekunde tano na kuzuia 767 00:38:07,390 --> 00:38:08,960 thread nzima. 768 00:38:08,960 --> 00:38:10,720 OK baridi. 769 00:38:10,720 --> 00:38:17,850 >> Basi Haruni aliuliza swali awali kwamba mara, pamoja na nini kama hatuna kufanya kitu - 770 00:38:17,850 --> 00:38:18,735 Yep? 771 00:38:18,735 --> 00:38:19,051 >> Watazamaji: Ngoja. 772 00:38:19,051 --> 00:38:21,585 Jinsi ni kwamba tofauti na printf buffer, ingawa? 773 00:38:21,585 --> 00:38:23,010 Je, si ni moja kwa moja kufanya hivyo? 774 00:38:23,010 --> 00:38:25,390 Kwa nini sisi kuwa na wasiwasi kuhusu hilo? 775 00:38:25,390 --> 00:38:26,555 >> KEVIN SCHMID: Oh, unaweza kusema kwamba wakati mmoja zaidi? 776 00:38:26,555 --> 00:38:29,510 >> Watazamaji: Je, si kama printf buffer kufanya halisi kitu kimoja? 777 00:38:29,510 --> 00:38:31,280 >> KEVIN SCHMID: printf buffer? 778 00:38:31,280 --> 00:38:32,753 >> Watazamaji: Yeah. 779 00:38:32,753 --> 00:38:33,244 OK. 780 00:38:33,244 --> 00:38:40,609 Hakuwa katika moja ya Quizzes walikuwa kuzungumza kuhusu jinsi kama haki printf 781 00:38:40,609 --> 00:38:42,899 kitu fulani na kisha kuwa ni pause moja pili, na kisha kuwa ni kitanzi kumi 782 00:38:42,899 --> 00:38:46,530 mara kwa mara, kutakuwa na kusubiri sekunde kumi na kisha printf kila kitu pamoja? 783 00:38:46,530 --> 00:38:47,460 >> KEVIN SCHMID: Oh, OK. 784 00:38:47,460 --> 00:38:49,170 >> Watazamaji: Je, ni kufanya hivyo kitu kisha katika kesi hii? 785 00:38:49,170 --> 00:38:52,630 >> KEVIN SCHMID: Kwa hiyo swali mara kimsingi katika moja ya Quizzes wa zamani 786 00:38:52,630 --> 00:38:57,200 au kitu, kulikuwa na swali kwamba kimsingi kama wewe kusema magazeti f 10 787 00:38:57,200 --> 00:39:01,490 mambo kwa wakati na kisha akalala kama katika mchakato wa uchapishaji walio nje, 788 00:39:01,490 --> 00:39:04,850 mwishoni kwa sababu fulani, ingekuwa dampo tu wale wote nje ya screen. 789 00:39:04,850 --> 00:39:06,740 Hivyo kuna aina mbili tofauti dhana hapa. 790 00:39:06,740 --> 00:39:10,400 >> Kwa hiyo mimi nadhani jambo moja ni kwamba, katika hili kesi, sisi ni kushughulika na mbili tofauti 791 00:39:10,400 --> 00:39:13,510 aina ya watu kuuliza server kwa ajili ya mambo wakati huo huo. 792 00:39:13,510 --> 00:39:17,455 Na sababu kwamba printf aina ya kusubiri kama kuwa na madampo yote nje 793 00:39:17,455 --> 00:39:21,760 mara moja ni zaidi kuhusiana na jinsi printf aina ya - 794 00:39:21,760 --> 00:39:25,100 hivyo njia printf ni kweli kutekelezwa ni kimsingi ina 795 00:39:25,100 --> 00:39:28,850 kuzungumza na mfumo wa uendeshaji wa kuandika kwamba mambo ya console. 796 00:39:28,850 --> 00:39:33,460 Hivyo hataki kufanya yote ya kwamba mambo mara moja wakati kusema printf 797 00:39:33,460 --> 00:39:36,260 baadhi kamba kwa sababu ambayo inaweza kupata gharama kubwa kama ana 798 00:39:36,260 --> 00:39:37,340 kufanya hivyo kila wakati. 799 00:39:37,340 --> 00:39:41,530 >> Hivyo kama wewe kufanya printf hey, mpango wako wanaweza kweli magazeti kwamba 800 00:39:41,530 --> 00:39:43,040 mara moja kwa console. 801 00:39:43,040 --> 00:39:46,080 Ni anaweza kusema, OK, niliandika yake. 802 00:39:46,080 --> 00:39:49,570 Na kisha aina ya kusubiri kwa ajili yenu kwa kutoa ni kidogo zaidi kabla ya kweli 803 00:39:49,570 --> 00:39:51,380 kuandika nje kwa console. 804 00:39:51,380 --> 00:39:54,040 >> Hivyo sababu kwamba ilikuwa ni kesi - 805 00:39:54,040 --> 00:39:56,450 na ni aina ya unrelated kulala - 806 00:39:56,450 --> 00:40:00,060 ni kwamba usingizi ilikuwa ni aina ya tu sindano huko kuonyesha 807 00:40:00,060 --> 00:40:02,480 ukweli kwamba haina kuandika ni synchronously. 808 00:40:02,480 --> 00:40:06,210 Lakini sababu ya kwamba ni haki utendaji ili huna kwa 809 00:40:06,210 --> 00:40:08,920 kufanya mawasiliano kwamba wengi kwa mfumo wa uendeshaji. 810 00:40:08,920 --> 00:40:12,300 >> Lakini hapa, nini sisi ni kweli kujaribu kufanya na jambo hili usingizi ni show tu 811 00:40:12,300 --> 00:40:17,730 kwamba wakati tuna watu wawili kutembelea tovuti hii, si kwenda kuweka 812 00:40:17,730 --> 00:40:22,310 yao katika line ambapo ni kwenda kusema Mimi na kukusaidia, na kisha wakati mimi nina 813 00:40:22,310 --> 00:40:25,350 kabisa kumaliza kusaidia baada ya haya sekunde tano, basi mimi nina kwenda 814 00:40:25,350 --> 00:40:26,750 kuhamia kwenye mtu mwingine. 815 00:40:26,750 --> 00:40:29,515 Hivyo ombi mtu wa kwanza haina tie up kuwa kitanzi tukio 816 00:40:29,515 --> 00:40:31,610 kama kwamba hufanya akili. 817 00:40:31,610 --> 00:40:34,980 >> Lakini hapa ni kweli mfano ya kitu ambacho kufunga 818 00:40:34,980 --> 00:40:36,090 up kitanzi tukio hilo. 819 00:40:36,090 --> 00:40:39,130 Hivyo hapa ni kazi ya kutisha compute nth Fibonacci. 820 00:40:39,130 --> 00:40:43,510 Ni literally njia mbaya unaweza compute nth Fibonacci idadi. 821 00:40:43,510 --> 00:40:48,480 Na hii ni kweli tu kwa kutambua hii imetoka wapi, 822 00:40:48,480 --> 00:40:49,330 kuna kweli - 823 00:40:49,330 --> 00:40:53,230 I mean, unaweza kujaribu kwenda kutafuta yake - lakini kuna kama blog muda mrefu sana 824 00:40:53,230 --> 00:40:54,130 baada ya kuwa mtu aliandika. 825 00:40:54,130 --> 00:40:55,660 Ni kama moja ya mambo hayo Reddit. 826 00:40:55,660 --> 00:40:59,650 Lakini mtu kukosoa Node.js, na walitumia mfano huu. 827 00:40:59,650 --> 00:41:03,700 Basi, mimi aina ya alitaka kuonyesha wawili tu mitazamo tofauti tu kupata 828 00:41:03,700 --> 00:41:07,320 uelewa wa dhana nyuma ya mambo haya mawili. 829 00:41:07,320 --> 00:41:13,050 >> Lakini hii ni mteule kama tu kutisha, computationally horribly ufanisi 830 00:41:13,050 --> 00:41:15,940 njia kubwa ya compute nth Fibonacci idadi. 831 00:41:15,940 --> 00:41:21,180 Hivyo tu kama upande note, kwa nini ni ni ya kutisha kama katika njia moja? 832 00:41:21,180 --> 00:41:23,210 Yep? 833 00:41:23,210 --> 00:41:25,130 >> Watazamaji: Sema kuanza nje na 1,000. 834 00:41:25,130 --> 00:41:27,050 1,000 kugawanyika katika 999 na 998. 835 00:41:27,050 --> 00:41:28,970 Kila moja ya hii kugawanyika katika mambo mawili. 836 00:41:28,970 --> 00:41:30,890 Kila moja ya hii kugawanyika katika mambo mawili. 837 00:41:30,890 --> 00:41:31,355 >> KEVIN SCHMID: Haki. 838 00:41:31,355 --> 00:41:32,400 >> Watazamaji: njia zote chini. 839 00:41:32,400 --> 00:41:32,840 >> KEVIN SCHMID: Hasa. 840 00:41:32,840 --> 00:41:37,330 Hivyo tu kurudia kwa kamera, kama mimi kuwaita fib juu ya kama 1,000 au kitu 841 00:41:37,330 --> 00:41:41,810 kama hiyo, ni wazi si chini ya au sawa na moja hivyo mimi nina kwenda kwa 842 00:41:41,810 --> 00:41:46,040 kwenda kesi hii mwingine, na kisha mimi nina kwenda kuwaita fib 999 pamoja na fib 998. 843 00:41:46,040 --> 00:41:50,290 Na kisha sana pretty yote ya kazi fib 999 gani ni 844 00:41:50,290 --> 00:41:52,950 aina ya katika ngazi hii. 845 00:41:52,950 --> 00:41:55,620 Kama kwenda chini, ni hata zaidi redundant zaidi ya kwamba, lakini kama wewe tu 846 00:41:55,620 --> 00:42:01,390 kufikiri kompyuta fib 998 anapata sisi pretty karibu na fib 999. 847 00:42:01,390 --> 00:42:05,860 Hivyo tunatakiwa kuwa zaidi kidogo wajanja kuhusu jinsi sisi aina ya kutumia tena 848 00:42:05,860 --> 00:42:07,580 haya, lakini sisi siyo Reusing mambo hayo yote. 849 00:42:07,580 --> 00:42:11,860 Hivyo unaweza kufikiria haya makubwa, mkubwa mti tu kwamba kutisha. 850 00:42:11,860 --> 00:42:12,940 >> Lakini anyway, OK. 851 00:42:12,940 --> 00:42:14,040 Ili kwamba ilikuwa fib. 852 00:42:14,040 --> 00:42:15,530 Ni tu inachukua muda kukimbia. 853 00:42:15,530 --> 00:42:16,510 Yep? 854 00:42:16,510 --> 00:42:17,760 >> Watazamaji: [inaudible]. 855 00:42:17,760 --> 00:42:20,430 856 00:42:20,430 --> 00:42:22,481 >> KEVIN SCHMID: Oh, unaweza kurudia swali? 857 00:42:22,481 --> 00:42:23,731 >> Watazamaji: [inaudible]. 858 00:42:23,731 --> 00:42:30,840 859 00:42:30,840 --> 00:42:33,990 >> KEVIN SCHMID: Oh hivyo hii ni kanuni tu kwamba kinaendelea kuwa aina ya juu ya 860 00:42:33,990 --> 00:42:34,850 server upande. 861 00:42:34,850 --> 00:42:38,100 Hivyo hii si kwenda kupatikana katika browser au kitu chochote. 862 00:42:38,100 --> 00:42:42,160 Ni kimsingi nini sisi ni kwamba wakati user hapa hufanya pretty much 863 00:42:42,160 --> 00:42:45,300 maombi yao tena, wakati sisi aina ya kufanya ombi, sisi ni kwenda kuwaita 864 00:42:45,300 --> 00:42:47,040 kazi hii upande wa server. 865 00:42:47,040 --> 00:42:50,480 Na kisha tutaweza kupata matokeo nyuma kutoka wito kazi hiyo. 866 00:42:50,480 --> 00:42:52,460 Na kisha tutaweza tu magazeti ni kwa mtumiaji. 867 00:42:52,460 --> 00:42:54,580 Hivyo user si kweli kukabiliana kwa kazi hii sana. 868 00:42:54,580 --> 00:42:57,270 >> Ni kwamba swali? 869 00:42:57,270 --> 00:42:58,470 Je, hiyo mantiki? 870 00:42:58,470 --> 00:42:58,810 OK. 871 00:42:58,810 --> 00:43:00,930 Baridi. 872 00:43:00,930 --> 00:43:04,240 >> Hivyo tena, sisi kufanya res.writeHead hii yote kitu ambapo sisi magazeti nje 873 00:43:04,240 --> 00:43:05,150 header. 874 00:43:05,150 --> 00:43:09,730 Na kisha mimi mwisho majibu kwa kufanya Idadi ya uchawi ni fib 45. 875 00:43:09,730 --> 00:43:12,100 Basi hebu kukimbia tu seva hii. 876 00:43:12,100 --> 00:43:15,190 Hivyo nina kwenda kufanya fib.js. Node 877 00:43:15,190 --> 00:43:17,340 Hivyo sasa fib server yangu ni mbio. 878 00:43:17,340 --> 00:43:21,790 >> Na kisha hapa, mimi naenda kufanya moja ya haya. 879 00:43:21,790 --> 00:43:22,200 OK? 880 00:43:22,200 --> 00:43:24,960 Hivyo mimi nina kwenda tu kusema, Curl. 881 00:43:24,960 --> 00:43:32,226 Hivyo ni kwenda kuchukua muda kidogo lakini hopefully hivi karibuni itakuwa kumaliza na 882 00:43:32,226 --> 00:43:35,660 itakuwa magazeti kuwa 45 Retracement idadi. 883 00:43:35,660 --> 00:43:36,910 >> Watazamaji: [inaudible]. 884 00:43:36,910 --> 00:43:40,720 885 00:43:40,720 --> 00:43:42,050 >> KEVIN SCHMID: Ni lazima kupata kufanyika pretty hivi karibuni. 886 00:43:42,050 --> 00:43:43,780 Hivyo ni lazima kuchukua sekunde tano hadi sita. 887 00:43:43,780 --> 00:43:48,570 Sijui hiyo ni V8 kuwa super haraka, lakini katika hali yoyote, hii ni 888 00:43:48,570 --> 00:43:52,700 short sana mfano na kwa makusudi inelegant ya mashirika yasiyo ya yasiyo na maana 889 00:43:52,700 --> 00:43:54,200 hesabu. 890 00:43:54,200 --> 00:43:56,700 Hivyo baada ya muda, haina kupata hii. 891 00:43:56,700 --> 00:44:02,130 >> Lakini sasa, nini kama mimi kufanya watu wa aina hiyo majaribio kama kabla ya ambapo mimi kufanya 892 00:44:02,130 --> 00:44:04,010 maombi mbili kwa wakati mmoja? 893 00:44:04,010 --> 00:44:06,990 Hivyo hapa mimi nina kwenda Curl juu ya anwani hiyo, na mimi nina kwenda 894 00:44:06,990 --> 00:44:08,260 kufanya mwingine Curl. 895 00:44:08,260 --> 00:44:12,070 Na kumbukeni sisi alifanya hivyo kwa kulala server, wakati sisi kimsingi alikuwa ni 896 00:44:12,070 --> 00:44:15,320 baada ya sekunde tano, wao pretty sana wote akarudi haki 897 00:44:15,320 --> 00:44:16,380 kote wakati huo huo. 898 00:44:16,380 --> 00:44:18,650 Hivyo ilikuwa si hasa amefungwa up. 899 00:44:18,650 --> 00:44:20,290 >> Lakini hebu jaribu sasa. 900 00:44:20,290 --> 00:44:22,370 OK, hivyo tulipata taratibu zetu mbili. 901 00:44:22,370 --> 00:44:24,210 Kumbuka hizo ni vitambulisho mchakato. 902 00:44:24,210 --> 00:44:25,900 Hii ni kwenda kuwa ni kidogo Awkward wakati sisi duka. 903 00:44:25,900 --> 00:44:31,340 904 00:44:31,340 --> 00:44:35,360 Basi hebu tu kukaa hapa na kusubiri. 905 00:44:35,360 --> 00:44:37,090 >> Mmoja wao hivyo lazima kuja nyuma baada ya kama - 906 00:44:37,090 --> 00:44:39,190 OK, hivyo moja akaja nyuma. 907 00:44:39,190 --> 00:44:43,570 Lakini basi kwa nini si pili moja kurudi bado tu? 908 00:44:43,570 --> 00:44:44,389 Yep? 909 00:44:44,389 --> 00:44:49,280 >> Watazamaji: server hawezi kufanya kitu chochote wakati ni kompyuta kwamba idadi kubwa. 910 00:44:49,280 --> 00:44:51,620 >> KEVIN SCHMID: Haki. 911 00:44:51,620 --> 00:44:55,395 Hivyo majibu mara tu kwamba server kweli hawezi kufanya kitu chochote wakati 912 00:44:55,395 --> 00:44:57,460 ni kompyuta kwamba idadi Fibonacci. 913 00:44:57,460 --> 00:44:59,360 Hivyo sasa mimi tu got mambo wangu wawili nyuma. 914 00:44:59,360 --> 00:45:03,210 Lakini mimi nadhani tu kufikiri kuhusu code zaidi kidogo, ni jinsi gani kazi 915 00:45:03,210 --> 00:45:05,030 na kila kitu. 916 00:45:05,030 --> 00:45:11,750 >> Hivyo kazi hii hapa ni kificho kwamba Nimekuwa aliiambia server hii kuendesha wakati 917 00:45:11,750 --> 00:45:14,100 inapata ombi yanayokuja. 918 00:45:14,100 --> 00:45:17,940 Hivyo ni kwenda tu kukimbia kwa njia hii code nzima, na kisha ni kwenda 919 00:45:17,940 --> 00:45:21,120 nyuma kwa kitanzi tukio na kisha kuendelea kuangalia kwa matukio mapya. 920 00:45:21,120 --> 00:45:23,670 Hivyo kimsingi nini tuna kinachotokea ni server ni 921 00:45:23,670 --> 00:45:25,080 kusikiliza kwa mambo mapya. 922 00:45:25,080 --> 00:45:28,070 mtu wa kwanza anauliza kwa nini 45 ni. 923 00:45:28,070 --> 00:45:30,490 Sisi kuendesha kanuni hii compute yake. 924 00:45:30,490 --> 00:45:33,420 Kanuni hii inachukua takribani tano sekunde sita kukimbia. 925 00:45:33,420 --> 00:45:36,990 Kisha sisi kurudi nyuma kwa kitanzi tukio na kuangalia kwa maombi mapya. 926 00:45:36,990 --> 00:45:42,700 >> Hivyo hii ni mfano wa jinsi, kama wewe na mambo ambayo ni kinachojulikana compute 927 00:45:42,700 --> 00:45:48,140 amefungwa, au matumizi mengi ya mahesabu, si nguvu, lakini kama ni 928 00:45:48,140 --> 00:45:50,260 computationally kubwa - 929 00:45:50,260 --> 00:45:54,080 Nadhani jambo moja kusema juu ya jambo hili ni kuwa kazi hii ni kufanya kabisa, 930 00:45:54,080 --> 00:45:56,310 kwa sehemu kubwa, pretty muhimu kazi ya haki. 931 00:45:56,310 --> 00:45:59,970 muda wote kwamba callback kazi ilikuwa mbio, ilikuwa pretty 932 00:45:59,970 --> 00:46:03,670 sana matumizi ya zaidi ya muda wake tu kompyuta kwamba nth Fibonacci idadi. 933 00:46:03,670 --> 00:46:05,930 >> Lakini sisi tu alikuwa thread moja kushughulikia. 934 00:46:05,930 --> 00:46:10,270 Katika mtindo Apache, wakati watu wawili alitoa ombi kupata fib 45, sisi 935 00:46:10,270 --> 00:46:11,610 bila kuwa na nyuzi mbili tofauti. 936 00:46:11,610 --> 00:46:15,060 Na kisha mfumo wa uendeshaji wa kazi ingekuwa, au ngazi user 937 00:46:15,060 --> 00:46:18,660 kificho kwamba itaweza nyuzi, itakuwa wameweza imekuwa na kipande kuwa hadi juu ya 938 00:46:18,660 --> 00:46:23,060 CPU, au hata kama alikuwa na CPUs nyingi, kuzisambaza sawasawa katika CPUs 939 00:46:23,060 --> 00:46:26,130 ili nao wote wawili walikuwa kumaliza takribani kwa wakati mmoja. 940 00:46:26,130 --> 00:46:31,120 >> Hivyo tu kuonyesha jinsi gani tunaweza aina ya - na hii si kamili jumla 941 00:46:31,120 --> 00:46:34,280 ufumbuzi, lakini aina ya jinsi gani tunaweza kufanya kurudi hapa na kufanya 942 00:46:34,280 --> 00:46:35,880 kidogo kidogo bora. 943 00:46:35,880 --> 00:46:41,540 Basi nini nina hapa ni mpango ujulikanao Fib C. Na hii kimsingi anatumia 944 00:46:41,540 --> 00:46:45,690 mtu mwingine wa modules Node kuitwa Mchakato wa Mtoto Module. 945 00:46:45,690 --> 00:46:49,210 Hivyo nimekuwa pamoja na kwamba katika aina ya juu ya kama napenda kufanya pound ni pamoja na 946 00:46:49,210 --> 00:46:51,230 mtoto process.h au kitu. 947 00:46:51,230 --> 00:46:56,210 Sasa mimi kupata hii variable CP ambayo ina utendaji yangu yote. 948 00:46:56,210 --> 00:47:01,810 >> Hivyo sasa nini mimi kufanya katika kukabiliana hii handler ni mimi nina kuendesha programu hii 949 00:47:01,810 --> 00:47:04,100 dot kufyeka fib 45. 950 00:47:04,100 --> 00:47:06,820 Hivyo kile nimepata kufanyika - na mimi nina kwenda tu hatua nje ya mpango huu kwa 951 00:47:06,820 --> 00:47:07,620 kidogo kidogo - 952 00:47:07,620 --> 00:47:11,060 ni Nimeandika C mpango huo kimsingi computes 953 00:47:11,060 --> 00:47:12,630 nth Fibonacci idadi. 954 00:47:12,630 --> 00:47:15,960 Hivyo hapa tu mpango Nimeandika katika C kwamba computes hii. 955 00:47:15,960 --> 00:47:19,040 Mimi unaweza kukusanya, na siwezi kukimbia kwa amri line. 956 00:47:19,040 --> 00:47:22,150 Na itakuja compute 45 Fibonacci idadi. 957 00:47:22,150 --> 00:47:24,510 >> Hivyo taarifa hiyo tu inachukua pretty much kwa muda mrefu. 958 00:47:24,510 --> 00:47:28,240 Mimi pengine inaweza kutumika dash 03 kwa kuongeza au kitu kama hicho, 959 00:47:28,240 --> 00:47:31,050 lakini mimi tu alifanya kama kawaida compiler mazingira. 960 00:47:31,050 --> 00:47:33,260 Na prints nje. 961 00:47:33,260 --> 00:47:36,830 >> Lakini sasa, je, Mimi aina ya kufanya? 962 00:47:36,830 --> 00:47:39,800 Oh sorry, file makosa. 963 00:47:39,800 --> 00:47:42,800 Basi, mimi kufanya mambo sawa na header kama kabla ya. 964 00:47:42,800 --> 00:47:45,780 Basi mimi kufanya cp.exec hii. 965 00:47:45,780 --> 00:47:49,460 Basi nini hii ni ya kwenda kufanya ni ni kwenda kukimbia mpango huu. 966 00:47:49,460 --> 00:47:51,960 Lakini kwa njia hii kazi ni kuwa siyo kwenda kusubiri kwa 967 00:47:51,960 --> 00:47:53,400 kwamba mpango wa kumaliza. 968 00:47:53,400 --> 00:47:56,000 Ni tu kimsingi anasema kutekeleza mpango huu. 969 00:47:56,000 --> 00:47:58,700 Hivyo kimsingi aina hii katika amri aina ya haraka ya. 970 00:47:58,700 --> 00:48:02,350 >> Na kisha, wakati wewe ni kosa kwa yake, kukimbia kazi hii. 971 00:48:02,350 --> 00:48:04,800 Basi sasa sisi aina ya kupata hii zima kurejeshwa jambo la 972 00:48:04,800 --> 00:48:06,750 kama sisi siyo kusubiri. 973 00:48:06,750 --> 00:48:08,530 Je, hiyo aina ya mantiki? 974 00:48:08,530 --> 00:48:08,990 Yep? 975 00:48:08,990 --> 00:48:11,060 >> Watazamaji: [inaudible]? 976 00:48:11,060 --> 00:48:13,610 >> KEVIN SCHMID: Hivyo hii kwa kweli kufungua njia mpya ya kufanya hivyo. 977 00:48:13,610 --> 00:48:19,310 Hivyo hii ni kweli, katika baadhi ya njia, uovu, si super ubaya, bali ni 978 00:48:19,310 --> 00:48:22,990 muhimu kwa kusema kwamba hii ni aina ya kurejea, kwa upande mmoja, Apache 979 00:48:22,990 --> 00:48:26,450 mfano ambapo sisi kufanya nyuzi na taratibu kwa kila ombi au 980 00:48:26,450 --> 00:48:29,280 mchakato wa kila ombi. 981 00:48:29,280 --> 00:48:32,090 Hivyo hii ni aina ya sawa kwa nini Apache gani. 982 00:48:32,090 --> 00:48:35,110 Katika baadhi ya matukio, itakuwa tu kutumia mpya thread, ambayo ni mwanga kidogo zaidi 983 00:48:35,110 --> 00:48:39,040 uzito zaidi kuliko mchakato, lakini Apache inaweza kuishia forking mchakato mpya 984 00:48:39,040 --> 00:48:43,370 ambayo ni aina ya nini cha kufanya hapa inamuunga kwa kufanya dot slash fib 45. 985 00:48:43,370 --> 00:48:48,690 >> Na kisha katika kesi hiyo, sisi aina ya watapata gharama hiyo ya taratibu. 986 00:48:48,690 --> 00:48:50,710 Hivyo hii ni jambo moja tu unaweza kufanya. 987 00:48:50,710 --> 00:48:52,600 Lakini tu kuonyesha aina hii ya mbio. 988 00:48:52,600 --> 00:48:57,120 Na majadiliano hayo ni kweli tu kwa lengo la kuwasilisha aina hii ya mipango kama 989 00:48:57,120 --> 00:49:00,710 njia ya kuonyesha mitazamo tofauti tofauti katika jinsi ya kubuni watumishi kama hiyo. 990 00:49:00,710 --> 00:49:08,300 Hivyo hii ni kukimbia, na kisha sasa kama mimi kufanya hii tena, I got vitambulisho mbili mchakato. 991 00:49:08,300 --> 00:49:10,320 >> Hebu tu majadiliano juu ya mambo ya uhakika nje. 992 00:49:10,320 --> 00:49:11,980 Hivyo taarifa kwamba wao ni kuongezwa. 993 00:49:11,980 --> 00:49:12,700 Hiyo ni baridi. 994 00:49:12,700 --> 00:49:15,140 Kwa sababu ilikuwa ni 27,122 kabla ya. 995 00:49:15,140 --> 00:49:18,580 Lakini sikia sasa, walikwenda nyuma katika takribani wakati huo huo. 996 00:49:18,580 --> 00:49:23,960 >> Na sasa, swali nzuri ya kuuliza kuhusu kwa nini ni kwamba kesi ni, kazi ambao 997 00:49:23,960 --> 00:49:27,590 ilikuwa ni sasa na aina ya kufanya mambo haya aina ya kucheza haki kwa kila 998 00:49:27,590 --> 00:49:31,350 mengine, matukio haya mawili ya dot slash fib 45 kwamba mimi mbio 999 00:49:31,350 --> 00:49:32,880 au kwamba Node mbio? 1000 00:49:32,880 --> 00:49:36,940 Ambao aina ya inafanya haki kwamba wao wote kupata aina ya uwiano kukimbia wakati? 1001 00:49:36,940 --> 00:49:42,900 1002 00:49:42,900 --> 00:49:44,220 >> Watazamaji: [inaudible]. 1003 00:49:44,220 --> 00:49:44,620 >> KEVIN SCHMID: Yeah. 1004 00:49:44,620 --> 00:49:49,740 Hivyo kimsingi, wakati mimi kufanya dot slash fib 45 au kitu kama hicho, sasa ni 1005 00:49:49,740 --> 00:49:53,750 aina ya hadi mfumo wa uendeshaji wa kushughulikia Runtime ya programu hizo. 1006 00:49:53,750 --> 00:49:56,920 Na sasa inaweza ratiba yao juu ya CPUs mbalimbali au 1007 00:49:56,920 --> 00:49:58,330 Unaweza ratiba yao. 1008 00:49:58,330 --> 00:50:01,870 Inaweza kipande up wakati huo moja CPU anapata au kwamba wao kupata 1009 00:50:01,870 --> 00:50:03,330 kukimbia kwenye CPU moja. 1010 00:50:03,330 --> 00:50:05,620 Ili wazo nyuma yake. 1011 00:50:05,620 --> 00:50:07,220 Je, hiyo mantiki kwa kila mtu? 1012 00:50:07,220 --> 00:50:10,950 Hivyo sasa Node si kweli kucheza sehemu katika kugawa up kazi hizi. 1013 00:50:10,950 --> 00:50:12,200 OK. 1014 00:50:12,200 --> 00:50:14,050 1015 00:50:14,050 --> 00:50:17,840 >> Ili karibu kwa ajili ya mifano. 1016 00:50:17,840 --> 00:50:23,370 Mimi nilitaka kuonyesha jambo moja zaidi kwa sababu mengi ya hii hadi sasa imekuwa 1017 00:50:23,370 --> 00:50:27,350 si kabisa super vitendo katika baadhi ya kesi. 1018 00:50:27,350 --> 00:50:30,970 Siwezi kufikiria kuja nyumbani baada ya hii kuzungumza na kitu na kusema kama, 1019 00:50:30,970 --> 00:50:35,710 vizuri mimi aina ya got nje ya kwamba majadiliano kwamba Mimi siwezi kufanya server Fibonacci kwa 1020 00:50:35,710 --> 00:50:37,360 mradi wangu wa mwisho. 1021 00:50:37,360 --> 00:50:40,770 Hivyo hapa ni aina tu ya mfano mmoja zaidi kwamba hopefully itakuwa - 1022 00:50:40,770 --> 00:50:44,620 labda si, lakini labda - kidogo zaidi aina ya muhimu kwa miradi ya mwisho na 1023 00:50:44,620 --> 00:50:46,440 kufikiri mbele kwa mambo kama hayo. 1024 00:50:46,440 --> 00:50:48,870 >> Hivyo hii ni chat.js. 1025 00:50:48,870 --> 00:50:52,290 Hivyo hii ni aina ya kama baadhi ya sampuli server upande kificho kwamba unaweza kutumia 1026 00:50:52,290 --> 00:50:55,700 kuanzisha server ndogo mazungumzo kama unaweza kuwa kuonekana kwenye 1027 00:50:55,700 --> 00:50:56,630 Facebook Chat au chochote. 1028 00:50:56,630 --> 00:50:59,990 Hivyo Sisemi hii ni kama Facebook Kuzungumza, lakini hii ni aina ya 1029 00:50:59,990 --> 00:51:06,230 kama nzuri - labda si nzuri, lakini labda nzuri - kuanzia kwa mazungumzo 1030 00:51:06,230 --> 00:51:08,560 server kwa ajili ya tovuti yako kwa ajili ya mradi wa mwisho. 1031 00:51:08,560 --> 00:51:11,040 Hivyo hebu tuangalie nini ni kufanya. 1032 00:51:11,040 --> 00:51:15,500 >> Hivyo sisi ni kupata kitu hii maalum saa ya juu, hii var SIO 1033 00:51:15,500 --> 00:51:17,050 sawa na kuhitaji Socket.IO. 1034 00:51:17,050 --> 00:51:20,280 Hivyo hii ni kitu kingine kwamba haina kweli kuja kutunza na 1035 00:51:20,280 --> 00:51:22,300 Node lakini unaweza kufunga hiyo. 1036 00:51:22,300 --> 00:51:23,480 Ni Node moduli. 1037 00:51:23,480 --> 00:51:25,670 Hivyo ni kama baadhi ugani na Node. 1038 00:51:25,670 --> 00:51:29,220 >> SocketIO ni kweli kweli aina ya baridi. 1039 00:51:29,220 --> 00:51:32,550 Ni uchukuaji kwamba kimsingi nini yake ni ni utapata 1040 00:51:32,550 --> 00:51:35,770 kuwa na mkondo hii ya mawasiliano kati ya mtandao 1041 00:51:35,770 --> 00:51:39,430 browser na mtandao wa kompyuta. 1042 00:51:39,430 --> 00:51:45,250 Hivyo kwa sehemu kubwa hadi sasa, tulikuwa na haya haraka sana pili moja au mbili 1043 00:51:45,250 --> 00:51:48,790 mawasiliano pili kati ya mtandao browser na mtandao wa kompyuta. 1044 00:51:48,790 --> 00:51:53,310 Hivyo kimsingi kwenda google.com, kupata stuff, kutuma nyuma, na kisha 1045 00:51:53,310 --> 00:51:53,770 sisi ni kosa. 1046 00:51:53,770 --> 00:51:56,560 Sisi ni kamwe kuzungumza tena mpaka aina ya mtumiaji katika kitu kingine. 1047 00:51:56,560 --> 00:52:01,090 >> Lakini nini Socket.IO na aina hiyo ya mambo - na SocketIO ni kweli moja 1048 00:52:01,090 --> 00:52:03,940 ya mambo ambayo imejengwa juu ya kama WebSocket ambayo ni aina ya inapatikana 1049 00:52:03,940 --> 00:52:06,440 kama sehemu ya HTML5 - 1050 00:52:06,440 --> 00:52:09,620 kwamba utapata na hii kuendelea na mjadala. 1051 00:52:09,620 --> 00:52:13,990 Na hii ni muhimu sana katika mazungumzo server aina ya kitu kwa sababu ni 1052 00:52:13,990 --> 00:52:17,390 aina ya kama mazungumzo ya kuendelea katika baadhi ya njia kwa sababu kama wewe ni kuzungumza 1053 00:52:17,390 --> 00:52:21,540 na mtu, unaweza sasa tu kutuma ujumbe chini ya bomba, na kisha 1054 00:52:21,540 --> 00:52:23,940 server unaweza kutuma ujumbe chini bomba kwa mtu mwingine uko 1055 00:52:23,940 --> 00:52:24,520 kuzungumza na. 1056 00:52:24,520 --> 00:52:26,903 Na kisha unaweza kuwa na hii kubadilishana kama hiyo. 1057 00:52:26,903 --> 00:52:30,590 1058 00:52:30,590 --> 00:52:32,850 >> Basi hiyo ni aina ya nini SocketIO ni nzuri kwa ajili ya. 1059 00:52:32,850 --> 00:52:38,400 sababu hiyo SocketIO anatumia WebSockets kama jambo moja ni kwamba katika 1060 00:52:38,400 --> 00:52:43,980 Mbali na WebSockets wazi tu ya zamani, pia anafanya tricks baadhi ya kimsingi 1061 00:52:43,980 --> 00:52:45,610 kufanya hivyo kisakuzi sambamba. 1062 00:52:45,610 --> 00:52:50,040 Hivyo browsers kama Internet Explorer kwa bahati mbaya si msaada WebSockets 1063 00:52:50,040 --> 00:52:50,810 haki nje ya sanduku. 1064 00:52:50,810 --> 00:52:55,290 Hivyo anatumia baadhi ya aina nyingine ya baridi nadhifu mambo kwa Adobe Flash kuruhusu 1065 00:52:55,290 --> 00:52:57,170 wewe kuwa na msaada kisakuzi msalaba. 1066 00:52:57,170 --> 00:52:58,800 Hivyo kwamba ni muhimu kweli kweli. 1067 00:52:58,800 --> 00:53:02,440 >> Na kwa kweli, najua mimi nina aina ya mbio juu ya wakati hapa, lakini CS50 1068 00:53:02,440 --> 00:53:08,490 Kujadili, umewahi kuona kitu kama, mimi sijui, tupu hivyo na hivyo ni 1069 00:53:08,490 --> 00:53:11,030 kujibu kwa post hii au kitu kama kwamba, kipengele kwamba? 1070 00:53:11,030 --> 00:53:12,250 Hiyo ni SocketIO. 1071 00:53:12,250 --> 00:53:15,580 Hivyo wakati mtu kuanza kuandika katika kujadili sanduku kutoa jibu la au 1072 00:53:15,580 --> 00:53:20,040 kitu, browser yako haina nini kuitwa katika SocketIO hutoa aina fulani ya 1073 00:53:20,040 --> 00:53:22,660 tukio hilo kuwa anasema mtu ni kujibu kwa post hii. 1074 00:53:22,660 --> 00:53:26,110 >> Kisha server anasema, OK, je, mimi na kwa nini? 1075 00:53:26,110 --> 00:53:29,270 Vizuri sasa nina kuwaambia watu guys nyingine ambao ni juu ya CS50 Jadili kuangalia 1076 00:53:29,270 --> 00:53:31,170 wakati wa mwisho hii kwamba mtu ni replying. 1077 00:53:31,170 --> 00:53:34,190 Basi hiyo ni aina ya nini SocketIO ni nzuri kwa aina hii ya kuendelea 1078 00:53:34,190 --> 00:53:35,930 mkondo wa mazungumzo. 1079 00:53:35,930 --> 00:53:37,250 OK. 1080 00:53:37,250 --> 00:53:40,060 >> Basi nini nina hapa - na sisi ni tu kwenda kupuuza uhusiano safu 1081 00:53:40,060 --> 00:53:41,390 kwa kidogo - 1082 00:53:41,390 --> 00:53:43,080 nini mimi ni mimi mwingine kusikiliza. 1083 00:53:43,080 --> 00:53:46,880 Hivyo kwamba ni njia tu katika Socket.IO ni akisema, acha tusikie juu ya hii bandari. 1084 00:53:46,880 --> 00:53:50,060 Na kisha mimi kufanya hivyo juu ya uhusiano. 1085 00:53:50,060 --> 00:53:53,360 Ili tu kimsingi soketi IO ya njia ya kusema, wakati sisi kupokea 1086 00:53:53,360 --> 00:53:55,840 uhusiano, Mimi nataka wewe kuendesha kanuni hii. 1087 00:53:55,840 --> 00:53:59,870 >> Na taarifa kwamba badala ya kuwa na rec na res kupita katika huko nina soketi. 1088 00:53:59,870 --> 00:54:03,260 Na wazo hili soketi kimsingi ni hii jambo ambalo unaweza kuandika na kusoma 1089 00:54:03,260 --> 00:54:05,750 na kwamba ina mtumiaji ujumbe ikiwezekana. 1090 00:54:05,750 --> 00:54:10,700 Na ujumbe ungependa kutuma unaweza kwenda kwa kuwa soketi. 1091 00:54:10,700 --> 00:54:12,140 Je, hiyo mantiki? 1092 00:54:12,140 --> 00:54:14,490 Hivyo ni jambo hili kuendelea. 1093 00:54:14,490 --> 00:54:17,820 >> Hivyo nini mimi ni mimi wito Socket.emit. 1094 00:54:17,820 --> 00:54:20,330 Na kuzalisha inachukua pretty sana hoja mbili. 1095 00:54:20,330 --> 00:54:24,100 Hoja ya kwanza ni kamba tu anayewakilisha ya aina ya 1096 00:54:24,100 --> 00:54:25,270 kitu wewe ni kutotoa moshi. 1097 00:54:25,270 --> 00:54:28,120 Hivyo ajili ya kesi hii, nimekuwa matumizi hii string ujumbe mpya. 1098 00:54:28,120 --> 00:54:32,670 Na kwamba kimsingi tu kusema kwamba aina ya jambo hili, nini mimi 1099 00:54:32,670 --> 00:54:34,750 kutuma, ni ujumbe mpya. 1100 00:54:34,750 --> 00:54:38,460 Hivyo unaweza kusikiliza kwa aina maalum kama ujumbe mpya au chochote 1101 00:54:38,460 --> 00:54:39,960 kwa kutumia dot juu. 1102 00:54:39,960 --> 00:54:44,570 >> Hivyo uhusiano na user kupelekwa huko, kama ukiangalia ambapo sisi kuwaita dot juu, 1103 00:54:44,570 --> 00:54:48,150 wale ni masharti mengine ambayo kuwakilisha aina ya ujumbe user. 1104 00:54:48,150 --> 00:54:52,060 Hivyo kimsingi unaweza kuwa na emit hii moja ya aina ya ujumbe haya, na 1105 00:54:52,060 --> 00:54:55,520 kisha kufanya kitu katika kukabiliana na moja ya aina ya ujumbe haya 1106 00:54:55,520 --> 00:54:57,640 >> Hivyo mimi nina kutotoa moshi ujumbe huu mpya. 1107 00:54:57,640 --> 00:55:00,540 Tunakwenda kupuuza connections.push kwa ajili ya pili. 1108 00:55:00,540 --> 00:55:03,360 Lakini basi mimi kusema, Socket.on user alimtuma. 1109 00:55:03,360 --> 00:55:07,540 Hivyo sasa ni aina ya kama wakati user inapeleka me ujumbe, nataka 1110 00:55:07,540 --> 00:55:09,240 wewe kukimbia kanuni hii. 1111 00:55:09,240 --> 00:55:12,080 Na taarifa kwamba kazi hiyo bila majina ni kuchukua katika variable hii 1112 00:55:12,080 --> 00:55:16,300 aitwaye data ambayo kimsingi kwenda kuwa na ujumbe mtumiaji. 1113 00:55:16,300 --> 00:55:20,700 >> Hivyo sasa hebu aina ya majadiliano juu ya uhusiano safu. 1114 00:55:20,700 --> 00:55:24,590 Hivyo hii ni iliyoundwa kwa ajili ya mteja mazungumzo ambapo kimsingi kila mtu aina ya katika 1115 00:55:24,590 --> 00:55:25,950 sawa mazungumzo chumba. 1116 00:55:25,950 --> 00:55:29,640 Hivyo kimsingi, nini tunahitaji kuweka karibu ni baadhi safu kwamba kimsingi 1117 00:55:29,640 --> 00:55:33,170 inawakilisha watu wote kuzungumza katika baadhi ya njia, kama kwamba hufanya akili. 1118 00:55:33,170 --> 00:55:33,340 Haki? 1119 00:55:33,340 --> 00:55:37,190 Kwa sababu tunahitaji kujua ni nani wale guys ni ili tuweze kuwatuma ujumbe 1120 00:55:37,190 --> 00:55:39,140 kwamba watu wengine kutuma kwetu. 1121 00:55:39,140 --> 00:55:44,440 >> Kwa hiyo kile code hii haina ni wakati mtumiaji inapeleka ujumbe - hiyo ni ya aina ya 1122 00:55:44,440 --> 00:55:45,300 tukio hilo - 1123 00:55:45,300 --> 00:55:47,120 tunakwenda kukimbia kanuni hii. 1124 00:55:47,120 --> 00:55:51,240 Na nini cha kufanya ni sisi kukimbia kwa njia hii safu kwamba sisi kuitwa connections. 1125 00:55:51,240 --> 00:55:54,390 Na pretty much kwa kila uhusiano ila moja kwamba yetu, kwamba 1126 00:55:54,390 --> 00:55:59,520 nini kanuni hii anasema, sisi kutuma mpya ujumbe na kwamba ujumbe masharti 1127 00:55:59,520 --> 00:56:01,210 habari. 1128 00:56:01,210 --> 00:56:04,880 >> Hivyo kama wewe taarifa hapa, nini mimi wakati user kwa kweli inafanya mpya 1129 00:56:04,880 --> 00:56:08,560 uhusiano ni nimekuwa aliongeza kwa JavaScript.push mbinu, hii ni 1130 00:56:08,560 --> 00:56:12,100 kimsingi kusema tu kama kuongeza kwamba soketi kama thamani katika 1131 00:56:12,100 --> 00:56:13,900 uhusiano wetu safu. 1132 00:56:13,900 --> 00:56:20,560 Hivyo sasa wakati kanuni hii anaendesha, itakuwa kupeleka yale mambo kwa wale hasa 1133 00:56:20,560 --> 00:56:22,020 connections. 1134 00:56:22,020 --> 00:56:26,980 Hivyo hii inaweza kuwa na mwanzo mzuri kwa ajili ya kufanya mazungumzo server 1135 00:56:26,980 --> 00:56:28,250 au kitu sawa. 1136 00:56:28,250 --> 00:56:33,315 >> Na aina ya jambo zuri ni kwamba kificho kwamba unaweza kuona hapa kwa kama juu ya na 1137 00:56:33,315 --> 00:56:36,390 emit na mambo kama hayo ni sawa na aina ya JavaScript code kuwa wewe 1138 00:56:36,390 --> 00:56:39,260 kuandika katika browser ya kiutendaji na server. 1139 00:56:39,260 --> 00:56:42,480 Hivyo ndiyo sababu SocketIO ni aina ya nadhifu na muhimu katika njia hiyo. 1140 00:56:42,480 --> 00:56:45,680 1141 00:56:45,680 --> 00:56:49,250 >> Oh na jambo moja zaidi tu halisi haraka. 1142 00:56:49,250 --> 00:56:55,970 Kulikuwa na CS50 mradi wa mwisho mwaka jana kwamba kimsingi kutekelezwa mazungumzo 1143 00:56:55,970 --> 00:56:57,840 server katika Node.js. 1144 00:56:57,840 --> 00:57:01,350 Nadhani ni Harvardchats.org lakini nina - 1145 00:57:01,350 --> 00:57:02,940 OK. 1146 00:57:02,940 --> 00:57:06,190 Mimi nina uhakika nini URL, lakini Naweza kutuma kwamba baadaye nje. 1147 00:57:06,190 --> 00:57:09,260 Lakini ni aina ya baridi nini unaweza kufanya na Node.js. 1148 00:57:09,260 --> 00:57:14,680 >> Hivyo natumaini, kwa ujumla, you guys na hisia nzuri ya nini Node.js ni muhimu 1149 00:57:14,680 --> 00:57:17,870 kwa na jinsi gani unaweza labda kuomba kwa mradi wako wa mwisho. 1150 00:57:17,870 --> 00:57:21,050 Nitawatumia nje baadhi zaidi rasilimali pamoja na hii. 1151 00:57:21,050 --> 00:57:23,170 Na asante kwa kuja. 1152 00:57:23,170 --> 00:57:23,610 Asante. 1153 00:57:23,610 --> 00:57:27,168 >> [Makofi]