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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kaoru Hotate
March 23, 2019
Technology
2
4.8k
MedPeerの取り組みで「失敗」した話をしよう
Kaoru Hotate
March 23, 2019
Tweet
Share
More Decks by Kaoru Hotate
See All by Kaoru Hotate
20240607_人を動かし続ける力_ピープルマネジメントへの内発的動機づけの工夫
hotatekaoru
2
420
20210528_MedPeer_事業成長を加速させたエンジニアリングのウラ側
hotatekaoru
0
1.3k
費用対効果の高いテストコードを書くために意識したこと.pdf
hotatekaoru
3
5k
新規プロジェクトのリードエンジニアになるために
hotatekaoru
6
2.7k
リファクタリングチャンスを探せ
hotatekaoru
2
510
Dependabotからの脱却
hotatekaoru
0
490
Fat Modelに対処する 6つのリファクタリングパターン
hotatekaoru
13
4.6k
MobPro2Points
hotatekaoru
0
120
ViewModelをプロダクトに導入した🤖
hotatekaoru
1
220
Other Decks in Technology
See All in Technology
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
Exadata Fleet Update
oracle4engineer
PRO
0
1.1k
20260204_Midosuji_Tech
takuyay0ne
1
160
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
330
猫でもわかるKiro CLI(セキュリティ編)
kentapapa
0
110
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.6k
登壇駆動学習のすすめ — CfPのネタの見つけ方と書くときに意識していること
bicstone
3
130
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
220
AWS Network Firewall Proxyを触ってみた
nagisa53
1
240
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
160
AI駆動開発を事業のコアに置く
tasukuonizawa
1
390
Cloud Runでコロプラが挑む 生成AI×ゲーム『神魔狩りのツクヨミ』の裏側
colopl
0
140
Featured
See All Featured
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
110
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Abbi's Birthday
coloredviolet
1
4.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Are puppies a ranking factor?
jonoalderson
1
2.7k
How STYLIGHT went responsive
nonsquared
100
6k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
120
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Rails Girls Zürich Keynote
gr2m
96
14k
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 !!! 筋⾁は裏切らない!