Upgrade to Pro — share decks privately, control downloads, hide ads and more …

10 things I learned at RailsConf 2012

10 things I learned at RailsConf 2012

A quick overview of some things I learned at RailsConf 2012, Austin TX. Presented to Montreal on Rails or May 15th 2012.

Hugo Frappier

May 14, 2012
Tweet

More Decks by Hugo Frappier

Other Decks in Technology

Transcript

  1. Hot subject of the year ‣ 2008: Rest ‣ 2009:

    iOS, jQuery, mobility ‣ 2010: NoSQL databases ‣ 2011: Javascript frameworks (backbone, ...) ‣ 2012: nothing ‣ ... or maybe: "simple vs complex"
  2. Fifth year for me. Why? ‣ Take a break from

    work ‣ Learn new stuff ‣ Learn from people's experience ‣ See the trends ‣ Hang out with the community
  3. Event sourcing ‣ events as history of data ‣ can

    recreate object state at any point in time ‣ Bug to fix? - fix it - replay events - database is fixed ‣ Commons uses - source control - financial/accounting systems - complex domains ‣ https://github.com/karmajunkie/replay Use the Source, Luke: High fidelity data with event sourcing (Keith Gaddis) 1
  4. nsrails.com ‣ NSRails is a light-weight Objective-C framework (iOS or

    OS X) for simple but powerful communication with your Rails server. ‣ https://github.com/dingbat/nsrails 2 Lightning Talks (Dan Hassin @2nf340)
  5. erd ‣ A Rails engine for drawing your app’s ER

    diagram and operating migrations ‣ http://localhost:3000/erd 3 Lightning Talks (@a_matsuda)
  6. TwitterCLDR ‣ i18n: no javascript & not web-friendly ‣ Twitter

    uses a Translation Center app for managing translations ‣ Export bundles for their apps ‣ gem 'twitter_cldr' - dates, times, numbers, sorting, currencies, language names, countries, units of measure, pluralization - future: normalization, collation, capitalization, abbreviations, quoting, javascript version i18n on Rails: A Twitter Approach (Cameron Dutro) 4
  7. TwitterCLDR > (5150.95).localize => 5,150.95 > (5150.95).localize(:fr) => 5 150,95

    > (5150.95).localize(:fr).to_currency.to_s => "5 150,95 $" > (5150.95).localize.to_currency.to_s => "$5,150.95" i18n on Rails: A Twitter Approach (Cameron Dutro) 4
  8. TwitterCLDR > DateTime.now.localize(:fr).to_medium_s => "14:30:00 13 mai 2012" > DateTime.now.localize(:en).to_medium_s

    => "2:30:04 PM May 13, 2012" > Date.today.localize.to_full_s => "Sunday, May 13, 2012" > Date.today.localize(:fr).to_full_s => "dimanche 13 mai 2012" i18n on Rails: A Twitter Approach (Cameron Dutro) 4
  9. Making the Web fast(er) ‣ measure user perceived latency ‣

    Google team dedicated to make it faster ‣ performance.timing in Chrome console ‣ mod_pagespeed for Apache ‣ Page Speed Chrome extension https://developers.google.com/speed/docs/insights/using_chrome ‣ http://webpagetest.org Let's make the web faster tips from trenches @ Google (Ilya Grigorik) 5
  10. brakemanscanner.org ‣ Statically analyzes Rails application code to find security

    issues ‣ gem 'brakeman', group: 'development' ‣ brakeman -f html -o report.html Securing your site (Thomas Pomfret) 6
  11. Mobile Rage ‣ 2012: more smartphones sold than PCs ‣

    1/3 of Canadians have smartphones ‣ 74% of the users will bounce after 5 seconds ‣ native apps: not everyone wants to install an application. Don't always offer to install one! ‣ Strategy: - Mobile First - Responsive Design Mobile Rage What causes it how to fix it (Lori M Olson) 7
  12. generator shortcuts > rails g resource book slug:string{20}:index title summary:text

    author:references Ten Things You Didn't Know Rails Could Do (James Edward Gray II) 8
  13. command line ‣ rake notes ‣ rake notes:fixme ‣ rake

    db:migrate:status ‣ rails console --sandbox - helper.number_to_currency 1.45 - User.pluck(:email) - Book.uniq.pluck(:author_id) Ten Things You Didn't Know Rails Could Do (James Edward Gray II) 9
  14. postgresql ‣ Supports fulltext search! ‣ t.column :search, "tsvector" ‣

    CREATE INDEX articles_search_index ON articles USING gin(search); ‣ See James Edward Gray presentation for more details Ten Things You Didn't Know Rails Could Do (James Edward Gray II) 11
  15. Atomic write ‣ There is a way to prevent half-written

    files from being seen by other processes Ten Things You Didn't Know Rails Could Do (James Edward Gray II) 12
  16. Work in background 13 ‣ Ruby 1.9 provides a Queue

    class ‣ Rails is thread-safe ‣ Why use DelayedJob, Resque and others for simple things? ‣ Let's fetch the 10 latest tweets after a user registers Ten Things You Didn't Know Rails Could Do (James Edward Gray II)
  17. Tokaido ‣ Let's make Rails on OS X easy again!

    ‣ From the one and only Yehuda Katz ‣ http://yehudakatz.com/2012/04/13/tokaido- my-hopes-and-dreams/ ‣ Not released yet Lightning Talks (Yehuda Katz) 14
  18. My picks ‣ Keynotes: - DHH - Rich Hickey (clojure

    language) - @tenderlove (a.k.a. Aaron Patterson) - David Cohen (TechStars) ‣ Ten Things You Didn't Know Rails Could Do ‣ Making the Web fast(er) ‣ Rails Sustainable Productivity