yamicha.com's Blog - Presented by yamicha.com
Blog yamicha.com's Blog - 2018/01 の記事
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31]

yamicha.com's Blog
 諸事情により、現在更新休止中。ご了承ください。もし今後ブログを再開することがあるとすれば、その際にはこのブログスクリプトではなく、新しく開発したものによるかもしれません。
 当ブログ管理者についてはこちらをご参照。
開発魔法(737)
社会問題(733)
お知らせ(11)
質問・バトン回答(15)
ゲスト出演(8)
経済・知的財産(150)
ゲーム開発(182)
[Ada] 勝手に補足
- Note
- 金配りの次の一手


- Endless Ultimate Diary
- 銃世界

漢字バトン
- うるる雑記帳
- 漢字接力棒

ツキアイゲノムバトン
- ブログ@うにうに画像倉庫
- あぶ内閣

縺イ縺セ縺、縺カ縺励ヰ繝医Φ
- 月夜のボヤキ
- 騎士サーラバトン
パスワードを使う
名無し (2012/02/27)


開発者解放裁判
yamicha.com (2010/03/14)
Winnyに関しては、私も「純白」とまでは考えておりませんし、使用し..

開発者解放裁判
通りすがり (2010/03/08)
winnyに関しては「ダウンロードソフト板」なんてところを拠点に開発..

新型インフルエンザの恐怖
いげ太 (2009/11/03)
> C#などの「int Some(int , int)」は、F#では「(int * int) ->..

時効に関する思考
yamicha.com (2009/08/31)
>いげ太さんコメントありがとうございます。手元にドキュメントが少..
Homepage
Blog Top
Normal View
List View
Search
Calendar
Comment List
Trackback List
Blog RSS
Send Trackback
Phone Mode
Administrator
yamicha.com
Blog
るううるる。
Source
法令データ提供システム
FindLaw
Development
Java2 Platform SE 6
Java EE 6 API
MySQL Developer Zone
PHP Reference
MSDN Library
Ada Reference Manual
Objective Caml
Python Documentation
Erlang
Prolog Documents
生命危険・損害危険
2007/04/15(Sun)20:51:28
 保険不払い問題で、不払い行為をして処分された各社が改善計画を提出。先に業務停止などの処分が相次ぎましたが、当然でしょう。意味不明な特約を散々つけた挙句、利用者を混乱させて保険料の請求ができないようにするのですから。
 保険会社が今後やるべきことは決まっています。意味不明な特約などという「贅肉」を落とし、スマートで簡潔、明朗な保険体系を作ることです。やたら複雑にした結果、社員すら適用範囲を把握できないことで不払いが生じたり、詳細について質問された場合にも資料を調べなければ答えられず、即答できないといった状態になってしまうのです。
 無論、保険会社だけでなく利用者の意識改革も必要です。保険会社が贅肉太りの状態なら、国民は「メタボリックシンドローム・シンドローム」状態にあります。日本で称されるメタボリックシンドロームの基準には根拠がなく、研究者からは異論も多く出ているにもかかわらず、日本国民の多くがこのようなインチキを妄信している状態にありますが、日本人は保険に関してもいくらか妄信している部分があるようです。
 例えば、任意の自動車保険に入っているとして、交通事故に巻き込まれたとしましょう。その際には大抵の人は気が動転してしまうようですが、気が動転したからと何もしないようでは、2年後には支払い時効となって請求権が消失してしまう恐れがあります。そうでなくても、最初のうちに保険会社とのやりとりなどをしっかりメモしたり、念書を取っておかなかったため、後々に不利な状況に置かれる例もあるようです。交通事故証明書を取って保険会社に請求するなどの手続きは契約者が行わなければなりません。
 また、通常の生命保険などについても、特約の内容を自分で確認しておかないことには、保険会社が自己利益のため、または社員すら特約を正確に把握できていないことにより、結果としてとんちんかんな言い分ではぐらかされてしまう恐れがあります。素人が特約の内容を完全に理解するのは不可能でも、明らかな間違いであれば指摘できるため、相談前に保険内容を簡単にでも確認しておくことは悪いことではありません。「保険会社の窓口がダメと言ったからダメなのだろう」と決めてかかるような姿勢は問題です。
 つまり、保険や保険会社を妄信するのは問題であるということです。貸金業と保険会社とマスコミの体質はそう簡単には変わりませんから、これらについては最初から疑ってかかる程度でちょうど良いのです。今回の処分や改善計画も「のど元過ぎれば」の可能性が高いですし、仮に保険会社が本気で変わろうとしているのであっても、いきなり変わることは難しいですから、しばらくはこのままであると考えるべきです。
 ただ、それが一過性のものであれ、1社が複雑極まりない特約を廃止して整理し、それを見た各社が追随して意味不明な特約を捨てるようになれば、それだけでも効果はあったというものです。保険体系が整理され、内容が一目瞭然となることで、素人にも分かりやすくなるのはもちろん、不払いなどが発生する余地も少なくなります。
 しかし、この特約地獄の原因の1つとして考えられるのは、やはりといいましょうか、政府の無責任な規制緩和のような気がしてなりません。規制が緩和されることで業者や契約の種類が増え、それがサービスや料金の改善に結びつけば良いのですが、実際には過当競争が発生したり、意味不明な特約に「お墨付き」を与えるような結果になった挙句、最終的には不払いです。派遣業といい、運送業界といい、規制さえ緩和すれば世の中安泰などということは一切ないのです。再び不払いのようなことを起こさないためにも、最小限の規制や監視は必要です。
 とりあえずは資産状況の詳細の公開を義務化することを検討すべきでしょう。保険料収入、保険金支払いによる支出などの詳細が明らかになれば、保険会社のサービス価格が適正かどうかも分かりますし、他社に比べて著しく支払額が少ない保険会社があれば、不払いを疑うことができます。

 Java SE 6では細かい機能が色々と追加・改良されています。StAX XMLパーサもそうですし、なぜかjavax.xml.soapなどのSOAPパッケージも含まれており、Java言語からコンパイラを操ったり、スクリプト言語を動かしたりもできるようになっています。これらについては今までに全部行いましたから、説明するまでもないでしょう。
 個人的見解としては、Java SE 6よりJava DB(その実体はApache Derby)がバンドルされるのはあまりありがたくありません。本格的にデータベースを使うのであれば、大抵の人は外部データベースソフトウェアを導入しているはずであり、そちらを使うのが普通です。私もMySQLを使っていますので、Java DBを使う余地はありません。「スターターキット」などとして、Java DB込みのJava SEを配布するのなら良いかもしれませんが。
 Java SE 7では関数がサポートされるという噂です。本当かどうかは知りませんが。宣言方法はJavaScriptに多少似ている印象です。
