Dev Perfects – Telegram
Dev Perfects
40 subscribers
9.23K photos
1.26K videos
468 files
13K links
بخوام خیلی خلاصه بگم
این کانال میاد مطالب کانالای خفن تو حوزه تکنولوژی و برنامه نویسی رو جمع میکنه

پست پین رو بخونید
https://news.1rj.ru/str/dev_perfects/455


ارتباط:
https://news.1rj.ru/str/HidenChat_Bot?start=936082426
Download Telegram
💎 ساخت کامندهای کاستوم توی جنگو 💎

امروز می‌خوام یه موضوع خفن از جنگو رو بهتون توضیح بدم، اینکه چجوری می‌تونیم کامندهای کاستوم توی جنگو بسازیم. 😎

احتمالاً تا حالا با کامندهای پیش‌فرض جنگو مثل migrate, makemigrations, یا runserver کار کردید، ولی خب بعضی وقتا پیش میاد که نیاز داریم یه سری کارهای خاص رو توی پروژه انجام بدیم که با این کامندها نمیشه. اینجاست که کامندهای کاستوم وارد میشن! 🤓

مراحل ساخت کامند کاستوم توی جنگو

1⃣ ساخت پوشه management/commands

   اول باید توی یکی از اپلیکیشن‌هاتون یه پوشه به اسم management بسازی و داخلش یه پوشه دیگه به اسم commands بذاری. این پوشه جاییه که همه کامندهای کاستومت توش قرار می‌گیره. یادت باشه که توی هر دو پوشه باید فایل init.py رو هم بسازی که پایتون این پوشه‌ها رو بشناسه.

   مسیرش میشه چیزی شبیه این:
    |— your_app/
      |— management/
      |— __init__.py
         |—commands/
         |— __init__.py
  


2⃣ ساخت فایل کامند
   حالا نوبت اینه که کامند خودتو بسازی فرض کنیم می‌خوای یه کامند بسازی که اطلاعات کاربرا رو پرینت کنه. یه فایل به اسم print_users.py داخل پوشه commands بساز و این کد رو داخلش بذار:
from django.core.management.base import BaseCommand 
from your_app.models import User

   class Command(BaseCommand):
       help = 'چاپ کردن لیست کاربرا'

       def handle(self, *args, **kwargs):
           users = User.objects.all()
           for user in users:
                            self.stdout.write(self.style.SUCCESS(f'User: {user.username}'))
  

   اینجا:
   - از کلاس BaseCommand استفاده کردیم تا یه کامند جدید بسازیم.
   - متد handle جاییه که منطق اصلی کامند رو می‌نویسیم. هرچی تو این متد بنویسی موقع اجرای کامند اجرا میشه.
   - با self.stdout.write می‌تونیم پیام‌ها رو توی کنسول پرینت کنیم.

3⃣ اجرای کامند
   بعد از اینکه فایل رو ساختی، برای اجرای کامندت، می‌تونی این دستور رو توی ترمینال وارد کنی:
   python manage.py print_users
  

   اگه همه چیز درست باشه، لیست کاربرا رو توی کنسول می‌بینی. 🎉

امکانات بیشتر
می‌تونی کامندت رو حرفه‌ای‌تر هم بکنی:
- با اضافه کردن آرگومان (مثل python manage.py print_users --active برای کاربرای فعال)
- یا استفاده از ورودی‌های کاربر (مثل پرسیدن سوال توی ترمینال و دریافت جواب)

مثال اضافه کردن آرگومان:
def add_arguments(self, parser):
    parser.add_argument('--active', action='store_true', help='فقط کاربرای فعال')

حالا اگه --active رو اضافه کنی، فقط کاربرای فعال رو نشون میده.

جمع‌بندی🎯
ساختن کامندهای کاستوم توی جنگو یه راه عالیه برای انجام کارهای خاصی که شاید توی پروژت نیاز داشته باشی. به راحتی می‌تونی با چندتا پوشه و یه کلاس ساده کامند دلخواهتو بسازی و کارای پیچیده رو توی پروژه راحت‌تر مدیریت کنی😎

امید وارم مفید بوده باشه :)

#backend #django


@ninja_learn_ir
Forwarded from کداکسپلور | CodeExplore (Koorosh)
تناقض عجیب در جاوااسکریپت ✌️

🙂خب میدونین که از typeof برای تشخیص دادن جنس مقادیر استفاده میشه، مثلا اگر بنویسیم
console.log(typeof 1);

بهتون خروجی number رو برمیگردونه. حالا، بیاین ببینیم اگر بهش null بدیم چی میشه؟
console.log(typeof null)
//خروجی: object

🤯چرا؟ در واقع null توی جاوااسکریپت به عنوان آبجکت شناخته میشه، این داستان یه باگ تاریخیه توی جاوااسکریپت، که از نسخه های ابتداییش مونده و به دلایلی برای سازگاری عقب رو نگه داشتنش و هنوزم وجود داره.

خلاصش که توی جاوااسکریپت null به عنوان یه آبجکت شناخته میشه در حالی که واقعا شئ نیست و به عنوان "هیچی" میشناسیمش 🥲

#javanoscript #js
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
آکادمی ۲۰۲۴ کی‌دی‌ای خیلی پر و پیمونه امسال، مثلاً این ارائه درمورد استفاده از فریمورک های کی‌دی‌ای داخل برنامه‌های خارج از بنیاد کی‌دی‌ای هستش.


https://conf.kde.org/event/6/contributions/214/

@SohrabContents
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
زخم خورده های Bash لایک کنند ببینم چند نفریم 😁
درود بر zsh بزرگ 😍
Forwarded from Gopher Academy
🔵 عنوان مقاله
Go 1.23's New unique Package

🟢 خلاصه مقاله:
مقاله‌ای که مورد بحث قرار گرفته، به بررسی بسته‌ای می‌پردازد که هدف آن افزایش کارایی در مقایسه مقادیر از طریق استفاده از روش "ددوپلیکیشن" (حذف نسخه‌های تکراری) است. این روش به گونه‌ای است که به هر مقدار منحصربه‌فرد یک نمونه قابل استناد اختصاص می‌دهد، که به این مفهوم "اینترنینگ" گفته می‌شود. نویسنده، مایکل، در این مقاله توضیح می‌دهد که این فرآیند چگونه کار می‌کند و همچنین یک مثال عملی ارائه می‌دهد تا خواننده بتواند بهتر با کاربرد و مزایای این روش آشنا شود. محتوای ارائه شده نیاز به دانش پیشین دارد، اما مایکل در طول مقاله تمام جوانب لازم را به خواننده آموزش می‌دهد، به طوری که خوانندگان با آگاهی کامل می‌توانند از این تکنیک در کاربردهای خود استفاده نمایند.

🟣لینک مقاله:
https://golangweekly.com/link/159224/web


👑 @gopher_academy
Forwarded from Linuxor ?
با دستور زیر می‌تونید کانفیگ کرنل فعلی در حال اجرا رو برای بیلد کردن کرنل بدست بیارید

zcat /proc/config.gz > .config


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

make oldconfig

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

یا مثلا کانفیگ کرنل گوشی اندرویدتون یا هر دستگاه لینوکسی دیگه رو بدست بیارید با ورژن جدید بیلدش کنید و بدون هیچ مشکلی کرنل رو آپدیت کنید.


🐧 @Linuxor
Forwarded from کداکسپلور | CodeExplore (Amin)
⚡️با Python اومدن یک کامپایلر برای زبان C نوشتن که بیشتر برای آموزش و یادگیری نحوه کارکرد کامپایلرها  بدرد میخوره و به نظرم می‌تونه مفید باشه و اینکه بگم خیلی راحت میتونین با Pycharm دیباگش کنید و خیلی چیزا یاد بگیرید🔥

🐱https://github.com/ShivamSarodia/ShivyC

#compiler #c #python #programming
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Python BackendHub (Mani)
این ویدیو خیلی خداست توصیه میکنم ببینید. از خود لینوکس فاندیشنه

اگه کلشو وقت نکردید ببینید دقیقه ای که گذاشتم رو ببینید 😂😂
https://www.youtube.com/watch?v=WiPp9YEBV0Q&t=1719s

تو این ویدیو شما ted ts'o رو میبینید که مثل یک بچه داره با دیدگاه های غیر تکنیکال داره حمله میکنه به فردی که داره پرزنت میکنه. بعضی نظراتش البته کاملا تکنیکاله ولی عمدتا شما ویدیو رو ببینید جو منفی و بد رو از این فرد میگیرین.

حالا ایشون کیه؟ ایشون maintainer و author بخش های معروفی از لینوکسه. مثل
ext file-system
/dev/random

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

@PyBackendHub
Forwarded from Code Module | کد ماژول (𔓙)
یک مرجع عالی برای تایپ اسکریپت 🥶

سایت Total TypeScript یک منبع آموزشی جامع برای یادگیری TypeScript هست که توسط Matt Pocock ایجاد شده. این سایت دوره‌های مختلف و محتوای آموزشی زیادی در مورد TypeScript ارائه میده، از جمله مباحث مقدماتی تا پیشرفته، بهترین شیوه‌های استفاده، نکات کلیدی برای بهینه‌سازی کدهای TypeScript و ...

از همه مهم تر یه قسمت جدید به سایت اضافه شده که یک کتابه ۱۶ چپتری هست، و از ابتدایی ترین مباحث تایپ اسکریپت شروع به آموزش میکنه. بهتون پیشنهاد میکنم حتما یک سر بزنید.

🔗 Link

#typenoscript
@CodeModule
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
🔶 برگه تقلب کامل HTML

@TheRaymondDev
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
🔶 برگه تقلب کامل CSS

@TheRaymondDev
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)