(Mon)○JavaでWindows固有文字を扱うWindowsとLinuxなどと連携していると以下のような症状が良く起きる。○に数字が書いてあるものやローマ数字が出ないハシゴ高、上が「立」の崎が出ない〜が?になるこれはJavaの入出力文字エンコーディングを明示的に「MS932」か「Windows-31J」にすると解決する。具体的には、(1)DB入出力、(2)ファイル入出力、(3)ソケット入出力において、デフォルトに任せず明示的にエンコーディングを指定して変換するようにする。Java覚え書きしかし、これで解決しない場合も多い。その場合、ほとんどの場合がどこかで「MS932」→「※Shift_JIS、EUC-JP、JIS」→「MS932」のような変換がどこかで行われている。その場合、どこまで正しい文字列で渡っているかや、化け方を調べて追跡するしかない。※Shift_JIS:WindowsのSJIS(CP932)ではなく、JISX-0208のSJIS。利用してプログラムを作っている。その時、どこかに書いてあったスキーマ定義のポイント。これと直感的なレイアウトで大体うまく書けてたと思う。よると、もっと意味的な視点からスキーマのレイアウトを考えるべしと書いてあった。簡単にまとめると以下のよう。根拠として、(1)データの意味が分かりやすい、(2)データのインデックスを効率よく作成できる、となっていた。(Sun)○Web更新が遅い理由Webの内容を書くのは大抵時間が空いた時であり、それは家で寝る前とか移動中の時。更新には講座内のネットワークからアクセスしなければならない。講座に来ると目の前の研究に集中してしまうので更新の操作を忘れてしまう。結果、Webの更新が遅れてしまう。更新が無い時は、忙しいようです。最近近所のWindowsXPのウイルスに関する相談をたくさん受けた。自分が見に行くたびにWindowsUpdateを行う、また自動Updateの表示が出たらUpdateを行ってもうらうOutlookExpressを削除。EdMaxを入れて、知らない人の添付ファイルは即削除してもらうを行っているのでMSBlasterもSobig.Fも被害は皆無。そのうち1軒は対ウイルスソフトすら入ってない。世間で言われているように「対ウイルスソフト」や「防壁(ファイアウォール)」さえあれば完璧というのではなくて、ソフトウエアのアップデートや正しい設定と各人の意識がより重要だということであろう。一般人とお話していて思うことは、パソコンが家電と全然違うということに納得してないこと。メーカーは「簡単」「やさしい」「便利」などと普通の家電のように売っておきながら、予想に反して操作や設定が難しかったり、サポートに電話しても「お客様の責任」だったり、修理に長時間かかる上に代機がなかったり、ハードディスク壊れても自己責任だといわれるし、ソフトに欠陥があってもリコールも無いし、だいたいパソコンのメーカーはどうなっているのだとよく言われる。パソコンは研究開発の段階で、まだ一般人には難しいと思う。テレビや電話のように普通に使えて、メーカーのサポートがまともになるには、もっとソフトもハードも研究が必要だと思う。メーカーのマーケティングのおかげでハードが安くなって大変ありがたいのだけど、今はまだそんな売り方をするべきではないのではないか思う。あと、セキュリティー関係の操作や導入を簡単にしたいという要求はかなりあって、怪しげな認証の仕組みを導入しようとしているのを何度か見たことがある。簡単手軽を取るか、セキュリティーを取るかという問題はよく聞かれる。個人的には、セキュリティーを最優先にして、その中で出来るだけ簡単にすることが、技術者の使命だと思う。コストや客の利便性を優先してはならない。現実世界でも、重要なものは金庫に入れたり、鍵をかける。それと同じように、コンピューター上で大事なものを扱うのなら、心の鍵としてある程度の手間やコストはあってしかるべきであろう。住基ネットや無線タグ(RFID)で問題が指摘された固定IDについて。高木浩光@茨城県つくば市の日記や、固有IDのシンプル・シナリオ(結城浩氏)が詳しい。個人的な解釈では、固定IDの問題点は以下のよう。固定IDと個人情報の対応が公式に参照不可能でも、どこか別の場所で個人情報との対応が付けば、十分に個人を特定可能。IDの特定可能範囲が広い場合は、個人の追跡が可能。固定IDはただの記号であり、個人情報は書かれてないから問題ないという誤解が非常に多い。あるかどうかに関わらず、固定IDの問題を理解していない人が(特に日本人に)圧倒的に多く、またその多くの人は理解しようという気すらなかったり、問題を無かったことにしようとしていること。No.1507(office氏)にある。ICタグ推進賛成派のコメントは、要するに「プライバシーの侵害」なんて大げさだとか、メリットとデメリットを比べればメリットの方が大きいに決まってるというような内容だ。私はこういうコメントが大嫌いである。いうと、「自分が値踏みした場合」メリットが大きいとか、プライバシーの侵害など大した問題ではない、とかそれだけしか考察しておらず、他の人々にとってどういう場合があり得るかということが想像できていないからである。普遍性の有無について、検討せずに自分の価値観を普遍化して平然としているからである。簡単な現実的な対策としては以下らしい。IDの特定可能範囲を必要最小限まで狭くし、その外では使えないようにする。(ドメインごとにIDを変える)IDを公開鍵などで暗号化して、通信するたびに変わるようにする。IDをセッション毎に生成する。(Thu)○AspectJなんとも後付けという感じのプログラムが気持ちよい。プログラムの規模が大きくなっても、機能追加が大変楽。楽にするにはやっぱりOOPとしての最初の設計と絶え間ないリファクタリングが大事なんだろうと思う。キャッシュは弱い参照で実装するのがよさそう。SoftReferenceヒープメモリが少なくなるとGCの候補にされてしまう参照。メモリの量で自動的に切れて欲しいような参照を作りたい時に。WeakReferenceすぐにGCの候補になる参照。キャッシュというより、いつ強い参照が無くなってGCの対象になるか調べて、参照を復活させるとか。PhantomReference参照を得ることは出来ない。GCにfinalizeされるタイミングを知りたいときに使うらしい。働きを調べるテストプログラム。キャッシュに使えそうだったけども、Keyを強い参照で保持していると対応するオブジェクトがGCされてくれないのであんまり使えない。欲しい機能は以下のよう。Keyを強い参照で持っていても、ヒープメモリ容量が厳しい場合は対応するオブジェクトはGCされて欲しい。http://www.cmt.phys.kyushu-u.ac.jp/~M.Sakurai/。