WEBVTT

1
00:08.380 --> 00:11.710
Evet, çocuklar, şimdi çözümümüzün
uygulanmasına başlayalım.

2
00:12.580 --> 00:14.800
Yani yapacağım şey şu.

3
00:17.000 --> 00:18.890
Çözümü doğrudan Ussing proje çözümünde
uygulayacaktım, bu

4
00:22.130 --> 00:31.160
yüzden sadece Directory Housing projesinin
bir kopyasını

5
00:31.160 --> 00:33.350
oluşturacağım ve async proje çözümü olarak
adlandıracağım.

6
00:33.680 --> 00:37.160
Bu yüzden çözümü bu dizinde
uygulayacaktık.

7
00:37.640 --> 00:38.060
TAMAM.

8
00:39.500 --> 00:47.210
Yani yapacağım şey, çözümü sgp underscore

9
00:47.210 --> 00:48.050
l don't edge dosyasında uygulayacaktım.

10
00:49.780 --> 00:50.230
Tamam.

11
00:50.440 --> 00:55.750
Ve nokta olarak başka bir dosya
oluşturacağım, bakın.

12
00:57.820 --> 01:02.500
Dolayısıyla şu anda nasıl yapılacağı
dosyasına bakılması gereken bir
dosyadayım.

13
01:11.420 --> 01:15.980
Ve bu yüksek profilli, olay döngüsünün
yanı sıra yönlendirme tablosunu

14
01:15.980 --> 01:19.280
da kullanacağız, bu yüzden ilgili hidro
tesisleri dahil ettim.

15
01:21.050 --> 01:25.310
Şimdi yapmamız gereken ilk şey mavi bir
nesne oluşturmak.

16
01:25.910 --> 01:26.360
Tamam.

17
01:26.980 --> 01:32.060
Due process'in ilk etapta olay döngüsü ile
çalışması için mavi bir nesneye sahip
olması gerekir.

18
01:32.600 --> 01:36.650
Bu yüzden SDP TPL dosyasında global bir
değişken alacağım.

19
01:37.670 --> 01:38.090
Tamam.

20
01:38.090 --> 01:44.990
Bu yüzden bazı standart yanıtlar eklemem
gerekiyor, çok fazla

21
01:44.990 --> 01:45.590
reklam içeriyor ve bu benim küresel olay
döngüsü nesnem.

22
01:46.220 --> 01:46.640
Tamam.

23
01:47.780 --> 01:55.190
Şimdi olay döngüsü nesnesini başlatmak
için kullanılan işlevi tanıtmama izin

24
01:55.190 --> 01:58.670
verin ve bu işlevin prototipi dosyaya TPL
eki olarak gidecektir.

25
02:04.620 --> 02:08.760
Ve bu işlevin bu olay döngüsü nesnesini
başlatması gerekiyor, bu kadar basit.

26
02:10.110 --> 02:15.330
Yani içinde bir fonksiyon olay döngüsü ve
olay döngüsü var.

27
02:17.200 --> 02:17.680
Koş.

28
02:19.870 --> 02:20.290
Tamam.

29
02:21.630 --> 02:29.640
Ve Typekit'in görmediği gibi finale
gelirsek, SDP yield attach dosyasına yeni
nasıl dahil edileceğini

30
02:30.690 --> 02:37.170
hash etmemiz gerekiyor ve ana işleve
gideceğim ve burada olay döngüsü nesnesini
başlatacağım.

31
02:42.280 --> 02:42.790
Tamam.

32
02:43.030 --> 02:46.630
Ve bu dosyada, global değişkeni içe
aktarmam gerekiyor.

33
02:50.600 --> 02:51.020
Tamam.

34
02:51.110 --> 02:56.360
Yani dosyada TPL not olarak tanımlanan
mavi nesnenin bile global değişkeni var.

35
02:57.230 --> 03:01.160
Ve bu global değişkeni Typekit Nazi olarak
dosyaya aktarıyorum.

36
03:02.240 --> 03:07.910
Bu yüzden dosyadaki bu global değişkeni
Typekit Nazi olarak içe aktarıyorum,
böylece ana fonksiyonda.

37
03:09.790 --> 03:11.680
Bu global değişkeni başlatabilirim.

