در این مطلب، ویدئو مدیریت شبیه سازی های علمی با پایتون با RQ (Redis Queue) با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,140 –> 00:00:02,730
بسیار خوب به آخرین جلسه امروز ما خوش آمدید،
2
00:00:02,730 –> 00:00:05,400
بنابراین ارائه دهنده بعدی ما در حال حاضر
3
00:00:05,400 –> 00:00:07,020
به عنوان یک دانشمند محقق
4
00:00:07,020 –> 00:00:09,330
متخصص مدل سازی و شبیه سازی
5
00:00:09,330 –> 00:00:11,820
سیستم های فیزیکی با روباتیک که
6
00:00:11,820 –> 00:00:13,740
اولین عشق او بود در سال 2011 استخدام
7
00:00:13,740 –> 00:00:15,990
می شود.
8
00:00:15,990 –> 00:00:17,850
9
00:00:17,850 –> 00:00:24,119
خوش آمدید اندرو واکر بسیار متشکرم از
10
00:00:24,119 –> 00:00:24,800
همه،
11
00:00:24,800 –> 00:00:27,539
بنابراین صحبت امروز من در مورد مدیریت
12
00:00:27,539 –> 00:00:29,820
شبیه سازی های علمی با ret askew است
13
00:00:29,820 –> 00:00:32,700
و بنابراین باید در ابتدای صحبتم به نوعی سلب مسئولیت
14
00:00:32,700 –> 00:00:35,160
کنم، اولین مورد
15
00:00:35,160 –> 00:00:37,620
این است که
16
00:00:37,620 –> 00:00:40,680
اگر تا به حال انجام داده اید، قطعاً این یک سخنرانی مبتدی است. محاسبات موازی یا
17
00:00:40,680 –> 00:00:43,020
محاسبات توزیع شده همه اینها
18
00:00:43,020 –> 00:00:45,840
باید تقریباً قدیمی باشند،
19
00:00:45,840 –> 00:00:48,570
نکته دیگر این است که من
20
00:00:48,570 –> 00:00:50,700
مطمئناً توسعهدهنده read askew نیستم، اما
21
00:00:50,700 –> 00:00:52,260
مطمئناً فکر میکنم باید بروید و
22
00:00:52,260 –> 00:00:53,910
آن را بررسی کنید، این یک ماژول فوقالعاده است که
23
00:00:53,910 –> 00:00:55,500
واقعاً مفید است. برای انجام این نوع
24
00:00:55,500 –> 00:00:59,820
کارها، بنابراین فقط برای ارائه یک
25
00:00:59,820 –> 00:01:01,230
طرح کلی سریع از این چیزها که
26
00:01:01,230 –> 00:01:03,359
می خواهم امروز در مورد آن صحبت کنم، به شما توضیح می
27
00:01:03,359 –> 00:01:06,479
دهم خلاصه ای از برخی از افکار من در مورد
28
00:01:06,479 –> 00:01:09,360
شبیه سازی علمی صحبت در مورد برخی از
29
00:01:09,360 –> 00:01:11,189
ابزارهای پایتون برای انجام این نوع
30
00:01:11,189 –> 00:01:15,110
کارها در مورد Redis و Redis صف
31
00:01:15,110 –> 00:01:17,369
صحبت می شود، اما احتمالا مهمتر از آن من فقط می
32
00:01:17,369 –> 00:01:19,259
خواهم برای کسانی از شما که کارهای
33
00:01:19,259 –> 00:01:21,840
زیادی از این نوع انجام نمی دهند. من میخواهم
34
00:01:21,840 –> 00:01:23,130
کاملاً روشن کنم که تفاوت
35
00:01:23,130 –> 00:01:25,860
بین شبیهسازیهای موازی و
36
00:01:25,860 –> 00:01:28,020
شبیهسازیهای توزیعی چیست، بنابراین
37
00:01:28,020 –> 00:01:29,970
تصویر بالا بسیار
38
00:01:29,970 –> 00:01:32,280
شبیه حالت موازی است که در آن شما یک
39
00:01:32,280 –> 00:01:34,829
فرآیند پایتون دارید که
40
00:01:34,829 –> 00:01:37,650
تعدادی گره کارگر را میچرخاند و همه آنها
41
00:01:37,650 –> 00:01:39,479
در حال اجرا هستند. یک ماشین واحد در یک
42
00:01:39,479 –> 00:01:42,090
ماشین فیزیکی واحد، نمودار دوم
43
00:01:42,090 –> 00:01:43,890
بسیار شبیهسازی توزیع شده
44
00:01:43,890 –> 00:01:46,439
است که در آن شما یک فرآیند پایتون دارید
45
00:01:46,439 –> 00:01:48,840
که چندین گره کارگر را میچرخاند
46
00:01:48,840 –> 00:01:51,540
و برخی از آن گرهها به
47
00:01:51,540 –> 00:01:53,579
طور بالقوه میتوانند در یک جعبه فیزیکی متفاوت باشند.
48
00:01:53,579 –> 00:01:57,780
خلاصه در مورد برخی
49
00:01:57,780 –> 00:02:00,360
از چیزهایی که به ساخت
50
00:02:00,360 –> 00:02:01,950
شبیه سازی های قوی مربوط می شوند، اگرچه
51
00:02:01,950 –> 00:02:03,780
احتمالاً زمان زیادی برای انجام این کار
52
00:02:03,780 –> 00:02:05,939
و صحبت در مورد برخی از هشدارها وجود ندارد.
53
00:02:05,939 –> 00:02:09,139
با حل این مشکل به روشی که من دارم،
54
00:02:09,139 –> 00:02:11,830
بنابراین من
55
00:02:11,830 –> 00:02:13,780
خوش شانس هستم که موقعیتی را دارم که می
56
00:02:13,780 –> 00:02:16,260
توانم با چند دانشمند کاملاً شگفت انگیز
57
00:02:16,260 –> 00:02:20,260
کار کنم و آنها در
58
00:02:20,260 –> 00:02:22,780
زمینه های زیادی کار می کنند.
59
00:02:22,780 –> 00:02:24,960
60
00:02:24,960 –> 00:02:27,850
61
00:02:27,850 –> 00:02:32,980
دانشمندان کامپیوتر خیلی زیاد نیستند،
62
00:02:32,980 –> 00:02:34,300
اما وجه مشترک همه آنها این
63
00:02:34,300 –> 00:02:37,660
است که آنها مسائل بزرگ را حل می کنند و نه
64
00:02:37,660 –> 00:02:39,820
لزوماً مسائل بزرگ محاسباتی را
65
00:02:39,820 –> 00:02:40,420
همیشه حل می کنند،
66
00:02:40,420 –> 00:02:42,370
اما مطمئناً آنها مشکلات بزرگ علمی
67
00:02:42,370 –> 00:02:46,390
هستند.
68
00:02:46,390 –> 00:02:49,030
69
00:02:49,030 –> 00:02:51,250
علم انجام می دهند و مطمئناً برایشان مهم نیست
70
00:02:51,250 –> 00:02:53,380
که وقتی با هم همکاری می کنیم چگونه به آنها کمک کنم
71
00:02:53,380 –> 00:02:57,330
تا راه حل هایی برای مشکلات آنها پیدا کنیم
72
00:02:57,450 –> 00:02:59,860
که برای من فوق العاده است زیرا به
73
00:02:59,860 –> 00:03:02,170
من امکان می دهد ابزارهایی را انتخاب کنم که به من کمک می
74
00:03:02,170 –> 00:03:06,730
کند مشکلاتم را به ساده ترین راه حل کنم،
75
00:03:06,730 –> 00:03:08,800
بنابراین یک شبیه سازی علمی چیست؟ بنابراین
76
00:03:08,800 –> 00:03:12,040
این شبیه سازی تعریف ویکی پدیا
77
00:03:12,040 –> 00:03:14,440
تقلید از عملکرد یک
78
00:03:14,440 –> 00:03:17,130
فرآیند یا سیستم واقعی در طول زمان است،
79
00:03:17,130 –> 00:03:20,230
بنابراین در ساده ترین سطح می توانید
80
00:03:20,230 –> 00:03:23,260
به شبیه سازی مانند چرخاندن یک سکه
81
00:03:23,260 –> 00:03:25,660
فکر کنید و می توانید چیزهایی را تصور کنید
82
00:03:25,660 –> 00:03:26,950
که ممکن است بخواهید در چنین
83
00:03:26,950 –> 00:03:29,590
شبیه سازی مشاهده کنید، مانند اینکه چند وقت
84
00:03:29,590 –> 00:03:32,739
یکبار سر بالا می آید یا به طور متوسط چند سکه با
85
00:03:32,739 –> 00:03:34,900
د پرتاب کنم تا ببینم. سه
86
00:03:34,900 –> 00:03:37,660
سر پشت سر هم در انتهای دیگر طیف
87
00:03:37,660 –> 00:03:39,880
88
00:03:39,880 –> 00:03:42,160
قرار می گیرند.
89
00:03:42,160 –> 00:03:43,930
90
00:03:43,930 –> 00:03:46,660
91
00:03:46,660 –> 00:03:48,550
92
00:03:48,550 –> 00:03:50,350
93
00:03:50,350 –> 00:03:56,019
خوب کار میکند، بنابراین این دسته از راهحلها
94
00:03:56,019 –> 00:03:58,750
با استفاده از انحراف قرمز، یک مشکل نسبتاً خاص را حل میکنند،
95
00:03:58,750 –> 00:04:02,080
بنابراین ما واقعاً علاقهای
96
00:04:02,080 –> 00:04:04,540
به این نداریم که شما بتوانید با یک فرآیند پایتون مشکلات را حل کنید،
97
00:04:04,540 –> 00:04:07,000
اگرچه
98
00:04:07,000 –> 00:04:09,070
پایتون برای انجام این کار عالی است،
99
00:04:09,070 –> 00:04:12,280
ما ابزارهایی داریم. مانند اندازه
100
00:04:12,280 –> 00:04:14,380
و تعداد دایرههای ناخوشایند و مجموعهای از
101
00:04:14,380 –> 00:04:16,570
بهینهسازیهای دیگر ابزارهای نمایهسازی،
102
00:04:16,570 –> 00:04:19,120
ما حتی به آن کیس دستگاه تکی علاقهای نداریم،
103
00:04:19,120 –> 00:04:21,250
هرچند که عمدتاً این چیزی است
104
00:04:21,250 –> 00:04:23,650
که نمایش من روی آن تمرکز خواهد کرد. امروزه
105
00:04:23,650 –> 00:04:26,380
پایتون با ماژول چند پردازشی عرضه میشود،
106
00:04:26,380 –> 00:04:29,949
بنابراین باتری در آن گنجانده شده است و بنابراین
107
00:04:29,949 –> 00:04:31,690
نیازی به صحبت
108
00:04:31,690 –> 00:04:35,050
بیش از حد در مورد آن چیزی نیست که از یک
109
00:04:35,050 –> 00:04:37,509
پیشینه تحصیلی عمدتاً آکادمیک ناشی میشود و
110
00:04:37,509 –> 00:04:39,759
من مطمئن هستم که این افراد در اتاق که
111
00:04:39,759 –> 00:04:41,500
از پسزمینههای مشابهی میآیند.
112
00:04:41,500 –> 00:04:43,180
من علاقه ای به صحبت در مورد
113
00:04:43,180 –> 00:04:45,130
ابر رایانه ها ندارم یا اکثر
114
00:04:45,130 –> 00:04:48,669
ابر رایانه ها به
115
00:04:48,669 –> 00:04:51,960
ابزارهای زمان بندی بسیار تخصصی و و و و صف های شغلی متکی هستند
116
00:04:51,960 –> 00:04:56,740
و حداقل از دیدگاه من بسیاری
117
00:04:56,740 –> 00:04:58,300
از مشکلاتی که باید با
118
00:04:58,300 –> 00:05:00,610
آنها مقابله کنم واقعاً برای حل
119
00:05:00,610 –> 00:05:02,650
آنها در فضای ابری مناسب نیست. عمدتاً به دلایل تجاری
120
00:05:02,650 –> 00:05:05,289
که به IP یا
121
00:05:05,289 –> 00:05:09,100
مسائل امنیتی مربوط می شود، بنابراین این موردی است
122
00:05:09,100 –> 00:05:11,530
که من در بسیاری از اوقات
123
00:05:11,530 –> 00:05:14,350
خود را در حدود 20 تا 50 هسته روی چیزی
124
00:05:14,350 –> 00:05:17,139
شبیه به 5 تا 10 ماشین فیزیکی داریم، بنابراین اگر
125
00:05:17,139 –> 00:05:18,760
شما یک قفسه دارید که می توانید تصور کنید که
126
00:05:18,760 –> 00:05:21,220
تقریباً یک قفسه دنده دارد یا می
127
00:05:21,220 –> 00:05:22,990
دانید اگر
128
00:05:22,990 –> 00:05:24,280
اکنون ماشین های رومیزی دارید، می توانید تصور کنید که
129
00:05:24,280 –> 00:05:29,050
روی یک یا دو میز کاملاً درست است، بنابراین
130
00:05:29,050 –> 00:05:30,340
چه چیزی در بیرون وجود دارد انجام این کار در
131
00:05:30,340 –> 00:05:37,990
پایتون، پس آیا کسی از موازی پایتون زنده استفاده کرده
132
00:05:37,990 –> 00:05:43,300
است، اگر شما یک فرد علمی هستید،
133
00:05:43,300 –> 00:05:45,580
134
00:05:45,580 –> 00:05:48,280
اگر یک توسعه دهنده با تجربه هستید، اولین جایی که باید به آن مراجعه کنید تا موازی سازی را انجام دهید.
135
00:05:48,280 –> 00:05:50,530
136
00:05:50,530 –> 00:05:53,080
137
00:05:53,080 –> 00:05:54,940
با آخرین
138
00:05:54,940 –> 00:05:58,030
دو نفر از ما PI منفی در مورد محاسبات با کارایی بالا صحبت می کنیم
139
00:05:58,030 –> 00:05:59,590
و من اکیداً
140
00:05:59,590 –> 00:06:01,210
توصیه می کنم که بروید و به آن نگاهی بیندازید
141
00:06:01,210 –> 00:06:04,599
و همچنین صحبت های ipython
142
00:06:04,599 –> 00:06:07,479
به شما امکان دسترسی به دسته ای از ماشین های
143
00:06:07,479 –> 00:06:11,620
با استفاده از SSH MPI PBS و تعدادی دیگر را می دهد.
144
00:06:11,620 –> 00:06:14,099
مکانیسمهای زمانبندی و
145
00:06:14,099 –> 00:06:16,990
ارتباطی آیا کسی از افرادی استفاده کرده است که
146
00:06:16,990 –> 00:06:19,479
از منطقه توسعه وب میآیند،
147
00:06:19,479 –> 00:06:23,680
بنابراین چند دستی به سمت بالا میروند، کرفس
148
00:06:23,680 –> 00:06:25,240
کمی بیشتر شبیه چیزی است که
149
00:06:25,240 –> 00:06:28,060
امروز در مورد آن صحبت میکنم، این یک صف برنامهریزی شغلی است
150
00:06:28,060 –> 00:06:31,479
که اغلب اوقات شما پیوست میکنید. یک دکوراتور
151
00:06:31,479 –> 00:06:33,310
به یک تابع پایتون
152
00:06:33,310 –> 00:06:35,620
که در واقع وقتی
153
00:06:35,620 –> 00:06:37,120
تابعی را فراخوانی میکند که آن را به
154
00:06:37,120 –> 00:06:39,370
مکعبی میفرستد که تعدادی کارگر میتوانند
155
00:06:39,370 –> 00:06:42,040
بیایند و مصرف کنند، آن را فشار میدهد، تعدادی
156
00:06:42,040 –> 00:06:45,010
گزینه دیگر وجود دارد. اما مجدداً پیشنهاد من این است
157
00:06:45,010 –> 00:06:46,410
که بروید و نگاهی
158
00:06:46,410 –> 00:06:49,180
به محاسبات با کارایی بالا اسوالد
159
00:06:49,180 –> 00:06:53,020
در یادداشتهای Euro
160
00:06:53,020 –> 00:06:56,230
scifi 2011 بیندازید، چند سیستم دیگر
161
00:06:56,230 –> 00:06:57,880
مبتنی بر صف پیام نیز وجود دارد
162
00:06:57,880 –> 00:07:01,840
که ممکن است جالب باشد، پس چرا ممکن است
163
00:07:01,840 –> 00:07:03,960
کاری را انجام ندهید. مثل همین
164
00:07:03,960 –> 00:07:07,120
خوب معلوم می شود که اغلب
165
00:07:07,120 –> 00:07:09,640
اوقات مقداری پیکربندی و
166
00:07:09,640 –> 00:07:11,170
بهینه سازی وجود دارد که باید انجام دهید
167
00:07:11,170 –> 00:07:14,410
حتی برای موارد موازی ipython
168
00:07:14,410 –> 00:07:15,910
که در واقع باید بروید و
169
00:07:15,910 –> 00:07:19,420
فایل پیکربندی خاصی را پیدا کنید که آن را برای
170
00:07:19,420 –> 00:07:24,880
استفاده از مکانیسم انتقال خود تنظیم کرده است. کرفس
171
00:07:24,880 –> 00:07:26,890
میتواند حتی بدتر از آن باشد. من یک هفته را
172
00:07:26,890 –> 00:07:28,600
با مواد داخلی کرفس درگیر کردم و سعی کردم
173
00:07:28,600 –> 00:07:31,140
نوعی مکانیسم ذخیرهسازی را
174
00:07:31,140 –> 00:07:33,600
با صفهای پیام مناسب تطبیق دهم
175
00:07:33,600 –> 00:07:36,430
و شاید این تصور از
176
00:07:36,430 –> 00:07:38,950
سختبودن راهاندازی و دویدن تنها
177
00:07:38,950 –> 00:07:41,020
چیزی باشد که در مورد آن صدق میکند. من، اما من
178
00:07:41,020 –> 00:07:43,030
افراد دیگری را دیده ام که
179
00:07:43,030 –> 00:07:44,350
توسعه دهندگان واقعاً عالی در جامعه
180
00:07:44,350 –> 00:07:46,590
پایتون با برخی از این چیزها
181
00:07:46,590 –> 00:07:49,660
از دیدگاه من بدتر از این دست و پنجه نرم می کنند، زیرا من هوشمندانه کار می کنم.
182
00:07:49,660 –> 00:07:52,390
دانشمندان اگر چیزی شبیه به
183
00:07:52,390 –> 00:07:54,700
این را برایشان تنظیم و اجرا
184
00:07:54,700 –> 00:07:55,930
کنم، نمیخواهند مجبور شوند آنجا بنشینند و
185
00:07:55,930 –> 00:07:58,060
از کار من مراقبت کنند و مطمئن شوند که
186
00:07:58,060 –> 00:08:02,620
شبیهسازیهایشان خوب نیست، بنابراین
187
00:08:02,620 –> 00:08:04,810
من در این نوع ایدهآل به دنبال چه بودم.
188
00:08:04,810 –> 00:08:07,350
ابزاری برای حل این مشکلات
189
00:08:07,350 –> 00:08:09,790
واقعاً چیزی است که
190
00:08:09,790 –> 00:08:11,800
میتوانید بعدازظهر به آن بروید، بنابراین من فکر میکنم
191
00:08:11,800 –> 00:08:13,360
که تقریباً مدت زمانی است که
192
00:08:13,360 –> 00:08:15,430
من باید به کسی یاد بدهم چگونه
193
00:08:15,430 –> 00:08:17,770
چیزی را واقعاً خوب بفهمد و
194
00:08:17,770 –> 00:08:20,230
اگر آنقدر کوتاه است، آنها مقداری دارند.
195
00:08:20,230 –> 00:08:21,940
شانس اینکه واقعاً به یاد بیاورم که چگونه این کار
196
00:08:21,940 –> 00:08:25,090
را به طور ایده آل انجام دهم، باید هیچ
197
00:08:25,090 –> 00:08:27,490
ویرایش فایل پیکربندی نداشته باشد و تنها
198
00:08:27,490 –> 00:08:29,320
کاری که باید انجام می دادم تا دموهای خود را بالا ببرم و
199
00:08:29,320 –> 00:08:30,970
راه اندازی کنم این بود که باید یک استثنا را
200
00:08:30,970 –> 00:08:34,750
در فایروال خود باز می کردم و تنها چیزی
201
00:08:34,750 –> 00:08:35,919
که انجام دادم. نمیخواهم
202
00:08:35,919 –> 00:08:40,409
آن کارگزار پیام را پیکربندی کنم خوب است، بنابراین
203
00:08:40,409 –> 00:08:43,059
این همان چیزی است که من میخواستم و این
204
00:08:43,059 –> 00:08:45,870
همان راهحلی است که من با
205
00:08:45,870 –> 00:08:50,460
Redis به پایان رساندم، هسته اصلی
206
00:08:50,460 –> 00:08:53,760
ماژول Redis Q را تشکیل میدهد، در واقع یک
207
00:08:53,760 –> 00:08:56,850
سرور ساختار داده است که به شما اجازه میدهد. شما
208
00:08:56,850 –> 00:09:00,029
اکنون مقادیر را با کلیدها مرتبط میکنید، صادقانه میتوانم
209
00:09:00,029 –> 00:09:02,760
بگویم که تقریباً هیچ چیز در مورد Redis نمیدانم
210
00:09:02,760 –> 00:09:04,860
و در این مورد احتمالاً این یک
211
00:09:04,860 –> 00:09:06,270
مزیت است که من چیزی نمیدانم
212
00:09:06,270 –> 00:09:08,610
زیرا فقط روی آن
213
00:09:08,610 –> 00:09:10,470
نیفتاده است تقریباً همیشه فعال میماند و فقط
214
00:09:10,470 –> 00:09:15,270
کار میکند. با زبان C نوشته شده است، پیوندهای
215
00:09:15,270 –> 00:09:17,370
دهانی را به زبان های محبوب پیوند می دهد و
216
00:09:17,370 –> 00:09:19,890
مطمئناً دسترسی به آن از پایتون آسان است،
217
00:09:19,890 –> 00:09:22,080
اگر می خواهید از Redis فقط خام Redis استفاده
218
00:09:22,080 –> 00:09:24,150
کنید، چیزی شبیه به این است، بنابراین اگر می خواهم
219
00:09:24,150 –> 00:09:27,029
به یک سرور Redis در حال اجرا
220
00:09:27,029 –> 00:09:29,820
در لوکال هاست متصل شوم، آن را باز می کنم. اتصال من و
221
00:09:29,820 –> 00:09:32,370
سپس من می توانم نوعی مقدار را
222
00:09:32,370 –> 00:09:35,910
در این مورد یک رشته را با یک کلید مرتبط کنم و
223
00:09:35,910 –> 00:09:38,279
سپس می توانم آن کلید را بیرون بکشم اگر
224
00:09:38,279 –> 00:09:39,900
بعداً لازم بود این کار را انجام دهم، در واقع
225
00:09:39,900 –> 00:09:42,540
می توانم جلسه پایتون خود را ببندم و سپس آن را دوباره باز کنم و بکشم.
226
00:09:42,540 –> 00:09:44,310
همان مقدار
227
00:09:44,310 –> 00:09:49,950
با آن کلید خوب است، بنابراین این
228
00:09:49,950 –> 00:09:52,709
صف Redis چیست، بنابراین یکی از چیزهای عالی
229
00:09:52,709 –> 00:09:54,420
در مورد Redis این است که در واقع به شما امکان می دهد
230
00:09:54,420 –> 00:09:56,880
از چندین ساختار داده استفاده کنید، بنابراین من می توانم
231
00:09:56,880 –> 00:10:01,020
لیستی را با نقشه برداری از یک مجموعه یا یک
232
00:10:01,020 –> 00:10:03,600
صف با یکی از آن کلیدها مرتبط کنم. و این
233
00:10:03,600 –> 00:10:05,250
بدان معناست که من در واقع می توانم کاری را انجام دهم
234
00:10:05,250 –> 00:10:08,880
که یک کار در این زمینه فقط یک
235
00:10:08,880 –> 00:10:10,920
تابع است و استدلال هایی است که شما
236
00:10:10,920 –> 00:10:14,279
با آن تابع
237
00:10:14,279 –> 00:10:16,500
238
00:10:16,500 –> 00:10:18,510
فراخوانی می
239
00:10:18,510 –> 00:10:20,100
کنید. کدی که آن
240
00:10:20,100 –> 00:10:21,990
را برای دانشمندان و تلاش برای
241
00:10:21,990 –> 00:10:24,290
اشکالزدایی چیزهای سختتر عالی میکند و همچنین
242
00:10:24,290 –> 00:10:27,990
یک API واقعاً تمیز ارائه میکند و آنچه
243
00:10:27,990 –> 00:10:29,580
کنت میخواند API برای
244
00:10:29,580 –> 00:10:32,690
انسانها نامیده میشود، بنابراین یکی از سادهترین نمونهها
245
00:10:32,690 –> 00:10:35,520
فقط در صورتی که تمام نسخههای نمایشی من از بین بروند به
246
00:10:35,520 –> 00:10:39,270
این شکل است. شما در واقع
247
00:10:39,270 –> 00:10:41,700
یک صف راه اندازی می کنید و به Redis در
248
00:10:41,700 –> 00:10:45,480
لوکال هاست متصل می شوید، تعدادی را جستجو می کنید که یک
249
00:10:45,480 –> 00:10:47,580
رشته به نام تابع دارید، بنابراین در
250
00:10:47,580 –> 00:10:50,160
این مورد عملگر ماژول
251
00:10:50,160 –> 00:10:52,620
و تابع add را در آن ماژول جستجو کنید و
252
00:10:52,620 –> 00:10:56,579
سپس می توانید مقداری آن را ارسال کنید. استدلالهایی که
253
00:10:56,579 –> 00:10:59,180
به شما کمک میکند کار را کنترل کنید،
254
00:10:59,180 –> 00:11:00,650
برخی از زبانهایی که ممکن است آنها را
255
00:11:00,650 –> 00:11:03,110
آینده بنامید، قولی است که آن را انجام میدهید
256
00:11:03,110 –> 00:11:04,850
یا قولی است که میخواهید
257
00:11:04,850 –> 00:11:07,370
بعداً پاسخی را دریافت کنید، بنابراین من
258
00:11:07,370 –> 00:11:09,350
میتوانم منتظر بمانم اندکی چون میدانید
259
00:11:09,350 –> 00:11:10,820
امیدوارم
260
00:11:10,820 –> 00:11:12,980
محاسبه دو به علاوه سه بیش از یک ثانیه طول نکشد و
261
00:11:12,980 –> 00:11:17,390
سپس میتوانم پاسخم را چاپ کنم تا
262
00:11:17,390 –> 00:11:19,430
همه این کارها را داشته باشم، در واقع
263
00:11:19,430 –> 00:11:20,900
باید چیزی داشته باشم که در راه است و
264
00:11:20,900 –> 00:11:22,730
آن مشاغل را مصرف میکند. من
265
00:11:22,730 –> 00:11:24,920
به صف فشار میدهم تا بتوانم تعدادی کارگر را راهاندازی کنم،
266
00:11:24,920 –> 00:11:28,010
بنابراین بهطور پیشفرض کارگران صف Redis
267
00:11:28,010 –> 00:11:30,440
در لوکال هاست به صف پیشفرض گوش میدهند،
268
00:11:30,440 –> 00:11:33,140
اگر بخواهم
269
00:11:33,140 –> 00:11:35,360
کاری متفاوت انجام دهم، میتوانم کارگر را
270
00:11:35,360 –> 00:11:37,820
در یک صف شبیهسازی در یک مکان خاص راهاندازی کنم
271
00:11:37,820 –> 00:11:39,470
و به آن اشاره کنیم. این در یک
272
00:11:39,470 –> 00:11:45,470
نمونه خاص از Redis است، بنابراین وقتی یک
273
00:11:45,470 –> 00:11:47,300
دسته کامل از این کارگران را پیدا کردید یکی
274
00:11:47,300 –> 00:11:48,500
از چیزهایی را که واقعاً می خواهید
275
00:11:48,500 –> 00:11:50,810
بدانید این است که آیا هر یک از آنها سقوط کرده اند،
276
00:11:50,810 –> 00:11:52,580
کارهای من می گذرد یا شکست می خورند، آیا آنها
277
00:11:52,580 –> 00:11:55,010
استثناهایی را ایجاد می کنند. بخش
278
00:11:55,010 –> 00:11:57,890
مهم هر شبیه سازی موازی
279
00:11:57,890 –> 00:12:00,770
نوعی ابزار نظارتی است که Redis با
280
00:12:00,770 –> 00:12:02,900
دو راه حل ارائه می شود که یکی در
281
00:12:02,900 –> 00:12:04,880
خط فرمان که اطلاعات صف ما است
282
00:12:04,880 –> 00:12:07,430
و دیگری داشبورد صف ما
283
00:12:07,430 –> 00:12:10,400
است که کمی وب است. pp تا انگشتان دست
284
00:12:10,400 –> 00:12:13,010
از هم عبور کنند، دموی زنده من در واقع
285
00:12:13,010 –> 00:12:21,080
به درستی کار میکند، آیا کسی اینجا
286
00:12:21,080 –> 00:12:25,100
فقط از چند نفر از آرکهای تیمی استفاده میکند،
287
00:12:25,100 –> 00:12:26,660
بنابراین ممکن است برای برخی از شما کمی جالب باشد
288
00:12:26,660 –> 00:12:27,350
289
00:12:27,350 –> 00:12:30,980
Tmax یک مالتی پلکسر ترمینال است که به
290
00:12:30,980 –> 00:12:34,250
من اجازه میدهد چندین جلسه ترمینال را روی دستگاه اجرا کنم.
291
00:12:34,250 –> 00:12:36,170
صفحه نمایش در یک زمان برای این کار عالی خواهد بود
292
00:12:36,170 –> 00:12:37,880
زیرا باید سعی کنم
293
00:12:37,880 –> 00:12:39,380
تا آنجایی که می توانم چیزهای زیادی را روی صفحه نمایش له
294
00:12:39,380 –> 00:12:42,190
295
00:12:44,620 –> 00:12:49,480
کنم تا بتوانم کارگر قرمز رنگ خود را فعال کنم
296
00:12:49,480 –> 00:12:51,130
و می توانید ببینید که با
297
00:12:51,130 –> 00:12:52,750
Q پیش فرض گوش می دهد. و
298
00:12:52,750 –> 00:12:55,960
به Redis در لوکال هاست متصل است و می
299
00:12:55,960 –> 00:12:57,910
توانید تصور کنید که در جلسه دوم ترمینال
300
00:12:57,910 –> 00:13:00,430
من به راحتی می توانم به
301
00:13:00,430 –> 00:13:02,650
دستگاه دیگری SSH کنم و می توانم Q
302
00:13:02,650 –> 00:13:06,940
worker خود را روی آن دستگاه اجرا کنم، بنابراین فقط برای اینکه به
303
00:13:06,940 –> 00:13:08,260
شما نشان دهم که در آنجا می توانید به چه شکلی
304
00:13:08,260 –> 00:13:10,960
باشد. من به ردیس در حال اجرا
305
00:13:10,960 –> 00:13:13,390
در لوکال هاست بسیار شبیه
306
00:13:13,390 –> 00:13:15,610
به اولی وصل می شوم، فقط نحو کمی متفاوت است،
307
00:13:15,610 –> 00:13:19,000
بنابراین اکنون به چیزی نیاز دارم که
308
00:13:19,000 –> 00:13:21,970
در واقع کارها را به کارمندانم
309
00:13:21,970 –> 00:13:23,560
منتقل کند تا یک جلسه سریع از
310
00:13:23,560 –> 00:13:28,960
ipython را راه اندازی کنم. رایبادی خواند که بله
311
00:13:28,960 –> 00:13:33,480
بسیار خوب، بنابراین برخی از واردات اولیه
312
00:13:40,700 –> 00:13:46,560
صف من را ایجاد میکنند که آن را به اتصال من
313
00:13:46,560 –> 00:13:51,930
به Redis مرتبط میکند و در این مرحله من در
314
00:13:51,930 –> 00:13:53,730
واقع چیزهای کافی برای ارسال
315
00:13:53,730 –> 00:13:56,970
شغل به کارگرانم دارم.
316
00:13:56,970 –> 00:13:59,250
317
00:13:59,250 –> 00:14:00,510
مقدار کدی که
318
00:14:00,510 –> 00:14:02,280
برای انجام این کار با چندپردازش
319
00:14:02,280 –> 00:14:04,200
نیاز داشتید، در خارج از پایتون کمی بیشتر تنظیم شده
320
00:14:04,200 –> 00:14:06,840
است، اما من فکر می کنم که می توانم
321
00:14:06,840 –> 00:14:08,820
تقریباً آن سه خط
322
00:14:08,820 –> 00:14:11,220
کد را به همه آموزش دهم، بنابراین بیایید در واقع
323
00:14:11,220 –> 00:14:20,910
یک کار را در صف قرار دهیم و شما می توانید در واقع می بینید
324
00:14:20,910 –> 00:14:22,890
که روی یکی از کارگران کار
325
00:14:22,890 –> 00:14:25,350
واقعا اجرا شده است و می توانید نتیجه
326
00:14:25,350 –> 00:14:28,620
ای را ببینید که دیدن آن کمی سخت است.
327
00:14:28,620 –> 00:14:30,390
328
00:14:30,390 –> 00:14:31,