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
Failure Teaches Success
Search
Hiromu Shioya
July 17, 2014
Technology
0
4.1k
Failure Teaches Success
2014-07-17 System Lightning Talks Bar Vol.2
"Failure Teaches Success" by kwappa
Hiromu Shioya
July 17, 2014
Tweet
Share
More Decks by Hiromu Shioya
See All by Hiromu Shioya
My Generation 年配者がこの先生きのこるには (Developers CAREER Boost 2024 Edition)/My Generation How elder engineers can survive
kwappa
3
410
三大あいまい能力/Three ambiguous abilities
kwappa
1
130
My Generation 年配者がこの先生きのこるには/My Generation How elder engineers can survive
kwappa
3
5.7k
勝ちに不思議の勝ちあり、負けに不思議の負けあり/There is a mystery to win, but there is no mystery to lose
kwappa
0
210
伸び代だらけのチームに 伸びてもらうための施策100連発/100 measures to grow up a team with a lot of growth potential
kwappa
1
140
HIGH OUTPUT Infrastructure Engineering
kwappa
1
6
礼節とHRTと心理的安全性/Civility, HRT and Psychological Safety
kwappa
0
710
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
2
3.3k
デスマーチから身を守るたったひとつの方法
kwappa
2
6.8k
Other Decks in Technology
See All in Technology
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
170
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
280
[Ruby] Develop a Morse Code Learning Gem & Beep from Strings
oguressive
1
150
KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する
iidaxs
1
260
DevOps視点でAWS re:invent2024の新サービス・アプデを振り返ってみた
oshanqq
0
180
非機能品質を作り込むための実践アーキテクチャ
knih
3
1.1k
私なりのAIのご紹介 [2024年版]
qt_luigi
1
120
LINEヤフーのフロントエンド組織・体制の紹介【24年12月】
lycorp_recruit_jp
0
530
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
2
330
Turing × atmaCup #18 - 1st Place Solution
hakubishin3
0
480
Wantedly での Datadog 活用事例
bgpat
1
440
LINE Developersプロダクト(LIFF/LINE Login)におけるフロントエンド開発
lycorptech_jp
PRO
0
120
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Why Our Code Smells
bkeepers
PRO
335
57k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Raft: Consensus for Rubyists
vanstee
137
6.7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
What's in a price? How to price your products and services
michaelherold
243
12k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
Transcript
Failure Teaches Success 2014-07-17! System Lightning Talks Bar Vol.2! SHIOYA,
Hiromu (@kwappa)
Hello, World!
kwappa SHIOYA Hiromu
None
http://cookpad.com
http://info.cookpad.com
http://bit.ly/cookpadjobs
Failure Teaches Success
CASE 1 1998
FLAG SHOULD NEVER COMPARE TO 1
FOR EXAMPLE
!!! BUG !!! item[42] # => 0
!!! BUG !!! item[42] # => 1
!!! BUG !!! item[42] # => 2
!!! BUG !!! item[42] # => 3
!!! BUG !!! item[42] # => 4
!!! BUG !!! item[42] # => 5
DEAD END
BETTER ONE
CASE 2 2008
BOSS SHOULD NEVER DEPLOY
NEW BOSS CAME AND TOLD US
NEW BOSS CAME AND TOLD US I USED TO CODE,
BUT I TOOK AN ARROW IN THE KNEE...
OUR SYSTEM commit checkout rsync DEVELOPER SVN STAGING DEPLOY PRODUCTION
HERE COMES THE BOSS rsync STAGING DEPLOY PRODUCTION
HERE COMES THE BOSS login rsync STAGING DEPLOY PRODUCTION
HERE COMES THE BOSS login rsync STAGING DEPLOY PRODUCTION $vi
regist.php
HERE COMES THE BOSS login rsync STAGING DEPLOY PRODUCTION $vi
regist.php $rm regist.php
HERE COMES THE BOSS login rsync STAGING DEPLOY PRODUCTION $vi
regist.php $rm regist.php $svn hogehoge
HERE COMES THE BOSS login rsync STAGING DEPLOY PRODUCTION $vi
regist.php $rm regist.php $svn hogehoge $./deploy.sh
CASE 3 2014
ERRORS SHOULD NEVER PASS SILENTLY
http://www.flickr.com/photos/chrisdonia/3460805358/
http://www.flickr.com/photos/chrisdonia/3460805358/ ʊਓਓਓਓਓਓਓਓਓਓਓਓਓਓʊ ʼ 500 ʻ ʼ INTERNAL SERVER ERROR ʻ
ʉY^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Yʉ
OAuth2::Response#parsed # => nil
https://github.com/intridea/oauth2/commit/ 56f9758d961fc317a05b2f93fd039588967a84b1
None
None
None
None
WHY DID IT WORK? multi_xml oauth2 requires
WHY DID IT WORK? multi_xml httparty oauth2 requires depends
WHY DID IT WORK? aws-sdk-ruby multi_xml httparty oauth2 requires depends
depends
WHY DID IT BRAKE?
WHY DID IT BRAKE? Gemfile
WHY DID IT BRAKE? Gemfile.lock Gemfile
https://github.com/aws/aws-sdk-ruby/commit/ c25952ed50d568172de6eb1756525a35eeb2fa77
WHY DID IT BREAK? aws-sdk-ruby multi_xml httparty oauth2 requires depends
depends
WHY DID IT BREAK? aws-sdk-ruby multi_xml httparty oauth2 requires depends
WHY DID IT BREAK? aws-sdk-ruby multi_xml oauth2 requires
WHY DID IT BREAK? aws-sdk-ruby oauth2 requires
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ʉ
CONCLUSION
FLAG SHOULD NEVER COMPARE TO 1
FLAG SHOULD NEVER COMPARE TO 1 BOSS SHOULD NEVER DEPLOY
FLAG SHOULD NEVER COMPARE TO 1 BOSS SHOULD NEVER DEPLOY
ERRORS SHOULD NEVER PASS SILENTLY
Failure Teaches Success SHARE YOUR FAILURES!!! THANK YOU FOR LISTENING