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
پروژه چت بات با Next.js و مدل Groq

سلام دوستان!
مدتی بود دوست داشتم از دید ریکت و نکست دقیق‌تر بفهمم ارتباط اپ‌های وب با مدل‌های هوش مصنوعی چطور برقرار میشه؛ مخصوصاً بحث Streaming response که تجربه‌ی کاربر رو شبیه ChatGPT می‌کنه.
برای تمرین، یه چت‌بات ساده ساختم با:
Next.js (App Router)
AI SDK
Groq API
مدل llama-3.1-8b-instant
نتیجه یه دمو‌ی آنلاین سبک و سریع شد که latency خیلی کمی داره
لینک آنلاین:
https://next-chatbot-beta.vercel.app/
لینک ریپازیتوری:
https://github.com/Reza-Rayan/next-chatbot

یادتون باشه موقع استفاده حتما VPN رو روشن کنید.

@DevTwitter | <Reza ‌Hosseinzade/>
25🍌18👎4👍1
اگه کارتون به زمان‌بندی، برنامه‌ریزی یا بهینه‌سازی گیر کرده… Google OR-Tools می‌تونه ناجی‌تون باشه!

یک کتابخونه‌ی متن‌باز از گوگله که برای حل مسائل سختی مثل:

- زمان‌بندی شیفت‌ها
- برنامه‌ریزی تولید
- تخصیص منابع
- طراحی مسیرهای بهینه (TSP/VRP)

خیلی عالی جواب می‌ده.

چیزی که جذابش می‌کنه CP-SAT Solverشه؛ هم سریع کار می‌کنه هم با مسائل پیچیده راحت کنار میاد.

چرا سراغش برید؟
- وقتی چندتا کار، چندتا محدودیت و چندتا آدم/ماشین دارید و نمی‌دونید چطور همه رو هماهنگ کنید
- وقتی می‌خواید بهترین برنامه ممکن رو با کمترین خطا و بیشترین بازده داشته باشید
- وقتی داده‌محور تصمیم می‌گیرید و دنبال راه‌حل «بهینه» هستید

رایگانه، با Python خیلی راحت کار می‌کنه و برای پروژه‌های واقعی هم کاملاً کاربردیه.

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

اگه خواستید یادش بگیرید این یه منبع خوبه:
https://d-krupke.github.io/cpsat-primer/00_intro.html

ORTools Optimization Scheduling Google Python OperationsResearch

@DevTwitter | <Ali Baghernia/>
🔥165
چطور فشار روی cpu رو محاسبه می کنیم ؟؟

یه مفهومی به اسم load داریم که با دستور uptime و یا مستقیم از
/proc/loadavg
میشه اون رو دید توی لینوکس 3 نوع load رو گزارش میده به ترتیب از چپ در یک دقیقه اخیر، پنج دقیقه اخیر و پانزده دقیقه اخیر
اما این load چیه؟ فرض کنین یه cpu یک هسته ای داریم load اگه صفر باشه یعنی cpu بیکاره و تا عدد 1 میزان کار اون رو نشون میده.
اگه عدد بیشتر از 1 باشه مثلا 1.65 یعنی cpu مقدار 65% از کاراش توی صف هستند و اگه 5.5 باشه یعنی 450% از کار هاش توی صف هستند.
اما کامپیوتر های الان cpu های بیش از یه هسته دارن مثلا برای یه cpu هشت هسته ای اگه load avg برابر 12 باشه 50% کار ها در صف هستن و اگه زیر 8 باشه یعنی هیچ کار در صفی نداره (درواقع load رو باید بر تعداد هسته ها تقسیم کرد)
مثل تصویر میتونین با دستور lscpu اطلاعات cpu خودتون رو بدست بیارین عکس یه cpu چهار هسته ای رو نشون میده که هشتا ترد داره (از دید کامپیوتر ترد ها هرکدام مانند یک cpu جدا هستن پس ملاک ما عدد 8 هست نه 4، انگار این کامپوتر هشتا cpu داره )

@DevTwitter | <Mahdi Bagheri/>
23👍7🔥2🍌2
سلام و دورد
امروز یه ربات تلگرام با nodejs نوشتم به در خواست تیم مارکتینگ برای اعضای کانال تلگرامی شرکت که خیلی خیلی ساده اس و کاربران فقط میزنن روی قرعه کشی و آیدیشون ثبت میشه برای قرعه کشی و اعلام برنده
و اینکه به ادمین هم امکان خروجی فایل csvمیده تا اسامی رو داشته باشه

