محمد الشيخ

محتوى عربي لكل مايتعلق بلغة Ruby وإطار العمل Rails

كيفية إعداد Rails API ليعمل على الجهاز المحلي

من الأمور التي يحتاج لها أي مطور / مبرمج هو الرجوع إلى ملفات التوثيق والمساعدة للتقنية التي يعمل عليها ومن الأفضل أن تكون هذه الملفات موجودة على الجهاز الذي يعمل عليه وبالنسبة لنا سنقوم بإعداد نسخة من ملفات التوثيق والمساعدة الخاصة ب ruby on rails على الجهاز المحلي والخطوات كما يلي :

قبل البدء سنحتاج إلى إعداد البرامج التالية على الجهاز

  • git .
  • rvm - ruby version manager .
  • ruby on rails .

يمكن الإستفادة من المواضيع السابقة التي تشرح كيفية إعداد ماسابق

الخطوة الأولى / إعداد مساحة خاصة gemset لحفظ الجيمات التي سنحتاج لها لاحقا ننفذ الأوامر التالية من Terminal :

config/application.rb
1
2
3
rvm gemset create railsdocs

rvm gemset use railsdocs

الخطوة الثانية / تنزيل مشروع rails من موقع github بتنفيذ الأمر التالي من Terminal:

config/application.rb
1
git clone http://github.com/rails/rails.git

بعد إنتهاء تنزيل النشروع نقوم بالدخول على مجلد المشروع وتنفيذ الأمر التالي ليتم تحميل الجيمات الخاصة بالمشروع :

config/application.rb
1
2
3
cd rails

bundle install --without db

الخطوة الثالثة / إنشاء ملفات المستندات بتنفيذ الأمر التالي :

config/application.rb
1
rake rdoc

بعد الإنتهاء سنجد أنه تم إنشاء ملفات التوثيق والمساعدة في مجلد rdoc والموجود في مجلد doc يمكننا الدخول وفتح صفحة index.html في المتصفح والبدء في إستعراض Rails API .

وأخيراً

يمكننا الآن نقل هذا المجلد وحفظه في أي مكان ، بعد نقل المجلد يمكن مسح مجلد مشروع rails والذي قمنا بتنزيله في السابق وايضا railsdocs gemset بتنفيذ مايلي :

config/application.rb
1
2
3
4
5
6
.. cd
rm -rf rails

rvm gemset delete railsdocs

rvm gemset use default

مشروع Selfstarter للتمويل الجماعي Crowd Funding

هذا المشروع هو عبارة عن منصة مصغرة لما يعرف بالتمويل الجماعي crowd funding وهو مشروع مفتوح المصدر تم بنائه من قبل الشركة الناشئة Lockitron وذلك بعد فشلها في جمع التمويل الذي تحتاج عن طريق موقع kickstarter , قرر أفراد الفريق القيام ببناء منصتهم الخاصة والتي تساعدهم على جمع التمويل اللازم لبناء مشروعهم الذي تعتمد فكرته على عمل حلول تقنية مبتكره لتحكم في قفل الأبواب عن طريق الهواتف الذكية مع العديد من الخدمات الأخرى Keyless entry using your phone يمكن الإطلاع على مزيد من تفاصيل المشروع من موقع الشركة Lockitron.

مميزات المشروع

  • سهولة التقنية التي بنائه بها وهي ruby on rails .
  • إمكانية التعديل على المشروع وسهولة نشره على الويب بإستخدام منصة herok .
  • خدمة الدفع الإلكتروني من آمازون Amazon Flexible Payments Service.

روابط متعلقة بالموضوع

كود النسخة العربية من selfstarter

عرض للنسخة العربية على الويب demo

مقال جيد يوضح مفهوم التمويل الجماعي من أراجيك

إرسال بريد إلكتروني من Rails بإستخدام ActionMailer

