>> KEVIN Schmid: Hello tout moun.
Byenveni nan seminè a CS50 sou Node.js.
Non mwen se Kevin.
Mwen se yon TF CS50.
Ak mwen se sòt de tankou vrèman eksite sou seminè sa a.
Mwen panse ke Node.js se yon bagay ki fre.
Mwen espere ke ka seminè sa a dwe itilize kòm yon byen mennen, mwen devine, tranplen pou
kèk nan final pwojè ou a si w ap enterese nan lè l sèvi avèk
yon bagay tankou Node.js.
>> Nou pral sòt de kòmanse seminè a koupe pa jis ap pale de yon ti kras nan la
kalite évolutivité background pèspektiv nan Node.js, ak Lè sa a,
nou pral deplase nan kèk egzanp kòd.
Apre sa, mwen pral gen kòd la sou yon sit entènèt, epi ou ka gade nan Kòd la.
Apre yo te fin seminè a, mwen pral sòt nan pale sou ki jan ou ka mete kanpe Node.js
sou òdinatè ou.
>> OK.
Se konsa, kite a jwenn te kòmanse.
Se konsa, mwen devine mwen jis vle pale sou serveurs entènèt, reyèlman, an premye.
Apre sa, yo kòmanse diskisyon sa a, mwen fondamantalman gen yon dyagram ki se soti nan
liv la itilize pou CS61, ki fondamantalman montre echanj ant
ant yon pwosesis kliyan, tankou sit entènèt ou navigatè oswa tankou kliyan bi ou oswa
yon bagay tankou sa, ak yon sèvè entènèt.
Se konsa, sa a kalite sanble menm jan ak nan foto ke ou te wè nan konferans sou
Mèkredi kote fondamantalman nou gen kèk pwosesis kliyan tankou Google Chrome.
>> Lè sa a, etap se yon sèl la kliyan voye yon demann.
Se konsa, ki ka yon bagay tankou byen se pou yo vizite, mwen pa konnen, CS50.net.
Se konsa, nou bay ki mande sa.
Apre sa, okenn moun sonje non an nan pwotokòl la ki espesifye ki jan sa
demann yo ta dwe estriktire?
Oui.
>> ODYANS: [fèbl].
>> KEVIN Schmid: Egzakteman.
Se konsa, li tankou HTTP, dwa?
Se konsa, fondamantalman spesifikasyon la pou konbyen ki te fè demann ta dwe aktyèlman ka mete
soti, paske nan fen jounen an, ki te fè demann se reyèlman jis tankou yon
fisèl ki fondamantalman di mwen vle sa a.
Apre sa, spesifikasyon la pou se sa ki HTTP.
Se konsa, sa a, se tankou yon pwotokòl.
>> Se konsa, Lè sa a, sèvè a ap resevwa ki mande sa.
Se konsa, ou nèg gen yon sèvè wèb enstale nan aparèy la CS50.
Li nan Apache.
Apre sa, semèn sa a lè ou travay sou pwoblèm pran sèt, ou pral aktyèlman ap travay
ak sa sèvè entènèt.
Se konsa, sèvè a ap resevwa ke demann, ak Lè sa a, li te kalite grate li yo
tèt li ak di tankou byen sa ki M 'fè ak sa a?
>> Se konsa, ki baze sou sa li deside fè sa, Lè sa a, li ka gen yo kontakte kèk kalite
nan resous.
Epi ki resous te kapab fè yon bann bagay sa yo diferan.
Pou youn, li ta ka jis tankou yon dosye HTML estatik.
Se konsa, li te kapab jis pou tankou kèk HTML ki se tankou pou
sit entènèt pèsonèl ou.
Li ta ka yon dosye estatik tankou yon imaj oswa tankou yon fim ke ou gen.
Li te kapab menm gen pale nan kèk kalite baz done
tankou yon baz done miskl.
Se konsa, li pa toujou gen yo kominike ak yon resous, men nan
kèk ka, li te kapab.
>> Se konsa, Lè sa a, ki sa li pral fè aprè sa, se li nan ale nan
voye tounen repons lan.
Ak repons la pou sa a se tou sa espesifye nan HTTP.
Se konsa, Lè sa a, kliyan an kapab resevwa li.
Li ka chire li apa ak travay sou li.
Lè sa a, ou jwenn yon paj wèb tankou Google oswa CS50.net oswa
tou sa ou te ale nan.
OK?
>> Se konsa, sa a se entèraksyon an debaz ki nou pral yo dwe fè fas ak.
Apre sa, nou ap bèl anpil pral fè ki konsantre sou pati sa a nan la
entèraksyon, sèvè a.
OK.
Fre.
Okenn moun gen nenpòt kesyon byen lwen tèlman?
OK.
>> 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
Repons HTTP.
Apre sa, tankou nou te pale osijè de anvan, nan Sèvè wèb aparèy CS50 se Apache.
Se konsa, lè ou nèg travay sou P pran sèt, w ap ale nan ap travay ak nan
Sèvè wèb Apache.
Ou pa janm pral oblije reyèlman travay ak Apache dirèkteman twòp.
Ou sòt de configured Apache yon ti kras lè ou presize gen tout pouvwa a Virtual oswa
gen tout pouvwa a v yo, epi nou pral jwenn ak sa yo ki nan yon ti kras.
>> Men, fondamantalman, sèvè wèb la Apache mete kanpe nan travay avèk kalite PHP
nan soti nan bwat la.
Se konsa, sa ki vrèman k ap pase, se lè ou ale nan youn nan sit entènèt ou tankou, di,
lame lokal index.php koupe oubyen yon bagay, se navigatè ou a voye ke
demann, ak Lè sa a, Apache ki chita gen ak figi soti nan fè ak li.
Ak aksyon la se egzekite ki Kòd nan index.php ak
Lè sa a, voye l 'sou dèyè.
Se konsa, gen nan sa.
Se konsa, nou sòt de te pale osijè de sa a.
Se konsa, li ta ka jis sèvi yon dosye estatik oswa kouri kèk Kòd PHP ak Lè sa a, pwoblèm
repons lan.
>> Se konsa, Lè sa a, yon kesyon komen ki ka vin moute se byen, ki jan nou vrèman fè fas
ak gen plizyè itilizatè an menm tan an?
Se konsa, imajine si ou te ekri yon sit entènèt sèvè, si ou te gen yon sèvè wèb ki
ou te ap eseye ekri nan yon bagay tankou C oswa yon bagay tankou sa,
fondamantalman ou ka panse osijè de kòman gen ta ka gen kèk kalite kòd ki
ta resevwa demann lan, men Lè sa a, li te fè tout travay sa a sou li.
Li ka gen, pou egzanp, kontakte a baz done oswa yon bagay tankou sa.
Dwa?
Lè sa a, li ta fè sa kalite nan pwosesis aplikasyon an epi Lè sa a,
voye tounen lakay repons lan.
Se konsa, sa a, se tankou anwo nan syèl la nivo BECA.
>> Men, li la pa imedyatman evidan ki jan ou ka fè sa pou ke de moun oswa
menm 1,000 moun te kapab travay avèk ou sèvè wèb nan menm tan an.
Se konsa, solisyon an ki Apache sèvi ak yo rele fil oswa pwosesis.
Se konsa, ou ka gen tande pale de tèm sa yo anvan.
Yo ke li OKE si ou gen pa, men jis panse sou fil oswa pwosesis kòm fason pou
yon sistèm opere oswa yon pwogram itilizatè oswa yon bagay tankou sa oswa yon sèvè sit entènèt
sòt de egzekite plizyè bagay sa yo nan yon fwa.
Se konsa, ou ka tande tèm nan tankou fil nan ekzekisyon.
Se konsa, li nan kalite tankou w ap sòt de Multitech.
>> Men, si ou te wè sou bwat la nan ou laptop, oswa yon bagay tankou sa,
multicore, ki sa ou ka fè se ou kapab kouri de fil diferan sou diferan
pati nan CPU a pou ke yo kapab aktyèlman rive an menm tan an.
Se konsa, sa a se vrèman gen anpil pouvwa.
Lè sa a se kalite Apache a solisyon a pwoblèm sa a.
>> Se konsa, ki genyen kalite tankou nenpòt pwoblèm ak apwòch sa a menm si?
Se konsa, mwen devine mwen kalite ekri kòmandman sa yo la.
Men, tou de peyi yo sòt de sèvi ak yon anpil nan memwa.
Li trè chè yo kreye yon ti moso fil oswa yon pwosesis.
>> Ak yon pati nan rezònman a se ke jis tankou lè w ap kouri yon pwogram C
tankou prensipal ou ak Lè sa a, ki apèl yon lòt fonksyon, ki gen
kèk kalite chemine.
Se konsa, fil tou mande pou yon antyèman chemine separe ki
kapab byen gwo.
Men, si ou ka imajine gen tòn itilizatè sou sit entènèt ou, ou ta gen
yon anpil nan diferan fil.
Sa se yon anpil nan pil jere epi kenbe.
Se konsa, li konsomasyon memwa gwo.
>> Lè sa a,, tou, se pou yo di ou gen sèlman yon sèl CPU, oswa kite a di ou gen
plis fil pase ou gen sa yo multicores.
Dwa?
Se konsa, kite a di ou te gen 10 fil epi ou sèlman te gen senk proseseur.
Ou kalite dwe fè bagay sa a kote ou chanje ant aktyèl la
youn ki ap kouri paske ou pa ka kouri tout 10 nan yon fwa.
Epi sa a, yo te rele yon switch kontèks.
Apre sa, ke tèm aktyèlman gen yon koup la kontèks diferan, men kite yo jis
panse a li kòm oblije chanje ant de fil.
Sa ka trè chè paske fondamantalman ki sa ou dwe fè se ou
gen sispann sa w ap fè, sove la eta de ki fil kouri, ak
Lè sa a, chanje a yon yon lòt kote.
>> Se konsa, tout moun kalite wè la motivasyon sou rezon ki fè fil ak
pwosesis ta kapab yon ti kras ankonbran?
Apre sa, t 'ou gen yon kesyon?
OK.
Fre.
Okenn moun gen nenpòt kesyon?
OK.
>> Se konsa, si nou pran yon etap tounen pou yon dezyèm, gen nan kalite tankou yon
obsèvasyon ke nou ka fè sou yon anpil nan aplikasyon pou sou entènèt.
Apre sa, sa ki nan vrèman ke yon anpil nan yo aktyèlman pa fè ke anpil itil
travay andedan nan yon moso fil.
Se konsa, gen yon moun te kòmanse sou P pran sèt nan tout?
Se konsa, ou vle petèt dekri kèk nan pati yo?
Èske w te travay sou login oswa yon bagay tankou sa?
>> ODYANS: No
>> KEVIN Schmid: OK.
Pa janm tèt ou.
M regrèt.
Men, fondamantalman, nan P mete nan, w ap yo pral fè yon anpil nan sòt de
demann nan yon baz done jwenn kèk enfòmasyon ki soti nan ke baz done.
Ak sa ki Kòd ou a pral nan ap fè, sa ke pwosesis Apache oswa
ki Apache fil se yo pral fè pandan ke li gen yo kontakte a
baz done se li nan sòt de pral fè chita la epi li pral fè
ap tann pou baz done a reponn.
>> Koulye a, ki pa ta ka son tankou sa gwo yon fè fas paske baz done a se sou ou
Aparèy CS50, dwa?
Men, gen kèk kalite rezo latansi la, paske kounye a entènèt la
sèvè gen pwoblèm demann pwòp li nan baz done a yo kominike avèk la
baz done ak Lè sa a, jwenn ki enfòmasyon tounen.
Se konsa, koulye li a tankou byen rete tann pou m ', mwen se pwal ale jwenn yon bagay ki soti nan
baz done ak Lè sa a, gen yon anpil nan ap tann pral sou.
ki fè sans?
>> Se pou kèk bagay li a pa tèlman move.
Si li jis gen yo, pou egzanp, aksè memwa, ki pa nan renmen
terib mwen / O latansi.
Lè m 'di, mwen / latansi O, ki sa mwen se refere li a, se tankou nenpòt kalite tankou
pwodiksyon opinyon.
Men, jwenn aksè nan yon dosye sou ki gen kapasite a, tankou si mwen te vle sèvi HTML nan estatik
ranpli ki te sou paj entènèt mwen an oswa yon bagay tankou sa, mwen kalite gen
sispann pou yon ti jan, li ke dosye nan soti nan disk la, ak Lè sa a, nan
pwosesis ke mwen ap tann.
Mwen pa fè travay itil.
>> Sa a se pa vre nan tout bagay, men li se komen nan aplikasyon pou tankou P seri
sèt ak yon anpil nan aplikasyon pou ke ou pa ap
aktyèlman ap fè anpil panse.
Apre sa, lè m 'di panse, mwen vle di tankou travay enfòmatik.
Travay Se konsa, enfòmatik ta ka yon bagay tankou, di, ou te vle
ekri yon sèvè wèb ki jis calculée nimewo a Fibonacci nyèm.
Sa pa son tankou yon patikilyèman sèvè wèb plezi.
Menm jan ak mwen pa ta espere ke sit yo dwe Facebook kap vini an, men sa se kèk
kalite travay enfòmatik.
>> Apre sa, ou ka imajine ranplase ke ak kèk lòt kalite enteresan
Enfòmatik travay.
Se pou nou di ou te ekri yon bagay ki kalkile degre yo nan
separasyon ant de moun oswa yon bagay tankou sa.
Se konsa, ki fè enplike kèk kalite nan kalkil, dwa?
E menm lè sa a, fè sa ou toujou gen fè yon anpil nan ap tann pou petèt
ou gen sijè rechèch yon baz done yo gade moute ki nan zanmi ak ki moun ki oswa
yon bagay tankou sa.
Se konsa, gen ki kalite nosyon nan enfòmatik travay.
ki fè sans?
okenn moun gen nenpòt kesyon?
>> Oh ak mwen devine mwen mete serveurs chat gen paske serveurs chat yo kalite
yon lòt bon ekzanp de sa a.
Yon sèvè chat pa gen fè anpil panse.
Li jis gen pou ret tann pou moun yo voye mesaj ak Lè sa a, lè
yo, voye yo.
OK?
>> Se konsa, jis yo Rekapitilasyon ankò, Apache ak serveurs entènèt ki sanble tankou sa fouchèt yon
anpil nan fil ak pwosesis ki kapab kalite inutil.
Se konsa, mwen devine kesyon an ki ka vini soti nan ki nou bezwen gen
fil miltip ak pwosesis?
E si nou jis te gen youn?
>> Se konsa, kite a kalite penti yon foto nan ki sa sa a ta sanble.
Se konsa, kite a sèvi ak sèlman yon sèl fil la.
OK?
Se konsa, jis imajine sa a ak yon sèl fil la.
>> Ann sipoze nou pa te vrèman fè ke anpil itil - ak lè m 'di
ki itil, mwen vle di travay enfòmatik -
nan sa yo fil miltip anvan.
Se konsa, kite a kalite konsolide tout bagay nan yon sèl fil la.
Se konsa, sa si nou te gen yon sèl moso twal kamwazi ki kalite nan jis ale alantou an bouk la ak
toujou ap chèk te fè yon bagay nouvo rive.
Se konsa, pou egzanp, yon bagay nouvo ki te pase te kapab vle di mwen te resevwa yon bagay tounen soti nan
baz done, oswa yon moun a voye m 'yon nouvo demann HTTP.
Se konsa, sa yo se kalite evènman ki rive, dwa?
>> Lè sa a, ki sa mwen kapab fè lè sa yo nouvo bagay sa yo rive se nan menm fil sa a
nan ekzekisyon, sa a moso twal kamwazi yon sèl nan ekzekisyon, mwen ka rele kèk kòd ki
ta okipe ke bagay an patikilye.
Se konsa, pou egzanp, si mwen te resevwa yon bagay tounen soti nan baz done a, mwen te kapab kouri mwen
ti pati enfòmatik nan li ki aktyèlman jis prepare bagay nan
voye tounen nan itilizatè a.
Se konsa, fè ki kalite fè sans?
>> Men, sa ki se reyèlman nan enplikasyon nan sa a?
Dwa?
Paske nou te ekri yon anpil nan kòd ki -
ak mwen jis ale nan so devan nan glisad yo si ke se ok.
Se konsa, si ou pa lide, mwen se jis pral pran yon etap tounen.
Se konsa, sa a kalite bagay se rele yon bouk evènman.
OK?
Apre sa, li nan kalite debaz la lide dèyè Node.js.
>> 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
ki se fondamantalman pral alantou an yon bouk tankou yon pandan y ap yon sèl kalite anba
kapo a nan Node.js sa a, se toujou ap kont kouran, t 'nou resevwa bagay ki nouvo?
Lè sa a, li pral kouri pòtè ke ou fè fè a.
Men, yon bon kesyon mande se, ki jan nou ka fè sa a rive
avèk bagay ki egziste deja?
>> Se konsa, mwen mete yon liy nan C Kòd isit la ke fondamantalman sanble li a louvri yon
pote, dwa?
Mwen Li jis a soti ak yon album.
Se konsa, mwen te gen yo louvri l 'yon nouvo dosye.
Se konsa, wout la Kòd C nou an pou opere -
ak Mwen devine rezon ki fè yo mwen te chwazi dosye te paske sa se kalite limit la
nan travay la mwen / O ke nou te fè nan C nan yon sans ke gen nan pwodiksyon opinyon.
Se konsa, nou rele Kòd sa a ki fè sa f louvri.
Lè sa a, sou liy ki vin apre a nan nou an pwogram, nou kapab kounye a travay ansanm ak f.
>> Se konsa, sa a ta ka yon egzanp sou yon bagay sa a, se tankou synchronous oswa
bloke paske sou sa liy premye gen n ap tann jiskaske nou
jwenn dosye a louvri.
Se konsa, sou liy, dezyèm lan, nou konnen ke nou ka travay avèk f, men sa a vle di ke
ki liy dezyèm pa ka vrèman kouri jiskaske yo liy lan premye fè.
ki fè sans?
>> Se konsa, sa a ta ka move yo mete nan yon Handler evènman.
Ak rezon an pou sa se ke sa a kalite tann, dwa?
Se konsa, sa a ta retounen nou tounen nan menm bagay la.
Epi, koulye a nou pa ta menm gen nan benefis nan plizyè fil oswa
pwosesis paske nou te resevwa yon sèl moso twal kamwazi nan Node.js.
ki fè sans nan tout moun?
>> ODYANS: Rete tann.
Se konsa, sa ki nan ranplasman an?
>> KEVIN Schmid: Oh, se konsa wi.
Se konsa, mwen pral pou li ale nan ranplasman an.
OK.
Se konsa, sa si nou te gen yon bagay ki te sanble sa a?
Se konsa, sa si koulye a, mwen modifié f louvri yon ti kras?
Se konsa, mwen pase nan menm bagay la tou de agiman tankou anvan.
Mwen toujou renmen chante nan nouvo ke li a soti ak.
Men, mwen pase yon bagay twazyèm ki se varyab sa a te rele kòd.
>> Men, sa ki se kòd aktyèlman nan kontèks sa a?
Èske li tankou yon varyab C regilye?
Li se yon fonksyon, dwa?
Apre sa, ki ka yon ti kras etranj paske Mwen se aktyèlman tankou koulye a pase yon
fonksyone nan yon lòt fonksyon.
>> Se konsa, yon koup bagay sa yo sonje sou sa.
Yon sèl, mwen pa aktyèlman rele fonksyon an kòd.
Se konsa, ou pa wè kòd ak nan paren agoch, adwat paren.
Mwen jis pase nan kòd.
Ak nan C, ki sa ki sa a ta aktyèlman fè se ban m 'yon konsèy ak sa yo ki aktyèl
Kòd, ak Lè sa a, sa a te kapab kouri li.
Men, jis panse sou li kòm w ap pase kòd la nan kouri lè
ki dosye ki louvri.
>> Men, sa ki sa sa vle di se ke kounye a nan rès nan pwogram m 'ki ta ka fè
lòt bagay, yo ka kontinye fè lòt bagay pandan ke nou, pa reyèlman rete tann, men
jis gen nan do a nan tèt nou ke lè sa dosye a louvri, kouri ki
Kòd nan tèt la.
ki fè sans?
>> Epi, koulye a lide a dèyè Node.js se ke kòd la nan bagay la fè ak f
pati yo ta dwe trè kout ak senp ak dwat epi yo pa vrèman gen
trè kalkil entansif.
Li ka gen yo louvri yon lòt dosye, men ki ta dwe tou ap trè rapid
paske li ta dwe jis di fè yon lòt f ouvè epi Lè sa a, rele sa lòt kòd.
>> Se konsa, jis yo dwe konplètman klè, f la louvri ki fè nouvo chante sa a, Katy Perry
kreve mp3, ki nan ale nan bèl anpil retounen imedyatman.
Lè sa a, nou ka jis kontinye ap fè lòt bagay paske tout sa ki kounye a f
louvri rele se di fondamantalman nan kache f Kòd louvri louvri sa a ranpli
ak lè w ap fè ouvèti sa a ranpli oswa lè ou jwenn li tounen,
Lè sa a, kouri ki kòd.
Men, li pa aktyèlman kouri ke kòd.
Apre sa, ou te gen yon kesyon?
>> ODYANS: Ou te sanble yo vle di yon kèk fwa ke pandan l ajoute ke kalkil
Kòd entansif sòt de kraze a [Fèbl] kondwi sistèm.
[Fèbl]?
>> KEVIN Schmid: Sa se yon kesyon gwo.
Se konsa, mwen gen aktyèlman yon egzanp sou kouman ou ta ka entegre kalkil
Kòd entansif nan yon ti kras.
Se konsa, lè nou jwenn nan Egzanp ki kòd, Mwen pral asire w ke ou rale ke yon moun.
Eske se sa ke OK?
Mèsi poutèt ou.
>> Ki sa ki non ou te ye?
>> ODYANS: Arawon.
>> KEVIN Schmid: Arawon pote moute yon trè bon pwen, ki se ke si mwen te gen
kèk kòd kalkil entansif nan fè bagay la ak f pati, rès la nan
pwogram m 'lan pa ka kouri epi yo pa ka tande pou nouvo demann oswa nenpòt bagay jiskaske tout
se ke bagay fini.
Se konsa, si mwen ekri kòd neu an jeneral sof si nou fè yon bagay tankou mwen pral
sijere pita lè nou gade nan egzanp Kòd, mwen gen yo dwe asire ke
Kòd m 'lan pa mare evènman sa a bouk.
ki fè sans?
OK.
Fre.
>> Se konsa, Node.js ofri kad sa a ki ou ka bati sa yo evènman kondwi
serveurs avèk yo.
Se konsa, li gen sa yo kalite asenkron ki pa bloke mwen / O bibliyotèk, Lè nou konsidere ke
estanda C bibliyotèk sa yo ke nou ve yo te ap travay ak, tankou si ou jis
sèvi ak yo nan menm fason an ke nou te gen te lè l sèvi avèk yo ak f ouvè ak
bagay, sa yo ki ap bloke paske ou gen aktyèlman yo rete tann pandan
ki dosye yo louvri.
>> Men, Node.js ba ou ke epi li fondamantalman lyen nan V8 Google la
JavaScript motè ki se rezon ki fè yo ki Chrome se tèlman vit nan pwosesis
JavaScript paske li gen sa a motè V8.
Se konsa, mwen konnen ke son tankou youn nan moun ki WWDC konferans pwomotè bagay
kote yo jis jete yon pakèt moun sou la bagay sa yo nimewo lèt pou processeurs
epi di sa a se konsa fre.
Men, li se fre ke yo te fè sa a paske JavaScript -
oswa petèt si ou pa abitye avèk JavaScript ankò paske nou pa te gen
konferans yo sou li -
men JavaScript se yon entèprete lang.
>> Lè sa a se yon pwen enpòtan tou.
Se konsa, li enpòtan pou wèb nou an serveurs yo dwe vit, dwa?
Men, si nou tout nou te jis kouri JavaScript kòd ki te entèprete ak jis
nenpòt ki entèprèt fin vye granmoun li ta kapab ralanti.
Benefis Se konsa, neu soti nan gen sa a Super vit V8 entèprèt.
Apre sa, mwen pa konnen si yo te rele l ' paske kalòt nan V8 a parèt sou fwon an
bagay, men OK.
>> Se konsa, mwen te prepare kèk egzanp nan URL sa a.
Apre seminè a, mwen sòt de ale nan pale sou kijan ou kapab jwenn neu seri
leve, men pou kounye a, mwen jis sòt de vle mache nan kèk egzanp kòd.
Se konsa, si ou vle swiv ansanm, tout nan Kòd sous ki disponib la.
OK?
>> Se konsa, mwen pral kite URL sa a moute pou yon ti kras.
Lè sa a, mwen jis ale nan chanje nan tèminal la.
Èske tout moun bon ak URL sa a?
Se konsa, mwen pral chanje sou tèminal m 'isit la.
>> Se konsa, isit la nan kòd la ki Mwen gen pou jodi a.
Poukisa pa fè sa nou kòmanse ak simpler.js pote?
Bagay la lòt se ke tout bagay sa yo Kòd ki pral dwe ekri nan yon
JavaScript ki ou ka oswa gen dwa pa abitye avèk yo.
Mwen devine yon koup bagay sa yo se ke yon anpil nan JavaScript Kòd se ki kalite
sentaks ak estrikti se sanble anpil ak C, konsa ou ka kalite ranmase l kòm
ou ale ansanm.
Mwen te eseye ekri yon anpil nan la kòmanse Kòd pou sa a nan yon fason sa a, se
menm jan ak C se konsa ke li nan yon ti kras plis lizib.
Men, jan nou pwogrè, mwen pral demontre kèk nan plis la
karakteristik nan JavaScript ki yo se kalite fre.
>> Men, se pou yo gade nan pwogram echantiyon sa a.
Mwen devine tout bagay nan koupe a.
Mwen jis ale nan ranje ki reyèl vit si sa a OK oswa ou pa.
Mwen pa konnen sa sa a ki pral fè.
Eske se sa ke yon ti kras pi byen?
Èske ou ka wè var la ak lòt bagay?
OK.
>> Se konsa, liy lan premye se tankou JavaScript a vèsyon an yon varyab
deklarasyon.
Se konsa, jis nan mete aksan sou ki sa sa a ta gade tankou nan C. Se konsa, sa a se jis tankou
m 'di endèks egal twa oswa yon bagay tankou sa.
Se konsa, mwen pa te spesifye kalite a.
JavaScript fè sa yo gen kalite, men li la trè dynamique tape nan lanati, se konsa
pa t 'bay nenpòt kalite kalite sou li.
Se konsa, li jis gen var.
Sa a tankou varyab.
OK?
>> Apre sa, mwen ap rele HTTP varyab sa a.
Apre sa, sou bò men dwat mwen an, mwen gen nan ekspresyon ki mwen vle mete nan HTTP.
Lè sa a di mande pou HTTP.
Se konsa, sa a se kalite ki sanble ak genyen ladan yo.
Li se yon ti kras pi plis tankou pouvwa anpil pase gen ladan yo nan sans ke genyen ladan yo
ta jis kopi epi kole lento a aplike pou prototip yo fonksyon oswa
tou sa ki gen definisyon ki kalite.
Men, mande pou ki aktyèlman pral yo ka resevwa nou kòd la.
>> Se konsa, ou ka panse a li kòm importation kèk kòd.
Se konsa, yon kote nan modil la Node.js sistèm oswa kèlkeswa sa yo, yo gen tout bagay sa a
Kòd sèvè HTTP se konsa mwen jis atiran li pou m 'pwòp
itilizasyon pèsonèl nan pwogram sa a.
OK?
>> Se konsa, Lè sa a, mwen gen fonksyon sa a ke mwen te ekri.
Apre sa, remake mwen pa t 'gen yo presize kalite a retounen oswa ki kalite a
agiman ankò.
Se konsa, kalite ki lach tape nan ki kalite sans.
De agiman ke li pran an, demann lan ak repons.
Se konsa, sa a, se concept kalite tankou yo konnen yo soti nan foto a ke nou te
sou ekran an anvan paske nou resevwa demand sa a ke nou
gen soti nan itilizatè a.
Lè sa a, nou gen yon repons ki nou ka ekri bagay sa yo.
>> Se konsa, liy lan premye nan sa a fè res.writeHead 200 ak Lè sa a, sa a
di ki kalite kontni tèks plenn.
Se konsa, kite a pyès sa a apa yon ti kras.
Se konsa, kite yo jis konsantre sou res.write pou yon ti kras.
Se konsa, ekri se fondamantalman, epi ekri tèt, yo se jis fason yo sòt de ekri soti
bagay sa yo repons lan.
OK?
Se konsa, ekri tèt, si okenn moun sonje nan konferans lan HTTP, èske ou mesye
sonje Tèt nan la tèt nan bagay la HTTP?
Se konsa, poukisa pa mwen jis Demo Tèt reyèl rapid.
Ta pou yo itil?
Osinon èske nou dwe jis sòt de -
OK.
Asire w.
>> Se konsa, lè navigatè ou a ale nan google.com oswa yon bagay tankou sa,
gen nan aktyèlman yon ti kras pi plis -
sa a se tankou yon sekrè -
gen nan tankou yon ti kras pi plis enfòmasyon ki vini nan tiyo a pase jis
rechèch la ti kras ak tout bagay.
Se konsa, yo montre w sa a, mwen pral yo sèvi ak yon pwogram ki rele Curl.
OK?
Se konsa, sa a se yon bagay ke ou ka kouri nan liy lòd Mac OSX ou a oswa nan a
aparèy oswa kèlkeswa sa.
Se konsa, si mwen pli HTTP google.com, Mwen pral wè HTML la.
Lè sa a se, nan etidye ekite Règleman, jis nan HTML ki sòt de di ou
redireksyon sou entènèt la www si navigatè ou a pa fè sa otomatikman okipe a
Jefò.
>> Se konsa, sa a se jis HTML, men mwen pral pou ajoute pou pli tirè sa a, mwen drapo.
OK?
Lè sa a se pral montre m 'tèt yo.
Se konsa, sa a se tou enfòmasyon ki vini nan lè m 'jwenn repons sa a.
OK?
>> Se konsa, nan tèt la, ou wè sa a HTTP 301 avanse pou pi nèt.
Lè sa a se kalite enpòtan paske sa a refere a kòd la estati.
Se konsa, 301 a isit la se kòd la estati, ki se fondamantalman jis yon nonb antye relatif
ki di navigatè a oswa moun ki va nan lekti sa a, si ou pretann ke
ou se yon navigatè, epi ou ap wè sa a, fondamantalman kounye a si ou gade nan
sa a epi ou wè yon 301, ou konnen mwen gen fè yon bagay espesyal ki baze sou
301, oswa yon bagay ki te pase espesyal ki baze sou 301 la.
Se konsa, li di deplase nèt.
>> Lè sa a,, fondamantalman, nou gen yon pakèt moun sou valè kle pè.
Se konsa, nou jwenn kote se www.google.com.
Lè sa a, kalite tout bagay sa a ak lòt, Men, fondamantalman, ki sa ki kote se
li di a se kote nouvo se nan www.google.com.
Se konsa, koulye a si ou ale nan google.com, ou pral sòt de wè kalite a navigatè a bat je
pou yon dezyèm ak Lè sa a, redireksyon ou dwa tounen nan www.google.com.
Se konsa, repons yo ka gen ladan sa yo Tèt.
>> Ak yon koup de bagay sa yo nan pwen soti.
Se konsa, kite a di nou tout nou te aktyèlman siksè nan vizite yon paj entènèt.
Se konsa, kite m 'ale nan -
sa ki nan yon sit entènèt bon?
Mwen se move nan panse a bon sou sit entènèt sou tèren an.
>> ODYANS: Wikipedia.
>> KEVIN Schmid: OK.
Se pou yo fè Wikipedia.
Se konsa, isit la mwen te brannen l '.
O rete tann.
Mwen te?
Wi, mwen te ye a.
OK.
Se konsa, mwen te rive nan fè www.
Se konsa, mwen pral fè www.
Apre sa, kòm ou ka wè, isit la nan tout HTML nan ki navigatè a ta travay sou
pou Wikipedia.
>> Men, si mwen kenbe defile moute isit la, sa m 'pral wè nan tèt la -
wow, gen nan yon anpil nan HTML sou Wikipedia -
men ki sa mwen ka wè nan tèt la isit la se sa a Kòd 200 sitiyasyon kòm opoze a nan
301 mwen te wè pi bonè.
Apre sa, remake ke li gen yon bèl zanmitay OK pwochen li.
Se konsa, sa a se tankou kòd la sitiyasyon bon.
>> ladan nimewo 200 gade familye?
Wi paske lè m 'te fè simpler.js, Mwen te ekri yon 200 la.
Se konsa, ki nan fondamantalman an dizan di a navigatè oswa moun ki va ap eseye pou li ale nan
sa a yo ke yo te reyisi.
Oswa ki kalite tankou nou yo te reyisi tou.
>> Apre sa, nan sa a kalite sentaks espesyal nan JavaScript pou deklare yon
kat jeyografik nan kle sa yo tankou kontni kalite ak valè sa yo tankou plenn tèks.
Se konsa, si ou gade nan repons a ke nou te tounen soti nan Wikipedia anvan, -
Mwen pral eseye woulo liv moute yon ti kras pi vit -
ou gen kle sa yo tankou sèvè ak sa yo valè Apache.
Se konsa, ou te gen kle ak valè.
Epi ou ka presize sa a nan Ne sa yo voye tounen.
>> Se konsa, sa a se aktyèlman kalite, nan kèk fason, ak nan kèk fason li pa
reyèlman, men li nan yon nivo ti kras pi piti pase kòd la PHP ke ou ta ka
ekri pou P pran sèt paske PHP ak Apache sòt de pran swen nan kèk
nan bagay sa yo pou ou.
Nan PHP, ou ka pase sou desizyon default la konpòtman pa ekri Tèt pwòp ou yo.
Men, pou rezon yo nan sa a, nou jwenn yo ekri soti Tèt pwòp nou yo.
>> Se konsa, ki liy fè sans yo tout moun, liy lan tèt ekri?
OK.
Pè.
>> Se konsa, Lè sa a, ki sa mwen fè se mwen fini repons lan lè li di bonjou nan lemonn.
OK.
Men, sa se sèlman yon fonksyon rele demann Handler.
Se konsa, koulye a, mwen aktyèlman gen kalite fè yon bagay ki gen fonksyon sa a, dwa?
>> Se konsa, isit la sa mwen fè ki gen la sa a se liy ki fè sa ki egal sèvè var
HTTP.create sèvè, ak Lè sa a, mwen pase nan Handler a mande sa.
Se konsa, sa a se kalite ne a fason pou kreye yon sèvè.
Apre sa, remake ke mwen pase nan Handler a mande sa.
Se konsa, sa a ap di createServer la fonksyon ki mwen vle nou fè m 'yon
sèvè, ak lè ki sèvè resevwa yon repons, mwen bezwen ou yo rele sa a
mande fonksyon Handler.
OK?
>> Se konsa, ki liy bèl anpil fini touswit.
Se konsa, liy la sèvè var fè dwat apre ou fin fè sa bèl anpil.
Mwen vle di, li gen yo mete kanpe kèk entèn eta a konnen ke ou ta gen
rele ke fonksyon demann Handler, men li nan pa ale nan chita la yo epi
di gen itilizatè a voye m 'yon demann' fè ankò?
Èske itilizatè a voye m 'lan yon demann' fè ankò?
Se konsa, li pa bloke.
OK?
>> Se konsa, sa sa a ap fè se li fondamantalman kounye a estoke yon konsèy nan kòd sa a,
sa a fonksyon Handler demann, ak Lè sa a, pral kouri ke Kòd lè yon moun
fè yon demann.
Lè sa a, nou fè server.listen.
>> 1337 nan gen bèl abitrè.
Mwen te gen okenn rezon patikilye pou davwa ladan nimewo.
Li te totalman o aza.
Men, ki jis espesifye pò a.
Se konsa, pi serveurs entènèt ou pral wè yo ke yo sèvi ak pò 80 paske se sa kalite
nan tankou konvansyon an.
Se konsa, si m 'ale nan yon bagay tankou, Mwen pa konnen, Wikipedia.org,
ak mwen mete kolon 8yèm ane yo -
oh Wow, ou pa ka wè sa.
Mwen regrèt.
Men, si m 'fè Wikipedia -
Mwen pral ekri li isit la jis pou ke li nan klè sou kamera a.
Men, si mwen pran sa a nan yon navigatè ak yon kolon 80, ki espesifye ale nan
Wikipedia.org nan pò 80.
Se konsa, li tankou ki jan nan United States an gen pò miltip tankou kote ou ka bato
bagay sa yo kalite.
Se konsa, li tankou ale nan sa a an patikilye mete sou sèvè sa a.
OK.
>> Se konsa, mwen jis te chwazi 1337.
Genyen yon seri antye nan nimewo ke ou ka chwazi.
Sa pa te totalman espesyal.
>> Men, sa ki mwen pral fè kounye a se mwen pral kouri neu.
Kite m 'aktyèlman antre nan ke yon koup liy desann pou ke ou ka wè li.
Mwen pral fè neu, epi mwen pral kouri simpler.js.
Epitou, n ap pale sou kòman ou kapab jwenn Ne mete kanpe nan yon ti kras.
Men koulye a, li jis kouri sèvè a.
>> Se konsa, yon sèl bagay nou ka eseye ki kapab pa ka ki enteresan se sa nou kapab aktyèlman
eseye jwenn aksè nan l 'nan Curl.
Se konsa, mwen kapab fè Curl, ak mwen machin se lame lokal yo.
Ou pral wè tou sa nou jwenn ekri tankou sa a pafwa.
Lame lokal yo ak 127.0.0.1 yo se kalite nan tankou òdinatè lakay ou.
Se konsa, li tankou pale ak òdinatè pwòp ou yo.
OK.
>> Lè sa a, mwen kapab di 1337.
Se konsa, si mwen kouri liy sa a nan kòd, li di bonjou nan lemonn.
Men, si mwen te vle wè ke bagay ki te gen tèks kontni kalite senp oswa fasil pou
tou sa, mwen te kapab menm mete sa a isit la.
Apre sa, remake ke li di OK.
Apre sa, mwen fè gen plenn tèks.
Lè sa a, gen nan kalite tout bagay sa a lòt bagay ki neu pral ajoute nan
la pou mwen.
Sa a pa super enpòtan.
>> Mwen vle di, gen kèk kalite teknik aspè nan nan ki kalite
nan fre pale sou, men jis yo montre ou, mwen menm tou gen pouvwa a
chanje sa yo alantou.
Se konsa, mwen ka jis ajoute yon pakèt nan bagay tankou sa.
Lè sa a, koulye a, si mwen gade nan mwen pwodiksyon, li pral sa a.
Se konsa, Tèt sa yo vle di kèk bagay navigatè ak bagay tankou sa.
>> Apre sa, Tèt kapab fondamantalman di yon navigatè ki jan yo pou yo reponn yon bagay.
Si ou te janm tande pale de bonbon anvan, oswa si w te janm te énervé
pa yon paj entènèt mete bonbon, oswa vire sou blòk bonbon oswa
yon bagay tankou sa.
Ou ka aktyèlman mete bonbon nan Tèt sa yo.
Se konsa, yo di yon navigatè ki jan yo konpòtman nan kèk ka.
OK.
>> Se konsa, sa ki te simpler.js.
okenn moun gen nenpòt kesyon sou sa dosye kòd sous?
OK.
Fre.
>> Se konsa, kite a retire R la soti nan ki ak gade nan simple.js.
Se konsa, sa a se bèl anpil menm pwogram lan.
Mwen jis te ekri l 'yon ti jan diferan paske mwen te vle sòt de rekò
kèk karakteristik nan JavaScript.
>> Se konsa, remake ke Handler a demann te fonksyon totalman disparèt.
Oh wi, èske ou te gen yon kesyon?
>> ODYANS: Yeah, agiman yo ke yo te pase ak sa yo ki
fonksyon, ki sa ki yo ye?
>> KEVIN Schmid: Se konsa, sa yo se JavaScript objè yo.
Nan lòt dokiman an Node.js, li fondamantalman di sa ki metòd yo
disponib sou yo.
Nou jis rive nan gen aksè a metòd sa a yo rele tèt ekri ak nan fen
ak lòt bagay tankou sa.
Men, gen nan yon pakèt tout plis metòd.
>> Apre sa, pou egzanp, tankou yonn nan yo an patikilye sou rec, ou kapab fè
yon bagay tankou rec.method ki pral di ou si wi ou non li nan yon HTTP jwenn oswa
Demann pòs HTTP ak bagay sa yo tankou sa a.
Se konsa, gen nan tout kalite diferan pwopriyete yo, men yo ap tou de
JavaScript objè, epi yo jis gen fonksyon tache ak yo ke ou
ka ekri bagay sa yo.
OK?
>> Se konsa, remake ke Handler demann se totalman ale.
Men, kòd la ke mwen te nan demann Handler se toujou la.
Mwen toujou gen res.writeHead sa a ak mwen toujou gen res.end sa a.
Ak sa ki sa a ki se yon egzanp nan JavaScript se ide sa a nan yon
anonim fonksyon.
ak anonim se tankou yon Non Fitting pou li paske li literalman fè sa ki pa
gen yon non.
Gen nan pa gen demann fonksyon Handler an la.
>> Pa gen okenn non, men li toujou se pran yon agiman.
Se konsa, mwen toujou te gen rec ak RES.
Apre sa, mwen toujou gen kòd la.
Sa a se parfe amann JavaScript kòd.
Se konsa, mwen ka deklare yon fonksyon san yo pa klèman bay li yon non.
Li se yon ti kras konfizyon an premye.
Gen kèk bagay ki itil tankou ke ou ka fè ak
sa yo fonksyon anonim.
okenn moun gen nenpòt kesyon sou sa a, oswa se li OK jis yo, pou kounye a,
sòt de jis aksepte ke li ap fè menm bagay la?
Oui?
>> ODYANS: Èske fonksyon premye klas nan JavaScript?
>> KEVIN Schmid: Yo se premye klas nan JavaScript.
Epi jis konnen ke sa yo konsèp pase nan yon fonksyon anonim tankou
sa a aplike nan JavaScript a ke ou ka ekri nan pwojè final ou a pou
navigatè wèb la tou.
Se konsa, pou egzanp, nan JavaScript a nan navigatè ou a, li la tou yon ti jan evènman
kondwi nan sans ke sa ou pral gen se lè itilizatè a klik sa a
bouton, mwen vle nou kouri Kòd sa a.
>> Se konsa, li kalite la menm nan lide nan la bò kliyan lè yon klike sou sourit oswa yo
sourit sou kèk imaj sou ou paj entènèt, kouri Kòd sa a.
Ki ka aplike nan serveurs.
Se konsa, sa a, se kalite tankou enteresan nan rezon ki fè JavaScript se yon vrèman
apwopriye oswa gen kèk moun ki panse ke li nan yon lang apwopriye pou sa a kalite
sèvè evènman chofè paske ou gen sa yo fonksyon anonim.
Ou gen lide an antye nan sa a Kòd asenkron.
OK.
Okenn moun gen nenpòt kesyon?
>> OK.
Se konsa, sa ki te simple.js.
Se konsa, kite yo gade nan yon sèl plis oswa yon koup plis ankò.
Se konsa, sa a se sleep.js.
Se konsa, se okenn moun abitye ak C fonksyon dòmi an?
Soti nan petèt youn nan konferans yo pi bonè oswa yon bagay tankou sa?
>> Se konsa, fondamantalman ou ka pase nan mwen panse ke yon kantite segonn oswa si w ap lè l sèvi avèk U
dòmi yon nimewo nan milisgond oswa nanosgond.
Apre sa, fondamantalman pwogram lan pral jis sispann kouri pou ki kantite lajan nan tan.
Dwa?
Lè sa a, li pral reveye evantyèlman ak Lè sa a, li pral jis kontinye ap kouri
pwogram lan.
>> Se konsa, sèvè sa a sòt de bay enpresyon a nan dòmi.
Se konsa, remake ke nou gen menm bagay la tou res.writeHead 200 ak lento a kòm
anvan, men Lè sa a, nou ap rele sa a fonksyon rele ansanm poz.
Mete poz a disponib nan tou navigatè entènèt ou Google Chrome
oswa Safari oswa kèlkeswa sa.
Apre sa, fondamantalman ki sa li fè la a se Li nan pran nan yon fonksyon.
Avi, ankò, li nan yon anonim fonksyon.
Se konsa, ki nan kalite fre paske nou ap lè l sèvi avèk yon fonksyon anonim ki nan yon
fonksyon anonim ki kapab yon ti kras etranj.
>> Men, li la pran ki fonksyon, ki se fondamantalman an dizan - ak wout la sa a
travay se nan 5,000 milisgond, mwen vle ou al touye ki fonksyon ki
jis fini repons lan epi ekri hey.
Se konsa, sa a bay enpresyon a nan tankou dòmi, men wout la sa a aktyèlman
ap travay se nou pral kouri nan liy sa a trè vit.
Nou jis ap ekri yon bagay.
Lè sa a, nou pral kouri tou nan liy sa a trè vit.
Se konsa, nou pa ap aktyèlman pral yo rete tann senk segonn.
Nou jis ap pral kouri sa a Kòd imedyatman.
>> Lè sa a, gen nan, ankò, sa a ti kras evènman bouk ki kounye a gen bagay sa a
anrejistre ki fondamantalman se jis toujou ap pral alantou an yon sèk
ak gade nan revèy la nan yon sèl moso twal kamwazi Yo t'ap di: gen senk segonn
pase 'fè ankò?
Lè sa a, lè li wè ke dezyèm lan te men te deplase tankou senk segonn oswa
kèlkeswa sa, lè sa a li reveye e li di, oh, ki sa mwen dwe fè?
Oh mwen gen nan kouri Kòd sa a.
Lè sa a, li nan ale nan kouri res.end hey.
>> Se konsa, ankò, nou ap pa janm ap tann isit la.
Se konsa, li pa sa ki Kòd sa a andedan nan fonksyon sa a se pral pran senk
segonn nan kouri.
Kòd sa a pral kouri bèl anpil enstantane, omwen relatif nan
senk segonn sa yo ke nou te pale sou pi bonè anvan.
>> Se konsa, jis yo montre sa a nan aksyon, Mwen kapab fè Node.sleep.js.
Apre sa, mwen te dezòd yo yon bagay?
Sa posib.
M regrèt.
Ann wè sa nou kapab fè yo korije sa a.
OK.
Se konsa, definitivman sèvi ak Node.js.
Mwen jis plèzantri.
OK.
Jis yon sec.
OK.
Mwen konnen sa li ye.
>> Se konsa, pwoblèm nan se ke nan lòt tab mwen an isit la, mwen te kouri neu deja sou
ki adrès menm, 1337.
Se konsa, erè a ke sa a jete, si nou gade nan li reyèl ak anpil atansyon, se adrès nan
itilize, EADDRINUSE.
Se konsa, mwen te deja lè l sèvi avèk 1337 isit la.
Se konsa, si mwen fèmen sa a koupe, epi Lè sa a, mwen kounye a eseye kouri sa a, èspere ke, tout bagay
yo pral amann.
OK.
Se konsa, ou ka sèlman gen yon sèl kalite bagay pou yo tande sou yon pò nan yon fwa.
Ta Yon lòt solisyon yo te pou m ' jis modifye pwogram sa a, epi fè
li fè tankou 1338 oswa yon bagay tankou sa.
>> Men koulye a, dòmi ap kouri.
Se konsa, kite a aktyèlman eseye li soti nan la navigatè tan sa a paske li nan yon
ti kras ordiner yo wè l 'nan yon tèminal.
Se konsa, mwen jis ale pou yo ale nan ki 127 adrès ankò nan 1337.
Men, si ou ka wè li -
Mwen pa konnen si ou kapab - men mwen navigatè a pran yon trè, trè long
tan yo anbake oswa tankou senk segonn.
>> Lè sa a, apre sa, li finalman te fini repons lan.
Apre sa, ou pa ka wè l ', paske bagay la se te deplase sou yon ti kras, men si mwen te fè
sa a yon ti kras pi piti, ou kapab wè li di hey.
Se konsa, mwen te resevwa hey la, men apre senk segonn.
Apre sa, li ta kapab yon ti kras pi pwòp yo wè li isit la sou tèminal la, se konsa mwen
pral fè yon -
kite a fè nan isit la -
kite a fè Curl adrès ki ankò ak 1337 la.
Apre sa, mwen jis kalite gen yo chita isit la pou senk segonn.
Men, remake ke sèvè a ka aksepte nouvo repons.
Se konsa, li simagri hey.
>> Men, Demo sa a, fondamantalman sa ki Mwen kapab fè nan lòt tab sa a -
Se konsa, kite a di m 'fè sa a nan yon lòt tab, Mwen pral fè Curl ak menm bagay la
bagay ankò.
Apre sa, mwen pral eseye choute sa yo nèg koupe an menm tan an.
Se konsa, mwen pral fè sa, ak mwen se ale nan ras sou isit la ak mwen se
pral fè l 'ankò.
>> Li kite yo fè l 'pou ke ou ka wè tou de peyi yo.
Ke yon moun enprime hey ak ke yon moun enprime hey tout wout la nan -
kite a fè sa eksperyans ankò.
Aktyèlman, se pou yo itilize sa a je chèch, si ke se ok.
>> Se konsa, mwen pral sèvi ak yon bagay kokiy ki pèmèt m 'nan fondamantalman kouri de kopi
nan pwogram sa a nan paralèl.
Se konsa, li pral kouri pwogram nan premye ak pwogram nan dezyèm nan paralèl.
Se konsa, koulye si mwen peze Antre, li pral fè ki mande bèl anpil
enstantane nan menm tan an.
Se konsa, kite a bay sa a yon piki.
>> Se konsa, koulye remake li di de pwosesis.
Epi si w ap kirye, ki 27,000 nimewo se fondamantalman ID a pwosesis.
Lè sa a, remake yo, yo enprime hey an menm tan an.
Li pa te renmen nou te gen yo rete tann senk segonn pou yon sèl ak Lè sa a, apre sa,
senk segonn pita jwenn dezyèm lan.
Se konsa, ki nan kalite, nan kèk fason, li nan pa vrèman prèv, men li la
entwisyon prèv ki montre li pa jis tankou ap tann senk segonn ak bloke
tout moso twal kamwazi a.
OK fre.
>> Se konsa, Arawon poze yon kesyon pi bonè ke te, byen sa ki si nou fè yon bagay -
Oui?
>> ODYANS: Rete tann.
Kouman se ke diferan de printf tanpon, menm si?
pa li otomatikman fè sa?
Poukisa nou gen enkyete sou li?
>> KEVIN Schmid: Oh, te kapab ou di ke yon lòt fwa ankò?
>> ODYANS: pa renmen printf tanpon fè menm bagay la egzak?
>> KEVIN Schmid: tanpon nan printf?
>> ODYANS: Yeah.
OK.
Pa t 'nan youn nan ti tès yo yo te pale sou ki jan si ou dwa printf
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
fwa, li ap tann dis segond ak Lè sa a, printf tout bagay ansanm?
>> KEVIN Schmid: Oh, OK.
>> ODYANS li: Eske se fè menm bagay la tou bagay Lè sa a, nan ka sa a?
>> KEVIN Schmid: Se konsa, kesyon an se te fondamantalman nan youn nan ti tès yo ansyen
oubyen yon bagay, te gen yon kesyon ki fondamantalman si ou di ekri ak lèt ​​detache f 10
bagay sa yo nan yon lè ak Lè sa a, mouri tankou nan pwosesis la nan enprime sa yo soti,
nan fen a pou kèk rezon, li ta jis pil fatra sa yo tout soti sou ekran an.
Se konsa, gen nan kalite de diferan konsèp isit la.
>> Se konsa, mwen devine yon sèl bagay se ke, nan ka sa a, nou ap fè fas ak de diferan
sòt de moun mande sèvè a pou bagay sa yo an menm tan an.
Apre sa, rezon ki fè kalite a printf nan tann tankou sa ak depo tout bagay sa yo soti
nan yon fwa se pi plis ki gen rapò ak ki jan printf kalite -
Se konsa, printf nan fason se aktyèlman aplike se li fondamantalman gen yo
pale ak sistèm nan fonksyone yo ekri ki bagay konsole la.
Se konsa, li pa vle fè nan tout sa bagay imedyatman lè w di printf
kèk fisèl paske sa te kapab jwenn chè si li te
fè sa chak fwa.
>> Se konsa, si ou fè printf hey, pwogram ou an pa ta ka aktyèlman ekri ak lèt ​​detache ki
imedyatman nan konsole a.
Li ta ka di, OK, mwen te ekri li.
Lè sa a, kalite rete tann pou ou pou w bay li yon ti kras pi plis anvan aktyèlman
ekri li soti nan konsole a.
>> Se konsa, rezon ki fè sa ki te ka a -
ak li nan kalite gen rapò nan dòmi an -
se ke dòmi an te sòt de jis sou fòm piki nan la yo demontre nan
reyalite ke li pa ekri li senkronize.
Men, pou ki rezon ki sa se sèlman pèfòmans pou ke ou pa oblije
fè ke anpil kontak sistèm nan fonksyone.
>> Men, isit la, ki sa nou ap reyèlman ap eseye fè ak bagay sa a dòmi se jis montre
ke lè nou gen de moun ki vizite sit entènèt sa a, li pa nan pral mete
yo nan yon liy kote li pral di Mwen gen yo ede w, ak Lè sa a, lè m
totalman fini ede ou apre sa yo senk segonn, Lè sa a, mwen pral
deplase sou moun kap vini an.
Se konsa, demann premye moun ki nan fè sa ki pa mare ke bouk evènman
si sa fè sans.
>> Men, isit la se aktyèlman yon egzanp nan yon bagay ki pral mare
moute bouk la evènman.
Se konsa, isit la nan yon fonksyon terib kalkile Fibonacci a nyèm.
Li nan literalman wout la vin pi mal ou kapab kalkile ki kantite Fibonacci nyèm.
Lè sa a se aktyèlman jis rekonèt kote sa a te soti nan,
gen nan aktyèlman -
Mwen vle di, ou ka eseye ale jwenn li - men gen nan tankou yon blog trè long
afiche ke yon moun te ekri.
Se tankou youn nan bagay sa yo Reddit.
Men, yon moun kritike Node.js, ak yo te konn itilize sa a kòm yon egzanp.
Se konsa, mwen kalite te vle jis montre w de pèspektiv diferan jis jwenn
yon konesans jeneral sou konsèp yo dèyè de bagay sa yo.
>> Men, sa a se chwazi kòm jis yon tèrib, oribleman rezèvwa kalkil
entansif fason yo kalkile an nyèm nimewo Fibonacci.
Se konsa, jis kòm yon nòt bò, poukisa se li terib tankou nan yon fason?
Oui?
>> ODYANS: Di ou kòmanse soti ak 1,000.
1,000 fractionne nan 999 ak 998.
Chak nan sa a fractionne nan de bagay sa yo.
>> KEVIN Schmid: Dwa.
>> ODYANS: Tout wout la desann.
>> KEVIN Schmid: Egzakteman.
Se konsa, jis repete pou kamera a, si mwen rele bay manti sou tankou 1,000 oswa yon bagay
tankou sa yo, li nan evidamman pa pi piti pase oswa egal a yon sèl Se konsa, mwen pral
ale nan ka sa a lòt moun, ak Lè sa a, mwen pral yo rele bay manti 999 plis bay manti 998.
Lè sa a, bèl anpil nan tout sa travay ki bay manti 999 fè se
kalite nan nivo sa a.
Si ou ale desann, li nan menm plis redondants pase sa, men si ou jis
panse informatique bay manti 998 vin nou trè fèmen nan bay manti 999.
Se konsa, nou ta dwe reyèlman gen yon ti kras pi plis entelijan sou fason nou kalite resèvi
sa yo, men nou pa ap resèvi bagay sa yo nan tout.
Se konsa, ou ka imajine sa a gwo konstriksyon, gwo konstriksyon pye bwa sa se sèlman efreyan ankò.
>> Men, de tout fason, OK.
Se konsa, sa ki te bay manti.
Li jis pran yon ti tan nan kouri.
Oui?
>> ODYANS: [fèbl].
>> KEVIN Schmid: Oh, te kapab ou repete kesyon an?
>> ODYANS: [fèbl].
>> KEVIN Schmid: O Se konsa, sa a se jis Kòd ki k ap pase yo dwe sòt de sou a
sèvè segondè yo.
Se konsa, sa a se pa yo pral jwenn nan navigatè a oswa anyen.
Li nan fondamantalman sa nou genyen se ke lè itilizatè a isit la fè bèl anpil
yo mande ankò, lè nou sòt de fè yon demann, nou ap ale nan rele
sa a fonksyon sou bò sèvè.
Lè sa a, nou pral jwenn rezilta a tounen soti nan lè w rele ke fonksyon.
Lè sa a, nou pral jis ekri ak lèt ​​detache li nan itilizatè a.
Se konsa, itilizatè a pa reyèlman fè fas ak fonksyon sa a twòp.
>> Te ke kesyon an?
ki fè sans?
OK.
Fre.
>> Se konsa, ankò, nou fè res.writeHead sa a tout antye bagay kote nou enprime soti
header la.
Lè sa a, mwen fini repons lan pa fè nimewo a majik se bay manti 45.
Se konsa, kite yo jis kouri sèvè sa a.
Se konsa, mwen pral fè yon fib.js. neu
Se konsa, koulye sèvè bay manti mwen ap kouri.
>> Lè sa a, isit la, mwen pral fè youn nan sa yo.
OK?
Se konsa, mwen jis ale nan di, Curl.
Se konsa, li pral pran yon ti tan, men èspere ke byento li pral fini ak
li pral ekri ak lèt ​​detache soti ke 45th Fibonacci nimewo.
>> ODYANS: [fèbl].
>> KEVIN Schmid: Li ta dwe jwenn fè bèl byento.
Se konsa, li ta dwe pran senk a sis segonn.
Mwen pa konnen sa se sèlman V8 yo te super vit, men nan nenpòt ka, sa a se yon
egzanp trè kout ak fè espre élégans nan yon ki pa Peye-trivial
kalkil.
Se konsa, apre yon ti tan, li jwenn sa a.
>> Men koulye a,, ki sa ki si m 'fè pou menm kalite eksperyans tankou anvan kote mwen fè
de demann nan menm tan an?
Se konsa, isit la mwen pral nan yon Curl sou adrès sa a, epi mwen pral
fè yon lòt Curl.
Epi sonje, lè nou te fè sa a pou la dòmi sèvè, lè nou fondamantalman te gen li
apre senk segonn, yo trè anpil tou de tounen vin dwa
alantou an menm tan an.
Se konsa, li pa t 'patikilyèman mare.
>> Men, kite a eseye li kounye a.
OK, se konsa nou te resevwa de pwosesis nou an.
Sonje sa yo se pwosesis kat idantite ki gen yo.
Sa a se pral fè yon ti kras gòch pandan ke nou nòmal.
Se konsa, kite yo jis rete isit la epi rete tann.
>> Se konsa, youn nan yo ta dwe vini tounen apre tankou -
OK, se konsa yon sèl tounen vin.
Men, Lè sa a, poukisa pa t 'dezyèm lan yon sèl tounen vin jis ankò?
Oui?
>> ODYANS: sèvè a pa ka fè anyen pandan y ap li a informatique ladan nimewo gwo.
>> KEVIN Schmid: Dwa.
Se konsa, repons lan te jis ke sèvè a vrèman pa ka fè anyen pandan y ap
li nan informatique ladan nimewo Fibonacci.
Se konsa, koulye a, mwen jis leve de bagay mwen tounen.
Men, mwen devine jis panse sou kòd la yon ti kras plis, ki jan li ap travay
ak tout bagay.
>> Se konsa, sa a fonksyon isit la se kòd la ki Mwen te di sèvè sa a nan kouri lè li
resevwa yon nouvo demann fèk ap rantre.
Se konsa, li jis ale nan kouri nan sa a tout kòd, ak Lè sa a, li pral ale
Retounen nan bouk la evènman ak Lè sa a, kontinye tcheke pou evènman nouvo.
Se konsa, fondamantalman ki sa nou te pase se sèvè a se
tande pou bagay vin nèf.
Premye moun ki mande pou ki sa 45 se.
Nou kouri Kòd sa a kalkile li.
Kòd sa a pran apeprè senk nan sis segonn nan kouri.
Lè sa a, nou tounen nan bouk la evènman epi tcheke pou demann nouvo.
>> Se konsa, sa a se yon egzanp sou kouman, si ou gen bagay ki sa yo rele compute
mare, oubyen sèvi ak yon anpil nan enfòmatik, pa pouvwa, men tankou yo
Kalkil entansif -
Mwen devine yon sèl bagay yo di sou sa a se ki fonksyon sa a ap fè totalman,
pou pati ki pi, bèl itil dwa travay la.
Tout tan sa a ke ke kalbak fonksyon te kouri, li te bèl
anpil pase prèske tout tan li yo jis informatique nonb ki Fibonacci nyèm.
>> Men, nou sèlman te gen yon sèl moso twal kamwazi fè fas ak.
Nan modèl la Apache, lè de moun fè demann lan yo ka resevwa bay manti 45, nou
ta gen te gen de fil diferan.
Lè sa a, travay sistèm nan fonksyone nan ta gen, oswa nivo a itilizatè
kòd ki jere fil yo, ta te gen te nan tranch ki moute sou la
CPU, oswa menm si ou te gen miltip proseseur, distribye yo respire atravè proseseur la
sa yo ke yo tou de te fini apeprè nan menm tan an.
>> Se konsa, jis montre w ki jan nou ka sòt de - ak sa a se pa yon pafè manm
solisyon, men sòt de ki jan nou ka fè yon tounen isit la epi fè
yon ti kras pi byen.
Se konsa, sa m 'genyen isit la se yon pwogram ki rele Bay manti C. Lè sa a fondamantalman itilize
yon lòt youn nan modil neu a rele Pwosesis Timoun Modil la.
Se konsa, mwen te enkli ke nan kalite nan tèt nan tankou mwen ta fè yon liv gen ladan
process.h timoun oswa yon bagay.
Koulye a, mwen gen aksè nan varyab CP sa a ki te gen tout fonksyonalite m 'yo.
>> Se konsa, koulye sa m 'ap fè nan repons sa a Handler se mwen kouri pwogram sa a
dot koupe bay manti 45.
Se konsa, sa mwen te fè - e mwen jis ale etap soti nan pwogram sa a pou yon
ti kras ti jan -
se Mwen te ekri yon pwogram C ki fondamantalman òdinatè a
nyèm nimewo Fibonacci.
Se konsa, isit la nan jis yon pwogram Mwen te ekri nan C ki òdinatè sa a.
Mwen ka konpile li, e mwen ka kouri li nan liy lan lòd.
Apre sa, li nan ale nan kalkile nan 45th Fibonacci nimewo.
>> Se konsa, remake li jis pran bèl anpil osi lontan.
Mwen pwobableman te kapab itilize priz 03 a optimize li oswa yon bagay tankou sa,
men mwen jis te fè tankou regilye du anviwònman.
Apre sa, li simagri li soti.
>> Men koulye a,, ki sa ki m 'kalite fè la a?
Oh regrèt sa, sa ki mal dosye-a.
Se konsa, mwen fè bagay la menm ak header a tankou anvan.
Lè sa a, m 'fè cp.exec sa a.
Se konsa, sa sa a ki pral fè se li nan pral kouri pwogram sa a.
Men, wout la sa a ap travay se ke li nan pa ale nan rete tann pou
pwogram sa a fini.
Li jis fondamantalman di egzekite pwogram sa a.
Se konsa, fondamantalman tape sa a nan la bay lòd kalite èd memwa nan.
>> Lè sa a,, lè w ap fè ak li, kouri fonksyon sa a.
Se konsa, kounye a nou kalite jwenn sa a tout retabli bagay ki
tankou nou pa ap tann.
ki kalite fè sans?
Oui?
>> ODYANS: [fèbl]?
>> KEVIN Schmid: Se konsa, sa a ap aktyèlman louvri moute yon nouvo pwosesis fè li.
Se konsa, sa a se aktyèlman, nan kèk fason, sa ki mal, pa super sa ki mal, men li se
enpòtan yo di ke sa a se kalite pral tounen nan, sou yon sèl men, Apache a
modèl kote nou fè fil ak pwosesis pou chak demann oswa
pwosesis pou chak demann.
Se konsa, sa a se kalite analoji nan sa Apache fè.
Nan kèk ka, li pral jis itilize yon nouvo moso twal kamwazi, ki se yon ti kras pi plis limyè
pwa pase yon pwosesis, men Apache t 'kapab fini forking yon pwosesis nouvo
ki se kalite sa nou fè isit la chal pa fè dot koupe bay manti 45.
>> Lè sa a, nan ka sa a, nou kalite antrene depans yo menm nan pwosesis.
Se konsa, sa a se jis yon sèl bagay ou kapab fè.
Men, jis yo montre sa a sòt de kouri.
Epi pale sa a se jis vrèman ki vize a prezante sa yo kalite pwogram sa a kòm
fason yo montre pèspektiv diferan sou ki jan nan konsepsyon serveurs tankou sa.
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.
>> Se pou nou jis pale sou bagay sa yo nan pwen soti.
Se konsa, remake ke yo ap incrémentielle.
Sa a fre.
Paske li te 27.122 anvan.
Men, avi, koulye a, yo tounen vin nan apeprè menm tan an.
>> Koulye a, yon kesyon bon mande enfòmasyon sou poukisa te ke ka a se, travay ki gen
li te kounye a nan sòt de fè bagay sa yo kalite jwe jis youn ak
lòt, de ka sa yo nan dot koupe bay manti 45 pou m 'kouri
oswa ki kouri neu?
Ki moun ki sòt de fè li jis yo ke yo tou de jwenn kalite balanse tan kouri?
>> ODYANS: [fèbl].
>> KEVIN Schmid: Yeah.
Se konsa, fondamantalman, lè m 'fè dot bay manti koupe 45 oswa yon bagay tankou sa, kounye a li nan
kalite ki rive jiska sistèm nan fonksyone okipe ègzekutabl a nan pwogram sa yo.
Epi, koulye a li ka pran yo sou diferan proseseur oswa li
ka pran yo.
Li ka tranch moute tan an ke yon moun CPU jwenn li oswa yo ke yo jwenn
nan kouri sou yon sèl CPU.
Se konsa, sa a, se lide a dèyè sa a.
ki fè sans nan tout moun?
Se konsa, koulye neu pa se reyèlman jwe yon pati nan divize moute travay sa yo.
OK.
>> Se konsa, sa a, se prèske li pou egzanp.
Mwen jis te vle montre yon sèl plis bagay paske yon anpil nan sa a byen lwen tèlman te gen
pa totalman super pratik nan kèk ka.
Mwen ka imajine vini lakay ou apre sa a pale ak yon bagay e yo di tankou,
byen Mwen kalite te soti nan ki pale ki Mwen ka fè yon sèvè Fibonacci pou
final pwojè m 'yo.
Se konsa, isit la nan jis sòt de yon sèl plis egzanp ki èspere ke pral -
petèt pa, men petèt - yon ti kras plis sòt de ki gen rapò ak pwojè final ak
panse pi devan pou bagay sa yo tankou sa.
>> Se konsa, sa a se chat.js.
Se konsa, sa a se kalite renmen kèk echantiyon sèvè bò Kòd ke ou ta ka itilize nan
mete kanpe yon ti sèvè chat tankou ou ka gen pou wè sou la
Facebook Chat oswa kèlkeswa sa.
Se konsa, mwen pa di sa a se tankou Facebook Chat, men sa a se kalite
tankou yon bon - petèt pa bon, men petèt bon - kòmanse pwen pou yon chat
sèvè pou sit entènèt ou pou yon pwojè final la.
Se konsa, kite yo gade nan ki sa li fè a.
>> Se konsa, nou ap vin bagay sa a espesyal nan tèt la, sa a var SiO
egal mande pou Socket.IO.
Se konsa, sa a se yon lòt bagay ke li pa fè sa aktyèlman vin fourni ak
Ne men ou ka enstale li.
Li se yon modil neu.
Se konsa, li jis tankou kèk pwolongasyon nan neu.
>> SocketIO se aktyèlman vrèman kalite fre.
Se yon distraksyon ki fondamantalman sa ki Li se se li pèmèt ou
gen kouran sa a nan kominikasyon ant yon rezo
navigatè ak yon sèvè entènèt.
Se konsa, pou pati ki pi twò lwen, nou te gen sa yo trè rapid yon dezyèm oswa de
kominikasyon dezyèm ant yon rezo navigatè ak sèvè wèb la.
Se konsa, li fondamantalman ale nan google.com, jwenn bagay la, voye l 'tounen, ak Lè sa a,
nou ap fè.
Nou pa janm ap pale ankò jouk la kalite itilizatè nan yon lòt bagay.
>> Men, sa ki Socket.IO ak menm jan an kalite bagay sa yo - ak SocketIO se aktyèlman yon sèl
nan bagay sa yo ke se bati sou kòm WebSocket ki se sòt de ki disponib
kòm yon pati nan HTML5 -
ki pèmèt ou gen sa a k ap kontinye dyalòg.
Lè sa a se trè itil nan yon sèvè chat jan de bagay konsa paske li se
kalite tankou yon dyalòg ap kontinye nan kèk fason paske si w ap diskite
ak yon moun, ou kapab kounye a jis voye yon mesaj desann tiyo a, ak Lè sa a, nan
sèvè ka voye yon mesaj desann nan tiyo ak lòt moun nan w ap
diskite avèk yo.
Lè sa a, ou ka gen sa a echanj tankou sa.
>> Se konsa, sa a, se kalite sa ki SocketIO se yon bon bagay pou.
Rezon ki fè SocketIO sèvi ak WebSockets kòm yon sèl bagay ou gen nan
adisyon a WebSockets jis plenn fin vye granmoun, li tou fè kèk ke trik nouvèl fondamantalman
fè l 'navigatè konpatib.
Se konsa, navigatè tankou Internet Explorer malerezman pa sipòte WebSockets
dwa soti nan bwat la.
Se konsa, li konn sèvi ak lòt kalite fre pwòp bagay sa yo ak Adobe Flash yo ki pèmèt
ou gen sipò navigatè kwa.
Se konsa, sa ki nan vrèman itil.
>> Apre sa, aktyèlman, mwen konnen mwen se kalite kouri sou tan isit la, men CS50
Diskite sou yo, yo gen ou janm wè yon bagay tankou, mwen pa konnen, vid Se konsa, e konsa se
Replying nan pòs sa a oswa yon bagay tankou sa yo, ki karakteristik?
Sa a SocketIO.
Se konsa, lè yon moun kòmanse sezisman nan la diskite sou bwat yo fè yon repons oswa
yon bagay, navigatè ou a sa ki nan rele nan SocketIO emèt kèk kalite
evènman ki di yon moun nan Replying nan pòs sa a.
>> Lè sa a, sèvè a di, OK, ki sa mwen dwe fè?
Oke koulye a, mwen oblije di moun lòt nèg ki rete sou CS50 Diskite kap
nan pòs sa a ki yon moun nan Replying.
Se konsa, sa a, se kalite sa ki SocketIO se bon pou, sa a kalite k ap kontinye nan
kouran nan dyalòg.
OK.
>> Se konsa, sa m 'genyen isit la - epi nou ap jis ale nan inyore etalaj la koneksyon
pou yon ti tan -
sa m 'fè se mwen yon lòt koute.
Se konsa, sa se sèlman wout la nan Socket.IO se li di se pou yo koute sou pò sa a.
Lè sa a, m 'fè sa a sou koneksyon.
Se konsa, sa se sèlman fondamantalman Sokèt IO a fason pou li di, lè nou resevwa yon
koneksyon, mwen vle ou kouri Kòd sa a.
>> Apre sa, remake ke olye pou yo gen rec ak res te pase nan la tout mwen te gen Sokèt.
Lè sa a lide Sokèt se fondamantalman sa a bagay ki ou ka ekri ak li
soti nan ki gen nan nan itilizatè mesaj posib.
Ak mesaj sa yo ke ou ta voye ka ale nan ki Sokèt.
ki fè sans?
Se konsa, li bagay sa a kontinye.
>> Se konsa, sa m 'fè a se mwen rele Socket.emit.
Apre sa, lanse pran bèl anpil de agiman.
Agiman an premye se yon kòd jis reprezante ki kalite
bagay w ap émettant.
Se konsa, pou ka sa a, mwen te itilize sa a fil nouvo mesaj.
Epi sa a, jis fondamantalman an dizan ke kalite a nan bagay sa a, ki sa mwen se
voye yo, se yon mesaj nouvo.
Se konsa, ou ka koute pou kalite espesifik tankou nouvo mesaj oswa kèlkeswa sa
lè l sèvi avèk dot sou.
>> Se konsa, koneksyon ak itilizatè voye a, si ou gade nan kote nou rele dot sou li a,
sa yo se lòt strings ki reprezante kalite mesaj itilizatè.
Se konsa, li fondamantalman ou ka gen lanse sa a youn nan kalite mesaj sa yo, epi
Lè sa a, fè yon bagay an repons a youn nan kalite mesaj sa yo
>> Se konsa, mwen émettant mesaj sa a nouvo.
Nou pral inyore connections.push pou yon dezyèm fwa.
Men, Lè sa a, mwen di: Socket.on itilizatè te voye yo.
Se konsa, koulye li nan kalite renmen lè a itilizatè voye m 'yon mesaj, mwen vle
ou nan kouri Kòd sa a.
Apre sa, remake ke ke fonksyon anonim ap pran nan varyab sa a
rele done ki se fondamantalman ale gen mesaj itilizatè a la.
>> Kalite Se konsa, kounye a kite a nan pale sou koneksyon etalaj la.
Se konsa, sa a se ki fèt pou yon kliyan chat kote fondamantalman tout moun nan kalite nan
chanm nan chat menm.
Se konsa, fondamantalman, ki sa nou bezwen kenbe alantou se kèk etalaj ki fondamantalman
reprezante tout pèp la diskite nan kèk fason, si sa fè sans.
Dwa?
Paske nou bezwen konnen ki moun ki neg sa yo yo, se pou nou ka voye yo mesaj yo
ke lòt moun voye yo ban nou.
>> Se konsa, sa Kòd sa a fè se lè itilizatè voye yon mesaj - sa a ki kalite
evènman an -
nou pral kouri Kòd sa a.
Ak sa nou fè se nou kouri nan sa a etalaj ke nou te rele koneksyon.
Apre sa, bèl anpil pou chak koneksyon eksepte yon sèl la ki nan nou, sa a, se
sa Kòd sa a di, nou voye yon nouvo mesaj avèk ke mesaj tache
enfòmasyon.
>> Se konsa, si ou remake isit la, ki sa mwen te fè lè itilizatè a aktyèlman fè yon nouvo
koneksyon se mwen te ajoute ak nan JavaScript.push metòd, sa a se
fondamantalman jis di tankou ajoute ki Sokèt kòm yon valè nan
koneksyon nou etalaj.
Se konsa, koulye a, kòd sa a kouri, li pral voye bagay sa yo sa yo an patikilye
koneksyon.
Se konsa, sa a kapab yon bon pwen depa pou fè yon sèvè chat
oswa yon bagay menm jan an.
>> Apre sa, ki kalite bagay fre se ke an Kòd sa ou wè la a pou tankou sou yo ak sou
emèt ak lòt bagay tankou sa se menm bagay la kalite JavaScript kòd ki ou ta
ekri nan navigatè a yo kominike ak sèvè a.
Se konsa, Se poutèt sa SocketIO se kalite pwòp, epi li itil nan ki fason.
>> Oh ak jis yon sèl bagay pi reyèl rapid.
Te gen yon final pwojè CS50 ane pase a ki fondamantalman aplike yon chat
sèvè nan Node.js.
Mwen panse ke li nan Harvardchats.org men mwen pa -
OK.
Mwen pa si sa ki URL la ye, esepte Mwen ka voye voye ki soti apre sa.
Men, li la kalite fre sa ou kapab fè avèk Node.js.
>> Se konsa, mwen espere ke, an jeneral, ou nèg gen yon bon sans de sa ki Node.js se itil
pou ak ki jan ou ta ka petèt aplike nan pwojè final ou a.
Mwen pral voye soti kèk plis resous ansanm ak sa a.
Apre sa, di ou mèsi pou vini yo.
Mèsi poutèt ou.
>> [Aplodisman]