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 Gopher Academy
🔵 عنوان مقاله
How Go Schedules Millions of Goroutines: A Deep Dive into GMP

🟢 خلاصه مقاله:
این مطلب با نگاهی عمیق و قابل‌فهم توضیح می‌دهد که زمان‌بند Go چگونه با مدل GMP (گورو‌تین‌ها، رشته‌های سیستم‌عامل، و پردازنده‌های منطقی) میلیون‌ها گورو‌تین را روی تعداد کمی نخ اجرا می‌کند. سازوکار صف‌های اجرا، «کار‌ربایی» بین پردازنده‌ها، نحوهٔ ایجاد و توقف گورو‌تین‌ها، مدیریت بلاک‌شدن روی I/O یا syscall، پیش‌امپشن برای عدالت و کاهش تأخیر، و تعامل زمان‌بند با جمع‌آوری زباله بررسی می‌شود. همچنین نکات عملی مانند تنظیم GOMAXPROCS، پرهیز از انفجار گورو‌تین‌ها، مدیریت فشار کانال‌ها، و استفاده از ابزارهای ردیابی و pprof برای عیب‌یابی مطرح شده است. در کنار آن، دو راهنمای کاربردی معرفی می‌شود: ساخت تصویر کانتینر از کد Go با Depot API (تأکید بر بیلد سریع، کش و ادغام در CI) و استقرار یک سایت استاتیک Hugo روی Hetzнер (از آماده‌سازی تا TLS و تحویل پایدار). این مجموعه پلی بین تئوری زمان‌بندی و استقرار عملی ایجاد می‌کند.

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


👑 @gopher_academy
Forwarded from Geek Alerts
گوگل بلاخره سطح محدودیت‌های Gemini رو اعلام کرد، با مدل Gemini 2.5 Pro تو سطح رایگان میشه ۵ پیام در روز ارسال کرد. ۱۰۰ عکس میشه ساخت، ۵ گزارش Deep Research در ماه میشه گرفت، امکان ساخت ویدیو رایگان نیست، و حداکثر ۳۲ هزار توکن پشتیبان میشه، ویژگی Deep Think هم به صورت محدود برای کاربران Pro در دسترس هست. [L]

🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
https://github.com/ItsReZNuM/4InARowTelBot

سورس بازی 4InARow
این بازی باید معرف حضور همتون باشه اگه هم نمی‌دونید چیه یه سرچ کنید
قابلیت بازی دو نفره هم به صورت اینلاین هم داره و هم میشه با ربات توی سه سطح مختلف بازی کرد

@DevTwitter | <Agha Reza/>
Forwarded from Philocode
یه باگ داشتم، متوجه شدم یه اشتباه عجیب کردم. این دو حالت رو ببینید:

var_dump([$someVariable]);
var_dump((array) $someVariable);

وقتی که مقدار someVariable نال باشه، اولی مشکل ایجاد می‌کنه. چون خروجی‌ها این‌طور می‌شه:

array(1) {
[0]=>
NULL
}
array(0) {
}

دیگه اولی یه آرایه‌ی خالی نیست.
Forwarded from Armon technical logs (armon Taheri)
مثل اینکه خبر ها حاکی از اون عه اقا وصال
@Vesal_J
روی کور یوتولیتی راست ( شامل کامند های اصلی لینوکس مثل cp , ls , pwd , ... )مشارکت کردن
این به معنی اون که در آینده نه چندان دور کدی که ایشون اضافه کردن در تمام دیسترو های اصلی لینوکس دنیا الردی نصب و قابل دسترس خواهد بود
https://github.com/uutils/coreutils/pull/8565
اگر پخش زنده آکادمی ۲۰۲۵ و همینطور تصاویری که از کی‌دی‌ای لینوکس منتشر شده رو دیده باشید و درمورد موز 🍌 براتون سوال شده که چی هستش، داستانش از این قراره، طبق ویکی کی‌دی‌ای:


نصف کردن یک 🍌. یا در مورد ما: ایجاد تغییرات عظیم در پیکربندی‌های sysupdate.d به گونه‌ای که نیازمند یک نسخه شکست سخت باشد که باید قبل از انتقال به نسخه جدیدتر اعمال شود.
همچنین می‌تواند برای خلاص شدن از آشغال‌های سازگاری استفاده شود. با مجبور کردن کاربران به عبور از یک نسخه خاص، می‌دانیم همه به‌روزرسانی‌های آن نسخه اعمال شده و در نتیجه می‌توانیم منطق سازگاری را حذف کنیم.

