On the heals of Luis Lavena's RailsConf talk "Infiltrating Ruby Onto The Enterprise Death Star Using Guerilla Tactics" comes a local and frank talk about the current state of Open Source Software (OSS) participation from Windows developers. Learn what OSS is, what motivates its contributors, and how OSS can make you a stronger developer. Be prepared to fall in love with writing software again!
We will start off with a 101 introduction to both the Ruby programming language and the Ruby on Rails web application framework. You will learn about ActiveRecord, a powerful ORM that maps rich objects to your databases, and the latest components to use it with SQL Server. As a Rails core contributor and author of the SQL Server stack, I will give you a modern insight into both that will allow you to leverage your legacy data with Ruby.
Lastly, I will review the bleeding edge tools being actively created for Windows developers to ease the transition to Ruby, Rails and OSS from a POSIX driven world. Many things have changed. It is time to learn and perform some occupational maintenance.
2. Congratulations!
e simple fact that you
are sitting here listening
to me, means you've
made a glorious
contribution to Science!
Tragic, but informative.
30. The Absolute Basics (Github)
You (yes, you!) should contribute to open source
http://thechangelog.com/post/5367356233/
31. The Absolute Basics (Github)
You (yes, you!) should contribute to open source
http://thechangelog.com/post/5367356233/
Forking A Project
32. The Absolute Basics (Github)
You (yes, you!) should contribute to open source
http://thechangelog.com/post/5367356233/
Forking A Project
Track Upstream Changes
33. The Absolute Basics (Github)
You (yes, you!) should contribute to open source
http://thechangelog.com/post/5367356233/
Forking A Project
Track Upstream Changes
Never Work On Master!
34. The Absolute Basics (Github)
You (yes, you!) should contribute to open source
http://thechangelog.com/post/5367356233/
Forking A Project
Track Upstream Changes
Never Work On Master!
Remote Tracking Branches
35. The Absolute Basics (Github)
You (yes, you!) should contribute to open source
http://thechangelog.com/post/5367356233/
Forking A Project
Track Upstream Changes
Never Work On Master!
Remote Tracking Branches
Pull Requests
46. Powerful Models
class User < ActiveRecord::Base
end
user = User.find(10)
user.username # => 'metaskills'
user.email # => 'ken@metaskills.net'
47. Associations
class Client < ActiveRecord::Base
has_one :address
has_many :orders
end
class Address < ActiveRecord::Base
belongs_to :client
end
class Order < ActiveRecord::Base
belongs_to :client
end
48. Validations
class Person < ActiveRecord::Base
validates_presence_of :name
end
p = Person.new
p.valid? # => false
p.errors # => {:name=>["can't be blank"]}
p.save # => false
p.save! ActiveRecord::RecordInvalid
50. Migrations
class 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
60. SQL Server Adapter
Maintainer For 4 Years
Will Talk About 3.1.x
Use Rational Version Policy
2005, 2008, 2011 & Azure
61. SQL Server Adapter
Maintainer For 4 Years
Will Talk About 3.1.x
Use Rational Version Policy
2005, 2008, 2011 & Azure
Includes ARel Visitor
62. SQL Server Adapter
Maintainer For 4 Years
Will Talk About 3.1.x
Use Rational Version Policy
2005, 2008, 2011 & Azure
Includes ARel Visitor
DBLIB, ODBC Connection Mode
71. Prepared Statements
SELECT TOP(1) * FROM [posts] WHERE [id] = 1
SELECT TOP(1) * FROM [posts] WHERE [id] = 2
SELECT TOP(1) * FROM [posts] WHERE [id] = 3
72. Prepared Statements
SELECT TOP(1) * FROM [posts] WHERE [id] = 1
SELECT TOP(1) * FROM [posts] WHERE [id] = 2
SELECT TOP(1) * FROM [posts] WHERE [id] = 3
EXEC sp_executesql N'SELECT TOP(1) * FROM [posts] WHERE [id] = @0', N'@0 int', @0 = 1
EXEC sp_executesql N'SELECT TOP(1) * FROM [posts] WHERE [id] = @0', N'@0 int', @0 = 2
EXEC sp_executesql N'SELECT TOP(1) * FROM [posts] WHERE [id] = @0', N'@0 int', @0 = 3
96. Going Native
Rake Compiler
https://github.com/luislavena/rake-compiler
Mimics RubyGems Build Process
97. Going Native
Rake Compiler
https://github.com/luislavena/rake-compiler
Mimics RubyGems Build Process
Build Extensions For Different
Ruby Implementations.
98. Going Native
Rake Compiler
https://github.com/luislavena/rake-compiler
Mimics RubyGems Build Process
Build Extensions For Different
Ruby Implementations.
Build "FAT" Native Gems For
Windows Users (from Linux or
OSX)
100. Going Native
MiniPortile
https://github.com/luislavena/mini_portile
A Minimalistic, Simplistic And
Stupid Implementation Of A
Port/Recipe System.
101. Going Native
MiniPortile
https://github.com/luislavena/mini_portile
A Minimalistic, Simplistic And
Stupid Implementation Of A
Port/Recipe System.
For Gem Developers!!!