Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Faster! Faster! Accelerate your business with blazing prototypes

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Prochain SlideShare
Progressing and enhancing
Progressing and enhancing
Chargement dans…3
×

Consultez-les par la suite

1 sur 56 Publicité

Faster! Faster! Accelerate your business with blazing prototypes

Télécharger pour lire hors ligne

Bring your ideas to life! Convince your boss to that open source development is faster and cheaper than the "safe" COTS solution they probably hate anyway. Let's investigate ways to get real-life, functional prototypes up with blazing speed. We'll look at and compare tools for truly rapid development including Python, Django, Flask, PHP, Amazon EC2 and Heroku.

Bring your ideas to life! Convince your boss to that open source development is faster and cheaper than the "safe" COTS solution they probably hate anyway. Let's investigate ways to get real-life, functional prototypes up with blazing speed. We'll look at and compare tools for truly rapid development including Python, Django, Flask, PHP, Amazon EC2 and Heroku.

Publicité
Publicité

Plus De Contenu Connexe

Similaire à Faster! Faster! Accelerate your business with blazing prototypes (20)

Publicité

Plus par OSCON Byrum (20)

Plus récents (20)

Publicité

Faster! Faster! Accelerate your business with blazing prototypes

  1. Faster! Faster! Accelerating your business with blazing prototypes Drew Engelson @handofdoom
  2. Why am I here?
  3. I’m Drew Engelson  I work for Celerity - “The business acceleration consultancy” - We help get companies “unstuck”  I help organizations decide what tech to buy or build - National Geographic Society - PBS - American Diabetes Association  Then we make it happen
  4. First… a disclaimer  I’m a Pythonista  I’m a Djangonaut  Blame OSCON 2006
  5. Hence, my huge man-crush on JKM Photo: Jason Samsa @ Flickr
  6. Cultures of stagnation
  7. Risk aversion
  8. Always choosing path well traveled
  9. "Innovation is R&D’s job” a.k.a. Not your job
  10. Dwelling on past investments
  11. Over-management and review of new ideas
  12. “We have too much real work to do.”
  13. Cultures of Innovation Props to Josh Linkner
  14. Fuel passion
  15. Celebrate ideas
  16. Foster autonomy
  17. Encourage courage
  18. Fail forward
  19. Think small
  20. Institutionalize this stuff
  21. COTS vs. Open Source
  22. “COTS is the safer choice” No one ever got fired for choosing ___________.
  23. “COTS does it out of the box” That’s horse crap!
  24. Photo: Daleeast @ Flickr
  25. Photo: Kethera @ Flickr
  26. Rapid Prototypes
  27. “If only I could show you!”
  28. Developers [sometimes] have good ideas Give ‘em a chance!
  29. Reduce the potential cost of failure; Timebox the experiment “OK, you get 2 days”
  30. The Framework Showdown
  31. The challenge  Build a simple, fully functional prototype - A basic web service for image transformation  Requirements - Pass in a source image url, desired height and width - Pull down the image to server - Resize the image on the server - Return derivative image
  32. The challenge ur l = ht t p: / / f ar m s t at i c f l i c kr . c om 7138/ 7576110858_d66eec 09f 5_z . j pg 8. / w dt h = 200 i hei ght = 200 Photo: Tomcrenshaw @ Flickr
  33. I’m talking REAL functional code; minimize throw away work Evolve to production
  34. Surveyed a few frameworks  PHP - Zend - CodeIgniter  Python - Django - Flask - Bottle  I know, there are many other choices… Which is your favorite?
  35. Compared on  Learning curve  Ease of bootstrapping dev environment  Ease of development - # of files created or touched - # of lines written or modified - Complexity of code  Speed of deployment - Need to share with others, right?  Note: This is a very non-scientific study
  36. The non-scientific results
  37. $ pip install Flask requests PIL Then write ~19 lines of Python
  38. i mp o r t c S t r i n g I O i mp o r t r e q u e s t s f r o m PI L i mp o r t I mag e f r o m f l as k i mp o r t F l as k , r e q u e s t , s e n d _ f i l e ap p = F l as k ( _ _ n ame _ _ ) @ap p . r o u t e ( ' / ' , me t h o d s = [ ' GET' , ] ) d ef res i z e( ) : u r l = r e q u e s t . val u e s [ ' u r l ' ] r e q = r e q u e s t s . ge t ( u r l ) r e s o u r c e = c S t r i n g I O. S t r i n g I O( r e q . c o n t e n t ) i mag e = I mag e . o p e n ( r e s o u r c e ) i mag e = i mag e . r e s i z e ( ( i n t ( r e q u e s t . val u e s [ ' w' ] ) , i n t ( r e q u e s t . val u e s [ ' h ' ] ) ) , I mag e . ANTI AL I AS ) r e s o u r c e = c S t r i n g I O. S t r i n g I O( ) i mag e . s ave ( r e s o u r c e , ' JPEG' ) r e s o u r c e . s e e k ( 0) r e t u r n s e n d _ f i l e ( r e s o u r c e , mi me t yp e = ' i mag e / j p e g ' ) i f _ _ n ame _ _ = = ' _ _ mai n _ _ ' : ap p . r u n ( d e b u g = Tr u e )
  39. Quick and easy local server Django: manage.py runserver Flask: app.run()
  40. Get boilerplate out of the way!
  41. Don’t trust anything that has built-in smilies  Sorry, CodeIgniter
  42. How do I share it?
  43. $ git push heroku master Really... does anything else matter?
  44. What does this all mean?
  45. Use what you know! Learning curve is biggest time suck.
  46. Keep it real Don’t assume failure… this may have legs.
  47. Don’t be afraid of… Failure; the unknown; the undead
  48. Give ‘em a little rope… But don’t hang ‘em with it
  49. Hold a few “hack days”
  50. Spread knowledge; Hold sessions to share ideas I call these “mind melds”
  51. Increased pace of innovation leads to…
  52. Happier developers leads to…
  53. Greater productivity leads to…
  54. GOTO 50
  55. Resources  http://flask.pocoo.org/  https://www.djangoproject.com/  http://codeigniter.com/  http://bottlepy.org/  http://framework.zend.com/  Josh Linkner - http://www.inc.com/articles/201106/josh-linkner-7-steps-to-a-culture-of-innovation.html  I know, there are many other choices… What’s your favorite?
  56. Thanks for coming! Drew Engelson - @handofdoom dengelson@celerity.com http://www.celerity.com/

Notes de l'éditeur

  • Very wide list of technologies Personally ASP, .NET, ColdFusion, PHP, Perl, Python
  • Also “What’s new in Perl 6”
  • Fear of failure… but is failure necessarily a bad thing?
  • Those 80’s clothes in my closet!
  • Reward ideas
  • Trust
  • Recent discussion with a big COTS CMS platform… No customization required! What? It’s all configuration.
  • Evolve to production

×