38
03:11.830 --> 03:16.030
Böylece olay döngüsü nesnesinin adım
sürecimizle entegrasyonu tamamlanmış olur.

39
03:16.330 --> 03:20.290
Şimdi işleminizin bu olay döngüsü
nesnesinin bir konumunda olup olmadığı
sorulur.

40
03:20.590 --> 03:21.030
Tamam.

41
03:22.870 --> 03:25.300
Şimdi, önce iki numaralı adımı
uygulayalım.

42
03:25.990 --> 03:26.680
Öyle.

43
03:27.680 --> 03:33.470
Liste, işleyici değil, daha önce Woking
SGP Güncelleme Yuvarlak Masa
Toplantısı'nda doğrudan işlev görür.

44
03:34.130 --> 03:34.520
Tamam.

45
03:35.330 --> 03:45.740
SGP Dot Nazi dosyasına bakarsanız, bunun
bir silo işleyici iş parçacığı olarak

46
03:45.750 --> 03:49.760
ve Clia işleyici işlevinde görev yapan ana
iş parçacığı olduğunu görebilirsiniz.

47
03:51.290 --> 03:53.600
Diplomatik yuvarlak masa olarak
çalışıyorduk.

48
03:54.380 --> 03:54.800
Tamam.

49
03:55.190 --> 03:59.690
Ve benzer şekilde, paket işlem
fonksiyonunda, SGP güncelleme yönlendirme
tablosunda çalışıyorduk.

50
04:00.230 --> 04:08.180
Ancak bu iki numaralı adımdan biri olarak,
bu işleyici işlevi SGP Yönlendirme
Tablosunu

51
04:08.180 --> 04:11.930
Güncelle adlı alternatif bir API'yi
yürümeli ve yönlendirme tablosunun enkazı
olarak durmalıdır.

52
04:12.200 --> 04:12.590
Tamam.

53
04:13.490 --> 04:15.800
Öyleyse bu iki numaralı adımı hemen
uygulayalım.

54
04:17.220 --> 04:23.040
Peki ne yapacağız, basitçe yönlendirme
tablosunun

55
04:23.460 --> 04:24.180
ucunu elastik yönlendirme tablosu ile
değiştireceğim.

56
04:25.590 --> 04:26.040
Tamam.

57
04:26.400 --> 04:29.310
Ve bunu bu dosyanın her yerinde yapacağım.

58
04:33.230 --> 04:37.820
Ancak şimdi bu fonksiyonu tanımlamamız
gerekiyor ve bu

59
04:37.850 --> 04:39.400
fonksiyonu her zamanki gibi alakasız
olacak şekilde tanımlayacağız.

60
04:43.210 --> 04:47.710
Ve son adımda bu işlevin uygulanmasını
sağlamak görmeyecektir.

61
04:54.410 --> 05:01.310
Pekala, şimdi, yuvarlak masayı güncellemek
için bu işlevin

62
05:01.310 --> 05:03.350
hesaplamayı olay döngüsüne gönderme
sorumluluğuna sahip olduğunu
görebilirsiniz.

63
05:04.910 --> 05:05.570
İşte burada.

64
05:07.880 --> 05:12.830
Zirve, etkinlik döngüsüne rekabet.

65
05:15.360 --> 05:18.060
Bunun için de API kullanmamız gerekiyor.

66
05:27.540 --> 05:36.180
Yeni iş büstleri yaratır, burada çift
döngüye işaretçi, hesaplama fonksiyonunu
geçmeliyiz.

67
05:38.800 --> 05:41.700
Ve burada tartışmayı geçmeliyiz.

68
05:42.700 --> 05:48.970
Yeni iş oluştur işlevinin prototipi bunu
söyler ve ardından bu görevi döndürür.

69
05:49.840 --> 05:53.020
Şimdi buradaki soru, bu hesaplama
işlevinin ne olduğudur? New Job'daki

70
05:53.590 --> 06:02.290
görevimizin hesaplama işlevinin programın
genişliğinde olmasını beklediğini zaten
biliyoruz.

71
06:05.550 --> 06:10.620
Ve neden buna başlamak için bu yarışma
fonksiyonunun prototipi olmalıdır, yani bu
yarışma

