GyaanSetu WebDev

Frontend, backend and devops for the modern web.

244 articlesDeep, practical knowledge

لماذا يتجمد تطبيقك عند وصول عدد المستخدمين إلى 2000 مستخدم: صراع المعالج (CPU) والذاكرة (RAM) على كل طلب

عندما يبدأ بضعة آلاف من المستخدمين في استخدام التطبيق، يستحوذ كل طلب على حصته الخاصة من دورات المعالج (CPU) والذاكرة (RAM)، مما يؤدي إلى تكوين طابور يزيد من أوقات الاستجابة. هذا البطء ليس عيباً في الكود، بل هو صراع الموارد المحدودة على المساحة المتاحة.

WebDev · 4 دقيقة قراءة

قد تكلف عملية الانتقال من Google إلى Microsoft الملايين إذا غفلت عن هذه الفخاخ الخفية

تتطلب عملية الانتقال الناجحة من Google Workspace إلى Microsoft 365 إجراء جرد شامل لكل أعباء العمل، وتحديد نطاق حسابات خدمة OAuth بشكل صحيح، واستخدام أدوات تتعامل مع تسميات Gmail دون تكرار الرسائل، وإدارة تلقائية لتقييد Graph API، بالإضافة إلى عملية انتقال مرحلية بنظام (bulk-plus-delta) لتقليل وقت التوقف.

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

.NET 8 TimeProvider يقلص وقت اختبار إعادة المحاولة من 7 ثوانٍ إلى 36 مللي ثانية

عبر حقن TimeProvider الخاص بـ .NET 8 وتفريغ SynchronizationContext الخاص بـ xUnit، أصبح اختبار منطق إعادة المحاولة الذي كان يستغرق سبع ثوانٍ ينتهي الآن في حوالي 36 مللي ثانية، مما يقضي على فترات الانتظار غير الضرورية ويقلص مسارات التكامل المستمر (CI) دون أي عبء إضافي على بيئة الإنتاج.

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

تهديدات التصيد الاحتيالي الناتجة عن الذكاء الاصطناعي تفرض على الجميع تعلم أساسيات الأمن السيبراني

يوضح المقال كيف أصبحت نماذج الذكاء الاصطناعي التوليدي تكتب الآن رسائل تصيد احتيالي خالية من الأخطاء، مما حول مصدر قلق أمني متخصص إلى تهديد يومي، ويحث المستخدمين على تطوير مهارة التمييز والتقدير، وليس مجرد المعرفة بالأدوات.

WebDev · 4 دقيقة قراءة

فقدان الفهرس حوّل استجابة API من 8 مللي ثانية إلى انقطاع دام 8 ثوانٍ لـ 500 مستخدم

أدى إجراء مسح تسلسلي على جدول يحتوي على 1.5 مليون صف إلى إجبار قاعدة البيانات على قراءة كافة الصفوف مع كل طلب، مما رفع استهلاك المعالج إلى 100% واستنزف مجموعات الاتصال حتى تمت إضافة فهرس مركب بشكل فوري.

WebDev · 1 دقيقة قراءة

جوجل توقف إعلانات شوبيفاي عندما يتم إعادة توجيه المنتجات التي نفدت كميتها إلى الصفحة الرئيسية

عندما ينفد المخزون، تقوم العديد من تطبيقات شوبيفاي بتفعيل خاصية إعادة التوجيه تلقائياً، مما يرسل رابط المنتج إلى الصفحة الرئيسية للمتجر. وتصنف جوجل هذا الإجراء على أنه "عدم تطابق في صفحة الهبوط" (landing-page-mismatch)، مما يؤدي إلى تعليق الإعلان وفقدان حركة البحث المدفوعة بالكامل حتى يتم تصحيح مسار إعادة التوجيه.

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

كلاود فلير تحول كل عملية قراءة لصفحات الذكاء الاصطناعي إلى ترخيص مدفوع بدءاً من 1 يوليو

