Serister が Vector の通信関係ランキングで 2位になりました

登録して間もないですが、ダウンロードありがとうございます。
現在期末ということで仕事が忙しく、せっかくのブログもなかなか更新できませんが、がんばって何かをアウトプットできたらと思います。


Serister については、こちらをご覧ください。

サロゲートキーと情報の保護

複合主キーなんて使ってたら画面遷移のたびにいろんな項目をキーとして渡さなきゃいけなくなるから工数が増える。些細なことのように思われるかもしれないが、ページによって渡すパラメータが変わるってのはページ遷移ごとにキーがなにか考えなきゃいけないから無駄な思考コストが開発時・運用時ともにかかるわけ。コントローラ側も汚くなる。

Web アプリケーション開発の実績はありませんが、まさにその通りだと思います。思考コスト低減、分かりにくいですが、確実にあるでしょう。


また、サロゲートキーを使うべきである理由がもう一つあると思います。
例えばコード(ナチュラルキー)ベースで開発した既存システムを、そのまま Web に移行したい、なんていう場合を考えてみます。
そのシステムでは、各顧客ごとにデータを公開するとします。顧客は、内部的にコードで管理されますが、それは表立って問題にはならないでしょう。ところが稼動から数年経って問題が発生するかもしれません。
例えば A という顧客と取引があり、そのデータは顧客 A に公開されます。その後数年が経ち、新たに B という顧客と取引を行うことになりました。顧客コードの桁数は稼動直後こそ余裕があったものの、現在ではあまり空きがありません。そこで、もう取引のなくなった顧客 A を削除し、同じコードを使うことにしました。その後、顧客 B から覚えのない取引データが見れるとの報告が届いたのです…。
もちろんこの例え話は突っ込みどころがたくさんありますが、古い業務システムを何度か扱った経験からすると、まんざらありえない話ではありません。リレーションも張らずに、とても単純にコードだけで管理しているシステムはいたるところにあるのです。
以上を踏まえると、ユーザの手で人為的に変更のできないサロゲートキーは、情報の保護という面でも意味を持ってきます。


余談ですが、コードベースの設計やプログラミングに慣れすぎて、サロゲートキーの便利さ、手軽さをなかなか感じることが出来ていない人が周囲に結構います。先入観というものはなかなか難しい。

計量処理を Web で(重量値を扱う - その 2)

前回のエントリから前進して、今回は、より具体的な内容に移ります。

fig1
まず、指示計を含めた構成が左の図になります。internet 上に Web サーバがあり、指示計がローカルコンピュータに接続されています。ここで、ローカルコンピュータの IP は 192.168.0.5 であるとします。実際にはローカル側にも複数のコンピュータがありますが、ここでは省略します。
この構成で、Web サービス側からローカル側指示計の重量を取得する方法を、以下を使用して実装したいと思います。

  1. JSONP (javascript)
  2. 重量& HTTP サーバ
続きを読む

「ファイル名を指定して実行」をちょっとだけ拡張

ITmedia Biz.ID:「ファイル名を指定して実行」の便利な使い方(その1)
この記事にもある通り、「ファイル名を指定して実行」はかなり便利な機能です。パスを入力すれば自動的にそのフォルダを表示するし、入力補完機能も付いている。入力履歴も残るので、まるでちょっとしたコマンド型ランチャです。
ってことで、本当にコマンド型ランチャにするための小さなプログラムを作りました(これもまた大分昔にですが)。

続きを読む

RS-232C テストツール Serister

Serister
RS-232C 機器のテストや確認に使えるツールを、Vector に登録しました。
プログラム自体は大分前に作ったものですが、今でも実際にバリバリ使われてます。是非使って見てください。
ダウンロードは、こちらからどうぞ。

計量処理を Web で(重量値を扱う - その 1)

様々なソフトウェアがサービスとしての形態を模索している現在ですが、実現性が低い分野が存在するのも事実です。
私が仕事で携わることの多い計量処理も、その分野の一つだと思います。そこで、その計量処理を Web サービスとして提供する方法について考えたいと思います。
予め補足しますが、これはあくまで Web サービス化の手段を考察するものであり、実際の運用に耐えうることを保証するものではありません。

続きを読む