DevTwitter | توییت برنامه نویسی – Telegram
DevTwitter | توییت برنامه نویسی
23.6K subscribers
4.36K photos
358 videos
6 files
4.1K links
توییت های برنامه نویسی و طراحی وب :)

@dvtwi

Hashtags:
devtwitter.t.me/5

DevBooks Channel:
https://news.1rj.ru/str/+AYbOl75CLNYxY2U0

Github:
https://github.com/DevTwitter

X:
https://x.com/devtwittir
Download Telegram
امروز گوگل این مقاله رو بهم پیشنهاد داد. خیلی ازش خوشم اومد. چه قشنگ مشکل رو توضیح داد.
https://gist.github.com/avestura/ce2aa6e55dad783b1aba946161d5fef4

@DevTwitter | <Mohsen Shabanian/>
👍35👎85🔥3
سرویس ایمیل برای وب سایتتون
قبلا شما با سرویس Email Routing شرکت cloudflare میتوانستید ایمیل دریافت کنید ولی ارسال نه
سرویس Cloudflare Email Service’s مشکل را با Cloudflare Workers حل کرد و حالا میتوانید ارسال هم داشته باشید
اطلاعات بیشتر
https://blog.cloudflare.com/email-service/

@DevTwitter | <MehrdadLinux/>
17🔥7
بچه هایی که میخوایید از تست XSS خیالتون راحت باشه تا روی بقیه آسیب پذیری ها متمرکز بشید حتما از Reflix استفاده کنید حتما هم با سوییچ -he اجرا کنید تا تستون کامل بشه ،

Github
github.com/nexovir/reflix
ReCommand :

reflix -l urls -X GET -c 15 --dom --headless --xss -pi -hi -he

@DevTwitter | <sardine web/>
14👎8🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
اینقدر هر روز مدلهای خوب میاد بیرون که گاهی انتخاب سخت میشه. IBM یک مدل فوق سبک ولی فوق العاده با کیفیت از مدلهای vision-language model (VLM) به اسم Granite-Docling-258M داده بیرون. با اینکه فقط ۲۵۸ میلیون پارامتر داره ولی عالیه در OCR، استخراج فرمولهای ریاضی، کد وجدول از داکیومنت. همچین خیلی دقیق هست در تبدیل pdf به HTML با حفظ ساختار اصلی داکیومنت.
روی سیستم لوکال راحت اجرا میشه. و کلی کار جالب میتونید باهاش انجام بدید برای انواع اپلیکیشنها. برای اطلاعات کامل بلاگشون را بخونید که کلی خوندنیه. مدل هم روی HuggingFace هست که میدونید دانلود کنید و استفاده کنید.
https://www.ibm.com/new/announcements/granite-docling-end-to-end-document-conversion

@DevTwitter | <Mehdi Allahyari/>
👍239
ورژن جدید جاوااسکریپت ECMAScript 2026 یه متود جدید به اسم try به Promise اضافه کرده

باهاش می‌تونید یه تابع sync رو با ظاهر async اجرا کنید و فرقش با حالت then اینه که این همون لحظه اجرا میشه اما then اجرا رو به میکروتسک بعدی منتقل می‌کنه، یعنی کمی تأخیر داره.

@DevTwitter | <Nimo/>
38👍7🔥1
قصه غم‌انگیز هوش مصنوعی در ایران

رده‌های بالای سازمانی دستور میدن که هوش مصنوعی رو وارد سازمان کنید.

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

نه فکری...نه حساب کتابی...نه نیازسنجی...هیچی

@DevTwitter | <Reza Jafari/>
👍1482👎1
This media is not supported in your browser
VIEW IN TELEGRAM
علی‌بابا در رقابت با گوگل، مدل ادیت عکس وان۲.۵ با حداقل لزوم پرامپت‌نویسی و بیشترین درک تصویری رو منتشر کرده. پلتفرم‌های زیادی هم این مدل را ارائه کردن.

@DevTwitter | <Setareh/>
🔥19👍62
رفع هشدارهای Git GC (Garbage Collection)

گاهی وقتا موقع اجرای git pull یا git fetch با پیام‌های زیر مواجه میشید:

warning: The last gc run reported the following. Please correct the root cause and remove .git/gc.log

warning: There are too many unreachable loose objects; run 'git prune' to remove them.


این هشدارها یعنی ریپازیتوری شما پر از فایل‌های قدیمی و objectهای غیرقابل دسترس شده. برای پاکسازی و بهینه‌سازی کافیه مراحل زیر رو انجام بدید:

مرحله ۱: پاک کردن لاگ قدیمی GC

rm -f .git/gc.log



مرحله ۲: حذف objectهای غیرقابل دسترس

git prune



مرحله ۳: اجرای Garbage Collection به‌صورت کامل و تهاجمی

git gc --aggressive --prune=now



اگه بخواید همه‌ی مراحل رو یکجا اجرا کنید:

