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