RailsConf Europe 2007: Day One (Tutorials)

After yesterday's Bratwurst on Rails, where we met some of the people that would be attending the conference while having a bratwurst and some drinks at the Kalkscheune, the next event was the Tutorials Day, starting at about 8:30am.

The early morning walk from the Radisson SAS hotel where I'm staying to the Maritim proArte where the conference was held was pleasant, consisting of about 1km down Unter den Linden to Friedrichstrasse.

Unfortunately, the Handling Large Concurrent Uploads tutorial was cancelled, so I switched to A Half-day of Behavior-driven Development on Rails, by David Chelimsky, Dan North and Aslak Hellesøy, which turned to be quite interesting, and quite enjoyable as well. These are some of the notes that I took from the tutorial (to be edited):

Behaviour Driven Development
writing software that matters

link what software should do with tech

test naming should be linked to what it's testing

agilemanifesto.org

rspec tool for tdd

agiledocs

BDD:   
    Narrative
        As a [role]
        I want [feature]
        So that [benefit]

    Acceptance criteria ->
        Scenarios:
            Given [some context]
            Given [some other context]
            When [some event occurs]
            Then [expect some outcome]
            And [another outcome]
           
rcov -> Coverage tests

rake stories          


At the afternoon, I assisted to the Scaling a Rails Application from the Bottom Up in Europe, by Jason Hoffman (Joyent), quite similar to the one that he had already presented in the RailsConf in Portland, and that I had already read. He gave some interesting ideas as well.



Here are some notes of the tutorial (to be edited as well):

tiers should be 10x different in throughput
not spending more than 10% of revenue

he likes ruby as process
should not be threaded

glassfish -> generating autodeploying war files
             better performance ( mongrel 150-400 vs 1000 req/sec), more memory footprint

use dns to scale (powerdns)
    - group users by hostname (jason.strongspace.com)
    - use GEO database to send them to different datacenters

layer7
    - separate mongrels for different controllers
    - can even give priority to first time users (new ip)
    - can give priority to certain controllers, scale controllers, bring down controllers one by one

nginx, lighty -> <1000 req/sec

varnish: web service command line allows to "purge" cache to update at next hit
         10000 req/sec

Application separation
- dynamic

- static

- uploads:
    - separate from app

- downloads:
    - mod_secdownload in lighty

tsung -> benchmark tool




 


Trackback

Trackback URL for this entry:
http://www.gra2.com/trackback.php/rails-conf-europe-2007-day-one-tutorials

No trackback comments for this entry.

Comments

Post a comment

Search



About

newton.gra2.com is a blog about technology, opinion and random thoughts written by Daniel Alvarez, a computer engineer currently living in Zurich, Switzerland.

Topics

News (20/0)
Manuals (24/0)
Security (7/0)
Music (3/0)
Weeklog (1/0)
Personal (34/0)
Photos (3/0)
Opinion (14/0)
Windows (5/0)

Blogroll

Pros i contres (Jordi)
Entrepa de fusta (Oriol)
Spaghetti Code (Isaac)
Made in net (Eric)
Nogare (Juan)
Blog de Isaac Jimenez
Web d'en Jaume Benet
Montcada Wireless (Fran)
Blog d'en Ricard Forniol
Angela Fabregues
in.solit.us

Libertad Digital
FOX News
The Wall Street Journal
The Washington Times
The Jerusalem Post

Michelle Malkin
Eurabian News
Nihil Obstat
Barcepundit
Expose the left
Davids Medienkritik
Johan Norberg
Ayaan Hirsi Ali

User Functions

:

:


Lost your password?

Latest posts

Stories

No new stories

Comments last 2 days


Trackbacks last 2 days

No new trackback comments

Links last 2 weeks

No recent new links