Monthly Archives: 1 月 2009

プラグイン第二弾はSolaris対応で

これまでうちのエンドユーザさんはLinuxが中心、WindowsやMacが少々って感じだったんだけど、Solarisユーザも加わって、そっち方向のスキルも蓄積され始めました。
基本的には、x86版のOpen Solarisでだいたいのことはわかっていたんだけど、どうしたってSPARCプロセッサのマシンにも馴染んでおきたいのは人情です。
で、私物で買っちゃいました(^^;; Sun SPARCの中古サーバ\(^O^)/
なんと格安4980円(爆)
 
で、届いてみれば、付いているはずの内蔵CD-ROMドライブは入っていないし、コネクタが特殊だから他のマシンのIDE CD-ROMドライブは繋がらないし….まぁ、幸いSCSIインターフェースがあったから、古~いSCSIーCDROMドライブをつないで、なんとかSolaris 10をインストールして使えるようになりました。
 
使えるようになりゃ、なにかプログラムを作ってみたいのも人情ってもんで、Linuxで作っていたプラグインの第二弾を早速移植してみました。
普通に動くよぉ!! (結構感動)
gccを入れてもパスは通っていないし、makeもそうだし、癖はあるけど全然OKです。
MacのPowerPCにも移植して、こっちもOK!
あとはWindowsとか、x86版Solarisなんかも行けそうなんだけど、ネックが一つ!
うちの会社には、IntelのMacがないんだなぁ(^^;;
これも私物で買っちゃうことになるんだろうか(汗)

印鑑印影作成ソフト Stamp It! 製品版出来ました!

 JSOX-Quick Audit Standalone版の開発のからみで印鑑印影作成ソフトの作成を、昨年末からやっておりましたが、とうとう世に出しても恥ずかしくは無い程度の完成度のものが出来上がりました。

 上の図がプログラムのメイン画面なんですが、印鑑の種類としては丸判、角判、丸判日付印、角判日付印の4種類。大きさや文字位置、枠の太さなどが微調整できるようになっています。そして最大の売りは「PDFファイルにハンコが押せること」でしょうか。印鑑印影作成ソフトはフリーのものを含め、けっこう出ているのですが、PDFに印鑑が押せるのはそうはないと思います。

 もちろんユーザーさんが作成したPNG形式の画像だったら印鑑印影の登録が出来て、同じようにPDFファイルに押印することが出来ます。ですから印鑑印影に限らず、よくある「コピー禁止」などの透かし画像とかをPDFに埋め込みたいときは、このソフトを使えば簡単に画像を埋め込むことが出来るというわけです。

 一応、今のところお試し期間ということで、60日間は無料でお試しできるようになっていますが、まだはっきりお値段が決まってないんですよね。

 簡単に編集できないPDFで稟議書とか申請書を利用して電子認証をやっている会社さんには朗報だと思うんですが、いかがでしょうか?

やっぱCにして良かった

社内のCGPに新開発のプラグインを入れて速度試験をしていてつくづく思った。
やっぱ、Cっしょ!
2296回の暗号化ヘッダ追加処理で、CPU使用時間の総計は0.20秒!
1回当たり、0.087ミリ秒だもんね。
100万分の87秒って無意味に短い処理時間だけど、Perlとかじゃこうはいかないよなぁ

鉄道ヲタクはてっちゃん、バスおたくは?

 そういえば、バス運行表をPerl言語でウェブ整形表示するプログラムを書いているとき、バスの運行表をウェブで公開している会社はどのくらいあるんだろうと調べていると、すごく面白いサイトを見つけてしまった。いわゆるバスマニアというかバスおたくが公開しているサイトである。何がすごいって、「○○観光の車番□□番のバスは平成?年頃廃車になった」とか、「□□にある車庫は平成?年頃廃止された」とか、やたらと細かい。しかも各バス会社が所有しているバスの写真は当たり前、車両ナンバーまで掲載されているという凝りようである。それゆえ廃車してナンバーの取れたバスの外観だけをみて「これは栃木22う○□×△である」とか判別が付いてしまう。
 しかもそのバスおたくはどうも栃木県人であるらしい。というのは栃木県のバス事情に特に詳しいからである。関東のバス会社のみならず、東北のバス会社まで一部掲載されている。一体その取材力はどうやって発揮されるのだろうかと疑問に思ってしまった。
 鉄道ヲタクはてっちゃん、バスおたくは何ていうのだろうか?その方のハンドルネームは「サルビア」といい、下のURLがそのサイトである。
■栃木のバス資料館」
http://kitabus.net/

連休中にPerl言語の学習(バス運行表)

 この3連休中に普段は使わないプログラミング言語の勉強がてら、ビジネスにならないかと思ってPerl言語でとあるバス会社のバスの運行表を表示するプログラムを書いてみた。なぜバスの運行表かというと、そのバス会社の公式サイトに掲載されているバス運行表がスキャンされたただのPDFファイルで、解像度も良くなく見辛かったからである。
 各地域・エリア番号を設定し、エリアを選択すると路線を選択し、目的の運行表が表示されるという仕組みである。取りあえず今回はエリアを限定し、路線を選択し、CSV形式の運行表を整形して表示するサンプルを作ってみた。
 ゆくゆくは、このCSV形式のデータの入力をウェブ上で入力できるようにして管理できるようにしてみたい。ついでに携帯電話から検索できるようにするのも良いかもしれない。そうしたらバス会社に売れるだろうか?
 それにしても慣れない言語は、デバッグに時間が掛かる。例えばPerlの場合、HTML文書を表示するようにするためには、ウェブブラウザに”Content-type”を教えてやらなければならないのだが、行末に¥n¥nと改行コードを2つ付けてやらなければならない。「Content-type を指定した次の行は空行でなければならない、という規則」があるからなのだが、改行コードが1つしかなかったのでCGIエラーで、何度も表示に失敗して嵌ってしまっていた。PHPではあまり意識していなかったので、すっかり忘れていたのだ。
■バスの運行表のサンプル
http://hpcgi3.nifty.com/sunaolabo/select_line.cgi
※ちなみ1本の路線しかデータは入れていないのであしからず。
※運行表には誤りがあるかもしれません。本家本元の公式のサイトでご確認下さい。

CGPプラグイン開発

前々から機会があればやろうと思っていたけど、雑務に流されてできなかった、CGPのプラグイン作り!
やってみるとこれが結構楽しい。
基本的に、CGPからたたき起こされて動きっぱなしになるプロセスが、ずーっと標準入力を待っている..というスタンスで作るんです。
親プロセスたるCGPから、プラグインの標準入力に、そのコマンドのID、コマンド名、パラメータを受け取り、それに関する適切な応答を、標準出力に返す..という作りにするだけで動きます。
 
そのコマンドから、パラメータとしてキューのファイル名を受け取れるので、キューのファイル内を調べて何らかの処理をすれば、結構好きなことが出来ます。
受信後のメールのファイルになっちゃうと失われてしまうエンベロープの中身が、キューのファイルには入っているので、それを調べて出来るようなことを、独自に組み込めるわけですね。
 
今回は、エンベロープのTOアドレスを、全て読み出して、それを結合した後で、暗号化を行い、暗号化した全てのTOを、独自ヘッダに埋め込むプラグインを作りました。
 
どういう意味があるのかって?
エンベロープのTOを見れば、BCCの宛先も読めるわけですよ。
最近じゃ、内部統制がどうとかで、メールをぜーんぶアーカイブしてくれってお客さんも多くて、ぜーんぶアーカイブしたものがどこに送られたかも、全て知りたいって要求があるんですわ
かといって、BCCの中身を読めるようにして付けちゃったらBCCの意味がなくなっちゃうから、暗号化して読めなくして、キーを知っている管理者さんだけが読めるようにするわけ
 
でもね、お客さんの中には、日量20万通ぐらいのメールを送受信しているところもあるし、暗号化も含め、やっぱ超高速じゃなきゃ嫌でしょ! ….ってことで、C言語ですっかすか速く動く奴に仕上げました。
CGPのフリーのプラグインって、Perlの奴が多いけど、やっぱCだよねぇ~!!
 
で、これを国内初のプラグイン製品として、売り出そうって話もあるんで、どう紹介しようか悩んでるんだよね
CGPのアーカイブソリューションは、仕組みを熟知していれば、お手軽にいろいろ仕上げられるんだけど、それをどうやってわかりやすく説明しようかってね
商品名だってわかりやすくしたいし!
前に「Open BCC」なんて冗談で言ったんだけど、どうなるのかなぁ
作った本人としては、Linux版のデコーダーソフトやWebデコーダーページも含めて格安提供して、たくさんの人に使ってみてもらいたいんだよね