جنگولرن
3.79K subscribers
288 photos
73 videos
31 files
553 links
آموزش Django و بستگان
Download Telegram
ویو LogoutView از نسخه 5.0 جنگو به بعد فقط ریکوئست از نوع post رو قبول میکنه.

یعنی چی؟
یعنی دیگه با لینک دادن بهش لاگ اوت نمیشیم و خطای 405 می بینیم.
باید با post بفرستیم و csrf_token هم ارسال بشه.

این نمودار سلسله مراتب هم از سایت https://ccbv.co.uk/ گرفتم.
👍18😁5
Forwarded from علی بیگدلی
همدلی‌در مسیر یادگیری

از اونجایی که قول داده بودم که با پلتفرم مکتبخونه پیگیر رایگان سازی دوره برای تعداد افراد بیشتری بشم. بالاخره این اتفاق افتاد و الان در طرح بزرگ همدلی مکتبخونه دو دوره جنگو مقدماتی و پیشرفته منو می تونین با ۱۰۰٪ تخفیف تهیه کنین. 😄🌷

باشد که این بار به دست همه نیازمنداش برسه و بتونن از یادگیری غافل نشن.

جنگو مقدماتی:
https://mktb.me/tgk5/
جنگو پیشرفته:
https://mktb.me/vmxs/

۱۰۰ تا دوره محبوب مکتبخونه رایگان شدن
توی حوزه های مختلف از برنامه و نویسی و شبکه و هوش مصنوعی تا مهارت های نرم و زبان و ...

کافیه دوره ها رو توی سبد خریدتون با برداشتن تیک (دوره کامل ) و فقط خرید محتوا اضافه کنین و کد HAMDELI رو وارد کنین و در این صورت می تونین به رایگان از دوره ها استفاده کنین.
29👎2👍1
اگر می خواید AI جاتون رو نگیره سعی کنید Requirement Engineering رو یاد بگیرید و بفهمید.

یک کتاب خفن در موردش
Software Requirements Third Edition - Joy Beatty

متن بالا بخشی از یه پست کانال thisisnabi بود 😁

توضیحات chatgpt:
مهندسی نیازمندی‌ها یا Requirement Engineering بخشی از فرآیند توسعه نرم‌افزار است که به شناسایی، تحلیل، مستندسازی و مدیریت نیازمندی‌های سیستم می‌پردازد. هدف از این علم، اطمینان از این است که نرم‌افزار در نهایت به نیازها و خواسته‌های کاربران و ذینفعان پاسخ می‌دهد.

فرآیند مهندسی نیازمندی‌ها معمولاً شامل مراحل زیر است:

1. شناسایی نیازمندی‌ها**: در این مرحله، نیازمندی‌های واقعی سیستم شناسایی می‌شوند. این کار معمولاً با جمع‌آوری اطلاعات از ذینفعان، مصاحبه‌ها، کارگاه‌ها و بررسی مستندات موجود انجام می‌شود.

2. تحلیل نیازمندی‌ها**: نیازمندی‌ها تحلیل و بررسی می‌شوند تا مشخص شود که آیا آنها قابل فهم، کامل، قابل اندازه‌گیری و قابل تحقق هستند یا خیر.

3. مستندسازی نیازمندی‌ها**: نیازمندی‌ها باید به شکل مستند و مطابق با استانداردهای مشخصی ثبت شوند تا در آینده بتوان به آنها مراجعه کرد.

4. تایید نیازمندی‌ها**: پس از مستندسازی، نیازمندی‌ها باید توسط ذینفعان تأیید شوند تا از صحت و تناسب آنها اطمینان حاصل شود.

5. مدیریت نیازمندی‌ها**: نیازمندی‌ها باید به طور مداوم مدیریت شوند تا تغییرات و اصلاحات لازم در طول فرآیند توسعه نرم‌افزار اعمال شوند.

مهندسی نیازمندی‌ها به عنوان یکی از مراحل کلیدی در توسعه نرم‌افزار شناخته می‌شود و تأثیر زیادی بر کیفیت پروژه و رضایت مشتری دارد.
106👍3👎1👏1
Forwarded from Python BackendHub (Mani)
از کانال های مختلف دیدم پست میذارن که بله تایپینگ کد شما رو بیشتر میکنه کثیف تر میکنه اگه میخواستیم تایپ بزنیم که میرفتیم سمت C و این حرفا. اولا که C تایپ سیستم قوی نداره. تایپ سیستم بسیار ساده ای داره. پس statically typed بودن یا نبودن یک زبون رو خوب/بد بودن تایپ سیستمش تاثیری نمیذاره. پس اگه انتخابتون C هست برای اینکه تایپ سیستم قوی داشته باشین انتخاب درستی نیست!‌

ثانیا تایپینگ خودش یک داکیومنته. مثلا شما فکر کنید من یک سیستم نوشتم که ۱۰ تاسیستم مختلف رو integrate میکنه و یک API واحد میده برای هر ۱۰ تاشون. من یا میتونم ۱۰ صفحه داکیومنت بنویسم که اگه خواستیم یک سیستم جدید اضافه کنیم چه دپندسی هایی وجود داره یا اینکه میتونم یک Enum داشته باشم به اسم Service و همه جا با اون Enum بیام exhaustive check انجام بدم.

مثالش, من اینجا فقط یک سرویس Digikala دارم. و برای دیجی کالا یک رفتاری رو تعریف کردم و چک کردم سرویسی نباشه که این رفتار براش تعریف نشده باشه (`assert_never`)


def do_foo(service: Service):
match service:
case Service.DIGI_KALA: ...
case _: assert_never(service)


وقتی من یک سرویس جدید اضافه کنم به Enum ام اگه من کد رو کمپایل کنم یا تایپ چکر رو کد ران کنم و کدم کمپایل شه, کلی ارور تایپینگ میبینم که میگه شما این دپندنسی رو تعریف نکردی. مثل همین فانکشن. اون موقع به محض اینکه من تمام ایرادات تایپینگ رو برطرف کنم PRام تموم شده.

کد خواناییشو از دست میده؟ نه واقعا!‌شما اگه خوانایی کد رو به تعداد خط ملاک قرار میدین, پس کد ننویسید که خیلی خوانا و تمیز باشه. کد خوانا یعنی من کدی رو بخونم و بفهمم چیکار میکنه و constraint های اون کد چیه و تو موقع استفاده ازش اشتباه نکنم.

یک مثال دیگه بازم تو پست بعدی میزنم
@PyBackendHub
7👍1👎1
سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی
Voice message
فکر نکنید پست قبلی به این جواب داده
👎32😁2
داشتم یه مدل می‌ساختم که باید برای یه فیلدش چند مقدار مشخص تعریف می‌کردم.
طبق عادت قدیمی، رفتم یه لیست (value, label) بسازم… ولی وسط کار چشمم افتاد به models.TextChoices

گفتم خب، یه بار امتحانش کنم… و از همون لحظه فهمیدم این بهترین راهه برای تعریف choice field تو Django

مزیت‌هاش چیه؟

به جای "info" میگی Level.INFO → هم امن‌تره، هم IDE بهت autocomplete می‌ده.
مقدار دیتابیس و برچسب نمایشی رو با هم داری.
می‌تونی با obj.get_level_display() اسم قابل نمایش رو بگیری.
کد ساختاریافته تره
وقتی میشه کد تمیزتر و قابل نگهداری‌تری داشت، چرا هنوز با استرینگ خام کار کنیم؟ 😉

از لینکدین شایان حسین زاده
👍101👎1
💎 برنامه‌نویس عزیز، هر پروژه به سرور قدرتمند نیاز داره. ایران‌سرور با تخفیف ویژه و بکاپ رایگان همراهته؛ وقتشه به جمع حرفه‌ای‌ها بپیوندی!تخفیف‌ها تا پایان مرداد:

🟪 سرور مجازی ایران: 30% تخفیف با کد IRANFIRST ➡️
🟪 سرور مجازی آلمان (Hetzner): 20% تخفیف با کد HTZFIRST ➡️
🟪 سرور مجازی فرانسه (OVH): 30% تخفیف با کد OVHFIRST ➡️

💥 پشتیبانی ۲۴/۷
💥 بکاپ رایگان
💥 سرعت و پایداری بالا

💯 پروژه‌هات رو حرفه‌ای‌تر اجرا کن و با خیال راحت رشد بده!

🌐 httb.ir/7OeTj 👈
🌐 httb.ir/7OeTj 👈
🌐 httb.ir/7OeTj 👈

💬 @iranservercom
🔵🔵🔵
Please open Telegram to view this post
VIEW IN TELEGRAM