1 00:00:00,000 --> 00:00:08,350 2 00:00:08,350 --> 00:00:09,710 >> KEVIN SCHMID: Sveiki visi. 3 00:00:09,710 --> 00:00:12,640 Sveiki atvykę į CS50 seminare ant Node.js. 4 00:00:12,640 --> 00:00:13,955 Mano vardas Kevinas. 5 00:00:13,955 --> 00:00:15,580 Aš CS50 TF. 6 00:00:15,580 --> 00:00:17,650 Ir aš tikiu, tarsi tikrai malonu apie šio seminaro. 7 00:00:17,650 --> 00:00:20,430 Manau Node.js yra labai kietas. 8 00:00:20,430 --> 00:00:24,200 Tikiuosi, kad šis seminaras gali būti naudojamas kaip gera, manau, tramplinas 9 00:00:24,200 --> 00:00:26,380 kai kurie iš jūsų galutinius projektus, jei jus domina naudojant 10 00:00:26,380 --> 00:00:27,630 kažkas panašaus Node.js. 11 00:00:27,630 --> 00:00:29,770 12 00:00:29,770 --> 00:00:33,320 >> Mes tarsi pradėti seminarą išjungti tik kalbame apie šiek tiek 13 00:00:33,320 --> 00:00:36,970 rūšies fone mastelio perspektyvos Node.js, tada 14 00:00:36,970 --> 00:00:39,240 mes pereiti prie kai kurių kodo pavyzdžius. 15 00:00:39,240 --> 00:00:42,340 Ir aš turiu dėl svetainės kodą ir jūs galite peržvelgti kodą. 16 00:00:42,340 --> 00:00:45,475 Ir po seminaro, aš rūšiuoti kalbama apie tai, kaip galite sukurti Node.js 17 00:00:45,475 --> 00:00:48,220 jūsų kompiuteryje. 18 00:00:48,220 --> 00:00:48,710 >> Gerai. 19 00:00:48,710 --> 00:00:49,760 Taigi, galime pradėti. 20 00:00:49,760 --> 00:00:53,700 Taigi, manau, aš tiesiog noriu kalbėti apie interneto serverių, tikrai, pirma. 21 00:00:53,700 --> 00:00:59,730 Ir pradėti šią diskusiją, aš iš esmės turi schema, kuri iš 22 00:00:59,730 --> 00:01:04,269 vadovėlis naudojama CS61, kuris iš esmės rodo sąveika 23 00:01:04,269 --> 00:01:08,510 tarp kliento procesą, pavyzdžiui, jūsų interneto naršyklė ar kaip jūsų tikslas klientas ar 24 00:01:08,510 --> 00:01:11,340 kažkas panašaus, kad ir web serveris. 25 00:01:11,340 --> 00:01:15,150 Taigi tai tipo panašus į paveikslėlio, kurį mačiau paskaitos apie 26 00:01:15,150 --> 00:01:19,270 Trečiadienis, kur iš esmės mes turime keletą klientas procesas kaip "Google Chrome". 27 00:01:19,270 --> 00:01:22,980 >> Ir tada vienas žingsnis Klientas siunčia prašymą. 28 00:01:22,980 --> 00:01:27,510 Taigi, kad gali būti kažkas panašaus į gerai tegul aplankyti, aš nežinau, CS50.net. 29 00:01:27,510 --> 00:01:29,320 Taigi, mes skelbiame šį prašymą. 30 00:01:29,320 --> 00:01:34,280 Ir ar kas nors prisimena pavadinimą protokolas, nurodantis, kaip ta 31 00:01:34,280 --> 00:01:35,610 Prašymas turėtų būti struktūrizuotos? 32 00:01:35,610 --> 00:01:36,382 Taip. 33 00:01:36,382 --> 00:01:37,650 >> PUBLIKA: [nesigirdi]. 34 00:01:37,650 --> 00:01:38,150 >> KEVIN SCHMID: Būtent. 35 00:01:38,150 --> 00:01:40,100 Taigi, tai kaip HTTP, tiesa? 36 00:01:40,100 --> 00:01:44,720 Taigi, iš esmės, kiek specifikacija šis prašymas iš tiesų turėtų būti nustatytos 37 00:01:44,720 --> 00:01:47,450 iš, nes bent dienos pabaigoje, šis prašymas yra tikrai tik norite 38 00:01:47,450 --> 00:01:50,240 eilutę, kad iš esmės sako noriu tai. 39 00:01:50,240 --> 00:01:53,580 Ir specifikacija už tai yra HTTP. 40 00:01:53,580 --> 00:01:55,270 Štai kaip protokolą. 41 00:01:55,270 --> 00:01:57,920 >> Taigi serveris gauna šis prašymas. 42 00:01:57,920 --> 00:02:01,610 Taigi vaikinai įdiegta žiniatinklio serveris į CS50 prietaisu. 43 00:02:01,610 --> 00:02:02,460 Tai Apache. 44 00:02:02,460 --> 00:02:06,230 Ir šią savaitę, kai dirbate su problema septynis, jūs iš tikrųjų dirba 45 00:02:06,230 --> 00:02:08,160 su tuo serveryje. 46 00:02:08,160 --> 00:02:12,380 Taigi serveris gauna šį prašymą, ir tada jis turi tipo subraižyti savo 47 00:02:12,380 --> 00:02:15,090 galvos ir pasakyti, kaip gerai, kas man daryti su tuo? 48 00:02:15,090 --> 00:02:20,060 >> Taigi, remiantis tuo, kas ji nusprendžia taip padaryti, tada jai gali tekti kreiptis į kokio nors 49 00:02:20,060 --> 00:02:20,730 Išteklių. 50 00:02:20,730 --> 00:02:23,700 Ir, kad šaltinis gali būti daug įvairių dalykų. 51 00:02:23,700 --> 00:02:26,810 Už vieną, tai gali būti tik kaip statinis HTML failą. 52 00:02:26,810 --> 00:02:29,820 Taigi, tai gali būti tiesiog kaip kai kurie HTML, kad yra panašūs 53 00:02:29,820 --> 00:02:31,100 Jūsų asmeninė svetainė. 54 00:02:31,100 --> 00:02:35,360 Tai gali būti statinis failas kaip paveikslėlį arba kaip filmą, kad jūs turite. 55 00:02:35,360 --> 00:02:37,660 Tai gali net kalbėti tam tikra duomenų bazės natūra 56 00:02:37,660 --> 00:02:39,530 kaip MySQL duomenų bazė. 57 00:02:39,530 --> 00:02:43,910 Taigi ji ne visada turi bendrauti su išteklių, tačiau 58 00:02:43,910 --> 00:02:45,700 kai kuriais atvejais, jis gali. 59 00:02:45,700 --> 00:02:47,800 >> Taigi, ką jis ruošiasi daryti Po to, kai jis ketina 60 00:02:47,800 --> 00:02:49,430 siųsti atgal atsakymą. 61 00:02:49,430 --> 00:02:53,130 Ir už tai atsakas taip pat nurodyti HTTP. 62 00:02:53,130 --> 00:02:54,830 Taigi klientas gali gauti. 63 00:02:54,830 --> 00:02:56,740 Jis gali ašara jį išskiria ir tvarkyti. 64 00:02:56,740 --> 00:03:00,900 Ir tada jums tinklalapį kaip "Google" arba CS50.net arba 65 00:03:00,900 --> 00:03:02,240 ką nuvyko į. 66 00:03:02,240 --> 00:03:03,100 Gerai? 67 00:03:03,100 --> 00:03:06,080 >> Taigi tai yra pagrindinis sąveikos kad mes ketiname būti susijusios su. 68 00:03:06,080 --> 00:03:08,770 Ir mes labai daug bus sutelkiant dėmesį į šią dalį 69 00:03:08,770 --> 00:03:10,640 sąveika, serveryje. 70 00:03:10,640 --> 00:03:10,990 Gerai. 71 00:03:10,990 --> 00:03:12,210 Cool. 72 00:03:12,210 --> 00:03:15,500 Kas nors turi kokių nors klausimų iki šiol? 73 00:03:15,500 --> 00:03:17,720 Gerai. 74 00:03:17,720 --> 00:03:22,430 >> Taigi, kaip mes sakėme, web serveris gauna tai HTTP užklausa ir tada išduoda tai 75 00:03:22,430 --> 00:03:24,760 HTTP atsakymo. 76 00:03:24,760 --> 00:03:29,100 Ir kaip mes kalbėjome apie prieš, CS50 prietaisas web serveris Apache. 77 00:03:29,100 --> 00:03:32,490 Taigi, kai jūs vaikinai dirbti P septynis, jūs ketinate dirbti su 78 00:03:32,490 --> 00:03:34,120 Apache web serveris. 79 00:03:34,120 --> 00:03:37,890 Jūs niekada tikrai veikia su Apache tiesiogiai per daug. 80 00:03:37,890 --> 00:03:41,920 Jūs tarsi konfigūruoti Apache mažai kai nurodyti virtualiais kompiuteriais ar 81 00:03:41,920 --> 00:03:44,970 "V" šeimininkai, ir mes susisieksime į, kad šiek tiek. 82 00:03:44,970 --> 00:03:50,620 >> Bet iš esmės, Apache web serveris įsteigti dirbti su PHP natūra 83 00:03:50,620 --> 00:03:51,730 iš out of the box. 84 00:03:51,730 --> 00:03:56,170 Taigi, kas iš tikrųjų atsitinka, kai jūs einate į vieną iš savo svetainių, kaip, tarkim, 85 00:03:56,170 --> 00:04:00,360 vietinio kompiuterio velniop index.php ar kažką, jūsų naršyklė siunčia, kad 86 00:04:00,360 --> 00:04:04,330 prašymas, tada Apache sėdi ten ir skaičiai, su juo daryti. 87 00:04:04,330 --> 00:04:08,840 Ir veiksmai yra įvykdyti kad kodas index.php ir 88 00:04:08,840 --> 00:04:11,330 tada siųsti jį išjungti atgal. 89 00:04:11,330 --> 00:04:15,640 Taigi kad. 90 00:04:15,640 --> 00:04:16,980 Taigi, mes tarsi kalbėjo apie tai. 91 00:04:16,980 --> 00:04:21,990 Taigi, tai gali tiesiog būti statinis failą arba paleisti kai PHP kodą ir tada klausimas 92 00:04:21,990 --> 00:04:23,510 atsakas. 93 00:04:23,510 --> 00:04:27,670 >> Taigi bendras klausimas, kad gali ateiti up yra gerai, kaip mes iš tikrųjų spręsti 94 00:04:27,670 --> 00:04:31,750 su turintys daug vartotojų tuo pačiu metu? 95 00:04:31,750 --> 00:04:36,930 Taigi, įsivaizduokite, jei buvo raštu internete serverio, jei jūs turėjote interneto serverį, kad 96 00:04:36,930 --> 00:04:39,900 bandėte rašyti kažką kaip C ar kažką panašaus, kad, 97 00:04:39,900 --> 00:04:45,150 Iš esmės jūs galite galvoti apie tai, kaip yra gali būti šiek tiek kodo natūra, kad 98 00:04:45,150 --> 00:04:49,330 gaus prašymą, bet tada ji turi padaryti viską, šį darbą apie tai. 99 00:04:49,330 --> 00:04:53,060 Jis gali turėti, pavyzdžiui, kreipkitės duomenų bazė ar kažkas panašaus. 100 00:04:53,060 --> 00:04:53,300 Teisė? 101 00:04:53,300 --> 00:04:56,010 Ir tai būtų padaryti, kad natūra tvarkymo ir tada 102 00:04:56,010 --> 00:04:57,060 išsiuntė atgal atsakymą. 103 00:04:57,060 --> 00:04:58,950 Štai kaip aukštos lygis apžvalga. 104 00:04:58,950 --> 00:05:04,210 >> Bet tai ne iš karto aišku, kaip jūs gali padaryti taip, kad du žmonės ar 105 00:05:04,210 --> 00:05:09,040 net 1000 žmonės galėtų dirbti su savo web serveris tuo pačiu metu. 106 00:05:09,040 --> 00:05:14,880 Taigi sprendimas Apache naudoja vadinamas temas ar procesus. 107 00:05:14,880 --> 00:05:16,770 Taigi, jūs galbūt girdėjote apie šie terminai anksčiau. 108 00:05:16,770 --> 00:05:22,190 Tai gerai, jei turite ne, bet tiesiog manau, apie temas ar procesams būdų 109 00:05:22,190 --> 00:05:26,290 operacinės sistemos ar vartotojo programa arba kažkas panašaus arba žiniatinklio serveris 110 00:05:26,290 --> 00:05:28,810 rūšiuoti vykdyti keletą viskas iš karto. 111 00:05:28,810 --> 00:05:31,760 Taigi, jūs galbūt girdėjote terminą kaip siūlų vykdymą. 112 00:05:31,760 --> 00:05:34,140 Taigi, tai lyg jūs rūšiuoti multitasking. 113 00:05:34,140 --> 00:05:37,710 >> Ir jei jūs mačiau ant dėžutės savo nešiojamas kompiuteris, ar kažkas panašaus, 114 00:05:37,710 --> 00:05:43,040 daugiagysliai, ką galite padaryti, tai galite paleisti dvi skirtingas temas apie įvairias 115 00:05:43,040 --> 00:05:46,700 dalys CPU, kad jie gali tikrųjų vyksta tuo pačiu metu. 116 00:05:46,700 --> 00:05:48,100 Taigi, tai tikrai galingas. 117 00:05:48,100 --> 00:05:52,270 Ir tai yra rūšies Apache šios problemos sprendimas. 118 00:05:52,270 --> 00:05:57,900 >> Taigi ten lyg jokių klausimų Šio požiūrio nors? 119 00:05:57,900 --> 00:05:59,870 Taigi, manau, I rūšies rašė juos ten. 120 00:05:59,870 --> 00:06:03,440 Tačiau abu tarsi naudoti daug atminties. 121 00:06:03,440 --> 00:06:07,490 Tai labai brangu sukurti trinyčio arba procesas. 122 00:06:07,490 --> 00:06:11,750 >> Ir dalis argumentų yra tai, kad tik pavyzdžiui, kai jūs dirbate C programa 123 00:06:11,750 --> 00:06:15,090 kaip jūsų pagrindinis ir tada, kad skambučiai kita funkcija, kuri turi 124 00:06:15,090 --> 00:06:16,520 kai kamino natūra. 125 00:06:16,520 --> 00:06:19,910 Taigi temas taip pat reikalauja visiškai atskiras kaminas, kuris 126 00:06:19,910 --> 00:06:21,220 gali būti gana didelis. 127 00:06:21,220 --> 00:06:25,170 Ir jeigu jūs galite įsivaizduoti tonų Vartotojų jūsų svetainę, jums reikės 128 00:06:25,170 --> 00:06:26,280 Įvairių siūlų daug. 129 00:06:26,280 --> 00:06:28,230 Štai iš kaminai daug valdyti ir prižiūrėti. 130 00:06:28,230 --> 00:06:31,280 Taigi tai didelės atminties vartojimas. 131 00:06:31,280 --> 00:06:35,650 >> Ir tada, ir, tarkime, jūs turite tik vienas procesorius, arba tarkim jūs turite 132 00:06:35,650 --> 00:06:38,460 daugiau temų nei turite tie multicores. 133 00:06:38,460 --> 00:06:38,730 Teisė? 134 00:06:38,730 --> 00:06:43,280 Taigi, tarkime, jūs turėjo 10 temas ir jūs tik turėjo penkis procesorių. 135 00:06:43,280 --> 00:06:46,260 Jūs tarsi turi daryti tai, ką, kur jums persijungti tarp srovės 136 00:06:46,260 --> 00:06:49,090 vienas, kad veikia, nes jūs negali paleisti visus 10 vienu metu. 137 00:06:49,090 --> 00:06:50,980 Ir tai vadinama kontekste jungiklis. 138 00:06:50,980 --> 00:06:54,260 Ir ši sąvoka iš tikrųjų turi pora skirtinguose kontekstuose, tačiau galime tik 139 00:06:54,260 --> 00:06:56,620 galvoti apie tai, kaip pereiti dviejų siūlų. 140 00:06:56,620 --> 00:06:59,730 Tai gali būti gana brangus, nes Iš esmės tai, ką turite padaryti, tai jums 141 00:06:59,730 --> 00:07:03,340 turi sustabdyti, ką jūs darote, išskyrus būklė Tekančio siūlų ir 142 00:07:03,340 --> 00:07:05,440 tada pereiti į kažkur kitur. 143 00:07:05,440 --> 00:07:09,420 >> Taigi ar visi rūšies pamatyti motyvacija, kodėl siūlai ir 144 00:07:09,420 --> 00:07:12,030 procesai gali būti šiek tiek didelių gabaritų? 145 00:07:12,030 --> 00:07:13,840 Ir ar turite klausimų? 146 00:07:13,840 --> 00:07:14,376 Gerai. 147 00:07:14,376 --> 00:07:15,070 Cool. 148 00:07:15,070 --> 00:07:18,090 Kas nors turi kokių nors klausimų? 149 00:07:18,090 --> 00:07:19,620 Gerai. 150 00:07:19,620 --> 00:07:26,720 >> Taigi, jei mes žengiame žingsnį atgal sekundę, ten lyg 151 00:07:26,720 --> 00:07:30,350 pastebėjimas, kad mes galime padaryti apie interneto programų aikštelė. 152 00:07:30,350 --> 00:07:34,810 Ir tai tikrai, kad daug jų tikrai nereikia daryti, kad daug naudingos 153 00:07:34,810 --> 00:07:37,140 dirbti viduje siūlus. 154 00:07:37,140 --> 00:07:41,170 Taigi yra kas prasidėjo P septynis ne visi? 155 00:07:41,170 --> 00:07:45,650 Taigi jūs norite gal apibūdinti kai kurios dalys? 156 00:07:45,650 --> 00:07:47,850 Ar dirbote prisijungęs ar kažkas panašaus? 157 00:07:47,850 --> 00:07:49,330 >> PUBLIKA: Ne 158 00:07:49,330 --> 00:07:49,780 >> KEVIN SCHMID: Gerai. 159 00:07:49,780 --> 00:07:50,150 Nieko tokio. 160 00:07:50,150 --> 00:07:50,900 Atsiprašau. 161 00:07:50,900 --> 00:07:55,790 Bet iš esmės, o P rinkinį, jūs ketiname būti padaryti iš rūšies aikštelė 162 00:07:55,790 --> 00:07:59,760 užklausų į duomenų bazę kažkiek informacija iš šios duomenų bazės. 163 00:07:59,760 --> 00:08:03,330 Ir tai, ką jūsų kodas bus padaryti, kas Apache procesas ar 164 00:08:03,330 --> 00:08:06,030 Apache siūlai ketinate daryti o jis turi kreiptis 165 00:08:06,030 --> 00:08:08,990 duomenų bazė yra tai tarsi bus sėdi ten ir jis bus 166 00:08:08,990 --> 00:08:12,130 laukia duomenų bazė atsakyti. 167 00:08:12,130 --> 00:08:16,290 >> Dabar, kai gali ne atrodo, kad didelis spręsti, nes duomenų bazė yra jūsų 168 00:08:16,290 --> 00:08:18,240 CS50 prietaisas, tiesa? 169 00:08:18,240 --> 00:08:22,930 Tačiau yra tam tikrų tinklo natūra yra latentinis, nes dabar interneto 170 00:08:22,930 --> 00:08:26,830 serveris turi išduoti savo prašymą duomenų bazė bendrauti su 171 00:08:26,830 --> 00:08:29,520 duomenų bazę ir tada gauti, kad informacija atgal. 172 00:08:29,520 --> 00:08:33,190 Taigi, dabar kaip gerai laukti mane, aš ketina eiti gauti kažką iš 173 00:08:33,190 --> 00:08:35,770 duomenų bazę ir tada ten daug laukia vyksta. 174 00:08:35,770 --> 00:08:36,870 Ar tai prasminga? 175 00:08:36,870 --> 00:08:38,580 >> Ir kai kurių dalykų, tai nereiškia, kad blogai. 176 00:08:38,580 --> 00:08:41,950 Jei jis tiesiog turi, pavyzdžiui, kreipties atmintinė, tai nepatinka 177 00:08:41,950 --> 00:08:44,100 siaubinga I / O latentinis. 178 00:08:44,100 --> 00:08:47,110 Ir kai aš sakau, I / O latentinis, ką aš nuoroda į tai, kaip bet kaip rūšies 179 00:08:47,110 --> 00:08:48,290 įvesties ir išvesties. 180 00:08:48,290 --> 00:08:52,950 Tačiau prieiti prie diske failą, kaip jei aš norėjau būti statinis HTML 181 00:08:52,950 --> 00:08:57,850 failą, kad buvo mano puslapyje arba kažkas panašaus, kad aš tipo turiu 182 00:08:57,850 --> 00:09:02,310 sustoti šiek tiek skaityti tą failą nuo disko, ir tada 183 00:09:02,310 --> 00:09:04,400 kad procesas laukiu. 184 00:09:04,400 --> 00:09:06,700 Aš ne daro naudingą darbą. 185 00:09:06,700 --> 00:09:11,270 >> Tai nėra tiesa viskas, bet tai yra bendras programas, pavyzdžiui P rinkinys 186 00:09:11,270 --> 00:09:13,960 septynis ir daug paraiškų kad nesate 187 00:09:13,960 --> 00:09:15,440 iš tikrųjų daro daug mąstymo. 188 00:09:15,440 --> 00:09:19,090 Ir kai aš sakau mąstymą, aš turiu galvoje kaip kompiuterinės darbo. 189 00:09:19,090 --> 00:09:23,270 Taigi skaičiuojamoji darbas galėtų būti kažkas kaip, tarkim, jūs norite 190 00:09:23,270 --> 00:09:26,590 rašyti žiniatinklio serverio, kad tik kompiuterinės n-tasis Fibonačio skaičius. 191 00:09:26,590 --> 00:09:29,300 Tai neturi skambėti kaip ypač įdomus web serveris. 192 00:09:29,300 --> 00:09:34,220 Kaip aš ne tikėtis, kad svetainė turi būti šalia "Facebook", bet tai kai 193 00:09:34,220 --> 00:09:35,610 tipo skaičiavimų darbą. 194 00:09:35,610 --> 00:09:39,570 >> Ir jūs galite įsivaizduoti, pakeisti, kad su kitokios įdomu 195 00:09:39,570 --> 00:09:43,070 skaičiuojamoji darbas. 196 00:09:43,070 --> 00:09:46,050 Tarkime, jums buvo rašyti kažką apskaičiuota laipsnių 197 00:09:46,050 --> 00:09:49,170 atskyrimas tarp dviejų žmonių ar kažkas panašaus. 198 00:09:49,170 --> 00:09:51,860 Taigi, kad nėra įtraukti tam tikrą rūšį apskaičiavimo, tiesa? 199 00:09:51,860 --> 00:09:56,630 Ir net tada, padaryti, kad jūs vis dar turite daryti laukimo aikštelė gal 200 00:09:56,630 --> 00:09:59,550 turite užklausą duomenų bazę ieškoti iki kas draugauja su kas ir 201 00:09:59,550 --> 00:10:00,600 kažkas panašaus. 202 00:10:00,600 --> 00:10:03,510 Taigi yra, kad sąvoka natūra Kompiuterinės darbas. 203 00:10:03,510 --> 00:10:05,260 Ar tai prasminga? 204 00:10:05,260 --> 00:10:08,258 Ar kas nors turi kokių nors klausimų? 205 00:10:08,258 --> 00:10:11,960 >> O ir manau įdėti pokalbiai serverius ten nes chat serveriai rūšies 206 00:10:11,960 --> 00:10:13,240 dar vienas geras pavyzdys. 207 00:10:13,240 --> 00:10:15,250 Pokalbiai serveris neturi padaryti daug mąstymo. 208 00:10:15,250 --> 00:10:18,350 Jis tiesiog turi laukti, kad žmonės galėtų siųsti pranešimus ir tada, kai 209 00:10:18,350 --> 00:10:19,800 jie, siųsti juos. 210 00:10:19,800 --> 00:10:21,050 Gerai? 211 00:10:21,050 --> 00:10:23,410 212 00:10:23,410 --> 00:10:28,180 >> Taigi, tiesiog užsukite vėl, Apache ir panašios interneto serverių, pavyzdžiui, kad šakės a 213 00:10:28,180 --> 00:10:31,470 daug siūlų ir procesų, kurie gali būti natūra išlaidavimas. 214 00:10:31,470 --> 00:10:37,530 Taigi, manau, kad klausimas, kuris gali ateiti iš kuri mes turime turėti 215 00:10:37,530 --> 00:10:39,610 daug temų ir procesus? 216 00:10:39,610 --> 00:10:41,890 Ką daryti, jei mes tiesiog turėjo vieną? 217 00:10:41,890 --> 00:10:45,710 >> Taigi leiskite rūšies dažų paveikslėlį ką tai turėtų atrodyti. 218 00:10:45,710 --> 00:10:47,810 Taigi, galime naudoti tik vieną siūlą. 219 00:10:47,810 --> 00:10:48,660 Gerai? 220 00:10:48,660 --> 00:10:52,790 Taigi, įsivaizduokite tai su viena gija. 221 00:10:52,790 --> 00:10:56,600 >> Sakykime, mes ne tikrai daro kad daug naudingos - ir kai aš sakau, 222 00:10:56,600 --> 00:10:59,450 naudinga, aš tai skaičiuojamasis darbą - 223 00:10:59,450 --> 00:11:01,130 tais keliais siūlais anksčiau. 224 00:11:01,130 --> 00:11:04,180 Taigi leiskite rūšies konsoliduoti viskas į vieną siūlų. 225 00:11:04,180 --> 00:11:07,780 Taigi ką daryti, jei mes turėjome vieną siūlą, kad natūra tiesiog eina aplink kilpą ir 226 00:11:07,780 --> 00:11:10,880 nuolat patikrinimai padarė kažką nauja atsitikti. 227 00:11:10,880 --> 00:11:15,130 Taigi, pavyzdžiui, ką nors naujo nutiko gali reikšti, aš turiu kažką atgal nuo 228 00:11:15,130 --> 00:11:19,310 duomenų bazės, ar kas nors atsiuntė man naują HTTP užklausos. 229 00:11:19,310 --> 00:11:22,290 Taigi tie, kurie tipo įvykių kad taip atsitiktų, tiesa? 230 00:11:22,290 --> 00:11:26,130 >> Ir tada, ką aš galiu padaryti, kai tie nauji dalykų atsitikti yra toje pačioje temoje 231 00:11:26,130 --> 00:11:30,120 vykdymo, ši bendra gija vykdymas, galiu paskambinti tam tikrą kodą, kad 232 00:11:30,120 --> 00:11:32,410 tvarkytų tą konkretų. 233 00:11:32,410 --> 00:11:36,640 Taigi, pavyzdžiui, jei aš kažką atgal iš duomenų bazės, galėčiau paleisti mano 234 00:11:36,640 --> 00:11:40,960 mažas skaičiuojamoji dalis ja, kad tikrųjų tik rengia dalykas 235 00:11:40,960 --> 00:11:42,620 siųsti atgal į vartotojo. 236 00:11:42,620 --> 00:11:46,710 Todėl nėra, kad turi prasmę natūra? 237 00:11:46,710 --> 00:11:49,940 >> Bet kas yra tikrai pasekmes tai? 238 00:11:49,940 --> 00:11:50,660 Teisė? 239 00:11:50,660 --> 00:11:53,730 Kadangi mes parašiau kodo to daug - 240 00:11:53,730 --> 00:11:58,330 ir aš tik ketina šokti į priekį į skaidres, jei tai Gerai. 241 00:11:58,330 --> 00:12:00,930 Taigi, jei jūs neprieštaraujate, aš tiesiog ketiname žengti žingsnį atgal. 242 00:12:00,930 --> 00:12:03,410 Taigi šios rūšies dalykas yra vadinamas įvykis linijos. 243 00:12:03,410 --> 00:12:04,070 Gerai? 244 00:12:04,070 --> 00:12:07,240 Ir tai tipo pagrindinis idėja Node.js. 245 00:12:07,240 --> 00:12:11,240 >> Taigi, kas Node.js tikrai daro, web serveris yra ten vienas sriegis 246 00:12:11,240 --> 00:12:14,850 kad iš esmės vyksta aplink kilpą kaip while vienos rūšies nepakankamo 247 00:12:14,850 --> 00:12:18,510 iš Node.js dangtis tai nuolat tikrinti, ar gausime naujų dalykų? 248 00:12:18,510 --> 00:12:22,720 Ir tada jis bus rodomas tvarkytojai kad jūs sukuriate. 249 00:12:22,720 --> 00:12:26,720 Bet geras klausimas yra, kaip mes galime padaryti tai atsitiks 250 00:12:26,720 --> 00:12:28,090 su esamų dalykų? 251 00:12:28,090 --> 00:12:32,440 >> Taigi, aš įdėti C kodo eilutę, kad čia Iš esmės atrodo, kad jis manimi atidarymo 252 00:12:32,440 --> 00:12:33,060 failą, tiesa? 253 00:12:33,060 --> 00:12:36,090 Aš Ji tiesiog išėjo su albumo. 254 00:12:36,090 --> 00:12:39,600 Taigi turėjau atidaryti jai naują failą. 255 00:12:39,600 --> 00:12:43,810 Taigi, kaip mūsų C kodas veikia - 256 00:12:43,810 --> 00:12:47,890 ir aš manau, priežastis, kodėl aš pasirinkau failus buvo nes tai yra rūšies, kiek 257 00:12:47,890 --> 00:12:52,000 iš I / O darbą, kurį mes padarėme per C ta prasme, kad ten įvesties ir išvesties. 258 00:12:52,000 --> 00:12:55,070 Taigi mes vadiname šį kodą, kad tai daro f atidaryti. 259 00:12:55,070 --> 00:12:59,370 Ir tada į kitą eilutę iš mūsų programa, dabar mes galime dirbti su f. 260 00:12:59,370 --> 00:13:02,710 >> Taigi tai būtų kažkas pavyzdys tai kaip sinchroninės ar 261 00:13:02,710 --> 00:13:06,850 blokuoja, nes tą pirmą eilutę ten mes laukiame, kol mes 262 00:13:06,850 --> 00:13:08,110 gauti failą atidaryti. 263 00:13:08,110 --> 00:13:12,260 Taigi antroje eilutėje, mes žinome, kad gali dirbti su F, o tai reiškia, kad 264 00:13:12,260 --> 00:13:16,240 kad antroje eilutėje tikrai negali paleisti iki pirmos eilutės daroma. 265 00:13:16,240 --> 00:13:17,760 Ar tai prasminga? 266 00:13:17,760 --> 00:13:20,890 >> Taigi tai būtų blogas įdėti renginyje prižiūrėtojas. 267 00:13:20,890 --> 00:13:23,920 Ir dėl šios priežasties yra ta, kad tai laukia natūra, tiesa? 268 00:13:23,920 --> 00:13:26,500 Taigi tai vėl grąžina mus į tą patį. 269 00:13:26,500 --> 00:13:29,470 Ir dabar mes net nebūtų naudos iš kelių siūlų 270 00:13:29,470 --> 00:13:32,390 procesai, nes mes turime viena gija Node.js. 271 00:13:32,390 --> 00:13:35,496 Ar tai prasminga visiems? 272 00:13:35,496 --> 00:13:35,990 >> PUBLIKA: palaukti. 273 00:13:35,990 --> 00:13:36,980 Taigi, kas yra pakaitalas? 274 00:13:36,980 --> 00:13:37,840 >> KEVIN SCHMID: O, taip, taip. 275 00:13:37,840 --> 00:13:39,560 Taigi, aš ruošiuosi gauti pakeitimo. 276 00:13:39,560 --> 00:13:40,430 Gerai. 277 00:13:40,430 --> 00:13:42,960 Taigi ką daryti, jei mes turėjome kažką kad atrodė taip? 278 00:13:42,960 --> 00:13:45,730 Taigi ką daryti, jei aš dabar redaguoti f atidaryti mažai? 279 00:13:45,730 --> 00:13:48,370 Taigi, aš einančios pats du argumentai, kaip ir anksčiau. 280 00:13:48,370 --> 00:13:52,610 Aš vis dar myliu naują dainą kad ji išėjo su. 281 00:13:52,610 --> 00:13:57,260 Bet aš artimųjų Trečias dalykas, kuris yra šis kintamasis vadinamas kodas. 282 00:13:57,260 --> 00:14:02,280 >> Bet kas yra kodas iš tikrųjų šiame kontekste? 283 00:14:02,280 --> 00:14:05,360 Tai kaip įprastas C kintamojo? 284 00:14:05,360 --> 00:14:06,740 Tai funkcija, tiesa? 285 00:14:06,740 --> 00:14:09,450 Ir tai gali būti šiek tiek keista, nes Aš iš tikrųjų, kaip dabar artimųjų 286 00:14:09,450 --> 00:14:12,320 veikti į kitas pareigas. 287 00:14:12,320 --> 00:14:14,400 >> Taigi pora dalykų, kuriuos reikia atminti apie tai. 288 00:14:14,400 --> 00:14:17,145 Vienas iš jų, aš ne iš tikrųjų raginama kodas funkcija. 289 00:14:17,145 --> 00:14:20,650 Taigi jūs nematote kodą liko skliaustas, teisė skliaustas. 290 00:14:20,650 --> 00:14:23,010 Aš tiesiog einančios kodą. 291 00:14:23,010 --> 00:14:26,990 Ir C, ką tai iš tikrųjų yra duoti man žymiklį, kad tikrasis 292 00:14:26,990 --> 00:14:29,740 kodas, o tai gali paleisti jį. 293 00:14:29,740 --> 00:14:33,350 Bet tiesiog galvoti apie tai, kaip jūs išlaikęs kodui veikti, kai 294 00:14:33,350 --> 00:14:35,150 kad failas yra atidarytas. 295 00:14:35,150 --> 00:14:41,430 >> Bet ką tai reiškia, kad dabar Likusi mano programos, kuri galėtų padaryti 296 00:14:41,430 --> 00:14:47,050 kitų dalykų, gali ir toliau atlikti kitą Daiktai, o mes, tikrai ne laukti, bet 297 00:14:47,050 --> 00:14:50,890 tiesiog į mūsų galvų atgal, kad kai tas failas yra atidarytas, paleisti, kad 298 00:14:50,890 --> 00:14:52,130 kodas viršuje. 299 00:14:52,130 --> 00:14:53,390 Ar tai prasminga? 300 00:14:53,390 --> 00:14:58,060 >> Ir dabar už Node.js idėja yra ta, kad į do stuff su f kodas 301 00:14:58,060 --> 00:15:04,590 dalis turėtų būti gana trumpas ir paprastas ir paprasta, o ne tikrai 302 00:15:04,590 --> 00:15:06,160 labai reiklios kompiuterio resursams. 303 00:15:06,160 --> 00:15:09,390 Jis gali turėti atidaryti kitą failą, bet kad taip pat turėtų būti gana greitai 304 00:15:09,390 --> 00:15:14,710 nes tiesiog reikia pasakyti padaryti kitą f atidaryti ir tada skambinti šiuo kitas kodas. 305 00:15:14,710 --> 00:15:19,100 >> Taigi, tiesiog, kad būtų visiškai aišku, f atidaryti, kad Naująjį Katy Perry dainą 306 00:15:19,100 --> 00:15:23,060 padaryta mp3, kad vyksta gana daug nedelsiant grąžinti. 307 00:15:23,060 --> 00:15:27,820 Ir tada mes galime tiesiog toliau daryti kitų dalykų, nes visi, kad dabar f 308 00:15:27,820 --> 00:15:33,410 Atviras kvietimas ar yra pasakyti iš esmės pagrindinė f atviras kodas atidaryti šį failą 309 00:15:33,410 --> 00:15:36,020 ir, kai baigsite atidarymo tai failą arba kai jūs gaunate jį atgal, 310 00:15:36,020 --> 00:15:37,480 tada paleisti šį kodą. 311 00:15:37,480 --> 00:15:39,540 Bet jis nėra iš tikrųjų paleisti šį kodą. 312 00:15:39,540 --> 00:15:41,815 Ir jūs turėjote klausimą? 313 00:15:41,815 --> 00:15:46,180 >> Auditorija: Jūs atrodė reiškia mažai kartų, kad pridedant skaičiavimais 314 00:15:46,180 --> 00:15:50,545 intensyvus kodas tarsi sulaužyti [Nesigirdi] varoma sistema. 315 00:15:50,545 --> 00:15:51,795 [Nesigirdi]? 316 00:15:51,795 --> 00:15:54,450 317 00:15:54,450 --> 00:15:55,290 >> KEVIN SCHMID: Tai puikus klausimas. 318 00:15:55,290 --> 00:15:59,280 Taigi aš iš tikrųjų turi tai, kaip pavyzdį galima integruoti skaičiavimais 319 00:15:59,280 --> 00:16:01,090 intensyvus kodas trupučiu. 320 00:16:01,090 --> 00:16:03,620 Taigi, kai mes į kodo pavyzdžius, Aš būtinai traukti, kad vienas. 321 00:16:03,620 --> 00:16:04,700 Ar tai gerai? 322 00:16:04,700 --> 00:16:05,950 Ačiū. 323 00:16:05,950 --> 00:16:07,690 324 00:16:07,690 --> 00:16:08,750 >> Koks buvo jūsų vardas? 325 00:16:08,750 --> 00:16:10,620 >> PUBLIKA: Aaronas. 326 00:16:10,620 --> 00:16:14,830 >> KEVIN SCHMID: Aaronas pakelia labai gera vieta, yra tai, kad, jei aš turėjo 327 00:16:14,830 --> 00:16:18,560 kai kompiuterio resursams kodas daryti stuff su f dalimi, likusia 328 00:16:18,560 --> 00:16:22,880 mano programa negali paleisti ir negali klausytis naujų prašymų ar nieko, kol visi 329 00:16:22,880 --> 00:16:24,270 kad medžiaga yra baigtas. 330 00:16:24,270 --> 00:16:27,390 Taigi, jei aš rašau Mazgas kodą apskritai jei mes ką nors, kaip aš ruošiuosi 331 00:16:27,390 --> 00:16:33,060 pasiūlyti vėliau, kai mes žiūrime į kodo pavyzdžius, turiu būti tikras, kad 332 00:16:33,060 --> 00:16:36,060 mano kodas ne prisirišti šis renginys kilpa. 333 00:16:36,060 --> 00:16:38,120 Ar tai prasminga? 334 00:16:38,120 --> 00:16:38,350 Gerai. 335 00:16:38,350 --> 00:16:40,040 Cool. 336 00:16:40,040 --> 00:16:47,090 >> Taigi Node.js siūlo šią sistemą, Jūs galite kurti skatino šias renginį 337 00:16:47,090 --> 00:16:48,210 serveriai su. 338 00:16:48,210 --> 00:16:53,460 Taigi ji turi šias asinchroninių natūra ne blokuoti I / O bibliotekos, tuo tarpu 339 00:16:53,460 --> 00:16:56,800 standartinės C bibliotekos, kad mes buvo dirbti su, pavyzdžiui, jei jūs tiesiog 340 00:16:56,800 --> 00:16:59,500 juos naudoti tokiu pačiu būdu, kad mes naudoju juos su f atsidaro ir 341 00:16:59,500 --> 00:17:03,000 Daiktai, tie, blokuoja, nes jūs iš tikrųjų turite laukti 342 00:17:03,000 --> 00:17:04,470 kad failą atidaryti. 343 00:17:04,470 --> 00:17:09,290 >> Bet Node.js suteikia jums, kad ir jai iš esmės suriša į "Google" V8 344 00:17:09,290 --> 00:17:14,030 "JavaScript" variklis, kuris yra priežastis kad "Chrome" yra toks greitas, ne perdirbimui 345 00:17:14,030 --> 00:17:17,040 "JavaScript", nes ji turi šią V8 variklį. 346 00:17:17,040 --> 00:17:22,460 Taigi žinau, kad skamba kaip vienas iš tų WWDC kūrėjas konferencijos dalykas 347 00:17:22,460 --> 00:17:25,390 kur jie tiesiog mesti krūva laiškas numeris dalykų procesorių 348 00:17:25,390 --> 00:17:26,910 ir pasakyti, kad tai toks kietas. 349 00:17:26,910 --> 00:17:34,200 Bet tai kietas, kad jie tai padarė , nes "JavaScript" - 350 00:17:34,200 --> 00:17:37,010 arba gal jei nesate susipažinę su JavaScript nėra, nes mes neturėjome 351 00:17:37,010 --> 00:17:38,180 kad ant jo paskaitos - 352 00:17:38,180 --> 00:17:40,770 bet "JavaScript" yra aiškinama kalba. 353 00:17:40,770 --> 00:17:41,970 >> Ir tai yra svarbus klausimas, taip pat. 354 00:17:41,970 --> 00:17:45,790 Todėl svarbu, kad mūsų interneto serveriai turi būti greitai, tiesa? 355 00:17:45,790 --> 00:17:49,970 Ir jei mes buvome tik veikia JavaScript kodas buvo interpretuojamas tik 356 00:17:49,970 --> 00:17:52,130 koks senas vertėjas gali būti lėtas. 357 00:17:52,130 --> 00:17:55,980 Taigi Mazgas naudos iš turintys šį super greitai V8 vertėjas. 358 00:17:55,980 --> 00:17:59,580 Ir aš nežinau, jei jie pavadino jį nes V8 SLAP į kaktą 359 00:17:59,580 --> 00:18:01,110 dalykas, tačiau Gerai. 360 00:18:01,110 --> 00:18:07,070 >> Taigi, aš parengė keletą pavyzdžių šiuo adresu. 361 00:18:07,070 --> 00:18:10,490 Po seminaro, aš tarsi vyksta kalbėti apie tai, kaip galite gauti Mazgas rinkinys 362 00:18:10,490 --> 00:18:13,570 iki, bet dabar aš tiesiog tarsi nori eiti per kai kurias kodo pavyzdžius. 363 00:18:13,570 --> 00:18:17,250 Taigi, jei norite laikytis kartu, visi šaltinis kodas yra prieinamas čia. 364 00:18:17,250 --> 00:18:18,720 Gerai? 365 00:18:18,720 --> 00:18:22,280 >> Taigi, aš paliksiu šią nuorodą iki šiek tiek. 366 00:18:22,280 --> 00:18:24,440 Ir tada aš tik ketina pereiti į terminalą. 367 00:18:24,440 --> 00:18:29,670 368 00:18:29,670 --> 00:18:34,400 Ar visi gerai su šiuo URL? 369 00:18:34,400 --> 00:18:37,990 Taigi, aš ruošiuosi perjungti mano terminalo čia. 370 00:18:37,990 --> 00:18:42,030 >> Taigi čia yra kodas, kuris Turiu šiandien. 371 00:18:42,030 --> 00:18:43,960 Kodėl ne mes pradėti su simpler.js failą? 372 00:18:43,960 --> 00:18:49,110 373 00:18:49,110 --> 00:18:52,100 Kitas dalykas yra tai, kad visa tai kodas bus parašyta 374 00:18:52,100 --> 00:18:56,660 JavaScript kurį gali arba negali būti susipažinę su. 375 00:18:56,660 --> 00:19:00,170 Manau pora dalykų yra tai, kad daug JavaScript kodas yra natūra 376 00:19:00,170 --> 00:19:04,000 sintaksė ir struktūra yra labai panaši į C, todėl jūs galite rūšies pasiimti kaip 377 00:19:04,000 --> 00:19:05,020 jūs einate kartu. 378 00:19:05,020 --> 00:19:08,750 Bandžiau parašyti daug pradedant kodas tai taip, kad yra 379 00:19:08,750 --> 00:19:11,230 panaši į C, kad tai šiek tiek daugiau aiškumo. 380 00:19:11,230 --> 00:19:15,980 Bet kaip mes pažangą, aš būsiu parodyti kai kurie iš papildomų 381 00:19:15,980 --> 00:19:18,980 savybės JavaScript, kad yra tipo kietas. 382 00:19:18,980 --> 00:19:21,510 >> Bet pažvelkime į šio mėginio programa. 383 00:19:21,510 --> 00:19:24,820 Manau, viskas manimi nutraukė ten. 384 00:19:24,820 --> 00:19:28,500 Aš tik ketina nustatyti, kad nekilnojamojo greitai, jei tai gerai, ar ne. 385 00:19:28,500 --> 00:19:31,400 Aš nežinau, kas tai ketina daryti. 386 00:19:31,400 --> 00:19:34,660 Yra tai, kad šiek tiek geriau? 387 00:19:34,660 --> 00:19:36,510 Ar matote var ir stuff? 388 00:19:36,510 --> 00:19:39,320 Gerai. 389 00:19:39,320 --> 00:19:44,120 >> Taigi, pirmoji eilutė yra tarsi JavaScript versija kintamojo 390 00:19:44,120 --> 00:19:44,800 deklaracija. 391 00:19:44,800 --> 00:19:49,870 Taigi tik pabrėžti, kas tai būtų atrodys C. Taigi, tai tik kaip 392 00:19:49,870 --> 00:19:52,620 man sakydamas indeksas yra lygus trijų ar kažkas panašaus. 393 00:19:52,620 --> 00:19:55,740 Taigi aš nenurodė tipą. 394 00:19:55,740 --> 00:20:00,780 "JavaScript" tikrai turi tipus, bet tai labai dinamiškai įvedėte pobūdžio, todėl 395 00:20:00,780 --> 00:20:02,580 nepateikė jokių tipo rūšies į jį. 396 00:20:02,580 --> 00:20:03,670 Taigi, jis tiesiog turi var. 397 00:20:03,670 --> 00:20:05,320 Štai kaip kintamąjį. 398 00:20:05,320 --> 00:20:05,920 Gerai? 399 00:20:05,920 --> 00:20:08,340 >> Ir aš telefonu šį kintamąjį HTTP. 400 00:20:08,340 --> 00:20:12,480 Ir mano dešinėje, aš turiu išraiška, aš noriu įdėti HTTP. 401 00:20:12,480 --> 00:20:14,960 Ir tai sako reikalauti HTTP. 402 00:20:14,960 --> 00:20:18,500 Taigi tai yra rūšies panašus įtraukti. 403 00:20:18,500 --> 00:20:22,940 Tai šiek tiek daugiau kaip galingesnis nei yra ta prasme, kad apima 404 00:20:22,940 --> 00:20:26,100 tiesiog nukopijuokite ir įklijuokite antraštę failą funkcinių prototipų arba 405 00:20:26,100 --> 00:20:27,930 ką su tipo apibrėžimų. 406 00:20:27,930 --> 00:20:30,590 Tačiau reikalauja iš tikrųjų vyksta gauti mums kodą. 407 00:20:30,590 --> 00:20:33,280 >> Taigi, jūs galite galvoti apie tai, kaip importuoti tam tikrą kodą. 408 00:20:33,280 --> 00:20:37,960 Taigi kažkur Node.js modulio sistema ar kas, jie visa tai 409 00:20:37,960 --> 00:20:40,790 HTTP serveris kodas todėl aš tiesiog žavingas jį mano 410 00:20:40,790 --> 00:20:43,130 asmeninio naudojimo šioje programoje. 411 00:20:43,130 --> 00:20:44,260 Gerai? 412 00:20:44,260 --> 00:20:46,930 >> Taigi aš turiu šią funkciją kad aš parašiau. 413 00:20:46,930 --> 00:20:50,330 Ir pranešimas aš neturėjau nurodyti grįžimo tipo ar tipas 414 00:20:50,330 --> 00:20:51,140 argumentai dar kartą. 415 00:20:51,140 --> 00:20:54,440 Taigi rūšies laisvas įvestas kad prasmės natūra. 416 00:20:54,440 --> 00:20:57,290 Du argumentai, kad ji imasi, prašymas ir atsakymas. 417 00:20:57,290 --> 00:21:02,080 Štai konceptualiai lyg susipažinęs iš paveikslėlio kad mes turėjome 418 00:21:02,080 --> 00:21:05,280 ekrane prieš, nes mes šį prašymą, kad mes 419 00:21:05,280 --> 00:21:06,410 turi iš vartotojo. 420 00:21:06,410 --> 00:21:09,170 Ir tada mes turime imtis veiksmų, kad galime rašyti dalykus. 421 00:21:09,170 --> 00:21:15,060 >> Taigi, pirmoji eilutė tai daro res.writeHead 200 ir tai 422 00:21:15,060 --> 00:21:17,070 Turinio tipas tekstas paprastas. 423 00:21:17,070 --> 00:21:19,300 Taigi leiskite gabalas tai be mažai. 424 00:21:19,300 --> 00:21:22,340 Taigi galime tik sutelkti dėmesį į res.write šiek tiek. 425 00:21:22,340 --> 00:21:28,420 Taigi rašyti iš esmės, ir rašymo galvutės, yra tik būdų, kaip rūšiuoti surašyti 426 00:21:28,420 --> 00:21:29,960 viskas į atsaką. 427 00:21:29,960 --> 00:21:30,770 Gerai? 428 00:21:30,770 --> 00:21:36,230 Taigi rašyti galvą, jei kas prisimena iš HTTP paskaitoje jūs vaikinai 429 00:21:36,230 --> 00:21:39,940 prisiminti antraštes ne viršuje HTTP dalykas? 430 00:21:39,940 --> 00:21:43,580 Tad kodėl gi ne aš tiesiog demo antraštes nekilnojamojo greitai. 431 00:21:43,580 --> 00:21:44,640 Ar tai naudinga? 432 00:21:44,640 --> 00:21:45,500 Arba mes turėtume tiesiog tarsi - 433 00:21:45,500 --> 00:21:46,070 Gerai. 434 00:21:46,070 --> 00:21:46,740 Tikrai. 435 00:21:46,740 --> 00:21:52,340 >> Taigi, jei jūsų naršyklė eina į google.com ar kažkas panašaus, 436 00:21:52,340 --> 00:21:54,250 ten tikrai šiek tiek daugiau - 437 00:21:54,250 --> 00:21:55,380 tai kaip paslaptis - 438 00:21:55,380 --> 00:21:58,340 ten lyg šiek tiek daugiau informacijos , kuris ateina per vamzdį ne tik 439 00:21:58,340 --> 00:22:00,180 tiek paieškos ir viskas. 440 00:22:00,180 --> 00:22:03,550 Taigi, norint parodyti jums tai, aš ruošiuosi naudoti programą "Curl. 441 00:22:03,550 --> 00:22:04,260 Gerai? 442 00:22:04,260 --> 00:22:08,020 Taigi, tai yra kažkas, kad jūs galite paleisti Mac OSX komandinės eilutės arba 443 00:22:08,020 --> 00:22:09,830 prietaisą ar whatever. 444 00:22:09,830 --> 00:22:17,050 Ir jeigu aš Curl HTTP google.com, Aš ruošiuosi pamatyti HTML. 445 00:22:17,050 --> 00:22:21,230 Ir tai, tiesą sakant, tik HTML, kad tarsi pasakys 446 00:22:21,230 --> 00:22:24,695 nukreipti į www jei naršyklė nėra automatiškai tvarkyti 447 00:22:24,695 --> 00:22:27,110 peradresavimas. 448 00:22:27,110 --> 00:22:33,390 >> Taigi tai yra tik HTML, bet aš ruošiuosi įtraukti į Curl šį brūkšnelį aš vėliava. 449 00:22:33,390 --> 00:22:33,600 Gerai? 450 00:22:33,600 --> 00:22:35,600 Ir tai ketina parodyti man antraštes. 451 00:22:35,600 --> 00:22:40,640 Taigi tai taip pat informaciją, kuri ateina per kai gausiu šį atsakymą. 452 00:22:40,640 --> 00:22:41,260 Gerai? 453 00:22:41,260 --> 00:22:45,320 >> Taigi viršuje matote šį HTTP 301 visam laikui. 454 00:22:45,320 --> 00:22:49,470 Ir tai yra rūšies svarbu, nes tai reiškia būsenos kodą. 455 00:22:49,470 --> 00:22:53,750 Taigi 301 čia padėtis kodas, kuris iš esmės yra tik sveikasis skaičius 456 00:22:53,750 --> 00:22:57,750 kad naršyklei ar kas manimi skaityti tai, jei jūs apsimesti, kad 457 00:22:57,750 --> 00:23:01,460 jūs naršyklė ir matote šį, iš esmės dabar jei peržvelgsite 458 00:23:01,460 --> 00:23:04,960 kad ir pamatysite 301, žinote, turiu daryti kažką ypatingo remiantis 459 00:23:04,960 --> 00:23:08,810 301, ar kažkas ypatingo atsitiko remiantis 301. 460 00:23:08,810 --> 00:23:12,640 Taigi jis sako persikėlė visam laikui. 461 00:23:12,640 --> 00:23:17,700 >> Ir tada, iš esmės, mes turime pagrindinių vertės porų krūva. 462 00:23:17,700 --> 00:23:22,100 Taigi, mes turime vietą yra www.google.com. 463 00:23:22,100 --> 00:23:25,190 Ir tada tipo visa tai kitų dalykų, bet iš esmės, kas vieta 464 00:23:25,190 --> 00:23:29,662 posakis yra nauja vieta yra šiuo adresu: www.google.com. 465 00:23:29,662 --> 00:23:33,800 Taigi dabar, jei jūs einate į google.com, jums rūšiuoti pamatyti naršyklės rūšies akimirksniu 466 00:23:33,800 --> 00:23:38,770 už antrą ir tada nukreipti atgal į www.google.com. 467 00:23:38,770 --> 00:23:41,840 Taigi atsakymai gali būti šie pavadinimai. 468 00:23:41,840 --> 00:23:43,330 >> Ir pora dalykų atkreipti dėmesį. 469 00:23:43,330 --> 00:23:46,890 Taigi galime sakyti, kad mes iš tikrųjų buvo sėkmingas aplankyti tinklalapį. 470 00:23:46,890 --> 00:23:49,040 Taigi leiskite man eiti - 471 00:23:49,040 --> 00:23:51,080 kas gera svetainė? 472 00:23:51,080 --> 00:23:53,285 Aš neblogai mąstymo geras svetainės vietoje. 473 00:23:53,285 --> 00:23:53,640 >> PUBLIKA: Wikipedia. 474 00:23:53,640 --> 00:23:54,160 >> KEVIN SCHMID: Gerai. 475 00:23:54,160 --> 00:23:56,040 Darom Wikipedia. 476 00:23:56,040 --> 00:23:58,680 Taigi čia aš persikėlė. 477 00:23:58,680 --> 00:23:59,240 O laukti. 478 00:23:59,240 --> 00:24:00,160 Aš buvau? 479 00:24:00,160 --> 00:24:00,890 Taip, aš buvau. 480 00:24:00,890 --> 00:24:01,100 Gerai. 481 00:24:01,100 --> 00:24:03,005 Taigi aš turiu daryti www. 482 00:24:03,005 --> 00:24:06,006 Taigi, aš ruošiuosi daryti www. 483 00:24:06,006 --> 00:24:09,680 Ir, kaip matote, čia viskas HTML kad naršyklė būtų apdoroti 484 00:24:09,680 --> 00:24:10,910 "Wikipedia. 485 00:24:10,910 --> 00:24:14,055 >> Bet jei aš judame čia, ką matote viršuje - 486 00:24:14,055 --> 00:24:17,800 Oho, ten yra daug HTML Vikipedijoje - 487 00:24:17,800 --> 00:24:22,550 tačiau tai, ką matau, viršuje čia šis 200 kodas statuso kitaip nei 488 00:24:22,550 --> 00:24:24,570 301, kad aš mačiau anksčiau. 489 00:24:24,570 --> 00:24:27,100 Ir pastebėsite, kad jis yra gražus draugiškas Gerai šalia jos. 490 00:24:27,100 --> 00:24:29,470 Taigi tai yra kaip geros būsenos kodą. 491 00:24:29,470 --> 00:24:31,160 >> Ar tai 200 numeris atrodo pažįstamas? 492 00:24:31,160 --> 00:24:34,120 493 00:24:34,120 --> 00:24:39,880 Taip, nes kai aš simpler.js, Aš parašiau 200 ten. 494 00:24:39,880 --> 00:24:43,290 Taigi tai iš esmės sakydamas pasakyti naršyklė ar kas bando gauti 495 00:24:43,290 --> 00:24:45,440 tai, kad jie buvo sėkmingi. 496 00:24:45,440 --> 00:24:49,040 Arba, kad kaip mes natūra buvo sėkmingai per. 497 00:24:49,040 --> 00:24:54,320 >> Ir dar šis specialią sintaksę natūra Javascript deklaravimo 498 00:24:54,320 --> 00:24:59,870 žemėlapis iš šių mygtukų, pavyzdžiui, turinio tipą ir šie kaip teksto lygumoje vertės. 499 00:24:59,870 --> 00:25:03,780 Taigi, jei jums pažvelgti į atsaką, kad mes grįžo iš Vikipedijos, prieš - 500 00:25:03,780 --> 00:25:06,200 Aš ruošiuosi pabandyti pereiti iki šiek tiek greičiau - 501 00:25:06,200 --> 00:25:09,900 jūs turite šiuos raktus, pavyzdžiui, serverio ir šie dydžiai Apache. 502 00:25:09,900 --> 00:25:12,120 Taigi, jūs turite raktus ir reikšmes. 503 00:25:12,120 --> 00:25:15,930 Ir jūs galite tai nurodyti Mazgas, ką siųsti atgal. 504 00:25:15,930 --> 00:25:19,380 >> Taigi, iš tikrųjų tai yra natūra, kai būdų, ir tam tikrais būdais, tai ne 505 00:25:19,380 --> 00:25:23,170 tikrai, bet tai šiek tiek žemesnio lygio nei PHP kodo, kad jums gali būti 506 00:25:23,170 --> 00:25:26,980 raštu P septynis nes PHP Apache tarsi rūpintis kai 507 00:25:26,980 --> 00:25:28,150 šių dalykų už jus. 508 00:25:28,150 --> 00:25:32,520 PHP programavimo kalba, galite pakeisti numatytuosius elgesys rašyti savo antraštes. 509 00:25:32,520 --> 00:25:35,520 Tačiau šio tikslais, mes parašyti iš mūsų pačių antraštes. 510 00:25:35,520 --> 00:25:38,210 511 00:25:38,210 --> 00:25:41,105 >> Taigi ar tai linija prasmės visi, rašymo galvutės linija? 512 00:25:41,105 --> 00:25:41,380 Gerai. 513 00:25:41,380 --> 00:25:42,280 Nuostabus. 514 00:25:42,280 --> 00:25:45,870 >> Taigi, ką aš padaryti, tai aš galų atsakymą sakydamas hello world. 515 00:25:45,870 --> 00:25:47,040 Gerai. 516 00:25:47,040 --> 00:25:49,920 Bet tai tik funkcija vadinamas prašymų tvarkytoju. 517 00:25:49,920 --> 00:25:53,510 Taigi, dabar aš iš tikrųjų turi natūra padaryti kažkas su šia funkcija, tiesa? 518 00:25:53,510 --> 00:25:59,170 >> Taigi čia, ką aš padaryti, tai ten yra šis linija, kuri daro var serverio lygu 519 00:25:59,170 --> 00:26:03,530 HTTP.create serverį, ir tada aš praeiti prašymo nagrinėjimą. 520 00:26:03,530 --> 00:26:06,080 Taigi tai yra tipo mazgas būdas sukurti serverį. 521 00:26:06,080 --> 00:26:08,790 Ir pastebėsite, kad aš artimųjų prašyme prižiūrėtojas. 522 00:26:08,790 --> 00:26:12,290 Taigi tai pasakoja createServer funkcija, kad aš noriu, kad man 523 00:26:12,290 --> 00:26:16,270 serverio, o kai šis serveris gauna atsakas, man reikia tai vadiname 524 00:26:16,270 --> 00:26:18,680 prašyti funkcija rankenos. 525 00:26:18,680 --> 00:26:18,990 Gerai? 526 00:26:18,990 --> 00:26:22,290 >> Taigi, kad linija gana daug baigiasi iš karto. 527 00:26:22,290 --> 00:26:28,780 Taigi var serverio linija padaryta teisė po to, kai tai padaryti gana daug. 528 00:26:28,780 --> 00:26:31,770 Aš turiu galvoje, jis turi parengti kai vidaus valstybė žinoti, kad jūs turite 529 00:26:31,770 --> 00:26:35,400 skambinti, kad prašymas prižiūrėtojas funkciją, tačiau jis nesiruošia sėdėti ten ir 530 00:26:35,400 --> 00:26:37,730 tarkim turi vartotojui siunčiama man prašymas dar? 531 00:26:37,730 --> 00:26:39,270 Ar vartotojas atsiuntė man prašymą dar? 532 00:26:39,270 --> 00:26:40,780 Taigi jis neblokuoja. 533 00:26:40,780 --> 00:26:41,650 Gerai? 534 00:26:41,650 --> 00:26:46,120 >> Taigi, kas tai darys tai iš esmės dabar saugo rodyklė į šio kodekso, 535 00:26:46,120 --> 00:26:49,670 šis prašymas prižiūrėtojas funkcija, ir tada bus paleisti šį kodą, kai kas nors 536 00:26:49,670 --> 00:26:52,170 pateikia prašymą. 537 00:26:52,170 --> 00:26:54,120 Ir tada mes server.listen. 538 00:26:54,120 --> 00:26:56,950 539 00:26:56,950 --> 00:26:59,960 >> 1337 yra gana savavališkas. 540 00:26:59,960 --> 00:27:02,285 Aš neturėjo ypatingos priežasties skinti ta, skaičių. 541 00:27:02,285 --> 00:27:03,860 Tai buvo visiškai atsitiktinai. 542 00:27:03,860 --> 00:27:07,010 Bet tai tik nurodo uostą. 543 00:27:07,010 --> 00:27:10,640 Taigi, dauguma interneto serverių pamatysite, kad jie naudoti uosto 80, nes tai tipo 544 00:27:10,640 --> 00:27:11,810 panašaus konvencijos. 545 00:27:11,810 --> 00:27:16,170 Taigi, jei aš einu į kažką panašaus, Aš nežinau, Wikipedia.org, 546 00:27:16,170 --> 00:27:17,700 ir aš įdėti dvitaškis 8 - 547 00:27:17,700 --> 00:27:18,610 Oh wow, jūs negalite matyti. 548 00:27:18,610 --> 00:27:19,370 Aš atsiprašau. 549 00:27:19,370 --> 00:27:21,820 Bet jei aš Wikipedia - 550 00:27:21,820 --> 00:27:24,810 Aš parašiau jį čia tik todėl, kad tai aišku, fotoaparatą. 551 00:27:24,810 --> 00:27:29,150 Bet jei aš į naršyklę į tai Dvitaškis 80, kuris nurodo eiti į 552 00:27:29,150 --> 00:27:31,430 Wikipedia.org uoste 80. 553 00:27:31,430 --> 00:27:36,200 Taigi, tai, pavyzdžiui, kaip Jungtinės Valstijos turi Daug uostų, pavyzdžiui, kur galima vežti 554 00:27:36,200 --> 00:27:37,440 viskas iki rūšies. 555 00:27:37,440 --> 00:27:40,730 Taigi, tai kaip eiti į tai ypač vieta šiame serveryje. 556 00:27:40,730 --> 00:27:40,990 Gerai. 557 00:27:40,990 --> 00:27:45,730 >> Taigi aš tiesiog pasirinko 1337. 558 00:27:45,730 --> 00:27:47,910 Yra daugybė skaičių kad jūs galite pasirinkti. 559 00:27:47,910 --> 00:27:50,390 Tai buvo ne visiškai ypatinga. 560 00:27:50,390 --> 00:27:54,560 >> Bet ką aš ruošiuosi daryti dabar yra aš ruošiuosi paleisti mazgas. 561 00:27:54,560 --> 00:27:59,730 Leiskite man iš tikrųjų įvesti, kad pora linijos žemyn taip, kad jūs galite matyti jį. 562 00:27:59,730 --> 00:28:03,130 Aš ruošiuosi padaryti mazgas, ir aš ketina paleisti simpler.js. 563 00:28:03,130 --> 00:28:06,880 Ir mes kalbame apie tai, kaip gauti Mazgas įsteigtas truputį. 564 00:28:06,880 --> 00:28:09,350 Bet dabar tai tik paleisti serverį. 565 00:28:09,350 --> 00:28:14,360 >> Taigi vienas dalykas, mes galime pabandyti, kuri negali būti, kad įdomu, tai mes iš tiesų gali 566 00:28:14,360 --> 00:28:16,300 pabandykite pasiekti jį Curl. 567 00:28:16,300 --> 00:28:20,680 Taigi aš galiu padaryti, Curl, ir mano mašina yra vietinio kompiuterio. 568 00:28:20,680 --> 00:28:24,600 Taip pat matysite tai parašyta kaip tai kartais. 569 00:28:24,600 --> 00:28:29,810 Vietinio kompiuterio ir 127.0.0.1 yra natūra panašaus savo namų kompiuterį. 570 00:28:29,810 --> 00:28:33,180 Taigi, tai lyg kalbėtis su savo kompiuterio. 571 00:28:33,180 --> 00:28:33,760 Gerai. 572 00:28:33,760 --> 00:28:36,030 >> Ir tada galiu pasakyti, 1337. 573 00:28:36,030 --> 00:28:39,630 Taigi, jei aš paleisti šią kodo eilutę, ji sako hello world. 574 00:28:39,630 --> 00:28:44,050 Ir jei aš norėjau matyti, kad stuff, kad turėjo Turinio tipas tekstas paprastas arba 575 00:28:44,050 --> 00:28:46,560 kas, galėčiau net įdėti šią nuorodą čia. 576 00:28:46,560 --> 00:28:48,810 Ir pastebėsite, kad ji sako, Gerai. 577 00:28:48,810 --> 00:28:50,810 Ir aš turiu teksto lyguma. 578 00:28:50,810 --> 00:28:53,140 Ir ten tipo visa tai kita stuff, kad Mazgas bus įtraukti į 579 00:28:53,140 --> 00:28:54,440 ten man. 580 00:28:54,440 --> 00:28:55,700 Tai nėra itin svarbus. 581 00:28:55,700 --> 00:28:58,230 >> Aš turiu galvoje, yra keletas techninių natūra AT aspektų, kurie yra natūra 582 00:28:58,230 --> 00:29:02,280 cool kalbėti, bet tiesiog parodyti jūs, aš taip pat turi teisę 583 00:29:02,280 --> 00:29:03,070 pakeisti šių aplink. 584 00:29:03,070 --> 00:29:06,280 Taigi, galiu tik pridėti krūva stuff like that. 585 00:29:06,280 --> 00:29:11,780 Ir tai dabar, jei aš ieškoti mano produkcija, tai bus kad. 586 00:29:11,780 --> 00:29:19,740 Taigi šios antraštės reiškia tam tikrus dalykus naršyklėse ir panašių dalykų. 587 00:29:19,740 --> 00:29:23,040 >> Ir antraštes iš esmės gali pasakyti naršyklę kaip reaguoti į kažką. 588 00:29:23,040 --> 00:29:26,280 Jeigu jūs kada nors girdėjote apie slapukus ir anksčiau, arba, jei jūs kada nors buvo Sapīcis 589 00:29:26,280 --> 00:29:29,330 per tinklalapį, kuriame slapukus arba įjungtas slapukų bloko ar 590 00:29:29,330 --> 00:29:30,320 kažkas panašaus. 591 00:29:30,320 --> 00:29:33,040 Jūs iš tikrųjų galite nustatyti slapukus Šiose antraštėse. 592 00:29:33,040 --> 00:29:36,990 Taigi jie pasakys naršyklę kaip elgesys kai kuriais atvejais. 593 00:29:36,990 --> 00:29:37,750 Gerai. 594 00:29:37,750 --> 00:29:40,310 >> Taigi, tai buvo simpler.js. 595 00:29:40,310 --> 00:29:42,780 Ar kas nors turi kokių nors klausimų, tą kodo failą? 596 00:29:42,780 --> 00:29:45,420 597 00:29:45,420 --> 00:29:45,610 Gerai. 598 00:29:45,610 --> 00:29:46,490 Cool. 599 00:29:46,490 --> 00:29:50,780 >> Taigi galime pašalinti r nuo ir pažvelgti simple.js. 600 00:29:50,780 --> 00:29:53,010 Taigi, tai yra gana daug ta pati programa. 601 00:29:53,010 --> 00:29:56,030 Aš tiesiog parašiau šiek tiek kitaip nes norėjau rūšiuoti kaip išryškinti 602 00:29:56,030 --> 00:29:57,850 kai JavaScript funkcijų. 603 00:29:57,850 --> 00:30:03,880 >> Taigi pastebime, kad prašymas prižiūrėtojas funkcija visiškai išnyko. 604 00:30:03,880 --> 00:30:05,800 O yep, ar turite klausimų? 605 00:30:05,800 --> 00:30:08,200 >> Auditorija: Taip, argumentai kad perduodamos kad 606 00:30:08,200 --> 00:30:10,120 funkcija, kas jie? 607 00:30:10,120 --> 00:30:12,050 >> KEVIN SCHMID: Taigi tie, kurie JavaScript objektai. 608 00:30:12,050 --> 00:30:15,230 Į Node.js dokumentų, jis iš esmės sako, kokie metodai yra 609 00:30:15,230 --> 00:30:15,910 galima ant jų. 610 00:30:15,910 --> 00:30:19,602 Mes tiesiog atsitikti, kad prieiga prie šis metodas vadinamas rašymo galvutės ir pabaiga 611 00:30:19,602 --> 00:30:20,730 ir stuff like that. 612 00:30:20,730 --> 00:30:22,590 Bet yra visa krūva daugiau metodų. 613 00:30:22,590 --> 00:30:27,670 >> Ir, pavyzdžiui, kaip vienas iš jų ypač rec, tai galite padaryti 614 00:30:27,670 --> 00:30:34,540 kažkas panašaus rec.method kuris bus pasakyti, ar tai HTTP GET arba 615 00:30:34,540 --> 00:30:36,780 HTTP POST užklausų ir dalykų, pavyzdžiui, kad. 616 00:30:36,780 --> 00:30:39,100 Taigi, čia yra visi skirtingų rūšių savybės, bet jie abu 617 00:30:39,100 --> 00:30:42,560 JavaScript objektai, ir jie tiesiog turi funkcijos susietos su jais, kad jums 618 00:30:42,560 --> 00:30:43,850 galite parašyti ką. 619 00:30:43,850 --> 00:30:45,520 Gerai? 620 00:30:45,520 --> 00:30:49,030 >> Taigi pastebėti, kad prašymą prižiūrėtojas yra visiškai dingo. 621 00:30:49,030 --> 00:30:52,650 Bet kodas, kad aš prašyme prižiūrėtojas vis dar egzistuoja. 622 00:30:52,650 --> 00:30:56,520 Aš vis dar turiu šį res.writeHead ir aš vis dar turite šią res.end. 623 00:30:56,520 --> 00:31:00,270 O kas tai yra iš visų pavyzdys JavaScript šis idėja 624 00:31:00,270 --> 00:31:01,460 anoniminis funkcija. 625 00:31:01,460 --> 00:31:04,180 ir anonimiška yra tarsi montavimo vardą už jį, nes jis tiesiog nėra 626 00:31:04,180 --> 00:31:05,180 turėti pavadinimą. 627 00:31:05,180 --> 00:31:07,900 Nėra funkcija prašymas prižiūrėtojas ten. 628 00:31:07,900 --> 00:31:10,110 >> Neturi pavadinimo, tačiau jis vis dar yra atsižvelgiant argumentas. 629 00:31:10,110 --> 00:31:12,250 Taigi, aš vis dar turiu rec ir res. 630 00:31:12,250 --> 00:31:16,180 Ir aš vis dar turiu kodą. 631 00:31:16,180 --> 00:31:18,930 Tai puikiai baudą JavaScript kodas. 632 00:31:18,930 --> 00:31:22,540 Taigi aš galiu deklaruoti funkciją be aiškiai suteikiant jam pavadinimą. 633 00:31:22,540 --> 00:31:24,250 Tai šiek tiek klaidina ne pirmas. 634 00:31:24,250 --> 00:31:26,230 Yra keletas, pavyzdžiui, naudingų dalykų kad jūs galite padaryti su 635 00:31:26,230 --> 00:31:28,450 šios anoniminės funkcijos. 636 00:31:28,450 --> 00:31:32,100 Ar kas nors turi kokių nors klausimų apie tai, ar tai gerai tik, dabar, 637 00:31:32,100 --> 00:31:34,130 tarsi tik pripažinti, kad ji bus daryti tą patį? 638 00:31:34,130 --> 00:31:36,700 639 00:31:36,700 --> 00:31:37,125 Taip? 640 00:31:37,125 --> 00:31:38,680 >> Auditorija: Ar veikia pirmoji klasė JavaScript? 641 00:31:38,680 --> 00:31:41,020 >> KEVIN SCHMID: Pirmiausia jie yra klasė JavaScript. 642 00:31:41,020 --> 00:31:45,490 Ir tiesiog žinau, kad šios sąvokos artimųjų anonimiškai funkcijas kaip 643 00:31:45,490 --> 00:31:49,600 tai taikoma JavaScript, kad jūs gali parašyti savo galutinį projektą 644 00:31:49,600 --> 00:31:51,260 interneto naršyklė taip pat. 645 00:31:51,260 --> 00:31:56,700 Taigi, pavyzdžiui, į "JavaScript" Jūsų naršyklė, jis taip pat šiek tiek renginys 646 00:31:56,700 --> 00:32:00,680 varoma ta prasme, kad tai, ką jūs turėti kai vartotojas paspaudžia šį 647 00:32:00,680 --> 00:32:02,640 mygtuką, aš noriu paleisti šį kodą. 648 00:32:02,640 --> 00:32:07,070 >> Taigi, tai tos pačios rūšies idėjų kliento pusėje, kai pelės paspaudimu arba jie 649 00:32:07,070 --> 00:32:09,870 pele per tam tikrą įvaizdį apie savo interneto puslapį, paleisti šį kodą. 650 00:32:09,870 --> 00:32:11,350 Tai gali būti taikoma serverių. 651 00:32:11,350 --> 00:32:16,380 Štai lyg įdomus Priežastis, kodėl "JavaScript" yra tikrai 652 00:32:16,380 --> 00:32:19,810 vienas arba kai kurie žmonės mano, kad tai tinka kalba šios rūšies 653 00:32:19,810 --> 00:32:22,530 Renginys vairuotojas serverį, nes jūs turite šios anoniminės funkcijos. 654 00:32:22,530 --> 00:32:26,150 Turite idėja tai asinchroninis kodas. 655 00:32:26,150 --> 00:32:27,060 Gerai. 656 00:32:27,060 --> 00:32:30,360 Kas nors turi kokių nors klausimų? 657 00:32:30,360 --> 00:32:30,470 >> Gerai. 658 00:32:30,470 --> 00:32:33,440 Taigi, tai buvo simple.js. 659 00:32:33,440 --> 00:32:38,070 Taigi pažvelkime į dar vieną ar pora daugiau. 660 00:32:38,070 --> 00:32:42,040 Taigi tai yra sleep.js. 661 00:32:42,040 --> 00:32:47,160 Taigi yra kas nors susipažinę su C funkcija miego? 662 00:32:47,160 --> 00:32:50,936 Nuo Gal iš ankstesnių paskaitų ar kažkas panašaus? 663 00:32:50,936 --> 00:32:54,650 >> Taigi iš esmės jūs galite praeiti manau skaičius sekundžių arba jei jūs naudojate U 664 00:32:54,650 --> 00:32:57,080 miegoti milisekundžių skaičių arba nanosekundžių. 665 00:32:57,080 --> 00:33:00,450 Ir iš esmės programa tiesiog sustabdyti veikia tam tikrą sumą. 666 00:33:00,450 --> 00:33:01,280 Teisė? 667 00:33:01,280 --> 00:33:06,970 Ir tada jis bus pabusti galiausiai ir tada jis bus tiesiog toliau veikia 668 00:33:06,970 --> 00:33:08,340 programa. 669 00:33:08,340 --> 00:33:12,740 >> Taigi šis serveris tarsi suteikia miega įspūdį. 670 00:33:12,740 --> 00:33:17,580 Taigi pastebime, kad mes turime tą patį res.writeHead 200 su galva kaip 671 00:33:17,580 --> 00:33:22,130 anksčiau, bet tada mes skambina tai funkcija vadinama nustatyti skirtojo laiko. 672 00:33:22,130 --> 00:33:26,170 Nustatyti skirtojo laiko taip pat yra Jūsų interneto naršyklė "Google Chrome" 673 00:33:26,170 --> 00:33:28,000 ar "Safari" ar whatever. 674 00:33:28,000 --> 00:33:31,720 Ir iš esmės tai, ką jis daro čia jis manimi atsižvelgiant į funkciją. 675 00:33:31,720 --> 00:33:33,360 Pastebėkite, vėl, tai anoniminis funkcija. 676 00:33:33,360 --> 00:33:36,310 Taigi, tai tipo kietas, nes mes naudojant anoniminę funkciją 677 00:33:36,310 --> 00:33:38,950 anoniminis funkcija, kuri gali būti šiek tiek keista. 678 00:33:38,950 --> 00:33:42,270 >> Bet tai atsižvelgiant, kad funkcija, kuri yra iš esmės sako - ir būdas tai 679 00:33:42,270 --> 00:33:47,430 darbai yra 5000 milisekundžių, aš noriu jums vykdyti šią funkciją, 680 00:33:47,430 --> 00:33:50,830 tiesiog baigiasi atsakas ir rašo ei. 681 00:33:50,830 --> 00:33:56,730 Taigi tai suteikia įspūdį lyg miega, bet būdas tai iš tikrųjų 682 00:33:56,730 --> 00:33:59,780 veikia tai mes paleisti per ši linija labai greitai. 683 00:33:59,780 --> 00:34:01,190 Mes tik rašyti kažką. 684 00:34:01,190 --> 00:34:03,780 Ir tada mes taip pat eina per ši linija labai greitai. 685 00:34:03,780 --> 00:34:08,620 Taigi mes ne iš tikrųjų vyksta palaukti penkias sekundes. 686 00:34:08,620 --> 00:34:11,370 Mes tiesiog ketinate paleisti šis kodas akimirksniu. 687 00:34:11,370 --> 00:34:14,219 >> Ir tada ten vėl yra, tai tiek Renginys kilpa, kad dabar yra tai, ką 688 00:34:14,219 --> 00:34:17,570 registrai, kurie iš esmės yra tik nuolat vyksta aplink ratu 689 00:34:17,570 --> 00:34:21,620 ir žiūri į vieną parą siūlai ir sakoma, turi penkias sekundes 690 00:34:21,620 --> 00:34:22,360 praėjo dar? 691 00:34:22,360 --> 00:34:26,409 Ir tada, kai jis mato, kad antrasis rankų perėjo kaip penkias sekundes ar 692 00:34:26,409 --> 00:34:29,190 kas, tada jis atsibunda ir sako: oi, ką aš turiu daryti? 693 00:34:29,190 --> 00:34:30,350 O aš turiu paleisti šį kodą. 694 00:34:30,350 --> 00:34:33,110 Ir tada jis ketina paleisti res.end ei. 695 00:34:33,110 --> 00:34:35,360 >> Taigi dar kartą, mes niekada laukia čia. 696 00:34:35,360 --> 00:34:38,590 Taigi, tai nereiškia, kad šis kodas viduje ši funkcija truks penkias 697 00:34:38,590 --> 00:34:39,900 sekundžių paleisti. 698 00:34:39,900 --> 00:34:43,090 Šis kodas bus paleisti gana daug akimirksniu, bent jau lyginant su 699 00:34:43,090 --> 00:34:46,139 penkių sekundžių, kad mes kalbame apie anksčiau anksčiau. 700 00:34:46,139 --> 00:34:52,100 >> Taigi tiesiog rodo, kad tai veiksmų, Galiu padaryti Node.sleep.js. 701 00:34:52,100 --> 00:34:55,159 Ir aš bałagan kažką? 702 00:34:55,159 --> 00:34:56,310 Galbūt. 703 00:34:56,310 --> 00:34:57,410 Atsiprašau. 704 00:34:57,410 --> 00:34:59,530 Pažiūrėkime, ką mes galime padaryti, kad išspręsti šią problemą. 705 00:34:59,530 --> 00:35:10,830 706 00:35:10,830 --> 00:35:12,080 Gerai. 707 00:35:12,080 --> 00:35:15,460 708 00:35:15,460 --> 00:35:17,464 Taigi tikrai pravers Node.js. 709 00:35:17,464 --> 00:35:19,440 Aš tik juokauju. 710 00:35:19,440 --> 00:35:19,570 Gerai. 711 00:35:19,570 --> 00:35:20,820 Tik vienas sek. 712 00:35:20,820 --> 00:35:27,380 713 00:35:27,380 --> 00:35:27,900 Gerai. 714 00:35:27,900 --> 00:35:29,130 Aš žinau, kas tai yra. 715 00:35:29,130 --> 00:35:34,440 >> Taigi klausimas yra tai, kad mano kiti skirtuką čia buvau veikia mazgas jau 716 00:35:34,440 --> 00:35:36,590 tas pats adresas, 1337. 717 00:35:36,590 --> 00:35:43,370 Taigi klaida, kad tai retai, jei pažvelgtume į jį nekilnojamojo atidžiai, yra adresas 718 00:35:43,370 --> 00:35:45,180 naudoti, EADDRINUSE. 719 00:35:45,180 --> 00:35:47,970 Taigi, aš jau naudojau 1337 čia. 720 00:35:47,970 --> 00:35:52,210 Taigi, jei aš išjungti šią funkciją, ir tada aš dabar pabandykite paleisti tai, tikiuosi, viskas 721 00:35:52,210 --> 00:35:53,210 bus gerai. 722 00:35:53,210 --> 00:35:53,440 Gerai. 723 00:35:53,440 --> 00:35:57,020 Taigi, jūs galite turėti tik vienas dalykas rūšiuoti klausytis dėl uosto iškart. 724 00:35:57,020 --> 00:35:59,660 Kitas sprendimas būtų buvę man tiesiog redaguoti šią programą ir padaryti 725 00:35:59,660 --> 00:36:02,370 tai būtų kaip 1338 ar kažką panašaus. 726 00:36:02,370 --> 00:36:04,100 >> Bet dabar miegas veikia. 727 00:36:04,100 --> 00:36:06,400 Tad faktiškai jį išbandyti naršyklė šiuo metu, nes tai 728 00:36:06,400 --> 00:36:09,080 tiek unexciting pamatyti tai terminale. 729 00:36:09,080 --> 00:36:13,560 Taigi aš tik ketina eiti į, kad 127 adresas vėl 1337. 730 00:36:13,560 --> 00:36:14,850 Ir jeigu jūs galite matyti jį - 731 00:36:14,850 --> 00:36:18,050 Aš nežinau, jei galite - bet mano naršyklės vartojate labai, labai ilgas 732 00:36:18,050 --> 00:36:20,600 laikas pakrauti ar kaip penkias sekundes. 733 00:36:20,600 --> 00:36:23,460 >> Ir po to, jis pagaliau baigėsi atsakymą. 734 00:36:23,460 --> 00:36:29,070 Ir tu negali matyti, nes dalykas persikėlė per mažai, bet jei aš 735 00:36:29,070 --> 00:36:32,500 tai šiek tiek mažesnis, jūs matote ji sako ei. 736 00:36:32,500 --> 00:36:35,130 Taigi aš Ei, bet po penkių sekundžių. 737 00:36:35,130 --> 00:36:38,510 Ir ji gali būti šiek tiek švaresnis pamatyti tai čia terminalo, todėl aš 738 00:36:38,510 --> 00:36:40,980 ketina daryti - 739 00:36:40,980 --> 00:36:43,540 darykime čia - 740 00:36:43,540 --> 00:36:48,370 darykime Curl šiuo adresu vėl su 1337. 741 00:36:48,370 --> 00:36:50,820 Ir aš tiesiog rūšies sėdėti čia penkias sekundes. 742 00:36:50,820 --> 00:36:53,760 Tačiau pastebime, kad serveris gali priimti naujų sprendimų. 743 00:36:53,760 --> 00:36:54,940 Taigi jis spausdina ei. 744 00:36:54,940 --> 00:36:58,720 >> Ir demo tai, iš esmės, ką Galiu padaryti šioje kitoje kortelėje - 745 00:36:58,720 --> 00:37:02,640 todėl galime pasakyti, kad aš tai padaryti kitoje kortelėje, Aš ruošiuosi padaryti Curl ir pats 746 00:37:02,640 --> 00:37:03,780 dalykas dar kartą. 747 00:37:03,780 --> 00:37:06,600 Ir aš pasistengsiu, kad ateityje jie vaikinai išjungti tuo pačiu metu. 748 00:37:06,600 --> 00:37:08,260 Taigi, aš ruošiuosi tai padaryti, ir aš ketina lenktyniauti čia ir aš 749 00:37:08,260 --> 00:37:09,650 ketina padaryti jį dar kartą. 750 00:37:09,650 --> 00:37:14,030 >> Ir tegul padaryti taip, kad jūs galima pamatyti abu. 751 00:37:14,030 --> 00:37:20,250 Tai vienas atspausdintas ei ir, kad vienas atspausdintas hey all būdas ne - 752 00:37:20,250 --> 00:37:22,550 darykime, kad eksperimentas dar kartą. 753 00:37:22,550 --> 00:37:25,100 Tiesą sakant, galime naudoti šią apgauti, jei tai viskas OK. 754 00:37:25,100 --> 00:37:30,520 >> Taigi, aš ruošiuosi naudoti lukštais dalykas, kad leidžia man iš esmės paleisti dvi kopijas 755 00:37:30,520 --> 00:37:32,630 Šios programos tuo pačiu metu. 756 00:37:32,630 --> 00:37:36,070 Taigi, tai bus paleisti pirmąją programą ir Antroji programa lygiagrečiai. 757 00:37:36,070 --> 00:37:39,060 Taigi dabar, jei aš paspauskite "Enter", ji ketina padaryti, kad prašymas gana daug 758 00:37:39,060 --> 00:37:40,570 akimirksniu tuo pačiu metu. 759 00:37:40,570 --> 00:37:42,620 Taigi, galime duoti tai kulka. 760 00:37:42,620 --> 00:37:44,950 >> Taigi dabar pastebėsite, kad jis sako du procesus. 761 00:37:44,950 --> 00:37:50,630 Ir jei jums įdomu, kad 27.000 skaičius yra iš esmės procesas vardą. 762 00:37:50,630 --> 00:37:52,940 Ir tada pastebėsite, jie išspausdinti ei tuo pačiu metu. 763 00:37:52,940 --> 00:37:56,820 Tai buvo ne taip, kaip mes turėjome laukti penkis sekundžių vieną ir tada po to, 764 00:37:56,820 --> 00:37:59,640 vėliau penkias sekundes gauti sekundę. 765 00:37:59,640 --> 00:38:03,300 Taigi, tai tipo, tam tikrais būdais, tai tikrai ne įrodyti, bet tai 766 00:38:03,300 --> 00:38:07,390 intuityvus įrodymų, kad tai ne tik kaip laukia penkias sekundes ir blokavimas 767 00:38:07,390 --> 00:38:08,960 visa gija. 768 00:38:08,960 --> 00:38:10,720 Gerai gerai. 769 00:38:10,720 --> 00:38:17,850 >> Aaronas uždavė klausimą anksčiau, kad buvo, gerai ką daryti, jei mes ką nors padaryti - 770 00:38:17,850 --> 00:38:18,735 Taip? 771 00:38:18,735 --> 00:38:19,051 >> PUBLIKA: palaukti. 772 00:38:19,051 --> 00:38:21,585 Kaip tai skiriasi nuo printf buferis, nors? 773 00:38:21,585 --> 00:38:23,010 Ar ne jis automatiškai tai padaryti? 774 00:38:23,010 --> 00:38:25,390 Kodėl mes turime jaudintis dėl to? 775 00:38:25,390 --> 00:38:26,555 >> KEVIN SCHMID: Oi, tu galėjai pasakyti, kad vienas daugiau laiko? 776 00:38:26,555 --> 00:38:29,510 >> Auditorija: Ar ne taip, kaip printf buferį daryti tą patį dalyką? 777 00:38:29,510 --> 00:38:31,280 >> KEVIN SCHMID: printf buferis? 778 00:38:31,280 --> 00:38:32,753 >> PUBLIKA: Taip. 779 00:38:32,753 --> 00:38:33,244 Gerai. 780 00:38:33,244 --> 00:38:40,609 Nebuvo vienas iš viktorinos jie buvo kalbame apie tai, kaip jei dešiniuoju printf 781 00:38:40,609 --> 00:38:42,899 kažkas ir tada jį sustabdyti vieną antra, ir tada jūs turite kilpa dešimt 782 00:38:42,899 --> 00:38:46,530 kartų, tai lauksiu dešimt sekundžių ir tada printf viskas kartu? 783 00:38:46,530 --> 00:38:47,460 >> KEVIN SCHMID: O, gerai. 784 00:38:47,460 --> 00:38:49,170 >> Auditorija: Ar tai daro pats dalykas, tada tokiu atveju? 785 00:38:49,170 --> 00:38:52,630 >> KEVIN SCHMID: Taigi klausimas buvo Iš esmės vienas iš buvusių viktorinų 786 00:38:52,630 --> 00:38:57,200 ar kažkas, ten buvo klausimas, Iš esmės, jei jūs sakote print F 10 787 00:38:57,200 --> 00:39:01,490 dalykų vienu metu ir tada miegojo, kaip ir spausdinti tuos nutraukimo procesas, 788 00:39:01,490 --> 00:39:04,850 ne dėl kokios nors priežasties tikslu būtų tiesiog iškelties tie visi ant ekrano. 789 00:39:04,850 --> 00:39:06,740 Taigi tipo dviejų skirtingų sąvokos čia. 790 00:39:06,740 --> 00:39:10,400 >> Taigi, manau, vienas dalykas yra tai, kad šis atveju, mes susiduriame su dviem skirtingais 791 00:39:10,400 --> 00:39:13,510 tarsi žmonės klausia serverį dalykų vienu metu. 792 00:39:13,510 --> 00:39:17,455 Ir todėl, kad printf rūšies laukia, kaip kad ir išverčia jį iš visų jėgų 793 00:39:17,455 --> 00:39:21,760 vienu metu yra labiau susijęs su kaip printf rūšies - 794 00:39:21,760 --> 00:39:25,100 taip, kaip printf yra iš tikrųjų įgyvendinti tai iš esmės turi 795 00:39:25,100 --> 00:39:28,850 pasikalbėti su operacine sistema rašyti kad kita prie konsolės. 796 00:39:28,850 --> 00:39:33,460 Taigi jis nenori daryti visa, kad Daiktai iš karto, kai jūs sakote printf 797 00:39:33,460 --> 00:39:36,260 kai eilutę, nes tai gali gauti brangus, jei jis turi 798 00:39:36,260 --> 00:39:37,340 padaryti, kad kiekvieną kartą. 799 00:39:37,340 --> 00:39:41,530 >> Taigi, jei jūs printf ei, savo programą ne iš tikrųjų gali spausdinti, kad 800 00:39:41,530 --> 00:39:43,040 nedelsiant konsolės. 801 00:39:43,040 --> 00:39:46,080 Jis gali pasakyti, gerai, aš jį. 802 00:39:46,080 --> 00:39:49,570 Ir tada natūra laukti jums duoti tai šiek tiek daugiau, kol iš tikrųjų 803 00:39:49,570 --> 00:39:51,380 raštu jį į konsolę. 804 00:39:51,380 --> 00:39:54,040 >> Taigi todėl, kad tai buvo atvejis - 805 00:39:54,040 --> 00:39:56,450 ir tai tipo nesusiję su miego - 806 00:39:56,450 --> 00:40:00,060 yra tai, kad miego buvo tarsi ką tik švirkščiamas ten įrodyti 807 00:40:00,060 --> 00:40:02,480 Tai, kad jis nerašo tai sinchroniškai. 808 00:40:02,480 --> 00:40:06,210 Tačiau dėl šios priežasties yra tik kokybės, kad jūs neturite 809 00:40:06,210 --> 00:40:08,920 padaryti, kad daug ryšius su operacinė sistema. 810 00:40:08,920 --> 00:40:12,300 >> Bet čia, ko mes iš tikrųjų bando daryti su šio miego dalykas yra tik šou 811 00:40:12,300 --> 00:40:17,730 kad kai mes turime dvi žmonių aplankė ši svetainė, ji nesiruošia pateikti 812 00:40:17,730 --> 00:40:22,310 juos į liniją, kur jis ketina pasakyti Turiu jums padėti, ir tada, kai aš 813 00:40:22,310 --> 00:40:25,350 visiškai baigtas padėti jums po šių penkias sekundes, tada aš ruošiuosi 814 00:40:25,350 --> 00:40:26,750 perkelti į kitą asmenį. 815 00:40:26,750 --> 00:40:29,515 Taigi pirmojo asmens prašymas nėra prisirišti Tokiu atveju kilpa 816 00:40:29,515 --> 00:40:31,610 jei tai turi prasmę. 817 00:40:31,610 --> 00:40:34,980 >> Bet čia yra iš tikrųjų pavyzdys kažką, kad derinsis 818 00:40:34,980 --> 00:40:36,090 iki renginio kilpą. 819 00:40:36,090 --> 00:40:39,130 Taigi čia baisus funkcija apskaičiuoti n-tąjį Fibonačio. 820 00:40:39,130 --> 00:40:43,510 Tai tiesiog dar blogiau, kaip jūs galite apskaičiuoti n-tąjį Fibonačio skaičių. 821 00:40:43,510 --> 00:40:48,480 Ir iš tikrųjų tai yra tik pripažinti kur tai atsirado, 822 00:40:48,480 --> 00:40:49,330 Ar iš tikrųjų - 823 00:40:49,330 --> 00:40:53,230 Aš turiu galvoje, jūs galite pabandyti eiti rasti - tačiau ten lyg labai ilgas dienoraštį 824 00:40:53,230 --> 00:40:54,130 rašyti, kad kažkas parašė. 825 00:40:54,130 --> 00:40:55,660 Tai tarsi vienas iš tų Reddit dalykų. 826 00:40:55,660 --> 00:40:59,650 Bet kažkas kritikavo Node.js ir jie naudojami tai kaip pavyzdys. 827 00:40:59,650 --> 00:41:03,700 Taigi I rūšies norėjo tiesiog parodyti jums du skirtingi požiūriai tik gauti 828 00:41:03,700 --> 00:41:07,320 bendrą supratimą apie koncepcijas Už šių dviejų dalykų. 829 00:41:07,320 --> 00:41:13,050 >> Bet tai yra pasirinkta kaip tiesiog siaubinga, siaubingai neefektyvus skaičiavimais 830 00:41:13,050 --> 00:41:15,940 intensyvus būdas apskaičiuoti n-tasis Fibonačio skaičius. 831 00:41:15,940 --> 00:41:21,180 Taigi, kaip šalutinis dėmesį, kodėl tai siaubinga kaip vienaip? 832 00:41:21,180 --> 00:41:23,210 Taip? 833 00:41:23,210 --> 00:41:25,130 >> PUBLIKA: Pasakykite pradėdami iš su 1000. 834 00:41:25,130 --> 00:41:27,050 1000 skyla į 999 ir 998. 835 00:41:27,050 --> 00:41:28,970 Kiekviena ši skyla į du dalykus. 836 00:41:28,970 --> 00:41:30,890 Kiekviena ši skyla į du dalykus. 837 00:41:30,890 --> 00:41:31,355 >> KEVIN SCHMID: Teisė. 838 00:41:31,355 --> 00:41:32,400 >> PUBLIKA: Visi galo. 839 00:41:32,400 --> 00:41:32,840 >> KEVIN SCHMID: Būtent. 840 00:41:32,840 --> 00:41:37,330 Taigi, tiesiog pakartokite kamera, jei aš skambinti fib dėl kaip 1000 ar kažką 841 00:41:37,330 --> 00:41:41,810 pavyzdžiui, kad tai akivaizdžiai ne mažiau kaip arba lygus vienam, todėl aš ruošiuosi 842 00:41:41,810 --> 00:41:46,040 eiti į šį kitam, o paskui aš ruošiuosi skambinti fib 999 plius fib 998. 843 00:41:46,040 --> 00:41:50,290 Ir tada beveik visi, kad darbas, fib 999 vertė yra 844 00:41:50,290 --> 00:41:52,950 kokios šiuo lygmeniu. 845 00:41:52,950 --> 00:41:55,620 Jeigu jūs einate žemyn, tai dar labiau nereikalingas nei, bet jei jūs tiesiog 846 00:41:55,620 --> 00:42:01,390 manau Kompiuterija fantazuoti 998 gauna mums gana arti fib 999. 847 00:42:01,390 --> 00:42:05,860 Taigi mes tikrai turėtų būti šiek tiek daugiau protingas apie tai, kaip mes tipo pakartotinai 848 00:42:05,860 --> 00:42:07,580 tai, bet mes ne pakartotinai šie dalykai ne visiems. 849 00:42:07,580 --> 00:42:11,860 Taigi galite įsivaizduoti, šis milžiniškas, milžiniškas medis, kuris tiesiog siaubinga. 850 00:42:11,860 --> 00:42:12,940 >> Bet vistiek, Gerai. 851 00:42:12,940 --> 00:42:14,040 Taigi, tai buvo fantazuoti. 852 00:42:14,040 --> 00:42:15,530 Tai tik mano, o paleisti. 853 00:42:15,530 --> 00:42:16,510 Taip? 854 00:42:16,510 --> 00:42:17,760 >> PUBLIKA: [nesigirdi]. 855 00:42:17,760 --> 00:42:20,430 856 00:42:20,430 --> 00:42:22,481 >> KEVIN SCHMID: Oi, tu galėjai pakartoti klausimą? 857 00:42:22,481 --> 00:42:23,731 >> PUBLIKA: [nesigirdi]. 858 00:42:23,731 --> 00:42:30,840 859 00:42:30,840 --> 00:42:33,990 >> KEVIN SCHMID: O taip, tai tik kodas tai bus tarsi ant 860 00:42:33,990 --> 00:42:34,850 serverio pusėje. 861 00:42:34,850 --> 00:42:38,100 Taigi šis nesiruošia rasti naršyklėje arba nieko. 862 00:42:38,100 --> 00:42:42,160 Tai iš esmės tai, ką mes turime, kad kai čia vartotojo gana daug daro 863 00:42:42,160 --> 00:42:45,300 jų prašymas vėl, kai mes tarsi pateikti prašymą, mes ketiname kreiptis 864 00:42:45,300 --> 00:42:47,040 ši funkcija serverio pusėje. 865 00:42:47,040 --> 00:42:50,480 Ir tada mes gauti rezultatą atgal nuo skambina šią funkciją. 866 00:42:50,480 --> 00:42:52,460 Ir tada mes tiesiog spausdinti tai vartotojui. 867 00:42:52,460 --> 00:42:54,580 Taigi vartotojui nereikia tikrai susidoroti su šia funkcija per daug. 868 00:42:54,580 --> 00:42:57,270 >> Buvo ta, kad klausimas? 869 00:42:57,270 --> 00:42:58,470 Ar tai prasminga? 870 00:42:58,470 --> 00:42:58,810 Gerai. 871 00:42:58,810 --> 00:43:00,930 Cool. 872 00:43:00,930 --> 00:43:04,240 >> Taigi dar kartą, mes visą šią res.writeHead dalykas, kur mes spausdinti 873 00:43:04,240 --> 00:43:05,150 antraštė. 874 00:43:05,150 --> 00:43:09,730 Ir tada aš galų atsakymą daro Magiškas skaičius yra fantazuoti 45. 875 00:43:09,730 --> 00:43:12,100 Taigi galime tiesiog paleisti šį serverį. 876 00:43:12,100 --> 00:43:15,190 Taigi, aš ruošiuosi padaryti mazgas fib.js. 877 00:43:15,190 --> 00:43:17,340 Taigi dabar mano fantazuoti serveris veikia. 878 00:43:17,340 --> 00:43:21,790 >> Ir tada čia aš ruošiuosi atlikite vieną iš šių. 879 00:43:21,790 --> 00:43:22,200 Gerai? 880 00:43:22,200 --> 00:43:24,960 Taigi, aš tiesiog ketinate pasakyti, Curl. 881 00:43:24,960 --> 00:43:32,226 Taigi jis ketina šiek tiek užtrukti, bet tikiuosi, netrukus baigs ir 882 00:43:32,226 --> 00:43:35,660 jis bus atspausdintas, kad 45. Fibonačio skaičius. 883 00:43:35,660 --> 00:43:36,910 >> PUBLIKA: [nesigirdi]. 884 00:43:36,910 --> 00:43:40,720 885 00:43:40,720 --> 00:43:42,050 >> KEVIN SCHMID: jis turi gauti padaryti gana greitai. 886 00:43:42,050 --> 00:43:43,780 Todėl reikėtų atsižvelgti 05:55 sekundžių. 887 00:43:43,780 --> 00:43:48,570 Aš nežinau, tai tik V8 yra super greitai, bet kuriuo atveju, tai yra 888 00:43:48,570 --> 00:43:52,700 labai trumpas pavyzdys ir sąmoningai Niewykwintny iš ne trivialus 889 00:43:52,700 --> 00:43:54,200 apskaičiavimas. 890 00:43:54,200 --> 00:43:56,700 Taigi po kurio laiko, ji gauti tai. 891 00:43:56,700 --> 00:44:02,130 >> Bet dabar, ką daryti, jei aš galiu padaryti, kad tos pačios rūšies eksperimentas, kaip ir anksčiau, kai aš padaryti 892 00:44:02,130 --> 00:44:04,010 du prašymai tuo pačiu metu? 893 00:44:04,010 --> 00:44:06,990 Taigi čia aš dėl Curl kad adresas, ir aš ruošiuosi 894 00:44:06,990 --> 00:44:08,260 daryti kitą Curl. 895 00:44:08,260 --> 00:44:12,070 Ir atminkite, kad kai mes tai padarė miegoti serverį, kai mes iš esmės turėjo jį 896 00:44:12,070 --> 00:44:15,320 po penkias sekundes, jie gana daug ir grįžo į dešinę 897 00:44:15,320 --> 00:44:16,380 maždaug tuo pačiu metu. 898 00:44:16,380 --> 00:44:18,650 Taigi tai buvo ne itin surišo. 899 00:44:18,650 --> 00:44:20,290 >> Bet pabandykime jį dabar. 900 00:44:20,290 --> 00:44:22,370 Gerai, kad mes turime savo du procesus. 901 00:44:22,370 --> 00:44:24,210 Prisiminti jie yra proceso ID. 902 00:44:24,210 --> 00:44:25,900 Tai bus šiek tiek nepatogu, o mes sustoti. 903 00:44:25,900 --> 00:44:31,340 904 00:44:31,340 --> 00:44:35,360 Taigi, tegul tiesiog likti čia ir laukti. 905 00:44:35,360 --> 00:44:37,090 >> Taigi, vienas iš jų turėtų būti atgal po kaip - 906 00:44:37,090 --> 00:44:39,190 Gerai, kad vienas grįžo. 907 00:44:39,190 --> 00:44:43,570 Bet tada kodėl ne antra viena grįžti tik dar? 908 00:44:43,570 --> 00:44:44,389 Taip? 909 00:44:44,389 --> 00:44:49,280 >> PUBLIKA: serverio nieko negaliu padaryti o tai skaičiuojant, kad didelis skaičius. 910 00:44:49,280 --> 00:44:51,620 >> KEVIN SCHMID: Teisė. 911 00:44:51,620 --> 00:44:55,395 Taigi, atsakymas buvo tik tai, kad serveris tikrai nieko negalime padaryti, o 912 00:44:55,395 --> 00:44:57,460 tai skaičiuojant, kad Fibonačio skaičių. 913 00:44:57,460 --> 00:44:59,360 Taigi, dabar aš ką tik gavo mano du dalykus. 914 00:44:59,360 --> 00:45:03,210 Bet aš manau, tiesiog galvoti apie kodą šiek tiek daugiau, kaip jis veikia 915 00:45:03,210 --> 00:45:05,030 ir viskas. 916 00:45:05,030 --> 00:45:11,750 >> Taigi, ši funkcija čia yra kodas, kuris Aš sakė šį serverį paleisti, kai ji 917 00:45:11,750 --> 00:45:14,100 gauna naują priimamą prašymą. 918 00:45:14,100 --> 00:45:17,940 Taigi, tai tik ketina paleisti per šį Visas kodas, tada jis ketina eiti 919 00:45:17,940 --> 00:45:21,120 Grįžti į renginių linijos ir tada tęsti tikrinant naujus įvykius. 920 00:45:21,120 --> 00:45:23,670 Taigi, iš esmės tai, ką mes turime vyksta yra serveris 921 00:45:23,670 --> 00:45:25,080 klausytis naujų dalykų. 922 00:45:25,080 --> 00:45:28,070 Pirmasis asmuo klausia, kas yra 45. 923 00:45:28,070 --> 00:45:30,490 Mes paleisti šį kodą apskaičiuoti jį. 924 00:45:30,490 --> 00:45:33,420 Šis kodas trunka maždaug penkių šešių sekundžių paleisti. 925 00:45:33,420 --> 00:45:36,990 Tada mes einame atgal į renginių ciklo ir ieškoti naujų prašymų. 926 00:45:36,990 --> 00:45:42,700 >> Taigi tai yra kaip pavyzdys, jei turėti tai, kas yra vadinamasis apskaičiuoti 927 00:45:42,700 --> 00:45:48,140 privalomas, arba naudoti Kompiuterinės daug, ne galia, bet kaip yra 928 00:45:48,140 --> 00:45:50,260 kompiuterio resursams - 929 00:45:50,260 --> 00:45:54,080 Manau vienas dalykas pasakyti apie tai kad ši funkcija daro visiškai, 930 00:45:54,080 --> 00:45:56,310 didžiąja dalimi, gana naudingo darbo teisė. 931 00:45:56,310 --> 00:45:59,970 Visą laiką, kad šis atgalinių funkcija buvo paleisti, tai buvo gana 932 00:45:59,970 --> 00:46:03,670 daug išleisti didžiąją dalį savo laiko tiesiog Kompiuterija, kad n-tasis Fibonačio skaičius. 933 00:46:03,670 --> 00:46:05,930 >> Bet mes turėjo tik vieną giją spręsti. 934 00:46:05,930 --> 00:46:10,270 Apache modelis, kai du žmonės pateikė prašymą gauti fib 45, mes 935 00:46:10,270 --> 00:46:11,610 turėjo dvi skirtingas temas. 936 00:46:11,610 --> 00:46:15,060 Ir tada operacinės sistemos darbas būtų buvę, ar vartotojo lygis 937 00:46:15,060 --> 00:46:18,660 kodas, kuris valdo temas, tai jau buvo gabaliuką, kad ant 938 00:46:18,660 --> 00:46:23,060 CPU, ar net jei jūs turėjo daug procesorių, juos paskirstyti tolygiai procesorių 939 00:46:23,060 --> 00:46:26,130 taip, kad jie abu apdaila maždaug tuo pačiu metu. 940 00:46:26,130 --> 00:46:31,120 >> Taigi tiesiog parodyti jums, kaip mes galime išspręsti iš - ir tai ne iš viso tobula 941 00:46:31,120 --> 00:46:34,280 sprendimas, bet tarsi kaip mes galime kad grįžti čia ir daryti 942 00:46:34,280 --> 00:46:35,880 šiek tiek geriau. 943 00:46:35,880 --> 00:46:41,540 Taigi, ką aš čia yra programa, vadinama Fantazuoti C. Ir tai iš esmės naudoja 944 00:46:41,540 --> 00:46:45,690 kitas mazgas modulių vienas vadinamas Vaiko procesas modulis. 945 00:46:45,690 --> 00:46:49,210 Taigi, aš įtraukta, kad viršuje rūšies panašaus daryčiau svaras yra 946 00:46:49,210 --> 00:46:51,230 vaikas process.h ar kažką. 947 00:46:51,230 --> 00:46:56,210 Dabar aš turiu priėjimą prie šio CP kintamojo kuris turi visas savo funkcijas. 948 00:46:56,210 --> 00:47:01,810 >> Taigi dabar, ką aš darau šį atsakymą prižiūrėtojas yra Bėgu šią programą 949 00:47:01,810 --> 00:47:04,100 dot slash fantazuoti 45. 950 00:47:04,100 --> 00:47:06,820 Taigi, ką aš padariau - ir aš tik ketina išeiti iš šios programos 951 00:47:06,820 --> 00:47:07,620 šiek tiek - 952 00:47:07,620 --> 00:47:11,060 yra aš parašiau C programa, kad iš esmės apskaičiuoja 953 00:47:11,060 --> 00:47:12,630 n-tasis Fibonačio skaičius. 954 00:47:12,630 --> 00:47:15,960 Taigi čia yra tik programa parašiau C, kad apskaičiuoja tai. 955 00:47:15,960 --> 00:47:19,040 Galiu surinkti, ir galiu paleisti tai į komandų eilutę. 956 00:47:19,040 --> 00:47:22,150 Ir ji ketina apskaičiuoti 45. Fibonačio skaičius. 957 00:47:22,150 --> 00:47:24,510 >> Taigi, pastebėsite, kad jis tik mano gana daug, kaip ilgai. 958 00:47:24,510 --> 00:47:28,240 Aš tikriausiai galėjo naudoti brūkšnį 03 į optimizuoti ar kažką panašaus, 959 00:47:28,240 --> 00:47:31,050 bet aš tiesiog patiko reguliariai kompiliatoriaus nustatymus. 960 00:47:31,050 --> 00:47:33,260 Ir jis spausdina jį. 961 00:47:33,260 --> 00:47:36,830 >> Bet dabar, ką aš tipo darai? 962 00:47:36,830 --> 00:47:39,800 O gaila, negerai failas. 963 00:47:39,800 --> 00:47:42,800 Taigi, aš tuos pačius dalykus su galva, kaip ir anksčiau. 964 00:47:42,800 --> 00:47:45,780 Tada aš šį cp.exec. 965 00:47:45,780 --> 00:47:49,460 Taigi, kas tai ketina padaryti, tai jis ketina paleisti šią programą. 966 00:47:49,460 --> 00:47:51,960 Bet būdas tai veikia, kad jis nesiruošia laukti 967 00:47:51,960 --> 00:47:53,400 kad programa baigti. 968 00:47:53,400 --> 00:47:56,000 Jis tiesiog iš esmės sako vykdyti šią programą. 969 00:47:56,000 --> 00:47:58,700 Taigi, iš esmės įvesti į šį komandų eilutę rūšies. 970 00:47:58,700 --> 00:48:02,350 >> Ir tada, kai jūs baigsite su tai, paleiskite šią funkciją. 971 00:48:02,350 --> 00:48:04,800 Taigi dabar mes natūra gauti šią Visa restored dalykas 972 00:48:04,800 --> 00:48:06,750 kaip mes nelaukia. 973 00:48:06,750 --> 00:48:08,530 Ar tai natūra prasmės? 974 00:48:08,530 --> 00:48:08,990 Taip? 975 00:48:08,990 --> 00:48:11,060 >> PUBLIKA: [nesigirdi]? 976 00:48:11,060 --> 00:48:13,610 >> KEVIN SCHMID: Taigi tai iš tikrųjų atverti naują procesą daryti. 977 00:48:13,610 --> 00:48:19,310 Taigi, iš tikrųjų tai yra, tam tikrais būdais, blogis, nėra itin bloga, tačiau tai 978 00:48:19,310 --> 00:48:22,990 Svarbu pasakyti, kad tai rūšies grįžta į, viena vertus, "Apache" 979 00:48:22,990 --> 00:48:26,450 modelis, kai mes darome temas ir procesus kiekvieno prašymo ar 980 00:48:26,450 --> 00:48:29,280 procesus kiekvieno prašymo. 981 00:48:29,280 --> 00:48:32,090 Taigi tai yra rūšies analogiškas ką Apache veikia. 982 00:48:32,090 --> 00:48:35,110 Kai kuriais atvejais, jis tiesiog naudokite naują giją, kuri yra šiek tiek daugiau šviesos 983 00:48:35,110 --> 00:48:39,040 svoris kaip procesą, bet Apache gali baigti išsišakojimas naują procesą, 984 00:48:39,040 --> 00:48:43,370 kuris yra tipo, ką mes darome čia netiesiogiai daro dot velniop fantazuoti 45. 985 00:48:43,370 --> 00:48:48,690 >> Ir tada tokiu atveju mes tipo patirti tos pačios sąnaudos procesus. 986 00:48:48,690 --> 00:48:50,710 Taigi tai yra tik vienas dalykas, jūs galite padaryti. 987 00:48:50,710 --> 00:48:52,600 Bet tik parodyti šią važiavimo rūšiuoti. 988 00:48:52,600 --> 00:48:57,120 Ir tai kalbėti yra tiesiog tikrai siekiama pateikti šių programų natūra kaip 989 00:48:57,120 --> 00:49:00,710 būdas parodyti skirtingas perspektyvas kaip kurti serverius, pavyzdžiui, kad. 990 00:49:00,710 --> 00:49:08,300 Taigi tai veikia, tada dabar, jei aš tai dar kartą, aš turiu du proceso identifikatorius. 991 00:49:08,300 --> 00:49:10,320 >> Tegul tik kalbėti apie ką atkreipti dėmesį. 992 00:49:10,320 --> 00:49:11,980 Taigi, pastebėsite, kad jie palaipsniui. 993 00:49:11,980 --> 00:49:12,700 Štai atvėsti. 994 00:49:12,700 --> 00:49:15,140 Kadangi tai buvo 27.122 anksčiau. 995 00:49:15,140 --> 00:49:18,580 Tačiau pranešimas dabar jie sugrįžo bent maždaug tuo pačiu metu. 996 00:49:18,580 --> 00:49:23,960 >> Ir dabar, geras klausimas paklausti apie kodėl buvo, kad byla, kurių darbas 997 00:49:23,960 --> 00:49:27,590 jis dabar tarsi padaryti šiuos dalykus Tokiose rungtynėse mugę tarpusavyje 998 00:49:27,590 --> 00:49:31,350 kitų, šie du atvejai dot velniop fantazuoti 45 kad išbėgau 999 00:49:31,350 --> 00:49:32,880 arba kad Mazgas nubėgęs? 1000 00:49:32,880 --> 00:49:36,940 Kas rūšiuoti todėl teisinga, kad jie abu gauti tipo subalansuotas veikimo laikas? 1001 00:49:36,940 --> 00:49:42,900 1002 00:49:42,900 --> 00:49:44,220 >> PUBLIKA: [nesigirdi]. 1003 00:49:44,220 --> 00:49:44,620 >> KEVIN SCHMID: Taip. 1004 00:49:44,620 --> 00:49:49,740 Taigi, iš esmės, kai aš dot velniop fantazuoti 45 ar kažkas panašaus, dabar tai 1005 00:49:49,740 --> 00:49:53,750 natūra iki operacinės sistemos tvarkyti šių programų runtime. 1006 00:49:53,750 --> 00:49:56,920 Ir dabar jis gali planuoti jų dėl skirtingų procesorių ar jį 1007 00:49:56,920 --> 00:49:58,330 gali planuoti jų. 1008 00:49:58,330 --> 00:50:01,870 Jis gali suraikyti laiką, kad vienas CPU gauna tai arba kad jie gauna 1009 00:50:01,870 --> 00:50:03,330 paleisti ant vieno procesoriaus. 1010 00:50:03,330 --> 00:50:05,620 Štai už tai idėja. 1011 00:50:05,620 --> 00:50:07,220 Ar tai prasminga visiems? 1012 00:50:07,220 --> 00:50:10,950 Taigi dabar mazgas tikrai ne žaisti dalis dalijant šias užduotis. 1013 00:50:10,950 --> 00:50:12,200 Gerai. 1014 00:50:12,200 --> 00:50:14,050 1015 00:50:14,050 --> 00:50:17,840 >> Štai beveik ji pavyzdžių. 1016 00:50:17,840 --> 00:50:23,370 Aš tik norėjau parodyti dar vieną dalyką nes tai daug iki šiol buvo 1017 00:50:23,370 --> 00:50:27,350 nėra visiškai super praktiškas kai kuriais atvejais. 1018 00:50:27,350 --> 00:50:30,970 Galiu įsivaizduoti, grįžo namo po to kalbėti ir ką nors ir pasakyti, kaip, 1019 00:50:30,970 --> 00:50:35,710 gerai aš tipo turiu iš to pokalbio, kad Galiu padaryti Fibonačio serverį 1020 00:50:35,710 --> 00:50:37,360 mano galutinis projektas. 1021 00:50:37,360 --> 00:50:40,770 Taigi čia yra tiesiog tarsi dar vienas pavyzdys kad tikiuosi bus - 1022 00:50:40,770 --> 00:50:44,620 o gal ir ne, bet gal - šiek tiek daugiau rūšiuoti svarbūs galutinių projektų ir 1023 00:50:44,620 --> 00:50:46,440 Perspektyva dalykų, pavyzdžiui, kad. 1024 00:50:46,440 --> 00:50:48,870 >> Taigi tai yra chat.js. 1025 00:50:48,870 --> 00:50:52,290 Taigi tai yra natūra patinka kai mėginį serverio pusėje kodas, galite naudoti 1026 00:50:52,290 --> 00:50:55,700 įsteigti nedidelę pokalbių serverį kaip Jums gali būti matomas 1027 00:50:55,700 --> 00:50:56,630 "Facebook" Pokalbiai ar whatever. 1028 00:50:56,630 --> 00:50:59,990 Taigi aš nesakau, tai kaip "Facebook" Pokalbiai, bet tai rūšies 1029 00:50:59,990 --> 00:51:06,230 kaip gerai - o gal ir ne geras, bet gal geras - atspirties taškas pokalbiui 1030 00:51:06,230 --> 00:51:08,560 serveris Jūsų svetainę galutiniam projektui. 1031 00:51:08,560 --> 00:51:11,040 Taigi pažiūrėkime, ką ji daro. 1032 00:51:11,040 --> 00:51:15,500 >> Taigi mes vis šį specialų dalyką viršuje, tai var SiO 1033 00:51:15,500 --> 00:51:17,050 Lygu reikalauja Socket.IO. 1034 00:51:17,050 --> 00:51:20,280 Taigi, tai yra dar vienas dalykas, kad jis nėra iš tikrųjų ateina siejama su 1035 00:51:20,280 --> 00:51:22,300 Mazgas, bet jūs galite ją įdiegti. 1036 00:51:22,300 --> 00:51:23,480 Tai Mazgas modulis. 1037 00:51:23,480 --> 00:51:25,670 Taigi, tai tik, kaip kai kurie išplėtimas mazgo. 1038 00:51:25,670 --> 00:51:29,220 >> SocketIO yra tikrai tikrai tipo kietas. 1039 00:51:29,220 --> 00:51:32,550 Tai abstrakcija, kad iš esmės tai, ką ji yra, tai leidžia jums 1040 00:51:32,550 --> 00:51:35,770 turėti šią komunikacijos srautas tarp interneto 1041 00:51:35,770 --> 00:51:39,430 naršyklė ir web serveris. 1042 00:51:39,430 --> 00:51:45,250 Taigi, iki šiol didžioji dalis, mes jau tai labai greitai vieną sekundę ar du 1043 00:51:45,250 --> 00:51:48,790 antra ryšiai web naršyklė ir web serveris. 1044 00:51:48,790 --> 00:51:53,310 Taigi tai iš esmės eiti į google.com ir gaukite Daiktai, siųsti jį atgal, ir tada 1045 00:51:53,310 --> 00:51:53,770 baigsime. 1046 00:51:53,770 --> 00:51:56,560 Mes niekada kalbėti dar kartą, kol vartotojas įveda į ką nors kita. 1047 00:51:56,560 --> 00:52:01,090 >> Bet kas Socket.IO ir panašaus pobūdžio viskas - ir SocketIO iš tikrųjų yra viena 1048 00:52:01,090 --> 00:52:03,940 iš dalykų, kad yra pastatytas kaip WebSocket kuri yra tarsi rasti 1049 00:52:03,940 --> 00:52:06,440 kaip HTML5 - 1050 00:52:06,440 --> 00:52:09,620 , kuri leidžia jums turėti tai nuolatinis dialogas. 1051 00:52:09,620 --> 00:52:13,990 Ir tai yra labai naudinga pokalbių serverio rūšies dalykas, nes tai yra 1052 00:52:13,990 --> 00:52:17,390 tipo kaip tęstinio dialogo keletas būdų, nes jei jūs kalbasi 1053 00:52:17,390 --> 00:52:21,540 su kuo nors, dabar galite tiesiog atsiųsti pranešimas žemyn vamzdžio, ir tada 1054 00:52:21,540 --> 00:52:23,940 serveris gali siųsti žinutę žemyn vamzdis prie kito asmens, esate 1055 00:52:23,940 --> 00:52:24,520 kalbasi su. 1056 00:52:24,520 --> 00:52:26,903 Ir tada jūs galite turėti tai keistis, pavyzdžiui, kad. 1057 00:52:26,903 --> 00:52:30,590 1058 00:52:30,590 --> 00:52:32,850 >> Taigi, tai tipo kas SocketIO yra geras. 1059 00:52:32,850 --> 00:52:38,400 Priežasties, kad SocketIO naudoja WebSockets kaip vienas dalykas yra tai, kad 1060 00:52:38,400 --> 00:52:43,980 Be tiesiog senas WebSockets, ji taip pat daro kai triukus esmės 1061 00:52:43,980 --> 00:52:45,610 kad ji naršyklė suderinama. 1062 00:52:45,610 --> 00:52:50,040 Taigi naršyklių "Internet Explorer deja nepalaiko WebSockets 1063 00:52:50,040 --> 00:52:50,810 teisę out of the box. 1064 00:52:50,810 --> 00:52:55,290 Taigi jis naudoja kitokios kietas tvarkingas ką su Adobe Flash, leidžiančios 1065 00:52:55,290 --> 00:52:57,170 jums turėti kryžminio naršyklės pagalba. 1066 00:52:57,170 --> 00:52:58,800 Taigi, tai tikrai naudinga. 1067 00:52:58,800 --> 00:53:02,440 >> Ir iš tikrųjų, aš žinau, kad aš tipo veikia laiko čia, bet CS50 1068 00:53:02,440 --> 00:53:08,490 Aptarti, ar jūs kada nors matė kažką patinka, aš nežinau, Blankas, kad ir taip yra 1069 00:53:08,490 --> 00:53:11,030 Atsakydami į šį postą ar kažkas kaip kad, kad funkcija? 1070 00:53:11,030 --> 00:53:12,250 Štai SocketIO. 1071 00:53:12,250 --> 00:53:15,580 Taigi, kai kas nors pradeda rašyti aptarti langelį padaryti atsakymo arba 1072 00:53:15,580 --> 00:53:20,040 kažkas, Jūsų naršyklė nesuderinama kas vadinamas SocketIO skleidžia tam tikrą rūšį 1073 00:53:20,040 --> 00:53:22,660 įvykis, kuris sako kažkieno Atsakydami į šį postą. 1074 00:53:22,660 --> 00:53:26,110 >> Tada serveris sako, gerai, ką man daryti? 1075 00:53:26,110 --> 00:53:29,270 Na dabar turiu pasakyti tie kiti vaikinai kurie dėl CS50 Aptarti ieškote 1076 00:53:29,270 --> 00:53:31,170 šį pranešimą, kad kažkas manimi atsakymo. 1077 00:53:31,170 --> 00:53:34,190 Taigi, tai tipo kas SocketIO yra gera, šio tęstinio pobūdžio 1078 00:53:34,190 --> 00:53:35,930 srautas dialogą. 1079 00:53:35,930 --> 00:53:37,250 Gerai. 1080 00:53:37,250 --> 00:53:40,060 >> Taigi, ką aš čia - ir mes tiesiog ketina ignoruoti jungtys masyvas 1081 00:53:40,060 --> 00:53:41,390 už truputį - 1082 00:53:41,390 --> 00:53:43,080 ką aš padaryti, tai aš dar klausytis. 1083 00:53:43,080 --> 00:53:46,880 Taigi, tai tik į Socket.IO būdas yra sakydamas, tegul klausosi šio prievado. 1084 00:53:46,880 --> 00:53:50,060 Ir tada aš tai padaryti ryšį. 1085 00:53:50,060 --> 00:53:53,360 Taigi, tai tik iš esmės Lizdas IO s būdas pasakyti, kai gausime 1086 00:53:53,360 --> 00:53:55,840 ryšys, aš noriu, kad jūs paleisti šį kodą. 1087 00:53:55,840 --> 00:53:59,870 >> Ir pastebėsite, kad vietoj to, kad rec ir res praėjo ten turiu lizdą. 1088 00:53:59,870 --> 00:54:03,260 Ir tai Lizdas idėja yra iš esmės tai dalykas skaityti, kad jūs galite parašyti ir 1089 00:54:03,260 --> 00:54:05,750 nuo yra vartotojo pranešimai galbūt. 1090 00:54:05,750 --> 00:54:10,700 Ir pranešimai, kad galėtumėte siųsti gali eiti per tą lizdą. 1091 00:54:10,700 --> 00:54:12,140 Ar tai prasminga? 1092 00:54:12,140 --> 00:54:14,490 Taigi, tai tik nuolatinis dalykas. 1093 00:54:14,490 --> 00:54:17,820 >> Taigi, ką aš padaryti, tai aš vadinu Socket.emit. 1094 00:54:17,820 --> 00:54:20,330 Ir išmeta užima gana daug du argumentai. 1095 00:54:20,330 --> 00:54:24,100 Pirmasis argumentas yra eilutė tiesiog atstovaujanti tipas 1096 00:54:24,100 --> 00:54:25,270 dalykas, kurį jūs spinduliuojantis. 1097 00:54:25,270 --> 00:54:28,120 Taigi, šiuo atveju, aš naudoti šios eilutės naujas pranešimas. 1098 00:54:28,120 --> 00:54:32,670 Ir tai tik iš esmės sakydamas, kad Šio dalyko tipas, ką aš 1099 00:54:32,670 --> 00:54:34,750 siuntimas, yra nauja žinutė. 1100 00:54:34,750 --> 00:54:38,460 Taigi galite klausytis konkrečių rūšių kaip naują žinutę ar kas 1101 00:54:38,460 --> 00:54:39,960 naudojant tašką ant. 1102 00:54:39,960 --> 00:54:44,570 >> Taigi ryšys ir vartotojo siunčiami ten, jei pažvelgti, kur mes vadiname taškas įjungtas, 1103 00:54:44,570 --> 00:54:48,150 jie yra kitos stygos, kurios atstovauja tipų naudotojų pranešimus. 1104 00:54:48,150 --> 00:54:52,060 Taigi iš esmės jūs galite turėti šį išmeta viena iš šių rūšių pranešimų ir 1105 00:54:52,060 --> 00:54:55,520 tada kažką daryti, atsižvelgiant į viena iš šių rūšių pranešimų 1106 00:54:55,520 --> 00:54:57,640 >> Taigi, aš skleidžiantys šią naują pranešimą. 1107 00:54:57,640 --> 00:55:00,540 Mes ketiname ignoruoti connections.push sekundę. 1108 00:55:00,540 --> 00:55:03,360 Bet tada aš sakau, Socket.on vartotojo išsiųstas. 1109 00:55:03,360 --> 00:55:07,540 Taigi dabar jis tipo patinka, kai vartotojas siunčia man žinutę, noriu 1110 00:55:07,540 --> 00:55:09,240 paleisti šį kodą. 1111 00:55:09,240 --> 00:55:12,080 Ir pastebėsite, kad šis anoniminis funkcija imasi šio kintamojo 1112 00:55:12,080 --> 00:55:16,300 vadinami duomenys, kurie iš esmės vyksta turėti vartotojo pranešimą. 1113 00:55:16,300 --> 00:55:20,700 >> Taigi dabar galime natūra kalbama apie jungtys masyvo. 1114 00:55:20,700 --> 00:55:24,590 Taigi, šis yra skirtas pokalbių programą kur iš esmės visi tipo ir 1115 00:55:24,590 --> 00:55:25,950 pats čatas. 1116 00:55:25,950 --> 00:55:29,640 Taigi, iš esmės tai, ką mes turime išlaikyti aplink yra keletas masyvas, kad iš esmės 1117 00:55:29,640 --> 00:55:33,170 atstovauja visiems žmonėms Kalbasi keletas būdų, jei tai turi prasmę. 1118 00:55:33,170 --> 00:55:33,340 Teisė? 1119 00:55:33,340 --> 00:55:37,190 Nes mes turime žinoti, kas tie vaikinai taip, mes galime siųsti jiems pranešimus 1120 00:55:37,190 --> 00:55:39,140 kad kiti žmonės siunčia mums. 1121 00:55:39,140 --> 00:55:44,440 >> Taigi, ką šis kodas daro, kai vartotojas siunčia pranešimą - tai Tipo 1122 00:55:44,440 --> 00:55:45,300 Renginys - 1123 00:55:45,300 --> 00:55:47,120 mes ketiname paleisti šį kodą. 1124 00:55:47,120 --> 00:55:51,240 Ir ką mes darome, yra mes paleisti per šį matrica, mes vadinami jungtis. 1125 00:55:51,240 --> 00:55:54,390 Ir beveik kiekvienas ryšys išskyrus vieną, kad mūsų, tai 1126 00:55:54,390 --> 00:55:59,520 ką šis kodas sako, mes siunčiame nauja pranešimas su tuo pridedamu pranešimu 1127 00:55:59,520 --> 00:56:01,210 informacija. 1128 00:56:01,210 --> 00:56:04,880 >> Taigi, jei pastebėsite čia, ką aš padariau, kai vartotojas padaro nauja 1129 00:56:04,880 --> 00:56:08,560 ryšys aš pridėjo su JavaScript.push metodas, tai yra 1130 00:56:08,560 --> 00:56:12,100 iš esmės tik sakau kaip pridėti kad Lizdas kaip vertė į 1131 00:56:12,100 --> 00:56:13,900 mūsų jungtys masyvo. 1132 00:56:13,900 --> 00:56:20,560 Taigi dabar, kai šis kodas veikia, tai bus siųsti dalykus tiems, ypač 1133 00:56:20,560 --> 00:56:22,020 jungtys. 1134 00:56:22,020 --> 00:56:26,980 Taigi, tai gali būti geras atspirties taškas už pokalbių serverį 1135 00:56:26,980 --> 00:56:28,250 ar kažkas panašaus. 1136 00:56:28,250 --> 00:56:33,315 >> Ir cool dalykas, yra tai, kad kodas, kurį matote čia kaip ant ir 1137 00:56:33,315 --> 00:56:36,390 skleidžia ir stuff like that yra pats rūšies JavaScript, kad galėtumėte 1138 00:56:36,390 --> 00:56:39,260 parašyti naršyklėje bendrauti su serveriu. 1139 00:56:39,260 --> 00:56:42,480 Štai kodėl SocketIO rūšies tvarkingas ir naudinga tokiu būdu. 1140 00:56:42,480 --> 00:56:45,680 1141 00:56:45,680 --> 00:56:49,250 >> O ir dar vienas dalykas, nekilnojamojo greitai. 1142 00:56:49,250 --> 00:56:55,970 Nebuvo CS50 galutinis projektas pernai kad iš esmės įgyvendino pokalbiai 1143 00:56:55,970 --> 00:56:57,840 serverio Node.js. 1144 00:56:57,840 --> 00:57:01,350 Manau, kad tai Harvardchats.org bet aš ne - 1145 00:57:01,350 --> 00:57:02,940 Gerai. 1146 00:57:02,940 --> 00:57:06,190 Aš nesu įsitikinęs, ką URL, bet Galiu siųsti, kad iš po jo. 1147 00:57:06,190 --> 00:57:09,260 Bet tai tipo kietas, kas jūs galite padaryti su Node.js. 1148 00:57:09,260 --> 00:57:14,680 >> Taigi, aš tikiuosi, kad, apskritai, jus vaikinai geras jausmas, kas Node.js naudinga 1149 00:57:14,680 --> 00:57:17,870 ir kaip jūs galite galbūt taikyti į galutinį projektą. 1150 00:57:17,870 --> 00:57:21,050 Aš būsiu siunčiant šiek tiek daugiau ištekliai kartu su tai. 1151 00:57:21,050 --> 00:57:23,170 Ir ačiū, kad atvykote. 1152 00:57:23,170 --> 00:57:23,610 Ačiū. 1153 00:57:23,610 --> 00:57:27,168 >> [Plojimai]