Backend web dev in Ruby on Rails: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
No edit summary
No edit summary
Line 12: Line 12:


And be sure to check out Jeremy's awesome front-end class that meets Mondays:  https://www.noisebridge.net/wiki/Frontend_Web_Development .
And be sure to check out Jeremy's awesome front-end class that meets Mondays:  https://www.noisebridge.net/wiki/Frontend_Web_Development .
----
'''7/24 Class: Fun with the Stripe payment API'''
We'll hook up Stripe's API in our blog apps.
Please sign up for Stripe ahead of time - https://manage.stripe.com/register
Here's a handy link to Stripe's API docs - https://stripe.com/docs
Required reading
''How I Explained REST to My Wife'' by Ryan Tomayko
http://tomayko.com/writings/rest-to-my-wife
RSVP here -


----
----

Revision as of 14:51, 18 July 2012

This is a weekly seminar and workshop for folks to learn everything about Ruby, Rails, and web application development.

We meet Tuesdays 7pm-9pm in the Church room.

Bring a laptop if you have one, and please follow the steps here on the great, actively maintained Railsbridge guide for getting set up: http://installfest.railsbridge.org/installfest/installfest to prepare your system. New students, get as far as you can in this tutorial-- http://guides.rubyonrails.org/getting_started.html . (we will build off this tutorial extensively)

Student, teachers, TA's needed and welcome!

Join the google group here: https://groups.google.com/group/starmonkeys

Use the google group or Discussion view of this page to ask questions or suggest ideas!

And be sure to check out Jeremy's awesome front-end class that meets Mondays: https://www.noisebridge.net/wiki/Frontend_Web_Development .


7/24 Class: Fun with the Stripe payment API

We'll hook up Stripe's API in our blog apps.

Please sign up for Stripe ahead of time - https://manage.stripe.com/register

Here's a handy link to Stripe's API docs - https://stripe.com/docs

Required reading

How I Explained REST to My Wife by Ryan Tomayko

http://tomayko.com/writings/rest-to-my-wife

RSVP here -


7/17 Class: Catch-up Day

We're going to use this class to catch up new students.

The two big things we want to accomplish:

a) bootstrapping your development environment - follow http://installfest.railsbridge.org/installfest/installfest

b) setting up a basic blog application - follow http://guides.rubyonrails.org/getting_started.html

To prepare for this class, get as far as you can in these two tutorials.

Experienced students please consider coming out to help troubleshoot. This class will be a looser format than usual, so everyone, please bring snacks! If there's interest, we will get beers at Shotwell's afterward to celebrate being caught up.

RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day


7/10 Class: Continuous Integration with Travis

Intro to CI including configuring our apps to run on Travis-CI.

Please bring a Rails app that you've already pushed to Github.

Suggested reading:

Continuous Integration by Martin Fowler

http://martinfowler.com/articles/continuousIntegration.html

RSPV here: http://rails-school.heroku.com/lessons/continuous-integration-with-travis


7/3 Class: Playing with APIs

Where: 7pm-9pm Tuesday in the Church classroom

What: Using the Twitter API in your Rails app

Suggested reading:

http://guides.rubyonrails.org/getting_started.html (for new students)

https://dev.twitter.com/docs/api


RSVP here: http://rails-school.heroku.com/lessons/playing-with-apis


6/26 Class: Layouts and Rendering in Rails

Meeting as usual 7pm-9pm Tuesday in the Church classroom.

In this ambitious lecture-workshop, we're going to introduce how to organize layouts, partial, templates, etc in Rails.

Homework: 1. http://guides.rubyonrails.org/getting_started.html (for new students) 2. Scan through http://guides.rubyonrails.org/layouts_and_rendering.html 3. Also prepare some questions!! :)


RSVP here: http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails

Notes- http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails#whiteboard


6/19 Class: Test-Driven-Development and Sending Emails

In this ambitious lecture-workshop, we're going to introduce Test-Driven-Development, and apply it to sending emails from our blogs.

New students and others interested will have the option of learning Ruby 101 separately.

Homework: First make sure you've completed http://guides.rubyonrails.org/getting_started.html, we will continue to work off of this tutorial. Then get as far as you can in both of the following tutorials. Don't worry if you don't finish them.

Action Mailer Basics by RailsGuides

http://guides.rubyonrails.org/action_mailer_basics.html

Request Specs and Capybara by Railscasts

http://railscasts.com/episodes/257-request-specs-and-capybara

RSVP here:

http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails

Notes- http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails#whiteboard


6/12 Class: Dissecting the request lifecycle with pry

Let's investigate the journey of a request through Rails with some help from the debugging tool pry.

Required reading

Rails 3 in a Nutshell by O'Reilly, Chapter 2, up to and including the Controller section

http://ofps.oreilly.com/titles/9780596521424/rails.html

Required viewing

Pry with Rails by Railscasts

http://railscasts.com/episodes/280-pry-with-rails

RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/dissecting-the-request-lifecycle-with-pry

Notes- http://beta.primarypad.com/p/G86Niu6EXz


6/5 Class: Ajax

We're going to continue our discussion of using Rails' Unobtrusive Javascript framework to add ajax interaction to our blog apps.

Please make sure you've completed http://guides.rubyonrails.org/getting_started.html so we're all on the same page.

Also, RSVP here: http://rails-school.heroku.com/lessons/ajax-in-rails .

Notes- http://openetherpad.org/KjI5Ic2327


5/29 Class: Intro to Product Development

There's more to building web apps than hacking code, like figuring out what problem you're solving and how you'll know when you've solved it. This class we'll look at Michael's website for the class (http://rails-school.heroku.com) and polish it into a valuable tool for organizing our study group.

Homework is to think about these questions, or come up with your own:

  • Who are the target users of the class website?
  • What utility do they need out of the site to start using it right away?
  • What features could be added to open up the site to a larger audience?

Notes- http://openetherpad.org/QjFPw7bflF


5/22 Class: Authentication with the Devise gem

In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html . Seriously!

Enough talking about awesome Rails gems, let's use one in an app. We're going to add authentication to the blogs we created in the Getting Started guide, using the devise gem.

We will also have a beginners' group for folks needing help getting Rails set up or wanting to learn Ruby.

Notes- http://openetherpad.org/QC7KG7aKVB


5/15 Class: Demo Day!

In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .

This class we're going to start with a show-and-tell of projects we're working on or have recently completed. The demos don't have to be Ruby- or Rails-related, but should be related to web programming in some way. This is a chance to get answers to your project-specific questions, find fun new projects to work on, and receive great feedback.

Then we'll break up into two groups, one for beginners and one for more experienced students.

Notes - http://openetherpad.org/xsy1zKhrbj



5/8 Class: topic is BLOGS

In preparation please tackle http://guides.rubyonrails.org/getting_started.html and get as far as you can in setting up a simple blog app.

Please post some links here to your favorite blogs. We'll take a look at some blog features and talk about how they might be implemented.

Gabe's pick: http://www.overheardinnewyork.com/

Notes: http://openetherpad.org/sIYNUEPzld



5/2 Class:

Notes: http://piratepad.net/dJupUHZoOP