Πιθανότατα, είστε εδώ επειδή θέλετε να μάθετε το πλαίσιο Ruby on Rails, αλλά δεν είστε σίγουροι ότι καταλαβαίνετε τι είναι. Λοιπόν, το Rails είναι απλώς ένα μάτσο κώδικα Ruby που γράφτηκε για να φροντίσει εκείνα τα μέρη μιας διαδικτυακής εφαρμογής που δεν θέλετε πραγματικά να σκεφτείτε.

Το Rails χρησιμοποιεί, όπως ίσως έχετε ακούσει, "συμφωνία για τη διαμόρφωση". Αυτό σημαίνει ότι οι δημιουργοί του Rails έχουν πάρει πολλές αποφάσεις για εσάς σχετικά με το πώς θα πρέπει να είναι δομημένα τα μέρη της εφαρμογής και πώς θα εκτελείται ο κώδικας. Μπορείτε να το αλλάξετε αυτό, αλλά είναι καλύτερα να ακολουθείτε τη ροή και να εργαστείτε με αυτούς τους κανόνες (ειδικά αν είστε νέος).

Σκεφτείτε το σαν να αγοράζετε ένα κοστούμι: μάλλον δεν σας ενδιαφέρει από πού προήλθε η κλωστή, ποιανού τα χέρια έκαναν τις βελονιές, ποιες εταιρείες παρέδωσαν τα υλικά στο εργοστάσιο, ποια είναι τα κουμπιά πάνω του... εμπιστεύεστε τον ράφτη με όλα τις λεπτομέρειες και απλά θέλετε να μπορείτε να αγοράσετε ένα κοστούμι που σας ταιριάζει. Ο Rails είναι ο ράφτης σας Ruby.

Γιατί όχι? Υπάρχει ένας απίστευτος αριθμός πλαισίων και σουιτών τεχνολογίας για να διαλέξετε και, για να είμαστε ειλικρινείς, είναι σχεδόν πανομοιότυπα όσον αφορά τις δυνατότητες που παρέχουν. Το Rails είναι ελκυστικό επειδή είναι σχετικά απλό και καλά τεκμηριωμένο. Αυτό το πλαίσιο χρησιμοποιείται τεράστιο ποσόμεγάλες startups και εταιρείες τεχνολογίας, έχει μια πολύ ισχυρή κοινότητα προγραμματιστών και φοιτητών που το υποστηρίζουν.

Το Rails σάς επιτρέπει να δημιουργήσετε έναν λειτουργικό ιστότοπο σε ώρες, όχι σε ημέρες ή εβδομάδες. Οι «εσωτερικές» τεχνολογίες του κλάδου πιθανότατα θα αλλάξουν κατά τη διάρκεια μερικών ετών, αλλά το Rails προσφέρει μια εξαιρετική πλατφόρμα για να αποκτήσετε τις πρώτες δεξιότητες που χρειάζεστε για να προχωρήσετε στο επόμενο επίπεδο.

Επειδή η Rails χειρίζεται πολλά πράγματα για εσάς, μπορείτε να εργαστείτε απίστευτα γρήγορα. Μπορείτε να δημιουργήσετε έναν ιστότοπο και να λειτουργεί στο διαδίκτυο (αν και δεν θα είναι ιδιαίτερα όμορφος) σε λίγα λεπτά. Την πρώτη φορά που δημιουργείτε νέο έργο, όλα είναι στη θέση τους, οπότε το μόνο που έχετε να κάνετε είναι να τρέξετε το δικό σας τοπικός διακομιστής(απλά πληκτρολογώντας $ rails server) και θα πρέπει ήδη να μπορείτε να δείτε τη σελίδα καλωσορίσματος Rails. Και το μόνο που έχετε να κάνετε είναι να συγκεντρώσετε όλα τα απαραίτητα κομμάτια που χρειάζεστε για να εκτελέσετε την πλήρη εφαρμογή web σας.

Σημαίνει επίσης ότι μπορείτε να ξεκινήσετε αμέσως να κάνετε μικρές αλλαγές και να δείτε πώς επηρεάζουν την εφαρμογή σας προτού χρειαστεί να δημιουργήσετε πολύπλοκη υποδομή και να γράψετε τόνους κώδικα για να δείτε τις αλλαγές που γίνονται από μία μόνο γραμμή. Οι ράγες θα κάνουν τη ζωή σας πολύ πιο εύκολη!

Το Rails οργανώνει επίσης αυστηρά τον κώδικά σας χρησιμοποιώντας το μοτίβο MVC που σύντομα θα μάθετε και θα αγαπήσετε.

Ο καλύτερος τρόπος για να κατανοήσετε το Rails είναι να αρχίσετε να το χρησιμοποιείτε, επομένως θα αφιερώσουμε λίγο χρόνο παρακολουθώντας το βίντεο και διαβάζοντας, αλλά στη συνέχεια θα δημιουργήσετε το πρώτο δείγμα της δικής σας εφαρμογής. Μπορεί να μην έχετε ιδέα για το τι κάνετε, και αυτό είναι εντάξει, αλλά τουλάχιστον θα πρέπει να αρχίσετε να καταλαβαίνετε τι ΔΕΝ γνωρίζετε και τι πρέπει να προσέξετε για να προχωρήσετε. καλή απόφασηείναι να γράψετε όλα τα πράγματα που σας μπερδεύουν και στη συνέχεια να μάθετε περισσότερα για αυτά και να τα έχετε υπόψη μέχρι να βουτήξουμε βαθύτερα στο Rails.

