>> Baiklah jadi kami kembali, beberapa matlamat untuk hari ini,
kami akan menyambung di mana kita berhenti masa lepas,
ingat bahawa kami membuat penggantian ini
aplikasi berkaitan pelayan, super mudah tetapi menggunakan nod JS
dan kemudian juga yang paling baru-baru ini menggunakan sentuhan ekspres AS
dan apa yang telah dinyatakan JS yang analog di dunia PHP.
Jadi nyata lebih ... rapat,
jadi ekspres dasarnya Rangka kerja MBC yang cukup
popular dalam dunia js nod,
Rak buku yang kita akan melihat hari ini melalui Tim adalah analog
daripada fasih yang adalah PRO satu pada mapper berhubung objek
yang benar-benar membuat lebih mudah untuk mengelakkan tahap rendah kod SQL
dan benar-benar menyatakan hubungan antara pelbagai objek.
Jadi salah satu yang paling sejuk perkara jujur
kira-kira nod js hanya bagaimana mudah ia meminjamkan sendiri
untuk melakukan aplikasi masa sebenar, perkara seperti pelayan chat
atau pelayan mesej, apa-apa yang anda semua kini menggunakan
seperti Google ... G-chat atau Google melepak
atau kemas kini status Facebook atau Twitter jika anda
pada mereka semua halaman web adalah jenis masa sebenar
atau memberi anda ilusi masa nyata
dan itulah sebenarnya yang sakit di leher kaitan dengan sesuatu
seperti PHP dan SQL saya betul apa yang kami cadangkan
pada hari Isnin akan menjadi cara
di mana anda boleh melaksanakan ilusi tingkah laku masa nyata
dengan pelayan bual dalam PHP, apa yang anda perlu lakukan?
Alice menghantar mesej, hits memasuki mana ia pergi?
Yeah.
>> [Seksyen didengar]
>> Ke data base dan kemudian apakah pelayar Bob mempunyai
lakukan untuk melihat sebenarnya apa yang Alice telah berkata, ya?
>> [Seksyen didengar]
>> Simpan mengundi pangkalan data, betul, jadi permintaan ajax mempunyai
api setiap saat, setiap beberapa saat atau kita bercakap secara ringkas
tetapi tidak melihat satu contoh sesuatu yang dinamakan mengundi panjang,
sesiapa masih ingat bagaimana
mekanisme yang ... pada tahap yang tinggi kerja-kerja?
>> [Seksyen didengar]
>> Tepat, yeah jadi pelayar masih membuat permintaan ajax
kepada pelayan, kepada php foo dot tetapi foo dot php hanya seolah-olah
untuk menggantung, ia pada dasarnya duduk dalam gelung sementara untuk sebanyak
30 saat dan biasanya hanya sekali yang foo fail dot php
menyedari oh ada baris baru
dalam pangkalan data tidak ia sebenarnya bertindak balas
dengan respon http.
Jadi anda berfikir bahawa kekuatan ini sebaliknya menggantung pelayan
dan ia sedikit sebanyak
tetapi ia bermakna terdapat overhed banyak yang kurang
kerana anda tidak memerlukan tcp baru sambungan, sambungan HTP baru
untuk benar-benar meminta data dari pelayan.
Tetapi nod js datang dengan sangat perpustakaan popular dipanggil soket
dot io yang anda boleh tidak pernah menggunakan dibina di atas
teknologi yang dipanggil web soket yang hadir
dalam pelayar yang paling moden dan apa io soket tidak adalah membolehkan anda
untuk mewujudkan dasarnya sambungan berterusan
antara pelayar dan pelayan itulah overhed yang sangat rendah
jadi anda tidak semestinya mempunyai isu-isu yang bersisik sama
yang mungkin anda jika anda sentiasa memukul pelayan
dalam dunia PHP dan SQL saya dan sebagainya.
Malah bagi pelayar lama
yang tidak menyokong soket web perpustakaan ini soket dot io boleh
jatuh kembali berkelip pelaksanaan soket
dan soket adalah rangkaian yang perkara dari CS143 misalnya.
Atau ia juga boleh jatuh kembali panjang mengundi sendiri supaya mereka melaksanakan
jenis yang sama kerja
wujud sebenarnya mengekalkan ilusi sambungan itu.
Jadi soket [didengar] io dan ini adalah dalam bentuk yang
sebuah perpustakaan skrip java, pada dasarnya jika anda menggunakannya
dalam bentuk yang js nod permohonan anda bukan sahaja memasang
ia sebagai satu pakej menggunakan sesuatu seperti NPM yang kita digunakan pada hari Isnin
dan atau anda juga termasuk hilangkan tag dalam dalam fail html anda
yang mengatakan menggunakan pelanggan perpustakaan sampingan.
Jadi ada dua bahagian untuk dan apa yang kami lakukan di sini
dalam lelaran keempat urutan Isnin
contoh adalah seperti berikut.
Jadi struktur fail ini mengingatkan satu set yang biasa
untuk js dinyatakan dan bersyukur kerana ia adalah cara mudah
daripada lervo [fonetik] telah, ingat apabila anda menetapkan
sehingga lervo anda mendapat jahat yang besar membuang daripada banyak keseluruhan jumlah gambar,
direktori vendor, lib dan sangat berat berat berbanding dengan ini.
Sekarang dalam keadilan kita dilucutkan jauh barangan yang cukup banyak yang
gangguan tetapi semua barangan berair adalah benar-benar
dalam modul nod.
Hanya untuk memberi anda rasa jika kita melihat
di modul nod ada dua modul atau perpustakaan
bahawa saya telah dimuat turun, ini akan menjadi bersamaan
direktori penjual, salah satu dipanggil ekspres yang
seperti larevel tetapi dalam nod
dan soket io yang satu saya hanya disebut.
Jadi mereka wujud supaya kita dapat lakukan yang berikut jika saya membuka
sehingga katakan indeks dot html, mari melihat pertama di html,
ini akan mengarang badan ini, super saya,
pelayan chat sangat mudah.
Jadi ada nampaknya ul a dengan idea yang unik mesej
dan di mana satu li pada satu masa,
semua mesej segera adalah akan muncul di antara Alice
dan Bob dan kemudian ada yang bentuk yang mudah dengan medan teks
dan butang submit yang mana Alice
atau Bob boleh sebenarnya mesej antara satu sama lain.
Jadi kesan bersih jika Saya menjalankan aplikasi ini
dengan melakukan nod aplikasi ruang dot js, jika saya tarik sehingga pasangan
daripada tetingkap pelayar adalah bahawa Alice mungkin berada di sebelah kanan,
Bob mungkin pada kiri dan hanya
jelas tidak ada sihir di sini saya ada satu tetingkap
dalam inkognito jadi tidak ada perkongsian atau apa-apa cookies
seperti ini, ini adalah dua pengguna yang berbeza.
Saya akan dapat untuk mempunyai Alice bertanya khabar Bob, klik hantar
dan sekarang anda melihat di sebelah kiri bahawa mesej Alice telah dihantar
dan hampir serta-merta pada yang betul.
Tidak mengundi seolah-olah terlibat, Bob menerima mesej yang sama.
Sekarang Bob berkata berkata hey Alice anda melihat kesan yang sebaliknya.
Jadi apa yang benar-benar berlaku, bagaimana banyak kod yang kita perlukan untuk menulis
untuk melaksanakan ini pelayan chat
yang anda kini boleh membuat anggaran mental yang semua orang
di dalam bilik ini jika ini tidak berada di [didengar] saya
tetapi pada foo dot com kita semua dapat mula berbual merta
antara satu sama lain.
Jadi apa yang terlibat dan sebelum saya mengosongkan skrin ini ini ini
hanya soket io menjadi sedikit bising, ia hanya percetakan
keluar debugging maklumat dengan skrin,
ada benar-benar apa-apa lagi berlaku di sana.
Jadi biarlah saya membuka aplikasi js dot, jadi seperti sebelum ini kami mempunyai beberapa perkara
di bahagian atas fail.
Sekumpulan keperluan, jadi ini adalah seperti perpustakaan
atau mengasah petunjuk atau memerlukan onces apa sahaja model mental anda
mahu mempunyai dan hanya Untuk mengimbas kembali FS digunakan
untuk jenis fungsi?
Jadi sistem fail supaya membaca fail berpotensi dan barangan seperti itu
dan saya menggunakan ini dalam satu meletakkan seperti yang anda akan lihat,
nyata sudah tentu ini rangka kerja yang kita gunakan,
ia sangat tidak perlu kita boleh
seperti pada hari Isnin sama sekali mewujudkan pelayan http kita sendiri dari awal
dengan melakukan mewujudkan pelayan dan semua yang seumpama itu kod dari sebelum
tetapi seperti yang kita akan melihat ini menjadikan perkara yang sedikit lebih mudah
kerana semua yang saya perlu lakukan adalah pada baris 3 di sini instantiate
dan menyatakan objek, saya akan memanggil ia app, agak sewenang-wenangnya,
Saya kemudian akan memberitahu aplikasi untuk mendengar pada port 1337 sewenang-wenangnya,
yang boleh 80 oleh konvensyen
dan kemudian akhir sekali saya mempunyai baru talian hari ini yang mengatakan
untuk menghendaki soket io perpustakaan dan kemudian
dengan pendekatan rantaian ini akan operator dot ini saya hanya
memanggil pengajaran mendengar itu dasarnya memberitahu soket
perpustakaan io juga mendengar pelayan yang sama
atau web sambungan soket.
Jadi sekarang apa, jadi apa yang perlakuan tugasan ini, ini empat baris
kod di sini yang sepatutnya melihat mengingatkan larevel,
apakah ini mewakili?
>> [Seksyen didengar]
>> Ini adalah ... laluan, hanya laluan yang demikian dalam aplikasi js dot,
aka js pelayan dot bergantung pada apa yang orang mahu panggil ia
dalam aplikasi mereka sendiri anda mempunyai konvensyen
menjalankan menentukan laluan anda,
app mendapatkan dot bermakna setiap kali anda mendapat permintaan mendapatkan untuk pergi
untuk untuk beribu-slash teruskan dan panggilan fungsi tanpa nama ini
dan fungsi tanpa nama di kes ini mengambil masa oleh keperluan
atau permintaan dan jawapan, berpotensi beberapa perkara-perkara lain
tetapi minimum kedua-dua.
Permintaan tersebut memberikan anda akses kepada perkara-perkara seperti parameter http
dan header dan lain-lain perkara berair
dan kemudian sambutan adalah mekanisme
di mana anda boleh bertindak balas kepada pengguna.
Jadi ini adalah super mudah walaupun walaupun kita tidak melihat cukup
kod sama masa lalu, saya menggunakan modul sistem fail,
mewujudkan kaedah aliran membaca yang pada dasarnya tidak itu,
mewujudkan satu aliran yang membaca bermakna pada dasarnya mula slurping
sehingga bait daripada indeks dot html sebagai cekap yang anda boleh
tanpa semestinya menunggu hingga membaca anda keseluruhan fail
dan seperti yang anda lakukan yang paip mereka betul-betul
dalam erti kata bar menegak jika anda selesa
dengan baris arahan linux,
paip ia sambutan yang objek.
Jadi terdapat dua contoh berkaitan dengan aliran pada hari Isnin,
kita hanya melihat satu tetapi anda dialu-alukan untuk melihat kembali
dengan sebatang sungai o dan aliran 1.
Stream 1 ... 0 lakukan sesuatu yang serupa dengan ini,
aliran 1 melakukan sesuatu hampir sama seperti ini,
ini hanya satu licin satu liner mengatakan jenis
daripada menghirup sesuatu dalam di sini dan kemudian mula menghantar di sini
pada masa yang sama tanpa melakukan massa bersetuju
dan kemudian hak besar-besaran,
pendekatan ini adalah umumnya lebih cekap.
Jadi itulah jenis barangan lama walaupun ia baru pada hari Isnin,
ini adalah semua yang diperlukan untuk melaksanakan pelayan chat
dengan js nod dan lebih khusus soket dot io.
Jadi bagaimana ini berfungsi, biarlah saya bergerak sedikit,
jadi io hanya pembolehubah yang merujuk
kepada kita modul diperlukan sebelum ini,
soket dot hanya harta di dalamnya
yang memberikan saya soket fungsi berkaitan
pada adalah kaedah biasa yang berkaitan dengan apa tanggapan umum?
Satu acara sebagainya aka mendengar dalam beberapa perpustakaan itu hanya bererti
pada pendengaran acara ini yang dipanggil sambungan
dan sekarang anda tahu ini hanya dari melihat dokumentasi,
sesiapa yang menulis perpustakaan ditakrifkan acara dipanggil
sambungan yang tidak apa yang anda akan berfikir
apabila Alice atau Bob menghubungkan.
Teruskan dan memanggil ini fungsi tanpa nama mengambil lulus
dalam satu hujah pelanggan yang nampaknya beberapa jenis
objek yang mewakili Sambungan Alice
atau sambungan Bob atau Charlie atau sesiapa sahaja
dan kini kami melakukan yang berikut.
Kami memberitahu pelanggan selepas dia disambungkan
untuk mendengar secara khusus
untuk mesej yang sama sekali sewenang-wenangnya dipanggil mesej
pelanggan kolon.
Ini adalah sesuatu yang Tim dan Saya datang dengan, ia boleh menjadi foo
atau bar, ia hanya beberapa rentetan unik yang kami perlukan
untuk membuat keputusan apabila sebagai pemaju.
Apabila Alice atau Bob mendengar
bahawa peristiwa ini tanpa nama fungsi harus dipanggil
dan data, kandungan ini Alice
atau mesej Bob harus berlalu ke dalam pengendali peristiwa ini
dan sekarang apa yang sekiranya pelanggan dilakukan dengan baik anda boleh jenis
daripada membaca ini agak intuitif pelanggan perlu disiarkan,
atau dikenali sebagai mengeluarkan Mesej dipanggil kaedah pelayan
dengan itu menandakan mesej ini datang dari pelayan tidak
dari pelayar dan apa yang akan mesej yang berkenaan,
ia nampaknya muatan dari apa sahaja yang datang dari pelanggan
dan kami hanya akan sewenang-wenangnya memanggilnya mesej.
Jadi banyak ini sewenang-wenangnya
melalui penamaan munasabah konvensyen, Tim dan saya datang
dengan, kebanyakannya Tim dan kemudian kita hanya mewujudkan akhirnya satu
berbual pelayan yang melakukan apa, apabila Alice menghantar mesej
dan hits memasuki apa acara nampaknya mendapat dipecat,
hanya untuk menggulung.
Jenis Alice mesej, hits memasuki, pelanggan mesej dipecat,
kod ini mendengar itu dan kini pelayan menyiarkan apa,
apa yang hasil akhir ini benar-benar?
Alice menghantar mesej kini pelayan rebroadcasts ia
berkesan untuk semua orang kecuali untuk Alice, mengapa semua orang kecuali
untuk Alice jika anda hanya melihat
pada pelanggan dokumentasi dot dot siaran mengakui,
secara literal tidak itu, menyiarkan mesej
kepada semua orang kecuali pelanggan yang menghantar
bahawa mesej paling baru-baru ini.
Jadi ini adalah mengapa anda hanya melihatnya sekali pada setiap sisi,
anda tidak melihat kedua-dua Alice dan Bob mendapat mesej Alice.
Jadi itu sahaja, ini adalah ejen menyampaikan
jika anda yang akan adalah hanya mengambil dalam mesej
dan menyiarkan semula mereka keluar
dan ia amat berskala Maksud saya walaupun
dengan super mudah pelayan dan beberapa baris
kod anda boleh pasti mengendalikan beratus-ratus jika tidak beribu-ribu
mesej mudah serentak pergi dan balik seperti ini
dan bayangkan kerumitan sekarang untuk berbuat demikian dalam PHD
atau Larevel atau SQL saya dan berapa banyak kod anda perlu
menulis untuk sebenarnya mencapai itu.
Sekarang dalam keadilan ini tidak betul berterusan
jika pelayan turun kita kehilangan seluruh sejarah
jadi ia tidak cukup terjemahan sempurna tetapi ia
yang lurus ke hadapan.
Mari kita lihat skrip Java kod kita dilangkau lebih awal,
ini adalah tubuh Alice dan Pelanggan Bob,
laman web mereka menggunakan kini mari kita lihat di sini untuk seketika.
Ada kod yang lebih sedikit
tetapi ia cukup banyak hanya jQuery sini supaya notis
yang dalam laman web yang saya ditarik
sehingga seketika lalu kita termasuk perpustakaan jQuery itu,
soket io perpustakaan dan sebagai mengetepikan notis perbezaan
di sini, slash slash di permulaan jalan yang
seperti ini bermakna apa yang sebenarnya,
di mana adalah jQuery dot js kepada apa yang pelayan?
Yeah.
>> [Seksyen didengar]
>> Ia di internet yeah kod literal dipanggil dot jQuery
dot com jadi mengapa slash, slash, mengapa tidak hanya satu palang,
di mana adalah http atau kolon, apakah ini bermakna secara umum
jika anda slash slash di permulaan url?
Ini sebenarnya berguna.
Okay jadi apa yang jelas hilang http sekarang jika kita sebab
melalui ini secara logik, biasanya anda tidak perlu
lagi satu pelayan nama betul
seperti jika hanya menggunakan palang jQuery dot JS apa yang diandaikan
oleh pelayar?
Bahawa fail adalah pada yang sama server sehingga terus jenis yang
logik jika anda tidak memberitahu ia apa protokol apakah
pelayar menganggap, protokol sama supaya jika anda pernah melawat laman web
yang memberikan anda kesilapan bersama-sama baris kandungan tidak selamat
di halaman ini ia adalah kerana seseorang telah dikodkan di http satu
slash kolon URL slash untuk imej atau fail skrip Java
atau fail CSS, sesuatu seperti itu dalam kod sumber halaman
tetapi halaman itu sendiri dalam URL pelayar adalah http s.
Jadi ini hanya cara mewah sedikit
mengatakan saya tidak tahu apa protokol adalah
bahawa pengguna akhir akan menggunakan
tetapi pastikan ia perlawanan supaya krom
dan pelayar yang lain tidak menjerit pada pengguna.
Tangkapan hanya menjadi jQuery orang telah ditetapkan lebih baik
sehingga https pada pelayan mereka.
Jadi mereka sebenarnya penyenaraian di 443.
Baiklah Sementara ini satu di sini ini adalah jenis
daripada palang mengelirukan soket io mencadangkan
bahawa ada direktori yang dipanggil io soket dot pada pelayan saya
tetapi tidak ada jika kita mencucuk
sekitar ada yang direktori modul nod ini
tetapi tiada apa yang awam tentang perkara ini,
apabila kita dikonfigurasikan io soket untuk mendengar pada port sama,
1337 dasarnya perpustakaan yang bahawa orang lain telah menulis adalah akan
untuk jenis memasukkan beberapa kod ke dalam alam sekitar js nod ini
dan hanya mendengar untuk jalan ini.
Perpustakaan yang mempunyai hanya dikonfigurasikan laluan untuk ini,
ia bukan satu direktori sebenar.
Ia akan berada dalam lokasi standard.
Okay jadi sekarang yang menarik bahagian,
jadi apabila dokumen itu sedia seperti yang ditunjukkan
oleh jQuery ini membina, pertama saya akan teruskan
dan menyambung ke soket,
apa hanya dengan soket ... menyimpannya mudah saya akan menyambung
untuk mengurangkan, itu di mana pengguna adalah,
Saya disimpan contoh mudah yang kita hanya akan menyambung
ke URL yang sama yang tepat bahawa pengguna telah melawat maka saya akan
untuk yang berikut, saya akan memberitahu pelayar Alice atau Bob
mendengar untuk mesej dari pelayan.
Sekali lagi ini boleh menjadi foo
atau bar bila-bila masa anda mendengar mesej
dari panggilan pelayan ia data dan kemudian melakukan kod jQuery ini
yang saya meneka kebanyakan jika tidak semua orang biasa
dengan hari ini tetapi asasnya adalah pin untuk senarai item
untuk UL yang sedia ada yang dipanggil mesej
yang benar-benar berkata apa sahaja muatan adalah
mesej chat diikuti dengan sempang, diikuti dengan menerima,
diikuti oleh ruang dan kemudian masa kemas kini dan sebab itu
jelas jika kita kembali
untuk ini anda mendapatkan ini tambahan peluru lagi dan lagi
dan sekali lagi dengan masa kini.
Sementara itu jika kita melihat turun di sini kita hanya perlu
untuk mengendalikan penghantaran borang sehingga adalah yang menerima
suatu mesej segera, di sini penghantaran dan ini adalah jenis
daripada yang tidak berkaitan dengan js nod, mendengar kepada bentuk-bentuk mengemukakan acara.
Apabila ia berlaku mengelakkan lalai, ini hanya bermaksud tidak menyerahkan
ke pelayan dalam biasa cara, tambah nilai keseluruhan halaman,
kita mahu untuk melakukan ini semua melalui ajax.
Berikut adalah hanya beberapa kod jQuery
untuk benar-benar mendapatkan input yang jenis adalah mesej,
yang namanya mesej teruskan
dan mendapatkan nilai itu kemudian anda pergi ke hadapan
dan jika anda benar-benar mempunyai mesej, jika Alice dan Bob
atau Bob sebenarnya jenis beberapa tiada 0 ketukan kekunci bilangan memancarkan
pada soket mesej yang dipanggil pelanggan mesej dengan muatan yang
dan kemudian turun di sini ini adalah apa yang menjadikan ia hijau berbanding
kepada merah, kita hanya output perkakas sebelah [didengar].
Jadi itu sahaja tetapi semua ini hanya sehingga ditetapkan,
barangan baru sebenar saya akan berhujah hanya ketiga-tiga
atau lima baris kod di sini dan yang jenis petunjuk pada kuasa
daripada js nod dan dengan itu ini perpustakaan tertentu.
Jadi mari kita cepat melihat dot ekspres js,
jadi apa yang saya akan cuba untuk lakukan dalam pasangan baki
minit di sini adalah menubuhkan sebuah beberapa idea, beberapa teknik
yang akan mengambil pasangan rehat minit, Tim akan menubuhkan
dan kemudian kami akan menyelam lebih mendalam
kepada yang lebih menarik menyatakan permohonan dan juga
ke rak buku, perpustakaan Tim sebenarnya menulis
untuk komuniti sumber terbuka
yang memberikan kita cahaya fasih fungsi dengan SQL saya
dan urus niaga dan apa-apa lain ciri-ciri dan dia juga akan menyelam
dalam sedikit lebih mendalam kepada bahasa Jawa skrip sendiri,
bagaimana objek atau yang bukan kelas model kerja-kerja jika tidak tahu
sebagai model prototaip, beberapa lebih kepada yang akan datang.
Jadi mari kita lihat pada dua lepas permohonan di sini, pelayan lima
dan pelayan 6 yang semua jenis yang sama dalam semangat,
ini tidak berbual pelayan tetapi mereka menggunakan ekspres.
Jadi mari kita lihat apa ini sebenarnya tidak,
Saya akan pergi ke hadapan dan terbuka ... saya akan menjalankan aplikasi ini
dengan js aplikasi nod, saya akan kembali ke pelayar saya dan tambah nilai
dan ini nampaknya semua pelayan ini lakukan,
ia pelayan super mudah itulah nampaknya carian
enjin jadi jika saya taip foo dan mengemukakan, tiada hasil carian
untuk foo, saya tidak mendapat sekitar untuk melaksanakan canggih
akhir belakang, semua ia akan
lakukan adalah gema tidak kira apa anda taip ada keputusan untuk Anu,
ada keputusan untuk bar jadi bagaimana kita melakukan ini
kerana ada pasangan keping, satu,
ada jelas beberapa input yang diberikan
ke pelayan tidak Larevel kursus tetapi js nod kini
jadi kita perlu entah bagaimana mendapat sekurang-bahawa parameter Q,
kita jelas melakukan beberapa jenis pandangan di sini,
kita memberikan pandangan yang begitu mungkin ada peluang
untuk template atau berubah-ubah interprelation [fonetik]
jadi mari kita lihat pada yang berikut.
Dalam js aplikasi untuk telefon ini pelayan ini adalah semua yang kita ada.
Satu kita perlukan menyatakan sendiri, dua modul jalan yang
yang hanya tidak beberapa barangan berguna
seperti menyertai tali bersama-sama dan sebagainya bagi saya,
Saya mendengar pada port 1337 dan sekarang ini adalah baru supaya ia bertukar
bahawa ekspres seperti Larevel menyokong ins palam berbeza
dan teknologi dan perkara-perkara lain dan satu
teknologi yang anda boleh pasangkan adalah enjin pandangan
yang hanya bermaksud apa template enjin yang anda ingin gunakan,
Larevel mempunyai ia memiliki perkara, tetapi anda boleh palam
dalam perkara-perkara yang berbeza, yang berbeza pic P rangka kerja mempunyai
cara yang berbeza template, ejs hanya biasa
dan enjin yang agak mudah yang hanya mari kita anda melakukan perkara-perkara
seperti pendakap kerinting yang anda ada dalam Larevels sintaks
untuk menggantikan pembolehubah,
ia sedikit berbeza sintaksis adalah semua.
Jadi sekarang ada perkara ini dipanggil ware tengah supaya anda akan melihat
dalam pasukan sendiri anda nod projek ware tengah adalah hanya jenis kod
atau perpustakaan yang anda menyuntik
ke [didengar] sambutan Kitaran hidup sesuatu permohonan,
dalam erti kata lain kedua-dua baris memberitahu nyata
untuk membuat kerja-kerja tambahan antara masa yang mendapat permintaan
dan antara masa ia menghantar bahawa permintaan untuk laluan anda sendiri,
kod anda yang anda tulis.
Jadi khususnya talian ini di sini menggunakan dot ekspres statik dan semua
kerumitan ini ini hanya bermakna jika anda melihat permintaan
yang datang dalam untuk fail statik seperti jif foo dot atau foo dot css
atau foo dot JS supaya bukan laluan yang dijana secara dinamik,
teruskan dan menganggap ia hidup dalam Subdirektori awam,
itu sahaja yang lakukan.
Ia adalah jenis seperti pemetaan Larevel, segala-galanya untuk web anda
atau direktori awam anda sebaliknya dalam Larevel.
Ini sejajar akan ditemui tidak mengatakan saya ingin menggunakan laluan,
Saya ingin menggunakan perkara-perkara seperti aplikasi dot mendapatkan
yang kita lihat sebentar tadi dan kita akan melihat dalam beberapa saat sekarang.
Dot Jadi app mendapatkan cara mendengar untuk laluan ini,
mengurangkan apabila anda mendapatkannya memanggil ini fungsi tanpa nama yang mengambil
dalam permintaan dan sambutan dan kini hanya
seperti Larevel anda mempunyai cara yang dari segi tidak template,
sambutan dot memberi, memetik indeks unquote,
menyebabkan adalah template dipanggil indeks,
itu sahaja jadi mari kita menggantung yang benang hanya lihat masa
pada kandungan direktori pandangan
dan notis itu juga adalah super mudah untuk sekarang,
ada indeks ejs dot dan mencari ejs dot,
Saya jelas mahu yang pertama
kerana itulah yang saya hanya letih untuk memberi dan kita akan melihat
dalam pandangan indeks ejs dot paling sebenarnya sepenuhnya html
pada masa ini, ada sebenarnya tidak ada template berlaku.
Jadi saya secara teknikal tidak perlu untuk memanggilnya ejs,
Saya tidak memerlukan fungsi yang tetapi saya teruskan juga seragam,
jadi itu sahaja, ini adalah apa yang memberikan saya bahawa bentuk super mudah.
Jadi terdapat hanya satu laluan lain, jika kita melihat ke bawah di sini saya telah berkata
bahawa ini adalah apa yang mengendalikan mendapatkan slash carian supaya perkara yang sebenar
Google seperti pengendali untuk membentuk penyerahan, apabila anda
jalan yang memanggil ini fungsi tanpa nama
dan menyebabkan template dipanggil carian
dan apa yang kedua hujah mungkin bermakna.
Ia kelihatan seperti objek json daripada macam atau Java objek skrip.
Apakah peranan yang Hujah kedua mungkin?
>> [Seksyen didengar]
>> Permintaan sebenar bahawa pengguna ditaip dalam nampaknya tinggal
dalam permintaan dot pertanyaan, pertanyaan merujuk kepada segala-galanya
selepas tanda tanya dot q iaitu nama sewenang-wenangnya
yang saya berikan ia hanya seperti Google
dan sementara itu q kolon hanya mengatakan masuk ke dalam template,
ejs carian dot, yang utama q dan nilai yang
apa jua q itu sebenar nilai adalah.
Jadi yang meninggalkan hanya satu file kepentingan pandangan,
ejs carian dot Saya terus ini sangat mudah juga,
Ia kebanyakannya hanya html kecuali untuk satu baris agak luar biasa
yang sintaks ini di sini yang kelihatan seperti sekumpulan
daripada template yang berbeza enjin ini hanya bermakna plug
dalam nilai q dan menjadikannya tebal.
Jadi tidak ada carian sebenar fungsi tetapi ia jenis
daripada cadangkan bagaimana anda akan struktur rangka
permohonan seperti itu.
Sementara itu ... sebenarnya saya boleh menunjukkan satu perkara yang lain,
notis bahawa saya mempunyai beberapa html di sini untuk fail css
dan Jawa fail skrip, tiada apa-apa dalam fail-fail
pada masa ini tetapi notis bahawa terdapat direktori awam
seperti yang saya katakan sebelum ini untuk fail statik jadi jika saya pergi
di sana ada direktori css saya,
jika saya pergi di sana ada gaya dot css
dan tidak ada kandungan terdapat
tetapi itu bagaimana anda akan mempunyai fail boleh diakses awam.
Baiklah mari kita lihat pada satu varian lain di sini
dan kemudian kami akan memperkenalkan satu idea dan rehat.
Jadi ini adalah pelayan 6 yang lalu, jadi ini adalah hampir sama kecuali
untuk bahagian bawah dua baris yang kelihatan seperti ini.
Jadi sebenarnya ada Barisan ketiga itu berbeza
tetapi saya telah tersembunyi ... jadi biarlah saya kembali naik sedikit begitu juga seseorang mahu
untuk mencadangkan apa yang berlaku di sini dari segi orang biasa itu
atau istilah teknikal apa yang yang berbeza mengenai versi ini
berkenaan dengan orang-orang garisan dalam nodus atas.
Apa yang telah saya mungkin dilakukan di sini dan mengapa?
Ya, Sharon.
>> [Seksyen didengar]
>> Ya ia kelihatan seperti saya telah indeks bergerak dan carian
jadi berasingan langsung atau sesuatu, Saya kira mereka keluar
dan itulah sehingga banyak seperti dalam Larevel anda boleh meletakkan semua
logik controller dalam laluan dot php
dengan fungsi tanpa nama lagi dan lagi dan lagi
tetapi bahawa fail sudah tentu boleh mendapatkan cukup besar
jadi di laluan dot php apa yang kebanyakan
daripada anda semua telah melakukan adalah anda tentukan nama
daripada kelas pengawal atau walaupun nama kaedah yang
yang perlu mendapat dipanggil
jadi idea yang sama di sini juga walaupun sintaks adalah sedikit
yang berbeza, jadi di sini notis
yang saya ada nampaknya dilaksanakan js nod saya sendiri
modul dan modul yang hanya Fail java script yang mengacu
pada dasarnya satu konvensyen bahawa kita akan melihat dalam seketika.
Jadi menganggap bahawa semua saya fungsi bagi indeks
dan untuk carian mempunyai nampaknya dimasukkan ke dalam direktori ini
dan sekarang saya memanggil keseluruhan yang modul atau pakej atau perpustakaan,
apa sahaja yang anda mahu memikirkan ia sebagai,
sebagai laluan pembolehubah dipanggil laluan.
Jadi nampaknya di sana laluan indeks dot adalah kaedah yang dipanggil
indeks dan nampaknya ada kaedah lain yang dipanggil carian
dalam ini laluan modul atau perpustakaan
dan saya hanya routing ia hanya supaya saya tidak meletakkan semua
kod tanpa nama saya di dalam fail app saya.
Jadi mari kita pergi ke laluan notis ada hanya indeks js dot
dan jika saya melihat di sini ini adalah konvensyen itu yang saya maksudkan sebelum ini
jadi ini agak sewenang-wenangnya tetapi ia konvensyen nod.
Setiap kali anda melaksanakan nod perpustakaan js anda sendiri,
aka modul anda pada dasarnya boleh menulis apa-apa kod skrip Java anda
mahu dalam fail ini, ia akan akan pasir sangat dgn berkotak
supaya apa-apa pembolehubah anda memilih tidak akan berlanggar
dengan perpustakaan orang lain, pembolehubah atau kaedah atau apa-apa
seperti itu tetapi apa-apa anda mahu mendedahkan
kepada dunia luar ala yang kaedah awam dalam skrip Java
atau php atau bahasa-bahasa lain anda perlu mencebur di dalam
objek global bahawa pengarang nod dipanggil eksport.
Jadi dengan melakukan eksport dot indeks saya mendedahkan kepada pengguna
modul ini kaedah yang dipanggil indeks yang memetakan fungsi ini
jadi ia tanpa nama pada sebelah kanan
tetapi saya berkesan memberikan nama di sebelah kiri
dan mengeksport kepada dunia
supaya anda boleh menghubungi indeks dot atau carian dot.
Jadi jelas jika saya juga mempunyai sesuatu seperti fungsi foo
di sini yang melakukan sesuatu yang
fungsi yang akan benar-benar beroperasi,
ia boleh dikatakan sebagai dalam fail ini tetapi tiada siapa
di dunia luar sejuk pernah memanggil foo
kerana ia tidak telah dieksport melalui notasi dot ini.
Jadi itu sahaja yang yang berlaku,
semuanya baik menamakan dijarakkan untuk anda.
Jadi akhirnya mengakibatkan jika saya lakukan nod aplikasi dan muat semula halaman ini
bahawa jika saya kini mencari
untuk bar ... fungsi aplikasi ini adalah sama
tetapi ia hanya jenis langkah ke arah pelaksanaan yang lebih bersih,
pasti apabila anda mula menulis lebih banyak kod
dan itu semua ini adalah.
Jelas sekali tidak terutamanya canggih atau kompleks
tetapi pada dasarnya titik permulaan
untuk apa yang akan anda nod pertama aplikasi js.
Apa yang kita akan lakukan mungkin kemudian minggu ini atau hujung minggu ini
kerana anda menamatkan sehingga di aplikasi php kami akan mengikuti
dengan agak mudah permohonan untuk pasukan untuk menyelam
ke dalam yang sama dalam semangat untuk latihan sehingga panas untuk php
yang berdasarkan kajian pertengahan semester,
orang telah mendapati berguna melalui latihan
melakukan sesuatu yang agak mudah
tetapi agak dipandu sebelum anda sebenarnya menangani sesuatu yang lebih
sendiri jadi kami akan susulan dengan yang
dan pada dasarnya akan menjadi kerana seminggu dan setengah
dari sekarang bertindih sedikit dengan php sengaja.
Apa-apa soalan-soalan maka pada menyatakan, pada io soket
atau kekeliruan yang tinggal dari Isnin mungkin.
Baiklah jadi diharapkan salah satu mengambil-a-cara setakat ini
yang ada untuk sesetengah perkara pasti banyak yang kurang
overhed daripada anda mungkin telah digunakan untuk.
Jadi biarlah saya memperkenalkan satu idea lepas,
jadi perkara biasa programing paradigma
dalam skrip Java itulah sebenarnya hadir dalam jQuery
dalam versi baru-baru ini supaya mungkin mempunyai benar-benar melihat teknik ini
sebelum ini tetapi ia juga agak biasa dalam dunia js nod,
ia biasa di Tim perpustakaan rak buku sendiri
jadi kita akan melihat semula ini dalam contoh yang lebih konkrit
dalam seketika adalah penyelesaian yang kod seperti ini,
ini adalah wakil kod kita lihat pada hari Isnin, jadi membaca fail
dalam konteks ini tidak benar yang kaedah itu sama dalam semangat
untuk FS dot membaca fail tetapi menganggap bahawa ini adalah hanya beberapa dibuat
kaedah sehingga yang tidak sesuatu yang sangat serupa.
Oleh itu, kita berlari ke dalam beberapa isu-isu pada hari Isnin secara umum
jadi apa yang jenis ... mengapa adakah ini satu cerun licin,
ini memanggil semula paradigma daripada programing skrip Java
dan dengan memanggil semula paradigma Saya hanya bermaksud teknik ini
di mana anda tidak kembali nilai-nilai serta-merta
kerana kekuatan yang menghalang pelayan
dari melakukan sesuatu yang lain itu berguna, anda bukan memanggil semula
seperti buzzers di Shake Shack apabila anda sudah bersedia
untuk lulus kembali jawapan sebagai hujah.
Ini adalah cerun licin
di mana ia dengan cepat menjadi menjengkelkan mengapa?
Yeah.
>> [Seksyen didengar]
>> Ya, minimum ia menjadi jenis hak yang tidak boleh dibaca
jika anda mempunyai semua panggilan ini punggung dan jika anda mematuhi
untuk gaya yang baik ia semakin cantik secara besar-besaran diinden
dari masa ke masa dan kes, aku ini Sebagai contoh jika anda jenis agunan
melaluinya hanya bertujuan untuk membuka fail json dan mencetaknya,
seperti itu sahaja tetapi kita mempunyai beberapa 8 atau 10 garis di sini
yang sudah semacam daripada buruk sekali dilekukan,
kami ada cuba tangkapan yang
jika anda tidak biasa adalah teknik pengendalian ralat
yang membolehkan anda untuk mencuba sesuatu
dan jika ia gagal maka anda menangkap ia diharapkan
tanpa program keseluruhan anda menamatkan tetapi ada
begitu banyak kerumitan seperti anda jenis daripada perlu berfikir ini melalui
dan Allah melarang kita melakukan beberapa panggilan kaedah tak segerak yang lain,
perkara yang sudah akan menjadi di sini,
anda mungkin berfikir ini adalah jenis daripada estetika bodoh tetapi ini
kerana panggilan balik paradigma begitu biasa sekurang-kurangnya
dalam kod nod ibunda ini dengan cepat menjadi membosankan,
sukar untuk debug, lekukan mula perkara supaya anda boleh menyusun
perkara mengejar ke bawah, ia hanya tidak cara yang sangat gembira
daripada programing.
Jadi apa yang orang telah melakukan
dalam pelbagai nod konteks di kalangan mereka adalah cuba untuk memudahkan ini,
os misalnya janji-janji satu lagi cara pemikiran
tentang menulis kod tak segerak yang visual bertukar sesuatu
seperti versi 1 ke dalam versi 2.
Saya menuntut dan ini adalah lagi hanya jenis bercampur
antara kod sebenar dan pseudo kod, ini adalah wakil
bagaimana anda akan melaksanakan semula perkara yang sama yang tepat,
membuka fail json, menghurai dan mencetaknya
dengan menggunakan sesuatu dipanggil janji-janji
dan terperinci sintaksis utama adalah
bahawa ada rantaian yang berlaku di sini.
Perhatikan bahawa hanya dengan koma bernoktah
dalam keseluruhan ... sebenarnya baik mari kita ... saya tidak mahu mengelirukan.
Ini bukan ketat perlu tetapi mari kita konsisten,
melihat bahawa koma bernoktah yang merujuk kepada pembukaan
kenyataan ini keseluruhan adalah sepanjang jalan ke sini.
Jadi semasa saya telah diformat ini ... jenis melihat
seperti tiga kenyataan, tiga kenyataan yang boleh anda lihat
di Jawa atau bahasa-bahasa lain yang mempunyai cuba dan menangkap
dan pengendalian pengecualian amnya.
Perhatikan bahawa saya hanya rantaian nilai pulangan setiap
kaedah ini bersama-sama.
Jadi apa yang berlaku, membaca fail jika ini adalah satu kaedah yang wujud,
nampaknya cuba untuk membaca fail ini,
dot maka demikian maka adalah sangat Nama biasa diberikan di dunia
janji-janji untuk kaedah yang harus melaksanakan
jika perkara itu sebelum ini berjaya.
Jadi ia adalah jenis seperti kejayaan pengendali, demikian maka json dot hurai,
juga hurai json dot hanya satu kaedah yang
di perpustakaan json global dan ia nampaknya berpegang teguh
dalam kes ini, model janji
jadi kita mengatakan kita boleh hanya menganggap panggilan itu lelaki ini
dan jika dia berjaya maka memanggil lelaki ini dan kemudian
jika itu benar-benar bermaksud melaksanakan hanya memujuk log data yang
yang berkenaan.
Jadi di manakah kesilapan tersebut pengendalian, notis saya jenis
sangat membuta tuli melangkah off tebing ini
dan hanya dipanggil ini kaedah dan maka kaedah ini
tanpa memeriksa masalah.
Baik di mana adalah masalah mereka mungkin ditangani ... dalam
kenyataan cache begitu berbeza perpustakaan menggunakan berbeza
konvensyen tetapi dalam kes ini maka adalah jenis
kejayaan pengendali, cache adalah jenis yang pengendali ralat
dan kerana kita tidak rosak rantaian ini kita hanya terus menggunakan
dot notasi untuk menghubungkan bersama-sama kaedah doa asal
fail dibaca dan fungsi doa sebarang kesilapan jenis
gelembung cara mereka melalui rantaian
sehingga mereka benar-benar ditangani yang merupakan cara lebih bersih daripada cuba
untuk menangani setiap langkah sialan cara
supaya kod anda sangat cepat menjadi data tidak benar.
Dalam kes ini kita mendakwa bahawa kita cuba
untuk menangkap apa yang dipanggil ralat sintaks itu asasnya adalah
subkelas yang lebih generik kesilapan dan sekiranya itu berlaku tuntutan
bahawa itu tidak sah jika tidak json jika ia kesilapan yang lebih generik
bahawa kami tidak menjangkakan hanya secara umum mengatakan tidak boleh
membaca fail.
Sekarang ini hanya bermakna menjadi kod wakil
tetapi jika anda diprogramkan dalam mentah Java skrip atau di Jawa
atau bahasa lain ini adalah kod prosedur pada dasarnya,
ini adalah tradisi yang lebih cuba Penyataan tangkapan
dan itulah yg berhubung dgn keindahan dan fungsi yang menjanjikan
atau cuba untuk memberikan anda mana yang boleh anda fikirkan ia
sebagai hanya menulis cuba dan kemudian menangkap dan kemudian menangkap tidak mempunyai
bimbang di setiap titik mungkin
di mana kesilapan mungkin mengendalikan ... berlaku,
anda boleh mengendalikan semua di berakhir seperti yang diperlukan blok kecil
kod, dan anda juga boleh membezakan antara kesilapan-kesilapan
yang anda boleh dalam kes ini di sini.
Jadi tatanama yang anda akan lihat dalam kesusasteraan mungkin
sebagai Tim membentangkan beberapa barangan ini juga adalah
yang ideal yang anda mahu menjanjikan untuk menyelesaikan
dan menyelesaikan satu cara janji yang akhirnya kembali jadi untuk bercakap
tetapi tidak dengan cara yang tradisional nilai, jadi ia sama ada berjaya
untuk gagal asasnya.
Baiklah mana-mana soalan itu, ia tidak bertujuan untuk menjadi yang mencukupi
bagi pendedahan kepada janji-janji tetapi hanya model mental
untuk kod yang anda akan mula melihat.