در این مطلب، ویدئو با Python، NoSQL و FastAPI یک برنامه وب عضویت ویدیویی از ابتدا ایجاد کنید با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 11:06:08
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,320 –> 00:00:01,839
در این یکی ما قصد داریم یک را بسازیم
2
00:00:01,839 –> 00:00:04,160
برنامه عضویت ویدیویی وب از
3
00:00:04,160 –> 00:00:07,759
با استفاده از پایتون nosql و بسیار خراش دهید
4
00:00:07,759 –> 00:00:10,800
فریمورک محبوب به نام fast api now
5
00:00:10,800 –> 00:00:12,639
این به این معنی است که ما در واقع می رویم
6
00:00:12,639 –> 00:00:14,320
در حال طراحی شدن
7
00:00:14,320 –> 00:00:16,880
هر قطعه داده در مورد این از ابتدا
8
00:00:16,880 –> 00:00:19,520
و همچنین نحوه رسیدگی به همه موارد
9
00:00:19,520 –> 00:00:22,480
آدرس های مختلف یک برنامه وب باید
10
00:00:22,480 –> 00:00:24,640
درست است بنابراین به عنوان مثال کاربران ما می رویم
11
00:00:24,640 –> 00:00:26,880
تصمیم بگیریم چه داده هایی را می خواهیم ذخیره کنیم
12
00:00:26,880 –> 00:00:29,439
از کاربران پس از آن ما هستیم
13
00:00:29,439 –> 00:00:31,840
تصمیم می گیریم که چگونه در واقع
14
00:00:31,840 –> 00:00:33,520
آنها را احراز هویت کنید که چگونه آنها را ذخیره کنید
15
00:00:33,520 –> 00:00:37,040
رمز عبور و ورود آنها به سیستم امن و
16
00:00:37,040 –> 00:00:39,520
بدون ذخیره رمزهای عبور خام این یکی است
17
00:00:39,520 –> 00:00:41,920
نمونه بسیاری از ما نیز خواهیم بود
18
00:00:41,920 –> 00:00:44,559
استفاده از آن مدل کاربر برای ذخیره
19
00:00:44,559 –> 00:00:46,480
چه مدت آنها را تماشا می کنند
20
00:00:46,480 –> 00:00:48,719
تماشای یک ویدیو تا بتوانند آن را دریافت کنند
21
00:00:48,719 –> 00:00:50,800
درست از جایی که متوقف کردند و همچنین کمک می کنند
22
00:00:50,800 –> 00:00:53,199
به ما اطلاع می دهیم که چگونه یک ویدیوی بهتر بسازیم
23
00:00:53,199 –> 00:00:54,640
سایت عضویت
24
00:00:54,640 –> 00:00:56,559
حالا اگر چیزی شبیه من هستید که می خواهید
25
00:00:56,559 –> 00:00:58,800
برای ساخت یک سایت عضویت ویدیویی زیرا
26
00:00:58,800 –> 00:01:00,399
شما می خواهید در واقع کمک کنید و آموزش دهید
27
00:01:00,399 –> 00:01:01,359
دیگران
28
00:01:01,359 –> 00:01:02,719
کاری که ما در اینجا انجام خواهیم داد این است
29
00:01:02,719 –> 00:01:04,239
واقعا قوی به شما می دهد
30
00:01:04,239 –> 00:01:06,479
پایه و اساس قادر به انجام آن است زیرا
31
00:01:06,479 –> 00:01:08,240
این دقیقاً همان کاری است که من برای خودم انجام دادم
32
00:01:08,240 –> 00:01:10,560
وب سایت و واقعا مکان خوبی است
33
00:01:10,560 –> 00:01:12,479
شروع کنید زیرا به محض شروع
34
00:01:12,479 –> 00:01:14,240
شما قادر خواهید بود تا کاربران را در آنجا وارد کنید
35
00:01:14,240 –> 00:01:16,159
بسیاری از ویژگی هایی که داریم را بهبود بخشیم
36
00:01:16,159 –> 00:01:17,920
در اینجا اکنون سعی می کنم این را به عنوان
37
00:01:17,920 –> 00:01:20,320
تا حد امکان جامع اما البته
38
00:01:20,320 –> 00:01:21,759
هنوز چیزهایی وجود دارد که ما
39
00:01:21,759 –> 00:01:23,840
می خواهم بر روی و در انتها بسازیم
40
00:01:23,840 –> 00:01:25,200
من در مورد برخی از آن چیزها صحبت خواهم کرد
41
00:01:25,200 –> 00:01:26,720
که می خواهید انجام دهید بیایید
42
00:01:26,720 –> 00:01:28,400
در واقع نگاهی به عملی بیندازید
43
00:01:28,400 –> 00:01:30,479
مثالی از چیزی که می رویم صحبت کنیم
44
00:01:30,479 –> 00:01:32,479
در این مجموعه بسازید تا بتوانید
45
00:01:32,479 –> 00:01:33,920
به نوعی انتخاب کنید و آنچه را که می خواهید انتخاب کنید
46
00:01:33,920 –> 00:01:36,799
انجام دهید یا می توانید کل آن را تماشا کنید و
47
00:01:36,799 –> 00:01:38,880
مثل همیشه همه کد من درست است
48
00:01:38,880 –> 00:01:40,340
github
49
00:01:40,340 –> 00:01:44,560
[موسیقی]
50
00:01:44,560 –> 00:01:45,680
بسیار خوب پس بیایید جلو برویم و یک را انتخاب کنیم
51
00:01:45,680 –> 00:01:47,040
نگاه کنید که ما به چه چیزی می رویم
52
00:01:47,040 –> 00:01:49,600
اینجا فقط بر اساس یک چیز ابتدایی بسازید
53
00:01:49,600 –> 00:01:51,840
سطح اول و مهمتر از همه همه چیز در مورد است
54
00:01:51,840 –> 00:01:53,600
ویدیوها درست است، بنابراین ما قادر خواهیم بود
55
00:01:53,600 –> 00:01:55,520
برای تماشای یک ویدیو و آن را
56
00:01:55,520 –> 00:01:57,840
به طور خودکار بازی را مانند ما اینجا می بینیم
57
00:01:57,840 –> 00:02:00,399
می توانم به اطراف بپرم و اگر مکث کنم این و
58
00:02:00,399 –> 00:02:02,479
می دانید به صفحه دیگری بروید و به عقب برگردید
59
00:02:02,479 –> 00:02:04,479
به آن ویدئو، قرار است از بین برود
60
00:02:04,479 –> 00:02:06,640
درست از جایی که من آن را ترک کردم مانند یک
61
00:02:06,640 –> 00:02:09,520
بخش مهمی از همه اینها به طور طبیعی
62
00:02:09,520 –> 00:02:11,120
بعدی البته خود فیلم ها
63
00:02:11,120 –> 00:02:12,640
توجه کنید که این دکمه ویرایش وجود دارد
64
00:02:12,640 –> 00:02:14,319
در اینجا من می توانم اینها را ویرایش کنم
65
00:02:14,319 –> 00:02:16,800
دکمه ها در خط یا این فیلم ها در خط
66
00:02:16,800 –> 00:02:19,440
و واقعاً هر وقت احساس کردم آنها را تغییر دهم
67
00:02:19,440 –> 00:02:21,440
مثل آن این است که از طریق جادو انجام می شود
68
00:02:21,440 –> 00:02:23,440
از htmx بنابراین اگر شما به این و
69
00:02:23,440 –> 00:02:24,640
شما مثل اوه نه این می شود
70
00:02:24,640 –> 00:02:27,120
جاوا اسکریپت زیادی وجود نخواهد داشت
71
00:02:27,120 –> 00:02:29,520
جاوا اسکریپت داخل ویدیو انجام شده است
72
00:02:29,520 –> 00:02:32,319
خودش اما اون قسمت مرحله ای میشه
73
00:02:32,319 –> 00:02:34,000
مرحله به مرحله و واقعاً سنگین است
74
00:02:34,000 –> 00:02:36,800
ارجاع به میزبان در اینجا در حال حاضر شما
75
00:02:36,800 –> 00:02:38,400
ممکن است متوجه شود که من واقعاً از آن استفاده می کنم
76
00:02:38,400 –> 00:02:40,239
ویدیوهای یوتیوب من قطعا وارد آن می شوم
77
00:02:40,239 –> 00:02:42,560
خیلی زیاد است اما ایده کلی اینجاست
78
00:02:42,560 –> 00:02:44,480
ما می خواهیم یک میزبان ویدیویی از تعدادی انتخاب کنیم
79
00:02:44,480 –> 00:02:47,200
مهربان تا حداقل بتوانیم یک ویدیو پخش کنیم
80
00:02:47,200 –> 00:02:48,959
در واقع استریم ویدیو یک نیست
81
00:02:48,959 –> 00:02:51,120
کار بی اهمیت و چیزی که واقعا
82
00:02:51,120 –> 00:02:52,959
نمی توان در کل این موضوع را پوشش داد
83
00:02:52,959 –> 00:02:55,599
بنابراین در این مورد از هاست های قابل اعتماد استفاده کردیم
84
00:02:55,599 –> 00:02:57,599
با استفاده از یوتیوب دوباره در مورد آن صحبت خواهم کرد
85
00:02:57,599 –> 00:02:59,440
وقتی وارد آنجا می شویم، در واقع
86
00:02:59,440 –> 00:03:01,280
ایجاد لیست پخش لیست پخش البته ما
87
00:03:01,280 –> 00:03:04,319
مجموعه ای از فیلم ها و اعطا شده است
88
00:03:04,319 –> 00:03:06,400
ویدیوها دقیقاً مانند این هستند و ما می توانیم اضافه کنیم
89
00:03:06,400 –> 00:03:08,239
بیشتر و ما می توانیم آن را بر اساس یک
90
00:03:08,239 –> 00:03:10,400
لینک واقعی یوتیوب و استخراج خواهد شد
91
00:03:10,400 –> 00:03:12,480
آن ویدیو و ایجاد یک ویدیوی جدید
92
00:03:12,480 –> 00:03:14,959
به عنوان مثال بسیار شبیه آنچه در اینجا می بینیم
93
00:03:14,959 –> 00:03:16,480
سپس البته ما در واقع می توانیم انجام دهیم
94
00:03:16,480 –> 00:03:18,800
همه اینها را مانند opencv که می توانم انجام دهم را جستجو کنید
95
00:03:18,800 –> 00:03:20,720
یک جستجوی سریع وجود دارد و این به شما می دهد
96
00:03:20,720 –> 00:03:23,519
من این پاسخ را من همچنین می توانم این را تازه کنم
97
00:03:23,519 –> 00:03:25,120
فهرست جستجو و در واقع خواهد داد
98
00:03:25,120 –> 00:03:27,440
من داده های جدید در اینجا نیز که من
99
00:03:27,440 –> 00:03:29,599
فکر می کنم خیلی باحال است
100
00:03:29,599 –> 00:03:32,560
آن چیزها از طریق hdmx نیز اتفاق افتاد
101
00:03:32,560 –> 00:03:34,799
به عنوان چند بسته شخص ثالث دیگر
102
00:03:34,799 –> 00:03:36,959
که به نظر من واقعا زیباست
103
00:03:36,959 –> 00:03:38,319
البته بعدی و یکی از بزرگترین
104
00:03:38,319 –> 00:03:40,720
چیزها در واقع احراز هویت است که من می توانم
105
00:03:40,720 –> 00:03:43,280
در واقع از سیستم خارج شوید و وارد شوید و یک
106
00:03:43,280 –> 00:03:46,000
حالا اگر دارید با این سرویس حساب کنید
107
00:03:46,000 –> 00:03:48,319
قبل از اینکه متوجه شوید از api سریع استفاده کرده اید
108
00:03:48,319 –> 00:03:50,239
این در استاندارد شما نمی آید
109
00:03:50,239 –> 00:03:52,000
در واقع باید آن را از ابتدا بسازید
110
00:03:52,000 –> 00:03:54,400
یا از بسته های شخص ثالثی که ما آن را می سازیم استفاده کنید
111
00:03:54,400 –> 00:03:55,519
از ابتدا می خواهم به شما نشان دهم
112
00:03:55,519 –> 00:03:57,920
دقیقاً چگونه همه اینها را در حال حاضر انجام دهیم
113
00:03:57,920 –> 00:04:00,239
همچنین همه چیز را در github ما درست است
114
00:04:00,239 –> 00:04:02,080
در اینجا، بنابراین اگر شما با این آشنا نیستید
115
00:04:02,080 –> 00:04:03,760
فقط لینک موجود در توضیحات را بررسی کنید
116
00:04:03,760 –> 00:04:06,640
این جایی است که مکان github ما برای آن است
117
00:04:06,640 –> 00:04:09,280
همه این کدها، بنابراین ما از jupyter استفاده می کنیم
118
00:04:09,280 –> 00:04:10,879
نوت بوک از زمان به زمان واقعا
119
00:04:10,879 –> 00:04:13,519
فقط با آن بازی کنید و آزمایش کنید
120
00:04:13,519 –> 00:04:15,760
با تمام این مفاهیم، بنابراین شما می توانید
121
00:04:15,760 –> 00:04:18,320
در واقع با آنها بیشتر آشنا شوید
122
00:04:18,320 –> 00:04:20,880
از جمله آنچه که یک توکن وب json است
123
00:04:20,880 –> 00:04:23,440
برای مثال به این دلیل که ما از آن استفاده می کنیم
124
00:04:23,440 –> 00:04:25,440
جلسات احراز هویت
125
00:04:25,440 –> 00:04:27,600
در حال حاضر خود کد واقعی در واقع است
126
00:04:27,600 –> 00:04:29,600
خیلی ساده است، بنابراین اگر دارید
127
00:04:29,600 –> 00:04:31,680
قبل از یکی از api های سریع کار کرد
128
00:04:31,680 –> 00:04:33,360
چیزهایی که ممکن است واقعا جالب باشد
129
00:04:33,360 –> 00:04:35,680
به شما این است که چگونه می توانید در واقع ارائه دهید
130
00:04:35,680 –> 00:04:38,080
قالب های html مانند این و شاید چگونه
131
00:04:38,080 –> 00:04:41,280
برای استفاده از htmx اینها واقعاً هستند
132
00:04:41,280 –> 00:04:42,880
ابزار عالی و چیزی که من بسیار
133
00:04:42,880 –> 00:04:44,880
به شما توصیه می کنم که مانند i بررسی کنید
134
00:04:44,880 –> 00:04:46,880
گفته شده قبل از بررسی توضیحات
135
00:04:46,880 –> 00:04:49,440
اگر می خواهید این سری را به اطراف پرش کنید
136
00:04:49,440 –> 00:04:52,000
به دلیل کد تمام کد است
137
00:04:52,000 –> 00:04:54,400
در github و اگر واقعاً نیاز دارید بپرید
138
00:04:54,400 –> 00:04:56,160
در اطراف بر اساس سریال یا
139
00:04:56,160 –> 00:04:58,560
خود درس فقط روی عدد اینجا کلیک کنید
140
00:04:58,560 –> 00:05:00,160
و شما را به یکی از این دو می برد
141
00:05:00,160 –> 00:05:02,639
شروع یا پایان آن سری بنابراین شما
142
00:05:02,639 –> 00:05:04,560
در واقع می تواند کد را در آن زمان ببیند
143
00:05:04,560 –> 00:05:06,320
در آن وضعیت فعلی فقط برای اینکه آن را a
144
00:05:06,320 –> 00:05:08,000
کمی برای شما آسان تر است
145
00:05:08,000 –> 00:05:09,919
همه چیز به طوری که با آن از
146
00:05:09,919 –> 00:05:11,520
بیایید جلو برویم و در واقع بپریم
147
00:05:11,520 –> 00:05:13,600
در حال حاضر و البته وارد سریال شده است
148
00:05:13,600 –> 00:05:15,199
اگر سوالی دارید نام من است
149
00:05:15,199 –> 00:05:17,759
جاستین من تمام مدت با تو خواهم بود
150
00:05:17,759 –> 00:05:19,750
به زودی میبینمت
151
00:05:19,750 –> 00:05:26,960
[موسیقی]
152
00:05:26,960 –> 00:05:28,320
بسیار خوب پس تنها نیاز واقعی است
153
00:05:28,320 –> 00:05:31,120
برای این سری است که برخی از python ها را می شناسد
154
00:05:31,120 –> 00:05:34,080
و شاید مقداری html و css ما می رویم
155
00:05:34,080 –> 00:05:36,479
برای انجام جاوا اسکریپت بسیار کمی در این یکی
156
00:05:36,479 –> 00:05:39,039
این در درجه اول پایتون خواهد بود
157
00:05:39,039 –> 00:05:41,360
البته ما در حال ساخت یک برنامه وب هستیم
158
00:05:41,360 –> 00:05:44,800
استفاده از fast api fast api خود واقعاً است
159
00:05:44,800 –> 00:05:47,199
فقط یک دسته از توابع پایتون در برخی از آنها
160
00:05:47,199 –> 00:05:49,120
کلاس های اینجا و آنجا در واقع وجود دارد
161
00:05:49,120 –> 00:05:50,400
در مورد اینکه چگونه هستیم بسیار ساده است
162
00:05:50,400 –> 00:05:52,160
اگر شما در حال حاضر این کار را انجام دهید
163
00:05:52,160 –> 00:05:53,759
هیچ تجربه ای با پایتون ندارم
164
00:05:53,759 –> 00:05:56,479
خیلی خوب است 30 روز من را بررسی کنید
165
00:05:56,479 –> 00:05:58,000
از سری پایتون مرتبط در
166
00:05:58,000 –> 00:06:01,280
توضیح در حال حاضر 10 روز اول یا بیشتر
167
00:06:01,280 –> 00:06:03,360
این واقعاً تمام چیزی است که شما باید بتوانید
168
00:06:03,360 –> 00:06:06,000
پرش به این سری که شامل خواهد شد
169
00:06:06,000 –> 00:06:08,080
نصب پایتون روی ماشین محلی شما
170
00:06:08,080 –> 00:06:10,080
بنابراین مطمئناً شما می خواهید پایتون داشته باشید
171
00:06:10,080 –> 00:06:12,080
نصب شده و همچنین چیز دیگری که شما هستید
172
00:06:12,080 –> 00:06:13,680
قصد نصب بصری است
173
00:06:13,680 –> 00:06:16,319
کد استودیو یا در مقابل کد شما می توانید
174
00:06:16,319 –> 00:06:18,400
کاملاً همه چیز را در اینجا انجام دهید
175
00:06:18,400 –> 00:06:21,120
ویرایشگر کد دیگر ویرایشگر متن دیگر
176
00:06:21,120 –> 00:06:22,639
من قصد دارم از کد vs استفاده کنم زیرا آن را دارد
177
00:06:22,639 –> 00:06:24,639
بسیاری از ویژگی های ساخته شده در که من واقعا
178
00:06:24,639 –> 00:06:26,960
واقعاً مثل الان یک جایزه اضافه می شود
179
00:06:26,960 –> 00:06:30,080
اگر خود git را می شناسید که نسخه است
180
00:06:30,080 –> 00:06:32,400
کنترل من از کنترل نسخه استفاده خواهم کرد
181
00:06:32,400 –> 00:06:34,400
زیرا همه کد برای این
182
00:06:34,400 –> 00:06:36,080
روی github من خواهد بود و آن نیز خواهد بود
183
00:06:36,080 –> 00:06:38,639
در توضیحات نیز لینک داده شود
184
00:06:38,639 –> 00:06:40,080
آن را برای الزامات در حال حاضر چه
185
00:06:40,080 –> 00:06:41,520
ما می خواهیم انجام دهیم این است که بصری را تنظیم کنیم
186
00:06:41,520 –> 00:06:43,520
کد استودیو یا در مقابل کد
187
00:06:43,520 –> 00:06:46,319
برای پروژه ما و در واقع مقداردهی اولیه کنیم
188
00:06:46,319 –> 00:06:50,720
چیزی به نام محیط مجازی
189
00:06:50,880 –> 00:06:52,080
حالا بیایید جلو برویم و راه اندازی کنیم
190
00:06:52,080 –> 00:06:54,880
در مقابل کد پروژه کنید و پایتون بسازید
191
00:06:54,880 –> 00:06:57,039
محیط مجازی بسیاری از چیزها
192
00:06:57,039 –> 00:06:59,120
من در حال انجام هستم من کاملا می توانم استفاده کنم
193
00:06:59,120 –> 00:07:00,960
ترمینال یا البته اگر روشن هستید
194
00:07:00,960 –> 00:07:03,440
ویندوز شما می توانید از powershell استفاده کنید اما من هستم
195
00:07:03,440 –> 00:07:05,440
قرار است در داخل کد در مقابل بچسبانید تا
196
00:07:05,440 –> 00:07:07,599
این واقعاً چند پلتفرمی است، بنابراین همه ما می توانیم
197
00:07:07,599 –> 00:07:09,680
واقعا فقط از این سود ببرید
198
00:07:09,680 –> 00:07:11,440
و آنچه می خواهم در داخل کد ps انجام دهم
199
00:07:11,440 –> 00:07:13,360
اینجا اکسپلورر را باز می کنم که می روم
200
00:07:13,360 –> 00:07:15,360
برای رفتن به جلو و باز کردن یک پوشه و من هستم
201
00:07:15,360 –> 00:07:17,520
رفتن به یک پوشه در من
202
00:07:17,520 –> 00:07:19,759
سیستم محلی که قرار است همه را نگه دارد
203
00:07:19,759 –> 00:07:20,960
این و من فقط می خواهم یک جدید ایجاد کنم
204
00:07:20,960 –> 00:07:22,400
پوشه و من می خواهم آن را ویدیو صدا کنم
205
00:07:22,400 –> 00:07:24,479
عضویت داش
206
00:07:24,479 –> 00:07:26,720
و ما جلو خواهیم رفت و این مورد را باز خواهیم کرد
207
00:07:26,720 –> 00:07:29,440
تا پوشه کاملاً جدید من می روم
208
00:07:29,440 –> 00:07:32,400
جلو و سپس این فضای کاری را ذخیره کنید
209
00:07:32,400 –> 00:07:35,440
دوره عضویت داش ویدیویی
210
00:07:35,440 –> 00:07:37,520
به اندازه کافی ساده این آن را واقعاً می سازد
211
00:07:37,520 –> 00:07:40,400
به راحتی می توان این را در مقابل کد بعدا باز کرد
212
00:07:40,400 –> 00:07:42,160
شما قبلاً آگاه نبودید
213
00:07:42,160 –> 00:07:43,919
بعد می خواهم ترمینال را باز کنم
214
00:07:43,919 –> 00:07:46,000
اگر به ترمینال بالا در بالا برویم
215
00:07:46,000 –> 00:07:48,800
اینجا و ترمینال جدیدی را انجام دهید که پاپ می شود
216
00:07:48,800 –> 00:07:51,680
این باز است من میانبر آن را یاد خواهم گرفت
217
00:07:51,680 –> 00:07:53,599
این یکی که در مورد من من در مک هستم
218
00:07:53,599 –> 00:07:55,680
این فقط ctrl tilde است
219
00:07:55,680 –> 00:07:58,160
tilde البته در کنار بکتیک است
220
00:07:58,160 –> 00:07:59,120
مانند آن
221
00:07:59,120 –> 00:08:01,599
به هر حال بنابراین ما ترمینال را باز کرده ایم
222
00:08:01,599 –> 00:08:04,240
در اینجا باید در پوشه ای که باز شود
223
00:08:04,240 –> 00:08:06,960
شما در واقع در این پروژه اعلام کردید
224
00:08:06,960 –> 00:08:09,280
به هر حال که دلیل دیگری برای استفاده از vs است
225
00:08:09,280 –> 00:08:11,199
کد آن بسیار ساده است فقط نگه می دارد
226
00:08:11,199 –> 00:08:13,759
چیزهای خوب و مستقل
227
00:08:13,759 –> 00:08:15,280
حالا من میروم و a را ایجاد میکنم
228
00:08:15,280 –> 00:08:18,560
محیط مجازی پایتون 3 حالا اگر
229
00:08:18,560 –> 00:08:20,720
شما هرگز این کار را انجام نداده اید
230
00:08:20,720 –> 00:08:22,560
توصیه می کنم که تمام پایتون خود را
231
00:08:22,560 –> 00:08:24,479
پروژه ها از یک محیط مجازی استفاده می کنند
232
00:08:24,479 –> 00:08:26,479
مدیر نوعی
233
00:08:26,479 –> 00:08:28,400
در مورد من می خواهم از داخلی استفاده کنم
234
00:08:28,400 –> 00:08:31,840
یکی برای نسخه من از پایتون 3. من دارم
235
00:08:31,840 –> 00:08:34,799
3.9 در اینجا اما شما کاملا می توانید استفاده کنید
236
00:08:34,799 –> 00:08:38,479
python 3.6 و بالاتر احتمالا حتی
237
00:08:38,479 –> 00:08:40,958
پایتون 4 وقتی بیرون بیاید من آن را انجام می دهم
238
00:08:40,958 –> 00:08:42,880
تصور کنید بیشتر این چیزها اینطور نیستند
239
00:08:42,880 –> 00:08:45,040
در اینجا کاملاً متفاوت خواهد بود
240
00:08:45,040 –> 00:08:47,360
بنابراین به هر حال ما python3 را اینجا داریم
241
00:08:47,360 –> 00:08:49,279
ادامه دهید و آن را python3 بنامید
242
00:08:49,279 –> 00:08:52,640
خط تیره m v e و v و نقطه اکنون قبل از i
243
00:08:52,640 –> 00:08:53,920
البته اگر ادامه می دهید ادامه دهید
244
00:08:53,920 –> 00:08:55,600
ویندوزی که احتمالا قبلاً از آن مطلع هستید
245
00:08:55,600 –> 00:08:56,959
از این احتمالاً شما تایپ نمی کنید
246
00:08:56,959 –> 00:08:58,560
python 3 شما احتمالاً عادل هستید
247
00:08:58,560 –> 00:09:01,920
تایپ کردن پایتون و سپس بزرگ v و
248
00:09:01,920 –> 00:09:04,399
تقریباً به همین ترتیب کار خواهد کرد
249
00:09:04,399 –> 00:09:06,880
اکنون ماژول venv مجازی است
250
00:09:06,880 –> 00:09:09,200
مدیر محیطی ساخته شده در پایتون
251
00:09:09,200 –> 00:09:10,720
اما قطعا می توانید از چیزهای دیگر استفاده کنید
252
00:09:10,720 –> 00:09:14,399
مانند شعر حسادت پیپ می توانید از آن بسیار استفاده کنید
253
00:09:14,399 –> 00:09:16,640
از آنها من از conda فاصله می گرفتم
254
00:09:16,640 –> 00:09:18,480
خود یا آناکوندا اگر آشنا هستید
255
00:09:18,480 –> 00:09:20,480
با این فقط به طور کلی من فکر نمی کنم
256
00:09:20,480 –> 00:09:22,959
آن را به خوبی با برنامه های وب بازی می کند
257
00:09:22,959 –> 00:09:25,120
خدمات به هر حال، بنابراین اکنون که ما داریم
258
00:09:25,120 –> 00:09:26,160
که از سر راه بریم جلو و
259
00:09:26,160 –> 00:09:29,360
این را ایجاد کنید و البته این کار خواهد شد
260
00:09:29,360 –> 00:09:30,959
تولید تمام محیط مجازی
261
00:09:30,959 –> 00:09:32,399
چیزهایی که ما نیاز داریم، بنابراین اگر من منبع آن را انجام دهم
262
00:09:32,399 –> 00:09:35,519
بن اسلش را فعال کنید اکنون می توانم استفاده کنم
263
00:09:35,519 –> 00:09:38,640
پایتون استاندارد و انجام دهید
264
00:09:38,640 –> 00:09:40,560
v و من دقیقا همان چیزی را که روی من است دریافت خواهم کرد
265
00:09:40,560 –> 00:09:43,519
سیستم همان نسخه پایتون 3 و اگر
266
00:09:43,519 –> 00:09:45,360
من پیپ فریز میکنم هیچی نصب ندارم
267
00:09:45,360 –> 00:09:47,839
البته اگر پایتون 3 را در این مورد انجام دهم
268
00:09:47,839 –> 00:09:50,080
آن را همچنان به من می دهد و همچنین
269
00:09:50,080 –> 00:09:52,000
و همچنین پیپ 3.
270
00:09:52,000 –> 00:09:53,839
اکنون برای کسانی از شما که از آن آگاه نیستند
271
00:09:53,839 –> 00:09:55,120
این چیزا تو شبیه چرا من
272
00:09:55,120 –> 00:09:57,120
همه این چیزها را به خوبی به شما نشان می دهد
273
00:09:57,120 –> 00:09:59,120
از آموزش ها خواهید دید که پایتون 3 نوشته شده است
274
00:09:59,120 –> 00:10:01,120
جایی که همیشه لازم نیست
275
00:10:01,120 –> 00:10:03,760
اگر در محیط مجازی هستید
276
00:10:03,760 –> 00:10:06,240
در حال حاضر یک واقعیت کمی سرگرم کننده است
277
00:10:06,240 –> 00:10:08,160
هر زمان که مجازی خود را فعال کنید
278
00:10:08,160 –> 00:10:10,399
محیط برای غیر فعال کردن آن شما فقط
279
00:10:10,399 –> 00:10:12,720
غیرفعال و البته اگر را تایپ کنید
280
00:10:12,720 –> 00:10:14,560
شما در ویندوز هستید امیدوارم شما
281
00:10:14,560 –> 00:10:16,399
این را نیز درک کنید تا خود را فعال کنید
282
00:10:16,399 –> 00:10:18,079
محیط مجازی آن نقطه اسلش است
283
00:10:18,079 –> 00:10:19,920
اسکریپت ها بریده بریده فعال می شوند
284
00:10:19,920 –> 00:10:21,360
اما نکته جالب این است که ما واقعاً می توانیم
285
00:10:21,360 –> 00:10:23,360
از این چیزهای محیط مجازی استفاده کنید
286
00:10:23,360 –> 00:10:24,880
فقط در حال انجام بن
287
00:10:24,880 –> 00:10:27,680
پایتون اینتر را بزنید
288
00:10:27,680 –> 00:10:30,399
دقیقا همان نسخه پایتون و من توانستم
289
00:10:30,399 –> 00:10:33,519
همچنین اجازه دهید آن را از آن سطل خارج کنیم
290
00:10:33,519 –> 00:10:34,240
پیپ
291
00:10:34,240 –> 00:10:35,920
و منجمد کنید
292
00:10:35,920 –> 00:10:37,920
و اینتر را بزنید و این به من می دهد
293
00:10:37,920 –> 00:10:40,720
دقیقاً همان مقدار در مورد بودن یا نبودن آن
294
00:10:40,720 –> 00:10:43,519
فعال می شود تا هر چند وقت یکبار شما
295
00:10:43,519 –> 00:10:45,040
ممکن است شما نخواهید آن را فعال کنید
296
00:10:45,040 –> 00:10:47,200
برو از اون سطل اونجا و اون سطل
297
00:10:47,200 –> 00:10:50,000
دوره در داخل این ارجاع داده شده است
298
00:10:50,000 –> 00:10:52,160
پروژه درست در اینجا اوه اینطور نیست
299
00:10:52,160 –> 00:10:53,600
چیزی که من لزوماً در مورد آن صحبت می کنم
300
00:10:53,600 –> 00:10:56,000
اغلب اوقات اما من در مورد آن سوالاتی دارم
301
00:10:56,000 –> 00:10:57,040
این هر چند وقت یک بار مثل این است
302
00:10:57,040 –> 00:10:58,959
چه چیزهای سطل خوب آن را به
303
00:10:58,959 –> 00:11:01,200
اکنون در اینجا باشید دوباره به
304
00:11:01,200 –> 00:11:02,959
ویندوز احتمالا داخل آن است
305
00:11:02,959 –> 00:11:05,120
از اسکریپت ها وجود دارد اگر در ویندوز i هستید
306
00:11:05,120 –> 00:11:06,959
فقط توصیه می کنم مجازی را فعال کنید
307
00:11:06,959 –> 00:11:09,120
محیط کار را ساده می کند a
308
00:11:09,120 –> 00:11:10,079
مقدار زیادی
309
00:11:10,079 –> 00:11:12,079
توجه کنید که من یک دستور ویندوز دارم
310
00:11:12,079 –> 00:11:14,320
برای فعال کردن دو، بنابراین اگر دارید
311
00:11:14,320 –> 00:11:17,760
قبلاً می توانید از bin activate دقیقاً مانند استفاده کنید
312
00:11:17,760 –> 00:11:20,720
که ام به جای اسکریپت ها فعال شود
313
00:11:20,720 –> 00:11:22,959
و این برای کاربران ویندوز است
314
00:11:22,959 –> 00:11:25,440
اتفاق خیلی معمولی نیست
315
00:11:25,440 –> 00:11:26,959
اما این چیزی است که ما را در برابر ما تنظیم می کند
316
00:11:26,959 –> 00:11:29,440
کد و محیط مجازی ما در حال حاضر i
317
00:11:29,440 –> 00:11:30,880
خواهد گفت چیزی وجود دارد که این است
318
00:11:30,880 –> 00:11:32,959
واقعا جالب این است که شما واقعاً می توانید همه کارها را انجام دهید
319
00:11:32,959 –> 00:11:36,079
از این چیزها در یک ماشین مجازی با استفاده از
320
00:11:36,079 –> 00:11:39,279
پسوندی به نام remote بنابراین اگر بروید
321
00:11:39,279 –> 00:11:41,839
در مقابل کد را وارد کنید و از راه دور انجام دهید
322
00:11:41,839 –> 00:11:43,200
ssh
323
00:11:43,200 –> 00:11:45,360
این واقعاً خوب است زیرا همه چیز
324
00:11:45,360 –> 00:11:46,959
کاری که من انجام دادم می تواند روی یک انجام شود
325
00:11:46,959 –> 00:11:48,320
ماشین مجازی
326
00:11:48,320 –> 00:11:51,279
اگر علاقه دارید از ssh از راه دور استفاده کنید
327
00:11:51,279 –> 00:11:53,760
با دیدن اینکه چگونه پیکربندی شده است به من اطلاع دهید
328
00:11:53,760 –> 00:11:54,560
در
329
00:11:54,560 –> 00:11:57,279
نظرات در زیر به دلیل آن است که واقعا
330
00:11:57,279 –> 00:12:00,079
راه خوبی برای کار بر روی پروژه ها به طوری که شما
331
00:12:00,079 –> 00:12:02,560
لازم نیست در واقع آن را به صورت محلی داشته باشید
332
00:12:02,560 –> 00:12:05,360
اما به نظر می رسد محلی است
333
00:12:05,360 –> 00:12:07,040
واقعا خیلی خوبه به هر حال بیا بریم
334
00:12:07,040 –> 00:12:11,839
جلو بروید و به API سریع بپرید
335
00:12:12,480 –> 00:12:13,760
بسیار خوب پس بیایید جلو برویم و کارهای خود را انجام دهیم
336
00:12:13,760 –> 00:12:16,480
سلام دنیا برای api سریع البته
337
00:12:16,480 –> 00:12:18,399
شما می خواهید خود را فعال کنید
338
00:12:18,399 –> 00:12:20,160
محیط مجازی برای سیستم
339
00:12:20,160 –> 00:12:21,920
شما فعال هستید و سپس ما می رویم
340
00:12:21,920 –> 00:12:24,160
و اولین فایل ما را ایجاد کنیم
341
00:12:24,160 –> 00:12:25,040
به جلو بروید و آن را صدا کنید
342
00:12:25,040 –> 00:12:27,680
الزامات. txt
343
00:12:27,680 –> 00:12:30,160
اکنون این فایل عمدتاً برای نوشتن است
344
00:12:30,160 –> 00:12:32,639
در بسته مورد نیاز شخص ثالث
345
00:12:32,639 –> 00:12:35,600
که پروژه ما این را دارد فوق العاده است
346
00:12:35,600 –> 00:12:38,480
برای پروژه های پایتون رایج نیست
347
00:12:38,480 –> 00:12:40,240
همیشه فقط گاهی اوقات الزامات
348
00:12:40,240 –> 00:12:42,320
فایل های دیگری را خواهید دید که این کار را انجام می دهند
349
00:12:42,320 –> 00:12:44,880
چیزی است اما requires.txt است
350
00:12:44,880 –> 00:12:47,279
بیشتر روش معمول برای انجام آن و غیره
351
00:12:47,279 –> 00:12:49,440
من به جلو می روم و api سریع را در اینجا انجام می دهم
352
00:12:49,440 –> 00:12:52,399
و سپس من هم اکنون بلوط UV را انجام خواهم داد
353
00:12:52,399 –> 00:12:54,720
Uvicorn یک همگام است
354
00:12:54,720 –> 00:12:58,240
رابط دروازه وب سرور wsgi که دارد
355
00:12:58,240 –> 00:13:00,079
قابلیت های ناهمزمان که چه چیزی است
356
00:13:00,079 –> 00:13:01,920
fast api هم همینطور
357
00:13:01,920 –> 00:13:03,040
ما در مورد آن نیز نگران نخواهیم بود
358
00:13:03,040 –> 00:13:04,880
ما فقط باید این دو را داشته باشیم
359
00:13:04,880 –> 00:13:07,680
در اینجا اگر به دلایلی یوویاکورن نیست
360
00:13:07,680 –> 00:13:09,760
کار بر روی سیستم خود را به یک نگاه کنید
361
00:13:09,760 –> 00:13:12,320
بسته ای به نام پیشخدمت پیشخدمت است
362
00:13:12,320 –> 00:13:14,160
راه دیگری برای انجام
363
00:13:14,160 –> 00:13:16,480
چیزی بسیار شبیه به ذرت UV اما در
364
00:13:16,480 –> 00:13:18,639
تست من معتقدم که ذرت UV کار می کند
365
00:13:18,639 –> 00:13:20,639
در هر صورت ما در حال رفتن هستیم
366
00:13:20,639 –> 00:13:22,200
به جلو بروید و اکنون این را ذخیره کنید
367
00:13:22,200 –> 00:13:24,560
فایل require.txt و فقط pip را اجرا کنید
368
00:13:24,560 –> 00:13:25,920
نصب
369
00:13:25,920 –> 00:13:28,480
r requirement.txt
370
00:13:28,480 –> 00:13:30,639
به عبارت دیگر بیایید جلو برویم و استفاده کنیم
371
00:13:30,639 –> 00:13:33,519
pip یا نصب کننده بسته پایتون به
372
00:13:33,519 –> 00:13:36,240
اکنون متوجه شدم این الزامات را نصب کنید
373
00:13:36,240 –> 00:13:37,680
برخی از شما این کار اضافی است
374
00:13:37,680 –> 00:13:39,360
اطلاعاتی که قبلاً این را واقعاً می دانید
375
00:13:39,360 –> 00:13:41,440
خوب، اما این عمدتا برای کسانی از شماست
376
00:13:41,440 –> 00:13:43,600
که آن را خیلی خوب نمی دانند
377
00:13:43,600 –> 00:13:45,920
هر از چند گاهی این را خواهید دید
378
00:13:45,920 –> 00:13:48,079
ارتقاء نسخه pip کاری که می توانید انجام دهید
379
00:13:48,079 –> 00:13:49,680
که اگر بخواهید واقعا ساده است
380
00:13:49,680 –> 00:13:51,920
فقط pip install pip و سپس dash است
381
00:13:51,920 –> 00:13:53,360
ارتقاء دهید
382
00:13:53,360 –> 00:13:55,920
ارتقا می تواند به هر ترتیبی باشد تا زمانی که
383
00:13:55,920 –> 00:13:58,560
آن را پس از نصب است، اما ما به همین ترتیب
384
00:13:58,560 –> 00:14:01,040
ما اکنون پیپ ارتقا یافته داریم و اگر سعی کنم
385
00:14:01,040 –> 00:14:03,040
برای نصب مجدد همان الزامات i
386
00:14:03,040 –> 00:14:04,399
نیازی نخواهد داشت
387
00:14:04,399 –> 00:14:05,680
البته دلیل این امر این است که
388
00:14:05,680 –> 00:14:08,160
در واقع اولین پروژه ما را ایجاد کنیم
389
00:14:08,160 –> 00:14:09,600
داخل عضویت ویدیویی که من میروم
390
00:14:09,600 –> 00:14:11,120
یک پوشه دیگر بساز و من تازه می روم
391
00:14:11,120 –> 00:14:13,360
به آن برنامه و سپس در داخل وجود دارد
392
00:14:13,360 –> 00:14:17,440
من نقطه اصلی را ایجاد می کنم که اشکالی ندارد
393
00:14:17,440 –> 00:14:18,959
بنابراین این جایی است که من می خواهم سلام خود را بگذارم
394
00:14:18,959 –> 00:14:22,320
جهان برای api سریع، بنابراین من فقط از
395
00:14:22,320 –> 00:14:25,120
سریع API که بسته من به معنای واقعی کلمه فقط
396
00:14:25,120 –> 00:14:26,560
همینجا نصب شده
397
00:14:26,560 –> 00:14:29,040
من میروم و سریع را وارد میکنم
398
00:14:29,040 –> 00:14:30,639
کلاس api
399
00:14:30,639 –> 00:14:32,480
ما قصد داریم یک برنامه را در اینجا اعلام کنیم
400
00:14:32,480 –> 00:14:34,480
فقط با این برنامه اصلی تماس بگیرید
401
00:14:34,480 –> 00:14:37,199
لحظه و ما می گوییم سریع api
402
00:14:37,199 –> 00:14:39,600
بسیار خوب پس در حال مقداردهی اولیه یک نمونه از
403
00:14:39,600 –> 00:14:40,880
آن کلاس
404
00:14:40,880 –> 00:14:43,040
سپس ما می خواهیم اولین خود را تعریف کنیم
405
00:14:43,040 –> 00:14:45,360
تابع در حال حاضر این تابع واقعا است
406
00:14:45,360 –> 00:14:48,240
مانند عملکرد صفحه اصلی من در اینجا
407
00:14:48,240 –> 00:14:50,800
و به هر شکلی به خوبی باز خواهد گشت
408
00:14:50,800 –> 00:14:52,720
ارزشی که من می خواهم اما به طور پیش فرض
409
00:14:52,720 –> 00:14:55,120
ما مقادیر فرهنگ لغت را برمی گردانیم
410
00:14:55,120 –> 00:14:56,959
همینطور که جلوتر میرویم این را بیشتر توضیح خواهم داد
411
00:14:56,959 –> 00:14:58,880
اما ایده کلی این است که این به پایان خواهد رسید
412
00:14:58,880 –> 00:15:03,199
بودن داده های json برای یک سرویس api rest
413
00:15:03,199 –> 00:15:06,000
این یک نوع پایه برای api سریع است
414
00:15:06,000 –> 00:15:08,639
این جایی است که در ابتدا می توانیم
415
00:15:08,639 –> 00:15:10,480
html را برگردانیم که چیزی است که ما انجام خواهیم داد
416
00:15:10,480 –> 00:15:13,040
بعداً مطمئناً در مورد آن صحبت کنید و من فقط هستم
417
00:15:13,040 –> 00:15:14,959
قراره به این سلام دنیا زنگ بزنم و
418
00:15:14,959 –> 00:15:17,760
در حال حاضر اولین تابع صفحه اصلی من وجود دارد
419
00:15:17,760 –> 00:15:20,320
هر صفحه هر صفحه وب
420
00:15:20,320 –> 00:15:22,399
می تواند توسط یکی از این ها تولید شود
421
00:15:22,399 –> 00:15:24,800
توابع می تواند به نوعی ثابت باشد
422
00:15:24,800 –> 00:15:25,920
این جایی که قرار نیست تغییر کند
423
00:15:25,920 –> 00:15:28,240
مقدار زیادی یا در جایی که می تواند پویا باشد
424
00:15:28,240 –> 00:15:30,399
تغییرات بر اساس تعدادی از
425
00:15:30,399 –> 00:15:32,079
خواصی که ما در مورد آنها صحبت نمی کنیم
426
00:15:32,079 –> 00:15:33,040
فقط الان
427
00:15:33,040 –> 00:15:35,199
اما به هر حال تنها راه برای این است
428
00:15:35,199 –> 00:15:37,279
در واقع باید یک صفحه وب باشد
429
00:15:37,279 –> 00:15:39,759
مسیر آن را از این برنامه اصلی استفاده می کنم
430
00:15:39,759 –> 00:15:43,440
به عنوان یک دکوراتور با در علامت برنامه اصلی یا
431
00:15:43,440 –> 00:15:45,600
هر چی من اینجا اعلام کردم
432
00:15:45,600 –> 00:15:48,000
روشی را که من میخواهم پشتیبانی کنم را نقطهگذاری کنید
433
00:15:48,000 –> 00:15:49,920
آن را به عنوان فقط در حال حاضر و
434
00:15:49,920 –> 00:15:53,440
ما همینطور اسلش را انجام می دهیم بسیار خوب
435
00:15:53,440 –> 00:15:55,759
این یک برنامه وب است به همین دلیل است
436
00:15:55,759 –> 00:15:57,839
سریع Api در حال خاموش شدن است به نظر من درست است
437
00:15:57,839 –> 00:16:00,160
واقعاً به همین سادگی و
438
00:16:00,160 –> 00:16:02,560
اول استراحت Api است که واقعاً همینطور است
439
00:16:02,560 –> 00:16:04,000
زمانی که شما سعی می کنید بسیار مهم است
440
00:16:04,000 –> 00:16:06,560
خدمات api بسازید که دقیقاً اینطور نیست
441
00:16:06,560 –> 00:16:09,040
کاری که ما انجام می دهیم در حال ساختن یک
442
00:16:09,040 –> 00:16:10,639
سایت واقعی عضویت ویدئویی پس از آن است
443
00:16:10,639 –> 00:16:12,000
کمی قوی تر خواهد بود
444
00:16:12,000 –> 00:16:14,880
نه فقط خود سرویس api
445
00:16:14,880 –> 00:16:16,480
با این حال ما می خواهیم جلو برویم و
446
00:16:16,480 –> 00:16:18,160
این را همینطور رها کن
447
00:16:18,160 –> 00:16:20,480
حالا میخواهم وارد سیدی شوم
448
00:16:20,480 –> 00:16:22,720
به برنامه و من می خواهم به جلو و
449
00:16:22,720 –> 00:16:25,680
از uv acorn استفاده کنید تا اگر تایپ کنم uv acorn i
450
00:16:25,680 –> 00:16:28,240
باید این را درست در اینجا ببینید پس همینطور است
451
00:16:28,240 –> 00:16:31,040
به دنبال استدلال برنامه در حال حاضر آنچه ما
452
00:16:31,040 –> 00:16:32,800
باید انجام دهیم این است که باید از طریق به شما بگوییم
453
00:16:32,800 –> 00:16:35,680
ذرت در مورد این مثال در اینجا
454
00:16:35,680 –> 00:16:37,440
درست است بنابراین برنامه خط اصلی
455
00:16:37,440 –> 00:16:40,720
به عنوان مثال، ما فقط بلوط UV را انجام می دهیم
456
00:16:40,720 –> 00:16:43,040
ماژولی که در این مورد در آن قرار دارد
457
00:16:43,040 –> 00:16:46,959
main.pi بنابراین main و سپس نقطه را نقطه
458
00:16:46,959 –> 00:16:49,440
علامت گذاری اصلی در اینجا
459
00:16:49,440 –> 00:16:51,600
یا بهتر بگوییم نه علامت نقطه بلکه
460
00:16:51,600 –> 00:16:54,480
کولون اینجا و سپس داخل واقعی
461
00:16:54,480 –> 00:16:56,320
آن فایل قرار است برنامه اصلی و
462
00:16:56,320 –> 00:16:58,800
سپس اینتر را فشار می دهیم این در واقع اجرا خواهد شد
463
00:16:58,800 –> 00:17:01,759
سرور برای ما، بنابراین uviacorn وب است
464
00:17:01,759 –> 00:17:03,519
رابط دروازه سرور
465
00:17:03,519 –> 00:17:05,280
و API سریع ما را اجرا می کند
466
00:17:05,280 –> 00:17:08,079
برنامه و آن را برای ما گوش می دهد
467
00:17:08,079 –> 00:17:10,720
سلام دنیا اینجا و آنجا میرویم تا
468
00:17:10,720 –> 00:17:13,039
البته اولین api سریع ما است
469
00:17:13,039 –> 00:17:14,880
سلام صفحه جهانی واقعا همینطوره
470
00:17:14,880 –> 00:17:16,720
ساده واقعا ساده اما
471
00:17:16,720 –> 00:17:18,400
البته دو کلید در اینجا
472
00:17:18,400 –> 00:17:20,240
در حال اطمینان هستند
473
00:17:20,240 –> 00:17:24,160
که ما از هسته uv نامیده می شویم
474
00:17:24,160 –> 00:17:26,640
رفتن به ماژولی که آن را در آن داریم
475
00:17:26,640 –> 00:17:28,559
و اعلامیه واقعی
476
00:17:28,559 –> 00:17:30,480
بنابراین اغلب شما این را خواهید دید
477
00:17:30,480 –> 00:17:33,520
در فقط به سادگی برنامه سمت راست
478
00:17:33,520 –> 00:17:34,320
و
479
00:17:34,320 –> 00:17:36,960
سپس اعلان در تابع است
480
00:17:36,960 –> 00:17:40,320
فقط برنامه اصلی کولون درست مثل آن
481
00:17:40,320 –> 00:17:42,559
و کنترل c آن را لغو می کند که همین است
482
00:17:42,559 –> 00:17:43,360
من بوده ام
483
00:17:43,360 –> 00:17:45,360
فشار دادن آنجا
484
00:17:45,360 –> 00:17:47,679
در حال حاضر معمولا هر چند من در واقع نیست
485
00:17:47,679 –> 00:17:50,400
به جایی بروید که نقطه اصلی پی i است
486
00:17:50,400 –> 00:17:52,720
در ریشه پروژه من در اینجا بمانید
487
00:17:52,720 –> 00:17:55,200
درسته من وارد برنامه نمیشم
488
00:17:55,200 –> 00:17:57,679
بنابراین من واقعاً چه کار می کنم و چه خواهیم کرد
489
00:17:57,679 –> 00:18:00,080
انجام این کار به جلو انجام می شود
490
00:18:00,080 –> 00:18:02,720
پوشه اینجا پس این پوشه برنامه در اینجا
491
00:18:02,720 –> 00:18:03,919
نقطه اصلی
492
00:18:03,919 –> 00:18:06,240
بنابراین این علامت نقطه در حال حاضر درست مانند
493
00:18:06,240 –> 00:18:08,000
پایتون با ماژول معمولی
494
00:18:08,000 –> 00:18:10,320
به هر حال بنابراین به فایل اصلی می رود
495
00:18:10,320 –> 00:18:12,720
بنابراین main.pi اگر آن را چیزی نامیدید
496
00:18:12,720 –> 00:18:14,400
در غیر این صورت شما باید آن را به تغییر دهید
497
00:18:14,400 –> 00:18:16,960
چیز دیگری و سپس کولون البته
498
00:18:16,960 –> 00:18:18,240
دوباره برنامه
499
00:18:18,240 –> 00:18:20,880
بنابراین این همان فراخوان یا فرمان است اما
500
00:18:20,880 –> 00:18:22,240
احتمالا فقط کمی به نظر می رسد
501
00:18:22,240 –> 00:18:23,840
گیج کننده تر
502
00:18:23,840 –> 00:18:25,039
بنابراین این چیزی است که ما در نهایت به آن خواهیم رسید
503
00:18:25,039 –> 00:18:28,160
اگر نیاز به ادامه دارید، اینجا کارهای زیادی انجام می دهید
504
00:18:28,160 –> 00:18:30,880
و یک پوشه جدید به نام commands ایجاد کنید
505
00:18:30,880 –> 00:18:32,200
یا بهتر است یک فایل جدید به نام
506
00:18:32,200 –> 00:18:34,320
command.markdown و ما به جلو می رویم و
507
00:18:34,320 –> 00:18:35,919
بگو سرور اجرا کن
508
00:18:35,919 –> 00:18:39,919
و این به سادگی خواهد بود
509
00:18:40,840 –> 00:18:43,280
خوب و سپس من نیز می خواهم اضافه کنم
510
00:18:43,280 –> 00:18:45,440
dash dash بارگذاری مجدد در اینجا که انجام خواهد شد
511
00:18:45,440 –> 00:18:47,919
اساسا برای تغییرات فایل ما گوش
512
00:18:47,919 –> 00:18:50,000
آن را در یک کمی نیز ببینید اما همین است
513
00:18:50,000 –> 00:18:52,080
این API سریع پایه ماست سلام
514
00:18:52,080 –> 00:18:55,440
جهان با زمینه ای اضافی برای آن
515
00:18:55,440 –> 00:18:58,080
بیا ادامه بدیم
516
00:18:58,160 –> 00:19:00,480
بنابراین وقتی نوبت به ایجاد یک ویدیو می رسد
517
00:19:00,480 –> 00:19:02,720
پروژه عضویت آن واقعا حلقه می شود
518
00:19:02,720 –> 00:19:05,039
حول دو ایده و آنها درست وارد می شوند
519
00:19:05,039 –> 00:19:09,520
نام یک ویدیو و دو عضو است
520
00:19:09,520 –> 00:19:11,440
حالا وقتی نوبت به ویدیو می رسد ما چه کار کنیم
521
00:19:11,440 –> 00:19:13,760
سعی کنید به خوبی تنظیم کنید اولین چیز این است
522
00:19:13,760 –> 00:19:15,120
ما در کجا قرار است حتی این میزبانی را داشته باشیم
523
00:19:15,120 –> 00:19:17,440
ویدیوی بعدی این است که چگونه می خواهیم
524
00:19:17,440 –> 00:19:19,120
چگونه می خواهیم تجزیه و تحلیل را انجام دهیم
525
00:19:19,120 –> 00:19:20,880
اعضای ما را پیگیری کنید
526
00:19:20,880 –> 00:19:22,160
تماشای هر دو
527
00:19:22,160 –> 00:19:25,520
برای تجزیه و تحلیل خود ما، بلکه آنها نیز
528
00:19:25,520 –> 00:19:27,919
می توانند از جایی که آنجا را ترک کردند ادامه دهند
529
00:19:27,919 –> 00:19:29,760
احتمالا هیچ چیز ناامید کننده تر از
530
00:19:29,760 –> 00:19:32,559
پیوستن به یک سایت عضویت ویدیویی و نه
531
00:19:32,559 –> 00:19:34,480
بتوانید جایی که هستید از سر بگیرید
532
00:19:34,480 –> 00:19:35,440
تماشا کردن
533
00:19:35,440 –> 00:19:36,640
و سپس البته با اعضا
534
00:19:36,640 –> 00:19:38,000
خود ما به آنها نیاز داریم که بتوانند
535
00:19:38,000 –> 00:19:40,000
ثبت نام کنید ما به آنها نیاز داریم تا بتوانند وارد سیستم شوند
536
00:19:40,000 –> 00:19:43,600
در ما باید چیزهایی را برای آنها به خاطر بسپاریم
537
00:19:43,600 –> 00:19:46,640
درست است که باید شاید ایمیل بزنیم
538
00:19:46,640 –> 00:19:47,919
اعتبار سنجی
539
00:19:47,919 –> 00:19:51,280
شاید حتی تایید
540
00:19:51,280 –> 00:19:53,120
و شاید در آینده شاید ما
541
00:19:53,120 –> 00:19:55,280
اضافه کردن در پرداخت این چیزی نیست که من
542
00:19:55,280 –> 00:19:58,000
اکنون برنامه ریزی کنید اما ایده کلی این است
543
00:19:58,000 –> 00:20:00,240
این دو مفهوم واقعاً با هم همپوشانی دارند
544
00:20:00,240 –> 00:20:02,000
یکدیگر را تشکیل دهند تا عضویت ویدیویی را تشکیل دهند
545
00:20:02,000 –> 00:20:04,400
این احتمالاً بسیار واضح است اما
546
00:20:04,400 –> 00:20:06,880
آنچه چندان واضح نیست پاسخ دادن به اینها است
547
00:20:06,880 –> 00:20:09,039
دو جایی که قرار است آن را به خوبی میزبانی کنیم
548
00:20:09,039 –> 00:20:11,679
ما در واقع از یوتیوب استفاده خواهیم کرد
549
00:20:11,679 –> 00:20:13,120
حالا شما ممکن است مانند آه چرا ما
550
00:20:13,120 –> 00:20:15,200
ما می توانیم از یوتیوب استفاده کنیم
551
00:20:15,200 –> 00:20:18,559
ویدیوهای خصوصی در یوتیوب و در واقع
552
00:20:18,559 –> 00:20:22,320
سرویسی به نام udacity این کار را انجام می دهد
553
00:20:22,320 –> 00:20:24,400
تا جایی که من می دانم تا به امروز
554
00:20:24,400 –> 00:20:26,720
بخشی از آن به این دلیل است که تیم آنها کار کرده است
555
00:20:26,720 –> 00:20:29,760
در یوتیوب یا گوگل تا آنها از این استفاده کنند
556
00:20:29,760 –> 00:20:32,559
و آنها همچنین برای آن پرداخت می کنند، بنابراین این نیز است
557
00:20:32,559 –> 00:20:34,480
باور نکردنی بخش دیگر این است که شما هستید
558
00:20:34,480 –> 00:20:36,240
احتمالا در حال تماشای این در یوتیوب بنابراین شما
559
00:20:36,240 –> 00:20:38,080
در واقع می تواند آزمایش های زیادی با
560
00:20:38,080 –> 00:20:39,919
خود میزبانی ویدیو
561
00:20:39,919 –> 00:20:41,520
در حال حاضر البته خدمات دیگری نیز وجود دارد
562
00:20:41,520 –> 00:20:43,440
که شما می توانید استفاده کنید شما می توانید استفاده کنید
563
00:20:43,440 –> 00:20:44,880
vimeo
564
00:20:44,880 –> 00:20:46,840
می توانید استفاده کنید
565
00:20:46,840 –> 00:20:49,280
wistia و شما احتمالا حتی می توانید انجام دهید
566
00:20:49,280 –> 00:20:52,159
گزینه خود میزبان مانند از طریق
567
00:20:52,159 –> 00:20:53,440
nginx
568
00:20:53,440 –> 00:20:55,120
یا چیزی از این دست
569
00:20:55,120 –> 00:20:57,919
گزینه self-hosted بی اهمیت نیست
570
00:20:57,919 –> 00:21:00,400
در واقع میزبانی ویدیو فوق العاده سخت است
571
00:21:00,400 –> 00:21:02,720
در مقیاس به همین دلیل به شما توصیه می کنم
572
00:21:02,720 –> 00:21:05,760
از نوعی سرویس شخص ثالث استفاده کنید
573
00:21:05,760 –> 00:21:08,159
گزینه vimeo wistia که در واقع می توانید پرداخت کنید
574
00:21:08,159 –> 00:21:10,880
مقدار مشخصی برای داشتن آن
575
00:21:10,880 –> 00:21:11,919
به نظر می رسد
576
00:21:11,919 –> 00:21:14,720
با وجود اینکه این vimeo یا wistia نیست
577
00:21:14,720 –> 00:21:16,720
قطعا همینطور است و منصفانه نیز هست
578
00:21:16,720 –> 00:21:18,799
واضح است اگر بدانید به دنبال چه چیزی باشید
579
00:21:18,799 –> 00:21:21,120
با این حال، زمانی که میزبان را پایین بیاوریم
580
00:21:21,120 –> 00:21:23,679
نکته بعدی جنبه تحلیلی آن است
581
00:21:23,679 –> 00:21:26,320
تقریباً بدون توجه به جایی که ما میزبان آن هستیم
582
00:21:26,320 –> 00:21:28,640
واقعاً باید آنچه را که ما داریم پیگیری کنیم
583
00:21:28,640 –> 00:21:30,400
کاربران در حال تماشا هستند
584
00:21:30,400 –> 00:21:33,039
و این در نهایت داده های زیادی است
585
00:21:33,039 –> 00:21:36,320
درست است، به عنوان مثال یک کاربر را فرض کنید
586
00:21:36,320 –> 00:21:37,840
ساعت
587
00:21:37,840 –> 00:21:39,760
به مدت 10 ثانیه
588
00:21:39,760 –> 00:21:41,520
روی صد ویدیو
589
00:21:41,520 –> 00:21:44,320
درست است که هزار ردیف است اما اگر
590
00:21:44,320 –> 00:21:47,200
شما این مقدار را 10000 کاربر به خوبی افزایش داده اید
591
00:21:47,200 –> 00:21:49,039
این نیز بسیار است
592
00:21:49,039 –> 00:21:51,280
محتوای زیادی از دادههای موجود است
593
00:21:51,280 –> 00:21:54,320
جمع آوری شده برای خوب شاید بدون ارزش
594
00:21:54,320 –> 00:21:56,320
اصلاً اما اگر آن ویدیو باشد چه می شود
595
00:21:56,320 –> 00:21:58,480
در واقع 30 ثانیه طول می کشد
596
00:21:58,480 –> 00:22:00,320
اگر 11 ثانیه باشد، در واقع همینطور است
597
00:22:00,320 –> 00:22:01,520
خیلی بیشتر به ما می دهد
598
00:22:01,520 –> 00:22:03,120
درک اینکه چه اتفاقی در حال رخ دادن است
599
00:22:03,120 –> 00:22:05,200
با آن داده ها، اما واقعا اینطور نیست
600
00:22:05,200 –> 00:22:07,760
نکته اینجاست که ما به یک واقعی نیاز داریم
601
00:22:07,760 –> 00:22:10,960
پایگاه داده ای که می تواند حقوق زیادی را اداره کند
602
00:22:10,960 –> 00:22:13,520
بنابراین حقوق زیادی خواهد داشت
603
00:22:13,520 –> 00:22:16,000
و ما همچنین میتوانیم در یک پیش برویم
604
00:22:16,000 –> 00:22:17,760
سری های آینده ما بیشتر مانند
605
00:22:17,760 –> 00:22:20,400
این پس حتما مشترک شوید تا این را دریافت کنید
606
00:22:20,400 –> 00:22:22,400
یکی اما ما در واقع می توانیم فریم به پایان برویم
607
00:22:22,400 –> 00:22:25,280
تجزیه و تحلیل فریم درست به این معنی است
608
00:22:25,280 –> 00:22:27,120
ما در واقع می توانیم برای 30 فریم در هر انجام دهیم
609
00:22:27,120 –> 00:22:30,000
دوم یا 24 و فرض کنید در 120
610
00:22:30,000 –> 00:22:31,200
ثانیه
611
00:22:31,200 –> 00:22:33,679
که ممکن است در نهایت 3600 باشد
612
00:22:33,679 –> 00:22:35,520
ردیف ها در آنجا وجود دارد و در واقع می تواند
613
00:22:35,520 –> 00:22:37,760
واقعا خیلی سریع اتفاق می افتد و اگر ما
614
00:22:37,760 –> 00:22:39,520
مانند من نمی دانم
615
00:22:39,520 –> 00:22:41,440
5000 ویدیو در نهایت به چه نتیجه ای می رسد
616
00:22:41,440 –> 00:22:43,200
به نظر می رسد که در نهایت به وجود خواهد آمد
617
00:22:43,200 –> 00:22:45,520
داده های زیادی دارد و واقعاً فقط برای
618
00:22:45,520 –> 00:22:48,159
یک ویدیو یا هر چند ویدیو
619
00:22:48,159 –> 00:22:49,440
ما در نهایت انجام می دهیم
620
00:22:49,440 –> 00:22:51,440
بنابراین ما به یک پایگاه داده نیاز داریم که خواهد بود
621
00:22:51,440 –> 00:22:54,559
قادر به رسیدگی به تمام این تجزیه و تحلیل و
622
00:22:54,559 –> 00:22:56,880
به همین دلیل است که ما از آن استفاده خواهیم کرد
623
00:22:56,880 –> 00:22:59,600
پایگاه داده apache cassandra که می تواند مدیریت کند
624
00:22:59,600 –> 00:23:02,080
حجم عظیمی از داده ها سریع و از
625
00:23:02,080 –> 00:23:04,000
البته بدون از دست دادن خواب اما ایده
626
00:23:04,000 –> 00:23:06,720
در اینجا این است که فوق العاده مقیاس پذیر است و می تواند
627
00:23:06,720 –> 00:23:08,880
حجم زیادی از داده ها را در یک مقدار کوتاه مدیریت کنید
628
00:23:08,880 –> 00:23:11,039
از زمان در حال حاضر شما مانند یک دقیقه صبر کنید
629
00:23:11,039 –> 00:23:13,679
ما اکنون باید خود را تهیه و ایجاد کنیم
630
00:23:13,679 –> 00:23:15,520
کاساندرا خود
631
00:23:15,520 –> 00:23:17,280
سرویس پایگاه داده مانند آیا باید بسازم
632
00:23:17,280 –> 00:23:18,720
یک سرور برای انجام این کار و البته
633
00:23:18,720 –> 00:23:20,799
پاسخ منفی است زیرا ما با آن شریک شدیم
634
00:23:20,799 –> 00:23:24,080
پشته های داده و سرویس astrodb آنها
635
00:23:24,080 –> 00:23:26,159
اکنون datastax در واقع باز را اجرا می کند
636
00:23:26,159 –> 00:23:28,480
نسخه منبع کاساندرا آنها هستند
637
00:23:28,480 –> 00:23:31,360
تیم توسعه اصلی پشت آن تا آنها
638
00:23:31,360 –> 00:23:33,280
astradb واقعاً به نوعی شبیه است
639
00:23:33,280 –> 00:23:34,880
رسمی اداره می شود
640
00:23:34,880 –> 00:23:37,120
پایگاه داده apache cassandra پس این است
641
00:23:37,120 –> 00:23:38,960
چیزی که می خواهیم در واقع در آن پیکربندی کنیم
642
00:23:38,960 –> 00:23:40,799
فقط یک لحظه اما من فقط می خواهم
643
00:23:40,799 –> 00:23:42,159
تکرار کنید
644
00:23:42,159 –> 00:23:44,400
همه چیز در مورد همه این تجزیه و تحلیل است
645
00:23:44,400 –> 00:23:46,960
درست است زیرا حتی اگر فقط داشته باشید
646
00:23:46,960 –> 00:23:50,400
فرض کنید 300 کاربر در سرویس شما هستند و
647
00:23:50,400 –> 00:23:53,039
همه آنها مشتاقانه چیزها را تماشا می کنند
648
00:23:53,039 –> 00:23:55,120
شما می توانید چیزهای زیادی از آن بیاموزید اما
649
00:23:55,120 –> 00:23:57,600
داده ها واقعاً شروع به گرفتن یک می کنند
650
00:23:57,600 –> 00:23:59,440
بخار زیاد است و شما در نهایت خواهید رسید
651
00:23:59,440 –> 00:24:01,840
داشتن یک تن از داده ها و یا شما می توانید یک
652
00:24:01,840 –> 00:24:03,600
تن از داده ها تنها با مقدار کمی از
653
00:24:03,600 –> 00:24:06,000
کاربران که بسیار جذاب است
654
00:24:06,000 –> 00:24:08,559
در مورد خود ویدیو قسمت دیگر آن است
655
00:24:08,559 –> 00:24:10,640
زمانی که اگر از آنجا بروید اوضاع شروع به افزایش می کند
656
00:24:10,640 –> 00:24:13,760
300 کاربر به 50 000 کاربر می روید
657
00:24:13,760 –> 00:24:15,279
نیاز به داشتن یک
658
00:24:15,279 –> 00:24:17,200
شما یک زیرساخت را می شناسید
659
00:24:17,200 –> 00:24:18,960
در واقع قادر به رسیدگی به آن و
660
00:24:18,960 –> 00:24:22,320
اینجاست که astrodb سرویس مدیریت شده است
661
00:24:22,320 –> 00:24:23,600
واقعاً همان چیزی می شود که ما می خواهیم
662
00:24:23,600 –> 00:24:26,320
البته با استفاده از کاساندرا به آن تکیه کنید
663
00:24:26,320 –> 00:24:28,640
پایگاه داده nosql در باطن در حال حاضر من هستم
664
00:24:28,640 –> 00:24:30,400
مزایای بسیار بیشتری را به شما نشان خواهد داد
665
00:24:30,400 –> 00:24:33,520
این زمانی که بیشتر وارد آن می شویم اما در
666
00:24:33,520 –> 00:24:35,679
این نقطه من می خواهم شما برای ثبت نام در
667
00:24:35,679 –> 00:24:38,320
سرویس azure db در این لینک درست در اینجا
668
00:24:38,320 –> 00:24:40,400
پس از انجام این کار نیز در توضیحات موجود است
669
00:24:40,400 –> 00:24:42,799
که به داده ها وارد خواهید شد
670
00:24:42,799 –> 00:24:44,559
پشته بسیار شبیه به این و شما می خواهید
671
00:24:44,559 –> 00:24:47,520
در اینجا وارد شوید و کاری که انجام می دهد این است
672
00:24:47,520 –> 00:24:49,840
البته به شما امکان دسترسی به خود را می دهد
673
00:24:49,840 –> 00:24:52,320
کنسول و سپس اولین خود را ایجاد کنید
674
00:24:52,320 –> 00:24:54,320
پایگاه داده که ما درست انجام خواهیم داد
675
00:24:54,320 –> 00:24:56,559
اکنون
676
00:24:56,559 –> 00:24:57,600
بسیار خوب پس اکنون ما می خواهیم ادامه دهیم
677
00:24:57,600 –> 00:24:59,919
و اولین پایگاه داده خود را ایجاد کنید بنابراین بپرید
678
00:24:59,919 –> 00:25:03,360
روی کنسول astra db datastax کلیک کنید
679
00:25:03,360 –> 00:25:05,600
پایگاه داده ایجاد کنید و ما می رویم
680
00:25:05,600 –> 00:25:08,400
پیش بروید و نام فضای داده را برای یک ویدیو بگذارید
681
00:25:08,400 –> 00:25:11,520
پروژه عضویت و نام فضای کلیدی
682
00:25:11,520 –> 00:25:13,520
عضویت ویدیویی
683
00:25:13,520 –> 00:25:14,640
برنامه
684
00:25:14,640 –> 00:25:15,440
باشه
685
00:25:15,440 –> 00:25:17,360
و سپس منطقه ما را می توانید انتخاب کنید
686
00:25:17,360 –> 00:25:18,320
هر چه
687
00:25:18,320 –> 00:25:20,640
ارائه دهنده و منطقه ای که می خواهید من می روم
688
00:25:20,640 –> 00:25:24,159
فقط از خدمات وب آمازون یا aws استفاده کنید
689
00:25:24,159 –> 00:25:27,279
آمریکای شمالی ما شرق این اتفاق می افتد
690
00:25:27,279 –> 00:25:29,840
نزدیک به موقعیت فیزیکی من
691
00:25:29,840 –> 00:25:32,000
زیرا تأخیر می تواند مشکلی مانند این باشد
692
00:25:32,000 –> 00:25:34,320
اگر من یکی را انجام می دادم
693
00:25:34,320 –> 00:25:36,559
سنگاپور آن را احتمالا فقط یک
694
00:25:36,559 –> 00:25:38,159
کمی دیگر برای من استفاده از آن
695
00:25:38,159 –> 00:25:40,799
داده ها نه آنقدرها اما کمی زیاد است
696
00:25:40,799 –> 00:25:42,240
من فقط می روم و از یکی استفاده می کنم
697
00:25:42,240 –> 00:25:44,320
که در حال حاضر به من نزدیک است
698
00:25:44,320 –> 00:25:45,760
چیزی در مورد این است
699
00:25:45,760 –> 00:25:47,760
اگر تصمیم بگیریم که می خواهیم آن را تغییر دهیم
700
00:25:47,760 –> 00:25:50,320
ارائه دهنده مکان یا منطقه ما می توانیم
701
00:25:50,320 –> 00:25:52,240
این را حذف کنید و فقط از آن شروع کنید
702
00:25:52,240 –> 00:25:54,159
بخش آنچنان مهم نیست اما
703
00:25:54,159 –> 00:25:55,440
به هر حال پس اکنون ما این را داریم که می روم
704
00:25:55,440 –> 00:25:57,360
تا پیش بروید و این پایگاه داده را ایجاد کنید
705
00:25:57,360 –> 00:25:58,720
اکنون که در حال بارگیری است، اجازه دهید در واقع
706
00:25:58,720 –> 00:26:01,360
در مورد آنچه در اینجا اتفاق می افتد صحبت کنید تا ما انجام دهیم
707
00:26:01,360 –> 00:26:03,679
یک نام پایگاه داده در داخل آن دریافت کردم
708
00:26:03,679 –> 00:26:06,000
نام پایگاه داده ما یک نام فضای کلیدی داریم
709
00:26:06,000 –> 00:26:08,480
که جداول دارد به عبارت دیگر ما می توانیم
710
00:26:08,480 –> 00:26:11,360
دارای چندین نام فضای کلیدی با
711
00:26:11,360 –> 00:26:14,720
چند جدول درست است بنابراین جدول a
712
00:26:14,720 –> 00:26:17,279
نام فضای کلید a و غیره ما می توانیم انجام دهیم
713
00:26:17,279 –> 00:26:19,120
چیزهایی مثل این
714
00:26:19,120 –> 00:26:21,120
اگر شما واقعاً آنقدر مهم نیست
715
00:26:21,120 –> 00:26:23,919
از دنیای sql آمده که من آن را دارم
716
00:26:23,919 –> 00:26:25,120
معمولا بیشتر
717
00:26:25,120 –> 00:26:28,400
مانند این شما یک نام پایگاه داده دارید
718
00:26:28,400 –> 00:26:29,919
با جداول
719
00:26:29,919 –> 00:26:32,799
نام پایگاه داده با جداول درست این است
720
00:26:32,799 –> 00:26:34,480
فقط کمی متفاوت از آن است
721
00:26:34,480 –> 00:26:36,320
این مفهومی است که ما می خواهیم کار کنیم
722
00:26:36,320 –> 00:26:39,679
اغلب اوقات زمانی که من انجام می دهم خاموش است
723
00:26:39,679 –> 00:26:42,159
تست هایی مانند تست های تولید زنده در
724
00:26:42,159 –> 00:26:44,240
ممکن است وسوسه شوید که این پایگاه داده ها را انتخاب کنید
725
00:26:44,240 –> 00:26:46,720
نام فضای کلید را با همان قرار دهید
726
00:26:46,720 –> 00:26:49,120
پایگاه داده تولید واقعی شما
727
00:26:49,120 –> 00:26:51,440
من می گویم هی فقط یک برند جدید بسازید
728
00:26:51,440 –> 00:26:53,520
پایگاه داده برای آزمایش با فضای کلید
729
00:26:53,520 –> 00:26:56,000
نام مربوط به پروژه تولید
730
00:26:56,000 –> 00:26:57,840
هر چه که به پایان برسد در دیگران چنین است
731
00:26:57,840 –> 00:26:59,520
کلمات فقط یک پایگاه داده جدید ایجاد کنید
732
00:26:59,520 –> 00:27:02,000
انجام آن واقعاً سخت نیست و همچنین است
733
00:27:02,000 –> 00:27:03,760
خوب رایگان مخصوصا اگر ندارید
734
00:27:03,760 –> 00:27:05,679
تعداد زیادی پایگاه داده در حال حاضر اما اینطور است
735
00:27:05,679 –> 00:27:08,559
مطمئناً ارزش انجام این روش را دارد
736
00:27:08,559 –> 00:27:10,240
بنابراین از تولید شما جدا است
737
00:27:10,240 –> 00:27:13,600
پایگاه داده من تولید آزمایش را دوست ندارم
738
00:27:13,600 –> 00:27:14,640
جنب
739
00:27:14,640 –> 00:27:17,039
چیزهای غیر تولیدی در واقع
740
00:27:17,039 –> 00:27:19,360
حجم کار تولید خود را حفظ کنید
741
00:27:19,360 –> 00:27:21,200
که در ذهن در هر صورت این در حال انجام است
742
00:27:21,200 –> 00:27:23,279
برای یک لحظه یا بیشتر در واقع
743
00:27:23,279 –> 00:27:25,760
تا زمانی که ما می توانیم ایجاد را تمام کنیم
744
00:27:25,760 –> 00:27:27,440
هنوز پیکربندی کنید
745
00:27:27,440 –> 00:27:31,039
پروژه سریع api ما باید به آن متصل شود
746
00:27:31,039 –> 00:27:33,360
این در حال حاضر البته از آنجایی که ما در حال ساخت هستیم
747
00:27:33,360 –> 00:27:35,679
یک برنامه وب که بر روی a
748
00:27:35,679 –> 00:27:37,279
ما واقعاً باید پایگاه داده خود را ایجاد کنیم
749
00:27:37,279 –> 00:27:39,440
اول پایگاه داده پس در مورد من من فقط هستم
750
00:27:39,440 –> 00:27:40,880
باید منتظر بمانیم تا به طور کامل آن را تمام کند
751
00:27:40,880 –> 00:27:42,559
به نظر می رسد که دارد و پس از آن ما فقط
752
00:27:42,559 –> 00:27:46,840
حرکت به ادغام این به سریع
753
00:27:46,840 –> 00:27:48,880
api خیلی خوب است، پس اکنون ما می رویم
754
00:27:48,880 –> 00:27:50,480
پیش رو و شروع روند
755
00:27:50,480 –> 00:27:53,120
اتصال پایگاه داده astra ما به ما
756
00:27:53,120 –> 00:27:56,640
سرویس سریع api و غیره در داخل ما
757
00:27:56,640 –> 00:27:58,240
پایگاه داده astra ما در حال رفتن به جلو
758
00:27:58,240 –> 00:28:01,120
و به زبانه اتصال اینجا بروید و
759
00:28:01,120 –> 00:28:02,720
سپس به پایین می رویم
760
00:28:02,720 –> 00:28:04,880
راننده پایتون و ما می رویم
761
00:28:04,880 –> 00:28:07,120
این اتصال را دانلود کنید
762
00:28:07,120 –> 00:28:08,960
بسته نرم افزاری درست در اینجا
763
00:28:08,960 –> 00:28:10,880
حالا اگر واقعاً کمی آن را پایین بیاوریم
764
00:28:10,880 –> 00:28:13,120
در واقع چندین مرحله را در مورد چگونگی به شما ارائه می دهد
765
00:28:13,120 –> 00:28:16,080
می توانید از این بسته اتصال در اینجا استفاده کنید
766
00:28:16,080 –> 00:28:17,679
و این چیزی است که ما حداقل کپی خواهیم کرد
767
00:28:17,679 –> 00:28:19,760
در ابتدا و سپس ما فقط آن را تنظیم می کنیم
768
00:28:19,760 –> 00:28:22,399
کمی تا با api سریع کار می کند
769
00:28:22,399 –> 00:28:23,919
نه فقط هر پایتون
770
00:28:23,919 –> 00:28:25,440
برنامه بنابراین من می خواهم به جلو بروید و
771
00:28:25,440 –> 00:28:28,640
اولی را از خود درایور کپی کنید
772
00:28:28,640 –> 00:28:30,159
ما قصد داریم آن نام را کپی کنیم و هستیم
773
00:28:30,159 –> 00:28:31,880
قرار است آن را به ما بیاورد
774
00:28:31,880 –> 00:28:33,600
الزامات. txt
775
00:28:33,600 –> 00:28:35,840
ما آن را ذخیره می کنیم و سپس pip را اجرا می کنیم
776
00:28:35,840 –> 00:28:37,880
r را نصب کنید
777
00:28:37,880 –> 00:28:40,080
require.txt با آن درایور در
778
00:28:40,080 –> 00:28:42,399
در حال حاضر در مورد من من در واقع در حال حاضر وجود دارد
779
00:28:42,399 –> 00:28:44,559
این را تست کردم، بنابراین من قبلاً آن را دارم
780
00:28:44,559 –> 00:28:46,320
به دلایلی آن را نصب نمی کند
781
00:28:46,320 –> 00:28:48,399
ممکن است که شما یک پشتیبانی نشده داشته باشید
782
00:28:48,399 –> 00:28:50,960
نسخه پایتون اگرچه من به آن اعتقاد دارم
783
00:28:50,960 –> 00:28:53,039
و بسیاری از نسخه های مختلف را پشتیبانی می کند
784
00:28:53,039 –> 00:28:54,240
در اینجا
785
00:28:54,240 –> 00:28:56,080
که در مورد من از 3.9 آن استفاده می کنم
786
00:28:56,080 –> 00:28:59,279
حتی 3.9 را در این صفحه لیست نمی کند
787
00:28:59,279 –> 00:29:01,120
اما من تونستم با 3.9 و تست کنم
788
00:29:01,120 –> 00:29:04,240
من هیچ مشکلی نداشتم
789
00:29:04,240 –> 00:29:05,679
و بنابراین چیز بعدی البته من است
790
00:29:05,679 –> 00:29:08,159
با استفاده از آن می تواند تأیید کند که کار می کند
791
00:29:08,159 –> 00:29:10,640
این بیانیه در اینجا و مطمئنا آن را به اندازه کافی
792
00:29:10,640 –> 00:29:13,679
تا جایی که نصب است کار می کند
793
00:29:13,679 –> 00:29:16,080
نگرانی بعدی این است که به من می گوید برای ایجاد یک
794
00:29:16,080 –> 00:29:18,960
اکنون می توانید فایل پایگاه داده را متصل کنید
795
00:29:18,960 –> 00:29:20,960
اگر می خواهید، این فایل را کاملا حذف کنید
796
00:29:20,960 –> 00:29:22,640
دوست دارم اما در واقع می خواهم آن را دریافت کنم
797
00:29:22,640 –> 00:29:25,520
روند به جایی که خیلی نزدیکتر است می رود
798
00:29:25,520 –> 00:29:29,120
برای استفاده در api سریع، بنابراین من همچنان خواهم داشت
799
00:29:29,120 –> 00:29:30,960
این داده ها را کپی کنید اما من می روم
800
00:29:30,960 –> 00:29:34,240
به کد در مقابل وارد برنامه اینجا و فقط
801
00:29:34,240 –> 00:29:36,159
db.pi ایجاد کنید
802
00:29:36,159 –> 00:29:38,399
و من همه این موارد را در آن قرار می دهم
803
00:29:38,399 –> 00:29:39,840
و کاری که قرار است انجام دهم به جای آن است
804
00:29:39,840 –> 00:29:42,720
داشتن آن به عنوان یک ماژول پایتون از این طریق
805
00:29:42,720 –> 00:29:44,960
من فقط می خواهم git را تعریف کنم
806
00:29:44,960 –> 00:29:46,320
جلسه
807
00:29:46,320 –> 00:29:48,080
و بعد من فقط برمیگردم
808
00:29:48,080 –> 00:29:50,320
همه این ارزش ها در اینجا
809
00:29:50,320 –> 00:29:52,159
و این چیزی است که من واقعاً نیازی به آن ندارم
810
00:29:52,159 –> 00:29:54,480
هر چیزی را در جلسه ای که می خواهم اجرا کنم
811
00:29:54,480 –> 00:29:57,520
فقط پیش بروید و جلسه را برگردانید
812
00:29:57,520 –> 00:29:59,360
خوب پس من هنوز باید این a را اصلاح کنم
813
00:29:59,360 –> 00:30:01,600
کمی بیشتر اما قبل از اینکه حتی اصلاح کنم
814
00:30:01,600 –> 00:30:03,039
هر چیزی وجود دارد یک زن و شوهر از
815
00:30:03,039 –> 00:30:05,760
ملاحظاتی که من دارم شماره یک این است
816
00:30:05,760 –> 00:30:08,399
به خوبی بسته اتصال امن
817
00:30:08,399 –> 00:30:10,720
آن بسته نرم افزاری کجاست، پس اگر انجام دهم
818
00:30:10,720 –> 00:30:11,760
اتصال
819
00:30:11,760 –> 00:30:14,480
شما می دانید بسته نرم افزاری
820
00:30:14,480 –> 00:30:15,919
همین الان
821
00:30:15,919 –> 00:30:18,080
خوب این پروژه محلی نیست
822
00:30:18,080 –> 00:30:19,760
بنابراین در داخل برنامه من در اینجا من به جلو بروید
823
00:30:19,760 –> 00:30:21,200
و بگو وصل کن
824
00:30:21,200 –> 00:30:23,440
بسته به عنوان یک پوشه
825
00:30:23,440 –> 00:30:25,440
و سپس من می روم جلو و
826
00:30:25,440 –> 00:30:28,880
دانلود من را بیاورید
827
00:30:28,880 –> 00:30:30,559
به بسته نرم افزاری اتصال
828
00:30:30,559 –> 00:30:31,440
باشه
829
00:30:31,440 –> 00:30:32,880
و در واقع اگر به دانلود خود نگاه کنیم
830
00:30:32,880 –> 00:30:34,799
در اینجا و ما این را از حالت فشرده خارج می کنیم شما لازم نیست
831
00:30:34,799 –> 00:30:35,840
این کارو انجام بده فقط میخوام بهت نشون بدم
832
00:30:35,840 –> 00:30:36,799
چیزی
833
00:30:36,799 –> 00:30:38,960
ما می توانیم به اینجا نگاه کنیم و می بینیم
834
00:30:38,960 –> 00:30:40,960
که همه نوع وجود دارد
835
00:30:40,960 –> 00:30:43,919
گواهینامه کلید اعتماد
836
00:30:43,919 –> 00:30:45,919
اگر وارد پیکربندی شویم، می بینیم
837
00:30:45,919 –> 00:30:48,159
رمز عبور و چیزهای دیگر وجود دارد
838
00:30:48,159 –> 00:30:51,440
این یک اتصال امن است، همانطور که i
839
00:30:51,440 –> 00:30:52,960
این را به شما داد
840
00:30:52,960 –> 00:30:56,240
اتصال به پروژه من که احتمالا
841
00:30:56,240 –> 00:30:59,039
خوب نیست اگرچه فایل پایگاه داده می گوید
842
00:30:59,039 –> 00:31:01,360
همچنین باید یک شناسه مشتری و
843
00:31:01,360 –> 00:31:04,080
راز که به من لایه دیگری از
844
00:31:04,080 –> 00:31:05,919
امنیت اما اگر آن را هم داشتید
845
00:31:05,919 –> 00:31:08,720
شما می توانید به تمام داده های من دسترسی داشته باشید
846
00:31:08,720 –> 00:31:10,000
بنابراین این در واقع کمی است
847
00:31:10,000 –> 00:31:12,159
مشکل فقط تا جایی که ما
848
00:31:12,159 –> 00:31:14,159
ما نمی خواهیم آن را در git ادامه دهیم
849
00:31:14,159 –> 00:31:15,679
نمی خواهم این مورد بررسی شود
850
00:31:15,679 –> 00:31:18,080
کنترل نسخه و بنابراین در مورد من دارم
851
00:31:18,080 –> 00:31:20,240
یک فایل git ignore قبلا که می گوید
852
00:31:20,240 –> 00:31:22,240
بدون رمز من فقط می روم جلو
853
00:31:22,240 –> 00:31:25,440
و نام این پوشه را به just simple un تغییر دهید
854
00:31:25,440 –> 00:31:26,880
رمزگذاری شده
855
00:31:26,880 –> 00:31:28,559
حالا اگر این را ندارید اشکالی ندارد
856
00:31:28,559 –> 00:31:29,919
اگر قصد استفاده از نسخه را ندارید
857
00:31:29,919 –> 00:31:31,760
کنترل کنید که اشکالی ندارد
858
00:31:31,760 –> 00:31:33,600
این عمدتا برای کسانی از شما که هستند
859
00:31:33,600 –> 00:31:35,120
فقط می خواهید مطمئن شوید که هست
860
00:31:35,120 –> 00:31:37,200
امن و در مکانی است که
861
00:31:37,200 –> 00:31:39,919
شما با تمام دنیا به اشتراک نمی گذارید
862
00:31:39,919 –> 00:31:42,000
پس این بسته نرم افزاری در کجا قرار دارد
863
00:31:42,000 –> 00:31:42,960
خوب
864
00:31:42,960 –> 00:31:45,120
قرار است نسبت به واقع شود
865
00:31:45,120 –> 00:31:49,039
db.pi تا بتوانیم از رمزگذاری نشده استفاده کنیم
866
00:31:49,039 –> 00:31:51,440
خوب برش بزنید ما می خواهیم اسمش را چه بگذاریم
867
00:31:51,440 –> 00:31:53,360
من در واقع قصد دارم آن را به نام تغییر دهم
868
00:31:53,360 –> 00:31:56,399
astradb connect.zip حالا دلیل من است
869
00:31:56,399 –> 00:31:58,559
نام آن را به این شکل تغییر می دهم تا همه آنچه که نیاز دارم
870
00:31:58,559 –> 00:32:00,000
برای انجام در آینده فقط تغییر است
871
00:32:00,000 –> 00:32:02,880
بسته اتصال و شما می دانید که اکنون دریافت کردم
872
00:32:02,880 –> 00:32:04,320
اگر یک مدل اتصال جدید داشته باشم
873
00:32:04,320 –> 00:32:06,000
پایگاه داده من فقط می توانم نام آن را تغییر دهم
874
00:32:06,000 –> 00:32:07,919
چیزی متفاوت به جای زیپ
875
00:32:07,919 –> 00:32:10,080
فایلی که من در اینجا دارم که شامل
876
00:32:10,080 –> 00:32:12,720
نام واقعی پایگاه داده که به آن نیازی ندارم
877
00:32:12,720 –> 00:32:14,640
بنابراین من می خواهم آن را بپرسم adb
878
00:32:14,640 –> 00:32:16,799
underscore connect من به شما توصیه می کنم
879
00:32:16,799 –> 00:32:18,240
انجام کار مشابه
880
00:32:18,240 –> 00:32:20,559
هنوز فایل فشرده است
881
00:32:20,559 –> 00:32:23,039
چیز البته به خوبی واقعی است
882
00:32:23,039 –> 00:32:24,960
پیکربندی باید به آن ارجاع داده شود
883
00:32:24,960 –> 00:32:25,919
که
884
00:32:25,919 –> 00:32:28,320
بنابراین من جلوتر می روم و آن را همانجا قرار می دهم
885
00:32:28,320 –> 00:32:30,399
این دو مورد در اینجا است
886
00:32:30,399 –> 00:32:32,880
بنابراین اینها نیاز دارند که ما واقعاً راه اندازی کنیم
887
00:32:32,880 –> 00:32:34,799
متغیرهای محیطی در کل ما
888
00:32:34,799 –> 00:32:36,799
پروژه ای است که ما فقط در یک پروژه انجام خواهیم داد
889
00:32:36,799 –> 00:32:39,519
لحظه ام من هنوز این کار را انجام نمی دهم اما
890
00:32:39,519 –> 00:32:40,880
این چیزی است که من قطعا به آن نیاز خواهم داشت
891
00:32:40,880 –> 00:32:43,120
البته برای پیکربندی
892
00:32:43,120 –> 00:32:45,440
و بنابراین آخرین چیزی که من واقعا نیاز دارم
893
00:32:45,440 –> 00:32:47,600
تا این امر پایدارتر شود
894
00:32:47,600 –> 00:32:51,200
اتصال برای api سریع به ویژه بنابراین
895
00:32:51,200 –> 00:32:52,799
برای انجام این کار ما به جلو برویم و
896
00:32:52,799 –> 00:32:55,039
اینجا یک واردات دیگر انجام دهید
897
00:32:55,039 –> 00:32:57,440
و از کاساندرا است
898
00:32:57,440 –> 00:32:58,799
و نقطه
899
00:32:58,799 –> 00:33:01,600
موتور sql cql
900
00:33:01,600 –> 00:33:04,880
ما می خواهیم اتصال را وارد کنیم
901
00:33:04,880 –> 00:33:06,159
و سپس ما می رویم و فرار می کنیم
902
00:33:06,159 –> 00:33:07,760
زیر ما
903
00:33:07,760 –> 00:33:09,519
اتصال به جلسه
904
00:33:09,519 –> 00:33:11,039
من می خواهم ادامه دهم و اتصال را انجام دهم
905
00:33:11,039 –> 00:33:12,880
ثبت نقطه
906
00:33:12,880 –> 00:33:14,480
ارتباط
907
00:33:14,480 –> 00:33:16,799
رشته خود جلسه و
908
00:33:16,799 –> 00:33:19,760
سپس خود شیء جلسه نیز همینطور
909
00:33:19,760 –> 00:33:21,440
و سپس اتصال
910
00:33:21,440 –> 00:33:22,720
مجموعه نقطه
911
00:33:22,720 –> 00:33:25,679
اتصال پیش فرض
912
00:33:25,679 –> 00:33:27,039
و این رشته خواهد بود
913
00:33:27,039 –> 00:33:29,120
آن جلسه نیز
914
00:33:29,120 –> 00:33:31,519
خوب پس حالا خیلی چیزها به آن نزدیکتر است
915
00:33:31,519 –> 00:33:34,159
قابل استفاده در داخل یک api سریع
916
00:33:34,159 –> 00:33:36,320
پروژه البته به استثنای
917
00:33:36,320 –> 00:33:38,240
این شناسه های مشتری، بنابراین من می روم
918
00:33:38,240 –> 00:33:40,640
پیش رو و خوب اجازه دهید چند انتزاعی را بیان کنیم
919
00:33:40,640 –> 00:33:41,840
همه چیز مشخص است بنابراین من می خواهم این را صدا کنم
920
00:33:41,840 –> 00:33:44,799
بسته نرم افزاری اتصال astrodb در واقع
921
00:33:44,799 –> 00:33:47,360
و سپس من می خواهم astra را انجام دهم
922
00:33:47,360 –> 00:33:48,399
دسی بی
923
00:33:48,399 –> 00:33:49,279
و
924
00:33:49,279 –> 00:33:52,080
شناسه مشتری
925
00:33:52,080 –> 00:33:55,279
و در حال حاضر من فقط آن را برابر با
926
00:33:55,279 –> 00:33:59,039
همان رشته ای که به ما دادند
927
00:33:59,039 –> 00:34:01,360
و سپس ما فقط همان چیزی را کپی می کنیم
928
00:34:01,360 –> 00:34:04,559
و آن را مشتری بنامیم
929
00:34:04,840 –> 00:34:07,279
راز عالی
930
00:34:07,279 –> 00:34:10,239
خوب پس الان به چیزی که من دارم خیلی نزدیک تر است
931
00:34:10,239 –> 00:34:12,879
در واقع می خواهم از همه اینها استفاده کنم
932
00:34:12,879 –> 00:34:14,800
اکنون این رشته احتمالاً اینجاست
933
00:34:14,800 –> 00:34:16,480
نباید باشد
934
00:34:16,480 –> 00:34:18,800
یک مسیر نسبی مانند این به جای i
935
00:34:18,800 –> 00:34:20,480
احتمالا باید استفاده کرد
936
00:34:20,480 –> 00:34:23,040
خود مسیر lib
937
00:34:23,040 –> 00:34:24,639
بنابراین برای انجام مسیر lib ما می رویم
938
00:34:24,639 –> 00:34:27,679
ahead و import that so import path lib
939
00:34:27,679 –> 00:34:29,199
من فقط می خواهم این باشد
940
00:34:29,199 –> 00:34:30,000
آ
941
00:34:30,000 –> 00:34:33,040
کمی بهتر است پیتونیک تر و
942
00:34:33,040 –> 00:34:36,879
خیلی به pathlib ماشین خودم مربوط نیست
943
00:34:36,879 –> 00:34:39,599
به من در آن کمک خواهد کرد بنابراین اول
944
00:34:39,599 –> 00:34:41,040
موضوع این است که من می خواهم پایه ای ایجاد کنم
945
00:34:41,040 –> 00:34:42,320
دایرکتوری و این خواهد شد
946
00:34:42,320 –> 00:34:44,000
pathlab.path
947
00:34:44,000 –> 00:34:45,440
از این فایل
948
00:34:45,440 –> 00:34:48,480
و سپس من ادامه می دهم و حل می کنم
949
00:34:48,480 –> 00:34:50,239
پس اگر شما نباشید این چه کاری انجام می دهد
950
00:34:50,239 –> 00:34:52,159
آشنا این است که شما این پایتون را خواهید گرفت
951
00:34:52,159 –> 00:34:53,918
ماژول و آن را به من مطلق می دهد
952
00:34:53,918 –> 00:34:56,879
بدون توجه به سیستمی که روی آن هستم
953
00:34:56,879 –> 00:34:58,079
این فایل
954
00:34:58,079 –> 00:35:00,160
و سپس اگر من dot پدر و مادر آن را خواهد داد
955
00:35:00,160 –> 00:35:02,400
من پوشه ای که این فایل در آن است در من است
956
00:35:02,400 –> 00:35:05,040
در صورتی که آن را در داخل این پوشه برنامه است
957
00:35:05,040 –> 00:35:07,520
این دایرکتوری مبتنی بر برنامه است
958
00:35:07,520 –> 00:35:09,359
بنابراین از آنجا به جلو می رویم و
959
00:35:09,359 –> 00:35:11,040
از این برای بودن استفاده کن
960
00:35:11,040 –> 00:35:13,280
بسته نرم افزاری اتصال من با انجام پایه
961
00:35:13,280 –> 00:35:14,400
فهرست راهنما
962
00:35:14,400 –> 00:35:16,400
اسلش unencrypt
963
00:35:16,400 –> 00:35:19,440
یا اسلش رمزگذاری نشده درست مثل آن
964
00:35:19,440 –> 00:35:20,880
سرد
965
00:35:20,880 –> 00:35:22,560
بنابراین اگر این وجود نداشته باشد، ما می توانیم
966
00:35:22,560 –> 00:35:24,320
برخی از خطاها یا من می توانم داشته باشم
967
00:35:24,320 –> 00:35:27,200
نسخه بازگشتی یا زمانی که آن را رمزگذاری می کنم
968
00:35:27,200 –> 00:35:29,760
شاید بتوانم این را به a بودن تغییر دهم
969
00:35:29,760 –> 00:35:32,320
بسته یا پوشه رمزگشایی شده یا چیزی
970
00:35:32,320 –> 00:35:34,720
مانند آن دوباره چیزی نیست که من پوشش خواهم داد
971
00:35:34,720 –> 00:35:36,720
فقط هنوز این چیزی است که من دارم
972
00:35:36,720 –> 00:35:40,400
قبلا در ai به عنوان یک پوشش داده شده است
973
00:35:40,400 –> 00:35:44,640
api ورژن 2 وقتی میرم astrodb بیارم
974
00:35:44,640 –> 00:35:46,800
پروژه در حال تولید است اما در حال حاضر
975
00:35:46,800 –> 00:35:48,000
ما جلوتر می رویم و آن را اینگونه می گذاریم
976
00:35:48,000 –> 00:35:49,920
و سپس آدرس
977
00:35:49,920 –> 00:35:52,000
چالشی که با محیط پیش می آید
978
00:35:52,000 –> 00:35:54,400
متغیر
979
00:35:54,400 –> 00:35:55,760
حالا می خواهیم اجرا کنیم
980
00:35:55,760 –> 00:35:58,480
متغیرهای پیکربندی و محیط
981
00:35:58,480 –> 00:36:00,079
بنابراین در داخل برنامه ما اینجا هستیم
982
00:36:00,079 –> 00:36:01,640
پیش بروید و ایجاد کنید
983
00:36:01,640 –> 00:36:03,359
config.pi
984
00:36:03,359 –> 00:36:05,040
و در اینجا ما قصد داریم به جلو برویم و
985
00:36:05,040 –> 00:36:06,880
از داخلی استفاده کنید
986
00:36:06,880 –> 00:36:10,400
بسته ای به نام pydentic در حال حاضر pidentic است
987
00:36:10,400 –> 00:36:12,400
واقعا برای اعتبار سنجی همه انواع خوب است
988
00:36:12,400 –> 00:36:15,280
داده ها اما به ما امکان بارگذاری را نیز می دهد
989
00:36:15,280 –> 00:36:17,119
متغیرهای محیطی بنابراین ما به جلو خواهیم رفت
990
00:36:17,119 –> 00:36:19,040
و از pi dantic ما می رویم انجام دهید
991
00:36:19,040 –> 00:36:20,640
پایه ما را وارد کنید
992
00:36:20,640 –> 00:36:21,760
تنظیمات
993
00:36:21,760 –> 00:36:23,760
و همچنین میدانی
994
00:36:23,760 –> 00:36:25,280
من می خواهم کلاسی بگذارم به نام
995
00:36:25,280 –> 00:36:27,839
تنظیمات و آن را در
996
00:36:27,839 –> 00:36:31,200
کلاس تنظیمات پایه که من تازه وارد کردم
997
00:36:31,200 –> 00:36:33,119
و اکنون می خواهیم موارد مختلفی را اضافه کنیم
998
00:36:33,119 –> 00:36:35,280
تنظیمات برای این پروژه مانند متفاوت است
999
00:36:35,280 –> 00:36:37,040
موارد پیکربندی که ممکن است بخواهید
1000
00:36:37,040 –> 00:36:38,960
در حال حاضر در مورد من اجازه دهید به جلو
1001
00:36:38,960 –> 00:36:41,440
و فقط بگویید فضای کلیدی برای شروع این است
1002
00:36:41,440 –> 00:36:43,599
یک نوع داده رشته و
1003
00:36:43,599 –> 00:36:46,240
ما آن را برابر با فیلد قرار می دهیم
1004
00:36:46,240 –> 00:36:48,960
آن بیضی ها به ما این امکان را می دهند که نیاز داشته باشیم
1005
00:36:48,960 –> 00:36:50,079
این زمینه
1006
00:36:50,079 –> 00:36:51,359
بعد من آن را به یک می دهم
1007
00:36:51,359 –> 00:36:53,760
مقدار متغیر محیطی و این است
1008
00:36:53,760 –> 00:36:57,200
فضای کلید astra db ما خواهد بود
1009
00:36:57,200 –> 00:36:59,839
بنابراین ما هنوز البته باید آن را تنظیم کنیم
1010
00:36:59,839 –> 00:37:00,720
بالا
1011
00:37:00,720 –> 00:37:01,839
بعد من می روم جلو و فقط
1012
00:37:01,839 –> 00:37:05,359
در اینجا تماس تنظیمات دریافت من را تعریف کنید
1013
00:37:05,359 –> 00:37:07,520
این یک نمونه را برمی گرداند
1014
00:37:07,520 –> 00:37:11,359
از این تنظیمات به اندازه کافی ساده است
1015
00:37:11,359 –> 00:37:13,200
با در نظر گرفتن این موضوع، یکی را نیز اضافه خواهم کرد
1016
00:37:13,200 –> 00:37:15,520
چیز بیشتر و آن پیکربندی کلاس است
1017
00:37:15,520 –> 00:37:18,240
و این فایل env و
1018
00:37:18,240 –> 00:37:20,720
که برابر با dot env خواهد بود
1019
00:37:20,720 –> 00:37:21,680
باشه
1020
00:37:21,680 –> 00:37:24,400
بنابراین فایل dot ev در خواهد بود
1021
00:37:24,400 –> 00:37:27,839
هر جا که در نهایت به بلوط uv میگویم
1022
00:37:27,839 –> 00:37:29,680
ریشه پروژه من در اینجا من می روم
1023
00:37:29,680 –> 00:37:32,800
ادامه دهید و یک فایل dot env را در اینجا قرار دهید
1024
00:37:32,800 –> 00:37:35,040
این جایی است که من در واقع می توانم در خود قرار دهم
1025
00:37:35,040 –> 00:37:37,839
پیکربندی برای محیط من اینها
1026
00:37:37,839 –> 00:37:39,839
در مورد ما متغیرهای محیطی هستند
1027
00:37:39,839 –> 00:37:42,480
فضای کلید به عنوان مثال و من فقط
1028
00:37:42,480 –> 00:37:44,560
ادامه دهید و فقط این را مثال بزنید
1029
00:37:44,560 –> 00:37:46,640
فضای کلید را زیر خط بکشید در واقع اینطور نیست
1030
00:37:46,640 –> 00:37:48,720
مهم نیست این را چه می نامید
1031
00:37:48,720 –> 00:37:50,960
اما ایده اینجا این است که ما یک انو نقطه داریم
1032
00:37:50,960 –> 00:37:53,520
فایلی که در پایتون ارجاع داده می شود
1033
00:37:53,520 –> 00:37:56,079
فایل پیکربندی بر اساس خاموش کردن
1034
00:37:56,079 –> 00:37:57,359
pydentic
1035
00:37:57,359 –> 00:37:59,200
در حال حاضر به منظور pidentic در واقع
1036
00:37:59,200 –> 00:38:01,680
ما باید از این فایل dot env بخوانیم
1037
00:38:01,680 –> 00:38:04,720
از بسته پایتون به نام پایتون استفاده کنید
1038
00:38:04,720 –> 00:38:06,400
dash dot env
1039
00:38:06,400 –> 00:38:07,839
ما می خواهیم جلو برویم و آن را نجات دهیم
1040
00:38:07,839 –> 00:38:09,200
سپس ما به جلو می رویم و خود را فعال می کنیم
1041
00:38:09,200 –> 00:38:11,359
محیط مجازی اینجا پس منبع bin
1042
00:38:11,359 –> 00:38:13,680
pip install dash r را فعال کنید
1043
00:38:13,680 –> 00:38:16,480
الزامات. txt
1044
00:38:16,480 –> 00:38:18,880
و تمام کاری که من در اینجا انجام خواهم داد این است که اکو بگویم
1045
00:38:18,880 –> 00:38:20,240
علامت دلار
1046
00:38:20,240 –> 00:38:23,599
و ما می خواهیم کلید astra db را بازتاب دهیم
1047
00:38:23,599 –> 00:38:25,760
فضای شما لازم نیست این کار را انجام دهید، اما
1048
00:38:25,760 –> 00:38:27,839
ایده این است که من در واقع چیزی ندارم
1049
00:38:27,839 –> 00:38:30,480
مجموعه متغیر محیطی برای این
1050
00:38:30,480 –> 00:38:34,240
استفاده از env با اراده ما
1051
00:38:34,240 –> 00:38:36,560
در واقع تعیین کنید که این متغیر چیست
1052
00:38:36,560 –> 00:38:38,560
داخل خود پروژه یعنی
1053
00:38:38,560 –> 00:38:40,800
که من می توانم آن را در هر زمان تغییر دهم
1054
00:38:40,800 –> 00:38:41,760
خواهیم دید
1055
00:38:41,760 –> 00:38:43,440
بنابراین من می روم و این را ذخیره می کنم
1056
00:38:43,440 –> 00:38:45,440
و حالا من می روم جلو و فرار می کنم
1057
00:38:45,440 –> 00:38:48,000
uviacorn و اپلیکیشن
1058
00:38:48,000 –> 00:38:51,760
بارگذاری مجدد خط تیره برنامه نقطه اصلی کولون
1059
00:38:51,760 –> 00:38:53,280
باشه
1060
00:38:53,280 –> 00:38:54,240
و غیره
1061
00:38:54,240 –> 00:38:56,240
اوه اوه به نظر می رسد شاید قبلا داشته باشم
1062
00:38:56,240 –> 00:38:58,240
آن را در حال اجرا انجام می دهم
1063
00:38:58,240 –> 00:39:00,800
من این یکی را در واقع سطل زباله پاک خواهم کرد
1064
00:39:00,800 –> 00:39:01,920
آن یکی
1065
00:39:01,920 –> 00:39:04,720
و دوباره آن را اجرا کنید ما می خواهیم همه چیز شروع شود
1066
00:39:04,720 –> 00:39:07,119
دوباره تازه پس به همین دلیل آن را داشتم
1067
00:39:07,119 –> 00:39:10,400
محیط مجازی دوباره فعال شد خب
1068
00:39:10,400 –> 00:39:11,599
حالا که این کار را دارم می روم
1069
00:39:11,599 –> 00:39:12,880
تا پیش بروید و این تنظیمات را بیاورید
1070
00:39:12,880 –> 00:39:14,960
به main.pi
1071
00:39:14,960 –> 00:39:16,320
در حال حاضر برای انجام این کار من می خواهم به جلو و
1072
00:39:16,320 –> 00:39:19,920
از پیکربندی واردات نقطه انجام دهید
1073
00:39:19,920 –> 00:39:21,920
و سپس ما فقط برنامه را در زیر قرار می دهیم
1074
00:39:21,920 –> 00:39:23,359
ما ادامه می دهیم و می گوییم تنظیمات برابر است
1075
00:39:23,359 –> 00:39:26,320
به تنظیمات config.git
1076
00:39:26,320 –> 00:39:28,160
و سپس در اینجا من می خواهم جلوتر بروم
1077
00:39:28,160 –> 00:39:29,200
و می گویند
1078
00:39:29,200 –> 00:39:30,400
فضای کلید
1079
00:39:30,400 –> 00:39:32,320
و این نقطه تنظیمات کلیدی خواهد بود
1080
00:39:32,320 –> 00:39:33,760
فضای کلید
1081
00:39:33,760 –> 00:39:34,560
باشه
1082
00:39:34,560 –> 00:39:36,480
به اندازه کافی ساده درست است، بنابراین آن را به
1083
00:39:36,480 –> 00:39:38,480
بیا اینجا بگیر این چیه و
1084
00:39:38,480 –> 00:39:41,040
امیدوارم بر اساس این فایل env باشد
1085
00:39:41,040 –> 00:39:42,800
پس ادامه دهید و آن را ذخیره کنید و بیایید a را بگیریم
1086
00:39:42,800 –> 00:39:45,359
ببین من کمی به بالا اسکرول می کنم و می روم
1087
00:39:45,359 –> 00:39:48,400
این آدرس اینجاست و ما کلید مثالی داریم
1088
00:39:48,400 –> 00:39:49,280
فضا
1089
00:39:49,280 –> 00:39:51,359
بنابراین اگر من به این فایل env بروم و فقط
1090
00:39:51,359 –> 00:39:53,760
یکی دیگر را بگو
1091
00:39:53,760 –> 00:39:54,960
فضای کلید
1092
00:39:54,960 –> 00:39:57,920
ذخیره آن را فشار دهید و در اینجا این کار انجام نمی شود
1093
00:39:57,920 –> 00:40:00,560
به طور خودکار تغییر می کنم در واقع باید تغییر کنم
1094
00:40:00,560 –> 00:40:03,280
برای این کار سرور را راه اندازی مجدد کنید
1095
00:40:03,280 –> 00:40:04,160
تغییر دادن
1096
00:40:04,160 –> 00:40:07,040
بنابراین این یکی از بزرگترین تفاوت ها است
1097
00:40:07,040 –> 00:40:09,599
مانند استفاده از فایل env در مقابل نوشتن
1098
00:40:09,599 –> 00:40:12,240
کد را مستقیماً در اینجا می توانم
1099
00:40:12,240 –> 00:40:15,119
یک مقدار پیش فرض را نیز در اینجا اضافه کنید
1100
00:40:15,119 –> 00:40:16,640
من قرار نیست این کار را انجام دهم، واقعا فقط
1101
00:40:16,640 –> 00:40:19,839
این را در درجه اول برای پایگاه داده من می خواستم
1102
00:40:19,839 –> 00:40:22,400
کلیدهای اینجا اینها درست اینجا و همینطور
1103
00:40:22,400 –> 00:40:23,680
من می روم جلو و اجرا می کنم
1104
00:40:23,680 –> 00:40:25,599
آنها نیز همینطور و بنابراین من می روم
1105
00:40:25,599 –> 00:40:27,119
جلوتر بروید و کاری بسیار مشابه انجام دهید
1106
00:40:27,119 –> 00:40:29,119
این اما به جای اینکه فضای کلیدی باشد، این کار را خواهم کرد
1107
00:40:29,119 –> 00:40:31,680
آن را شناسه مشتری db بنامید
1108
00:40:31,680 –> 00:40:35,280
و سپس db client Secret
1109
00:40:35,280 –> 00:40:37,599
و سپس آنها بهتر مطابقت خواهند داشت
1110
00:40:37,599 –> 00:40:41,200
با این مقادیر در اینجا شناسه مشتری
1111
00:40:41,200 –> 00:40:42,880
و سپس البته
1112
00:40:42,880 –> 00:40:44,240
راز مشتری
1113
00:40:44,240 –> 00:40:45,839
و وقتی همه چیز را ذخیره کردم متوجه این موضوع شوید
1114
00:40:45,839 –> 00:40:48,079
میگوید فیلد مورد نیاز است، بنابراین
1115
00:40:48,079 –> 00:40:49,280
در واقع خیلی باحاله پس همین الان هست
1116
00:40:49,280 –> 00:40:50,720
به من گفت که خطایی وجود دارد زیرا
1117
00:40:50,720 –> 00:40:53,359
من آن مقادیر را در جایی تنظیم نکرده ام
1118
00:40:53,359 –> 00:40:54,800
درست است من در واقع آنها را تنظیم نمی کنم
1119
00:40:54,800 –> 00:40:56,319
فایل env من
1120
00:40:56,319 –> 00:40:58,800
بنابراین راز راز مشتری
1121
00:40:58,800 –> 00:40:59,680
این فقط
1122
00:40:59,680 –> 00:41:02,319
هیچ نقل قولی در فایل env لازم نیست
1123
00:41:02,319 –> 00:41:03,920
در این مورد
1124
00:41:03,920 –> 00:41:06,640
و سپس id بودن abc
1125
00:41:06,640 –> 00:41:07,359
درست
1126
00:41:07,359 –> 00:41:09,920
من آنها را تنظیم کردم اما تغییراتی رخ نداد
1127
00:41:09,920 –> 00:41:12,720
نیاز به راه اندازی مجدد کنترل سرور ج
1128
00:41:12,720 –> 00:41:15,119
آن را دوباره بارگذاری کنید و اکنون آنها را دارم
1129
00:41:15,119 –> 00:41:17,200
مقادیر در اینجا که دوباره می توانم
1130
00:41:17,200 –> 00:41:18,720
در واقع نگاهی به
1131
00:41:18,720 –> 00:41:20,960
با استفاده از تنظیمات
1132
00:41:20,960 –> 00:41:23,839
و بیایید بگوییم db id
1133
00:41:23,839 –> 00:41:26,880
و این تنظیمات.db است
1134
00:41:26,880 –> 00:41:29,040
ما آن را چه می نامیم db
1135
00:41:29,040 –> 00:41:32,000
شناسه مشتری
1136
00:41:32,640 –> 00:41:35,119
آن را ذخیره کنید و ما به آنجا برویم، بنابراین اکنون داریم
1137
00:41:35,119 –> 00:41:37,760
راهی برای استفاده از متغیرهای محیطی
1138
00:41:37,760 –> 00:41:39,599
البته من در واقع آنها را روی من نمی خواهم
1139
00:41:39,599 –> 00:41:41,440
صفحه اصلی من اصلاً به آنها نیازی ندارم
1140
00:41:41,440 –> 00:41:42,960
صفحه اصلی در این مورد
1141
00:41:42,960 –> 00:41:45,119
ممکن است بعداً برای انواع مختلف به آنها نیاز داشته باشم
1142
00:41:45,119 –> 00:41:47,119
چیزهایی که من آن را به نوعی به عنوان یک
1143
00:41:47,119 –> 00:41:49,440
واردات اینجا فقط نظر داد
1144
00:41:49,440 –> 00:41:51,119
اما البته در داخل پایگاه داده من
1145
00:41:51,119 –> 00:41:53,040
این جایی است که من قطعا انجام می دهم
1146
00:41:53,040 –> 00:41:54,520
به آن نیاز دارید پس انجام دهید
1147
00:41:54,520 –> 00:41:58,319
from.یا از پیکربندی dot import و سپس
1148
00:41:58,319 –> 00:42:00,319
تنظیمات ما خواهد بود
1149
00:42:00,319 –> 00:42:02,640
خوب در اینجا پس تنظیمات برابر است با
1150
00:42:02,640 –> 00:42:04,160
config.git
1151
00:42:04,160 –> 00:42:05,359
تنظیمات
1152
00:42:05,359 –> 00:42:08,000
و اکنون ما به جلو می رویم و از آنها استفاده می کنیم
1153
00:42:08,000 –> 00:42:12,079
مقادیر تنظیمات.db شناسه مشتری
1154
00:42:12,079 –> 00:42:13,760
و سپس تنظیمات
1155
00:42:13,760 –> 00:42:17,040
آن راز مشتری db
1156
00:42:17,040 –> 00:42:18,079
سرد
1157
00:42:18,079 –> 00:42:20,319
و بنابراین این فقط یک راه واقعا ساده است
1158
00:42:20,319 –> 00:42:23,200
تا مطمئن شویم که کلیدهای مخفی ما و
1159
00:42:23,200 –> 00:42:26,880
شناسه های ما به هیچ وجه در git به اشتراک گذاشته نمی شود
1160
00:42:26,880 –> 00:42:29,920
زیرا به طور پیش فرض.env اغلب نادیده گرفته می شود
1161
00:42:29,920 –> 00:42:31,520
بنابراین در فایل git ignore می توانید نگاه کنید
1162
00:42:31,520 –> 00:42:34,240
در آنجا یک فایل emv وجود دارد
1163
00:42:34,240 –> 00:42:35,680
و البته اگر واقعاً آن را قرار دهید
1164
00:42:35,680 –> 00:42:38,160
فایل dot amv فقط در جای دیگری
1165
00:42:38,160 –> 00:42:40,400
مطمئن شوید که پیکربندی شما اطلاع دارد
1166
00:42:40,400 –> 00:42:42,560
در مورد آن و قادر به پیدا کردن کجا
1167
00:42:42,560 –> 00:42:45,440
آن فایل emv است در غیر این صورت شما اجرا خواهید کرد
1168
00:42:45,440 –> 00:42:47,280
به برخی مسائل دیگر
1169
00:42:47,280 –> 00:42:48,720
آخرین چیز فقط یک نوع است
1170
00:42:48,720 –> 00:42:50,560
کارایی چیزی که این تنظیمات git به آن می گویند
1171
00:42:50,560 –> 00:42:53,440
در اینجا من در واقع می خواهم آن را به صورت کش ذخیره کنم
1172
00:42:53,440 –> 00:42:56,319
کش آن را من فقط از ابزارهای فانک ما انجام می دهم
1173
00:42:56,319 –> 00:42:59,599
به واردات نقدی lru و ما فقط
1174
00:42:59,599 –> 00:43:02,480
از این دکوراتور استفاده کنید تا درست باشد
1175
00:43:02,480 –> 00:43:05,760
برای api سریع من کمی کارآمدتر است
1176
00:43:05,760 –> 00:43:08,000
هر وقت واقعاً با آن تماس گرفتم تماس بگیرید
1177
00:43:08,000 –> 00:43:10,079
آن را فقط یک بار صدا می شود مانند آن است
1178
00:43:10,079 –> 00:43:12,560
بارها و بارها نمونه های جدید ایجاد نکنید
1179
00:43:12,560 –> 00:43:14,480
و دوباره آن را فقط برای ایجاد
1180
00:43:14,480 –> 00:43:16,800
یک نمونه از آن و اینها را حفظ خواهد کرد
1181
00:43:16,800 –> 00:43:19,200
چیزهایی در حافظه فقط به آن را کاملا
1182
00:43:19,200 –> 00:43:21,359
کمی کارآمدتر خوب پس حالا که
1183
00:43:21,359 –> 00:43:22,960
ما دریافتیم که البته زمان آن فرا رسیده است
1184
00:43:22,960 –> 00:43:25,680
در واقع آن موارد پیکربندی را تنظیم کنید
1185
00:43:25,680 –> 00:43:30,000
و سپس در واقع اولین مدل خود را ایجاد کنیم
1186
00:43:30,160 –> 00:43:31,760
اکنون می خواهیم جلو برویم و ایجاد کنیم
1187
00:43:31,760 –> 00:43:34,800
مدل کاربری ما و معنای آن چیست
1188
00:43:34,800 –> 00:43:36,480
ما در واقع یک پایتون می نویسیم
1189
00:43:36,480 –> 00:43:39,520
ماژول که یک کلاس خواهد بود به طوری که
1190
00:43:39,520 –> 00:43:42,000
به این معنی است که این شی گرا است
1191
00:43:42,000 –> 00:43:45,200
کلاس از یک کاساندرا به ارث خواهد برد
1192
00:43:45,200 –> 00:43:46,319
راننده
1193
00:43:46,319 –> 00:43:48,160
این بدان معنی است که من واقعاً می توانم نقشه خود را ترسیم کنم
1194
00:43:48,160 –> 00:43:49,599
کد پایتون
1195
00:43:49,599 –> 00:43:53,760
به کاساندرا بدون نوشتن cql cql است
1196
00:43:53,760 –> 00:43:54,400
را
1197
00:43:54,400 –> 00:43:56,480
زبان پرس و جو کاساندرا همینطور است
1198
00:43:56,480 –> 00:43:58,880
به من اجازه می دهد که همه آن را دور بزنم
1199
00:43:58,880 –> 00:44:00,880
با هم و واقعا فقط کار کردن
1200
00:44:00,880 –> 00:44:03,040
آنچه من خوب می دانم یا آنچه ما خوب می دانیم
1201
00:44:03,040 –> 00:44:05,599
که در داخل برنامه پایتون است
1202
00:44:05,599 –> 00:44:06,960
در اینجا ما می خواهیم جلو برویم و ایجاد کنیم
1203
00:44:06,960 –> 00:44:09,599
پوشه ای به نام users inside of there
1204
00:44:09,599 –> 00:44:11,359
ما جلوتر می رویم و آن را به یک مار پیتون تبدیل می کنیم
1205
00:44:11,359 –> 00:44:13,920
ماژول با اضافه کردن یک فایل init در اینجا و
1206
00:44:13,920 –> 00:44:15,640
سپس من نیز می خواهم به جلو بروم و انجام دهم
1207
00:44:15,640 –> 00:44:17,280
models.pi
1208
00:44:17,280 –> 00:44:18,560
پس البته این جایی است که من می روم
1209
00:44:18,560 –> 00:44:22,079
تعریف این مدل کاربر و اگر ما
1210
00:44:22,079 –> 00:44:24,400
با ساده ترین شرایط به آن فکر کنید
1211
00:44:24,400 –> 00:44:25,599
ما می خواهیم جلو برویم و یک را ایجاد کنیم
1212
00:44:25,599 –> 00:44:27,839
کلاس فقط کاربر نامیده می شود و ما می خواهیم
1213
00:44:27,839 –> 00:44:30,079
به زمینه هایی فکر کنید که می خواهم آنها را حفظ کنم
1214
00:44:30,079 –> 00:44:31,839
چیزهایی که من پایگاه داده خود را می خواهم چیست؟
1215
00:44:31,839 –> 00:44:34,640
به یاد داشته باشید در مورد یک کاربر در حال حاضر قطعا
1216
00:44:34,640 –> 00:44:36,640
من می خواهم ایمیلی داشته باشم که احتمالاً خواهم داشت
1217
00:44:36,640 –> 00:44:40,000
داشتن یک شناسه کاربری از نوعی و الف
1218
00:44:40,000 –> 00:44:42,319
رمز عبور اکنون البته من می توانم بیشتر داشته باشم
1219
00:44:42,319 –> 00:44:44,400
زمینه های بیش از این مانند من می توانم یک نام بگویم
1220
00:44:44,400 –> 00:44:46,880
من حتی می توانم یک نام کاربری انجام دهم
1221
00:44:46,880 –> 00:44:48,960
اما من واقعاً می خواهم چیزها را حفظ کنم
1222
00:44:48,960 –> 00:44:50,960
ساده و سرراست اینجا و
1223
00:44:50,960 –> 00:44:53,520
واقعا فقط روی این سه زمینه تمرکز کنید
1224
00:44:53,520 –> 00:44:55,200
اما واضح است که پس از یادگیری می توانید
1225
00:44:55,200 –> 00:44:57,760
این را می توانید کمی به آن اضافه کنید
1226
00:44:57,760 –> 00:44:59,359
و بنابراین چه چیزی است که من سعی می کنم انجام دهم
1227
00:44:59,359 –> 00:45:01,839
در هر یک از این زمینه ها خوب این است
1228
00:45:01,839 –> 00:45:04,400
فقط یک رشته از متن اینجاست
1229
00:45:04,400 –> 00:45:07,680
من در واقع از uuid استفاده خواهم کرد
1230
00:45:07,680 –> 00:45:10,960
uuid یکی این در واقع راه ایده آل است
1231
00:45:10,960 –> 00:45:13,040
برای ذخیره شناسه
1232
00:45:13,040 –> 00:45:14,240
برای
1233
00:45:14,240 –> 00:45:17,520
هر چیزی در Cassandra با استفاده از uuid یا
1234
00:45:17,520 –> 00:45:20,319
به طور خاص uuid یکی زیرا که
1235
00:45:20,319 –> 00:45:22,640
همراه با مهر زمانی است که واقعاً همینطور است
1236
00:45:22,640 –> 00:45:23,599
خوب
1237
00:45:23,599 –> 00:45:25,280
اما این یک عدد صحیح نیست و مانند آن نیست
1238
00:45:25,280 –> 00:45:29,040
یک دو سه چهار پنج و غیره آن است
1239
00:45:29,040 –> 00:45:32,480
یک uuid واقعی که واقعا برای آن خوب است
1240
00:45:32,480 –> 00:45:34,319
cassandra که من کمی توضیح می دهم
1241
00:45:34,319 –> 00:45:35,440
کمی دیرتر
1242
00:45:35,440 –> 00:45:37,359
بعد رمز عبور ما نیز به
1243
00:45:37,359 –> 00:45:39,040
متن را ذخیره کنید، اما ما نخواهیم بود
1244
00:45:39,040 –> 00:45:41,760
ذخیره متن خام در طولانی مدت در
1245
00:45:41,760 –> 00:45:44,319
کوتاه مدت خواهیم کرد تا بتوانیم در مورد آن صحبت کنیم
1246
00:45:44,319 –> 00:45:46,240
مسائل امنیتی مرتبط
1247
00:45:46,240 –> 00:45:48,960
با آن اما این ایده است پس من چه
1248
00:45:48,960 –> 00:45:51,119
می خواهم انجام دهم این است که می خواهم این کلاس را تغییر دهم
1249
00:45:51,119 –> 00:45:54,640
در یک جدول در پایگاه داده cassandra من
1250
00:45:54,640 –> 00:45:57,599
اکنون cassandra nosql است پس یک nosql است
1251
00:45:57,599 –> 00:45:59,599
پایگاه داده اما این بدان معنا نیست که شما
1252
00:45:59,599 –> 00:46:01,760
نمی تواند ستون و ردیفی داشته باشد
1253
00:46:01,760 –> 00:46:03,119
دقیقاً همان کاری را که ما اینجا انجام می دهیم، هستیم
1254
00:46:03,119 –> 00:46:05,200
به جلو بروید و ستون ها را ایجاد کنید و
1255
00:46:05,200 –> 00:46:08,000
ردیف ها و من در واقع خود کاربر را می خواهم
1256
00:46:08,000 –> 00:46:10,960
یا مدل کاربری که باید توسط آن نمایه شود
1257
00:46:10,960 –> 00:46:13,200
ایمیل در حال حاضر دلیل آن فقط است
1258
00:46:13,200 –> 00:46:15,359
چگونه می خواهم وارد سیستم شوم
1259
00:46:15,359 –> 00:46:17,920
از طریق ایمیل و رمز عبور نه
1260
00:46:17,920 –> 00:46:20,319
از طریق نام کاربری یا شناسه کاربری شما
1261
00:46:20,319 –> 00:46:22,319
می تواند این را طوری تنظیم کند که شما مناسب می بینید اما
1262
00:46:22,319 –> 00:46:24,079
دوباره از ایمیل خود استفاده خواهیم کرد
1263
00:46:24,079 –> 00:46:26,960
به عنوان کلید اصلی ما نمایه سازی اصلی است
1264
00:46:26,960 –> 00:46:29,920
ارزش دارد بنابراین خیلی سریعتر در داخل می رود
1265
00:46:29,920 –> 00:46:31,760
کاساندرا پس بیایید جلو برویم و تعریف کنیم
1266
00:46:31,760 –> 00:46:33,280
این چیزها الان
1267
00:46:33,280 –> 00:46:34,480
اول و مهمتر از همه من می روم جلو
1268
00:46:34,480 –> 00:46:38,720
و از casandra dot cql engine dot انجام دهید
1269
00:46:38,720 –> 00:46:40,240
مدل ها
1270
00:46:40,240 –> 00:46:43,119
ما کلاس مدل را وارد می کنیم
1271
00:46:43,119 –> 00:46:44,560
این البته همان چیزی است که ما داریم
1272
00:46:44,560 –> 00:46:46,880
کلاس کاربر از ارث می برد
1273
00:46:46,880 –> 00:46:48,960
بعدی ستون هایی خواهد بود که ما
1274
00:46:48,960 –> 00:46:50,240
از
1275
00:46:50,240 –> 00:46:51,920
کاساندرا
1276
00:46:51,920 –> 00:46:54,960
نقطه موتور cql نقطه
1277
00:46:54,960 –> 00:46:57,599
ستون های وارداتی
1278
00:46:57,599 –> 00:46:59,359
من مرجع مرتبط با اینها را خواهم داشت
1279
00:46:59,359 –> 00:47:01,359
ستون ها در توضیحات زیر
1280
00:47:01,359 –> 00:47:02,480
اما در حال حاضر من فقط می خواهم ادامه دهم
1281
00:47:02,480 –> 00:47:04,560
و به شما نشان دهد که چه کاری انجام دهید
1282
00:47:04,560 –> 00:47:06,000
ما قصد داریم این را تنظیم کنیم
1283
00:47:06,000 –> 00:47:09,599
اولین ایمیل برابر با columns.txt است
1284
00:47:09,599 –> 00:47:11,599
و همچنین می خواهیم رمز عبور را تنظیم کنیم
1285
00:47:11,599 –> 00:47:13,040
به همان چیز
1286
00:47:13,040 –> 00:47:13,839
باشه
1287
00:47:13,839 –> 00:47:15,920
و بنابراین خود ایمیل من می خواهم آن باشد
1288
00:47:15,920 –> 00:47:18,480
کلید اصلی من دوباره می خواهم این باشد
1289
00:47:18,480 –> 00:47:20,240
ایندکس شده است، بنابراین من ادامه می دهم و می گویم اولیه
1290
00:47:20,240 –> 00:47:21,839
درست بودن کلید
1291
00:47:21,839 –> 00:47:23,520
این شاخص اولیه خواهد بود
1292
00:47:23,520 –> 00:47:25,520
ارزشی که واقعاً هست
1293
00:47:25,520 –> 00:47:28,079
سرراست و ساده همانطور که خواهیم دید
1294
00:47:28,079 –> 00:47:31,200
بعد می خواهم از یک فیلد uuid برای خودم استفاده کنم
1295
00:47:31,200 –> 00:47:32,559
شناسه کاربری اینجا
1296
00:47:32,559 –> 00:47:35,280
این در واقع خود یک ستون است
1297
00:47:35,280 –> 00:47:37,359
ستونها.uuid
1298
00:47:37,359 –> 00:47:38,640
درست مثل آن
1299
00:47:38,640 –> 00:47:41,040
ما می توانیم یک کلید اصلی را در اینجا به عنوان ارسال کنیم
1300
00:47:41,040 –> 00:47:42,000
خوب
1301
00:47:42,000 –> 00:47:44,319
آنچه که این به من اجازه می دهد انجام دهم اضافی است
1302
00:47:44,319 –> 00:47:46,079
فیلتر کردن در صورت نیاز
1303
00:47:46,079 –> 00:47:48,160
در این مدل دوباره این مقدار کمی است
1304
00:47:48,160 –> 00:47:49,280
پیشرفته تر در مورد آن صحبت خواهیم کرد
1305
00:47:49,280 –> 00:47:51,359
بعداً اما در حال حاضر می توانم این دو را داشته باشم
1306
00:47:51,359 –> 00:47:53,440
کلیدهای اصلی در اینجا این اولین است
1307
00:47:53,440 –> 00:47:55,680
یکی که اعلام شده است همیشه خواهد بود
1308
00:47:55,680 –> 00:47:58,319
یکی که در نهایت با آن ایندکس می کنیم
1309
00:47:58,319 –> 00:47:59,760
در مرحله بعد می روم و وارد می کنم
1310
00:47:59,760 –> 00:48:01,520
uuid
1311
00:48:01,520 –> 00:48:04,240
و بنابراین من می خواهم در واقع یک پیش فرض اضافه کنم
1312
00:48:04,240 –> 00:48:06,319
ارزش برای uuid من پس در واقع همینطور است
1313
00:48:06,319 –> 00:48:08,240
ایجاد شده هر بار به طوری که فقط به سادگی
1314
00:48:08,240 –> 00:48:11,119
uuid.uid1
1315
00:48:11,119 –> 00:48:12,240
و بس
1316
00:48:12,240 –> 00:48:13,839
بنابراین این یک فایل اجرایی خواهد بود
1317
00:48:13,839 –> 00:48:16,319
درست است، بنابراین من در واقع آن را صدا نمی زنم
1318
00:48:16,319 –> 00:48:19,040
برای من تماس می گیرد خوب پس چه کار می کند
1319
00:48:19,040 –> 00:48:20,400
این در واقع به نظر می رسد اگر من به جلو
1320
00:48:20,400 –> 00:48:22,400
و پایتون را انجام دهید
1321
00:48:22,400 –> 00:48:25,359
به Uid واردات پوسته پایتون بپرید
1322
00:48:25,359 –> 00:48:30,160
uuid dot uid یکی که یک uuid است و
1323
00:48:30,160 –> 00:48:32,160
همانطور که گفتم در واقع ارزش زمانی دارد
1324
00:48:32,160 –> 00:48:34,640
شما نیز ممکن است مرتبط با آن باشید
1325
00:48:34,640 –> 00:48:37,839
آشنا با uuid 4 که یکی دیگر است
1326
00:48:37,839 –> 00:48:39,839
رایج است اما زمان ندارد
1327
00:48:39,839 –> 00:48:41,680
ارزش آن را فقط
1328
00:48:41,680 –> 00:48:43,760
یک عدد دلخواه وجود دارد
1329
00:48:43,760 –> 00:48:45,760
اما این ارزش های منحصر به فرد مهم هستند
1330
00:48:45,760 –> 00:48:48,960
به دلیل اینکه چگونه کاساندرا کار می کند
1331
00:48:48,960 –> 00:48:50,640
شما سرورهای مختلفی دارید که
1332
00:48:50,640 –> 00:48:53,359
در واقع پایگاه داده خود را حفظ کنید
1333
00:48:53,359 –> 00:48:55,520
هنگامی که سرورهای توزیع شده مانند وجود دارد
1334
00:48:55,520 –> 00:48:57,760
که می خواهید مطمئن شوید که همه
1335
00:48:57,760 –> 00:49:00,240
آن سرورها مقادیر صحیحی دارند
1336
00:49:00,240 –> 00:49:02,400
داده های صحیح و بهترین راه برای انجام
1337
00:49:02,400 –> 00:49:05,119
که با استفاده از uuid بنابراین زمانی که i
1338
00:49:05,119 –> 00:49:07,359
در واقع کاربران جدید اضافه کنید
1339
00:49:07,359 –> 00:49:10,240
از یک uuid به جای یک عدد صحیح استفاده کنید
1340
00:49:10,240 –> 00:49:12,160
به عبارت دیگر اگر میخواستم بگویم برای
1341
00:49:12,160 –> 00:49:13,920
به عنوان مثال من هزار کاربر داشتم که همه آنها را امضا کردند
1342
00:49:13,920 –> 00:49:16,720
به یکباره و به دلایلی دو تا میگیرم
1343
00:49:16,720 –> 00:49:20,240
کاربران با شناسه کاربری دو
1344
00:49:20,240 –> 00:49:23,200
این عالی نیست درست uuid آن را حل می کند
1345
00:49:23,200 –> 00:49:24,720
مشکل آن را بسیار ساده می کند
1346
00:49:24,720 –> 00:49:26,640
زیرا قرار است به آن مرتبط شود
1347
00:49:26,640 –> 00:49:28,720
مهر زمان با کمی یک
1348
00:49:28,720 –> 00:49:30,640
عدد دلخواه پس از آن بیشتر شبیه است
1349
00:49:30,640 –> 00:49:33,440
چیزی شبیه به آن در مقابل فقط دو
1350
00:49:33,440 –> 00:49:36,640
اکنون در پایگاه های داده sql که sql uh است
1351
00:49:36,640 –> 00:49:38,480
این همیشه یک مشکل نیست اما اینطور نیست
1352
00:49:38,480 –> 00:49:41,040
معمولاً به سرعت کاساندرا است
1353
00:49:41,040 –> 00:49:42,800
اجماع فوق العاده سریع به همین دلیل است
1354
00:49:42,800 –> 00:49:45,520
ما به چیزی مانند uuids دیگری نیاز داریم
1355
00:49:45,520 –> 00:49:47,680
چیزی در آن یادداشت شما نیز خواهید دید
1356
00:49:47,680 –> 00:49:49,760
این و بعداً این را خواهیم دید
1357
00:49:49,760 –> 00:49:53,440
به طور بالقوه این است که uuid اغلب است
1358
00:49:53,440 –> 00:49:56,559
شناسه واقعی برای اکثر مدل ها واقعی است
1359
00:49:56,559 –> 00:49:59,599
کلید اصلی اصلی که اوکی ام اما
1360
00:49:59,599 –> 00:50:01,200
در اینجا ما می رویم بنابراین ما کاربر خود را اینجا داریم
1361
00:50:01,200 –> 00:50:02,800
این مدل کاربری ما است که می خواهم بروم
1362
00:50:02,800 –> 00:50:04,400
پیش بروید و چند چیز دیگر اضافه کنید
1363
00:50:04,400 –> 00:50:06,559
اینجا و آن نمایندگی است
1364
00:50:06,559 –> 00:50:07,920
این
1365
00:50:07,920 –> 00:50:09,920
بنابراین ما به جلو برویم و تعریف کنیم
1366
00:50:09,920 –> 00:50:13,040
این یکی در اینجا با دو خط زیر خط
1367
00:50:13,040 –> 00:50:15,839
repr و ما فقط می خواهیم برگردیم
1368
00:50:15,839 –> 00:50:17,520
کاربر ما
1369
00:50:17,520 –> 00:50:19,280
و ما می خواهیم بگوییم ایمیل برابر است با
1370
00:50:19,280 –> 00:50:21,359
ایمیل خود
1371
00:50:21,359 –> 00:50:24,599
و شناسه کاربری برابر است با
1372
00:50:24,599 –> 00:50:27,440
شناسه self.user
1373
00:50:27,440 –> 00:50:28,880
و البته من باید واقعاً بچرخم
1374
00:50:28,880 –> 00:50:31,760
اینها در اینجا به نوعی جایگزین رشته می شوند
1375
00:50:31,760 –> 00:50:32,720
و این فقط می شود
1376
00:50:32,720 –> 00:50:35,760
نمایندگی من برای
1377
00:50:35,760 –> 00:50:39,040
خود این مدل کاربر و ما این کار را انجام خواهیم داد
1378
00:50:39,040 –> 00:50:42,240
برای روش رشته ما نیز یا str
1379
00:50:42,240 –> 00:50:45,359
روش ما فقط همان را برگردانیم
1380
00:50:45,359 –> 00:50:47,839
اندیشه
1381
00:50:48,240 –> 00:50:49,359
سرد
1382
00:50:49,359 –> 00:50:50,880
بنابراین اکنون که ما این را داریم، البته
1383
00:50:50,880 –> 00:50:53,760
باید این داده ها را در پایگاه داده خود همگام سازی کنیم
1384
00:50:53,760 –> 00:50:55,599
در حال حاضر همانطور که در حال حاضر وجود دارد این نیست
1385
00:50:55,599 –> 00:50:57,440
امن است بنابراین ما باید حتما بیاییم
1386
00:50:57,440 –> 00:50:58,559
بازگشت به آن
1387
00:50:58,559 –> 00:51:00,480
زیرا هرگز نمی خواهید خام ذخیره کنید
1388
00:51:00,480 –> 00:51:03,200
رمزهای عبور در پایگاه داده همیشه
1389
00:51:03,200 –> 00:51:05,119
پس بیایید جلو برویم و در واقع این را همگام کنیم
1390
00:51:05,119 –> 00:51:08,880
به پایگاه داده ما
1391
00:51:08,880 –> 00:51:10,559
اکنون قبل از اینکه بتوانم این را بیاورم
1392
00:51:10,559 –> 00:51:12,720
مدل در واقع آن را با کاساندرا من همگام می کند
1393
00:51:12,720 –> 00:51:15,119
پایگاه داده من باید محیط خود را به روز کنم
1394
00:51:15,119 –> 00:51:17,920
متغیرها به مقادیر مناسب بنابراین
1395
00:51:17,920 –> 00:51:19,920
من می روم جلو و به سمت خودم می پرم
1396
00:51:19,920 –> 00:51:21,440
astrodb
1397
00:51:21,440 –> 00:51:23,680
کنسول در اینجا ما قصد داریم به ما بروید
1398
00:51:23,680 –> 00:51:26,000
تنظیمات سازمانی که قرار است بروم
1399
00:51:26,000 –> 00:51:27,920
به مدیریت نشانه و سپس ما
1400
00:51:27,920 –> 00:51:29,920
به پیش بروید و یک پایگاه داده انجام دهید
1401
00:51:29,920 –> 00:51:31,680
مدیر من می خواهم به جلو و
1402
00:51:31,680 –> 00:51:34,240
برای این کار تنها چیزی که نیاز داریم یک توکن تولید کنیم
1403
00:51:34,240 –> 00:51:38,559
شناسه مشتری و راز مشتری ما
1404
00:51:38,559 –> 00:51:40,559
حالا اگر به دلایلی نیاز داشته باشید
1405
00:51:40,559 –> 00:51:42,720
می دانید این موارد را حذف کنید یا
1406
00:51:42,720 –> 00:51:45,119
آنها را به هر طریقی تغییر دهید این کار را درست انجام دهید
1407
00:51:45,119 –> 00:51:47,520
بنابراین اگر من در این نشانه ها در اینجا refresh کنم
1408
00:51:47,520 –> 00:51:50,240
همیشه می تواند یک جدید ایجاد کند و
1409
00:51:50,240 –> 00:51:51,920
قدیمی را حذف کنید
1410
00:51:51,920 –> 00:51:54,480
حتماً این عادت را در خود ایجاد کنید
1411
00:51:54,480 –> 00:51:56,960
چرخاندن کلیدهای خود به هر حال واقعاً کار است
1412
00:51:56,960 –> 00:51:58,960
تمرین خوب برای ورود به
1413
00:51:58,960 –> 00:52:01,680
البته به دلایل امنیتی بعدی
1414
00:52:01,680 –> 00:52:03,359
البته یکی از آنها کلید واقعی ماست
1415
00:52:03,359 –> 00:52:06,000
ارزش فضا، بنابراین ما به جلو می رویم و می پریم
1416
00:52:06,000 –> 00:52:07,839
به کنسول نیز بازگشت
1417
00:52:07,839 –> 00:52:10,240
وارد پروژه عضویت ویدیو شوید و
1418
00:52:10,240 –> 00:52:13,440
البته اینجا ارزش فضای کلیدی ما است
1419
00:52:13,440 –> 00:52:15,200
و بنابراین این در واقع زمان خوبی است
1420
00:52:15,200 –> 00:52:17,760
می گویند که خود فضای کلید می تواند باشد
1421
00:52:17,760 –> 00:52:20,960
شما یک پایگاه داده آزمایشی را درست می شناسید
1422
00:52:20,960 –> 00:52:23,280
که همچنین می تواند اتفاق بیفتد و سپس زمانی که شما
1423
00:52:23,280 –> 00:52:26,000
تست هایی را اجرا کرد که تست های خودکار مانند
1424
00:52:26,000 –> 00:52:28,720
با استفاده از تست pi یا چیزی شبیه آن
1425
00:52:28,720 –> 00:52:31,119
شما فقط می توانید فضای کلید را تغییر دهید
1426
00:52:31,119 –> 00:52:32,559
ما واقعاً به مدل خود نیاز داریم
1427
00:52:32,559 –> 00:52:35,520
این را کمی به روز کنید تا به آن رسیدگی شود
1428
00:52:35,520 –> 00:52:37,200
مشکل فضای کلیدی من هرگز در واقع
1429
00:52:37,200 –> 00:52:38,960
آن را عمدا اجرا کردیم تا بتوانیم
1430
00:52:38,960 –> 00:52:41,520
در واقع این کار را اکنون بعد از اینکه حتی اضافه کردیم انجام دهید
1431
00:52:41,520 –> 00:52:42,800
در فضای کلید
1432
00:52:42,800 –> 00:52:44,319
بنابراین چند راه وجود دارد که چگونه می توانیم
1433
00:52:44,319 –> 00:52:46,240
به انجام این کار فکر کنید اما راه اصلی
1434
00:52:46,240 –> 00:52:47,680
من می خواهم آن را انجام دهم از
1435
00:52:47,680 –> 00:52:49,920
فایل پیکربندی اینجا درست از
1436
00:52:49,920 –> 00:52:52,240
تنظیمات خود ما آن کلید را داریم
1437
00:52:52,240 –> 00:52:54,559
فضای در حال حاضر وجود دارد پس چه چیزی من
1438
00:52:54,559 –> 00:52:55,920
می توانم در مدل من این است که در واقع
1439
00:52:55,920 –> 00:52:58,319
در واقع به آن مقدار ارجاع می دهیم پس ما هستیم
1440
00:52:58,319 –> 00:53:01,040
این کار را توسط app.config as انجام می دهیم
1441
00:53:01,040 –> 00:53:03,520
از این پوشه درست اینجا نقطه
1442
00:53:03,520 –> 00:53:05,280
پیکربندی ماژول پیکربندی که ما به آن می رویم
1443
00:53:05,280 –> 00:53:06,880
ادامه دهید و git را وارد کنید
1444
00:53:06,880 –> 00:53:08,160
تنظیمات
1445
00:53:08,160 –> 00:53:10,319
و البته ما جلوتر می رویم و می گوییم
1446
00:53:10,319 –> 00:53:13,359
تنظیمات برابر با تنظیمات git است
1447
00:53:13,359 –> 00:53:15,200
حالا اگر به یاد بیاورید که من واقعاً چه زمانی هستم
1448
00:53:15,200 –> 00:53:17,760
کش lru را پیاده سازی کرد
1449
00:53:17,760 –> 00:53:20,640
بخشی که این روش تنظیمات git است
1450
00:53:20,640 –> 00:53:22,720
در واقع مقادیر را کش می کند
1451
00:53:22,720 –> 00:53:24,240
قرار نیست آن را فراخوانی کنند و
1452
00:53:24,240 –> 00:53:26,079
بارها و بارها که فکر می کنم همینطور است
1453
00:53:26,079 –> 00:53:27,920
در واقع بسیار مهم پس بعدی
1454
00:53:27,920 –> 00:53:29,520
چیزی که در داخل مدل کاربر ما واقعا
1455
00:53:29,520 –> 00:53:32,000
تمام کردن آن است که ما باید در این اضافه کنیم
1456
00:53:32,000 –> 00:53:34,480
فضای کلید در اینجا بنابراین دو خط زیر کلید
1457
00:53:34,480 –> 00:53:37,359
فاصله دو خط زیر در ما برابر است
1458
00:53:37,359 –> 00:53:40,480
موردی که ما در حال انجام تنظیمات فضای کلید نقطه ای هستیم
1459
00:53:40,480 –> 00:53:42,880
در اینجا ما آن را فضای کلیدی نامیدیم
1460
00:53:42,880 –> 00:53:45,040
بنابراین من همین را اعلام می کنم
1461
00:53:45,040 –> 00:53:47,119
در اینجا اکنون من می توانم این را کد سخت کنم
1462
00:53:47,119 –> 00:53:48,640
در واقع این را در و به طور کلی بنویسید
1463
00:53:48,640 –> 00:53:50,800
صحبت کردن که احتمالاً اشکالی ندارد
1464
00:53:50,800 –> 00:53:52,319
به جز زمانی که می خواهید بروید و تست کنید
1465
00:53:52,319 –> 00:53:54,480
درست است پس اگر واقعاً می خواستم
1466
00:53:54,480 –> 00:53:56,640
فضای کلید من را در مدل تست کنید
1467
00:53:56,640 –> 00:53:58,880
سپس من می خواهم آن را بر اساس
1468
00:53:58,880 –> 00:54:00,720
چیزی متفاوت درست در این مورد
1469
00:54:00,720 –> 00:54:02,559
داشتن آن بر اساس تنظیمات
1470
00:54:02,559 –> 00:54:03,920
که البته بر اساس
1471
00:54:03,920 –> 00:54:05,680
متغیرهای محیط پس از آن من می توانم
1472
00:54:05,680 –> 00:54:07,680
در واقع انعطاف زیادی در
1473
00:54:07,680 –> 00:54:09,440
تست هر مدل داده شده
1474
00:54:09,440 –> 00:54:11,520
با هر پایگاه داده casandra داده شده
1475
00:54:11,520 –> 00:54:13,119
از جمله یکی که لزوما نیست
1476
00:54:13,119 –> 00:54:16,480
میزبانی شده توسط datastax در astrodb
1477
00:54:16,480 –> 00:54:18,319
بسیار خوب، بنابراین اکنون مدل ما واقعاً اینگونه است
1478
00:54:18,319 –> 00:54:21,119
آماده همگام سازی است، پس چگونه این کار را انجام دهیم
1479
00:54:21,119 –> 00:54:22,800
این بخش در واقع بسیار آسان است و
1480
00:54:22,800 –> 00:54:24,480
این کاری است که شما آن را دوباره انجام خواهید داد
1481
00:54:24,480 –> 00:54:27,599
دوباره پس داخل main.pi
1482
00:54:27,599 –> 00:54:30,559
کاری که می خواهیم انجام دهیم این است که می خواهیم وارد کنیم
1483
00:54:30,559 –> 00:54:32,880
روش جدول همگام سازی
1484
00:54:32,880 –> 00:54:36,000
از خود کاساندرا پس از کاساندرا
1485
00:54:36,000 –> 00:54:36,880
نقطه
1486
00:54:36,880 –> 00:54:38,960
موتور cql
1487
00:54:38,960 –> 00:54:39,920
نقطه
1488
00:54:39,920 –> 00:54:41,760
مدیریت ما پیش می رویم و
1489
00:54:41,760 –> 00:54:44,079
وارد كردن
1490
00:54:44,079 –> 00:54:46,079
جدول همگام سازی
1491
00:54:46,079 –> 00:54:49,040
بسیار خوب پس این دستور جدول همگام سازی خواهد بود
1492
00:54:49,040 –> 00:54:51,920
با مدل ما استفاده می شود و ما فقط آن را می خواهیم
1493
00:54:51,920 –> 00:54:54,960
برای همگام سازی جدول در نوع خاصی از رویداد
1494
00:54:54,960 –> 00:54:57,760
این زمانی است که برنامه api سریع ما
1495
00:54:57,760 –> 00:54:59,920
چکمه های آن زمانی است که ما می خواهیم در واقع
1496
00:54:59,920 –> 00:55:01,440
این جدول را همگام کنید
1497
00:55:01,440 –> 00:55:03,440
پس چگونه می توانیم این کار را به خوبی انجام دهیم
1498
00:55:03,440 –> 00:55:05,119
روش خوبی وجود دارد
1499
00:55:05,119 –> 00:55:07,200
برای api سریع نامیده می شود
1500
00:55:07,200 –> 00:55:09,040
که با دکوراتور اپلیکیشن استفاده می کنیم
1501
00:55:09,040 –> 00:55:11,440
فراخوان رویداد
1502
00:55:11,440 –> 00:55:13,680
و یک رویداد برای وجود دارد
1503
00:55:13,680 –> 00:55:16,000
راه اندازی رویدادهای دیگری نیز وجود دارد
1504
00:55:16,000 –> 00:55:18,079
اما ما آن را زمانی می خواهیم که واقعاً شروع شود
1505
00:55:18,079 –> 00:55:20,400
و می توانیم برای این و روشی تعریف کنیم
1506
00:55:20,400 –> 00:55:21,920
فقط با این تماس بگیرید
1507
00:55:21,920 –> 00:55:23,200
استارت آپ
1508
00:55:23,200 –> 00:55:26,319
و سپس این راه اندازی می شود
1509
00:55:26,319 –> 00:55:29,359
هنگامی که api سریع شروع می شود
1510
00:55:29,359 –> 00:55:31,119
و ما می توانیم آن را با
1511
00:55:31,119 –> 00:55:33,760
انجام کاری مانند چاپ سلام دنیا
1512
00:55:33,760 –> 00:55:35,200
و به دویدن خود برمی گردیم
1513
00:55:35,200 –> 00:55:37,599
وقتی آن را ذخیره می کنم، برنامه اینجاست
1514
00:55:37,599 –> 00:55:39,680
در واقع همه چیز را درست راه اندازی مجدد می کند
1515
00:55:39,680 –> 00:55:41,280
خاموش می شود و سپس راه اندازی مجدد و سپس
1516
00:55:41,280 –> 00:55:43,440
دوباره آن را چاپ می کنم تا بتوانم امتحان کنم
1517
00:55:43,440 –> 00:55:45,200
این بارها و بارها و من انجام خواهم داد
1518
00:55:45,200 –> 00:55:47,440
ببینید سلام دنیا فقط زمانی اتفاق می افتد که آن را ببینید
1519
00:55:47,440 –> 00:55:48,640
در واقع انجام می دهد
1520
00:55:48,640 –> 00:55:50,880
راه اندازی که دقیقا همان جایی است که ما می خواهیم
1521
00:55:50,880 –> 00:55:53,119
این جدول همگام سازی باشد
1522
00:55:53,119 –> 00:55:55,040
بنابراین بخش بعدی این است که آن را وارد کنید
1523
00:55:55,040 –> 00:55:56,440
بنابراین از نقطه
1524
00:55:56,440 –> 00:55:58,880
users.models ما قصد داریم تا خود را وارد کنیم
1525
00:55:58,880 –> 00:56:01,839
مدل کاربری اینجاست و من می خواهم اجرا کنم
1526
00:56:01,839 –> 00:56:02,720
همگام سازی
1527
00:56:02,720 –> 00:56:03,760
جدول
1528
00:56:03,760 –> 00:56:06,960
در این مدل کاربر اما من کاملا نیست
1529
00:56:06,960 –> 00:56:09,440
هنوز درست است، بنابراین من جدول همگام سازی را دارم
1530
00:56:09,440 –> 00:56:11,760
قابلیت و من می توانم آن را ذخیره کنم اما این کار را خواهم کرد
1531
00:56:11,760 –> 00:56:14,319
یک مشکل درست پیدا کنم پس این خطا را دریافت می کنم
1532
00:56:14,319 –> 00:56:15,440
گفتن آن
1533
00:56:15,440 –> 00:56:17,280
شما این شیء این ارتباط را می شناسید
1534
00:56:17,280 –> 00:56:20,559
هیچ چیز واقعاً در این نقطه وجود ندارد و
1535
00:56:20,559 –> 00:56:22,799
این به این دلیل است که ما در واقع استفاده نکردیم
1536
00:56:22,799 –> 00:56:25,440
خود پایگاه داده درست است بنابراین ما هرگز
1537
00:56:25,440 –> 00:56:28,079
در واقع جلسه پایگاه داده را دریافت کردم و
1538
00:56:28,079 –> 00:56:30,000
در واقع به همین دلیل است که من اضافه کردم
1539
00:56:30,000 –> 00:56:31,760
این موارد در اینجا
1540
00:56:31,760 –> 00:56:35,040
زمانی که ما این فایل db.pi را پیکربندی کردیم
1541
00:56:35,040 –> 00:56:37,359
آنها به طور خاص برای
1542
00:56:37,359 –> 00:56:40,319
سریع api همانطور که در هنگام انجام آن اشاره کردم
1543
00:56:40,319 –> 00:56:41,760
اما اکنون می توانیم جلو برویم و این را بیاوریم
1544
00:56:41,760 –> 00:56:46,079
پس بیایید برویم و آن را وارد کنیم
1545
00:56:46,079 –> 00:56:48,480
بنابراین از واردات نقطه db
1546
00:56:48,480 –> 00:56:52,079
و سپس آن را به سادگی به عنوان db.get ساده است
1547
00:56:52,079 –> 00:56:53,040
جلسه
1548
00:56:53,040 –> 00:56:55,359
ما می توانیم آن را نجات دهیم که اکنون در واقع در حال انجام است
1549
00:56:55,359 –> 00:56:57,920
تا خطا اجرا نشود
1550
00:56:57,920 –> 00:57:00,400
این به من این مقدار را می دهد
1551
00:57:00,400 –> 00:57:02,319
فقط یک چیز ساده است که می توانم آن را تغییر دهم
1552
00:57:02,319 –> 00:57:03,440
یک لحظه
1553
00:57:03,440 –> 00:57:05,680
اما ایده کلی در اینجا این است که من اکنون می توانم
1554
00:57:05,680 –> 00:57:07,760
گاهی اوقات شما این جلسه را داشته باشید
1555
00:57:07,760 –> 00:57:09,200
ممکن است بخواهید به این جلسه ارجاع دهید
1556
00:57:09,200 –> 00:57:11,520
در جاهای دیگر، بنابراین اغلب ایده خوبی است
1557
00:57:11,520 –> 00:57:15,040
یک متغیر سراسری را که در اینجا تنظیم می کنیم انجام دهید
1558
00:57:15,040 –> 00:57:17,680
ابتدا آن را به عنوان هیچ و سپس وارد کردیم
1559
00:57:17,680 –> 00:57:19,760
روش راه اندازی که ما به آن اشاره می کنیم
1560
00:57:19,760 –> 00:57:22,640
متغیر جهانی و سپس آن را تنظیم کنید
1561
00:57:22,640 –> 00:57:23,920
خیلی شبیه این
1562
00:57:23,920 –> 00:57:25,359
به طوری که اگر در جای دیگری نیاز دارم
1563
00:57:25,359 –> 00:57:27,200
در واقع از همان جلسه استفاده نمی کنم
1564
00:57:27,200 –> 00:57:29,040
نیاز به مقداردهی اولیه مجدد آن است
1565
00:57:29,040 –> 00:57:31,280
کاری که من قطعا نمی خواهم انجام دهم
1566
00:57:31,280 –> 00:57:33,520
و در این مورد چیزی که ما هم نیستیم
1567
00:57:33,520 –> 00:57:34,720
قرار است انجام دهیم این است که از آن استفاده نخواهیم کرد
1568
00:57:34,720 –> 00:57:36,720
حافظه پنهان lru
1569
00:57:36,720 –> 00:57:38,480
همانطور که با تنظیمات خود انجام دادیم، این یک است
1570
00:57:38,480 –> 00:57:40,480
کمی متفاوت از آن و اگر ما
1571
00:57:40,480 –> 00:57:42,640
برای تازه کردن جلسه مورد نیاز است
1572
00:57:42,640 –> 00:57:44,720
خود ما می توانیم ما در واقع می توانیم فقط
1573
00:57:44,720 –> 00:57:46,799
به یاد بیاورید آن را حذف کنید ما می توانیم کارهای زیادی انجام دهیم
1574
00:57:46,799 –> 00:57:49,680
چیزهایی با این روش جلسه git در اینجا
1575
00:57:49,680 –> 00:57:51,520
که ممکن است در این مورد نیاز داشته باشیم یا نداشته باشیم
1576
00:57:51,520 –> 00:57:54,559
نکته باشه خیلی خوبه پس یک چیز اینجاست
1577
00:57:54,559 –> 00:57:56,319
آیا ممکن است واقعاً بخواهم یا نخواهم؟
1578
00:57:56,319 –> 00:57:59,520
حذف این شما می دانید sql تخمگذار اجازه می دهد
1579
00:57:59,520 –> 00:58:01,760
مدیریت طرحواره در اینجا
1580
00:58:01,760 –> 00:58:04,000
این یک راه حل واقعاً ساده است که ما آن را حل می کنیم
1581
00:58:04,000 –> 00:58:06,559
فقط می توانید در پیکربندی ما در اینجا انجام دهید
1582
00:58:06,559 –> 00:58:10,319
می تواند سیستم عامل را وارد کند و انجام دهد
1583
00:58:10,319 –> 00:58:12,559
محیط os dot
1584
00:58:12,559 –> 00:58:15,200
و گرفتن آن مقدار و تنظیم آن
1585
00:58:15,200 –> 00:58:18,240
برابر با یک یا صفر سمت راست من تنظیم می کنم
1586
00:58:18,240 –> 00:58:20,559
برابر است با درست تا یک
1587
00:58:20,559 –> 00:58:23,200
و اوه می گوید که انتظار یک رشته دارد
1588
00:58:23,200 –> 00:58:25,200
و نه یک عدد صحیح پس بیایید فقط بچرخیم
1589
00:58:25,200 –> 00:58:26,559
که به یک رشته
1590
00:58:26,559 –> 00:58:29,040
و ما به آنجا می رویم که هشدار از بین می رود
1591
00:58:29,040 –> 00:58:30,079
برای ما
1592
00:58:30,079 –> 00:58:32,400
اما اکنون که مدل خود را در واقع داریم
1593
00:58:32,400 –> 00:58:34,880
مرتبط است که آماده رفتن است، زمان آن فرا رسیده است
1594
00:58:34,880 –> 00:58:36,720
در واقع برخی از داده ها را ذخیره کنید و ببینید چه چیزی
1595
00:58:36,720 –> 00:58:40,480
که در تراشه به نظر می رسد
1596
00:58:40,559 –> 00:58:42,160
حالا ما میخواهیم جلو برویم و از آن استفاده کنیم
1597
00:58:42,160 –> 00:58:44,799
پوسته پایتون برای ایجاد کاربر و ذخیره
1598
00:58:44,799 –> 00:58:46,880
آن را در پایگاه داده cassandra ما تا از
1599
00:58:46,880 –> 00:58:49,280
البته ترمینال خود را در اینجا باز کنید و
1600
00:58:49,280 –> 00:58:51,440
مطمئن باش که روزه نداری
1601
00:58:51,440 –> 00:58:54,160
برنامه api هنوز در حال اجرا است بنابراین من هستم
1602
00:58:54,160 –> 00:58:56,160
به جلو بروید و به پایتون بپرید
1603
00:58:56,160 –> 00:58:57,200
و من قصد دارم استفاده کنم
1604
00:58:57,200 –> 00:59:00,200
fromapp.users.models
1605
00:59:00,480 –> 00:59:02,079
وارد کردن کاربر
1606
00:59:02,079 –> 00:59:03,440
و ما پیش خواهیم رفت و استفاده خواهیم کرد
1607
00:59:03,440 –> 00:59:06,240
user.objects.create
1608
00:59:06,240 –> 00:59:08,319
اکنون می خواهم موارد مورد نیاز را پاس کنم
1609
00:59:08,319 –> 00:59:10,480
فیلدهایی که من دارم که ایمیل و
1610
00:59:10,480 –> 00:59:12,559
پسورد پس برو و ایمیل بزن
1611
00:59:12,559 –> 00:59:13,680
مساوی با
1612
00:59:13,680 –> 00:59:14,760
سلام
1613
00:59:14,760 –> 00:59:17,520
teamcfv.com که یک ایمیل واقعی است
1614
00:59:17,520 –> 00:59:18,799
بعد می روم جلو و عبور می کنم
1615
00:59:18,799 –> 00:59:22,480
رمز عبور ما که abc123 خواهد بود
1616
00:59:22,480 –> 00:59:24,079
و ما جلو خواهیم رفت و سعی خواهیم کرد ایجاد کنیم
1617
00:59:24,079 –> 00:59:24,880
این
1618
00:59:24,880 –> 00:59:27,520
باز هم ما این مشکل را درست می بینیم
1619
00:59:27,520 –> 00:59:31,520
موتور sql استثناء موتور cql است
1620
00:59:31,520 –> 00:59:34,079
استثنا در اینجا در حال حاضر البته این است
1621
00:59:34,079 –> 00:59:37,520
دقیقاً همان مشکلی که ما با آن روبرو بودیم
1622
00:59:37,520 –> 00:59:39,599
زمانی که آن را پیکربندی یا همگام سازی می کردیم
1623
00:59:39,599 –> 00:59:41,920
جدول در وهله اول
1624
00:59:41,920 –> 00:59:43,680
بنابراین اغلب اوقات کاری که باید انجام دهید
1625
00:59:43,680 –> 00:59:45,440
هنگامی که شما با استفاده از آیا آن را
1626
00:59:45,440 –> 00:59:47,839
پوسته پایتون یا شما از چیزی شبیه به آن استفاده می کنید
1627
00:59:47,839 –> 00:59:50,000
Jupiter است که شما هنوز باید پیاده سازی کنید
1628
00:59:50,000 –> 00:59:52,000
این جلسه اینجاست پس بیایید جلو برویم و
1629
00:59:52,000 –> 00:59:54,880
این کار را از db import app و انجام خواهم داد
1630
00:59:54,880 –> 00:59:57,440
ما ادامه می دهیم و db.get underscore را انجام می دهیم
1631
00:59:57,440 –> 01:00:00,480
جلسه enter را بزنید و البته همینطور است
1632
01:00:00,480 –> 01:00:01,839
برای دریافت جلسه ما یک
1633
01:00:01,839 –> 01:00:03,920
شی جلسه اکنون بیایید سعی کنیم و ایجاد کنیم
1634
01:00:03,920 –> 01:00:05,839
دوباره این بار در واقع انجام می دهد
1635
01:00:05,839 –> 01:00:08,000
ایجاد آن توجه کنید که من آن را همگام نکردم
1636
01:00:08,000 –> 01:00:10,400
جدول اصلا به دنبال جدول نبود
1637
01:00:10,400 –> 01:00:13,440
لازم است زیرا قبلاً انجام شده بود اگر
1638
01:00:13,440 –> 01:00:15,119
قبلاً انجام نشده بود، خواهیم دید
1639
01:00:15,119 –> 01:00:17,520
اشتباهات در اینجا اما در واقع اجازه می دهد
1640
01:00:17,520 –> 01:00:20,160
من برای ایجاد این کاربر پس چه می شود اگر من
1641
01:00:20,160 –> 01:00:22,079
در واقع رمز عبور را در اینجا به تغییر دهید
1642
01:00:22,079 –> 01:00:23,920
abc123d
1643
01:00:23,920 –> 01:00:27,040
و اینتر را بزنید که همان کاربر خوب است
1644
01:00:27,040 –> 01:00:30,319
در واقع در این مورد در حال بررسی است
1645
01:00:30,319 –> 01:00:32,799
یک کاربر متفاوت است
1646
01:00:32,799 –> 01:00:34,799
یا اینطور است که بیایید جلو برویم و یک کار را انجام دهیم
1647
01:00:34,799 –> 01:00:38,319
مجموعه پرس و جو با user.objects.all
1648
01:00:38,319 –> 01:00:40,319
و سپس من به جلو می روم و برای کاربر انجام می دهم
1649
01:00:40,319 –> 01:00:43,440
و صف می کشیم و چاپ می کنیم
1650
01:00:43,440 –> 01:00:44,960
نقطه کاربر
1651
01:00:44,960 –> 01:00:48,559
آدرس ایمیل و کاربر نقطه زیر خط کاربر
1652
01:00:48,559 –> 01:00:50,720
و اینتر را بزنید متوجه شوید که i در واقع
1653
01:00:50,720 –> 01:00:54,160
دو ایمیل با دو کاربر در اینجا داشته باشید
1654
01:00:54,160 –> 01:00:56,640
دقیقا همان ایمیل این است
1655
01:00:56,640 –> 01:00:58,640
ایده آل نیست من واقعا می خواهم
1656
01:00:58,640 –> 01:01:01,440
این را تغییر دهید تا خوب باشد
1657
01:01:01,440 –> 01:01:04,559
یک کاربر که به عبارت دیگر به این معنی است
1658
01:01:04,559 –> 01:01:06,640
من واقعاً باید یک روش ایجاد کنم
1659
01:01:06,640 –> 01:01:08,640
که قرار است کاربران من را برای من ایجاد کند
1660
01:01:08,640 –> 01:01:11,680
از روش داخلی استفاده نکنید که این
1661
01:01:11,680 –> 01:01:14,599
راننده کاساندرا دارد
1662
01:01:14,599 –> 01:01:16,480
user.objects.create آن داخلی است
1663
01:01:16,480 –> 01:01:19,119
روشی که خوب است شما کاملاً می توانید
1664
01:01:19,119 –> 01:01:22,000
به طور کلی از آن روش داخلی استفاده کنید
1665
01:01:22,000 –> 01:01:23,839
وقتی واقعا از این مدل ها استفاده می کنید اما
1666
01:01:23,839 –> 01:01:25,760
در مورد ما در این مورد به ویژه
1667
01:01:25,760 –> 01:01:28,319
ما نمی خواهیم که طرف مقابل ما باشد
1668
01:01:28,319 –> 01:01:31,119
رمز عبور کاربر درست است بنابراین اگر من ادامه دهم و
1669
01:01:31,119 –> 01:01:33,200
user.password را انجام دهید
1670
01:01:33,200 –> 01:01:36,079
و وارد کنید رمز عبور متن خام است
1671
01:01:36,079 –> 01:01:37,680
این کار دیگری است که ما قطعا انجام می دهیم
1672
01:01:37,680 –> 01:01:40,319
نمی خواهید انجام دهید که امنیت بزرگی است
1673
01:01:40,319 –> 01:01:43,359
خودش را نگران می کند پس چند مورد وجود دارد
1674
01:01:43,359 –> 01:01:45,359
ایده هایی که در اینجا در حال بازی هستند
1675
01:01:45,359 –> 01:01:47,520
واقعا نیاز به رسیدگی است و ما بسیار
1676
01:01:47,520 –> 01:01:48,480
به زودی
1677
01:01:48,480 –> 01:01:49,839
اما با در نظر گرفتن این، اجازه دهید پیش برویم و
1678
01:01:49,839 –> 01:01:51,680
در واقع ببینید داشتن چه چیزی به نظر می رسد
1679
01:01:51,680 –> 01:01:54,559
همه این کاربران در یک نما نمایش داده می شوند
1680
01:01:54,559 –> 01:01:56,160
حق دیدن آنها در داخل
1681
01:01:56,160 –> 01:01:58,799
اینجا را مشاهده کنید و من به جلو می روم و همچنین اضافه می کنم
1682
01:01:58,799 –> 01:02:01,039
همه این موارد را در یادداشت های ما که
1683
01:02:01,039 –> 01:02:04,799
روشی که بعداً آنها را خواهید داشت
1684
01:02:05,039 –> 01:02:06,000
در حال حاضر ما می رویم به جلو و
1685
01:02:06,000 –> 01:02:08,079
یک نمای را پیاده سازی کنید که در واقع لیست می شود
1686
01:02:08,079 –> 01:02:10,400
نتایج حاصل از مدلی مانند این کاربر
1687
01:02:10,400 –> 01:02:13,599
مدل در این مورد بنابراین پرش به اصلی
1688
01:02:13,599 –> 01:02:15,039
و تا بالا ما به جلو می رویم و
1689
01:02:15,039 –> 01:02:16,880
مدل کاربری ما را وارد کنید هنوز هی چه کار کنید
1690
01:02:16,880 –> 01:02:18,960
شما می دانید که آن را در حال حاضر وجود دارد بعدی من هستم
1691
01:02:18,960 –> 01:02:20,559
به جلو بروید و فقط یک جدید ایجاد کنید
1692
01:02:20,559 –> 01:02:24,880
نقطه پایانی با app.git و اسلش کاربران
1693
01:02:24,880 –> 01:02:26,480
و سپس ما به جلو می رویم و این را تعریف می کنیم
1694
01:02:26,480 –> 01:02:27,359
مانند
1695
01:02:27,359 –> 01:02:32,480
لیست کاربران یا بهتر بگوییم نمای لیست کاربران
1696
01:02:32,480 –> 01:02:34,480
کمی خاص تر بودن
1697
01:02:34,480 –> 01:02:36,079
من می روم و یک پرس و جو تعریف می کنم
1698
01:02:36,079 –> 01:02:38,640
چیزی شبیه به q را تنظیم کنید
1699
01:02:38,640 –> 01:02:41,839
برابر با user.objects.all است
1700
01:02:41,839 –> 01:02:44,480
این یک مجموعه پرس و جو است که به من می دهد
1701
01:02:44,480 –> 01:02:46,559
تمام اشیاء کاربر که ذخیره می شوند
1702
01:02:46,559 –> 01:02:48,079
در پایگاه داده ما من می خواهم به جلو بروید
1703
01:02:48,079 –> 01:02:50,880
و آن مقدار را به 10 محدود کنید
1704
01:02:50,880 –> 01:02:51,920
و سپس من می روم جلو و
1705
01:02:51,920 –> 01:02:53,599
بازگشت q
1706
01:02:53,599 –> 01:02:55,599
خوب بیایید ببینیم آیا این کار می کند یا چیست
1707
01:02:55,599 –> 01:02:58,319
به نظر می رسد زمانی که ما این را امتحان می کنیم
1708
01:02:58,319 –> 01:03:00,400
این مورد من در حال حاضر نیاز به البته اجرا خود را
1709
01:03:00,400 –> 01:03:03,119
برنامه سریع api بنابراین uviacorn و
1710
01:03:03,119 –> 01:03:05,920
این دو نقطه app.main است
1711
01:03:05,920 –> 01:03:09,520
بارگذاری مجدد برنامه داشبورد اینتر را بزنید و ما می رویم
1712
01:03:09,520 –> 01:03:11,920
جلو و دامنه ما را در اینجا باز کنید
1713
01:03:11,920 –> 01:03:14,319
سلام دنیای من عالی کار میکنه بیا بریم
1714
01:03:14,319 –> 01:03:15,839
و به کاربران ما نگاه کنید
1715
01:03:15,839 –> 01:03:18,799
خطای سرور داخلی درست است پس اعتراض کنید
1716
01:03:18,799 –> 01:03:22,079
شیء قابل تکرار نیست، بنابراین ما نمی توانیم
1717
01:03:22,079 –> 01:03:24,640
در واقع فقط داده هایی مانند این چه چیزی را برمی گرداند
1718
01:03:24,640 –> 01:03:26,720
اگر واقعاً این را به یک لیست تبدیل کنم
1719
01:03:26,720 –> 01:03:29,359
خود بیایید ببینیم چه کاری انجام می دهد اگر من
1720
01:03:29,359 –> 01:03:31,920
آن را ذخیره کنید و اکنون آن را در اینجا بازخوانی کنید
1721
01:03:31,920 –> 01:03:34,799
در واقع این داده ها را به درستی باز می گرداند
1722
01:03:34,799 –> 01:03:36,960
در واقع آن را برای من نشان می دهد
1723
01:03:36,960 –> 01:03:38,960
و به این دلیل است که این یک مجموعه پرس و جو است
1724
01:03:38,960 –> 01:03:41,359
این یک لیست به طور پیش فرض نیست
1725
01:03:41,359 –> 01:03:43,039
البته می توانید انواع داده ها را بررسی کنید
1726
01:03:43,039 –> 01:03:45,680
همانطور که شما مناسب می بینید که فقط تمیز است
1727
01:03:45,680 –> 01:03:48,799
راه ساده و آسان برای برگرداندن این مقدار
1728
01:03:48,799 –> 01:03:51,520
اکنون ما در واقع می توانیم از حق pydantic استفاده کنیم
1729
01:03:51,520 –> 01:03:54,559
اینجاست تا این داده ها را برای ما سریال کنیم
1730
01:03:54,559 –> 01:03:56,720
لازم نیست از آن در این راه استفاده کنید اما
1731
01:03:56,720 –> 01:03:58,400
این فقط یک راه ساده و آسان است
1732
01:03:58,400 –> 01:04:00,559
سریالی کردن داده ها به صورت
1733
01:04:00,559 –> 01:04:02,720
ما فقط دیدیم چیز دیگر این است که اگر ما
1734
01:04:02,720 –> 01:04:05,280
از پدانتیک استفاده می شود می توانم بدانی که می دانی
1735
01:04:05,280 –> 01:04:09,039
اگر بخواهم فیلد رمز عبور را مخفی کنم
1736
01:04:09,039 –> 01:04:10,960
آن را از اینجا حذف کنید
1737
01:04:10,960 –> 01:04:12,240
البته راه های دیگری برای انجام آن وجود دارد
1738
01:04:12,240 –> 01:04:14,799
اما در این مورد من فقط آن را ترک می کنم
1739
01:04:14,799 –> 01:04:18,319
در این و دلیل دیگری را تشخیص دهید
1740
01:04:18,319 –> 01:04:19,760
نداشتن
1741
01:04:19,760 –> 01:04:21,680
رمز عبور ما به عنوان
1742
01:04:21,680 –> 01:04:24,720
فقط متن ساده درست است واقعاً واقعاً
1743
01:04:24,720 –> 01:04:27,359
آسان است که به طور تصادفی چیزی شبیه به
1744
01:04:27,359 –> 01:04:30,319
این چه برای تیم داخلی ما باشد
1745
01:04:30,319 –> 01:04:33,359
یا برای کاربران نهایی ما درست است که ما هرگز
1746
01:04:33,359 –> 01:04:36,000
می خواهند رمز عبور آنها فاش شود
1747
01:04:36,000 –> 01:04:37,760
این یعنی شاید ما آنها را نمی خواهیم
1748
01:04:37,760 –> 01:04:39,760
ایمیل به افشای یا به دلیل
1749
01:04:39,760 –> 01:04:42,480
این نیز بخشی از نشت داده است که
1750
01:04:42,480 –> 01:04:44,319
روشی که می خواهیم برای آن پیاده سازی کنیم
1751
01:04:44,319 –> 01:04:46,799
ذخیره رمزهای عبور ما می تواند مورد استفاده قرار گیرد
1752
01:04:46,799 –> 01:04:48,559
ایمیل ها نیز
1753
01:04:48,559 –> 01:04:50,720
پس بیایید در حین حرکت آن را در ذهن داشته باشیم
1754
01:04:50,720 –> 01:04:52,720
رو به جلو اما در این مرحله فقط یک
1755
01:04:52,720 –> 01:04:56,480
نمای ساده برای نشان دادن اطلاعات کاربر به ما نیست
1756
01:04:56,480 –> 01:04:58,720
این یک معامله بزرگ است بنابراین اولین چیزی که من
1757
01:04:58,720 –> 01:05:00,640
در واقع می خواهید به آدرس ایمیل است
1758
01:05:00,640 –> 01:05:01,599
خود
1759
01:05:01,599 –> 01:05:03,839
ما می خواهیم اعتبار سنجی کنیم و مطمئن شویم که اینطور است
1760
01:05:03,839 –> 01:05:06,160
یک ایمیل واقعی چون در حال حاضر اینطور نیست
1761
01:05:06,160 –> 01:05:07,599
نشان دادن هر یک از آن
1762
01:05:07,599 –> 01:05:10,079
پس از انجام اعتبارسنجی ایمیل و ما
1763
01:05:10,079 –> 01:05:12,000
آن را اجرا کنید، سپس ما به جلو خواهیم رفت و
1764
01:05:12,000 –> 01:05:15,520
رمز عبور ما را انجام دهیم
1765
01:05:15,680 –> 01:05:17,680
اکنون وقتی کاربر خود را در قسمت ایجاد کردیم
1766
01:05:17,680 –> 01:05:20,319
پوسته ما از یک ویژگی داخلی استفاده کردیم
1767
01:05:20,319 –> 01:05:22,480
راننده کاساندرا که ما را می گیرد
1768
01:05:22,480 –> 01:05:25,839
نام مدل doing.objects.create
1769
01:05:25,839 –> 01:05:27,680
و سپس داده ها را برای ما ارسال می کنیم
1770
01:05:27,680 –> 01:05:30,000
فیلدها من در واقع می خواهم این را تغییر دهم
1771
01:05:30,000 –> 01:05:31,839
کمی به جایی که من واقعا دارم
1772
01:05:31,839 –> 01:05:35,119
خود که قرار است user.create باشد
1773
01:05:35,119 –> 01:05:37,839
حق کاربر است، بنابراین من می خواهم خود را ایجاد کنم
1774
01:05:37,839 –> 01:05:40,880
روش ایستا برای این اتفاق می افتد
1775
01:05:40,880 –> 01:05:42,880
خیلی متفاوت از آنچه ما هستیم
1776
01:05:42,880 –> 01:05:45,039
در اینجا ساخته شده است آن را فقط کمی
1777
01:05:45,039 –> 01:05:47,039
متفاوت به معنایی که من می خواهم
1778
01:05:47,039 –> 01:05:49,520
نحوه پایان کار این روش را مدیریت کنید
1779
01:05:49,520 –> 01:05:51,280
بنابراین زمانی که من واقعا کاربران را ثبت نام می کنم
1780
01:05:51,280 –> 01:05:54,319
قرار است از این استفاده شود و این چنین نیست
1781
01:05:54,319 –> 01:05:56,880
برای انجام این کار به مدل های خود می پریم.pi
1782
01:05:56,880 –> 01:05:59,440
و ما فقط وارد اینجا می شویم و یک را ایجاد می کنیم
1783
01:05:59,440 –> 01:06:02,240
روش استاتیک با روش در استاتیک و
1784
01:06:02,240 –> 01:06:03,680
سپس ما تعریف می کنیم که آن روش چه چیزی را دنبال می کند
1785
01:06:03,680 –> 01:06:06,640
به این خواهد شد ایجاد کاربر
1786
01:06:06,640 –> 01:06:08,400
و چیزی شبیه به آن را می گیرد
1787
01:06:08,400 –> 01:06:10,640
ایمیل و رمز عبور من جلوتر می روم و می گویم
1788
01:06:10,640 –> 01:06:11,920
پست الکترونیک
1789
01:06:11,920 –> 01:06:12,880
است
1790
01:06:12,880 –> 01:06:16,319
رمز عبور ما هیچ کدام به عنوان پیش فرض نیست، بنابراین
1791
01:06:16,319 –> 01:06:18,400
اول اینجا چه کاری باید انجام دهم
1792
01:06:18,400 –> 01:06:20,960
موضوع این است که من می خواهم بررسی کنم که آیا این ایمیل وجود دارد یا خیر
1793
01:06:20,960 –> 01:06:23,760
در حال حاضر در پایگاه داده ما وجود دارد، بنابراین من هستم
1794
01:06:23,760 –> 01:06:26,760
در واقع یک پرس و جو برای
1795
01:06:26,760 –> 01:06:28,400
user.objects.filter
1796
01:06:28,400 –> 01:06:29,520
پست الکترونیک
1797
01:06:29,520 –> 01:06:31,440
برابر با ایمیل
1798
01:06:31,440 –> 01:06:34,000
بنابراین این یک راه داخلی دیگر برای اجرای a است
1799
01:06:34,000 –> 01:06:36,640
مجموعه پرس و جو این آن را کمی پایین می آورد
1800
01:06:36,640 –> 01:06:38,720
به جای اینکه بدانید فقط گرفتن
1801
01:06:38,720 –> 01:06:41,039
همه چیز مثل ما در اینجا این خواهد شد
1802
01:06:41,039 –> 01:06:43,760
در واقع فیلتر کردن بر اساس ما
1803
01:06:43,760 –> 01:06:47,119
کلید اصلی درست است پس راه کاساندرا
1804
01:06:47,119 –> 01:06:50,400
به صورت پیشفرض اینگونه فیلتر میشود
1805
01:06:50,400 –> 01:06:53,119
شما باید از کلید اصلی که هست استفاده کنید
1806
01:06:53,119 –> 01:06:56,000
دلیل اینکه ما ایمیل خود را به عنوان خود انجام دادیم
1807
01:06:56,000 –> 01:06:57,200
کلید اصلی
1808
01:06:57,200 –> 01:06:59,760
درست در اینجا بسیار خوب و بنابراین قسمت بعدی است
1809
01:06:59,760 –> 01:07:02,799
میتوانیم بگوییم اگر q نقطه شمارش شود
1810
01:07:02,799 –> 01:07:04,960
برابر با صفر نیست
1811
01:07:04,960 –> 01:07:06,319
سپس ما نوعی را مطرح می کنیم
1812
01:07:06,319 –> 01:07:07,520
استثنا بنابراین من می خواهم به جلو و
1813
01:07:07,520 –> 01:07:08,799
بگو بالا بردن
1814
01:07:08,799 –> 01:07:10,400
استثنا
1815
01:07:10,400 –> 01:07:12,559
و من جلو می روم و می گویم کاربر
1816
01:07:12,559 –> 01:07:15,520
قبلاً حساب دارد یا این ایمیل است
1817
01:07:15,520 –> 01:07:17,359
قبلا ثبت نام کرده اید یا چیزی شبیه به آن
1818
01:07:17,359 –> 01:07:20,240
که حق پس این استثنا خود است
1819
01:07:20,240 –> 01:07:22,960
فقط یک راه ساده برای من برای گفتن
1820
01:07:22,960 –> 01:07:24,319
هر جای دیگری در برنامه که باشد
1821
01:07:24,319 –> 01:07:26,240
قصد استفاده از روش زیبایی شناختی که
1822
01:07:26,240 –> 01:07:28,559
سلام ما نمی توانیم از این ایمیل برای ایجاد یک استفاده کنیم
1823
01:07:28,559 –> 01:07:29,839
کاربر جدید
1824
01:07:29,839 –> 01:07:32,079
خوب است و بنابراین اجازه دهید فقط آن را فرض کنیم
1825
01:07:32,079 –> 01:07:33,839
اشکالی ندارد و سپس من ادامه می دهم و
1826
01:07:33,839 –> 01:07:36,240
فقط بگویید obj برابر با کاربر برابر است
1827
01:07:36,240 –> 01:07:38,559
ایمیل برابر با ایمیل
1828
01:07:38,559 –> 01:07:39,440
و سپس ما به جلو می رویم و انجام می دهیم
1829
01:07:39,440 –> 01:07:42,400
obj.password برابر با رمز عبور است
1830
01:07:42,400 –> 01:07:43,839
البته این چیزی است که من به آن نیاز دارم
1831
01:07:43,839 –> 01:07:44,640
تغییر دادن
1832
01:07:44,640 –> 01:07:48,319
و سپس obj.save و سپس obj را برگردانید
1833
01:07:48,319 –> 01:07:52,000
خوب پس درست اینجاست که تقریباً همین است
1834
01:07:52,000 –> 01:07:55,359
همان کاری که با اشیاء انجام دادیم.create
1835
01:07:55,359 –> 01:07:57,599
به جز اینکه در واقع آن را وارد نمی کند
1836
01:07:57,599 –> 01:08:01,760
پایگاه داده تا زمانی که ما آن را ذخیره کنید
1837
01:08:01,760 –> 01:08:04,640
اگر شما هم مثل من هستید این دقیقاً همینطور است
1838
01:08:04,640 –> 01:08:08,079
جانگو چگونه کار می کند و بسیار شبیه به چگونه است
1839
01:08:08,079 –> 01:08:10,640
کیمیاگری sql کار می کند به طوری که است
1840
01:08:10,640 –> 01:08:14,559
انواع دیگر بسته های پایگاه داده که
1841
01:08:14,559 –> 01:08:16,238
این کار را بسیار آسان می کند و آن را بسیار آسان می کند
1842
01:08:16,238 –> 01:08:18,319
کار با پایگاه داده casandra آسان تر است
1843
01:08:18,319 –> 01:08:20,719
به دلیل این نقشه برداری در هر صورت این
1844
01:08:20,719 –> 01:08:22,719
راهی برای بررسی اینکه آیا
1845
01:08:22,719 –> 01:08:24,960
ایمیل کاربر قبلا ثبت شده است اما
1846
01:08:24,960 –> 01:08:26,399
کاری که انجام نمی دهد این است که نمی کند
1847
01:08:26,399 –> 01:08:28,560
در واقع تأیید کنید که آیا این واقعی است
1848
01:08:28,560 –> 01:08:31,520
ایمیلی که انگار یک ایمیل مناسب است، پس اجازه دهید
1849
01:08:31,520 –> 01:08:34,158
ادامه دهید و یک اعتبارسنجی برای این کار ایجاد کنید
1850
01:08:34,158 –> 01:08:35,600
بنابراین در داخل کاربران من قصد دارم به جلو بروید
1851
01:08:35,600 –> 01:08:39,040
و اعتبار سنجی نقطه پی ایجاد کنید
1852
01:08:39,040 –> 01:08:40,560
و در داخل اینجا من واقعا می خواهم
1853
01:08:40,560 –> 01:08:44,080
روشی برای اعتبارسنجی ایمیل ما ایجاد کنید
1854
01:08:44,080 –> 01:08:45,679
اکنون برای انجام این کار من در واقع از آن استفاده خواهم کرد
1855
01:08:45,679 –> 01:08:47,679
یک بسته شخص ثالث به نام ایمیل
1856
01:08:47,679 –> 01:08:50,000
اعتبار دهنده من در این مورد تحقیق نکرده ام
1857
01:08:50,000 –> 01:08:52,479
بسته بندی زیادی دارد من از آن استفاده نکرده ام
1858
01:08:52,479 –> 01:08:54,880
خیلی زیاد اما من می گویم زیبا بود
1859
01:08:54,880 –> 01:08:57,198
در تست های من موثر است
1860
01:08:57,198 –> 01:08:59,600
حالا من می گویم که به طور کلی می روید
1861
01:08:59,600 –> 01:09:01,839
بخواهید این را برای خودتان بررسی کنید
1862
01:09:01,839 –> 01:09:03,920
پروژه اما من فکر می کنم این یکی زیبا بود
1863
01:09:03,920 –> 01:09:07,040
برای اعتبارسنجی ایمیل در روش خوب است
1864
01:09:07,040 –> 01:09:09,040
که من می خواهم این کار را انجام دهم، بیایید ادامه دهیم و
1865
01:09:09,040 –> 01:09:10,799
نصب پیپ انجام دهید
1866
01:09:10,799 –> 01:09:13,040
r requirement.txt
1867
01:09:13,040 –> 01:09:15,759
با آن اعتبارسنجی ایمیل جدید در آنجا
1868
01:09:15,759 –> 01:09:16,640
باید باشد
1869
01:09:16,640 –> 01:09:18,560
در آنجا در حال حاضر عالی است
1870
01:09:18,560 –> 01:09:19,520
بنابراین اکنون ما می خواهیم جلو برویم و انجام دهیم
1871
01:09:19,520 –> 01:09:20,880
از ایمیل
1872
01:09:20,880 –> 01:09:23,520
تایید کننده
1873
01:09:23,920 –> 01:09:27,120
ما قصد داریم ایمیل وارد کنیم که معتبر نیست
1874
01:09:27,120 –> 01:09:28,080
خطا
1875
01:09:28,080 –> 01:09:30,560
و ایمیل را تایید کنید
1876
01:09:30,560 –> 01:09:31,920
و سپس تمام کاری که می خواهیم اینجا انجام دهیم این است
1877
01:09:31,920 –> 01:09:33,600
می خواهیم تعریف کنیم
1878
01:09:33,600 –> 01:09:35,520
تایید ایمیل
1879
01:09:35,520 –> 01:09:37,279
و ما قصد داریم تا در ایمیل ارسال کنیم
1880
01:09:37,279 –> 01:09:39,759
من این را می نویسم
1881
01:09:39,759 –> 01:09:42,399
روش ایمیل را در اینجا تأیید کنید
1882
01:09:42,399 –> 01:09:44,960
که در واقع باید باشد
1883
01:09:44,960 –> 01:09:47,439
بیایید این زیرخط را اعتبارسنجی بنامیم
1884
01:09:47,439 –> 01:09:49,520
ایمیل بنابراین با آن در تضاد نیست
1885
01:09:49,520 –> 01:09:51,600
خود اعتبار سنجی ایمیل
1886
01:09:51,600 –> 01:09:52,799
و سپس ما به جلو می رویم و به آن پاسخ می دهیم
1887
01:09:52,799 –> 01:09:54,880
پیام خالی ارسال کنید
1888
01:09:54,880 –> 01:09:57,280
صحت دارد یا نه
1889
01:09:57,280 –> 01:09:59,280
برخی از مقادیر پیش فرض اینجا و سپس من
1890
01:09:59,280 –> 01:10:01,440
ادامه دهید و معادل های معتبر را امتحان کنید
1891
01:10:01,440 –> 01:10:02,480
تصدیق
1892
01:10:02,480 –> 01:10:05,040
ایمیل این البته شخص ثالث است
1893
01:10:05,040 –> 01:10:07,040
ایمیل تایید بسته
1894
01:10:07,040 –> 01:10:09,760
از مقدار چسبانده شده در اینجا
1895
01:10:09,760 –> 01:10:11,360
و اگر معتبر باشد، ما این کار را می کنیم
1896
01:10:11,360 –> 01:10:13,120
ادامه دهید و به روز کنید
1897
01:10:13,120 –> 01:10:17,760
ایمیل var با نرمال شده است
1898
01:10:17,760 –> 01:10:19,760
مقدار به طوری که ایمیل برابر است
1899
01:10:19,760 –> 01:10:21,520
به valid.email
1900
01:10:21,520 –> 01:10:23,120
این خوب است، بنابراین در واقع آن را تمیز می کند
1901
01:10:23,120 –> 01:10:24,960
کمی برای ما ایده اینجاست
1902
01:10:24,960 –> 01:10:26,159
و سپس ما ادامه می دهیم و می گوییم معتبر است
1903
01:10:26,159 –> 01:10:27,520
برابر واقعی است
1904
01:10:27,520 –> 01:10:29,199
در غیر این صورت ما جلو می رویم و آن را می گیریم
1905
01:10:29,199 –> 01:10:31,920
استثنا که احتمالاً ایمیل خواهد بود
1906
01:10:31,920 –> 01:10:33,760
خطای معتبر نیست
1907
01:10:33,760 –> 01:10:36,320
به عنوان e و سپس من فقط پیام خود را می دهم
1908
01:10:36,320 –> 01:10:38,719
برابر با رشته هر چیزی است که e است
1909
01:10:38,719 –> 01:10:40,159
و سپس ما به جلو می رویم و آن را برمی گردانیم
1910
01:10:40,159 –> 01:10:44,000
پیام و در نهایت ایمیل معتبر است
1911
01:10:44,000 –> 01:10:46,719
بسیار خوب پس این روش همین الان اینجاست
1912
01:10:46,719 –> 01:10:48,800
فقط قرار است در مدل ما باشد
1913
01:10:48,800 –> 01:10:50,640
بنابراین ما جلو خواهیم رفت و آن را وارد خواهیم کرد
1914
01:10:50,640 –> 01:10:54,880
از اعتبارسنجیهای واردات نقطهای
1915
01:10:55,920 –> 01:10:58,719
خوب پس حالا اینجا ما خودمان را داریم
1916
01:10:58,719 –> 01:11:00,480
ایمیل در اینجا
1917
01:11:00,480 –> 01:11:02,640
بنابراین از آن اعتبارسنجی استفاده خواهد کرد
1918
01:11:02,640 –> 01:11:06,400
ایمیل پس تایید کننده ها
1919
01:11:07,920 –> 01:11:10,159
نقطه
1920
01:11:10,960 –> 01:11:13,199
و البته که ایمیل اعتبار می دهد
1921
01:11:13,199 –> 01:11:17,520
من سه مقدار معتبر uh را اینجا پس میدهم
1922
01:11:17,920 –> 01:11:19,120
باشه
1923
01:11:19,120 –> 01:11:20,080
و غیره
1924
01:11:20,080 –> 01:11:22,080
دوباره اگر معتبر نیست ادامه می دهیم
1925
01:11:22,080 –> 01:11:24,000
و یک استثنای دیگر را مطرح کنید اگر نه
1926
01:11:24,000 –> 01:11:27,600
معتبر است ما ادامه خواهیم داد و استثناء را مطرح خواهیم کرد
1927
01:11:27,600 –> 01:11:29,679
و بی اعتبار می گویند
1928
01:11:29,679 –> 01:11:31,040
پست الکترونیک
1929
01:11:31,040 –> 01:11:34,239
با پیام ما در اینجا
1930
01:11:34,239 –> 01:11:35,840
پیام از
1931
01:11:35,840 –> 01:11:38,560
خود اعتبار دهنده
1932
01:11:38,560 –> 01:11:39,440
عالی
1933
01:11:39,440 –> 01:11:40,560
باشه
1934
01:11:40,560 –> 01:11:42,560
بنابراین اکنون که ما آن را داریم می توانیم بدهیم
1935
01:11:42,560 –> 01:11:44,239
این یک شات دیگر
1936
01:11:44,239 –> 01:11:46,800
داخل پوسته ما
1937
01:11:46,800 –> 01:11:48,800
بنابراین ما این کار را در یک لحظه انجام خواهیم داد
1938
01:11:48,800 –> 01:11:51,840
اما ایده اینجا داشتن راهی است
1939
01:11:51,840 –> 01:11:54,640
برای اطمینان، ایمیل ما را تأیید کنید
1940
01:11:54,640 –> 01:11:55,840
که
1941
01:11:55,840 –> 01:11:57,199
هر چیزی که آنها در اینجا قرار می دهند یک است
1942
01:11:57,199 –> 01:12:00,719
ایمیل مناسب پس ABC در 123 نباشد
1943
01:12:00,719 –> 01:12:04,080
بلکه چیزی شبیه abc است
1944
01:12:04,080 –> 01:12:06,960
در gmail.com یا هر ایمیلی را می دانید
1945
01:12:06,960 –> 01:12:09,199
آدرس این یک ایمیل مناسب است
1946
01:12:09,199 –> 01:12:11,840
وقتی برای ثبت نام می آییم به اینجا اشاره کنید
1947
01:12:11,840 –> 01:12:13,199
کاربرانی که ما می خواهیم مطمئن شویم که آنها یک
1948
01:12:13,199 –> 01:12:15,280
ایمیل معتبر در حال حاضر چیز دیگری در مورد
1949
01:12:15,280 –> 01:12:16,640
این که ما قرار نیست اجرا کنیم
1950
01:12:16,640 –> 01:12:19,199
در واقع ارسال یک ایمیل به آنجا خواهد بود
1951
01:12:19,199 –> 01:12:21,520
جایی که آنها ایمیل خود را تایید می کنند که هستند
1952
01:12:21,520 –> 01:12:23,920
حتی به آن ایمیل دسترسی داشته باشید
1953
01:12:23,920 –> 01:12:25,199
این می تواند زمینه دیگری باشد که من می خواهم
1954
01:12:25,199 –> 01:12:26,960
احتمالاً در اینجا قرار دهید و بگویید آیا یا
1955
01:12:26,960 –> 01:12:28,480
نه چیزی شبیه به آن تایید شد
1956
01:12:28,480 –> 01:12:32,560
تایید شده برابر با نقطه ستون است
1957
01:12:32,560 –> 01:12:34,800
این می تواند یک فیلد uuid مانند تاریخ باشد
1958
01:12:34,800 –> 01:12:36,800
تایید شد و اجازه بدین
1959
01:12:36,800 –> 01:12:39,679
در اینجا نیز خالی یا تهی است اما ما هستیم
1960
01:12:39,679 –> 01:12:41,440
فعلاً آن را کنار می گذارم
1961
01:12:41,440 –> 01:12:43,440
یا احتمالا برای کل این پروژه اما
1962
01:12:43,440 –> 01:12:45,360
اکنون ما یک روش استاتیک بهتر داریم
1963
01:12:45,360 –> 01:12:47,199
البته یکی از مشکلات اینجا ماست
1964
01:12:47,199 –> 01:12:50,080
رمز عبور در حال حاضر من شما را تشویق می کنم
1965
01:12:50,080 –> 01:12:52,000
این را تأیید کنید یا آن را در پوسته بررسی کنید
1966
01:12:52,000 –> 01:12:54,800
مثل قبل
1967
01:12:54,800 –> 01:12:57,040
اما قبل از اینکه خودم آن را بررسی کنم می خواهم
1968
01:12:57,040 –> 01:12:59,040
برای رفتن به سطح رمز عبور i
1969
01:12:59,040 –> 01:13:01,199
می خواهید امنیت را پیاده سازی کنید و سپس
1970
01:13:01,199 –> 01:13:03,040
ما آن را با استفاده از یک نوت بوک مشتری بررسی می کنیم
1971
01:13:03,040 –> 01:13:05,440
این کاری است که من اغلب انجام می دهم
1972
01:13:05,440 –> 01:13:08,239
به خصوص با استفاده از ما
1973
01:13:08,239 –> 01:13:11,840
شما پایگاه داده کاساندرا را می شناسید
1974
01:13:12,000 –> 01:13:12,800
در حال حاضر ما می رویم به جلو و
1975
01:13:12,800 –> 01:13:15,440
پیاده سازی یک الگوریتم هش رمز عبور
1976
01:13:15,440 –> 01:13:18,320
به طوری که ما رمزهای عبور خام را ذخیره نمی کنیم
1977
01:13:18,320 –> 01:13:20,239
اما ما در واقع یک هش از آن را ذخیره می کنیم
1978
01:13:20,239 –> 01:13:21,920
آن رمز عبور و ما خواهیم بود
1979
01:13:21,920 –> 01:13:24,880
با استفاده از الگوریتمی به نام آرگون 2 و
1980
01:13:24,880 –> 01:13:28,480
بسته ای به نام argon 2-cffi
1981
01:13:28,480 –> 01:13:31,440
استفاده از این بسته فوق العاده آسان است
1982
01:13:31,440 –> 01:13:33,520
و اگر این را در اینجا ببینید، خواهید بود
1983
01:13:33,520 –> 01:13:35,760
خوب خوب این چیزی است که من در پایان خواهم داشت
1984
01:13:35,760 –> 01:13:38,560
انجام دادن و این همان چیزی است که یک هش پس این است
1985
01:13:38,560 –> 01:13:40,159
در واقع همان چیزی است که ما در نهایت در آن ذخیره خواهیم کرد
1986
01:13:40,159 –> 01:13:42,320
پایگاه داده دوباره آن خام نیست
1987
01:13:42,320 –> 01:13:45,199
خود رمز عبور پس بیایید جلو برویم و
1988
01:13:45,199 –> 01:13:48,000
با نصب این کار شروع کنید
1989
01:13:48,000 –> 01:13:49,520
بیایید جلو برویم و به سمت خودمان بپریم
1990
01:13:49,520 –> 01:13:51,960
پروژه و من وارد آن خواهم شد
1991
01:13:51,960 –> 01:13:53,520
الزامات. txt
1992
01:13:53,520 –> 01:13:58,000
من آرگون 2 dash cffi را در اینجا اضافه می کنم
1993
01:13:58,000 –> 01:13:59,040
آن را ذخیره کنید
1994
01:13:59,040 –> 01:14:02,560
و سپس pip install r را اجرا می کنیم
1995
01:14:02,560 –> 01:14:03,920
الزامات
1996
01:14:03,920 –> 01:14:05,920
نقطه txt
1997
01:14:05,920 –> 01:14:10,480
و ما خوب میرویم، بنابراین cffi خود را داریم
1998
01:14:10,480 –> 01:14:13,040
و همچنین آرگون 2 نصب شده است
1999
01:14:13,040 –> 01:14:15,199
عالی است، بنابراین اکنون کاری که می خواهم انجام دهم پریدن است
2000
01:14:15,199 –> 01:14:18,000
وارد ماژول کاربران من شده و ما ایجاد خواهیم کرد
2001
01:14:18,000 –> 01:14:20,320
نقطه امنیتی پی
2002
01:14:20,320 –> 01:14:22,880
و ما چند واردات را در اینجا انجام خواهیم داد
2003
01:14:22,880 –> 01:14:24,560
اگر فقط وارد اسناد شده باشید
2004
01:14:24,560 –> 01:14:26,480
شما احتمالا فقط می توانید همه چیز را انجام دهید
2005
01:14:26,480 –> 01:14:28,719
شما باید از همین جا انجام دهید اما من هستم
2006
01:14:28,719 –> 01:14:30,320
این کار را با شما انجام خواهم داد
2007
01:14:30,320 –> 01:14:32,560
از آرگون 2 می خواهیم آن را وارد کنیم
2008
01:14:32,560 –> 01:14:34,960
کلمه عبور
2009
01:14:34,960 –> 01:14:37,600
هشر ما اول این کار را انجام می دهیم
2010
01:14:37,600 –> 01:14:40,480
و ما فقط تولید را تعریف می کنیم
2011
01:14:40,480 –> 01:14:41,600
هش
2012
01:14:41,600 –> 01:14:44,000
از یک pw خام
2013
01:14:44,000 –> 01:14:46,320
درست است پس یک رمز عبور خام واقعی
2014
01:14:46,320 –> 01:14:48,400
و این در حال گرفتن است
2015
01:14:48,400 –> 01:14:50,400
کلاس هش رمز عبور
2016
01:14:50,400 –> 01:14:52,159
بنابراین ما آن را به همین صورت مقداردهی اولیه می کنیم و
2017
01:14:52,159 –> 01:14:55,280
سپس ما فقط هش نقطه ph را برمی گردانیم
2018
01:14:55,280 –> 01:14:58,800
از رشته خامی که در اینجا وارد می شود
2019
01:14:58,800 –> 01:14:59,840
خودشه
2020
01:14:59,840 –> 01:15:03,120
که رمز عبور هش ما را به ما می دهد
2021
01:15:03,120 –> 01:15:04,960
بنابراین ما در واقع می توانیم از این البته استفاده کنیم
2022
01:15:04,960 –> 01:15:07,120
و ما فقط به داخل خودمان برمی گشتیم
2023
01:15:07,120 –> 01:15:08,640
مدل
2024
01:15:08,640 –> 01:15:10,719
و ما به واردات ادامه می دهیم
2025
01:15:10,719 –> 01:15:13,520
امنیت اینجا
2026
01:15:14,239 –> 01:15:15,280
باشه
2027
01:15:15,280 –> 01:15:17,199
بنابراین اکنون ما امنیت را در اینجا داریم
2028
01:15:17,199 –> 01:15:18,800
من قصد دارم انجام دهم این است که من نیز می روم
2029
01:15:18,800 –> 01:15:21,360
این بار روش دیگری ایجاد کنید
2030
01:15:21,360 –> 01:15:23,440
یک متد نمونه به نام خواهد بود
2031
01:15:23,440 –> 01:15:25,280
قراردادن رمز عبور
2032
01:15:25,280 –> 01:15:27,120
و آن را در خود را
2033
01:15:27,120 –> 01:15:29,760
خود رمز عبور و اینکه آیا ما هستیم یا نه
2034
01:15:29,760 –> 01:15:32,239
قرار است آن را مرتکب شود
2035
01:15:32,239 –> 01:15:35,280
و این تولیدات ما را می گیرد
2036
01:15:35,280 –> 01:15:38,640
hash بنابراین ما آن را pw hash برابر با
2037
01:15:38,640 –> 01:15:40,560
نقطه امنیتی
2038
01:15:40,560 –> 01:15:44,719
و سپس آن را تولید هش نامیدیم
2039
01:15:44,800 –> 01:15:46,800
از آن رمز عبور
2040
01:15:46,800 –> 01:15:47,679
و سپس ما به جلو می رویم و انجام می دهیم
2041
01:15:47,679 –> 01:15:49,199
خود.رمز عبور
2042
01:15:49,199 –> 01:15:50,719
مساوی با
2043
01:15:50,719 –> 01:15:53,520
هش خط زیر خط pw
2044
01:15:53,520 –> 01:15:55,040
و در صورت تعهد
2045
01:15:55,040 –> 01:15:59,600
سپس ما به جلو می رویم و خود را نجات می دهیم
2046
01:15:59,600 –> 01:16:03,360
در غیر این صورت ما جلو خواهیم رفت و به درستی باز خواهیم گشت
2047
01:16:03,360 –> 01:16:04,560
عالی
2048
01:16:04,560 –> 01:16:06,480
پس رمز عبور را تنظیم کنید
2049
01:16:06,480 –> 01:16:08,880
دقیقاً چگونه می خواهم در نهایت استفاده کنم
2050
01:16:08,880 –> 01:16:11,760
این در حال حاضر خوب است که در اینجا پس چه
2051
01:16:11,760 –> 01:16:15,280
ما انجام خواهیم داد رمز عبور obj.set است
2052
01:16:15,280 –> 01:16:17,840
از این رمز عبور
2053
01:16:17,840 –> 01:16:19,760
و ارتکاب اشتباه خواهد بود پس من هستم
2054
01:16:19,760 –> 01:16:22,960
در واقع هنوز آن را ذخیره نمی کند
2055
01:16:22,960 –> 01:16:26,320
من می خواهم به این obj.save اجازه ذخیره آن را بدهم
2056
01:16:26,320 –> 01:16:27,199
باشه
2057
01:16:27,199 –> 01:16:30,480
و این واقعاً به همین سادگی است
2058
01:16:30,480 –> 01:16:32,159
اکنون میتوانیم اینها را کاملاً آزمایش کنیم
2059
01:16:32,159 –> 01:16:33,679
همه چیز مشخص است اما من واقعاً می خواهم
2060
01:16:33,679 –> 01:16:36,239
روش دیگری را که می تواند اجرا کند
2061
01:16:36,239 –> 01:16:38,640
رمز عبور کاربر را تأیید کنید زیرا
2062
01:16:38,640 –> 01:16:40,719
اکنون که رمز عبور را تنظیم کرده ایم، ما نیز
2063
01:16:40,719 –> 01:16:43,679
میخواهم تأییدیهای انجام دهم
2064
01:16:43,679 –> 01:16:45,040
کلمه عبور
2065
01:16:45,040 –> 01:16:48,880
و باز هم خود و pw خواهد بود
2066
01:16:48,880 –> 01:16:52,960
خوب پس رمز عبور یا pw این را هش می کند
2067
01:16:52,960 –> 01:16:55,280
زمان خواهد بود self.password درست است
2068
01:16:55,280 –> 01:16:56,880
بنابراین میدان واقعی که ما به پایان می رسیم
2069
01:16:56,880 –> 01:16:58,320
نجات شما به
2070
01:16:58,320 –> 01:17:00,480
بنابراین اکنون باید واقعاً راهی داشته باشم
2071
01:17:00,480 –> 01:17:04,000
برای بررسی اینکه آیا تأیید شده است
2072
01:17:04,000 –> 01:17:06,080
باشه و بعدش میخوایم برگردونیم
2073
01:17:06,080 –> 01:17:07,520
ارزش پس من ادامه می دهم و فقط می گویم
2074
01:17:07,520 –> 01:17:08,960
ابتدا نادرست
2075
01:17:08,960 –> 01:17:10,560
و ما برمی گردیم
2076
01:17:10,560 –> 01:17:12,640
تایید شده است
2077
01:17:12,640 –> 01:17:13,920
خوب پس بیایید جلو برویم و اجرا کنیم
2078
01:17:13,920 –> 01:17:16,880
آن روش اکنون به امنیت بازگشته است
2079
01:17:16,880 –> 01:17:19,440
در اینجا ما یک مورد جدید را تعریف می کنیم
2080
01:17:19,440 –> 01:17:21,840
و ما این را تأیید میکنیم
2081
01:17:21,840 –> 01:17:23,120
هش
2082
01:17:23,120 –> 01:17:25,120
و این بار قرار است دو تا شود
2083
01:17:25,120 –> 01:17:27,199
استدلال هایی که خواهد بود
2084
01:17:27,199 –> 01:17:29,280
هش رمز عبور
2085
01:17:29,280 –> 01:17:32,560
و رمز عبور خام
2086
01:17:32,560 –> 01:17:33,360
باشه
2087
01:17:33,360 –> 01:17:36,880
بنابراین دوباره رمز عبور را مقداردهی اولیه می کنیم
2088
01:17:36,880 –> 01:17:39,360
هشر
2089
01:17:39,840 –> 01:17:41,840
ما پیش می رویم و می گوییم یکسان تایید شده است
2090
01:17:41,840 –> 01:17:43,280
به
2091
01:17:43,280 –> 01:17:46,400
false ما همچنین در یک پیام اضافه می کنیم اگر شما
2092
01:17:46,400 –> 01:17:48,159
علاقه مند به حفظ پیام هستند
2093
01:17:48,159 –> 01:17:50,719
به دلیل استثنائات، بنابراین تمام چیزی که من نیاز دارم
2094
01:17:50,719 –> 01:17:52,400
انجام اینجا گفتن است
2095
01:17:52,400 –> 01:17:54,080
تایید شده است
2096
01:17:54,080 –> 01:17:56,480
برابر با ph نقطه است
2097
01:17:56,480 –> 01:17:59,120
تایید کنید
2098
01:17:59,120 –> 01:18:01,199
بیایید آن را همانجا کپی کنیم
2099
01:18:01,199 –> 01:18:03,440
بنابراین اکنون ما از این دو مورد در اینجا استفاده می کنیم
2100
01:18:03,440 –> 01:18:05,840
ابتدا هش و سپس خام را قرار دهید
2101
01:18:05,840 –> 01:18:07,360
رمز دوم
2102
01:18:07,360 –> 01:18:09,040
و سپس می توانیم استثنا داشته باشیم
2103
01:18:09,040 –> 01:18:11,440
کنترل کننده در اینجا می گوید استثنا
2104
01:18:11,440 –> 01:18:12,719
به عنوان e
2105
01:18:12,719 –> 01:18:14,719
و اکنون دوباره تأیید شده است
2106
01:18:14,719 –> 01:18:16,880
نادرست است و سپس پیام در حال رفتن است
2107
01:18:16,880 –> 01:18:18,320
بودن
2108
01:18:18,320 –> 01:18:19,920
چیزی مثل
2109
01:18:19,920 –> 01:18:21,199
غیر منتظره
2110
01:18:21,199 –> 01:18:22,800
خطا
2111
01:18:22,800 –> 01:18:24,880
اسلش n
2112
01:18:24,880 –> 01:18:27,360
از خود خطای واقعی و سپس
2113
01:18:27,360 –> 01:18:29,120
ما جلوتر می رویم و برمی گردیم
2114
01:18:29,120 –> 01:18:32,480
مقدار تایید شده مقدار واقعی غلط و
2115
01:18:32,480 –> 01:18:33,520
پیام
2116
01:18:33,520 –> 01:18:35,840
حالا چرا خطای غیرمنتظره را خوب انجام نمی دهم
2117
01:18:35,840 –> 01:18:38,000
زیرا اگر آن را تأیید نمی کند وجود دارد
2118
01:18:38,000 –> 01:18:39,280
در واقع a
2119
01:18:39,280 –> 01:18:42,640
به استثنای اینکه آرگون 2 ما را خواهد داشت
2120
01:18:42,640 –> 01:18:44,880
باید برای رسیدگی به این اساسا استفاده کنید
2121
01:18:44,880 –> 01:18:47,760
گفتن سلام این رمز عبور نامعتبر است
2122
01:18:47,760 –> 01:18:49,760
بنابراین کاری که من می خواهم اینجا انجام دهم از آن است
2123
01:18:49,760 –> 01:18:52,960
استثناهای نقطه امنیتی آرگون به نقطه
2124
01:18:52,960 –> 01:18:56,480
در عوض ما می خواهیم تأیید خود را وارد کنیم
2125
01:18:56,480 –> 01:18:57,840
از دست دادن
2126
01:18:57,840 –> 01:19:00,800
خطای مطابقت
2127
01:19:01,600 –> 01:19:04,480
و ما فقط با این استثنا برخورد خواهیم کرد
2128
01:19:04,480 –> 01:19:07,280
یه مقدار جزیی متفاوت
2129
01:19:07,440 –> 01:19:09,360
حالا دوباره تایید میشه
2130
01:19:09,360 –> 01:19:11,600
نادرست بودن و سپس خود پیام
2131
01:19:11,600 –> 01:19:14,640
اینجا چیزی شبیه نامعتبر است
2132
01:19:14,640 –> 01:19:16,719
کلمه عبور
2133
01:19:16,719 –> 01:19:18,800
ما به وضوح می توانیم آن را تغییر دهیم اما
2134
01:19:18,800 –> 01:19:21,920
رمز عبور پالت معتبر نبود
2135
01:19:21,920 –> 01:19:24,640
یا به درستی تایید نشده است
2136
01:19:24,640 –> 01:19:26,719
خوب خوب خوب حالا که داریم
2137
01:19:26,719 –> 01:19:27,920
این را میروم و میآورم
2138
01:19:27,920 –> 01:19:29,040
که در
2139
01:19:29,040 –> 01:19:31,040
و این الان
2140
01:19:31,040 –> 01:19:33,040
دو مقدار خواهد بود
2141
01:19:33,040 –> 01:19:35,360
و دوباره نقطه امنیتی خواهد بود
2142
01:19:35,360 –> 01:19:38,800
بنابراین نقطه امنیتی هش را تأیید کنید
2143
01:19:38,800 –> 01:19:41,440
اکنون به یاد داشته باشید که می خواهیم با آن شروع کنیم
2144
01:19:41,440 –> 01:19:42,800
ابتدا هش کنید
2145
01:19:42,800 –> 01:19:45,600
بنابراین عملکرد واقعی تایید هش
2146
01:19:45,600 –> 01:19:48,159
دارای هش اول به دلیل رمز عبور است
2147
01:19:48,159 –> 01:19:50,480
خود هشر از آرگون 2
2148
01:19:50,480 –> 01:19:53,199
اولین هش را نیز دارد، بنابراین من فقط
2149
01:19:53,199 –> 01:19:55,520
می خواهم آن نوع را حفظ کنم
2150
01:19:55,520 –> 01:19:57,679
بنابراین ما هش رمز عبور خود را در اینجا و
2151
01:19:57,679 –> 01:20:00,320
این رمز عبور تأیید واقعی خواهد بود
2152
01:20:00,320 –> 01:20:02,560
پسورد بگذارید نام آن را رشته رمز بگذاریم
2153
01:20:02,560 –> 01:20:05,280
اینجا و ما جلوتر می رویم و آن را تصویب می کنیم
2154
01:20:05,280 –> 01:20:07,360
بسیار خوب پس ما در واقع اینگونه خواهیم بود
2155
01:20:07,360 –> 01:20:09,280
بررسی کنید که رمز عبور معتبری دارند
2156
01:20:09,280 –> 01:20:11,520
وقتی آنها اکنون وارد سیستم می شوند نگران نباشید
2157
01:20:11,520 –> 01:20:13,440
ما قصد داریم این را در یک پیاده سازی کنیم
2158
01:20:13,440 –> 01:20:14,960
نوت بوک یک نوت بوک jupyter پس آن را
2159
01:20:14,960 –> 01:20:17,120
واقعا تعاملی است تا بتوانیم بررسی کنیم و
2160
01:20:17,120 –> 01:20:19,760
همه این چیزها را همانطور که صلاح میدانیم آزمایش کنیم
2161
01:20:19,760 –> 01:20:21,679
و همچنین البته اگر اشکالات را حل کنید
2162
01:20:21,679 –> 01:20:22,800
آنها بالا می آیند
2163
01:20:22,800 –> 01:20:24,560
اما نکته اصلی در اینجا درک است
2164
01:20:24,560 –> 01:20:26,400
زمانی که رمزهای عبور را در a ذخیره می کنیم
2165
01:20:26,400 –> 01:20:28,480
پایگاه داده ای که می خواهیم آنها را با استفاده از آنها ذخیره کنیم
2166
01:20:28,480 –> 01:20:30,159
نوعی هش
2167
01:20:30,159 –> 01:20:32,480
حالا چرا من ننوشتم
2168
01:20:32,480 –> 01:20:34,480
همه هشرهای رمز عبور را می شناسید
2169
01:20:34,480 –> 01:20:36,880
چیزهایی مطابق با مدلی که دارد
2170
01:20:36,880 –> 01:20:38,480
همه چیز مربوط به این واقعیت است که
2171
01:20:38,480 –> 01:20:41,120
شاید من می خواهم الگوریتم ها را تغییر دهم
2172
01:20:41,120 –> 01:20:43,520
در آینده درست است پس اگر قرار باشد
2173
01:20:43,520 –> 01:20:46,159
آنها را به آینده ای که ممکن است تغییر دهید
2174
01:20:46,159 –> 01:20:48,320
کاربران من را به همه نیاز دارم
2175
01:20:48,320 –> 01:20:51,040
پسوردهای جدیدی را که می دانید ایجاد کنید
2176
01:20:51,040 –> 01:20:52,400
خوب و بد
2177
01:20:52,400 –> 01:20:54,800
اما همچنین به من اجازه می دهد این را به روز کنم
2178
01:20:54,800 –> 01:20:56,560
پرواز بدون نیاز به لمس من
2179
01:20:56,560 –> 01:20:58,080
اصلا مدل
2180
01:20:58,080 –> 01:21:00,800
و همچنین می دانید که شاید این یک است
2181
01:21:00,800 –> 01:21:03,040
ماژول قابل استفاده مجدد که می دانید شاید من
2182
01:21:03,040 –> 01:21:05,600
آن را از خود کاربران خارج کرده و بسازید
2183
01:21:05,600 –> 01:21:08,239
امنیت برنامه عمومی ام اما در کل برای
2184
01:21:08,239 –> 01:21:10,239
من در این مورد من فقط از آن استفاده می کنم
2185
01:21:10,239 –> 01:21:12,080
کاربران و گذرواژههای کاربر بنابراین در آن موجود است
2186
01:21:12,080 –> 01:21:14,800
خود ماژول کاربران
2187
01:21:14,800 –> 01:21:17,360
اما ایده کلی دوباره در حال ساخت است
2188
01:21:17,360 –> 01:21:19,360
چیزها کمی امن تر و
2189
01:21:19,360 –> 01:21:20,960
ذخیره سازی داده ها
2190
01:21:20,960 –> 01:21:22,800
اکنون اینها تا حد امکان امن است
2191
01:21:22,800 –> 01:21:24,800
هش ها را می توان برای موارد دیگر به عنوان استفاده کرد
2192
01:21:24,800 –> 01:21:26,400
خوب لازم نیست فقط این باشد
2193
01:21:26,400 –> 01:21:28,960
رمز عبور ما می توانیم همان چیزی را برای استفاده از
2194
01:21:28,960 –> 01:21:31,280
ایمیل ما در واقع می توانیم یک هش ذخیره کنیم
2195
01:21:31,280 –> 01:21:33,120
نسخه ایمیل به جای
2196
01:21:33,120 –> 01:21:35,199
رمز عبور به دلیل آنچه در واقع می آید
2197
01:21:35,199 –> 01:21:38,719
اینجا خیلی مهم نیست
2198
01:21:38,719 –> 01:21:40,560
دلیلش چیه
2199
01:21:40,560 –> 01:21:43,040
مقدار هش ایمیل را در این ذخیره کنید
2200
01:21:43,040 –> 01:21:45,440
مورد به این دلیل است که پس از آن من در انتهای پشت
2201
01:21:45,440 –> 01:21:46,880
اگر واقعاً می خواستم برای آنها ارسال کنم
2202
01:21:46,880 –> 01:21:49,920
ایمیل من هیچ راهی واقعی برای انجام دادن ندارم
2203
01:21:49,920 –> 01:21:52,560
این حق را مثل من باید به من بدهند
2204
01:21:52,560 –> 01:21:54,960
ایمیل آنها برای اینکه من آن را تأیید کنم
2205
01:21:54,960 –> 01:21:56,480
این بخشی از دلیل استفاده شماست
2206
01:21:56,480 –> 01:21:58,080
هش به این دلیل است که آنها واقعا سخت هستند
2207
01:21:58,080 –> 01:21:59,679
مهندسی معکوس
2208
01:21:59,679 –> 01:22:02,239
به عبارت دیگر ایمیل خود را دارد
2209
01:22:02,239 –> 01:22:05,280
آن را به عنوان یک رشته خام ذخیره می شود چیزی شبیه به
2210
01:22:05,280 –> 01:22:08,239
abc gmail.com
2211
01:22:08,239 –> 01:22:10,560
اگر به نحوی نیاز دارم که آنها را در دست بگیرم
2212
01:22:10,560 –> 01:22:12,880
من اکنون می توانم مستقیماً به آنها ایمیل بزنم اما
2213
01:22:12,880 –> 01:22:15,760
اگر نسخه هش شده آن بود
2214
01:22:15,760 –> 01:22:17,679
من باید بدانم واقعی چیست
2215
01:22:17,679 –> 01:22:19,360
ایمیل درست است پس اگر چیزی شبیه به آن باشد
2216
01:22:19,360 –> 01:22:21,440
این من باید بدانم آن ایمیل چیست
2217
01:22:21,440 –> 01:22:24,480
در واقع آن را تأیید کنید زیرا این هش است
2218
01:22:24,480 –> 01:22:25,440
رشته
2219
01:22:25,440 –> 01:22:27,360
به طور پیش فرض امن است، بنابراین سخت است
2220
01:22:27,360 –> 01:22:29,360
مهندس معکوس بدست آوردن این سخت است
2221
01:22:29,360 –> 01:22:32,239
رمز عبور اصلی از این هش
2222
01:22:32,239 –> 01:22:35,360
رشته این است که نکته شاید آن است
2223
01:22:35,360 –> 01:22:37,040
زمانی در آینده با ماشین
2224
01:22:37,040 –> 01:22:38,480
یادگیری و آی
2225
01:22:38,480 –> 01:22:40,800
که دیگر درست نخواهد بود اما تا آنجا که
2226
01:22:40,800 –> 01:22:45,120
این نگران است اکنون حقیقت دارد
2227
01:22:45,360 –> 01:22:47,280
در گذشته وقتی در حال تکرار بودم
2228
01:22:47,280 –> 01:22:50,159
ویژگی های هر پروژه داده شده مانند in
2229
01:22:50,159 –> 01:22:52,080
موردی که ما فقط انجام دادیم یک را ایجاد کردیم
2230
01:22:52,080 –> 01:22:54,560
ویژگی برای مدل کاربر ما ویژگی ها
2231
01:22:54,560 –> 01:22:57,679
حتی رمز عبور را تأیید می کنند
2232
01:22:57,679 –> 01:23:00,400
ایجاد کاربر آنچه من اغلب انجام می دهم این است
2233
01:23:00,400 –> 01:23:02,159
در واقع اینها را در داخل تست می کند
2234
01:23:02,159 –> 01:23:04,159
پوسته python و من در واقع فقط
2235
01:23:04,159 –> 01:23:06,320
بسیاری از کدها را کپی و پیست کنید و
2236
01:23:06,320 –> 01:23:08,320
به طور کلی می دانید
2237
01:23:08,320 –> 01:23:10,400
خیلی خوبه که مثل ریزه ریزه
2238
01:23:10,400 –> 01:23:12,159
راهی برای دنبال کردن آن
2239
01:23:12,159 –> 01:23:13,920
کار بعدی که بعد از گرفتن یک انجام خواهم داد
2240
01:23:13,920 –> 01:23:15,760
کمی راحت تر با
2241
01:23:15,760 –> 01:23:17,600
پوسته و همچنین کمی ناامید
2242
01:23:17,600 –> 01:23:19,280
با آن است که من در واقع به جلو و
2243
01:23:19,280 –> 01:23:21,239
کاری کن که می دانی
2244
01:23:21,239 –> 01:23:24,080
users.hi بنابراین نوعی ماژول پایتون
2245
01:23:24,080 –> 01:23:26,480
خارج از برنامه اصلی من و سپس
2246
01:23:26,480 –> 01:23:27,840
من همه چیزهای متفاوت را خواهم نوشت
2247
01:23:27,840 –> 01:23:29,440
ویژگی هایی که می خواستم تست کنم
2248
01:23:29,440 –> 01:23:32,480
چیزی شبیه از app.users.models
2249
01:23:32,480 –> 01:23:35,600
کاربر را وارد کنید و سپس آن کاربر را ایجاد کنید
2250
01:23:35,600 –> 01:23:37,440
عملکرد کاربر یا چیزی شبیه به آن
2251
01:23:37,440 –> 01:23:38,719
درست است و سپس من در واقع وارد می شوم
2252
01:23:38,719 –> 01:23:42,239
اینجا و python users.pi را به عنوان راهی انجام دهید
2253
01:23:42,239 –> 01:23:44,320
یه جورایی تست کن این الان اینه
2254
01:23:44,320 –> 01:23:47,280
در واقع دیگر این کار را انجام نمی دهم
2255
01:23:47,280 –> 01:23:48,800
زمانی که من واقعاً یاد میگیرم که چگونه یا
2256
01:23:48,800 –> 01:23:51,199
زمانی که من در واقع در حال تکرار در یک پروژه هستم
2257
01:23:51,199 –> 01:23:54,080
مثل این من قطعا ایجاد نمی کنم
2258
01:23:54,080 –> 01:23:56,560
ماژول python غیر قابل استفاده به جای آنچه من خواهم کرد
2259
01:23:56,560 –> 01:23:58,800
انجام دهید این است که من یک پوشه کاملاً جدید بسازم و
2260
01:23:58,800 –> 01:24:00,320
آن را nbs صدا کنید
2261
01:24:00,320 –> 01:24:03,199
این البته مخفف نوت بوک است
2262
01:24:03,199 –> 01:24:05,760
کاری که من با نوت بوک انجام می دهم این است که آن را دارم
2263
01:24:05,760 –> 01:24:08,800
توانایی نوشتن پایتون تعاملی که
2264
01:24:08,800 –> 01:24:11,360
همچنین دارای یادداشت های درست در یادداشت های ما است
2265
01:24:11,360 –> 01:24:13,920
notes.markdown من در واقع مقداری کد دارم
2266
01:24:13,920 –> 01:24:16,560
در اینجا اما من در واقع نمی توانم اجرا کنم
2267
01:24:16,560 –> 01:24:17,679
این کد
2268
01:24:17,679 –> 01:24:19,120
این همان چیزی است که نوت بوک های مشتری هستند
2269
01:24:19,120 –> 01:24:22,400
about داشتن کدی در داخل همه است
2270
01:24:22,400 –> 01:24:24,320
از این گره های دیگر که می توانید
2271
01:24:24,320 –> 01:24:26,560
در واقع با آنچه که من می روم اجرا کنید
2272
01:24:26,560 –> 01:24:27,920
برای انجام این کار این است که من می خواهم ایجاد کنم
2273
01:24:27,920 –> 01:24:30,000
الزامات
2274
01:24:30,000 –> 01:24:33,120
dot dev dot txt
2275
01:24:33,120 –> 01:24:35,360
اکنون این فقط یک توسعه است
2276
01:24:35,360 –> 01:24:37,840
مورد نیاز، بنابراین من ادامه می دهم و اضافه می کنم
2277
01:24:37,840 –> 01:24:42,159
مشتری اینجا پس جو هیتر نه جو پیتر
2278
01:24:42,159 –> 01:24:44,239
املای صحیح مشتری نیست
2279
01:24:44,239 –> 01:24:46,639
سیاره، بلکه بسته به نام
2280
01:24:46,639 –> 01:24:48,560
مشتری و بنابراین من می روم به جلو و
2281
01:24:48,560 –> 01:24:50,800
این را با نصب pip پیاده سازی کنید
2282
01:24:50,800 –> 01:24:52,880
dash r الزامات
2283
01:24:52,880 –> 01:24:56,480
dot dev dot text یا txt
2284
01:24:56,480 –> 01:24:59,199
و ما ادامه می دهیم و اجازه می دهیم که نصب شود
2285
01:24:59,199 –> 01:25:01,040
بنابراین این به من این تعامل را می دهد
2286
01:25:01,040 –> 01:25:03,600
روشی برای تأیید و آزمایش انواع مختلف
2287
01:25:03,600 –> 01:25:05,440
همه چیز در حال حاضر البته اگر شما قبلا
2288
01:25:05,440 –> 01:25:07,199
مدتی با من همراهی کرد
2289
01:25:07,199 –> 01:25:08,880
احتمالاً به خوبی می دانید که من از آن استفاده می کنم
2290
01:25:08,880 –> 01:25:10,639
مشتری زیاد و
2291
01:25:10,639 –> 01:25:13,360
این توضیح کمی زائد بود اما
2292
01:25:13,360 –> 01:25:14,800
برای کسانی از شما که هرگز کار نکرده اند
2293
01:25:14,800 –> 01:25:16,960
با من قبلاً و واقعاً مشکوک هستند
2294
01:25:16,960 –> 01:25:18,800
در مورد استفاده از مشتری
2295
01:25:18,800 –> 01:25:20,239
این واقعاً فقط برای این است که بتوانم یک دسته داشته باشم
2296
01:25:20,239 –> 01:25:23,040
یادداشت هایی برای خودم بعداً در آینده
2297
01:25:23,040 –> 01:25:25,679
که بتوانم کارها را درست اجرا کنم
2298
01:25:25,679 –> 01:25:27,040
واقعا همین است
2299
01:25:27,040 –> 01:25:28,320
بنابراین اکنون می روم و فرار می کنم
2300
01:25:28,320 –> 01:25:30,560
نوت بوک jupyter و این باید
2301
01:25:30,560 –> 01:25:32,880
در واقع نوت بوک jupyter را اکنون باز کنید
2302
01:25:32,880 –> 01:25:34,880
هر از چند گاهی مشکلی دارم
2303
01:25:34,880 –> 01:25:36,639
راه اندازی آن در یک محیط مجازی
2304
01:25:36,639 –> 01:25:38,639
خیلی وقت ها مجبورم فقط
2305
01:25:38,639 –> 01:25:40,639
آن محیط مجازی را غیرفعال کنید و
2306
01:25:40,639 –> 01:25:42,400
سپس دوباره آن را فعال کنید
2307
01:25:42,400 –> 01:25:45,760
و سپس نوت بوک jupyter را در اینجا اجرا کنید
2308
01:25:45,760 –> 01:25:47,920
این کاملا قابل قبول و قابل قبول است
2309
01:25:47,920 –> 01:25:50,159
البته این صفحه وب را در اینجا باز می کند
2310
01:25:50,159 –> 01:25:52,400
شما در واقع می توانید از صفحه وب مشتری استفاده کنید
2311
01:25:52,400 –> 01:25:54,800
در اینجا یا واقعاً می توانید وارد شوید
2312
01:25:54,800 –> 01:25:56,400
خود پوشه و شروع به ایجاد کنید
2313
01:25:56,400 –> 01:25:58,560
نوت بوک های خود را که مجبور نیستید استفاده کنید
2314
01:25:58,560 –> 01:26:01,520
jupyter می توانید در مقابل کد استفاده کنید
2315
01:26:01,520 –> 01:26:03,360
همچنین تعداد زیادی ویرایشگر متن وجود دارد
2316
01:26:03,360 –> 01:26:05,520
وجود دارد که شما می توانید به خوبی استفاده کنید
2317
01:26:05,520 –> 01:26:07,040
کاری که من می خواهم اینجا انجام دهم این است که می خواهم بپرم
2318
01:26:07,040 –> 01:26:08,320
وارد دفترچه هایم می شوم و می روم
2319
01:26:08,320 –> 01:26:10,000
یک مورد جدید ایجاد کنید بیایید کمی بزرگنمایی کنیم
2320
01:26:10,000 –> 01:26:11,679
من می خواهم به جلو بروم و یک را ایجاد کنم
2321
01:26:11,679 –> 01:26:14,320
نوت بوک جدید پایتون 3
2322
01:26:14,320 –> 01:26:17,440
و این دفترچه یادداشت jupyter من اینجاست
2323
01:26:17,440 –> 01:26:19,360
کاری که من می خواهم انجام دهم این است که تجزیه و تحلیل کنیم یا اجازه دهید
2324
01:26:19,360 –> 01:26:20,840
کاربران می گویند
2325
01:26:20,840 –> 01:26:24,000
و تجزیه و تحلیل کنید
2326
01:26:24,000 –> 01:26:25,040
امکانات
2327
01:26:25,040 –> 01:26:26,719
چیزی شبیه به آن درست است
2328
01:26:26,719 –> 01:26:28,400
پس چگونه من در واقع
2329
01:26:28,400 –> 01:26:31,360
از آن کاربران استفاده کنید، بنابراین کاری که می خواهم انجام دهم این است
2330
01:26:31,360 –> 01:26:32,760
در واقع استفاده کنید
2331
01:26:32,760 –> 01:26:35,040
واردات fromapp.user.models
2332
01:26:35,040 –> 01:26:37,520
اگر بخواهم این را اجرا کنم، مدل کاربری ما
2333
01:26:37,520 –> 01:26:40,480
البته هیچ برنامه ای به نام ماژول به من نمی دهد
2334
01:26:40,480 –> 01:26:42,400
پس چگونه می توانیم این را به خوبی تغییر دهیم
2335
01:26:42,400 –> 01:26:43,679
چند راه وجود دارد که چگونه می توانیم
2336
01:26:43,679 –> 01:26:46,400
انجامش بده و اولش میتونم استفاده کنم
2337
01:26:46,400 –> 01:26:49,280
علامت تعجب cd dot dot و این
2338
01:26:49,280 –> 01:26:51,040
در واقع دایرکتوری کاری را تغییر می دهد
2339
01:26:51,040 –> 01:26:53,199
برای نوت بوک jupyter در این مورد
2340
01:26:53,199 –> 01:26:54,960
یک سطح بالا می رود که در حال رفتن است
2341
01:26:54,960 –> 01:26:56,880
در اینجا وارد برنامه شوید
2342
01:26:56,880 –> 01:26:59,679
بنابراین اکنون می توانم این را اجرا کنم
2343
01:26:59,679 –> 01:27:02,800
و نه چندان
2344
01:27:02,800 –> 01:27:04,719
پس بیایید جلو برویم و ببینیم چرا می خواهم
2345
01:27:04,719 –> 01:27:07,040
ادامه دهید و سلول دیگری را وارد کنید و انجام دهید
2346
01:27:07,040 –> 01:27:08,719
pwd
2347
01:27:08,719 –> 01:27:10,639
و آن را اجرا کنید و هنوز داخل آن است
2348
01:27:10,639 –> 01:27:12,159
اینجا
2349
01:27:12,159 –> 01:27:14,560
درست است، بنابراین در واقع من را تغییر نمی دهد
2350
01:27:14,560 –> 01:27:17,600
دایرکتوری با این پس بیایید از ماژول استفاده کنیم
2351
01:27:17,600 –> 01:27:19,600
اکنون دایرکتوری من را تغییر می دهد
2352
01:27:19,600 –> 01:27:22,719
بسیار خوب، بنابراین استفاده از دستورات صحیح انجام می شود
2353
01:27:22,719 –> 01:27:24,480
اغلب هر چند وقت یکبار ناامید می شوند
2354
01:27:24,480 –> 01:27:25,280
در حالی که
2355
01:27:25,280 –> 01:27:27,199
اما این اکنون به من اجازه می دهد این کار را انجام دهم اما
2356
01:27:27,199 –> 01:27:29,040
در عوض آنچه من می خواهم انجام دهم این است
2357
01:27:29,040 –> 01:27:31,520
از مسیر مطلق در اینجا استفاده کنید بنابراین من از آن استفاده نکنم
2358
01:27:31,520 –> 01:27:32,400
به طور تصادفی
2359
01:27:32,400 –> 01:27:34,560
واقعاً وارد دایرکتوری اشتباه شوید
2360
01:27:34,560 –> 01:27:35,760
همیشه
2361
01:27:35,760 –> 01:27:36,639
و غیره
2362
01:27:36,639 –> 01:27:38,639
هر بار که باید این تابع را اجرا کنم
2363
01:27:38,639 –> 01:27:40,639
این کاری است که من اکنون انجام خواهم داد
2364
01:27:40,639 –> 01:27:42,000
قرار نیست لزوما به نظر برسد
2365
01:27:42,000 –> 01:27:45,280
این و شما همچنین می توانید از یک tilde در اینجا استفاده کنید
2366
01:27:45,280 –> 01:27:48,320
به میانبر که پس این واقعا فقط است
2367
01:27:48,320 –> 01:27:51,360
راهی تمیز و آسان برای اجرای دستورات
2368
01:27:51,360 –> 01:27:53,199
خط فرمان بنابراین jupyter در واقع است
2369
01:27:53,199 –> 01:27:55,360
فراخوانی دستورات خط فرمان در اینجا با
2370
01:27:55,360 –> 01:27:58,000
آن تابع مدول
2371
01:27:58,000 –> 01:28:01,360
یا تابع علامت درصد uh و بنابراین اکنون من
2372
01:28:01,360 –> 01:28:04,400
در واقع می توانید از این مدل کاربر استفاده کنید، بنابراین
2373
01:28:04,400 –> 01:28:06,639
بخش دیگر این هر چند خوب است
2374
01:28:06,639 –> 01:28:08,480
شاید من
2375
01:28:08,480 –> 01:28:10,880
برنامه fast api در حال اجرا نیست
2376
01:28:10,880 –> 01:28:13,040
این مورد در حال حاضر هست اما هست
2377
01:28:13,040 –> 01:28:14,560
مطمئناً ممکن است که اینطور نباشد
2378
01:28:14,560 –> 01:28:16,560
بنابراین ما احتمالاً می خواهیم آن را وارد کنیم
2379
01:28:16,560 –> 01:28:18,400
پایگاه داده نیز
2380
01:28:18,400 –> 01:28:21,120
پس بیایید جلو برویم و این کار را انجام دهیم
2381
01:28:21,120 –> 01:28:22,480
و چیز دیگری که احتمالاً انجام خواهیم داد
2382
01:28:22,480 –> 01:28:23,679
می خواهند وارد کنند
2383
01:28:23,679 –> 01:28:24,800
است
2384
01:28:24,800 –> 01:28:26,000
ما
2385
01:28:26,000 –> 01:28:28,719
واقعی ام
2386
01:28:28,719 –> 01:28:30,000
همگام سازی
2387
01:28:30,000 –> 01:28:30,960
جدول
2388
01:28:30,960 –> 01:28:34,239
درست در اینجا عمل کنید
2389
01:28:34,239 –> 01:28:36,560
خوب ما جدول همگام سازی داریم
2390
01:28:36,560 –> 01:28:39,600
و ما آن را برای کاربر خود وارد خواهیم کرد
2391
01:28:39,600 –> 01:28:43,280
و نقطه db دریافت کنید
2392
01:28:43,280 –> 01:28:45,120
جلسه
2393
01:28:45,120 –> 01:28:46,880
خوب و بیایید مطمئن شویم همه چیز درست است
2394
01:28:46,880 –> 01:28:48,080
وارداتی
2395
01:28:48,080 –> 01:28:51,040
و این در واقع باید مشتری را به هم متصل کند
2396
01:28:51,040 –> 01:28:51,840
با
2397
01:28:51,840 –> 01:28:54,159
پایگاه داده Cassandra ما و کاربر ما
2398
01:28:54,159 –> 01:28:55,040
مدل
2399
01:28:55,040 –> 01:28:57,440
بنابراین اکنون می توانم واقعاً به آزمایش یک اقدام کنم
2400
01:28:57,440 –> 01:29:00,320
کاربر در حال ایجاد بنابراین user.create
2401
01:29:00,320 –> 01:29:01,280
کاربر
2402
01:29:01,280 –> 01:29:02,880
و بیایید جلو برویم و نگاهی به آن بیندازیم
2403
01:29:02,880 –> 01:29:05,840
ویژگی های مختلف برای آن ایجاد کنید
2404
01:29:05,840 –> 01:29:08,480
کاربر از دو آرگومان استفاده می کند که ایمیل است
2405
01:29:08,480 –> 01:29:11,040
و رمز عبور، بنابراین ایمیلی که می خواهم انجام دهم
2406
01:29:11,040 –> 01:29:12,360
سلام است
2407
01:29:12,360 –> 01:29:13,920
teamcfe.com
2408
01:29:13,920 –> 01:29:17,440
و رمز عبور abc123 خواهد بود
2409
01:29:17,440 –> 01:29:19,199
و ادامه دهید و این را اجرا کنید
2410
01:29:19,199 –> 01:29:22,320
این کاربر به من یک استثنا می دهد
2411
01:29:22,320 –> 01:29:24,400
قبلا یک حساب کاربری دارد
2412
01:29:24,400 –> 01:29:26,719
این یک استثنا غیر توصیفی است
2413
01:29:26,719 –> 01:29:29,199
خود استثنای بزرگی نیست اما
2414
01:29:29,199 –> 01:29:31,840
با این وجود یکی است پس کاری که می توانم انجام دهم این است
2415
01:29:31,840 –> 01:29:33,920
البته استثنای خودم را اجرا کنم
2416
01:29:33,920 –> 01:29:35,920
در حال حاضر این کار را انجام نمی دهم اما
2417
01:29:35,920 –> 01:29:38,480
ایده در اینجا این است که این ویژگی در واقع است
2418
01:29:38,480 –> 01:29:40,719
کار این قطعه در حال کار است که است
2419
01:29:40,719 –> 01:29:41,679
عالی
2420
01:29:41,679 –> 01:29:43,280
در واقع فوق العاده
2421
01:29:43,280 –> 01:29:45,440
حالا اگر واقعاً از شر that.com خلاص شوم
2422
01:29:45,440 –> 01:29:47,840
و دوباره این را اجرا کنید، اکنون می توانم آن را ببینم
2423
01:29:47,840 –> 01:29:50,560
این یک ایمیل نامعتبر نیز نیست
2424
01:29:50,560 –> 01:29:51,600
کار کردن
2425
01:29:51,600 –> 01:29:53,600
اکنون بله تست های واحد خودکار وجود دارد
2426
01:29:53,600 –> 01:29:55,280
که می توانید انجام دهید، می توانید این را خودکار کنید
2427
01:29:55,280 –> 01:29:57,040
پردازش کنید و باید این را خودکار کنید
2428
01:29:57,040 –> 01:29:59,040
روند اما دوباره این در مورد است
2429
01:29:59,040 –> 01:30:01,199
تکرار بر روی ویژگی هایی که می خواهیم
2430
01:30:01,199 –> 01:30:03,280
برای استفاده و تست
2431
01:30:03,280 –> 01:30:05,120
درست است، در حال حاضر من فقط در واقع
2432
01:30:05,120 –> 01:30:07,840
این موارد را تکرار کرد یا حداقل تأیید کرد
2433
01:30:07,840 –> 01:30:09,840
ویژگی هایی که ما مدت ها پیش انجام دادیم
2434
01:30:09,840 –> 01:30:10,960
اساسا
2435
01:30:10,960 –> 01:30:14,320
به درستی یا به ظاهر خوب کار می کنند
2436
01:30:14,320 –> 01:30:17,040
درست کار می کند که واقعا عالی است
2437
01:30:17,040 –> 01:30:18,880
واقعاً دوست دارم پس بیایید ادامه دهیم و
2438
01:30:18,880 –> 01:30:20,400
در واقع یک کاربر ایجاد کنید
2439
01:30:20,400 –> 01:30:22,159
در پایگاه داده ما، بنابراین من می خواهم به جلو بروید
2440
01:30:22,159 –> 01:30:23,760
و این یکی را کامنت کنید
2441
01:30:23,760 –> 01:30:25,120
و اکنون می روم و یک کاربر ایجاد می کنم
2442
01:30:25,120 –> 01:30:27,760
من فقط می خواهم آن را abc درست صدا کنم
2443
01:30:27,760 –> 01:30:30,239
و بنابراین من ادامه می دهم و می گویم کاربر a
2444
01:30:30,239 –> 01:30:32,960
برابر با ایجاد کاربر است
2445
01:30:32,960 –> 01:30:35,360
و بنابراین اگر من کاربر یک رمز عبور نقطه چه
2446
01:30:35,360 –> 01:30:39,360
من می خواهم ببینم امیدوارم abc123 نیست
2447
01:30:39,360 –> 01:30:41,440
من آن را اجرا می کنم و شما چه می دانید که این یک است
2448
01:30:41,440 –> 01:30:43,840
رمز عبور را درست هش کرد
2449
01:30:43,840 –> 01:30:44,639
این
2450
01:30:44,639 –> 01:30:47,040
در واقع به کار خود پایان داد
2451
01:30:47,040 –> 01:30:49,760
شیرین است، بنابراین اکنون آنچه می توانم انجام دهم البته این است
2452
01:30:49,760 –> 01:30:53,760
بگویید کاربر یک رمز عبور تأیید نقطه ای
2453
01:30:53,760 –> 01:30:57,040
و آن رمز عبور را abc123 انجام دهید
2454
01:30:57,040 –> 01:30:59,120
اجرا کنید و چه می دانید که کار می کند
2455
01:30:59,120 –> 01:31:01,920
اگر آن را به یک نادرست تغییر دهم چه
2456
01:31:01,920 –> 01:31:03,920
آیا می دانید کار نمی کند به من می دهد
2457
01:31:03,920 –> 01:31:05,120
نادرست
2458
01:31:05,120 –> 01:31:07,280
فوق العاده است این واقعاً واقعاً خوب است
2459
01:31:07,280 –> 01:31:08,960
من فقط تمام ویژگی هایی را که من تست کردم
2460
01:31:08,960 –> 01:31:11,120
الان می خواهم البته من واقعاً می خواهم
2461
01:31:11,120 –> 01:31:13,120
این همه خودکار باشد این نباید
2462
01:31:13,120 –> 01:31:14,880
مثل من دستی باش
2463
01:31:14,880 –> 01:31:16,239
اما دلیل من این مشتری است
2464
01:31:16,239 –> 01:31:18,480
نوت بوک واقعا فقط برای آزمایش این است
2465
01:31:18,480 –> 01:31:20,880
واقعاً به سرعت و واقعاً سرمان را می گیریم
2466
01:31:20,880 –> 01:31:23,520
در مورد اینکه چگونه ویژگی های ما به پایان می رسد
2467
01:31:23,520 –> 01:31:25,600
اکنون در بسیاری از موارد کار می کنم
2468
01:31:25,600 –> 01:31:27,760
در واقع ابتدا با این شروع کنید مانند if i
2469
01:31:27,760 –> 01:31:30,320
این پروژه را از ابتدا می ساختم
2470
01:31:30,320 –> 01:31:31,920
در واقع شروع به تجزیه و تحلیل جدید خواهد کرد
2471
01:31:31,920 –> 01:31:34,159
ویژگی ها و تکرار بر روی آنها در الف
2472
01:31:34,159 –> 01:31:36,000
نوت بوک jupyter من فکر نمی کنم
2473
01:31:36,000 –> 01:31:38,159
همیشه اینطور است که آن را دوست نداشته باشید
2474
01:31:38,159 –> 01:31:39,600
همه می خواهند این کار را به این طریق انجام دهند زیرا
2475
01:31:39,600 –> 01:31:41,840
کمی پیچیدگی را اضافه می کند
2476
01:31:41,840 –> 01:31:43,679
به پروژه شما که ممکن است یا نه
2477
01:31:43,679 –> 01:31:45,199
خواستن برای داشتن
2478
01:31:45,199 –> 01:31:46,880
و برخی از شما که واقعا خوب هستید
2479
01:31:46,880 –> 01:31:48,080
متبحر در
2480
01:31:48,080 –> 01:31:50,320
توسعه آزمایش محور یا در واقع
2481
01:31:50,320 –> 01:31:52,480
ابتدا تست ها را بنویسید
2482
01:31:52,480 –> 01:31:54,560
سپس این به صورت خودکار چیزی را آزمایش می کند
2483
01:31:54,560 –> 01:31:55,760
بعد انجام خواهیم داد
2484
01:31:55,760 –> 01:31:57,760
اما ایده این است که شما واقعاً نوشته اید
2485
01:31:57,760 –> 01:31:59,440
آزمون اول شما احتمالا هرگز
2486
01:31:59,440 –> 01:32:01,120
مشتری را اغلب لمس کنید
2487
01:32:01,120 –> 01:32:03,280
ویژگی ها را تکرار کنید، پس بیایید جلو برویم
2488
01:32:03,280 –> 01:32:04,639
و نگاهی به چگونگی انجام آن بیندازیم
2489
01:32:04,639 –> 01:32:07,040
برای انجام بسیاری از آزمایشات خودکار بنویسید
2490
01:32:07,040 –> 01:32:08,719
همین چیزها برای بررسی اینکه ما
2491
01:32:08,719 –> 01:32:10,880
ویژگیها کار میکنند، بلکه ما نیز کار میکنیم
2492
01:32:10,880 –> 01:32:13,840
کد خوب و تمیز و آماده است
2493
01:32:13,840 –> 01:32:15,840
برای اینکه حداقل به هستی نزدیکتر شویم
2494
01:32:15,840 –> 01:32:18,639
آماده برای تولید
2495
01:32:18,639 –> 01:32:20,320
بسیار خوب، پس اکنون باید تعدادی ایجاد کنیم
2496
01:32:20,320 –> 01:32:23,040
تست های خودکار برای اطمینان از اینکه کاربر ما
2497
01:32:23,040 –> 01:32:25,199
ویژگی های تایید رمز عبور تنظیم شده است
2498
01:32:25,199 –> 01:32:28,480
رمز عبور و غیره به درستی کار می کنند
2499
01:32:28,480 –> 01:32:30,080
بنابراین برای انجام این کار از a استفاده می کنیم
2500
01:32:30,080 –> 01:32:32,320
بسته ای به نام تست pi، بنابراین من پیپ را انجام خواهم داد
2501
01:32:32,320 –> 01:32:35,520
تست pi را نصب کنید و enter now را در my بزنید
2502
01:32:35,520 –> 01:32:37,120
Case pi test قبلاً نصب شده است اما
2503
01:32:37,120 –> 01:32:39,040
مطمئن شوید که آن را دارید و ما این را می خواهیم
2504
01:32:39,040 –> 01:32:41,679
به یک کل وابستگی پروژه است
2505
01:32:41,679 –> 01:32:43,679
من ادامه می دهم و تست pi را انجام می دهم
2506
01:32:43,679 –> 01:32:46,480
الزامات. txt نیز
2507
01:32:46,480 –> 01:32:48,080
در حال حاضر دلیل این یک پروژه است
2508
01:32:48,080 –> 01:32:50,159
وابستگی به این دلیل است که وقتی من در واقع
2509
01:32:50,159 –> 01:32:52,400
این را وارد نوعی تولید کنید
2510
01:32:52,400 –> 01:32:54,440
گردش کار من احتمالا استفاده می کنم
2511
01:32:54,440 –> 01:32:57,199
الزامات.txt به عنوان چیزی که اصلی است
2512
01:32:57,199 –> 01:32:59,199
به عبارت دیگر برخی از شما ممکن است نصب کنید
2513
01:32:59,199 –> 01:33:01,120
یا ممکن است از مشتری در خود استفاده نکنید
2514
01:33:01,120 –> 01:33:02,960
الزامات به همین دلیل جدا شدم
2515
01:33:02,960 –> 01:33:06,239
آنها را فقط برای مشتری واقعاً اکنون که
2516
01:33:06,239 –> 01:33:07,199
من این را دارم، می خواهم ادامه دهم و
2517
01:33:07,199 –> 01:33:09,760
تست پی و پریود را انجام دهید و این چیست
2518
01:33:09,760 –> 01:33:11,040
قرار است این کار را انجام دهد
2519
01:33:11,040 –> 01:33:13,199
تمام پوشه هر پوشه ای که در آن هستید
2520
01:33:13,199 –> 01:33:15,280
اکنون کل آن چیز را آزمایش می کند
2521
01:33:15,280 –> 01:33:16,800
در مورد من در واقع در حال آزمایش من است
2522
01:33:16,800 –> 01:33:19,040
محیط مجازی نیز
2523
01:33:19,040 –> 01:33:21,679
اگر سی دی را وارد برنامه کنم و سپس تست pi را انجام دهم
2524
01:33:21,679 –> 01:33:22,639
عادت زنانه
2525
01:33:22,639 –> 01:33:26,000
فقط خود آن پوشه را تست می کند
2526
01:33:26,000 –> 01:33:27,840
این در واقع تمام چیزی است که من واقعاً می خواهم
2527
01:33:27,840 –> 01:33:30,320
آزمایش کنید تا چیزها را واقعاً بسازید
2528
01:33:30,320 –> 01:33:31,840
برای من ساده است من می روم جلو و
2529
01:33:31,840 –> 01:33:35,199
فقط نقطه تست پی را هر و واقعاً درست انجام دهید
2530
01:33:35,199 –> 01:33:38,159
یک پیکربندی برای تست pi که
2531
01:33:38,159 –> 01:33:40,719
اکنون تست های محیط مجازی من را نادیده می گیرد
2532
01:33:40,719 –> 01:33:42,880
من می گویم که برخی از شما ممکن است
2533
01:33:42,880 –> 01:33:44,400
آن را یک ایده واقعا خوب در نظر بگیرید
2534
01:33:44,400 –> 01:33:45,679
در واقع تست کنید
2535
01:33:45,679 –> 01:33:47,600
همه کدهای محیط مجازی شما به عنوان
2536
01:33:47,600 –> 01:33:48,400
خوب
2537
01:33:48,400 –> 01:33:49,679
این چیزی نیست که من در آن انجام دهم
2538
01:33:49,679 –> 01:33:50,880
این بار
2539
01:33:50,880 –> 01:33:52,719
قطعا چیز ارزشمندی است
2540
01:33:52,719 –> 01:33:54,159
به خصوص زمانی که به بزرگتر و
2541
01:33:54,159 –> 01:33:56,480
سیستم های بزرگتر برای اطمینان از اینکه همه
2542
01:33:56,480 –> 01:33:59,520
بسته های شما در حال گذراندن آزمون هستند اما در
2543
01:33:59,520 –> 01:34:01,199
در این مورد من قصد انجام این کار را ندارم
2544
01:34:01,199 –> 01:34:03,280
فقط میروم و کدم را تست میکنم
2545
01:34:03,280 –> 01:34:04,960
و فقط فرض کنید که بسته های من هستم
2546
01:34:04,960 –> 01:34:08,000
با استفاده از تست ها به درستی اجرا می شوند
2547
01:34:08,000 –> 01:34:10,639
این فرض ممکن است مرگبار باشد اما
2548
01:34:10,639 –> 01:34:12,239
در حال حاضر ما فقط چیزها را نگه می داریم
2549
01:34:12,239 –> 01:34:14,480
ساده یا به همان اندازه که می توانند ساده باشند
2550
01:34:14,480 –> 01:34:17,120
فقط تست کردن کد ما خوبه پس این وارد بشه
2551
01:34:17,120 –> 01:34:20,800
ذهن برای تست کد ما فقط یک فایل می نویسیم
2552
01:34:20,800 –> 01:34:22,239
با تست
2553
01:34:22,239 –> 01:34:24,880
زیر خط پس زیر خط را تست کنید و سپس
2554
01:34:24,880 –> 01:34:26,560
در مورد من هر چه می خواهید اسمش را بگذارید
2555
01:34:26,560 –> 01:34:29,120
من می خواهم آن را به عنوان کاربران آزمایشی صدا کنم
2556
01:34:29,120 –> 01:34:30,960
و بنابراین اینجا جایی است که ما خود را تعریف می کنیم
2557
01:34:30,960 –> 01:34:34,159
تست ها و در اینجا دوباره خط زیر را تست کنید
2558
01:34:34,159 –> 01:34:36,159
ما یک تابع می نویسیم تا به نوعی عمل کند
2559
01:34:36,159 –> 01:34:36,960
تست
2560
01:34:36,960 –> 01:34:40,960
و من فقط می گویم تست کنید
2561
01:34:40,960 –> 01:34:43,119
و تمام این کارها اجازه می دهد
2562
01:34:43,119 –> 01:34:45,280
من برای ادعای نوعی از ارزش
2563
01:34:45,280 –> 01:34:47,760
ادعا کنید که درست است
2564
01:34:47,760 –> 01:34:49,440
اینجا چیز مهمی نیست من می خواهم بروم
2565
01:34:49,440 –> 01:34:52,239
پیش رو و اجرای پی تست و پریود و
2566
01:34:52,239 –> 01:34:54,159
مطمئناً می گذرد
2567
01:34:54,159 –> 01:34:55,840
حالا اگر دوباره این کار را انجام دهم چه می شود
2568
01:34:55,840 –> 01:34:58,719
و ما جلوتر می رویم و می گوییم ادعا کنید
2569
01:34:58,719 –> 01:35:01,360
تست نه ادعا یا بیایید بگوییم
2570
01:35:01,360 –> 01:35:03,280
ادعای نامعتبر
2571
01:35:03,280 –> 01:35:04,320
بنابراین
2572
01:35:04,320 –> 01:35:07,119
ما فقط ادعا می کنیم که درست نیست درست نیست
2573
01:35:07,119 –> 01:35:09,280
که نامعتبر است من این و از را اجرا می کنم
2574
01:35:09,280 –> 01:35:11,840
البته من یک خطای ادعا دریافت می کنم این است
2575
01:35:11,840 –> 01:35:14,320
این ادعای درستی نیست
2576
01:35:14,320 –> 01:35:16,320
تست نامعتبر است، بنابراین به من می دهد که یکی ناموفق است
2577
01:35:16,320 –> 01:35:19,040
یک گذشته این چیزی است که ما می خواهیم ببینیم
2578
01:35:19,040 –> 01:35:20,880
این بسیار ساده است
2579
01:35:20,880 –> 01:35:23,280
احتمالاً چیز خوبی نیست اما بسیار
2580
01:35:23,280 –> 01:35:25,199
یک راه ساده برای دیدن اینکه چگونه می خواهیم پیش برویم
2581
01:35:25,199 –> 01:35:27,360
از طریق و تست همه این چیزها
2582
01:35:27,360 –> 01:35:30,000
حالا چگونه استثناها را واقعاً آزمایش کنیم
2583
01:35:30,000 –> 01:35:31,840
اتفاق افتادن چیزی است که ما می خواهیم
2584
01:35:31,840 –> 01:35:34,000
برای تست زیرا اگر به یاد داشته باشید زمانی که ما
2585
01:35:34,000 –> 01:35:36,960
در واقع رفتیم تا کاربری ایجاد کنیم
2586
01:35:36,960 –> 01:35:39,440
استثنائات اتفاق می افتد بنابراین البته ما
2587
01:35:39,440 –> 01:35:41,280
میخواهیم مطمئن شویم که میتوانیم آنها را آزمایش کنیم
2588
01:35:41,280 –> 01:35:44,320
ارزشها، پس چگونه میتوانیم آن را در حال حاضر انجام دهیم
2589
01:35:44,320 –> 01:35:46,960
در داخل کاربران آزمایشی ما می توانم pi را وارد کنم
2590
01:35:46,960 –> 01:35:48,400
اینجا تست کنید
2591
01:35:48,400 –> 01:35:50,159
و سپس در اینجا ما واقعا می توانیم برویم
2592
01:35:50,159 –> 01:35:52,560
جلو و با نقطه تست پی بگویید
2593
01:35:52,560 –> 01:35:54,880
را افزایش می دهد
2594
01:35:54,880 –> 01:35:57,119
و در اینجا می خواهیم چه چیزی را آزمایش کنیم
2595
01:35:57,119 –> 01:35:58,960
استثنا در نهایت بالا بردن
2596
01:35:58,960 –> 01:36:00,880
در این مورد استثنا الف است
2597
01:36:00,880 –> 01:36:02,639
خطای ادعا
2598
01:36:02,639 –> 01:36:05,360
بنابراین ما در واقع می توانیم آن را به این صورت اجرا کنیم
2599
01:36:05,360 –> 01:36:08,080
و حالا وقتی این را اجرا می کنم، این کار را می کند
2600
01:36:08,080 –> 01:36:10,400
اساسا انتظار می رود که یک خطای ادعا
2601
01:36:10,400 –> 01:36:13,199
قرار است در داخل این آزمون اتفاق بیفتد
2602
01:36:13,199 –> 01:36:16,159
بسیار خوب، پس ادعا کردن چیزها نیز بسیار است
2603
01:36:16,159 –> 01:36:18,239
خوب است زیرا آنچه ما می توانیم انجام دهیم این است که می توانیم
2604
01:36:18,239 –> 01:36:21,679
بررسی کنید که آیا همه چیز برابر است، بنابراین تست کنید
2605
01:36:21,679 –> 01:36:24,159
برابر است و ما فقط می توانیم ادعا کنیم که یکی است
2606
01:36:24,159 –> 01:36:26,560
برابر با یک و مطمئناً همین است
2607
01:36:26,560 –> 01:36:28,560
در نهایت درست کار می کند و سپس
2608
01:36:28,560 –> 01:36:30,719
اگر من آن را برابر نیست، آن را خواهد داد
2609
01:36:30,719 –> 01:36:33,199
من یک خطای ادعای دیگر درست است
2610
01:36:33,199 –> 01:36:35,440
یکی با یک برابر نیست
2611
01:36:35,440 –> 01:36:37,600
ما یک خطای دیگر دریافت خواهیم کرد
2612
01:36:37,600 –> 01:36:39,280
پس البته اینها چیزهایی هستند که من
2613
01:36:39,280 –> 01:36:41,440
در واقع نمی خواهید آزمایش کنید یک وجود دارد
2614
01:36:41,440 –> 01:36:43,679
فلسفه ای که باید هر کدام را امتحان کنید
2615
01:36:43,679 –> 01:36:45,600
خط کد ممکن است که می تواند
2616
01:36:45,600 –> 01:36:47,760
احتمالاً بر روی پروژه شما تأثیر بگذارد
2617
01:36:47,760 –> 01:36:49,360
دوره شامل همه موارد شما می شود
2618
01:36:49,360 –> 01:36:51,119
بسته های شخص ثالث
2619
01:36:51,119 –> 01:36:52,880
که ممکن است چیزی باشد یا نباشد
2620
01:36:52,880 –> 01:36:54,719
می خواهم شخصا انجام دهم من نمی خواهم
2621
01:36:54,719 –> 01:36:56,719
تمام این زمان را صرف نوشتن یک دسته کنید
2622
01:36:56,719 –> 01:36:58,159
از تست ها
2623
01:36:58,159 –> 01:36:59,840
به جای آنچه می خواهم انجام دهم این است
2624
01:36:59,840 –> 01:37:01,679
در واقع چیزهای مهم را آزمایش کنید
2625
01:37:01,679 –> 01:37:03,840
ویژگی هایی که من قطعا اجرا کردم
2626
01:37:03,840 –> 01:37:05,600
و اعتماد کنید که وجود دارد
2627
01:37:05,600 –> 01:37:07,679
نوعی سیستم وجود دارد که وجود دارد
2628
01:37:07,679 –> 01:37:09,679
ساختن پکیج های واقعاً خوب مانند
2629
01:37:09,679 –> 01:37:12,400
می توانید تست کنید که آیا صندوقچه پای کار می کند یا خیر
2630
01:37:12,400 –> 01:37:14,719
به عنوان مثال ام و شما می توانید به پایین بروید
2631
01:37:14,719 –> 01:37:16,320
سوراخ خرگوش واقعاً طولانی است که در آن نیست
2632
01:37:16,320 –> 01:37:18,000
در واقع چیزی با ارزش برای شما تولید می کند
2633
01:37:18,000 –> 01:37:21,199
فقط در نهایت تعداد زیادی آزمایش تولید می کنید
2634
01:37:21,199 –> 01:37:23,440
پس بیایید جلو برویم و از آن اجتناب کنیم
2635
01:37:23,440 –> 01:37:26,159
این در ذهن من می خواهم در واقع خود را آزمایش کنم
2636
01:37:26,159 –> 01:37:29,040
کاربران ایجاد کنید، پس ادامه دهید و تست را تعریف کنید
2637
01:37:29,040 –> 01:37:30,719
کاربر ایجاد کنید
2638
01:37:30,719 –> 01:37:33,040
و سپس چه کاری می خواهم انجام دهم می خواهم انجام دهم
2639
01:37:33,040 –> 01:37:37,199
در واقع آن my user.create را اجرا کنید
2640
01:37:37,199 –> 01:37:39,840
کاربر در واقع کار می کند تا ایمیل باشد
2641
01:37:39,840 –> 01:37:40,840
تست
2642
01:37:40,840 –> 01:37:42,400
test.com
2643
01:37:42,400 –> 01:37:44,239
و البته پسورد ما بودن
2644
01:37:44,239 –> 01:37:47,840
abc123 یا یک رمز عبور تصادفی درست است
2645
01:37:47,840 –> 01:37:49,679
اگر همین الان متوقف شویم، بیایید به آن فکر کنیم
2646
01:37:49,679 –> 01:37:52,560
این به عنوان آن ایستاده است این در واقع خواهد شد
2647
01:37:52,560 –> 01:37:54,800
ایجاد کنیم یا باید ایجاد کنیم یا ما هستیم
2648
01:37:54,800 –> 01:37:57,760
تلاش برای ایجاد یک کاربر واقعی در ما
2649
01:37:57,760 –> 01:37:59,920
پایگاه داده تولید درست این نیست
2650
01:37:59,920 –> 01:38:02,239
تغییر پایگاه داده در همه است
2651
01:38:02,239 –> 01:38:04,400
خوب و بد من می خواهم بگویم که این است
2652
01:38:04,400 –> 01:38:06,320
بسیار خوب چون ما آن را تست می نامیم
2653
01:38:06,320 –> 01:38:09,040
در test.com و ما خواهیم دید که چه کار می کنیم
2654
01:38:09,040 –> 01:38:11,679
با این کاربر بعد از اینکه تست خود را اجرا کردیم اما
2655
01:38:11,679 –> 01:38:13,840
ما ادامه می دهیم و دوره آزمایشی پی را اجرا می کنیم و
2656
01:38:13,840 –> 01:38:16,560
چه چیزی دریافت می کنیم، یک کاربر خطای نام داریم
2657
01:38:16,560 –> 01:38:18,560
درست تعریف نشده است البته اینطور نیست
2658
01:38:18,560 –> 01:38:20,880
خوب من در واقع آن را وارد نکردم اما
2659
01:38:20,880 –> 01:38:22,080
اینها کارهایی هستند که می توانید انجام دهید
2660
01:38:22,080 –> 01:38:23,840
هر از گاهی می توانید در واقع بدوید
2661
01:38:23,840 –> 01:38:26,639
از این نوع تست می توانید یک تست بنویسید
2662
01:38:26,639 –> 01:38:28,960
آن را اجرا کنید یک آزمایش بنویسید آن را اجرا کنید
2663
01:38:28,960 –> 01:38:30,560
بنابراین من می روم جلو و در حال حاضر واردات
2664
01:38:30,560 –> 01:38:33,679
البته از app.users.models
2665
01:38:33,679 –> 01:38:35,600
ما قصد داریم مدل کاربری خود را وارد کنیم
2666
01:38:35,600 –> 01:38:36,639
و حالا میروم و آن را اجرا میکنم
2667
01:38:36,639 –> 01:38:38,239
دوباره باشه
2668
01:38:38,239 –> 01:38:41,040
و اکنون هیچ ماژولی به نام برنامه صبر نمی کنم
2669
01:38:41,040 –> 01:38:42,800
لحظه ای که معنی ندارد برویم
2670
01:38:42,800 –> 01:38:44,560
جلوتر باشید و لحظه ای آن را نادیده بگیرید
2671
01:38:44,560 –> 01:38:46,400
چون داخل برنامه هست شاید اینطور باشه
2672
01:38:46,400 –> 01:38:47,679
مشکل بنابراین من می روم جلو و
2673
01:38:47,679 –> 01:38:50,239
برنامه را در آنجا حذف کنید و دوباره آن را اجرا کنید
2674
01:38:50,239 –> 01:38:52,159
و دوباره اکنون می گوید تلاش کردم
2675
01:38:52,159 –> 01:38:54,880
واردات نسبی بدون پدر و مادر شناخته شده
2676
01:38:54,880 –> 01:38:56,000
بسته بندی
2677
01:38:56,000 –> 01:38:58,639
بسیار خوب، بنابراین UV Acorn به نوعی از این موضوع صرف نظر می کند
2678
01:38:58,639 –> 01:39:00,639
برای ما در واقع نیازی ندارد
2679
01:39:00,639 –> 01:39:03,440
به همین دلیل است که برنامه سریع api ما
2680
01:39:03,440 –> 01:39:05,679
کار کرده است اما در داخل برنامه ما
2681
01:39:05,679 –> 01:39:07,600
ما در واقع می توانیم این را به عنوان یک مقداردهی اولیه کنیم
2682
01:39:07,600 –> 01:39:09,840
خود ماژول پایتون پس من می روم
2683
01:39:09,840 –> 01:39:12,719
جلو و اجرا init در اینجا بسیار خوب پس در حال حاضر
2684
01:39:12,719 –> 01:39:15,440
اگر من این کار را انجام دهم به آن ها اجازه می دهد
2685
01:39:15,440 –> 01:39:18,159
در واقع واردات نسبی را نیز می دانید
2686
01:39:18,159 –> 01:39:20,560
به عنوان خود برنامه هر دوی این موارد
2687
01:39:20,560 –> 01:39:22,880
اکنون باید کار کند البته در حال حاضر من یک
2688
01:39:22,880 –> 01:39:25,760
خطای جدید یک شکست جدید و آن است
2689
01:39:25,760 –> 01:39:27,440
در واقع نمی تواند به ما متصل شود
2690
01:39:27,440 –> 01:39:29,440
پایگاه داده کاساندرا
2691
01:39:29,440 –> 01:39:31,280
البته این هم تعجب آور نیست
2692
01:39:31,280 –> 01:39:33,199
ما جلسه را در حال اجرا نداریم
2693
01:39:33,199 –> 01:39:35,119
شاید برای شما تعجب آور باشد اما ما
2694
01:39:35,119 –> 01:39:37,440
این را روی یک روش راه اندازی در داخل a داشته باشید
2695
01:39:37,440 –> 01:39:39,920
سریع api به یک دلیل در حال حاضر در مورد من i
2696
01:39:39,920 –> 01:39:42,080
در واقع یک api سریع دارید که درست اجرا می شود
2697
01:39:42,080 –> 01:39:44,239
بنابراین برنامه در حال اجرا است اما pi
2698
01:39:44,239 –> 01:39:46,480
آزمون تایید نمی کند که پس این است
2699
01:39:46,480 –> 01:39:48,320
دلیل دیگری برای خودکار بودن است
2700
01:39:48,320 –> 01:39:50,880
تست ها به نوعی آن را از آن جدا می کند
2701
01:39:50,880 –> 01:39:53,040
چیزهایی که ممکن است در حال اجرا باشند
2702
01:39:53,040 –> 01:39:54,719
جایی که خط فرمان
2703
01:39:54,719 –> 01:39:56,080
میدونی اگه منم همینو تست کردم
2704
01:39:56,080 –> 01:39:57,920
در خط فرمان یا در پوسته
2705
01:39:57,920 –> 01:40:01,199
این استثنا ممکن است درست رخ ندهد
2706
01:40:01,199 –> 01:40:03,280
به معنای واقعی کلمه کپی و چسباندن
2707
01:40:03,280 –> 01:40:05,440
از آزمون ما در اینجا کپی و چسباندن
2708
01:40:05,440 –> 01:40:07,760
این تابع این تابع را اجرا می کند
2709
01:40:07,760 –> 01:40:10,000
ممکن است خوب اتفاق نیفتد پس البته ما
2710
01:40:10,000 –> 01:40:11,920
میخواهیم از آن اجتناب کنیم، پس چگونه پیش برویم
2711
01:40:11,920 –> 01:40:14,080
انجام این کار در حال حاضر ممکن است شهود شما باشد
2712
01:40:14,080 –> 01:40:17,760
برای انجام از واردات برنامه db خوب است و
2713
01:40:17,760 –> 01:40:20,239
سپس از db ما فقط می دانید git
2714
01:40:20,239 –> 01:40:21,280
جلسه
2715
01:40:21,280 –> 01:40:23,199
و توجه کنید که خارج از هر چیزی است
2716
01:40:23,199 –> 01:40:25,040
همین جاست و البته این
2717
01:40:25,040 –> 01:40:27,199
خود یک جلسه است بنابراین اگر من ادامه دهم و
2718
01:40:27,199 –> 01:40:29,600
این اجازه دهید تست pi را دوباره اجرا کنید
2719
01:40:29,600 –> 01:40:32,000
و این بار خوب چه چیزی قرار است به پایان برسد
2720
01:40:32,000 –> 01:40:34,400
اتفاق می افتد این است که در واقع ایجاد می کند
2721
01:40:34,400 –> 01:40:36,800
آن کاربر که عالی است اما چه؟
2722
01:40:36,800 –> 01:40:39,119
حالا وقتی دوباره سعی می کنم آن را اجرا کنم
2723
01:40:39,119 –> 01:40:40,000
خوب
2724
01:40:40,000 –> 01:40:41,679
حالا من واقعاً باید دیگری بگیرم
2725
01:40:41,679 –> 01:40:44,080
استثنا و این دقیقاً اینجاست
2726
01:40:44,080 –> 01:40:45,760
این عالی نیست و چند چیز است
2727
01:40:45,760 –> 01:40:48,800
در مورد این خود جلسه واقعی
2728
01:40:48,800 –> 01:40:51,600
میتوانیم بگوییم که واقعاً میخواهیم
2729
01:40:51,600 –> 01:40:54,239
این برای تعطیل کردن
2730
01:40:54,239 –> 01:40:57,119
خوب پس ما می خواهیم آن را راه اندازی کنیم و سپس
2731
01:40:57,119 –> 01:40:59,360
آن را خاموش کنید چیز دیگر این است که ما ممکن است
2732
01:40:59,360 –> 01:41:02,320
می خواهید این جدول این جدول کاربر را همگام کنید
2733
01:41:02,320 –> 01:41:03,760
این چیزی است که کمی است
2734
01:41:03,760 –> 01:41:05,840
آیا ما واقعاً می خواهیم همگام سازی کنیم، مشکل تر است
2735
01:41:05,840 –> 01:41:09,360
جدول کاربر یا نه در تست های ما به عنوان در
2736
01:41:09,360 –> 01:41:12,800
اگر تغییراتی در جدول کاربر ایجاد کنم انجام می دهم
2737
01:41:12,800 –> 01:41:15,040
میخواهم آزمایشهای من واقعاً آنها را انجام دهد
2738
01:41:15,040 –> 01:41:17,440
تغییرات من می روم جلو و نه می گویم
2739
01:41:17,440 –> 01:41:20,560
در این مرحله و اجازه دهید آزمون من شکست بخورد
2740
01:41:20,560 –> 01:41:23,040
اگر آنها به درستی همگام سازی نشده اند
2741
01:41:23,040 –> 01:41:24,639
اما این که گفته می شود من هنوز خودم را می خواهم
2742
01:41:24,639 –> 01:41:27,119
جلسه به این روش کار می کنیم پس چگونه می توانیم
2743
01:41:27,119 –> 01:41:29,520
در واقع از جلسه در این بنر استفاده کنید
2744
01:41:29,520 –> 01:41:31,520
به عبارت دیگر چگونه می توانم تمام کارهایم را اجرا کنم
2745
01:41:31,520 –> 01:41:34,239
آزمایشات بر اساس چیز دیگری است بنابراین من هستم
2746
01:41:34,239 –> 01:41:37,280
در اینجا یک روش راه اندازی را تعریف می کنیم
2747
01:41:37,280 –> 01:41:39,679
و در واقع اینجا جایی است که من تماس خواهم گرفت
2748
01:41:39,679 –> 01:41:42,159
این دو جلسه و در بین این
2749
01:41:42,159 –> 01:41:44,400
من در واقع جلو خواهم رفت و تسلیم خواهم شد
2750
01:41:44,400 –> 01:41:47,040
این جلسه پس این چه کاری انجام می دهد
2751
01:41:47,040 –> 01:41:48,719
ما در حال ساختن به سمت چیزی به نام هستیم
2752
01:41:48,719 –> 01:41:51,600
یک فیکسچر بنابراین در تست pi میتوانیم a را انجام دهیم
2753
01:41:51,600 –> 01:41:52,800
ثابت
2754
01:41:52,800 –> 01:41:54,560
و ما می توانیم دامنه را به این اضافه کنیم
2755
01:41:54,560 –> 01:41:56,560
ماژول خاص
2756
01:41:56,560 –> 01:41:59,440
و این باید scope باشد نه skode
2757
01:41:59,440 –> 01:42:01,520
و اکنون می توانم از این تنظیمات استفاده کنم
2758
01:42:01,520 –> 01:42:02,400
اینجا
2759
01:42:02,400 –> 01:42:04,239
اکنون آنچه جالب است این است که ما می توانیم چیزهایی را تحویل دهیم
2760
01:42:04,239 –> 01:42:06,400
بنابراین من در واقع می توانم جلسه را برابر با
2761
01:42:06,400 –> 01:42:08,719
این راه اندازی است، بنابراین این چیزی است که برمی گردد
2762
01:42:08,719 –> 01:42:10,960
از آیتمی که از طریق اما
2763
01:42:10,960 –> 01:42:12,320
در این مورد من در واقع نیازی به انجام آن ندارم
2764
01:42:12,320 –> 01:42:13,280
که
2765
01:42:13,280 –> 01:42:15,679
اما کاری که باید قبلش انجام بدم
2766
01:42:15,679 –> 01:42:18,000
من می خواهم جلسه را خاموش کنم
2767
01:42:18,000 –> 01:42:20,800
کاربری را که من ایجاد کردم حذف کنید
2768
01:42:20,800 –> 01:42:22,960
به آن کاربر نیاز نداریم، بنابراین کاری که می توانیم انجام دهیم این است
2769
01:42:22,960 –> 01:42:24,239
از یک مجموعه پرس و جو در اینجا استفاده کنید
2770
01:42:24,239 –> 01:42:26,880
user.objects.filter
2771
01:42:26,880 –> 01:42:29,600
ایمیل برابر است با کاربر ایمیل ما، پس تست کنید
2772
01:42:29,600 –> 01:42:31,679
در test.com
2773
01:42:31,679 –> 01:42:34,239
و سپس اگر q تعداد نقطه
2774
01:42:34,239 –> 01:42:36,239
برابر صفر نیست که ما فقط به آن می رویم
2775
01:42:36,239 –> 01:42:37,440
برو جلو و انجام بده
2776
01:42:37,440 –> 01:42:39,440
ما می خواهیم همه اینها را حذف کنیم
2777
01:42:39,440 –> 01:42:41,199
اشیاء در اینجا بنابراین ما به جلو و
2778
01:42:41,199 –> 01:42:43,440
فقط q dot delete را اجرا کنید تا ببینیم که آیا آن را انجام دهید
2779
01:42:43,440 –> 01:42:45,920
در نهایت برای ما کار می کند خوب، پس بیایید برویم
2780
01:42:45,920 –> 01:42:47,679
پیش بروید و این را امتحان کنید
2781
01:42:47,679 –> 01:42:50,080
اکنون باید در واقع شکست بخورد و سپس
2782
01:42:50,080 –> 01:42:52,239
موفقیت این است که امید اینجاست، بنابراین ما تلاش می کنیم
2783
01:42:52,239 –> 01:42:54,560
ابتدا باید دوباره شکست بخورد
2784
01:42:54,560 –> 01:42:55,360
باشه
2785
01:42:55,360 –> 01:42:57,280
یک دقیقه به آن اطلاع می دهد هنوز هم می دهد
2786
01:42:57,280 –> 01:43:00,080
من این استثنا را اینجا دارم اما باید
2787
01:43:00,080 –> 01:43:02,320
به تازگی همه چیز را پس از آن حذف کرده اند
2788
01:43:02,320 –> 01:43:04,960
شکست خورده است این را پاک می کند
2789
01:43:04,960 –> 01:43:06,400
پس بیایید دوباره آن را امتحان کنیم
2790
01:43:06,400 –> 01:43:08,000
و الان اجراش میکنم
2791
01:43:08,000 –> 01:43:09,600
حالا امیدوارم من آن را نداشته باشم
2792
01:43:09,600 –> 01:43:10,719
شکست
2793
01:43:10,719 –> 01:43:13,440
بسیار خوب، من ادعای تست دیگری را دارم
2794
01:43:13,440 –> 01:43:16,080
بنابراین من در واقع به هیچ یک از اینها نیاز ندارم
2795
01:43:16,080 –> 01:43:17,360
من ادامه می دهم و اینها را درست حذف می کنم
2796
01:43:17,360 –> 01:43:19,600
در اینجا یا اجازه دهید آنها را به عنوان اظهار نظر کنیم
2797
01:43:19,600 –> 01:43:21,840
مرجع برای مدتی دیگر
2798
01:43:21,840 –> 01:43:23,600
اما حالا اگر این را بگویم در واقع کار می کند
2799
01:43:23,600 –> 01:43:24,480
برای من
2800
01:43:24,480 –> 01:43:25,920
باشه باحال
2801
01:43:25,920 –> 01:43:27,679
بنابراین نکته کلیدی در مورد این فیکسچر i
2802
01:43:27,679 –> 01:43:30,480
در واقع آن را به عنوان یک استدلال مطرح می کنم
2803
01:43:30,480 –> 01:43:32,560
آن تست pi میداند بیایید از این استفاده کنیم
2804
01:43:32,560 –> 01:43:33,600
بحث و جدل
2805
01:43:33,600 –> 01:43:35,199
نام این تابع در راه است
2806
01:43:35,199 –> 01:43:37,520
از طریق اینجا، بنابراین اگر با این تنظیمات تماس بگیرم
2807
01:43:37,520 –> 01:43:39,679
میدونی جلسه من میخوام بیام
2808
01:43:39,679 –> 01:43:41,760
اینجا پایین و با این جلسه راه اندازی تماس بگیرید
2809
01:43:41,760 –> 01:43:43,360
این نوعی ایده است
2810
01:43:43,360 –> 01:43:44,400
و
2811
01:43:44,400 –> 01:43:46,880
بخش دیگر این قسمت راه اندازی است
2812
01:43:46,880 –> 01:43:49,440
و پس از آن این است پاره کردن پس از آن
2813
01:43:49,440 –> 01:43:52,320
تمام آزمایشات به پایان خواهد رسید
2814
01:43:52,320 –> 01:43:53,360
رخ دادن
2815
01:43:53,360 –> 01:43:56,080
بسیار خوب، بنابراین این بدان معناست که اکنون می توانم
2816
01:43:56,080 –> 01:43:57,280
در واقع تست کنید
2817
01:43:57,280 –> 01:44:01,760
چیزهای دیگر پس کاربر تکراری من را تست کنید
2818
01:44:01,760 –> 01:44:03,920
درست است و بنابراین ما قبلاً آن را دیدیم
2819
01:44:03,920 –> 01:44:05,760
استثنا که این درست خواهد بود
2820
01:44:05,760 –> 01:44:06,560
اینجا
2821
01:44:06,560 –> 01:44:08,560
اما قبل از اینکه بنویسم آن تست چیست
2822
01:44:08,560 –> 01:44:09,679
باید من می خواهم به جلو و فقط
2823
01:44:09,679 –> 01:44:12,239
آن را درست اجرا کنید، بنابراین من آن را تست کردم البته من
2824
01:44:12,239 –> 01:44:14,239
آن را به یک نام دیگر و من چه کنم
2825
01:44:14,239 –> 01:44:16,800
به اینجا برسم این است که به من می دهد
2826
01:44:16,800 –> 01:44:18,639
عملکرد واقعی که شکست خورده و می دهد
2827
01:44:18,639 –> 01:44:21,199
من کاربر استثنا از قبل دارد
2828
01:44:21,199 –> 01:44:23,119
حساب پس در واقع مهم نیست
2829
01:44:23,119 –> 01:44:24,880
رمز عبور اینجا چیست اما انجام می دهد
2830
01:44:24,880 –> 01:44:26,400
موضوعی که کاربر قبلاً دارای یک
2831
01:44:26,400 –> 01:44:30,719
حساب پس دوباره با نقطه تست pi
2832
01:44:30,719 –> 01:44:32,080
را افزایش می دهد
2833
01:44:32,080 –> 01:44:33,679
ما یک استثناء یا
2834
01:44:33,679 –> 01:44:35,440
در اینجا استثنا را مدیریت کنید
2835
01:44:35,440 –> 01:44:36,960
و این است
2836
01:44:36,960 –> 01:44:39,119
اوه بیایید آن را در برگه قرار دهیم
2837
01:44:39,119 –> 01:44:41,119
خوب پس این یکی دیگر از چیزهای کلیدی است که من
2838
01:44:41,119 –> 01:44:41,920
انجام داد
2839
01:44:41,920 –> 01:44:43,760
به نوعی اشاره اما چیزی است که
2840
01:44:43,760 –> 01:44:45,600
اکنون ارزش توجه دارد
2841
01:44:45,600 –> 01:44:47,520
داخل خود مدل هست که
2842
01:44:47,520 –> 01:44:49,600
آنچه را که افزایش می دهد آن را افزایش می دهد فقط یک خالص
2843
01:44:49,600 –> 01:44:50,800
استثنا
2844
01:44:50,800 –> 01:44:52,639
وقتی پروژه های شما بیشتر و بیشتر می شود
2845
01:44:52,639 –> 01:44:55,199
پیچیده این خاص خواهد بود
2846
01:44:55,199 –> 01:44:57,600
استثنا شما در واقع این را تغییر می دهید
2847
01:44:57,600 –> 01:45:00,800
برای داشتن یک نام برای آن درست مانند کاربر
2848
01:45:00,800 –> 01:45:03,280
وجود ندارد یا کاربر از قبل وجود دارد
2849
01:45:03,280 –> 01:45:05,440
استثنا را خودتان می توانید انجام دهید
2850
01:45:05,440 –> 01:45:06,719
و سپس شما می خواهید خود را به روز کنید
2851
01:45:06,719 –> 01:45:09,040
تست هایی برای آن انجام دادیم، اما اکنون که این کار را انجام داده ایم
2852
01:45:09,040 –> 01:45:10,960
این را داریم که همین اینجا بیایید
2853
01:45:10,960 –> 01:45:12,800
ادامه دهید و استثنای دیگر را ایجاد کنید
2854
01:45:12,800 –> 01:45:14,719
بنابراین فرض کنید این یک آزمایش است
2855
01:45:14,719 –> 01:45:17,840
ایمیل نامعتبر
2856
01:45:18,639 –> 01:45:20,719
باشه پس این بار خلاص میشم
2857
01:45:20,719 –> 01:45:23,679
از com اینجا این یک ایمیل نامعتبر است
2858
01:45:23,679 –> 01:45:24,719
بنابراین ما می خواهیم جلو برویم و آن را اجرا کنیم
2859
01:45:24,719 –> 01:45:25,920
از نو
2860
01:45:25,920 –> 01:45:27,280
و کمی طول می کشد
2861
01:45:27,280 –> 01:45:28,960
زمان، زیرا در واقع به آن متصل می شود
2862
01:45:28,960 –> 01:45:31,679
پایگاه داده تولید آن را هر بار انجام می دهد
2863
01:45:31,679 –> 01:45:34,159
یک بار آن یک جلسه و آن را ایجاد می کند
2864
01:45:34,159 –> 01:45:36,159
یک کاربر واقعی در پایگاه داده ایجاد می کند
2865
01:45:36,159 –> 01:45:37,760
که بتونی تست کنی
2866
01:45:37,760 –> 01:45:40,719
اما اکنون راهی برای تست نامعتبر داریم
2867
01:45:40,719 –> 01:45:43,040
به یک کاربر تکراری ایمیل بزنید
2868
01:45:43,040 –> 01:45:45,199
هر دوی این چیزها ویژگی هایی هستند که
2869
01:45:45,199 –> 01:45:47,600
البته ما درست اجرا کردیم پس همینطور است
2870
01:45:47,600 –> 01:45:49,600
این دو ویژگی در اینجا
2871
01:45:49,600 –> 01:45:52,239
البته بعدی رمز عبور معتبر است
2872
01:45:52,239 –> 01:45:55,440
بررسی رمز عبور معتبر است
2873
01:45:55,440 –> 01:45:57,199
بنابراین تعدادی راه برای چگونگی من وجود دارد
2874
01:45:57,199 –> 01:46:00,159
می تواند در مورد تست این بخش باشد
2875
01:46:00,159 –> 01:46:01,520
تنها کاری که می خواهم اینجا انجام دهم این است که می رویم
2876
01:46:01,520 –> 01:46:04,960
برای گفتن رمز عبور معتبر تست کنید
2877
01:46:04,960 –> 01:46:06,719
و من جلوتر می روم و در راه اندازی می گذرم
2878
01:46:06,719 –> 01:46:09,920
دوباره چون می خواهیم راه اندازی اجرا شود
2879
01:46:09,920 –> 01:46:11,119
برای این
2880
01:46:11,119 –> 01:46:12,960
برای کل ماژول بنابراین فقط اجرا شده است
2881
01:46:12,960 –> 01:46:14,000
سر وقت
2882
01:46:14,000 –> 01:46:16,480
بنابراین تست رمز عبور معتبر شی است
2883
01:46:16,480 –> 01:46:19,360
user.objects.filter خواهد بود
2884
01:46:19,360 –> 01:46:23,440
ایمیل برابر با تست در test.com است
2885
01:46:23,440 –> 01:46:26,719
اوه در واقع ما احتمالا باید بررسی کنیم
2886
01:46:26,719 –> 01:46:29,600
که حتی وجود دارد پس اگر q
2887
01:46:29,600 –> 01:46:32,080
تعداد نقطه برابر نیست
2888
01:46:32,080 –> 01:46:34,320
یا بیایید ادعا کنیم که در واقع این کار را خواهیم کرد
2889
01:46:34,320 –> 01:46:35,199
جستجو کردن
2890
01:46:35,199 –> 01:46:38,400
q.count برابر است با یک خوب پس همینطور است
2891
01:46:38,400 –> 01:46:40,080
تست کنید تا مطمئن شوید که اینطور است
2892
01:46:40,080 –> 01:46:42,000
در واقع تعداد کاربرانی که در آن هستند
2893
01:46:42,000 –> 01:46:43,520
وجود دارد زیرا باید فقط یک در باشد
2894
01:46:43,520 –> 01:46:44,560
این نقطه
2895
01:46:44,560 –> 01:46:46,639
و سپس شی یا کاربر واقعی
2896
01:46:46,639 –> 01:46:49,199
خودش که می توانیم بگوییم شی کاربر است
2897
01:46:49,199 –> 01:46:50,960
ابتدا نقطه q
2898
01:46:50,960 –> 01:46:52,400
حالا ما می خواهیم جلو برویم و ادعا کنیم
2899
01:46:52,400 –> 01:46:55,520
که کاربر نقطه شی
2900
01:46:55,520 –> 01:46:57,280
تایید کنید
2901
01:46:57,280 –> 01:46:58,639
کلمه عبور
2902
01:46:58,639 –> 01:47:00,639
و ما جلوتر می رویم و از آن خام عبور می کنیم
2903
01:47:00,639 –> 01:47:02,880
رمز عبوری که اینجا قرار دادیم
2904
01:47:02,880 –> 01:47:04,280
که هست
2905
01:47:04,280 –> 01:47:07,440
abc123 برابر با true است
2906
01:47:07,440 –> 01:47:10,159
خوب فقط آن رمز عبور را تأیید کنید
2907
01:47:10,159 –> 01:47:12,400
و البته من هم می توانستم
2908
01:47:12,400 –> 01:47:14,320
تایید کنید که هست
2909
01:47:14,320 –> 01:47:15,119
نه
2910
01:47:15,119 –> 01:47:18,239
یک دو سه چهار
2911
01:47:18,239 –> 01:47:20,560
خیلی خوب پس هر دو چیز یا بیا بریم
2912
01:47:20,560 –> 01:47:22,560
جلو و بگو درست است
2913
01:47:22,560 –> 01:47:23,440
و
2914
01:47:23,440 –> 01:47:25,600
یا خیر، ما آن را به عنوان مساوی رها می کنیم
2915
01:47:25,600 –> 01:47:26,880
پس بزن که بریم
2916
01:47:26,880 –> 01:47:29,280
اکنون آن را اجرا می کنیم و
2917
01:47:29,280 –> 01:47:31,360
اینجا می رود
2918
01:47:31,360 –> 01:47:33,600
البته همه این موارد را تست می کند
2919
01:47:33,600 –> 01:47:35,119
اگر چیزی مانند در را تغییر دهم
2920
01:47:35,119 –> 01:47:36,480
خود حساب
2921
01:47:36,480 –> 01:47:37,760
آن را اجرا خواهد کرد و سپس آن را اجرا خواهد کرد
2922
01:47:37,760 –> 01:47:40,639
به من هی این نامعتبر است درست است
2923
01:47:40,639 –> 01:47:43,040
مورد صحیح اینجا نیست
2924
01:47:43,040 –> 01:47:45,119
که البته ما می خواهیم ببینیم
2925
01:47:45,119 –> 01:47:46,880
ما می خواهیم ببینیم که این خطاها چه زمانی تمام می شوند
2926
01:47:46,880 –> 01:47:47,920
اتفاق می افتد
2927
01:47:47,920 –> 01:47:50,639
بنابراین دوباره آن را اجرا می کنم و به آنجا می رویم
2928
01:47:50,639 –> 01:47:53,040
عالی است پس تمام تست ها همین است
2929
01:47:53,040 –> 01:47:55,199
که من واقعاً می خواهم در این مرحله انجام دهم
2930
01:47:55,199 –> 01:47:57,520
اکنون می توانید همه اینها را استنباط کنید
2931
01:47:57,520 –> 01:47:59,199
چیزهایی برای اطمینان از اینکه تست ها هستند
2932
01:47:59,199 –> 01:48:01,119
با چالشی که می خواهم درست کار می کنم
2933
01:48:01,119 –> 01:48:03,360
ترک شما با این است که در واقع چگونه می کنیم
2934
01:48:03,360 –> 01:48:04,560
تغییر دادن
2935
01:48:04,560 –> 01:48:05,360
را
2936
01:48:05,360 –> 01:48:08,800
فضای کلیدی که مدل ما از آن استفاده می کند
2937
01:48:08,800 –> 01:48:10,639
چیز بی اهمیتی نیست که درست تغییر کند
2938
01:48:10,639 –> 01:48:12,960
چون ما آن را در اینجا داریم من می خواهم
2939
01:48:12,960 –> 01:48:15,199
تا ببینم آیا توانایی تغییر را دارید یا خیر
2940
01:48:15,199 –> 01:48:18,159
که به تنهایی با آزمایش های خودت
2941
01:48:18,159 –> 01:48:21,040
زیرا احتمالاً ایده خوبی خواهد بود
2942
01:48:21,040 –> 01:48:23,360
زمانی که روی انواع مختلفی کار می کنید
2943
01:48:23,360 –> 01:48:25,679
چیزهای درست از جمله
2944
01:48:25,679 –> 01:48:27,199
اطمینان از آن
2945
01:48:27,199 –> 01:48:29,040
هنگامی که شما در حال آزمایش داده ها هستید به خصوص a
2946
01:48:29,040 –> 01:48:31,920
داده های زیادی که شما ندارید
2947
01:48:31,920 –> 01:48:33,280
چیزی که در واقع شما را لمس می کند
2948
01:48:33,280 –> 01:48:34,880
پایگاه داده تولید
2949
01:48:34,880 –> 01:48:36,320
در این مورد واقعا در مورد وجود دارد
2950
01:48:36,320 –> 01:48:38,719
تست ویژگی ها نه داده ها درست است
2951
01:48:38,719 –> 01:48:41,280
بنابراین فقط یک قطعه داده است
2952
01:48:41,280 –> 01:48:43,760
بنابراین مهم نیست، اما زمانی که من شروع به
2953
01:48:43,760 –> 01:48:45,920
برای تولید کامل کار کنید
2954
01:48:45,920 –> 01:48:47,199
برنامه ای که توسط بسیاری استفاده می شود
2955
01:48:47,199 –> 01:48:48,880
مردم پس بله، ما می خواهیم
2956
01:48:48,880 –> 01:48:50,800
پایگاه داده خود را به طور خاص برای
2957
01:48:50,800 –> 01:48:52,480
که می دانم قبلاً در مورد آن صحبت کرده ام
2958
01:48:52,480 –> 01:48:53,920
که قبلا اما در حال حاضر خواهد بود
2959
01:48:53,920 –> 01:48:56,480
ایده خوب یا زمان خوبی برای در واقع
2960
01:48:56,480 –> 01:48:59,679
سعی کنید فضای کلید خود را در داخل تغییر دهید
2961
01:48:59,679 –> 01:49:01,679
از خود آزمون بسیار خوب است
2962
01:49:01,679 –> 01:49:03,440
مرحله آخر این است که من در واقع می روم
2963
01:49:03,440 –> 01:49:06,719
برای انتقال تست های من به یک پوشه کامل
2964
01:49:06,719 –> 01:49:09,360
به نام تست و سپس من فقط بکشید
2965
01:49:09,360 –> 01:49:11,360
این را در این پوشه در اینجا
2966
01:49:11,360 –> 01:49:13,040
و در داخل اینجا ما آن را به یک تبدیل می کنیم
2967
01:49:13,040 –> 01:49:16,320
ماژول پایتون با فایل init
2968
01:49:16,320 –> 01:49:18,480
درست مثل آن و بنابراین اکنون ما خودمان را داریم
2969
01:49:18,480 –> 01:49:20,480
کاربران تست در اینجا متوجه می شوند که ما هستیم
2970
01:49:20,480 –> 01:49:24,320
انجام از برنامه بنابراین خود برنامه در عوض
2971
01:49:24,320 –> 01:49:25,920
واردات نسبی مانند ما بوده است
2972
01:49:25,920 –> 01:49:28,400
با جاهای دیگر انجام می دهم، بنابراین اگر اجرا کنم
2973
01:49:28,400 –> 01:49:30,320
این دوره آزمایش pi
2974
01:49:30,320 –> 01:49:32,000
هنوز هم باید بر اساس آنها اجرا شود
2975
01:49:32,000 –> 01:49:34,239
پوشه یا خود آن فایل و اکنون می توانم
2976
01:49:34,239 –> 01:49:36,960
در واقع تمام تست ها را در اینجا نگه دارید
2977
01:49:36,960 –> 01:49:38,480
این در واقع یکی از راه هایی است که
2978
01:49:38,480 –> 01:49:40,000
شما ممکن است در مورد انجام آن می توانید
2979
01:49:40,000 –> 01:49:43,040
تست را در خود پوشه کاربران قرار دهید
2980
01:49:43,040 –> 01:49:44,719
اما زمانی که آن را برای من می آید زمانی که آن را به
2981
01:49:44,719 –> 01:49:46,400
در واقع با استفاده از تست pi
2982
01:49:46,400 –> 01:49:48,480
برای پروژه های کوچکتر مانند این است
2983
01:49:48,480 –> 01:49:50,080
پروژه آنقدر بزرگ نخواهد بود
2984
01:49:50,080 –> 01:49:52,000
حتی اگر این احساس را داشته باشد، وجود ندارد
2985
01:49:52,000 –> 01:49:54,080
در اینجا یک تن کد خواهد بود
2986
01:49:54,080 –> 01:49:56,560
من تست ها را در ماژول خودش قرار دادم بنابراین من
2987
01:49:56,560 –> 01:49:57,920
می تواند هر کدام را تست کند
2988
01:49:57,920 –> 01:49:59,679
ماژول فردی یا ویژگی که من هستم
2989
01:49:59,679 –> 01:50:01,760
به دنبال تست کردن، مانند یکی دیگر
2990
01:50:01,760 –> 01:50:03,280
ممکن است مانند آزمایش نقاط پایانی باشد
2991
01:50:03,280 –> 01:50:06,400
نقاط پایانی سریع api واقعی زیرا واقعاً
2992
01:50:06,400 –> 01:50:09,040
کاربران در حال آزمایش، کاربران را ایجاد می کنند
2993
01:50:09,040 –> 01:50:11,199
آنهایی که باید در برخی نقاط پایانی باشند
2994
01:50:11,199 –> 01:50:13,440
درست است که من قصد ندارم خرج کنم
2995
01:50:13,440 –> 01:50:15,840
واقعا زمان بیشتری برای نوشتن تست هاست
2996
01:50:15,840 –> 01:50:17,520
برای این پروژه امیدوارم چیزی که من دارم
2997
01:50:17,520 –> 01:50:19,760
با توجه به شما در اینجا پایه و اساس است که
2998
01:50:19,760 –> 01:50:24,960
شما می توانید در تمام پروژه ها استفاده کنید
2999
01:50:24,960 –> 01:50:25,920
در حال حاضر ما می رویم به جلو و
3000
01:50:25,920 –> 01:50:29,520
قالب های jenja را برای رندر معرفی کنید
3001
01:50:29,520 –> 01:50:32,159
html ما اکنون اگر با آن کار نکرده اید
3002
01:50:32,159 –> 01:50:34,639
قالب های جنجی قبل از مفهوم است
3003
01:50:34,639 –> 01:50:36,480
در واقع بسیار ساده اگر شما
3004
01:50:36,480 –> 01:50:38,800
به یک رشته پایتون چیزی شبیه به آن فکر کنید
3005
01:50:38,800 –> 01:50:41,040
این عالی من است
3006
01:50:41,040 –> 01:50:43,520
رشته و می خواهید در واقع قالب بندی کنید
3007
01:50:43,520 –> 01:50:45,840
آن را با برخی از متغیرها مانند abc برابر است
3008
01:50:45,840 –> 01:50:47,920
دو یک دو سه درست است پس این است
3009
01:50:47,920 –> 01:50:49,920
در واقع انجام آن بسیار ساده است زیرا
3010
01:50:49,920 –> 01:50:51,520
سپس ما می توانیم در واقع از آن متغیر استفاده کنیم
3011
01:50:51,520 –> 01:50:54,400
از abc دقیقاً همینطور است
3012
01:50:54,400 –> 01:50:56,000
در واقع استفاده از آن کاملاً متفاوت نیست
3013
01:50:56,000 –> 01:50:58,080
f رشته ها درست است، بنابراین اگر من واقعاً تغییر کرده باشم
3014
01:50:58,080 –> 01:51:00,560
فقط کمی
3015
01:51:00,560 –> 01:51:02,719
این تقریباً همان چیزی است که چه می شود
3016
01:51:02,719 –> 01:51:04,639
این کار البته در حال گرفتن مقداری است
3017
01:51:04,639 –> 01:51:06,880
یک نوع متغیر و انتقال آن به
3018
01:51:06,880 –> 01:51:09,599
یک رشته دیگر و آن رشته می تواند باشد
3019
01:51:09,599 –> 01:51:12,560
خود html می تواند انواع مختلفی از آن باشد
3020
01:51:12,560 –> 01:51:15,360
چیزهایی که جینجا انجام می دهد در واقع این است
3021
01:51:15,360 –> 01:51:17,679
این را به یک نقطه html واقعی تبدیل می کند
3022
01:51:17,679 –> 01:51:19,840
اسناد و رندر چیزها در یک بسیار
3023
01:51:19,840 –> 01:51:21,119
روش مشابه
3024
01:51:21,119 –> 01:51:23,679
در حال حاضر البته آن را jinja مانند این و
3025
01:51:23,679 –> 01:51:26,480
این در واقع از آن الهام گرفته شده است
3026
01:51:26,480 –> 01:51:29,040
موتور قالب جنگو، بنابراین اگر دارید
3027
01:51:29,040 –> 01:51:30,880
تا به حال از موتور قالب jango استفاده شده است
3028
01:51:30,880 –> 01:51:32,719
خیلی شبیه آن
3029
01:51:32,719 –> 01:51:35,679
و البته api سریع پشتیبانی از
3030
01:51:35,679 –> 01:51:37,920
jinja چون احتمالاً بیشترین است
3031
01:51:37,920 –> 01:51:39,599
روش محبوب برای انجام
3032
01:51:39,599 –> 01:51:43,679
هر نوع رندر متن با پایتون
3033
01:51:43,679 –> 01:51:46,400
و رندر متن ken به
3034
01:51:46,400 –> 01:51:49,119
این مفهوم درست در اینجا جایی که این می تواند
3035
01:51:49,119 –> 01:51:51,199
هر نوع فایلی باشد تا زمانی که
3036
01:51:51,199 –> 01:51:53,520
شما به نوعی آن را با برخی مخلوط می کنید
3037
01:51:53,520 –> 01:51:55,760
نوعی زمینه
3038
01:51:55,760 –> 01:51:58,800
پس از آن jinja راه حل شما است
3039
01:51:58,800 –> 01:52:00,480
که پس بیایید جلو برویم و آن را نصب کنیم
3040
01:52:00,480 –> 01:52:02,679
من ادامه می دهم و نصب پیپ را انجام می دهم و
3041
01:52:02,679 –> 01:52:04,239
jinja2
3042
01:52:04,239 –> 01:52:05,920
و ما نیز این را به ما اضافه خواهیم کرد
3043
01:52:05,920 –> 01:52:08,639
requires.txt فقط برای اینکه مطمئن شوید اینطور است
3044
01:52:08,639 –> 01:52:11,119
در آنجا من قبلاً آن را در آنجا دارم
3045
01:52:11,119 –> 01:52:13,040
بدیهی است که مجبور نیستم آن را اضافه کنم
3046
01:52:13,040 –> 01:52:14,960
به عنوان یک نیاز دیگر اما
3047
01:52:14,960 –> 01:52:17,119
محیط من قبلاً بیشتر آن را داشت
3048
01:52:17,119 –> 01:52:19,360
احتمالا از یکی از این بسته های دیگر
3049
01:52:19,360 –> 01:52:20,800
اما در حال حاضر آن را قطعا در وجود دارد و
3050
01:52:20,800 –> 01:52:22,639
این چیزی است که برای رفتن از آن استفاده خواهم کرد
3051
01:52:22,639 –> 01:52:25,199
به جلو باشه پس برای انجام این کار من می روم
3052
01:52:25,199 –> 01:52:27,119
ادامه دهید و یک پوشه در داخل ایجاد کنید
3053
01:52:27,119 –> 01:52:29,520
برنامه من به نام templates پس این است
3054
01:52:29,520 –> 01:52:30,719
در واقع جایی که می خواهم ذخیره کنم
3055
01:52:30,719 –> 01:52:32,159
همه چیز و در ابتدا من فقط می روم
3056
01:52:32,159 –> 01:52:33,239
جلوتر و انجام دهید
3057
01:52:33,239 –> 01:52:35,679
home.html و ما فقط پیش می رویم و
3058
01:52:35,679 –> 01:52:38,080
بگو خوش آمدی
3059
01:52:38,080 –> 01:52:39,920
عضویت ویدیویی
3060
01:52:39,920 –> 01:52:42,080
اگر html را خوب بلد باشید، html عالی نیست
3061
01:52:42,080 –> 01:52:44,639
این یک html با فرمت خیلی خوب نیست
3062
01:52:44,639 –> 01:52:45,840
سند
3063
01:52:45,840 –> 01:52:48,639
اما با این وجود html است و جالب است
3064
01:52:48,639 –> 01:52:50,560
چیزی که در مورد این موضوع وجود دارد این است که ما واقعاً می توانیم استفاده کنیم
3065
01:52:50,560 –> 01:52:53,280
ویرایشگر متن ما مانند کد در مقابل کار می کند
3066
01:52:53,280 –> 01:52:55,599
با این حالا به یاد بیاور که چگونه بودم
3067
01:52:55,599 –> 01:52:57,520
انجام گزینه های قالب بندی رشته در
3068
01:52:57,520 –> 01:53:00,480
فقط پایتون خام من می توانم همین کار را انجام دهم
3069
01:53:00,480 –> 01:53:03,040
داخل قالب های jinja نیز اما
3070
01:53:03,040 –> 01:53:04,800
به جای یک براکت فرفری
3071
01:53:04,800 –> 01:53:06,719
در واقع از دو براکت فرفری استفاده کنید
3072
01:53:06,719 –> 01:53:08,320
چیزی شبیه به این و این در واقع است
3073
01:53:08,320 –> 01:53:10,719
چیزی که ما در یک لحظه ارائه خواهیم کرد
3074
01:53:10,719 –> 01:53:14,000
و بنابراین ما اکنون باید به اصل برگردیم
3075
01:53:14,000 –> 01:53:17,119
به api سریع در مورد این قالب ها اطلاع دهید
3076
01:53:17,119 –> 01:53:19,040
پوشه تا بتوانیم در واقع رندر کنیم
3077
01:53:19,040 –> 01:53:22,080
خارج از homa.html زیرا میانبر وجود دارد
3078
01:53:22,080 –> 01:53:24,800
راه هایی برای انجام این کار در api سریع تعبیه شده است
3079
01:53:24,800 –> 01:53:26,159
اولین کاری که باید انجام دهم این است که نیاز دارم
3080
01:53:26,159 –> 01:53:29,040
تا برنامه خودش را بشناسد
3081
01:53:29,040 –> 01:53:31,199
این الگوها کجا هستند پس بیایید برویم
3082
01:53:31,199 –> 01:53:33,119
جلو و واردات ما
3083
01:53:33,119 –> 01:53:35,280
کتابخانه مسیر
3084
01:53:35,280 –> 01:53:36,560
اولین چیزی که قراره اعلام کنم
3085
01:53:36,560 –> 01:53:38,719
اینجا پایگاه ماست
3086
01:53:38,719 –> 01:53:41,920
دایرکتوری که البته path lab است.
3087
01:53:41,920 –> 01:53:44,480
نیمی از این فایل و سپس ما می رویم
3088
01:53:44,480 –> 01:53:46,080
پیش رو و این را حل کنید البته
3089
01:53:46,080 –> 01:53:48,960
مسیر مطلق این فایل را به من می دهد
3090
01:53:48,960 –> 01:53:51,199
درست در اینجا در سیستم محلی من بنابراین اگر من
3091
01:53:51,199 –> 01:53:54,000
do.parent که برنامه را به من می دهد
3092
01:53:54,000 –> 01:53:56,000
دایرکتوری درست پس این دایرکتوری برنامه
3093
01:53:56,000 –> 01:53:57,280
درست همین جا
3094
01:53:57,280 –> 01:53:59,280
و این پلت فرم متقابل است بنابراین اگر شما هستید
3095
01:53:59,280 –> 01:54:01,119
در مک لینوکس یا ویندوز آن را به
3096
01:54:01,119 –> 01:54:02,159
خوب کار کنید
3097
01:54:02,159 –> 01:54:04,560
و همچنین سیستم متقاطع درست است بنابراین اگر من
3098
01:54:04,560 –> 01:54:06,480
در واقع این را به مک شما فرستاده است
3099
01:54:06,480 –> 01:54:09,199
مک باید به خوبی کار کند
3100
01:54:09,199 –> 01:54:11,040
pathlib فوق العاده است اگر این کار را نکنید
3101
01:54:11,040 –> 01:54:12,960
در حال حاضر از آن استفاده می کنم پس البته من می خواهم
3102
01:54:12,960 –> 01:54:15,040
dir قالب را نیز داشته باشید، بنابراین من می روم
3103
01:54:15,040 –> 01:54:17,040
جلو و بگویید template der و این
3104
01:54:17,040 –> 01:54:18,400
قرار است خارج از پایگاه من باشد
3105
01:54:18,400 –> 01:54:20,159
اسلش دایرکتوری
3106
01:54:20,159 –> 01:54:23,520
و به سادگی الگوهای این البته است
3107
01:54:23,520 –> 01:54:25,760
با نسخه های جدیدتر واقعا عالیه
3108
01:54:25,760 –> 01:54:28,159
پایتون و به طور خاص pathlib
3109
01:54:28,159 –> 01:54:30,880
این در واقع این را به یک مسیر تبدیل می کند
3110
01:54:30,880 –> 01:54:33,760
به طور مستقیم به این پوشه الگوها
3111
01:54:33,760 –> 01:54:35,040
که واقعاً خوب است که اینطور نیست
3112
01:54:35,040 –> 01:54:38,000
تقسیم یک متغیر به یک رشته
3113
01:54:38,000 –> 01:54:40,400
حتی اگر واقعاً اینطور به نظر می رسد
3114
01:54:40,400 –> 01:54:42,239
خیلی باحال است به هر حال فکر می کنم همینطور است
3115
01:54:42,239 –> 01:54:43,520
حالا که این را داریم، بیایید ادامه دهیم
3116
01:54:43,520 –> 01:54:45,760
و در واقع قالب را مقداردهی اولیه کنید
3117
01:54:45,760 –> 01:54:47,040
محل
3118
01:54:47,040 –> 01:54:49,280
بنابراین من می خواهم به جلو بروید و از
3119
01:54:49,280 –> 01:54:51,840
fastapi.templating
3120
01:54:51,840 –> 01:54:54,560
ما قصد داریم جینجا را وارد کنیم
3121
01:54:54,560 –> 01:54:56,639
2 قالب
3122
01:54:56,639 –> 01:54:58,400
باشه پس ما اینجا میایم پایین و
3123
01:54:58,400 –> 01:55:00,080
در زیر برنامه ما به جلو می روم و انجام می دهم
3124
01:55:00,080 –> 01:55:02,719
الگوها برابر با آن ginger2 است
3125
01:55:02,719 –> 01:55:05,679
قالب ها و دایرکتوری
3126
01:55:05,679 –> 01:55:08,239
رشته کثیفی این قالب است
3127
01:55:08,239 –> 01:55:09,679
اینجا
3128
01:55:09,679 –> 01:55:12,960
بسیار خوب به اندازه کافی ساده است، بنابراین اکنون api سریع است
3129
01:55:12,960 –> 01:55:15,679
از این پوشه و البته
3130
01:55:15,679 –> 01:55:18,000
خود برنامه اصلاً به این موضوع وابسته نیست
3131
01:55:18,000 –> 01:55:20,719
درست است در واقع می تواند جدا باشد
3132
01:55:20,719 –> 01:55:22,080
از این به عبارت دیگر اگر داشته باشیم
3133
01:55:22,080 –> 01:55:23,760
دایرکتوری های دیگر و ما می خواستیم استفاده کنیم
3134
01:55:23,760 –> 01:55:25,440
قالب های مختلفی که احتمالا می توانستیم انجام دهیم
3135
01:55:25,440 –> 01:55:26,800
که همینطور
3136
01:55:26,800 –> 01:55:28,080
اما به هر حال پس اکنون که این را دارم، هستم
3137
01:55:28,080 –> 01:55:29,599
ادامه دهید و یکی دیگر وارد کنید
3138
01:55:29,599 –> 01:55:31,760
چیز و آن است
3139
01:55:31,760 –> 01:55:32,560
از جانب
3140
01:55:32,560 –> 01:55:34,719
سریع api ما قصد داریم وارد کنیم
3141
01:55:34,719 –> 01:55:36,639
درخواست کنید و سپس ما نیز می رویم
3142
01:55:36,639 –> 01:55:40,080
از پاسخهای نقطهای سریع api انجام دهید
3143
01:55:40,080 –> 01:55:44,320
می خواهیم html را وارد کنیم
3144
01:55:44,840 –> 01:55:47,119
کلاس پاسخگویی
3145
01:55:47,119 –> 01:55:48,880
خوب پس چرا ما این کار را انجام می دهیم
3146
01:55:48,880 –> 01:55:50,719
خوب به طور پیش فرض
3147
01:55:50,719 –> 01:55:53,840
هر نوع از شما نقطه پایانی هر نوع می دانید
3148
01:55:53,840 –> 01:55:57,840
url داده های json را برمی گرداند
3149
01:55:57,840 –> 01:56:00,639
درست دوباره این برای استراحت API است
3150
01:56:00,639 –> 01:56:03,280
ما در حال حاضر از آن ویژگی استفاده نمی کنیم
3151
01:56:03,280 –> 01:56:04,800
بنابراین آنچه که ما می خواهیم انجام دهیم این است که این را تغییر دهیم
3152
01:56:04,800 –> 01:56:06,560
از یک بودن
3153
01:56:06,560 –> 01:56:08,320
پاسخ فرهنگ لغت یا یک داده json
3154
01:56:08,320 –> 01:56:11,119
پاسخ به html بودن
3155
01:56:11,119 –> 01:56:13,760
پاسخ بنابراین در واقع با استفاده از متن html به عنوان
3156
01:56:13,760 –> 01:56:16,080
یک نوع پاسخ بنابراین من فقط ادامه می دهم
3157
01:56:16,080 –> 01:56:18,239
و بگویید کلاس پاسخ برابر با آن است
3158
01:56:18,239 –> 01:56:21,040
پاسخ html که من تازه وارد کردم
3159
01:56:21,040 –> 01:56:22,800
درست همین جا
3160
01:56:22,800 –> 01:56:24,239
بعد باید درخواست را وارد کنیم
3161
01:56:24,239 –> 01:56:25,520
خود
3162
01:56:25,520 –> 01:56:26,840
بنابراین ما می رویم و می گوییم
3163
01:56:26,840 –> 01:56:30,560
درخواست و از نوع درخواست است
3164
01:56:30,560 –> 01:56:31,760
و سپس ما جلوتر می رویم و خلاص می شویم
3165
01:56:31,760 –> 01:56:33,199
همه اینها
3166
01:56:33,199 –> 01:56:34,560
و حالا من می روم جلو و
3167
01:56:34,560 –> 01:56:36,880
از قالب ها اعلام کنید
3168
01:56:36,880 –> 01:56:40,239
پاسخ الگوی نقطه ای
3169
01:56:40,239 –> 01:56:42,719
حالا برو و بگو home.html
3170
01:56:42,719 –> 01:56:44,400
این البته قالبی است که i
3171
01:56:44,400 –> 01:56:46,239
در واقع می خواهید رندر کنید و این است
3172
01:56:46,239 –> 01:56:48,880
نسبت به این مکان ریشه در اینجا بنابراین
3173
01:56:48,880 –> 01:56:50,719
اگر قالب های دیگری داشتم بگوییم برای
3174
01:56:50,719 –> 01:56:52,880
به عنوان مثال من در اینجا قطعه هایی انجام دادم
3175
01:56:52,880 –> 01:56:55,119
و من چیزی شبیه به این گفتم
3176
01:56:55,119 –> 01:56:58,239
فرود one.html
3177
01:56:58,239 –> 01:57:00,480
سپس کاری که من می خواهم انجام دهم اینجاست
3178
01:57:00,480 –> 01:57:04,239
می توانم بگویم اسنیپت ها اسلش فرود 1
3179
01:57:04,239 –> 01:57:06,800
html و این یک پلت فرم متقابل واقعی است
3180
01:57:06,800 –> 01:57:08,159
چگونه آن را می نویسید
3181
01:57:08,159 –> 01:57:10,320
به هر حال پس اکنون ما به home.html وارد شده ایم
3182
01:57:10,320 –> 01:57:11,840
اینجا و بعد من می روم جلو و
3183
01:57:11,840 –> 01:57:13,840
در برخی زمینه ها عبور کنید، بنابراین من ادامه خواهم داد
3184
01:57:13,840 –> 01:57:16,639
و زمینه را در اینجا به عنوان فرهنگ لغت ارائه دهید
3185
01:57:16,639 –> 01:57:19,440
در حال حاضر این زمینه به طور پیش فرض با genji
3186
01:57:19,440 –> 01:57:21,840
قالب های آن را باید در آن پاس کنیم
3187
01:57:21,840 –> 01:57:25,199
خود آرگومان درخواست پس درخواست دارد
3188
01:57:25,199 –> 01:57:27,280
هر بار وارد شود
3189
01:57:27,280 –> 01:57:29,760
هر نوع دیگری
3190
01:57:29,760 –> 01:57:31,520
متغیری که می خواهیم در اینجا اضافه کنیم، است
3191
01:57:31,520 –> 01:57:33,280
این کاملاً به ما بستگی دارد
3192
01:57:33,280 –> 01:57:34,080
اینجا
3193
01:57:34,080 –> 01:57:36,800
اکنون در home.html این متغیر را داشتیم
3194
01:57:36,800 –> 01:57:42,639
abc بنابراین اگر آن را به صورت abc و 123 اضافه کنم
3195
01:57:42,639 –> 01:57:44,080
کلید البته این خواهد بود
3196
01:57:44,080 –> 01:57:46,560
متغیر و سپس مقدار آن خواهد بود
3197
01:57:46,560 –> 01:57:48,719
ارزش آن کلید
3198
01:57:48,719 –> 01:57:52,080
خوب البته الان جای تعجب نیست
3199
01:57:52,080 –> 01:57:55,040
ما آن را در حال حاضر ما یک ججو مبتنی بر
3200
01:57:55,040 –> 01:57:56,880
پاسخ الگو
3201
01:57:56,880 –> 01:57:59,040
خوب و پس بیایید جلو برویم و مطمئن شویم
3202
01:57:59,040 –> 01:58:01,679
پروژه ما به اندازه کافی در حال اجرا است
3203
01:58:01,679 –> 01:58:03,599
من می خواهم ادامه دهم و آن را دوباره راه اندازی کنم
3204
01:58:03,599 –> 01:58:05,599
فقط برای اطمینان
3205
01:58:05,599 –> 01:58:07,520
و سپس صفحه اصلی ما اکنون می گوید
3206
01:58:07,520 –> 01:58:11,040
به عضویت ویدیویی خوش آمدید 123. اگر i
3207
01:58:11,040 –> 01:58:14,639
abc را به رشته abc تغییر دهید
3208
01:58:14,639 –> 01:58:16,719
سپس باید رفرش شود و باید ببینیم
3209
01:58:16,719 –> 01:58:19,360
که می گوید abc okay
3210
01:58:19,360 –> 01:58:21,760
پس البته دلیل داشتن
3211
01:58:21,760 –> 01:58:24,239
قالب هایی مانند این است که ما می توانیم
3212
01:58:24,239 –> 01:58:28,880
تولید داده های html که نسبت به
3213
01:58:28,880 –> 01:58:31,119
چیزی که در پایتون اتفاق می افتد
3214
01:58:31,119 –> 01:58:33,199
بدون نیاز به
3215
01:58:33,199 –> 01:58:35,679
هر نوع زبان شخص ثالث دیگر
3216
01:58:35,679 –> 01:58:37,679
چیزی شبیه جاوا اسکریپت درست می توانم
3217
01:58:37,679 –> 01:58:39,520
در واقع همه اینها را تغییر دهید
3218
01:58:39,520 –> 01:58:44,639
html فقط با استفاده از پایتون و html
3219
01:58:44,639 –> 01:58:46,000
هیچ چیز دیگر
3220
01:58:46,000 –> 01:58:48,159
بنابراین به من انعطاف زیادی می دهد
3221
01:58:48,159 –> 01:58:50,320
چگونه می توانم در نهایت این را تولید کنم
3222
01:58:50,320 –> 01:58:52,880
خود جنجا را به طور واقعی ذکر کرد
3223
01:58:52,880 –> 01:58:56,480
بسته می تواند از چیزهایی غیر از html استفاده کند
3224
01:58:56,480 –> 01:58:58,159
اما در این مورد ما در واقع چگونه هستیم
3225
01:58:58,159 –> 01:59:00,719
هر پاسخ html خواهد بود
3226
01:59:00,719 –> 01:59:03,599
یک بار پس جینجا را بررسی کنید
3227
01:59:03,599 –> 01:59:06,159
خود اسناد خارج از api سریع
3228
01:59:06,159 –> 01:59:07,840
اگر علاقه مند به استفاده از آن هستید
3229
01:59:07,840 –> 01:59:08,960
چیز های دیگر
3230
01:59:08,960 –> 01:59:10,960
مانند آنچه شما می توانید ارسال کنید
3231
01:59:10,960 –> 01:59:13,119
شما می دانید پیام های متنی با استفاده از jinja you
3232
01:59:13,119 –> 01:59:15,599
می توانید از آن به عنوان موتور قالب خود استفاده کنید و
3233
01:59:15,599 –> 01:59:17,119
بخش دیگر آن در مورد آن است
3234
01:59:17,119 –> 01:59:19,520
مانند این فایل های متنی خامی هستند که شما
3235
01:59:19,520 –> 01:59:22,239
همیشه می توانید در پرواز درست کنید یا می توانید
3236
01:59:22,239 –> 01:59:24,880
در مراجع دیگر نیز استفاده کنید
3237
01:59:24,880 –> 01:59:26,880
خیلی باحاله پس دلیلش
3238
01:59:26,880 –> 01:59:28,480
ما این کار را انجام می دهیم البته برای ساختن
3239
01:59:28,480 –> 01:59:30,800
به سمت یک صفحه ورود که در واقع دارد
3240
01:59:30,800 –> 01:59:33,599
قالب html اما همچنین ما می توانیم ببینیم
3241
01:59:33,599 –> 01:59:35,280
هر چیز دیگری با ما در جریان است
3242
01:59:35,280 –> 01:59:36,480
پروژه
3243
01:59:36,480 –> 01:59:38,719
چیزی نیست که فقط به طور خاص باشد
3244
01:59:38,719 –> 01:59:40,960
برای یک صفحه زیرا از آنجایی که ما هستیم
3245
01:59:40,960 –> 01:59:44,080
ساخت یک سایت عضویت ویدیویی واقعی
3246
01:59:44,080 –> 01:59:46,560
ما به صفحات html واقعی نیاز داریم تا کاربرانمان
3247
01:59:46,560 –> 01:59:48,960
می تواند در واقع از آن استفاده کند
3248
01:59:48,960 –> 01:59:50,719
بنابراین چند چیز بعدی خواهد بود
3249
01:59:50,719 –> 01:59:52,080
غواصی در کمی بیشتر با
3250
01:59:52,080 –> 01:59:53,520
قالب های jinjin و سپس در واقع
3251
01:59:53,520 –> 01:59:56,560
ساختن یک فرم html تا بتوانیم در واقع
3252
01:59:56,560 –> 02:00:00,480
وارد این پروژه شوید
3253
02:00:00,480 –> 02:00:01,760
بسیاری از ویژگی های مختلف وجود دارد که
3254
02:00:01,760 –> 02:00:03,920
ما می توانیم برای پوشش جنجی وقت بگذاریم
3255
02:00:03,920 –> 02:00:06,000
قالب ها اما من می خواهم یکی از آنها را پوشش دهم
3256
02:00:06,000 –> 02:00:08,400
اساسی تر و آن است
3257
02:00:08,400 –> 02:00:10,320
اطمینان حاصل شود که ما استفاده می کنیم
3258
02:00:10,320 –> 02:00:13,679
html مناسب در تمام صفحات html ما
3259
02:00:13,679 –> 02:00:15,360
با استفاده از چیزی به نام الگو
3260
02:00:15,360 –> 02:00:17,440
وراثت پس چه کار می کنیم
3261
02:00:17,440 –> 02:00:18,480
در اینجا ما قصد داریم به جلو برویم و
3262
02:00:18,480 –> 02:00:20,080
در داخل قالب هایی که من می خواهم یک
3263
02:00:20,080 –> 02:00:22,560
قالبی به نام base.html
3264
02:00:22,560 –> 02:00:23,840
این یکی را در واقع می خواهم به آن پاسخ دهم
3265
02:00:23,840 –> 02:00:26,560
سند html فرمت شده معتبر بنابراین ابتدا
3266
02:00:26,560 –> 02:00:29,520
ما یک نوع سند از html را اعلام می کنیم سپس ما
3267
02:00:29,520 –> 02:00:32,320
اولین تگ html که نامیده می شود را اضافه کنید
3268
02:00:32,320 –> 02:00:35,199
html سپس تگ head را اضافه می کنیم
3269
02:00:35,199 –> 02:00:36,719
سپس ما می رویم و یک را اضافه می کنیم
3270
02:00:36,719 –> 02:00:39,280
برچسب بدن
3271
02:00:39,280 –> 02:00:40,400
باشه
3272
02:00:40,400 –> 02:00:42,480
و البته من می توانم این را کاملاً بهبود بخشم
3273
02:00:42,480 –> 02:00:44,000
کمی اما من ادامه می دهم و فقط می گویم
3274
02:00:44,000 –> 02:00:46,239
در اینجا عنوان کنید و ما به این ویدیو می گوییم
3275
02:00:46,239 –> 02:00:49,119
عضویت خوب است بنابراین برای شروع من فقط هستم
3276
02:00:49,119 –> 02:00:50,880
به جلو بروید و بگویید h1 برابر است با
3277
02:00:50,880 –> 02:00:51,920
سلام
3278
02:00:51,920 –> 02:00:52,880
جهان
3279
02:00:52,880 –> 02:00:55,679
بسیار خوب پس این همان قالبی است که من می خواهم
3280
02:00:55,679 –> 02:00:58,000
برای استفاده از همه آنها به عبارت دیگر i
3281
02:00:58,000 –> 02:00:59,920
می خواهید مطمئن شوید که همه چیز در مورد
3282
02:00:59,920 –> 02:01:02,800
این doctype از html این واقعی معتبر است
3283
02:01:02,800 –> 02:01:05,599
سند html من می خواهم این در همه باشد
3284
02:01:05,599 –> 02:01:07,760
از صفحات html من
3285
02:01:07,760 –> 02:01:10,239
بنابراین در داخل home.html کاری که می توانم انجام دهم این است
3286
02:01:10,239 –> 02:01:12,560
در بالا می توانم از فرفری استفاده کنم
3287
02:01:12,560 –> 02:01:15,639
براکت درصد و گسترش و سپس
3288
02:01:15,639 –> 02:01:17,280
base.html
3289
02:01:17,280 –> 02:01:20,239
بسیار خوب پس based.html راه متداول است
3290
02:01:20,239 –> 02:01:21,119
نام
3291
02:01:21,119 –> 02:01:23,119
چیزی که قرار است از آن به ارث ببرید
3292
02:01:23,119 –> 02:01:25,199
درست است، بنابراین آن یک پایه این است
3293
02:01:25,199 –> 02:01:26,560
والدین
3294
02:01:26,560 –> 02:01:29,360
از اسناد html بنابراین اگر من فقط قرار داده است
3295
02:01:29,360 –> 02:01:31,920
این در اینجا گسترش می یابد و من به عقب می پرم
3296
02:01:31,920 –> 02:01:34,400
در پروژه من می بینم که فقط می گوید
3297
02:01:34,400 –> 02:01:36,480
سلام دنیا و البته اگر من واقعا
3298
02:01:36,480 –> 02:01:38,960
برای مشاهده منبع صفحه بروید
3299
02:01:38,960 –> 02:01:42,159
من می توانم تمام آن html doctype را ببینم
3300
02:01:42,159 –> 02:01:44,880
وجود دارد و به درستی کار می کند
3301
02:01:44,880 –> 02:01:46,400
اما در واقع آن را رندر نمی کند
3302
02:01:46,400 –> 02:01:48,880
محتوایی که من می خواهم این محتوا است
3303
02:01:48,880 –> 02:01:51,119
که من میخواهم این را در واقع رندر کنم
3304
02:01:51,119 –> 02:01:52,960
محتوای بیرون چیزی در داخل وجود دارد
3305
02:01:52,960 –> 02:01:54,639
جنجا که نامیده می شود
3306
02:01:54,639 –> 02:01:55,679
مسدود کردن
3307
02:01:55,679 –> 02:01:58,639
زمینه ما در واقع می توانیم از تگ های بلوک استفاده کنیم
3308
02:01:58,639 –> 02:02:01,840
برای تغییر زمینه در قالب ها
3309
02:02:01,840 –> 02:02:03,199
بنابراین این بدان معنی است که من می توانم کاری شبیه به آن انجام دهم
3310
02:02:03,199 –> 02:02:04,480
این بلوک
3311
02:02:04,480 –> 02:02:06,880
محتوا
3312
02:02:06,880 –> 02:02:08,159
و سپس
3313
02:02:08,159 –> 02:02:10,719
در بلوک
3314
02:02:11,599 –> 02:02:13,599
و من می توانم این را در اطراف سلام جهان بپیچم
3315
02:02:13,599 –> 02:02:14,400
اینجا
3316
02:02:14,400 –> 02:02:16,880
و اگر آن را ذخیره کنم و باز هم آن را تازه کنم
3317
02:02:16,880 –> 02:02:19,920
می گوید سلام دنیا درست است هیچ چیز در واقع
3318
02:02:19,920 –> 02:02:20,960
تغییر کرد
3319
02:02:20,960 –> 02:02:22,719
پس چگونه می توانیم این را به خوبی تغییر دهیم
3320
02:02:22,719 –> 02:02:24,560
می تواند کل این موضوع را کپی کند
3321
02:02:24,560 –> 02:02:26,639
آن را در اینجا به html من بیاورید
3322
02:02:26,639 –> 02:02:28,239
و به جای اینکه بگوید سلام دنیا من
3323
02:02:28,239 –> 02:02:31,599
در واقع می تواند آنچه را که قبلاً گفتم را وارد کند
3324
02:02:31,599 –> 02:02:34,639
در آن راه درست مثل آن، بنابراین من تازه کردن
3325
02:02:34,639 –> 02:02:37,280
و شما خوب بروید پس در واقع همینطور است
3326
02:02:37,280 –> 02:02:39,199
چگونه ما در مورد انجام این کار در حال حاضر محتوا
3327
02:02:39,199 –> 02:02:41,679
خودش متغیری است که من به آن می پردازم
3328
02:02:41,679 –> 02:02:45,119
اما مسئله این است که محتوای بلوک اغلب است
3329
02:02:45,119 –> 02:02:46,800
چیزی که در نهایت خواهید دید
3330
02:02:46,800 –> 02:02:48,400
موارد دیگری که ممکن است در نهایت آنها را ببینید
3331
02:02:48,400 –> 02:02:49,920
مانند چیزی شبیه بلوک است
3332
02:02:49,920 –> 02:02:51,199
پاورقی
3333
02:02:51,199 –> 02:02:53,760
یه چیزی شبیه اون
3334
02:02:53,760 –> 02:02:55,440
شما همچنین ممکن است ببینید
3335
02:02:55,440 –> 02:02:58,560
اینجا مثل عنوان بلوک
3336
02:02:58,560 –> 02:02:59,679
یا مسدود کنید
3337
02:02:59,679 –> 02:03:00,560
سر
3338
02:03:00,560 –> 02:03:02,960
عنوان
3339
02:03:03,920 –> 02:03:07,040
و در بلوک
3340
02:03:07,360 –> 02:03:09,520
درست است، بنابراین شما چیزهایی مانند این را خواهید دید
3341
02:03:09,520 –> 02:03:11,679
در سراسر این الگوها و سپس شما
3342
02:03:11,679 –> 02:03:13,679
می توانید از اینها به میل خود استفاده کنید که همیشه نمی توانید
3343
02:03:13,679 –> 02:03:15,520
باید از آنها استفاده کرد
3344
02:03:15,520 –> 02:03:17,360
اما البته اگر این کار را انجام دهید فقط بیاورید
3345
02:03:17,360 –> 02:03:18,560
آنها را در قالبی که می خواهید استفاده کنید
3346
02:03:18,560 –> 02:03:20,800
آنها را با و می توانیم بگوییم
3347
02:03:20,800 –> 02:03:24,400
سلام و خوش آمدید
3348
02:03:24,400 –> 02:03:26,639
و حالا شما Refresh و سپس آن عنوان
3349
02:03:26,639 –> 02:03:27,679
تغییر می کند
3350
02:03:27,679 –> 02:03:29,760
بنابراین نام واقعی این بلوک ها
3351
02:03:29,760 –> 02:03:31,920
واقعا زیاد مهم نیست
3352
02:03:31,920 –> 02:03:34,000
من پیشنهاد می کنم که آنها را داشته باشید
3353
02:03:34,000 –> 02:03:37,280
تا حد امکان منطقی باشد
3354
02:03:37,280 –> 02:03:38,000
و
3355
02:03:38,000 –> 02:03:40,159
اگر می توانید سعی کنید بهترین شیوه ها را دنبال کنید
3356
02:03:40,159 –> 02:03:41,840
اما حداقل مطمئن شوید که
3357
02:03:41,840 –> 02:03:43,760
آنها مانند محتوای بلوک منطقی هستند
3358
02:03:43,760 –> 02:03:45,119
همه مطالب شما در اینجا وارد می شود
3359
02:03:45,119 –> 02:03:46,719
بلوک سر که بسیار منطقی است
3360
02:03:46,719 –> 02:03:49,840
عنوان سر یا فقط عنوان um
3361
02:03:49,840 –> 02:03:51,119
راه های زیادی وجود دارد که چگونه می توانید
3362
02:03:51,119 –> 02:03:53,040
به انجام این دو کار فکر کن
3363
02:03:53,040 –> 02:03:54,400
می خواهم آن را واقعا ساده و ساده نگه دارم
3364
02:03:54,400 –> 02:03:56,800
اکنون آن را به عنوان محتوای بلوک قبل از آن رها کنید
3365
02:03:56,800 –> 02:03:58,880
ما می رویم اگرچه جنبه دیگری نیز وجود دارد
3366
02:03:58,880 –> 02:04:00,639
این قالب ها که واقعا زیبا هستند
3367
02:04:00,639 –> 02:04:03,360
که به ارث نیز مربوط می شود
3368
02:04:03,360 –> 02:04:05,920
و این در واقع از جمله موارد است
3369
02:04:05,920 –> 02:04:09,119
پیش رو در قطعات این فرود h1 در اینجا
3370
02:04:09,119 –> 02:04:10,960
اجازه دهید در واقع نام این را تغییر دهیم
3371
02:04:10,960 –> 02:04:14,480
و من این را nav.html می نامم
3372
02:04:14,480 –> 02:04:17,199
خوب پس این نوار ناوبری من خواهد بود
3373
02:04:17,199 –> 02:04:19,599
تمام کاری که من در اینجا انجام می دهم این است که بگویم nav و
3374
02:04:19,599 –> 02:04:20,960
یک تقسیم
3375
02:04:20,960 –> 02:04:24,079
و سپس یک href به یک اسلش و ما می رویم
3376
02:04:24,079 –> 02:04:26,239
جلوتر و بگو خانه
3377
02:04:26,239 –> 02:04:28,000
یا اجازه دهید آن را عضویت ویدیویی شما بنامیم
3378
02:04:28,000 –> 02:04:30,560
اسم این همه چیز را بدانید
3379
02:04:30,560 –> 02:04:32,159
بنابراین اکنون آنچه من می خواهم این است که من این را می خواهم
3380
02:04:32,159 –> 02:04:34,880
nav.html در هر صفحه ای باشد که
3381
02:04:34,880 –> 02:04:37,199
به ارث می برد base.html
3382
02:04:37,199 –> 02:04:38,880
بنابراین یکی از راههایی که میتوانیم این کار را انجام دهیم، در واقع است
3383
02:04:38,880 –> 02:04:41,440
آن را در هر صفحه وارد کنید تا بتوانم بگویم
3384
02:04:41,440 –> 02:04:46,159
شامل قطعات اسلش nav dot html
3385
02:04:46,159 –> 02:04:47,520
درست مثل آن
3386
02:04:47,520 –> 02:04:48,960
و آنچه که به من اجازه می دهد انجام دهم این است
3387
02:04:48,960 –> 02:04:51,360
در واقع آن الگو را با
3388
02:04:51,360 –> 02:04:54,079
ارزش هایی که در آن وجود دارد بسیار خوب است
3389
02:04:54,079 –> 02:04:57,159
یا کاری که می توانم انجام دهم این است که آن را به سادگی روشن کنم
3390
02:04:57,159 –> 02:04:59,679
base.html در داخل آن محتوای بلوک
3391
02:04:59,679 –> 02:05:01,840
یا خارج از آن یا هر دو
3392
02:05:01,840 –> 02:05:04,079
واقعاً مهم نیست اما اگر
3393
02:05:04,079 –> 02:05:05,520
شما آن را در همه جا می خواهید پس می روید
3394
02:05:05,520 –> 02:05:08,639
احتمالاً آن را در base.html خود قرار دهید
3395
02:05:08,639 –> 02:05:11,679
این واقعاً نکته کلیدی اینجاست
3396
02:05:11,679 –> 02:05:12,719
سرد
3397
02:05:12,719 –> 02:05:14,400
و شاید هر یک جنبه دیگر وجود دارد
3398
02:05:14,400 –> 02:05:16,079
هر چند وقت یک بار می خواهید چه چیزی را شامل کنید
3399
02:05:16,079 –> 02:05:18,960
در ابتدا در محتوای وبلاگ بود
3400
02:05:18,960 –> 02:05:20,719
مخصوصا برای چیزی شبیه به این عنوان
3401
02:05:20,719 –> 02:05:22,239
در اینجا پس بیایید جلو برویم و انجام دهیم
3402
02:05:22,239 –> 02:05:25,360
دوباره عنوان را مسدود میکنم، آن را برمیگردانم
3403
02:05:25,360 –> 02:05:26,960
و
3404
02:05:26,960 –> 02:05:29,280
و سپس در بلوک
3405
02:05:29,280 –> 02:05:31,440
خوب پس من همیشه می خواهم هر چیزی را که هست نگه دارم
3406
02:05:31,440 –> 02:05:33,599
در اینجا در مورد عناوین من، بنابراین من ادامه می دهم
3407
02:05:33,599 –> 02:05:35,280
و آن را بگیر
3408
02:05:35,280 –> 02:05:37,840
و داخل خانه.html
3409
02:05:37,840 –> 02:05:39,199
البته کاری که می توانم انجام دهم این است که اضافه کنم
3410
02:05:39,199 –> 02:05:41,599
عضویت ویدیویی یا می توانم بگویم
3411
02:05:41,599 –> 02:05:43,040
چیزی مثل
3412
02:05:43,040 –> 02:05:45,760
فرود را می دانی
3413
02:05:45,760 –> 02:05:47,360
یا خوش آمدید بگوییم به چیزی خوش آمدید
3414
02:05:47,360 –> 02:05:48,560
واقع بینانه تر
3415
02:05:48,560 –> 02:05:50,400
باشه پس اگه بگم خوش اومدی اینجا
3416
02:05:50,400 –> 02:05:51,760
البته اتفاقی که می افتد همین است
3417
02:05:51,760 –> 02:05:53,840
کل چیز را جایگزین می کند
3418
02:05:53,840 –> 02:05:55,040
اما البته من می خواهم آن را حفظ کنم
3419
02:05:55,040 –> 02:05:57,199
اورجینال نیز بنابراین من فقط از لوله استفاده خواهم کرد
3420
02:05:57,199 –> 02:05:59,520
اینجا و سپس دو براکت فرفری و
3421
02:05:59,520 –> 02:06:01,280
فقط از سوپر استفاده کنید
3422
02:06:01,280 –> 02:06:04,159
با پرانتز درست مثل آن
3423
02:06:04,159 –> 02:06:06,320
و تازه کردن اینجا در حال حاضر آن را در آن نگه می دارد
3424
02:06:06,320 –> 02:06:08,400
محتوای اصلی تقریباً مهم نیست
3425
02:06:08,400 –> 02:06:10,480
چه مدت است این چه چیزی را به ارمغان می آورد
3426
02:06:10,480 –> 02:06:12,639
از آن به ارث می برد
3427
02:06:12,639 –> 02:06:14,400
این مقدار در اینجا
3428
02:06:14,400 –> 02:06:17,360
همیشه هر بار خیلی باحاله پس فقط یک
3429
02:06:17,360 –> 02:06:20,239
روشی زیبا و ساده برای استفاده از وراثت
3430
02:06:20,239 –> 02:06:22,000
و شامل برچسب ها می شود
3431
02:06:22,000 –> 02:06:23,920
حالا می خواهم این را آزمایش کنید
3432
02:06:23,920 –> 02:06:26,079
تا حد امکان موارد دیگری نیز وجود دارد
3433
02:06:26,079 –> 02:06:28,079
چیزهایی در مورد الگوهای زنجبیل که
3434
02:06:28,079 –> 02:06:30,480
واقعا تا آنجا که رندر کردن خوب است
3435
02:06:30,480 –> 02:06:32,480
برخی از آن چیزهایی را که ما انجام خواهیم داد را محتوا کنیم
3436
02:06:32,480 –> 02:06:34,800
به آینده نگاه کن اما می خواهم بدهم
3437
02:06:34,800 –> 02:06:36,800
این بنیاد به طوری که چند بعدی
3438
02:06:36,800 –> 02:06:39,360
کار کردن قطعات کمی ساده تر است
3439
02:06:39,360 –> 02:06:41,119
با از جمله مانند پیمایش به
3440
02:06:41,119 –> 02:06:44,360
صفحات مختلف
3441
02:06:44,480 –> 02:06:46,159
حالا می خواهیم جینجا را با هم ترکیب کنیم
3442
02:06:46,159 –> 02:06:49,040
قالب هایی با فرم های html با استفاده از
3443
02:06:49,040 –> 02:06:51,040
البته سریع api به طوری که ما می توانیم خود را انجام دهیم
3444
02:06:51,040 –> 02:06:53,679
وارد شوید و ثبت نام کنید که البته همین است
3445
02:06:53,679 –> 02:06:55,679
ما به سمت اولین ساخته شده ایم
3446
02:06:55,679 –> 02:06:57,360
کاری که من می خواهم انجام دهم این است که فقط این را کپی کنم
3447
02:06:57,360 –> 02:06:58,719
صفحه اصلی اینجا
3448
02:06:58,719 –> 02:07:00,960
و من آن را در هنوز با دریافت بچسبانید
3449
02:07:00,960 –> 02:07:02,320
روش این بار البته در حال رفتن به
3450
02:07:02,320 –> 02:07:05,760
این را نمای دریافت ورود می نامیم
3451
02:07:05,760 –> 02:07:08,079
فقط برای اینکه آن را برای ما واقعا ساده کنم
3452
02:07:08,079 –> 02:07:10,079
از شر متن abc i خلاص می شوم
3453
02:07:10,079 –> 02:07:11,520
در واقع به آن نیازی ندارم
3454
02:07:11,520 –> 02:07:14,480
در واقع خود دیکشنری را بیاورید
3455
02:07:14,480 –> 02:07:16,560
پایین به بازگشت
3456
02:07:16,560 –> 02:07:19,199
نظر یا پاسخ پاسخ و البته
3457
02:07:19,199 –> 02:07:21,520
من می خواهم ادامه دهم و از auth slash استفاده کنم
3458
02:07:21,520 –> 02:07:23,280
اینجا وارد شوید تا من ادامه دهم و
3459
02:07:23,280 –> 02:07:26,320
یک پوشه در داخل قالب های من ایجاد کنید
3460
02:07:26,320 –> 02:07:28,400
و ما این را لغو خواهیم کرد
3461
02:07:28,400 –> 02:07:29,599
و به سادگی
3462
02:07:29,599 –> 02:07:32,599
login.html
3463
02:07:33,280 –> 02:07:34,159
باشه
3464
02:07:34,159 –> 02:07:36,159
بنابراین ما می خواهیم در اینجا چه کار کنیم
3465
02:07:36,159 –> 02:07:37,520
اولین چیز این است که ما به جلو برویم
3466
02:07:37,520 –> 02:07:39,639
و گسترش می یابد
3467
02:07:39,639 –> 02:07:41,360
base.html
3468
02:07:41,360 –> 02:07:43,199
خوب و چیز بعدی خواهد بود
3469
02:07:43,199 –> 02:07:44,800
بلوک ما
3470
02:07:44,800 –> 02:07:46,480
محتوا
3471
02:07:46,480 –> 02:07:49,679
و سپس در بلوک
3472
02:07:51,920 –> 02:07:53,679
باشه پس من ادامه میدم و میگم h1
3473
02:07:53,679 –> 02:07:55,520
وارد شدن
3474
02:07:55,520 –> 02:07:57,119
و سپس ما به جلو می رویم و یک فرم اضافه می کنیم
3475
02:07:57,119 –> 02:07:58,320
اینجا
3476
02:07:58,320 –> 02:08:00,159
که دارای یک
3477
02:08:00,159 –> 02:08:02,719
روش ارسال
3478
02:08:02,719 –> 02:08:04,400
و سپس ما به جلو می رویم و برخی را اضافه می کنیم
3479
02:08:04,400 –> 02:08:06,000
از ورودی های ما اولین موردی که قرار می دهیم
3480
02:08:06,000 –> 02:08:07,360
به یک تقسیم
3481
02:08:07,360 –> 02:08:08,800
برچسب
3482
02:08:08,800 –> 02:08:12,480
برای و این ایمیل خواهد بود
3483
02:08:12,480 –> 02:08:14,719
خوب پس این برچسب ورودی است
3484
02:08:14,719 –> 02:08:16,400
البته و بعد بعدی می رود
3485
02:08:16,400 –> 02:08:19,199
نوع ورودی ایمیل ما باشد
3486
02:08:19,199 –> 02:08:22,000
و نام ایمیل
3487
02:08:22,000 –> 02:08:25,040
و ما جلوتر می رویم و می گوییم محل نگهدارنده
3488
02:08:25,040 –> 02:08:26,639
شما خود را می شناسید
3489
02:08:26,639 –> 02:08:29,760
در email.com چیزی شبیه به آن
3490
02:08:29,760 –> 02:08:32,079
باشه پس همین رو کپی کن
3491
02:08:32,079 –> 02:08:33,840
و ما یک را قرار می دهیم
3492
02:08:33,840 –> 02:08:37,520
یکی دیگر برای رمز عبور ما
3493
02:08:37,520 –> 02:08:41,199
و فقط همه این چیزها را جایگزین کنید
3494
02:08:41,199 –> 02:08:43,440
اکنون رمز عبور
3495
02:08:43,440 –> 02:08:45,199
و رمز عبور
3496
02:08:45,199 –> 02:08:46,719
و سپس در نهایت ما به جلو می رویم و انجام می دهیم
3497
02:08:46,719 –> 02:08:47,920
ورودی
3498
02:08:47,920 –> 02:08:52,320
نوع برابر با ارسال و
3499
02:08:52,320 –> 02:08:54,800
به آنجا می رویم یا اجازه دهید یک دکمه دکمه را انجام دهیم
3500
02:08:54,800 –> 02:08:56,639
ارسال را تایپ کنید و ما ادامه می دهیم و می گوییم
3501
02:08:56,639 –> 02:08:58,639
وارد شدن
3502
02:08:58,639 –> 02:09:00,960
در صورتی که بخواهیم بعداً آن را استایل کنیم
3503
02:09:00,960 –> 02:09:04,400
بسیار خوب، بنابراین من login.html و
3504
02:09:04,400 –> 02:09:06,800
ما راهی برای نگاه کردن به آن داریم
3505
02:09:06,800 –> 02:09:08,400
پس بیایید جلوتر برویم و مسیر را تغییر دهیم
3506
02:09:08,400 –> 02:09:10,400
به سادگی
3507
02:09:10,400 –> 02:09:12,880
لوجیت
3508
02:09:13,280 –> 02:09:17,280
اکنون وارد صفحه ورود ما می شوید
3509
02:09:17,440 –> 02:09:18,880
ما میرویم آنجا
3510
02:09:18,880 –> 02:09:20,800
بنابراین ما اکنون راهی برای ورود به سیستم من داریم
3511
02:09:20,800 –> 02:09:22,159
موردی که دارم
3512
02:09:22,159 –> 02:09:24,079
برخی از نام های کاربری و رمز عبور
3513
02:09:24,079 –> 02:09:26,000
ذخیره شد زیرا من
3514
02:09:26,000 –> 02:09:28,480
این صفحه ورود را در بسیاری از موارد تست کنید
3515
02:09:28,480 –> 02:09:30,639
پروژه های مختلف و من در نهایت پس انداز می کنم
3516
02:09:30,639 –> 02:09:33,199
آن نام کاربری و رمز عبور در کروم اما
3517
02:09:33,199 –> 02:09:34,480
البته ممکن است مال شما این را نداشته باشد
3518
02:09:34,480 –> 02:09:36,159
درست است پس کاری که می خواهم اینجا انجام دهم این است که هستم
3519
02:09:36,159 –> 02:09:38,880
در gmail.com abc را انجام دهید
3520
02:09:38,880 –> 02:09:41,280
و شما abc123 را می دانید
3521
02:09:41,280 –> 02:09:43,040
رمز عبور را بزنید و log in را بزنید
3522
02:09:43,040 –> 02:09:44,719
و من این روش دقیق را دریافت نمی کنم
3523
02:09:44,719 –> 02:09:46,480
مجاز است خوب
3524
02:09:46,480 –> 02:09:50,239
بنابراین آنچه در اینجا اتفاق می افتد این است که ما یک
3525
02:09:50,239 –> 02:09:53,199
مسیر رسیدگی به درخواست دریافت دریافت
3526
02:09:53,199 –> 02:09:56,079
درخواست ها زمانی است که کاربر به آنجا می رود
3527
02:09:56,079 –> 02:09:58,560
درست است، بنابراین وقتی واقعاً به آدرس اینترنتی مراجعه می کنید
3528
02:09:58,560 –> 02:10:00,719
این یک درخواست دریافتی است، امیدوارم بدانید
3529
02:10:00,719 –> 02:10:01,840
این
3530
02:10:01,840 –> 02:10:04,159
اما اگر این کار را نکنید همیشه همینطور خواهد بود
3531
02:10:04,159 –> 02:10:07,360
در داخل وب واقعی شما که می دانید
3532
02:10:07,360 –> 02:10:09,280
رابط سروری که در حال اجرای آن است
3533
02:10:09,280 –> 02:10:11,920
اول به شما بگویم چه اتفاقی می افتد
3534
02:10:11,920 –> 02:10:14,480
موضوع دریافت درخواست و سپس درخواست ارسال است
3535
02:10:14,480 –> 02:10:16,159
اتفاقی بود که افتاد
3536
02:10:16,159 –> 02:10:18,159
زمانی که ما واقعاً سعی کردیم آن را ارائه کنیم
3537
02:10:18,159 –> 02:10:19,520
فرم
3538
02:10:19,520 –> 02:10:21,440
ما آن را در واقع به کار گرفته نشده است
3539
02:10:21,440 –> 02:10:23,440
به هیچ وجه به آن درخواست پست رسیدگی نمی کند
3540
02:10:23,440 –> 02:10:25,520
اجازه دهید تغییر دهید که من قصد دارم این را کپی کنم
3541
02:10:25,520 –> 02:10:26,639
وارد شدن
3542
02:10:26,639 –> 02:10:28,400
git view و اکنون ما آن را ما می نامیم
3543
02:10:28,400 –> 02:10:31,199
ورود به سیستم مشاهده پست و آن را به
3544
02:10:31,199 –> 02:10:33,040
در یک درخواست پست
3545
02:10:33,040 –> 02:10:35,040
در این مرحله دقیقاً همین کار را می کند
3546
02:10:35,040 –> 02:10:37,119
درست است که در حال حاضر قادر خواهد بود
3547
02:10:37,119 –> 02:10:39,119
رسیدگی به درخواست پست
3548
02:10:39,119 –> 02:10:40,400
واقعاً مهم نیست که چه چیزی را وارد کنم
3549
02:10:40,400 –> 02:10:42,000
پس بیایید جلو برویم و abc را انجام دهیم
3550
02:10:42,000 –> 02:10:44,960
gmail.com
3551
02:10:44,960 –> 02:10:47,119
و یک دو سه
3552
02:10:47,119 –> 02:10:48,960
خوب پس در واقع این کار را می کند
3553
02:10:48,960 –> 02:10:50,480
چیزی را ارائه می دهیم اما ما در واقع این کار را نمی کنیم
3554
02:10:50,480 –> 02:10:52,800
داده هایی را که در حال ارائه هستند را ببینید
3555
02:10:52,800 –> 02:10:54,400
بنابراین برای گرفتن این داده ها چه چیزی را می خواهیم انجام دهیم
3556
02:10:54,400 –> 02:10:56,719
استفاده یک است
3557
02:10:56,719 –> 02:11:00,000
کلاسی به نام form inside of fast api
3558
02:11:00,000 –> 02:11:01,760
و سپس در ادله ای که هستند
3559
02:11:01,760 –> 02:11:04,079
از طریق ما می خواهیم هر چیز را قرار دهیم
3560
02:11:04,079 –> 02:11:05,840
در اینجا بنابراین ایمیل
3561
02:11:05,840 –> 02:11:07,840
که قرار است یک خیابان باشد و ما می رویم
3562
02:11:07,840 –> 02:11:09,840
جلو و بگویید شکل نقطه نقطه به این معنی
3563
02:11:09,840 –> 02:11:12,159
در اینجا یک مقدار لازم است
3564
02:11:12,159 –> 02:11:13,119
در مرحله بعد ما به جلو برویم و انجام دهیم
3565
02:11:13,119 –> 02:11:15,599
رمز عبور که رشته ای نیز هست
3566
02:11:15,599 –> 02:11:17,119
و این نیز برابر خواهد بود
3567
02:11:17,119 –> 02:11:20,639
شکل و نقطه درست مثل آن
3568
02:11:20,639 –> 02:11:23,679
خوب پس این نام ها از چه می آیند
3569
02:11:23,679 –> 02:11:25,840
خوب این به طور مستقیم از
3570
02:11:25,840 –> 02:11:28,000
نام خود ورودی بنابراین اگر شما
3571
02:11:28,000 –> 02:11:29,920
نام آن ورودی را تغییر دهید
3572
02:11:29,920 –> 02:11:31,520
استدلال ها باید تغییر کنند
3573
02:11:31,520 –> 02:11:33,040
و با آن ما در واقع می توانیم چاپ کنیم
3574
02:11:33,040 –> 02:11:34,960
ایمیل و رمز عبور
3575
02:11:34,960 –> 02:11:37,040
ما آن بیانیه چاپی را در داخل می بینیم
3576
02:11:37,040 –> 02:11:38,400
پروژه ما در اینجا
3577
02:11:38,400 –> 02:11:40,639
اما چیز خوب در واقع api سریع است
3578
02:11:40,639 –> 02:11:42,159
به شما خواهد گفت که نمی توانید این کار را انجام دهید
3579
02:11:42,159 –> 02:11:44,560
مگر اینکه از پایتون چند قسمتی استفاده کنید
3580
02:11:44,560 –> 02:11:47,040
بیایید جلو برویم و آن را نیز نصب کنیم
3581
02:11:47,040 –> 02:11:48,880
بنابراین ما ادامه می دهیم و نصب pip را انجام می دهیم
3582
02:11:48,880 –> 02:11:50,400
پایتون چند قسمتی
3583
02:11:50,400 –> 02:11:51,760
ما همچنین این را به ما اضافه می کنیم
3584
02:11:51,760 –> 02:11:53,679
الزامات. txt
3585
02:11:53,679 –> 02:11:55,920
حالا چند قسمتی پایتون فقط یک قسمت دیگر است
3586
02:11:55,920 –> 02:11:57,599
بسته برای رسیدگی
3587
02:11:57,599 –> 02:12:00,079
داده ها را فرم می دهد و همچنین آپلودها را به عنوان مدیریت می کند
3588
02:12:00,079 –> 02:12:01,199
خوب چیزی که ما نمی خواهیم پوشش دهیم
3589
02:12:01,199 –> 02:12:03,199
هنوز اوه اما به هر حال حالا که داریم
3590
02:12:03,199 –> 02:12:04,320
فهمیدم که بیایید ادامه دهیم و راه اندازی مجدد خود را انجام دهیم
3591
02:12:04,320 –> 02:12:06,400
سرور در حال اجرا به آنجا می رویم
3592
02:12:06,400 –> 02:12:08,159
بنابراین اکنون در حال اجرا است
3593
02:12:08,159 –> 02:12:09,440
و ما می خواهیم به خودمان برگردیم
3594
02:12:09,440 –> 02:12:10,639
از اینجا وارد شوید
3595
02:12:10,639 –> 02:12:11,760
و دوباره
3596
02:12:11,760 –> 02:12:14,679
شما abc gmail.com را می شناسید
3597
02:12:14,679 –> 02:12:17,119
abc123 اینتر را بزنید
3598
02:12:17,119 –> 02:12:18,800
و چیزی که باید بدست بیاورم همین چیزهاست
3599
02:12:18,800 –> 02:12:20,960
چاپ شده باشه عالیه
3600
02:12:20,960 –> 02:12:24,320
به طوری که در حال حاضر توانایی در واقع است
3601
02:12:24,320 –> 02:12:25,280
رسیدگی
3602
02:12:25,280 –> 02:12:27,599
اکنون داده ها را ارسال کنید، این در واقع عالی نیست
3603
02:12:27,599 –> 02:12:29,280
من واقعاً می خواهم این را کاملاً بهبود دهم
3604
02:12:29,280 –> 02:12:31,440
کمی اما قبل از انجام من در واقع هستم
3605
02:12:31,440 –> 02:12:33,599
به پیش بروید و این کل را کپی کنید
3606
02:12:33,599 –> 02:12:34,880
چیز اینجا
3607
02:12:34,880 –> 02:12:36,960
و به جای ورود، آن را sign می نامیم
3608
02:12:36,960 –> 02:12:37,679
بالا
3609
02:12:37,679 –> 02:12:39,199
و به معنای واقعی کلمه یکسان خواهد بود
3610
02:12:39,199 –> 02:12:40,239
چیز
3611
02:12:40,239 –> 02:12:44,000
فقط یک فرم متفاوت
3612
02:12:44,800 –> 02:12:46,000
درست مثل آن
3613
02:12:46,000 –> 02:12:48,480
و سپس رمز عبور خود ما می رویم
3614
02:12:48,480 –> 02:12:50,079
برای رفتن و انجام دادن
3615
02:12:50,079 –> 02:12:51,840
شاید تایید رمز عبور باشد
3616
02:12:51,840 –> 02:12:53,119
کلمه عبور
3617
02:12:53,119 –> 02:12:55,040
تایید کنید
3618
02:12:55,040 –> 02:12:56,000
باشه
3619
02:12:56,000 –> 02:12:57,040
بنابراین
3620
02:12:57,040 –> 02:12:58,239
از نو
3621
02:12:58,239 –> 02:13:00,079
خیلی متفاوت نیست ما فقط اضافه کردیم
3622
02:13:00,079 –> 02:13:01,679
یک رشته جدید
3623
02:13:01,679 –> 02:13:05,480
بنابراین login.html آن را کپی می کنم و انجام می دهم
3624
02:13:05,480 –> 02:13:07,199
signup.html
3625
02:13:07,199 –> 02:13:09,440
و ما آن را در اینجا می چسبانیم
3626
02:13:09,440 –> 02:13:11,760
با این ثبت نام تماس بگیرید
3627
02:13:11,760 –> 02:13:14,480
رمز ایمیل دریافت کردم و
3628
02:13:14,480 –> 02:13:18,079
به آنجا می رویم و سپس رمز عبور را تأیید می کنیم
3629
02:13:18,079 –> 02:13:19,040
هست
3630
02:13:19,040 –> 02:13:21,520
آخری پس تایید کن
3631
02:13:21,520 –> 02:13:24,320
و سپس رمز عبور خود را تایید کنید
3632
02:13:24,320 –> 02:13:26,239
و البته ثبت نام کنید
3633
02:13:26,239 –> 02:13:27,520
باشه عالیه
3634
02:13:27,520 –> 02:13:28,960
بنابراین ما می توانیم آن را بررسی کنیم
3635
02:13:28,960 –> 02:13:32,000
برو در اینجا ثبت نام کن ما می رویم
3636
02:13:32,000 –> 02:13:34,880
بنابراین ما هر کدام سه میدان خود را در اینجا داریم
3637
02:13:34,880 –> 02:13:37,199
یکی از آنها را البته ما می توانیم تست کنیم
3638
02:13:37,199 –> 02:13:39,840
اما من در واقع می خواهم در اینجا توقف کنم
3639
02:13:39,840 –> 02:13:42,159
دلیلی که می خواهم اینجا توقف کنم این است که من
3640
02:13:42,159 –> 02:13:45,280
می خواهم این داده ها را که می خواهم بهتر تأیید کنم
3641
02:13:45,280 –> 02:13:48,800
برای اطمینان از اینکه این داده ها فقط معتبر نیستند
3642
02:13:48,800 –> 02:13:50,719
تا آنجا که به خود نمای
3643
02:13:50,719 –> 02:13:52,960
مانند نمای واقعی می تواند این خام را اداره کند
3644
02:13:52,960 –> 02:13:56,000
داده اما من همچنین می خواهم از pydantic استفاده کنم
3645
02:13:56,000 –> 02:13:58,239
آره اگر به یاد بیاورید از چه زمانی
3646
02:13:58,239 –> 02:14:00,159
ما تنظیمات خود را انجام دادیم من می خواهم از آن استفاده کنم
3647
02:14:00,159 –> 02:14:01,840
برای آنچه در آن خوب است که در واقع است
3648
02:14:01,840 –> 02:14:03,440
اعتبارسنجی داده ها
3649
02:14:03,440 –> 02:14:06,320
در حال حاضر استفاده از pedantic واقعا مفید است
3650
02:14:06,320 –> 02:14:09,280
چیزهایی فراتر از حد شما می دانید
3651
02:14:09,280 –> 02:14:10,800
دریافت درخواست های پست یا الگو
3652
02:14:10,800 –> 02:14:12,560
در واقع می توانید از پاسخ هایی استفاده کنید
3653
02:14:12,560 –> 02:14:14,079
در طول پروژه شما
3654
02:14:14,079 –> 02:14:16,239
کمی هم برای سریال سازی داده ها به عنوان
3655
02:14:16,239 –> 02:14:17,280
خوب
3656
02:14:17,280 –> 02:14:18,719
اما من در واقع می خواهم از آن فقط برای استفاده استفاده کنم
3657
02:14:18,719 –> 02:14:20,560
داده هایی را که از طریق آن ارائه می شود تأیید کنید
3658
02:14:20,560 –> 02:14:23,520
در اینجا به طوری که اگر برای مثال وقتی
3659
02:14:23,520 –> 02:14:25,199
کسی سعی می کند در صورت داشتن یک وارد سیستم شود
3660
02:14:25,199 –> 02:14:27,520
رمز عبور اشتباه است باید به آنها بگویم
3661
02:14:27,520 –> 02:14:29,679
که احراز هویت آنها برای برخی ناموفق بود
3662
02:14:29,679 –> 02:14:32,239
درست همانطور که در حال حاضر ایستاده است من
3663
02:14:32,239 –> 02:14:34,239
واقعا هیچ راهی برای این کار ندارید
3664
02:14:34,239 –> 02:14:35,599
من فقط دارم
3665
02:14:35,599 –> 02:14:38,079
راهی برای پذیرش داده های خام بنابراین من می خواهم
3666
02:14:38,079 –> 02:14:40,000
برای اضافه کردن یک لایه دیگر به واقعی
3667
02:14:40,000 –> 02:14:43,040
قبل از انجام آن داده های خام را تأیید کنید
3668
02:14:43,040 –> 02:14:46,480
هر چیزی مربوط به خود مدل و
3669
02:14:46,480 –> 02:14:48,880
خود پایگاه داده درست است، بنابراین i کمتر است
3670
02:14:48,880 –> 02:14:51,360
در واقع به پایگاه داده ضربه بزنید در حال حاضر بهتر است
3671
02:14:51,360 –> 02:14:53,679
در مورد یک پروژه کوچک اگر شما
3672
02:14:53,679 –> 02:14:55,520
به پایگاه داده بسیار ضربه بزنید زیرا شما هستید
3673
02:14:55,520 –> 02:14:57,920
یاد گرفتن که مشکلی نیست
3674
02:14:57,920 –> 02:14:59,520
این معمولا زمانی است که شما به اندازه بسیار بزرگتر می شوید
3675
02:14:59,520 –> 02:15:02,400
پروژه ها و در واقع مهم است که چگونه
3676
02:15:02,400 –> 02:15:03,920
اغلب شما در حال ضربه زدن به پایگاه داده هستید
3677
02:15:03,920 –> 02:15:05,360
به خاطر زمان
3678
02:15:05,360 –> 02:15:06,800
هزینه و همه اینها
3679
02:15:06,800 –> 02:15:08,639
ما می خواهیم به داشتن عادت کنیم
3680
02:15:08,639 –> 02:15:10,639
در اوایل تمرینات واقعاً خوبی بود، بنابراین ما
3681
02:15:10,639 –> 02:15:15,520
داده ها را زودتر اعتبارسنجی کنید، پس بیایید جلو برویم
3682
02:15:16,079 –> 02:15:16,960
بسیار خوب پس اکنون ما می خواهیم ادامه دهیم
3683
02:15:16,960 –> 02:15:19,119
و برخی از اعتبار سنجی داده های کاربر را با آن انجام دهید
3684
02:15:19,119 –> 02:15:20,400
پیتانت
3685
02:15:20,400 –> 02:15:21,840
اکنون من در واقع خواهم بود
3686
02:15:21,840 –> 02:15:24,159
در حال آزمایش کردن، بنابراین می خواهم از مشتری استفاده کنم
3687
02:15:24,159 –> 02:15:26,400
دفترچه یادداشتی که واقعاً به آنچه هستم توجه کنم
3688
02:15:26,400 –> 02:15:29,280
تلاش برای انجام با pydentic
3689
02:15:29,280 –> 02:15:31,679
و خود این نوت بوک برخی از آنها را کپی کرده است
3690
02:15:31,679 –> 02:15:33,920
چیزهایی از کاربران ما و تجزیه و تحلیل
3691
02:15:33,920 –> 02:15:34,840
امکانات
3692
02:15:34,840 –> 02:15:37,119
نوت بوک که البته به من دسترسی می دهد
3693
02:15:37,119 –> 02:15:39,119
به پایگاه داده و به طور خاص تر
3694
02:15:39,119 –> 02:15:40,560
مدل کاربر
3695
02:15:40,560 –> 02:15:42,800
بنابراین در اینجا برخی از داده ها وجود دارد که می خواهم آنها را پاک کنم
3696
02:15:42,800 –> 02:15:44,800
بالا سمت راست من یک ایمیل اینجا دارم و یک
3697
02:15:44,800 –> 02:15:46,960
رمز عبور خام دو چیز دارد که یک
3698
02:15:46,960 –> 02:15:49,440
ایمیل نامعتبر است و من کاربرانم را نمی خواهم
3699
02:15:49,440 –> 02:15:51,360
تا ببینید چه رمز عبور خامی را وارد کرده اند
3700
02:15:51,360 –> 02:15:53,199
واقعا به همین سادگی است
3701
02:15:53,199 –> 02:15:54,320
پس بیایید جلو برویم و این کار را با
3702
02:15:54,320 –> 02:15:57,280
pedantic بنابراین ما از pidentic انجام خواهیم داد
3703
02:15:57,280 –> 02:15:58,800
ما قصد داریم به جلو برویم و خود را وارد کنیم
3704
02:15:58,800 –> 02:16:00,560
مدل پایه اینجا
3705
02:16:00,560 –> 02:16:02,719
توجه کنید که مدل پایه i نامیده می شود
3706
02:16:02,719 –> 02:16:05,199
نوعی از آرزوها به نام طرحواره پایه است
3707
02:16:05,199 –> 02:16:07,760
که خیلی گیج کننده نبود اما ما خواهیم کرد
3708
02:16:07,760 –> 02:16:09,920
ادامه دهید و آن را به عنوان مدل پایه بگذارید
3709
02:16:09,920 –> 02:16:11,679
ما فقط نام کلاس خود را با
3710
02:16:11,679 –> 02:16:14,400
طرحواره بنابراین من این را ورود کاربر می نامم
3711
02:16:14,400 –> 02:16:15,520
طرحواره
3712
02:16:15,520 –> 02:16:18,480
و ما مدل پایه را اکنون شما به ارث می بریم
3713
02:16:18,480 –> 02:16:20,400
ممکن است تعجب کنید که چرا من دارم
3714
02:16:20,400 –> 02:16:22,800
مشکل با این که واقعا وجود ندارد
3715
02:16:22,800 –> 02:16:25,360
موضوع فقط این واقعیت است که واقعی ماست
3716
02:16:25,360 –> 02:16:28,560
مدل های پایگاه داده اغلب مدل نامیده می شوند
3717
02:16:28,560 –> 02:16:30,639
و مدل های طرحواره ما اغلب نامیده می شوند
3718
02:16:30,639 –> 02:16:32,398
مدل ها هم همینطور پس من فقط تماس میگیرم
3719
02:16:32,398 –> 02:16:34,398
این یک طرح ورود کاربر است که بسیار زیبا است
3720
02:16:34,398 –> 02:16:35,760
بسیار آن
3721
02:16:35,760 –> 02:16:38,959
اما به طور کلی این کلاس واقعی واقعاً است
3722
02:16:38,959 –> 02:16:41,120
فقط انواع داده و
3723
02:16:41,120 –> 02:16:43,280
pedantic آن داده ها را بررسی می کند
3724
02:16:43,280 –> 02:16:45,679
تایپ کنید منظور من از آن خوب چیست اگر i
3725
02:16:45,679 –> 02:16:49,359
وارد اینجا شوید و بگویید ایمیل کولون str
3726
02:16:49,359 –> 02:16:52,000
که به دنبال یک ایمیل با داده است
3727
02:16:52,000 –> 02:16:55,200
نوع str اگر گفتم int خواهد بود
3728
02:16:55,200 –> 02:16:56,959
به دنبال یک نوع داده از int البته
3729
02:16:56,959 –> 02:16:59,519
که به ترتیب رشته و عدد صحیح است
3730
02:16:59,519 –> 02:17:00,959
و سپس البته می توانم رمز عبور را انجام دهم
3731
02:17:00,959 –> 02:17:02,318
همان چیز
3732
02:17:02,318 –> 02:17:04,718
بنابراین اینجا من است
3733
02:17:04,718 –> 02:17:07,599
طرح پایه برای ورود کاربر و من می توانم
3734
02:17:07,599 –> 02:17:09,519
در واقع در آن داده های پست ارسال کنید، پس اجازه دهید
3735
02:17:09,519 –> 02:17:12,959
آن را با دو ستاره باز کنید و داده ارسال کنید
3736
02:17:12,959 –> 02:17:14,000
امیدوارم که بدانی معنی آن چیست اما
3737
02:17:14,000 –> 02:17:15,760
که اساسا فقط می گوید ایمیل برابر است
3738
02:17:15,760 –> 02:17:16,718
به
3739
02:17:16,718 –> 02:17:19,760
این مقدار در اینجا آن را به عنوان منتقل می کند
3740
02:17:19,760 –> 02:17:21,439
آرگومان های کلمه کلیدی
3741
02:17:21,439 –> 02:17:23,840
و سپس کاما رمز عبور را انجام می دهد
3742
02:17:23,840 –> 02:17:25,040
مساوی با
3743
02:17:25,040 –> 02:17:28,799
abc123 خیلی خوب است، بنابراین من این را اجرا کردم و
3744
02:17:28,799 –> 02:17:31,040
من دو خطای اعتبار سنجی دریافت می کنم ایمیل نیست
3745
02:17:31,040 –> 02:17:33,359
رمز عبور عدد صحیح معتبر معتبر نیست
3746
02:17:33,359 –> 02:17:35,519
عدد صحیح البته این نیست که نیست
3747
02:17:35,519 –> 02:17:37,840
در واقع آنچه من می خواهم برای بررسی بنابراین اگر
3748
02:17:37,840 –> 02:17:39,840
من به اینجا می آیم و خیابان را انجام می دهم
3749
02:17:39,840 –> 02:17:41,920
آنها اکنون معتبر هستند اما نیستند
3750
02:17:41,920 –> 02:17:43,599
معتبر است که در واقع آن چیزی نیست که من می خواهم
3751
02:17:43,599 –> 02:17:45,679
این نوع داده ای نیست که من می خواهم
3752
02:17:45,679 –> 02:17:47,200
به جای کاری که می خواهم انجام دهم استفاده از آن است
3753
02:17:47,200 –> 02:17:49,040
نوع داده ای که در pi dante تعبیه شده است
3754
02:17:49,040 –> 02:17:52,240
به نام ایمیل scr این کلاس واقعی
3755
02:17:52,240 –> 02:17:55,200
برخی از اعتبار سنجی ایمیل را برای من انجام خواهد داد
3756
02:17:55,200 –> 02:17:57,200
اعتبار سنجی ایمیل جزئی اجازه دهید
3757
02:17:57,200 –> 02:17:58,558
مطمئن باشید که ما آن را وارد می کنیم
3758
02:17:58,558 –> 02:18:00,638
و ما آن را اجرا می کنیم و اکنون یکی را دریافت می کنم
3759
02:18:00,638 –> 02:18:02,000
خطای اعتبارسنجی و این برای
3760
02:18:02,000 –> 02:18:03,040
پست الکترونیک
3761
02:18:03,040 –> 02:18:04,398
به اندازه کافی ساده
3762
02:18:04,398 –> 02:18:06,558
کاری که می توانم انجام دهم این است که می توانم آن را پنهان کنم
3763
02:18:06,558 –> 02:18:08,879
رمز عبور کمی با رفتن به جلو و
3764
02:18:08,879 –> 02:18:11,599
راز خواندن آن
3765
02:18:11,599 –> 02:18:13,359
خ
3766
02:18:13,359 –> 02:18:14,318
باشه
3767
02:18:14,318 –> 02:18:16,080
رشته مخفی
3768
02:18:16,080 –> 02:18:17,200
تو چی میدونی
3769
02:18:17,200 –> 02:18:20,240
اسمش را بگذارید و بیایید جلو برویم و بسازیم
3770
02:18:20,240 –> 02:18:22,080
مطمئن باشید دوباره وارد شده است
3771
02:18:22,080 –> 02:18:23,519
و به آنجا می رویم
3772
02:18:23,519 –> 02:18:25,200
بنابراین هنوز یک ایمیل معتبر نیست، پس بیایید برویم
3773
02:18:25,200 –> 02:18:27,200
جلو و در واقع در حداقل یک
3774
02:18:27,200 –> 02:18:29,920
فرمت معتبر برای یک ایمیل و ما وجود دارد
3775
02:18:29,920 –> 02:18:31,040
برو
3776
02:18:31,040 –> 02:18:33,760
توجه داشته باشید که رمز عبور دیگر وجود ندارد
3777
02:18:33,760 –> 02:18:35,120
نشان دادن
3778
02:18:35,120 –> 02:18:37,599
این دقیقا همان چیزی است که ما درست می خواهیم
3779
02:18:37,599 –> 02:18:40,000
چه از طریق یک فرم html مانند
3780
02:18:40,000 –> 02:18:42,478
چیزی که ما برای آن کار می کنیم یا از طریق یک
3781
02:18:42,478 –> 02:18:44,799
rest api call که هم چیزی است
3782
02:18:44,799 –> 02:18:46,638
چیز دیگری که اگر به یاد داشته باشید ممکن است بخواهید
3783
02:18:46,638 –> 02:18:48,240
زمانی که ما کاربران را پیاده سازی کردیم
3784
02:18:48,240 –> 02:18:50,558
در واقع این رمزهای عبور خام را داشت
3785
02:18:50,558 –> 02:18:52,718
نکته جالب در مورد pydentic این است که شما می توانید
3786
02:18:52,718 –> 02:18:53,679
در حقیقت
3787
02:18:53,679 –> 02:18:56,398
می توانید از آن برای سریال سازی داده های خود استفاده کنید
3788
02:18:56,398 –> 02:18:59,280
از این مدل های طرحواره ای از مدل های پدانتیک استفاده کنید
3789
02:18:59,280 –> 02:19:01,359
برای اینکه در واقع چیزی را که در حال آمدن است سریال کنید
3790
02:19:01,359 –> 02:19:03,920
در اینجا که می تواند به این معنی باشد که این رمز عبور
3791
02:19:03,920 –> 02:19:06,318
همچنین می تواند پنهان شود و همچنین این یکی
3792
02:19:06,318 –> 02:19:08,318
بنابراین اگر شما هر دوی آنها را پنهان کنید
3793
02:19:08,318 –> 02:19:10,879
مرتکب اشتباه شدید تصادفی
3794
02:19:10,879 –> 02:19:13,200
با استفاده از رمزهای عبور رشته خام که از
3795
02:19:13,200 –> 02:19:14,959
البته شما این کار را نمی کنید زیرا می دانید
3796
02:19:14,959 –> 02:19:16,160
در مورد آن در حال حاضر
3797
02:19:16,160 –> 02:19:17,679
اما ایده کلی این است که ما اکنون یک
3798
02:19:17,679 –> 02:19:19,760
راهی برای تایید این موضوع اما اینطور است
3799
02:19:19,760 –> 02:19:21,359
هنوز به درستی انجام نشده است، ما در واقع می توانیم
3800
02:19:21,359 –> 02:19:23,200
کمی فراتر از این برو و
3801
02:19:23,200 –> 02:19:24,318
ما قصد داریم این را بیشتر بسازیم
3802
02:19:24,318 –> 02:19:26,318
مورد بعدی زمانی که ما واقعا اجرا می کنیم
3803
02:19:26,318 –> 02:19:27,040
آی تی
3804
02:19:27,040 –> 02:19:28,160
اما در حال حاضر من می خواهم به جلو و
3805
02:19:28,160 –> 02:19:31,359
واردات دیگری به نام اعتباردهنده را اضافه کنید
3806
02:19:31,359 –> 02:19:32,718
این یکی من می خواهم به جلو و
3807
02:19:32,718 –> 02:19:33,599
ایجاد کردن
3808
02:19:33,599 –> 02:19:35,120
یک اعتبار سنجی دیگر و خواهد شد
3809
02:19:35,120 –> 02:19:36,638
کاربر ما
3810
02:19:36,638 –> 02:19:39,120
طرحواره را ثبت نام کنید و من فقط ادامه خواهم داد
3811
02:19:39,120 –> 02:19:41,359
و دوباره آن رمز عبور را بگیرید
3812
02:19:41,359 –> 02:19:44,959
و فقط با این رمز عبور تماس بگیرید و تایید کنید
3813
02:19:44,959 –> 02:19:45,760
باشه
3814
02:19:45,760 –> 02:19:47,120
بنابراین کاری که می خواهم انجام دهم این است که می خواهم
3815
02:19:47,120 –> 02:19:49,600
تایید کنید که رمز یک و دو هستند
3816
02:19:49,600 –> 02:19:50,720
همان
3817
02:19:50,720 –> 02:19:52,560
پس بیایید جلو برویم و این کار را با at انجام دهیم
3818
02:19:52,560 –> 02:19:54,080
تایید کننده
3819
02:19:54,080 –> 02:19:56,800
بنابراین با استفاده از این اعتباردهنده در اینجا مطمئن شوید
3820
02:19:56,800 –> 02:19:58,160
ما آن را وارد می کنیم
3821
02:19:58,160 –> 02:19:59,920
ما می خواهیم آن دکوراتور را بپیچیم
3822
02:19:59,920 –> 02:20:01,840
در اطراف هر تابعی که می خواهیم فراخوانی کنیم
3823
02:20:01,840 –> 02:20:04,240
می توانم آن را تطبیق رمزهای عبور بنامم
3824
02:20:04,240 –> 02:20:05,600
که در واقع مهم نیست که شما چه هستید
3825
02:20:05,600 –> 02:20:08,479
با آن تماس بگیرید و سپس من می توانم cls را به عنوان انجام دهم
3826
02:20:08,479 –> 02:20:12,319
در کلاس v به عنوان ارزش این است
3827
02:20:12,319 –> 02:20:14,399
رمز عبور به پایان می رسد
3828
02:20:14,399 –> 02:20:16,399
ارزش ها همه ارزش های دیگر هستند
3829
02:20:16,399 –> 02:20:18,720
که در دسترس شما هستند و سپس هر کدام
3830
02:20:18,720 –> 02:20:20,880
دیگر کلمه کلیدی args در اینجا
3831
02:20:20,880 –> 02:20:23,040
بنابراین آنچه ما در اینجا می خواهیم این است که ما یک
3832
02:20:23,040 –> 02:20:25,359
مقدار رمز عبور یکی پس اگر انجام دهم
3833
02:20:25,359 –> 02:20:27,200
رمز عبور این برابر است
3834
02:20:27,200 –> 02:20:28,840
values.get
3835
02:20:28,840 –> 02:20:31,359
رمز عبور این البته خواهد بود
3836
02:20:31,359 –> 02:20:33,600
مربوط به این رشته
3837
02:20:33,600 –> 02:20:34,960
مورد بعدی رمز عبور خواهد بود
3838
02:20:34,960 –> 02:20:36,000
تایید
3839
02:20:36,000 –> 02:20:37,840
اکنون به منظور تایید رمز عبور
3840
02:20:37,840 –> 02:20:39,200
ما در واقع می توانیم این را به ما منتقل کنیم
3841
02:20:39,200 –> 02:20:40,720
خود اعتبار دهنده
3842
02:20:40,720 –> 02:20:43,120
درست است پس تمام کاری که من اینجا انجام می دهم این است که اعلام کنم
3843
02:20:43,120 –> 02:20:46,240
این متد را روی کدام فیلد اجرا کنیم اما i
3844
02:20:46,240 –> 02:20:48,399
هنوز هم می تواند تمام مقادیر دیگر را بگیرد
3845
02:20:48,399 –> 02:20:50,240
داخل این روش نیز
3846
02:20:50,240 –> 02:20:52,720
و پس از آن نیز v خواهد بود آنچه که
3847
02:20:52,720 –> 02:20:55,600
تایید رمز عبور دقیقاً همینطور است
3848
02:20:55,600 –> 02:20:56,479
باشه
3849
02:20:56,479 –> 02:20:57,760
بنابراین اگر اصلاً گیج کننده است به من اجازه دهید
3850
02:20:57,760 –> 02:20:58,479
دانستن
3851
02:20:58,479 –> 02:21:00,880
اما به این صورت رمز عبور خود را دریافت می کنیم
3852
02:21:00,880 –> 02:21:02,479
و واقعاً کاری که می خواهیم انجام دهیم این است که بررسی کنیم
3853
02:21:02,479 –> 02:21:04,560
اگر رمز عبور است
3854
02:21:04,560 –> 02:21:06,160
برابر نیست
3855
02:21:06,160 –> 02:21:07,280
کلمه عبور
3856
02:21:07,280 –> 02:21:08,399
تایید
3857
02:21:08,399 –> 02:21:10,319
و سپس ما فقط می خواهیم یک ارزش را افزایش دهیم
3858
02:21:10,319 –> 02:21:11,200
خطا
3859
02:21:11,200 –> 02:21:13,680
گفتن رمزهای عبور
3860
02:21:13,680 –> 02:21:16,319
با هم مطابقت ندارند
3861
02:21:16,319 –> 02:21:18,479
در غیر این صورت ما پیش می رویم و آن را برمی گردانیم
3862
02:21:18,479 –> 02:21:20,720
مقدار اصلی رمز عبور
3863
02:21:20,720 –> 02:21:21,600
باشه
3864
02:21:21,600 –> 02:21:23,439
پس بیایید جلو برویم و این یکی را امتحان کنیم
3865
02:21:23,439 –> 02:21:24,880
این بار من می روم جلو و
3866
02:21:24,880 –> 02:21:28,960
همه آن را در ایمیل abc gmail.com بنویسید
3867
02:21:28,960 –> 02:21:30,960
و سپس ما به جلو می رویم و رمز عبور را انجام می دهیم
3868
02:21:30,960 –> 02:21:33,040
برابر با abc123 است
3869
02:21:33,040 –> 02:21:35,040
و سپس رمز عبور
3870
02:21:35,040 –> 02:21:39,520
و تایید برابر با abc1234 است
3871
02:21:39,520 –> 02:21:41,120
این را اجرا کنید و یک خطای اعتبار سنجی دریافت می کنیم
3872
02:21:41,120 –> 02:21:43,439
گذرواژه ها مطابقت ندارند، پس بیایید برویم
3873
02:21:43,439 –> 02:21:44,960
جلو و آن را با صحیح قرار دهید
3874
02:21:44,960 –> 02:21:47,280
پسوردهای رمز عبور اکنون با آن مطابقت دارند
3875
02:21:47,280 –> 02:21:48,880
این رشته ها اینجا
3876
02:21:48,880 –> 02:21:51,200
اما آیا ارزش واقعی آن است
3877
02:21:51,200 –> 02:21:53,120
مقدار صحیح درست است، پس اگر انجام دهم چه می شود
3878
02:21:53,120 –> 02:21:54,479
abc123
3879
02:21:54,479 –> 02:21:57,120
به جای آن ما abc و abc را انجام دادیم
3880
02:21:57,120 –> 02:21:58,960
هی آنها هنوز مطابقت ندارند
3881
02:21:58,960 –> 02:22:00,479
اما اگر اینها را چاپ کنم چه می شود
3882
02:22:00,479 –> 02:22:03,600
پسورد و رمز عبور را چاپ کنید
3883
02:22:03,600 –> 02:22:05,040
تایید
3884
02:22:05,040 –> 02:22:06,880
من آنها را چاپ می کنم که در واقع نمی بینم
3885
02:22:06,880 –> 02:22:09,280
رمز عبور چگونه می توانم آن را واقعا ببینم
3886
02:22:09,280 –> 02:22:10,160
داده ها
3887
02:22:10,160 –> 02:22:11,520
زیرا من به آن رشته خام نیاز خواهم داشت
3888
02:22:11,520 –> 02:22:13,200
جایی پس بیایید جلو برویم و آن را بدهیم
3889
02:22:13,200 –> 02:22:15,280
داده های معتبر در اینجا
3890
02:22:15,280 –> 02:22:16,560
در آنجا این مقادیر را چاپ می کند
3891
02:22:16,560 –> 02:22:17,920
از نو
3892
02:22:17,920 –> 02:22:20,880
بسیار خوب، پس اگر من data.dict این کار را انجام دهم
3893
02:22:20,880 –> 02:22:22,399
در واقع پیتون را برگرداند
3894
02:22:22,399 –> 02:22:25,120
دیکشنری در اینجا ما همچنین می توانیم json را ببینیم
3895
02:22:25,120 –> 02:22:27,920
رشته به عنوان python.json قطعا این است
3896
02:22:27,920 –> 02:22:29,600
یک رشته json بنابراین باید از آن استفاده کنید
3897
02:22:29,600 –> 02:22:32,000
json را باز کنید
3898
02:22:32,000 –> 02:22:34,160
اما اگر اینجا دیکته کنم
3899
02:22:34,160 –> 02:22:36,560
دوباره رمز عبور در حال حاضر پنهان است
3900
02:22:36,560 –> 02:22:38,960
اگر من جلو بروم و راز هر یک را درک کنم
3901
02:22:38,960 –> 02:22:40,720
فیلدهای مخفی اینجا یا آن راز
3902
02:22:40,720 –> 02:22:41,920
نوع داده
3903
02:22:41,920 –> 02:22:43,680
ما می توانیم آن را بگیریم و هنوز هم هستیم
3904
02:22:43,680 –> 02:22:45,920
این را دریافت کنم، بنابراین تمام کاری که باید انجام دهم این است که انجام دهم
3905
02:22:45,920 –> 02:22:48,080
git Secret
3906
02:22:48,080 –> 02:22:49,120
ارزش
3907
02:22:49,120 –> 02:22:50,960
و در واقع آن خام را به من می دهد
3908
02:22:50,960 –> 02:22:53,200
ارزش خوب است و البته این همان چیزی است
3909
02:22:53,200 –> 02:22:55,120
زمانی که این را ذخیره می کنیم از آن استفاده خواهیم کرد
3910
02:22:55,120 –> 02:22:57,520
داده های نوعی خوب است
3911
02:22:57,520 –> 02:22:59,840
بنابراین ممکن است تعجب کنید که چرا من؟
3912
02:22:59,840 –> 02:23:01,840
مدل کاربر را در اینجا داشته باشید
3913
02:23:01,840 –> 02:23:03,120
خوب البته این به علامت مربوط می شود
3914
02:23:03,120 –> 02:23:05,760
بالا و همچنین به
3915
02:23:05,760 –> 02:23:06,960
تصدیق
3916
02:23:06,960 –> 02:23:08,880
بیایید بگوییم ایمیل
3917
02:23:08,880 –> 02:23:10,960
درست است ما همچنین می خواهیم اعتبار سنجی کنیم اگر
3918
02:23:10,960 –> 02:23:12,399
ایمیل است
3919
02:23:12,399 –> 02:23:14,880
در دسترس
3920
02:23:15,920 –> 02:23:17,520
باشه پس این میشه
3921
02:23:17,520 –> 02:23:18,720
v
3922
02:23:18,720 –> 02:23:20,560
ارزش ها و
3923
02:23:20,560 –> 02:23:22,399
کلمه کلیدی rs
3924
02:23:22,399 –> 02:23:24,080
اکنون می خواهم فقط بررسی کنم که آیا پرس و جو وجود دارد یا خیر
3925
02:23:24,080 –> 02:23:25,600
مجموعه در دسترس است، بنابراین ما انجام می دهیم
3926
02:23:25,600 –> 02:23:28,160
user.objects.filter
3927
02:23:28,160 –> 02:23:31,200
ایمیل برابر است با v
3928
02:23:31,200 –> 02:23:33,920
و ما ادامه می دهیم و می گوییم اگر q.count
3929
02:23:33,920 –> 02:23:35,920
برابر با صفر نیست
3930
02:23:35,920 –> 02:23:38,640
سپس ما ادامه می دهیم و می گوییم ارزش را افزایش دهید
3931
02:23:38,640 –> 02:23:39,920
خطا
3932
02:23:39,920 –> 02:23:43,920
و ما می گوییم ایمیل در دسترس نیست
3933
02:23:43,920 –> 02:23:45,680
و ما جلوتر می رویم و می گوییم بازگشت v
3934
02:23:45,680 –> 02:23:47,200
توجه کنید که گفتم ایمیل نیست
3935
02:23:47,200 –> 02:23:50,399
موجود به جای ایمیل در حال حاضر موجود است
3936
02:23:50,399 –> 02:23:51,439
استفاده کنید
3937
02:23:51,439 –> 02:23:53,280
این در واقع من فکر می کنم ترجیح داده شده است
3938
02:23:53,280 –> 02:23:55,280
روشی برای امنیت که نمی خواهید
3939
02:23:55,280 –> 02:23:57,359
به آنها بگویید که این ایمیل از قبل وارد شده است
3940
02:23:57,359 –> 02:23:58,640
استفاده کنید فقط می توانید بگویید که اینطور نیست
3941
02:23:58,640 –> 02:24:00,640
موجود است که برای a نیز صادق است
3942
02:24:00,640 –> 02:24:02,800
نام کاربری دوست دارم بگویم ایمیل نیست
3943
02:24:02,800 –> 02:24:04,720
در دسترس است، پس بیایید جلو برویم و اجرا کنیم
3944
02:24:04,720 –> 02:24:06,720
این دوباره
3945
02:24:06,720 –> 02:24:10,000
و در اینجا یک خطا دریافت می کنیم
3946
02:24:10,000 –> 02:24:15,640
به نظر می رسد من در اینجا برخی از مسائل ارزشی دارم
3947
02:24:16,000 –> 02:24:17,840
ما میرویم آنجا
3948
02:24:17,840 –> 02:24:19,120
و غیره
3949
02:24:19,120 –> 02:24:21,200
ما باید از کلمه کلیدی rs استفاده کنیم
3950
02:24:21,200 –> 02:24:22,240
بود
3951
02:24:22,240 –> 02:24:24,800
و بنابراین اکنون ما این را داریم
3952
02:24:24,800 –> 02:24:27,040
و در این مورد ایمیل کار می کند
3953
02:24:27,040 –> 02:24:29,920
اما اگر abc را در teamcfe انجام دهم
3954
02:24:29,920 –> 02:24:31,920
در حال حاضر من یک ایمیل خطای مقدار دریافت نمی کنم
3955
02:24:31,920 –> 02:24:34,240
در حال حاضر در دسترس است، دلیل اینکه می دانم abc است
3956
02:24:34,240 –> 02:24:36,560
در teamcfv به لیست من مربوط می شود
3957
02:24:36,560 –> 02:24:38,160
کاربرانی که قبلاً در اینجا هستند
3958
02:24:38,160 –> 02:24:40,800
پایگاه داده که این همان چیزی است که در حال بررسی است
3959
02:24:40,800 –> 02:24:42,399
خلاف همه حق
3960
02:24:42,399 –> 02:24:44,000
بنابراین ما قصد داریم در بالای این بسازیم
3961
02:24:44,000 –> 02:24:46,319
برای طرح ورود ما نیز به دلیل
3962
02:24:46,319 –> 02:24:48,800
که در حال حاضر بسیار ساده است
3963
02:24:48,800 –> 02:24:50,319
اما در واقع این روشی است که ما می خواهیم انجام دهیم
3964
02:24:50,319 –> 02:24:53,280
از طریق اعتبارسنجی بسیاری از داده های ما بگذریم
3965
02:24:53,280 –> 02:24:55,040
نه فقط با کاربران ما بلکه شاید با
3966
02:24:55,040 –> 02:24:57,840
داده های دیگر نیز و سپس ما اصلاح می کنیم
3967
02:24:57,840 –> 02:25:00,399
پاسخ هایی که برمی گردند
3968
02:25:00,399 –> 02:25:01,760
البته چیز خوب دیگر در مورد
3969
02:25:01,760 –> 02:25:04,560
شما می دانید که این طرحواره های pygantic است
3970
02:25:04,560 –> 02:25:06,160
ما در واقع می توانیم از آن در نمای های لیست و
3971
02:25:06,160 –> 02:25:08,000
چنین چیزهایی نیز همینطور است
3972
02:25:08,000 –> 02:25:09,760
قطعا با ارزش تر از چیزی است
3973
02:25:09,760 –> 02:25:11,359
ما به اینجا رسیدیم
3974
02:25:11,359 –> 02:25:13,040
اما این راهی برای نوعی بازی است
3975
02:25:13,040 –> 02:25:14,720
در اطراف با آن و آن را نیز خوب است که
3976
02:25:14,720 –> 02:25:17,200
رمزهای عبور را می توان پنهان کرد و درست زمانی که ما
3977
02:25:17,200 –> 02:25:18,880
باید مقدار آن رمز عبور را بدست آورید
3978
02:25:18,880 –> 02:25:20,720
ما ارزش مخفی را دریافت می کنیم
3979
02:25:20,720 –> 02:25:22,240
این البته قبل از استفاده واقعی است
3980
02:25:22,240 –> 02:25:24,000
داده های json یا هر چیزی شبیه آن ما
3981
02:25:24,000 –> 02:25:25,760
در واقع باید فرهنگ لغت را دریافت کنید
3982
02:25:25,760 –> 02:25:26,800
خود
3983
02:25:26,800 –> 02:25:28,240
و البته اگر شک دارید
3984
02:25:28,240 –> 02:25:30,319
مثل اوه من فراموش کردم چگونه این مقدار را بدست بیاورم
3985
02:25:30,319 –> 02:25:31,920
در اینجا شما همیشه می توانید به دنبال
3986
02:25:31,920 –> 02:25:33,280
مستندات
3987
02:25:33,280 –> 02:25:36,479
اما شما همچنین می توانید dir که می دانید را انجام دهید
3988
02:25:36,479 –> 02:25:38,800
هر مورد در اینجا بنابراین
3989
02:25:38,800 –> 02:25:41,359
در مورد رمز عبور در اینجا شما
3990
02:25:41,359 –> 02:25:43,760
می تواند آن dir از آن رمز عبور و
3991
02:25:43,760 –> 02:25:45,520
سپس شما در واقع می توانید پایین بروید شما می توانید
3992
02:25:45,520 –> 02:25:46,240
دیدن
3993
02:25:46,240 –> 02:25:47,760
همه چیزهای مختلف در اینجا که
3994
02:25:47,760 –> 02:25:50,000
درست به آن مربوط هستند
3995
02:25:50,000 –> 02:25:52,800
که کار بسیار مفیدی است
3996
02:25:52,800 –> 02:25:54,560
مخصوصا وقتی فراموش می کنی
3997
02:25:54,560 –> 02:25:56,479
روش های کوچک ساده مانند آن
3998
02:25:56,479 –> 02:25:58,479
ممکن است مفاهیم زیادی داشته باشد
3999
02:25:58,479 –> 02:26:00,560
از برخی مشکلاتی که بعداً دارند
4000
02:26:00,560 –> 02:26:02,240
به هر حال این در واقع است
4001
02:26:02,240 –> 02:26:03,680
بازی کردن با برخی از کاربران
4002
02:26:03,680 –> 02:26:06,080
اعتبار داده ها در حال حاضر ما می خواهیم در واقع
4003
02:26:06,080 –> 02:26:07,920
این اعتبار سنجی را در ما پیاده سازی کنید
4004
02:26:07,920 –> 02:26:10,240
پروژه
4005
02:26:10,399 –> 02:26:11,200
در حال حاضر ما می رویم به جلو و
4006
02:26:11,200 –> 02:26:13,680
طرحواره های پدانتیکی را که ما انجام می دهیم
4007
02:26:13,680 –> 02:26:15,520
به تازگی ایجاد شده است، بنابراین من می خواهم ادامه دهم
4008
02:26:15,520 –> 02:26:16,880
و آنها را کپی کنید
4009
02:26:16,880 –> 02:26:19,760
از jupyter به کاربران ما در اینجا و
4010
02:26:19,760 –> 02:26:21,319
یک فایل جدید به نام ایجاد کنید
4011
02:26:21,319 –> 02:26:23,120
schemas.pi
4012
02:26:23,120 –> 02:26:25,120
ابتدا واردات را انجام دهید
4013
02:26:25,120 –> 02:26:27,920
و همچنین طرح ثبت نام کاربر را انجام خواهم داد
4014
02:26:27,920 –> 02:26:29,359
اول هم همینطور
4015
02:26:29,359 –> 02:26:31,439
در داخل آن کاربر باید آن را بگیریم
4016
02:26:31,439 –> 02:26:34,319
مدل کاربر و همچنین from.models import
4017
02:26:34,319 –> 02:26:36,960
کاربر مخصوص آن ایمیل
4018
02:26:36,960 –> 02:26:39,200
در دسترس است بسیار خوب پس اکنون که ما داریم
4019
02:26:39,200 –> 02:26:41,840
بیایید جلو برویم و این را وارد کنیم
4020
02:26:41,840 –> 02:26:44,080
دیدگاه های ما بنابراین در داخل دیدگاه های ما خواهیم بود
4021
02:26:44,080 –> 02:26:45,760
ادامه بده و این را با خود بیاور
4022
02:26:45,760 –> 02:26:47,439
واردات از
4023
02:26:47,439 –> 02:26:49,760
users.schemas
4024
02:26:49,760 –> 02:26:52,960
طرح ثبت نام کاربر ما را وارد کنید
4025
02:26:52,960 –> 02:26:55,359
در حال حاضر به طور سنتی صحبت می کنند زمانی که آن را می آید
4026
02:26:55,359 –> 02:26:58,000
برای سریع api زمانی که از a استفاده نمی کنید
4027
02:26:58,000 –> 02:27:00,800
شما در واقع می توانید از این طرح استفاده کنید
4028
02:27:00,800 –> 02:27:03,359
به عنوان استدلالی که از اینجا می آید
4029
02:27:03,359 –> 02:27:06,080
اکنون ما از پاسخ های قالب استفاده می کنیم
4030
02:27:06,080 –> 02:27:07,840
ما اینطوری انجامش نمیدیم
4031
02:27:07,840 –> 02:27:09,439
در عوض آنچه ما می خواهیم انجام دهیم این است که بگوییم
4032
02:27:09,439 –> 02:27:10,960
مثل تمیز کردن
4033
02:27:10,960 –> 02:27:12,560
داده ها
4034
02:27:12,560 –> 02:27:15,200
مبتنی بر این طرح است
4035
02:27:15,200 –> 02:27:17,359
با تمام این مقادیر، پس به من ایمیل بزنید
4036
02:27:17,359 –> 02:27:18,319
پست الکترونیک
4037
02:27:18,319 –> 02:27:20,240
رمز عبور رمز عبور
4038
02:27:20,240 –> 02:27:21,920
و رمز عبور
4039
02:27:21,920 –> 02:27:24,240
رمز عبور را تایید کنید
4040
02:27:24,240 –> 02:27:25,840
تایید
4041
02:27:25,840 –> 02:27:27,040
دوباره می خواهیم مطمئن شویم که اینها
4042
02:27:27,040 –> 02:27:28,960
نام فیلدها درست است که من معتقدم
4043
02:27:28,960 –> 02:27:31,600
که آنها باحال هستند، بنابراین اکنون که ما داریم
4044
02:27:31,600 –> 02:27:34,160
این را در واقع می توانیم چاپ کنیم
4045
02:27:34,160 –> 02:27:36,319
آن داده های پاک چیست و ما انجام خواهیم داد
4046
02:27:36,319 –> 02:27:38,160
داده های پاک.دیکت
4047
02:27:38,160 –> 02:27:40,399
معامله بزرگی نیست، پس بیایید ادامه دهیم
4048
02:27:40,399 –> 02:27:42,960
و من فرض می کنم که پروژه من است
4049
02:27:42,960 –> 02:27:45,040
هنوز در حال اجرا
4050
02:27:45,040 –> 02:27:46,720
به نظر می رسد من دارم
4051
02:27:46,720 –> 02:27:49,680
یک خطای واردات
4052
02:27:49,680 –> 02:27:51,520
ما به آنجا برویم، بنابراین پروژه من همچنان باقی است
4053
02:27:51,520 –> 02:27:54,240
در حال اجرا من وارد ثبت نام خود در اینجا می شوم و
4054
02:27:54,240 –> 02:27:55,680
من abc را انجام خواهم داد
4055
02:27:55,680 –> 02:27:57,399
در gmail.com
4056
02:27:57,399 –> 02:28:01,920
abc123 abc123 ثبت نام کنید و مطمئن شوید
4057
02:28:01,920 –> 02:28:03,600
به اندازه کافی کار می کند
4058
02:28:03,600 –> 02:28:05,120
اعطای کروم میگوید: سلام، خودت را چک کن
4059
02:28:05,120 –> 02:28:07,040
پسوردهایی که رمز عبور بدی هستند اما من هستم
4060
02:28:07,040 –> 02:28:09,439
قرار نیست آن را ذخیره کنم، اما هر موردی دارم
4061
02:28:09,439 –> 02:28:10,240
بدست آورد
4062
02:28:10,240 –> 02:28:12,160
که داده ها از طریق و اگر من بروم
4063
02:28:12,160 –> 02:28:14,399
در بیانیه چاپی من اینجاست
4064
02:28:14,399 –> 02:28:16,240
که داده ها خوب است
4065
02:28:16,240 –> 02:28:19,200
بنابراین البته اکنون من به وضوح می توانم استفاده کنم
4066
02:28:19,200 –> 02:28:21,280
آن داده ها را در واقع می توانم یک کاربر ایجاد کنم
4067
02:28:21,280 –> 02:28:22,399
از آن
4068
02:28:22,399 –> 02:28:24,640
اما اگر درست کار کند چه می شود
4069
02:28:24,640 –> 02:28:26,319
کار نمی کند اگر کاری انجام دهم چه می شود
4070
02:28:26,319 –> 02:28:29,359
مانند abc در teamcfe.com
4071
02:28:29,359 –> 02:28:32,240
و سپس رمز عبور
4072
02:28:32,240 –> 02:28:34,720
که ممکن است کار کند یا نباشد
4073
02:28:34,720 –> 02:28:37,680
حالا من یک خطای سرور داخلی دریافت می کنم
4074
02:28:37,680 –> 02:28:39,359
این خطا همان چیزی است که در صورت مشاهده خواهید دید
4075
02:28:39,359 –> 02:28:41,600
در واقع در گذشت
4076
02:28:41,600 –> 02:28:43,920
خود مدل طرحواره به عنوان استدلال
4077
02:28:43,920 –> 02:28:46,319
باز هم چیزی نیست که ما الان به آن پرداختیم
4078
02:28:46,319 –> 02:28:48,399
اما ایده در اینجا این است که ما یک
4079
02:28:48,399 –> 02:28:50,240
استثنا یک خطای اعتبارسنجی است
4080
02:28:50,240 –> 02:28:51,359
اینجا اتفاق می افتد
4081
02:28:51,359 –> 02:28:53,520
بنابراین ما باید این را کمی تنظیم کنیم
4082
02:28:53,520 –> 02:28:56,880
اکنون یکی از راه های انجام این کار این است که بگوییم
4083
02:28:56,880 –> 02:28:59,040
بیایید برویم و بگوییم داده برابر با a است
4084
02:28:59,040 –> 02:29:01,760
فرهنگ لغت و سپس خطاها خالی است
4085
02:29:01,760 –> 02:29:02,800
فهرست
4086
02:29:02,800 –> 02:29:04,160
بنابراین اکنون کاری که می خواهم انجام دهم این است که این را قرار دهم
4087
02:29:04,160 –> 02:29:06,560
در اینجا به یک بلوک امتحان کنید
4088
02:29:06,560 –> 02:29:08,960
درست مثل این و ما اینها را داریم
4089
02:29:08,960 –> 02:29:11,920
خطای اعتبار نویسی درست است بنابراین این
4090
02:29:11,920 –> 02:29:14,960
استثنایی است که انتظار داریم ببینیم
4091
02:29:14,960 –> 02:29:18,800
پس ادامه دهید و آن استثنا را وارد کنید
4092
02:29:18,800 –> 02:29:21,200
خطای اعتبارسنجی واردات
4093
02:29:21,200 –> 02:29:24,240
خوب پس ما بلوک امتحان خود را اینجا داریم
4094
02:29:24,240 –> 02:29:25,920
و سپس ما ادامه می دهیم و قبول می کنیم
4095
02:29:25,920 –> 02:29:28,240
خطای اعتبارسنجی به صورت e
4096
02:29:28,240 –> 02:29:30,080
از آنجایی که این یک خطای اعتبارسنجی است، می توانم
4097
02:29:30,080 –> 02:29:33,359
در واقع از آن خطا در داخل اینجا استفاده کنید
4098
02:29:33,359 –> 02:29:34,960
و ما این کار را با خود انجام خواهیم داد
4099
02:29:34,960 –> 02:29:36,880
ابتدا رشته خطا پس من ادامه می دهم و
4100
02:29:36,880 –> 02:29:38,160
خطا بگو
4101
02:29:38,160 –> 02:29:42,479
str برابر با e.json است
4102
02:29:42,479 –> 02:29:44,880
که json معتبر خواهد بود
4103
02:29:44,880 –> 02:29:46,560
من میروم و json را وارد میکنم
4104
02:29:46,560 –> 02:29:48,640
اینجا هم
4105
02:29:48,640 –> 02:29:51,640
باشه
4106
02:29:52,240 –> 02:29:54,240
و این رشته خطا را ادامه می دهم و
4107
02:29:54,240 –> 02:29:56,319
این را به عنوان یک رشته خالی در اینجا قرار دهید
4108
02:29:56,319 –> 02:29:57,280
خوب
4109
02:29:57,280 –> 02:29:58,880
سپس پس از آن ما به جلو می رویم و انجام می دهیم
4110
02:29:58,880 –> 02:30:00,000
تلاش كردن
4111
02:30:00,000 –> 02:30:02,319
خطاها برابر است با
4112
02:30:02,319 –> 02:30:03,319
این هست
4113
02:30:03,319 –> 02:30:04,880
json.loads
4114
02:30:04,880 –> 02:30:06,720
از رشته خطا
4115
02:30:06,720 –> 02:30:08,160
و سپس ما فقط جلو می رویم و می گوییم
4116
02:30:08,160 –> 02:30:10,080
قبول اشتباهات
4117
02:30:10,080 –> 02:30:11,920
این هر استثنای دیگری خواهد بود
4118
02:30:11,920 –> 02:30:14,399
اساسا
4119
02:30:14,640 –> 02:30:16,160
حالا من می روم جلو و در خود عبور می کنم
4120
02:30:16,160 –> 02:30:18,560
خطاهای خود را دارد و من فقط می گویم loc برابر است
4121
02:30:18,560 –> 02:30:19,840
به
4122
02:30:19,840 –> 02:30:21,520
غیر میدانی
4123
02:30:21,520 –> 02:30:22,800
خطا
4124
02:30:22,800 –> 02:30:26,880
و سپس من یک پیام از
4125
02:30:27,200 –> 02:30:28,800
ناشناس
4126
02:30:28,800 –> 02:30:30,960
خطا
4127
02:30:30,960 –> 02:30:34,240
خوب حالا که این ام را داریم
4128
02:30:34,240 –> 02:30:37,359
ما در اینجا چند مورد داده دیگر داریم
4129
02:30:37,359 –> 02:30:39,040
در حال حاضر من داده های پاک خود را واقعی دریافت کرده ام
4130
02:30:39,040 –> 02:30:42,000
خود داده ها پاک خواهند شد
4131
02:30:42,000 –> 02:30:43,200
داده ها
4132
02:30:43,200 –> 02:30:44,640
نقطه دیکته
4133
02:30:44,640 –> 02:30:46,160
بنابراین ما جلو خواهیم رفت و آن را برابر خواهیم کرد
4134
02:30:46,160 –> 02:30:47,920
اینجا
4135
02:30:47,920 –> 02:30:49,680
و اکنون ما راهی برای رسیدگی به آن داریم
4136
02:30:49,680 –> 02:30:51,920
خطاهای اعتبارسنجی
4137
02:30:51,920 –> 02:30:54,319
بنابراین ما واقعاً می توانیم اینها را وارد کنیم
4138
02:30:54,319 –> 02:30:56,720
به زمینه قالب بنابراین ادامه دهید و
4139
02:30:56,720 –> 02:30:58,640
می گویند داده ها داده است
4140
02:30:58,640 –> 02:31:00,640
و سپس خطاها
4141
02:31:00,640 –> 02:31:02,960
خطاها است
4142
02:31:02,960 –> 02:31:04,479
عالی
4143
02:31:04,479 –> 02:31:05,920
خوب پس حالا که این را داریم بیایید بریم
4144
02:31:05,920 –> 02:31:10,160
جلو بروید و به خود الگوی ما بروید
4145
02:31:10,160 –> 02:31:12,720
برای دیدن آنچه در اینجا ارائه می شود
4146
02:31:12,720 –> 02:31:15,200
بنابراین به جای auth ثبت نام کنید
4147
02:31:15,200 –> 02:31:18,399
ما ادامه می دهیم و در صورت بروز خطا می گوییم
4148
02:31:18,399 –> 02:31:20,479
و سپس پایان اگر
4149
02:31:20,479 –> 02:31:22,240
بنابراین این یک چیز خوب دیگر در مورد است
4150
02:31:22,240 –> 02:31:23,600
جینجا این است که شما در واقع می توانید داشته باشید
4151
02:31:23,600 –> 02:31:26,160
شرایط در اینجا مانند این با استفاده از فرفری است
4152
02:31:26,160 –> 02:31:28,160
براکت و سپس عبارت if سپس
4153
02:31:28,160 –> 02:31:29,920
البته اگر بیانیه if داشته باشیم
4154
02:31:29,920 –> 02:31:31,600
باید ببندیمش
4155
02:31:31,600 –> 02:31:34,000
اکنون آنچه ممکن است متوجه شده باشید این است
4156
02:31:34,000 –> 02:31:36,960
خطاهایی که ما آنها را به عنوان یک وارد می کنیم
4157
02:31:36,960 –> 02:31:38,160
اینجا لیست کنید
4158
02:31:38,160 –> 02:31:39,359
اما البته ممکن است این را ندانید
4159
02:31:39,359 –> 02:31:42,080
با این حال، بنابراین آنچه شما همچنین می توانید بررسی کنید فقط است
4160
02:31:42,080 –> 02:31:44,080
ارائه آن خطاها
4161
02:31:44,080 –> 02:31:46,160
و سپس ما همچنین می توانیم داده ها را ارائه دهیم
4162
02:31:46,160 –> 02:31:48,160
خودش خوب است، پس بیایید هر دوی آن ها را نجات دهیم
4163
02:31:48,160 –> 02:31:49,120
چیزها
4164
02:31:49,120 –> 02:31:51,680
دوباره به ثبت نام و سپس abc بروید
4165
02:31:51,680 –> 02:31:53,520
در تیم cfe
4166
02:31:53,520 –> 02:31:55,680
و سپس من فقط برای هر چیزی قرار می دهم
4167
02:31:55,680 –> 02:31:57,760
پسوردها را بزنید sign up
4168
02:31:57,760 –> 02:31:59,040
و به آنجا می رویم
4169
02:31:59,040 –> 02:32:00,880
بنابراین ما در واقع خطاها را نشان می دهیم
4170
02:32:00,880 –> 02:32:01,760
این بالا
4171
02:32:01,760 –> 02:32:02,720
درست
4172
02:32:02,720 –> 02:32:04,160
بنابراین این عالی است این در واقع است
4173
02:32:04,160 –> 02:32:07,040
به من این امکان را می دهد که اینها را به خوبی به روز کنم
4174
02:32:07,040 –> 02:32:08,080
ارزش های
4175
02:32:08,080 –> 02:32:10,080
اکنون می توانم در واقع هر کدام را تکرار کنم
4176
02:32:10,080 –> 02:32:11,600
یکی از این چیزها
4177
02:32:11,600 –> 02:32:14,479
بنابراین برای انجام این کار می توانیم از طریق شما حلقه بزنیم
4178
02:32:14,479 –> 02:32:15,920
می توان گفت چهار
4179
02:32:15,920 –> 02:32:18,560
خطا در خطاها
4180
02:32:18,560 –> 02:32:20,080
و سپس
4181
02:32:20,080 –> 02:32:21,920
n4
4182
02:32:21,920 –> 02:32:24,560
بسیار خوب پس خطاها دوباره زمینه است
4183
02:32:24,560 –> 02:32:26,000
استدلالی که در اینجا مطرح می شود
4184
02:32:26,000 –> 02:32:27,520
متغیر زمینه
4185
02:32:27,520 –> 02:32:29,120
من می توانم از طریق آن حلقه بزنم
4186
02:32:29,120 –> 02:32:31,200
خطا در این مورد فقط هر چیزی است که من
4187
02:32:31,200 –> 02:32:33,520
اعلام کنید که فقط یک متغیر است
4188
02:32:33,520 –> 02:32:35,600
نام حلقه for خود بسیار شبیه است
4189
02:32:35,600 –> 02:32:38,399
شما در خود پایتون این کار را برای abc انجام می دهید
4190
02:32:38,399 –> 02:32:40,640
و خطاها چیزی شبیه به آن را می دانید
4191
02:32:40,640 –> 02:32:43,040
این نوعی نقشه برداری است
4192
02:32:43,040 –> 02:32:45,600
بنابراین اکنون در اینجا می توانم در واقع قرار دهم
4193
02:32:45,600 –> 02:32:48,160
بیایید یک عنصر لیست را فرض کنیم و در آن قرار دهیم
4194
02:32:48,160 –> 02:32:50,800
خطای فردی
4195
02:32:50,800 –> 02:32:53,439
خوب به ثبت نام ما برمی گردیم
4196
02:32:53,439 –> 02:32:56,560
و abc در تیم cfv به صورت تصادفی
4197
02:32:56,560 –> 02:32:58,240
رمزهای عبور اشتباه
4198
02:32:58,240 –> 02:33:00,080
اکنون می توانم سه چیز را ببینم
4199
02:33:00,080 –> 02:33:01,520
دو چیز که از اینجا می آید
4200
02:33:01,520 –> 02:33:03,120
برای خطاها و سپس یک چیز برای
4201
02:33:03,120 –> 02:33:04,840
داده ای که فقط خالی است
4202
02:33:04,840 –> 02:33:07,920
دیکشنری بسیار خوب پس توجه کنید که دارای loc و
4203
02:33:07,920 –> 02:33:09,359
پیام
4204
02:33:09,359 –> 02:33:11,439
و همچنین یک نوع
4205
02:33:11,439 –> 02:33:13,520
بنابراین در مورد من
4206
02:33:13,520 –> 02:33:16,560
خطایی که اگر وجود داشت برگرداندم
4207
02:33:16,560 –> 02:33:18,560
خوب داده های json بارگیری نمی شد
4208
02:33:18,560 –> 02:33:20,880
درست به همین دلیل است که من loc و
4209
02:33:20,880 –> 02:33:22,880
در اینجا پیام دهید تا حداقل یک جواب بدهم
4210
02:33:22,880 –> 02:33:24,560
نوعی پیام
4211
02:33:24,560 –> 02:33:25,920
به کاربر ما
4212
02:33:25,920 –> 02:33:27,120
بنابراین این بدان معناست که من می توانم انجام دهم
4213
02:33:27,120 –> 02:33:29,520
error.loc
4214
02:33:29,520 –> 02:33:32,800
و بیایید جلو برویم و فقط یک بولد قرار دهیم
4215
02:33:32,800 –> 02:33:35,359
اینجا را تگ کنید
4216
02:33:35,359 –> 02:33:36,960
و سپس انجام خواهم داد
4217
02:33:36,960 –> 02:33:39,040
یک روده بزرگ
4218
02:33:39,040 –> 02:33:42,240
و سپس error.msg
4219
02:33:42,240 –> 02:33:45,680
من ادامه می دهم و از شر این داده ها خلاص می شوم
4220
02:33:45,680 –> 02:33:49,120
این را ذخیره کنید و دوباره آن را امتحان کنیم
4221
02:33:49,120 –> 02:33:52,720
و اکنون دوباره به teamcfe.com ایمیل بزنید
4222
02:33:52,720 –> 02:33:54,399
و سپس برخی از داده ها در اینجا
4223
02:33:54,399 –> 02:33:56,640
ثبت نام را بزنید و ما به آنجا می رویم
4224
02:33:56,640 –> 02:33:58,800
بنابراین توجه کنید که آن را به من می دهد
4225
02:33:58,800 –> 02:34:00,800
یک براکت در اینجا به دلیل مکان
4226
02:34:00,800 –> 02:34:03,840
خود چندگانه است در واقع یک لیست است
4227
02:34:03,840 –> 02:34:05,359
خود پس این درست در اینجا به عنوان برمی گردد
4228
02:34:05,359 –> 02:34:07,680
یک لیست تا بتوانیم در واقع از یک شاخص استفاده کنیم
4229
02:34:07,680 –> 02:34:09,760
ارزش وجود دارد بنابراین اولین مورد در آن
4230
02:34:09,760 –> 02:34:11,520
لیست و حالا به ما یک
4231
02:34:11,520 –> 02:34:14,560
کمی بهتر از پاسخ
4232
02:34:14,560 –> 02:34:15,520
درست
4233
02:34:15,520 –> 02:34:17,760
حالا میتوانم حلقه بزنم و بسازم
4234
02:34:17,760 –> 02:34:19,920
مطمئن شوید که این خطاها در صفحه نمایش داده می شوند
4235
02:34:19,920 –> 02:34:21,680
div های لازم
4236
02:34:21,680 –> 02:34:22,880
و راه های مختلفی وجود دارد
4237
02:34:22,880 –> 02:34:24,720
چگونه می توانید عملاً رندر کنید
4238
02:34:24,720 –> 02:34:26,319
از این خطاها من واقعا نمی خواهم
4239
02:34:26,319 –> 02:34:28,160
نگران آن واقع بینانه هستم
4240
02:34:28,160 –> 02:34:29,439
می خواهند این را نشان دهند
4241
02:34:29,439 –> 02:34:32,160
و همچنین چیزی شبیه به آن بگویید
4242
02:34:32,160 –> 02:34:33,439
یک خطا
4243
02:34:33,439 –> 02:34:35,200
رخ داده است
4244
02:34:35,200 –> 02:34:37,520
لطفا بررسی کنید
4245
02:34:37,520 –> 02:34:39,200
به شرح زیر
4246
02:34:39,200 –> 02:34:40,960
شما چیزی شبیه به آن می دانید که
4247
02:34:40,960 –> 02:34:43,520
سپس من داده های من در واقع نشان داده می شود
4248
02:34:43,520 –> 02:34:44,640
به درستی
4249
02:34:44,640 –> 02:34:46,160
و سپس کل این موضوع را وارد خواهم کرد
4250
02:34:46,160 –> 02:34:47,280
یک تقسیم
4251
02:34:47,280 –> 02:34:49,439
خود
4252
02:34:49,439 –> 02:34:51,040
به طوری که کمی از آن دارد
4253
02:34:51,040 –> 02:34:53,200
تداوم در اینجا
4254
02:34:53,200 –> 02:34:54,800
و سپس تا جایی که تگ p باشد
4255
02:34:54,800 –> 02:34:55,920
نگران
4256
02:34:55,920 –> 02:34:57,760
میدونی شاید بخوام عوض کنم
4257
02:34:57,760 –> 02:34:59,680
حاشیه و سبک آن کمی
4258
02:34:59,680 –> 02:35:01,760
کمی اوه شما چیزی می دانید که ممکن است
4259
02:35:01,760 –> 02:35:04,479
یا ممکن است مایل به انجام این کار حاشیه نباشید
4260
02:35:04,479 –> 02:35:08,640
بیایید فقط دو انتخاب انجام دهیم
4261
02:35:08,640 –> 02:35:10,399
و آن را دوباره در آنجا اجرا کنید اکنون یک است
4262
02:35:10,399 –> 02:35:12,800
کمی نزدیک تر به احتمالا چه چیزی
4263
02:35:12,800 –> 02:35:14,319
چیزی که شما می خواهید استفاده کنید
4264
02:35:14,319 –> 02:35:17,040
و سپس این تگ div ممکن است اضافه شود
4265
02:35:17,040 –> 02:35:18,880
در یک حاشیه
4266
02:35:18,880 –> 02:35:20,640
اینجا هم
4267
02:35:20,640 –> 02:35:23,920
این بار اجازه دهید 15 پیکسل انجام دهیم
4268
02:35:23,920 –> 02:35:25,680
و تغییرش را به عهده شما می گذارم
4269
02:35:25,680 –> 02:35:28,560
که بعداً اما به طور کلی اکنون ما آن را داریم
4270
02:35:28,560 –> 02:35:31,680
توانایی رندر کردن این خطا در هر کدام
4271
02:35:31,680 –> 02:35:32,960
نمای داده شده
4272
02:35:32,960 –> 02:35:34,880
پس البته این نیز به این معنی است که این
4273
02:35:34,880 –> 02:35:36,640
در اینجا احتمالا باید تغییر کند
4274
02:35:36,640 –> 02:35:37,600
کمی
4275
02:35:37,600 –> 02:35:39,520
و سپس ما نیز باید این را پیاده سازی کنیم
4276
02:35:39,520 –> 02:35:44,080
در نمای ورود ما نیز این کار را انجام خواهیم داد
4277
02:35:44,720 –> 02:35:45,920
در یک لحظه ما به جلو می رویم و
4278
02:35:45,920 –> 02:35:48,479
طرح ورود کاربر که ما را پیاده سازی می کنیم
4279
02:35:48,479 –> 02:35:50,560
قبلا انجام داده ام اما یکی از کارها
4280
02:35:50,560 –> 02:35:52,800
شما باید تعجب کنید که آیا ما خوب هستیم
4281
02:35:52,800 –> 02:35:54,880
واقعاً همه این چیزها را دوباره تایپ خواهم کرد
4282
02:35:54,880 –> 02:35:57,200
فقط برای طرح ورود کاربر و از
4283
02:35:57,200 –> 02:35:59,280
البته پاسخ نه است در عوض چه
4284
02:35:59,280 –> 02:36:01,359
ما می خواهیم انجام دهیم این است که یک واقعی ایجاد کنیم
4285
02:36:01,359 –> 02:36:04,080
روش سودمند برای آن بنابراین برای کل
4286
02:36:04,080 –> 02:36:06,720
برنامه ما به جلو می رویم و utils.pi را در اینجا انجام می دهیم
4287
02:36:06,720 –> 02:36:08,720
و ما می خواهیم ابتدا چند واردات انجام دهیم
4288
02:36:08,720 –> 02:36:11,120
خاموش است json بعدی ما قصد داریم به جلو برویم
4289
02:36:11,120 –> 02:36:13,120
و از pydantic ما وارد می کنیم
4290
02:36:13,120 –> 02:36:15,200
مدل پایه
4291
02:36:15,200 –> 02:36:16,560
و سپس ما همچنین قصد داریم آن را وارد کنیم
4292
02:36:16,560 –> 02:36:19,840
بسته بندی های خطا
4293
02:36:20,240 –> 02:36:23,520
و همچنین خوب بنابراین مدل پایه و خطا
4294
02:36:23,520 –> 02:36:24,479
لفاف ها
4295
02:36:24,479 –> 02:36:26,960
عمدتاً بنابراین ما می توانیم در واقع کپی کنیم
4296
02:36:26,960 –> 02:36:29,359
این همه چیز اینجا تا داده است
4297
02:36:29,359 –> 02:36:31,600
و بیایید آن را در اینجا بچسبانیم
4298
02:36:31,600 –> 02:36:33,359
و این تابعی است که ما می خواهیم
4299
02:36:33,359 –> 02:36:36,160
ایجاد کنید، بنابراین من این را معتبر می نامم
4300
02:36:36,160 –> 02:36:37,760
طرحواره
4301
02:36:37,760 –> 02:36:40,479
داده یا خطا
4302
02:36:40,479 –> 02:36:42,960
و میخواهیم برخی از دادههای خام را منتقل کنیم
4303
02:36:42,960 –> 02:36:44,800
که قرار است یک دیکشنری ما شود
4304
02:36:44,800 –> 02:36:47,680
همچنین می خواهید در یک مدل طرحواره عبور کنید
4305
02:36:47,680 –> 02:36:50,880
که البته فقط یک مدل پایه است
4306
02:36:50,880 –> 02:36:51,840
این یک
4307
02:36:51,840 –> 02:36:53,520
از کلاس مدل پایه به ارث رسیده است
4308
02:36:53,520 –> 02:36:55,120
این یک نوع مدل پایه است
4309
02:36:55,120 –> 02:36:56,479
و سپس من در واقع می توانم
4310
02:36:56,479 –> 02:36:58,319
می دانی تب
4311
02:36:58,319 –> 02:37:00,319
این موارد در اینجا
4312
02:37:00,319 –> 02:37:02,640
و سپس آنچه را که قرار است برگردانیم
4313
02:37:02,640 –> 02:37:04,880
داده ها و خطاها است
4314
02:37:04,880 –> 02:37:06,960
اما من در واقع با این مشکل دارم
4315
02:37:06,960 –> 02:37:08,560
عملکرد در حال حاضر یا در واقع من چگونه هستم
4316
02:37:08,560 –> 02:37:11,280
رسیدگی به خطاهای من در اینجا و سپس آن را دارد
4317
02:37:11,280 –> 02:37:14,080
با این واقعیت که تک تک
4318
02:37:14,080 –> 02:37:17,600
زمان در هر دو مکان من تلاش می کنم
4319
02:37:17,600 –> 02:37:18,960
تنظیم خطاها
4320
02:37:18,960 –> 02:37:21,120
درست است اگر این یک رشته خالی یا i باشد
4321
02:37:21,120 –> 02:37:22,399
مثل این
4322
02:37:22,399 –> 02:37:23,600
سپس ما یک استثنا خواهیم داشت
4323
02:37:23,600 –> 02:37:25,520
اینجا پایین به عبارت دیگر من قصد دارم بروم
4324
02:37:25,520 –> 02:37:27,520
پیش رو و فقط این را به هیچکدام تغییر دهید
4325
02:37:27,520 –> 02:37:32,280
و سپس اگر رشته خطا هیچ نباشد
4326
02:37:32,560 –> 02:37:33,840
سپس ما به جلو برویم و تلاش کنیم و
4327
02:37:33,840 –> 02:37:36,800
آن را به عنوان داده json بارگیری کنید و همینطور است
4328
02:37:36,800 –> 02:37:38,640
که کمی مشکل را حل می کند
4329
02:37:38,640 –> 02:37:41,120
که با مدیریت قبلی داشتم
4330
02:37:41,120 –> 02:37:41,760
آی تی
4331
02:37:41,760 –> 02:37:44,720
بنابراین مورد بعدی خود داده های خام است
4332
02:37:44,720 –> 02:37:46,800
بنابراین زمانی که ما در مورد آن درست در اینجا فکر می کنیم
4333
02:37:46,800 –> 02:37:49,200
این می تواند یک دیکشنری خوب باشد
4334
02:37:49,200 –> 02:37:50,960
واقعا فقط یک دیکشنری بدون بسته بندی
4335
02:37:50,960 –> 02:37:52,080
مانند آن
4336
02:37:52,080 –> 02:37:53,760
اکنون واضح است که می توانم از کلمه کلیدی استفاده کنم
4337
02:37:53,760 –> 02:37:55,200
استدلال در اینجا و چیزهایی از این قبیل
4338
02:37:55,200 –> 02:37:56,560
اما من می خواهم آن را ساده نگه دارم و
4339
02:37:56,560 –> 02:37:59,200
از دیکشنری استفاده کنید که بتوانم آن را پاس کنم و
4340
02:37:59,200 –> 02:38:00,479
سپس البته
4341
02:38:00,479 –> 02:38:02,960
طرح ثبت نام واقعی کاربر فقط باید باشد
4342
02:38:02,960 –> 02:38:05,439
طرح مسیر به این تابع و
4343
02:38:05,439 –> 02:38:06,399
خودشه
4344
02:38:06,399 –> 02:38:07,600
چیز بعدی ما خواهد بود
4345
02:38:07,600 –> 02:38:09,439
خطای اعتبارسنجی ما فقط می توانیم از خطا استفاده کنیم
4346
02:38:09,439 –> 02:38:12,080
خطای اعتبارسنجی wrappers dot زیرا اگر
4347
02:38:12,080 –> 02:38:13,600
ما در اینجا خطاهای دیگری داریم که داریم
4348
02:38:13,600 –> 02:38:15,600
میخواهیم بگیریم، پس میتوانیم
4349
02:38:15,600 –> 02:38:17,439
آن را درست در اینجا و این اجرا کنید
4350
02:38:17,439 –> 02:38:20,080
سپس می تواند در تمام موارد استفاده شود
4351
02:38:20,080 –> 02:38:22,000
اعتبار سنجی طرحواره ای که باید انجام دهیم
4352
02:38:22,000 –> 02:38:25,760
با الگوهای واقعی درست است
4353
02:38:25,760 –> 02:38:28,640
اگر json را برمی گردانید خود api سریع است
4354
02:38:28,640 –> 02:38:32,240
data fast api می تواند پاسخ را مدیریت کند
4355
02:38:32,240 –> 02:38:35,439
با یک طرحواره یک طرحواره پدانتتیک واقعی
4356
02:38:35,439 –> 02:38:37,200
خودش اما از آنجایی که ما از آن استفاده می کنیم
4357
02:38:37,200 –> 02:38:39,120
قالب هایی که باید آن را در خود باز کنیم
4358
02:38:39,120 –> 02:38:40,080
راه خود
4359
02:38:40,080 –> 02:38:41,520
پس حالا بیایید جلو برویم و در واقع استفاده کنیم
4360
02:38:41,520 –> 02:38:44,160
این برای ثبت نام ما
4361
02:38:44,160 –> 02:38:46,560
بنابراین در حال حاضر ما به جلو و واردات Utils
4362
02:38:46,560 –> 02:38:47,600
اینجا
4363
02:38:47,600 –> 02:38:49,439
و ما وارد ثبت نام خود می شویم
4364
02:38:49,439 –> 02:38:51,520
اینجا را مشاهده کنید و اکنون داده خواهد بود
4365
02:38:51,520 –> 02:38:54,240
و خطاها برابر است
4366
02:38:54,240 –> 02:38:57,520
Utils آن عملکرد را نشان می دهد
4367
02:38:57,520 –> 02:38:59,120
بنابراین شما در واقع می توانید از شر همه خلاص شوید
4368
02:38:59,120 –> 02:39:01,520
این چیزها اینجا
4369
02:39:01,520 –> 02:39:03,439
به جز اینکه من می خواهم در واقع اجازه دهید
4370
02:39:03,439 –> 02:39:05,840
برخی از داده های خام را منتقل می کند
4371
02:39:05,840 –> 02:39:08,399
و طرحواره کاربر
4372
02:39:08,399 –> 02:39:10,000
باشه پس الان میتونم از شر همه چیز خلاص بشم
4373
02:39:10,000 –> 02:39:12,080
دیگر
4374
02:39:12,080 –> 02:39:14,160
خوب و ما فقط باید خام را تنظیم کنیم
4375
02:39:14,160 –> 02:39:16,080
داده ها به خودی خود، بنابراین داده های خام یک خواهد بود
4376
02:39:16,080 –> 02:39:17,520
فرهنگ لغت اینجا
4377
02:39:17,520 –> 02:39:20,240
و این ایمیل و ایمیل خواهد بود
4378
02:39:20,240 –> 02:39:22,720
و تمام قسمت های دیگر به
4379
02:39:22,720 –> 02:39:25,040
خود طرحواره ای که در حال تصویب هستند
4380
02:39:25,040 –> 02:39:25,840
که در
4381
02:39:25,840 –> 02:39:28,479
از فرم
4382
02:39:29,920 –> 02:39:32,080
درست مثل آن
4383
02:39:32,080 –> 02:39:32,880
عالی
4384
02:39:32,880 –> 02:39:35,439
بنابراین با همین ایده در ذهن ما می توانیم
4385
02:39:35,439 –> 02:39:38,240
در واقع این را به نمای ورود ما وارد کنید
4386
02:39:38,240 –> 02:39:39,840
همچنین
4387
02:39:39,840 –> 02:39:41,520
پس مطمئناً دیگر کاربر نیست
4388
02:39:41,520 –> 02:39:43,520
طرح ثبت نام این کاربر خواهد بود
4389
02:39:43,520 –> 02:39:45,040
طرحواره ورود
4390
02:39:45,040 –> 02:39:46,880
و من می روم و وارد می کنم
4391
02:39:46,880 –> 02:39:48,880
این یکی اکنون و ما نیز می توانیم از شر آن خلاص شویم
4392
02:39:48,880 –> 02:39:50,560
رمز عبور را اینجا تایید کنید
4393
02:39:50,560 –> 02:39:53,280
می آییم بالا و
4394
02:39:53,280 –> 02:39:54,880
ما را وارد کنید
4395
02:39:54,880 –> 02:39:58,880
طرحواره ورود کاربر نیز
4396
02:39:59,520 –> 02:40:00,640
ما میرویم آنجا
4397
02:40:00,640 –> 02:40:02,880
و بنابراین اکنون ما راهی برای مدیریت آن داریم
4398
02:40:02,880 –> 02:40:05,439
البته اطلاعات داخل خود لاگین من
4399
02:40:05,439 –> 02:40:07,439
من می خواهم آن داده ها را وارد کنم
4400
02:40:07,439 –> 02:40:11,200
و همچنین خود خطاها
4401
02:40:11,200 –> 02:40:13,279
درست مثل آن عالی
4402
02:40:13,279 –> 02:40:14,960
بنابراین یک چیز دیگر وجود دارد و آن ماست
4403
02:40:14,960 –> 02:40:17,120
از زمانی که ما این را ایجاد کردیم، الگو درست است
4404
02:40:17,120 –> 02:40:19,920
شما می دانید روش ابزار در واقع به دست آوردن
4405
02:40:19,920 –> 02:40:22,960
داده ها، داده های پاک شده و خطاها
4406
02:40:22,960 –> 02:40:24,720
من در واقع می خواهم چنگ بزنم
4407
02:40:24,720 –> 02:40:27,359
روش ورود نیز درست یا
4408
02:40:27,359 –> 02:40:29,200
در واقع روش قالب است که خواهد شد
4409
02:40:29,200 –> 02:40:32,319
در قالب لاگین نیز نمایش داده شود
4410
02:40:32,319 –> 02:40:35,040
داخل لاگین یا ثبت نام ما که داریم
4411
02:40:35,040 –> 02:40:36,880
این خطاها را اینجا دریافت کردم
4412
02:40:36,880 –> 02:40:38,960
این را در واقع می توانم قطع کنم و به من برود
4413
02:40:38,960 –> 02:40:40,000
قالب ها
4414
02:40:40,000 –> 02:40:42,160
به snippets بروید و بگویید form
4415
02:40:42,160 –> 02:40:44,800
underscore errors.html
4416
02:40:44,800 –> 02:40:46,319
و من آن را وارد خواهم کرد
4417
02:40:46,319 –> 02:40:48,560
فقط این همه چیزی است که باید انجام دهم
4418
02:40:48,560 –> 02:40:50,240
داخل ثبت نام
4419
02:40:50,240 –> 02:40:52,160
اکنون می توانیم جلو برویم و از شر آن خلاص شویم
4420
02:40:52,160 –> 02:40:53,040
و می گویند
4421
02:40:53,040 –> 02:40:54,080
عبارتند از
4422
02:40:54,080 –> 02:40:55,600
تکه ها
4423
02:40:55,600 –> 02:40:58,640
فرم errors.html
4424
02:40:58,640 –> 02:41:00,960
درست مثل آن
4425
02:41:00,960 –> 02:41:03,920
و همچنین داخل یک لاگین
4426
02:41:03,920 –> 02:41:05,840
همان چیز
4427
02:41:05,840 –> 02:41:07,359
عالی
4428
02:41:07,359 –> 02:41:10,319
بنابراین در حال حاضر ما ثبت نام خود را با
4429
02:41:10,319 –> 02:41:12,080
داده های واقعی پاک شده
4430
02:41:12,080 –> 02:41:15,520
و همچنین نمای پست ورود به سیستم
4431
02:41:15,520 –> 02:41:17,200
بنابراین یکی از چیزهایی که در مورد این تمیز است
4432
02:41:17,200 –> 02:41:19,279
داده هایی که من از آنها استفاده نمی کنم وجود دارد
4433
02:41:19,279 –> 02:41:21,040
فیلدهای رمز عبور که در واقع است
4434
02:41:21,040 –> 02:41:23,120
چیزی را که به نمای پست می گذارم
4435
02:41:23,120 –> 02:41:25,600
خود را به عبارت دیگر اگر چاپ کنیم
4436
02:41:25,600 –> 02:41:27,359
این داده ها بیایید جلو برویم و آن را انجام دهیم
4437
02:41:27,359 –> 02:41:29,359
با نمای ورود ما در حال حاضر
4438
02:41:29,359 –> 02:41:32,000
من می روم جلو و
4439
02:41:32,000 –> 02:41:34,319
سعی کنید در اینجا وارد شوید بنابراین
4440
02:41:34,319 –> 02:41:37,120
abc teamcfv.com
4441
02:41:37,120 –> 02:41:38,880
چون من اون یکی ثبت نام کرده ام
4442
02:41:38,880 –> 02:41:40,800
وارد شدن به اینجا را بزنید
4443
02:41:40,800 –> 02:41:43,600
و باید یک لحظه طول بکشد
4444
02:41:43,600 –> 02:41:44,960
اما در حالی که اجرا می شود من می روم
4445
02:41:44,960 –> 02:41:47,279
جلوتر و به اینجا برگرد
4446
02:41:47,279 –> 02:41:49,279
اوه، نمیتوان نام کاربر را وارد کرد
4447
02:41:49,279 –> 02:41:50,880
طرحواره ورود
4448
02:41:50,880 –> 02:41:52,319
من واقعا تعجب نمی کنم فکر نمی کنم
4449
02:41:52,319 –> 02:41:54,560
ما در واقع آن را آوردیم، پس بیایید برویم
4450
02:41:54,560 –> 02:41:56,000
جلو و اینجا را نگاه کن
4451
02:41:56,000 –> 02:41:58,399
طرحواره های ما را دریافت کردم و هرگز آن را کپی نکردم
4452
02:41:58,399 –> 02:42:00,960
پس بیایید جلو برویم و آن را کپی کنیم
4453
02:42:00,960 –> 02:42:04,000
پریدن دوباره به دفترچه یادداشت jupyter
4454
02:42:04,000 –> 02:42:06,000
و اکنون آن را کپی می کنیم
4455
02:42:06,000 –> 02:42:07,359
ایناهاش
4456
02:42:07,359 –> 02:42:09,359
پس بیایید یک ضربه دیگر به آن بدهیم
4457
02:42:09,359 –> 02:42:11,600
بنابراین abc در teamcfe
4458
02:42:11,600 –> 02:42:13,920
و abc123 اینتر را بزنید
4459
02:42:13,920 –> 02:42:16,640
همه چیز خوب پیش رفت و ما به این نتیجه رسیدیم
4460
02:42:16,640 –> 02:42:18,560
توجه کنید که من هنوز آن را دارم
4461
02:42:18,560 –> 02:42:20,399
این رمز عبور خام نیست که می آید
4462
02:42:20,399 –> 02:42:21,359
برگرد اینجا
4463
02:42:21,359 –> 02:42:23,600
بنابراین در اینجا می توانم از آن خام استفاده کنم
4464
02:42:23,600 –> 02:42:26,160
رمز عبور دوباره و ما فقط باید
4465
02:42:26,160 –> 02:42:28,479
بدانید که و این خواهد شد
4466
02:42:28,479 –> 02:42:30,960
راز
4467
02:42:32,080 –> 02:42:34,640
ارزش
4468
02:42:39,200 –> 02:42:42,319
و قرار است رازی وجود داشته باشد
4469
02:42:42,319 –> 02:42:43,680
ارزش
4470
02:42:43,680 –> 02:42:47,359
بنابراین ما آن را ذخیره می کنیم و دوباره انجام خواهیم داد
4471
02:42:47,359 –> 02:42:49,840
همان چیز
4472
02:42:50,240 –> 02:42:52,000
و ما به آنجا می رویم تا بتوانیم در واقع استفاده کنیم
4473
02:42:52,000 –> 02:42:53,520
آن ارزش خام در حال حاضر
4474
02:42:53,520 –> 02:42:54,479
عالی
4475
02:42:54,479 –> 02:42:56,479
بنابراین این روش سودمند واقعاً عادلانه است
4476
02:42:56,479 –> 02:42:59,439
برای خطاها بیشتر نه چیز دیگری
4477
02:42:59,439 –> 02:43:01,760
و بنابراین اگر به ثبت نام برگردیم
4478
02:43:01,760 –> 02:43:03,120
روش
4479
02:43:03,120 –> 02:43:05,120
یا نقطه پایانی ثبت نام
4480
02:43:05,120 –> 02:43:07,359
و دوباره این را امتحان کنید
4481
02:43:07,359 –> 02:43:09,520
شما می دانید با برخی هذیان یا هر چیز دیگری
4482
02:43:09,520 –> 02:43:11,439
و ثبت نام را بزنید من این اعتبار سنجی را دریافت می کنم
4483
02:43:11,439 –> 02:43:13,760
اشتباهات در اینجا درست است
4484
02:43:13,760 –> 02:43:15,760
ایمیل در دسترس نیست
4485
02:43:15,760 –> 02:43:16,560
عالی
4486
02:43:16,560 –> 02:43:18,319
بنابراین من همان خطاهای اعتبار سنجی احتمالا
4487
02:43:18,319 –> 02:43:20,479
با ورود من نیز می خواهم
4488
02:43:20,479 –> 02:43:23,040
در واقع من می خواهم خودم را به روز کنم
4489
02:43:23,040 –> 02:43:25,120
پیکربندی برای ورود من واقعی است
4490
02:43:25,120 –> 02:43:26,800
خود طرحواره
4491
02:43:26,800 –> 02:43:27,680
درست است زیرا در واقع اینطور نیست
4492
02:43:27,680 –> 02:43:30,160
تایید هر چیزی برای من در این ورود
4493
02:43:30,160 –> 02:43:31,200
طرحواره
4494
02:43:31,200 –> 02:43:33,359
بنابراین قبل از اینکه من از آن سوراخ خرگوش پایین بروم
4495
02:43:33,359 –> 02:43:35,520
ایده اینجاست
4496
02:43:35,520 –> 02:43:38,080
شاید من می خواهم در واقع اعتبار سنجی کنم
4497
02:43:38,080 –> 02:43:39,760
نام کاربری و رمز عبور
4498
02:43:39,760 –> 02:43:43,359
پس از دریافت درست این داده ها
4499
02:43:43,359 –> 02:43:46,160
بنابراین اساساً ایمیل کاربر را بررسی کنید
4500
02:43:46,160 –> 02:43:47,760
در برابر رمز عبور آنها شاید من نمی دانم
4501
02:43:47,760 –> 02:43:50,319
می خواهید در طرحواره ورود انجام شود
4502
02:43:50,319 –> 02:43:51,920
در حال حاضر دلیل من قصد دارم آن را در
4503
02:43:51,920 –> 02:43:54,560
طرحواره ورود به سیستم به دلیل این خطاها است
4504
02:43:54,560 –> 02:43:56,240
توانایی ارائه خطاها و
4505
02:43:56,240 –> 02:43:57,359
داشتن آنها
4506
02:43:57,359 –> 02:44:00,960
در کل پروژه من یکنواخت باشد و
4507
02:44:00,960 –> 02:44:03,439
همه جا از آن طرحواره ها استفاده می کنم
4508
02:44:03,439 –> 02:44:05,840
خودشان
4509
02:44:06,000 –> 02:44:07,120
در حال حاضر ما می رویم به جلو و
4510
02:44:07,120 –> 02:44:10,640
آزمایش با توکن های وب json این است
4511
02:44:10,640 –> 02:44:12,160
البته قرار است برای
4512
02:44:12,160 –> 02:44:14,479
احراز هویت ما در واقع چگونه پیش می رویم
4513
02:44:14,479 –> 02:44:15,920
تا بتوانم
4514
02:44:15,920 –> 02:44:18,720
واقعاً نوعی جلسه کاربر دارد
4515
02:44:18,720 –> 02:44:20,399
که آنها وارد شوید و سپس این وجود دارد
4516
02:44:20,399 –> 02:44:22,479
نشانه است که می شود در اطراف به طوری که آنها
4517
02:44:22,479 –> 02:44:24,720
می توانیم به منابعی که می خواهیم دسترسی داشته باشیم
4518
02:44:24,720 –> 02:44:26,720
اجازه دسترسی به آنها را بدهید
4519
02:44:26,720 –> 02:44:28,880
پس بیایید جلو برویم و فقط نگاهی بیندازیم
4520
02:44:28,880 –> 02:44:30,800
در چگونگی انجام این کار
4521
02:44:30,800 –> 02:44:32,880
اولین کاری که می خواهم انجام دهم این است که می خواهم
4522
02:44:32,880 –> 02:44:36,120
به require.txt بروید و اضافه کنید
4523
02:44:36,120 –> 02:44:38,800
python-jose و ما از آن استفاده خواهیم کرد
4524
02:44:38,800 –> 02:44:40,240
رمزنگاری
4525
02:44:40,240 –> 02:44:42,800
باطن رمزنگاری بک اند است
4526
02:44:42,800 –> 02:44:45,040
اختیاری در آن بلوک وجود دارد
4527
02:44:45,040 –> 02:44:46,720
اما ایده این است که ما می خواهیم آن را به عنوان داشته باشیم
4528
02:44:46,720 –> 02:44:49,359
امن تا حد امکان که نویسندگان آن
4529
02:44:49,359 –> 02:44:51,439
python jose رمزنگاری را توصیه می کند
4530
02:44:51,439 –> 02:44:53,520
بسته و من هم همینطور پس بیایید جلو برویم
4531
02:44:53,520 –> 02:44:57,359
و نصب پیپ را به الزامات.txt انجام دهید
4532
02:44:57,359 –> 02:44:58,640
بسیار خوب پس آن را نصب می کند
4533
02:44:58,640 –> 02:45:01,359
بسته برای ما در حال حاضر من نیز اشاره می کنم
4534
02:45:01,359 –> 02:45:03,840
که خود api سریع به شما توصیه می کند
4535
02:45:03,840 –> 02:45:06,319
از همین بسته هم استفاده کنید
4536
02:45:06,319 –> 02:45:08,479
اما به هر بسته ای که رسیدید
4537
02:45:08,479 –> 02:45:11,200
با استفاده از بسته توکن وب json
4538
02:45:11,200 –> 02:45:12,319
شما می خواهید مطمئن شوید که
4539
02:45:12,319 –> 02:45:14,399
شما از آن به گونه ای استفاده می کنید که ما از آن استفاده خواهیم کرد
4540
02:45:14,399 –> 02:45:16,240
در یک لحظه بحث کنید تا آن را ایمن کنید
4541
02:45:16,240 –> 02:45:18,560
تا حد امکان قبل از انجام این کار، اجازه دهید بریم
4542
02:45:18,560 –> 02:45:21,120
جلوتر و شروع به ساختن نقطه ما کنید
4543
02:45:21,120 –> 02:45:22,880
توکن اینجاست، بنابراین من می خواهم مقداری از خود را داشته باشم
4544
02:45:22,880 –> 02:45:24,640
ابتدا به واردات پیش فرض می رویم
4545
02:45:24,640 –> 02:45:26,240
زمان تاریخ واردات
4546
02:45:26,240 –> 02:45:28,000
البته این در پایتون ساخته شده است
4547
02:45:28,000 –> 02:45:30,160
ما همچنین قصد داریم اسرار را نیز وارد کنیم
4548
02:45:30,160 –> 02:45:32,240
ساخته شده در پایتون و سپس ما می رویم
4549
02:45:32,240 –> 02:45:33,439
جلو و انجام از
4550
02:45:33,439 –> 02:45:35,760
jose ما قصد داریم وارد کنیم
4551
02:45:35,760 –> 02:45:37,840
jot یا jwt
4552
02:45:37,840 –> 02:45:39,040
سرد
4553
02:45:39,040 –> 02:45:41,040
بنابراین اکنون ما می رویم به جلو و اول
4554
02:45:41,040 –> 02:45:42,960
راز ما را بساز
4555
02:45:42,960 –> 02:45:44,800
کلید این است که تقریبا برای
4556
02:45:44,800 –> 02:45:46,880
کل برنامه ما اما در حال حاضر من فقط هستم
4557
02:45:46,880 –> 02:45:48,720
قرار است آن را در خط اینجا داشته باشید
4558
02:45:48,720 –> 02:45:50,960
و سپس ما به جلو می رویم و نشانی اینترنتی رمز را انجام می دهیم
4559
02:45:50,960 –> 02:45:52,560
امن و ما جلوتر می رویم و می گوییم
4560
02:45:52,560 –> 02:45:54,880
چیزی شبیه به من نمی دانم 30 یا 50. آن است
4561
02:45:54,880 –> 02:45:56,640
واقعا مهم نیست این یک راز است
4562
02:45:56,640 –> 02:45:58,880
کلیدی که می تواند طول دلخواه داشته باشد
4563
02:45:58,880 –> 02:46:00,720
قانون کلی سرانگشتی همانطور که ما هستیم
4564
02:46:00,720 –> 02:46:02,319
تست کردن نشانهها این است که ما این کار را نمیکنیم
4565
02:46:02,319 –> 02:46:04,880
می خواهید کلید مخفی را اغلب تغییر دهید
4566
02:46:04,880 –> 02:46:06,319
ما تقریباً فقط می خواهیم از همان استفاده کنیم
4567
02:46:06,319 –> 02:46:08,399
با این حال وقتی وارد تولید می شوید
4568
02:46:08,399 –> 02:46:09,760
شما می خواهید بچرخانید
4569
02:46:09,760 –> 02:46:11,200
کلید جستجوگر زیاد
4570
02:46:11,200 –> 02:46:14,800
الگوریتمی که ما از آن استفاده خواهیم کرد این است
4571
02:46:14,840 –> 02:46:17,359
الگوریتم hs256
4572
02:46:17,359 –> 02:46:19,840
که قرار است با ما باشد
4573
02:46:19,840 –> 02:46:22,000
بسته jot و بسته رمزنگاری
4574
02:46:22,000 –> 02:46:22,880
برای
4575
02:46:22,880 –> 02:46:25,439
در واقع امنیت این نشانه
4576
02:46:25,439 –> 02:46:26,640
در مرحله بعد می رویم و اعلام می کنیم
4577
02:46:26,640 –> 02:46:28,240
برخی از داده های خام
4578
02:46:28,240 –> 02:46:30,640
بنابراین این داده هایی است که می خواهم قرار دهم
4579
02:46:30,640 –> 02:46:33,200
در علامت jot تا بتوانم آن را به اطراف منتقل کنم
4580
02:46:33,200 –> 02:46:35,279
به آدرس اینترنتی متفاوت من بنابراین متفاوت است
4581
02:46:35,279 –> 02:46:36,319
نقاط پایانی
4582
02:46:36,319 –> 02:46:37,920
بنابراین یکی از آنها کاربر ما خواهد شد
4583
02:46:37,920 –> 02:46:40,560
پس من ادامه می دهم و فقط abc123 را می گویم
4584
02:46:40,560 –> 02:46:41,760
برای همین الان
4585
02:46:41,760 –> 02:46:43,439
کاری که قرار نیست انجام دهیم این است که در خودمان قرار دهیم
4586
02:46:43,439 –> 02:46:47,680
ایمیل کاربر پس این کار را درست انجام ندهید
4587
02:46:47,680 –> 02:46:49,279
در ایمیل کاربر قرار دهید
4588
02:46:49,279 –> 02:46:52,720
نشانه های jot می توانند به طور بالقوه شکسته شوند
4589
02:46:52,720 –> 02:46:55,600
درست است تا سایر کاربران بتوانند این نوشته ها را ببینند
4590
02:46:55,600 –> 02:46:57,120
نشانه ها نه کلید مخفی بلکه فک
4591
02:46:57,120 –> 02:46:58,479
خود توکن
4592
02:46:58,479 –> 02:46:59,840
به اشتراک گذاشته خواهد شد
4593
02:46:59,840 –> 02:47:01,439
در قسمت جلویی به این معنی است
4594
02:47:01,439 –> 02:47:03,120
بازیگران مخرب به طور بالقوه می توانند دریافت کنند
4595
02:47:03,120 –> 02:47:04,240
آی تی
4596
02:47:04,240 –> 02:47:06,640
و اگر بازیگران مخرب آن را دریافت کنند
4597
02:47:06,640 –> 02:47:09,200
ما احتمالاً می خواهیم این را پنهان کنیم
4598
02:47:09,200 –> 02:47:12,399
اکنون میتوانیم شناسه کاربری را در a مخفی کنیم
4599
02:47:12,399 –> 02:47:16,080
روش مشابهی که ما با واقعی خود انجام دادیم
4600
02:47:16,080 –> 02:47:18,399
امضای رمز عبور ما در واقع می توانیم امضا کنیم
4601
02:47:18,399 –> 02:47:21,760
این و همچنین شناسه کاربری را هش کنید
4602
02:47:21,760 –> 02:47:23,359
می تواند چیزی باشد که ما در نظر می گیریم
4603
02:47:23,359 –> 02:47:26,319
همچنین در ارتباط با این دو انجام می شود
4604
02:47:26,319 –> 02:47:29,279
چیزهایی بنابراین ما مقداری هش کاربر در اینجا داریم
4605
02:47:29,279 –> 02:47:32,640
به جای شناسه کاربری و ایمیل که هست
4606
02:47:32,640 –> 02:47:34,399
اضافه کردن یک لایه از پیچیدگی که من هستم
4607
02:47:34,399 –> 02:47:36,560
فقط قرار نیست در حال حاضر پوشش داده شود، اما آن را
4608
02:47:36,560 –> 02:47:38,319
چیزی است که می تواند این را قفل کند
4609
02:47:38,319 –> 02:47:39,520
حتی بیشتر
4610
02:47:39,520 –> 02:47:41,760
اما در هر صورت ما داده های خام خود را اینجا داریم
4611
02:47:41,760 –> 02:47:43,680
بنابراین اکنون می خواهم این داده های خام را به آن تبدیل کنم
4612
02:47:43,680 –> 02:47:45,920
یک نشانه که من می توانم در اطراف حرکت کنم و این
4613
02:47:45,920 –> 02:47:48,160
انجام این کار بسیار ساده است
4614
02:47:48,160 –> 02:47:50,960
بسته ما فقط می گویند یا python jose
4615
02:47:50,960 –> 02:47:53,120
بسته است که بنابراین می توانیم بگوییم نشانه
4616
02:47:53,120 –> 02:47:54,240
مساوی با
4617
02:47:54,240 –> 02:47:56,960
نقطه در کد
4618
02:47:56,960 –> 02:47:59,200
و سپس داده های خام ما
4619
02:47:59,200 –> 02:48:01,279
سپس کلید مخفی ما
4620
02:48:01,279 –> 02:48:03,600
درست است پس مطمئناً همینطور خواهد بود
4621
02:48:03,600 –> 02:48:05,600
در طول زمان و سپس ما تغییر می کند
4622
02:48:05,600 –> 02:48:07,760
الگوریتمی که قرار است از آن استفاده کنیم
4623
02:48:07,760 –> 02:48:08,880
بنابراین
4624
02:48:08,880 –> 02:48:12,800
الگوریتم برابر با آن است
4625
02:48:13,359 –> 02:48:16,160
بسیار خوب به طوری که یک توکن تولید می کند
4626
02:48:16,160 –> 02:48:17,439
برای ما
4627
02:48:17,439 –> 02:48:19,279
و این همان چیزی است که یک نشانه به نظر می رسد
4628
02:48:19,279 –> 02:48:20,240
باشه
4629
02:48:20,240 –> 02:48:22,240
و بنابراین چیز جالب در مورد این من است
4630
02:48:22,240 –> 02:48:24,319
اکنون می توانید از این در قسمت جلویی استفاده کنید
4631
02:48:24,319 –> 02:48:26,560
احتمالا اینها را دیده اید
4632
02:48:26,560 –> 02:48:28,000
قبلا، پیش از این
4633
02:48:28,000 –> 02:48:29,920
اما همچنین کاری که می توانم انجام دهم این است که می توانم بسازم
4634
02:48:29,920 –> 02:48:31,840
این کمی بهتر است با اضافه کردن یک
4635
02:48:31,840 –> 02:48:34,000
انقضا قبل از اینکه انقضا را اضافه کنم
4636
02:48:34,000 –> 02:48:35,600
هر چند بیایید جلو برویم و این را رمزگشایی کنیم
4637
02:48:35,600 –> 02:48:38,560
داده پس از jot.decode استفاده کنید
4638
02:48:38,560 –> 02:48:41,439
و سپس رمزگشایی رمز
4639
02:48:41,439 –> 02:48:43,520
و سپس اساساً با همان دیگری
4640
02:48:43,520 –> 02:48:44,960
موارد در اینجا
4641
02:48:44,960 –> 02:48:47,760
به جز الگوریتم ها الگوریتم ما تبدیل می شود
4642
02:48:47,760 –> 02:48:49,200
الگوریتم ها
4643
02:48:49,200 –> 02:48:50,640
و سپس این کار را انجام می دهیم
4644
02:48:50,640 –> 02:48:51,600
سرد
4645
02:48:51,600 –> 02:48:53,760
بنابراین ما به آنجا برویم، اکنون می توانیم از آن عبور کنیم
4646
02:48:53,760 –> 02:48:55,680
توکن در اطراف تا این نشانه باشد
4647
02:48:55,680 –> 02:48:57,680
که ما می توانیم آن را در قسمت جلو قرار دهیم
4648
02:48:57,680 –> 02:48:59,359
کاربران نهایی قادر به دیدن و سپس
4649
02:48:59,359 –> 02:49:01,279
در پایان این زمانی است که ما انجام می دهیم
4650
02:49:01,279 –> 02:49:03,760
در واقع به رمزگشایی آن بروید
4651
02:49:03,760 –> 02:49:05,920
بنابراین اجازه دهید در واقع مقداری انقضا اضافه کنیم
4652
02:49:05,920 –> 02:49:06,800
اینجا
4653
02:49:06,800 –> 02:49:09,920
بنابراین انقضا کلید آن همیشه است
4654
02:49:09,920 –> 02:49:12,720
exp بنابراین زمانی که ما واقعاً آن را رمزگذاری می کنیم
4655
02:49:12,720 –> 02:49:14,160
آن را به دنبال این کلید در این است
4656
02:49:14,160 –> 02:49:17,279
فرهنگ لغت به نوعی منقضی شده است
4657
02:49:17,279 –> 02:49:18,479
بنابراین برای انجام این کار ما از آن استفاده می کنیم
4658
02:49:18,479 –> 02:49:21,279
datetime.datetime.utc
4659
02:49:21,279 –> 02:49:22,319
اکنون
4660
02:49:22,319 –> 02:49:24,880
بنابراین می خواهیم اکنون با utc شروع کنیم و
4661
02:49:24,880 –> 02:49:26,240
سپس ما قصد داریم به نوعی اضافه کنیم
4662
02:49:26,240 –> 02:49:27,920
دلتای زمانی از آن
4663
02:49:27,920 –> 02:49:30,880
بنابراین اساسا خود نشانه ژتون واقعی
4664
02:49:30,880 –> 02:49:32,560
یا بسته jot python jose
4665
02:49:32,560 –> 02:49:36,319
بسته قرار است از utc خارج شود
4666
02:49:36,319 –> 02:49:39,840
بنابراین برای مثال در واقع یک تاخیر اضافه کنید
4667
02:49:39,840 –> 02:49:42,000
بیایید جلو برویم و آن را در اینجا جمع کنیم و
4668
02:49:42,000 –> 02:49:43,120
گفتن
4669
02:49:43,120 –> 02:49:45,840
می دانید بعد از آن منقضی می شود
4670
02:49:45,840 –> 02:49:48,240
و ما فقط می گوییم 10 ثانیه و 10.
4671
02:49:48,240 –> 02:49:51,200
برای این کار فقط datetime.time را اضافه می کنیم
4672
02:49:51,200 –> 02:49:52,319
دلتا
4673
02:49:52,319 –> 02:49:55,359
و ثانیه 10 یا منقضی شده است
4674
02:49:55,359 –> 02:49:56,240
بعد از
4675
02:49:56,240 –> 02:49:58,479
به طوری که البته می تواند در طول زمان تغییر کند
4676
02:49:58,479 –> 02:50:00,800
اما این به من 10 ثانیه می دهد
4677
02:50:00,800 –> 02:50:03,200
آینده پس از آن پس از آن به پایان می رسد
4678
02:50:03,200 –> 02:50:04,319
وقت تمام است
4679
02:50:04,319 –> 02:50:05,439
سپس در گذشته خواهد بود و نخواهد شد
4680
02:50:05,439 –> 02:50:07,120
دیگر قادر به رمزگشایی آن باشیم، پس بیایید
4681
02:50:07,120 –> 02:50:09,040
امیدوارم بعد از 10 نگاه کنید
4682
02:50:09,040 –> 02:50:10,240
چند ثانیه یا بیشتر
4683
02:50:10,240 –> 02:50:11,840
من واقعا نمی خواهم برای 10 صحبت کنم
4684
02:50:11,840 –> 02:50:14,720
چند ثانیه این در نهایت کاری را انجام می دهد
4685
02:50:14,720 –> 02:50:16,560
و بنابراین ما به رمزگشایی آن می رویم که هنوز است
4686
02:50:16,560 –> 02:50:18,960
کار انقضا نیز ذکر شده است
4687
02:50:18,960 –> 02:50:19,760
آنجا
4688
02:50:19,760 –> 02:50:21,680
و سپس در نهایت آن را در واقع
4689
02:50:21,680 –> 02:50:25,520
به من یک خطای امضای منقضی شده می دهد
4690
02:50:25,520 –> 02:50:28,080
این البته استثناست
4691
02:50:28,080 –> 02:50:30,000
اتفاق می افتد که اساسا گفتن هی
4692
02:50:30,000 –> 02:50:32,560
امضا منقضی شده همین
4693
02:50:32,560 –> 02:50:34,399
که راه دیگری برای گفتن جلسه است
4694
02:50:34,399 –> 02:50:37,359
برای این نشانه تمام شده است، بنابراین من می روم
4695
02:50:37,359 –> 02:50:39,279
ادامه دهید و در واقع این را وارد کنید
4696
02:50:39,279 –> 02:50:40,960
استثنا بنابراین ما آن را وارد می کنیم
4697
02:50:40,960 –> 02:50:42,479
اکنون
4698
02:50:42,479 –> 02:50:44,720
و بنابراین کاری که می توانم انجام دهم این است که در واقع می توانم
4699
02:50:44,720 –> 02:50:47,680
اکنون این را به عنوان یک بلوک امتحان بیاورید
4700
02:50:47,680 –> 02:50:50,560
و سپس آن استثنا را مدیریت کنید
4701
02:50:50,560 –> 02:50:52,080
و فقط آن را چاپ کنید
4702
02:50:52,080 –> 02:50:54,080
خوب پس راه دیگری برای فکر کردن در مورد آن
4703
02:50:54,080 –> 02:50:55,200
اوه است
4704
02:50:55,200 –> 02:50:57,520
شما نیاز دارید که از سیستم خارج شده باشید یا
4705
02:50:57,520 –> 02:50:59,680
توکن باید دوباره منتشر شود، ما می رویم
4706
02:50:59,680 –> 02:51:01,439
به ماندن فقط شما وارد شده اید
4707
02:51:01,439 –> 02:51:02,399
بیرون
4708
02:51:02,399 –> 02:51:04,720
بنابراین در واقع در حال حاضر یک اساسی وجود دارد
4709
02:51:04,720 –> 02:51:06,240
روش استفاده
4710
02:51:06,240 –> 02:51:08,800
این نشانه ها بنابراین ابتدا می توانیم تعریف کنیم
4711
02:51:08,800 –> 02:51:11,279
یک روش ورود در اینجا چند مورد وجود دارد
4712
02:51:11,279 –> 02:51:12,560
روش های مختلف در مورد اینکه چگونه می توانیم فکر کنیم
4713
02:51:12,560 –> 02:51:14,080
در مورد انجام این کار در حال حاضر من فقط می روم
4714
02:51:14,080 –> 02:51:16,399
تا بروم و شناسه کاربری خود را اضافه کنم
4715
02:51:16,399 –> 02:51:18,960
و پس از آن شاید زمانی منقضی می شود که من می روم
4716
02:51:18,960 –> 02:51:21,520
جلو و پنج ثانیه به عنوان پیش فرض بگویید
4717
02:51:21,520 –> 02:51:22,880
و سپس دوباره من می روم جلو و
4718
02:51:22,880 –> 02:51:24,640
از همه اینها در اینجا استفاده کنید
4719
02:51:24,640 –> 02:51:27,200
خوب پس شناسه خام من اینجاست و بعدش هم هست
4720
02:51:27,200 –> 02:51:29,200
فقط برمیگردم a
4721
02:51:29,200 –> 02:51:31,520
نشانه
4722
02:51:31,520 –> 02:51:33,120
باشه و البته میتونم تغییرش بدم
4723
02:51:33,120 –> 02:51:35,200
الگوریتم و موارد مشابه این کاربر
4724
02:51:35,200 –> 02:51:36,560
من می خواهم
4725
02:51:36,560 –> 02:51:37,600
آن را وارد کنید
4726
02:51:37,600 –> 02:51:38,800
درست مثل این
4727
02:51:38,800 –> 02:51:41,040
من دیگر به ایمیل نیازی ندارم بنابراین من
4728
02:51:41,040 –> 02:51:42,560
می تواند از شر آن خلاص شود
4729
02:51:42,560 –> 02:51:44,160
شما چیزی می دانید که می تواند اضافه کند
4730
02:51:44,160 –> 02:51:44,880
که در
4731
02:51:44,880 –> 02:51:46,960
یک رول در اینجا است
4732
02:51:46,960 –> 02:51:48,880
اکنون این رول است
4733
02:51:48,880 –> 02:51:51,040
تا حدی فقط به
4734
02:51:51,040 –> 02:51:53,120
ما را از نیاز به انجام همیشه بازدارد
4735
02:51:53,120 –> 02:51:56,240
جستجو در انتهای سمت راست ما بنابراین جستجوها
4736
02:51:56,240 –> 02:51:58,800
سلام اگر من این شناسه کاربری و آن را داشته باشم
4737
02:51:58,800 –> 02:52:01,920
نقشی که شاید همیشه نیازی به آن نداشته باشم
4738
02:52:01,920 –> 02:52:02,960
بررسی
4739
02:52:02,960 –> 02:52:05,359
در جدول کاربر
4740
02:52:05,359 –> 02:52:07,840
که آنها این نقش را به درستی دارند
4741
02:52:07,840 –> 02:52:09,600
مانند سطح مجوزهایی که هستند
4742
02:52:09,600 –> 02:52:11,040
مربوط به آن
4743
02:52:11,040 –> 02:52:12,319
این چیزی است که شما ممکن است یا نه
4744
02:52:12,319 –> 02:52:14,640
می خواهید هر از گاهی انجام دهید اما این یک است
4745
02:52:14,640 –> 02:52:16,399
چیز خوبی برای فکر کردن
4746
02:52:16,399 –> 02:52:18,800
بنابراین اکنون می توانم توکن خود را اینجا بگیرم
4747
02:52:18,800 –> 02:52:21,600
با یک نوع شناسه کاربری
4748
02:52:21,600 –> 02:52:24,080
بنابراین من واقعاً یک کاربر واقعی پیدا می کنم
4749
02:52:24,080 –> 02:52:27,600
id بنابراین من j برابر با کاربر است
4750
02:52:27,600 –> 02:52:31,600
نقطه objects.all و سپس نقطه اول
4751
02:52:31,600 –> 02:52:33,439
اجازه دهید در واقع فقط نگاهی به j dot بیندازیم
4752
02:52:33,439 –> 02:52:35,200
شناسه کاربر
4753
02:52:35,200 –> 02:52:37,439
و سپس ما جلوتر می رویم و وارد سیستم می شویم
4754
02:52:37,439 –> 02:52:39,520
j شناسه کاربری
4755
02:52:39,520 –> 02:52:42,920
و سپس منقضی می شود
4756
02:52:42,960 –> 02:52:45,520
در پنج ثانیه باشه
4757
02:52:45,520 –> 02:52:48,080
بنابراین به طور طبیعی این باید به ما یک نشانه بدهد
4758
02:52:48,080 –> 02:52:49,120
درست
4759
02:52:49,120 –> 02:52:50,640
در حال حاضر شما همچنین ممکن است تعجب کنید که باید
4760
02:52:50,640 –> 02:52:53,359
ما ایمیل و رمز عبور را در اینجا قرار می دهیم
4761
02:52:53,359 –> 02:52:54,800
احتمالا ما باید در واقع
4762
02:52:54,800 –> 02:52:55,680
دارند
4763
02:52:55,680 –> 02:52:58,080
بررسی شناسه کاربر در لاگین اتفاق می افتد
4764
02:52:58,080 –> 02:52:59,439
که کاری است که ما انجام خواهیم داد
4765
02:52:59,439 –> 02:53:01,520
آن را با خود نمای اجرا کنید
4766
02:53:01,520 –> 02:53:03,680
اما در حال حاضر این یک نوع تقلید است
4767
02:53:03,680 –> 02:53:05,359
چه چیزی شبیه خواهد بود
4768
02:53:05,359 –> 02:53:07,040
بعداً این فقط تأیید می شود
4769
02:53:07,040 –> 02:53:08,960
نشانه بنابراین تعریف کنید
4770
02:53:08,960 –> 02:53:11,520
تایید کاربر
4771
02:53:11,520 –> 02:53:12,560
اساسا
4772
02:53:12,560 –> 02:53:14,240
بنابراین ما جلوتر می رویم و در رمز عبور می کنیم
4773
02:53:14,240 –> 02:53:15,760
در حال حاضر وجود دارد
4774
02:53:15,760 –> 02:53:17,439
و به آنجا می رویم
4775
02:53:17,439 –> 02:53:19,600
بنابراین این در حال حاضر به من می دهد خام من
4776
02:53:19,600 –> 02:53:21,520
داده ها در اینجا
4777
02:53:21,520 –> 02:53:25,439
و به طور پیش فرض هیچ کدام نخواهد بود
4778
02:53:25,439 –> 02:53:28,560
و سپس تایید شد
4779
02:53:28,560 –> 02:53:30,560
دروغ خواهد بود
4780
02:53:30,560 –> 02:53:33,680
اگر منقضی نشده است
4781
02:53:33,680 –> 02:53:35,279
خطای امضا
4782
02:53:35,279 –> 02:53:36,960
سپس من ادامه می دهم و می گویم تایید شده است
4783
02:53:36,960 –> 02:53:40,160
درست است در غیر این صورت ما آن و آن را خواهیم دید
4784
02:53:40,160 –> 02:53:42,080
استثنا هر استثنای دیگر من فقط
4785
02:53:42,080 –> 02:53:44,319
برو جلو و بگو پاس و برگردان
4786
02:53:44,319 –> 02:53:47,840
داده ها و تایید شده است
4787
02:53:47,840 –> 02:53:49,359
خوب پس حالا بیایید جلو برویم و آن را اجرا کنیم
4788
02:53:49,359 –> 02:53:51,840
البته اگر الان آن را اجرا کنم کاربر تایید شده است
4789
02:53:51,840 –> 02:53:53,600
امضا منقضی شده و مدتها بعد است
4790
02:53:53,600 –> 02:53:55,920
پنج ثانیه اما اگر بروم
4791
02:53:55,920 –> 02:53:58,560
واقعا سریع اینجا منقضی نمی شود یا
4792
02:53:58,560 –> 02:54:01,200
هنوز منقضی نشده است پس می دهد
4793
02:54:01,200 –> 02:54:03,279
من هر دوی آن چیزها را به طوری که داده است
4794
02:54:03,279 –> 02:54:05,439
و تایید شد
4795
02:54:05,439 –> 02:54:06,560
و به آنجا می رویم
4796
02:54:06,560 –> 02:54:08,560
بسیار خوب و سپس ما چاپ می کنیم
4797
02:54:08,560 –> 02:54:10,960
داده ها
4798
02:54:11,040 –> 02:54:13,920
خوب پس ما رمز تایید شده است
4799
02:54:13,920 –> 02:54:15,520
بنابراین این چیزی است که من در واقع می توانم
4800
02:54:15,520 –> 02:54:18,880
اساساً روی هر نما اجرا شود
4801
02:54:18,880 –> 02:54:20,640
و دلیل این است که ما این کار را انجام می دهیم
4802
02:54:20,640 –> 02:54:22,880
همچنین این واقعیت است که اگر اینطور نیست
4803
02:54:22,880 –> 02:54:26,000
تایید شد، سپس من می توانم ورود داشته باشم
4804
02:54:26,000 –> 02:54:28,080
تغییر مسیر مانند تغییر مسیر نما
4805
02:54:28,080 –> 02:54:30,640
جای دیگری چون تایید نشده است
4806
02:54:30,640 –> 02:54:31,920
بنابراین این چیزی است که ما باید کار کنیم
4807
02:54:31,920 –> 02:54:32,640
بر
4808
02:54:32,640 –> 02:54:34,800
با این یکی نیز ناگفته نماند
4809
02:54:34,800 –> 02:54:36,160
که می دانید شاید بتوانم آن را انجام دهم
4810
02:54:36,160 –> 02:54:38,000
داخل خود کاربر تایید شده یا
4811
02:54:38,000 –> 02:54:40,080
شاید همه داده ها شامل شود
4812
02:54:40,080 –> 02:54:42,240
این و یا اگر آنها تایید نشده اند ما فقط
4813
02:54:42,240 –> 02:54:44,319
هیچکدام را درست برگردانید، بنابراین من در واقع نمی توانم
4814
02:54:44,319 –> 02:54:46,080
واقعاً به این مقدار بولی نیاز دارید
4815
02:54:46,080 –> 02:54:48,399
داده ها مقدار بولی خواهند بود
4816
02:54:48,399 –> 02:54:50,399
برای من اساسا
4817
02:54:50,399 –> 02:54:52,880
اگر کاربر اگر آن داده ها وجود ندارد، من
4818
02:54:52,880 –> 02:54:54,160
فقط می توان فرض کرد که نیستند
4819
02:54:54,160 –> 02:54:55,680
تایید شده است
4820
02:54:55,680 –> 02:54:59,120
همین الان اگر بیام اینجا
4821
02:54:59,200 –> 02:55:01,279
بیایید دوباره آن را امتحان کنیم و از شر آن خلاص شویم
4822
02:55:01,279 –> 02:55:02,800
که
4823
02:55:02,800 –> 02:55:03,840
اکنون
4824
02:55:03,840 –> 02:55:05,680
کاربر تأیید نشده است بنابراین هیچ داده ای وجود ندارد
4825
02:55:05,680 –> 02:55:08,479
ما باید آنها را تغییر مسیر دهیم
4826
02:55:08,479 –> 02:55:10,240
درسته باحال
4827
02:55:10,240 –> 02:55:12,080
بنابراین این در حال آزمایش با یک نقطه است
4828
02:55:12,080 –> 02:55:14,399
نشان می دهد که ما در واقع چقدر داده داریم
4829
02:55:14,399 –> 02:55:17,200
من می خواهم بگویم می خواهم یک نشانه کار بگذارم
4830
02:55:17,200 –> 02:55:20,319
حداقل مقدار داده در اینجا
4831
02:55:20,319 –> 02:55:21,840
اکنون یکی از چیزهایی که ممکن است شما باشید
4832
02:55:21,840 –> 02:55:24,240
وسوسه انجام دادن اضافه کردن موارد اضافی است
4833
02:55:24,240 –> 02:55:27,040
مجوز موارد را در اینجا تایپ کنید
4834
02:55:27,040 –> 02:55:30,160
اگر از اینها به عنوان منبع اصلی خود استفاده کنید
4835
02:55:30,160 –> 02:55:31,840
همیشه اجازه نمی دهد
4836
02:55:31,840 –> 02:55:32,880
عالی باش
4837
02:55:32,880 –> 02:55:34,720
در عوض کاری که من در نهایت انجام خواهم داد این است
4838
02:55:34,720 –> 02:55:37,200
داشتن خود شناسه کاربری
4839
02:55:37,200 –> 02:55:39,279
رفتن به هر دیدگاه داده شده
4840
02:55:39,279 –> 02:55:41,840
در آن نما، شناسه کاربری را بررسی کنید
4841
02:55:41,840 –> 02:55:43,520
برای اجازه مناسب و نه
4842
02:55:43,520 –> 02:55:44,720
لزوما
4843
02:55:44,720 –> 02:55:46,640
در واقع رفتن از آنچه این نقش
4844
02:55:46,640 –> 02:55:47,600
ممکن است
4845
02:55:47,600 –> 02:55:49,520
اما این می تواند به طور بالقوه مفید باشد
4846
02:55:49,520 –> 02:55:51,840
قسمت جلویی نیز برای انواع مختلف
4847
02:55:51,840 –> 02:55:53,439
همه چیز خوب است، بنابراین قبل از رفتن من فقط
4848
02:55:53,439 –> 02:55:55,200
می خواستم این نشانه را همینجا لمس کنم
4849
02:55:55,200 –> 02:55:57,120
پس بیایید جلو برویم و کل آن را کپی کنیم
4850
02:55:57,120 –> 02:55:59,439
در صورت نیاز یک چیز جدید بسازید و
4851
02:55:59,439 –> 02:56:01,920
به jwt.io بروید
4852
02:56:01,920 –> 02:56:04,399
اکنون این دامنه به شما اجازه می دهد تا ببینید که a
4853
02:56:04,399 –> 02:56:06,479
jot token به نظر می رسد اگر آن را بچسبانم
4854
02:56:06,479 –> 02:56:09,120
به این ناحیه کدگذاری شده توجه کنید که من
4855
02:56:09,120 –> 02:56:10,960
محموله در حال عبور است
4856
02:56:10,960 –> 02:56:12,800
حتی اگر اشتباه باشد که من
4857
02:56:12,800 –> 02:56:15,040
قبل از آن واقعاً مهم نیست که چیست
4858
02:56:15,040 –> 02:56:18,080
نشانه آن است که در واقع نشان خواهد داد
4859
02:56:18,080 –> 02:56:19,840
چه چیزی در داخل آن داده است
4860
02:56:19,840 –> 02:56:22,240
آن داده را رمزگشایی کنید تا این یکی دیگر باشد
4861
02:56:22,240 –> 02:56:25,279
دلیلی برای اطمینان از اینکه نداریم
4862
02:56:25,279 –> 02:56:27,840
اطلاعات خصوصی داخل این داده ها
4863
02:56:27,840 –> 02:56:29,520
اصلاً ما قطعاً نمی خواهیم داشته باشیم
4864
02:56:29,520 –> 02:56:32,319
آدرس ایمیل کاربران ما به عنوان مثال ما
4865
02:56:32,319 –> 02:56:34,319
ما واقعاً نمی خواهیم اکنون آن را داشته باشیم
4866
02:56:34,319 –> 02:56:36,880
خود شناسه کاربری که فکر می کنم به طور کلی است
4867
02:56:36,880 –> 02:56:37,840
باشه
4868
02:56:37,840 –> 02:56:39,920
برخی از تولید واقعا سطح بالا
4869
02:56:39,920 –> 02:56:41,200
برنامه های کاربردی
4870
02:56:41,200 –> 02:56:44,080
شناسه های کاربری را درست در معرض دید قرار دهید تا دوست داشته باشید
4871
02:56:44,080 –> 02:56:45,840
اگر به آیدی کانال فکر می کنید
4872
02:56:45,840 –> 02:56:49,439
یوتیوب که آیدی احتمالا همان شناسه آنهاست
4873
02:56:49,439 –> 02:56:51,760
در پایگاه داده ذخیره کنید و اگر اینطور نیست
4874
02:56:51,760 –> 02:56:54,560
این قطعا یک اشاره گر به یکی است که است
4875
02:56:54,560 –> 02:56:56,800
واقعی بنابراین فقط داشتن شناسه کاربری
4876
02:56:56,800 –> 02:56:58,080
البته لزوما نمی دهد
4877
02:56:58,080 –> 02:57:00,160
مجوز از هر نوع
4878
02:57:00,160 –> 02:57:02,399
یک پله پایین تر این است که ما این نقش را داریم
4879
02:57:02,399 –> 02:57:04,479
به طور بالقوه می تواند مجوز بدهد
4880
02:57:04,479 –> 02:57:07,840
از نوعی در پشت شما ما نمی کنیم
4881
02:57:07,840 –> 02:57:09,439
اکنون می خواهید این کار را انجام دهید، ممکن است آن را وارد کنید
4882
02:57:09,439 –> 02:57:12,000
نشانه jot به عنوان یک Honeypot برای دوست داشتن
4883
02:57:12,000 –> 02:57:12,880
پرت كردن
4884
02:57:12,880 –> 02:57:15,040
توسعه دهندگان رایحه این
4885
02:57:15,040 –> 02:57:17,279
در واقع است و شاید آن را تصادفی به عنوان
4886
02:57:17,279 –> 02:57:19,200
تا آنجا که به نقش مربوط می شود اما
4887
02:57:19,200 –> 02:57:20,479
موضوع این است که ما احتمالا نمی خواهیم
4888
02:57:20,479 –> 02:57:22,240
می خواهند این را داشته باشند
4889
02:57:22,240 –> 02:57:24,720
اینجا در داخل نشانه فک ما بغلتید
4890
02:57:24,720 –> 02:57:26,960
که واقعاً چگونه قسمت جلویی را تغییر می دهد
4891
02:57:26,960 –> 02:57:28,319
به کارش ختم می شود
4892
02:57:28,319 –> 02:57:30,080
زیرا موضوع این است که ما می توانیم
4893
02:57:30,080 –> 02:57:32,160
همیشه فقط یک تماس پشتیبان انجام دهید
4894
02:57:32,160 –> 02:57:36,000
برای بررسی اینکه این کاربر چه نقشی دارد
4895
02:57:36,000 –> 02:57:37,760
درست است که ما در واقع می توانیم واقعی آنها را دریافت کنیم
4896
02:57:37,760 –> 02:57:39,680
در آنجا با یک پرس و جو واقعاً سریع نقش داشته باشید
4897
02:57:39,680 –> 02:57:41,359
به پایگاه داده
4898
02:57:41,359 –> 02:57:43,200
وقتی منطقی است وقتی واقعاً باشد
4899
02:57:43,200 –> 02:57:44,720
لازم است
4900
02:57:44,720 –> 02:57:46,640
بنابراین فعلاً برای درک همین است
4901
02:57:46,640 –> 02:57:49,040
این نشانه ها با آنها آزمایش می کنند
4902
02:57:49,040 –> 02:57:50,479
در حال حاضر ما قصد داریم به جلو برویم و در واقع
4903
02:57:50,479 –> 02:57:52,399
بسیاری از این موارد را اجرا کنید تا
4904
02:57:52,399 –> 02:57:54,720
دیدگاه های ما در واقع می توانند یک ورود داشته باشند
4905
02:57:54,720 –> 02:57:56,960
اساساً هر نوع مورد نیاز است
4906
02:57:56,960 –> 02:57:59,200
نقطه پایانی می تواند ورود به سیستم با
4907
02:57:59,200 –> 02:58:01,760
آن الگو
4908
02:58:02,080 –> 02:58:03,040
در حال حاضر ما می رویم به جلو و
4909
02:58:03,040 –> 02:58:05,680
پیاده سازی برخی از احراز هویت کاربر
4910
02:58:05,680 –> 02:58:07,840
روش ها و سپس در واقع پیاده سازی
4911
02:58:07,840 –> 02:58:09,439
روش هایی که ما همین الان بودیم
4912
02:58:09,439 –> 02:58:11,680
آزمایش با آن در داخل ما
4913
02:58:11,680 –> 02:58:13,359
پوشه کاربران در اینجا من قصد دارم به جلو بروید
4914
02:58:13,359 –> 02:58:15,439
و auth.pi را ایجاد کنید
4915
02:58:15,439 –> 02:58:17,520
و بیایید در مورد انواع مختلف فکر کنیم
4916
02:58:17,520 –> 02:58:19,520
روش هایی که می خواهیم در ابتدا ایجاد کنیم
4917
02:58:19,520 –> 02:58:20,720
ما می خواهیم جلو برویم و یکی را ایجاد کنیم
4918
02:58:20,720 –> 02:58:22,720
به نام ورود به این است
4919
02:58:22,720 –> 02:58:24,720
رمز ما را به سمت راست ما برگردانیم
4920
02:58:24,720 –> 02:58:25,920
آن یکی را دیده است
4921
02:58:25,920 –> 02:58:27,040
در مرحله بعد می رویم و می گوییم
4922
02:58:27,040 –> 02:58:31,359
راستی توکن را تأیید کنید یا شناسه کاربری را تأیید کنید
4923
02:58:31,359 –> 02:58:33,840
یا کاربر این البته در طول می کشد
4924
02:58:33,840 –> 02:58:35,760
نشانه و به من پس خواهد داد نوعی
4925
02:58:35,760 –> 02:58:36,800
داده ها
4926
02:58:36,800 –> 02:58:38,640
سپس من نیز در واقع این کار را انجام خواهم داد
4927
02:58:38,640 –> 02:58:40,720
احراز هویت
4928
02:58:40,720 –> 02:58:42,960
و یا به سادگی احراز هویت و آن را به
4929
02:58:42,960 –> 02:58:47,600
ایمیل و رمز عبور باشه پس ایمیل از
4930
02:58:47,600 –> 02:58:49,359
البته ممکن است نام کاربری باشد
4931
02:58:49,359 –> 02:58:52,000
نام کاربری ایمیل و رمز عبور ما استفاده می کنیم
4932
02:58:52,000 –> 02:58:54,240
ایمیل ما به عنوان راهی برای ورود به این
4933
02:58:54,240 –> 02:58:56,319
خدماتی که در واقع نداریم
4934
02:58:56,319 –> 02:58:58,160
نام کاربری در اینجا
4935
02:58:58,160 –> 02:58:59,600
و بنابراین ما می توانیم در واقع با شروع
4936
02:58:59,600 –> 02:59:01,040
احراز هویت به دلیل آنچه ما در حال تلاش هستیم
4937
02:59:01,040 –> 02:59:03,520
برای انجام این کار این است که یک شی کاربر بر اساس آن را دریافت کنید
4938
02:59:03,520 –> 02:59:04,560
خاموش از
4939
02:59:04,560 –> 02:59:06,479
این ایمیل اینجاست، پس بیایید جلو برویم و انجام دهیم
4940
02:59:06,479 –> 02:59:08,720
که ما از مدل های نقطه ای که هستیم انجام خواهیم داد
4941
02:59:08,720 –> 02:59:09,840
قصد واردات
4942
02:59:09,840 –> 02:59:11,600
کاربر ما
4943
02:59:11,600 –> 02:59:12,720
و ما می خواهیم جلو برویم و بگوییم
4944
02:59:12,720 –> 02:59:15,200
user.objects
4945
02:59:15,200 –> 02:59:17,600
ایمیل برابر با ایمیل است
4946
02:59:17,600 –> 02:59:19,359
حالا دلیل این است که من واقعاً می توانم با کاربر تماس بگیرم
4947
02:59:19,359 –> 02:59:21,840
به objects.get ایمیل برابر با ایمیل است
4948
02:59:21,840 –> 02:59:25,120
زیرا اولین کلید اصلی است اگر آن را داشته باشد
4949
02:59:25,120 –> 02:59:26,880
فرض کنید اولین کلید اصلی نبود
4950
02:59:26,880 –> 02:59:28,560
اگر شناسه کاربری بود
4951
02:59:28,560 –> 02:59:32,000
چیزی که من باید استفاده کنم این است که اجازه می دهد
4952
02:59:32,000 –> 02:59:33,760
فیلتر کردن
4953
02:59:33,760 –> 02:59:34,880
نقطه دریافت کنید
4954
02:59:34,880 –> 02:59:36,720
ایمیل برابر با ایمیل است
4955
02:59:36,720 –> 02:59:39,120
حالا به عنوان مثال اگر شما یک
4956
02:59:39,120 –> 02:59:40,960
نام کاربری که ممکن است برخی از شما باشید
4957
02:59:40,960 –> 02:59:42,640
علاقه مند به انجام دادن
4958
02:59:42,640 –> 02:59:44,800
و شما آن را به عنوان کلید اصلی نداشتید
4959
02:59:44,800 –> 02:59:47,040
بیایید آن را در اینجا پایین بیاوریم
4960
02:59:47,040 –> 02:59:48,800
تو یه همچین کاری کردی
4961
02:59:48,800 –> 02:59:50,479
در حالی که نام کاربری
4962
02:59:50,479 –> 02:59:53,200
و تو این کار را کردی
4963
02:59:53,200 –> 02:59:55,120
پس باید به اینجا بیایی و
4964
02:59:55,120 –> 02:59:58,960
نام کاربری را بگویید و filtering.get را مجاز کنید
4965
02:59:58,960 –> 03:00:01,120
نام کاربری برابر است با
4966
03:00:01,120 –> 03:00:03,359
نام کاربری که به نوعی موضوع مورد نظر است
4967
03:00:03,359 –> 03:00:05,120
خوب پس من در واقع این کار را نمی کنم
4968
03:00:05,120 –> 03:00:07,439
که من می خواهم به ایمیل بچسبم اما
4969
03:00:07,439 –> 03:00:09,359
من فکر می کنم ارزش دیدن را دارد زیرا ما هستیم
4970
03:00:09,359 –> 03:00:13,200
با استفاده از این به عنوان روشی برای احراز هویت
4971
03:00:13,200 –> 03:00:15,040
سپس کاری که می خواهم انجام دهم این است که آن را بررسی کنم
4972
03:00:15,040 –> 03:00:16,880
رمز عبور بنابراین ما اساسا می گویند اگر
4973
03:00:16,880 –> 03:00:19,120
نقطه شی کاربر نیست
4974
03:00:19,120 –> 03:00:22,640
تائید رمز عبور
4975
03:00:23,359 –> 03:00:25,600
از آن رمز عبور خام که اساساً است
4976
03:00:25,600 –> 03:00:26,720
چیست
4977
03:00:26,720 –> 03:00:28,720
که پس از آن ما جلوتر برویم و بگوییم هیچ
4978
03:00:28,720 –> 03:00:30,960
در غیر این صورت آن کاربر را برمی گردانیم
4979
03:00:30,960 –> 03:00:33,600
اشکالی ندارد پس اگر به عقب نگاه کنیم
4980
03:00:33,600 –> 03:00:34,560
مدل
4981
03:00:34,560 –> 03:00:36,399
ما رمز تأیید خود را اینجا داریم
4982
03:00:36,399 –> 03:00:38,880
آن را تأیید خواهد کرد
4983
03:00:38,880 –> 03:00:41,120
هش راست بر اساس امنیت اجرا می شود
4984
03:00:41,120 –> 03:00:43,279
خارج از هش ذخیره شده و همچنین
4985
03:00:43,279 –> 03:00:44,640
رشته خام
4986
03:00:44,640 –> 03:00:46,319
بسیار خوب پس یک یا واقعی به ما می دهد
4987
03:00:46,319 –> 03:00:48,319
ارزش کاذب
4988
03:00:48,319 –> 03:00:50,240
آیا تایید شده است یا نه
4989
03:00:50,240 –> 03:00:52,080
خوب است، بنابراین اگر تأیید نشده است، می گوییم
4990
03:00:52,080 –> 03:00:52,880
هیچ یک
4991
03:00:52,880 –> 03:00:54,399
و البته اگر کاربر این کار را نکند چه می شود
4992
03:00:54,399 –> 03:00:56,720
در این مورد به خوبی در پایگاه داده ما وجود دارد
4993
03:00:56,720 –> 03:00:59,359
ما می توانیم جلو برویم و سعی کنیم اینجا را مسدود کنیم
4994
03:00:59,359 –> 03:01:04,560
و بگویید تقریباً هر استثنایی را بپذیرید
4995
03:01:04,800 –> 03:01:06,399
ما فقط می توانستیم استنباط کنیم
4996
03:01:06,399 –> 03:01:08,319
که مشکلی در این وجود دارد
4997
03:01:08,319 –> 03:01:10,000
کاربر
4998
03:01:10,000 –> 03:01:12,240
در حال حاضر در دراز مدت شاید من
4999
03:01:12,240 –> 03:01:14,800
در واقع می خواهم استثنای دیگری را مطرح کنم
5000
03:01:14,800 –> 03:01:16,640
مانند کاربر وجود ندارد یا چیزی
5001
03:01:16,640 –> 03:01:18,319
5002
03:01:18,319 –> 03:01:20,319
5003
03:01:20,319 –> 03:01:22,319
5004
03:01:22,319 –> 03:01:23,600
5005
03:01:23,600 –> 03:01:25,439
5006
03:01:25,439 –> 03:01:27,279
5007
03:01:27,279 –> 03:01:29,040
5008
03:01:29,040 –> 03:01:31,200
5009
03:01:31,200 –> 03:01:32,160
5010
03:01:32,160 –> 03:01:34,479
5011
03:01:34,479 –> 03:01:37,040
5012
03:01:37,040 –> 03:01:38,080
5013
03:01:38,080 –> 03:01:40,720
5014
03:01:40,720 –> 03:01:42,640
5015
03:01:42,640 –> 03:01:44,399
5016
03:01:44,399 –> 03:01:46,080
5017
03:01:46,080 –> 03:01:49,040
5018
03:01:49,040 –> 03:01:51,680
5019
03:01:51,680 –> 03:01:53,680
5020
03:01:53,680 –> 03:01:55,439
5021
03:01:55,439 –> 03:01:57,120
5022
03:01:57,120 –> 03:01:59,920
5023
03:01:59,920 –> 03:02:03,040
5024
03:02:03,040 –> 03:02:04,560
5025
03:02:04,560 –> 03:02:06,000
5026
03:02:06,000 –> 03:02:06,960
5027
03:02:06,960 –> 03:02:09,439
5028
03:02:09,439 –> 03:02:11,840
5029
03:02:11,840 –> 03:02:14,720
5030
03:02:14,720 –> 03:02:16,560
5031
03:02:16,560 –> 03:02:17,680
5032
03:02:17,680 –> 03:02:19,520
5033
03:02:19,520 –> 03:02:20,399
5034
03:02:20,399 –> 03:02:22,080
5035
03:02:22,080 –> 03:02:23,040
5036
03:02:23,040 –> 03:02:25,840
5037
03:02:25,840 –> 03:02:27,200
5038
03:02:27,200 –> 03:02:29,920
5039
03:02:29,920 –> 03:02:31,680
5040
03:02:31,680 –> 03:02:33,439
5041
03:02:33,439 –> 03:02:34,880
5042
03:02:34,880 –> 03:02:38,479
5043
03:02:38,479 –> 03:02:40,960
5044
03:02:40,960 –> 03:02:41,840
5045
03:02:41,840 –> 03:02:43,600
5046
03:02:43,600 –> 03:02:45,600
5047
03:02:45,600 –> 03:02:48,880
5048
03:02:48,880 –> 03:02:51,040
5049
03:02:51,040 –> 03:02:53,120
5050
03:02:53,120 –> 03:02:58,000
5051
03:02:58,000 –> 03:02:59,279
5052
03:02:59,279 –> 03:03:00,880
5053
03:03:00,880 –> 03:03:02,720
5054
03:03:02,720 –> 03:03:04,080
5055
03:03:04,080 –> 03:03:07,200
5056
03:03:07,200 –> 03:03:10,160
5057
03:03:10,160 –> 03:03:11,439
5058
03:03:11,439 –> 03:03:12,720
5059
03:03:12,720 –> 03:03:15,680
5060
03:03:15,680 –> 03:03:16,800
5061
03:03:16,800 –> 03:03:18,000
5062
03:03:18,000 –> 03:03:20,080
5063
03:03:20,080 –> 03:03:23,040
5064
03:03:23,040 –> 03:03:24,960
5065
03:03:24,960 –> 03:03:26,560
5066
03:03:26,560 –> 03:03:28,399
5067
03:03:28,399 –> 03:03:30,160
5068
03:03:30,160 –> 03:03:31,600
5069
03:03:31,600 –> 03:03:33,920
5070
03:03:33,920 –> 03:03:35,520
5071
03:03:35,520 –> 03:03:37,040
5072
03:03:37,040 –> 03:03:39,359
5073
03:03:39,359 –> 03:03:41,200
5074
03:03:41,200 –> 03:03:42,080
5075
03:03:42,080 –> 03:03:45,359
5076
03:03:45,359 –> 03:03:47,279
5077
03:03:47,279 –> 03:03:48,479
5078
03:03:48,479 –> 03:03:50,880
5079
03:03:51,920 –> 03:03:55,120
5080
03:03:55,120 –> 03:03:56,319
5081
03:03:56,319 –> 03:03:58,160
5082
03:03:58,160 –> 03:03:59,359
5083
03:03:59,359 –> 03:04:00,960
5084
03:04:00,960 –> 03:04:03,200
5085
03:04:03,200 –> 03:04:05,520
5086
03:04:05,520 –> 03:04:07,680
5087
03:04:07,680 –> 03:04:10,000
5088
03:04:10,000 –> 03:04:11,040
5089
03:04:11,040 –> 03:04:13,439
5090
03:04:13,439 –> 03:04:16,000
5091
03:04:16,000 –> 03:04:18,080
5092
03:04:18,080 –> 03:04:20,240
5093
03:04:20,240 –> 03:04:22,080
5094
03:04:22,080 –> 03:04:24,000
5095
03:04:24,000 –> 03:04:25,600
5096
03:04:25,600 –> 03:04:27,920
5097
03:04:27,920 –> 03:04:30,399
5098
03:04:30,399 –> 03:04:32,000
5099
03:04:32,000 –> 03:04:34,319
5100
03:04:34,319 –> 03:04:36,160
5101
03:04:36,160 –> 03:04:37,920
5102
03:04:37,920 –> 03:04:40,560
5103
03:04:40,560 –> 03:04:42,560
5104
03:04:42,560 –> 03:04:45,840
5105
03:04:45,840 –> 03:04:47,439
5106
03:04:47,439 –> 03:04:49,600
5107
03:04:49,600 –> 03:04:51,520
5108
03:04:51,520 –> 03:04:52,560
5109
03:04:52,560 –> 03:04:54,479
5110
03:04:54,479 –> 03:04:56,399
5111
03:04:56,399 –> 03:04:58,080
5112
03:04:58,080 –> 03:05:00,880
5113
03:05:00,880 –> 03:05:02,479
5114
03:05:02,479 –> 03:05:05,040
5115
03:05:05,040 –> 03:05:07,200
5116
03:05:07,200 –> 03:05:08,640
5117
03:05:08,640 –> 03:05:09,680
5118
03:05:09,680 –> 03:05:11,439
5119
03:05:11,439 –> 03:05:13,040
5120
03:05:13,040 –> 03:05:15,279
5121
03:05:15,279 –> 03:05:18,560
5122
03:05:18,560 –> 03:05:21,439
5123
03:05:21,439 –> 03:05:23,920
5124
03:05:23,920 –> 03:05:26,240
5125
03:05:26,240 –> 03:05:28,000
5126
03:05:28,000 –> 03:05:30,240
5127
03:05:30,240 –> 03:05:31,760
5128
03:05:31,760 –> 03:05:34,560
5129
03:05:34,560 –> 03:05:36,880
5130
03:05:36,880 –> 03:05:38,880
5131
03:05:38,880 –> 03:05:41,840
5132
03:05:41,840 –> 03:05:43,600
5133
03:05:43,600 –> 03:05:46,080
5134
03:05:46,080 –> 03:05:48,880
5135
03:05:48,880 –> 03:05:50,960
5136
03:05:50,960 –> 03:05:53,760
5137
03:05:53,760 –> 03:05:55,600
5138
03:05:55,600 –> 03:05:57,920
5139
03:05:57,920 –> 03:06:00,479
5140
03:06:00,479 –> 03:06:01,279
5141
03:06:01,279 –> 03:06:03,120
5142
03:06:03,120 –> 03:06:05,279
5143
03:06:05,279 –> 03:06:06,080
5144
03:06:06,080 –> 03:06:08,000
5145
03:06:08,000 –> 03:06:09,439
5146
03:06:09,439 –> 03:06:11,760
5147
03:06:11,760 –> 03:06:13,279
5148
03:06:13,279 –> 03:06:15,840
5149
03:06:16,479 –> 03:06:18,319
5150
03:06:18,319 –> 03:06:20,080
5151
03:06:20,080 –> 03:06:22,240
5152
03:06:22,240 –> 03:06:24,399
5153
03:06:24,399 –> 03:06:25,840
5154
03:06:25,840 –> 03:06:27,200
5155
03:06:27,200 –> 03:06:27,960
5156
03:06:27,960 –> 03:06:29,760
5157
03:06:29,760 –> 03:06:31,439
5158
03:06:31,439 –> 03:06:34,439
5159
03:06:37,920 –> 03:06:39,840
5160
03:06:39,840 –> 03:06:43,359
5161
03:06:43,359 –> 03:06:45,359
5162
03:06:45,359 –> 03:06:48,000
5163
03:06:48,000 –> 03:06:49,439
5164
03:06:49,439 –> 03:06:51,600
5165
03:06:51,600 –> 03:06:54,399
5166
03:06:54,399 –> 03:06:55,680
5167
03:06:55,680 –> 03:06:56,880
5168
03:06:56,880 –> 03:06:59,760
5169
03:06:59,760 –> 03:07:01,760
5170
03:07:01,760 –> 03:07:03,359
5171
03:07:03,359 –> 03:07:05,279
5172
03:07:05,279 –> 03:07:06,240
5173
03:07:06,240 –> 03:07:08,240
5174
03:07:08,240 –> 03:07:10,080
5175
03:07:10,080 –> 03:07:11,760
5176
03:07:11,760 –> 03:07:13,600
5177
03:07:13,600 –> 03:07:15,680
5178
03:07:15,680 –> 03:07:17,680
5179
03:07:17,680 –> 03:07:20,800
5180
03:07:20,800 –> 03:07:24,000
5181
03:07:24,000 –> 03:07:25,359
5182
03:07:25,359 –> 03:07:26,800
5183
03:07:26,800 –> 03:07:29,279
5184
03:07:29,279 –> 03:07:30,640
5185
03:07:30,640 –> 03:07:32,960
5186
03:07:32,960 –> 03:07:34,800
5187
03:07:34,800 –> 03:07:38,000
5188
03:07:38,000 –> 03:07:40,240
5189
03:07:40,240 –> 03:07:41,520
5190
03:07:41,520 –> 03:07:43,600
5191
03:07:43,600 –> 03:07:46,000
5192
03:07:46,000 –> 03:07:47,600
5193
03:07:47,600 –> 03:07:50,800
5194
03:07:50,800 –> 03:07:53,359
5195
03:07:53,359 –> 03:07:54,880
5196
03:07:54,880 –> 03:07:57,120
5197
03:07:57,120 –> 03:08:00,000
5198
03:08:00,000 –> 03:08:01,920
5199
03:08:01,920 –> 03:08:04,399
5200
03:08:04,399 –> 03:08:05,760
5201
03:08:05,760 –> 03:08:07,920
5202
03:08:07,920 –> 03:08:10,640
5203
03:08:10,640 –> 03:08:13,279
5204
03:08:13,279 –> 03:08:15,120
5205
03:08:15,120 –> 03:08:17,279
5206
03:08:17,279 –> 03:08:18,960
5207
03:08:18,960 –> 03:08:20,800
5208
03:08:20,800 –> 03:08:22,800
5209
03:08:22,800 –> 03:08:24,479
5210
03:08:24,479 –> 03:08:27,840
5211
03:08:27,840 –> 03:08:29,359
5212
03:08:29,359 –> 03:08:31,359
5213
03:08:31,359 –> 03:08:33,920
5214
03:08:33,920 –> 03:08:36,800
5215
03:08:36,800 –> 03:08:38,720
5216
03:08:38,720 –> 03:08:41,279
5217
03:08:41,279 –> 03:08:42,319
5218
03:08:42,319 –> 03:08:45,359
5219
03:08:45,359 –> 03:08:47,680
5220
03:08:47,680 –> 03:08:51,520
5221
03:08:51,520 –> 03:08:53,520
5222
03:08:53,520 –> 03:08:56,240
5223
03:08:56,240 –> 03:08:57,200
5224
03:08:57,200 –> 03:08:58,800
5225
03:08:58,800 –> 03:09:00,640
5226
03:09:00,640 –> 03:09:01,680
5227
03:09:01,680 –> 03:09:03,439
5228
03:09:03,439 –> 03:09:04,640
5229
03:09:04,640 –> 03:09:07,279
5230
03:09:07,279 –> 03:09:09,279
5231
03:09:09,279 –> 03:09:10,240
5232
03:09:10,240 –> 03:09:12,160
5233
03:09:12,160 –> 03:09:13,600
5234
03:09:13,600 –> 03:09:16,479
5235
03:09:16,479 –> 03:09:18,720
5236
03:09:18,720 –> 03:09:21,120
5237
03:09:21,120 –> 03:09:23,040
5238
03:09:23,040 –> 03:09:24,960
5239
03:09:24,960 –> 03:09:27,279
5240
03:09:27,279 –> 03:09:29,359
5241
03:09:29,359 –> 03:09:34,160
5242
03:09:34,160 –> 03:09:35,120
5243
03:09:35,120 –> 03:09:38,160
5244
03:09:38,160 –> 03:09:41,200
5245
03:09:41,200 –> 03:09:42,960
5246
03:09:42,960 –> 03:09:45,120
5247
03:09:45,120 –> 03:09:45,920
5248
03:09:45,920 –> 03:09:47,439
5249
03:09:47,439 –> 03:09:49,840
5250
03:09:49,840 –> 03:09:51,520
5251
03:09:51,520 –> 03:09:54,160
5252
03:09:54,160 –> 03:09:55,359
5253
03:09:55,359 –> 03:09:57,120
5254
03:09:57,120 –> 03:09:59,760
5255
03:09:59,760 –> 03:10:01,439
5256
03:10:01,439 –> 03:10:04,080
5257
03:10:04,080 –> 03:10:05,680
5258
03:10:05,680 –> 03:10:07,200
5259
03:10:07,200 –> 03:10:10,000
5260
03:10:10,000 –> 03:10:12,080
5261
03:10:12,080 –> 03:10:13,439
5262
03:10:13,439 –> 03:10:16,399
5263
03:10:16,399 –> 03:10:19,279
5264
03:10:19,279 –> 03:10:22,000
5265
03:10:22,000 –> 03:10:24,840
5266
03:10:24,840 –> 03:10:26,720
5267
03:10:26,720 –> 03:10:28,399
5268
03:10:28,399 –> 03:10:30,239
5269
03:10:30,239 –> 03:10:32,160
5270
03:10:32,160 –> 03:10:33,920
5271
03:10:33,920 –> 03:10:35,840
5272
03:10:35,840 –> 03:10:38,560
5273
03:10:38,560 –> 03:10:41,359
5274
03:10:41,359 –> 03:10:44,239
5275
03:10:44,239 –> 03:10:45,840
5276
03:10:45,840 –> 03:10:48,319
5277
03:10:48,319 –> 03:10:49,359
5278
03:10:49,359 –> 03:10:52,000
5279
03:10:52,000 –> 03:10:53,520
5280
03:10:53,520 –> 03:10:56,319
5281
03:10:56,319 –> 03:10:57,840
5282
03:10:57,840 –> 03:11:00,239
5283
03:11:00,239 –> 03:11:01,920
5284
03:11:01,920 –> 03:11:03,359
5285
03:11:03,359 –> 03:11:05,520
5286
03:11:05,520 –> 03:11:06,720
5287
03:11:06,720 –> 03:11:08,479
5288
03:11:08,479 –> 03:11:10,720
5289
03:11:10,720 –> 03:11:12,479
5290
03:11:12,479 –> 03:11:14,080
5291
03:11:14,080 –> 03:11:17,359
5292
03:11:17,359 –> 03:11:19,920
5293
03:11:19,920 –> 03:11:22,160
5294
03:11:22,160 –> 03:11:24,640
5295
03:11:24,640 –> 03:11:25,680
5296
03:11:25,680 –> 03:11:26,800
5297
03:11:26,800 –> 03:11:28,800
5298
03:11:28,800 –> 03:11:29,920
5299
03:11:29,920 –> 03:11:32,080
5300
03:11:32,080 –> 03:11:33,040
5301
03:11:33,040 –> 03:11:34,640
5302
03:11:34,640 –> 03:11:36,560
5303
03:11:36,560 –> 03:11:38,399
5304
03:11:38,399 –> 03:11:40,800
5305
03:11:40,800 –> 03:11:43,279
5306
03:11:43,279 –> 03:11:45,760
5307
03:11:45,760 –> 03:11:48,399
5308
03:11:48,399 –> 03:11:51,200
5309
03:11:51,200 –> 03:11:53,120
5310
03:11:53,120 –> 03:11:54,120
5311
03:11:54,120 –> 03:11:55,840
5312
03:11:55,840 –> 03:11:58,000
5313
03:11:58,000 –> 03:11:59,439
5314
03:11:59,439 –> 03:12:00,880
5315
03:12:00,880 –> 03:12:03,200
5316
03:12:03,200 –> 03:12:05,120
5317
03:12:05,120 –> 03:12:06,720
5318
03:12:06,720 –> 03:12:08,319
5319
03:12:08,319 –> 03:12:11,359
5320
03:12:11,359 –> 03:12:14,080
5321
03:12:14,080 –> 03:12:15,040
5322
03:12:15,040 –> 03:12:17,200
5323
03:12:17,200 –> 03:12:18,880
5324
03:12:18,880 –> 03:12:21,760
5325
03:12:21,760 –> 03:12:24,960
5326
03:12:24,960 –> 03:12:26,640
5327
03:12:26,640 –> 03:12:29,760
5328
03:12:29,760 –> 03:12:31,439
5329
03:12:31,439 –> 03:12:33,200
5330
03:12:33,200 –> 03:12:36,319
5331
03:12:36,319 –> 03:12:37,840
5332
03:12:37,840 –> 03:12:38,560
5333
03:12:38,560 –> 03:12:40,160
5334
03:12:40,160 –> 03:12:41,840
5335
03:12:41,840 –> 03:12:43,840
5336
03:12:43,840 –> 03:12:46,399
5337
03:12:46,399 –> 03:12:48,560
5338
03:12:48,560 –> 03:12:49,840
5339
03:12:49,840 –> 03:12:51,520
5340
03:12:51,520 –> 03:12:53,520
5341
03:12:53,520 –> 03:12:55,600
5342
03:12:55,600 –> 03:12:58,560
5343
03:12:58,560 –> 03:12:59,760
5344
03:12:59,760 –> 03:13:01,920
5345
03:13:01,920 –> 03:13:04,399
5346
03:13:04,399 –> 03:13:07,040
5347
03:13:07,040 –> 03:13:09,359
5348
03:13:09,359 –> 03:13:11,359
5349
03:13:11,359 –> 03:13:12,399
5350
03:13:12,399 –> 03:13:14,960
5351
03:13:14,960 –> 03:13:17,279
5352
03:13:17,279 –> 03:13:18,160
5353
03:13:18,160 –> 03:13:19,200
5354
03:13:19,200 –> 03:13:21,200
5355
03:13:21,200 –> 03:13:23,520
5356
03:13:23,520 –> 03:13:25,279
5357
03:13:25,279 –> 03:13:27,600
5358
03:13:27,600 –> 03:13:30,080
5359
03:13:30,080 –> 03:13:31,760
5360
03:13:31,760 –> 03:13:33,680
5361
03:13:33,680 –> 03:13:35,439
5362
03:13:35,439 –> 03:13:36,640
5363
03:13:36,640 –> 03:13:39,120
5364
03:13:39,120 –> 03:13:41,439
5365
03:13:41,439 –> 03:13:44,000
5366
03:13:44,000 –> 03:13:45,760
5367
03:13:45,760 –> 03:13:48,399
5368
03:13:48,399 –> 03:13:51,040
5369
03:13:51,040 –> 03:13:52,880
5370
03:13:52,880 –> 03:13:55,680
5371
03:13:55,680 –> 03:13:58,080
5372
03:13:58,080 –> 03:14:01,040
5373
03:14:01,040 –> 03:14:03,279
5374
03:14:03,279 –> 03:14:04,960
5375
03:14:04,960 –> 03:14:07,200
5376
03:14:07,200 –> 03:14:11,200
5377
03:14:11,200 –> 03:14:13,760
5378
03:14:13,760 –> 03:14:15,600
5379
03:14:15,600 –> 03:14:18,160
5380
03:14:18,160 –> 03:14:20,080
5381
03:14:20,080 –> 03:14:21,840
5382
03:14:21,840 –> 03:14:24,479
5383
03:14:24,479 –> 03:14:26,800
5384
03:14:26,800 –> 03:14:29,040
5385
03:14:29,040 –> 03:14:30,560
5386
03:14:30,560 –> 03:14:33,439
5387
03:14:33,439 –> 03:14:35,200
5388
03:14:35,200 –> 03:14:37,439
5389
03:14:37,439 –> 03:14:39,279
5390
03:14:39,279 –> 03:14:42,000
5391
03:14:42,000 –> 03:14:43,120
5392
03:14:43,120 –> 03:14:45,279
5393
03:14:45,279 –> 03:14:47,359
5394
03:14:47,359 –> 03:14:49,760
5395
03:14:49,760 –> 03:14:52,640
5396
03:14:52,640 –> 03:14:55,279
5397
03:14:55,279 –> 03:14:57,200
5398
03:14:57,200 –> 03:15:00,319
5399
03:15:00,319 –> 03:15:02,800
5400
03:15:02,800 –> 03:15:04,479
5401
03:15:04,479 –> 03:15:06,800
5402
03:15:06,800 –> 03:15:09,760
5403
03:15:09,760 –> 03:15:11,600
5404
03:15:11,600 –> 03:15:15,040
5405
03:15:15,040 –> 03:15:16,960
5406
03:15:16,960 –> 03:15:18,880
5407
03:15:18,880 –> 03:15:21,120
5408
03:15:21,120 –> 03:15:22,239
5409
03:15:22,239 –> 03:15:23,680
5410
03:15:23,680 –> 03:15:24,800
5411
03:15:24,800 –> 03:15:27,920
5412
03:15:27,920 –> 03:15:29,279
5413
03:15:29,279 –> 03:15:31,520
5414
03:15:31,520 –> 03:15:34,160
5415
03:15:34,160 –> 03:15:36,080
5416
03:15:36,080 –> 03:15:37,920
5417
03:15:37,920 –> 03:15:41,520
5418
03:15:41,520 –> 03:15:44,399
5419
03:15:44,399 –> 03:15:46,399
5420
03:15:46,399 –> 03:15:48,479
5421
03:15:48,479 –> 03:15:49,520
5422
03:15:49,520 –> 03:15:51,279
5423
03:15:51,279 –> 03:15:53,760
5424
03:15:53,760 –> 03:15:55,439
5425
03:15:55,439 –> 03:15:57,920
5426
03:15:57,920 –> 03:16:00,319
5427
03:16:00,319 –> 03:16:02,479
5428
03:16:02,479 –> 03:16:05,120
5429
03:16:05,120 –> 03:16:08,319
5430
03:16:08,319 –> 03:16:09,920
5431
03:16:09,920 –> 03:16:11,359
5432
03:16:11,359 –> 03:16:13,680
5433
03:16:13,680 –> 03:16:15,359
5434
03:16:15,359 –> 03:16:19,359
5435
03:16:19,359 –> 03:16:22,160
5436
03:16:22,160 –> 03:16:24,000
5437
03:16:24,000 –> 03:16:25,359
5438
03:16:25,359 –> 03:16:27,760
5439
03:16:27,760 –> 03:16:29,600
5440
03:16:29,600 –> 03:16:31,760
5441
03:16:31,760 –> 03:16:33,359
5442
03:16:33,359 –> 03:16:35,840
5443
03:16:35,840 –> 03:16:38,080
5444
03:16:38,080 –> 03:16:40,080
5445
03:16:40,080 –> 03:16:42,080
5446
03:16:42,080 –> 03:16:44,160
5447
03:16:44,160 –> 03:16:45,680
5448
03:16:45,680 –> 03:16:47,120
5449
03:16:47,120 –> 03:16:49,040
5450
03:16:49,040 –> 03:16:50,560
5451
03:16:50,560 –> 03:16:52,560
5452
03:16:52,560 –> 03:16:55,359
5453
03:16:55,359 –> 03:16:57,600
5454
03:16:57,600 –> 03:16:59,200
5455
03:16:59,200 –> 03:17:01,040
5456
03:17:01,040 –> 03:17:03,359
5457
03:17:03,359 –> 03:17:04,640
5458
03:17:04,640 –> 03:17:06,800
5459
03:17:06,800 –> 03:17:09,120
5460
03:17:09,120 –> 03:17:10,560
5461
03:17:10,560 –> 03:17:13,840
5462
03:17:13,840 –> 03:17:15,279
5463
03:17:15,279 –> 03:17:17,040
5464
03:17:17,040 –> 03:17:18,080
5465
03:17:18,080 –> 03:17:20,479
5466
03:17:20,479 –> 03:17:22,399
5467
03:17:22,399 –> 03:17:24,880
5468
03:17:24,880 –> 03:17:27,200
5469
03:17:27,200 –> 03:17:29,520
5470
03:17:29,520 –> 03:17:30,560
5471
03:17:30,560 –> 03:17:32,239
5472
03:17:32,239 –> 03:17:33,840
5473
03:17:33,840 –> 03:17:36,880
5474
03:17:36,880 –> 03:17:41,600
5475
03:17:41,600 –> 03:17:45,040
5476
03:17:45,040 –> 03:17:47,279
5477
03:17:47,279 –> 03:17:49,520
5478
03:17:49,520 –> 03:17:51,600
5479
03:17:51,600 –> 03:17:54,000
5480
03:17:54,000 –> 03:17:56,800
5481
03:17:56,800 –> 03:17:58,960
5482
03:17:58,960 –> 03:18:01,439
5483
03:18:01,439 –> 03:18:02,640
5484
03:18:02,640 –> 03:18:04,160
5485
03:18:04,160 –> 03:18:06,880
5486
03:18:06,880 –> 03:18:09,200
5487
03:18:09,200 –> 03:18:11,279
5488
03:18:11,279 –> 03:18:13,520
5489
03:18:13,520 –> 03:18:14,880
5490
03:18:14,880 –> 03:18:15,760
5491
03:18:15,760 –> 03:18:17,920
5492
03:18:17,920 –> 03:18:20,399
5493
03:18:20,399 –> 03:18:22,800
5494
03:18:22,800 –> 03:18:26,160
5495
03:18:26,160 –> 03:18:27,120
5496
03:18:27,120 –> 03:18:28,239
5497
03:18:28,239 –> 03:18:30,399
5498
03:18:30,399 –> 03:18:33,439
5499
03:18:33,439 –> 03:18:35,680
5500
03:18:35,680 –> 03:18:38,880
5501
03:18:38,880 –> 03:18:40,960
5502
03:18:40,960 –> 03:18:43,840
5503
03:18:43,840 –> 03:18:46,960
5504
03:18:46,960 –> 03:18:49,680
5505
03:18:49,680 –> 03:18:51,840
5506
03:18:51,840 –> 03:18:55,279
5507
03:18:55,279 –> 03:18:57,520
5508
03:18:57,520 –> 03:18:59,840
5509
03:18:59,840 –> 03:19:01,840
5510
03:19:01,840 –> 03:19:03,359
5511
03:19:03,359 –> 03:19:06,000
5512
03:19:06,000 –> 03:19:07,120
5513
03:19:07,120 –> 03:19:09,520
5514
03:19:09,520 –> 03:19:12,080
5515
03:19:12,080 –> 03:19:14,080
5516
03:19:14,080 –> 03:19:16,000
5517
03:19:16,000 –> 03:19:17,520
5518
03:19:17,520 –> 03:19:18,479
5519
03:19:18,479 –> 03:19:20,960
5520
03:19:20,960 –> 03:19:22,560
5521
03:19:22,560 –> 03:19:24,640
5522
03:19:24,640 –> 03:19:27,279
5523
03:19:27,279 –> 03:19:29,920
5524
03:19:29,920 –> 03:19:32,160
5525
03:19:32,160 –> 03:19:35,279
5526
03:19:35,279 –> 03:19:38,640
5527
03:19:38,640 –> 03:19:41,040
5528
03:19:41,040 –> 03:19:42,479
5529
03:19:42,479 –> 03:19:44,399
5530
03:19:44,399 –> 03:19:49,600
5531
03:19:49,600 –> 03:19:52,960
5532
03:19:53,200 –> 03:19:54,800
5533
03:19:54,800 –> 03:19:57,840
5534
03:19:57,840 –> 03:19:59,439
5535
03:19:59,439 –> 03:20:02,319
5536
03:20:02,319 –> 03:20:04,239
5537
03:20:04,239 –> 03:20:06,160
5538
03:20:06,160 –> 03:20:09,439
5539
03:20:09,439 –> 03:20:11,520
5540
03:20:11,520 –> 03:20:13,359
5541
03:20:13,359 –> 03:20:15,279
5542
03:20:15,279 –> 03:20:17,439
5543
03:20:17,439 –> 03:20:20,800
5544
03:20:20,800 –> 03:20:22,720
5545
03:20:22,720 –> 03:20:24,319
5546
03:20:24,319 –> 03:20:26,880
5547
03:20:26,880 –> 03:20:28,800
5548
03:20:28,800 –> 03:20:30,960
5549
03:20:30,960 –> 03:20:32,720
5550
03:20:32,720 –> 03:20:34,720
5551
03:20:34,720 –> 03:20:37,040
5552
03:20:37,040 –> 03:20:39,200
5553
03:20:39,200 –> 03:20:41,120
5554
03:20:41,120 –> 03:20:42,800
5555
03:20:42,800 –> 03:20:45,120
5556
03:20:45,120 –> 03:20:47,200
5557
03:20:47,200 –> 03:20:49,200
5558
03:20:49,200 –> 03:20:51,120
5559
03:20:51,120 –> 03:20:55,279
5560
03:20:55,279 –> 03:20:57,520
5561
03:20:57,520 –> 03:20:59,840
5562
03:20:59,840 –> 03:21:02,399
5563
03:21:02,399 –> 03:21:06,160
5564
03:21:06,160 –> 03:21:08,479
5565
03:21:08,479 –> 03:21:10,640
5566
03:21:10,640 –> 03:21:11,760
5567
03:21:11,760 –> 03:21:14,399
5568
03:21:14,399 –> 03:21:17,279
5569
03:21:17,279 –> 03:21:19,920
5570
03:21:19,920 –> 03:21:22,000
5571
03:21:22,000 –> 03:21:23,760
5572
03:21:23,760 –> 03:21:25,680
5573
03:21:25,680 –> 03:21:27,920
5574
03:21:27,920 –> 03:21:29,600
5575
03:21:29,600 –> 03:21:31,920
5576
03:21:31,920 –> 03:21:33,920
5577
03:21:33,920 –> 03:21:35,200
5578
03:21:35,200 –> 03:21:37,200
5579
03:21:37,200 –> 03:21:40,720
5580
03:21:40,720 –> 03:21:42,319
5581
03:21:42,319 –> 03:21:44,319
5582
03:21:44,319 –> 03:21:46,239
5583
03:21:46,239 –> 03:21:48,399
5584
03:21:48,399 –> 03:21:49,960
5585
03:21:49,960 –> 03:21:53,120
5586
03:21:53,120 –> 03:21:55,200
5587
03:21:55,200 –> 03:21:57,120
5588
03:21:57,120 –> 03:21:58,399
5589
03:21:58,399 –> 03:22:00,160
5590
03:22:00,160 –> 03:22:01,840
5591
03:22:01,840 –> 03:22:03,760
5592
03:22:03,760 –> 03:22:05,520
5593
03:22:05,520 –> 03:22:07,600
5594
03:22:07,600 –> 03:22:08,720
5595
03:22:08,720 –> 03:22:11,200
5596
03:22:11,200 –> 03:22:13,279
5597
03:22:13,279 –> 03:22:17,200
5598
03:22:17,200 –> 03:22:18,800
5599
03:22:18,800 –> 03:22:21,520
5600
03:22:21,520 –> 03:22:23,520
5601
03:22:23,520 –> 03:22:25,279
5602
03:22:25,279 –> 03:22:28,399
5603
03:22:28,399 –> 03:22:29,760
5604
03:22:29,760 –> 03:22:31,600
5605
03:22:31,600 –> 03:22:33,920
5606
03:22:33,920 –> 03:22:35,600
5607
03:22:35,600 –> 03:22:37,200
5608
03:22:37,200 –> 03:22:38,880
5609
03:22:38,880 –> 03:22:41,439
5610
03:22:41,439 –> 03:22:43,920
5611
03:22:43,920 –> 03:22:46,239
5612
03:22:46,239 –> 03:22:48,399
5613
03:22:48,399 –> 03:22:49,520
5614
03:22:49,520 –> 03:22:51,960
5615
03:22:51,960 –> 03:22:54,720
5616
03:22:54,720 –> 03:22:57,040
5617
03:22:57,040 –> 03:23:00,319
5618
03:23:00,319 –> 03:23:02,239
5619
03:23:02,239 –> 03:23:03,840
5620
03:23:03,840 –> 03:23:04,880
5621
03:23:04,880 –> 03:23:07,439
5622
03:23:07,439 –> 03:23:10,239
5623
03:23:10,239 –> 03:23:13,359
5624
03:23:13,359 –> 03:23:17,120
5625
03:23:17,120 –> 03:23:19,359
5626
03:23:19,359 –> 03:23:22,080
5627
03:23:22,080 –> 03:23:24,880
5628
03:23:24,880 –> 03:23:26,160
5629
03:23:26,160 –> 03:23:27,920
5630
03:23:27,920 –> 03:23:31,439
5631
03:23:31,439 –> 03:23:33,200
5632
03:23:33,200 –> 03:23:35,040
5633
03:23:35,040 –> 03:23:37,200
5634
03:23:37,200 –> 03:23:39,680
5635
03:23:39,680 –> 03:23:42,080
5636
03:23:42,080 –> 03:23:44,080
5637
03:23:44,080 –> 03:23:45,120
5638
03:23:45,120 –> 03:23:47,439
5639
03:23:47,439 –> 03:23:49,200
5640
03:23:49,200 –> 03:23:51,359
5641
03:23:51,359 –> 03:23:54,160
5642
03:23:54,160 –> 03:23:55,920
5643
03:23:55,920 –> 03:23:57,840
5644
03:23:57,840 –> 03:24:00,239
5645
03:24:00,239 –> 03:24:03,359
5646
03:24:03,359 –> 03:24:04,880
5647
03:24:04,880 –> 03:24:07,680
5648
03:24:07,680 –> 03:24:09,520
5649
03:24:09,520 –> 03:24:12,080
5650
03:24:12,080 –> 03:24:13,439
5651
03:24:13,439 –> 03:24:15,120
5652
03:24:15,120 –> 03:24:18,640
5653
03:24:18,640 –> 03:24:19,680
5654
03:24:19,680 –> 03:24:21,680
5655
03:24:21,680 –> 03:24:23,200
5656
03:24:23,200 –> 03:24:24,840
5657
03:24:24,840 –> 03:24:27,520
5658
03:24:27,520 –> 03:24:28,399
5659
03:24:28,399 –> 03:24:29,840
5660
03:24:29,840 –> 03:24:32,080
5661
03:24:32,080 –> 03:24:35,600
5662
03:24:35,600 –> 03:24:38,080
5663
03:24:38,080 –> 03:24:41,120
5664
03:24:41,120 –> 03:24:41,920
5665
03:24:41,920 –> 03:24:43,760
5666
03:24:43,760 –> 03:24:45,359
5667
03:24:45,359 –> 03:24:47,040
5668
03:24:47,040 –> 03:24:49,680
5669
03:24:49,680 –> 03:24:51,920
5670
03:24:51,920 –> 03:24:54,800
5671
03:24:54,800 –> 03:24:59,840
5672
03:24:59,840 –> 03:25:03,120
5673
03:25:03,120 –> 03:25:04,880
5674
03:25:04,880 –> 03:25:06,160
5675
03:25:06,160 –> 03:25:06,960
5676
03:25:06,960 –> 03:25:08,880
5677
03:25:08,880 –> 03:25:11,200
5678
03:25:11,200 –> 03:25:14,080
5679
03:25:14,080 –> 03:25:16,160
5680
03:25:16,160 –> 03:25:17,520
5681
03:25:17,520 –> 03:25:19,279
5682
03:25:19,279 –> 03:25:21,359
5683
03:25:21,359 –> 03:25:24,160
5684
03:25:24,160 –> 03:25:26,640
5685
03:25:26,640 –> 03:25:30,160
5686
03:25:30,160 –> 03:25:31,600
5687
03:25:31,600 –> 03:25:33,040
5688
03:25:33,040 –> 03:25:34,720
5689
03:25:34,720 –> 03:25:36,960
5690
03:25:36,960 –> 03:25:39,040
5691
03:25:39,040 –> 03:25:41,439
5692
03:25:41,439 –> 03:25:45,040
5693
03:25:45,040 –> 03:25:47,840
5694
03:25:47,840 –> 03:25:50,479
5695
03:25:50,479 –> 03:25:52,800
5696
03:25:52,800 –> 03:25:55,120
5697
03:25:55,120 –> 03:25:58,160
5698
03:25:58,160 –> 03:26:00,319
5699
03:26:00,319 –> 03:26:02,800
5700
03:26:02,800 –> 03:26:05,040
5701
03:26:05,040 –> 03:26:08,239
5702
03:26:08,239 –> 03:26:10,080
5703
03:26:10,080 –> 03:26:12,080
5704
03:26:12,080 –> 03:26:14,640
5705
03:26:14,640 –> 03:26:16,800
5706
03:26:16,800 –> 03:26:18,800
5707
03:26:18,800 –> 03:26:20,160
5708
03:26:20,160 –> 03:26:22,319
5709
03:26:22,319 –> 03:26:23,840
5710
03:26:23,840 –> 03:26:25,600
5711
03:26:25,600 –> 03:26:27,120
5712
03:26:27,120 –> 03:26:30,239
5713
03:26:30,239 –> 03:26:32,640
5714
03:26:32,640 –> 03:26:33,600
5715
03:26:33,600 –> 03:26:35,279
5716
03:26:35,279 –> 03:26:37,600
5717
03:26:37,600 –> 03:26:40,720
5718
03:26:40,720 –> 03:26:42,960
5719
03:26:42,960 –> 03:26:44,319
5720
03:26:44,319 –> 03:26:46,000
5721
03:26:46,000 –> 03:26:46,880
5722
03:26:46,880 –> 03:26:48,800
5723
03:26:48,800 –> 03:26:51,439
5724
03:26:51,439 –> 03:26:54,000
5725
03:26:54,000 –> 03:26:56,080
5726
03:26:56,080 –> 03:26:58,399
5727
03:26:58,399 –> 03:27:00,479
5728
03:27:00,479 –> 03:27:03,200
5729
03:27:03,200 –> 03:27:05,439
5730
03:27:05,439 –> 03:27:07,120
5731
03:27:07,120 –> 03:27:10,080
5732
03:27:10,080 –> 03:27:12,000
5733
03:27:12,000 –> 03:27:14,399
5734
03:27:14,399 –> 03:27:17,439
5735
03:27:17,439 –> 03:27:20,560
5736
03:27:20,560 –> 03:27:22,880
5737
03:27:22,880 –> 03:27:25,680
5738
03:27:25,680 –> 03:27:27,840
5739
03:27:27,840 –> 03:27:31,200
5740
03:27:31,200 –> 03:27:32,880
5741
03:27:32,880 –> 03:27:35,920
5742
03:27:35,920 –> 03:27:38,160
5743
03:27:38,160 –> 03:27:39,680
5744
03:27:39,680 –> 03:27:41,279
5745
03:27:41,279 –> 03:27:43,439
5746
03:27:43,439 –> 03:27:45,040
5747
03:27:45,040 –> 03:27:46,800
5748
03:27:46,800 –> 03:27:48,720
5749
03:27:48,720 –> 03:27:51,359
5750
03:27:51,359 –> 03:27:53,680
5751
03:27:53,680 –> 03:27:55,040
5752
03:27:55,040 –> 03:27:57,439
5753
03:27:57,439 –> 03:28:00,399
5754
03:28:00,399 –> 03:28:01,920
5755
03:28:01,920 –> 03:28:04,239
5756
03:28:04,239 –> 03:28:06,399
5757
03:28:06,399 –> 03:28:08,160
5758
03:28:08,160 –> 03:28:10,160
5759
03:28:10,160 –> 03:28:12,160
5760
03:28:12,160 –> 03:28:14,479
5761
03:28:14,479 –> 03:28:17,120
5762
03:28:17,120 –> 03:28:19,200
5763
03:28:19,200 –> 03:28:20,479
5764
03:28:20,479 –> 03:28:22,479
5765
03:28:22,479 –> 03:28:24,479
5766
03:28:24,479 –> 03:28:26,960
5767
03:28:26,960 –> 03:28:31,359
5768
03:28:31,359 –> 03:28:33,520
5769
03:28:33,520 –> 03:28:34,319
5770
03:28:34,319 –> 03:28:36,560
5771
03:28:36,560 –> 03:28:39,600
5772
03:28:39,600 –> 03:28:40,720
5773
03:28:40,720 –> 03:28:43,120
5774
03:28:43,120 –> 03:28:45,359
5775
03:28:45,359 –> 03:28:47,520
5776
03:28:47,520 –> 03:28:50,080
5777
03:28:50,080 –> 03:28:51,680
5778
03:28:51,680 –> 03:28:52,880
5779
03:28:52,880 –> 03:28:54,640
5780
03:28:54,640 –> 03:28:56,880
5781
03:28:56,880 –> 03:28:58,880
5782
03:28:58,880 –> 03:29:02,239
5783
03:29:02,239 –> 03:29:04,160
5784
03:29:04,160 –> 03:29:05,600
5785
03:29:05,600 –> 03:29:09,040
5786
03:29:09,040 –> 03:29:12,239
5787
03:29:12,239 –> 03:29:14,000
5788
03:29:14,000 –> 03:29:16,720
5789
03:29:16,720 –> 03:29:18,960
5790
03:29:18,960 –> 03:29:21,040
5791
03:29:21,040 –> 03:29:22,880
5792
03:29:22,880 –> 03:29:24,960
5793
03:29:24,960 –> 03:29:28,080
5794
03:29:28,080 –> 03:29:29,680
5795
03:29:29,680 –> 03:29:30,560
5796
03:29:30,560 –> 03:29:33,040
5797
03:29:33,040 –> 03:29:35,439
5798
03:29:35,439 –> 03:29:37,600
5799
03:29:37,600 –> 03:29:39,040
5800
03:29:39,040 –> 03:29:41,680
5801
03:29:41,680 –> 03:29:43,600
5802
03:29:43,600 –> 03:29:44,800
5803
03:29:44,800 –> 03:29:46,000
5804
03:29:46,000 –> 03:29:48,800
5805
03:29:48,800 –> 03:29:50,319
5806
03:29:50,319 –> 03:29:51,920
5807
03:29:51,920 –> 03:29:53,279
5808
03:29:53,279 –> 03:29:56,720
5809
03:29:56,720 –> 03:29:59,120
5810
03:29:59,120 –> 03:30:03,120
5811
03:30:03,120 –> 03:30:05,200
5812
03:30:05,200 –> 03:30:07,600
5813
03:30:08,560 –> 03:30:11,040
5814
03:30:11,040 –> 03:30:13,120
5815
03:30:13,120 –> 03:30:14,840
5816
03:30:14,840 –> 03:30:17,600
5817
03:30:17,600 –> 03:30:20,479
5818
03:30:20,479 –> 03:30:21,600
5819
03:30:21,600 –> 03:30:24,960
5820
03:30:24,960 –> 03:30:26,720
5821
03:30:26,720 –> 03:30:27,680
5822
03:30:27,680 –> 03:30:30,399
5823
03:30:30,399 –> 03:30:32,239
5824
03:30:32,239 –> 03:30:33,600
5825
03:30:33,600 –> 03:30:36,479
5826
03:30:36,479 –> 03:30:38,479
5827
03:30:38,479 –> 03:30:39,600
5828
03:30:39,600 –> 03:30:42,080
5829
03:30:42,080 –> 03:30:43,600
5830
03:30:43,600 –> 03:30:45,920
5831
03:30:45,920 –> 03:30:48,080
5832
03:30:48,080 –> 03:30:50,000
5833
03:30:50,000 –> 03:30:51,279
5834
03:30:51,279 –> 03:30:54,560
5835
03:30:54,560 –> 03:30:58,560
5836
03:30:58,560 –> 03:31:00,399
5837
03:31:00,399 –> 03:31:02,640
5838
03:31:02,640 –> 03:31:03,760
5839
03:31:03,760 –> 03:31:05,120
5840
03:31:05,120 –> 03:31:07,279
5841
03:31:07,279 –> 03:31:09,040
5842
03:31:09,040 –> 03:31:12,160
5843
03:31:12,160 –> 03:31:15,359
5844
03:31:15,359 –> 03:31:16,319
5845
03:31:16,319 –> 03:31:18,800
5846
03:31:18,800 –> 03:31:20,960
5847
03:31:20,960 –> 03:31:23,279
5848
03:31:23,279 –> 03:31:25,520
5849
03:31:25,520 –> 03:31:26,720
5850
03:31:26,720 –> 03:31:28,880
5851
03:31:28,880 –> 03:31:30,640
5852
03:31:30,640 –> 03:31:34,880
5853
03:31:34,880 –> 03:31:37,520
5854
03:31:37,520 –> 03:31:38,960
5855
03:31:38,960 –> 03:31:41,680
5856
03:31:41,680 –> 03:31:43,200
5857
03:31:43,200 –> 03:31:45,200
5858
03:31:45,200 –> 03:31:46,720
5859
03:31:46,720 –> 03:31:48,880
5860
03:31:48,880 –> 03:31:50,720
5861
03:31:50,720 –> 03:31:51,920
5862
03:31:51,920 –> 03:31:53,279
5863
03:31:53,279 –> 03:31:55,520
5864
03:31:55,520 –> 03:31:57,760
5865
03:31:57,760 –> 03:31:59,840
5866
03:31:59,840 –> 03:32:01,040
5867
03:32:01,040 –> 03:32:03,520
5868
03:32:03,520 –> 03:32:06,640
5869
03:32:06,640 –> 03:32:08,640
5870
03:32:08,640 –> 03:32:11,120
5871
03:32:11,120 –> 03:32:13,439
5872
03:32:13,439 –> 03:32:16,160
5873
03:32:16,160 –> 03:32:18,319
5874
03:32:18,319 –> 03:32:20,960
5875
03:32:20,960 –> 03:32:23,279
5876
03:32:23,279 –> 03:32:26,080
5877
03:32:26,080 –> 03:32:28,399
5878
03:32:28,399 –> 03:32:30,239
5879
03:32:30,239 –> 03:32:32,399
5880
03:32:32,399 –> 03:32:34,560
5881
03:32:34,560 –> 03:32:35,840
5882
03:32:35,840 –> 03:32:37,680
5883
03:32:37,680 –> 03:32:39,279
5884
03:32:39,279 –> 03:32:40,960
5885
03:32:40,960 –> 03:32:42,479
5886
03:32:42,479 –> 03:32:43,600
5887
03:32:43,600 –> 03:32:45,279
5888
03:32:45,279 –> 03:32:46,720
5889
03:32:46,720 –> 03:32:50,560
5890
03:32:50,560 –> 03:32:52,640
5891
03:32:52,640 –> 03:32:54,080
5892
03:32:54,080 –> 03:32:55,760
5893
03:32:55,760 –> 03:32:57,920
5894
03:32:57,920 –> 03:33:01,040
5895
03:33:01,040 –> 03:33:03,040
5896
03:33:03,040 –> 03:33:06,399
5897
03:33:06,399 –> 03:33:09,200
5898
03:33:09,200 –> 03:33:11,680
5899
03:33:11,680 –> 03:33:14,000
5900
03:33:14,000 –> 03:33:15,760
5901
03:33:15,760 –> 03:33:18,479
5902
03:33:18,479 –> 03:33:21,680
5903
03:33:21,680 –> 03:33:24,000
5904
03:33:24,000 –> 03:33:24,960
5905
03:33:24,960 –> 03:33:29,120
5906
03:33:29,520 –> 03:33:31,200
5907
03:33:31,200 –> 03:33:33,279
5908
03:33:33,279 –> 03:33:35,279
5909
03:33:35,279 –> 03:33:37,120
5910
03:33:37,120 –> 03:33:38,080
5911
03:33:38,080 –> 03:33:40,000
5912
03:33:40,000 –> 03:33:42,080
5913
03:33:42,080 –> 03:33:45,520
5914
03:33:45,520 –> 03:33:46,960
5915
03:33:46,960 –> 03:33:48,720
5916
03:33:48,720 –> 03:33:51,040
5917
03:33:51,040 –> 03:33:52,960
5918
03:33:52,960 –> 03:33:54,880
5919
03:33:54,880 –> 03:33:56,080
5920
03:33:56,080 –> 03:33:57,399
5921
03:33:57,399 –> 03:34:00,479
5922
03:34:00,479 –> 03:34:01,760
5923
03:34:01,760 –> 03:34:04,080
5924
03:34:04,080 –> 03:34:06,239
5925
03:34:06,239 –> 03:34:08,800
5926
03:34:08,800 –> 03:34:10,399
5927
03:34:10,399 –> 03:34:12,399
5928
03:34:12,399 –> 03:34:13,359
5929
03:34:13,359 –> 03:34:14,399
5930
03:34:14,399 –> 03:34:17,520
5931
03:34:17,520 –> 03:34:19,120
5932
03:34:19,120 –> 03:34:21,120
5933
03:34:21,120 –> 03:34:22,960
5934
03:34:22,960 –> 03:34:25,439
5935
03:34:25,439 –> 03:34:26,880
5936
03:34:26,880 –> 03:34:28,640
5937
03:34:28,640 –> 03:34:30,239
5938
03:34:30,239 –> 03:34:31,680
5939
03:34:31,680 –> 03:34:34,000
5940
03:34:34,000 –> 03:34:36,160
5941
03:34:36,160 –> 03:34:37,200
5942
03:34:37,200 –> 03:34:39,279
5943
03:34:39,279 –> 03:34:41,359
5944
03:34:41,359 –> 03:34:44,080
5945
03:34:44,080 –> 03:34:45,439
5946
03:34:45,439 –> 03:34:47,279
5947
03:34:47,279 –> 03:34:49,200
5948
03:34:49,200 –> 03:34:53,040
5949
03:34:53,040 –> 03:34:54,560
5950
03:34:54,560 –> 03:34:56,319
5951
03:34:56,319 –> 03:34:59,200
5952
03:34:59,200 –> 03:35:02,000
5953
03:35:02,800 –> 03:35:05,920
5954
03:35:06,720 –> 03:35:08,840
5955
03:35:08,840 –> 03:35:13,760
5956
03:35:13,760 –> 03:35:14,960
5957
03:35:14,960 –> 03:35:16,800
5958
03:35:16,800 –> 03:35:18,479
5959
03:35:18,479 –> 03:35:21,200
5960
03:35:21,200 –> 03:35:23,840
5961
03:35:23,840 –> 03:35:25,359
5962
03:35:25,359 –> 03:35:28,560
5963
03:35:28,560 –> 03:35:30,479
5964
03:35:30,479 –> 03:35:32,399
5965
03:35:32,399 –> 03:35:34,720
5966
03:35:34,720 –> 03:35:36,160
5967
03:35:36,160 –> 03:35:37,680
5968
03:35:37,680 –> 03:35:39,920
5969
03:35:39,920 –> 03:35:42,160
5970
03:35:42,160 –> 03:35:43,760
5971
03:35:43,760 –> 03:35:46,080
5972
03:35:46,080 –> 03:35:48,399
5973
03:35:48,399 –> 03:35:49,520
5974
03:35:49,520 –> 03:35:51,200
5975
03:35:51,200 –> 03:35:52,640
5976
03:35:52,640 –> 03:35:54,479
5977
03:35:54,479 –> 03:35:55,920
5978
03:35:55,920 –> 03:35:58,800
5979
03:35:58,800 –> 03:36:01,359
5980
03:36:01,359 –> 03:36:03,120
5981
03:36:03,120 –> 03:36:04,880
5982
03:36:04,880 –> 03:36:07,680
5983
03:36:07,680 –> 03:36:09,600
5984
03:36:09,600 –> 03:36:11,359
5985
03:36:11,359 –> 03:36:14,319
5986
03:36:14,319 –> 03:36:16,640
5987
03:36:16,640 –> 03:36:18,880
5988
03:36:18,880 –> 03:36:21,840
5989
03:36:21,840 –> 03:36:23,279
5990
03:36:23,279 –> 03:36:25,279
5991
03:36:25,279 –> 03:36:26,399
5992
03:36:26,399 –> 03:36:30,000
5993
03:36:30,000 –> 03:36:32,560
5994
03:36:32,800 –> 03:36:35,200
5995
03:36:35,200 –> 03:36:37,279
5996
03:36:37,279 –> 03:36:39,279
5997
03:36:39,279 –> 03:36:41,120
5998
03:36:41,120 –> 03:36:43,680
5999
03:36:43,680 –> 03:36:45,600
6000
03:36:45,600 –> 03:36:47,040
6001
03:36:47,040 –> 03:36:48,960
6002
03:36:48,960 –> 03:36:50,960
6003
03:36:50,960 –> 03:36:52,560
6004
03:36:52,560 –> 03:36:54,080
6005
03:36:54,080 –> 03:36:56,399
6006
03:36:56,399 –> 03:36:57,439
6007
03:36:57,439 –> 03:36:58,720
6008
03:36:58,720 –> 03:37:01,279
6009
03:37:01,279 –> 03:37:05,040
6010
03:37:05,040 –> 03:37:06,880
6011
03:37:06,880 –> 03:37:09,279
6012
03:37:09,279 –> 03:37:10,720
6013
03:37:10,720 –> 03:37:13,200
6014
03:37:13,200 –> 03:37:15,439
6015
03:37:15,439 –> 03:37:16,479
6016
03:37:16,479 –> 03:37:17,840
6017
03:37:17,840 –> 03:37:19,600
6018
03:37:19,600 –> 03:37:21,359
6019
03:37:21,359 –> 03:37:23,680
6020
03:37:23,680 –> 03:37:26,720
6021
03:37:26,720 –> 03:37:27,600
6022
03:37:27,600 –> 03:37:29,200
6023
03:37:29,200 –> 03:37:31,680
6024
03:37:31,680 –> 03:37:34,160
6025
03:37:34,160 –> 03:37:36,960
6026
03:37:36,960 –> 03:37:38,160
6027
03:37:38,160 –> 03:37:39,040
6028
03:37:39,040 –> 03:37:40,640
6029
03:37:40,640 –> 03:37:42,640
6030
03:37:42,640 –> 03:37:45,040
6031
03:37:45,040 –> 03:37:46,720
6032
03:37:46,720 –> 03:37:48,800
6033
03:37:48,800 –> 03:37:51,279
6034
03:37:51,279 –> 03:37:53,040
6035
03:37:53,040 –> 03:37:54,640
6036
03:37:54,640 –> 03:37:57,520
6037
03:37:57,520 –> 03:37:59,600
6038
03:37:59,600 –> 03:38:01,439
6039
03:38:01,439 –> 03:38:03,279
6040
03:38:03,279 –> 03:38:06,080
6041
03:38:06,080 –> 03:38:06,800
6042
03:38:06,800 –> 03:38:09,439
6043
03:38:09,439 –> 03:38:12,640
6044
03:38:12,640 –> 03:38:14,319
6045
03:38:14,319 –> 03:38:17,840
6046
03:38:17,840 –> 03:38:19,439
6047
03:38:19,439 –> 03:38:21,840
6048
03:38:21,840 –> 03:38:24,720
6049
03:38:24,720 –> 03:38:26,720
6050
03:38:26,720 –> 03:38:27,520
6051
03:38:27,520 –> 03:38:29,600
6052
03:38:29,600 –> 03:38:31,600
6053
03:38:31,600 –> 03:38:33,520
6054
03:38:33,520 –> 03:38:36,319
6055
03:38:36,319 –> 03:38:38,399
6056
03:38:38,399 –> 03:38:40,080
6057
03:38:40,080 –> 03:38:41,439
6058
03:38:41,439 –> 03:38:44,000
6059
03:38:44,000 –> 03:38:46,000
6060
03:38:46,000 –> 03:38:47,359
6061
03:38:47,359 –> 03:38:49,040
6062
03:38:49,040 –> 03:38:52,560
6063
03:38:52,560 –> 03:38:54,479
6064
03:38:54,479 –> 03:38:56,960
6065
03:38:56,960 –> 03:38:59,199
6066
03:38:59,199 –> 03:39:02,560
6067
03:39:02,560 –> 03:39:04,560
6068
03:39:04,560 –> 03:39:07,199
6069
03:39:07,199 –> 03:39:09,199
6070
03:39:09,199 –> 03:39:11,600
6071
03:39:11,600 –> 03:39:14,080
6072
03:39:14,080 –> 03:39:15,120
6073
03:39:15,120 –> 03:39:16,720
6074
03:39:16,720 –> 03:39:19,199
6075
03:39:19,199 –> 03:39:21,120
6076
03:39:21,120 –> 03:39:24,560
6077
03:39:24,560 –> 03:39:26,399
6078
03:39:26,399 –> 03:39:29,520
6079
03:39:29,520 –> 03:39:31,600
6080
03:39:31,600 –> 03:39:34,479
6081
03:39:34,479 –> 03:39:37,359
6082
03:39:37,359 –> 03:39:39,040
6083
03:39:39,040 –> 03:39:41,359
6084
03:39:41,359 –> 03:39:44,160
6085
03:39:44,160 –> 03:39:46,720
6086
03:39:46,720 –> 03:39:49,199
6087
03:39:49,199 –> 03:39:52,000
6088
03:39:52,000 –> 03:39:54,479
6089
03:39:54,479 –> 03:39:55,760
6090
03:39:55,760 –> 03:39:57,439
6091
03:39:57,439 –> 03:39:59,279
6092
03:39:59,279 –> 03:40:00,960
6093
03:40:00,960 –> 03:40:03,040
6094
03:40:03,040 –> 03:40:06,720
6095
03:40:06,720 –> 03:40:09,680
6096
03:40:10,399 –> 03:40:12,239
6097
03:40:12,239 –> 03:40:14,880
6098
03:40:14,880 –> 03:40:17,600
6099
03:40:17,600 –> 03:40:20,000
6100
03:40:20,000 –> 03:40:20,880
6101
03:40:20,880 –> 03:40:24,560
6102
03:40:24,560 –> 03:40:26,239
6103
03:40:26,239 –> 03:40:30,160
6104
03:40:30,399 –> 03:40:32,960
6105
03:40:32,960 –> 03:40:36,000
6106
03:40:36,000 –> 03:40:38,960
6107
03:40:38,960 –> 03:40:40,880
6108
03:40:40,880 –> 03:40:42,640
6109
03:40:42,640 –> 03:40:45,199
6110
03:40:45,199 –> 03:40:48,160
6111
03:40:48,160 –> 03:40:49,840
6112
03:40:49,840 –> 03:40:51,840
6113
03:40:51,840 –> 03:40:53,840
6114
03:40:53,840 –> 03:40:55,279
6115
03:40:55,279 –> 03:40:58,399
6116
03:40:58,399 –> 03:41:01,120
6117
03:41:01,120 –> 03:41:02,399
6118
03:41:02,399 –> 03:41:05,600
6119
03:41:05,600 –> 03:41:06,479
6120
03:41:06,479 –> 03:41:07,760
6121
03:41:07,760 –> 03:41:09,760
6122
03:41:09,760 –> 03:41:12,880
6123
03:41:12,880 –> 03:41:15,120
6124
03:41:15,120 –> 03:41:17,760
6125
03:41:17,760 –> 03:41:19,520
6126
03:41:19,520 –> 03:41:21,760
6127
03:41:21,760 –> 03:41:23,520
6128
03:41:23,520 –> 03:41:25,520
6129
03:41:25,520 –> 03:41:28,239
6130
03:41:28,239 –> 03:41:30,479
6131
03:41:30,479 –> 03:41:32,800
6132
03:41:32,800 –> 03:41:34,239
6133
03:41:34,239 –> 03:41:36,960
6134
03:41:36,960 –> 03:41:38,560
6135
03:41:38,560 –> 03:41:42,239
6136
03:41:42,239 –> 03:41:44,640
6137
03:41:44,640 –> 03:41:47,040
6138
03:41:47,040 –> 03:41:48,960
6139
03:41:48,960 –> 03:41:53,359
6140
03:41:53,439 –> 03:41:55,120
6141
03:41:55,120 –> 03:41:57,840
6142
03:41:57,840 –> 03:42:00,720
6143
03:42:00,720 –> 03:42:03,520
6144
03:42:03,520 –> 03:42:05,040
6145
03:42:05,040 –> 03:42:05,920
6146
03:42:05,920 –> 03:42:09,040
6147
03:42:09,040 –> 03:42:11,680
6148
03:42:11,680 –> 03:42:13,840
6149
03:42:13,840 –> 03:42:15,439
6150
03:42:15,439 –> 03:42:17,520
6151
03:42:17,520 –> 03:42:20,160
6152
03:42:20,160 –> 03:42:21,840
6153
03:42:21,840 –> 03:42:25,199
6154
03:42:25,199 –> 03:42:27,120
6155
03:42:27,120 –> 03:42:30,560
6156
03:42:30,560 –> 03:42:33,840
6157
03:42:35,359 –> 03:42:36,479
6158
03:42:36,479 –> 03:42:38,479
6159
03:42:38,479 –> 03:42:39,520
6160
03:42:39,520 –> 03:42:42,080
6161
03:42:42,080 –> 03:42:43,680
6162
03:42:43,680 –> 03:42:45,439
6163
03:42:45,439 –> 03:42:46,640
6164
03:42:46,640 –> 03:42:48,800
6165
03:42:48,800 –> 03:42:52,319
6166
03:42:52,319 –> 03:42:54,160
6167
03:42:54,160 –> 03:42:55,439
6168
03:42:55,439 –> 03:42:57,600
6169
03:42:57,600 –> 03:43:00,319
6170
03:43:00,319 –> 03:43:02,080
6171
03:43:02,080 –> 03:43:04,960
6172
03:43:04,960 –> 03:43:08,399
6173
03:43:08,399 –> 03:43:10,160
6174
03:43:10,160 –> 03:43:11,439
6175
03:43:11,439 –> 03:43:13,040
6176
03:43:13,040 –> 03:43:15,680
6177
03:43:15,680 –> 03:43:17,279
6178
03:43:17,279 –> 03:43:20,720
6179
03:43:20,720 –> 03:43:24,160
6180
03:43:24,319 –> 03:43:26,800
6181
03:43:26,800 –> 03:43:29,199
6182
03:43:29,199 –> 03:43:32,239
6183
03:43:32,239 –> 03:43:34,800
6184
03:43:34,800 –> 03:43:35,920
6185
03:43:35,920 –> 03:43:38,319
6186
03:43:38,560 –> 03:43:39,600
6187
03:43:39,600 –> 03:43:42,319
6188
03:43:42,319 –> 03:43:45,760
6189
03:43:45,760 –> 03:43:48,880
6190
03:43:48,880 –> 03:43:51,199
6191
03:43:51,199 –> 03:43:52,880
6192
03:43:52,880 –> 03:43:55,120
6193
03:43:55,120 –> 03:43:57,520
6194
03:43:57,520 –> 03:43:59,520
6195
03:43:59,520 –> 03:44:02,160
6196
03:44:02,160 –> 03:44:04,479
6197
03:44:04,479 –> 03:44:05,920
6198
03:44:05,920 –> 03:44:07,120
6199
03:44:07,120 –> 03:44:09,199
6200
03:44:09,199 –> 03:44:13,199
6201
03:44:13,199 –> 03:44:15,520
6202
03:44:15,520 –> 03:44:18,399
6203
03:44:18,399 –> 03:44:20,080
6204
03:44:20,080 –> 03:44:21,439
6205
03:44:21,439 –> 03:44:23,439
6206
03:44:23,439 –> 03:44:26,080
6207
03:44:26,080 –> 03:44:29,520
6208
03:44:29,520 –> 03:44:31,520
6209
03:44:31,520 –> 03:44:33,840
6210
03:44:33,840 –> 03:44:35,760
6211
03:44:35,760 –> 03:44:37,520
6212
03:44:37,520 –> 03:44:39,359
6213
03:44:39,359 –> 03:44:41,600
6214
03:44:41,600 –> 03:44:42,720
6215
03:44:42,720 –> 03:44:44,319
6216
03:44:44,319 –> 03:44:46,880
6217
03:44:46,880 –> 03:44:48,319
6218
03:44:48,319 –> 03:44:52,000
6219
03:44:52,000 –> 03:44:53,600
6220
03:44:53,600 –> 03:44:54,720
6221
03:44:54,720 –> 03:44:56,640
6222
03:44:56,640 –> 03:44:58,000
6223
03:44:58,000 –> 03:45:00,560
6224
03:45:00,560 –> 03:45:03,279
6225
03:45:03,279 –> 03:45:04,960
6226
03:45:04,960 –> 03:45:08,319
6227
03:45:08,319 –> 03:45:10,160
6228
03:45:10,160 –> 03:45:12,560
6229
03:45:12,560 –> 03:45:15,120
6230
03:45:15,120 –> 03:45:17,120
6231
03:45:17,120 –> 03:45:18,800
6232
03:45:18,800 –> 03:45:20,800
6233
03:45:20,800 –> 03:45:22,960
6234
03:45:22,960 –> 03:45:24,239
6235
03:45:24,239 –> 03:45:26,640
6236
03:45:26,640 –> 03:45:27,439
6237
03:45:27,439 –> 03:45:29,040
6238
03:45:29,040 –> 03:45:31,199
6239
03:45:31,199 –> 03:45:33,920
6240
03:45:33,920 –> 03:45:36,960
6241
03:45:36,960 –> 03:45:39,120
6242
03:45:39,120 –> 03:45:42,399
6243
03:45:42,399 –> 03:45:44,399
6244
03:45:44,399 –> 03:45:47,040
6245
03:45:47,040 –> 03:45:49,840
6246
03:45:49,840 –> 03:45:52,239
6247
03:45:52,239 –> 03:45:56,479
6248
03:45:56,479 –> 03:45:58,640
6249
03:45:58,640 –> 03:46:00,319
6250
03:46:00,319 –> 03:46:01,680
6251
03:46:01,680 –> 03:46:03,600
6252
03:46:03,600 –> 03:46:05,359
6253
03:46:05,359 –> 03:46:07,680
6254
03:46:07,680 –> 03:46:09,120
6255
03:46:09,120 –> 03:46:11,520
6256
03:46:11,520 –> 03:46:13,760
6257
03:46:13,760 –> 03:46:15,520
6258
03:46:15,520 –> 03:46:17,840
6259
03:46:17,840 –> 03:46:19,840
6260
03:46:19,840 –> 03:46:21,520
6261
03:46:21,520 –> 03:46:23,120
6262
03:46:23,120 –> 03:46:24,800
6263
03:46:24,800 –> 03:46:27,040
6264
03:46:27,040 –> 03:46:29,199
6265
03:46:29,199 –> 03:46:31,120
6266
03:46:31,120 –> 03:46:32,800
6267
03:46:32,800 –> 03:46:34,399
6268
03:46:34,399 –> 03:46:36,960
6269
03:46:36,960 –> 03:46:38,479
6270
03:46:38,479 –> 03:46:41,600
6271
03:46:41,600 –> 03:46:43,520
6272
03:46:43,520 –> 03:46:47,319
6273
03:46:49,040 –> 03:46:52,080
6274
03:46:52,080 –> 03:46:53,279
6275
03:46:53,279 –> 03:46:55,600
6276
03:46:55,600 –> 03:46:59,359
6277
03:47:00,239 –> 03:47:03,600
6278
03:47:03,600 –> 03:47:05,600
6279
03:47:05,600 –> 03:47:06,960
6280
03:47:06,960 –> 03:47:08,720
6281
03:47:08,720 –> 03:47:10,800
6282
03:47:10,800 –> 03:47:12,800
6283
03:47:12,800 –> 03:47:14,560
6284
03:47:14,560 –> 03:47:15,520
6285
03:47:15,520 –> 03:47:17,840
6286
03:47:17,840 –> 03:47:19,920
6287
03:47:19,920 –> 03:47:21,279
6288
03:47:21,279 –> 03:47:23,680
6289
03:47:23,680 –> 03:47:25,040
6290
03:47:25,040 –> 03:47:27,600
6291
03:47:27,600 –> 03:47:29,199
6292
03:47:29,199 –> 03:47:30,399
6293
03:47:30,399 –> 03:47:33,359
6294
03:47:33,359 –> 03:47:34,720
6295
03:47:34,720 –> 03:47:36,399
6296
03:47:36,399 –> 03:47:37,840
6297
03:47:37,840 –> 03:47:40,000
6298
03:47:40,000 –> 03:47:41,760
6299
03:47:41,760 –> 03:47:42,800
6300
03:47:42,800 –> 03:47:44,080
6301
03:47:44,080 –> 03:47:46,560
6302
03:47:46,560 –> 03:47:48,720
6303
03:47:48,720 –> 03:47:50,319
6304
03:47:50,319 –> 03:47:52,080
6305
03:47:52,080 –> 03:47:53,760
6306
03:47:53,760 –> 03:47:56,000
6307
03:47:56,000 –> 03:47:58,000
6308
03:47:58,000 –> 03:47:59,439
6309
03:47:59,439 –> 03:48:01,520
6310
03:48:01,520 –> 03:48:04,239
6311
03:48:04,239 –> 03:48:05,760
6312
03:48:05,760 –> 03:48:08,000
6313
03:48:08,000 –> 03:48:09,520
6314
03:48:09,520 –> 03:48:11,600
6315
03:48:11,600 –> 03:48:13,520
6316
03:48:13,520 –> 03:48:15,279
6317
03:48:15,279 –> 03:48:17,600
6318
03:48:17,600 –> 03:48:19,279
6319
03:48:19,279 –> 03:48:22,720
6320
03:48:22,720 –> 03:48:25,120
6321
03:48:25,120 –> 03:48:28,640
6322
03:48:28,640 –> 03:48:31,920
6323
03:48:31,920 –> 03:48:34,399
6324
03:48:34,399 –> 03:48:36,880
6325
03:48:37,199 –> 03:48:38,880
6326
03:48:38,880 –> 03:48:41,520
6327
03:48:41,520 –> 03:48:42,640
6328
03:48:42,640 –> 03:48:45,439
6329
03:48:45,439 –> 03:48:47,600
6330
03:48:47,600 –> 03:48:49,680
6331
03:48:49,680 –> 03:48:51,439
6332
03:48:51,439 –> 03:48:52,960
6333
03:48:52,960 –> 03:48:54,560
6334
03:48:54,560 –> 03:48:57,199
6335
03:48:57,199 –> 03:48:59,199
6336
03:48:59,199 –> 03:49:00,960
6337
03:49:00,960 –> 03:49:02,239
6338
03:49:02,239 –> 03:49:03,359
6339
03:49:03,359 –> 03:49:04,479
6340
03:49:04,479 –> 03:49:06,880
6341
03:49:06,880 –> 03:49:09,279
6342
03:49:09,279 –> 03:49:11,439
6343
03:49:11,439 –> 03:49:13,359
6344
03:49:13,359 –> 03:49:14,880
6345
03:49:14,880 –> 03:49:16,560
6346
03:49:16,560 –> 03:49:18,880
6347
03:49:18,880 –> 03:49:20,000
6348
03:49:20,000 –> 03:49:22,399
6349
03:49:22,399 –> 03:49:25,359
6350
03:49:25,359 –> 03:49:26,560
6351
03:49:26,560 –> 03:49:29,120
6352
03:49:29,120 –> 03:49:31,920
6353
03:49:31,920 –> 03:49:33,359
6354
03:49:33,359 –> 03:49:34,640
6355
03:49:34,640 –> 03:49:37,120
6356
03:49:37,120 –> 03:49:38,479
6357
03:49:38,479 –> 03:49:41,199
6358
03:49:41,199 –> 03:49:43,439
6359
03:49:43,439 –> 03:49:45,840
6360
03:49:45,840 –> 03:49:49,680
6361
03:49:49,680 –> 03:49:51,680
6362
03:49:51,680 –> 03:49:53,040
6363
03:49:53,040 –> 03:49:55,120
6364
03:49:55,120 –> 03:49:57,279
6365
03:49:57,279 –> 03:50:00,720
6366
03:50:00,720 –> 03:50:03,040
6367
03:50:03,040 –> 03:50:05,040
6368
03:50:05,040 –> 03:50:06,960
6369
03:50:06,960 –> 03:50:08,800
6370
03:50:08,800 –> 03:50:10,640
6371
03:50:10,640 –> 03:50:12,239
6372
03:50:12,239 –> 03:50:14,800
6373
03:50:14,800 –> 03:50:17,680
6374
03:50:17,680 –> 03:50:18,640
6375
03:50:18,640 –> 03:50:20,560
6376
03:50:20,560 –> 03:50:22,880
6377
03:50:22,880 –> 03:50:24,000
6378
03:50:24,000 –> 03:50:25,439
6379
03:50:25,439 –> 03:50:28,000
6380
03:50:28,000 –> 03:50:30,080
6381
03:50:30,080 –> 03:50:30,880
6382
03:50:30,880 –> 03:50:32,840
6383
03:50:32,840 –> 03:50:34,880
6384
03:50:34,880 –> 03:50:37,120
6385
03:50:37,120 –> 03:50:40,080
6386
03:50:40,080 –> 03:50:42,239
6387
03:50:42,239 –> 03:50:44,319
6388
03:50:44,319 –> 03:50:45,439
6389
03:50:45,439 –> 03:50:47,439
6390
03:50:47,439 –> 03:50:49,439
6391
03:50:49,439 –> 03:50:52,399
6392
03:50:52,399 –> 03:50:54,080
6393
03:50:54,080 –> 03:50:57,840
6394
03:50:57,840 –> 03:51:00,239
6395
03:51:00,239 –> 03:51:03,680
6396
03:51:03,680 –> 03:51:06,479
6397
03:51:06,479 –> 03:51:08,399
6398
03:51:08,399 –> 03:51:09,840
6399
03:51:09,840 –> 03:51:11,199
6400
03:51:11,199 –> 03:51:12,000
6401
03:51:12,000 –> 03:51:14,479
6402
03:51:14,479 –> 03:51:16,880
6403
03:51:16,880 –> 03:51:17,760
6404
03:51:17,760 –> 03:51:19,680
6405
03:51:19,680 –> 03:51:21,600
6406
03:51:21,600 –> 03:51:23,600
6407
03:51:23,600 –> 03:51:24,960
6408
03:51:24,960 –> 03:51:27,040
6409
03:51:27,040 –> 03:51:30,000
6410
03:51:30,000 –> 03:51:32,319
6411
03:51:32,319 –> 03:51:34,000
6412
03:51:34,000 –> 03:51:36,319
6413
03:51:36,319 –> 03:51:38,720
6414
03:51:38,720 –> 03:51:41,439
6415
03:51:41,439 –> 03:51:43,520
6416
03:51:43,520 –> 03:51:46,160
6417
03:51:46,160 –> 03:51:47,920
6418
03:51:47,920 –> 03:51:48,960
6419
03:51:48,960 –> 03:51:51,279
6420
03:51:51,279 –> 03:51:53,600
6421
03:51:53,600 –> 03:51:56,399
6422
03:51:56,399 –> 03:51:58,880
6423
03:51:58,880 –> 03:52:00,479
6424
03:52:00,479 –> 03:52:02,479
6425
03:52:02,479 –> 03:52:03,439
6426
03:52:03,439 –> 03:52:05,760
6427
03:52:05,760 –> 03:52:07,040
6428
03:52:07,040 –> 03:52:09,120
6429
03:52:09,120 –> 03:52:11,279
6430
03:52:11,279 –> 03:52:13,199
6431
03:52:13,199 –> 03:52:15,040
6432
03:52:15,040 –> 03:52:17,120
6433
03:52:17,120 –> 03:52:19,120
6434
03:52:19,120 –> 03:52:22,399
6435
03:52:22,399 –> 03:52:23,840
6436
03:52:23,840 –> 03:52:25,920
6437
03:52:25,920 –> 03:52:28,399
6438
03:52:28,399 –> 03:52:30,080
6439
03:52:30,080 –> 03:52:32,560
6440
03:52:32,560 –> 03:52:35,840
6441
03:52:36,560 –> 03:52:37,840
6442
03:52:37,840 –> 03:52:40,160
6443
03:52:40,160 –> 03:52:42,000
6444
03:52:42,000 –> 03:52:44,880
6445
03:52:44,880 –> 03:52:46,160
6446
03:52:46,160 –> 03:52:48,720
6447
03:52:48,720 –> 03:52:52,160
6448
03:52:52,160 –> 03:52:54,239
6449
03:52:54,239 –> 03:52:56,720
6450
03:52:56,720 –> 03:52:58,720
6451
03:52:58,720 –> 03:53:00,319
6452
03:53:00,319 –> 03:53:02,080
6453
03:53:02,080 –> 03:53:04,000
6454
03:53:04,000 –> 03:53:05,680
6455
03:53:05,680 –> 03:53:08,239
6456
03:53:08,239 –> 03:53:11,640
6457
03:53:11,840 –> 03:53:13,680
6458
03:53:13,680 –> 03:53:15,760
6459
03:53:15,760 –> 03:53:17,279
6460
03:53:17,279 –> 03:53:19,120
6461
03:53:19,120 –> 03:53:21,359
6462
03:53:21,359 –> 03:53:22,560
6463
03:53:22,560 –> 03:53:23,439
6464
03:53:23,439 –> 03:53:24,640
6465
03:53:24,640 –> 03:53:27,359
6466
03:53:27,359 –> 03:53:28,720
6467
03:53:28,720 –> 03:53:31,120
6468
03:53:31,120 –> 03:53:32,080
6469
03:53:32,080 –> 03:53:34,840
6470
03:53:34,840 –> 03:53:37,040
6471
03:53:37,040 –> 03:53:39,760
6472
03:53:39,760 –> 03:53:41,680
6473
03:53:41,680 –> 03:53:44,880
6474
03:53:44,880 –> 03:53:46,000
6475
03:53:46,000 –> 03:53:48,479
6476
03:53:48,479 –> 03:53:50,640
6477
03:53:50,640 –> 03:53:54,399
6478
03:53:54,399 –> 03:53:56,399
6479
03:53:56,399 –> 03:53:58,279
6480
03:53:58,279 –> 03:54:00,160
6481
03:54:00,160 –> 03:54:01,760
6482
03:54:01,760 –> 03:54:03,520
6483
03:54:03,520 –> 03:54:06,560
6484
03:54:06,560 –> 03:54:08,960
6485
03:54:08,960 –> 03:54:10,720
6486
03:54:10,720 –> 03:54:12,640
6487
03:54:12,640 –> 03:54:14,239
6488
03:54:14,239 –> 03:54:16,080
6489
03:54:16,080 –> 03:54:19,760
6490
03:54:19,760 –> 03:54:21,760
6491
03:54:21,760 –> 03:54:23,760
6492
03:54:23,760 –> 03:54:26,000
6493
03:54:26,000 –> 03:54:30,000
6494
03:54:30,000 –> 03:54:32,000
6495
03:54:32,000 –> 03:54:33,840
6496
03:54:33,840 –> 03:54:35,840
6497
03:54:35,840 –> 03:54:37,520
6498
03:54:37,520 –> 03:54:39,760
6499
03:54:39,760 –> 03:54:42,399
6500
03:54:42,399 –> 03:54:44,399
6501
03:54:44,399 –> 03:54:46,720
6502
03:54:46,720 –> 03:54:50,000
6503
03:54:50,000 –> 03:54:53,359
6504
03:54:53,359 –> 03:54:57,279
6505
03:54:58,720 –> 03:55:01,040
6506
03:55:01,040 –> 03:55:02,239
6507
03:55:02,239 –> 03:55:04,720
6508
03:55:04,720 –> 03:55:05,760
6509
03:55:05,760 –> 03:55:08,000
6510
03:55:08,000 –> 03:55:09,920
6511
03:55:09,920 –> 03:55:12,239
6512
03:55:12,239 –> 03:55:13,600
6513
03:55:13,600 –> 03:55:16,720
6514
03:55:16,720 –> 03:55:21,239
6515
03:55:21,520 –> 03:55:23,199
6516
03:55:23,199 –> 03:55:25,040
6517
03:55:25,040 –> 03:55:27,199
6518
03:55:27,199 –> 03:55:28,479
6519
03:55:28,479 –> 03:55:29,920
6520
03:55:29,920 –> 03:55:32,479
6521
03:55:32,479 –> 03:55:34,720
6522
03:55:34,720 –> 03:55:36,880
6523
03:55:36,880 –> 03:55:38,880
6524
03:55:38,880 –> 03:55:40,560
6525
03:55:40,560 –> 03:55:43,120
6526
03:55:43,120 –> 03:55:46,399
6527
03:55:46,399 –> 03:55:48,880
6528
03:55:48,880 –> 03:55:50,960
6529
03:55:50,960 –> 03:55:52,319
6530
03:55:52,319 –> 03:55:53,840
6531
03:55:53,840 –> 03:55:55,439
6532
03:55:55,439 –> 03:55:57,680
6533
03:55:57,680 –> 03:56:00,080
6534
03:56:00,080 –> 03:56:01,520
6535
03:56:01,520 –> 03:56:05,279
6536
03:56:05,279 –> 03:56:06,960
6537
03:56:06,960 –> 03:56:08,720
6538
03:56:08,720 –> 03:56:10,080
6539
03:56:10,080 –> 03:56:12,000
6540
03:56:12,000 –> 03:56:13,359
6541
03:56:13,359 –> 03:56:14,399
6542
03:56:14,399 –> 03:56:16,479
6543
03:56:16,479 –> 03:56:18,720
6544
03:56:18,720 –> 03:56:21,600
6545
03:56:21,600 –> 03:56:22,560
6546
03:56:22,560 –> 03:56:24,880
6547
03:56:24,880 –> 03:56:26,880
6548
03:56:26,880 –> 03:56:29,279
6549
03:56:29,279 –> 03:56:30,800
6550
03:56:30,800 –> 03:56:32,880
6551
03:56:32,880 –> 03:56:34,720
6552
03:56:34,720 –> 03:56:36,960
6553
03:56:36,960 –> 03:56:38,720
6554
03:56:38,720 –> 03:56:39,760
6555
03:56:39,760 –> 03:56:42,640
6556
03:56:42,640 –> 03:56:44,080
6557
03:56:44,080 –> 03:56:46,000
6558
03:56:46,000 –> 03:56:49,359
6559
03:56:49,359 –> 03:56:50,239
6560
03:56:50,239 –> 03:56:53,239
6561
03:56:53,920 –> 03:56:55,840
6562
03:56:55,840 –> 03:56:58,160
6563
03:56:58,160 –> 03:56:59,359
6564
03:56:59,359 –> 03:57:02,239
6565
03:57:02,239 –> 03:57:06,120
6566
03:57:06,160 –> 03:57:08,479
6567
03:57:08,479 –> 03:57:12,560
6568
03:57:12,560 –> 03:57:15,120
6569
03:57:15,120 –> 03:57:17,279
6570
03:57:17,279 –> 03:57:19,439
6571
03:57:19,439 –> 03:57:21,279
6572
03:57:21,279 –> 03:57:23,359
6573
03:57:23,359 –> 03:57:25,279
6574
03:57:25,279 –> 03:57:27,600
6575
03:57:27,600 –> 03:57:29,760
6576
03:57:29,760 –> 03:57:31,359
6577
03:57:31,359 –> 03:57:33,840
6578
03:57:33,840 –> 03:57:36,720
6579
03:57:36,720 –> 03:57:37,760
6580
03:57:37,760 –> 03:57:39,760
6581
03:57:39,760 –> 03:57:41,040
6582
03:57:41,040 –> 03:57:43,680
6583
03:57:43,680 –> 03:57:46,080
6584
03:57:46,080 –> 03:57:48,239
6585
03:57:48,239 –> 03:57:49,600
6586
03:57:49,600 –> 03:57:52,000
6587
03:57:52,000 –> 03:57:54,160
6588
03:57:54,160 –> 03:57:56,720
6589
03:57:56,720 –> 03:57:58,800
6590
03:57:58,800 –> 03:58:01,439
6591
03:58:01,439 –> 03:58:02,479
6592
03:58:02,479 –> 03:58:04,000
6593
03:58:04,000 –> 03:58:06,479
6594
03:58:06,479 –> 03:58:08,560
6595
03:58:08,560 –> 03:58:09,600
6596
03:58:09,600 –> 03:58:11,120
6597
03:58:11,120 –> 03:58:12,160
6598
03:58:12,160 –> 03:58:14,800
6599
03:58:14,800 –> 03:58:17,120
6600
03:58:17,120 –> 03:58:18,720
6601
03:58:18,720 –> 03:58:20,479
6602
03:58:20,479 –> 03:58:22,399
6603
03:58:22,399 –> 03:58:24,479
6604
03:58:24,479 –> 03:58:25,279
6605
03:58:25,279 –> 03:58:27,199
6606
03:58:27,199 –> 03:58:29,199
6607
03:58:29,199 –> 03:58:31,279
6608
03:58:31,279 –> 03:58:32,239
6609
03:58:32,239 –> 03:58:35,359
6610
03:58:35,359 –> 03:58:37,439
6611
03:58:37,439 –> 03:58:39,439
6612
03:58:39,439 –> 03:58:40,800
6613
03:58:40,800 –> 03:58:41,840
6614
03:58:41,840 –> 03:58:43,279
6615
03:58:43,279 –> 03:58:45,279
6616
03:58:45,279 –> 03:58:48,080
6617
03:58:48,080 –> 03:58:50,399
6618
03:58:50,399 –> 03:58:52,000
6619
03:58:52,000 –> 03:58:55,359
6620
03:58:55,359 –> 03:58:57,279
6621
03:58:57,279 –> 03:58:59,279
6622
03:58:59,279 –> 03:59:00,000
6623
03:59:00,000 –> 03:59:02,560
6624
03:59:02,560 –> 03:59:04,800
6625
03:59:04,800 –> 03:59:07,279
6626
03:59:07,279 –> 03:59:09,520
6627
03:59:09,520 –> 03:59:13,120
6628
03:59:13,120 –> 03:59:15,680
6629
03:59:15,680 –> 03:59:18,000
6630
03:59:18,000 –> 03:59:19,760
6631
03:59:19,760 –> 03:59:21,680
6632
03:59:21,680 –> 03:59:23,359
6633
03:59:23,359 –> 03:59:24,520
6634
03:59:24,520 –> 03:59:26,399
6635
03:59:26,399 –> 03:59:30,000
6636
03:59:30,479 –> 03:59:33,120
6637
03:59:33,120 –> 03:59:34,640
6638
03:59:34,640 –> 03:59:36,160
6639
03:59:36,160 –> 03:59:37,840
6640
03:59:37,840 –> 03:59:40,239
6641
03:59:40,239 –> 03:59:42,640
6642
03:59:42,640 –> 03:59:44,560
6643
03:59:44,560 –> 03:59:46,160
6644
03:59:46,160 –> 03:59:48,080
6645
03:59:48,080 –> 03:59:50,640
6646
03:59:50,640 –> 03:59:52,880
6647
03:59:52,880 –> 03:59:54,720
6648
03:59:54,720 –> 03:59:57,040
6649
03:59:57,040 –> 03:59:59,359
6650
03:59:59,359 –> 04:00:00,640
6651
04:00:00,640 –> 04:00:02,800
6652
04:00:02,800 –> 04:00:06,680
6653
04:00:06,680 –> 04:00:09,359
6654
04:00:09,359 –> 04:00:11,520
6655
04:00:11,520 –> 04:00:12,800
6656
04:00:12,800 –> 04:00:14,880
6657
04:00:14,880 –> 04:00:16,239
6658
04:00:16,239 –> 04:00:17,520
6659
04:00:17,520 –> 04:00:19,120
6660
04:00:19,120 –> 04:00:20,399
6661
04:00:20,399 –> 04:00:21,600
6662
04:00:21,600 –> 04:00:22,800
6663
04:00:22,800 –> 04:00:25,040
6664
04:00:25,040 –> 04:00:27,040
6665
04:00:27,040 –> 04:00:28,880
6666
04:00:28,880 –> 04:00:31,359
6667
04:00:31,359 –> 04:00:34,000
6668
04:00:34,000 –> 04:00:35,120
6669
04:00:35,120 –> 04:00:36,560
6670
04:00:36,560 –> 04:00:38,479
6671
04:00:38,479 –> 04:00:40,960
6672
04:00:40,960 –> 04:00:43,279
6673
04:00:43,279 –> 04:00:45,920
6674
04:00:45,920 –> 04:00:47,439
6675
04:00:47,439 –> 04:00:49,279
6676
04:00:49,279 –> 04:00:52,239
6677
04:00:52,239 –> 04:00:54,239
6678
04:00:54,239 –> 04:00:56,640
6679
04:00:56,640 –> 04:00:58,239
6680
04:00:58,239 –> 04:01:00,960
6681
04:01:00,960 –> 04:01:02,319
6682
04:01:02,319 –> 04:01:03,760
6683
04:01:03,760 –> 04:01:07,680
6684
04:01:07,680 –> 04:01:10,960
6685
04:01:10,960 –> 04:01:12,640
6686
04:01:12,640 –> 04:01:14,880
6687
04:01:14,880 –> 04:01:15,680
6688
04:01:15,680 –> 04:01:17,680
6689
04:01:17,680 –> 04:01:19,199
6690
04:01:19,199 –> 04:01:23,120
6691
04:01:23,120 –> 04:01:24,720
6692
04:01:24,720 –> 04:01:26,080
6693
04:01:26,080 –> 04:01:28,560
6694
04:01:28,560 –> 04:01:30,239
6695
04:01:30,239 –> 04:01:32,080
6696
04:01:32,080 –> 04:01:34,640
6697
04:01:35,199 –> 04:01:38,720
6698
04:01:38,720 –> 04:01:41,199
6699
04:01:41,199 –> 04:01:43,600
6700
04:01:44,880 –> 04:01:46,800
6701
04:01:46,800 –> 04:01:48,640
6702
04:01:48,640 –> 04:01:49,680
6703
04:01:49,680 –> 04:01:51,199
6704
04:01:51,199 –> 04:01:52,960
6705
04:01:52,960 –> 04:01:54,239
6706
04:01:54,239 –> 04:01:57,199
6707
04:01:57,199 –> 04:01:59,520
6708
04:01:59,520 –> 04:02:01,680
6709
04:02:01,680 –> 04:02:04,319
6710
04:02:04,319 –> 04:02:05,680
6711
04:02:05,680 –> 04:02:08,319
6712
04:02:08,319 –> 04:02:09,760
6713
04:02:09,760 –> 04:02:12,000
6714
04:02:12,000 –> 04:02:13,840
6715
04:02:13,840 –> 04:02:15,120
6716
04:02:15,120 –> 04:02:17,520
6717
04:02:17,520 –> 04:02:20,399
6718
04:02:20,399 –> 04:02:21,600
6719
04:02:21,600 –> 04:02:23,520
6720
04:02:23,520 –> 04:02:26,560
6721
04:02:27,120 –> 04:02:29,920
6722
04:02:29,920 –> 04:02:31,359
6723
04:02:31,359 –> 04:02:33,359
6724
04:02:33,359 –> 04:02:35,359
6725
04:02:35,359 –> 04:02:37,760
6726
04:02:37,760 –> 04:02:40,000
6727
04:02:40,000 –> 04:02:42,080
6728
04:02:42,080 –> 04:02:44,479
6729
04:02:44,479 –> 04:02:46,319
6730
04:02:46,319 –> 04:02:48,080
6731
04:02:48,080 –> 04:02:50,560
6732
04:02:50,560 –> 04:02:52,560
6733
04:02:52,560 –> 04:02:53,680
6734
04:02:53,680 –> 04:02:56,960
6735
04:02:56,960 –> 04:02:59,120
6736
04:02:59,120 –> 04:03:02,239
6737
04:03:02,239 –> 04:03:04,960
6738
04:03:04,960 –> 04:03:07,040
6739
04:03:07,040 –> 04:03:10,319
6740
04:03:10,319 –> 04:03:11,279
6741
04:03:11,279 –> 04:03:13,600
6742
04:03:13,600 –> 04:03:15,760
6743
04:03:15,760 –> 04:03:17,680
6744
04:03:17,680 –> 04:03:19,040
6745
04:03:19,040 –> 04:03:21,760
6746
04:03:21,760 –> 04:03:23,840
6747
04:03:23,840 –> 04:03:24,960
6748
04:03:24,960 –> 04:03:27,520
6749
04:03:27,520 –> 04:03:30,160
6750
04:03:30,160 –> 04:03:32,239
6751
04:03:32,239 –> 04:03:34,479
6752
04:03:34,479 –> 04:03:37,040
6753
04:03:37,040 –> 04:03:38,560
6754
04:03:38,560 –> 04:03:41,040
6755
04:03:41,040 –> 04:03:42,479
6756
04:03:42,479 –> 04:03:45,040
6757
04:03:45,040 –> 04:03:47,120
6758
04:03:47,120 –> 04:03:48,720
6759
04:03:48,720 –> 04:03:51,520
6760
04:03:51,520 –> 04:03:53,120
6761
04:03:53,120 –> 04:03:54,640
6762
04:03:54,640 –> 04:03:56,319
6763
04:03:56,319 –> 04:03:58,960
6764
04:03:58,960 –> 04:04:00,960
6765
04:04:00,960 –> 04:04:04,239
6766
04:04:04,239 –> 04:04:06,640
6767
04:04:06,640 –> 04:04:10,640
6768
04:04:10,640 –> 04:04:12,800
6769
04:04:12,800 –> 04:04:15,439
6770
04:04:15,439 –> 04:04:18,720
6771
04:04:18,720 –> 04:04:20,720
6772
04:04:20,720 –> 04:04:23,439
6773
04:04:23,760 –> 04:04:25,199
6774
04:04:25,199 –> 04:04:27,439
6775
04:04:27,439 –> 04:04:29,199
6776
04:04:29,199 –> 04:04:32,960
6777
04:04:32,960 –> 04:04:36,199
6778
04:04:36,199 –> 04:04:37,760
6779
04:04:37,760 –> 04:04:40,399
6780
04:04:40,399 –> 04:04:42,120
6781
04:04:42,120 –> 04:04:43,920
6782
04:04:43,920 –> 04:04:45,439
6783
04:04:45,439 –> 04:04:47,920
6784
04:04:47,920 –> 04:04:50,000
6785
04:04:50,000 –> 04:04:51,439
6786
04:04:51,439 –> 04:04:54,160
6787
04:04:54,160 –> 04:04:56,800
6788
04:04:56,800 –> 04:04:58,160
6789
04:04:58,160 –> 04:05:00,399
6790
04:05:00,399 –> 04:05:02,080
6791
04:05:02,080 –> 04:05:05,120
6792
04:05:05,120 –> 04:05:06,720
6793
04:05:06,720 –> 04:05:08,399
6794
04:05:08,399 –> 04:05:10,720
6795
04:05:10,720 –> 04:05:13,199
6796
04:05:13,199 –> 04:05:14,880
6797
04:05:14,880 –> 04:05:16,560
6798
04:05:16,560 –> 04:05:19,120
6799
04:05:19,120 –> 04:05:20,960
6800
04:05:20,960 –> 04:05:22,720
6801
04:05:22,720 –> 04:05:26,319
6802
04:05:26,319 –> 04:05:28,840
6803
04:05:28,840 –> 04:05:31,279
6804
04:05:31,279 –> 04:05:34,239
6805
04:05:34,239 –> 04:05:36,479
6806
04:05:36,479 –> 04:05:38,640
6807
04:05:38,640 –> 04:05:40,800
6808
04:05:40,800 –> 04:05:42,800
6809
04:05:42,800 –> 04:05:44,399
6810
04:05:44,399 –> 04:05:46,160
6811
04:05:46,160 –> 04:05:47,760
6812
04:05:47,760 –> 04:05:49,600
6813
04:05:49,600 –> 04:05:51,680
6814
04:05:51,680 –> 04:05:54,080
6815
04:05:54,080 –> 04:05:56,239
6816
04:05:56,239 –> 04:05:59,040
6817
04:05:59,040 –> 04:06:01,040
6818
04:06:01,040 –> 04:06:02,479
6819
04:06:02,479 –> 04:06:05,120
6820
04:06:05,120 –> 04:06:07,199
6821
04:06:07,199 –> 04:06:09,120
6822
04:06:09,120 –> 04:06:11,600
6823
04:06:11,600 –> 04:06:13,040
6824
04:06:13,040 –> 04:06:15,120
6825
04:06:15,120 –> 04:06:17,120
6826
04:06:17,120 –> 04:06:19,920
6827
04:06:19,920 –> 04:06:23,840
6828
04:06:23,840 –> 04:06:25,359
6829
04:06:25,359 –> 04:06:28,000
6830
04:06:28,000 –> 04:06:29,920
6831
04:06:29,920 –> 04:06:32,239
6832
04:06:32,239 –> 04:06:35,479
6833
04:06:35,479 –> 04:06:37,920
6834
04:06:37,920 –> 04:06:40,960
6835
04:06:40,960 –> 04:06:43,680
6836
04:06:43,680 –> 04:06:46,399
6837
04:06:46,399 –> 04:06:49,600
6838
04:06:49,600 –> 04:06:50,960
6839
04:06:50,960 –> 04:06:52,800
6840
04:06:52,800 –> 04:06:56,160
6841
04:06:56,160 –> 04:07:00,479
6842
04:07:00,479 –> 04:07:02,399
6843
04:07:02,399 –> 04:07:04,160
6844
04:07:04,160 –> 04:07:06,720
6845
04:07:06,720 –> 04:07:08,800
6846
04:07:08,800 –> 04:07:10,960
6847
04:07:10,960 –> 04:07:14,080
6848
04:07:14,080 –> 04:07:15,680
6849
04:07:15,680 –> 04:07:17,680
6850
04:07:17,680 –> 04:07:19,680
6851
04:07:19,680 –> 04:07:22,319
6852
04:07:22,319 –> 04:07:24,399
6853
04:07:24,399 –> 04:07:26,239
6854
04:07:26,239 –> 04:07:28,479
6855
04:07:28,479 –> 04:07:29,920
6856
04:07:29,920 –> 04:07:32,000
6857
04:07:32,000 –> 04:07:34,080
6858
04:07:34,080 –> 04:07:36,479
6859
04:07:36,479 –> 04:07:37,359
6860
04:07:37,359 –> 04:07:39,439
6861
04:07:39,439 –> 04:07:40,960
6862
04:07:40,960 –> 04:07:43,279
6863
04:07:43,279 –> 04:07:45,279
6864
04:07:45,279 –> 04:07:48,000
6865
04:07:48,000 –> 04:07:50,640
6866
04:07:50,640 –> 04:07:52,319
6867
04:07:52,319 –> 04:07:54,560
6868
04:07:54,560 –> 04:07:56,960
6869
04:07:57,120 –> 04:07:58,479
6870
04:07:58,479 –> 04:08:00,479
6871
04:08:00,479 –> 04:08:01,439
6872
04:08:01,439 –> 04:08:03,439
6873
04:08:03,439 –> 04:08:04,880
6874
04:08:04,880 –> 04:08:05,840
6875
04:08:05,840 –> 04:08:07,520
6876
04:08:07,520 –> 04:08:09,359
6877
04:08:09,359 –> 04:08:10,960
6878
04:08:10,960 –> 04:08:12,800
6879
04:08:12,800 –> 04:08:14,800
6880
04:08:14,800 –> 04:08:17,600
6881
04:08:17,600 –> 04:08:19,439
6882
04:08:19,439 –> 04:08:21,439
6883
04:08:21,439 –> 04:08:23,920
6884
04:08:23,920 –> 04:08:25,600
6885
04:08:25,600 –> 04:08:28,080
6886
04:08:28,080 –> 04:08:30,000
6887
04:08:30,000 –> 04:08:30,960
6888
04:08:30,960 –> 04:08:32,399
6889
04:08:32,399 –> 04:08:33,199
6890
04:08:33,199 –> 04:08:36,000
6891
04:08:36,000 –> 04:08:38,080
6892
04:08:38,080 –> 04:08:40,319
6893
04:08:40,319 –> 04:08:42,080
6894
04:08:42,080 –> 04:08:44,720
6895
04:08:44,720 –> 04:08:46,080
6896
04:08:46,080 –> 04:08:48,479
6897
04:08:48,479 –> 04:08:50,560
6898
04:08:50,560 –> 04:08:52,399
6899
04:08:52,399 –> 04:08:54,479
6900
04:08:54,479 –> 04:08:56,080
6901
04:08:56,080 –> 04:08:58,720
6902
04:08:58,720 –> 04:09:01,199
6903
04:09:01,199 –> 04:09:03,359
6904
04:09:03,359 –> 04:09:04,800
6905
04:09:04,800 –> 04:09:07,760
6906
04:09:07,760 –> 04:09:08,640
6907
04:09:08,640 –> 04:09:10,399
6908
04:09:10,399 –> 04:09:12,800
6909
04:09:12,800 –> 04:09:15,199
6910
04:09:15,199 –> 04:09:17,600
6911
04:09:17,600 –> 04:09:20,399
6912
04:09:20,399 –> 04:09:22,080
6913
04:09:22,080 –> 04:09:24,319
6914
04:09:24,319 –> 04:09:25,680
6915
04:09:25,680 –> 04:09:27,520
6916
04:09:27,520 –> 04:09:29,359
6917
04:09:29,359 –> 04:09:31,040
6918
04:09:31,040 –> 04:09:32,880
6919
04:09:32,880 –> 04:09:35,680
6920
04:09:35,680 –> 04:09:38,000
6921
04:09:38,000 –> 04:09:40,880
6922
04:09:40,880 –> 04:09:43,120
6923
04:09:43,120 –> 04:09:45,359
6924
04:09:45,359 –> 04:09:48,319
6925
04:09:48,319 –> 04:09:50,720
6926
04:09:50,720 –> 04:09:52,640
6927
04:09:52,640 –> 04:09:54,800
6928
04:09:54,800 –> 04:09:57,680
6929
04:09:57,680 –> 04:10:01,040
6930
04:10:01,040 –> 04:10:02,720
6931
04:10:02,720 –> 04:10:04,800
6932
04:10:04,800 –> 04:10:07,600
6933
04:10:07,600 –> 04:10:10,720
6934
04:10:10,720 –> 04:10:12,640
6935
04:10:12,640 –> 04:10:15,199
6936
04:10:15,199 –> 04:10:17,439
6937
04:10:17,439 –> 04:10:19,199
6938
04:10:19,199 –> 04:10:21,520
6939
04:10:21,520 –> 04:10:23,760
6940
04:10:23,760 –> 04:10:25,840
6941
04:10:25,840 –> 04:10:28,000
6942
04:10:28,000 –> 04:10:29,680
6943
04:10:29,680 –> 04:10:32,000
6944
04:10:32,000 –> 04:10:35,279
6945
04:10:35,279 –> 04:10:37,199
6946
04:10:37,199 –> 04:10:38,720
6947
04:10:38,720 –> 04:10:41,439
6948
04:10:41,439 –> 04:10:42,239
6949
04:10:42,239 –> 04:10:44,080
6950
04:10:44,080 –> 04:10:46,479
6951
04:10:46,479 –> 04:10:47,520
6952
04:10:47,520 –> 04:10:51,399
6953
04:10:52,640 –> 04:10:54,399
6954
04:10:54,399 –> 04:10:55,840
6955
04:10:55,840 –> 04:10:58,800
6956
04:10:58,800 –> 04:11:01,439
6957
04:11:01,439 –> 04:11:03,279
6958
04:11:03,279 –> 04:11:04,319
6959
04:11:04,319 –> 04:11:06,399
6960
04:11:06,399 –> 04:11:08,000
6961
04:11:08,000 –> 04:11:10,080
6962
04:11:10,080 –> 04:11:12,479
6963
04:11:12,479 –> 04:11:14,319
6964
04:11:14,319 –> 04:11:16,720
6965
04:11:16,720 –> 04:11:19,199
6966
04:11:19,199 –> 04:11:20,479
6967
04:11:20,479 –> 04:11:23,120
6968
04:11:23,120 –> 04:11:26,000
6969
04:11:26,000 –> 04:11:28,640
6970
04:11:29,760 –> 04:11:31,760
6971
04:11:31,760 –> 04:11:33,439
6972
04:11:33,439 –> 04:11:34,720
6973
04:11:34,720 –> 04:11:36,560
6974
04:11:36,560 –> 04:11:38,399
6975
04:11:38,399 –> 04:11:41,199
6976
04:11:41,199 –> 04:11:42,000
6977
04:11:42,000 –> 04:11:44,000
6978
04:11:44,000 –> 04:11:46,479
6979
04:11:46,479 –> 04:11:48,399
6980
04:11:48,399 –> 04:11:50,319
6981
04:11:50,319 –> 04:11:51,080
6982
04:11:51,080 –> 04:11:52,720
6983
04:11:52,720 –> 04:11:55,680
6984
04:11:55,840 –> 04:11:57,760
6985
04:11:57,760 –> 04:12:00,319
6986
04:12:00,319 –> 04:12:01,600
6987
04:12:01,600 –> 04:12:02,800
6988
04:12:02,800 –> 04:12:04,800
6989
04:12:04,800 –> 04:12:06,880
6990
04:12:06,880 –> 04:12:09,680
6991
04:12:09,680 –> 04:12:11,520
6992
04:12:11,520 –> 04:12:12,319
6993
04:12:12,319 –> 04:12:14,479
6994
04:12:14,479 –> 04:12:17,199
6995
04:12:17,199 –> 04:12:18,720
6996
04:12:18,720 –> 04:12:20,800
6997
04:12:20,800 –> 04:12:23,840
6998
04:12:23,840 –> 04:12:25,840
6999
04:12:25,840 –> 04:12:29,199
7000
04:12:29,199 –> 04:12:30,960
7001
04:12:30,960 –> 04:12:33,520
7002
04:12:33,520 –> 04:12:35,279
7003
04:12:35,279 –> 04:12:37,279
7004
04:12:37,279 –> 04:12:38,560
7005
04:12:38,560 –> 04:12:41,040
7006
04:12:41,040 –> 04:12:41,840
7007
04:12:41,840 –> 04:12:44,159
7008
04:12:44,159 –> 04:12:46,319
7009
04:12:46,319 –> 04:12:48,640
7010
04:12:48,640 –> 04:12:50,239
7011
04:12:50,239 –> 04:12:52,159
7012
04:12:52,159 –> 04:12:53,120
7013
04:12:53,120 –> 04:12:54,560
7014
04:12:54,560 –> 04:12:58,120
7015
04:12:58,319 –> 04:13:00,560
7016
04:13:00,560 –> 04:13:03,199
7017
04:13:03,199 –> 04:13:05,760
7018
04:13:05,760 –> 04:13:08,239
7019
04:13:08,239 –> 04:13:11,120
7020
04:13:11,120 –> 04:13:12,960
7021
04:13:12,960 –> 04:13:14,080
7022
04:13:14,080 –> 04:13:17,120
7023
04:13:17,120 –> 04:13:19,680
7024
04:13:19,680 –> 04:13:23,040
7025
04:13:23,040 –> 04:13:23,920
7026
04:13:23,920 –> 04:13:25,439
7027
04:13:25,439 –> 04:13:27,439
7028
04:13:27,439 –> 04:13:29,199
7029
04:13:29,199 –> 04:13:30,880
7030
04:13:30,880 –> 04:13:33,279
7031
04:13:33,279 –> 04:13:36,080
7032
04:13:36,080 –> 04:13:38,239
7033
04:13:38,239 –> 04:13:39,840
7034
04:13:39,840 –> 04:13:42,479
7035
04:13:42,479 –> 04:13:44,800
7036
04:13:44,800 –> 04:13:45,680
7037
04:13:45,680 –> 04:13:49,359
7038
04:13:49,359 –> 04:13:51,040
7039
04:13:51,040 –> 04:13:53,520
7040
04:13:53,520 –> 04:13:55,120
7041
04:13:55,120 –> 04:13:57,279
7042
04:13:57,279 –> 04:13:59,439
7043
04:13:59,439 –> 04:14:02,239
7044
04:14:02,239 –> 04:14:05,120
7045
04:14:05,120 –> 04:14:09,479
7046
04:14:09,840 –> 04:14:12,640
7047
04:14:12,640 –> 04:14:14,720
7048
04:14:14,720 –> 04:14:19,120
7049
04:14:19,120 –> 04:14:21,760
7050
04:14:21,760 –> 04:14:24,080
7051
04:14:24,080 –> 04:14:25,600
7052
04:14:25,600 –> 04:14:27,040
7053
04:14:27,040 –> 04:14:29,520
7054
04:14:29,520 –> 04:14:31,680
7055
04:14:31,680 –> 04:14:33,600
7056
04:14:33,600 –> 04:14:35,199
7057
04:14:35,199 –> 04:14:38,159
7058
04:14:38,159 –> 04:14:39,680
7059
04:14:39,680 –> 04:14:40,960
7060
04:14:40,960 –> 04:14:43,279
7061
04:14:43,279 –> 04:14:45,359
7062
04:14:45,359 –> 04:14:46,640
7063
04:14:46,640 –> 04:14:49,040
7064
04:14:49,040 –> 04:14:51,279
7065
04:14:51,279 –> 04:14:52,399
7066
04:14:52,399 –> 04:14:53,680
7067
04:14:53,680 –> 04:14:55,439
7068
04:14:55,439 –> 04:14:56,960
7069
04:14:56,960 –> 04:14:58,800
7070
04:14:58,800 –> 04:15:00,399
7071
04:15:00,399 –> 04:15:04,520
7072
04:15:04,960 –> 04:15:07,680
7073
04:15:07,680 –> 04:15:08,880
7074
04:15:08,880 –> 04:15:11,199
7075
04:15:11,199 –> 04:15:12,560
7076
04:15:12,560 –> 04:15:14,239
7077
04:15:14,239 –> 04:15:16,399
7078
04:15:16,399 –> 04:15:18,560
7079
04:15:18,560 –> 04:15:20,560
7080
04:15:20,560 –> 04:15:22,479
7081
04:15:22,479 –> 04:15:24,880
7082
04:15:24,880 –> 04:15:27,439
7083
04:15:27,439 –> 04:15:28,960
7084
04:15:28,960 –> 04:15:30,080
7085
04:15:30,080 –> 04:15:32,159
7086
04:15:32,159 –> 04:15:34,159
7087
04:15:34,159 –> 04:15:36,080
7088
04:15:36,080 –> 04:15:38,560
7089
04:15:38,560 –> 04:15:41,680
7090
04:15:41,680 –> 04:15:42,640
7091
04:15:42,640 –> 04:15:44,960
7092
04:15:44,960 –> 04:15:47,520
7093
04:15:47,520 –> 04:15:50,000
7094
04:15:50,000 –> 04:15:52,239
7095
04:15:52,239 –> 04:15:55,120
7096
04:15:55,120 –> 04:15:57,279
7097
04:15:57,279 –> 04:15:59,600
7098
04:15:59,600 –> 04:16:01,680
7099
04:16:01,680 –> 04:16:05,040
7100
04:16:05,040 –> 04:16:07,040
7101
04:16:07,040 –> 04:16:08,920
7102
04:16:08,920 –> 04:16:10,720
7103
04:16:10,720 –> 04:16:12,560
7104
04:16:12,560 –> 04:16:15,279
7105
04:16:15,279 –> 04:16:17,760
7106
04:16:17,760 –> 04:16:20,399
7107
04:16:20,399 –> 04:16:24,319
7108
04:16:24,319 –> 04:16:26,399
7109
04:16:26,399 –> 04:16:29,040
7110
04:16:29,040 –> 04:16:31,520
7111
04:16:31,520 –> 04:16:32,880
7112
04:16:32,880 –> 04:16:35,359
7113
04:16:35,359 –> 04:16:37,120
7114
04:16:37,120 –> 04:16:39,760
7115
04:16:39,760 –> 04:16:40,560
7116
04:16:40,560 –> 04:16:41,600
7117
04:16:41,600 –> 04:16:43,920
7118
04:16:43,920 –> 04:16:46,000
7119
04:16:46,000 –> 04:16:47,199
7120
04:16:47,199 –> 04:16:49,920
7121
04:16:49,920 –> 04:16:51,920
7122
04:16:51,920 –> 04:16:54,399
7123
04:16:54,399 –> 04:16:56,800
7124
04:16:56,800 –> 04:16:58,080
7125
04:16:58,080 –> 04:17:00,560
7126
04:17:00,560 –> 04:17:01,520
7127
04:17:01,520 –> 04:17:04,479
7128
04:17:04,479 –> 04:17:06,319
7129
04:17:06,319 –> 04:17:09,920
7130
04:17:09,920 –> 04:17:11,279
7131
04:17:11,279 –> 04:17:14,000
7132
04:17:14,000 –> 04:17:15,920
7133
04:17:15,920 –> 04:17:17,760
7134
04:17:17,760 –> 04:17:20,560
7135
04:17:20,560 –> 04:17:22,800
7136
04:17:22,800 –> 04:17:25,120
7137
04:17:25,120 –> 04:17:26,880
7138
04:17:26,880 –> 04:17:29,920
7139
04:17:29,920 –> 04:17:32,080
7140
04:17:32,080 –> 04:17:33,359
7141
04:17:33,359 –> 04:17:35,520
7142
04:17:35,520 –> 04:17:37,439
7143
04:17:37,439 –> 04:17:40,239
7144
04:17:40,239 –> 04:17:42,239
7145
04:17:42,239 –> 04:17:44,239
7146
04:17:44,239 –> 04:17:47,520
7147
04:17:47,520 –> 04:17:49,920
7148
04:17:49,920 –> 04:17:52,159
7149
04:17:52,159 –> 04:17:54,159
7150
04:17:54,159 –> 04:17:56,399
7151
04:17:56,399 –> 04:17:58,159
7152
04:17:58,159 –> 04:18:00,239
7153
04:18:00,239 –> 04:18:03,439
7154
04:18:03,439 –> 04:18:05,199
7155
04:18:05,199 –> 04:18:06,479
7156
04:18:06,479 –> 04:18:09,199
7157
04:18:09,199 –> 04:18:12,159
7158
04:18:12,159 –> 04:18:13,920
7159
04:18:13,920 –> 04:18:16,080
7160
04:18:16,080 –> 04:18:18,479
7161
04:18:18,479 –> 04:18:20,960
7162
04:18:20,960 –> 04:18:22,159
7163
04:18:22,159 –> 04:18:24,080
7164
04:18:24,080 –> 04:18:25,840
7165
04:18:25,840 –> 04:18:28,319
7166
04:18:28,319 –> 04:18:30,239
7167
04:18:30,239 –> 04:18:32,800
7168
04:18:32,800 –> 04:18:35,199
7169
04:18:35,199 –> 04:18:36,800
7170
04:18:36,800 –> 04:18:38,479
7171
04:18:38,479 –> 04:18:41,680
7172
04:18:41,680 –> 04:18:44,239
7173
04:18:44,239 –> 04:18:46,319
7174
04:18:46,319 –> 04:18:47,840
7175
04:18:47,840 –> 04:18:49,040
7176
04:18:49,040 –> 04:18:51,680
7177
04:18:51,680 –> 04:18:54,000
7178
04:18:54,000 –> 04:18:55,359
7179
04:18:55,359 –> 04:18:58,479
7180
04:18:58,479 –> 04:19:01,279
7181
04:19:01,279 –> 04:19:02,479
7182
04:19:02,479 –> 04:19:04,080
7183
04:19:04,080 –> 04:19:06,319
7184
04:19:06,319 –> 04:19:08,560
7185
04:19:08,560 –> 04:19:11,120
7186
04:19:11,120 –> 04:19:13,199
7187
04:19:13,199 –> 04:19:15,199
7188
04:19:15,199 –> 04:19:17,199
7189
04:19:17,199 –> 04:19:18,800
7190
04:19:18,800 –> 04:19:20,560
7191
04:19:20,560 –> 04:19:22,720
7192
04: