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
Forwarded from Geek Alerts
Forwarded from Geek Alerts
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰 انقلابی در سیستم مدیریت Swap لینوکس!

🔹در یکی از بزرگ‌ترین تغییرات چند سال اخیر، ۲۷ پچ جدید و بزرگ توسط Kairui Song از Tencentبرای زیرسیستم Swap لینوکس ارائه شده که مدیریت سنتی swap را متحول می‌کند. این پچ‌ها با معرفی ساختار نوینی به نام Swap Tables، عملکرد را ۲۰ تا ۳۰٪ بهبود داده‌اند و مصرف حافظه را به‌طور چشمگیری کاهش داده‌اند.
هدف اصلی: جایگزینی و ساده‌سازی ساختارهای متنوع و پراکنده‌ی قبلی مثل swap cache، swap maps و swap cgroup maps.

🔧 ویژگی‌های کلیدی:
🔸 ساختار جدید Swap Table
🔸یک ساختار داده واحد برای انجام سه وظیفه: کش، نقشه Swap، و مدیریت cgroup.
🔸 کاهش مصرف حافظه
🔸اندازه هر ورودی از ۱۲ بایت → ۱۰ بایت کاهش یافته.
🔸 تخصیص پویا:Swap فقط در صورت نیاز تخصیص داده می‌شود. حافظه آزادنشده یا Idle memory یا Unused memory آزادتر می‌ماند.
🔸سازگار با: شاخه‌های mm-stable و mm-unstable کرنل لینوکس.

📌 مهم‌ترین تغییرات فنی:
🔸 معماری Table-Driven : مدیریت مدرن، ساده‌سازی ساختار، حذف تعریف‌های قدیمی و پیچیده.
🔸 بهبود همگام‌سازی و قفل‌گذاری :استفاده از قفل‌های جدید فولیو، کاهش Lock Contention در سیستم‌های چند هسته‌ای.
فولیو (Folio) در کرنل لینوکس به مجموعه‌ای از صفحات حافظه گفته می‌شود که به صورت یکجا مدیریت می‌شوند

🔸 رفع مشکلات قبلی :حذف مسیرهای مبهم، متغیرهای منسوخ مثل SWAP_HAS_CACHE و COUNT_CONTINUED.
🔸حذف کدهای قدیمی و پیچیده مربوط به سواپ که باعث مبهم بودن جریان کاری و مدیریت سواپ شده بودند.
🔸حذف مسیریابی‌ها و دورزدن‌های پیچیده مانند bypass سواپ کش برای SWP_SYNCHRONOUS_IO.
🔸استفاده از قفل‌های دقیق‌تر و ریزتر (cluster lock) به جای الگوریتم‌های پیچیده قدیمی که باعث بهبود عملکرد و کاهش تداخل روی دیسک‌های HDD شده است.
🔸یکپارچه‌سازی مسیرهای خواندن و نوشتن (swap in/out) و هماهنگ‌سازی بهتر با حافظه موقت.
🔸فعال‌سازی mTHP swap-in برای بارهای کاری بیشتر و حذف محدودیت‌های قبلی.
🔸بهبود خواندن پیش‌دستی (read ahead) و کاهش تکه‌تکه شدن mTHP.

🔹 مزایای نهایی:
🔸 کاهش چشمگیر مصرف RAM در سیستم‌های بزرگ
🔸 افزایش چشم‌گیر عملکرد برای بارهای کاری سنگین
🔸 آماده برای توسعه‌های آینده مانند NVMe و تعامل هوشمند با cgroups
🔸 ساده‌سازی نگهداری در هسته اصلی لینوکس

📚 سورس اصلی این تغییرات:

github.com/ryncsn/linux/tree/kasong/devel/swap-table
https://www.spinics.net/lists/kernel/msg5684904.html

📌نویسنده: حسین سیلانی
اخبار و آموزش های بیشتر در کانال:
https://t.iss.one/linuxtnt

