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
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
99
Building Web 2.0 APIs
brucehsu
1
160
由Spanner來看Google資料庫的前世今生
brucehsu
4
330
TechWed@CCU #0
brucehsu
2
570
Chromium OS
brucehsu
2
240
Other Decks in Programming
See All in Programming
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
180
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
150
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
710
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
230
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
660
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.6k
プロポーザルを書いてもらう
pvcresin
0
510
React本体のコードリーディング
high_g_engineer
1
140
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
590
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
290
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
550
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
410
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
540
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
530
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
480
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
280
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
119
120k
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