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
از اوضاع سیاسی دنیا که بوی تعفن میده سر می‌چرخانیم به تکنولوژی که گویا اوضاعش بدتره!
تنها کاری که ابر غول‌های تِک این روزا بلدن فورک VS Code و اتصالش به Claude عه.
اینم از آمازون و Cursor ای دیگر:
https://kiro.dev/blog/introducing-kiro/

@DevTwitter | <Yaser Shahi/>
👍54👎42🔥1
#لاس

هیچ GPU ای تو دنیا نمیتونه زیبایی تورو به تصویر بکشه :))

@DevTwitter
🔥144👎259👍5
‌آیا async/await همیشه مفیده؟ نه دقیقاً!
توی یکی از پروژه‌های ما با ترافیک بالا، همه‌ی endpointها به‌صورت async نوشته شده بودن.
ولی با وجود کد تمیز و async بودن کامل، سیستم دچار ThreadPool starvation شده بود و latency به‌شدت بالا رفته بود.
بررسی کردیم و دیدیم:‌ async به‌صورت blanket روی همه مسیرها اجرا شده، حتی روی عملیات‌های CPU-bound یا توی حلقه‌های ریز و پرتکرار.
حالا async ابزار خیلی خوبیه، ولی:
- روی CPU-bound = بدتر شدن عملکرد
- توی حلقه‌های tight = هزینه context switching اضافی

توصیه:
فقط عملیات‌های I/O واقعی (مثل DB, HTTP, File IO) ارزش async دارن
چی‌کار کردیم؟
؛ endpointهایی که واقعاً I/O-bound بودن، async موندن

بقیه‌ی مسیرها برگشتن به sync
و با این تغییر ساده، latency تقریباً نصف شد (بر اساس لاگ‌های واقعی)
ابزار:
من برای این تحلیل از ابزارهایی مثل MiniProfiler و لاگ‌های دقیق Serilog کمک گرفتم.
جمع‌بندی:
تجربه نشون می‌ده async فقط یه keyword نیست.
یه تصمیم مهندسیه، که اگه بی‌دلیل و همه‌جا استفاده بشه، می‌تونه قاتل performance باشه.

@DevTwitter | <Bahare Zarei/>
74👍23👎4🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
به روز رسانی بزرگ در ChatGPT:
نسخه پیشرفته شده Operator با نام ChatGPT Agent منتشر شد.

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

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

خلاصه تغییرات: تمام سرویس‌ها که قبلا جدا بودند، الان به هم وصل شدند، از جمله اپراتور، تسک‌ها و Deep Research

مهمترین تغییر، اضافه شدن نحوه فکر کردن به اجنت‌هاست. اجنت‌ها الان می‌تونن وسط هر تسک فکر کنن، تحلیل کنن، و حتی تسک رو بر اساس تحلیلشون تغییر بدن تا نتیجه بهتر شه.

هدف نهایی اینه که سرویس اجنت از قدرت تمام سرویس‌های OpenAI و تمام سرویس‌هایی که شما بهش دسترسی دادین استفاده کنه بدون هیچ تنظیمات اضافه‌ای.

@DevTwitter | <Farokh/>
26🔥9👍4
اگه با JSON سر و کار دارید، حتماً یه سری به json crack بزنید.
علاوه بر نمایش گرافیکی و قابل فهم JSON، امکاناتی مثل تبدیل بین فرمت‌ها، ساخت JSON Schema و افزونه VSCode هم داره. اوپن سورس هم هست!

http://jsoncrack.com

@DevTwitter | <Mohammad />
🔥4610👍4👎4
اگه هنوز پادکست گوش نمی‌دید، یه دنیای خفن از یادگیری، الهام گرفتن و شنیدن تجربه‌ی آدمای خلاق رو از دست دادید. من عاشق موضوعاتی مثل هوش مصنوعی و استارتاپ‌هام. ایده‌ها، سختی‌ها، آینده‌شون. امروز قسمت جدید پادکست Latent Space: The AI Engineer Podcast گوش کردم که با فاندرهای cline صحبت کردند. عالی بود. موضوعات جالبی از جمله: چرا اپن سورس MCP اینکه چرا RAG برای کد سخته و کار نمیکنه , ... را صحبت کردند. حتما گوش بدید.
podcast: https://podcasts.apple.com/us/podcast/latent-space-the-ai-engineer-podcast/id1674008350
Youtube: https://youtube.com/watch?v=uIKmG3M0X3M

