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

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

Διδάσκων μαθήματος: Γιώργος Ψαθάς
Έναρξη μαθήματος: ΘΑ ΑΝΑΚΟΙΝΩΘΕΙ

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

Το μάθημα αυτό παρουσιάζει τις βασικές γνώσεις αλλά και πιο προχωρημένες τεχνικές που αφορούν σε ανάπτυξη 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) ώστε να έχουν πρόσβαση σε συγκεκριμένες σελίδες ή ενέργεις μόνο όσοι έχουν τα κατάλληλα δικαιώματα.

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

Η διάρκεια του μαθήματος είναι 5 εβδομάδες.

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

Το μάθημα απευθύνεται τόσο στον αρχάριο που θέλει να μάθει την 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 εφαρμογή

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

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

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

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

Χορήγηση βεβαίωσης παρακολούθησης

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

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

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

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

3:32

Εισαγωγή

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

4:18

Τι είναι η Ruby on Rails

4:20

Γιατί Ruby on Rails

3:10

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

5:03

Mini Quiz

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

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

4:17

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

4:51

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

8:50

Mini Quiz

Δημιουργία δομής MVC

Δημιουργία εφαρμογής βήμα–προς–βήμα

16:32

Mini Quiz

Επικοινωνία View με Controller

12:37

Mini Quiz

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

11:23

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

13:39

Mini Quiz

QUIZ

Quiz ενότητας 1

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

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

Μέθοδοι στην Ruby

Επεξήγηση των μεθόδων (methods) στην Ruby

16:57

Mini Quiz

Διασύνδεση MVC

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

7:09

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

8:28

Mini Quiz

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

12:50

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

2:05

Mini Quiz

CRUD – Διαχείριση Βάσεων Δεδομένων

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

3:24

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

20:26

Mini Quiz

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

10:07

Mini Quiz

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

12:36

Mini Quiz

QUIZ

Quiz ενότητας 2

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

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

Layouts και partials

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

4:23

Τακτοποίηση κώδικα με Layouts and Partials – Header and Footer

22:02

Mini Quiz

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

View Helpers πως χρησιμοποιούνται

15:07

Δημιουργία δικής σας συνάρτησης μέσα σε Helper file

14:47

Mini Quiz

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

20:57

Mini Quiz

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

9:43

Mini Quiz

QUIZ

Quiz ενότητας 3

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

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

Asset Pipeline

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

13:33

Δημιουργία αρχείου CSS για προσαρμογή της σελίδας των εφαρμογών

15:13

Mini Quiz

Μορφοποίηση της εφαρμογής με το Bootstrap

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

8:32

Bootstrap Grid και επεξήγηση χρήσης στοιχείων

19:13

Mini Quiz

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

10:23

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

13:38

Mini Quiz

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

Εισαγωγή validation

7:31

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

22:07

Mini Quiz

QUIZ

Quiz ενότητας 4

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

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

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

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

19:53

Mini Quiz

Authentication Part 1

6:09

Authentication Part 2

24:45

Mini Quiz

Δημιουργία Session με χρήση αρχείων cookies

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

10:38

Mini Quiz

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

6:47

Διαδικασία Logout

6:13

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

6:13

Mini Quiz

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

Προστασία action

15:47

Mini Quiz

Code Challenge

Code challenge ενότητας 5

Λύση του Code challenge ενότητας 5

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

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

ΚΟΣΤΟΣ: 80.00

Έναρξη εγγραφών: ΘΑ ΑΝΑΚΟΙΝΩΘΕΙ
Οι εγγραφές για το μάθημα δεν έχουν ανοίξει ακόμη !!!
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 ιδιωτικής σχολής, με σκοπό να ακολουθήσουν σπουδές στο εξωτερικό. Επίσης, έχει ασχοληθεί με τη διδασκαλία της Πληροφορικής σε ενήλικες με στόχο την απόκτηση πιστοποιήσεων.

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

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

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

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

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

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

Letstudy Logomark

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