「殺伐とした開発チームに10秒で癒やしを提供するWebアプリ」をバージョンアップしました

以前ローンチした、殺伐とした開発チームに10秒で癒やしを提供するWebアプリ 「癒やしLGTM」をバージョンアップしました。

アップデート内容

  • github貼付け時に失敗する問題を修正
  • github貼付け後のアップロード時間を短縮

詳細な改善

以下は、パフォーマンス改善でやったメモです。

アップデート前の問題

アップデート内容にある通り、以前はgithub貼付け時に失敗したり、貼付け後のアップロード時間が長いという問題がありました。

以前のワークフローは、

  1. 事前にTumblrにLGTM gifアニメーション素材をアップロード
  2. GithubにLGTMテキストの貼り付けがされる度に、TumblrからLGTM素材を取得して、LGTMラベルをgifアニメに加工
  3. GithubにLGTM gifアニメが表示される

というフローでしたが、

  • Tumbrlへのgifアニメーションアップロード
  • gifアニメの加工に時間がかかる
  • gifアニメの加工に失敗するケースがある

という問題を抱えていました。

改善

やったことは

  • 素材のgifアニメと生成されたgifアニメをDropboxで管理
  • herokuのバッチ処理(scheduler)で、毎時間毎にgifアニメを生成
    • 既に生成済みのgifアニメはスキップする
  • GithubにLGTMテキストがコピペされたら、生成済みのGifアニメを返す

です。

都度、Gifアニメを生成する方式をやめて、加工済みの画像を返すというシステムにしました。

初めてDropbox SDKを使いましたが(Ruby & PHP)、迷わず実装できて楽でした。