72
06:10.620 --> 06:15.540
fonksiyonu hiçbir şeye dayanmamalı ve
sadece bir yıldızlı bir argüman kabul
etmelidir.

73
06:16.590 --> 06:16.980
Tamam.

74
06:17.460 --> 06:20.940
Bunlar da bu yarışma fonksiyonuna
verilmesi gereken argümanlardır.

75
06:21.600 --> 06:27.540
Şimdi burada soru şu ki, yönlendirme
tablosunu, komut kablosunu

76
06:27.540 --> 06:29.310
ve yönlendirme tablosu girişini iletmek
için üç argümanımız var.

77
06:29.790 --> 06:33.180
Ancak burada yalnızca bir argümanı iletmek
için bir hükmümüz var.

78
06:33.750 --> 06:39.630
Bu da basitçe, bu üç argümanı tek bir kap,

79
06:39.630 --> 06:40.470
bir yapı veya nesne içinde paketlememiz
gerektiği anlamına gelir.

80
06:41.790 --> 06:47.760
İşte bu nedenle, bu üç argümanı bir araya
getirebileceğimiz bir konteyner

81
06:47.760 --> 06:52.230
yapısı veya konteyner nesnesi olarak
kullanılabilecek yeni bir yapı
tanımlamamız gerekiyor.

82
06:53.490 --> 06:57.220
Bu yüzden dosyada böyle bir yapı
tanımlayalım büyük olmak zorundadır.

83
07:04.220 --> 07:09.410
Ve böyle bir yapıyı güncellenen masada
eşit olarak adlandıralım.

84
07:17.430 --> 07:22.650
Ve tam olarak üç bombacıyı ve bu üç

85
07:23.250 --> 07:23.970
üyeyi de tutabilecek bu yapı içinde
bulmalıyım.

86
07:24.630 --> 07:25.050
Tamam.

87
07:26.810 --> 07:34.190
Dolayısıyla, fonksiyonda ve SDP güncelleme
yönlendirme tablosunda, bu üç argümanı

88
07:34.190 --> 07:35.900
az önce tanımladığımız yeni yapı içinde
bir araya getirelim.

89
07:37.220 --> 07:41.960
Verileri tablolamak için bu tipte bir
nesne oluşturalım.

90
07:46.840 --> 07:50.530
Ve şimdi bu nesnenin alanlarını tek tek
doldurun.

91
07:51.580 --> 07:55.450
Böylece yönlendirme tablosu güncellenecek
tablonun işaretçisini içerecektir.

92
08:00.640 --> 08:03.070
AT&amp;T benim sonuncum olmalı.

93
08:09.470 --> 08:14.450
Ve sonra bu yapıya bir argüman olarak
sağlanan sanat

94
08:14.450 --> 08:16.280
tablosu ve iki içeriğine göre basitçe
üyelik yapabilirsiniz.

95
08:25.590 --> 08:31.770
Ve şimdi burada basitçe bu yeni nesneyi
tek bir argüman olarak iletebiliriz.

96
08:36.680 --> 08:37.150
Tamam.

97
08:37.610 --> 08:44.150
Birden fazla argümanın aktarılması
gerektiğinde, tüm nesneleri tek bir birim

98
08:44.150 --> 08:50.960
olarak bir araya getirmek için bir
kapsayıcı görevi görebilecek bir

99
08:50.960 --> 08:52.070
yapı tanımlamamız gerektiğinde, verileri
İran Kütüphanesine bu şekilde aktardık.

100
08:52.550 --> 08:58.220
Ve yeni iş oluşturmak için bu API'ye tek
argüman olarak bu tek nesneyi
aktarabiliriz.

101
08:59.150 --> 09:01.430
Şimdi bu hesaplama fonksiyonuna gelelim.

102
09:02.900 --> 09:06.710
Dediğim gibi, bu hesaplama fonksiyonu
aşağıdaki prototipe sahip olmalıdır.

103
09:08.090 --> 09:12.710
Öyleyse aynı prototipte bir fonksiyon
tanımlayalım.

104
09:14.960 --> 09:22.100
Dolayısıyla, bu API'ye ikinci bir argüman
olarak ayrıştırılması gereken bu işlevdir
ve bu üçüncü

105
09:22.100 --> 09:27.140
argümanın olay döngüsü kütüphanesi
tarafından bu işleve bir argüman olarak
ayrıştırılacağını zaten biliyoruz.

