oranie's blog

旧:iをgに変えると・・・なんだっけ・・・

【チラ裏】近況報告

皆様サガシリーズはご存知でしょうか。昨年はサガ25周年というめでたい年でした。特にロマサガシリーズ、サガフロンティア2が好きで「ついに最低でもロマサガ2、3のリメイク来るか・・・」と待ち焦がれていた時に「ロマンシング佐賀」が発表され

 という絶望に打ちひしがれたツイートをしていました。

 

そこから1年弱。ついに「SAGA2015」が発表されました。はじめは半信半疑でした。

 

 と疑っていましたが、ついにちゃんとプレスリリースも公開され鋭意開発中との事。


「サガ」シリーズ25周年 新作「SAGA2015(仮称)」for PlayStation Vitaなど 新タイトル、新イベントを発表 | SQUARE ENIX

位置づけとしては「ロマサガ4」と言っても良いタイトルという情報を聞き、これは僕も本気を出さないといけないと思いました。いつリリースされても全力を尽くせる体制を作る必要がある。そう確信しました。

http://livedoor.4.blogimg.jp/gawain0316/imgs/0/9/098a8363.gif

 

という訳で無駄な前フリ長かったですが、サイバーエージェントを退職しました。本日最終出社で今後有給消化を行い完了後晴れてニートとなります。これでSAGA2015がいつ来ても大丈夫。いつでも本気出せる。

 

真面目な話をするとまあテンプレに近くなってしまいますが、何か凄くネガティブな理由がある訳でもなくて、7年ほど勤めた環境をそろそろ変えてみるかというのと、この半年くらいは僕レベルで中途半端な何でも屋さん感があったがもう少しレイヤを絞った方が良いかな、という考えから退職を決意しました。もちろん普通に仕事していて怒ったりブーブー言う事もありましたが、それはどこで働いても出るレベルの奴です。居酒屋の酒の肴程度です。

http://blog-imgs-59.fc2.com/m/v/s/mvssf/blog_import_527b98d7e37d7.gif

 

今まで色んなプロジェクトにアサインして貰い、特にこの二年間くらいはCassandraなどの分散データストアに触る機会を貰い、Cassandra Summit JPNでスピーカーをさせて頂く機会が貰えるまでになれたのは確実にサイバーエージェントという環境にいたからだと思っています。もちろん、Cassandra summit JPNに限らず他の勉強会やカンファレンスでLTやスピーカーなどを出来たのは環境に限らず多くの社内、社外のエンジニアの方のおかげで成長させて貰ったのもあります。昨日デスクに積んでいる技術本を持って帰っていると「あー俺本当に明後日からここに来なくなるんだ。これから何しよう・・・。」って思う寂しさもありました。

http://pds.exblog.jp/pds/1/200810/07/93/d0107393_19473397.jpg

 

一緒に仕事をさせて貰ったエンジニアのみんなは本当にレベルが高くて、年齢関係なく尊敬しているメンバーばかりです。つい先日も同僚が書いた本を頂いて書評的なやつを書かせて頂きましたが


「HBase徹底入門」を読みました。 - oranie's blog


第66回 リアルタイムメッセージ共有を実現する社内SaaS基盤:サイバーエージェントを支える技術者たち|gihyo.jp … 技術評論社


テックレポート - TechReport | 株式会社サイバーエージェント

など凄い事やっている人が一杯いるので刺激を貰いました。これからの活躍を心から応援しています。本当にみなさんのおかげで頑張ってこれました。本当にありがとうございました。期待に応えられなかった事も多かったと思います。恩返しも出来ないままで去ることになってしまった人もいてそこが一番の心残りです。またどこか別の機会に一緒に仕事を出来る事になれば宜しくお願い致します。

http://i0.wp.com/jojofan.info/main/wp-content/uploads/2014/06/fcc8f1ce4edaa08fae7333026238a196.jpg?resize=300%2C300

 

最後に流行のAmazonウィッシュリストを公開します。「おれのさいきょうのウィッシュリスト」なので、見て楽しんで頂ければ幸いです。ポチると一瞬でクレジットカードが止まると思いますのでほんとやめろよ!押すなよ!


Amazon.co.jp

 

