‌BenDev
2.74K subscribers
24 photos
5 videos
2 files
99 links
برای ارتباط با ادمین لطفا به آیدی @abb798 مراجعه فرمایید
Download Telegram
سلام دوستان
یه پلی لیست جدید ایجاد کردم برای مفاهیم مختلف پایتون که بنظرم شاید همه ندونن
خیلی مقدماتی نیست بعضی هاش شاید خیلی سخت باشن بعضی ها ساده تر
هیچ ترتیب بخصوصی هم نداره هر ویدیو یه بحث کاملا جداست

توی این ویدیو که ویدیو اول این پلی لیست هستش ما بررسی main رو داریم

https://youtu.be/bouggCPE_QU

@BenDevelop
👍2714🏆1
سلام دوستان

می‌خوایم یه تمرین خیلی خیلی خیلی مهم با هم بکنیم ( ۱-۲ روز هم وقت داره )
فرض کنید به شما گفتن که تابعی بنویسید همچین signature ای داره

async def fetch_with_retry(
self, url: str, data: str, retries: int
) -> aiohttp.ClientResponse

یعنی قراره که یه تابع باشه بهش url ای که قراره بهش ریکوست بزنه
تعداد بار retry در صورت failed شدن
و data که در اصل body ریکوست post شما هست بهتون داده شده

شما قرار هست با استفاده از aiohttp یه ریکوست post بزنید که مکنیزیم retry هم داره و قاعدتا هم async هستش دیگ همین

فقط اینکه اینکار رو انجام می‌ده یه طرف
چیزی که می‌خوایم راجع بهش با هم عمیق صحبت کنیم best practice های این مسالست
می‌خوام بدونم چقدر می‌تونید به این فکر کنید که درست ترین حالت این کد ساده باید چه شکلی باشه

#تمرین_پایتون
@BenDevelop
🤷8🔥62😁1
‌BenDev
به چه دلیلی در حل این سوال مشکل دارم
اونهایی که فرصت انجامش رو ندارن:
حل اصلیش ۱ خطه
با best practice شاید بشه ۱۰ خط
🤣10👀1
خب این کاری هستش که قراره با هم بکنیم
من هر چند روز یک بار یه راهنمایی می‌زارم و شما سعی می‌کنید با کمترین راهنمایی جواب رو بدست بیارین

راهنمایی اول: صورت سوال رو بصورت خیلی تکمیل تر و مستند تر داخل چنل می‌فرستم که مساله رو بهتر درک کنید و شک و شبه ای باقی نمونه
راهنمایی دوم: یه ویدیو در رابطه با async می‌دم
راهنمایی سوم: یه ویدیو در رابطه با aiohttp می‌دم
راهنمایی چهارم: یه ویدیو در مورد پرکتیسی که می‌خواستم انجام بدین صحبت می‌کنم که می‌شه ویدیو نهایی

همین امروز راهنمایی اول رو سعی می‌کنم بفرستم
@BenDevelop
24👍4🥰2😍1
خب خب
بریم سراغ راهنمایی اول
من پروژه رو خودم تکمیل کردم و در لینک زیر قرار دادم
https://github.com/amirbahador-hub/python_tutorial
کاری که شما باید بکنید اینه که fork بگیرین و بهبودش بدین
الان دیگ خیلی راحت تره دیگ , یه کدی دارین که داره کار می‌کنه
فرض کنید سنیور شرکت هستین و اینو یه جونیور بهتون pull request داده

همانطور که گفتم باید سعیتون این باشه که با کمترین راهنمایی به جواب برسین

@BenDevelop
👍2🔥2
‌BenDev
خب خب بریم سراغ راهنمایی اول من پروژه رو خودم تکمیل کردم و در لینک زیر قرار دادم https://github.com/amirbahador-hub/python_tutorial کاری که شما باید بکنید اینه که fork بگیرین و بهبودش بدین الان دیگ خیلی راحت تره دیگ , یه کدی دارین که داره کار می‌کنه فرض کنید…
بچه ها یکی دوتا pr دیدم دمتون گرم که فعالین

فقط یه نکته بگم
مشکلات کد فقط توی اون فانکشن fetcher نیست تو کل کد پخشه

خلاق باشین اصلا کل کد رو بریزین دور با ذهن خودتون عوضش کنید
👍2
ویدیو داریم چه ویدیویی 🎉🎉🎉
ویدیو Async که خیلی ها مشکل داشتن توش

توی این قسمت ما کلی کار داریم اول راجع به مفایهم خیلی مهم با هم صحبت می‌کنیم
از قبیل concurrency vs parallelism vs sequential
و همچنین Iobound vs cpu bound
و همچنین async vs multithreading vs multiprocessing
و بعد با استفاده از asyncio می ریم و یه کد غیر بهینه رو با هم سریع ترش می‌کنیم


