1 00:00:00,000 --> 00:00:08,350 2 00:00:08,350 --> 00:00:09,710 >> KEVIN SCHMID: Hello kulħadd. 3 00:00:09,710 --> 00:00:12,640 Merħba lill-seminar CS50 fuq Node.js. 4 00:00:12,640 --> 00:00:13,955 Jisimni Kevin. 5 00:00:13,955 --> 00:00:15,580 Jien TF CS50. 6 00:00:15,580 --> 00:00:17,650 U jien tip simili verament eċitat dwar dan is-seminar. 7 00:00:17,650 --> 00:00:20,430 Naħseb Node.js huwa ħafna jibred. 8 00:00:20,430 --> 00:00:24,200 Nittama li dan is-seminar jista 'jintuża bħala tajba, I raden, katalist għall- 9 00:00:24,200 --> 00:00:26,380 xi wħud mill-proġetti finali tiegħek jekk int interessat fl-użu 10 00:00:26,380 --> 00:00:27,630 xi ħaġa bħal Node.js. 11 00:00:27,630 --> 00:00:29,770 12 00:00:29,770 --> 00:00:33,320 >> Aħna ser tip ta 'jibdew il-seminar off billi biss jitkellem dwar ftit ta 'l- 13 00:00:33,320 --> 00:00:36,970 tip ta 'iskalabbiltà isfond perspettivi tal Node.js, u mbagħad 14 00:00:36,970 --> 00:00:39,240 aħna ser jimxu lejn xi eżempji kodiċi. 15 00:00:39,240 --> 00:00:42,340 U jien ser ikollhom l-kodiċi fuq websajt, u inti tista 'tħares lejn il-kodiċi. 16 00:00:42,340 --> 00:00:45,475 U wara l-seminar, I ser issolvi diskors dwar kif inti tista 'twaqqaf Node.js 17 00:00:45,475 --> 00:00:48,220 fuq il-kompjuter tiegħek. 18 00:00:48,220 --> 00:00:48,710 >> OK. 19 00:00:48,710 --> 00:00:49,760 Mela ejja tibda. 20 00:00:49,760 --> 00:00:53,700 So I raden I biss trid titkellem dwar servers mill-web, tassew, l-ewwel. 21 00:00:53,700 --> 00:00:59,730 U biex tibda din id-diskussjoni, I bażikament għandhom dijagramma li hija minn 22 00:00:59,730 --> 00:01:04,269 l-textbook użat għall-CS61, li bażikament turi l-interazzjoni 23 00:01:04,269 --> 00:01:08,510 bejn proċess klijent, bħall-web tiegħek browser jew simili klijent għan tiegħek jew 24 00:01:08,510 --> 00:01:11,340 xi ħaġa bħal dik, u web server. 25 00:01:11,340 --> 00:01:15,150 Allura dan it-tip ta 'jistenna simili għall- stampa li inti raw fil-lecture fuq 26 00:01:15,150 --> 00:01:19,270 L-ERBGĦA fejn bażikament għandna xi proċess klijent bħall-Google Chrome. 27 00:01:19,270 --> 00:01:22,980 >> U mbagħad pass wieħed huwa l- klijent jibgħat talba. 28 00:01:22,980 --> 00:01:27,510 Allura li jista 'jkun xi ħaġa bħal ukoll ejja żjara, I do not know, CS50.net. 29 00:01:27,510 --> 00:01:29,320 Allura aħna toħroġ it-talba. 30 00:01:29,320 --> 00:01:34,280 U ħadd ma tiftakar l-isem ta ' il-protokoll li tispeċifika kif dik 31 00:01:34,280 --> 00:01:35,610 talba għandha tkun strutturata? 32 00:01:35,610 --> 00:01:36,382 Yep. 33 00:01:36,382 --> 00:01:37,650 >> UDJENZA: [inaudible]. 34 00:01:37,650 --> 00:01:38,150 >> KEVIN SCHMID: Eżattament. 35 00:01:38,150 --> 00:01:40,100 Allura huwa simili HTTP, right? 36 00:01:40,100 --> 00:01:44,720 Allura bażikament l-ispeċifikazzjoni għal kemm dik it-talba għandu attwalment jiġu stabbiliti 37 00:01:44,720 --> 00:01:47,450 out, għaliex fl-aħħar tal-ġurnata, ir-rikjesta hija verament ftit simili 38 00:01:47,450 --> 00:01:50,240 string li bażikament jgħid I jixtiequ dan. 39 00:01:50,240 --> 00:01:53,580 U l-ispeċifikazzjoni għal dan hija HTTP. 40 00:01:53,580 --> 00:01:55,270 Allura dak simili protokoll. 41 00:01:55,270 --> 00:01:57,920 >> Mela allura l-server jirċievi dik it-talba. 42 00:01:57,920 --> 00:02:01,610 Allura inti guys jkollhom web server installat fl-appliance CS50. 43 00:02:01,610 --> 00:02:02,460 Huwa Apache. 44 00:02:02,460 --> 00:02:06,230 U din il-ġimgħa meta inti taħdem fuq il-problema sett ta 'seba, inti ser fil-fatt tkun qed taħdem 45 00:02:06,230 --> 00:02:08,160 ma 'dak web server. 46 00:02:08,160 --> 00:02:12,380 Allura l-server jirċievi dik it-talba, u allura għandu tip ta 'tobrox tiegħu 47 00:02:12,380 --> 00:02:15,090 ras u jgħidu bħal ukoll dak nagħmel ma 'dan? 48 00:02:15,090 --> 00:02:20,060 >> Allura bbażati fuq dak tiddeċiedi li tagħmel, allura jista 'tikkuntattja xi tip 49 00:02:20,060 --> 00:02:20,730 ta 'riżorsi. 50 00:02:20,730 --> 00:02:23,700 U li r-riżors jista 'jkun ħafna affarijiet differenti. 51 00:02:23,700 --> 00:02:26,810 Għal waħda, dan jista 'jkun biss bħal file HTML statiku. 52 00:02:26,810 --> 00:02:29,820 Għalhekk jista 'jkun biss bħal xi HTML li huwa simili għall- 53 00:02:29,820 --> 00:02:31,100 website personali tiegħek. 54 00:02:31,100 --> 00:02:35,360 Dan jista 'jkun fajl statika tixbah immaġni jew bħal movie li inti għandek. 55 00:02:35,360 --> 00:02:37,660 Hija tista 'anki jkollha biex jitkellmu għal xi tip ta 'database 56 00:02:37,660 --> 00:02:39,530 bħal database MySQL. 57 00:02:39,530 --> 00:02:43,910 Allura dan mhux dejjem ikollhom jikkomunikaw b'riżorsa, iżda fil- 58 00:02:43,910 --> 00:02:45,700 F'xi każijiet, jista. 59 00:02:45,700 --> 00:02:47,800 >> Mela allura dak li għaddej biex tagħmel wara li huwa għaddej biex 60 00:02:47,800 --> 00:02:49,430 jibgħat lura l-rispons. 61 00:02:49,430 --> 00:02:53,130 U r-rispons għal dan huwa speċifikat ukoll mill HTTP. 62 00:02:53,130 --> 00:02:54,830 Mela allura l-klijent jistgħu jirċievu dan. 63 00:02:54,830 --> 00:02:56,740 Hija tista jkissruha u pproċessata. 64 00:02:56,740 --> 00:03:00,900 U mbagħad ikollok paġna web bħall-Google jew CS50.net jew 65 00:03:00,900 --> 00:03:02,240 x'ikun inti marru għall. 66 00:03:02,240 --> 00:03:03,100 OK? 67 00:03:03,100 --> 00:03:06,080 >> Allura dan huwa l-interazzjoni bażika li aħna qed tmur biex tkun jittrattaw. 68 00:03:06,080 --> 00:03:08,770 U aħna qed pretty ħafna se tkun tiffoka fuq din il-parti tal- 69 00:03:08,770 --> 00:03:10,640 interazzjoni, il-server. 70 00:03:10,640 --> 00:03:10,990 OK. 71 00:03:10,990 --> 00:03:12,210 Kessaħ. 72 00:03:12,210 --> 00:03:15,500 Kulmin xi mistoqsijiet s'issa? 73 00:03:15,500 --> 00:03:17,720 OK. 74 00:03:17,720 --> 00:03:22,430 >> Allura kif għidna, l-web server jirċievi din it-talba HTTP u mbagħad joħroġ dan 75 00:03:22,430 --> 00:03:24,760 Rispons HTTP. 76 00:03:24,760 --> 00:03:29,100 U bħal tkellimna dwar qabel, il- Web server appliance CS50 huwa Apache. 77 00:03:29,100 --> 00:03:32,490 Allura meta inti guys taħdem fuq P stabbiliti seba ', int ser tkun ħidma mal- 78 00:03:32,490 --> 00:03:34,120 Web server Apache. 79 00:03:34,120 --> 00:03:37,890 Int qatt ser ikollhom verament ix-xogħol ma 'Apache direttament wisq. 80 00:03:37,890 --> 00:03:41,920 You tip ta kkonfigurat Apache ftit meta inti tispeċifika l-ospiti virtwali jew 81 00:03:41,920 --> 00:03:44,970 l-vs hosts, u aħna ser terġa ' għal dak fil ftit. 82 00:03:44,970 --> 00:03:50,620 >> Imma bażikament, l-web server Apache mwaqqfa biex taħdem ma 'tip PHP 83 00:03:50,620 --> 00:03:51,730 tal barra mill-kaxxa. 84 00:03:51,730 --> 00:03:56,170 Allura dak li verament jiġri huwa meta inti tmur għal waħda mill-websajts tiegħek simili, ngħidu aħna, 85 00:03:56,170 --> 00:04:00,360 ospitanti lokali index.php slash jew xi ħaġa, huwa browser tiegħek jibgħat dik 86 00:04:00,360 --> 00:04:04,330 talba, u mbagħad Apache huwa kkostitwit hemm u ċifri biex jagħmlu magħha. 87 00:04:04,330 --> 00:04:08,840 U l-azzjoni huwa li tesegwixxi dan il-kodiċi fil-index.php u 88 00:04:08,840 --> 00:04:11,330 allura ibgħatha lura. 89 00:04:11,330 --> 00:04:15,640 Allura hemm dak. 90 00:04:15,640 --> 00:04:16,980 Allura aħna tip ta 'tkellem dwar dan. 91 00:04:16,980 --> 00:04:21,990 Għalhekk tista 'sservi biss fajl statika jew run xi kodiċi PHP u mbagħad kwistjoni 92 00:04:21,990 --> 00:04:23,510 ir-rispons. 93 00:04:23,510 --> 00:04:27,670 >> Mela allura kwistjoni komuni li jistgħu jiġu up huwa tajjeb, kif do we verament jittrattaw 94 00:04:27,670 --> 00:04:31,750 ma jkollhom l-utenti multipli fl-istess ħin? 95 00:04:31,750 --> 00:04:36,930 Allura immaġina jekk inti kienu kitba ta 'web server, jekk kellek web server li 96 00:04:36,930 --> 00:04:39,900 inti kienu jippruvaw jiktbu xi ħaġa bħal C jew xi ħaġa bħal dik, 97 00:04:39,900 --> 00:04:45,150 bażikament inti tista 'taħseb dwar kif hemm jista 'jkun hemm xi tip ta' kodiċi li 98 00:04:45,150 --> 00:04:49,330 jirċievu t-talba, iżda mbagħad dan għandha tagħmel dan ix-xogħol kollu fuqha. 99 00:04:49,330 --> 00:04:53,060 Huwa jista 'jkollhom, per eżempju, ikkuntattja l- database jew xi ħaġa bħal dik. 100 00:04:53,060 --> 00:04:53,300 Dritt? 101 00:04:53,300 --> 00:04:56,010 U allura tagħmel dan it-tip tal-ipproċessar u mbagħad 102 00:04:56,010 --> 00:04:57,060 jintbagħtu lura r-rispons. 103 00:04:57,060 --> 00:04:58,950 Allura dak hu bħall-għolja ħarsa ġenerali livell. 104 00:04:58,950 --> 00:05:04,210 >> Imma din mhix immedjatament ovvju kif inti tista 'tagħmel dan b'mod li żewġ persuni jew 105 00:05:04,210 --> 00:05:09,040 anke 1,000 ruħ jistgħu jaħdmu flimkien ma tiegħek web server fl-istess ħin. 106 00:05:09,040 --> 00:05:14,880 Sabiex is-soluzzjoni li Apache juża tissejjaħ ħjut jew proċessi. 107 00:05:14,880 --> 00:05:16,770 Allura inti tista smajt ta ' dawn it-termini qabel. 108 00:05:16,770 --> 00:05:22,190 Huwa OK jekk int ma, iżda biss jaħsbu dwar ħjut jew proċessi bħala modi għall- 109 00:05:22,190 --> 00:05:26,290 sistema operattiva jew programm utent jew xi ħaġa bħal dik jew web server 110 00:05:26,290 --> 00:05:28,810 għal tip ta 'tesegwixxi multipli affarijiet f'daqqa. 111 00:05:28,810 --> 00:05:31,760 Allura inti tista smajt it-terminu bħal ħjut ta 'eżekuzzjoni. 112 00:05:31,760 --> 00:05:34,140 Allura huwa tip ta 'bħal int tip ta 'multitasking. 113 00:05:34,140 --> 00:05:37,710 >> U jekk inti stajt tidher fuq il-kaxxa tal tiegħek laptop, jew xi ħaġa bħal dik, 114 00:05:37,710 --> 00:05:43,040 multipolari, x'tista 'tagħmel huwa inti tista' run żewġ ħjut differenti fuq differenti 115 00:05:43,040 --> 00:05:46,700 partijiet tal-CPU sabiex ikunu jistgħu attwalment jiġri fl-istess ħin. 116 00:05:46,700 --> 00:05:48,100 Allura dan huwa verament b'saħħtu. 117 00:05:48,100 --> 00:05:52,270 U dan huwa tip ta 'l-Apache soluzzjoni għal din il-problema. 118 00:05:52,270 --> 00:05:57,900 >> Allura hemm tip simili xi kwistjonijiet ma 'dan l-approċċ għalkemm? 119 00:05:57,900 --> 00:05:59,870 So I raden I tip ta kiteb hemmhekk. 120 00:05:59,870 --> 00:06:03,440 Iżda tnejn minnhom xorta ta ' jużaw ħafna ta 'memorja. 121 00:06:03,440 --> 00:06:07,490 Huwa għaljin ħafna biex joħolqu ħajt jew proċess. 122 00:06:07,490 --> 00:06:11,750 >> U l-parti tar-raġunament li huwa biss bħal meta int tmexxi programm C 123 00:06:11,750 --> 00:06:15,090 bħall prinċipali tiegħek u mbagħad li s-sejħiet funzjoni oħra, li għandha 124 00:06:15,090 --> 00:06:16,520 xi tip ta 'munzell. 125 00:06:16,520 --> 00:06:19,910 Allura ħjut jitlob ukoll kompletament munzell separata li 126 00:06:19,910 --> 00:06:21,220 jista 'jkun pjuttost kbar. 127 00:06:21,220 --> 00:06:25,170 U jekk inti tista 'jimmaġina li tunnellata ta' utenti fuq website tiegħek, inti jkollok 128 00:06:25,170 --> 00:06:26,280 ħafna ta 'ħjut differenti. 129 00:06:26,280 --> 00:06:28,230 Li l-lott ta 'stacks biex tiġġestjona u żżomm. 130 00:06:28,230 --> 00:06:31,280 Allura huwa konsum memorja kbar. 131 00:06:31,280 --> 00:06:35,650 >> U mbagħad, ukoll, ejja ngħidu li inti biss għandek CPU wieħed, jew ejja ngħidu li għandek 132 00:06:35,650 --> 00:06:38,460 aktar ħjut minn għandek dawk Multicores. 133 00:06:38,460 --> 00:06:38,730 Dritt? 134 00:06:38,730 --> 00:06:43,280 Mela ejja ngħidu kellek 10 ħjut u inti biss kellhom ħames CPUs. 135 00:06:43,280 --> 00:06:46,260 Inti tip ta 'għandek tagħmel dan ħaġa fejn taqleb bejn l-kurrent 136 00:06:46,260 --> 00:06:49,090 wieħed li taħdem għaliex inti ma tista 'taħdem kollha 10 f'daqqa. 137 00:06:49,090 --> 00:06:50,980 U li sejjaħ swiċċ-kuntest. 138 00:06:50,980 --> 00:06:54,260 U dak it-terminu fil-fatt għandha koppja ta ' f'kuntesti differenti, imma ejja biss 139 00:06:54,260 --> 00:06:56,620 jaħsbu bħala switching bejn żewġ ħjut. 140 00:06:56,620 --> 00:06:59,730 Dan jista 'jkun pjuttost għoljin minħabba bażikament dak li għandek tagħmel huwa inti 141 00:06:59,730 --> 00:07:03,340 ikollhom jieqfu dak li qed isir, ħlief il- istat ta 'dak il-ħajt taħdem, u 142 00:07:03,340 --> 00:07:05,440 imbagħad jaqilbu għal x'imkien ieħor. 143 00:07:05,440 --> 00:07:09,420 >> Allura ma kulħadd tip ta 'tara l- motivazzjoni ta 'għaliex ħjut u 144 00:07:09,420 --> 00:07:12,030 proċessi jista 'jkun ftit goff? 145 00:07:12,030 --> 00:07:13,840 U ma għandek xi mistoqsija? 146 00:07:13,840 --> 00:07:14,376 OK. 147 00:07:14,376 --> 00:07:15,070 Kessaħ. 148 00:07:15,070 --> 00:07:18,090 Kulmin xi mistoqsijiet? 149 00:07:18,090 --> 00:07:19,620 OK. 150 00:07:19,620 --> 00:07:26,720 >> Mela jekk nieħdu pass lura għat-tieni, hemm tip ta 'bħal 151 00:07:26,720 --> 00:07:30,350 osservazzjoni li nistgħu nagħmlu dwar ħafna ta 'applikazzjonijiet web. 152 00:07:30,350 --> 00:07:34,810 U li verament li ħafna minnhom attwalment ma tagħmel li ħafna utli 153 00:07:34,810 --> 00:07:37,140 xogħol ġewwa ta 'ħajt. 154 00:07:37,140 --> 00:07:41,170 Allura jkun xi ħadd beda fuq P stabbiliti seba livelli kollha? 155 00:07:41,170 --> 00:07:45,650 Allura inti tixtieq li forsi jiddeskrivu xi wħud mill-partijiet? 156 00:07:45,650 --> 00:07:47,850 Ħdimt login jew xi ħaġa bħal dik? 157 00:07:47,850 --> 00:07:49,330 >> UDJENZA: Le 158 00:07:49,330 --> 00:07:49,780 >> KEVIN SCHMID: OK. 159 00:07:49,780 --> 00:07:50,150 Qatt f'moħħu. 160 00:07:50,150 --> 00:07:50,900 Jiddispjacini. 161 00:07:50,900 --> 00:07:55,790 Imma bażikament, fil-P sett, int se tkun qed tagħmel ħafna ta 'tip ta' 162 00:07:55,790 --> 00:07:59,760 mistoqsijiet għal database biex nikseb xi informazzjoni minn din id-database. 163 00:07:59,760 --> 00:08:03,330 U dak kodiċi tiegħek se tkun qiegħda tagħmel, dak il-proċess Apache jew 164 00:08:03,330 --> 00:08:06,030 dak il-ħajt Apache se tkun qiegħda tagħmel filwaqt li għandu jikkuntattja lill- 165 00:08:06,030 --> 00:08:08,990 database huwa huwa tip ta 'se tkun hemm seduta u li għaddej biex tkun 166 00:08:08,990 --> 00:08:12,130 stennija għall-database biex iwieġbu. 167 00:08:12,130 --> 00:08:16,290 >> Issa li ma jista 'ħoss bħal dik big jittrattaw għaliex d-database huwa fuq tiegħek 168 00:08:16,290 --> 00:08:18,240 Appliance CS50, right? 169 00:08:18,240 --> 00:08:22,930 Iżda hemm xi tip ta 'network latency hemm għaliex issa l-web 170 00:08:22,930 --> 00:08:26,830 server għandu joħroġ talba tiegħu stess biex d-database li jikkomunikaw ma 'l- 171 00:08:26,830 --> 00:08:29,520 database u mbagħad jiksbu li informazzjoni lura. 172 00:08:29,520 --> 00:08:33,190 Allura issa huwa simili ukoll stenna għalija, jien se jmorru tikseb xi ħaġa mill- 173 00:08:33,190 --> 00:08:35,770 database u allura hemm lott ta 'stennija għaddejjin. 174 00:08:35,770 --> 00:08:36,870 Does li jagħmel sens? 175 00:08:36,870 --> 00:08:38,580 >> U għal xi affarijiet huwa mhux ħażin. 176 00:08:38,580 --> 00:08:41,950 Jekk biss għandha, per eżempju, memorja ta 'aċċess, li mhuwiex simili 177 00:08:41,950 --> 00:08:44,100 horrible latency I / O. 178 00:08:44,100 --> 00:08:47,110 U meta ngħid, I / latency O, liema jien jirreferu għall huwa, bħal kull tip ta 'prodotti simili 179 00:08:47,110 --> 00:08:48,290 output input. 180 00:08:48,290 --> 00:08:52,950 Iżda għall-aċċess għal fajl fuq id-diska, bħal jekk jien ridt li jservu l-HTML statiku 181 00:08:52,950 --> 00:08:57,850 fajl li kien fuq il-paġna web tiegħi jew xi ħaġa bħal dik, I tip ta 'jkollu 182 00:08:57,850 --> 00:09:02,310 tieqaf għal ftit, aqra dan il-fajl minn fuq il-disk, u mbagħad 183 00:09:02,310 --> 00:09:04,400 dak il-proċess jien stennija. 184 00:09:04,400 --> 00:09:06,700 Jien ma jagħmlu xogħol utli. 185 00:09:06,700 --> 00:09:11,270 >> Dan mhux veru ta 'kollox, iżda huwa komuni fl-applikazzjonijiet bħall-P set 186 00:09:11,270 --> 00:09:13,960 seba 'u ħafna ta' applikazzjonijiet li int ma 187 00:09:13,960 --> 00:09:15,440 fil-fatt jagħmlu ħafna ħsieb. 188 00:09:15,440 --> 00:09:19,090 U meta ngħid ħsieb, I tfisser bħal xogħol komputazzjoni. 189 00:09:19,090 --> 00:09:23,270 Xogħol sabiex komputazzjoni tista 'tkun xi ħaġa bħal, ngħidu aħna, int riedu 190 00:09:23,270 --> 00:09:26,590 jiktbu web server li biss komputat in-numru Fibonacci nth. 191 00:09:26,590 --> 00:09:29,300 Dan ma ħoss bħal partikolarment web server gost. 192 00:09:29,300 --> 00:09:34,220 Like I ma jistennewx li sit li jkun il-Facebook jmiss, iżda li hija xi 193 00:09:34,220 --> 00:09:35,610 tip ta 'xogħol komputazzjoni. 194 00:09:35,610 --> 00:09:39,570 >> U tista 'timmaġina li jissostitwixxi dik ma' xi tip ieħor ta 'interessanti 195 00:09:39,570 --> 00:09:43,070 xogħol komputazzjoni. 196 00:09:43,070 --> 00:09:46,050 Ejja ngħidu li inti kienu bil-miktub xi ħaġa dak ikkalkulat l-gradi ta ' 197 00:09:46,050 --> 00:09:49,170 separazzjoni bejn żewġ persuni jew xi ħaġa bħal dik. 198 00:09:49,170 --> 00:09:51,860 Allura li ma jinvolvi xi tip ta 'kalkolu, id-dritt? 199 00:09:51,860 --> 00:09:56,630 U anke dakinhar, biex tagħmel li inti xorta jkollhom li jagħmlu ħafna ta 'stennija għall forsi 200 00:09:56,630 --> 00:09:59,550 inti għandek mistoqsija database biex tfittex up li l-ħbieb ma 'min jew 201 00:09:59,550 --> 00:10:00,600 xi ħaġa bħal dik. 202 00:10:00,600 --> 00:10:03,510 Għalhekk hemm dak it-tip ta 'kunċett xogħol ta 'komputazzjoni. 203 00:10:03,510 --> 00:10:05,260 Does li jagħmel sens? 204 00:10:05,260 --> 00:10:08,258 Ħadd ma jkollu xi mistoqsijiet? 205 00:10:08,258 --> 00:10:11,960 >> Oh u I raden I jitqiegħdu chat servers hemm minħabba chat servers huma tip ta ' 206 00:10:11,960 --> 00:10:13,240 Eżempju tajjeb ieħor ta 'dan. 207 00:10:13,240 --> 00:10:15,250 A chat server ma jkollux li jagħmlu ħafna ħsieb. 208 00:10:15,250 --> 00:10:18,350 Hija biss għandha tistenna għal nies li jibagħtu messaġġi u mbagħad meta 209 00:10:18,350 --> 00:10:19,800 dawn, jibagħtuhom. 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 >> Hekk biss biex terġa darb'oħra, Apache u servers web simili bħal dik fork a 213 00:10:28,180 --> 00:10:31,470 lott ta 'ħjut u proċessi li jista 'jkun it-tip ta' ħela. 214 00:10:31,470 --> 00:10:37,530 So I raden il-kwistjoni li jista 'jiġi minn li għandna bżonn li jkollhom 215 00:10:37,530 --> 00:10:39,610 ħjut u proċessi multipli? 216 00:10:39,610 --> 00:10:41,890 X'jiġri jekk aħna biss kellhom wieħed? 217 00:10:41,890 --> 00:10:45,710 >> Mela ejja tip ta 'żebgħa stampa ta 'dak li dan look like. 218 00:10:45,710 --> 00:10:47,810 Mela ejja jużaw ħajt wieħed biss. 219 00:10:47,810 --> 00:10:48,660 OK? 220 00:10:48,660 --> 00:10:52,790 Hekk biss jimmaġina dan ma 'ħajt wieħed. 221 00:10:52,790 --> 00:10:56,600 >> Ejja nassumu li ma konniex verament qed jagħmlu li ħafna utli - u meta ngħid 222 00:10:56,600 --> 00:10:59,450 utli, I tfisser xogħol komputazzjoni - 223 00:10:59,450 --> 00:11:01,130 f'dawk ħjut multipli qabel. 224 00:11:01,130 --> 00:11:04,180 Mela ejja tip ta 'jikkonsolida kollox fis ħajt wieħed. 225 00:11:04,180 --> 00:11:07,780 Allura dak jekk kellna ħajt wieħed li tip ta 'biss tmur madwar fil-linja u 226 00:11:07,780 --> 00:11:10,880 kontinwament kontrolli għamilt xi ħaġa ġdid jiġri. 227 00:11:10,880 --> 00:11:15,130 Hekk per eżempju, xi ħaġa ġdida ġara jista 'jfisser sibt xi ħaġa lura mill- 228 00:11:15,130 --> 00:11:19,310 -database, jew xi ħadd mibgħut me talba HTTP ġdid. 229 00:11:19,310 --> 00:11:22,290 Għalhekk dawn huma tip ta 'avvenimenti li jiġri, id-dritt? 230 00:11:22,290 --> 00:11:26,130 >> U allura dak I tista 'tagħmel meta dawk ġodda affarijiet jiġri huwa f'dan istess ħajt 231 00:11:26,130 --> 00:11:30,120 ta 'eżekuzzjoni, dan il-ħajt uniku ta' eżekuzzjoni, I tista 'sejħa xi kodiċi li 232 00:11:30,120 --> 00:11:32,410 tieħu ħsieb li ħaġa partikolari. 233 00:11:32,410 --> 00:11:36,640 Hekk per eżempju, jekk sibt xi ħaġa lura mid-database, I tista 'tmexxi tiegħi 234 00:11:36,640 --> 00:11:40,960 parti komputazzjoni żgħira minnha li attwalment biss tipprepara l-ħaġa li 235 00:11:40,960 --> 00:11:42,620 jibgħat lura lill-utent. 236 00:11:42,620 --> 00:11:46,710 Allura ma dak it-tip ta 'jagħmel sens? 237 00:11:46,710 --> 00:11:49,940 >> Imma x'inhuma verament il- implikazzjonijiet ta 'dan? 238 00:11:49,940 --> 00:11:50,660 Dritt? 239 00:11:50,660 --> 00:11:53,730 Għaliex aħna ħadthom bil-miktub ħafna ta 'kodiċi li - 240 00:11:53,730 --> 00:11:58,330 u jien biss ser jaqbżu l quddiem fil-slides jekk dan huwa OK. 241 00:11:58,330 --> 00:12:00,930 Mela jekk inti ma mind, jien biss ser tieħu pass lura. 242 00:12:00,930 --> 00:12:03,410 Allura dan it-tip ta 'ħaġa huwa jissejjaħ avveniment loop. 243 00:12:03,410 --> 00:12:04,070 OK? 244 00:12:04,070 --> 00:12:07,240 U huwa tip tar-Regolament bażiku idea wara Node.js. 245 00:12:07,240 --> 00:12:11,240 >> Allura dak Node.js hu verament tagħmel bħala web server huwa hemm thread wieħed 246 00:12:11,240 --> 00:12:14,850 li bażikament għaddejjin madwar fil-linja bħal filwaqt li xorta waħda ta 'taħt 247 00:12:14,850 --> 00:12:18,510 il-barnuża ta 'Node.js thats kontinwament verifika, ma nirċievu affarijiet ġodda? 248 00:12:18,510 --> 00:12:22,720 U mbagħad se jimxu handlers li inti twaqqaf. 249 00:12:22,720 --> 00:12:26,720 Iżda mistoqsija tajba li nistaqsu hija, kif nistgħu nagħmlu dan iseħħ 250 00:12:26,720 --> 00:12:28,090 ma 'affarijiet eżistenti? 251 00:12:28,090 --> 00:12:32,440 >> So I tpoġġi linja tal-kodiċi C hawnhekk li bażikament qisu huwa ftuħ ta ' 252 00:12:32,440 --> 00:12:33,060 fajl, id-dritt? 253 00:12:33,060 --> 00:12:36,090 I Hija biss daħal out ma 'album. 254 00:12:36,090 --> 00:12:39,600 So I kellha tiftaħ fajl ġdid tagħha. 255 00:12:39,600 --> 00:12:43,810 Allura l-mod kodiċi C tagħna għat-tħaddim - 256 00:12:43,810 --> 00:12:47,890 u I raden-raġuni I għażlet files kien għaliex dan huwa tip ta 'kemm 257 00:12:47,890 --> 00:12:52,000 tal-ħidma I / O li aħna ghamilt fis-C fil- sens li hemm output input. 258 00:12:52,000 --> 00:12:55,070 Allura aħna sejħa dan kodiċi li ma dan f miftuħa. 259 00:12:55,070 --> 00:12:59,370 U mbagħad fuq il-linja li jmiss ta 'tagħna programm, aħna issa jistgħu jaħdmu f. 260 00:12:59,370 --> 00:13:02,710 >> Għalhekk dan ikun ta 'eżempju ta' xi ħaġa li simili sinkronika jew 261 00:13:02,710 --> 00:13:06,850 imblukkar għax fuq dik ewwel linja hemm aħna qed jistennew sakemm aħna 262 00:13:06,850 --> 00:13:08,110 jiksbu l-fajl miftuħ. 263 00:13:08,110 --> 00:13:12,260 Allura fit-tieni linja, nafu li aħna jistgħu jaħdmu ma 'f, iżda dan ifisser li 264 00:13:12,260 --> 00:13:16,240 li t-tieni linja ma tistax verament jimxu sakemm l-ewwel linja isir. 265 00:13:16,240 --> 00:13:17,760 Does li jagħmel sens? 266 00:13:17,760 --> 00:13:20,890 >> Għalhekk dan ikun ħażin li jitqiegħed f'avveniment handler. 267 00:13:20,890 --> 00:13:23,920 U r-raġuni għal dan hija li dan it-tip ta 'tistenna, right? 268 00:13:23,920 --> 00:13:26,500 Allura dan jerġgħu lura us back għall-istess ħaġa. 269 00:13:26,500 --> 00:13:29,470 U issa aħna ma jkollhomx lanqas l- benefiċċju ta 'ħjut multipli jew 270 00:13:29,470 --> 00:13:32,390 proċessi għaliex aħna ltqajna ħajt wieħed Node.js. 271 00:13:32,390 --> 00:13:35,496 Does li jagħmel sens għal kulħadd? 272 00:13:35,496 --> 00:13:35,990 >> UDJENZA: Stenna. 273 00:13:35,990 --> 00:13:36,980 Allura x'inhu l-sostituzzjoni? 274 00:13:36,980 --> 00:13:37,840 >> KEVIN SCHMID: Oh, hekk iva. 275 00:13:37,840 --> 00:13:39,560 Hekk jien se tikseb biex is-sostituzzjoni. 276 00:13:39,560 --> 00:13:40,430 OK. 277 00:13:40,430 --> 00:13:42,960 Allura dak jekk kellna xi ħaġa li dehru qishom dan? 278 00:13:42,960 --> 00:13:45,730 Allura dak li jekk issa I editjat f tiftaħ ftit? 279 00:13:45,730 --> 00:13:48,370 Hekk jien tgħaddi fl-istess żewġ argumenti bħal qabel. 280 00:13:48,370 --> 00:13:52,610 I still love-kanzunetta l-ġdida li hi ħareġ bil. 281 00:13:52,610 --> 00:13:57,260 Imma jien tgħaddi terz ħaġa li huwa dan il-varjabbli msejjaħ kodiċi. 282 00:13:57,260 --> 00:14:02,280 >> Imma dak li hu kodiċi attwalment f'dan il-kuntest? 283 00:14:02,280 --> 00:14:05,360 Huwa simili varjabbli regolari C? 284 00:14:05,360 --> 00:14:06,740 Huwa funzjoni, id-dritt? 285 00:14:06,740 --> 00:14:09,450 U li tista 'tkun ftit stramb għaliex Jien fil-fatt bħal issa tgħaddi 286 00:14:09,450 --> 00:14:12,320 jiffunzjonaw fis funzjoni oħra. 287 00:14:12,320 --> 00:14:14,400 >> Affarijiet hekk koppja li wieħed jinnota dwar dan. 288 00:14:14,400 --> 00:14:17,145 Waħda, jien ma attwalment sejħa il-funzjoni kodiċi. 289 00:14:17,145 --> 00:14:20,650 Allura inti ma tara kodiċi ma 'l- paren xellug, paren dritt. 290 00:14:20,650 --> 00:14:23,010 Jien biss tgħaddi fil-kodiċi. 291 00:14:23,010 --> 00:14:26,990 U fl-C, dak li dan ikun fil-fatt jagħmlu hija tagħti me a pointer għal dik attwali 292 00:14:26,990 --> 00:14:29,740 kodiċi, u mbagħad dan jista run. 293 00:14:29,740 --> 00:14:33,350 Iżda biss jaħsbu dwar dan kif int tgħaddi l-kodiċi biex jimxu meta 294 00:14:33,350 --> 00:14:35,150 dan il-fajl ikun miftuħ. 295 00:14:35,150 --> 00:14:41,430 >> Imma dak li dan ifisser huwa li issa l- bqija tal-programm tiegħi li tista 'tagħmel 296 00:14:41,430 --> 00:14:47,050 Jittieħed oħra, tista 'tkompli tagħmel ieħor Jittieħed filwaqt li aħna, ma verament tistenna, iżda 297 00:14:47,050 --> 00:14:50,890 biss ikollhom fil-dahar tal-kapijiet tagħna li meta dik fajl miftuħ, run li 298 00:14:50,890 --> 00:14:52,130 kodiċi fil-quċċata. 299 00:14:52,130 --> 00:14:53,390 Does li jagħmel sens? 300 00:14:53,390 --> 00:14:58,060 >> U issa l-idea wara Node.js hija li il-kodiċi fil-għalf do ma 'f 301 00:14:58,060 --> 00:15:04,590 parti għandu jkun pjuttost qosra u sempliċi u sempliċi u mhux verament tkun 302 00:15:04,590 --> 00:15:06,160 intensiv computationally ħafna. 303 00:15:06,160 --> 00:15:09,390 Jista 'jkollha tiftaħ fajl ieħor, iżda li għandha wkoll tkun pjuttost malajr 304 00:15:09,390 --> 00:15:14,710 għaliex għandu biss jgħidu tagħmel ieħor f tiftaħ u mbagħad sejħa dan il-kodiċi oħra. 305 00:15:14,710 --> 00:15:19,100 >> Hekk biss li tkun kompletament ċara, il-f miftuħa li ma l-kanzunetta l-ġdida Katy Perry 306 00:15:19,100 --> 00:15:23,060 mp3 jsir, li għaddej biex pretty ħafna jirritorna immedjatament. 307 00:15:23,060 --> 00:15:27,820 U allura nistgħu biss tkompli tagħmel Jittieħed oħra minħabba kollha li issa f 308 00:15:27,820 --> 00:15:33,410 sejħa miftuħa ma hija tgħid bażikament l- kodiċi open f sottostanti tiftaħ dan il-fajl 309 00:15:33,410 --> 00:15:36,020 u meta qed isir ftuħ dan fajl jew meta ikollok lura, 310 00:15:36,020 --> 00:15:37,480 imbagħad run dan il-kodiċi. 311 00:15:37,480 --> 00:15:39,540 Iżda dan ma tmexxi effettivament dan il-kodiċi. 312 00:15:39,540 --> 00:15:41,815 U kellek kwistjoni? 313 00:15:41,815 --> 00:15:46,180 >> UDJENZA: Inti deher li jimplikaw ftit drabi li żżid computationally 314 00:15:46,180 --> 00:15:50,545 kodiċi intensiv tip ta 'jkisser il- [Inaudible] misjuqa sistema. 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: Li l-kwistjoni kbira. 318 00:15:55,290 --> 00:15:59,280 So I attwalment ikollhom eżempju ta 'kif inti tista 'tintegra computationally 319 00:15:59,280 --> 00:16:01,090 kodiċi intensiv ftit. 320 00:16:01,090 --> 00:16:03,620 Allura meta nikbru għall-eżempji kodiċi, I ser tkun żgur li pull li wieħed. 321 00:16:03,620 --> 00:16:04,700 Huwa li OK? 322 00:16:04,700 --> 00:16:05,950 Grazzi. 323 00:16:05,950 --> 00:16:07,690 324 00:16:07,690 --> 00:16:08,750 >> Liema kien l-isem tiegħek? 325 00:16:08,750 --> 00:16:10,620 >> UDJENZA: Aaron. 326 00:16:10,620 --> 00:16:14,830 >> KEVIN SCHMID: Aaron itella 'ħafna punt tajjeb, li hija li jekk kelli 327 00:16:14,830 --> 00:16:18,560 xi kodiċi intensiv computationally fl l-għalf ma 'f parti, il-bqija tal- 328 00:16:18,560 --> 00:16:22,880 programm tiegħi ma tista 'taħdem u ma tistax tisma' għal talbiet ġodda jew xejn sakemm kollha 329 00:16:22,880 --> 00:16:24,270 li Jittieħed huwa lest. 330 00:16:24,270 --> 00:16:27,390 Mela jekk jien bil-miktub kodiċi Node b'mod ġenerali sakemm nagħmlu xi ħaġa simili jien ser 331 00:16:27,390 --> 00:16:33,060 li tissuġġerixxi aktar tard meta nħarsu lejn l- eżempji kodiċi, I għandek tkun żgur li 332 00:16:33,060 --> 00:16:36,060 kodiċi tiegħi ma jsegwix dan l-avveniment loop. 333 00:16:36,060 --> 00:16:38,120 Does li jagħmel sens? 334 00:16:38,120 --> 00:16:38,350 OK. 335 00:16:38,350 --> 00:16:40,040 Kessaħ. 336 00:16:40,040 --> 00:16:47,090 >> Allura Node.js joffri dan il-qafas li inti tista 'tibni dawn avveniment misjuqa 337 00:16:47,090 --> 00:16:48,210 servers ma. 338 00:16:48,210 --> 00:16:53,460 Għalhekk għandha dawn it-tip ta 'mhux sinkroniku non-imblukkar I / O libreriji, billi 339 00:16:53,460 --> 00:16:56,800 il-libreriji standard Ċ li aħna kont qed jaħdmu ma, bħal jekk inti biss 340 00:16:56,800 --> 00:16:59,500 jużawhom fl-istess mod li konna ilhom jużawhom ma 'f jiftaħ u 341 00:16:59,500 --> 00:17:03,000 Jittieħed, dawk huma imblukkar minħabba inti fil-fatt għandek tistenna għal 342 00:17:03,000 --> 00:17:04,470 dan il-fajl biex tiftaħ. 343 00:17:04,470 --> 00:17:09,290 >> Imma inti Node.js jagħtik li u bażikament rabtiet fis V8 Google 344 00:17:09,290 --> 00:17:14,030 JavaScript magna li hija r-raġuni li Chrome hija tant mgħaġġla fil-proċessar 345 00:17:14,030 --> 00:17:17,040 JavaScript għaliex għandha din il-magna V8. 346 00:17:17,040 --> 00:17:22,460 So I jafu li tinstema 'wieħed minn dawk WWDC konferenzi iżviluppatur ħaġa 347 00:17:22,460 --> 00:17:25,390 fejn huma biss tarmi mazz tal- numru ittra affarijiet għall-proċessuri 348 00:17:25,390 --> 00:17:26,910 u jgħidu dan huwa hekk jibred. 349 00:17:26,910 --> 00:17:34,200 Iżda huwa jibred li dawn ma dan għaliex JavaScript - 350 00:17:34,200 --> 00:17:37,010 jew forsi jekk int ma jkunux familjari mal- JavaScript għadhom għaliex aħna ma kellhomx 351 00:17:37,010 --> 00:17:38,180 l-lectures fuq it - 352 00:17:38,180 --> 00:17:40,770 iżda JavaScript huwa interpretat lingwa. 353 00:17:40,770 --> 00:17:41,970 >> U dan huwa punt importanti wisq. 354 00:17:41,970 --> 00:17:45,790 Allura huwa importanti għall-web tagħna servers li tkun rapida, right? 355 00:17:45,790 --> 00:17:49,970 U jekk konna biss running JavaScript kodiċi li ġiet interpretata biss 356 00:17:49,970 --> 00:17:52,130 kull interpretu qodma jista 'jkun bil-mod. 357 00:17:52,130 --> 00:17:55,980 Benefiċċji hekk Node milli jkollhom dan interpretu V8 super fast. 358 00:17:55,980 --> 00:17:59,580 U jien ma nafx jekk jismu dan minħabba li l-SLAP V8 fil-forehead 359 00:17:59,580 --> 00:18:01,110 ħaġa, iżda OK. 360 00:18:01,110 --> 00:18:07,070 >> Hekk stajt ippreparat xi eżempji f'dan URL. 361 00:18:07,070 --> 00:18:10,490 Wara l-seminar, jien tip ta 'ser jitkellmu dwar kif tista 'tikseb sett Node 362 00:18:10,490 --> 00:18:13,570 up, iżda għal issa, I biss tip ta 'trid jimxu permezz xi eżempji kodiċi. 363 00:18:13,570 --> 00:18:17,250 Mela jekk inti tixtieq li ssegwi tul, l- kodiċi ta 'sors disponibbli hemmhekk. 364 00:18:17,250 --> 00:18:18,720 OK? 365 00:18:18,720 --> 00:18:22,280 >> So I ser tħalli din URL up għal ftit. 366 00:18:22,280 --> 00:18:24,440 U mbagħad jien biss se jaqilbu fil-terminal. 367 00:18:24,440 --> 00:18:29,670 368 00:18:29,670 --> 00:18:34,400 Huwa kulħadd tajba ma dan il-URL? 369 00:18:34,400 --> 00:18:37,990 Hekk jien ser jisswiċċja biex terminal tiegħi hawnhekk. 370 00:18:37,990 --> 00:18:42,030 >> Allura hawnhekk-kodiċi li I jkollhom għal-lum. 371 00:18:42,030 --> 00:18:43,960 Għaliex ma we tibda bil simpler.js fajl? 372 00:18:43,960 --> 00:18:49,110 373 00:18:49,110 --> 00:18:52,100 Il-ħaġa oħra hija li kollha ta 'dan kodiċi se jinkitbu 374 00:18:52,100 --> 00:18:56,660 JavaScript li inti tista 'jew jistgħu ma jkunux familjari magħhom. 375 00:18:56,660 --> 00:19:00,170 I raden ftit affarijiet hija li ħafna tal-kodiċi JavaScript hu t-tip ta ' 376 00:19:00,170 --> 00:19:04,000 sintassi u l-istruttura hija simili ħafna għal C, sabiex inti tista 'tip ta' pick it up bħala 377 00:19:04,000 --> 00:19:05,020 tmur flimkien. 378 00:19:05,020 --> 00:19:08,750 Stajt ppruvaw jiktbu ħafna ta 'l- kodiċi bidu għal din b'mod li l- 379 00:19:08,750 --> 00:19:11,230 simili għal C b'tali mod li huwa ftit aktar leġġibbli. 380 00:19:11,230 --> 00:19:15,980 Imma kif aħna l-progress, I ser tkun turi xi wħud mill-addizzjonali 381 00:19:15,980 --> 00:19:18,980 karatteristiċi ta 'JavaScript li huma tip ta 'kessaħ. 382 00:19:18,980 --> 00:19:21,510 >> Imma ejja nħarsu lejn dan il-programm kampjun. 383 00:19:21,510 --> 00:19:24,820 I raden kollox maqtugħ off hemmhekk. 384 00:19:24,820 --> 00:19:28,500 Jien biss se jiffissaw dak reali fast jekk dan OK jew le. 385 00:19:28,500 --> 00:19:31,400 I do not know dak li dan huwa se jagħmel. 386 00:19:31,400 --> 00:19:34,660 Hija li ftit aħjar? 387 00:19:34,660 --> 00:19:36,510 Tista 'tara l var u l-għalf? 388 00:19:36,510 --> 00:19:39,320 OK. 389 00:19:39,320 --> 00:19:44,120 >> Allura l-ewwel linja huwa bħall-JavaScript verżjoni ta 'varjabbli 390 00:19:44,120 --> 00:19:44,800 dikjarazzjoni. 391 00:19:44,800 --> 00:19:49,870 Hekk biss li tenfasizza dak li dan seta ' look like fil C. Allura dan huwa biss bħal 392 00:19:49,870 --> 00:19:52,620 indiċi me qal ugwali tlieta jew xi ħaġa bħal dik. 393 00:19:52,620 --> 00:19:55,740 So I ma tispeċifikax it-tip. 394 00:19:55,740 --> 00:20:00,780 JavaScript ma għandhom tipi, imma hija ħafna dinamikament ittajpjat fin-natura, hekk 395 00:20:00,780 --> 00:20:02,580 ma pprovdew ebda tip ta 'tip fuqha. 396 00:20:02,580 --> 00:20:03,670 Għalhekk biss għandha var. 397 00:20:03,670 --> 00:20:05,320 C'est simili varjabbli. 398 00:20:05,320 --> 00:20:05,920 OK? 399 00:20:05,920 --> 00:20:08,340 >> U jien ssejjaħ dan HTTP varjabbli. 400 00:20:08,340 --> 00:20:12,480 U fuq in-naħa tiegħi lemin, għandi l- espressjoni li nixtieq li jitqiegħdu fil HTTP. 401 00:20:12,480 --> 00:20:14,960 U dan jgħid jeħtieġu HTTP. 402 00:20:14,960 --> 00:20:18,500 Allura dan huwa tip ta 'simili li jinkludi. 403 00:20:18,500 --> 00:20:22,940 Huwa ftit aktar simili b'saħħtu minn jinkludu fis-sens li jinkludu 404 00:20:22,940 --> 00:20:26,100 kien biss kopja u paste tal-header fajl għall-prototipi funzjoni jew 405 00:20:26,100 --> 00:20:27,930 tkun xi tkun id-definizzjonijiet tat-tip. 406 00:20:27,930 --> 00:20:30,590 Iżda jeħtieġu li huwa attwalment għaddejjin biex nikseb us-kodiċi. 407 00:20:30,590 --> 00:20:33,280 >> Allura inti tista 'taħseb bħala jimportaw xi kodiċi. 408 00:20:33,280 --> 00:20:37,960 Allura x'imkien fil-modulu Node.js sistema jew kwalunkwe, dawn għandhom dan kollu 409 00:20:37,960 --> 00:20:40,790 Kodiċi server HTTP hekk jien biss fetching għal tiegħi stess 410 00:20:40,790 --> 00:20:43,130 użu personali f'dan il-programm. 411 00:20:43,130 --> 00:20:44,260 OK? 412 00:20:44,260 --> 00:20:46,930 >> Mela allura I jkollhom din il-funzjoni li stajt bil-miktub. 413 00:20:46,930 --> 00:20:50,330 U l-avviż I ma kellhomx biex jispeċifikaw it-tip ta 'ritorn jew it-tip tal- 414 00:20:50,330 --> 00:20:51,140 argumenti darb'oħra. 415 00:20:51,140 --> 00:20:54,440 Għalhekk tip ta 'loose ttajpjata dak it-tip ta 'sens. 416 00:20:54,440 --> 00:20:57,290 Żewġ argumenti li jieħu fl, it-talba u r-rispons. 417 00:20:57,290 --> 00:21:02,080 Allura dak kunċettwalment tip simili familjari mill-istampa li kellna 418 00:21:02,080 --> 00:21:05,280 fuq l-iskrin qabel minħabba nagħmlu din it-talba li aħna 419 00:21:05,280 --> 00:21:06,410 ikollhom mill-utent. 420 00:21:06,410 --> 00:21:09,170 U allura għandna rispons li nistgħu jiktbu affarijiet li. 421 00:21:09,170 --> 00:21:15,060 >> Allura l-ewwel linja ta 'dan ma res.writeHead 200 u allura dan 422 00:21:15,060 --> 00:21:17,070 plain-test tip kontenut. 423 00:21:17,070 --> 00:21:19,300 Mela ejja biċċa dan apparti ftit. 424 00:21:19,300 --> 00:21:22,340 Mela ejja biss jiffoka fuq res.write għal ftit. 425 00:21:22,340 --> 00:21:28,420 Allura tikteb huwa bażikament, u jiktbu ras, huma biss modi biex tip ta 'tikteb out 426 00:21:28,420 --> 00:21:29,960 affarijiet għall-rispons. 427 00:21:29,960 --> 00:21:30,770 OK? 428 00:21:30,770 --> 00:21:36,230 Allura tikteb ras, jekk xi ħadd jiftakar mill-lecture HTTP, do you guys 429 00:21:36,230 --> 00:21:39,940 ftakar headers fil- quċċata tal-ħaġa HTTP? 430 00:21:39,940 --> 00:21:43,580 Allura għaliex ma I biss demo headers malajr reali. 431 00:21:43,580 --> 00:21:44,640 Ikun li jkun utli? 432 00:21:44,640 --> 00:21:45,500 Jew għandna biss tip ta '- 433 00:21:45,500 --> 00:21:46,070 OK. 434 00:21:46,070 --> 00:21:46,740 Sure. 435 00:21:46,740 --> 00:21:52,340 >> Allura meta browser tiegħek tmur għall google.com jew xi ħaġa bħal dik, 436 00:21:52,340 --> 00:21:54,250 hemm attwalment ftit aktar - 437 00:21:54,250 --> 00:21:55,380 dan huwa simili sigriet - 438 00:21:55,380 --> 00:21:58,340 hemm simili ftit aktar informazzjoni li taqa 'ġol-pajp minn sempliċiment 439 00:21:58,340 --> 00:22:00,180 it-tfittxija ftit u kollox. 440 00:22:00,180 --> 00:22:03,550 Allura biex nuruk dan, jien ser li tuża programm imsejjaħ Curl. 441 00:22:03,550 --> 00:22:04,260 OK? 442 00:22:04,260 --> 00:22:08,020 Allura din hija xi ħaġa li inti tista 'taħdem fuq kmand tal-linja Mac OSX tiegħek jew fil- 443 00:22:08,020 --> 00:22:09,830 appliance jew kwalunkwe. 444 00:22:09,830 --> 00:22:17,050 U hekk jekk jien Curl HTTP google.com, Jien ser tara l-HTML. 445 00:22:17,050 --> 00:22:21,230 U dan huwa, fil-ġustizzja, biss il- HTML li tip ta 'jgħidlek li 446 00:22:21,230 --> 00:22:24,695 idawwru biex www jekk browser tiegħek ma awtomatikament jimmaniġġaw il- 447 00:22:24,695 --> 00:22:27,110 direzzjoni mill-ġdid. 448 00:22:27,110 --> 00:22:33,390 >> Allura dan huwa biss HTML, imma jien ser li żżid mal Curl dan sing I bandiera. 449 00:22:33,390 --> 00:22:33,600 OK? 450 00:22:33,600 --> 00:22:35,600 U dan se juru lili l headers. 451 00:22:35,600 --> 00:22:40,640 Allura dan huwa wkoll informazzjoni li ġejja permezz meta I nikseb dan ir-rispons. 452 00:22:40,640 --> 00:22:41,260 OK? 453 00:22:41,260 --> 00:22:45,320 >> Allura fil-quċċata, inti tara dan HTTP 301 jimxu permanentement. 454 00:22:45,320 --> 00:22:49,470 U dan huwa tip ta importanti għaliex dan jirreferi għall-kodiċi istat. 455 00:22:49,470 --> 00:22:53,750 Allura l-301 hawnhekk huwa l-kodiċi istat, li huwa bażikament biss integer 456 00:22:53,750 --> 00:22:57,750 li jirrakkonta l-browser jew min hu taqra dan, jekk inti nippretendu li 457 00:22:57,750 --> 00:23:01,460 int browser u int tara dan, bażikament issa jekk inti tħares lejn 458 00:23:01,460 --> 00:23:04,960 dak u tara 301, inti taf I jkollhom biex jagħmlu xi ħaġa speċjali bbażati fuq 459 00:23:04,960 --> 00:23:08,810 301, jew xi ħaġa speċjali ġara ibbażata fuq il-301. 460 00:23:08,810 --> 00:23:12,640 Hekk jgħid mċaqalqa b'mod permanenti. 461 00:23:12,640 --> 00:23:17,700 >> U mbagħad, bażikament, għandna mazz ta 'pari valur ewlenin. 462 00:23:17,700 --> 00:23:22,100 Allura irridu jiksbu l-post huwa www.google.com. 463 00:23:22,100 --> 00:23:25,190 U mbagħad it-tip ta 'dan kollu Jittieħed oħra, imma bażikament, dak il-post huwa 464 00:23:25,190 --> 00:23:29,662 qal hija l-lokazzjoni ġdida hija fil www.google.com. 465 00:23:29,662 --> 00:23:33,800 Mela issa jekk inti tmur google.com, inti ser tip ta 'tara l-tip browser ta' blink 466 00:23:33,800 --> 00:23:38,770 għat-tieni u mbagħad jagħtu direzzjoni ġdida lura sal www.google.com. 467 00:23:38,770 --> 00:23:41,840 Allura r-risposti jista 'jkun fihom dawn headers. 468 00:23:41,840 --> 00:23:43,330 >> U l-koppja ta 'affarijiet għall-punt out. 469 00:23:43,330 --> 00:23:46,890 Mela ejja ngħidu aħna kienu attwalment suċċess fil jżuru paġna web. 470 00:23:46,890 --> 00:23:49,040 So let me go għal - 471 00:23:49,040 --> 00:23:51,080 x'hemm 'website' tajba? 472 00:23:51,080 --> 00:23:53,285 Jien ħażin fil-ħsieb ta 'tajba websites fuq il-post. 473 00:23:53,285 --> 00:23:53,640 >> UDJENZA: Wikipedija. 474 00:23:53,640 --> 00:23:54,160 >> KEVIN SCHMID: OK. 475 00:23:54,160 --> 00:23:56,040 Ejja nagħmlu Wikipedija. 476 00:23:56,040 --> 00:23:58,680 So here I kien mċaqalqa. 477 00:23:58,680 --> 00:23:59,240 Oh stenna. 478 00:23:59,240 --> 00:24:00,160 Was I? 479 00:24:00,160 --> 00:24:00,890 Iva, I kien. 480 00:24:00,890 --> 00:24:01,100 OK. 481 00:24:01,100 --> 00:24:03,005 So I ltqajna biex jagħmlu www. 482 00:24:03,005 --> 00:24:06,006 Hekk jien ser jagħmlu www. 483 00:24:06,006 --> 00:24:09,680 U kif tista 'tara, hawn l-HTML li l-browser se jipproċessa 484 00:24:09,680 --> 00:24:10,910 għall-Wikipedija. 485 00:24:10,910 --> 00:24:14,055 >> Imma jekk I iżommu scrolling up hawn, dak I ser tara fil-quċċata - 486 00:24:14,055 --> 00:24:17,800 Ara naqra, hemm ħafna ta ' HTML fuq il-Wikipedija - 487 00:24:17,800 --> 00:24:22,550 imma dak I tista 'tara fil-quċċata hawnhekk huwa dan il-kodiċi 200 istatus kif oppost għad- 488 00:24:22,550 --> 00:24:24,570 301 li rajt qabel. 489 00:24:24,570 --> 00:24:27,100 U tinnota li din għandha sbieħ OK friendly li jmiss lilu. 490 00:24:27,100 --> 00:24:29,470 Allura dan huwa bħall-kodiċi istat tajjeb. 491 00:24:29,470 --> 00:24:31,160 >> Does li għadd 200 tfittex familjari? 492 00:24:31,160 --> 00:24:34,120 493 00:24:34,120 --> 00:24:39,880 Iva għaliex meta I ma simpler.js, I kiteb 200 hemmhekk. 494 00:24:39,880 --> 00:24:43,290 Allura thats bażikament tgħid tgħid il- browser jew min qed tipprova tikseb għal 495 00:24:43,290 --> 00:24:45,440 dan li dawn kienu ta 'suċċess. 496 00:24:45,440 --> 00:24:49,040 Jew li tip simili aħna kienu ta 'suċċess wisq. 497 00:24:49,040 --> 00:24:54,320 >> U hemm dan it-tip ta 'sintassi speċjali fl Javascript għal tiddikjara 498 00:24:54,320 --> 00:24:59,870 Mappa ta 'dawn iċ-ċwievet bħal tip kontenut u dawn il-valuri bħal plain-test. 499 00:24:59,870 --> 00:25:03,780 Mela jekk inti tħares lejn ir-rispons li aħna marret lura mill Wikipedia qabel, - 500 00:25:03,780 --> 00:25:06,200 Jien ser jippruvaw li tiskrollja up ftit aktar malajr - 501 00:25:06,200 --> 00:25:09,900 ikollok dawn iċ-ċwievet bħal server u dawn il-valuri Apache. 502 00:25:09,900 --> 00:25:12,120 Allura inti ħadthom ltqajna keys u l-valuri. 503 00:25:12,120 --> 00:25:15,930 U inti tista 'tispeċifika dan fir- Node dak li jibgħat lura. 504 00:25:15,930 --> 00:25:19,380 >> Allura dan huwa attwalment tip ta ', f'xi modi, u f'ċerti modi mhuwiex 505 00:25:19,380 --> 00:25:23,170 verament, iżda huwa f'livell ftit inqas mill-kodiċi PHP li tista 'tkun 506 00:25:23,170 --> 00:25:26,980 miktub għal P stabbiliti seba għaliex PHP u Apache tip ta 'tieħu kura ta' xi 507 00:25:26,980 --> 00:25:28,150 ta 'dawn l-affarijiet għalik. 508 00:25:28,150 --> 00:25:32,520 Fil PHP, inti tista 'jwarrab l-inadempjenza imġiba billi tikteb headers tiegħek. 509 00:25:32,520 --> 00:25:35,520 Iżda għall-finijiet ta 'dan, irridu jiksbu jiktbu out headers tagħna stess. 510 00:25:35,520 --> 00:25:38,210 511 00:25:38,210 --> 00:25:41,105 >> Allura dan line jagħmel sens li kulħadd, il-linja tikteb ras? 512 00:25:41,105 --> 00:25:41,380 OK. 513 00:25:41,380 --> 00:25:42,280 Tal-biża '. 514 00:25:42,280 --> 00:25:45,870 >> Mela allura dak li nagħmel huwa I jispiċċaw ir-rispons billi qal bonjour dinja. 515 00:25:45,870 --> 00:25:47,040 OK. 516 00:25:47,040 --> 00:25:49,920 Iżda li biss funzjoni imsejħa talba handler. 517 00:25:49,920 --> 00:25:53,510 Allura issa I attwalment ikollhom tip ta 'do xi ħaġa ma 'din il-funzjoni, id-dritt? 518 00:25:53,510 --> 00:25:59,170 >> So here dak I do hemm hu dan linja li tagħmel ugwali għal servers var 519 00:25:59,170 --> 00:26:03,530 HTTP.create server, u mbagħad I jgħaddu fit-talba handler. 520 00:26:03,530 --> 00:26:06,080 Allura dan huwa tip ta 'l-Node mod ta 'ħolqien ta' server. 521 00:26:06,080 --> 00:26:08,790 U tinnota li jien tgħaddi fit-talba handler. 522 00:26:08,790 --> 00:26:12,290 Allura dan huwa javżak il createServer funzjoni li nixtieq li inti tagħmel me a 523 00:26:12,290 --> 00:26:16,270 server, u meta dik server jirċievi rispons, I ħtieġa li inti sejħa dan 524 00:26:16,270 --> 00:26:18,680 jitlob funzjoni handler. 525 00:26:18,680 --> 00:26:18,990 OK? 526 00:26:18,990 --> 00:26:22,290 >> Allura dik il-linja pretty ħafna finituri dritt bogħod. 527 00:26:22,290 --> 00:26:28,780 Allura l-linja server var isir id-dritt wara li inti tagħmel dan pretty ħafna. 528 00:26:28,780 --> 00:26:31,770 I mean, għandu jitwaqqaf xi interna stat li tkun taf li inti jkollha 529 00:26:31,770 --> 00:26:35,400 sejħa dik il-funzjoni talba handler, iżda mhuwiex ser ipoġġu hemmhekk u 530 00:26:35,400 --> 00:26:37,730 jiġifieri għandha l-utent bagħat me talba għadhom? 531 00:26:37,730 --> 00:26:39,270 Has-utent mibgħuta lili talba għadhom? 532 00:26:39,270 --> 00:26:40,780 Għalhekk ma timblukkax. 533 00:26:40,780 --> 00:26:41,650 OK? 534 00:26:41,650 --> 00:26:46,120 >> Allura dak li dan se tagħmel huwa bażikament issa Taħżen pointer għal dan il-kodiċi, 535 00:26:46,120 --> 00:26:49,670 din il-funzjoni handler talba, u mbagħad se jimxu dan il-kodiċi meta xi ħadd 536 00:26:49,670 --> 00:26:52,170 tagħmel talba. 537 00:26:52,170 --> 00:26:54,120 U mbagħad nagħmlu server.listen. 538 00:26:54,120 --> 00:26:56,950 539 00:26:56,950 --> 00:26:59,960 >> L-1337 hemm pretty arbitrarja. 540 00:26:59,960 --> 00:27:02,285 I kellhom ebda raġuni partikolari għall-picking dak in-numru. 541 00:27:02,285 --> 00:27:03,860 Kien totalment każwali. 542 00:27:03,860 --> 00:27:07,010 Iżda li biss jispeċifika l-port. 543 00:27:07,010 --> 00:27:10,640 Allura servers aktar web tkun taf tara li dawn jużaw port 80 minħabba li l-tip 544 00:27:10,640 --> 00:27:11,810 ta bħall-konvenzjoni. 545 00:27:11,810 --> 00:27:16,170 Mela jekk immur għal xi ħaġa simili, I do not know, Wikipedia.org, 546 00:27:16,170 --> 00:27:17,700 u nressaq kolon 8 - 547 00:27:17,700 --> 00:27:18,610 oh naqra, inti ma tistax tara li. 548 00:27:18,610 --> 00:27:19,370 Jien sorry. 549 00:27:19,370 --> 00:27:21,820 Imma jekk I do Wikipedija - 550 00:27:21,820 --> 00:27:24,810 I taf tikteb hawn biss sabiex huwa ċar fuq il-camera. 551 00:27:24,810 --> 00:27:29,150 Imma jekk nieħu dan fi browser ma kolon 80, li jispeċifika mur 552 00:27:29,150 --> 00:27:31,430 Wikipedia.org fil-port 80. 553 00:27:31,430 --> 00:27:36,200 Allura huwa simili kif l-Istati Uniti għandha portijiet multipli bħall fejn inti tista 'vapur 554 00:27:36,200 --> 00:27:37,440 affarijiet li tip ta '. 555 00:27:37,440 --> 00:27:40,730 Allura huwa simili tmur għal din partikolari post fuq dan is-server. 556 00:27:40,730 --> 00:27:40,990 OK. 557 00:27:40,990 --> 00:27:45,730 >> So I biss għażlet 1337. 558 00:27:45,730 --> 00:27:47,910 Hemm firxa sħiħa ta 'numri li inti tista 'pick. 559 00:27:47,910 --> 00:27:50,390 Dan ma kienx totalment speċjali. 560 00:27:50,390 --> 00:27:54,560 >> Imma dak li jien ser tagħmel issa huwa jien ser jimxu Node. 561 00:27:54,560 --> 00:27:59,730 Let me attwalment jidħol li koppja linji isfel sabiex inti tista 'tara. 562 00:27:59,730 --> 00:28:03,130 Jien ser tagħmel għoqda, u jien tmur jiddekorri simpler.js. 563 00:28:03,130 --> 00:28:06,880 U aħna ser nitkellmu dwar kif tikseb Node imwaqqaf fl ftit. 564 00:28:06,880 --> 00:28:09,350 Iżda issa huwa biss running-server. 565 00:28:09,350 --> 00:28:14,360 >> Allura ħaġa waħda nistgħu nippruvaw li ma jistgħux tkun li eċċitanti hija nistgħu attwalment 566 00:28:14,360 --> 00:28:16,300 jippruvaw li jkollhom aċċess għaliha fil Curl. 567 00:28:16,300 --> 00:28:20,680 So I tista 'tagħmel Curl, u tiegħi magna hija ospitanti lokali. 568 00:28:20,680 --> 00:28:24,600 Int ser ikollok ara wkoll dan bil-miktub bħal dan kultant. 569 00:28:24,600 --> 00:28:29,810 Ospitanti lokali u 127.0.0.1 huma tip ta 'prodotti simili tal-kompjuter dar tiegħek. 570 00:28:29,810 --> 00:28:33,180 Allura huwa simili tkellem lil kompjuter tiegħek. 571 00:28:33,180 --> 00:28:33,760 OK. 572 00:28:33,760 --> 00:28:36,030 >> U allura nista 'ngħid 1337. 573 00:28:36,030 --> 00:28:39,630 Hekk jekk I run din il-linja ta 'kodiċi, jgħid bonjour dinja. 574 00:28:39,630 --> 00:28:44,050 U jekk jien ridt li tara li għalf li kellhom test tip kontenut plain jew 575 00:28:44,050 --> 00:28:46,560 kwalunkwe, I jista 'anke tpoġġi dan hawn. 576 00:28:46,560 --> 00:28:48,810 U tinnota li ma jgħidu OK. 577 00:28:48,810 --> 00:28:50,810 And I do jkollhom plain-test. 578 00:28:50,810 --> 00:28:53,140 U allura hemm tip ta 'dan kollu l-oħra għalf li Node se jżid b'mod 579 00:28:53,140 --> 00:28:54,440 hemm għalija. 580 00:28:54,440 --> 00:28:55,700 Li mhux super importanti. 581 00:28:55,700 --> 00:28:58,230 >> I mean, hemm xi tip ta 'teknika aspetti ta 'fuq li huma xorta 582 00:28:58,230 --> 00:29:02,280 ta kessaħ biex jitkellmu dwar, iżda biss biex juru you, I wkoll is-setgħa li 583 00:29:02,280 --> 00:29:03,070 jibdlu dawn madwar. 584 00:29:03,070 --> 00:29:06,280 So I tista 'biss żid mazz ta 'għalf bħal dik. 585 00:29:06,280 --> 00:29:11,780 U allura issa, jekk I tfittex fil tiegħi output, se jkun li. 586 00:29:11,780 --> 00:29:19,740 Allura dawn headers jfissru ċerti affarijiet għal browsers u affarijiet bħal dik. 587 00:29:19,740 --> 00:29:23,040 >> U headers jistgħu bażikament tgħid browser kif tirrispondi għal xi ħaġa. 588 00:29:23,040 --> 00:29:26,280 Jekk inti stajt qatt semgħu cookies qabel, jew jekk inti stajt qatt kienet imdejqa 589 00:29:26,280 --> 00:29:29,330 minn paġna web iffissar cookies, jew mixgħula blokka cookie jew 590 00:29:29,330 --> 00:29:30,320 xi ħaġa bħal dik. 591 00:29:30,320 --> 00:29:33,040 Inti tista 'attwalment tistabbilixxi cookies f'dawn headers. 592 00:29:33,040 --> 00:29:36,990 Allura dawn tell browser kif imġieba f'xi każijiet. 593 00:29:36,990 --> 00:29:37,750 OK. 594 00:29:37,750 --> 00:29:40,310 >> Allura li kien simpler.js. 595 00:29:40,310 --> 00:29:42,780 Ħadd ma jkollu xi mistoqsijiet fuq dan il-fajl kodiċi sors? 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 Kessaħ. 599 00:29:46,490 --> 00:29:50,780 >> Mela ejja tneħħi lr minn dak u ħarsa lejn simple.js. 600 00:29:50,780 --> 00:29:53,010 Allura dan huwa pjuttost ħafna l-istess programm. 601 00:29:53,010 --> 00:29:56,030 I biss kiteb dan ftit differenti għaliex jien ridt li sort ta 'qofol 602 00:29:56,030 --> 00:29:57,850 xi karatteristiċi tal JavaScript. 603 00:29:57,850 --> 00:30:03,880 >> Allura avviż li t-talba handler funzjoni totalment spiċċat. 604 00:30:03,880 --> 00:30:05,800 Oh Yep, ma għandek xi mistoqsija? 605 00:30:05,800 --> 00:30:08,200 >> Udjenza: Yeah, l-argumenti li huma mgħoddija għal dak 606 00:30:08,200 --> 00:30:10,120 funzjoni, liema huma? 607 00:30:10,120 --> 00:30:12,050 >> KEVIN SCHMID: Għalhekk dawn huma JavaScript oġġetti. 608 00:30:12,050 --> 00:30:15,230 Fid-dokumentazzjoni Node.js, huwa bażikament jgħid liema metodi huma 609 00:30:15,230 --> 00:30:15,910 disponibbli fuqhom. 610 00:30:15,910 --> 00:30:19,602 Aħna biss jiġri li jkollhom l-aċċess għall- dan il-metodu msejjaħ tikteb ras u t-tmiem 611 00:30:19,602 --> 00:30:20,730 u għalf bħal dik. 612 00:30:20,730 --> 00:30:22,590 Iżda hemm mazz sħiħ aktar metodi. 613 00:30:22,590 --> 00:30:27,670 >> U per eżempju, bħal wieħed minnhom b'mod partikolari fuq rec, inti tista 'tagħmel 614 00:30:27,670 --> 00:30:34,540 xi ħaġa bħal rec.method li se jgħidlek jekk huwa HTTP tikseb jew 615 00:30:34,540 --> 00:30:36,780 Talbiet HTTP post u affarijiet bħal dik. 616 00:30:36,780 --> 00:30:39,100 Allura hemm kull xorta ta 'differenti proprjetajiet, iżda dawn qed kemm 617 00:30:39,100 --> 00:30:42,560 JavaScript oġġetti, u huma biss ikollhom funzjonijiet marbuta magħhom li inti 618 00:30:42,560 --> 00:30:43,850 jista 'jikteb affarijiet li. 619 00:30:43,850 --> 00:30:45,520 OK? 620 00:30:45,520 --> 00:30:49,030 >> Allura avviż li talba handler hija totalment marret. 621 00:30:49,030 --> 00:30:52,650 Iżda l-kodiċi li kelli fit-talba handler għadha hemm. 622 00:30:52,650 --> 00:30:56,520 I għad għandhom dan res.writeHead u I għad għandhom dan res.end. 623 00:30:56,520 --> 00:31:00,270 U dak li dan huwa eżempju ta 'fil- JavaScript huwa din l-idea ta ' 624 00:31:00,270 --> 00:31:01,460 funzjoni anonima. 625 00:31:01,460 --> 00:31:04,180 u anonimu huwa bħal isem fitting għal dan minħabba li litteralment ma 626 00:31:04,180 --> 00:31:05,180 għandhom isem. 627 00:31:05,180 --> 00:31:07,900 M'hemm l-ebda talba funzjoni handler fil hemmhekk. 628 00:31:07,900 --> 00:31:10,110 >> M'għandha l-ebda isem, iżda għadu hija tieħu argument. 629 00:31:10,110 --> 00:31:12,250 So I għadhom kisbu rec u res. 630 00:31:12,250 --> 00:31:16,180 And I għad għandhom il-kodiċi. 631 00:31:16,180 --> 00:31:18,930 Dan huwa perfettament multa JavaScript kodiċi. 632 00:31:18,930 --> 00:31:22,540 So I tista 'tiddikjara funzjoni mingħajr espliċitament jtuha isem. 633 00:31:22,540 --> 00:31:24,250 Huwa ftit konfuża għall-ewwel. 634 00:31:24,250 --> 00:31:26,230 Hemm xi affarijiet simili utli li inti tista 'tagħmel 635 00:31:26,230 --> 00:31:28,450 dawn il-funzjonijiet anonimi. 636 00:31:28,450 --> 00:31:32,100 Ħadd ma jkollu xi mistoqsijiet dwar dan, jew hija OK biss li, għal issa, 637 00:31:32,100 --> 00:31:34,130 tip ta 'biss taċċetta li se tagħmel l-istess ħaġa? 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 >> UDJENZA: huma funzjonijiet ewwel klassi JavaScript? 641 00:31:38,680 --> 00:31:41,020 >> KEVIN SCHMID: Huma l-ewwel huma klassi JavaScript. 642 00:31:41,020 --> 00:31:45,490 U biss jafu li dawn il-kunċetti ta ' jgħaddu fi funzjoni anonima bħal 643 00:31:45,490 --> 00:31:49,600 dan japplika għall-JavaScript li inti tista 'tikteb fil-proġett finali tiegħek għal 644 00:31:49,600 --> 00:31:51,260 l-web browser wisq. 645 00:31:51,260 --> 00:31:56,700 Hekk per eżempju, fil-JavaScript fil- browser tiegħek, huwa wkoll kemmxejn avveniment 646 00:31:56,700 --> 00:32:00,680 misjuqa fis-sens li dak li inti ser ikollhom huwa meta l-utent klikks dan 647 00:32:00,680 --> 00:32:02,640 buttuna, nixtieq li tmexxi dan il-kodiċi. 648 00:32:02,640 --> 00:32:07,070 >> Allura huwa l-istess tip ta 'ideat tal- naħa tal-klijent meta click mouse jew huma 649 00:32:07,070 --> 00:32:09,870 maws fuq xi immaġini fuq tiegħek paġna web, run dan il-kodiċi. 650 00:32:09,870 --> 00:32:11,350 Li tista 'tapplika għal servers. 651 00:32:11,350 --> 00:32:16,380 Allura dak it-tip ta bħall-eċċitanti raġuni għaliex JavaScript huwa verament 652 00:32:16,380 --> 00:32:19,810 nies adattati jew xi think it'sa lingwa xierqa għal dan it-tip ta ' 653 00:32:19,810 --> 00:32:22,530 server sewwieq avveniment għax għandek dawn il-funzjonijiet anonimi. 654 00:32:22,530 --> 00:32:26,150 Inti għandek l-idea kollha ta ' dan il-kodiċi mhux sinkroniku. 655 00:32:26,150 --> 00:32:27,060 OK. 656 00:32:27,060 --> 00:32:30,360 Kulmin xi mistoqsijiet? 657 00:32:30,360 --> 00:32:30,470 >> OK. 658 00:32:30,470 --> 00:32:33,440 Allura li kien simple.js. 659 00:32:33,440 --> 00:32:38,070 Mela ejja nħarsu lejn wieħed aktar jew koppja aktar. 660 00:32:38,070 --> 00:32:42,040 Allura dan huwa sleep.js. 661 00:32:42,040 --> 00:32:47,160 Allura huwa xi ħadd familjari ma il-funzjoni irqad C? 662 00:32:47,160 --> 00:32:50,936 Minn forsi wieħed mill-lectures preċedenti jew xi ħaġa bħal dik? 663 00:32:50,936 --> 00:32:54,650 >> Allura bażikament inti tista 'tgħaddi fil naħseb a numru ta 'sekonda jew jekk inti qed tuża U 664 00:32:54,650 --> 00:32:57,080 irqad numru ta 'millisekondi jew nanoseconds. 665 00:32:57,080 --> 00:33:00,450 U bażikament il-programm se biss tieqaf għaddej għal dak l-ammont ta 'ħin. 666 00:33:00,450 --> 00:33:01,280 Dritt? 667 00:33:01,280 --> 00:33:06,970 U mbagħad se jinxtegħel eventwalment u allura ser biss tkompli taħdem 668 00:33:06,970 --> 00:33:08,340 il-programm. 669 00:33:08,340 --> 00:33:12,740 >> Allura dan is-server tip ta 'jagħti l-impressjoni ta 'l-irqad. 670 00:33:12,740 --> 00:33:17,580 Allura avviż li aħna għandna l-istess res.writeHead 200 bil-header bħala 671 00:33:17,580 --> 00:33:22,130 qabel, iżda mbagħad aħna qed ssejjaħ dan funzjoni imsejħa timeout sett. 672 00:33:22,130 --> 00:33:26,170 Timeout Set huwa wkoll disponibbli fil- web browser tiegħek Google Chrome 673 00:33:26,170 --> 00:33:28,000 jew Safari jew kwalunkwe. 674 00:33:28,000 --> 00:33:31,720 U bażikament dak li qed jagħmel here huwa Hi tieħu fl funzjoni. 675 00:33:31,720 --> 00:33:33,360 Avviż, għal darb'oħra, huwa ta ' funzjoni anonima. 676 00:33:33,360 --> 00:33:36,310 Allura dak it-tip ta 'kessaħ għaliex aħna qed jużaw funzjoni anonimu fi ħdan 677 00:33:36,310 --> 00:33:38,950 funzjoni anonima li jista 'jkun ftit stramb. 678 00:33:38,950 --> 00:33:42,270 >> Imma hija tieħu dik il-funzjoni, li hija bażikament tgħid - u l-mod kif dan 679 00:33:42,270 --> 00:33:47,430 xogħlijiet huwa 5,000 millisekondi, nixtieq inti biex tesegwixxi dik il-funzjoni li 680 00:33:47,430 --> 00:33:50,830 biss tispiċċa l-rispons u jikteb ħej. 681 00:33:50,830 --> 00:33:56,730 Allura dan tagħti l-impressjoni ta 'prodotti simili irqad, iżda l-mod kif dan attwalment 682 00:33:56,730 --> 00:33:59,780 xogħlijiet hija aħna ser run permezz din il-linja malajr ħafna. 683 00:33:59,780 --> 00:34:01,190 Aħna biss bil-miktub xi ħaġa. 684 00:34:01,190 --> 00:34:03,780 U allura aħna ser wkoll run permezz din il-linja malajr ħafna. 685 00:34:03,780 --> 00:34:08,620 Allura aħna mhux qed attwalment għaddejjin jistennew ħames sekondi. 686 00:34:08,620 --> 00:34:11,370 Aħna biss se jimxu dan il-kodiċi istantanjament. 687 00:34:11,370 --> 00:34:14,219 >> U allura hemm, jerġgħu dan ftit F'każ loop li issa għandha din il-ħaġa 688 00:34:14,219 --> 00:34:17,570 reġistri li bażikament huwa biss kontinwament għaddejjin madwar f'ċirku 689 00:34:17,570 --> 00:34:21,620 u tħares lejn l-arloġġ wieħed Ħajt u qal, għandha ħames sekondi 690 00:34:21,620 --> 00:34:22,360 għadda għadhom? 691 00:34:22,360 --> 00:34:26,409 U allura meta jara li t-tieni idejn mxiet like ħames sekondi jew 692 00:34:26,409 --> 00:34:29,190 tkun xi tkun, allura wakes up u jgħid, oh, dak li nagħmel? 693 00:34:29,190 --> 00:34:30,350 Oh I jkollhom jiddekorri dan il-kodiċi. 694 00:34:30,350 --> 00:34:33,110 U mbagħad li għaddej biex run res.end hey. 695 00:34:33,110 --> 00:34:35,360 >> Għalhekk għal darb'oħra, aħna qed qatt stennija hawn. 696 00:34:35,360 --> 00:34:38,590 Għalhekk mhuwiex li dan il-kodiċi ġewwa ta ' din il-funzjoni se jieħu ħames 697 00:34:38,590 --> 00:34:39,900 sekondi biex jimxu. 698 00:34:39,900 --> 00:34:43,090 Dan il-kodiċi se jimxu pretty ħafna istantanju, mill-inqas relattiva għal 699 00:34:43,090 --> 00:34:46,139 il-ħames sekondi li konna nitkellmu dwar preċedenti qabel. 700 00:34:46,139 --> 00:34:52,100 >> Hekk biss biex juru din fl-azzjoni, I tista 'tagħmel Node.sleep.js. 701 00:34:52,100 --> 00:34:55,159 U ma I mess up xi ħaġa? 702 00:34:55,159 --> 00:34:56,310 Possibilment. 703 00:34:56,310 --> 00:34:57,410 Jiddispjacini. 704 00:34:57,410 --> 00:34:59,530 Ejja naraw dak li nistgħu nagħmlu biex jiffissaw dan. 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 Allura definittivament jużaw Node.js. 709 00:35:17,464 --> 00:35:19,440 Jien biss kidding. 710 00:35:19,440 --> 00:35:19,570 OK. 711 00:35:19,570 --> 00:35:20,820 Just wieħed taqs. 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 Naf dak li hu. 715 00:35:29,130 --> 00:35:34,440 >> Allura l-kwistjoni hija li fil tab ieħor tiegħi hawn, I kien għaddej Node diġà fuq 716 00:35:34,440 --> 00:35:36,590 l-istess indirizz, 1337. 717 00:35:36,590 --> 00:35:43,370 Allura l-iżball li dan threw, jekk inħarsu lejn din reali mill-qrib, huwa indirizz 718 00:35:43,370 --> 00:35:45,180 użu, EADDRINUSE. 719 00:35:45,180 --> 00:35:47,970 So I diġà kienet qed tuża 1337 hawn. 720 00:35:47,970 --> 00:35:52,210 Hekk jekk I shut dan off, u mbagħad I issa tipprova tmexxi dan, wieħed jittama, kollox 721 00:35:52,210 --> 00:35:53,210 se tkun multa. 722 00:35:53,210 --> 00:35:53,440 OK. 723 00:35:53,440 --> 00:35:57,020 Allura inti tista 'biss ikollha sort ħaġa waħda wieħed jisma fuq port f'daqqa. 724 00:35:57,020 --> 00:35:59,660 Soluzzjoni oħra kien ikun għalija biss jeditjaw dak il-programm u tagħmel 725 00:35:59,660 --> 00:36:02,370 jkun ikun simili 1338 jew xi ħaġa bħal dik. 726 00:36:02,370 --> 00:36:04,100 >> Imma issa sleep tkun qed taħdem. 727 00:36:04,100 --> 00:36:06,400 Mela ejja attwalment jippruvaw it out fil- browser dan iż-żmien, għaliex dan huwa 728 00:36:06,400 --> 00:36:09,080 ftit unexciting biex tara dan fil-terminal. 729 00:36:09,080 --> 00:36:13,560 Hekk jien biss se jmorru għal dak 127 indirizz mill-ġdid fil 1,337. 730 00:36:13,560 --> 00:36:14,850 U jekk inti tista 'tara - 731 00:36:14,850 --> 00:36:18,050 I do not know jekk inti tista '- iżda tiegħi tal-browser tieħu ħafna, twil ħafna 732 00:36:18,050 --> 00:36:20,600 ħin biex tagħbija jew simili ħames sekondi. 733 00:36:20,600 --> 00:36:23,460 >> U mbagħad wara li, finalment ntemmet ir-rispons. 734 00:36:23,460 --> 00:36:29,070 U inti ma tistax tara għaliex il-ħaġa tiġi mċaqalqa ftit, imma jekk nagħmel 735 00:36:29,070 --> 00:36:32,500 dan ftit iżgħar, inti tista 'tara jgħid ħej. 736 00:36:32,500 --> 00:36:35,130 So I ltqajna l-ħej, iżda wara ħames sekondi. 737 00:36:35,130 --> 00:36:38,510 U jista 'jkun nadifa ftit biex tara hawn fuq it-terminal, hekk jien 738 00:36:38,510 --> 00:36:40,980 se tagħmel a - 739 00:36:40,980 --> 00:36:43,540 ejja jagħmlu fil hawn - 740 00:36:43,540 --> 00:36:48,370 ejja jagħmlu Curl li jindirizzaw għal darb'oħra ma 'l-1337. 741 00:36:48,370 --> 00:36:50,820 And I biss tip ta għandekx biex ipoġġu hawn għal ħames sekondi. 742 00:36:50,820 --> 00:36:53,760 Iżda tinnota li l-server tista 'taċċetta tweġibiet ġodda. 743 00:36:53,760 --> 00:36:54,940 Allura prints ħej. 744 00:36:54,940 --> 00:36:58,720 >> U biex demo dan, bażikament dak I tista 'tagħmel f'dan il-tab oħra - 745 00:36:58,720 --> 00:37:02,640 hekk ejja ngħidu I tagħmel dan tab ieħor, Jien ser tagħmel curl u l-istess 746 00:37:02,640 --> 00:37:03,780 ħaġa mill-ġdid. 747 00:37:03,780 --> 00:37:06,600 U jien ser jippruvaw kick dawn guys off fl-istess ħin. 748 00:37:06,600 --> 00:37:08,260 Hekk jien ser tagħmel dan, u jien ser razza fuq hawn u jien 749 00:37:08,260 --> 00:37:09,650 se tagħmel dan mill-ġdid. 750 00:37:09,650 --> 00:37:14,030 >> U ejja tagħmel dan hekk li inti tista 'tara kemm minnhom. 751 00:37:14,030 --> 00:37:20,250 Li wieħed stampat hey u li wieħed stampati hey-triq kollha fil - 752 00:37:20,250 --> 00:37:22,550 ejja tagħmel dan esperiment ġdid. 753 00:37:22,550 --> 00:37:25,100 Attwalment, ejja jużaw dan trick, jekk dan huwa OK. 754 00:37:25,100 --> 00:37:30,520 >> Hekk jien ser tuża ħaġa qoxra li tippermetti me bażikament jimxu żewġ kopji 755 00:37:30,520 --> 00:37:32,630 ta 'dan il-programm b'mod parallel. 756 00:37:32,630 --> 00:37:36,070 Għalhekk ser imexxu l-ewwel programm u it-tieni programm b'mod parallel. 757 00:37:36,070 --> 00:37:39,060 Mela issa jekk I-istampa Daħħal, li għaddej jagħmlu pretty dik it-talba ħafna 758 00:37:39,060 --> 00:37:40,570 istantanju fl-istess ħin. 759 00:37:40,570 --> 00:37:42,620 Mela ejja tagħti dan sparatura. 760 00:37:42,620 --> 00:37:44,950 >> Allura issa avviż li jgħid żewġ proċessi. 761 00:37:44,950 --> 00:37:50,630 U jekk int kurjuż, li 27,000 in-numru huwa bażikament l-proċess ID. 762 00:37:50,630 --> 00:37:52,940 U mbagħad avviż, huma stampati hey fl-istess ħin. 763 00:37:52,940 --> 00:37:56,820 Ma kienx simili kellna nistennew ħames sekonda għal wieħed u mbagħad wara li, 764 00:37:56,820 --> 00:37:59,640 ħames sekondi aktar tard jiksbu t-tieni. 765 00:37:59,640 --> 00:38:03,300 Allura dak it-tip ta ', f'ċerti modi, huwa mhux verament provi, imma hija 766 00:38:03,300 --> 00:38:07,390 evidenza intuwittivi li huwa mhux biss bħal stennija ħames sekondi u l-ibblukkar 767 00:38:07,390 --> 00:38:08,960 l-ħajt kollu. 768 00:38:08,960 --> 00:38:10,720 OK jibred. 769 00:38:10,720 --> 00:38:17,850 >> Allura Aaron titressaq mistoqsija qabel li kien, ukoll dak jekk aħna nagħmlu xi ħaġa - 770 00:38:17,850 --> 00:38:18,735 Yep? 771 00:38:18,735 --> 00:38:19,051 >> UDJENZA: Stenna. 772 00:38:19,051 --> 00:38:21,585 Kif huwa li differenti minn buffer printf, għalkemm? 773 00:38:21,585 --> 00:38:23,010 Ma awtomatikament tagħmel dan? 774 00:38:23,010 --> 00:38:25,390 Għalfejn għandna għalfejn tinkwieta dwar dan? 775 00:38:25,390 --> 00:38:26,555 >> KEVIN SCHMID: Oh, tista ' jgħidu li waħda aktar ħin? 776 00:38:26,555 --> 00:38:29,510 >> UDJENZA: Ma simili buffer printf jagħmlu l-istess ħaġa eżatt? 777 00:38:29,510 --> 00:38:31,280 >> KEVIN SCHMID: Il-buffer printf? 778 00:38:31,280 --> 00:38:32,753 >> UDJENZA: Yeah. 779 00:38:32,753 --> 00:38:33,244 OK. 780 00:38:33,244 --> 00:38:40,609 Ma kienx wieħed mill-kwizzijiet kienu jitkellem dwar kif jekk inti dritt printf 781 00:38:40,609 --> 00:38:42,899 xi ħaġa u mbagħad tara li tkun nieqaf wieħed tieni, u mbagħad ikollok loop għaxar 782 00:38:42,899 --> 00:38:46,530 drabi, dan ser stenna għaxar sekondi u imbagħad printf kollox flimkien? 783 00:38:46,530 --> 00:38:47,460 >> KEVIN SCHMID: Oh, OK. 784 00:38:47,460 --> 00:38:49,170 >> UDJENZA: Huwa tagħmel l-istess Ħaġa allura f'dan il-każ? 785 00:38:49,170 --> 00:38:52,630 >> KEVIN SCHMID: Għalhekk il-kwistjoni kienet bażikament f'wieħed mill-kwizzijiet 'qabel 786 00:38:52,630 --> 00:38:57,200 jew xi ħaġa, kien hemm kwistjoni li bażikament jekk inti tgħidli print f 10 787 00:38:57,200 --> 00:39:01,490 affarijiet fi żmien u mbagħad slept bħal fil il-proċess ta 'stampar dawk barra, 788 00:39:01,490 --> 00:39:04,850 fl-aħħar għal xi raġuni, ikun biss dump dawk kollha fuq l-iskrin. 789 00:39:04,850 --> 00:39:06,740 Allura hemm tip ta 'żewġ differenti kunċetti hawn. 790 00:39:06,740 --> 00:39:10,400 >> So I raden ħaġa waħda hija li, f'dan każ, aħna qed jittrattaw ma 'żewġ differenti 791 00:39:10,400 --> 00:39:13,510 tip ta 'nies li titlob lill-server għall-affarijiet fl-istess ħin. 792 00:39:13,510 --> 00:39:17,455 U r-raġuni li t-tip printf ta ' jistenna bħal dik u miżbliet dan kollu 793 00:39:17,455 --> 00:39:21,760 f'daqqa huwa aktar relatat ma ' kif printf tip ta '- 794 00:39:21,760 --> 00:39:25,100 hekk il-mod printf huwa attwalment implimentat huwa bażikament għandha 795 00:39:25,100 --> 00:39:28,850 kellem lill-sistema operattiva biex jikteb li Jittieħed għall-console. 796 00:39:28,850 --> 00:39:33,460 Għalhekk ma trid tagħmel kollha ta 'dak Jittieħed immedjatament meta inti tgħidli printf 797 00:39:33,460 --> 00:39:36,260 xi string minħabba li jista ' jiksbu għaljin jekk irid 798 00:39:36,260 --> 00:39:37,340 tagħmel dan kull darba. 799 00:39:37,340 --> 00:39:41,530 >> Mela jekk inti tagħmel printf ħej, program tiegħek ma jista 'attwalment jistampaw li 800 00:39:41,530 --> 00:39:43,040 minnufih lill-console. 801 00:39:43,040 --> 00:39:46,080 Huwa jista 'jgħid, OK, I kiteb dan. 802 00:39:46,080 --> 00:39:49,570 U mbagħad it-tip ta stenna għalik biex tagħti hija ftit aktar qabel ma attwalment 803 00:39:49,570 --> 00:39:51,380 miktub it out mal-console. 804 00:39:51,380 --> 00:39:54,040 >> Allura r-raġuni li dan kien il-każ - 805 00:39:54,040 --> 00:39:56,450 u huwa tip ta 'mhux relatati għall-irqad - 806 00:39:56,450 --> 00:40:00,060 huwa li l-irqad kien tip ta 'ftit injettat fil hemm biex juru l- 807 00:40:00,060 --> 00:40:02,480 fatt li ma jiktbu dan synchronously. 808 00:40:02,480 --> 00:40:06,210 Iżda r-raġuni għal dan hija biss prestazzjoni sabiex inti ma għandekx 809 00:40:06,210 --> 00:40:08,920 jagħmlu li ħafna kuntatti lil is-sistema operattiva. 810 00:40:08,920 --> 00:40:12,300 >> Iżda hawnhekk, dak li aħna qed verament tipprova tagħmel ma 'dan il-ħaġa sleep huwa biss juru 811 00:40:12,300 --> 00:40:17,730 li meta għandna żewġ nies li jżuru din il-websajt, huwa mhux ser tpoġġi 812 00:40:17,730 --> 00:40:22,310 minnhom fil-linja fejn huwa se ngħid I jkollhom biex jgħinuk, u mbagħad meta jien 813 00:40:22,310 --> 00:40:25,350 totalment lest tgħinek wara dawn ħames sekondi, imbagħad jien ser 814 00:40:25,350 --> 00:40:26,750 jimxu fuq il-persuna li jmiss. 815 00:40:26,750 --> 00:40:29,515 Jitolbu hekk l-ewwel persuna ma jintrabtu li avveniment loop 816 00:40:29,515 --> 00:40:31,610 jekk dan jagħmel sens. 817 00:40:31,610 --> 00:40:34,980 >> Iżda hawnhekk huwa attwalment eżempju ta 'xi ħaġa li se jorbtu 818 00:40:34,980 --> 00:40:36,090 l-avveniment loop. 819 00:40:36,090 --> 00:40:39,130 Allura hawnhekk funzjoni horrible li kkalkulata l-Fibonacci nth. 820 00:40:39,130 --> 00:40:43,510 Huwa litteralment il-mod agħar inti tista ' jikkomputa-numru Fibonacci nth. 821 00:40:43,510 --> 00:40:48,480 U dan huwa attwalment biss li tirrikonoxxi fejn dan ġew minn, 822 00:40:48,480 --> 00:40:49,330 hemm fil-fatt - 823 00:40:49,330 --> 00:40:53,230 I mean, inti tista 'tipprova tmur jsibuha - iżda hemm bħal blog twila ħafna 824 00:40:53,230 --> 00:40:54,130 wara li xi ħadd kiteb. 825 00:40:54,130 --> 00:40:55,660 Huwa simili wieħed minn dawk l-affarijiet Reddit. 826 00:40:55,660 --> 00:40:59,650 Iżda xi ħadd ikkritikata Node.js, u huma użati dan bħala eżempju. 827 00:40:59,650 --> 00:41:03,700 So I tip ta 'ridt li juru biss inti żewġ perspettivi differenti biss li tikseb 828 00:41:03,700 --> 00:41:07,320 fehim ġenerali tal-kunċetti wara dawn iż-żewġ affarijiet. 829 00:41:07,320 --> 00:41:13,050 >> Iżda dan huwa magħżul bħala biss horrible, computationally horribly ineffiċjenti 830 00:41:13,050 --> 00:41:15,940 mod intensiv biex tiġi kkalkulata l- numru Fibonacci nth. 831 00:41:15,940 --> 00:41:21,180 Hekk biss bħala nota tal-ġenb, għaliex huwa huwa horrible bħall b'xi mod? 832 00:41:21,180 --> 00:41:23,210 Yep? 833 00:41:23,210 --> 00:41:25,130 >> UDJENZA: Say tibda bl 1,000. 834 00:41:25,130 --> 00:41:27,050 1000 qasmiet fil 999 u 998. 835 00:41:27,050 --> 00:41:28,970 Kull ta 'din qasmiet f'żewġ affarijiet. 836 00:41:28,970 --> 00:41:30,890 Kull ta 'din qasmiet f'żewġ affarijiet. 837 00:41:30,890 --> 00:41:31,355 >> KEVIN SCHMID: Dritt. 838 00:41:31,355 --> 00:41:32,400 >> UDJENZA: It-triq kollha stabbiliti. 839 00:41:32,400 --> 00:41:32,840 >> KEVIN SCHMID: Eżattament. 840 00:41:32,840 --> 00:41:37,330 Hekk biss jirrepetu għall-kamera, jekk I sejħa fib fuq bħal 1,000 jew xi ħaġa 841 00:41:37,330 --> 00:41:41,810 bħal dan, huwa ovvjament mhux inqas minn jew daqs wieħed hekk jien ser 842 00:41:41,810 --> 00:41:46,040 mur każ ieħor, u mbagħad jien ser li jsejħu fib 999 plus fib 998. 843 00:41:46,040 --> 00:41:50,290 U mbagħad pretty ħafna kollha ta 'dak xogħol li fib 999 ma huwa 844 00:41:50,290 --> 00:41:52,950 tip ta 'f'dan il-livell. 845 00:41:52,950 --> 00:41:55,620 Jekk inti tmur l isfel, huwa saħansitra aktar superfluwa minn dan, imma jekk inti biss 846 00:41:55,620 --> 00:42:01,390 jaħsbu computing fib 998 gets us pretty qrib fib 999. 847 00:42:01,390 --> 00:42:05,860 Allura aħna għandhom verament tkun ftit aktar għaqlija dwar kif aħna tip ta 'użu mill-ġdid 848 00:42:05,860 --> 00:42:07,580 dawn, iżda aħna mhux qed jerġgħu jużaw dawn l-affarijiet fil-livelli kollha. 849 00:42:07,580 --> 00:42:11,860 Allura tista 'timmaġina dan ġiganteski, siġra ġiganteski li jinsab biss horrible. 850 00:42:11,860 --> 00:42:12,940 >> Iżda xorta waħda, OK. 851 00:42:12,940 --> 00:42:14,040 Allura li kien fib. 852 00:42:14,040 --> 00:42:15,530 Hija biss tieħu filwaqt li jiddekorri. 853 00:42:15,530 --> 00:42:16,510 Yep? 854 00:42:16,510 --> 00:42:17,760 >> UDJENZA: [inaudible]. 855 00:42:17,760 --> 00:42:20,430 856 00:42:20,430 --> 00:42:22,481 >> KEVIN SCHMID: Oh, tista ' irrepeti l-kwistjoni? 857 00:42:22,481 --> 00:42:23,731 >> UDJENZA: [inaudible]. 858 00:42:23,731 --> 00:42:30,840 859 00:42:30,840 --> 00:42:33,990 >> KEVIN SCHMID: Oh hekk din hija biss kodiċi li għaddej biex tkun tip ta 'fuq is- 860 00:42:33,990 --> 00:42:34,850 server sekondarji. 861 00:42:34,850 --> 00:42:38,100 Allura dan mhux se jinstabu fil-browser jew xejn. 862 00:42:38,100 --> 00:42:42,160 Huwa bażikament dak li għandna huwa li meta l-utent hawnhekk jagħmel pretty ħafna 863 00:42:42,160 --> 00:42:45,300 talba tagħhom għal darb'oħra, meta aħna tip ta ' jagħmel talba, aħna qed tmur biex sejħa 864 00:42:45,300 --> 00:42:47,040 din il-funzjoni fuq in-naħa server. 865 00:42:47,040 --> 00:42:50,480 U allura aħna ser tikseb ir-riżultat lura mill-sejħa dik il-funzjoni. 866 00:42:50,480 --> 00:42:52,460 U allura aħna ser biss print lill-utent. 867 00:42:52,460 --> 00:42:54,580 Sabiex l-utent ma verament jittrattaw ma 'din il-funzjoni wisq. 868 00:42:54,580 --> 00:42:57,270 >> Kien li l-kwistjoni? 869 00:42:57,270 --> 00:42:58,470 Does li jagħmel sens? 870 00:42:58,470 --> 00:42:58,810 OK. 871 00:42:58,810 --> 00:43:00,930 Kessaħ. 872 00:43:00,930 --> 00:43:04,240 >> Għalhekk għal darb'oħra, nagħmlu dan res.writeHead kollu Ħaġa fejn aħna jistampa 873 00:43:04,240 --> 00:43:05,150 l-header. 874 00:43:05,150 --> 00:43:09,730 U mbagħad I jispiċċaw ir-reazzjoni billi tagħmel in-numru magic hija fib 45. 875 00:43:09,730 --> 00:43:12,100 Mela ejja biss run dan is-server. 876 00:43:12,100 --> 00:43:15,190 Hekk jien ser tagħmel xi fib.js. Node 877 00:43:15,190 --> 00:43:17,340 Allura issa server fib tiegħi qed taħdem. 878 00:43:17,340 --> 00:43:21,790 >> U allura hawnhekk, jien ser biex jagħmlu waħda minn dawn. 879 00:43:21,790 --> 00:43:22,200 OK? 880 00:43:22,200 --> 00:43:24,960 Hekk jien biss se ngħid, Curl. 881 00:43:24,960 --> 00:43:32,226 Allura li għaddej biex tieħu filwaqt li ftit imma nisperaw dalwaqt se jispiċċaw u 882 00:43:32,226 --> 00:43:35,660 se jistampa li 45 Fibonacci numru. 883 00:43:35,660 --> 00:43:36,910 >> UDJENZA: [inaudible]. 884 00:43:36,910 --> 00:43:40,720 885 00:43:40,720 --> 00:43:42,050 >> KEVIN SCHMID: għandu nikseb jsir pretty dalwaqt. 886 00:43:42,050 --> 00:43:43,780 Għalhekk għandu jieħu 5-6 sekondi. 887 00:43:43,780 --> 00:43:48,570 I do not know dak li biss V8 tkun super malajr, iżda fi kwalunkwe każ, dan huwa 888 00:43:48,570 --> 00:43:52,700 eżempju qasir ħafna u skop inelegant ta 'non-trivjali 889 00:43:52,700 --> 00:43:54,200 komputazzjoni. 890 00:43:54,200 --> 00:43:56,700 Allura wara filwaqt li, ma jiksbu dan. 891 00:43:56,700 --> 00:44:02,130 >> Imma issa, dak li jekk nagħmel l-istess tip ta ' esperiment bħal qabel fejn I jagħmlu 892 00:44:02,130 --> 00:44:04,010 żewġ talbiet fl-istess ħin? 893 00:44:04,010 --> 00:44:06,990 So here jien ser curl fuq dak l-indirizz, u jien ser 894 00:44:06,990 --> 00:44:08,260 tagħmel Curl ieħor. 895 00:44:08,260 --> 00:44:12,070 U ftakar, meta għamilna dan għall- torqod server, meta aħna bażikament kieku 896 00:44:12,070 --> 00:44:15,320 wara ħames sekondi, huma pretty ħafna kemm daħal lura dritt 897 00:44:15,320 --> 00:44:16,380 madwar l-istess ħin. 898 00:44:16,380 --> 00:44:18,650 Għalhekk ma kienx partikolarment marbuta. 899 00:44:18,650 --> 00:44:20,290 >> Imma ejja tipprova issa. 900 00:44:20,290 --> 00:44:22,370 OK, hekk aħna ltqajna żewġ proċessi tagħna. 901 00:44:22,370 --> 00:44:24,210 Ftakar dawk huma l-IDs proċess. 902 00:44:24,210 --> 00:44:25,900 Din se tkun ftit skomdi filwaqt li aħna stall. 903 00:44:25,900 --> 00:44:31,340 904 00:44:31,340 --> 00:44:35,360 Mela ejja biss jibqgħu hawn u stenna. 905 00:44:35,360 --> 00:44:37,090 >> Allura wieħed minnhom għandu jiġu lura wara simili - 906 00:44:37,090 --> 00:44:39,190 OK, hekk wieħed daħal lura. 907 00:44:39,190 --> 00:44:43,570 Imma allura għaliex ma t-tieni wieħed terga 'lura għadha biss? 908 00:44:43,570 --> 00:44:44,389 Yep? 909 00:44:44,389 --> 00:44:49,280 >> UDJENZA: Il-server ma tistax tagħmel xejn filwaqt li huwa komputazzjoni dak in-numru kbir. 910 00:44:49,280 --> 00:44:51,620 >> KEVIN SCHMID: Dritt. 911 00:44:51,620 --> 00:44:55,395 Allura l-rispons kien biss li l-server verament ma tistax tagħmel xejn filwaqt li 912 00:44:55,395 --> 00:44:57,460 huwa komputazzjoni dak in-numru Fibonacci. 913 00:44:57,460 --> 00:44:59,360 Allura issa I biss ltqajna żewġ affarijiet tiegħi lura. 914 00:44:59,360 --> 00:45:03,210 Imma I raden biss biex jaħsbu dwar il-kodiċi ftit aktar, kif huwa xogħol 915 00:45:03,210 --> 00:45:05,030 u kollox. 916 00:45:05,030 --> 00:45:11,750 >> Allura din il-funzjoni hawnhekk huwa l-kodiċi li Stajt qal dan is-server jiddekorri meta 917 00:45:11,750 --> 00:45:14,100 jirċievi talba ġdida li jkun dieħel. 918 00:45:14,100 --> 00:45:17,940 Allura huwa biss se run permezz ta 'dan kodiċi kollu, u allura huwa se jmorru 919 00:45:17,940 --> 00:45:21,120 Lura għall-avveniment loop u mbagħad kompli verifika għal avvenimenti ġodda. 920 00:45:21,120 --> 00:45:23,670 Allura bażikament dak li aħna jiġri huwa s-server huwa 921 00:45:23,670 --> 00:45:25,080 jisimgħu għal affarijiet ġodda. 922 00:45:25,080 --> 00:45:28,070 L-ewwel persuna titlob dak 45 hu. 923 00:45:28,070 --> 00:45:30,490 We run dan il-kodiċi biex tiġi kkalkulata dan. 924 00:45:30,490 --> 00:45:33,420 Dan il-kodiċi jieħu madwar ħames għal sitt sekondi biex jimxu. 925 00:45:33,420 --> 00:45:36,990 Imbagħad immorru lura għall-avveniment loop u ċċekkja għal talbiet ġodda. 926 00:45:36,990 --> 00:45:42,700 >> Allura dan huwa eżempju ta 'kif, jekk inti affarijiet li huma hekk imsejħa jikkomputa 927 00:45:42,700 --> 00:45:48,140 marbut, jew jużaw ħafna ta 'komputazzjoni, mhux power, iżda simili huma 928 00:45:48,140 --> 00:45:50,260 intensiv computationally - 929 00:45:50,260 --> 00:45:54,080 I raden ħaġa waħda ngħid dwar dan hija li din il-funzjoni qed tagħmel totalment, 930 00:45:54,080 --> 00:45:56,310 għall-parti l-kbira, pretty dritt xogħol utli. 931 00:45:56,310 --> 00:45:59,970 Il-ħin kollu li dak callback funzjoni kien għaddej, kien pretty 932 00:45:59,970 --> 00:46:03,670 ħafna infiq aktar mill-ħin tiegħu biss computing numru li Fibonacci nth. 933 00:46:03,670 --> 00:46:05,930 >> Iżda aħna biss kellhom wieħed ħajt biex jittrattaw. 934 00:46:05,930 --> 00:46:10,270 Fil-mudell Apache, meta żewġ persuni għamlet it-talba biex jiksbu fib 45, aħna 935 00:46:10,270 --> 00:46:11,610 kien ikollha żewġ ħjut differenti. 936 00:46:11,610 --> 00:46:15,060 U mbagħad xogħol tas-sistema operattiva tal- kien ikun, jew il-livell tal-utent 937 00:46:15,060 --> 00:46:18,660 kodiċi li tamministra l-ħjut, kieku stajt kien biex jaqsmu dak fuq il- 938 00:46:18,660 --> 00:46:23,060 CPU, jew anke jekk kellek CPUs multipli, jqassmuhom b'mod uniformi madwar l-CPUs 939 00:46:23,060 --> 00:46:26,130 hekk li dawn kienu tnejn finish bejn wieħed u ieħor fl-istess ħin. 940 00:46:26,130 --> 00:46:31,120 >> Hekk biss biex turi li inti kif nistgħu sort ta '- u din mhix perfetta total 941 00:46:31,120 --> 00:46:34,280 soluzzjoni, iżda xorta ta 'kif nistgħu jagħmlu terga 'lura hawn u tagħmel 942 00:46:34,280 --> 00:46:35,880 ftit aħjar. 943 00:46:35,880 --> 00:46:41,540 Allura dak li għandi hawnhekk huwa programm imsejjaħ Fib C. U dan bażikament juża 944 00:46:41,540 --> 00:46:45,690 ieħor ta 'moduli Node sejjaħ Il-Modulu Proċess Tfal. 945 00:46:45,690 --> 00:46:49,210 Hekk stajt inklużi li fil-tip top ta 'prodotti simili nixtieq do a pound jinkludu 946 00:46:49,210 --> 00:46:51,230 process.h tifel jew xi ħaġa. 947 00:46:51,230 --> 00:46:56,210 Issa I jkollhom aċċess għal din il-varjabbli CP li għandu l-funzjonalità tiegħi. 948 00:46:56,210 --> 00:47:01,810 >> Allura issa dak li qed nagħmel f'dan rispons handler huwa niġri dan il-programm 949 00:47:01,810 --> 00:47:04,100 dot mmejla fib 45. 950 00:47:04,100 --> 00:47:06,820 Allura dak I ghamilt - u jien biss jmorru pass out ta 'dan il-programm għal 951 00:47:06,820 --> 00:47:07,620 ftit - 952 00:47:07,620 --> 00:47:11,060 huwa stajt bil-miktub programm C li bażikament tikkalkula l- 953 00:47:11,060 --> 00:47:12,630 numru Fibonacci nth. 954 00:47:12,630 --> 00:47:15,960 So here biss programm stajt bil-miktub fis-C li tikkalkula din. 955 00:47:15,960 --> 00:47:19,040 I jistgħu josservawha, u I tista 'taħdem hija fil-linja tal-kmand. 956 00:47:19,040 --> 00:47:22,150 U li għaddej biex tiġi kkalkulata l- Numru 45 Fibonacci. 957 00:47:22,150 --> 00:47:24,510 >> Allura avviż hija biss tieħu pretty ħafna sakemm. 958 00:47:24,510 --> 00:47:28,240 I probabilment setgħu użaw sing 03 sa jottimizzaw jew xi ħaġa bħal dik, 959 00:47:28,240 --> 00:47:31,050 imma I biss ma simili regolari settings kompilatur. 960 00:47:31,050 --> 00:47:33,260 U prints out. 961 00:47:33,260 --> 00:47:36,830 >> Imma issa, dak li jien tip ta tagħmel? 962 00:47:36,830 --> 00:47:39,800 Oh sorry, fajl ħażin. 963 00:47:39,800 --> 00:47:42,800 So I jagħmlu l-istess għalf ma l-header bħal qabel. 964 00:47:42,800 --> 00:47:45,780 Imbagħad I jagħmlu dan cp.exec. 965 00:47:45,780 --> 00:47:49,460 Allura dak li dan se tagħmel huwa huwa ser imexxu dan il-programm. 966 00:47:49,460 --> 00:47:51,960 Iżda l-mod kif dan jaħdem huwa li mhuwiex ser tistenna għal 967 00:47:51,960 --> 00:47:53,400 dak il-programm biex jintemm. 968 00:47:53,400 --> 00:47:56,000 Huwa biss bażikament tgħid tesegwixxi dan il-programm. 969 00:47:56,000 --> 00:47:58,700 Allura bażikament din it-tip fil- kmand tip fil-pront ta '. 970 00:47:58,700 --> 00:48:02,350 >> U mbagħad, meta inti qed isir ma ' dan, run din il-funzjoni. 971 00:48:02,350 --> 00:48:04,800 Allura issa għandna tip ta 'nikseb dan ħaġa sħiħa restawrata tal 972 00:48:04,800 --> 00:48:06,750 simili aħna mhux qed jistennew. 973 00:48:06,750 --> 00:48:08,530 Does li tip ta 'jagħmel sens? 974 00:48:08,530 --> 00:48:08,990 Yep? 975 00:48:08,990 --> 00:48:11,060 >> UDJENZA: [inaudible]? 976 00:48:11,060 --> 00:48:13,610 >> KEVIN SCHMID: Allura dan se attwalment jiftħu proċess ġdid biex tagħmel dan. 977 00:48:13,610 --> 00:48:19,310 Allura dan huwa attwalment, f'ċerti modi, ħażen, mhux super-ħażen, imma huwa 978 00:48:19,310 --> 00:48:22,990 importanti li jgħidu li dan huwa tip ta ' jmorru lura, fuq naħa waħda, l-Apache 979 00:48:22,990 --> 00:48:26,450 mudell fejn nagħmlu ħjut u proċessi għal kull talba jew 980 00:48:26,450 --> 00:48:29,280 proċessi għal kull talba. 981 00:48:29,280 --> 00:48:32,090 Allura dan huwa tip ta 'analogu għal dak Apache ma. 982 00:48:32,090 --> 00:48:35,110 F'xi każijiet, hija biss se jużaw ġdid ħajt, li hija ftit aktar dawl 983 00:48:35,110 --> 00:48:39,040 piż minn proċess, iżda Apache tista jispiċċaw forking proċess ġdid 984 00:48:39,040 --> 00:48:43,370 li huwa tip ta 'dak li nagħmlu hawnhekk impliċitament billi tagħmel dot fib slash 45. 985 00:48:43,370 --> 00:48:48,690 >> U allura f'dak il-każ, aħna tip ta 'jġarrbu l-istess spejjeż tal-proċessi. 986 00:48:48,690 --> 00:48:50,710 Allura dan huwa biss ħaġa waħda li tista 'tagħmel. 987 00:48:50,710 --> 00:48:52,600 Iżda biss biex juru dan it-tip ta 'tmexxija. 988 00:48:52,600 --> 00:48:57,120 U dan talk huwa biss verament mmirata jippreżentaw dawn it-tip ta 'programmi bħala 989 00:48:57,120 --> 00:49:00,710 mod biex juru perspettivi differenti dwar kif disinn servers bħal dik. 990 00:49:00,710 --> 00:49:08,300 Allura dan qed taħdem, u allura issa jekk I do dan darb'oħra, I ltqajna żewġ IDs proċess. 991 00:49:08,300 --> 00:49:10,320 >> Ejja biss nitkellmu dwar affarijiet għall-punt out. 992 00:49:10,320 --> 00:49:11,980 Allura avviż li dawn qed inkrementali. 993 00:49:11,980 --> 00:49:12,700 Li jibred. 994 00:49:12,700 --> 00:49:15,140 Minħabba li kien 27,122 qabel. 995 00:49:15,140 --> 00:49:18,580 Imma avviż issa, dawn ġew lura għal madwar l-istess ħin. 996 00:49:18,580 --> 00:49:23,960 >> U issa, mistoqsija tajba li jistaqsi dwar għaliex kienet li l-każ huwa, x-xogħol tiegħu 997 00:49:23,960 --> 00:49:27,590 kien issa li tip ta 'jagħmel dawn l-affarijiet tip ta 'fair play ma' kull 998 00:49:27,590 --> 00:49:31,350 oħra, dawn iż-żewġ każijiet ta ' dot fib slash 45 li I dam 999 00:49:31,350 --> 00:49:32,880 jew li dam Node? 1000 00:49:32,880 --> 00:49:36,940 Min tip ta 'jagħmilha ġust li t-tnejn nikseb tip ta bbilanċjati run time? 1001 00:49:36,940 --> 00:49:42,900 1002 00:49:42,900 --> 00:49:44,220 >> UDJENZA: [inaudible]. 1003 00:49:44,220 --> 00:49:44,620 >> KEVIN SCHMID: Yeah. 1004 00:49:44,620 --> 00:49:49,740 Allura bażikament, meta I do fib dot mmejla 45 jew xi ħaġa bħal dik, issa huwa 1005 00:49:49,740 --> 00:49:53,750 tip ta 'sa s-sistema operattiva biex jimmaniġġjaw l-runtime ta 'dawk il-programmi. 1006 00:49:53,750 --> 00:49:56,920 U issa tista 'skeda minnhom fuq CPUs differenti jew 1007 00:49:56,920 --> 00:49:58,330 tista 'skeda minnhom. 1008 00:49:58,330 --> 00:50:01,870 Hija tista 'jaqsmu l-ħin li wieħed CPU gets jew li huma jiksbu 1009 00:50:01,870 --> 00:50:03,330 li jimxu fuq CPU wieħed. 1010 00:50:03,330 --> 00:50:05,620 Allura dak hu l-idea wara dan. 1011 00:50:05,620 --> 00:50:07,220 Does li jagħmel sens għal kulħadd? 1012 00:50:07,220 --> 00:50:10,950 Allura issa Node mhuwiex verament playing a sehem qsim dawn il-kompiti. 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 >> Allura li kważi għal eżempji. 1016 00:50:17,840 --> 00:50:23,370 I biss riedu li juru ħaġ'oħra minħabba ħafna ta 'dan s'issa kien 1017 00:50:23,370 --> 00:50:27,350 mhux totalment super prattiku f'xi każijiet. 1018 00:50:27,350 --> 00:50:30,970 I jista 'jimmaġina li ġejjin dar wara dan jitkellmu u xi ħaġa u qal simili, 1019 00:50:30,970 --> 00:50:35,710 ukoll I tip ta 'ltqajna barra minn dak kellem li I tista 'tagħmel server Fibonacci għal 1020 00:50:35,710 --> 00:50:37,360 proġett finali tiegħi. 1021 00:50:37,360 --> 00:50:40,770 Allura hawnhekk biss tip ta 'eżempju wieħed aktar li wieħed jittama li jkun - 1022 00:50:40,770 --> 00:50:44,620 forsi le, imma forsi - ftit aktar tip ta rilevanti għal proġetti finali u 1023 00:50:44,620 --> 00:50:46,440 ħsieb li ġejjin għal affarijiet bħal dik. 1024 00:50:46,440 --> 00:50:48,870 >> Allura dan huwa chat.js. 1025 00:50:48,870 --> 00:50:52,290 Allura dan huwa tip ta 'bħal xi kampjun server kodiċi ġenb li inti tista 'tuża biex 1026 00:50:52,290 --> 00:50:55,700 twaqqaf chat server żgħira bħal inti tista raw fuq l- 1027 00:50:55,700 --> 00:50:56,630 Facebook Chat jew kwalunkwe. 1028 00:50:56,630 --> 00:50:59,990 Hekk jien ma tgħid dan huwa simili Facebook Chat, iżda dan huwa tip ta ' 1029 00:50:59,990 --> 00:51:06,230 bħal tajba - forsi mhux tajba, imma forsi punt ta 'tluq għal chat - tajba 1030 00:51:06,230 --> 00:51:08,560 server għall-website tiegħek għal proġett finali. 1031 00:51:08,560 --> 00:51:11,040 Mela ejja nħarsu lejn dak li qed jagħmel. 1032 00:51:11,040 --> 00:51:15,500 >> Allura aħna qed jkollna dan ħaġa speċjali fil-quċċata, din var SIO 1033 00:51:15,500 --> 00:51:17,050 ugwali jeħtieġu Socket.IO. 1034 00:51:17,050 --> 00:51:20,280 Allura din hija ħaġa oħra li ma attwalment jiġu miġbura mal 1035 00:51:20,280 --> 00:51:22,300 Node imma int tista 'tinstalla. 1036 00:51:22,300 --> 00:51:23,480 Huwa modulu Node. 1037 00:51:23,480 --> 00:51:25,670 Allura huwa biss bħal xi estensjoni Node. 1038 00:51:25,670 --> 00:51:29,220 >> SocketIO huwa attwalment verament tip ta 'kessaħ. 1039 00:51:29,220 --> 00:51:32,550 Huwa ta 'estrazzjoni li bażikament dak ma ikunx jippermetti li inti 1040 00:51:32,550 --> 00:51:35,770 jkollhom dan il-fluss ta 'komunikazzjoni bejn web 1041 00:51:35,770 --> 00:51:39,430 browser u web server. 1042 00:51:39,430 --> 00:51:45,250 Dan għall-parti l-kbira s'issa, aħna kellna dawn malajr ħafna tieni wieħed jew tnejn 1043 00:51:45,250 --> 00:51:48,790 tieni komunikazzjonijiet bejn web browser u l-web server. 1044 00:51:48,790 --> 00:51:53,310 Għalhekk huwa bażikament mur google.com, get l-għalf, jibgħat lura, u mbagħad 1045 00:51:53,310 --> 00:51:53,770 aħna qed isir. 1046 00:51:53,770 --> 00:51:56,560 Aħna qatt ma jitkellem mill-ġdid sakemm l- tipi utent fil xi ħaġa oħra. 1047 00:51:56,560 --> 00:52:01,090 >> Imma dak Socket.IO u tip simili ta ' affarijiet - u SocketIO huwa attwalment wieħed 1048 00:52:01,090 --> 00:52:03,940 mill-affarijiet li hija mibnija fuq kif WebSocket li huwa tip ta 'disponibbli 1049 00:52:03,940 --> 00:52:06,440 bħala parti mill-HTML5 - 1050 00:52:06,440 --> 00:52:09,620 li jippermettilek li jkollhom din djalogu kontinwu. 1051 00:52:09,620 --> 00:52:13,990 U dan huwa utli ħafna fil-chat server tip ta 'ħaġa għaliex huwa 1052 00:52:13,990 --> 00:52:17,390 tip simili ta 'djalogu kontinwu fil- xi modi għaliex jekk int chatting 1053 00:52:17,390 --> 00:52:21,540 ma 'xi ħadd, inti tista' issa biss tibgħat Messaġġ l-pajp, u allura l- 1054 00:52:21,540 --> 00:52:23,940 server jista 'jibgħat messaġġ l- pajp għall-persuna l-oħra int 1055 00:52:23,940 --> 00:52:24,520 chat ma. 1056 00:52:24,520 --> 00:52:26,903 U allura inti jista 'jkollhom dan jiskambjaw bħal dik. 1057 00:52:26,903 --> 00:52:30,590 1058 00:52:30,590 --> 00:52:32,850 >> Allura dak it-tip ta 'dak SocketIO hija tajba għall. 1059 00:52:32,850 --> 00:52:38,400 Ir-raġuni li SocketIO juża WebSockets bħala ħaġa waħda hija li fil- 1060 00:52:38,400 --> 00:52:43,980 Minbarra WebSockets biss sempliċi qodma, Hija wkoll ma xi tricks li bażikament 1061 00:52:43,980 --> 00:52:45,610 jagħmilha browser kompatibbli. 1062 00:52:45,610 --> 00:52:50,040 Allura browsers bħall-Internet Explorer sfortunatament ma jsostnux WebSockets 1063 00:52:50,040 --> 00:52:50,810 dritt barra mill-kaxxa. 1064 00:52:50,810 --> 00:52:55,290 Għalhekk hija tuża xi tip ieħor ta 'kessaħ pulita affarijiet ma Adobe Flash biex jippermettu 1065 00:52:55,290 --> 00:52:57,170 inti għandek l-appoġġ browser transkonfinali. 1066 00:52:57,170 --> 00:52:58,800 Allura li tassew utli. 1067 00:52:58,800 --> 00:53:02,440 >> U fil-fatt, naf jien tip ta ' taħdem fuq żmien hawn, iżda CS50 1068 00:53:02,440 --> 00:53:08,490 Iddiskuti, qatt rajt xi ħaġa simili, I do not know, vojta hekk u hekk ikun 1069 00:53:08,490 --> 00:53:11,030 tweġiba għal din il-kariga jew xi ħaġa bħal dik, dik il-karatteristika? 1070 00:53:11,030 --> 00:53:12,250 Li SocketIO. 1071 00:53:12,250 --> 00:53:15,580 Allura meta xi ħadd jibda ittajpjar fid- jiddiskutu kaxxa li jagħmlu tweġiba jew 1072 00:53:15,580 --> 00:53:20,040 xi ħaġa, browser tiegħek ma x'hemm imsejħa fl SocketIO jarmi xi tip ta ' 1073 00:53:20,040 --> 00:53:22,660 F'każ li tgħid xi ħadd tirrispondi għal din il-kariga. 1074 00:53:22,660 --> 00:53:26,110 >> Imbagħad il-server jgħid, OK, dak li nagħmel? 1075 00:53:26,110 --> 00:53:29,270 Ukoll issa I jkollhom li tgħid dawk guys oħra li huma CS50 Iddiskuti tfittex 1076 00:53:29,270 --> 00:53:31,170 fuq din il-kariga li xi ħadd tweġiba. 1077 00:53:31,170 --> 00:53:34,190 Allura dak it-tip ta 'dak SocketIO hu tajba għal, dan it-tip kontinwu ta ' 1078 00:53:34,190 --> 00:53:35,930 nixxiegħa ta 'djalogu. 1079 00:53:35,930 --> 00:53:37,250 OK. 1080 00:53:37,250 --> 00:53:40,060 >> Allura dak li għandi hawn - u aħna qed biss se jinjora l-array konnessjonijiet 1081 00:53:40,060 --> 00:53:41,390 għal ftit - 1082 00:53:41,390 --> 00:53:43,080 dak li nagħmel huwa I do ieħor jisimgħu. 1083 00:53:43,080 --> 00:53:46,880 Allura dan huwa biss il-mod li Socket.IO hija qal ejja jisimgħu fuq dan il-port. 1084 00:53:46,880 --> 00:53:50,060 U mbagħad I jagħmlu dan fuq il-konnessjoni. 1085 00:53:50,060 --> 00:53:53,360 Allura dak biss bażikament Socket IO mod ta 'tgħid, meta nirċievu 1086 00:53:53,360 --> 00:53:55,840 konnessjoni, nixtieq biex imexxu dan il-kodiċi. 1087 00:53:55,840 --> 00:53:59,870 >> U tinnota li minflok rec u res għaddew fil hemm għandi Socket. 1088 00:53:59,870 --> 00:54:03,260 U din l-idea Socket huwa bażikament dan ħaġa li inti tista 'tikteb u taqra li 1089 00:54:03,260 --> 00:54:05,750 minn li għandha l-l-utent messaġġi possibilment. 1090 00:54:05,750 --> 00:54:10,700 U l-messaġġi li inti tibgħat tista 'tmur permezz ta' dak Socket. 1091 00:54:10,700 --> 00:54:12,140 Does li jagħmel sens? 1092 00:54:12,140 --> 00:54:14,490 Allura huwa dan ħaġa kontinwa. 1093 00:54:14,490 --> 00:54:17,820 >> Allura dak li nagħmel huwa I call Socket.emit. 1094 00:54:17,820 --> 00:54:20,330 U jarmu tieħu pretty ħafna żewġ argumenti. 1095 00:54:20,330 --> 00:54:24,100 L-ewwel argument huwa string biss li jirrappreżenta t-tip ta ' 1096 00:54:24,100 --> 00:54:25,270 Ħaġa int jarmu. 1097 00:54:25,270 --> 00:54:28,120 Allura għal dan il-każ, stajt użu dan il-messaġġ ġdid sekwenza. 1098 00:54:28,120 --> 00:54:32,670 U li jinsab biss bażikament qal li it-tip ta 'dan il-ħaġa, dak li jien 1099 00:54:32,670 --> 00:54:34,750 jibgħat, huwa messaġġ ġdid. 1100 00:54:34,750 --> 00:54:38,460 Allura inti tista 'tisma għal tipi speċifiċi bħall messaġġ ġdid jew kwalunkwe 1101 00:54:38,460 --> 00:54:39,960 bl-użu dot fuq. 1102 00:54:39,960 --> 00:54:44,570 >> Allura konnessjoni u l-utent mibgħuta hemmhekk, jekk inti tħares lejn fejn aħna sejħa dot fuq, 1103 00:54:44,570 --> 00:54:48,150 dawk huma kordi oħra li jirrappreżentaw tipi ta 'messaġġi utenti. 1104 00:54:48,150 --> 00:54:52,060 Allura huwa bażikament inti jista 'jkollhom dan jarmu wieħed minn dawn it-tipi messaġġ, u 1105 00:54:52,060 --> 00:54:55,520 imbagħad tagħmel xi ħaġa bi tweġiba għal wieħed minn dawn it-tipi ta 'messaġġi 1106 00:54:55,520 --> 00:54:57,640 >> Hekk jien li jarmi dan il-messaġġ ġdid. 1107 00:54:57,640 --> 00:55:00,540 Aħna ser jinjoraw connections.push għat-tieni. 1108 00:55:00,540 --> 00:55:03,360 Imma mbagħad I say, utent Socket.on mibgħuta. 1109 00:55:03,360 --> 00:55:07,540 Allura issa huwa tip ta 'bħal meta l- utent jibgħat me messaġġ, nixtieq 1110 00:55:07,540 --> 00:55:09,240 inti biex imexxu dan il-kodiċi. 1111 00:55:09,240 --> 00:55:12,080 U tinnota li din il-funzjoni anonima qed jieħu dan il-varjabbli 1112 00:55:12,080 --> 00:55:16,300 imsejħa data li hija bażikament se li jkollha messaġġ l-utent. 1113 00:55:16,300 --> 00:55:20,700 >> Tip Allura issa ejja diskors dwar il-konnessjonijiet array. 1114 00:55:20,700 --> 00:55:24,590 Allura dan huwa ddisinjat għal klijent chat fejn bażikament kulħadd tip ta 'prodotti fil- 1115 00:55:24,590 --> 00:55:25,950 l-istess chat room. 1116 00:55:25,950 --> 00:55:29,640 Allura bażikament, dak li għandna bżonn li jżommu madwar xi array li bażikament 1117 00:55:29,640 --> 00:55:33,170 jirrappreżenta lill-poplu kollu chat fil F'xi metodi, jekk dan jagħmel sens. 1118 00:55:33,170 --> 00:55:33,340 Dritt? 1119 00:55:33,340 --> 00:55:37,190 Għaliex għandna bżonn li jkunu jafu min dawk guys huma hekk nistgħu tibgħathom l-messaġġi 1120 00:55:37,190 --> 00:55:39,140 li nies oħra tibgħat lilna. 1121 00:55:39,140 --> 00:55:44,440 >> Allura dak li dan il-kodiċi ma huwa meta utent jibgħat messaġġ - dak l-tip ta ' 1122 00:55:44,440 --> 00:55:45,300 l-avveniment - 1123 00:55:45,300 --> 00:55:47,120 aħna qed tmur biex imexxu dan il-kodiċi. 1124 00:55:47,120 --> 00:55:51,240 U dak li nagħmlu huwa we run permezz ta 'dan array li għandna imsejħa konnessjonijiet. 1125 00:55:51,240 --> 00:55:54,390 U pretty ħafna għal kull konnessjoni ħlief il-wieħed li tagħna, li l- 1126 00:55:54,390 --> 00:55:59,520 dak li dan il-kodiċi jgħid, nibagħtu ġdida messaġġ ma 'dak il-messaġġ mehmuża 1127 00:55:59,520 --> 00:56:01,210 informazzjoni. 1128 00:56:01,210 --> 00:56:04,880 >> Mela jekk tinnota hawn, dak li għamilt meta l-utent fil-fatt jagħmel ġdida 1129 00:56:04,880 --> 00:56:08,560 konnessjoni hija Stajt miżjud ma 'l- Metodu JavaScript.push, dan huwa 1130 00:56:08,560 --> 00:56:12,100 bażikament biss qal bħal żid li Socket bħala valur fis 1131 00:56:12,100 --> 00:56:13,900 konnessjonijiet firxa tagħna. 1132 00:56:13,900 --> 00:56:20,560 Allura issa meta dan il-kodiċi runs, se tibgħat affarijiet li dawk partikolari 1133 00:56:20,560 --> 00:56:22,020 konnessjonijiet. 1134 00:56:22,020 --> 00:56:26,980 Allura dan jista 'jkun bidu tajjeb biex issir chat server 1135 00:56:26,980 --> 00:56:28,250 jew xi ħaġa simili. 1136 00:56:28,250 --> 00:56:33,315 >> U t-tip ta 'ħaġa jibred hija li l- kodiċi li tara hawn simili għal fuq u 1137 00:56:33,315 --> 00:56:36,390 jarmu u għalf bħal dik hija l-istess tip ta 'kodiċi JavaScript li inti 1138 00:56:36,390 --> 00:56:39,260 jikteb fil-browser biex jinteraġixxu mal-server. 1139 00:56:39,260 --> 00:56:42,480 B'tali mod li għalhekk SocketIO huwa tip ta ' pulita u utli fil-mod. 1140 00:56:42,480 --> 00:56:45,680 1141 00:56:45,680 --> 00:56:49,250 >> Oh u biss ħaġa waħda aktar reali malajr. 1142 00:56:49,250 --> 00:56:55,970 Kien hemm proġett finali CS50 aħħar sena li bażikament implimenta chat 1143 00:56:55,970 --> 00:56:57,840 server fil Node.js. 1144 00:56:57,840 --> 00:57:01,350 Naħseb li huwa Harvardchats.org imma jien mhux - 1145 00:57:01,350 --> 00:57:02,940 OK. 1146 00:57:02,940 --> 00:57:06,190 M'inix ċert liema l-URL huwa, iżda I tista 'tibgħat dan out wara. 1147 00:57:06,190 --> 00:57:09,260 Iżda huwa tip ta 'kessaħ dak inti tista 'tagħmel ma Node.js. 1148 00:57:09,260 --> 00:57:14,680 >> So I hope, b'mod ġenerali, inti guys jkollhom sens tajjeb ta 'dak Node.js huwa utli 1149 00:57:14,680 --> 00:57:17,870 u kif inti tista 'tapplika forsi għall-proġett finali tiegħek. 1150 00:57:17,870 --> 00:57:21,050 I ser tkun qed tibgħat out ftit aktar riżorsi flimkien ma 'dan. 1151 00:57:21,050 --> 00:57:23,170 U nirringrazzjak għall ġejjin. 1152 00:57:23,170 --> 00:57:23,610 Grazzi. 1153 00:57:23,610 --> 00:57:27,168 >> [Applause]