GyaanSetu WebDev

Frontend, backend and devops for the modern web.

244 articlesDeep, practical knowledge

Cleanup Script Erased Code Snippets From Dozens of Articles

A routine maintenance job mis-identified Liquid’s {% raw %} tags, treating them as unclosed variables and stripping the surrounding code blocks from every article that used them, forcing an emergency rollback and a rethink of migration testing.

WebDev · 3 min read

MCP بدون وضعیت به توسعه‌دهندگان اجازه می‌دهد مارک‌داون را به‌صورت رایگان در Cloudflare ارائه دهند

بنچمارک‌ها نشان می‌دهند که سرور MCP فقط‌خواندنی در نقاط پایانی کلیدی، مصرف CPU را به ۰ تا ۱ میلی‌ثانیه می‌رساند که بسیار کمتر از محدودیت ۱۰ میلی‌ثانیه‌ای Cloudflare برای هر درخواست است، در حالی که زمان کل ممکن است به دلیل تأخیر شبکه به حدود ۸۸ میلی‌ثانیه برسد.

WebDev · 2 min read

هرمس ایجنت اتوماسیون هوش مصنوعی را تسهیل می‌کند، اما بار امنیت را به دوش توسعه‌دهندگان می‌گذارد

طراحی ماژولار هرمس ایجنت، مدل زبانی، هسته ارکستراسیون و ابزارهای قابل اجرا را از هم جدا می‌کند و امکان اتصال اسکریپت‌ها، فراخوانی‌های REST یا دستورات داکر را فراهم می‌سازد؛ اما در عین حال، شما را ملزم می‌کند که ایجنت را در محیط ایزوله (sandbox) قرار داده و از کلیدهای API محافظت کنید.

WebDev · 3 min read

BrowserAct در تست تشخیص ربات، حالت Headless Playwright را شکست داد

در یک اجرای همزمان روی صفحه ورود یک محیط Sandbox، مرورگر Stealth از BrowserAct مقدار isBot:false را برگرداند، در حالی که نشست Headless پیش‌فرض Playwright مقدار isBot:true را گزارش کرد؛ این موضوع نشان داد که چگونه پرچم‌های پیش‌فرض user-agent و webdriver، ماهیت اتوماسیون را لو می‌دهند.

WebDev · 4 min read

ارتقای Astro 7 باعث بروز مشکل در ریاضیات، لینک‌های تیتر و گزینه‌های سفارشی می‌شود – راه حل رفع مشکل

Astro 7 اکنون از موتور مارک‌داون Sätteri مبتنی بر Rust استفاده می‌کند که فرآیند Syntax Highlighting را پیش از پلاگین‌های HTML-AST انجام می‌دهد. این تغییر باعث می‌شود بلوک‌های $$...$$ به اشتباه به عنوان کد شناسایی شوند، پلاگین‌های heading-slug در تولید ID با مشکل مواجه شوند و تنظیمات غیر استاندارد مارک‌داون نیز نادیده گرفته شوند.

WebDev · 4 min read

CollectionsMarshal زمان شمارش دیکشنری را ۱.۷ برابر سریع‌تر از TryGetValue می‌کند

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

WebDev · 1 min read

FastPix در آپلودهای ۱۷۷ مگابایتی از همه پیشی گرفت، در حالی که Cloudinary در تست ۶۵ مگابایتی برنده شد

ابزار تست Node.js هم زمان خام آپلود و هم زمان آماده‌سازی را روی یک لینک محدود شده با سرعت ۱۰ مگابیت بر ثانیه اندازه‌گیری کرد؛ نتایج نشان داد که FastPix برای یک فایل ۱۷۷ مگابایتی سریع‌ترین است و Cloudinary برای یک کلیپ ۶۵ مگابایتی، وضعیت آماده‌سازی را در ۲ ثانیه فراهم می‌کند، در حالی که Mux در فریم‌های شروع سرد (cold-start) عملکرد ممتازی داشت.

WebDev · 3 min read

چگونه خرابی یک ISP می‌تواند روز یک مهندس دورکار را فلج کند – و راه جلوگیری از آن

یک قطعی ساده در سرویس اینترنت (ISP) می‌تواند درست مانند از کار افتادن سرور، یک توسعه‌دهنده دورکار را برای ساعت‌ها از دسترس خارج کند. با اندازه‌گیری میزان مصرف برق، اضافه کردن یک UPS و نصب یک روتر dual-WAN مجهز به پشتیبان هات‌سپات 4G/5G، می‌توانید به زمان بازیابی هدف (RTO) خود برسید و بدون وقفه به کدنویسی ادامه دهید.

