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
85
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
75
GraphQL
skanev
0
380
Automated Testing: Getting it Right
skanev
1
51
From Novice to Expert
skanev
0
420
Inbetween Code and Profession
skanev
0
410
Clojure & ClojureScript
skanev
2
110
Extreme Programming
skanev
0
660
За смъртта на TDD
skanev
0
540
Python 0 2014
skanev
1
1.7k
Other Decks in Programming
See All in Programming
若手バックエンドエンジニアが Elasticsearch を使ってみた話
hott0mott0
1
100
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
9
1.6k
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
270
Webフレームワークとともに利用するWeb components / JSConf.jp おかわり
spring_raining
1
150
The Price of Micro Frontends… and Your Alternatives @bastacon 2025 in Frankfurt
manfredsteyer
PRO
0
270
Lambdaの監視、できてますか?Datadogを用いてLambdaを見守ろう
nealle
2
830
From the Wild into the Clouds - Laravel Meetup Talk
neverything
0
190
Drawing Heighway’s Dragon- Recursive Function Rewrite- From Imperative Style in Pascal 64 To Functional Style in Scala 3
philipschwarz
PRO
0
170
Google Cloudとo11yで実現するアプリケーション開発者主体のDB改善
nnaka2992
1
150
ML.NETで始める機械学習
ymd65536
0
250
複数のAWSアカウントから横断で 利用する Lambda Authorizer の作り方
tc3jp
0
130
Learning Kotlin with detekt
inouehi
1
220
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
134
33k
Embracing the Ebb and Flow
colly
84
4.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
270
Become a Pro
speakerdeck
PRO
26
5.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Gamification - CAS2011
davidbonilla
80
5.2k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Site-Speed That Sticks
csswizardry
4
420
How GitHub (no longer) Works
holman
314
140k
The Cult of Friendly URLs
andyhume
78
6.2k
Rails Girls Zürich Keynote
gr2m
94
13k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
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/