@DevTwitter | <Mehdi Allahyari/>
👍30👎51🔥1
میخوای فایلی رو ایمپورت کنی اولش @ میزاری ولی بهت ارور میده؟؟؟
خب از اونجایی که من داشتم روی یک پروژه ریکت جی اس کار میکردم بعد اومدم یک فایل رو با ( روش زیر که در عکس مشخص هست منظورم با کمک @ آدرس دهی کنم ولی به مشکل میخوردم) همش ارور ارور ارور که خب مسیر رو اصلا پیدا نمیکنه و خب هی این مشکل تکرار هم میشد هرکاری میکردم.
در نهایت هم فهمیدم باید چه کنم دیگه باید داخل سه فایل زیر تغییرات رو ایجاد کنی
vite.config.ts و tsconfig.json و tsconfig.app.json
بعد از اون دیگه مسیربابی مثل فشنگ براتون کار میکنه کیف کنید دیگه.

@DevTwitter | <Abolfazl Javadinia/>
👍197🔥1
اپلیکیشن Next.js خودتون رو به یک موشک تبدیل کنید!

اپلیکیشن Next.js شما گاهی کندتر از انتظارتون عمل می‌کنه؟ نگران نباشید، این مشکل خیلی از توسعه‌دهنده‌هاست. خبر خوب اینه که Next.js ابزارهای فوق‌العاده‌ای داره تا اپلیکیشن‌تون رو به یه موشک تبدیل کنه. فقط کافیه بدونید چطور ازشون استفاده کنید!

در دنیای دیجیتال امروز، هر میلی‌ثانیه حساب می‌شه. سرعت پایین یعنی تجربه کاربری ضعیف، سئوی بدتر و از دست دادن کاربر. بیاید با هم پرفورمنس Next.js رو یک بار برای همیشه بهینه کنیم.

این شما و این چند تکنیک کلیدی:

۱. جادوی Server و Client Components رو آزاد کنید

- سلاح مخفی شما: Server Components
روی سرور رندر می‌شن و هیچ JavaScript اضافی به کاربر نمی‌فرستن. برای محتوای استاتیک و لود سریع عالی‌ان!
- با دقت از Client Components استفاده کنید
فقط برای تعاملات کاربر لازمن. تا حد امکان کوچکشون کنید و پایین درخت کامپوننت‌ها بذاریدشون.
۲. با Caching هوشمند، سرعت رو به اوج برسونید
- از کشینگ داخلی Next.js استفاده کنید تا صفحات در چند میلی‌ثانیه لود بشن.
- با تنظیم تازگی کش، همیشه محتوای به‌روز داشته باشید.
۳. با Code Splitting، بار اولیه رو سبک کنید
- کامپوننت‌های سنگین رو فقط وقتی لود کنید که کاربر بهشون نیاز داره.
- اینطوری لود اولیه مثل برق می‌شه!

@DevTwitter | <Mahdi bagheri/>
34👍4👎3🔥2
Media is too big
VIEW IN TELEGRAM
این بلاگ از کمپانی weaviate یک پروژه کاربردی هست که نشون میده با استفاده از ابزارهای زیر یک اپلیکیشن برای توصیه کردن محصولات skin care درست کنید:
- AI agent
- Custom Embedding
- Vector DB
دید خوبی بهتون میده. ابزارها وجود داره فقط باید مساله/کاربرد تعریف بشه و پیاده سازی بشه.

Blog: https://weaviate.io/blog/glowe-app

@DevTwitter | <Mehdi Allahyari/>
13🔥1
یه مینی وب اپ open-source منتشر کردم که با gemini 2.5 میتونید روی عکس ها OCR انجام بدید. فارسی هم پشتیبانی میکنه و کیفیت خوبی داره.

ساخته شده با Nextjs و vercel ai sdk اگر خواستید بهش یه سری بزنید.

لینک github
https://github.com/xmannii/gemini-ocr-nextjs

@DevTwitter | <Mani/>
41👎5👍3🔥1
تفاوت فرکانس ۲.۴ و ۵ گیگاهرتز وای‌فای


@DevTwitter | <NooshDaroo/>
63👍16👎2🔥2
تو ۳ روز اول، SmartStepper بیش از ۴۰ تا روی GitHub گرفت!
چند روز پیش SmartStepper v2 رو منتشر کردم — یه پکیج کوچک برای ساختن فرم‌های چندمرحله‌ای هوشمند در React.
خیلی زودتر از چیزی که فکر می‌کردم مورد توجه قرار گرفت و تو ۳ روز اول، به ۴۰ تا ستاره رسید.

چرا فکر می‌کنم این اتفاق مهمه؟
- چون جامعه توسعه‌دهنده‌ ها به یه مشکل جدی در فرم‌های چندمرحله‌ای واکنش نشون دادن:
پیچیدگی مدیریت مرحله‌ها، اعتبارسنجی‌ها، و جداسازی UI از logic.
- چون باعث شد بفهمم حتی یه ابزار ساده، اگه درست طراحی بشه و نیاز واقعی رو حل کنه، می‌تونه دیده بشه.
- و چون بهم انگیزه داد که مسیر اوپن‌سورس رو جدی‌تر دنبال کنم.
این SmartStepper یه کانفیگ مرکزی می‌گیره که orchestration، validation و view رو کنترل می‌کنه.

سورس‌کد:
https://github.com/Miladxsar23/smartstepper
دمو:
https://codesandbox.io/p/sandbox/g8g8c7

@DevTwitter | <Milad Shirian/>
30👍8🔥1
چطور در معماری میکروسرویس، از ناهماهنگی بین دیتابیس و Message Broker جلوگیری کنیم؟
یکی از چالش‌های رایج در میکروسرویس‌ها، تضمین هماهنگی داده (Data Consistency) بین عملیات دیتابیس و ارسال پیام (Event) است.

سناریوی آشنای مشکل‌ساز:
سرویس سفارش (Order) را در نظر بگیرید:
1. سفارش جدید در دیتابیس ذخیره می‌شود. (موفق)
2. قرار است یک رویداد OrderCreated به Kafka یا RabbitMQ ارسال شود تا سرویس نوتیفیکیشن به کاربر ایمیل بزند. (ناموفق)

نتیجه: سفارش در سیستم ثبت شده، اما به دلیل قطعی موقت در Message Broker، ایمیل تأیید هرگز ارسال نمی‌شود! این یعنی یک ناهماهنگی جدی در سیستم.

راه‌حل: الگوی Outbox Pattern
الگوی Outbox یک راه‌حل زیبا و قابل اعتماد برای این مشکل است. به جای ارسال مستقیم پیام، آن را در یک جدول به نام outbox در همان دیتابیس و داخل همان تراکنش ذخیره می‌کنیم.
چرا این روش کار می‌کند؟
چون ذخیره سفارش و ذخیره پیام در جدول `outbox`، هر دو در یک تراکنش اتمیک (Atomic Transaction) انجام می‌شوند. این یعنی یا هر دو با هم موفق می‌شوند یا هر دو با هم شکست می‌خورند. به این ترتیب، هیچ رویدادی گم نخواهد شد!
سپس، یک پردازشگر پس‌زمینه (Message Relay) مسئول خواندن پیام‌ها از جدول outbox و ارسال مطمئن آن‌ها به Message Broker است.

من یک پیاده‌سازی تقریبا کاملی از این الگو انجام داده‌ام
میتونید در پروژه خودتون استفاده کنید. اگر پیشنهادی در راستای کامل تر شدنش دارید خوشحال میشم در میان بذارید.

مشاهده پروژه در گیت‌هاب:
https://github.com/mahdim1000/templates-spring-outbox-pattern


@DevTwitter | <Mahdi M./>
👍158👎5🔥2
مدتیه که bun.js داره به من علاقه نشون میده.
منم بهش علاقه نشون دادم:
https://github.com/alirezaopmc/bun-biome-typedi-template

اگه شما هم خواستید بیاید عشق بورزید

