پیوند
برای نمایش کلیک کنید
22 · 4.7K · برای نمایش کلیک کنید
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
49 · 5.1K · DailyProjects
عکس
برای نمایش کلیک کنید
برای نمایش کلیک کنید
در قسمت دهم پلی لیست دیزاین پترن
تو این قسمتChain of Responsibility رو بررسی کردیم. یک مثال پروداکشنی با کد بویلرپلیت هم نمایش دادم که نسبتا مثال پیچیده ای بود تا واقعا یوزکیس این دیزاین پترن رو درک کنید. در نهایت به نقاط ضعف و قوت این دیزاین پترن پرداختیم. اگه سوالی داشتین حتما زیره ویدیو کامنت کنید. برای حمایت ممنون میشم سابسکرایب کنید و داخل گیتهاب استار بدین به ریپو.
لینک ویدیو:
https://youtu.be/F0YyisF7Hq4
لینک گیتهاب دوره دیزاین پترن; جزوه و مثال های دوره همه اینجا ذخیره خواهند شد:
https://github.com/ManiMozaffar/design-101
@Raspberry_Python
17 · 4.6K · DailyProjects
پیوند
برای نمایش کلیک کنید
برای نمایش کلیک کنید
“… 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 تر میکنه. حالا میتونه اون فانکشن رو صدا بزنی بدون اینکه اطلاعات دیگه ای از یوزر داشته باشی یا بدون اینکه هیت بزنی به دیتابیس پس حتی میشه گفت پرفومنس رو بهتر هم میکنه.
# 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
18 · 5.1K · DailyProjects
عکس
برای نمایش کلیک کنید
برای نمایش کلیک کنید
✔️ الگوریتم Timsort
بیاید تا یکی از سریعترین الگوریتمهای مرتبسازی که حدود ۲۲ ساله زندهست و از پایتون 2.3 الگوریتم مرتب سازی استاندارد پایتونه و همچنین توی جاوا و Rust و Android و GNU Octave و انجین V8 هم حضور داره رو کاملا مفصل بررسیش کنیم 😁
🔗 https://virgool.io/@liewpl/timsort-algorithm-u41h0wv0jnax
〰〰〰〰〰〰〰
✒️@pyeafp
©@raspberry_python
77 · 5.9K · فرهاد ناصری زاده 🐍
https://www.instagram.com/p/CmOhX6NjhJu/?igshid=MmJiY2I4NDBkZg==
اینستاگرام کانال
3 · 7.5K · فرهاد ناصری زاده 🐍
امام علی علیه السلام:
روزه قلب بهتر از روزه زبان است و روزه زبان بهتر از روزه شکم است.
حلول ماه رمضان مبارک باد. 🌹
@raspberry_python
6 · 6.9K · DailyProjects
عکس
برای نمایش کلیک کنید
برای نمایش کلیک کنید
سال نو شما همراهان عزیز مبارک. سالی باشه همراه با سلامتی ،موفقیت،شادی و جعل امضا😉
🌺🌺🌺🌺🌱🌱
@raspberry_python
4 · 8.6K · فرهاد ناصری زاده 🐍
🖥 کانال findv2ray
تمامی پروکسی های V2ray از کانال های تلگرام به صورت آنی گرفته میشه. تست میشه و داخل کانال به صورت رایگان گذاشته میشه.
https://t.me/+UjUqHeG_lfcwYzQ0
https://t.me/+UjUqHeG_lfcwYzQ0
https://t.me/+UjUqHeG_lfcwYzQ0
9 · 6.5K · DailyProjects
عکس
برای نمایش کلیک کنید
برای نمایش کلیک کنید
آموزش پایتون دانشگاه هاروارد
Link below.
https://youtube.com/playlist?list=PLhQjrBD2T3817j24-GogXmWqO5Q5vYy0V&feature=shared
✅ @raspberry_python
272 · 8.3K · فرهاد ناصری زاده 🐍
پیوند
برای نمایش کلیک کنید
برای نمایش کلیک کنید
https://medium.com/bitgrit-data-science-publication/a-roadmap-to-learn-ai-in-2024-cc30c6aa6e16
@ai_dsp
34 · 8.3K · 🐍 Python & Raspberry 🐍
ویدیو
AE487840B0944E3BC655E2B5AC6C14A0_video_dashinit.mp4 · 709 KB · برای نمایش کلیک کنید
AE487840B0944E3BC655E2B5AC6C14A0_video_dashinit.mp4 · 709 KB · برای نمایش کلیک کنید
قانون اول برنامه نویسی ✅
🟢 اگه کُدت کار میکنه بهش دست نزن 😂
@raspberry_python
59 · 6.3K · 🐍 Python & Raspberry 🐍
عکس
برای نمایش کلیک کنید
برای نمایش کلیک کنید
نوشته پشت پیراهن یک کودک در مراسم عزاداری محرم در شهر آوکلند نیوزلند:
KEEP CALM and say Labbaik ya Hussain
« آسوده باش و بگو لبیک یا حسین»
13 · 4.5K · 🐍 Python & Raspberry 🐍
پیوند
برای نمایش کلیک کنید
برای نمایش کلیک کنید
اولین قسمت از پلی لیست SQLAlchemy منتشر شد!
در این قسمت، به بررسی ساختار ORM میپردازیم و مفاهیم اولیه معماری و لایههای این کتابخانه را معرفی میکنیم. همچنین، به ویژگیهای مختلف کتابخانه نگاهی میاندازیم و مزایای استفاده از آن را توضیح میدهیم. در پایان، با نوشتن چند خط کد، معماری و لایهها را بهتر درک خواهیم کرد.
لینک ویدیو:
https://youtu.be/ybkq1s-rQVY
این دوره شامل ۶ قسمت هست. این دوره ۶ قسمته شما رو برای استفاده از SQLAlchemy داخل پروژه هاتون و پروداکشن آماده میکنه و به شما درک بنیادی و کافی از SQLAlchemy میده که دیگه درک این ORM براتون خیلی سخت نباشه.
@raspberry_python
21 · 2.9K · 🐍 Python & Raspberry 🐍
پیوند
برای نمایش کلیک کنید
برای نمایش کلیک کنید
دومین قسمت از پلی لیست SQLAlchemy منتشر شد!
در این قسمت، به Engine در SQLAlchemy میپردازیم, نحوه وصل شدن به دیتابیس رو میبینیم. مفهوم Dialect رو بهتر و عمیقتر بررسی میکنیم, و کانکشن پولینگ و نحوه پیاده سازیش و کنترلش داخل SQLAlchemy رو آزمایش میکنیم.
لینک ویدیو:
https://youtu.be/84oa66tzVGE
این دوره شامل ۶ قسمت هست. این دوره ۶ قسمته شما رو برای استفاده از SQLAlchemy داخل پروژه هاتون و پروداکشن آماده میکنه و به شما درک بنیادی و کافی از SQLAlchemy میده که دیگه درک این ORM براتون خیلی سخت نباشه.
@raspberry_python
9 · 2.4K ·