Channel: 🐍 Python & Raspberry 🐍
Forwarded from 🐍 Python & Raspberry 🐍 (DailyProjects)
چرا باید دیزاین پترنها و کاربردهای آن آشنا شویم؟
یادگیری و همچنین بهکار بردن دیزاین پترنها مفید است. در ادامه، دلایلی را در این مورد بیان کردهایم.
- دیزاین پترنها، ایدههای بیشتر و بهتری را در مورد نحوه مدلسازی مسائل فنی خاص، عرضه میکنند.
- امکان استفاده مجدد و بهکارگیری ایدههای طراحی که مؤثر بودن آنها ثابت شدهاست، وجود دارد.
- میتوانیم جزئیات مناسبتری از کلاسهایمان بهدست آوریم که حوزه خاصی را مدلسازی میکنند.
یک پلی لیست در خصوص دیزاین پترن دارم که هر هفته داخلش ویدیو منتشر میشه و تا الان ۹ قسمت منتشر شده و تمام مثال ها برعکس کتاب های gang of four و دیزاین پترن های دیگه با پایتونه با مثال کاربردی 😍
https://www.youtube.com/playlist?list=PLEQ3RnweNGA5XLLANrPl5erS90EREs0F0
فقط هم دیزاین پترن gang of four نیست در واقع کلی دیزاین پترن کاربردی هم داریم که میتونید به صورت روزانه استفاده کنید.مثلا در قسمت نهم پلی لیست دیزاین پترن و مهم ترین قسمت این پلی لیست, پرداختم به دیزاین پترن Type State. پترنی که سبک کد نویسی من رو به شدت تغییر داد و هر روز ازش استفاده میکنم
مفاهیم زیر رو ابتدا توضیح دادم:
- Don't validate, parse!
- Type safe operations
و توضیح دادم چطور به صورت غریزی و ابتدایی از type state استفاده میکنیم. همینطور یوزکیس های خیلی بهتر و advance تر هم توضیح دادم و دلیل محبوبیت Pydantic هم توضیح دادم.
با Type state pattern کد هاتون به شدت باگ کمتری خواهند داشت پس اگه دوست دارین کمتر با باگ سروکله بزنید این ویدیو رو از دست ندید. حتما توصیه میشه قبل از دیدن این ویدیو, ویدیو قبلی راجب state pattern هم ببینید که ۱۰ دقیقه هست.
لینک ویدیو:
https://youtu.be/DwAQ6dm-Vn8
لینک گیتهاب دوره دیزاین پترن; جزوه و مثال های دوره همه اینجا ذخیره خواهند شد:
https://github.com/ManiMozaffar/design-101
@Raspberry_Python
یادگیری و همچنین بهکار بردن دیزاین پترنها مفید است. در ادامه، دلایلی را در این مورد بیان کردهایم.
- دیزاین پترنها، ایدههای بیشتر و بهتری را در مورد نحوه مدلسازی مسائل فنی خاص، عرضه میکنند.
- امکان استفاده مجدد و بهکارگیری ایدههای طراحی که مؤثر بودن آنها ثابت شدهاست، وجود دارد.
- میتوانیم جزئیات مناسبتری از کلاسهایمان بهدست آوریم که حوزه خاصی را مدلسازی میکنند.
یک پلی لیست در خصوص دیزاین پترن دارم که هر هفته داخلش ویدیو منتشر میشه و تا الان ۹ قسمت منتشر شده و تمام مثال ها برعکس کتاب های gang of four و دیزاین پترن های دیگه با پایتونه با مثال کاربردی 😍
https://www.youtube.com/playlist?list=PLEQ3RnweNGA5XLLANrPl5erS90EREs0F0
فقط هم دیزاین پترن gang of four نیست در واقع کلی دیزاین پترن کاربردی هم داریم که میتونید به صورت روزانه استفاده کنید.مثلا در قسمت نهم پلی لیست دیزاین پترن و مهم ترین قسمت این پلی لیست, پرداختم به دیزاین پترن Type State. پترنی که سبک کد نویسی من رو به شدت تغییر داد و هر روز ازش استفاده میکنم
مفاهیم زیر رو ابتدا توضیح دادم:
- Don't validate, parse!
- Type safe operations
و توضیح دادم چطور به صورت غریزی و ابتدایی از type state استفاده میکنیم. همینطور یوزکیس های خیلی بهتر و advance تر هم توضیح دادم و دلیل محبوبیت Pydantic هم توضیح دادم.
با Type state pattern کد هاتون به شدت باگ کمتری خواهند داشت پس اگه دوست دارین کمتر با باگ سروکله بزنید این ویدیو رو از دست ندید. حتما توصیه میشه قبل از دیدن این ویدیو, ویدیو قبلی راجب state pattern هم ببینید که ۱۰ دقیقه هست.
لینک ویدیو:
https://youtu.be/DwAQ6dm-Vn8
لینک گیتهاب دوره دیزاین پترن; جزوه و مثال های دوره همه اینجا ذخیره خواهند شد:
https://github.com/ManiMozaffar/design-101
@Raspberry_Python
YouTube
دیزاین پترن Type State - مهم ترین ویدیو دوره!
در قسمت نهم پلی لیست دیزاین پترن و مهم ترین قسمت این پلی لیست, پرداختم به دیزاین پترن Type State
مفاهیم زیر رو ابتدا توضیح دادم:
- Don't validate, parse!
- Type safe operations
و توضیح دادم چطور به صورت غریزی و ابتدایی از type state استفاده میکنیم. همینطور…
مفاهیم زیر رو ابتدا توضیح دادم:
- Don't validate, parse!
- Type safe operations
و توضیح دادم چطور به صورت غریزی و ابتدایی از type state استفاده میکنیم. همینطور…
در قسمت دهم پلی لیست دیزاین پترن
تو این قسمتChain of Responsibility رو بررسی کردیم. یک مثال پروداکشنی با کد بویلرپلیت هم نمایش دادم که نسبتا مثال پیچیده ای بود تا واقعا یوزکیس این دیزاین پترن رو درک کنید. در نهایت به نقاط ضعف و قوت این دیزاین پترن پرداختیم. اگه سوالی داشتین حتما زیره ویدیو کامنت کنید. برای حمایت ممنون میشم سابسکرایب کنید و داخل گیتهاب استار بدین به ریپو.
لینک ویدیو:
https://youtu.be/F0YyisF7Hq4
لینک گیتهاب دوره دیزاین پترن; جزوه و مثال های دوره همه اینجا ذخیره خواهند شد:
https://github.com/ManiMozaffar/design-101
@Raspberry_Python
تو این قسمتChain of Responsibility رو بررسی کردیم. یک مثال پروداکشنی با کد بویلرپلیت هم نمایش دادم که نسبتا مثال پیچیده ای بود تا واقعا یوزکیس این دیزاین پترن رو درک کنید. در نهایت به نقاط ضعف و قوت این دیزاین پترن پرداختیم. اگه سوالی داشتین حتما زیره ویدیو کامنت کنید. برای حمایت ممنون میشم سابسکرایب کنید و داخل گیتهاب استار بدین به ریپو.
لینک ویدیو:
https://youtu.be/F0YyisF7Hq4
لینک گیتهاب دوره دیزاین پترن; جزوه و مثال های دوره همه اینجا ذخیره خواهند شد:
https://github.com/ManiMozaffar/design-101
@Raspberry_Python
“… Because the problem with object-oriented languages is they’ve got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle. “ —Joe Armstrong, creator of Erlang progamming language
وقتی به یک موز نیاز دارین تو یک تابعی , یک گوریلا با موز ندین به اون تابع! 😁 مقاله مدیوم:
https://medium.com/codemonday/banana-gorilla-jungle-oop-5052b2e4d588
یک مثال خیلی قشنگ. اشتباهی که خیلیا انجام میدن
مثلا شما به آیدی یوزر نیاز داری تو یک فانکشن. به جای اینکه یوزر رو بذاری تو signature و ایدی رو ازش بگیری سعی کن یوزر آیدی رو فقط بگیری. اینو به دلیل پرفومنس نمیگم چون تاثیری نداره ولی به این دلیل میگم که کدتون رو به شدت reusable تر میکنه. حالا میتونه اون فانکشن رو صدا بزنی بدون اینکه اطلاعات دیگه ای از یوزر داشته باشی یا بدون اینکه هیت بزنی به دیتابیس پس حتی میشه گفت پرفومنس رو بهتر هم میکنه.
به این قانون law of demeter هم میگن. هدفشم چیزی جز بهتر شدن reusability کدتون و راحت تر تست نوشتن نیست.
@Raspberry_Python
وقتی به یک موز نیاز دارین تو یک تابعی , یک گوریلا با موز ندین به اون تابع! 😁 مقاله مدیوم:
https://medium.com/codemonday/banana-gorilla-jungle-oop-5052b2e4d588
یک مثال خیلی قشنگ. اشتباهی که خیلیا انجام میدن
مثلا شما به آیدی یوزر نیاز داری تو یک فانکشن. به جای اینکه یوزر رو بذاری تو signature و ایدی رو ازش بگیری سعی کن یوزر آیدی رو فقط بگیری. اینو به دلیل پرفومنس نمیگم چون تاثیری نداره ولی به این دلیل میگم که کدتون رو به شدت reusable تر میکنه. حالا میتونه اون فانکشن رو صدا بزنی بدون اینکه اطلاعات دیگه ای از یوزر داشته باشی یا بدون اینکه هیت بزنی به دیتابیس پس حتی میشه گفت پرفومنس رو بهتر هم میکنه.
# BAD
def activate_user(user: User, session) -> None
session.execute(sa.update(User).where(User.id==user.id).values(is_active=True)
# GOOD
def activate_user(user_id: UserId, session) -> None
session.execute(sa.update(User).where(User.id==user_id).values(is_active=True)
به این قانون law of demeter هم میگن. هدفشم چیزی جز بهتر شدن reusability کدتون و راحت تر تست نوشتن نیست.
@Raspberry_Python
Medium
Banana Gorilla Jungle — OOP
From the famous quote,
✔️ الگوریتم Timsort
بیاید تا یکی از سریعترین الگوریتمهای مرتبسازی که حدود ۲۲ ساله زندهست و از پایتون 2.3 الگوریتم مرتب سازی استاندارد پایتونه و همچنین توی جاوا و Rust و Android و GNU Octave و انجین V8 هم حضور داره رو کاملا مفصل بررسیش کنیم 😁
🔗 https://virgool.io/@liewpl/timsort-algorithm-u41h0wv0jnax
〰〰〰〰〰〰〰
✒️@pyeafp
©@raspberry_python
بیاید تا یکی از سریعترین الگوریتمهای مرتبسازی که حدود ۲۲ ساله زندهست و از پایتون 2.3 الگوریتم مرتب سازی استاندارد پایتونه و همچنین توی جاوا و Rust و Android و GNU Octave و انجین V8 هم حضور داره رو کاملا مفصل بررسیش کنیم 😁
🔗 https://virgool.io/@liewpl/timsort-algorithm-u41h0wv0jnax
〰〰〰〰〰〰〰
✒️@pyeafp
©@raspberry_python
Forwarded from 🐍 Python & Raspberry 🐍 (DailyProjects)
Forwarded from 🐍 Python & Raspberry 🐍 (DailyProjects)
Forwarded from 🐍 Python & Raspberry 🐍 (DailyProjects)
Forwarded from 🐍 Python & Raspberry 🐍
امام علی علیه السلام:
روزه قلب بهتر از روزه زبان است و روزه زبان بهتر از روزه شکم است.
حلول ماه رمضان مبارک باد. 🌹
@raspberry_python
روزه قلب بهتر از روزه زبان است و روزه زبان بهتر از روزه شکم است.
حلول ماه رمضان مبارک باد. 🌹
@raspberry_python
سال نو شما همراهان عزیز مبارک. سالی باشه همراه با سلامتی ،موفقیت،شادی و جعل امضا😉
🌺🌺🌺🌺🌱🌱
@raspberry_python
🌺🌺🌺🌺🌱🌱
@raspberry_python
Forwarded from find v2ray
تمامی پروکسی های V2ray از کانال های تلگرام به صورت آنی گرفته میشه. تست میشه و داخل کانال به صورت رایگان گذاشته میشه.
https://hottg.com/+UjUqHeG_lfcwYzQ0
https://hottg.com/+UjUqHeG_lfcwYzQ0
https://hottg.com/+UjUqHeG_lfcwYzQ0
Please open Telegram to view this post
VIEW IN TELEGRAM
آموزش پایتون دانشگاه هاروارد
Link below.
https://youtube.com/playlist?list=PLhQjrBD2T3817j24-GogXmWqO5Q5vYy0V&feature=shared
✅ @raspberry_python
Link below.
https://youtube.com/playlist?list=PLhQjrBD2T3817j24-GogXmWqO5Q5vYy0V&feature=shared
✅ @raspberry_python
🔸بهترین منابع یادگیری هوشمصنوعی, پایتون و یادگیری ماشین
🔰 هوش مصنوعی:
؛👈 @Ai_Tv
؛ 👈 @HomeAI
؛ 👈 @MrArtificialintelligence
؛ 👈 @eventai
؛👈 @AI_in_Research
؛👈 @Ai_NewsTv
🔰 علم داده :
؛ 👈 @DataPlusScience
🔰 آموزش پایتون:
؛👈 @raspberry_python
؛👈 @Python4all_pro
🔰 منابع و کتابهای پایتون ، علم داده و یادگیری ماشین :
؛ 👈 @programmingPDF
🔰 هوش مصنوعی:
؛👈 @Ai_Tv
؛ 👈 @HomeAI
؛ 👈 @MrArtificialintelligence
؛ 👈 @eventai
؛👈 @AI_in_Research
؛👈 @Ai_NewsTv
🔰 علم داده :
؛ 👈 @DataPlusScience
🔰 آموزش پایتون:
؛👈 @raspberry_python
؛👈 @Python4all_pro
🔰 منابع و کتابهای پایتون ، علم داده و یادگیری ماشین :
؛ 👈 @programmingPDF
HTML Embed Code: