Ανάπτυξη web εφαρμογών με την Ruby on Rails

Μάθε πως μπορείς να δημιουργήσεις την δική σου web εφαρμογή με μια από τις δημοφιλέστερεις λύσεις, την Ruby on Rails

Διδάσκων μαθήματος: Γιώργος Ψαθάς
Έναρξη μαθήματος: 02/12/2019

Περίληψη μαθήματος

Το μάθημα αυτό παρουσιάζει τις βασικές γνώσεις αλλά και πιο προχωρημένες τεχνικές που αφορούν σε ανάπτυξη Web εφαρμογών με τη γλώσσα Ruby σε συνδυασμό με το Rails framework (Ruby on Rails – RoR). Εάν έχετε παρακολουθήσει το μάθημα “Εισαγωγή στον προγραμματισμό με τη γλώσσα Ruby” θα γνωρίζεται ήδη τα πλεονεκτήματα της γλώσσας τα οποία είναι:

  • Ισχυρή γλώσσα με έμφαση στην απλότητα και στην παραγωγικότητα
  • Απλή και κατανοητή σύνταξη που είναι πολύ κοντά στη φυσική γλώσσα του προγραμματιστή ώστε να μπορεί ακόμη και ο τελείως αρχάριος χρήστης να την μάθει πολύ εύκολα.

Στα πλεονεκτήματα αυτά έρχεται το rails framework να προσθέσει και τα δικά του, μερικά από τα οποία είναι:

  • Ταχεία ανάπτυξη εφαρμογών λόγω επαναχρησιμοποιούμενων βιβλιοθηκών που περιλαμβάνει το framework (gems). Έρευνες έχουν αναφέρει ταχύτερη ανάπτυξη Web εφαρμογών κατά 25-50% ταχύτερα σε σύγκριση με άλλα Frameworks διαφορετικών γλωσσών προγραμματισμού.
  • Χρησιμοποίηση της αρχιτεκτονικής MVC (Model – View – Controller) για την καλύτερη οργάνωση του κώδικα ώστε να μη χρειάζεται να ψάχνετε μέσα στις γραμμές ολόκληρου του προγράμματος να βρείτε το επιθυμητό στοιχείο που πρέπει να επεξεργαστείτε. Επίσης, με τη χρήση της αρχιτεκτονικής MVC, επιτυγχάνεται η συμβατότητα με την οδηγία ανάπτυξης λογισμικού DRY (Don’t Repeat Yourself) που σημαίνει ότι γράφουμε μια φορά τον κώδικα στο σημείο που πρέπει και έπειτα τον επαναχρησιμοποιούμε.
  • Το Rails framework είναι ανοιχτού κώδικα, με όλα τα πλεονεκτήματα που αυτό υποδηλώνει
  • Μείωση κόστους ανάπτυξης web εφαρμογών λόγω της ταχύτητας ανάπτυξης που είναι μεγαλύτερη σε σχέση με άλλα Frameworks.

Πολλές δημοφιλής web εφαρμογές έχουν αναπτυχθεί με την Ruby και το Rails framework. Μερικές από αυτές τις εφαρμογές είναι:

  • airbnb
  • basecamp
  • dribbble
  • fiverr
  • crazyegg
  • github
  • ASKfm
  • SlideShare
  • groupon
  • kickstarter

Το μάθημα ξεκινάει παρουσιάζοντας την αρχιτεκτονική MVC (Model – View – Controller) και πως μπορείτε να οργανώσετε τον κώδικά σας μέσα στα τρία (3) αυτά σημεία της αρχιτεκτονικής. Έπειτα, παρουσιάζεται η δομή των αρχείων των προγραμμάτων που αναπτύσσονται στο rails framework επεξηγώντας τη χρησιμότητα του κάθε ενός.

Προχωρώντας, παρουσιάζεται ο τρόπος με τον οποίο μπορείτε να συνδέσετε τα στοιχεία της αρχιτεκτονικής MVC μεταξύ τους ώστε να δημιουργήσετε μια ολοκληρωμένη Web εφαρμογή. Τέλος παρουσιάζεται ο τρόπος με τον οποίο μπορείτε να φτιάξετε διάφορες σελίδες html μέσα στην εφαρμογή σας, να τις διασυνδέσετε μεταξύ τους και να εισάγετε στοιχεία σε αυτές, όπως οι φόρμες, με σκοπό να εκτελέσετε ερωτήματα στη βάση δεδομένων (CRUD – Create, Read, Update, Delete) για τη διαχείριση των δεδομένων που είναι καταχωρημένα σε αυτήν και επιστροφή τους στον χρήστη.

Κατόπιν, το μάθημα συνεχίζει παρουσιάζοντας την διαχείριση των στοιχείων (assets) σε μια Ruby on Rails εφαρμογή. Τέτοιου είδους assets είναι αρχεία css, javascript και κατ’ επέκταση αρχεία που μπορούν να ενσωματωθούν σε μια RoR εφαρμογή. Με τη χρήση αυτών των στοιχείων, θα μάθετε πως μπορείτε να εισάγετε και να διαμορφώσετε την διεπιφάνεια χρήστη (user interface) της εφαρμογής σας, προσθέτοντας στοιχεία όπως header, footer και sidebar.

Έπειτα, στο μάθημα αναλύεται η χρήση του bootstrap framework, το οποίο είναι αρκετά δημοφιλές framework για την ανάπτυξη της διεπιφάνειας χρήστη, απλοποιώντας με λίγες γραμμές κώδικα τη δημιουργία και οργάνωηση των στοιχείων που εισάγεται. Με τη χρήση του bootstrap θα δείτε πως μπορείτε να μορφοποιήσετε τις φόρμες εισαγωγής δεδομένων στην εφαρμογή σας, να μορφοποιήσετε τα κουμπιά αλλά ακόμη θα μάθετε πως να εισάγετε και να μορφοποιήσετε μηνύματα σφάλματος και επιτυχίας στην εφαρμογή σας.

Επόμενο θέμα που αναπτύσσεται είναι το πολύ σοβαρό θέμα της πιστοποίησης χρηστών μέσα στην εφαρμογή σας (authentication), δημιουργώντας δυνατότητες για Login και Logout στην εφαρμογή σας, καθώς και πως μπορείτε να δώσετε συγκεκριμένα δικαιώματα σε κάποιους χρήστες (authorization) ώστε να έχουν πρόσβαση σε συγκεκριμένες σελίδες ή ενέργεις μόνο όσοι έχουν τα κατάλληλα δικαιώματα.

Προχωρώντας, το μάθημα αναφέρει το θέμα συσχετίσεων 1-to-many μεταξύ πινάκων της βάσης δεδομένων και παρουσιάζει πως μπορείτε να δημιουργήσετε ένα review system, τόσο με δικό σας κώδικα όσο και με τη χρήση ειδικού Gem όπου μετατρέπει το review system σε star review system.

Το μάθημα ολοκληρώνεται δείχνοντας σας πως μπορείτε να κάνετε διαχείριση εικόνων μέσα σε μια RoR εφαρμογή με το paperclip και το ImageMagick.

Διάρκεια Μαθήματος

Η διάρκεια του μαθήματος είναι 7 εβδομάδες. Στην τελευταία εβδομάδα δεν υπάρχουν διαλέξεις. Οι εκπαιδευόμενοι την εβδομάδα αυτή θα πρέπει να αναπτύξουν και να παραδόσουν τη δική τους ολοκληρωμένη εφαρμογή σε RoR.

Σε ποιους Απευθύνεται

Το μάθημα απευθύνεται τόσο στον αρχάριο που θέλει να μάθει την Ruby on Rails όσο και στον πιο προχωρημένο χρήστη που γνωρίζει τις βασικές έννοιες της Ruby on Rails αλλά θέλει να ενισχύσει τις γνώσεις του, με σκοπό να μπορούν να αναπτύξουν τις δικές του Web εφαρμογές. Επίσης το μάθημα απευθύνεται σε προγραμματιστές που έχουν εμπειρία από άλλά Framework και θέλουν να μελετήσουν και το Rails.

Είσαι νέος developer και δεν έχεις χρησιμοποιήσει ξανά κάποιο Framework ανάπτυξης Web εφαρμογών? Το μάθημα αυτό είναι ένα πολύ καλό ξεκίνημα αφού θα μάθεις τις βασικές αρχές οργάνωσης του κώδικα με βάση την πολύ διαδεδομένη MVC αρχιτεκτονική μέσα από το διαδεδομένο framework ανάπτυξης Web εφαρμογών, το rails. Η Ruby on Rails είναι αρκετά διαδεδομένη λύση ανάπτυξης Web εφαρμογών και προγραμματιστές ζητούνται από πολλές εταιρίες, ακόμη και για remote development.

Τι θα μου προσφέρει το μάθημα

Μετά την επιτυχημένη ολοκλήρωση του μαθήματος θα μπορείς να:

  • Εγκαταστήσεις την Ruby on Rails στον τοπικό σου υπολογιστή και να χρησιμοποιήσεις έναν editor για να αναπτύξεις τα δικά σου προγράμματα
  • Αναγνωρίζεις τη δομή των προγραμμάτων που αναπτύσσονται με την Ruby on Rails καθώς και τα σημεία στα οποία πρέπει να τοποθετήσεις τον κώδικά σου
  • Αναπτύσσεις προγράμματα με την αρχιτεκτονική MVC για την καλύτερη τακτοποίηση του κώδικα. Θα μάθεις πως μπορείς να συνδέσεις όλα τα στοιχεία της αρχιτεκτονικής και να μεταφέρεις δεδομένα μεταξύ αυτών.
  • Εκτελείς όλες τις διαδικασίες διαχείρισης μια βάσης δεδομένων (CRUD – Create, Read, Update, Delete)
  • Οργανώσεις κατάλληλα τον κώδικα σου με χρήση Partials και Layouts
  • Αναγνωρίζεις τον σωστό τρόπο διαχείριση των στοιχείων (assets) σε μια RoR εφαρμογή και να οργανώνεις τα αρχεία αυτά
  • Εγκαθιστάς το Bootstrap σε μια Ruby on Rails εφαρμογή και να χρησιμοποιείς τα στοιχεία που αυτό προσφέρει
  • Δημιουργείς και να μορφοποιείς μηνύματα σφάλματος στις εφαρμογές σου (μηνύματα flash)
  • Διαχειριστείς την πιστοποίηση των χρηστών (authentication) μέσα στην εφαρμογή σου, να εισάγεις και να διαβάζεις δεδομένα από αρχεία cookies με σκοπό τη δημιουργία session καθώς και να διαχειρίζεσαι την εξουσιοδότηση των χρηστών (authorization) μέσα σε μια RoR εφαρμογή
  • Δημιουργείς star review system
  • Χρησιμοποιείς τα paperclip και ImageMagick για τη διαχείριση εικόνων μέσα σε μια RoR εφαρμογή

Προαπαιτούμενα

Δεν υπάρχουν αυστηρά προαπαιτούμενα για να παρακολουθήσεις το μάθημα καθώς δεν προϋποθέτει προηγούμενη γνώση προγραμματισμού. Φυσικά αν έχεις παρακολουθήσεις το μάθημα “Εισαγωγή στον προγραμματισμό με τη γλώσσα Ruby” του ιδίου διδάσκοντα μέσα στο Letstudy, θα έχεις μια πολύ καλύτερη κατανόηση των παρουσιαζόμενων θεμάτων. Κάποιες βασικές δεξιότητες σε ψηφιακό περιβάλλον (όπως π.χ. εγκατάσταση προγραμμάτων, άνοιγμα και αποθήκευση αρχείων σε λειτουργικό Windows) είναι σημαντικές και πρέπει να θεωρούνται δεδομένες.

Αναλυτικά Περιεχόμενα Μαθήματος

Εγκατάσταση της RoR και του Editor

Εγκατάσταση της Ruby on Rails σε Windows

Εγκατάσταση της Ruby on Rails σε Mac OS

Εγκατάσταση της Ruby on Rails σε άλλα λειτουργικά συστήματα

Ruby on Rails editors – Εγκατάσταση του Sublime

Εισαγωγή

Παρουσίαση του μαθήματος

Τι είναι η Ruby on Rails

Γιατί Ruby on Rails

Βιβλιοθήκες της Ruby on Rails

Τι θα δημιουργήσετε μέσα από το μάθημα

Εγκατάσταση της RoR και του Editor

Εγκατάσταση της Ruby on Rails

Ruby on Rails editors – Εγκατάσταση του Sublime

Δομή εφαρμογών Ruby on Rails

Δημιουργία νέου Project

Γνωριμία με την αρχιτεκτονική MVC

Mini Quiz

Δομή των αρχείων σε ένα Rails Project

Mini Quiz

Δομή εφαρμογών Ruby on Rails

Δημιουργία των Controller (Μέρος 1)

Δημιουργία των Controller (Μέρος 2)

Mini Quiz

Δημιουργία των Model

Δημιουργία νέου Model

Εντολές ελέγχου και χρήσης του Model

Mini Quiz

QUIZ

Quiz ενότητας 1

Ανάπτυξη Εφαρμογής - Πρακτική Υλοποίηση

Πρακτική Υλοποίηση Εφαρμογής Ενότητας 1

Αναφορά στις μεθόδους της Ruby

Επεξήγηση των μεθόδων (methods) στην Ruby (Μέρος 1)

Επεξήγηση των μεθόδων (methods) στην Ruby (Μέρος 2)

Mini Quiz

Σύνδεση του Model με το View και τον Controller

Σύνδεση του Model με την εφαρμογή

Mini Quiz

Δημιουργία σελίδας View

Διασύνδεση σελίδων

Mini Quiz

Δημιουργία Root Route

Mini Quiz

CRUD – Εισαγωγή Δεδομένων (Create)

Εισαγωγή στο CRUD

Εισαγωγή δεδομένων με χρήση φόρμας (Μέρος 1)

Εισαγωγή δεδομένων με χρήση φόρμας (Μέρος 2)

Εισαγωγή δεδομένων με χρήση φόρμας (Μέρος 3)

Mini Quiz

CRUD – Επεξεργασία Δεδομένων (Update)

Επεξεργασία δεδομένων με χρήση φόρμας

Mini Quiz

CRUD – Διαγραφή Δεδομένων (Delete)

Διαγραφή δεδομένων με χρήση φόρμας

Mini Quiz

QUIZ

Quiz ενότητας 2

Ανάπτυξη Εφαρμογής - Πρακτική Υλοποίηση

Πρακτική Υλοποίηση Εφαρμογής Ενότητας 2

Layouts και partials

Εισαγωγή της φόρμας σε partial αρχείο

Mini Quiz

Εισαγωγή στα Layouts

Εισαγωγή Header, Footer και sidebar με Layouts

Mini Quiz

View Helpers

View Helpers: Χρησιμότητα και εφαρμογή της Pluralize

View Helpers: Χρησιμότητα και εφαρμογή της truncate

View Helpers: Εφαρμογή της number_to_currency

Mini Quiz

Δημιουργία δικής σας μεθόδου μέσα σε Helper file (Μέρος 1)

Δημιουργία δικής σας μεθόδου μέσα σε Helper file (Μέρος 2)

Μεταφορά λογικής στο Model

Mini Quiz

Προσαρμοσμένα ερωτήματα

Χρήση της κονσόλας για προσαρμοσμένα ερωτήματα

Δημιουργία προσαρμοσμένων ερωτημάτων στην εφαρμογή σας

Κλήση (χρήση) των ερωτημάτων

Mini Quiz

Εισαγωγή νέων πεδίων σε υπάρχων Model

Εισαγωγή και χρήση νέων πεδίων

Mini Quiz

QUIZ

Quiz ενότητας 3

Ανάπτυξη Εφαρμογής - Πρακτική Υλοποίηση

Πρακτική Υλοποίηση Εφαρμογής Ενότητας 3

Διαχείριση στοιχείων (assets) σε μια Ruby on Rails εφαρμογή

Τι είναι και πως λειτουργεί το Asset Pipeline

Δημιουργία αρχείου CSS και μεταφορά του κώδικα στο αρχείο αυτό

Προσθήκη νέου κώδικα στο αρχείο css

Mini Quiz

Εγκατάσταση του Bootstrap

Δημιουργία Bootstrap Grid

Εισαγωγή μπάρας πλοήγησης (Navigation Bar)

Mini Quiz

Καθορισμός layout και μορφοποίηση αρχικής σελίδας

Δημιουργία Sidebar

Δημιουργία Header

Ολοκλήρωση της Sidebar και δημιουργία footer

Mini Quiz

Μορφοποίηση φορμών

Αλλαγή του στυλ στις φόρμες

Μορφοποίηση κουμπιών

Mini Quiz

Validations και μηνύματα

Εμφάνιση μηνυμάτων σφάλματος (Flash)

Εισαγωγή validation

Mini Quiz

Εμφάνιση μηνυμάτων επιτυχίας (Flash)

Μορφοποίηση μηνυμάτων Flash

Mini Quiz

QUIZ

Quiz ενότητας 4

Ανάπτυξη Εφαρμογής - Πρακτική Υλοποίηση

Πρακτική Υλοποίηση Εφαρμογής Ενότητας 4

Διαχείριση Χρηστών

Δημιουργία User Model

Συσχετίσεις πινάκων βάσης δεδομένων

Έλεγχος λειτουργίας των συσχετίσεων από τη κονσόλα

