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
ASP.NET MVC
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
John Downey
September 26, 2011
Programming
330
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ASP.NET MVC
John Downey
September 26, 2011
More Decks by John Downey
See All by John Downey
Cryptography Pitfalls at CactusCon 2019
jtdowney
0
200
Intro to Cybersecurity Workshop
jtdowney
0
160
Cryptography Pitfalls at BsidesMSP 2017
jtdowney
0
210
Cryptography Pitfalls at THOTCON 0x8
jtdowney
0
220
Cryptography Pitfalls at ConFoo Montreal 2017
jtdowney
1
370
Cryptography Pitfalls at BSidesPhilly 2016
jtdowney
0
170
Cryptography Pitfalls at LASCON 2016
jtdowney
0
230
Debugging TLS/SSL at DevOps Days Detroit 2016
jtdowney
1
300
Debugging TLS/SSL at DevOpsDays Boston
jtdowney
1
380
Other Decks in Programming
See All in Programming
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.5k
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
510
TAKTでAI駆動開発の品質を設計する
j5ik2o
6
1k
Agentic UI
manfredsteyer
PRO
0
110
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
130
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
1.8k
Inside Stream API
skrb
1
650
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.9k
今さら聞けないCancellationToken
htkym
0
220
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
440
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
230
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
370
Featured
See All Featured
Mind Mapping
helmedeiros
PRO
1
240
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
280
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
Discover your Explorer Soul
emna__ayadi
2
1.1k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
71
40k
So, you think you're a good person
axbom
PRO
2
2.1k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.6k
A Tale of Four Properties
chriscoyier
163
24k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
22k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
200
Documentation Writing (for coders)
carmenintech
77
5.4k
Transcript
From the beginning
Senior Software Developer Housing and Food Services
Bio: ¡ Started .NET in 2003 ¡ Began programming on C64 Contact: ¡ @jtdowney ¡
[email protected]
Image from XKCD About John Downey
Controller View Model
Image from stock.xchng From the beginning
Common Language Runtime (.NET CLR) ASP.NET Runtime (Sessions, Cookies,
Caching, Routing) Web Forms MVC Dynamic Data
Common Language Runtime (.NET CLR) ASP.NET Runtime (Sessions, Cookies,
Caching, Routing) Web Forms MVC Dynamic Data
Common Language Runtime (.NET CLR) ASP.NET Runtime (Sessions, Cookies,
Caching, Routing) Web Forms MVC Dynamic Data
None
VB6 • Large population of programmers • Data driven business
apps Win Forms • Can use Visual Basic .NET • Similar tooling and concepts Web Forms • Apply skills to the web
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/ wEPDwUKLTYyOTg4NzMzOQ9kFgJmD2QWAgIDD2QWBgIFD2QWAgIBDw8WAh4EVGV4dAURamRv d25leUBnbWFpbC5jb21kZAIJDw8WAh4GVXNlcklEBQU1MzgzNmRkAgsPZBYCAgEPPCsACQI ADxYGHg1OZXZlckV4cGFuZGVkZB4MU2VsZWN0ZWROb2RlZB4JTGFzdEluZGV4AkVkCBQrAA IFAzA6MBQrAAIWBB8ABQpBbGwgRXZlbnRzHghFeHBhbmRlZGcUKwACBQMwOjAUKwACFgYfA AUqQm9pbGVybWFrZXIgUmVnaW9uYWwgICBEdWUgRGF0ZSAgMy8xNS8yMDEwHghJbWFnZVVy
bAUZfi9pbWFnZXMvaWNvbl9mcmllbmRzLmdpZh8FZxQrAAUFDzA6MCwwOjEsMDoyLDA6MxQ rAAIWCB8ABRxKaW1teSBOaWNob2xzICAgMCAlIGNvbXBsZXRlHgdUb29sVGlwBQw1MTMtNT kzLTEyMjkeC05hdmlnYXRlVXJsBR1tYWlsdG86amltbXluaWNob2xzQHlhaG9vLmNvbR8FZ xQrABAFQDA6MCwwOjEsMDoyLDA6MywwOjQsMDo1LDA6NiwwOjcsMDo4LDA6OSwwOjEwLDA6 MTEsMDoxMiwwOjEzLDA6MTQUKwACFgYfAAUwNDUgIC0gIGh0dHA6Ly93d3cudGVjaG5va2F 0cy5vcmcvICAgMCAlIGNvbXBsZXRlHgVWYWx1ZQUaaHR0cDovL3d3dy50ZWNobm9rYXRzLm 9yZy8fBWdkFCsAAhYGHwAFMjIzNCAgLSAgaHR0cDovL3d3dy5jeWJlcmJsdWUyMzQuY29tI CAgMCAlIGNvbXBsZXRlHwkFG2h0dHA6Ly93d3cuY3liZXJibHVlMjM0LmNvbR8FZ2QUKwAC FgYfAAVFMjkyICAtICBodHRwOi8vcGFudGhlcnRlY2gud2VzdGVybi5rMTIuaW4udXMvaW5 kZXguaHRtICAgMCAlIGNvbXBsZXRlHwkFLmh0dHA6Ly9wYW50aGVydGVjaC53ZXN0ZXJuLm sxMi5pbi51cy9pbmRleC5odG0fBWdkFCsAAhYGHwAFNDQ2MSAgLSAgaHR0cDovL3d3dy5ib 2lsZXJpbnZhc2lvbi5vcmcgICAwICUgY29tcGxldGUfCQUdaHR0cDovL3d3dy5ib2lsZXJp bnZhc2lvbi5vcmcfBWdkFCsAAhYGHwAFNzEwMjQgIC0gIGh0dHA6Ly93d3cubWNrZW56aWV yb2JvdGljcy5vcmcgICAwICUgY29tcGxldGUfCQUfaHR0cDovL3d3dy5tY2tlbnppZXJvYm 90aWNzLm9yZx8FZ2QUKwACFgYfAAU6MTUwMSAgLSAgaHR0cDovLzIwMTAuaHVudGluZ3Rvb nJvYm90aWNzLm9yZyAgIDAgJSBjb21wbGV0ZR8JBSJodHRwOi8vMjAxMC5odW50aW5ndG9u cm9ib3RpY3Mub3JnHwVnZBQrAAIWBh8ABTExNTU1ICAtICBodHRwOi8vdGVhbTE1NTVwdWx zZS5vcmcvICAgMCAlIGNvbXBsZXRlHwkFGWh0dHA6Ly90ZWFtMTU1NXB1bHNlLm9yZy8fBW dkFCsAAhYGHwAFOjE2NDYgIC0gIEh0dHA6Ly93d3cucHJlY2lzaW9uZ3Vlc3N3b
Image from stock.xchng “the network is the computer” –John
Gage
Common Language Runtime (.NET CLR) ASP.NET Runtime (Sessions, Cookies,
Caching, Routing) Web Forms MVC Dynamic Data
Image from stock.xchng New kid at Microsoft
Open source Image from Flickr
Image from stock.xchng Upholstering a chair
None
Request Match route Pre-‐action filters Action
on controller Kung-‐fu Build model Return view Post-‐action filters
Request Match route Pre-‐action filters Action
on controller Kung-‐fu Build model Return view Post-‐action filters
Request Match route Pre-‐action filters Action
on controller Kung-‐fu Build model Return view Post-‐action filters
Image from stock.xchng Routing is easy
/User /Edit /5 Controller Action
ID Home Index http://example.edu/User/Edit/5 optional
Request Match route Pre-‐action filters Action
on controller Kung-‐fu Build model Return view Post-‐action filters
Action Logging Caching Security
Request Match route Pre-‐action filters Action
on controller Kung-‐fu Build model Return view Post-‐action filters
Home Index Account Login Logout
Widget Index Create Edit
Request Match route Pre-‐action filters Action
on controller Kung-‐fu Build model Return view Post-‐action filters
Kung-‐fu Image from Flickr
Request Match route Pre-‐action filters Action
on controller Kung-‐fu Build model Return view Post-‐action filters
Domain Model Evaluated Logic View
Model
Request Match route Pre-‐action filters Action
on controller Kung-‐fu Build model Return view Post-‐action filters
Image from stock.xchng A window into your model
Request Match route Pre-‐action filters Action
on controller Kung-‐fu Build model Return view Post-‐action filters
None
Image from stock.xchng MVC is here to help
{ “Framework”: “ASP.NET MVC”,
“Awesome”: true, “BestFriends”: [ “JSON”, “jQuery” ] }
Image from stock.xchng Test early, test often
Is WebForms is dead?
Is WebForms is dead? Nope.
¡ Nerd Dinner -‐ http://nerddinner.com/ ¡ StackOverflow -‐ http://stackoverflow.com/
¡ Phil Haack -‐ http://haacked.com/ ¡ Scott Guthrie -‐ http://weblogs.asp.net/scottgu/ ¡ ASP.NET Website -‐ http://asp.net/mvc/ ¡ Professional ASP.NET MVC 1.0 from Wrox Resources
Questions