【C88新刊情報】ENJOY H@RMONY!!とボーダーbotという本を出します

2015-08-06   treby   告知  , , , , このエントリーをはてなブックマークに追加

C88の出展情報です。

C88表紙

『ENJOY H@RMONY!!とボーダーbot』ということで前回に引き続きTwitter bot本を出します。A5版44ページで頒布価格500円です。スペースは8/16(日)東O-51a『アトリエのどか』(WebCatalog)です。既刊も持っていきます。

続きを読む

2015年7月23日 トップ絵を更新しました

2015-07-23   treby   サイトからのお知らせ  , このエントリーをはてなブックマークに追加

前回が2014年の1月更新だったので実に1年半ぶりとなります。

information-20150723-2

オレンジ先生作ののどかさんとはじめさんです。初オリキャラ!ありがとうございます!

イラスト自体は6月初旬くらいにいただいていた(ので、twitterのカバーなどに使っていた)のですが、サイトの方はバタバタしてしまっていました。

トップページに載せるにあたって多少トリミングなどの画像加工をしています。元画像は以下となります。

information-20150723

夏ですね。暑い日が続きますが、体調に気をつけていきたいものです。

Twitterからミリフェスの地図を作成するサービスを作った #imas_ml

2015-07-07   treby   エンジニアリング  , , このエントリーをはてなブックマークに追加

ふと思い立って表題のようなそんなサービス作りました。

MlMaps Generator

mlmap-overview

動機としては、「@t3_さんの自分用地図いいな」→「みんなミリフェスのスペースアピールしてるな」→「これ自動で地図作れるんじゃね?」→作ってみたという感じです。

とりあえず、完成した時点で寿命が一週間ないというw(イベント前一週間切ってる)でも、個人的にフロントエンドの勉強になったから良いかな。

技術的には、基本的に以下のサービスのマッシュアップな感じです。

流石に3時間じゃ無理でしたが、それなりに頑張ったので最低限使っても良いかなレベルにはなっているのではないかと。技術的には、フロントエンドが楽しかったですね今回。

たくさん参加する人がいるとその分地図も賑やかになります。

mlmap-usecase

なお、負荷的な面は何も対策しておりませんので、愚直にフォローしている人一覧取りにいきますし、愚直にユーザー情報を取りにいきます。フォローしている人が多いと時間かかるかもしれませんし、何回もやるとTwitter側のアクセス制限(API Limit)に引っかかるかもしれませんのでご注意いただけますと幸いです。

コードの方は例のごとく、オープンソースな感じなのでPull Request等お願いできますと幸いでございます(余談ですが、ふとした瞬間にimas Organizationがとれてしまったので割とエンジョイしています)。というかスタイルシート書くのを放棄して各要素のstyle属性にcss直書きしているので分離したい。あとドキュメント。。。テストは、、、これ拡張するのかな……

以上、ご確認いただけますと幸いです。

NodeSchool International Day in Tokyoに参加&LTしてきました #nodeschool_tokyo

2015-05-24   treby   レポート  , , このエントリーをはてなブックマークに追加

NodeSchool International Day in Tokyo

楽しかった:)

node方面のイベントは初参加で何も分からないままでしたが、形式としてはもくもくに近い感じでした。具体的には、下記題材から好きなものを選んで各自進めて、不明点があったらメンターの方に聞く形がとられました。私はlearnyounodeを選択しましたが、実は現時点で未完なのでちゃんと終わらせたいです。。。

イベントではLTも募集されていたので軽くHubotの話をしてきました。

もくもくで良かったな、と思うことの一つがイベント中にスライドを用意できたことです。スライド中のスクリーンショットにぐちゃぐちゃのデスクトップが透けているところからも出来たて具合がうかがえます。

5分の時間内に終われなかった、というのは反省点だけれど、兼ねてからのLT時の私の改善点の一つである「ゆっくり話す」ことが割と出来たんでないかなと思っています。