لینکشو میذارم دوست داشتید استفاده کنید و خیلی خوشحال میشم اگر فیچری هم مد نظرتون هست بهش اضافه کنم

https://github.com/iamir4g/raffleBot

@DevTwitter | <Amir Farahani/>
🍌4011👍5👎1
در زبان Go مفهومی به نام Goroutine وجود دارد اما Goroutine چیست؟

اول باید بگم که زبان go برعکس زبان جاوااسکریپت و تایپ‌اسکریپت مفهموم Concurrency (همزمانی) را به صورت کاملا واقعی در CPU اجرا میکند در حالی که جاوااسکریپت و تایپ‌اسکریپت اینکار را فقط شبیه‌سازی می‌کنند و یکی از دلایل سرعت بالای این زبان همین امر است

یعنی go میتونه دستورات رو در Thread های مختلف CPU به صورت کاملا واقعی اجرا کنه

حالا بریم سراغ مفهوم Goroutine

بخوام به ساده‌ترین شکل ممکن بگم کارش برعکس async/await در زبان جاوااسکریپت هست (البته فقط در ظاهر)

گوروتین میتونه تابع و دستور مورد نظر مارو در یک Thread متفاوت اجرا کنه تا مابقی کد ما متوقف نشه و سایر کدهای ما همزمان اجرا بشه و برنامه منتظر نمونه

یعنی وقتی یه تابعی داریم که زمانبر هست و ما نیازی به خروجی اون تابع در ادامه کد نداریم (مثل لاگ انداختن) از گوروتین استفاده میکنیم تا کل برنامه منتظر اتمام اون تابع نشه

(در عکس یه مثال ساده از گوروتین رو براتون آوردم)

@DevTwitter | <sina khaghani/>
39👍6🔥3👎2
This media is not supported in your browser
VIEW IN TELEGRAM
اگه زیاد از terminal CLI استفاده میکنید مثل من و میخواهید فایلهای اکسل را بخونید و یا سرچ کنید و .. این ابزار خیلی عالیه. خیلی خوشگل و مرتب فایل ها را نشون میده، امکان سرچ و کپی داره و کلی فیچر دیگه. گیتهابشون را چک کنید.
https://github.com/bgreenwell/xleak/

@DevTwitter | <Mehdi Allahyari/>
12🔥3👎1
داستان خلق Node.js — جایی که یک نارضایتی ساده تبدیل به انقلاب شد

سال ۲۰۰۹، «رایان دال» پشت لپ‌تاپش نشسته بود و به یک ویدیو ساده در وب فکر می‌کرد:
چرا هنوز مرورگرها نمی‌توانند یک فایل را کاملاً غیرهمزمان آپلود کنند؟
چرا برای کوچک‌ترین عملیات I/O باید کل برنامه منتظر بماند؟
و چرا زبان‌های سمت سرور هنوز این‌قدر سنگین و بلاک‌کننده کار می‌کنند؟

این سؤال‌ها شاید پیش‌پاافتاده به‌نظر برسند، اما برای دال تبدیل شدند به جرقه یک تغییر بزرگ.

در آن زمان، بیشتر زبان‌های سمت سرور مانند PHP، Python یا Ruby یک مشکل مشترک داشتند:
هر درخواست، یک Thread. هر Thread، حافظه زیاد. و هر برنامه، یک سقف محدود برای مقیاس‌پذیری.

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

دال به‌جای اینکه مشکل را با سخت‌افزار بیشتر حل کند، از خودش پرسید:
اگر بتوانیم مدل سرور را مثل مرورگر طراحی کنیم چه؟
جایی که همه‌چیز Event-Driven باشد، بدون بلاک شدن، بدون Threadهای سنگین.

و این‌طور شد که یک ایده جسورانه شکل گرفت:
ساخت یک Runtime سبک، سریع، مبتنی بر event loop، و توانمند در مدیریت هزاران اتصال همزمان.

جاوااسکریپت انتخاب شد، نه به خاطر اینکه بهترین زبان جهان بود،
بلکه به‌خاطر اینکه یک ویژگی حیاتی داشت:
تک‌ رشته‌ای (Single-threaded) بودن و مدل رویداد محور طبیعی.

نتیجه؟
در JSConf اروپا، دال برای اولین بار چیزی را معرفی کرد که صنعت وب را تکان داد:
Node.js

با ارائه‌ی مفهومی جدید از ساخت Back-end —
جایی که شبکه‌سازی، I/O، و اجرای همزمان،
بدون Threadهای سنگین
و با سرعت باورنکردنی قابل انجام بود.

