Python BackendHub – Telegram
Python BackendHub
7.51K subscribers
314 photos
46 videos
11 files
432 links
Learning python & Backend Engineering, with Mani!

Youtube: https://www.youtube.com/@GitOverHere
Github: https://github.com/ManiMozaffar
Linkedin: https://www.linkedin.com/in/manimozaffar

تبلیغات نداریم

Admin: @Mani_nikou
Download Telegram
https://www.youtube.com/watch?v=udrvnKiQHsA

ویدیو دوم هم آپلود شد. همون ویدیو لایو بود که ظبط کردیم. خوشبختانه فیچر chapter ساختن هم باز شد برام تو یوتیوب

سورس کد دوره لایو چلنج
https://github.com/ManiMozaffar/fast-student

لینک توضیحات خود تمرین و چیزایی که تو تسک خواسته شده بود ازتون
- توضیح لایو کد چنلج

@ManiFoldsPython
7👍1
امروز پلی لیست بعدی رو شروع میکنم
سعی میکنم ۲ ویدیو ضبط کنم

ویدیو اول: DI و DIP
ویدیو دوم:‌ یونیت تست و ماک گرفتن


دوستان برای پلی لیست ریفکتورینگ اگه کدی چیزی دارید که در حد ۲۰۰ خط نوشته شده خیلی ممنون میشم باهام به اشتراک بگذاریدش که بتونم ریفکتورش کنم و ظبطش کنم که اون پلی لیست هم ادامه داشته باشه. سه چهار ریپو کد نیاز دارم. اگه داشتین کامنت کنید تو همین پست که من اضافش کنم به لیستم

@ManiFoldsPython
👍8🔥64
یک پلی لیست جدید داریم که توش میپردازم به نحوه تست نویسی, تست های مختلف, و اصول تست نویسی در SDLC

ویدیو اول این پلی لیست, اومدم در مورد dependency inversion principle و Dependency Injection صحبت کردم و گفتم چرا مهم هستند و تو فریم ورک های مختلف نحوه پیاده سازی DI رو بررسی کردیم.

https://www.youtube.com/watch?v=qSMHCHeErYY&list=PLEQ3RnweNGA6v7qTMrDCcpgr9u91zvpq_&index=1

ویدیو دوم, اومدم در مورد ماک گرفتن صحبت کردم, ماک چیه و side effect چیه و چطوری میتونیم ماک بگیریم؟‌تفاوت ماک کاستوم چیه با ماک unittest و چه مزایا و معایبی نسبت به هم دارن؟ و کجا باید چیو ماک بگیریم

https://www.youtube.com/watch?v=8tsrLxe_-oE&list=PLEQ3RnweNGA6v7qTMrDCcpgr9u91zvpq_&index=2


سورس کد:
https://github.com/ManiMozaffar/testing-101


سوال داشتین حتما زیر ویدیو کامنت کنید پاسخ میدم
@ManiFoldsPython
👍152🔥1
Python BackendHub
یک پلی لیست جدید داریم که توش میپردازم به نحوه تست نویسی, تست های مختلف, و اصول تست نویسی در SDLC ویدیو اول این پلی لیست, اومدم در مورد dependency inversion principle و Dependency Injection صحبت کردم و گفتم چرا مهم هستند و تو فریم ورک های مختلف نحوه پیاده…
دوستان یک نکته اشاره کنم.. من تو ویدیو هام معمولا از فست استفاده میکنم برای اینکه مثال بزنم و مثال نشون بدم. واقعا چیز خاصیم نداره. توصیه میکنم بهتون حتما یاد بگیرید
نهایتا شما تو یک هفته یا دو هفته کل داک فستو تموم میکنید. خود داک فست همینطوری که تو ویدیو نشون دادم فقط داک نیست خیلی مفاهیم رو توش توضیح داده! بنظره من هیچ دوره فستی واقعا به خوبی داکش نیست. فریم ورک نیست لایبریه برای همین خیلی چیز سنگینی نداره و سریع یادش میگیرین

اما اینکه API خوب بنویسید چه با فست چه بدون فست هنر میخواد. با فست شاید مثلا از فریم ورکی مثل جنگو بیشتر انرژی بطلبه چون چیزی تو سطح لایبری کنترل نشده و دستتون بازه. منم تو این محتوا هایی که میخوام تولید کنم بیشتر هدفم این چیزاست. پس اینکه اگه با فست کد نمیزنید بازم میتونه مطالب براتون به درد بخور باشه.

یک سوال هم دارم برام پیش اومده, من که قبلا vote گرفته بودم اکثرا میخواستن راجب تست نویسی محتوا تولید کنم ولی الان بازدید و استقبال خیلی کمه ازش, اگه ایده یا فیدبکی دارین ممنون میشم باهام درمیون بذارید که ویدیو های بعدی رو بهتر کنم. مثلا سطح مطالب بالاست؟‌ پایینه؟ مثال خوب نیست؟ مثال کمه؟‌

سعی کردم زمان ویدیو رو کم کنم که کلا شد ۲ تا ویدیو ۱۵ دقیقه ای و نمیذارم تو پلی لیست ویدیویی بالای ۲۰ دقیقه بره.

