1 00:00:00,000 --> 00:00:08,350 2 00:00:08,350 --> 00:00:09,710 >> KEVIN SCHMID: Sveiki visiem. 3 00:00:09,710 --> 00:00:12,640 Laipni lūdzam CS50 seminārā gada Node.js. 4 00:00:12,640 --> 00:00:13,955 Mans vārds ir Kevin. 5 00:00:13,955 --> 00:00:15,580 Es esmu CS50 TF. 6 00:00:15,580 --> 00:00:17,650 Un es esmu veida, piemēram, patiesi satraukti par šo semināru. 7 00:00:17,650 --> 00:00:20,430 Es domāju, ka Node.js ir ļoti foršs. 8 00:00:20,430 --> 00:00:24,200 Es ceru, ka šis seminārs var izmantot kā labu, es domāju, atspēriena 9 00:00:24,200 --> 00:00:26,380 daži no jūsu gala projektu, ja jūs interesē, izmantojot 10 00:00:26,380 --> 00:00:27,630 kaut kas līdzīgs Node.js. 11 00:00:27,630 --> 00:00:29,770 12 00:00:29,770 --> 00:00:33,320 >> Mēs kārtot sāk semināru off tikai runā par mazliet 13 00:00:33,320 --> 00:00:36,970 veida fona mērogojamību perspektīvas Node.js, un pēc tam 14 00:00:36,970 --> 00:00:39,240 mēs pārietu uz dažām koda piemērus. 15 00:00:39,240 --> 00:00:42,340 Un es ņemšu kodu uz mājas lapā, un jūs varat apskatīt kodu. 16 00:00:42,340 --> 00:00:45,475 Un pēc semināra, es kārtotu runāt par to, kā jūs varat izveidot Node.js 17 00:00:45,475 --> 00:00:48,220 datorā. 18 00:00:48,220 --> 00:00:48,710 >> OK. 19 00:00:48,710 --> 00:00:49,760 Tātad, pieņemsim sāktu. 20 00:00:49,760 --> 00:00:53,700 Tāpēc es domāju, es tikai gribu runāt par web serveri, tiešām, vispirms. 21 00:00:53,700 --> 00:00:59,730 Un uzsākt šo diskusiju, es pamatā ir shēma, kas ir no 22 00:00:59,730 --> 00:01:04,269 mācību grāmata, ko izmanto CS61, kuru būtībā parāda mijiedarbība 23 00:01:04,269 --> 00:01:08,510 starp klienta procesā, piemēram, jūsu mājas pārlūku vai, piemēram, jūsu mērķis klientu vai 24 00:01:08,510 --> 00:01:11,340 kaut kas tamlīdzīgs, un web serveri. 25 00:01:11,340 --> 00:01:15,150 Tātad šāda veida izskatās līdzīgs attēlu, ka jūs redzēju lekciju par 26 00:01:15,150 --> 00:01:19,270 Trešdiena, kur būtībā mums ir dažas klients process, piemēram, Google Chrome. 27 00:01:19,270 --> 00:01:22,980 >> Un tad viens solis klients sūta pieprasījumu. 28 00:01:22,980 --> 00:01:27,510 Tā, ka var būt kaut kas līdzīgs Nu pieņemsim apmeklēt, es nezinu, CS50.net. 29 00:01:27,510 --> 00:01:29,320 Tāpēc mēs izdot šo lūgumu. 30 00:01:29,320 --> 00:01:34,280 Un vai kāds atcerēties nosaukumu protokols, kas nosaka, kā tas 31 00:01:34,280 --> 00:01:35,610 lūgums būtu strukturēts? 32 00:01:35,610 --> 00:01:36,382 Yep. 33 00:01:36,382 --> 00:01:37,650 >> Mērķauditorija: [nedzirdama]. 34 00:01:37,650 --> 00:01:38,150 >> KEVIN SCHMID: Tieši tā. 35 00:01:38,150 --> 00:01:40,100 Tātad, tas ir, piemēram, HTTP, vai ne? 36 00:01:40,100 --> 00:01:44,720 Vārdu sakot, specifikācija, kā šis lūgums faktiski būtu jānosaka 37 00:01:44,720 --> 00:01:47,450 out, jo beigās, dienā, šis lūgums ir patiešām tāpat kā 38 00:01:47,450 --> 00:01:50,240 virkne, kas būtībā saka, ka es gribu to. 39 00:01:50,240 --> 00:01:53,580 Un specifikācija jo tas ir HTTP. 40 00:01:53,580 --> 00:01:55,270 Tātad tas ir tāpat kā protokolu. 41 00:01:55,270 --> 00:01:57,920 >> Tātad serveris saņem šis lūgums. 42 00:01:57,920 --> 00:02:01,610 Tātad jums puiši ir web serveris, kas instalēts ar CS50 ierīces. 43 00:02:01,610 --> 00:02:02,460 Tas ir Apache. 44 00:02:02,460 --> 00:02:06,230 Un šonedēļ, kad jūs strādājat par problēmu noteikti septiņi, jūs faktiski strādā 45 00:02:06,230 --> 00:02:08,160 ar šo web serveri. 46 00:02:08,160 --> 00:02:12,380 Tāpēc serveris saņem šo pieprasījumu, un tad tas ir sava veida ieskrāpēt savu 47 00:02:12,380 --> 00:02:15,090 galvu un teikt, piemēram, labi, ko man darīt ar šo? 48 00:02:15,090 --> 00:02:20,060 >> Tātad, pamatojoties uz to, ko tā nolems to darīt, tad tas var būt, lai sazinātos ar kādu 49 00:02:20,060 --> 00:02:20,730 Resursa. 50 00:02:20,730 --> 00:02:23,700 Un tas resurss varētu būt dažādas lietas daudz. 51 00:02:23,700 --> 00:02:26,810 Attiecībā uz vienu, tas varētu būt tikai piemēram, statiskā HTML failu. 52 00:02:26,810 --> 00:02:29,820 Tātad tas varētu vienkārši būt, piemēram, daži HTML, kas ir kā 53 00:02:29,820 --> 00:02:31,100 jūsu personīgo mājas lapā. 54 00:02:31,100 --> 00:02:35,360 Tas varētu būt statisks fails, piemēram, attēlu vai kā filma, kas jums ir. 55 00:02:35,360 --> 00:02:37,660 Tas pat varētu būt, lai runātu uz kādu datubāzi 56 00:02:37,660 --> 00:02:39,530 piemēram, MySQL datu bāze. 57 00:02:39,530 --> 00:02:43,910 Tātad, tas ne vienmēr ir, lai sazinātos ar resurss, bet 58 00:02:43,910 --> 00:02:45,700 Dažos gadījumos, tas varētu notikt. 59 00:02:45,700 --> 00:02:47,800 >> Tātad, ko tā gatavojas darīt pēc tam, kad tas notiek, lai 60 00:02:47,800 --> 00:02:49,430 nosūta atpakaļ atbildi. 61 00:02:49,430 --> 00:02:53,130 Un atbilde ir tas, arī norādījis HTTP. 62 00:02:53,130 --> 00:02:54,830 Tātad, klients var saņemt. 63 00:02:54,830 --> 00:02:56,740 Tā var saplēst to nošķir un apstrādāt. 64 00:02:56,740 --> 00:03:00,900 Un tad jūs saņemsiet mājas lapu piemēram, Google vai CS50.net vai 65 00:03:00,900 --> 00:03:02,240 ko jūs devās uz. 66 00:03:02,240 --> 00:03:03,100 OK? 67 00:03:03,100 --> 00:03:06,080 >> Tāpēc tas ir pamata mijiedarbība, kas mēs gribam būt darīšana ar. 68 00:03:06,080 --> 00:03:08,770 Un mēs esam diezgan daudz būs koncentrējoties uz šo daļu 69 00:03:08,770 --> 00:03:10,640 mijiedarbība, serveris. 70 00:03:10,640 --> 00:03:10,990 OK. 71 00:03:10,990 --> 00:03:12,210 Atdzist. 72 00:03:12,210 --> 00:03:15,500 Kāds ir kādi jautājumi līdz šim? 73 00:03:15,500 --> 00:03:17,720 OK. 74 00:03:17,720 --> 00:03:22,430 >> Tā kā mēs teicām, web serveris saņem Tas HTTP pieprasījumu un pēc tam izdod šo 75 00:03:22,430 --> 00:03:24,760 HTTP atbilde. 76 00:03:24,760 --> 00:03:29,100 Un, kā mēs runājām iepriekš, CS50 ierīce tīmekļa serveris ir Apache. 77 00:03:29,100 --> 00:03:32,490 Tātad, ja jūs guys strādāt P noteikti septiņi, jūs esat būs strādāt ar 78 00:03:32,490 --> 00:03:34,120 Apache web serveri. 79 00:03:34,120 --> 00:03:37,890 Jums nekad nav īsti strādāt ar Apache tieši pārāk daudz. 80 00:03:37,890 --> 00:03:41,920 Jūs veida konfigurēt Apache nedaudz ja jūs norādāt virtuālās saimniekiem vai 81 00:03:41,920 --> 00:03:44,970 V saimniekiem, un mēs iegūtu to, ka mazliet. 82 00:03:44,970 --> 00:03:50,620 >> Bet būtībā, Apache web serveri izveidota, lai strādātu ar PHP veida 83 00:03:50,620 --> 00:03:51,730 un no kastes. 84 00:03:51,730 --> 00:03:56,170 Tātad, kas īsti notiek, ir, kad jūs iet uz vienu no jūsu mājas lapas, piemēram, teiksim, 85 00:03:56,170 --> 00:04:00,360 vietējā uzņēmēja slash index.php vai kaut ko, ir jūsu pārlūkprogramma sūta, ka 86 00:04:00,360 --> 00:04:04,330 pieprasījums, un tad Apache sēž tur un skaitļi, ko darīt ar to. 87 00:04:04,330 --> 00:04:08,840 Un darbība ir izpildīt ka kods index.php un 88 00:04:08,840 --> 00:04:11,330 pēc tam nosūtīt to off atpakaļ. 89 00:04:11,330 --> 00:04:15,640 Tāpēc tur ir, ka. 90 00:04:15,640 --> 00:04:16,980 Tātad, mēs veida runāja par to. 91 00:04:16,980 --> 00:04:21,990 Tātad tas varētu vienkārši būt statisku failu vai palaist kādu PHP kodu un tad jautājums 92 00:04:21,990 --> 00:04:23,510 atbilde. 93 00:04:23,510 --> 00:04:27,670 >> Tātad kopīgs jautājums, kas var nākt up ir labi, kā mēs patiesi risināt 94 00:04:27,670 --> 00:04:31,750 ar ar vairākiem lietotājiem vienlaicīgi? 95 00:04:31,750 --> 00:04:36,930 Tātad, iedomājieties, ja jūs rakstāt internetā serveri, ja jums bija web serveri, kas 96 00:04:36,930 --> 00:04:39,900 jūs mēģināt rakstīt kaut ko piemēram, C vai kaut kas tamlīdzīgs, 97 00:04:39,900 --> 00:04:45,150 būtībā jūs varat domāt par to, kā tur varētu būt sava veida kodu, 98 00:04:45,150 --> 00:04:49,330 saņemtu lūgumu, bet tad tas ir jādara visu šo darbu par to. 99 00:04:49,330 --> 00:04:53,060 Tas var būt, piemēram, kontaktēties datubāzi vai kaut kas tamlīdzīgs. 100 00:04:53,060 --> 00:04:53,300 Tiesības? 101 00:04:53,300 --> 00:04:56,010 Un tad tas būtu jādara šāda veida Apstrādes un tad 102 00:04:56,010 --> 00:04:57,060 nosūtīja atpakaļ atbildi. 103 00:04:57,060 --> 00:04:58,950 Tātad tas ir, piemēram, augstas līmeņa pārskats. 104 00:04:58,950 --> 00:05:04,210 >> Bet tas nav uzreiz skaidrs, kā jūs var darīt tā, ka divi cilvēki vai 105 00:05:04,210 --> 00:05:09,040 pat 1000 cilvēku varētu strādāt ar savu tīmekļa serveris, tajā pašā laikā. 106 00:05:09,040 --> 00:05:14,880 Tāpēc risinājums, ka Apache izmanto sauc tēmas vai procesi. 107 00:05:14,880 --> 00:05:16,770 Tātad, jums var būt dzirdējuši par šie noteikumi pirms. 108 00:05:16,770 --> 00:05:22,190 Tas ir OK, ja jums nav, bet tikai domā par vītnēm vai procesiem veidos 109 00:05:22,190 --> 00:05:26,290 operētājsistēma vai lietotājs programmu vai kaut kā tā vai tīmekļa serveris 110 00:05:26,290 --> 00:05:28,810 lai veida izpildīt vairākus lietas uzreiz. 111 00:05:28,810 --> 00:05:31,760 Tātad, jums var būt dzirdējuši terminu līdzīgi pavedieni izpildi. 112 00:05:31,760 --> 00:05:34,140 Tātad, tas ir veids, kā jūs veida multitasking. 113 00:05:34,140 --> 00:05:37,710 >> Un, ja esat redzējuši uz kastīti jūsu klēpjdatoru, vai kaut kas tamlīdzīgs, 114 00:05:37,710 --> 00:05:43,040 daudzkodolu, ko jūs varat darīt, ir iespējams palaist divas dažādas tēmas par dažādiem 115 00:05:43,040 --> 00:05:46,700 daļas CPU, lai tās varētu faktiski notikt vienlaikus. 116 00:05:46,700 --> 00:05:48,100 Tāpēc tas ir ļoti spēcīgs. 117 00:05:48,100 --> 00:05:52,270 Un tas ir sava veida Apache risinājums šai problēmai. 118 00:05:52,270 --> 00:05:57,900 >> Tā ir tur veids, piemēram, visiem jautājumiem ar šo pieeju, lai gan? 119 00:05:57,900 --> 00:05:59,870 Tāpēc es domāju, es veida uzrakstīju viņiem tur. 120 00:05:59,870 --> 00:06:03,440 Bet gan no tiem veida izmantot daudz atmiņas. 121 00:06:03,440 --> 00:06:07,490 Tas ir ļoti dārgi, lai izveidotu pavediens vai process. 122 00:06:07,490 --> 00:06:11,750 >> Un daļa no pamatojuma, ka tikai piemēram, kad jūs izmantojat C programmu 123 00:06:11,750 --> 00:06:15,090 kā jūsu galvenais un tad zvani citu funkciju, kas ir 124 00:06:15,090 --> 00:06:16,520 sava veida kaudze. 125 00:06:16,520 --> 00:06:19,910 Tāpēc tēmas arī pieprasīt pilnībā atsevišķa kaudze, kas 126 00:06:19,910 --> 00:06:21,220 var būt diezgan liels. 127 00:06:21,220 --> 00:06:25,170 Un, ja jūs varat iedomāties, kam t lietotājiem uz jūsu mājas lapā, jums būs 128 00:06:25,170 --> 00:06:26,280 daudz dažādas tēmas. 129 00:06:26,280 --> 00:06:28,230 Tas ir daudz skursteņi pārvaldīt un uzturēt. 130 00:06:28,230 --> 00:06:31,280 Tātad, tas ir liels atmiņas patēriņu. 131 00:06:31,280 --> 00:06:35,650 >> Un tad arī, pieņemsim, ka jums ir tikai viens CPU, vai pieņemsim, ka jums ir 132 00:06:35,650 --> 00:06:38,460 vairāk diegiem, nekā jums ir šie multicores. 133 00:06:38,460 --> 00:06:38,730 Tiesības? 134 00:06:38,730 --> 00:06:43,280 Tātad pieņemsim, ka jums bija 10 tēmas un tev bija tikai pieci CPU. 135 00:06:43,280 --> 00:06:46,260 Jūs veida ir darīt šo lietu, kurā jums pārslēgties starp pašreizējo 136 00:06:46,260 --> 00:06:49,090 viens, kas darbojas, jo jūs nevar palaist visus 10 uzreiz. 137 00:06:49,090 --> 00:06:50,980 Un ka sauc konteksts slēdzis. 138 00:06:50,980 --> 00:06:54,260 Un šis jēdziens faktiski ir pāris dažādos kontekstos, bet pieņemsim tikai 139 00:06:54,260 --> 00:06:56,620 domā par to kā pārslēgšanās starp diviem diegiem. 140 00:06:56,620 --> 00:06:59,730 Tas var būt diezgan dārga, jo Pamatā to, kas jums jādara, ir jums 141 00:06:59,730 --> 00:07:03,340 ir pārtraukt to, ko jūs darāt, saglabājiet situācija, ka darbojas pavedienu, un 142 00:07:03,340 --> 00:07:05,440 tad pāriet uz kaut ko citu. 143 00:07:05,440 --> 00:07:09,420 >> Lai vai visi veida redzēt motivācija, kāpēc pavedieni un 144 00:07:09,420 --> 00:07:12,030 process var būt nedaudz lielgabarīta? 145 00:07:12,030 --> 00:07:13,840 Un vai jums ir jautājums? 146 00:07:13,840 --> 00:07:14,376 OK. 147 00:07:14,376 --> 00:07:15,070 Atdzist. 148 00:07:15,070 --> 00:07:18,090 Kāds ir kādi jautājumi? 149 00:07:18,090 --> 00:07:19,620 OK. 150 00:07:19,620 --> 00:07:26,720 >> Tātad, ja mēs soli atpakaļ uz otru, tur ir veids, piemēram, 151 00:07:26,720 --> 00:07:30,350 novērojums, ka mēs varam padarīt par daudz tīmekļa lietojumprogrammas. 152 00:07:30,350 --> 00:07:34,810 Un tas ir patiesi, ka daudzi no viņiem tiešām nav darīt, ka daudz noderīgu 153 00:07:34,810 --> 00:07:37,140 strādāt iekšpusē pavedienu. 154 00:07:37,140 --> 00:07:41,170 Tātad ir kāds sākās P noteikti septiņi vispār? 155 00:07:41,170 --> 00:07:45,650 Tātad jūs vēlaties, lai varbūt aprakstītu daži no daļām? 156 00:07:45,650 --> 00:07:47,850 Vai Jūs strādājāt pie login vai kaut kas tamlīdzīgs? 157 00:07:47,850 --> 00:07:49,330 >> Mērķauditorija: Nē. 158 00:07:49,330 --> 00:07:49,780 >> KEVIN SCHMID: OK. 159 00:07:49,780 --> 00:07:50,150 Nekas. 160 00:07:50,150 --> 00:07:50,900 Piedodiet. 161 00:07:50,900 --> 00:07:55,790 Bet būtībā, jo P komplektu, jūs būs padarīt daudz veida 162 00:07:55,790 --> 00:07:59,760 vaicājumus uz datu bāzi, lai iegūtu dažus informāciju no šīs datubāzes. 163 00:07:59,760 --> 00:08:03,330 Un kādas ir jūsu kods būs darīt, ko tas Apache process vai 164 00:08:03,330 --> 00:08:06,030 ka Apache pavediens ir gatavojas darīt kamēr tā ir jāsazinās 165 00:08:06,030 --> 00:08:08,990 Datu bāze ir tas sava veida būs sēž tur, un tas būs 166 00:08:08,990 --> 00:08:12,130 gaida datu bāzi, lai atbildētu. 167 00:08:12,130 --> 00:08:16,290 >> Tagad, iespējams, neizklausās, ka liels risināt, jo datubāze ir jūsu 168 00:08:16,290 --> 00:08:18,240 CS50 ierīces, vai ne? 169 00:08:18,240 --> 00:08:22,930 Bet tur ir kaut kāda veida tīkla latentuma ir tāpēc, ka tagad web 170 00:08:22,930 --> 00:08:26,830 serveris ir izdot savu pieprasījumu datu bāzi, lai sazinātos ar 171 00:08:26,830 --> 00:08:29,520 datu bāzē un pēc tam iegūt, ka informācijas atpakaļ. 172 00:08:29,520 --> 00:08:33,190 Tāpēc tagad tas ir tāpat arī gaidīt uz mani, es esmu gatavojas iet saņemt kaut ko no 173 00:08:33,190 --> 00:08:35,770 datubāzē un tad tur ir gaidīšanas notiek daudz. 174 00:08:35,770 --> 00:08:36,870 Vai tas ir jēga? 175 00:08:36,870 --> 00:08:38,580 >> Un par dažām lietām, tas nav tik slikti. 176 00:08:38,580 --> 00:08:41,950 Ja tas tikai ir, piemēram, piekļuves atmiņa, kas ir nepatīk 177 00:08:41,950 --> 00:08:44,100 briesmīgs I / O latentuma. 178 00:08:44,100 --> 00:08:47,110 Un, kad es saku, I / O latentuma, ko es esmu atsaucoties uz ir tāpat kā jebkura veida, piemēram, 179 00:08:47,110 --> 00:08:48,290 ievades izvades. 180 00:08:48,290 --> 00:08:52,950 , Bet, lai piekļūtu failu uz diska, piemēram ja es gribēju, lai kalpotu statisku HTML 181 00:08:52,950 --> 00:08:57,850 failu, kas bija par manu mājas lapā vai kaut kas tamlīdzīgs, es veida ir 182 00:08:57,850 --> 00:09:02,310 apstāties, lai mazliet, lasīt šo failu no diska, un pēc tam 183 00:09:02,310 --> 00:09:04,400 ka process es gaidu. 184 00:09:04,400 --> 00:09:06,700 Es to nedaru noderīgu darbu. 185 00:09:06,700 --> 00:09:11,270 >> Tas nav taisnība par visu, bet tas ir izplatīts lietojumprogrammas, piemēram, P komplektā 186 00:09:11,270 --> 00:09:13,960 septiņi un daudz pieteikumu ka jūs neesat 187 00:09:13,960 --> 00:09:15,440 faktiski dara daudz domāšanu. 188 00:09:15,440 --> 00:09:19,090 Un, kad es saku domāt, es domāju piemēram, skaitļošanas darbu. 189 00:09:19,090 --> 00:09:23,270 Tāpēc skaitļošanas darbu varētu būt kaut kas tāpat kā, teiksim, jūs vēlaties, lai 190 00:09:23,270 --> 00:09:26,590 uzrakstīt web serveri, kas tikko ir aprēķināta n Fibonacci numuru. 191 00:09:26,590 --> 00:09:29,300 Tas neizklausās īpaši fun tīmekļa servera. 192 00:09:29,300 --> 00:09:34,220 Piemēram, es nevarētu gaidīt, ka vietā, lai nākamais Facebook, bet tas ir daži 193 00:09:34,220 --> 00:09:35,610 veida skaitļošanas darbu. 194 00:09:35,610 --> 00:09:39,570 >> Un jūs varat iedomāties, aizstāt, ka ar kāda cita veida interesantu 195 00:09:39,570 --> 00:09:43,070 skaitļošanas darbu. 196 00:09:43,070 --> 00:09:46,050 Pieņemsim, ka jums bija rakstīt kaut ko kas aprēķināta pakāpi 197 00:09:46,050 --> 00:09:49,170 dalījums starp diviem cilvēkiem vai kaut kas tamlīdzīgs. 198 00:09:49,170 --> 00:09:51,860 Tāpēc, ka tas ir kaut kāda veida Aprēķina, vai ne? 199 00:09:51,860 --> 00:09:56,630 Un pat tad, darīt, ka jums vēl joprojām ir darīt daudz gaida varbūt 200 00:09:56,630 --> 00:09:59,550 Jums ir, lai vaicājumu datu bāzi, lai meklētu up, kas ir draugos ar kurš vai 201 00:09:59,550 --> 00:10:00,600 kaut kā tā. 202 00:10:00,600 --> 00:10:03,510 Tāpēc tur ir, ka sava veida jēdziena skaitļošanas darbu. 203 00:10:03,510 --> 00:10:05,260 Vai tas ir jēga? 204 00:10:05,260 --> 00:10:08,258 Vai kāds ir kādi jautājumi? 205 00:10:08,258 --> 00:10:11,960 >> Ak, un es domāju, man tērzēšanas serverus tur jo tērzēšanas serveri ir sava veida 206 00:10:11,960 --> 00:10:13,240 vēl viens labs piemērs. 207 00:10:13,240 --> 00:10:15,250 Tērzēšanas serverim nav darīt daudz domāšanu. 208 00:10:15,250 --> 00:10:18,350 Tas vienkārši ir jāgaida, lai cilvēki varētu sūtīt ziņojumus un pēc tam, kad 209 00:10:18,350 --> 00:10:19,800 tie, sūtīt tos. 210 00:10:19,800 --> 00:10:21,050 OK? 211 00:10:21,050 --> 00:10:23,410 212 00:10:23,410 --> 00:10:28,180 >> Tik vienkārši, lai Atgādinājums atkal, Apache un līdzīgi web serveri, piemēram, ka dakšas a 213 00:10:28,180 --> 00:10:31,470 pavedieni un procesu daudz kas var būt sava veida izšķērdīgs. 214 00:10:31,470 --> 00:10:37,530 Tāpēc es domāju, ka jautājums, kas var nākt No kas mums ir nepieciešams, lai būtu 215 00:10:37,530 --> 00:10:39,610 vairākas tēmas un procesus? 216 00:10:39,610 --> 00:10:41,890 Ko darīt, ja mēs tikko bija viens? 217 00:10:41,890 --> 00:10:45,710 >> Tāpēc pieņemsim veida uzzīmēt zīmējumu par to, ko tas izskatās. 218 00:10:45,710 --> 00:10:47,810 Tā ļauj izmantot tikai vienu pavedienu. 219 00:10:47,810 --> 00:10:48,660 OK? 220 00:10:48,660 --> 00:10:52,790 Tik vienkārši iedomāties to ar vienu pavedienu. 221 00:10:52,790 --> 00:10:56,600 >> Pieņemsim, ka mēs īsti darām ka daudz noderīga - un kad es saku 222 00:10:56,600 --> 00:10:59,450 noderīgs, es domāju skaitļošanas darbs - 223 00:10:59,450 --> 00:11:01,130 Šādos vairākiem diegiem pirms tam. 224 00:11:01,130 --> 00:11:04,180 Tāpēc pieņemsim veida konsolidēt viss vienā pavedienu. 225 00:11:04,180 --> 00:11:07,780 Tātad, ko tad, ja mums bija viens pavediens, kas veida vienkārši iet apkārt cilpu un 226 00:11:07,780 --> 00:11:10,880 pastāvīgi pārbaudes izdarīja kaut ko Jaunais notikt. 227 00:11:10,880 --> 00:11:15,130 Tā, piemēram, kaut kas jauns noticis varētu nozīmēt Man kaut ko atpakaļ no 228 00:11:15,130 --> 00:11:19,310 datu bāzē, vai kāds nosūta man jaunu HTTP pieprasījumu. 229 00:11:19,310 --> 00:11:22,290 Tātad tie ir sava veida notikumu tā notiek, vai ne? 230 00:11:22,290 --> 00:11:26,130 >> Un tad ko es varu darīt, ja tie ir jauni lietas notiek, ir šajā pašā pavedienu 231 00:11:26,130 --> 00:11:30,120 izpildes, šī vienotā pavediens izpildi, es varu zvanīt kādu kodu, kas 232 00:11:30,120 --> 00:11:32,410 varētu rīkoties šo konkrēto lietu. 233 00:11:32,410 --> 00:11:36,640 Tā, piemēram, ja es saņēmu kaut ko atpakaļ no datubāzes, es varētu palaist manu 234 00:11:36,640 --> 00:11:40,960 neliela skaitļošanas daļa no tā, kas faktiski tikai sagatavo lieta 235 00:11:40,960 --> 00:11:42,620 nosūta atpakaļ uz lietotāja. 236 00:11:42,620 --> 00:11:46,710 Tātad tas, ka sava veida jēga? 237 00:11:46,710 --> 00:11:49,940 >> Bet to, kas ir patiešām sekas ir? 238 00:11:49,940 --> 00:11:50,660 Tiesības? 239 00:11:50,660 --> 00:11:53,730 Jo mēs esam rakstiski daudz kodu, kas - 240 00:11:53,730 --> 00:11:58,330 un es esmu tikai gatavojas lēkt uz priekšu Slaidi, ja tas ir OK. 241 00:11:58,330 --> 00:12:00,930 Tātad, ja jums nav prātā, es esmu tikai gatavojas spert soli atpakaļ. 242 00:12:00,930 --> 00:12:03,410 Tātad šāda veida lieta ir sauc notikums cilpu. 243 00:12:03,410 --> 00:12:04,070 OK? 244 00:12:04,070 --> 00:12:07,240 Un tas ir sava veida pamata Ideja Node.js. 245 00:12:07,240 --> 00:12:11,240 >> Tātad, kas Node.js īsti dara, kā web serveris ir tur viens pavediens 246 00:12:11,240 --> 00:12:14,850 , kas būtībā notiek apkārt pa apli piemēram, bet viena veida nepietiekami 247 00:12:14,850 --> 00:12:18,510 kapuci Node.js kas ir pastāvīgi pārbaudot, vai mēs saņemt jaunas lietas? 248 00:12:18,510 --> 00:12:22,720 Un tad tas darbosies manipulatori kas jums izveidot. 249 00:12:22,720 --> 00:12:26,720 Bet labs jautājums uzdot ir, kā mēs varam padarīt šo notikt 250 00:12:26,720 --> 00:12:28,090 ar esošām lietām? 251 00:12:28,090 --> 00:12:32,440 >> Tāpēc man līnijas C kodu šeit, ka būtībā izskatās, ka tas ir atverot 252 00:12:32,440 --> 00:12:33,060 failu, vai ne? 253 00:12:33,060 --> 00:12:36,090 Es Viņa tikko iznāca ar albumu. 254 00:12:36,090 --> 00:12:39,600 Tāpēc man nācās atvērt viņai jaunu failu. 255 00:12:39,600 --> 00:12:43,810 Tā kā mūsu C kodu, kas darbojas - 256 00:12:43,810 --> 00:12:47,890 un es domāju, iemesls, kāpēc es izvēlējos failus biju jo tas ir veids, ciktāl 257 00:12:47,890 --> 00:12:52,000 no I / O darbu, ko mēs esam darījuši C sajūta, ka tur ir ieejas izejas. 258 00:12:52,000 --> 00:12:55,070 Tāpēc mēs saucam šo kodu, kas dara f atvērts. 259 00:12:55,070 --> 00:12:59,370 Un tad nākamajā līnijas mūsu programmu, mēs tagad varam strādāt ar f. 260 00:12:59,370 --> 00:13:02,710 >> Tātad tas varētu būt piemērs kaut tas ir tāpat kā sinhronas vai 261 00:13:02,710 --> 00:13:06,850 bloķēt jo šajā pirmajā rindā tur mēs gaidām, kamēr mēs 262 00:13:06,850 --> 00:13:08,110 get failu atvērt. 263 00:13:08,110 --> 00:13:12,260 Tātad otrajā rindā, mēs zinām, ka mēs var strādāt ar F, bet tas nozīmē, ka 264 00:13:12,260 --> 00:13:16,240 ka otrajā rindā nevar īsti darboties līdz pirmā līnija tiek darīts. 265 00:13:16,240 --> 00:13:17,760 Vai tas ir jēga? 266 00:13:17,760 --> 00:13:20,890 >> Tāpēc tas būtu slikti, lai kādā notikumu apdarinātājs. 267 00:13:20,890 --> 00:13:23,920 Un iemesls tam ir tas, ka šāda veida gaida, vai ne? 268 00:13:23,920 --> 00:13:26,500 Tāpēc tas atgriezīsies mūs uz vienu un to pašu. 269 00:13:26,500 --> 00:13:29,470 Un tagad mēs pat nebūtu Ieguvums no vairākiem diegiem, vai 270 00:13:29,470 --> 00:13:32,390 procesi, jo mēs saņēmām viens pavediens Node.js. 271 00:13:32,390 --> 00:13:35,496 Vai tas ir jēga, lai visiem? 272 00:13:35,496 --> 00:13:35,990 >> Mērķauditorija: Pagaidiet. 273 00:13:35,990 --> 00:13:36,980 Tātad, kas ir nomaiņa? 274 00:13:36,980 --> 00:13:37,840 >> KEVIN SCHMID: Ak, tā jā. 275 00:13:37,840 --> 00:13:39,560 Tāpēc es esmu gatavojas nokļūt nomaiņa. 276 00:13:39,560 --> 00:13:40,430 OK. 277 00:13:40,430 --> 00:13:42,960 Tātad, ko tad, ja mums bija kaut kas ka izskatījās? 278 00:13:42,960 --> 00:13:45,730 Tātad, ko tad tagad es edited f atvērt maz? 279 00:13:45,730 --> 00:13:48,370 Tāpēc es veidā, kas pats divi argumenti, kā agrāk. 280 00:13:48,370 --> 00:13:52,610 Es joprojām mīlu jaunu dziesmu ka viņa nāca klajā ar. 281 00:13:52,610 --> 00:13:57,260 Bet es esmu iet trešā lieta, kas ir šis mainīgais sauc kodu. 282 00:13:57,260 --> 00:14:02,280 >> Bet to, kas ir kods, kas faktiski šajā kontekstā? 283 00:14:02,280 --> 00:14:05,360 Tas ir tāpat kā regulāru C mainīgo? 284 00:14:05,360 --> 00:14:06,740 Tā ir funkcija, vai ne? 285 00:14:06,740 --> 00:14:09,450 , Un kas var būt nedaudz dīvaini, jo Es tiešām, piemēram, tagad iet 286 00:14:09,450 --> 00:14:12,320 darbotos uz citu funkciju. 287 00:14:12,320 --> 00:14:14,400 >> Tāpēc pāris lietas, kas piezīmi par to. 288 00:14:14,400 --> 00:14:17,145 Viens, es neesmu faktiski aicinot koda funkciju. 289 00:14:17,145 --> 00:14:20,650 Tātad jūs neredzat kodu, pa kreisi paren, tiesības paren. 290 00:14:20,650 --> 00:14:23,010 Es esmu tikai garāmejot kodu. 291 00:14:23,010 --> 00:14:26,990 Un C, ko tas patiesībā darīt ir man rādītāju, ka faktiskais 292 00:14:26,990 --> 00:14:29,740 kodu, un tad tas varētu vadīt to. 293 00:14:29,740 --> 00:14:33,350 Bet tikai domā par to, kā jūs esat iet kodu, lai palaistu, kad 294 00:14:33,350 --> 00:14:35,150 ka fails ir atvērts. 295 00:14:35,150 --> 00:14:41,430 >> Bet ko tas nozīmē, ka tagad pārējo manu programmu, kas varētu darīt 296 00:14:41,430 --> 00:14:47,050 citas lietas, var turpināt darīt citas sīkumi, kamēr mēs, nav īsti gaidīt, bet 297 00:14:47,050 --> 00:14:50,890 vienkārši ir aizmugurē mūsu galvām, ka ja šis fails ir atvērts, palaist, ka 298 00:14:50,890 --> 00:14:52,130 kods augšpusē. 299 00:14:52,130 --> 00:14:53,390 Vai tas ir jēga? 300 00:14:53,390 --> 00:14:58,060 >> Un tagad ideja Node.js ir tāda, ka kods, kas darīt lietas ar f 301 00:14:58,060 --> 00:15:04,590 daļai vajadzētu būt diezgan īss un vienkāršs un vienkārša, un nav īsti 302 00:15:04,590 --> 00:15:06,160 Ļoti skaitļošanas intensīva. 303 00:15:06,160 --> 00:15:09,390 Tā var būt, lai atvērtu citu failu, bet tas arī būtu diezgan ātri 304 00:15:09,390 --> 00:15:14,710 tāpēc, ka tas ir tikai teikt, darīt citas f atvērt un tad to sauc citu kodu. 305 00:15:14,710 --> 00:15:19,100 >> Tik vienkārši, lai būtu pilnīgi skaidrs, f atvērtu, ka tas jaunais Katy Perry dziesmu 306 00:15:19,100 --> 00:15:23,060 darīts mp3, kas notiek uz diezgan daudz atpakaļ nekavējoties. 307 00:15:23,060 --> 00:15:27,820 Un tad mēs varam tikai turpināt darīt citas lietas, jo viss, kas tagad ir f 308 00:15:27,820 --> 00:15:33,410 Atklāts konkurss tas ir pateikt pamatā Pamatā f atvērta koda atvērt šo failu 309 00:15:33,410 --> 00:15:36,020 un, kad esat pabeidzis atvērt šo failu vai tad, kad jums to atpakaļ, 310 00:15:36,020 --> 00:15:37,480 tad palaist šo kodu. 311 00:15:37,480 --> 00:15:39,540 Bet tas nav reāli palaist šo kodu. 312 00:15:39,540 --> 00:15:41,815 Un jums bija jautājums? 313 00:15:41,815 --> 00:15:46,180 >> Mērķauditorija: Jums šķita nozīmē dažas reizes, ka pievienojot skaitļošanas 314 00:15:46,180 --> 00:15:50,545 intensīva kods veida pauze [Dzirdams] orientētu sistēmu. 315 00:15:50,545 --> 00:15:51,795 [Dzirdams]? 316 00:15:51,795 --> 00:15:54,450 317 00:15:54,450 --> 00:15:55,290 >> KEVIN SCHMID: Tas ir liels jautājums. 318 00:15:55,290 --> 00:15:59,280 Tāpēc man tiešām ir piemērs tam, kā jūs varētu integrēt skaitļošanas 319 00:15:59,280 --> 00:16:01,090 intensīva kodu mazliet. 320 00:16:01,090 --> 00:16:03,620 Tātad, kad mēs nokļūt koda piemērus, Es būšu pārliecināts pull, ka viens. 321 00:16:03,620 --> 00:16:04,700 Vai tas ir OK? 322 00:16:04,700 --> 00:16:05,950 Paldies. 323 00:16:05,950 --> 00:16:07,690 324 00:16:07,690 --> 00:16:08,750 >> Kāds bija tavs vārds? 325 00:16:08,750 --> 00:16:10,620 >> Mērķauditorija: Aaron. 326 00:16:10,620 --> 00:16:14,830 >> KEVIN SCHMID: Aaron parādīs ļoti labs punkts, kas ir tas, ka, ja man bija 327 00:16:14,830 --> 00:16:18,560 daži skaitļošanas intensīva kods do sīkumi ar F daļa, pārējā 328 00:16:18,560 --> 00:16:22,880 mana programma nevar darboties un nevar klausīties jaunām prasībām vai neko, līdz viss 329 00:16:22,880 --> 00:16:24,270 ka sīkumi ir pabeigta. 330 00:16:24,270 --> 00:16:27,390 Tātad, ja es esmu rakstot Node kodu vispār ja mēs kaut ko darīt, piemēram, es esmu gatavojas 331 00:16:27,390 --> 00:16:33,060 ieteikt vēlāk, kad mēs skatāmies koda piemērus, man ir jābūt pārliecinātiem, ka 332 00:16:33,060 --> 00:16:36,060 mans kods nav sasiet šis notikums cilpa. 333 00:16:36,060 --> 00:16:38,120 Vai tas ir jēga? 334 00:16:38,120 --> 00:16:38,350 OK. 335 00:16:38,350 --> 00:16:40,040 Atdzist. 336 00:16:40,040 --> 00:16:47,090 >> Tāpēc Node.js piedāvā šo sistēmu, kas Jūs varat veidot šo notikumu orientētu 337 00:16:47,090 --> 00:16:48,210 serveri ar. 338 00:16:48,210 --> 00:16:53,460 Tāpēc tas ir šos asinhronā veida ne-bloķēšanu I / O bibliotēkas, bet 339 00:16:53,460 --> 00:16:56,800 standarta C bibliotēkas, ka mēs esam bijuši strādā ar, piemēram, ja jūs vienkārši 340 00:16:56,800 --> 00:16:59,500 izmantot tos tādā pašā veidā, ka esam bijis, izmantojot tos ar f atveras un 341 00:16:59,500 --> 00:17:03,000 sīkumi, tie bloķē, jo Jums tiešām ir jāgaida 342 00:17:03,000 --> 00:17:04,470 ka failu atvērt. 343 00:17:04,470 --> 00:17:09,290 >> Bet Node.js dod jums šo un to Pamatā saites uz Google V8 344 00:17:09,290 --> 00:17:14,030 JavaScript dzinējs, kas ir iemesls, ka Chrome ir tik ātri pie apstrādei 345 00:17:14,030 --> 00:17:17,040 JavaScript jo ir šo V8 dzinēju. 346 00:17:17,040 --> 00:17:22,460 Tāpēc es zinu, ka izklausās kā viens no tiem, WWDC izstrādātāju konferences lieta 347 00:17:22,460 --> 00:17:25,390 ja viņi vienkārši mest ķekars Vēstulē numurs lietas, pārstrādātājiem 348 00:17:25,390 --> 00:17:26,910 un teikt, tas ir tik forši. 349 00:17:26,910 --> 00:17:34,200 Bet tas ir forši, ka viņi darīja Tas tāpēc, ka JavaScript - 350 00:17:34,200 --> 00:17:37,010 vai varbūt, ja jūs neesat pazīstams ar JavaScript vēl jo mums nav bijis 351 00:17:37,010 --> 00:17:38,180 lekcijas par to - 352 00:17:38,180 --> 00:17:40,770 bet JavaScript ir interpretējams valoda. 353 00:17:40,770 --> 00:17:41,970 >> Un tas ir svarīgs jautājums arī. 354 00:17:41,970 --> 00:17:45,790 Tātad, tas ir svarīgi, lai mūsu mājas serveriem, lai būtu ātri, vai ne? 355 00:17:45,790 --> 00:17:49,970 Un, ja mēs vienkārši darbojas JavaScript kods, kas tika interpretēts tikai ar 356 00:17:49,970 --> 00:17:52,130 jebkurš vecs tulks tas varētu būt lēna. 357 00:17:52,130 --> 00:17:55,980 Tāpēc Mezgls priekšrocības no šīs super ātri V8 tulks. 358 00:17:55,980 --> 00:17:59,580 Un es nezinu, vai viņi nosauca to jo V8 pļauka pieres 359 00:17:59,580 --> 00:18:01,110 lieta, bet OK. 360 00:18:01,110 --> 00:18:07,070 >> Tāpēc es esmu sagatavojis dažus piemērus Šajā URL. 361 00:18:07,070 --> 00:18:10,490 Pēc semināra, es esmu veida gatavojas runāt par to, kā jūs varat iegūt Node komplektu 362 00:18:10,490 --> 00:18:13,570 augšu, bet tagad, es tikai veida vēlaties iet caur kādu koda piemērus. 363 00:18:13,570 --> 00:18:17,250 Tātad, ja jūs vēlaties sekot līdzi, visi pirmkods ir pieejams tur. 364 00:18:17,250 --> 00:18:18,720 OK? 365 00:18:18,720 --> 00:18:22,280 >> Tāpēc es ņemšu atvaļinājumu šo URL up maz. 366 00:18:22,280 --> 00:18:24,440 Un tad es esmu tikai gatavojas pāriet uz terminālu. 367 00:18:24,440 --> 00:18:29,670 368 00:18:29,670 --> 00:18:34,400 Ir visiem labi ar šo URL? 369 00:18:34,400 --> 00:18:37,990 Tāpēc es esmu gatavojas, lai pārslēgtos manu termināla šeit. 370 00:18:37,990 --> 00:18:42,030 >> Tātad, šeit ir kods, kas Man ir šodien. 371 00:18:42,030 --> 00:18:43,960 Kāpēc ne mēs sākam ar simpler.js failu? 372 00:18:43,960 --> 00:18:49,110 373 00:18:49,110 --> 00:18:52,100 Otra lieta ir tā, ka tas viss kods tiks rakstīts 374 00:18:52,100 --> 00:18:56,660 JavaScript kas jūs var vai var nebūt pazīstami ar. 375 00:18:56,660 --> 00:19:00,170 Es domāju, pāris lietas, ir tas, ka daudz JavaScript kods ir sava veida 376 00:19:00,170 --> 00:19:04,000 sintakse un struktūra ir ļoti līdzīga C, lai jūs varētu veida paņemt to, kā 377 00:19:04,000 --> 00:19:05,020 jums iet līdzi. 378 00:19:05,020 --> 00:19:08,750 Es esmu mēģinājis uzrakstīt daudz sākot kodu šo tādā veidā, ka ir 379 00:19:08,750 --> 00:19:11,230 līdzīga C tā, ka tas ir nedaudz vairāk lasāms. 380 00:19:11,230 --> 00:19:15,980 Bet kā mēs progress, es būšu parādot dažas papildu 381 00:19:15,980 --> 00:19:18,980 iezīmes JavaScript ka ir veida atdzist. 382 00:19:18,980 --> 00:19:21,510 >> Bet aplūkosim šīs programmas paraugā. 383 00:19:21,510 --> 00:19:24,820 Es domāju, viss ir nogriezts tur. 384 00:19:24,820 --> 00:19:28,500 Es esmu tikai gatavojas noteikt, ka reālā ātri, ja tas ir OK, vai ne. 385 00:19:28,500 --> 00:19:31,400 Es nezinu, kas tas ir gatavojas darīt. 386 00:19:31,400 --> 00:19:34,660 Ir tāds, ka mazliet labāk? 387 00:19:34,660 --> 00:19:36,510 Vai jūs varat redzēt Var un stuff? 388 00:19:36,510 --> 00:19:39,320 OK. 389 00:19:39,320 --> 00:19:44,120 >> Tātad pirmā līnija ir kā JavaScript variants ir mainīgs 390 00:19:44,120 --> 00:19:44,800 deklarācija. 391 00:19:44,800 --> 00:19:49,870 Tik vienkārši, lai izceltu to, ko tas izskatās C. Tātad tas ir tāpat kā 392 00:19:49,870 --> 00:19:52,620 man sakot indekss ir trīs vai kaut kas tamlīdzīgs. 393 00:19:52,620 --> 00:19:55,740 Tāpēc es neprecizēja veidu. 394 00:19:55,740 --> 00:20:00,780 JavaScript tiešām ir veidi, bet tas ir ļoti dinamiski drukāti raksturs, tāpēc 395 00:20:00,780 --> 00:20:02,580 nesniedza nekādu rakstīt par to. 396 00:20:02,580 --> 00:20:03,670 Tātad, tas vienkārši ir var. 397 00:20:03,670 --> 00:20:05,320 Tas ir tāpat kā mainīgais. 398 00:20:05,320 --> 00:20:05,920 OK? 399 00:20:05,920 --> 00:20:08,340 >> Un es esmu aicinot šo mainīgo HTTP. 400 00:20:08,340 --> 00:20:12,480 Un manā labajā pusē, man ir izteiksme, ka es gribu, lai HTTP. 401 00:20:12,480 --> 00:20:14,960 Un tas saka nepieciešama HTTP. 402 00:20:14,960 --> 00:20:18,500 Tātad tas ir sava veida līdzīgs iekļaut. 403 00:20:18,500 --> 00:20:22,940 Tas ir nedaudz vairāk kā spēcīgu, nekā iekļaut tādā nozīmē, kas ietver 404 00:20:22,940 --> 00:20:26,100 vienkārši kopēt un ielīmēt galveni failu funkciju prototipus vai 405 00:20:26,100 --> 00:20:27,930 kāds ar tipa definīcijām. 406 00:20:27,930 --> 00:20:30,590 Bet tas prasa patiesībā notiek lai iegūtu mums kodu. 407 00:20:30,590 --> 00:20:33,280 >> Tātad, jūs varat domāt par to kā importē daži kodu. 408 00:20:33,280 --> 00:20:37,960 Tātad kaut kur Node.js modulī sistēma vai kāds viņiem ir tas viss 409 00:20:37,960 --> 00:20:40,790 HTTP serveri kodu, tāpēc es esmu tikai Ienesot to mana 410 00:20:40,790 --> 00:20:43,130 personīgai lietošanai šajā programmā. 411 00:20:43,130 --> 00:20:44,260 OK? 412 00:20:44,260 --> 00:20:46,930 >> Tātad man ir šo funkciju ka es esmu uzrakstījis. 413 00:20:46,930 --> 00:20:50,330 Un paziņojums, man nav jānorāda atgriešanās veidu vai par veidu 414 00:20:50,330 --> 00:20:51,140 argumenti vēlreiz. 415 00:20:51,140 --> 00:20:54,440 Tā veida vaļīgi ierakstījāt šāda veida ziņā. 416 00:20:54,440 --> 00:20:57,290 Divi argumenti, ka tā veic, pieprasījums un atbilde. 417 00:20:57,290 --> 00:21:02,080 Tātad tas ir konceptuāli veida, piemēram, pazīstams no attēla, ka mums bija 418 00:21:02,080 --> 00:21:05,280 uz ekrāna pirms, jo mēs šo lūgumu, lai mēs 419 00:21:05,280 --> 00:21:06,410 ir no lietotāja. 420 00:21:06,410 --> 00:21:09,170 Un tad mums ir atbildes, kas mēs varam rakstīt lietas. 421 00:21:09,170 --> 00:21:15,060 >> Tāpēc pirmajā rindā tas tomēr res.writeHead 200 un tad tas 422 00:21:15,060 --> 00:21:17,070 satura tipa tekstu plain. 423 00:21:17,070 --> 00:21:19,300 Tāpēc pieņemsim gabals šis izņemot maz. 424 00:21:19,300 --> 00:21:22,340 Tāpēc pieņemsim tikai koncentrēties uz res.write par maz. 425 00:21:22,340 --> 00:21:28,420 Tāpēc rakstīt pamatā, un rakstīt galvu, ir tikai veidi, kā sava veida rakstīt out 426 00:21:28,420 --> 00:21:29,960 lietas, kas atbildes. 427 00:21:29,960 --> 00:21:30,770 OK? 428 00:21:30,770 --> 00:21:36,230 Tātad rakstīt galvu, ja kāds atceras no HTTP lekciju, jūs guys 429 00:21:36,230 --> 00:21:39,940 atcerieties galvenes at top HTTP lieta? 430 00:21:39,940 --> 00:21:43,580 Tātad, kāpēc ne es tikai demo galvenes reālā ātri. 431 00:21:43,580 --> 00:21:44,640 Tas var būt noderīgs? 432 00:21:44,640 --> 00:21:45,500 Vai mums vajadzētu vienkārši veida - 433 00:21:45,500 --> 00:21:46,070 OK. 434 00:21:46,070 --> 00:21:46,740 Pārliecināts. 435 00:21:46,740 --> 00:21:52,340 >> Tātad, ja jūsu pārlūkprogrammā iet uz google.com vai kaut kas tamlīdzīgs, 436 00:21:52,340 --> 00:21:54,250 tur tiešām nedaudz vairāk - 437 00:21:54,250 --> 00:21:55,380 tas ir kā noslēpums - 438 00:21:55,380 --> 00:21:58,340 tur ir kā nedaudz vairāk informācijas kas nāk caur cauruli, nevis tikai 439 00:21:58,340 --> 00:22:00,180 maz meklēšanas un viss. 440 00:22:00,180 --> 00:22:03,550 Tātad, lai parādītu jums, es esmu gatavojas izmantot programmu, ko sauc Curl. 441 00:22:03,550 --> 00:22:04,260 OK? 442 00:22:04,260 --> 00:22:08,020 Tāpēc tas ir kaut kas, ka jūs varat palaist Mac OSX komandrindas vai 443 00:22:08,020 --> 00:22:09,830 ierīce vai kāds. 444 00:22:09,830 --> 00:22:17,050 Un tāpēc, ja man Curl HTTP google.com, Es esmu gatavojas, lai redzētu HTML. 445 00:22:17,050 --> 00:22:21,230 Un tas ir, taisnīgumu, tikai HTML ka veida stāsta jums 446 00:22:21,230 --> 00:22:24,695 novirzīt uz www, ja jūsu pārlūkprogrammā nav automātiski apstrādāt 447 00:22:24,695 --> 00:22:27,110 redirection. 448 00:22:27,110 --> 00:22:33,390 >> Tāpēc tas ir tikai HTML, bet es esmu gatavojas pievienot Curl šo defisi I karogu. 449 00:22:33,390 --> 00:22:33,600 OK? 450 00:22:33,600 --> 00:22:35,600 Un tas notiek, lai parādītu me galvenes. 451 00:22:35,600 --> 00:22:40,640 Tātad tas ir arī informācija, kas nāk cauri, ja es varu saņemt šo atbildi. 452 00:22:40,640 --> 00:22:41,260 OK? 453 00:22:41,260 --> 00:22:45,320 >> Tā augšpusē, redzat šo HTTP 301 pārvietot pastāvīgi. 454 00:22:45,320 --> 00:22:49,470 Un tas ir sava veida svarīga, jo Tas attiecas uz statusa kodu. 455 00:22:49,470 --> 00:22:53,750 Tātad 301 šeit ir statusa kods, , kas ir būtībā tikai vesels skaitlis 456 00:22:53,750 --> 00:22:57,750 , kas stāsta pārlūku vai kurš ir piemērots lasot šo, ja jūs izlikties, ka 457 00:22:57,750 --> 00:23:01,460 tu esi pārlūku un jūs redzēt to, būtībā tagad, ja paskatās 458 00:23:01,460 --> 00:23:04,960 ka, un jūs redzat 301, jūs zināt, man ir darīt kaut ko īpašu, pamatojoties uz 459 00:23:04,960 --> 00:23:08,810 301, vai arī kaut kas īpašs noticis pamatojoties uz 301. 460 00:23:08,810 --> 00:23:12,640 Tāpēc tā saka pārvietots pastāvīgi. 461 00:23:12,640 --> 00:23:17,700 >> Un tad, būtībā, mēs esam ķekars galveno vērtību pārus. 462 00:23:17,700 --> 00:23:22,100 Lai mēs iegūtu vietu ir www.google.com. 463 00:23:22,100 --> 00:23:25,190 Un tad veida visu šo citas lietas, bet būtībā, kāda vieta ir 464 00:23:25,190 --> 00:23:29,662 teiciens ir jauna vieta ir www.google.com. 465 00:23:29,662 --> 00:23:33,800 Tāpēc tagad, ja jūs doties uz google.com, jūs veida redzēt pārlūka veida mirgot 466 00:23:33,800 --> 00:23:38,770 par otro un pēc tam novirzīt jūs tiesības atpakaļ uz www.google.com. 467 00:23:38,770 --> 00:23:41,840 Tāpēc atbildes var saturēt šīs galvenes. 468 00:23:41,840 --> 00:23:43,330 >> Un pāris lietas norādīt. 469 00:23:43,330 --> 00:23:46,890 Tātad pieņemsim, ka mēs faktiski veiksmīgi apmeklējot mājas lapā. 470 00:23:46,890 --> 00:23:49,040 Tātad, ļaujiet man iet - 471 00:23:49,040 --> 00:23:51,080 kas ir labs mājas lapā? 472 00:23:51,080 --> 00:23:53,285 Es esmu slikti domāt labas mājas lapas uz vietas. 473 00:23:53,285 --> 00:23:53,640 >> Mērķauditorija: Wikipedia. 474 00:23:53,640 --> 00:23:54,160 >> KEVIN SCHMID: OK. 475 00:23:54,160 --> 00:23:56,040 Darīsim Wikipedia. 476 00:23:56,040 --> 00:23:58,680 Tātad, šeit es tika pārvietota. 477 00:23:58,680 --> 00:23:59,240 Oh wait. 478 00:23:59,240 --> 00:24:00,160 Es biju? 479 00:24:00,160 --> 00:24:00,890 Jā, es biju. 480 00:24:00,890 --> 00:24:01,100 OK. 481 00:24:01,100 --> 00:24:03,005 Tāpēc es got darīt www. 482 00:24:03,005 --> 00:24:06,006 Tāpēc es esmu gatavojas darīt www. 483 00:24:06,006 --> 00:24:09,680 Un, kā jūs varat redzēt, šeit viss ir HTML ka pārlūks varētu apstrādāt 484 00:24:09,680 --> 00:24:10,910 Wikipedia. 485 00:24:10,910 --> 00:24:14,055 >> Bet, ja Es turpinu ritināšanu šeit, tas, ko es redzu augšā - 486 00:24:14,055 --> 00:24:17,800 wow, tur ir daudz HTML Wikipedia - 487 00:24:17,800 --> 00:24:22,550 bet tas, ko es redzu augšā šeit ir šis 200 statusa kods atšķirībā no 488 00:24:22,550 --> 00:24:24,570 301, ko es redzēju agrāk. 489 00:24:24,570 --> 00:24:27,100 Un paziņo, ka tā ir jauka draudzīgu OK blakus tai. 490 00:24:27,100 --> 00:24:29,470 Tātad tas ir kā labs statusa kodu. 491 00:24:29,470 --> 00:24:31,160 >> Tas, ka 200 numuru izskatās pazīstami? 492 00:24:31,160 --> 00:24:34,120 493 00:24:34,120 --> 00:24:39,880 Jā, jo, kad man bija simpler.js, Es uzrakstīju 200 tur. 494 00:24:39,880 --> 00:24:43,290 Tātad, kas ir būtībā sakot pateikt pārlūku vai kurš mēģina nokļūt 495 00:24:43,290 --> 00:24:45,440 Tas, ka viņi bija veiksmīgas. 496 00:24:45,440 --> 00:24:49,040 Vai šāda veida kā mēs bijuši veiksmīgi too. 497 00:24:49,040 --> 00:24:54,320 >> Un tur ir šī veida īpašu sintaksi Javascript, lai deklarētu 498 00:24:54,320 --> 00:24:59,870 karte no šiem taustiņiem, piemēram, satura tipam un šīs vērtības, piemēram, teksta līdzenumā. 499 00:24:59,870 --> 00:25:03,780 Tātad, ja paskatās reakciju, kas mums atgriezos no Wikipedia, pirms - 500 00:25:03,780 --> 00:25:06,200 Es esmu gatavojas izmēģināt, lai ritinātu up nedaudz ātrāk - 501 00:25:06,200 --> 00:25:09,900 jums ir šīs atslēgas, piemēram, servera un šīs vērtības Apache. 502 00:25:09,900 --> 00:25:12,120 Tātad jūs esat ieguvuši atslēgas un vērtības. 503 00:25:12,120 --> 00:25:15,930 Un jūs varat norādīt to Mezglu, ko sūtīt atpakaļ. 504 00:25:15,930 --> 00:25:19,380 >> Tātad tas ir faktiski veida, dažās veidus, un dažos veidos, tas nav 505 00:25:19,380 --> 00:25:23,170 tiešām, bet tas ir nedaudz zemāks līmenis kā PHP kodu, kas jums varētu būt 506 00:25:23,170 --> 00:25:26,980 rakstot P noteikti septiņi jo PHP un Apache veida rūpēties par dažu 507 00:25:26,980 --> 00:25:28,150 šīs lietas jums. 508 00:25:28,150 --> 00:25:32,520 PHP, jūs varat ignorēt noklusējuma uzvedību, rakstot savas galvenes. 509 00:25:32,520 --> 00:25:35,520 Bet ar to vajadzībām, mēs rakstīt no mūsu pašu galvenes. 510 00:25:35,520 --> 00:25:38,210 511 00:25:38,210 --> 00:25:41,105 >> Tātad tas, ka līnija ir jēga visi, rakstīt galvas līnija? 512 00:25:41,105 --> 00:25:41,380 OK. 513 00:25:41,380 --> 00:25:42,280 Awesome. 514 00:25:42,280 --> 00:25:45,870 >> Tātad, ko es daru, ir man beigt atbildes pasakot hello world. 515 00:25:45,870 --> 00:25:47,040 OK. 516 00:25:47,040 --> 00:25:49,920 Bet tas ir tikai funkcija sauc pieprasījuma apstrādātājiem. 517 00:25:49,920 --> 00:25:53,510 Tāpēc tagad es tiešām ir sava veida darīt kaut kas ar šo funkciju, vai ne? 518 00:25:53,510 --> 00:25:59,170 >> Tātad, šeit to, ko es daru, ir, ka tas tiek līnija, kas nav Var servera vienāds 519 00:25:59,170 --> 00:26:03,530 HTTP.create serveris, un tad es pāriet pieprasījuma apdarinātājs. 520 00:26:03,530 --> 00:26:06,080 Tātad tas ir sava veida mezglā veidā radot serveri. 521 00:26:06,080 --> 00:26:08,790 Un paziņo, ka es esmu iet pieprasījumā apdarinātājs. 522 00:26:08,790 --> 00:26:12,290 Tātad šī stāsta createServer funkcija, ko es gribu, lai jūs, lai mani 523 00:26:12,290 --> 00:26:16,270 serveris, un, kad tas serveris saņem atbildes, man vajag, lai tu nosaukt šo 524 00:26:16,270 --> 00:26:18,680 pieprasīt apdarinātājs funkciju. 525 00:26:18,680 --> 00:26:18,990 OK? 526 00:26:18,990 --> 00:26:22,290 >> Tāpēc, ka līnija ir diezgan daudz apdari uzreiz. 527 00:26:22,290 --> 00:26:28,780 Tātad VAR serveris līnija ir darīts labi pēc tam, kad jūs darīt, ka diezgan daudz. 528 00:26:28,780 --> 00:26:31,770 Es domāju, tas ir jāizveido dažas iekšējās valsts, zināt, ka jums būtu 529 00:26:31,770 --> 00:26:35,400 zvans, ka pieprasījums apdarinātājs funkciju, bet tas nav gatavojas sēdēt tur un 530 00:26:35,400 --> 00:26:37,730 teiksim ir lietotājam nosūtīts me pieprasījums vēl? 531 00:26:37,730 --> 00:26:39,270 Vai lietotājs man atsūtīja pieprasījumu vēl? 532 00:26:39,270 --> 00:26:40,780 Tāpēc tas nebloķē. 533 00:26:40,780 --> 00:26:41,650 OK? 534 00:26:41,650 --> 00:26:46,120 >> Tātad, ko tas būs jādara, ir tas būtībā Tagad veikalos rādītājs šo kodu, 535 00:26:46,120 --> 00:26:49,670 Šis pieprasījums kopējs funkciju, un pēc tam darbosies šo kodu, ja kāds 536 00:26:49,670 --> 00:26:52,170 iesniedz pieprasījumu. 537 00:26:52,170 --> 00:26:54,120 Un tad mēs server.listen. 538 00:26:54,120 --> 00:26:56,950 539 00:26:56,950 --> 00:26:59,960 >> 1337 ir diezgan patvaļīgi. 540 00:26:59,960 --> 00:27:02,285 Man nebija īpaša iemesla picking šo numuru. 541 00:27:02,285 --> 00:27:03,860 Tas bija pilnīgi nejauši. 542 00:27:03,860 --> 00:27:07,010 Bet tas tikai norāda portu. 543 00:27:07,010 --> 00:27:10,640 Tāpēc lielākā daļa web serveri jūs redzēsiet, ka viņi izmantot ostas 80, jo tas ir veids, 544 00:27:10,640 --> 00:27:11,810 , piemēram konvencijas. 545 00:27:11,810 --> 00:27:16,170 Tātad, ja es eju uz kaut ko līdzīgu, Es nezinu, Wikipedia.org, 546 00:27:16,170 --> 00:27:17,700 un man kolu 8 - 547 00:27:17,700 --> 00:27:18,610 oh wow, jūs nevarat redzēt. 548 00:27:18,610 --> 00:27:19,370 Piedod. 549 00:27:19,370 --> 00:27:21,820 Bet ja es daru Wikipedia - 550 00:27:21,820 --> 00:27:24,810 Es uzrakstīšu to šeit tikai tāpēc, ka tas ir skaidrs, uz kameru. 551 00:27:24,810 --> 00:27:29,150 Bet, ja es to ņemtu pārlūkprogrammā ar resnās 80, kas norāda dodieties uz 552 00:27:29,150 --> 00:27:31,430 Wikipedia.org ostā 80. 553 00:27:31,430 --> 00:27:36,200 Tātad, tas ir tāpat, kā Amerikas Savienotās Valstis ir vairākas ostas, piemēram, kur jūs varat nosūtīt 554 00:27:36,200 --> 00:27:37,440 lietas, kas veida. 555 00:27:37,440 --> 00:27:40,730 Tātad, tas ir tāpat kā iet uz šo konkrēto vietu šajā serverī. 556 00:27:40,730 --> 00:27:40,990 OK. 557 00:27:40,990 --> 00:27:45,730 >> Tāpēc es vienkārši izvēlējās 1337. 558 00:27:45,730 --> 00:27:47,910 Tur ir vesela virkne skaitļu ka jūs varat izvēlēties. 559 00:27:47,910 --> 00:27:50,390 Tas nebija pilnīgi īpašs. 560 00:27:50,390 --> 00:27:54,560 >> Bet to, ko es esmu gatavojas darīt tagad ir es esmu gatavojas palaist mezglā. 561 00:27:54,560 --> 00:27:59,730 Ļaujiet man faktiski stājas ka pāris līnijas uz leju, lai jūs varētu redzēt to. 562 00:27:59,730 --> 00:28:03,130 Es esmu gatavojas darīt mezglā, un es esmu gatavojas palaist simpler.js. 563 00:28:03,130 --> 00:28:06,880 Un mēs runājam par to, kā iegūt Mezglu izveidota mazliet. 564 00:28:06,880 --> 00:28:09,350 Bet tagad tas ir tikai darbojas serverī. 565 00:28:09,350 --> 00:28:14,360 >> Tātad viena lieta, mēs varam mēģināt, kas nedrīkst būt, ka aizraujoši ir mēs varam faktiski 566 00:28:14,360 --> 00:28:16,300 mēģināt piekļūt to Curl. 567 00:28:16,300 --> 00:28:20,680 Tāpēc es varu darīt Curl, un mana Mašīna ir vietējā uzņēmēja. 568 00:28:20,680 --> 00:28:24,600 Jūs arī redzēt šo rakstīts kā šis reizēm. 569 00:28:24,600 --> 00:28:29,810 Vietējā uzņēmēja un 127.0.0.1 ir laipni no kā jūsu mājas datora. 570 00:28:29,810 --> 00:28:33,180 Tātad, tas ir tāpat kā runāt ar savu datoru. 571 00:28:33,180 --> 00:28:33,760 OK. 572 00:28:33,760 --> 00:28:36,030 >> Un tad es varu teikt 1337. 573 00:28:36,030 --> 00:28:39,630 Tātad, ja man palaist šo līniju kodu, tā saka hello world. 574 00:28:39,630 --> 00:28:44,050 Un, ja es gribēju redzēt, ka sīkumi, kas bija satura tipu tekstu plain vai 575 00:28:44,050 --> 00:28:46,560 kāds, es pat varētu likt šo šeit. 576 00:28:46,560 --> 00:28:48,810 Un paziņo, ka tā saka OK. 577 00:28:48,810 --> 00:28:50,810 Un man ir teksta līdzenumu. 578 00:28:50,810 --> 00:28:53,140 Un tad tur ir sava veida viss cits sīkumi, kas Mezgls būs pievienot 579 00:28:53,140 --> 00:28:54,440 tur par mani. 580 00:28:54,440 --> 00:28:55,700 Tas nav super svarīgi. 581 00:28:55,700 --> 00:28:58,230 >> Es domāju, ka ir kaut kāda veida tehnisko aspekti Tajā ir sava veida 582 00:28:58,230 --> 00:29:02,280 atdzist runāt, bet tikai, lai parādītu tu, man ir arī tiesības 583 00:29:02,280 --> 00:29:03,070 tos mainītu apkārt. 584 00:29:03,070 --> 00:29:06,280 Tāpēc es varu tikai piebilst ķekars stuff, piemēram, ka. 585 00:29:06,280 --> 00:29:11,780 Un tad tagad, ja es paskatos manā izeja, tā, ka. 586 00:29:11,780 --> 00:29:19,740 Tātad šie galvenes nozīmē dažas lietas pārlūkiem un lietām, piemēram, ka. 587 00:29:19,740 --> 00:29:23,040 >> Un galvenes var būtībā pateikt pārlūkprogrammu kā reaģēt uz kaut ko. 588 00:29:23,040 --> 00:29:26,280 Ja jūs esat kādreiz dzirdējuši par cookies pirms vai, ja jūs esat kādreiz bijis kaitina 589 00:29:26,280 --> 00:29:29,330 ar web lapu, kurā cookies, vai ieslēgts sīkdatņu bloku vai 590 00:29:29,330 --> 00:29:30,320 kaut kā tā. 591 00:29:30,320 --> 00:29:33,040 Jūs faktiski var iestatīt sīkfailus Šajās galvenes. 592 00:29:33,040 --> 00:29:36,990 Lai viņi pateiks pārlūkā, kā uzvedība dažos gadījumos. 593 00:29:36,990 --> 00:29:37,750 OK. 594 00:29:37,750 --> 00:29:40,310 >> Tā, ka bija simpler.js. 595 00:29:40,310 --> 00:29:42,780 Vai kāds ir kādi jautājumi šajā pirmkoda fails? 596 00:29:42,780 --> 00:29:45,420 597 00:29:45,420 --> 00:29:45,610 OK. 598 00:29:45,610 --> 00:29:46,490 Atdzist. 599 00:29:46,490 --> 00:29:50,780 >> Tāpēc pieņemsim noņemt r no tā un apskatīt simple.js. 600 00:29:50,780 --> 00:29:53,010 Tātad tas ir diezgan daudz pati programma. 601 00:29:53,010 --> 00:29:56,030 Es tikai uzrakstīju to nedaudz savādāk jo es gribēju, lai sakārtotu un izcelt 602 00:29:56,030 --> 00:29:57,850 dažas iezīmes JavaScript. 603 00:29:57,850 --> 00:30:03,880 >> Tā ievēroju, ka pieprasījuma apstrādātājiem funkcija ir pilnībā izzudis. 604 00:30:03,880 --> 00:30:05,800 Ak Yep, jūs ir jautājums? 605 00:30:05,800 --> 00:30:08,200 >> Mērķauditorija: Jā, argumenti , kas tiek nodota, ka 606 00:30:08,200 --> 00:30:10,120 funkcija, kas viņi ir? 607 00:30:10,120 --> 00:30:12,050 >> KEVIN SCHMID: Tātad tie ir JavaScript objekti. 608 00:30:12,050 --> 00:30:15,230 Jo Node.js dokumentāciju, tā būtībā saka to, ko metodes 609 00:30:15,230 --> 00:30:15,910 pieejami uz tiem. 610 00:30:15,910 --> 00:30:19,602 Mums vienkārši gadīties, ka piekļuve Šo metodi sauc rakstīt galvu un beigas 611 00:30:19,602 --> 00:30:20,730 un sīkumi, piemēram, ka. 612 00:30:20,730 --> 00:30:22,590 Bet tur ir vesels bars vairāk metodes. 613 00:30:22,590 --> 00:30:27,670 >> Un, piemēram, kā viens no tiem jo īpaši attiecībā uz REC, jūs varat darīt, 614 00:30:27,670 --> 00:30:34,540 kaut kas līdzīgs rec.method kas būs pateikt, vai tas ir HTTP saņemt vai 615 00:30:34,540 --> 00:30:36,780 HTTP POST pieprasījumus un lietas, piemēram, ka. 616 00:30:36,780 --> 00:30:39,100 Tātad tur ir visi dažādu veidu īpašības, bet viņi abi 617 00:30:39,100 --> 00:30:42,560 JavaScript objekti, un viņi vienkārši ir , kas uz tām funkcijām, kas jums 618 00:30:42,560 --> 00:30:43,850 var rakstīt lietas. 619 00:30:43,850 --> 00:30:45,520 OK? 620 00:30:45,520 --> 00:30:49,030 >> Tāpēc ievērosiet, ka pieprasījuma apstrādātājiem ir pilnīgi pagājis. 621 00:30:49,030 --> 00:30:52,650 Bet kodu, kas man bija pieprasījumā apdarinātājs ir joprojām. 622 00:30:52,650 --> 00:30:56,520 Man joprojām ir šī res.writeHead un man joprojām ir šī res.end. 623 00:30:56,520 --> 00:31:00,270 Un ko tas ir piemērs, kas JavaScript ir šī ideja 624 00:31:00,270 --> 00:31:01,460 anonīms funkcija. 625 00:31:01,460 --> 00:31:04,180 un anonīms ir kā montāžas nosaukumu par to, jo tas burtiski nav 626 00:31:04,180 --> 00:31:05,180 ir nosaukums. 627 00:31:05,180 --> 00:31:07,900 Nav funkcija pieprasījums apdarinātājs tur. 628 00:31:07,900 --> 00:31:10,110 >> Nav nosaukuma, bet tas joprojām ir veikt arguments. 629 00:31:10,110 --> 00:31:12,250 Tāpēc es joprojām got rec un res. 630 00:31:12,250 --> 00:31:16,180 Un man vēl ir kods. 631 00:31:16,180 --> 00:31:18,930 Tas ir pilnīgi naudas sodu JavaScript kodu. 632 00:31:18,930 --> 00:31:22,540 Lai es varētu pasludināt funkciju bez nepārprotami dodot tai nosaukumu. 633 00:31:22,540 --> 00:31:24,250 Tas ir nedaudz mulsinoši sākumā. 634 00:31:24,250 --> 00:31:26,230 Ir daži, piemēram, noderīgas lietas ka jūs varat darīt ar 635 00:31:26,230 --> 00:31:28,450 šie anonīmi funkcijas. 636 00:31:28,450 --> 00:31:32,100 Vai kāds ir kādi jautājumi par to, vai tas ir OK, lai tikai tagad, 637 00:31:32,100 --> 00:31:34,130 kārtot tikai pieņemt, ka tas darīs to pašu? 638 00:31:34,130 --> 00:31:36,700 639 00:31:36,700 --> 00:31:37,125 Yep? 640 00:31:37,125 --> 00:31:38,680 >> Mērķauditorija: Vai funkcijas vispirms klases JavaScript? 641 00:31:38,680 --> 00:31:41,020 >> KEVIN SCHMID: Tie ir pirmais klases JavaScript. 642 00:31:41,020 --> 00:31:45,490 Un tikai zinām, ka šie jēdzieni iet uz anonīmu funkciju, piemēram, 643 00:31:45,490 --> 00:31:49,600 tas attiecas uz JavaScript, kas jums var rakstīt savu galīgo projektā 644 00:31:49,600 --> 00:31:51,260 interneta pārlūku too. 645 00:31:51,260 --> 00:31:56,700 Tā, piemēram, javascript pārlūkprogramma, tas ir arī nedaudz notikums 646 00:31:56,700 --> 00:32:00,680 brauc tādā nozīmē, ka tas, ko jūs ir, ir tad, kad lietotājs noklikšķina uz šo 647 00:32:00,680 --> 00:32:02,640 pogu, es gribu, lai jūs palaist šo kodu. 648 00:32:02,640 --> 00:32:07,070 >> Tātad, tas ir paša veida idejas klienta pusē, kad peles klikšķi, vai viņi 649 00:32:07,070 --> 00:32:09,870 peli pār kādu attēlu uz jūsu mājas lapa, palaist šo kodu. 650 00:32:09,870 --> 00:32:11,350 Kas var pieteikties uz serveriem. 651 00:32:11,350 --> 00:32:16,380 Tātad tas ir veids, piemēram, aizraujošu Iemesls, kāpēc JavaScript ir patiešām 652 00:32:16,380 --> 00:32:19,810 piemēroti vai daži cilvēki domā, tas ir piemērots valodu šāda veida 653 00:32:19,810 --> 00:32:22,530 Pasākums vadītājs servera, jo jums ir šie anonīmi funkcijas. 654 00:32:22,530 --> 00:32:26,150 Jums ir visa ideja par Tas asinhrono kodu. 655 00:32:26,150 --> 00:32:27,060 OK. 656 00:32:27,060 --> 00:32:30,360 Kāds ir kādi jautājumi? 657 00:32:30,360 --> 00:32:30,470 >> OK. 658 00:32:30,470 --> 00:32:33,440 Tā, ka bija simple.js. 659 00:32:33,440 --> 00:32:38,070 Tāpēc aplūkosim vēl vienu vai pāris vairāk. 660 00:32:38,070 --> 00:32:42,040 Tāpēc tas ir sleep.js. 661 00:32:42,040 --> 00:32:47,160 Tātad, ir kāds pazīstams ar C funkcija gulēt? 662 00:32:47,160 --> 00:32:50,936 No varbūt vienu no iepriekšējām nodarbībām vai kaut kas tamlīdzīgs? 663 00:32:50,936 --> 00:32:54,650 >> Vārdu sakot, jūs varat iet uz es domāju, sekunžu skaitu vai, ja jūs izmantojat U 664 00:32:54,650 --> 00:32:57,080 miega vairākas milisekundes vai nanoseconds. 665 00:32:57,080 --> 00:33:00,450 Un būtībā programma būs tikai apstāties darbojas šajā laika sprīdī. 666 00:33:00,450 --> 00:33:01,280 Tiesības? 667 00:33:01,280 --> 00:33:06,970 Un tad tas būs mosties vēlāk, un tad tas būs tikai turpināt darboties 668 00:33:06,970 --> 00:33:08,340 programmu. 669 00:33:08,340 --> 00:33:12,740 >> Tāpēc šis serveris veida dod iespaidu guļ. 670 00:33:12,740 --> 00:33:17,580 Tāpēc paziņojums, ka mums ir tāds pats res.writeHead 200 ar galveni, kā 671 00:33:17,580 --> 00:33:22,130 agrāk, bet tad mēs aicinām šo funkcija sauc iestatīt izslēgšanas. 672 00:33:22,130 --> 00:33:26,170 Noteikt timeout ir pieejams arī Jūsu interneta pārlūks Google Chrome 673 00:33:26,170 --> 00:33:28,000 vai Safari vai neatkarīgi. 674 00:33:28,000 --> 00:33:31,720 Un būtībā, ko tas dara šeit tas ir ņemot ar funkciju. 675 00:33:31,720 --> 00:33:33,360 Paziņojumu, atkal, tas ir anonīms funkcija. 676 00:33:33,360 --> 00:33:36,310 Tātad tas ir veida atdzist, jo mēs esam izmantojot anonīmu funkciju ietvaros 677 00:33:36,310 --> 00:33:38,950 anonīmu funkciju, kas var būt mazliet dīvaini. 678 00:33:38,950 --> 00:33:42,270 >> Bet tas ir ņemot šo funkciju, kas ir būtībā sakot - un kā tas 679 00:33:42,270 --> 00:33:47,430 darbi ir 5000 milisekundes, es gribu jums, lai izpildītu šo funkciju, kas 680 00:33:47,430 --> 00:33:50,830 vienkārši beidzas reaģēšanas un raksta hey. 681 00:33:50,830 --> 00:33:56,730 Tāpēc tas rada iespaidu, ka, piemēram, guļ, bet kā tas patiesībā 682 00:33:56,730 --> 00:33:59,780 darbojas, mēs palaist cauri Šī līnija ir ļoti ātri. 683 00:33:59,780 --> 00:34:01,190 Mēs esam tikai rakstiski kaut ko. 684 00:34:01,190 --> 00:34:03,780 Un tad mēs arī palaist cauri Šī līnija ir ļoti ātri. 685 00:34:03,780 --> 00:34:08,620 Tāpēc mēs faktiski gatavojas jāgaida piecas sekundes. 686 00:34:08,620 --> 00:34:11,370 Mēs esam tikai gatavojas palaist šo kodu uzreiz. 687 00:34:11,370 --> 00:34:14,219 >> Un tad tur ir, atkal, tas maz notikums cilpa, kas tagad ir šī lieta 688 00:34:14,219 --> 00:34:17,570 reģistriem, kas būtībā ir tikai pastāvīgi iet pa apli 689 00:34:17,570 --> 00:34:21,620 un skatoties uz pulksteni vienotu diegi un sakot, ir piecas sekundes 690 00:34:21,620 --> 00:34:22,360 pagājis vēl? 691 00:34:22,360 --> 00:34:26,409 Un tad, kad redz, ka otrais roka ir pārvietots, piemēram piecām sekundēm vai 692 00:34:26,409 --> 00:34:29,190 neatkarīgi, tad pamostas un saka: oh, kas man ir jādara? 693 00:34:29,190 --> 00:34:30,350 Oh man palaist šo kodu. 694 00:34:30,350 --> 00:34:33,110 Un tad tas notiek, lai palaist res.end hey. 695 00:34:33,110 --> 00:34:35,360 >> Tātad vēlreiz, mēs nekad gaida šeit. 696 00:34:35,360 --> 00:34:38,590 Tātad, tas nav, ka šis kods iekšpusē šī funkcija ir gatavojas veikt piecus 697 00:34:38,590 --> 00:34:39,900 sekundes, lai palaistu. 698 00:34:39,900 --> 00:34:43,090 Šis kods darbosies diezgan daudz uzreiz, vismaz attiecībā pret 699 00:34:43,090 --> 00:34:46,139 piecas sekundes, ka mēs runājām par agrāk pirms tam. 700 00:34:46,139 --> 00:34:52,100 >> Tik vienkārši, lai parādītu to darbībā, Es varu darīt Node.sleep.js. 701 00:34:52,100 --> 00:34:55,159 Un tomēr es izjaukt kaut ko? 702 00:34:55,159 --> 00:34:56,310 Iespējams. 703 00:34:56,310 --> 00:34:57,410 Piedodiet. 704 00:34:57,410 --> 00:34:59,530 Let 's redzēt, ko mēs varam darīt, lai atrisinātu šo. 705 00:34:59,530 --> 00:35:10,830 706 00:35:10,830 --> 00:35:12,080 OK. 707 00:35:12,080 --> 00:35:15,460 708 00:35:15,460 --> 00:35:17,464 Tāpēc noteikti izmantot Node.js. 709 00:35:17,464 --> 00:35:19,440 Es esmu tikai kidding. 710 00:35:19,440 --> 00:35:19,570 OK. 711 00:35:19,570 --> 00:35:20,820 Tikai viens sek. 712 00:35:20,820 --> 00:35:27,380 713 00:35:27,380 --> 00:35:27,900 OK. 714 00:35:27,900 --> 00:35:29,130 Es zinu, kas tas ir. 715 00:35:29,130 --> 00:35:34,440 >> Tātad jautājums ir, ka citi mani tab šeit, es biju darbojas Node jau 716 00:35:34,440 --> 00:35:36,590 ka pati adrese, 1337. 717 00:35:36,590 --> 00:35:43,370 Tā kļūda, ka šo izmeta, ja mēs skatāmies pie tā reālā cieši, ir adrese 718 00:35:43,370 --> 00:35:45,180 izmantot, EADDRINUSE. 719 00:35:45,180 --> 00:35:47,970 Tāpēc man jau bija, izmantojot 1337 šeit. 720 00:35:47,970 --> 00:35:52,210 Tātad, ja es izslēdziet to off, un tad es tagad mēģināt palaist to, cerams, viss 721 00:35:52,210 --> 00:35:53,210 būs labi. 722 00:35:53,210 --> 00:35:53,440 OK. 723 00:35:53,440 --> 00:35:57,020 Tātad, jums var būt tikai viena lieta veida klausīšanās par ostas vienlaicīgi. 724 00:35:57,020 --> 00:35:59,660 Vēl viens risinājums būtu bijis par mani vienkārši rediģēt šo programmu un veikt 725 00:35:59,660 --> 00:36:02,370 tas ir, piemēram, 1338 vai kaut ko piemēram, ka. 726 00:36:02,370 --> 00:36:04,100 >> Bet tagad miegs darbojas. 727 00:36:04,100 --> 00:36:06,400 Tātad, pieņemsim, faktiski mēģina to ārā pārlūks šo laiku, jo tas ir 728 00:36:06,400 --> 00:36:09,080 nedaudz unexciting redzēt tā terminālī. 729 00:36:09,080 --> 00:36:13,560 Tāpēc es esmu tikai gatavojas iet, ka 127 adrese atkal 1337. 730 00:36:13,560 --> 00:36:14,850 Un, ja jūs varat redzēt to - 731 00:36:14,850 --> 00:36:18,050 Es nezinu, ja jūs varat - bet mana pārlūkprogramma ir ņemot ļoti, ļoti ilgi 732 00:36:18,050 --> 00:36:20,600 laiks, lai slodze, vai, piemēram, piecām sekundēm. 733 00:36:20,600 --> 00:36:23,460 >> Un tad pēc tam tas beidzot beidzās atbildi. 734 00:36:23,460 --> 00:36:29,070 Un jūs nevarat redzēt, jo lieta pārvieto pa maz, bet, ja es drīkstu 735 00:36:29,070 --> 00:36:32,500 Tas nedaudz mazāks, jums var redzēt, tā saka hey. 736 00:36:32,500 --> 00:36:35,130 Tāpēc es saņēmu hey, bet pēc piecām sekundēm. 737 00:36:35,130 --> 00:36:38,510 Un tas varētu būt nedaudz tīrāku, lai redzētu tas šeit terminālā, tāpēc es esmu 738 00:36:38,510 --> 00:36:40,980 gatavojas darīt - 739 00:36:40,980 --> 00:36:43,540 pieņemsim to darīt šeit - 740 00:36:43,540 --> 00:36:48,370 Darīsim Curl šo adresi atkal ar 1337. 741 00:36:48,370 --> 00:36:50,820 Un es tikko veida ir sēdēt Šeit piecas sekundes. 742 00:36:50,820 --> 00:36:53,760 Bet paziņo, ka serveris var pieņemt jaunus risinājumus. 743 00:36:53,760 --> 00:36:54,940 Tāpēc tas drukā hey. 744 00:36:54,940 --> 00:36:58,720 >> Un demo tas, būtībā to, ko Es varu darīt šajā citā tab - 745 00:36:58,720 --> 00:37:02,640 tāpēc pieņemsim, ka man tas citā tab, Es esmu gatavojas darīt Curl un tas pats 746 00:37:02,640 --> 00:37:03,780 lieta vēlreiz. 747 00:37:03,780 --> 00:37:06,600 Un es esmu gatavojas izmēģināt, lai kick šos džeku tajā pašā laikā. 748 00:37:06,600 --> 00:37:08,260 Tāpēc es esmu gatavojas darīt, un es esmu gatavojas rase nekā šeit, un es esmu 749 00:37:08,260 --> 00:37:09,650 gatavojas darīt to vēlreiz. 750 00:37:09,650 --> 00:37:14,030 >> Un pieņemsim darīt tā, lai jūs var redzēt gan no tiem. 751 00:37:14,030 --> 00:37:20,250 Ka viens drukāts hey, un ka viens drukāts hey visu ceļu pie - 752 00:37:20,250 --> 00:37:22,550 pieņemsim to darīt šo eksperimentu vēlreiz. 753 00:37:22,550 --> 00:37:25,100 Patiesībā, pieņemsim izmantot šo triks, ja tas ir OK. 754 00:37:25,100 --> 00:37:30,520 >> Tāpēc es esmu gatavojas izmantot shell lieta, ka ļauj man būtībā palaist divas kopijas 755 00:37:30,520 --> 00:37:32,630 Šīs programmas paralēli. 756 00:37:32,630 --> 00:37:36,070 Tā tas būs palaist pirmo programmu un Otrā programma paralēli. 757 00:37:36,070 --> 00:37:39,060 Tāpēc tagad, ja es nospiediet Enter, tas notiek lai šis lūgums diezgan daudz 758 00:37:39,060 --> 00:37:40,570 uzreiz, tajā pašā laikā. 759 00:37:40,570 --> 00:37:42,620 Tāpēc dosim šo shot. 760 00:37:42,620 --> 00:37:44,950 >> Tāpēc tagad paziņojums saka divus procesus. 761 00:37:44,950 --> 00:37:50,630 Un, ja jūs esat ieinteresēti, ka 27,000 skaits ir būtībā process ID. 762 00:37:50,630 --> 00:37:52,940 Un tad ievērosiet, viņi drukāts hey tajā pašā laikā. 763 00:37:52,940 --> 00:37:56,820 Tas nebija kā mums bija jāgaida piecus sekundes vienu, un tad pēc tam, 764 00:37:56,820 --> 00:37:59,640 piecas sekundes vēlāk saņemtu otro. 765 00:37:59,640 --> 00:38:03,300 Tāpēc, ka ir sava veida, dažos veidos, tas ir nav īsti pierādījumi, bet tas ir 766 00:38:03,300 --> 00:38:07,390 intuitīvs pierādījumi, ka tā ir ne tikai kā gaida piecas sekundes, bloķējot 767 00:38:07,390 --> 00:38:08,960 visu pavediens. 768 00:38:08,960 --> 00:38:10,720 Labi atdzesē. 769 00:38:10,720 --> 00:38:17,850 >> Tāpēc Aaron uzdeva jautājumu agrāk, ka bija arī kas notiks, ja mēs kaut ko darīt - 770 00:38:17,850 --> 00:38:18,735 Yep? 771 00:38:18,735 --> 00:38:19,051 >> Mērķauditorija: Pagaidiet. 772 00:38:19,051 --> 00:38:21,585 Kā tas atšķiras no printf buferis, lai gan? 773 00:38:21,585 --> 00:38:23,010 Vai nav tā automātiski darīt? 774 00:38:23,010 --> 00:38:25,390 Kāpēc mums būtu jāuztraucas par to? 775 00:38:25,390 --> 00:38:26,555 >> KEVIN SCHMID: Ak, vai jūs varētu saka, ka vēl vienu reizi? 776 00:38:26,555 --> 00:38:29,510 >> Mērķauditorija: Vai nepatīk printf buferi darīt tieši to pašu? 777 00:38:29,510 --> 00:38:31,280 >> KEVIN SCHMID: printf buferis? 778 00:38:31,280 --> 00:38:32,753 >> Mērķauditorija: Jā. 779 00:38:32,753 --> 00:38:33,244 OK. 780 00:38:33,244 --> 00:38:40,609 Nebija vienā no viktorīnas tie bija runā par to, kā, ja jums taisnība printf 781 00:38:40,609 --> 00:38:42,899 kaut ko, un tad ir tā pauze vienu otrkārt, un tad jums ir tā cilpa desmit 782 00:38:42,899 --> 00:38:46,530 reizes, tas būs jāgaida desmit sekundes un tad printf viss kopā? 783 00:38:46,530 --> 00:38:47,460 >> KEVIN SCHMID: Ak, OK. 784 00:38:47,460 --> 00:38:49,170 >> Mērķauditorija: Vai tas dara pats lieta tam šajā gadījumā? 785 00:38:49,170 --> 00:38:52,630 >> KEVIN SCHMID: Tātad jautājums bija būtībā vienā no iepriekšējo viktorīnas 786 00:38:52,630 --> 00:38:57,200 vai kaut ko, tur bija jautājums, kas būtībā, ja jūs sakāt Drukas F 10 787 00:38:57,200 --> 00:39:01,490 lietas laikā un pēc tam gulēja tāpat kā process drukāšanas tiem out, 788 00:39:01,490 --> 00:39:04,850 beigās, kādu iemeslu dēļ, tas būtu vienkārši dump tiem visiem, kas uz ekrāna. 789 00:39:04,850 --> 00:39:06,740 Tātad tur ir sava veida divu atšķirīgu koncepcijas šeit. 790 00:39:06,740 --> 00:39:10,400 >> Tāpēc es domāju, viena lieta ir tas, ka šajā gadījumā mums ir darīšana ar divām dažādām 791 00:39:10,400 --> 00:39:13,510 veida cilvēki jautā serveri lietām, tajā pašā laikā. 792 00:39:13,510 --> 00:39:17,455 Un iemesls tam, ka printf veida gaida, piemēram, ka, un izgāž to visu ārā 793 00:39:17,455 --> 00:39:21,760 uzreiz ir vairāk saistīta ar kā printf veida - 794 00:39:21,760 --> 00:39:25,100 tā kā printf ir faktiski īstenot, ir tas būtībā ir 795 00:39:25,100 --> 00:39:28,850 runāt ar operētājsistēmu rakstīt kas stuff ar konsoli. 796 00:39:28,850 --> 00:39:33,460 Tāpēc tā nevēlas darīt visu, kas sīkumi uzreiz, kad jūs sakāt printf 797 00:39:33,460 --> 00:39:36,260 daži virkne, jo tas varētu saņemt dārgi, ja tas ir 798 00:39:36,260 --> 00:39:37,340 darīt, ka katru reizi. 799 00:39:37,340 --> 00:39:41,530 >> Tātad, ja jūs printf hey, savu programmu tiešām var nedrukāt, ka 800 00:39:41,530 --> 00:39:43,040 uzreiz ar konsoli. 801 00:39:43,040 --> 00:39:46,080 Tā varētu teikt, OK, es uzrakstīju to. 802 00:39:46,080 --> 00:39:49,570 Un tad veida gaidīt, lai jūs varētu sniegt tā nedaudz vairāk pirms faktiski 803 00:39:49,570 --> 00:39:51,380 rakstiski to, ar konsoli. 804 00:39:51,380 --> 00:39:54,040 >> Tā iemesla dēļ, ka tas bija gadījumā - 805 00:39:54,040 --> 00:39:56,450 un tas ir sava veida nesaistītiem ar miegu - 806 00:39:56,450 --> 00:40:00,060 ir tas, ka miegs bija sava veida tikko ievadīts, lai apliecinātu 807 00:40:00,060 --> 00:40:02,480 Fakts, ka tā nav rakstīt tā sinhroni. 808 00:40:02,480 --> 00:40:06,210 Bet iemesls tam ir tikai sniegumu tā, ka jums nav 809 00:40:06,210 --> 00:40:08,920 darīt, ka daudz kontaktu ar operētājsistēma. 810 00:40:08,920 --> 00:40:12,300 >> Bet šeit, ko mēs patiešām cenšas darīt ar šo miega lieta ir tikai šovs 811 00:40:12,300 --> 00:40:17,730 ka tad, kad mums ir divi cilvēki apmeklē šajā mājas lapā, tas nav gatavojas likt 812 00:40:17,730 --> 00:40:22,310 tos līnijas, kur tas notiek, lai pateikt Man ir, lai palīdzētu jums, un tad, kad es esmu 813 00:40:22,310 --> 00:40:25,350 pilnībā pabeigts palīdzot jums pēc šīm piecas sekundes, tad es esmu gatavojas 814 00:40:25,350 --> 00:40:26,750 pāriet uz nākamo personu. 815 00:40:26,750 --> 00:40:29,515 Tātad pirmais personas lūgums nav sasiet šo notikumu cilpa 816 00:40:29,515 --> 00:40:31,610 ja tas ir jēga. 817 00:40:31,610 --> 00:40:34,980 >> Bet šeit ir faktiski piemērs kaut ko, kas būs tie 818 00:40:34,980 --> 00:40:36,090 līdz pasākuma cilpu. 819 00:40:36,090 --> 00:40:39,130 Tātad, šeit ir briesmīgs funkcija aprēķināt n-Fibonacci. 820 00:40:39,130 --> 00:40:43,510 Tas ir burtiski sliktāk, kā jūs varat aprēķināt n-Fibonači numuru. 821 00:40:43,510 --> 00:40:48,480 Un tas ir faktiski tikai atzīt ja tas nāca no, 822 00:40:48,480 --> 00:40:49,330 tur tiešām - 823 00:40:49,330 --> 00:40:53,230 Es domāju, jūs varat mēģināt iet atrast - bet tur ir kā ļoti ilgstoša blog 824 00:40:53,230 --> 00:40:54,130 post, ka kāds rakstīja. 825 00:40:54,130 --> 00:40:55,660 Tā kā viens no tiem Reddit lietām. 826 00:40:55,660 --> 00:40:59,650 Bet kāds kritizēja Node.js, un viņi izmanto to kā piemēru. 827 00:40:59,650 --> 00:41:03,700 Tāpēc es veida gribēju tikai parādīt divas dažādām perspektīvām tikai, lai iegūtu 828 00:41:03,700 --> 00:41:07,320 vispārīga izpratne par jēdzienu Aiz šīm divām lietām. 829 00:41:07,320 --> 00:41:13,050 >> Bet tas ir izvēlēts kā tikai briesmīgs, briesmīgi neefektīva skaitļošanas 830 00:41:13,050 --> 00:41:15,940 intensīvā veidā, lai aprēķinātu n Fibonacci numuru. 831 00:41:15,940 --> 00:41:21,180 Tik vienkārši kā sānu piezīmi, kāpēc ir tas briesmīgi patīk kādā veidā? 832 00:41:21,180 --> 00:41:23,210 Yep? 833 00:41:23,210 --> 00:41:25,130 >> Mērķauditorija: Say jūs sākat , kas ar 1000. 834 00:41:25,130 --> 00:41:27,050 1000 sadalās 999 un 998. 835 00:41:27,050 --> 00:41:28,970 Katrs no šī sadalās divām lietām. 836 00:41:28,970 --> 00:41:30,890 Katrs no šī sadalās divām lietām. 837 00:41:30,890 --> 00:41:31,355 >> KEVIN SCHMID: Right. 838 00:41:31,355 --> 00:41:32,400 >> Mērķauditorija: Visu ceļu uz leju. 839 00:41:32,400 --> 00:41:32,840 >> KEVIN SCHMID: Tieši tā. 840 00:41:32,840 --> 00:41:37,330 Tik vienkārši atkārtot kamerai, ja es aicināt melot par, piemēram, 1000 vai kaut ko 841 00:41:37,330 --> 00:41:41,810 piemēram, ka, tas, protams, ne mazāk kā vai vienāds ar vienu, tāpēc es esmu gatavojas 842 00:41:41,810 --> 00:41:46,040 iet uz šo citam lietas, un tad es eju zvanīt melot 999 plus melot 998. 843 00:41:46,040 --> 00:41:50,290 Un tad diezgan daudz viss, kas darbs, kas melot 999 tas ir 844 00:41:50,290 --> 00:41:52,950 veida šajā līmenī. 845 00:41:52,950 --> 00:41:55,620 Ja jūs iet uz leju, tas ir vēl lieku par to, bet, ja jūs vienkārši 846 00:41:55,620 --> 00:42:01,390 domāju skaitļošanas melot 998 izpaužas mums diezgan tuvu melot 999. 847 00:42:01,390 --> 00:42:05,860 Tāpēc mums patiešām vajadzētu būt nedaudz vairāk gudrs par to, kā mēs veida atkārtoti 848 00:42:05,860 --> 00:42:07,580 tiem, bet mēs neesam atkārtoti šīs lietas vispār. 849 00:42:07,580 --> 00:42:11,860 Tātad jūs varat iedomāties šo gigantisku, gigantisku koku, kas ir vienkārši briesmīgs. 850 00:42:11,860 --> 00:42:12,940 >> Bet anyway, OK. 851 00:42:12,940 --> 00:42:14,040 Tā, ka bija melot. 852 00:42:14,040 --> 00:42:15,530 Tas tikai ņem, bet, lai palaistu. 853 00:42:15,530 --> 00:42:16,510 Yep? 854 00:42:16,510 --> 00:42:17,760 >> Mērķauditorija: [nedzirdama]. 855 00:42:17,760 --> 00:42:20,430 856 00:42:20,430 --> 00:42:22,481 >> KEVIN SCHMID: Ak, vai jūs varētu atkārtot jautājumu? 857 00:42:22,481 --> 00:42:23,731 >> Mērķauditorija: [nedzirdama]. 858 00:42:23,731 --> 00:42:30,840 859 00:42:30,840 --> 00:42:33,990 >> KEVIN SCHMID: Ak tā tas ir tikai kods , kas būs sava veida uz 860 00:42:33,990 --> 00:42:34,850 servera pusē. 861 00:42:34,850 --> 00:42:38,100 Tāpēc tas nebūs atrasts pārlūkprogrammā vai neko. 862 00:42:38,100 --> 00:42:42,160 Tas ir būtībā kas mums ir tas, ka tad, kad lietotājs šeit diezgan daudz markas 863 00:42:42,160 --> 00:42:45,300 to pieprasījums atkal, kad mēs veida iesniegt pieprasījumu, mēs ejam, lai izsauktu 864 00:42:45,300 --> 00:42:47,040 šo funkciju uz servera pusē. 865 00:42:47,040 --> 00:42:50,480 Un tad mēs iegūtu rezultātu atpakaļ no zvana šo funkciju. 866 00:42:50,480 --> 00:42:52,460 Un tad mēs vienkārši izdrukāt tā, lai lietotājam. 867 00:42:52,460 --> 00:42:54,580 Tāpēc lietotājam nav īsti galā Šī funkcija ir pārāk daudz. 868 00:42:54,580 --> 00:42:57,270 >> Bija tas, ka jautājums? 869 00:42:57,270 --> 00:42:58,470 Vai tas ir jēga? 870 00:42:58,470 --> 00:42:58,810 OK. 871 00:42:58,810 --> 00:43:00,930 Atdzist. 872 00:43:00,930 --> 00:43:04,240 >> Tātad vēlreiz, mēs šo visu res.writeHead lieta, kur mēs izdrukāt 873 00:43:04,240 --> 00:43:05,150 galvenes. 874 00:43:05,150 --> 00:43:09,730 Un tad es galu atbildes, ko darīt burvju numurs ir melot 45. 875 00:43:09,730 --> 00:43:12,100 Tāpēc pieņemsim tikai palaist šo serveri. 876 00:43:12,100 --> 00:43:15,190 Tāpēc es esmu gatavojas darīt mezglu fib.js. 877 00:43:15,190 --> 00:43:17,340 Tāpēc tagad mans melot serveris darbojas. 878 00:43:17,340 --> 00:43:21,790 >> Un tad šeit, es esmu gatavojas darīt vienu no šiem. 879 00:43:21,790 --> 00:43:22,200 OK? 880 00:43:22,200 --> 00:43:24,960 Tāpēc es esmu tikai gatavojas teikt, Curl. 881 00:43:24,960 --> 00:43:32,226 Tātad, tas ir gatavojas veikt nedaudz, bet tomēr cerams, ka drīz tas beigsies un 882 00:43:32,226 --> 00:43:35,660 tas būs drukāt, ka 45. Fibonači numuru. 883 00:43:35,660 --> 00:43:36,910 >> Mērķauditorija: [nedzirdama]. 884 00:43:36,910 --> 00:43:40,720 885 00:43:40,720 --> 00:43:42,050 >> KEVIN SCHMID: Tas būtu paveikt diezgan drīz. 886 00:43:42,050 --> 00:43:43,780 Lai tā būtu piecas līdz sešas sekundes. 887 00:43:43,780 --> 00:43:48,570 Es nezinu, kas ir tikai V8 ir super ātri, bet jebkurā gadījumā tas ir 888 00:43:48,570 --> 00:43:52,700 ļoti īss piemērs, un ar nolūku neelegants of non-trivial 889 00:43:52,700 --> 00:43:54,200 aprēķins. 890 00:43:54,200 --> 00:43:56,700 Tātad, pēc kāda laika, tas nav saņemt šo. 891 00:43:56,700 --> 00:44:02,130 >> Bet tagad, kas notiks, ja es to, ka tāda paša veida Eksperiments kā agrāk, kad es veicu 892 00:44:02,130 --> 00:44:04,010 divi lūgumi, tajā pašā laikā? 893 00:44:04,010 --> 00:44:06,990 Tātad, šeit es esmu gatavojas Curl par šī adrese, un es esmu gatavojas 894 00:44:06,990 --> 00:44:08,260 darīt citas Curl. 895 00:44:08,260 --> 00:44:12,070 Un atcerēties, kad mēs to darījām, lai gulēt serveri, kad mēs būtībā bija tā 896 00:44:12,070 --> 00:44:15,320 pēc piecām sekundēm, tie diezgan daudz gan atgriezās tiesības 897 00:44:15,320 --> 00:44:16,380 aptuveni tajā pašā laikā. 898 00:44:16,380 --> 00:44:18,650 Tāpēc tas nav īpaši piesaistīti. 899 00:44:18,650 --> 00:44:20,290 >> Bet pieņemsim, izmēģiniet to tagad. 900 00:44:20,290 --> 00:44:22,370 Labi, tāpēc mēs saņēmām mūsu divus procesus. 901 00:44:22,370 --> 00:44:24,210 Atcerieties, tie ir procesa ID. 902 00:44:24,210 --> 00:44:25,900 Tas būs nedaudz neērts, kamēr mēs apstāsies. 903 00:44:25,900 --> 00:44:31,340 904 00:44:31,340 --> 00:44:35,360 Tāpēc pieņemsim tikai palikt šeit un gaidīt. 905 00:44:35,360 --> 00:44:37,090 >> Tāpēc viens no viņiem ir jānāk atpakaļ pēc tam, piemēram, - 906 00:44:37,090 --> 00:44:39,190 Labi, tāpēc viens atnāca atpakaļ. 907 00:44:39,190 --> 00:44:43,570 Bet tad kāpēc ne otrs viens nāk atpakaļ tikai vēl? 908 00:44:43,570 --> 00:44:44,389 Yep? 909 00:44:44,389 --> 00:44:49,280 >> Mērķauditorija: Serveris nevar darīt neko kamēr tas skaitļošanas šo liels skaits. 910 00:44:49,280 --> 00:44:51,620 >> KEVIN SCHMID: Right. 911 00:44:51,620 --> 00:44:55,395 Tātad atbilde bija tikai, ka serveris tiešām neko nevar darīt, kamēr 912 00:44:55,395 --> 00:44:57,460 tas ir skaitļošanas šo Fibonači numuru. 913 00:44:57,460 --> 00:44:59,360 Tāpēc tagad es tikko saņēmu manas divas lietas atpakaļ. 914 00:44:59,360 --> 00:45:03,210 Bet es domāju, tikai domāt par kodu nedaudz vairāk, kā tas strādā 915 00:45:03,210 --> 00:45:05,030 un viss. 916 00:45:05,030 --> 00:45:11,750 >> Tātad, šī funkcija šeit ir kods, kas Es esmu teicis šo serveri, lai darbotos, ja tā 917 00:45:11,750 --> 00:45:14,100 saņem jaunu ienākošo pieprasījumu. 918 00:45:14,100 --> 00:45:17,940 Tāpēc tas ir tikai gatavojas palaist caur šo visu kodu, un tad tas ir gatavojas iet 919 00:45:17,940 --> 00:45:21,120 atpakaļ uz pasākuma cilpu, un pēc tam turpināt pārbaudot jauniem notikumiem. 920 00:45:21,120 --> 00:45:23,670 Vārdu sakot, tas, ko mēs esam notiek ir serveris 921 00:45:23,670 --> 00:45:25,080 klausoties jaunas lietas. 922 00:45:25,080 --> 00:45:28,070 Pirmā persona lūdz par to, kas 45 ir. 923 00:45:28,070 --> 00:45:30,490 Mēs palaist šo kodu, lai aprēķinātu to. 924 00:45:30,490 --> 00:45:33,420 Šis kods aizņem apmēram piecas līdz sešām sekundēm, lai palaistu. 925 00:45:33,420 --> 00:45:36,990 Tad mēs ejam atpakaļ uz notikumu cilpa un pārbaudīt jaunos pieprasījumus. 926 00:45:36,990 --> 00:45:42,700 >> Tātad šis ir piemērs tam, kā, ja jums ir lietas, kas ir tā saucamā aprēķināt 927 00:45:42,700 --> 00:45:48,140 saistošs, vai izmantot daudz skaitļošanas, nav varas, bet, piemēram, ir 928 00:45:48,140 --> 00:45:50,260 skaitļošanas intensīva - 929 00:45:50,260 --> 00:45:54,080 Es domāju, viena lieta ko teikt par šo ir ka šī funkcija dara pilnīgi, 930 00:45:54,080 --> 00:45:56,310 par lielāko daļu, diezgan lietderīgs darbs labi. 931 00:45:56,310 --> 00:45:59,970 Visu laiku, ka šī atzvanu funkcija darbojas, tas bija diezgan 932 00:45:59,970 --> 00:46:03,670 daudz izdevumu lielāko daļu sava laika vienkārši skaitļošanas, ka n-tais Fibonači numuru. 933 00:46:03,670 --> 00:46:05,930 >> Bet mums bija tikai vienu pavedienu lai risinātu ar. 934 00:46:05,930 --> 00:46:10,270 Jo Apache modeli, kad divi cilvēki iesniegusi pieprasījumu, lai saņemtu melot 45, mēs 935 00:46:10,270 --> 00:46:11,610 būtu divas dažādas tēmas. 936 00:46:11,610 --> 00:46:15,060 Un tad operētājsistēma darbs būtu bijis, vai lietotāja līmenī 937 00:46:15,060 --> 00:46:18,660 kods, kas pārvalda tēmas, būtu esam bijis šķēle, kas līdzi 938 00:46:18,660 --> 00:46:23,060 CPU, vai pat, ja Jums bija vairāki CPU, izplatīt tās vienmērīgi visā CPU 939 00:46:23,060 --> 00:46:26,130 tā, ka viņi abi apdare aptuveni tajā pašā laikā. 940 00:46:26,130 --> 00:46:31,120 >> Tik vienkārši, lai parādītu jums, kā mēs varam atrisināt of - un tas nav kopējais perfect 941 00:46:31,120 --> 00:46:34,280 risinājums, bet gan sava veida, kā mēs varam padara atgriezties šeit un darīt 942 00:46:34,280 --> 00:46:35,880 mazliet labāk. 943 00:46:35,880 --> 00:46:41,540 Tātad, ko man šeit ir programma, ko sauc Melot C. Un tas galvenokārt izmanto 944 00:46:41,540 --> 00:46:45,690 vēl viens no mezgla moduļu sauc Bērnu Process modulis. 945 00:46:45,690 --> 00:46:49,210 Tāpēc es esmu iekļauts, ka augšējā veida no kā es varētu darīt mārciņu ietver 946 00:46:49,210 --> 00:46:51,230 bērns process.h vai kaut ko. 947 00:46:51,230 --> 00:46:56,210 Tagad man ir pieeja šai KP mainīgajam kas ir visas manas funkcijas. 948 00:46:56,210 --> 00:47:01,810 >> Tātad tagad, ko es daru ar šo atbildi apdarinātājs ir Es skrienu šo programmu 949 00:47:01,810 --> 00:47:04,100 dot slash melot 45. 950 00:47:04,100 --> 00:47:06,820 Tātad, ko es esmu darījusi - un es esmu tikai gatavojas iziet no šīs programmas 951 00:47:06,820 --> 00:47:07,620 mazliet - 952 00:47:07,620 --> 00:47:11,060 ir es esmu uzrakstījis C programmu, kas būtībā aprēķina 953 00:47:11,060 --> 00:47:12,630 n Fibonacci numuru. 954 00:47:12,630 --> 00:47:15,960 Tātad, šeit ir tikai programma, es esmu uzrakstījis C, kas aprēķina šo. 955 00:47:15,960 --> 00:47:19,040 Es varu sastādīt to, un es varu palaist tas pie komandrindas. 956 00:47:19,040 --> 00:47:22,150 Un tas notiek, lai aprēķinātu 45 Fibonacci numuru. 957 00:47:22,150 --> 00:47:24,510 >> Tāpēc pamanāt, ka tas vienkārši notiek diezgan daudz, cik ilgi. 958 00:47:24,510 --> 00:47:28,240 Es, iespējams, varētu izmantot domuzīme 03 līdz optimizēt to, vai kaut kas tamlīdzīgs, 959 00:47:28,240 --> 00:47:31,050 bet es tikai darīju tāpat regulāri kompilators iestatījumi. 960 00:47:31,050 --> 00:47:33,260 Un tas izdrukā to ārā. 961 00:47:33,260 --> 00:47:36,830 >> Bet tagad, ko es veida, kā to izdarīt? 962 00:47:36,830 --> 00:47:39,800 Ak piedodiet, nepareizi failu. 963 00:47:39,800 --> 00:47:42,800 Tāpēc es darīt to pašu stuff ar header kā iepriekš. 964 00:47:42,800 --> 00:47:45,780 Tad man darīt cp.exec. 965 00:47:45,780 --> 00:47:49,460 Tātad, ko tas gatavojas darīt, ir tas gatavojas palaist šo programmu. 966 00:47:49,460 --> 00:47:51,960 Bet kā tas darbojas, ka tas nav gatavojas gaidīt 967 00:47:51,960 --> 00:47:53,400 šī programma, lai pabeigtu. 968 00:47:53,400 --> 00:47:56,000 Tā vienkārši būtībā saka izpildīt šo programmu. 969 00:47:56,000 --> 00:47:58,700 Vārdu sakot, ievadiet to komandrindas veida. 970 00:47:58,700 --> 00:48:02,350 >> Un tad, kad esat pabeidzis ar tas, palaist šo funkciju. 971 00:48:02,350 --> 00:48:04,800 Tāpēc tagad mēs veida saņemt šo viss atjaunots lieta 972 00:48:04,800 --> 00:48:06,750 tāpat kā mēs neesam gaidīt. 973 00:48:06,750 --> 00:48:08,530 Vai šāda veida jēga? 974 00:48:08,530 --> 00:48:08,990 Yep? 975 00:48:08,990 --> 00:48:11,060 >> Mērķauditorija: [dzirdams]? 976 00:48:11,060 --> 00:48:13,610 >> KEVIN SCHMID: Tātad tas faktiski atvērt jaunu procesu, lai to izdarītu. 977 00:48:13,610 --> 00:48:19,310 Tāpēc tas ir reāli, dažos veidos, ļaunums, nevis super ļauno, bet tā ir 978 00:48:19,310 --> 00:48:22,990 svarīgi pateikt, ka tas ir sava veida atgriežoties, no vienas puses, Apache 979 00:48:22,990 --> 00:48:26,450 modeli, kur mēs pavedieni un procesus katram pieprasījuma vai 980 00:48:26,450 --> 00:48:29,280 procesus katru pieprasījumu. 981 00:48:29,280 --> 00:48:32,090 Tātad tas ir sava veida analogs , ko Apache dara. 982 00:48:32,090 --> 00:48:35,110 Dažos gadījumos, tas būs tikai izmantot jaunu vītne, kas ir nedaudz vairāk gaismas 983 00:48:35,110 --> 00:48:39,040 svars nekā procesu, bet Apache varētu galu galā forking jaunu procesu 984 00:48:39,040 --> 00:48:43,370 kas ir sava veida, ko mēs darām šeit netieši darot dot slash melot 45. 985 00:48:43,370 --> 00:48:48,690 >> Un tad tādā gadījumā mēs veida rasties paši izdevumi procesu. 986 00:48:48,690 --> 00:48:50,710 Tāpēc šī ir tikai viena lieta, ko jūs varat darīt. 987 00:48:50,710 --> 00:48:52,600 Bet tikai lai pierādītu šāda veida darbību. 988 00:48:52,600 --> 00:48:57,120 Un šī diskusija ir tikai tiešām ir vērsta uz Iesniedzot šo programmu veida, kā 989 00:48:57,120 --> 00:49:00,710 veids, kā parādīt dažādas perspektīvas , kā veidot serveriem, piemēram, ka. 990 00:49:00,710 --> 00:49:08,300 Tāpēc tas darbojas, tad tagad, ja man tas atkal, es saņēmu divus procesa ID. 991 00:49:08,300 --> 00:49:10,320 >> Pieņemsim tikai runāt par lietas norādīt. 992 00:49:10,320 --> 00:49:11,980 Tāpēc paziņojums, ka viņi pakāpeniski. 993 00:49:11,980 --> 00:49:12,700 Tas ir forši. 994 00:49:12,700 --> 00:49:15,140 Jo tas bija 27.122 agrāk. 995 00:49:15,140 --> 00:49:18,580 Bet paziņojumu tagad, viņi atgriezās pie aptuveni tajā pašā laikā. 996 00:49:18,580 --> 00:49:23,960 >> Un tagad, labs jautājums jautāt par kāpēc bija, ka lieta ir, kuru darbs 997 00:49:23,960 --> 00:49:27,590 tas bija tagad veida padarītu šīs lietas veida spēlē godīgi ar katru 998 00:49:27,590 --> 00:49:31,350 citi, šie divi gadījumi dot slash melot 45, kas man uzbrauca 999 00:49:31,350 --> 00:49:32,880 vai Mezgls skrēja? 1000 00:49:32,880 --> 00:49:36,940 Kas veida padara taisnīgi, ka viņi abi get veida balstīts palaist laiku? 1001 00:49:36,940 --> 00:49:42,900 1002 00:49:42,900 --> 00:49:44,220 >> Mērķauditorija: [nedzirdama]. 1003 00:49:44,220 --> 00:49:44,620 >> KEVIN SCHMID: Jā. 1004 00:49:44,620 --> 00:49:49,740 Tātad būtībā, kad man dot slash melot 45 vai kaut kas tamlīdzīgs, tagad tas ir 1005 00:49:49,740 --> 00:49:53,750 veida līdz operētājsistēmas apstrādāt runtime šo programmu. 1006 00:49:53,750 --> 00:49:56,920 Un tagad tā var ieplānot tos uz dažādiem CPU vai to 1007 00:49:56,920 --> 00:49:58,330 var ieplānot tos. 1008 00:49:58,330 --> 00:50:01,870 Tas var šķēle up laiku, ka viens CPU izpaužas tā, vai tie saņem 1009 00:50:01,870 --> 00:50:03,330 palaist uz vienu CPU. 1010 00:50:03,330 --> 00:50:05,620 Tā ka ir ideja, ka. 1011 00:50:05,620 --> 00:50:07,220 Vai tas ir jēga, lai visiem? 1012 00:50:07,220 --> 00:50:10,950 Tāpēc tagad Node nav īsti spēlē daļa sadalot šos uzdevumus. 1013 00:50:10,950 --> 00:50:12,200 OK. 1014 00:50:12,200 --> 00:50:14,050 1015 00:50:14,050 --> 00:50:17,840 >> Tātad tas ir gandrīz tas piemērus. 1016 00:50:17,840 --> 00:50:23,370 Es tikai gribēju parādīt vēl viena lieta tāpēc, ka daļa no tā līdz šim ir bijusi 1017 00:50:23,370 --> 00:50:27,350 nav pilnīgi super praktisks dažos gadījumos. 1018 00:50:27,350 --> 00:50:30,970 Es varu iedomāties, nāk mājās pēc šīs runāt un kaut ko un saka, piemēram, 1019 00:50:30,970 --> 00:50:35,710 labi es veida saņēmu no šīs runāt, ka Es varu dot Fibonači serveri 1020 00:50:35,710 --> 00:50:37,360 mans galīgais projekts. 1021 00:50:37,360 --> 00:50:40,770 Tātad, šeit ir tikai sava veida vēl viens piemērs , kas, cerams, būs - 1022 00:50:40,770 --> 00:50:44,620 varbūt ne, bet varbūt - nedaudz vairāk veida, kas attiecas uz gala projektiem un 1023 00:50:44,620 --> 00:50:46,440 domāšana uz priekšu par lietām, piemēram, ka. 1024 00:50:46,440 --> 00:50:48,870 >> Tāpēc tas ir chat.js. 1025 00:50:48,870 --> 00:50:52,290 Tātad šis ir veids kā kādu paraugu servera pusē kods, kas jūs varētu izmantot, lai 1026 00:50:52,290 --> 00:50:55,700 izveidot nelielu tērzēšanas serveri, piemēram, Jums var būt redzējis 1027 00:50:55,700 --> 00:50:56,630 Facebook Chat vai neatkarīgi. 1028 00:50:56,630 --> 00:50:59,990 Tāpēc es nesaku, tas ir, piemēram, Facebook Tērzēt, bet tas ir sava veida 1029 00:50:59,990 --> 00:51:06,230 piemēram, labi - varbūt nav labi, bet varbūt labi - sākumpunkts tērzēšanas 1030 00:51:06,230 --> 00:51:08,560 serveri jūsu mājas lapā par galīgo projektu. 1031 00:51:08,560 --> 00:51:11,040 Tātad, pieņemsim apskatīt to, ko tas dara. 1032 00:51:11,040 --> 00:51:15,500 >> Tāpēc mēs esam iegūt šo īpašo lietu augšpusē, tas RPV SiO 1033 00:51:15,500 --> 00:51:17,050 vienāds nepieciešama Socket.IO. 1034 00:51:17,050 --> 00:51:20,280 Tāpēc šī ir vēl viena lieta, ka tas nav faktiski nāk komplektā ar 1035 00:51:20,280 --> 00:51:22,300 Mezglā, bet jūs varat instalēt to. 1036 00:51:22,300 --> 00:51:23,480 Tā ir mezgls moduli. 1037 00:51:23,480 --> 00:51:25,670 Tātad, tas ir tāpat kā daži pagarinājumu mezglā. 1038 00:51:25,670 --> 00:51:29,220 >> SocketIO patiesībā patiešām veida atdzist. 1039 00:51:29,220 --> 00:51:32,550 Tas ir abstrakcija, kas būtībā to, ko tas ir, ir tas ļauj 1040 00:51:32,550 --> 00:51:35,770 ir šī plūsma komunikācijas starp web 1041 00:51:35,770 --> 00:51:39,430 pārlūkprogrammu un tīmekļa serveri. 1042 00:51:39,430 --> 00:51:45,250 Tātad, lielākā daļa līdz šim, mēs esam bija tie ļoti ātri vienu sekundi vai divas 1043 00:51:45,250 --> 00:51:48,790 Otrā saziņa starp web pārlūkprogrammu un tīmekļa serveri. 1044 00:51:48,790 --> 00:51:53,310 Tāpēc tas ir būtībā iet uz google.com, get sīkumi, nosūtīt to atpakaļ, un pēc tam 1045 00:51:53,310 --> 00:51:53,770 mēs esam darījuši. 1046 00:51:53,770 --> 00:51:56,560 Mēs nekad runāt atkal, līdz lietotājs veidiem kaut ko citu. 1047 00:51:56,560 --> 00:52:01,090 >> Bet ko Socket.IO un līdzīga veida lietas - un SocketIO faktiski ir viens 1048 00:52:01,090 --> 00:52:03,940 par lietām, kas ir būvēts uz kā WebSocket kas ir sava veida pieejams 1049 00:52:03,940 --> 00:52:06,440 kā daļa no HTML5 - 1050 00:52:06,440 --> 00:52:09,620 , kas ļauj jums ir šo turpināt dialogu. 1051 00:52:09,620 --> 00:52:13,990 Un tas ir ļoti noderīgi tērzēšanas serveri veida lieta, jo tas ir 1052 00:52:13,990 --> 00:52:17,390 veids kā turpināt dialogu daži veidi, jo, ja jūs čatā 1053 00:52:17,390 --> 00:52:21,540 ar kādu, jūs tagad var vienkārši sūtīt ziņu lejup caurulē, un pēc tam 1054 00:52:21,540 --> 00:52:23,940 serveris var nosūtīt īsziņu uz leju caurules ar citu personu, jūs 1055 00:52:23,940 --> 00:52:24,520 čatā ar. 1056 00:52:24,520 --> 00:52:26,903 Un tad jūs varat saņemt šo apmainīties, piemēram, ka. 1057 00:52:26,903 --> 00:52:30,590 1058 00:52:30,590 --> 00:52:32,850 >> Tātad tas ir veids, kas SocketIO ir labs. 1059 00:52:32,850 --> 00:52:38,400 Iemesls, ka SocketIO izmanto WebSockets jo viena lieta ir tā, ka 1060 00:52:38,400 --> 00:52:43,980 Papildus vienkārši veco WebSockets, tas arī dažas viltības, lai būtībā 1061 00:52:43,980 --> 00:52:45,610 padara pārlūkprogrammu saderīgu. 1062 00:52:45,610 --> 00:52:50,040 Tātad pārlūkiem, piemēram, Internet Explorer diemžēl neatbalsta WebSockets 1063 00:52:50,040 --> 00:52:50,810 pa labi no lodziņa. 1064 00:52:50,810 --> 00:52:55,290 Tāpēc tā izmanto kāda cita veida atdzist veikls lietas ar Adobe Flash, lai ļautu 1065 00:52:55,290 --> 00:52:57,170 Jums ir pārrobežu pārlūku atbalsts. 1066 00:52:57,170 --> 00:52:58,800 Tātad, tas ir patiešām noderīga. 1067 00:52:58,800 --> 00:53:02,440 >> Un patiesībā, es zinu, es esmu veida darbojas uz laiku šeit, bet CS50 1068 00:53:02,440 --> 00:53:08,490 Apspriest, vai esat kādreiz redzējuši kaut ko piemēram, es nezinu, tukša tik un tā ir 1069 00:53:08,490 --> 00:53:11,030 Atbildot uz šo ziņu, vai kaut kas tāpat, ka funkcija? 1070 00:53:11,030 --> 00:53:12,250 Tas ir SocketIO. 1071 00:53:12,250 --> 00:53:15,580 Tātad, ja kāds sāk rakstīt apspriest lodziņu, lai veiktu atbildi vai 1072 00:53:15,580 --> 00:53:20,040 kaut ko, jūsu pārlūks, kas ir sauc SocketIO izstaro sava veida 1073 00:53:20,040 --> 00:53:22,660 notikums, kas saka, ka kāds ir Atbildot uz šo amatu. 1074 00:53:22,660 --> 00:53:26,110 >> Tad serveris saka OK, kas man ir jādara? 1075 00:53:26,110 --> 00:53:29,270 Nu tagad man ir pateikt šos citi puiši kuri ir CS50 Apspriest meklē 1076 00:53:29,270 --> 00:53:31,170 Šajā post, ka kāds ir atbildēt. 1077 00:53:31,170 --> 00:53:34,190 Tātad tas ir veids, kas SocketIO ir labi, šo pastāvīgo veida 1078 00:53:34,190 --> 00:53:35,930 plūsma dialogu. 1079 00:53:35,930 --> 00:53:37,250 OK. 1080 00:53:37,250 --> 00:53:40,060 >> Tātad, ko es esmu šeit - un mēs esam tikai gatavojas ignorēt savienojumi masīvs 1081 00:53:40,060 --> 00:53:41,390 lai mazliet - 1082 00:53:41,390 --> 00:53:43,080 ko es daru, ir man cits klausīties. 1083 00:53:43,080 --> 00:53:46,880 Tātad tas ir tikai veids, Socket.IO ir sakot, pieņemsim klausīties šo ostu. 1084 00:53:46,880 --> 00:53:50,060 Un tad es to izdarītu par savienojumu. 1085 00:53:50,060 --> 00:53:53,360 Tātad tas ir tikai pamatā Socket IO s veids, kā pateikt, kad mēs saņemam 1086 00:53:53,360 --> 00:53:55,840 savienojums, es gribu jums palaist šo kodu. 1087 00:53:55,840 --> 00:53:59,870 >> Un paziņo, ka tā vietā, rec un res pagāja tur man Socket. 1088 00:53:59,870 --> 00:54:03,260 Un tas Socket ideja ir būtībā tas lieta, ka jūs varat rakstīt un lasīt 1089 00:54:03,260 --> 00:54:05,750 no tā ir lietotāja ziņas iespējams. 1090 00:54:05,750 --> 00:54:10,700 Un ziņas, ka jūs varētu nosūtīt var iet caur šo Socket. 1091 00:54:10,700 --> 00:54:12,140 Vai tas ir jēga? 1092 00:54:12,140 --> 00:54:14,490 Tātad, tas ir tas turpinās lieta. 1093 00:54:14,490 --> 00:54:17,820 >> Tātad, ko es daru, ir man zvanīt Socket.emit. 1094 00:54:17,820 --> 00:54:20,330 Un izdala notiek diezgan daudz divi argumenti. 1095 00:54:20,330 --> 00:54:24,100 Pirmais arguments ir virkne vienkārši pārstāv tādu tipu 1096 00:54:24,100 --> 00:54:25,270 lieta, jūs, kas izstaro. 1097 00:54:25,270 --> 00:54:28,120 Tātad šajā gadījumā, es esmu izmantošanu Šī virkne jaunu ziņu. 1098 00:54:28,120 --> 00:54:32,670 Un tas ir tikai būtībā sakot, ka šī veida lieta, ko es esmu 1099 00:54:32,670 --> 00:54:34,750 sūtīšanu, ir jauna ziņa. 1100 00:54:34,750 --> 00:54:38,460 Lai jūs varētu klausīties īpaša veida piemēram, jaunu ziņu vai kāds 1101 00:54:38,460 --> 00:54:39,960 izmantojot dot tālāk. 1102 00:54:39,960 --> 00:54:44,570 >> Tā savienojumu un lietotāju nosūtīti tur, ja paskatās, kur mēs aicinām dot tālāk, 1103 00:54:44,570 --> 00:54:48,150 tie ir citi virknes, kas pārstāv veidi lietotāju ziņas. 1104 00:54:48,150 --> 00:54:52,060 Tātad, tas ir būtībā, jūs varat būt šo EMIT viena no šīm ziņojumu veidiem, un 1105 00:54:52,060 --> 00:54:55,520 tad kaut ko darīt, reaģējot uz viena no šīm ziņojumu veidiem 1106 00:54:55,520 --> 00:54:57,640 >> Tāpēc es esmu, kas izstaro šo jauno ziņojumu. 1107 00:54:57,640 --> 00:55:00,540 Mēs ejam, lai ignorēt connections.push uz otru. 1108 00:55:00,540 --> 00:55:03,360 Bet tad es saku, Socket.on lietotājs nosūtīja. 1109 00:55:03,360 --> 00:55:07,540 Tāpēc tagad tas ir veids, piemēram, ja lietotājs sūta man ziņu, es gribu 1110 00:55:07,540 --> 00:55:09,240 palaist šo kodu. 1111 00:55:09,240 --> 00:55:12,080 Un paziņo, ka tas anonīms funkcija lieto šo mainīgo 1112 00:55:12,080 --> 00:55:16,300 sauc par datu, kas būtībā notiek ir lietotāja vēstījumu. 1113 00:55:16,300 --> 00:55:20,700 >> Tāpēc tagad pieņemsim veida runāt par savienojumi masīvs. 1114 00:55:20,700 --> 00:55:24,590 Tāpēc tas ir paredzēts tērzēšanas klients kur būtībā visi ir sava veida in 1115 00:55:24,590 --> 00:55:25,950 pats tērzēšanas telpā. 1116 00:55:25,950 --> 00:55:29,640 Tātad būtībā, kas mums nepieciešams, lai saglabātu apkārt ir daži masīvs, kas būtībā 1117 00:55:29,640 --> 00:55:33,170 pārstāv visus cilvēkus čatā daži veidi, ja tas ir jēga. 1118 00:55:33,170 --> 00:55:33,340 Tiesības? 1119 00:55:33,340 --> 00:55:37,190 Tāpēc, ka mums ir nepieciešams zināt, kas ir tie puiši ir, lai mēs varētu nosūtīt viņiem ziņas 1120 00:55:37,190 --> 00:55:39,140 ka citi cilvēki nosūtīt mums. 1121 00:55:39,140 --> 00:55:44,440 >> Tātad, ko šis kods tas ir tad, kad lietotājs nosūta ziņojumu - tas ir veids 1122 00:55:44,440 --> 00:55:45,300 notikums - 1123 00:55:45,300 --> 00:55:47,120 Mēs ejam, lai palaistu šo kodu. 1124 00:55:47,120 --> 00:55:51,240 Un tas, ko mēs darām, ir, mēs palaist caur šo masīvs, ka mēs esam pieprasījuši savienojumu. 1125 00:55:51,240 --> 00:55:54,390 Un diezgan daudz par katru savienojumu izņemot vienu, kas ir mūsu, tas ir 1126 00:55:54,390 --> 00:55:59,520 ko tas kods saka, mēs nosūtīsim jaunu ziņojums ar šo pievienoto ziņu 1127 00:55:59,520 --> 00:56:01,210 informāciju. 1128 00:56:01,210 --> 00:56:04,880 >> Tātad, ja jūs pamanāt šeit, ko es darīju, kad lietotājs faktiski padara jaunu 1129 00:56:04,880 --> 00:56:08,560 savienojums esmu pievienojis ar JavaScript.push metode, tas ir 1130 00:56:08,560 --> 00:56:12,100 būtībā vienkārši sakot, piemēram, pievienot ka Socket kā vērtība stāšanās 1131 00:56:12,100 --> 00:56:13,900 mūsu savienojumi masīvs. 1132 00:56:13,900 --> 00:56:20,560 Tāpēc tagad, kad tas kods darbojas, tā būs nosūtīt lietas, kas īpaši 1133 00:56:20,560 --> 00:56:22,020 savienojumus. 1134 00:56:22,020 --> 00:56:26,980 Tāpēc tas var būt labs sākuma punkts lai padarītu tērzēšanas serveri 1135 00:56:26,980 --> 00:56:28,250 vai kaut kas līdzīgs. 1136 00:56:28,250 --> 00:56:33,315 >> Un veids atdzist lieta ir tā, ka kods, kas jūs redzēt šeit, piemēram, par un 1137 00:56:33,315 --> 00:56:36,390 izstarot un lietas, piemēram, ir tāds pats veida JavaScript kodu, ka jūs būtu 1138 00:56:36,390 --> 00:56:39,260 rakstīt pārlūkā mijiedarboties ar serveri. 1139 00:56:39,260 --> 00:56:42,480 Tātad, tāpēc SocketIO ir sava veida veikls un noderīgi šādā veidā. 1140 00:56:42,480 --> 00:56:45,680 1141 00:56:45,680 --> 00:56:49,250 >> Ak, un tikai vēl viena lieta, ļoti ātri. 1142 00:56:49,250 --> 00:56:55,970 Tur bija CS50 galīgais projekts pagājušajā gadā kas būtībā īsteno tērzēšanu 1143 00:56:55,970 --> 00:56:57,840 serveris Node.js. 1144 00:56:57,840 --> 00:57:01,350 Es domāju, ka tas Harvardchats.org bet es neesmu - 1145 00:57:01,350 --> 00:57:02,940 OK. 1146 00:57:02,940 --> 00:57:06,190 Es neesmu pārliecināts, ko URL ir, bet Es varu nosūtīt, ka no tam. 1147 00:57:06,190 --> 00:57:09,260 Bet tas ir sava veida atdzist, ko jūs varat darīt ar Node.js. 1148 00:57:09,260 --> 00:57:14,680 >> Tāpēc es ceru, ka, kopumā, jūs guys ir labu sajūtu par to, kas Node.js ir noderīga 1149 00:57:14,680 --> 00:57:17,870 un kā jūs varētu varbūt pieteikties uz savu galīgo projektu. 1150 00:57:17,870 --> 00:57:21,050 Man būs izsūtot daži vairāk resursiem kopā ar to. 1151 00:57:21,050 --> 00:57:23,170 Un paldies par ierašanos. 1152 00:57:23,170 --> 00:57:23,610 Paldies. 1153 00:57:23,610 --> 00:57:27,168 >> [Aplausi]