Amsterdamská Rails konference
Dnes jsem byl v Amsterdamu na místní konferenci nazvané přímočaře RubyEnRails 2007. Přináším pár postřehů pro ty, co neměli tu možnost.
Velectěný Dr Nic mluvil nejprve obecně o tom, kam Railsy směřují. Zdůraznil především REST rozhraní "zdarma" a ActiveResource jako snadný způsob, jak REST pak využívat. Zmínil své Magic models - gem, který vygeneruje třídy modelů z databázových tabulek a to včetně vazeb (například i has_many through) a validací. Jak to souviselo s budoucností Railsů? No řekněme tak, že hodně stávajících aplikací bude migrovat na RoR. Závěrem doporučil výtvářet gemy místo pluginů (výhody: lepší práce s verzemi, možnost použít i mimo Rails aplikaci,..) a přidal link, který pomůže s jejich tvorbou: newgem. Jeho odpoveď na věčné diskuse o škálovatelnosti Railsů byla tato kniha. Trefné.
V druhé prezentaci přidal pár tipů, jak udělat Ruby kód hezčí. Víceméně šlo o všemožné hrátky s metodami method_missing a const_missing. Method_missing je volaná na objektu, pokud na něm zavoláte metodu, která nebyla definována. Výchozí implementace pouze vyhodí výjimku, předefinováním lze docílit například dynamických "finderů" jako má ActiveRecord (find_by_[sloupec databáze]). Const_missing je obdoba pro chybějící třídy, moduly atd.
Nějaký CTO z Osla mluvil o RSpec - nástroji, který vám pomůže přemýšlet a provádět testy více podle Agile principů - tj. že se testy píší dříve, než samotný kód a slouží jako specifikace. Podnětné.
Geoffrey Grosenbach mluvil především o různých druzích cachování - nic co byste se nedočetli v Agile Development with Rails nebo nedoslechli v příslušné epizodě jeho Peepcodu. Zajímavější byla zmínka, že to, jak rychlá aplikace uživateli připadá, může ovlivnit daleko víc věcí, než jen to co se děje v Rails stacku - doporučil podívat se na zrychlení posílání obrázků a jiných statických dat, gzip kompresi odpovědí serveru, indexy v databázi apod. Z nástrojů pak monitorovací Munin nebo hodně zajimavý analyzátor logů pl_analyze.
Zbytek také ušel, ale to jste tam měli být. Věřím, že česká Ostrava on Rails bude neméně přínosná. Sejdeme se tam.
about 18 hours later:
10 days later:
11 days later: