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