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

پست پین رو بخونید
https://t.iss.one/dev_perfects/455


ارتباط:
https://t.iss.one/HidenChat_Bot?start=936082426
Download Telegram
چرا نباید لاجیک پروژه رو تو سریالایزرهای DRF پیاده‌سازی کنیم؟ 🚫

یه موضوع مهم هست که چرا نباید لاجیک پروژه‌مون رو تو سریالایزرها پیاده‌سازی کنیم؟ خیلی از افرادی که میشناسم متاسفانه اینکارو میکنن (پیاده سازی لاجیک توی سریالایزر ها) اگه شماهم حزو این دسته افراد هستید این پست براتون مناسبه

اول از همه سریالایزر تو DRF چیه؟

سریالایزرها تو DRF مسئول تبدیل داده‌ها بین فرمت‌های مختلف (مثل JSON و مدل‌های Django) هستن. کارشون اینه که داده‌ها رو بگیرن، اعتبارسنجی (validation) کنن و به شکل مناسب تحویل بدن. مثلاً یه مدل User رو به JSON تبدیل می‌کنن یا برعکس. تا اینجا همه‌چیز اوکیه، ولی مشکل از جایی شروع می‌شه که بخوایم لاجیک اصلی پروژه رو تو همین سریالایزرها پیاده سازی کنیم.

🚫 چرا این کار بده؟
بعضی‌ها عادت دارن تو متدهای سریالایزر (مثل to_representation یا validate) لاجیک‌های پیچیده بنویسن، مثلاً محاسبات، فیلتر کردن داده‌ها یا حتی آپدیت دیتابیس. اما این کارا چندتا مشکل بزرگ به وجود میاره

1⃣ نقض اصل Single Responsibility:
سریالایزرها برای تبدیل و اعتبارسنجی داده‌ها طراحی شدن، نه برای مدیریت لاجیک پروژه.
وقتی لاجیک رو اونجا می‌نویسین، کدتون از یه سریالایزر ساده تبدیل میشه به سریالایزر خیلی گنده که بعداً نگهداریش سخت می‌شه.

2⃣ کاهش Readability و Testability:
اگه لاجیک تو سریالایزر باشه، پیدا کردنش تو پروژه سخت‌تره و تست کردنش هم پیچیده می‌شه. مثلاً برای تست یه محاسبه، باید کل سریالایزر رو تست کنین، نه فقط اون لاجیک خاص.

3⃣ مشکلات Scalability:
تو پروژه‌های بزرگ، وقتی لاجیک‌ها تو سریالایزرها پخش بشن، دیگه نمی‌تونین به راحتی تغییرشون بدین یا جابه‌جاشون کنین. یه تغییر کوچیک تو لاجیک ممکنه کل API رو به هم بریزه.

4⃣ وابستگی بیش از حد:
سریالایزرها به مدل‌ها و داده‌ها وابسته‌ ان. اگه لاجیک پروژه رو اونجا بذارین، هر تغییری تو مدل‌ها یا ساختار داده‌ها می‌تونه لاجیک‌تون رو خراب کنه.

5⃣ سخت شدن دیباگ:
وقتی یه باگ پیش میاد، نمی‌دونین مشکل از تبدیل داده‌ست یا از لاجیک پروژه، چون همه‌چیز قاطی شده.

سخن اخر 🗣
پیاده‌سازی لاجیک پروژه تو سریالایزرهای DRF مثل اینه که بخوای با چاقو سوپ بخوری؛ می‌شه، ولی چرا؟! سریالایزرها برای تبدیل و اعتبارسنجی داده‌ها طراحی شدن، نه برای نگه داشتن لاجیک پیچیده. با انتقال لاجیک به مدل‌ها یا سرویس‌ها، کدتون تمیزتر، قابل‌نگهداری‌تر و حرفه‌ای‌تر می‌شه. دفعه بعد که خواستین تو سریالایزر لاجیک بنویسین، یه لحظه وایسید و بگین: اینجا جای این کارا نیست 😊

#️⃣ #backend #drf #django #api


🥷 CHANNEL | GROUP
This media is not supported in your browser
VIEW IN TELEGRAM
برنامه نویس عزیز
وقتی این کد رو نوشتم
فقط من و خدا میدونستیم که چطور کار میکنه
الان فقط خدا میدونه 😂🤝🏻
پس اگه به فکر بهینه سازی هستید
و شکست خوردید(احتمالا😂🤝🏻)
این شمارنده رو به عنوان هشدار
برای نفر بعدی افزایش بدید :

مجموع ساعت های تلف شده در اینجا = ۲۵۶🗿😂🤝🏻


📍تا حالا به همچین چیزی برخورد داشتی؟😂

📝 @𝕏Code_IR
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰گزینه جدید "hugetlb_alloc_threads" در لینوکس ۶.۱۵ باعث می‌شود سیستم بهینه تر و سریع‌تر بوت شود.

