RubyEnRails2007 - Dr Nic Williams - Keynote
-
Upload
dr-nic-williams -
Category
Technology
-
view
5.979 -
download
2
description
Transcript of RubyEnRails2007 - Dr Nic Williams - Keynote
![Page 1: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/1.jpg)
Dr Nicdrnicwilliams.comdrnicacademy.com
What’s cool about Rails?
Remember:* setup for demo of magic_model_generator (pp 36)* set font size of database.yml to large
![Page 2: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/2.jpg)
Dr Nic
![Page 3: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/3.jpg)
Dr Nic’sMagic Models
![Page 4: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/4.jpg)
MyConfPlan
![Page 5: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/5.jpg)
CompositePrimary Keys
![Page 6: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/6.jpg)
MagicMulti-Connections
![Page 7: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/7.jpg)
MagicMulti-Connections
As seen on
DHH’sblog
![Page 8: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/8.jpg)
NewGemGenerator
$ newgem <gem>
![Page 9: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/9.jpg)
NewGemGenerator
$ newgem <gem>
As seen in
![Page 10: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/10.jpg)
Magic ModelGenerator
![Page 11: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/11.jpg)
Magic ModelGenerator
As seen in
??
![Page 12: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/12.jpg)
why?
![Page 13: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/13.jpg)
Dr Nic’s
![Page 14: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/14.jpg)
Dr Nic’sAcademy
![Page 15: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/15.jpg)
Dr Nic’sAcademy
“Beginning Ruby on Rails”July 7/8 - Netherlands
![Page 16: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/16.jpg)
RailsConf
![Page 17: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/17.jpg)
So why is important?
![Page 18: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/18.jpg)
Why is important?
![Page 19: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/19.jpg)
Why is important?
When do I use ?
![Page 20: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/20.jpg)
Why is important?
Merb Camping CGI Mongrel Handlers
When do I use ?
![Page 21: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/21.jpg)
RailsConfBetween last year and this year, I’ve realised they aren’t “Railsconfs”, but...
![Page 22: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/22.jpg)
RailsConfBetween last year and this year, I’ve realised they aren’t “Railsconfs”, but...
![Page 23: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/23.jpg)
RubyConfAbout web development and other things
![Page 24: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/24.jpg)
Websites are textAnd it doesn’t matter how the text gets to the browser
![Page 25: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/25.jpg)
<html> <head> <title>Hello world</title> </head> <body> <p>Hello World</p> </body></html>
Here’s some text that you might send
![Page 26: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/26.jpg)
RailsWhen you come to Rails you quickly learn there are many things you need to get good at quickly...
I just want to talk about these 3...
![Page 27: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/27.jpg)
Javascript HTML CSS
RubyRailsGems
UnixDatabasesRake
When you come to Rails you quickly learn there are many things you need to get good at quickly...
I just want to talk about these 3...
![Page 28: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/28.jpg)
Javascript HTML CSS
RubyRailsGems
UnixDatabasesRake
When you come to Rails you quickly learn there are many things you need to get good at quickly...
I just want to talk about these 3...
![Page 29: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/29.jpg)
RailsConf 2006To understand Rails and where its going, let’s look at rails 1.0
![Page 30: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/30.jpg)
RailsConf 2006
“Can we make $$$ from Rails?”
To understand Rails and where its going, let’s look at rails 1.0
![Page 31: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/31.jpg)
RailsConf 2007
![Page 32: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/32.jpg)
RailsConf 2007
“Yes.”
![Page 33: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/33.jpg)
RailsConf 2007
Ok, now let’s look at the latest ways to generate text on the web...
“Because its just text generation”
![Page 34: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/34.jpg)
“Does it scale?”
Everyone worries about requests per second; but I think its more important to worry about the cost per new feature. Rails is structured to make it easy to design and implement new stuff.
![Page 35: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/35.jpg)
“Does it scale?”
“Yes. Just add more controllers.”Everyone worries about requests per second; but I think its more important to worry about the cost per new feature. Rails is structured to make it easy to design and implement new stuff.
![Page 36: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/36.jpg)
RESTful controllersclass PeopleController < ApplicationController # GET all or search def index... def show... def new... def edit... def create... def update... def destroy...end
![Page 37: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/37.jpg)
RESTful controllersclass PeopleController < ApplicationController # GET all or search def index... def show... def new... def edit... def create... def update... def destroy...end
class PeopleController < ApplicationController # GET all or search def index... def show... def new... def edit... def create... def update... def destroy...end
CRUD operations
![Page 38: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/38.jpg)
RESTful routes
/people/show/1 => /people/1
/people/some_action/45 => /people/45/some_action
Its now cool to use restful routing. The benefit is you can remove the tail of a url, and the url is still meaningful.
![Page 39: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/39.jpg)
class PeopleController < ApplicationController
def create @person = Person.create(params[:person]) respond_to do |format| format.html { redirect_to person_url(@person) } format.xml { render :status => :created, :location => person_url(@person), ... } end endend
RESTful result typesOne of the main agreements about convention in Rails is RESTfulness.Same actions, but new paradigm.
From developer side, you can return more data formats with the same actions.
![Page 40: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/40.jpg)
class PeopleController < ApplicationController
def create @person = Person.create(params[:person]) respond_to do |format| format.html { redirect_to person_url(@person) } format.xml { render :status => :created, :location => person_url(@person), ... } end endend
RESTful result typesOne of the main agreements about convention in Rails is RESTfulness.Same actions, but new paradigm.
From developer side, you can return more data formats with the same actions.
![Page 41: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/41.jpg)
Any format you want
respond_to do |format| format.html { render ... } format.xml { render ... } format.csv { render ... } format.js { render ... } formal.foobar { render ... }end
![Page 42: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/42.jpg)
ActiveResource
Applications “talking” with REST
![Page 43: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/43.jpg)
ActiveResource
Applications “talking” with REST
![Page 44: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/44.jpg)
This is cool because...
class Person < ActiveResource::Base self.site = "http://contacts.drnicwilliams.com:3000/"end
Person.find_by_name "Dr Nic Williams" Who cares what REST is? This syntax is awesome.
![Page 45: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/45.jpg)
Learn more?
Read the README and CHANGELOG for ActiveResource
http://dev.rubyonrails.org/browser/trunk/activeresource/README
![Page 46: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/46.jpg)
Jester: REST for Javascript
Base.model("Person", { plural: "people", prefix: "http://drnicwilliams.com:3000"})
Person.find("all", { premium: true }, { onSuccess: callback })
This #find call is asynchronous and invokes callback on complete.
by Eric Mill
![Page 47: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/47.jpg)
“Logical” servers for the connector1) Jumpstart/PXE Boot
2) Monitoring
3) Auditing
4) Logging
5) Provisioning and configuration management
6) DHCP/LDAP for server identification/authentication and control (at dual for failover)
7) DNS: DNS cache and resolver, and a (private) DNS system (4x + 2; 2+ sites)
8) DNS MySQL (4x + 2, dual masters with slaves per DNS node, innodb tables)
9) SPAM filtering servers (files to NFS store and tracking to postgresql)
10) SPAM database setup (postgresql)
11) SPAM NFS store
12) SMTP proxies and gateways out
13) SMTP proxies and gateways in (delivery to clusters to Maildir over NFS)
14) Mail stores
15) IMAP proxy servers
16) IMAP servers
17) User LDAP servers
18) User long running processes
19) User postgresql DB servers
20) User web servers
21) User application servers
22) User File Storage (NFS)
23) Joyent Organization Provisioning/Customer panel servers (web, app, database)
24) iSCSI storage systems
25) Chat servers
26) Load balancer/proxies/static caches
...Jason Hoffman, Railsconf 2007
![Page 48: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/48.jpg)
Guess which is “Rails”?
Jason Hoffman, Railsconf 2007
![Page 49: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/49.jpg)
Jason Hoffman, Railsconf 2007
![Page 50: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/50.jpg)
A process of ongoing improvement
![Page 51: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/51.jpg)
Hosting
Don’t deploy Rails to Amazon’s EC2
EC2 have virtual storage - if you lose your instance, you lose data. Backup hourly.
Use EC2 for other processes on demand.
Run Ruby scripts on Amazon’s EC2
![Page 52: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/52.jpg)
Deployment
Capistrano - by Jamis Buck
+Deprec - by Mike Bailey deprec =
deployment recipies
![Page 53: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/53.jpg)
deprec - easy peasy
cap install_rails_stackcap setupcap deploy_with_migrationscap restart_apache
Slap ubuntu on a machine and go.
![Page 54: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/54.jpg)
install_rails_stack
task :install_rails_stack do setup_user_perms enable_universe disable_cdrom_install install_packages_for_rails install_rubygems install_gems install_apacheend
The process of deploying rails generically is being solved
![Page 55: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/55.jpg)
Story of 200 database tables
![Page 56: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/56.jpg)
magic_model_generator
magicmodels.rubyforge.org
![Page 57: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/57.jpg)
magic_model_generator
$ sudo gem install magic_model_generator$ rails magic_show$ cd magic_show # point database.yml to legacy database$ rake db:migrate # check /db/schema.rb contains all tables$ ruby script/generate magic_model # check /app/models contains model files
For demo:$ pgstart$ rails magic_show -d postgresql$ database.yml: database: activerecord_unittest$ Kill textmate and reload it fresh from magic_show folder$ Have /db and /app/models folders open and empty$ Pump up font size$ iTerm open to magic_show folder
Now, demo is ready
# Show post.rb as example
![Page 58: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/58.jpg)
RubyGems are goodRubyGems
![Page 59: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/59.jpg)
Instead of plugins, use gems
![Page 60: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/60.jpg)
Dependencies
![Page 61: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/61.jpg)
Version numbers
![Page 62: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/62.jpg)
Use outside of Rails
![Page 63: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/63.jpg)
Non-ruby code
![Page 64: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/64.jpg)
“But I don’t know how?”
![Page 65: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/65.jpg)
hoe - Ryan Davis
![Page 66: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/66.jpg)
hoe - Ryan Davisseattle.rb - ZenTest/autotest
![Page 67: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/67.jpg)
hoe - Ryan Davisseattle.rb - ZenTest/autotest
# Rakefilehoe = Hoe.new(GEM_NAME, VERS) do |p| p.author = AUTHOR p.description = DESCRIPTION p.email = EMAIL p.summary = SUMMARY p.url = HOMEPATHend
Its easier to write a Gem than not to!
![Page 68: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/68.jpg)
rake
![Page 69: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/69.jpg)
rake
![Page 70: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/70.jpg)
History.txt== 0.2.0 2007-06-03
* Added more foo into foo.rb == 0.1.0 2007-06-02
* Foo and Bar now in own files* Using Hoe
![Page 71: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/71.jpg)
History.txtManifest.txtREADME.txtRakefilebin/gemsonrailslib/gemsonrails.rblib/gemsonrails/version.rbscripts/txt2htmlsetup.rbtemplates/init.rbtemplates/tasks_gems_freeze.raketemplates/tasks_gems_link.raketemplates/tasks_gems_unfreeze.raketemplates/tasks_load_tasks_in_gems.raketest/test_gemsonrails.rbtest/test_helper.rbwebsite/index.htmlwebsite/index.txtwebsite/javascripts/rounded_corners_lite.inc.jswebsite/stylesheets/screen.csswebsite/template.rhtml
Manifest.txt
ordered list of published files
![Page 72: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/72.jpg)
History.txtManifest.txtREADME.txtRakefilebin/gemsonrailslib/gemsonrails.rblib/gemsonrails/version.rbscripts/txt2htmlsetup.rbtemplates/init.rbtemplates/tasks_gems_freeze.raketemplates/tasks_gems_link.raketemplates/tasks_gems_unfreeze.raketemplates/tasks_load_tasks_in_gems.raketest/test_gemsonrails.rbtest/test_helper.rbwebsite/index.htmlwebsite/index.txtwebsite/javascripts/rounded_corners_lite.inc.jswebsite/stylesheets/screen.csswebsite/template.rhtml
Manifest.txt
ordered list of published files
rake check_manifest
![Page 73: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/73.jpg)
NewGemGenerator
$ newgem <gemname>
newgem.rubyforge.org
![Page 76: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/76.jpg)
Finally...
![Page 77: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/77.jpg)
JRuby is cool
![Page 78: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/78.jpg)
drnicacademy.com
Dr Nic Academy
Learn on !
![Page 79: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/79.jpg)
What: Beginning RailsWhen: July 7 and 8thWhere: Amsterdam +/-BYO: LaptopCost: 975€
drnicacademy.com
![Page 80: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/80.jpg)
What: Beginning RailsWhen: July 7 and 8thWhere: Amsterdam +/-BYO: LaptopCost: 975€
600€ - “rubyenrails”drnicacademy.com
![Page 81: RubyEnRails2007 - Dr Nic Williams - Keynote](https://reader031.fdocuments.net/reader031/viewer/2022020110/54b793854a7959db528b4b0f/html5/thumbnails/81.jpg)
drnicwilliams.com
by Dr Nic
Enjoy En !
drnicacademy.com