GyaanSetu WebDev

Frontend, backend and devops for the modern web.

230 articlesDeep, practical knowledge

Open Interpreter به مدل‌های زبانی بزرگ اجازه می‌دهد کد را به صورت محلی اجرا کنند، کاهش هزینه‌های ابری و افزایش حریم خصوصی

Open Interpreter با اجازه دادن به مدل‌های زبانی بزرگ برای اجرای دستورات شل و اسکریپت‌ها روی سیستم کاربر، نیاز به APIهای ابری پرهزینه را از بین می‌برد و فایل‌های حساس را در محیط داخلی نگه می‌دارد، اما در عین حال توسعه‌دهندگان را مجبور می‌کند تا محیط‌های ایزوله (sandbox) و جریان‌های مدیریت رضایت کاربر را پیاده‌سازی کنند.

WebDev · 2 min read

شکست مهاجرت‌های PostgreSQL با خطای "Read-Only Transaction" هنگام ارسال به یک Replica

این خطا معمولاً زمانی رخ می‌دهد که یک عملیات نوشتن به یک read replica ارسال می‌شود؛ این اتفاق اغلب به دلیل مسیریابی اتصال توسط PgBouncer، تنظیم پیش‌فرض یک نقش (role) روی حالت read-only، یا استفاده از reader endpoint در تنظیمات ابری است. این مقاله نحوه تغییر این پرچم (flag) برای تراکنش فعلی و روش‌های جلوگیری از بروز آن را نشان می‌دهد.

WebDev · 3 min read

ربات خرید هوش مصنوعی با هزینه صفر در هر صفحه وب کار می‌کند – بدون نیاز به کلید API

نویسنده مدل LFM2.5 شرکت LiquidAI با ۳۵۰ میلیون پارامتر را با استفاده از یک GPU ۱۶ گیگابایتی بر روی یک مجموعه داده مصنوعی شامل ۳۰ میلیون توکن بازتنظیم (fine-tune) کرده است؛ سپس با افزودن هشت ابزار کدنویسی‌شده و رمزگشایی با محدودیت دستور زبان، این عامل را قادر ساخته تا فرآیند جستجو، افزودن کالا و تسویه حساب را به‌طور کامل و مستقیماً روی دستگاه انجام دهد.

WebDev · 4 min read

تغییر به DeepSeek و Qwen هزینه هوش مصنوعی یک ربات را از ۴۲۰ دلار به ۲۸ دلار کاهش داد

با هدایت ۸۵٪ از پرس‌وجوها به مدل‌های ارزان‌تر، ذخیره‌سازی دستورات تکراری و فشرده‌سازی ورودی‌ها، این تیم توانست هزینه‌های ماهانه را از ۴۲۰ دلار به ۲۸ دلار کاهش دهد، در حالی که تأخیر را در پایین‌ترین سطح و تجربه کاربری را بدون تغییر حفظ کرد.

WebDev · 2 min read

pnpm نسخه ۱۲ با بازنویسی به زبان Rust، زمان نصب گرم را از ۳۸۱ میلی‌ثانیه به ۱۲ میلی‌ثانیه کاهش می‌دهد

این بازنویسی که «pacquet» نام دارد، فرآیند بوت‌استرپ Node.js را با یک باینری تک‌رشته‌ای (single-threaded) در Rust جایگزین می‌کند، در حالی که تمامی فلگ‌ها و فرمت‌های lockfile را بدون تغییر باقی می‌گذارد. توسعه‌دهندگان می‌توانند از همین امروز با استفاده از دستور `pnpm self-update next-12` این قابلیت را فعال کرده و تأثیر آن را بر خط لوله‌های CI خود بسنجند.

WebDev · 2 min read

توسعه‌دهنده با جایگزینی REST با tRPC، بار اضافی API را در دو هفته کاهش داد

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

WebDev · 3 min read

خودکارسازی تولید VPAT در فرآیند CI و مسدود کردن Pull Requestهای فاقد قابلیت دسترسی

با ادغام اسکن‌های axe-core، ابزارهای کمکی کیبورد سفارشی Vitest و نتایج صفحه‌خوان ذخیره‌شده در قالب JSON در فرآیند build، این خط لوله (pipeline) هر Pull Request را که باعث کاهش سطح قابلیت دسترسی شود، با خطا متوقف کرده و با هر انتشار موفق، یک فایل PDF VPAT به‌طور خودکار تولید می‌کند.

WebDev · 3 min read

Auto-Animate آداپتور Marko 6 را عرضه کرد؛ متحرک‌سازی لیست‌ها تنها با یک تگ

این آداپتور جدید به چرخه حیات onMount در Marko متصل می‌شود، یک MutationObserver ایجاد می‌کند و موتور auto-animate را به کار می‌گیرد تا توسعه‌دهندگان بتوانند تنها با تعریف <auto-animate> در اطراف یک لیست، بدون نیاز به هیچ کد جاوااسکریپت اضافی، به جلوه‌های نرم ورود، خروج و تغییر ترتیب دست یابند.

WebDev · 3 min read

استفاده از React-Fiber با کاهش فاصله میان طراحی و کد، هزاران دلار در هزینه‌های نگهداری برای تیم‌ها صرفه‌جویی می‌کند

این پلاگین به جای DOM رندر شده، درخت داخلی Fiber در React را می‌خواند و کامپوننت‌ها را مستقیماً به لایه‌های فیگما نگاشت می‌کند؛ این فرآیند با حفظ واریانت‌ها، محدودیت‌های اتولایوت و محرک‌های وضعیت، نیاز به بازسازی دستی توکن‌های طراحی را از بین می‌برد.

WebDev · 3 min read

ارتقا به TypeScript 7؟ انتظار بررسی‌هایی تا ۱۰ برابر سریع‌تر را داشته باشید، اما مراقب از کار افتادن CI خود باشید

موتور جدید tsgo که بر پایه Go توسعه یافته، سرعت بیلد را تا ده برابر افزایش می‌دهد، اما API برنامه‌نویسی آن که هنوز در حال تغییر است، باعث اختلال در ابزارهای محبوب می‌شود. تا زمان تثبیت API در نسخه ۷.۱، تیم‌ها باید برای فرآیند بیلد از TS 6.x استفاده کنند و برای بررسی‌های سریع از @typescript/native-preview بهره بگیرند.

WebDev · 3 min read