در این مطلب، ویدئو الگوهای پاسخ به تماس و اصطلاحات در پایتون را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:25,399 –> 00:00:31,169
استوکس در مورد الگوها و رسانههای پاسخ به تماس است،
2
00:00:31,169 –> 00:00:35,670
من واقعاً نمیتوانم
3
00:00:35,670 –> 00:00:38,539
4
00:00:38,539 –> 00:00:41,519
جایگزین تماسهای برگشتی را برای انجام کارهای مشابه
5
00:00:41,519 –> 00:00:44,670
که بسیار مهم هستند پوشش دهم، اما
6
00:00:44,670 –> 00:00:48,089
به طور خلاصه به آنها اشاره میکنم و شاید
7
00:00:48,089 –> 00:00:51,030
در مقطعی نیاز به دنبال کردن داشته باشم.
8
00:00:51,030 –> 00:00:54,329
گفتگوی بالا به این دلیل که آنها شروع به
9
00:00:54,329 –> 00:00:57,179
ظهور URL در اینجا کرده اند، لازم نیست اکنون به آن بپیوندید
10
00:00:57,179 –> 00:00:59,879
، همچنین به این معنی است که آخرین اسلاید
11
00:00:59,879 –> 00:01:04,280
پی دی اف است با دقیقاً این اسلایدها که من
12
00:01:04,280 –> 00:01:07,560
این بحث را انتخاب کردم زیرا هدف آن
13
00:01:07,560 –> 00:01:12,450
محدوده بسیار وسیعی است. در مورد سطوح شایستگی
14
00:01:12,450 –> 00:01:15,960
در پایتون و به طور کلی برنامه نویسی، شما می
15
00:01:15,960 –> 00:01:19,500
دانید که هر رشته از سه مرحله می گذرد
16
00:01:19,500 –> 00:01:24,630
که در تئاتر ژاپنی و
17
00:01:24,630 –> 00:01:27,210
بعد از آن در هنرهای رزمی
18
00:01:27,210 –> 00:01:32,969
اغلب به نام شو هاری نامیده می شود، ابتدا باید
19
00:01:32,969 –> 00:01:39,320
اصول اولیه را حفظ کنید و سپس به تدریج
20
00:01:39,320 –> 00:01:42,600
از پایه به مرحله واقعی جدا شوید.
21
00:01:42,600 –> 00:01:47,430
تمرین کنید و در نهایت وقتی
22
00:01:47,430 –> 00:01:51,420
استاد واقعی هر چیزی هستید، از تمام
23
00:01:51,420 –> 00:01:55,259
جزئیاتی که به شما آموزش داده شده است در جهت
24
00:01:55,259 –> 00:01:59,180
کمال تجربه فراتر میروید،
25
00:01:59,570 –> 00:02:05,100
بنابراین این گفتگو به شما نیاز دارد که حداقل
26
00:02:05,100 –> 00:02:08,970
در میانه راه شوی باشید. اگر در اواسط راه هستید
27
00:02:08,970 –> 00:02:10,740
و حوصله خود را سر میبرید،
28
00:02:10,740 –> 00:02:12,360
لطفاً به این موضوع توجه کنید، زیرا من واقعاً
29
00:02:12,360 –> 00:02:14,340
میخواهم در سرچشمه حکمت شما مشروب بخورم،
30
00:02:14,340 –> 00:02:15,770
31
00:02:15,770 –> 00:02:19,400
اما تعداد کمی از افراد این
32
00:02:19,400 –> 00:02:21,330
امتیاز را دارند که با آنها تعامل داشته باشند، این
33
00:02:21,330 –> 00:02:23,069
یکی دیگر از مزیتهای کار در Google است
34
00:02:23,069 –> 00:02:25,410
که احتمال آن بسیار کم است. برای بهترین بودن در
35
00:02:25,410 –> 00:02:28,170
هر کاری همیشه کسی بهتر
36
00:02:28,170 –> 00:02:30,090
از شما وجود دارد که می توانید از او بیاموزید. من
37
00:02:30,090 –> 00:02:34,170
متوجه شدم که این
38
00:02:34,170 –> 00:02:35,940
مستلزم صد در صد درست بودن است، ما
39
00:02:35,940 –> 00:02:37,530
باید تعداد بی نهایت کارمند داشته باشیم،
40
00:02:37,530 –> 00:02:39,750
زیرا در غیر این صورت یکی وجود خواهد
41
00:02:39,750 –> 00:02:42,570
داشت که در کاری بهترین است. اما ما
42
00:02:42,570 –> 00:02:44,910
سعی میکنیم این همان چیزی است که همیشه استخدام میکنیم و در تلاشیم تا
43
00:02:44,910 –> 00:02:47,730
44
00:02:47,730 –> 00:02:49,800
تعداد بینهایتی از کارمندان را جذب کنیم که
45
00:02:49,800 –> 00:02:52,050
به ما این امکان را میدهد که صددرصد آن را
46
00:02:52,050 –> 00:02:57,320
درست کنیم.
47
00:02:57,320 –> 00:03:00,570
48
00:03:00,570 –> 00:03:04,730
اما
49
00:03:04,730 –> 00:03:08,700
زمانی که یک کتابخانه یا
50
00:03:08,700 –> 00:03:12,750
چارچوب میخواهد عملکردهای شما را
51
00:03:12,750 –> 00:03:15,900
مفهوم سنتی
52
00:03:15,900 –> 00:03:18,720
کتابخانهای که در دهههای 50 و 60 متولد شدهاند، نامیده شود، تا حدودی
53
00:03:18,720 –> 00:03:21,870
ناراحتکننده بود. e یک دسته از توابع است که پیش بروید
54
00:03:21,870 –> 00:03:24,120
و آنها را فراخوانی کنید تا کارهای جالبی برای شما
55
00:03:24,120 –> 00:03:28,560
56
00:03:28,560 –> 00:03:31,560
انجام دهند.
57
00:03:31,560 –> 00:03:38,220
58
00:03:38,220 –> 00:03:43,170
59
00:03:43,170 –> 00:03:45,510
اصل هالیوود میدانی
60
00:03:45,510 –> 00:03:47,549
به هالیوود میروی، نمیدانم به خود زحمت میدهی
61
00:03:47,549 –> 00:03:50,010
به کالیفرنیای جنوبی بروید یا نه، اما دوست دارید در
62
00:03:50,010 –> 00:03:55,500
بخش بزرگی مثل بیرون
63
00:03:55,500 –> 00:03:57,750
روی صحنه این کار را امتحان کنید، متشکرم
64
00:03:57,750 –> 00:03:59,700
با ما تماس نگیرید، ما شما را همینطور صدا میکنیم.
65
00:03:59,700 –> 00:04:03,290
در واقع
66
00:04:03,290 –> 00:04:06,900
مقدمهای امیدوارکننده در آن مفهوم نیست، اما
67
00:04:06,900 –> 00:04:12,150
این اساساً نشان میدهد که تاریخ
68
00:04:12,150 –> 00:04:15,269
این سال 1985 برای برخی از شما مانند وای
69
00:04:15,269 –> 00:04:17,690
من از مفهوم تماسهای تلفنی پیرتر هستم،
70
00:04:17,690 –> 00:04:21,418
به دلایلی مانند جالب من قبلاً
71
00:04:21,418 –> 00:04:24,090
کار میکردم و اخیراً کار میکردم. ذکر شد،
72
00:04:24,090 –> 00:04:26,410
اگرچه پدربزرگ بسیار جوان
73
00:04:26,410 –> 00:04:30,490
ما، من اکنون یک پدربزرگ هستم، بنابراین
74
00:04:30,490 –> 00:04:35,230
هدف از فراخوانی مجدد توسط
75
00:04:35,230 –> 00:04:41,140
کتابخانه ها یا چارچوب چیست، من آن
76
00:04:41,140 –> 00:04:45,640
را به دو انگیزه احتمالی طبقه بندی می کنم که
77
00:04:45,640 –> 00:04:48,550
هر دو به بررسی یکی می پردازند، دستیابی به
78
00:04:48,550 –> 00:04:52,660
انعطاف پذیری بهتر توسط cu
79
00:04:52,660 –> 00:04:55,000
80
00:04:55,000 –> 00:04:57,280
به جای اینکه مجبور باشید به فریم ورک بگویید
81
00:04:57,280 –> 00:04:59,260
این کار را در همان ابتدا
82
00:04:59,260 –> 00:05:01,510
با مقداری مقدار دهی اولیه
83
00:05:01,510 –> 00:05:03,310
انجام می دهید، برخی از جنبه های نحوه کار فریم ورک برای شما
84
00:05:03,310 –> 00:05:06,190
را نشان دهید.
85
00:05:06,190 –> 00:05:09,190
به آن خواهد گفت و
86
00:05:09,190 –> 00:05:13,390
این یک کلاس مهم است که می
87
00:05:13,390 –> 00:05:17,230
توانم بگویم جایگزین های بسیار کمی برای آن وجود دارد، این
88
00:05:17,230 –> 00:05:19,810
به سادگی این واقعیت است که به جای اینکه
89
00:05:19,810 –> 00:05:23,410
90
00:05:23,410 –> 00:05:25,600
یک بار برای همیشه پارامترهایی را که دقیقاً چگونه عملیات باید انجام شود
91
00:05:25,600 –> 00:05:30,280
در ابتدا ارائه کنید، مانند هر بار به آنها بدهید.
92
00:05:30,280 –> 00:05:32,110
بنابراین میتواند قلمزنی روی موقعیت را تغییر
93
00:05:32,110 –> 00:05:34,630
دهد و به همین ترتیب این یک انعطافپذیری غیرپارهای است
94
00:05:34,630 –> 00:05:38,280
و سپس تمام
95
00:05:38,280 –> 00:05:41,380
معماری رویداد محور معماری رویداد محور
96
00:05:41,380 –> 00:05:44,380
در واقع در دنیایی متولد شده
97
00:05:44,380 –> 00:05:47,800
است که رویدادهای خارج از سیستم
98
00:05:47,800 –> 00:05:49,630
واقعاً رخ میدهند و
99
00:05:49,630 –> 00:05:53,200
واکنش نشان دادن به احتمالاً آغاز شده مهم است. با
100
00:05:53,200 –> 00:05:57,820
رابط های کاربری گرافیکی، تقریباً در اوایل دهه 80،
101
00:05:57,820 –> 00:06:01,030
زمانی که افراد خوشگل به سن بلوغ می رسیدند یا اواخر
102
00:06:01,030 –> 00:06:03,940
دهه 70 در دنیای تحقیقات و سپس
103
00:06:03,940 –> 00:06:06,940
کسی متوجه شد که هی نت کارها
104
00:06:06,940 –> 00:06:08,890
دقیقاً به این صورت کار می کنند که چیزها در
105
00:06:08,890 –> 00:06:10,600
خارج اتفاق می افتد، این یک انسان نیست، یک
106
00:06:10,600 –> 00:06:13,419
گره دیگر در شبکه است، اما چیزهایی در حال
107
00:06:13,419 –> 00:06:15,430
رخ دادن هستند و باید به آنها پاسخ داده شود
108
00:06:15,430 –> 00:06:19,540
و این مفهوم برای افرادی است که ذهنشان
109
00:06:19,540 –> 00:06:22,030
به اندازه کافی منحرف است که امیدوارم
110
00:06:22,030 –> 00:06:25,780
بیشتر ما را پوشش دهد. این
111
00:06:25,780 –> 00:06:28,360
مفهوم مفید است که رویدادهای مصنوعی
112
00:06:28,360 –> 00:06:29,740
فقط برای اینکه بتوانید
113
00:06:29,740 –> 00:06:32,890
برنامه شما را به شیوه ای رویداد محور ساختار دهید نیز
114
00:06:32,890 –> 00:06:35,500
معرفی شدند، من این شبه رویدادها را می نامم
115
00:06:35,500 –> 00:06:38,740
و البته اینها مواردی هستند که برای آنها گزینه هایی
116
00:06:38,740 –> 00:06:39,670
117
00:06:39,670 –> 00:06:43,120
وجود دارد که من فقط سعی می کنم نشان دهم.
118
00:06:43,120 –> 00:06:46,090
چرا کسی میخواهد چنین برنامهریزی
119
00:06:46,090 –> 00:06:49,900
کند در چند موقعیت،
120
00:06:49,900 –> 00:06:51,460
اجرای یک callback مهم نیست
121
00:06:51,460 –> 00:06:54,040
که هدف از تماس چیست، من
122
00:06:54,040 –> 00:06:56,350
مدتی را صرف بحث کردم که چرا
123
00:06:56,350 –> 00:06:58,450
میخواهید این کار را انجام دهید چگونه میخواهید
124
00:06:58,450 –> 00:07:01,600
آن را به خوبی انجام دهید. نیاز به داشتن یک
125
00:07:01,600 –> 00:07:04,120
زبان با اشیاء سطح Co که
126
00:07:04,120 –> 00:07:06,940
به استثنای جاوا،
127
00:07:06,940 –> 00:07:08,770
من معتقدم برای هر زبان مدرنی اعمال میشود،
128
00:07:08,770 –> 00:07:11,920
کسی که میگوید
129
00:07:11,920 –> 00:07:14,170
فاقد قابلیت فراخوانی درجه یک است یعنی J. آوا یک
130
00:07:14,170 –> 00:07:17,440
زبان مدرن نیست بلکه یادگاری از
131
00:07:17,440 –> 00:07:21,100
گذشته عمیق است هر زبانی را که می گذرانید
132
00:07:21,100 –> 00:07:23,050
حتی این را ببینید یک
133
00:07:23,050 –> 00:07:24,700
تابع به خاطر مسیح می گذرانید این کار
134
00:07:24,700 –> 00:07:28,150
لازم نیست و و C
135
00:07:28,150 –> 00:07:30,580
توسط مردی بزرگتر از من نوشته شده است. اکنون
136
00:07:30,580 –> 00:07:35,620
واقعاً جدیدترین زبانها نیست که فقط شما
137
00:07:35,620 –> 00:07:38,860
میدهید که یک شی کاسه را به بخشی از چارچوب فراخوانی میکند، به
138
00:07:38,860 –> 00:07:42,610
هر کسی
139
00:07:42,610 –> 00:07:45,060
که آن را به هر کسی که میدهید، بهتر است
140
00:07:45,060 –> 00:07:48,430
آن را در جایی ذخیره کنم، ممکن است
141
00:07:48,430 –> 00:07:51,250
بسیار گذرا باشد، شاید فقط روی یک
142
00:07:51,250 –> 00:07:53,860
متغیر محلی بماند. اگر دامنهای که
143
00:07:53,860 –> 00:07:56,290
باید در آن فراخوانی انجام شود محدود
144
00:07:56,290 –> 00:07:58,240
به اجرای یک تابع است یا در
145
00:07:58,240 –> 00:08:00,850
غیر این صورت آن را در ظرفی قرار میدهد که گفته
146
00:08:00,850 –> 00:08:02,230
میشود یک ویژگی دارد، واقعاً از بیرون برایتان مهم نیست
147
00:08:02,230 –> 00:08:06,340
که چگونه
148
00:08:06,340 –> 00:08:09,430
فریمورک قابلیت فراخوانی شما را حفظ میکند.
149
00:08:09,430 –> 00:08:13,360
فقط مطمئن شوید که این کار را انجام می دهد و سپس اگر
150
00:08:13,360 –> 00:08:16,480
و در مواقعی
151
00:08:16,480 –> 00:08:20,110
در آینده این شیء رنگارنگ
152
00:08:20,110 –> 00:08:23,710
شما سرد می شود، دوباره فراخوانی می شود زیرا شما در
153
00:08:23,710 –> 00:08:25,740
ابتدا نوعی تماس برای
154
00:08:25,740 –> 00:08:28,860
تحویل تماس گیرنده Bo انجام دادید و اکنون می توانید
155
00:08:28,860 –> 00:08:33,460
یا به این دلیل که نیاز به
156
00:08:33,460 –> 00:08:35,620
دانستن چیزی برای سفارشی کردن
157
00:08:35,620 –> 00:08:37,210
عملیات دارد که اولین نوع
158
00:08:37,210 –> 00:08:40,169
انگیزه است یا رویدادهای مناسب رخ می دهد
159
00:08:40,169 –> 00:08:45,130
مانند تغییرات وضعیت اعمال کاربر یا رویدادهای
160
00:08:45,130 –> 00:08:50,710
سیستم کانال شبکه رویداد
161
00:08:50,710 –> 00:08:52,860
که سیستم در شرف آتش گرفتن است
162
00:08:52,860 –> 00:08:55,430
بهتر است کاری انجام دهید. در مورد آن یا
163
00:08:55,430 –> 00:08:58,890
رویدادها را میتوان برای ساختاربندی
164
00:08:58,890 –> 00:09:01,649
ویژگی نقص کنترل ساخت، همچنین ببینید اکنون
165
00:09:01,649 –> 00:09:04,649
سفارشیسازی لزوماً محدود
166
00:09:04,649 –> 00:09:07,380
به خیاطها نیست، ما همچنین میخواهیم آن را
167
00:09:07,380 –> 00:09:10,230
در سیستم نرمافزاری انجام دهیم و بیایید یک
168
00:09:10,230 –> 00:09:14,490
مثال بسیار ساده بگیریم. فهرستی از
169
00:09:14,490 –> 00:09:16,829
چیزهای موجود در این را دارم. احتمالاً
170
00:09:16,829 –> 00:09:20,310
رشتهها میخواهم آنها را مرتب کنم، اما نه فقط
171
00:09:20,310 –> 00:09:23,070
آنها را مرتب کنم که آنها را به
172
00:09:23,070 –> 00:09:25,950
روشی سفارشی
173
00:09:25,950 –> 00:09:28,110
مرتب کنم.
174
00:09:28,110 –> 00:09:33,149
175
00:09:33,149 –> 00:09:39,570
روشی برای
176
00:09:39,570 –> 00:09:43,170
انجام این کار که به نوعی جمع کردم،
177
00:09:43,170 –> 00:09:45,180
متوجه شدم که آن را اختراع نکردهام، بلکه
178
00:09:45,180 –> 00:09:47,370
قبلاً از یک کد مهم استفاده میکردم
179
00:09:47,370 –> 00:09:50,310
و DSU را برای مرتبسازی و
180
00:09:50,310 –> 00:09:53,700
تزیین روند فراخوانی کردم. مانند این است که من یک
181
00:09:53,700 –> 00:09:57,990
چیز کمکی در آنجا می سازم که شامل
182
00:09:57,990 –> 00:10:02,240
اشیاء لیست شاخص آنها می شود و
183
00:10:02,240 –> 00:10:05,250
نوعی تابع کلید برای آنها اعمال می شود
184
00:10:05,250 –> 00:10:09,000
که اول می آید و سپس می توانم از یک
185
00:10:09,000 –> 00:10:12,240
مرتب سازی طبیعی استفاده کنم. انواع واژگانی از
186
00:10:12,240 –> 00:10:15,810
python چیزهایی با کلیدهای مختلف
187
00:10:15,810 –> 00:10:18,720
مرتب شده اند. اگر کلیدها
188
00:10:18,720 –> 00:10:23,160
با هم برابر باشند، شاخصها متفاوت خواهند بود،
189
00:10:23,160 –> 00:10:23,730
190
00:10:23,730 –> 00:10:26,310
توجه داشته باشید که خود شیء
191
00:10:26,310 –> 00:10:28,860
هرگز با هم مقایسه نمیشود، که در واقع
192
00:10:28,860 –> 00:10:32,339
جزییات مهم معنایی
193
00:10:32,339 –> 00:10:36,180
TSU است و سپس من دو مورد بدون تزئین
194
00:10:36,180 –> 00:10:39,560
دارم.
195
00:10:39,560 –> 00:10:42,779
برای جای جای لیست من است،
196
00:10:42,779 –> 00:10:46,589
بنابراین این یک ایده عالی بود، اما
197
00:10:46,589 –> 00:10:48,660
واقعا سخت است که باید به
198
00:10:48,660 –> 00:10:51,899
کدنویسی آن ادامه دهید، بنابراین ریموند هتینگر که
199
00:10:51,899 –> 00:10:54,449
200
00:10:54,449 –> 00:11:00,870
سال گذشته از شنیدن آن لذت بردید، گفت هی من دارم این نوع را کدنویسی می کنم.
201
00:11:00,870 –> 00:11:05,040
چیزهایی که همیشه
202
00:11:05,040 –> 00:11:06,240
خسته کننده
203
00:11:06,240 –> 00:11:08,520
می شوند، من آن را در فضای داخلی آنها
204
00:11:08,520 –> 00:11:12,510
به روش مرتب سازی قرار نمی دهم، اگر در نهایت تنها
205
00:11:12,510 –> 00:11:15,290
چیزی که بین یک
206
00:11:15,290 –> 00:11:18,360
مرتب سازی تخصصی و دیگری تغییر می کند این باشد که
207
00:11:18,360 –> 00:11:21,420
عملکرد چه کاری انجام می دهد. من تماس میگیرم تا کلید مرتبسازی
208
00:11:21,420 –> 00:11:24,330
را از اشیا خارج کنم، بنابراین اجازه دهید فقط
209
00:11:24,330 –> 00:11:27,630
کلید مرتبسازی را پاس کنم، در این مورد، من
210
00:11:27,630 –> 00:11:31,950
از دو روش بالای کلاس شی استفاده میکنم
211
00:11:31,950 –> 00:11:36,300
، نوع STR، زیرا بهتر است
212
00:11:36,300 –> 00:11:39,630
همه آنها رشتهای باشند، اگر کار نمیکند من
213
00:11:39,630 –> 00:11:42,060
تعدادی چیزهای یونیکد در آنجا داشتم و در آنجا
214
00:11:42,060 –> 00:11:46,290
یک داستان وجود دارد، اما تا زمانی که
215
00:11:46,290 –> 00:11:48,570
همه آنها رشته های بایتی در پایتون 2 هستند،
216
00:11:48,570 –> 00:11:52,560
چیزی شبیه به این است و با انجام تمام
217
00:11:52,560 –> 00:11:55,620
این موارد داخلی در جایی که
218
00:11:55,620 –> 00:11:58,500
باید انجام شوند، اکیداً به
219
00:11:58,500 –> 00:12:01,170
هر پایتون ista با استفاده از آن توصیه می کنم. پس زمینه C مناسب
220
00:12:01,170 –> 00:12:04,200
برای مطالعه آنها در پایتون C داخلی بنابراین
221
00:12:04,200 –> 00:12:08,640
آنها بسیار جالب هستند اما
222
00:12:08,640 –> 00:12:11,190
اساساً همه این کارها را در داخل انجام می دهد
223
00:12:11,190 –> 00:12:14,459
و بنابراین می تواند بسیار سریعتر باشد
224
00:12:14,459 –> 00:12:17,010
و همچنین تمام
225
00:12:17,010 –> 00:12:19,170
جزئیات پیاده سازی را انتزاعی کند،
226
00:12:19,170 –> 00:12:20,670
به عنوان مثال تضمین می کند که خود اشیا
227
00:12:20,670 –> 00:12:23,310
هرگز مستقیماً مقایسه نمیشود، بنابراین
228
00:12:23,310 –> 00:12:25,800
میتوانید با یک کلید مناسب برای
229
00:12:25,800 –> 00:12:28,589
گفتن فهرستی از اعداد مختلط که هرگز نمیتوانید آنها را
230
00:12:28,589 –> 00:12:31,140
با اعداد مختلط
231
00:12:31,140 –> 00:12:32,910
بزرگتر از کمتر از آن مقایسه کنید، استفاده کنید و این
232
00:12:32,910 –> 00:12:36,480
یک استثنا ایجاد میکند، اما با اگر از
233
00:12:36,480 –> 00:12:40,800
برنامهها برای مثال استفاده میکنید تا اشیا
234
00:12:40,800 –> 00:12:46,730
به ترتیب قدر مطلق مرتب
235
00:12:46,730 –> 00:12:49,339
شوند، کاملاً خوب
236
00:12:49,339 –> 00:12:52,290
خواهید بود، همچنین از مزیت
237
00:12:52,290 –> 00:12:55,440
انتزاعی برخوردار میشوید که در
238
00:12:55,440 –> 00:12:57,930
هنگام استفاده در سطح بالاتری از انتزاع کار میکنید.
239
00:12:57,930 –> 00:13:00,630
پس از سفارشیسازی تماس برگشتی،
240
00:13:00,630 –> 00:13:05,370
زمانی که به
241
00:13:05,370 –> 00:13:08,370
طرز خستهکنندهای مثل همیشه در پایتون کدنویسی
242
00:13:08,370 –> 00:13:11,550
میکنید، انتزاع بالاتری را که فکر میکنید و هر چه
243
00:13:11,550 –> 00:13:15,390
سریعتر انجام میدهید، دقیقاً
244
00:13:15,390 –> 00:13:16,920
برعکس آن چیزی است که با بیشتر
245
00:13:16,920 –> 00:13:18,750
زبانها که
246
00:13:18,750 –> 00:13:21,420
Thunder Stepanov به آن انسداد میگویند.
247
00:13:21,420 –> 00:13:25,110
جریمه چقدر برای من هزینه
248
00:13:25,110 –> 00:13:27,660
دارد چقدر سرعت استفاده از
249
00:13:27,660 –> 00:13:32,430
انتزاع در پایتون را کاهش می دهد معمولاً
250
00:13:32,430 –> 00:13:34,560
جریمه انسداد یک
251
00:13:34,560 –> 00:13:38,130
حق بیمه انسداد است که شما در واقع به
252
00:13:38,130 –> 00:13:41,190
دلیل مختصرتر بودن سطح بالاتر و انتزاعی تر بودن پاداش دریافت می کنید
253
00:13:41,190 –> 00:13:44,340
و این مثال DSU یک مثال
254
00:13:44,340 –> 00:13:48,570
عالی است. حالا من به نوعی در
255
00:13:48,570 –> 00:13:51,480
عبور به یک مشکل کوچک اشاره کردم اگر
256
00:13:51,480 –> 00:13:54,060
به جای انتقال تابع کلید، مقایسه را مستقیم انجام
257
00:13:54,060 –> 00:13:57,390
می دادم،
258
00:13:57,390 –> 00:14:01,200
a و B خواهم داشت و می گفتم a به upp. اگر
259
00:14:01,200 –> 00:14:03,870
فراخوانیهای کمتر از B را به فراخوانهای باز بالا باز میکنم
260
00:14:03,870 –> 00:14:05,910
، من متد را برای ارائه بر
261
00:14:05,910 –> 00:14:09,900
روی اشیاء a و B فراخوانی میکنم، به این ترتیب، من
262
00:14:09,900 –> 00:14:11,940
واقعاً متد را روی اشیاء فراخوانی
263
00:14:11,940 –> 00:14:15,870
نمیکنم که باید مقداری قابل فراخوانی را روی هر
264
00:14:15,870 –> 00:14:18,870
شیء فراخوانی کنم. بهتر است یک فراخوانی داشته باشید
265
00:14:18,870 –> 00:14:21,600
که بتوان برای هر شیء اعمال کرد، بنابراین
266
00:14:21,600 –> 00:14:24,420
من به نوعی
267
00:14:24,420 –> 00:14:27,770
لایه انتزاعی برنامه نویسی شی گرا را
268
00:14:27,770 –> 00:14:31,350
269
00:14:31,350 –> 00:14:34,050
270
00:14:34,050 –> 00:14:36,690
271
00:14:36,690 –> 00:14:40,500
می شکنم. خوب خواهد بود و
272
00:14:40,500 –> 00:14:43,589
انتزاع برنامه نویسی شی گرا را خیلی بد نمی کند،
273
00:14:43,589 –> 00:14:47,520
اما گاهی اوقات شما واقعاً
274
00:14:47,520 –> 00:14:51,030
نیاز دارید که ویژگی ها یا روش فراخوانی را به
275
00:14:51,030 –> 00:14:53,850
روش شی گرا دریافت کنید، چگونه این کار را
276
00:14:53,850 –> 00:14:57,420
انجام می دهید، سپس معمولاً
277
00:14:57,420 –> 00:15:02,750
278
00:15:02,750 –> 00:15:08,700
ماژول کتابخانه استاندارد اپراتور import را 2 ساعت شروع می کنید. Revan Hettinger
279
00:15:08,700 –> 00:15:10,050
ممکن است قبلاً با نامی آشنا باشید که
280
00:15:10,050 –> 00:15:13,380
اضافه شده است چند ترفند مفید
281
00:15:13,380 –> 00:15:15,540
اپراتور برای همیشه وجود داشته است اما معمولاً
282
00:15:15,540 –> 00:15:17,970
به مواردی قابل فراخوانی خلاصه می شود مانند
283
00:15:17,970 –> 00:15:20,010
ضرب جمع که
284
00:15:20,010 –> 00:15:24,320
عملگرهای r را می شناسید. آیموند بعد از دریافتکننده تحویل داده شد
285
00:15:24,320 –> 00:15:27,240
و فکر نمیکنم این او بود، اما
286
00:15:27,240 –> 00:15:29,970
شخصی در همین راستا یقهای را اضافه کرد،
287
00:15:29,970 –> 00:15:31,860
بنابراین
288
00:15:31,860 –> 00:15:34,350
نام یک ویژگی
289
00:15:34,350 –> 00:15:37,620
را به آن میدهید و یک رنگ را به شما پس میدهد تا به صورت پویا رنگی را
290
00:15:37,620 –> 00:15:40,200
ساخته و برگرداند.
291
00:15:40,200 –> 00:15:46,970
292
00:15:46,970 –> 00:15:51,630
مستقیماً آن ویژگی یا ویژگی را
293
00:15:51,630 –> 00:15:56,100
از اشیاء فراخوانی کنید، بنابراین اگر اشیاء شما دارای یک
294
00:15:56,100 –> 00:15:58,709
ویژگی K هستند که کلیدی است که
295
00:15:58,709 –> 00:16:01,620
می خواهید آنها را بر اساس آن مرتب شوند، این
296
00:16:01,620 –> 00:16:03,660
کار را انجام می دهید، من قبلاً به
297
00:16:03,660 –> 00:16:06,450
امکان استخراج از کلاسی اشاره
298
00:16:06,450 –> 00:16:09,750
کردم که همه به آن روزی که همه اشیاء باید
299
00:16:09,750 –> 00:16:12,630
متعلق به یک متد بدون آرگومان باشند
300
00:16:12,630 –> 00:16:15,089
که ممکن است کمی محدود کننده باشد، شاید
301
00:16:15,089 –> 00:16:18,089
بخواهید برخی از آرگومان ها را به خوبی پاس کنید، سپس
302
00:16:18,089 –> 00:16:21,930
می توانید از روش متد رنگ استفاده کنید توجه داشته باشید
303
00:16:21,930 –> 00:16:27,540
که این در برخی از محیط ها به
304
00:16:27,540 –> 00:16:31,560
عنوان برنامه نویسی مرتبه بالاتر شناخته می شود، بنابراین آن را
305
00:16:31,560 –> 00:16:34,170
به عنوان یک روش در نظر بگیرید. وقتی تابعی را فراخوانی میکنید
306
00:16:34,170 –> 00:16:37,019
که تابع دیگری را
307
00:16:37,019 –> 00:16:39,510
در برخی از زبانها برمیگرداند که به آن
308
00:16:39,510 –> 00:16:42,449
برنامهنویسی مرتبه بالاتر در پایتون گفته میشود.
309
00:16:42,449 –> 00:16:45,839
310
00:16:45,839 –> 00:16:48,930
رنگ d نام متد
311
00:16:48,930 –> 00:16:52,769
و مجموعه دلخواه موقعیت و
312
00:16:52,769 –> 00:16:55,500
آرگومان کلیدواژه را می گیرد و این متد را استخراج می کند
313
00:16:55,500 –> 00:16:57,810
و با این آرگومان
314
00:16:57,810 –> 00:17:00,959
از هر شیء فراخوانی می کند تا کلید مرتب سازی را به دست آورد
315
00:17:00,959 –> 00:17:06,089
البته من معمولاً در این
316
00:17:06,089 –> 00:17:07,410
نقطه رد می کنم اما می
317
00:17:07,410 –> 00:17:09,119
توانستم یک لامبدا بنویسم. برای انجام این کار به
318
00:17:09,119 –> 00:17:13,049
خوبی میتوانستید، اما مجبور نیستید
319
00:17:13,049 –> 00:17:16,619
و وقتی میتوانید از لامبدا اجتناب کنید،
320
00:17:16,619 –> 00:17:20,099
معمولاً خیلی خوشحالتر خواهید بود.
321
00:17:20,099 –> 00:17:25,140
322
00:17:25,140 –> 00:17:29,510
323
00:17:29,510 –> 00:17:32,429
324
00:17:32,429 –> 00:17:34,950
برای انجام این کار در مقابل انجام آن، نانوثانیه طول میکشد و
325
00:17:34,950 –> 00:17:38,309
متوجه میشوید که اجتناب از
326
00:17:38,309 –> 00:17:39,750
برنامهنویسی لامبدا در سطح بالاتری از
327
00:17:39,750 –> 00:17:42,400
انتزاع به شما پاداش میدهد
328
00:17:42,400 –> 00:17:46,300
که اکنون عملکرد بهتری داشته باشید تا ببینید آیا
329
00:17:46,300 –> 00:17:49,150
کسی آنچه را که
330
00:17:49,150 –> 00:17:52,350
در همه این رویکردها و این رویکرد
331
00:17:52,350 –> 00:17:56,500
من مشترک است دنبال میکند یا خیر. نمیتوانستم یک ثانیه صبر کنم،
332
00:17:56,500 –> 00:18:02,260
آنها میبینند رویکرد
333
00:18:02,260 –> 00:18:05,800
متفاوت است، یادم میآید مرتبسازی را انجام میدهم ببینم
334
00:18:05,800 –> 00:18:08,350
، تابعی را هم پاس میکنم، اما یک
335
00:18:08,350 –> 00:18:10,230
تابع را که با دو آرگومان فراخوانی میشود
336
00:18:10,230 –> 00:18:15,250
و master منهای را برمیگرداند. 1 0
337
00:18:15,250 –> 00:18:17,500
یا 1 + بسته به اینکه آیا آنها باید
338
00:18:17,500 –> 00:18:19,930
برابر در نظر گرفته شوند یا یک کمتر است یکی
339
00:18:19,930 –> 00:18:24,240
بیشتر است این
340
00:18:24,240 –> 00:18:28,180
مفهوم استخراج
341
00:18:28,180 –> 00:18:30,280
کلید
342
00:18:30,280 –> 00:18:35,880
انتزاعی کلیدی توسط من چیست.
343
00:18:35,880 –> 00:18:38,560
با الهام از زبان C در بسیاری از
344
00:18:38,560 –> 00:18:40,810
سطوح، آنها از نظر فلسفی زبانهای بسیار نزدیک هستند
345
00:18:40,810 –> 00:18:44,880
، همچنین به عنوان یک استدلال اختیاری CMP
346
00:18:44,880 –> 00:18:47,770
که به شما امکان میدهد یک فراخوانی را ارسال کنید
347
00:18:47,770 –> 00:18:50,530
که مقایسه را درست
348
00:18:50,530 –> 00:18:54,040
مانند C انجام میدهد، چرا میخواهید از یک
349
00:18:54,040 –> 00:18:59,170
رویکرد کلیدی در مقابل رویکرد پاس مانند C استفاده کنید.
350
00:18:59,170 –> 00:19:05,610
در مقایسه، پاسخ
351
00:19:05,610 –> 00:19:12,330
می تواند یک حرف بزرگ
352
00:19:16,530 –> 00:19:19,780
باشد و بنابراین یک
353
00:19:19,780 –> 00:19:22,810
حرف بزرگ که توضیح می دهد که چرا می
354
00:19:22,810 –> 00:19:27,370
خواهید این کار را با کلید Big OI انجام دهید، امیدواریم که
355
00:19:27,370 –> 00:19:29,080
برای این مرد که آن را دقیقاً به تعداد مقایسه کرده است، کمی شانه بالا انداخته باشیم.
356
00:19:29,080 –> 00:19:31,990
357
00:19:31,990 –> 00:19:35,320
شما انجام می دهید بزرگ خواهد بود O n log
358
00:19:35,320 –> 00:19:38,980
n تعداد مقایسه ای که انجام
359
00:19:38,980 –> 00:19:42,040
می دهید بیشتر از خطی رشد می کند نه اینکه
360
00:19:42,040 –> 00:19:44,710
عملکرد log n بسیار بیشتر است اما
361
00:19:44,710 –> 00:19:47,860
همچنان در این راه تنها کاری که باید انجام دهید این
362
00:19:47,860 –> 00:19:51,880
است که go of n در واقع دقیقاً n است که
363
00:19:51,880 –> 00:19:55,810
باید کلیدها را یک بار در هر شیء استخراج کنید،
364
00:19:55,810 –> 00:19:58,480
بنابراین برای یک شیء n بار، بنابراین مطمئناً
365
00:19:58,480 –> 00:20:02,230
سریعتر می شوید، مخصوصاً اگر همانطور که
366
00:20:02,230 –> 00:20:05,680
آقا دیگری گفته است که استخراج کلید پرهزینه است
367
00:20:05,680 –> 00:20:09,010
برای استخراج این سیستم در این مورد می توانید به
368
00:20:09,010 –> 00:20:11,830
صراحت cache کنید. محاسبات کلید
369
00:20:11,830 –> 00:20:16,930
برای شما اما آرگومان کلید برابر
370
00:20:16,930 –> 00:20:20,560
این کار را انجام می دهد، بنابراین از
371
00:20:20,560 –> 00:20:23,160
همکاری شما متشکرم و
372
00:20:23,160 –> 00:20:28,450
موفقیت مرتبه اول، همچنین کلید برابر
373
00:20:28,450 –> 00:20:30,940
نه تنها برای مرتب سازی است، آنقدر مفید
374
00:20:30,940 –> 00:20:34,060
است که تقریباً در همه جا به حداکثر معنی تعمیم داده شد.
375
00:20:34,060 –> 00:20:37,540
اگر واقعاً در تمام سفارشیسازیها فقط برای مرتبسازی عمیقتر هستید، واقعاً
376
00:20:37,540 –> 00:20:43,170
میخواهم از تغییر کلید بهجای «
377
00:20:43,170 –> 00:20:48,120
خوب» استفاده کنید،
378
00:20:48,120 –> 00:20:50,500
اما در
379
00:20:50,500 –> 00:20:53,410
یک مورد کلیتر، او خودرو
380
00:20:53,410 –> 00:20:57,700
را با الگوی طراحی تا حدی سفت و سخت
381
00:20:57,700 –> 00:21:02,230
که به عنوان روش
382
00:21:02,230 –> 00:21:04,060
الگو، الگوی طراحی روش الگو شناخته میشود، انجام داده است. در
383
00:21:04,060 –> 00:21:07,660
جایی توضیح داده شده است شاید با
384
00:21:07,660 –> 00:21:10,840
کمی اشتیاق بیش از حد به عنوان
385
00:21:10,840 –> 00:21:14,970
روح شی گرایی من یک
386
00:21:14,970 –> 00:21:23,140
ارائه طولانی در این URL دارم پیشنهاد می
387
00:21:23,140 –> 00:21:26,560
کنم PDF و URL را دریافت کنید برخی از
388
00:21:26,560 –> 00:21:28,200
صفحه اول و آخر و
389
00:21:28,200 –> 00:21:30,090
بر خلاف اینکه سعی کنید این صفحه را بنویسید
390
00:21:30,090 –> 00:21:33,539
و سپس آن را در اسلاید 49 و
391
00:21:33,539 –> 00:21:35,940
بعد دنبال کنید زیرا ارائه ای است در مورد
392
00:21:35,940 –> 00:21:39,029
انواع الگوهای طراحی کلاسیک همانطور
393
00:21:39,029 –> 00:21:42,269
که رخ می دهند و در پایتون اعمال
394
00:21:42,269 –> 00:21:45,929
می شوند تا حدودی سفت و سخت است و من همچنین
395
00:21:45,929 –> 00:21:49,019
انواع گزینههای انعطافپذیرتر را پیشنهاد میکند،
396
00:21:49,019 –> 00:21:53,399
اما نکته کلی این است که در
397
00:21:53,399 –> 00:21:57,659
کلاس والد کلاس انتزاعی،
398
00:21:57,659 –> 00:22:01,230
خود را روش hook مینامید و سپس
399
00:22:01,230 –> 00:22:03,750
کلاسهای فرزند، متد hook را پیادهسازی میکنند
400
00:22:03,750 –> 00:22:06,330
، این واضح نیست، اما همیشه یک
401
00:22:06,330 –> 00:22:08,880
مورد بازگشت به تماس نیز وجود دارد. بدیهی است
402
00:22:08,880 –> 00:22:10,880
زیرا شما دوست ندارید به
403
00:22:10,880 –> 00:22:13,919
طور واضح توپ رنگی را تحویل دهید، اما
404
00:22:13,919 –> 00:22:16,679
توپ رنگی را با نادیده
405
00:22:16,679 –> 00:22:20,970
گرفتن متد برخی از hoc در کلاس فرزند بتن ایجاد می کنید
406
00:22:20,970 –> 00:22:26,519
و اینگونه است که
407
00:22:26,519 –> 00:22:30,600
اشیا روش را پیدا
408
00:22:30,600 –> 00:22:34,710
می کنند.
409
00:22:34,710 –> 00:22:37,500
نمونه دیگری از سفارشیسازی را دریافت کنید
410
00:22:37,500 –> 00:22:40,440
که متأسفانه در
411
00:22:40,440 –> 00:22:42,539
کتابخانه استاندارد پایتون وجود ندارد، اما هنوز
412
00:22:42,539 –> 00:22:45,649
فکر میکنم بین زمانبندی طراحی بسیار خوب است
413
00:22:45,649 –> 00:22:49,139
که میخواهم بتوانم آن را انجام دهم.
414
00:22:49,139 –> 00:22:54,630
یک سری از رویدادها را برنامهریزی کنید، رویدادهایی که من
415
00:22:54,630 –> 00:22:56,909
برنامهریزی میکنم البته در
416
00:22:56,909 –> 00:22:59,309
فراخوانهای مشخصی به متد من خواهند بود، بنابراین
417
00:22:59,309 –> 00:23:02,700
مانند سطح
418
00:23:02,700 –> 00:23:03,620
رویداد مبتنی بر معنایی معمولی
419
00:23:03,620 –> 00:23:05,970
از تماسهای برگشتی نیز وجود دارد، اما فراموش کنید که برای
420
00:23:05,970 –> 00:23:10,679
لحظهای نکته این است که من میخواهم این باشد.
421
00:23:10,679 –> 00:23:13,830
پنج دقیقه دیگر تماس گرفت یا می
422
00:23:13,830 –> 00:23:16,830
خواهم دقیقاً ساعت 9 شب با آن تماس بگیرم و غیره
423
00:23:16,830 –> 00:23:19,909
و غیره چگونه اگر به این فکر کنید
424
00:23:19,909 –> 00:23:22,169
که چگونه میخواهید این را به خوبی پیادهسازی
425
00:23:22,169 –> 00:23:23,760
کنید، یک صف از چیزها نگه
426
00:23:23,760 –> 00:23:28,610
میدارید و به دو ویژگی اصلی نیاز خواهید
427
00:23:28,610 –> 00:23:31,470
داشت تا بگویید
428
00:23:31,470 –> 00:23:34,320
الان ساعت چند است و مقداری زمان برای
429
00:23:34,320 –> 00:23:38,549
گفتن خواب تا زمان اولین
430
00:23:38,549 –> 00:23:41,200
رویداد برنامه ریزی شده رخ داده است، بنابراین شما
431
00:23:41,200 –> 00:23:44,110
فقط در یک حلقه محکم به اطراف بچرخید و بپرسید
432
00:23:44,110 –> 00:23:45,789
آیا ما آنجا هستیم، هنوز
433
00:23:45,789 –> 00:23:48,039
آنجا هستیم، هنوز آنجا هستیم، اما مشتاقانه منتظرم تجربه خود
434
00:23:48,039 –> 00:23:49,840
را با فرزندانم مانند هر زمان دیگری داشتم.
435
00:23:49,840 –> 00:23:51,460
پدر و مادر من مشتاقانه منتظر آن هستم که
436
00:23:51,460 –> 00:23:56,470
وقتی نوه دو ماهه من
437
00:23:56,470 –> 00:23:59,590
به اندازه کافی بزرگ شود که صحبت کند و
438
00:23:59,590 –> 00:24:08,080
در اطراف
439
00:24:08,080 –> 00:24:13,120
آنها رانده شود، می خواهم آن را دوباره در
440
00:24:13,120 –> 00:24:18,159
441
00:24:18,159 –> 00:24:20,769
نظر بگیرم. زمان است و
442
00:24:20,769 –> 00:24:24,250
زمان خواب، زمان خواب است که منتظر بمانم
443
00:24:24,250 –> 00:24:28,899
و برای مدت زمان معینی، بنابراین
444
00:24:28,899 –> 00:24:33,750
می توانم به عنوان یک شی زمانبندی به
445
00:24:33,750 –> 00:24:36,279
جز ماژول،
446
00:24:36,279 –> 00:24:38,500
اشیاء مدولار را مانند هر چیز دیگری به عنوان آرگومان داشته باشم و
447
00:24:38,500 –> 00:24:45,460
فقط آن را زمان و توابع خواب یا
448
00:24:45,460 –> 00:24:49,000
متدها صدا بزنم. من از نظر نحو واقعاً هیچ
449
00:24:49,000 –> 00:24:51,309
تفاوت عمیقی وجود ندارد، بنابراین
450
00:24:51,309 –> 00:24:53,769
اگر
451
00:24:53,769 –> 00:24:57,519
بیشتر بر برنامهنویسی عملکردی تمرکز کنید
452
00:24:57,519 –> 00:25:01,389
تا برنامهنویسی شی گرا، از برنامه زمانی استفاده میکنیم که در
453
00:25:01,389 –> 00:25:03,519
نهایت به معماری موجود در
454
00:25:03,519 –> 00:25:05,799
کتابخانه استاندارد پایتون که جداگانه پاس میکنید، خواهید رسید.
455
00:25:05,799 –> 00:25:08,799
آنها تابع زمان و
456
00:25:08,799 –> 00:25:12,130
آنها سه تابع زمان می کنند به طوری
457
00:25:12,130 –> 00:25:15,130
که شما معمولاً باید دست به
458
00:25:15,130 –> 00:25:17,740
دست هم دهید که چگونه می گویید ساعت چند است و
459
00:25:17,740 –> 00:25:20,980
چگونه صبر می کنید تا یا برای یک
460
00:25:20,980 –> 00:25:24,220
زمان خاص بهتر است با
461
00:25:24,220 –> 00:25:25,929
یکدیگر هماهنگ شوند که این استدلال است. برای
462
00:25:25,929 –> 00:25:27,610
داشتن آنها به عنوان روش یک شی منفرد
463
00:25:27,610 –> 00:25:30,610
، از طرف دیگر مزایای عبور
464
00:25:30,610 –> 00:25:33,549
جداگانه آنها، شما نیازی به
465
00:25:33,549 –> 00:25:36,970
نامگذاری آنها به عنوان آسیب زمانی ندارید، به عنوان مثال می توانید
466
00:25:36,970 –> 00:25:39,190
آنها را هر چیزی نام ببرید اما این در
467
00:25:39,190 –> 00:25:41,950
زمینه شما واضح تر است زیرا زمانبندی
468
00:25:41,950 –> 00:25:43,899
آنها را به صورت رنگ دریافت می کند. blob نشان می
469
00:25:43,899 –> 00:25:45,730
دهد که مهم نیست نام آنها چیست، فقط
470
00:25:45,730 –> 00:25:49,649
آنها را صدا می کند، آنها را در داخل نگه می دارد و
471
00:25:49,649 –> 00:25:54,250
عامل دیگری که می توانید به
472
00:25:54,250 –> 00:25:58,539
طور پیش فرض برای آنها ارائه دهید اگر می خواهید به
473
00:25:58,539 –> 00:26:01,929
کاربر خود اجازه سفارشی سازی کنید. شما
474
00:26:01,929 –> 00:26:04,919
تماس برگشتی را خریداری میکنید اما نیازی به انجام آن ندارید، بنابراین
475
00:26:04,919 –> 00:26:08,980
میتوانید عملکرد پیشفرض
476
00:26:08,980 –> 00:26:12,039
را در زمانهای خواب به صورت پیشفرض داشته باشید، مگر اینکه
477
00:26:12,039 –> 00:26:14,529
صراحتاً با مقادیر دیگری
478
00:26:14,529 –> 00:26:18,070
که به طور کلی راحتی در عمل
479
00:26:18,070 –> 00:26:19,179
چیز بدی نیست
480
00:26:19,179 –> 00:26:22,809
، طراحان
481
00:26:22,809 –> 00:26:26,080
اصلی ماژول زمانبندی تصمیم گرفت
482
00:26:26,080 –> 00:26:29,080
که هیچ پیش فرضی نداشته باشد، بنابراین کاربر باید
483
00:26:29,080 –> 00:26:32,950
بخواهد، به صراحت از
484
00:26:32,950 –> 00:26:35,320
نیاز به تعیین آنهایی آگاه است که هر دو
485
00:26:35,320 –> 00:26:37,480
گزینه های معتبر در زمینه های مختلف هستند و
486
00:26:37,480 –> 00:26:40,139
نمی خواهند روی آن تلفظ کنند، آنها
487
00:26:40,139 –> 00:26:43,059
شی گرا در مورد تکامل
488
00:26:43,059 –> 00:26:45,669
این هستند. الگوی طراحی تزریق وابستگی
489
00:26:45,669 –> 00:26:50,409
که قبلاً به شما
490
00:26:50,409 –> 00:26:52,870
نشانی اینترنتی پوشش الگوی طراحی کلی خود را دادهام
491
00:26:52,870 –> 00:26:54,730
، متأسفانه
492
00:26:54,730 –> 00:26:57,220
باید URL را در اینجا قرار میدادم، اما فکر
493
00:26:57,220 –> 00:26:58,360
میکنم اگر به دنبال تزریق وابستگی الکس و مرگ و میر بگردید،
494
00:26:58,360 –> 00:27:01,029
صحبتهای من را به
495
00:27:01,029 –> 00:27:04,149
طور خاص در مورد به طور عمیق
496
00:27:04,149 –> 00:27:06,370
در زیر تزریق وابستگی بررسی
497
00:27:06,370 –> 00:27:10,240
کنید که چگونه در پایتون استفاده می شود و چرا همچنین
498
00:27:10,240 –> 00:27:13,570
به یک معنا بیشتر از بازگشت
499
00:27:13,570 –> 00:27:16,690
به تماس خلاصه می شود، اگرچه می توانید
500
00:27:16,690 –> 00:27:19,269
هیچ شیء قابل فراخوانی ندهید، اما بیشتر با شما
501
00:27:19,269 –> 00:27:22,840
تماس گرفته میشود، مانند کارخانهها، بنابراین
502
00:27:22,840 –> 00:27:27,850
این قسمتی است که من تماسهای تماس را
503
00:27:27,850 –> 00:27:29,559
برای سفارشیسازی پوشش
504
00:27:29,559 –> 00:27:31,809
میدهم، امیدوارم واضح باشد که چرا آنها
505
00:27:31,809 –> 00:27:35,289
انعطافپذیرتر هستند، همانطور که در برخی موارد ادعا میکنند،
506
00:27:35,289 –> 00:27:39,490
شما احتمالاً نمیتوانید فقط آن را مشخص کنید.
507
00:27:39,490 –> 00:27:41,409
همه چیز را یکبار برای همیشه نه با قابلیت
508
00:27:41,409 –> 00:27:43,600
فراخوانی، بلکه با مقادیری مانند اینجا می
509
00:27:43,600 –> 00:27:46,600
توانید بگویید خوب است و ساعت 5
510
00:27:46,600 –> 00:27:50,019
بعد از ظهر است خوب و چگونه می توانم آن زمانی را
511
00:27:50,019 –> 00:27:52,419
که شما با من تماس گرفتید و اکنون گذشته است،
512
00:27:52,419 –> 00:27:55,769
چگونه می توانم بدانم ساعت چند است اکنون من
513
00:27:55,769 –> 00:27:59,919
مشخصاً انجام دادم که به
514
00:27:59,919 –> 00:28:02,950
طور مداوم در حال پیشرفت است و همچنین آنها آنچه که ممکن است
515
00:28:02,950 –> 00:28:05,919
لازم باشد برخی از پارامترها را بدانند اما
516
00:28:05,919 –> 00:28:06,830
برخی از اقدامات مانند
517
00:28:06,830 –> 00:28:10,549
خواب را انجام دهند. برای اینکه بخوابم باید کاری انجام
518
00:28:10,549 –> 00:28:13,580
دهم که منتظر
519
00:28:13,580 –> 00:28:16,909
زمان مناسب بعدی باشد، اما حتی اگر تمام کاری
520
00:28:16,909 –> 00:28:22,429
که آنها انجام می دهند فقط یک
521
00:28:22,429 –> 00:28:24,500
مقدار را برگرداند، می تواند مقدار متفاوتی را در
522
00:28:24,500 –> 00:28:25,970
زمان های مختلف برگرداند، مانند مورد سفارشی سازی مرتب
523
00:28:25,970 –> 00:28:28,309
سازی، بدیهی است که فقط اینطور نیست.
524
00:28:28,309 –> 00:28:30,559
23 را
525
00:28:30,559 –> 00:28:33,049
برمیگردانید که مرتبسازی بسیار مفیدی ایجاد نمیکند اگر هر
526
00:28:33,049 –> 00:28:36,260
شیء دارای یک کلید 23 باشد، در نهایت
527
00:28:36,260 –> 00:28:39,320
چیزی را مرتب نمیکنید، شی
528
00:28:39,320 –> 00:28:41,480
که مقدار تولید شده باید به شی بستگی داشته باشد
529
00:28:41,480 –> 00:28:43,240
، بنابراین انعطافپذیری
530
00:28:43,240 –> 00:28:46,100
پاسخ به تماس برای سفارشیسازی کاملاً است.
531
00:28:46,100 –> 00:28:50,600
هر سوالی در مورد این قسمت بسیار مهم است
532
00:28:50,600 –> 00:28:53,659
یا ما می توانیم صبر کنیم و
533
00:28:53,659 –> 00:28:56,269
در پایان همه سؤالات را داشته باشیم، اما من
534
00:28:56,269 –> 00:28:58,220
اکنون به سمت رویدادهایی می روم که یک چیز
535
00:28:58,220 –> 00:29:01,010
نسبتاً متمایز برای قسمت دوم هستند.
536
00:29:01,010 –> 00:29:06,919
پس خوب است، آیا
537
00:29:06,919 –> 00:29:13,940
کسی این نوع نمودارها را تشخیص می دهد، خوب است، بنابراین
538
00:29:13,940 –> 00:29:20,600
همانطور که من مدام می گویم، اما تکرار به
539
00:29:20,600 –> 00:29:23,240
این دلیل نیست که من
540
00:29:23,240 –> 00:29:25,250
با داشتن یک نوه پیر شده ام
541
00:29:25,250 –> 00:29:29,000
و سرگردان می شوم و قبل از آن ها سرگردان هستم، اما این
542
00:29:29,000 –> 00:29:31,220
یک اصل مهم است که یک الگوی طراحی
543
00:29:31,220 –> 00:29:36,730
در آن وجود دارد. در نوشتن مقاله یا سخنرانی
544
00:29:36,730 –> 00:29:39,380
به آنها بگویید که به آنها چه خواهید گفت، سپس
545
00:29:39,380 –> 00:29:41,000
به آنها بگویید و سپس به آنها بگویید آنچه
546
00:29:41,000 –> 00:29:43,880
به آنها گفته اید این روشی است که مردم در واقع
547
00:29:43,880 –> 00:29:47,450
اطلاعات را بهتر حفظ می کنند بنابراین من سعی
548
00:29:47,450 –> 00:29:52,220
می کنم با استفاده از این الگو موارد
549
00:29:52,220 –> 00:29:54,679
واقعی رویدادها را اعمال کنم. در واقع در
550
00:29:54,679 –> 00:29:58,669
جایی خارج
551
00:29:58,669 –> 00:30:03,740
از محدوده یا در محدوده اختیارات کاربر
552
00:30:03,740 –> 00:30:09,620
553
00:30:09,620 –> 00:30:13,130
554
00:30:13,130 –> 00:30:16,970
555
00:30:16,970 –> 00:30:20,750
556
00:30:20,750 –> 00:30:24,380
سیستم اتفاق می افتد. پاسخ دهید،
557
00:30:24,380 –> 00:30:27,470
در این صورت چیزهای بیشتری در داخل سیستم وجود دارد،
558
00:30:27,470 –> 00:30:29,840
مانند الگوی طراحی قابل مشاهده ناظر،
559
00:30:29,840 –> 00:30:32,200
یک شی در حال انجام کارهایی است که
560
00:30:32,200 –> 00:30:35,240
یک شی دیگر می خواهد به برخی
561
00:30:35,240 –> 00:30:37,820
از چیزهایی که یک شی سابق پاسخ دهد. ct این کار را انجام می
562
00:30:37,820 –> 00:30:40,669
دهد مشاهده قابل مشاهده شیئی است که
563
00:30:40,669 –> 00:30:43,039
کارها را انجام می دهد و ناظر کسی است که
564
00:30:43,039 –> 00:30:45,049
باید پاسخ دهد و سپس یک
565
00:30:45,049 –> 00:30:48,650
IO زرد رنگ وجود دارد که من همیشه
566
00:30:48,650 –> 00:30:52,820
آن را مانند دستور do مدل می کنم و فقط منتظر می مانم
567
00:30:52,820 –> 00:30:56,240
تا انجام شود اما بسته به اینکه چه کسی
568
00:30:56,240 –> 00:30:58,490
پاسخ می دهد. انتظار ممکن است بسیار طولانی باشد
569
00:30:58,490 –> 00:31:01,760
و لزوماً نمی خواهید
570
00:31:01,760 –> 00:31:03,950
آن را به این روش همزمان برنامه ریزی کنید،
571
00:31:03,950 –> 00:31:06,020
معمولاً مانند شما در حال خواندن
572
00:31:06,020 –> 00:31:10,730
فایلی هستید که می گویید X برابر است با من نقطه
573
00:31:10,730 –> 00:31:13,669
خواندن باز کردن بسته که ممکن است من نمی دانم
574
00:31:13,669 –> 00:31:16,190
ممکن است چند میلی ثانیه
575
00:31:16,190 –> 00:31:18,890
576
00:31:18,890 –> 00:31:20,360
577
00:31:20,360 –> 00:31:22,580
578
00:31:22,580 –> 00:31:24,950
579
00:31:24,950 –> 00:31:26,870
580
00:31:26,870 –> 00:31:27,169
581
00:31:27,169 –> 00:31:30,260
صبر کنید. برای شما که سعی میکنید وارد شوید،
582
00:31:30,260 –> 00:31:33,620
اما کاری را انجام دهید تا
583
00:31:33,620 –> 00:31:35,659
زمانی که به کار دیگری برسد،
584
00:31:35,659 –> 00:31:38,059
شبکهها بهویژه در معرض آن هستند،
585
00:31:38,059 –> 00:31:41,179
زیرا تأخیرها اغلب میتوانند مرتبههای
586
00:31:41,179 –> 00:31:43,940
بزرگتری نسبت به
587
00:31:43,940 –> 00:31:46,070
چیزهای محلی در سیستم شما
588
00:31:46,070 –> 00:31:49,640
داشته باشند. آیا رویدادهای سیستم مانند
589
00:31:49,640 –> 00:31:52,600
خاموش شدن سیستم هستند، به عنوان مثال
590
00:31:52,600 –> 00:31:55,130
برنامه در مورد خاتمه است، شما می دانید
591
00:31:55,130 –> 00:31:56,929
مقیاس کمی کوچکتر است، اما از نظر
592
00:31:56,929 –> 00:31:59,090
مفهومی با کسی
593
00:31:59,090 –> 00:32:01,610
که کلید روشن/خاموش را در کل
594
00:32:01,610 –> 00:32:05,210
سیستم اجرا می کند متفاوت نیست، شما ممکن است بخواهید به
595
00:32:05,210 –> 00:32:07,309
عنوان مثال بتوانید به آن پاسخ دهید. اوه،
596
00:32:07,309 –> 00:32:09,620
در شرف پایان است، اجازه دهید من اطلاعاتی را ذخیره
597
00:32:09,620 –> 00:32:11,840
کنم تا دفعه بعد بتوانم به درستی راه اندازی مجدد کنم
598
00:32:11,840 –> 00:32:17,480
و سپس وقتی مردم
599
00:32:17,480 –> 00:32:22,429
به اندازه کافی از رویداد استفاده کردند، بنابراین
600
00:32:22,429 –> 00:32:23,539
طرز فکرشان به دلیل اینکه
601
00:32:23,539 –> 00:32:25,820
برنامه ریزی های زیادی برای شبکه ها و شبکه ها انجام
602
00:32:25,820 –> 00:32:29,580
می دادند، شروع به ساختن رویدادها کردند.
603
00:32:29,580 –>