Resources
CS290F Fall 2006 - UCSB Computer Science - Thorsten von Eicken
Contents |
[edit]
Required books
You will need two books to take part in this course:
-
Agile Web Development with Rails, second edition by Dave Thomas, Mike Clark and David Heinemeier Hansson.
Important note: you will need to get the PDF version since the book is still in beta (<$25 for the PDF version). If you order the PDF+paper version you'll get the PDF immediately and the paper copy later when it's ready. I wouldn't expect this to happen before November, though. This book has all the steps you will need to go through to get your project off the ground explained in detail. Learning Rails without this book would be very painful at best. Note: I strongly advise against purchasing the first edition, it's too much out of date!
-
Building Scalable Web Sites by Cal Henderson (<$26 at Amazon). I will use many sections of the book in lecture and it has a lot more information than the lectures can cover. Its strengths are that it covers all the concepts needed for large scale web services and that it sets the right tone overall for what to design for. The main weaknesses are that it's on the verbose side and should have more in-depth examples. It's a book that gets you oriented in the right direction and has a bunch of specific information that directs your attention to the right details, but it's not a reference book with "read-and-implement" algorithms or chunks of code.
[edit]
Getting started
- CSIL installation of Ruby, PostgreSQL and related software
- Windows installation of Ruby, Rails, Mysql and the RadRails IDE
- Mac installation of Ruby and related software
[edit]
Rails resources
- Official Rails site, lots of stuff, of course. Contains the Rails wiki with lots of info (you find that if you click on the "community" link at the top of the page), and also the Rails API documentation (found if you click on "documentation" at the top).
- Ruby Inside has a good list of resources in the right-hand column, you should check that out (no point duplicating all the link here).
- Rails API - this is one of the web browser tabs I always have open when developing Rails applications.
- HTML and CSS references - this is another one of the web browser tabs I always have open when developing Rails applications.
- Example of how to create drop-down Selection boxes in your views.
- Three paths to HTML forms in Rails
[edit]
Deploying your app on Amazon EC2
- Step-by-step instructions for the deployment of a new EC2 image running your Rails app, using capistrano.
- The first steps: AWS How-to guide
- Benchmarking your Rails app using httperf
- Want to connect to your database instance directly? Here's how to do it using an SSH tunnel.
[edit]
Ruby resources
- Intro to the Ruby language: The Little Book of Ruby. Fairly easy to read, informative, free(!), not comprehensive.
- A more comprehensive book is the first edition of Programming Ruby, available for free online. If you are serious about Ruby you should consider buying the second edition.
- The official Ruby site has a lot of info, but I'm not sure how much of it is relevant to this course.
- Ruby core API -- this is one of the web browser tabs I always have open when developing.
- Ruby standard library API -- this is another one of the web browser tabs I always have open when developing.
[edit]
Amazon Web services resources
- The Amazon Web Sevices home page has links to most things. Use the links in the left hand column pointing to the various services they offer.
- Amazon Elastic Compute Cloud (EC2) resources provide technical information on how to use EC2 as well as code samples and libraries.
- Amazon Simple Storage Service (S3) resources provide technical information on how to use S3 as well as code samples and libraries.
- To pull data from Amazon the most useful services are probably the E-Commerce Service and the Alexa Web Information service.
- The resource center has links for all other Amazon web services as well.
[edit]
Other web services
- The Programmable Web site has a lot of information on the many web services out there.
- The Yahoo! Developer Network has information on how to access Yahoo!'s web services. They have a Ruby developer center and links to all they services in the left-hand column. Note that you will need to get an application ID first to use their services.
- Google code is where you will find resources to use Google's web services, specifially on their APIs page.
- Flickr web services gove you access to all images stored on Flickr.
