brew install docker docker-machine
docker-machine create --driver virtualbox mqdev
eval $(docker-machine env mqdev)
docker run --env LICENSE=accept --env MQ_QMGR_NAME=QM1 \
--volume /mnt/sda1:/var/mqm --publish 1414:1414 ibmcom/mq
2016年12月9日金曜日
DockerでMQ環境を作る
DockerHubのibmcom/mqを使う。ファイルシステムとしてtmpfsは使えないのでこれを参考に/mnt/sda1に置き換える。
2016年4月26日火曜日
Bloggerでシンタックスハイライト(Prism)
このブログはBloggerを使っているがソースコードを読みやすく表示したくて、色々調べた結果、SyntaxHighlighterが割と有名っぽいのだが、Prismというのが見た目もかっこいいし良さそう。
使い方は、テンプレートからHTMLの編集を選んで、2行追加すればOK。
</head>のすぐ上に
本文には
</head>のすぐ上に
<link href='https://cdnjs.cloudflare.com/ajax/libs/prism/1.4.1/themes/prism.min.css'
rel='stylesheet'/>
</body>のすぐ上に
<script src='https://cdnjs.cloudflare.com/ajax/libs/prism/1.4.1/prism.min.js'/>
と書くだけ。本文には
<pre><code class="language-css">p { color: red }</code></pre>
のように書けば良い。cssの部分が言語になるのだが、ハイライトしてくれる言語はこちら。2016年3月6日日曜日
ハロウィーン問題
WikipediaのHalloween Problemとこのブログの要約。
ハロウィーン問題はデータベースの更新処理をによって更新されたレコードのデータベース上の位置が変更されることによって、同じレコードが何度も更新されてしまう問題を指す。こんな名前なのは、ハロウィーンに発見された歴史的経緯から。
ポイントとなるのは、
ハロウィーン問題はデータベースの更新処理をによって更新されたレコードのデータベース上の位置が変更されることによって、同じレコードが何度も更新されてしまう問題を指す。こんな名前なのは、ハロウィーンに発見された歴史的経緯から。
ポイントとなるのは、
- テーブルやインデックスのスキャン
- そのスキャンによって読み込まれるレコードを変更すること
- 変更によってレコードの位置をこれからスキャンされる位置に移動させること
結果として、スキャンによって更新されたレコードがまたスキャンで読み込まれてしまい再度更新されるという結果になってしまう。
具体的にはカーソルを使った照会と更新を行うときに問題が発生しうる。JDBCを使っている場合もそうだが、カーソルを使った更新をするときには、カーソル更新の結果が照会に反映されるか注意が必要である。
この問題を避けるためには、更新が照会に影響を及ぼさないようにすれば良い。
DB2 9.7.2以降を使っている場合は、カーソルを使用する際には、INSENSITIVE指定をすることで、スキャンの開始時点で照会結果が確定されるので、この問題を避けることができる。
登録:
コメント (Atom)
DockerでMQ環境を作る
DockerHubの ibmcom/mq を使う。ファイルシステムとしてtmpfsは使えないので これ を参考に/mnt/sda1に置き換える。 brew install docker docker-machine docker-machine create --drive...
-
WikipediaのHalloween Problem と このブログ の要約。 ハロウィーン問題はデータベースの更新処理をによって更新されたレコードのデータベース上の位置が変更されることによって、同じレコードが何度も更新されてしまう問題を指す。こんな名前なのは、ハロウィーン...
-
JVMにはインストゥルメンテーションという機能があって、実行中にバイトコードを書き換えることができる(元々は実行中のプログラムの計測のためのものらしい)。 https://docs.oracle.com/javase/jp/8/api/java/lang/instrument/...
-
アノテーションを使って処理するための機能が入っているのがjavax.annotation.processing。アノテーション処理をラウンドという単位に分けて段階的に処理を行う。各ラウンドではあるプロセッサーに定義された処理を行う。プロセッサーはアノテーションをもとにJavaソー...