rm -f .git/gc.log && git prune && git gc --aggressive --prune=now


بعد از این کار، ریپازیتوری سبک‌تر میشه و دیگه این هشدارها رو نمی‌بینید

@DevTwitter | <MrBardia72/>
22👍11🔥2
این اپ اندرویدی Metrolist میتونه باعث بشه اسپاتیفای رو تمدید نکنم، خیلی خوبه

https://github.com/mostafaalagamy/Metrolist

@DevTwitter | <iman/>
👍17👎84🔥1
اگر دوست دارید توی یه پروژه نسبتاً ساده ببینید که الگوریتم Q-learning چطور کار می کنه، می‌تونید یه نگاهی به این مخزن بندازید.
https://github.com/naseridev/notch

@DevTwitter | <Nima Naseri/>
👎12👍81🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
دو تا ابزار pgcli و mycli خیلی میتونه کار با دیتابیس هارو راحت تر و حتی امن تر کنه در محیط ترمینال
اولا که خیلی ux خوبی دارن و auto complete داره خیلی کارو راحت میکنه
دوما اینکه برای دستورات خطرناکی مثل آپدیت و حذف و غیره ازت یه تایید ثانویه دستور میگیره که خیلی ریسک اجرا رو کمتر میکنه اگه ریویو کنی دستور رو قبل از اجرا

pgcli
https://github.com/dbcli/pgcli

mycli
https://github.com/dbcli/mycli

@DevTwitter | <Hossein Nazari/>
👍14👎4🔥4
واقعیت پنهان: PHP-FPM اغلب گلوگاه (bottleneck) اصلی اپلیکیشن های PHP است، نه Nginx!

بسیاری از تیم ها با دیدن خطای 502 یا 504، انگشت اتهام را به سمت Nginx می گیرند. اما در اغلب موارد، مشکل از کانفیگ نادرست PHP-FPM (FastCGI Process Manager) است.


PHP-FPM چگونه کار می کند؟

به زبان ساده:
هر Worker فقط یک درخواست را در لحظه پردازش می کند.
وقتی Worker آزاد نباشد، درخواست های جدید وارد یک صف (Queue) می شوند.
اگر این صف پر شود، خطای 502 Bad Gateway یا 504 Gateway Timeout رخ می دهد.


تنظیمات حیاتی برای عملکرد بهینه

1. مدیریت Concurrency بر اساس RAM، نه CPU

بزرگ ترین اشتباه، تنظیم max_children بر اساس تعداد هسته های CPU است. مصرف حافظه (RAM) هر Worker، عامل محدودکننده اصلی است.

فرمول صحیح:
max_children = (Total RAM for Pool) / (Avg RAM per Child)

2. انتخاب Process Manager (pm) مناسب

dynamic: بهترین گزینه برای اپلیکیشن های وب و API با ترافیک متغیر.
ondemand: ایده آل برای سرورهای کم ترافیک و با حافظه محدود.
static: فقط برای سرورهایی با بار کاری کاملاً پایدار و قابل پیش بینی.

3. حفاظت از منابع سرور

request_terminate_timeout: برای توقف خودکار اسکریپت های سرکش (runaway).
request_slowlog_timeout: برای شناسایی و لاگ گیری درخواست های کند و پیدا کردن گلوگاه ها.
pm.max_requests: برای جلوگیری از نشت حافظه (memory leak) در بلندمدت با ریستارت کردن Workerها.

4. بهینه سازی OPcache

OPcache اولین و مهم ترین خط دفاعی شما برای بهبود پرفورمنس است. همیشه حداقل ۲۰٪ از حافظه آن را آزاد نگه دارید. بدون OPcache، سرور شما به یک کارخانه کامپایل مجدد کد تبدیل می شود!


مطالعه موردی (اپلیکیشن Laravel با 8GB RAM)

حافظه تخصیص داده شده به PHP-FPM: 6GB
میانگین حافظه مصرفی هر Worker: ~120MB
محاسبه max_children: 6000MB / 120MB = 50 (برای اطمینان روی 44 تنظیم شد)

نتیجه: پایداری کامل در تست بار 120 RPS و حذف کامل خطاهای 502.


جمع بندی

مشکل از PHP-FPM نیست، بلکه از کانفیگ های پیش فرض و کپی شده است. با درک صحیح مدیریت حافظه، صف ها و OPcache، می توان به عملکردی پایدار و قابل پیش بینی دست یافت.


گام بعدی: اگر ماهیت کار شما (مانند پردازش های طولانی مدت یا real-time) با معماری FPM سازگار نیست، ابزارهایی مانند RoadRunner یا Swoole را بررسی کنید.

آیا تجربه ای در زمینه خطاهای ناشی از کانفیگ نادرست PHP-FPM داشته اید؟ راه حل شما چه بوده است؟

