2009年1月29日木曜日

DBの接続切断の繰り返しは極力避けるべき

Java + JDBCにおいて、ループ中で高速にMySQLに接続したり切ったりを繰り返すとDB接続ができなくなる。ソケットがいっぱいになってどうたら言う問題らしい。
http://support.microsoft.com/kb/196271
http://d.hatena.ne.jp/nagakura_eil/20080530/p1
DBの接続切断の繰り返しは極力避けるべき。ループ中で1個ずつDAOからObjectを得るなど、もってのほか。DAOからObjectを得るときはArrayListでもらう。SQLはjoin等で余分なものをもらわないようにする。distinct使用の可否は保留。performanceが落ちるから禁止ってコーディング規約もある。DBの実装次第か。
上記組み合わせに限らず、DB使用では常に問題となるところ。

2009年1月24日土曜日

Excel VBAでのwait

方法1:
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
For k = 0 To 10
DoEvents
Sleep 100
Next k

方法2:
t0 = Timer + 1
While Timer < t0
DoEvents
Wend

方法は他にもあるだろう。方法1はExcel自体のカーソル移動が重くなるが、タスクマネージャで見るシステム全体への負荷は軽い。方法2はその逆。

2009年1月20日火曜日

クリック証券Web API simulator

http://www.new-arrow.com/click-api/
クリック証券Web API simulatorを作ってみた。
現在のところ、日経225先物の発注、注文一覧、建玉一覧、約定一覧、注文取消のみシミュレートする。 最終目標は自動売買ツールの開発で、自動売買ツールが先物を買えなかったり、買うのに時間がかかったりをシミュレートしたかった。クリック証券から提供さ れているLocal API serverじゃ同じレスポンスだけで話にならないから。