[caption id="attachment_4300" align="aligncenter" width="500" caption="You asked for the Firehose"][/caption]
My friend Ben Carroll recently expressed some interest in learning the basics of web programming through a high level scripting language. I figured he may not be the only one that may benefit from some of the web documents I have come across and grown to rely on heavily, while making my splash into sea of web development over the past eight months.
Begin with Ruby:
tryruby.org
Main web doc:
http://www.ruby-lang.org/en/
20minutes starter
http://www.ruby-lang.org/en/documentation/quickstart/
I really appreciate Design Patterns in Ruby (affiliate linkage!)
Why's Poignant Guide to Ruby W(p)GtR, the poignant guide
web pdf
Ruby Tutorial with Code Samples by Mitch Fincher (his current blog)
Almost forgot the Book of Ruby
Miscellaneous ruby help google doc.
nice cheat sheets for syntax:
http://www.quicklycode.com/cheatsheets
Package Manager
sudo apt-get will be your friend (synaptic package manager)
Dropbox a great tool to share code (you can explore git later on)
- referral link so I get more space: https://www.dropbox.com/referrals/NTExMjcwOTI5
- if you want the latest version on linux: http://forums.dropbox.com/topic.php?id=12153
- how to modify sources.list https://help.ubuntu.com/community/Repositories/CommandLine
- you basically copy it and then add a line
- then just hit on the command line
- sudo apt-get update; sudo apt-get install dbupdate
- and whammo whenever you want you can run dbupdate to patch to the latest version
- almost forgot this final step
- sudo apt-get remove dbupdate && sudo apt-get update && sudo apt-get install dbupdate
- that last line cleans up a script error
Web Frameworks
After you feel comfortable with basic ruby, move on to reading about web frameworks.
start simple with Sinatra
http://www.sinatrarb.com/intro.html
http://sinatra-book.gittr.com/
Rails the most popular MVC framework for Ruby
http://rubyonrails.org/
https://help.ubuntu.com/community/RubyOnRails
back when I had windows: http://victusfate.github.io/victusspiritus/uncategorized/2009/11/15/walking-down-the-tracks-of-ruby-on-rails/
Web Hosting
Free hosting:
- Google App Engine using JRuby/Sinatra. jruby is an implementation of Ruby on the JVM (java virtual machine):
- Heroku my favorite free hosting for Rails, Sinatra, Node.js? apps. Imagebrowser lives there quite happily.
- Opera Unite, run it on your local machine and share it on the web. They support web proxy for web frameworks/scripting.
- CouchOne.com for couchDB servers and couchapps
Engineyard is a paid hosting option we tried out and got some mileage out of. But they don't have a minimum free level for untested apps. Overall we found Rackspace to be more flexible for paid hosting. I heard some good things about Amazon's EC2 but haven't had experience with it.
Front End & Scripting
HTML has become more important than the English language. Seriously it's fundamental to any web programming. I've referred to many searches on specific syntax for styling pages. CSS will be your friend as you flush out details in divs and add effects. Some of the new stuff in html5 is pretty impressive.
JavaScript:
the definitive guide :D
http://docstore.mik.ua/orelly/web/jscript/
JQuery, a javascript library that does nifty stuff:
http://jquery.com/
Good example of Javascript and JQuery, my friend Matt Nowacks Jquery 1.4
http://ihumanable.com/jquery/presentation.html#slide1
Ubuntu Linux OS stuff for a browser (I use Firefox with Firebug to debug script, and Chromium for fun)
Just in case you were curious:
you can get the nightly build of chromium (open source browser chrome is based on) here
https://launchpad.net/+help/soyuz/ppa-sources-list.html
https://launchpad.net/~chromium-daily/+archive/ppa
Gems
almost forgot when building native gems (c or c++ using gems) you'll need some other packages installed
http://packages.debian.org/sid/build-essential
try installing build-essential:
sudo apt-get install build-essential
Sometimes you'll see a require 'xyz' but when you sudo gem install xyz it can't find the gem or grabs the wrong one.
Just bug me if you can't find the right version of the gem name
here are the gems I have installed (always remember sudo gem install to make sure it goes into the correct system folder, sudo means super user do)
In case you need to see a name, an example of a gem install would be:
sudo gem install dm-core on your unix command line anywhere
*** LOCAL GEMS ***
actionmailer (2.3.5, 2.3.4)
actionpack (2.3.5, 2.3.4)
activerecord (2.3.5, 2.3.4)
activeresource (2.3.5, 2.3.4)
activesupport (2.3.5, 2.3.4)
addressable (2.1.2)
appengine-apis (0.0.17, 0.0.15)
appengine-jruby-jars (0.0.7)
appengine-rack (0.0.10, 0.0.8)
appengine-sdk (1.3.4, 1.3.3.1)
appengine-tools (0.0.14, 0.0.12)
aws-s3 (0.6.2)
bcrypt-ruby (2.1.2)
builder (2.1.2)
bundler08 (0.8.5)
cgi_multipart_eof_fix (2.5.0)
configuration (1.1.0)
crack (0.1.6)
daemons (1.0.10)
data_objects (0.10.2)
datamapper (1.0.0)
dm-aggregates (1.0.0)
dm-constraints (1.0.0)
dm-core (1.0.0, 1.0.0.rc2)
dm-do-adapter (1.0.0)
dm-is-self_referential (1.0.0.rc2)
dm-migrations (1.0.0, 1.0.0.rc2)
dm-serializer (1.0.0)
dm-sqlite-adapter (1.0.0)
dm-timestamps (1.0.0)
dm-transactions (1.0.0)
dm-types (1.0.0, 1.0.0.rc2)
dm-validations (1.0.0)
do_sqlite3 (0.10.2)
em-http-request (0.2.8, 0.2.7)
em-websocket (0.0.6)
eventmachine (0.12.10)
extlib (0.9.15)
fastercsv (1.5.3)
fastthread (1.0.7)
ffi (0.6.3)
gem_plugin (0.2.3)
gemcutter (0.5.0)
git (1.2.5)
google-appengine (0.0.14, 0.0.12)
haml (3.0.12, 2.2.24)
hashie (0.2.0)
heroku (1.9.9)
hpricot (0.8.2)
httparty (0.5.2)
jeweler (1.4.0)
jruby-jars (1.5.1)
jruby-rack (1.0.1, 0.9.7)
json (1.4.3)
json_pure (1.4.3, 1.2.4)
launchy (0.3.5)
madeleine (0.7.3)
mediawikiapi_client (0.2)
mime-types (1.16)
mongrel (1.1.5)
nokogiri (1.4.1)
oauth (0.4.0)
promise (0.1.0)
rack (1.0.1)
rails (2.3.5, 2.3.4)
rake (0.8.7)
rdf (0.1.10)
rdf-isomorphic (0.1.2)
rest-client (1.4.2)
rspec (1.3.0)
ruby-hmac (0.4.0)
ruby-openid (2.1.7)
ruby-prof (0.8.1)
rubyforge (2.0.4)
rubyzip (0.9.4)
sinatra (1.0)
spira (0.0.1)
stringex (1.1.0)
twitter (0.9.5)
uuidtools (2.1.1)
xml-simple (1.0.12)
yajl-ruby (0.7.6)
Related articles by Zemanta
- To Ruby or not to Ruby? (aurametrix.blogspot.com)
- 2010-05-04 App Engine Meetup (slideshare.net)
- Instant Utility, Optimal Execution, & Syntactic Sugar (victusspiritus.com)