در این مطلب، ویدئو مصاحبه پایتون با یک مهندس Snowflake: ID Generator با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:57:22
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,540 –> 00:00:08,299
[موسیقی]
2
00:00:10,000 –> 00:00:11,200
سلام
3
00:00:11,200 –> 00:00:13,280
سلام میتوانی صدایم را بشنوی بله میتوانم
4
00:00:13,280 –> 00:00:15,120
صدایم را بشنوی، عالیه،
5
00:00:15,120 –> 00:00:16,880
تو چطوری، اوه، خوب،
6
00:00:16,880 –> 00:00:18,480
تو چطوری، من خیلی خوب عمل میکنم،
7
00:00:18,480 –> 00:00:20,000
ممنون از درخواست
8
00:00:20,000 –> 00:00:21,439
عالی،
9
00:00:21,439 –> 00:00:22,480
خوب، بیایید ادامه دهیم و این
10
00:00:22,480 –> 00:00:24,560
کار را شروع کنیم، پس اوم اساساً من فقط می
11
00:00:24,560 –> 00:00:27,119
خواهم ابتدا با یک مرور کلی
12
00:00:27,119 –> 00:00:28,560
از پیشینه شما صحبت کنم و
13
00:00:28,560 –> 00:00:30,000
سپس فقط نوعی از آنچه که امروز امیدوارید از
14
00:00:30,000 –> 00:00:31,119
آن به دست آورید صحبت کنم تا بتوانیم
15
00:00:31,119 –> 00:00:32,399
این مورد را هدف قرار دهیم و بهترین تجربه را برای شما به ارمغان بیاوریم.
16
00:00:32,399 –> 00:00:35,120
17
00:00:35,120 –> 00:00:37,520
18
00:00:37,520 –> 00:00:38,960
19
00:00:38,960 –> 00:00:42,800
20
00:00:42,800 –> 00:00:44,320
21
00:00:44,320 –> 00:00:46,480
22
00:00:46,480 –> 00:00:48,320
23
00:00:48,320 –> 00:00:49,920
24
00:00:49,920 –> 00:00:51,199
25
00:00:51,199 –> 00:00:52,879
امممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممم اما در تمام مدت
26
00:00:52,879 –> 00:00:54,640
27
00:00:54,640 –> 00:00:56,239
برنامهنویسی و کدنویسی خودآموز
28
00:00:56,239 –> 00:00:58,000
29
00:00:58,000 –> 00:00:59,520
30
00:00:59,520 –> 00:01:01,520
را انجام دادهام تا جایی که فکر میکنم مهارتها و دانش کافی برای انتقال حرفهام به
31
00:01:01,520 –> 00:01:02,960
مهندسی نرمافزار را دارم.
32
00:01:02,960 –> 00:01:04,640
و اوه و این و اون این چیزی است که من
33
00:01:04,640 –> 00:01:06,560
سعی می کنم انجام
34
00:01:06,560 –> 00:01:08,320
دهم، پس به
35
00:01:08,320 –> 00:01:09,520
طور خاص
36
00:01:09,520 –> 00:01:11,439
، من در حال حاضر حدود چهار
37
00:01:11,439 –> 00:01:12,960
شرکت دارم که با آنها صحبت می کنم، می
38
00:01:12,960 –> 00:01:16,479
دانم که به نوعی به مصاحبه های در محل می رویم.
39
00:01:16,479 –> 00:01:18,159
بزرگ ترین
40
00:01:18,159 –> 00:01:20,080
موردی که من بیشتر از همه در مورد آن هیجان زده هستم گوگل است
41
00:01:20,080 –> 00:01:23,280
که فردا در سایت دارم، بنابراین واقعاً
42
00:01:23,280 –> 00:01:24,880
چیزی که من امیدوارم از این نتیجه بگیرم این
43
00:01:24,880 –> 00:01:26,640
است که تا آنجا که ممکن است می دانید
44
00:01:26,640 –> 00:01:29,680
سعی کنید آنچه را که
45
00:01:29,680 –> 00:01:31,600
می دانید تقلید کنید. مصاحبه
46
00:01:31,600 –> 00:01:34,000
فقط برای این خواهد بود که ببینم چقدر آماده
47
00:01:34,000 –> 00:01:35,280
هستم یا فکر می کنم واقعاً فقط برای
48
00:01:35,280 –> 00:01:37,600
تمرین و آماده کردن خودم برای فردا
49
00:01:37,600 –> 00:01:40,720
50
00:01:40,720 –> 00:01:42,399
خوب
51
00:01:42,399 –> 00:01:44,079
است. شما برای آن مصاحبه می کنید
52
00:01:44,079 –> 00:01:46,479
، آیا حوزه تمرکز خاصی وجود دارد
53
00:01:46,479 –> 00:01:48,399
که انگار می دانید
54
00:01:48,399 –> 00:01:50,159
تمام پشته پشت سر و
55
00:01:50,159 –> 00:01:52,799
یادگیری ماشینی مانند چیزی شبیه به آن را می شناسید، خیلی
56
00:01:52,799 –> 00:01:54,240
خوب، حدس می زنم مشاغلی که من
57
00:01:54,240 –> 00:01:56,479
برای آنها مصاحبه می کنم زیبا هستند، می توانم بگویم
58
00:01:56,479 –> 00:01:59,360
عموماً یا با تمرکز بر بکاند
59
00:01:59,360 –> 00:02:00,799
، واقعاً تخصصی نیست من به هر یک از
60
00:02:00,799 –> 00:02:02,479
چیزهای یادگیری ماشین علاقه دارم، من چیزهای فرانت اند را می
61
00:02:02,479 –> 00:02:03,680
دانم اما واقعاً
62
00:02:03,680 –> 00:02:05,759
برای آن مصاحبه نمی کنم، بنابراین بله، می توانم بگویم
63
00:02:05,759 –> 00:02:07,600
برنامه نویسی در سطح پشتیبان یا سیستمی بسیار
64
00:02:07,600 –> 00:02:08,878
65
00:02:08,878 –> 00:02:11,200
خوب است و سپس حدس می زنم که به غیر از
66
00:02:11,200 –> 00:02:12,640
این نوع، از برخی از
67
00:02:12,640 –> 00:02:14,400
بازخوردهایی که در مورد برخی از
68
00:02:14,400 –> 00:02:15,840
مصاحبههایی که
69
00:02:15,840 –> 00:02:17,680
انجام دادهام دریافت کردهام، حدس
70
00:02:17,680 –> 00:02:19,040
میزنم آنچه میخواهم امروز برای خودم روی آن تمرکز
71
00:02:19,040 –> 00:02:21,360
کنم این است که شما
72
00:02:21,360 –> 00:02:22,560
میدانید مطمئن شوید که من به نوعی
73
00:02:22,560 –> 00:02:23,920
مشکل ایجاد شده را حل میکنم. مطمئناً
74
00:02:23,920 –> 00:02:25,360
قبل از اینکه
75
00:02:25,360 –> 00:02:26,879
به یک رویکرد بهینه تر بپردازم، به نوعی رویکرد دوره ریشه را طی
76
00:02:26,879 –> 00:02:30,160
می کنم و واقعاً می دانید که
77
00:02:30,160 –> 00:02:32,080
به شما فرصتی می دهد تا
78
00:02:32,080 –> 00:02:35,040
استراتژی های حل مسئله من را ببینید در مقابل شما می
79
00:02:35,040 –> 00:02:37,040
دانید که مستقیماً به
80
00:02:37,040 –> 00:02:39,440
نوعی از کدنویسی یا الگوریتم می پرید. در پایان،
81
00:02:39,440 –> 00:02:40,879
به طوری که
82
00:02:40,879 –> 00:02:42,239
تمرکز من بر آن خواهد بود، شاید سعی کنید
83
00:02:42,239 –> 00:02:44,560
به جای اینکه بدانید
84
00:02:44,560 –> 00:02:46,000
85
00:02:46,000 –> 00:02:48,160
که بهینه ترین راه برای مقابله با این
86
00:02:48,160 –> 00:02:50,080
بله که خوب به نظر می رسد و صادقانه
87
00:02:50,080 –> 00:02:52,000
شبیه قدیمی است، کدام روش ساختارمندتری را در پیش بگیرید. بسیاری از بازخوردهایی که من
88
00:02:52,000 –> 00:02:53,360
برای افرادی که در حال مصاحبه هستند به
89
00:02:53,360 –> 00:02:55,280
طور خاص انجام این کار است، بنابراین خوشحالم که می
90
00:02:55,280 –> 00:02:56,239
دانید من قبلاً آن بازخورد را دریافت کرده ام
91
00:02:56,239 –> 00:02:57,360
و دارم روی آن کار می کنم، بنابراین
92
00:02:57,360 –> 00:02:58,879
93
00:02:58,879 –> 00:03:01,920
قطعاً می توانیم امروز این کار را انجام دهیم،
94
00:03:02,800 –> 00:03:05,599
بسیار عالی است
95
00:03:05,599 –> 00:03:06,959
خب، پس بله، اساساً برای
96
00:03:06,959 –> 00:03:07,920
بقیه این، بدیهی است که ما بیشتر وقت را صرف
97
00:03:07,920 –> 00:03:09,599
انجام یک
98
00:03:09,599 –> 00:03:11,120
مصاحبه فنی تمرینی میکنیم، میدانی همانطور که
99
00:03:11,120 –> 00:03:12,319
گفتی، من فقط سعی میکنم با این موضوع
100
00:03:12,319 –> 00:03:13,519
مانند مصاحبههای معمولی رفتار کنم. من
101
00:03:13,519 –> 00:03:14,959
با یک نامزد مصاحبه می
102
00:03:14,959 –> 00:03:16,080
کنم.امیدوارم
103
00:03:16,080 –> 00:03:17,760
104
00:03:17,760 –> 00:03:19,440
105
00:03:19,440 –> 00:03:20,959
که مثلاً 10 دقیقه در انتها صرفه جویی کنید، زیرا
106
00:03:20,959 –> 00:03:22,560
شما می دانید بحث یا بازخورد یا
107
00:03:22,560 –> 00:03:24,319
هر چیز دیگری که ما می خواهیم، بنابراین ما
108
00:03:24,319 –> 00:03:26,080
ی گوییم که شما حدود 45 دقیقه می دانید که
109
00:03:26,080 –> 00:03:28,959
ن فکر می کنم نسبتاً استاندارد است. برای ام،
110
00:03:28,959 –> 00:03:31,280
بخش اصلی بحث کدنویسی فنی،
111
00:03:31,280 –> 00:03:32,720
112
00:03:32,720 –> 00:03:33,920
113
00:03:33,920 –> 00:03:35,680
خیلی خوب، خوب، حدس میزنم بیایید جلو برویم
114
00:03:35,680 –> 00:03:37,760
و شروع کنیم، پس اوم، حدس میزنم اول
115
00:03:37,760 –> 00:03:39,200
از من خواستم این کد یا صفحه را تغییر دهم به چه
116
00:03:39,200 –> 00:03:40,879
زبانی میخواهید به چه زبانی کدنویسی کنم بله
117
00:03:40,879 –> 00:03:43,280
به علاوه
118
00:03:43,280 –> 00:03:46,000
خوب فهمیدی عالیه آره بله،
119
00:03:46,000 –> 00:03:48,000
بسیار خوب است، بدیهی است که کار من نیز ممکن است،
120
00:03:48,000 –> 00:03:50,480
بنابراین
121
00:03:50,480 –> 00:03:52,959
اجازه دهید من از شر همه استارترها خلاص شوم، بسیار
122
00:03:52,959 –> 00:03:55,200
خوب،
123
00:03:56,480 –> 00:03:57,360
124
00:03:57,360 –> 00:03:58,799
بنابراین مشکلی که می خواهم امروز در مورد آن صحبت
125
00:03:58,799 –> 00:04:01,040
کنم این است که امیدوارم شروع
126
00:04:01,040 –> 00:04:03,519
ساده ای باشد، اما همانطور که در مورد آن بحث می کنیم و به نوعی به
127
00:04:03,519 –> 00:04:04,959
عقب برمی گردیم. لایه ها و بیشتر در مورد آن صحبت
128
00:04:04,959 –> 00:04:06,159
کنید و به پیاده سازی برسید. امیدوارم
129
00:04:06,159 –> 00:04:07,040
130
00:04:07,040 –> 00:04:09,680
چالش های جالب
131
00:04:09,680 –> 00:04:11,200
و معاوضه ها و همه چیزهایی که ما باید
132
00:04:11,200 –> 00:04:13,200
در مورد آن بحث کنیم و کشف
133
00:04:13,200 –> 00:04:14,879
134
00:04:14,879 –> 00:04:16,798
کنیم، وجود خواهد داشت، بنابراین مشکل اساساً این است که برای
135
00:04:16,798 –> 00:04:17,759
مثال شما شما را می شناسید در حال مصاحبه در
136
00:04:17,759 –> 00:04:19,440
گوگل با شرکتی مانند گوگل هستم
137
00:04:19,440 –> 00:04:21,279
که شما با تعداد زیادی از مهندسان نرم افزار که
138
00:04:21,279 –> 00:04:23,120
از رایانه هایی استفاده می کنند می شناسید
139
00:04:23,120 –> 00:04:24,479
که مشخصاً می
140
00:04:24,479 –> 00:04:26,880
دانید تعداد زیادی از شما برنامه ها را می شناسید، خدمات
141
00:04:26,880 –> 00:04:27,840
um
142
00:04:27,840 –> 00:04:29,520
محصولات را
143
00:04:29,520 –> 00:04:31,520
درست درست زمانی که شما در حال اجرای
144
00:04:31,520 –> 00:04:34,000
مقدار زیادی هستید. از شما خدماتی را می شناسید که
145
00:04:34,000 –> 00:04:36,560
تولید را می شناسید مانند مقیاس وب مانند گوگل،
146
00:04:36,560 –> 00:04:38,080
بدیهی است که تعداد زیادی
147
00:04:38,080 –> 00:04:39,680
از این ها را می شناسید و مهمتر از آن باید
148
00:04:39,680 –> 00:04:40,880
به نوعی آن ها را پیگیری کنید و
149
00:04:40,880 –> 00:04:41,919
آنها را نظارت کنید و بسازید. مطمئن باشید که همه آنها به
150
00:04:41,919 –> 00:04:44,560
درستی کار می کنند،
151
00:04:44,560 –> 00:04:46,800
بنابراین اساساً مشکلی
152
00:04:46,800 –> 00:04:48,639
که من امروز می خواهم با آن روبرو شوم
153
00:04:48,639 –> 00:04:50,160
یکی از بخش های مهم
154
00:04:50,160 –> 00:04:51,520
نظارت شما بر این سیستم ها است که به
155
00:04:51,520 –> 00:04:52,800
طور خاص
156
00:04:52,800 –> 00:04:54,400
نوعی شناسه منحصر به فرد برای هر یک از آنها وجود دارد.
157
00:04:54,400 –> 00:04:56,400
خدمات به طوری که شما می
158
00:04:56,400 –> 00:04:57,919
دانید تفاوت بین دو سرویس چیست
159
00:04:57,919 –> 00:04:59,680
یا زمانی که یکی از آنها اشتباه می کند یا چیزی
160
00:04:59,680 –> 00:05:00,639
شبیه به آن،
161
00:05:00,639 –> 00:05:02,320
162
00:05:02,320 –> 00:05:04,000
بنابراین اساساً آنچه می خواهیم انجام
163
00:05:04,000 –> 00:05:05,840
دهیم این است که این چیزی را که ما به آن ژنراتور شناسه سرویس می گوییم پیاده سازی کنیم.
164
00:05:05,840 –> 00:05:08,240
165
00:05:08,240 –> 00:05:09,440
166
00:05:09,440 –> 00:05:10,639
مشکل این است که
167
00:05:10,639 –> 00:05:11,759
168
00:05:11,759 –> 00:05:13,759
وقتی یکی از سرویسهای ما راهاندازی
169
00:05:13,759 –> 00:05:16,639
میشود، باید یک شناسه منحصربهفرد دریافت کنند که هیچ
170
00:05:16,639 –> 00:05:18,720
سرویس دیگری در حال حاضر از آن
171
00:05:18,720 –> 00:05:19,759
استفاده
172
00:05:19,759 –> 00:05:21,039
نمیکند.
173
00:05:21,039 –> 00:05:22,160
174
00:05:22,160 –> 00:05:23,600
175
00:05:23,600 –> 00:05:25,600
در
176
00:05:25,600 –> 00:05:27,199
این مرکز داده یا فقط این کار را درست انجام
177
00:05:27,199 –> 00:05:29,120
دهید
178
00:05:29,120 –> 00:05:30,320
و سپس
179
00:05:30,320 –> 00:05:31,919
این اساساً بخش
180
00:05:31,919 –> 00:05:33,600
اصلی مشکل
181
00:05:33,600 –> 00:05:34,400
182
00:05:34,400 –> 00:05:36,160
183
00:05:36,160 –> 00:05:38,400
است. سرویسهای در حال اجرا
184
00:05:38,400 –> 00:05:40,479
باید همان شناسه را داشته باشند،
185
00:05:40,479 –> 00:05:41,360
اما
186
00:05:41,360 –> 00:05:43,360
میتوانید یک سرویس یک شناسه دریافت کند
187
00:05:43,360 –> 00:05:45,199
و متوقف شود و بعداً
188
00:05:45,199 –> 00:05:46,960
سرویس دیگری همان شناسه را دریافت کند، بنابراین
189
00:05:46,960 –> 00:05:48,160
به نظر میرسد که ما نیز
190
00:05:48,160 –> 00:05:49,280
این قابلیت مانند
191
00:05:49,280 –> 00:05:51,120
بازگشت شناسه
192
00:05:51,120 –> 00:05:52,639
را خواهیم داشت که در آن زمانی که سرویس
193
00:05:52,639 –> 00:05:54,720
انجام شد، به ما می گوید که ایده به
194
00:05:54,720 –> 00:05:56,720
درستی اجرا نمی شود،
195
00:05:56,720 –> 00:05:58,720
بنابراین اساساً کاری که انجام می دهد این است
196
00:05:58,720 –> 00:06:00,560
که شما می دانید به ما اطلاع می دهد که در حال حاضر چه چیزی در
197
00:06:00,560 –> 00:06:02,319
حال اجرا است و همچنین بیایید فقط به
198
00:06:02,319 –> 00:06:03,680
طور منحصر به فرد هر چیزی را
199
00:06:03,680 –> 00:06:05,440
که درست است شناسایی کنیم، بنابراین
200
00:06:05,440 –> 00:06:08,319
مشکل این است اوم
201
00:06:08,319 –> 00:06:09,440
بله،
202
00:06:09,440 –> 00:06:10,639
آیا سوالی دارید یا چیزی
203
00:06:10,639 –> 00:06:14,800
که می خواهید در مورد آن صحبت کنید، بیایید ببینیم،
204
00:06:15,039 –> 00:06:17,520
بنابراین آیا نشانه ای وجود دارد که می دانید
205
00:06:17,520 –> 00:06:18,840
چند
206
00:06:18,840 –> 00:06:23,440
پردازش uh می تواند در حال اجرا باشد یا حدس می
207
00:06:23,440 –> 00:06:25,360
زنم چند شناسه منحصر به فرد ممکن است نیاز به
208
00:06:25,360 –> 00:06:27,280
صدور همزمان داشته باشم درست است. من به نوعی به این
209
00:06:27,280 –> 00:06:28,880
فکر می کنم که آیا باید نگران این باشم
210
00:06:28,880 –> 00:06:31,919
که آیا به یک ویرایشگر int یا 64 بیتی نیاز
211
00:06:31,919 –> 00:06:34,000
دارم که می دانید آیا باید
212
00:06:34,000 –> 00:06:36,560
نگران اندازه شناسه منحصر
213
00:06:36,560 –> 00:06:38,000
به فرد باشم، سؤال خوبی است، بنابراین بیایید فرض کنیم
214
00:06:38,000 –> 00:06:40,319
که یک 32-بیتی است. بیت اینتگ er
215
00:06:40,319 –> 00:06:42,560
برای نگه داشتن همه چیزهای ممکنی که
216
00:06:42,560 –> 00:06:44,639
میتوانند در هر زمان اجرا شوند کافی است، خوب است، بنابراین
217
00:06:44,639 –> 00:06:46,840
عدد صحیح 32 بیتی خوب است،
218
00:06:46,840 –> 00:06:49,440
بیایید ببینیم چه چیز دیگری
219
00:06:49,440 –> 00:06:51,199
در مورد همزمانی چیست، من باید
220
00:06:51,199 –> 00:06:53,360
نگران آمدن چندین پردازش به
221
00:06:53,360 –> 00:06:55,199
طور همزمان یا درخواست باشم. یک شناسه
222
00:06:55,199 –> 00:06:58,080
یا به دنبال انتشار یک شناسه موجود
223
00:06:58,080 –> 00:06:59,360
بله، بنابراین فعلاً فرض کنیم
224
00:06:59,360 –> 00:07:01,440
میتوانید همزمانی را مدیریت کنید، فقط
225
00:07:01,440 –> 00:07:02,720
با این فرض که هیچ همزمانی وجود ندارد
226
00:07:02,720 –> 00:07:04,160
که در آن بتوانید
227
00:07:04,160 –> 00:07:06,080
با قرار دادن همه چیز
228
00:07:06,080 –> 00:07:08,160
مانند واکر و همه چیز و سپس ما میتوانیم از پس آن
229
00:07:08,160 –> 00:07:09,199
برآیید. در مورد اینکه آیا راه بهتری برای انجام این کار وجود دارد یا خیر،
230
00:07:09,199 –> 00:07:10,720
231
00:07:10,720 –> 00:07:11,520
232
00:07:11,520 –> 00:07:13,599
پس حدس میزنم
233
00:07:13,599 –> 00:07:15,520
شاید آخرین سوال در حال حاضر حداقل
234
00:07:15,520 –> 00:07:17,680
این است که عملکردی که در اینجا روی آن کار
235
00:07:17,680 –> 00:07:21,039
میکنم به شدت محدود به تولید
236
00:07:21,039 –> 00:07:24,240
و مدیریت خود شناسهها است یا اینکه آیا
237
00:07:24,240 –> 00:07:25,599
باید نگه دارم در مورد هر نوع
238
00:07:25,599 –> 00:07:27,599
اطلاعاتی در مورد فرآیندهایی که
239
00:07:27,599 –> 00:07:29,680
آن شناسهها را در اختیار دارند، در حال حاضر کاملاً متفاوت هستند.
240
00:07:29,680 –> 00:07:31,360
241
00:07:31,360 –> 00:07:33,280
242
00:07:33,280 –> 00:07:34,560
243
00:07:34,560 –> 00:07:35,840
بنابراین
244
00:07:35,840 –> 00:07:37,680
من حدس میزنم شما افکار اولیه را میدانید،
245
00:07:37,680 –> 00:07:39,199
امم،
246
00:07:39,199 –> 00:07:42,560
این احساس تقریباً شبیه به
247
00:07:42,560 –> 00:07:45,120
یک مشکل تخصیص حافظه است،
248
00:07:45,120 –> 00:07:47,280
جایی که میدانید حافظه
249
00:07:47,280 –> 00:07:48,560
دارید و یک
250
00:07:48,560 –> 00:07:50,879
دسته حافظه آزاد آزاد دارید در جایی که با آزاد شدن
251
00:07:50,879 –> 00:07:54,240
حافظه افزایش مییابد
252
00:07:54,240 –> 00:07:56,319
و به نظر میرسد کمی شبیه به
253
00:07:56,319 –> 00:07:57,120
آن
254
00:07:57,120 –> 00:07:59,120
اوه، اما به نوعی با آنچه
255
00:07:59,120 –> 00:08:01,039
قبلا ذکر کردم مطابقت دارد، میخواهم
256
00:08:01,039 –> 00:08:03,280
بدانید که یک نوع روش را مرور کنید و طرح کنید که
257
00:08:03,280 –> 00:08:05,840
یک رویکرد brute force چگونه خواهد بود
258
00:08:05,840 –> 00:08:08,319
و من حدس میزنم که ممکن است به نظر برسد.
259
00:08:08,319 –> 00:08:09,919
من فقط آن را
260
00:08:09,919 –> 00:08:10,840
در اینجا ترسیم می کنم
261
00:08:10,840 –> 00:08:13,199
کمی ببینیم
262
00:08:13,360 –> 00:08:15,440
ما این را نیروی بی رحم می نامیم،
263
00:08:15,440 –> 00:08:16,639
بنابراین این می شود
264
00:08:16,639 –> 00:08:20,560
شما بدانید من مدیریت خواهم کرد
265
00:08:20,560 –> 00:08:22,560
اجازه دهید آن را بردار
266
00:08:22,560 –> 00:08:25,199
اعداد صحیح بنامیم،
267
00:08:25,360 –> 00:08:28,400
این شناسه های منحصر به فرد من خواهند بود
268
00:08:28,400 –> 00:08:29,520
و
269
00:08:29,520 –> 00:08:30,800
هر زمان
270
00:08:30,800 –> 00:08:34,880
که کسی بخواهد یک شناسه جدید می خواهد
271
00:08:35,200 –> 00:08:37,279
کل لیست را تکرار کنید
272
00:08:37,279 –> 00:08:39,440
تا ببیند اولین
273
00:08:39,440 –> 00:08:42,000
شناسه موجود یا اولین
274
00:08:42,000 –> 00:08:44,880
عدد صحیح استفاده نشده چیست
275
00:08:47,760 –> 00:08:49,519
و سپس همان چیزی که هر زمان که شخصی
276
00:08:49,519 –> 00:08:53,080
یک شناسه را حذف
277
00:08:54,399 –> 00:08:57,839
کرد کل لیست را تکرار کنید تا آن را پیدا کند،
278
00:08:57,839 –> 00:08:59,360
بنابراین
279
00:08:59,360 –> 00:09:01,839
فکر می کنم چیزی شبیه به این باید کار
280
00:09:01,839 –> 00:09:04,240
کند. تنها نوع گرفتن cha در اینجا
281
00:09:04,240 –> 00:09:06,640
ممکن است به این دلیل باشد که وکتور هیچ ترتیبی را ذخیره نمی
282
00:09:06,640 –> 00:09:09,040
کند، بنابراین ممکن است لازم باشد
283
00:09:09,040 –> 00:09:11,920
کمی خلاقیت در مورد نحوه افزودن یا
284
00:09:11,920 –> 00:09:13,600
حذف عناصر داشته باشم تا مطمئن شوم که
285
00:09:13,600 –> 00:09:16,240
اولین ایده ای که پیدا می کنم پایین ترین شناسه است.
286
00:09:16,240 –> 00:09:18,320
حتی
287
00:09:18,320 –> 00:09:20,640
ممکن است این سوال دیگری باشد
288
00:09:20,640 –> 00:09:22,959
که باید بپرسم این است که وقتی شخصی
289
00:09:22,959 –> 00:09:25,040
یک شناسه جدید درخواست میکند
290
00:09:25,040 –> 00:09:25,920
291
00:09:25,920 –> 00:09:28,800
، آیا ترجیح میدهید از
292
00:09:28,800 –> 00:09:31,200
شناسهای که قبلا منتشر شده است در مقابل تولید
293
00:09:31,200 –> 00:09:33,120
یک شناسه جدید استفاده کنید یا اینکه
294
00:09:33,120 –> 00:09:34,720
من بیش از حد به این موضوع فکر میکنم و باید بپرسم. فقط
295
00:09:34,720 –> 00:09:36,800
هر بار یک شناسه جدید ایجاد کنید
296
00:09:36,800 –> 00:09:38,240
، فکر میکنم این سوال خوبی است، فکر میکنم
297
00:09:38,240 –> 00:09:40,399
هیچ اولویتی در
298
00:09:40,399 –> 00:09:42,560
مورد ترتیب
299
00:09:42,560 –> 00:09:44,800
300
00:09:44,800 –> 00:09:46,240
301
00:09:46,240 –> 00:09:48,160
شناسهها وجود ندارد.
302
00:09:48,160 –> 00:09:51,120
در این زمان بسیار خوب است،
303
00:09:51,120 –> 00:09:54,160
پس واقعاً ساده ترین روش این است که
304
00:09:54,160 –> 00:09:57,040
به سادگی
305
00:09:57,839 –> 00:09:59,839
یک عدد صحیح را
306
00:09:59,839 –> 00:10:02,640
هر بار که یک شناسه درخواست می کند یک عدد ردیابی کنید و
307
00:10:02,640 –> 00:10:04,240
فقط هر بار
308
00:10:04,240 –> 00:10:06,160
آن را برگردانید زیرا این اطمینان را ایجاد می کند
309
00:10:06,160 –> 00:10:08,160
که هر زمان که شخصی یک شناسه درخواست می
310
00:10:08,160 –> 00:10:10,320
کند یک uniq دارد. ue id
311
00:10:10,320 –> 00:10:12,079
اوه و در این مورد، هر زمان
312
00:10:12,079 –> 00:10:13,360
که بخواهند شناسه را برگردانند، این کار
313
00:10:13,360 –> 00:10:15,120
ممنوع است زیرا من نیازی به انجام
314
00:10:15,120 –> 00:10:16,720
کاری با آن اطلاعات ندارم، من
315
00:10:16,720 –> 00:10:18,240
هنوز همه اطلاعاتی را دارم که
316
00:10:18,240 –> 00:10:21,120
باید یک شناسه منحصر به فرد را برگردانم.
317
00:10:21,120 –> 00:10:23,279
اشکال اصلی این رویکرد
318
00:10:23,279 –> 00:10:25,600
این است که ما آن را مینامیم من آن را
319
00:10:25,600 –> 00:10:27,680
نشت حافظه مینامم، اما واقعاً واقعی نیست، شاید
320
00:10:27,680 –> 00:10:30,480
بیشتر از این به خاطر خزش حافظه باشد، زیرا حتی
321
00:10:30,480 –> 00:10:32,240
اگر در هر زمان فقط یک فرآیند داشته باشید
322
00:10:32,240 –> 00:10:34,640
که از یک شناسه منحصربهفرد استفاده میکند.
323
00:10:34,640 –> 00:10:37,120
استفاده از حافظه این مولد شناسه
324
00:10:37,120 –> 00:10:39,839
برای همیشه و همیشه به رشد خود ادامه خواهد داد،
325
00:10:39,839 –> 00:10:42,640
بنابراین پیچیدگی فضا o از
326
00:10:42,640 –> 00:10:45,200
n است که n
327
00:10:45,200 –> 00:10:47,120
تعداد کل فرآیندهایی است که تا به
328
00:10:47,120 –> 00:10:48,640
حال به
329
00:10:48,640 –> 00:10:50,480
یک شناسه منحصر به فرد نیاز داشته اند
330
00:10:50,480 –> 00:10:53,040
در مقابل ما می توانیم خیلی بهتر انجام دهیم.
331
00:10:53,040 –> 00:10:54,720
رویکردی که من در اینجا لیست میکنم
332
00:10:54,720 –> 00:10:56,959
در واقع کمی بهتر از این است
333
00:10:56,959 –> 00:10:58,959
که اکنون پیچیدگی فضایی
334
00:10:58,959 –> 00:11:02,800
ما o از آن خواهد بود، اکنون آن را m مینامم که m به
335
00:11:02,800 –> 00:11:04,800
سادگی تعداد فرآیندهای فعال فعلی
336
00:11:04,800 –> 00:11:07,839
است که به شناسههای منحصربهفرد نیاز دارند. در
337
00:11:07,839 –> 00:11:09,360
مقابل تعداد کل فرآیندهایی که تا
338
00:11:09,360 –> 00:11:10,880
به حال نیاز دارند
339
00:11:10,880 –> 00:11:11,680
بله، بله
340
00:11:11,680 –> 00:11:14,000
، بله، اما من هنوز فکر می کنم که ما می توانیم
341
00:11:14,000 –> 00:11:16,079
بهتر از این کار کنیم، اما عمدتاً
342
00:11:16,079 –> 00:11:17,600
به دلیل تکرار در
343
00:11:17,600 –> 00:11:19,200
کل لیست برای یافتن اولین عدد صحیح استفاده نشده،
344
00:11:19,200 –> 00:11:21,200
من فکر می کنم که احتمالاً
345
00:11:21,200 –> 00:11:23,760
um بسیار گران خواهد شد زیرا آن لیست
346
00:11:23,760 –> 00:11:25,279
تمایل به رشد دارد
347
00:11:25,279 –> 00:11:28,240
و بنابراین میخواهم راهی وجود داشته باشد که
348
00:11:28,240 –> 00:11:31,920
بتوانیم آنچه را که مشکلی دارد پیگیری کنیم،
349
00:11:31,920 –> 00:11:34,320
بنابراین این به نوعی
350
00:11:34,320 –> 00:11:36,320
بیشتر
351
00:11:36,320 –> 00:11:38,240
به موازات تخصیص حافظهای است که من در
352
00:11:38,240 –> 00:11:40,079
مورد آن صحبت میکردم
353
00:11:40,079 –> 00:11:42,480
به جای تکرار در
354
00:11:42,480 –> 00:11:44,240
فهرست من
355
00:11:44,240 –> 00:11:46,079
شناسههایی که در حال حاضر استفاده میشوند،
356
00:11:46,079 –> 00:11:49,440
فهرست دومی از شناسههایی که آزاد شدهاند را نگه میدارم
357
00:11:49,440 –> 00:11:51,200
و این ممکن است یک
358
00:11:51,200 –> 00:11:52,880
پشته یا یک صف باشد، من واقعاً
359
00:11:52,880 –> 00:11:54,240
به سفارش اهمیتی نمیدهم
360
00:11:54,240 –> 00:11:56,160
و فقط بررسی میکنم که آیا خالی است یا
361
00:11:56,160 –> 00:11:59,360
نه و اگر زمانی که یک
362
00:11:59,360 –> 00:12:01,120
شناسه uh جدید درخواست می شود خالی نباشد، من فقط یکی را از آنجا خارج می
363
00:12:01,120 –> 00:12:04,160
کنم و و اوه و آن را به
364
00:12:04,160 –> 00:12:06,160
هر کسی که آن را می خواهد می دهیم
365
00:12:06,160 –> 00:12:08,320
و اگر خالی باشد، می دانم که هر
366
00:12:08,320 –> 00:12:12,079
عدد صحیح از صفر تا می دانید آخرین
367
00:12:12,079 –> 00:12:14,320
شناسه تولید شده من در حال حاضر در حال استفاده است،
368
00:12:14,320 –> 00:12:16,480
من فقط آن را افزایش خواهم داد این شمارنده توسط یک شمارنده
369
00:12:16,480 –> 00:12:18,480
و برگرداندن عدد صحیح بعدی،
370
00:12:18,480 –> 00:12:20,959
بنابراین دلیلی که به
371
00:12:20,959 –> 00:12:22,720
ما کمک میکند این است که به جای این
372
00:12:22,720 –> 00:12:25,760
جستجوی n در اینجا، من یک زمان ثابت
373
00:12:25,760 –> 00:12:28,160
از uh از پشته یا
374
00:12:28,160 –> 00:12:29,920
صف
375
00:12:29,920 –> 00:12:31,120
میخواهم
376
00:12:31,120 –> 00:12:32,959
که به نتیجه برسد. این نوعی رویکرد کلی است
377
00:12:32,959 –> 00:12:34,959
که من به آن فکر میکنم، بیشتر
378
00:12:34,959 –> 00:12:36,639
منطقی است،
379
00:12:36,639 –> 00:12:38,000
بله، فکر میکنم منطقی است.
380
00:12:38,000 –> 00:12:39,440
381
00:12:39,440 –> 00:12:41,839
382
00:12:41,839 –> 00:12:43,839
383
00:12:43,839 –> 00:12:46,240
امم،
384
00:12:46,240 –> 00:12:47,760
مگر اینکه سؤالی داشته باشید،
385
00:12:47,760 –> 00:12:50,079
فکر میکنم ممکن است ادامه دهم و شروع به کدنویسی
386
00:12:50,079 –> 00:12:51,279
کنم،
387
00:12:51,279 –> 00:12:53,440
بله، خوب به نظر میرسد، اجازه دهید این کار را انجام دهیم،
388
00:12:53,440 –> 00:12:55,680
389
00:12:55,680 –> 00:12:57,040
بنابراین منظورم این است که چند راه برای انجام این کار وجود دارد،
390
00:12:57,040 –> 00:12:58,480
من میتوانم یک رویکرد شی گرا انجام دهم
391
00:12:58,480 –> 00:12:59,680
که در آن همه چیز وجود دارد. در داخل
392
00:12:59,680 –> 00:13:01,200
شی یا من می توانم آن را بیشتر در یک سبک عملکردی انجام دهم،
393
00:13:01,200 –> 00:13:02,560
اما پس از آن
394
00:13:02,560 –> 00:13:04,399
باید یک سری چیزها را به اطراف منتقل کنیم، بنابراین
395
00:13:04,399 –> 00:13:06,399
می خواهیم این کار را به عنوان یک کلاس انجام
396
00:13:06,399 –> 00:13:08,399
دهیم و این تولید کننده شناسه uh را می نامیم
397
00:13:08,399 –> 00:13:09,440
398
00:13:09,440 –> 00:13:11,920
399
00:13:12,160 –> 00:13:14,639
که همیشه فراموش می کنم این دو نقطه یا نقطه ویرگول
400
00:13:14,639 –> 00:13:17,680
در انتها، بنابراین ما آن را در آنجا قرار دهید
401
00:13:17,680 –> 00:13:19,519
و سپس رابط عمومی برای
402
00:13:19,519 –> 00:13:20,720
این کار
403
00:13:20,720 –> 00:13:22,320
بسیار ساده خواهد بود، ما یک
404
00:13:22,320 –> 00:13:24,560
405
00:13:24,800 –> 00:13:26,480
406
00:13:26,480 –> 00:13:27,050
شناسه دریافت عدد صحیح
407
00:13:27,050 –> 00:13:28,160
[Music] خواهیم داشت
408
00:13:28,160 –> 00:13:30,160
که const نخواهد بود
409
00:13:30,160 –> 00:13:34,959
و ما یک شناسه انتشار عدد صحیح خواهیم داشت
410
00:13:34,959 –> 00:13:36,320
و برای این کار شما باید باید
411
00:13:36,320 –> 00:13:37,279
412
00:13:37,279 –> 00:13:40,240
یک شناسه به من بده تا منتشر کنم،
413
00:13:40,240 –> 00:13:42,000
پس ببینیم آیا اطلاعاتی به من
414
00:13:42,000 –> 00:13:44,320
میدهی، نه اینجا، من باید اطلاعاتی به شما بدهم
415
00:13:44,320 –> 00:13:46,160
416
00:13:46,160 –> 00:13:47,600
و نمیخواهم چیزی به شما بگویم
417
00:13:47,600 –> 00:13:49,760
در
418
00:13:49,760 –> 00:13:51,360
واقع خوب است
419
00:13:51,360 –> 00:13:52,690
و سپس
420
00:13:52,690 –> 00:13:54,320
[موسیقی]
421
00:13:54,320 –> 00:13:56,000
اینجا بیایید فقط در مورد آن صحبت کنیم. دادههایی را
422
00:13:56,000 –> 00:13:58,160
که میخواهم ذخیره کنم، بنابراین یکی از آنها
423
00:13:58,160 –> 00:13:59,440
424
00:13:59,440 –> 00:14:01,199
آخرین شناسهای خواهد بود که صادر شده
425
00:14:01,199 –> 00:14:04,399
426
00:14:04,399 –> 00:14:07,440
است،
427
00:14:09,440 –> 00:14:10,880
اگر نمیدانید که آیا نیازی به
428
00:14:10,880 –> 00:14:16,480
پیگیری شناسهها دارم یا خیر، اطلاعات بعدی را در صفر تنظیم میکنیم. که منتشر شده اند،
429
00:14:16,480 –> 00:14:20,880
فکر نمی کنم این کار را انجام دهم زیرا
430
00:14:20,880 –> 00:14:23,199
بله، چون من فقط درمان هستم، فقط به آن
431
00:14:23,199 –> 00:14:25,040
علاقه دارم، آیا باید شناسه
432
00:14:25,040 –> 00:14:26,320
بعدی
433
00:14:26,320 –> 00:14:27,120
434
00:14:27,120 –> 00:14:28,240
435
00:14:28,240 –> 00:14:30,320
را که هنوز صادر نکرده ام یا یکی
436
00:14:30,320 –> 00:14:31,519
از آنها را به شما بدهم. که به من بازگردانده شده است،
437
00:14:31,519 –> 00:14:32,880
بنابراین من در واقع نیازی به ذخیره کردن آن ندارم، در
438
00:14:32,880 –> 00:14:34,160
439
00:14:34,160 –> 00:14:38,160
عوض یک um do a st را در اینجا ذخیره می
440
00:14:38,160 –> 00:14:41,279
کنم اعداد صحیح
441
00:14:41,279 –> 00:14:42,480
برای شناسههای رایگان،
442
00:14:42,480 –> 00:14:45,480
443
00:14:45,600 –> 00:14:48,880
ما فقط آن را به عنوان خالی مقداردهی اولیه میکنیم،
444
00:14:48,880 –> 00:14:50,720
بنابراین این ساختار پایه کلاس
445
00:14:50,720 –> 00:14:52,720
Uh ما
446
00:14:52,720 –> 00:14:54,160
در اینجا است و من فقط میروم
447
00:14:54,160 –> 00:14:55,600
و تعاریف را درست در
448
00:14:55,600 –> 00:14:57,279
اینجا قرار میدهم اگر برای شما خوب است، بله اینطور است.
449
00:14:57,279 –> 00:14:58,720
کاملاً خوب است،
450
00:14:58,720 –> 00:15:01,040
بنابراین
451
00:15:01,040 –> 00:15:02,480
فایل cpp
452
00:15:02,480 –> 00:15:04,399
بله دقیقاً خوب است،
453
00:15:04,399 –> 00:15:07,040
بنابراین بیایید برای دریافت شناسه، همانطور که
454
00:15:07,040 –> 00:15:10,279
قبلاً در مورد آن صحبت کردیم، ببینیم اگر
455
00:15:10,279 –> 00:15:13,760
3id.size بزرگتر از صفر است،
456
00:15:13,760 –> 00:15:15,680
پس من
457
00:15:15,680 –> 00:15:19,480
ids.pop رایگان را برمی گردم،
458
00:15:19,920 –> 00:15:22,160
در غیر این صورت
459
00:15:22,160 –> 00:15:24,959
من می خواهم برگردم
460
00:15:24,959 –> 00:15:27,120
آخرین شناسه من می خواهم افزایش پست را
461
00:15:27,120 –> 00:15:30,800
در اینجا انجام دهم زیرا ابتدا مقدار را برمی گرداند
462
00:15:30,800 –> 00:15:32,480
و سپس آن را افزایش می دهد
463
00:15:32,480 –> 00:15:35,040
464
00:15:35,120 –> 00:15:38,880
تا درست به نظر برسد
465
00:15:38,959 –> 00:15:41,680
و سپس برای شناسه انتشار بیایید به
466
00:15:41,680 –> 00:15:43,920
467
00:15:44,959 –> 00:15:47,279
اینجا بیایم خیلی خوب، پس چگونه می توانم شناسه انتشار را انجام دهم
468
00:15:47,279 –> 00:15:51,120
اوه خوب این باید خوب باشد
469
00:15:53,120 –> 00:15:55,839
آیا باید نگران بدرفتاری
470
00:15:55,839 –> 00:15:58,399
مشتریان باشم به عبارت دیگر اوه، فرض کنید من
471
00:15:58,399 –> 00:16:01,120
شناسه را صادر کردم
472
00:16:01,120 –> 00:16:02,240
آه
473
00:16:02,240 –> 00:16:04,240
که آن شناسه به من بازگردانده شده است،
474
00:16:04,240 –> 00:16:04,959
475
00:16:04,959 –> 00:16:06,160
آیا باید نگران کسی باشم که
476
00:16:06,160 –> 00:16:08,560
دوباره آن شناسه را آزاد کند
477
00:16:08,560 –> 00:16:10,000
، این سوال خوبی است من فکر می کنم در حال حاضر
478
00:16:10,000 –> 00:16:11,440
نه اجازه دهید به عنوان فرض کنید مشتریان رفتار خوبی دارند،
479
00:16:11,440 –> 00:16:12,639
اما این بحث جالبی است
480
00:16:12,639 –> 00:16:14,240
که میتوانیم بعداً درباره آن صحبت کنیم
481
00:16:14,240 –> 00:16:16,079
، این که چگونه میتوانید با آن رفتار
482
00:16:16,079 –> 00:16:17,519
کنید، بنابراین این یکی باید بسیار
483
00:16:17,519 –> 00:16:23,560
آسان باشد.
484
00:16:23,839 –> 00:16:25,839
485
00:16:25,839 –> 00:16:26,959
486
00:16:26,959 –> 00:16:29,440
حداقل
487
00:16:29,440 –> 00:16:30,320
488
00:16:30,320 –> 00:16:32,639
این کلیت نوع رویکردی است
489
00:16:32,639 –> 00:16:34,560
که من در اینجا به آن فکر می کردم،
490
00:16:34,560 –> 00:16:36,720
پس شاید
491
00:16:36,720 –> 00:16:38,880
بیایید یک بار با یک مورد استفاده از
492
00:16:38,880 –> 00:16:41,759
آن عبور کنیم تا مطمئن شویم همانطور که انتظار می رود کار می کند، مطمئن باشید بله،
493
00:16:41,759 –> 00:16:43,680
پس بیایید اوم
494
00:16:43,680 –> 00:16:45,199
شما بدانید بیایید بگوییم یک
495
00:16:45,199 –> 00:16:46,320
uh
496
00:16:46,320 –> 00:16:47,839
get id
497
00:16:47,839 –> 00:16:50,399
بنابراین این صفر برمی گردد
498
00:16:50,399 –> 00:16:54,000
و سپس آخرین شناسه برابر با یک است
499
00:16:54,000 –> 00:16:55,440
دریافت شناسه
500
00:16:55,440 –> 00:16:57,759
اکنون
501
00:16:57,759 –> 00:16:59,040
این یک
502
00:16:59,040 –> 00:17:01,759
شناسه آخر برابر با دو است
503
00:17:01,759 –> 00:17:04,640
من می خواهم یک شناسه دیگر بگیرم
504
00:17:04,640 –> 00:17:06,959
بیایید 2 را برگردانیم
505
00:17:06,959 –> 00:17:08,720
که برابر با 3 است.
506
00:17:08,720 –> 00:17:10,000
507
00:17:10,000 –> 00:17:11,839
من میخواهم
508
00:17:11,839 –> 00:17:14,240
شناسه را
509
00:17:14,480 –> 00:17:16,839
به 1 رها کنم، بیایید
510
00:17:16,839 –> 00:17:19,439
یکی را آزاد کنیم، بنابراین اکنون آخرین شناسه هنوز برابر با
511
00:17:19,439 –> 00:17:20,959
سه است، آه،
512
00:17:20,959 –> 00:17:23,039
سه شناسه من
513
00:17:23,039 –> 00:17:24,640
برابر است با
514
00:17:24,640 –> 00:17:27,599
یک، من آن را روی پشته فشار
515
00:17:27,599 –> 00:17:30,960
516
00:17:30,960 –> 00:17:35,200
دادم.
517
00:17:36,559 –> 00:17:39,919
حالا اندازه من در اینجا
518
00:17:39,919 –> 00:17:42,080
نخواهد بود بزرگتر از ze خواهد بود پس من
519
00:17:42,080 –> 00:17:45,039
آن مقدار را بیرون می آورم تا دریافت کنم که
520
00:17:45,039 –> 00:17:46,559
آخرین شناسه هنوز برابر با
521
00:17:46,559 –> 00:17:49,120
سه خواهد بود و شناسه های رایگان اکنون خالی خواهند بود،
522
00:17:49,120 –> 00:17:51,039
خوب این به نظر می رسد همان کاری را که
523
00:17:51,039 –> 00:17:53,760
ما می خواهیم انجام دهد
524
00:17:54,080 –> 00:17:57,039
بله بله این خیلی خوب است،
525
00:17:57,039 –> 00:17:59,120
خیلی خوب است، بله، من فکر می کنم این
526
00:17:59,120 –> 00:18:01,520
شروع خوبی است،
527
00:18:01,520 –> 00:18:02,960
بنابراین بیایید در مورد نحوه
528
00:18:02,960 –> 00:18:04,160
اجرای این رویکرد
529
00:18:04,160 –> 00:18:05,280
530
00:18:05,280 –> 00:18:07,120
صحبت کنیم.
531
00:18:07,120 –> 00:18:08,559
امممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممم
532
00:18:08,559 –> 00:18:10,480
که میدونی پیچیدگی زمان اجرا
533
00:18:10,480 –> 00:18:12,799
وفضا باشه،بزاریم این رو رسمی نکنیم
534
00:18:12,799 –> 00:18:13,840
پس چی میگید درزمان
535
00:18:13,840 –> 00:18:16,320
وپیچیدگی فضای این راه حل،
536
00:18:16,320 –> 00:18:18,720
بنابراین ببینیم پیچیدگی زمان اجرا
537
00:18:18,720 –> 00:18:20,000
538
00:18:20,000 –> 00:18:22,880
get id
539
00:18:22,880 –> 00:18:24,799
ثابت باشه چون ما در اینجا از یک
540
00:18:24,799 –> 00:18:26,160
پشته استفاده میکنیم
541
00:18:26,160 –> 00:18:29,360
pop یک عملیات زمان
542
00:18:29,360 –> 00:18:31,679
ثابت است و اعداد صحیح را افزایش می دهد زمان ثابت
543
00:18:31,679 –> 00:18:32,960
و سپس همان چیزی که با آزاد
544
00:18:32,960 –> 00:18:34,880
کردن شناسه، بنابراین فشار دادن به پشته نیز
545
00:18:34,880 –> 00:18:36,960
زمان ثابت است، بنابراین پیچیدگی فضا یا زمانی
546
00:18:36,960 –> 00:18:38,799
برای هر یک از
547
00:18:38,799 –> 00:18:40,320
عملیات ها ثابت
548
00:18:40,320 –> 00:18:42,960
است، پیچیدگی فضا در اینجا به
549
00:18:42,960 –> 00:18:44,080
میدانید وقتی میخواهم این را برای شما بنویسم
550
00:18:44,080 –> 00:18:45,679
551
00:18:45,679 –> 00:18:48,799
پیچیدگی زمانی
552
00:18:49,200 –> 00:18:52,480
o از یک است
553
00:18:54,080 –> 00:18:57,200
یا پیچیدگی فضای شناسه را دریافت کنم و شناسه را آزاد کنم،
554
00:18:57,200 –> 00:18:59,600
555
00:18:59,600 –> 00:19:02,080
بنابراین این بسیار عالی خواهد بود،
556
00:19:02,080 –> 00:19:04,880
ما آن را درست شناسههای فعال مینامیم،
557
00:19:04,880 –> 00:19:07,600
558
00:19:07,600 –> 00:19:09,520
بنابراین با این وجود
559
00:19:09,520 –> 00:19:11,679
خدمات بسیاری در حال حاضر وجود دارد. با استفاده از یکی از
560
00:19:11,679 –> 00:19:12,880
شناسههای
561
00:19:12,880 –> 00:19:15,200
من، نه درست نیست، این
562
00:19:15,200 –> 00:19:17,840
همه شناسههای منتشر شده خواهند بود،
563
00:19:17,840 –> 00:19:19,360
بنابراین
564
00:19:19,360 –> 00:19:20,799
مهم نیست که چند سرویس در
565
00:19:20,799 –> 00:19:22,880
حال حاضر فعال هستند، فقط چند سرویس
566
00:19:22,880 –> 00:19:26,160
وجود دارد.
567
00:19:26,160 –> 00:19:27,360
568
00:19:27,360 –> 00:19:28,720
این به نوعی شبیه
569
00:19:28,720 –> 00:19:32,799
شناسه های منتشر شده منهای شناسه های فعال
570
00:19:32,799 –> 00:19:33,760
571
00:19:33,760 –> 00:19:36,080
است، آه این است که حتی
572
00:19:36,080 –> 00:19:39,840
شناسه انتشار من از صفر شروع می شود،
573
00:19:43,520 –> 00:19:44,400
بنابراین بسیار
574
00:19:44,400 –> 00:19:46,480
خوب، این چالش برانگیزتر از
575
00:19:46,480 –> 00:19:48,559
آن
576
00:19:48,559 –> 00:19:50,320
چیزی است که انتظار داشتم، بنابراین قبل از انتشار هر چیزی، من می خواهم به
577
00:19:50,320 –> 00:19:52,080
نوعی در این مورد قدم بگذارم. قبل از اینکه هر
578
00:19:52,080 –> 00:19:53,760
ایده ای منتشر
579
00:19:53,760 –> 00:19:56,320
شود، پیچیدگی فضایی من فقط یکی از یکی است،
580
00:19:56,320 –> 00:19:58,400
زیرا من چیزی را ذخیره نمی کنم،
581
00:19:58,400 –> 00:20:00,960
بله با آزاد شدن همه چیز، پس
582
00:20:00,960 –> 00:20:03,039
مجموعه فضایی من، بیایید بگوییم اکنون تمام
583
00:20:03,039 –> 00:20:04,720
کاری که مردم انجام می دهند این است که
584
00:20:04,720 –> 00:20:07,360
به o از شناسه های منتشر شده می رود.
585
00:20:07,360 –> 00:20:10,799
سپس با درخواست بیشتر،
586
00:20:10,799 –> 00:20:13,360
به شناسههای منتشر شده
587
00:20:13,360 –> 00:20:16,880
منهای
588
00:20:17,360 –> 00:20:19,600
شناسههای فعال کاهش مییابد، بنابراین حدس میزنم منظورم این است که
589
00:20:19,600 –> 00:20:21,440
شاید بتوانیم در مورد پیچیدگی فضای متوسط
590
00:20:21,440 –> 00:20:23,440
ینجا صحبت کنیم و وا
591
00:20:23,440 –> 00:20:25,039
عاً بستگی به این دارد که
592
00:20:25,039 –> 00:20:26,720
دانید در سمت مشتری چه می
593
00:20:26,720 –> 00:20:30,799
گذرد. بله، آیا بیشتر بین
594
00:20:30,799 –> 00:20:35,600
درخواستهای uh برای شناسه و انتشار شناسهها متعادل
595
00:20:35,600 –> 00:20:37,520
میشود، آیا زمانی فرا میرسد
596
00:20:37,520 –> 00:20:40,320
که تعداد زیادی شناسههای منتشر شده را دریافت میکنم و
597
00:20:40,320 –> 00:20:42,720
سپس به نوعی آرامش میدهم، در این صورت من
598
00:20:42,720 –> 00:20:44,880
واقعاً یک آه بزرگ خواهم داشت. این
599
00:20:44,880 –> 00:20:46,480
ایدهها در اینجا بیش از حد خواهند بود و میتوانند
600
00:20:46,480 –> 00:20:48,559
واقعاً بزرگ شوند
601
00:20:48,559 –> 00:20:50,400
یا اینکه عمدتاً فقط شناسههای جدیدی
602
00:20:50,400 –> 00:20:52,559
درخواست میشوند که در
603
00:20:52,559 –> 00:20:54,799
این صورت این تعداد کم و بیش تقریباً
604
00:20:54,799 –> 00:20:57,600
صفر خواهد بود، زیرا فقط تعداد انگشت شماری را میشناسید
605
00:20:57,600 –> 00:20:59,360
که منتشر میشوند. استفاده خواهد شد، اما
606
00:20:59,360 –> 00:21:01,440
در غیر این صورت، این عدد صحیح در اینجا افزایش می
607
00:21:01,440 –> 00:21:02,640
یابد، بنابراین
608
00:21:02,640 –> 00:21:05,280
فکر می کنم من یک
609
00:21:05,280 –> 00:21:07,360
پاسخ برای شما در مورد آن یکی ندارم، اما
610
00:21:07,360 –> 00:21:08,799
واقعاً بستگی به نحوه
611
00:21:08,799 –> 00:21:10,240
استفاده از آن دارد،
612
00:21:10,240 –> 00:21:11,600
بله، فکر می کنم این باعث می شود حس
613
00:21:11,600 –> 00:21:13,200
هر چند آن را مانند آن
614
00:21:13,200 –> 00:21:14,799
k است از این
615
00:21:14,799 –> 00:21:16,159
نظر بستگی به گردش کار دارد
616
00:21:16,159 –> 00:21:17,600
که اساساً درست است،
617
00:21:17,600 –> 00:21:18,960
بنابراین دقیقاً آنطور که شما گفتید نیست، ما می توانیم در
618
00:21:18,960 –> 00:21:20,559
مورد چه نوع بدترین
619
00:21:20,559 –> 00:21:22,080
موردی صحبت
620
00:21:22,080 –> 00:21:22,799
621
00:21:22,799 –> 00:21:23,760
کنیم، بله
622
00:21:23,760 –> 00:21:25,280
و من می گویم احتمالاً بدترین
623
00:21:25,280 –> 00:21:27,360
حالت است. اوه این ایده خوبی است، پس بیایید این کار را انجام دهیم
624
00:21:27,360 –> 00:21:30,360
625
00:21:30,480 –> 00:21:34,320
تا این مورد در اینجا
626
00:21:36,080 –> 00:21:37,520
بدترین حالت باشد
627
00:21:37,520 –> 00:21:39,600
و من صادقانه بگویم که مورد مورد انتظار است،
628
00:21:39,600 –> 00:21:41,679
629
00:21:41,679 –> 00:21:43,679
من انتظار دارم که اکثراً متعادل باشد
630
00:21:43,679 –> 00:21:46,559
یا بیشتر شناسه ها در مقابل
631
00:21:46,559 –> 00:21:48,240
انتشار درخواست شوند، بنابراین من واقعاً انتظار دارم که این
632
00:21:48,240 –> 00:21:49,520
مورد بیشتر در امتداد
633
00:21:49,520 –> 00:21:52,000
موارد مورد انتظار باشید،
634
00:21:52,000 –> 00:21:53,200
بله،
635
00:21:53,200 –> 00:21:54,240
636
00:21:54,240 –> 00:21:56,320
بله، بله، منطقی است،
637
00:21:56,320 –> 00:21:59,440
بسیار عالی، بله، بنابراین من فکر می کنم برای
638
00:21:59,440 –> 00:22:00,799
مورد توسعه یافته ای که در مورد آن صحبت کردیم،
639
00:22:00,799 –> 00:22:01,919
چنین است، فکر می کنم این یک
640
00:22:01,919 –> 00:22:03,360
راه حل بسیار خوب است، درست است که می دانید شما باید این کار را انجام دهید،
641
00:22:03,360 –> 00:22:05,280
نمی توانید خیلی بهتر از یک مورد برای
642
00:22:05,280 –> 00:22:07,600
آن موارد درست انجام دهید، بنابراین
643
00:22:07,600 –> 00:22:09,120
بدیهی است که جالب نیست، بنابراین
644
00:22:09,120 –> 00:22:10,640
آنچه اکنون می خواهم در
645
00:22:10,640 –> 00:22:12,720
646
00:22:12,720 –> 00:22:14,320
مورد آن صحبت کنم این است که
647
00:22:14,320 –> 00:22:16,159
بدترین حالت است.
648
00:22:16,159 –> 00:22:18,240
این جایی است که شما مقدار زیادی ivs
649
00:22:18,240 –> 00:22:20,080
در آن دارید، در
650
00:22:20,080 –> 00:22:21,200
651
00:22:21,200 –> 00:22:22,960
بدترین حالت برای این راه حل نیاز
652
00:22:22,960 –> 00:22:24,960
به انتشار مقدار زیادی از هرزنامه های ID
653
00:22:24,960 –> 00:22:26,559
دارید و شما فقط
654
00:22:26,559 –> 00:22:28,080
مقدار زیادی از حافظه را با پشته خود اشغال می
655
00:22:28,080 –> 00:22:29,840
656
00:22:29,840 –> 00:22:31,039
657
00:22:31,039 –> 00:22:33,039
کنید. میخواهم این کار را انجام دهیم، بیایید امتحان کنیم و
658
00:22:33,039 –> 00:22:34,400
من در واقع میخواهم سعی کنم روی
659
00:22:34,400 –> 00:22:36,880
کمیت کلیک کنم نه فقط مانند پیچیدگی فضا،
660
00:22:36,880 –> 00:22:38,720
بلکه دوست دارم واقعاً چقدر حافظه استفاده میکنیم،
661
00:22:38,720 –> 00:22:40,640
زیرا وقتی به خصوص
662
00:22:40,640 –> 00:22:42,159
در مورد آن صحبت میکنید، حتی نقشهای انتهایی را در
663
00:22:42,159 –> 00:22:43,360
هنگام استقرار خدمات خود منعکس میکنید. برای
664
00:22:43,360 –> 00:22:44,559
تولید شما نیاز دارید که بتوانید
665
00:22:44,559 –> 00:22:45,679
666
00:22:45,679 –> 00:22:48,000
دلیلی را در مورد
667
00:22:48,000 –> 00:22:49,760
خدمات خود دوست داشته باشید یا برای خدمات خود حافظه اختصاص دهید، بنابراین
668
00:22:49,760 –> 00:22:51,280
بیایید سعی کنیم به این فکر
669
00:22:51,280 –> 00:22:52,880
کنیم که چقدر یک واقعی است نه فقط
670
00:22:52,880 –> 00:22:56,000
اساساً خانه واقعی مانند
671
00:22:56,000 –> 00:22:57,600
بدترین حالت
672
00:22:57,600 –> 00:22:59,840
673
00:22:59,840 –> 00:23:01,200
674
00:23:01,200 –> 00:23:02,240
675
00:23:02,240 –> 00:23:03,760
676
00:23:03,760 –> 00:23:05,120
حافظه.
677
00:23:05,120 –> 00:23:06,640
بسیار خوب، بنابراین
678
00:23:06,640 –> 00:23:10,000
آنچه ما در اینجا ذخیره می کنیم یک عدد صحیح 32 بیتی است
679
00:23:10,000 –> 00:23:11,679
680
00:23:11,679 –> 00:23:15,360
که 4 بایت است،
681
00:23:16,720 –> 00:23:17,270
بنابراین
682
00:23:17,270 –> 00:23:18,559
683
00:23:18,559 –> 00:23:22,039
استفاده از حافظه [Music]
684
00:23:23,200 –> 00:23:24,720
برابر است با
685
00:23:24,720 –> 00:23:27,440
چهار برابر n بایت، در بدترین حالت، کل
686
00:23:27,440 –> 00:23:29,039
مقدار حافظه ای است که ما در آن استفاده می کنیم.
687
00:23:29,039 –> 00:23:30,000
688
00:23:30,000 –> 00:23:32,120
اینجا
689
00:23:32,120 –> 00:23:34,799
[مو sic]
690
00:23:34,799 –> 00:23:35,760
بله
691
00:23:35,760 –> 00:23:36,720
و وجود دارد،
692
00:23:36,720 –> 00:23:37,919
بنابراین در واقع مقداری سربار اضافی نیز وجود دارد، در
693
00:23:37,919 –> 00:23:39,520
واقع شما
694
00:23:39,520 –> 00:23:41,200
به یاد دارید که چگونه پشته ها در c
695
00:23:41,200 –> 00:23:42,720
به علاوه به اضافه
696
00:23:42,720 –> 00:23:45,279
پیاده سازی می شوند
697
00:23:45,279 –> 00:23:47,360
698
00:23:47,360 –> 00:23:49,279
699
00:23:49,279 –> 00:23:50,480
700
00:23:50,480 –> 00:23:53,360
. با استفاده از dq
701
00:23:53,360 –> 00:23:55,360
درست می گویید بله بله، مثل این است که یک
702
00:23:55,360 –> 00:23:57,679
جورهایی شبیه بردار است، اما بله،
703
00:23:57,679 –> 00:23:59,600
اما می توانم به آن بگویم که به جای آن از یک بردار
704
00:23:59,600 –> 00:24:00,640
استفاده کند،
705
00:24:00,640 –> 00:24:02,559
بله، اما شما درست می گویید، من نمی
706
00:24:02,559 –> 00:24:04,000
دانم این سربار چیست؟
707
00:24:04,000 –> 00:24:07,039
برای پایان، واقعاً هیچ نگرانی نیست، بنابراین من از
708
00:24:07,039 –> 00:24:08,240
شما انتظار ندارم، من فقط می خواهم به این
709
00:24:08,240 –> 00:24:10,000
دلیل است که می خواستم از طریق این موضوع صحبت کنم،
710
00:24:10,000 –> 00:24:13,360
مطمئناً اساساً
711
00:24:13,360 –> 00:24:17,360
بسیار شبیه به نوع Rebased یا مانند اوم
712
00:24:17,360 –> 00:24:19,520
بله، حدس می زنم بله یک نرخ است ساختار دادههای مبتنی بر داده
713
00:24:19,520 –> 00:24:21,919
معمولاً استفاده میشود، دلیل
714
00:24:21,919 –> 00:24:23,840
اینکه O1 است این است که آنها معمولاً از چیزی استفاده میکنند که به
715
00:24:23,840 –> 00:24:25,919
آن رویکرد دوبرابری میگویند یا اساساً
716
00:24:25,919 –> 00:24:28,080
مثل اینکه میدانید من دارم، فرض کنید از آرایهای
717
00:24:28,080 –> 00:24:32,320
مانند شما چهار اسلات درست میدانید، من
718
00:24:32,320 –> 00:24:34,640
یکی دو سه چهار حالا میخواهم
719
00:24:34,640 –> 00:24:36,480
چیز دیگری قرار دهم. پشته i اگر یک
720
00:24:36,480 –> 00:24:38,320
آرایه جدید از پنج اسکوات درست کردم
721
00:24:38,320 –> 00:24:40,640
و همه چیز را کپی کردم و سپس
722
00:24:40,640 –> 00:24:43,360
پنج مورد را اینجا قرار
723
00:24:43,360 –> 00:24:45,600
دادم،
724
00:24:45,679 –> 00:24:47,679
این اساساً آه از n هر
725
00:24:47,679 –> 00:24:49,200
فشار دقیقاً
726
00:24:49,200 –> 00:24:51,120
درست است که قطعاً ایدهآل نیست، بنابراین
727
00:24:51,120 –> 00:24:53,200
کاری که سادهسازیهای حرکتی انجام میدهند این
728
00:24:53,200 –> 00:24:55,760
است که هر بار که نیاز به تخصیص مجدد
729
00:24:55,760 –> 00:24:57,279
آنها به
730
00:24:57,279 –> 00:24:59,120
سمت راست است. تعداد چیزها
731
00:24:59,120 –> 00:25:00,880
بله، بنابراین این باعث می شود که
732
00:25:00,880 –> 00:25:02,960
زمان ثابت استهلاک شود،
733
00:25:02,960 –> 00:25:05,360
زیرا به طور متوسط مانند زمانی که شما آن
734
00:25:05,360 –> 00:25:06,799
ا دوبرابر کنید اگر چیزی از چهار دا
735
00:25:06,799 –> 00:25:09,039
ته باشم، به این معنی است که اگر اکنون آن را دو برابر کنم، چهار چی
736
00:25:09,039 –> 00:25:11,279
بعدی من همگی زمان ثابتی خواهند بود، حتی اگ
737
00:25:11,279 –> 00:25:12,559
من اکنون چهار کار اضافی انجام می دهم،
738
00:25:12,559 –> 00:25:14,400
هر کدام از کارهای
739
00:25:14,400 –> 00:25:15,919
بعدی فقط یکی است، بنابراین به طور میانگین
740
00:25:15,919 –> 00:25:18,559
به سمت راست ثابت است، بله، اما
741
00:25:18,559 –> 00:25:20,320
این اساساً به این معنی است که اگر شما
742
00:25:20,320 –> 00:25:22,080
n چیز را در پشته من داشته باشم، بدترین حالت
743
00:25:22,080 –> 00:25:25,200
حافظه در واقع دو برابر
744
00:25:25,200 –> 00:25:26,320
درست است.
745
00:25:26,320 –> 00:25:28,640
بنابراین ما به این می گوییم که استفاده واقعی از حافظه
746
00:25:28,640 –> 00:25:31,679
دو برابر چهار خواهد بود و به علاوه
747
00:25:31,679 –> 00:25:34,240
هر سرباری از
748
00:25:34,240 –> 00:25:36,480
سربار dq با این که در اینجا بله بله
749
00:25:36,480 –> 00:25:39,360
که تعدادی فیلد دارد احتمالاً بله
750
00:25:39,360 –> 00:25:41,039
و حتی بردار i است. فکر
751
00:25:41,039 –> 00:25:42,640
کنید آخرین پایان یا
752
00:25:42,640 –> 00:25:44,559
آخرین شاخص و غیره را دنبال کنید،
753
00:25:44,559 –> 00:25:46,559
بنابراین بله، خیلی خوب است، بنابراین بله، این دو برابر چهار خواهد بود،
754
00:25:46,559 –> 00:25:49,360
بنابراین هشت برابر تعداد
755
00:25:49,360 –> 00:25:50,400
756
00:25:50,400 –> 00:25:51,760
بایتها بله
757
00:25:51,760 –> 00:25:53,840
بله دقیقاً، بنابراین اجازه دهید بدانید که ما
758
00:25:53,840 –> 00:25:55,200
در مورد این یک عدد صحیح است، بنابراین بیایید
759
00:25:55,200 –> 00:25:58,240
فرض کنیم برای حالا n مانند 2 میلیارد است که
760
00:25:58,240 –> 00:26:00,720
ما از چند پرواز استفاده می کنیم فقط برای
761
00:26:00,720 –> 00:26:02,960
اینکه بدانید کمی ریاضی واقعی را انجام دهید بله به
762
00:26:02,960 –> 00:26:04,880
این صورت است که برای 2 میلیارد این می
763
00:26:04,880 –> 00:26:05,679
شود
764
00:26:05,679 –> 00:26:08,000
765
00:26:08,400 –> 00:26:09,600
16
766
00:26:09,600 –> 00:26:11,520
میلیارد بایت
767
00:26:11,520 –> 00:26:13,840
بله این مقدار زیادی است
768
00:26:13,840 –> 00:26:16,960
بله بنابراین 16 گیگابایت درست است بله اوم
769
00:26:16,960 –> 00:26:18,240
شما که هستید میدانیم که
770
00:26:18,240 –> 00:26:19,840
رایانههای مدرن تا این حد دارند، اما
771
00:26:19,840 –> 00:26:21,679
هنوز هم کاری که ما میخواهیم انجام دهیم بیاهمیت است،
772
00:26:21,679 –> 00:26:24,080
773
00:26:24,080 –> 00:26:26,080
خوب، خوب، بنابراین اکنون چیزی که میخواهم در مورد آن صحبت کنم این است
774
00:26:26,080 –> 00:26:27,919
که فرض کنیم میدانید زمان ثابت
775
00:26:27,919 –> 00:26:29,919
فوقالعاده سریع بوده و ما در واقع
776
00:26:29,919 –> 00:26:31,360
یک دستگاه نمیخریم. تنگنا در زمان یا
777
00:26:31,360 –> 00:26:33,039
تنگنا در فضا،
778
00:26:33,039 –> 00:26:35,840
بنابراین چه کاری میتوانیم انجام دهیم تا فضای مورد استفاده را کاهش دهیم،
779
00:26:35,840 –> 00:26:37,440
780
00:26:37,440 –> 00:26:39,679
حتی اگر این به معنای بدتر کردن پیچیدگی زمان ما
781
00:26:39,679 –> 00:26:42,480
782
00:26:42,559 –> 00:26:44,880
باشد، زیرا اولین چیزی
783
00:26:44,880 –> 00:26:46,480
که هنگام صحبت در مورد آن به ذهن متبادر میشود،
784
00:26:46,480 –> 00:26:47,840
785
00:26:47,840 –> 00:26:49,520
محدودیتهای نماهای فضا را میدانید. فقط
786
00:26:49,520 –> 00:26:51,760
یک cap را درست تنظیم می کنیم و انجام آن
787
00:26:51,760 –> 00:26:52,960
بسیار آسان است، شاید در
788
00:26:52,960 –> 00:26:55,120
سازنده id generator ما
789
00:26:55,120 –> 00:26:58,960
بتوانیم حداکثر اندازه را برای پشته خود تعیین کنیم
790
00:26:58,960 –> 00:27:00,720
و سپس هر زمان که به آن مقدار رسید،
791
00:27:00,720 –> 00:27:03,120
می توانیم به جای uh هر زمان
792
00:27:03,120 –> 00:27:04,559
که چیزی منتشر شد.
793
00:27:04,559 –> 00:27:06,240
بازگرداندن به شناسه رایگان،
794
00:27:06,240 –> 00:27:08,000
فقط کاری با آن انجام ندهید،
795
00:27:08,000 –> 00:27:10,640
بنابراین این یک رویکرد است،
796
00:27:10,640 –> 00:27:11,919
اما سوال شما این نبود، سوال شما
797
00:27:11,919 –> 00:27:14,640
این بود که آیا راهی برای
798
00:27:14,640 –> 00:27:16,720
معاوضه پیچیدگی زمانی با پیچیدگی فضا
799
00:27:16,720 –> 00:27:18,880
در بدترین حالتی که ما صحبت می کنیم وجود دارد.
800
00:27:18,880 –> 00:27:20,559
در مورد اینجا
801
00:27:20,559 –> 00:27:22,159
بله منظورم این است که فکر می کنم ما می توانیم
802
00:27:22,159 –> 00:27:23,279
روش های دیگری را نیز برای
803
00:27:23,279 –> 00:27:25,360
کاهش فضا جستجو کنیم، فکر می کنم یکی از روش
804
00:27:25,360 –> 00:27:26,559
هایی که شما اشاره کردید جالب است، اما
805
00:27:26,559 –> 00:27:28,480
من فکر می کنم این اساساً
806
00:27:28,480 –> 00:27:30,320
بدترین موارد را دارد، همان راه حل اولیه ای که
807
00:27:30,320 –> 00:27:31,679
در مورد آن صحبت کردیم. یک
808
00:27:31,679 –> 00:27:34,480
شناسه را افزایش دهید و هرگز آن را درست برنگردانید، همانطور که
809
00:27:34,480 –> 00:27:36,000
به راحتی می توانید تصور کنید اگر می دانید گام من
810
00:27:36,000 –> 00:27:37,679
811
00:27:37,679 –> 00:27:40,640
چیزهای پایانی دارد که اگر دوست دارم همیشه مانند
812
00:27:40,640 –> 00:27:42,559
813
00:27:42,559 –> 00:27:44,320
شما می دانم مانند یک مجموعه کاری از n
814
00:27:44,320 –> 00:27:46,399
منهای یک چیز من. من سعی میکنم آن را منتشر
815
00:27:46,399 –> 00:27:48,240
کنم که تقریباً همیشه میتوانم
816
00:27:48,240 –> 00:27:49,840
بین
817
00:27:49,840 –> 00:27:51,520
گرفتن یکی از انتشار دو و سپس
818
00:27:51,520 –> 00:27:53,279
اساساً هنوز زندگی او را بسازم،
819
00:27:53,279 –> 00:27:55,440
خوب است،
820
00:27:55,440 –> 00:27:57,120
بنابراین در بحث جالب است، من فقط
821
00:27:57,120 –> 00:27:58,960
فکر میکنم که برای اهداف این ما
822
00:27:58,960 –> 00:28:00,240
ما احتمالاً می خواهید همان
823
00:28:00,240 –> 00:28:01,760
رفتار راه حل را داشته باشید، جایی که
824
00:28:01,760 –> 00:28:04,320
می توانید تضمین کنید که دوست ندارید
825
00:28:04,320 –> 00:28:06,480
شناسه های دائمی را از دست بدهید،
826
00:28:06,480 –> 00:28:09,520
دقیقاً بله بسیار خوب،
827
00:28:09,520 –> 00:28:12,159
بنابراین بیایید ببینیم چه کاری می توانیم انجام دهیم،
828
00:28:12,159 –> 00:28:14,080
بنابراین واقعاً سؤال اینجاست که
829
00:28:14,080 –> 00:28:17,840
هنگام انتشار وقتی شناسه ما