まだまだ、emacsからbloggerへ投稿できないか?と悩んでいます。。。
g-clientってのを発見はしたんですが、
何やら文字コード周りでうまくいかないというようなのを斜め読みしてしまい、
ちょっと躊躇しています。
何かいいものないかなぁ~。。。
月曜日, 2月 23, 2009
日曜日, 2月 22, 2009
木曜日, 2月 12, 2009
javaDBでコードセットUTF8
DB2と違ってUSING CODESETなんて使えるわけではなく、
そうすりゃいいんだ?と思いながらApache Derbyのサイト内検索でderby.ui.codesetというのを発見した。
しかし、このオプションってij起動時に与える拡張パラメータ -Dhogehoge系のパラメータとして準備してやれば良いらしい。
でもって試してみた。
CLASSPATH周りは省略して
derby.ui.codesetでUTF8にしたらコンソールが文字化けするなんてのがネットに載っていたがそんなこともなくすんなり動いた。
ただし、これで本当にDBのコードセットがUTF8になっているかは動かしてみないことには何とも言えないなぁ~
一応、Derbyのサイト内での説明では-Dderby.ui.territoryは省略すればローカルのロケールになるとか書いてたと思うが、
如何せん、自分の知らないところで色々設定されると細かいところまでわかんなくなってしまうので、
ちょこちょこ細かいところも見ていこうとおもう。
後はjdbc-odbcを使ってA5:SQL経由で動かすことができるか実験だ!
そうすりゃいいんだ?と思いながらApache Derbyのサイト内検索でderby.ui.codesetというのを発見した。
しかし、このオプションってij起動時に与える拡張パラメータ -Dhogehoge系のパラメータとして準備してやれば良いらしい。
でもって試してみた。
CLASSPATH周りは省略して
java -cp $CLASSPATH -Dderby.ui.territory=ja_JP -Dderby.ui.codeset=UTF8 -Dij.protocol=jdbc:derby: org.apache.derby.tools.ijで呼び出せばいいみたい。。。
derby.ui.codesetでUTF8にしたらコンソールが文字化けするなんてのがネットに載っていたがそんなこともなくすんなり動いた。
ただし、これで本当にDBのコードセットがUTF8になっているかは動かしてみないことには何とも言えないなぁ~
一応、Derbyのサイト内での説明では-Dderby.ui.territoryは省略すればローカルのロケールになるとか書いてたと思うが、
如何せん、自分の知らないところで色々設定されると細かいところまでわかんなくなってしまうので、
ちょこちょこ細かいところも見ていこうとおもう。
後はjdbc-odbcを使ってA5:SQL経由で動かすことができるか実験だ!
javaDBのメモ
DerbyではなくJavaDBです。
CentOS上でXサーバ無しで色々しようとしていたので
あくまで自分用のメモレベル
リモート端末上でコマンドラインだけでijを動かしてcreateするまで
これでDBコネクションでのexecute arround methodなパターンの実験ができそうだ。
あくまで自分用のメモレベル
リモート端末上でコマンドラインだけでijを動かしてcreateするまで
- DERBY_HOMEを設定する(場所は/opt/sun/javadb)
- ijを起動(場所は$DERBY_HOME/bin/ij)
- ij>connect 'jdbc:derby:~/test;create=true;';
- ij>select current date from sysibm.sysdummy1;(DBができてるか確認)
これでDBコネクションでのexecute arround methodなパターンの実験ができそうだ。
日曜日, 2月 08, 2009
groovyの正規表現
忘れないようにメモ
こっそり、勉強しているGroovyなんですが
いきなりハマりました。。。
正規表現のオペレータは
==~
間にスペースを入れてしまうと実行できない。。。
スクリプト言語なんですぐに実行できるですが、
何故か一致しない。。。
よくよく読んでみると==~でひとつのオペレータなんだそうだ。
hoge == ~ /hoge/
しかし、動いてしまうってのもちょっと怖いなぁ~
hoge == ~だけで評価されてんじゃないのかな?
そうなると残された
/hoge/
はどうなるんだ??行方不明??
しかし、その行方不明になってるぽいものも省略したり、改行したりしてもコンパイルエラーになるようだった。。。
しっかり評価してくれないのにコンパイルを通ってしまうのなんてありなのかな??
こっそり、勉強しているGroovyなんですが
いきなりハマりました。。。
正規表現のオペレータは
==~
間にスペースを入れてしまうと実行できない。。。
スクリプト言語なんですぐに実行できるですが、
何故か一致しない。。。
// これは動く println "potatoe" ==~ /potatoe/ // 最初にこう書いてハマった。。。 println "potatoe" == ~ /potatoe/正直、最初はなんで結果がfalseでかえってくるの?と思ってたんですが、
よくよく読んでみると==~でひとつのオペレータなんだそうだ。
hoge == ~ /hoge/
しかし、動いてしまうってのもちょっと怖いなぁ~
hoge == ~だけで評価されてんじゃないのかな?
そうなると残された
/hoge/
はどうなるんだ??行方不明??
しかし、その行方不明になってるぽいものも省略したり、改行したりしてもコンパイルエラーになるようだった。。。
しっかり評価してくれないのにコンパイルを通ってしまうのなんてありなのかな??
木曜日, 1月 29, 2009
alt=json-in-scriptリクエストのjson内のlink[]内容の順番が変わってた。。。
俗にいう"New Blogger"改造(その2)アーカイブのカレンダー化
で紹介させてもらったアーカイブカレンダーなんですが、
さっき、見たらjson内のfeed内の出力順序が変わってた。。。
しっかり調べればorderby=publishedとかで。
出力順を制御できるかも知れないが、
残念ながら時間がないんで、
対応方法だけ。。。
コールバックで呼び出すfunction cReadArchiveの中身をいじります。
22行目をvar link = entry.link[4].href;に変更します。
元はlist[0].hrefが投稿内容だったんですが、今はコメントのURLになってます。。。
で紹介させてもらったアーカイブカレンダーなんですが、
さっき、見たらjson内のfeed内の出力順序が変わってた。。。
しっかり調べればorderby=publishedとかで。
出力順を制御できるかも知れないが、
残念ながら時間がないんで、
対応方法だけ。。。
コールバックで呼び出すfunction cReadArchiveの中身をいじります。
22行目をvar link = entry.link[4].href;に変更します。
元はlist[0].hrefが投稿内容だったんですが、今はコメントのURLになってます。。。
function cReadArchive(root){
// Check for Leap Years
if (((calYear % 4 == 0) && (calYear % 100 != 0)) || (calYear % 400 == 0)) {
fill[2] = '29';
}
else {
fill[2] = '28';
}
closeStatus();
document.getElementById('lastRow').style.display = 'none';
calDis = document.getElementById('calendarDisplay');
var feed = root.feed;
var total = feed.openSearch$totalResults.$t;
var entries = feed.entry || [];
var fillDate = new Array();
var fillTitles = new Array();
fillTitles.length = 32;
var ul = document.createElement('ul');
ul.id = 'calendarUl';
for (var i = 0; i < feed.entry.length; ++i) {
var entry = feed.entry[i];
var link = entry.link[4].href;
var title = entry.title.$t;
var author = entry.author[0].name.$t;
var date = entry.published.$t;
var summary = entry.summary.$t;
isPublished = date.split('T')[0].split('-')[2];
if(isPublished.charAt(0) == '0'){
isPublished = isPublished.substring(1);
}
fillDate.push(isPublished);
if (fillTitles[isPublished]){
fillTitles[isPublished] = fillTitles[isPublished] + ' | ' + title;
}
else {
fillTitles[isPublished] = title;
}
li = document.createElement('li');
li.style.listType = 'none';
li.innerHTML = ''+title+'';
ul.appendChild(li);
}
calDis.appendChild(ul);
var val1 = parseInt(calDay, 10)
var valxx = parseInt(calMonth, 10);
var val2 = valxx - 1;
var val3 = parseInt(calYear, 10);
var firstCalDay = new Date(val3,val2,1);
var val0 = firstCalDay.getDay();
startIndex = val0 + 1;
var dayCount = 1;
for (x =1; x < 38; x++){
var cell = document.getElementById('cell'+x);
if( x < startIndex){
cell.innerHTML = ' ';
cell.className = 'firstCell';
}
if( x >= startIndex){
cell.innerHTML = dayCount;
cell.className = 'filledCell';
for(p = 0; p < fillDate.length; p++){
if(dayCount == fillDate[p]){
if(fillDate[p].length == 1){
fillURL = '0'+fillDate[p];
}
else {
fillURL = fillDate[p];
}
cell.className = 'highlightCell';
cell.innerHTML = '<a href="/search?updated-max='+calYear+'-'+callmth+'-'+fillURL+'T23%3A59%3A59'+timeOffset+'&updated-min='+calYear+'-'+callmth+'-'+fillURL+'T00%3A00%3A00'+timeOffset+'" title="'+fillTitles[fillDate[p]].replace(/"/g,'\'')+'">'+dayCount+'</a>';
}
}
if( dayCount > fill[valxx]){
cell.innerHTML = ' ';
cell.className = 'emptyCell';
}
dayCount++;
}
}
visTotal = parseInt(startIndex) + parseInt(fill[valxx]) -1;
if(visTotal >35){
document.getElementById('lastRow').style.display = '';
}
}
CentOSにDB2 v9.5 Express-C+NLpackをコマンドでインストール
忘れないようにメモ
とりあえず、IBMから
ただし、DBはまだ作ってないのでconnectなんてすればエラーが。。。
ここまでは、ネットを探せば見つかるんですが、
問題は言語パック(nlpack)の適用方法で、
僕の環境はX Windowを入れてないので解凍したディレクトリにあるdb2setupを実行しても
まぁ、そりゃそうだな
とりあえず、gettingstartを呼んでみるとサイレントインストールモードがあることを発見!
# ./db2setup -r 応答ファイル これで良いらしい。
問題は、応答ファイルはどんなものなのか?
nlpack/db2/linux/samples/db2nlpack.rsp
の内容をいじるだけでOKでした。
あとは CREATE TOOLS CATALOG スキーマ名 データベース指定 でツールカタログ表を作成して
CREATE DATABASE hogehoge ・・・
まですれば後はご自由にってな感じだね
カレンダーがシンメトリーちっくな模様になった♪
とりあえず、IBMから
- db2exc_950_LNX_x86.tar.gz
- db2_v95_linuxia32_nlpack.tar.gz
- ユーザーを作成
- db2icrtでインスタンスを作成
- db2set DB2COMM=tcpip
- db2set DB2DAS00 DB2COMM=tcpip
- iptableでポートを開けとく
- db2start
ただし、DBはまだ作ってないのでconnectなんてすればエラーが。。。
ここまでは、ネットを探せば見つかるんですが、
問題は言語パック(nlpack)の適用方法で、
僕の環境はX Windowを入れてないので解凍したディレクトリにあるdb2setupを実行しても
DISPLAY 変数が正しく設定されていません。 DISPLAY 変数が正しく設定されていて、指定されたディスプレイのウィンドウがオープンできるように許可が正しく設定されているかどうか確認してから、コマンドを再実行してください。
てな具合に叱られる。。。まぁ、そりゃそうだな
とりあえず、gettingstartを呼んでみるとサイレントインストールモードがあることを発見!
# ./db2setup -r 応答ファイル これで良いらしい。
問題は、応答ファイルはどんなものなのか?
nlpack/db2/linux/samples/db2nlpack.rsp
の内容をいじるだけでOKでした。
あとは CREATE TOOLS CATALOG スキーマ名 データベース指定 でツールカタログ表を作成して
CREATE DATABASE hogehoge ・・・
まですれば後はご自由にってな感じだね
カレンダーがシンメトリーちっくな模様になった♪
登録:
投稿 (Atom)
failed to read qemu headerのときのメモ
かなり久々。。。 忘れないようにここに書きこんでおく。 ちょっとした手違いで libvirtでイメージを起動しようとすると failed to read qemu header なんておっしゃられて起動しない。。。 vmwareserverを使って...
-
かなり久々、別に放置していた訳じゃないです。 仕事の都合で、現在の開発環境に定義されているDDLスクリプトを抜き出す必要があったので、DBMS_METADATAパッケージを使用してみた。 前に(言っても2年くらい前)DB2で同じようなことをやった時にはdb2lookupっ...
-
unitテストを作ろうと思い、作って実行してみると途中で止まる。。。 「なんで?」 結局のところ、unitテストで実行しようとしたクラスにSystem.exit(int)があったのが原因だった。 それならば、System.exit(int)が効かなくなるおまじないはな...
-
かなり久々。。。 忘れないようにここに書きこんでおく。 ちょっとした手違いで libvirtでイメージを起動しようとすると failed to read qemu header なんておっしゃられて起動しない。。。 vmwareserverを使って...