>> Nou tout dwa pou yo tounen, yon koup la objektif pou jodi a,
nou pral ranmase kote nou te kite nan dènye fwa,
sonje ke nou te fè siksesyon sa a
de aplikasyon pou sèvè ki gen rapò, super ki senp, men lè l sèvi avèk ne JS
ak Lè sa a, tou pi resamman lè l sèvi avèk kontak eksprime KÒM
ak sa ki te eksprime JS la analogique nan nan mond lan PHP.
Se konsa, eksprime se pi plis ... fèmen,
Se konsa, eksprime se esansyèlman la Mb fondasyon ki a trè
popilè nan mond lan js ne,
Etajè liv ki nou pral wè jodi a atravè Tim se yon analogique
nan pale fasil a ki se yon ORM sou yon mapeur relasyon objè
ki aktyèlman fè li pi fasil pou fè pou evite ba nivo Kòd SQL
ak aktyèlman eksprime relasyon nan mitan divès kalite objè yo.
Se konsa yonn nan koul la bagay sa yo onètman
sou js ne se jis ki jan fasil li confer tèt li
nan fè aplikasyon pou tan reyèl, bagay sa yo tankou serveurs chat
oswa serveurs messagerie, anyen ke ou nèg kounye a itilize
tankou Google ... G-chat oswa Google Hangout
oswa Ki dènye nouvèl Facebook oswa menm Twitter si ou se
nan paj wèb yo tout bagay se sòt de tan reyèl
oswa li ba ou a ilizyon nan tan reyèl
e ke sa a aktyèlman yon doulè nan kou a fè ak yon bagay
tankou PHP ak SQL mwen dwa nou sa nou te pwopoze
nan Lendi ta dwe vle di nan
pa kote ou ka aplike a ilizyon ki nan konpòtman tan reyèl
ak yon sèvè chat nan PHP, sa ou ta dwe fè?
Alice voye yon mesaj, frape antre nan kote li ale?
Yeah.
>> [Seksyon fèbl]
>> Nan yon baz done ak Lè sa a, sa ki navigatè Bob la gen
pou fè pou aktyèlman wè sa ki Alice te di a, wi?
>> [Seksyon fèbl]
>> Kenbe biwo vòt baz done a, dwa, se konsa yon demann Ajax gen
nan dife chak dezyèm, chak kèk segonn oubyen nou te pale yon ti tan
Men, pa t 'gade nan yon egzanp sou yon bagay yo rele long biwo vòt,
nenpòt moun ki sonje ki jan
ki mekanis ... sou yon nivo segondè ap travay?
>> [Seksyon fèbl]
>> Egzakteman, yeah Se konsa, yon navigatè toujou ap fè yon demann Ajax
nan yon sèvè, nan yon php foo dot men foo dot php jis sanble
pann, li esansyèlman chita nan yon bouk pandan y ap pou jan anpil
kòm 30 segonn tipikman ak sèlman yon fwa dosye a foo dot php
reyalize oh gen nan yon nouvo ranje
nan baz done a fè li aktyèlman reponn
ak yon reponn http.
Se konsa, ou panse ke ta ka sa a otreman pann sèvè a
ak li fè sa nan yon sèten mezi
men li vle di gen nan yon anpil mwens sou tèt
paske ou pa bezwen yon nouvo tchp koneksyon, yon nouvo koneksyon p
ki aktyèlman mande done ki sòti nan sèvè a.
Men, ne js vini ak yon trè bibliyotèk popilè rele priz
dot IO kote ou ka pa janm itilize se bati sou tèt
nan yon teknoloji ki rele entènèt priz ki se prezan
nan navigatè sa yo ki pi modèn ak sa priz IO fè se pèmèt ou
yo kreye esansyèlman yon koneksyon ki pèsistan
ant navigatè ak sèvè sa a, se ki ba anpil sou tèt
Se konsa, ou fè pa nesesèman gen pwoblèm yo ki Eskalad menm
ke ou ta ka si w ap toujou ap frape sèvè a
nan mond lan nan PHP ak SQL mwen an ak renmen an.
Menm pou ki pi gran navigatè
ki pa sipòte priz entènèt sa a bibliyotèk priz dot IO kapab
tonbe sou do yo kliyot mete sou pye sipò
ak sipò se yon rezo bagay ki soti nan CS143 pou egzanp.
Oswa li ka menm tonbe tounen sou tan biwo vòt tèt li Se konsa, yo aplike
ki sòt menm nan travay
alantou pou aktyèlman kenbe ilizyon an ki koneksyon.
Se konsa, priz [fèbl] IO ak sa a se nan fòm lan
nan yon bibliyotèk script Java, esansyèlman si ou sèvi ak li
nan fòm lan nan yon js ne aplikasyon ou pa sèlman enstale
li kòm yon pake lè l sèvi avèk yon bagay tankou NPM ki nou itilize nan Lendi
ak oswa ou genyen ladan tou yon dezabiye tag nan nan dosye html ou
ki di sèvi ak nan kliyan bò bibliyotèk la.
Se konsa, gen nan de mwatye li ak sa nou te fè isit la
nan katriyèm iterasyon la nan sekans Lendi a
nan egzanp se sa ki annapre yo.
Se konsa, estrikti dosye sa a se okoumansman de yon seri trè komen
moute pou eksprime js ak Erezman li se yon fason ki pi senp
pase lervo [fonetik elemantè] te, sonje lè ou mete
moute lervo ou te resevwa yon gwo anbarasan pil fatra nan yon anpil tout dosye,
repèrtwar machann, lib ak anpil lou pwa konpare ak sa a.
Koulye a, nan etidye ekite Règleman nou te wete lwen bagay sa a, se bèl anpil yon
distraksyon men tout la bagay juicy se se reyèlman
nan modil ne.
Jis ba ou yon gou si nou gade
nan modil ne gen nan de modil oswa bibliyotèk
ke mwen te telechaje, sa a ta dwe ekivalan a
nan anyè a machann, yon sèl Yo rele eksprime ki se
tankou larevel men nan ne
ak priz IO a yon sèl mwen jis mansyone.
Se konsa, moun egziste pou nou ka fè bagay sa yo si mwen louvri
moute kite a di endèks dot html, kite premye gade la nan html a,
sa a ki pral konpoze kò sa a, super m 'yo,
super senp sèvè chat.
Se konsa, gen nan aparamman yon UL ak yon lide inik nan mesaj
e ke sa a kote yon sèl Li nan yon moman,
tout mesaj yo enstantane yo se ale nan parèt ant Alice
ak Bob ak Lè sa a, gen yon fòm senp ki gen yon jaden tèks
ak yon soumèt bouton pa ki Alice
oswa Bob kapab aktyèlman mesaj youn ak lòt.
Se konsa, efè a nèt si Mwen kouri aplikasyon sa a
pa fè ne app espas dot js, si mwen rale moute yon koup
nan fenèt navigatè se ke Alice ta ka sou bò dwat la,
Bob ta ka sou la bò gòch ak jis
yo dwe klè gen nan pa gen majik isit la mwen te gen yon fenèt
nan enkoyito Se konsa, gen nan pa gen pataje nan bonbon oswa yon lòt bagay
tankou sa a, sa yo, se de itilizatè diferan.
Mwen ta dwe kapab gen Alice di alo Bob, klike sou soumèt
e kounye a, ou wè sou bò gòch la sa ki te mesaj Alice an voye
ak prèske enstantane sou bò dwat la.
Pa gen biwo vòt w pèdi patisipe, Bob resevwa mesaj la menm.
Koulye a, Bob di di hey Alice ou wè efè nan opoze.
Se konsa, sa ki reyèlman ale sou li a, ki jan anpil Kòd nou bezwen ekri
aplike sa a yon sèvè chat
kote ou kapab kounye a èkstrapolasyon mantalman ke tout moun
nan sal sa a si sa a yo pa t 'sou [fèbl] mwen
men sou foo dot com nou te kapab tout kòmanse diskite enstantane
youn ak lòt.
Se konsa, sa ki nan patisipe ak anvan m ' klè ekran sa a sa a se sa a
se jis priz IO ke yo te yon ti kras fè bwi, li enprime jis
soti debogaj enfòmasyon nan ekran an,
gen nan reyèlman pa gen anyen lòt moun ale sou la.
Se konsa, kite m 'louvri moute app js dot, se konsa tankou anvan nou te gen yon bagay kèk
nan tèt la nan dosye a.
Yon pakèt moun sou kondisyon, Se konsa, sa yo, se tankou bibliyotèk
oswa egwize endikasyon oswa mande pou ons tou sa mantal modèl ou
vle gen ak jis Rekapitilasyon FS yo itilize
pou ki kalite fonksyonalite?
Se konsa, dosye sistèm Se konsa, li dosye potansyèlman ak lòt bagay tankou sa
ak mwen itilize sa a nan yon sèl mete kòm ou pral wè,
eksprime nan kou sa a fondasyon ki nou ap itilize,
li nan estrikteman pa nesesè nou te kapab
tankou nan Lendi totalman kreye pwòp sèvè http nou an nan grate
pa fè kreye sèvè ak tout nan ki kalite Kòd yo devan
men kòm nou pral wè sa a fè bagay sa yo yon ti kras pi fasil
paske tout mwen te fè se sou liy 3 isit la enstansye
ak eksprime objè, mwen pral rele li app, yon ti jan abitrèman,
Mwen pral Lè sa a, di app a koute sou abitrèman pò 1337,
ki te kapab 80 pa konvansyon
ak Lè sa a, Finalman Mwen gen yon nouvo liy jodi a ki ap di
bezwen priz la IO bibliyotèk ak Lè sa a,
pa apwòch chenn sa a ta sa a operatè dot mwen se jis
rele yon leson koute sa a, se esansyèlman di priz la
IO bibliyotèk tou koute ki sèvè menm
oswa sit entènèt koneksyon priz.
Se konsa, koulye sa, se konsa sa ki fè sa, kat liy sa yo
nan kòd isit la ki ta dwe gade okoumansman de larevel,
ki sa sa a reprezante?
>> [Seksyon fèbl]
>> Sa a se yon ... wout, jis yon wout Se konsa, nan app js dot,
aka js sèvè dot depann sou sa ki moun ki vle rele l '
nan aplikasyon pwòp yo ou gen yon konvansyon
pou fè defini wout ou,
app dot Pran vle di chak fwa ou jwenn yon demann jwenn yo ale
pou literalman koupe ale pi devan epi rele fonksyon sa a anonim
ak fonksyon an anonim nan ka sa a pran pa kondisyon
oswa mande ak yon repons, potansyèlman kèk lòt bagay
men minim de sa yo.
Demann lan ba ou aksè bagay sa yo tankou paramèt http
ak Tèt ak lòt bagay sa yo juicy
ak Lè sa a, repons lan se mekanis nan
pa ki ou kapab reponn a itilizatè a.
Se konsa, sa a se super senp menm si nou pa t 'wè nan byen
menm Kòd dènye fwa, mwen se lè l sèvi avèk sistèm dosye modil yo,
kreye metòd kouran Li ki esansyèlman fè sa,
kreye yon kouran Li ki vle di esansyèlman kòmanse slurping
moute bytes yo soti nan endèks dot HTML kòm avèk efikasite jan ou kapab
san yo pa nesesèman ap tann jouk ou a li dosye a tout antye
ak jan ou fè sa tiyo yo literalman
nan sans ba vètikal si w ap konfòtab
ak liy lan lòd Linux,
tiyo l 'bay repons lan nan objè.
Se konsa, te gen de egzanp ki gen rapò ak sous dlo nan Lendi,
nou sèlman gade nan yon sèl men w ap akeyi yo gade tounen
nan o kouran dlo ak kouran 1.
Stream 1 ... 0 te fè yon bagay ki sanble ak sa a,
kouran 1 te fè yon bagay prèske egzakteman tankou sa a,
sa a se jis yon Slick yon sèl revètman nan di sòt
nan slurp yon bagay nan plis pase isit la ak Lè sa a kòmanse voye l 'isit la
an menm tan an san yo pa fè yon mas dakò
ak Lè sa a, yon dwa masiv,
apwòch sa a se jeneralman pi efikas.
Se konsa, sa a, se kalite bagay fin vye granmoun menm si li te nouvo nan Lendi,
sa a se tout li pran yo aplike yon sèvè chat
ak js ne ak plis ankò espesyalman priz dot IO.
Se konsa, kouman fè travay sa a, kite m 'avanse pou li moute yon ti jan,
Se konsa, IO se jis yon varyab ki refere
nou an modil mande pi bonè,
dot priz se jis yon pwopriyete andedan nan li
ki ban m 'priz fonctionnalités ki gen rapò
sou se yon metòd komen ki gen rapò ak sa ki nosyon jeneral?
Yon evènman konsa sou aka koute nan kèk bibliyotèk li jis vle di
sou tande evènman sa a ki te rele koneksyon
e kounye a, ou konnen sa a sèlman ki soti nan gade nan dokiman an,
Nenpòt moun ki te ekri nan bibliyotèk la yo defini yon evènman rele
koneksyon ki fè sa ki ou ta panse
lè Alice oswa Bob konekte.
Ale pi devan epi rele sa fonksyon anonim pran pase
nan yon sèl agiman kliyan an ki se aparamman kèk kalite
nan objè ki reprezante Koneksyon Alice an
oswa koneksyon Bob a oswa Charlie oswa nenpòt lòt moun
e kounye a, nou fè sa ki annapre yo.
Nou di kliyan an apre l ap konekte
koute espesyalman
pou yon mesaj sa a, se konplètman abitrèman rele mesaj
kolon kliyan.
Sa a se yon bagay ki Tim ak Mwen te vini ak, li ta ka foo
oswa ba, li nan sèlman kèk inik fisèl ke nou bezwen
deside sou kòm devlopè yo.
Chak fwa Alice oswa Bob tande
ke evènman sa a anonim yo ta dwe rele fonksyon
ak done yo, nan sa a Alice nan
oswa mesaj Bob nan yo ta dwe pase nan sa a Handler evènman
e kounye a, sa ki ta dwe nan kliyan fè byen ou kapab kalite
nan li sa a san patipri entwitif kliyan an ta dwe emisyon,
otreman li te ye tankou emèt yon mesaj yo rele metòd sèvè
kidonk tapral mesaj sa a ap vini soti nan sèvè a pa
nan navigatè a ak sa ta ke mesaj dwe,
li nan aparamman chaj ki soti nan tou sa te soti nan kliyan yo
e nou jis ale nan abitrèman rele l 'mesaj.
Se konsa, yon anpil nan sa a se abitrè
nan nonmen rezonab konvansyon, Tim lè m 'rive
moute ak yo, sitou Tim ak Lè sa a, nou tou senpleman ap kreye finalman yon
chat sèvè ki fè sa, lè Alice voye yon mesaj
ak frape antre nan sa ki evènman aparamman vin te tire,
jis Rekapitilasyon.
Alice kalite yon mesaj, frape antre nan, se mesaj kliyan yo te tire,
Kòd sa a tande sa e kounye a, sèvè a difize sa,
sa ki nan rezilta nan fen nan sa a vrèman?
Alice voye mesaj la kounye a sèvè a rebroadcasts li
efektivman bay tout moun eksepte pou Alice, poukisa tout moun eksepte
pou Alice si ou jis gade
nan kliyan an dokiman dot difizyon dot admèt,
literalman fè sa, difize mesaj la
a tout moun eksepte nan kliyan ki voye nou
ke mesaj ki pi resan.
Se konsa, sa a se poukisa ou sèlman wè li yon fwa sou chak bò,
ou pa wè tou de Alice ak Bob resevwa mesaj Alice an.
Se konsa, sa a, se li, sa a se yon ajan transmission
si w ap sa a, se jis pran nan mesaj
ak rdifuzyon yo soti
epi li konsiderableman évolutive m 'vle di menm
ak yon super senp sèvè ak yon liy kèk
nan kòd ou te kapab sètènman okipe dè santèn si se pa dè milye
nan konkouran mesaj senp ale dèyè, yo soti tankou sa a
ak jis imajine konpleksite nan kounye a pou fè sa a nan Doctorat
oswa Larevel oswa SQL m 'ak konbyen Kòd ou ta gen
yo ekri yo nan lòd yo aktyèlman reyalize sa.
Koulye a, nan etidye ekite Règleman sa a la a pa bon ki pèsistan
si sèvè a desann nou pèdi istwa a tout antye
Se konsa, li pa byen yon pafè tradiksyon men li la
ki pou pi devan dwat.
Se pou yo gade nan script la Java Kòd nou sote sou pi bonè,
sa a se Alice a ak Kliyan Bob a,
paj wèb la yo ap lè l sèvi avèk kounye a kite a gade isit la pou yon moman.
Genyen yon ti kras pi plis Kòd
men li la bèl anpil jis jQuery isit la se konsa avi
ki nan paj wèb la ke mwen rale
moute yon ti moman de sa nou gen ladan bibliyotèk la jQuery,
priz la IO bibliyotèk ak kòm yon sou kote remake diferans lan
isit la, koupe koupe nan nan konmansman an nan yon chemen
tankou sa a vle di ki sa egzakteman,
kote se jQuery dot js sou sa ki sèvè?
Yeah.
>> [Seksyon fèbl]
>> Li nan sou entènèt la wi literalman rele Kòd dot jQuery
dot com Se konsa, poukisa koupe, koupe, poukisa yo pa jis yon sèl koupe,
kote se http a oswa kolon an, sa sa vle di an jeneral
si ou koupe koupe nan nan konmansman an nan url a?
Li nan aktyèlman itil.
Okay Se konsa, sa a evidamman manke http kounye a si nou rezon ki fè
nan sa a lojikman, tipikman ou pa bezwen
mansyone yon serveurs non dwa
tankou si jis itilize koupe jQuery dot JS sa ki se sipoze
pa navigatè a?
Sa dosye a se sou menm bagay la tou sèvè se konsa kontinye ki sòt
nan lojik si w pa bay li sa ki pwotokòl ki sa ki la
navigatè asime, se li menm pwotokòl pou si ou te janm te vizite sit entènèt
ki ba ou yon erè ansanm liy yo nan kontni anksyeu
nan paj sa a se paske te yon moun di kode yon http
koupe kolon koupe URL pou yon imaj oswa yon dosye script Java
oswa dosye CSS, yon bagay tankou sa nan kòd la sous paj la
men paj la tèt li nan nan navigatè URL se http a.
Se konsa, sa a se jis nan anpenpan fason ti kras
nan di mwen pa konnen sa pwotokòl la se
ke sa yo itilizatè fen pral sèvi ak
men jis asire w ke li alimèt se konsa ke chrome
ak lòt navigatè pa rele sou itilizatè a.
Trape an se sèlman ke yo te nan jQuery moun ki te pi bon mete
moute https sou sèvè yo.
Se konsa, yo yo aktyèlman lis sou 443.
Tout dwa pandan se tan sa a yon sèl isit la sa a se kalite
nan koupe twonpe priz IO sijere
ke gen nan yon anyè yo rele priz dot IO sou sèvè m '
men gen nan pa si nou pike
alantou gen nan la anyè modil ne a
men pa gen anyen piblik sou sa,
lè nou configuré IO priz koute sou pò yo menm,
1337 esansyèlman ke bibliyotèk ke yon lòt moun ekri ki pral
sòt de insert kèk kòd nan anviwònman js ne a
ak jis koute pou chemen sa a.
Sa bibliyotèk gen jis configuré yon wout pou sa a,
li pa yon anyè reyèl.
Li ta dwe nan yon estanda kote.
Oke konsa koulye a enteresan an pati,
Se konsa, lè dokiman an se pare yo jan sa endike
sa a pa jQuery konstwi, premye mwen pral ale pi devan
yo epi konekte nan yon priz,
sa priz jis pa ... kenbe l ' senp mwen pral konekte
koupe, sa a, se kote itilizatè a se,
Mwen te kenbe senp nan egzanp nou ap jis ale nan konekte
egzak URL a menm ki la te itilizatè te vizite Lè sa a, mwen pral
fè sa ki annapre yo, mwen pral di navigatè Alice a oswa Bob nan
pou koute pou la mesaj soti nan sèvè a.
Yon lòt fwa ankò sa a te kapab foo
oswa ba nenpòt ki lè ou tande yon mesaj
soti nan sèvè rele l 'done yo ak Lè sa a, fè sa Kòd jQuery
ki mwen devine pifò si se pa tout moun se abitye
ak jou sa yo, men esansyèlman se yon ensiy la bay lis atik
UL ki la deja a ki te rele mesaj
ki literalman di tou sa chaj la se
nan mesaj la chat ki te swiv pa yon tirè, ki te swiv pa resevwa,
swiv pa yon espas ak Lè sa a, yon tan aktyalizasyon ak Se poutèt sa
yo dwe klè si nou tounen
sa a ou jwenn sa yo plis bal ankò e ankò
epi ankò ak dat fwa.
Pandan se tan si nou gade desann isit la nou jis gen
okipe fòm soumèt a Se konsa, sa ki te k ap resevwa a
nan yon mesaj enstantane, isit la nan voye a ak sa a se sòt
nan gen rapò ak js ne, koute fòm yo soumèt evènman.
Lè bagay sa yo rive anpeche default, sa a jis vle di pa soumèt li
nan sèvè a nan jan li konn ye a fason sa a, Reload paj la tout antye,
nou vle fè sa tout atravè ajax.
Isit la nan sèlman kèk kòd jQuery
ki aktyèlman ka jwenn dizon la ki gen kalite a se mesaj,
ki gen non se mesaj ale pi devan
epi pou yo jwenn li nan valè Lè sa a, ou ale pi devan
epi si ou gen aktyèlman yon mesaj, si Alice ak Bob
oswa Bob aktyèlman kalite kèk Pa gen yonn 0 frap nimewo emèt
sou priz an yon mesaj rele mesaj kliyan ak ki chaj
ak Lè sa a, desann isit la sa a se sa ki fè li vèt tankou yo te opoze
wouj, nou tou senpleman pwodiksyon bò aparèy [fèbl].
Se konsa, sa a, se li men tout moun nan sa a se jis mete nan leve,
reyèl nouvo bagay la mwen ta diskite se jis twa bagay sa yo
oswa senk liy nan Kòd isit la ak ki sòt de sijesyon nan pouvwa a
nan js ne ak li bibliyotèk patikilye sa a.
Se konsa, kite a pran yon rapid gade nan eksprime dot js,
Se konsa, sa mwen pral pou yo eseye fè nan koup la rete
de minit isit la se mete kanpe yon kèk lide, yon teknik kèk
ki pral Lè sa a, pran yon koup minit repo, Tim ap mete kanpe
ak Lè sa a, nou pral plonje nan pi fon
nan yon plis enteresan eksprime aplikasyon epi tou li
etajè liv, bibliyotèk la Tim a aktyèlman te ekri
pou kominote a sous louvri
ki klere nou enro pale fasil fonksyonalite ak SQL mwen
ak tranzaksyon ak lòt sa yo karakteristik ak l ap plonje tou
nan yon ti kras pi fon nan lang Java script tèt li,
ki jan objè li yo oswa ki pa klas modèl travay otreman konnen
kòm yon modèl pwototip, kèk plis sou sa ap vini yo.
Se konsa, kite a pran yon gade nan de dènye aplikasyon pou isit la, sèvè senk
ak sèvè 6 ki fè yo tout sòt de menm jan an nan lespri,
sa yo yo pa chat serveurs men yo sèvi ak eksprès.
Se konsa, kite a pran yon gade nan ki sa sa a aktyèlman fè sa,
Mwen pral ale pi devan epi louvri ... Mwen pral kouri app sa a
ak js ne app, mwen pral tounen nan navigatè m 'ak Reload
ak sa a se aparamman tout sèvè sa a ap fè,
li nan yon sèvè super senp sa a, se aparamman yon rechèch
motè Se konsa, si mwen tape nan foo epi soumèt, pa gen okenn rezilta rechèch
pou foo, mwen pa t 'jwenn alantou mete ann aplikasyon sofistike nan
fen tounen yo, tout li pral
fè se eko pa gen pwoblèm sa ou tape pa gen okenn rezilta pou foo,
pa gen okenn rezilta pou ba Se konsa, kouman nou fè sa
paske gen yon moso koup, yon sèl,
gen nan byen klè kèk entrain yo te bay
nan sèvè a pa Larevel nan kou, men js ne kounye a
Se konsa, nou bezwen yon jan kanmenm jwenn nan ki K paramèt,
nou ap byen klè fè kèk kalite de vi isit la,
nou ap rann yon View Se konsa, petèt gen nan yon opòtinite
pou modèl oswa varyab interprelation [fonetik elemantè]
Se konsa, kite a pran yon gade nan sa ki annapre yo.
Nan js app pou sa a an patikilye sèvè sa a se tout sa nou genyen.
Youn nou mande pou eksprime tèt li, de modil la chemen
ki jis fè kèk bagay ki itil
tankou rantre nan strings ansanm ak pou fè pou m ',
Mwen koute sou pò 1337 ak kounye a sa a se nouvo se konsa li vin gen
soti ki eksprime tankou Larevel sipòte diferan ins ploge
ak teknoloji ak lòt bagay ak yon
de teknoloji sa yo ke ou kapab ploge nan se yon motè View
ki jis vle di sa ki gabari motè ou vle itilize,
Larevel te gen li nan posede bagay men ou ka ploge
nan bagay sa yo diferan, diferan pèch P cadres gen
diferan fason pou gabari, EJS se jis yon komen
ak yon motè trè senp ki jis kite a ou fè bagay sa yo
tankou aparèy òtopedik yo Curly ki ou te gen nan Larevels sentaks
pou ranplase varyab,
li nan yon ti kras diferan syntactically se tout.
Se konsa, koulye gen nan bagay sa yo rele Ware mitan konsa tankou ou ap wè
nan pwòp ou a ekip ne pwojè yon Ware mitan an se jis kalite Kòd
oswa bibliyotèk ke ou enjekte
nan [fèbl] repons lan sik lavi nan yon aplikasyon,
nan lòt mo de sa yo liy ap di eksprime
fè kèk travay siplemantè ant tan an, li vin yon demann
ak ant tan an li voye ki demann yo voye pwòp wout ou,
Kòd ou ke ou te ekri.
Se konsa, an patikilye liy sa a isit la sèvi ak eksprime dot estatik ak tout
nan konpleksite sa a sa a jis vle di si ou wè yon demann
ki vini nan pou yon dosye estatik tankou jif foo dot oswa foo dot CSS
oswa foo dot JS Se konsa, pa yon dynamique pwodwi wout,
ale pi devan epi asime li ap viv nan repèrtwar piblik la,
sa a, se tout sa ki ap fè.
Li se sòt de tankou kat nan Larevel, tout bagay sa yo entènèt ou an
oswa anyè piblik ou olye nan Larevel.
Liy pwochen Sa a se jis li di mwen vle sèvi ak wout,
Mwen vle sèvi ak bagay sa yo tankou app dot jwenn
ki nou te wè yon ti moman de sa ak nou pral wè nan jis yon dezyèm kounye a.
Se konsa, app dot jwenn mwayen koute pou wout sa a,
koupe lè ou jwenn li rele sa fonksyon anonim ki pran
nan yon demann ak yon repons e kounye a, jis
tankou Larevel ou gen yon fason nan rann yon modèl,
repons dot rann, site unquote endèks,
rann se yon modèl rele endèks,
sa a, se li tèlman kite a sispann ki fil sèlman pou moman yon gade
nan sa ki nan anyè a opinyon
ak avi sa a tou se super senp pou kounye a,
gen nan endèks EJS dot ak rechèch EJS dot,
Mwen evidamman vle premye a
paske se sa yon sèl la mwen jis fatige rann ak nou pral wè
nan endèks opinyon EJS dot pi aktyèlman antyèman html
nan moman sa a, gen nan aktyèlman pa gen okenn gabari pral sou.
Se konsa, mwen teknikman pa t ' menm bezwen rele l 'EJS,
Mwen pa bezwen ke fonctionnalités Men, mwen te kenbe l 'inifòm,
Se konsa, sa a, se li, sa a se sa ban m 'fòm sa a super senp.
Se konsa, gen yon sèl lòt wout, si nou gade desann isit la mwen te di
ke sa a se sa ki okipe jwenn koupe rechèch se konsa sòt aktyèl la
nan Google tankou Handler pou la fòme soumèt, lè ou jwenn
ki chemen rele sa fonksyon anonim
ak rann modèl la rele rechèch
ak sa ki dezyèm lan agiman prezimableman vle di.
Li sanble ke yon objè json nan kalite oswa Java Script objè.
Ki sa ki nan wòl nan ki dezyèm agiman prezimableman?
>> [Seksyon fèbl]
>> Rechèch aktyèl la ki la itilizatè tape nan aparamman ap viv
nan demann rechèch dot, rechèch refere li a tout bagay
apre kesyon mak dot la q ki se non an abitrè
mwen te bay li jis tankou Google
ak pandan se tan q kolon se jis li di pase nan modèl la,
EJS rechèch dot, yon kle nan q ak yon valè
nan tou sa q nan aktyèl valè te ye a.
Se konsa, ki kite sèlman yon sèl dosye nan enterè opinyon,
EJS rechèch dot mwen te kenbe sa a super senp tou,
Li nan sitou jis html eksepte pou yon sèl liy yon ti jan remakab
ki se sentaks sa a isit la ki sanble yon pakèt
nan diferan gabari motè sa a jis vle di ploge
nan valè a nan q , epi fè li karaktè fonse.
Se konsa, gen nan pa gen rechèch aktyèl fonksyonalite men li fè sa kalite
nan sijere ki jan ou ta estrikti yon skelèt
nan yon aplikasyon tankou sa.
Pandan se tan ... aktyèlman mwen ka montre yon lòt bagay,
remake ke mwen gen kèk HTML Moute bò isit pou dosye CSS
ak Java dosye script, pa gen anyen nan sa yo dosye
nan moman sa a, men remake ke gen yon anyè piblik
jan mwen te di pi bonè pou dosye estatik Se konsa, si m 'ale
nan la gen nan anyè CSS m 'yo,
si mwen antre nan peyi a gen nan estil dot CSS
ak gen nan pa gen sa gen
men sa a ki jan ou ta gen dosye piblik ki aksesib.
Tout dwa kite a pran yon gade nan yon sèl lòt Variant isit la
ak Lè sa a, nou pral prezante yon sèl lide ak ti repo.
Se konsa, sa a se sèvè 6 dènye a, se konsa sa a se prèske eksepte
pou anba de liy ki ki gade tankou sa a.
Se konsa, aktyèlman gen yon twazyèm liy sa a, se diferan
men mwen te kache ... Se konsa, kite m 'tounen moute yon ti kras pou yon moun vle
pwopoze sa k ap pase sou isit la nan tèm pwofàn la
oswa tèm teknik sa ki nan diferan sou vèsyon sa-a
ki gen rapò ak sa yo liy nan nœuds an tèt yo.
Kisa pou m prezimableman fè isit la epi pou kisa?
Yeah, Sharon.
>> [Seksyon fèbl]
>> Yeah li sanble mwen te deplase endèks ak rechèch
Se konsa, apa dirèk oswa yon bagay, Mwen te konsidere yo soti
e ke sa a se konsa ke anpil tankou nan Larevel ou ta ka mete tout
nan lojik kontwolè ou andedan nan wout dot php
ak fonksyon anonim ankò, li ankò e ankò
men sa dosye nan kou ka jwenn bèl masiv
Se konsa, nan wout dot php sa ki pi
nan nou mesye yo te fè se ou te espesifye non an
nan yon klas kontwolè oswa menm non an nan yon metòd
ki ta dwe jwenn rele
Se konsa, lide a menm isit la menm menm si sentaks la se yon ti kras
diferan pou Moute bò isit avi
ke mwen gen aparamman aplike js pwòp ne m '
modil ak yon modil se jis yon Dosye Java Script ki souskri
esansyèlman yon sèl konvansyon ke nou pral wè nan jis yon ti moman.
Se konsa, asime ke tout sa mwen fonctionnalités pou endèks
ak pou rechèch gen aparamman te mete nan anyè sa a
e kounye a, m ap rele pou tout modil oswa pake oswa bibliyotèk,
tou sa ou vle nan panse a li kòm,
kòm wout yon varyab rele wout.
Se konsa, aparamman nan gen wout dot endèks se yon metòd ki rele
endèks ak aparamman gen nan yon lòt metòd yo rele rechèch
nan sa a wout modil oswa nan bibliyotèk
ak mwen jis routage li jis pou ke mwen pa mete tout
nan kòd anonim mwen andedan nan dosye app mwen.
Se konsa, kite a antre nan wout anons gen nan jis endèks js dot
epi si mwen gade nan isit la sa a se konvansyon an m te vle di pi bonè
Se konsa, sa a se trè abitrè men li la konvansyon an ne.
Nenpòt ki lè w aplike pwòp ne bibliyotèk js ou a,
aka Modil ou esansyèlman kapab ekri nenpòt Java Kòd script ou
vle nan sa a ranpli, li pral dwe sab trè propreman bwat
Se konsa, ke nenpòt ki varyab ou chwazi pa pral fè kolizyon
ak bibliyotèk nenpòt lòt moun nan, varyab oswa metòd oswa nenpòt bagay
tankou sa men anyen ou vle ekspoze
nan mond lan deyò ala yon metòd piblik nan Java Script
oswa php oswa lòt lang ou gen plok andedan
nan yon objè mondyal ki la otè a ne rele ekspòtasyon.
Se konsa, pa fè ekspòtasyon dot endèks Mwen ekspoze itilizatè
nan modil sa a yon metòd ki rele endèks ki kat fonksyon sa a
se konsa li a anonim sou bò nan men dwat
men mwen byen bay li yon non sou bò men gòch
epi y ap ekspòte li nan mond lan
pou ke ou ka rele dot endèks oswa dot rechèch la.
Se konsa, yo dwe klè si mwen menm tou te gen yon bagay tankou foo fonksyon
nan isit la ki te fè yon bagay
ki fonksyon ta absoliman dwe operasyonèl,
li ta ka rele nan sa a ranpli men pesonn pa t
nan mond lan deyò frèt tout tan tout tan rele foo
paske li pa a te ekspòte pa fason pou notasyon dot sa a.
Se konsa, sa a, se tout sa ki ap pase,
tout bagay se joliman non espace pou ou.
Se konsa, nan fen rezilta si m 'fè ne nan app ak Reload paj la se
ke si mwen kounye a fè rechèch
pou ba ... fonksyonèl apps sa yo, se menm bagay la tou
men li la jis sòt de yon etap nan direksyon yon aplikasyon cleaner,
sètènman lè ou kòmanse ekri pi plis ak plis Kòd
e ke sa a tout bagay sa yo ye.
Li evidan patikilyèman pa sofistike oswa konplèks
men esansyèlman yon pwen depa
pou ki sa yo pral ou premye ne js app.
Ki sa nou pral fè gen anpil chans pita semèn sa a oswa nan fen semèn sa a
pandan w ap fini moute sou la aplikasyon pou php nou pral swiv
ak yon trè senp aplikasyon pou ekip la plonje
nan menm jan an nan Lespri Bondye a fè egzèsis la cho moute pou php
ki baze sou la sondaj semès nan mitan,
jan t 'jwenn itil ale atravè tout fè egzèsis la
nan fè yon bagay san patipri ki senp
Men, san patipri gide anvan ou aktyèlman atake yon bagay ki pi
sou pwòp ou a se konsa n ap kontake yo avèk ki
ak esansyèlman yo pral akòz yon semèn ak yon mwatye
soti nan kounye a sipèpoze yon ti kras ak php fè espre.
Nenpòt kesyon Lè sa a, sou eksprime, sou IO priz
oswa konfizyon rete soti nan Lendi petèt.
Tout dwa se konsa èspere ke youn nan la pran-yon-fason konsa byen lwen se
ke gen nan pou kèk nan sa yo bagay sa yo sètènman yon anpil mwens
sou tèt pase ou ta ka yo te itilize yo.
Se konsa, kite m 'prezante yon dènye lide,
Se konsa, yon trè komen pwogramasyon paradigm
nan Java Script sa a, se aktyèlman prezan nan jQuery
nan vèsyon ki sot pase konsa ta ka gen aktyèlman wè teknik sa a
anvan men li la tou byen komen nan mond lan js ne,
li nan komen nan Tim a pwòp etajèr bibliyotèk
Se konsa, nou pral revize sa a nan yon egzanp plis konkrè
nan yon moman ki se yon solisyon ki prevwa nan kòd tankou sa a,
sa a se reprezantan nan Kòd nou te wè nan Lendi, se konsa li dosye
nan kontèks sa a se pa yon reyèl metòd li nan menm jan an nan lespri
FS dot li dosye men asime ke sa a se sèlman kèk te fè
moute metòd ki fè sa ki yon bagay trè menm jan an.
Se konsa, nou li pran kouri nan yon kèk pwoblèm nan Lendi an jeneral
Se konsa, sa a se sòt de ... poukisa sa a se yon pant glise,
sa a rele tounen paradigm nan pwogramasyon Java script
ak pa rele tounen paradigm Mwen jis vle di teknik sa a
kote ou pa retounen valè imedyatman
paske ki ta ka bloke sèvè a
nan fè yon lòt bagay ki nan ki itil, ou olye rele tounen
tankou buzzers yo nan souke Shack lè w ap pare
yo pase tounen yon repons kòm yon diskisyon.
Sa a se yon pant glise
kote li trè byen vit vin anmèdan pou kisa?
Yeah.
>> [Seksyon fèbl]
>> Yeah, minim li vin kalite ilizibl dwa
si ou gen tout bagay sa yo rele do ak si w ap konfòme
bon style li a ap resevwa bèl twouve dantle
apre yon sèten tan ak ka mwen pwen sa a egzanp si ou sòt de ekreme
nan li se tou senpleman vle di ke yo louvri yon dosye json epi enprime l ',
tankou sa a, se li ak ankò nou gen kèk 8 oswa 10 liy isit la
ki deja sòt nan dezagreableman dantle,
nou te gen eseye trape ki se
si w ap abitye se yon teknik manyen erè
ki pèmèt ou eseye yon bagay
epi si li echwe Lè sa a, ou trape li èspere ke
san yo pa pwogram antye ou tèmine men gen nan
anpil konpleksite tankou ou kalite nan gen panse ke sa a nan
ak Bondye padon nou fè yon koup la lòt metòd asenkron rele,
bagay la se deja pral fè plis pase isit la,
ou ta ka panse sa a se kalite nan yon èstetik komik men sa a
paske apèl la tounen paradigm se konsa komen omwen
nan Kòd ne natif natal sa a trè byen vit vin fatigan,
difisil yo debug, dekoupaj an kòmanse gen pwoblèm pou ou ka sòt
de bagay sa yo kouri dèyè l 'atè, li nan jis pa yon fason trè kontan
nan pwogramasyon.
Se konsa, sa jan te fè
nan divès ne kontèks nan mitan yo se eseye senplifye sa a,
os pou egzanp pwomès se yon lòt fason nan panse
sou ekri asenkron Kòd ki vizyèlman vire yon bagay
tankou vèsyon 1 nan vèsyon sa-a 2.
Mwen fè reklamasyon ak sa a se ankò jis sòt de melanje
ant Kòd aktyèl ak pseudo Kòd, sa a se reprezantan
de kijan ou ta re-aplike ki menm bagay egzat,
louvri yon dosye json, analizan li epi li enprime li
soti lè l sèvi avèk yon bagay rele benediksyon Bondye te pwomèt
ak kle detay nan sentaktik se
ki gen yon Anchènman ale sou isit la.
Remake pwenvigil a sèlman
nan tout la ... aktyèlman byen kite a ... Mwen pa vle pou detounen.
Sa a se pa entèdi nesesè men kite a dwe konsistan,
remake ke pwenvigil la ki vle di ouvèti a
nan deklarasyon sa a tout antye se tout wout la desann isit la.
Se konsa, pandan mwen te fòma sa a ... kalite gade
tankou twa deklarasyon, twa deklarasyon ke ou ta ka wè
nan Java oswa lòt lang sa yo ki te eseye ak trape
ak manyen eksepsyon plis jeneralman.
Remake mwen jis chèn valè a retounen nan chak
nan metòd sa yo ansanm.
Se konsa, sa k ap pase sou li a, li dosye si sa a se yon metòd ki egziste,
aparamman ap eseye li sa a ranpli,
dot Lè sa a, se konsa Lè sa a, se yon trè komen Non bay nan mond lan
nan pwomès pou la metòd ki ta dwe egzekite
si bagay la anvan yo plas.
Se konsa, li kalite tankou siksè nan Handler, se konsa Lè sa a, json dot analizan,
byen json dot analizan se jis yon metòd
nan bibliyotèk la json mondyal epi li aparamman suiv
nan ka sa a nan modèl pwomès
Se konsa, nou di sa nou kapab jis asime ke rele nèg sa a
epi si li reyisi Lè sa a, rele nèg sa a ak Lè sa a,
si sa a aktyèlman ègzekutra tou senpleman konsole louvri sesyon done yo
nan kesyon an.
Se konsa, kote se erè a manyen, remake mwen te sòt
nan anpil je fèmen te demisyone koupe Ledge sa a
ak jis rele sa a metòd ak Lè sa a, metòd sa a
san yo pa janm tcheke pou pwoblèm.
Oke kote moun sa yo ki pwoblèm prezimableman okipe ... nan sa yo
deklarasyon kachèt pou diferan bibliyotèk sèvi ak diferan
konvansyon men nan ka sa a Lè sa a, se sòt
nan siksè Handler, kachèt la se sòt de Handler a erè
ak paske nou pa te kase chèn sa a nou jis kenbe lè l sèvi avèk
dot notasyon ap mennen ansanm metòd orijinal invoké la
nan dosye Li ak fonksyon an invoké nenpòt ki erè sòt
nan jarèt fè wout yo nan chèn lan
jiskaske yo ap aktyèlman okipe ki se yon fason pi pwòp pase ap eseye
fè fas ak li chak modi etap nan chemen an
se konsa ke Kòd ou trè byen vit vin done reyèl.
Nan ka sa a nou ap reklame ke nou eseye
trape sa yo rele yon erè sentaks li nan esansyèlman se yon
souklas yon pi plis jenerik erè epi si sa ki ap pase reklamasyon
ke li nan valab json otreman si li nan yon erè plis jenerik
ke nou pa te espere jis plis jeneralman di pa kapab
li dosye-a.
Koulye a, sa a se jis te vle di yo dwe reprezantan Kòd
Men, si ou te pwograme nan anvan tout koreksyon Java Script oswa nan Java
oswa lòt lang sa a se pwosedi Kòd esansyèlman,
sa a se yon tradisyon plis eseye deklarasyon trape
e ke sa a èstetik la ak fonksyonalite a pwomès sa
oswa ap eseye ba ou kijan ou ka panse a li
kòm jis ekri eseye ak Lè sa a, trape ak Lè sa a, trape pa gen
bezwen enkyete nan chak yon sèl pwen ki posib pou
kote yon erè ta ka okipe ... rive,
ou ka okipe tout bagay sa yo nan la fini jan sa nesesè nan yon blòk ti
nan kòd, epi ou ka menm yo fè distenksyon ant nan mitan erè
jan ou kapab nan ka sa a isit la.
Se konsa, nomanklatur a ke ou ap wè nan literati a petèt
kòm Tim prezante kèk nan bagay sa a tou se
ki depreferans ou vle pwomès yo rezoud
ak rezoud yon pwomès vle di ki finalman tounen se konsa yo pale
men se pa nan yon fason tradisyonèl ki gen valè, se konsa li swa reyisi
pou echwe esansyèlman.
Tout dwa nenpòt kesyon lè sa a, li pa nan te vle di yo dwe ase
pou ekspoze a pwomès men jis yon modèl mantal
pou kòd la ou ap kòmanse wè.