کمی تاریخچه: در ابتدا از https://files.kde.org/kde-linux/ به عنوان محل به‌روزرسانی استفاده می‌کردیم. این به طرز بدی شکاف تغییر نام به kde-linux را پر کرد و در نهایت برای مهاجرت rootfsv2 از هم پاشید. حالا به جای آن این کار را می‌کنیم:
‏* https://files.kde.org/kde-linux/ حاوی تصویر دیسک .raw و همچنین .torrent مربوط به آن است
‏* https://files.kde.org/kde-linux/sysupdate/*/ حاوی همه مصنوعات sysupdate است
‏* https://files.kde.org/kde-linux/sysupdate/v2/ و غیره نسخه‌های مختلف هستند
‏* https://files.kde.org/kde-linux/vacuum.yaml کدگذاری می‌کند که کدام بیلدها را باید برای همیشه نگه داشت (آنها را سنگ قبر می‌نامند). همچنین تصاویر طلایی را کدگذاری می‌کند (یعنی آنهایی که می‌خواهیم نگه داریم چون می‌دانیم خوب هستند)

درست. پس. چگونه سنگ قبر بسازیم؟ ابتدا با دقت زیاد درباره این مسئله فکر کنید چون تا حدودی مهم است که دقیقاً بفهمید چه کاری می‌خواهید انجام دهید...

بیایید مثال از v2 به v3 را در نظر بگیریم: می‌خواهیم نسخه‌ای در v2 ایجاد کنیم که آخرین نسخه باشد تا بتوان گفت. وظیفه این نسخه این است که یک نسخه v2 باشد در حالی که تغییرات sysupdate.d برای v3 را فراهم کند. شاید آن جمله را تا زمانی که جا بیفتد بخوانید. مصنوعات سنگ قبر باید شبیه آنهای v2 باشند، اما دستورالعمل‌های به‌روزرسانی (یعنی فایل‌های sysupdate.d) درون سنگ قبر باید شبیه آنهای v3 باشند.

در اینجا یک فهرست مفید برای این مثال آورده شده:
ممکن است عاقلانه باشد که سیستمی اختراع کنید که همه انتشارات را به پوشه ریشه جداگانه‌ای منحرف کند تا زمانی که کاملاً مطمئن شوید مهاجرت آماده است. اگر سنگ قبر بدی منتشر کنید، رفع مشکلات بسیار سخت خواهد بود.** در حال حاضر وجود ندارد اما از نظر فنی به سادگی آپلود به سرور متفاوت یا زیر مکان ریشه متفاوت است.

* اطمینان حاصل کنید v2 (یعنی git master) واقعاً کار می‌کند
‏* v3 را آماده کنید (احتمالاً در یک شاخه) و شاید کمی آن را آزمایش کنید تا مطمئن شوید پیکربندی‌های ارتقا کار می‌کنند
* نسبت به دسترسی کلید امضا فوق‌العاده مراقب باشید. شاخه‌های تصادفی به طور پیش‌فرض امضا ندارند!
* upload.sh را در شاخه v3 به‌روزرسانی کنید تا خط به‌روزرسانی v3 را شروع کند
* تعدادی بیلد v3 برای آزمایش بسازید
* یک بیلد v2 با پیکربندی‌های sysupdate.d نسخه v3 بسازید
* یک بیلد v3 بسازید تا نسخه بالاتری داشته باشید
* ارتقا را آزمایش کنید
‏* vacuum.yaml را ویرایش کنید یا از مدیر سیستم بخواهید تا بیلد v2 (و احتمالاً اولین v3 خوب) را به عنوان سنگ قبر (و احتمالاً طلایی) علامت‌گذاری کند.



https://community.kde.org/KDE_Linux/Banana_Split

@kde_fa
چقدر به این فکر می کنید که یک روزی برسه که مجبور بشید توی مدت زمان خیلی کوتاه از مخازن پابلیک گیت‌هاب خودتون یا بقیه، بک آپ بگیرید ؟

عددش هرچقدر که هست، در مورد این، می‌تونید به Magnet اعتماد کنید و خب، طبق معمول این روزها، با Rust نوشتمش.

https://github.com/naseridev/magnet

@DevTwitter | <Nima Naseri/>
Forwarded from Linuxor ?
ابزار پایتونی ArchiveBox یه ابزار متن‌باز و self-hosted برای بایگانی وب هستش که به شما این امکانو می‌ده تا صفحات وب، و منابعی مثل Pocket یا Pinboard رو ذخیره کنین. این ابزار محتوای صفحات رو به صورت HTML، JavaScript، PDF، تصاویر، ویدیوها و دیگر فرمت‌ها ذخیره می‌کنه.

archivebox.io

@Linuxor
Forwarded from محتوای آزاد سهراب (Sohrab)
برای اولین بار توی این کانال:


ایده‌هاتونو بریزید وسط می‌خوام آپدیت ماژور بدم.

از هرچیز مفیدی استقبال میشه.


