Web App Scaffolding - FOWA London 2010

Embed Size (px)

Citation preview

Slide 1

Web App ScaffoldingLess glamour, more guts

Cal HendersonFOWA London 2010

1Oct 5th, 2010Hello!

2Oct 5th, 2010Nerd

3Oct 5th, 2010Flickr

4Oct 5th, 2010

5Oct 5th, 2010

Swordfish

6Oct 5th, 2010

7Oct 5th, 2010Glamorous!

8Oct 5th, 2010Behind-the-scenes stuff

9Oct 5th, 2010

10Oct 5th, 2010Not a tutorialGoogle stuff

11Oct 5th, 2010100 Tips & Tricks

12Oct 5th, 2010Dont trust 3s, 10s, 100s

124 Tools & TipsNo padding, nothing removed

Cal HendersonFOWA London 2010

14Oct 5th, 2010By category

15Oct 5th, 2010Big 3Source controlBug trackingSingle step deploy

Source Control16Oct 5th, 2010

16

17Oct 5th, 2010

18Oct 5th, 2010Git vs SVN

19Oct 5th, 2010Git vs SVN

20Oct 5th, 2010

21Oct 5th, 2010Browsing

22Oct 5th, 2010

23Oct 5th, 2010Diffs

24Oct 5th, 2010Diffs

25Oct 5th, 2010Beyond Compare

26Oct 5th, 2010Beyond Compare

Task listsOct 5th, 201027

28Oct 5th, 2010Wiki

29Oct 5th, 2010MediaWikiPmWikiPBWikiJotSpotConfluenceGitWiki

30Oct 5th, 2010Google Docs

31Oct 5th, 2010Spreadsheets

32Oct 5th, 2010

Drawings

33Oct 5th, 2010Bug trackers

34Oct 5th, 2010Bugzilla

35Oct 5th, 2010

36Oct 5th, 2010

37Oct 5th, 2010

38Oct 5th, 2010Excel

39Oct 5th, 2010Stats & graphs

DeploymentOct 5th, 201040

41Oct 5th, 2010One button deploy

42Oct 5th, 2010Visible error messages

43Oct 5th, 2010Lint checking

44Oct 5th, 2010MinifyDojo CompressorGoogle Closure CompilerJSMinUglifyJS

45Oct 5th, 2010Minify (CSS)YUI CompressorMinify

46Oct 5th, 2010Images tooSmush.itpngcrushOptiPNGPNGOUT

47Oct 5th, 201064,541 to 24,07463% saved

48Oct 5th, 2010GZip/usr/bin/gzip -cn9 big.js > small.js.gz

49Oct 5th, 2010

Deployed revisions

50Oct 5th, 2010

Deployed diffs

51Oct 5th, 2010Baked versions

52Oct 5th, 2010Baked versions

53Oct 5th, 2010Separate config deploy

54Oct 5th, 2010Config editor

55Oct 5th, 2010

56Oct 5th, 2010The Cloud

57Oct 5th, 2010Node.js

AuthenticationOct 5th, 201058

59Oct 5th, 2010Master password

60Oct 5th, 2010SSO(Single Sign On)

61Oct 5th, 2010Role based permissions

62Oct 5th, 2010Easy to see who has access to what

63Oct 5th, 2010Easy to remove people

64Oct 5th, 2010Separate from app accounts

CommunicatingOct 5th, 201065

66Oct 5th, 2010IM

67Oct 5th, 2010Group IM

68Oct 5th, 2010IRCqwebircCGI:IRClogirc

69Oct 5th, 2010Mobile interface

70Oct 5th, 2010Push messages inirccat

71Oct 5th, 2010Pastebin

72Oct 5th, 2010

TestingOct 5th, 201073

74Oct 5th, 2010Tinderbox

75Oct 5th, 2010

76Oct 5th, 2010

77Oct 5th, 2010BuildBot

78Oct 5th, 2010Talk to me about testing?

DebuggingOct 5th, 201079

80Oct 5th, 2010Query viewer

81Oct 5th, 2010Aggregate timings

82Oct 5th, 2010

EXPLAIN

83Oct 5th, 2010

84Oct 5th, 2010Inline results

85Oct 5th, 2010Not just SELECTs!

Cache fetchesHTTP requestsEtc!

86Oct 5th, 2010MySQL Query Profiler

LoggingOct 5th, 201087

88Oct 5th, 2010Aggregation

89Oct 5th, 2010AggregationSpread

90Oct 5th, 2010AggregationScribe

91Oct 5th, 2010AggregationlogSmush

92Oct 5th, 2010On a web page

logTailerClarity

93Oct 5th, 2010IRC logs

MonitoringOct 5th, 201094

95Oct 5th, 2010Nagios

96Oct 5th, 2010Ganglia

97Oct 5th, 2010Cacti

98Oct 5th, 2010Graphite

99Oct 5th, 2010So Many Stats

100Oct 5th, 2010Memcache: 79 stats

101Oct 5th, 2010MySQL 5.0: 249 stats

102Oct 5th, 2010Custom RRDs

103Oct 5th, 2010StatsD / rollup

104Oct 5th, 2010ASCII Graphs

105Oct 5th, 2010

AnalyticsOct 5th, 2010106

107Oct 5th, 2010Dashboards

108Oct 5th, 2010Show in-depth data

109Oct 5th, 2010

Then summarize!

110Oct 5th, 2010Google charts API

111Oct 5th, 2010

update_photo()}

DatabasesOct 5th, 2010127

128Oct 5th, 2010SQL is awesome

129Oct 5th, 2010phpMyAdmin

130Oct 5th, 2010

131Oct 5th, 2010Denormalized checking tool

132Oct 5th, 2010Resumable, chunkable tools

133Oct 5th, 2010SQL origin taggingSELECT * FROM stuff -- update.php:372

134Oct 5th, 2010MySQL query profiler

135Oct 5th, 2010InnoDB statisticsSHOW ENGINE INNODB STATUS

136Oct 5th, 2010Mirror checker

137Oct 5th, 2010Federation checker

138Oct 5th, 2010Federated object distribution

Admin toolsOct 5th, 2010139

140Oct 5th, 2010Direct to database

141Oct 5th, 2010Everything is possibleSave some time

142Oct 5th, 2010User overview page

143Oct 5th, 2010Notes

144Oct 5th, 2010Log in as

145Oct 5th, 2010Search everything

146Oct 5th, 2010Public site integration

147Oct 5th, 2010Public site integration

148Oct 5th, 2010Forum -> BugForum -> CC Case

Tools for everythingOct 5th, 2010149

150Oct 5th, 2010Use robots for good

151Oct 5th, 2010

152Oct 5th, 2010

Thanks!

Photo Credits153Oct 5th, 2010flickr.com/photos/cmcphotos/126235971/flickr.com/photos/geminidustin/275375865/flickr.com/photos/henrybloomfield/3709808574/flickr.com/photos/wowcool/4180739560/flickr.com/photos/mylesdgrant/4350641052/flickr.com/photos/isolano/423026153/flickr.com/photos/difusa/131100622/flickr.com/photos/traftery/4947530411/flickr.com/photos/dragonhawk/1431251268/flickr.com/photos/snacktime2007/3898675635/flickr.com/photos/sharynmorrow/116400199/flickr.com/photos/andriuxuk/4532308416/flickr.com/photos/cadzooks/4276790975/flickr.com/photos/kteague/371391996/flickr.com/photos/eggplant/44101655/flickr.com/photos/add1sun/4808253780/flickr.com/photos/dunechaser/2429621030/flickr.com/photos/fauxaddress/2920545866/flickr.com/photos/joshb/2216861163/flickr.com/photos/emzee/278221145/flickr.com/photos/arthur-caranta/2925352521/flickr.com/photos/wiccked/45438217/flickr.com/photos/swiv/385665008/flickr.com/photos/eleanor_black/4569016334/flickr.com/photos/xamad/518876976/flickr.com/photos/eneas/175027945/flickr.com/photos/soldiersmediacenter/397708723/flickr.com/photos/anirudhkoul/3725939594/flickr.com/photos/edublogger/400743014/flickr.com/photos/kaoticsnow/4044892694/flickr.com/photos/rinux/631345826/flickr.com/photos/peteboyd/2201551442/flickr.com/photos/djbrady/1238664937/flickr.com/photos/suneko/373310729/flickr.com/photos/roshan_photos/2851367798/flickr.com/photos/jzawodn/322244236/flickr.com/photos/ttstam/2270215045/flickr.com/photos/opoterser/719296587/flickr.com/photos/gerlos/3119891607/flickr.com/photos/sashawolff/3006323150/flickr.com/photos/sshb/473904054/flickr.com/photos/lwr/5030132645/flickr.com/photos/pikaluk/16288834/flickr.com/photos/jemimus/66531124/flickr.com/photos/nh567/2774100797/flickr.com/photos/dunechaser/2816064611/flickr.com/photos/foxypar4/2104717999/flickr.com/photos/ms4denmark/142009175/flickr.com/photos/robwallace/7746460/flickr.com/photos/yakobusan/2436481628/flickr.com/photos/mexicanwave/3772804/flickr.com/photos/lightmash/3183278318/flickr.com/photos/curtisperry/58208797/flickr.com/photos/skistz/398429879/flickr.com/photos/hippie/2406411610/flickr.com/photos/daddo83/3406962115/flickr.com/photos/mogwai_83/3022261893/flickr.com/photos/donsolo/3768623542/flickr.com/photos/oberazzi/318947873/flickr.com/photos/55935853@N00/4581777183/flickr.com/photos/monkeyboy69/535904649/flickr.com/photos/juniorvelo/4490511204/

154Oct 5th, 2010