>> Rendben így vissza, pár célok ma,
akkor vedd fel, ahol a abbahagytuk legutóbb,
emlékszem, hogy mi volt hogy ezt egymás után
szerver kapcsolatos alkalmazások, végtelenül egyszerű, de a node JS
és akkor is, legújabban a kifejezetten érintés AS
és mi fejezte JS a analóg a PHP világon.
Tehát Express több ... bezár,
így Express lényegében MBC keret, amely elég
népszerű a csomópont js világ,
Könyvespolc amely majd meglátjuk ma keresztül Tim egy analóg
A ékesszóló amely ORM egy objektumon kapcsolatban mapper
hogy valóban megkönnyíti elkerülése érdekében alacsony szintű SQL-kódot
és valóban kifejezni kapcsolatok között, a különböző tárgyakat.
Tehát az egyik legmenőbb dolgokat őszintén
a csomópont js csak, hogy jól alkalmas arra,
hogy ennek a valós idejű alkalmazások, dolgok, mint a chat szerverek
vagy üzenetküldő szerver, bármi, amit a srácok most már
mint a Google ... G-csevegés vagy a Google törzshelyén
vagy a Facebook státusz frissítéseket vagy akár a Twitter, ha
a web oldalon mindent egyfajta valós idejű
vagy adja meg a illúziójának valós időben
és ez valójában egy fájdalom a nyak köze valamit
mint a PHP és az SQL jobb mit javasoljuk
hétfőn lenne az eszközök
által, amely meg tudná végrehajtani a illúziójának valós idejű viselkedés
egy chat szerver a PHP, mit kell tennie?
Alice küld egy üzenetet, találat meg hova megy?
Igen.
>> [Hallható rész]
>> Into adatbázis, majd a mit Bob böngészője van
tenni, hogy valóban látni amit Alice azt mondta, igen?
>> [Hallható rész]
>> Tartsa lekérdezés az adatbázis, Rendben, akkor egy ajax kérést is
a tűz minden második, minden pár másodperc beszélgettünk röviden
de nem egy példát a úgynevezett hosszú lekérdezés,
akárki felidézni, hogy
ez a mechanizmus ... on magas szinten működik?
>> [Hallható rész]
>> Pontosan, igen, így a böngésző még tesz egy ajax kérést
a szerveren, hogy a foo dot php de foo dot php csak úgy tűnik,
akasztani, lényegében ül a while ciklus annyi
mint 30 másodperc alatt, és tipikusan csak akkor, ha a foo dot php fájl
rájön, oh van egy új sort
az adatbázis nem valójában válaszol
egy HTTP választ.
Tehát úgy gondolja, hogy ez a hatalom különben lefagy a szerver
és ez bizonyos mértékig
de ez azt jelenti, van sokkal kevesebb felső
mert nem kell egy új tcp kapcsolat, egy új HTP kapcsolat
hogy ténylegesen kérni az adatokat a szerverre.
De node js jön egy nagyon népszerű nevű könyvtárat aljzat
dot io, amely meg tudná soha nem használt épül tetején
A technológia az úgynevezett web aljzat, amely jelen van
A legtöbb modern böngésző, és mit aljzat io tesz, lehetővé teszi,
létrehozása alapvetően egy állandó kapcsolatot
között böngésző és a szerver ez nagyon alacsony rezsi
így nem feltétlenül ugyanaz a skálázás kérdések
hogy lehet, hogy ha folyamatosan üti a szerver
a világon a PHP és a az SQL és hasonlók.
Még a régebbi böngészők
amelyek nem támogatják web socket Ez a könyvtár socket dot io lehet
esik vissza villog végrehajtása aljzatok
és aljzatok egy hálózati dolgot CS143 például.
Vagy ez is visszaesik a hosszú lekérdezés maga így végre
, hogy ugyanaz a fajta munka
körül valóban fenntartása az illúziót, hogy a kapcsolat.
Tehát aljzat [hallható] io és ez a forma
A java script könyvtár, alapvetően ha használja
formájában egy csomópont js alkalmazás nem csak telepíteni
, mint egy csomagot a valami mint NPM amire hétfőn
és vagy is a szalag címke a html fájlban
hogy azt mondja, használja a kliens oldali könyvtár.
Tehát van két felét, hogy , és mit tettünk itt
a negyedik iterációs A hétfői sorozat
példák a következő.
Szóval, ez a fájl struktúra emlékeztet egy nagyon közös
fel kifejezett js és szerencsére ez így egyszerűbb
mint lervo [fonetikus] volt, emlékszem, amikor beállította
fel lervo van egy hatalmas csúnya lerakó egy csomó kép,
gyártó könyvtárak, lib és nagyon nehéz súly ehhez képest.
Most méltányosság már megfosztott el dolgokat, hogy elég sok a
kikapcsolódás, hanem az összes szaftos cucc valóban
a node modul.
Csak, hogy ön egy kis ízelítőt, ha megnézzük
A node modul van két modul, illetve a könyvtárak
hogy én már letöltött, ez az egyenértékű lenne
az eladó könyvtár, egy nevezik Express, ami
mint larevel de csomópont
és a foglalat io a az egyik előbb említett.
Tehát azok léteznek, hogy mi is kövesse az alábbi lépéseket, ha kinyitom
akár mondjuk index pont html, nézzük először nézd meg a html,
ez fog össze ez a test, a szuper,
szuper egyszerű chat szerver.
Tehát van látszólag ul egy egyedi ötlet üzenetek
és ez az, ahol egy li egy időben,
az összes azonnali üzenetek fog megjelenni között Alice
Bob és akkor ott van a egyszerű forma a szöveges mező
és a küldés gomb amellyel Alice
vagy Bob valójában üzenet egymást.
Így a nettó hatás, ha Én vezetem ezt az alkalmazást
ezzel csomópont tér app dot js, ha húzza fel egy pár
böngésző ablakot, hogy a Alice lehet a jobb oldalon,
Bob lehet a bal és csak
tisztázni kell, hogy nincs varázslat Itt kaptam egy ablakban
inkognitómódban így nincs megosztása cookie-k, vagy bármi
, mint ez, ezek két különböző felhasználók számára.
Én képesnek kell lennie arra, hogy Alice köszönjön Bob, kattintson a küldés gombra
és most látod a bal Alice üzenete érkezett
és szinte azonnal a jobb oldalon.
Nem lekérdezés látszólag szó, Bob megkapta ugyanazt az üzenetet.
Most Bob azt mondja, azt mondják, hey Alice látod az ellenkező hatást.
Szóval, mi folyik valójában, hogyan sok kódot nem kell írni
végrehajtani ezt a chat szerver
amely most már extrapolálni mentálisan, hogy mindenki
ebben a szobában, ha ez nem az én [nem hallható]
de ize dot com tudnánk minden kezd csevegni azonnal
egymással.
Tehát mi is benne van, és mielőtt törölje ezt a képernyőt ez ez
csak aljzat io, hogy egy kicsit zajos, ez csak a nyomtatás
ki hibakeresési adatok a képernyőn,
ott tényleg semmi más folyik ott.
Hadd nyit app dot js, így mint korábban, van egy pár dolgot
a tetején a fájlt.
Egy csomó követelmények, így ezek olyanok, mint a könyvtárak
vagy élesítés nyomokat vagy előírják Onces bármilyen mentális modell
szeretné, hogy van, és csak a összefoglalva FS használják
az, hogy milyen funkciót?
Tehát fájlokat a rendszer így olvasás fájlokat potenciálisan és ilyesmi
és én ezt egy hely, mint látni fogod,
Express persze ez keretrendszer, mi használ,
ez szigorúan nem szükséges tudnánk
mint hétfőn teljesen létre saját http szerver a semmiből
ezzel létre szerver és az összes ez a fajta kód előtt
de mint látni fogjuk ez teszi a dolgok egy kicsit könnyebb
mert csak annyit kell tennie, hogy A 3. sorban itt példányosítani
és kifejezni tárgy, hívom ez app, némileg önkényesen,
Majd akkor mondd az alkalmazás figyeljen önkényesen port 1337,
hogy lehet 80 megállapodás szerint
majd végül van egy új vonal ma, amely azt mondja,
igényel az aljzat io könyvtár, majd
ez a lánc megközelítés lenne ez a pont operátor vagyok
hív a leckét hallgatni, ami lényegében azt mondja az aljzat
io könyvtár is hallgatni, hogy ugyanazon a szerveren
vagy web socket kapcsolatok.
Akkor most mi, akkor mi is ez a műve, a négy sor
A kód itt, ami kell meg emlékeztető larevel,
ez mit képvisel?
>> [Hallható rész]
>> Ez egy ... út, csak Útvonal így app dot js,
aka server dot js függően , amit az emberek akarnak nevezni
saját alkalmazások van egy egyezmény
csinál meghatározza az útvonalakat,
app dot get jelenti, amikor kapsz egy GET kérés menni
hogy a szó szoros értelmében perjel megy előre és hívja a névtelen függvényt
és a névtelen funkció Ebben az esetben vesz a követelmény
vagy kérést és a választ, esetleg néhány más dolog
de minimálisan két.
A kérelmet ad hozzáférést a dolgokat, mint a http paraméterek
és fejlécek és más szaftos dolgok
majd a válasz az a mechanizmus
amely akkor reagál a felhasználó számára.
Szóval ez a végtelenül egyszerű, még bár nem láttuk egészen a
ugyanazt a kódot utoljára vagyok a fájlrendszer modulok,
létre olvasási patak módszer amely lényegében csinálja,
hozzon létre egy olvasási patak lényegében azt jelenti, indítsa slurping
fel a byte-index pont HTML hatékonyan, mint te
anélkül, hogy szükségszerűen várakozás míg az olvassa el a teljes fájl
és mint te, hogy pipe őket szó szerint
A függőleges vonal értelemben ha elégedett
A linux parancssor,
cső, hogy a válasz objektum.
Tehát két példa kapcsolatos patakok hétfőn,
csak nézett egy, de nyugodtan nézz vissza
A patak o és patak 1.
1. adatfolyam ... 0 volt valami ehhez hasonló,
1. adatfolyam nem valami szinte pontosan olyan, mint ez,
ez csak egy sima egy óceánjáró a mondás sort
A slurp valami itt majd indítsa küldés itt
ugyanabban az időben anélkül Ennek a tömeges egyetértek
majd egy hatalmas jobbra,
ez a megközelítés általában hatékonyabb.
Tehát ez a fajta régi cucc még akkor is, ha ez új volt a hétfő,
ez mind kell ahhoz, hogy végre egy chat szerver
A node js és több kifejezetten aljzat pont io.
Tehát hogyan működik ez, hadd mozgassa meg egy kicsit,
így io csak egy változó , amely utal
A modulban szükséges a korábbi,
dot aljzat csak egy ingatlan belsejébe
hogy ad nekem aljzat kapcsolódó funkciók
A közös módszer, vonatkozik, hogy milyen általános fogalom?
Az esemény így aka hallgatni Egyes könyvtárak csak azt jelenti,
meghallotta ezt az eseményt amely az úgynevezett kapcsolat
és most már tudod, ez csak nézte a dokumentáció
aki írta a könyvtár meghatározott egy esemény nevű
kapcsolatban, amely nem amit az is gondol
amikor Alice és Bob csatlakozik.
Menj előre, és hívja ezt a névtelen függvény veszi múló
az egyik érv az ügyfél amely látszólag valamilyen
objektum, amely képviseli Alice kapcsolat
vagy Bob kapcsolat vagy Charlie vagy bárki más
és most mi a következő.
Azt mondja az ügyfél után ő csatlakozik
hallgatni konkrétan
olyan üzenet, ami teljesen önkényesen úgynevezett üzenet
vastagbél kliens.
Ez olyan dolog, hogy Tim és Én találtam ki, lehet, hogy ize
vagy bár, ez csak egy kis egyedi karaktersorozat, hogy mi szükség van
dönteni, mint a fejlesztők.
Amikor Alice és Bob hall
az esetben a névtelen függvényt kell hívni
és az adatokat, a tartalmát Alice
vagy Bob üzenetet kell át ebbe eseménykezelő
és most mi legyen a ügyfél jól tudod kedves
az olvassa el ezt a meglehetősen intuitív az ügyfél sugárzott,
más néven ad ki üzenet hívják módszer szerveren
ezzel jelzi ezt az üzenetet jön a szerver nem
a böngésző, és milyen azt az üzenetet is,
ez nyilvánvalóan a hasznos teher bármi jött az ügyfelek
és mi csak úgy önkényesen hívják üzenetet.
Szóval egy csomó ez önkényes
a megfelelő elnevezése egyezmények, Tim és én jöttem
fel, többnyire Tim aztán egyszerűen létre végül a
chat szerver, hogy mit csinál, amikor Alice üzenetet küld
és találatok be, milyen esemény látszólag kirúgták,
csak azért, hogy zárja le.
Alice típusú üzenet találat be, az üzenet az ügyfél tüzelt,
ezt a kódot hallja ezt, és most már A kiszolgáló meghirdeti mit,
mi a végeredmény ez tényleg?
Alice elküldi az üzenetet azonnal a szerver rebroadcasts meg
gyakorlatilag mindenki, kivéve Alice, miért mindenki, kivéve
Alice, ha csak nézni
A dokumentáció ügyfél dot broadcast dot bevallani,
szó szerint csinálja, sugározza az üzenetet
mindenki, kivéve a ügyfél, aki küldött
hogy a legutóbbi üzenetet.
Szóval ez az, amiért csak látni, hogy egyszer mindkét oldalon,
nem látja egyszerre Alice és Bob egyre Alice üzenete.
Szóval ennyi, ez a egy továbbítása ügynök
ha úgy tetszik, hogy ez csak figyelembe üzenet
és átvételétől őket
és ez rendkívül skálázható Úgy értem, még
egy végtelenül egyszerű, szerver és egy pár sort
A kódot minden bizonnyal kezelni több száz, ha nem ezer
egyidejű egyszerű üzeneteket oda-vissza, mint ez
és csak elképzelni összetettsége most már az ezt a PHD
vagy Larevel vagy az SQL és mennyit kódot kellett volna
írni, annak érdekében, hogy valóban elérik ezt.
Most tisztesség ebben a nem perzisztens helyes
Ha a szerver leáll elveszítjük az egész történelem
így ez nem elég tökéletes fordítás, hanem ez
hogy egyenesen előre.
Nézzük meg a Java script kód már átugorja a korábbi,
ez az Alice és a Bob kliens,
A weboldal ők használ most nézzük meg itt egy pillanatra.
Van még egy kis kódot
de ez nagyjából csak jQuery ide, értesítés
hogy a weboldal hogy húztam
egy pillanat ezelőtt közé tartozik a jQuery könyvtár,
az aljzat io könyvtár és az Mellesleg észre a különbséget
Itt perjel perjel at az elején egy útvonal
mint ez azt jelenti, hogy pontosan mi,
hol van jQuery pont js, hogy milyen szerver?
Igen.
>> [Hallható rész]
>> Ez az interneten igen Szó szerint az úgynevezett code dot jQuery
dot com miért perjel, perjel, miért nem csak egy perjel,
hol van a HTTP vagy a vastagbél, mit jelent ez általában
ha perjel perjel at az elején az url?
Ez valóban hasznos.
Oké, így mi a nyilvánvaló hiányzik http most, ha azt gondoljuk,
ezen keresztül logikusan, általában nem kell
beszélve a szerver nevét a jobb
mintha csak használja perjel jQuery dot js mi feltételezzük,
A böngészőben?
Ez a fájl ugyanazon server így továbbra is az a fajta
A logika, ha nem mondja hogy milyen protokoll, ami a
a böngésző feltételezik, ugyanaz a protokollt, így ha valaha is meglátogatott weboldalak
hogy kapsz egy hiba mellett a vonalak nem biztonságos tartalmat
ezen az oldalon azért, mert valaki hard kódolt egy http
vastagbél perjel perjel URL egy kép vagy a Java script fájlt
vagy a CSS fájlt, vagy valami ilyesmi A forráskód az oldal
de az oldal maga a böngészők URL http s.
Szóval, ez csak a Fancy kis út
szóval nem tudom mi a protokoll
hogy ezek a végfelhasználók fogja használni
de csak győződjön meg róla, mérkőzések így a króm
és más böngészők ne kiabálj a felhasználó.
Az egyetlen fogás, hogy a jQuery nép jobban be
fel https a szerveren.
Így valójában felsorolja a 443-as.
Rendben közben ezt az egyik itt ez a fajta
félrevezető perjel socket io utal
hogy van egy könyvtár nevű socket dot io az én szerver
de nincs, ha piszkálni
körül van a node modul könyvtárban
de nincs semmi közvélemény erről,
ha konfigurálva aljzat io hallgatni ugyanazon a port,
1337 alapvetően a könyvtárat hogy valaki azt írta megy
az a fajta beszúrni egy kód a node js környezet
és csak hallgatni az ezen az úton.
Ez a könyvtár csak konfigurált útvonal e,
ez nem egy igazi könyvtárat.
Ez lenne egy szokott helyen.
Oké, így most már az érdekes rész,
így, ha a dokumentum készen áll arra, amint azt
ez a jQuery konstrukció, először fogok menni előre
és csatlakoztassa a csatlakozó,
milyen aljzat csak a ... tartsa egyszerű fogok csatlakozni
a perjel, az ahol a felhasználó,
Már tartott a példa egyszerű mi csak akarja csatlakoztatni
hogy pontosan ugyanazt az URL, hogy a felhasználó látogatott, akkor megyek
tenni a következő, megyek mondja Alice és Bob böngészője
hallgatni a üzenetet a szerverről.
Ismét ez lehetett volna foo
vagy bár minden alkalommal, amikor hall egy üzenetet
a szerverről hívás azt adatok majd ezt jQuery kódot
ami azt hiszem a legtöbb, ha nem mindenki ismeri
ezekben a napokban, de lényegében egy tűt a lista elemeit
a meglévő, amely az UL nevezték üzenetek
hogy szó szerint amit a hasznos
a chat üzenet követ kötőjelet, majd kap,
majd egy szóköz, majd a a frissítési idő, és ezért
tisztázni kell, ha megyünk vissza
, hogy ezt meg lehet ezeket a további golyók újra és újra
és újra dátummal alkalommal.
Közben, ha megnézzük itt már csak
kezelni az űrlap benyújtása ez volt a fogadó
az azonnali üzenetküldő, itt van a küldő és ez a fajta
A független csomópont js, figyelj A formák be eseményt.
Amikor ez megtörténik megakadályozza az alapértelmezett, ez csak azt jelenti, ne küldd be
a szerver a szokásos Így újra az egész oldalt,
azt akarjuk, hogy ez az egész keresztül ajax.
Itt csak néhány jQuery kódok
hogy valóban a bemeneti amelynek típusa üzenet,
akinek a neve az üzenet megy előre
és kap ez érték akkor megy előre
és ha valóban van egy üzenet, ha Alice és Bob
vagy Bob valójában fajtái nincs 0 szám billentyűleütéseket bocsátanak ki
A socket egy üzenetet nevű üzenet kliens, amely hasznos
aztán itt ez mi teszi a zöld szemben
a piros, egyszerűen kimenet készülék oldalán [hallható].
Szóval ennyi, de minden Ez csak a felállított,
Az igazi új dolgokat megtenném azt állítják, csak a három
vagy öt sornyi kódot itt hogy valami utal a hatalom
A csomópont js és vele az adott könyvtár.
Szóval vessünk egy gyors nézd meg kifejezett dot js,
Szóval, mit fogok próbálni, hogy ezt a maradék pár
perc alatt itt létrehozott egy Néhány ötlet, néhány módszer
hogy majd egy pár perces szünetet, Tim hoz létre
és aztán majd merülni a mélyebb
egy érdekesebb kifejezni alkalmazás és
a könyvespolc, a könyvtár A Tim ténylegesen írta
A nyílt forráskódú közösség
hogy ad nekünk ékesszóló fény funkcionalitás az én SQL
és a tranzakciók és más hasonló funkciók és ő akkor is merülni
egy kicsit mélyebbre a nyelv Java script is,
hogy milyen célja vagy non-osztály modell működik egyébként tudni
mint a prototípus, néhány azon jönni.
Szóval vessünk egy pillantást a két utolsó alkalmazás itt, szerver öt
a 6. és a szerver amelyek mind valami hasonló szellemben,
ezek nem beszélgetni szerverek de ezek használják kifejezni.
Szóval vessünk egy pillantást mi ez valójában nem,
Én megyek előre, és open ... fogom futtatni ezt app
A node app js, megyek menj vissza a böngésző, és újratölti
és ez nyilvánvalóan mind a kiszolgáló csinál,
ez egy szuper egyszerű szerver ez látszólag egy kereső
motort, ha azt írja a foo és a be nem keresési eredmények
az ize, nem lehet megkerülni, hogy végrehajtása kifinomult
back end, mindent meg fog
tennie, hogy echo nem számít, milyen beírt nincs eredmény foo,
nincs eredmény bar Szóval hogyan csináljuk
mert van egy pár darab, egy,
ott egyértelműen valamilyen bemenet nyújtják
a szerver nem Larevel Persze, de csomópont js már
így szükséges, hogy valahogy hogy az adott paraméter Q,
mi jól csinálnak valamilyen véleménye van,
mi teszi a nézetet, Lehet, hogy van egy lehetőség
A sablonok vagy változó interprelation [fonetikus]
ezért vessünk egy pillantást a következő.
Az app js ezzel az adott server ez minden, amink van.
Egyik kérünk kifejezni magát, két az út modul
amely most nem valami hasznos dolgok
mint csatlakozni húrok együtt, és így tovább nekem,
Hallgatom porton 1337 és most ez az új, ún kiderül
arra, hogy kifejezett, mint Larevel támogatja a különböző beépülő modulok
és technológiák más dolog, és egy
A technológia, amit lehet csatlakoztatni egy nézetben motor
ami csak azt jelenti, hogy mi sablon motort akarsz használni,
Larevel volt, hogy a saját dolog, de akkor csatlakoztassa
a különböző dolgokat, különböző őszibarack P keretrendszerek
különböző módon sablon, EJS csak egy közös
és egy nagyon egyszerű motor hogy csak nézzük meg a dolgok
mint a kapcsos zárójelek, hogy meg kellett Larevels szintaxis
A helyettesítő változók
ez egy kicsit más szintaktikailag az egész.
Tehát most itt van ez a dolog az úgynevezett közepén ware így látni fogod
a saját csapatok csomópont projekt közepén ware csak egyfajta kód
vagy könyvtárakat, hogy adja
a [hallható] válasz életciklusa kérelem,
más szóval e két vonalak mondja Express
hogy némi plusz munkát között az idő, kap egy kérést
és az idő közötti küld a kérelmet a saját utat,
a kódot, amit írtam.
Így különösen ez a vonal itt használjon Express dot statikus és minden
E komplexitás ez csak azt jelenti, ha látsz egy kérést
hogy jön egy statikus fájl mint a foo dot jif vagy foo dot css
vagy foo dot js, így nem dinamikusan generált útvonal,
megy előre, és feltételezem, hogy él a nyilvános alkönyvtárban,
ez minden, ami csinálja.
Ez a fajta, mint a térképezés Larevel, minden a web
, vagy a nyilvános könyvtár inkább Larevel.
Ez a következő sorban csak azt szeretném használni útvonalak,
Szeretném használni a dolgokat mint app pont kap
amit látott egy pillanattal ezelőtt majd meglátjuk, csak egy kicsit.
Tehát app dot kap eszközökkel hallgassa ezt az utat,
slash, amikor átveszi hívja ezt a névtelen funkciója, amely
a kérelmet, és a választ, és már csak
mint Larevel van egy módja Az teszi a sablon,
válasz pont render, idézet idézet vége index,
teszi egy sablon az úgynevezett index,
Ennyi úgyhogy felfüggesztheti a menet egy pillanatra meg
a tartalmát véleményét könyvtár
és vegyük észre, ez is szuper egyszerű most,
van jelzőpont EJS és a keresési dot EJS,
Azt természetesen szeretné, hogy az első
mert ez az, én csak fáradt tétele, és majd meglátjuk
A megtekintés index dot EJS a legtöbb valóban teljesen html
abban a pillanatban, ott van valójában nincs sablon folyik.
Szóval technikailag nem is kell nevezni EJS,
Nekem nem kell, hogy a funkcionalitás de megtartottam egységes,
Szóval ez az, ez az, amit ad nekem, hogy szuper egyszerű formában.
Így már csak egy másik útra, ha megnézzük itt mondtam
, hogy ez az, amit kap fogantyúk perjel keresés így a tényleges sort
A Google, mint kezelő az beadvány formájában, amikor már
ezen az úton hívja ezt a névtelen függvény
és teszi a sablon az úgynevezett kereső
és mi a második érv feltehetően jelentenek.
Úgy néz ki, mint egy JSON objektum fajta vagy Java script objektum.
Mi a szerepe az, hogy második érv feltehetően?
>> [Hallható rész]
>> A tényleges lekérdezést, amely a a felhasználó beírt látszólag él
A kérelem dot lekérdezés, query utalva mindent
a kérdőjel dot q amely a tetszőleges név,
, hogy én adtam, mint a Google
és közben q vastagbél csak mondván, át a sablont,
keresés dot EJS, a kulcsa q és egy értéket
bármilyen q tényleges érték volt.
Tehát marad csak egy fájl érdekes nézeteket,
keresés dot EJS tartottam ez szuper egyszerű is,
Ez többnyire csak a HTML, kivéve egy kissé figyelemre méltó sor
ami ezt a szintaxis itt ami úgy néz ki, mint egy rakás
A különböző sablon motor ez csak azt jelenti dugót
a q értéke és ez merész.
Szóval nincs tényleges keresési funkciókkal rendelkeznek, de ez a fajta
Az javaslom, hogy hogyan lenne szerkezet egy csontváz
kérelem ilyesmi.
Közben ... igazából mutathat egy másik dolog,
észre, hogy nekem van néhány html itt a CSS fájlok
és a Java script fájlt, nincs semmi a fájlokat
abban a pillanatban, de észrevettem, hogy van egy nyilvános könyvtár
mint mondtam korábban statikus fájlokat, így ha elmegyek
ott van a css könyvtár,
ha én megyek oda ott stílusok pont css
és nincs tartalom van
de ez hogyan lenne rendelkezik nyilvános hozzáférhetővé fájlokat.
Rendben vessünk egy pillantást egy másik változat itt
és aztán be egy ötlet, és szünet.
Szóval ez a szerver a 6. az utolsó, így a Ez majdnem megegyezik, kivéve
az alsó két sor amelyek úgy néznek ki, mint ez.
Tehát valóban van egy harmadik sor az más
de már rejtve ... úgyhogy vissza kissé így nem valaki akar
javasolni, hogy mi folyik itt a laikus szempontból
vagy műszaki szempontból mi térnek ez a verzió
tekintetében az említett vonalak a felső csomópontok.
Mit tettem feltehetően történik itt, és miért?
Ja, Sharon.
>> [Hallható rész]
>> Ja úgy néz ki, mintha már költözött index és keresési
így külön közvetlen, vagy valami, Már szerepeljenek őket
és ez az, hogy ugyanúgy, mint A Larevel meg tudná tenni az összes
a vezérlő logika belső útvonalak pont php
névtelen függvények újra és újra és újra
de ezt a fájlt természetesen tud elég nagy
így útvonalakon pont php, amit a legtöbb
A srácok is csinál A korábban megadott nevet
A vezérlő osztály vagy még a nevét módszer
hogy meg kell, hogy hívják
így ugyanaz a gondolat van még bár a szintaxis egy kicsit
különbözik, így itt értesítés
hogy nyilvánvalóan végre a saját node js
modul és a modul csak egy Java script fájlt tapad
lényegében egy egyezmény hogy mi lesz látni, csak egy pillanatra.
Tehát feltételezzük, hogy minden az én funkcionalitás index
és a keresési nyilvánvalóan valósult meg ebben a könyvtárban
és most hívom, hogy az egész modul vagy csomag vagy a könyvtár,
amit akarsz gondolni rá, mint,
az utak változó nevű útvonalakon.
Szóval úgy tűnik ott útvonalakon dot index módszer az úgynevezett
index és látszólag nincs Egy másik módszer az úgynevezett kereső
ebben az útvonalakon modulok vagy a könyvtár
és én csak az útvonal is csak azért, hogy nem tesz minden
az én névtelen kód belül az én app fájlt.
Szóval menjünk be útvonalakat is Notice ott van csak jelzőpont js
és ha én meg itt ez Az egyezmény gondoltam korábban
így ez elég önkényes de ez a csomópont egyezmény.
Minden alkalommal, amikor végre saját node js könyvtár,
aka modul lényegében lehet írni a Java script kódot
szeretnénk ebben a fájlt, akkor Legyen nagyon tisztán Sand dobozos
úgy, hogy a változók dönt, nem ütköznek
mással könyvtár, változókat vagy módszerek, vagy bármi
ilyesmi, de bármi szeretnénk, hogy ki
a külvilág ala a nyilvános módszer Java script
vagy php vagy más nyelven meg kell puff belül
egy globális objektum a szerzője node nevű export.
Így ezzel az export pont index Én tegye a felhasználók számára
Ennek a modulnak a módszer az úgynevezett index, amely leképezi ezt a funkciót
így névtelen a jobb oldali
de én hatékonyan amely azt egy nevet a bal oldali
és az exportáló, hogy a világ
így hívni dot index vagy dot keresést.
Tehát, hogy világos, hogy azt is meg kellett valami ilyesmit function ize
az, hogy itt nem valami
ezt a funkciót lenne teljesen működőképes,
lehetne hívni ezt a fájlt, de senki sem
a külvilág hideg valaha meghívni az ize
mert nem exportált útján ez pont jelöléssel.
Szóval ez minden, ami folyik,
minden szépen név elhelyezett az Ön számára.
Tehát a végeredmény, ha igen csomópont Az app, és újratölti az oldal
hogy ha most keres
a bar ... funkcionálisan Ezek apps ugyanaz
de ez csak egyfajta lépés felé tisztább végrehajtása,
természetesen ha elkezd írásban több és több kódot
és ez minden, ezek.
Nyilvánvalóan nem különösebben bonyolult vagy összetett
de lényegében a kiindulási pont
, mi lesz a első csomópontot js kb.
Mit fogunk csinálni valószínűleg később ezen a héten, vagy ezen a hétvégén
mint te befejező fel a php alkalmazások fogunk követni
fel egy nagyon egyszerű alkalmazás a csapat merülni
a hasonló szellemben a A bemelegítő gyakorlat php
amely alapján a közepén félév felmérés
emberek úgy találta hasznosnak megy át a gyakorlat
csinál valami viszonylag egyszerű
de meglehetősen irányított mielőtt valóban kezelni valami
saját, így mi lesz nyomon követni, hogy
lesz, és lényegében mivel a hét és fél
múlva átfedő kicsit PHP szándékosan.
Bármilyen kérdése majd kifejezni, a socket io
vagy zavartság megmaradt Hétfőtől talán.
Rendben így remélhetőleg egy a take-a-módon eddig is
hogy van néhány ilyen a dolgok biztosan sokkal kevesebb
fölött, mint talán volna használni.
Hadd mutassam be egy utolsó ötlet,
így egy nagyon gyakori programozási paradigma
Java script, ami ténylegesen jelen a jQuery
újabb változatai, így lehet, hogy valóban láttam ezt a technikát
előtt, de ez is elég gyakori a csomópont js világon,
ez gyakori a Tim saját Könyvespolc könyvtár
így fogjuk újra ezt egy konkrét példát
egy pillanat a megoldás a kódot, mint ez,
ez a reprezentatív kód láttuk hétfőn, hogy olvassa el a fájl
ebben az összefüggésben nem valódi módszer ez hasonló szellemben
FS dot olvasni fájlt, de feltételezzük, hogy ez csak néhány készült
up módszer, hogy nem valami nagyon hasonló.
Tehát összefutottunk néhány kérdések hétfőn általános
Tehát mi a fajta ... miért ez egy csúszós lejtőn,
ezt hívja vissza paradigma A programozó Java script
és hívja vissza paradigma Úgy értem, ez a technika
ahol nem tér vissza értékek azonnal
mivel, amelyek blokkolja a szerver
csinál valami mást, ami hasznos, akkor ahelyett, hogy hívja vissza
mint a csengőjét a Shake Shack, ha készen állsz
át vissza a választ érvként.
Ez egy csúszós lejtőn
ahol nagyon gyorsan lesz bosszantó, hogy miért?
Igen.
>> [Hallható rész]
>> Ja, minimálisan válik fajta olvashatatlan jobb
ha ezek a hívás háta, és ha azért,
a jó stílus ez egyre elég erősen tagolt
idővel, és ha én pont ezt a Például, ha valami sovány
keresztül, ez egyszerűen azt jelentette, hogy nyisson meg egy json fájlt, és nyomtassa ki,
mintha ez az, és mégis van néhány 8 vagy 10 sor van
amelyek már egyfajta A csúnyán tagolt,
megvan try catch amely
Ha nem ismeri egy hibakezelés technika
, amely lehetővé teszi, hogy megpróbál valami
és ha ez nem sikerül, akkor kapunk, hogy remélhetőleg
anélkül, hogy a teljes program megszüntetése de van
annyira, komplexitás, mint te kedves A meg kell gondolni ezt a
és Isten ments, mi egy pár egyéb aszinkron metódushívások,
A dolog már lesz itt,
azt gondolhatja, hogy ez a fajta egy buta esztétikus, de ez
mivel a visszahívás paradigma oly gyakori, legalább
natív node kód ezt nagyon hamar unalmas,
nehéz hibakeresés, a behúzás kezd számít, így rendezni
A hajsza a dolgokat, ez csak nem egy nagyon boldog módja
A programozás.
Tehát mi emberek tettek
különböző kontextusban csomópont között ezek közül próbálja egyszerűsíteni ezt,
os például ígéretek egy másik gondolkodás
írásról aszinkron kód hogy vizuálisan fordul valami
mint a 1-es verzió a ez a 2-es verziójú.
Azt állítom, és ez megint csak egyfajta vegyes
a tényleges kódot, és ál kódot, ez reprezentatív
hogy hogyan fog újra végrehajtani hogy pontosan ugyanaz a dolog,
nyisson meg egy json fájlt, feldolgozni, és nyomtassa ki
ki használ valamit úgynevezett ígéretek
és a legfontosabb szintaktikai részlet
hogy van egy láncolást folyik itt.
Figyeljük meg, hogy az csak a pontosvessző
az egész ... tényleg jól mondjuk ... nem akarom félrevezetni.
Ez nem feltétlenül szükséges de legyünk következetes,
észre, hogy a pontosvessző amely utal a nyitó
Ennek az egész állítás az egészen itt.
Szóval, míg én már formázva ez ... inkább úgy néz ki
mint a három állítás, három nyilatkozatok, hogy lehet látni
Java vagy más nyelven amelyek try és a fogási
és kivételkezelés általában.
Figyeljük meg, hogy én csak lánc a visszatérési értéke az egyes
ezeket a módszereket együtt.
Szóval, mi folyik itt, olvasd el a fájl ha ez egy olyan módszer, ami létezik,
látszólag igyekszik olvasni ezt a fájlt,
dot, akkor igen, akkor ez egy nagyon közös neve a világban
ígéretek a módszer, amely végre
ha az előző dolog sikerült.
Szóval ez olyan, mint a siker kezelő, így aztán json dot parse,
jól json dot parse csak egy módszer
a globális JSON könyvtár és úgy tűnik, ragaszkodik
hogy ebben az esetben a ígéret modell
ezért azt mondjuk, hogy csak Feltételezem, hogy ez a fickó hívás
és ha sikerül, akkor hívja ezt a srác, majd
ha ez valóban végrehajtja egyszerűen konzol log az adatokat
kérdés.
Szóval, hol van a hiba kezelése, észre én sort
nagyon vakon lépett ki ezt a párkányról
és csak hívják ezt módszert, és akkor ez a módszer
anélkül, hogy valaha ellenőrzése problémák.
Nos, hol vannak azok a probléma feltehetően kezelik ... ezekben
cache nyilatkozatok annyira más könyvtárak különböző
egyezményeket, de a ez a helyzet, akkor a sort
A siker kezelő, gyorsítótár van valami a hibakezelő
és mert már nem tört ez a lánc már csak tartsa a
dot jelölés összeköti az eredeti metódusmeghívást
olvasási fájlt, és a funkciót Invocation esetleges hibákat sort
buborék az utat keresztül a lánc
amíg ők valóban kezelik ami így tisztább, mint próbál
foglalkozni, hogy minden átkozott lépésénél
úgy, hogy a kód nagyon hamar valótlan adatokat.
Ebben az esetben mi vagyunk azt állítva, hogy megpróbáljuk
elkapni úgynevezett szintaktikai hiba, hogy ez lényegében egy
alosztálya egy általánosabb hiba, és ha ez megtörténik igény
hogy ez érvénytelen JSON egyébként ha ez egy általános hiba
hogy nem számítottam csak általában azt mondják, nem lehet
olvasható fájlt.
Most ez csak azt jelentette, hogy reprezentatív kód
de ha már programozott nyers Java script, vagy Java
vagy más nyelven, ez eljárási kódex lényegében,
ez egy hagyomány próbálja catch utasítást
és ez az esztétikai és a funkciót, hogy ígér
vagy próbál adni amellyel lehet gondolni, hogy
mivel csak írásban próbát, majd fogás, majd fogást nem rendelkező
aggódni minden egyetlen lehetséges ponton
Ha egy hiba miatt kezelni ... történnek,
tudja kezelni az egészet a végén szükség egy kis blokk
a kódot, és akkor is különböztetni a hibákat
amennyit csak tudsz ebben az esetben itt.
Így a nómenklatúra hogy akkor lásd az irodalomban talán
Tim bemutat néhány ez a cucc is van
hogy ideális esetben szeretnénk ígéri, hogy megoldja
és megoldásának ígéret eszköz hogy végül visszatér úgymond
, de nem a hagyományos módon érték, így sem sikerül
a nem alapvetően.
Rendben bármilyen kérdése van, akkor, ez nem azt jelentette, hogy elegendő
az expozíció ígéretek de csak a mentális modell
A kódot kezd látni.