يحل نظام الدفع مقابل الاستخدام الجديد محل نموذج الزحف القديم ذي الرسوم الثابتة الذي تتبعه كلاود فلير، مما يتيح للناشرين تحصيل رسوم في كل مرة تقوم فيها خدمة ذكاء اصطناعي بقراءة محتواهم، بينما تتولى الشركة تحديد البوتات المؤهلة وتلك التي سيتم حظرها في الصفحات المدعومة بالإعلانات.

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

أعباء عمل Wasm تعمل على الخوادم أكثر من المتصفحات لأول مرة في عام 2026

في عام 2026، أفادت 67% من المؤسسات باستخدام WebAssembly في بيئات الإنتاج —بزيادة عن 47% قبل عامين— مما يجعله بيئة التشغيل المهيمنة للوظائف عديمة الخادم وحوسبة الحافة، مع استمرار تعايشه مع الحاويات للمهام الثقيلة.

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

قفزة بنسبة 351% في نقرات حاسبة رواتب Next.js مع رفع رومانيا للحد الأدنى للأجور

أكد التدقيق أن الصفحة تقوم بمعالجة كود HTML كامل على الخادم، مع وجود عدد محدود من تنوعات الروابط القابلة للفهرسة، كما تمت إضافة اختبارات تراجع مؤتمتة لتحسين محركات البحث (SEO). ومع التحقق من الكفاءة التقنية، يهدف المطور الآن إلى تعزيز الروابط الخلفية لدفع الأداة إلى صدارة نتائج البحث.

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

الترقية تكلف أكثر مما تجني: تقنية Wi-Fi 7 تتطلب جهاز توجيه جديداً ومعدات 2.5 GbE

استبدال وحدة MediaTek Wi-Fi 6E في جهاز Strix G16 بشريحة Qualcomm Wi-Fi 7 يرفع معدل نقل البيانات بنسبة تصل إلى 50%، ولكنك ستظل بحاجة إلى جهاز توجيه Wi-Fi 7 ووحدة تخزين شبكية (NAS) أو قاعدة توصيل تدعم 2.5 GbE لتشعر بالفرق.

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

إضافات CLI و VS Code تتيح لوكلاء Claude رفع الملفات، بينما يفشل تطبيق سطح المكتب في ذلك

يعزل تطبيق سطح المكتب عرض نظام ملفات الوكيل، ويرفض عمليات الرفع ما لم تستوفِ الملفات معيار "مشاركة" مخفي. ويسمح تشغيل الوكيل عبر واجهة السطر البرمجي (CLI) أو إضافة VS Code بتجاوز هذه المشكلة، في حين أن الحل الوحيد المتاح حاليًا — وهو اللصق من الحافظة — يؤدي إلى مسح محتويات حافظة المستخدم وهو مخصص لنظام ويندوز فقط.

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

تتيح لك Server Actions في Next.js الاستغناء عن مسارات API في النماذج البسيطة

من خلال تمييز دالة باستخدام "use server" وربطها بسمة action في النموذج، يمكن للمطورين إرسال البيانات مباشرة إلى الخلفية دون الحاجة إلى استدعاء fetch، مما يلغي الحاجة إلى ملفات مسارات API منفصلة ويقلل من حجم الكود في جانب العميل.

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

أخطاء 404 الوهمية في Next.js تستنزف ميزانية الزحف وتؤدي إلى عقوبات SEO

تقوم Google Search Console بتصنيف الصفحات التي تعيد رمز الحالة 200 OK دون وجود محتوى كأخطاء 404 وهمية. وفي Next.js، يؤدي التوجيه الديناميكي دون إجراء فحص دقيق للبيانات إلى شيوع هذه المشكلة، مما يتسبب في إهدار ميزانية الزحف، وتراجع ترتيب المواقع، وارتفاع معدلات الارتداد.

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

useSyncExternalStore في React 18 يقضي على مشكلة "التمزق" في الحالة الخارجية

يقوم الـ hook الجديد بقراءة اللقطة (snapshot) أثناء عملية الصيرورة (render)، مما يضمن رؤية كل مكون لنفس القيمة حتى عندما يقوم محرك الصيرورة المتزامن (concurrent renderer) في React بإيقاف أو إعادة تشغيل عمليات الصيرورة، مما يقضي على مشكلة "التمزق" البصري التي كانت تواجه نمط useEffect القديم.

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

