GyaanSetu جاوااسکریپت

اکوسیستم جاوااسکریپت و تایپ‌اسکریپت.

78 articlesDeep, practical knowledge

دیباگر Chrome DevTools سرعت آپلودهای Playwright را بیش از ۲۰ برابر کاهش می‌دهد

زمانی که Coffer یک دیباگر Chrome DevTools را از طریق Playwright متصل کرد، سرعت آپلودهای مبتنی بر fetch آن‌ها از ۶۰۰ مگابیت بر ثانیه به تنها ۱۱۳ مگابیت بر ثانیه کاهش یافت؛ کندی بیش از ۲۰ برابری که نتایج بنچمارک آن‌ها را کاملاً دگرگون کرد.

جاوااسکریپت · 3 min read

فعال‌سازی SharedArrayBuffer مرا مجبور کرد تمام اسکریپت‌های شخص ثالث را حذف کنم

افزودن هدرهای COOP و COEP قابلیت چندرشته‌ای (multithreading) واقعی را فراهم کرد، اما بلافاصله ابزارهای تحلیل، فونت‌های گوگل، ویدیوهای یوتیوب و پنجره‌های بازشوی OAuth را مسدود کرد؛ امری که مرا وادار کرد تا دارایی‌ها را روی سرور خودم میزبانی کرده و فرانت‌اند را از پایه بازنویسی کنم.

جاوااسکریپت · 4 min read

نقص امنیتی در افزونه WooCommerce Social Login به هکرها اجازه می‌دهد هر حساب وردپرسی را کنترل کنند

CVE 2026 8457: دور زدن احراز هویت در WooCommerce Social Login؛ یک نقص امنیتی بحرانی در افزونه WooCommerce Social Login ساخته شده توسط WPWeb Elite وجود دارد. این آسیب‌پذیری دارای امتیاز CVSS 9 است...

جاوااسکریپت · 3 min read

Next.js 16.3 هوک آزمایشی useOffline را برای تشخیص آنی وضعیت اتصال اضافه می‌کند

این هوک یک مقدار بولین برمی‌گرداند که به‌صورت لحظه‌ای به‌روزرسانی می‌شود و به شما اجازه می‌دهد بدون نیاز به انتظار برای شکست خوردن یک درخواست fetch، اپلیکیشن اصلی را با یک پیام ساده «شما آفلاین هستید» جایگزین کنید؛ اما این هوک به‌تنهایی قابلیت‌های کشینگ یا همگام‌سازی در پس‌زمینه را فراهم نمی‌کند.

جاوااسکریپت · 2 min read

یادگیرندگان Claude Code با استفاده از پروکسی AWS Bedrock، هزینه‌های توکن را ۲۰٪ تا ۳۵٪ کاهش می‌دهند

پروکسی LiteLLM داکر شده‌ی یک توسعه‌دهنده، رابط خط فرمان (CLI) Claude Code را به گونه‌ای هدایت می‌کند که با مدل Nova آمازون در Bedrock ارتباط برقرار کند؛ این روش ضمن حفظ همان روند کاری، هزینه‌های مرحله یادگیری را در مقایسه با قیمت‌گذاری Anthropic تا یک‌سوم کاهش می‌دهد.

جاوااسکریپت · 3 min read

AGP 9.2.0 با بازنویسی بایت‌کد R8، سرعت Kotlin Coroutine را دو برابر می‌کند

R8 همراه با Android Gradle Plugin 9.2.0 اکنون فراخوانی‌های بازتابی (reflective) AtomicFieldUpdater را با یک دستورالعمل واحد Unsafe جایگزین می‌کند؛ این کار هزینه‌های همگام‌سازی را به شدت کاهش داده و باعث می‌شود عملیات‌های channel، mutex و StateFlow بدون نیاز به هیچ تغییری در کد منبع، تقریباً ۲ برابر سریع‌تر انجام شوند.

جاوااسکریپت · 4 min read

ارتقا به Apache DolphinScheduler 3.x مستلزم بازسازی کامل ساختار کلاستر و تغییر نام پایگاه داده است

این ارتقا شما را ملزم می‌کند که جداول اصلی را تغییر نام دهید، داده‌های JSON وظایف را به جداول رابطه‌ای منتقل کنید و گره مستر یکپارچه (monolithic) را با گره‌های مجزای MasterServer و WorkerServer که از طریق ZooKeeper، JDBC یا Etcd هماهنگ می‌شوند، جایگزین کنید.

