أساسيات الحاسب والبرمجة الأدلة التقنية

المهندس الشامل: لماذا يحتاج كل تقني إلى البرمجة وLinux والشبكات معاً، من هاكرز الستينات إلى عصر الذكاء الاصطناعي

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

المهندس الشامل: لماذا يحتاج كل تقني إلى البرمجة وLinux والشبكات معاً، من هاكرز الستينات إلى عصر الذكاء الاصطناعي

هناك سؤال يتكرر كثيراً هذه الأيام بين الطلاب والمطورين بصيغ مختلفة: هل ما زال تعلم البرمجة مفيداً بعد أن أصبح الذكاء الاصطناعي AI يكتب الكود؟ وهل أتخصص في Frontend أم Backend أم DevOps أم الأمن السيبراني Cybersecurity، أم أنتظر حتى تتضح الصورة؟ وأنا أفهم هذا القلق جيداً، ولكني أعتقد أن السؤال نفسه يبدأ من المكان الخطأ، لأن الذي يجعل المهندس ذا قيمة اليوم هو نفس الشيء الذي جعله ذا قيمة قبل ستين سنة: أن يفهم النظام كاملاً، من الكود الذي يكتبه إلى نظام التشغيل الذي يشغله إلى الشبكة التي تنقل بياناته.

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

وهذا المقال ليس دليلاً تقنياً كباقي أدلة الموقع، وإنما هو رأيي الشخصي، وقصة حب مع هذه الصنعة أرجو أن تعيد إليك شيئاً من الشغف الذي جعلك تختار هذا المجال، وسوف نناقش فيه ما يلي:

  • من أين جاءت كلمة هاكر، وكيف ولدت في نادي للقطارات الصغيرة في MIT.
  • كيف جمع الهاكرز الأوائل البرمجة ونظام التشغيل والشبكات، من Spacewar! إلى Unix وTCP/IP.
  • ماذا تعني الكلمة في تعريفاتها الأصلية، ولماذا تحول معناها عند الناس إلى المخترق المخرب.
  • الاتساع والعمق: المهندس على شكل T، ولماذا تسكن الأعطال بين الطبقات.
  • الخوف من الذكاء الاصطناعي، وما الذي يتغير فعلاً وما الذي لا يتغير.
  • خريطة الموقع كاملة في صورة واحدة، ومسار مقترح لمن يبدأ من الصفر.

تحت طاولة القطارات: من أين جاءت كلمة هاكر؟

في خريف 1958 دخل طالب جديد اسمه بيتر سامسون Peter Samson إلى غرفة نادي القطارات الصغيرة Tech Model Railroad Club واختصاراً TMRC، وهو من أقدم الأندية الطلابية في MIT تأسس في العام الدراسي 1946 و1947. ويحكي ستيفن ليفي Steven Levy في كتابه Hackers: Heroes of the Computer Revolution الصادر سنة 1984 أن سامسون رأى فوق الطاولة مدينة صغيرة وقطارات مصنوعة بعناية، ولكنه عندما نظر تحت الطاولة وجد شيئاً أدهشه أكثر: شبكة ضخمة من المرحلات Relays والمفاتيح والأسلاك الملونة، فقرر أن يفهم كيف تعمل، وخلال أيام كان قد أنهى أربعين ساعة من العمل على المجسم وحصل على مفتاح الغرفة.

وكان النادي منقسماً إلى فريقين، فريق يحب صناعة القطارات وتلوينها وبناء المناظر، وفريق اسمه لجنة الإشارات والطاقة Signals and Power يهتم بما تحت الطاولة: النظام الذي يتحكم في القطارات، وكان كثير من قطعه مرحلات ومعدات تبديل تبرعت بها شركة الهاتف، وبها بنى الطلاب طريقة تسمح لعدة أشخاص أن يتحكموا في قطارات مختلفة على المسار نفسه عبر قرص هاتف عادي. لاحظ أن هذه في الحقيقة شبكة تبديل Switching Network صغيرة، أي أن أول من سموا أنفسهم هاكرز كانوا يعملون على شيء قريب جداً من الشبكات قبل أن يلمسوا أي حاسب.

وفي هذا النادي ولدت الكلمة بمعناها الذي نعرفه، فبحسب ليفي كان «ال Hack» عند أعضاء النادي مشروعاً يصنع من أجل متعة العمل نفسه وليس من أجل هدف عملي فقط، وكانت الكلمة تحمل احتراماً كبيراً، لأن العمل حتى يسمى Hack يجب أن يكون فيه ابتكار وأسلوب وبراعة تقنية، وكان أكثر أعضاء لجنة الإشارات إنتاجاً يسمون أنفسهم هاكرز بفخر. وفي ملف المصطلحات Jargon File أن الكلمة تبنتها ثقافة الهاكرز حول TMRC ومختبر الذكاء الاصطناعي في MIT في الستينات.

جزء من مجسم نادي TMRC في MIT يظهر فيه مبنى محطة ركاب ومبان شاهقة مصغرة وقطارات فضية على المسارات، وخلف الزجاج ورشة النادي
محطة ركاب ومدينة مصغرة على مجسم نادي TMRC في MIT سنة 2011، ومن تحت طاولة مثل هذه بدأت كلمة Hack. الصورة: Josh Graciano، بترخيص CC BY-SA 2.0، المصدر: Wikimedia Commons (تم تصغيرها وتحويلها إلى WebP، والنسخة متاحة بالرخصة نفسها).

ثم في شتاء 1958 و1959 اكتشف هؤلاء الطلاب حاسباً تجريبياً اسمه TX-0 في أحد مختبرات MIT، وكان يسمح لهم بأن يجلسوا أمامه ويكتبوا البرنامج ويعدلوه ويروا النتيجة مباشرة، وهذا كان نادراً في زمن كانت الحواسيب فيه تشغل بالدفعات Batch عبر موظفين مختصين. ويصف سامسون البرمجة على TX-0 بأنها كانت مثل العزف على آلة موسيقية باهظة الثمن، تستطيع أن ترتجل عليها وتؤلف. وأنا كلما قرأت هذا الوصف تذكرت أن ما نفعله كل يوم هو في أصله فن، وأننا ننسى ذلك تحت ضغط المواعيد والتذاكر Tickets.

وحول هذا الحاسب تشكل ما يسميه ليفي أخلاقيات الهاكر Hacker Ethic، ومنها أن الوصول إلى الحواسيب وإلى كل ما يعلمك كيف يعمل العالم يجب أن يكون مفتوحاً، وأن تتعلم بيديك Hands-On، وأن المعلومات يجب أن تكون حرة، وأن الهاكر يحكم عليه بعمله وليس بشهادته أو عمره أو منصبه، وأنك تستطيع أن تصنع فناً وجمالاً على الحاسب. ومن هنا تفهم لماذا ارتبطت ثقافة الهاكرز لاحقاً بالمصادر المفتوحة، وهو موضوع شرحناه في دليل البرمجيات مفتوحة المصدر وتراخيصها.

من لعبة على PDP-1 إلى نظام تشغيل وشبكة

وفي 1961 بدأ ستيف راسل Steve Russell مع زملائه في MIT كتابة لعبة اسمها Spacewar! على حاسب PDP-1 الجديد، ثم حسنها في ربيع 1962 بيتر سامسون نفسه مع Dan Edwards وMartin Graetz، كما يذكر متحف تاريخ الحاسب Computer History Museum، ولم يكن الهدف منها تجارياً، بل كانت برنامجاً كتبه شباب يحبون ما يفعلون، ثم صارت الشركة المصنعة تستخدمها لتعرض قدرة الحاسب على عملائها.

صورة بالأبيض والأسود لفينت سيرف بلحية بيضاء ونظارة وبدلة داكنة ينحني على صندوق التحكم ويداه على أزراره وهو يلعب Spacewar
فينت سيرف Vint Cerf، أحد مصممي TCP/IP، يلعب Spacewar! على حاسب PDP-1 سنة 2007. الصورة: Joi Ito، بترخيص CC BY 2.0، المصدر: Wikimedia Commons (تم تصغيرها وتحويلها إلى WebP).

وتعجبني هذه الصورة لأنها تجمع الخيوط كلها: لعبة كتبها هاكرز البرمجة في الستينات، يلعبها بعد خمسة وأربعين عاماً رجل حصل مع روبرت كان Robert Kahn على جائزة تورنغ Turing Award لعام 2004 عن تصميم بروتوكولات الإنترنت الأساسية TCP/IP.

والقصة نفسها تتكرر في Bell Labs، ففي 1969 وجد كين تومسون Ken Thompson حاسب PDP-7 قليل الاستخدام، فأعاد كتابة لعبة اسمها Space Travel عليه مع دينيس ريتشي Dennis Ritchie، ومن هذه التجربة بدأ يكتب نظام التشغيل الذي صار Unix، كما يحكي ريتشي في ورقته The Evolution of the Unix Time-sharing System. ويقول ريتشي في الورقة نفسها إنهم لم يريدوا بيئة جيدة للبرمجة فقط، وإنما نظاماً تجتمع حوله رفقة من الناس، وهذا عندي من أجمل ما كتب عن هذه المهنة. ثم صنع ريتشي لغة C، وفي صيف 1973 أعادوا كتابة نواة Unix بها كما يذكر في تاريخ لغة C، وقد رويت هذه القصة بالتفصيل في قصص لغات البرمجة ومن صنعها، ورأينا ما يحدث تحت الغطاء عندما تشغل أول برنامج في Hello World من لوحة المفاتيح إلى الشاشة.

لاحظ هنا أن نفس الأشخاص كتبوا لغة البرمجة ونظام التشغيل معاً، ولم يكن هناك فصل بين «مطور» و«مدير نظام». ثم جاءت الشبكات: ففي أغسطس 1983 صدر نظام 4.2BSD من جامعة Berkeley بتمويل من DARPA وفيه تطبيق لبروتوكولات TCP/IP داخل نظام التشغيل نفسه، وكان دينيس ريتشي من أعضاء اللجنة التي وجهت تصميمه، كما يروي مارشال كيرك ماكوزيك Marshall Kirk McKusick في Twenty Years of Berkeley Unix. وبهذا الشكل اجتمعت البرمجة ونظام التشغيل والشبكات في نظام واحد، وهو الأساس الذي ورثته أنظمة Linux وBSD التي تشغل كثيراً من سيرفرات الإنترنت اليوم.

ماذا تعني كلمة هاكر في الأصل؟

إذا فتحت تعريف كلمة Hacker في Jargon File فسوف تجد سبعة معان كلها عن المهارة والشغف: الشخص الذي يستمتع باستكشاف تفاصيل الأنظمة القابلة للبرمجة وتوسيع قدراتها، بعكس أغلب المستخدمين الذين يتعلمون الحد الأدنى فقط، والشخص الذي يبرمج بحماس، والخبير في برنامج معين كما نقول «Unix hacker». أما المعنى الثامن، وهو الشخص الذي يتطفل ليكشف المعلومات الحساسة، فيصفه الملف بأنه معنى مرفوض Deprecated، ويقول إن الكلمة الصحيحة له هي Cracker.

ونفس الفكرة تجدها في وثيقة رسمية من وثائق الإنترنت، وهي RFC 1392 الصادرة في يناير 1993 بعنوان Internet Users' Glossary، والتي تعرف الهاكر بأنه شخص يستمتع بفهم عميق لطريقة عمل نظام ما، والحواسيب والشبكات خصوصاً، وتنبه إلى أن الكلمة تستخدم كثيراً في سياق سلبي بينما الكلمة الصحيحة في هذا السياق هي Cracker، وهو من يحاول دخول الأنظمة دون إذن. لاحظ أن التعريف الرسمي ذكر الشبكات صراحة.

وفي مقال How To Become A Hacker يصف إريك ريموند Eric S. Raymond ثقافة الهاكرز بأنها مجتمع من «expert programmers and networking wizards»، أي مبرمجين خبراء وسحرة شبكات، ويذكر أن هؤلاء بنوا الإنترنت وجعلوا Unix ما هو عليه اليوم. ثم يضع المهارات الأساسية التي يجب أن يبدأ بها أي شخص يريد أن يكون هاكراً، وهي: أن يتعلم البرمجة، وأن يثبت أحد أنظمة Unix مفتوحة المصدر مثل Linux ويستخدمه ويديره، وأن يتعلم الويب ويكتب HTML، وأن يتعلم الإنجليزية إذا لم يكن يتقنها. وهي في رأيي نفس القائمة التي أنصح بها أي شخص يبدأ اليوم، مع إضافة الذكاء الاصطناعي.

وفي نقاش في مجتمع r/AskOldPeople على Reddit يسأل صاحبه هل كان مبرمجو الستينات والسبعينات يسمون هاكرز، ويتذكر فيه بعض من عملوا في تلك الفترة أن الكلمة كانت مديحاً للمبرمج الماهر. وهو نقاش مجتمعي وليس مصدراً تاريخياً، ولكنه يبين أن المعنى السلبي الذي تسمعه في الأخبار اليوم جاء متأخراً، وأن المعنى الأصلي ما زال حياً عند من عاشوه.

الصورة التالية تبين أهم المحطات في هذه القصة، من النادي إلى عصر الذكاء الاصطناعي، وكل محطة ملونة بالمجال الذي أضافته إلى صورة الهاكر الكامل:

خط زمني مرسوم من اليمين إلى اليسار: تأسيس TMRC في 1946، وهاكرز النادي يكتشفون TX-0 في 1959، وSpacewar على PDP-1 في 1962، وولادة Unix في 1969، ونواة Unix بلغة C في 1973، و4.2BSD مع TCP/IP في 1983، وكتاب Hackers لليفي في 1984، وRFC 1392 في 1993، والطبعة الثانية من Hacking: The Art of Exploitation في 2008، وتقرير مستقبل الوظائف في 2025، وكل محطة ملونة بمجالها
محطات في قصة الهاكر: الثقافة والبرمجة ونظام التشغيل والشبكات ثم الذكاء الاصطناعي

كتاب واحد يجمع البرمجة والذاكرة والشبكات

وإذا أردت دليلاً عملياً على أن هذه المجالات لا تنفصل، فانظر إلى كتاب Hacking: The Art of Exploitation لجون إريكسون Jon Erickson، وطبعته الثانية صدرت من No Starch Press في فبراير 2008. فصول الكتاب بالترتيب هي: البرمجة Programming، ثم الاستغلال Exploitation، ثم الشبكات Networking، ثم ال Shellcode، ثم الحماية المضادة Countermeasures، ثم التشفير. أي أنك لا تستطيع أن تفهم كيف تستغل ثغرة Buffer Overflow دون أن تعرف لغة C وكيف تترتب الذاكرة في نظام التشغيل، ولا تستطيع أن تصل إلى سيرفر بعيد دون أن تفهم الشبكة، ولا تستطيع أن تكتب Shellcode دون أن تعرف لغة Assembly واستدعاءات النظام System Calls.

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

الاتساع والعمق: المهندس على شكل T

وقد يتساءل البعض: هل تعني دعوتي إلى الاتساع أن يعرف المهندس قليلاً عن كل شيء ولا يتقن شيئاً؟ والإجابة لا، والفكرة التي أقصدها لها اسم معروف هو المهندس على شكل T، أو T-shaped. وينسب انتشار المصطلح في عالم الحاسب إلى مقال David Guest في صحيفة The Independent سنة 1991 عن مستقبل وظائف الحوسبة، كما يوثق مقال T-shaped skills في Wikipedia، ثم اشتهر أكثر عندما شرحه Tim Brown رئيس شركة التصميم IDEO في مقابلة مع Chief Executive في يناير 2010: الخط العمودي في حرف T هو عمق المهارة في مجال واحد، والخط الأفقي هو القدرة على التعاون مع التخصصات الأخرى وفهمها، حتى يصل الشخص إلى أن يمارسها بنفسه.

الصورة التالية تبين الفرق بين ثلاثة أشكال من المهندسين: المتخصص الضيق الذي يتقن عموداً واحداً وحوله فجوات، والمهندس على شكل T الذي يملك نفس العمود ومعه خط أفقي من الأساسيات، والمهندس على شكل π الذي بنى تخصصاً ثانياً على نفس الأساس:

ثلاث لوحات مرسومة: المتخصص الضيق I-shaped بعمود برتقالي واحد للـ Backend وحوله مربعات مخططة بالأحمر للبرمجة وLinux والشبكات والبيانات والذكاء الاصطناعي، والمهندس الشامل T-shaped بنفس العمود ومعه صف أزرق من الأساسيات، والمهندس π-shaped بعمودين أحدهما للأمن فوق نفس الصف
العمود هو التخصص، والخط الأفقي هو الأساسيات التي تجعلك ترى ما حول تخصصك

لاحظ أن العمود موجود في الأشكال الثلاثة، فأنا لا أطلب منك أن تترك تخصصك، وإنما أن تبني تحته أرضاً صلبة. والسبب أن الخط الأفقي هو الذي يجعل العمود الثاني ممكناً: المطور الذي يعرف Linux والشبكات يستطيع أن يتعمق لاحقاً في الأمن أو في ال SRE خلال أشهر، بينما المطور الذي لا يعرفها سوف يبدأ من الصفر في كل مرة.

الأعطال تسكن بين الطبقات

لنأخذ مثالاً يتكرر في كل فريق: المستخدمون يشتكون أن زر الدفع يعطي أحياناً خطأ 504 Gateway Timeout. مطور الواجهة يفتح المتصفح فيرى الخطأ ويحول التذكرة إلى فريق ال Backend، ومطور ال Backend يفتح سجلات التطبيق فلا يجد أي خطأ ويحولها إلى فريق البنية التحتية، وتبقى التذكرة تدور بين الفرق أياماً. أما من يعرف أن 504 بحسب مواصفة HTTP في RFC 9110 يعني أن السيرفر الوسيط، أي ال Reverse Proxy، انتظر رد التطبيق ولم يصله في الوقت المحدد، فسوف يذهب مباشرة إلى سجل ال Reverse Proxy ويقرأ توقيت الطلب، ثم يسأل: هل التطبيق بطيء؟ أم أن ال Connection Pool لقاعدة البيانات ممتلئ؟ أم أن السيرفر نفسه وصل إلى حد الملفات المفتوحة؟ وغالباً يجد السبب في دقائق.

الصورة التالية تبين الطبقات السبع التي يمر بها طلب واحد، وأشهر الأعطال التي تختبئ في كل طبقة، وكم يرى منها كل شخص:

سبع طبقات مرقمة من اليمين إلى اليسار: المتصفح ثم DNS ثم الشبكة TCP وTLS ثم سيرفر Linux ثم ال Reverse Proxy ثم التطبيق ثم قاعدة البيانات، وتحت كل طبقة أعطالها مثل CORS وNXDOMAIN وTimeout والقرص الممتلئ و502 و504 وException وConnection Pool ممتلئ، وتحتها أقواس تبين أن مطور الواجهة يرى الطبقة الأولى ومطور ال Backend يرى الأخيرتين والمهندس الشامل يرى الطبقات كلها
طلب واحد وسبع طبقات: من يرى الطريق كاملاً يعرف أين يبحث بدلاً من أن يخمن

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

والصناعة نفسها تعترف بذلك، فحركة DevOps قامت على هدم الجدار بين من يكتب الكود ومن يشغله، وهندسة الموثوقية SRE تطلب من المهندس أن يكتب الكود ويفهم الشبكة ويقرأ مقاييس السيرفر في الوقت نفسه، وأمن التطبيقات AppSec وDevSecOps يطلبان من المطور أن يفكر كالمهاجم. وكل هذه المراحل تجدها في خارطة الطريق في مرحلة DevOps وCI/CD ومرحلة الأداء والموثوقية SRE ومرحلة أمن التطبيقات AppSec.

هل يأخذ الذكاء الاصطناعي مكانك؟

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

وقد رأينا هذا عملياً في دليل أتمتة الاختبارات بالذكاء الاصطناعي، حيث كتب نموذج محلي اختباراً لدالة فيها خطأ مقصود، فحسب القيمة المتوقعة من الكود نفسه، ونجح الاختبار وهو يحرس الخطأ بدلاً من أن يكشفه. ومن يكتشف هذا؟ المطور الذي يفهم المنطق ويعرف ما يجب أن تكون عليه النتيجة. وكذلك عندما يقترح عليك النموذج إعداداً ل Nginx أو قاعدة في ال Firewall، فإن من يعرف الشبكات وLinux سوف يرى فوراً أن الإعداد يفتح منفذاً للعالم كله، ومن لا يعرفها سوف ينسخه ويشغله.

لذلك أعتقد أن الذكاء الاصطناعي يرفع قيمة الأساسيات ولا يلغيها، لأنه يضاعف سرعة من يفهم ويضاعف أخطاء من لا يفهم. وهذا يتفق مع تقرير مستقبل الوظائف 2025 من المنتدى الاقتصادي العالمي WEF، الذي يتوقع أن يتغير أو يتقادم في المتوسط 39% من مهارات العامل الحالية بين 2025 و2030، وأن تكون أسرع المهارات نمواً هي الذكاء الاصطناعي والبيانات الضخمة AI and Big Data، ثم الشبكات والأمن السيبراني Networks and Cybersecurity، ثم الثقافة التقنية Technological Literacy، ومعها الفضول والتعلم المستمر Curiosity and Lifelong Learning. لاحظ أن الشبكات والأمن جاءت مباشرة بعد الذكاء الاصطناعي في تقرير عن المستقبل، وليس في كتاب عن الستينات.

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

ماذا ستجد في هذا الموقع؟

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

خريطة ذهنية مرسومة في مركزها دائرة بنفسجية مكتوب فيها المهندس الشامل، وحولها سبع بطاقات ملونة: الأساسيات (البرمجة وLinux والشبكات وDNS والسيرفر والعتاد)، وDocker والوصول والشبكات الخاصة (Docker وReverse Proxy وCloudflare وVPN)، والهوية والأمن (SSO وAppSec والدفاع والاختبار وGRC)، والتطبيقات والخدمات (البريد والمنصات والمحادثة والملفات وأنظمة الأعمال)، والبيانات (قواعد البيانات والتخزين والطوابير والبحث وذكاء الأعمال)، والتشغيل وDevOps (CI/CD والمراقبة وSRE وتصميم الأنظمة وKubernetes)، ومجالات متخصصة (الذكاء الاصطناعي والهوم لاب والكاميرات والبلوكتشين)، مع شعار كل أداة
خريطة عرب رووت: سبع مجموعات حول المهندس الشامل، وكل مجموعة مرتبطة بمراحلها في خارطة الطريق

وفيما يلي نمشي على الخريطة نفسها، مجموعة بعد مجموعة، مع رابط لكل مرحلة في خارطة الطريق وأهم المقالات المنشورة فيها.

الأساسيات: الأرض التي تبني عليها كل شيء

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

دليلمصطلحات الاستضافة الذاتية Self-hosting للمبتدئينمرجع مبسط لأهم المصطلحات التي سوف تقابلها في أدلة الاستضافة الذاتية، بأسمائها الإنجليزية كما تظهر في لوحات التحكم، مع شرح قصير لكل منها.دليلماذا يحدث عندما تشغل برنامج Hello World؟نتتبع برنامج C صغيراً من المحرر إلى الشاشة، فترى كل طبقة يمر بها في الجهاز حتى تظهر الجملة أمامك.دليلكيف يصل الإنترنت إلى بيتك؟ من ال Router إلى الكابلات البحريةنتتبع طلباً واحداً من حاسوبك إلى سيرفر في بلد آخر ثم عودته، فتعرف من يحمله في كل محطة ولماذا يتأخر الرد.دليلشرح DNS وسجلاته للمبتدئين بمثال حقيقيكيف يتحول اسم نطاقك إلى عنوان سيرفرك، وما وظيفة كل سجل تضيفه في لوحة النطاق، والأخطاء التي تضيع فيها الساعات عادة.

Docker والوصول والشبكات الخاصة: كيف تصل خدماتك إلى الناس بأمان

بعد أن تفهم السيرفر والشبكة، تتعلم كيف تشغل التطبيقات داخل ال Containers في مرحلة Docker، وكيف توصلها إلى الإنترنت عبر Reverse Proxy وشهادات TLS في مرحلة الوصول والحماية، وكيف تضع أمامها Cloudflare أو بديلاً له في مرحلة الحماية والتسريع، وكيف تصل إلى ما يجب أن يبقى خاصاً عبر الشبكات الخاصة وVPN. لاحظ أن كل هذه المرحلة هي شبكات ونظام تشغيل في ثوب جديد.

دليلتثبيت Docker Engine وCompose على Ubuntuكيف تثبت Docker على Ubuntu من المستودع الرسمي، وتضبطه من البداية حتى لا يمتلئ القرص أو تنكشف منافذك للإنترنت.دليلشبكات Docker وأفضل الممارسات مع Docker Composeلماذا يبقى المنفذ الذي تنشره في Compose مفتوحاً للإنترنت رغم ufw، وكيف تصل التطبيقات إلى بعضها عبر شبكات Docker دون نشر منافذ.دليلNginx Proxy Manager: نطاقات وشهادات TLS لكل خدماتككيف تربط كل خدمة على سيرفرك بنطاقها وتمنحها شهادة HTTPS مجانية من واجهة بسيطة، دون أن تكتب إعدادات Nginx بنفسك.دليلما هو VPN؟ الشبكة الخاصة الافتراضية من المشكلة إلى الأنواعلماذا تحتاج شبكة خاصة افتراضية VPN، وكيف تغلف حزمك وتشفرها داخل نفق، وأي نوع منها يناسب فريقك.

الهوية والأمن: أن تفكر كالمدافع وكالمهاجم

في هذه المجموعة تتعلم كيف يدخل المستخدمون إلى خدماتك بحساب واحد في مرحلة الدخول الموحد SSO، وكيف تحمي الكود نفسه في مرحلة أمن التطبيقات AppSec، وكيف تراقب وتكتشف وتستجيب في مرحلة الدفاع والاختبار، وكيف تنظم ذلك كله في الحوكمة والمخاطر والامتثال GRC. وهذه هي المجموعة التي يظهر فيها الفرق بين Hacker وCracker بوضوح: نفس المعرفة، ولكن بإذن ومن أجل الحماية.

دليلإدارة الهوية والوصول IAM والوصول المميز PAMمن يملك صلاحية root على سيرفراتك ومنذ متى، وكيف تضبط حسابات المديرين بصلاحيات مؤقتة وجلسات مسجلة.دليلشرح OAuth وOpenID Connect للمبتدئينلماذا لا يجب أن يعرف أي تطبيق كلمة مرورك، وكيف يحل OAuth ذلك بتوكنات محدودة، وكيف يضيف OpenID Connect الدخول الموحد.دليلنمذجة التهديدات Threat Modeling للمبتدئينكيف تسأل ما الذي قد يسوء في تصميم تطبيقك قبل أن تكتب الكود، وتقرر لكل تهديد هل تصلحه أو تقبله، مع قالب جاهز للنسخ.دليلالتحقيق الرقمي DFIR للمبتدئين: احفظ الأدلة قبل أن تنظف السيرفرماذا تفعل عندما تشك أن سيرفرك مخترق، ولماذا تمسح إعادة التشغيل والتنظيف الأدلة التي تحتاجها لتعرف ما حدث.

التطبيقات والخدمات: الأدوات التي يستخدمها فريقك كل يوم

وهنا تستخدم كل ما سبق لتشغل أدوات حقيقية لفريقك: منصات النشر التي تبسط إدارة التطبيقات، وتطبيقات الفريق مثل Gitea وNocoDB، والمحادثة، والملفات، والبريد الإلكتروني الذي أعتبره أفضل اختبار لفهمك للشبكات، لأنه يجمع DNS والشهادات والسمعة والبروتوكولات القديمة في مكان واحد.

دليلكيف تستضيف بريد مؤسستك بنفسك، من القرار إلى التشغيلمتى تستضيف بريد شركتك بنفسك ومتى يكون البريد المستضاف أنسب، وكيف تنقل المستخدمين على مراحل دون أن تضيع رسالة.دليلكيف يعمل البريد الإلكتروني؟ SMTP وIMAP للمبتدئينماذا يحدث بين ضغطك على «إرسال» ووصول الرسالة، ولماذا ترتد بعض الرسائل، وأي منفذ تفتح لكل غرض.دليلGitea: خادم Git خاص لفريقك على سيرفرككيف تثبت Gitea على سيرفرك حتى يبقى كود فريقك عندك بتجربة تشبه GitHub، مع النسخ الاحتياطي والتحديث.دليلتثبيت Coolify لنشر التطبيقات من Git على خادمككيف تثبت Coolify على سيرفرك وتنشر تطبيقاتك من Git بضغطة زر كما تفعل في Heroku أو Vercel.

البيانات: حيث تعيش قيمة النظام

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

دليلتصميم قواعد البيانات: التطبيع Normalization ومتى تتخلى عنهلماذا يفشل الجدول الواحد الكبير، وكيف تقسمه إلى جداول لا تناقض نفسها، وما الذي يتغير عندما تكبر البيانات.دليلConnection Pooling: لماذا الاتصال بقاعدة البيانات مكلفلماذا تظهر رسالة too many clients عندما تزيد نسخ تطبيقك، وكيف يحل مجمع الاتصالات وPgBouncer هذه المشكلة.دليلعناقيد قواعد البيانات Database Clustering ومتى تحتاجهاماذا تعني كلمة Cluster في كل قاعدة بيانات، ومتى تحتاج نسخاً أو انتقالاً تلقائياً، ومتى يكفيك سيرفر واحد مع نسخ احتياطية جيدة.دليلأنواع التخزين وواجهة S3: أين تضع بيانات تطبيقك؟أين تضع قاعدة البيانات وملفات المستخدمين والنسخ الاحتياطية، ولماذا يناسب كلاً منها نوع مختلف من التخزين.

التشغيل وDevOps: من الكود إلى الإنتاج Production ثم البقاء فيه

وهذه المجموعة هي التي تجمع الخط الأفقي كله في عمل يومي: DevOps وCI/CD لتصل من Git إلى السيرفر، والمراقبة والسجلات لتعرف ما يحدث، والأداء والموثوقية SRE لتقيس وتحل الأعطال، وتصميم الأنظمة والأنظمة الموزعة لتفكر في الصورة الكبيرة، وKubernetes عندما يحتاجها حجمك فعلاً.

دليلاستكشاف الأخطاء وتحليل الأداء للمبتدئين: من العرض إلى السببعندما يبطئ الموقع أو يعطي 502، هذه طريقة منظمة توصلك من العرض إلى السبب قبل أن تخمن أو تشتري سيرفراً أكبر.دليلمدخل إلى تصميم الأنظمة: من سيرفر واحد إلى ملايين المستخدمينكيف يكبر متجر إلكتروني من سيرفر واحد إلى نظام يخدم ملايين المستخدمين، وما الثمن الذي تدفعه في كل خطوة.دليلأنواع الاختبارات للمبتدئين: من Unit إلى E2E مع Playwrightما الذي يكشفه كل نوع من الاختبارات وما الذي يفوته، وكم اختباراً تكتب من كل نوع، وأين يعمل كل منها في خط CI.دليلتعدد المستأجرين Multi-Tenancy في SaaS للمبتدئينكيف يخدم تطبيق SaaS واحد مئات العملاء دون أن يرى أحدهم بيانات غيره، وأي نموذج عزل يناسب تطبيقك.

مجالات متخصصة: الذكاء الاصطناعي وما بعده

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

دليلكيف تعمل نماذج اللغة الكبيرة LLM من الداخل؟كيف يحول النموذج سؤالك إلى أرقام ويختار الكلمة التالية حتى تكتمل الإجابة، ولماذا يخطئ بنفس الثقة.دليلمصطلحات الذكاء الاصطناعي ونماذج اللغة للمبتدئينشرح قصير مع مثال لكل مصطلح ستسمعه في نقاشات الذكاء الاصطناعي ونماذج اللغة، حتى تفهم ما يعرضه عليك أي فريق أو مزود.دليلتشغيل نماذج اللغة على جهازك: كم ذاكرة وأي GPU تحتاج؟كيف تحسب الذاكرة التي يحتاجها النموذج، وماذا تتوقع من جهازك الحالي قبل أن تشتري بطاقة رسومية GPU.دليلكيف يعمل البلوكتشين Blockchain ومتى لا تحتاجهما المشكلة التي يحلها البلوكتشين أصلاً وكيف يعمل من الداخل، ومتى تكون قاعدة البيانات العادية هي الحل الأصح.

من أين تبدأ؟ مسار مقترح للمبتدئ

إذا كنت تبدأ من الصفر، أو كنت متخصصاً وتريد أن تبني الخط الأفقي تحت تخصصك، فهذا هو الترتيب الذي أنصح به، وكل خطوة تبني على التي قبلها:

  1. المصطلحات والصورة العامة: ابدأ ب مصطلحات الاستضافة الذاتية حتى لا تتوقف عند كل كلمة.
  2. البرمجة: لغة واحدة تتقنها جيداً، وافهم ماذا يحدث عندما تشغل برنامجك كما في Hello World من لوحة المفاتيح إلى الشاشة، ثم أنماط البرمجة وأنظمة الأنواع.
  3. Git: لأن كل ما بعده يمر به، وابدأ من إدارة النسخ وGit للمبتدئين.
  4. Linux وسطر الأوامر: ثبت Linux على جهاز قديم أو سيرفر صغير واستخدمه يومياً، وتابع مرحلة Linux في الخارطة.
  5. الشبكات: كيف يصل الإنترنت إلى بيتك، ثم DNS وسجلاته، ثم HTTP وHTTPS.
  6. سيرفرك الأول: اختر VPS ثم أمنه من أول دخول.
  7. Docker والوصول: ثبت Docker، ثم ضع أمام تطبيقك Reverse Proxy مع شهادة TLS.
  8. قاعدة البيانات: صمم قاعدة بيانات لتطبيق صغير تكتبه بنفسك وانشره على سيرفرك.
  9. الأمن: افهم الهوية والصلاحيات في IAM وPAM، ثم فكر كالمهاجم مع نمذجة التهديدات.
  10. التشغيل: اختبر تطبيقك كما في أنواع الاختبارات، وتعلم منهجية استكشاف الأخطاء.
  11. الذكاء الاصطناعي: بعد كل ما سبق، سوف تقرأ كيف تعمل نماذج اللغة وأنت تفهم السيرفر والشبكة التي سيعمل عليها النموذج، وتحكم على مخرجاته بعين المهندس.
  12. اختر عمودك: الآن فقط اختر التخصص الذي تتعمق فيه، وستجد أن التعمق أسهل بكثير لأن الأرض تحته صلبة.

ولا تقم بمحاولة إنهاء كل خطوة بالكامل قبل التي بعدها، والسبب أن هذه المجالات تشرح بعضها، فستفهم الشبكات أكثر عندما تشغل Docker، وستفهم Linux أكثر عندما يتعطل سيرفرك أول مرة. المهم أن تمر على الخط الأفقي كله، ثم تعود إليه كلما احتجت.

كن هاكراً بالمعنى الأول

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

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

الخلاصة

  • كلمة هاكر ولدت في نادي TMRC في MIT في الخمسينات والستينات لوصف من يصنع شيئاً ببراعة ومن أجل متعة العمل، والمعنى المخرب جاء لاحقاً واسمه الصحيح Cracker كما في Jargon File وRFC 1392.
  • الهاكرز الأوائل جمعوا البرمجة ونظام التشغيل والشبكات، من Spacewar! على PDP-1 إلى Unix وC ثم TCP/IP داخل 4.2BSD، ومهارات ريموند الأساسية للهاكر ما زالت البرمجة وUnix والويب والإنجليزية.
  • المهندس على شكل T يتقن تخصصاً ويملك تحته خطاً أفقياً من الأساسيات، وهذا الخط هو الذي يجعله يجد الأعطال التي تسكن بين الطبقات ويبني تخصصاً ثانياً بسرعة.
  • الذكاء الاصطناعي يضاعف سرعة من يفهم ويضاعف أخطاء من لا يفهم، وتقرير WEF لعام 2025 يضع الذكاء الاصطناعي والبيانات ثم الشبكات والأمن في رأس المهارات الأسرع نمواً.
  • خريطة الموقع سبع مجموعات حول المهندس الشامل، وابدأ بالمصطلحات والبرمجة وGit وLinux والشبكات قبل أن تختار عمودك.

سجل التحديثات

  • أكتوبر 2026: كتابة المقال اعتماداً على كتاب Steven Levy وملف المصطلحات Jargon File وRFC 1392 ومقال Eric S. Raymond وأوراق Dennis Ritchie وصفحات متحف تاريخ الحاسب وناشر كتاب Jon Erickson وتقرير WEF لعام 2025، مع صور من Wikimedia Commons برخص حرة تم التحقق منها، ورسم الخريطة الذهنية من مجموعات خارطة الطريق.
نشرة عرب رووت | ArabRoot

معرفة تستحق مكاناً في بريدك.

مقالات مختارة وأدوات مفيدة وأفكار لمشروعك القادم، في رسالة واحدة كل أسبوع.

يمكنك إلغاء الاشتراك متى شئت. الخصوصية

تم استلام طلبك. افتح بريدك واضغط رابط التأكيد لإتمام الاشتراك.