GyaanSetu WebDev

Frontend, backend and devops for the modern web.

244 articlesDeep, practical knowledge

يضغط المستخدمون على زر الرجوع أكثر من أي عنصر تحكم آخر تقريبًا في المتصفح، حيث يتوقعون أن

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

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

يبدو تحويل HTML إلى PDF سهلاً من الناحية النظرية. تقوم ببناء قالب مصقول، وتدرج بياناتك، وتتوقع مستنداً...

يبدو تحويل HTML إلى PDF سهلاً من الناحية النظرية. تقوم ببناء قالب مصقول، وتدرج بياناتك، وتتوقع مستنداً يطابق صفحة الويب بكسل بكسل. ولكن في الواقع، فإن العملية...

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

يمكن للمطورين العمل أسرع بعشر مرات بعد إعادة كتابة TypeScript 7 باستخدام لغة Go بشكل متوازٍ

TypeScript 7 هنا رسميًا. لقد صدر TypeScript 7. قامت مايكروسوفت بإعادة بناء النواة باستخدام لغة Go. هذا التغيير يجعل عملية تجميع الكود أسرع بكثير. ستشعر أن محرر الأكواد الخاص بك أصبح أسرع...

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

كاميرا الويب تشغل أفاتار VRM بمعدل 17.3 إطار في الثانية على M1 Max باستخدام MediaPipe

إعادة توجيه الحركة من كاميرا الويب إلى VRM في الوقت الفعلي. هل يمكن للمتصفح تشغيل أفاتار ثلاثي الأبعاد باستخدام كاميرا الويب فقط؟ قمت باختبار MediaPipe Holistic لمعرفة ما إذا كان بإمكانه تقدير حركات الجسم والوجه واليدين لـ...

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

بوت WhatsApp RAG ينهي مشكلة الهلوسة عبر فرض استشهادات بتنسيق JSON

يعتمد النموذج الأولي، المبني على PostgreSQL مع pgvector، على استبدال الأوامر (prompts) المطولة بمخطط JSON يتحقق من صحة كل معلومة. وفي حال عجز النموذج عن إرفاق معرف الجزء (chunk ID)، يتم رفض الرد وتظهر للمستخدم رسالة واضحة: «ليس لدي معلومات كافية للإجابة على ذلك».

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

الانتقال إلى اختبارات العقود قلل من أعطال الـ API من مرتين شهرياً إلى الصفر خلال ستة أشهر

أدى تحول الفريق من فحوصات الخادم الوهمي (mock-server) إلى اختبار العقود الموجه بالمستهلك إلى زيادة عدد العقود من 3 إلى 47، مما قضى على إخفاقات التكامل الشهرية وساهم في اكتشاف التغييرات الجذرية قبل وصولها إلى بيئة الإنتاج.

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

فقدان حركة مرور الذكاء الاصطناعي قد يكلف المواقع المتصدرة للنتائج ملايين الدولارات

تُظهر دراسة أجرتها Vercel-MERJ أن GPTBot وClaudeBot يقومان بتحميل ملفات HTML الخام فقط، متجاوزين عملية تنفيذ JavaScript. ونتيجة لذلك، يمكن لأطر العمل من جانب العميل مثل React أو Vue أن تهيمن على تصنيفات Google، بينما تظل غير مرئية لمساعدي الذكاء الاصطناعي مثل ChatGPT وBing AI.

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

Elevare’s AI Agent Slept on a Full Queue After RLS Hid All Jobs

The AI orchestrator queried the pending-jobs table, saw zero rows and entered idle mode, while an RLS policy silently filtered out every row for its service role. Jobs piled up unnoticed until the team added a canary-row check to expose the blind spot.

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

نظام حجز صناديق الوارد يمنع حالات تسابق بريد Cron من تعطيل التنبيهات

من خلال تخصيص معرف حجز فريد لكل عملية تشغيل Cron، والتصفية بناءً على الطوابع الزمنية والتصنيفات، وتسجيل البيانات الوصفية للحجز، يمكن للفرق منع الرسائل العشوائية من التسبب في تنبيهات مكررة أو فائتة، حتى عند مشاركة صناديق الوارد.

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

