یک تابع یا متد خوب باید طوری نوشته بشه که برای خوندنش نیازی به اسکرول کردن نباشه
به عبارت دیگه کل بدنه اش در یک اسکرین جا بشه و بدون اسکرول کردن بشه دیدش
✍️ بخشی از کتاب two scoops of django
#django #python #two_scoops_of_django
🆔 @CodeBazDev
به عبارت دیگه کل بدنه اش در یک اسکرین جا بشه و بدون اسکرول کردن بشه دیدش
✍️ بخشی از کتاب two scoops of django
#django #python #two_scoops_of_django
🆔 @CodeBazDev
👍5❤1
چرا فریمورک جنگو اسمش شد django؟
نام جنگو (Django) برای فریمورک محبوب پایتون از دنیای موسیقی آمده است! 🎵
در واقع، این نام از "Django Reinhardt" (بخوانید: جنگو راینهارت) گرفته شده، که یکی از بزرگترین و معروفترین نوازندگان گیتار جاز در تاریخ موسیقی است. 🎸
چرا جنگو؟
خالق جنگو، آدریان هولوا، که به همراه تیمش این فریمورک را توسعه داد، بسیار به موسیقی جاز علاقهمند بود. او از نام Django Reinhardt که بهعنوان یک نماد خلاقیت و نوآوری در دنیای موسیقی شناخته میشود، الهام گرفت. این انتخاب نشاندهنده روحیه نوآورانه و خلاقانهای است که در فریمورک جنگو وجود دارد.
به همین دلیل، فریمورک جنگو نه تنها یک ابزار قدرتمند برای توسعه وب است، بلکه نام آن به نوعی به آزادی و خلاقیت در کدنویسی و طراحی وب اشاره دارد. 🚀
پس دفعه بعد که با جنگو کار میکنید، شاید بخواهید همزمان یکی از قطعات جنگو راینهارت را هم گوش بدید! 🎶
پ.ن: اگه دقت کنید دو انگشت کوچکتر دست چپ ایشون مشکل داره. این دو انگشت در یک آتشسوزی آسیب دیده و نکته جالب در مورد ایشون اینه که با وجود این ضایعه قطعات دشوار و پیچیده جاز رو اجرا میکردن
#django
🆔 @CodeBazDev
نام جنگو (Django) برای فریمورک محبوب پایتون از دنیای موسیقی آمده است! 🎵
در واقع، این نام از "Django Reinhardt" (بخوانید: جنگو راینهارت) گرفته شده، که یکی از بزرگترین و معروفترین نوازندگان گیتار جاز در تاریخ موسیقی است. 🎸
چرا جنگو؟
خالق جنگو، آدریان هولوا، که به همراه تیمش این فریمورک را توسعه داد، بسیار به موسیقی جاز علاقهمند بود. او از نام Django Reinhardt که بهعنوان یک نماد خلاقیت و نوآوری در دنیای موسیقی شناخته میشود، الهام گرفت. این انتخاب نشاندهنده روحیه نوآورانه و خلاقانهای است که در فریمورک جنگو وجود دارد.
به همین دلیل، فریمورک جنگو نه تنها یک ابزار قدرتمند برای توسعه وب است، بلکه نام آن به نوعی به آزادی و خلاقیت در کدنویسی و طراحی وب اشاره دارد. 🚀
پس دفعه بعد که با جنگو کار میکنید، شاید بخواهید همزمان یکی از قطعات جنگو راینهارت را هم گوش بدید! 🎶
پ.ن: اگه دقت کنید دو انگشت کوچکتر دست چپ ایشون مشکل داره. این دو انگشت در یک آتشسوزی آسیب دیده و نکته جالب در مورد ایشون اینه که با وجود این ضایعه قطعات دشوار و پیچیده جاز رو اجرا میکردن
#django
🆔 @CodeBazDev
👍1
چند سال پیش توی یک شرکت کار میکردم که چند محصول نرمافزاری داشت.
پلفرم A یک پلتفرم گردشگری بود که من با django و react و postgres داشتم توسعه اش میدادم.
پلفرم B هم یک پلفرم رزرو آنلاین وقت دکتر بود (شبیه اسنپدکتر یا تپسیدکتر) که یک تیم دیگه با node js و vue و mysql توسعه داده بودند.
تو پلتفرم A ما نقش های تورلیدر و مسافر رو داشتیم و تو پلتفرم B نقش های دکتر و بیمار
از اونجایی که این نقش ها خیلی شبیه به هم بودند، یه روز مدیر عامل پیشنهاد داد چی میشه اگه پلتفرم B رو بیاریم در دل A بگنجونیم. اینطوری که پزشک اسمش عوض بشه به تورلیدر و بیمار هم اسمش عوض بشه به مسافر!
خیلی ایده قشنگی بود ولی ما مخالفت کردیم چون این دو تا محصول با دو تا تکنولوژی خیلی متفاوت توسعه داده شده بودند. هر طوری فکر میکردیم میدیدیم نمیشه به راحتی این دو رو با هم مرتبط کرد.
اولین ایده ای که به ذهنم رسید این بود که برم node js و vue یاد بگیرم.
این ایده رو امتحان کردم. یه مقدار که با پروژه دست و پنجه نرم کردم دیدم من حتی اگه node و vue هم یاد بگیرم بعدش باید ببینم برنامهنویسان قبلی تو این پروژه چه کرده اند. آخه پروژه B خودش دو سه سالی توسعه اش طول کشیده بود برای همین دو سه بار معماری عوض کرده بودند و دست خط های مختلفی از برنامهنویس های مختلفی توش دیده میشد. هر جای پروژه یه قانون خاصی برای خودش داشت. مثلا داشبوردش با ین منطق متفاوتی از فرانتش کار میکرد در صورتی که هر دو هم node و vue بودند.
یه مقدار بیشتر که R&D کردم با معجزه ای به نام
این دستور میتونه از روی جداول دیتابیس، براتون مدل بسازه
میدونستم که جنگو میتونه همزمان چندین دیتابیس رو مدیریت کنه. پس دست به کار شدم و دیتابیس mysql رو به پروژه خودم وصل کردم.
بعد یه اپ جدید ساختم و با استفاده از
بعد از اینم دیگه همه چی برام روال شد. دیگه هر دیتایی میخواستم با orm جنگو کوئری میزدم. حتی میتونستم با drf براش api بنویسم.
خلاصه:
با دستور
پ.ن: فقط مشکلش این بود که نمیشد روش migrate زد. اگه گفتید چرا؟ 😊
#django
🆔 @CodeBazDev
پلفرم A یک پلتفرم گردشگری بود که من با django و react و postgres داشتم توسعه اش میدادم.
پلفرم B هم یک پلفرم رزرو آنلاین وقت دکتر بود (شبیه اسنپدکتر یا تپسیدکتر) که یک تیم دیگه با node js و vue و mysql توسعه داده بودند.
تو پلتفرم A ما نقش های تورلیدر و مسافر رو داشتیم و تو پلتفرم B نقش های دکتر و بیمار
از اونجایی که این نقش ها خیلی شبیه به هم بودند، یه روز مدیر عامل پیشنهاد داد چی میشه اگه پلتفرم B رو بیاریم در دل A بگنجونیم. اینطوری که پزشک اسمش عوض بشه به تورلیدر و بیمار هم اسمش عوض بشه به مسافر!
خیلی ایده قشنگی بود ولی ما مخالفت کردیم چون این دو تا محصول با دو تا تکنولوژی خیلی متفاوت توسعه داده شده بودند. هر طوری فکر میکردیم میدیدیم نمیشه به راحتی این دو رو با هم مرتبط کرد.
اولین ایده ای که به ذهنم رسید این بود که برم node js و vue یاد بگیرم.
این ایده رو امتحان کردم. یه مقدار که با پروژه دست و پنجه نرم کردم دیدم من حتی اگه node و vue هم یاد بگیرم بعدش باید ببینم برنامهنویسان قبلی تو این پروژه چه کرده اند. آخه پروژه B خودش دو سه سالی توسعه اش طول کشیده بود برای همین دو سه بار معماری عوض کرده بودند و دست خط های مختلفی از برنامهنویس های مختلفی توش دیده میشد. هر جای پروژه یه قانون خاصی برای خودش داشت. مثلا داشبوردش با ین منطق متفاوتی از فرانتش کار میکرد در صورتی که هر دو هم node و vue بودند.
یه مقدار بیشتر که R&D کردم با معجزه ای به نام
inspectdb در جنگو آشنا شدم.این دستور میتونه از روی جداول دیتابیس، براتون مدل بسازه
میدونستم که جنگو میتونه همزمان چندین دیتابیس رو مدیریت کنه. پس دست به کار شدم و دیتابیس mysql رو به پروژه خودم وصل کردم.
بعد یه اپ جدید ساختم و با استفاده از
inspectdb مدل ها رو از روی دیتابیس ساختم.بعد از اینم دیگه همه چی برام روال شد. دیگه هر دیتایی میخواستم با orm جنگو کوئری میزدم. حتی میتونستم با drf براش api بنویسم.
خلاصه:
با دستور
inspectdb به راحتی هر دیتابیسی رو به مدل تبدیل کنید و بعد با orm هر طور میخواهید باهاش کار کنید.پ.ن: فقط مشکلش این بود که نمیشد روش migrate زد. اگه گفتید چرا؟ 😊
#django
🆔 @CodeBazDev
👍2
نامگذاری هایی که سمت بکند انجام میشه خیلی مهم هستند.
گاهی یه نام گذاری اشتباه در بکند میتونه حسابی تو فرانت افتضاح به بار بیاره
به این عکس توجه کنید. اینجا سمت فرانت از ابزاری استفاده شده که به صورت خودکار کد های بکند رو اسکن میکنه و براشون کد js جنریت میکنه
ستون سمت چپ ایراد داره
ستون سمت راست درسته
در این مثال یک اشتباه در نامگذاری سمت بکند باعث شده ۷ تا تابع با نام نادرست سمت فرانت تولید بشه.
اگه متوجه منظورم نشدید کامنت بذارید تا ویس بدم و توضیح بدم
#django #pep8
🆔 @CodeBazDev
گاهی یه نام گذاری اشتباه در بکند میتونه حسابی تو فرانت افتضاح به بار بیاره
به این عکس توجه کنید. اینجا سمت فرانت از ابزاری استفاده شده که به صورت خودکار کد های بکند رو اسکن میکنه و براشون کد js جنریت میکنه
ستون سمت چپ ایراد داره
ستون سمت راست درسته
در این مثال یک اشتباه در نامگذاری سمت بکند باعث شده ۷ تا تابع با نام نادرست سمت فرانت تولید بشه.
اگه متوجه منظورم نشدید کامنت بذارید تا ویس بدم و توضیح بدم
#django #pep8
🆔 @CodeBazDev
🙏1