📌منبع :  آکادمی کندوی دانش
https://learninghive.ir
Forwarded from Gopher Academy
🔵 عنوان مقاله
New Experimental 'Green Tea' Garbage Collector

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

مقاله‌ای پیشنهادی با معرفی یک الگوریتم جمع‌آوری زباله (GC) جدید و مبتنی بر اسپن، که "آگاه از حافظه" بوده و برای اشیاء کوچک ساخته شده است، به‌منظور بهبود موقعیت مکانی و زمانی در سیستم‌های مدرن چند CPU توسط بهره‌گیری بهتر از توپولوژی‌های حافظه و سلسله‌مراتب کش مطرح شده است. نتایج اولیه بنچمارک‌ها مخلوط هستند، اما هنوز روزهای اولیه‌اند. شما اکنون می‌توانید با استفاده از ابزار gotip آن را امتحان کنید و قرار است به عنوان یک آزمایش اختیاری در Go 1.25 عرضه شود.

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


👑 @gopher_academy
Forwarded from Panic Dev (Hessam)
چرا لاراول sail استفاده نکنیم ...

اگر شما هم با تعداد متعددی پروژه همزمان کار میکنید یا بین پروژه های لاراولی زیاد سوئیچ میشید .

اجرا همزمان پروژه ها با sail منابع زیادی میطلبه یا باید یکی رو down کنید بعد یکی رو up یا کانفیگ و پورت متفاوت برای هرکدوم روی env ست کنید .


ولی از همه مهم تر که من دیروز باهاش برخورد کردم

اشغال فضای زیادی دیسک هست .
برای هر پروژه لاراولی که بخواید با sail اون رو راه اندازی کنید
از اول یه image براش بیلد میشه و دوباره تمام کانتیر های mysql , redis و ... براش از اول ساخته میشه .

مسئله اول ،‌اون سردرد موقع هر بار بیلد و pull که به جای خودش

ولی در این بین کلی image دارید هر بار به اضافه کلی volume

من وقتی دیروز فضای دیکسم به شدت پر شده بود امدم تمیز کاری کنم
وقتی یه docker prune زدم ۴۵ گیگ فضا ازاد شد!

اینجا بود که فهمیدم برای دولوپری که تو تمام پروژه ها تمام enviroment اش تقریبا یکی هست

خیلی زیاد داره فضا و اینترنت مصرف میشه .


خوب به این فک کردم بریم سراغ جایگزین .
همونطور که میدونید هستن ابزار هایی مثل herd , longhorn , valet که یا برای ویندوز یا قشر پولدار خانواده اپل

و چیز به درد بخوری پیدا نکردم که یکبار اجرا بشه و تمام پروژه ها رو ساپورت کنه . و همش در حال سوئیچ نباشم .


در اخر به این نتیجه رسیدم باید برگردم به خودم یه چیزی بزنم .

که تهش شد این ریپازیتوری ساده .


‍‍https://github.com/mohaphez/larasaur


شما با استفاده از این یه پوشه دارید به اسم projects مثلا

بعد داخلش یه فولدر میسازید dev-env و فایل های این ریپازیتوری میره داخلش

بعد یه

bash install-dev-shortcuts.sh


این تمام کامند هایی که نیاز دارید بهتون میده

حالا پروژه هاتون میره داخل پوشه projects

مثلا با این ساختار

~/projects/
├── dev-env/
├── x/
│ ├── a-laravel/
│ └── b-laravel/
├── y/
│ ├── c-laravel/
│ └── v-laravel/
└── z/
├── h-old-laravel/
└── b-new-laravel/


همه چی امادست

اول یه دستور up میزنید

up


که بیلد اولیه گرفته بشه و سرویس ها بیاد بالا

بعد داخل هر پروژه که دارید یا جدید میسازید داخل خود مسیرش مثلا

cd  ~/projects/a-laravel 


یه دستور

addsite 


میزنید این براتون یه کانفیگ nginx میسازه میندازه برای داکر و یه دامین با پسوند .local میسازه
مثلا این میشه

