12
Πρακτικές, Συμβάσεις, Design Patterns, κλπ κλπ...

Things Learned From Rails

Embed Size (px)

DESCRIPTION

Η διαφάνειες της παρουσίασης που έγινε στα πλαίσια του 1ου Athens On Rails Meet-up.

Citation preview

Page 1: Things Learned From Rails

Πρακτικές,Συμβάσεις,DesignPatterns,κλπκλπ...

Page 2: Things Learned From Rails

Ποιος;

  ΝίκοςΔημητρακόπουλος  ΑπόφοιτοςΠαν.Πελοποννήσου.:Ε&Τ

Τηλεπικοινωνιών  [email protected],http://nikosd.com

  Γενικόbackgroundσεweb(all‐aroundmonkey!)  3χρόνια«παιχνιδιού»μετοRails  1χρόνο«δουλειάς»σεRails

✔ Ακόμα1ηεπιλογή✖ Αλλάβλέπωπλέον“Thedarkside”ofRails.

Page 3: Things Learned From Rails

Thingslearned*from*Rails?

  Μεθοδολογίες,πρότυπακλππουείναι:  Γενικά  ΜπορούνναεφαρμοστούνΕΥΚΟΛΑκαισεάλλαframeworks/γλώσσεςπρογραμματισμού

  No“Lock‐in”

Page 4: Things Learned From Rails

Thingslearned*from*Rails?

  ΆλλαRubyWebFrameworks:  Merb  Meck  …

  WebFrameworksσεάλλεςγλώσσες:  Django(Python)  ΠολλααααλάframeworksσεJava  PHPCakePHP,Symphony,…

Page 5: Things Learned From Rails

Κύριασημεία

  Γενικές«αρχές»καισυμβάσεις

  Υποστηριζόμενεςαπόμεθοδολογίες  ΚαιDesignPatterns

  Έχουνωςαποτέλεσμα:  Πιοαποδοτικόκαιαποτελεσματικόsoftwaredevelopment

  ΚαιΠαγκόσμιαΕιρήνη

Page 6: Things Learned From Rails

Συμβάσεις

  Κατ’αρχάς:  Ακολουθούμετιςσυμβάσειςότανείναιδυνατόν!

  Γιατί;  Γιανα*μην*χρειάζεταιναπαίρνουμε*τιςίδιες*σχεδιαστικέςαποφάσεις*κάθε*φορά!

  Καιτέλος:  Οισυμβάσειςείναιγιανασπάνε(ότανδεμαςκάνουνκαιξέρουμεκαιγιατί!)

Page 7: Things Learned From Rails

Παραδείγματασυμβάσεων

  Όνομαπίνακασεπληθυντικό:`people`  Όνομαμοντέλου(Rubyαντικειμένου)πουσντιστοιχείστονπίνακαpeopleσεενικό:`Person`

  Στήλησεπίνακαπουείναι«κλειδί»γιασχέσημεάλλοπίνακα:όνομα_άλλου_πίνακα_id

Page 8: Things Learned From Rails

Αρχές

  BeDRY(Don’tRepeatYourself)  Επαναχρησιμοποίησηκώδικα:

  Plugins  Modules  Gems(Libraries)

  ΓράψτεTestsγιατοκώδικάσας  Test,test,test!  Καιμετάλίγοακόμα...  Καιμετάγράψτεκαιτοναληθινόκώδικα(TestDrivenDevelopment/BehaviorDrivenDevelopment)

Page 9: Things Learned From Rails

DesignPatterns

  MVC  ORM

  REST

  URLsareNOTpointerstofiles!

Page 10: Things Learned From Rails

Μεθοδολογίες

  Agile  VersionControlofcodebase  TDD/BDD

Page 11: Things Learned From Rails

Συμπέρασμα;

  Μπλαμπλαμπλα

  Πάρτετιςγνώσειςκαιμεταφέρτετεςσεάλλαπεριβάλλοντα

  Εξελίξτεαυτέςτιςιδέες

  Φτιάξτεκαινούριες!

Page 12: Things Learned From Rails

Αναφορές

  Παρουσιάσειςσταελληνικά:  Εισαγωγήστην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