ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

#hcj13w 午前1.開会

2013-01-21 20:17:58 | PG(分散処理)

今日はHadoop Conference Japan 2013 Winterに参加してきたので、聞いてきたことをメモしておきます。
普通だったら全部まとめて1つのブログにするんだけど、量が多そうなので分割します。
(→togetter) 


まずは一番最初の開会の様子。いきなり、しょっぱなのオープニングムービーがあああw
こういうのってリクルートさんが作ってるんだろうなぁ。普通のイベントだったら格好いいと思うんだけど、時折出てくるHadoopの象のあの笑顔が違和感ありまくり・シュールで超笑える。よく出来てるw

で、濱野さんの挨拶から。(→資料
 Hadoopカンファレンス系は今回で4回目、定期的ではないけれど だいたい毎年やっている。今回のは2012年度相当。
前回から1000人越えで今年はとうとう東京ビッグサイトで開催。コミュニティーレベルの運営では今回くらいの規模が限界とのこと。っていうか、この規模でやってるだけでもすごいと思います。

事前アンケートの分析もなかなか興味深かった。
1.Hadoopの経験年数は前回に比べて順当に上がっている感じがしたけど、「使っている人は使い続けているが、新規に使い始める人が少ないかも?」という分析。

2.使っているHadoopのバージョンは、CDH3がダントツでトップ(2位の倍近い人数)なのは納得だけど、2番目がCDH4ってのはびっくり。3位グループはApache Hadoop0.20・1.0・EMRがほぼ同数、ちょっと下にMapR、その次がHadoop0.21。Apache Hadoop 2.0を使っている人がいないのに、CDH4は使われてるんだなぁ。
CDHを使おうとして、最新バージョンである4を使ってるってことかなぁ。
アンケートで「利用予定」と答えていた人は、使う予定のバージョンがどれもほぼ同数だったとのこと。バージョンが多すぎて、どれを使うか決め切れていないのではないかという分析でした。
(経験年数3年なのにCDH4を使っていると書いている人がいたという話は笑った(CDH4は出てからまだ1年経っていないはず)けど、「3年間のうちの最近はCDH4」というのはありうるかもしれない、と今思ったw)

3.使っているエコシステム、トップはHiveで相変わらず。2位のHBaseって本当か?w
ちなみに自分はAsakusa Frameworkが入っていなかったので回答できなかったですw

講演は基本的に公募。テーマは幅広くしたとのこと。
トラックは3つあって、種類に応じて分けてある。
(7階)テクノロジー系
(1階A)事例系
(1階B)ソリューション系および周辺ツール・その他
自分はアジェンダを見て1Bに張り付く予定だったんだけど、つまり自分の興味がソリューション系だったってことを認識させられたw

ユーザー会っぽくないとのことだったけど、展示ブースも初お目見え。
(でもすみません、見てる時間無かったですorz 講演が全部終了した後に見に行こうと思ったら、もう終わってた…)

あと、有志によるHive Tシャツがお披露目。
背中側の蜂の大群っぽい表現がよく出来すぎている気がしました!w

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Eclipseプラグイン公開方法

2013-01-16 22:29:01 | PG(Java)

開発したEclipseプラグインを公開する方法についてメモ。

Eclipseプラグインは「新規ソフトウェアのインストール」でインストールできるので、その為のダウンロードサイト(更新サイト)を用意すればよい。
更新サイトを作るためには、フィーチャー(プラグインのアーカイブのようなもの)を作る必要がある。 

現在開発中のEclipseプラグイン(およびフィーチャープロジェクトや更新サイトプロジェクト)はgitで管理しているので、そのままGitHubにpushして更新サイトに出来れば楽。
GitHubのサービスのひとつであるGitHub Pagesを使うとそれが実現できる。
(GitHub Pagesの作成方法自体は簡単だったのだが、最初にサイトが表示されなくてハマったorz どうも、GitHubに登録したメールアドレスの認証(verify)が済んでいないとサイトが表示されないらしい。そんな事でハマっているのは自分くらいかも(苦笑))

で、これにより、試しに作っているAsakusa FrameworkのDMDLエディタープラグインを公開してみた。
自画自賛になるけど、DMDLのキーワードに色が付いているとなかなか良い感じ(笑)
たとえ半端な色の付き方をするバグがあってもね^^; (GitHubのIssuesも便利だなw) 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

DMDLエディター

2013-01-14 23:59:34 | PG(Java)

Eclipseプラグインの開発の勉強として、Asakusa FrameworkのDMDLエディターを作ってみようと思ってやってみた。
TextEditorについては本にも載っているしXMLエディターのテンプレートで基本は出来るので、最初の準備はクラス自体は多めだけど、コピペしていけばいいだけ。

しかしまずコメントの色付けを行うに当たり、Damager/RepairerでDefaultDamagerRepairerとNonRuleBasedDamagerRepairerのどちらを使えばいいのか迷った。
ScannerもPartitionScannerと単なるScannerの二種類出てくるし、片方はTokenに文字列を指定するのに他方はTextAttributeで色を指定してるし。
色々ウェブサイトを見て調べた結果、エディター上のテキスト(ドキュメント)をまずパーティションに分割することが分かった。そして、パーティションの種類によってはさらにパーティション内を構文解析して複数のTokenに分かれる。
で、パーティションのTokenにはパーティション名を示す文字列を指定し、パーティション内部の一部分を表すTokenではTextAttributeで文字列のスタイル(色など)を指定する。
Damager/Repairerは、パーティション内部の構造がある場合はDefaultDamagerRepairerを使い、構造が無い場合(コメント等)はNonRuleBasedDamagerRepairerを使う。(ここでいうNonRuleというのは、「内部構造(構文解析ルール)が無い」という意味らしい)
TODO: 「/*」「*/」で囲まれたコメントの途中に文字列を追加したり削除したりした場合に色が変になることがあるorz

ここまで出来てしまえば、キーワードに色を付けたりするのは比較的簡単w
TODO: キーワードが単語の途中にあっても色が付いてしまうorz

あと、括弧「{」「}」にカーソルを当てたときに対応する括弧が強調表示される(灰色の四角で囲まれる)のも本を見たら簡単だったのでやってみた。
TODO: コメント内に括弧があった場合、そこが強調表示されてしまうorz

さて、ここから先もまだ色々作ってみたい仕様があるけど、これ以上はデータモデルの定義部分をちゃんと構文解析しないと駄目そう。
RuleBasedScannerを参考にすれば良さそうだという事は分かったんだけど、nextToken()でTokenを返していく形式で解析する方法が思い付かない…。
そもそも今までやったことがある構文解析って、四則演算のライブラリーくらいだからなぁ。これは解析結果をツリー状に蓄積していく方式だったので、ちょっと違うんだよなぁ。どうしたものか。 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Eclipseプラグイン開発 コマンド

2013-01-13 13:28:45 | PG(Java)

Eclipseプラグイン開発の基礎の勉強の続き。
マニフェストエディターの使い方Hello Worldの例のコマンド版のメモ。

依存プラグインの追加はマニフェストエディターで行うのが楽。
また、plugin.xmlへのextension(拡張ポイント)の追加は、当然plugin.xmlを直接テキストエディターで追加することで出来るが、マニフェストエディターで追加すると依存プラグインも追加してくれるような気がする。

Hello Worldのコマンド版は、テンプレートのひとつ。
最初はHello Worldのアクション版を試したんだけど、アクション版の方がextensionは1つで済む反面、実際に応用(メニューやツールバー・ショートカットキーの追加を)しようと思ったらコマンドを使う方が分かり易そう。 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

CreateProcess関連

2013-01-10 19:49:10 | PG(C言語)

Windows API(C言語)のCreateProcessCreatePipe・DuplicateHandleConsoleCtrlHandlerについてメモ。
この辺りについては昔から色んな人が色々書いているので、今回はエラー処理も略さず書くようにしてみた。 

プロセスの生成・別プログラムの実行はUNIX(POSIX)のforkexecには似ていないが、パイプとかハンドルの複製とかはUNIX(POSIX)のpipe・dup2に似ている。
でもハンドルの継承まわりは理解できるまで超意味不明だった(爆)

しかしC言語は面倒くさいわー。
今回の例はgccで書いたからまだマシだけど、エラー時もハンドルをちゃんとクローズしようと思ったら、try~finallyが欲しくなる^^;
素直にsetjmp/longjmpを使う方が楽かもしれない(苦笑)

たまにC言語をやってみると、Javaがいかに便利か(C言語の不便な点を改良しようとしたか)よく分かる。
Javaが不便だとか言ってる人は、C言語は絶対出来ないなー。
そんで、そういう人がScalaを覚えたらJavaには戻れないだろうなw

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする