https://youtu.be/XDGOyJ_vM38
این ویدیو بابی خیلی خوب بود. این موارد خیلیها رعایت نمیکنن( مثل خودم 😁) که خوب خوبه از این به بعد رعایت کنیم.
@TorhamDevCH
این ویدیو بابی خیلی خوب بود. این موارد خیلیها رعایت نمیکنن( مثل خودم 😁) که خوب خوبه از این به بعد رعایت کنیم.
@TorhamDevCH
YouTube
این ۱۰ تا کار رو توی داکر انجام نده - قسمت اول
توی این ویدیو راجع به ۱۰ تا کاری صحبت میکنیم که بهتره توی داکر انجام نشه و راه های جایگزین و بهتر رو معرفی میکنیم.
ویدیو قسمت دوم:
https://www.youtube.com/watch?v=O49ckjWZRJg
تایم لاین ویدیو
00:00 - معرفی
01:06 - داکر چیست؟
01:52 - استفاده از یوزر روت…
ویدیو قسمت دوم:
https://www.youtube.com/watch?v=O49ckjWZRJg
تایم لاین ویدیو
00:00 - معرفی
01:06 - داکر چیست؟
01:52 - استفاده از یوزر روت…
❤2
Wubba Lubba Dub Dub
• YouTube
https://youtube.com/@techwithtori
• Twitter
https://twitter.com/TorhamDev
• CodeNaline Podcast
@CodeNaline
• Group
@programmer_dudes
• Github
github.com/TorhamDev
• Email
torhamdev@gmail.com
new denoscription 🫥
• YouTube
https://youtube.com/@techwithtori
https://twitter.com/TorhamDev
• CodeNaline Podcast
@CodeNaline
• Group
@programmer_dudes
• Github
github.com/TorhamDev
torhamdev@gmail.com
new denoscription 🫥
🙏1
TorhamDev | تورهام 😳
میخام یک زبان برنامهنویسی بنویسم :)))))))
https://github.com/TorhamDev/Slow-Laggy
بله داشتم میگفتم که من فاندر آهسته ترین زبان برنامهنویسی جهان هستم 🤝
بله داشتم میگفتم که من فاندر آهسته ترین زبان برنامهنویسی جهان هستم 🤝
GitHub
GitHub - TorhamDev/Slow-Laggy: the slowest and most laggy programming language in the world!
the slowest and most laggy programming language in the world! - GitHub - TorhamDev/Slow-Laggy: the slowest and most laggy programming language in the world!
link: https://youtu.be/_vWJgD30FjE
آموزش FastAPI با تورهام، قسمت هجدهام - Exception Handling
بیایید ارورها درست هندل کنیم! 🗣
#FastAPI_Course
👾 @TorhamDevCH
آموزش FastAPI با تورهام، قسمت هجدهام - Exception Handling
بیایید ارورها درست هندل کنیم! 🗣
#FastAPI_Course
👾 @TorhamDevCH
👍1
TorhamDev | تورهام 😳
https://github.com/TorhamDev/Slow-Laggy بله داشتم میگفتم که من فاندر آهسته ترین زبان برنامهنویسی جهان هستم 🤝
همینک به صورت رسمی زبان slow laggy را به دنیا معرفی میکنم. کندترین زبان برنامهنویسی جهان!. قدرت گرفته از پایتون🗿🍻
👏7🤨2😨1
TorhamDev | تورهام 😳
https://github.com/TorhamDev/Slow-Laggy بله داشتم میگفتم که من فاندر آهسته ترین زبان برنامهنویسی جهان هستم 🤝
تبریک میگم اولین PR به زبان slow laggy همینک مرج شد!
🎉5🤣3
Forwarded from Python BackendHub
یک سوال نسبتا راحت دارم ازتون, یک نکته ای که باید خیلی بهش دقت کنید موقع کار کردن با fastapi
از ما خواسته شده یک روتری بنویسیم که به ساده ترین شکل ممکن بدون اینکه مشکلی برای اپلیکیشنمون به وجود بیاره به یک اپلیکیشنی یک درخواست بزنه و دیتاشو برگردونه.
ایراد کد رو پیدا کنید.
راهنمایی: کاری با اینکه تو روتر بهتره مستقیم درخواست نزنیم ندارم یا مثلا ارور هندلینگ خود درخواست. هدف این سوال یک مشکل خیلی بزرگ تره که کل اپلیکیشن رو تحت شعاع قرار میده.
@ManiFoldsPython
از ما خواسته شده یک روتری بنویسیم که به ساده ترین شکل ممکن بدون اینکه مشکلی برای اپلیکیشنمون به وجود بیاره به یک اپلیکیشنی یک درخواست بزنه و دیتاشو برگردونه.
from fastapi import FastAPI
import requests
app = FastAPI()
@app.post("/crawl")
async def crawl_website(job_data: str):
return requests.get("https://mywebsite.com")
ایراد کد رو پیدا کنید.
راهنمایی: کاری با اینکه تو روتر بهتره مستقیم درخواست نزنیم ندارم یا مثلا ارور هندلینگ خود درخواست. هدف این سوال یک مشکل خیلی بزرگ تره که کل اپلیکیشن رو تحت شعاع قرار میده.
@ManiFoldsPython
👍3
Forwarded from Python BackendHub
تو کامنتا خیلی سریع به جواب اشاره کردن, وقتی دارین با فست یا هر asgi دیگه ای کار میکنید باید حواستون باشه, که به هیچ وجه هیچ جایی از اپلیکیشنتون تسک IO باند نداشته باشین که بلاک کنه main thread تون رو.
چرا؟چون بای دیفالت روتر async رو ترد اصلی process ران میشه, بنابراین اگه بلاک شه هم ترد اصلیتون بلاک میشه هم process یعنی تو اون پروسه و ورکر دیگه نمیتونید هیچ درخواستی رو return کنید.
راه حلش چیه؟
https://asgi.readthedocs.io/en/latest/introduction.html#wsgi-compatibility
تو fastapi شما میتونید همچنان کدتون رو با sync هم ران کنید. اگه روترتون io bound داره که sync عه و بلاک میکنه میتونید روترتون رو sync کنید. اتفاقی که اون پشت میفته اینه که fastapi میاد درخواست شما رو تو یک ترد جدا هندل میکنه. داخل asgiref هم نمونه مشابهش هست, که sync_to_async هست. خودتونم میتونید مشابهشو بنویسید و تو executor thread ران کنید کنار بقیه کد های async تون. میتونید از لایبری سباستین asyncer هم استفاده کنید که داخلش از AnyIO استفاده کرده که typingتون رو خراب نمیکنه و فیچر های خوبی داره:
https://github.com/tiangolo/asyncer
اما یادتون نره که پرفومنسی تو تسک های IO همیشه async بهتره از thread چون کم هزینه تره, کانتکس سوییچ نداره, استفاده کامل تری از ریسورستون میکنید و البته cpu bound هم بخاطر وجود GIL فعلا تو پایتون تفاوتی ایجاد نمیکنه. نکته ای که باید دقت کنید بهش لایبری که استفاده میکنید بهتره در درجه اول native async باشه یعنی واقعا async باشه و رو یک ترد non blocking کارشو انجام بده. اگه لایبری mature یا خوبی پیدا نکردین در درجه دوم میتونید از همین تکنیکی که گفتم استفاده کنید.
میتونید مقاله زیر رو بخونید که یکم بیشتر با ساختار و معماری asgi و wsgi آشنا شین:
https://medium.com/p/807158ed1d4c
@ManiFoldsPython
چرا؟چون بای دیفالت روتر async رو ترد اصلی process ران میشه, بنابراین اگه بلاک شه هم ترد اصلیتون بلاک میشه هم process یعنی تو اون پروسه و ورکر دیگه نمیتونید هیچ درخواستی رو return کنید.
راه حلش چیه؟
https://asgi.readthedocs.io/en/latest/introduction.html#wsgi-compatibility
تو fastapi شما میتونید همچنان کدتون رو با sync هم ران کنید. اگه روترتون io bound داره که sync عه و بلاک میکنه میتونید روترتون رو sync کنید. اتفاقی که اون پشت میفته اینه که fastapi میاد درخواست شما رو تو یک ترد جدا هندل میکنه. داخل asgiref هم نمونه مشابهش هست, که sync_to_async هست. خودتونم میتونید مشابهشو بنویسید و تو executor thread ران کنید کنار بقیه کد های async تون. میتونید از لایبری سباستین asyncer هم استفاده کنید که داخلش از AnyIO استفاده کرده که typingتون رو خراب نمیکنه و فیچر های خوبی داره:
https://github.com/tiangolo/asyncer
اما یادتون نره که پرفومنسی تو تسک های IO همیشه async بهتره از thread چون کم هزینه تره, کانتکس سوییچ نداره, استفاده کامل تری از ریسورستون میکنید و البته cpu bound هم بخاطر وجود GIL فعلا تو پایتون تفاوتی ایجاد نمیکنه. نکته ای که باید دقت کنید بهش لایبری که استفاده میکنید بهتره در درجه اول native async باشه یعنی واقعا async باشه و رو یک ترد non blocking کارشو انجام بده. اگه لایبری mature یا خوبی پیدا نکردین در درجه دوم میتونید از همین تکنیکی که گفتم استفاده کنید.
میتونید مقاله زیر رو بخونید که یکم بیشتر با ساختار و معماری asgi و wsgi آشنا شین:
https://medium.com/p/807158ed1d4c
@ManiFoldsPython
GitHub
GitHub - fastapi/asyncer: Asyncer, async and await, focused on developer experience.
Asyncer, async and await, focused on developer experience. - fastapi/asyncer
👍8
دیزاین پترن Factory یکی از الگوهای مهم برنامه نویسی است.
فکر کنید که شما باید آبجکتی با یک سری خصوصیات و عملکردهای خاص بسازید. حالت اولیه این است که شما یک کلاس را مستقیماً مینویسید و یک آبجکت از آن ایجاد میکنید.اما ممکن است به دلایل مختلف شما نخواهید کلاس را مستقیماً بسازید. به جای آن از factory استفاده میکنید.
در اینجا کلاسی به عنوان FactoryClass تعریف میکنیم که یک متد build را دارد. این متد یک instance از کلاس مورد نظر شما را برای شما ایجاد میکند و آن را برمیگرداند.
برای استفاده از این الگو، شما ابتدا یک instance از کلاس factory را ایجاد میکنید و سپس با فراخوانی متد build آن را با نوع مورد نظر شما، instance از کلاس مورد نظر بسازید.
این الگو بسیار پرکاربرد است و به راحتی میتوان با آن آبجکتهای مختلفی در زمان اجرا به سادگی ایجاد کرد.
امیدوارم که این مطلب برای شما مفید بوده باشد. برای کسب اطلاعات بیشتر در این مورد، میتوانید به منابع زیر مراجعه کنید:
- https://refactoring.guru/design-patterns/factory-method
- https://realpython.com/factory-method-python/
نوشته شده توسط هوش فیک 😆
👾 @TrohamDevCH
فکر کنید که شما باید آبجکتی با یک سری خصوصیات و عملکردهای خاص بسازید. حالت اولیه این است که شما یک کلاس را مستقیماً مینویسید و یک آبجکت از آن ایجاد میکنید.اما ممکن است به دلایل مختلف شما نخواهید کلاس را مستقیماً بسازید. به جای آن از factory استفاده میکنید.
در اینجا کلاسی به عنوان FactoryClass تعریف میکنیم که یک متد build را دارد. این متد یک instance از کلاس مورد نظر شما را برای شما ایجاد میکند و آن را برمیگرداند.
class FactoryClass:
def build(self, type):
if type == 'TypeA':
return TypeA()
elif type == 'TypeB':
return TypeB()
برای استفاده از این الگو، شما ابتدا یک instance از کلاس factory را ایجاد میکنید و سپس با فراخوانی متد build آن را با نوع مورد نظر شما، instance از کلاس مورد نظر بسازید.
factory = FactoryClass()
object_a = factory.build('TypeA')
این الگو بسیار پرکاربرد است و به راحتی میتوان با آن آبجکتهای مختلفی در زمان اجرا به سادگی ایجاد کرد.
امیدوارم که این مطلب برای شما مفید بوده باشد. برای کسب اطلاعات بیشتر در این مورد، میتوانید به منابع زیر مراجعه کنید:
- https://refactoring.guru/design-patterns/factory-method
- https://realpython.com/factory-method-python/
👾 @TrohamDevCH
refactoring.guru
Factory Method
Factory Method is a creational design pattern that provides an interface for creating objects in a superclass, but allows subclasses to alter the type of objects that will be created.
❤4👌2
asyncio.wait_for
این کد یک نمونه از استفادهی asyncio.wait_for در برنامهنویسی پایتون است. زمانی که برنامه اجرا میشود، ممکن است که یک عملیات تحت شبکه، مانند ایجاد یک اتصال TCP، زمان بیشتری از حالت معمول برای تکمیل نیاز داشته باشد. در این صورت، استفاده از تابع wait_for، به برنامه نویس این قابلیت را میدهد تا دیگر از حد مورد موردنیاز بیشتر منتظر اتمام عملیات نماند.
در کد ارائه بالا، به جای منتظر ماندن برای اتمام تسک، با استفاده از تابع
در مثال بالا،
مقاله خوب برای مطالعه بیشتر:
- https://superfastpython.com/asyncio-wait_for/
👾 @TrohamDevCH
...
# execute a task with a timeout
try:
# wait for a task to complete
await asyncio.wait_for(coro, timeout=1)
except asyncio.TimeoutError:
# ...
این کد یک نمونه از استفادهی asyncio.wait_for در برنامهنویسی پایتون است. زمانی که برنامه اجرا میشود، ممکن است که یک عملیات تحت شبکه، مانند ایجاد یک اتصال TCP، زمان بیشتری از حالت معمول برای تکمیل نیاز داشته باشد. در این صورت، استفاده از تابع wait_for، به برنامه نویس این قابلیت را میدهد تا دیگر از حد مورد موردنیاز بیشتر منتظر اتمام عملیات نماند.
در کد ارائه بالا، به جای منتظر ماندن برای اتمام تسک، با استفاده از تابع
asyncio.wait_for، حداکثر یک ثانیه منتظر تکمیل تسک میمانیم. اگر تسک در زمان مشخص شده تکمیل نشود، یک asyncio.TimeoutError رخ میدهد.در مثال بالا،
coro میتواند هر گونه coroutine باشد که بتواند در asyncio event loop اجرا شود. با استفاده از تابع asyncio.wait_for، عملیات مشخص شده در این coroutine زمان بیشتری از زمان مشخص شده برای تکمیل آن اجرا شود. به عنوان مثال، ممکن است این coroutine انتظار داشته باشد که اتصالی به یک سرور خاص برقرار شود، اما برای برقراری این اتصال، ممکن است زمان زیادی لازم باشد. با استفاده از asyncio.wait_for، میتوانیم فرآیند اتصال را به حداکثر یک ثانیه محدود کنیم تا از به هم ریختگی برنامه جلوگیری شود. در صورتی که در یک ثانیه اتصال برقرار نشود، یک asyncio.TimeoutError ایجاد میشود که میتواند به عنوان اعلام خطا به کار برود.مقاله خوب برای مطالعه بیشتر:
- https://superfastpython.com/asyncio-wait_for/
👾 @TrohamDevCH
Super Fast Python
Asyncio wait_for() to Wait With a Timeout - Super Fast Python
It is a good practice that any waiting performed in an asyncio program be limited to a timeout. Asyncio provides a way to wait on another task with a timeout via the asyncio.wait_for() function. If the timeout elapses before the task completes, the task is…
👏3
آمار گیری جهت هدف دادن به محتوا چنل.
کدوم مورد شما ترجیح میدید محتوا دربارش باشه؟
کدوم مورد شما ترجیح میدید محتوا دربارش باشه؟
Anonymous Poll
49%
مفاهیم پایتون و برنامهنویسی به زبان پایتون
58%
مفاهیم و ابزارها بکاند (مستقل از زبان)
33%
میکروسرویس
28%
دواپس
فیچر if به زبان slow laggy اضافه شد!. از این پس میتونید از شرط if و یک معادله در برابرش استفاده کنید. برای مثال 3 > 7 یا هر شکل معادلهای که نتیجه ای True یا False داشته باشه!.
https://github.com/TorhamDev/Slow-Laggy
یادتون نره به این زبان فوقالعاده استار بدید!
https://github.com/TorhamDev/Slow-Laggy
یادتون نره به این زبان فوقالعاده استار بدید!
❤66🎉57🥰56👍55👏51😁47🔥46🙏3
تفاوت Decimal و Float چیه؟
به نظرم حتما مقاله رو هم کامل بخونید که مثل من سوتی ندید :)))
https://medium.com/@mayuribudake999/difference-between-decimal-and-float-eede050f6c9a
@TorhamDevCH
https://medium.com/@mayuribudake999/difference-between-decimal-and-float-eede050f6c9a
@TorhamDevCH