Σημεία για προβληματισμό

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

  • Τι είναι το Rails;
  • Σε ποια γλώσσα είναι γραμμένο το Rails;
  • Υπενθύμιση: Τι είναι ένα στολίδι;
  • Ποιοι είναι οι επτά πολύτιμοι λίθοι που απαρτίζουν το Rails;
  • Ποιος είναι ο σκοπός του gemfile;
  • Ποια είναι η εντολή που πρέπει να χρησιμοποιήσετε για να δημιουργήσετε μια νέα εφαρμογή Rails γραμμή εντολών?
  • Σε τι διαφέρει ένα αίτημα GET από ένα αίτημα POST;
  • Τι είναι το REST;
  • Τι είναι η «άποψη»;
  • Τι είναι ο ελεγκτής;
  • Τι είναι ένα μοντέλο;

Καθήκοντα:

  1. Ελέγξτε αυτό βασική επισκόπηση των Railsαπό τον Μάικλ Χάρτλ. Επιδεικνύει τη δημιουργία μιας πολύ απλής διαδικτυακής εφαρμογής.
  2. Διαβάστε το εξαιρετικό εισαγωγικό άρθρο του Daniel Kehoe What is Ruby on Rails; για να καταλάβουμε με τι δουλεύουμε.
  3. Ξεκινήστε με το Rails δοκιμάζοντας το μάθημα Rails for Zombies, το οποίο θα σας κάνει να ξεκινήσετε την κωδικοποίηση με το Rails απευθείας στο πρόγραμμα περιήγησής σας! Πηγαίνει αρκετά γρήγορα και ίσως χρειαστεί να παρακολουθήσετε μερικά βίντεο, αλλά αξίζει τον κόπο.
  4. Για μια πιο επίσημη εξήγηση του Model/Views/Controller βλ Αυτό είναι ένα σύντομο βίντεο από το Lynda.com
  5. Διαβάστε το Rails for Beginners και προσπαθήστε να καταλάβετε τι συμβαίνει στο κείμενο (δεν χρειάζεται να δημιουργήσετε αυτήν τη δοκιμαστική εφαρμογή, αλλά αξίζει να διαβάσετε τη διαδικασία δημιουργίας μιας. Σύντομα θα γράψετε τη δική σας). Μέχρι το τέλος, πιθανότατα θα μπερδευτείτε, αλλά μην ανησυχείτε, αυτό είναι φυσιολογικό. Δεν θα έχετε κανένα πρόβλημα να κατανοήσετε τι περιγράφεται μέχρι να ολοκληρώσετε το μάθημα Rails αργότερα στο πρόγραμμα σπουδών μας. Το Rusrails προσφέρει μια από τις καλύτερες τεκμηρίωση Rails στα ρωσικά, επομένως είναι καλό να αρχίσετε να εξοικειωθείτε με το περιεχόμενό του.

Επιπρόσθετοι πόροι

Σήμερα στο διαδίκτυο βρήκα μια ιστορία για το πώς κάποιος James Fend έμαθε το Ruby on Rails για 12 εβδομάδες. Παρακάτω μπορείτε να διαβάσετε μια σχετικά ακριβή μετάφραση αυτής της ιστορίας και ελπίζουμε να εμπνευστείτε για να μάθετε αυτό το υπέροχο πλαίσιο (και την όμορφη γλώσσα).

Πριν ξεκινήσω, θα ήθελα να συστήσω τον Josh Crews (http://joshcrews.com) και να τον ευχαριστήσω που με ενθάρρυνε να αρχίσω να μαθαίνω το Ruby on Rails. χωρίς αυτόν, τη βοήθειά του, και χωρίς τις ώρες που πέρασε ως μέντοράς μου, δεν θα το έγραφα σήμερα. Ευχαριστώ.

Στις 23 Ιανουαρίου, ξεκίνησα την ιδέα των ονείρων μου, το Freelancify.com. Ακριβώς πριν από 12 εβδομάδες, ήμουν επιχειρηματίας τεχνολογίας που ξόδευα χιλιάδες δολάρια για να δημιουργήσω ένα αξιοπρεπές MVP (Ελάχιστο βιώσιμο προϊόν) επειδή δεν είχα τη γνώση. Ένας από τους λόγους (όπως νόμιζα τότε) ήταν ότι η προπόνηση ήταν πολύ δύσκολη για μένα ή θα έπαιρνε υπερβολικά μεγάλο χρονικό διάστημα. Σκέφτηκα (όπως και πολλοί άλλοι) ότι οι προγραμματιστές (και κάποιοι) γεννιούνται με ένα σύνολο μαγικών δεξιοτήτων στην επίλυση προβλημάτων και στα μαθηματικά που τους καθιστούν ιδιοφυίες προγραμματισμού. Και ακριβώς πριν από 12 εβδομάδες δέχθηκα η καλύτερη λύσηγια πολύ καιρό, πραγματικά για πολύ καιρό . Καμία από τις ιδέες μου δεν θα παραμείνει παρά μια ιδέα. Τώρα έχω την ευκαιρία να τρέξω εκδόσεις παραγωγής, ξοδεύοντας χρήματα μόνο για φιλοξενία και καταβάλλοντας κάποια προσπάθεια. Σήμερα, αυτό το σετ δεξιοτήτων είναι σαν να οδηγείτε ένα σωρό τρακτέρ κατά τη διάρκεια του χρυσού στην Καλιφόρνια, ενώ όλοι οι άλλοι χρησιμοποιούν απλά φτυάρια. Προτείνω σε όλους να μάθουν να γράφουν κώδικα. Εδώ θα ήθελα να προσθέσω μια διευκρίνιση: νωρίτερα, έβαλα τον τίτλο «Πώς έμαθα το Rails σε 8 εβδομάδες», ωστόσο, για την ακρίβεια, δεδομένης της ημερομηνίας κυκλοφορίας, αποδεικνύεται ότι είναι 12 εβδομάδες. Ωστόσο, μετά από 8 εβδομάδες ένιωσα ότι ήξερα αρκετά και οι επόμενες τέσσερις εβδομάδες αφιερώθηκα περισσότερο στο να βάλω ό,τι είχα μάθει να δουλέψει, αντί να μάθω.

Τι δεξιότητες είχα πριν ξεκινήσω να μαθαίνω Rails;

Ήμουν σχεδιαστής ιστοσελίδων με γνώσεις HTML και CSS και επικεντρώθηκα κυρίως στο σχεδιασμό UI και UX. Το πιο δύσκολο πράγμα που έχω κάνει με τον πραγματικό κώδικα (εκτός από τον HTML) είναι να μπορώ να προσαρμόσω το Wordpress. Με μια λέξη, δεν είχα απολύτως καμία ιδέα τι είναι ένα πλαίσιο MVC, ούτε πώς λειτουργούν οι βάσεις δεδομένων γενικά. Ο σχεδιασμός, η διάταξη και το HTML για το Freelancify δημιουργήθηκαν από εμένα σε δύο εβδομάδες τον Ιούνιο του 2011.

Γιατί αποφάσισα να σπουδάσω;

Τον Ιούνιο του 2011, όταν η διάταξη ήταν έτοιμη, άρχισα να ψάχνω για έναν κωδικοποιητή για να λειτουργήσει η διάταξη. Η διάταξη ήταν σχεδόν έτοιμη: είχα πεδία κειμένου, αναπτυσσόμενα μενού, φόρμες, κουμπιά, σύνδεσμοι που οδηγούν στο σωστό μέρος και ούτω καθεξής. Βρήκα έναν προγραμματιστή και, με λίγα λόγια, ο τύπος δεν μου ταίριαζε. Έμεινα με ένα σωρό χρέη και ούτε καν κοντά στο να ολοκληρώσω ένα προϊόν. Στη συνέχεια, ήρθα σε επαφή με τον Josh Crius (τον συνάντησα σε μια συνάντηση Ruby on Rails που φιλοξένησε στο Nashville) και συναντήθηκα μαζί του για να δω αν θα μπορούσα να κάνω κάτι με αυτό που μου είχε απομείνει από έναν προγραμματιστή. . Δυστυχώς, η επιδιόρθωση και η οριστικοποίηση του κώδικα δεν θα απαιτούσε λιγότερο χρόνο από την ανάπτυξη από την αρχή από έναν ικανό προγραμματιστή. Έχασα την καρδιά, συνειδητοποιώντας ότι δεν είχα την πολυτέλεια να ξοδέψω χιλιάδες δολάρια για την ανάπτυξη ξανά από την αρχή. Και τότε ο Τζος είπε…» Γιατί δεν μαθαίνετε πώς να χειρίζεστε το Ruby on Rails, αυτό το έργο θα ήταν ένας πολύ καλός τρόπος" και μετά " Μπορώ ακόμη και να συναντιέμαι μαζί σας δύο φορές την εβδομάδα και να σας βοηθήσω στις σπουδές σας.". Πέρασα όλη τη νύχτα σκεπτόμενη. Οι επιλογές μου ήταν: να βρω μια άνετη δουλειά και να πληρώσω τους λογαριασμούς Ήρισκάρετε όλα για να μάθετε Rails και να καταλήξετε να φάτε το καλύτερο ramen στην Ιταλία. Αποφάσισα. Κάλεσε τον Τζος το επόμενο πρωί. Βάζω τα πάντα. Έβγαλα τα χρήματα από τις εναπομείνασες αποταμιεύσεις μου και τα μοίρασα σε τρεις μήνες (για έναν άγαμο άντρα που ζει μόνος και χωρίς παιδιά, αρκούν χίλια δολάρια το μήνα). Ώρα να πάω στη δουλειά, τώρα είμαι μαθητευόμενος με πλήρη απασχόληση. Λάβετε υπόψη: Η αναζήτηση Google, το Stackoverflow, το IRC #RubyOnRails και η κοινότητα των Rails θα έχουν την πλάτη μου όταν κολλήσω, είμαι σίγουρος ότι θα είναι αρκετά.

Οι επόμενοι τρεις μήνες μου - Αποστολή: να πάρεις MVP, να είσαι αρκετά για να δουλέψεις, αλλά όχι "αρκετά χάλια" για να αφήσεις μια τρομερή πρώτη εντύπωση.

Εβδομάδες 1 - 3

Ήταν ίσως η πιο δύσκολη καμπύλη μάθησης, αλλά ΔΕΝ τα παράτησα.

Οι τοίχοι είναι φτιαγμένοι για ανθρώπους που δεν θέλουν πραγματικά να τους αφήσουν.

Η εγκατάσταση ενός επιτραπέζιου υπολογιστή Rails για έναν εντελώς αρχάριο μπορεί να είναι απίστευτα ενοχλητικό. Συμβουλή #1: Αποκτήστε ένα Mac. Συμβουλή #2: Χρησιμοποιήστε Homebrew, RVM, Git και Heroku (αυτό είναι πραγματικά το μόνο που χρειάζεστε για να ξεκινήσετε). Πέρασα μερικές μέρες εγκαθιστώντας, μετά απεγκατέστησα τα πάντα και επανεγκατέστησα. Αρκεί να επαναλάβετε μερικές φορές και θα συνηθίσετε να χρησιμοποιείτε τη γραμμή εντολών του τερματικού (κονσόλα) και θα καταλάβετε γιατί τα πράγματα λειτουργούν όπως λειτουργούν. Τότε το πρώτο πράγμα που έκανα ήταν το TryRuby , Rails for Zombies and Rails Tutorial από τον Michael Hartle. Μην ανησυχείτε για την κατανόηση του υλικού κατά 120%, δεν θα συμβεί μέχρι να αρχίσετε να μαθαίνετε πραγματικά. Ολοκλήρωσα το Rails Tutorial και έφτιαξα αυτήν την εφαρμογή που μοιάζει με Twitter σε περίπου μια εβδομάδα χωρίς να καταλαβαίνω πραγματικά τι έκανα. Αργότερα, καθώς προχωρούσα, άρχισα να συνειδητοποιώ ότι όλα είχαν αρχίσει να βγάζουν νόημα.

Εβδομάδες 3 - 6

Με την εφαρμογή Twitter που δημιουργήθηκε με το Rails Tutorial, απέκτησα κάποια αυτοπεποίθηση. Ο οδηγός δεν με έκανε προγραμματιστή, αλλά τώρα γνωρίζω τα γενικά βήματα για τη δημιουργία μιας εφαρμογής, από τη δημιουργία της ίδιας της εφαρμογής έως την εγκατάστασή της στο Heroku. Ό,τι υπήρχε στο μεταξύ παρέμενε θολό. Πώς μπορώ πραγματικά να αρχίσω να μαθαίνω τώρα; Δουλεύω σε ένα πραγματικό έργο που σημαίνει κάτι για μένα. Ο Τζος και εγώ αποφασίσαμε να δουλέψω ελεύθερα στο Freelancify και να δούμε τι μπορώ να κάνω. Το πρώτο πράγμα που έκανα ήταν να πάρω όλο το HTML από το πλαίσιο και να το οργανώσω σε προβολές και επιμέρους αρχεία. Δημιούργησα (σκαλωσιές) πλατφόρμες προτύπων για Χρήστες (Χρήστες) και Έργα (Έργα). Τότε άρχισα να μαθαίνω για το πρώτο μου πραγματικό στολίδι, το Devise. Στη συνέχεια, η δυνατότητα να υπάρχουν σχέσεις, για παράδειγμα κάθε Χρήστης θα έχει ένα χαρτοφυλάκιο. Αλλά οι Χρήστες μπορούν να έχουν πολλαπλά χαρτοφυλάκια, ενώ κάθε χαρτοφυλάκιο μπορεί να ανήκει μόνο σε έναν Χρήστη. Μόλις καταλάβετε πώς λειτουργούν οι σχέσεις μεταξύ μοντέλων και πώς να καλείτε/εμφανίζετε πράγματα που ανήκουν σε κάτι άλλο, η ζωή γίνεται πολύ πιο εύκολη. Εάν έχετε κολλήσει σε κάποιο μέρος και δεν μπορείτε να μετακινηθείτε, παραλείψτε το, το πιθανότερο είναι ότι ενώ αναπτύσσετε ένα άλλο χαρακτηριστικό, θα καταλάβετε επίσης πώς να εφαρμόσετε αυτό που χάσατε.

Εβδομάδες 6 - 9

Βήμα-βήμα, συνέχισα να μαθαίνω αντιγράφοντας και επαναλαμβάνοντας. Μπορούσα να κάνω τα πράγματα να λειτουργήσουν, και μετά - μπαμ - και ήμουν κολλημένος σε έναν τοίχο και δεν είχα απολύτως καμία ιδέα τι να κάνω μετά. Πηγαίνοντας στο Stackoverflow, στο #RubyOnRails IRC chat, στο RailsCasts ή στο τράβηγμα του Josh, τελικά κατάλαβα πώς να προχωρήσω. Κάντε το ίδιο πράγμα ξανά και ξανά και θα μάθετε πολύ γρήγορα. Το να ξοδεύετε ενοχλητικές ώρες δοκιμάζοντας την απάντηση κάποιου στο Stackoverflow μόνο για να διαπιστώσετε ότι δεν λειτουργεί είναι πραγματικά χρήσιμο. Καταλαβαίνεις τι δεν πρέπει να κάνεις. Και όταν βρείτε την απάντηση, θα αρχίσετε να καταλαβαίνετε ΓΙΑΤΙτο τελευταίο δεν λειτούργησε. Εκείνη την εποχή, άρχισα να συνειδητοποιώ πόσο μεγάλη είναι η εικόνα των πραγμάτων και να καταλαβαίνω πραγματικά ΓΙΑΤΙόλα λειτουργούν ακριβώς όπως λειτουργούν. Ένιωσα σαν ηλίθιος και επέστρεψα και αναμόρφωσα τον κώδικα που έγραψα νωρίτερα για να τον κάνω πιο αποτελεσματικό. Και κάποια στιγμή έφτασα σε ένα στάδιο που όλα άρχισαν να μπαίνουν στη θέση τους.

Εβδομάδες 9 - 12

Ήμουν σε μια φρενίτιδα ανεβασμένης διάθεσης καθώς έφτιαχνα το Freelancify στη φάση εκκίνησης. Σε αυτό το στάδιο, ένιωθα ότι θεραπεύω, ζωντανεύοντας λειτουργίες. Η τελευταία εβδομάδα αναλώθηκε στον εντοπισμό σφαλμάτων διαφόρων σφαλμάτων και δυσλειτουργιών. Αυτή τη Δευτέρα ξεκίνησα τον ιστότοπο. Απέχω όμως ακόμα από το να ολοκληρώσω την προπόνησή μου... Αυτό ήταν. Έχω παραλείψει (στο όνομα της συντομίας) μικρές λεπτομέρειες και τεχνικές λεπτομέρειες. Ωστόσο, μη διστάσετε να κάνετε ερωτήσεις στα σχόλια, σίγουρα θα προσπαθήσω να απαντήσω. Τζέιμς Φεντ.

ΥΣΤΕΡΟΓΡΑΦΟ. - Αν και με βοήθησε πολύ η βοήθεια ενός μέντορα που θα μπορούσα να γνωρίσω, σίγουρα μπορείτε να μάθετε Rails χωρίς αυτόν. Ή προσπαθήστε να βρείτε ένα για τον εαυτό σας, πολλοί προγραμματιστές της Rails λατρεύουν να συνεισφέρουν στην κοινότητα. Αναζητήστε τοπικά συνέδρια και συναντήσεις.

Αυτό το λήμμα είναι πάνω από δύο ετών (δημοσιεύτηκε στις 27 Ιανουαρίου 2012), αλλά, ωστόσο, δεν έχει χάσει τη συνάφειά του. Κατά τη διάρκεια αυτής της περιόδου, ο James Fend κατάφερε να πουλήσει το Freelancify και να επενδύσει σε μια νέα startup, έγραψε για αυτό στις 27 Φεβρουαρίου 2013. Νομίζω ότι αυτό το άρθρο είναι ένα εξαιρετικό παράδειγμα για το πώς ένας άνθρωπος μπορεί να πάει προς τον στόχο του. Αρκεί για να ξεκινήσετε. :)

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

