明けましておめでとうございます。
明日ですが、大阪で初めてLibreOffice mini Conferenceが開催されます。
http://libojapan.connpass.com/event/23688/
ちなみに私は所用があって参加できません。(泣)
また、LibreOfficeについて、以下のような報告も見うけられ、
http://gihyo.jp/lifestyle/column/newyear/2016/libreoffice-prospect
盛り上がりを予感させる年明けとなりました。
数年前まではスーツな世界の人(一応私もそうです)たちの間で、OSSでビジネスしていますと
自己紹介すると、もの珍しげな反応がありましたが、昨年あたりから皆さん自然に「オープンソース」と
口にされます。
LibreOfficeに限らず、スーツな世界でもOSSが本格的に認められる年になりそうな気がします。
本年もよろしくお願いします。
2016年01月08日
2015年11月30日
MML4.0 Draft公開
こんばんわ。daihyouです。
医療情報の交換規格であるMMLですが、バージョン4.0のDraft版が公開されました。
http://www.medxml.net/MML4_20151124/mml4.html
説明が以前よりずっとわかりやすくなったと思えるのは、気のせいでしょうか。
また、XMLスキーマもこのバージョンから公開されるようになりました。
https://github.com/skoba/mml/tree/master/schema/draft
これを機に時間を見つけてMMLを勉強しようかと思います。
医療情報の交換規格であるMMLですが、バージョン4.0のDraft版が公開されました。
http://www.medxml.net/MML4_20151124/mml4.html
説明が以前よりずっとわかりやすくなったと思えるのは、気のせいでしょうか。
また、XMLスキーマもこのバージョンから公開されるようになりました。
https://github.com/skoba/mml/tree/master/schema/draft
これを機に時間を見つけてMMLを勉強しようかと思います。
2015年10月27日
RICOH SP 3610検証
リコージャパンさんからRICOH SP 3610をお借りすることができたので、検証してみました。
スペックをよく読むとわかるのですが、出力形式(PDL)が「PCL6、PCL5e」という汎用的な形式なので、Ubuntuでも印刷できるのではないかと思ったのがきっかけです。
結論から言えばGenericなPPDで印刷できたのですが、それはA4とB5だけであり、A5ではどうやっても印字できませんでした。
しかし、とあるところから入手したPPDを使用すると、何事もなかったかのようにA5でも印字できました。
どこから入手したPPDなのかは道義的に秘密にしておきますが、ライセンス自体はGPL2なので再配布はできます。が、やはり道義的にやめておくことにします。
ファーストプリントも速く、61枚のレセプトを3分かからず印刷してしまうため、速度的にも問題ありません。トナーや保守料も安く、2000枚/月ぐらいの印刷枚数であれば充分に実用に達するのではないかと思いました。
リコーの当日出張修理サービスが受けられるのも魅力的です。
リコーオフィシャルPPDがリリースされるといいのですが、現状OS Xにも非対応のようなので難しいかもしれません。
スペックをよく読むとわかるのですが、出力形式(PDL)が「PCL6、PCL5e」という汎用的な形式なので、Ubuntuでも印刷できるのではないかと思ったのがきっかけです。
結論から言えばGenericなPPDで印刷できたのですが、それはA4とB5だけであり、A5ではどうやっても印字できませんでした。
しかし、とあるところから入手したPPDを使用すると、何事もなかったかのようにA5でも印字できました。
どこから入手したPPDなのかは道義的に秘密にしておきますが、ライセンス自体はGPL2なので再配布はできます。が、やはり道義的にやめておくことにします。
ファーストプリントも速く、61枚のレセプトを3分かからず印刷してしまうため、速度的にも問題ありません。トナーや保守料も安く、2000枚/月ぐらいの印刷枚数であれば充分に実用に達するのではないかと思いました。
リコーの当日出張修理サービスが受けられるのも魅力的です。
リコーオフィシャルPPDがリリースされるといいのですが、現状OS Xにも非対応のようなので難しいかもしれません。
2015年10月24日
PostgreSQL9.5
こんにちは。daihyouです。
PostgreSQL9.5の新機能がよさげです。
http://www.slideshare.net/hadoopxnttdata/postgresql-95-new-features-nttdata?related=1
私が良いなと思ったのは、
1:FDW(外部テーブルをPostgreSQLのテーブルとして扱う機能)が機能強化された。
リモート先からテーブル定義をインポートできる 。
IMPORT FOREIGN SCHEMA bar INTO fdw;
2:SQLの新しい構文が追加 GROUPING SETS
SELECT brand, size, sum(sales) FROM items_sold GROUP BY GROUPING SETS ((brand), (size), ());
3:ユーザが閲覧・操作できる行を指定できる機能 ROW LEVEL SECURITY
3ー1:CREATE POLICY
CREATE POLICY emp_foo_policy ON emp FOR SELECT TO foo USING (role = '開発');
3ー2:ALTER TABLE table_name ENABLE ROW LEVEL SECURITY;
javaの開発時はネイティブSQLは書かない方針でしたが、上の機能はCriteriaAPIやJPQLではサポートしないでしょうね。これからはjavaの中にネイティブSQLを書くか?
PostgreSQL9.5の新機能がよさげです。
http://www.slideshare.net/hadoopxnttdata/postgresql-95-new-features-nttdata?related=1
私が良いなと思ったのは、
1:FDW(外部テーブルをPostgreSQLのテーブルとして扱う機能)が機能強化された。
リモート先からテーブル定義をインポートできる 。
IMPORT FOREIGN SCHEMA bar INTO fdw;
2:SQLの新しい構文が追加 GROUPING SETS
SELECT brand, size, sum(sales) FROM items_sold GROUP BY GROUPING SETS ((brand), (size), ());
3:ユーザが閲覧・操作できる行を指定できる機能 ROW LEVEL SECURITY
3ー1:CREATE POLICY
CREATE POLICY emp_foo_policy ON emp FOR SELECT TO foo USING (role = '開発');
3ー2:ALTER TABLE table_name ENABLE ROW LEVEL SECURITY;
javaの開発時はネイティブSQLは書かない方針でしたが、上の機能はCriteriaAPIやJPQLではサポートしないでしょうね。これからはjavaの中にネイティブSQLを書くか?
2015年08月05日
OSC2015Kyotoで発表
Daihyouです。
ご指名を頂き、OSC2015Kyotoで20分だけ時間を頂いて発表することになりました。
3年前に、JasperReportLibraryを使ってエクセルシートを生成・ダウンロードする業務アプリを作り、
コミュニティーの勉強会で発表したのですが、この度OSC京都で発表する機会を頂きました。
8月8日土曜日に発表なので3年前の資料を読み返しながら、前日に大慌てで発表原稿を作りたいと思います。
ご指名を頂き、OSC2015Kyotoで20分だけ時間を頂いて発表することになりました。
3年前に、JasperReportLibraryを使ってエクセルシートを生成・ダウンロードする業務アプリを作り、
コミュニティーの勉強会で発表したのですが、この度OSC京都で発表する機会を頂きました。
8月8日土曜日に発表なので3年前の資料を読み返しながら、前日に大慌てで発表原稿を作りたいと思います。
2015年06月24日
jma-receipt 4.8.0にバージョンアップしているけど自動化できなくて辛い話
jma-receipt 4.7のバージョンが9月でサポート終了ということなので、4.8へのバージョンアップ作業を進めていますが、これまでのバージョンアップだとわりとシェルスクリプトを書いてバージョンアップ作業を自動化することができていましたが、4.8ではそれが難しいという話です。
まずはCLAIM関連のアップデートですが、これは本来4.8.1などをリリースして対応するべき問題であり、どうしてそうしなかったのかがよくわかりません。考えて30秒でわかることをしないというのは何らかの理由があるのでしょうけど、せっかくの強力なパッケージングシステムが非常にもったいないです。
ただ、これは自動化できないこともないです。
続きましては薬剤情報の画像をデータベース内に持つための操作ですが、これは
$ sudo -u orca psql -At -c "select count(*) from tbl_yakujyo;" orca
で確認しています。/usr/lib/jma-receipt/bin/medphoto_store.shでもやっていることですが、0が返ってきた場合はスキップしています。
定点調査設定ファイルも同様で、これは/etc/jma-receipt/das-upload.dがあるかないかを確認しています。/usr/lib/jma-receipt/bin/dasconf_store.shでやっていることとはちょっと違いますが。
診療会計テーブルのデータ整合はどうにもならないので手作業でやっていますが、当然作業漏れもあります。
作業漏れ無しで作業するのはとても難しいことなので、漏れても致命的にならないように対策することにしましたが、やはりスクリプト化して一律の作業になるようにしたいなというのが個人的な願望です。
まずはCLAIM関連のアップデートですが、これは本来4.8.1などをリリースして対応するべき問題であり、どうしてそうしなかったのかがよくわかりません。考えて30秒でわかることをしないというのは何らかの理由があるのでしょうけど、せっかくの強力なパッケージングシステムが非常にもったいないです。
ただ、これは自動化できないこともないです。
続きましては薬剤情報の画像をデータベース内に持つための操作ですが、これは
$ sudo -u orca psql -At -c "select count(*) from tbl_yakujyo;" orca
で確認しています。/usr/lib/jma-receipt/bin/medphoto_store.shでもやっていることですが、0が返ってきた場合はスキップしています。
定点調査設定ファイルも同様で、これは/etc/jma-receipt/das-upload.dがあるかないかを確認しています。/usr/lib/jma-receipt/bin/dasconf_store.shでやっていることとはちょっと違いますが。
診療会計テーブルのデータ整合はどうにもならないので手作業でやっていますが、当然作業漏れもあります。
作業漏れ無しで作業するのはとても難しいことなので、漏れても致命的にならないように対策することにしましたが、やはりスクリプト化して一律の作業になるようにしたいなというのが個人的な願望です。
2015年04月17日
社内の検証用PCを刷新しました
弊社のORCA検証環境は、実は創業前から一貫して同じでした。
mini-ITXなどという規格ができる前の小さなマザーボードを搭載し、5インチベイが複数あるキューブ型PCにハードウェアRAIDであるARAIDを使用していました。
なにせ古いものなので、HDDは80GBクラスのIDE HDDでした。ただ、トレイごとHDDを交換できるので、検証用としてはとても便利でした。近年はRAID機能を使うことはほぼありませんでした。
流石に古くなりすぎまして、CPUはなんとかAMD64対応だったものの、メモリが1GBしか積めないのでUbuntu 12.04の動作すらおぼつかなかったのです。
そこで検証用PCを新調することになったのですが、仮想マシンとして複数の検証環境を同時に動かすのが今時ですし、であれば大容量のSSDを積めばディスクIOを気にしなくても良くなりますし、2.5インチSSDが入ればいいので筐体も小さくできますし、値は張るもののメモリも16GBくらいなら積めます。
というわけで、以下の構成になりました。
・ベアボーン…Mini PC Intel
NUC Kit NUC5i5RYH
・メモリ…W3N1600Q-L8G
・SSD…CT500MX200SSD1
・ミニHDMI変換…AD-HD07M
検証環境は今まで使用していたものをVirtualBoxのVDI形式に変換し、zerofreeコマンドを実行してから"VBoxManage modifyhd hogehoge.vdi --compact"を実行するとファイルサイズが劇的に小さくなりました。おおむね1/3以下です。
仮想マシンのメモリの割当は2GBになり、またCPUのコアの割当も2個になったので今までよりも格段にパフォーマンスが向上したうえ、5個くらいであれば余裕で同時起動できるので、検証環境をガチャガチャ切り替える必要もなくなり、とても便利になりました。
mini-ITXなどという規格ができる前の小さなマザーボードを搭載し、5インチベイが複数あるキューブ型PCにハードウェアRAIDであるARAIDを使用していました。
なにせ古いものなので、HDDは80GBクラスのIDE HDDでした。ただ、トレイごとHDDを交換できるので、検証用としてはとても便利でした。近年はRAID機能を使うことはほぼありませんでした。
流石に古くなりすぎまして、CPUはなんとかAMD64対応だったものの、メモリが1GBしか積めないのでUbuntu 12.04の動作すらおぼつかなかったのです。
そこで検証用PCを新調することになったのですが、仮想マシンとして複数の検証環境を同時に動かすのが今時ですし、であれば大容量のSSDを積めばディスクIOを気にしなくても良くなりますし、2.5インチSSDが入ればいいので筐体も小さくできますし、値は張るもののメモリも16GBくらいなら積めます。
というわけで、以下の構成になりました。
・ベアボーン…Mini PC Intel

