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
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
88
GraphQL
skanev
0
420
Automated Testing: Getting it Right
skanev
1
67
From Novice to Expert
skanev
0
430
Inbetween Code and Profession
skanev
0
430
Clojure & ClojureScript
skanev
2
120
Extreme Programming
skanev
0
760
За смъртта на TDD
skanev
0
590
Python 0 2014
skanev
1
1.7k
Other Decks in Programming
See All in Programming
AIと人間の共創開発!OSSで試行錯誤した開発スタイル
mae616
2
830
Designing Repeatable Edits: The Architecture of . in Vim
satorunooshie
0
130
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
250
Leading Effective Engineering Teams in the AI Era
addyosmani
7
670
contribution to astral-sh/uv
shunsock
0
560
マイベストのシンプルなデータ基盤の話 - Googleスイートとのつき合い方 / mybest-simple-data-architecture-google-nized
snhryt
0
110
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
210
Register is more than clipboard
satorunooshie
1
130
Blazing Fast UI Development with Compose Hot Reload (Bangladesh KUG, October 2025)
zsmb
2
420
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
700
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
990
Blazing Fast UI Development with Compose Hot Reload (droidcon London 2025)
zsmb
0
410
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Faster Mobile Websites
deanohume
310
31k
Agile that works and the tools we love
rasmusluckow
331
21k
Done Done
chrislema
185
16k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
A better future with KSS
kneath
239
18k
Being A Developer After 40
akosma
91
590k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.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/