روبي جيمز
RubyGems هو مدير حزم للغة البرمجة Ruby ، يوفر تنسيقًا قياسيًا لتوزيع برامج ومكتبات Ruby ( في تنسيق مستقل يُسمى "gem")، وأداة مصممة لتسهيل إدارة تثبيت الحزم، وخادمًا لتوزيعها . تم إنشاؤه بواسطة تشاد فاولر ، وجيم ويريتش ، وديفيد آلان بلاك ، وبول برانان، وريتشارد كيلمر في عام 2004. [ 2 ]
واجهة RubyGems عبارة عن أداة سطر أوامر تُسمى gem ، تُستخدم لتثبيت وإدارة المكتبات (الجواهر). [ 3 ] يتكامل RubyGems مع مُحمِّل وقت تشغيل Ruby للمساعدة في العثور على الجواهر المُثبَّتة وتحميلها من مجلدات المكتبات القياسية. على الرغم من إمكانية استخدام مستودع RubyGems خاص ، إلا أن المستودع العام هو الأكثر شيوعًا لإدارة الجواهر.
يساعد المستودع العام المستخدمين في العثور على الأحجار الكريمة، وحل التبعيات ، وتثبيتها. يتم تضمين RubyGems مع حزمة Ruby القياسية بدءًا من Ruby 1.9. [ 4 ]
تاريخ
بدأ تطوير RubyGems في نوفمبر 2003 وتم إصداره للجمهور في 14 مارس 2004، أو يوم باي 2004. [ 5 ]
تم إنشاؤه بواسطة تشاد فاولر ، وجيم ويريتش ، وديفيد آلان بلاك ، وبول برانان ، وريتشارد كيلمر خلال مؤتمر روبي كونف 2004. [ 2 ]
في عام ٢٠١٠، انتقل المستودع العام الافتراضي للجواهر من gems.rubyforge.org إلى rubygems.org، والذي لا يزال قيد الاستخدام. كما نُقل تطوير RubyGems إلى GitHub في نفس العام. مع أن RubyGems موجود منذ إصدار Ruby 1.8، إلا أنه لم يكن جزءًا من توزيعة Ruby القياسية إلا في إصدار Ruby 1.9.
صدرت 38 نسخة في الفترة من 2004 إلى 2010. [ 5 ]
في السابق، كان التوافق بين RubyGems ولغة Ruby متفاوتًا. فالعديد من إصدارات RubyGems غير متوافقة تمامًا مع العديد من إصدارات Ruby، بل إن بعض الإصدارات كانت تفتقر إلى ميزات أساسية قابلة للاستخدام. على سبيل المثال، جاء Ruby 1.9 مزودًا بـ RubyGems 1.3.7 ضمن توزيعته القياسية، لكن RubyGems 1.4.x لم يكن متوافقًا مع Ruby 1.9. هذا يعني أن تحديث RubyGems على Ruby 1.9 لم يكن ممكنًا حتى إصدار RubyGems 1.5.0 في عام 2011، أي بعد عامين من أول إصدار مستقر من Ruby 1.9. [ 6 ] أدت مشكلات التوافق هذه إلى تطوير سريع لـ RubyGems، والتحول إلى جدول إصدارات كل 4-6 أسابيع، وزيادة عدد الإصدارات. [ 5 ]
صدرت 117 نسخة من عام 2011 إلى عام 2016. وصدرت 45 نسخة في عام 2013، وهو أعلى عدد من الإصدارات في عام واحد لـ RubyGems. [ 5 ]
بنية الجوهرة
تحتوي كل جوهرة على اسم وإصدار ومنصة. تعمل الجواهر فقط على لغة روبي المصممة لمنصة معينة بناءً على بنية وحدة المعالجة المركزية ونوع نظام التشغيل وإصداره. [ 7 ]
كل جوهرة تتكون من:
- شفرة
- الوثائق
- مواصفات الأحجار الكريمة (Gemspec)
يتبع تنظيم الكود البنية التالية لجوهرة تسمى gem_name :
اسم الجوهرة/ ├── bin/ │ └── اسم الجوهرة ├── lib/ │ └── gem_name.rb ├── اختبار/ │ └── test_gem_name.rb ├── README ├── Rakefile └── gem_name.gemspec
- يحتوي مجلد lib على رمز الجوهرة.
- يُستخدم دليل الاختبار (أو المواصفات) للاختبار.
- يستخدم Rakefile لأتمتة الاختبارات وإنشاء التعليمات البرمجية.
- يتضمن ملف README الوثائق، RDOC ، لمعظم الجواهر.
- يحتوي ملف مواصفات الجوهرة (gemspec) على معلومات حول مؤلف الجوهرة، ووقت إنشائها، والغرض الذي تخدمه الجوهرة.
مخاوف أمنية
بما أن الجواهر البرمجية تُشغّل شيفرتها الخاصة داخل التطبيق، فقد يؤدي ذلك إلى مشاكل أمنية متنوعة نتيجة تثبيت جواهر برمجية خبيثة. وقد يتمكن مُنشئ الجوهرة الخبيثة من اختراق نظام المستخدم أو خادمه. [ 8 ]
تم تطوير عدد من الأساليب لمواجهة التهديد الأمني:
- التوقيع المشفر للجواهر منذ إصدار RubyGems 0.8.11. يتم استخدام أوامر gem cert و gem install لهذا الغرض.
- تم اقتراح نماذج توقيع جديدة مثل X509 و OpenPGP ، ويجري مناقشتها بنشاط بين خبراء Ruby.
انظر أيضاً
مراجع
- ↑ "الإصدار 4.0.16" . 10 يوليو 2026. تم الاطلاع عليه في 10 يوليو 2026 .
- ١ ٢ "١٧٤ جوهرة روبي مع إريك هودل" . مؤرشف من الأصل بتاريخ ٢٠٢١-٠٧-٣١ . تم الاطلاع عليه بتاريخ ٢٠١٨-٠٥-٠٩ .
- ↑ "مرجع أوامر RubyGems" . guides.rubygems.org . تم الاطلاع عليه بتاريخ 18-09-2016 .
- ↑ "سجل تغييرات Ruby 1.9.1" . مؤرشف من الأصل بتاريخ 2022-01-17.
- 1 2 3 4 "سجل إصدارات RubyGems" . GitHub . تم الاطلاع عليه بتاريخ 18-09-2016 .
- ↑ "إصدار روبي 1.9.1" . www.ruby-lang.org . تاريخ الاسترجاع: 18-09-2016 .
- ↑ "ما هي الجوهرة؟ - RubyGems.org" . guides.rubygems.org . تم الاطلاع عليه بتاريخ 18-09-2016 .
- ↑ "الأمان - أدلة RubyGems" . guides.rubygems.org . تم الاطلاع عليه بتاريخ 23-09-2016 .
روابط خارجية
- أنظمة إدارة الطرود المجانية
- برنامج مجاني مكتوب بلغة روبي
