Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MedPeerの取り組みで「失敗」した話をしよう

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

 MedPeerの取り組みで「失敗」した話をしよう

Avatar for Kaoru Hotate

Kaoru Hotate

March 23, 2019
Tweet

More Decks by Kaoru Hotate

Other Decks in Technology

Transcript

  1. 発表の⽬的 Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 2 .FE1FFS

    ͷऔΓ૊ΈͰ ʮࣦഊʯͨ͠࿩Λ͠Α͏ 失敗事例を集合知にして、 同じような失敗が起きないようにしたい 他社の失敗の話とか、 その改善の話って⾯⽩いですよね
  2. 失敗事例 Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 3 1.

    整地部 2. Rails のバージョンアップ 3. 懸垂棒の導⼊
  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時間、有志のメンバーが モブプロ形式で解消していく 負債の脱却だけでなく、メンバーの成⻑に⾮常に役⽴つ
  4. 1. 整地部 Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 7

    「Base Notificator事件」 通知周りを管理するNotificatorクラス 徐々にサービスが⼤きくなるにつれて負債となる 修正する範囲が膨⼤。 現状の仕様を理解するまでで時間がかかる。 1回の整地部活動では終わらず 次の整地部まで時間が空くので、 どこから⼿をつければいいか忘れてしまう。 振り返りにも時間がかかる 結局、計4回の整地部を費やして、⼀部分の整地が完了
  5. 1. 整地部 Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 8

    1回の活動でPRが出せる単位にしよう。 PRが出せない場合も、次に何やるかメモしておこう 整地する前に、「⼗分な」テストコードが 書けているか確認しよう 整地した箇所の動作確認に対して、 誰がボールを持つのかを、しっかり決めよう
  6. 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
  7. 2. Railsのバージョンアップ Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 10

    Rails5.1系からRails5.2系へのバージョンアップの際に、 スマホアプリで、ログイン・ログアウト含め、 何も出来なくなる事象発⽣。 Rails5.1.6と5.2.0で暗号化・復号のロジックに修正が ⼊っており、互換性を失ってた。 トークンの復号結果が、バージョンアップ前後で異なり、 アプリから渡されるトークンの復号ができない。
  8. 2. Railsのバージョンアップ Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 11

    Railsバージョンアップの際は、 専⽤の検証環境を⽤意しよう エンジニアが検証環境を簡単に構築できる仕組みを作成 特定の⽂字列から始まるブランチにプッシュすると、 ⾃動で検証環境を⽤意してくれるようになった 「Rails × ECS でオートスケーリング&検証環境の⾃動構築」 https://tech.medpeer.co.jp/entry/2018/06/20/080000
  9. 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
  10. Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 14 懸垂ができる⼈は、限られた⼈間 僕らは知らない間に、多量の筋⾁を失い

    有り余る脂肪を⾝につけていた 懸垂できないと、ただただ恥ずかしい 3. 懸垂棒の導⼊
  11. まとめ Copyright(C) 2019 ALL RIGHTS RESERVED, MedPeer, Inc. 18 筋⾁は裏切らない!

    新しい取り組みをしたら、 いくつかの失敗は付きもの 失敗をチームで克服できるか それを仕組み化できるかが⼤事 ⾃慢の取り組み、教えてください! We are hiring !!! 筋⾁は裏切らない!