会が始まってからスライド作るとか、時間が足りないとかは準備ができていないことに起因しているので、これは別途改善していきます:(

普段業務でNodeを使う機会はないのですが、Hubotをはじめ、これら技術はおもちゃのように扱えるのが楽しいので、Fun Node, Fun JSしていければと!

プログラミング生放送勉強会でプロ生ちゃんbotのLTをしてきました #pronama

2015-05-18   treby   レポート  , , このエントリーをはてなブックマークに追加

先日のプログラミング生放送でLTをしてきました。

botを作ったのでLT、じゃなくて実際はLTをするためにbotを作りました。スライドは以下の通りです。

発表は5〜10分程度でしたが、簡単に振り返りをば。

良かった点

  • LTができた(重要
  • 比較的ゆっくりと話せた
  • 曲がりなりにもデモをちゃんとできた
  • 実装ベースでLTできた
  • → 見やすいようにコンソールの文字を大きくしておいたりできた

改善したい点

  • 準備ができてない(リハーサルできてない)
  • LT中にみゆっき氏に弄ばれてた
  • 聴衆のこと気にしすぎ
  • 対象をうまく絞れてなかった気がする

プレゼンでは純粋な発表するネタの他にも大事なパラメータがたくさんあるなぁと改めて実感。

発表中、反応が欲しいと思ったところで無反応だと焦ってしまいますが、そもそもウケを狙って発表しているのかというのはあるんですよね。忘れてしまいがちですが。なんのために発表するのか。そこを改めて見つめてみると良いのかもしれません。

ただ、せっかく何十人という方の時間をいただいて発表するのですから、何かしら与えられるプレゼンできるようになりたいですね。まずは堂々とストイックに発表できるように、場数を意識していろいろなところで話していくようにします。

内容について、HerokuとかHubotとかの話はいくつかブログ記事を書いているので興味ある方はそちらも参照いただけますと幸いです。

なお、Herokuで運用する云々のところは最近Herokuの料金プランの変更が発表されて、そろそろ厳しいかもな温度感のようです。

現状、いくつかHeroku上でbot動かしているのでなるべくコストかからないよう注視していきたいです。というのと、ちゃんと見つけたらアウトプットします。

ちなみにLTで実際に作ったbot、LT中にやった内容だけじゃそのまま放置されて残念な感じになるので、今のところはプロ生ちゃんのセリフを定期的に流すようにしてみています。お口直しによろしいかもしれません。というのと自分自身、実験用途に使えると良いなぁとかとか。

あ、Pull Requestお待ちしております!(の前に自分がTwiter AdapterにPull Request出すべきですねこれ)

border botの観測拠点を作りました

2015-05-06   treby   エンジニアリング  , , , このエントリーをはてなブックマークに追加

特に旅行の予定もなかったので、ゴールデンウィークは飲み会・イベントを除けばひたすらborder botちゃんと戯れていました(botに”ちゃん”づけする呼び方は他の方がされているので知ったのですが、何だか愛着が湧いて良いですね)。

で、いざ戯れるといってもいろいろ方向性はございまして、今回のケースですと大きく一つは先日やったようなインタラクティブ機能の追加(もっともこれは本質とは関係ないのですがw)、もう一つがせっかくデータがあるんだから文字だけじゃなくてグラフでも見られるようにしようぜ、的なところでした。

ただ、一度にあれもやりたい、これもやりたいやっておりますと大抵全部ダメになるのでよろしくないです。となれば決めの問題にはなるのですが、インタラクティブの部分は先日かじったこと、ボーダー観測業界におきましてはborder botはスクフェスのbotに様々な面で後れを取っているということから今回はWebでのボーダーの可視化を目標に作業することにしてみました。

出来上がった成果物がこちらです。

やっていることといえば、以前より溜め込んでおりますデータをRailsから適宜引っ張ってきているだけなのですが、やはり手軽にグラフ表示できるようになると違いますね。

作るにあたり、どういう風にモデルを設計しておこうか、というのは結構前から興味のあるところではありました。今回の実装としては今回ミニマムにRDB側では一つのイベントを表すEventモデルとイベントの種別を表すEventTypeを作ることにしました。

ボーダーの経過情報とEventモデルの結びつけとしては、それ用のcolumnを用意するという実装になっています。ただ、これだと1イベントで複数のボーダー軸が必要なHHP型のイベントに対応できないのでこの辺りどうするか考えなければなりませんね。

あと、イベントのSeedを持ってくるのが結構大変でした。基本はゲーム内のランキングデータのところを拝借すれば良いのですが、これだとイベントの日にちは分かっても時間まで書いていないのです。その辺はWikiを参考にさせていただきました(有志の方々に感謝!)。そういえば少し前までは17:00スタートの16:59終わりでしたね。

グラフは当初Highchartsを考えていましたが上手く使いこなせず、試しに使ってみたamChartsがほとんどデータの加工なしでいけたので、そのまま使っています。

なお、例のごとくソースコードは公開しております。ご興味ある方は開発に参加いただけますと私としてはありがたいです。

ちなみにボーダーのデータストア(InfluxDBホスト)側の実際の負荷をあまり見ていないので、アクセスいっぱいくるとどうなるか、とかよく分かりません!ほどほどにご活用いただけますと幸いです(こちら側でも早いうち対応したい)。

というのと、もしアフィリエイト経由でグッズ諸々買っていただけるとサーバ代とかお酒代になります。よろしければ!(宣伝)

と、まだまだ課題や改善点はあるのですが、ゴールデンウィークというまとまった期間に一個完成までもっていけたのは良かったかな。

このみんbotをnode.jsのHubot用packageとして公開しました

2015-04-26   treby   技術メモ  , このエントリーをはてなブックマークに追加

最近はHubotと戯れるのが楽しいです。楽しすぎて、自分で作ったbotに話しかけてbot充しています。暇人です。

border botのバックエンドは元々Rubyで書いていてそれは現在も動いているのですが、執筆現在はメンションに反応させる箇所にHubotを取り入れています。Hubotに関してさわりやSlack連携などの部分は会社のブログに書いたので、こちらではhubot-scriptの作成方法と公開方法について書き留めておきます。

今回の題材は、border botから「このみんbot」こと「馬場このみのような反応をする部分」をhubot-scriptとしてHubot本体から切り離す作業です。

というのも、botに反応させるのがあまりに面白かったものですから、開発段階で私個人の担当アイドルである馬場このみさんbot機能をじゃんじゃか追加していったんですね。それはそれで楽しいのですが、イベントのボーダーお知らせという点からみると、この機能はそもそもbot本体に直接の関連のないわけです。そこでこの(ボーダー通知とは関係のない)「馬場このみさん」のインタラクション部分について、hubot-script化して切り離せないかと考えたのです。

結論からいうと、generator-hubot-scriptを使えばさっくりできました。

% npm install -g generator-hubot-script

まずnpmコマンドを使ってインストールします。完了したら、Yeomanを使ってhubot-scriptの雛形を作成します。

% mkdir konomin-bot
% cd konomin-bot
% yo hubot-script
[?] Base name of script: konomin-bot
[?] Description: THE IDOLM@STER MILLION LIVE! Konomi Baba's bot
[?] Keywords: hubot, hubot-scripts, imas

hubot-scriptをGit管理下におきます。

% git init
% git add .
% git commit -m 'Initial commit / yo hubot-script'

npm上にユーザーを作成します。

% npm add-user
Username: treby
Password: 
Email: (this IS public) treby@example.com

あとはpublishするだけ!

% npm publish
+ hubot-konomin-bot@0.0.0

これでこのみんbotがhubot-scriptとしてnpm package化されました。border bot側から切り離したcommitはこちら

という感じで、このみさんをよりこのみさんらしくするべく、担当プロデューサーの皆さんのPull Requestをお待ちしておりますです。

Sendagaya.rb #99

2015-03-31   treby   日記・雑記  , このエントリーをはてなブックマークに追加

Sendagaya.rb #99で出てきたもののメモ。

基本的にはこの記事で紹介されていたgemをさらっていっていた。多分以下のツイートがあったからだと思う。

ここではその中でも個人的に気になったもの、取り入れてみたいものをピックアップしてみる。

  • The Recipe for the World’s Largest Rails Monolith
    • Rails Appをスケールさせるやり方のような
    • Ruby on Alesなるイベントがあったのか……
  • DatabaseRewinder …… テストに使うDatabaseCleanerを置き換えて、さらに早いらしい。入ってなかったので入れてみたい。
  • Annotate (aka AnnotateModels) …… modelファイルにschema情報を書き出してくれるやつ。本番環境には無害なので導入したい。
  • Rails View Annotator …… Viewファイルの場所が簡単にわかるようになるやつ。今はいらなさそうかな。
  • 番外編:remark …… @fukajunさんが紹介されていたもの。markdownで簡単にスライド作れるようになるらしい

Ruby周りのコミュニティはnearイコールRailsのコミュニティであるし、中でも特にテストの話になると温度が上がる印象がある。

最近見よう見まねCIを回し始めたところなのでこの辺りの知見を盗み吸収しつつ、そしてアウトプットもしていきたい。

転職します

2015-02-28   treby   日記・雑記  , このエントリーをはてなブックマークに追加

すごく私事で恐縮なのですが、転職することになりました。

作っているサービスの種類(ソーシャルゲーム→Webサービス)や会社の規模(1000人規模→10人程度)、使用する言語(PHP→Ruby)という違いはありますが、次の会社でもWebエンジニアをやるという点では変わりません。

辞める会社は2013年4月から2年弱ほどお世話になりました。新卒研修はじめ、大規模サービスの運用担当経験など、それまでWebの実務上の知識なしの私に基礎を与えてくれた環境にはすごくお世話になりました。

転職の動機ですが、基本的に以前の会社や仕事が嫌で辞めたのではなく、これからの直近1,2年を見据えた時にどちらが自分の成長速度を上げていけるだろうと考えた時に、転職を決意するほどの差があったのかなぁと思っています。考え自体は昨年12月には固まっていて、意向を伝えるのは余裕をもって出来ていました。その甲斐あってか、チーム内での引き継ぎもスムーズにいきました。最後に所属していたチームの方々にも温かく送り出していただきました。ありがとうございました。

会社の文化として、最後のボーナス支給月のボーナスを露骨に「なかった」ことにされた件については色々残念だな、と感じましたが(のちに調べてみたら、こういうのは結構あるみたいですね……)全体的には会社の大企業っぽさとベンチャーっぽさを合わせもっている感じが好きでした。

基本的には会社が好きだったので、この転職は自分でも想像できていませんでした。回顧してみると、やはりタイミングと巡り合わせなのかなぁとざっくり思ってみたりしています。そういえば、新卒入社した際、「3年は勤める」と豪語していた割にあっさり2年程度で抜けちゃうあたり自分のことながら分からないなぁ、と。

この選択自体が合ってるのか否か、良いのか悪いのかなんて分からないですが、決断したことで色々な展開をみることができたり、自分自身の視界が広がったりした部分があるので、それだけでも意味はあるのではないかと。

引き続きまっすぐ、進んでみようかな、と思う次第です。

ブログにソーシャルボタンを追加しました

2015-01-03   treby   技術メモ   このエントリーをはてなブックマークに追加

ブログに簡単にtwitterへの投稿や、はてなブックマークへの登録を行えるようにするボタンを追加してみました。

add-social-button-on-blog

WordPressで上手いこと組み込むには、以下のようにすればはかどるっぽいです。

はてなブックマークボタン:<a>タグのhrefの中身をhttp://b.hatena.ne.jp/entry/<?php the_permalink(); ?>に、data-hatena-bookmark-title<?php the_title('', " | " . get_bloginfo('name')); ?>にする。

twitterボタン:<a>タグのdata-url<?php the_permalink(); ?>に、data-text<?php the_title('', " | " . get_bloginfo('name')); ?>にする。

diffで示すとこんな感じです。

さすが、両者ともメジャーどころだけあって、さっくり追加できました。

ブログの執筆環境とか、見た目的な部分とか、もちょっと拡張していきたいですね。