>> Visas tiesības tāpēc mēs esam atpakaļ, pāris mērķiem šodien,
mēs uzņemt kur mēs left off pēdējo reizi,
atgādināt, ka mēs bijām padarot šo mantojumu
servera saistītiem pieteikumiem, super vienkārši, bet, izmantojot mezglu JS
un tad arī pavisam nesen izmantojot skaidru touch AS
un to, kas tika izteikta JS analogs PHP pasaulē.
Tāpēc izteikt vairāk ... tuvu,
tāpēc izteikt būtībā MBC sistēma, kas ir diezgan
populārs mezglu js pasaulē,
Grāmatplauktu ko mēs redzēsim šodien ar Tim ir analogs
no daiļrunīgs kas ORM par objekta attiecību Mapper
kas faktiski padara vieglāku lai izvairītos no zema līmeņa SQL kodu
un faktiski paust attiecības starp dažādiem objektiem.
Tāpēc viens no stilīgākais lietas godīgi
par mezglā js ir, cik viegli tas pakļauj sevi
darīt reālā laika pieteikumus, lietas, piemēram, tērzēšanas serveri
vai ziņapmaiņas serveri, Jebkas, ka jūs guys tagad izmanto
piemēram, Google ... G-čats vai Google tusiņš
vai Facebook statusa atjauninājumus vai pat čivināt, ja esat
savā mājas lapā visu ir sava veida reālā laikā
vai arī dod jums ilūzija reāllaikā
un tas ir tiešām sāpes kakla darīt ar kaut ko
piemēram, PHP un My SQL labais ko mēs ierosinām
pirmdien būs līdzeklis
ar kuru jūs varētu īstenot ilūzija reālā laika uzvedības
ar tērzēšanas serveri, PHP, to, kas jums ir jādara?
Alise sūta ziņu, hits ievadīt, ja tas iet?
Jā.
>> [Nedzirdams sadaļa]
>> Into datu bāzē un pēc tam Kāda Boba pārlūks ir
darīt, lai faktiski redzēt ko Alise teica, jā?
>> [Nedzirdams sadaļa]
>> Keep aptauju datu bāze, labi, tāpēc ajax pieprasījumu, ir
uguns katru sekundi, katru maz sekundes, vai mēs runājām īsi
bet nav apskatīt piemēru kaut ko sauc par garo aptaujas,
ikvienam atgādināt, cik
šis mehānisms ... par augsta līmeņa darbus?
>> [Nedzirdams sadaļa]
>> Tieši tā, jā tā pārlūks vēl arvien Ajax pieprasījumu
serverī, lai foo dot php bet foo dot php tikai šķiet
pakārt, tā būtībā sēž brītiņa cilpu tik daudz
kā 30 sekundes parasti un tikai tad, kad foo dot php failu
saprot, ak tur ir jauna rinda
datu bāzē nav tā faktiski atbildēt
ar http reaģēt.
Tātad jūs domājat, ka tas varētu pretējā gadījumā pakārt serveri
, un tas zināmā mērā
bet tas nozīmē, ka ir daudz mazāk gaisvadu
jo jums nav nepieciešams jauns TCP savienojums, jauna htp pieslēgums
faktiski lūgt dati no servera.
Bet mezglu js nāk ar ļoti tautas bibliotēka sauc ligzda
dot io, kas jums varētu nekad nav izmantots, ir veidota uz augšu
par tehnoloģiju, ko sauc web socket, kas ir klāt
visvairāk mūsdienu pārlūkprogrammām un kāda ligzda io tas ir ļaut jums
izveidot būtībā pastāvīgs savienojums
starp pārlūkprogrammu un serveri tas ir ļoti zemu virs galvas
tāpēc jums nav obligāti ir tāda pati mērogošana jautājumiem
ka jūs varētu, ja jūs pastāvīgi hitting serveri
ar PHP pasauli un mans SQL un tamlīdzīgi.
Pat vecākām pārlūkprogrammām
ka neatbalsta tīmekļa ligzdu Šī bibliotēka ligzda dot io var
krist atpakaļ mirgo īstenošana ligzdas
un rozetes ir tīkla lieta no CS143 piemēram.
Vai tas var pat krist atpakaļ uz ilgtermiņa vēlēšanu sevi, lai viņi īstenotu
ka paša veida darbu
ap faktiski uztur ilūzija sakarā.
Tāpēc socket [dzirdams] io un tas ir formā
ar java skriptu bibliotēkas, būtībā, ja jūs to izmantot
formā mezgla JS Pieteikums jūs ne tikai instalēt
tā kā paketi, izmantojot kaut ko piemēram NPM kuru mēs izmantojām pirmdien
un vai jūs arī iekļaut sloksnes tagu jūsu html failu
ka saka izmantot klienta puses bibliotēka.
Tātad tur ir divas puses, lai tas, un ko mēs esam darījuši šeit
ceturtajā atkārtojuma no pirmdienas secībā
no piemēriem ir šāds.
Tāpēc šī faila struktūra ir atgādina ļoti kopumu
up par izteikto JS un par laimi, tas ir veids, kā vienkāršāk
nekā lervo [fonētiskā] bija, atcerēties, kad jūs, kas
up lervo jums milzīgs šķebinošs dump no visai daudz failus,
pārdevējs katalogi, lib un ļoti smago svaru, salīdzinot ar šo.
Tagad taisnīgumu mēs esam dzīslu prom stuff, ka ir diezgan daudz
izklaidēšanās bet visi sulīgs stuff ir patiešām
in mezgla moduļiem.
Tikai, lai dotu jums garšu, ja mēs skatāmies
mezglu moduļiem tur divi moduļi vai bibliotēkas
ka es esmu lejupielādēt šo būtu līdzvērtīgi
pārdevēja direktorijā, viens sauc Express, kas ir
tāpat larevel bet mezglā
un kontaktligzdas io viens es tikko minēju.
Tātad tie pastāv, lai mēs varētu rīkojieties šādi, ja es atvērtu
līdz teiksim indekss dot html, Lets vispirms apskatīt html,
tas notiek, lai sacerēt šī iestāde, mana super,
super vienkārši tērzēšanas serveri.
Tātad tur ir acīmredzot ul ar unikālu ideju ziņojumus
un ka tur viens li laikā,
visi tērzēšanas ziņu, ir gatavojas parādīties starp Alice
un Bob un tad tur ir Vienkārša veidlapa ar teksta laukā
un iesniegt pogu ar kuru Alice
vai Bob faktiski var ziņu otru.
Tāpēc neto ietekme, ja Es palaist šo pieteikumu
darot mezglu telpu app dot js, ja es uzvilkt pāris
pārlūka logu ir tas, ka Alise varētu būt labajā pusē,
Bobs varētu būt pa kreisi un tikai
lai būtu skaidrs, tur nav burvju šeit man viens logs
inkognito tāpēc nav apmaiņa sīkdatņu vai kaut
piemēram, tas, tie ir divas atšķirīgas lietotājiem.
Man vajadzētu būt iespējai Alice sasveicināties Bob, noklikšķiniet jāiesniedz
un tagad jūs redzat pa kreisi ka Alises ziņojums tika nosūtīts
un gandrīz uzreiz uz labi.
Nē aptaujas šķietami iesaistīts, Bob saņēma to pašu ziņu.
Tagad saka Bobs saka Hey Alice redzat pretēju efektu.
Tātad, kas īsti notiek, kā daudz kods mums ir nepieciešams, lai rakstītu
lai īstenotu šo tērzēšanas serveri
ko jūs tagad var ekstrapolēt garīgi, ka ikviens
šajā telpā, ja tas nebija par manu [dzirdams]
bet foo dot com mēs visi varētu sākt čatā uzreiz
ar otru.
Tātad, kas ir iesaistīti, un, pirms es notīriet šo ekrānu, tas ir tas
ir tikai socket io ir mazliet skaļš, tas ir tikai drukāšanas
out atkļūdošanas informāciju uz ekrāna,
tur tiešām nekas cits notiek tur.
Tāpēc ļaujiet man atvērt app dot js, tāpēc kā līdz šim mēs esam ieguvuši dažas lietas
augšpusē faila.
Prasību ķekars, tāpēc tie ir līdzīgi bibliotēkas
vai asināt clues vai pieprasīt onces kāds garīgo modeli jūs
vēlas, lai būtu, un tikai lai Atgādinājums FS lieto
par kāda veida funkcionalitāti?
Tātad, failu sistēma, lai lasīšanas failus potenciāli un sīkumi, piemēram, ka
un es izmantoju šo vienā vieta, kā jūs redzat,
izteikt, protams, ir tas sistēma, kas mēs esam, izmantojot,
tas noteikti nav nepieciešams, mēs varētu
piemēram, pirmdien pilnībā izveidotu mūsu pašu http serveri no nulles
darot izveidot serveri un viss Šāda veida kodu no līdz
bet kā mēs redzēsim tas padara lietas mazliet vieglāk
jo viss, kas man ir jādara, ir gada 3 line šeit instantiate
un izteikt objektu, es aicinu tas app, nedaudz patvaļīgi,
Es tad saku app klausīties patvaļīgi ostas 1337,
, kas varētu būt 80 pēc vienošanās
un tad visbeidzot man ir jauns līnija, šodien, kas saka
pieprasīt kontaktligzdu io bibliotēku un pēc tam
Šajā ķēdes pieeja Tas dot operatoram es esmu tikai
aicinot mācība klausīties, kas ir būtībā stāsta kontaktligzdu
io bibliotēka arī klausīties ar šo pašu serveri
vai tīmekļa ligzda savienojumi.
Tātad tagad, ko, lai to, kas ir šis darot, šie četri līnijas
kodu šeit, kas būtu izskatās atgādina larevel,
ko tas pārstāv?
>> [Nedzirdams sadaļa]
>> Tas ir ... maršruts, tikai maršruta tāpēc app dot JS,
aka serveris dot js atkarībā par to, ko cilvēki vēlas, lai izsauktu to
savu pieteikumu Jums ir konvenciju
kā to definēt savus maršrutus,
app dot get nozīmē, ja jums GET pieprasījumu iet
lai burtiski slīpsvītra iet uz priekšu un nosaukt šo anonīmu funkciju
un anonīmu funkciju Šajā gadījumā notiek ar prasību
vai pieprasījumā, un atbildes, potenciāli dažas citas lietas
bet minimāli šie divi.
Pieprasījums dod jums piekļuvi uz lietām, piemēram, http parametriem
un galvenes un citas sulīgs lietas
un pēc tam reakcijas ir mehānisms
ar kuru jūs varat reaģē uz lietotāja.
Tāpēc tas ir super vienkārši pat lai gan mēs neesam redzēt gluži
Tas pats kods pēdējo reizi, es esmu izmantojot failu sistēmas moduļus,
izveidot lasīt plūsmas metodi kas būtībā ir tas, ka,
izveidot lasīt straumi, kas būtībā nozīmē sākt slurping
līdz baitu no indeksa dot html cik vien iespējams efektīvi
ne vienmēr gaida līdz jūsu lasīt visu failu
un kā jūs to darīt caurule tos burtiski
vertikālā stieņa nozīmē Ja esat apmierināts
ar Linux komandrindas,
pipe to reaģējot objekta.
Tāpēc bija divi piemēri kas saistīti ar plūsmas pirmdien,
mēs tikai paskatījās vienu, bet Jūs esat laipni aicināti atskatīties
pie strauta o un plūsmā 1.
Stream 1 ... 0 darīja kaut kas līdzīgs tam,
plūsma 1 izdarīja kaut ko gandrīz tieši tāpat kā tas,
tas ir tikai slidens viena līnijpārvadātāju, kā pateikt veida
gada slurp kaut ko vairāk šeit un tad sākt nosūtot to šeit
vienlaicīgi bez darot masu vienojas
un tad masveida tiesības,
šī pieeja ir parasti efektīvāku.
Tātad tas ir sava veida veco stuff pat ja tas bija jauns pirmdien,
tas ir viss, kas nepieciešams, lai īstenot tērzēšanas serveri
ar mezglu JS un vairāk īpaši socket dot IO.
Tātad, kā tas darbojas, ļaujiet man pārvietot to uz augšu mazliet,
tāpēc io ir tikai mainīga kas attiecas
moduļu mēs prasīts agrāk,
dot ligzda ir tikai īpašums iekšpusē no tā
kas dod man ligzdu saistītās funkcijas
gada ir izplatīta metode, kas ir saistīts ar to, kas vispār jēdziens?
Pasākums utt aka klausīties dažas bibliotēkas Tas tikai nozīmē,
dzirdot šo notikumu ko sauc savienojums
un tagad jūs zināt, tas tikai no izskatot dokumentus,
kurš rakstīja bibliotēku definēts notikumu sauc
savienojums, ko dara kādas ir jūsu domājat
kad Alise un Bobs savieno.
Iet uz priekšu, un to sauc par anonīmu funkciju ņemt iet
vienā argumentu klients kas acīmredzot kaut kāds
Objekta, kas pārstāv Alises savienojums
vai Boba savienojumu vai Charlie vai kāds cits
un tagad mēs šādi.
Mēs pateikt klientam pēc viņš vai viņa ir pieslēgts
klausīties īpaši
par ziņu, ka ir pilnīgi patvaļīgi sauc ziņa
resnās zarnas klientu.
Tas ir kaut kas Tim un Man nāca klajā ar, tas varētu būt foo
vai bar, tas ir tikai daži unikālu stīgu, kas mums vajadzīgs
lemt par izstrādātāji.
Ikreiz, kad Alise un Bobs dzird
ka pasākums šajā anonīms funkcija būtu jāaicina
un datus, saturs Alises
vai Boba ziņa būtu pagājis šajā notikumu apdarinātāja
un tagad to, ko vajadzētu klients darīt arī jūs varat veida
un izlasīt šo diezgan intuitīvi klientam ir raidījums,
citādi zināma kā EMIT ziņa sauc metode serveris
tādējādi iezīmējot šo ziņojumu nāk no servera nav
no pārlūka un ko tas, ka ziņa ir,
tas acīmredzot komerckrava no kāds nāca no klientiem
un mēs esam tikai gatavojas patvaļīgi to sauc par ziņu.
Tik daudz no tā ir patvaļīga
ar saprātīgu nosaukumiem konvencijām, Tims un es atbraucu
līdzi, pārsvarā Tim un tad mēs vienkārši rada galu galā
tērzēšanas serveri, ka tas, ko, kad Alise nosūta ziņojumu
un hits ievadiet notikumam acīmredzot izpaužas karsētie,
tikai Atgādinājums.
Alice veidu ziņu, hits ievadīt, ziņu klients ir atlaists,
Šis kods dzird, ka, un tagad serveris raidījumiem, ko,
kas ir gala rezultāts tas tiešām?
Alise sūta ziņu tagad serveris līdzvērtīgā kvalitātē retranslē to
faktiski ikvienam, izņemot par Alice, kāpēc visi izņemot
par Alice, ja jūs paskatieties
pie dokumentācijas klienta dot raidījums dot atzīst,
burtiski tas, ka, raida ziņu
ikvienam, izņemot klients, kurš jums nosūtīts
ka pēdējo ziņu.
Tātad, tas ir iemesls, kāpēc jums ir tikai redzēt to, kad katrā pusē,
Jūs neredzat gan Alise un Bob kļūst Alises vēstījumu.
Tātad tas ir tas, tas ir izklāšanas aģents
ja jums tas ir tikai ņemot ziņās
un retranslācija ārā
un tas ir ievērojami mērogojams Es domāju, pat
ar super vienkārši serveri un dažas rindiņas
Koda jūs varētu noteikti rokturis simtiem, ja ne tūkstošiem
vienlaicīgu vienkāršas ziņas iet uz priekšu un atpakaļ, kā šis
un tikai iedomāties, cik sarežģīta Tagad to izdarīt ir PHD
vai Larevel vai manu SQL un cik daudz kodu, jums būs
rakstīt, lai reāli panākt.
Tagad taisnīgumu šajā nav noturīgs taisnība
Ja serveris iet uz leju mēs zaudējam visu vēsturi
tāpēc tas nav gluži perfekts tulkojums, bet tas ir
ka taisni uz priekšu.
Apskatīsim Java skriptu kodu mēs izlaidis vairāk nekā agrāk,
tas ir Alises un Boba klients,
mājas lapā viņi izmanto tagad aplūkosim šeit uz brīdi.
Tur ir nedaudz vairāk kodu
bet tas ir diezgan daudz tikai jQuery šeit, lai paziņojums
ka mājas lapā ka es velk
up pirms brīža mēs ietver jQuery bibliotēku,
ligzda io bibliotēku un kā malā pamanīt atšķirību
šeit, slīpsvītra slīpsvītra sākums ceļa
piemēram, tas nozīmē, kas tieši,
kur ir jQuery dot js uz kāda servera?
Jā.
>> [Nedzirdams sadaļa]
>> Tas ir internetā yeah burtiski sauc kods dot jQuery
dot com tad kāpēc slash, slash, kāpēc ne tikai vienu slīpsvītra
kur ir http vai resnās zarnas, ko tas nozīmē vispār
ja jūs slīpsvītra slīpsvītra sākums url?
Tas ir tiešām noderīga.
Labi, lai to, kas ir acīmredzami trūkstošo http tagad, ja mēs iemesls
caur šo loģiski, parasti jums nav nepieciešams
pieminēt serveru nosaukumi tiesības
piemēram, ja tikai izmantot slīpsvītru jQuery dot JS, kas ir pieņemts,
pārlūku?
Ka fails ir tas pats serveri, lai turpmāk šāda veida
loģika, ja jums nav pateikt tas, kas protokolu, kas ir
pārlūku pieņemu, pats protokols tādēļ Ja jūs esat kādreiz apmeklējis tīmekļa vietnes
, kas dod jums kļūdas kopā līnijas nedrošs saturs
šajā lapā, tas ir tāpēc, kāds ir grūti kodē http
Kols slash slash URL attēlu vai Java skriptu fails
vai CSS failu, kaut kas līdzīgs, ka avota kodu lapā
bet lapa pati pārlūki URL ir http s.
Tāpēc tas ir tikai fancy maz veids
, sakot, es nezinu, kāda protokols
ka šie galalietotāji gatavojas izmantot
bet tikai pārliecinieties, ka tas sērkociņi tā, hroms
un citos pārlūkos nav bļaut lietotājam.
Tikai nozveju ir jQuery cilvēki bija labāk noteikt
līdz https uz savu serveri.
Tāpēc tie ir faktiski sarakstā ar 443.
Visas tiesības tikmēr šis viens te ir sava
maldinošas slīpsvītru ligzda io iesaka
ka tur ir direktoriju sauc ligzda dot io uz mana servera
bet tur nav, ja mēs kule
apmēram tur Mezgls moduļa katalogs
bet nekas sabiedrību par to,
kad mēs konfigurēt kontaktligzdas IO klausīties uz tiem pašiem ostām,
1337 būtībā, ka bibliotēka ka kāds cits rakstīja notiek
lai veida ievietot kādu kodu uz mezglu JS vidē
un tikai klausīties šo ceļu.
Ka bibliotēkā ir tikai konfigurēta maršrutu uz to,
tas nav īsts direktorijā.
Tas būtu Standarta Atrašanās vieta.
Labi, lai tagad interesanti daļa,
tad, kad dokuments ir gatavs, kā norādīts
Šajā jQuery būvēt, vispirms es iešu uz priekšu
un savienojumu ar ligzdu,
kāda ligzda vienkārši ... turēt to vienkārši es esmu gatavojas, lai savienotu
slīpsvītra, kas ir , kur lietotājs,
Esmu tur piemēram, vienkārša mēs esam tikai gatavojas, lai savienotu
ar tieši tādu pašu URL, kas lietotājs ir apmeklējis, tad es eju
darīt šādi, es esmu gatavojas pateikt Alises vai Boba pārlūkprogrammu
lai klausītos ziņu no servera.
Atkal tas varētu būt foo
vai bar jums jebkurā brīdī dzirdēt ziņu
no servera Call to datu un pēc tam darīt šo jQuery kodu
ko es esmu guessing vairums, ja ne visi ir pazīstami
ar šajās dienās, bet būtībā pin sarakstā objektu
esošajai LU kas sauca ziņas
kas burtiski saka kāds lietderīgā slodze ir
un tērzēšanas ziņu, kam seko defisi, kam seko saņem
seko atstarpe, un pēc tam atjauninājumu laiks un tas ir iemesls, kāpēc
lai būtu skaidrs, ja mēs ejam atpakaļ
lai tas jums šos papildu lodes atkal un atkal
un atkal ar datumu laiku.
Tikmēr, ja mēs skatāmies noteikti šeit mums vienkārši ir
rīkoties veidlapu iesniegšanas tā ka bija saņēmēja
tūlītējās ziņojumapmaiņas, lūk, sūtīt un tas ir sava veida
un nav saistīts ar mezglu JS, klausīties veidlapām iesniegt notikumu.
Kad tas notiek novērstu noklusējuma, Tas tikai nozīmē, neiesniedz to
ar serveri parasti veids, pārlādēt visu lapu,
mēs vēlamies darīt visu, izmantojot Ajax.
Lūk, tikai daži jQuery kodi
lai faktiski saņemtu ievadi kuru tips ir ziņa,
kura vārds ir ziņa iet uz priekšu
un saņemt tā vērtību tad iet uz priekšu
un, ja jūs faktiski ir ziņu, ja Alise un Bobs
vai Bob faktiski veidi dažas none 0 keystrokes izstarot
uz ligzdu ziņa sauc ziņu klients ar šo lietderīgo slodzi
un tad uz leju, šeit tas ir kas padara zaļā pretstatā
sarkans, mēs vienkārši produkcija Ierīce side [nedzirdama].
Tātad, tas arī viss, bet visi tas ir tikai izveidota,
reālā jaunu stuff es būtu apgalvo, ir tikai šie trīs
vai piecas rindas kodu šeit un ka veida mājieni pie varas
Mezglu JS un līdz ar to šo konkrēto bibliotēku.
Tātad, pieņemsim ātri apskatīt izteikt dot JS,
lai to, ko es esmu gatavojas, lai mēģinātu darīt atlikušās pāris
Protokola šeit ir izveidota daži ideja, daži paņēmieni
kas tad pāris minūšu pārtraukumu, Tim izveidos
un tad mēs nirt dziļāk
lai interesantāk izteikt pieteikumu un arī
uz grāmatplauktu, bibliotēka Tim faktiski wrote
par atvērtā pirmkoda kopienu
kas dod mums daiļrunīgs gaismu funkcionalitāti ar manu SQL
un darījumi un citas šādas funkcijas un viņš arī nirt
ir mazliet dziļāk, lai valodas Java skripts pats
cik tā mērķis vai ne-klase modelis darbojas citādi zinu
kā prototipa modeli, dažas vairāk par to, kas nāk.
Tātad, pieņemsim to apskatīt divas pēdējās pieteikumi šeit, serveru pieci
un serveris 6, kas visi ir veida līdzīga garu,
tie nav tērzēšanas serveri bet tās izmantot express.
Tātad, pieņemsim to apskatīt ko tas patiesībā dara,
Es iešu uz priekšu un open ... Es esmu gatavojas palaist šo app
ar mezglu app JS, es esmu gatavojas doties atpakaļ uz manu pārlūku un pārlādēt
un tas ir acīmredzami tas viss serveris dara,
tas ir super vienkārši serveris tas acīmredzot meklēšanu
motors tāpēc, ja es tipa foo un iesniegt, bez meklēšanas rezultātus
par foo, man nebija saņemt ap īstenojot sarežģītu
back end, viss notiek
to darīt, ir atbalss vienalga ko Rakstot nekādu rezultātus foo,
nekādi rezultāti bārā Tātad, kā mēs to darām
jo tur ir pāris gabali, viens,
tur ir skaidri daži izejvielas tiek sniegta
ar serveri ne Larevel Protams, bet mezglu js tagad
tāpēc mums ir nepieciešams kaut saņemt tajā parametru Q,
mēs skaidri darām sava veida skatu šeit
mēs esam padarot skatu tā varbūt tur ir iespēja
veidnes vai mainīga interprelation [fonētiskā]
tāpēc pieņemsim to apskatīt pie šādiem.
App JS šajā konkrētajā serveris, tas ir viss, kas mums ir.
Viens mēs pieprasām izteikt pati, divi ceļu modulis
kas tikai dara dažas noderīgi sīkumi
piemēram, savieno virknes kopā, un tā tālāk par mani,
Es klausos par ostas 1337 un Tagad tas ir jauns, tā izrādās
no šī Express piemēram Larevel atbalsta dažādus plug ins
un tehnoloģijas un citas lietas, un viena
no tehnoloģijām, kas jums varat kontaktdakšu ir skats dzinējs
kas nozīmē tikai to, ko šablonu dzinējs jūs vēlaties izmantot,
Larevel bija to pašu lieta, bet jūs varat plug
dažādas lietas, dažādi persiku P sistēmas ir
dažādi veidi, kā šablonu, EJS ir tikai kopīgs
un diezgan vienkāršs dzinējs ka tikai pieņemsim jūs darīt lietas
piemēram, cirtaini lencēm, kas jums bija Larevels sintakse
aizvietošanai mainīgos,
tas ir nedaudz atšķirīgs sintaktiski ir viss.
Tāpēc tagad tas ir lieta, ko sauc vidū izstrādājumi lai jūs redzēsiet
savā komandas mezglu projektam vidū izstrādājumi ir tikai sava veida kods
vai arī bibliotēkas, kuras jūs injicēt
uz [dzirdams] Atbildot dzīves cikla pieteikumu,
citiem vārdiem sakot, šie divi līnijas stāsta Express
darīt kādu papildus darbu starp kad tas kļūst pieprasījumu
un laikā starp tā nosūta ka lūgums savu maršrutu,
Jūsu kods, ka jūs esat rakstiski.
Tāpēc jo īpaši šī līnija šeit izmantot ātrā dot statisko un visiem
Šīs sarežģītības tas tikai nozīmē, ja jūs redzat pieprasījumu
kas nāk par statisko failu piemēram, foo dot Jif vai foo dot CSS
vai foo dot JS tā nav dinamiski radīts maršruts,
iet uz priekšu un uzņemties tā dzīvo publiskajā apakšdirektorijā,
tas ir viss, kas dara.
Tas ir veida, piemēram, kartēšanu Larevel, viss uz jūsu web
vai jūsu publisko katalogs drīzāk Larevel.
Šis nākamais rindā ir tikai sakot, es vēlos izmantot ceļus,
Es vēlos izmantot lietas piemēram app dot nokļūt
ko mēs redzējām pirms brīža un mēs redzēsim tikai sekundi tagad.
Tāpēc app dot saņemt līdzekļus klausīties šo maršrutu,
slash, kad jums to saucam anonīma funkcija, kas ņem
uz pieprasījumu un a reaģēšanas un tagad tikai
piemēram Larevel jums ir veids, kausēšanas veidni,
atbilde dot apmetuma, quote likt pēdiņas beigās indekss,
padarīt ir veidne sauc indekss,
tas arī tāpēc pieņemsim apturēt, ka vītne tikai brīdi izskatu
at saturam views katalogs
un paziņojums, tas arī ir super vienkārši tagad,
tur indekss dot EJS un meklēt dot EJS,
Es, protams, vēlos pirmais
jo tas ir viens es tikko noguris, lai padarītu un mēs redzēsim
in views indeksa dot EJS lielākā daļa faktiski pilnībā vietu
brīdī, tur ir faktiski nav šablonu notiek.
Tāpēc es tehniski nebija pat ir nepieciešams, lai izsauktu to EJS,
Man nav nepieciešams, ka funkcionalitāti bet es tur tā vienota,
tā, ka viss, tas ir tas, ko dod man, ka super vienkāršu formu.
Tātad tur ir tikai viena trase, Ja mēs skatāmies uz leju, šeit es esmu teica
ka tas ir tas, kas rokturi iegūt slash meklēšanu tāpēc faktiskā šķirotu
Google, piemēram, pārkraušanas veidlapu iesniegšanas, ja jums
ka ceļš saucam anonīms funkcija
un padarīt veidni sauc meklēšana
un kas ir otrais arguments, iespējams, domā.
Izskatās, JSON objektu veidu vai Java skripts objekts.
Kas ir loma, kas Otrs arguments, iespējams?
>> [Nedzirdams sadaļa]
>> Faktiskais vaicājums, lietotājs ierakstījāt acīmredzot dzīvo
ar lūgumu dot vaicājumu, vaicājums kas attiecas uz visu
Pēc jautājuma zīmes dot q kura ir patvaļīga nosaukums
ka man bija tā, tāpat kā Google
un tikmēr q resnās ir tikai sakot nokļūst veidni,
meklēšana dot EJS, q taustiņu un vērtību
no kāda q faktiskajiem vērtība bija.
Lai atstāj tikai vienu failu interesē viedokļiem,
meklēšana dot EJS es tur tas super vienkārši pārāk,
Tas ir galvenokārt tikai vietu, izņemot vienu nedaudz ievērojamo rindā
kas tas ir sintakse šeit kas izskatās kā ķekars
dažādu šablonu dzinēji tas tikai nozīmē, plug
vērtības q un padarīt to treknrakstā.
Tāpēc tur nav reāla meklēšana funkcionalitāti, bet tas veids
un ieteikt, kā to darītu strukturēt skelets
Pieteikuma, piemēram, ka.
Tikmēr ... patiesībā es var būt viena cita lieta,
ievēroju, ka man ir dažas html šeit CSS failiem
un Java skriptu failus, tur nekas šajos failos
brīdī, bet paziņo, ka ir publisks katalogs
kā jau teicu agrāk statiskā failus, tāpēc, ja es dodos
tur tur ir mans css direktorijā,
ja es iet tur tur stili dot css
un tur nav saturs tur
bet tas, kā tu būtu ir valsts pieejamas failus.
Labi, pieņemsim to apskatīt vienā citā variantā šeit
un tad mēs ieviest viena ideja, un pārtraukums.
Tāpēc tas ir serveris 6 pēdējais, tāpēc tas ir gandrīz identisks, izņemot
par grunts divām līnijām kas izskatās šādi.
Tik tiešām tur Trešā līnija, kas ir atšķirīgs
bet es esmu paslēpta ... tāpēc ļaujiet man atpakaļ uz augšu nedaudz, lai kāds, kurš vēlas
ierosināt to, kas notiek šeit lajs izteiksmē
vai tehniskie termini Kas ir atšķirīgs par šo versiju
attiecībā uz tiem līnijas top mezgliem.
Kas es esmu, iespējams, darīts šeit un kāpēc?
Jā, Sharon.
>> [Nedzirdams sadaļa]
>> Jā, tas izskatās, ka es esmu pārcēlās indekss un meklēt
tāpēc atsevišķi tieši vai kaut ko, Esmu ņemt ārā
, un tas ir tā, ka daudz, piemēram, in Larevel jūs varētu likt visu
Jūsu kontrolieris loģiku iekšpusē maršruti dot php
ar anonīmu funkciju atkal un atkal, un atkal
bet lieta, protams, var iegūt diezgan liela
tāpēc maršrutos dot PHP, kas visvairāk
no jums puiši ir darījuši ir esat norādījis nosaukuma
no dispečera klases vai pat nosaukums metodes
ka vajadzētu saņemt sauc
tā pati ideja šeit pat ja sintakse ir nedaudz
atšķirīgs tāpēc šeit paziņojums
ka man ir acīmredzami īstenoti mana mezglu js
modulis un modulis ir tikai Java skripta failu, kas ievēro
būtībā viens konvencija ka mēs redzēsim tikai brīdi.
Tātad pieņemsim, ka visas manas funkcionalitāte indeksu
un meklēšanai, ir acīmredzami nodotas šajā direktorijā
un tagad es esmu aicinot šo visu moduli vai iepakojums vai bibliotēka,
ko jūs vēlaties domāt par to, kā,
kā maršrutus mainīgais sauc maršruti.
Tātad acīmredzot tur maršrutos dot indekss ir metode, ko sauc
indekss un acīmredzot tur ir citu metodi sauc meklēšana
šajā maršruti moduļos vai bibliotēka
un es esmu tikai maršrutēšanu tikai tāpēc, ka man nav likts viss
mana anonīma kodu iekšpusē manu app failu.
Tāpēc iesim uz ceļiem novērojat tur ir tikai indekss dot js
un, ja es paskatos šeit tas ir konvencija Es gribēju agrāk
tāpēc tas ir diezgan patvaļīgi bet tas ir mezglā konvencija.
Katru reizi, kad jūs īstenotu savu mezglā js bibliotēka,
aka modulis jūs būtībā varat rakstīt jebkuru Java Script kods ir
vēlas šajā failā, tā būs ir ļoti tīri smiltis liekami
tāpēc, ka visi mainīgie jums izvēlēties ne saduras
nevienam citam bibliotēkas, mainīgos lielumus vai metodes vai jebko
piemēram, ka tomēr kaut kas Jūs vēlaties, lai atklātu
ar ārpasauli ala sabiedrības metode Java script
vai php vai citās valodās Jums ir plunkšķis iekšā
globālas objektu, kas autors mezglu sauc par eksportu.
Tātad, veicot eksportu dot indekss Es pakļaujot lietotājiem
Šī moduļa metodi, ko sauc indekss, kas kartes, lai šo funkciju
tāpēc tas ir anonīms labajā pusē
bet es esmu faktiski piešķirot tai vārdu kreisajā pusē
un eksportēt uz pasauli
, lai jūs varat zvanīt dot indeksu vai dot meklēšanu.
Tātad, lai būtu skaidrs, ja man bija arī kaut ko līdzīgu funkciju foo
šeit tas bija kaut kas
šī funkcija būtu absolūti darboties,
tas varētu būt sauc Šis fails bet neviens
ārpasaulē auksts kādreiz zvanu foo
jo tas nav ticis eksportēts veidā šī dot apzīmējumu.
Tātad tas ir viss, kas notiek,
viss ir labi nosaukt izvietotas jums.
Tāpēc gala rezultāts, ja man mezglu app un pārlādēt lapu ir
ka, ja es tagad meklēt
par bar ... funkcionāli šie progr ir vienādi
bet tas ir tikai sava veida solis uz tīrāku īstenošanu,
protams, ja jūs sākat rakstiski vairāk un vairāk kodu
un tas ir viss, tie ir.
Acīmredzot nav īpaši sarežģītu vai sarežģīta
bet būtībā sākumpunkts
par to, kas būs jūsu Pirmais mezglā js app.
Ko mēs darīsim, iespējams vēlāk šonedēļ vai šajā nedēļas nogalē
kā jūs apdares līdzi php pieteikumi mēs sekot
klajā ar diezgan vienkāršs pieteikums komanda nirt
par līdzīga garu iesildīšanās pasākumā php
, kas balstās uz mid semestris aptauja,
ļaudīm bija atrast noderīgu iet izdarot
darīt kaut ko diezgan vienkāršs
bet diezgan vadīties pirms jums faktiski risināt kaut ko vairāk
par savu, lai mēs sekot līdzi, kas
un būtībā būs jo nedēļu un pusi
tagad pārklājas nedaudz ar php apzināti.
Kādi jautājumi, tad par izteikt, par ligzda IO
vai apjukumu atlikušo no pirmdienas iespējams.
Visas tiesības tā, cerams, viens no take-a-veidos līdz šim ir
ka tur ir daži no šiem lietas, protams, daudz mazāk
pieskaitāmās izmaksas nekā jūs varētu ir izmantoti, lai.
Tāpēc ļaujiet man iepazīstināt viena pēdējā doma,
tāpēc ļoti bieži programing paradigma
Java skripts, kas ir faktiski atrodas jQuery
Pēdējos versijās tā varētu būt tiešām ir redzējis šo tehniku
agrāk, bet tas ir arī diezgan bieži mezglu js pasaulē,
tas ir izplatīts Tim s savu grāmatplauktu bibliotēka
tāpēc mēs pārskatīt šo konkrētāku piemēru
brīdi ir risinājums ar kodu, piemēram, tas,
Tas tiek uzrādīts koda mēs redzējām pirmdien, lai lasīt failu
Šajā kontekstā nav īsta metode, tas ir līdzīgs garā
līdz fs dot lasīt failu, bet pieņemu ka tas ir tikai daži, kas
up metodi, kas nav kaut kas ļoti līdzīgs.
Tāpēc mēs uzbrauca daži jautājumi pirmdien kopumā
tā, kādi ir veida ... kāpēc tas ir slidenas nogāzes,
tas atzvanīt paradigma gada programing Java skriptu
un zvanu atpakaļ paradigma Es tikai domāju šo tehniku
ja jums nav atgriezties vērtības uzreiz
jo tas varētu bloķēt serveri
no darot kaut ko citu, kas ir noderīgi, jūs, nevis atzvanīt
piemēram, Kontroles mehānismi pie sakratīt Būda, kad esat gatavs
nodot atpakaļ atbildi kā argumentu.
Tas ir slidenas nogāzes
ja tā ļoti ātri kļūst kaitinošas kāpēc?
Jā.
>> [Nedzirdams sadaļa]
>> Jā, minimāli tā kļūst veida nesalasāms tiesības
ja jums ir visas šīs zvanu muguras un, ja jūs pielipušas
ar labu stilu tas kļūst diezgan plaši atkāpi
laiku un lietu, man norādīt to Piemēram, ja jūs veida nosmelt
caur to ir vienkārši domāts, lai atvērt XML failu un izdrukāt,
piemēram, ka ir tā, un tomēr mēs ir dažas 8 vai 10 rindas šeit
kas jau ir sava un pretīgi atkāpi,
mēs esam ieguvuši izmēģināt nozveju, kas ir
Ja jūs esat pazīstami, ir kļūdu apstrādes tehnika
, kas ļauj jums izmēģināt kaut ko
un, ja tas neizdodas, tad jūs nozvejas to, cerams,
bez jūsu visu programmu izbeidz bet tur ir
tik daudz sarežģītību kā jūs veida gada ir domāju, ka tas, izmantojot
un nedod Dievs mēs pāris citi asinhrono metode prasa,
lieta jau ir būs vairāk nekā šeit,
Jūs varētu domāt, tas ir sava veida par dumjš estētiskā, bet tas
jo atzvanīt paradigma ir tik izplatīta vismaz
dzimtajā mezglu kodu šajā ļoti ātri kļūst garlaicīgs,
grūti atkļūdot, atkāpes sāk svarīgi, lai jūs varētu šķirot
Chase lietas, uz leju, tas ir vienkārši nav ļoti laimīgs veids
gada programing.
Tātad, ko ļaudis ir darījuši
dažādu konteksta mezglu vidū viņiem ir mēģināt vienkāršot to,
os piemēram solījumiem ir vēl viens veids, domāšanas
par rakstveidā asinhrono kodu kas vizuāli kļūst kaut
piemēram versija 1 stāšanās šī versija 2.
Es pretenziju, un tas ir atkal tikai veida sajaukts
starp faktisko kodu un pseido kods, tas ir reprezentatīvs
par to, kā jūs varētu atkārtoti īstenot ka tieši tas pats,
atvērt JSON failu, izanalizēt to un izdrukāt
, izmantojot kaut ko sauc solījumi
un galvenais sintakses detaļa ir
ka tur Ķēžu šeit notiek.
Ievērojiet, ka vienīgais semikolu
kopumā ... faktiski arī pieņemsim ... Es nevēlos, lai maldinātu.
Tas nav obligāti nepieciešams bet būsim konsekventi,
pamanīt, ka semikolu , kas attiecas uz atvēršanas
visa šī paziņojuma ir visu ceļu uz leju šeit.
Tāpēc, kamēr es esmu formatēti šo ... veida izskatās
piemēram, trīs paziņojumi, trīs apgalvojumi, ka jūs varētu redzēt
Java un citās valodās ka ir Izmēģiniet un nozvejas
un izņēmumu apstrāde kopumā.
Ievērojiet, ka es tikai ķēdes atgriešanās vērtību katram
no šīm metodēm kopā.
Tātad, kas notiek, nolasīt failu ja tas ir metode, kas pastāv,
acīmredzot mēģina lasīt šo failu,
dot tad tā, tad ir ļoti parastais nosaukums dots pasaulē
no solījumiem metode, kas būtu jāizpilda
ja iepriekšējais lieta izdevās.
Tātad, tas ir veids, piemēram panākumiem apdarinātājs, tāpēc tad JSON dot apstrādāt,
labi JSON dot parsēt ir tikai metode
pasaules json bibliotēkā un tas acīmredzot ievēro
Šajā gadījumā solījums modelis
tāpēc mēs sakām, mēs varam tikai Pieņemsim, ka nosaukt šo puisis
un, ja tas izdodas, tad nosaukt šo puisis, un pēc tam
ja tas ir faktiski izpilda vienkārši mierināt log datus
jautājumu.
Tātad, kur ir kļūda apstrāde, ievērosiet, es esmu veida
ļoti akli pastiprināts off šo dzega
un tikai sauc to metodi un pēc tam šī metode
nekad pārbaudes problēmām.
Nu, kur ir tie problēma iespējams, rīkojas ... šajās
cache paziņojumi tik dažādi bibliotēkās, izmantojot atšķirīgas
konvencijas bet tad šī lieta ir sava
panākumu apdarinātāja, kešatmiņu ir sava veida kļūda apdarinātājs
un tāpēc, ka mēs esam nav bojāts šajā ķēdē, mēs tikai saglabāt, izmantojot
dot notācija saistīt kopā oriģināla metode piesaukšana
un nolasīt failu un funkcijas piesaukšana kļūdas kārtošanas
burbuļiem savu ceļu pa ķēdi
līdz brīdim, kad viņi faktiski apstrādā kas ir daudz tīrāks nekā mēģināt
lai tiktu galā ar to katru damn solis ceļu
lai jūsu kods ir ļoti ātri kļūst nereāls dati.
Šajā gadījumā mes to apgalvojot, ka mēs cenšamies
lai noķertu to, ko sauc sintakses kļūda, tas ir būtībā
apakšklase vispārīgāka kļūda, un, ja tas notiek prasību
ka tas ir nederīgs JSON citādi ja tas ir vairāk vispārējs kļūda
ka mums nebija gaidījis tikai vispārīgi pateikt nevar
nolasīt failu.
Tagad tas ir tikai domāts par reprezentatīvu kodu
bet, ja jūs esat ieprogrammēts neapstrādāta Java skriptu vai Java
vai citas valodas, tas ir procesuālā kods būtībā,
tas ir daudz tradīcija mēģināt nozvejas paziņojumu
un tas ir estētisko un funkcionalitāte, kas sola
vai mēģina sniegt jums , kurā jūs varat domāt par to
kā tikai rakstiski, izmēģināt un pēc tam nozvejas, un tad nozvejas kam nav
jāuztraucas ik Vienīgais iespējamais punktu
kur kļūda varētu rokturi ... notikt,
Jūs varat rīkoties ar to visu galu, cik nepieciešams nelielu bloks
kodu, un jūs pat varat atšķirtu kļūdām
kā jūs varat šajā lietā šeit.
Tā nomenklatūra, ka jūs sk literatūrā varbūt
Tim piedāvā dažus tas sīkumi arī ir
ka ideāli vēlaties sola atrisināt
un atrisināt solījums līdzekļus ka beidzot atgriezīsies tā runāt
bet ne tradicionāls pielietojums vērtības, tāpēc tas nu izdodas
pēc būtības neizdodas.
Visas tiesības jebkuriem jautājumiem, tad, tas nav domāts, lai būtu pietiekami daudz
iedarbības uz solījumiem bet tikai garīgās modelis
Lai iegūtu kodu, jūs sāks redzēt.