يمكن إرسال بريد إلكتروني عن طريق rails و ذلك بإستخدام ActionMailer في هذا الموضوع سنقوم بتجربة إرسال البريد وسنفترض أن لدينا نموذج إدخال بيانات لموظف يتكون من (الاسم - العمر - البريد ) ونريد إرسال رسالة تآكيد إلى الموظف بعد حفظ بياناته والخطوات كما يلي :

>> إنشاء تطبيق جديد للتجربة إرسال البريد

Terminal
1
rails new mailapp

>> إنشاء صفحة تسجيل بيانات الموظف والجداول المرتبطة بها بتنفيذ الاوامر التالية من Terminal

Terminal
1
rails g scaffold employee name:string age:integer email:string
Terminal
1
rake db:migrate

إضافة نظام إدارة المستخدمين إلى تطبيقات Rails بإستخدام Devise الجزء الأول

توجد عدة حلول جاهزة تسمح بإضافة نظام إدارة المستخدمين إلى التطبيقـــات المبنية ب ruby on rails ومن أهمهــا وأكثرهــا شهرة devise حيث يمكن للمطور إضافة نظام كامل لإدارة المستخدمين وفي وقت قياسي، يتكون devise من 11 وحدة او module فيما يلي شرح مختصر لكل منها :

  • Registrable يتم عن طريق هذه الوحدة إدارة (تسجيل - تعديل - حذف ) بيانات المستخدمين.

  • Database Authenticatable تخزين وتشفير معلومات المستخدمين في قاعدة البيانات والتحقق منها عند دخول المستخدم الى التطبيق.

ماهي Ruby Gems وطريقة إضافتها للتطبيقات Rails

ماهي RubyGem؟

هي عبارة عن برنامج أو حزمة برمجية مكتوبة بلغة Ruby و غالبا مايطلق عليها “gem” أو “gems” يتم إدارة هذه البرامج أو الحزم عن طريق برنامج Ruby Gems حيث يسمح بتحميل وإعداد وإدارة الجيمات gems و يوجد لكل gem إسم ورقم إصدار

1
gem "rake", "~> 10.0.4"

تستخدم الجيمات عادة لإضافة ميزة أو خاصية للتطبيقات أو البرامج المكتوبة بلغة ruby أو تطوير خاصية موجودة فعلا و يتم إنشاء العديد من الحزم gems من قبل المبرمجين لحل مشكلة ما او اضافة ميزة غير موجودة ومن ثم إتاحة الفرصة للآخرين لإستخدامها وإضافتها الى برامجهم وتطبيقاتهم مما يسهل ويوفر الكثير من الوقت للآخرين للعمل على أمور أخرى لم يتم حلها بعد ( لا داعي لإعادة اختراع العجلة!) يمكن الحصول عل مزيد من المعلومات من موقع rubygems

نشر تطبيق Ruby on Rails على Heroku

خطوات نشر تطبيق Rails على منصة العمل Heroku

التسجيل في الموقع وإعداد Toolbelt

ستجد في الرابط التالي موضوع مفصل عن طريقة التسجيل وإعداد نظام التشغيل للعمل مع هذه المنصة Heroku منصة عمل متكاملة للتطبيقات السحابية

إعداد تطبيق أو مشروع Ruby on Rails

لنشر التطبيق على Heroku نحتاج لعمل بعض التعديلات البسيطة على ملفات مشروع Rails وسنطبق هذه التعديلات على المثال الذي قمنا بعمله سابقا على الرابط

maktabti

التعديل على ملف Gemfile

نقوم بالدخول على مجلد المشروع وفتح ملف Gemfile كما توضح الصورة

Heroku منصة عمل متكاملة للتطبيقات السحابية

نبذه مختصره عن Heroku