ابزار Node.js به سرعت از یک تجربه آزمایشگاهی تبدیل شد به ابزاری که امروز موتور بسیاری از شرکت‌های بزرگ دنیاست: Netflix، Uber، PayPal، LinkedIn و ده‌ها نام دیگر.

این داستان از این جهت الهام‌بخش است که نشان می‌دهد:
گاهی یک نارضایتی ساده در ذهن یک برنامه‌نویس،
می‌تواند آینده‌ی یک صنعت را تغییر دهد.

@DevTwitter | <Ali Yousefi/>
157👎10🍌8👍4
This media is not supported in your browser
VIEW IN TELEGRAM
وقتی با مدلهای LLM و سیستم های ایجنتیک کار میکنید یکی از مهمترین کارهایی که باید انجام بدید/بنظرم مهمترین کار اینه که پرفورمنس سیستم را ارزیابی کنید یا به اصطلاح evaluation انجام بدید. اگه بدون evaluation ایجنت میسازید به هیچ دردی نمیخوره!
این منبع ارزشمند/۵۰ صفحه مطلب را حتما بخونید.
Link: https://huggingface.co/spaces/OpenEvals/evaluation-guidebook#what-is-model-evaluation-about

@DevTwitter | <Mehdi Allahyari/>
13👍2🔥1
نرم‌افزار Scrcpy یک ابزار کاربردی شاهکار برای کنترل گوشی اندروید از روی کامپیوتر.
سبکه، بدون نصب اضافی، و کنترل کامل دستگاه رو میده، از صفحه و صدا گرفته تا کیبورد و موس.
میتوان ازش برای Screen Sharing، ضبط ویدیو/صدا، یا به‌عنوان Webcam هم استفاده کرد.

https://github.com/Genymobile/scrcpy

@DevTwitter | <Mohammad/>
👍199🔥1
تم درست کردم برای Vs Code فقط طیف رنگی آبی و سفید که بیشتر برای ++C/C استفاده بشه بهتر است.
مینیمال و زیباست، اگر دوست داشتید استار دهید و حمایت کنید.
https://github.com/Ho3seinTork/blue-spectrum-color-theme.git

@DevTwitter | <Diss Obedience/>
137👎28🍌14👍2
خیلی وقت پیش یه Prometheus Exporter نوشته بودم برای بازی های لیگ برتر فوتبال :)))

دستی بهش کشیدم و پابلیکش کردم
برای کسایی که هر سوراخی رو مانیتور میکنن
https://github.com/hatamiarash7/iranleague-exporter

@DevTwitter | <Arash Hatami/>
🍌22👍62
لینوس اینجا چند تا چیز جالب میگه
یکیش اینه که من حوصله سربر بودن و یکنواخت بودن رو بیشتر از داشتن ایده های خط شکن و به دردسر انداختن میلیونها کاربر دوست دارم.

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

https://www.youtube.com/watch?v=tWx769t1JKg

@DevTwitter | <Navid Shokri/>
🔥37👍114🍌1
سلام،
دیروز یه اتفاق خیلی باحال افتاد، پلاگینی که نوشتم رسماً توی kubernetes-sigs/krew-index مرج شد

اسمش kubectl-edit-secretـه و ایده‌ش هم از یه درد واقعی شروع شد.
چند روز پیش Hossein AliHosseini گفت:
«آقا این پلاگین view-secret (که من خودمم قبلاً تو لینکدین معرفی کردم) چقدر باحاله که Secret رو decode می‌کنه و بی‌دردسر نشون میده، خب بیا یه نسخه editـش رو هم بزنیم»

راست هم می‌گفت.
هر بار برای ادیت کردن یه Secret باید base64 رو decode کنی، تغییر بدی، دوباره encode کنی، apply بزنی… و همیشه هم احتمال اشتباه هست.

حالا با این پلاگین می‌تونی Secret رو به صورت متن واقعی و decode‌شده ادیت کنی.
خودش Secret رو می‌گیره، تمام فیلدها رو decode می‌کنه، توی ادیتور باز می‌کنه، و بعد از سیو دوباره encode و apply می‌کنه.

یعنی عملاً فقط:

kubectl edit-secret my-secret

و تمام. دیگه با base64 کاری نداری.

از طریق Krew هم قابل نصبه:

kubectl krew install edit-secret

اگر دوست دارید کدش رو ببینید یا مشارکت کنید:
https://github.com/BardiaYaghmaie/kubectl-edit-secret


