Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Rapid Web Development by Example
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Szu-Kai Hsu (brucehsu)
May 09, 2012
Programming
3.2k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rapid Web Development by Example
TechWed@CCU #1
Video:
http://zh-tw.justin.tv/alan77916/b/317618710
Szu-Kai Hsu (brucehsu)
May 09, 2012
More Decks by Szu-Kai Hsu (brucehsu)
See All by Szu-Kai Hsu (brucehsu)
Running Life Lean
brucehsu
0
190
Core Unleashed Part II: Introduction to GobiesVM (and STM) @ RubyKaigi 2014
brucehsu
0
2.2k
[RubyConf.tw 2014] Cores unleashed - Exploiting Parallelism in Ruby with STM
brucehsu
0
2.3k
用 Go 打造程式語言執行環境:實例剖析 [OSDC.tw 2014]
brucehsu
3
2.4k
pickbox @ OSDC.tw 2013 Lightning Talk
brucehsu
0
130
Building Web 2.0 APIs
brucehsu
1
170
由Spanner來看Google資料庫的前世今生
brucehsu
4
370
TechWed@CCU #0
brucehsu
2
610
Chromium OS
brucehsu
2
250
Other Decks in Programming
See All in Programming
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
2
920
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.6k
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
Jetpack Compose Mechanisms
skydoves
3
830
Performance Optimization With LLMs
xleitix
0
160
Simple Storage Service(S3) is not simple
iwatsukayura
0
290
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
800
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
Domain-Driven Transformation
hschwentner
2
2.3k
ジョジョの世界をXRで再現する
mofurune
0
170
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
120
Next.js: The final boss of Web Performance
guaca
0
290
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
The Limits of Empathy - UXLibs8
cassininazir
2
720
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Into the Great Unknown - MozCon
thekraken
41
2.8k
Become a Pro
speakerdeck
PRO
31
6.3k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
530
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Transcript
Rapid Web Development By Example Presenter: Szu-Kai Hsu (brucehsu)
treehole https://github.com/brucehsu/treehole http://photos.nj.com/photogallery/2010/05/squirrel_in_tree_hole.html
你有聽過安X嗎? MVC
Model
View http://www.freefoto.com/preview/19-26-9/Mountain--Carinthia--Austria
Controller
None
Sinatra
None
D-Live Coding
None
宅
復古、潮
潮到出水
None
None
<this><is><html>orz</html></is></this>
this is html orz
None
None
Variables
Mixin =
D-Live Coding
None
None
None
Database?
None
SELECT isbn, title, price, price * 0.06 AS sales_tax FROM
Book WHERE price > 100.00 ORDER BY title;
Object Relational Mapper
None
比較表 ORM SQL 寫法 安全性 LOC 結語 OO Query 較佳
因人而異 少 多 潮 勝 回不去了 不要怕 加班
None
Define Models
Define Models
D-Live Coding
None
None
None
不能動 不夠潮
JavaScript! not
return $('[id^=del_]').click(function(event) { var post_id; event.preventDefault(); post_id = /del_(\d+)/.exec($ (this).attr('id'))[1];
return $.ajax({ type: 'delete', url: '/delete/post/' + post_id, data: $(this).serialize(), success: function(data) { if (data['success']) { return $('.post_' + post_id).fadeOut(); } else { return alert('Failed!'); } } };
return $('[id^=del_]').click(function(event) { var post_id; event.preventDefault(); post_id = /del_(\d+)/.exec($ (this).attr('id'))[1];
return $.ajax({ type: 'delete', url: '/delete/post/' + post_id, data: $(this).serialize(), success: function(data) { if (data['success']) { return $('.post_' + post_id).fadeOut(); } else { return alert('Failed!'); } } });
None
None
None
None
None
D-Live Coding
None
Demo