Your SlideShare is downloading. ×
0
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, Spain

1,700

Published on

We rails people tend to think of Rails as the center-piece of web development. The same thing can be said of .net, Spring/Java Server Faces, Drupal, Python or name-your-web-framework-of-choice-here …

We rails people tend to think of Rails as the center-piece of web development. The same thing can be said of .net, Spring/Java Server Faces, Drupal, Python or name-your-web-framework-of-choice-here people.

Web frameworks are just a component of web applications, and if you want to succeed you better know the miriads of other components beyond your rockstar code.

In my session I will talk about things you must take into account and tools/techniques you should master if you want to make a difference in web development, independently of your development language/framework.

Talk delivered at conferencia rails 2010 in Madrid, Spain.

Published in: Technology, Design
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,700
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
21
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. RailsRails is notis not EnoughEnough by javier ramírezby javier ramírez @supercoco9@supercoco9 jramirez@aspgems.comjramirez@aspgems.com http://javier-ramirez.comhttp://javier-ramirez.com
  • 2. A monkey's viewA monkey's view of weBof weB developmentdevelopment internet web server database request response model controller view model
  • 3. StandingStanding on theon the shouldersshoulders of giantsof giants Ignoring HTTP, HTML, JavaScript or CSS is not an optionIgnoring HTTP, HTML, JavaScript or CSS is not an option Code like a pro. Validate!Code like a pro. Validate! Protect yourself, use frameworksProtect yourself, use frameworks
  • 4. RunRun FORRESTFORREST RUNRUN https://code.google.com/speed/page-speedhttps://code.google.com/speed/page-speed http://developer.yahoo.com/yslow/http://developer.yahoo.com/yslow/ https://www.facebook.com/notes/facebook-engineering/bigpipe-https://www.facebook.com/notes/facebook-engineering/bigpipe- pipelining-web-pages-for-high-performance/389414033919pipelining-web-pages-for-high-performance/389414033919 http://yehudakatz.com/2010/09/07/automatic-flushing-the-rails-3-1-planhttp://yehudakatz.com/2010/09/07/automatic-flushing-the-rails-3-1-plan http://github.com/mkelly12/google_closure_compilerhttp://github.com/mkelly12/google_closure_compiler
  • 5. SizeSize Doesn'tDoesn't matter,matter, if youif you knowknow howhow
  • 6. Adding muscleAdding muscle Server Configuration management and provisioningServer Configuration management and provisioning Cloud servicesCloud services http://opscode.com/chefhttp://opscode.com/chef http://puppetlabs.comhttp://puppetlabs.com Deploy strategiesDeploy strategies http://github.com/capistranohttp://github.com/capistrano http://github.com/lg/murderhttp://github.com/lg/murder http://github.com/calavera/marabuntahttp://github.com/calavera/marabunta
  • 7. Reducing loadReducing load User external serversUser external servers Page/reverse proxy cachingPage/reverse proxy caching Key/value middlemenKey/value middlemen Distribute (queue, map reduce...)Distribute (queue, map reduce...) Set limitsSet limits Display less contentDisplay less content Degrade gracefullyDegrade gracefully http://www.railsinside.com/case-studies/421-http://www.railsinside.com/case-studies/421- kgb-scaling-superbowl-traffic-case-study.htmlkgb-scaling-superbowl-traffic-case-study.html
  • 8. PaulPaul the octopusthe octopus
  • 9. Look for traffic patterns (peak hours and “valleys”)Look for traffic patterns (peak hours and “valleys”) Test your siteTest your site ApachebenchApachebench httperfhttperf JmeterJmeter Do the mathsDo the maths (req/s)*60*60(req/s)*60*60 (req/s)*60*60*100/(busiest % hour)(req/s)*60*60*100/(busiest % hour) Our numbers:Our numbers: 7%7% 11 million pageviews/month11 million pageviews/month 8 boxes8 boxes ~37 million pageviews limit~37 million pageviews limit
  • 10. Plan ForPlan For FailureFailure
  • 11. My other car is a porscheMy other car is a porsche
  • 12. SharpeningSharpening youryour axeaxe
  • 13. general programming Conceptsgeneral programming Concepts RubyRuby Data StorageData Storage Algorithms (sorting, map/reduce, sawzall...)Algorithms (sorting, map/reduce, sawzall...) ACIDACID SOLIDSOLID
  • 14. How muchHow much did yourdid your businessbusiness Yesterday?Yesterday?
  • 15. http://google.com/analyticshttp://google.com/analytics http://web.analytics.yahoo.comhttp://web.analytics.yahoo.com http://omniture.comhttp://omniture.com http://coremetrics.comhttp://coremetrics.com http://webtrends.comhttp://webtrends.com http://piwik.orghttp://piwik.org How many visitors I get?How many visitors I get? How many pages they see?How many pages they see? Why are they getting here?Why are they getting here? What's the entry/exit point?What's the entry/exit point? Where are they going?Where are they going? Which pages are engaging?Which pages are engaging? Is my workflow too complex?Is my workflow too complex? Am I doing better than before?Am I doing better than before? How much did my business today?How much did my business today? http://clicktale.comhttp://clicktale.com http://percentmobile.comhttp://percentmobile.com http://feedburner.comhttp://feedburner.com
  • 16. Do you knowDo you know who enterswho enters your shop?your shop? https://www.google.com/adplannerhttps://www.google.com/adplanner
  • 17. How can I help you?How can I help you? Are you happy with me?Are you happy with me? What do you like about me?What do you like about me? Am I missing the point?Am I missing the point? https://www.kissinsights.comhttps://www.kissinsights.com http://www.4qsurvey.comhttp://www.4qsurvey.com http://getsatisfaction.comhttp://getsatisfaction.com http://uservoice.comhttp://uservoice.com How popular/unpopular am I?How popular/unpopular am I? http://blogpulse.comhttp://blogpulse.com http://icerocket.comhttp://icerocket.com http://thinkupapp.comhttp://thinkupapp.com https://analytics.postrank.comhttps://analytics.postrank.com http://www.google.com/alertshttp://www.google.com/alerts
  • 18. Mirror mirrorMirror mirror on the wallon the wall Who in theWho in the land island is fairestfairest of all?of all? http://compete.comhttp://compete.com http://google.com/trendshttp://google.com/trends
  • 19. If you build it, they will comeIf you build it, they will come
  • 20. Mr. ObviousMr. Obvious SEMSEM PRPR TwitterTwitter => 126=> 126 Facebook => 130Facebook => 130 Buttons/bannersButtons/banners Share profitsShare profits
  • 21. quack like a duckquack like a duck what's the message I'm sending? => webmaster toolswhat's the message I'm sending? => webmaster tools Internal/external searches => webmaster tools & analyticsInternal/external searches => webmaster tools & analytics Google adwords keyword toolGoogle adwords keyword tool http://google.com/insights/searchhttp://google.com/insights/search http://youtube.comhttp://youtube.com http://delicious.comhttp://delicious.com
  • 22. TheThe ScientificScientific methodmethod A/B TestingA/B Testing https://optimizely.appspot.comhttps://optimizely.appspot.com http://google.com/websiteoptimizerhttp://google.com/websiteoptimizer A/B Testing for AdsA/B Testing for Ads Adwords campaign experimentsAdwords campaign experiments
  • 23. UxymoronUxymoron Non-standard interfaces, usually hard to build,Non-standard interfaces, usually hard to build, making the users more likely to make mistakes andmaking the users more likely to make mistakes and find the design much more difficult to usefind the design much more difficult to use Also said of the moron whoAlso said of the moron who thought it was such a greatthought it was such a great idea to implement thatidea to implement that interfaceinterface
  • 24. Jakob's Law of the InternetJakob's Law of the Internet User ExperienceUser Experience Users spend most ofUsers spend most of their time on other sites.their time on other sites. This means that usersThis means that users prefer your site to workprefer your site to work the same way as all thethe same way as all the other sites they alreadyother sites they already know alikeknow alike http://www.useit.com/alertbox/20000723.htmlhttp://www.useit.com/alertbox/20000723.html
  • 25. RTFCRTFC GoogleGoogle MicrosoftMicrosoft YahooYahoo TwitterTwitter FacebookFacebook LinkedInLinkedIn XingXing Github...Github... Read The F***king CodeRead The F***king Code
  • 26. AllAll togethertogether now!now! Standards are coolStandards are cool Remember the client-sideRemember the client-side Think big, keep smallThink big, keep small EstimateEstimate Have a B planHave a B plan Analyse & MeasureAnalyse & Measure Have a conversationHave a conversation Shout your nameShout your name Make an educated guessMake an educated guess Be easy to useBe easy to use Keep learningKeep learning
  • 27. javier ramírezjavier ramírez @supercoco9@supercoco9 jramirez@aspgems.comjramirez@aspgems.com http://javier-ramirez.comhttp://javier-ramirez.com All the images were found viaAll the images were found via http://ffffound.comhttp://ffffound.com . Many thanks to their authors. Many thanks to their authors

×