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

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

2007-08-01から1ヶ月間の記事一覧

ファイルアップロードを受け付けるCGIの簡単なサンプル

ファイルアップロードを受け付けるCGIのサンプルです。アップロードされたファイルの名前と中身を表示するだけ。file.cgi: #!/usr/bin/ruby -- require 'cgi' print "Content-type: text/html\n\n" cgi = CGI.new value = cgi.params['file'][0] puts "file …

「エラーの原因ごとに例外の型を別ける」のはどうなの?

Java-APIでの例外設計について。 「エラーの原因ごとに例外の型を別ける」のはどうなの? という話です。個人的にはあんまり意味ないし、クラス書くのが面倒という点で好きではありません。 エラーの原因ごとに例外の型を分ける API内で発生するエラーの原因…

Subclipseでブランチの変更を本流にマージする。

Eclipse+SubclipseでSubversionのブランチで行った変更を本流にマージしてみます。 シチュエーション 本流から分岐したブランチAを作成 ブランチAに複数の変更をコミット。 ★ブランチAへの変更のうち、リビジョン100〜102の変更を本流にマージしたい。 手順 …

画像とテキストを横方向中央に揃える

CSS

ブロック要素内の画像とテキストを横方向中央揃えにするには、「vertical-align」を使います。(にしし ふぁくとりー さんの 「行内の画像を、文字の(上下方向での)中心に合わせて配置する」を参考にさせていただきました。) 最も高さのあるインライン要素…

ファイルのメッセージダイジェストを計算する。

SHA1でファイルのメッセージダイジェストを計算するユーティリティを書きました。 import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.security.DigestException; import java.sec…

static変数

C++

関数内のローカル変数の宣言時に「static」を付加すると、static変数になります。 static変数は初回の関数実行時に一度だけ初期化されます。 値は関数呼出し後も保持されます。 「関数内グローバル変数」といった感じ。以下はサンプルです。 #include <iostream> int g</iostream>…

関数/関数のプロトタイプ宣言

C++

関数を定義してみます。 形式 基本の形式は次のとおり。Javaと似た感じです。 <戻り値の型> <関数名>( <引数の型> <仮引数>, <引数の型> <仮引数> ... ) { 処理 ... } サンプル #include <iostream> // 関数定義 int add( int i ){ return i+1; } int main() { int i =</iostream>…

グローバルインターセプター

JavaScriptで動くDIコンテナの解説その3。グローバルインターセプターはすべてのコンポーネントに適用されるインターセプターです。複数のコンポーネントに一括してインターセプタを適用したい場合に使います。 binder.bindInterceptor()でコンテナに登録し…

認証有りのCVSからソースコードを取り込む。

内部的にはcvsコマンドを実行してソースコードを取得しているようなので、cvsコマンドで事前に認証しておけばOKです。 $ cvs -d :pserver:foo@xxxx:/home/guest/cvs login # ログイン Logging in to :pserver:foo@xxxx:2401/home/guest/cvs CVS password: # …

ASTRAを使ってグラフを描いてみる

YahooのUIコンポーネントライブラリ「ASTRA」を使って棒グラフを描いてみます。 ダウンロード Flex SDKでASTRAを使うために必要なモノは次の2つです。 ASTRA ASTRAのサイトからダウンロードします。 Flash CS3のコアクラス(fl.core.UIComponentなど)のソース…

インターフェイスに実装を書く

