GyaanSetu WebDev

Frontend, backend and devops for the modern web.

244 articlesDeep, practical knowledge

تغییر به 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

رفع خطاهای DMARC: همسو کردن Return-Path یا DKIM با هدر From

حتی اگر SPF و DKIM تیک سبز داشته باشند، اگر Return-Path یا دامنه امضای DKIM با آدرس From قابل مشاهده مطابقت نداشته باشد، باز هم ممکن است DMARC با شکست مواجه شود. یاد بگیرید چگونه عدم تطابق را در هدرهای خام شناسایی و آن را اصلاح کنید.

WebDev · 3 min read

سرور MCP برای جلوگیری از حذف داده‌های مالی توسط هوش مصنوعی، یک دروازه تایید انسانی اضافه می‌کند

من به یک عامل بودجه‌بندی هوش مصنوعی اجازه دادم از طریق یک سرور MCP فعالیت کند و او می‌توانست تنها با یک دستور، تاریخچه تراکنش‌های یک سال را کاملاً پاک کند. اما یک بررسی امنیتیِ کدگذاری‌شده در لایه ابزار، مانع از این حذف شد؛ این موضوع ثابت کرد که اعمال محدودیت‌ها باید در سطح API انجام شود، نه در پرامپت‌ها.

WebDev · 7 min read

اگر تا به حال سعی کرده‌اید متن‌های بولد یا ایتالیک را از یک PDF استخراج کنید، احتمالاً با یک regex شروع کرده‌اید. به نظر می‌رسد راه حل بدیهی...

اگر تا به حال سعی کرده‌اید متن‌های بولد یا ایتالیک را از یک PDF استخراج کنید، احتمالاً با یک regex شروع کرده‌اید. این کار بدیهی به نظر می‌رسد. جستجوی کلمه «Bold» در نام فونت، علامت‌گذاری...

WebDev · 6 min read

اجرای مدل‌های زبانی بزرگ روی گوشی موبایل دیگر یک آزمایش تحقیقاتی نیست، بلکه یک واقعیتِ عرضه محصول است. با این حال، لم...

اجرای مدل‌های زبانی بزرگ روی گوشی موبایل دیگر یک آزمایش تحقیقاتی نیست، بلکه یک واقعیتِ عرضه محصول است. اما لحظه‌ای که از یک دموی ساده به یک محصول واقعی تغییر مسیر می‌دهید، تأخیر...

WebDev · 3 min read

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

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

WebDev · 3 min read

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

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

WebDev · 4 min read