メソッドの引数に変数を渡す - JNI サンプル

Java のクラスメソッドに、変数を渡すサンプルを書いてみた。 int, String, String[] の 3 つ。 基本的には、Java に渡すために変数を変換してあげるくらいで、それ程手間ではないかな。動くからって今のコードが正しいと言えないものなので、いくつか確認は必要かな。 あと、エラー処理が足りない。 int の場合 http://qtakamitsu-snippet.googlecode.com/svn/trunk/lang/c/jni/args_int/ String の場合 http://qtakamitsu-snippet.googlecode.com/svn/trunk/lang/c/jni/args_string/ String[] の場合 http://qtakamitsu-snippet.googlecode.com/svn/trunk/lang/c/jni/args_string_array/

Read More

HBase にテストデータを登録する

HBase のスタンドアローンでローカルにインストールしたので、テストデータを登録してみる。 実行結果 create 'test', 'cf' put 'test', 'row1', 'cf:a', 'value1' put 'test', 'row2', 'cf:b', 'value2' put 'test', 'row3', 'cf:c', 'value3' $ hbase shell HBase Shell; enter 'help<RETURN>' for list of supported commands. Type "exit<RETURN>" to leave the HBase Shell Version 0.90.3, r1100350, Sat May 7 13:31:12 PDT 2011 hbase(main):001:0> create 'test', 'cf' 0 row(s) in 1.7890 seconds hbase(main):002:0> put 'test', 'row1', 'cf:a', 'value1' 0 row(s) in 0.1660 seconds hbase(main):003:0> put 'test', 'row2', 'cf:b', 'value2' 0 row(s) in 0.

Read More

HBase をインストール (stand-alone, HBase only)

Cent OS 5.5 (32bit) に HBase 0.90.3 を入れてみる。 0.20 のときは、起動する際にパスワードを聞かれていた気がするけれど、聞かれなくなっていた。 0. 準備 HBase は 1.6 以降の Java が必要なため、インストールしておく。 実行するユーザーに環境変数 JAVA_HOME を設定する。 export JAVA_HOME=/opt/java/jdk1.6.0_22 1. HBase パッケージをダウンロードする [[HBase - HBase Home|http://hbase.apache.org/]] から、パッケージをダウンロードする。 2. インストール環境を構築する インストールしたい場所に、hbase-0.90.3.tar.gz を置き、ファイルを展開する。 $ tar zxf hbase-0.90.3.tar.gz $ cd hbase-0.90.3 /home/hbase/opt/hbase-0.90.3/data にデータを保存するようにする。 $ vim conf/hbase-site.xml <configuration> <property> <name>hbase.rootdir</name> <value>file:///home/hbase/opt/hbase-0.90.3/data</value> </property> </configuration> 3. 起動してみる [HBaseインストール先]/bin/start-hbase.sh にあるファイルを実行する。 <<< $ ./bin/start-hbase.sh starting master, logging to /home/hbase/opt/hbase-0.90.3/bin/../logs/hbase-hbase-master-centos5.5.out >>>

Read More

クラスメソッドを呼ぶ - JNI サンプル

Java で定義したクラスメソッドを C から、呼んでみる。 Java のソースコード $ cat ClassMethodSample.java public class ClassMethodSample { public static void main (String[] args) { System.out.println("main"); } public static void SayHello() { System.out.println("Java> Hello world."); } } C 言語のソースコード #include <stdio.h> #include <stdlib.h> #include <string.h> #include "jni.h" int main(int argc, char **argv) { JNIEnv *jenv; JavaVM *jvm; JavaVMInitArgs jvm_args; JavaVMOption jvm_options[1]; jclass klass; jmethodID mid; int ret; jvm_options[0].optionString = "-Djava.class.path=./java"; jvm_args.version = JNI_VERSION_1_6; jvm_args.

Read More

「第67回codeseek勉強会&第8回日本C#ユーザー会 勉強会」に参加してきた

ざっくりだけれど、.NET Framework のこれからが分かったかな。 スレッド周りの仕様はもっと知りたいと思ったし。座談会の内容を聴いていると、買っても良いかなと思った。 でも、特に座談会の最後は、何を言っているか分からなかった。単語は何となく聴いたことがあるものだったが、どう処理されたりするのかがまったく想像つかなかった。そういう部分とかの、知識の幅を広げていけたら良いな。 それと、まさかじゃんけんに勝って、書籍をもらえるとは思わなかった。 これからは、C# ショートコードプログラミングを片手に、勉強をしてみようかな 今回の勉強会には、F# をやっていくために、C# と .Net の知識を深めようと参加したけれど、少しはいい方向に進んでいると思う。 テーマ: プログラミング .NET Framework 第3版 訳者、監修者による座談会と、本書をテーマとしたセッションを2・3本行う予定です 第67回codeseek勉強会&第8回日本C#ユーザー会 勉強会 - 日本 C# ユーザー会 http://csharp-users.jp/meeting/%E7%AC%AC67%E5%9B%9Ecodeseek%E5%8B%89%E5%BC%B7%E4%BC%9A%EF%BC%86%E7%AC%AC8%E5%9B%9E%E6%97%A5%E6%9C%ACc-%E3%83%A6%E3%83%BC%E3%82%B5%E3%83%BC%E4%BC%9A-%E5%8B%89%E5%BC%B7%E4%BC%9A

Read More