Get Started. It's Free
or sign up with your email address
RailsConf2007 by Mind Map: RailsConf2007

1. Friday 5/18

1.1. DHH Keynote

1.1.1. Rails 2.0 claims it has nothing earth shattering, just a lot of things better default scaffold includes Restful xml interface easily get any format actvieResource easily give an API to scaffold loggr in IRB? add logic to single controller and you get it for all formats ActiveWebService is gone, instead use ActiveResource Other allies of rails maybe Atom maybe OpenID 9 more favorite 2.0 features Breakpoints automatically bundle your js and css in gzip, big improvement in user response time but you keep well factored scripts browswers only open 2 concurrent sessions to the same domain, but theres something to set up spoofing of subdomains to get more concurrent downloads of your "assets" (images, etc) query cache use erb and/or builder for rss/atom configuration is simplified sexy migrations http authentication MIT license assumption

1.1.2. good community support for newbies rubyorails-talk google group irc channel

1.1.3. textmate

1.2. Clean Code, Robert Martin

1.2.1. he prefers RSpec to TestUnit

1.2.2. "Open Close" principle: open for extensibility, closed for modifcations

1.2.3. some IDE's have autotest: constantly running tests as you type and tell you as soon as something is broken

1.2.4. approximate quote: "if you're worried about the function of your code alone, you shouldn't be in the software business"

1.2.5. productivity on a project decreases with time the implication is this is in part because of all the bad code that builds up

1.2.6. Bad code is the hardest thing to change you can change bad social dynamics you can change bad schedules you can change bad requirements

1.2.7. Be a professional Test First Clean often The Only way to go fast is to go well

1.3. Scale Rails Wihtout Bounds on Amazon EC2 Thorsten von Eicken, Gary Burke

1.3.1. My open questions: How do you backup a db to S3?

1.3.2. Common workflow: Load to s3 enque items worker leases an item from que worker puts result in s3 worker tells que it's finished

1.3.3. RightScale has a little framework which provides an easy place to provide your particular code that does prework your code post work

1.3.4. RightScale archetucture mysql master and slave backup to s3 every 10 minutes daemons (all ruby) 3 processes query ec2 nonstop 2 processes querying SQS nonstop code deployed with capistrano can be served from s3

1.3.5. xen based virtualization

1.3.6. dynamic dns roundrobin dns

1.3.7. weakpoints DNS vertical scaling of db server partitioning of db is very important

1.4. Standing on the Shoulders of Giants Adam Key

1.4.1. "today we stand on each othere's feet" Richard Hamming

1.4.2. usually takes 5x more effort to read code than to write it: improve yourself so it's not quite such a bad ratio

1.4.3. "Protect yourself from yourself 5 days ago"

1.4.4. Topic: How to Read Code

1.4.5. Good code to read xmlrpc4r Beast Josh Goebel Rick Olson authenticate_system.rb someone wrote it and it ends up in lots of plugins RAKE overloads the language lots of blocks basic DSL behavior, not really metaprogramming acts_as_versioned class eval and instance eval http://whytheluckystiff.net/ pickaxe book RJS new ajax way in rails err the blog and the rails way activesupoort marcel molina s3 library capistrano something ??tech?? code by Donald Knuth "Code Reading" book has mixed reviews, he hasn't read all of it yet to comment

1.4.6. Spelunking metaphor keep focused on the task at hand, don't get lost in side channels

1.4.7. Tips 1. Look at url, look at routes.rb 2. Check out controller or skip to view 3. Grok controller filters Before after 4. Grok controller action 5. Grok any method the action calls 6. Check the template and any helpers it might use 7. filters in app controller and app (something?) 8. observers validation, callback in models 9. know whats in lib and plugins folder 10. method_missing and iterator-defined methods

1.5. Adding Tests to Legacy Rails AApps Rabble Henshaw-Plath

1.5.1. Topic: joining a project that doesn't have testing, how do you begin?

1.5.2. Write tests for bugs that you find, write tests for anything you refactor, and you're good

1.5.3. RCOV code coverage

1.5.4. fixtures are painful, some other possibilities include mocks activerecord fixtures zentest

1.5.5. HECKLE what a crazy idea: it mutates your code on the fly, manipulating the parse tree if it mutates your code and your tests still pass, then your tests weren't complete! ruby2ruby seattle.rb

1.5.6. RSPec....test:unit