という訳で次の職場はこれからゆっくり探す感じになります。お前ごときがどこかの怪人大物みたいな真似してんじゃねーよ!って叱られそうですが、ここ最近は多少不摂生な生活を送っていた事もあり、この期間に運動したりなど改めて体調を整えたいとも考えているので少し長めの休みも辞さない感じで考えております。もちろん早めに決まれば普通に有給消化後に晴れて転職となります。

http://blog-imgs-35-origin.fc2.com/z/x/2/zx22260048/20110119232538bce.png

 

 長文失礼しました。

おしまい。

http://ayasigure.fc2web.com/rs2/sijinsama.gif

golangで雑なslack botを作りました。

タイトルそのまま。勉強がてらslack botを作ってみた。やった事はRubotyのruboty-google_imageとか、他のGolangで既にあるslack ライブラリの劣化パクリです。


r7kamura/ruboty-google_image · GitHub

 

ソースはこれ。


oranie/slack-bot-golang · GitHub

 

書いてみて思ったのは、slackのoutbound webhookがデータをJSONで投げてくれなかったので面倒だった事が分かりました(小並感

とりあえずherokuで動かしています。実際の動作はこんな感じ。

 

https://camo.githubusercontent.com/586469cb94e1f1f940f592a55864524f64b8f05e/687474703a2f2f692e6779617a6f2e636f6d2f35613130313939613531353236313134323636326535353964363130626435622e706e67

「画像も立てずにスレ立てとな?」とは言わず、自分から画像を貼る意識の高い麻呂をslackに登場させる事が出来ました。

 

やる事としては通常のherokuの使い方はまあ一旦置いておいて、golangでやらなければいけない事として


Goで作ったアプリをherokuに上げるときのメモ - from scratch

を参考にしました。

あと、Godepsでsaveする時に$GOPATH配下でプロジェクトを置かないとjsonファイルは作ってくれるが_workspace配下にファイルちゃんと置いてくれずherokuへのアップロードで失敗しまくりました。herokuへのデプロイさえ完了すれば、あとはslackのoutbound webhookで適当に条件設定して、inbound webhookで出てくるURLを

heroku config:add で設定してあげればPOSTしてくれるので大変簡単でした。ChatOpsには憧れるけど、js書いた事が無いのでhubotは勉強面倒くさいなぁ、と思っていたけど自分で書いたら簡単な設定すれば色々出来そうなので、オレオレツールでどこかで使っていこうと思います。

 

おしまい。

「HBase徹底入門」を読みました。

「HBase徹底入門」という本を同僚が書き、クレクレ言いまくったら苦い顔されて快くおこぼれを頂くことが出来ました。

今までHBaseと言えば良く知らないけど

 

 

 というようなツイートをしまくって、おそらく同僚からは「マジで知りもしないで言いやがって・・・(#^ω^)ピキピキ」という僕だったので大変勉強になりました。

 

HBase徹底入門 Hadoopクラスタによる高速データベースの実現

HBase徹底入門 Hadoopクラスタによる高速データベースの実現

 

 おおまかに紹介すると

  • HBaseとはなんぞや
  • どうやってJavaアプリから使うのか
  • データモデリング
  • クラスタ構築・運用
  • 監視
  • 障害対応
  • チューニング

といった内容が網羅されておりまさしく「徹底入門」の名にふさわしい内容なのではないでしょうか。特にCassandraの運用経験がある自分としてはクラスタ構築、運用もそうだが、障害対応やチューニングの内容が「初めて触るならこの辺絶対に知りたいなぁ」って内容が書かれているのでとても参考になる。まさに

 この時に欲しかった本だと思う。この時の自分に渡してあげたい。

 

障害対応項目などは「このノードが死んだら」だけではなく、運用担当としては考えたくないけどありうる「このノードが死んでそのまま復活できない時は」という点も書かれており非常に助かる内容になっている。また、チューニングについては各パラメータがそもそも何を指し示しているのか、それを弄るとどういう事が起きるのか、という点まで記載されているのも嬉しい限りです。

 

とりあえず分散データストア入門本としても「どういう事までケアをしないといけないのか」というのが網羅的に分かるし、「会社に気づいたらHBaseがあって運用担当になりそう」という人は是非買うと良いと思いますよ。

 

著者の三人の今までの苦労がキラキラとした結晶になっている本だと思います。これからも運用頑張ってね(・ω<)

golangでunsupported protocol scheme "" というエラーが出た場合

理由はおそらくURLの記述間違えているパターン。

例としてslackのAPIを叩きたい時に僕は

resp, err := http.PostForm("https://hooks.slack.com/ 〜〜略〜〜
と書くべき所を
resp, err := http.PostForm(" https://hooks.slack.com/ 〜〜略〜〜

httpsの前にスペース入れているのを気づかなくて、このunsupported protocol scheme "" というエラーが出ました。

年末なのではてなブログへ移行しました&今年の雑記


フォロワーのブログのはてブ数を調べてみた - mikedaの日記

この記事にブログ書いているおじさんみんながハートを鷲掴みにされ、ブクマ数を統合するために移行した人もいたので、僕もせっかくなのでいい機会なので移行してみた。

 

で、今年の雑記としては

2014年ブログ記事は29件で、割りとジャンルはバラけた・・かな・・・?


2014-01-01から1年間の記事一覧 - oranie's blog

途中からAndroidの記事を書いていたがすぐに書かなくなっている所が僕らしくて良いですね。理由としては単純で8月以降Androidの簡単なモック書いたり勉強していたが、色々またありまして今はサーバサイドのアプリをちょろっと書きつつ、AWSの構築とかほか雑用おじさんをやっていました。なので、Androidはキャッチアップはしつつ自分はコード書いていないというまあお察し下さいという状況です。まあ、個人的にはこの機会でも無ければ手を出さなかったジャンルだったので基礎だけでも知れたのは良かったです。

 

今年は自分の中で大きなイベントとしては、色々あったことで技術的にひと通りつまみ食いをしたという所でしょうか。

 

来年の抱負としては、こういうつまみ食いをいつまでもしている場合では無いので、もう少し注力する部分などを色々と考えて行きたいなと思います(小並感

 

あと移行したので、良い機会なのでまたブログのタイトルを考えてみます。はてなダイアリーで良いタイトルが無いと言って思いつきで公募したら「iをgに変えたらorangeになることに気づいたoranieの日記」というタイトルを付けてくれた@repeatedlyさんありがとうございました。

【追記あり】td-agent2 + fluent-plugin-bigqueryで、起動時にエラーになる問題

【追記】

https://twitter.com/tagomoris/status/546981761385639937
との事で直りました。このエントリの寿命1時間くらいでした!

                                                                                                                                  • -

もうISSUE上がっているけど、同様のエラーが出た。
https://github.com/kaizenplatform/fluent-plugin-bigquery/pull/31
要するにgoogle-api-clientが古い。ただ、

/opt/td-agent/usr/sbin/td-agent-gem update google-api-client

でやってもfluent-plugin-bigqueryが使うのが
https://github.com/kaizenplatform/fluent-plugin-bigquery/blob/master/fluent-plugin-bigquery.gemspec
にも書かれているが、

 spec.add_runtime_dependency "google-api-client", "~> 0.7.1"

なので、以下は自己責任でお願いします。とりあえず

git clone https://github.com/kaizenplatform/fluent-plugin-bigquery.git

で現行のソース拾ってきて、

fluent-plugin-bigquery.gemspec
の
 spec.add_runtime_dependency "google-api-client", "~> 0.7.1"
を
https://github.com/hakobera/fluent-plugin-bigquery/commit/57253b092d3d023755f167741c2c7eb0aed515ea
で修正されている
 spec.add_runtime_dependency "google-api-client", "~> 0.8.0"

に書き換えて

rake build
して出来上がったやつを
/opt/td-agent/usr/sbin/td-agent-gem install -l ./pkg/fluent-plugin-bigquery-0.2.5.gem
で入れた

以上です。

CentOS 6.5でgo get gopkg.in/hogehogeした時に固まる事象

結論:gitのVerが古いから。多分1.7.1系とかが入っているとダメで、2.0系とかにアップデートすると解決した。

ソース
https://github.com/spf13/hugo/issues/297

解決方法
http://www.torutk.com/projects/swe/wiki/CentOS_6%E3%81%A7git%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%92%E4%B8%8A%E3%81%92%E3%82%8B

とりあえずこれでgo get gopkg.in/hogehogeが問題無く出来る様になりました。