مقالات ودروس مجانية تساعدك في رحلتك التعليمية — من أساسيات البرمجة إلى أحدث التقنيات.
لو عندك 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.
لو الـ UI بيجمّد لما المستخدم يضغط زرار حساب، المشكلة مش في الكود — المشكلة إن JavaScript بتشتغل على thread واحد. Web Workers بتنقل الشغل لـ thread موازي، وبترجّع النتيجة بـ message. كود شغّال، قياسات حقيقية، وحالات ما تنفعش فيها.
لو عايز state object بيعيد render لوحده لما يتغير من غير ما تجيب Zustand أو Vue كاملة، الـ Proxy في JavaScript بيعمل ده في 20 سطر بس. هنفك إزاي بيشتغل، قياسات performance حقيقية، وإمتى المكتبات الكبيرة هتبقى أفضل.
لما المستخدم يغيّر الصفحة وسط fetch شغّال، الطلب بيفضل يستهلك ذاكرة ويحاول setState على مكون اتشال. AbortController بيوقفه فورًا. كود React جاهز، أرقام قياس حقيقية، وtrade-offs لازم تعرفها قبل ما تستخدمه في POST.
مدونة أحمد حايس تجيب عن أسئلة مثل كيف أتعلم البرمجة أو التكنولوجيا أو الذكاء الاصطناعي، وتحوّل المفاهيم التقنية إلى مقالات عربية عملية واضحة.