・メモリ…W3N1600Q-L8G
・SSD…CT500MX200SSD1
・ミニHDMI変換…AD-HD07M
検証環境は今まで使用していたものをVirtualBoxのVDI形式に変換し、zerofreeコマンドを実行してから"VBoxManage modifyhd hogehoge.vdi --compact"を実行するとファイルサイズが劇的に小さくなりました。おおむね1/3以下です。
仮想マシンのメモリの割当は2GBになり、またCPUのコアの割当も2個になったので今までよりも格段にパフォーマンスが向上したうえ、5個くらいであれば余裕で同時起動できるので、検証環境をガチャガチャ切り替える必要もなくなり、とても便利になりました。
2015年03月06日
Ubuntu 12.04で困ったこといくつか
12月から2月まではほとんど社内におらず、10.04→12.04のアップグレード(実際には再インストール)をやってました。おかげさまでほぼ終了しています。まだいくつかありますが。
14.04のORCAもリリースされて久しいですが、そちらは5月を目標に準備しようと考えています。独自スクリプトがたくさんあるので、その検証/ポーティングに時間がかかります。
12.04に移行するにあたって困ったことがあり、そのうちのだいたいは解決できましたがまだ解決できていない問題もあります。そのうちのいくつかを提示します。
・USB接続のプリンターが正しく動作しない
サンプルは3で、問題ないもの、修正できたもの、手元で再現しないものがあります。
修正できたものはUSB printer does not print or prints garbageを参考にしました。
・Network Managerアプレットの挙動の変更
IP-VPNを使用しているお客様の中には、Network Managerアプレットでネットワークを切り替えていただいているところもあります。しかし、最近のアップデートでこれができなくなりました。
理由はよくわかるのですが、とても困るので結局この変更をrevertしてしまいました。ソースをよく読んで、もっといい修正をしたいと考えています。
・Network Mangerアプレットのメニューのサイズが変わる
Indicator menus are too short and scroll when opened from screen bottomですが、これは提出されているパッチを適用してパッケージをアップデートしました。ただ、動作が若干気持ち悪くなる(一度メニューが表示されてから適切な位置に移動する)ので、全部には適用していません。
・フロッピーディスクドライブのランプが消えない
Floppy keeps running forever after every accessですが、確かにこれで消えることは確認できているものの、最終的にこれで解決されるのか、あるいは他に問題があってFDが使えなくなっているのかの検証が必要です。
このように、困っていることに関しては誰かが何らかの形で報告/修正してくれているので、ユーザーベースの多い世界的なLinuxディストリビューションを使用するメリットというのはこの辺にあるのだなと再認識します。
14.04のORCAもリリースされて久しいですが、そちらは5月を目標に準備しようと考えています。独自スクリプトがたくさんあるので、その検証/ポーティングに時間がかかります。
12.04に移行するにあたって困ったことがあり、そのうちのだいたいは解決できましたがまだ解決できていない問題もあります。そのうちのいくつかを提示します。
・USB接続のプリンターが正しく動作しない
サンプルは3で、問題ないもの、修正できたもの、手元で再現しないものがあります。
修正できたものはUSB printer does not print or prints garbageを参考にしました。
・Network Managerアプレットの挙動の変更
IP-VPNを使用しているお客様の中には、Network Managerアプレットでネットワークを切り替えていただいているところもあります。しかし、最近のアップデートでこれができなくなりました。
理由はよくわかるのですが、とても困るので結局この変更をrevertしてしまいました。ソースをよく読んで、もっといい修正をしたいと考えています。
・Network Mangerアプレットのメニューのサイズが変わる
Indicator menus are too short and scroll when opened from screen bottomですが、これは提出されているパッチを適用してパッケージをアップデートしました。ただ、動作が若干気持ち悪くなる(一度メニューが表示されてから適切な位置に移動する)ので、全部には適用していません。
・フロッピーディスクドライブのランプが消えない
Floppy keeps running forever after every accessですが、確かにこれで消えることは確認できているものの、最終的にこれで解決されるのか、あるいは他に問題があってFDが使えなくなっているのかの検証が必要です。
このように、困っていることに関しては誰かが何らかの形で報告/修正してくれているので、ユーザーベースの多い世界的なLinuxディストリビューションを使用するメリットというのはこの辺にあるのだなと再認識します。
2015年02月04日
Ubuntu12.04の壁紙
Ubuntu12.04標準で用意されている壁紙を14.04でも使いたかったので、
ファイルがどこにあるか探しました。
/usr/share/backgrounds/ 以下にありました。
Ubuntuに標準で用意されている物なので、コピー使用を気にせずとも良いですね。
ファイルがどこにあるか探しました。
/usr/share/backgrounds/ 以下にありました。
Ubuntuに標準で用意されている物なので、コピー使用を気にせずとも良いですね。
2014年11月19日
特に書くことがないので与太話
ご無沙汰しているのは特に書くことがないからです。
最近はUbuntu 10.04から12.04へのアップグレード作業が多く、そもそも社内にいません。社内にいる時はユーザープログラムのスクリプトを書いたり、アップグレードに必要なスクリプトを書いたり、社外に販売するORCAサーバーの設定を行っていたりします。
アップグレードの作業は、だいたいこのようにして行っています。
1. 10.04でバックアップスクリプトを実行し、必要なファイルやフォルダーのバックアップを作成する
2. 作成したバックアップを外付けHDDにコピーする。可能であれば複数の媒体にコピーする
3. jma-receiptインストール済など、かなりカスタマイズした12.04のインストールイメージからインストールする。
4. 12.04から起動し、外付けHDDにあるバックアップアーカイブをコピーする
5. 必要な分だけリストアする
6. 各種必要な設定(プリンターなど)を行う
7. きちんと設定が行われているか確認するスクリプトを実行し、問題がなくなるまで設定を行う
8. 動作テストをしてもらう
12.04から14.04はdo-release-upgradeが使えるようになるはずなので(もし使えなかったら使えるようにつじつま合わせをするので)、もう少し楽になるのでは、と考えています。
これでだいたい2〜4時間ぐらいかかります。データ量やマシンスペックによるので、かかる時間はまちまちです。
かなりの部分を自動化しているとはいえ、かなり集中力と神経を使う作業なので、終わったらだいたいヘロヘロになります。
最近はUbuntu 10.04から12.04へのアップグレード作業が多く、そもそも社内にいません。社内にいる時はユーザープログラムのスクリプトを書いたり、アップグレードに必要なスクリプトを書いたり、社外に販売するORCAサーバーの設定を行っていたりします。
アップグレードの作業は、だいたいこのようにして行っています。
1. 10.04でバックアップスクリプトを実行し、必要なファイルやフォルダーのバックアップを作成する
2. 作成したバックアップを外付けHDDにコピーする。可能であれば複数の媒体にコピーする
3. jma-receiptインストール済など、かなりカスタマイズした12.04のインストールイメージからインストールする。
4. 12.04から起動し、外付けHDDにあるバックアップアーカイブをコピーする
5. 必要な分だけリストアする
6. 各種必要な設定(プリンターなど)を行う
7. きちんと設定が行われているか確認するスクリプトを実行し、問題がなくなるまで設定を行う
8. 動作テストをしてもらう
12.04から14.04はdo-release-upgradeが使えるようになるはずなので(もし使えなかったら使えるようにつじつま合わせをするので)、もう少し楽になるのでは、と考えています。
これでだいたい2〜4時間ぐらいかかります。データ量やマシンスペックによるので、かかる時間はまちまちです。
かなりの部分を自動化しているとはいえ、かなり集中力と神経を使う作業なので、終わったらだいたいヘロヘロになります。