يجب على المطابع اعتماد روابط GS1 الرقمية بحلول 19 يوليو 2026 أو فقدان الوصول إلى سوق الاتحاد الأوروبي

تعامل قاعدة التصميم الإيكولوجي (Ecodesign) الجديدة العبوة المطبوعة كنقطة نهاية رقمية، مما يتطلب رموز QR يتم توجيهها عبر رابط GS1 الرقمي. وبدون وجود أداة حل (resolver) فعالة، لن تتمكن المنتجات من عبور الجمارك، أو ستتعطل عمليات أتمتة المستودعات، أو لن تتمكن من الوفاء بمتطلبات تقارير إعادة التدوير.

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

عملية انتقال PostgreSQL تسببت في تكرار الدالة عن طريق الخطأ، مما أدى إلى تعطل واجهة برمجة تطبيقات الإنتاج (API)

قام أحد المطورين بإضافة وسيط اختياري باستخدام أمر CREATE OR REPLACE FUNCTION، ولكن PostgreSQL قام بإنشاء نسخة زائدة (overload) جديدة بدلاً من استبدال الدالة الأصلية. تسبب هذا التعريف المكرر في ظهور خطأ "الدالة ليست فريدة" (function is not unique)، والذي ظهر على شكل استجابة 400 من واجهة برمجة التطبيقات المباشرة.

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

تعزيز الـ SEO: إصدار Next.js 14 لصفحات HTML مُصيغة بالكامل، مما يقلل تأخيرات الزحف

في اختبار سريع على مدونة شخصية، أدى نقل عملية جلب البيانات إلى مكون خادم (Server Component) إلى تقليص حجم حزمة JavaScript بنسبة 60% تقريبًا، وتقليل وقت الرسم الأول للصفحة (first-paint time) إلى أقل من 200 مللي ثانية، مما يوفر صفحات HTML فورية لكل من المستخدمين وعناكب البحث.

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

مهام Asyncio تختفي في بيئة الإنتاج عند عدم حفظها – أصلحها باستخدام Set

في بيئة الإنتاج، يمكن لجامع القمامة (garbage collector) في بايثون استرداد مهام "أطلق وانسَ" (fire-and-forget) التي يتم إنشاؤها باستخدام asyncio.create_task إذا لم تحتفظ بمرجع لها، مما يتسبب في فشل صامت يظهر على شكل خطأ: "!Task was destroyed but it is pending".

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

واجهة برمجة تطبيقات Web Locks تمنع خمس علامات تبويب من إغراق خادم المصادقة بطلبات التحديث

من خلال تغليف اعتراض Axios 401 داخل طلب navigator.locks، تقوم علامة تبويب واحدة فقط بإجراء تحديث الشبكة، بينما تقرأ علامات التبويب الأخرى رمز JWT الجديد من localStorage، مما يقضي على تسلسل هجمات إعادة التشغيل (replay-attack) التي تؤدي إلى تسجيل خروج المستخدمين.

WebDev · 4 دقيقة قراءة

SearchValues تقلل وقت المسح إلى 3.3 مللي ثانية على مخازن مؤقتة بحجم 32 ميجابايت – أسرع بـ 1.7 مرة من IndexOfAny

عندما تؤتي SearchValues ثمارها حقاً، يطلق الناس على SearchValues<T اسم "كود غش". يقولون إنها تجعل مسح النصوص أسرع بخمس مرات. أنا أقوم بصيانة محلل سجلات يستخدم IndexOfAny. أنا أق...

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

مختبر Founder Lab يكتشف تذبذب درجة نية الذكاء الاصطناعي بمقدار نقطتين في متجر Shopify لم يتغير

أظهر فحص نفس متجر Shopify التابع لـ Founder Lab ست مرات أن التقييم الإجمالي ظل عند 78، إلا أن الدرجة الفرعية للنية القائمة على الذكاء الاصطناعي قفزت بين 4 و6، مما يثبت أن التغييرات الطفيفة في الدرجات قد تكون مجرد ضوضاء إحصائية.

WebDev · 4 دقيقة قراءة