// 関数
int(int) pow(int v){
	return v * v;
}

// 匿名関数 - 変数 pow に匿名関数を代入している
int(int) pow = (int v){
	return v * v;
};

// 使い方
int result = pow(10);

// 参考までに JavaScript の場合
// 関数
function pow(v){
	return v * v;
}

// 匿名関数
var pow = function(v){
	return v * v;
};

// 使い方
var result = pow(10);
 SE 7の話はともかく、Java SE 6で地味にありがたいのがタスクトレイなどのサポートです。以前にJavaかC++かで迷った挙句、タスクトレイが決定打となってC++でプログラムを書いたことがありましたが、これからはJavaでも書けそうです(SE 6の導入者が今のところ非常に少ないと考えられるため、問題は配布ができないことですが)。
 アイコンをタスクトレイに登録する際には、まずSystemTray.getSystemTray()なるstaticメソッドを使用し、システムのタスクトレイを取得します。newによって作成しないのは、おそらくタスクトレイがシステム上にすでに存在するものであり、それにアクセスする手段をSystemTrayが持っているためでしょう。SystemTrayはタスクトレイを作成するものではなく、タスクトレイにアクセスするものである、と考えると簡単です。
 こうしてタスクトレイのインスタンスを取得できたら、タスクアイコンを(こちらはnewで)作成し、このインスタンスに対して登録します。このインスタンスに対してタスクアイコンを登録すると、実際に画面上のタスクトレイにそのアイコンが登録されます。
 タスクアイコンには言うまでもなく機能を持たせることができますが、こちらの処理方法もまたJava流です。右クリックで表示されるメニューとしてPopupMenuを登録することができ、ダブルクリックされた際の通知はActionListenerによって受け取ります。
 プログラムが閉じると、タスクアイコンも自動的に消滅しますし、remove()メソッドで明示的に消すこともできます。また、タスクトレイのインスタンスに対しては複数のタスクアイコンを登録することができます。メニューなどのプログラミングスタイルが従来のAWTと変わらないことも含め、かなり使いやすいのではないでしょうか。
 それでは実際に作ってみるとしましょうか。