Η γλώσσα εμφανίστηκε το 1995 και θεωρείται μια νέα γλώσσα σε σύγκριση με τη C ή τη C ++, που εμφανίστηκαν το 1972 και το 1983, αντίστοιχα. Η γλώσσα έχει μια σειρά από πλεονεκτήματα και συγκεκριμένα χαρακτηριστικά που υλοποιούνται αποκλειστικά σε αυτήν, αν συγκρίνουμε άλλες δημοφιλείς γλώσσες προγραμματισμού.

Σχέδιο μαθήματος

Κατά τη διάρκεια του μαθήματος βίντεο, θα μάθετε τη γλώσσα Ruby χωρίς να χρησιμοποιήσετε πρόσθετα πλαίσια. Πρόσθετα μαθήματα για ρουμπίνιμπορείτε να βρείτε στο .

Κατά τη διάρκεια του μαθήματος, θα μάθουμε πώς να εγκαταστήσουμε και να εργαστούμε με τη γλώσσα, να μάθουμε τη σύνταξη Ρουμπίνι(μεταβλητές, βρόχοι, δηλώσεις υπό όρους), καθώς και πιο περίπλοκα πράγματα: OOP, εργασία με αρχεία, εξαιρέσεις, μεθόδους και πολλά άλλα θέματα.


