1
00:00:00,210 --> 00:00:01,510
Tekrar hoş geldin.

2
00:00:01,530 --> 00:00:04,700
Dolayısıyla bu, tüm dersin en önemli derslerinden biri.

3
00:00:04,890 --> 00:00:08,670
Ancak, şimdiye kadar yaptığımız her şeyden çok daha farklı olacak.

4
00:00:08,670 --> 00:00:13,260
Farklılığının nedeni size daha önce hiç görmediğiniz

5
00:00:13,260 --> 00:00:18,120
bir grup kod gösterileceğim ve hiç anlamamanız beklenmiyor.

6
00:00:18,120 --> 00:00:23,730
Bunu yapmamın nedeni, bütün bu parçaların birbirine nasıl uyduğuna dair kavramsal bir bakış sağlamak istiyorum.

7
00:00:23,790 --> 00:00:28,430
Sunucuya GET isteği gönderen veritabanı tarayıcıyı ister.

8
00:00:28,440 --> 00:00:30,900
Tüm bu farklı şeyler istekler ve cevaplar.

9
00:00:31,080 --> 00:00:35,430
Bütün bunları gerçekten basit bir çalışma uygulamasıyla göstermek istiyorum.

10
00:00:35,430 --> 00:00:37,120
İşte ben de burada yapacağım.

11
00:00:37,200 --> 00:00:42,900
Şahsen bunu öğretseydim, bu, bilgisayarınızı kapatmak için dizüstü bilgisayarınızı koymanızı

12
00:00:42,900 --> 00:00:43,920
rica ederim.

13
00:00:44,040 --> 00:00:45,670
Açıkçası burada iyi bir fikir değil.

14
00:00:45,930 --> 00:00:50,100
Ancak bunun arkasındaki düşünce, bu konuda not almanızı istemiyorum.

15
00:00:50,100 --> 00:00:54,780
Her satıra gidip sıfırdan yazacağız ve bu farklı uygulamaları kullanarak bu altı

16
00:00:54,780 --> 00:00:57,240
uygulamadan beş altı yedi uygulamaya başlayacağız.

17
00:00:57,240 --> 00:01:03,580
Bu, işlerin gerçek ayrıntılarını değil, eşyaların nasıl bir araya geldiğini anlatıyor.

18
00:01:03,600 --> 00:01:06,630
Bununla başlayalım ve burada başlayalım dedi.

19
00:01:07,020 --> 00:01:09,840
Yani bu uygulama köpekler etrafında temalı.

20
00:01:09,840 --> 00:01:11,010
Bu çok basit.

21
00:01:11,010 --> 00:01:12,320
Hiçbir tasarım yok.

22
00:01:12,420 --> 00:01:14,320
Sadece birkaç farklı sayfa.

23
00:01:14,430 --> 00:01:19,250
Ve konuşmamız gereken ilk şey bu dosyanın tümü.

24
00:01:19,260 --> 00:01:21,750
Yani bu bizim sunucu dosyamız.

25
00:01:21,750 --> 00:01:23,450
Benim durumumda buna app dodge deniyor.

26
00:01:23,460 --> 00:01:25,720
Evet, bu Javascript ile yazılmıştır.

27
00:01:25,800 --> 00:01:30,180
Ve bu dosyayı çalıştırdığımda aslında benim için bir sunucu başlatacak.

28
00:01:30,180 --> 00:01:37,560
Daha önce de belirttiğim gibi, okunması için bir istek gönderdiğimizde dot com slash search'i Reddit

29
00:01:37,560 --> 00:01:41,310
sunucusunda okumak için bir istek dinleyen kod var.

30
00:01:41,310 --> 00:01:45,850
Şimdi com eğik çizgi arama özelliğini kullanıyor ve daha sonra doğru veriyi bir yanıtta geri gönderiyor.

31
00:01:46,080 --> 00:01:50,990
Reddit sunucusunda kod olduğunu söylediğimde bu bahsettiğim kod türüdür.

32
00:01:51,210 --> 00:01:56,730
farklı istekleri dinleyen ve sonra farklı parçalarla yanıt veren kodumuzdur.

33
00:01:56,790 --> 00:02:00,620
Python'da okundu ve bu javascript'tir. Bu, sunucudaki

34
00:02:00,630 --> 00:02:05,150
Üç büyük parça var ve bu sadece bizim başvurumuzu hazırlıyor.