@DevTwitter | <Bardia Yaghmaie/>
27👎6👍4🔥2
آسیب پذیری بحرانی React و Next.js با CVE-2025-55182 با شدت ۱۰ منتشر شد!
مهاجم با استفاده از RSC میتواند کد دلخواه را بر روی سرور اجرا کند.
نسخه های Patch شده به شرح زیر است :
16.0.7, 15.5.7, 15.4.8, 15.3.6, 15.2.6, 15.1.9, 15.0.5
لطفا سریعا به روز رسانی کنید و دوستان خود را مطلع کنید.
https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components

@DevTwitter | <Ali Saleh/>
👍27🍌5🔥32
This media is not supported in your browser
VIEW IN TELEGRAM
یک اپ جالب پیدا کردم که شبیه اپ System Design Visualizer هست که چند روز پیش درست کردم. این اپ مستقیم توی draw .io دیاگرام ها را میکشه. امتحانش کردم خالی خوبه. اگه مثل من باید زیاد طراحی سیستم انجام بدید میدونید که دستی کشیدن طول میکشه. الان دیگه زحمتش چند برابر کمتر میشه. حتما امتحانش کنید. ورژنی که من درست کردم هم جا برای فیچر اضافه کردن داره اگه دوست داشتید PR بدید. لینک این اپ جدید:
https://github.com/DayuanJiang/next-ai-draw-io
لینک اپ خودم:
https://github.com/mallahyari/system-design-visualizer

@DevTwitter | <Mehdi Allahyari/>
1🔥144👍2🍌1
صحبت های Theprimeagenدرباره دلایل خرید Bun توسط Anthropic و اینکه چرا بحث حذف مهندسی نرم افزار توهمی بیش نیست چون آنتروپیک میتونست پروژه رو خودش کلون بکنه و با Claude Code توسعه بده ولی میلیون ها دلار هزینه کرد تا آدم های متخصص اون حوزه رو استخدام بکنه!

https://www.youtube.com/watch?v=Te2I2muO-4c

@DevTwitter | <Max Shahdoost/>
👍56👎53🔥1
لطفا اگر وقت کردید از این صفحه گیت هاب من ویزیت کنید. در مورد امنیت سایبری نوشتم.

https://github.com/Tally-Hawk/CSA-Guide

@DevTwitter | <آرش میرمغیثی/>
🍌3214👍5🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
یک مجموعه کامل از توتوریال و مطلب آموزشی راجع به fine tune کردن انواع مدلهای LLM و VLM را کمپانی HuggingFace گذاشته که عالی اند. از مبتدی گرفته تا پیشرفته!
Link: https://huggingface.co/docs/trl/main/en/example_overview

@DevTwitter | <Mehdi Allahyari/>
10🔥2
برای استفاده رایگان از مدل Z-Image-Turbo میتونید از لینک زیر بصورت رایگان استفاده کنید

https://huggingface.co/spaces/mrfakename/Z-Image-Turbo

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

@DevTwitter | <POURYA/>
13👍1🔥1
Why FastAPI Became the Go-To Choice for Modern Python APIs ?

یه تیم توسعه توی یکی از پروژه‌هاش تصمیم گرفت به‌جای Flask از FastAPI استفاده کنه.
نتیجه؟ کار سریع‌تر، تمیزتر و خیلی روان‌تر از انتظارشون پیش رفت.

توی تجربه‌شون به این نتایج رسیدن:

سرعت بالا در توسعه:
اندپوینت‌ها با کمترین کد و بیشترین خوانایی ساخته می‌شدن.

اجرای async واقعاً کمک کرد:
توی بخش‌های I/O-bound، سرعت پاسخ‌دهی بهتر شد و لگ‌ها کمتر شدن.

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

کتابخونه Pydantic کار رو امن‌تر و مرتب‌تر کرد:
اعتبارسنجی داده‌ها دقیق، سریع و بدون دردسر انجام می‌شد.

تجربه این تیم نشون داد FastAPI برای ساخت APIهای سبک، مدرن و سریع، یک انتخاب هوشمندانه و دوست‌داشتنیه — مخصوصاً وقتی سرعت، سادگی و تمیزی کد اهمیت داشته باشه.

@DevTwitter | <MohammadReza RabieZadeh/>
👍40🍌65👎1
تابع Throttle چیه و چرا انقدر مهمه؟

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

مثلاً کاربر اسکرول می‌کنه. حتی اگه در یک ثانیه ۱۰۰ بار اسکرول اتفاق بیفته، تابع فقط هر ۲۰۰ میلی‌ثانیه یک‌بار اجرا میشه.

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


@DevTwitter | <Reza Shorche/>
👍375👎1🔥1