106
09:27.950 --> 09:30.140
Yani tipleme yapacaktık.

107
09:32.540 --> 09:33.500
Argüman? Kod akışının tamamını anlarsanız,
bunun SGP süreci

108
09:39.790 --> 09:44.830
tarafından yeni iş oluşturmak için API
kullanarak hesaplamayı

109
09:44.830 --> 09:51.610
olay döngüsüne göndermek için kullanılacak
işlev olduğunu görebilirsiniz.

110
09:52.780 --> 09:57.130
Bu hesaplama işlevidir ve bu da hesaplama
argümanıdır.

111
09:58.330 --> 10:04.150
Şimdi bu hesaplama fonksiyonu olay döngüsü
tarafından çağrılacaktır ve

112
10:04.150 --> 10:07.150
yönlendirme tablosunu en sonunda
güncellemek bu hesaplama fonksiyonunun
sorumluluğundadır.

113
10:07.960 --> 10:12.400
Bu diyagramda da görebileceğiniz gibi, şu
anda dört numaralı adımı uygulama
sürecindeyiz.

114
10:12.970 --> 10:18.280
Bu yüzden Typekit Update Routing Table
olarak bir API çağırmamız gerekiyor,

115
10:18.280 --> 10:19.690
bu da sonunda beş numaralı adımda gerçek
veri yapısını güncelliyor.

116
10:21.840 --> 10:30.690
Burada yapmamız gereken tek şey bir
şekilde SGP Update Roundtable API'sini

117
10:30.690 --> 10:33.300
yürümek, yani şimdi bu API'ye aktarılması
gereken tüm argümanlara sahibiz.

118
10:36.410 --> 10:38.180
Öyleyse yönlendirme tablosunu geçelim.

119
10:44.700 --> 10:46.500
Ortak kodu geçelim.

120
10:49.530 --> 10:51.720
Ve yönlendirme tablosu girişini geçelim.

121
10:52.860 --> 10:59.010
Dolayısıyla, bu SGP güncelleme yönlendirme
tablosunun çağrılmasından

122
10:59.010 --> 10:59.370
sonra, yuvarlak tablomuz olay döngüsü
tarafından güncellenecektir.

123
11:00.180 --> 11:04.680
Ve şimdi serbest bırakmamız gereken tüm
ilgili hafızayı serbest bırakma zamanı.

124
11:08.820 --> 11:09.060
Tamam.

125
11:09.900 --> 11:15.600
Şimdi tüm sürecin bütünsel görünümünü ele
alırsanız, dosyalarda görmemeniz gereken
şeyi

126
11:15.600 --> 11:21.060
yaptık, plaka yönlendirme tablosunu
yükseltme çağrısını L.A.P.D. işlevi ile
değiştirdik.

127
11:21.060 --> 11:21.840
Yönlendirme Tablosu.

128
11:22.410 --> 11:22.800
Tamam.

129
11:23.220 --> 11:31.500
Ve bu işlev TB süreci tarafından çağrılır
çağrılmaz, yeni iş oluşturmak için

130
11:31.500 --> 11:36.110
bir API'deki adım süreci, hesaplamayı
olaya, döngü kütüphanesine veya olaya
gönderir.

131
11:37.020 --> 11:42.920
Görüntü iş parçacığı kuş gribi üçlüsünü
ateşlediğinde, bu geri

132
11:42.920 --> 11:43.920
arama işlevini çağıracağız ve bu geri
arama işlevini sonlandıracağız.

133
11:43.920 --> 11:50.520
Aynı argümanı tekrar alıyoruz ve sonunda
yuvarlak tablonun

134
11:50.520 --> 11:52.440
içeriğini güncellemek için girecek olan
gerçek API'yi güncelliyoruz.

135
11:53.070 --> 11:53.460
Tamam.

136
11:53.820 --> 12:01.050
Ancak bu kez bu API, kuş

137
12:01.050 --> 12:02.570
gribi tehdidi nedeniyle devreye sokuluyor.

138
12:02.580 --> 12:07.470
Bu beş adımın tamamını uygulamış olsak da
olmasak da, bir numaralı adımın