35
00:02:05,250 --> 00:02:09,370
Gördüğünüz gibi sağ kütüphaneleri de içerdikçe birkaç bağımlılık var.

36
00:02:09,390 --> 00:02:11,560
Yine hepsini daha sonra geride bırakacağız.

37
00:02:11,850 --> 00:02:13,570
Sonra bazı veritabanı şeyler var.

38
00:02:13,830 --> 00:02:20,910
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

39
00:02:20,910 --> 00:02:22,060
dizeleri olduğunu biliyor.

40
00:02:22,470 --> 00:02:24,240
Ve şimdilik bunun hepsinden bahsediliyor.

41
00:02:24,630 --> 00:02:28,590
Ve daha sonra, bunu yapmadan önce bu dersin çoğunu

42
00:02:28,590 --> 00:02:34,170
harcayacağımız, tamamlananlar diye adlandırılan şeyler var; burada sunucuyu gerçekten başlatmak için en önemli

43
00:02:34,470 --> 00:02:39,040
kısmı burada belirtmek isteriz satır sözdizimi önemli değil ama ne önemlidir.

44
00:02:39,050 --> 00:02:40,930
Burada üç bin numara var.

45
00:02:40,950 --> 00:02:46,320
Bunun ne yapacağı, bu dosyayı terminalde çalıştırdığımızda bu uygulamayı çalıştırdığımızda

46
00:02:46,320 --> 00:02:51,860
aslında sunucudan başlayacak ve uygulamanız 3000 numaralı bağlantı noktasında olacak.

47
00:02:51,870 --> 00:02:53,160
Ne demek istediğimi göstermeme izin verin.

48
00:02:53,160 --> 00:02:58,200
Dosyayı çalıştırarak bu sunucuyu yeniden başlayacağım, burada ne yapacağım önemli değil.

49
00:02:59,130 --> 00:03:03,260
Ve port 3000'de köpek demosuna hizmet eden bir mesaj alıyorum görebilirsiniz.

50
00:03:03,570 --> 00:03:07,650
Metin editörüm ne var, kodumu sunucum için burada yazıyorum.

51
00:03:07,860 --> 00:03:11,000
Sonra terminalimde aslında sunucuyu çalıştırıyorum.

52
00:03:11,220 --> 00:03:17,280
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

53
00:03:17,280 --> 00:03:18,840
limanda bir sunucu başlattı.

54
00:03:18,870 --> 00:03:26,850
Şimdi üç bin limana gidersem ve orada olduğum yol, yerel ev sahibi Colan 3000'dir. Ana sayfayı

55
00:03:26,850 --> 00:03:28,620
söyleyen bir şeyler görüyorum.

56
00:03:28,980 --> 00:03:34,570
Sayfa kaynağını görüntülersek, o ana sayfayı nasıl alacağım hakkında konuşalım.

57
00:03:34,950 --> 00:03:42,150
Yanıtlamam gereken tek şey, ana sayfa yazan tek bir H-1 olanı görebiliyorsunuzdur ve hepsi bu kadar.

58
00:03:42,150 --> 00:03:46,620
Dolayısıyla burada sunucuma geri dönersek işaret etmek istediğim birkaç şey var.

59
00:03:46,770 --> 00:03:51,870
İlki, sunucunun başladığı terminalimde basılan küçük bir mesajın

60
00:03:51,870 --> 00:03:52,620
olması.

61
00:03:52,780 --> 00:03:59,060
Ve bunun bize söylediği, birilerinin burada istediği gibi bir istekte bulunması, bu da

62
00:03:59,150 --> 00:04:00,340
sana arole slash'tir.

63
00:04:00,630 --> 00:04:02,750
Yani localhost 3000 eğik çizgi.

64
00:04:02,820 --> 00:04:04,160
Böylece daha sonra başka bir şey yok.

65
00:04:04,530 --> 00:04:10,560
Buna temel yol olarak ana sayfamızın olmasını istediğimiz kök rota veya sadece rota adı verilir.

66
00:04:10,560 --> 00:04:15,840
Böylece tekrar localhost 3000'e gittim ve girdim.

67
00:04:16,200 --> 00:04:24,120
Ve bana bazı kodlar var, ancak eğer sayfadaki kaynağı görürsem, bana ilk kez var olan içeriğinden farklı biraz

68
00:04:24,120 --> 00:04:26,190
daha fazla içerik elde edersem

