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
پایدانتیک یک میلیارد دانلود داشته..! 👀
@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
سلام مانی هستم, یک پلی لیست داریم که توش میپردازم به نحوه تست نویسی, تست های مختلف, و اصول تست نویسی در SDLC


در قسمت پنجم پلی لیست, بررسی کردم که چیو باید تو unit test تست کنیم, و پرداختم به اشتباهاتی که اکثر دولوپر ها تو unit test انجام میدن موقع نوشتن Assertion
همچنین بررسی کردم چرا استفاده از code coverage برای بررسی کیفیت تست ایده بدی هست
و در نهایت تست کد پروداکشن خودمو رو نشون دادم و توضیح دادم چرا تست نویسی خودش میتونه یک داکیومنت خوب باشه

https://www.youtube.com/watch?v=LyT8AiUJTnY&list=PLEQ3RnweNGA6v7qTMrDCcpgr9u91zvpq_&index=5


سوال داشتین حتما زیر ویدیو کامنت کنید پاسخ میدم
@ManiFoldsPython
8👍7🔥4
Python BackendHub
سلام مانی هستم, یک پلی لیست داریم که توش میپردازم به نحوه تست نویسی, تست های مختلف, و اصول تست نویسی در SDLC در قسمت پنجم پلی لیست, بررسی کردم که چیو باید تو unit test تست کنیم, و پرداختم به اشتباهاتی که اکثر دولوپر ها تو unit test انجام میدن موقع نوشتن…
چون خیلیا اینو پرسیدن تصمیم گرفتم تو کانال توضیح بدم, بعدا که پلی لیست هم تموم شد یک ویدیو ظبط میکنم و توضیح میدم پیش نیاز دوره چیه.
برای دیدن دوره تست نویسی, شما کلا باید
۱. یک سال تجربه کار با پایتون داشته باشی یا سینتکس پایتون رو بتونی بخونی
۲. با syntax async اشنا باشید. در حد خیلی خیلی کم
۳. سینتکس fastapi رو بتونی بخونی

مورد سوم هم خیلی نباید سخت باشه حتی بدون خوندن داک فست هم شاید بتونید متوجه شید. ولی باز اگه خواستین خوندن داک فست مقدماتیش ۴ روز بیشتر زمان نمیبره بنظرم.


کسایی که دیدن تا اینجا ممنون میشم نظراتشون رو کامنت کنند من فیدبک بگیرم میتونم دوره رو بهتر ریکورد کنم. مثلا گفتین صدا کمه من از ویدیو سوم خیلی صدارو بیشتر کردم.نظره فنی هم استقبال میکنم

@ManiFoldsPython
17
بنظرم به جای Makefile از justfile استفاده کنید بهتره, به دو دلیل:

۱. مولتی پلتفورمه
۲. خیلی سینتکس بهتری داره

تو هر پروژه ای, بنظرم باید کامندی وجود داشته باشه که:
۱. دیتا سپل جنریت کنه برای تست دستی
۲. دیتابیس رو ریست کنه با دیتای جدید
۳. تیبلا رو مجدد بسازه
۴. ماگریتی که نوشتین رو بتونه تست کنه
۵. اینستال پروژه هندل شه
۶. برای ران تست هم کامند جدا باید باشه

همیشه ترجیح میدم از poetry استفاده کنم چون خودش پکیج میسازه برام و lockfile داره و میتونم توش خودم پکیج بسازم که به صورت live از روش بخونه و آپدیتش کنه (مثل shared library بین سرویسا)

Justfile: https://github.com/casey/just


برای تست ماگریشنتون:
۱. باید تیبل هاتون رو پاک کنید
۲. باید برید برنچی که ازش برنچ میگیرین مثلا dev
۳. دیتابیس رو بسازید با اون برنچ و migration هایی که بوده اونجا رو اسکیپ کنید
۴. برگردین برنچی که کار میکردین روش
۵. ماگریشن رو حالا ران کنید تا اخرین نسخه
۶. دیتابیسو چک کنید ببینید چه بلایی اوردین سره دیتابیس :))

بهتره خودکار انجام شه کل این پروسس با یک کامند


@ManiFoldsPython
👍6🤔3
Forwarded from Sadra Codes
یه پکیج تصادفی انتخاب کردم. گرافش این شکلی شد.

خب اینا به هم وابستگی دارن. اگه یکی از پکیج‌ها، یه بخش critical پکیج بالایی خودشو نتونه ساپورت کنه، کل سیستم می‌خوابه و پکیج منیجیر کارش اینه که حواسش به این قضیه باشه.

وقتی pip install میزنید، یه فاز، dependency resolving هست که به همین قضیه می‌پردازه.

راجع به این داستان و جهنم وابستگی‌ها، در این مقاله توضیح دادم:
https://imsadra.me/dependency-hell
👍9
Python BackendHub
سلام مانی هستم, یک پلی لیست داریم که توش میپردازم به نحوه تست نویسی, تست های مختلف, و اصول تست نویسی در SDLC در قسمت پنجم پلی لیست, بررسی کردم که چیو باید تو unit test تست کنیم, و پرداختم به اشتباهاتی که اکثر دولوپر ها تو unit test انجام میدن موقع نوشتن…
سلام مانی هستم, یک پلی لیست داریم که توش میپردازم به نحوه تست نویسی, تست های مختلف, و اصول تست نویسی در SDLC

در قسمت ششم پلی لیست, پرداختم به اینکه چرا یونیت تست پاسخ نیازمون رو نمیده؟ دو تا metric جدید معرفی میکنم برای پاسخ به سوال <ایا نیاز دارم این تست رو بنویسم؟>‌ و همینطور چهار تایپ جدید تست رو معرفی میکنم بهتون.

https://www.youtube.com/watch?v=T2mL2fO45hk&list=PLEQ3RnweNGA6v7qTMrDCcpgr9u91zvpq_&index=6


سوال یا فیدبکی داشتین حتما زیر ویدیو کامنت کنید پاسخ میدم.

@ManiFoldsPython
7👍3👏1
Python BackendHub
سلام مانی هستم, یک پلی لیست داریم که توش میپردازم به نحوه تست نویسی, تست های مختلف, و اصول تست نویسی در SDLC در قسمت ششم پلی لیست, پرداختم به اینکه چرا یونیت تست پاسخ نیازمون رو نمیده؟ دو تا metric جدید معرفی میکنم برای پاسخ به سوال <ایا نیاز دارم این تست…
دوستان شش قسمت پلی لیست بیرون اومده ها... بعضیا فکر کردن همون پستو دارم repost مییکنم😁 از قسمت بعدی اون جمله اول رو نمینویسم که گیج کننده نباشه

از پلی لیست این ویدیو ها باقی مونده

7. Writing testable codes (DI Container)
8. Deep dive to unit test (Example Testing)
9. Deep dive to unit test (Boundary Testing)
10. Deep dive to unit test (Parameterized Testing)
11. Deep dive to unit test(Property testing)
12. Deep dive to unit test(Hypothesis Testing)
13. Deep dive to unit test (Data driven Testing)
14. Deep dive to unit test (State based Testing)
15. Deep dive to unit test(Contract Testing)
16. Refactoring with unit testing
17. Smoke test
18. Stress test
19. Component Testing
20. Simple UI Testing as Horizontal E2E Test
22. Simple Integration testing
22. Simple A/B testing
23. Testing phases in SDLC


مسیر زیادیه 😁امیدوارم مخاطب نپره :))

@ManiFoldsPython
41👍5🔥5👏2😍1