جاوااسکریپت · 3 min read

شکست در دریافت OTP در آلمان، نقص در ذخیره‌سازی شماره تلفن در پایگاه‌های داده را آشکار کرد

دسترسی یک کاربر به دلیل وجود یک شماره موبایل آلمانی به دو صورت "0171 5550134" و "+49 171 5550134" در پایگاه داده قطع شد؛ این موضوع باعث شد کد OTP به یک ورودی تکراری ارسال شود که هرگز به دست کاربر نرسید.

جاوااسکریپت · 3 min read

نبودِ ایندکس، یک API با پاسخگویی ۴۵ میلی‌ثانیه‌ای را برای ۱.۵ میلیون ردیف به یک فاجعه ۸ ثانیه‌ای تبدیل کرد

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

جاوااسکریپت · 1 min read

ابزار اتوماسیون سافاری پس از عدم تشخیص نشانگر مالکیت توسط نگهبان، تب اشتباهی را بست

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

جاوااسکریپت · 4 min read

تیم‌های Claude Code با تعیین بودجه‌های مشخص و استفاده از Prompt Caching، هزینه‌های توکن را تا ۹۰٪ کاهش می‌دهند

یک راهنمای جدید برای توسعه‌دهندگان نشان می‌دهد که تعیین سقف مشخص برای مصرف توکن، تثبیت پرامپت‌های سیستم جهت افزایش نرخ موفقیت در کش (cache hits) و استفاده از یک مدیریت‌کننده کانتکستِ حساس به هزینه، می‌تواند از تورم پنهان توکن‌ها که اغلب باعث دو برابر شدن هزینه‌های ماهانه Claude Code می‌شود، جلوگیری کند.

جاوااسکریپت · 3 min read

useSyncExternalStore در React 18 مانع از پرش رابط کاربری ناشی از داده‌های خارجی می‌شود

این هوک جدید جایگزین الگوی قدیمیِ بازتاب دادن مقادیر خارجی با useState و useEffect می‌شود، که از بروز مشکل tearing در رندرینگ همزمان جلوگیری کرده و تضمین می‌کند که تمام بخش‌های رابط کاربری در طول یک چرخه رندر، از یک اسنپ‌شات یکسان استفاده کنند.

جاوااسکریپت · 4 min read

مدل زبانی بزرگ (LLM) در Node.js بدون نیاز به هیچ وابستگی، به یادگیرندگان اجازه می‌دهد ریاضیاتِ آموزش را به صورت زنده مشاهده کنند

مخزن tiny-language-model-neuro-js با حذف TensorFlow و PyTorch و استفاده از آرایه‌های ساده و حلقه‌های صریح، باعث می‌شود هر تنسور، امتیاز توجه (attention score) و گرادیان همزمان با یادگیری، فراموشی و یادگیری مجدد مدل، چاپ و نمایش داده شود.

جاوااسکریپت · 2 min read

ده حرف با ارزش‌تر در WWF، ۱۱ امتیاز برتری در کلمات بزرگ ایجاد می‌کنند

این مطالعه با تحلیل ۱۷۲,۸۳۵ ورودی ENABLE نشان می‌دهد که ده حرف با ارزش بالای WWF، به‌طور میانگین ۲.۵۲ امتیاز برتری در هر کلمه ایجاد می‌کنند، در حالی که Scrabble تنها در حروف H و Y از WWF پیشی می‌گیرد و این برتری نیز هرگز بیش از سه امتیاز نیست.

جاوااسکریپت · 3 min read

باز بودن پنج تب می‌تواند تنها با یک بار رفرش کردن JWT، باعث خروج کاربر از تمامی تب‌ها شود

زمانی که پنج تب در یک میلی‌ثانیه دقیق، یک JWT منقضی‌شده را رفرش کردند، بک‌اند درخواست‌های اضافی را به عنوان حمله بازپخش (replay attack) شناسایی کرد، توکن رفرش را باطل نمود و کاربر را در تمامی تب‌ها از حساب خارج کرد؛ سناریویی که هیچ مکانیزم حفاظتی در سطح یک تب نیز قادر به جلوگیری از آن نیست.

جاوااسکریپت · 3 min read