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
82
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
67
GraphQL
skanev
0
290
Automated Testing: Getting it Right
skanev
1
48
From Novice to Expert
skanev
0
410
Inbetween Code and Profession
skanev
0
280
Clojure & ClojureScript
skanev
2
95
Extreme Programming
skanev
0
460
За смъртта на TDD
skanev
0
390
Python 0 2014
skanev
1
1.5k
Other Decks in Programming
See All in Programming
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
1k
CDKコントリビュートの最初の壁を越えよう! -簡単issueの見つけ方-
badmintoncryer
3
210
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
7
970
CA.swift19 恋するAIアプリ開発の裏側
oskmr
0
380
『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか
free_world21
1
360
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
27
8.5k
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
170
CREってこういうこと? 体験入社 - 提案資料 - / what-is-cre-trial-employment
shinden
1
520
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
43
19k
GitHub Copilotのススメ
marcy731
1
220
スクラムガイドのスプリントレトロスペクティブを改めて読みかえしてみた / Re-reading the Sprint Retrospective Section in the Scrum Guide
mackey0225
3
480
Git Lint
bkuhlmann
4
760
Featured
See All Featured
Building an army of robots
kneath
300
41k
Agile that works and the tools we love
rasmusluckow
325
20k
Making the Leap to Tech Lead
cromwellryan
125
8.5k
The Cult of Friendly URLs
andyhume
74
5.7k
Web development in the modern age
philhawksworth
203
10k
Code Review Best Practice
trishagee
56
15k
Six Lessons from altMBA
skipperchong
22
3k
Music & Morning Musume
bryan
41
5.6k
How to name files
jennybc
65
93k
Building Applications with DynamoDB
mza
88
5.6k
Building Adaptive Systems
keathley
32
1.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
20
1.6k
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/