AIプログラムとかUnityゲーム開発について

探索や学習などを活用したAI系ゲームを作りたいと思います。

VPSレンタル #2

今更TokyoCabinetもないやろうと思って、KyotoCabinetか?と思ったけど、今更それもないやろう
ということで、リサーチしてみるとcassandraというのが凄いらしいので、試しにそれを入れてみよう
HDD50GBしかないけど大丈夫だろうか。メモリも1GBだし。
だめならサーバー初期化すればいいし

hiroto1979.hatenablog.jp

上記を参考にcassandraインストールできた。次は、perlとのインタフェースを入れる。
まずはcpanからいれないといけない。

と思ったけど、cassandraはやめてKyotoCabinet入れてみた( ゚Д゚)ひよった。

ここを参考にインストール。途中でmakeでerrorになり止まる。
Linux/KyotoTycoonインストール - 初心者エンジニアの簡易メモ

ここを参考にソースを修正してmake通った。
CentOS 7 に Kyoto Tycoon を入れて遊ぶ。 - Qiita

/usr/local/bin/ktremotemgr set k1 v1
/usr/local/bin/ktremotemgr get k1
>v1

動いた。
次はperlからのインタフェースに移る。

ここを参考にCache::KyotoTycoonをcpanからinstallした。
途中足りないモジュールがあって指摘されたが、順次installして完了
Masanoriのプログラミング日誌++: Kyoto Tycoonの導入とperlからのアクセス (on Fedora 17 and Ubuntu)

上記のコードで時限機能があって凄い便利。TokyoCabineは無かったので、時間を埋め込んで手動でやっていた。
ただしコード上のsleep(2500)は間違いで、この関数は引数は秒なので、sleep(2.5)としないといつまでたっても終わらない。

use Cache::KyotoTycoon;

my $kt = Cache::KyotoTycoon->new(
    host => '127.0.0.1',
    port => 1978,
);

$kt->set('foo', 'bar');
print $kt->get('foo') ."\n";

$kt->set('foo2', 'bar', 2); # 2sec
print $kt->get('foo2') . "\n"; # OK
sleep(3);
print $kt->get('foo2')."\n";
exit;


CGIとしては次のような感じでブラウザ上からは動いた。

#!/usr/bin/perl

use Cache::KyotoTycoon;
use CGI;

our $cgi = CGI->new;
print CGI::header(-charset=>"utf-8");

our $key   = $cgi->param('k');
our $value = $cgi->param('v');
our $act   = $cgi->param('a');

our $kt = Cache::KyotoTycoon->new( host => 'localhost',  port => 1978 );

if($act eq "set")
{
	$kt->set( $key , $value );
}
if($act eq "get")
{
	$value = $kt->get( $key );
	print $key."<>".$value."\n";
}

$kt->close();
exit;

tokyoCabinetではputだったのがsetになっている。紛らわしい。


次はUnityのアプリからアクセスしてみる。