Εγκατάσταση του Ruby στα Windows

Για να εγκαταστήσετε το Ruby στα Windows, χρησιμοποιήστε το RubyInstaller, το οποίο μπορείτε να κατεβάσετε από τον επίσημο ιστότοπο σε αυτόν τον σύνδεσμο. Κατεβάστε τελευταία έκδοσηκαι εγκαταστήστε το όπως κανονικό πρόγραμμα. Αφού ολοκληρωθεί η εγκατάσταση, θα δείτε ένα παρόμοιο παράθυρο:

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

Στο παράθυρο που ανοίγει, πληκτρολογήστε 1 με τη σειρά και πατήστε Enter, αφού περιμένετε να τελειώσει η εγκατάσταση, πατήστε 2 και Enter και στο τέλος εκτελέστε την τρίτη εντολή πατώντας 3 και Enter.

Εγκατάσταση του Ruby σε Mac

Σε Mac, το Ruby είναι εγκατεστημένο από προεπιλογή, επομένως δεν χρειάζεται να κάνετε κάτι επιπλέον. Μπορείτε να ελέγξετε την έκδοση γλώσσας στο τερματικό με την ακόλουθη εντολή:

Εάν η έκδοση είναι παλιά, μπορείτε να κάνετε λήψη μιας νέας. Πρώτα πρέπει να κάνετε λήψη του διαχειριστή εκδόσεων Ruby. Αυτό γίνεται μέσω του τερματικού με την εντολή:

