1 00:00:00,000 --> 00:00:08,350 2 00:00:08,350 --> 00:00:09,710 >> KEVIN Schmid: Hello tout moun. 3 00:00:09,710 --> 00:00:12,640 Byenveni nan seminè a CS50 sou Node.js. 4 00:00:12,640 --> 00:00:13,955 Non mwen se Kevin. 5 00:00:13,955 --> 00:00:15,580 Mwen se yon TF CS50. 6 00:00:15,580 --> 00:00:17,650 Ak mwen se sòt de tankou vrèman eksite sou seminè sa a. 7 00:00:17,650 --> 00:00:20,430 Mwen panse ke Node.js se yon bagay ki fre. 8 00:00:20,430 --> 00:00:24,200 Mwen espere ke ka seminè sa a dwe itilize kòm yon byen mennen, mwen devine, tranplen pou 9 00:00:24,200 --> 00:00:26,380 kèk nan final pwojè ou a si w ap enterese nan lè l sèvi avèk 10 00:00:26,380 --> 00:00:27,630 yon bagay tankou Node.js. 11 00:00:27,630 --> 00:00:29,770 12 00:00:29,770 --> 00:00:33,320 >> Nou pral sòt de kòmanse seminè a koupe pa jis ap pale de yon ti kras nan la 13 00:00:33,320 --> 00:00:36,970 kalite évolutivité background pèspektiv nan Node.js, ak Lè sa a, 14 00:00:36,970 --> 00:00:39,240 nou pral deplase nan kèk egzanp kòd. 15 00:00:39,240 --> 00:00:42,340 Apre sa, mwen pral gen kòd la sou yon sit entènèt, epi ou ka gade nan Kòd la. 16 00:00:42,340 --> 00:00:45,475 Apre yo te fin seminè a, mwen pral sòt nan pale sou ki jan ou ka mete kanpe Node.js 17 00:00:45,475 --> 00:00:48,220 sou òdinatè ou. 18 00:00:48,220 --> 00:00:48,710 >> OK. 19 00:00:48,710 --> 00:00:49,760 Se konsa, kite a jwenn te kòmanse. 20 00:00:49,760 --> 00:00:53,700 Se konsa, mwen devine mwen jis vle pale sou serveurs entènèt, reyèlman, an premye. 21 00:00:53,700 --> 00:00:59,730 Apre sa, yo kòmanse diskisyon sa a, mwen fondamantalman gen yon dyagram ki se soti nan 22 00:00:59,730 --> 00:01:04,269 liv la itilize pou CS61, ki fondamantalman montre echanj ant 23 00:01:04,269 --> 00:01:08,510 ant yon pwosesis kliyan, tankou sit entènèt ou navigatè oswa tankou kliyan bi ou oswa 24 00:01:08,510 --> 00:01:11,340 yon bagay tankou sa, ak yon sèvè entènèt. 25 00:01:11,340 --> 00:01:15,150 Se konsa, sa a kalite sanble menm jan ak nan foto ke ou te wè nan konferans sou 26 00:01:15,150 --> 00:01:19,270 Mèkredi kote fondamantalman nou gen kèk pwosesis kliyan tankou Google Chrome. 27 00:01:19,270 --> 00:01:22,980 >> Lè sa a, etap se yon sèl la kliyan voye yon demann. 28 00:01:22,980 --> 00:01:27,510 Se konsa, ki ka yon bagay tankou byen se pou yo vizite, mwen pa konnen, CS50.net. 29 00:01:27,510 --> 00:01:29,320 Se konsa, nou bay ki mande sa. 30 00:01:29,320 --> 00:01:34,280 Apre sa, okenn moun sonje non an nan pwotokòl la ki espesifye ki jan sa 31 00:01:34,280 --> 00:01:35,610 demann yo ta dwe estriktire? 32 00:01:35,610 --> 00:01:36,382 Oui. 33 00:01:36,382 --> 00:01:37,650 >> ODYANS: [fèbl]. 34 00:01:37,650 --> 00:01:38,150 >> KEVIN Schmid: Egzakteman. 35 00:01:38,150 --> 00:01:40,100 Se konsa, li tankou HTTP, dwa? 36 00:01:40,100 --> 00:01:44,720 Se konsa, fondamantalman spesifikasyon la pou konbyen ki te fè demann ta dwe aktyèlman ka mete 37 00:01:44,720 --> 00:01:47,450 soti, paske nan fen jounen an, ki te fè demann se reyèlman jis tankou yon 38 00:01:47,450 --> 00:01:50,240 fisèl ki fondamantalman di mwen vle sa a. 39 00:01:50,240 --> 00:01:53,580 Apre sa, spesifikasyon la pou se sa ki HTTP. 40 00:01:53,580 --> 00:01:55,270 Se konsa, sa a, se tankou yon pwotokòl. 41 00:01:55,270 --> 00:01:57,920 >> Se konsa, Lè sa a, sèvè a ap resevwa ki mande sa. 42 00:01:57,920 --> 00:02:01,610 Se konsa, ou nèg gen yon sèvè wèb enstale nan aparèy la CS50. 43 00:02:01,610 --> 00:02:02,460 Li nan Apache. 44 00:02:02,460 --> 00:02:06,230 Apre sa, semèn sa a lè ou travay sou pwoblèm pran sèt, ou pral aktyèlman ap travay 45 00:02:06,230 --> 00:02:08,160 ak sa sèvè entènèt. 46 00:02:08,160 --> 00:02:12,380 Se konsa, sèvè a ap resevwa ke demann, ak Lè sa a, li te kalite grate li yo 47 00:02:12,380 --> 00:02:15,090 tèt li ak di tankou byen sa ki M 'fè ak sa a? 48 00:02:15,090 --> 00:02:20,060 >> Se konsa, ki baze sou sa li deside fè sa, Lè sa a, li ka gen yo kontakte kèk kalite 49 00:02:20,060 --> 00:02:20,730 nan resous. 50 00:02:20,730 --> 00:02:23,700 Epi ki resous te kapab fè yon bann bagay sa yo diferan. 51 00:02:23,700 --> 00:02:26,810 Pou youn, li ta ka jis tankou yon dosye HTML estatik. 52 00:02:26,810 --> 00:02:29,820 Se konsa, li te kapab jis pou tankou kèk HTML ki se tankou pou 53 00:02:29,820 --> 00:02:31,100 sit entènèt pèsonèl ou. 54 00:02:31,100 --> 00:02:35,360 Li ta ka yon dosye estatik tankou yon imaj oswa tankou yon fim ke ou gen. 55 00:02:35,360 --> 00:02:37,660 Li te kapab menm gen pale nan kèk kalite baz done 56 00:02:37,660 --> 00:02:39,530 tankou yon baz done miskl. 57 00:02:39,530 --> 00:02:43,910 Se konsa, li pa toujou gen yo kominike ak yon resous, men nan 58 00:02:43,910 --> 00:02:45,700 kèk ka, li te kapab. 59 00:02:45,700 --> 00:02:47,800 >> Se konsa, Lè sa a, ki sa li pral fè aprè sa, se li nan ale nan 60 00:02:47,800 --> 00:02:49,430 voye tounen repons lan. 61 00:02:49,430 --> 00:02:53,130 Ak repons la pou sa a se tou sa espesifye nan HTTP. 62 00:02:53,130 --> 00:02:54,830 Se konsa, Lè sa a, kliyan an kapab resevwa li. 63 00:02:54,830 --> 00:02:56,740 Li ka chire li apa ak travay sou li. 64 00:02:56,740 --> 00:03:00,900 Lè sa a, ou jwenn yon paj wèb tankou Google oswa CS50.net oswa 65 00:03:00,900 --> 00:03:02,240 tou sa ou te ale nan. 66 00:03:02,240 --> 00:03:03,100 OK? 67 00:03:03,100 --> 00:03:06,080 >> Se konsa, sa a se entèraksyon an debaz ki nou pral yo dwe fè fas ak. 68 00:03:06,080 --> 00:03:08,770 Apre sa, nou ap bèl anpil pral fè ki konsantre sou pati sa a nan la 69 00:03:08,770 --> 00:03:10,640 entèraksyon, sèvè a. 70 00:03:10,640 --> 00:03:10,990 OK. 71 00:03:10,990 --> 00:03:12,210 Fre. 72 00:03:12,210 --> 00:03:15,500 Okenn moun gen nenpòt kesyon byen lwen tèlman? 73 00:03:15,500 --> 00:03:17,720 OK. 74 00:03:17,720 --> 00:03:22,430 >> Se konsa, kòm nou te di, sèvè wèb la resevwa sa a demann HTTP ak Lè sa a pwoblèm sa a 75 00:03:22,430 --> 00:03:24,760 Repons HTTP. 76 00:03:24,760 --> 00:03:29,100 Apre sa, tankou nou te pale osijè de anvan, nan Sèvè wèb aparèy CS50 se Apache. 77 00:03:29,100 --> 00:03:32,490 Se konsa, lè ou nèg travay sou P pran sèt, w ap ale nan ap travay ak nan 78 00:03:32,490 --> 00:03:34,120 Sèvè wèb Apache. 79 00:03:34,120 --> 00:03:37,890 Ou pa janm pral oblije reyèlman travay ak Apache dirèkteman twòp. 80 00:03:37,890 --> 00:03:41,920 Ou sòt de configured Apache yon ti kras lè ou presize gen tout pouvwa a Virtual oswa 81 00:03:41,920 --> 00:03:44,970 gen tout pouvwa a v yo, epi nou pral jwenn ak sa yo ki nan yon ti kras. 82 00:03:44,970 --> 00:03:50,620 >> Men, fondamantalman, sèvè wèb la Apache mete kanpe nan travay avèk kalite PHP 83 00:03:50,620 --> 00:03:51,730 nan soti nan bwat la. 84 00:03:51,730 --> 00:03:56,170 Se konsa, sa ki vrèman k ap pase, se lè ou ale nan youn nan sit entènèt ou tankou, di, 85 00:03:56,170 --> 00:04:00,360 lame lokal index.php koupe oubyen yon bagay, se navigatè ou a voye ke 86 00:04:00,360 --> 00:04:04,330 demann, ak Lè sa a, Apache ki chita gen ak figi soti nan fè ak li. 87 00:04:04,330 --> 00:04:08,840 Ak aksyon la se egzekite ki Kòd nan index.php ak 88 00:04:08,840 --> 00:04:11,330 Lè sa a, voye l 'sou dèyè. 89 00:04:11,330 --> 00:04:15,640 Se konsa, gen nan sa. 90 00:04:15,640 --> 00:04:16,980 Se konsa, nou sòt de te pale osijè de sa a. 91 00:04:16,980 --> 00:04:21,990 Se konsa, li ta ka jis sèvi yon dosye estatik oswa kouri kèk Kòd PHP ak Lè sa a, pwoblèm 92 00:04:21,990 --> 00:04:23,510 repons lan. 93 00:04:23,510 --> 00:04:27,670 >> Se konsa, Lè sa a, yon kesyon komen ki ka vin moute se byen, ki jan nou vrèman fè fas 94 00:04:27,670 --> 00:04:31,750 ak gen plizyè itilizatè an menm tan an? 95 00:04:31,750 --> 00:04:36,930 Se konsa, imajine si ou te ekri yon sit entènèt sèvè, si ou te gen yon sèvè wèb ki 96 00:04:36,930 --> 00:04:39,900 ou te ap eseye ekri nan yon bagay tankou C oswa yon bagay tankou sa, 97 00:04:39,900 --> 00:04:45,150 fondamantalman ou ka panse osijè de kòman gen ta ka gen kèk kalite kòd ki 98 00:04:45,150 --> 00:04:49,330 ta resevwa demann lan, men Lè sa a, li te fè tout travay sa a sou li. 99 00:04:49,330 --> 00:04:53,060 Li ka gen, pou egzanp, kontakte a baz done oswa yon bagay tankou sa. 100 00:04:53,060 --> 00:04:53,300 Dwa? 101 00:04:53,300 --> 00:04:56,010 Lè sa a, li ta fè sa kalite nan pwosesis aplikasyon an epi Lè sa a, 102 00:04:56,010 --> 00:04:57,060 voye tounen lakay repons lan. 103 00:04:57,060 --> 00:04:58,950 Se konsa, sa a, se tankou anwo nan syèl la nivo BECA. 104 00:04:58,950 --> 00:05:04,210 >> Men, li la pa imedyatman evidan ki jan ou ka fè sa pou ke de moun oswa 105 00:05:04,210 --> 00:05:09,040 menm 1,000 moun te kapab travay avèk ou sèvè wèb nan menm tan an. 106 00:05:09,040 --> 00:05:14,880 Se konsa, solisyon an ki Apache sèvi ak yo rele fil oswa pwosesis. 107 00:05:14,880 --> 00:05:16,770 Se konsa, ou ka gen tande pale de tèm sa yo anvan. 108 00:05:16,770 --> 00:05:22,190 Yo ke li OKE si ou gen pa, men jis panse sou fil oswa pwosesis kòm fason pou 109 00:05:22,190 --> 00:05:26,290 yon sistèm opere oswa yon pwogram itilizatè oswa yon bagay tankou sa oswa yon sèvè sit entènèt 110 00:05:26,290 --> 00:05:28,810 sòt de egzekite plizyè bagay sa yo nan yon fwa. 111 00:05:28,810 --> 00:05:31,760 Se konsa, ou ka tande tèm nan tankou fil nan ekzekisyon. 112 00:05:31,760 --> 00:05:34,140 Se konsa, li nan kalite tankou w ap sòt de Multitech. 113 00:05:34,140 --> 00:05:37,710 >> Men, si ou te wè sou bwat la nan ou laptop, oswa yon bagay tankou sa, 114 00:05:37,710 --> 00:05:43,040 multicore, ki sa ou ka fè se ou kapab kouri de fil diferan sou diferan 115 00:05:43,040 --> 00:05:46,700 pati nan CPU a pou ke yo kapab aktyèlman rive an menm tan an. 116 00:05:46,700 --> 00:05:48,100 Se konsa, sa a se vrèman gen anpil pouvwa. 117 00:05:48,100 --> 00:05:52,270 Lè sa a se kalite Apache a solisyon a pwoblèm sa a. 118 00:05:52,270 --> 00:05:57,900 >> Se konsa, ki genyen kalite tankou nenpòt pwoblèm ak apwòch sa a menm si? 119 00:05:57,900 --> 00:05:59,870 Se konsa, mwen devine mwen kalite ekri kòmandman sa yo la. 120 00:05:59,870 --> 00:06:03,440 Men, tou de peyi yo sòt de sèvi ak yon anpil nan memwa. 121 00:06:03,440 --> 00:06:07,490 Li trè chè yo kreye yon ti moso fil oswa yon pwosesis. 122 00:06:07,490 --> 00:06:11,750 >> Ak yon pati nan rezònman a se ke jis tankou lè w ap kouri yon pwogram C 123 00:06:11,750 --> 00:06:15,090 tankou prensipal ou ak Lè sa a, ki apèl yon lòt fonksyon, ki gen 124 00:06:15,090 --> 00:06:16,520 kèk kalite chemine. 125 00:06:16,520 --> 00:06:19,910 Se konsa, fil tou mande pou yon antyèman chemine separe ki 126 00:06:19,910 --> 00:06:21,220 kapab byen gwo. 127 00:06:21,220 --> 00:06:25,170 Men, si ou ka imajine gen tòn itilizatè sou sit entènèt ou, ou ta gen 128 00:06:25,170 --> 00:06:26,280 yon anpil nan diferan fil. 129 00:06:26,280 --> 00:06:28,230 Sa se yon anpil nan pil jere epi kenbe. 130 00:06:28,230 --> 00:06:31,280 Se konsa, li konsomasyon memwa gwo. 131 00:06:31,280 --> 00:06:35,650 >> Lè sa a,, tou, se pou yo di ou gen sèlman yon sèl CPU, oswa kite a di ou gen 132 00:06:35,650 --> 00:06:38,460 plis fil pase ou gen sa yo multicores. 133 00:06:38,460 --> 00:06:38,730 Dwa? 134 00:06:38,730 --> 00:06:43,280 Se konsa, kite a di ou te gen 10 fil epi ou sèlman te gen senk proseseur. 135 00:06:43,280 --> 00:06:46,260 Ou kalite dwe fè bagay sa a kote ou chanje ant aktyèl la 136 00:06:46,260 --> 00:06:49,090 youn ki ap kouri paske ou pa ka kouri tout 10 nan yon fwa. 137 00:06:49,090 --> 00:06:50,980 Epi sa a, yo te rele yon switch kontèks. 138 00:06:50,980 --> 00:06:54,260 Apre sa, ke tèm aktyèlman gen yon koup la kontèks diferan, men kite yo jis 139 00:06:54,260 --> 00:06:56,620 panse a li kòm oblije chanje ant de fil. 140 00:06:56,620 --> 00:06:59,730 Sa ka trè chè paske fondamantalman ki sa ou dwe fè se ou 141 00:06:59,730 --> 00:07:03,340 gen sispann sa w ap fè, sove la eta de ki fil kouri, ak 142 00:07:03,340 --> 00:07:05,440 Lè sa a, chanje a yon yon lòt kote. 143 00:07:05,440 --> 00:07:09,420 >> Se konsa, tout moun kalite wè la motivasyon sou rezon ki fè fil ak 144 00:07:09,420 --> 00:07:12,030 pwosesis ta kapab yon ti kras ankonbran? 145 00:07:12,030 --> 00:07:13,840 Apre sa, t 'ou gen yon kesyon? 146 00:07:13,840 --> 00:07:14,376 OK. 147 00:07:14,376 --> 00:07:15,070 Fre. 148 00:07:15,070 --> 00:07:18,090 Okenn moun gen nenpòt kesyon? 149 00:07:18,090 --> 00:07:19,620 OK. 150 00:07:19,620 --> 00:07:26,720 >> Se konsa, si nou pran yon etap tounen pou yon dezyèm, gen nan kalite tankou yon 151 00:07:26,720 --> 00:07:30,350 obsèvasyon ke nou ka fè sou yon anpil nan aplikasyon pou sou entènèt. 152 00:07:30,350 --> 00:07:34,810 Apre sa, sa ki nan vrèman ke yon anpil nan yo aktyèlman pa fè ke anpil itil 153 00:07:34,810 --> 00:07:37,140 travay andedan nan yon moso fil. 154 00:07:37,140 --> 00:07:41,170 Se konsa, gen yon moun te kòmanse sou P pran sèt nan tout? 155 00:07:41,170 --> 00:07:45,650 Se konsa, ou vle petèt dekri kèk nan pati yo? 156 00:07:45,650 --> 00:07:47,850 Èske w te travay sou login oswa yon bagay tankou sa? 157 00:07:47,850 --> 00:07:49,330 >> ODYANS: No 158 00:07:49,330 --> 00:07:49,780 >> KEVIN Schmid: OK. 159 00:07:49,780 --> 00:07:50,150 Pa janm tèt ou. 160 00:07:50,150 --> 00:07:50,900 M regrèt. 161 00:07:50,900 --> 00:07:55,790 Men, fondamantalman, nan P mete nan, w ap yo pral fè yon anpil nan sòt de 162 00:07:55,790 --> 00:07:59,760 demann nan yon baz done jwenn kèk enfòmasyon ki soti nan ke baz done. 163 00:07:59,760 --> 00:08:03,330 Ak sa ki Kòd ou a pral nan ap fè, sa ke pwosesis Apache oswa 164 00:08:03,330 --> 00:08:06,030 ki Apache fil se yo pral fè pandan ke li gen yo kontakte a 165 00:08:06,030 --> 00:08:08,990 baz done se li nan sòt de pral fè chita la epi li pral fè 166 00:08:08,990 --> 00:08:12,130 ap tann pou baz done a reponn. 167 00:08:12,130 --> 00:08:16,290 >> Koulye a, ki pa ta ka son tankou sa gwo yon fè fas paske baz done a se sou ou 168 00:08:16,290 --> 00:08:18,240 Aparèy CS50, dwa? 169 00:08:18,240 --> 00:08:22,930 Men, gen kèk kalite rezo latansi la, paske kounye a entènèt la 170 00:08:22,930 --> 00:08:26,830 sèvè gen pwoblèm demann pwòp li nan baz done a yo kominike avèk la 171 00:08:26,830 --> 00:08:29,520 baz done ak Lè sa a, jwenn ki enfòmasyon tounen. 172 00:08:29,520 --> 00:08:33,190 Se konsa, koulye li a tankou byen rete tann pou m ', mwen se pwal ale jwenn yon bagay ki soti nan 173 00:08:33,190 --> 00:08:35,770 baz done ak Lè sa a, gen yon anpil nan ap tann pral sou. 174 00:08:35,770 --> 00:08:36,870 ki fè sans? 175 00:08:36,870 --> 00:08:38,580 >> Se pou kèk bagay li a pa tèlman move. 176 00:08:38,580 --> 00:08:41,950 Si li jis gen yo, pou egzanp, aksè memwa, ki pa nan renmen 177 00:08:41,950 --> 00:08:44,100 terib mwen / O latansi. 178 00:08:44,100 --> 00:08:47,110 Lè m 'di, mwen / latansi O, ki sa mwen se refere li a, se tankou nenpòt kalite tankou 179 00:08:47,110 --> 00:08:48,290 pwodiksyon opinyon. 180 00:08:48,290 --> 00:08:52,950 Men, jwenn aksè nan yon dosye sou ki gen kapasite a, tankou si mwen te vle sèvi HTML nan estatik 181 00:08:52,950 --> 00:08:57,850 ranpli ki te sou paj entènèt mwen an oswa yon bagay tankou sa, mwen kalite gen 182 00:08:57,850 --> 00:09:02,310 sispann pou yon ti jan, li ke dosye nan soti nan disk la, ak Lè sa a, nan 183 00:09:02,310 --> 00:09:04,400 pwosesis ke mwen ap tann. 184 00:09:04,400 --> 00:09:06,700 Mwen pa fè travay itil. 185 00:09:06,700 --> 00:09:11,270 >> Sa a se pa vre nan tout bagay, men li se komen nan aplikasyon pou tankou P seri 186 00:09:11,270 --> 00:09:13,960 sèt ak yon anpil nan aplikasyon pou ke ou pa ap 187 00:09:13,960 --> 00:09:15,440 aktyèlman ap fè anpil panse. 188 00:09:15,440 --> 00:09:19,090 Apre sa, lè m 'di panse, mwen vle di tankou travay enfòmatik. 189 00:09:19,090 --> 00:09:23,270 Travay Se konsa, enfòmatik ta ka yon bagay tankou, di, ou te vle 190 00:09:23,270 --> 00:09:26,590 ekri yon sèvè wèb ki jis calculée nimewo a Fibonacci nyèm. 191 00:09:26,590 --> 00:09:29,300 Sa pa son tankou yon patikilyèman sèvè wèb plezi. 192 00:09:29,300 --> 00:09:34,220 Menm jan ak mwen pa ta espere ke sit yo dwe Facebook kap vini an, men sa se kèk 193 00:09:34,220 --> 00:09:35,610 kalite travay enfòmatik. 194 00:09:35,610 --> 00:09:39,570 >> Apre sa, ou ka imajine ranplase ke ak kèk lòt kalite enteresan 195 00:09:39,570 --> 00:09:43,070 Enfòmatik travay. 196 00:09:43,070 --> 00:09:46,050 Se pou nou di ou te ekri yon bagay ki kalkile degre yo nan 197 00:09:46,050 --> 00:09:49,170 separasyon ant de moun oswa yon bagay tankou sa. 198 00:09:49,170 --> 00:09:51,860 Se konsa, ki fè enplike kèk kalite nan kalkil, dwa? 199 00:09:51,860 --> 00:09:56,630 E menm lè sa a, fè sa ou toujou gen fè yon anpil nan ap tann pou petèt 200 00:09:56,630 --> 00:09:59,550 ou gen sijè rechèch yon baz done yo gade moute ki nan zanmi ak ki moun ki oswa 201 00:09:59,550 --> 00:10:00,600 yon bagay tankou sa. 202 00:10:00,600 --> 00:10:03,510 Se konsa, gen ki kalite nosyon nan enfòmatik travay. 203 00:10:03,510 --> 00:10:05,260 ki fè sans? 204 00:10:05,260 --> 00:10:08,258 okenn moun gen nenpòt kesyon? 205 00:10:08,258 --> 00:10:11,960 >> Oh ak mwen devine mwen mete serveurs chat gen paske serveurs chat yo kalite 206 00:10:11,960 --> 00:10:13,240 yon lòt bon ekzanp de sa a. 207 00:10:13,240 --> 00:10:15,250 Yon sèvè chat pa gen fè anpil panse. 208 00:10:15,250 --> 00:10:18,350 Li jis gen pou ret tann pou moun yo voye mesaj ak Lè sa a, lè 209 00:10:18,350 --> 00:10:19,800 yo, voye yo. 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 >> Se konsa, jis yo Rekapitilasyon ankò, Apache ak serveurs entènèt ki sanble tankou sa fouchèt yon 213 00:10:28,180 --> 00:10:31,470 anpil nan fil ak pwosesis ki kapab kalite inutil. 214 00:10:31,470 --> 00:10:37,530 Se konsa, mwen devine kesyon an ki ka vini soti nan ki nou bezwen gen 215 00:10:37,530 --> 00:10:39,610 fil miltip ak pwosesis? 216 00:10:39,610 --> 00:10:41,890 E si nou jis te gen youn? 217 00:10:41,890 --> 00:10:45,710 >> Se konsa, kite a kalite penti yon foto nan ki sa sa a ta sanble. 218 00:10:45,710 --> 00:10:47,810 Se konsa, kite a sèvi ak sèlman yon sèl fil la. 219 00:10:47,810 --> 00:10:48,660 OK? 220 00:10:48,660 --> 00:10:52,790 Se konsa, jis imajine sa a ak yon sèl fil la. 221 00:10:52,790 --> 00:10:56,600 >> Ann sipoze nou pa te vrèman fè ke anpil itil - ak lè m 'di 222 00:10:56,600 --> 00:10:59,450 ki itil, mwen vle di travay enfòmatik - 223 00:10:59,450 --> 00:11:01,130 nan sa yo fil miltip anvan. 224 00:11:01,130 --> 00:11:04,180 Se konsa, kite a kalite konsolide tout bagay nan yon sèl fil la. 225 00:11:04,180 --> 00:11:07,780 Se konsa, sa si nou te gen yon sèl moso twal kamwazi ki kalite nan jis ale alantou an bouk la ak 226 00:11:07,780 --> 00:11:10,880 toujou ap chèk te fè yon bagay nouvo rive. 227 00:11:10,880 --> 00:11:15,130 Se konsa, pou egzanp, yon bagay nouvo ki te pase te kapab vle di mwen te resevwa yon bagay tounen soti nan 228 00:11:15,130 --> 00:11:19,310 baz done, oswa yon moun a voye m 'yon nouvo demann HTTP. 229 00:11:19,310 --> 00:11:22,290 Se konsa, sa yo se kalite evènman ki rive, dwa? 230 00:11:22,290 --> 00:11:26,130 >> Lè sa a, ki sa mwen kapab fè lè sa yo nouvo bagay sa yo rive se nan menm fil sa a 231 00:11:26,130 --> 00:11:30,120 nan ekzekisyon, sa a moso twal kamwazi yon sèl nan ekzekisyon, mwen ka rele kèk kòd ki 232 00:11:30,120 --> 00:11:32,410 ta okipe ke bagay an patikilye. 233 00:11:32,410 --> 00:11:36,640 Se konsa, pou egzanp, si mwen te resevwa yon bagay tounen soti nan baz done a, mwen te kapab kouri mwen 234 00:11:36,640 --> 00:11:40,960 ti pati enfòmatik nan li ki aktyèlman jis prepare bagay nan 235 00:11:40,960 --> 00:11:42,620 voye tounen nan itilizatè a. 236 00:11:42,620 --> 00:11:46,710 Se konsa, fè ki kalite fè sans? 237 00:11:46,710 --> 00:11:49,940 >> Men, sa ki se reyèlman nan enplikasyon nan sa a? 238 00:11:49,940 --> 00:11:50,660 Dwa? 239 00:11:50,660 --> 00:11:53,730 Paske nou te ekri yon anpil nan kòd ki - 240 00:11:53,730 --> 00:11:58,330 ak mwen jis ale nan so devan nan glisad yo si ke se ok. 241 00:11:58,330 --> 00:12:00,930 Se konsa, si ou pa lide, mwen se jis pral pran yon etap tounen. 242 00:12:00,930 --> 00:12:03,410 Se konsa, sa a kalite bagay se rele yon bouk evènman. 243 00:12:03,410 --> 00:12:04,070 OK? 244 00:12:04,070 --> 00:12:07,240 Apre sa, li nan kalite debaz la lide dèyè Node.js. 245 00:12:07,240 --> 00:12:11,240 >> Se konsa, sa Node.js se reyèlman fè kòm yon sit entènèt sèvè se gen nan yon moso fil sèl 246 00:12:11,240 --> 00:12:14,850 ki se fondamantalman pral alantou an yon bouk tankou yon pandan y ap yon sèl kalite anba 247 00:12:14,850 --> 00:12:18,510 kapo a nan Node.js sa a, se toujou ap kont kouran, t 'nou resevwa bagay ki nouvo? 248 00:12:18,510 --> 00:12:22,720 Lè sa a, li pral kouri pòtè ke ou fè fè a. 249 00:12:22,720 --> 00:12:26,720 Men, yon bon kesyon mande se, ki jan nou ka fè sa a rive 250 00:12:26,720 --> 00:12:28,090 avèk bagay ki egziste deja? 251 00:12:28,090 --> 00:12:32,440 >> Se konsa, mwen mete yon liy nan C Kòd isit la ke fondamantalman sanble li a louvri yon 252 00:12:32,440 --> 00:12:33,060 pote, dwa? 253 00:12:33,060 --> 00:12:36,090 Mwen Li jis a soti ak yon album. 254 00:12:36,090 --> 00:12:39,600 Se konsa, mwen te gen yo louvri l 'yon nouvo dosye. 255 00:12:39,600 --> 00:12:43,810 Se konsa, wout la Kòd C nou an pou opere - 256 00:12:43,810 --> 00:12:47,890 ak Mwen devine rezon ki fè yo mwen te chwazi dosye te paske sa se kalite limit la 257 00:12:47,890 --> 00:12:52,000 nan travay la mwen / O ke nou te fè nan C nan yon sans ke gen nan pwodiksyon opinyon. 258 00:12:52,000 --> 00:12:55,070 Se konsa, nou rele Kòd sa a ki fè sa f louvri. 259 00:12:55,070 --> 00:12:59,370 Lè sa a, sou liy ki vin apre a nan nou an pwogram, nou kapab kounye a travay ansanm ak f. 260 00:12:59,370 --> 00:13:02,710 >> Se konsa, sa a ta ka yon egzanp sou yon bagay sa a, se tankou synchronous oswa 261 00:13:02,710 --> 00:13:06,850 bloke paske sou sa liy premye gen n ap tann jiskaske nou 262 00:13:06,850 --> 00:13:08,110 jwenn dosye a louvri. 263 00:13:08,110 --> 00:13:12,260 Se konsa, sou liy, dezyèm lan, nou konnen ke nou ka travay avèk f, men sa a vle di ke 264 00:13:12,260 --> 00:13:16,240 ki liy dezyèm pa ka vrèman kouri jiskaske yo liy lan premye fè. 265 00:13:16,240 --> 00:13:17,760 ki fè sans? 266 00:13:17,760 --> 00:13:20,890 >> Se konsa, sa a ta ka move yo mete nan yon Handler evènman. 267 00:13:20,890 --> 00:13:23,920 Ak rezon an pou sa se ke sa a kalite tann, dwa? 268 00:13:23,920 --> 00:13:26,500 Se konsa, sa a ta retounen nou tounen nan menm bagay la. 269 00:13:26,500 --> 00:13:29,470 Epi, koulye a nou pa ta menm gen nan benefis nan plizyè fil oswa 270 00:13:29,470 --> 00:13:32,390 pwosesis paske nou te resevwa yon sèl moso twal kamwazi nan Node.js. 271 00:13:32,390 --> 00:13:35,496 ki fè sans nan tout moun? 272 00:13:35,496 --> 00:13:35,990 >> ODYANS: Rete tann. 273 00:13:35,990 --> 00:13:36,980 Se konsa, sa ki nan ranplasman an? 274 00:13:36,980 --> 00:13:37,840 >> KEVIN Schmid: Oh, se konsa wi. 275 00:13:37,840 --> 00:13:39,560 Se konsa, mwen pral pou li ale nan ranplasman an. 276 00:13:39,560 --> 00:13:40,430 OK. 277 00:13:40,430 --> 00:13:42,960 Se konsa, sa si nou te gen yon bagay ki te sanble sa a? 278 00:13:42,960 --> 00:13:45,730 Se konsa, sa si koulye a, mwen modifié f louvri yon ti kras? 279 00:13:45,730 --> 00:13:48,370 Se konsa, mwen pase nan menm bagay la tou de agiman tankou anvan. 280 00:13:48,370 --> 00:13:52,610 Mwen toujou renmen chante nan nouvo ke li a soti ak. 281 00:13:52,610 --> 00:13:57,260 Men, mwen pase yon bagay twazyèm ki se varyab sa a te rele kòd. 282 00:13:57,260 --> 00:14:02,280 >> Men, sa ki se kòd aktyèlman nan kontèks sa a? 283 00:14:02,280 --> 00:14:05,360 Èske li tankou yon varyab C regilye? 284 00:14:05,360 --> 00:14:06,740 Li se yon fonksyon, dwa? 285 00:14:06,740 --> 00:14:09,450 Apre sa, ki ka yon ti kras etranj paske Mwen se aktyèlman tankou koulye a pase yon 286 00:14:09,450 --> 00:14:12,320 fonksyone nan yon lòt fonksyon. 287 00:14:12,320 --> 00:14:14,400 >> Se konsa, yon koup bagay sa yo sonje sou sa. 288 00:14:14,400 --> 00:14:17,145 Yon sèl, mwen pa aktyèlman rele fonksyon an kòd. 289 00:14:17,145 --> 00:14:20,650 Se konsa, ou pa wè kòd ak nan paren agoch, adwat paren. 290 00:14:20,650 --> 00:14:23,010 Mwen jis pase nan kòd. 291 00:14:23,010 --> 00:14:26,990 Ak nan C, ki sa ki sa a ta aktyèlman fè se ban m 'yon konsèy ak sa yo ki aktyèl 292 00:14:26,990 --> 00:14:29,740 Kòd, ak Lè sa a, sa a te kapab kouri li. 293 00:14:29,740 --> 00:14:33,350 Men, jis panse sou li kòm w ap pase kòd la nan kouri lè 294 00:14:33,350 --> 00:14:35,150 ki dosye ki louvri. 295 00:14:35,150 --> 00:14:41,430 >> Men, sa ki sa sa vle di se ke kounye a nan rès nan pwogram m 'ki ta ka fè 296 00:14:41,430 --> 00:14:47,050 lòt bagay, yo ka kontinye fè lòt bagay pandan ke nou, pa reyèlman rete tann, men 297 00:14:47,050 --> 00:14:50,890 jis gen nan do a nan tèt nou ke lè sa dosye a louvri, kouri ki 298 00:14:50,890 --> 00:14:52,130 Kòd nan tèt la. 299 00:14:52,130 --> 00:14:53,390 ki fè sans? 300 00:14:53,390 --> 00:14:58,060 >> Epi, koulye a lide a dèyè Node.js se ke kòd la nan bagay la fè ak f 301 00:14:58,060 --> 00:15:04,590 pati yo ta dwe trè kout ak senp ak dwat epi yo pa vrèman gen 302 00:15:04,590 --> 00:15:06,160 trè kalkil entansif. 303 00:15:06,160 --> 00:15:09,390 Li ka gen yo louvri yon lòt dosye, men ki ta dwe tou ap trè rapid 304 00:15:09,390 --> 00:15:14,710 paske li ta dwe jis di fè yon lòt f ouvè epi Lè sa a, rele sa lòt kòd. 305 00:15:14,710 --> 00:15:19,100 >> Se konsa, jis yo dwe konplètman klè, f la louvri ki fè nouvo chante sa a, Katy Perry 306 00:15:19,100 --> 00:15:23,060 kreve mp3, ki nan ale nan bèl anpil retounen imedyatman. 307 00:15:23,060 --> 00:15:27,820 Lè sa a, nou ka jis kontinye ap fè lòt bagay paske tout sa ki kounye a f 308 00:15:27,820 --> 00:15:33,410 louvri rele se di fondamantalman nan kache f Kòd louvri louvri sa a ranpli 309 00:15:33,410 --> 00:15:36,020 ak lè w ap fè ouvèti sa a ranpli oswa lè ou jwenn li tounen, 310 00:15:36,020 --> 00:15:37,480 Lè sa a, kouri ki kòd. 311 00:15:37,480 --> 00:15:39,540 Men, li pa aktyèlman kouri ke kòd. 312 00:15:39,540 --> 00:15:41,815 Apre sa, ou te gen yon kesyon? 313 00:15:41,815 --> 00:15:46,180 >> ODYANS: Ou te sanble yo vle di yon kèk fwa ke pandan l ajoute ke kalkil 314 00:15:46,180 --> 00:15:50,545 Kòd entansif sòt de kraze a [Fèbl] kondwi sistèm. 315 00:15:50,545 --> 00:15:51,795 [Fèbl]? 316 00:15:51,795 --> 00:15:54,450 317 00:15:54,450 --> 00:15:55,290 >> KEVIN Schmid: Sa se yon kesyon gwo. 318 00:15:55,290 --> 00:15:59,280 Se konsa, mwen gen aktyèlman yon egzanp sou kouman ou ta ka entegre kalkil 319 00:15:59,280 --> 00:16:01,090 Kòd entansif nan yon ti kras. 320 00:16:01,090 --> 00:16:03,620 Se konsa, lè nou jwenn nan Egzanp ki kòd, Mwen pral asire w ke ou rale ke yon moun. 321 00:16:03,620 --> 00:16:04,700 Eske se sa ke OK? 322 00:16:04,700 --> 00:16:05,950 Mèsi poutèt ou. 323 00:16:05,950 --> 00:16:07,690 324 00:16:07,690 --> 00:16:08,750 >> Ki sa ki non ou te ye? 325 00:16:08,750 --> 00:16:10,620 >> ODYANS: Arawon. 326 00:16:10,620 --> 00:16:14,830 >> KEVIN Schmid: Arawon pote moute yon trè bon pwen, ki se ke si mwen te gen 327 00:16:14,830 --> 00:16:18,560 kèk kòd kalkil entansif nan fè bagay la ak f pati, rès la nan 328 00:16:18,560 --> 00:16:22,880 pwogram m 'lan pa ka kouri epi yo pa ka tande pou nouvo demann oswa nenpòt bagay jiskaske tout 329 00:16:22,880 --> 00:16:24,270 se ke bagay fini. 330 00:16:24,270 --> 00:16:27,390 Se konsa, si mwen ekri kòd neu an jeneral sof si nou fè yon bagay tankou mwen pral 331 00:16:27,390 --> 00:16:33,060 sijere pita lè nou gade nan egzanp Kòd, mwen gen yo dwe asire ke 332 00:16:33,060 --> 00:16:36,060 Kòd m 'lan pa mare evènman sa a bouk. 333 00:16:36,060 --> 00:16:38,120 ki fè sans? 334 00:16:38,120 --> 00:16:38,350 OK. 335 00:16:38,350 --> 00:16:40,040 Fre. 336 00:16:40,040 --> 00:16:47,090 >> Se konsa, Node.js ofri kad sa a ki ou ka bati sa yo evènman kondwi 337 00:16:47,090 --> 00:16:48,210 serveurs avèk yo. 338 00:16:48,210 --> 00:16:53,460 Se konsa, li gen sa yo kalite asenkron ki pa bloke mwen / O bibliyotèk, Lè nou konsidere ke 339 00:16:53,460 --> 00:16:56,800 estanda C bibliyotèk sa yo ke nou ve yo te ap travay ak, tankou si ou jis 340 00:16:56,800 --> 00:16:59,500 sèvi ak yo nan menm fason an ke nou te gen te lè l sèvi avèk yo ak f ouvè ak 341 00:16:59,500 --> 00:17:03,000 bagay, sa yo ki ap bloke paske ou gen aktyèlman yo rete tann pandan 342 00:17:03,000 --> 00:17:04,470 ki dosye yo louvri. 343 00:17:04,470 --> 00:17:09,290 >> Men, Node.js ba ou ke epi li fondamantalman lyen nan V8 Google la 344 00:17:09,290 --> 00:17:14,030 JavaScript motè ki se rezon ki fè yo ki Chrome se tèlman vit nan pwosesis 345 00:17:14,030 --> 00:17:17,040 JavaScript paske li gen sa a motè V8. 346 00:17:17,040 --> 00:17:22,460 Se konsa, mwen konnen ke son tankou youn nan moun ki WWDC konferans pwomotè bagay 347 00:17:22,460 --> 00:17:25,390 kote yo jis jete yon pakèt moun sou la bagay sa yo nimewo lèt pou processeurs 348 00:17:25,390 --> 00:17:26,910 epi di sa a se konsa fre. 349 00:17:26,910 --> 00:17:34,200 Men, li se fre ke yo te fè sa a paske JavaScript - 350 00:17:34,200 --> 00:17:37,010 oswa petèt si ou pa abitye avèk JavaScript ankò paske nou pa te gen 351 00:17:37,010 --> 00:17:38,180 konferans yo sou li - 352 00:17:38,180 --> 00:17:40,770 men JavaScript se yon entèprete lang. 353 00:17:40,770 --> 00:17:41,970 >> Lè sa a se yon pwen enpòtan tou. 354 00:17:41,970 --> 00:17:45,790 Se konsa, li enpòtan pou wèb nou an serveurs yo dwe vit, dwa? 355 00:17:45,790 --> 00:17:49,970 Men, si nou tout nou te jis kouri JavaScript kòd ki te entèprete ak jis 356 00:17:49,970 --> 00:17:52,130 nenpòt ki entèprèt fin vye granmoun li ta kapab ralanti. 357 00:17:52,130 --> 00:17:55,980 Benefis Se konsa, neu soti nan gen sa a Super vit V8 entèprèt. 358 00:17:55,980 --> 00:17:59,580 Apre sa, mwen pa konnen si yo te rele l ' paske kalòt nan V8 a parèt sou fwon an 359 00:17:59,580 --> 00:18:01,110 bagay, men OK. 360 00:18:01,110 --> 00:18:07,070 >> Se konsa, mwen te prepare kèk egzanp nan URL sa a. 361 00:18:07,070 --> 00:18:10,490 Apre seminè a, mwen sòt de ale nan pale sou kijan ou kapab jwenn neu seri 362 00:18:10,490 --> 00:18:13,570 leve, men pou kounye a, mwen jis sòt de vle mache nan kèk egzanp kòd. 363 00:18:13,570 --> 00:18:17,250 Se konsa, si ou vle swiv ansanm, tout nan Kòd sous ki disponib la. 364 00:18:17,250 --> 00:18:18,720 OK? 365 00:18:18,720 --> 00:18:22,280 >> Se konsa, mwen pral kite URL sa a moute pou yon ti kras. 366 00:18:22,280 --> 00:18:24,440 Lè sa a, mwen jis ale nan chanje nan tèminal la. 367 00:18:24,440 --> 00:18:29,670 368 00:18:29,670 --> 00:18:34,400 Èske tout moun bon ak URL sa a? 369 00:18:34,400 --> 00:18:37,990 Se konsa, mwen pral chanje sou tèminal m 'isit la. 370 00:18:37,990 --> 00:18:42,030 >> Se konsa, isit la nan kòd la ki Mwen gen pou jodi a. 371 00:18:42,030 --> 00:18:43,960 Poukisa pa fè sa nou kòmanse ak simpler.js pote? 372 00:18:43,960 --> 00:18:49,110 373 00:18:49,110 --> 00:18:52,100 Bagay la lòt se ke tout bagay sa yo Kòd ki pral dwe ekri nan yon 374 00:18:52,100 --> 00:18:56,660 JavaScript ki ou ka oswa gen dwa pa abitye avèk yo. 375 00:18:56,660 --> 00:19:00,170 Mwen devine yon koup bagay sa yo se ke yon anpil nan JavaScript Kòd se ki kalite 376 00:19:00,170 --> 00:19:04,000 sentaks ak estrikti se sanble anpil ak C, konsa ou ka kalite ranmase l kòm 377 00:19:04,000 --> 00:19:05,020 ou ale ansanm. 378 00:19:05,020 --> 00:19:08,750 Mwen te eseye ekri yon anpil nan la kòmanse Kòd pou sa a nan yon fason sa a, se 379 00:19:08,750 --> 00:19:11,230 menm jan ak C se konsa ke li nan yon ti kras plis lizib. 380 00:19:11,230 --> 00:19:15,980 Men, jan nou pwogrè, mwen pral demontre kèk nan plis la 381 00:19:15,980 --> 00:19:18,980 karakteristik nan JavaScript ki yo se kalite fre. 382 00:19:18,980 --> 00:19:21,510 >> Men, se pou yo gade nan pwogram echantiyon sa a. 383 00:19:21,510 --> 00:19:24,820 Mwen devine tout bagay nan koupe a. 384 00:19:24,820 --> 00:19:28,500 Mwen jis ale nan ranje ki reyèl vit si sa a OK oswa ou pa. 385 00:19:28,500 --> 00:19:31,400 Mwen pa konnen sa sa a ki pral fè. 386 00:19:31,400 --> 00:19:34,660 Eske se sa ke yon ti kras pi byen? 387 00:19:34,660 --> 00:19:36,510 Èske ou ka wè var la ak lòt bagay? 388 00:19:36,510 --> 00:19:39,320 OK. 389 00:19:39,320 --> 00:19:44,120 >> Se konsa, liy lan premye se tankou JavaScript a vèsyon an yon varyab 390 00:19:44,120 --> 00:19:44,800 deklarasyon. 391 00:19:44,800 --> 00:19:49,870 Se konsa, jis nan mete aksan sou ki sa sa a ta gade tankou nan C. Se konsa, sa a se jis tankou 392 00:19:49,870 --> 00:19:52,620 m 'di endèks egal twa oswa yon bagay tankou sa. 393 00:19:52,620 --> 00:19:55,740 Se konsa, mwen pa te spesifye kalite a. 394 00:19:55,740 --> 00:20:00,780 JavaScript fè sa yo gen kalite, men li la trè dynamique tape nan lanati, se konsa 395 00:20:00,780 --> 00:20:02,580 pa t 'bay nenpòt kalite kalite sou li. 396 00:20:02,580 --> 00:20:03,670 Se konsa, li jis gen var. 397 00:20:03,670 --> 00:20:05,320 Sa a tankou varyab. 398 00:20:05,320 --> 00:20:05,920 OK? 399 00:20:05,920 --> 00:20:08,340 >> Apre sa, mwen ap rele HTTP varyab sa a. 400 00:20:08,340 --> 00:20:12,480 Apre sa, sou bò men dwat mwen an, mwen gen nan ekspresyon ki mwen vle mete nan HTTP. 401 00:20:12,480 --> 00:20:14,960 Lè sa a di mande pou HTTP. 402 00:20:14,960 --> 00:20:18,500 Se konsa, sa a se kalite ki sanble ak genyen ladan yo. 403 00:20:18,500 --> 00:20:22,940 Li se yon ti kras pi plis tankou pouvwa anpil pase gen ladan yo nan sans ke genyen ladan yo 404 00:20:22,940 --> 00:20:26,100 ta jis kopi epi kole lento a aplike pou prototip yo fonksyon oswa 405 00:20:26,100 --> 00:20:27,930 tou sa ki gen definisyon ki kalite. 406 00:20:27,930 --> 00:20:30,590 Men, mande pou ki aktyèlman pral yo ka resevwa nou kòd la. 407 00:20:30,590 --> 00:20:33,280 >> Se konsa, ou ka panse a li kòm importation kèk kòd. 408 00:20:33,280 --> 00:20:37,960 Se konsa, yon kote nan modil la Node.js sistèm oswa kèlkeswa sa yo, yo gen tout bagay sa a 409 00:20:37,960 --> 00:20:40,790 Kòd sèvè HTTP se konsa mwen jis atiran li pou m 'pwòp 410 00:20:40,790 --> 00:20:43,130 itilizasyon pèsonèl nan pwogram sa a. 411 00:20:43,130 --> 00:20:44,260 OK? 412 00:20:44,260 --> 00:20:46,930 >> Se konsa, Lè sa a, mwen gen fonksyon sa a ke mwen te ekri. 413 00:20:46,930 --> 00:20:50,330 Apre sa, remake mwen pa t 'gen yo presize kalite a retounen oswa ki kalite a 414 00:20:50,330 --> 00:20:51,140 agiman ankò. 415 00:20:51,140 --> 00:20:54,440 Se konsa, kalite ki lach tape nan ki kalite sans. 416 00:20:54,440 --> 00:20:57,290 De agiman ke li pran an, demann lan ak repons. 417 00:20:57,290 --> 00:21:02,080 Se konsa, sa a, se concept kalite tankou yo konnen yo soti nan foto a ke nou te 418 00:21:02,080 --> 00:21:05,280 sou ekran an anvan paske nou resevwa demand sa a ke nou 419 00:21:05,280 --> 00:21:06,410 gen soti nan itilizatè a. 420 00:21:06,410 --> 00:21:09,170 Lè sa a, nou gen yon repons ki nou ka ekri bagay sa yo. 421 00:21:09,170 --> 00:21:15,060 >> Se konsa, liy lan premye nan sa a fè res.writeHead 200 ak Lè sa a, sa a 422 00:21:15,060 --> 00:21:17,070 di ki kalite kontni tèks plenn. 423 00:21:17,070 --> 00:21:19,300 Se konsa, kite a pyès sa a apa yon ti kras. 424 00:21:19,300 --> 00:21:22,340 Se konsa, kite yo jis konsantre sou res.write pou yon ti kras. 425 00:21:22,340 --> 00:21:28,420 Se konsa, ekri se fondamantalman, epi ekri tèt, yo se jis fason yo sòt de ekri soti 426 00:21:28,420 --> 00:21:29,960 bagay sa yo repons lan. 427 00:21:29,960 --> 00:21:30,770 OK? 428 00:21:30,770 --> 00:21:36,230 Se konsa, ekri tèt, si okenn moun sonje nan konferans lan HTTP, èske ou mesye 429 00:21:36,230 --> 00:21:39,940 sonje Tèt nan la tèt nan bagay la HTTP? 430 00:21:39,940 --> 00:21:43,580 Se konsa, poukisa pa mwen jis Demo Tèt reyèl rapid. 431 00:21:43,580 --> 00:21:44,640 Ta pou yo itil? 432 00:21:44,640 --> 00:21:45,500 Osinon èske nou dwe jis sòt de - 433 00:21:45,500 --> 00:21:46,070 OK. 434 00:21:46,070 --> 00:21:46,740 Asire w. 435 00:21:46,740 --> 00:21:52,340 >> Se konsa, lè navigatè ou a ale nan google.com oswa yon bagay tankou sa, 436 00:21:52,340 --> 00:21:54,250 gen nan aktyèlman yon ti kras pi plis - 437 00:21:54,250 --> 00:21:55,380 sa a se tankou yon sekrè - 438 00:21:55,380 --> 00:21:58,340 gen nan tankou yon ti kras pi plis enfòmasyon ki vini nan tiyo a pase jis 439 00:21:58,340 --> 00:22:00,180 rechèch la ti kras ak tout bagay. 440 00:22:00,180 --> 00:22:03,550 Se konsa, yo montre w sa a, mwen pral yo sèvi ak yon pwogram ki rele Curl. 441 00:22:03,550 --> 00:22:04,260 OK? 442 00:22:04,260 --> 00:22:08,020 Se konsa, sa a se yon bagay ke ou ka kouri nan liy lòd Mac OSX ou a oswa nan a 443 00:22:08,020 --> 00:22:09,830 aparèy oswa kèlkeswa sa. 444 00:22:09,830 --> 00:22:17,050 Se konsa, si mwen pli HTTP google.com, Mwen pral wè HTML la. 445 00:22:17,050 --> 00:22:21,230 Lè sa a se, nan etidye ekite Règleman, jis nan HTML ki sòt de di ou 446 00:22:21,230 --> 00:22:24,695 redireksyon sou entènèt la www si navigatè ou a pa fè sa otomatikman okipe a 447 00:22:24,695 --> 00:22:27,110 Jefò. 448 00:22:27,110 --> 00:22:33,390 >> Se konsa, sa a se jis HTML, men mwen pral pou ajoute pou pli tirè sa a, mwen drapo. 449 00:22:33,390 --> 00:22:33,600 OK? 450 00:22:33,600 --> 00:22:35,600 Lè sa a se pral montre m 'tèt yo. 451 00:22:35,600 --> 00:22:40,640 Se konsa, sa a se tou enfòmasyon ki vini nan lè m 'jwenn repons sa a. 452 00:22:40,640 --> 00:22:41,260 OK? 453 00:22:41,260 --> 00:22:45,320 >> Se konsa, nan tèt la, ou wè sa a HTTP 301 avanse pou pi nèt. 454 00:22:45,320 --> 00:22:49,470 Lè sa a se kalite enpòtan paske sa a refere a kòd la estati. 455 00:22:49,470 --> 00:22:53,750 Se konsa, 301 a isit la se kòd la estati, ki se fondamantalman jis yon nonb antye relatif 456 00:22:53,750 --> 00:22:57,750 ki di navigatè a oswa moun ki va nan lekti sa a, si ou pretann ke 457 00:22:57,750 --> 00:23:01,460 ou se yon navigatè, epi ou ap wè sa a, fondamantalman kounye a si ou gade nan 458 00:23:01,460 --> 00:23:04,960 sa a epi ou wè yon 301, ou konnen mwen gen fè yon bagay espesyal ki baze sou 459 00:23:04,960 --> 00:23:08,810 301, oswa yon bagay ki te pase espesyal ki baze sou 301 la. 460 00:23:08,810 --> 00:23:12,640 Se konsa, li di deplase nèt. 461 00:23:12,640 --> 00:23:17,700 >> Lè sa a,, fondamantalman, nou gen yon pakèt moun sou valè kle pè. 462 00:23:17,700 --> 00:23:22,100 Se konsa, nou jwenn kote se www.google.com. 463 00:23:22,100 --> 00:23:25,190 Lè sa a, kalite tout bagay sa a ak lòt, Men, fondamantalman, ki sa ki kote se 464 00:23:25,190 --> 00:23:29,662 li di a se kote nouvo se nan www.google.com. 465 00:23:29,662 --> 00:23:33,800 Se konsa, koulye a si ou ale nan google.com, ou pral sòt de wè kalite a navigatè a bat je 466 00:23:33,800 --> 00:23:38,770 pou yon dezyèm ak Lè sa a, redireksyon ou dwa tounen nan www.google.com. 467 00:23:38,770 --> 00:23:41,840 Se konsa, repons yo ka gen ladan sa yo Tèt. 468 00:23:41,840 --> 00:23:43,330 >> Ak yon koup de bagay sa yo nan pwen soti. 469 00:23:43,330 --> 00:23:46,890 Se konsa, kite a di nou tout nou te aktyèlman siksè nan vizite yon paj entènèt. 470 00:23:46,890 --> 00:23:49,040 Se konsa, kite m 'ale nan - 471 00:23:49,040 --> 00:23:51,080 sa ki nan yon sit entènèt bon? 472 00:23:51,080 --> 00:23:53,285 Mwen se move nan panse a bon sou sit entènèt sou tèren an. 473 00:23:53,285 --> 00:23:53,640 >> ODYANS: Wikipedia. 474 00:23:53,640 --> 00:23:54,160 >> KEVIN Schmid: OK. 475 00:23:54,160 --> 00:23:56,040 Se pou yo fè Wikipedia. 476 00:23:56,040 --> 00:23:58,680 Se konsa, isit la mwen te brannen l '. 477 00:23:58,680 --> 00:23:59,240 O rete tann. 478 00:23:59,240 --> 00:24:00,160 Mwen te? 479 00:24:00,160 --> 00:24:00,890 Wi, mwen te ye a. 480 00:24:00,890 --> 00:24:01,100 OK. 481 00:24:01,100 --> 00:24:03,005 Se konsa, mwen te rive nan fè www. 482 00:24:03,005 --> 00:24:06,006 Se konsa, mwen pral fè www. 483 00:24:06,006 --> 00:24:09,680 Apre sa, kòm ou ka wè, isit la nan tout HTML nan ki navigatè a ta travay sou 484 00:24:09,680 --> 00:24:10,910 pou Wikipedia. 485 00:24:10,910 --> 00:24:14,055 >> Men, si mwen kenbe defile moute isit la, sa m 'pral wè nan tèt la - 486 00:24:14,055 --> 00:24:17,800 wow, gen nan yon anpil nan HTML sou Wikipedia - 487 00:24:17,800 --> 00:24:22,550 men ki sa mwen ka wè nan tèt la isit la se sa a Kòd 200 sitiyasyon kòm opoze a nan 488 00:24:22,550 --> 00:24:24,570 301 mwen te wè pi bonè. 489 00:24:24,570 --> 00:24:27,100 Apre sa, remake ke li gen yon bèl zanmitay OK pwochen li. 490 00:24:27,100 --> 00:24:29,470 Se konsa, sa a se tankou kòd la sitiyasyon bon. 491 00:24:29,470 --> 00:24:31,160 >> ladan nimewo 200 gade familye? 492 00:24:31,160 --> 00:24:34,120 493 00:24:34,120 --> 00:24:39,880 Wi paske lè m 'te fè simpler.js, Mwen te ekri yon 200 la. 494 00:24:39,880 --> 00:24:43,290 Se konsa, ki nan fondamantalman an dizan di a navigatè oswa moun ki va ap eseye pou li ale nan 495 00:24:43,290 --> 00:24:45,440 sa a yo ke yo te reyisi. 496 00:24:45,440 --> 00:24:49,040 Oswa ki kalite tankou nou yo te reyisi tou. 497 00:24:49,040 --> 00:24:54,320 >> Apre sa, nan sa a kalite sentaks espesyal nan JavaScript pou deklare yon 498 00:24:54,320 --> 00:24:59,870 kat jeyografik nan kle sa yo tankou kontni kalite ak valè sa yo tankou plenn tèks. 499 00:24:59,870 --> 00:25:03,780 Se konsa, si ou gade nan repons a ke nou te tounen soti nan Wikipedia anvan, - 500 00:25:03,780 --> 00:25:06,200 Mwen pral eseye woulo liv moute yon ti kras pi vit - 501 00:25:06,200 --> 00:25:09,900 ou gen kle sa yo tankou sèvè ak sa yo valè Apache. 502 00:25:09,900 --> 00:25:12,120 Se konsa, ou te gen kle ak valè. 503 00:25:12,120 --> 00:25:15,930 Epi ou ka presize sa a nan Ne sa yo voye tounen. 504 00:25:15,930 --> 00:25:19,380 >> Se konsa, sa a se aktyèlman kalite, nan kèk fason, ak nan kèk fason li pa 505 00:25:19,380 --> 00:25:23,170 reyèlman, men li nan yon nivo ti kras pi piti pase kòd la PHP ke ou ta ka 506 00:25:23,170 --> 00:25:26,980 ekri pou P pran sèt paske PHP ak Apache sòt de pran swen nan kèk 507 00:25:26,980 --> 00:25:28,150 nan bagay sa yo pou ou. 508 00:25:28,150 --> 00:25:32,520 Nan PHP, ou ka pase sou desizyon default la konpòtman pa ekri Tèt pwòp ou yo. 509 00:25:32,520 --> 00:25:35,520 Men, pou rezon yo nan sa a, nou jwenn yo ekri soti Tèt pwòp nou yo. 510 00:25:35,520 --> 00:25:38,210 511 00:25:38,210 --> 00:25:41,105 >> Se konsa, ki liy fè sans yo tout moun, liy lan tèt ekri? 512 00:25:41,105 --> 00:25:41,380 OK. 513 00:25:41,380 --> 00:25:42,280 Pè. 514 00:25:42,280 --> 00:25:45,870 >> Se konsa, Lè sa a, ki sa mwen fè se mwen fini repons lan lè li di bonjou nan lemonn. 515 00:25:45,870 --> 00:25:47,040 OK. 516 00:25:47,040 --> 00:25:49,920 Men, sa se sèlman yon fonksyon rele demann Handler. 517 00:25:49,920 --> 00:25:53,510 Se konsa, koulye a, mwen aktyèlman gen kalite fè yon bagay ki gen fonksyon sa a, dwa? 518 00:25:53,510 --> 00:25:59,170 >> Se konsa, isit la sa mwen fè ki gen la sa a se liy ki fè sa ki egal sèvè var 519 00:25:59,170 --> 00:26:03,530 HTTP.create sèvè, ak Lè sa a, mwen pase nan Handler a mande sa. 520 00:26:03,530 --> 00:26:06,080 Se konsa, sa a se kalite ne a fason pou kreye yon sèvè. 521 00:26:06,080 --> 00:26:08,790 Apre sa, remake ke mwen pase nan Handler a mande sa. 522 00:26:08,790 --> 00:26:12,290 Se konsa, sa a ap di createServer la fonksyon ki mwen vle nou fè m 'yon 523 00:26:12,290 --> 00:26:16,270 sèvè, ak lè ki sèvè resevwa yon repons, mwen bezwen ou yo rele sa a 524 00:26:16,270 --> 00:26:18,680 mande fonksyon Handler. 525 00:26:18,680 --> 00:26:18,990 OK? 526 00:26:18,990 --> 00:26:22,290 >> Se konsa, ki liy bèl anpil fini touswit. 527 00:26:22,290 --> 00:26:28,780 Se konsa, liy la sèvè var fè dwat apre ou fin fè sa bèl anpil. 528 00:26:28,780 --> 00:26:31,770 Mwen vle di, li gen yo mete kanpe kèk entèn eta a konnen ke ou ta gen 529 00:26:31,770 --> 00:26:35,400 rele ke fonksyon demann Handler, men li nan pa ale nan chita la yo epi 530 00:26:35,400 --> 00:26:37,730 di gen itilizatè a voye m 'yon demann' fè ankò? 531 00:26:37,730 --> 00:26:39,270 Èske itilizatè a voye m 'lan yon demann' fè ankò? 532 00:26:39,270 --> 00:26:40,780 Se konsa, li pa bloke. 533 00:26:40,780 --> 00:26:41,650 OK? 534 00:26:41,650 --> 00:26:46,120 >> Se konsa, sa sa a ap fè se li fondamantalman kounye a estoke yon konsèy nan kòd sa a, 535 00:26:46,120 --> 00:26:49,670 sa a fonksyon Handler demann, ak Lè sa a, pral kouri ke Kòd lè yon moun 536 00:26:49,670 --> 00:26:52,170 fè yon demann. 537 00:26:52,170 --> 00:26:54,120 Lè sa a, nou fè server.listen. 538 00:26:54,120 --> 00:26:56,950 539 00:26:56,950 --> 00:26:59,960 >> 1337 nan gen bèl abitrè. 540 00:26:59,960 --> 00:27:02,285 Mwen te gen okenn rezon patikilye pou davwa ladan nimewo. 541 00:27:02,285 --> 00:27:03,860 Li te totalman o aza. 542 00:27:03,860 --> 00:27:07,010 Men, ki jis espesifye pò a. 543 00:27:07,010 --> 00:27:10,640 Se konsa, pi serveurs entènèt ou pral wè yo ke yo sèvi ak pò 80 paske se sa kalite 544 00:27:10,640 --> 00:27:11,810 nan tankou konvansyon an. 545 00:27:11,810 --> 00:27:16,170 Se konsa, si m 'ale nan yon bagay tankou, Mwen pa konnen, Wikipedia.org, 546 00:27:16,170 --> 00:27:17,700 ak mwen mete kolon 8yèm ane yo - 547 00:27:17,700 --> 00:27:18,610 oh Wow, ou pa ka wè sa. 548 00:27:18,610 --> 00:27:19,370 Mwen regrèt. 549 00:27:19,370 --> 00:27:21,820 Men, si m 'fè Wikipedia - 550 00:27:21,820 --> 00:27:24,810 Mwen pral ekri li isit la jis pou ke li nan klè sou kamera a. 551 00:27:24,810 --> 00:27:29,150 Men, si mwen pran sa a nan yon navigatè ak yon kolon 80, ki espesifye ale nan 552 00:27:29,150 --> 00:27:31,430 Wikipedia.org nan pò 80. 553 00:27:31,430 --> 00:27:36,200 Se konsa, li tankou ki jan nan United States an gen pò miltip tankou kote ou ka bato 554 00:27:36,200 --> 00:27:37,440 bagay sa yo kalite. 555 00:27:37,440 --> 00:27:40,730 Se konsa, li tankou ale nan sa a an patikilye mete sou sèvè sa a. 556 00:27:40,730 --> 00:27:40,990 OK. 557 00:27:40,990 --> 00:27:45,730 >> Se konsa, mwen jis te chwazi 1337. 558 00:27:45,730 --> 00:27:47,910 Genyen yon seri antye nan nimewo ke ou ka chwazi. 559 00:27:47,910 --> 00:27:50,390 Sa pa te totalman espesyal. 560 00:27:50,390 --> 00:27:54,560 >> Men, sa ki mwen pral fè kounye a se mwen pral kouri neu. 561 00:27:54,560 --> 00:27:59,730 Kite m 'aktyèlman antre nan ke yon koup liy desann pou ke ou ka wè li. 562 00:27:59,730 --> 00:28:03,130 Mwen pral fè neu, epi mwen pral kouri simpler.js. 563 00:28:03,130 --> 00:28:06,880 Epitou, n ap pale sou kòman ou kapab jwenn Ne mete kanpe nan yon ti kras. 564 00:28:06,880 --> 00:28:09,350 Men koulye a, li jis kouri sèvè a. 565 00:28:09,350 --> 00:28:14,360 >> Se konsa, yon sèl bagay nou ka eseye ki kapab pa ka ki enteresan se sa nou kapab aktyèlman 566 00:28:14,360 --> 00:28:16,300 eseye jwenn aksè nan l 'nan Curl. 567 00:28:16,300 --> 00:28:20,680 Se konsa, mwen kapab fè Curl, ak mwen machin se lame lokal yo. 568 00:28:20,680 --> 00:28:24,600 Ou pral wè tou sa nou jwenn ekri tankou sa a pafwa. 569 00:28:24,600 --> 00:28:29,810 Lame lokal yo ak 127.0.0.1 yo se kalite nan tankou òdinatè lakay ou. 570 00:28:29,810 --> 00:28:33,180 Se konsa, li tankou pale ak òdinatè pwòp ou yo. 571 00:28:33,180 --> 00:28:33,760 OK. 572 00:28:33,760 --> 00:28:36,030 >> Lè sa a, mwen kapab di 1337. 573 00:28:36,030 --> 00:28:39,630 Se konsa, si mwen kouri liy sa a nan kòd, li di bonjou nan lemonn. 574 00:28:39,630 --> 00:28:44,050 Men, si mwen te vle wè ke bagay ki te gen tèks kontni kalite senp oswa fasil pou 575 00:28:44,050 --> 00:28:46,560 tou sa, mwen te kapab menm mete sa a isit la. 576 00:28:46,560 --> 00:28:48,810 Apre sa, remake ke li di OK. 577 00:28:48,810 --> 00:28:50,810 Apre sa, mwen fè gen plenn tèks. 578 00:28:50,810 --> 00:28:53,140 Lè sa a, gen nan kalite tout bagay sa a lòt bagay ki neu pral ajoute nan 579 00:28:53,140 --> 00:28:54,440 la pou mwen. 580 00:28:54,440 --> 00:28:55,700 Sa a pa super enpòtan. 581 00:28:55,700 --> 00:28:58,230 >> Mwen vle di, gen kèk kalite teknik aspè nan nan ki kalite 582 00:28:58,230 --> 00:29:02,280 nan fre pale sou, men jis yo montre ou, mwen menm tou gen pouvwa a 583 00:29:02,280 --> 00:29:03,070 chanje sa yo alantou. 584 00:29:03,070 --> 00:29:06,280 Se konsa, mwen ka jis ajoute yon pakèt nan bagay tankou sa. 585 00:29:06,280 --> 00:29:11,780 Lè sa a, koulye a, si mwen gade nan mwen pwodiksyon, li pral sa a. 586 00:29:11,780 --> 00:29:19,740 Se konsa, Tèt sa yo vle di kèk bagay navigatè ak bagay tankou sa. 587 00:29:19,740 --> 00:29:23,040 >> Apre sa, Tèt kapab fondamantalman di yon navigatè ki jan yo pou yo reponn yon bagay. 588 00:29:23,040 --> 00:29:26,280 Si ou te janm tande pale de bonbon anvan, oswa si w te janm te énervé 589 00:29:26,280 --> 00:29:29,330 pa yon paj entènèt mete bonbon, oswa vire sou blòk bonbon oswa 590 00:29:29,330 --> 00:29:30,320 yon bagay tankou sa. 591 00:29:30,320 --> 00:29:33,040 Ou ka aktyèlman mete bonbon nan Tèt sa yo. 592 00:29:33,040 --> 00:29:36,990 Se konsa, yo di yon navigatè ki jan yo konpòtman nan kèk ka. 593 00:29:36,990 --> 00:29:37,750 OK. 594 00:29:37,750 --> 00:29:40,310 >> Se konsa, sa ki te simpler.js. 595 00:29:40,310 --> 00:29:42,780 okenn moun gen nenpòt kesyon sou sa dosye kòd sous? 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 Fre. 599 00:29:46,490 --> 00:29:50,780 >> Se konsa, kite a retire R la soti nan ki ak gade nan simple.js. 600 00:29:50,780 --> 00:29:53,010 Se konsa, sa a se bèl anpil menm pwogram lan. 601 00:29:53,010 --> 00:29:56,030 Mwen jis te ekri l 'yon ti jan diferan paske mwen te vle sòt de rekò 602 00:29:56,030 --> 00:29:57,850 kèk karakteristik nan JavaScript. 603 00:29:57,850 --> 00:30:03,880 >> Se konsa, remake ke Handler a demann te fonksyon totalman disparèt. 604 00:30:03,880 --> 00:30:05,800 Oh wi, èske ou te gen yon kesyon? 605 00:30:05,800 --> 00:30:08,200 >> ODYANS: Yeah, agiman yo ke yo te pase ak sa yo ki 606 00:30:08,200 --> 00:30:10,120 fonksyon, ki sa ki yo ye? 607 00:30:10,120 --> 00:30:12,050 >> KEVIN Schmid: Se konsa, sa yo se JavaScript objè yo. 608 00:30:12,050 --> 00:30:15,230 Nan lòt dokiman an Node.js, li fondamantalman di sa ki metòd yo 609 00:30:15,230 --> 00:30:15,910 disponib sou yo. 610 00:30:15,910 --> 00:30:19,602 Nou jis rive nan gen aksè a metòd sa a yo rele tèt ekri ak nan fen 611 00:30:19,602 --> 00:30:20,730 ak lòt bagay tankou sa. 612 00:30:20,730 --> 00:30:22,590 Men, gen nan yon pakèt tout plis metòd. 613 00:30:22,590 --> 00:30:27,670 >> Apre sa, pou egzanp, tankou yonn nan yo an patikilye sou rec, ou kapab fè 614 00:30:27,670 --> 00:30:34,540 yon bagay tankou rec.method ki pral di ou si wi ou non li nan yon HTTP jwenn oswa 615 00:30:34,540 --> 00:30:36,780 Demann pòs HTTP ak bagay sa yo tankou sa a. 616 00:30:36,780 --> 00:30:39,100 Se konsa, gen nan tout kalite diferan pwopriyete yo, men yo ap tou de 617 00:30:39,100 --> 00:30:42,560 JavaScript objè, epi yo jis gen fonksyon tache ak yo ke ou 618 00:30:42,560 --> 00:30:43,850 ka ekri bagay sa yo. 619 00:30:43,850 --> 00:30:45,520 OK? 620 00:30:45,520 --> 00:30:49,030 >> Se konsa, remake ke Handler demann se totalman ale. 621 00:30:49,030 --> 00:30:52,650 Men, kòd la ke mwen te nan demann Handler se toujou la. 622 00:30:52,650 --> 00:30:56,520 Mwen toujou gen res.writeHead sa a ak mwen toujou gen res.end sa a. 623 00:30:56,520 --> 00:31:00,270 Ak sa ki sa a ki se yon egzanp nan JavaScript se ide sa a nan yon 624 00:31:00,270 --> 00:31:01,460 anonim fonksyon. 625 00:31:01,460 --> 00:31:04,180 ak anonim se tankou yon Non Fitting pou li paske li literalman fè sa ki pa 626 00:31:04,180 --> 00:31:05,180 gen yon non. 627 00:31:05,180 --> 00:31:07,900 Gen nan pa gen demann fonksyon Handler an la. 628 00:31:07,900 --> 00:31:10,110 >> Pa gen okenn non, men li toujou se pran yon agiman. 629 00:31:10,110 --> 00:31:12,250 Se konsa, mwen toujou te gen rec ak RES. 630 00:31:12,250 --> 00:31:16,180 Apre sa, mwen toujou gen kòd la. 631 00:31:16,180 --> 00:31:18,930 Sa a se parfe amann JavaScript kòd. 632 00:31:18,930 --> 00:31:22,540 Se konsa, mwen ka deklare yon fonksyon san yo pa klèman bay li yon non. 633 00:31:22,540 --> 00:31:24,250 Li se yon ti kras konfizyon an premye. 634 00:31:24,250 --> 00:31:26,230 Gen kèk bagay ki itil tankou ke ou ka fè ak 635 00:31:26,230 --> 00:31:28,450 sa yo fonksyon anonim. 636 00:31:28,450 --> 00:31:32,100 okenn moun gen nenpòt kesyon sou sa a, oswa se li OK jis yo, pou kounye a, 637 00:31:32,100 --> 00:31:34,130 sòt de jis aksepte ke li ap fè menm bagay la? 638 00:31:34,130 --> 00:31:36,700 639 00:31:36,700 --> 00:31:37,125 Oui? 640 00:31:37,125 --> 00:31:38,680 >> ODYANS: Èske fonksyon premye klas nan JavaScript? 641 00:31:38,680 --> 00:31:41,020 >> KEVIN Schmid: Yo se premye klas nan JavaScript. 642 00:31:41,020 --> 00:31:45,490 Epi jis konnen ke sa yo konsèp pase nan yon fonksyon anonim tankou 643 00:31:45,490 --> 00:31:49,600 sa a aplike nan JavaScript a ke ou ka ekri nan pwojè final ou a pou 644 00:31:49,600 --> 00:31:51,260 navigatè wèb la tou. 645 00:31:51,260 --> 00:31:56,700 Se konsa, pou egzanp, nan JavaScript a nan navigatè ou a, li la tou yon ti jan evènman 646 00:31:56,700 --> 00:32:00,680 kondwi nan sans ke sa ou pral gen se lè itilizatè a klik sa a 647 00:32:00,680 --> 00:32:02,640 bouton, mwen vle nou kouri Kòd sa a. 648 00:32:02,640 --> 00:32:07,070 >> Se konsa, li kalite la menm nan lide nan la bò kliyan lè yon klike sou sourit oswa yo 649 00:32:07,070 --> 00:32:09,870 sourit sou kèk imaj sou ou paj entènèt, kouri Kòd sa a. 650 00:32:09,870 --> 00:32:11,350 Ki ka aplike nan serveurs. 651 00:32:11,350 --> 00:32:16,380 Se konsa, sa a, se kalite tankou enteresan nan rezon ki fè JavaScript se yon vrèman 652 00:32:16,380 --> 00:32:19,810 apwopriye oswa gen kèk moun ki panse ke li nan yon lang apwopriye pou sa a kalite 653 00:32:19,810 --> 00:32:22,530 sèvè evènman chofè paske ou gen sa yo fonksyon anonim. 654 00:32:22,530 --> 00:32:26,150 Ou gen lide an antye nan sa a Kòd asenkron. 655 00:32:26,150 --> 00:32:27,060 OK. 656 00:32:27,060 --> 00:32:30,360 Okenn moun gen nenpòt kesyon? 657 00:32:30,360 --> 00:32:30,470 >> OK. 658 00:32:30,470 --> 00:32:33,440 Se konsa, sa ki te simple.js. 659 00:32:33,440 --> 00:32:38,070 Se konsa, kite yo gade nan yon sèl plis oswa yon koup plis ankò. 660 00:32:38,070 --> 00:32:42,040 Se konsa, sa a se sleep.js. 661 00:32:42,040 --> 00:32:47,160 Se konsa, se okenn moun abitye ak C fonksyon dòmi an? 662 00:32:47,160 --> 00:32:50,936 Soti nan petèt youn nan konferans yo pi bonè oswa yon bagay tankou sa? 663 00:32:50,936 --> 00:32:54,650 >> Se konsa, fondamantalman ou ka pase nan mwen panse ke yon kantite segonn oswa si w ap lè l sèvi avèk U 664 00:32:54,650 --> 00:32:57,080 dòmi yon nimewo nan milisgond oswa nanosgond. 665 00:32:57,080 --> 00:33:00,450 Apre sa, fondamantalman pwogram lan pral jis sispann kouri pou ki kantite lajan nan tan. 666 00:33:00,450 --> 00:33:01,280 Dwa? 667 00:33:01,280 --> 00:33:06,970 Lè sa a, li pral reveye evantyèlman ak Lè sa a, li pral jis kontinye ap kouri 668 00:33:06,970 --> 00:33:08,340 pwogram lan. 669 00:33:08,340 --> 00:33:12,740 >> Se konsa, sèvè sa a sòt de bay enpresyon a nan dòmi. 670 00:33:12,740 --> 00:33:17,580 Se konsa, remake ke nou gen menm bagay la tou res.writeHead 200 ak lento a kòm 671 00:33:17,580 --> 00:33:22,130 anvan, men Lè sa a, nou ap rele sa a fonksyon rele ansanm poz. 672 00:33:22,130 --> 00:33:26,170 Mete poz a disponib nan tou navigatè entènèt ou Google Chrome 673 00:33:26,170 --> 00:33:28,000 oswa Safari oswa kèlkeswa sa. 674 00:33:28,000 --> 00:33:31,720 Apre sa, fondamantalman ki sa li fè la a se Li nan pran nan yon fonksyon. 675 00:33:31,720 --> 00:33:33,360 Avi, ankò, li nan yon anonim fonksyon. 676 00:33:33,360 --> 00:33:36,310 Se konsa, ki nan kalite fre paske nou ap lè l sèvi avèk yon fonksyon anonim ki nan yon 677 00:33:36,310 --> 00:33:38,950 fonksyon anonim ki kapab yon ti kras etranj. 678 00:33:38,950 --> 00:33:42,270 >> Men, li la pran ki fonksyon, ki se fondamantalman an dizan - ak wout la sa a 679 00:33:42,270 --> 00:33:47,430 travay se nan 5,000 milisgond, mwen vle ou al touye ki fonksyon ki 680 00:33:47,430 --> 00:33:50,830 jis fini repons lan epi ekri hey. 681 00:33:50,830 --> 00:33:56,730 Se konsa, sa a bay enpresyon a nan tankou dòmi, men wout la sa a aktyèlman 682 00:33:56,730 --> 00:33:59,780 ap travay se nou pral kouri nan liy sa a trè vit. 683 00:33:59,780 --> 00:34:01,190 Nou jis ap ekri yon bagay. 684 00:34:01,190 --> 00:34:03,780 Lè sa a, nou pral kouri tou nan liy sa a trè vit. 685 00:34:03,780 --> 00:34:08,620 Se konsa, nou pa ap aktyèlman pral yo rete tann senk segonn. 686 00:34:08,620 --> 00:34:11,370 Nou jis ap pral kouri sa a Kòd imedyatman. 687 00:34:11,370 --> 00:34:14,219 >> Lè sa a, gen nan, ankò, sa a ti kras evènman bouk ki kounye a gen bagay sa a 688 00:34:14,219 --> 00:34:17,570 anrejistre ki fondamantalman se jis toujou ap pral alantou an yon sèk 689 00:34:17,570 --> 00:34:21,620 ak gade nan revèy la nan yon sèl moso twal kamwazi Yo t'ap di: gen senk segonn 690 00:34:21,620 --> 00:34:22,360 pase 'fè ankò? 691 00:34:22,360 --> 00:34:26,409 Lè sa a, lè li wè ke dezyèm lan te men te deplase tankou senk segonn oswa 692 00:34:26,409 --> 00:34:29,190 kèlkeswa sa, lè sa a li reveye e li di, oh, ki sa mwen dwe fè? 693 00:34:29,190 --> 00:34:30,350 Oh mwen gen nan kouri Kòd sa a. 694 00:34:30,350 --> 00:34:33,110 Lè sa a, li nan ale nan kouri res.end hey. 695 00:34:33,110 --> 00:34:35,360 >> Se konsa, ankò, nou ap pa janm ap tann isit la. 696 00:34:35,360 --> 00:34:38,590 Se konsa, li pa sa ki Kòd sa a andedan nan fonksyon sa a se pral pran senk 697 00:34:38,590 --> 00:34:39,900 segonn nan kouri. 698 00:34:39,900 --> 00:34:43,090 Kòd sa a pral kouri bèl anpil enstantane, omwen relatif nan 699 00:34:43,090 --> 00:34:46,139 senk segonn sa yo ke nou te pale sou pi bonè anvan. 700 00:34:46,139 --> 00:34:52,100 >> Se konsa, jis yo montre sa a nan aksyon, Mwen kapab fè Node.sleep.js. 701 00:34:52,100 --> 00:34:55,159 Apre sa, mwen te dezòd yo yon bagay? 702 00:34:55,159 --> 00:34:56,310 Sa posib. 703 00:34:56,310 --> 00:34:57,410 M regrèt. 704 00:34:57,410 --> 00:34:59,530 Ann wè sa nou kapab fè yo korije sa a. 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 Se konsa, definitivman sèvi ak Node.js. 709 00:35:17,464 --> 00:35:19,440 Mwen jis plèzantri. 710 00:35:19,440 --> 00:35:19,570 OK. 711 00:35:19,570 --> 00:35:20,820 Jis yon sec. 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 Mwen konnen sa li ye. 715 00:35:29,130 --> 00:35:34,440 >> Se konsa, pwoblèm nan se ke nan lòt tab mwen an isit la, mwen te kouri neu deja sou 716 00:35:34,440 --> 00:35:36,590 ki adrès menm, 1337. 717 00:35:36,590 --> 00:35:43,370 Se konsa, erè a ke sa a jete, si nou gade nan li reyèl ak anpil atansyon, se adrès nan 718 00:35:43,370 --> 00:35:45,180 itilize, EADDRINUSE. 719 00:35:45,180 --> 00:35:47,970 Se konsa, mwen te deja lè l sèvi avèk 1337 isit la. 720 00:35:47,970 --> 00:35:52,210 Se konsa, si mwen fèmen sa a koupe, epi Lè sa a, mwen kounye a eseye kouri sa a, èspere ke, tout bagay 721 00:35:52,210 --> 00:35:53,210 yo pral amann. 722 00:35:53,210 --> 00:35:53,440 OK. 723 00:35:53,440 --> 00:35:57,020 Se konsa, ou ka sèlman gen yon sèl kalite bagay pou yo tande sou yon pò nan yon fwa. 724 00:35:57,020 --> 00:35:59,660 Ta Yon lòt solisyon yo te pou m ' jis modifye pwogram sa a, epi fè 725 00:35:59,660 --> 00:36:02,370 li fè tankou 1338 oswa yon bagay tankou sa. 726 00:36:02,370 --> 00:36:04,100 >> Men koulye a, dòmi ap kouri. 727 00:36:04,100 --> 00:36:06,400 Se konsa, kite a aktyèlman eseye li soti nan la navigatè tan sa a paske li nan yon 728 00:36:06,400 --> 00:36:09,080 ti kras ordiner yo wè l 'nan yon tèminal. 729 00:36:09,080 --> 00:36:13,560 Se konsa, mwen jis ale pou yo ale nan ki 127 adrès ankò nan 1337. 730 00:36:13,560 --> 00:36:14,850 Men, si ou ka wè li - 731 00:36:14,850 --> 00:36:18,050 Mwen pa konnen si ou kapab - men mwen navigatè a pran yon trè, trè long 732 00:36:18,050 --> 00:36:20,600 tan yo anbake oswa tankou senk segonn. 733 00:36:20,600 --> 00:36:23,460 >> Lè sa a, apre sa, li finalman te fini repons lan. 734 00:36:23,460 --> 00:36:29,070 Apre sa, ou pa ka wè l ', paske bagay la se te deplase sou yon ti kras, men si mwen te fè 735 00:36:29,070 --> 00:36:32,500 sa a yon ti kras pi piti, ou kapab wè li di hey. 736 00:36:32,500 --> 00:36:35,130 Se konsa, mwen te resevwa hey la, men apre senk segonn. 737 00:36:35,130 --> 00:36:38,510 Apre sa, li ta kapab yon ti kras pi pwòp yo wè li isit la sou tèminal la, se konsa mwen 738 00:36:38,510 --> 00:36:40,980 pral fè yon - 739 00:36:40,980 --> 00:36:43,540 kite a fè nan isit la - 740 00:36:43,540 --> 00:36:48,370 kite a fè Curl adrès ki ankò ak 1337 la. 741 00:36:48,370 --> 00:36:50,820 Apre sa, mwen jis kalite gen yo chita isit la pou senk segonn. 742 00:36:50,820 --> 00:36:53,760 Men, remake ke sèvè a ka aksepte nouvo repons. 743 00:36:53,760 --> 00:36:54,940 Se konsa, li simagri hey. 744 00:36:54,940 --> 00:36:58,720 >> Men, Demo sa a, fondamantalman sa ki Mwen kapab fè nan lòt tab sa a - 745 00:36:58,720 --> 00:37:02,640 Se konsa, kite a di m 'fè sa a nan yon lòt tab, Mwen pral fè Curl ak menm bagay la 746 00:37:02,640 --> 00:37:03,780 bagay ankò. 747 00:37:03,780 --> 00:37:06,600 Apre sa, mwen pral eseye choute sa yo nèg koupe an menm tan an. 748 00:37:06,600 --> 00:37:08,260 Se konsa, mwen pral fè sa, ak mwen se ale nan ras sou isit la ak mwen se 749 00:37:08,260 --> 00:37:09,650 pral fè l 'ankò. 750 00:37:09,650 --> 00:37:14,030 >> Li kite yo fè l 'pou ke ou ka wè tou de peyi yo. 751 00:37:14,030 --> 00:37:20,250 Ke yon moun enprime hey ak ke yon moun enprime hey tout wout la nan - 752 00:37:20,250 --> 00:37:22,550 kite a fè sa eksperyans ankò. 753 00:37:22,550 --> 00:37:25,100 Aktyèlman, se pou yo itilize sa a je chèch, si ke se ok. 754 00:37:25,100 --> 00:37:30,520 >> Se konsa, mwen pral sèvi ak yon bagay kokiy ki pèmèt m 'nan fondamantalman kouri de kopi 755 00:37:30,520 --> 00:37:32,630 nan pwogram sa a nan paralèl. 756 00:37:32,630 --> 00:37:36,070 Se konsa, li pral kouri pwogram nan premye ak pwogram nan dezyèm nan paralèl. 757 00:37:36,070 --> 00:37:39,060 Se konsa, koulye si mwen peze Antre, li pral fè ki mande bèl anpil 758 00:37:39,060 --> 00:37:40,570 enstantane nan menm tan an. 759 00:37:40,570 --> 00:37:42,620 Se konsa, kite a bay sa a yon piki. 760 00:37:42,620 --> 00:37:44,950 >> Se konsa, koulye remake li di de pwosesis. 761 00:37:44,950 --> 00:37:50,630 Epi si w ap kirye, ki 27,000 nimewo se fondamantalman ID a pwosesis. 762 00:37:50,630 --> 00:37:52,940 Lè sa a, remake yo, yo enprime hey an menm tan an. 763 00:37:52,940 --> 00:37:56,820 Li pa te renmen nou te gen yo rete tann senk segonn pou yon sèl ak Lè sa a, apre sa, 764 00:37:56,820 --> 00:37:59,640 senk segonn pita jwenn dezyèm lan. 765 00:37:59,640 --> 00:38:03,300 Se konsa, ki nan kalite, nan kèk fason, li nan pa vrèman prèv, men li la 766 00:38:03,300 --> 00:38:07,390 entwisyon prèv ki montre li pa jis tankou ap tann senk segonn ak bloke 767 00:38:07,390 --> 00:38:08,960 tout moso twal kamwazi a. 768 00:38:08,960 --> 00:38:10,720 OK fre. 769 00:38:10,720 --> 00:38:17,850 >> Se konsa, Arawon poze yon kesyon pi bonè ke te, byen sa ki si nou fè yon bagay - 770 00:38:17,850 --> 00:38:18,735 Oui? 771 00:38:18,735 --> 00:38:19,051 >> ODYANS: Rete tann. 772 00:38:19,051 --> 00:38:21,585 Kouman se ke diferan de printf tanpon, menm si? 773 00:38:21,585 --> 00:38:23,010 pa li otomatikman fè sa? 774 00:38:23,010 --> 00:38:25,390 Poukisa nou gen enkyete sou li? 775 00:38:25,390 --> 00:38:26,555 >> KEVIN Schmid: Oh, te kapab ou di ke yon lòt fwa ankò? 776 00:38:26,555 --> 00:38:29,510 >> ODYANS: pa renmen printf tanpon fè menm bagay la egzak? 777 00:38:29,510 --> 00:38:31,280 >> KEVIN Schmid: tanpon nan printf? 778 00:38:31,280 --> 00:38:32,753 >> ODYANS: Yeah. 779 00:38:32,753 --> 00:38:33,244 OK. 780 00:38:33,244 --> 00:38:40,609 Pa t 'nan youn nan ti tès yo yo te pale sou ki jan si ou dwa printf 781 00:38:40,609 --> 00:38:42,899 yon bagay e yo Lè sa a, te li pran yon poz yon sèl dezyèm, ak Lè sa a, ou genyen li bouk dis 782 00:38:42,899 --> 00:38:46,530 fwa, li ap tann dis segond ak Lè sa a, printf tout bagay ansanm? 783 00:38:46,530 --> 00:38:47,460 >> KEVIN Schmid: Oh, OK. 784 00:38:47,460 --> 00:38:49,170 >> ODYANS li: Eske se fè menm bagay la tou bagay Lè sa a, nan ka sa a? 785 00:38:49,170 --> 00:38:52,630 >> KEVIN Schmid: Se konsa, kesyon an se te fondamantalman nan youn nan ti tès yo ansyen 786 00:38:52,630 --> 00:38:57,200 oubyen yon bagay, te gen yon kesyon ki fondamantalman si ou di ekri ak lèt ​​detache f 10 787 00:38:57,200 --> 00:39:01,490 bagay sa yo nan yon lè ak Lè sa a, mouri tankou nan pwosesis la nan enprime sa yo soti, 788 00:39:01,490 --> 00:39:04,850 nan fen a pou kèk rezon, li ta jis pil fatra sa yo tout soti sou ekran an. 789 00:39:04,850 --> 00:39:06,740 Se konsa, gen nan kalite de diferan konsèp isit la. 790 00:39:06,740 --> 00:39:10,400 >> Se konsa, mwen devine yon sèl bagay se ke, nan ka sa a, nou ap fè fas ak de diferan 791 00:39:10,400 --> 00:39:13,510 sòt de moun mande sèvè a pou bagay sa yo an menm tan an. 792 00:39:13,510 --> 00:39:17,455 Apre sa, rezon ki fè kalite a printf nan tann tankou sa ak depo tout bagay sa yo soti 793 00:39:17,455 --> 00:39:21,760 nan yon fwa se pi plis ki gen rapò ak ki jan printf kalite - 794 00:39:21,760 --> 00:39:25,100 Se konsa, printf nan fason se aktyèlman aplike se li fondamantalman gen yo 795 00:39:25,100 --> 00:39:28,850 pale ak sistèm nan fonksyone yo ekri ki bagay konsole la. 796 00:39:28,850 --> 00:39:33,460 Se konsa, li pa vle fè nan tout sa bagay imedyatman lè w di printf 797 00:39:33,460 --> 00:39:36,260 kèk fisèl paske sa te kapab jwenn chè si li te 798 00:39:36,260 --> 00:39:37,340 fè sa chak fwa. 799 00:39:37,340 --> 00:39:41,530 >> Se konsa, si ou fè printf hey, pwogram ou an pa ta ka aktyèlman ekri ak lèt ​​detache ki 800 00:39:41,530 --> 00:39:43,040 imedyatman nan konsole a. 801 00:39:43,040 --> 00:39:46,080 Li ta ka di, OK, mwen te ekri li. 802 00:39:46,080 --> 00:39:49,570 Lè sa a, kalite rete tann pou ou pou w bay li yon ti kras pi plis anvan aktyèlman 803 00:39:49,570 --> 00:39:51,380 ekri li soti nan konsole a. 804 00:39:51,380 --> 00:39:54,040 >> Se konsa, rezon ki fè sa ki te ka a - 805 00:39:54,040 --> 00:39:56,450 ak li nan kalite gen rapò nan dòmi an - 806 00:39:56,450 --> 00:40:00,060 se ke dòmi an te sòt de jis sou fòm piki nan la yo demontre nan 807 00:40:00,060 --> 00:40:02,480 reyalite ke li pa ekri li senkronize. 808 00:40:02,480 --> 00:40:06,210 Men, pou ki rezon ki sa se sèlman pèfòmans pou ke ou pa oblije 809 00:40:06,210 --> 00:40:08,920 fè ke anpil kontak sistèm nan fonksyone. 810 00:40:08,920 --> 00:40:12,300 >> Men, isit la, ki sa nou ap reyèlman ap eseye fè ak bagay sa a dòmi se jis montre 811 00:40:12,300 --> 00:40:17,730 ke lè nou gen de moun ki vizite sit entènèt sa a, li pa nan pral mete 812 00:40:17,730 --> 00:40:22,310 yo nan yon liy kote li pral di Mwen gen yo ede w, ak Lè sa a, lè m 813 00:40:22,310 --> 00:40:25,350 totalman fini ede ou apre sa yo senk segonn, Lè sa a, mwen pral 814 00:40:25,350 --> 00:40:26,750 deplase sou moun kap vini an. 815 00:40:26,750 --> 00:40:29,515 Se konsa, demann premye moun ki nan fè sa ki pa mare ke bouk evènman 816 00:40:29,515 --> 00:40:31,610 si sa fè sans. 817 00:40:31,610 --> 00:40:34,980 >> Men, isit la se aktyèlman yon egzanp nan yon bagay ki pral mare 818 00:40:34,980 --> 00:40:36,090 moute bouk la evènman. 819 00:40:36,090 --> 00:40:39,130 Se konsa, isit la nan yon fonksyon terib kalkile Fibonacci a nyèm. 820 00:40:39,130 --> 00:40:43,510 Li nan literalman wout la vin pi mal ou kapab kalkile ki kantite Fibonacci nyèm. 821 00:40:43,510 --> 00:40:48,480 Lè sa a se aktyèlman jis rekonèt kote sa a te soti nan, 822 00:40:48,480 --> 00:40:49,330 gen nan aktyèlman - 823 00:40:49,330 --> 00:40:53,230 Mwen vle di, ou ka eseye ale jwenn li - men gen nan tankou yon blog trè long 824 00:40:53,230 --> 00:40:54,130 afiche ke yon moun te ekri. 825 00:40:54,130 --> 00:40:55,660 Se tankou youn nan bagay sa yo Reddit. 826 00:40:55,660 --> 00:40:59,650 Men, yon moun kritike Node.js, ak yo te konn itilize sa a kòm yon egzanp. 827 00:40:59,650 --> 00:41:03,700 Se konsa, mwen kalite te vle jis montre w de pèspektiv diferan jis jwenn 828 00:41:03,700 --> 00:41:07,320 yon konesans jeneral sou konsèp yo dèyè de bagay sa yo. 829 00:41:07,320 --> 00:41:13,050 >> Men, sa a se chwazi kòm jis yon tèrib, oribleman rezèvwa kalkil 830 00:41:13,050 --> 00:41:15,940 entansif fason yo kalkile an nyèm nimewo Fibonacci. 831 00:41:15,940 --> 00:41:21,180 Se konsa, jis kòm yon nòt bò, poukisa se li terib tankou nan yon fason? 832 00:41:21,180 --> 00:41:23,210 Oui? 833 00:41:23,210 --> 00:41:25,130 >> ODYANS: Di ou kòmanse soti ak 1,000. 834 00:41:25,130 --> 00:41:27,050 1,000 fractionne nan 999 ak 998. 835 00:41:27,050 --> 00:41:28,970 Chak nan sa a fractionne nan de bagay sa yo. 836 00:41:28,970 --> 00:41:30,890 Chak nan sa a fractionne nan de bagay sa yo. 837 00:41:30,890 --> 00:41:31,355 >> KEVIN Schmid: Dwa. 838 00:41:31,355 --> 00:41:32,400 >> ODYANS: Tout wout la desann. 839 00:41:32,400 --> 00:41:32,840 >> KEVIN Schmid: Egzakteman. 840 00:41:32,840 --> 00:41:37,330 Se konsa, jis repete pou kamera a, si mwen rele bay manti sou tankou 1,000 oswa yon bagay 841 00:41:37,330 --> 00:41:41,810 tankou sa yo, li nan evidamman pa pi piti pase oswa egal a yon sèl Se konsa, mwen pral 842 00:41:41,810 --> 00:41:46,040 ale nan ka sa a lòt moun, ak Lè sa a, mwen pral yo rele bay manti 999 plis bay manti 998. 843 00:41:46,040 --> 00:41:50,290 Lè sa a, bèl anpil nan tout sa travay ki bay manti 999 fè se 844 00:41:50,290 --> 00:41:52,950 kalite nan nivo sa a. 845 00:41:52,950 --> 00:41:55,620 Si ou ale desann, li nan menm plis redondants pase sa, men si ou jis 846 00:41:55,620 --> 00:42:01,390 panse informatique bay manti 998 vin nou trè fèmen nan bay manti 999. 847 00:42:01,390 --> 00:42:05,860 Se konsa, nou ta dwe reyèlman gen yon ti kras pi plis entelijan sou fason nou kalite resèvi 848 00:42:05,860 --> 00:42:07,580 sa yo, men nou pa ap resèvi bagay sa yo nan tout. 849 00:42:07,580 --> 00:42:11,860 Se konsa, ou ka imajine sa a gwo konstriksyon, gwo konstriksyon pye bwa sa se sèlman efreyan ankò. 850 00:42:11,860 --> 00:42:12,940 >> Men, de tout fason, OK. 851 00:42:12,940 --> 00:42:14,040 Se konsa, sa ki te bay manti. 852 00:42:14,040 --> 00:42:15,530 Li jis pran yon ti tan nan kouri. 853 00:42:15,530 --> 00:42:16,510 Oui? 854 00:42:16,510 --> 00:42:17,760 >> ODYANS: [fèbl]. 855 00:42:17,760 --> 00:42:20,430 856 00:42:20,430 --> 00:42:22,481 >> KEVIN Schmid: Oh, te kapab ou repete kesyon an? 857 00:42:22,481 --> 00:42:23,731 >> ODYANS: [fèbl]. 858 00:42:23,731 --> 00:42:30,840 859 00:42:30,840 --> 00:42:33,990 >> KEVIN Schmid: O Se konsa, sa a se jis Kòd ki k ap pase yo dwe sòt de sou a 860 00:42:33,990 --> 00:42:34,850 sèvè segondè yo. 861 00:42:34,850 --> 00:42:38,100 Se konsa, sa a se pa yo pral jwenn nan navigatè a oswa anyen. 862 00:42:38,100 --> 00:42:42,160 Li nan fondamantalman sa nou genyen se ke lè itilizatè a isit la fè bèl anpil 863 00:42:42,160 --> 00:42:45,300 yo mande ankò, lè nou sòt de fè yon demann, nou ap ale nan rele 864 00:42:45,300 --> 00:42:47,040 sa a fonksyon sou bò sèvè. 865 00:42:47,040 --> 00:42:50,480 Lè sa a, nou pral jwenn rezilta a tounen soti nan lè w rele ke fonksyon. 866 00:42:50,480 --> 00:42:52,460 Lè sa a, nou pral jis ekri ak lèt ​​detache li nan itilizatè a. 867 00:42:52,460 --> 00:42:54,580 Se konsa, itilizatè a pa reyèlman fè fas ak fonksyon sa a twòp. 868 00:42:54,580 --> 00:42:57,270 >> Te ke kesyon an? 869 00:42:57,270 --> 00:42:58,470 ki fè sans? 870 00:42:58,470 --> 00:42:58,810 OK. 871 00:42:58,810 --> 00:43:00,930 Fre. 872 00:43:00,930 --> 00:43:04,240 >> Se konsa, ankò, nou fè res.writeHead sa a tout antye bagay kote nou enprime soti 873 00:43:04,240 --> 00:43:05,150 header la. 874 00:43:05,150 --> 00:43:09,730 Lè sa a, mwen fini repons lan pa fè nimewo a majik se bay manti 45. 875 00:43:09,730 --> 00:43:12,100 Se konsa, kite yo jis kouri sèvè sa a. 876 00:43:12,100 --> 00:43:15,190 Se konsa, mwen pral fè yon fib.js. neu 877 00:43:15,190 --> 00:43:17,340 Se konsa, koulye sèvè bay manti mwen ap kouri. 878 00:43:17,340 --> 00:43:21,790 >> Lè sa a, isit la, mwen pral fè youn nan sa yo. 879 00:43:21,790 --> 00:43:22,200 OK? 880 00:43:22,200 --> 00:43:24,960 Se konsa, mwen jis ale nan di, Curl. 881 00:43:24,960 --> 00:43:32,226 Se konsa, li pral pran yon ti tan, men èspere ke byento li pral fini ak 882 00:43:32,226 --> 00:43:35,660 li pral ekri ak lèt ​​detache soti ke 45th Fibonacci nimewo. 883 00:43:35,660 --> 00:43:36,910 >> ODYANS: [fèbl]. 884 00:43:36,910 --> 00:43:40,720 885 00:43:40,720 --> 00:43:42,050 >> KEVIN Schmid: Li ta dwe jwenn fè bèl byento. 886 00:43:42,050 --> 00:43:43,780 Se konsa, li ta dwe pran senk a sis segonn. 887 00:43:43,780 --> 00:43:48,570 Mwen pa konnen sa se sèlman V8 yo te super vit, men nan nenpòt ka, sa a se yon 888 00:43:48,570 --> 00:43:52,700 egzanp trè kout ak fè espre élégans nan yon ki pa Peye-trivial 889 00:43:52,700 --> 00:43:54,200 kalkil. 890 00:43:54,200 --> 00:43:56,700 Se konsa, apre yon ti tan, li jwenn sa a. 891 00:43:56,700 --> 00:44:02,130 >> Men koulye a,, ki sa ki si m 'fè pou menm kalite eksperyans tankou anvan kote mwen fè 892 00:44:02,130 --> 00:44:04,010 de demann nan menm tan an? 893 00:44:04,010 --> 00:44:06,990 Se konsa, isit la mwen pral nan yon Curl sou adrès sa a, epi mwen pral 894 00:44:06,990 --> 00:44:08,260 fè yon lòt Curl. 895 00:44:08,260 --> 00:44:12,070 Epi sonje, lè nou te fè sa a pou la dòmi sèvè, lè nou fondamantalman te gen li 896 00:44:12,070 --> 00:44:15,320 apre senk segonn, yo trè anpil tou de tounen vin dwa 897 00:44:15,320 --> 00:44:16,380 alantou an menm tan an. 898 00:44:16,380 --> 00:44:18,650 Se konsa, li pa t 'patikilyèman mare. 899 00:44:18,650 --> 00:44:20,290 >> Men, kite a eseye li kounye a. 900 00:44:20,290 --> 00:44:22,370 OK, se konsa nou te resevwa de pwosesis nou an. 901 00:44:22,370 --> 00:44:24,210 Sonje sa yo se pwosesis kat idantite ki gen yo. 902 00:44:24,210 --> 00:44:25,900 Sa a se pral fè yon ti kras gòch pandan ke nou nòmal. 903 00:44:25,900 --> 00:44:31,340 904 00:44:31,340 --> 00:44:35,360 Se konsa, kite yo jis rete isit la epi rete tann. 905 00:44:35,360 --> 00:44:37,090 >> Se konsa, youn nan yo ta dwe vini tounen apre tankou - 906 00:44:37,090 --> 00:44:39,190 OK, se konsa yon sèl tounen vin. 907 00:44:39,190 --> 00:44:43,570 Men, Lè sa a, poukisa pa t 'dezyèm lan yon sèl tounen vin jis ankò? 908 00:44:43,570 --> 00:44:44,389 Oui? 909 00:44:44,389 --> 00:44:49,280 >> ODYANS: sèvè a pa ka fè anyen pandan y ap li a informatique ladan nimewo gwo. 910 00:44:49,280 --> 00:44:51,620 >> KEVIN Schmid: Dwa. 911 00:44:51,620 --> 00:44:55,395 Se konsa, repons lan te jis ke sèvè a vrèman pa ka fè anyen pandan y ap 912 00:44:55,395 --> 00:44:57,460 li nan informatique ladan nimewo Fibonacci. 913 00:44:57,460 --> 00:44:59,360 Se konsa, koulye a, mwen jis leve de bagay mwen tounen. 914 00:44:59,360 --> 00:45:03,210 Men, mwen devine jis panse sou kòd la yon ti kras plis, ki jan li ap travay 915 00:45:03,210 --> 00:45:05,030 ak tout bagay. 916 00:45:05,030 --> 00:45:11,750 >> Se konsa, sa a fonksyon isit la se kòd la ki Mwen te di sèvè sa a nan kouri lè li 917 00:45:11,750 --> 00:45:14,100 resevwa yon nouvo demann fèk ap rantre. 918 00:45:14,100 --> 00:45:17,940 Se konsa, li jis ale nan kouri nan sa a tout kòd, ak Lè sa a, li pral ale 919 00:45:17,940 --> 00:45:21,120 Retounen nan bouk la evènman ak Lè sa a, kontinye tcheke pou evènman nouvo. 920 00:45:21,120 --> 00:45:23,670 Se konsa, fondamantalman ki sa nou te pase se sèvè a se 921 00:45:23,670 --> 00:45:25,080 tande pou bagay vin nèf. 922 00:45:25,080 --> 00:45:28,070 Premye moun ki mande pou ki sa 45 se. 923 00:45:28,070 --> 00:45:30,490 Nou kouri Kòd sa a kalkile li. 924 00:45:30,490 --> 00:45:33,420 Kòd sa a pran apeprè senk nan sis segonn nan kouri. 925 00:45:33,420 --> 00:45:36,990 Lè sa a, nou tounen nan bouk la evènman epi tcheke pou demann nouvo. 926 00:45:36,990 --> 00:45:42,700 >> Se konsa, sa a se yon egzanp sou kouman, si ou gen bagay ki sa yo rele compute 927 00:45:42,700 --> 00:45:48,140 mare, oubyen sèvi ak yon anpil nan enfòmatik, pa pouvwa, men tankou yo 928 00:45:48,140 --> 00:45:50,260 Kalkil entansif - 929 00:45:50,260 --> 00:45:54,080 Mwen devine yon sèl bagay yo di sou sa a se ki fonksyon sa a ap fè totalman, 930 00:45:54,080 --> 00:45:56,310 pou pati ki pi, bèl itil dwa travay la. 931 00:45:56,310 --> 00:45:59,970 Tout tan sa a ke ke kalbak fonksyon te kouri, li te bèl 932 00:45:59,970 --> 00:46:03,670 anpil pase prèske tout tan li yo jis informatique nonb ki Fibonacci nyèm. 933 00:46:03,670 --> 00:46:05,930 >> Men, nou sèlman te gen yon sèl moso twal kamwazi fè fas ak. 934 00:46:05,930 --> 00:46:10,270 Nan modèl la Apache, lè de moun fè demann lan yo ka resevwa bay manti 45, nou 935 00:46:10,270 --> 00:46:11,610 ta gen te gen de fil diferan. 936 00:46:11,610 --> 00:46:15,060 Lè sa a, travay sistèm nan fonksyone nan ta gen, oswa nivo a itilizatè 937 00:46:15,060 --> 00:46:18,660 kòd ki jere fil yo, ta te gen te nan tranch ki moute sou la 938 00:46:18,660 --> 00:46:23,060 CPU, oswa menm si ou te gen miltip proseseur, distribye yo respire atravè proseseur la 939 00:46:23,060 --> 00:46:26,130 sa yo ke yo tou de te fini apeprè nan menm tan an. 940 00:46:26,130 --> 00:46:31,120 >> Se konsa, jis montre w ki jan nou ka sòt de - ak sa a se pa yon pafè manm 941 00:46:31,120 --> 00:46:34,280 solisyon, men sòt de ki jan nou ka fè yon tounen isit la epi fè 942 00:46:34,280 --> 00:46:35,880 yon ti kras pi byen. 943 00:46:35,880 --> 00:46:41,540 Se konsa, sa m 'genyen isit la se yon pwogram ki rele Bay manti C. Lè sa a fondamantalman itilize 944 00:46:41,540 --> 00:46:45,690 yon lòt youn nan modil neu a rele Pwosesis Timoun Modil la. 945 00:46:45,690 --> 00:46:49,210 Se konsa, mwen te enkli ke nan kalite nan tèt nan tankou mwen ta fè yon liv gen ladan 946 00:46:49,210 --> 00:46:51,230 process.h timoun oswa yon bagay. 947 00:46:51,230 --> 00:46:56,210 Koulye a, mwen gen aksè nan varyab CP sa a ki te gen tout fonksyonalite m 'yo. 948 00:46:56,210 --> 00:47:01,810 >> Se konsa, koulye sa m 'ap fè nan repons sa a Handler se mwen kouri pwogram sa a 949 00:47:01,810 --> 00:47:04,100 dot koupe bay manti 45. 950 00:47:04,100 --> 00:47:06,820 Se konsa, sa mwen te fè - e mwen jis ale etap soti nan pwogram sa a pou yon 951 00:47:06,820 --> 00:47:07,620 ti kras ti jan - 952 00:47:07,620 --> 00:47:11,060 se Mwen te ekri yon pwogram C ki fondamantalman òdinatè a 953 00:47:11,060 --> 00:47:12,630 nyèm nimewo Fibonacci. 954 00:47:12,630 --> 00:47:15,960 Se konsa, isit la nan jis yon pwogram Mwen te ekri nan C ki òdinatè sa a. 955 00:47:15,960 --> 00:47:19,040 Mwen ka konpile li, e mwen ka kouri li nan liy lan lòd. 956 00:47:19,040 --> 00:47:22,150 Apre sa, li nan ale nan kalkile nan 45th Fibonacci nimewo. 957 00:47:22,150 --> 00:47:24,510 >> Se konsa, remake li jis pran bèl anpil osi lontan. 958 00:47:24,510 --> 00:47:28,240 Mwen pwobableman te kapab itilize priz 03 a optimize li oswa yon bagay tankou sa, 959 00:47:28,240 --> 00:47:31,050 men mwen jis te fè tankou regilye du anviwònman. 960 00:47:31,050 --> 00:47:33,260 Apre sa, li simagri li soti. 961 00:47:33,260 --> 00:47:36,830 >> Men koulye a,, ki sa ki m 'kalite fè la a? 962 00:47:36,830 --> 00:47:39,800 Oh regrèt sa, sa ki mal dosye-a. 963 00:47:39,800 --> 00:47:42,800 Se konsa, mwen fè bagay la menm ak header a tankou anvan. 964 00:47:42,800 --> 00:47:45,780 Lè sa a, m 'fè cp.exec sa a. 965 00:47:45,780 --> 00:47:49,460 Se konsa, sa sa a ki pral fè se li nan pral kouri pwogram sa a. 966 00:47:49,460 --> 00:47:51,960 Men, wout la sa a ap travay se ke li nan pa ale nan rete tann pou 967 00:47:51,960 --> 00:47:53,400 pwogram sa a fini. 968 00:47:53,400 --> 00:47:56,000 Li jis fondamantalman di egzekite pwogram sa a. 969 00:47:56,000 --> 00:47:58,700 Se konsa, fondamantalman tape sa a nan la bay lòd kalite èd memwa nan. 970 00:47:58,700 --> 00:48:02,350 >> Lè sa a,, lè w ap fè ak li, kouri fonksyon sa a. 971 00:48:02,350 --> 00:48:04,800 Se konsa, kounye a nou kalite jwenn sa a tout retabli bagay ki 972 00:48:04,800 --> 00:48:06,750 tankou nou pa ap tann. 973 00:48:06,750 --> 00:48:08,530 ki kalite fè sans? 974 00:48:08,530 --> 00:48:08,990 Oui? 975 00:48:08,990 --> 00:48:11,060 >> ODYANS: [fèbl]? 976 00:48:11,060 --> 00:48:13,610 >> KEVIN Schmid: Se konsa, sa a ap aktyèlman louvri moute yon nouvo pwosesis fè li. 977 00:48:13,610 --> 00:48:19,310 Se konsa, sa a se aktyèlman, nan kèk fason, sa ki mal, pa super sa ki mal, men li se 978 00:48:19,310 --> 00:48:22,990 enpòtan yo di ke sa a se kalite pral tounen nan, sou yon sèl men, Apache a 979 00:48:22,990 --> 00:48:26,450 modèl kote nou fè fil ak pwosesis pou chak demann oswa 980 00:48:26,450 --> 00:48:29,280 pwosesis pou chak demann. 981 00:48:29,280 --> 00:48:32,090 Se konsa, sa a se kalite analoji nan sa Apache fè. 982 00:48:32,090 --> 00:48:35,110 Nan kèk ka, li pral jis itilize yon nouvo moso twal kamwazi, ki se yon ti kras pi plis limyè 983 00:48:35,110 --> 00:48:39,040 pwa pase yon pwosesis, men Apache t 'kapab fini forking yon pwosesis nouvo 984 00:48:39,040 --> 00:48:43,370 ki se kalite sa nou fè isit la chal pa fè dot koupe bay manti 45. 985 00:48:43,370 --> 00:48:48,690 >> Lè sa a, nan ka sa a, nou kalite antrene depans yo menm nan pwosesis. 986 00:48:48,690 --> 00:48:50,710 Se konsa, sa a se jis yon sèl bagay ou kapab fè. 987 00:48:50,710 --> 00:48:52,600 Men, jis yo montre sa a sòt de kouri. 988 00:48:52,600 --> 00:48:57,120 Epi pale sa a se jis vrèman ki vize a prezante sa yo kalite pwogram sa a kòm 989 00:48:57,120 --> 00:49:00,710 fason yo montre pèspektiv diferan sou ki jan nan konsepsyon serveurs tankou sa. 990 00:49:00,710 --> 00:49:08,300 Se konsa, sa a se kouri, ak Lè sa a, kounye a si m 'fè sa a ankò, mwen te resevwa de kat idantite ki gen pwosesis. 991 00:49:08,300 --> 00:49:10,320 >> Se pou nou jis pale sou bagay sa yo nan pwen soti. 992 00:49:10,320 --> 00:49:11,980 Se konsa, remake ke yo ap incrémentielle. 993 00:49:11,980 --> 00:49:12,700 Sa a fre. 994 00:49:12,700 --> 00:49:15,140 Paske li te 27.122 anvan. 995 00:49:15,140 --> 00:49:18,580 Men, avi, koulye a, yo tounen vin nan apeprè menm tan an. 996 00:49:18,580 --> 00:49:23,960 >> Koulye a, yon kesyon bon mande enfòmasyon sou poukisa te ke ka a se, travay ki gen 997 00:49:23,960 --> 00:49:27,590 li te kounye a nan sòt de fè bagay sa yo kalite jwe jis youn ak 998 00:49:27,590 --> 00:49:31,350 lòt, de ka sa yo nan dot koupe bay manti 45 pou m 'kouri 999 00:49:31,350 --> 00:49:32,880 oswa ki kouri neu? 1000 00:49:32,880 --> 00:49:36,940 Ki moun ki sòt de fè li jis yo ke yo tou de jwenn kalite balanse tan kouri? 1001 00:49:36,940 --> 00:49:42,900 1002 00:49:42,900 --> 00:49:44,220 >> ODYANS: [fèbl]. 1003 00:49:44,220 --> 00:49:44,620 >> KEVIN Schmid: Yeah. 1004 00:49:44,620 --> 00:49:49,740 Se konsa, fondamantalman, lè m 'fè dot bay manti koupe 45 oswa yon bagay tankou sa, kounye a li nan 1005 00:49:49,740 --> 00:49:53,750 kalite ki rive jiska sistèm nan fonksyone okipe ègzekutabl a nan pwogram sa yo. 1006 00:49:53,750 --> 00:49:56,920 Epi, koulye a li ka pran yo sou diferan proseseur oswa li 1007 00:49:56,920 --> 00:49:58,330 ka pran yo. 1008 00:49:58,330 --> 00:50:01,870 Li ka tranch moute tan an ke yon moun CPU jwenn li oswa yo ke yo jwenn 1009 00:50:01,870 --> 00:50:03,330 nan kouri sou yon sèl CPU. 1010 00:50:03,330 --> 00:50:05,620 Se konsa, sa a, se lide a dèyè sa a. 1011 00:50:05,620 --> 00:50:07,220 ki fè sans nan tout moun? 1012 00:50:07,220 --> 00:50:10,950 Se konsa, koulye neu pa se reyèlman jwe yon pati nan divize moute travay sa yo. 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 >> Se konsa, sa a, se prèske li pou egzanp. 1016 00:50:17,840 --> 00:50:23,370 Mwen jis te vle montre yon sèl plis bagay paske yon anpil nan sa a byen lwen tèlman te gen 1017 00:50:23,370 --> 00:50:27,350 pa totalman super pratik nan kèk ka. 1018 00:50:27,350 --> 00:50:30,970 Mwen ka imajine vini lakay ou apre sa a pale ak yon bagay e yo di tankou, 1019 00:50:30,970 --> 00:50:35,710 byen Mwen kalite te soti nan ki pale ki Mwen ka fè yon sèvè Fibonacci pou 1020 00:50:35,710 --> 00:50:37,360 final pwojè m 'yo. 1021 00:50:37,360 --> 00:50:40,770 Se konsa, isit la nan jis sòt de yon sèl plis egzanp ki èspere ke pral - 1022 00:50:40,770 --> 00:50:44,620 petèt pa, men petèt - yon ti kras plis sòt de ki gen rapò ak pwojè final ak 1023 00:50:44,620 --> 00:50:46,440 panse pi devan pou bagay sa yo tankou sa. 1024 00:50:46,440 --> 00:50:48,870 >> Se konsa, sa a se chat.js. 1025 00:50:48,870 --> 00:50:52,290 Se konsa, sa a se kalite renmen kèk echantiyon sèvè bò Kòd ke ou ta ka itilize nan 1026 00:50:52,290 --> 00:50:55,700 mete kanpe yon ti sèvè chat tankou ou ka gen pou wè sou la 1027 00:50:55,700 --> 00:50:56,630 Facebook Chat oswa kèlkeswa sa. 1028 00:50:56,630 --> 00:50:59,990 Se konsa, mwen pa di sa a se tankou Facebook Chat, men sa a se kalite 1029 00:50:59,990 --> 00:51:06,230 tankou yon bon - petèt pa bon, men petèt bon - kòmanse pwen pou yon chat 1030 00:51:06,230 --> 00:51:08,560 sèvè pou sit entènèt ou pou yon pwojè final la. 1031 00:51:08,560 --> 00:51:11,040 Se konsa, kite yo gade nan ki sa li fè a. 1032 00:51:11,040 --> 00:51:15,500 >> Se konsa, nou ap vin bagay sa a espesyal nan tèt la, sa a var SiO 1033 00:51:15,500 --> 00:51:17,050 egal mande pou Socket.IO. 1034 00:51:17,050 --> 00:51:20,280 Se konsa, sa a se yon lòt bagay ke li pa fè sa aktyèlman vin fourni ak 1035 00:51:20,280 --> 00:51:22,300 Ne men ou ka enstale li. 1036 00:51:22,300 --> 00:51:23,480 Li se yon modil neu. 1037 00:51:23,480 --> 00:51:25,670 Se konsa, li jis tankou kèk pwolongasyon nan neu. 1038 00:51:25,670 --> 00:51:29,220 >> SocketIO se aktyèlman vrèman kalite fre. 1039 00:51:29,220 --> 00:51:32,550 Se yon distraksyon ki fondamantalman sa ki Li se se li pèmèt ou 1040 00:51:32,550 --> 00:51:35,770 gen kouran sa a nan kominikasyon ant yon rezo 1041 00:51:35,770 --> 00:51:39,430 navigatè ak yon sèvè entènèt. 1042 00:51:39,430 --> 00:51:45,250 Se konsa, pou pati ki pi twò lwen, nou te gen sa yo trè rapid yon dezyèm oswa de 1043 00:51:45,250 --> 00:51:48,790 kominikasyon dezyèm ant yon rezo navigatè ak sèvè wèb la. 1044 00:51:48,790 --> 00:51:53,310 Se konsa, li fondamantalman ale nan google.com, jwenn bagay la, voye l 'tounen, ak Lè sa a, 1045 00:51:53,310 --> 00:51:53,770 nou ap fè. 1046 00:51:53,770 --> 00:51:56,560 Nou pa janm ap pale ankò jouk la kalite itilizatè nan yon lòt bagay. 1047 00:51:56,560 --> 00:52:01,090 >> Men, sa ki Socket.IO ak menm jan an kalite bagay sa yo - ak SocketIO se aktyèlman yon sèl 1048 00:52:01,090 --> 00:52:03,940 nan bagay sa yo ke se bati sou kòm WebSocket ki se sòt de ki disponib 1049 00:52:03,940 --> 00:52:06,440 kòm yon pati nan HTML5 - 1050 00:52:06,440 --> 00:52:09,620 ki pèmèt ou gen sa a k ap kontinye dyalòg. 1051 00:52:09,620 --> 00:52:13,990 Lè sa a se trè itil nan yon sèvè chat jan de bagay konsa paske li se 1052 00:52:13,990 --> 00:52:17,390 kalite tankou yon dyalòg ap kontinye nan kèk fason paske si w ap diskite 1053 00:52:17,390 --> 00:52:21,540 ak yon moun, ou kapab kounye a jis voye yon mesaj desann tiyo a, ak Lè sa a, nan 1054 00:52:21,540 --> 00:52:23,940 sèvè ka voye yon mesaj desann nan tiyo ak lòt moun nan w ap 1055 00:52:23,940 --> 00:52:24,520 diskite avèk yo. 1056 00:52:24,520 --> 00:52:26,903 Lè sa a, ou ka gen sa a echanj tankou sa. 1057 00:52:26,903 --> 00:52:30,590 1058 00:52:30,590 --> 00:52:32,850 >> Se konsa, sa a, se kalite sa ki SocketIO se yon bon bagay pou. 1059 00:52:32,850 --> 00:52:38,400 Rezon ki fè SocketIO sèvi ak WebSockets kòm yon sèl bagay ou gen nan 1060 00:52:38,400 --> 00:52:43,980 adisyon a WebSockets jis plenn fin vye granmoun, li tou fè kèk ke trik nouvèl fondamantalman 1061 00:52:43,980 --> 00:52:45,610 fè l 'navigatè konpatib. 1062 00:52:45,610 --> 00:52:50,040 Se konsa, navigatè tankou Internet Explorer malerezman pa sipòte WebSockets 1063 00:52:50,040 --> 00:52:50,810 dwa soti nan bwat la. 1064 00:52:50,810 --> 00:52:55,290 Se konsa, li konn sèvi ak lòt kalite fre pwòp bagay sa yo ak Adobe Flash yo ki pèmèt 1065 00:52:55,290 --> 00:52:57,170 ou gen sipò navigatè kwa. 1066 00:52:57,170 --> 00:52:58,800 Se konsa, sa ki nan vrèman itil. 1067 00:52:58,800 --> 00:53:02,440 >> Apre sa, aktyèlman, mwen konnen mwen se kalite kouri sou tan isit la, men CS50 1068 00:53:02,440 --> 00:53:08,490 Diskite sou yo, yo gen ou janm wè yon bagay tankou, mwen pa konnen, vid Se konsa, e konsa se 1069 00:53:08,490 --> 00:53:11,030 Replying nan pòs sa a oswa yon bagay tankou sa yo, ki karakteristik? 1070 00:53:11,030 --> 00:53:12,250 Sa a SocketIO. 1071 00:53:12,250 --> 00:53:15,580 Se konsa, lè yon moun kòmanse sezisman nan la diskite sou bwat yo fè yon repons oswa 1072 00:53:15,580 --> 00:53:20,040 yon bagay, navigatè ou a sa ki nan rele nan SocketIO emèt kèk kalite 1073 00:53:20,040 --> 00:53:22,660 evènman ki di yon moun nan Replying nan pòs sa a. 1074 00:53:22,660 --> 00:53:26,110 >> Lè sa a, sèvè a di, OK, ki sa mwen dwe fè? 1075 00:53:26,110 --> 00:53:29,270 Oke koulye a, mwen oblije di moun lòt nèg ki rete sou CS50 Diskite kap 1076 00:53:29,270 --> 00:53:31,170 nan pòs sa a ki yon moun nan Replying. 1077 00:53:31,170 --> 00:53:34,190 Se konsa, sa a, se kalite sa ki SocketIO se bon pou, sa a kalite k ap kontinye nan 1078 00:53:34,190 --> 00:53:35,930 kouran nan dyalòg. 1079 00:53:35,930 --> 00:53:37,250 OK. 1080 00:53:37,250 --> 00:53:40,060 >> Se konsa, sa m 'genyen isit la - epi nou ap jis ale nan inyore etalaj la koneksyon 1081 00:53:40,060 --> 00:53:41,390 pou yon ti tan - 1082 00:53:41,390 --> 00:53:43,080 sa m 'fè se mwen yon lòt koute. 1083 00:53:43,080 --> 00:53:46,880 Se konsa, sa se sèlman wout la nan Socket.IO se li di se pou yo koute sou pò sa a. 1084 00:53:46,880 --> 00:53:50,060 Lè sa a, m 'fè sa a sou koneksyon. 1085 00:53:50,060 --> 00:53:53,360 Se konsa, sa se sèlman fondamantalman Sokèt IO a fason pou li di, lè nou resevwa yon 1086 00:53:53,360 --> 00:53:55,840 koneksyon, mwen vle ou kouri Kòd sa a. 1087 00:53:55,840 --> 00:53:59,870 >> Apre sa, remake ke olye pou yo gen rec ak res te pase nan la tout mwen te gen Sokèt. 1088 00:53:59,870 --> 00:54:03,260 Lè sa a lide Sokèt se fondamantalman sa a bagay ki ou ka ekri ak li 1089 00:54:03,260 --> 00:54:05,750 soti nan ki gen nan nan itilizatè mesaj posib. 1090 00:54:05,750 --> 00:54:10,700 Ak mesaj sa yo ke ou ta voye ka ale nan ki Sokèt. 1091 00:54:10,700 --> 00:54:12,140 ki fè sans? 1092 00:54:12,140 --> 00:54:14,490 Se konsa, li bagay sa a kontinye. 1093 00:54:14,490 --> 00:54:17,820 >> Se konsa, sa m 'fè a se mwen rele Socket.emit. 1094 00:54:17,820 --> 00:54:20,330 Apre sa, lanse pran bèl anpil de agiman. 1095 00:54:20,330 --> 00:54:24,100 Agiman an premye se yon kòd jis reprezante ki kalite 1096 00:54:24,100 --> 00:54:25,270 bagay w ap émettant. 1097 00:54:25,270 --> 00:54:28,120 Se konsa, pou ka sa a, mwen te itilize sa a fil nouvo mesaj. 1098 00:54:28,120 --> 00:54:32,670 Epi sa a, jis fondamantalman an dizan ke kalite a nan bagay sa a, ki sa mwen se 1099 00:54:32,670 --> 00:54:34,750 voye yo, se yon mesaj nouvo. 1100 00:54:34,750 --> 00:54:38,460 Se konsa, ou ka koute pou kalite espesifik tankou nouvo mesaj oswa kèlkeswa sa 1101 00:54:38,460 --> 00:54:39,960 lè l sèvi avèk dot sou. 1102 00:54:39,960 --> 00:54:44,570 >> Se konsa, koneksyon ak itilizatè voye a, si ou gade nan kote nou rele dot sou li a, 1103 00:54:44,570 --> 00:54:48,150 sa yo se lòt strings ki reprezante kalite mesaj itilizatè. 1104 00:54:48,150 --> 00:54:52,060 Se konsa, li fondamantalman ou ka gen lanse sa a youn nan kalite mesaj sa yo, epi 1105 00:54:52,060 --> 00:54:55,520 Lè sa a, fè yon bagay an repons a youn nan kalite mesaj sa yo 1106 00:54:55,520 --> 00:54:57,640 >> Se konsa, mwen émettant mesaj sa a nouvo. 1107 00:54:57,640 --> 00:55:00,540 Nou pral inyore connections.push pou yon dezyèm fwa. 1108 00:55:00,540 --> 00:55:03,360 Men, Lè sa a, mwen di: Socket.on itilizatè te voye yo. 1109 00:55:03,360 --> 00:55:07,540 Se konsa, koulye li nan kalite renmen lè a itilizatè voye m 'yon mesaj, mwen vle 1110 00:55:07,540 --> 00:55:09,240 ou nan kouri Kòd sa a. 1111 00:55:09,240 --> 00:55:12,080 Apre sa, remake ke ke fonksyon anonim ap pran nan varyab sa a 1112 00:55:12,080 --> 00:55:16,300 rele done ki se fondamantalman ale gen mesaj itilizatè a la. 1113 00:55:16,300 --> 00:55:20,700 >> Kalite Se konsa, kounye a kite a nan pale sou koneksyon etalaj la. 1114 00:55:20,700 --> 00:55:24,590 Se konsa, sa a se ki fèt pou yon kliyan chat kote fondamantalman tout moun nan kalite nan 1115 00:55:24,590 --> 00:55:25,950 chanm nan chat menm. 1116 00:55:25,950 --> 00:55:29,640 Se konsa, fondamantalman, ki sa nou bezwen kenbe alantou se kèk etalaj ki fondamantalman 1117 00:55:29,640 --> 00:55:33,170 reprezante tout pèp la diskite nan kèk fason, si sa fè sans. 1118 00:55:33,170 --> 00:55:33,340 Dwa? 1119 00:55:33,340 --> 00:55:37,190 Paske nou bezwen konnen ki moun ki neg sa yo yo, se pou nou ka voye yo mesaj yo 1120 00:55:37,190 --> 00:55:39,140 ke lòt moun voye yo ban nou. 1121 00:55:39,140 --> 00:55:44,440 >> Se konsa, sa Kòd sa a fè se lè itilizatè voye yon mesaj - sa a ki kalite 1122 00:55:44,440 --> 00:55:45,300 evènman an - 1123 00:55:45,300 --> 00:55:47,120 nou pral kouri Kòd sa a. 1124 00:55:47,120 --> 00:55:51,240 Ak sa nou fè se nou kouri nan sa a etalaj ke nou te rele koneksyon. 1125 00:55:51,240 --> 00:55:54,390 Apre sa, bèl anpil pou chak koneksyon eksepte yon sèl la ki nan nou, sa a, se 1126 00:55:54,390 --> 00:55:59,520 sa Kòd sa a di, nou voye yon nouvo mesaj avèk ke mesaj tache 1127 00:55:59,520 --> 00:56:01,210 enfòmasyon. 1128 00:56:01,210 --> 00:56:04,880 >> Se konsa, si ou remake isit la, ki sa mwen te fè lè itilizatè a aktyèlman fè yon nouvo 1129 00:56:04,880 --> 00:56:08,560 koneksyon se mwen te ajoute ak nan JavaScript.push metòd, sa a se 1130 00:56:08,560 --> 00:56:12,100 fondamantalman jis di tankou ajoute ki Sokèt kòm yon valè nan 1131 00:56:12,100 --> 00:56:13,900 koneksyon nou etalaj. 1132 00:56:13,900 --> 00:56:20,560 Se konsa, koulye a, kòd sa a kouri, li pral voye bagay sa yo sa yo an patikilye 1133 00:56:20,560 --> 00:56:22,020 koneksyon. 1134 00:56:22,020 --> 00:56:26,980 Se konsa, sa a kapab yon bon pwen depa pou fè yon sèvè chat 1135 00:56:26,980 --> 00:56:28,250 oswa yon bagay menm jan an. 1136 00:56:28,250 --> 00:56:33,315 >> Apre sa, ki kalite bagay fre se ke an Kòd sa ou wè la a pou tankou sou yo ak sou 1137 00:56:33,315 --> 00:56:36,390 emèt ak lòt bagay tankou sa se menm bagay la kalite JavaScript kòd ki ou ta 1138 00:56:36,390 --> 00:56:39,260 ekri nan navigatè a yo kominike ak sèvè a. 1139 00:56:39,260 --> 00:56:42,480 Se konsa, Se poutèt sa SocketIO se kalite pwòp, epi li itil nan ki fason. 1140 00:56:42,480 --> 00:56:45,680 1141 00:56:45,680 --> 00:56:49,250 >> Oh ak jis yon sèl bagay pi reyèl rapid. 1142 00:56:49,250 --> 00:56:55,970 Te gen yon final pwojè CS50 ane pase a ki fondamantalman aplike yon chat 1143 00:56:55,970 --> 00:56:57,840 sèvè nan Node.js. 1144 00:56:57,840 --> 00:57:01,350 Mwen panse ke li nan Harvardchats.org men mwen pa - 1145 00:57:01,350 --> 00:57:02,940 OK. 1146 00:57:02,940 --> 00:57:06,190 Mwen pa si sa ki URL la ye, esepte Mwen ka voye voye ki soti apre sa. 1147 00:57:06,190 --> 00:57:09,260 Men, li la kalite fre sa ou kapab fè avèk Node.js. 1148 00:57:09,260 --> 00:57:14,680 >> Se konsa, mwen espere ke, an jeneral, ou nèg gen yon bon sans de sa ki Node.js se itil 1149 00:57:14,680 --> 00:57:17,870 pou ak ki jan ou ta ka petèt aplike nan pwojè final ou a. 1150 00:57:17,870 --> 00:57:21,050 Mwen pral voye soti kèk plis resous ansanm ak sa a. 1151 00:57:21,050 --> 00:57:23,170 Apre sa, di ou mèsi pou vini yo. 1152 00:57:23,170 --> 00:57:23,610 Mèsi poutèt ou. 1153 00:57:23,610 --> 00:57:27,168 >> [Aplodisman]