無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

2009-12-01から1ヶ月間の記事一覧

年末特別企画! ベストねこ写真2009

恒例の年末特別企画! Miiで「今年もっとも星がついたねこ写真ベスト100」まとめです!以下のリンクよりどうぞ。→かわいいねこの写真を表示するWebアプリ「Mii」例によって、個人的にぐっときたねこ写真をいくつかご紹介。 Chaton N°2, 2eme essai photographe…

1対多の所有関係にあるデータを記録するサンプル

Google App EngineのDatastoreで1対多の所有関係にあるデータを相互参照できる形で記録するサンプルです。 1対多 1つの親が、複数の子を持つような関係です。 親(Parent.class) ├子1(Child.class) ├子2(Child.class) └子3(Child.class) 所有関係 オブジェク…

ファイルorディレクトリのパーミッションと所有者をチェックする関数

ファイルorディレクトリの存在とパーミッション、所有者をチェックする関数を書いたのだが、 # ファイル/ディレクトリの存在とパーミッション、所有者をチェックする # useage: check <ファイルパス> <8進数表記のアクセス権> <所有者> <グループ> check(){ …

サイトの仕様変更に対応したclickclient_scrapをリリース

またサイトの仕様が変わったらしくレート一覧の取得ができなくなっていたので、変更後のサイトに対応したclickclient_scrap-0.1.9をリリースしておきました。→Github - unageanu / clickclient_scrap →Gemcutter.org - clickclient_scrapあと、これは仕様変…

Guiceのインターセプタってprivateメソッドには適用できないんだっけ?

privateメソッドにインターセプタを適用したはずが、どうもうまく設定できていない風の動作になったのでちょっと調査。ドキュメントのAOPのLimitationsのところに記述があり、適用対象のメソッド(を持つクラス)は以下の条件を満たす必要があるとのことです。…

トランザクションインターセプタ

Google App Engineのデータストア用にトランザクションインターセプタを作成。もはやお約束ですなー。 package test; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; impo…

クラスファイルを比較するスクリプト

Javaのクラスファイルを比較するスクリプトを作りました。 引数で指定したディレクトリx2内のクラスファイルを再帰的に探索し、 javapで解析。 解析結果をdiffで比較する。 というものです。 #!/bin/bash javap_r() { mkdir $1 for file in `find $2 -name "…

ファイルパスからディレクトリパス部分を取り出す。