無名クラスを使うとインターフェイスに実装を書くことができます。 import java.io.File; /** * 一時ファイルディレクトリ解決サービス * * @version $Revision:$ * @author $Author:$ */ public interface TemporaryDirectoryService { /** * 一時ファイル…

Java実行環境のOSを判定する

Java実行環境のOSを判定するAPI(というか定数)が「commons-lang」のorg.apache.commons.lang.SystemUtilsにあります。ナイス。(もうちょっとで「os.name」システムプロパティの解析コードを書くところでした・・。)ただ、booleanの定数になっていてやや使い…

インクリメント

C++

当然C++では可能ですが、JavaScriptなどでも可能かどうかまとめておきます。(すぐに忘れるので。) 言語 インクリメント(i++) 複合代入演算子(i+=1) 演算子オーバーライド C++ ○可能 ○可能 ○可能 Java ○可能 ○可能 ×不可 JavaScript ○可能 ○可能 ×不可 Ruby ×…

Hello C++ World!

C++

ここでC++ですよ。 遥か昔に買って放置していたはじめてのC++を参考に遊んでみたいと思います。まずはHello World。 環境 Linuxでg++を使います。 Hello World 本に載ってたコードを丸写し。 #include <iostream.h> int main() { cout << "Hello C++ World" << endl; ret</iostream.h>…

ソースコード検索システムgonzuiをインストールした

ソースコード検索システム「gonzui」をインストールしてみました。これで、たまに参照するけど開発環境に取り込むほど使ったりはしないようなコード(例:6階のあれとか)を管理しようという算段です。 環境 cent-os4 インストール 動作条件のうち、Ruby ライブ…

ソースコード検索システムgonzuiをインストールした

JavaBeanを別のJavaBeanに変換する

JavaBeanを別のJavaBeanに型変換して値をコピーするユーティリティ。DXOを書くのが面倒になったときに使えます。 機能 JavaBeanを別のJavaBeanに型変換します。 変換前のクラス、変換後のクラス共にJavaBeanである必要があります。 同じ名前のプロパティをコ…

バインドメソッド

JavaScriptで動くDIコンテナの解説その2。バインドメソッドは、登録済みコンポーネントの任意の関数をコンポーネントとして登録する機能です。 モデルのリスナーとしてUIコンポーネントの関数を登録。 →変更通知を受けてUIを更新。 通信エラーのコールバック…

ネストしたタスクのサポート

自作のタスクで、ネストしたタスク(要素)を受け付けるようにするには、 ネストしたタスクに対応するオブジェクトを作成し、 タスクに、↑のオブジェクトを設定(または作成)するAPIを追加 します。 ネストしたタスクに対応するオブジェクト publicなデフォルト…

Antタスクを作る。

今さらですが、Antタスクを作ることになりました。 タスククラスの作成 org.apache.tools.ant.Task を継承して作ります。 execute()にタスク実行時の処理を書きます。 パラメータを受け取るには、パラメータ名に対応するsetterを定義します。 「name」パラメ…

無名関数で再帰

arguments.calleeで現在実行中の関数そのものを取得できます。これを利用して無名関数で再帰を行うことが可能です。 var stdout = document.getElementById("stdout"); // 無名関数の再帰 (function( x ) { stdout.innerHTML += x + "<br/>"; if ( x > 0 ) { argu</br/>…

メソッド実行結果をキャッシュする

Rubyオブジェクトのメソッド実行結果をキャッシュするユーティリティを書きました。 メソッドインターセプタで実装しています。任意のクラスのメソッド実行結果を透過的にキャッシュ可能にします。 キャッシュはYAMLファイルに記録されます。 require "fileu…

CSS Grid

CSS Gridを使うと、単純な横方向分割レイアウトが簡単に実現できます。 実行準備 次のCSSをインポートします。 <link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.3.0/build/grids/grids-min.css"> レイアウト 基本的な使い方は次の通りです。 親要素のdivに「yui-g*」を設定。 分割の方式はここで設定するクラスで決まります。 利用可能な値</link>…

ERBでソースコード生成

ERBはRuby標準添付のテンプレートエンジンです。 テンプレートはeRuby(任意の文書にRubyスクリプトを埋め込む書式)で記述します。 モデルにはBindingを指定します。テンプレート内では、Bindingに封入されたローカル変数や関数にアクセスできます。 require …

instanceof演算子

instanceof演算子でオブジェクトがクラスのインスタンスであるか評価できます。 組み込みクラスだけでなく、自前のクラスも正しく判定できます。 プロトタイプチェーンも辿ってくれるようです。 // クラス function Hoge() {}; function Foo() {}; Foo.proto…

JavaDocに画像を貼る。

JavaDocに任意の画像を貼り付けるには以下のようにします。 画像を貼り付けたいクラスのソートコードがあるディレクトリに「doc-files」ディレクトリを作成し、画像をそこにコピーします。 com.example.Hoge クラスや com.exampleパツケージのpackage.xmlで…

YUI Test

YUI TestはxUnit風のテスティングフレームワークです。xUnitを使ったことがあれば、簡単に使えます。サンプル: // YUILoaderでYUI Testをロード var loader = new YAHOO.util.YUILoader(); loader.require("yuitest"); loader.insert(function() { // テスト…

JavaScriptで動くDIコンテナを作ってみた。

JavaScriptで動くDIコンテナを作ってみました。(→計画) 一般的なDIコンテナが持つ機能をサポート インスタンス管理(Singleton or Prototype)、プロパティインジェクション、初期化メソッドの実行など コンポーネント定義はJavaScript APIで。 設定ファイルは…

自作のスクリプトファイルをYUILoaderでロードする

YUILoaderを使うとYUIのモジュールは簡単にロードできます。YUIを読み込んだスクリプト内で使う分にはこれで問題ありませんが、別のスクリプトファイル中で利用している場合、注意が必要です。 YUI ←依存← 自作のスクリプト ←依存← index.html (ここでYUILod…

YUILoader Utilityで依存モジュールをロード

YUILoader Utilityを使うとYahoo! UI Libraryのモジュールを簡単にインポートできます。 依存関係もサポート。必要な依存モジュールを芋づる式にインポートしてくれます。 Yahoo! UI Library2.3.0から追加されました。 Loggerモジュールのロード サンプルと…