ASP.NETJavaScriptPHP

eval使用時にJsonでの改行について

1 Mins read

Jsonの項目内の改行コードの記述方法について

サーバーサイドでは\マークはエスケープ文字としてよく利用されている為に
ついつい”\n”の状態にてJsonに含めるとクライアントサイドのeval時にエラーとなる。

なのでエスケープされる場合は”\\n”と2回つけることを忘れべからず!
もちろん多数ある場合も改行コードを上記のように置換処理をすること!

PHPの場合はダブルクォート「”」とシングルクォート「’」でエスケープされる、
されないが変わるので、どちらかに統一するのが望ましい。

これはJsonだけの話ではないが、重要なので記述!
javascript側では受け取ったJsonを展開するときにカッコで囲ってあげること!
例:var a = eval(‘(‘+json+’)’); //このカッコ追加は結構注意!

覚書(^ ^)

Read more
Linux日記

CentOS5.2 yumのエラー対応

1 Mins read

以下のようなエラーが発生することがある
File “/usr/bin/yum”, line 29, in ?
yummain.user_main(sys.argv[1:], exit_code=True)

1. yumをクリーンアップ
過去にダウンロードしたパッケージ類を削除する。

# yum clean all

大抵の場合はこれでいける。
これでいけない場合

・・・また今度(^ ^)

Read more
パソコンのこと日記

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

1 Mins read

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

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

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

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

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

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

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

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

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

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

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

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

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

Read more
Vistaパソコンのこと

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

1 Mins read

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千円として我が家に残るでしょう(笑)

Read more
パソコンのこと

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

1 Mins read

昔は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を使用したい場合は確認が必要です。また、映像と音声を一緒に出すより、音声は光接続か同軸での接続の方が良い音になる場合があるみたいです。

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

DVI→HDMI変換コネクタを使用する場合は変換コネクタ内に音声端子も正しく変換されているものを使用すること!(市販のものは無いものが多いらしい)
玄人志向のDVI-HDMI2など

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

Read more