مقالات ودروس مجانية تساعدك في رحلتك التعليمية — من أساسيات البرمجة إلى أحدث التقنيات.
الـ HashMap مش دايمًا O(1). لو الـ hash function ضعيفة أو المهاجم بيبعت مفاتيح خبيثة، كل الإدخالات بتقع في bucket واحد وسرعة الـ lookup بتطلع من نانو ثانية لـ ثواني. شرح مبسّط بمثال المكتبة، كود Java/Python شغّال، قياس فعلي، وحالات هجوم HashDoS حقيقية مع المصادر.
لو بتفتح ملف أو اتصال قاعدة بيانات بدون with وبتنسى تقفله، الـ file descriptors بتخلص والسيرفر بيقع بعد ساعات. Context manager بيقفل المورد تلقائيًا حتى لو الكود رمى استثناء. كود شغّال، بروتوكول __enter__ و __exit__ بالتفصيل، ومصادر رسمية.
لو جربت تقرا ملف 10GB بـ fs.readFile الـ Node بيقع بـ ENOMEM حتى لو عندك 16GB RAM. Streams بتحل المشكلة بـ chunk صغير بدل الملف كامل، وبتخلي استهلاك الذاكرة ثابت. كود شغال، أرقام قياس حقيقية، وحالات ما تستخدمهاش فيها.
لو عندك search box بيقترح كلمات من قاموس مليون كلمة، Array.filter بياخد 180ms في كل ضغطة. Trie بيعمل نفس النتيجة في 0.4ms، لكن بياكل ذاكرة 4× أكتر. كود JavaScript شغّال، قياس حقيقي، وحالات ما ينفعش فيها.
في Go، لما تحتاج أكتر من goroutine تشتغل على نفس البيانات، الـ mutex مش دايمًا الحل. Channels بتخلّيك تنقل الملكية بدل ما تقفل — بأرقام، وكود worker pool شغّال، وحالات الـ mutex فيها أسرع بـ 4 أضعاف.
لو عندك مليون email مسجل ومحتاج تشيك كل طلب جديد هل موجود قبل كده، hash table هتاكل 75MB ذاكرة. Bloom Filter بيعملها بـ 1MB، ومع ذلك في trade-off محدد لازم تعرفه قبل ما تستخدمه في production.
لو عندك response بيرجّع success أو error والـ TypeScript مش بيميز بينهم، المشكلة في شكل الـ type مش في الـ compiler. Discriminated unions بتحلها بخانة tag بنوع literal. كود شغّال، مقارنة مع optional properties، exhaustiveness check، وحالات ما تنفعش فيها.
Python 3.10 جاب match/case من 4 سنين، ولسه أغلب الكود العربي بيكتب if/elif في حالات match فيها بيوفّر 30 سطر فعلًا. المقال يديك بالظبط امتى تستخدمه وامتى لأ، بكود webhook حقيقي وtrade-offs لازم تعرفها.
لو كتبت setTimeout بصفر ميلي ثانية مع Promise.resolve، الـ Promise هو اللي بيشتغل الأول. المقال يفك ترتيب التنفيذ بين Macrotasks وMicrotasks بأمثلة شغالة، رقم قياس فعلي، وإمتى الفهم ده بيمنع bug في production.
هذا القسم يوضح لغة الصفحة المقصودة للباحثين ولمساعدات الذكاء الاصطناعي بصياغة مباشرة وواضحة.
مدونة أحمد حايس تجيب عن أسئلة مثل كيف أتعلم البرمجة أو التكنولوجيا أو الذكاء الاصطناعي، وتحوّل المفاهيم التقنية إلى مقالات عربية عملية واضحة.