Mini Quiz

Προετοιμασία για την Πιστοποίηση χρηστών (Authorization)

Ρυθμίσεις της εφαρμογής για Authorization

Δημιουργία Routes και Index Action

Mini Quiz

Δημιουργία links στο Header

Δημιουργία Show Action

Mini Quiz

Πιστοποίηση χρηστών (Authorization)

Δημιουργία φόρμας sign up

Διαγραφή χρήστη

Δημιουργία απαραίτητων actions

Mini Quiz

Δημιουργία Session για τα cookies

Δημιουργία actions και views για το session

Δημιουργία Routes και κουμπιών

Mini Quiz

Ανάπτυξη κώδικα login και logout

Διαδικασία Log In

Τακτοποίηση του κώδικα

Διαδικασία Logout

Mini Quiz

Εξουσιοδότηση χρηστών (Authorization)

Προστασία action

Προστασία σελίδας

Mini Quiz

QUIZ

Quiz ενότητας 5

Ανάπτυξη Εφαρμογής - Πρακτική Υλοποίηση

Πρακτική Υλοποίηση Εφαρμογής Ενότητας 5

Δημιουργία συστήματος για Review

Συσχέτιση 1-to-many και δημιουργία nested routes

Mini Quiz

Δημιουργία φόρμας review

Mini Quiz

Δημιουργία action

Δημιουργία σελίδας show

Mini Quiz

Απόκρυψη φόρμας σε χρήστες που έχουν κάνει review

Mini Quiz

Δημιουργία review με το Raty

Εγκατάσταση και χρήση του Raty

Εμφάνιση λίστας με το star review system

Mini Quiz

Διαχείριση εικόνων

Εγκατάσταση paperclip και ImageMagick

Εισαγωγή εικόνων στις εφαρμογές

Mini Quiz

QUIZ

Quiz ενότητας 6

Ανάπτυξη Εφαρμογής - Πρακτική Υλοποίηση

Πρακτική Υλοποίηση Εφαρμογής Ενότητας 6

Εργασία Μαθήματος

Τελική εργασία μαθήματος

ΚΟΣΤΟΣ: 80.00

Έναρξη εγγραφών: 11/11/2019
Λήξη εγγραφών: 15/12/2019
Οι εγγραφές για το μάθημα δεν έχουν ανοίξει ακόμη !!!
Share on facebook
Share on google
Share on twitter
Share on linkedin

Γιώργος Ψαθάς

Υποψήφιος Διδάκτορας Πληροφορικής
Ο Γιώργος Ψαθάς αποφοίτησε από το τμήμα Πληροφορικής του Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης το 2007. Το 2010 συνέχισε τις Μεταπτυχιακές του σπουδές στο ίδιο Ίδρυμα, στην κατεύθυνση “Τεχνολογίες Πληροφορικής & Επικοινωνιών στην Εκπαίδευση (ΤΠΕ)”. Από τον Νοέμβριο του 2017 είναι υποψήφιος Διδάκτορας του τμήματος Πληροφορικής του Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης με ερευνητικό ενδιαφέρον τα Μαζικά Ανοιχτά Διαδικτυακά Μαθήματα (Massive Open Online Courses – MOOCs).

To 2017, δημιούργησε την πρώτη πλατφόρμα παροχής μαθημάτων MOOC στο learnbydoing.gr, μέσω της οποίας παρείχε μαθήματα για την Ruby on Rails. Το 2019, εξέλιξε την πλατφόρμα που είχε εγκαταστήσει το 2017, και την μετονόμασε σε Letstudy.

Εκτός από την διδασκαλία μαθημάτων μέσω MOOC, έχει διδάξει προγραμματισμό σε μαθητές Foundation ιδιωτικής σχολής, με σκοπό να ακολουθήσουν σπουδές στο εξωτερικό. Επίσης, έχει ασχοληθεί με τη διδασκαλία της Πληροφορικής σε ενήλικες με στόχο την απόκτηση πιστοποιήσεων.

Αξιολογήσεις

Δεν υπάρχει ακόμη αξιολόγηση για το μάθημα

Μόνο μαθητές που έχουν παρακολουθήσει το μάθημα μπορούν να το αξιολογήσουν

Letstudy - Πλατφόρμα Παροχής Ελληνικών MOOC

Εισαγωγή στην Ruby on Rails

Letstudy Logomark

Εισάγετε το username ή το email σας μαζί με τον κωδικό σας, για να συνδεθείτε στο Letstudy