00:00:00هل تعرف ما هو الأكثر إحباطاً من بناء مشروع ما؟ ألا تعرف ماذا تبني.
00:00:04في مرحلة ما من رحلتك كمطور، ستصل إلى هذه المرحلة الغريبة.
00:00:08بناء تطبيق CRUD آخر باستخدام إطار عمل JavaScript يبدو مملاً،
00:00:11لكن بناء نظام تشغيل من الصفر يبدو مستحيلاً. أنت عالق في المنتصف.
00:00:16لا تريد شيئاً سهلاً، ولا تريد المستحيل. تريد فقط شيئاً ذا معنى.
00:00:21شيء يمثل تحدياً كافياً ليرتقي بمستواك، ولكن ليس ساحقاً لدرجة أن تستسلم في منتصف الطريق.
00:00:26صدقني، لقد مررت بذلك. لذا في هذا الفيديو، سأعطيك بعض أفكار المشاريع الرائعة حقاً.
00:00:32لقد قسمت هذه المشاريع إلى ثلاثة مستويات. المستوى الأول: بناء أسسك. المستوى الثاني: التخزين،
00:00:38قواعد البيانات، وأنظمة البيانات. والمستوى الثالث: الأنظمة المتقدمة والبنية الداخلية.
00:00:44إذا قمت ببناء هذه المشاريع، فلن تصبح أفضل في البرمجة فحسب، بل ستبدأ بالتفكير
00:00:49مثل المهندسين. لنبدأ بالمستوى الأول. المشروع الأول هو بناء خادم HTTP الخاص بك من الصفر.
00:00:55إذا كنت تشاهد هذا، فمن المحتمل أنك تعرف ما هو خادم HTTP. في كل مرة تفتح فيها
00:01:01موقعاً إلكترونياً أو تستدعي واجهة برمجة تطبيقات (API)، هناك طلب واستجابة يحدثان خلف الكواليس.
00:01:06ولكن حتى الآن، لم تتعامل مع الأمر إلا من خلال أطر عمل مثل Express. إن بناء
00:01:12خادم HTTP مصغر خاص بك يجبرك على فهم ما يحدث حقاً في الأسفل. ستتعلم كيف تقوم
00:01:19مقابس TCP بإرسال واستقبال البيانات، وكيفية تحليل طلبات HTTP، وتنسيق الاستجابات، والتعامل مع طلبات متعددة
00:01:25بشكل متزامن. إذا كنت تشعر بالفعل بالارتباك حول كيفية البدء في هذه المشاريع،
00:01:30فلدي حل صغير لك في نهاية هذا الفيديو. تأكد من عدم تفويت ذلك. والآن لننتقل إلى المشروع الثاني.
00:01:35بناء "الصدفة" (Shell) الخاصة بك. لقد استخدمت أوامر مثل cd و ls و pwd مئات المرات.
00:01:40لكن هل فكرت يوماً فيما يعالج تلك الأوامر بالفعل؟ عندما تبني الـ Shell الخاصة بك،
00:01:46فإنك تنشئ ذلك النظام بنفسك. ستتعلم أشياء مثل قراءة وتحليل مدخلات المستخدم،
00:01:52وتنفيذ العمليات والتعامل مع استدعاءات النظام، وفهم مفاهيم مستوى نظام التشغيل مثل العمليات والأوامر.
00:01:58من خلال بناء الـ Shell الخاصة بك من الصفر، ستفهم أجهزة الكمبيوتر من مستوى عميق.
00:02:04الآن تبدأ الأمور في أن تصبح ممتعة. سنرى ما هي المشاريع في المستوى الثاني.
00:02:09المشروع الأول هنا هو بناء نظام Redis الخاص بك. Redis هو مخزن بيانات
00:02:15في الذاكرة يستخدم كذاكرة تخزين مؤقت، وقاعدة بيانات، ووسيط رسائل، وأكثر من ذلك. إنه سريع بشكل لا يصدق.
00:02:21لكن حتى تبني واحداً بنفسك، لن تفهم حقاً السبب. عندما تنفذ نسخة Redis الخاصة بك،
00:02:26ستتعلم كيف تعمل هياكل البيانات في الذاكرة. ستنفذ أوامر Redis الأساسية.
00:02:32ستفهم بروتوكول Redis. وستقوم بإدارة اتصالات عملاء متعددة بكفاءة باستخدام حلقات الأحداث (event loops).
00:02:38هذه مجرد بعض النقاط البارزة. لا يزال هناك العديد من الأشياء التي ستتعلمها بمجرد البدء
00:02:43في العمل على هذا. ستدرك أن هندسة البرمجيات هي أكثر من مجرد بناء تطبيقات CRUD.
00:02:48المشروع التالي هو بناء نظام GIT الخاص بك. أنت تستخدم GIT كل يوم، ولكن هل تعرف حقاً كيف يعمل؟
00:02:54عندما تبني نظاماً مبسطاً للتحكم في الإصدارات بنفسك، سيتضح لك كل شيء. ستفهم
00:03:00كيف يتم تخزين التعديلات (commits) داخلياً. ستنفذ التجزئة (hashing) وتخزين المحتوى القابل للعنونة.
00:03:05ستنظم لقطات الملفات في أشجار التعديلات. وهناك الكثير مما ستتعلمه وتنفذه.
00:03:11والشيء الرائع في البناء من الصفر هو أنه يمكنك تعديله ليعمل كما تشاء.
00:03:16أخيراً، مشروعنا الثالث هو بناء قاعدة بيانات SQLite الخاصة بك. SQLite هو محرك
00:03:22قاعدة بيانات لا يحتاج لخادم ويقوم بتخزين كل شيء في ملف واحد. على عكس MySQL أو Postgres،
00:03:29لا توجد عملية خادم منفصلة. إنه خفيف ولكنه قوي بشكل لا يصدق. عندما تبني نسختك الخاصة،
00:03:34ستفهم كيف يتم تنظيم البيانات باستخدام هياكل مثل B-trees. ستقوم بتحليل وتنفيذ
00:03:39استعلامات بسيطة. ستنفذ الفهرسة لاسترجاع البيانات بشكل أسرع. كمطور، لا يمكنك الهروب
00:03:45من قواعد البيانات. ولكن بمجرد أن تفهم كيف يعمل أحدها داخلياً، ستكون من بين القلة من المطورين المتميزين.
00:03:52الآن في المستوى الثالث، نذهب إلى عمق أكبر. المشروع الأول هنا هو بناء لغة برمجة مصغرة خاصة بك.
00:03:58نعم، لغتك الخاصة. ستنشئ شيئاً يقرأ الكود ويفهمه وينفذ التعليمات.
00:04:04ورغم أن ذلك يبدو مخيفاً، إلا أنه أحد أكثر المشاريع إجزاءً التي يمكنك بناؤها.
00:04:10ستتعلم وتنفذ أشياء مثل Lexer و Parser و Abstract Syntax Tree. والأهم من ذلك،
00:04:17ستفهم كيف تعمل المفسرات (interpreters) والمترجمات (compilers) فعلياً. هذا مشروع رائع لأنك ستفهم
00:04:22أخيراً كيف نتواصل فعلياً مع أجهزة الكمبيوتر. ويمكنك أيضاً التباهي بأنك أنشأت
00:04:27لغة برمجة وتسميتها بما تريد. المشروع الثاني هو بناء عميل BitTorrent الخاص بك.
00:04:32هنا يأتي دور الأنظمة الموزعة. BitTorrent هو نظام مشاركة ملفات من نظير إلى نظير
00:04:38حيث يقوم المستخدمون بتنزيل أجزاء الملف من عدة أقران بدلاً من خادم واحد.
00:04:44عندما تبني هذا، ستنفذ ميزة اكتشاف الأقران، وتدير الاتصالات بين العقد، وتقسم الملفات إلى
00:04:50أجزاء، وتضمن سلامة الملفات، وتتعامل مع الاتصالات الموزعة. هذا ليس مشروعاً سهلاً.
00:04:57أنا متأكد من أنك لم تفهم حتى نصف الأشياء التي قلتها للتو. لكنه يعلمك كيف تعمل
00:05:02الأنظمة الموزعة واسعة النطاق فعلياً. وأخيراً، مشروعنا الأخير هو بناء مساعدك البرمجي الخاص.
00:05:08شيء مشابه لـ Claude Code. أدوات الذكاء الاصطناعي الحديثة تبدو رائعة، ولكن في جوهرها،
00:05:14هي أنظمة تدمج نماذج لغوية كبيرة مع بنية البرمجيات التقليدية. عندما تبني
00:05:20واحداً بنفسك، ستقوم بدمج واجهة برمجة تطبيقات LLM في تطبيق ما. ستقوم بتحليل وفهرسة ملفات المشروع
00:05:27لتوفير السياق. ستدير المطالبات (prompts) وتتحكم في الاستجابات. ستصمم نظاماً
00:05:32يمزج الذكاء الاصطناعي مع مبادئ الهندسة الحقيقية. وبعد أن تبدأ العمل على هذا، ستفهم
00:05:38كيف تعمل أدوات البرمجة بالذكاء الاصطناعي الشهيرة هذه فعلياً. وليس هذا فحسب، فبما أن الذكاء الاصطناعي
00:05:44يحظى بضجة كبيرة اليوم، فهذا مشروع رائع ومليء بالتحديات يمكن أن يجعلك متميزاً. الآن لنكن صادقين.
00:05:50بعض هذه المشاريع صعبة. بناء نسخة من Redis أو Git أو عميل BitTorrent ليس
00:05:55شيئاً تنهيه ببساطة خلال عطلة نهاية الأسبوع. سوف تتعثر. سوف تشك في نفسك. وأحياناً
00:06:01لن تعرف حتى ما إذا كنت تنفذ الأمر بشكل صحيح. وهذا هو المكان الذي يستسلم فيه معظم الناس عادةً.
00:06:05للتعامل مع هذا، هناك منصة تسمى CodeCrafters. إنها منصة تعليمية قائمة على المشاريع
00:06:11حيث تعيد بناء أدوات مثل Redis و SQLite وخوادم DNS وخوادم HTTP خطوة بخطوة. هم لا
00:06:19يعطونك الحل، بل يقدمون لك اختبارات ومعالم منظمة. وأنت تقوم بتنفيذ كل شيء بنفسك.
00:06:23لقد استخدمتها شخصياً عند العمل على هذه المشاريع. وبصراحة، فإن وجود ذلك الاتجاه
00:06:29المنظم صنع الفرق بين الاستسلام والإنجاز. لذا إذا أعجبتك أفكار المشاريع هذه ولكن
00:06:34أردت توجيهاً بينما لا تزال تقوم بالعمل الحقيقي، سأترك رابطاً في الوصف. ولكن سواء استخدمت
00:06:39منصة أو عملت بمفردك تماماً، فإن الشيء المهم هو أن تبني بنفسك. إذا كنت قد قضيت وقتاً
00:06:45طويلاً في البحث عبر الإنترنت عن المشروع التالي لتبنيه، آمل أن يكون هذا قد أعطاك الوضوح.
00:06:51قد يبدو الأمر مخيفاً في البداية، لكن الماء البارد لا يصبح دافئاً حتى تقفز فيه. إذا أعجبك هذا
00:06:57النوع من الفيديوهات، تأكد من الإعجاب والاشتراك، وأخبرني بأي مشروع ستنوي البدء به.
00:07:02سأراكم في الفيديو القادم.