‌BenDev – Telegram
‌BenDev
2.82K subscribers
27 photos
6 videos
2 files
103 links
برای ارتباط با ادمین لطفا به آیدی @abb798 مراجعه فرمایید
Download Telegram
Forwarded from DevOps (babak dorani)
سلام رفقا
بحث پروژه جنگو رسید به CI/CD اما قبل اینکه امیربهادر بخواد عملیاتی کدش رو بزنه داره یه توضیح خوب میده که این برنامه باید چطور آماده و در محیط های مختلف پیاده بشه. پایتون بودن یا نبودن این برنامه اصلا مهم نیست چرا که موضوعی که داره بحث میشه یه ساختار عمومی هست و ابزارهای مختلفی براش هم وجود داره شاید شما با جنکینز یا گیت هاب اکشنز یا گیتلب سی آی بزنی ... این قسمتش هم الان واقعا مهم نیست . چیزی که مهمه اینه که درک بکنین چرا و چطور باید این اتفاق بی افته بعد میتونین با همه زبان ها و همه ابزارها کار کنین و فقط کافیه داکیومنتش رو بخونین که خیلی سریع بی افتین تو مسیر.

هدف این دوره ها بیشتر مفاهیم هستش وگرنه ابزارها میان و میرن و اگر شما مفاهیم رو آموخته باشین خیلی سریع میتونین خودتون رو با شرایط و زبان و ابزار جدید وفق بدین


https://youtu.be/5D1Ru24NzQk



لطفا سوال هاتون رو زیر ویدیو بپرسین

https://news.1rj.ru/str/BenDevelop
12👍1
Forwarded from Ahmadali Bagheri
وقتی پروژه رو کامل کردی و CI رو انجام دادی میمونه اینکه پروژه رو ببری تو محیط پیاده سازی کنی به این حرکت میگن دپلوی کردن حالا این دپلوی کردن هم روش اتوماتیک داره هم روش دستی با کلی نکته و داستان که امیربهادر عزیز ویدیو رو براتون درست کرده برین ببینین و کیفشو ببرین. دیگه نیاز نیست بگم این موضوعات برای فریمورک ها و زبان های مختلف اونقدر فرقی نداره

برنامه نویس های سطح مید خارج از ایران این موضوعات رو بلدن و ما هم مطمعنیم بروبچه های برنامه نویسمون خیلی گردن کلفتن فقط مونده این موارد رو هم یاد بگیرن که امیربهادر به عنوان یه سنیور دولوپر کار درست داره واقعا خوب توضیحشون میده

پس اگر جی اس یا پی اچ پی یا هر زبان دیگه ای کد میکنی ببین این مجموعه رو و سطح برنامه نویسیت رو جابجا کن

قسمت اول:
https://youtu.be/AXtLCnScNVM

قسمت دوم:
https://youtu.be/tqRH3u7qYQw

دمت گرم امیر عزیز

https://news.1rj.ru/str/BenDevelop

@Devopshobbies
👍11
خب رسیدیم به یه قسمت جالب از کار اونم راه اندازی گیت لب سی آی و استارت کارهای خیلی جذاب که اتوماتیک کد رو بیلد کنیم و تست کنیم و داکرفایل رو بسازیم و نهایتا پوش کنیم یه ور و درنهایت بریم بزنیمش روی سرور

این داستان خیلی جذابه و البته کل موضوع کورس جداگانه خواهد داشت و ریز به ریز گیت لب سی آی درس داده خواهد شد اما اینجا یه پروژه کلی داریم که یه عالمه موضوع و ابزار داره و میخوایم از گیت لب سی ای درکنار بقیه ابزارها استفاده کنیم


طبیعتا این قسمت هیچ ربطی به جنگو نداره و برای همه زبان ها و فریمورک ها فوق العاده است

https://youtu.be/5WcPZoNCD9s
دمت گرم امیر عزیز

@BenDevelop

@DjangoIR
〰️〰️〰️〰️〰️〰️〰️
© @DjangoEx |
© @DevOpsHobbies
11👍4🔥2
👍17😁3👀3🤡2
Forwarded from DevOps (Ahmadali Bagheri)
خب خب، در ادامه ی بحث جلسه قبل که راجع به syntax و مقدمات gitlab-ci بود، همونطور که امیر بهادر عزیز گفت، در این ویدیو به یه قسمت خیلی خیلی مهم رسیدیم چون میخوایم به علاوه ی نصب گیت لب یک runner هم راه بنداریم و بفهمیم استیج هایی که نوشتیم دقیقا کجا اجرا میشدن

جاداره دوباره بگم که این داستان خیلی جذابه و البته کل موضوع کورس جداگانه خواهد داشت و ریز به ریز گیت لب سی آی درس داده خواهد شد اما اینجا یه پروژه کلی داریم که یه عالمه موضوع و ابزار داره و میخوایم از گیت لب سی ای درکنار بقیه ابزارها استفاده کنیم


طبیعتا این قسمت هم هیچ ربطی به جنگو نداره و برای همه زبان ها و فریمورک ها فوق العاده است

https://youtu.be/feyM2Lnyezk
دمت گرم امیر عزیز

https://news.1rj.ru/str/BenDevelop