@ManiFoldsPython
21👍3
get git over here😂

اسم کاناله که واسه یوتیوب گذاشتم
@ManiFoldsPython
🤣16🔥4😁4
Python BackendHub
get git over here😂 اسم کاناله که واسه یوتیوب گذاشتم @ManiFoldsPython
وقتی یک هندی میخواد get over here رو تلفظ کنه‌:))
🤣20👎3😁2
پایدانتیک یک میلیارد دانلود داشته..! 👀
@ManiFoldsPython
🔥13👍1
git checkout -

میرین تو همون برنچ قبلی که بودین
واقعا مفیده 😂
😁17👍4🔥4😱2
Forwarded from ‌BenDev
ویس در مورد اینکه چرا جنگو (فریم
ورک )نباید استفاده کنید!
@BenDevelop
👍15🔥2
‌BenDev
Voice message
چقدر این ویس حق بود
(پ.ن:‌اکثر پست های کانال امیربهادر تو گروهش برای من میاد :)))‌ تو کانال هیچ پستی برام نمیاد. از عجایب تلگرام :))) )

@ManiFoldsPython
👍7🤣3🥴1
یک پلی لیست داریم که توش میپردازم به نحوه تست نویسی, تست های مختلف, و اصول تست نویسی در SDLC

تو ویدیو سوم پلی لیست, پرداختم به پای تست, توضیح دادم پای تست چیه, چرا بهتره از لایبری unit test پایتون و اینکه fixture ها چین و scope چیه و assertion چیه و چطور assertion ای بنویسیم که خوانایی بالاتری داشته باشه.
https://www.youtube.com/watch?v=_YPJZtMRs8Q&list=PLEQ3RnweNGA6v7qTMrDCcpgr9u91zvpq_&index=3

تو ویدیو چهارم پلی لیست, نحوه ماک کردن database و application رو توضیح دادم و نحوه نوشتن تست تو FastAPI رو هم آموزش دادم.
https://www.youtube.com/watch?v=zhp7Y6sWqfE&list=PLEQ3RnweNGA6v7qTMrDCcpgr9u91zvpq_&index=4

‍سورس کد:
https://github.com/ManiMozaffar/testing-101

سوال داشتین حتما زیر ویدیو کامنت کنید پاسخ میدم
@ManiFoldsPython
9👏2👍1
Python BackendHub
یک پلی لیست داریم که توش میپردازم به نحوه تست نویسی, تست های مختلف, و اصول تست نویسی در SDLC تو ویدیو سوم پلی لیست, پرداختم به پای تست, توضیح دادم پای تست چیه, چرا بهتره از لایبری unit test پایتون و اینکه fixture ها چین و scope چیه و assertion چیه و چطور…
دوستان دوره بیشتر حالت مفهومی داره
این دو ویدیو رو ظبط کردم که بقیه ویدیو ها قراره زیاد از pytest استفاده کنیم که سوال نباشه براتون چه اتفاقی داره میفته

تو سایت مونگارد میدیدم دوره پای تست وجود داره
ولی حقیقت اینجاست که اصلا اشاره ای به نحوه تست نویسی و انواع تست نشده که خیلی مهم ترن
صرفا یک نگاه پکیجی و داکیومنتی به ماژول های مختلف برای تست نویسی داشته که اصلا هدف من تو این دوره همچین چیزی نیست

https://www.mongard.ir/courses/unittest/episode/523/unittest-pytest/

@ManiFoldsPython
👍143
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
متاسفانه مانی وارد یوتیوب شده و زده تو کار آموزش. اونم پلی لیست طور
نمیدونم واقعا بعضی افراد مثل امثال ایشون چی فکر کردن با خودشون که قصد دارند اینترنت کاربران رو به چخ بدن، از اون بدتر اونقدر سطح علمی خوبه عصبی هم میشی اگر نرسی ویدیو رو ببینید

و نکته آخر اینکه : آقا مانی ما دنبال آموزش اصولی نیستیم، همینکه pip install pytest بزنیم توی رزومه ای که سر درش نوشتیم سوپر فول استک سنیور ، تست نویسی هم در کنار سایر skill هامون اضافه میکنیم 😎


من لینک پلی لیست رو میزارم. لطفا بلاک و ریپورت کنید 🤌

https://www.youtube.com/playlist?list=PLEQ3RnweNGA6v7qTMrDCcpgr9u91zvpq_

@SEYED_BAX
Please open Telegram to view this post
VIEW IN TELEGRAM
😁34🔥2
سوال)‌ در سناریو زیر، چگونه قصد دارین از constraints استفاده کنید؟

۱. رکورد را از جدول A حذف می‌کنید (که به طور موقت constraints را نقض میکنه)
۲. رکورد رو در جدول B وارد می کنید (که constraints را بر برمیگردونه)
۳. تراکنش رو commit می کنید

