أهم 7 مشاريع C مثيرة على GitHub للمبرمجين [2022]

نشرت: 2021-01-01

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

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

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

جدول المحتويات

لماذا تظل برمجة لغة سي مهيمنة؟

قدم عالم الكمبيوتر الأمريكي ، دينيس ريتشي ، لغة C في عام 1972 كلغة برمجة إجرائية للأغراض العامة مصممة لكتابة أنظمة التشغيل. سرعان ما أصبح معروفًا كلغة قوية وقوية في مجال تطوير البرمجيات ، لدرجة أن بعض الأسماء الأكثر شيوعًا اليوم مرتبطة بـ C.

تم تطوير Microsoft Windows و Apple's OS X و Symbian باستخدام C. علاوة على ذلك ، تم تطوير Chromium و MySQL و Oracle ومعظم تطبيقات Adobe باستخدام لغة البرمجة C. كما أنها تلعب دورًا أساسيًا في حياتنا اليومية ، حيث أن معظم الأدوات الذكية التي نستخدمها اليوم مدفوعة بالتكنولوجيا المبرمجة باستخدام C.

على الرغم من وجود العديد من الأسباب التي تجعل C لا تزال العمود الفقري لجميع لغات البرمجة اليوم ولها أداة مساعدة شاملة ، فلنلقِ نظرة على أهم 3:

1. المرونة

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

2. قابلية

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

3. البساطة

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

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

سجل في دورات تطوير البرمجيات من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

أهم مشروعات C في GitHub

1. نظام إدارة الموظفين

كما يتضح من عنوانه ، تم تصميم نظام إدارة الموظفين للاحتفاظ بسجل للموظفين العاملين في الشركة. الهدف من برنامج EMS هو تحسين الكفاءة في الإدارة من خلال توفير إطار عمل شامل لتبسيط عملية حفظ السجلات.

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

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

2. امسح محتويات محرك الأقراص

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

عمل المدونة:

الاستخدام: nuke <drive 1> [drive 2] ...

تدمير محتويات محرك الأقراص / محركات الأقراص.

خيارات:

-z، -0، –zero

-n، -num-reps

ص

-h ، –help

-V ، الإصدار

أمثلة:

nuke / dev / sdb

nuke / dev / sdb / dev / sdc

nuke -z / dev / sdb

nuke -n 2 / dev / sdb

يتطلب Nuke أن يكون للنظام امتيازات الجذر حتى يعمل البرنامج. بصرف النظر عن ذلك ، فإن GCC و GNU Make و PyQt5 مطلوبة.

جرب أيضًا: أفكار وموضوعات مشروع Java

3. نظام التصويت المصغر

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

على الرغم من أنه يمكن تشغيله على أي مترجم C ، إلا أنه يوصى باستخدام Turbo C ++.

عمل الكود:

ملف الرأس الذي يحمل الاسم ELECTION.H

هيكل CAND: الاستخدام: اسم المتاجر وعدد الأصوات

المهام:

candname: الاستخدام: يخزن معلومات المرشح في الهيكل بالإضافة إلى الملف

flcreate: الاستخدام: إنشاء لا "عدد". من الملفات تبدأ بـ "0"

isSpecial: Use: تحقق من وجود PRN فارغ من الملف

(ملاحظة: PRN عبارة عن لفة فريدة لا يتم تقديمها لكل طالب في الفصل.)

أصلي: الاستخدام: مصادقة PRN

delFromfile: الاستخدام: حذف تصويت PRN من ملف معين

استخدام المشرف: 1. بدء الانتخابات 2. استمرار الانتخابات 3. حذف التصويت غير القانوني 4. إعلان النتيجة

Stu Use: جميع الوظائف في نهاية الناخب

لوحة الادارة

اسم المستخدم: "Admin" كلمة المرور: "SR @ 3111"

4. تطبيق التقويم

يعد تطبيق التقويم مشروعًا بسيطًا آخر يمكن تطويره باستخدام C. ويمكن أن يكون بمثابة تقويم أثناء التنقل لأداء وظائف مختلفة.

يمكنك معرفة أي يوم بمجرد إدخال تاريخ اليوم. على سبيل المثال ، إذا كنت ترغب في معرفة اليوم الذي يوافق 25 ديسمبر 2022 ، فأنت بحاجة إلى إدخال اليوم (25) والشهر (ديسمبر) والسنة (2022). خرج البرنامج يوم الجمعة.

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

قراءة: مواضيع وأفكار مشروع بايثون

5. 3D Creation Suite

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

يسمح لك بكتابة أدوات تخصص مخصصة وفقًا لمتطلباتك وهو مصمم لخدمة المطورين والمصممين والمترجمين.

تمت كتابة مجموعة الإنشاءات ثلاثية الأبعاد بشكل أساسي باستخدام لغة C ولكن بها أيضًا آثار لـ C ++ و Python وعدد قليل من اللغات الأخرى.

6. تحديد البرامج الضارة

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

على سبيل المثال ، وفقًا للكود أدناه ، في أي وقت يأتي فيه البرنامج عبر الوصف (على سبيل المثال ، السلاسل الثلاثة المحددة) ، سيقوم بالإبلاغ عنها على أنها silent_banker.

حكم silent_banker: مصرفي

{

ميتا:

وصف = "هذا مجرد مثال"

مستوى التهديد = 3

in_the_wild = صحيح

سلاسل:

أ = {6A 40 68 00 30 00 00 6A 14 8D 91}

دولار ب = {8D 4D B0 2B C1 83 C0 27 99 6A 4E 59 F7 F9}

$ c = "UVODFRYSIHLNWPEJXQZAKCBGMT"

شرط:

$ a أو $ b أو $ c

}

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

يمكن تثبيت YARA وتشغيله على أنظمة تشغيل Windows و Linux و Mac OS X.

7. الوصول إلى هياكل البيانات

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

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

الأوامر المعنية بسيطة وسهلة التذكر. على سبيل المثال ، أمر الترجمة هو:

٪ صنع

يمكن تشغيل برنامج ثنائي Redis 32 بت باستخدام:

٪ جعل 32 بت

بعد تحديث المصدر ، إذا كنت ترغب في مسح كل شيء (jemalloc و lua و hiredis و linenoise) وابدأ من الصفر ، فاستخدم:

جعل توزيعه

هناك العديد من هذه الأوامر التي يمكن تنفيذها بواسطة Redis.

تم تصميم Redis للتشغيل على Linux و OSX و * BSD ولكن يمكن استخدامه أيضًا مع Solaris.

خاتمة

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

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

إذا كنت مهتمًا بمعرفة المزيد وتحتاج إلى الإرشاد من خبراء الصناعة ، فراجع upGrad & IIIT Banglore Executive PG Programme Full-Stack Software Development .

استعد لمهنة المستقبل

تقدم الآن للحصول على درجة الماجستير في هندسة البرمجيات