2015年1月30日金曜日

[Java] リモートJMX接続

リモートJMX接続ではまったのでメモ

・問題
CentOSでJMXのリモート接続設定を行ったにもかかわらず、リモート接続できない。
ただし、ファイヤーウォールをオフにしたところ接続できた。

・原因と解決策
ファイヤーウォールをオフにして接続して、Mission Controlから接続したところ、見覚えないポートで接続がされている。
調べたところ、JMX接続する際のRMIレジストリポートに加えて、通信用のRMIサーバーポートがあるらしい(デフォルトではランダム?)
-Dcom.sun.management.jmxremote.rmi.port=[port]
で設定したところうまくいきました。
最終的に設定したオプションは以下の通り(SSLは今後)
-Dcom.sun.management.jmxremote.port=[port]
-Dcom.sun.management.jmxremote.rmi.port=[port]
-Dcom.sun.management.jmxremote.access.file=[filepath]
-Dcom.sun.management.jmxremote.password.file=[filepath]
-Dcom.sun.management.jmxremote.ssl=false

↓はテスト用に
-Dcom.sun.management.jmxremote.authenticate=false

↓はなしでも動いた
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.local.only=false

・参考サイト
Oracle:JMXテクノロジを使用するモニタリングと管理 ← ここにわかりやすく書いておいてくれれば・・・
http://docs.oracle.com/javase/jp/8/technotes/guides/management/agent.html

Has anyone ever got a remote JMX JConsole to work?
http://stackoverflow.com/questions/151238/has-anyone-ever-got-a-remote-jmx-jconsole-to-work

JMXでのリモート接続でハマったことAdd Star
http://d.hatena.ne.jp/Kazuhira/20141112/1415782056

2015年1月20日火曜日

[その他] ISO4217 Currency codes

通貨コードに数値コードがあったなんて知りませんでした。
英数字コードに統一という話もでているようですが。
どうしてもintで保存したい場合につかえるかも。

USD 840
EUR 978
JPY 392
...

□Currency codes - ISO 4217
http://www.iso.org/iso/home/standards/currency_codes.htm

□Current currency & funds code list
http://www.currency-iso.org/en/home/tables/table-a1.html

2015年1月16日金曜日

[R] ggplot2メモ

ggplot2関連メモあれこれ

□ 軸
・時間軸の書式
scale_x_datetime() – Time series graph x-axis control

・日付・時刻の構造(R言語の仕様)
https://sites.google.com/site/leihcrev/r/date-and-time

・カンマ区切り
scale_y_continuous(label=comma)

□ グラフ
・Candlestick chart
http://www.perdomocore.com/2012/using-ggplot-to-make-candlestick-charts-alpha/

2015年1月15日木曜日

[R, kdb] Rからkdbを使うメモ

kdb+とR関連メモあれこれ

・kxwiki
http://code.kx.com/wiki/Cookbook/IntegratingWithR

・起動時に呼ぶ
# load q server
source("c:/r/qServer.R"); Sys.setenv(TZ="GMT")
# milisec
options(digits.secs=3)
・行数注意
Rは行数が多いと非常に重くなるので行数に注意
数万行を超えると厳しい

・String
kdbのStringをRに渡すとListになってしまうので、symbolにキャストする

・datetime
datetimeはRで対応していないので、timestampにキャストする

・時刻
時刻型が無いみたいなので、適宜floatでカバーする
たとえば、hourで表示したい場合は、 hour: (0.001*`int$`time$time)%3600 のような形で気合でカバーする

2015年1月6日火曜日

[その他] Win7/8 のウィンドウ枠の幅

いまさらですが、winodows 7/8 のウィンドウの枠の幅が太いなと思って検索したところ、よい記事があったのでメモしておきます。

□ Windows 7/8/8.1のウィンドウ枠の幅を調整する
http://www.atmarkit.co.jp/ait/articles/1404/11/news059.html

windows7 はコンパネから、windows8はレジストリ変更でできるそうです。

設定項目はこちら
項目内容
キーHKEY_CURRENT_USERのControl Panel\Desktop\WindowMetrics
値の名前PaddedBorderWidth
種類REG_SZ(文字列型)
値のデータ0(最小幅)/-60(デフォルト)

だいぶ細くなりました。

2015年1月2日金曜日

[kdb] splayed table for nested sym vectors

symbolのリストをsplayed tableにする場合は特殊な処理が必要らしい

こんな感じのテーブルは対象
c               | t f a
----------------| -----
sym             | s    
datetime        | z    
bidPrice        | f    
askPrice        | f    
targetTypes     | S    <-- これが問題
targetTimes     | Z    
...   
□ kxwiki - cookbook
http://code.kx.com/wiki/Cookbook/SplayedTables - Enumerating nested varchar columns in a table

□ やり方 通常は.Q.en[dbdir;data] でsymファイルが更新されるが、nested sym lists は手動でやれと書いてある。
 > .Q.en does not enumerate nested sym lists; you have to do those manually
kxwikiの例では、symファイルのディレクトリを直接書いてるので、以下のような関数を作成してみた。
enumerateSymList: {[symdir; data]
        (` sv dbdir,`sym)?raze data;
        `sym$'data
    };
// example (/db/sym に作成する場合) 
// enumerateSymList[`:/db] (data)

// こんな感じでつかう
dbdir: `:/data/kdb;
writepath: .Q.par[dbdir;2014.01.06;`$("tt","/")];
writepath set .Q.en[dbdir] update enumerateSymList[dbdir] targetTypes from tt;
writepath set .Q.en[dbdir] update enumerateSymList[dbdir] targetTypes from select from tt where (`date$datetime)=2014.01.06;
splayed tableではEnumerated Typeになるようだ。
c               | t f a
----------------| -----
sym             | s    
datetime        | z    
bidPrice        | f    
askPrice        | f    
targetTypes     |      <-- metaで表示できない
targetTimes     | Z    
...   

q) type first value first select targetTypes from tt
20h