جوابتون رو کامنت کنید
@ManiFoldsPython
🤔2
Python BackendHub
سوال)‌ در سناریو زیر، چگونه قصد دارین از constraints استفاده کنید؟ ۱. رکورد را از جدول A حذف می‌کنید (که به طور موقت constraints را نقض میکنه) ۲. رکورد رو در جدول B وارد می کنید (که constraints را بر برمیگردونه) ۳. تراکنش رو commit می کنید جوابتون رو کامنت…
در پی پاسخ به سوال قبلی که تا زمانی که این پستو نوشتم‌(این پست schedule شده هست) هنوز کسی جواب نداده یک توضیح کامل میخوام بدم

زمانی که شما یک DEFERRABLE constraint اضافه می‌کنید، می‌تونید اونو به عنوان INITIALLY IMMEDIATE یا INITIALLY DEFERRED مارک کنید. INITIALLY IMMEDIATE به معنای بررسی constraint در هنگام CREATE/UPDATE/DELETE ردیف‌ها از جدوله. INITIALLY DEFERRED به معنای بررسی constraint تنها زمانی که transaction commit داره انجام میشه. یعنی order مهم نیست دیگه.

یکی از جاهایی که خیلی این موضوع مهمه؟
Foreign key

postgresql
به طور دیفالت برای شما INITIALLY IMMEDIATE میسازه

ولی جنگو به طور دیفالت از نسخه ۲اش برای شما INITIALLY DEFERRED میسازه


تو خوده داکیومنت جنگو اینو توضیح داده.
https://docs.djangoproject.com/en/4.2/intro/tutorial02/#activating-models

ریلیز نوت نسخه دو جنگو:
https://docs.djangoproject.com/en/4.2/releases/2.0/#queryset-reverse-and-last-are-prohibited-after-slicing

در طی صحبت امیربهادر, شما نیاز نیست که حتما از اکوسیستم جنگو خارج شید برای مهندس شدن. کافیه داک خودشو وقتی یک خط میخونید و متوجهش نمیشید نگذرین ازش و تحقیق کنید راجبش. همون چیزیه که گفتم چند روز پیش اشاره کردم:

به عنوان یک software engineer باید بدونید چیکار میکنید دقیقا. اگه کسی ادعا بلد بودن جنگو رو کنه و به خودش بگه software engineer من ازش انتظار دارم که کامل بگه وقتی مینویسه models.Foregnkey چه اتفاقاتی داره میفته سره دیتابیس و به چه علت.

پ.ن:‌ من خودم به عنوان یک ‍SE اصلا جنگو بلد نیستم.
@ManiFoldsPython
🤯2👍1👏1
این playlist ارجان هم هست برای دوستانی که میخوان تست نویسیشون قوی تر شه. واقعا عالیه...
گرچه اگه مفاهیمی که تا الان گفتم براتون سخت بوده توصیه میکنم نرید سمتش فعلا و سعی کنید با همین دوره من پیش برید.

https://www.youtube.com/playlist?list=PLC0nd42SBTaPYSgBqtlltw328zuafaCzA


@ManiFoldsPython
6😁1
لینک گروهو میذارم با محوریت فقط پایتون و کلین کد و clean architecture و کلا پرکتیس هایی که تو کامینیتی پایتون واقعا جاشون خالیه تو ایران

https://news.1rj.ru/str/PythonFellow

@ManifoldsPython
👍4
مرسی از مهدی بابت شیر این ویدیو
تو گروه واقعا مطالب خوبی share میشه خوشحالم که بحث های اینطوری میشه.

https://youtu.be/o_TH-Y78tt4?list=PLgFpVsHvyMn6COlTXABz0pU5A4I81aDIG&t=1820

این ویدیو رو ببینید که عمو توضیح داده راجب MVC as Architecture pattern
خیلی برای من روشن کننده بود
حتما ببینید

مخصوصا جایی که تو ویدیو مارکش کردم ببینید اون ۵ دقیقه رو چون نکات مهمی داره اونجا
@ManiFoldsPython
👍7
Forwarded from Sadra Codes
نظرتون راجع به این جمله چیه؟ (می‌دونم خیلیا واسه فان و خنده اینو پست می‌کنن ولی خب می‌خوام نظرتونو بدونم)

If the code works, don't touch it.
اگه کدتون کار می‌کنه، بهش دست نزنید.
🥴7👍2😁1
Sadra Codes
نظرتون راجع به این جمله چیه؟ (می‌دونم خیلیا واسه فان و خنده اینو پست می‌کنن ولی خب می‌خوام نظرتونو بدونم) If the code works, don't touch it. اگه کدتون کار می‌کنه، بهش دست نزنید.
پلی لیست تست جایی قشنگ میشه, که از توی تست نویسی میرسیم به مفاهیم

debugging
refactoring
و
documentation!

من شخصا بخوام یک کد legacy رو ریفکتور کنم, اولین کاری که میکنم براش تست مینویسم. بعد دیگه راحت تغییرش میدم. اگه تستام خوب نوشته شده باشه, همون کد legacy ترسناک رو خیلی راحت میشه ریفکتور کرد.

تو قسمت بعدی از پلی لیست, میپردازم به BDD Testing
@ManiFoldsPython
👏117👍1