Create your own awesome maps

Even on the go

with our free apps for iPhone, iPad and Android

Get Started

Already have an account?
Log In

RailsConf2007 by Mind Map: RailsConf2007
0.0 stars - 0 reviews range from 0 to 5

RailsConf2007

Friday 5/18

DHH Keynote

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, xml, html, csv, txt, 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, put word debugger in the code and when it hits it you jump to irb in the console!, 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, "select" results are cached until any insert/update/delete happens, presumably this is only for the lifetime of a single request? unclear, use erb and/or builder for rss/atom, configuration is simplified, principle: you should only have to deal with the configuration of things that you care about, sexy migrations, example Create table t ... t.string Col1Name, Col2Name, http authentication, MIT license assumption

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

textmate

Clean Code, Robert Martin

he prefers RSpec to TestUnit

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

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

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

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

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

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

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

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

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

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

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

xen based virtualization

dynamic dns, roundrobin dns

weakpoints, DNS, vertical scaling of db server, partitioning of db is very important

Standing on the Shoulders of Giants Adam Key

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

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

"Protect yourself from yourself 5 days ago"

Topic: How to Read Code

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

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

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

Adding Tests to Legacy Rails AApps Rabble Henshaw-Plath

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

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

RCOV, code coverage

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

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

RSPec....test:unit