Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Fukuokarubykaigi medpeer ver1

621 views

Published on

福岡Ruby会議02での発表資料です。
http://regional.rubykaigi.org/fukuoka02/

Published in: Technology
  • Be the first to comment

Fukuokarubykaigi medpeer ver1

  1. 1. 福岡RubyKaigi#02 メドピアの全力Rails化の取り組み晒します!
  2. 2. 目次 1. 自己紹介 2. メドピアってどういう会社? 3. MedPeerのRails化の話 4. 1年間取り込んでの振り返り 5. これからの展望 6. まとめ
  3. 3. 自己紹介 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 3 2004年 横浜市立大学理学部物理学科卒。 2004年 フジシステムズ(SIer)入社。 ISPのサービス開発。(Perl、PHP、オレオレ) 2006年 株式会社ミクシィに入社。(Perl、オレオレ) Find Job !の開発責任者。(Perl、オレオレ) 2011年に新規事業室に移り、 新サービスの開発。(Perl、Mojo、Amon2) 2012年 メドピア株式会社入社。(PHP、オレオレ) 現在に至る。 メドピア株式会社(2014年東証マザーズに上場) 執行役員 CTO 福村彰展
  4. 4. 謝辞 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 4 メドピアもRubyと出会えました
  5. 5. 目次 1. 自己紹介 2. メドピアってどういう会社? 3. MedPeerのRails化の話 4. 1年間取り込んでの振り返り 5. これからの展望 6. まとめ
  6. 6. メドピアってどういう会社? Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 6 Supporting Doctors, Helping Patients. 医師を支援すること。そして患者を救うこと。 集合知により医療を再発明する。 Mission Vision
  7. 7. メドピアってどういう会社? Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 7 医師専用メディア運営が メインの会社です
  8. 8. メドピアってどういう会社? Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 8 医師の知見が集まるUGC型サイト 集合知 薬剤評価掲示板 FORUM(掲示板) FORUM Survey MedPeer朝日ニュース 症例相談 (Meet the Experts) 症例検討会 口コミ件数50万件以上。医師同士 で薬剤の処方実感を口コミ共有。 臨床からキャリア、プライベート まで医師同士の自由な意見交換。 3,000件以上の回答が集まる医師 への大規模アンケート調査。 450名以上のエキスパートが臨床 の疑問を解決。 朝日新聞による全国の医療関連 ニュースを医師向けに配信 有名臨床研修指定病院の症例で、 鑑別診断をトレーニング。
  9. 9. メドピアってどういう会社? Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 9 メドピアの特徴は3つ!
  10. 10. メドピアってどういう会社? Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 10 1. 社長が現役の医師!
  11. 11. メドピアってどういう会社? Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 11 医療現場の手触り感 1. 社長が現役の医師!
  12. 12. メドピアってどういう会社? Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 12 2. 日本の医師の3人に1人が会員! ? ? 医師の3人に1人が会員
  13. 13. メドピアってどういう会社? Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 13 ? ? 医師の3人に1人が会員 医療業界へゲームチェ ンジが起こせるプラッ トフォーム 2. 日本の医師の3人に1人が会員!
  14. 14. メドピアってどういう会社? Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 14 3.ダイナミックな 事業展開!
  15. 15. メドピアってどういう会社? Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 15 3.ダイナミックな 事業展開! UGC型の医師プラット フォームとシナジー ヘルスケアx医療 ※UGC:ユーザ(医師)が投稿したコンテンツで成立する
  16. 16. Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 16 メドピアってどういう会社? 医師によるオンライン 健康相談プラットフォーム チャットで気軽に相談 テレビ電話でじっくり相談 管理栄養士による 食事トレーニングサービス 管理栄養士が個別カウンセリング 専用アプリで 毎食アドバイス アプリ自動連携の 体重体組成計も販売 昨年、ヘルスケアの会社を2社買収 1社目がメディプラット 2社目がフィッツプラス(旧クックパッドダイエットラボ)
  17. 17. Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 17 一緒に働いてくれる方 大募集m(_ _)m メドピアってどういう会社?
  18. 18. 目次 1. 自己紹介 2. メドピアってどういう会社? 3. MedPeerのRails化の話 4. 1年間取り込んでの振り返り 5. これからの展望 6. まとめ
  19. 19. MedPeerのRails化の話:導入 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 19 MedPeerは長い間 PHPの独自フレームワーク 巨大です。
  20. 20. MedPeerのRails化の話:導入 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 20 PHPの独自フレームワーク 設計思想が謎。なんでこうなってるのかわからない。 メンテがおいついていない、というかメンテナー不在 CIが回せない・テストない Library周りをいじるのがこわい パフォーマンスがでない・カイゼンしにくい キャッシュ機構が弱い DB周りのパフォーマンス・トランザクションの作り込みが中途半端。 コネクションプーリングない 突然デッドロック発生したりする セキュリティ対策にAjax通信が想定されていない 知見が秘伝のタレ化しやすい ぐぐっても出てこない 等々
  21. 21. MedPeerのRails化の話:導入 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 21 つらい
  22. 22. MedPeerのRails化の話:導入 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 22 移行だ!
  23. 23. MedPeerのRails化の話:導入 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 23 Rubyスペシャリストで タスクフォース結成
  24. 24. MedPeerのRails化の話:導入 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 24 社内Ruby経験の エンジニア全員ジョイン
  25. 25. MedPeerのRails化の話:導入 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 25 2名(10名中)
  26. 26. MedPeerのRails化の話:導入 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 26 内製化したい一方で スピーディに移行PJTを 軌道に乗せたい
  27. 27. MedPeerのRails化の話:導入 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 27 軌道に乗せるまでの 基盤作り・文化作りは パワーがいる
  28. 28. MedPeerのRails化の話:導入 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 28 将来的には内製化を 見据えつつ外部の協力を 求めることに!
  29. 29. MedPeerのRails化の話:導入 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 29 3名
  30. 30. MedPeerのRails化の話:導入 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 30 技術顧問 パーフェクトRuby on Rails 共著の 前島氏
  31. 31. MedPeerのRails化の話:導入 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 31 2名+3名+技術顧問で スタート
  32. 32. MedPeerのRails化の話:移行 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 32 PHP(独自)から Ruby(Rails)へ
  33. 33. MedPeerのRails化の話:移行 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 33 一気に移行するのは大変 PHP・Ruby環境の並行稼動
  34. 34. MedPeerのRails化の話:移行 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 34 http://tech.medpeer.co.jp/entry/2017/01/31/004227 テックブログに寄稿しました 結構反響あり、社内でも盛り上がりました。
  35. 35. MedPeerのRails化の話:移行 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 35 Ruby環境 PHP環境 nginx db-sync 一気に移行はしない(危険) • PHP環境と新Ruby環境の並行稼動 • 移行を機にDB構造を見直す • DBはPHP環境をRuby環境へSync • 止められないPHPの開発は外部の協力!
  36. 36. MedPeerのRails化の話:品質 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 36 同じ轍は踏まない!
  37. 37. MedPeerのRails化の話:品質 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 37 品質!
  38. 38. MedPeerのRails化の話:品質 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 38 初期からCI • RSpec • RuboCop • eslint • sass-lint • haml-lint • brakeman
  39. 39. MedPeerのRails化の話:品質 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 39 • Rails経験者のLGTMがないとマージできないルールに • RailsWayから脱線しないように コードレビューの徹底
  40. 40. MedPeerのRails化の話:品質 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 40 コードレビューの徹底 • RSpecをしっかり書く • テストコード作成分の工数確保 • スペックだけでもレビュー
  41. 41. MedPeerのRails化の話:品質 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 41 http://tech.medpeer.co.jp/entry/2017/05/23/070000 テックブログに寄稿しました すこしずつ知見を明文化しています
  42. 42. MedPeerのRails化の話:品質 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 42 コードレビューの振り返り会 週1でコードレビュー振り返り会を開発者全員で実施
  43. 43. MedPeerのRails化の話:品質 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 43 「振り返り希望」ラベル コードレビューの振り返り会
  44. 44. MedPeerのRails化の話:品質 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 44 • パトロールしなくても指摘された情報が入ってくる • 同じような指摘ができるようになる • 疑問は積極的に話し合われるので納得感が生まれる • 議事録とるので知見が貯まる • 勉強になる コードレビューの振り返り会
  45. 45. MedPeerのRails化の話:品質 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 45 bundle update 当番 週1回のbundle update を実施
  46. 46. MedPeerのRails化の話:品質 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 46 http://tech.medpeer.co.jp/entry/2017/07/18/064500 テックブログに寄稿しました 5.0から5.1へのアップグレードで一番苦労したのは 依存したgemをあげるときの確認でした
  47. 47. MedPeerのRails化の話:品質 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 47 bundle update 貯めるとつらい 週1回のbundle update の実施
  48. 48. MedPeerのRails化の話:成長環境 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 48 Ruby未経験者の受け入れ 体制も整えていきたい
  49. 49. MedPeerのRails化の話:成長環境 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 49 指定図書希望者へ会社から支給(未経験者を対象に) • パーフェクトRuby • パーフェクトRuby on Rails • 体系的に学ぶ 安全なWebアプリケーションの作り方 入社前受け入れ準備
  50. 50. MedPeerのRails化の話:成長環境 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 50 勉強会やってます
  51. 51. MedPeerのRails化の話:成長環境 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 51 社内勉強会 (輪読会・発表会)
  52. 52. MedPeerのRails化の話:成長環境 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 52 社内勉強会 (輪読会・発表会) • 平日週1回1時間確保 • 対象書籍を決め会社から支給
  53. 53. MedPeerのRails化の話:成長環境 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 53 開発合宿やってます 過去実績 2013年3月 伊東 2013年9月 箱根 2014年2月 伊東 2014年6月 千葉 2015年3月 伊東 2016年1月 熱海 2016年8月 湯河原 2017年3月 湯河原 2017年7月 千葉 2017年11月 群馬
  54. 54. MedPeerのRails化の話:成長環境 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 54 • 平日の3日間でいきます • 差し入れは社長からのカンパ!もあります • ネタは • 重要度高だけど緊急度が低いタスクだったり • 手を出したかった技術をやったり • 来週もあります!(今年3回目!) 開発合宿やってます
  55. 55. MedPeerのRails化の話:成長環境 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 55 ランチLT大会やってます
  56. 56. MedPeerのRails化の話:成長環境 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 56 • 月1回、エンジニア主体で技術発表会 • ピザ・寿司を頼んでエンジニアでは ない人にも聞いてもらってます • エンジニアではない人からの発表もあったりします! • ネタは • 気になっている技術だったり • 皆がしらない既存サービスの仕様だったり • 医療関係(診療報酬改定の仕組み)だったり • さまざまです! ランチLT大会やってます
  57. 57. 目次 1. 自己紹介 2. メドピアってどういう会社? 3. MedPeerのRails化の話 4. 1年間取り込んでの振り返り 5. これからの展望 6. まとめ
  58. 58. 1年間取り組んでの振り返り Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 58 Rails使いが成長した・増えた
  59. 59. 1年間取り組んでの振り返り Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 59 エンジニアが楽しんで 開発できるようになった CI動かしてテストできる! 安心! 最新技術に追従できる! たのしい! 情報発信して反応がある! 嬉しい!
  60. 60. 1年間取り組んでの振り返り Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 60 開発スピードがアップ RailsWayに乗ることで 設計等いろいろな面で悩まな くなったの大きい! 普通の技術を採用し、普通に 開発できるようになった!
  61. 61. 1年間取り組んでの振り返り Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 61 http://tech.medpeer.co.jp/entry/2017/10/30/073000 テックブログに寄稿しました Webpackerのような新しい技術もスムーズに導入で きるようになりました
  62. 62. 2017/11/25 62Copyright(C) 2015 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL グッドサイクルが回り始めた。DAUが2倍に成長! 2016年9月期 2017年9月期 2018年9月期(イメージ) DAU推移 ×2.0 UGCサービスのグッドサイクル 訪問者が 増える コンテンツ が増える サービスの 魅力が上がる 投稿が 増える DAU拡大 サイクル 1年間取り組んでの振り返り
  63. 63. 1年間取り組んでの振り返り Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 63 PVも3倍に成長! 今MedPeerのPV推移 Rails新サービス 初リリース
  64. 64. (参考)サーバレスポンス Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 64 大幅改善 (データ量等々違うので参考程度) 旧PHP環境 (独自フレームワーク) 新Ruby環境 (Ruby on Rails) 150ms前後 35ms前後
  65. 65. (参考)サーバレスポンス Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 65 大幅改善 (データ量等々違うので参考程度) 旧PHP環境 (独自フレームワーク) 新Ruby環境 (Ruby on Rails) 150ms前後 35ms前後 このギザギザがPHP環境の不安定を物語っている。 新環境の方が、PVも瞬間トラフィックも多いです。
  66. 66. 目次 1. 自己紹介 2. メドピアってどういう会社? 3. MedPeerのRails化の話 4. 1年間取り込んでの振り返り 5. これからの展望 6. まとめ
  67. 67. MedPeerのRails化のお話:これからの展望 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 67 一気に移行するのは大変 PHP・Ruby環境の並行稼動
  68. 68. MedPeerのRails化のお話:これからの展望 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 68 一気に移行するのは大変 PHP・Ruby環境の並行稼動 まだ並行稼動中です (T_T)
  69. 69. MedPeerのRails化のお話:これからの展望 Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 69 2017年11月現在 • Ruby環境が開発のメインに。 • DBのSyncはさせつつ • 移行を加速させる準備中 PHP環境 nginx db-sync Ruby環境
  70. 70. 目次 1. 自己紹介 2. メドピアってどういう会社? 3. MedPeerのRails化の話 4. 1年間取り込んでの振り返り 5. これからの展望 6. まとめ
  71. 71. まとめ Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 71 まだ移行は途中ですが・・・ Rubyに出会い 楽しく・成長できる環境を作ることで 結果がつくようになってきた! Rubyでの開発たのしい! サイトも活性化! エンジニア環境へ投資しよう!
  72. 72. おまけ Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 72 ヘルステックベンチャーなので コロロン用意しました 手のマッサージにつかってください
  73. 73. まとめ Copyright(C) 2017 ALL RIGHTS RESERVED , MedPeer,Inc. CONFIDENTIAL2017/11/25 73 ご清聴ありがとうございました!!

×