Increments++ Hack Week #3を開催しました

こんにちは、gocciGOCCIです。Pokémon Go+が盛り上がってますね。わいわい。

さっそくですが、先日大人気の社内イベントIncrements++ Hack Week #3を開催しました。今回はその様子をお伝えします。

##Increments++ Hack Weekおさらい
会社を良くするものをつくる++を目標に、職種問わず全メンバーが参加し、1週間通常の業務を離れ、アイデアを出しあいプロジェクトや開発を行う社内イベントです。ここから新機能のプロトタイプが生まれたり、普段一緒に仕事をしないメンバーと作業できたりと社内でも好評のイベントです。

第1回の様子:Increments++ Hack Week #1を開催しました
第2回の様子:Increments++ Hack Week #2を開催しました

それでは、Hack Weekで生まれたものたちをさらっとご紹介します:)

##Increments++ Hack Week #3成果物

Kintai-UI by bucaran

Slackに皆が書き込んだ「出勤」「AFK」「🍚」「退勤」などのメッセージを拾って、皆の状況をvisualizeできるようにするstatus pageを作りました。グラフのように表示して、今だれが出勤してるか、今日だれがお休みかなど、色々な情報を見ることができます。

CircleCIの並列ビルド環境でRubyのテストカバレッジを計測できるようにする by yujinakayama

IncrementsではCI環境としてCircleCIを使っており、時間短縮のために並列環境を利用しています。この環境では独立した複数のコンテナが実行され、それぞれのコンテナが分割されたテスト群を分担して実行しますが、テストカバレッジのデータも分割されてしまい、全体のカバレッジデータを計測できないという問題がありました。

これを解消するため、以下のgemを実装しました。

  • circleci-parallel: CircleCIの並列環境で、コンテナ間の待ち合わせとデータの転送を行うための汎用的なインターフェイスを提供する
  • simplecov-parallel: circleci-parallelを利用してsimplecovのカバレッジデータをマージする

Qiita Teamロードマップ by takashi

詳しくはこちら:Qiita Teamの開発ロードマップを公開しました

Qiita:Status by takashi

Qiita:Statusという、QiitaとQiita Teamのステータスを見ることのできるサイトを作成しました(未公開)。近日中に公開します 💁

OKRのメトリック収集自動化 by yuku_t

会社の目標管理にOKRを用いています。OKRではメトリックをトラッキングするのですが、それをいちいち手動で集計して進捗を更新するのが大変面倒くさい作業であることは想像に難くありませんね。

このプロジェクトでは各種サービスに散らばったメトリックを自動的に収集するボットを設計し、それの結果を表示するためのWebアプリケーションを作りました。結果的にはGoogle Analyticsにしか対応できなかったのですが、将来的にはRe:dash対応をすることでRe:dashが対応しているサービスに全て対応することをもくろんでいます😎

DB メンテナンススクリプト by Yoichiro

多くの企業にて、本番環境とは別に、最終的なソフトウェアの動作確認を行うためのステージング環境を構築していることと思います。弊社では、本番環境のデータベースとは別に、ステージング環境向けに別のデータベースを設置しています。本番環境のデータベースの Snapshot からステージング環境向けのデータベースを復元させて作成し、問題のある行を消し込んでいるのですが、データ量の多さから、全ての移行が終わるまでに4時間以上かかります。これを今まで手作業で行っていたのですが、当然人間がやる作業かというと、違います。

弊社では AWS の RDS を使っています。つまり、Snapshot からデータベースインスタンスを復元することも、パラメータを変更することも、データの消し込みをすることも、AWS にあるおかげで、全てソフトウェアで自動化することができるはずです。クラウドサービスのメリットを享受することができるはずなのにできていない、これはもったいないオバケが出ても不思議ではありません。

598c1f26-b973-b819-375c-5ea25a8df823.png

今回の Hack Week #3 では、AWS SDK v2 を使って、4時間かかる上記のような手順をコマンド1つで自動化するためのスクリプトを作成しました。今後、この1つのコマンドを実行することすら、人間が行わずに、定期的に自動実行すべく、準備を進める予定です。

記事を直接編集できるエディタ by r7kamura

詳しくはこちら:draft-js-markless-plugin

Qiita Markdown Compiler by mizchi

詳しくはこちら:qiita-markdown-js-proto

Sketch.cssとstylelint-config-qiita by morishitter

詳しくはこちら:sketch.css

Qiita:Shopリニューアル by htomine

詳しくはこちら:新作Qiitaグッズをリリース & ショップを移転しました

オフィス環境改善 💪🏾 by tshunsk, kagamin

人が増えてきたということもあり、椅子や机のレイアウト変更やオフィス用品のアップデートを行いました。

いかがでしたか?

Incrementsではこのような社内イベントを定期的に開催していますので、少しでも興味を持った方はぜひ一度オフィスまで遊びに来てください。特にQiita TeamのPMに興味がある方を募集しています:)