GyaanSetu JavaScript

The JavaScript and TypeScript ecosystem.

100 articlesDeep, practical knowledge

قضيت الأسبوع الماضي أحاول فهم كيفية عمل نطاقات .night فعلياً، ليس من خلال ورقة المواصفات، بل عبر بناء شيء ما

قضيت الأسبوع الماضي أحاول فهم كيفية عمل نطاقات .night فعلياً، ليس من خلال ورقة المواصفات، بل عبر بناء شيء يتصل بالسلسلة مباشرة. والنتيجة هي مشروع صغـ...

JavaScript · 5 دقيقة قراءة

لا تزال معظم تطبيقات الويب تتعامل مع عمليات رفع الصور كصندوق أسود. يقوم المستخدم بإسقاط ملف، فيقوم المتصفح بإرساله، ثم يقوم الخادم

لا تزال معظم تطبيقات الويب تتعامل مع عمليات رفع الصور كصندوق أسود. يقوم المستخدم بإسقاط ملف، فيقوم المتصفح بإرساله، ويقوم الخادم إما بقبول البيانات أو إظهار خطأ 413 الذي لا...

JavaScript · 5 دقيقة قراءة

عندما تقوم بالتطوير باستخدام Node.js، قد يبدو التعامل مع الأخطاء سهلاً للغاية في البداية. حيث تقوم بتغليف المسار (route) داخل try catch، وترسل

عندما تقوم بالتطوير باستخدام Node.js، قد يبدو التعامل مع الأخطاء سهلاً للغاية في البداية. حيث تقوم بتغليف المسار (route) داخل try catch، وترسل رمز الحالة 500، ثم يقرر العميل (client) ما يجب فعله بعد ذلك...

JavaScript · 5 دقيقة قراءة

إذا سبق لك أن طلبت من مطور أن "يكبّر الشعار" أو أخبرت مصمماً أن "يصلح خطأ قاعدة البيانات"، فأنت لست

إذا سبق لك أن طلبت من مطور أن "يكبّر الشعار" أو أخبرت مصمماً أن "يصلح خطأ قاعدة البيانات"، فلست وحدك. معظم الأشخاص خارج المجال التقني يستخدمون مصطلح "تصميم المواقع" و...

JavaScript · 3 دقيقة قراءة

يبدأ معظم الناس تعلم جافا سكريبت من خلال بناء الأشياء. تقوم بربط زر، وجلب بعض البيانات، ومراقبة تغير الـ DOM. ثم...

يبدأ معظم الناس تعلم جافا سكريبت من خلال بناء الأشياء. تقوم بربط زر، وجلب بعض البيانات، ومراقبة تغير الـ DOM. ثم تبدأ التجريدات بالتسرب. تظهر أخطاء برمجية لا معنى لها: متغيـ...

JavaScript · 6 دقيقة قراءة

لدى الجميع ذلك المجلد. الممتلئ بالدروس التعليمية غير المكتملة، والمشاريع الجانبية المهجورة، وملفات README التي...

لدى الجميع ذلك المجلد. الممتلئ بالدروس التعليمية غير المكتملة، والمشاريع الجانبية المهجورة، وملفات README التي تعد بأكثر مما تقدمه. إنه مقبرة للأفكار الجيدة في...

JavaScript · 6 دقيقة قراءة

فرق React تخفض مؤشر INP إلى أقل من 200 مللي ثانية عبر تقسيم المهام الطويلة واستخدام startTransition

حتى مع الحصول على درجات مثالية في Lighthouse، قد يتجاوز مؤشر "التفاعل إلى الرسم التالي" (INP) للمستخدمين الحقيقيين 500 مللي ثانية. ولكن من خلال تقسيم المهام الطويلة باستخدام scheduler.yield، وتغليف التحديثات غير العاجلة بـ startTransition، وتقليص عناصر DOM غير الظاهرة على الشاشة، يمكنك خفض مؤشر INP إلى ما دون عتبة الـ 200 مللي ثانية المصنفة كـ "سريعة".

JavaScript · 2 دقيقة قراءة

صناديق التعتيم السوداء كانت تضللنا – طريقة جديدة تحول الصفحات الحساسة إلى صور

يعمل المحرر بالكامل داخل المتصفح، حيث يقوم بتحويل الصفحات التي تحتوي على عمليات التعتيم فقط إلى صور نقطية (bitmaps) بمقياس ثلاث أضعاف، بينما يترك بقية المستند بصيغة متجهة (vector-based)، مما يحافظ على ميزة البحث ويبقي حجم الملف صغيراً.

JavaScript · 3 دقيقة قراءة

Auto-Animate يضيف رسومًا متحركة للقوائم بدون كتابة كود إلى Marko 6

تتوفر حزمة @formkit/auto-animate/marko الجديدة عبر npm، حيث تقوم بتغليف العنصر الأب للقائمة باستخدام <AutoAnimate>، وتستخدم MutationObserver لتحريك عمليات الإضافة والحذف وإعادة الترتيب دون الحاجة إلى أي كود JavaScript إضافي أو خطافات دورة الحياة (lifecycle hooks).

JavaScript · 2 دقيقة قراءة