>> Olgu nii et me oleme tagasi, paar eesmärgid täna
me sealt, kus jätsime maha viimase aja
Meenutame, et olime muutes selle järjest
serveri rakendustes super lihtne, kuid kasutades sõlme JS
ja siis ka hiljuti kasutades Express touch AS
ja mida väljendati JS analoog PHP maailmas.
Nii Express on rohkem ... lähedal,
nii Express on sisuliselt MBC raamistik, mis on päris
populaarne sõlme js maailma
Raamaturiiul mis me näeme täna via Tim on analoog
on väljendusrikas, mis on ORM Objekti seoses kaardistaja
et tegelikult teeb lihtsamaks vältida madala SQL kood
ja tegelikult väljendada suhted seas erinevaid esemeid.
Nii üks lahedam asjad ausalt
umbes sõlme js on vaid kuidas lihtsalt see sobib
teeme reaalajas rakendusi, asjad chat serverid
või sõnumite serverid midagi, mis te nüüd kasutada
nagu Google ... G-chat või Google hangoutiga
või Facebook staatus värskendusi või isegi Twitter kui te olete
oma veebilehe kõik on omamoodi reaalajas
või annab teile illusioon reaalajas
ja see on tegelikult valu Kaela pistmist midagi
nagu PHP ja My SQL õigus, mida me pakkuda
Esmaspäeval oleks vahend
mille abil saaks rakendada illusioon reaalajas käitumine
koos chat server PHP, mida sa pead tegema?
Alice saadab sõnumi, tabab sisestage kus see kadus?
Jah.
>> [Kuuldamatu lõik]
>> Into andmebaasi ja siis mida see Bob brauser on
teha tegelikult näha Alice ütles, jah?
>> [Kuuldamatu lõik]
>> Hoidke valijate andmebaasi, Hästi, ajax taotlus on
tulistada iga teine, iga paari sekundit või me rääkisime lühidalt
kuid ei vaadanud näide midagi, mida nimetatakse pika küsitlused
keegi meenutada, kuidas
et mehhanism ... edasi kõrgetasemeline töötab?
>> [Kuuldamatu lõik]
>> Just, jah nii brauseri ikka teeb ajax taotlus
et server, et suva dot php aga suva dot php lihtsalt tundub
riputada ta sisuliselt istub samal ajal loop nii palju
kui 30 sekundit tüüpiliselt ja alles siis, kui foo dot php faili
mõistab oh seal on uus rida
andmebaasis ei see tegelikult vastata
koos http vastata.
Nii et sa arvad, et see võiks muidu riputada server
ja see teatud määral
kuid see tähendab, et seal on palju vähem üldkulusid
sest sa ei pea uue tcp seoses uute htp seoses
tegelikult taotleda andmed serverisse.
Aga sõlme js kaasas väga populaarne raamatukogu kutsus pesa
dot io, mis sa võiksid kunagi kasutatud on ehitatud peal
on tehnoloogia, mida nimetatakse web pesa, mis on olemas
kõige kaasaegsete brauseritega ja mis pesa io teeb, on võimaldab teil
luua sisuliselt püsiv ühendus
vahel brauseri ja serveri see on väga väike pea kohal
Nii et sa ei pea tingimata sama tagi küsimusi
et võite kui sa oled pidevalt lööb server
maailma PHP ja mu SQL ja sarnased.
Isegi vanemad brauserid
mis ei toeta web pesa Selle teegi pesa dot io saa
langeda tagasi vilgub rakendamise pistikupesad
ja pistikupesad on võrgustike asja CS143 näiteks.
Või see võib isegi langeda tagasi pikk Valijate ise, et nad rakendavad
et sama tüüpi töö
juba tegelikult ülalpidav illusiooni, et ühendus.
Nii Sokkelile [kuuldamatu] io ja see on kujul
Java script raamatukogu, sisuliselt kui te kasutate seda
kujul sõlme js rakendus, mida mitte ainult installida
seda paketti kasutades midagi nagu NPM mis me kasutasime esmaspäeval
ja või sa ka riidest silt oma html faili
mis ütleb, et kasutada kliendi poolel raamatukogu.
Nii et seal on kaks poolt, et see ja see, mida me oleme teinud siin
aasta neljandas iteratsiooni Esmaspäeval on jada
näited on järgmised.
Nii seda faili struktuur on meenutab väga ühtsed
üles väljendatud js ja õnneks ta ei tee lihtsamaks
kui lervo [foneetiliste] aastal, mäletate, kui seate
üles lervo sul tohutu vastik prügila palju faile,
müüja kataloogid, lib ja väga raske kaal võrreldes seda.
Nüüd õiglus oleme rööviti ära asju, mis on päris palju
häiritud, kuid kõik mahlane värk on tegelikult
aastal sõlme mooduleid.
Lihtsalt teile maitse kui me vaatame
sõlme moodulid seal kaks moodulit või raamatukogudes
et ma olen alla laadinud seda oleks samaväärne
müüja kataloog, üks nimetatakse Express, mis on
nagu larevel kuid sõlm
ja pesa io üks just mainisin.
Nii et need on olemas, et saaksime teha järgmist, kui ma avan
up ütleme indeks dot html, olgem esimene pilk html,
see läheb komponeerida see keha, minu super,
super lihtne chat server.
Nii et seal on ilmselt ul ainulaadne idee sõnumeid
ja see on kui üks li ajal,
kõik kiirsõnumeid läheb ilmuvad vahel Alice
ja Bob ja siis seal on Lihtne vorm, tekstiväli
ja esitama nupp mille Alice
või Bob saab tegelikult Sõnumi üksteist.
Nii netomõju, kui Ma saan selle rakenduse
tehes sõlme ruumi app dot js, kui ma tõmba paar
brauseri aknad on see, et Alice oleks paremal
Bob võib olla vasakule ja lihtsalt
olema selge pole maagia siin on mul üks aken
inkognito seega ei ole jagamist küpsised või midagi
nagu see, need on kaks erinevat kasutajat.
Ma peaks saama Alice tere öelda Bob klõpsake esitama
ja nüüd näed vasakul et Alice'i sõnum saadeti
ja peaaegu silmapilkselt paremal.
No valijate näiliselt kaasatud Bob sai sama sõnumit.
Nüüd Bob ütleb öelda hey Alice näete vastupidine mõju.
Mis siis tegelikult toimub, kuidas palju koodi on meil vaja kirjutada
rakendada seda chat server
mis saab nüüd ekstrapoleerida vaimselt, et igaüks
selles ruumis, kui see ei olnud minu [kuuldamatu]
kuid foo dot com me kõik alustada jututoas kohe
üksteisega.
Mis on kaasatud ja enne kui ma selge see ekraan on see
lihtsalt socket io on veidi lärmakas, lihtsalt trüki
välja silumisteave ekraanile,
seal on tõesti midagi muidu seal toimub.
Nii et lubage mul avada app dot js, nii kui enne on meil mõned asjad
ülaosas faili.
Hunnik nõuetele nii need on nagu raamatukogud
või teritama vihjeid või nõuda onces iganes vaimne mudel
tahad olla ja lihtsalt sulgege FS kasutatakse
kohta, millist funktsionaalsust?
Nii faili süsteemi nii lugemine failid potentsiaalselt ja värki
ja ma kasutan seda ühe koht nagu näete,
Express muidugi on see raamistik, et me kasutame,
see on rangelt mitte vajalik saime
nagu esmaspäeval täiesti luua oma http server nullist
tehes luua server ja kõik Selle objekti kood enne
kuid nagu me näeme, see teeb asjad veidi lihtsam
sest kõik, mis mul vaja on on line 3 siin algväärtustan
ja avaldada eesmärk, ma helistan see app, mõnevõrra meelevaldselt,
Ma siis ütlen app kuulata omavoliliselt port 1337,
et saaks 80 kokkuleppeliselt
ja siis lõpuks on mul uus line täna, mis ütleb,
nõuda pesa io raamatukogu ja seejärel
selle keti lähenemine oleks Selle dot operaator Olen lihtsalt
kutsudes õppetund kuulata see sisuliselt ütleb pistikupesast
io raamatukogu ka kuulata sama server
või web pesa ühendusi.
Mis nüüd, siis millised on see süü, need neli rida
koodi siin mis peaks meenutava larevel,
mida see koosneb?
>> [Kuuldamatu lõik]
>> See on ... tee, lihtsalt tee seda app dot js,
aka server dot js sõltuvalt selle kohta, mida inimesed tahavad kutsuda
oma rakendustes teil on konventsiooni
teeme määratleda oma marsruudid
app dot get tähendab, et kui saad GET päringu minna
et sõna otseses mõttes kärpida minna ja nimetame seda anonüümne funktsioon
ja anonüümne funktsioon Sellisel juhul võtab nõudes
või taotluse ja vastus, potentsiaalselt mõned muud asjad
kuid minimaalselt need kaks.
Taotluse annab teile juurdepääsu asjad nagu http parameetrid
ja päised ja muu mahlane asju
ja siis vastuseks on mehhanism
, mille abil saab reageerima kasutaja.
Nii et see on super lihtne isegi kuigi me ei näe päris
sama kood viimast korda, ma olen kasutades failisüsteemi moodulid,
luua Loe oja meetod mis sisuliselt ei tee seda,
luua Loe oja, mis tähendab sisuliselt alustada slurping
üles baitide index dot html nii tõhusalt kui võimalik
ilma et ootab Kuni oma lugeda kogu fail
ja kui sa seda toru neile sõna otseses mõttes
ribal mõttes kui sa oled mugav
Linux käsurea,
toru seda vastust objekt.
Nii oli kaks näidet seotud voogude esmaspäeval
me ainult vaatasin üks aga oled oodatud vaatama tagasi
Stream o ja oja 1.
Stream 1 ... 0 ei midagi sarnast sellele
stream 1 ei midagi peaaegu täpselt niimoodi,
see on lihtsalt libesti üks liner öelda sort
kohta lurista midagi siia ja siis saatma hakata siin
samal ajal ilma teeme mass nõus
ja siis suur õigus,
see lähenemisviis on üldiselt tõhusamaks.
Nii et selline vana kraam isegi kui see oli uus esmaspäeval
see on kõik, mis kulub rakendada chat server
lümfisõlm js ja rohkem spetsiaalselt Sokkelile dot IO.
Niisiis, kuidas see toimib, Lubage mul seda liigutada natuke,
nii io on lihtsalt muutuja mis viitab
Lisa moodulis varem nõutud,
dot pesa on lihtsalt vara sees on
mis annab mulle pesa seotud funktsioonid
kohta on levinud meetod, mis seotud mis üldmõistet?
Kui nii edasi aka kuulata mõned raamatukogud vaid seda,
Seda kuulnud sündmus mida nimetatakse seoses
ja nüüd sa tead seda ainult Vaadates dokumentatsiooni
kes kirjutas raamatukogu määratletud üritus nimega
ühendus, mis ei Mida teie arvaks
kui Alice või Bob ühendab.
Lase käia ja nimetame seda anonüümne funktsioon take möödaminnes
üks argument kliendi mis on ilmselt mingi
objekti, mis tähistab Alice'i seos
või Bobi ühendus või Charlie või keegi teine
ja nüüd me teeme järgmine.
Me ütleme kliendi pärast ta on ühendatud
kuulata spetsiaalselt
kohta teate, et see on täiesti omavoliliselt nimetatakse sõnum
koolon klient.
See on midagi, et Tim ja Tulin koos, see oleks suva
või baar, see on lihtsalt mingi unikaalne string, et meil on vaja
otsustada, kui arendajatele.
Iga kord, kui Alice või Bob kuuleb
Sel juhul see anonüümne funktsioon peaks kutsuma
ja andmete sisu Alice'i
või Bob sõnum peaks olema läks see sündmus
ja nüüd, milline peaks klient hästi saate objekti
on lugeda seda üsna intuitiivselt Klient peaks eetrisse,
muidu tuntud emit sõnum nimega meetod server
seega tähendas see sõnum on pärit server ei
brauser ja mis oleks, et sõnum on,
see on ilmselt kasulik koormus alates mis iganes tulid kliendid
ja me lihtsalt läheb omavoliliselt kutsuvad seda sõnumit.
Nii palju on meelevaldne
läbi mõistliku nime konventsioonide, Tim ja ma tulin
välja, enamasti Tim ja siis me lihtsalt lood lõpuks
chat server, mis teeb mida, kui Alice saadab sõnumi
ja vaatamiste sisestage milline sündmus ilmselt vallandatakse,
lihtsalt sulgege.
Alice tüüpi sõnum, hits siseneda, sõnum klient vallandati
see kood kuuleb seda ja nüüd server saateid, mida,
Mis on lõpptulemus Selle tõesti?
Alice saadab sõnumi nüüd server rebroadcasts see
tõhusalt kõik, välja arvatud Alice, miks kõik, välja arvatud
Alice, kas sa lihtsalt otsida
dokumentatsiooniga klient dot saade dot tunnistama,
sõna otseses mõttes ei tee seda, edastab sõnumi
et kõik, välja arvatud klient, kes saatis teile
et kõige värskemaid teateid.
Nii et see on põhjus, miks te ainult vaata see kord mõlemal küljel,
Sa ei näe nii Alice ja Bob saada Alice sõnumit.
Nii et see on see on ülekandmiseks agent
kui sul see on lihtsalt võttes sõnumeid
ja taasülekandmine neid
ja see on märkimisväärselt skaleeritav mõtlen isegi
super lihtne server ja mõned read
Koodi võid kindlasti käepide sadu kui mitte tuhandeid
samaaegsete lihtsate läheb edasi ja tagasi, nagu see
ja kujutage ette keerukus nüüd teha seda PHD
või Larevel või minu SQL ja kui palju koodi siis oleks
kirjutada, et tegelikult saavutamiseks.
Nüüd õiglus seda ei ole püsiv õigus
kui server loojub me kaotame kogu ajalugu
nii see ei ole päris täiuslik tõlge, kuid see on
et otse edasi.
Vaatame Java script kood me vahele üle varem
see on Alice'i ja Bob klient,
veebilehe nad kasutavad nüüd Vaatame siin korraks.
Seal on natuke rohkem kood
aga see on päris palju just jQuery siin nii teade
et veebilehe et ma tõmmatakse
kuni hetk tagasi me sisaldavad jQuery raamatukogu
pesa io raamatukogu ja kõrvale märgata erinevust
siin, kaldkriips kaldkriipsuga kell alguses tee
nagu see tähendab, mida täpselt,
kus on jQuery dot js, mida server?
Jah.
>> [Kuuldamatu lõik]
>> See on Internetis jah sõna otseses mõttes nimetatakse kood dot jQuery
dot com miks kärpida, kärpida, miks mitte lihtsalt üks kaldkriips,
kus on http või koolon, Mida see tähendab üldiselt
kui sa kärpida kaldkriipsuga juures alguses url?
See on tegelikult kasulik.
Okei, siis millised on ilmselt puuduvad http nüüd kui me põhjust
läbi selle loogiliselt Tavaliselt ei pea te
Rääkimata serverite nimed õigus
nagu siis, kui kasutate ainult kaldkriips jQuery dot js mida eeldatakse
brauser?
See fail on sama server nii jätkata, et sort
loogika, kui sa ei ütle see, millist protokolli, mis on
brauseri eeldada, sama protokolli nii kui sa oled kunagi külastanud veebilehed
et teile viga mööda rida ebaturvalist sisu
Sellel lehel sellepärast keegi on kõvasti kodeeritud http
koolon slash slash URL pilt või Java script fail
või CSS faili, midagi sellist lähtekoodi lehele
kuid lehe enda brauserid URL on http s.
Nii et see on lihtsalt fancy väike tee
öeldes ma ei tea mida protokoll
et need lõppkasutajad kavatse kasutada
aga lihtsalt veendumaks, et see tikud, et kroom
ja teiste brauseritega ei karju kasutaja.
Ainult saak on jQuery inimesed olid paremad seada
üles https oma server.
Nii et nad on tegelikult noteeritud 443.
Olgu vahepeal see üks siin on selline
eksitava kaldkriipsuga pesa IO soovitab
et seal on kataloog nimega pesa dot io minu server
kuid seal ei ole, kui me pistma
umbes seal sõlme mooduli kataloogi
kuid miski avalikkust see,
kui me konfigureeritud pesa io kuulata samal sadamad,
1337 sisuliselt seda, et raamatukogu et keegi kirjutas on kavatse
et omamoodi lisada mõned koodi arvesse sõlme js keskkond
ja kuula selle tee.
See raamatukogu on lihtsalt konfigureeritud marsruudi selle,
see ei ole reaalne kataloog.
Oleks standard asukohta.
Okei, nii nüüd huvitav poolt
nii et kui dokument on valmis, nagu on näidatud
Käesoleva jQuery ehitada, kõigepealt ma lähen edasi minna
ja ühendage pistikupesa,
mis pesa lihtsalt ... hoida lihtne ma ühendada
kärpida, see on kus kasutaja on,
Olen hoidnud näiteks lihtne me lihtsalt ühendada
et täpselt sama URL, et kasutaja on külastanud, siis ma lähen
teha järgmist, ma lähen ütle Alice või Bob brauseris
kuulama sõnum serverist.
Jälle see oleks võinud suva
või keelata iga kord, kui kuule sõnum
serverist kõne ta andmed ja siis seda jQuery kood
mis ma arvan, enamik kui kõik ei ole tuttav
koos nendel päevadel, kuid sisuliselt pin nimekirja kirje
olemasolevale UL mis kutsuti sõnumeid
et sõna-sõnalt ütleb olenemata Kandevõime on
Vestluse sõnum järgneb sidekriipsuga järgneb saada
järgneb tühik ja seejärel seisuga ja sellepärast
olema selge, kas me läheme tagasi
Selle saad neid täiendavaid kuulide ja jälle
ja jälle kuupäev korda.
Vahepeal, kui me vaatame siin me lihtsalt
käepide vormi esitamise nii et oli vastuvõttev
kiirsõnumiprogrammi, siin on saates ja see on omamoodi
Sõltumatute sõlmeni js, kuulata vormide esitama sündmus.
Kui see juhtub, vältida default, see lihtsalt tähendab, ärge seda
Lisa server tavalisel Nii lehte ümber laadida,
me tahame seda teha kõik kaudu Ajax.
Siin on vaid mõned jQuery koodid
tegelikult saada sisend mille tüüp on sõnum,
kelle nimi on sõnum minna
ja saada see väärtus siis edasi minna
ja kui sa tegelikult sõnum, kui Alice ja Bob
või Bob tegelikult tüüpi mõned Puudub 0 klahvivajutusi paisata
on pesa sõnum nimega sõnum klient selle kasulik koormus
ja siis siin see on mis muudab roheline erinevalt
punane, me lihtsalt väljund seadme küljel [kuuldamatu].
Nii et see, kuid kõik See on lihtsalt loodud,
päris uusi asju oleksin väidavad, on lihtsalt need kolm
või viis rida koodi siin ja et justkui vihjab võimu
sõlme js ja koos sellega selle konkreetse raamatukogu.
Võtame kiire vaata Express dot js,
nii, mida ma kavatsen proovida teha alles paar
minutit siin on loodud mõned ideed, mõned tehnikad
et siis võtta paar minutiline paus, Tim loob
ja siis me sukelduda sügavamale
et huvitavam väljendada taotlus ja ka
kuni raamaturiiul, raamatukogu Tim kirjutasin
jaoks avatud lähtekoodi kogukonnale
mis annab meile kõnekat valgus funktsionaalsus minu SQL
ning tehingute ja muude selliste funktsioone ja ta sukelduda
aastal veidi sügavamale keele Java script ise,
kuidas selle objekti või mitte-klass mudel töötab muidu tean
prototüüp mudel, mõned rohkem, et tulla.
Võtame pilk kaks last rakendused siin, server viis
ja server 6, mis on kõik omamoodi sarnase sisuga,
need ei ole jututuba serverid kuid nad kasutavad Express.
Võtame pilk mida see tegelikult teeb,
Ma lähen edasi minna ja avatud ... Ma lähen kasutada seda app
lümfisõlm app js, ma lähen minna tagasi oma brauseri ja asendusostu
ja see on ilmselt kõik see server teeb,
see on super lihtne server see on ilmselt otsing
mootor, nii et kui ma tüüpi suva ning esitama ei otsingutulemusi
foo, ma ei saanud ümber rakendatakse keerukamaid
kolp, kõik see läheb
teha, on kaja ükskõik mida kirjutad mingit tulemust foo,
ei tulemusi bar Niisiis, kuidas me seda teeme
sest seal on paar tükki, üks,
seal on kindlasti mõned sisendi ette
et server ei Larevel muidugi, kuid sõlm js nüüd
nii et me peame kuidagi nöökima, et parameeter Q,
me selgelt teed mingi vaade siin
me muuta silmas nii Äkki on meil võimalus
malle või muutuva interprelation [foneetiliste]
Võtame pilk temperatuuril järgmine.
In app js selle konkreetse server see on kõik, mis meil on.
Üks nõuame väljendada iseenesest kahe tee mooduli
mis lihtsalt ei teatud kasulikke asju
nagu liitumine stringid kokku ja nii edasi on minu jaoks,
Kuulan sadama 1337 ja nüüd see on uus nii selgub
tähelepanu, et väljendada nii Larevel toetab erinevaid plug ins
ja tehnoloogiate muud asjad ja üks
tehnoloogiaid, mis sa võib ühendada on vaade mootor
mis tähendab lihtsalt, mida templating mootori sa soovid kasutada,
Larevel oli ta enda asi aga saad ühendada
eri asju eri virsik P raamistikud on
erinevaid viise templating, EJS on lihtsalt ühine
ja üsna lihtne mootor et lihtsalt teeme teed asju
nagu lokkis traksid, mis teil oli Larevels süntaks
asendamise muutujate
see on natuke erinev süntaktiliselt on kõik.
Nii nüüd on see asi, mida nimetatakse keskel nõud nii näete
aastal oma meeskonda sõlme projekti keskel nõud on lihtsalt selline kood
või raamatukogude et süstida
arvesse [kuuldamatu] vastus elutsükkel rakenduse
teisisõnu need kaks read räägivad Express
teha mõned lisatööd vahel ajal saab taotleda
vahel ajal saadab et taotluse oma marsruut,
oma koodi, mis olete kirjutanud.
Seega eriti selle rea siin kasutada Express dot staatiline ja kõik
Selle keerukus seda lihtsalt tähendab, kui näed taotluse
et tegemist on staatilise faili nagu foo dot JIF või foo dot css
või foo dot js nii ei dünaamiliselt liinil
minna ja eeldada, et see elab avalikus alamkataloogi
see on kõik, mis teed.
See on omamoodi nagu kaardistamine Larevel, kõik veebi
või oma avalik kataloog pigem Larevel.
See järgmine lause on lihtsalt ütle, et ma tahan kasutada marsruute,
Ma tahan kasutada asju nagu app dot saada
nägime hetkeks tagasi ja me näeme, vaid teine ​​nüüd.
Nii app dot saada vahendid kuulake seda teed,
kärpida, kui saad seda nimetame seda anonüümne funktsioon, mis võtab
aastal taotluse ja vastus ja nüüd lihtsalt
nagu Larevel teil on võimalus muutuks malli
Vastuseks dot muuta, Tsiteerin lõppeb indeksi
muuta on malli nimetatakse indeks
ongi niiet peatada, et niit hetkeks pilk
temperatuuril sisust vaated kataloog
ja teate, see on ka super lihtne nüüd,
seal on indeks dot EJS ja otsida dot EJS,
Loomulikult tahan ma kõigepealt
sest see on see, mida ma lihtsalt väsinud, et muuta ja me näeme,
vaadetes index dot EJS Kõige tegelikult täiesti html
hetkel pole tegelikult ei templating toimub.
Nii et ma tehniliselt ei isegi vaja helistada see EJS,
Ma ei vaja seda funktsiooni kuid ma hoidsin ta ühtne,
nii see ongi see, mida annab mulle, et super lihtne vorm.
Nii et seal on vaid üks teine ​​marsruut, Kui me vaatame siin ma olen öelnud
et see on see, mis töötleb saada kaldkriips otsing nii et tegelik sort
Google nagu käitlejale vormi esitamise, kui saad
et tee nimetame seda anonüümne funktsioon
ja muuta template nimetatakse otsing
ja milline on teine argument arvatavasti mõtled.
Tundub, et Jon objekt kehvasti või Java script objekti.
Mis rolli selle Teine argument arvatavasti?
>> [Kuuldamatu lõik]
>> Tegelik päringu kasutaja tipitud ilmselt elab
aastal taotluse dot päring, päringu viidates kõik
küsimärk dot q, mis on suvalise nime
mis ma andsin see nagu Google
ja vahepeal q koolon on just öeldes lähevad malli
Otsi dot EJS, klahvi q ja väärtus
olenemata q tegelik väärtus oli.
Nii et jääb vaid üks file huvi vaated
Otsi dot EJS Hoidsin see super lihtne liiga,
See on enamasti lihtsalt html välja ühe mõnevõrra tähelepanuväärne joon
mis on see süntaks siin mis näeb välja nagu hunnik
erinevate templating mootorid tähendab see lihtsalt plug
väärtuse q ja muuta see rasvases kirjas.
Seega puudub tegelik otsing funktsionaalsust, kuid see omamoodi
kohta näitavad, kuidas soovite struktureerida skelett
taotluse niimoodi.
Vahepeal ... tegelikult ma võib näidata veel üks asi,
teate, et ma ei ole mõned html siin CSS failid
ja Java script faili, miski nendes registrites
hetkel aga märgata, et on olemas avalik kataloog
nagu ma ütlesin varem staatilisi faile, nii et kui ma lähen
seal pole minu css kataloog
kui ma sinna minna seal on stiilid dot css
ja pole mingit sisu seal
aga see, kuidas sa on avalik kättesaadav faile.
Olgu lähme vaatleme üks muu variant siin
ja siis me kehtestama üks idee ja murda.
Nii et see on server 6 last, nii see on peaaegu identsed, välja arvatud
alumise kaks rida mis näeb välja selline.
Nii tegelikult seal kolmas rida, mis on erinev
aga ma olen peidetud ... las ma tagasi pisut nii ei keegi taha
tegema ettepanekuid, mis toimub siin üldarusaadavat mõttes
või tehnilisi tingimusi, mida on erinevad selle versioon
seoses nende liinid top sõlmed.
Mida ma arvatavasti siin teinud ja miks?
Jah, Sharon.
>> [Kuuldamatu lõik]
>> Jah tundub, ma olen liikus indeks ja otsing
nii eraldi otsene või midagi, Olen tegureid neid
ja see on nii, et meelega aastal Larevel võid panna kõik
teie kontrolleri loogikast sees liinide dot php
anonüümne funktsioonid uuesti ja uuesti ja uuesti
kuid faili muidugi võib saada päris massiivne
nii lennuliinide dot PHP, mis kõige
kutid on teinud on teie määratud nimi
kontroller klassi või isegi nime meetodit
mis peaks saama nn
nii sama mõte siin isegi kuigi süntaks on veidi
erinevad nii siia teade
et mul on ilmselt rakendada oma sõlme js
moodul ja moodul on lihtsalt Java script fail, mis järgib
sisuliselt üks konventsiooni et me näeme vaid hetk.
Niisiis eeldatakse, et kõik mu funktsionaalsuse indeks
ja otsing on ilmselt sellisesse kataloogi
ja nüüd ma helistan, et kogu mooduli või paketi või raamatukogu
mida iganes sa tahad ma arvan et kui,
marsruudid muutuja nimetatakse liinidel.
Nii ilmselt sinna marsruudid dot indeks on meetod, mida nimetatakse
indeks ja ilmselt seal teine ​​meetod, mida kutsutakse otsing
Selles liinidel moodulid või raamatukogu
ja ma lihtsalt marsruutimise just nii, et ma ei pane kõik
minu anonüümne kood sees minu app faili.
Lähme sisse liinidel märgata seal on lihtsalt indeks dot js
ja kui ma vaatan siin see on konventsiooni I tähendas varem
nii et see on üsna meelevaldne aga see on sõlm konventsioon.
Iga kord, kui rakendada oma sõlme js raamatukogu
aka moodul siis sisuliselt ei kirjutage kõik Java script kood, mida
soovite selle faili, siis võimalik väga puhtalt liiva kastis
nii et mis tahes muutujate te valida ei põrkuvad
kellegi teise raamatukogu muutujate või meetodeid või midagi
niimoodi, kuid midagi sa tahad, et paljastada
välismaailmale ala avalik meetod Java script
või php või teistes keeltes pead sulpsti sees
globaalse objekti, autor sõlme nimetatakse ekspordiks.
Nii tehes ekspordi dot indeks ma paljastamine kasutajatele
Selle mooduli meetodit nimetatakse indeks, mis kaardistab selle funktsiooni
nii et see on anonüümne paremal pool
aga ma tegelikult annab see nimi vasakul pool
ja ekspordivad seda maailma
nii et võite helistada dot indeks või dot otsing.
Seega peab olema selge, kas ka minul oli midagi sellist funktsiooni foo
siin, et tegid midagi
et funktsioon oleks absoluutselt toimima,
Seda võib nimetada ka Faili kuid keegi
välismaailmas külm kunagi helistada suva
sest see ei ole eksporditud teel seda dot märke.
Nii et kõik, mis toimub,
kõik on kenasti nimi vahedega teile.
Seega võib lõpptulemuseks kui ma sõlme app ja asendusostu lehekülge on
et kui ma nüüd otsida
bar ... funktsionaalselt need apps on samad
aga see on lihtsalt mingisugune samm suunas puhtamaks rakendamise,
Kindlasti, kui hakkate kirjalikult rohkem kood
ja see kõik on.
Ilmselt mitte eriti kogenud või keeruline
kuid sisuliselt lähtepunktiks
milline saab olema teie esimese sõlme js app.
Mida me teeme tõenäoliselt hiljem sel nädalal või sel nädalavahetusel
kui te viimistlus üles php rakenduste me järgima
up päris lihtne taotlus meeskond sukelduda
arvesse sarnase sisuga soojendust harjutus php
mis põhineb keskel semester uuringu
inimesed ei leia kasulik läbimas harjutus
teha midagi üsna lihtne
kuid üsna giidiga enne tegelikult lahendada midagi
ise nii et me jälgida selle
ning sisuliselt on tõttu poolteist nädalat
nüüd kattuvad veidi php tahtlikult.
Küsimusi siis väljendada, on pesa io
või segadus ülejäänud Esmaspäevast ehk.
Olgu nii loodetavasti üks take-a-viise seni on
et seal on mõned neist asjad kindlasti palju vähem
õhuliini kui võite on kasutatud.
Nii et lubage mul tutvustada viimane idee,
nii väga sage Planeerimise paradigma
Java script, mis on tegelikult olemas jQuery
uuemad versioonid nii võib olla näinud seda tehnikat
enne aga see on ka üsna ühine sõlme js maailma
see on tavaline, Tim enda raamaturiiul raamatukogu
nii me vaadata seda konkreetsem näide
aastal hetkel on lahus koodi niimoodi,
see on tüüpiline kood nägime esmaspäeval, et lugeda faili
Selles kontekstis ei ole reaalne meetod on sarnase sisuga
FS dot lugeda faili, kuid eeldame, et see on vaid mõned tehtud
up meetodit, mis midagi väga sarnased.
Nii et me sattus paar küsimused esmaspäeval üldiselt
siis millised on omamoodi ... miks see on libe tee,
see tagasi helistada paradigma programing Java script
ja tagasi helistada paradigma Ma mõtlen seda tehnikat
kui sa tagasi ei tule väärtused kohe
sest, mis võivad blokeerida server
tegemast midagi, mis on kasulik, siis selle asemel, helistada tagasi
nagu Summerid at Shake Shack, kui oled valmis
liigu tagasi vastus argumendina.
See on libe nõlv
kus see väga kiiresti muutub tüütu miks?
Jah.
>> [Kuuldamatu lõik]
>> Jah, minimaalselt muutub objekti loetamatu õigus
kui teil on kõik need kõne selja ja kui sa küljes
hea stiil Läheb päris massiliselt liigestatud
aja jooksul ja kui ma juhtida seda Näiteks, kui sa omamoodi koorima
läbi see on lihtsalt mõeldud avada Jon fail ja trükkida,
niimoodi ongi, aga me mõned 8 või 10 rida siin
mis on juba omamoodi kohta inetult liigestatud,
meil proovida saak, mis on
kui sa oled võõras on veatöötluse tehnika
, mis võimaldab teil proovida midagi
ja kui see ei õnnestu, siis sa saagi seda loodetavasti
ilma kogu oma programmi lõpetatakse, kuid seal
nii palju keerukus nagu te liiki kohta on mõelda selle kaudu
ja jumal hoidku teeme paar muude asünkroonse meetod nõuab,
asi on juba saab olema siin,
siis võiks arvata, et see on omamoodi on rumal esteetiline kuid see
sest tagasi helistada paradigma on nii tavaline vähemalt
emakeelena sõlme kood see väga kiiresti muutunud tüütu,
raske siluda taandus hakkab see nii saate sortida
Chase asju ette, et see on lihtsalt ei ole väga õnnelik tee
programing.
Niisiis, mida inimesed on teinud
eri kontekstis sõlme vahel neid on Proovime seda lihtsustada,
os näiteks lubadusi on teine ​​mõtteviis
kirjutamise asünkroonne kood et visuaalselt muutub midagi
nagu version 1 sisse see versioon 2.
Väidan, ja see on jälle justkui segada
vahel tegelikku koodi ja pseudo kood, see on tüüpiline
kuidas siis oleks uuesti rakendada et täpselt sama asi,
avada Jon faili sõeluda seda ja printida
kasutades midagi kutsus lubadused
ja võti süntaktiline detail on
et seal on Aheldamise siin toimub.
Pange tähele, et ainult semikooloniga
kogu ... tegelikult hästi lähme ... Ma ei taha eksitada.
See ei ole tingimata vajalik kuid olgem järjepidevad,
märgata, et semikoolon mis viitab avamine
kogu selle avalduse on kõik siia alla.
Niisiis, kui ma olen vormindatud see ... omamoodi otsida
nagu kolm avaldust, kolm avaldused, et võite näha
Java või teistes keeltes mis on proovida ja püüda
ja välja arvatud käitlemine üldisemalt.
Pange tähele, et ma lihtsalt kett tagastatav väärtus iga
Nende meetodite koos.
Nii, mis siin toimub, loe faili kui see on meetod, mis on olemas,
ilmselt üritab lugeda seda faili
dot siis nii siis on väga üldnimetus antud maailmas
lubaduste eest meetod, mis peaks rahuldama
kui eelmine asi õnnestus.
Nii et see on nagu edu käitleja, nii siis JSON dot sõeluda,
hästi Jon dot parse on lihtsalt meetod
globaalses Jon raamatukogu ja see ilmselt kinni
Käesolevas asjas lubadus mudel
nii me ütleme, et me ei saa lihtsalt eeldada, et kutsusime selle mehe
ja kui tal õnnestub siis kutsusime selle mehe ja siis
kui see on tegelikult täidab lihtsalt lohutada logi andmed
küsimus.
Nii et kui on viga käitlemise, teate ma olen omamoodi
Väga pimesi astunud off see riff
ja just helistas see meetod ja siis see meetod
pole kunagi kontroll probleeme.
Noh, kus on nende probleem arvatavasti käideldud ... nendes
cache avaldusi nii erinevad raamatukogud kasutavad erinevaid
konventsioone, kuid Sel juhul siis on omamoodi
edu käitleja cache on omamoodi viga käitleja
ja kuna me pole katki see kett me muudkui kasutades
dot märke ühendaks originaal meetodil appihüüd
loetud faili ja funktsioon appihüüd mingeid vigu sort
mull tee keti kaudu
kuni nad tegelikult käideldakse mis on nii puhastaja kui püüda
sellega tegeleda iga damn sammul
nii et sinu kood väga muutub kiiresti eluvõõras andmed.
Sel juhul me oleme väites, et püüame
püüda nn süntaksi viga see on sisuliselt
alamklass üldisem viga ja kui see juhtub nõue
et see on kehtetu Jon teisiti kui see on üldisem viga
et me ei oodanud lihtsalt üldisemalt öelda ei saa
lugeda faili.
Nüüd see on lihtsalt mõeldud olevat tüüpiline kood
aga kui oled programmeeritud toores Java script või Java
või teistes keeltes on see seadustikku sisuliselt
see on rohkem traditsiooni proovige Püügiaruanne
ja see on esteetiline ja funktsiooni, mis lubab
või püüab anda teile kusjuures sa ei mõtle seda
kui lihtsalt kirjalikult proovida ja siis saagi ja siis püüda, millel ei ole
muretsema igal ühe võimaliku punkti
kus viga võib hakkama ... juhtub,
saate hakkama kõik on lõpeb hädavalikumaid väikese ploki
koodi, ja te saate isegi erista vigu
kui saad selles asjas.
Nii nomenklatuuri et teil vaata kirjanduses võibolla
Tim on esitatud mõned seda kraami on ka
et ideaalis soovid tõotab lahendada
ja lahendamise lubadus vahendid et lõpuks tagasi niiöelda
kuid mitte traditsioonilisel viisil väärtus, et see, kas õnnestub
jaoks ei sisuliselt.
Olgu küsimusi siis, see ei ole mõeldud olema piisav
kokkupuutumise lubadused vaid lihtsalt vaimne mudel
koodi sa hakkab nägema.