WebDev · 2 min read

با تزریق دستور (Prompt Injection) مانند یک نقص در سطح دسترسی برخورد کنید و ابزارهای غیرمجاز را حذف کنید

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

WebDev · 5 min read

تست‌های ناپایدار (Flaky Tests) دارند CI شما را از پا در می‌آورند – از نرخ موفقیت به سمت معیارهای اعتماد به شکست تغییر مسیر دهید

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

WebDev · 4 min read

مدل‌های زبانی بزرگ فقط درخواست‌های JSON تولید می‌کنند – کد شما عملیات را اجرا می‌کند

مدل هرگز تابع شما را اجرا نمی‌کند؛ بلکه یک درخواست ساختاریافته صادر می‌کند که توسط توزیع‌کننده (dispatcher) شما اعتبارسنجی، تأیید و در نهایت اجرا می‌شود. درک این فرآیند انتقال، کلید اصلی رفع باگ‌ها و جلوگیری از اثرات جانبی غیرمجاز است.

WebDev · 4 min read

یک فیلد اسپم پنهان تمام نمایش‌های صفحات عربی را از بین برد و ساعت‌ها وقت برای عیب‌یابی تلف کرد

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

WebDev · 1 min read

E-commerce Sites Can Escape Facet Crawl Traps by Blocking Low-Value URLs

An audit found Googlebot hitting filter URLs three times daily while main categories were crawled once every three weeks, causing fresh inventory to sit invisible for weeks. By classifying facets, using canonicals, blocking low-value URLs, and rendering filters as buttons, sites trimmed indexing tim

WebDev · 3 min read

یک کلیک روی حالت Bot Fight کلودفلر، یک API از نوع SaaS را برای یک ماه از کار انداخت

ترافیک API توسعه‌دهنده ناپدید شد، زیرا کلودفلر فراخوانی‌های (callbacks) AWS Lambda خود او را به عنوان ربات شناسایی کرده بود. بدون اینکه هیچ خطایی در اپلیکیشن ظاهر شود، شاخص‌های میزان استفاده برای هفته‌ها در سطح صفر باقی ماندند تا اینکه در نهایت قابلیت Bot Fight غیرفعال شد.

WebDev · 3 min read

افسانه اجماع هوش مصنوعی در هم شکسته شد: ۱۰ مدل، ۵ جایگاه، ۲۹ پاسخ منحصربه‌فرد

در این آزمایش، از ۱۰ مدل زبانی بزرگ (LLM) برتر برای یافتن بهترین سازندگان حلقه‌های ازدواج لوکس در رومانی پرس‌وجو شد. در مجموع ۵۰ جایگاه پیشنهادی، این مدل‌ها ۲۹ برند متمایز را معرفی کردند که ۶۶ درصد آن‌ها تنها در یک مدل ظاهر شده بودند؛ این امر نشان می‌دهد که چگونه خطوط انتقال داده (data pipelines) باعث ایجاد دیده شدن برندها می‌شوند.

WebDev · 2 min read

گیت‌هاب پیش‌نمایش عمومی Stacked Pull Requests را برای کاهش زمان بررسی عرضه کرد

این پیش‌نمایش به شما امکان می‌دهد زنجیره‌ای از درخواست‌های Pull وابسته ایجاد کنید که هر کدام بر پایه قبلی ساخته شده‌اند؛ به این ترتیب، بازبین‌ها فقط تغییرات مربوط به همان لایه را مشاهده می‌کنند که این امر باعث کاهش چشمگیر بار کاری بررسی و تداخل‌های ادغام (merge conflicts) می‌شود.

WebDev · 2 min read

TanStack کامپوننت‌های سروری ری‌اکت را به دلیل پیچیدگی و کندی کنار گذاشت

تیم TanStack دریافت که عیب‌یابی RSC مستلزم یک مدل ذهنی متفاوت است و اجرای صرفاً سروری باعث از بین رفتن سازگاری با بسیاری از کتابخانه‌های شخص ثالث می‌شود؛ این موضوع آن‌ها را مجبور کرد تا معماری ساده‌ترِ مبتنی بر کلاینت را انتخاب کنند.

WebDev · 2 min read

یافته‌های یک مطالعه نشان می‌دهد تنها ۴۷٪ از دامنه‌های دارای DMARC واقعاً سیاست‌های خود را اجرا می‌کنند

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

WebDev · 1 min read