🔹این گزینه تازه اضافه‌شده به شما اجازه می‌دهد تعداد رشته‌ها (threads) را که برای آماده کردن صفحات بزرگ (huge pages) استفاده می‌شوند، تنظیم کنید. با این کار، می‌توانید کارها را به‌صورت موازی انجام دهید و زمان بوت شدن سیستم را حسابی کم کنید. به‌طور پیش‌فرض، این گزینه از ۲۵٪ رشته‌های موجود در سخت‌افزار استفاده می‌کند. مهندسان شرکت Cyberus Tech گفته‌اند که در سرورهای بزرگ، این تغییر سرعت بوت را بین ۲.۷۵ تا ۴.۳ برابر بیشتر کرده است.

بهبود کار با صفحات بزرگ:
🔹با این گزینه جدید که به لینوکس اضافه شده، مدیریت صفحات بزرگ (huge pages) آسون‌تر شده.است صفحات بزرگ، تکه‌های بزرگ‌تری از حافظه هستند که سیستم ازشون استفاده می‌کنه. قبلاً یه مشکلی بود به اسم "تکه‌تکه شدن" یا همون fragmentation. یعنی حافظه به‌جای اینکه یه‌جا و منظم باشه، پخش و پراکنده می‌شد و استفاده ازش سخت‌تر بود. حالا با این گزینه، این مشکل کمتر پیش میاد و حافظه مرتب‌تر می‌مونه. یه خوبی دیگه‌ش اینه که استفاده از این روش، بار کمتری به سیستم میاره و هزینه پردازشش کمتره.

چرا این مهمه؟ چون الان حافظه‌های سیستم‌ها خیلی بزرگ شدن (مثلاً چند گیگابایت یا حتی بیشتر). وقتی حافظه زیاد باشه، صفحات کوچیک ۴ کیلوبایتی (که اندازه‌شون خیلی کمه) دیگه نمی‌تونن به‌خوبی کار کنن. این صفحات کوچیک باعث می‌شن سیستم بیشتر اذیت بشه و کارش کند بشه.
Forwarded from Gopher Academy
🔵 عنوان مقاله
ghw 0.15.0: A Go Hardware Discovery/Inspection Library

🟢 خلاصه مقاله:

مقاله به بررسی و تحلیل عملکرد رایانه‌های میزبان در زمینه‌های مختلفی چون حافظه، CPU، ذخیره‌سازی و پشتیبانی شبکه می‌پردازد و بر سیستم‌عامل‌های لینوکس و ویندوز تاکید دارد، هرچند پشتیبانی جزئی از مک‌او‌اس نیز مطرح شده‌است. تحلیل‌ها نشان می‌دهند که چگونه هر سیستم‌عامل منابع سخت‌افزاری را مدیریت و بهینه‌سازی می‌کند، با این حال اطلاعات کمتری درباره عملکرد مک‌او‌اس ارائه شده‌است. این مقاله منبع مفیدی برای فهم بهتر مشخصات فنی رایانه‌های میزبان و انتخاب سیستم‌عامل مناسب با توجه به نیازهای عملکردی و سازگاری سخت‌افزاری است.

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


👑 @gopher_academy
Forwarded from haashemi.dev
😞 It just happened once again.

🤨 I guess I should add it to my Windows installation blog post as an important note.

👨‍💻 @HaashemiDev
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Geek Alerts
مدل GPT-5 تا چند ماه آینده عرضه خواهد شد.

سم آلتمن در توییتی نوشته که به‌زودی در چند هفته آینده مدل‌های استدلالی o3 و o4-mini رو عرضه خواهند کرد و درنهایت در چندماه آینده مدل GPT-5. دلیل اصلیش بهبود جی‌پی‌تی ۵ و هماهنگ کردن همه ابزارها با هم هست و همچنین ظرفیت پردازشی مورد نیاز این مدل بسیار بزرگ.

🔗 sama
🤓 hadi @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Geek Alerts
کامپیوتر کلود ویندوز ۳۶۵ لینک مایکروسافت رو میبینید، به این دستگاه‌ها میگن کلود پی‌سی، دستگاه‌هایی که پردازش و ذخیره‌سازی روی خودشون نیست و داخل یه سرور انجام میشه، اینجوری دیگه محدود به حجم ذخیره‌سازی یا قدرت CPU نیستید. توی این مورد شما با این دستگاه به یه نسخه از ویندوز که روی سرورهای مایکروسافت هست دسترسی دارید.

البته که اینترنت با پینگ کم و سرعت خوب نیاز داره، قیمت دستگاهش ۳۴۹ دلار هست، تو بعضی از کشورها عرضه شده و بیشتر سازمان‌ها و شرکت‌ها طرفدارش هستن.

🔗 techradar
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Geek Alerts
Forwarded from یه شعر (Poem Bot)
مولانا | دیوان شمس | رباعیات | رباعی شمارهٔ ۷۶۹

علم فقها ز شرع و سنت باشد
حکم حکما بیان حجت باشد
لیکن سخنان اولیای ملکوت
از کشف و عیان نور حضرت باشد

#مولانا | گنجور
📍@iipoem
Forwarded from Geek Alerts
بالاخره Midjourney مدل جدید v7 رو معرفی کرد