@DevTwitter | <Farzad Forouzanfar/>
🔥15👍116👎1
کلودفلر ۱۳ سال پیش PHP رو از کد بیس‌شون حذف کردند
این هفته هم رفتند روی سرور rust بیس‌شون و همه چیز سریع‌تر و ایمن‌تر شده + پوست‌شون شفاف‌تر شده

https://blog.cloudflare.com/20-percent-internet-upgrade/

@DevTwitter | <~/mj/>
🔥547👍6
یکی از چالش‌های همیشگی برنامه‌نویس‌ها:قیمت‌گذاری پروژه‌هاست!
برای ساده‌تر شدنش، یه ابزار آنلاین ساختم که از یه نقل قول از برایان تریسی به نام «قانون ارزش ساعت» ایده گرفتم


projesanj.netlify.app

@DevTwitter | <esmaeil bahrani fard/>
👍116👎24🔥134
‏با کمک cursor یه API اوپن سورس منتشر کردم برای انجام RAG ، خیلی ساده و خیلی خیلی سریع با Bun

چیز پیچیده ای نیست. برای استفاده های ساده کار راه انداز هست. تمام پروسه RAG اتوماتیک انجام میشه.

نیاز به هیچ api key نداره کاملا لوکال با ollama و vercel ai sdk
https://github.com/xmannii/fast-rag-api

@DevTwitter | <Mani/>
18👍5👎3🔥1
معرفی یک ابزار آنلاین و رایگان برای پیدا کردن سریع‌ترین DNS متناسب با اینترنت شما:
http://dnsspeedtest.online
​این سایت به شما کمک می‌کنه بهترین گزینه رو برای اتصال سریع‌تر و پایدارتر انتخاب کنید.

@DevTwitter | <Mr.programmer/>
🔥222👍1👎1
احتمالا اسم File Pilot رو شنیدید؛ فایل اکسپلوری که زیر ۲ مگابایت حجم داره و فوق الآده سریع هست.
https://filepilot.tech

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

https://youtube.com/watch?v=bUOOaXf9qIM

@DevTwitter | <Amirreza Gh/>
👍21🔥3👎2
This media is not supported in your browser
VIEW IN TELEGRAM
یک object tracker ابتدایی با C نوشتم بدون هیچ کتابخونه پردازش تصویری فقط ffmpeg برای پارس کردن ویدیو و sdl2 برای نمایش پنجره:
لینکش در گیت‌هابم:
https://github.com/amirazarmehr/ObjectTracker

@DevTwitter | <Amirmohammad Azarmehr/>
🔥614👍2
یک کتابخونه مفید پیدا کردم برای فلاتر کارها که بخوان ui ویجت هارو تست
کنن به اسم widgetbook

کتابخونه Widgetbook چیه؟
یه ابزار اوپن‌سورس برای Flutter که بهت اجازه میده:
ویجت‌هاتو جداگانه ببینی و تست کنی
حالت‌های مختلف (UseCase) برای ویجت‌هات بسازی
روی گوشی‌ها و تم‌های مختلف (روشن/تاریک) امتحان کنی
حتی بدون اجرای کل اپ، تغییرات رو سریع ببینی

چرا به درد می‌خوره؟
- سرعتت توی توسعه بیشتر میشه
- باگ‌های UI کمتر میشه
- خیلی راحت می‌تونی به تیم یا مشتری نشون بدی یه ویجت چه شکلی میشه
https://pub.dev/packages/widgetbook

@DevTwitter | <Aref Mousavi/>
26👍8👎2🔥1
در نگاه اول async کردن یه روند بیزینسی یا فنی شاید ساده به نظر بیاد و خیلی مزیت ها داشته باشه. معماری هایی مثل event-driven هم خیلی معروف هستند و پرطرفدار
اما در واقعیت و روی مقیاس بالا چالش های مهمی هم دارند که باید بهشون توجه بشه
چالش هایی مثل observability و idempotency و حتی درک موضوع eventual consistency خودش میتونه چالش برانگیز باشه
این مقاله کوتاه نکات خوبی رو اشاره کرده در این مورد
Why are Event-Driven Systems Hard?
Understanding the Core Challenges of Asynchronous Architectures
https://newsletter.scalablethread.com/p/why-event-driven-systems-are-hard

@DevTwitter | <Hossein Nazari/>
11🔥1
پروژه TaskPire یک ابزار مدیریت وظایف است که با استفاده از React و Vite توسعه داده شده است. این ابزار با رابط کاربری ساده و روان، به شما کمک می‌کند وظایف خود را به شکلی منظم مدیریت کنید. هدف اصلی تسک پایر این است که مدیریت کارهای روزانه، پیگیری وضعیت وظایف و افزایش بهره‌وری فردی یا تیمی را آسان‌تر کند. تسک پایر بر پایه سلف هاست است.

گیت هاب:
https://github.com/Rayiumir/TaskPire

@DevTwitter | <Raymond Baghumian/>
👍146👎1🔥1