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
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
3.1k
Rapid Web Development by Example
TechWed@CCU #1
Video:
http://zh-tw.justin.tv/alan77916/b/317618710
Szu-Kai Hsu (brucehsu)
May 09, 2012
Tweet
Share
More Decks by Szu-Kai Hsu (brucehsu)
See All by Szu-Kai Hsu (brucehsu)
Running Life Lean
brucehsu
0
180
Core Unleashed Part II: Introduction to GobiesVM (and STM) @ RubyKaigi 2014
brucehsu
0
2.1k
[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
65
Building Web 2.0 APIs
brucehsu
1
150
由Spanner來看Google資料庫的前世今生
brucehsu
4
300
TechWed@CCU #0
brucehsu
2
530
Chromium OS
brucehsu
2
210
Other Decks in Programming
See All in Programming
Oxlintはいいぞ
yug1224
5
1.3k
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
680
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
390
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
990
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.3k
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
200
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
240
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
170
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
2.4k
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
140
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
670
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Writing Fast Ruby
sferik
630
62k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
310
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
200
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
A Tale of Four Properties
chriscoyier
162
24k
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