@DevTwitter | <Alireza ♪/>
18👎9🔥1
شروع یک پروژه Go همیشه با یک سؤال مهم همراهه:
ساختار پروژه‌ رو چطور طراحی کنیم؟
یکی از چالش‌های اولیه در پروژه‌های گولنگ، انتخاب یک ساختار ماژولار، خوانا و مقیاس‌پذیره. الکس ادواردز در مقاله‌ی زیر، ۱۱ نکته کاربردی برای ساختاردهی پروژه‌های Go مطرح کرده که خوندنش میتونه توی این مورد بهمون کمک کنه:
https://www.alexedwards.net/blog/11-tips-for-structuring-your-go-projects


@DevTwitter | <Abbas Pourhadi/>
👍188
آسوم لیستای گیتهاب خیلی خوبن، مثلا این لیست کاملی از ابزارای AI، هم کمک میکنه ابزارای خوبی برای کاراتون پیدا کنید و هم کلی ایده برای پیاده سازی یک ای آی تولز به عنوان ساید هاسل ممکنه پیدا کنید

https://github.com/mahseema/awesome-ai-tools

@DevTwitter | <از ژاپن برگشته/>
👍165
این چند وقته با تحریم خیلی مشکل داشتم، یه ابزار کوچیک نوشتم توش dns هایی که تونستم واسه رفع تحریم پیدا کنم رو گذاشتم که اتوماتیک بینشون میتونین سویچ کنین. اگه خواستین میتونین استفاده کنین
https://github.com/itpourya/beshkan

@DevTwitter | <پوریا/>
37👍6🔥2
یک اسکریپت پیدا کردم که قابلیت ساخت Appimage از بسته‌های نصب شده آرچ رو به شما میده، این اسکریپت در مواقع قطعی اینترنت بین‌الملل می‌تونه برای افراد کاربردی باشه که بتونن برنامه‌هایی که نصب داشتن رو با بقیه به عنوان یک بسته Appimage به اشتراک بذارن.
https://github.com/ivan-hc/Arch-Deployer

@DevTwitter | <Sohrab Behdani/>
👍17👎91
اگر به مباحث یادگیری تقویتی تو مدل‌های زبانی علاقه‌دارید، دوره زیر از دانشگاه UCLA رو از دست ندید.

https://youtube.com/playlist?list=PLir0BWtR5vRp5dqaouyMU-oTSzaU5LK9r&si=bGoBe0-FCmbRa34f

@DevTwitter | <Reza Jafari/>
👍85👎1
خوشحالم که افزونه کوچک اما کاربردی که آماده کردم رو معرفی کنم
افزونه بررسی امنیت وردپرس آریا
هدف این افزونه شناسایی سریع مشکلات امنیتی با گزارش ساده و کاربردی هست.
قطعا تمام موارد امنیتی که در وبینار امنیت وردپرسم در آکادمی منظم اشاره کردم بررسی نمیشه

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

برخی از موارد که در این افزونه بررسی میشه :

- هسته وردپرس:
دسترسی به wp-login.php، wp-admin، حساب "admin"، پیشوند پایگاه داده، HTTPS، تعداد مدیران، افزونه محدودکننده ورود، و xmlrpc.php. 

- فایل‌ها:
دسترسی به فایل‌های حساس (wp-config.php، readme.html)، مکان و سطح دسترسی فایل‌ها، اجرای PHP در uploads و wp-includes.
 
- دایرکتوری‌ها:
فهرست‌بندی (Directory Listing) در wp-content، themes، plugins و uploads، و وجود index.php.

- تنظیمات:
ویرایشگر فایل‌ها، حالت دیباگ، لاگ دیباگ، WP_CRON، مسیر uploads، نسخه PHP، و افشای داده‌های REST API. 

در مورد نحوه انتشارش هنوز تصمیم نگرفتم ؛ شاید بزودی از مخزن وردپرس منتشر بشه .


@DevTwitter | <Armin Jamali | آرمین جمالی/>
1👍23👎206🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
یک مطلب آموزشی جدید درست کردم راجع به context engineering. اینکه چی هست، تفاوتش با prompt engineering چیه، و چطور کار میکنه. ویدیو هم چند روز دیگه آپلود میشه.
Slides: https://docs.google.com/presentation/d/18PpX6rrwRSz82bP0mmNJ8BOfcjQ6Z-Paf_d40e0Eyis/edit

@DevTwitter | <Mehdi Allahyari/>
15👎1