69
00:04:29,760 --> 00:04:35,040
görebileceğim, bazı farklı şeyler getiren localhost 3000 eğik köpeğe gittiysem bunun nedeni

70
00:04:35,040 --> 00:04:38,430
farklı bir sıra veya farklı bir rota olmasıdır.

71
00:04:38,430 --> 00:04:42,670
Dolayısıyla bu davada Slash'i istemiyorum sadece.

72
00:04:42,840 --> 00:04:44,840
Slash köpeklerini arıyordum.

73
00:04:45,210 --> 00:04:51,510
Terminal çıktısına bakarsanız, bir alma isteği eğik çizgi veya köpekleri parçalamak için bir

74
00:04:51,990 --> 00:04:54,570
istek arasında bir fark olduğunu görebilirsiniz.

75
00:04:54,570 --> 00:04:59,630
Bu sadece bana gösteriyor, size neler olduğunu gösterebilirim, ancak bu mantık veya başka bir şey değildir.

76
00:04:59,640 --> 00:05:03,010
Bu, yapılan isteklerin bir penceresidir.

77
00:05:03,390 --> 00:05:05,330
Tamam, bu şeylerin istek tarafı.

78
00:05:05,430 --> 00:05:08,760
Girişe vurduğumda istekte bulunurum.

79
00:05:08,760 --> 00:05:09,720
Aynı şey burada.

80
00:05:09,930 --> 00:05:12,430
Sadece iki farklı yere yapıyorum.

81
00:05:12,780 --> 00:05:16,680
Ve tabii ki postacılarla da istekte bulunmalarını sağlayabilirim.

82
00:05:16,680 --> 00:05:21,250
Böylece, yerelhost'a 3000 gibi bir istekte bulunalım ve istek yapalım.

83
00:05:21,300 --> 00:05:25,890
Bir dakikanızı ayırın ve gönderime bastığımda neyi görmemizi beklediğinizi düşünün.

84
00:05:27,100 --> 00:05:34,590
İşte gidiyoruz sadece aynen H-1'i alıyorum ve eğer yerel bir ana sunucu 3000 çağrı köpeği

85
00:05:35,010 --> 00:05:42,240
yaparsam bir istek olsun ve gönderime basarsam tarayıcımdan isabet ederek bir istek aldım aynı HD

86
00:05:42,240 --> 00:05:43,490
postayı alıyorum girmek.

87
00:05:43,500 --> 00:05:47,790
Şimdi bunların hepsini sunucu tarafında gerçekleştiren mantık hakkında konuşalım.

88
00:05:48,110 --> 00:05:54,300
yüzden, yüce sayılmaya geri döneceğim ve burada bu üç kısma da odaklanacağım.

89
00:05:54,300 --> 00:05:54,940
Bu

90
00:05:55,320 --> 00:06:00,230
Bu konuyla ilgili bozuk bir kayıt olduğumu biliyorum, ancak sözdizimi önemli bir bölüm değil.

91
00:06:00,270 --> 00:06:04,960
Bu rotaları yazarken çok önemli bir zaman harcayacağız.

92
00:06:05,010 --> 00:06:13,050
Önemli olan bu ilk küçük parçada bu kod eğik çizgi almak için bir

93
00:06:13,860 --> 00:06:15,450
alma isteği dinlemektir.

94
00:06:15,720 --> 00:06:20,400
Ve bu olduğunda ev adı verilen bir sayfa hazırlıyoruz.

95
00:06:20,400 --> 00:06:27,630
Böylece yerelhost'un 3.000 çizgi parçalamasına başka bir şey getirilemediğinde ev denilen

96
00:06:27,630 --> 00:06:29,690
bir şey oluşturacağız.

97
00:06:30,030 --> 00:06:32,660
Ve burada ev adı verilen dosyam var.

98
00:06:32,670 --> 00:06:34,560
Ejay'ın ne istediği önemli değil.

99
00:06:34,860 --> 00:06:38,360
İçinde ise ana sayfanın yer aldığı bir H1 var.

100
00:06:38,430 --> 00:06:45,980
Öyleyse buna bir paragraf daha düşük bir şey daha ekleyin ve kaydedin.

101
00:06:46,720 --> 00:06:53,910
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

102
00:06:54,060 --> 00:06:58,740
ve bu değişikliklerin işe başlamasını sağlamak için aslında sunucuyu yeniden başlatmam gerekiyor.

