DevTwitter | توییت برنامه نویسی
30.3K subscribers
5K photos
394 videos
6 files
4.79K links
توییت های برنامه نویسی و طراحی وب :)

@dvtwi

Hashtags:
devtwitter.t.me/5

DevBooks Channel:
https://xn--r1a.website/+AYbOl75CLNYxY2U0

Github:
https://github.com/DevTwitter

X:
https://x.com/devtwittir
Download Telegram
اگه به داستان‌های استارت‌اپ ها علاقه‌مندین، حتما این سایت رو چک کنین.
ماجرای استارت‌اپ های شات دان شده رو میگه و آنالیزشون میکنه.

https://www.failory.com/

@DevTwitter | <Black State/>
27👍7
سال‌هاست برای جستجوهای پیچیده در APIها یک مشکل وجود دارد:
با GET باید همه فیلترها را داخل URL قرار دهیم. اگر تعداد فیلترها زیاد شود، URL هم طولانی و ناخوانا می‌شود و حتی ممکن است به محدودیت طول URL بخوریم.
از طرف دیگر، استفاده از POST هم از نظر مفهوم درست نیست؛ چون قرار نیست داده‌ای ایجاد یا ویرایش شود، فقط می‌خواهیم اطلاعات را بخوانیم.
به همین دلیل متد جدید QUERY به HTTP اضافه شده است.

با QUERY می‌توان درخواست‌های جستجوی پیچیده را داخل Body ارسال کرد، بدون اینکه مفهوم "درخواست فقط برای خواندن داده" از بین برود.
فعلاً تا پشتیبانی کامل مرورگرها، سرورها و فریم‌ورک‌ها زمان مانده، اما به نظرم این یکی از منطقی‌ترین تغییراتی است که بعد از سال‌ها به HTTP اضافه شده است.

@DevTwitter | <Mohammad Hosseini/>
60👍13🍌1
دیگه فک میکنم پروژه ای که 3 سال پیش به نام c_std شروع کردم . به بلوغ و بزرگی کامل رسیده . اینقدری شده که یه توسعه دهنده تو زبان C بتونه ازش بدون نگرانی استفاده کنه .

سورس : https://github.com/KaisenAmin/c_std

اگه بخوام بعضی از قابلیت هاشو بگم به همین چند مورد بسنده میکنم :

1 - از بخش بزرگی از کتابخونه‌ی استاندارد C++ STL (مثل کانتینرها، الگوریتم‌ها، Smart Pointerها و ...) به‌همراه مجموعه‌ای از ابزارهای الهام‌گرفته از کتابخونه‌ی استاندارد Python (مثل statistics، random، json، regex و ...) هست؛ همه‌چیز بدون خارج شدن از اکوسیستم C.

2 - تمام ماژول‌ها و مثال‌ها با Valgrind تست شدن:0 Leak و 0 Error
3 - قابل کامپایل و اجرا روی Windows (MSVC و MinGW) و Linux (GCC و Clang)
4 - بیش از ۴۰ ماژول؛ از vector و hashmap گرفته تا JSON، شبکه (TCP / UDP / HTTP)، رمزنگاری، JWT
5 - و APIهایی آشنا، با الهام از STL در ++C و کتابخونه‌ی استاندارد Python
6 - برنامه نویسی گرافیک با استفاده از ماژول هایی مثل Plot, Turtle با کمک raylib
7 - دسترسی به اطلاعات سخت افزار با کتابخانه هایی مثل sysinfo

@DevTwitter | <amin tahmasebi/>
🔥8114🍌11
علی‌بابا پروژه متن‌بازی به نام Page-Agent منتشر کرده که با یک اسکریپت ساده، یک Agent هوش مصنوعی را مستقیماً داخل صفحات وب قرار می‌دهد برخلاف بسیاری از Browser Agentها به جای اسکرین‌شات و Computer Vision مستقیماً با DOM صفحه کار می‌کند

https://github.com/alibaba/page-agent

@DevTwitter | <Davinchi/>
👍37👎2🍌2
یه مهندس گوگل، یه ابزار خیلی کاربردی ساخت به اسم gws؛ یه command line tool که کل Google Workspace (جیمیل، درایو، کلندر، شیت، داکس) رو از طریق ترمینال قابل مدیریت می‌کرد، بدون نیاز به باز کردن مرورگر.

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

بعدش ماجرا عجیب‌تر شد:

فقط دو روز قبل از اینکه این مهندس اخراج بشه، خود گوگل رسماً نسخه اختصاصی خودش از این CLI رو تو یه کنفرانس بزرگ (با بیش از ۳۲ هزار شرکت‌کننده) معرفی کرد!

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

