Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introduction to Ruby on Rails
Search
Angel Avgerinos
March 19, 2013
Programming
3
200
Introduction to Ruby on Rails
Presentation at University of Piraeus
Angel Avgerinos
March 19, 2013
Tweet
Share
More Decks by Angel Avgerinos
See All by Angel Avgerinos
Hacking our way to Geembo
eavgerinos
1
100
Other Decks in Programming
See All in Programming
API Platform 4.2: Redefining API Development
soyuka
0
440
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
240
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
4
1.5k
Introducing FrankenPHP gRPC
dunglas
1
470
旅行プランAIエージェント開発の裏側
ippo012
2
940
速いWebフレームワークを作る
yusukebe
5
1.8k
Swift Updates - Learn Languages 2025
koher
2
530
Ruby×iOSアプリ開発 ~共に歩んだエコシステムの物語~
temoki
0
530
意外と簡単!?フロントエンドでパスキー認証を実現する WebAuthn
teamlab
PRO
2
790
How Android Uses Data Structures Behind The Scenes
l2hyunwoo
1
500
Reading Rails 1.0 Source Code
okuramasafumi
0
260
MCPでVibe Working。そして、結局はContext Eng(略)/ Working with Vibe on MCP And Context Eng
rkaga
5
2.4k
Featured
See All Featured
Navigating Team Friction
lara
189
15k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Thoughts on Productivity
jonyablonski
70
4.8k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Building an army of robots
kneath
306
46k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Docker and Python
trallard
46
3.6k
Scaling GitHub
holman
463
140k
Facilitating Awesome Meetings
lara
55
6.5k
RailsConf 2023
tenderlove
30
1.2k
Transcript
INTRODUCTION - to -
Angel Avgerinos Ruby on Rails & Java developer
RUBY A multi-paradigm general purpose language
Yukihiro Matsumoto (Matz) Creator of Ruby programming language (1995)
What Ruby is
OBJECT - ORIENTED Everything in Ruby is an object (instance
of a Class)
FUNCTIONAL Supports Lambdas and Procs
REFLECTIVE Ruby can modify the structure of an object at
runtime
IMPERATIVE Modules and Blocks
Why Ruby rocks
OPEN SOURCE https://github.com/ruby/ruby
READABLE AND SEXY No semicolons, no mandatory parentheses, method chaining.
TREND RIGHT NOW 2nd most popular language at Github.com
CHECK THIS OUT
class Calc # Creates getters and setters for
num1 and num2 attr_accessor :num1, :num2 def initialize(num1, num2) @num1 = num1 @num2 = num2 end def add #string interpolation puts "#{@num1 + @num2}" end end c = Calc.new(1,2) c.add
WHAT ABOUT LIBRARIES ?
Gem A package format for Ruby programs and libraries
The structure of a Gem
INSTALLING GEMS from RubyGems.org gem install gem_name
Let’s take it to the next level Just type...
gem install rails Now you have superpower
Ruby on Rails MVC framework to get you on the
Web
David Heinemeier Hansson (DHH) Creator of Ruby on Rails (2004)
and partner at 37signals
What Rails is
GEM Just a Gem with reusable code! No fancy installs!
OPEN SOURCE https://github.com/rails/rails
FRAMEWORK A Web application framework.
MVC Awesome pattern.
What Rails is NOT
What Rails is NOT A Programming language
AWESOMENESS MVC
MODEL VIEW CONTROLLER View Controller Model Database
MODEL
CONTROLLER
VIEW
STARTING A NEW RAILS PROJECT
rails new app_name TYPE...
RAILS APP STRUCTURE
/APP
/CONFIG
GEMFILE Where your life becomes easier
source 'https://rubygems.org' gem 'rails', '3.2.12' group :development, :test do
gem 'sqlite3' end group :assets do gem 'sass-‐rails', '~> 3.2.3' gem 'coffee-‐rails', '~> 3.2.1' gem 'uglifier', '>= 1.0.3' gem 'compass-‐rails' gem 'sassy-‐buttons' gem 'bootstrap-‐sass', '~> 2.3.0.1' gem 'font-‐awesome-‐sass-‐rails' end gem 'jquery-‐rails' gem 'omniauth-‐facebook' gem 'devise', '2.2.3' gem 'geocoder'
A GLIMPSE OF RAILS
SCAFFOLDING rails g scaffold User email:string
MIGRATION rake db:migrate
RAILS SERVER rails s
DONE!
HOW TO GET STARTED
tryruby.org codeschool.com codecademy.com railstutorial.org/book railscasts.com github.com RESOURCES
THANKS @eavgerinos
[email protected]