1 00:00:00,000 --> 00:00:08,350 2 00:00:08,350 --> 00:00:09,710 >> KEVIN SCHMID: Hello mindenkinek. 3 00:00:09,710 --> 00:00:12,640 Üdvözöljük a CS50 szeminárium A Node.js. 4 00:00:12,640 --> 00:00:13,955 A nevem Kevin. 5 00:00:13,955 --> 00:00:15,580 Vagyok CS50 TF. 6 00:00:15,580 --> 00:00:17,650 És én, mint valami nagyon izgatott erről a szemináriumon. 7 00:00:17,650 --> 00:00:20,430 Azt hiszem, Node.js nagyon cool. 8 00:00:20,430 --> 00:00:24,200 Remélem, hogy ez a szeminárium is használható mint egy jó, azt hiszem, ugródeszka 9 00:00:24,200 --> 00:00:26,380 néhány végső projekteket, ha akkor érdekel a 10 00:00:26,380 --> 00:00:27,630 valami ilyesmit Node.js. 11 00:00:27,630 --> 00:00:29,770 12 00:00:29,770 --> 00:00:33,320 >> Majd egyfajta indítsa el a szeminárium ki csak beszélek egy kicsit a 13 00:00:33,320 --> 00:00:36,970 jellegű háttér skálázhatóság perspektívái Node.js, majd 14 00:00:36,970 --> 00:00:39,240 fogunk költözni egy kódot példát. 15 00:00:39,240 --> 00:00:42,340 Én meg a kódot a honlapon, és akkor nézd meg a kódot. 16 00:00:42,340 --> 00:00:45,475 És miután a szemináriumot fogok rendezni beszélgetési arról, hogyan lehet létrehozni Node.js 17 00:00:45,475 --> 00:00:48,220 a számítógépen. 18 00:00:48,220 --> 00:00:48,710 >> OK. 19 00:00:48,710 --> 00:00:49,760 Tehát kezdjük. 20 00:00:49,760 --> 00:00:53,700 Szóval azt hiszem, én csak azt szeretném, hogy beszélni webszerverek, tényleg, az első. 21 00:00:53,700 --> 00:00:59,730 És kezdeni ezt a vitát, azt alapvetően egy diagram, ami a 22 00:00:59,730 --> 00:01:04,269 A tankönyv használt CS61, amely alapvetően azt mutatja, az interakció 23 00:01:04,269 --> 00:01:08,510 a kliens folyamat, mint a web böngésző, illetve, mint a cél ügyfél vagy 24 00:01:08,510 --> 00:01:11,340 valami ilyesmi, és a webszerver. 25 00:01:11,340 --> 00:01:15,150 Tehát ez a fajta hasonlít az kép, amit látott előadás 26 00:01:15,150 --> 00:01:19,270 Szerda, ahol alapvetően van némi kliens folyamat, mint a Google Chrome. 27 00:01:19,270 --> 00:01:22,980 >> És akkor az első lépés az a kliens küld egy kérést. 28 00:01:22,980 --> 00:01:27,510 Hogy lehet valami, mint a jól nézzük látogasson el, nem tudom, CS50.net. 29 00:01:27,510 --> 00:01:29,320 Tehát ki ezt a kérést. 30 00:01:29,320 --> 00:01:34,280 És vajon bárki emlékszik a nevére a protokoll, amely meghatározza, hogy hogyan 31 00:01:34,280 --> 00:01:35,610 kérelmet kell felépíteni? 32 00:01:35,610 --> 00:01:36,382 Aha. 33 00:01:36,382 --> 00:01:37,650 >> Közönség: [hallható]. 34 00:01:37,650 --> 00:01:38,150 >> KEVIN SCHMID: Pontosan. 35 00:01:38,150 --> 00:01:40,100 Szóval, ez olyan, mint a HTTP, igaz? 36 00:01:40,100 --> 00:01:44,720 Tehát alapvetően a specifikáció, hogy milyen ezt a kérést ténylegesen kell határozni 37 00:01:44,720 --> 00:01:47,450 ki, mert a végén a nap, hogy a kérés valóban, mint egy 38 00:01:47,450 --> 00:01:50,240 karakterlánc, amely alapvetően azt mondja, hogy ezt akarom. 39 00:01:50,240 --> 00:01:53,580 És a specifikáció mert ez a HTTP. 40 00:01:53,580 --> 00:01:55,270 Szóval, ez olyan, mint a protokoll. 41 00:01:55,270 --> 00:01:57,920 >> Tehát akkor a szerver megkapja ezt a kérést. 42 00:01:57,920 --> 00:02:01,610 Szóval srácok egy webszervert telepített A CS50 készülék. 43 00:02:01,610 --> 00:02:02,460 Ez Apache. 44 00:02:02,460 --> 00:02:06,230 És ezen a héten, amikor a munka a probléma be hét, akkor valóban dolgozni 45 00:02:06,230 --> 00:02:08,160 azzal a webszerver. 46 00:02:08,160 --> 00:02:12,380 Így a szerver megkapja ezt a kérést, és a majd azt, hogy milyen a semmiből 47 00:02:12,380 --> 00:02:15,090 fejét, és azt mondják, mint a jó, mi csináljak ezzel? 48 00:02:15,090 --> 00:02:20,060 >> Szóval, annak alapján, amit úgy dönt, hogy nem, akkor lehet, hogy a kapcsolatot valamilyen 49 00:02:20,060 --> 00:02:20,730 erőforrás. 50 00:02:20,730 --> 00:02:23,700 És, hogy az erőforrás lehet Sok különböző dolog. 51 00:02:23,700 --> 00:02:26,810 Az egyik, hogy lehet, hogy csak mint egy statikus HTML fájlt. 52 00:02:26,810 --> 00:02:29,820 Így lehet csak, mint egy HTML ami olyan, mint a 53 00:02:29,820 --> 00:02:31,100 a személyes weboldalán. 54 00:02:31,100 --> 00:02:35,360 Ez lehet egy statikus fájlt, mint egy kép vagy, mint egy film, hogy van. 55 00:02:35,360 --> 00:02:37,660 Még az is kell beszélni hogy valamilyen adatbázisban 56 00:02:37,660 --> 00:02:39,530 mint a MySQL adatbázis. 57 00:02:39,530 --> 00:02:43,910 Tehát ez nem mindig kell kommunikálni a forrás, de 58 00:02:43,910 --> 00:02:45,700 Egyes esetekben lehetett. 59 00:02:45,700 --> 00:02:47,800 >> Szóval, akkor mit fog csinálni azt követően, hogy ez fog 60 00:02:47,800 --> 00:02:49,430 küldje vissza a választ. 61 00:02:49,430 --> 00:02:53,130 És a válasz az, is meghatározott HTTP. 62 00:02:53,130 --> 00:02:54,830 Tehát akkor az ügyfél kaphat meg. 63 00:02:54,830 --> 00:02:56,740 Ez tépje szét, és feldolgozni. 64 00:02:56,740 --> 00:03:00,900 És akkor, hogy egy internetes oldalon mint a Google vagy CS50.net vagy 65 00:03:00,900 --> 00:03:02,240 amit ment. 66 00:03:02,240 --> 00:03:03,100 OK? 67 00:03:03,100 --> 00:03:06,080 >> Tehát ez az alapvető interakció fogunk foglalkozni. 68 00:03:06,080 --> 00:03:08,770 És mi elég sok lesz összpontosítva ez a része a 69 00:03:08,770 --> 00:03:10,640 interakció, a szerver. 70 00:03:10,640 --> 00:03:10,990 OK. 71 00:03:10,990 --> 00:03:12,210 Cool. 72 00:03:12,210 --> 00:03:15,500 Van valakinek kérdése eddig? 73 00:03:15,500 --> 00:03:17,720 OK. 74 00:03:17,720 --> 00:03:22,430 >> Tehát, mint már említettük, a webszerver kap ez a HTTP kérést, majd kiadja ezt 75 00:03:22,430 --> 00:03:24,760 HTTP választ. 76 00:03:24,760 --> 00:03:29,100 És mint már beszéltünk korábban, a CS50 készülék webszerver Apache. 77 00:03:29,100 --> 00:03:32,490 Tehát, ha a srácok dolgoznak P állítva hét, fogsz dolgozni a 78 00:03:32,490 --> 00:03:34,120 Apache webszerver. 79 00:03:34,120 --> 00:03:37,890 Soha nem kell, hogy valóban működik Apache közvetlenül túl sok. 80 00:03:37,890 --> 00:03:41,920 Ha valami Apache egy kis mikor adja meg a virtuális gépeket, vagy 81 00:03:41,920 --> 00:03:44,970 v házigazdák, és mi lesz az, hogy egy kicsit. 82 00:03:44,970 --> 00:03:50,620 >> De alapvetően, az Apache webszerver létre, hogy a PHP-fajta 83 00:03:50,620 --> 00:03:51,730 A ki a dobozból. 84 00:03:51,730 --> 00:03:56,170 Szóval, mi is történik, ha megy az egyik a weboldalak, mint, mondjuk, 85 00:03:56,170 --> 00:04:00,360 helyi gép slash index.php, vagy valami, a böngésző elküldi, hogy 86 00:04:00,360 --> 00:04:04,330 kérelmet, majd az Apache ül ott, és kitalálja, hogy köze van hozzá. 87 00:04:04,330 --> 00:04:08,840 És az akció végrehajtására hogy a kódot index.php és 88 00:04:08,840 --> 00:04:11,330 majd küldje el újra. 89 00:04:11,330 --> 00:04:15,640 Tehát ott van az. 90 00:04:15,640 --> 00:04:16,980 Tehát egyfajta beszéltünk erről. 91 00:04:16,980 --> 00:04:21,990 Így lehet csak szolgálni egy statikus fájl vagy fuss néhány PHP-kódot, majd kérdés 92 00:04:21,990 --> 00:04:23,510 a válasz. 93 00:04:23,510 --> 00:04:27,670 >> Így aztán egy gyakori kérdés, hogy jöhet fel jól, hogyan igazán foglalkozunk 94 00:04:27,670 --> 00:04:31,750 azzal, több felhasználó ugyanabban az időben? 95 00:04:31,750 --> 00:04:36,930 Így elképzelhető, ha írtak a web server, ha volt egy webszerver, amely 96 00:04:36,930 --> 00:04:39,900 akartál írni valamit mint a C, vagy valami ilyesmi, 97 00:04:39,900 --> 00:04:45,150 alapvetően akkor lehet gondolni, hogy ott lehet valamilyen kód 98 00:04:45,150 --> 00:04:49,330 kapna a kérelmet, de aztán azt, hogy mindezt a munkát rajta. 99 00:04:49,330 --> 00:04:53,060 Lehet, hogy, például, a kapcsolatot a adatbázis, vagy valami ilyesmi. 100 00:04:53,060 --> 00:04:53,300 Nem igaz? 101 00:04:53,300 --> 00:04:56,010 És akkor tenne ilyen majd a feldolgozás 102 00:04:56,010 --> 00:04:57,060 küldte vissza a választ. 103 00:04:57,060 --> 00:04:58,950 Szóval ez olyan, mint a nagy szintű áttekintést. 104 00:04:58,950 --> 00:05:04,210 >> De nem azonnal nyilvánvaló, hogy hogyan megteheti, hogy úgy, hogy két ember, vagy 105 00:05:04,210 --> 00:05:09,040 még 1000 ember tudott dolgozni a web szerver ugyanabban az időben. 106 00:05:09,040 --> 00:05:14,880 Tehát a megoldás, hogy az Apache nevezzük szálak vagy folyamatokat. 107 00:05:14,880 --> 00:05:16,770 Szóval lehet, hogy hallott ezeket a kifejezéseket előtt. 108 00:05:16,770 --> 00:05:22,190 Nem baj, ha nem, de gondoljunk csak a szálak vagy folyamatok módon 109 00:05:22,190 --> 00:05:26,290 az operációs rendszer vagy a felhasználói program, vagy valami ilyesmi, vagy a webszerver 110 00:05:26,290 --> 00:05:28,810 az a fajta végre több dolgot egyszerre. 111 00:05:28,810 --> 00:05:31,760 Szóval lehet, hogy hallotta a kifejezést mint a szálak a végrehajtás. 112 00:05:31,760 --> 00:05:34,140 Szóval ez olyan, mint te egyfajta multitasking. 113 00:05:34,140 --> 00:05:37,710 >> És ha láttad a doboz a laptop, vagy valami ilyesmi, 114 00:05:37,710 --> 00:05:43,040 többmagos, amit tehetünk, akkor fut két különböző szálak különböző 115 00:05:43,040 --> 00:05:46,700 részeit, így a CPU, hogy azok ténylegesen meg is történik ugyanabban az időben. 116 00:05:46,700 --> 00:05:48,100 Tehát ez nagyon erős. 117 00:05:48,100 --> 00:05:52,270 És ez a fajta Apache megoldás erre a problémára. 118 00:05:52,270 --> 00:05:57,900 >> Tehát vannak olyan, mint minden olyan kérdést ezzel a megközelítéssel, bár? 119 00:05:57,900 --> 00:05:59,870 Szóval azt hiszem, valahogy írtam őket. 120 00:05:59,870 --> 00:06:03,440 De mind a ketten egyfajta használ sok memóriát. 121 00:06:03,440 --> 00:06:07,490 Ez nagyon drága, hogy hozzon létre egy szál, vagy egy folyamat. 122 00:06:07,490 --> 00:06:11,750 >> És része az érvelés, hogy csak mint amikor futsz egy C program 123 00:06:11,750 --> 00:06:15,090 mint a fő, majd hogy a hívások másik funkció, amely 124 00:06:15,090 --> 00:06:16,520 valamilyen verem. 125 00:06:16,520 --> 00:06:19,910 Így szálak is szükség egy teljesen külön stack amely 126 00:06:19,910 --> 00:06:21,220 lehet elég nagy. 127 00:06:21,220 --> 00:06:25,170 És ha tudja képzelni, tonna felhasználók a honlapon, akkor kellett volna 128 00:06:25,170 --> 00:06:26,280 sok különböző szálak. 129 00:06:26,280 --> 00:06:28,230 Ez sok halom, hogy kezelése és karbantartása. 130 00:06:28,230 --> 00:06:31,280 Szóval ez a nagy memória-felhasználás. 131 00:06:31,280 --> 00:06:35,650 >> És akkor is, mondjuk már csak egy CPU, vagy mondjuk, hogy 132 00:06:35,650 --> 00:06:38,460 több szálat, mint te ezek multicores. 133 00:06:38,460 --> 00:06:38,730 Nem igaz? 134 00:06:38,730 --> 00:06:43,280 Tehát mondjuk, hogy van 10 menet és csak volt öt CPU-k. 135 00:06:43,280 --> 00:06:46,260 Ha ilyen van, hogy ezt a dolgot, ahol közötti váltáskor az aktuális 136 00:06:46,260 --> 00:06:49,090 az egyik, hogy fut, mert nem tudja futtatni a 10-at egyszerre. 137 00:06:49,090 --> 00:06:50,980 És hogy hívják a kontextusban kapcsolót. 138 00:06:50,980 --> 00:06:54,260 És ez a kifejezés valójában egy pár különböző körülmények között, de most csak 139 00:06:54,260 --> 00:06:56,620 gondol rá, mint váltás két szál. 140 00:06:56,620 --> 00:06:59,730 Ez is elég drága, mert alapvetően mit kell tenned, hogy 141 00:06:59,730 --> 00:07:03,340 kell, hogy hagyja abba, amit csinálsz, kivéve a állapotban, hogy a futás menet, és a 142 00:07:03,340 --> 00:07:05,440 majd átváltani valahol máshol. 143 00:07:05,440 --> 00:07:09,420 >> Tehát nem mindenki ilyen lásd motiváció, hogy miért szálak és 144 00:07:09,420 --> 00:07:12,030 folyamatokat lehet egy kicsit terjedelmes? 145 00:07:12,030 --> 00:07:13,840 És volt még egy kérdés? 146 00:07:13,840 --> 00:07:14,376 OK. 147 00:07:14,376 --> 00:07:15,070 Cool. 148 00:07:15,070 --> 00:07:18,090 Van valakinek kérdése? 149 00:07:18,090 --> 00:07:19,620 OK. 150 00:07:19,620 --> 00:07:26,720 >> Tehát, ha egy lépést hátra a második, van olyan, mint egy 151 00:07:26,720 --> 00:07:30,350 megfigyelés, hogy tudjuk, hogy a sok webes alkalmazások. 152 00:07:30,350 --> 00:07:34,810 És ez igazán, hogy sok közülük Igazából nem, hogy sok hasznos 153 00:07:34,810 --> 00:07:37,140 a munka belsejében egy szál. 154 00:07:37,140 --> 00:07:41,170 Így már bárki kezdődött P beállítva hét egyáltalán? 155 00:07:41,170 --> 00:07:45,650 Így akarsz talán leírni néhány, a részek? 156 00:07:45,650 --> 00:07:47,850 Már dolgozott login vagy valami ilyesmi? 157 00:07:47,850 --> 00:07:49,330 >> Közönség: Nem. 158 00:07:49,330 --> 00:07:49,780 >> KEVIN SCHMID: OK. 159 00:07:49,780 --> 00:07:50,150 Mindegy. 160 00:07:50,150 --> 00:07:50,900 Bocsánat. 161 00:07:50,900 --> 00:07:55,790 De alapvetően, a P halmaz, akkor lesz, hogy a sok fajta 162 00:07:55,790 --> 00:07:59,760 lekérdezéseket egy adatbázis, hogy egy kis információt az adatbázis. 163 00:07:59,760 --> 00:08:03,330 És mi a kódot fog csinálni, hogy mi Apache folyamat vagy 164 00:08:03,330 --> 00:08:06,030 hogy az Apache szál fog csinálni ugyanakkor azt, hogy lépjen kapcsolatba a 165 00:08:06,030 --> 00:08:08,990 adatbázis ez a fajta lesz ott ült, és ez lesz 166 00:08:08,990 --> 00:08:12,130 várja az adatbázis válaszolni. 167 00:08:12,130 --> 00:08:16,290 >> Most, hogy nem hangzik olyan nagy foglalkozni, mivel az adatbázis a 168 00:08:16,290 --> 00:08:18,240 CS50 készülék, igaz? 169 00:08:18,240 --> 00:08:22,930 De van valamilyen hálózat látencia ott, mert most már a weben 170 00:08:22,930 --> 00:08:26,830 kiszolgáló kiadni saját kérésére a az adatbázist, hogy kommunikáljon a 171 00:08:26,830 --> 00:08:29,520 adatbázist, majd kap, hogy a Vissza. 172 00:08:29,520 --> 00:08:33,190 Tehát most már, mint a jól várj rám, én vagyok menni, hogy valamit a 173 00:08:33,190 --> 00:08:35,770 adatbázis és akkor ott van a sok várakozás folyik. 174 00:08:35,770 --> 00:08:36,870 Van ennek értelme? 175 00:08:36,870 --> 00:08:38,580 >> És néhány dolog, hogy ez nem is olyan rossz. 176 00:08:38,580 --> 00:08:41,950 Ha csak azt, hogy, például, hozzáférésű memória, ez nem olyan, mint 177 00:08:41,950 --> 00:08:44,100 szörnyű I / O késleltetést. 178 00:08:44,100 --> 00:08:47,110 És amikor azt mondom, I / O latency, milyen vagyok utalva, mint bármilyen hasonló 179 00:08:47,110 --> 00:08:48,290 input output. 180 00:08:48,290 --> 00:08:52,950 De eléréséhez egy fájlt a lemezen, mint a ha akartam szolgálni a statikus HTML 181 00:08:52,950 --> 00:08:57,850 fájl, amely a saját weboldal vagy valami ilyesmi, valahogy meg kell 182 00:08:57,850 --> 00:09:02,310 megáll egy kicsit, olvastam, hogy a fájl magának a lemezt, majd a 183 00:09:02,310 --> 00:09:04,400 ez a folyamat várok. 184 00:09:04,400 --> 00:09:06,700 Én nem hasznos munkát végez. 185 00:09:06,700 --> 00:09:11,270 >> Ez nem igaz, mindent, de a gyakori az alkalmazások, mint a P halmaz 186 00:09:11,270 --> 00:09:13,960 hét és sok alkalmazás hogy te nem 187 00:09:13,960 --> 00:09:15,440 valójában csinál sok gondolkodás. 188 00:09:15,440 --> 00:09:19,090 És amikor azt mondom, gondolkodás, úgy értem mint a számítógépes munkát. 189 00:09:19,090 --> 00:09:23,270 Így számítógépes munka lehet valami mint, mondjuk, azt akartad, hogy 190 00:09:23,270 --> 00:09:26,590 levelet web szerver, hogy csak számított Az n-edik Fibonacci-szám. 191 00:09:26,590 --> 00:09:29,300 Ez nem úgy hangzik, mint egy különösen szórakoztató webszerver. 192 00:09:29,300 --> 00:09:34,220 Mintha nem számíthat, hogy a helyszínen, hogy A következő a Facebook, de ez némi 193 00:09:34,220 --> 00:09:35,610 fajta számítógépes munkát. 194 00:09:35,610 --> 00:09:39,570 >> El tudják képzelni azt helyettesítő és valamilyen más érdekes 195 00:09:39,570 --> 00:09:43,070 számítógépes munkát. 196 00:09:43,070 --> 00:09:46,050 Tegyük fel, hogy írtak valamit számított a fokok 197 00:09:46,050 --> 00:09:49,170 szétválasztása két ember között vagy valami ilyesmi. 198 00:09:49,170 --> 00:09:51,860 Tehát, hogy nem jár valamilyen A számítás, nem igaz? 199 00:09:51,860 --> 00:09:56,630 És még akkor is csinálni, hogy még mindig hogy sokat vár talán 200 00:09:56,630 --> 00:09:59,550 meg kell kérdezni egy adatbázis, hogy vizsgálja meg fel, aki barátok, akik, vagy 201 00:09:59,550 --> 00:10:00,600 valami ilyesmi. 202 00:10:00,600 --> 00:10:03,510 Tehát van ez a fajta fogalom a számítógépes munkát. 203 00:10:03,510 --> 00:10:05,260 Van ennek értelme? 204 00:10:05,260 --> 00:10:08,258 Van valakinek kérdése? 205 00:10:08,258 --> 00:10:11,960 >> Ja, és azt hiszem, fel chat szerverek ott mert a beszélgetés szerverek fajta 206 00:10:11,960 --> 00:10:13,240 Egy másik jó példa erre. 207 00:10:13,240 --> 00:10:15,250 A chat szerver nem sokat gondolkodás. 208 00:10:15,250 --> 00:10:18,350 Csak meg kell várni, hogy az emberek üzeneteket küldeni és amikor 209 00:10:18,350 --> 00:10:19,800 mégis, küldje el. 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 >> Szóval összefoglalva újra az Apache és a hasonló webszerverek ilyen villa a 213 00:10:28,180 --> 00:10:31,470 Sok szálak és folyamatok lehet ilyen pazarló. 214 00:10:31,470 --> 00:10:37,530 Szóval azt hiszem, a kérdés, hogy jöhet az, hogy nem mi szükség van 215 00:10:37,530 --> 00:10:39,610 több szálon és folyamatok? 216 00:10:39,610 --> 00:10:41,890 Mi lenne, ha csak volt egy? 217 00:10:41,890 --> 00:10:45,710 >> Szóval egyfajta festeni egy képet Az, hogy ez mit fog kinézni. 218 00:10:45,710 --> 00:10:47,810 Szóval csak egy szál. 219 00:10:47,810 --> 00:10:48,660 OK? 220 00:10:48,660 --> 00:10:52,790 Tehát csak elképzelni, hogy ez az egyik téma. 221 00:10:52,790 --> 00:10:56,600 >> Tegyük fel, hogy nem igazán tesz hogy sok hasznos - és amikor azt mondom, 222 00:10:56,600 --> 00:10:59,450 hasznos, úgy értem, a számítógépes munka - 223 00:10:59,450 --> 00:11:01,130 azokban a több szálon előtt. 224 00:11:01,130 --> 00:11:04,180 Szóval egyfajta megszilárdítása mindent egy szál. 225 00:11:04,180 --> 00:11:07,780 Mi van, ha volt egy szál ilyen csak megy körül a hurok, és 226 00:11:07,780 --> 00:11:10,880 folyamatosan ellenőrzi csinált valamit Új történni. 227 00:11:10,880 --> 00:11:15,130 Így például, valami új történt azt is jelentheti, kaptam valamit vissza 228 00:11:15,130 --> 00:11:19,310 az adatbázis, vagy valaki küldött nekem egy új HTTP kérést. 229 00:11:19,310 --> 00:11:22,290 Tehát azok a fajta események , hogy ez megtörténjen, ugye? 230 00:11:22,290 --> 00:11:26,130 >> És akkor mit tehetek, ha ezek az új dolgok történnek ebben azonos téma 231 00:11:26,130 --> 00:11:30,120 a végrehajtás, ez az egyetlen szál végrehajtás, tudok hívni egy kódot, hogy 232 00:11:30,120 --> 00:11:32,410 kellene kezelni, hogy az adott dolog. 233 00:11:32,410 --> 00:11:36,640 Így például, ha kaptam valamit az adatbázisból, tudtam futni a 234 00:11:36,640 --> 00:11:40,960 kis számítási része az, hogy valójában csak előkészíti a dolog, hogy 235 00:11:40,960 --> 00:11:42,620 küld vissza a felhasználónak. 236 00:11:42,620 --> 00:11:46,710 Tehát nem az a fajta értelme? 237 00:11:46,710 --> 00:11:49,940 >> De mi valóban a mit jelent ez? 238 00:11:49,940 --> 00:11:50,660 Nem igaz? 239 00:11:50,660 --> 00:11:53,730 Mert írtam sok kód - 240 00:11:53,730 --> 00:11:58,330 és én csak fog ugrani előre A diák, ha ez rendben van. 241 00:11:58,330 --> 00:12:00,930 Szóval, ha nem bánod, én csak megy, hogy egy lépést hátra. 242 00:12:00,930 --> 00:12:03,410 Tehát ez a fajta dolog, nevezett esemény hurok. 243 00:12:03,410 --> 00:12:04,070 OK? 244 00:12:04,070 --> 00:12:07,240 És ez olyan alapvető gondolata Node.js. 245 00:12:07,240 --> 00:12:11,240 >> Tehát mi Node.js valóban csinál, mint a web szerver van egy szál 246 00:12:11,240 --> 00:12:14,850 hogy alapvetően megy körbe a hurok mint egy ideig egyfajta alatt 247 00:12:14,850 --> 00:12:18,510 a motorháztető Node.js ami folyamatosan ellenőrzése, nem kapunk új dolgokat? 248 00:12:18,510 --> 00:12:22,720 És akkor fog futni rakodók hogy hozzanak létre. 249 00:12:22,720 --> 00:12:26,720 De egy jó kérdés az, hogyan tudjuk, hogy ez megvalósuljon 250 00:12:26,720 --> 00:12:28,090 a meglévő dolgokat? 251 00:12:28,090 --> 00:12:32,440 >> Így tettem egy sor C kód, hogy itt alapvetően úgy néz ki, mintha megnyitása 252 00:12:32,440 --> 00:12:33,060 fájl, igaz? 253 00:12:33,060 --> 00:12:36,090 Én Épp most jött ki egy albumot. 254 00:12:36,090 --> 00:12:39,600 Szóval kellett nyitni neki egy új fájlt. 255 00:12:39,600 --> 00:12:43,810 Tehát az út a C kód működik - 256 00:12:43,810 --> 00:12:47,890 és azt hiszem, azért választottam kép volt mert ez a fajta mértékű 257 00:12:47,890 --> 00:12:52,000 Az I / O munkát, amit végzett C olyan értelemben, hogy ott input output. 258 00:12:52,000 --> 00:12:55,070 Ezért hívjuk ezt a kódot, hogy az működik ez a f nyitva. 259 00:12:55,070 --> 00:12:59,370 És akkor a következő sorban a mi programot, most már dolgozni f. 260 00:12:59,370 --> 00:13:02,710 >> Tehát ez lenne egy példát mondani valamiről ez olyan, mint a szinkron vagy 261 00:13:02,710 --> 00:13:06,850 blokkoló, mert az, hogy az első sorban ott várunk, amíg 262 00:13:06,850 --> 00:13:08,110 hogy a fájl nyitva. 263 00:13:08,110 --> 00:13:12,260 Így a második sorban, tudjuk, hogy f tud dolgozni, de ez azt jelenti, hogy 264 00:13:12,260 --> 00:13:16,240 hogy a második sor nem igazán fut amíg az első sor kész. 265 00:13:16,240 --> 00:13:17,760 Van ennek értelme? 266 00:13:17,760 --> 00:13:20,890 >> Tehát ez rossz lenne, hogy egy eseménykezelő. 267 00:13:20,890 --> 00:13:23,920 És az oka, hogy az, hogy a ez a fajta vár, nem igaz? 268 00:13:23,920 --> 00:13:26,500 Tehát ez visszatér minket vissza hogy ugyanazt a dolgot. 269 00:13:26,500 --> 00:13:29,470 És most már nem is kell a javára több szálat vagy 270 00:13:29,470 --> 00:13:32,390 folyamatokat, mert kaptunk Egy szál Node.js. 271 00:13:32,390 --> 00:13:35,496 Van ennek értelme, hogy mindenki? 272 00:13:35,496 --> 00:13:35,990 >> Közönség: Várjon. 273 00:13:35,990 --> 00:13:36,980 Szóval mi a csere? 274 00:13:36,980 --> 00:13:37,840 >> KEVIN SCHMID: Ó, szóval igen. 275 00:13:37,840 --> 00:13:39,560 Így fogok eljutni a csere. 276 00:13:39,560 --> 00:13:40,430 OK. 277 00:13:40,430 --> 00:13:42,960 Mi van, ha volt valami úgy nézett ki, mint ez? 278 00:13:42,960 --> 00:13:45,730 Mi van, ha most szerkesztett f nyitott egy kicsit? 279 00:13:45,730 --> 00:13:48,370 Szóval halad az azonos két érv, mint korábban. 280 00:13:48,370 --> 00:13:52,610 Még mindig szeretem az új dalt , hogy ő jött ki. 281 00:13:52,610 --> 00:13:57,260 De én halad egy harmadik dolog, ami az ennek a változónak nevezzük kódot. 282 00:13:57,260 --> 00:14:02,280 >> De mi az a kód valójában ebben az összefüggésben? 283 00:14:02,280 --> 00:14:05,360 Olyan, mint egy hagyományos C változó? 284 00:14:05,360 --> 00:14:06,740 Ez egy funkció, igaz? 285 00:14:06,740 --> 00:14:09,450 És hogy lehet egy kicsit furcsa, mert Én valójában, mint most halad a 286 00:14:09,450 --> 00:14:12,320 működik egy másik funkciót. 287 00:14:12,320 --> 00:14:14,400 >> Így egy-két dolgot megjegyezni erről. 288 00:14:14,400 --> 00:14:17,145 Egy, én valójában nem hív a kód funkciót. 289 00:14:17,145 --> 00:14:20,650 Szóval nem lát kódot a bal paren, Jobb zárójel. 290 00:14:20,650 --> 00:14:23,010 Én csak múló kódot. 291 00:14:23,010 --> 00:14:26,990 És a C-ben, hogy mi ez valójában van nekem egy mutatót, hogy a tényleges 292 00:14:26,990 --> 00:14:29,740 kódot, és akkor ez lehet futtatni. 293 00:14:29,740 --> 00:14:33,350 De gondolj bele, mint te halad a programkód futtatható 294 00:14:33,350 --> 00:14:35,150 a fájl megnyitásakor. 295 00:14:35,150 --> 00:14:41,430 >> De mit jelent az, hogy most a életem program tehet 296 00:14:41,430 --> 00:14:47,050 más dolog, továbbra is csinál más dolgokat, miközben mi, nem igazán várni, de 297 00:14:47,050 --> 00:14:50,890 csak a hátsó fejünket, hogy ha a fájl nyitott, futni, hogy 298 00:14:50,890 --> 00:14:52,130 kódot a tetején. 299 00:14:52,130 --> 00:14:53,390 Van ennek értelme? 300 00:14:53,390 --> 00:14:58,060 >> És most az ötlet mögött Node.js, hogy A kódot a do dolgot f 301 00:14:58,060 --> 00:15:04,590 része kell nagyon rövid és egyszerű és egyértelmű, és nem igazán lehet 302 00:15:04,590 --> 00:15:06,160 nagyon számításigényes. 303 00:15:06,160 --> 00:15:09,390 Lehet, meg kell nyitnia egy fájlt, de hogy az is elég gyorsan 304 00:15:09,390 --> 00:15:14,710 mert kéne mondani, nem egy másik f megnyitni, majd hívja a másik kódot. 305 00:15:14,710 --> 00:15:19,100 >> Szóval, csak hogy teljesen tiszta, az f nyissa ki, hogy nem az új Katy Perry dalt 306 00:15:19,100 --> 00:15:23,060 Kész mp3, ez lesz a szép sokat vissza azonnal. 307 00:15:23,060 --> 00:15:27,820 És akkor már csak továbbra is ezt más dolog, mert minden, hogy most f 308 00:15:27,820 --> 00:15:33,410 nyílt felhívás nem is mondja alapvetően mögöttes f open kód megnyitni ezt a fájlt 309 00:15:33,410 --> 00:15:36,020 és ha végeztél megnyitása ebben a fájl vagy ha kap vissza, 310 00:15:36,020 --> 00:15:37,480 majd futtassa a kódot. 311 00:15:37,480 --> 00:15:39,540 De ez valójában nem fut a kód. 312 00:15:39,540 --> 00:15:41,815 És volt egy kérdés? 313 00:15:41,815 --> 00:15:46,180 >> Közönség: Úgy tűnt, hogy magában egy pár alkalommal, hogy ha számításigényes 314 00:15:46,180 --> 00:15:50,545 intenzív kód fajta megtörni a [Hallhatatlan] vezérelt rendszert kapsz. 315 00:15:50,545 --> 00:15:51,795 [Nem hallható]? 316 00:15:51,795 --> 00:15:54,450 317 00:15:54,450 --> 00:15:55,290 >> KEVIN SCHMID: Ez egy jó kérdés. 318 00:15:55,290 --> 00:15:59,280 Szóval valójában egy példa arra, hogy akkor integrálni számításigényes 319 00:15:59,280 --> 00:16:01,090 intenzív kódot egy kicsit. 320 00:16:01,090 --> 00:16:03,620 Tehát, amikor eljutunk a kód példák, Én biztos, hogy húzza ki, hogy az egyik. 321 00:16:03,620 --> 00:16:04,700 Ez rendben van? 322 00:16:04,700 --> 00:16:05,950 Köszönöm. 323 00:16:05,950 --> 00:16:07,690 324 00:16:07,690 --> 00:16:08,750 >> Mi is a neve? 325 00:16:08,750 --> 00:16:10,620 >> Közönség: Aaron. 326 00:16:10,620 --> 00:16:14,830 >> KEVIN SCHMID: Aaron hozza fel egy nagyon jó pont, ami az, hogy ha lenne 327 00:16:14,830 --> 00:16:18,560 néhány számításigényes kódot A do dolgot f rész, a többi 328 00:16:18,560 --> 00:16:22,880 a program nem fut, és nem tud hallgatni Az új kérelmek, vagy semmit, amíg az összes 329 00:16:22,880 --> 00:16:24,270 a cucc befejeződött. 330 00:16:24,270 --> 00:16:27,390 Tehát, ha írok Node kódot általában ha nem teszünk valamit, mint én fogok 331 00:16:27,390 --> 00:16:33,060 javasolni később, amikor megnézzük a kód példák, meg kell bizonyosodni arról, hogy 332 00:16:33,060 --> 00:16:36,060 a kód nem köti fel ez az esemény hurok. 333 00:16:36,060 --> 00:16:38,120 Van ennek értelme? 334 00:16:38,120 --> 00:16:38,350 OK. 335 00:16:38,350 --> 00:16:40,040 Cool. 336 00:16:40,040 --> 00:16:47,090 >> Tehát Node.js kínálja ezt a keretet lehet építeni ezeket eseményvezérelt 337 00:16:47,090 --> 00:16:48,210 szerverek. 338 00:16:48,210 --> 00:16:53,460 Tehát van ilyen jellegű aszinkron nem blokkoló I / O-könyvtárak, míg a 339 00:16:53,460 --> 00:16:56,800 A szabványos C könyvtárakat, hogy már dolgozik, mint ha csak 340 00:16:56,800 --> 00:16:59,500 használja őket ugyanúgy, hogy már alkalmazza ezeket a f megnyílik, és 341 00:16:59,500 --> 00:17:03,000 dolgok, ezek blokkolja, mert valóban meg kell várni 342 00:17:03,000 --> 00:17:04,470 a fájlt megnyitni. 343 00:17:04,470 --> 00:17:09,290 >> De Node.js ad, hogy, és ez alapvetően kötődik a Google V8 344 00:17:09,290 --> 00:17:14,030 JavaScript motor, amely az oka hogy a Chrome annyira gyors a feldolgozó 345 00:17:14,030 --> 00:17:17,040 JavaScript mert van ez a V8-as motor. 346 00:17:17,040 --> 00:17:22,460 Szóval, tudom, hogy úgy hangzik, mint egy ilyen WWDC fejlesztői konferenciákon dolog 347 00:17:22,460 --> 00:17:25,390 ahol csak dobjon egy csomó a betű szám dolgokat processzorok 348 00:17:25,390 --> 00:17:26,910 és azt mondják, ez így jó. 349 00:17:26,910 --> 00:17:34,200 De jó, hogy ők mert JavaScript - 350 00:17:34,200 --> 00:17:37,010 vagy talán ha nem ismeri JavaScript még, mert még nem volt 351 00:17:37,010 --> 00:17:38,180 Az előadások is - 352 00:17:38,180 --> 00:17:40,770 de JavaScript egy interpretált nyelvet. 353 00:17:40,770 --> 00:17:41,970 >> És ez egy fontos pont is. 354 00:17:41,970 --> 00:17:45,790 Ezért fontos a mi web szerverek gyors, nem igaz? 355 00:17:45,790 --> 00:17:49,970 És ha éppen fut JavaScript kódot, úgy értelmezték, csak 356 00:17:49,970 --> 00:17:52,130 a régi tolmács lehet lassú. 357 00:17:52,130 --> 00:17:55,980 Tehát Node hasznot, amelyek ezt a szupergyors V8 tolmács. 358 00:17:55,980 --> 00:17:59,580 És nem tudom, hogy nevezték el mert a V8 pofon a homlokon 359 00:17:59,580 --> 00:18:01,110 dolog, de az OK gombra. 360 00:18:01,110 --> 00:18:07,070 >> Szóval már készített néhány példát ebben az URL-t. 361 00:18:07,070 --> 00:18:10,490 A szeminárium után, én valami fog beszélni, hogyan juthat Node szett 362 00:18:10,490 --> 00:18:13,570 fel, de most, én csak egyfajta akar a séta egy kódot példát. 363 00:18:13,570 --> 00:18:17,250 Tehát, ha azt szeretnénk, hogy kövesse végig, az összes forráskód elérhető itt. 364 00:18:17,250 --> 00:18:18,720 OK? 365 00:18:18,720 --> 00:18:22,280 >> Úgyhogy hagyjuk ezt az URL- fel egy kicsit. 366 00:18:22,280 --> 00:18:24,440 És akkor én csak úgy kapcsolja be a terminál. 367 00:18:24,440 --> 00:18:29,670 368 00:18:29,670 --> 00:18:34,400 Mindenki jó az URL-t? 369 00:18:34,400 --> 00:18:37,990 Így fogok áttérni hogy a terminál itt. 370 00:18:37,990 --> 00:18:42,030 >> Tehát itt a kód Van ma. 371 00:18:42,030 --> 00:18:43,960 Miért nem kezdjük simpler.js fájlt? 372 00:18:43,960 --> 00:18:49,110 373 00:18:49,110 --> 00:18:52,100 A másik dolog az, hogy mindez kód lesz írva 374 00:18:52,100 --> 00:18:56,660 JavaScript, amit lehet, Lehet, hogy nem ismerik. 375 00:18:56,660 --> 00:19:00,170 Azt hiszem, egy-két dolog az, hogy sok A JavaScript kód az a fajta 376 00:19:00,170 --> 00:19:04,000 szintaxis és szerkezete nagyon hasonlít a C, így egyfajta vedd fel 377 00:19:04,000 --> 00:19:05,020 megy végig. 378 00:19:05,020 --> 00:19:08,750 Megpróbáltam írni egy csomó a kiindulási kód olyan módon, hogy ez 379 00:19:08,750 --> 00:19:11,230 hasonlít a C, így, hogy ez az egy kicsit olvasható. 380 00:19:11,230 --> 00:19:15,980 De ahogy haladunk, ott leszek bizonyítva néhány további 381 00:19:15,980 --> 00:19:18,980 jellemzői JavaScript a fajta cool. 382 00:19:18,980 --> 00:19:21,510 >> De nézzük meg ezt a mintát a program. 383 00:19:21,510 --> 00:19:24,820 Azt hiszem, minden a legnagyobb vágva ott. 384 00:19:24,820 --> 00:19:28,500 Én csak úgy rögzíteni, hogy a valódi gyors, ha ez rendben van-e vagy sem. 385 00:19:28,500 --> 00:19:31,400 Én nem tudom, mi ez fog csinálni. 386 00:19:31,400 --> 00:19:34,660 Ez egy kicsit jobban? 387 00:19:34,660 --> 00:19:36,510 Látod a var, meg ilyesmi? 388 00:19:36,510 --> 00:19:39,320 OK. 389 00:19:39,320 --> 00:19:44,120 >> Tehát az első sorban, mint a JavaScript változata egy változó 390 00:19:44,120 --> 00:19:44,800 nyilatkozat. 391 00:19:44,800 --> 00:19:49,870 Tehát csak kiemelni, hogy ez mit néz ki, mint a C. Szóval ez olyan, mint a 392 00:19:49,870 --> 00:19:52,620 ezt mondom index értéke három vagy valami ilyesmi. 393 00:19:52,620 --> 00:19:55,740 Szóval nem határozta meg a típus. 394 00:19:55,740 --> 00:20:00,780 JavaScript megvannak típusú, de nagyon dinamikusan gépelt a természetben, így 395 00:20:00,780 --> 00:20:02,580 nem nyújt semmilyen típusú rajta. 396 00:20:02,580 --> 00:20:03,670 Így csak azt var. 397 00:20:03,670 --> 00:20:05,320 Ez olyan, mint a változó. 398 00:20:05,320 --> 00:20:05,920 OK? 399 00:20:05,920 --> 00:20:08,340 >> És én hívom ezt a változót HTTP. 400 00:20:08,340 --> 00:20:12,480 És a jobb oldalon van a kifejezés, amely azt szeretnénk, hogy a HTTP. 401 00:20:12,480 --> 00:20:14,960 És ez azt mondja, szükség HTTP. 402 00:20:14,960 --> 00:20:18,500 Tehát ez a fajta hasonlít tartalmazza. 403 00:20:18,500 --> 00:20:22,940 Ez egy kicsit több, mint erősebb, mint abban az értelemben magában foglalja, amelyek magukban foglalják 404 00:20:22,940 --> 00:20:26,100 is csak másolja be a fejléc fájl a funkció prototípus vagy 405 00:20:26,100 --> 00:20:27,930 amit a meghatározások. 406 00:20:27,930 --> 00:20:30,590 De szükség van valóban megy hogy minket a kódot. 407 00:20:30,590 --> 00:20:33,280 >> Szóval lehet gondolni rá, mint importáló néhány kódot. 408 00:20:33,280 --> 00:20:37,960 Tehát valahol a Node.js modulban rendszer, vagy bármi, akkor mindezt 409 00:20:37,960 --> 00:20:40,790 HTTP szerver kódot, így vagyok elragadó ez a saját 410 00:20:40,790 --> 00:20:43,130 személyes használatra ebben a programban. 411 00:20:43,130 --> 00:20:44,260 OK? 412 00:20:44,260 --> 00:20:46,930 >> Szóval, akkor én ezt a funkciót , hogy én írtam. 413 00:20:46,930 --> 00:20:50,330 És észre, nem kell megadni A visszatérési típus, vagy hogy milyen típusú a 414 00:20:50,330 --> 00:20:51,140 érveket újra. 415 00:20:51,140 --> 00:20:54,440 Tehát egyfajta laza beírt hogy ilyen értelemben. 416 00:20:54,440 --> 00:20:57,290 Két érv, hogy vesz, A kérés és válasz. 417 00:20:57,290 --> 00:21:02,080 Szóval ez fogalmilag olyan, mint ismerős a kép, hogy mi volt 418 00:21:02,080 --> 00:21:05,280 A képernyő előtt, mert megkapjuk ezt a kérést, hogy 419 00:21:05,280 --> 00:21:06,410 van a felhasználó. 420 00:21:06,410 --> 00:21:09,170 És akkor mi van a válasz, hogy az tudjuk írni a dolgokat. 421 00:21:09,170 --> 00:21:15,060 >> Tehát az első sora ez nem res.writeHead 200, majd ezt 422 00:21:15,060 --> 00:21:17,070 tartalomtípus szöveg sima. 423 00:21:17,070 --> 00:21:19,300 Szóval ez a darab szét egy kicsit. 424 00:21:19,300 --> 00:21:22,340 Úgyhogy csak összpontosítani res.write egy kicsit. 425 00:21:22,340 --> 00:21:28,420 Tehát az írás alapvetően, és írni fej, csak módon egyfajta írja ki 426 00:21:28,420 --> 00:21:29,960 dolgokat a választ. 427 00:21:29,960 --> 00:21:30,770 OK? 428 00:21:30,770 --> 00:21:36,230 Tehát olvasófej, ha valaki emlékszik A HTTP előadás, srácok 429 00:21:36,230 --> 00:21:39,940 emlékszem fejléc a tetején a HTTP dolog? 430 00:21:39,940 --> 00:21:43,580 Akkor miért nem csak demo fejlécek gyorsan. 431 00:21:43,580 --> 00:21:44,640 Vajon, hogy hasznos? 432 00:21:44,640 --> 00:21:45,500 Vagy inkább csak egyfajta - 433 00:21:45,500 --> 00:21:46,070 OK. 434 00:21:46,070 --> 00:21:46,740 Persze. 435 00:21:46,740 --> 00:21:52,340 >> Tehát, amikor a böngésző megy google.com vagy valami ilyesmi, 436 00:21:52,340 --> 00:21:54,250 van valójában egy kicsit - 437 00:21:54,250 --> 00:21:55,380 ez olyan, mint egy titkos - 438 00:21:55,380 --> 00:21:58,340 van, mint egy kicsit több információt , ami a csövön keresztül, mint 439 00:21:58,340 --> 00:22:00,180 a kis keresés és a mindent. 440 00:22:00,180 --> 00:22:03,550 Tehát, hogy mutassa meg ezt, én megyek használni a program neve Curl. 441 00:22:03,550 --> 00:22:04,260 OK? 442 00:22:04,260 --> 00:22:08,020 Tehát ez olyan dolog, amit lehet futtatni Mac OSX parancssorban vagy a 443 00:22:08,020 --> 00:22:09,830 készülék vagy bármi. 444 00:22:09,830 --> 00:22:17,050 És ha én Curl HTTP google.com, Megyek, hogy a HTML. 445 00:22:17,050 --> 00:22:21,230 És ez, a méltányosság, csak a HTML fajta megmondja, hogy 446 00:22:21,230 --> 00:22:24,695 átirányítani www, ha a böngésző nem automatikusan kezeli a 447 00:22:24,695 --> 00:22:27,110 átirányítás. 448 00:22:27,110 --> 00:22:33,390 >> Szóval ez csak a HTML, de megyek hozzá Curl ezt kötőjelet én zászló. 449 00:22:33,390 --> 00:22:33,600 OK? 450 00:22:33,600 --> 00:22:35,600 És ez fog mutatni nekem a fejléceket. 451 00:22:35,600 --> 00:22:40,640 Tehát ez is információ, hogy jön keresztül, amikor kapom ezt a választ. 452 00:22:40,640 --> 00:22:41,260 OK? 453 00:22:41,260 --> 00:22:45,320 >> Így a tetején, ezt látja HTTP 301-mozog állandóan. 454 00:22:45,320 --> 00:22:49,470 És ez a fajta fontos, mert ez vonatkozik a status kódot. 455 00:22:49,470 --> 00:22:53,750 Tehát a 301-itt a státusz kódot, amely alapjában véve csak egy egész szám 456 00:22:53,750 --> 00:22:57,750 hogy megmondja a böngésző vagy bárki is ezt olvasod, ha úgy tesznek, mintha 457 00:22:57,750 --> 00:23:01,460 te egy böngészőt, és látja ezt, Alapvetően most, ha megnézi 458 00:23:01,460 --> 00:23:04,960 ezt, és látod a 301., tudod, hogy van hogy nem valami különleges alapján 459 00:23:04,960 --> 00:23:08,810 301, vagy valami különleges történt alapján a 301. 460 00:23:08,810 --> 00:23:12,640 Tehát azt mondja költözött véglegesen. 461 00:23:12,640 --> 00:23:17,700 >> Aztán, alapvetően mi egy csomó kulcs-érték párból. 462 00:23:17,700 --> 00:23:22,100 Így megkapjuk a helyet a www.google.com. 463 00:23:22,100 --> 00:23:25,190 És akkor milyen mindez más dolog, de alapvetően, mi a hely 464 00:23:25,190 --> 00:23:29,662 mondás az új helyen van www.google.com. 465 00:23:29,662 --> 00:23:33,800 Tehát most, ha elmész google.com, akkor egyfajta lásd a böngésző milyen blink 466 00:23:33,800 --> 00:23:38,770 egy pillanatra, majd átirányítja jövök a www.google.com. 467 00:23:38,770 --> 00:23:41,840 Így a válaszok tartalmazhat Ezek a fejlécek. 468 00:23:41,840 --> 00:23:43,330 >> És egy-két dolgot kiemelni. 469 00:23:43,330 --> 00:23:46,890 Mondjuk mi volt valójában a sikeres meglátogatunk egy weboldalt. 470 00:23:46,890 --> 00:23:49,040 Szóval, hadd menjen - 471 00:23:49,040 --> 00:23:51,080 mi a jó honlap? 472 00:23:51,080 --> 00:23:53,285 Én vagyok rossz gondolkodás jó weboldalak a helyszínen. 473 00:23:53,285 --> 00:23:53,640 >> Közönség: Wikipedia. 474 00:23:53,640 --> 00:23:54,160 >> KEVIN SCHMID: OK. 475 00:23:54,160 --> 00:23:56,040 Csináljuk Wikipedia. 476 00:23:56,040 --> 00:23:58,680 Tehát itt én került át. 477 00:23:58,680 --> 00:23:59,240 Ó, várj. 478 00:23:59,240 --> 00:24:00,160 Voltam? 479 00:24:00,160 --> 00:24:00,890 Igen, ott voltam. 480 00:24:00,890 --> 00:24:01,100 OK. 481 00:24:01,100 --> 00:24:03,005 Így kell csinálni www. 482 00:24:03,005 --> 00:24:06,006 Így fogok tenni www. 483 00:24:06,006 --> 00:24:09,680 És amint látod, itt a HTML hogy a böngésző feldolgozza 484 00:24:09,680 --> 00:24:10,910 a Wikipedia. 485 00:24:10,910 --> 00:24:14,055 >> De ha tartani görgetés itt, mit fogok látni a tetején - 486 00:24:14,055 --> 00:24:17,800 wow, van egy csomó HTML a Wikipedia - 487 00:24:17,800 --> 00:24:22,550 de amit látok a tetején itt ez 200 státusz kód, szemben a 488 00:24:22,550 --> 00:24:24,570 301. láttam korábban. 489 00:24:24,570 --> 00:24:27,100 És észre, hogy van egy szép barát OK mellette. 490 00:24:27,100 --> 00:24:29,470 Tehát ez olyan, mint a jó állapot kódot. 491 00:24:29,470 --> 00:24:31,160 >> Van, hogy a 200 szám ismerős? 492 00:24:31,160 --> 00:24:34,120 493 00:24:34,120 --> 00:24:39,880 Igen, mert amikor én simpler.js, Írtam egy 200 is. 494 00:24:39,880 --> 00:24:43,290 Szóval ez alapvetően azt mondja a böngésző vagy aki próbál eljutni 495 00:24:43,290 --> 00:24:45,440 ez az, hogy sikeresek voltak. 496 00:24:45,440 --> 00:24:49,040 Vagy ez a fajta, mint mi sikerült is. 497 00:24:49,040 --> 00:24:54,320 >> És itt van ez a fajta különleges szintaxist A Javascript nyilvánító 498 00:24:54,320 --> 00:24:59,870 térképe ezek a kulcsok, mint a tartalom típus és ezek az értékek, mint a szöveg egyszerű. 499 00:24:59,870 --> 00:25:03,780 Tehát, ha megnézi a választ, hogy mi kaptam vissza a Wikipedia előtt, - 500 00:25:03,780 --> 00:25:06,200 Meg fogom próbálni görgetni egy kicsit gyorsabban - 501 00:25:06,200 --> 00:25:09,900 akkor ezek a kulcsok, mint a szerver és ezek az értékek az Apache. 502 00:25:09,900 --> 00:25:12,120 Szóval megvan kulcsokat és értékeket. 503 00:25:12,120 --> 00:25:15,930 És megadhatja ezt Node mit küld vissza. 504 00:25:15,930 --> 00:25:19,380 >> Tehát ez valójában milyen, az egyes módon, és bizonyos szempontból ez nem 505 00:25:19,380 --> 00:25:23,170 igazán, de ez egy kicsit alacsonyabb szinten mint a PHP kód, ami lehet, hogy 506 00:25:23,170 --> 00:25:26,980 írásban P beállított hét, mivel a PHP és a Apache egyfajta vigyázni néhány 507 00:25:26,980 --> 00:25:28,150 ezeket a dolgokat az Ön számára. 508 00:25:28,150 --> 00:25:32,520 A PHP-ban, akkor felülbírálhatja az alapértelmezett viselkedés írásban a saját fejlécét. 509 00:25:32,520 --> 00:25:35,520 De a E, megkapjuk hogy írjon ki a saját fejlécét. 510 00:25:35,520 --> 00:25:38,210 511 00:25:38,210 --> 00:25:41,105 >> Tehát nem ezt a vonalat értelme mindenki, az írási fej vonal? 512 00:25:41,105 --> 00:25:41,380 OK. 513 00:25:41,380 --> 00:25:42,280 Félelmetes. 514 00:25:42,280 --> 00:25:45,870 >> Szóval, akkor mit tegyek, hogy én vége a választ mondván hello world. 515 00:25:45,870 --> 00:25:47,040 OK. 516 00:25:47,040 --> 00:25:49,920 De ez csak egy függvény úgynevezett kérést kezelő. 517 00:25:49,920 --> 00:25:53,510 Így most valójában, hogy milyen do valamit ez a funkció, igaz? 518 00:25:53,510 --> 00:25:59,170 >> Tehát itt, amit csinálok van ez vonal, amely nem var server egyenlő 519 00:25:59,170 --> 00:26:03,530 HTTP.create server, aztán át a kérést kezelő. 520 00:26:03,530 --> 00:26:06,080 Tehát ez a fajta a Node módon, hogy létrehozza a szerveren. 521 00:26:06,080 --> 00:26:08,790 Vegyük észre, hogy én vagyok elhaladó a kérelemben kezelő. 522 00:26:08,790 --> 00:26:12,290 Tehát ez azt mondja a createServer funkció azt akarom, hogy nekem egy 523 00:26:12,290 --> 00:26:16,270 szervert, és amikor a kiszolgáló megkapja a válasz, azt akarom, hogy hívja ezt a 524 00:26:16,270 --> 00:26:18,680 kérjen függvény. 525 00:26:18,680 --> 00:26:18,990 OK? 526 00:26:18,990 --> 00:26:22,290 >> Tehát, hogy a vonal nagyjából befejezi azonnal. 527 00:26:22,290 --> 00:26:28,780 Így a var szerver vonalon kész van Miután csinálni elég sok. 528 00:26:28,780 --> 00:26:31,770 Úgy értem, azt, hogy hozzanak létre egy belső állam tudja, hogy meg kellett volna 529 00:26:31,770 --> 00:26:35,400 hívja a kérelmet függvény, hanem ez nem fog ott ülni, és 530 00:26:35,400 --> 00:26:37,730 mondjuk az a felhasználónak küldött nekem egy kérést még? 531 00:26:37,730 --> 00:26:39,270 Már a felhasználónak küldött nekem egy kérést még? 532 00:26:39,270 --> 00:26:40,780 Így nem blokkolja. 533 00:26:40,780 --> 00:26:41,650 OK? 534 00:26:41,650 --> 00:26:46,120 >> Szóval mi ez fog tenni ez alapvetően Most tárolja a mutatót a kódot, 535 00:26:46,120 --> 00:26:49,670 ezt a kérést kezelő funkciót, majd fut a kód, ha valaki 536 00:26:49,670 --> 00:26:52,170 teszi a kérelmet. 537 00:26:52,170 --> 00:26:54,120 És akkor mi server.listen. 538 00:26:54,120 --> 00:26:56,950 539 00:26:56,950 --> 00:26:59,960 >> A 1337 van elég önkényes. 540 00:26:59,960 --> 00:27:02,285 Nem volt különösebb oka a szedés ez a szám. 541 00:27:02,285 --> 00:27:03,860 Ez teljesen véletlenszerű. 542 00:27:03,860 --> 00:27:07,010 De ez csak megadja azt a portot. 543 00:27:07,010 --> 00:27:10,640 Így a legtöbb web szerver látni fogod, hogy a használjon 80-as port, mert ez a fajta 544 00:27:10,640 --> 00:27:11,810 , mint az egyezmény. 545 00:27:11,810 --> 00:27:16,170 Tehát, ha elmegyek valami hasonló, Nem is tudom, Wikipedia.org, 546 00:27:16,170 --> 00:27:17,700 és tettem colon 8 - 547 00:27:17,700 --> 00:27:18,610 oh wow, nem lehet látni, hogy az. 548 00:27:18,610 --> 00:27:19,370 Sajnálom. 549 00:27:19,370 --> 00:27:21,820 De ha én Wikipedia - 550 00:27:21,820 --> 00:27:24,810 Írok ide csak azért, hogy ez egyértelmű a kamera. 551 00:27:24,810 --> 00:27:29,150 De ha ezt egy böngésző kettőspont 80., amely meghatározza menjen 552 00:27:29,150 --> 00:27:31,430 Wikipedia.org a 80-as porton. 553 00:27:31,430 --> 00:27:36,200 Szóval, ez olyan, mint, hogy az Egyesült Államok több port, mint ahol a hajó 554 00:27:36,200 --> 00:27:37,440 dolog, hogy milyen. 555 00:27:37,440 --> 00:27:40,730 Szóval, ez olyan, mint menni az adott helyet a szerveren. 556 00:27:40,730 --> 00:27:40,990 OK. 557 00:27:40,990 --> 00:27:45,730 >> Szóval csak úgy döntött, 1337. 558 00:27:45,730 --> 00:27:47,910 Van egy egész sor számok , akkor vedd. 559 00:27:47,910 --> 00:27:50,390 Ez nem volt teljesen különleges. 560 00:27:50,390 --> 00:27:54,560 >> De mit fogok most csinálni nem fogok futni Node. 561 00:27:54,560 --> 00:27:59,730 Hadd ténylegesen be, hogy egy pár vonalak le úgy, hogy láthatja azt. 562 00:27:59,730 --> 00:28:03,130 Fogok csinálni Node, és én vagyok fog futni simpler.js. 563 00:28:03,130 --> 00:28:06,880 És fogunk beszélni, hogyan lehet Node létre egy kicsit. 564 00:28:06,880 --> 00:28:09,350 De most már csak fut a szerver. 565 00:28:09,350 --> 00:28:14,360 >> Tehát az egyik dolog, amit lehet próbálni, amely lehet, hogy nem az, hogy izgalmas, mi is valójában 566 00:28:14,360 --> 00:28:16,300 megpróbálja elérni azt Curl. 567 00:28:16,300 --> 00:28:20,680 Így tudom csinálni Curl, és az én gép helyi gépre. 568 00:28:20,680 --> 00:28:24,600 Azt is látni ezt írásban így néha. 569 00:28:24,600 --> 00:28:29,810 A helyi gazda és 127.0.0.1 kedvesek , mint otthoni számítógépén. 570 00:28:29,810 --> 00:28:33,180 Szóval, ez olyan, mint beszél a saját számítógépén. 571 00:28:33,180 --> 00:28:33,760 OK. 572 00:28:33,760 --> 00:28:36,030 >> És akkor azt mondhatom, 1337. 573 00:28:36,030 --> 00:28:39,630 Tehát, ha én vezetem ezt a kódsort, azt mondja, hello world. 574 00:28:39,630 --> 00:28:44,050 És ha azt akartam látni, hogy a dolgokat, hogy volt tartalomtípus szöveg sima vagy 575 00:28:44,050 --> 00:28:46,560 amit én, sőt, hogy ezt itt. 576 00:28:46,560 --> 00:28:48,810 És észre, hogy nem azt mondják, rendben. 577 00:28:48,810 --> 00:28:50,810 És megvan a szöveget sima. 578 00:28:50,810 --> 00:28:53,140 És akkor ott van egyfajta mindez más dolog, hogy csomópont hozzá 579 00:28:53,140 --> 00:28:54,440 ott nekem. 580 00:28:54,440 --> 00:28:55,700 Ez nem szuper fontos. 581 00:28:55,700 --> 00:28:58,230 >> Úgy értem, van valamilyen technikai aspektusait abban kedvesek 582 00:28:58,230 --> 00:29:02,280 A jó beszélni, de csak megmutatni te, én is a hatalom, hogy 583 00:29:02,280 --> 00:29:03,070 változtatni ezeket a körül. 584 00:29:03,070 --> 00:29:06,280 Szóval csak adj egy csomó Az ilyesmi. 585 00:29:06,280 --> 00:29:11,780 És akkor most, ha én meg az én kimenet, akkor az lesz, hogy. 586 00:29:11,780 --> 00:29:19,740 Tehát ezek a fejlécek jelentenek bizonyos dolgokat a böngészők és hasonló dolgok. 587 00:29:19,740 --> 00:29:23,040 >> És fejlécek alapvetően mondani böngésző hogyan reagálnak a valamit. 588 00:29:23,040 --> 00:29:26,280 Ha valaha is hallott a cookie-k előtt, vagy ha már valaha bosszús 589 00:29:26,280 --> 00:29:29,330 egy weboldal cookie-k mentése, vagy be van kapcsolva a cookie blokk vagy 590 00:29:29,330 --> 00:29:30,320 valami ilyesmi. 591 00:29:30,320 --> 00:29:33,040 Tudod valójában sütik ezekben a fejlécek. 592 00:29:33,040 --> 00:29:36,990 Így mondják a böngészőt, hogy hogyan viselkedés bizonyos esetekben. 593 00:29:36,990 --> 00:29:37,750 OK. 594 00:29:37,750 --> 00:29:40,310 >> Szóval ez volt simpler.js. 595 00:29:40,310 --> 00:29:42,780 Van valakinek kérdése azon a forráskód fájl? 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 Cool. 599 00:29:46,490 --> 00:29:50,780 >> Szóval vegye ki a r az adott és nézd simple.js. 600 00:29:50,780 --> 00:29:53,010 Tehát ez nagyjából ugyanazt a programot. 601 00:29:53,010 --> 00:29:56,030 Én csak írtam, egy kicsit másképp mert azt akartam, hogy egyfajta kiemelés 602 00:29:56,030 --> 00:29:57,850 néhány jellemzője JavaScript. 603 00:29:57,850 --> 00:30:03,880 >> Így észre, hogy a kérés kezelő funkció teljesen eltűnt. 604 00:30:03,880 --> 00:30:05,800 Ó igen, volt már a kérdés? 605 00:30:05,800 --> 00:30:08,200 >> Közönség: Igen, az érvek , amelyeket át kell, hogy 606 00:30:08,200 --> 00:30:10,120 funkció, mik ezek? 607 00:30:10,120 --> 00:30:12,050 >> KEVIN SCHMID: Tehát ezek JavaScript objektumok. 608 00:30:12,050 --> 00:30:15,230 A Node.js dokumentációban, az alapvetően azt mondja, milyen módszerek 609 00:30:15,230 --> 00:30:15,910 elérhető a számukra. 610 00:30:15,910 --> 00:30:19,602 Mi csak úgy történnek, hogy a hozzáférést Ez a módszer az úgynevezett olvasófej és vége 611 00:30:19,602 --> 00:30:20,730 és ilyesmi. 612 00:30:20,730 --> 00:30:22,590 De van egy csomó több módszer. 613 00:30:22,590 --> 00:30:27,670 >> És például, mint az egyikük különösen a rec, meg tudod csinálni 614 00:30:27,670 --> 00:30:34,540 valami hasonló rec.method, ami mondani, hogy ez egy HTTP GET vagy 615 00:30:34,540 --> 00:30:36,780 HTTP post kérések és ilyesmi. 616 00:30:36,780 --> 00:30:39,100 Tehát van a legkülönbözőbb tulajdonságait, de ők is 617 00:30:39,100 --> 00:30:42,560 JavaScript objektumok, és csak funkciók tárolni, hogy 618 00:30:42,560 --> 00:30:43,850 lehet írni a dolgokat. 619 00:30:43,850 --> 00:30:45,520 OK? 620 00:30:45,520 --> 00:30:49,030 >> Tehát észre, hogy kérést kezelő teljesen eltűnt. 621 00:30:49,030 --> 00:30:52,650 De a kódot, hogy volt a kérése handler még mindig ott van. 622 00:30:52,650 --> 00:30:56,520 Még mindig ez a res.writeHead és még mindig ez a res.end. 623 00:30:56,520 --> 00:31:00,270 És mi ez az egy példa a JavaScript ez az ötlet egy 624 00:31:00,270 --> 00:31:01,460 névtelen funkciót. 625 00:31:01,460 --> 00:31:04,180 és a névtelen, mint méltó nevet mert, mert a szó szoros értelmében nem 626 00:31:04,180 --> 00:31:05,180 van neve. 627 00:31:05,180 --> 00:31:07,900 Nincs funkciója kérése handler ott. 628 00:31:07,900 --> 00:31:10,110 >> Nincs neve, de még mindig vesz egy érvet. 629 00:31:10,110 --> 00:31:12,250 Szóval mindig van rec és res. 630 00:31:12,250 --> 00:31:16,180 És én még mindig a kódot. 631 00:31:16,180 --> 00:31:18,930 Ez tökéletesen JavaScript kódot. 632 00:31:18,930 --> 00:31:22,540 Szóval kijelenthetjük funkció nélkül kifejezetten így ez a név. 633 00:31:22,540 --> 00:31:24,250 Ez egy kicsit zavaró az első. 634 00:31:24,250 --> 00:31:26,230 Van néhány, mint a hasznos dolgokat hogy meg tudod csinálni 635 00:31:26,230 --> 00:31:28,450 e névtelen funkciókat. 636 00:31:28,450 --> 00:31:32,100 Van valakinek bármilyen kérdése van ezen, vagy ez rendben van csak, most, 637 00:31:32,100 --> 00:31:34,130 a fajta csak elfogadni, hogy a akkor nem ugyanaz a dolog? 638 00:31:34,130 --> 00:31:36,700 639 00:31:36,700 --> 00:31:37,125 Igen? 640 00:31:37,125 --> 00:31:38,680 >> Közönség: a függvények első osztály JavaScript? 641 00:31:38,680 --> 00:31:41,020 >> KEVIN SCHMID: Ezek az első osztály JavaScript. 642 00:31:41,020 --> 00:31:45,490 És tudom, hogy ezek a fogalmak a halad egy névtelen függvény, mint 643 00:31:45,490 --> 00:31:49,600 ez vonatkozik a JavaScript, hogy Lehet írni a végső projekt 644 00:31:49,600 --> 00:31:51,260 a böngésző is. 645 00:31:51,260 --> 00:31:56,700 Így például a JavaScriptet a böngésző, ez is kissé esemény 646 00:31:56,700 --> 00:32:00,680 vezérelt abban az értelemben, hogy mit fog van, ha a felhasználó rákattint erre 647 00:32:00,680 --> 00:32:02,640 gomb, azt akarom, hogy ezt a kódot. 648 00:32:02,640 --> 00:32:07,070 >> Szóval ez ugyanolyan elképzeléseit kliens oldalon, amikor egy egérkattintással, vagy 649 00:32:07,070 --> 00:32:09,870 egeret néhány képet a weboldalt, ezt a kódot. 650 00:32:09,870 --> 00:32:11,350 Ezt lehet alkalmazni a szervereket. 651 00:32:11,350 --> 00:32:16,380 Tehát ez olyan, mint az izgalmas oka annak, hogy a JavaScript egy nagyon 652 00:32:16,380 --> 00:32:19,810 megfelelő, vagy néhány ember úgy gondolja, hogy ez egy nyelv alkalmas az ilyen jellegű 653 00:32:19,810 --> 00:32:22,530 esemény vezető szervert, mert van e névtelen funkciókat. 654 00:32:22,530 --> 00:32:26,150 Van az egész ötlet ez aszinkron kódot. 655 00:32:26,150 --> 00:32:27,060 OK. 656 00:32:27,060 --> 00:32:30,360 Van valakinek kérdése? 657 00:32:30,360 --> 00:32:30,470 >> OK. 658 00:32:30,470 --> 00:32:33,440 Szóval ez volt simple.js. 659 00:32:33,440 --> 00:32:38,070 Tehát nézzük meg még egy vagy még egy pár. 660 00:32:38,070 --> 00:32:42,040 Tehát ez sleep.js. 661 00:32:42,040 --> 00:32:47,160 Szóval bárki ismeri A C funkció aludni? 662 00:32:47,160 --> 00:32:50,936 A talán az egyik korábbi előadások vagy valami ilyesmi? 663 00:32:50,936 --> 00:32:54,650 >> Tehát alapvetően akkor át az azt hiszem, másodpercek száma, vagy ha a U 664 00:32:54,650 --> 00:32:57,080 alvás számos ezredmásodperc vagy ns. 665 00:32:57,080 --> 00:33:00,450 És alapvetően a program csak megáll futott ennyi ideig. 666 00:33:00,450 --> 00:33:01,280 Nem igaz? 667 00:33:01,280 --> 00:33:06,970 És akkor felébredek, és végül akkor majd csak tovább fut 668 00:33:06,970 --> 00:33:08,340 a programot. 669 00:33:08,340 --> 00:33:12,740 >> Tehát ez a szerver a fajta adja a benyomást alszik. 670 00:33:12,740 --> 00:33:17,580 Így észre, hogy ugyanaz a res.writeHead 200 a fejlécet 671 00:33:17,580 --> 00:33:22,130 előtt, de aztán hívod ezt funkció az úgynevezett set timeout. 672 00:33:22,130 --> 00:33:26,170 Állítsa be időtúllépés is elérhető A böngésző a Google Chrome 673 00:33:26,170 --> 00:33:28,000 vagy a Safari vagy bármi. 674 00:33:28,000 --> 00:33:31,720 És tulajdonképpen mit csinál itt az, hogy ez vesz egy funkciót. 675 00:33:31,720 --> 00:33:33,360 Megjegyzés, megint, ez egy névtelen funkciót. 676 00:33:33,360 --> 00:33:36,310 Szóval ez ilyen jó, mert mi vagyunk segítségével egy névtelen függvény belüli 677 00:33:36,310 --> 00:33:38,950 névtelen függvény, amely lehet egy kicsit furcsa. 678 00:33:38,950 --> 00:33:42,270 >> De ez figyelembe ezt a funkciót, ami alapvetően azt mondja -, és ahogy ezt a 679 00:33:42,270 --> 00:33:47,430 művek az 5000 ezredmásodperc, azt akarom, , hogy végre ezt a funkciót, amely 680 00:33:47,430 --> 00:33:50,830 csak véget ér a választ, és írja hé. 681 00:33:50,830 --> 00:33:56,730 Tehát ez azt a benyomást kelti, mint alszik, de ahogy ez valójában 682 00:33:56,730 --> 00:33:59,780 működik majd végigmenni ez a sor nagyon gyorsan. 683 00:33:59,780 --> 00:34:01,190 Mi csak írásban valamit. 684 00:34:01,190 --> 00:34:03,780 És akkor mi is végigmenni ez a sor nagyon gyorsan. 685 00:34:03,780 --> 00:34:08,620 Szóval valójában nem lesz hogy várjon öt másodpercet. 686 00:34:08,620 --> 00:34:11,370 Mi csak fog futni ezt a kódot azonnal. 687 00:34:11,370 --> 00:34:14,219 >> És akkor ott van, megint, ez a kis Amennyiben loop, hogy most már ez a dolog 688 00:34:14,219 --> 00:34:17,570 nyilvántartások, hogy alapvetően csak folyamatosan megy körbe 689 00:34:17,570 --> 00:34:21,620 és néztem az órát egy-egy téma és a mondás, öt másodperc alatt 690 00:34:21,620 --> 00:34:22,360 telt még? 691 00:34:22,360 --> 00:34:26,409 És amikor azt látja, hogy a második keze mozgott, mint öt másodperc 692 00:34:26,409 --> 00:34:29,190 mindegy, majd felébred, és azt mondja: ó, mit kell tennem? 693 00:34:29,190 --> 00:34:30,350 Ó, azt kell futtatni ezt a kódot. 694 00:34:30,350 --> 00:34:33,110 És akkor fog fuss res.end hé. 695 00:34:33,110 --> 00:34:35,360 >> Tehát újra, mi soha nem vár itt. 696 00:34:35,360 --> 00:34:38,590 Tehát nem az, hogy ezt a kódot belsejében ez a funkció fog tartani öt 697 00:34:38,590 --> 00:34:39,900 másodperc alatt futni. 698 00:34:39,900 --> 00:34:43,090 Ez a kód fog futni nagyjából azonnal, legalább képest 699 00:34:43,090 --> 00:34:46,139 az öt másodpercet, hogy beszéltünk a korábban előtt. 700 00:34:46,139 --> 00:34:52,100 >> Szóval, csak azt mutatják, ez az intézkedés, Meg tudom csinálni Node.sleep.js. 701 00:34:52,100 --> 00:34:55,159 És nem azért elrontani valamit? 702 00:34:55,159 --> 00:34:56,310 Esetleg. 703 00:34:56,310 --> 00:34:57,410 Bocsánat. 704 00:34:57,410 --> 00:34:59,530 Lássuk, mit tehetünk, hogy erősít ez. 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 Tehát feltétlenül használjon Node.js. 709 00:35:17,464 --> 00:35:19,440 Csak vicceltem. 710 00:35:19,440 --> 00:35:19,570 OK. 711 00:35:19,570 --> 00:35:20,820 Csak egy pillanat. 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 Tudom, hogy mi az. 715 00:35:29,130 --> 00:35:34,440 >> Tehát a kérdés az, hogy a másik fülön Itt futottam Node már 716 00:35:34,440 --> 00:35:36,590 hogy ugyanarra a címre, 1337. 717 00:35:36,590 --> 00:35:43,370 Így a hiba, hogy ez dobott, ha megnézzük rajta igazi szoros, a cím 718 00:35:43,370 --> 00:35:45,180 használható, EADDRINUSE. 719 00:35:45,180 --> 00:35:47,970 Szóval már a 1337 itt. 720 00:35:47,970 --> 00:35:52,210 Szóval, ha azt állítsa ezt le, aztán most megpróbálja futtatni ezt remélhetőleg minden 721 00:35:52,210 --> 00:35:53,210 rendben lesz. 722 00:35:53,210 --> 00:35:53,440 OK. 723 00:35:53,440 --> 00:35:57,020 Így csak egy dolog sort hallgatni a port egyszerre. 724 00:35:57,020 --> 00:35:59,660 A másik megoldás lett volna a számomra hogy csak szerkeszteni, hogy a program, és 725 00:35:59,660 --> 00:36:02,370 ez olyan, mint 1338, vagy valami ilyesmi. 726 00:36:02,370 --> 00:36:04,100 >> De most alvás fut. 727 00:36:04,100 --> 00:36:06,400 Szóval tényleg próbálja ki a böngésző, ezúttal azért, mert ez egy 728 00:36:06,400 --> 00:36:09,080 kis unalmas, hogy azt egy terminálon. 729 00:36:09,080 --> 00:36:13,560 Szóval csak úgy megy, hogy a 127 cím ismét a 1337. 730 00:36:13,560 --> 00:36:14,850 És ha látod, hogy - 731 00:36:14,850 --> 00:36:18,050 Nem tudom, ha tudsz - de a a böngésző, hogy egy nagyon-nagyon hosszú 732 00:36:18,050 --> 00:36:20,600 időt tölteni, vagy mint öt másodpercet. 733 00:36:20,600 --> 00:36:23,460 >> És azután, hogy végül véget ért a választ. 734 00:36:23,460 --> 00:36:29,070 És nem látom, mert a dolog mozog egy kicsit, de ha teszek 735 00:36:29,070 --> 00:36:32,500 ez egy kicsit kisebb, akkor Láthatjuk azt mondja, hé. 736 00:36:32,500 --> 00:36:35,130 Szóval megvan a hé, de öt másodperc elteltével. 737 00:36:35,130 --> 00:36:38,510 És lehet, hogy egy kicsit tisztább, hogy itt a terminálon, tehát vagyok 738 00:36:38,510 --> 00:36:40,980 fog tenni a - 739 00:36:40,980 --> 00:36:43,540 csináljuk itt - 740 00:36:43,540 --> 00:36:48,370 csináljuk Curl ezt a címet ismét a 1337. 741 00:36:48,370 --> 00:36:50,820 És én csak ilyen van, hogy ülni Itt öt másodpercig. 742 00:36:50,820 --> 00:36:53,760 Vegyük észre, hogy a szerver el tudja fogadni az új válaszokat. 743 00:36:53,760 --> 00:36:54,940 Tehát nyomtat hé. 744 00:36:54,940 --> 00:36:58,720 >> És demo ez alapvetően mi Meg tudom csinálni a másik fül - 745 00:36:58,720 --> 00:37:02,640 Mondjuk én ezt egy másik lapon Fogok csinálni Curl és ugyanaz 746 00:37:02,640 --> 00:37:03,780 már megint. 747 00:37:03,780 --> 00:37:06,600 És fogok próbálja rúgni ezeket a fiúk le ugyanabban az időben. 748 00:37:06,600 --> 00:37:08,260 Így fogom csinálni ezt, és én vagyok fog versenyezni itt, és én vagyok 749 00:37:08,260 --> 00:37:09,650 majd újra meg újra. 750 00:37:09,650 --> 00:37:14,030 >> És tegyük úgy, hogy Láthatjuk mind a ketten. 751 00:37:14,030 --> 00:37:20,250 Ez egy nyomtatott hé, és hogy egy nyomtatott hé egészen a - 752 00:37:20,250 --> 00:37:22,550 csináljuk a kísérletet újra. 753 00:37:22,550 --> 00:37:25,100 Valójában, nézzük ezt a trükk, ha nem gond. 754 00:37:25,100 --> 00:37:30,520 >> Így fogok egy shell dolog, lehetővé teszi számomra, hogy alapvetően fut két példányban 755 00:37:30,520 --> 00:37:32,630 A program párhuzamosan. 756 00:37:32,630 --> 00:37:36,070 Így fog futni az első program A második program párhuzamosan. 757 00:37:36,070 --> 00:37:39,060 Tehát most, ha azt az Enter gombot, hogy megy , hogy ezt a kérést nagyjából 758 00:37:39,060 --> 00:37:40,570 azonnal ugyanabban az időben. 759 00:37:40,570 --> 00:37:42,620 Szóval hogy ez egy lövés. 760 00:37:42,620 --> 00:37:44,950 >> Tehát most észre azt mondja, a két folyamat. 761 00:37:44,950 --> 00:37:50,630 És ha kíváncsi vagy, hogy 27000 szám alapvetően a folyamat azonosítója. 762 00:37:50,630 --> 00:37:52,940 És akkor veszi észre, mert a nyomtatott hé ugyanabban az időben. 763 00:37:52,940 --> 00:37:56,820 Nem volt, mint kellett várjon öt másodpercig az egyik, majd azt követően, hogy 764 00:37:56,820 --> 00:37:59,640 Öt másodperccel később, hogy a második. 765 00:37:59,640 --> 00:38:03,300 Szóval ez a fajta, bizonyos szempontból, ez nem igazán bizonyíték, de ez 766 00:38:03,300 --> 00:38:07,390 intuitív bizonyíték arra, hogy ez nem csak mint várni öt másodpercet, és blokkolja 767 00:38:07,390 --> 00:38:08,960 az egész téma. 768 00:38:08,960 --> 00:38:10,720 OK cool. 769 00:38:10,720 --> 00:38:17,850 >> Tehát Aaron feltett egy kérdést korábban, hogy volt, illetve mi lenne, ha nem csinál valamit - 770 00:38:17,850 --> 00:38:18,735 Igen? 771 00:38:18,735 --> 00:38:19,051 >> Közönség: Várjon. 772 00:38:19,051 --> 00:38:21,585 Hogy is van ez eltér a printf buffer, igaz? 773 00:38:21,585 --> 00:38:23,010 Nem automatikusan csinálni? 774 00:38:23,010 --> 00:38:25,390 Miért kell aggódnod? 775 00:38:25,390 --> 00:38:26,555 >> KEVIN SCHMID: Ó, tudtad azt mondják, hogy még egyszer? 776 00:38:26,555 --> 00:38:29,510 >> Közönség: Nem szereti printf puffer nem pontosan ugyanaz a dolog? 777 00:38:29,510 --> 00:38:31,280 >> KEVIN SCHMID: A printf puffer? 778 00:38:31,280 --> 00:38:32,753 >> Közönség: Igen. 779 00:38:32,753 --> 00:38:33,244 OK. 780 00:38:33,244 --> 00:38:40,609 Nem volt az egyik voltak vetélkedők beszélt arról, hogy ha a jobb printf 781 00:38:40,609 --> 00:38:42,899 valamit, majd azt, hogy egy szünet a második, és akkor azt loop tíz 782 00:38:42,899 --> 00:38:46,530 idő, akkor az várjon tíz másodpercet, és akkor printf mindent együtt? 783 00:38:46,530 --> 00:38:47,460 >> KEVIN SCHMID: Oh, OK. 784 00:38:47,460 --> 00:38:49,170 >> Közönség: csinálja ugyanazt dolog, akkor ebben az esetben? 785 00:38:49,170 --> 00:38:52,630 >> KEVIN SCHMID: Tehát a kérdés az volt, alapvetően az egyik korábbi vetélkedők 786 00:38:52,630 --> 00:38:57,200 , vagy valami, volt a kérdés, hogy Alapvetően, ha azt mondod, print f 10 787 00:38:57,200 --> 00:39:01,490 a dolgok egy ideig, majd aludt, mint A folyamat a nyomtatás ki azokat, 788 00:39:01,490 --> 00:39:04,850 a végén valamilyen oknál fogva, akkor lenne csak kiírási azok az összes ki a képernyőn. 789 00:39:04,850 --> 00:39:06,740 Tehát van olyan két különböző fogalmak itt. 790 00:39:06,740 --> 00:39:10,400 >> Szóval azt hiszem, az egyik dolog, hogy ez a az esetben van dolgunk két különböző 791 00:39:10,400 --> 00:39:13,510 a fajta ember azt kérdezi a szerver a dolgok ugyanabban az időben. 792 00:39:13,510 --> 00:39:17,455 És az ok, hogy a printf fajta vár, mint azt, és guba az egészet ki 793 00:39:17,455 --> 00:39:21,760 egyszerre inkáb hogyan printf fajta - 794 00:39:21,760 --> 00:39:25,100 így az út printf valójában végre ez alapvetően meg kell 795 00:39:25,100 --> 00:39:28,850 beszélni az operációs rendszer írni ilyesmi a konzolra. 796 00:39:28,850 --> 00:39:33,460 Tehát nem akar mindent megtesz, hogy dolog azonnal, amikor azt mondod printf 797 00:39:33,460 --> 00:39:36,260 néhány szöveg, mert ami kap drága, ha azt, hogy 798 00:39:36,260 --> 00:39:37,340 csinálni, hogy minden alkalommal. 799 00:39:37,340 --> 00:39:41,530 >> Tehát, ha nem printf hé, a programban Lehet, hogy valójában nem nyomtat, hogy 800 00:39:41,530 --> 00:39:43,040 azonnal a konzol. 801 00:39:43,040 --> 00:39:46,080 Lehet, hogy azt mondják, OK, én írtam. 802 00:39:46,080 --> 00:39:49,570 És akkor milyen várni, hogy ez egy kicsit, mielőtt ténylegesen 803 00:39:49,570 --> 00:39:51,380 küldi ki a konzolra. 804 00:39:51,380 --> 00:39:54,040 >> Tehát az oka, hogy ez volt a helyzet - 805 00:39:54,040 --> 00:39:56,450 és ez a fajta nem kapcsolódó Az alvás - 806 00:39:56,450 --> 00:40:00,060 az, hogy az alvás a fajta csak injektált ott bizonyítani a 807 00:40:00,060 --> 00:40:02,480 a tény, hogy nem írja ez szinkron. 808 00:40:02,480 --> 00:40:06,210 De az oka, hogy csak teljesítményt, így nem kell 809 00:40:06,210 --> 00:40:08,920 tenni, hogy sok kapcsolatok Az operációs rendszer. 810 00:40:08,920 --> 00:40:12,300 >> De itt, amit mi igazán próbál csinálni ezzel az alvás dolog, csak azt mutatják, 811 00:40:12,300 --> 00:40:17,730 , hogy ha van két ember látogatta ezen a honlapon, ez nem megy, hogy 812 00:40:17,730 --> 00:40:22,310 őket egy sor, ahol ez fog mondani Van, hogy segítsen, és amikor én vagyok 813 00:40:22,310 --> 00:40:25,350 Teljesen kész segít ezek után öt másodpercig, aztán megyek 814 00:40:25,350 --> 00:40:26,750 mozog-ra a következő személyt. 815 00:40:26,750 --> 00:40:29,515 Tehát az első, aki a kérelem nem köti le, hogy az esemény hurok 816 00:40:29,515 --> 00:40:31,610 ha van értelme. 817 00:40:31,610 --> 00:40:34,980 >> De itt valójában egy példa valami, ami nyakkendő 818 00:40:34,980 --> 00:40:36,090 fel az esemény hurok. 819 00:40:36,090 --> 00:40:39,130 Tehát itt egy szörnyű funkció kiszámítja az n-edik Fibonacci. 820 00:40:39,130 --> 00:40:43,510 Ez szó szerint a legrosszabb módon is kiszámítja az n-edik Fibonacci-szám. 821 00:40:43,510 --> 00:40:48,480 És ez valójában csak elismerni honnan van, 822 00:40:48,480 --> 00:40:49,330 van valójában - 823 00:40:49,330 --> 00:40:53,230 Úgy értem, akkor próbálja menni találni - de van, mint egy nagyon hosszú blog 824 00:40:53,230 --> 00:40:54,130 tegye, hogy valaki írta. 825 00:40:54,130 --> 00:40:55,660 Ez olyan, mint egy olyan Reddit dolgokat. 826 00:40:55,660 --> 00:40:59,650 De valaki bírálta Node.js, és hogy használják ezt a példát. 827 00:40:59,650 --> 00:41:03,700 Szóval ilyen akartam, csak mutassa meg, két különböző nézőpontok csak azért, hogy 828 00:41:03,700 --> 00:41:07,320 általános megértése a fogalmak mögött a két dolgot. 829 00:41:07,320 --> 00:41:13,050 >> De ezt választják, csak a szörnyű, rettenetesen hatékony számítási 830 00:41:13,050 --> 00:41:15,940 intenzív módon, hogy kiszámolja a n-edik Fibonacci-szám. 831 00:41:15,940 --> 00:41:21,180 Szóval, ahogy Mellékesen jegyzem meg, hogy miért van ez szörnyű, mint egy út? 832 00:41:21,180 --> 00:41:23,210 Igen? 833 00:41:23,210 --> 00:41:25,130 >> Közönség: Mondja el, hogy indul ki 1000. 834 00:41:25,130 --> 00:41:27,050 1000 tagolódik 999 és a 998. 835 00:41:27,050 --> 00:41:28,970 Minden ez osztja két dolgot. 836 00:41:28,970 --> 00:41:30,890 Minden ez osztja két dolgot. 837 00:41:30,890 --> 00:41:31,355 >> KEVIN SCHMID: Így van. 838 00:41:31,355 --> 00:41:32,400 >> Közönség: egészen. 839 00:41:32,400 --> 00:41:32,840 >> KEVIN SCHMID: Pontosan. 840 00:41:32,840 --> 00:41:37,330 Szóval, csak azért, hogy ismételje meg a kamera, ha hívja fib on, mint a 1000, vagy valami 841 00:41:37,330 --> 00:41:41,810 így, ez nyilvánvalóan nem kevesebb, mint vagy egyenlő, mint egy, így fogok 842 00:41:41,810 --> 00:41:46,040 megy ez más helyzet, és aztán megyek hívni fib 999 plusz fib 998. 843 00:41:46,040 --> 00:41:50,290 És akkor elég sok minden, hogy a munka fib 999 tesz, 844 00:41:50,290 --> 00:41:52,950 fajta ezen a szinten. 845 00:41:52,950 --> 00:41:55,620 Ha megy le, ez még felesleges , mint az, de ha csak 846 00:41:55,620 --> 00:42:01,390 Szerintem számítástechnikai FIB 998 lesz mi elég közel fib 999. 847 00:42:01,390 --> 00:42:05,860 Szóval tényleg egy kicsit okos arról, hogyan milyen újra 848 00:42:05,860 --> 00:42:07,580 Ezek, de mi nem újrahasznosítása ezek a dolgok egyáltalán. 849 00:42:07,580 --> 00:42:11,860 Így el lehet képzelni ezt a hatalmas, hatalmas fa, amely csak szörnyű. 850 00:42:11,860 --> 00:42:12,940 >> De akárhogy is, az OK gombra. 851 00:42:12,940 --> 00:42:14,040 Szóval ez volt a FIB. 852 00:42:14,040 --> 00:42:15,530 Csak eltart egy ideig futtatni. 853 00:42:15,530 --> 00:42:16,510 Igen? 854 00:42:16,510 --> 00:42:17,760 >> Közönség: [hallható]. 855 00:42:17,760 --> 00:42:20,430 856 00:42:20,430 --> 00:42:22,481 >> KEVIN SCHMID: Ó, tudtad ismételje meg a kérdést? 857 00:42:22,481 --> 00:42:23,731 >> Közönség: [hallható]. 858 00:42:23,731 --> 00:42:30,840 859 00:42:30,840 --> 00:42:33,990 >> KEVIN SCHMID: Ó, így ez csak kód hogy lesz valami a 860 00:42:33,990 --> 00:42:34,850 szerver oldalon. 861 00:42:34,850 --> 00:42:38,100 Tehát ez nem lesz megtalálható a böngészőben, vagy ilyesmi. 862 00:42:38,100 --> 00:42:42,160 Ez alapvetően mi van, hogy ha a felhasználó itt nagyjából teszi 863 00:42:42,160 --> 00:42:45,300 kérésüket ismét amikor valami olyan kérelmet, fogunk hívni 864 00:42:45,300 --> 00:42:47,040 Ez a funkció a szerver oldalon. 865 00:42:47,040 --> 00:42:50,480 És akkor mi lesz az eredmény vissza meghívja ezt a funkciót. 866 00:42:50,480 --> 00:42:52,460 És aztán csak nyomtatni azt, hogy a felhasználó számára. 867 00:42:52,460 --> 00:42:54,580 Így a felhasználó nem igazán foglalkozik Ha ez a funkció túl sok. 868 00:42:54,580 --> 00:42:57,270 >> Ez volt a kérdés? 869 00:42:57,270 --> 00:42:58,470 Van ennek értelme? 870 00:42:58,470 --> 00:42:58,810 OK. 871 00:42:58,810 --> 00:43:00,930 Cool. 872 00:43:00,930 --> 00:43:04,240 >> Tehát újra, mi ez az egész res.writeHead dolog, ahol ki kell nyomtatni 873 00:43:04,240 --> 00:43:05,150 A fejléc. 874 00:43:05,150 --> 00:43:09,730 Aztán vége a választ ezzel a bűvös szám FIB 45. 875 00:43:09,730 --> 00:43:12,100 Úgyhogy csak futni ezen a szerveren. 876 00:43:12,100 --> 00:43:15,190 Így fogok tenni a Node fib.js. 877 00:43:15,190 --> 00:43:17,340 Tehát most a fib fut. 878 00:43:17,340 --> 00:43:21,790 >> És akkor itt fogom tenni egy ilyen. 879 00:43:21,790 --> 00:43:22,200 OK? 880 00:43:22,200 --> 00:43:24,960 Szóval csak annyit mondtam, Curl. 881 00:43:24,960 --> 00:43:32,226 Így fog tartani egy darabig, de remélhetőleg hamarosan befejezi, és 882 00:43:32,226 --> 00:43:35,660 kiírja, hogy a 45. Fibonacci-szám. 883 00:43:35,660 --> 00:43:36,910 >> Közönség: [hallható]. 884 00:43:36,910 --> 00:43:40,720 885 00:43:40,720 --> 00:43:42,050 >> KEVIN SCHMID: Meg kell kap tenni hamarosan. 886 00:43:42,050 --> 00:43:43,780 Így kell, hogy 5-6 másodpercre. 887 00:43:43,780 --> 00:43:48,570 Én nem tudom, hogy ez csak V8 hogy szuper gyors, de minden esetben, ez egy 888 00:43:48,570 --> 00:43:52,700 nagyon rövid példa, és szándékosan nem elegáns egy nem-triviális 889 00:43:52,700 --> 00:43:54,200 számítás. 890 00:43:54,200 --> 00:43:56,700 Így egy idő után, nem kap meg. 891 00:43:56,700 --> 00:44:02,130 >> De most, mi van, ha én, hogy ugyanazt az kísérletet, mint korábban, amikor azt, hogy 892 00:44:02,130 --> 00:44:04,010 két kérelmet ugyanabban az időben? 893 00:44:04,010 --> 00:44:06,990 Tehát itt fogok a göndör a címet, és meg fogom 894 00:44:06,990 --> 00:44:08,260 csinálni egy Curl. 895 00:44:08,260 --> 00:44:12,070 És ne feledd, amikor tette ezt a aludni server, amikor tulajdonképpen már azt 896 00:44:12,070 --> 00:44:15,320 öt másodperc, akkor elég mennyi is jött vissza a jobb 897 00:44:15,320 --> 00:44:16,380 körül ugyanabban az időben. 898 00:44:16,380 --> 00:44:18,650 Tehát nem volt különösen kötözve. 899 00:44:18,650 --> 00:44:20,290 >> De próbáljuk meg most. 900 00:44:20,290 --> 00:44:22,370 OK, így megvan a két folyamat. 901 00:44:22,370 --> 00:44:24,210 Ne feledje, ezek a folyamat azonosítók. 902 00:44:24,210 --> 00:44:25,900 Ez lesz egy kicsit kínos míg mi elakad. 903 00:44:25,900 --> 00:44:31,340 904 00:44:31,340 --> 00:44:35,360 Úgyhogy csak itt maradni, és várni. 905 00:44:35,360 --> 00:44:37,090 >> Így egyikük jöjjön vissza, miután, mint a - 906 00:44:37,090 --> 00:44:39,190 OK, így sem jött vissza. 907 00:44:39,190 --> 00:44:43,570 De akkor miért nem a második egy jön vissza csak még? 908 00:44:43,570 --> 00:44:44,389 Igen? 909 00:44:44,389 --> 00:44:49,280 >> Közönség: A kiszolgáló nem tud semmit míg ez számítástechnika, hogy nagy szám. 910 00:44:49,280 --> 00:44:51,620 >> KEVIN SCHMID: Így van. 911 00:44:51,620 --> 00:44:55,395 Tehát a válasz az volt, hogy csak a szerver tényleg nem tehet semmit, amíg 912 00:44:55,395 --> 00:44:57,460 ez számítástechnika, hogy Fibonacci számot. 913 00:44:57,460 --> 00:44:59,360 Így most már csak kaptam két dolgot vissza. 914 00:44:59,360 --> 00:45:03,210 De azt hiszem, csak azért, hogy gondoljon a kódot egy kicsit, hogyan is működik 915 00:45:03,210 --> 00:45:05,030 minden. 916 00:45:05,030 --> 00:45:11,750 >> Tehát ez a funkció itt a kód, amely Mondtam már ezen a szerveren fut, amikor 917 00:45:11,750 --> 00:45:14,100 kap új bejövő kérést. 918 00:45:14,100 --> 00:45:17,940 Tehát ez csak fog futni ezen keresztül teljes kódot, és akkor fog menni 919 00:45:17,940 --> 00:45:21,120 biztonsági másolatot az esemény hurok, majd folytassa ellenőrizze az új eseményeket. 920 00:45:21,120 --> 00:45:23,670 Tehát alapvetően, amit mi történik a szerver 921 00:45:23,670 --> 00:45:25,080 hallgat az új dolgokat. 922 00:45:25,080 --> 00:45:28,070 Az első, aki megkérdezi, amit 45. 923 00:45:28,070 --> 00:45:30,490 Futunk ezt a kódot kiszámítania. 924 00:45:30,490 --> 00:45:33,420 Ez a kód kerül nagyjából öt hat másodperc alatt futtatni. 925 00:45:33,420 --> 00:45:36,990 Aztán menj vissza az esemény hurok és ellenőrizze az új kéréseket. 926 00:45:36,990 --> 00:45:42,700 >> Tehát ez egy példa arra, hogy hogyan, ha a dolgok, amelyek az úgynevezett számítási 927 00:45:42,700 --> 00:45:48,140 kötött, vagy használja a sok számítási, nem hatalom, de mint a 928 00:45:48,140 --> 00:45:50,260 számításigényes - 929 00:45:50,260 --> 00:45:54,080 Azt hiszem, egy dolgot mondani erről, hogy ez a funkció csinál teljesen, 930 00:45:54,080 --> 00:45:56,310 a legtöbb, szép hasznos munkát jobbra. 931 00:45:56,310 --> 00:45:59,970 Az egész idő alatt, hogy a visszahívási funkció működik, ez elég 932 00:45:59,970 --> 00:46:03,670 nagy kiadások a legtöbb időt, csak számítástechnika, hogy n-edik Fibonacci számot. 933 00:46:03,670 --> 00:46:05,930 >> De már csak egy szál foglalkozni. 934 00:46:05,930 --> 00:46:10,270 Az Apache modellben, amikor két ember a kérést, hogy fib 45, akkor 935 00:46:10,270 --> 00:46:11,610 lett volna két különböző szálak. 936 00:46:11,610 --> 00:46:15,060 És akkor az operációs rendszer feladata lett volna, vagy a felhasználói szintű 937 00:46:15,060 --> 00:46:18,660 kód, amely kezeli a szálak, volna volt, a szelet, hogy akár a 938 00:46:18,660 --> 00:46:23,060 CPU, vagy akkor is, ha már több CPU, osztja el egyenletesen az egész CPU-k 939 00:46:23,060 --> 00:46:26,130 úgy, hogy mindketten célba nagyjából ugyanabban az időben. 940 00:46:26,130 --> 00:46:31,120 >> Szóval, csak azért, hogy mutassa meg, hogyan tudjuk rendezni a - , és ez nem egy teljes tökéletes 941 00:46:31,120 --> 00:46:34,280 megoldás, de a fajta, hogyan lehet hogy gyere vissza, és nem 942 00:46:34,280 --> 00:46:35,880 egy kicsit jobban. 943 00:46:35,880 --> 00:46:41,540 Szóval mi van itt egy program neve FIB C. És ez alapvetően használ 944 00:46:41,540 --> 00:46:45,690 egy másik csomópont modul neve A gyermek folyamat modul. 945 00:46:45,690 --> 00:46:49,210 Szóval már bele, hogy a tetején a fajta , mint én tennék egy font közé 946 00:46:49,210 --> 00:46:51,230 gyermek process.h vagy valami. 947 00:46:51,230 --> 00:46:56,210 Most már hozzáférhetnek ehhez CP változó amely az én funkciót. 948 00:46:56,210 --> 00:47:01,810 >> Most mit csinál ez a válasz felvezető Futok a program 949 00:47:01,810 --> 00:47:04,100 dot slash FIB 45. 950 00:47:04,100 --> 00:47:06,820 Szóval, mit tettem - és én csak megy kilépni a program egy 951 00:47:06,820 --> 00:47:07,620 kicsit - 952 00:47:07,620 --> 00:47:11,060 van Írtam egy C program alapvetően kiszámítja a 953 00:47:11,060 --> 00:47:12,630 n-edik Fibonacci-szám. 954 00:47:12,630 --> 00:47:15,960 Tehát itt csak egy program, amit írt C-ben, hogy kiszámolja ezt. 955 00:47:15,960 --> 00:47:19,040 Tudom fordítani, és tudok futni ez a parancssorban. 956 00:47:19,040 --> 00:47:22,150 És ez fog számítani a 45. Fibonacci szám. 957 00:47:22,150 --> 00:47:24,510 >> Így észre csak úgy nagyjából olyan hosszú. 958 00:47:24,510 --> 00:47:28,240 Talán lehetett volna használni kötőjel 03 a optimalizálni, vagy valami ilyesmi, 959 00:47:28,240 --> 00:47:31,050 de én csak tettem, mint a rendszeres fordító beállításait. 960 00:47:31,050 --> 00:47:33,260 És kinyomtatja azt. 961 00:47:33,260 --> 00:47:36,830 >> De most, mit is ilyen vagy? 962 00:47:36,830 --> 00:47:39,800 Ó, sajnálom, hibás fájlt. 963 00:47:39,800 --> 00:47:42,800 Szóval csinálni ugyanazokat a dolgokat a a fejléc, mint korábban. 964 00:47:42,800 --> 00:47:45,780 Aztán ezt cp.exec. 965 00:47:45,780 --> 00:47:49,460 Szóval mi ez fog csinálni az, hogy ez fog futni a program. 966 00:47:49,460 --> 00:47:51,960 De ahogy ez működik, hogy ez nem fog várni 967 00:47:51,960 --> 00:47:53,400 a program a befejezéshez. 968 00:47:53,400 --> 00:47:56,000 Csak lényegében azt mondja, végre ezt a programot. 969 00:47:56,000 --> 00:47:58,700 Tehát alapvetően írja ezt a parancssori fajta. 970 00:47:58,700 --> 00:48:02,350 >> És aztán, amikor kész azt, futtassa ezt a funkciót. 971 00:48:02,350 --> 00:48:04,800 Tehát most már olyan, hogy ennek a egész restaurált dolog 972 00:48:04,800 --> 00:48:06,750 mintha nem várunk. 973 00:48:06,750 --> 00:48:08,530 Vajon ez a fajta van értelme? 974 00:48:08,530 --> 00:48:08,990 Igen? 975 00:48:08,990 --> 00:48:11,060 >> Közönség: [Nem hallható]? 976 00:48:11,060 --> 00:48:13,610 >> KEVIN SCHMID: Tehát ez valóban nyit egy új eljárást kell csinálni. 977 00:48:13,610 --> 00:48:19,310 Tehát ez valójában, bizonyos szempontból, gonosz, nem szuper gonosz, de 978 00:48:19,310 --> 00:48:22,990 Fontos, hogy azt mondják, hogy ez a fajta megy vissza, egyrészt az Apache 979 00:48:22,990 --> 00:48:26,450 modell, ahol mi szálak és folyamatok minden egyes kérelem vagy 980 00:48:26,450 --> 00:48:29,280 folyamatok minden kérés. 981 00:48:29,280 --> 00:48:32,090 Tehát ez a fajta hasonló amit Apache csinál. 982 00:48:32,090 --> 00:48:35,110 Bizonyos esetekben, akkor csak használ egy új menet, amely egy kicsit több fényt 983 00:48:35,110 --> 00:48:39,040 súlya van, mint a folyamat, de az Apache tudott végén elágazás egy új folyamat 984 00:48:39,040 --> 00:48:43,370 ami elég, amit teszünk itt implicit ezzel pont perjel FIB 45. 985 00:48:43,370 --> 00:48:48,690 >> És akkor ebben az esetben azt a fajta merülnek azonos költségeit folyamatokat. 986 00:48:48,690 --> 00:48:50,710 Tehát ez csak egy dolog, amit tehetünk. 987 00:48:50,710 --> 00:48:52,600 De csak hogy megmutassa ezt a fajta futás. 988 00:48:52,600 --> 00:48:57,120 És ez a beszéd csak igazán célja bemutató ilyen jellegű programok, mint a 989 00:48:57,120 --> 00:49:00,710 módja megmutatni különböző nézőpontokból hogyan tervezzünk szerverek, mint ezt. 990 00:49:00,710 --> 00:49:08,300 Szóval ez fut, és most, ha én ez megint, van két folyamat azonosítók. 991 00:49:08,300 --> 00:49:10,320 >> Nézzük csak beszélni dolog rámutatni. 992 00:49:10,320 --> 00:49:11,980 Így észre, hogy ők fokozatosan. 993 00:49:11,980 --> 00:49:12,700 Ez jó. 994 00:49:12,700 --> 00:49:15,140 Mert 27122 előtt. 995 00:49:15,140 --> 00:49:18,580 De figyeljük meg most, hogy jött vissza nagyjából ugyanabban az időben. 996 00:49:18,580 --> 00:49:23,960 >> És most, egy jó kérdés, hogy kérdezni Miért volt ez az ügy, akinek feladata 997 00:49:23,960 --> 00:49:27,590 volt, most, hogy a fajta, hogy ezeket a dolgokat fajta játék vásár minden 998 00:49:27,590 --> 00:49:31,350 másik, a két esetben a dot slash fib 45, hogy én futottam 999 00:49:31,350 --> 00:49:32,880 vagy a Node futott? 1000 00:49:32,880 --> 00:49:36,940 Aki a fajta teszi, igazságos, hogy mindketten hogy milyen egyensúlyban futási idő? 1001 00:49:36,940 --> 00:49:42,900 1002 00:49:42,900 --> 00:49:44,220 >> Közönség: [hallható]. 1003 00:49:44,220 --> 00:49:44,620 >> KEVIN SCHMID: Igen. 1004 00:49:44,620 --> 00:49:49,740 Tehát alapvetően, amikor én pont slash FIB 45, vagy valami ilyesmi, most már 1005 00:49:49,740 --> 00:49:53,750 fajta akár az operációs rendszer kezelni a futási e programok. 1006 00:49:53,750 --> 00:49:56,920 És most már lehet ütemezni őket A különböző CPU vagy 1007 00:49:56,920 --> 00:49:58,330 A menetrend őket. 1008 00:49:58,330 --> 00:50:01,870 Ez szeleteljük fel az időt, hogy az egyik CPU-t kap, vagy hogy kap 1009 00:50:01,870 --> 00:50:03,330 fut egy CPU. 1010 00:50:03,330 --> 00:50:05,620 Szóval ez az ötlet mögött. 1011 00:50:05,620 --> 00:50:07,220 Van ennek értelme, hogy mindenki? 1012 00:50:07,220 --> 00:50:10,950 Tehát most Node nem igazán játszik részt osztódó ezeket a feladatokat. 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 >> Szóval ez majdnem azt példát. 1016 00:50:17,840 --> 00:50:23,370 Csak meg akartam mutatni egy dolog mert sok ez eddig 1017 00:50:23,370 --> 00:50:27,350 nem teljesen szuper praktikus bizonyos esetekben. 1018 00:50:27,350 --> 00:50:30,970 El tudom képzelni, jön haza után beszélni, és valami, és azt mondja ki, 1019 00:50:30,970 --> 00:50:35,710 jól Valahogy kiszálltam, hogy a vita, hogy Tudom, hogy a Fibonacci szerver 1020 00:50:35,710 --> 00:50:37,360 a végleges projekt. 1021 00:50:37,360 --> 00:50:40,770 Tehát itt csak egyfajta még egy példa amely remélhetőleg - 1022 00:50:40,770 --> 00:50:44,620 Talán nem, de talán - egy kicsit egyfajta vonatkozó végső projektek és 1023 00:50:44,620 --> 00:50:46,440 előre gondolkodni a dolgok, mint ezt. 1024 00:50:46,440 --> 00:50:48,870 >> Tehát ez chat.js. 1025 00:50:48,870 --> 00:50:52,290 Tehát ez olyan, mint egy kis minta szerver oldali kód, amit lehet használni, hogy 1026 00:50:52,290 --> 00:50:55,700 létrehozott egy kis chat szerver, mint a lehet, hogy látta a 1027 00:50:55,700 --> 00:50:56,630 Facebook Chat, vagy bármi. 1028 00:50:56,630 --> 00:50:59,990 Tehát nem azt mondom, ez olyan, mint a Facebook Chat, de ez a fajta 1029 00:50:59,990 --> 00:51:06,230 mint egy jó - talán nem jó, de talán jó - kiindulópontja a chat 1030 00:51:06,230 --> 00:51:08,560 szerver az Ön weboldalán a végleges projekt. 1031 00:51:08,560 --> 00:51:11,040 Akkor nézzük meg, mit csinál. 1032 00:51:11,040 --> 00:51:15,500 >> Szóval hogy ez a különleges dolog a tetején, ez var SIO 1033 00:51:15,500 --> 00:51:17,050 egyenlő igényelnek Socket.IO. 1034 00:51:17,050 --> 00:51:20,280 Tehát ez egy másik dolog, hogy ez nem valóban jön a csomagban 1035 00:51:20,280 --> 00:51:22,300 Node de lehet telepíteni. 1036 00:51:22,300 --> 00:51:23,480 Ez egy csomópont modult. 1037 00:51:23,480 --> 00:51:25,670 Szóval, ez csak, mint egy kiterjesztése a csomópont. 1038 00:51:25,670 --> 00:51:29,220 >> SocketIO valójában nagyon egyfajta hűvös. 1039 00:51:29,220 --> 00:51:32,550 Ez egy absztrakció, amely alapvetően mi ez nem az, ez lehetővé teszi, hogy 1040 00:51:32,550 --> 00:51:35,770 ezt patak kommunikáció között a web 1041 00:51:35,770 --> 00:51:39,430 böngésző és a webszerver. 1042 00:51:39,430 --> 00:51:45,250 Így a legtöbb eddig is megvolt ezeket a nagyon gyors egy-két másodpercig 1043 00:51:45,250 --> 00:51:48,790 másodperc közötti kommunikáció a web böngésző és a webszerver. 1044 00:51:48,790 --> 00:51:53,310 Szóval ez alapvetően megy a google.com, get a cucc, küldje vissza, majd a 1045 00:51:53,310 --> 00:51:53,770 végeztünk. 1046 00:51:53,770 --> 00:51:56,560 Mi soha nem beszél addig, amíg a felhasználó beír valami mást. 1047 00:51:56,560 --> 00:52:01,090 >> De mi Socket.IO és hasonló jellegű a dolgok - és SocketIO valójában egy 1048 00:52:01,090 --> 00:52:03,940 A dolog, ami épül, mint WebSocket amely egyfajta rendelkezésre 1049 00:52:03,940 --> 00:52:06,440 részeként HTML5 - 1050 00:52:06,440 --> 00:52:09,620 , amely lehetővé teszi, hogy ezt a folyamatos párbeszéd. 1051 00:52:09,620 --> 00:52:13,990 És ez nagyon hasznos a chat szerver a fajta dolog, mert 1052 00:52:13,990 --> 00:52:17,390 olyan, mint egy folyamatos párbeszéd bizonyos szempontból, mert ha beszélgetni 1053 00:52:17,390 --> 00:52:21,540 valakivel, akkor már csak küldeni üzenetet le a csövet, majd a 1054 00:52:21,540 --> 00:52:23,940 szerver üzenetet küldeni le cső, hogy a másik személy te 1055 00:52:23,940 --> 00:52:24,520 beszélget. 1056 00:52:24,520 --> 00:52:26,903 És akkor ezt csere ilyesmi. 1057 00:52:26,903 --> 00:52:30,590 1058 00:52:30,590 --> 00:52:32,850 >> Tehát ez a fajta, amit SocketIO jó. 1059 00:52:32,850 --> 00:52:38,400 Ennek az az oka, hogy az SocketIO használó WebSockets az egy dolog, hogy 1060 00:52:38,400 --> 00:52:43,980 Amellett, hogy csak a jó öreg WebSockets, ez is csinál néhány trükköt, hogy alapvetően 1061 00:52:43,980 --> 00:52:45,610 hogy kompatibilis a böngészővel. 1062 00:52:45,610 --> 00:52:50,040 Szóval, böngészők, mint az Internet Explorer sajnos nem támogatja WebSockets 1063 00:52:50,040 --> 00:52:50,810 jobb kívül a doboz. 1064 00:52:50,810 --> 00:52:55,290 Így használ valamilyen más jó ügyes dolgokat Adobe Flash, hogy 1065 00:52:55,290 --> 00:52:57,170 teszi, hogy több böngésző támogatja. 1066 00:52:57,170 --> 00:52:58,800 Szóval ez tényleg hasznos. 1067 00:52:58,800 --> 00:53:02,440 >> És valóban, tudom, hogy én vagyok ilyen futó idő, de CS50 1068 00:53:02,440 --> 00:53:08,490 Beszéljétek meg, hogy valaha is látott valamit mint, nem is tudom, üres így és így 1069 00:53:08,490 --> 00:53:11,030 megválaszolása ezen a poszton, vagy valami mint az, hogy a szolgáltatás? 1070 00:53:11,030 --> 00:53:12,250 Ez SocketIO. 1071 00:53:12,250 --> 00:53:15,580 Tehát, ha valaki elkezd írni a megvitassák box, hogy a válasz, vagy 1072 00:53:15,580 --> 00:53:20,040 valamit, a böngésző nem mi hívott SocketIO bocsát ki valamilyen 1073 00:53:20,040 --> 00:53:22,660 esetben, ha azt mondja valaki, ez válaszol az ezen a poszton. 1074 00:53:22,660 --> 00:53:26,110 >> Akkor a szerver azt mondja, OK, Mit kell tennem? 1075 00:53:26,110 --> 00:53:29,270 Hát most már el kell mondanom a többi srác akik a CS50 Fórum látszó 1076 00:53:29,270 --> 00:53:31,170 az ezen a poszton, hogy valaki válaszol. 1077 00:53:31,170 --> 00:53:34,190 Szóval ez a fajta, amit SocketIO is jó, ez a folyamatos fajta 1078 00:53:34,190 --> 00:53:35,930 patak a párbeszéd. 1079 00:53:35,930 --> 00:53:37,250 OK. 1080 00:53:37,250 --> 00:53:40,060 >> Szóval, mi van itt - és mi csak fogja figyelmen kívül hagyni a kapcsolatok tömb 1081 00:53:40,060 --> 00:53:41,390 egy kicsit - 1082 00:53:41,390 --> 00:53:43,080 , amit én csinálok, az én másik hallgatni. 1083 00:53:43,080 --> 00:53:46,880 Szóval, ez csak az utat Socket.IO van mondván, hallgassuk ezen a porton. 1084 00:53:46,880 --> 00:53:50,060 És akkor én ezt a kapcsolatot. 1085 00:53:50,060 --> 00:53:53,360 Szóval ez csak alapvetően Socket IO által szóval, ha kap egy 1086 00:53:53,360 --> 00:53:55,840 kapcsolatban, szeretném, ha futtatni ezt a kódot. 1087 00:53:55,840 --> 00:53:59,870 >> És észre, hogy ahelyett, hogy rec és a res telt ott van aljzat. 1088 00:53:59,870 --> 00:54:03,260 És ez a Socket ötlet alapvetően ez dolog, hogy meg lehet írni és olvasni 1089 00:54:03,260 --> 00:54:05,750 attól, hogy a felhasználó rendelkezik üzenetek esetleg. 1090 00:54:05,750 --> 00:54:10,700 És az üzenetek küld megy át, hogy az aljzat. 1091 00:54:10,700 --> 00:54:12,140 Van ennek értelme? 1092 00:54:12,140 --> 00:54:14,490 Tehát ez a folyamatos dolog. 1093 00:54:14,490 --> 00:54:17,820 >> Szóval, amit én nem is hívom Socket.emit. 1094 00:54:17,820 --> 00:54:20,330 És bocsátanak ki veszi elég sokat két érv. 1095 00:54:20,330 --> 00:54:24,100 Az első argumentum egy karakterlánc csak típusát képviselő 1096 00:54:24,100 --> 00:54:25,270 dolog, amit kibocsátó. 1097 00:54:25,270 --> 00:54:28,120 Tehát ebben az esetben, én már használata ez a szöveg az új üzenetet. 1098 00:54:28,120 --> 00:54:32,670 És ez még csak lényegében azt mondja, hogy hogy milyen típusú ez a dolog, amit én 1099 00:54:32,670 --> 00:54:34,750 küldött, egy új üzenetet. 1100 00:54:34,750 --> 00:54:38,460 Így meg lehet hallgatni az egyes típusok mint az új üzenetet, vagy bármi 1101 00:54:38,460 --> 00:54:39,960 használatával dot on. 1102 00:54:39,960 --> 00:54:44,570 >> Tehát kapcsolat és a felhasználói küldték oda, ha a megnézi hol hívni ponttal, 1103 00:54:44,570 --> 00:54:48,150 ezek más húrok képviselő típusú felhasználói üzeneteket. 1104 00:54:48,150 --> 00:54:52,060 Tehát alapvetően akkor ezt bocsátanak ki egy ilyen üzenet típusok, és 1105 00:54:52,060 --> 00:54:55,520 majd valami válaszként egy ilyen típusú üzenet 1106 00:54:55,520 --> 00:54:57,640 >> Szóval kibocsátó ezt az új üzenetet. 1107 00:54:57,640 --> 00:55:00,540 Fogunk figyelmen kívül hagyni connections.push egy pillanatra. 1108 00:55:00,540 --> 00:55:03,360 De akkor azt mondom, Socket.on felhasználónak küldött. 1109 00:55:03,360 --> 00:55:07,540 Tehát most ez olyan, mint amikor a felhasználó küld nekem egy üzenetet, azt akarom, 1110 00:55:07,540 --> 00:55:09,240 , hogy ezt a kódot. 1111 00:55:09,240 --> 00:55:12,080 Vegyük észre, hogy a névtelen függvény vesz ebben a változó 1112 00:55:12,080 --> 00:55:16,300 úgynevezett adatok alapvetően fogja hogy a felhasználó üzenetet. 1113 00:55:16,300 --> 00:55:20,700 >> És most nézzük a fajta beszélni A kapcsolatok tömb. 1114 00:55:20,700 --> 00:55:24,590 Szóval ez a célja, hogy egy chat kliens ahol gyakorlatilag mindenki ilyen in 1115 00:55:24,590 --> 00:55:25,950 ugyanazt a chat szobában. 1116 00:55:25,950 --> 00:55:29,640 Tehát alapvetően, amit meg kell tartani körül néhány tömb, hogy alapvetően 1117 00:55:29,640 --> 00:55:33,170 képviseli az egész nép beszélget Bizonyos szempontból, ha van értelme. 1118 00:55:33,170 --> 00:55:33,340 Nem igaz? 1119 00:55:33,340 --> 00:55:37,190 Mert tudnunk kell, hogy kik azok a fickók annyira el tudjuk küldeni nekik az üzeneteket 1120 00:55:37,190 --> 00:55:39,140 hogy más emberek küldjön nekünk. 1121 00:55:39,140 --> 00:55:44,440 >> Szóval mi ez a kód nem az, ha a felhasználó küld egy üzenetet, - ez a fajta 1122 00:55:44,440 --> 00:55:45,300 Az esemény - 1123 00:55:45,300 --> 00:55:47,120 fogjuk ezt a kódot. 1124 00:55:47,120 --> 00:55:51,240 És mit teszünk mi fut ezen keresztül array, hogy hívott kapcsolatot. 1125 00:55:51,240 --> 00:55:54,390 És elég sok minden csatlakozás kivéve azt, ami a miénk, ez 1126 00:55:54,390 --> 00:55:59,520 mi ez a kód azt mondja, küldünk egy új üzenetet, hogy a csatolt üzenet 1127 00:55:59,520 --> 00:56:01,210 információt. 1128 00:56:01,210 --> 00:56:04,880 >> Tehát, ha azt veszi észre, itt, mit tettem, amikor a felhasználó valóban tesz egy új 1129 00:56:04,880 --> 00:56:08,560 kapcsolat adtam a JavaScript.push módszer, ez 1130 00:56:08,560 --> 00:56:12,100 alapvetően csak azt mondom, mint a hozzá hogy Socket mint értéket 1131 00:56:12,100 --> 00:56:13,900 a kapcsolatok tömb. 1132 00:56:13,900 --> 00:56:20,560 Tehát most, amikor ezt a kódot futtatja, nem fog küldeni a dolgokat e sajátos 1133 00:56:20,560 --> 00:56:22,020 kapcsolatokat. 1134 00:56:22,020 --> 00:56:26,980 Tehát ez lehet egy jó kiindulási pont arra, hogy egy chat szerver 1135 00:56:26,980 --> 00:56:28,250 vagy valami hasonló. 1136 00:56:28,250 --> 00:56:33,315 >> És az a fajta jó dolog az, hogy a kódot, amit látni itt, mint a be-és 1137 00:56:33,315 --> 00:56:36,390 kibocsátására és ilyesmi ugyanaz olyan JavaScript kódot, amit lenne 1138 00:56:36,390 --> 00:56:39,260 írni a böngésző, hogy kölcsönhatásba lépnek a szerver. 1139 00:56:39,260 --> 00:56:42,480 Szóval ezért SocketIO egyfajta szép és hasznos az ilyen módon. 1140 00:56:42,480 --> 00:56:45,680 1141 00:56:45,680 --> 00:56:49,250 >> Ja, és még egy dolog nagyon gyorsan. 1142 00:56:49,250 --> 00:56:55,970 Volt egy CS50 végleges projekt tavaly hogy alapvetően végre a chat 1143 00:56:55,970 --> 00:56:57,840 szerver Node.js. 1144 00:56:57,840 --> 00:57:01,350 Azt hiszem, ez Harvardchats.org de én nem vagyok - 1145 00:57:01,350 --> 00:57:02,940 OK. 1146 00:57:02,940 --> 00:57:06,190 Nem vagyok biztos benne, mi az URL, de Tudok küldeni, hogy ki utána. 1147 00:57:06,190 --> 00:57:09,260 De ez a fajta hideg, amit meg tudod csinálni Node.js. 1148 00:57:09,260 --> 00:57:14,680 >> Szóval remélem, általában nektek a jó értelemben, hogy mi Node.js hasznos 1149 00:57:14,680 --> 00:57:17,870 és hogyan lehetne esetleg alkalmazni a végleges projekt. 1150 00:57:17,870 --> 00:57:21,050 Én is küld ki néhány források mellett ezzel. 1151 00:57:21,050 --> 00:57:23,170 És köszönöm, hogy eljöttek. 1152 00:57:23,170 --> 00:57:23,610 Köszönöm. 1153 00:57:23,610 --> 00:57:27,168 >> [Taps]