USING RUBY An Introduction By Evgeny Rahman. About Me Principal Engineer at FirstFuel Software 10+...

11
USING RUBY An Introduction By Evgeny Rahman

Transcript of USING RUBY An Introduction By Evgeny Rahman. About Me Principal Engineer at FirstFuel Software 10+...

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?