از امروز به صورت آزمایشی در دسترسه، پیشرفت اصلیش توی بافت‌ها و جزئیات و اینکه دست‌ها و اشیا رو بهتر و واقعی‌تر نشون بده. قابلیت شخصی‌سازی رو به صورت پیش‌فرض فعال کرده.

دو تا حالت داره «توربو» و «ریلکس»، حالت توربو گرون‌تره و دو برابر حالت معمولی V۶ هزینه داره. یه حالت جدید و کم هزینه هم به اسم «draft» اضافه شده که ده برابر سریع‌تر عکس‌ها رو رندر می‌کنه. برای استفاده از حالت درافت دو راه هست، یا دکمه draft mode و بعد voice mode رو بزنید و ایده‌هاتون رو بگید، یا از دستور --draft توی پرامپت‌هاتون استفاده کنید.

عکس‌های حالت درافت کیفیت پایین‌تری دارن، ولی اگه از یه عکس خوشتون اومد می‌تونید دکمه enhance یا vary رو بزنید تا با کیفیت اصلی رندر بشه.

🔗 neowin
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Linuxor ?
شرکت OpenAI بی‌سر و صدا OpenAI Academy رو راه‌اندازی کرده. کلی آموزش، وبینار و ورکشاپ رایگان گذاشته. موضوعاتش هم از آشنایی با AI شروع می‌شه تا موارد پیشرفته‌تر

academy.openai.com


@Linuxor ~ rzdjafari
Forwarded from Geek Alerts
مایکروسافت داره پنجاهمین سالگرد تاسیسش رو جشن می‌گیره، سر این یه رویداد دارن ساعت ۸ امشب که احتمالا بخش زیادیش محصولات AI باشه.

ممکنه مدل‌های جدید به Copilot اضافه بشه یا اینکه خبرهایی از مدل Phi هم داشته باشیم، به هر حال این رویداد رو ما در کانال پوشش میدیم.

🔗 youtube
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
این kyanos هم یه ابزار خیلی باحاله برای نتورک ترکینگ
مثلا خیلی راحت می‌تونید پیدا کنید که روی فولان پورت کدوم ریکوئست از همه کند‌تره

https://github.com/hengyoush/kyanos

@DevTwitter | <Saman />
Forwarded from Geek Alerts
Forwarded from Geek Alerts
مدل Llama ۴ متا احتمالا اواخر همین ماه منتشر بشه، این مدل اوپن‌سورس و محبوب تا مدت‌ها زیر تیغ انتقاد اوپن‌سورس بودنش بود و بخشی از آمریکایی‌ها اعتقاد داشتن که تکنولوژی آمریکا رو داره به کشورهای دیگه میبره.

با این حال انتشار اوپن‌سورس دیپ‌سیک باعث شد فشار انتقادها از روش برداشته باشه و الان بیشتر همه چشم به امید این مدل هستن، پیشرفت اساسی توی استدلال و ریاضی خواهد داشت.

🔗 techmeme
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Geek Alerts
خبر خوب برای گیمرها اینکه اندروید ۱۶ قراره یه ویژگی گرافیکی جدید به اسم Host Image Copy رو اجباری کنه. این ویژگی که توی Vulkan ۱.۴ هست باعث لگ کمتر، مصرف کمتر حافظه و بهینه شدن سرعت لود بازی‌ها میشه.

دلیل این بهبود اینه که Host Image Copy یه جورایی روش انتقال دیتاهای گرافیکی بین CPU و GPU رو تغییر میده. قبلاً دیتاها اول به یه حافظه موقت توی GPU منتقل می‌شدن و بعد به جای اصلیشون می‌رفتن. ولی الان با این ویژگی جدید، CPU می‌تونه دیتاها رو مستقیم به GPU بفرسته و اون حافظه موقت دیگه لازم نیست.

انتظار میره که بیشتر دستگاه‌هایی که اندروید ۱۶ رو دارن، از این ویژگی پشتیبانی کنن.

🔗 androidauthority
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Linuxor ?
حتی اگه از تهران تا نیویورک یه فیبر نوری مستقیم کشیده باشیم، بدون حتی یه روتر وسط راه، بازم رسیدن یه پکت حداقل 50 میلی‌ثانیه طول می‌کشه. این محدودیت سرعت اصلا ربطی به تکنولوژی نداره و ساختار فضا-زمان تعیینش کرده.

@Linuxor
Forwarded from Geek Alerts
Media is too big
VIEW IN TELEGRAM
گوگل یه قابلیت جدید به NotebookLM اضافه کرده به اسم Discover sources (کشف منابع). جای اینکه شما بیاید یه سری منابع بهش بدید کافیه یه موضوع بهش بدید خودش میره میگرده براتون منابع پیدا میکنه.

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

https://notebooklm.google.com/
🔗 slashdot
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Python Hints
#موقت

تسک Build your own HTTP Server این ماه رایگان شده.

اگر دوست داشتید اینجا :
https://t.iss.one/codecrafter_fa
راه حل‌های خودتون رو بذارید و البته راجب کدهای دیگران هم نظر بدید و ... که حکم review داشته باشه

توی گروه فقط و فقط راجب تسک‌های مربوط به این سایت صحبت کنید. سپاس