Upload
nikos-dimitrakopoulos
View
780
Download
0
Embed Size (px)
DESCRIPTION
Η διαφάνειες της παρουσίασης που έγινε στα πλαίσια του 1ου Athens On Rails Meet-up.
Citation preview
Πρακτικές,Συμβάσεις,DesignPatterns,κλπκλπ...
Ποιος;
ΝίκοςΔημητρακόπουλος ΑπόφοιτοςΠαν.Πελοποννήσου.:Ε&Τ
Τηλεπικοινωνιών [email protected],http://nikosd.com
Γενικόbackgroundσεweb(all‐aroundmonkey!) 3χρόνια«παιχνιδιού»μετοRails 1χρόνο«δουλειάς»σεRails
✔ Ακόμα1ηεπιλογή✖ Αλλάβλέπωπλέον“Thedarkside”ofRails.
Thingslearned*from*Rails?
Μεθοδολογίες,πρότυπακλππουείναι: Γενικά ΜπορούνναεφαρμοστούνΕΥΚΟΛΑκαισεάλλαframeworks/γλώσσεςπρογραμματισμού
No“Lock‐in”
Thingslearned*from*Rails?
ΆλλαRubyWebFrameworks: Merb Meck …
WebFrameworksσεάλλεςγλώσσες: Django(Python) ΠολλααααλάframeworksσεJava PHPCakePHP,Symphony,…
Κύριασημεία
Γενικές«αρχές»καισυμβάσεις
Υποστηριζόμενεςαπόμεθοδολογίες ΚαιDesignPatterns
Έχουνωςαποτέλεσμα: Πιοαποδοτικόκαιαποτελεσματικόsoftwaredevelopment
ΚαιΠαγκόσμιαΕιρήνη
Συμβάσεις
Κατ’αρχάς: Ακολουθούμετιςσυμβάσειςότανείναιδυνατόν!
Γιατί; Γιανα*μην*χρειάζεταιναπαίρνουμε*τιςίδιες*σχεδιαστικέςαποφάσεις*κάθε*φορά!
Καιτέλος: Οισυμβάσειςείναιγιανασπάνε(ότανδεμαςκάνουνκαιξέρουμεκαιγιατί!)
Παραδείγματασυμβάσεων
Όνομαπίνακασεπληθυντικό:`people` Όνομαμοντέλου(Rubyαντικειμένου)πουσντιστοιχείστονπίνακαpeopleσεενικό:`Person`
Στήλησεπίνακαπουείναι«κλειδί»γιασχέσημεάλλοπίνακα:όνομα_άλλου_πίνακα_id
Αρχές
BeDRY(Don’tRepeatYourself) Επαναχρησιμοποίησηκώδικα:
Plugins Modules Gems(Libraries)
ΓράψτεTestsγιατοκώδικάσας Test,test,test! Καιμετάλίγοακόμα... Καιμετάγράψτεκαιτοναληθινόκώδικα(TestDrivenDevelopment/BehaviorDrivenDevelopment)
DesignPatterns
MVC ORM
REST
URLsareNOTpointerstofiles!
Μεθοδολογίες
Agile VersionControlofcodebase TDD/BDD
Συμπέρασμα;
Μπλαμπλαμπλα
Πάρτετιςγνώσειςκαιμεταφέρτετεςσεάλλαπεριβάλλοντα
Εξελίξτεαυτέςτιςιδέες
Φτιάξτεκαινούριες!
Αναφορές
Παρουσιάσειςσταελληνικά: Εισαγωγήστην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