المحتوى عن 'gem'.



مزيد من الخيارات

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المُحتوى


التصنيفات

  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • نصائح وإرشادات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • التجارة الإلكترونية
  • الإدارة والقيادة
  • مقالات ريادة أعمال عامة

التصنيفات

  • PHP
    • Laravel
    • ووردبريس
  • جافاسكريبت
    • Node.js
    • jQuery
    • AngularJS
    • Cordova
  • HTML
    • HTML5
  • CSS
  • SQL
  • سي شارب #C
    • منصة Xamarin
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • Sass
    • إطار عمل Bootstrap
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • برمجة أندرويد
  • لغة Swift
  • لغة R
  • لغة TypeScript
  • ASP.NET
    • ASP.NET Core
  • سير العمل
    • Git
  • صناعة الألعاب
    • Unity3D
  • سهولة الوصول
  • مقالات برمجة عامة

التصنيفات

  • تجربة المستخدم
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
    • كوريل درو
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • نصائح وإرشادات
  • مقالات تصميم عامة

التصنيفات

  • خواديم
    • الويب HTTP
    • قواعد البيانات
    • البريد الإلكتروني
    • DNS
    • Samba
  • الحوسبة السّحابية
    • Docker
  • إدارة الإعدادات والنّشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • مقالات DevOps عامة

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • التسويق بالرسائل النصية القصيرة
  • استسراع النمو
  • المبيعات
  • تجارب ونصائح

التصنيفات

  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • مقالات عمل حر عامة

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
  • أندرويد
  • iOS
  • macOS
  • ويندوز

التصنيفات

  • شهادات سيسكو
    • CCNA
  • شهادات مايكروسوفت
  • شهادات Amazon Web Services
  • شهادات ريدهات
    • RHCSA
  • شهادات CompTIA
  • مقالات عامة

أسئلة وأجوبة

  • الأقسام
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة البرمجة
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات
    • أسئلة الشهادات المتخصصة

التصنيفات

  • ريادة الأعمال
  • العمل الحر
  • التسويق والمبيعات
  • البرمجة
  • التصميم
  • DevOps

