Tekrar hoş geldin.
Dolayısıyla bu, tüm dersin en önemli derslerinden biri.
Ancak, şimdiye kadar yaptığımız her şeyden çok daha farklı olacak.
Farklılığının nedeni size daha önce hiç görmediğiniz
bir grup kod gösterileceğim ve hiç anlamamanız beklenmiyor.
Bunu yapmamın nedeni, bütün bu parçaların birbirine nasıl uyduğuna dair kavramsal bir bakış sağlamak istiyorum.
Sunucuya GET isteği gönderen veritabanı tarayıcıyı ister.
Tüm bu farklı şeyler istekler ve cevaplar.
Bütün bunları gerçekten basit bir çalışma uygulamasıyla göstermek istiyorum.
İşte ben de burada yapacağım.
Şahsen bunu öğretseydim, bu, bilgisayarınızı kapatmak için dizüstü bilgisayarınızı koymanızı
rica ederim.
Açıkçası burada iyi bir fikir değil.
Ancak bunun arkasındaki düşünce, bu konuda not almanızı istemiyorum.
Her satıra gidip sıfırdan yazacağız ve bu farklı uygulamaları kullanarak bu altı
uygulamadan beş altı yedi uygulamaya başlayacağız.
Bu, işlerin gerçek ayrıntılarını değil, eşyaların nasıl bir araya geldiğini anlatıyor.
Bununla başlayalım ve burada başlayalım dedi.
Yani bu uygulama köpekler etrafında temalı.
Bu çok basit.
Hiçbir tasarım yok.
Sadece birkaç farklı sayfa.
Ve konuşmamız gereken ilk şey bu dosyanın tümü.
Yani bu bizim sunucu dosyamız.
Benim durumumda buna app dodge deniyor.
Evet, bu Javascript ile yazılmıştır.
Ve bu dosyayı çalıştırdığımda aslında benim için bir sunucu başlatacak.
Daha önce de belirttiğim gibi, okunması için bir istek gönderdiğimizde dot com slash search'i Reddit
sunucusunda okumak için bir istek dinleyen kod var.
Şimdi com eğik çizgi arama özelliğini kullanıyor ve daha sonra doğru veriyi bir yanıtta geri gönderiyor.
Reddit sunucusunda kod olduğunu söylediğimde bu bahsettiğim kod türüdür.
farklı istekleri dinleyen ve sonra farklı parçalarla yanıt veren kodumuzdur.
Python'da okundu ve bu javascript'tir. Bu, sunucudaki
Üç büyük parça var ve bu sadece bizim başvurumuzu hazırlıyor.
Gördüğünüz gibi sağ kütüphaneleri de içerdikçe birkaç bağımlılık var.
Yine hepsini daha sonra geride bırakacağız.
Sonra bazı veritabanı şeyler var.
Dolayısıyla bu veritabanımızı kuruyor, böylece veritabanımızda her köpeğin bir ismi ve bir cinsi var ve ikisinin de
dizeleri olduğunu biliyor.
Ve şimdilik bunun hepsinden bahsediliyor.
Ve daha sonra, bunu yapmadan önce bu dersin çoğunu
harcayacağımız, tamamlananlar diye adlandırılan şeyler var; burada sunucuyu gerçekten başlatmak için en önemli
kısmı burada belirtmek isteriz satır sözdizimi önemli değil ama ne önemlidir.
Burada üç bin numara var.
Bunun ne yapacağı, bu dosyayı terminalde çalıştırdığımızda bu uygulamayı çalıştırdığımızda
aslında sunucudan başlayacak ve uygulamanız 3000 numaralı bağlantı noktasında olacak.
Ne demek istediğimi göstermeme izin verin.
Dosyayı çalıştırarak bu sunucuyu yeniden başlayacağım, burada ne yapacağım önemli değil.
Ve port 3000'de köpek demosuna hizmet eden bir mesaj alıyorum görebilirsiniz.
Metin editörüm ne var, kodumu sunucum için burada yazıyorum.
Sonra terminalimde aslında sunucuyu çalıştırıyorum.
Bu yüzden şimdi bu kod çalıştırılıyor, bu kodun tümü çalıştırılıyor ve bu hat, özellikle üç bin
limanda bir sunucu başlattı.
Şimdi üç bin limana gidersem ve orada olduğum yol, yerel ev sahibi Colan 3000'dir. Ana sayfayı
söyleyen bir şeyler görüyorum.
Sayfa kaynağını görüntülersek, o ana sayfayı nasıl alacağım hakkında konuşalım.
Yanıtlamam gereken tek şey, ana sayfa yazan tek bir H-1 olanı görebiliyorsunuzdur ve hepsi bu kadar.
Dolayısıyla burada sunucuma geri dönersek işaret etmek istediğim birkaç şey var.
İlki, sunucunun başladığı terminalimde basılan küçük bir mesajın
olması.
Ve bunun bize söylediği, birilerinin burada istediği gibi bir istekte bulunması, bu da
sana arole slash'tir.
Yani localhost 3000 eğik çizgi.
Böylece daha sonra başka bir şey yok.
Buna temel yol olarak ana sayfamızın olmasını istediğimiz kök rota veya sadece rota adı verilir.
Böylece tekrar localhost 3000'e gittim ve girdim.
Ve bana bazı kodlar var, ancak eğer sayfadaki kaynağı görürsem, bana ilk kez var olan içeriğinden farklı biraz
daha fazla içerik elde edersem
görebileceğim, bazı farklı şeyler getiren localhost 3000 eğik köpeğe gittiysem bunun nedeni
farklı bir sıra veya farklı bir rota olmasıdır.
Dolayısıyla bu davada Slash'i istemiyorum sadece.
Slash köpeklerini arıyordum.
Terminal çıktısına bakarsanız, bir alma isteği eğik çizgi veya köpekleri parçalamak için bir
istek arasında bir fark olduğunu görebilirsiniz.
Bu sadece bana gösteriyor, size neler olduğunu gösterebilirim, ancak bu mantık veya başka bir şey değildir.
Bu, yapılan isteklerin bir penceresidir.
Tamam, bu şeylerin istek tarafı.
Girişe vurduğumda istekte bulunurum.
Aynı şey burada.
Sadece iki farklı yere yapıyorum.
Ve tabii ki postacılarla da istekte bulunmalarını sağlayabilirim.
Böylece, yerelhost'a 3000 gibi bir istekte bulunalım ve istek yapalım.
Bir dakikanızı ayırın ve gönderime bastığımda neyi görmemizi beklediğinizi düşünün.
İşte gidiyoruz sadece aynen H-1'i alıyorum ve eğer yerel bir ana sunucu 3000 çağrı köpeği
yaparsam bir istek olsun ve gönderime basarsam tarayıcımdan isabet ederek bir istek aldım aynı HD
postayı alıyorum girmek.
Şimdi bunların hepsini sunucu tarafında gerçekleştiren mantık hakkında konuşalım.
yüzden, yüce sayılmaya geri döneceğim ve burada bu üç kısma da odaklanacağım.
Bu
Bu konuyla ilgili bozuk bir kayıt olduğumu biliyorum, ancak sözdizimi önemli bir bölüm değil.
Bu rotaları yazarken çok önemli bir zaman harcayacağız.
Önemli olan bu ilk küçük parçada bu kod eğik çizgi almak için bir
alma isteği dinlemektir.
Ve bu olduğunda ev adı verilen bir sayfa hazırlıyoruz.
Böylece yerelhost'un 3.000 çizgi parçalamasına başka bir şey getirilemediğinde ev denilen
bir şey oluşturacağız.
Ve burada ev adı verilen dosyam var.
Ejay'ın ne istediği önemli değil.
İçinde ise ana sayfanın yer aldığı bir H1 var.
Öyleyse buna bir paragraf daha düşük bir şey daha ekleyin ve kaydedin.
Ve şimdi istek almak istediklerinde yalnızca bir get isteği çöp kutusuna gönderildiğinde eve gönderilen dosyanın içeriği bana geri gönderildi
ve bu değişikliklerin işe başlamasını sağlamak için aslında sunucuyu yeniden başlatmam gerekiyor.
Bu yüzden şimdi başlayacağım ve bunu yan tarafa koyacağımızı izleyeceğim ve Chrome'a ​​geri dönerek sunucuyu orada
tekrar alacağım.
Localhost'a 3000 talep edeceğim.
Gördüğünüz gibi bana bir kesme talebi geldiğini söylüyor.
Ve biz bu içeriği geri aldık.
Yine burada olan kodumuz, istekleri eğik çizgi alıp hangi dosyanın geri gönderileceğine karar verdiklerini dinliyor.
Şimdi, köpekleri kesecek bir istek almak için dinlediğimizin daha karmaşık
bir versiyonu.
Ve burada başka bir kod daha var.
Ve ben sadece bir açıklama okuyacağım.
Burada olan tek şey tüm köpekleri veritabanından almamız, böylece veritabanımda bazıları zaten var.
Ve sonra bir sonraki bölüm köpek dosyasını oluşturuyor ve biz şimdilik bunu yapacağız.
Yani veritabanındaki tüm köpekleri alıyoruz ve burada olan köpek dosyalarını hazırlıyoruz.
Ve bu biraz farklı görünüyor.
Sadece o değil.
Burada daha önce görmediğimiz tuhaf şeyler var.
Ama günün sonunda, köpekleri küçültmek için gittiğimde, uygulamanız köpekleri indirmek için bir istek almak
için dinliyor.
Bir tane aldığında, veritabanındaki tüm köpekleri alır ve her birinin bir adı ve / veya cinsi bulunur ve
sonra her biri için biraz yalan yapar.
Dolayısıyla bunların her biri bir ismi ve ırkı olan bir müttefiktir.
İsteğe bağlı olarak istek almak ve köpekleri kesmek için iki güzergahımız var;
biz iki eğe çizelgesine geçtiğimizde iki farklı dosya ve biraz mantıkla karşılaşıyoruz.
Veri tabanında hiçbir şey olmamış bir mantık yok.
Sadece bize statik bir sayfa veriyor.
Ancak bu statik değil.
Bu, veritabanından gelen bilgilere bağlıdır.
Buraya sunucumuza gidin kodumuza ve burada bu satırı biraz konuşacağım.
Dolayısıyla bir sayfaya Köpekler adında bir şablon hazırlıyoruz, işte burada köpekler yazıyor.
Evet, ancak bu şablona veri aktarmaya çalışıyoruz çünkü burada resti dash mutt yazan bir müttefik yok ve
daha sonra şablonda başka bir tane bulunmuyor, şablonda neden altın çizip
çizmediğini görebiliyorsunuz. Tarayıcıya giriyorsun.
Ancak dosyamızda hiçbir şey yok.
Ve onu dinamik yapan şey de budur.
Bu dosya, veritabanındaki bilgilere bağlı olarak çalıştırdığı her seferde farklı olabilir.
Aslında aslında ne yapmak istediğimizi belirten bir şablon veya kalıp tanımlamak;
her köpek köpekleri için bir müttefik yapmak istiyoruz. Nerede müttefikler yapmak istiyorsak, cesur veya
güçlü çizgi tıpkı düz metin.
Bu şekilde, veritabanındaki geri getirilecek ve cesur değil, cesur
çizgiyle adlandırılmış tek bir müttefik oluşturacağımız her köpek için bu şekilde sonuçlanacağız.
O halde bırakın.
Şimdi özetleyelim.
Dolayısıyla, sunucuyu burada oluşturan kodumuz var.
Tüm bunlar sunucumuzu yapmakla sorumlu tek kod.
Bazı ayar kodlarımızın olması önemli değil.
Bazı veritabanı kodu da pek bir önem taşımaz.
Ve sonra bu iki güzergah ve bunlar çok önemli.
İsteğinize bağlı olarak farklı kodlar ve farklı dosyalar alacağımız yol budur, isteği yerine
geçmek için bir istekte bulunurız.
Evden bir dosya alıyoruz, köpekleri indirmek için istekte bulunuyor ve sahnelerin arkasında biraz daha fazla oluyor.
Veritabanındaki tüm köpekleri bulur ve daha sonra bu köpekleri dosyaya dönüştürür.
Ancak köpekler dosyası dinamiktir çünkü bir sürü köpek alır ve her biri için.
Bu bir müttefiktir.
Yani veritabanında 10000 köpek olsaydı, 10000 müttefikle sonuçlanırdık.
Ve yapmak istediğim son nokta, sunucu çalıştıran bir terminalin bulunduğu bir metin düzenleyicisine
sahip olduğum ve sonra da tarayıcıya gidip bir web sayfası isteğinde bulunarak ziyaret ettiğim.
Bunlara ihtiyacımız olan üç araç.
terminale veya nerede sunucu başlatabilir ve onu dinleyecek bir yere kod yazarız.
Öyleyse, bu üç şey, metin düzenleyicisinde,
Ve nihayet, nereye gidip istekte bulunabildiğimiz bir tarayıcı.
Dolayısıyla bir tarayıcı kullanmak zorunda değiliz Postacı kullanabiliriz ancak kendi web uygulamalarımızı yazmaya
başladığımızda bir sonraki videolarda aslında web sayfamızla etkileşim kurmak için postacı kullanmıyoruz.
Aynı üç araça sahibiz.
Dolayısıyla bir metin düzenleyicisine bir tarayıcı ve bir terminal ya da sunucu çalıştırmak için bir yerimiz olacak.