Furyu

[フリュー公式] Tech Blog

フリュー株式会社の技術ブログです

2012年11月21日

fluent-plugin-hbaseを公開しました

こんにちは。ソフトウェア開発部の九岡です。

弊社ではソーシャルゲームのログ解析を行なっています。

次の案件ではログのETLをリアルタイムに行うためにイベントログ収集ツール『Fluentd』分散DB『HBase』を利用したいのですが、要件に合うFluentdプラグインが見つからなかったので作ってみました。

Furyu/fluent-plugin-hbase · GitHub

特徴は2点です。

  • Fluentdに送信されたイベントログをバッファリングして、一定間隔でまとめてHBaseに書き込む
  • イベントログのタグ、タイムスタンプ、JSONのフィールドからHBaseの列ファミリーおよび列へのマッピングをFluentdの設定ファイルで記述できる

非常にシンプルなプラグインですね!

感想

Fluentdプラグインをフルスクラッチで開発したのは今回が初めてですが、プラグインやそのテストのフレームワークが用意されていたおかげで思っていたよりサクサクと開発できました。Fluentdの拡張性の高さを感じます。

また、詰まったときにtwitter上でアドバイスをいただくという、Fluentdコミュニティのヌクモリティを感じる一幕もありました。

最後に

Fluentdにはログ解析を初めて以来ずっとお世話になっています。今回のプラグイン開発のように、こちらからもコミュニティに貢献していければと思います。

Thanks to Fluend & it’s community.
Enjoy the Fluentd HBase plugin!


2012年11月13日

sakata

関西Javaエンジニアの会(関ジャバ) ’12 10月度開催しました!そして次回関ジャバスペシャル!

Hello World!ソーシャルネットワーク事業部の、jyukutyoこと阪田です。

私が運営にたずさわっている関西Javaエンジニアの会(関ジャバ)を、10月に開催しました。場所は、いつも会場を提供していただいている、京セラコミュニケーションシステム株式会社さんの会議室です。おかげさまで30人の定員が満席となり、追加で定員を拡大するほどとなりました。

今回のスピーカーは、フリューの3人でした!

  1. ブラウザテストを自動化することにした(@jyukutyo)
  2. HTML5のマークアップ
 ここが違う!(@issps2009)
  3. git gitにされたオレの屍を超えていけ(@daiksy)

1.は、デブサミ関西で私がスピーカーをしたセッションの再演です。Seleniumを使ってブラウザテストを実施し、それをTestNGを使って自動化、グループ化するという内容でした。さらに、JenkinsとSelenium PluginでSelenium Grid環境を構築し、分散テストにするというデモをしました。資料はこちらです。

デブサミ関西2012 B-3 from jyukutyo

2.では、弊社のフロントエンドエンジニアである@issps2009から、プログラマ向けにHTML4とHTML5の違いを話しました。よく間違われるのですが、関ジャバはJavaの勉強会ではありません。Javaエンジニアのための勉強会であり、広い範囲の内容をターゲットにしています。このセッションでは、特にセクション関連の要素について解説しています。私も知らなかったことばかりでした。よくまとまっている資料なので、ぜひご覧ください!

HTML5のマークアップ
 ここが違う! from i いっさん

3.では、@daiksyから実プロジェクトにおいてGitを使ったときに起こった問題点などを話しました。特に、Gitのネットワークグラフについて、軽妙なトークで笑いを交えながら様々な事例を挙げました。弊社では、現在SubversionからGitへの移行が進んでいます。プロジェクトでGitを使い始めたという方は、私たちと同じ轍を踏まないよう、ぜひ資料をご覧ください!

git gitにされたオレの屍を超えていけ from Daisuke Kasuya

次回は関ジャバスペシャル!

関ジャバは普段平日開催です。ですが、次回は関ジャバスペシャルと題して、12/1(土) 13:00から開催します!場所は日本オラクル株式会社 西日本支社です。スペシャルなだけに、豪華ゲストが2名!ご存知Javaエバンジェリスト、日本オラクルの寺田佳央さんと、Java in the BoxやIT ProのJava技術最前線でおなじみの櫻庭祐一さんです。関西にこのお2人が来て下さることはめったにありません。ぜひみなさんご参加ください!

参加登録はこちらから。

http://connpass.com/event/1261/

LTのスピーカーを募集しています!

関ジャバは基本的にロングセッションのみですが、スペシャルなのでLT枠を設けています(以前の関ジャバカンファレンスでもそうでした)!スピーカー募集中です。もし希望される方は、Twitter @jyukutyoまでmentionまたはDMしていただければOKです!


2012年11月5日

PleiadesでIntelliJ IDEA を日本語化してみよう

巷で噂のIntelliJ IDEA。便利なIDEを日本語化してもっと便利に使おう!と思いやってみました。

ググるとPleiadesがIDEAでも動くようです。

Pleiadesは(おそらく)日本で一番普及しているeclipseのディストリビューションで、バイトコード書き換えによる動的アスペクト翻訳!が特徴です。

IntelliJ IDEAのサイト

pleiadesのサイト

動的アスペクト翻訳は実行時にメモリ上の単語を別の単語に書き換えており、読書に例えると異国の本を読むための「翻訳メガネ」のような素敵なものです。

素のIDEA。英語が目に刺さります。


必要なファイルをコピーする

筆者の作業環境に(たまたま)インストールされていたeclipse4.2のpleiades版から必要なファイルをIDEAにコピーします。

このディレクトリを

ここにコピーします。


IDEAの起動設定を変更

下記の起動設定ファイルをお好みのエディタで開きます。

一番下にVMオプションのjavaagent設定を追加し、先ほどコピーしたpleiades.jarを指定します。

idea.exe.vmoptions 

javaagentは、Javaの実行環境がプログラムをファイルシステムから読み込む際に使用できる拡張ポイントです。

これを使ってクラスローディングのタイミングでバイトコードを操作する事が可能で、pleiadesのヒミツはこのあたりにあるようです。

これでIDEAを起動してみましょう

お見事!しっかり日本語になっている!目に優しいですね。

、、、、しかし、英語のままになっている箇所も多いです。。

これはpleaidesの辞書がeclipse用なので、eclipseに無い単語は訳せずそのまま表示されてしまっているようです。


オレオレ辞書を追加してみる

では、IDEAに合わせた単語の訳を追加してみましょう。

によると、additionsディレクトリにある*.propertiesファイルにお好みの訳を追加できるようです。

まずShift_JISでプロパティファイル形式な辞書ファイルを作ります。

idea.native(ファイル名は何でも良い)

左が英語、右が対応する日本語です。

このファイルをunicodeエンコーディングし、propertieファイルを作成します。

エンコーディングされた辞書ファイルidea.propertieがadditionsに作成されます。

これでIDEAを起動してみましょう

お!訳した語が追加されてますね!

ちなみに、起動オプションに=enabled.not.found.log を追加

idea.exe.vmoptions 

これで起動すると

が作成されます。これは訳せなかった単語のリストなので

これを基に翻訳すると色々捗りそうです。。。。たくさんありますねー(・・)

日宇