SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
遇見 Ruby on Rails
Report
Wen-Tien Chang
Follow
😆 👨🏻💻 📚 🚀 💰
May. 5, 2010
•
0 likes
•
5,681 views
1
of
72
遇見 Ruby on Rails
May. 5, 2010
•
0 likes
•
5,681 views
Download Now
Download to read offline
Report
Wen-Tien Chang
Follow
😆 👨🏻💻 📚 🚀 💰
Recommended
RoR (Ruby on Rails)
scandiweb
2.5K views
•
21 slides
Ruby on Rails Training - Module 1
Mark Menard
3K views
•
67 slides
Security Goodness with Ruby on Rails
Source Conference
2.5K views
•
55 slides
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory Course
peter_marklund
81.8K views
•
341 slides
Ruby on Rails Presentation
Joost Hietbrink
8.6K views
•
53 slides
Ror Seminar With agilebd.org on 23 Jan09
Shaer Hassan
972 views
•
85 slides
More Related Content
What's hot
O que há de novo no Rails 3
Hugo Baraúna
1.6K views
•
156 slides
Ruby On Rails Presentation
ChanHan Hy
4.7K views
•
21 slides
Introduction to Ruby on Rails
Agnieszka Figiel
2.8K views
•
30 slides
Ruby On Rails Introduction
Thomas Fuchs
57K views
•
153 slides
When To Use Ruby On Rails
dosire
29K views
•
31 slides
Ruby on Rails Presentation
Michael MacDonald
1.8K views
•
30 slides
What's hot
(20)
O que há de novo no Rails 3
Hugo Baraúna
•
1.6K views
Ruby On Rails Presentation
ChanHan Hy
•
4.7K views
Introduction to Ruby on Rails
Agnieszka Figiel
•
2.8K views
Ruby On Rails Introduction
Thomas Fuchs
•
57K views
When To Use Ruby On Rails
dosire
•
29K views
Ruby on Rails Presentation
Michael MacDonald
•
1.8K views
Introduction to Ruby on Rails
Manoj Kumar
•
14.9K views
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Matt Raible
•
68.4K views
Rails Girls: Programming, Web Applications and Ruby on Rails
DonSchado
•
3.2K views
Ruby MVC from scratch with Rack
DonSchado
•
2.5K views
RSpec on Rails Tutorial
Wen-Tien Chang
•
4.8K views
Ruby and Rails by Example (GeekCamp edition)
bryanbibat
•
2.5K views
Develop realtime web with Scala and Xitrum
Ngoc Dao
•
42.3K views
Xitrum @ Scala Matsuri Tokyo 2014
Ngoc Dao
•
44.3K views
Build Your Own CMS with Apache Sling
Bob Paulin
•
15.8K views
OSGi, Scripting and REST, Building Webapps With Apache Sling
Carsten Ziegeler
•
3K views
Skinny Framework Progress Situation
Kazuhiro Sera
•
1.2K views
Developing, Testing and Scaling with Apache Camel - UberConf 2015
Matt Raible
•
25.9K views
How Flipkart scales PHP
Siddhartha Reddy Kothakapu
•
144.5K views
I18nize Scala programs à la gettext
Ngoc Dao
•
2K views
Viewers also liked
What's new on Rails 5
Guilherme Carlos
545 views
•
59 slides
What's new in Rails 5 - API Mode & Action Cable overview
Maxim Veksler
449 views
•
53 slides
Glassfish An Introduction
Jumping Bean
4.2K views
•
39 slides
Routing
Amal Subhash
302 views
•
31 slides
Asha Resume
asha ha
498 views
•
3 slides
Ruby on Rails for beginners
Vysakh Sreenivasan
40.9K views
•
106 slides
Viewers also liked
(8)
What's new on Rails 5
Guilherme Carlos
•
545 views
What's new in Rails 5 - API Mode & Action Cable overview
Maxim Veksler
•
449 views
Glassfish An Introduction
Jumping Bean
•
4.2K views
Routing
Amal Subhash
•
302 views
Asha Resume
asha ha
•
498 views
Ruby on Rails for beginners
Vysakh Sreenivasan
•
40.9K views
Xampp installation
Kichiemon Adachi
•
4.4K views
PPT - Powerful Presentation Techniques
University of Wisconsin Milwaukee
•
298.4K views
Similar to 遇見 Ruby on Rails
[.Net开发交流会][2010.06.19]better framework better life(吕国宁)
Shanda innovation institute
553 views
•
50 slides
Better Framework Better Life
jeffz
887 views
•
50 slides
Why ruby and rails
Reuven Lerner
472 views
•
31 slides
Better framework, better life
Daniel Lv
889 views
•
50 slides
An introduction to Rails 3
Blazing Cloud
845 views
•
44 slides
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Nilesh Panchal
5K views
•
341 slides
Similar to 遇見 Ruby on Rails
(20)
[.Net开发交流会][2010.06.19]better framework better life(吕国宁)
Shanda innovation institute
•
553 views
Better Framework Better Life
jeffz
•
887 views
Why ruby and rails
Reuven Lerner
•
472 views
Better framework, better life
Daniel Lv
•
889 views
An introduction to Rails 3
Blazing Cloud
•
845 views
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Nilesh Panchal
•
5K views
Polyglot Grails
Marcin Gryszko
•
3.5K views
Bhavesh ro r
bhavesh-gloscon
•
471 views
Upgrading to rails3
Yi-Ting Cheng
•
668 views
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...
44CON
•
12.3K views
From Java to Ruby...and Back
Anil Hemrajani
•
67 views
Railsチュートリアルの歩き方 (第4版)
Yohei Yasukawa
•
427.8K views
How DSL works on Ruby
Hiroshi SHIBATA
•
5.1K views
Ruby Performance - The Last Mile - RubyConf India 2016
Charles Nutter
•
2.4K views
Ruby on the JVM
Kresten Krab Thorup
•
658 views
Intro to Ruby on Rails
rschmukler
•
643 views
Contributing to rails
Lukas Eppler
•
399 views
Rails 3.1
Lori Olson
•
1.2K views
T4T Training day - NodeJS
Tim Sommer
•
764 views
Nodejs - Should Ruby Developers Care?
Felix Geisendörfer
•
3.8K views
More from Wen-Tien Chang
⼤語⾔模型 LLM 應⽤開發入⾨
Wen-Tien Chang
4.7K views
•
94 slides
Ruby Rails 老司機帶飛
Wen-Tien Chang
2.1K views
•
85 slides
A brief introduction to Machine Learning
Wen-Tien Chang
10.9K views
•
145 slides
淺談 Startup 公司的軟體開發流程 v2
Wen-Tien Chang
38.7K views
•
160 slides
RSpec & TDD Tutorial
Wen-Tien Chang
3K views
•
105 slides
ALPHAhackathon: How to collaborate
Wen-Tien Chang
2.5K views
•
50 slides
More from Wen-Tien Chang
(20)
⼤語⾔模型 LLM 應⽤開發入⾨
Wen-Tien Chang
•
4.7K views
Ruby Rails 老司機帶飛
Wen-Tien Chang
•
2.1K views
A brief introduction to Machine Learning
Wen-Tien Chang
•
10.9K views
淺談 Startup 公司的軟體開發流程 v2
Wen-Tien Chang
•
38.7K views
RSpec & TDD Tutorial
Wen-Tien Chang
•
3K views
ALPHAhackathon: How to collaborate
Wen-Tien Chang
•
2.5K views
Git 版本控制系統 -- 從微觀到宏觀
Wen-Tien Chang
•
23.6K views
Exception Handling: Designing Robust Software in Ruby (with presentation note)
Wen-Tien Chang
•
8.8K views
Exception Handling: Designing Robust Software in Ruby
Wen-Tien Chang
•
11.9K views
從 Classes 到 Objects: 那些 OOP 教我的事
Wen-Tien Chang
•
14K views
Yet another introduction to Git - from the bottom up
Wen-Tien Chang
•
26.2K views
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
Wen-Tien Chang
•
35.2K views
Ruby 程式語言綜覽簡介
Wen-Tien Chang
•
9.5K views
A brief introduction to SPDY - 邁向 HTTP/2.0
Wen-Tien Chang
•
20.6K views
RubyConf Taiwan 2012 Opening & Closing
Wen-Tien Chang
•
14.2K views
從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup
Wen-Tien Chang
•
24.5K views
Git Tutorial 教學
Wen-Tien Chang
•
57.8K views
那些 Functional Programming 教我的事
Wen-Tien Chang
•
27.6K views
RubyConf Taiwan 2011 Opening & Closing
Wen-Tien Chang
•
1.9K views
BDD style Unit Testing
Wen-Tien Chang
•
9.6K views
遇見 Ruby on Rails
1.
Ruby on Rails ihower@gmail.com
Ruby Taiwan 2010/5@
2.
Agenda • Who am
I • My story about web development • Introduction to Rails • Rails on Rails live demo • Why Ruby?
3.
Who am I? •
(a.k.a. ihower) • • & ( ) • Ruby on Rails (since 2006)
4.
http://ihower.tw/blog/
5.
http://twitter.com/ihower
6.
http://ruby.tw
7.
Ruby Tuesday Meetings
8.
http://rubyconf.tw
9.
Where am I?
10.
Software Desktop
Mobile Web
11.
Web application
Ruby Java/.NET PHP Python Perl
12.
My story about web
development
13.
1990 Tim Berners-Lee
World Wide Web
14.
1999 • •
M$ FrontPage ( !) • CGI
15.
2003 •
Perl CGI •
16.
CGI, Perl
HTML #!/usr/bin/perl open(FILE, "count.txt"); $num = <FILE>; $num++; close (FILE); open(WRITETO, ">count.txt"); print WRITETO "$num"; close (WRITETO); print <<PRINTAREA; content-type:text/htmlnn <style> <!-- body {background-color: black; line-height:1; margin-top: 0cm; margin-left: 0cm; margin-right: 0cm} --></style> <body><center> <b><font size=1 color=white> $num</font></b> PRINTAREA
17.
2002~2004 •
Dreamweaver • PHP4 & MySQL
18.
PHP
HTML <?php $counter = intval(file_get_contents("counter.dat")) + 1; $fp = fopen("counter.dat", "w"); fwrite($fp, $counter); fclose($fp); ?> <p>Visitors: <?php echo @counter %></p>
19.
PHP & MySQL <?php
$db = mysql_connect("localhost", "root", "password"); mysql_query("SET NAMES 'utf8'"); mysql_select_db($SERVER['db']); ?> <html> <? $sql="select * from news where Class='1' or Class='3' order by CTDate desc limit 0,5"; $result= mysql_query($sql); while ( $arr=mysql_fetch_array($result) ) { echo <<<NEWSEND <div class="box"> <span class="box-title-1"> <b> $arr[Title] </b> $arr[CTDate] </span> <div class="box-content"> $arr[Text] </div> </div> NEWSEND; } ?> </html>
20.
2003 (
)
21.
PHP sucks!
22.
2005 •
PHP web framework •
23.
Web framework? • MVC •
ORM • URL Template Session Ajax ......
24.
MVC •
Model Controller View • Model • • View • Ruby HTML • Controller Model • (e.g. ) Request Model View (e.g. HTML)
25.
1.
Controller 2. 3. 4. View Model DB
26.
MVC? • •
(DRY: Don’t repeat yourself) •
27.
ORM
• Object-relational mapping • @posts = Post.find(:all, :order => "id desc", :limit => 5 ) @posts.each do |post| ... end
28.
ORM? • SQL • ORM
routine SQL • • SQL
29.
2006 •
Ruby on Rails •
30.
Rails? •
( MIT ) Web database-backed • MVC (Model-View-Control ) • ( ) Ruby Ajax ORM (object-relational-mapping) • 2004 David Heinemeier Hanson(DHH) 37signals
31.
•
Ruby • Don’t Repeat Yourself (DRY) • • Convention Over Configuration • • •
32.
Ruby on Rails
? • ( ) • ( Joomla Durpal CMS •
33.
Rails •
2005 DHH Hacker • 2006 Rails Jolt • 2005~2006 Ruby/Rails 1552% • Ruby Tiobe 26 11
34.
Rails
? Java(Spring/Hibernate) Rails 4 20 4 ( 5 ) 3293 1164 1161 113 / 62/549 55/126 Justin Gehtland Java Rails
35.
Rails
? • Justin Gehtland Java :Rails = 3.5 : 1 • Proc.net PHP : Rails = 10 : 1 • JavaEye JAVA : Rails = 10 : 1 • thegiive( Rails ) PHP : Rails = 8 : 1
36.
Rails clone
37.
Rails
? M V C MVC Model-View-Control
38.
Rails live demo Creating
a weblog in 15 minutes
39.
User stories • • • •
40.
Why Ruby?
41.
Ruby? •
(interpreted) • • • a.k.a. Matz • Lisp, Perl, Smalltalk • Happy
42.
a trivial Ruby
example str = "May Ruby be with you!" 5.times { puts str }
43.
the example tells
us: • (typing) • • (code block)
44.
code lines matters 1.
more code more bugs 2. more code needs IDE 3. more code needs more time to read
45.
Fred Brooks’ law “programmer
generate about same amount of code per day regardless of the language”
46.
•
Web framework like Rails has • MVC • ORM • Ruby is • interpreted scripting language • dynamic typing language • object oriented programming
47.
Rails
Ruby http://ihower.tw/training
48.
One more thing...
49.
If I were
a college student...
50.
1. Learn more programming
language Scripting Language: Ruby, Python, JavaScript Functional Language: Erlang, Scala, Haskell, Clojure
51.
2. Master Unix command
Line
54.
3. Use Mac
or Ubuntu Windows Unix-like
57.
4. Learn Git
or Hg :
59.
Live demo (
)
60.
5. Learn OOP
62.
6. Be Agile
?
63.
http://ihower.tw/blog/archives/1750
64.
: http://local.joelonsoftware.com/wiki/The_Joel_on_Software_Translation_Project:
65.
7. Learn SQL
67.
8. Learn HTTP
69.
9. Conference & Meetings
70.
• Ruby Tuesday
meeting ( ) • RubyConf Taiwan (2010/4/25) • OSDC.TW (2010/4/24) • COSCUP (2010/8/14) • RubyKaigi (2010/8/27 )
71.
ihower http://ihower.tw/blog/books