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
4k
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
礼節とHRTと心理的安全性/Civility, HRT and Psychological Safety
kwappa
0
610
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
1
3.1k
デスマーチから身を守るたったひとつの方法
kwappa
2
6.5k
メタエンジニアリングという選択肢/The choice named meta-engineering
kwappa
1
1.8k
レビューのつらさを倒したい/To Defeat the Pain of Reviewing
kwappa
3
4.8k
リモートワーク時代のコミュニケーションデザイン : コーチングに学ぶ1on1の基礎/Learn Basics of 1on1 from Coaching
kwappa
1
1.8k
The Show Must Go On 終わりのない道のなかばでふりかえる俺とDevLOVE / The Show Must Go On Looking back of me and DevLOVE in the middle of the endless road
kwappa
0
540
プロフェッショナルなエンジニアのためのコミュ力概論/Overview of communication skills for professional engineers
kwappa
2
3.1k
登壇は最強の生存戦略である / Speaking in conferences is the best survival strategy
kwappa
0
4k
Other Decks in Technology
See All in Technology
Luupの開発組織におけるインシデントマネジメントの変遷 ver.RoadtoSRENEXT2024
grimoh
1
270
累計ダウンロード数1億8000万を超えるアプリケーションプラットフォームのレガシーシステム脱却とモダン化への道
kmitsuhashi
0
120
[2024最新版]AWS Control Towerを使ったセキュアなマルチアカウント環境の作り方
hiashisan
0
270
What is DRE? - Road to SRE NEXT@広島
chanyou0311
3
620
AWS IAMのアンチパターン/AWSが考える最低権限実現へのアプローチ概略(JAWS-UG朝会#59資料改修20分版)
htan
0
330
Flutter研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
LINE WORKSへ簡単通知!Incoming Webhookアプリの紹介
mmclsntr
0
110
Datadog Cloud SIEMを使ってAWS環境の脅威を可視化した話/lifeistech-datadog-cloud-siem
gidajun
0
480
技術負債による事業の失敗はなぜ起こるのか / Why do business failures due to technical debt occur?
i35_267
0
190
シフトレフトで挑む セキュリティの生産性向上
sekido
PRO
0
270
Matterport を使ってクラスメソッド各拠点のバーチャルオフィスツアーを作成してみた
wakatsuki
0
160
E2Eテスト自動化プラットフォームにおけるAIの活用
shift_evolve
0
180
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
239
11k
Clear Off the Table
cherdarchuk
89
320k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
26
1.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
224
21k
Learning to Love Humans: Emotional Interface Design
aarron
269
39k
The Language of Interfaces
destraynor
151
23k
KATA
mclloyd
20
13k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
353
29k
Git: the NoSQL Database
bkeepers
PRO
423
64k
GitHub's CSS Performance
jonrohan
1026
450k
The Straight Up "How To Draw Better" Workshop
denniskardys
229
130k
Practical Orchestrator
shlominoach
185
10k
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