پست جدید شهریار شریعتی:
در این پست به شرح مختصری از حوزه نظریه بازیها در علوم کامپیوتر پرداختم. در قدمهای بعدی با استفاده از پایتون یک بازی (انسان و زندگی) تحت ترمینال طراحی کردیم و بعد با کمک هوش مصنوعی، عاملی هوشمند ساختیم که با ما بازی کند.
https://shahriarshm.com/?p=63
در این پست به شرح مختصری از حوزه نظریه بازیها در علوم کامپیوتر پرداختم. در قدمهای بعدی با استفاده از پایتون یک بازی (انسان و زندگی) تحت ترمینال طراحی کردیم و بعد با کمک هوش مصنوعی، عاملی هوشمند ساختیم که با ما بازی کند.
https://shahriarshm.com/?p=63
Shahriarshm
جنون، راه گریز از رنج
❤5
TorhamDev | تورهام 😳
پست جدید شهریار شریعتی: در این پست به شرح مختصری از حوزه نظریه بازیها در علوم کامپیوتر پرداختم. در قدمهای بعدی با استفاده از پایتون یک بازی (انسان و زندگی) تحت ترمینال طراحی کردیم و بعد با کمک هوش مصنوعی، عاملی هوشمند ساختیم که با ما بازی کند. https:…
اصلا
دیدم یاد خاطرات قدیم افتادم. دیگه هیچکس تقریبا ندیدم از این استفاده کنه :)
from colorama import Fore, initدیدم یاد خاطرات قدیم افتادم. دیگه هیچکس تقریبا ندیدم از این استفاده کنه :)
👍6👎2
https://youtu.be/eMsCKR3nd-Q
تو این ویدیو میفهمیم reverse proxy و load balancer چی هستن و کجا به درد میخورن. بعدش با nginx و flask یکدونه ازشون میسازیم :)
00:00 : intro
00:37 : What is the reverse proxy?
02:46 : What is the load balancer?
04:45 : Load balancer via Nginx
10:10 : Reverse Proxy via Nginx
15:19 Summary
🍰 @Torham
تو این ویدیو میفهمیم reverse proxy و load balancer چی هستن و کجا به درد میخورن. بعدش با nginx و flask یکدونه ازشون میسازیم :)
00:00 : intro
00:37 : What is the reverse proxy?
02:46 : What is the load balancer?
04:45 : Load balancer via Nginx
10:10 : Reverse Proxy via Nginx
15:19 Summary
🍰 @Torham
YouTube
Reverse Proxy Vs. Load Balancer | پیاده سازی با Nginx
تو این ویدیو میفهمیم reverse proxy و load balancer چی هستن و کجا به درد میخورن. بعدش با nginx و flask یکدونه ازشون میسازیم :)
کانال تلگرام : https://news.1rj.ru/str/TorhamDevCH
00:00 : intro
00:37 : What is the reverse proxy?
02:46 : What is the load balancer?
04:45…
کانال تلگرام : https://news.1rj.ru/str/TorhamDevCH
00:00 : intro
00:37 : What is the reverse proxy?
02:46 : What is the load balancer?
04:45…
🔥7👍1
TorhamDev | تورهام 😳 pinned «https://youtu.be/eMsCKR3nd-Q تو این ویدیو میفهمیم reverse proxy و load balancer چی هستن و کجا به درد میخورن. بعدش با nginx و flask یکدونه ازشون میسازیم :) 00:00 : intro 00:37 : What is the reverse proxy? 02:46 : What is the load balancer? 04:45 : Load balancer…»
چطوری در پایتون آبجکتی خلق کنیم که با همه چیز مساوی باشه؟!
قبل اینکه شروع کنیم بزارید برگردیم به اصل همه چیز یک آبجکت است در پایتون. طبق این اصل هر چیزی در پایتون یک آجکت در نتیجه تعداد متفاوتی متد داره. برای مثال وقتی شما جلو یک چیز در پایتون پرانتز باز و بسته بزارید () پایتون سعی میکنه متد
برای فهمیدن بیشتر درباره این ماجرا به این ویدیو سر بزنید.
حالا طبق این توضیحات میشه حدس زد وقتی ما سعی میکنیم چیزی رو از نظر برابری با عملگر == در پایتون مقایسه کنیم، مفسر سعی میکنه یک متد مثل
حالا چی میشه اگر ما ابجکتی بسازیم که متد
بیایید یکی بسازیم :
🐍 @Torham
قبل اینکه شروع کنیم بزارید برگردیم به اصل همه چیز یک آبجکت است در پایتون. طبق این اصل هر چیزی در پایتون یک آجکت در نتیجه تعداد متفاوتی متد داره. برای مثال وقتی شما جلو یک چیز در پایتون پرانتز باز و بسته بزارید () پایتون سعی میکنه متد
__call__ روی اون آبجکت صدا بزنه و اگر اون آبجکت همچین متدی نداشته باشه شما ارور میخورید که آبجکت به اصطلاح callable نیست و قابلیت call شدن رو نداره. برای فهمیدن بیشتر درباره این ماجرا به این ویدیو سر بزنید.
حالا طبق این توضیحات میشه حدس زد وقتی ما سعی میکنیم چیزی رو از نظر برابری با عملگر == در پایتون مقایسه کنیم، مفسر سعی میکنه یک متد مثل
__call__ روی آبجکت صدا بزنه. این متد برای این عملگر __eq__ است. پایتون زمانی که شما از عملگر == استفاده میکنید میاد متد __eq__ آبجکت سمت چپ معادله رو صدا میزنه و آبجکت سمت راست رو بهش میده. و اگر جواب true باشه این دوتا باهم مساوی هستاند در غیر اینصورت خیر.حالا چی میشه اگر ما ابجکتی بسازیم که متد
__eq__ اون آبجکت همیشه true بر گردونه؟! درسته اون آبجکت با همه چیز در جهان پایتون برابر :). بیایید یکی بسازیم :
class MyObj:
def __eq__(self, value):
return True
my_obj = MyObj()
print(my_obj == 12)
# OUT: True
print(my_obj == 1.2)
# OUT: True
print(my_obj == "Hi")
# OUT: True
print(my_obj == list)
# OUT: True
به همین راحتی :). اگه دوست داشتید درباره این ماجرا بیشتر بدونید به این ویدیو سر بزنید. 🐍 @Torham
👍16🆒1
از علایق جدیدم براتون بگم ریفکتور کردنه. داشتم این پروژه کپچا که با fastapi هست رو ریفکتور میکردم که اولین جایی که سراغش رفتم فرایند لاگین بود که دیدم داخل فرایند لاگین(که میشه ساخت توکن jwt برای کاربر ) دارم یوزرنیم و پسورد کاربر هم چک میکنم :). که این کار اشتباس و باید این فرایند یکجا جدا بشه و قابلیت reusability داشته باشه که بعدا بشه ازش دوباره استفاده کرد. فک کن تو هر view میخایی یوزرنیم و پسورد داخل بدنه ویو چک کنی؟!. تو جنگو قالب میان میدلور یا دکوریتور برای این کار مینویسن ولی خوب FastAPI یک ویژگی دیپندنسی اینجکشن داره ( اگر اشتباه نکنم ) که با Depends میتونید قبل وارد شدن به بدنه view یک کار دیگه رو هم انجام بدید که اینجا من یوزرنیم و پسورد رو چک میکنم و مدل مورد نیاز بر میگردونم.
به طور کلی بهتره این شکل فرایندها رو از لاجیک خود view جدا کنید که هم view تمیز تری داشته باشید هم از تکرار جلوگیری کنید.
میتونید داخل این کامیت تغییر رو ببینید اگر مشکلی داشت لطفا بهم بگید.
🐍 @Torham
به طور کلی بهتره این شکل فرایندها رو از لاجیک خود view جدا کنید که هم view تمیز تری داشته باشید هم از تکرار جلوگیری کنید.
میتونید داخل این کامیت تغییر رو ببینید اگر مشکلی داشت لطفا بهم بگید.
🐍 @Torham
👍10❤1
چرا نباید از try و except استفاده کنیم؟! و چرا کدی که try و except داره کد بدیه؟
موضوع ویدیو بعدی :)
موضوع ویدیو بعدی :)
👀10
Forwarded from جادی | Jadi
این روزها اخبار فنی پر بوده از«حذف گیل از پایتون». توی این ویدئو با هم میبینیم شمارش رفرنس چیه و مشکلش توی چند نخی چیه و چطوری گیل حلش میکنه و چه مشکل جدید رو درست می:نه. همراه کد نویسی و نگاه به سورس پایتون. جالبیش؟ حتی برای غیرفنیها احتمالا قشنگه.
https://youtu.be/CsD20IlhWFU
https://youtu.be/CsD20IlhWFU
YouTube
این چند وقت کلی خبر هست که «گیل داره از پایتون حذف می شه»، بیاین ببینیم چیه و چرا حذفش پر هیجانه
پایتون حتی در زمانی که تازه به وجود اومده بود هم رشد بسیار سریعی داشت. چرا؟ یکی از دلایلش این بود که میتونست بدون دردسر کتابخونههای پایتون رو اجرا کنه و در نتیجه اتوماتیک از همون اول کلی کتابخونه خوب داشته باشه. این در کنار امکان مالتی تردینگ، پایتون رو…
🗿3
دوستان اون docstring برای نوشتن توضیحات درباره class یا متودی که پیاده سازی شده و قرار اطلاعات بیشتری به برنامهنویس بعدی بده که اون class یا متد بهتر درک کنه. نه اینکه اسم class یا متود دوباره بنویسید داخلش!
اگر همچین docstringهایی مینوشتید یا نوشتهاید به نظرم تغییرش بدید بیشتر سعی کنید که اطلاعاتی رو داخلش قرار بدید که یک نفر بخونش بفهمه قراره چه اتفاقی اونجا رخ بده.
اگر همچین docstringهایی مینوشتید یا نوشتهاید به نظرم تغییرش بدید بیشتر سعی کنید که اطلاعاتی رو داخلش قرار بدید که یک نفر بخونش بفهمه قراره چه اتفاقی اونجا رخ بده.
☃2👍2
TorhamDev | تورهام 😳
دوستان اون docstring برای نوشتن توضیحات درباره class یا متودی که پیاده سازی شده و قرار اطلاعات بیشتری به برنامهنویس بعدی بده که اون class یا متد بهتر درک کنه. نه اینکه اسم class یا متود دوباره بنویسید داخلش! اگر همچین docstringهایی مینوشتید یا نوشتهاید…
چتجیپیتی خیلی خوب توضیح داد :)
📚 A docstring in Python is a string literal placed at the beginning of a module, function, class, or method definition. It serves as a documentation for the respective code element, providing information about its purpose, behavior, parameters, return values, and any other relevant details. A docstring typically includes the following information:
1️⃣ A brief summary or denoscription of the code element's functionality.
2️⃣ Information about the parameters it accepts, including their names, types, and any default values.
3️⃣ Details about the return value or values, if applicable.
4️⃣ Any exceptions that the code element may raise.
5️⃣ Examples or usage scenarios to illustrate how the code element should be used.
6️⃣ Any additional notes or explanations that can help the reader understand the code.
Here's an example of a docstring for a Python function:
📚 A docstring in Python is a string literal placed at the beginning of a module, function, class, or method definition. It serves as a documentation for the respective code element, providing information about its purpose, behavior, parameters, return values, and any other relevant details. A docstring typically includes the following information:
1️⃣ A brief summary or denoscription of the code element's functionality.
2️⃣ Information about the parameters it accepts, including their names, types, and any default values.
3️⃣ Details about the return value or values, if applicable.
4️⃣ Any exceptions that the code element may raise.
5️⃣ Examples or usage scenarios to illustrate how the code element should be used.
6️⃣ Any additional notes or explanations that can help the reader understand the code.
Here's an example of a docstring for a Python function:
def calculate_sum(a, b):The docstring in this example provides clear information about the purpose of the function, the arguments it accepts, the return value, and includes an example usage. It's important to note that while the above format is commonly used, there is no strict requirement for the style or format of docstrings in Python.
"""
Calculates the sum of two numbers.
Args:
a (int): The first number.
b (int): The second number.
Returns:
int: The sum of the two numbers.
Example:
>>> calculate_sum(2, 3)
5
"""
return a + b
👌3👍1
Forwarded from Python BackendHub
Media is too big
VIEW IN TELEGRAM
تو این ویدیو پرداختم به نحوه code review
یک کد FastAPI که خوب نبود و نیاز به ریفکتور اساسی داشت رو باهم ریفکتور کردیم و توضیح دادم دقیقا چرا ریفکتور کردم و چرا نسخه ریفکتور شده بهتره
خود کد رو از این ریپو میتونید ببینید
https://github.com/ManiMozaffar/dirty-code
نکته: آخر ویدیو یادم رفت که database model رو داخل دیتابیس add کنم. داخل کد کمی تغییر دادم که این موضوع رعایت شده.
™️ @DjangoIR
〰〰〰〰〰〰
© @DjangoEx |
© @ManiFoldsPython
یک کد FastAPI که خوب نبود و نیاز به ریفکتور اساسی داشت رو باهم ریفکتور کردیم و توضیح دادم دقیقا چرا ریفکتور کردم و چرا نسخه ریفکتور شده بهتره
خود کد رو از این ریپو میتونید ببینید
https://github.com/ManiMozaffar/dirty-code
نکته: آخر ویدیو یادم رفت که database model رو داخل دیتابیس add کنم. داخل کد کمی تغییر دادم که این موضوع رعایت شده.
™️ @DjangoIR
〰〰〰〰〰〰
© @DjangoEx |
© @ManiFoldsPython
👍2🔥2
Forwarded from CodeNaline | کدنالین
کدنالین، اپیزود یازدهم مهراد :)
مهراد از انگلستان که با روبوکاپ تو دوران دبیرستان شروع کرده و قبل دانشگاه هم کار می کرده.
سال ۲۰۱۲ از شهید بهشتی فارغ التحصیل شده و کار با روبی رو شروع کرده
الان هم روبی کار می کنه ولی تو این فاصله کار بازی سازی، کار php و python رو هم تجربه کرده
این مقاله رو هم تو مدیوم نوشته که این تجربه ی python و روبی رو به اشتراک بذاره البته یکم قدیمی شده :).
سوالاتتون رو از مهراد بپرسید تا از داخل پادکست ازش بپرسیم :))
مهراد از انگلستان که با روبوکاپ تو دوران دبیرستان شروع کرده و قبل دانشگاه هم کار می کرده.
سال ۲۰۱۲ از شهید بهشتی فارغ التحصیل شده و کار با روبی رو شروع کرده
الان هم روبی کار می کنه ولی تو این فاصله کار بازی سازی، کار php و python رو هم تجربه کرده
این مقاله رو هم تو مدیوم نوشته که این تجربه ی python و روبی رو به اشتراک بذاره البته یکم قدیمی شده :).
سوالاتتون رو از مهراد بپرسید تا از داخل پادکست ازش بپرسیم :))
https://www.atlassian.com/git/tutorials/saving-changes/gitignore
توضیحات کاملی درباره gitignore :). از همین وبسایت میتونید گیت رو به شکل خفنی یادبگیرید.
توضیحات کاملی درباره gitignore :). از همین وبسایت میتونید گیت رو به شکل خفنی یادبگیرید.
Atlassian
.gitignore file - ignoring files in Git | Atlassian Git Tutorial
Git ignore patterns are used to exclude certain files in your working directory from your Git history. They can be local, global, or shared with your team.
👍4
https://www.youtube.com/watch?v=qSMHCHeErYY&list=PLEQ3RnweNGA6v7qTMrDCcpgr9u91zvpq_&index=1
بچهها مانی یک پلیلیست داره داخل یوتیوب پیش میره درباره نحوه تست نویسی, تست های مختلف, و اصول تست نویسی در SDLC.
ولی مفاهیم خوبی یادمیده که حتی اگه نخوایید در این لحظه درباره تست نویسی یاد بگیرید هم مفیده. مثلا همین دیپدنسی اینورژن و دپندنسی اینجکشن که داخل برای مثالfastapi هستش
بچهها مانی یک پلیلیست داره داخل یوتیوب پیش میره درباره نحوه تست نویسی, تست های مختلف, و اصول تست نویسی در SDLC.
ولی مفاهیم خوبی یادمیده که حتی اگه نخوایید در این لحظه درباره تست نویسی یاد بگیرید هم مفیده. مثلا همین دیپدنسی اینورژن و دپندنسی اینجکشن که داخل برای مثالfastapi هستش
YouTube
دپندسی اینجشکن (تزریق وابستگی) و قانون دیپندنسی اینورژن
In this video, I've explained what does Dependency injection means and what does Dependency Inversion Principle means, and how they're different. This is very critical knowledge which enable our code to be testable
✍️ Source Code: https://github.com/Man…
✍️ Source Code: https://github.com/Man…
👍9🥱1