هل أنت مبتدئ في البرمجة؟
مصادر لتعلم Ruby؟
هناك كتابان ينصح بهما للمبتدئ أو من ليس له دراسة أكاديمية في علوم الحاسب:
[1] - Learn to Program
[2] - Learn Ruby the Hard Way - مجاني نسخة ال html يستخدم طريقة Learning by doing أو التعلم عن طريق حل التمارين
أما ان كان مستواك جيد في البرمجة ولك دراية ﻻ بأس بها بـ OOP :
[3] : Programming Ruby - كتاب رائع و يعتبر أقدم كتاب انجيلزي يشرح لغة Ruby كما أن طريقته في الشرح مغايرة لمعظم الكتب، كما أنه يعتبر ك References
[4] : Eloquent Ruby - كتاب ممتاز أنصح به و بشدة
الخطوة القادمة تقوية مستواك في اللغة :
[5] : Build Awesome Command-Line Applications in Ruby 2 - الكتاب واضح من عنوانه
[6] : Practical Object Oriented Design in Ruby - كتاب أسطوري، أنظر فقط في تقييماته على Amazon لو أردت اتقان ال OOAD فهذا الكتاب يعتبر ممتاز جدا.
[7] : Design Patterns in Ruby - كتاب يشرح أشهر ال Design Patterns وتطبيقها في Ruby
هناك كتب أخرى أكثر اختصاصا (... ,Rails, Metaprogramming) و تطلب خبرة كبيرة و مستوى متقدم في البرمجة.
[1] :
[2] :
[3] :
[4] :
[5] :
[6] :
[7] :
هناك هذه القناة على يوتيوب:
انا كذالك لا انصح ولكي تفهم لماذا جرب ابدء في تعلمها ستواجه صعوبات كبيرة جدا انا جربة قبل سنوات ثم تحولت الى php
Sinatra كذلك ﻻ أنصح بها تتطلب منك الكثير أكثر من Rails لتصميم تطبيق محترم، لأنه عليك أن تكون مدرك للعديد من الأمور كال Security و OOP و Design Pattern كما أنه ﻻ توجد كتب كثيرة تشرحه بعمق و اسهاب كـ Rails .
تابع دروس الأخ مازن على منصة رواق :)
منهج المادة
(منهج مقترح، قد يتغير ترتيب المحاضرات أو الأجزاء عند عرض المادة)
أساسيات الأساسيات
ترحيب.
تعريف برمجة و تصميم مواقع الإنترنت.
ماهو الـ Front-End.
ماهو الـ Back-End.
تثبيت الأدوات و تجهيز بيئة العمل.
تمرين عملي.
ماذا يعني "إطار عمل Framework" ولماذا سيجعل حياتك أسهل؟
تمرين عملي.
أساسيات البرمجة باستخدام Ruby
سلام أيها العالم (Hello World).
Variables
If Condition
تمرين عملي
Loops
Functions
تمرين عملي
جواهر روبي (Ruby's Gems).
تصميم واجهة الموقع Front-End
أساسيات HTML.
تمرين عملي.
CSS.
تمرين عملي.
استخدام اطار عمل CSS.
تمرين عملي.
أساسيات Javascript.
تمرين عملي.
JQuery.
تمربن عملي.
إطار العمل Sinatra
ماذا يعني Micro Framework؟
لماذا اخترنا Sinatra.
Routing.
تمرين عملي.
Views.
تمرين عملي.
Forms Handling.
تمرين عملي.
قواعد البيانات باستخدام Sqlite
ماهي قواعد البيانات؟
لماذا Sqlite؟
تصميم قواعد البيانات.
تمرين عملي.
مدخل إلى SQL.
تمرين عملي.
مشروع المادة
فكرة المشروع.
بناء واجهة المشروع.
تصميم قاعدة بيانات المشروع.
ربط الواجهة بقاعدة البيانات.
بناء لوحة تحكم بسيطة.
رفع الموقع إلى الإنترنت و خاتمة المادة
ماذا يعني "مستضيف موقع Web Hosting"؟
التسجيل في موقع Heroku.
تثبيت الأدوات و رفع الموقع.
كيف يمكن أن تواصل تعلمك؟
خاتمة المادة
متطلبات المادة
لا توجد متطلبات سابقة لهذه المادة.
مخرجات المادة
معرفة بأساسيات تطوير مواقع الإنترنت.
إمكانية تصميم مواقع إنترنت بسيطة.
القدرة على إنشاء نماذج بسيطة و ربطها بقواعد البيانات.
فهم لعلاقة الاجزاء المختلفة المتعلقة ببرمجة الويب ببعضها.
بالتوفيق
منهج المادة
(منهج مقترح، قد يتغير ترتيب المحاضرات أو الأجزاء عند عرض المادة)
أساسيات الأساسيات
*ترحيب.
*تعريف برمجة و تصميم مواقع الإنترنت.
*ماهو الـ Front-End.
*ماهو الـ Back-End.
*تثبيت الأدوات و تجهيز بيئة العمل.
*تمرين عملي.
*ماذا يعني "إطار عمل Framework" ولماذا سيجعل حياتك أسهل؟
*تمرين عملي.
أساسيات البرمجة باستخدام Ruby
*سلام أيها العالم (Hello World).
*Variables
*If Condition
*تمرين عملي
- Loops
*Functions
*تمرين عملي
*جواهر روبي (Ruby's Gems).
تصميم واجهة الموقع Front-End
*أساسيات HTML.
*تمرين عملي.
- CSS.
*تمرين عملي.
*استخدام اطار عمل CSS.
تمرين عملي.
أساسيات Javascript.
*تمرين عملي.
- JQuery.
*تمربن عملي.
إطار العمل Sinatra
*ماذا يعني Micro Framework؟
*لماذا اخترنا Sinatra.
*Routing.
*تمرين عملي.
- Views.
*تمرين عملي.
*Forms Handling.
*تمرين عملي.
قواعد البيانات باستخدام Sqlite
*ماهي قواعد البيانات؟
*لماذا Sqlite؟
*تصميم قواعد البيانات.
*تمرين عملي.
*مدخل إلى SQL.
*تمرين عملي.
مشروع المادة
*فكرة المشروع.
*بناء واجهة المشروع.
*تصميم قاعدة بيانات المشروع.
*ربط الواجهة بقاعدة البيانات.
*بناء لوحة تحكم بسيطة.
رفع الموقع إلى الإنترنت و خاتمة المادة
*ماذا يعني "مستضيف موقع Web Hosting"؟
*التسجيل في موقع Heroku.
*تثبيت الأدوات و رفع الموقع.
*كيف يمكن أن تواصل تعلمك؟
*خاتمة المادة
متطلبات المادة
*لا توجد متطلبات سابقة لهذه المادة.
مخرجات المادة
*معرفة بأساسيات تطوير مواقع الإنترنت.
*إمكانية تصميم مواقع إنترنت بسيطة.
*القدرة على إنشاء نماذج بسيطة و ربطها بقواعد البيانات.
*فهم لعلاقة الاجزاء المختلفة المتعلقة ببرمجة الويب ببعضها.
التعليقات