using ruby an introduction by evgeny rahman. about me principal engineer at firstfuel software 10+...

11
USING RUBY An Introduction By Evgeny Rahman

Upload: arron-phillips

Post on 03-Jan-2016

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: USING RUBY An Introduction By Evgeny Rahman. About Me Principal Engineer at FirstFuel Software 10+ years in Software Engineering 5 years working with

USING RUBYAn Introduction

By

Evgeny Rahman

Page 2: USING RUBY An Introduction By Evgeny Rahman. About Me Principal Engineer at FirstFuel Software 10+ years in Software Engineering 5 years working with

About Me• Principal Engineer at FirstFuel Software• 10+ years in Software Engineering• 5 years working with Ruby.

• https://github.com/evgenyrahman• [email protected]

Page 3: USING RUBY An Introduction By Evgeny Rahman. About Me Principal Engineer at FirstFuel Software 10+ years in Software Engineering 5 years working with

Overview• Dynamic language• Created by Yukihiro “Matz” Matsumoto in 1993• Very influenced by Perl and Smalltalk• Developed as an open source project• Optimized for developer productivity and happiness• Over 1,000,000 users worldwide• Several implementations – MRI, JRuby, Rubinius, Ruby

EE

Page 4: USING RUBY An Introduction By Evgeny Rahman. About Me Principal Engineer at FirstFuel Software 10+ years in Software Engineering 5 years working with

The Basics• Install Ruby –

• Windows• http://rubyinstaller.org/

• Linux • Use package manager – details at

https://www.ruby-lang.org/en/installation/

• OSX• Comes with Ruby by default, but

brew install ruby

will install latest Ruby

Interactive Ruby REPL –

‘irb’ command in a terminal window.

Page 5: USING RUBY An Introduction By Evgeny Rahman. About Me Principal Engineer at FirstFuel Software 10+ years in Software Engineering 5 years working with

Interesting Features• Everything is an object• Modules• Metaprogramming

Page 6: USING RUBY An Introduction By Evgeny Rahman. About Me Principal Engineer at FirstFuel Software 10+ years in Software Engineering 5 years working with

Interesting Features (cont’d)• Duck typing• Blocks• Enumerable• Gems

Page 7: USING RUBY An Introduction By Evgeny Rahman. About Me Principal Engineer at FirstFuel Software 10+ years in Software Engineering 5 years working with

Gotchas• Open classes• Testing• Debugging• Performance• Threads

Page 8: USING RUBY An Introduction By Evgeny Rahman. About Me Principal Engineer at FirstFuel Software 10+ years in Software Engineering 5 years working with

Testing• Big part of Ruby culture• Rspec/Minitest/TestUnit• Mocking/stubbing• TDD/BDD

Page 9: USING RUBY An Introduction By Evgeny Rahman. About Me Principal Engineer at FirstFuel Software 10+ years in Software Engineering 5 years working with

Frameworks• Rails • Sinatra• Rack• Rake• Grape• Cucumber

Page 10: USING RUBY An Introduction By Evgeny Rahman. About Me Principal Engineer at FirstFuel Software 10+ years in Software Engineering 5 years working with

Resources• https://www.ruby-lang.org/• http://www.ruby-doc.org/• http://www.ruby-toolbox.com/• http://mislav.uniqpath.com/poignant-guide/• http://rubykoans.com/• http://tryruby.org/levels/1/challenges/0• http://eloquentruby.com/• http://www.poodr.com/

Examples at

https://github.com/evgenyrahman/fullstack_ruby

Page 11: USING RUBY An Introduction By Evgeny Rahman. About Me Principal Engineer at FirstFuel Software 10+ years in Software Engineering 5 years working with

Thank You!

Questions/Comments?