free the enterprise with ruby & master your own domain
TRANSCRIPT
Congratulations! e simple fact that you are sitting here listening to me, means you've made a glorious contribution to Science!
Tragic, but informative.
Cave Johnson
Dan Pink -On The Surprising Science Of Motivation
TED Talkhttp://is.gd/At2iVURSA Animatehttp://is.gd/SpuTbN
The Absolute Basics (Github)You (yes, you!) should contribute to open sourcehttp://thechangelog.com/post/5367356233/
The Absolute Basics (Github)You (yes, you!) should contribute to open sourcehttp://thechangelog.com/post/5367356233/
Forking A Project
The Absolute Basics (Github)You (yes, you!) should contribute to open sourcehttp://thechangelog.com/post/5367356233/
Forking A ProjectTrack Upstream Changes
The Absolute Basics (Github)You (yes, you!) should contribute to open sourcehttp://thechangelog.com/post/5367356233/
Forking A ProjectTrack Upstream ChangesNever Work On Master!
The Absolute Basics (Github)You (yes, you!) should contribute to open sourcehttp://thechangelog.com/post/5367356233/
Forking A ProjectTrack Upstream ChangesNever Work On Master!Remote Tracking Branches
The Absolute Basics (Github)You (yes, you!) should contribute to open sourcehttp://thechangelog.com/post/5367356233/
Forking A ProjectTrack Upstream ChangesNever Work On Master!Remote Tracking BranchesPull Requests
OSS For The Tenderfoot
Read The ManualLook For Support ChannelsDo Not Assume Critical BugsInclude Relevant Information
OSS For The Tenderfoot
Read The ManualLook For Support ChannelsDo Not Assume Critical BugsInclude Relevant InformationWe Like To Mentor!
Powerful Models
class User < ActiveRecord::Base end
user = User.find(10)user.username # => 'metaskills'user.email # => '[email protected]'
Associationsclass Client < ActiveRecord::Base has_one :address has_many :ordersend
class Address < ActiveRecord::Base belongs_to :clientend
class Order < ActiveRecord::Base belongs_to :clientend
Validations
class Person < ActiveRecord::Base validates_presence_of :nameend p = Person.newp.valid? # => falsep.errors # => {:name=>["can't be blank"]}p.save # => falsep.save! ActiveRecord::RecordInvalid
Dirty Attributesperson = Person.find_by_name('Uncle Bob')person.changed? # => false
person.name = 'Bob'person.changed? # => trueperson.name_changed? # => trueperson.name_was # => 'Uncle Bob'person.name_change # => ['Uncle Bob', 'Bob']person.name = 'Bill'person.name_change # => ['Uncle Bob', 'Bill']
person.saveperson.changed? # => falseperson.name_changed? # => false
Migrationsclass AddReceiveNewsToUsers < ActiveRecord::Migration
def self.up change_table :users do |t| t.boolean :receive_newsletter, :default => false end User.update_all :receive_newsletter => true end
def self.down remove_column :users, :receive_newsletter end
end
SQL Server Adapter
Maintainer For 4 YearsWill Talk About 3.1.x Use Rational Version Policy2005, 2008, 2011 & Azure
SQL Server Adapter
Maintainer For 4 YearsWill Talk About 3.1.x Use Rational Version Policy2005, 2008, 2011 & AzureIncludes ARel Visitor
SQL Server Adapter
Maintainer For 4 YearsWill Talk About 3.1.x Use Rational Version Policy2005, 2008, 2011 & AzureIncludes ARel Visitor DBLIB, ODBC Connection Mode
Key Adapter Features
Stored ProceduresViews (Schema Reflection)Different SchemasAuto ReconnectsSQL Azure
Key Adapter Features
Stored ProceduresViews (Schema Reflection)Different SchemasAuto ReconnectsSQL Azure
http://is.gd/UDdVzT
Prepared Statements
SELECT TOP(1) * FROM [posts] WHERE [id] = 1SELECT TOP(1) * FROM [posts] WHERE [id] = 2SELECT TOP(1) * FROM [posts] WHERE [id] = 3
Prepared Statements
SELECT TOP(1) * FROM [posts] WHERE [id] = 1SELECT TOP(1) * FROM [posts] WHERE [id] = 2SELECT TOP(1) * FROM [posts] WHERE [id] = 3
EXEC sp_executesql N'SELECT TOP(1) * FROM [posts] WHERE [id] = @0', N'@0 int', @0 = 1EXEC sp_executesql N'SELECT TOP(1) * FROM [posts] WHERE [id] = @0', N'@0 int', @0 = 2EXEC sp_executesql N'SELECT TOP(1) * FROM [posts] WHERE [id] = @0', N'@0 int', @0 = 3
Prepared Statementshttp://www.engineyard.com/blog/2011/sql-server-10xs-faster-with-rails-3-1/
TinyTDS
Wraps FreeTDS’sUses DBLIB Interface Converts All Data Types To Ruby PrimitivesProper Encoding Support
TinyTDS
Wraps FreeTDS’sUses DBLIB Interface Converts All Data Types To Ruby PrimitivesProper Encoding SupportHighly Tested!
TinyTDS
Wraps FreeTDS’sUses DBLIB Interface Converts All Data Types To Ruby PrimitivesProper Encoding SupportHighly Tested!
From 2000 to Azure
Modern SQL Server & Railshttp://www.engineyard.com/blog/2011/modern-sql-server-rails/
http://rubyheroes.com/
Luis Lavena@luislavenaWayne E Seguin@wayneeseguin
Rails Installer
Ruby 1.8.7Git 1.7.3DevKitRails 3.0, SQLite3, TinyTDSBeta 2.0 Version
Ruby 1.9 & Rails 3.1
Going NativeRake Compiler
https://github.com/luislavena/rake-compiler
Going NativeRake Compiler
https://github.com/luislavena/rake-compiler
Mimics RubyGems Build Process
Going NativeRake Compiler
https://github.com/luislavena/rake-compiler
Mimics RubyGems Build ProcessBuild Extensions For Different Ruby Implementations.
Going NativeRake Compiler
https://github.com/luislavena/rake-compiler
Mimics RubyGems Build ProcessBuild Extensions For Different Ruby Implementations.Build "FAT" Native Gems For Windows Users (from Linux or OSX)
Going NativeMiniPortile
https://github.com/luislavena/mini_portile
Going NativeMiniPortile
https://github.com/luislavena/mini_portile
A Minimalistic, Simplistic And Stupid Implementation Of A Port/Recipe System.
Going NativeMiniPortile
https://github.com/luislavena/mini_portile
A Minimalistic, Simplistic And Stupid Implementation Of A Port/Recipe System.For Gem Developers!!!
Going Native (TinyTDS)
Git Clone The Project.$ bundle install && rake
Download libiconv & freetds.Compile Each.
Going Native (TinyTDS)
Git Clone The Project.$ bundle install && rake
Download libiconv & freetds.Compile Each.Build Ruby Gem C Extension. Statically Linked To Libs.
Going Native (TinyTDS)
Git Clone The Project.$ bundle install && rake
Download libiconv & freetds.Compile Each.Build Ruby Gem C Extension. Statically Linked To Libs.Run Tests!
AdventureWorks.Ruby
On github.com/rails-sqlserver Database CloningRake Override TaskUsage of smocript/sqlcmd