ldap照会コマンドの自作

Lukas Gebauer氏か手がけておられるDelphi用の同期TCP/IPライブラリSynapseがLDAPをネイティブでサポートして下さっているので、ありがたく使わせていただき、今までldapsearch.exe→自作LDIFコンバータ→CSVファイルという原始的方法だったのを、EXE一発でできるように作り直した。

今のところ、テキスト項目のみを、デコードしたLDIF/CSV(カンマとタブ区切り)/BIFF2(Excelの一番古いフォーマット)で出せるようにした。

作ってる過程で、問題というかTODOがいくつか。
忘れそうなのでいちおう雑記しておこう。俺的には用は足りているので、時間があればだが…。

■Access2002へ渡したい

最近はたまにAccess2002も使ってるのだが、これのCSVインポートがけっこう馬鹿(失礼)。
現行のCSVデータでは型情報を持ちようがないが、このためだけにMDAC(ADO)使ってMDB直というのも、ツールの性格上忸怩たるモノがある。
ちょっと考えたが、Access2002ではxml形式が読み込めて、こちらにはフィールドの型情報が保持できる。ファイルサイズが膨れるのと、xsdとxmlでファイルが分かれるのがいささかナンではあるが、こっちのセンで考えてみようと思う。

■バイナリの処理…てーか、属性(アトリビュート)のサブタイプの処理

同じldapサポートといっても、例えばActive Directory は、属性のサブタイプ(;jang-jp)などは存在しないみたい。lang-jpの文字型ならばどっちにしてもUTF-8で返されるので、無条件にUTF-8からANSIに変換しちゃってかまわない(UTF-8は1バイトASCIIに関してはANSIと同じコードマップだから)と思うのだが、問題はバイナリ値である。

本来なら;binaryを期待したいところだが、どうも付けてくれないldapサーバ(スキーマ)もあるみたいだ。つまり、SeachのResultセットの属性名からはそれが単なるlang-なのか、本当のバイナリなのか判別できそうにない。
ASCII文字セットならロジックでデータ内容を判定することもできるが、多バイト文字セットではそう簡単にはいかないかも。

LDAP3ではルートにsubSchemaSubEntryとしてスキーマ情報を格納しているノードのDNがあるので、実際の属性型の情報などはこれを参照して解析するしかないか?


  1. ルートからsubSchemaSubEntryを探す
  2. その値(DN=schemaとか)を、attributetypesで探すと、そのLDAPサーバのスキーマのリストが取得できる。ここで、SYNTAXの後ろについているOIDが属性構文なので、これを使ってあれこれ。

…なんかカッチョ良くないなぁ(爆)

特定スキーマ決め打ちならなんとでもできるが、ちょっと汎用性を持たせようと思うと俺の如き三流にはけっこう難しいものだな(泣)
[PR]
# by SIGNAL-9 | 2005-03-24 11:44 | TIPSとかKludgeとか

PrimoPDFの日本語化

日本語化というほど大それたものではないのだが。

日本語マシンで動かすとダイアログがフォントずれして見苦しいので単にそれを直したかっただけ。

無料のPDF作成仮想プリンタ、PrimoPDFだが、Aladdin Free Public License (AFPL) のソースを使ってるので上記ページの一番下から一式ソースで取得できる。

フツーのVC++のソースだったので、
・メッセージ部分を文字列リテラル検索してハジから日本語に修正。
・ダイアログ周りも同上。フォントサイズに合わせて位置調整。ついでに妙にサイズがでかかった画像リソースをPaintShopでサイズ縮小(笑)

あと、レジステーションを促すダイアログが少々うざかったので、PremoPDF.cppのCheckRegNag()の辺りを適当にコメントアウト(つーか、素直にレジストするべきだな。ソース読む限り、HKLM\Software\activePDF\PrimoPDF\verifiedをTrueにするだけみたいだが)。

で、リコンパイル。既にインストール済みの実行ファイルを単に上書き。

c0071416_17225092.jpg

[PR]
# by SIGNAL-9 | 2005-03-24 10:26 | TIPSとかKludgeとか

NTTの萌え?イベント

「ちえらぼ」が明日3/25から秋葉原で。

「手作りネット家電」 -通称ヲタク系エンジニアによる”わが家の家電”DIY工房
「新たなプログラミングの世界」-Webブラウザによるステップ実行が可能なスクリプト言語をプレビュー!

時間があったらちょっと見に行きたい。

う~ん、同種同工のイベントはけっこうあるかもしれんが、あのNTTがアキバでねぇ。しかも萌えキャラ立ててねぇ。

丁稚時代には、電電公社を引きずった親方日の丸体質のNTT関係者にけっこうカルチャーショックを受けたものだが(つーか正直、何度かぶん殴ってやろうかと思った)、時代は変わったのだなあ(と、お茶をすする)。

以前から、コミケみたいな不特定多数参加の技術同人の定期イベントでもありゃあおもしろいかも(少なくとも俺はおもしろがれるかも)と思っておるのだが、成功させるにはやっぱり萌えとエロをフォローしないと無理かねぇ?
[PR]
# by SIGNAL-9 | 2005-03-24 09:29 | 電算機関係の話題

プログラミング言語C#がJISに制定

マイクロソフトのプレスリリース

/.でも同様の意見があったが、実は俺もJavaよりC#の方が肌に合う。
まあ、最近仕事でもプライベートでもDelphiを使うことが多いので、同じ人が設計した言語だから、という甚だ心情的な理由も多少あるのだが。

#ちなみにDelphi2005にはC#Builderも付いてくる

C#登場時の、2003年のインタビューだが;

The C# Design Process: A Conversation with Anders Hejlsberg

「Turbo Pascalはほとんど一人で、Delphiは3人で設計したけど、C#ほどフォーマルなデザイン作業じゃなかった。C#はもっとフォーマルに、ちゃんと月水金の1時~3時にミーティングしたよ」(意訳)

それを「フォーマル」とか言われると、ン十人で連日会議して、結局八甲田山死の彷徨へ突入という、世の中に腐るほどある「巨大プロジェクト」のメンバーは立つ瀬がないような(笑)

#「benevolent dictator」とか「tie breaker」というのはカッコイイよなぁ…
[PR]
# by SIGNAL-9 | 2005-03-23 18:42 | 電算機関係の話題