Curl -L https://get.rvm.io | bash -s σταθερός

Μετά την εγκατάσταση του διαχειριστή, επανεκκινήστε το τερματικό. Εκτελέστε την ακόλουθη εντολή:

Η λίστα Rvm είναι γνωστή

Μετά την επανεκκίνηση, μπορείτε να εγκαταστήσετε όποια έκδοση θέλετε. Στην περίπτωσή μας, εγκαταστάθηκε η έκδοση 2.4.2:

rvm εγκατάσταση ruby-2.4.2

Στο τέλος, μπορείτε να ελέγξετε ξανά την έκδοση και εάν είναι ακόμα παλιά, απλώς ορίστε την προεπιλογή στη νέα έκδοση.

Η εκμάθηση μιας νέας γλώσσας προγραμματισμού μπορεί να είναι χρονοβόρα και εξαιρετικά βαρετή. Οι προγραμματιστές του .Net θα εκνευριστούν αυτή τη στιγμή και θα αναφωνήσουν: "Γιατί να το μάθω αυτό, επειδή είμαι επαγγελματίας προγραμματιστής .Net και το καθημερινό μου πρόγραμμα είναι απίθανο να ταιριάζει με τη διαδικασία εκμάθησης μιας νέας γλώσσας!" Αλλά αυτό θα ήταν μια εξαιρετικά απερίσκεπτη δήλωση, καθώς όταν μαθαίνετε νέες γλώσσες προγραμματισμού, μαθαίνετε πολλά νέα και χρήσιμα πράγματα, ειδικά αν αυτή η γλώσσα είναι αναβαθμισμένη έκδοσηπροϋπάρχουσα άλλη γλώσσα. Η Ruby απλώς ανήκει σε αυτό το είδος γλώσσας. Συμφωνώ ότι η διαδικασία μετάβασης από έναν αρχάριο σε έναν επαγγελματία προγραμματιστή σε μια συγκεκριμένη γλώσσα προγραμματισμού είναι η πιο δύσκολη διαδικασία, αλλά η εμπειρία αξίζει τον κόπο. Τώρα μπορώ μόνο να σας ενημερώσω και είμαι σίγουρος ότι σίγουρα δεν θα θέλετε να σταματήσετε. Ηρέμησε!

Σημείωση: Σημειώστε ότι αυτό το άρθρο είναι μόνο μια επιφανειακή εισαγωγή στη Ruby (γλώσσα προγραμματισμού) και στο Rails (εφαρμογή πλατφόρμας). ο κύριος στόχοςείναι να σας ενημερώσει με τη Ruby και να σας παρακινήσει να κάνετε την ώθηση που απαιτείται για να ξεκινήσετε την εκμάθηση μιας νέας γλώσσας προγραμματισμού.

Τι είναι η Ruby;

Το Ruby, όπως ήδη αναφέρθηκε, είναι ένας ενημερωμένος συνδυασμός διαφορετικών προσεγγίσεων στον προγραμματισμό. Το Ruby είναι ο τέλειος συνδυασμός της ευκολονόητης προσέγγισης ροής εργασίας της Python, της πολυπλοκότητας του Smalltalk και του ελαφριού στυλ που συνοδεύει την ανάπτυξη Perl. Το Ruby είναι ένα υψηλό επίπεδο αντικειμενοστρεφούς προγραμματισμού (όπως συμβαίνει με τις περισσότερες άλλες γλώσσες προγραμματισμού αυτές τις μέρες) που χρονολογείται από τα μέσα της δεκαετίας του '90 στην Ιαπωνία. Με την πάροδο του χρόνου, η Ruby εξαπλώθηκε στις Ηνωμένες Πολιτείες και την Ευρώπη.

Η Ruby είναι γνωστή για το σύστημα δυναμικού τύπου και την αυτόματη κατανομή μνήμης. Με τον όρο δυναμικός τύπος, εννοώ ότι οι περισσότεροι από τους τύπους που ελέγχονται σε ένα πρόγραμμα Ruby εκτελούνται κατά την εκκίνηση, πράγμα που σημαίνει ότι δεν χρειάζεται να ανησυχείτε για ακέραιους ή τύπους συμβολοσειρών. Η Ruby θα το κάνει για εσάς. Αυτό θα το δούμε σε ένα μικρό παράδειγμα αργότερα.

Ο κύριος στόχος στην κυκλοφορία του Ruby ήταν να διευκολύνει τους ανθρώπους να αλληλεπιδρούν με μηχανές και να κατανοούν τον κώδικα. Ο ιδρυτής της Ruby, Yukihiro Matsumoto, επιμένει στην ιδέα ότι η Ruby σχεδιάστηκε για να αυξήσει την παραγωγικότητα του προγραμματιστή και όχι για να βελτιστοποιήσει την εφαρμογή από την πλευρά του μηχανήματος.