Open Interpreter يتيح لنماذج اللغات الكبيرة تشغيل الأكواد محلياً، مما يقلل تكاليف السحابة ويعزز الخصوصية

من خلال السماح لنماذج اللغات الكبيرة بإصدار أوامر shell وتشغيل البرامج النصية على جهاز المستخدم، يلغي Open Interpreter الحاجة إلى واجهات برمجة تطبيقات سحابية مكلفة مع الحفاظ على الملفات الحساسة محلياً، إلا أنه يفرض أيضاً على المطورين بناء بيئات معزولة وإجراءات للموافقة.

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

فريق الواجهة الأمامية يقلص حجم الحزمة إلى الصفر عبر تقنية Tree-Shaking لنماذج API وهمية آمنة النوع

قام الفريق ببناء طبقة نماذج وهمية (mock layer) مخصصة لبيئة التطوير فقط باستخدام Axios interceptors وتقنية tree-shaking الخاصة بـ Vite. ومن خلال ربط المعترض (interceptor) بـ import.meta.env.DEV، وعلم VITE_ENABLE_MSW مخصص، ومتغير MODE، يتم استبعاد كود النماذج الوهمية بالكامل من حزم الإنتاج، مما يحافظ على حجم الحزمة دون تغيير.

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

ثغرة البريد الإلكتروني في RamenHire حوّلت كل تنبيه توظيف إلى طُعم للتصيد الاحتيالي

سمحت هذه الثغرة لأي متقدم للوظيفة بحقن رابط "تحقق" مزيف في قالب البريد الإلكتروني (HTML)؛ حيث تم تخزين الحمولة البرمجية مع إدراج الوظيفة لتظهر في كل إشعار لاحق، إلى أن تمت إضافة أداة مساعدة جديدة escapeHtml، وأكدت اختبارات الوحدة والاختبارات المباشرة نجاح عملية الإصلاح.

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

اختبار الكود الخاص بي: ما كشفه اختبار العقود

اختبار الكود الخاص بي: ما كشفه اختبار العقود. كنت أظن أن مشروع محاكاة Zerodha الخاص بي قد اكتمل. لقد كان مشروعاً يعتمد على MERN stack مع Node في الخلفية (backend)، وReact في الواجهة الأمامية (frontend)، وMongoDB، وRazorpay...

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

بوت تسوق بالذكاء الاصطناعي بدون تكلفة يعمل داخل أي صفحة ويب – لا يتطلب مفتاح API

قام المؤلف بضبط نموذج LFM2.5 من LiquidAI، الذي يحتوي على 350 مليون معلمة، باستخدام مجموعة بيانات اصطناعية مكونة من 30 مليون رمز عبر وحدة معالجة رسومات (GPU) واحدة بسعة 16 جيجابايت، ثم أضاف ثماني أدوات مبرمجة مسبقاً وتقنية فك تشفير مقيدة بالقواعد النحوية، مما يتيح للوكيل التصفح وإضافة المنتجات وإتمام عملية الشراء بالكامل مباشرة على الجهاز.

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

فهرس عالمي مجاني يدرج 3,804 موانئ و9,640 مطاراً – دون الحاجة للتسجيل

يسحب الموقع البيانات من NGA World Port Index وUN/LOCODE وOurAirports، ويعالج التناقضات فيها، ويضيف ربطاً بين عمق المياه والسفن وبين المدارج والطائرات، ويتم تقديم كل ذلك عبر بناء ثابت باستخدام Next.js مع انعدام تكاليف الحوسبة المستمرة.

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

TypeScript تضيف معاملات نوع const لمنع توسيع القيم الحرفية في الـ Generics

يخبر المُعدل const الجديد الخاص بمعامل النوع المترجم باستنتاج أضيق نوع ممكن، بحيث تظل القيم الحرفية مثل "GET" حرفية عبر حدود الدوال، مما يلغي الحاجة إلى تكرار عمليات التحويل باستخدام as const.

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