این ویدیو جز راهنمایی های سوال هم محسوب می‌شه
این راهنمایی دوم هستش همچنان تکرار می‌کنم که سعی کنید با کمترین راهنمایی به نتیجه برسین
و همچنان منتظر pr هاتون هستم
https://youtu.be/NMZ2bWJQ92Q

@BenDevelop
23👍2🔥1😍1
‌BenDev
ویدیو داریم چه ویدیویی 🎉🎉🎉 ویدیو Async که خیلی ها مشکل داشتن توش توی این قسمت ما کلی کار داریم اول راجع به مفایهم خیلی مهم با هم صحبت می‌کنیم از قبیل concurrency vs parallelism vs sequential و همچنین Iobound vs cpu bound و همچنین async vs multithreading…
یکی از دوستان یه نکته ای رو داخل کامنت اشاره کردن که خوبه همینجا اصلاح کنم صحبتم رو

صحبتی که در مورد ترد کردم دقیق نیست به چند دلیل
یکی اینکه اولا پایتون داره gil رو بر می‌داره کلا که اصلا معادله رو عوض می‌کنه و می تونید واقعا تسک cpu bound هم با ترد هندل کنید
و اینکه ترد ها می تونن روی کور های متفاوت باشن ولی به هر حال فقط یکی حق اجرا داره پس به هر حال با توجه به ورژن فعلی
شما بازم نمی‌تونید تسک CPU bound رو با ترد هندل کنید فعلا ( البته لایببری هایی هستن که می‌تونن gil رو خاموش کنن و خودتون هم می‌تونید)

اگر علاقه داشتین بگین بعدا یه ویدیو مجزا راجع به خود threading و multiprocessing بدم

https://docs.python.org/3/library/threading.html

CPython implementation detail: In CPython, due to the Global Interpreter Lock, only one thread can execute Python code at once (even though certain performance-oriented libraries might overcome this limitation). If you want your application to make better use of the computational resources of multi-core machines, you are advised to use multiprocessing or concurrent.futures.ProcessPoolExecutor. However, threading is still an appropriate model if you want to run multiple I/O-bound tasks simultaneously.
👍20👏1
یکی واقعا رفته این دامین رو خریده 😁
https://guthib.com/

@BenDevelop
🤣27😁5🏆2
بچه ها مانی کارش درسته
ویدیو توضیح تست نویسی درست کرده که می‌خواستید حتما دنبالش کنید


یک پلی لیست جدید داریم که توش میپردازم به نحوه تست نویسی, تست های مختلف, و اصول تست نویسی در SDLC

ویدیو اول این پلی لیست, اومدم در مورد dependency inversion principle و Dependency Injection صحبت کردم و گفتم چرا مهم هستند و تو فریم ورک های مختلف نحوه پیاده سازی DI رو بررسی کردیم.

https://www.youtube.com/watch?v=qSMHCHeErYY&list=PLEQ3RnweNGA6v7qTMrDCcpgr9u91zvpq_&index=1

ویدیو دوم, اومدم در مورد ماک گرفتن صحبت کردم, ماک چیه و side effect چیه و چطوری میتونیم ماک بگیریم؟‌تفاوت ماک کاستوم چیه با ماک unittest و چه مزایا و معایبی نسبت به هم دارن؟ و کجا باید چیو ماک بگیریم

https://www.youtube.com/watch?v=8tsrLxe_-oE&list=PLEQ3RnweNGA6v7qTMrDCcpgr9u91zvpq_&index=2


سورس کد:
https://github.com/ManiMozaffar/testing-101


سوال داشتین حتما زیر ویدیو کامنت کنید پاسخ میدم
@ManiFoldsPython
21👍3
ویس در مورد اینکه چرا جنگو (فریم
ورک )نباید استفاده کنید!
@BenDevelop
38👍30💯5😁3👀3
من کل سوالاتی که در مورد این ویس پرسیدید رو به ۳ تا سوال کلی تر شکوندم که ویدیو هاش رو تا ۲-۳ روز آتی قرار خواهم داد
کاور های ویدیو هارو براتون الان می‌‌ذارم اگر احساس می‌کنید سوالی هست که جا می‌مونه یا مطلبی هست که بنظرتون باید بهش اشاره کنم
داخل کامنت بنویسید که قبل از اینکه ویدیو ها رو بگیرم اون هم داخل جواب هام جا بدم

اینم بگم که اون چرا نباید جنگو استفاده کنیم با راه حل هستش پس با ویس فرق داره
@BenDevelop
41👍5🔥2
👍161