هو منصة عمل متكاملة لنشر التطبيقات السحابية وتعرف الخدمة التي يقدمها بــ PaaS وهي إختصار لـ
platform-as-a-service provider أي موفر لخدمة منصات الأعمال حيث يقدم طريقة سهلة جدا للمطورين لنشر تطبيقاتهم على الإنترنت حيث يمكن نشر تطبيقات مبنية بلغات برمجية مثل java - php - ruby - python وغيرها و للمزيد عن اللغات التي يدعمها يمكن مراجعة الرابط التالي heroku language support

بناء أول تطبيق Ruby on Rails الجزء الثاني

مالذي سنقوم بعمله في الجزء الثاني

سنقوم بالتعديل على شكل التطبيق وتغيير إتجاه الصفحات من اليسار إلى اليمين ثم تغيير العناوين إلى العربية وأخيراً تغيير مسار الصفحة الإفتراضية للتطبيق إلى صفحة عرض الكتب ومسح صفحة rails الإفتراضية routes

بناء أول تطبيق Ruby on Rails الجزء الأول

ماذا سأحتاج قبل البدء في بناء هذا التطبيق

  • إعداد Ruby on Rails على جهازك يمكن مراجعة الروابط التالية :

إعداد وتنصيب Rails 3 , Ruby 1.9.3 على نظام تشغيل أبل Mountain Lion
إعداد وتنصيب Rails 3 ، Ruby 1.9.3 على Linux Ubuntu 12.10
إعداد وتنصيب Git , Rails 3 ، Ruby 1.9.3 على Windows 7
إعداد وتثبيت Ruby on Rails بطريقة سهلة بإستخدام RailsInstaller

  • محرر نصوص Text Editor يمكنك إستخدام أي محرر نصوص من البرامج التي إستخدمتها Textmate يوجد عدة برامج أخرى من أشهرها Rubymine يمكن الاطلاع على معلومات مفصلة عنه من الموقع Rubymine .
  • برنامج Terminal أو Command Prompt في الويندوز.
  • متصفح إنترنت (Firefox, Safari, Chrome) لمشاهدة وعرض التطبيق.

تجربة ستارت اب ويكند الرياض 2013

مرحبا بكم …

أحببت أن أتحدث عن تجربتي الرائعة في ستارت اب ويكند الرياض هذه التجربة الجديدة كليا والبداية عندما كنت أبحث في تويتر عن موضوع متعلق بالتقنية وبالصدفة وجدت تغريده عن التسجيل في ستارت اب ويكند الرياض فكرت للحظات في الموضوع ماذا سأستفيد من هذه التجربة؟ وهل تستحق عناء السفر والجهد ! تجاهلت تلك الأفكار والمعوقات وقمت بالتسجيل فورا ثم حجز التذاكر وترتيب خطة السفر مرت الأيام سريعا وحان وقت السفر . وصلت للرياض في نفس يوم الإفتتاح الأربعاء 2013\1\30 مر الوقت سريعا حتى وجدت نفسي في قاعة الفندق في انتظار بدء الفعالية لم أكن أعرف أي شخص من الحضور . وجلست أنتظر لاحظت خلال فترة الإنتظار وجود حماس وترقب لدى الحاضرين قد يكون السبب هو أن التجربة جديدة على أغلب الحضور بدء الحفل وألقيت عدة كلمات من المنظمين . تم الطلب من أصحاب الأفكار الإصطفاف لعرض أفكارهم كان العدد كبير جدا وتفاجئت بأن أصحاب الأفكار أكثر من المطورين والمصممين ! توالى عرض الأفكار كانت غالبية الأفكار ممتازة ومشجعة خصوصا أني أنظر لها من الناحية التقنية كمبرمج وليس من ناحية الأعمال ( تحقيق الربحية ) . أنتهت مرحلة عرض الأفكار وبدئت مرحلة التصويت حيث يمكن للشخص التصويت لمشروع واحد فقط وذلك بلصق شعار ستارت اب ( تم تسليمه للحاضرين قبل بدء الحفل ) في اللوحة الخاصة بالمشروع ثم تم فرز الأصوات وإختيار الأفكار .

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

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