«Συχνά οι άνθρωποι, ειδικά οι μηχανικοί υπολογιστών, εστιάζουν στις μηχανές. Νομίζουν ότι με αυτόν τον τρόπο μπορούν να επιταχύνουν τη δουλειά του μηχανήματος, μπορούν να αυξήσουν την απόδοσή του, ότι μπορούν να βελτιώσουν τα πάντα-ό,τι-ό,τι αφορά το μηχάνημα. Έχουν εμμονή με τα αυτοκίνητα. Στην πραγματικότητα όμως, πρέπει να εστιάσουμε την προσοχή μας στους ανθρώπους, να τους φροντίσουμε, να διευκολύνουμε τη διαδικασία εργασίας με εφαρμογές, μέσω μηχανημάτων. Είμαστε αληθινοί και ζωντανοί, και οι μηχανές απλώς μας υπακούουν.

Τι είναι το Rails;

Το Rails είναι μια απίστευτα παραγωγική εφαρμογή πλατφόρμας γραμμένη σε Ruby από τον David Heinemeier Hansson. Υπολογίζεται ότι η ανάπτυξη μιας διαδικτυακής εφαρμογής στο Rails είναι 10 φορές ταχύτερη από ό,τι σε μια πλατφόρμα που βασίζεται σε Java. Το Rails είναι μια πλατφόρμα βασισμένη στο Ruby (φυσικά!) και διανεμημένο ανοιχτού κώδικα. πηγαίος κώδικας, το οποίο μπορεί να χρησιμοποιηθεί για γρήγορη και εύκολη ενσωμάτωση βάσεων δεδομένων.

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

Κανονικό πρόγραμμα Ruby

Ας δούμε πόσο απλά και ενδιαφέροντα θα είναι τα πράγματα μετά από αυτό:

Ο κώδικας:
personal = "Δεν αγαπώ την κοπέλα μου"
βάζει προσωπικά
Στην έξοδο:
Δεν αγαπώ την κοπέλα μου
Ναι ναι! Χωρίς αρχικοποίηση, χωρίς ερωτηματικά και χωρίς μεθόδους.

Τώρα ας προσπαθήσουμε να δούμε τη διαφορά μεταξύ PHP και Ruby χρησιμοποιώντας το παράδειγμα μιας περίπτωσης όπου πρέπει να αντιστρέψουμε μια συμβολοσειρά:

PHP:
strrev ("string");
ρουμπίνι:
«χορδή».αντίστροφα
Voila! Δεν ξοδεύουμε σχεδόν καθόλου χρόνο και αντιστρέφουμε πλήρως τη σειρά των εγγραφών. Είναι απαραίτητο να ληφθεί υπόψη η διαφορά στις προσπάθειες που γίνονται και στις δύο γλώσσες. Μια γλώσσα προγραμματισμού που βασίζεται στο Ruby απλοποιεί πολύ τη διαδικασία συγγραφής ενός προγράμματος. Αυτό μοιάζει περισσότερο με το γράψιμο στα αγγλικά παρά σε μια γλώσσα προγραμματισμού. Αυτό είναι το μέλλον για όλες τις γλώσσες.

Οφέλη από τη χρήση Ruby (και Rails)

Όλοι γνωρίζουν ότι ο κόσμος της Ruby είναι πολύ μεγάλος και σήμερα δεν έχουμε καλύψει ούτε το 1%, αλλά αυτή η καταχώρησηαφήστε να νιώσετε τη δύναμη δεδομένη γλώσσαπρογραμματισμού και σας ενθαρρύνουν να αρχίσετε να το μαθαίνετε μόνοι σας. Τώρα ας βουτήξουμε στον κόσμο των πλεονεκτημάτων του Ruby:

* Διαθεσιμότητα. Όπως αναφέρθηκε προηγουμένως, αυτό είναι ένα από τα κύρια πλεονεκτήματα του Ruby. ως γλώσσα Ruby προγραμματισμόςείναι πολύ εκλεπτυσμένο και θυμίζει πολύ αγγλική γλώσσα. Είναι η ομοιότητα με τη συνηθισμένη καθομιλουμένη που επιτρέπει στους αρχάριους να συνηθίσουν εύκολα να εργάζονται με τη Ruby.

* Συνοπτικότητα και δύναμη. Το παραπάνω παράδειγμα μας δείχνει πόσο συνοπτικός είναι ο κώδικας Ruby. Είναι όσο το δυνατόν πιο σύντομο. Επιπλέον, η Ruby είναι μια γλώσσα που είναι τόσο ισχυρή όσο άλλες γλώσσες, καθώς είναι μια αντικειμενοστραφής γλώσσα προγραμματισμού υψηλού επιπέδου.

* Δεν χρειάζεται να εφεύρουμε ξανά τον τροχό. Το Rails (βασισμένο στο Ruby) είναι μια διεπαφή προγραμματισμού με την οποία δεν χρειάζεται πλέον να "εφεύρετε ξανά τον τροχό". Δημιουργεί κώδικα που μπορεί να επαναχρησιμοποιηθεί σε διαφορετικές περιπτώσεις.

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

* Περιβάλλοντα Dev, Test και Prod. Το Rails σάς επιτρέπει να ξεκινήσετε το έργο σας σε τρία διαφορετικά περιβάλλοντα που ονομάζονται Dev, Test και Prod. Και τα τρία περιβάλλοντα συμπεριφέρονται ελαφρώς διαφορετικά.

