Share
Embed
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
Transcript
34 slides
-
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" -
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 -
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 -
Event sourcing 1 Use the Source, Luke: High fidelity data
with event sourcing (Keith Gaddis) -
Event sourcing 1 Use the Source, Luke: High fidelity data
with event sourcing (Keith Gaddis) -
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) -
erd ‣ A Rails engine for drawing your app’s ER
diagram and operating migrations ‣ http://localhost:3000/erd 3 Lightning Talks (@a_matsuda) -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
content_tag_for Ten Things You Didn't Know Rails Could Do (James
Edward Gray II) 10 -
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 -
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 -
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) -
Work in background Ten Things You Didn't Know Rails Could
Do (James Edward Gray II) 13 -
Work in background Ten Things You Didn't Know Rails Could
Do (James Edward Gray II) 13 -
Work in background Ten Things You Didn't Know Rails Could
Do (James Edward Gray II) 13 -
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 -
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