11
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

LivesenseAdvent Calendar 2016

Day 1

企業アドベントカレンダー開始前に行っておきたい2つのこと

Last updated at Posted at 2016-11-30

リブセンスアドベントカレンダー1日目を担当させて頂きます masahixixi です。
弊社は今年アドベントカレンダーを3枚作成したのですが、初日はすべて私です。あまり気にしないでください。

しかし1年は早いですね、去年インフラエンジニアだった私は今アプリケーションエンジニアのひよこをやっています。気分は新卒です。実力は新卒の10分の1くらいです。すいません、盛りました。100分の1です。

というわけで今年も始まります。リブセンスの1ヶ月を何卒宜しくお願い致します。

リブセンスアドベントカレンダーの社内拡散運動

小話を少し。
毎年、運営が私1人です。なのでただひたすら頼んで回ります。11月の仕事の半分はアドベントカレンダーの依頼で終わります。今年は初の試みとして、私が一度断られた人たちに女性経由で頼んでもらうという技も会得し、ようやくアドベントカレンダー運営初段の座を手中に収めました。ここまでの道が過酷であったことは言うまでもありません。

注:手段を選ばずに目的を達成しようとするのはほどほどにしましょう。

みんなの反応はこんな感じです。

私「みんな、書いて!」
Aさん「書く!」
Bさん「えー・・・書く。」
Cさん「書かせてください!」
Dさん「嫌です。。。そこまでいうなら・・・書く。」
Eさん「私には無理です。。。書きます。」
Fさん「ネタがありませんが書きます。」
Gさん「仕事が立て込んでいて。。。書きます。」
Hさん「自分だけ書くのアレだから、周りも道連れにする。」
Kさん「A面/B面/C面」
Mさん「控えめに2枚で・・・」

と、こんな感じです。今年も勢いで3枚作ったことは反省していないのですが、新しい取り組みとしていくつか仕組み化しておこうと思いました。なんたって私はエンジニアですからね。それに来年は4枚になりますし。

自動通知

さすがにカレンダーも3年目になり3枚に増えたのですべての投稿に社内のエンジニアが目を通すかというとなかなかに怪しいものがあります。過去2年は私による心温まる手動対応によるものでした。

ということで、自動化の機運です。

弊社には全エンジニアが居る(はず)のエンジニア部屋なるものが hipchat に作成されています。通知はここで良いでしょう。

調べてみたところ色々と方法はあるようでしたが、今回はせっかくアプリケーションエンジニアのひよこになったわけですし、おもむろにクソコードを生成してみました。

hipchat の RSSフィードアドオンに逃げなかったボクエライ(棒
(例は2015年)

require 'feedjira'
require 'hipchat'

url_list = [
            'http://qiita.com/advent-calendar/2015/livesense_1/feed',
            'http://qiita.com/advent-calendar/2015/livesense_2/feed'
           ]
HIPCHAT_TOKEN = "有馬記念予想 ◎サウンズオブアース".freeze

def hipchat_notify(url, file_name)
  old_count = File.open(file_name).read.to_i
  feed = Feedjira::Feed.fetch_and_parse url

  if feed.entries.count > old_count
    client = HipChat::Client.new(HIPCHAT_TOKEN, :api_version => 'v2')
    client['test'].send('アドベント神様',  "@all #{feed.entries.first.title}, #{feed.entries.first.url}", :color => 'green', :message_format => 'text')
  end

  File.open(file_name, 'w') do |f|
    f.puts("#{feed.entries.count}")
  end
end

url_list.each_with_index do |url, index|
  hipchat_notify(url, "livesense_#{index + 1}")
end

例外処理がないって?はい、ありません。考慮漏れじゃありません。時間切れです。許せ同志たちよ。

あとは cron でまわしとけばいっか。

参考は下記。

集計機能

参加人数も相当なものになってきました。コンテンツが多くなると集計したくなりますよね。最終日に発表すると楽しそうです。軽い打ち上げもいいですね。クリスマスですしスパークリングワインで完走に乾杯なんてなかなかおしゃれなもんです。

さて、どうやって集計機能を作ろうかなと思っていたらこんなものがあるじゃないですか。

どれどれ。この人、どこかで見たことありますね。ほう、弊社ですか。去年アドベントカレンダーを作成したのは誰だったかな?おや、私ですか。さすがです。去年アドベントカレンダーを開催した価値があったというもんです。ありがたく先人の知恵を借りるとしましょう。去年の自分は優秀だった模様です。

エンジニアならコードを書け?苦しい道と楽な道があったときに迷わず楽な道を選べと道徳の時間に習いませんでしたか?習ってませんか、そうですか。

もう丸パクりでいいや。むしろスプレッドシート用意するのが面倒なので丸ごともらうとしましょう。

さいごに

いかがでしたか。社内でもアドベントカレンダーってなんだかんだ盛り上がりますよね。その盛り上げのスパイスとなれば幸いです。それでは、これから25日まで盛り上げていきましょう!

11
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?