@Devopshobbies
9👍2
آیا علاقه ای به لایو استریم کدینگ دارین؟ (داخل یوتیوب)
Anonymous Poll
78%
بله
22%
خیر
👍7👎3
در صورت علاقه داشتن چه روزی رو ترجیح می‌دین؟
( به این نکته دقت کنید که راجع به این هفته صحبت نمی‌کنم کلی می‌پرسم)
Anonymous Poll
14%
شنبه
11%
یک شنبه
7%
دوشنبه
7%
سه شنبه
15%
چهار شنبه
50%
پنج شنبه
61%
جمعه
Forwarded from DevOps (babak dorani)
خب، تا اینجای کار ما داکر ایمیج هامون رو دستی بیلد میکردیم. اما این که نشد آتومیشن!

در این جلسه میبینیم چطوری میشه با کمک gitlab-ci ایمیجمون رو بیلد کنیم.
در آخر هم یک نگاه نمکی به variable ها در گیت لب میندازیم.


https://youtu.be/8wfuHjDDT5g
دمت گرم امیر عزیز

https://news.1rj.ru/str/BenDevelop
16👍3
Forwarded from DevOps (Ahmadali Bagheri)
سلام رفقا
در جلسه ی قبل دیدیم که چطور بیلد داکرفایلمون رو آتومیت کنیم و الان دیگه نوبت تست هامونه.

در این ویدیو میبینیم چطور میتونیم اون تست هایی که با pytest نوشتیم رو به صورت خودکار با استفاده از پایپ لاین CI/CD اجرا کنیم. 


https://youtu.be/6lAp-ahAlwQ
دمت گرم امیر عزیز

https://news.1rj.ru/str/BenDevelop
20👍1
درود دوستان
امروز قسمت اخر دوره ی جنگو+CI/CD و داکر در کانال یوتوب دواپس هابیز منتشر شد.

در جلسات اخیر استیج های بیلد و تستمون رو خودکار کردیم.

در مرحله ی اخر یعنی این ویدیو میبینیم که چطور اون فرایند دیپلویمنتمون رو میتونیم با gitlab-ci جلو ببریم و آتومیتش کنیم.

ویدیو رو ببینید و منتشر کنید.
https://youtu.be/ivHuCWlxlfs

خداقوت بسیار و تشکر ویژه از امیر عزیز

@BenDevelop


@DjangoIR
〰️〰️〰️〰️〰️〰️〰️
© @DjangoEx |
© @DevOpsHobbies
23👍9
سلام
دوستانی که در ضمینه crawling تجربه دارن یه پیغام به من بدن لطفا
👍2👎1
تابعی بنویسیید بنویسید که بی نهایت Iterable بگیره
و تک تک عناصر رو خروجی بده با استفاده از جنریتور

برای مثال:
>> list(your_func([1,2,3],{"a","b"}))
[1,2,3,"a","b"]

#تمرین_پایتون
@BenDevelop
👍1
‌BenDev
تابعی بنویسیید بنویسید که بی نهایت Iterable بگیره و تک تک عناصر رو خروجی بده با استفاده از جنریتور برای مثال: >> list(your_func([1,2,3],{"a","b"})) [1,2,3,"a","b"] #تمرین_پایتون @BenDevelop
بچه ها این باید خیلی ساده باشه براتون

سوالی ک در امتدادش می‌پرسم چالش داره

انتظار داشتم اینو خیلی سریع بگین
‌BenDev
تابعی بنویسیید بنویسید که بی نهایت Iterable بگیره و تک تک عناصر رو خروجی بده با استفاده از جنریتور برای مثال: >> list(your_func([1,2,3],{"a","b"})) [1,2,3,"a","b"] #تمرین_پایتون @BenDevelop
حالا تابعی بنویسید که به جای اینکه پشت هم باشن عنصر ها به ترتیب بیان
مثلا عنصر های اول بعد عنصر های دوم و...

مثال:
>> list(your_func([1,2,3],{"a","b"}))
[1,"a",2,"b",3]

#تمرین_پایتون
@BenDevelop
‌BenDev
جواب صحیح:
این سوالی که الان مطرح شد اسمش round_robin هست
و نکته جذاب در مورد این سوال اینه که در هر زبانی راه حل بهینش کاملا متفاوت از زبون های دیگست

یه راه حلی که خیلی ساده می‌تونسید سوال رو حل کنید این بود که بیشترین تعداد عنصر رو پیدا کنید
بعد روی تمام آرایه ها به اون تعداد حلقه بزنید مثلا:
def round_robin(*args):
rounds = max(args, key=lambda a: len(a))
for index, r in enumerate(rounds):
for arr in args:
if len(arr) > index:
print(arr[index])

منتهی این جواب خوبی نیست چرا؟
چون اگر یکی از لیست ها مثلا ۱۱ تا عنصر داشته باشه
و اونیکی ۲ تا
اونوقت حلقه شما ۲۲ بار تکرار می‌شه

ولی تو راه حل اصلی می‌بینید که آرایه ای عنصر هاش تموم شده از آرایه ها حذف می‌شه
پس دیگه ما حلقه الکی نمی‌زنیم

@BenDevelop
👍10