https://explainx.ai/blog/google-fires-engineer-workspace-cli-viral-hacker-news-2026

https://github.com/googleworkspace/cli

@DevTwitter | <^mad/>
🍌30💔158
چند وقت پیش تو یه مصاحبه کاری، یه سوال پرسیدن که کاملاً جا خوردم: "با gRPC کار کردی؟"

با صداقت گفتم: "نه، اصلاً نمی‌دونم چیه." یه لحظه سکوت... و از اون مصاحبه که بیرون اومدم یه چیزی تو ذهنم قفل شده بود: "باید بفهمم این چیه."

اون حس ناراحت‌کننده‌ی «ندونستن» تو یه مصاحبه، شد یکی از بهترین موتورهای یادگیریم. رفتم سراغ مطالعه‌ی عمیق gRPC، از مشکلات REST و HTTP/1.1 شروع کردم، تا رسیدم به Protobuf، HTTP/2 Multiplexing، و انواع Streaming Pattern هاش.

چیزی که خودم رو غافلگیر کرد این بود که gRPC-Web (نسخه‌ی قابل‌استفاده تو مرورگر) نمی‌تونه مستقیم به یه gRPC server وصل شه چون مرورگرها کنترل کامل روی HTTP/2 frame ها ندارن، همیشه یه proxy (مثل Envoy) لازمه. فکر می‌کردم gRPC همه‌جا یکسان کار می‌کنه، ولی این محدودیت نشونم داد که چقدر context بین "backend-to-backend" و "browser-to-backend" فرق داره.


نتیجه‌ش شده این "gRPC Blueprint" که دومین پست از سری آموزشی‌مه

توش می‌بینید:
- چرا REST رو HTTP/1.1 با Head-of-Line Blocking دست‌وپاگیر می‌شه
- سه رکن اصلی gRPC که باعث سرعت و کارایی‌ش می‌شن
- مقایسه‌ی صادقانه‌ی REST vs gRPC vs WebSocket کدوم کجا برنده‌س
- جایی که gRPC واقعاً می‌درخشه (Microservices، سیستم‌های Real-time، محیط‌های Polyglot)

@DevTwitter | <shaghayegh Ayoubi/>
👍3812👎6
معماری پنهان کشینگ در دیجی‌کالا؛ از CDN تا کنترل موجودی


مدت ها قبل روی یک اپلیکیشن مارکت‌پلیس کار می‌کردم، خیلی از مسئله‌های پرفورمنس برام فقط در حد «کند شدن چند صفحه» یا «زیاد شدن فشار روی دیتابیس» دیده می‌شد.
بعدتر فهمیدم پشت همین مسئله‌های ظاهرا ساده، موضوع‌های مهم‌تری وجود داره:
کش شدن اشتباه لیست محصولات، قیمت‌های قدیمی، موجودی ناهماهنگ، فیلترهای سنگین، فشار روی جستجو، Hot Key، ابطال کش، و سناریوهایی مثل فروش شگفت انگیز که می‌تونن کل طراحی سیستم را به چالش بکشن.
برای همین یک مقاله نوشتم درباره معماری کشینگ در پلتفرم‌های بزرگی مثل دیجی کالا ؛ با تمرکز روی چیزهایی مثل CDN، کش API، کش جستجو، جدا کردن بخش‌های صفحه محصول، ابطال کش، کنترل قیمت و موجودی، و مدیریت فشار در مقیاس بالا.
کشینگ فقط سریع‌تر کردن صفحه‌ها نیست. در مارکت‌پلیس‌ها، بخشی از اعتماد، پایداری و معماری محصول است.

لینک مقاله


@DevTwitter | <Afshin Yarinia/>
👍39🍌19👎1
یه مخزن (Repository) در GitHub همه‌ی سرویس‌های هوش مصنوعی که برای همیشه رایگانن رو یه جا لیست کرده:
سقف مصرف هر کدوم، جزئیات راه‌اندازی، و سازگاری با ابزارهای مختلف.
پستش ۷۴ هزار بازدید گرفت.
قبل از خرید اشتراک برای هر ابزار، اول نسخه‌ی رایگانش رو پیدا کن.
ذخیره کن.
https://github.com/cheahjs/free-llm-api-resources

@DevTwitter | <Navid Taheri/>
👍268👎1
ابزار dir2txt یه ابزار ساده‌ست که کل پروژه‌تون رو توی یک فایل متنی خروجی می‌گیره. مناسب برای استفاده با LLMها، کد ریویو یا بکاپ گرفتن از کدها. با یه دستور python -m dir2txt کل پروژه اسکن میشه، فایل‌های باینری حذف میشن، از .dir2txtignore پشتیبانی میکنه و حتی تعداد توکن‌ها رو تخمین می‌زنه فقط پایتون نیاز داره و هیچ وابستگی ای نداره.

https://github.com/unikOne56/dir2txt

@DevTwitter | <Vahid/>
🔥31🍌4👎1
فرمت Toon یک روش فشرده و بهینه برای نمایش داده‌های JSON است که به طور خاص برای ورودی به مدل‌های زبانی (LLMs) طراحی شده است. این فرمت با ترکیب ساختار تورفتگی‌محور (مشابه YAML) و چیدمان جدولی (مشابه CSV)، تعداد توکن‌ها را کاهش داده و درک ساختار داده را برای مدل‌ها ساده‌تر می‌کند.

پروژه CToon پیاده‌سازی اصلی و سریع‌ترین نسخه از این فرمت است که به عنوان هسته مرکزی برای چندین زبان برنامه‌نویسی عمل می‌کند. ویژگی‌های کلیدی آن عبارتند از:

* پشتیبانی از زبان‌های مختلف: شامل C، C++، Python، Go و Matlab.
* سرعت بالا: تمام زبان‌ها از یک هسته C/C++ مشترک و بهینه استفاده می‌کنند.
* یکپارچگی: تغییرات در هسته اصلی به طور خودکار در تمام Bindings اعمال می‌شود.
* کیفیت تضمین شده: دارای تست‌های کامل و مستندات دقیق.

مخزن پروژه:
github.com/mohammadraziei/ctoon

استفاده و حمایت از این پروژه به توسعه و بهبود فرمت Toon کمک می‌کند.

@DevTwitter | <Mohammad Raziei/>
🔥244👍3
تا حالا شده یک فیچر بزنید که کل دیتاش لود شده، ولی تا کاربر یک چیزی سرچ می‌کنه یا فیلتر رو تغییر میده، صفحه برای چند ثانیه Freeze میشه؟ Spinnerها قفل می‌کنند، Inputها لگ می‌زنند و کلاً Application حس سنگینی میده.

برای حل این چالش، سراغ یک تغییر معماری جالب توی فرانت‌اند رفتم تا پردازش‌های سنگین محاسباتی را کاملاً بفرستم توی Background. اینطوری Main Thread کاملا آزاد موند تا بدون حتی یک فریم افت کیفیت، به کارش ادامه بده و UI مثل روز اول روان شد.

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

Demo: https://webworker-vs-main-thread.netlify.app/
Github: https://github.com/MiladSadeghi/webworker-vs-main-thread

https://www.linkedin.com/pulse/main-thread-vs-web-workers-milad-sadeghi-hqbie/

@DevTwitter | <Milad Sadeghi/>
28👍9🍌8
هایپ MCP دیگه از بین رفته و کامیونیتی داره میره سمت استفاده از ابزارهای CLI و یکی از بزرگترین دلایلش مصرف توکن کمتر به واسطه کامندهایی مثل grep، jq، pipe، tail و... هست چون دیگه نیاز نیست کل متن یا فایل خونده بشه!

۱. کامند grep که برای جستجوی یه کلمه خاص تو متن استفاده میشه. وقتی agent این کامند رو ران میکنه، فقط لاین‌هایی رو میبینه که اون کلمه یا regex داخلشون هست!

۲. کامند jq: فیلتر کردن بر اساس یک فیلد یا ساختار schema از فایل json، مثلا این کامند فقط فیلد name رو از این json میکشه بیرون:
cat data.json | jq '.name'

۳. کامند tail برای دیدن انتهای فایل خصوصا log ها زیاد استفاده میشه. به صورت پیش‌فرض ۱۰ تا خط آخر رو برمیگردونه ولی میشه با فلگ -n بهش عدد دلخواه داد:
tail -n 50 app.log

۴. پایپ pipe() که باحال‌ترینشه، خروجی یک دستور رو مستقیم به ورودی دستور بعدی می‌فرسته که قابلیت chaining تا بی نهایت رو داره :)
cat largefile.txt | grep "failed"

اینا دستورات مهمی هست که تو محیط ترمینالی ایجنت‌ها زیاد ازش استفاده میکنن و بد نیست در موردش بدونیم!

@DevTwitter | <Amir/>
44🍌16👍6
یه پروژه آموزشی خیلی جالب توسط huggingface به تازگی منتشر شده که با مطالعه‌اش یاد میگیرین چطوری coding agent بسازین.

ریپوی گیت‌هابش:
https://github.com/huggingface/tau

