【C88新刊情報】ENJOY H@RMONY!!とボーダーbotという本を出します
C88の出展情報です。
『ENJOY H@RMONY!!とボーダーbot』ということで前回に引き続きTwitter bot本を出します。A5版44ページで頒布価格500円です。スペースは8/16(日)東O-51a『アトリエのどか』(WebCatalog)です。既刊も持っていきます。
続きを読むC88の出展情報です。
『ENJOY H@RMONY!!とボーダーbot』ということで前回に引き続きTwitter bot本を出します。A5版44ページで頒布価格500円です。スペースは8/16(日)東O-51a『アトリエのどか』(WebCatalog)です。既刊も持っていきます。
続きを読む前回が2014年の1月更新だったので実に1年半ぶりとなります。
オレンジ先生作ののどかさんとはじめさんです。初オリキャラ!ありがとうございます!
イラスト自体は6月初旬くらいにいただいていた(ので、twitterのカバーなどに使っていた)のですが、サイトの方はバタバタしてしまっていました。
トップページに載せるにあたって多少トリミングなどの画像加工をしています。元画像は以下となります。
夏ですね。暑い日が続きますが、体調に気をつけていきたいものです。
ふと思い立って表題のようなそんなサービス作りました。
動機としては、「@t3_さんの自分用地図いいな」→「みんなミリフェスのスペースアピールしてるな」→「これ自動で地図作れるんじゃね?」→作ってみたという感じです。
ミリフェス2自分用メモ07(˘ω˘)
原稿でしばらくTL離れてたので抜け多いかもなので参考程度に… pic.twitter.com/e7CMlX4PfO
— t3:ミリフェス2-P57b (@t3_) 2015, 7月 5
とりあえず、完成した時点で寿命が一週間ないというw(イベント前一週間切ってる)でも、個人的にフロントエンドの勉強になったから良いかな。
技術的には、基本的に以下のサービスのマッシュアップな感じです。
流石に3時間じゃ無理でしたが、それなりに頑張ったので最低限使っても良いかなレベルにはなっているのではないかと。技術的には、フロントエンドが楽しかったですね今回。
たくさん参加する人がいるとその分地図も賑やかになります。
なお、負荷的な面は何も対策しておりませんので、愚直にフォローしている人一覧取りにいきますし、愚直にユーザー情報を取りにいきます。フォローしている人が多いと時間かかるかもしれませんし、何回もやるとTwitter側のアクセス制限(API Limit)に引っかかるかもしれませんのでご注意いただけますと幸いです。
コードの方は例のごとく、オープンソースな感じなのでPull Request等お願いできますと幸いでございます(余談ですが、ふとした瞬間にimas Organizationがとれてしまったので割とエンジョイしています)。というかスタイルシート書くのを放棄して各要素のstyle属性にcss直書きしているので分離したい。あとドキュメント。。。テストは、、、これ拡張するのかな……
以上、ご確認いただけますと幸いです。
NodeSchool International Day in Tokyo
楽しかった:)
node方面のイベントは初参加で何も分からないままでしたが、形式としてはもくもくに近い感じでした。具体的には、下記題材から好きなものを選んで各自進めて、不明点があったらメンターの方に聞く形がとられました。私はlearnyounodeを選択しましたが、実は現時点で未完なのでちゃんと終わらせたいです。。。
イベントではLTも募集されていたので軽くHubotの話をしてきました。
もくもくで良かったな、と思うことの一つがイベント中にスライドを用意できたことです。スライド中のスクリーンショットにぐちゃぐちゃのデスクトップが透けているところからも出来たて具合がうかがえます。
5分の時間内に終われなかった、というのは反省点だけれど、兼ねてからのLT時の私の改善点の一つである「ゆっくり話す」ことが割と出来たんでないかなと思っています。
@treby006 ゆるくてよかった!
— Daijiro Wachi ☕ (@watilde) 2015, 5月 23
会が始まってからスライド作るとか、時間が足りないとかは準備ができていないことに起因しているので、これは別途改善していきます:(
普段業務でNodeを使う機会はないのですが、Hubotをはじめ、これら技術はおもちゃのように扱えるのが楽しいので、Fun Node, Fun JSしていければと!
先日のプログラミング生放送でLTをしてきました。
@jz5 お疲れ様です!もし参加できればTwitter botの話でLTやりたいです。お願いします。
— treby (@treby006) 2015, 5月 14
botを作ったのでLT、じゃなくて実際はLTをするためにbotを作りました。スライドは以下の通りです。
発表は5〜10分程度でしたが、簡単に振り返りをば。
プレゼンでは純粋な発表するネタの他にも大事なパラメータがたくさんあるなぁと改めて実感。
発表中、反応が欲しいと思ったところで無反応だと焦ってしまいますが、そもそもウケを狙って発表しているのかというのはあるんですよね。忘れてしまいがちですが。なんのために発表するのか。そこを改めて見つめてみると良いのかもしれません。
ただ、せっかく何十人という方の時間をいただいて発表するのですから、何かしら与えられるプレゼンできるようになりたいですね。まずは堂々とストイックに発表できるように、場数を意識していろいろなところで話していくようにします。
内容について、HerokuとかHubotとかの話はいくつかブログ記事を書いているので興味ある方はそちらも参照いただけますと幸いです。
なお、Herokuで運用する云々のところは最近Herokuの料金プランの変更が発表されて、そろそろ厳しいかもな温度感のようです。
現状、いくつかHeroku上でbot動かしているのでなるべくコストかからないよう注視していきたいです。というのと、ちゃんと見つけたらアウトプットします。
@pronama_botさんのツイートちなみにLTで実際に作ったbot、LT中にやった内容だけじゃそのまま放置されて残念な感じになるので、今のところはプロ生ちゃんのセリフを定期的に流すようにしてみています。お口直しによろしいかもしれません。というのと自分自身、実験用途に使えると良いなぁとかとか。
あ、Pull Requestお待ちしております!(の前に自分がTwiter AdapterにPull Request出すべきですねこれ)
特に旅行の予定もなかったので、ゴールデンウィークは飲み会・イベントを除けばひたすらborder botちゃんと戯れていました(botに”ちゃん”づけする呼び方は他の方がされているので知ったのですが、何だか愛着が湧いて良いですね)。
で、いざ戯れるといってもいろいろ方向性はございまして、今回のケースですと大きく一つは先日やったようなインタラクティブ機能の追加(もっともこれは本質とは関係ないのですがw)、もう一つがせっかくデータがあるんだから文字だけじゃなくてグラフでも見られるようにしようぜ、的なところでした。
ただ、一度にあれもやりたい、これもやりたいやっておりますと大抵全部ダメになるのでよろしくないです。となれば決めの問題にはなるのですが、インタラクティブの部分は先日かじったこと、ボーダー観測業界におきましてはborder botはスクフェスのbotに様々な面で後れを取っているということから今回はWebでのボーダーの可視化を目標に作業することにしてみました。
出来上がった成果物がこちらです。
ゴールデンウィークはボーダーを可視化するのに費やした。がっつりコードを書けて幸せ。 pic.twitter.com/fGvotUh6a7
— treby (@treby006) 2015, 5月 6
やっていることといえば、以前より溜め込んでおりますデータをRailsから適宜引っ張ってきているだけなのですが、やはり手軽にグラフ表示できるようになると違いますね。
作るにあたり、どういう風にモデルを設計しておこうか、というのは結構前から興味のあるところではありました。今回の実装としては今回ミニマムにRDB側では一つのイベントを表すEvent
モデルとイベントの種別を表すEventType
を作ることにしました。
ボーダーの経過情報とEvent
モデルの結びつけとしては、それ用のcolumnを用意するという実装になっています。ただ、これだと1イベントで複数のボーダー軸が必要なHHP型のイベントに対応できないのでこの辺りどうするか考えなければなりませんね。
あと、イベントのSeedを持ってくるのが結構大変でした。基本はゲーム内のランキングデータのところを拝借すれば良いのですが、これだとイベントの日にちは分かっても時間まで書いていないのです。その辺はWikiを参考にさせていただきました(有志の方々に感謝!)。そういえば少し前までは17:00スタートの16:59終わりでしたね。
グラフは当初Highchartsを考えていましたが上手く使いこなせず、試しに使ってみたamChartsがほとんどデータの加工なしでいけたので、そのまま使っています。
なお、例のごとくソースコードは公開しております。ご興味ある方は開発に参加いただけますと私としてはありがたいです。
ちなみにボーダーのデータストア(InfluxDBホスト)側の実際の負荷をあまり見ていないので、アクセスいっぱいくるとどうなるか、とかよく分かりません!ほどほどにご活用いただけますと幸いです(こちら側でも早いうち対応したい)。
というのと、もしアフィリエイト経由でグッズ諸々買っていただけるとサーバ代とかお酒代になります。よろしければ!(宣伝)
と、まだまだ課題や改善点はあるのですが、ゴールデンウィークというまとまった期間に一個完成までもっていけたのは良かったかな。
最近はHubotと戯れるのが楽しいです。楽しすぎて、自分で作ったbotに話しかけてbot充しています。暇人です。
傍から見てるとtrebyさん怖い
— レッザP (@redsaredsP) 2015, 4月 20
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で出てきたもののメモ。
基本的にはこの記事で紹介されていたgemをさらっていっていた。多分以下のツイートがあったからだと思う。
#sendagayarb でみるの良さそう http://t.co/UISFguY6Oa
— フ(カジャ)ンFJ (@fukajun) 2015, 3月 29
ここではその中でも個人的に気になったもの、取り入れてみたいものをピックアップしてみる。
Ruby周りのコミュニティはnearイコールRailsのコミュニティであるし、中でも特にテストの話になると温度が上がる印象がある。
最近見よう見まねCIを回し始めたところなのでこの辺りの知見を盗み吸収しつつ、そしてアウトプットもしていきたい。
すごく私事で恐縮なのですが、転職することになりました。
作っているサービスの種類(ソーシャルゲーム→Webサービス)や会社の規模(1000人規模→10人程度)、使用する言語(PHP→Ruby)という違いはありますが、次の会社でもWebエンジニアをやるという点では変わりません。
辞める会社は2013年4月から2年弱ほどお世話になりました。新卒研修はじめ、大規模サービスの運用担当経験など、それまでWebの実務上の知識なしの私に基礎を与えてくれた環境にはすごくお世話になりました。
転職の動機ですが、基本的に以前の会社や仕事が嫌で辞めたのではなく、これからの直近1,2年を見据えた時にどちらが自分の成長速度を上げていけるだろうと考えた時に、転職を決意するほどの差があったのかなぁと思っています。考え自体は昨年12月には固まっていて、意向を伝えるのは余裕をもって出来ていました。その甲斐あってか、チーム内での引き継ぎもスムーズにいきました。最後に所属していたチームの方々にも温かく送り出していただきました。ありがとうございました。
会社の文化として、最後のボーナス支給月のボーナスを露骨に「なかった」ことにされた件については色々残念だな、と感じましたが(のちに調べてみたら、こういうのは結構あるみたいですね……)全体的には会社の大企業っぽさとベンチャーっぽさを合わせもっている感じが好きでした。
基本的には会社が好きだったので、この転職は自分でも想像できていませんでした。回顧してみると、やはりタイミングと巡り合わせなのかなぁとざっくり思ってみたりしています。そういえば、新卒入社した際、「3年は勤める」と豪語していた割にあっさり2年程度で抜けちゃうあたり自分のことながら分からないなぁ、と。
この選択自体が合ってるのか否か、良いのか悪いのかなんて分からないですが、決断したことで色々な展開をみることができたり、自分自身の視界が広がったりした部分があるので、それだけでも意味はあるのではないかと。
引き続きまっすぐ、進んでみようかな、と思う次第です。
ブログに簡単にtwitterへの投稿や、はてなブックマークへの登録を行えるようにするボタンを追加してみました。
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で示すとこんな感じです。
さすが、両者ともメジャーどころだけあって、さっくり追加できました。
ブログの執筆環境とか、見た目的な部分とか、もちょっと拡張していきたいですね。