import java.awt.*;
import java.awt.event.*;

public class Main extends Thread{
	private boolean loop;
	public static void main(String args[]) throws Exception{
		Main m = new Main();
		m.start();
	}
	public void run(){
		loop = true;
		try{
			SystemTray systray = SystemTray.getSystemTray();
			Image icon = Toolkit.getDefaultToolkit().
				getImage("icon.gif");

			PopupMenu popup = new PopupMenu();
			
			MenuItem m = new MenuItem("Close");
			m.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent e){
					loop = false;
					interrupt();
				}
			});

			popup.add(m);

			TrayIcon tray = new TrayIcon(icon , 
				"Java Tasktray API" , popup);

			tray.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent e){
					Toolkit.getDefaultToolkit().beep();
				}
			});

			systray.add(tray);

			while(loop){
				synchronized(this){
					try{
						wait();
					}catch(InterruptedException e){
					}
				}
			}

			systray.remove(tray);
		}catch(Exception e){
		}
	}
}
 正真正銘、これだけです。icon.gifは適当なものをご用意ください。
 トレイアイコンに対してaddActionListener()でダブルクリック時の動作が定義でき、コンストラクタでメニューを登録することができます(setPopupMenu()で後から追加・変更もできます)。また、ダブルクリック以外の動作をキャッチすることが必要であれば、MouseListenerとMouseMotionListenerを登録することができます。アイコンを変えたり、アニメーションさせる場合には、setImage()を使うことができます。
 このプログラムでは、ダブルクリックでビープ音(私の環境では「一般の警告音」)を鳴らし、右クリックで「Close」が選択できるメニューが出るようになっています。この「Close」をクリックすれば、このプログラムを終了できます。私が作成した実物は次の通り。



 こういう機能の実装、C++の時はなかなか四苦八苦した覚えがあるのですが、Javaではとても簡単です。アニメーションなども簡単にできそうです。

 ついでに、あらかたバグが片付いたため、ひとまずDualKnightプロジェクトをAlphaとして出してみようかと考え、このようなものを作成しました。最初に書いておきますが、Javaアプレットです。VM 1.1レベルで動きます。かなりCPUやメモリを食うものと考えられますのでご注意ください。
 なお、下に回り込むと底の三角形が消えてしまう現象(隠れ面消去による)、及びワイヤーフレームで三角形の中に無意味な線が現れる現象(三角形の自動分割による)は仕様です。数百人または数千人に1人といった程度かもしれませんが、このように注意書きを書いておいても「バグを見つけました」などと全く無駄な報告をしてくるような人々も存在するのですが、お願いですからご遠慮ください。ただし、これ以外に明らかに異常な動作があったり、例外を投げてきたりするようであれば、紛れもなくバグです。
 PR1段階で可能な操作は次の通りになっています。なお、視点移動は絶対座標移動です。ですから、視点を逆さにしている状態で上に移動しようとすると、画面上では下に移動しているように見えますが、これは視点が逆さになっているためです。こちらもバグ呼ばわりはご勘弁を。
左右視点を左右に移動
上下視点を上下に移動
Home手前(右手座標系でZ座標が減る方向)に移動
End奥(右手座標系でZ座標が増える方向)に移動
A/ZZを軸として視点を回転(ZはAの逆回転)
S/XYを軸として視点を回転(XはSの逆回転)
D/CXを軸として視点を回転(CはDの逆回転)
WワイヤーフレームモードをON/OFF
QZバッファをON/OFF
E視点の回転をリセット
R視点を初期位置に戻す
 光源やら何やら、実装したいことは山ほどありますが、私の技術ではどうにもこうにも。3D波動諷詠剣など作ってみたいですが、さて作れるのでしょうか。
カテゴリ [開発魔法][社会問題] [トラックバック 0][コメント 0]
<- 前の記事を参照 次の記事を参照 ->

- Blog by yamicha.com -