#موقت
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 بسیاری از مهندسان ارشد و مدیران از این می ‌ترسند که حقوق بالاتر، گزینه ‌های جابجایی شغلی را محدود کند. نظر من این است...

بله، جبران خدمات بیشتر (حقوق بالاتر) یعنی گزینه ‌های کمتری برای انتخاب خواهید داشت، اما «کمتر» به معنای «هیچ» نیست. تا زمانی که بتوانید تأثیر قابل اندازه ‌گیری نشان دهید، همیشه در هر سطح حقوقی فرصت ‌هایی وجود خواهد داشت.

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

به همین دلیل ساختن سابقه کاری قوی و ارائه نتایج ملموس بسیار مهم است. در سطوح بالاتر، تأثیر شما باید دقیق و شفاف باشد و مستقیماً با یکی از این موارد هم ‌راستا شود: صرفه‌جویی در درآمد، کاهش زمان، توسعه تیم یا ساخت سیستم‌ها.

اگر سابقه قوی نداشته باشید، احتمالاً در موقعیت فعلی گیر می‌کنید.

همچنین، با کمتر شدن گزینه ‌های جابجایی، احتمالاً مدت طولانی ‌تری در یک شرکت می‌مانید. پس هنگام انتخاب شرکت بعدی باید دقت بیشتری داشته باشید.

از آنجایی که استخدام یک مهندس یا مدیر ارشد هزینه قابل‌توجهی برای شرکت دارد، فرآیند انتخاب بسیار سخت ‌گیرانه است و داشتن چندین شغل کوتاه‌مدت در سطح ارشد می‌تواند یک علامت خطر باشد.

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

هرچه بالاتر می‌روید، باید روی نقاط قوت خود بیشتر سرمایه‌گذاری کنید تا تأثیرتان چندبرابر شود.

@TheRaymondDev
Forwarded from Linuxor ?
این سایته توش همه الگوریتم های مهمی که با C پیاده شدن رو جمع کرده توی کامنت های هر بخش توضیحات هر الگوریتم رو نوشته می‌تونید بخونیدش:

thealgorithms.github.io/C

@Linuxor
اگر احتمالا دنبال زیرنویس هستین و ترجمه به زبونی که میخواین وجود نداره میتونین از Workflow زیر تو n8n استفاده کنین :
https://gist.github.com/MrOplus/1436ec3c8d84e8a692e6e98f7807d4aa

@DevTwitter | </dev/nvram/>
Forwarded from یه شعر (Poem Bot)
مولانا | دیوان شمس | رباعیات | رباعی شمارهٔ ۴۲۵

مینال که آن ناله شنو همسایه است
مینال که بانک طفل مهر دایه است
هرچند که آن دایه جان خودرایه است
مینال که ناله عشق را سرمایه است

#مولانا | گنجور
📍@iipoem
خب این بنچمارک خیلی جالبی شد:)
برای اجرای 10هزار بار یک تابع wrangling
با Zero Copy تقریبا 50% حجم خط های کد افزایش داشت و عملکرد رو بدتر کرد
بهترین عملکرد رو Cython داشت و دردسر و over head کمتری نسبت به rust توی PyO3 داشت
انتخابم از این به بعد کد پایتون بهینست بدون اضافات :)

@DevTwitter | <Soroush Moosapour/>
هیچ ملتی تا ابد در زنجیر نمی‌ماند.

#NepoKids

🔍 ircf.space
@ircfspace
Forwarded from Ninja Learn | نینجا لرن (Mohammad)
این GIL پایتون چقدر دردسر سازه 😬
Forwarded from Abolfazl Devs (ixAbolfazl)
فرض کن مسئول فنی توییتری، ساعت ۸ شبه و یه نفر با ۳۰ میلیون فالوور یه توییت میزنه، تو چند ثانیه، سیستم تو باید توییت رو ببره تو تایم لاین همه فالوراش
حالا سؤال اینه: چطوری سیستم شما باید با کمترین هزینه و بیشترین سرعت این توییت رو بزاره تو تایم لاین فالورا؟

این مشکلی بود که توییتر تو سال 2012 باید حلش میکرد اما راه حلشون چی بود؟
دوتا راهکار روبروشون بود
1- توییت یکبار تو دیتابیس ذخیره شه و هر بار کاربرا با باز کردن تایم لاین یه کوئری بزنن ببینن اونایی که فالو کردن چیا توییت کردن
2- تویتت به محض ارسال تو کش تایم لاین همه فالورا ذخیره بشه
اون اولا توییتر راه اول شماره 1 رو انتخاب کرد که این باعث میشه هر کاربر موقع باز کردن صفحه اول توییتر یک کوئری read بزنه (مثل عکس) که به مرور با افزایش تعداد خواننده ها که تقریبا دوبرابر نویسنده ها بودن بازدهیش اومد پایین!

