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.

1年くらいScalaプロジェクトに関わった結果 #ichigayageek

1,206 views

Published on

市ヶ谷Geek★Night#12 ScalaMatsuriの余韻トーク〜祭りの余熱〜 https://ichigayageek.connpass.com/event/51204/ の登壇資料です。

Published in: Internet
  • Be the first to comment

1年くらいScalaプロジェクトに関わった結果 #ichigayageek

  1. 1. 1年くらい Scalaプロジェクトに 関わった結果 株式会社CyberZ 重村道人 2017/03/17
  2. 2. shigemk2 でなんかいろいろ やってます 株式会社CyberZ 重村道人 2017/03/17
  3. 3. 1. 大卒ニートがプログラマーを志す 2. オンライン英会話サービス 3. ソシャゲ 4. アフィリエイトサービス 5. CyberZ 経歴
  4. 4. お題: Scalaプロジェクトを 振り返る
  5. 5. • 広告配信システム • アドネットワーク一括管理システム やったプロジェクト
  6. 6. やってきたプロジェクト 広告配信システム アドネットワーク一括 管理システム 内容 DSP 各種広告配信システム 一括管理 フェーズ 新規事業 運用フェーズ Scalaの アーキテクチャ Spray Play Framework 人数 10人 3人
  7. 7. 1. 新規事業 開発→リリース(4ヶ月) 2. リファクタリング(3ヶ月) 3. 新規事業 開発(2ヶ月) 4. 新規事業 運用(6ヶ月) フェーズ
  8. 8. 1. 新規事業開発→リリース(4ヶ月) 2. リファクタリング(3ヶ月) 3. 新規事業開発(2ヶ月) 4. 運用(6ヶ月) フェーズ: 新規事業時代
  9. 9. 新規事業時代を振り返ってみる
  10. 10. 一番重要だったこと
  11. 11. スピード > > > > > 品質
  12. 12. 品質を振り返る
  13. 13. 自前実装1: キャッシュ
  14. 14. 自前実装1: キャッシュ ScalaCacheとか使えばよかったんじゃないかなー
  15. 15. 自前実装2: 設定の読み込み
  16. 16. 自前実装2: 設定の読み込み getConfigとか実装する必要なさそう
  17. 17. お疲れ様です
  18. 18. お疲れ様です scalazとか…
  19. 19. 車輪の再発明
  20. 20. をしていることが分からない OR 放置
  21. 21. • 各人のScala力が低い • ちゃんとレビューが出来る人の不在 • ライブラリとかミドルウェアを知らない • 時間がなさすぎることに対する焦り • 違和感の放置 なんでそうなる?
  22. 22. • 実装力が低すぎる • 使えるライブラリを知らなさすぎる • アーキレベルからのレビューの必要性 振り返り
  23. 23. • 実装力が低すぎる • とにかく書く • 使えるライブラリを知らなさすぎる • 別のプロジェクトのアーキを参考にしてみる • アーキレベルからのレビューの必要性 振り返り(対策)
  24. 24. 1. 新規事業開発→リリース(4ヶ月) 2. リファクタリング(3ヶ月) 3. 新規事業開発(2ヶ月) 4. 運用(6ヶ月) フェーズ: リファクタリング
  25. 25. リファクタリング時代(3ヶ月)を振り返ってみる
  26. 26. • 機能追加(設計、実装、テストまで) • 使わない機能をオミットする • クリーンアーキテクチャでリファクタ • clean-adapter • clean-domain • clean-other • clean-usecase この時期にやったこと
  27. 27. • コードを読んでも何をやっているの かイマイチ良くワカラナイ… • すぐにキャッチアップしたい… リファクタリング
  28. 28. build.sbtに記載されてる全ての ライブラリで サンプルコードを組んでみよう! リファクタリング
  29. 29. 全部で60くらいあった
  30. 30. 全てのライブラリでサンプルを組んだ
  31. 31. Javaライブラリも使える
  32. 32. 開発の幅が増えた
  33. 33. 1. ScalaでもJavaのライブラリが使えるよ 2. いきなり実装する前に 検討しようライブ ラリ/ミドル 3. 難易度や工数の共有は大切です まとめ

×