103
00:06:58,800 --> 00:07:06,690
Bu yüzden şimdi başlayacağım ve bunu yan tarafa koyacağımızı izleyeceğim ve Chrome'a ​​geri dönerek sunucuyu orada

104
00:07:06,690 --> 00:07:07,590
tekrar alacağım.

105
00:07:08,220 --> 00:07:11,730
Localhost'a 3000 talep edeceğim.

106
00:07:11,970 --> 00:07:16,380
Gördüğünüz gibi bana bir kesme talebi geldiğini söylüyor.

107
00:07:16,830 --> 00:07:19,530
Ve biz bu içeriği geri aldık.

108
00:07:19,590 --> 00:07:26,480
Yine burada olan kodumuz, istekleri eğik çizgi alıp hangi dosyanın geri gönderileceğine karar verdiklerini dinliyor.

109
00:07:26,490 --> 00:07:32,580
Şimdi, köpekleri kesecek bir istek almak için dinlediğimizin daha karmaşık

110
00:07:32,670 --> 00:07:33,550
bir versiyonu.

111
00:07:33,930 --> 00:07:36,250
Ve burada başka bir kod daha var.

112
00:07:36,390 --> 00:07:37,740
Ve ben sadece bir açıklama okuyacağım.

113
00:07:37,740 --> 00:07:44,930
Burada olan tek şey tüm köpekleri veritabanından almamız, böylece veritabanımda bazıları zaten var.

114
00:07:45,190 --> 00:07:54,350
Ve sonra bir sonraki bölüm köpek dosyasını oluşturuyor ve biz şimdilik bunu yapacağız.

115
00:07:54,390 --> 00:07:59,430
Yani veritabanındaki tüm köpekleri alıyoruz ve burada olan köpek dosyalarını hazırlıyoruz.

116
00:07:59,710 --> 00:08:01,390
Ve bu biraz farklı görünüyor.

117
00:08:01,410 --> 00:08:02,940
Sadece o değil.

118
00:08:02,970 --> 00:08:05,740
Burada daha önce görmediğimiz tuhaf şeyler var.

119
00:08:06,030 --> 00:08:13,150
Ama günün sonunda, köpekleri küçültmek için gittiğimde, uygulamanız köpekleri indirmek için bir istek almak

120
00:08:13,150 --> 00:08:14,230
için dinliyor.

121
00:08:14,340 --> 00:08:19,980
Bir tane aldığında, veritabanındaki tüm köpekleri alır ve her birinin bir adı ve / veya cinsi bulunur ve

122
00:08:19,980 --> 00:08:22,330
sonra her biri için biraz yalan yapar.

123
00:08:22,470 --> 00:08:25,600
Dolayısıyla bunların her biri bir ismi ve ırkı olan bir müttefiktir.

124
00:08:26,100 --> 00:08:32,640
İsteğe bağlı olarak istek almak ve köpekleri kesmek için iki güzergahımız var;

125
00:08:32,640 --> 00:08:38,740
biz iki eğe çizelgesine geçtiğimizde iki farklı dosya ve biraz mantıkla karşılaşıyoruz.

126
00:08:38,880 --> 00:08:41,910
Veri tabanında hiçbir şey olmamış bir mantık yok.

127
00:08:41,910 --> 00:08:44,530
Sadece bize statik bir sayfa veriyor.

128
00:08:44,880 --> 00:08:46,140
Ancak bu statik değil.

129
00:08:46,260 --> 00:08:49,260
Bu, veritabanından gelen bilgilere bağlıdır.

130
00:08:50,160 --> 00:08:56,830
Buraya sunucumuza gidin kodumuza ve burada bu satırı biraz konuşacağım.

131
00:08:57,480 --> 00:09:02,910
Dolayısıyla bir sayfaya Köpekler adında bir şablon hazırlıyoruz, işte burada köpekler yazıyor.

132
00:09:03,120 --> 00:09:13,830
Evet, ancak bu şablona veri aktarmaya çalışıyoruz çünkü burada resti dash mutt yazan bir müttefik yok ve

133
00:09:14,230 --> 00:09:20,970
daha sonra şablonda başka bir tane bulunmuyor, şablonda neden altın çizip

134
00:09:20,970 --> 00:09:23,890
çizmediğini görebiliyorsunuz. Tarayıcıya giriyorsun.

135
00:09:24,000 --> 00:09:26,160
Ancak dosyamızda hiçbir şey yok.

136
00:09:26,250 --> 00:09:27,810
Ve onu dinamik yapan şey de budur.

137
00:09:27,840 --> 00:09:32,970
Bu dosya, veritabanındaki bilgilere bağlı olarak çalıştırdığı her seferde farklı olabilir.

138
00:09:32,970 --> 00:09:39,780
Aslında aslında ne yapmak istediğimizi belirten bir şablon veya kalıp tanımlamak;

139
00:09:39,780 --> 00:09:48,150
her köpek köpekleri için bir müttefik yapmak istiyoruz. Nerede müttefikler yapmak istiyorsak, cesur veya

140
00:09:48,300 --> 00:09:51,000
güçlü çizgi tıpkı düz metin.

141
00:09:51,000 --> 00:09:55,800
Bu şekilde, veritabanındaki geri getirilecek ve cesur değil, cesur

142
00:09:55,800 --> 00:10:02,610
çizgiyle adlandırılmış tek bir müttefik oluşturacağımız her köpek için bu şekilde sonuçlanacağız.

143
00:10:02,610 --> 00:10:03,780
O halde bırakın.

144
00:10:03,780 --> 00:10:05,010
Şimdi özetleyelim.

145
00:10:05,160 --> 00:10:10,140
Dolayısıyla, sunucuyu burada oluşturan kodumuz var.

146
00:10:10,140 --> 00:10:13,820
Tüm bunlar sunucumuzu yapmakla sorumlu tek kod.

147
00:10:13,950 --> 00:10:16,190
Bazı ayar kodlarımızın olması önemli değil.

148
00:10:16,200 --> 00:10:18,820
Bazı veritabanı kodu da pek bir önem taşımaz.

149
00:10:18,840 --> 00:10:21,320
Ve sonra bu iki güzergah ve bunlar çok önemli.

150
00:10:21,630 --> 00:10:27,240
İsteğinize bağlı olarak farklı kodlar ve farklı dosyalar alacağımız yol budur, isteği yerine

151
00:10:27,780 --> 00:10:30,180
geçmek için bir istekte bulunurız.

152
00:10:30,330 --> 00:10:38,040
Evden bir dosya alıyoruz, köpekleri indirmek için istekte bulunuyor ve sahnelerin arkasında biraz daha fazla oluyor.

153
00:10:38,430 --> 00:10:42,720
Veritabanındaki tüm köpekleri bulur ve daha sonra bu köpekleri dosyaya dönüştürür.

154
00:10:42,930 --> 00:10:49,170
Ancak köpekler dosyası dinamiktir çünkü bir sürü köpek alır ve her biri için.

155
00:10:49,170 --> 00:10:50,410
Bu bir müttefiktir.

156
00:10:50,520 --> 00:10:55,230
Yani veritabanında 10000 köpek olsaydı, 10000 müttefikle sonuçlanırdık.

157
00:10:55,920 --> 00:11:01,770
Ve yapmak istediğim son nokta, sunucu çalıştıran bir terminalin bulunduğu bir metin düzenleyicisine

158
00:11:01,770 --> 00:11:07,650
sahip olduğum ve sonra da tarayıcıya gidip bir web sayfası isteğinde bulunarak ziyaret ettiğim.

159
00:11:08,520 --> 00:11:10,370
Bunlara ihtiyacımız olan üç araç.

160
00:11:10,410 --> 00:11:16,830
terminale veya nerede sunucu başlatabilir ve onu dinleyecek bir yere kod yazarız.

161
00:11:16,830 --> 00:11:19,780
Öyleyse, bu üç şey, metin düzenleyicisinde,

162
00:11:20,100 --> 00:11:24,420
Ve nihayet, nereye gidip istekte bulunabildiğimiz bir tarayıcı.

163
00:11:24,630 --> 00:11:29,940
Dolayısıyla bir tarayıcı kullanmak zorunda değiliz Postacı kullanabiliriz ancak kendi web uygulamalarımızı yazmaya

164
00:11:29,940 --> 00:11:34,540
başladığımızda bir sonraki videolarda aslında web sayfamızla etkileşim kurmak için postacı kullanmıyoruz.

165
00:11:34,560 --> 00:11:36,780
Aynı üç araça sahibiz.

166
00:11:36,960 --> 00:11:42,440
Dolayısıyla bir metin düzenleyicisine bir tarayıcı ve bir terminal ya da sunucu çalıştırmak için bir yerimiz olacak.
