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

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

90 articlesDeep, practical knowledge

همه آن پوشه را دارند. همان پوشه‌ای که پر از آموزش‌های نیمه‌تمام، پروژه‌های جانبی رها شده و فایل‌های README است که...

همه آن پوشه را دارند. همان پوشه‌ای که پر از آموزش‌های نیمه‌تمام، پروژه‌های جانبی رها شده و فایل‌های README است که بیش از آنچه انجام می‌دهند، وعده می‌دهند. این گورستانی از ایده‌های خوب است که...

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

بازیکنان از اینکه یک دور بازی را به خاطر مسائل فنی از دست بدهند متنفرند. سکو صاف بود، زمان‌بندی درست بود، و بعد بازی آن‌ها را از پا درآورد.

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

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

بازنویسی تایپ‌اسکریپت ۷ با زبان Go، زمان کامپایل VS Code را ۱۱.۹ برابر کاهش داد و به ۱.۳ ثانیه رساند

مایکروسافت با جایگزینی موتور قدیمی مبتنی بر Node، کامپایلر را با زبان Go بازسازی کرده است. تجزیه و بررسی نوع (type-checking) موازی، زمان کامپایل VS Code را از ۱۷.۵ ثانیه به کمتر از ۱.۳ ثانیه کاهش داده و مصرف حافظه را در پروژه‌های بسیار بزرگ تا ۲۶ درصد کم می‌کند.

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

افشای شکست‌های بی‌صدای Supabase-JS توسط یک Wrapper جدید Mutate در TypeScript

یک Wrapper سبک در TypeScript، توسعه‌دهندگان را ملزم می‌کند فیلد `error` بازگشتی از supabase-js را مدیریت کنند؛ این ابزار هر عملیات نوشتنِ رد شده را در Sentry ثبت کرده و از نمایش نشان‌های «موفقیت» در رابط کاربری که باعث پنهان ماندن داده‌های تغییرنیافته می‌شوند، جلوگیری می‌کند.

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

SolidJS 2.0 به تیم‌های React اجازه می‌دهد تا هنگام به‌روزرسانی داده‌ها، پایداری رابط کاربری را حفظ کنند

SolidJS 2.0 یک مدل داده‌های ناهمگام (async-data) بومی را معرفی می‌کند که در آن Promiseها مقادیر واکنش‌پذیر درجه اول محسوب می‌شوند؛ به این ترتیب، حالت جایگزین (fallback) تنها در بارگذاری اولیه نمایش داده می‌شود. بازخوانی‌های بعدی داده‌ها، DOM موجود را روی صفحه حفظ می‌کنند و از نمایش ناگهانی نشانگرهای انتظار (spinners) که در Suspense مربوط به React رخ می‌دهد، جلوگیری می‌کنند.

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

تیم‌های ری‌اکت با تقسیم تسک‌های طولانی و استفاده از startTransition، مقدار INP را به زیر ۲۰۰ میلی‌ثانیه کاهش دادند

حتی با امتیازات کامل Lighthouse، زمان Interaction to Next Paint (INP) برای کاربران واقعی می‌تواند از ۵۰۰ میلی‌ثانیه فراتر رود. با تکه‌تکه کردن تسک‌های طولانی با استفاده از scheduler.yield، قرار دادن به‌روزرسانی‌های غیرضروری در startTransition و حذف DOMهای خارج از صفحه، می‌توانید INP را به زیر آستانه ۲۰۰ میلی‌ثانیه‌ای (معیار «سریع») برسانید.

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

تایپ‌اسکریپت ۷ با بررسی موازی اعلان‌ها، زمان بیلد مونو‌رپوها را کاهش می‌دهد

حالت جدید «اعلان‌های ایزوله» (isolated declarations)، فرآیند بررسی فایل‌های .d.ts را بین هسته‌های CPU توزیع می‌کند که باعث کاهش چشمگیر چرخه‌های کامپایل در مخازن دارای صدها پکیج شده و منجر به صرفه‌جویی فوری در منابع عامل‌های CI که بر روی سخت‌افزارهای چند هسته‌ای اجرا می‌شوند، می‌گردد.

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

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

باینری بومی جدید Rust زمان نصب گرم را تا ۳۰ برابر کاهش می‌دهد، نصب‌های بدون کش را به ۴۰ میلی‌ثانیه می‌رساند و زمان نصب کامل درخت را به ۲.۲ ثانیه کاهش می‌دهد؛ این تغییر ضمن حفظ پرچم‌های CLI و فرمت lockfile، نویدبخش خط لوله‌های CI بسیار سریع‌تر است.

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

جعبه‌های سیاه حذف اطلاعات فریبنده بودند – روشی جدید صفحات حساس را به تصویر تبدیل می‌کند

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

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

Auto-Animate انیمیشن‌های لیست بدون نیاز به کد را به Marko 6 اضافه می‌کند

پکیج جدید @formkit/auto-animate/marko از طریق npm در دسترس است؛ این پکیج والدِ یک لیست را با <AutoAnimate> محصور کرده و با استفاده از یک MutationObserver، عملیات افزودن، حذف و تغییر ترتیب را بدون نیاز به هیچ کد جاوااسکریپت اضافی یا lifecycle hookهایی، به صورت انیمیشن اجرا می‌کند.

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

افکت ماشین‌تحریر، معادل دیجیتالیِ تماشای کسی است که با صدای بلند فکر می‌کند. متن کاراکتر به کاراکتر ظاهر می‌شود.

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

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

اپلیکیشن‌های ری‌اکت از کامپوننت‌ها ساخته شده‌اند و هر کامپوننت زندگی خاص خود را دارد. روی صفحه ظاهر می‌شود و به ن...

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

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

هر تیم توسعه داستانی شبیه به این دارد. یک Pull Request نیم روز باز می‌ماند؛ نه به این دلیل که منطق کد ایراد دارد یا...

هر تیم توسعه داستانی شبیه به این دارد. یک Pull Request نیم روز باز می‌ماند؛ نه به این دلیل که منطق کد ایراد دارد یا قرارداد API تغییر کرده است، بلکه به این دلیل که دو بازبین با هم اختلاف نظر دارند...

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

وب اولیه بر پایه متن ساده بود. شما یک نام کاربری یا یک نظر را در یک فرم تایپ می‌کردید، دکمه ارسال را می‌زدید و یک رشته کوتاه حرکت می‌کرد

وب اولیه بر پایه متن ساده بود. شما یک نام کاربری یا یک نظر را در یک فرم تایپ می‌کردید، دکمه ارسال را می‌زدید و یک رشته کوتاه از طریق HTTP به سمت سرور ارسال می‌شد. آن چرخه ساده درخواست و پاسخ...

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

هر برنامه مفیدی در نهایت به یک نقطه تصمیم‌گیری می‌رسد. آیا این دکمه باید فرم را ارسال کند یا خطا نشان دهد؟ آیا این کارب...

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

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