139
12:07.470 --> 12:13.170
zaten orada olduğunu ve dinleyicilerin
hesaplamalarının bir kısmını ilgili
işleyicilere aktardığını görelim.

140
12:14.310 --> 12:16.140
Yani bir numaralı adım değiştirilmemiştir.

141
12:16.140 --> 12:17.250
Zaten oradaydı.

142
12:18.240 --> 12:25.740
İkinci adım, işleyici işlevlerinde SGP
güncelleme yönlendirme tablosuna yapılan

143
12:25.740 --> 12:27.930
çağrının LSD güncelleme yönlendirme
tablosu ile değiştirilmesiyle
uygulanmıştır.

144
12:28.920 --> 12:29.310
Tamam.

145
12:30.210 --> 12:37.830
Yani bu iki numaralı personel, üç numaralı
adım dosyada Typekit veya

146
12:38.130 --> 12:42.600
C olarak uygulandı, burada Elastic
Roundtable rekabeti olay döngüsüne
çağırdı.

147
12:43.500 --> 12:49.610
Yani bu üç numaralı personeldir ve dört
numaralı

148
12:49.620 --> 12:50.310
adım olay döngüsü kütüphanesi tarafından
otomatik olarak tetiklenir.

149
12:53.230 --> 13:00.940
Olay Döngü Kütüphanesi bu kombinasyon
işlevini çağıracak ve

150
13:00.940 --> 13:01.960
sonunda yönlendirme tablosunu hızlandıran
gerçek API'yi çağıracaktır.

151
13:03.070 --> 13:09.130
Yani bu, yönlendirme tablosunu güncelleme
olarak gerçek API'yi çağırmadan önceki
adımdır.

152
13:09.910 --> 13:11.860
Ve bu kısa bir yuvarlak masa toplantısı
olmalı.

153
13:12.280 --> 13:17.470
Son olarak, Stibbe sürecinin yuvarlak masa
dönemi yapısını güncelleyin.

154
13:17.950 --> 13:22.480
Yani bu API'nin kendisi tarafından
halledilen beş numaralı adımdır.

155
13:23.230 --> 13:26.710
Şimdi projelerimizi derlemenin veya
projemizi derlemenin zamanı geldi.

156
13:26.720 --> 13:29.890
Compile not assets dosyamızı da
güncellememiz gerekiyor.

157
13:31.720 --> 13:37.900
Şimdi Typekit'in görmeyeceği şekilde yeni
dosyayı derleyecek bir satır ekleyelim.

158
13:39.210 --> 13:43.830
Ayrıca olay döngümüzü derlerken olay
kulübünü de görmeyelim.

159
13:44.890 --> 13:51.640
Ve şimdi bu aptalın yaratılması mazeret
değil, aynı zamanda döngü nesne dosyasına
bile bağlı.

160
13:52.790 --> 13:53.810
Yanı sıra.

161
13:56.570 --> 14:04.820
Çok fazla olmak üzere, tüm nesne
dosyaları, yani reklam modu, nesne
dosyaları burada ve işimiz

162
14:04.820 --> 14:11.350
bitti ve bazı derleme hatalarını
kaldırmamız gerekiyor, örneğin,
görmediğimiz dosya ipucunda, bu işlevin
statik adlarını

163
14:11.360 --> 14:16.850
kaldırmamız gerekiyor çünkü bu işlev artık
başka bir dosyada TPL olarak kullanılıyor
veya bkz.

164
14:18.250 --> 14:22.360
İşte bu yüzden bu işlev artık statik
olamaz.

165
14:23.200 --> 14:28.570
Ve Typekit burada kullanıldığı için
görmeyeceği için bu fonksiyonu dosyaya
aktaralım.

166
14:29.950 --> 14:38.430
Böylece harici bir klavye kullanarak
işlevi başka bir dosyaya aktarırsınız ve

167
14:38.690 --> 14:44.290
ayrıca dosyada, D'nin 44 numaralı satırda
olduğu satır numarasında göreceğiniz gibi.

168
14:47.940 --> 14:50.640
Oh, sadece karakterler, Mystic.

169
14:53.270 --> 15:01.700
Ve şimdi ve şimdi, projeyi tekrar
derleyeyim, bu yüzden bana dosyada

