Ruby on Rails Workshop

July 20 & 21, 2012 · San Francisco

Code for America + RailsBridge + OReilly Media

Where are we?

Code for America

Be a 2013 Fellow

http://www.codeforamerica.org/apply

Thanks to our sponsor!

OReilly Media

Today is open source.

This workshop is a community project to
which many individuals have contributed.

All of the materials are open!

Why are we here?

To learn Ruby on Rails!

 

And What's that?

Great question.

First, a brief digression…

… into web application plumbing.

(No plungers necessary.)

Web Application Plumbing

Diagram of a generalized web application.

Ruby is a programming language.

  • First released in 1995.
  • It's an object-oriented, general-purpose language.
  • <opinion>It's quite nice.</opinion>

 

# Outputs "I love Ruby"
say = "I love Ruby"
puts say
 
# Outputs "I *LOVE* RUBY"
say['love'] = "*love*"
puts say.upcase
 
# Outputs "I *love* Ruby" five times
5.times { puts say }

Rails is a framework.

Frameworks are collections of scripts and utilities
that simplify writing web applications.

So what makes Rails special?

  • It's written in the Ruby language.
  • It's opinionated.
  • It emphasizes convention over configuration.
  • It encourages DRY -- Don't Repeat Yourself -- coding.
  • It's database-agnostic.
  • First developed by @dhh of 37signals.
  • Open-sourced in 2004; shipped w/ Mac OS 10.5 in 2007.

Putting it all together...


Rails is a FRAMEWORK for WEB APPLICATIONS written in the Ruby LANGUAGE.

ruby-logo + rails_logo =

What are we doing today?

Some of us will learn Ruby from the ground up.

Focus on learning to program.

Some of us will learn Rails, Heroku, and GitHub.

Focus on tools and building a web application.

What tools & services will we use?

  • rails: a web application framework written in Ruby.
  • rake: an easy way to run tasks. (like make for Ruby.)
  • database: we'll use SQLite, but could be any relational database.
  • editor: KomodoEdit or your favorite text editor.
  • heroku: free hosting for Rails applications.

Schedule

  • 9 - 9:30am: Sign in, coffee, breakfast
  • 9:45 - 10:15am: Intro!
  • 10:15 - 11:15am: Session 1
  • 11:30 - 12:30pm: Session 2
  • 12:30 - 1:30pm: Lunch!
  • 1:30 - 2:45pm: Session 3
  • 3:00 - 4:15pm: Session 4
  • 4:15 - 5pm: Wrapup and final questions
  • 5pm - onward: Beer O'Clock. Happy hour at Azucar!

Ask Questions!

No such thing as a dumb question. For serious.


Don't be shy!

TAs and teachers are here to help.

Your Section

You've already been assigned a section.

  • (B) Beginner: Board Room
  • (AB) Adv. Beginner: Upstairs Panda #5, Possum #6
  • (ABW) Adv. Beginner Windows: Upstairs Conf Room
  • (I) Intermediate: Bakery / Locker Room
  • (ANR) Advanced Non-Rails: Right here
  • (A) Advanced: Couches by the bike room

Oh no! I'm in the wrong section!


Ain't no thang.


If class starts and it doesn't seem right for you,
it's TOTALLY OKAY to get up and move.


(Nobody will get offended, promise!
We want you to be in the right place.)

Ready? Break!

ready-break

You came.

You saw.

You Ruby'd.

You Rail'd.

How'd it go?

Help Us Level Up

In the coming days

MeetUp will automatically ask you to review this event. Please help us evolve by replying and being honest.

In a few months

RailsBridge is looking at medium-term effects of this workshop. We'll send you a "what happened to you" survey in a few months. Please fill it out!

Feel like thanking us?

Here's how:

  1. Become a volunteer!
    TA or teach at the next workshop.
  2. Become an organizer!
    Rails expertise not required.
    Cat-herding skills helpful.

How do I keep learning?

The  End 

Let's go drink!

Beer pitcher