Archive for パソコンのこと

参考書に載っていないシステム開発の心得

今まで色々な言語の参考書を読んできたが、肝心なことが書かれていないと思い、世の中に一言(笑)

開発者に一番重要で必要なスキルは、Log出力機能を付けることだ!
 
1番の狙いとしては不正エラーを捉えることが目的で、後はおまけで色々と適材適所に仕掛けて、ほしい情報を出力すればいい。

じっくりテストをしたとしても運用を開始して本番環境で、ほぼ必ずと言ってよいほど、簡単には分からないエラーが発生する。その際、確実に問題点を絞り出すことが非常に重要となるので、この為だけに仕掛けると言っても過言ではない。この機能があるとないとでは大違いである。

当たり前だが、プログラム内は目に見えない。Log出力してあれば見える形でユーザーに対し「これで大丈夫です」と説明する材料となり、自信を持って説明することが出来る。また説明する開発者もアタフタせずにすむ。(笑)

開発する場合は正常なルートを初めは作ってしまいがちだが、一番はじめにLog出力機能を考えて作成する。最近ではLog4など色々と言語にぶら下がっている出力機能もあるので自作しても良いし、既存のLogClassを使用しても良い。

機能としては、出力機能、出力停止機能、出力先変更機能は最低ほしい。フラグやPathは定数をきっておいても良い。

最低限ほしい出力内容は日時、どこから出力されたか、ステータスはエラーなのかログなのかの切り分け情報、内容と四つはおさえてほしい。もちろんそのシステムにより、必要な情報は出力する。Web系アプリならマルチスレッドでの動作な使用ユーザー情報(IDなど)も必要で可能であればDBへ出力してもいい。

このDBへの書き込みはDB接続を前提としているので接続自体に問題が発生した時に捉えられないことがあるので、基本はローカルにログを吐いて、DB接続が確認できたらDBへも吐き出させるのが有効。(毎日夜中の1時になど)

DB出力は注意が必要で、プログラムエラーのログを吐こうとしたらDB接続エラーとなることが考えられる。エラーのエラーは本末転倒になる。DB出力は十二分に確認が必要。またシステム負荷の度合をみながら設置すること。

■Logを出力するタイミング
・エラー時
・単体起動時、単体終了時
・重要な箇所(DB更新など)

言語に存在し、余裕があればThrow系と連携をとると最適になる。

本当に硬いシステムの中身はLog出力機能が充実しているものであり、不安定なシステムにはLog機能が充実していないことが多い。

これが出来て一人前?・・・当たり前(苦笑)

Vista 64BitにてUSBタイプの無線LANクライアント

4G以上のメモリを購入する敷居も大分、低くなりました。

また、64Bit OSも各ベンダーが頑張ってDriverがそろうようになり、
実用に耐えるだけの環境になったと筆者は思っておりま・・・す・・・した?

そうです、人間、調子に乗ると落とし穴が・・・
「無線LAN?どれでも一緒でしょ!じゃこの2千円のUSBタイプ頂戴!」

帰ってきてブスッ・・・
Driverのインストール・・・サクッ

ブーン、ブーン(CD-ROM音)

画面 「この64Bit OSには対応しておりません」

なぬ!!!!!

調べたところ・・・なんと無線LAN関係は未だに64Bit対応しているものが
ほとんど無いのです。買ってきたパッケージを見ても

Vista対応(32Bitのみ)

の一言が・・・

ガーン!ってことで、調べました。
64BitのUSBタイプはPLANEXの製品が対応しているらしいとの情報しかググっても載っていません。
「俺ならできる」と勝手に思い込んで、正式に対応しているかどうかもわからず、即効、PLANEXの「GW-US300MiniS」を購入して、イザ!チャレンジ・・・

Driverのインストール中・・・

終了してほっとしていた束の間
「このドライバーは署名されていませんので、使用不可になります」

Vistaめ・・・

このままでは引き下がれないので、Vista再起動、F8押下し、
「ドライバ署名の強制を解除」を指定し起動

再度、Driverをインストールし今度は警告メッセージが出ないのを確認し
無線LAN設定・・・無事に起動(笑)

取りあえず1週間使用して問題がないので、イケるでしょう♪

しかし、まだまだ落とし穴がある64Bit環境でした・・・
32Bit Only 無線LANクライアントは社会勉強代2千円として我が家に残るでしょう(笑)

HDMIとDVI 映像信号と音声信号

昔はD-Subだけ知っていればよかった・・・アナログ時代が懐かしい

クライアントさんのPCを導入したんだけど、そこで質問が、
Aさん 「DVI-IとDVI-D、HDMIとはなんですか?」

そこで以下のような回答を

DVI-Iはアナログ信号とデジタル信号双方に対応していて、アナログからデジタル端子に変更される少し前の時代に活躍していました。

DVI-Dはデジタル信号のみ対応しており、昨今のPCにはモニタとビデオカードの双方ともデジタル入力、デジタル出力対応されているので最近はもっぱら、こちらが活躍しています。

HDMI端子は主にテレビやAV機器にて使用されていて、企画的にはDVIと同じになります。

(自分なりによく説明できた。。。と思いきや、次の質問が)

「HDMIは映像信号と音声信号も一緒に送れるんですよね?今度、PCからDVI-Dを使用して液晶テレビにHDMIを使用して出力しようと思っているのですが音声も一緒に出るのですか?」

・・・

・・・

・・・

5分時間をください(汗)

ってことで調べました!

HDMIは映像信号と音声信号を出力出来て、DVI系は映像信号のみ出力可能になります。DVI-DからHDMIに変換して出力する場合は別途、音声信号の入出力に対する接続が必要になります。

ちなみにHDMIの音声信号は古い規格(Ver1.3以下)や使用機器によっては、2chにコンバートされたりてしまう場合があるので、5.1chや7.1chを使用したい場合は確認が必要です。また、映像と音声を一緒に出すより、音声は光接続か同軸での接続の方が良い音になる場合があるみたいです。

まめ知識!
PCのビデオカードにHDMI出力端子が付いているものが最近ありますが、マザーボードとビデオカードをオーディオケーブルで繋げれば、音声もHDMIケーブル1本で送れます。

ふぅ~時代は進むよ(笑)