>> U redu, tako da smo se, nekoliko ciljeva za danas,
ćemo nastaviti tamo gdje smo stali zadnji put,
sjećam se da smo bili čineći ovaj slijed
poslužitelja povezanih aplikacija, super jednostavan, ali pomoću čvora JS
, a zatim i nedavno korištenjem izričito dodir AS
i što je izrazio JS analog u PHP svijetu.
Dakle Express je više ... blizu,
tako Express je u suštini MBC okvir koji je prilično
popularni na čvoru js svijeta,
Policu koje ćemo vidjeti danas putem Tim je analogna
od elokventna koji je ORM na povezanog objekta Mapper
koji zapravo olakšava kako bi se izbjegle niske razine SQL koda
i zapravo izražavaju odnose Među raznim predmetima.
Dakle, jedna od zgodnih stvari iskreno
O čvor js je samo kako lako se dade
to radi u stvarnom vremenu aplikacije, stvari kao što su chat servere
ili poruka poslužitelja, sve što ti dečki sada koristiti
kao što je Google ... G-chat ili Google okupljalište
ili ažuriranja Facebook statusa ili čak i Twitteru ako ste
na njihovoj web stranici sve je vrsta stvarnom vremenu
ili vam daje Iluzija stvarnom vremenu
i to je zapravo bol u Vrat veze s nečim
kao što su PHP i My SQL Pravo Što smo predložiti
u ponedjeljak će biti sredstvo
kojim biste mogli ostvariti Iluzija realnom vremenu ponašanja
s poslužitelja za chat u realnom vremenu, Što bi ti to učiniti?
Alice šalje poruku, pogodi unesite gdje to ide?
Da.
>> [Poglavlje nečujno]
>> U bazu podataka, a zatim što Bob browser ima
učiniti da se zapravo vidi ono Alice je rekao, je li?
>> [Poglavlje nečujno]
>> Držite prozivanja bazu, pravo, pa ajax zahtjev ima
otpustiti svaku sekundu, svaki par sekundi ili smo kratko razgovarali
ali nije pogled na primjer nešto što se zove dugo glasovanje,
netko sjetiti kako
da je mehanizam ... na Visoka razina radi?
>> [Poglavlje nečujno]
>> Točno, da tako preglednik još uvijek čini Ajax zahtjev
na poslužitelju, na Foo dot php ali Foo dot php samo čini
objesiti, to u biti sjedi u while petlji za onoliko
što je 30 sekundi i obično samo jednom Foo dot php file
shvaća oh postoji novi redak
u bazi podataka nema to zapravo reagiraju
s http odgovoriti.
Tako da mislim da bi to moglo inače objesiti poslužitelja
i to ne u nekoj mjeri
ali to znači da postoji puno manje nadzemne
jer ne treba nova TCP veza, novi htp veze
zapravo zatražiti podatke s poslužitelja.
Ali čvor js dolazi s vrlo popularni knjižnica zove socket
dot io kojima bi mogao Nikad korišten je izgrađen na vrhu
od tehnologije pod nazivom web socket koji je prisutan
u većini modernih preglednika i ono socket io ipak dopustiti vam
stvoriti suštini uporni veze
između preglednika i poslužitelja to je vrlo niska pretek
tako da ne mora nužno imaju iste probleme skaliranja
da možda, ako ste stalno udaranje poslužitelj
u svijetu PHP i SQL mi i slično.
Čak i za starije preglednike
da ne podržava web utičnicu ova knjižnica socket dot io mogu
pasti na leđa bljeskova Provedba utičnice
i utičnice je umrežavanje stvar od CS143 primjerice.
Ili je to još može pasti na leđa dug Sama glasovanje kako bi se oni provode
da je ista vrsta posla
za oko zapravo održavanje Iluzija o toj vezi.
Dakle utičnica [nečujan] io i to u obliku
o Java Script knjižnica, u biti ako ga koristite
u obliku čvorova JS Aplikacija ne samo instalirati
to kao paket s nečim kao NPM koje smo koristili u ponedjeljak
a ili također uključuju strip oznaku u u HTML datoteke
koji kaže da korištenje klijent, knjižnica.
Dakle, postoje dvije polovice do to i što smo učinili ovdje
u četvrtoj iteraciji ponedjeljak nizu
primjera je sljedeći.
Dakle, ovu sliku struktura podsjeća na vrlo zajedničkom skupu
za izraženih JS i hvala bogu da je način jednostavnije
od lervo [fonetski] je, sjećam se kad ste postavili
do lervo imaš veliki gadno izvatkom iz cijeli niz slika,
dobavljača koji vodi, lib i vrlo teške težine u odnosu na ovo.
Sada je u pravednosti koje smo skinuli daleko stvari koje je prilično mnogo
distrakcija, ali sve sočne stvari je stvarno
u čvor modula.
Samo da vam okus ako gledamo
u čvoru modula postoji dva modula ili knjižnice
da sam skinuti, to bi ekvivalent
od dobavljača katalog, jedan zove se izraziti što je
kao larevel ali u čvoru
i utičnica io jedan samo sam spomenuo.
Dakle, oni postoje, tako da možemo učinite sljedeće ako otvorim
do recimo index dot html, Neka prvi pogled na HTML-u,
ovo će sastaviti ovo tijelo, moj super,
super jednostavna chat poslužitelj.
Dakle, tu je očito ul. s jedinstvenom idejom poruka
i to je gdje Li jedan po jedan,
sve instant poruke su će se pojaviti između Alice
i Bob i onda postoji Jednostavan oblik s tekstom polju
i gumb dostaviti kojim Alice
ili Bob mogu zapravo Poruka međusobno.
Tako je neto učinak ako Ja pokrenuti ovu aplikaciju
obavljajući čvor prostor app točku js, ako sam povući par
od prozora preglednika je da Alice mogla biti na desnoj strani,
Bob bi mogao biti na lijevo i samo
da bude jasno da nema magije Ovdje imam jedan prozor
u inkognito, tako da nema Dijeljenje kolačiće ili ništa
ovako, to su dva različita korisnika.
Ja bi trebao biti u mogućnosti da imaju Alice pozdraviti Bob, kliknite podnijeti
i sad vidite na lijevoj da Alice je poruku poslao
i gotovo trenutačno Na redu.
Ne glasovanje naizgled su uključeni, Bob dobila istu poruku.
Sada Bob kaže pozdraviti Alice vidiš suprotan učinak.
Dakle, ono što se zapravo događa, kako koliko kod trebamo pisati
implementirati ovaj chat poslužitelj
koji sada možete projicirati psihički da svatko
u ovoj sobi ako je to nisu bili na mom [nečujan]
ali na foo dot com smo mogli sve započeti razgovor odmah
jedni s drugima.
Dakle, ono što je uključen i prije nego što sam jasan ovaj ekran to je to
samo utičnicu io se malo bučan, to je samo za tisak
iz ispravljanje pogrešaka informacije na zaslonu
tamo je stvarno ništa ono što se događa tamo.
Zato mi dopustite da se otvori js app dot, pa kao i prije smo dobili nekoliko stvari
na vrhu datoteke.
Hrpa zahtjeva, pa to su poput knjižnica
ili izoštri tragove ili zahtijevati onces god mentalni model što
žele imati i samo to recap FS koristi
za kakvu funkcionalnosti?
Dakle, slika sustav tako čitanje datoteka potencijalno i takve stvari
i koristim to u jednom mjesto kao što ćete vidjeti,
Express je, naravno, to okvir koji mi koristimo,
to je strogo ne neophodno što smo mogli
kao što je u ponedjeljak u potpunosti stvoriti naša HTTP poslužitelj od nule
time stvoriti server i sve te vrste koda od prije
ali kao što ćemo vidjeti ovo čini stvari malo lakše
jer sve što morate učiniti je Na liniji 3 ovdje instancu
i izraziti objekt, zvat ću to app, ponekad proizvoljno,
I onda ću reći app slušati na samovoljno port 1337,
koji može biti 80 dogovorno
i onda na kraju sam novi linija, koji danas govori
zahtijevati utičnicu IO knjižnica, a zatim
ovim lancem pristup bi ovo dot operator Ja sam samo
nazivajući lekciju slušati da je bitno reći utičnicu
IO knjižnice također slušati tom istom poslužitelju
ili web socket veze.
I što sad, tako da ono što je ovo radi, ove četiri linije
koda ovdje što bi trebalo izgleda podsjeća larevel,
što to predstavlja?
>> [Poglavlje nečujno]
>> To je ... ruta, samo Ruta tako u js app točaka,
aka js server dot ovisno na ono što ljudi žele da ga zovu
u vlastitim aplikacijama imate konvencije
radiš definiraju svoje rute,
app dot get znači kad god dobivate GET zahtjev ići
da za doslovno slash ići naprijed i nazvati ovaj anonimni funkciju
a anonimna funkcija u ovaj slučaj vodi po zahtjevu
ili Zahtjev i odgovor, potencijalno neke druge stvari
ali minimalno ove dvije.
Zahtjev vam daje pristup na stvari kao što su HTTP parametrima
i zaglavlja i drugim sočne stvari
te odgovor je mehanizam
kojim možete reagiraju na korisnika.
Dakle, ovo je super jednostavna, čak iako nismo vidjeli dosta
Isto kod zadnji put, ja sam korištenjem modula datotečnog sustava,
stvoriti čitanja metodu potok koji se u bitnome ne da,
stvoriti čitanja tok koji znači u biti početak slurping
do bajtova iz indeksa točkom HTML kao učinkovito kao što možete
bez nužno čeka dok ti pročitao cijelu datoteku
i kao što ste to učiniti Cijev im doslovno
u okomitog smislu ako ste zadovoljni
s linux naredbenog retka,
cijev je u odgovoru objekta.
Dakle, tu su i dva primjera odnose na potocima u ponedjeljak,
smo samo gledali, ali vi ste dobrodošli da se osvrnemo
na potok o, a potok 1.
Stream 1 ... 0 učinio nešto slično tome,
struja 1 učinio nešto gotovo točno kao što je ovaj,
ovo je samo gladak jedan brod govoreći vrsta
od slurp nešto u ovamo a zatim početi slati ovdje
u isto vrijeme, bez radi mase se slažu
a zatim masivni pravo,
Ovaj pristup je općenito učinkovitiji.
Dakle, to je vrsta starih stvari čak i ako je bio nov u ponedjeljak,
to je sve što je potrebno kako bi implementirati chat poslužitelj
s čvorova JS i više posebno utičnicu dot IO.
Pa kako ovo radi, neka mi ga premjestiti ga malo,
tako io je samo varijabla koja se odnosi
na modulu mi potrebno ranije,
dot utičnica je samo imovina unutar nje
to mi daje utičnicu srodne funkcionalnosti
na je uobičajena metoda koja odnosi se na ono što uopće pojam?
Događaj tako dalje aka slušati neke knjižnice To samo znači
Čuvši ovaj događaj koji se zove veza
i sad ti to znaš samo iz gledajući dokumentacije,
tko je napisao knjižnicu definirani događaj pod nazivom
Veza koja se bavi ono što vaše će misliti
kad je Alice i Bob povezuje.
Ići naprijed i to nazivamo anonimna funkcija uzeti u prolazu
u jednom argumentu klijent što je očito neka vrsta
objekta koji predstavlja Alice je veza
ili Bob veze ili Charlie ili bilo tko drugi
a sad mi sljedeće.
Mi reći klijentu nakon on ili ona je povezana
posebno slušati
za poruke koji je potpuno samovoljno zove poruka
debelog klijenta.
To je nešto što je Tim i Vratio sam se s, to bi mogao biti foo
ili bar, to je samo neki Jedinstven niz koji nam je potreban
odlučiti nakon što je programeri.
Kad god Alice ili Bob čuje
taj događaj ovaj anonimni Funkcija bi se trebao zvati
i podatke, Sadržaj Alice
ili Bob poruka mora biti prešao u ovom događaju rukovatelj
i što sada trebaju Klijent dobro možete ljubazni
od pročitate ovaj prilično intuitivno klijent bi trebao emitirati,
inače poznat kao Emit Poruka se zove metoda poslužitelja
time označava ovu poruku dolazi s poslužitelja nije
iz preglednika, a što bi to poruka biti,
to je očito nosivost od god je došao iz klijente
i mi idemo samo na samovoljno ga zovu poruka.
Dakle, puno toga je proizvoljna
kroz razumnu imenovanja konvencije, Tim i ja došli
sa, uglavnom Timom i onda smo jednostavno se stvara u konačnici
chat poslužitelja koji radi ono što, kad je Alice šalje poruku
i hitove unesite što događaj očito dobiva otkaz,
samo da ponovim.
Alice vrste poruka, hitovi ući, poruka klijent je otkaz,
ovaj broj čuje da i sada poslužitelj emitira što,
što je krajnji rezultat ovo stvarno?
Alice šalje poruku sada poslužitelj ga reemitira
učinkovito svima osim za Alice, zašto su svi osim
za Alice i ako samo pogledati
na dokumentacija klijenta dot emitiranje dot priznati,
doslovno ne da, emitira poruku
svima osim klijent koji vas je poslao
da Najnovija poruka.
Dakle, to je razlog zašto vam je samo vidim ga na svakoj strani,
ne vidim kako Alice i Bob dobivanje Alice poruku.
Dakle, to je to, to je prenoseći agenta
ako će to samo uzimanje u porukama
te ih reemitiranja iz
i to je nevjerojatno skalabilan Mislim čak
sa super jednostavna poslužitelja i nekoliko redaka
koda si mogao sigurno nositi stotine, ako ne i tisuće
istodobnih jednostavnih poruka ide natrag i naprijed kao što je ovaj
i samo zamisliti složenost Sada je to u PHD
ili Larevel ili moja SQL i koliko je kod vas će imati
pisati kako bi se zapravo bi se to postiglo.
Sada u pravednosti to Nije uporni u pravu
ako poslužitelj odlazi dolje gubimo cijelu povijest
tako da to nije dosta savršena prijevod, ali to je
da je ravno naprijed.
Pogledajmo Java skripte Kod smo preskočili ranije,
ovo je Alice i Bob je klijent,
web stranica oni koriste sada pogledajmo ovdje za trenutak.
Tu je malo više kod
, ali to je prilično velik dio upravo jQuery ovdje tako obavijest
da je na web stranici da sam izvukao
do maloprije smo uključiti jQuery biblioteku,
utičnica io knjižnici i što na stranu primijetiti razliku
Ovdje, slash slash na Početak putu
kao što to znači što točno,
gdje je jQuery dot js na ono što poslužitelju?
Da.
>> [Poglavlje nečujno]
>> To je na internetu da doslovno zove code dot jQuery
dot com pa zašto slash, slash, zašto ne samo jedan udarac,
gdje je http ili debelog crijeva, Što to znači u cjelini
ako ne slash slash na početku URL-a?
To je zapravo korisna.
U redu, tako što je očito Nedostaje http sad ako mi razlog
kroz to logično, obično ne trebate
da spomenemo poslužitelji imena pravu
kao i ako samo koristiti crtu jQuery dot JS što pretpostavlja
od strane browsera?
To je datoteka na isti poslužitelj pa i dalje te vrste
logike ako ne reci je ono što je protokol
browser pretpostaviti, isto tako protokol Ako ste ikada posjetili web stranice
da vam dati pogrešku zajedno linije nesigurnim sadržajem
Na ovoj stranici da je to zato netko teško je kodiran HTTP
debelo slash slash URL slika ili Java skriptu
ili CSS datoteku, tako nešto u izvornom kodu stranice
ali sama stranica u preglednici URL http e.
Dakle, ovo je samo zavoljeti malo put
govoreći ne znam ono protokol
da se ti krajnji korisnik će se koristiti
ali samo bi bili sigurni da utakmice, tako da je chrome
i ostali preglednici nemojte vikati na korisnika.
Jedina kvaka se jQuery ljudi bolje je postaviti
do https na njihov server.
Dakle, oni su zapravo uvrštenje na 443.
Dobro je u međuvremenu ova jedan ovdje je to vrsta
lažne crtom socket io sugerira
da postoji katalog zove io socket točka na mom poslužitelju
ali nema ih, ako smo čeprkati
oko postoji Čvor modula imenik
ali ne postoji ništa javnosti o tome,
kad smo konfiguriran socket IO slušati na istim lukama,
1337 bitno da je knjižnica da je netko drugi napisao je idući
na neki način ubacivanje koda u čvoru JS okruženju
i samo slušati za taj put.
To knjižnica ima samo konfiguriran put za to,
to nije pravi katalog.
To će biti u standardno mjesto.
Ok pa sad interesantno dio,
pa kad je dokument je spreman, kako je navedeno
ovim jQuery izgradnju, Prvi ću ići naprijed
i spojite na utičnicu,
ono socket samo ... ga zadržati jednostavno ću spojiti
da udarac, koji je gdje se korisnik nalazi,
Ja sam zadržao primjer jednostavne Samo ćemo se povezati
na isti URL koji Korisnik je posjetio onda idem
učiniti sljedeće, idem reci Alice ili Bob preglednik
za slušati poruka s poslužitelja.
Opet to mogao biti foo
ili bar svaki put kad čuti poruku
od nje podataka na server poziva a zatim napraviti ovu jQuery šifrom
što pretpostavljam većina, ako Nije svatko je upoznat
s tim danima, ali bitno pin na popis stavku
postojećem UL koje zvao poruke
koji doslovno kaže bez obzira na nosivost je
od chat poruke slijedi crticu, nakon čega dobivaju,
nakon čega slijedi, a zatim prostor je vrijeme i ažuriranje zato
da bude jasno, ako ćemo se vratiti
to ti to dodatni metaka i opet
i opet s turnira puta.
U međuvremenu, ako gledamo ovdje imamo samo
rukovati slanje obrasca , tako da je primatelj
od instant poruke, evo slanje i to je neka vrsta
nepovezanih do čvora js, slušati na obrascima dostaviti događaj.
Kad se to dogodi spriječiti zadani, to samo znači da ga ne podnosi
na poslužitelj u uobičajeni način, ponovno cijelu stranicu,
želimo učiniti sve preko Ajaxa.
Evo samo nekih jQuery kodovi
je zapravo da se ulaz čiji tip je poruka,
čije ime je poruka samo naprijed
i dobiti što je vrijednost onda idete naprijed
a ako zaista imate Poruka, ako Alice i Bob
ili Bob zapravo tipovi neki none 0 broj tipke emitiraju
na utičnicu poruka naziva Poruka klijent s tim teretom
i onda ovdje je to ono što ga čini zeleni razliku
na crveno, mi jednostavno izlaz strana aparata [nečujan].
Tako da je to, ali sve je Ovo je samo postaviti,
stvarna nove stvari bih tvrditi je samo ta tri
ili pet linija koda ovdje i koja vrsta savjete na vlast
čvora js is njom ovaj knjižnica.
Tako ćemo brzo pogled na izričitim dot js,
pa što ću pokušati učiniti u preostalom par
minuta ovdje je postavljen Nekoliko ideja, nekoliko tehnika
koji će onda potrajati nekoliko minuta pauze, Tim će se postaviti
i onda ćemo zaroniti u dublje
to zanimljivije izraziti zahtjev, a također
na policu, knjižnica Tim je zapravo napisao
za open source zajednici
koji nam daje elokventan svjetlo Funkcionalnost s mojim SQL
i transakcije i druge takve značajke i on će također roniti
u malo dublje jezikom Java sama skripta,
kako je njegov cilj ili ne-klase Model funkcionira drukčije znali
kao prototip modela, još malo na tome da dođe.
Tako ćemo pogledati dva posljednja aplikacije ovdje, poslužitelj pet
i poslužitelj 6 koje su sve nekako slično u duhu,
to nisu chat servere ali oni koriste express.
Tako ćemo pogledati što se to zapravo radi,
Ja ću ići naprijed i otvoren ... idem pokrenuti ovu aplikaciju
s čvor app js, idem vratiti u svoj preglednik i ponovno
i to je očito sve to server radi,
to je super jednostavna poslužitelja to je očito traži
motor tako da sam upisati foo i podnijeti, nikakve rezultate pretraživanja
za foo, nisam se oko provedbi sofisticiran
leđa kraj, sve što se događa
učiniti je odjek bez obzira Možete nikakve rezultate za foo,
Nema rezultata za traku Pa kako ćemo to učiniti
jer postoji par komada, jedan,
tu je očito neki ulazi se pružaju
na poslužitelj ne Larevel Naravno, ali čvor js sada
tako da ćemo morati nekako dobiti na tom parametru Q,
mi smo jasno radi neka pogleda ovdje,
mi smo čineći pogled tako Možda postoji mogućnost
za predloške ili varijablu interprelation [fonetski]
pa neka je pogledati u nastavku.
U app js za to posebno server to je sve što imamo.
Jedan mi tražimo izraziti Sama, dva modula put
koja je upravo radi neke korisna stvar
kao što se pridružio žice zajedno i tako dalje za mene,
Slušam na portu 1337 i Sada je to novo pa ispada
iz tog izričitog poput Larevel podržava različite plug ins
i tehnologije i druge stvari i jedan
od tehnologija koje može priključiti se pogled motor
što samo znači ono templating Motor ne želite koristiti,
Larevel imao vlastitu stvar, ali možete priključiti
na različite stvari, različite breskve P okvira moraju
različiti načini templating, EJS je samo uobičajena
i prilično jednostavna motor da samo neka je raditi stvari
kao vitičastim zagradama koje ste imali u Larevels sintakse
za zamjenom varijabli,
to je malo drugačije sintaktički je sve.
Tako sada postoji ta stvar zove Srednji keramika, tako kao što ćete vidjeti
u svoje momčadi čvor projicirati Srednji keramika je samo neka vrsta koda
ili biblioteke koje se uvelo
u [nečujan] odgovor Životni ciklus zahtjeva,
drugim riječima, ove dvije linije govori Express
napraviti neki dodatni posao između Vrijeme je dobije zahtjev
a između vrijeme on šalje da zahtjev za svoj put,
Vaš kod koji ste napisali.
Dakle, posebno ovaj redak ovdje koristiti izričito točku statički i sve
ove složenosti to samo znači ako vidite upit
koji dolazi u za statički datoteku poput Foo dot jif ili foo dot CSS
ili Foo dot JS tako ne dinamički generirane rute,
ići naprijed i pretpostavljaju da živi u javnom poddirektoija,
to je sve što radi.
To je nešto kao mapiranju Larevel, sve na tkanje
ili vaš javni imenik umjesto u Larevel.
Ovaj sljedeći linija je samo rekavši želim koristiti rute,
Želim koristiti stvari kao app dot dobiti
koje smo vidjeli maloprije i Vidjet ćemo u samo sekundu sad.
Dakle app dot dobili sredstva slušaj za ovaj put,
Slash kada se to zvati anonimni funkcija koja traje
u zahtjeva i odgovor i sada samo
kao Larevel imate način renderirati predložak,
Odgovor dot uzvratiti, citiram Citat završen indeks,
Prikaz je predložak zove indeks,
to je to, tako ćemo obustaviti nit samo na trenutak izgled
na sadržaj pregleda imenik
i primijetiti ovo previše je super jednostavna za sada,
postoji EJS dot index i traži EJS dot,
Ja očito žele prvi
jer to je jedna upravo sam umorna da donese, pa ćemo vidjeti
u EJS dot pregleda indeksa većina je zapravo posve html
u ovom trenutku, ne postoji zapravo nema templating događa.
Tako sam tehnički nije čak ga morati nazvati EJS,
Ne treba tu funkcionalnost , ali sam ga zadržao uniformu,
pa to je to, to je ono što daje mi tu super jednostavnu formu.
Dakle, postoji samo jedan pravac, ako ćemo gledati ovdje što sam rekao
da je to ono što upravlja dobiti slash pretragu tako da je stvarni sortiranje
Google kao vodiča za obrazac za prijavu, kad se
taj je put to nazivamo anonimna funkcija
i pružiti predložak zove pretraživanje
i ono što je drugi Argument vjerojatno znači.
To izgleda kao JSON objekt od vrste ili Java skripta objekt.
Koja je uloga da Drugi argument valjda?
>> [Poglavlje nečujno]
>> Stvarni upit da korisnik upisao u naizgled živi
u zahtjev dot upita, upita koji se odnosi na sve
nakon upitnika točkom q koji je proizvoljna ime
da sam ga dao baš kao i Google
au međuvremenu q debelo je samo govoreći proći u predlošku,
EJS traži dot, Ključ q i vrijednost
bez obzira na q je stvarna vrijednost bila.
Tako da ostavlja samo jedan file od interesa za pogledom,
EJS traži dot sam zadržao ovo super jednostavno previše,
To je uglavnom samo html, osim za jednu pomalo izvanredne linije
koja je ovo sintakse ovdje koji izgleda kao hrpa
različitih templating motori to samo znači čep
vrijednosti q i učiniti ga podebljano.
Dakle, ne postoji stvarna pretraživanje funkcionalnost, ali to ipak neka vrsta
od sugeriraju kako bi strukturirati kostur
od aplikacije kao što je to.
U međuvremenu ... zapravo sam mogu pokazati jednu drugu stvar,
primijetiti da ja nemam neke HTML ovdje za CSS datoteke
i Java skripte datoteka, nema ništa u tim dokumentima
u ovom trenutku, ali primjetiti da postoji javni imenik
kao što sam rekao ranije za statička slika pa ako odem
tamo postoji moj css imenik,
ako odem tamo Tu se stilovi dot css
i nema sadržaja tamo
ali to je kako bi se biti javno dostupne datoteke.
Dobro ćemo se pogledati na jednoj drugoj varijanti ovdje
i onda ćemo uvesti jedna ideja i Stanka.
Dakle, ovo je server 6 posljednja, tako to je gotovo identična osim
za zadnje dvije linije koja izgleda ovako.
Tako zapravo postoji Treća linija koja je drugačija
ali ja sam skrivena ... pa mi dopustite natrag gore malo pa se netko želi
predložiti što se događa ovdje u laik uvjete
ili tehničke uvjete Što je razlikuju o ovom verzijom
u odnosu na one linije u najboljih čvorova.
Što ja imam svoj prilici učinio ovdje i zašto?
Da, Sharon.
>> [Poglavlje nečujno]
>> Da to izgleda kao da sam preselio indeks i pretraživanje
tako odvojeno izravnu ili tako nešto, Ja sam ih uzete iz
a to je da mnogo kao u Larevel možete staviti sve
Vaše kontroler logike unutar rute dot php
s anonimnim funkcija opet i opet i opet
, ali da je datoteka naravno Možete dobiti prilično masivna
pa u pravcima dot php ono što većina
od vas dečki su radili je da ste naveli i ime
klase kontroler ili čak i naziv metode
koji bi trebao biti pozvan
pa ista ideja ovdje ni iako sintaksa je malo
drugačija pa ovdje obavijest
da imam očito provodi svoje vlastite čvor js
modul i modul je samo Java skriptu koja se drži
na osnovi jednog konvencija kako ćemo vidjeti u samo trenutak.
Dakle, pretpostavimo da su svi moji funkcionalnost za indeks
te za pretragu imaju očito stavili u ovaj direktorij
i sad ja zovem tu cjelinu modul ili paket ili knjižnica,
što god želite razmišljati o tome što je,
rutama promjenjiva zove rute.
Dakle, očito u tu pravaca dot indeks je metoda zove
index i očito postoji još jedna metoda zove pretraživanje
u ovoj staze modula ili knjižnice
i samo sam ga usmjeravanje samo tako da ja ne staviti sve
moje anonimnog koda u mome app datoteke.
Dakle, idemo na putevima obavijest postoji js dot samo index
a ako ja gledati ovdje je to Konvencija sam mislio ranije
tako da je ovo prilično proizvoljna ali to je čvor konvenciji.
Svaki put kada se provede vlastiti čvor js knjižnica,
aka modul što može bitno pisati bilo koji Java Skriptu vas
žele u ovoj datoteci, to će biti vrlo čisto pijesak boksač
tako da bilo vi varijable odaberite neće sudariti
s nikim knjižnici, varijable ili metode ili ništa
kao što je to, ali ništa želite izlagati
prema vanjskom svijetu ala javna metoda u Java skripti
ili php ili drugim jezicima moraš pasti unutar
globalnog objekta koji autor čvora zove izvoz.
Pa tako što izvoz dot index sam izlažu korisnike
ovog modula metoda zove indeks koji preslikava se na ovu funkciju
pa to je anonimni na desna strana
ali ja sam ga uspješno dajući Naziv na lijevoj strani
i izvoz na svijetu
tako da možete nazvati dot index ili dot pretraživanja.
Dakle, da bude jasno, ako sam također imao nešto poput funkcije foo
Ovdje je to učinio nešto
da bi funkcija apsolutno biti u funkciji,
to bi mogao biti pozvan u ovu sliku, ali nitko nije
u vanjskom svijetu hladna zovi Foo
jer to nije bila izvezena putem ovog dot zapis.
Dakle, to je sve što se događa,
sve je lijepo ime razmaknute za vas.
Dakle, krajnji rezultat ako radim čvor od app i ponovno učitati stranicu je
da ako ja sada traži
za bar ... funkcionalno Te aplikacije su isti
ali to je samo neka vrsta korak prema čišći provedbu,
svakako kad počnete pisanje sve više i više kod
i to je sve što su to.
Očito nije osobito sofisticiran ili složena
ali u biti polazište
za ono što će biti vaš Prvi čvor js app.
Ono što ćemo napraviti vjerojatno kasnije ovaj tjedan ili ovaj vikend
kao što su završavala na php aplikacija ćemo slijediti
s prilično jednostavna Zahtjev za tim roniti
na sličan u duhu zagrijavanje vježbe za php
koja se temelji na Sredinom semestar istraživanje,
ljudi našli korisno prolazi kroz vježbe
radiš nešto prilično jednostavan
ali prilično vođeni pred vama zapravo borila nešto više
na svoju ruku, pa ćemo slijedite se s tim
i biti će zbog tjedan i pol
od sada lagano preklapaju s php namjerno.
Bilo kakva pitanja onda na izraziti, na socket io
ili zbunjenost preostalih od ponedjeljka možda.
U redu, tako nadamo jedan od potrajati-a-načine do sada je
da je za neke od njih Stvari su puno manje
nadzemne nego što bi su korišteni za.
Zato mi dopustite da se predstavimo posljednji ideja,
tako vrlo čest programiranje paradigme
u Java skripte koji je stvarno prisutan u jQuery
u novijim verzijama, tako bi moglo imati zapravo vidio tu tehniku
prije, ali to je također vrlo uobičajena u čvor js svijeta,
to je uobičajeno u Timov vlastitu policu knjižnica
pa ćemo ponovno to u više konkretan primjer
u trenutku je rješenje da kod ovako,
to prikazuje koda vidjeli smo u ponedjeljak, pa pročitajte datoteku
u tom kontekstu nije pravi Metoda je slična u duhu
na FS dot čitati datoteku, ali pretpostavljaju da je to samo neki su
do metoda koja ne nešto vrlo slično.
Tako smo naletjeli nekoliko Pitanja su u ponedjeljak u cjelini
pa što je neka vrsta ... zašto je to sklizak teren,
to nazvati paradigma od Java programiranje pisma
i nazove paradigmu Samo sam mislio na ovu tehniku
gdje se ne vrati Vrijednosti odmah
jer da je moć blokirati poslužitelj
iz radite nešto drugo što je korisna, te umjesto toga nazove
kao i zujanjem u Shake Shack kada ste spremni
proći natrag odgovor kao argument.
To je sklizak teren
gdje je vrlo brzo postaje neugodno zašto?
Da.
>> [Poglavlje nečujno]
>> Da, minimalno postaje vrsta nečitljiva pravu
Ako imate sve te poziv leđa i ako ste prianjaju
na dobrom stilu to je sve prilično masivno razvedena
tijekom vremena i slučaj upirem to Primjerice, ako ste vrsta obrano
kroz to je jednostavno značilo da otvoriti JSON datoteku i ispisati ga,
kao da je to i još mi imaju neke 8 ili 10 redaka ovdje
koji su već svojevrsni od gnusno razvedena,
moramo probati uhvatiti što je
ako niste upoznati se rukovanje pogreškama tehnika
koja vam omogućuje da isprobate nešto
a ako to ne uspije onda li ga uhvatiti nadamo
bez vašeg cijelog programa prestanka, ali postoji
toliko složenosti kao ti vrsta od mora razmisliti o ovome
i ne daj Bože da radimo par drugi asinkroni metoda poziva,
stvar je već će biti ovdje,
možda mislite da je to neka vrsta glupog estetiku, ali to
zato poziva natrag Paradigma je tako čest najmanje
u rodnom čvoru kod toga vrlo brzo postati dosadan,
teško ispravljanje, udubljenje počinje važno, tako da možete sortirati
Chase stvari dolje, to je samo ne sretan put
od programiranja.
Dakle, ono što ljudi su učinili
u različitim kontekstu čvora među im se pokušati pojednostaviti ovaj,
os primjerice obećanja je još jedan način razmišljanja
o pisanju asinkroni kod koji vizualno pretvara nešto
kao što je verzija 1 u ova verzija 2.
Tvrdim i to je opet samo vrsta mješoviti
između stvarnog koda i pseudo broj, to prikazuje
kako bi ponovno provesti da točno istu stvar,
otvoriti JSON datoteku, analizirati ga i ispisati
korištenjem nešto zove obećanja
i ključni detalj je sintaktička
da postoji ulančavanje ovdje događa.
Uočite da samo zarez
u cjelini ... zapravo dobro neka je ... ne želim dovesti u zabludu.
To nije strogo potrebno ali budimo dosljedni,
primijetiti da zarez koji se odnosi na otvor
od cijele ove izjave je skroz ovdje dolje.
Dakle, dok sam formatiran ovo ... vrsta izgleda
kao što su tri izjave, tri Izjave koje ste mogli vidjeti
u Javi ili drugim jezicima da imaju pokušati uhvatiti
i iznimka rukovanje općenito.
Uočite da sam samo lanac povratna vrijednost svakog
ove metode zajedno.
Dakle, ono što se događa, pročitati datoteku ako je to metoda koja postoji,
navodno pokušava čitati ovu datoteku,
dot onda je tako onda je vrlo zajednički naziv u svijetu
obećanja za metoda koja bi trebala izvršiti
ako je prethodna stvar uspjela.
Dakle, to je vrsta kao uspjeh rukovatelj, pa onda json dot analizirati,
dobro json dot parse je samo metoda
u globalnom json knjižnici i to navodno pridržava
u ovom slučaju Obećanje Model
tako kažemo možemo samo Pretpostavljam da je poziv tog tipa
a ako uspije onda nazvati ovog tipa, a zatim
ako je to zapravo izvršava jednostavno utješiti prijaviti podatke
u pitanju.
Dakle, gdje je pogreška Rukovanje, primijetit sam neka vrsta
vrlo slijepo zakoračio off ovoj izbočini
i samo to nazvao Postupak a zatim se ova metoda
bez provjere za probleme.
Pa gdje su oni problema vjerojatno barata ... u to
cache memorije izjave toliko različiti knjižnice koriste različite
konvencije, ali u to slučaj onda je vrsta
od uspjeha strojem, cachea je vrsta za rad s pogreškama
i zato mi ne Slomili ovaj lanac smo samo zadržati pomoću
dot oznake međusobno povezati Izvorna metoda pozivanja
od čitanja datoteke i funkciju Prizivanje greške sortiranje
Bubble njihov način kroz lanac
dok se oni zapravo rukuje koji je način čišći nego pokušava
da se s njom svaki prokleto korak na putu
tako da je vaš kod vrlo brzo postaje nerealna podataka.
U ovom slučaju mi ​​smo tvrdeći da pokušamo
uhvatiti ono što se zove sintaktička pogreška je bitno
potklasa više općenito pogrešaka, a ako se to dogodi zahtjev
da je nevažeća json inače ako je više općenito o pogrešci
da nismo očekivali samo općenito reći ne mogu
pročitati datoteku.
Sada je to samo značilo biti predstavnik code
ali ako ste programirati sirovi Java skripta ili u Javi
ili drugim jezicima je to proceduralne kod suštini,
to je više tradicija pokušati uhvatiti izjavu
i da je estetski i funkcionalnost koja obećava
ili pokušavaju dati pri čemu možete razmišljati o tome
što je samo pisanje probati, a zatim uhvatiti, a zatim uhvatiti nemaju
brinuti na svaki jedan mogući bod
gdje je pogreška možda nositi ... dogoditi,
sve to možete nositi na kraj potrebi malog bloka
koda, a možete čak i razlikovati između pogrešaka
kao što možete u ovom slučaju ovdje.
Dakle nomenklatura da ćete vidjeti u literaturi, možda
kao Tim predstavlja neki od ove stvari previše je
Idealno želite obećava da će riješiti
te rješavanje obećanje sredstva da napokon vratili se tako izrazim
ali ne na tradicionalan način od vrijednosti, pa je bilo uspije
za ne bitno.
U redu sva pitanja onda, to ne znači da će biti dovoljna
za izloženost obećanja ali samo mentalni model
za kod vas počet ćete vidjeti.