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
Why Ruby on Rails
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Stefan Kanev
April 25, 2009
Programming
0
89
Why Ruby on Rails
Slides from my first conference talk ever in 2009
Stefan Kanev
April 25, 2009
Tweet
Share
More Decks by Stefan Kanev
See All by Stefan Kanev
Въведение в (Machine|Deep) Learning
skanev
0
98
GraphQL
skanev
0
430
Automated Testing: Getting it Right
skanev
1
77
From Novice to Expert
skanev
0
440
Inbetween Code and Profession
skanev
0
440
Clojure & ClojureScript
skanev
2
120
Extreme Programming
skanev
0
790
За смъртта на TDD
skanev
0
610
Python 0 2014
skanev
1
1.8k
Other Decks in Programming
See All in Programming
ThorVG Viewer In VS Code
nors
0
760
Patterns of Patterns
denyspoltorak
0
1.4k
CSC307 Lecture 06
javiergs
PRO
0
680
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
200
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
380
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
170
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
110
Implementation Patterns
denyspoltorak
0
280
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
540
SourceGeneratorのススメ
htkym
0
190
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
140
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
610
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1371
200k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
52
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
430
We Are The Robots
honzajavorek
0
160
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
72
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
190
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
410
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
36k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
400
Test your architecture with Archunit
thirion
1
2.1k
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/