シェルスクリプトでパス文字列からファイル名/ディレクトリ名/拡張子を抽出するより。bashの「変数展開」を使うと、ファイルパスからディレクトリパス部分をさくっと取り出せます。具体例は以下。 $ path=aaa/bbb/ccc.bin $ echo ${path%/*} aaa/bbb 変数…

javaclassでCode属性とStackMapTable属性の解析をサポート

javaclassにCode属性とStackMapTable属性の解析機能を実装してコミットしましたよ。 →GitHub - unageanu/javaclass以下はjavaclassを使ってクラスの解析結果を表示する例です。Code属性の解析をサポートしたので(昔と違って)javapに近い結果が得られるように…

Java6での修正が反映されたクラスファイル仕様書の在処

Java6での修正が反映されたクラスファイル仕様書は以下から取得できますよ。 →JSR-000202 Java Class File Specification Updateちなみに、Java1.4→Java5の変更はこちら。いやー、javaclassの単体テストが通らないなー、と思っていたらJava6で追加された属性…

デモトレードに対応させてみた

体調不良につき今日は有休なのですが、2-3時間昼寝したらだいぶ回復したので少しだけコーディング。clickclient_scrapをデモトレードでの取引に対応させてみました。といっても アクセス先URLをデモサイトの方に変更。 デモサイトのほうはログイン後のJSでの…

今日の「お前は何をやっているんだ?」

今日見つけたコード。 class Test class << self def foo puts "foo" end end end ↓と一緒と考えて意味を理解。特異メソッドを定義しているわけですねー。「def self.」とか「module_function」を使う以外にもこういう方法があるのか。ふむ。 class Test; en…

罫線を使ったツリーを書く為のユーティリティ

微妙に汎用的に使える(かもしれない)、罫線を使ったツリーを書く為のユーティリティができあがったので公開。実装とサンプルは以下です。 #罫線を使ったツリーを書く為のユーティリティ class Node def initialize( name ) @name = name @children = [] yiel…

”-rwxrwxrwx”形式のパーミッション文字列を8進数の値に変換する関数

"-rwxrwxrwx"形式のパーミッション文字列を8進数の値に変換する関数を書きました。 # "-rwxrwxrwx"形式の文字列を8進数の値に変換する。 def to_oct( permition ) raise "illegal format" unless permition =~ /[\-dbclps]([\-r])([\-w])([\-sxS])([\-r])([\…

今日知ったハック

CSS

「* + html ...」というセレクタがふんだんに使われていて、なんだこれ?と思ったらハックでした。→スター + ハックIEにだけ適用したいCSSを定義する時に使うらしい。以下はIEでのみ文字が赤で表示されるサンプルです。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </meta></head></html>

サイトの仕様変更に対応したclickclient_scrap & jiji をリリース

「サイトの仕様変更により、成り行き注文ができなくなっている」というご報告と修正パッチを頂いたので( ありがとうございます!助かります。 )、それを適用したclickclient_scrapをリリースしました。→Github - unageanu / clickclient_scrap →Gemcutter.org…

flyweightパターンを久々に見た

とあるコードを読んでいたら、flyweightパターンを使っている箇所を発見。 import java.util.HashMap; import java.util.Map; /** * IDファクトリ */ public interface IDFactory { /** * 文字列からIDを生成します。 * @param src 文字列 * @return ID */ I…

登録済みインデックスを確認する。

psqlコマンド「\di」で登録済みのインデックス一覧を確認できます。 $ psql test test=# \di List of relations Schema | Name | Type | Owner | Table --------+-----------------------+-------+----------+-------- public | test01_str_idx | index | po…

文書一覧を取得する

「/_all_docs」をGETすると、データベース内の文書一覧を取得できます。 取得できるのは、文書のIDとリビジョンIDです。 内部的にはViewになっているらしく、ViewのQuerying Optionsも使えます。 たとえば、count( 最新版ではlimit )オプションを指定して取…

SBI証券での取引に対応したjiji-1.2.6をリリース

SBI証券での取引に対応したjiji-1.2.6をリリースしました。 →Github - unageanu/jiji →Gemcutter.org - jiji不具合などありましたら、例によってこのブログのコメントまたはメールにてご報告ください。 前バージョンからの更新手順 以下のコマンドを実行して…

関数つきインデックス

「テーブルの値を関数で評価して、その結果で絞り込む」といった場合に、関数つきインデックスを作成しておくと高速にSQLを実行できます。例えば、以下のような文字列型のカラムを持つテーブルがあったとして、 test=# select * from test01 limit 10; str -…

リモートデスクトップでローカルディスクをリモートにマウントする手順

今日まで知らなかった訳ですが、リモートデスクトップにはローカルディスクをリモートにマウントしてさくっと利用する機能があったりします。ディスクを共有するための設定は以下の通り。 リモートデスクトップを起動。 [オプション]ボタンを押す [ローカル…

SQLの処理時間を計測する

日本PostgreSQLユーザ会 - SQLチューニング(1) 〜 実行時間の計測より。psqlで実行したSQL文の処理時間を出力するには、「\timing」を使います。 psqlを起動して、 おもむろに「\timing」! SQLを実行すると、結果の後に「Time: ms」という感じで処理時間が出…

修飾子の優先順位

if修飾子とrescue修飾子を両方つけるとどうなるか、という話。以下のコードを実行すると、 puts "aaa" if true rescue puts "xxx" puts "bbb" if false rescue puts "xxx" raise "aaa" if true rescue puts "xxx" raise "bbb" if false rescue puts "xxx" pu…

TAI64N形式の文字列をTimeに変換する関数

ログを抽出する際にtai64nlocalするのを忘れたため、rubyで解析する羽目に。ということで、いろいろ手抜きしつつTAI64N形式の文字列をTimeに変換する関数を書きました。 「@40000000」ではじまる文字列のみ解析可能。(つまり1970-1-1以前の日時は解析できま…

CouchDBにRubyでアクセスしてみる

RubyでCouchDBにアクセスし、データの登録や取得を行うサンプルです。 CouchDBのインターフェイスはHTTPになっていて、GETやPUTで値の取得や登録ができます。 Ruby用のアクセスライブラリもいくつかあるようですが、HTTPでアクセスするだけならhttpclientで…

Ubuntu 9.0.4にCouchDBをインストールする手順

Ubuntu 9.0.4にCouchDBをインストールする手順です。 インストール aptで。 $ sudo apt-get install couchdbバージョンがちと古いな(0.8.0)。まぁいいか。 起動 $ sudo /etc/init.d/couchdb start 接続してみる。 インストール先ホストから、ブラウザで以下…

DeamonToolsで管理しているTomcatのGCログを別のファイルに出力する

DeamonToolsで管理しているTomcatさんのGCログを別のファイルに出力する設定手順です。普通に出力してしまうと他のログに紛れて流れてしまう可能性が高いので、その防止に。あとでログを解析してデータを取り出すのも面倒だしね。ということで、具体的には「…

OpenSTAのTimers.csvを解析するクラス

OpenSTAの「Timer List」-「Export」で出力できるTimers.csvを解析するクラスを書きました。 処理時間をTimerごとに集計し、以下の値を算出します。 平均 最大 最小 スループット 計測期間のうち、前後の指定された期間のログをカットする機能付きです。 req…

Javaのopcodeとパラメータの表

Javaのopcodeとそのパラメータの表です。Java Virtual Machine Online Instruction Referenceにて公開されている情報をありがたく再編集させて頂きました。 名前 説明 aaload retrieve object reference from array [u1] aaload (0x32) aastore store object…