مستودعات GitHub التي يجب على كل مهندس برمجيات معرفتها

بصراحة، بينما كنت أتصفح الإنترنت، صادفت مقالًا ممتازًا بعنوان “GitHub Repositories Every Software Engineer Should Know”، أي “مستودعات GitHub التي يجب على كل مهندس برمجيات معرفتها”. الفكرة هي أن الكاتب قام بترتيب هذه المستودعات حسب الفئة، مما يسهل الوصول إلى ما تحتاجه.

أقسام المقال

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


خرائط الطريق (Roadmaps)

خرائط الطريق هي دليلك للتعلم. وأول ما يتبادر للذهن هو خريطة الطريق الصفراء الشهيرة.

1. roadmap.sh

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

على سبيل المثال، إذا أردت تعلم Full Stack Development، ستجد خريطة طريق كاملة يمكنك تحميلها أو مشاركتها. تبدأ الخريطة بالأساسيات مثل HTML و CSS. إذا ضغطت على JavaScript، ستجد قائمة بالمواضيع التي تحتاج إلى تعلمها، مع روابط لمصادر مثل:

ملاحظة: قد تجد بعض المصادر المدفوعة، ولكن بشكل عام، الموقع موثوق جدًا وخرائط الطريق التي يقدمها ممتازة ومنظمة.

يمكنك الوصول إلى أي خريطة طريق مباشرة عبر الرابط: roadmap.sh/ متبوعًا باسم التقنية (مثل react أو vue).

2. Awesome Roadmaps

هذا المستودع يقسم المحتوى بطريقة ممتازة:

إذا أردت تعلم Angular، ستجد خريطة طريق مفصلة لها. هذا المستودع هو النسخة القديمة من موقع roadmap.sh، لكن تقسيمه للمواضيع لا يزال مفيدًا جدًا.


الكتب والمدونات والمواقع (Books, Blogs, and Websites)

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

كتب باللغة الإنجليزية

المستودع يحتوي على كتب باللغة الإنجليزية مقسمة حسب لغة البرمجة والموضوع. على سبيل المثال، إذا بحثت عن كتب حول لغة C، ستجد قائمة بالكتب المتاحة مع روابط تحميل مباشرة بصيغة PDF أو رابط للموقع الرسمي للكتاب.

كتب باللغة العربية

الأمر المثير للإعجاب هو وجود قسم خاص بالكتب العربية لتعلم البرمجة، ومعظمها كتب جيدة. من بينها:

دورات مجانية باللغة العربية

ستجد أيضًا قسمًا للدورات المجانية باللغة العربية، مقسمة حسب الموضوع. على سبيل المثال:

البودكاست

يوجد أيضًا قسم للبودكاست بلغات متعددة، بما في ذلك اللغة العربية. ستجد معظم البودكاست العربية التقنية مدرجة هنا.

أفضل المواقع للمبرمجين

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


الخوارزميات (Algorithms)

ستجد هنا مجموعة من المستودعات لتعلم الخوارزميات، وأفضلها في رأيي هو Awesome Algorithms.

Awesome Algorithms

يقسم هذا المستودع المصادر حسب نوعها:

إذا كنت تفضل التعلم من يوتيوب، ستجد روابط لقوائم تشغيل ممتازة مثل تلك التي يقدمها freeCodeCamp.


أنماط التصميم (Design Patterns)

هنا ستجد مجموعة من المستودعات حول أنماط التصميم، وأفضلها هو Awesome Design Patterns.

Awesome Design Patterns

هذا المستودع مفصل للغاية، حيث يقسم أنماط التصميم حسب لغة البرمجة التي تفضلها. كما يحتوي على أقسام خاصة بالهندسة المعمارية العامة (General Architecture)، وهندسة العميل (Client Architecture)، والهندسة بدون خوادم (Serverless Architecture). إنه مستودع عبقري لأي شخص يريد تعلم أنماط التصميم.


تصميم الأنظمة (System Design)

ستجد هنا أيضًا مجموعة من المستودعات التي تعلمك تصميم الأنظمة.

System Design 101

هذا المستودع مناسب جدًا للمبتدئين، حيث يغطي كل ما تحتاجه من الألف إلى الياء. يتميز بتنظيمه الممتاز، حيث يحتوي على جدول محتويات (Table of Contents) في ملف README.md، مما يسهل عليك العثور على ما تبحث عنه. كما يتضمن رسومًا توضيحية لشرح الأفكار.

ملاحظة: هذا المستودع من إنشاء قناة ByteByteGo، وهي من أفضل القنوات لتعلم المفاهيم التقنية بسرعة. شروحاتهم لمواضيع مثل RESTful API، Docker، Git، و Webhooks ممتازة جدًا.


مصادر التصميم (Design Resources)

إذا كنت تعمل في مجال تطوير الواجهات الأمامية (Frontend)، فإن مستودع Awesome Design Tools هو كنز حقيقي.

Awesome Design Tools

يحتوي هذا المستودع على كل ما قد تحتاجه من أدوات التصميم:

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


المشاريع والدروس التعليمية (Projects and Tutorials)

إذا كنت من محبي التعلم القائم على المشاريع (Project-Based Learning)، فهذا القسم لك.

Project Based Learning

يعلمك هذا المستودع التقنيات واللغات من خلال بناء المشاريع. على سبيل المثال، لتعلم JavaScript، ستجد دورة لبناء 30 مشروعًا في 30 يومًا، مما يعلمك أساسيات اللغة من خلال التطبيق العملي.

App Ideas

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

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


التحضير للمقابلات (Interview Preparation)

إذا كنت تستعد لمقابلة عمل، فهذه المستودعات ستكون مفيدة جدًا لك.

Awesome Interview Questions

هذا المستودع ممتاز جدًا، حيث يجمع أسئلة المقابلات مقسمة حسب الموضوع. إذا كنت تستعد لمقابلة في الخوارزميات، ستجد كتيبات تحتوي على كل ما تحتاجه من أسئلة ومواضيع.


هذا كان استعراضًا سريعًا لمجموعة من المستودعات المفيدة جدًا لأي شخص في مجال البرمجة. لن تندم أبدًا على تصفحها. يمكنك أخذ نسخة من أي مستودع (Fork) أو تحميله كملف مضغوط (ZIP) للاحتفاظ به على جهازك.

شارك المقال

أحدث المقالات

CONNECTED
ONLINE: ...
SECURE
00:00:00