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
MedPeerの取り組みで「失敗」した話をしよう
Search
Kaoru Hotate
March 23, 2019
Technology
2
4.7k
MedPeerの取り組みで「失敗」した話をしよう
Kaoru Hotate
March 23, 2019
Tweet
Share
More Decks by Kaoru Hotate
See All by Kaoru Hotate
20240607_人を動かし続ける力_ピープルマネジメントへの内発的動機づけの工夫
hotatekaoru
1
380
20210528_MedPeer_事業成長を加速させたエンジニアリングのウラ側
hotatekaoru
0
1.3k
費用対効果の高いテストコードを書くために意識したこと.pdf
hotatekaoru
3
4.8k
新規プロジェクトのリードエンジニアになるために
hotatekaoru
6
2.6k
リファクタリングチャンスを探せ
hotatekaoru
2
450
Dependabotからの脱却
hotatekaoru
0
440
Fat Modelに対処する 6つのリファクタリングパターン
hotatekaoru
13
4.2k
MobPro2Points
hotatekaoru
0
110
ViewModelをプロダクトに導入した🤖
hotatekaoru
1
210
Other Decks in Technology
See All in Technology
ブラウザのレガシー・独自機能を愛でる-Firefoxの脆弱性4選- / Browser Crash Club #1
masatokinugawa
1
470
AIでめっちゃ便利になったけど、結局みんなで学ぶよねっていう話
kakehashi
PRO
0
130
3月のAWSアップデートを5分間でざっくりと!
kubomasataka
0
120
Writing Ruby Scripts with TypeProf
mame
0
140
AWSで作るセキュアな認証基盤with OAuth mTLS / Secure Authentication Infrastructure with OAuth mTLS on AWS
kaminashi
0
160
YOLOv10~v12
tenten0727
4
950
LLM as プロダクト開発のパワードスーツ
layerx
PRO
1
240
SDカードフォレンジック
su3158
1
610
サーバレス、コンテナ、データベース特化型機能をご紹介。CloudWatch をもっと使いこなそう!
o11yfes2023
0
170
Would you THINK such a demonstration interesting ?
shumpei3
1
220
AWSの新機能検証をやる時こそ、Amazon Qでプロンプトエンジニアリングを駆使しよう
duelist2020jp
1
220
MCPを活用した検索システムの作り方/How to implement search systems with MCP #catalks
quiver
12
6.6k
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
The Cult of Friendly URLs
andyhume
78
6.3k
Thoughts on Productivity
jonyablonski
69
4.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Docker and Python
trallard
44
3.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Building Flexible Design Systems
yeseniaperezcruz
329
38k
Site-Speed That Sticks
csswizardry
5
490
Transcript
MedPeer ͷऔΓΈͰ ʮࣦഊʯͨ͠Λ͠Α͏ อཱ֜ @purunkaoru
発表の⽬的 Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 2 .FE1FFS
ͷऔΓΈͰ ʮࣦഊʯͨ͠Λ͠Α͏ 失敗事例を集合知にして、 同じような失敗が起きないようにしたい 他社の失敗の話とか、 その改善の話って⾯⽩いですよね
失敗事例 Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 3 1.
整地部 2. Rails のバージョンアップ 3. 懸垂棒の導⼊
1. 整地部 Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 4
今まで溜まった技術的負債を脱却して⾏く会 Classiの佐々⽊ 達也さん(@sasata299)の発表を⾒て輸 ⼊しました https://speakerdeck.com/sasata299/20180912-xiao-sanacheng-gong-ti-yan-woji- mizhong-netetimutefu-zhai-nili-tixiang-kau-medbeer 隔週で2時間、有志のメンバーが モブプロ形式で解消していく 負債の脱却だけでなく、メンバーの成⻑に⾮常に役⽴つ
1. 整地部 Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 5
1. 整地部 Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 6
1. 整地部 Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 7
「Base Notificator事件」 通知周りを管理するNotificatorクラス 徐々にサービスが⼤きくなるにつれて負債となる 修正する範囲が膨⼤。 現状の仕様を理解するまでで時間がかかる。 1回の整地部活動では終わらず 次の整地部まで時間が空くので、 どこから⼿をつければいいか忘れてしまう。 振り返りにも時間がかかる 結局、計4回の整地部を費やして、⼀部分の整地が完了
1. 整地部 Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 8
1回の活動でPRが出せる単位にしよう。 PRが出せない場合も、次に何やるかメモしておこう 整地する前に、「⼗分な」テストコードが 書けているか確認しよう 整地した箇所の動作確認に対して、 誰がボールを持つのかを、しっかり決めよう
2. Railsのバージョンアップ Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 9
1ヶ⽉に1回、bundle updateする。 当番制で、毎回3名くらいでbundle updateの差分⾒る。 MedPeer のRailsアプリは、 全て5.2系になってます ( -`ω-)どや! ライブラリのアップデートの仕組み化については 別で発表してます 「メドピアにおけるライブラリアップデート」 https://speakerdeck.com/pipopotamasu/metohianiokeruraihurariatuhuteto-medbeer- 20180912
2. Railsのバージョンアップ Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 10
Rails5.1系からRails5.2系へのバージョンアップの際に、 スマホアプリで、ログイン・ログアウト含め、 何も出来なくなる事象発⽣。 Rails5.1.6と5.2.0で暗号化・復号のロジックに修正が ⼊っており、互換性を失ってた。 トークンの復号結果が、バージョンアップ前後で異なり、 アプリから渡されるトークンの復号ができない。
2. Railsのバージョンアップ Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 11
Railsバージョンアップの際は、 専⽤の検証環境を⽤意しよう エンジニアが検証環境を簡単に構築できる仕組みを作成 特定の⽂字列から始まるブランチにプッシュすると、 ⾃動で検証環境を⽤意してくれるようになった 「Rails × ECS でオートスケーリング&検証環境の⾃動構築」 https://tech.medpeer.co.jp/entry/2018/06/20/080000
2. Railsのバージョンアップ Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 12
他にもRailsのコード周りでたくさん反省点ありました MedPeer 開発者ブログに書いているので、興味がある⽅ はご覧ください。 例)gemのversionが固定されているが、理由を誰も覚え てない。 「MedPeerをrails 5.2へアップデートしてました!」 https://tech.medpeer.co.jp/entry/2019/01/31/191145
3. 懸垂棒の導⼊ Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 13
Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 14 懸垂ができる⼈は、限られた⼈間 僕らは知らない間に、多量の筋⾁を失い
有り余る脂肪を⾝につけていた 懸垂できないと、ただただ恥ずかしい 3. 懸垂棒の導⼊
Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 15 3. 懸垂棒の導⼊
Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 16 3. 懸垂棒の導⼊
Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 17 3. 懸垂棒の導⼊
まとめ Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 18 筋⾁は裏切らない!
新しい取り組みをしたら、 いくつかの失敗は付きもの 失敗をチームで克服できるか それを仕組み化できるかが⼤事 ⾃慢の取り組み、教えてください! We are hiring !!! 筋⾁は裏切らない!