Python BackendHub
تو این ویدیو پرداختم به نحوه code review و clean code یک کد FastAPI که خوب نبود و نیاز به ریفکتور اساسی داشت رو باهم ریفکتور کردیم و توضیح دادم دقیقا چرا ریفکتور کردم و چرا نسخه ریفکتور شده بهتره خود کد رو از این ریپو میتونید ببینید https://github.com/Ma…
ویدیو رو توی یوتیوب آپلود کردم
خیلی از فیچر ها برام فعال نیست چون تاحالا فعالیتی نداشتم رو یوتیوب
ممنون میشم ساب کنید 🙌
https://www.youtube.com/watch?v=9bnP8zh_wfo
خود کد رو از این ریپو میتونید ببینید
https://github.com/ManiMozaffar/refactor-101
@ManiFoldsPython
خیلی از فیچر ها برام فعال نیست چون تاحالا فعالیتی نداشتم رو یوتیوب
ممنون میشم ساب کنید 🙌
https://www.youtube.com/watch?v=9bnP8zh_wfo
خود کد رو از این ریپو میتونید ببینید
https://github.com/ManiMozaffar/refactor-101
@ManiFoldsPython
YouTube
ریفکتور کد کثیف نوشته شده با FastAPI
Source Code: https://github.com/ManiMozaffar/refactor-101
🔖 Chapters:
00:00 Intro
00:52 Refactor database's model
04:38 Decoupling and refactoring serivce.py
37:00 Router refactoring
🔖 Chapters:
00:00 Intro
00:52 Refactor database's model
04:38 Decoupling and refactoring serivce.py
37:00 Router refactoring
❤13👍4
صبح obs ریختم که ریکورد های بعدیو با obs بکنم
نتیجش این شد که رفتم تو میتینگ daily standup و تبدیل شدم به mr invisible 😎
۲۰ دقیقست دارم بالا پایینش میکنم ولی درست نمیشه :)) کسی راهکاری داره براش؟
پ.ن:اپو بستم ... درست نمیشه
@ManiFoldsPython
نتیجش این شد که رفتم تو میتینگ daily standup و تبدیل شدم به mr invisible 😎
۲۰ دقیقست دارم بالا پایینش میکنم ولی درست نمیشه :)) کسی راهکاری داره براش؟
پ.ن:اپو بستم ... درست نمیشه
@ManiFoldsPython
🤣16
این پست راجب SDLC هست, یک مقاله عالی راجب Gherkin
لینک
What is Gherkin Language?
Gherkin is a business readable language which helps you to describe business behavior without going into details of implementation. It is a domain specific language for defining tests in Cucumber format for specifications. It uses plain language to describe use cases and allows users to remove logic details from behavior tests.
Gherkin Syntax
Gherkin is line-oriented language just like YAML and Python. Each line called step and starts with keyword and end of the terminals with a stop. Tab or space are used for the indentation. In this noscript, a comment can be added anywhere you want, but it should start with a # sign
توصیه میکنم اولین کاری که باید انجام بدید موقع ساخت یک Software اینه که یک فرد غیر فنی بیاد و با Gherkin Syntax دقیقا داکیومنت کنه چی میخواد از تیم سافتور. یادگیریش یک روز هم زمان نمیبره. صرفا یک language هست برای توصیف محصول. اون موقع دیگه تیم دولوپر انرژی خیلی کمتری میذاره رو فهم بیزنس و خیلی راحت تر متوجه میشه و دیزاینی که میشه هم دقیقا متناسب با همون بیزنس و فیچر ها خواهد بود.
@ManiFoldsPython
لینک
What is Gherkin Language?
Gherkin is a business readable language which helps you to describe business behavior without going into details of implementation. It is a domain specific language for defining tests in Cucumber format for specifications. It uses plain language to describe use cases and allows users to remove logic details from behavior tests.
Gherkin Syntax
Gherkin is line-oriented language just like YAML and Python. Each line called step and starts with keyword and end of the terminals with a stop. Tab or space are used for the indentation. In this noscript, a comment can be added anywhere you want, but it should start with a # sign
توصیه میکنم اولین کاری که باید انجام بدید موقع ساخت یک Software اینه که یک فرد غیر فنی بیاد و با Gherkin Syntax دقیقا داکیومنت کنه چی میخواد از تیم سافتور. یادگیریش یک روز هم زمان نمیبره. صرفا یک language هست برای توصیف محصول. اون موقع دیگه تیم دولوپر انرژی خیلی کمتری میذاره رو فهم بیزنس و خیلی راحت تر متوجه میشه و دیزاینی که میشه هم دقیقا متناسب با همون بیزنس و فیچر ها خواهد بود.
@ManiFoldsPython
Guru99
Gherkin Language: Format, Syntax & Gherkin Test in Cucumber
What is Gherkin? Gherkin is the format for cucumber specifications. It is a domain specific language which helps you to describe business behavior without the need to go into detail of implementation.
👍4🤯3
کیفیت کد خوب با این metric ها سنجیده میشه:
Reusability
Readability
Testability
Flexibility
Mature Tests
کتاب x و روش y همه راه حل برای حل این مشکلاتن. کدی که این ۵ مورد توش رعایت شده اصلا مهم نیست که OOP بوده یا نه. مهم نیست SOLID بوده یا نه. مهم نیست TDD بوده یا نه.
خلاصه TDD اینه که به شما داره میگه کدتون باید Testability بالایی داشته باشه و overengineer نکنید و اول <فکر>کنید بعد <دیزاین>کنید و بعد کد بزنید (برای اینکه اول تست بنویسید دقیقا باید این مسیر طی شه) ولی آیا تنها روش رسیدن به اینا TDD هست؟ قطعا نه. یک راه حل خوبه. برای یک سواله خوب که معایب خودشو هم داره. پس همیشه به جای دنبال کردن کورکورانه یک methodology فکر کنید ببینید چی داره به شما میده و چی از شما میگیره
@ManiFoldsPython
Reusability
Readability
Testability
Flexibility
Mature Tests
کتاب x و روش y همه راه حل برای حل این مشکلاتن. کدی که این ۵ مورد توش رعایت شده اصلا مهم نیست که OOP بوده یا نه. مهم نیست SOLID بوده یا نه. مهم نیست TDD بوده یا نه.
خلاصه TDD اینه که به شما داره میگه کدتون باید Testability بالایی داشته باشه و overengineer نکنید و اول <فکر>کنید بعد <دیزاین>کنید و بعد کد بزنید (برای اینکه اول تست بنویسید دقیقا باید این مسیر طی شه) ولی آیا تنها روش رسیدن به اینا TDD هست؟ قطعا نه. یک راه حل خوبه. برای یک سواله خوب که معایب خودشو هم داره. پس همیشه به جای دنبال کردن کورکورانه یک methodology فکر کنید ببینید چی داره به شما میده و چی از شما میگیره
@ManiFoldsPython
👍7
لایو کدی که سباستین سازنده fastapi هم توش هست
https://www.youtube.com/watch?v=iqrS7Q174Ac
Build an AI app with FastAPI and Docker - Coding Tutorial with Tips
@ManiFoldsPyton
https://www.youtube.com/watch?v=iqrS7Q174Ac
Build an AI app with FastAPI and Docker - Coding Tutorial with Tips
@ManiFoldsPyton
YouTube
Build an AI app with FastAPI and Docker - Coding Tutorial with Tips
Join me in a coding session with Sebastián Ramírez and learn how to build a Machine Learning app with FastAPI and Docker. Along the way we will show you some tips like the interactive coding session and Docker init command, and best practices when working…
👍8🔥1😁1
https://www.youtube.com/watch?v=udrvnKiQHsA
ویدیو دوم هم آپلود شد. همون ویدیو لایو بود که ظبط کردیم. خوشبختانه فیچر chapter ساختن هم باز شد برام تو یوتیوب
سورس کد دوره لایو چلنج
https://github.com/ManiMozaffar/fast-student
لینک توضیحات خود تمرین و چیزایی که تو تسک خواسته شده بود ازتون
- توضیح لایو کد چنلج
@ManiFoldsPython
ویدیو دوم هم آپلود شد. همون ویدیو لایو بود که ظبط کردیم. خوشبختانه فیچر chapter ساختن هم باز شد برام تو یوتیوب
سورس کد دوره لایو چلنج
https://github.com/ManiMozaffar/fast-student
لینک توضیحات خود تمرین و چیزایی که تو تسک خواسته شده بود ازتون
- توضیح لایو کد چنلج
@ManiFoldsPython
YouTube
کدینگ چلنج اپلیکیشن مدرسه
I have finished Fast-Student, A tricky 2 and half hours coding challenge which I previously posted on my Linkedin! Task denoscription is also on github's Readme, with sketched design.
Source Code: https://github.com/ManiMozaffar/fast-student
🔖 Chapters:
…
Source Code: https://github.com/ManiMozaffar/fast-student
🔖 Chapters:
…
❤7👍1
امروز پلی لیست بعدی رو شروع میکنم
سعی میکنم ۲ ویدیو ضبط کنم
ویدیو اول: DI و DIP
ویدیو دوم: یونیت تست و ماک گرفتن
دوستان برای پلی لیست ریفکتورینگ اگه کدی چیزی دارید که در حد ۲۰۰ خط نوشته شده خیلی ممنون میشم باهام به اشتراک بگذاریدش که بتونم ریفکتورش کنم و ظبطش کنم که اون پلی لیست هم ادامه داشته باشه. سه چهار ریپو کد نیاز دارم. اگه داشتین کامنت کنید تو همین پست که من اضافش کنم به لیستم
@ManiFoldsPython
سعی میکنم ۲ ویدیو ضبط کنم
ویدیو اول: DI و DIP
ویدیو دوم: یونیت تست و ماک گرفتن
دوستان برای پلی لیست ریفکتورینگ اگه کدی چیزی دارید که در حد ۲۰۰ خط نوشته شده خیلی ممنون میشم باهام به اشتراک بگذاریدش که بتونم ریفکتورش کنم و ظبطش کنم که اون پلی لیست هم ادامه داشته باشه. سه چهار ریپو کد نیاز دارم. اگه داشتین کامنت کنید تو همین پست که من اضافش کنم به لیستم
@ManiFoldsPython
👍8🔥6❤4
یک پلی لیست جدید داریم که توش میپردازم به نحوه تست نویسی, تست های مختلف, و اصول تست نویسی در 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
ویدیو اول این پلی لیست, اومدم در مورد 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
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…
👍15❤2🔥1
Python BackendHub
یک پلی لیست جدید داریم که توش میپردازم به نحوه تست نویسی, تست های مختلف, و اصول تست نویسی در SDLC ویدیو اول این پلی لیست, اومدم در مورد dependency inversion principle و Dependency Injection صحبت کردم و گفتم چرا مهم هستند و تو فریم ورک های مختلف نحوه پیاده…
دوستان یک نکته اشاره کنم.. من تو ویدیو هام معمولا از فست استفاده میکنم برای اینکه مثال بزنم و مثال نشون بدم. واقعا چیز خاصیم نداره. توصیه میکنم بهتون حتما یاد بگیرید
نهایتا شما تو یک هفته یا دو هفته کل داک فستو تموم میکنید. خود داک فست همینطوری که تو ویدیو نشون دادم فقط داک نیست خیلی مفاهیم رو توش توضیح داده! بنظره من هیچ دوره فستی واقعا به خوبی داکش نیست. فریم ورک نیست لایبریه برای همین خیلی چیز سنگینی نداره و سریع یادش میگیرین
اما اینکه API خوب بنویسید چه با فست چه بدون فست هنر میخواد. با فست شاید مثلا از فریم ورکی مثل جنگو بیشتر انرژی بطلبه چون چیزی تو سطح لایبری کنترل نشده و دستتون بازه. منم تو این محتوا هایی که میخوام تولید کنم بیشتر هدفم این چیزاست. پس اینکه اگه با فست کد نمیزنید بازم میتونه مطالب براتون به درد بخور باشه.
یک سوال هم دارم برام پیش اومده, من که قبلا vote گرفته بودم اکثرا میخواستن راجب تست نویسی محتوا تولید کنم ولی الان بازدید و استقبال خیلی کمه ازش, اگه ایده یا فیدبکی دارین ممنون میشم باهام درمیون بذارید که ویدیو های بعدی رو بهتر کنم. مثلا سطح مطالب بالاست؟ پایینه؟ مثال خوب نیست؟ مثال کمه؟
سعی کردم زمان ویدیو رو کم کنم که کلا شد ۲ تا ویدیو ۱۵ دقیقه ای و نمیذارم تو پلی لیست ویدیویی بالای ۲۰ دقیقه بره.
@ManiFoldsPython
نهایتا شما تو یک هفته یا دو هفته کل داک فستو تموم میکنید. خود داک فست همینطوری که تو ویدیو نشون دادم فقط داک نیست خیلی مفاهیم رو توش توضیح داده! بنظره من هیچ دوره فستی واقعا به خوبی داکش نیست. فریم ورک نیست لایبریه برای همین خیلی چیز سنگینی نداره و سریع یادش میگیرین
اما اینکه API خوب بنویسید چه با فست چه بدون فست هنر میخواد. با فست شاید مثلا از فریم ورکی مثل جنگو بیشتر انرژی بطلبه چون چیزی تو سطح لایبری کنترل نشده و دستتون بازه. منم تو این محتوا هایی که میخوام تولید کنم بیشتر هدفم این چیزاست. پس اینکه اگه با فست کد نمیزنید بازم میتونه مطالب براتون به درد بخور باشه.
یک سوال هم دارم برام پیش اومده, من که قبلا vote گرفته بودم اکثرا میخواستن راجب تست نویسی محتوا تولید کنم ولی الان بازدید و استقبال خیلی کمه ازش, اگه ایده یا فیدبکی دارین ممنون میشم باهام درمیون بذارید که ویدیو های بعدی رو بهتر کنم. مثلا سطح مطالب بالاست؟ پایینه؟ مثال خوب نیست؟ مثال کمه؟
سعی کردم زمان ویدیو رو کم کنم که کلا شد ۲ تا ویدیو ۱۵ دقیقه ای و نمیذارم تو پلی لیست ویدیویی بالای ۲۰ دقیقه بره.
@ManiFoldsPython
❤21👍3
Python BackendHub
get git over here😂 اسم کاناله که واسه یوتیوب گذاشتم @ManiFoldsPython
وقتی یک هندی میخواد get over here رو تلفظ کنه:))
🤣20👎3😁2
BenDev
Voice message
چقدر این ویس حق بود
(پ.ن:اکثر پست های کانال امیربهادر تو گروهش برای من میاد :))) تو کانال هیچ پستی برام نمیاد. از عجایب تلگرام :))) )
@ManiFoldsPython
(پ.ن:اکثر پست های کانال امیربهادر تو گروهش برای من میاد :))) تو کانال هیچ پستی برام نمیاد. از عجایب تلگرام :))) )
@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
تو ویدیو سوم پلی لیست, پرداختم به پای تست, توضیح دادم پای تست چیه, چرا بهتره از لایبری 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
YouTube
آموزش PyTest
In this video, I've explained what is Pytest, how to write your first test in pytest, I've talked about assertion, readable assertion, fixtures, mock, scopes and plugins and configurations in Pytest!
✍️ Source Code: https://github.com/ManiMozaffar/testing…
✍️ Source Code: https://github.com/ManiMozaffar/testing…
❤9👏2👍1
Python BackendHub
یک پلی لیست داریم که توش میپردازم به نحوه تست نویسی, تست های مختلف, و اصول تست نویسی در SDLC تو ویدیو سوم پلی لیست, پرداختم به پای تست, توضیح دادم پای تست چیه, چرا بهتره از لایبری unit test پایتون و اینکه fixture ها چین و scope چیه و assertion چیه و چطور…
دوستان دوره بیشتر حالت مفهومی داره
این دو ویدیو رو ظبط کردم که بقیه ویدیو ها قراره زیاد از pytest استفاده کنیم که سوال نباشه براتون چه اتفاقی داره میفته
تو سایت مونگارد میدیدم دوره پای تست وجود داره
ولی حقیقت اینجاست که اصلا اشاره ای به نحوه تست نویسی و انواع تست نشده که خیلی مهم ترن
صرفا یک نگاه پکیجی و داکیومنتی به ماژول های مختلف برای تست نویسی داشته که اصلا هدف من تو این دوره همچین چیزی نیست
https://www.mongard.ir/courses/unittest/episode/523/unittest-pytest/
@ManiFoldsPython
این دو ویدیو رو ظبط کردم که بقیه ویدیو ها قراره زیاد از pytest استفاده کنیم که سوال نباشه براتون چه اتفاقی داره میفته
تو سایت مونگارد میدیدم دوره پای تست وجود داره
ولی حقیقت اینجاست که اصلا اشاره ای به نحوه تست نویسی و انواع تست نشده که خیلی مهم ترن
صرفا یک نگاه پکیجی و داکیومنتی به ماژول های مختلف برای تست نویسی داشته که اصلا هدف من تو این دوره همچین چیزی نیست
https://www.mongard.ir/courses/unittest/episode/523/unittest-pytest/
@ManiFoldsPython
👍14❤3
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
متاسفانه مانی وارد یوتیوب شده و زده تو کار آموزش. اونم پلی لیست طور
نمیدونم واقعا بعضی افراد مثل امثال ایشون چی فکر کردن با خودشون که قصد دارند اینترنت کاربران رو به چخ بدن، از اون بدتر اونقدر سطح علمی خوبه عصبی هم میشی اگر نرسی ویدیو رو ببینید
و نکته آخر اینکه : آقا مانی ما دنبال آموزش اصولی نیستیم، همینکه pip install pytest بزنیم توی رزومه ای که سر درش نوشتیم سوپر فول استک سنیور ، تست نویسی هم در کنار سایر skill هامون اضافه میکنیم😎
من لینک پلی لیست رو میزارم. لطفا بلاک و ریپورت کنید🤌
https://www.youtube.com/playlist?list=PLEQ3RnweNGA6v7qTMrDCcpgr9u91zvpq_
✅ @SEYED_BAX
نمیدونم واقعا بعضی افراد مثل امثال ایشون چی فکر کردن با خودشون که قصد دارند اینترنت کاربران رو به چخ بدن، از اون بدتر اونقدر سطح علمی خوبه عصبی هم میشی اگر نرسی ویدیو رو ببینید
و نکته آخر اینکه : آقا مانی ما دنبال آموزش اصولی نیستیم، همینکه pip install pytest بزنیم توی رزومه ای که سر درش نوشتیم سوپر فول استک سنیور ، تست نویسی هم در کنار سایر skill هامون اضافه میکنیم
من لینک پلی لیست رو میزارم. لطفا بلاک و ریپورت کنید
https://www.youtube.com/playlist?list=PLEQ3RnweNGA6v7qTMrDCcpgr9u91zvpq_
Please open Telegram to view this post
VIEW IN TELEGRAM
😁34🔥2
سوال) در سناریو زیر، چگونه قصد دارین از constraints استفاده کنید؟
۱. رکورد را از جدول A حذف میکنید (که به طور موقت constraints را نقض میکنه)
۲. رکورد رو در جدول B وارد می کنید (که constraints را بر برمیگردونه)
۳. تراکنش رو commit می کنید
جوابتون رو کامنت کنید
@ManiFoldsPython
۱. رکورد را از جدول 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
زمانی که شما یک 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
Django Project
Writing your first Django app, part 2 | Django documentation
The web framework for perfectionists with deadlines.
🤯2👍1👏1