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

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

2008-03-01から1ヶ月間の記事一覧

今日の無限ループ

次のようなコードを書いたら、IE6で無限ループに! // テスト用オブジェクト function Test() {} Test.prototype = { a: function() {}, b: function() {} } var test = new Test(); // for .. inでループ → IE6だと無限ループに! for ( var i in test ) { do…

URL変更に対応したCLICK Clientをリリース

URL変更に対応したClickClient v0.0.2をリリースしました。→CLICK Client変更点は、接続先WebサービスのURLのみ。(→クリック証券 - URL完全移行のお知らせ)あと約定情報取得のテストケースをちょっと直しました。 更新方法 すでに導入済みの方は、以下のコマ…

PPTP/L2TP

物理/データリンク層のパケットをカプセル化して転送するトンネリングプロトコル。拠点-クライアント接続でのVPNで使われる。似たような機能のIPSecは拠点間接続向き(ということは、きっとこっちのほうがクライアントの設定が簡単なんだろうな。)。SSLは同じ…

ディレクトリ階層をツリー表示するプログラム

ローカル環境にtreeが入っていなかったので、rubyで書いてみました。 # #== ディレクトリ階層をツリー表示する。 # def tree( path, stack=[], has_next=false, &block ) puts stack.join << (has_next ? "├" : "└" ) << File.basename( path ) if File.dire…

カレントディレクトリをエクスプローラーで開く一行

Cygwinから、カレントディレクトリをエクスプローラーで開く一行。 $ explorer.exe "$(cygpath -wa `pwd`)"仕組みは以下。 pwdでカレントディレクトリを取得。 cygpathでCygwinのパスをWindowsのパスに変換。 変換したパスを引数として、エクスプローラーを…

returnについて思うこと。

rubyの関数ではreturnを省略できますが、個人的には明示する方がよいかなと思っています。理由は以下の2つ。 何が返されるのかが、わかりやすい。 returnに続く処理を読めば、何が返されてくるか一目瞭然です。 というか、returnがないと、そもそも戻り値を…

可変長引数

可変長引数の使い方。Javaのとだいたい同じ感じです。 引数に「*」をつけると可変長引数となります。 可変長引数とされた場合、関数呼び出し時に指定された引数のうち、普通のをのぞいた残りの引数が配列に格納されて関数に渡されます。 関数内では可変長引…

define_methodを使ったインターセプタ

前に作ったmethod_missingを使ったインターセプタですが、これには「インターセプタ適用対象のオブジェクト内で呼び出した自身のメソッドにインターセプタが適用されない」という問題があります。まぁ、わかっていたことですが、それだと困る状況に陥ったた…

動的に作成したエントリにはてなスターをつける

JavaScriptで動的に作成したエントリに、はてなスターをつけられるようにするサンプルです。 HatenaStar.jsを取り込むと、ドキュメントロード時に指定されたルールに従ってはてなスター対象となるエントリが検索され、☆追加ボタンや☆数の表示が行われますが…

アクセス制御

データやデバイスのアクセスコントロールを行い、権限のないユーザーからの不正利用を防ぐ。情報漏えい対策の基本。制御対象となるリソースを「オブジェクト」、アクセスする主体を「サブジェクト」と呼ぶ。 制御方式 制御方式として以下がある。 任意アクセ…

特定Webサイトをまとめてダウンロードする

wgetでできます。 「-r」オプションを指定すると、指定サイトのリンクを辿ってファイルをダウンロードしてくれます。 「-l」でリンクを辿る深さを指定。 「-k」を指定すると、絶対指定のリンクを相対指定に変換してくれます。 wget -r -k -l 1 <取得するサイ…

アクションを使ったグレーアウト管理

コマンドのグレーアウト機能を作るときに、JavaのActionみたいな仕組みがあれば便利そうだな、と思って作ってみました。 Actionってなに? コマンドを実行した時の処理内容(関数)と、コマンド実行可/不可といったコマンドのプロパティをまとめてオブジェクト…

jarのdiffを取る関数

jarのdiffを取る関数を書きました。バックアップの検証で使う予定。コマンド並べてるだけじゃん、とかいうなー! diff_jar(){ echo "diff "$2/$1" "$3/$1 mkdir ./a mkdir ./b cp $2/$1 ./a cp $3/$1 ./b cd ./a jar xvf $1 > /dev/null rm $1 cd ../ cd ./b …

インデントを作る。

かけ算で1発。 def make_indent( depth ) " " * depth end サンプル。 puts make_indent(3) puts make_indent(2)実行結果です。(わかりにくいね・・)

逆引きビット演算リファレンス

常識レベルのネタですが、たまに使うと忘れてたりするので。よく使う?ビット演算を、次に示すファイルの操作権限設定を例としてまとめてみます。 ファイルに対する操作権限を3ビットの数値で記録する。 読み込み権.. 1ビット目, 書き込み権..2ビット目 とす…

Webアプリケーションのセッション管理

アクセスしてきたユーザーごとにセッションIDを発行し、それとユーザー独自のデータを関連付けて管理する。(ユーザー識別情報そのものをやり取りしていると、個人情報の漏洩リスクが高まるため。) セッションIDを盗聴や推測により奪取されると、セッションハ…

ログ

問題発生時の原因調査や分析のため、システムのログを残す。最近はセキュリティ監査等でも利用されるらしい。 ログ収集時の留意事項 時刻の同期 ログを出力する機器の時刻を同期しておくこと。複数のログを結びつけて進入経路を特定とかできるようにするため…

バックアップ

フルバックアップ 差分バックアップ 増分バックアップ がある。 フルバックアップ 完全なコピーを取る ○リストアが容易 ×バックアップに時間がかかる。 差分バックアップ 前回のフルバックアップからの差分のみバックアップする。 リストア時は、以下を行う…

RAID

おなじみの、ディスクの高速アクセス/可用性向上技術。 RAID 0 複数のディスクにデータを分散して書き込む ○データアクセスの高速化が可能 ×データの可用性は向上しない RAID 1 複数のディスクにデータを2重に書き込む ○データの可用性向上 ×データの入出力…

指定エントリのはてなスター数を一括取得する

指定エントリのはてなスター数を一括取得するクラスを書きました。 require 'rubygems' require 'httpclient' require "json/lexer" require 'uri' module HatenaStar BASE_URI = "http://s.hatena.ne.jp/" # javascriptのencodeURIComponentの挙動にあわせ…

Webアプリケーションファイアウォール

アプリケーション層のデータでフィルタリングが可能なファイアウォール。 CookieやHTTPプロトコル、HTTPヘッダ、ボディの内容をチェックし、SQLインジェクションや、XSSによる攻撃を防ぐことも可能。リバースプロキシとして動作する。ロードバランサやSSLア…

リスナ登録ユーティリティ for ContainerJS 0.3.0

昔書いたリスナ登録ユーティリティをContainerJS version 0.3.0にあわせて修正。Typeを使ってちょっと短く書けるようになってます。 サンプル 簡単に解説。 モデル、ビュー、コントローラからなる簡単なプログラムです。 ビュー→モデルの依存でオブザーバー…

Mii改造計画

Miiをリニューアルする予定。 はてなスターに対応。 いかしたねこ写真に星がつけられるようにする。 星の多いねこ写真を表示できるようにする。 デザインを一新 よりシンプルに。 機能削減 使われてなさげな機能はカットだ! ということで新デザイン案を考え…

時刻認証

取引や手続きが行われた時刻や文書が作成された時刻を証明する仕組み。 存在証明 タイムスタンプの時刻に電子データが存在していたことの保証。 完全性証明 タイムスタンプ発行後にデータが改変されていないことの保証 が可能。 タイムスタンプの追加 タイム…

侵入検知/防止システム

侵入検知システム(IDS) ネットワーク監視型(NIDS) ホスト監視型(HIDS) 侵入防止システム(IPS) がある。 NIDS (Network Intrusion Detective System) ネットワークを監視する侵入検知装置。NICのプロミスキャスモード(無条件受信モード)を利用して、接続し…

ServiceのAPIをどげんかせんといかん

次のような、オブジェクト入出力クラスがあって、 // フォルダ操作サービス interface FolderService { // ID(オブジェクトを示すパスを持つクラス)を指定してフォルダを得る。 Folder get( ID id ); // フォルダを登録する。 void put( Folder f ); } // フ…

FireWall

コンピュータネットワークとその外部との通信を制御し、内部のコンピュータネットワークの安全を維持することを目的としたソフトウェアまたはハードウェア。チェックするパケットに応じて、次の3つに大分される。 パケットフィルタ型 サーキットレベルゲート…

JRubyでアノテーションを処理する。

JRuby1.1ではクラスに設定されたアノテーションを直接参照する方法が用意されていない様子。includeしたJavaクラスの「java_class」関数で「Java::JavaClass」というClassのラッパが返されますが、JavaのClassが持つget_annotationとかの関数は持っていませ…

JRuby+ERB+リフレクションでJavaソースコードの自動生成

Javaのソースコード自動生成が密かに?ブームです。モデルクラスとかサービスのクライアントスタブクラスとかお約束なコードは、がんがん自動生成して楽したい!ということで、Ruby+ERBでJavaBeanを作るプログラムは前に作ったのですが、あれは「yamlの定義フ…

シングルサインオン

1回の認証で複数のサーバーサービスにアクセスできるようにすること。これによりユーザーが複数のアカウント/パスワードを管理する必要がなくなり、利便性の向上が期待できる。 実現方法としては次の2つがある。 エージェント型 リバースプロキシ型 エージェ…