در این مطلب، ویدئو Python Monorepos: چه، چرا و چگونه با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:25:26
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,080 –> 00:00:02,320
نام من بنجی است و من یکی از
2
00:00:02,320 –> 00:00:05,359
مشارکت کنندگان اصلی شلوار هستم که
3
00:00:05,359 –> 00:00:07,680
یک سیستم ساخت متن باز است
4
00:00:07,680 –> 00:00:09,599
و امروز می خواهیم در مورد
5
00:00:09,599 –> 00:00:11,599
معماری مبتنی بر کد پایتون و به
6
00:00:11,599 –> 00:00:12,799
طور خاص
7
00:00:12,799 –> 00:00:14,799
در مورد مخازن mono صحبت کنیم
8
00:00:14,799 –> 00:00:17,440
و می دانم که این یک
9
00:00:17,440 –> 00:00:19,039
موضوع بحث برانگیز است. در مورد آن نظرات زیادی وجود دارد که
10
00:00:19,039 –> 00:00:21,520
من می خواهم نظر خود را ارائه کنم
11
00:00:21,520 –> 00:00:22,800
و کاملاً اذعان دارم که
12
00:00:22,800 –> 00:00:24,000
دیگران
13
00:00:24,000 –> 00:00:24,880
14
00:00:24,880 –> 00:00:26,880
کمی در مورد من هستند و اوه
15
00:00:26,880 –> 00:00:28,640
چرا من در
16
00:00:28,640 –> 00:00:30,400
اینجا نظرات قوی زیادی
17
00:00:30,400 –> 00:00:32,159
داشتم و به عنوان یک مهندس نرم افزار برای آن کار کرده ام.
18
00:00:32,159 –> 00:00:34,239
چندین سال است که من
19
00:00:34,239 –> 00:00:35,600
این شانس را داشته ام که در
20
00:00:35,600 –> 00:00:37,520
برخی از شرکت های واقعاً بزرگ کار کنم
21
00:00:37,520 –> 00:00:39,920
و همانطور که اشاره کردم من یک نگهدارنده
22
00:00:39,920 –> 00:00:41,920
23
00:00:41,920 –> 00:00:44,800
سیستم گردش کار توسعه دهندگان منبع باز شلوار هستم و در
24
00:00:44,800 –> 00:00:46,320
چند سال گذشته
25
00:00:46,320 –> 00:00:48,640
یکی از بنیانگذاران زنجیره ابزار بودم که یک
26
00:00:48,640 –> 00:00:51,199
استارتآپ در
27
00:00:51,199 –> 00:00:53,920
فضای ابزارهای توسعهدهنده است،
28
00:00:53,920 –> 00:00:54,640
29
00:00:54,640 –> 00:00:58,480
بنابراین مروری اجمالی از این سخنرانی اساساً
30
00:00:58,480 –> 00:01:00,719
سه بخش است، آه، من با تعریف
31
00:01:00,719 –> 00:01:02,719
اصطلاحاتی که monorepo است شروع میکنم
32
00:01:02,719 –> 00:01:04,559
وقتی از آن اصطلاح
33
00:01:04,559 –> 00:01:05,680
34
00:01:05,680 –> 00:01:07,920
استفاده میکنم منظورم چیست؟
35
00:01:07,920 –> 00:01:10,240
آیا می خواهم یک ام
36
00:01:10,240 –> 00:01:11,920
و آخرین بخش صحبت در مورد این خواهد بود
37
00:01:11,920 –> 00:01:13,680
38
00:01:13,680 –> 00:01:15,280
که می گوییم شما می خواهید یک
39
00:01:15,280 –> 00:01:17,119
monorepo داشته باشید چه نوع ابزاری باعث می شود
40
00:01:17,119 –> 00:01:20,240
کار در monorepo موثر باشد،
41
00:01:20,240 –> 00:01:22,799
بنابراین بیایید مستقیماً به
42
00:01:22,799 –> 00:01:26,000
آنچه یک monorepo است بپردازیم،
43
00:01:26,000 –> 00:01:27,119
بنابراین
44
00:01:27,119 –> 00:01:28,560
یک چیز وجود دارد که یک
45
00:01:28,560 –> 00:01:30,799
مشخصه مشترک از
46
00:01:30,799 –> 00:01:32,799
نوع اساساً هر پایه کد تقریباً
47
00:01:32,799 –> 00:01:34,479
همه پایه های کدی که هر یک از ما روی آنها
48
00:01:34,479 –> 00:01:36,960
کار می کنیم این است که آنها در
49
00:01:36,960 –> 00:01:38,400
طول زمان
50
00:01:38,400 –> 00:01:41,439
رشد می کنند و رشد می کنند زیرا
51
00:01:41,439 –> 00:01:42,880
شما مجموعه ای از توسعه دهندگان دارید که در
52
00:01:42,880 –> 00:01:45,280
طول زمان کد اضافه می کنند اما همچنین اگر شما
53
00:01:45,280 –> 00:01:46,799
استخدام مجدد و تیم شما در حال رشد است، سپس
54
00:01:46,799 –> 00:01:48,079
شما توسعه دهندگان بیشتری را اضافه می کنید که در
55
00:01:48,079 –> 00:01:50,000
طول زمان کد اضافه می کنند و بنابراین پایه کد شما
56
00:01:50,000 –> 00:01:53,040
می تواند سریعتر از خطی
57
00:01:53,040 –> 00:01:54,640
در طول زمان رشد کند
58
00:01:54,640 –> 00:01:55,680
59
00:01:55,680 –> 00:01:57,600
و یک نتیجه بسیار رایج در
60
00:01:57,600 –> 00:01:58,399
این مورد وجود دارد
61
00:01:58,399 –> 00:02:01,680
که این است که ساخت ها کندتر می شوند و
62
00:02:01,680 –> 00:02:04,320
کمتر قابل کنترل هستند، ناپایدار
63
00:02:04,320 –> 00:02:06,840
می شوند، به
64
00:02:06,840 –> 00:02:09,440
طرز غیر قابل تحملی آهسته و درهم می شوند،
65
00:02:09,440 –> 00:02:11,360
اکنون می توانم
66
00:02:11,360 –> 00:02:12,959
اعتراضی را که در ذهن برخی افراد شکل می گیرد بشنوم
67
00:02:12,959 –> 00:02:14,640
که منظور شما از بیلدهای
68
00:02:14,640 –> 00:02:16,879
پایتون یک زبان کامپایل شده نیست، بنابراین من از اصطلاح bu استفاده می کنم
69
00:02:16,879 –> 00:02:18,319
ild و اگر
70
00:02:18,319 –> 00:02:20,000
اصطلاح build را دوست ندارید، میتوانید
71
00:02:20,000 –> 00:02:22,800
گردش کار توسعهدهنده را به معنای کلی جایگزین کنید، بنابراین
72
00:02:22,800 –> 00:02:25,280
از زمانی که در ویرایشگر خود را فشار میدهید، هر مرحلهای را که برمیدارید
73
00:02:25,280 –> 00:02:28,000
تا داشتن یک
74
00:02:28,000 –> 00:02:30,400
مصنوع آماده برای استقرار، برای
75
00:02:30,400 –> 00:02:33,360
مثال حل کردن و دانلود کردن
76
00:02:33,360 –> 00:02:36,239
وابستگیهای خارجی یا تولید کد
77
00:02:36,239 –> 00:02:38,640
یا بررسی نوع یا اجرای آزمایشها
78
00:02:38,640 –> 00:02:40,560
بدیهی است که
79
00:02:40,560 –> 00:02:43,280
اشکالزدایی در قالببندی repel linting کار بزرگی است
80
00:02:43,280 –> 00:02:45,040
که در واقع ساخت و بستهبندی آن
81
00:02:45,040 –> 00:02:47,280
مصنوعات قابل استقرار پایتون
82
00:02:47,280 –> 00:02:49,840
قطعاً یک بیلد دارد و فقط
83
00:02:49,840 –> 00:02:52,400
کامپایلر زمان ساخت ندارد،
84
00:02:52,400 –> 00:02:54,959
بنابراین منظور من از بسازید
85
00:02:54,959 –> 00:02:56,879
و دوباره همه اینها با رشد
86
00:02:56,879 –> 00:02:58,560
پایه کد شما کندتر و کمتر قابل مدیریت
87
00:02:58,560 –> 00:02:59,920
می
88
00:02:59,920 –> 00:03:02,239
شوند، بنابراین وقتی
89
00:03:02,239 –> 00:03:04,400
سازمان شما و پایه کد شما
90
00:03:04,400 –> 00:03:06,159
رشد می کند چه کنیم، ما
91
00:03:06,159 –> 00:03:09,120
اساساً دو جایگزین معماری
92
00:03:09,120 –> 00:03:10,959
برای نحوه مدیریت آن پایه کد به
93
00:03:10,959 –> 00:03:12,319
روشی مقیاس پذیر داریم
94
00:03:12,319 –> 00:03:14,400
و آن دو معماری چند مخزن
95
00:03:14,400 –> 00:03:16,319
در مقابل معماری مونورپو
96
00:03:16,319 –> 00:03:18,480
است و باید اشاره کنم که
97
00:03:18,480 –> 00:03:20,720
بدیهی است که این یک پیوستار است که
98
00:03:20,720 –> 00:03:22,480
لازم نیست در آن باشید. انتهای افراطی هر یک
99
00:03:22,480 –> 00:03:24,159
از آنها،
100
00:03:24,159 –> 00:03:26,560
اما به طور کلی این دو
101
00:03:26,560 –> 00:03:29,760
قطبی است که این پیوستار از طریق آنها می گذرد،
102
00:03:29,760 –> 00:03:31,360
اکنون اجازه دهید با صحبت در مورد
103
00:03:31,360 –> 00:03:33,280
104
00:03:33,280 –> 00:03:35,599
چند مخزن بازپرداخت شروع کنیم به این معنی که همانطور که پایه کد
105
00:03:35,599 –> 00:03:36,640
شما بزرگ می شود، در واقع
106
00:03:36,640 –> 00:03:40,239
آن را به تعداد فزاینده ای
107
00:03:40,239 –> 00:03:42,560
کوچک یا کوچک تقسیم می کنید. شما مخازن با اندازه قابل مدیریت را می
108
00:03:42,560 –> 00:03:44,480
شناسید و معمولاً آنها را در امتداد
109
00:03:44,480 –> 00:03:46,400
مرزهای تیم یا مرزهای پروژه یا
110
00:03:46,400 –> 00:03:48,319
مرزهای کتابخانه تقسیم می کنید
111
00:03:48,319 –> 00:03:49,760
و اغلب
112
00:03:49,760 –> 00:03:51,440
این نوع به طور طبیعی اتفاق می افتد زیرا
113
00:03:51,440 –> 00:03:53,040
این مسیر با کمترین مقاومت است.
114
00:03:53,040 –> 00:03:54,959
115
00:03:54,959 –> 00:03:57,439
پایه کد خود را
116
00:03:57,439 –> 00:03:59,840
و فقط به نحوی آن را حکاکی کنید و
117
00:03:59,840 –> 00:04:02,720
نگران عواقب آن باشید و ما
118
00:04:02,720 –> 00:04:04,720
بدیهی است که به زودی در مورد آن پیامدها صحبت خواهیم کرد،
119
00:04:04,720 –> 00:04:05,760
120
00:04:05,760 –> 00:04:08,000
اما یک جایگزین وجود دارد
121
00:04:08,000 –> 00:04:09,920
و جایگزین آن
122
00:04:09,920 –> 00:04:13,519
چیزی است که من از آن به عنوان monorepo یاد می کنم
123
00:04:13,519 –> 00:04:15,519
و monorepo این است که شما یک
124
00:04:15,519 –> 00:04:18,399
واحد رشد واحد را حفظ کنید. پایه کد که شامل
125
00:04:18,399 –> 00:04:20,478
کد برای پروژه های متعدد خدمات متعددی است
126
00:04:20,478 –> 00:04:21,839
127
00:04:21,839 –> 00:04:24,479
که وابستگی ها و ابزارهای اساسی و بهترین شیوه ها را به اشتراک می گذارند،
128
00:04:24,479 –> 00:04:27,440
129
00:04:27,440 –> 00:04:30,080
اکنون یک مونورپو برای امتحان هستند. ple ممکن است حاوی
130
00:04:30,080 –> 00:04:32,479
کدهای چندگانه در چندین زبان
131
00:04:32,479 –> 00:04:34,000
یا حتی در یک زبان باشد که ممکن است
132
00:04:34,000 –> 00:04:35,360
حاوی کدهای
133
00:04:35,360 –> 00:04:37,600
مربوط به چندین فریمورک باشد و
134
00:04:37,600 –> 00:04:39,199
معمولاً بخشهای مختلفی از
135
00:04:39,199 –> 00:04:41,199
تیم خود را خواهید داشت که بر روی
136
00:04:41,199 –> 00:04:43,280
بخشهای مختلف اما همپوشانی مونورپو کار میکنند و
137
00:04:43,280 –> 00:04:45,360
اغلب دقیقاً روی آنها همپوشانی دارند. آن
138
00:04:45,360 –> 00:04:47,199
وابستگیهای مشترک
139
00:04:47,199 –> 00:04:48,880
و زمانی که پایه کد شما رشد میکند، همانطور که
140
00:04:48,880 –> 00:04:51,520
سازمان شما رشد میکند، مونورپوی یکپارچه
141
00:04:51,520 –> 00:04:54,840
شما همراه با آنها رشد میکند،
142
00:04:54,840 –> 00:04:57,600
اکنون باید تاکید
143
00:04:57,600 –> 00:04:59,199
کنم که
144
00:04:59,199 –> 00:05:00,960
ما در مورد معماری کد پایه صحبت میکنیم،
145
00:05:00,960 –> 00:05:03,680
نه معماری استقرار،
146
00:05:03,680 –> 00:05:06,960
بنابراین یک مونورپو به عنوان یک معماری،
147
00:05:06,960 –> 00:05:09,360
نسبت به استقرار شما ناشناس است.
148
00:05:09,360 –> 00:05:10,960
شما چند مونولیت بزرگ را می شناسید یا
149
00:05:10,960 –> 00:05:13,440
میکروسرویس های زیادی را مستقر می کنید و در
150
00:05:13,440 –> 00:05:15,039
واقع معمولاً استفاده از
151
00:05:15,039 –> 00:05:16,720
میکروسرویس ها از یک
152
00:05:16,720 –> 00:05:19,039
monorepo مزایای زیادی دارد زیرا وقتی
153
00:05:19,039 –> 00:05:21,919
سرویس های زیادی دارید آنها باید
154
00:05:21,919 –> 00:05:23,199
وابستگی های مشترکی داشته باشند و به
155
00:05:23,199 –> 00:05:26,160
ویژه آنها اغلب پروتکل ها را به اشتراک می گذارند
156
00:05:26,160 –> 00:05:27,520
157
00:05:27,520 –> 00:05:28,639
زیرا اینگونه است. آنها با یکدیگر صحبت می کنند
158
00:05:28,639 –> 00:05:30,880
و بنابراین حضور آن ها اغلب بسیار
159
00:05:30,880 –> 00:05:34,400
مفید است همان مخزن است
160
00:05:34,400 –> 00:05:36,560
و من را به قسمت
161
00:05:36,560 –> 00:05:38,639
دوم این گفتگو هدایت می کند که
162
00:05:38,639 –> 00:05:40,560
اشکالی ندارد monorepo تعریف می کند
163
00:05:40,560 –> 00:05:42,479
که چرا باید یکی را بخواهم
164
00:05:42,479 –> 00:05:44,400
و
165
00:05:44,400 –> 00:05:47,360
من آزادانه اعتراف می کنم که multi repo
166
00:05:47,360 –> 00:05:49,440
در ابتدا
167
00:05:49,440 –> 00:05:50,240
168
00:05:50,240 –> 00:05:52,479
بهتر به
169
00:05:52,479 –> 00:05:55,440
نظر می رسد. اوم،
170
00:05:55,440 –> 00:05:57,440
شما می توانید به نوعی کار خود را انجام دهید، آه در
171
00:05:57,440 –> 00:05:59,759
monorepo خود، می توانید یک مرز
172
00:05:59,759 –> 00:06:01,120
در اطراف آن قرار دهید و یک
173
00:06:01,120 –> 00:06:02,400
جورهایی
174
00:06:02,400 –> 00:06:05,360
نظم را در مخزن خود حفظ کنید و
175
00:06:05,360 –> 00:06:07,919
همه بربرها را از سایر بخش
176
00:06:07,919 –> 00:06:10,479
های تیم خود خارج از کد خود نگه
177
00:06:10,479 –> 00:06:12,080
دارید، به نظر خوب می رسد و اینها
178
00:06:12,080 –> 00:06:14,319
کلمات کلیدی خوبی هستند اوه و مواردی وجود دارد که
179
00:06:14,319 –> 00:06:16,720
فکر می کنم واقعاً معتبر است ام من
180
00:06:16,720 –> 00:06:17,759
181
00:06:17,759 –> 00:06:19,520
در اینجا کاملاً متعصب نیستم
182
00:06:19,520 –> 00:06:21,840
اما مجموعه ای وجود دارد که مجموعه ای از
183
00:06:21,840 –> 00:06:24,400
مشکلات اصلی در مدیریت مبتنی بر کد وجود دارد
184
00:06:24,400 –> 00:06:26,160
که multirepo
185
00:06:26,160 –> 00:06:29,039
نه تنها آنها را حل نمی کند بلکه آنها را پنهان
186
00:06:29,039 –> 00:06:31,520
می کند و تا زمانی که
187
00:06:31,520 –> 00:06:34,400
با آنها روبرو نشوید مشکلات را پنهان می کند، در حالی که یک
188
00:06:34,400 –> 00:06:36,319
monorepo این مشکلات را به صراحت بیان می کند
189
00:06:36,319 –> 00:06:38,319
تا بتوانید در مورد آنها استدلال کنید
190
00:06:38,319 –> 00:06:39,759
و راه های مختلفی برای متقاعد کردن
191
00:06:39,759 –> 00:06:41,759
خود در این مورد وجود دارد
192
00:06:41,759 –> 00:06:43,440
زیرا زمان کم است. من
193
00:06:43,440 –> 00:06:44,880
آن را به
194
00:06:44,880 –> 00:06:47,199
یک نکته اصلی
195
00:06:47,199 –> 00:06:50,560
که میخواهم به آن اشاره کنم این است که
196
00:06:50,560 –> 00:06:52,800
از تجربه من، سختترین
197
00:06:52,800 –> 00:06:54,880
مشکلات مبتنی بر کد
198
00:06:54,880 –> 00:06:56,800
مدیریت تغییرات
199
00:06:56,800 –> 00:06:58,720
و مدیریت وابستگیها است
200
00:06:58,720 –> 00:07:01,280
و تلاقی
201
00:07:01,280 –> 00:07:03,840
این دو بسیار مشکل است.
202
00:07:03,840 –> 00:07:05,919
203
00:07:05,919 –> 00:07:08,000
از دردسرهای مدیریت پایگاه کد
204
00:07:08,000 –> 00:07:10,000
و تا حدی که بتوانیم
205
00:07:10,000 –> 00:07:12,160
معماری مبتنی بر کد را انتخاب کنیم که
206
00:07:12,160 –> 00:07:14,400
رسیدگی به این مشکلات را آسانتر میکند،
207
00:07:14,400 –> 00:07:16,880
استدلال میکنم که
208
00:07:16,880 –> 00:07:19,680
وقتی به مدیریت تغییرات
209
00:07:19,680 –> 00:07:22,400
در دنیایی از وابستگیها
210
00:07:22,400 –> 00:07:23,759
یا مدیریت وابستگیها فکر میکنیم، باید این کار را انجام دهیم. در دنیایی از
211
00:07:23,759 –> 00:07:25,039
تغییرات،
212
00:07:25,039 –> 00:07:27,039
بیایید ابتدا ببینیم که چگونه این چالش
213
00:07:27,039 –> 00:07:31,360
ها در دنیای چند مخزن مدیریت می شوند، بنابراین
214
00:07:31,360 –> 00:07:34,400
چند مخزن به انتشار متکی است،
215
00:07:34,400 –> 00:07:36,560
بنابراین اگر تعداد زیادی مخزن دارید و می
216
00:07:36,560 –> 00:07:38,560
دانید که برخی از آنها کدی را مصرف می کنند،
217
00:07:38,560 –> 00:07:42,560
کتابخانه یا ابزاری از آن استفاده می کنند. مخزن a
218
00:07:42,560 –> 00:07:45,120
باید یک مصنوع را در
219
00:07:45,120 –> 00:07:46,960
پایتون منتشر کند که می تواند یک estus یا یک چرخ
220
00:07:46,960 –> 00:07:49,599
یا هر چیز دیگری باشد، اکنون وقتی می گویم انتشار
221
00:07:49,599 –> 00:07:52,080
این می تواند برای یک سازمان داخلی خصوصی باشد.
222
00:07:52,080 –> 00:07:54,639
مخزن te لزوماً برای
223
00:07:54,639 –> 00:07:57,440
pipi عمومی نیست، زیرا به یاد داشته باشید که ما در اینجا
224
00:07:57,440 –> 00:07:59,360
در مورد پایگاه کد داخلی یک سازمان صحبت می
225
00:07:59,360 –> 00:08:01,039
226
00:08:01,039 –> 00:08:03,280
کنیم، بنابراین ما به انتشار تکیه می کنیم،
227
00:08:03,280 –> 00:08:04,000
اما
228
00:08:04,000 –> 00:08:05,199
مگر اینکه
229
00:08:05,199 –> 00:08:07,599
repo a هرگز تغییر نکند که منظورم این است که بیایید در
230
00:08:07,599 –> 00:08:09,840
اینجا واقع بین باشیم،
231
00:08:09,840 –> 00:08:11,280
این فقط این نیست که شما باید منتشر کنید،
232
00:08:11,280 –> 00:08:12,960
بلکه مصنوعاتی که منتشر میکنید به یک طرح نسخهسازی نیاز دارند،
233
00:08:12,960 –> 00:08:15,520
234
00:08:15,520 –> 00:08:16,639
بنابراین
235
00:08:16,639 –> 00:08:18,479
وقتی تغییری ایجاد میکنید یا
236
00:08:18,479 –> 00:08:20,879
شخصی تغییری در این مخزن ایجاد میکند، باید
237
00:08:20,879 –> 00:08:23,520
آن را تحت نسخه جدید بازنشر کند
238
00:08:23,520 –> 00:08:26,000
و چرا زیرا در غیر این صورت این تغییرات
239
00:08:26,000 –> 00:08:27,759
ممکن است مصرفکنندگان موجود
240
00:08:27,759 –> 00:08:30,560
مخزن a در نسخه قدیمی را خراب کند.
241
00:08:30,560 –> 00:08:33,679
بنابراین اگر میدانید که در اینجا به یک
242
00:08:33,679 –> 00:08:36,559
مثال خاصتر نگاه کنید، اگر repo b داریم
243
00:08:36,559 –> 00:08:38,880
که به repo a وابسته است، یک نسخه خاص اضافه کنید،
244
00:08:38,880 –> 00:08:40,399
245
00:08:40,399 –> 00:08:42,159
بنابراین اکنون بگویید که شما یک مهندس هستید که در
246
00:08:42,159 –> 00:08:43,360
repo b کار
247
00:08:43,360 –> 00:08:44,959
میکنید و نیاز به تغییر در این
248
00:08:44,959 –> 00:08:46,959
وابستگی بالادستی دارید.
249
00:08:46,959 –> 00:08:48,320
بنابراین
250
00:08:48,320 –> 00:08:50,160
ابتدا وظیفه سازمانی دارید
251
00:08:50,160 –> 00:08:52,560
که بدانید چه کسی صاحب یک مخزن است.
252
00:08:52,560 –> 00:08:54,000
253
00:08:54,000 –> 00:08:55,680
254
00:08:55,680 –> 00:08:56,880
255
00:08:56,880 –> 00:08:59,200
مالک را وادار کرد
256
00:08:59,200 –> 00:09:00,959
تا تغییری را که باید
257
00:09:00,959 –> 00:09:02,080
258
00:09:02,080 –> 00:09:04,080
تحت یک نسخه جدید منتشر شود انجام دهد و سپس شما باید
259
00:09:04,080 –> 00:09:06,080
آن نسخه جدید را احتمالاً در
260
00:09:06,080 –> 00:09:09,120
نسخه جدیدی از مخزن خود مصرف کنید و اکنون
261
00:09:09,120 –> 00:09:10,720
باید چیزی اتفاق بیفتد و شما در مورد
262
00:09:10,720 –> 00:09:12,160
263
00:09:12,160 –> 00:09:14,399
264
00:09:14,399 –> 00:09:15,600
مدیریت تغییر دو انتخاب دارید. از طریق این
265
00:09:15,600 –> 00:09:17,200
وابستگیها،
266
00:09:17,200 –> 00:09:18,720
بنابراین قبل از هر چیز میتوانید تصمیم بگیرید که
267
00:09:18,720 –> 00:09:21,519
شهروند خوبی باشید و انتخاب شایستهای
268
00:09:21,519 –> 00:09:24,399
269
00:09:24,399 –> 00:09:26,640
270
00:09:26,640 –> 00:09:29,120
را انجام
271
00:09:29,120 –> 00:09:31,279
272
00:09:31,279 –> 00:09:33,200
273
00:09:33,200 –> 00:09:36,080
دهید. مخازن در صورت لزوم
274
00:09:36,080 –> 00:09:38,480
تا زمانی که تست آنها را سریعتر بگویید تا زمانی که
275
00:09:38,480 –> 00:09:40,560
واجد شرایط شوید که تغییر شما
276
00:09:40,560 –> 00:09:42,399
برای آنها خوب است
277
00:09:42,399 –> 00:09:44,959
و این کار بسیار زیادی است، اوه،
278
00:09:44,959 –> 00:09:46,959
اول از همه از کجا می دانید که همه
279
00:09:46,959 –> 00:09:49,600
مصرف کنندگان repo چه کسانی هستند، این وابستگی را به خاطر بسپارید.
280
00:09:49,600 –> 00:09:52,320
ابرداده مصرف
281
00:09:52,320 –> 00:09:54,800
در سمت مصرف کننده زندگی می کند، بنابراین repo a
282
00:09:54,800 –> 00:09:56,480
هیچ ابرداده ای در مخزن a وجود ندارد که بگوید
283
00:09:56,480 –> 00:09:58,320
اینجا جهان مخزن
284
00:09:58,320 –> 00:09:59,279
285
00:09:59,279 –> 00:10:01,600
های دیگر من است که به من بستگی دارند، بنابراین شما
286
00:10:01,600 –> 00:10:04,399
باید آنها را به نحوی پیدا کنید. شما باید
287
00:10:04,399 –> 00:10:06,720
به خوبی بفهمید که چگونه می توانم
288
00:10:06,720 –> 00:10:08,880
تغییر را آزمایش کنم چه چیزی
289
00:10:08,880 –> 00:10:10,880
در مورد این مخزن به اندازه کافی می دانم تا حتی
290
00:10:10,880 –> 00:10:12,720
آزمایش های آن را اجرا
291
00:10:12,720 –> 00:10:15,040
کنم یا می دانید چگونه می توانید شرایط خوبی را برای
292
00:10:15,040 –> 00:10:16,240
این
293
00:10:16,240 –> 00:10:17,600
تغییر تعیین کنید،
294
00:10:17,600 –> 00:10:18,959
اما فرض کنید من همه اینها را فهمیدم و
295
00:10:18,959 –> 00:10:20,079
من این کار را انجام
296
00:10:20,079 –> 00:10:21,040
297
00:10:21,040 –> 00:10:22,880
دادم، من هنوز تمام نشدهام، زیرا
298
00:10:22,880 –> 00:10:25,200
اگر تغییراتی در مصرفکنندگان مستقیم یک مخزن ایجاد کردم، باید این کار را به صورت بازگشتی انجام دهم
299
00:10:25,200 –> 00:10:28,720
،
300
00:10:28,720 –> 00:10:31,200
بنابراین، مطمئن باشید که من تغییراتی در
301
00:10:31,200 –> 00:10:33,040
b ایجاد کردهام، زیرا به همین دلیل بود که این
302
00:10:33,040 –> 00:10:34,320
303
00:10:34,320 –> 00:10:36,079
قطعه پر زحمت را شروع کردم. از کار اما بگویید
304
00:10:36,079 –> 00:10:38,480
cd و e را می شناسید که همچنین به a بستگی دارد
305
00:10:38,480 –> 00:10:40,480
اگر تغییری در آنجا ایجاد کرده باشم،
306
00:10:40,480 –> 00:10:42,480
باید دوباره این فرآیند را تکرار کنم و
307
00:10:42,480 –> 00:10:44,000
باید همه مصرف کنندگان آن
308
00:10:44,000 –> 00:10:46,160
کتابخانه ها یا آن مخازن را پیدا کنم و
309
00:10:46,160 –> 00:10:47,680
تمام کار را انجام دهم. باز هم این
310
00:10:47,680 –> 00:10:49,680
بسیار عالی است، اوه اینجا اصطکاک زیادی وجود دارد،
311
00:10:49,680 –> 00:10:52,079
این کار
312
00:10:52,079 –> 00:10:52,880
بسیار زیاد است، بنابراین
313
00:10:52,880 –> 00:10:54,959
حتی اگر
314
00:10:54,959 –> 00:10:56,720
می دانید یک شهروند خوب بودن خوب است،
315
00:10:56,720 –> 00:10:59,279
اما اغلب اوقات در نهایت
316
00:10:59,279 –> 00:11:01,200
به انتخاب تنبلی می پردازید که
317
00:11:01,200 –> 00:11:02,640
من هستم. حتی در مورد
318
00:11:02,640 –> 00:11:05,279
مصرف کنندگان دیگر نگران نباشید از repo a به این دلیل که نسخهسازی دقیقاً به همین دلیل
319
00:11:05,279 –> 00:11:06,720
است، آنها با
320
00:11:06,720 –> 00:11:08,880
خیال راحت به نسخه قبلی پین میشوند
321
00:11:08,880 –> 00:11:11,120
و وقتی سایر مصرفکنندگان نیاز به
322
00:11:11,120 –> 00:11:13,120
ارتقاء داشته باشند، به آنها اجازه میدهم با آن
323
00:11:13,120 –> 00:11:14,560
مشکل مقابله کنند،
324
00:11:14,560 –> 00:11:15,839
اما
325
00:11:15,839 –> 00:11:17,600
این خیلی خوب
326
00:11:17,600 –> 00:11:20,000
نیست زیرا زمانی
327
00:11:20,000 –> 00:11:21,680
که باید انجام دهند این
328
00:11:21,680 –> 00:11:24,079
ارتقا ممکن است زمینه ای برای تغییر
329
00:11:24,079 –> 00:11:25,680
شما نداشته باشد، شما ممکن است زمینه تغییر خود را از دست داده باشید،
330
00:11:25,680 –> 00:11:28,640
شاید دیگر در اطراف نباشید،
331
00:11:28,640 –> 00:11:31,760
بنابراین اساساً آنچه شما ایجاد کرده اید این است که
332
00:11:31,760 –> 00:11:33,440
می دانید مشکل معروف به عنوان وابستگی شناخته می شود.
333
00:11:33,440 –> 00:11:34,800
334
00:11:34,800 –> 00:11:38,160
335
00:11:38,160 –> 00:11:40,800
مخازن دیگر به طور بالقوه
336
00:11:40,800 –> 00:11:42,560
337
00:11:42,560 –> 00:11:45,920
مشکل حل وابستگی ایجاد کرده اید که اگر ارتقاء ندهند اما
338
00:11:45,920 –> 00:11:47,680
به دو مسیر متفاوت وابسته
339
00:11:47,680 –> 00:11:49,360
باشند ممکن است به دو
340
00:11:49,360 –> 00:11:51,920
نسخه مختلف ختم شوند که غیرممکن است مانند انتخاب یکی از
341
00:11:51,920 –> 00:11:53,920
آنها و این امکان وجود دارد
342
00:11:53,920 –> 00:11:57,120
که هیچ یک از آنها کار نمی کند و
343
00:11:57,120 –> 00:11:59,440
این دقیقاً همان چیزی است که من از
344
00:11:59,440 –> 00:12:02,320
مخفی کردن مشکلات مخفی کردن چند مخزن بازپرداخت می خواستم،
345
00:12:02,320 –> 00:12:03,680
به شما این امکان را می دهد که اساساً
346
00:12:03,680 –> 00:12:05,600
مسئولیت ها را به افراد دیگر
347
00:12:05,600 –> 00:12:07,600
در آینده واگذار کنید تا شما یک
348
00:12:07,600 –> 00:12:09,760
بمب ساعتی کوچک در پایه کد باقی مانده است
349
00:12:09,760 –> 00:12:12,560
و این راه خوبی برای
350
00:12:12,560 –> 00:12:16,079
عضویت در یک تیم سازنده و منسجم
351
00:12:16,079 –> 00:12:19,040
نیست، به طوری که چند repo بود،
352
00:12:19,040 –> 00:12:21,360
اما در monorepo هیچ نسخه
353
00:12:21,360 –> 00:12:22,720
یا انتشاری برای
354
00:12:22,720 –> 00:12:24,720
همه مصرف کنندگان وجود ندارد،
355
00:12:24,720 –> 00:12:26,480
دوباره در مورد آن صحبت می کنیم. یک پیوستار،
356
00:12:26,480 –> 00:12:27,920
اما در حالت شدید، حداقل همه
357
00:12:27,920 –> 00:12:29,360
مصرفکنندگان در همان
358
00:12:29,360 –> 00:12:31,839
مخزن هستند، میتوانید با استفاده از rip
359
00:12:31,839 –> 00:12:33,600
grep یا هر چیزی که میدانید
360
00:12:33,600 –> 00:12:36,000
درک مبتنی
361
00:12:36,000 –> 00:12:39,040
362
00:12:39,040 –> 00:12:40,240
بر کد را پیدا کنید. تمام آزمایشهای موجود در درو را
363
00:12:40,240 –> 00:12:41,680
میتوانید فقط آزمایشهای مربوطه را اجرا کنید، اگر
364
00:12:41,680 –> 00:12:43,680
ابزار مناسبی برای انجام این کار دارید تا اطمینان
365
00:12:43,680 –> 00:12:46,000
حاصل کنید که تغییرات شما خوب است
366
00:12:46,000 –> 00:12:47,680
و
367
00:12:47,680 –> 00:12:49,600
هر گونه شکستگی بلافاصل