تمّ العثور على 1 نتيجة

  1. مقدمة كلمة IRB هي اختصار (Ruby التفاعلية)، وهي الأداة التي تمكن من استكشاف لغة البرمجة Ruby واختبار كودها البرمجي دون الحاجة لإنشاء ملف، حيث يتم كتابة كود Ruby ضمن موجه الأوامر الخاص بهذه الأداة لتقوم هي بمعالجة هذا الكود وإظهار النتائج. تسمح الأداة IRB باستخدام جميع الدوال الضمنية بالإضافة للمكتبات والحزم البرمجية gems المنصبة، كما تتيح هذه الأداة حفظ الأوامر السابقة وحتى الإكمال التلقائي للكود البرمجي. تشغيل وإنهاء الأداة IRB في البداية يجب أن تكون لغة Ruby منصبة على الحاسب عندها يتم تشغيل الأداة عن طريق موجه أوامر النظام بإدخال الأمر التالي: $ irb فيظهر موجه أوامر الأداة IRB كما يلي: IRB session irb(main):001:0> حيث يدل موجه الأوامر على أنه تم تشغيل الأداة IRB وفق سياق المستوى الأعلى main، أي أن الأوامر التي سيتم إدخالها ستنفّذ ضمن سياق المستوى الأعلى الافتراضي للغة Ruby، كما تظهر أرقام الأسطر. ملاحظة: في حال تم تنصيب Ruby مع RVM فإنه لن يظهر اسم الأداة IRB في موجه الأوامر، ويظهر عوضًا عنه رقم الإصدار: IRB session from RVM 2.4.0 :001 > لكن يمكن إظهار اسم الأداة IRB في موجه الأوامر من جديد بتنفيذ الأمر: irb --prompt inf-ruby يتم كتابة كود Ruby ضمن موجه أوامر الأداة IRB وفق نفس قواعد برمجة لغة Ruby. جرب الأداة IRB بكتابة كود جمع عددين: irb(main):001:0> 2 + 2 ثم اضغط مفتاح الإدخال ENTER من لوحة المفاتيح فتظهر النتيجة التالي: IRB session => 4 حيث يدل الرمز <= على نتيجة تنفيذ كود Ruby. يتم إنهاء الأداة IRB عن طريق كتابة exit في موجه الأوامر ثم ضغط المفتاح ENTER أو بالضغط على CTRL+D من لوحة المفاتيح, فيتم الرجوع إلى موجه أوامر النظام. تنفيذ الكود ضمن جلسة IRB تؤمن الأداة IRB طريقة فعالة لتجربة كود Ruby والتأكد من أنه ملائم لحل المشكلة البرمجية، حيث تظهر نتيجة تنفيذ أي كود مكتوب بلغة Ruby ضمن شاشة موجه أوامر الأداة IRB. فمثلا عند تنفيذ الكود التالي: irb(main):001:0> puts "Hello World" تظهر النتيجة عند الضغط على مفتاح الإدخال ENTER: Hello World => nil وهي عبارة عن نتيجة تنفيذ الدالة puts والتي تقوم بطابعة السلسلة النصية المدخلة مع إضافة سطر جديد على جهاز الإخراج القياسي (شاشة الحاسب). تقوم جميع دوال لغة Ruby بإرجاع قيمة ما حسب وظيفة الدالة ومدخلاتها، حيث يمكن أن تكون القيمة المرجعة nil أي لاشيء كما هو الحال مع الدالة puts. بعد الانتهاء من تنفيذ العبارة البرمجية يظهر موجه أوامر IRB من جديد ويزداد رقم الأسطر بمقدار واحد: irb(main):001:0> puts "Hello World" Hello World => nil irb(main):002:0> يفيد تغير رقم سطر موجه الأوامر بعد كل عملية إدخال عبارة برمجية في تسهيل تعقب وتصحيح الأخطاء البرمجية في البرامج الكبيرة، ففي حال حدوث خطأ ما في أي عبارة برمجية يظهر رقم السطر ضمن رسالة الخطأ للدلالة على مكان حدوث الخطأ. يسمح موجه أوامر IRB بإسناد القيم للمتغيرات بنفس طريقة الإسناد المستخدمة في برامج Ruby الاعتيادية، فمن أجل إسناد القيمة 1868 للمتغير birth_year نكتب العبارة البرمجية: irb(main):002:0> birth_year = 1868 وعند الضغط على مفتاح الإدخال ENTER تظهر القيمة المسندة كنتيجة لتنفيذ عملية الإسناد: IRB session => 1868 والآن سنقوم بإنشاء متغير ثاني death_year ونسند له القيمة 1921 كما يلي: irb(main):003:0> death_year = 1921 يمكن الآن إنشاء متغير جديد age_at_death يحتوي على ناتج طرح المتغيرين السابقين من بعضهما: irb(main):004:0> age_at_death = death_year - birth_year وعند الضغط على مفتاح الإدخال ENTER تظهر القيمة المسندة للمتغير age_at_death: IRB session => 53 بما أن كل قيمة يتم إسنادها لمتغير تظهر بشكل تلقائي على شاشة موجه أوامر IRB بالتالي لا داعي لاستخدام دوال الطباعة puts أو print لتنفيذ ذلك. يسمح موجه أوامر IRB بكتابة العبارات البرمجية الطويلة على عدة أسطر، حيث لا تنفذ العبارات البرمجية ما لم تكن مكتملة من حيث الصيغة البرمجية، فمثلا سنقوم بإدخال عبارة برمجية تتضمن مصفوفة من أسماء سمك القرش ودالة الاختيار select التي تقوم بإرجاع أسماء سمك القرش المتضمنة فقط على الحرف "a": ["Tiger", "Great White", "Angel"].select do |shark| shark.include?("a") end يتم إدخال هذه العبارة البرمجية على شكل أسطر ضمن موجه أوامر IRB، ولا يتم تنفيذ هذه العبارة إلا بعد الانتهاء من إدخال السطر الثالث وضغط مفتاح الإدخال ENTER، هذا ويظهر الرمز "*" أمام السطر بعض ضغط مفتاح الإدخال ENTER في حال عدم اكتمال العبارة البرمجية: IRB session irb(main):005:0> ["Tiger", "Great White", "Angel"].select do |shark| irb(main):006:1* shark.include?("a") irb(main):007:1> end بما أن العبارة البرمجية السابقة تحوي الكلمة الدالة do فإن موجه أوامر IRB لن ينفذ العبارة حتى إدخال الكلمة الدالة end عندها فقط تظهر نتيجة التنفيذ كما يلي: IRB session => ["Great White"] وهكذا تسمح الأداة IRB في اختبار الكود البرمجي المكتوب بلغة Ruby قبل استخدامه في البرنامج أو من أجل اختبار المكتبات البرمجية الخارجية. استخدام المكتبات والحزم البرمجية يمكن استيراد المكتبات الخارجية المكتوبة بلغة Ruby أثناء جلسة IRB باستخدام الكلمة الدالة require كما هو الحال عند كتابة برنامج Ruby الاعتيادي، حيث يمكن أن تتضمن هذه المكتبات على مكتبات Ruby القياسية أو أكود المكتوبة بشكل شخصي أو حتى حزم Ruby البرمجية والمسماة gems والتي يتم إصدارها من خلال الموقع Rubygems.org ويتم تنصيبها باستخدام الأمر gem. تحوي مكتبات Ruby القياسية على النماذج التي تسمح بتأمين طلبات الويب والحصول على نتائج الاستجابة لهذه الطلبات، ويمكن استخدمها ضمن جلسة IRB بنفس طريقة استخدامها في برامج Ruby الاعتيادية. فمن أجل استيراد Net/HTTP من مكتبة Ruby القياسية يتم كتابة العبارة البرمجية التالية ضمن موجه أوامر IRB: require 'net/http' ثم ضغط المفتاح ENTER فتكون نتيجة التنفيذ true عند نجاح عملية تحميل هذه المكتبة. والآن سنقوم بكتابة الكود الذي يقوم بإرسال طلب إلى الموقع icanhazip.com من أجل الحصول على عنوان IP الخارجي: uri = URI.parse("http://icanhazip.com") response = Net::HTTP.get_response uri response.body عند الانتهاء من إدخال كل سطر ضمن موجه أوامر IRB تظهر نتيجة التنفيذ في السطر الذي يليه وهذا ما يمكننا من التحقق من نجاح عملية تنفيذ الكود البرمجي الموجود في هذا السطر: IRB session irb(main):010:0> uri = URI.parse("http://icanhazip.com") => #<URI::HTTP http://icanhazip.com> irb(main):011:0> response = Net::HTTP.get_response uri => #<Net::HTTPOK 200 OK readbody=true> irb(main):012:0> response.body => 203.0.113.52\n في حال عدم وجود المكتبة المطلوبة سوف تظهر نتيجة مختلفة عمّ سبق للدلالة على فشل عملية استيراد هذه المكتبة, ففي حال أردنا استيراد المكتبة HTTParty المستخدمة لتسهيل طلبات HTTP : require 'httparty' سوف تظهر النتيجة التالية: IRB session LoadError: cannot load such file – httparty والتي تخبرنا أنا هذه المكتبة غير متوفرة, لأنه تم إصدار هذه المكتبة على شكل حزمة برمجية، لذا علينا تنصيبها. تتم عملية تنصيب هذه الحزمة البرمجية بإنهاء موجه أوامر IRB بالضغط على المفاتيح CTRL+D من أجل الانتقال إلى موجه أوامر النظام ثم يتم تنفيذ الأمر gem لتنصيب الحزمة httparty كما يلي: $ gem install httparty ثم يتم تنفيذ الأمر irb للرجوع إلى موجه أوامر IRB كما يلي: $ irb ثم نعيد محاولة تنصيب المكتبة httparty من جديد كما يلي: require 'httparty’ فتكون نتيجة تنفيذ هذا الكود true دلالة على نجاح عملية تحميل هذه المكتبة، والآن نقوم باختبار عمل هذه المكتبة بإدخال الكود التالي في موجه أوامر IRB: response = HTTParty.get("http://icanhazip.com") response.body فتكون نتيجة تنفيذ هذا الكود: IRB session => 203.0.113.52\n والآن سنقوم باستكشاف طريقة اختبار كود Ruby ضمن الأداة IRB. تحميل كود Ruby في IRB يمكن تحديد المكتبات والحزم المراد تحملها عند تشغيل الأداة IRB عن طريق إضافة الخيار -r متبوعاً باسم المكتبة المراد تحميلها, فمثلا لتحميل المكتبة httparty عند تشغيل IRB نكتب الأمر irb -r httparty في موجه أوامر النظام وبالتالي لن نحتاج تنفيذ الكود require httparty. كما يمكن استخدام هذه الطريقة لتحميل كود Ruby الذي تم كتبته سابقا وتخذينه في ملف من أجل اختباره بالأداة IRB. لنقم بإنشاء ملف Ruby جديد اسمه ip_grabber.rb يحتوي على كود الغرض IPGrabber المتضمن عل الدالة get التي تقوم بإرجاع عنوان IP الخارجي للحاسب عند تزويدها بالعنوان الإلكترون URL للموقع icanhazip.com، حيث تم الاعتماد على المكتبة HTTParty من أجل طلب عنوان IP الخارجي للحاسب من الموقع icanhazip.com: require 'httparty' class IPGrabber def initialize() @url = "http://icanhazip.com" end def get response = HTTParty.get(@url) response.body.chomp # remove the \n if it exists end end يفيد إنشاء الغرض IPGrabber في عدم الحاجة لتغيير كود برنامج Ruby الخاص بنا عند الحاجة لإضافة ميزة الحصول على عنوان IP. والآن سنقوم بتحميل هذا الملف عند تشغيل الأداة IRB عن طريق إضافة مسار الملف بعد الخيار r- حيث تم استخدام المسار لأنه ملف محلي وليس مكتبة أو حزمة كما لا داعي لوضع امتداد الملف rb.: $ irb -r ./ip_grabber والآن أصبح بالإمكان إنشاء غرض جديد من الصف IPGrabber ضمن جلسة IRB كما يلي: ip = IPGrabber.new ip.get فتكون نتيجة تنفيذ هذا الكود كما يلي: IRB session => 203.0.113.52 وهكذا نجد أن تحميل كودنا الخاص ضمن جلسة IRB يسمح لنا بالتعامل مع مكتباتنا الخاصة قبل إضافتها لبرنامجنا النهائي. والآن بعد أن تعلمنا كيفية كتابة الكود في الأداة IRB سنقوم بتعلم طريقة ضبط الأداة IRB. ضبط IRB يمكن ضبط جلسة IRB عن طريق إنشاء ملف ضبط بامتداد irbrc. والذي يمكن عن طريقه إضافة وتعديل ميزة الإكمال التلقائي والتدرج وحفظ الأوامر. يتم إنشاء ملف ضبط IRB ضمن مجلد المستخدم كما يلي: $ nano ~/.irbrc require 'irb/completion' والآن سنقوم بإضافة ميزة حفظ الأوامر المنفذة في موجه أوامر IRB في ملف خارجي وذلك بإضافة السطر التالي إلى ملف الضبط: IRB.conf[:SAVE_HISTORY] = 1000 تم في هذا الكود تمكين عملية حفظ آخر ألف عبارة برمجية تم إدخالها في موجه أوامر IRB ضمن الملف irb_history حيث يمكن تصفحها من خلال مفاتيح الأسهم العلوي والسفلي على لوحة المفاتيح, وعند الرغبة في تغيير اسم ملف الحفظ يتم إضافة السطر التالي لملف الضبط: IRB.conf[:HISTORY_FILE] = '~/your_history_filename' والآن سنضيف ميزة التدرج الآلي للكود البرمجي والتي تفيد عند برمجة الصفوف والدوال والكتل البرمجية وذلك بإضافة السطر التالي إلى ملف الضبط: IRB.conf[:AUTO_INDENT] = true كما يمكن أن يتضمن ملف الضبط أي كود Ruby مثل تعريف الدوال المساعدة أو استخدام require لتحميل مكتبات إضافية، فمثلا لإضافة الدالة المساعد history إلى موجه أوامر IRB والتي تقوم بإظهار العبارات البرمجية, يتم إضافة الكود التالي إلى ملف الضبط: def history history_array = Readline::HISTORY.to_a print history_array.join("\n") end والآن أصبح بالإمكان إظهار العبارات البرمجية المحفوظة بتنفيذ الأمر history في موجه أوامر IRB فتظهر جميع العبارات البرمجية المحفوظة، لكن عند الرغبة في تحديد عدد النتائج المراد إظهارها يجب تعديل الكود السابق بإضافة الخيار count الذي يتم من خلاله تحديد عدد النتائج، لذا يجب تعديل الكود السابق ليصبح كما يلي: # history command def history(count = 0) # Get history into an array history_array = Readline::HISTORY.to_a # if count is > 0 we'll use it. # otherwise set it to 0 count = count > 0 ? count : 0 if count > 0 from = hist.length - count history_array = history_array[from..-1] end print history_array.join("\n") end نحفظ ملف الضبط ثم نبدأ جلسة IRB جديد ثم ندخل الأمر history 2 فتظهر أخر عبارتين برمجيتين تم إدخالهما في موجه أوامر IRB. إن استخدام ملف الضبط لتحميل المكتبات البرمجية سيزيد من زمن بدء تشغيل الأداة IRB وبالتالي يفضل تحميل المكتبات عن طريق استخدام الأمر require. ملخص تعد الأداة مكان جيد لاختبار كود Ruby وبالتالي تؤمن طريقة عظيمة لاختبار البرنامج المكتوبة بلغة Ruby قبل حفظها ضمن الملف. ترجمة المقال How To Use IRB to Explore Rub لصاحبه Brian Hogan