Failure Teaches Success

Failure Teaches Success

2014-07-17 System Lightning Talks Bar Vol.2
"Failure Teaches Success" by kwappa

8fea11f3454c94cb5a5599ff03021471?s=128

SHIOYA, Hiromu

July 17, 2014
Tweet

Transcript

  1. Failure Teaches Success 2014-07-17! System Lightning Talks Bar Vol.2! SHIOYA,

    Hiromu (@kwappa)
  2. Hello, World!

  3. kwappa SHIOYA Hiromu

  4. None
  5. http://cookpad.com

  6. http://info.cookpad.com

  7. http://bit.ly/cookpadjobs

  8. Failure Teaches Success

  9. CASE 1 1998

  10. FLAG SHOULD NEVER COMPARE TO 1

  11. FOR EXAMPLE

  12. !!! BUG !!! item[42] # => 0

  13. !!! BUG !!! item[42] # => 1

  14. !!! BUG !!! item[42] # => 2

  15. !!! BUG !!! item[42] # => 3

  16. !!! BUG !!! item[42] # => 4

  17. !!! BUG !!! item[42] # => 5

  18. DEAD END

  19. BETTER ONE

  20. CASE 2 2008

  21. BOSS SHOULD NEVER DEPLOY

  22. NEW BOSS CAME AND TOLD US

  23. NEW BOSS CAME AND TOLD US I USED TO CODE,

    BUT I TOOK AN ARROW IN THE KNEE...
  24. OUR SYSTEM commit checkout rsync DEVELOPER SVN STAGING DEPLOY PRODUCTION

  25. HERE COMES THE BOSS rsync STAGING DEPLOY PRODUCTION

  26. HERE COMES THE BOSS login rsync STAGING DEPLOY PRODUCTION

  27. HERE COMES THE BOSS login rsync STAGING DEPLOY PRODUCTION $vi

    regist.php
  28. HERE COMES THE BOSS login rsync STAGING DEPLOY PRODUCTION $vi

    regist.php $rm regist.php
  29. HERE COMES THE BOSS login rsync STAGING DEPLOY PRODUCTION $vi

    regist.php $rm regist.php $svn hogehoge
  30. HERE COMES THE BOSS login rsync STAGING DEPLOY PRODUCTION $vi

    regist.php $rm regist.php $svn hogehoge $./deploy.sh
  31. CASE 3 2014

  32. ERRORS SHOULD NEVER PASS SILENTLY

  33. http://www.flickr.com/photos/chrisdonia/3460805358/

  34. http://www.flickr.com/photos/chrisdonia/3460805358/ ʊਓਓਓਓਓਓਓਓਓਓਓਓਓਓʊ ʼ 500 ʻ ʼ INTERNAL SERVER ERROR ʻ

    ʉY^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Yʉ
  35. OAuth2::Response#parsed # => nil

  36. https://github.com/intridea/oauth2/commit/ 56f9758d961fc317a05b2f93fd039588967a84b1

  37. None
  38. None
  39. None
  40. None
  41. WHY DID IT WORK? multi_xml oauth2 requires

  42. WHY DID IT WORK? multi_xml httparty oauth2 requires depends

  43. WHY DID IT WORK? aws-sdk-ruby multi_xml httparty oauth2 requires depends

    depends
  44. WHY DID IT BRAKE?

  45. WHY DID IT BRAKE? Gemfile

  46. WHY DID IT BRAKE? Gemfile.lock Gemfile

  47. https://github.com/aws/aws-sdk-ruby/commit/ c25952ed50d568172de6eb1756525a35eeb2fa77

  48. WHY DID IT BREAK? aws-sdk-ruby multi_xml httparty oauth2 requires depends

    depends
  49. WHY DID IT BREAK? aws-sdk-ruby multi_xml httparty oauth2 requires depends

  50. WHY DID IT BREAK? aws-sdk-ruby multi_xml oauth2 requires

  51. WHY DID IT BREAK? aws-sdk-ruby oauth2 requires

  52. WHY DID IT BREAK? aws-sdk-ruby oauth2 requires ʊਓਓਓਓਓਓਓਓਓਓਓਓਓਓʊ ʼ 500

    ʻ ʼ INTERNAL SERVER ERROR ʻ ʉY^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Yʉ
  53. CONCLUSION

  54. FLAG SHOULD NEVER COMPARE TO 1

  55. FLAG SHOULD NEVER COMPARE TO 1 BOSS SHOULD NEVER DEPLOY

  56. FLAG SHOULD NEVER COMPARE TO 1 BOSS SHOULD NEVER DEPLOY

    ERRORS SHOULD NEVER PASS SILENTLY
  57. Failure Teaches Success SHARE YOUR FAILURES!!! THANK YOU FOR LISTENING