𝐶𝑜𝑑𝑒 𝐶𝑎𝑡
https://lnkd.in/p/eawQ3N6Q
هر چه آقای توروالدز میگه رو باید با طلا نوشت و سرمشق زندگی کرد
~حاشیه~
حدود سه هفته ست فعالیت م توی لینکدین رو بیشتر کردم ، پست تخصصی هم نبود هر چیزی که که تو چنل تلگرامم بود رو انجام هم اشتراک گذاری میکردم . نتیجه ش این شد که حدود 69 درصد از بیننده ها از بیرون شبکه مبود . @HashiaHa
قراره این تیپی فعالیت ها رو توی کانال ~حاشیه~انجام بدم از این به بعد
تا حال شده کد پایتونی یکی رو سعی کنی بخونی ولی با وجود ساده بودن متوجه نشی، خب باید بگم مشکل از تو نیست از طرف هست که PEP 8 رو رعایت نکرده
PEP 8 چیه؟ 🐍
وقتی پایتون یاد میگیری، فقط این مهم نیست که کدت درست اجرا بشه؛ نحوه نوشتن کد هم مهمه.
پیپ 8 در واقع یه سری قانون و پیشنهاد برای نوشتن کد پایتونه، تا کدهامون مرتبتر و خواناتر باشن.
مثلاً این کد کاملاً اجرا میشه:
ولی بهتره اینطوری نوشته بشه:
تفاوت زیادی ندارن و هر دو اجرا میشن، ولی دومی مرتبتر و خواناتر نوشته شده.
وقتی پروژه بزرگتر بشه، همین چیزهای کوچیک خیلی مهم میشن؛ چون خودمون و بقیه راحتتر میتونیم کد رو بخونیم و تغییرش بدیم.
یه ابزار هم هست به اسم Black که کارمون رو راحتتر میکنه.
بلک یه ابزار برای مرتب کردن خودکار کد پایتونه. یعنی لازم نیست همه این قوانین مربوط به فاصله و شکل نوشتن کد رو خودمون دستی رعایت کنیم.
برای نصبش:
و برای مرتب کردن کدهای پروژه:
در واقع:
پیپ 8 میگه کد پایتون رو چطور تمیز و استاندارد بنویسیم.
Black هم کمک میکنه این کار رو خیلی راحتتر و خودکار انجام بدیم.
#PEP8
@MPL_Code
PEP 8 چیه؟ 🐍
وقتی پایتون یاد میگیری، فقط این مهم نیست که کدت درست اجرا بشه؛ نحوه نوشتن کد هم مهمه.
پیپ 8 در واقع یه سری قانون و پیشنهاد برای نوشتن کد پایتونه، تا کدهامون مرتبتر و خواناتر باشن.
مثلاً این کد کاملاً اجرا میشه:
name="Kimia"
age=24
print("Name:",name)
print("Age:",age)
ولی بهتره اینطوری نوشته بشه:
name = "Kimia"
age = 24
print("Name:", name)
print("Age:", age)
تفاوت زیادی ندارن و هر دو اجرا میشن، ولی دومی مرتبتر و خواناتر نوشته شده.
وقتی پروژه بزرگتر بشه، همین چیزهای کوچیک خیلی مهم میشن؛ چون خودمون و بقیه راحتتر میتونیم کد رو بخونیم و تغییرش بدیم.
یه ابزار هم هست به اسم Black که کارمون رو راحتتر میکنه.
بلک یه ابزار برای مرتب کردن خودکار کد پایتونه. یعنی لازم نیست همه این قوانین مربوط به فاصله و شکل نوشتن کد رو خودمون دستی رعایت کنیم.
برای نصبش:
pip install black
و برای مرتب کردن کدهای پروژه:
black .
در واقع:
پیپ 8 میگه کد پایتون رو چطور تمیز و استاندارد بنویسیم.
Black هم کمک میکنه این کار رو خیلی راحتتر و خودکار انجام بدیم.
#PEP8
@MPL_Code
نکته کاربردی موقع ساخت پروژه جنگو
وقتی میخواید پروژه جنگو بسازید و از قبل یه پوشه برای پروژه ساختید و داخل همون پوشه هستید، آخر دستور startproject یه نقطه بذارید.
مثلا:
این نقطه باعث میشه پروژه داخل همین پوشه ساخته بشه، نه اینکه یه پوشه جدید داخل پوشه فعلی باز کنه.
اگه نقطه نذارید، جنگو یه پوشه دیگه با اسم پروژه داخل پوشه فعلی میسازه. اون وقت موقع آدرس دهی و import کردن فایلها به مشکل میخورید، چون یه لایه اضافه تو مسیرها ایجاد میشه و باید همش حواستون به اون پوشه اضافه باشه.
@MPL_Code
وقتی میخواید پروژه جنگو بسازید و از قبل یه پوشه برای پروژه ساختید و داخل همون پوشه هستید، آخر دستور startproject یه نقطه بذارید.
مثلا:
django-admin startproject mysite .
این نقطه باعث میشه پروژه داخل همین پوشه ساخته بشه، نه اینکه یه پوشه جدید داخل پوشه فعلی باز کنه.
اگه نقطه نذارید، جنگو یه پوشه دیگه با اسم پروژه داخل پوشه فعلی میسازه. اون وقت موقع آدرس دهی و import کردن فایلها به مشکل میخورید، چون یه لایه اضافه تو مسیرها ایجاد میشه و باید همش حواستون به اون پوشه اضافه باشه.
@MPL_Code
This media is not supported in your browser
VIEW IN TELEGRAM
توی این کلیپ نشون میدم چطور یه پروژه جدید به سایتم اضافه میکنم و بعد حذفش میکنم 🎯
همهش از داخل پنل ادمین جنگو — بدون یه خط کد اضافه.
واقعاً هر بار انجامش میدم ذوق میکنم چقدر راحته 😍
@MPL_Code
همهش از داخل پنل ادمین جنگو — بدون یه خط کد اضافه.
واقعاً هر بار انجامش میدم ذوق میکنم چقدر راحته 😍
@MPL_Code
Forwarded from Click University (Mina Barati)
خبر خوب برای پایتونی ها 🐍
مستندات رسمی پایتون حالا بهطور کامل به فارسی در دسترس قرار گرفته است.
این پروژه حاصل تلاش گروهی از برنامهنویسهای داوطلب (با هماهنگی آقایان علیرضا شعبانی و سپهر رسولی) است که با استانداردهای رسمی پایتون (PEP 545) پیش رفتهاند.
این مستندات شامل ترجمه کامل راهنمای رسمی پایتون (از مباحث پایه تا پیشرفته و کتابخانه استاندارد) است و با نسخه ۳.۱۴ هماهنگ شده است.
برای مطالعه و استفاده میتونید به لینک پایین مراجعه کنید.
🔗 [لینک]
@MPL_Code
مستندات رسمی پایتون حالا بهطور کامل به فارسی در دسترس قرار گرفته است.
این پروژه حاصل تلاش گروهی از برنامهنویسهای داوطلب (با هماهنگی آقایان علیرضا شعبانی و سپهر رسولی) است که با استانداردهای رسمی پایتون (PEP 545) پیش رفتهاند.
این مستندات شامل ترجمه کامل راهنمای رسمی پایتون (از مباحث پایه تا پیشرفته و کتابخانه استاندارد) است و با نسخه ۳.۱۴ هماهنگ شده است.
برای مطالعه و استفاده میتونید به لینک پایین مراجعه کنید.
🔗 [لینک]
@MPL_Code
چرا توی جنگو باید اسم پوشه Template رو تکرار کنیم؟
اینجوری:
(یعنی یک بار اسم اپ، و دوباره داخل تمپلیت هم همون اسم!)
مشکل چیه؟
فرض کن دو تا اپ داری: polls و blog. هر دو هم یه فایل index.html دارن. جنگو برای پیدا کردن تمپلیت، میره توی همه پوشهها میگرده و اولین فایلی که اسمش match کنه رو برمیداره!
یعنی ممکنه کد اپ polls رو اجرا کنی ولی صفحهی blog به کاربر نشون داده بشه! 🤦♂️
✅ راهحل چیه؟ (Namespacing)
باید برای تمپلیتها «فضای نام» (Namespace) درست کنیم. یعنی فایلها رو داخل یک زیرپوشهی همنام با اپ بذاریم:
💡 نتیجه:
الان توی views.py وقتی مینویسی
جنگو دقیقاً میدونه باید کدوم فایل رو باز کنه و دیگه هیچ تداخلی پیش نمیاد.
پس یادت باشه: همیشه تمپلیتها رو داخل پوشهی همنام اپ قرار بده!
#جنگو
@MPL_Code
اینجوری:
polls/templates/polls/index.html
(یعنی یک بار اسم اپ، و دوباره داخل تمپلیت هم همون اسم!)
مشکل چیه؟
فرض کن دو تا اپ داری: polls و blog. هر دو هم یه فایل index.html دارن. جنگو برای پیدا کردن تمپلیت، میره توی همه پوشهها میگرده و اولین فایلی که اسمش match کنه رو برمیداره!
یعنی ممکنه کد اپ polls رو اجرا کنی ولی صفحهی blog به کاربر نشون داده بشه! 🤦♂️
✅ راهحل چیه؟ (Namespacing)
باید برای تمپلیتها «فضای نام» (Namespace) درست کنیم. یعنی فایلها رو داخل یک زیرپوشهی همنام با اپ بذاریم:
📁 polls/templates/polls/index.html
📁 blog/templates/blog/index.html
💡 نتیجه:
الان توی views.py وقتی مینویسی
render(request, "polls/index.html")،
جنگو دقیقاً میدونه باید کدوم فایل رو باز کنه و دیگه هیچ تداخلی پیش نمیاد.
پس یادت باشه: همیشه تمپلیتها رو داخل پوشهی همنام اپ قرار بده!
#جنگو
@MPL_Code
Forwarded from ~حاشیه~ (Mina Barati)
بعد از حدود دو هفته فعالیت مداوم در لینکدین، به یه نتیجه جالب رسیدم:
@Hashaiha
هرچقدر بیشتر از مسیر پیشرفت، موفقیتها و کارهایی که انجام میدید منتشر کنید، بیشتر دیده میشید.#لینکدین
من توی این مدت چیزهای دیگهای هم از تجربههام نوشتم؛ چیزهایی که فکر میکردم شاید برای بقیه هم مفید باشه، اما خیلی دیده نشد.
ولی وقتی یک پروژه ساده رو به پایان رسوندم و نتیجهش رو منتشر کردم، بازدید خیلی بیشتری گرفت.
شاید به همین دلیله که ما در شبکههای اجتماعی، بیشتر موفقیتهای بقیه رو میبینیم تا شکستها، سردرگمیها و روزهای سختشون.
ما معمولاً نتیجهی مسیر آدمها رو میبینیم، نه تمام مسیری که طی کردن.
پس چیزی که در فضای مجازی میبینیم، لزوماً تمام واقعیت زندگی یا مسیر حرفهای یک نفر نیست؛ فقط بخشیه که تصمیم گرفته با بقیه به اشتراک بذاره.
@Hashaiha