@DevTwitter | <Mehrdad Ameri/>
👍287
اگر می‌خواهید Skillهای بهتری برای Claude بسازید، این راهنما را از دست ندهید
انتروپیک مجموعه‌ای از بهترین روش‌ها و تجربه‌های خود را در یک فایل Markdown منتشر کرده است
کافی است آن را در اختیار Agent خود قرار دهید تا Skillهایی بسیار حرفه‌ای‌تر و قدرتمندتر بسازد
https://code.claude.com/docs/en/skills

@DevTwitter | <Davinci/>
👍22🔥3🍌2
برای استفاده کاملاً رایگان از مدل‌های پیشرفته AI، بدون محدودیت‌های عجیب‌وغریب، این ترکیب رو تست کردم و واقعاً عالیه:

OpenCode + Cloudflare Workers AI

وارد Cloudflare بشید:
https://cloudflare.com
از مسیر AI → Workers AI → REST API، Account ID رو بردارید و یک API Token بسازید.

بعد داخل OpenCode:
https://opencode.ai

Provider رو روی Cloudflare Workers بذارید و Account ID و API Token رو وارد کنید.
مزیتش اینه که محدود به یک مدل نیستید؛ چندین مدل مختلف در دسترسه و می‌تونید مستقیم داخل OpenCode بینشون سوییچ کنید.


@DevTwitter | <Pedram/>
🍌2414👎2
This media is not supported in your browser
VIEW IN TELEGRAM
این ریپو خیلی عالیه . یک برنامه دیکته صوتی (تبدیل گفتار به متن) اپن سروس برای سیستم‌عامل مک (macOS) همراه با بهبوددهنده هوش مصنوعی روی خود دستگاه. ورژن ویندوز هم به زودی. این اپ ورژن اپن سورس و رایگان WisprFlow هست ی جورایی.
چندین مدل را هم میتونید باهاش استفاده کنید و بسته به مدل فارسی را هم پشتیبانی میکنه.
Github: https://github.com/altic-dev/FluidVoice

@DevTwitter | <Mehdi Allahyari/>
👍8🔥53
من واسه کارهای شرکت اکانت پرو cursor دارم و خیلی خوبه.
برای پروژه های ساده‌ی شخصی هم میخواستم یه اکانت پرو بخرم که دیدم نیازی نیست.
با ترکیب افزونه
Continue - open-source AI code agent (vscode)
و
https://github.com/tashfeenahmed/freellmapi
تقریبا نیازم کاملا رایگان برطرف شده (تا حالا مشکلی ندیدم)

https://github.com/tashfeenahmed/freellmapi

@DevTwitter | <سهیل/>
🍌4113👍6
تو این ویدیو سورس کد بازی انقلابی و خاطره انگیر Half Life 2 رو با هم بررسی می کنیم. کدبیس سی پلاس پلاسی که برای ۲۰ ساله پیشه ! تو این ویدیو راجع به معماری ها هایی که استفاده کردن، به خصوص سیستم تصمیم گیری و تفکر NPC های بازی، با هم گپ میزنیم.

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

@DevTwitter | <Rouzbeh Sabzehei/>
3👍3613🔥3
کتابخانه Baleio یک چارچوب مدرن و کاملاً ناهمگام (Async) برای توسعه ربات‌های اپلیکیشن بله است که از aiogram الهام گرفته شده است. این فریم‌ورک شامل امکاناتی مانند روترها، فیلترها، FSM، تزریق وابستگی، سازنده‌های کیبورد و مدل‌های تایپ‌شده بر پایه Pydantic v2 می‌باشد. اگر با aiogram 3.x آشنا باشید، کار با Baleio برای شما بسیار ساده و آشنا خواهد بود.

ویژگی‌ها:
- کاملاً Async و با عملکرد بالا
- فیلترهای پیشرفته برای مدیریت پیام‌ها
- پشتیبانی از دکمه‌ها (Inline و Reply)
- سیستم مدیریت حالت‌ها (FSM)
- پشتیبانی از پرداخت و سایر قابلیت‌های کاربردی برای ربات‌ها

نصب کتابخونه:
https://pypi.org/project/baleio/

مستندات پروژه:
https://ehsndvr.github.io/baleio/

https://github.com/ehsndvr/baleio

@DevTwitter | <Ehsan/>
1🍌12025👎13
این mcp جدید با نام
https://context7.com
رو دریابید. آخرین داکیومنت‌های زبان‌ها و پکیج‌های معروف برنامه‌نویسی رو در اختیار مدل هوش مصنوعی می‌ذاره و می‌تونید با یک مدل سبک کدهای حرفه‌ای بنویسید

@DevTwitter | <مسعود کاویانی/>
21👎12👍10