TorhamDev | تورهام 😳
Открыть в Telegram
2 869
Подписчики
Нет данных24 часа
+107 дней
+6330 день
Архив постов
2 869
بچه ها کسی تو تبریز هست همخونه بخواد ؟
اگه فقط یکی دو هفته یا یکی دو ماه م اوکی باشید به من لطف بزرگی ع
کارای فارغ التحصیلی دانشگاهمو میخوام تموم کنم بره
ID : @Hades343
2 869
Repost from Python BackendHub
یکی از بهترین روش های پیاده سازی retry mechanism استفاده از کانتکس منیجر و generator هست. علتش؟ چون شما میتونید یک try except ای داشته باشین که کاملا reusable هست و base اش درواقع اکسپشن هایی هست که catch میکنید.
مثالش, به جای اینکار:
def fn():
try:
foo(bar)
except FooBarException:
... # handler 1
except BazException:
... # handler 2
میتونید اینکارو انجام بدید
@contextmanager
def flow_manager():
try:
yield
except FooBarException:
... # handler 1
except BazException:
... # handler 2
with flow_manager():
foo(bar)
خوبیش چیه؟ هیچی try except بلاکتون کاملا reusable میشه. خیلیا برای اینکه همچین چیزی داشته باشن ۲ لایه کلس مینویسن که نیازی نیست واقعا. اینطوری خیلی ساده تره و راحت تره. بخش زیادی از سورس کد httpx اینطوریه.
چیزی نیاز داشته باشین تو try except میتونید به کانتکس منیجر بدید. تو این مثال ساده بود من چیزی نذاشتم. ولی این شیوه کاملا داینامیکه و خیلی میتونه خوب باشه برای retry mechanism مخصوصا برای لایبریا چون نیازی نیست دیگه ارث بری انجام شه فلان متود رو اورراید کنی فلان کارو کنی فلان اتفاق میفته. نه flow کاملا دسته خودتونه.
همیشه توصیه کردم سورس کد لایبری هارو بخونید خیلی چیزا برای الهام داره. مثلا تو httpx مثالی که زدم خیلی استفاده شده و باعث شده کد یک دست و خیلی خوبی داشته باشه.
@PyBackendHub2 869
در دنیا ما دو نوع scale کردن وجود داره، horizontal و vertical اما فرقشون چیه؟
خیلی ساده:
horizontal: سرور جدید اضافه کردن
vertical: سخت افزار سرور ارتقا دادن
خوبیهای هر کدوم چیه؟
horizontal:
1. پرفورمنس داخل سیستمهای distributed یا همون توزیع یافته بهتر میکنه
2. در دسترس بودن سیستم بیشتر میکنه، اگه یک node بیا پایین بقیه میتونن جاشو بگیرن یا یک instance جدید ازش بالا میارن
3. راحت میشه با رشد یوزر، سیستم هم ارتقا داد
نکته: بیشتر به درد شرکتهای بزرگ با تعداد یوزر بالا خواهد خورد
vertical:
1. بسیار راحت تره از چیزی مثل horizontal
2. هزینه کمتری نصبت به اون یکی داره
نکته: بیشتر به درد بیسهای کوچیک میخوره که هزینه زیادی نمیخوان انجام بدن و رشد یوزر خیلی عجیبی ندارن
مطالعه بیشتر:
https://www.cloudzero.com/blog/horizontal-vs-vertical-scaling/
@TorhamDevCH
2 869
Repost from Python BackendHub
یک فکت:امروز ۶ میلیون نفر pydantic رو دانلود کردن! pydantic تبدیل به یکی از پر استفاده ترین پکیج های پایتونی شده, و احتمال داره به جایی برسه در آینده نزدیک که به پر دانلود ترین پکیج پایتونی هم تبدیل شه!در حال حاضر معدود پکیج هایی فقط بالاتر از pydantic هستند مثل نام پای با ۹ میلیون دانلود روزانه. این در حالیه که فست فقط یک میلیون دانلود داشته. این آمار و ارقام نشون میده pydantic کامل وارد اکوسیستم پایتون شده و تو انواع پروژه ها استفاده میشه.
اگه هنوز pydantic رو شروع نکردین, اهل خوندن داک هم نیستن(!), ویدیو دکتر فرد رو بهتون توصیه میکنم:
https://www.udemy.com/course/pydantic/
دکتر فرد دوره پایتونی خیلی خوبی هم داره. deep dive into python. اگه میخواین بیشتر پایتون یاد بگیرین به شدت توصیه میشه:
https://www.udemy.com/user/fredbaptiste/
@PyBackendHub
2 869
Repost from Python BackendHub
AioClock 🚀🔥
خب یک لایبری دیگه نوشتم 🚀 این بار یک فریم ورک کاملا scheduler با async و خیلی سبک.فیچر هاش؟
۱. دپندسی اینجکشن
۲. داشتن trigger های مختلف (تو عکس واضحه) و scheduling
۳. ماژول بندی با Group که به code maintainabilityتون کمک میکنه
۴. سینتکس خیلی خوب و استفاده از pydantic
چی شد اینو نوشتم؟ مشکل اینجا بود که من از rocketry استفاده میکردم و خیلی وقتا که نسخه pyddanticشو آپدیت نکرده. میخواستم یک پروژه دیگه بالا بیارم حال نداشتم دوباره برم پکیجشو vendor کنم و نسخه pydanticشو ببرم بالا و ... .گفتم چه کاریه کاره خاصی نمیکنه خودم تو یک نصف روز میکنم 😁 اینترفیسش به نظره خودم جذاب تر شد!
برای حمایت خیلی ممنون میشم استار بدید 🙏
https://github.com/ManiMozaffar/aioclock
و خوشحال میشم contribute کنید مثل همیشه. لایبری رو خیلی سریع نوشتم. ایده های بهتری دارم براش بعدا روش کار میکنم.
Make It Work Make It Right Make It Fast
@PyBackendHub
2 869
میگن بهترین دروغگو اونی که دروغ با حقیقت ترکیب کنه، ۱۳ فروردین مبارک 🤝
Mark Lawrence Quote: “The best liars always tell the truth – they just choose which parts.”
2 869
دیگه واقعا فایده نداره، خیلی فکر کردم. میخام چنل پاک کنم کلا شاید برنامهنویسی هم ول کنم برم سمت موسیقی خلاصه اگه دید چنل پاک شد تعجب نکنید. اگر هم دوره های یوتیوب به دردتون میخوره بکآپ کنید
2 869
این پروژه رو یادتونه؟ یک تیم کوچیک جمع کردم قرار باهم پروژه ها رو انجام بدیم🤝. اولین پروژه فرانت این پروژه رو زدیم 🫶
@TorhamDevCH
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