170
15:01.700 --> 15:03.530
derleme veya 12 numaralı satıra bakma
konusunda bir hata daha veriyor.

171
15:05.200 --> 15:08.500
Şiddete maruz kaldım.

172
15:08.650 --> 15:09.370
12.

173
15:10.210 --> 15:15.160
Tamam, otobüs yönlendirme tablosu girişi
içindeki sıra burada.

174
15:17.900 --> 15:18.710
Ve biz değiliz.

175
15:22.960 --> 15:29.380
Şimdi, proje başarıyla birleştirildi ve bu
projeyi şimdi yürütürseniz,

176
15:29.380 --> 15:30.580
daha önce olduğu gibi tam olarak aynı
şekilde davranacaktır.

177
15:31.210 --> 15:38.050
Artık Come Online'ı kullanarak Clia
Order'ı kullanarak yuvarlak masaya yeni
bir giriş oluşturabilirsiniz.

178
15:38.770 --> 15:48.940
Bu nedenle, alternatif sıfır olarak
standart 1.1.1 giden arabirimi olan bir
kapı değil,

179
15:48.940 --> 15:53.050
122 2.1.1 civarında oluşturmama izin verin
ve yuvarlak tabloda yeni giriş
oluşturacaktır.

180
15:53.440 --> 15:58.720
Ancak bu girişin sıralama tablosuna
eklenmesinin olay tarafından yapıldığını
unutmayın.

181
15:58.720 --> 15:59.410
Lou Pratt.

182
16:00.580 --> 16:08.590
Şimdi kırk bin dört numaralı panoda kırk
bin bir numaralı

183
16:09.880 --> 16:10.470
veya Hayır'ı dinlemek için RSVP işlemi
yapmama izin verin.

184
16:10.480 --> 16:11.800
Kırk bin iki.

185
16:13.150 --> 16:20.740
UDP Proud Sam bildirimlerini tekrar
kullanmama izin verin ve bunu tekrar
görebilirsiniz.

186
16:20.740 --> 16:23.410
Yönlendirme tablosunda aynı sayıda giriş
oluşturulur.

187
16:23.800 --> 16:27.280
Ve unutmayın, şimdi tüm işi yapan olay
döngüsüdür.

188
16:27.580 --> 16:33.310
Artık dinleyici iş parçacıkları adına
yönlendirme tablosuyla etkileşime giren
olay döngüsü eğilimidir.

189
16:34.420 --> 16:39.730
Unutmayın, bu, bir uygulamanın genel bir
kütüphaneye hesaplama

190
16:39.730 --> 16:40.780
veya veri gönderme şekliyle ilgili ortak
modeldir.

191
16:41.230 --> 16:46.180
Dolayısıyla, izlediğimiz iki ve üç
numaralı adımlar, uygulamanın verileri
veya

192
16:46.180 --> 16:51.310
hesaplamaları herhangi bir genel
kütüphaneye göndermek için kullanacağı
genel adımlardır.

193
16:51.970 --> 16:58.120
Benzer şekilde, işleminizde IPC dinleyici
iş parçacığı veya bir zamanlayıcı
çalıştıran dahili

194
16:58.780 --> 17:04.720
bir iş parçacığı gibi daha fazla dinleyici
iş parçacığı olup olmadığı sorulursa,

195
17:04.720 --> 17:06.820
tüm bu iş parçacıklarının hesaplamalarını
aynı şekilde olay döngüsü kütüphanesine
göndermeleri gerekir.

196
17:07.210 --> 17:12.910
Bu yüzden bir sonraki derste
zamanlayıcılarla çalışalım çünkü bir
zamanlayıcı özel bir dikkat gerektirir.

197
17:14.430 --> 17:20.640
Timeless ise tek iş parçacıklı süreçlerde
eş zamanlı rekabet yaratmaya çalışan bir
başka kaynaktır.

198
17:21.120 --> 17:26.610
Bu nedenle, bir sonraki derste
zamansızlığın hatalı döngü kütüphanesi
tarafından nasıl

199
17:26.940 --> 17:31.350
ele alındığını tartışacağız, böylece
işlenmesi istenen ana hedefimiz mantıksal
olarak kalmalıdır.

200
17:31.350 --> 17:34.460
Tek iş parçacıklı bir süreç hala devam
etmektedir.


