Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Why Ruby on Rails
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Stefan Kanev
April 25, 2009
Programming
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Why Ruby on Rails
Slides from my first conference talk ever in 2009
Stefan Kanev
April 25, 2009
More Decks by Stefan Kanev
See All by Stefan Kanev
Въведение в (Machine|Deep) Learning
skanev
0
110
GraphQL
skanev
0
480
Automated Testing: Getting it Right
skanev
1
110
From Novice to Expert
skanev
0
470
Inbetween Code and Profession
skanev
0
460
Clojure & ClojureScript
skanev
2
140
Extreme Programming
skanev
0
830
За смъртта на TDD
skanev
0
650
Python 0 2014
skanev
1
1.8k
Other Decks in Programming
See All in Programming
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
28
32k
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
2
560
Railsバージョンを4倍にした話
optim
0
360
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
0
460
ChromeでローカルLLM
ryu1013
0
140
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
2.1k
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
170
Kotlinの15年とServer-Side Kotlin
n_takehata
1
150
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
890
dotNET_vulnclicker_intro.pdf
deka_morita
0
140
golang-bob.pdf
iwatsukayura
0
130
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
187
23k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Designing for Timeless Needs
cassininazir
1
530
How to train your dragon (web standard)
notwaldorf
96
6.9k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
67k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
530
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
630
Navigating Weather and Climate Data
rabernat
0
560
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
540
Transcript
Защо Ruby on Rails? Стефан Кънев http://skanev.com/ 25 април 2009
г. Велико Търново
Живот без болка
Помагам за болки в кръста, но не и болки в
уеб програмирането. Д-р Ливайн
Ruby on Rails • Web framework • Лекува болки всякакви
• Препоръчва се от националната лекарска асоциация • Съдържа коензим Q10 • Преди употреба протечете листовката!
↓Код ☹ ↑Опит☺
На практика
Can I has Rails?
Как? Защо?
???
???
http://twitter.com/skanev ???
http://twitter.com/skanev @skanev А дали Rails лекува проблеми с простатата? ???
http://twitter.com/skanev @skanev А дали Rails лекува проблеми с простатата? ✌
Ам, таковата, да питам аз... ???
Ruby on Rails
Ruby on Rails web framework
Ruby on Rails web framework 2005
Ruby on Rails web framework 2005 DHH
Ruby on Rails web framework език за програмиране 2005 DHH
Ruby on Rails web framework език за програмиране 2005 DHH
1995
Ruby on Rails web framework език за програмиране 2005 DHH
1995 Matz
None
1. Моя сблъсък с Rails
1. Моя сблъсък с Rails 2. Rails накратко
1. Моя сблъсък с Rails 2. Rails накратко 3. Ruby
накратко
1. Моя сблъсък с Rails 2. Rails накратко 3. Ruby
накратко 4. Култура и общество
1. Моя сблъсък с Rails 2. Rails накратко 3. Ruby
накратко 4. Култура и общество 5. Rails в живия живот
1. Моя сблъсък с Rails 2. Rails накратко 3. Ruby
накратко 4. Култура и общество 5. Rails в живия живот 6. Това за мен ли е?
1. Моя сблъсък с Rails 2. Rails накратко 3. Ruby
накратко 4. Култура и общество 5. Rails в живия живот 6. Това за мен ли е? 7. Как да се запозная с Rails?
vs. Round 1
пролет 2006
УНСС
None
WTF
None
database fixtures
database fixtures jpaUnit
декември 2006
PHP
None
cakePHP
cakePHP vanilla PHP
2 седмици
None
None
None
събота, обяд
30 часа
понеделник сутрин
вторник вечер
2 седмици ↓ 2 дена
Rails - 5 пъти по-бързо от PHP
Rails - 5 пъти по-бързо от PHP ✕ Не!
Първи впечатления
1. Добра идея за не-Rails проект Първи впечатления
1. Добра идея за не-Rails проект 2. Лесен за учене,
свърши ми работа Първи впечатления
1. Моят сблъсък с Rails 2. Rails накратко 3. Ruby
накратко 4. Култура и общество 5. Rails в живия живот 6. Това за мен ли е? 7. Как да се запозная с Rails?
MVC
MVC
MVC ActiveRecord
MVC ActiveRecord ActionView
MVC ActiveRecord ActionView ActionPack
None
версии на БД схемата
версии на БД схемата яко тестване
версии на БД схемата яко тестване много плъгини
Твърде много абстракция
Твърде много абстракция ✕ Ни! (така де, Не!)
HTTP SQL HTML
Rails is about less code. - David Heinemeier Hansson
D.R.Y.
D.R.Y. Don’t Repeat Yourself
C.O.C.
C.O.C. Convention Over Configuration
1. Моят сблъсък с Rails 2. Rails накратко 3. Ruby
накратко 4. Култура и общество 5. Rails в живия живот 6. Това за мен ли е? 7. Как да се запозная с Rails?
прагматичност > чистота
duck typing динамичен обектно-ориентиран интерпретира се general purpose ала Perl
и Python вдъхновен от Perl, Smalltalk, CLU и Lisp
duck typing динамичен обектно-ориентиран интерпретира се general purpose ала Perl
и Python вдъхновен от Perl, Smalltalk, CLU и Lisp
duck typing динамичен обектно-ориентиран интерпретира се general purpose ала Perl
и Python вдъхновен от Perl, Smalltalk, CLU и Lisp
duck typing динамичен обектно-ориентиран интерпретира се general purpose ала Perl
и Python вдъхновен от Perl, Smalltalk, CLU и Lisp
duck typing динамичен обектно-ориентиран интерпретира се general purpose ала Perl
и Python вдъхновен от Perl, Smalltalk, CLU и Lisp
duck typing динамичен обектно-ориентиран интерпретира се general purpose ала Perl
и Python вдъхновен от Perl, Smalltalk, CLU и Lisp
duck typing динамичен обектно-ориентиран интерпретира се general purpose ала Perl
и Python вдъхновен от Perl, Smalltalk, CLU и Lisp
duck typing динамичен обектно-ориентиран интерпретира се general purpose ала Perl
и Python вдъхновен от Perl, Smalltalk, CLU и Lisp
Treating Code As An Essay - Yukihiro Matsumoto
Ruby.is_not? :mainstream
Meta-programming
None
Programming Bottom-Up http://www.paulgraham.com/progbot.html
Programming Bottom-Up http://www.paulgraham.com/progbot.html ViaWeb
Programming Bottom-Up http://www.paulgraham.com/progbot.html ViaWeb Yahoo! Store
1. Моят сблъсък с Rails 2. Rails накратко 3. Ruby
накратко 4. Култура и общество 5. Rails в живия живот 6. Това за мен ли е? 7. Как да се запозная с Rails?
The Ruby Way The Rails Way
None
иновативен
unit tests
RSpec
Behavior Driven Development
BDD = ++TDD
практичен
None
None
+
+
+ +
+ + Programming Bottom-Up
+ + Programming Bottom-Up =
+ + Programming Bottom-Up =
+ + Programming Bottom-Up = +
+ + Programming Bottom-Up = +
бързи темпове
3rd edition
1.2 3rd edition
1.2 start → 2.0 3rd edition
1.2 start → 2.0 3rd edition 2.0
1.2 start → 2.0 3rd edition 2.0 2.2
1.2 start → 2.0 3rd edition 2.0 update 2.2
1.2 start → 2.0 3rd edition 2.0 update 2.2 in
print
1.2 start → 2.0 3rd edition 2.0 update 2.2 in
print 2.3
None
Ruby.is_not? :mainstream
Elitist
1. Моят сблъсък с Rails 2. Rails накратко 3. Ruby
накратко 4. Култура и общество 5. Rails в живия живот 6. Това за мен ли е? 7. Как да се запозная с Rails?
Ruby.kind_of? Mature
~ 100 книги
None
rubyonrails-talk @ google-groups ~ 18 000 човека
rubyonrails-talk @ google-groups ~ 18 000 човека #rubyonrails @ freenode
~ 500 човека 24/7
rubyonrails-talk @ google-groups ~ 18 000 човека #rubyonrails @ freenode
~ 500 човека 24/7 1000+ разширения (plugins)
rubyonrails-talk @ google-groups ~ 18 000 човека #rubyonrails @ freenode
~ 500 човека 24/7 1000+ разширения (plugins) много, много блогове
ДаJa Yes Oui
Rails.users
None
None
None
43things.com
None
getsatisfaction.com
scribd.com
geni.com
None
Ruby.vm
JRuby
IronRuby
Rubinus
Scalability
None
6 часа
None
10 000 - 100 000
100 000+
None
Deploy
None
Mongrel
Mongrel Mongrel,Mongrel,Mongrel
Mongrel Mongrel,Mongrel,Mongrel Apache
None
Phusion Passanger
Phusion Passanger mod_rails
nginx
Hosting
None
1. Моят сблъсък с Rails 2. Rails накратко 3. Ruby
накратко 4. Култура и общество 5. Rails в живия живот 6. Това за мен ли е? 7. Как да се запозная с Rails?
Can I has Rails?
Какво съм аз?
Какво съм аз? програмист
Какво съм аз? програмист мениджър
Какво съм аз? програмист мениджър
Какво съм аз? програмист мениджър собственик на бизнес
Какво съм аз? програмист мениджър собственик на бизнес
None
време и енергия
време и енергия ангажираност
време и енергия ангажираност the rails/ruby way
време и енергия ангажираност the rails/ruby way експертиза
време и енергия ангажираност the rails/ruby way експертиза бързи темпове
малки екипи
добри програмисти
agile
scrum
extreme programming
#VTJOFTT .BLJOH NPOFZ TJODF #$
None
по-бързо
по-бързо по-чисто
по-бързо по-чисто по-лесно
None
PHP - Safe Other stuff - Risky
Анди
5 years PHP
None
$hndl = connect(“
[email protected]
”; cd($hndl, “/home/niklas/prj2/”);
SELECT projekt, namn, author FROM ...
Foreign Key = Френски ключ ?
<?php if ($user->name == ‘meriksson’): ?> ... <?php endif ?>
3 full days
50%
None
Анди
1. Моят сблъсък с Rails 2. Rails накратко 3. Ruby
накратко 4. Култура и общество 5. Rails в живия живот 6. Това за мен ли е? 7. Как да се запозная с Rails?
None
http://railscasts.com
Blog in 15 minutes http://rubyonrails.org/
The Rails activists
http://guides.rubyonrails.org/
http://poignantguide.net/
http://api.rubyonrails.org/
http://skanev.com/
139
Questions & Discussions http://skanev.com/