پس توییتر اومد سویچ کرد رو حالت دوم که با زدن هر توییت میومد تو کش تایم لاین فالورا اون توییت رو اضافه میکرد اینطوری برا نوشتن یه توییت پردازش بیشتری میکرد اما این به سرعتش می ارزید اما خب همچنان یه مشکلی بود!

مشکل این بود ممکن بود یه نفر 30 میلیون فالور داشته باشه و خب نوشتن و قرار دادن اون توییت جدید برای 30 میلیون فالور پردازش و زمان زیادی میخواست و این باز سرعتو میورد پایین
راه حل جدید چی بود؟
ترکیبی از این دوتا روش!

به این صورت که برای اونا که فالورشون کم بود توییت هاشونو میزاشت تو کش تایم لاین فالوراشون و کنارش میومد برای افراد با فالور زیاد هم کوئری read میزد و بعد بر اساس زمان سورتش میکرد

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

📌 ixAbolfazl | @abolfazl_devs
Forwarded from Reza Jafari
آشنایی با MiniCPM-V و MiniCPM-o؛ هوش مصنوعی‌ اپن سورسی که متن، تصویر و صدا رو با هم می‌فهمه

مدل MiniCPM-V در واقع یک خانواده از مدل‌های هوشمند چندوجهی (Multimodal LLMs) هست که می‌تونه تصویر، ویدیو و متن رو بگیره و در نهایت متن باکیفیت تحویل بده. این مدل‌ها طوری طراحی شدن که هم عملکرد خیلی قوی داشته باشن و هم بشه راحت روی دستگاه‌های شخصی (end-side) اجراشون کرد. تازه از فوریه ۲۰۲۴ تا حالا ۷ نسخه مختلف ازش منتشر شده و هدف اصلیشون همیشه همین دو نکته بوده: قدرت بالا و اجرا بهینه.

بین همه نسخه‌ها، MiniCPM-V 4.5 از همه جدیدتر و قوی‌تره. این مدل ۸ میلیارد پارامتر داره و جالبه بدونید که حتی از GPT-4o-latest، Gemini-2.0 Pro و Qwen2.5-VL 72B هم توی بخش vision-language بهتر عمل می‌کنه. ویژگی‌های تازه‌ای هم داره، مثل اینکه می‌تونه ویدیوهای طولانی رو با نرخ فشرده‌سازی خیلی بالا (تا 96x) پردازش کنه، یا اینکه بین سرعت و عمق پردازش کاربر بتونه انتخاب داشته باشه (fast/deep thinking). علاوه بر این، توی خوندن دست‌خط، جدول‌های پیچیده و اسناد خیلی دقیق عمل می‌کنه. از اون طرف هم ویژگی‌های محبوب نسخه‌های قبل مثل پشتیبانی چندزبانه، رفتار قابل اعتماد و امکان اجرا روی دستگاه‌های شخصی رو هم ارتقا داده.

اما MiniCPM-o کمی متفاوت‌تره. این مدل علاوه بر متن، تصویر و ویدیو، می‌تونه صدا رو هم به‌عنوان ورودی بگیره و حتی خروجی رو به شکل speech بده. آخرین و قوی‌ترین نسخه‌اش یعنی MiniCPM-o 2.6 هم مثل سری V, تعداد 8 میلیارد پارامتر داره و از نظر توانایی‌ها در حد GPT-4o-202405 شناخته می‌شه. چیزی که این نسخه رو خاص می‌کنه، پشتیبانی از گفت‌وگوی دوطرفه‌ی زنده و بلادرنگ با قابلیت انتخاب صدا و حتی کنترل احساس، سرعت و سبک صحبت کردنه. تازه امکانات جالبی مثل voice cloning و role play هم داره. نکته مهم‌تر اینه که برای اولین بار تونسته live streaming چندوجهی رو روی دستگاه‌هایی مثل iPad اجرا کنه، که خودش یک جهش جدی در این حوزه حساب می‌شه.

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

🔗 لینک ریپو

🔤🔤🔤🔤🔤🔤🔤

🥇 اهورا اولین اپراتور هوش مصنوعی راهبردی ایران در حوزه ارائه خدمات و سرویس‌های زیرساخت هوش مصنوعی

🛍کد تخفیف ۱۰ درصدی محصولات اهورا برای اعضای کانال
AHURA5

🌐 لینک وب‌سایت اهورا

@reza_jafari_ai
Please open Telegram to view this post
VIEW IN TELEGRAM
در مورد اهمیت متن آگهی استخدامی برای استخدام افراد خفن!

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

https://news.ycombinator.com/item?id=3804134