a-laravel.local


و تمام

کلا بعد از این دیگه هر چی پروژه میسازید یه addsite میزنید و یه دستور restart

بعد همه چی امادست .


هم روی محیط ایزولست هم در مصرف اینترنت و وقت صرفه جویی شده هم فضای کمتری میگیره

هم روی سیستمتون نیاز به نصب دپندسی های زیادی ندارید برای راه اندازی lamp


گذاشتم شاید به درد شما هم خورد .

الان فقط زمانی سراغ sail میرم که پروژه واقعا محیط متفاوت خاصی بخواد مثل php 7.4

@panicdev
Forwarded from Panic Dev (Hessam)
یه پکیج پایتون جمع‌وجور نوشتم که باهاش می‌تونید خیلی راحت حالت maintenance رو روی اپ FastAPI تون فعال/غیرفعال کنید.

ساده راه‌اندازی میشه، منعطفه، میتونید بعضی اندپوینت‌ها exclude یا فورس کنید و ریسپانس‌های سفارشی برگردونید.

گیت‌هاب:
https://github.com/msamsami/fastapi-maintenance

@DevTwitter | <Mehdi/>
Forwarded from Geek Alerts
Forwarded from Geek Alerts
Forwarded from Geek Alerts
Forwarded from Geek Alerts
اروپا برای اپل قانونی گذاشت که باید به برنامه‌ها اجازه بده سیستم پرداخت خارجی داشته باشن، اپل هم مجبور شد این رو اجرا کنه ولی به معنی تلافی نکردن نیست، الان هر برنامه‌ای که سیستم پرداخت خارجی اضافه کرده باشه اپل یه هشدار با آیکن قرمز تو صفحه نصبش نمایش میده که این برنامه‌ امن نیست یا حریم‌خصوصی نداره. این هشدار رو هم جوری نمایش میده که شما احساس کنید اون بازی یا برنامه رو نباید نصب کنید.

🔗 mjtsai
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
#کوته_نیوز

مدیرعامل مخابرات: مشکل ما اینه که مردم از محتوای خارجی استفاده می‌کنن. :)))

@DevTwitter
Forwarded from Linuxor ?
دنبال ابزار مانیتورینگ بودید netdata رو امتحان کنید، اونقدری امکانات داره تو داشبوردش آدم تو داشبوردش گم می‌شه

نسخه Demo جهت تست :
app.netdata.cloud/spaces/netdata-demo

نصب

learn.netdata.cloud/docs/netdata-agent/installation/

@Linuxor
کلمه پر کاربر Bottleneck به چه معنیه؟

تصور کن یه بطری آب داری (bottle)، و می‌خوای خیلی سریع آب داخلش رو خالی کنی.

اما چون دهانه‌ی بطری باریکه (neck)، سرعت خالی شدن آب کم می‌شه.
این قسمت باریک شده که جلوی سرعت رو می‌گیره، می‌گن bottleneck


تو برنامه‌نویسی:
یعنی بخشی از برنامه که باعث کند شدن کل عملکرد می‌شه.
مهم نیست بقیه‌ی سیستم چقدر سریع باشن، تا وقتی bottleneck وجود داره، کار کل سیستم لنگ می‌مونه.

با Instrumentation می‌فهمی Bottleneck کجاست

مثلاً با Tracing:

می‌بینی یه درخواست API کل سیستم رو سریع رد می‌کنه، ولی توی مرحله‌ی `FindUser()`، یهو ۸ ثانیه مکث می‌کنه → Bottleneck همینه!

یا با Metrics:

نمودار نشون می‌ده که وقتی درخواست‌ها زیاد می‌شن، مصرف CPU می‌ره بالا، اما فقط برای یه سرویس خاص.


چرا باید Bottleneck رو پیدا کنی؟

چون بهت می‌گه:
کجا باید بهینه‌سازی کنی
کدوم سرویس باید scale بشه
چه منابعی داری هدر می‌دی

@DevTwitter | <Alireza Feizi/>
👍1
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱)
🔶 وضعیت من وقتی از هاست اشتراکی میرم روی سرور اختصاصی

@TheRaymondDev
Forwarded from SUT Ad
اگر به برنامه نویسی علاقه‌مندی، رویداد ictchallenge شریف بهترین فرصته که خودتو نشون بدی!

فقط کافیه یه تیم قوی با دوستات تشکیل بدی 💪


به برنده‌های این مسابقه جوایز نقدی داده میشه و از بهترین شرکت‌های کشور پیشنهاد استخدام میگیرن!

▶️ کلیپ دوره قبل برای آشنایی بیشتر

‼️ ظرفیت این دوره محدوده، زودتر رایگان ثبت نام کن:

🖥 https://ictchallenge.ir/ictchallenge2025/
Please open Telegram to view this post
VIEW IN TELEGRAM
تو سایت زیر مجموعه از مقالات با تمرکز بر دیتاساینس لیست شده که بهتون کمک می‌کنه کد پایتون رو بهینه‌تر و بهتر و سریعتر بنویسید، از دستش ندید!

https://pythonspeed.com/datascience/

@DevTwitter | <Reza Jafari/>
Forwarded from یه شعر (Poem Bot)
حافظ | غزلیات | غزل شمارهٔ ۳۹۶

صبح است ساقیا قدحی پرشراب کن
دور فلک درنگ ندارد شتاب کن
زان پیش تر که عالم فانی شود خراب
ما را ز جام باده گلگون خراب کن
خورشید می ز مشرق ساغر طلوع کرد
گر برگ عیش می طلبی ترک خواب کن
روزی که چرخ از گل ما کوزه ها کند
زنهار کاسه سر ما پرشراب کن
ما مرد زهد و توبه و طامات نیستیم
با ما به جام باده صافی خطاب کن
کار صواب باده پرستی ست حافظا
برخیز و عزم جزم به کار صواب کن

#حافظ | گنجور
📍@iipoem
Forwarded from SoniaCircuit (Sony)
https://lovable.dev

یکی از نمونه اپ هایی که میاد کانسپت Low Code, NoCode یا به اصطلاح همون Vibe Coding رو انجام میده
—-
https://www.ibm.com/think/topics/vibe-coding

What is vibe coding?

In software engineering , development is reshaping from strict, manual coding and becoming more flexible and AI-powered—and vibe coding is at the forefront of this change. “Vibe coding” is introduced by renowned Computer scientist Andrej Karpathy in February 2025 and emphasized the significance of AI tools in software development. This concept is in line with developments in artificial intelligence (AI) technologies, especially large language models (LLMs) like ChatGPT, Claude and OpenAI's Codex to help developers stay in the zone of creativity and automate coding works.

Vibe coding is a fresh take in coding where users express their intention using plain speech and the AI transforms that thinking into executable code.
The goal of vibe coding is to create an AI powered development environment where AI agents serve as coding assistants making suggestions in real time, automating tedious processes and even producing standard codebase structures.1

—-

برای من خیلی جالبه که با یه دستور ساده یه کد که ۵۰۰ ۶۰۰ خط فرانت میخواد نوشته میشه :)
و البته مشکلی هم که به وجود میاره سخت تر کردن دیباگش هست که برای این هم محتمل یه ابزاری درست میشه
در نهایت میشه گفت هیچ چیزی قرار نیست کامل باشه ولی کانسپت پروگرمینگ خیلی قراره تغییر بکنه با این تفاسیر.

#lowcode #nocode #vibecoding #llm #programming
Forwarded from Linuxor ?
هوگو یا hugo که با go نوشته شده به گفته خودشون سریع ترین فریم ورک ساخت سایته، یه سری قالب آماده هم داره که می‌تونین به پروژه اضافه کنید و بدون دردسر یه وبسایت استاتیک بیارین بالا:

gohugo.io

@Linuxor