Skip to content

Software overview for coders

cesy edited this page Nov 23, 2011 · 1 revision

(This is a copy of the tutorial available on our internal wiki - that version is more likely to be up to date. Contact Volunteers & Recruiting for access.)

Table of Contents

Index:

  1. Getting Started
  2. Software Overview For Coders
  3. Setting Up Your Webdev - Mac OS X
  4. Setting Up Your Webdev - Windows
  5. Setting Up Your Webdev - Linux
  6. Testing Your Rails Setup
  7. Getting Started With Google Code and Git
  8. Coding Practice: otwtraining Project
  9. AO3 on Github
  10. Google Code: an Introduction
  11. Test Driven Development
  12. Work On An OTW Project

Introduction

Making Ruby on Rails work on your own personal computer is (usually!) not that hard, but it is hard to support because it can be done in many different ways and varies widely depending on your exact operating system, which specific versions of the software you install, and what extensions (called "gems") you are using.

As a result, we don't make you do it. :)

Instead, we give you a webdev -- a web development account -- on one of our servers, which is already set up with everything installed. The only things you need to install are a text editor, and a tool called Dropbox (read on for more details).

However, it will help you a lot to understand what all the parts of Ruby on Rails are, even if you don't have to install them yourself, so please do read all of this below!

What Gets Installed For You

Database: MySQL

  • MySQL 5.0: A Rails application stores all its data in a shiny relational database (in our case, a MySQL database). You have to have a database server running quietly in the background while your application works, for this purpose. The only other thing you do with MySQL otherwise is create empty databases and dump existing ones (which you might need to do if your home system gets messed up and you want to start from scratch).

Programming Language Interpreter: Ruby

  • Ruby: Ruby is an _interpreted_ programming language. What that means in practical terms is, you have to install the interpreter on your computer before you can run Ruby programs. Installing Ruby installs this interpreter and also a heap of useful basic libraries of Ruby code. We are currently using

Package Manager: RubyGems

  • RubyGems: We use a lot of open-source packages and plugins written by other people, starting with Rails itself. Ruby Gems lets you install and manage all of these packages & plugins, which in Ruby are called gems. We are currently using version

Programming Framework: Rails

  • Rails: Rails is a programming framework, a whole bunch of different Ruby programs combined together which hugely speed up writing web applications in Ruby. We are currently using

Version Control Software: Git

  • Git is version control software. When you check your files into a Git repository, it automatically saves all the previous versions of any files you've checked into the system, and provides a lot of tools for comparing different versions, seeing who made what change, resolving problems when more than one person has edited the same file, and grouping different versions of files (for instance, when you're ready to release).

What You Need To Install

You will only need to install two pieces of software on your own local desktop machine:

Programmer's Text Editor (and command-line shell)

  • You will need to install a really good programmer's text editor if you don't already have one, which will help you by doing syntax coloring (ie, highlight different bits of code in different colors), automatically indenting, and other useful tricks that make it much much easier to avoid and find bugs in your code. We have chosen freeware options for all of Windows, Mac, and Linux, but you should be able to map our instructions onto any text editor you really like to use.




Dropbox

  • Dropbox is a file-syncing service available for Windows, Mac, and Linux. You will use this to sync the code from your webdev to your local computer, so you can edit the code locally and test it on the webdev, without having to manually copy the files over from one to the other all the time.
Read on for operating-system specific instructions on how to install all of these!

Installation Instructions

Once you have got all these concepts down, head to the specific installation instructions for your operating system.