Συλλογή

Τώρα ας ρίξουμε μια ματιά σε μερικούς ιστότοπους (δημοφιλείς) που έχουν αναπτυχθεί χρησιμοποιώντας το εργαλείο Ruby. Θα δείτε πόσο έξυπνα διαχειρίζονται οι σχεδιαστές τα έργα τους με τη Ruby.


02.


03.


04.


05.


06.

Ένα από τα πρώτα και πιο ολοκληρωμένα σεμινάρια Rails στον Ιστό. Το κύριο πλεονέκτημα είναι η λεπτομερής κάλυψη των πιο απαραίτητων θεμάτων, τακτικές ενημερώσεις και δωρεάν περιεχόμενο.

Είναι αλήθεια ότι ο πόρος είναι εντελώς στα αγγλικά. Και είναι σημαντικό να καταλάβετε ότι αυτό είναι χτισμένο με τη μορφή βιβλίου - πρέπει να καταλάβετε όλα τα ζητήματα μόνοι σας. Εξαιτίας αυτού, η διάρκεια και η πολυπλοκότητα της εκπαίδευσης δεν μπορούν να προβλεφθούν.

2. Σιδηρόδρομοι

Ένας άλλος πολύ γνωστός εκπαιδευτικός πόρος στο Διαδίκτυο. Πάνω από μία γενιά προγραμματιστών της Rails μεγάλωσαν σε αυτό. Επίσης στα αγγλικά.

Δεν είναι χτισμένο ως ένα ολιστικό εκπαιδευτικό πρόγραμμα, αλλά ως μια σειρά από screencasts - σύντομα μαθήματα για ένα συγκεκριμένο θέμα. Υπάρχουν πολλά μαθήματα, μπορείτε να βρείτε σχεδόν οποιοδήποτε θέμα.

Δυστυχώς, το έργο σταμάτησε να ενημερώνεται το 2013.

3. Ράγες για ζόμπι

Μια kickass εισαγωγή στις ράγες για αρχάριους σε ένα παιχνίδι τύπου quest με ατμόσφαιρα ζόμπι. Είναι πολύ δημοφιλές σε εντελώς αρχάριους.

Είναι βολικό ότι δεν χρειάζεται να εγκαταστήσετε τίποτα στον υπολογιστή σας. Όλοι οι γρίφοι λύνονται στο πρόγραμμα περιήγησης. Βήμα προς βήμα περνάτε μέσα από το παιχνίδι και αρχίζετε να κατανοείτε τα βασικά του Ruby on Rails.

Εάν δεν καταλαβαίνετε καθόλου προγραμματισμό, αυτή είναι η επιλογή σας. Δεν υπάρχουν σύνθετα θέματα στο μάθημα, τίποτα δεν αποσπά την προσοχή από τα βασικά. Στα Αγγλικά.

3. Udemy

Μεγάλη συλλογή βιντεομαθημάτων. Μεταξύ αυτών είναι πολλά σε ρουμπίνι και ρουμπίνια σε ράγες. Δεν έχει νόημα να δίνετε συγκεκριμένους συνδέσμους - επιλέξτε ανάλογα με το γούστο σας ανά τιμή ή δημοτικότητα.

Η μορφή Udemy περιλαμβάνει αρκετά σύντομα μαθήματα με έμφαση στα μαθήματα βίντεο. Μην περιμένετε σοβαρές εργασίες για το σπίτι ή άμεση υποστήριξη από τους δασκάλους.

4. Ruby Bursa

Ένα δυνατό σύντομο μάθημα για τα βασικά της ανάπτυξης Rails. Έμπειροι καθηγητές, καλό πρόγραμμα.

Στο μάθημα, η προσωπική παρουσία του μαθητή είναι επιθυμητή και πραγματοποιείται μόνο σε μεγάλες πόλεις της Ουκρανίας.

5. Ανάπτυξη στο Ruby on Rails από το Evil Martians

Ένα τριήμερο εντατικό από μια από τις πιο έμπειρες ομάδες Ruby on Rails στη Ρωσία.

Σπάνια γίνεται. Είναι ακριβό (κρίνοντας από τις κριτικές, αξίζει τον κόπο). Απαιτεί προσωπική παρουσία. Κατάλληλο μόνο για προχωρημένους προγραμματιστές, δεν υπάρχει τίποτα για αρχάριους να κάνουν εκεί.

6. Ruby on Rails Online Intensive από την Good Programmer

Ένα νέο έργο από μια ομάδα γνωστή στο Youtube για τα μαθήματα Ruby για αρχάριους.

Το 3μηνο εντατικό πρόγραμμα έχει σχεδιαστεί για εντελώς αρχάριους και υπόσχεται να σας κάνει έναν μικρό προγραμματιστή με ένα χαρτοφυλάκιο που δεν περιλαμβάνει τίποτα περισσότερο από 12 έξυπνες εφαρμογές.

Το μάθημα αποτελείται από μαθήματα βίντεο, πρακτικές εργασίες, υποστήριξη καθηγητών, τακτικά διαδικτυακά σεμινάρια.

Κρίνοντας από κανάλι στο youtubeκαι σχόλια χρηστών - αυτοί οι τύποι ξέρουν τι κάνουν και δεν θα τα βαρεθούν.