things learned from rails
DESCRIPTION
Η διαφάνειες της παρουσίασης που έγινε στα πλαίσια του 1ου Athens On Rails Meet-up.TRANSCRIPT
![Page 1: Things Learned From Rails](https://reader037.vdocuments.net/reader037/viewer/2022110309/558cd165d8b42ad6438b4680/html5/thumbnails/1.jpg)
Πρακτικές,Συμβάσεις,DesignPatterns,κλπκλπ...
![Page 2: Things Learned From Rails](https://reader037.vdocuments.net/reader037/viewer/2022110309/558cd165d8b42ad6438b4680/html5/thumbnails/2.jpg)
Ποιος;
ΝίκοςΔημητρακόπουλος ΑπόφοιτοςΠαν.Πελοποννήσου.:Ε&Τ
Τηλεπικοινωνιών [email protected],http://nikosd.com
Γενικόbackgroundσεweb(all‐aroundmonkey!) 3χρόνια«παιχνιδιού»μετοRails 1χρόνο«δουλειάς»σεRails
✔ Ακόμα1ηεπιλογή✖ Αλλάβλέπωπλέον“Thedarkside”ofRails.
![Page 3: Things Learned From Rails](https://reader037.vdocuments.net/reader037/viewer/2022110309/558cd165d8b42ad6438b4680/html5/thumbnails/3.jpg)
Thingslearned*from*Rails?
Μεθοδολογίες,πρότυπακλππουείναι: Γενικά ΜπορούνναεφαρμοστούνΕΥΚΟΛΑκαισεάλλαframeworks/γλώσσεςπρογραμματισμού
No“Lock‐in”
![Page 4: Things Learned From Rails](https://reader037.vdocuments.net/reader037/viewer/2022110309/558cd165d8b42ad6438b4680/html5/thumbnails/4.jpg)
Thingslearned*from*Rails?
ΆλλαRubyWebFrameworks: Merb Meck …
WebFrameworksσεάλλεςγλώσσες: Django(Python) ΠολλααααλάframeworksσεJava PHPCakePHP,Symphony,…
![Page 5: Things Learned From Rails](https://reader037.vdocuments.net/reader037/viewer/2022110309/558cd165d8b42ad6438b4680/html5/thumbnails/5.jpg)
Κύριασημεία
Γενικές«αρχές»καισυμβάσεις
Υποστηριζόμενεςαπόμεθοδολογίες ΚαιDesignPatterns
Έχουνωςαποτέλεσμα: Πιοαποδοτικόκαιαποτελεσματικόsoftwaredevelopment
ΚαιΠαγκόσμιαΕιρήνη
![Page 6: Things Learned From Rails](https://reader037.vdocuments.net/reader037/viewer/2022110309/558cd165d8b42ad6438b4680/html5/thumbnails/6.jpg)
Συμβάσεις
Κατ’αρχάς: Ακολουθούμετιςσυμβάσειςότανείναιδυνατόν!
Γιατί; Γιανα*μην*χρειάζεταιναπαίρνουμε*τιςίδιες*σχεδιαστικέςαποφάσεις*κάθε*φορά!
Καιτέλος: Οισυμβάσειςείναιγιανασπάνε(ότανδεμαςκάνουνκαιξέρουμεκαιγιατί!)
![Page 7: Things Learned From Rails](https://reader037.vdocuments.net/reader037/viewer/2022110309/558cd165d8b42ad6438b4680/html5/thumbnails/7.jpg)
Παραδείγματασυμβάσεων
Όνομαπίνακασεπληθυντικό:`people` Όνομαμοντέλου(Rubyαντικειμένου)πουσντιστοιχείστονπίνακαpeopleσεενικό:`Person`
Στήλησεπίνακαπουείναι«κλειδί»γιασχέσημεάλλοπίνακα:όνομα_άλλου_πίνακα_id
![Page 8: Things Learned From Rails](https://reader037.vdocuments.net/reader037/viewer/2022110309/558cd165d8b42ad6438b4680/html5/thumbnails/8.jpg)
Αρχές
BeDRY(Don’tRepeatYourself) Επαναχρησιμοποίησηκώδικα:
Plugins Modules Gems(Libraries)
ΓράψτεTestsγιατοκώδικάσας Test,test,test! Καιμετάλίγοακόμα... Καιμετάγράψτεκαιτοναληθινόκώδικα(TestDrivenDevelopment/BehaviorDrivenDevelopment)
![Page 9: Things Learned From Rails](https://reader037.vdocuments.net/reader037/viewer/2022110309/558cd165d8b42ad6438b4680/html5/thumbnails/9.jpg)
DesignPatterns
MVC ORM
REST
URLsareNOTpointerstofiles!
![Page 10: Things Learned From Rails](https://reader037.vdocuments.net/reader037/viewer/2022110309/558cd165d8b42ad6438b4680/html5/thumbnails/10.jpg)
Μεθοδολογίες
Agile VersionControlofcodebase TDD/BDD
![Page 11: Things Learned From Rails](https://reader037.vdocuments.net/reader037/viewer/2022110309/558cd165d8b42ad6438b4680/html5/thumbnails/11.jpg)
Συμπέρασμα;
Μπλαμπλαμπλα
Πάρτετιςγνώσειςκαιμεταφέρτετεςσεάλλαπεριβάλλοντα
Εξελίξτεαυτέςτιςιδέες
Φτιάξτεκαινούριες!
![Page 12: Things Learned From Rails](https://reader037.vdocuments.net/reader037/viewer/2022110309/558cd165d8b42ad6438b4680/html5/thumbnails/12.jpg)
Αναφορές
Παρουσιάσειςσταελληνικά: ΕισαγωγήστηνRuby:http://nikosd.com/files/Introduction_to_Ruby_v1.0.1.pdf ΕισαγωγήστοRails(αναφέρεταιστοRails1):
http://nikosd.com/files/Ruby_On_Rails_Introduction_v1.0.pdf
Sites(αγγλικά): http://guides.rails.info/ http://groups.google.com/group/rubyonrails‐talk
Βιβλία: http://www.pragprog.com/titles/ruby/programming‐ruby http://www.pragprog.com/titles/rails3/agile‐web‐development‐with‐rails‐third‐
edition http://www.amazon.com/gp/product/0321445619?
ie=UTF8&tag=nid06‐20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0321445619