« 2011年8月 | トップページ | 2011年10月 »

2011年9月30日 (金)

WSHのMapNetworkDriveでエラー800704C3

客先で運用しているプログラムにWSHで書かれている部分があって、そこではMapNetworkDriveメソッドでファイルサーバの共有フォルダをドライブ割付しています。

LocalName = "T:"
RemoteName = "¥¥SERVER¥FOLDER"
UpdateProfile = FALSE
User = "XXXXXX"
Password = "YYYYY"

Set WshNetwork = WScript.CreateObject("WScript.Network")
WshNetwork.MapNetworkDrive LocalName, RemoteName, UpdateProfile, User, Password

このプログラムをWindows7で使っていると「何かの拍子に」MapNetworkDriveメソッドがエラー800704C3を発することがある(メッセージは「同じユーザによるサーバまたは共有リソースへの複数のユーザ名での複数の接続は許可されません」)。そのような状況でもユーザ名/パスワード無しならばMapNetworkDriveが成功するようです。

WshNetwork.MapNetworkDrive LocalName, RemoteName, UpdateProfile

結局、先にユーザ名/パスワード付きでMapNetworkDriveを実行し、エラー800704C3が出たらユーザ名/パスワード無しで実行するようにスクリプトを改修してなんとか使えるようになりました。

手元にはまだWindows7が無く、今回の改修は客先で実施したので、詳しい原因は不明なままです。2台のWindows7機の内の1台でこの現象が出たので、そのPC固有の環境か設定が原因の可能性もあり、もしかしたらWindowsXPでも同じ現象がでるのかもしれません。

2011年9月23日 (金)

ハイプレッシャー下での対応術

日経SYSTEMS 7月号の新刊紹介におもしろそうな本が紹介されていた。

「ITエンジニアのためのハイプレッシャー下での対応術」(日経の紹介記事東京図書出版会の紹介ページ

納期はいつでもハイプレッシャーだが、ここでいうのは「システム障害や納期遅延などで」感情的になったユーザからの圧力のこと。

IT関係の本のタイトルはプログラミングであれ設計関係であれ似たり寄ったりが多いので、書名や紹介記事だけでは読んでみたいとなかなか思わないものですが、この本は気になります。今度書店に行ったら探してみよう。

============================================================================

「システム障害や納期遅延」を起こさないように仕事を進められれば何も問題ないわけですが、現実には起こりえます。

私も開発に関わったシステムで実際にあったことですが、時々(1年間に1~2回という頻度で)システムが不調を起こしたためにユーザはかなり感情的になっていました。現象はまったく再現性がなく原因の推測も付かずで、開発サイドの我々も対応に対応に苦慮していたところでした。
ところがその後LANのハブが故障しかかっていることが判明して、いままでのシステムの不調の原因はこれだった可能性が出てきました。
LANやPCは我々が納品したものではなく、ユーザの既存のものなのに、それらの不調のために感情的になられても...。

そのような運の悪い事態に対する対処の用意はしておく必要があるわけです。

日経SYSTEMS記事 "外注先選びで失敗..."

日経SYSTEMS 6月号のコラム "外注先選びで失敗 ちょっとした油断が怖い" について。
筆者は人(Aさん)から聞いた話を紹介している。それは、

Aさんは会社勤務のSE、Bさんは個人事業者。Aさんはある小さい物件の発注先を決めるにあたって社内規定に従いRFPを示した上で複数社から見積を取ったがBさんに決まりだろうと考え、Bさんも乗り気で話しは順調に進んでいた。ところが、雑談の場でBさんはRFPの予算額が少ないことをAさんに対して愚痴ってしまった。Aさんも反論して口論になってしまった。結局Bさんは辞退することになり、Aさんは予算を増額して他社に発注せざるを得なくなった。

...というものだ。

この話を私はBさんの立場から見てしまうが、Bさんが油断したという印象です。

私にもAさんに相当する人がいて時々(相見積もりなしで)"小物件"を回してもらっていますが、金額については期待しないというのが私の基本的なスタンスです。
Aさんが発注しようとした物件の工数見積は1~2人月とありますが、1人で開発するとしてその見積通りの期間で終わるはずがありません。最初の打ち合わせから納品まで色々な事情で間延びするはずで、私の場合、見積工数の2倍ぐらいの延べ期間が掛かるのが普通です。検収をもらって実際に入金されるのはさらに先になります。

それを考えると、この種の仕事を仕事時間の中心に置いてしまうことは"割に合わない"ので、隙間の時間(夜とか休日とか)を使って進めるようにしています。

(Bさんは同時並行で進める仕事が無いときにAさんから話しが来たのでつい愚痴が出てしまった、とか)

小物件の開発は一発で仕上げるつもりでいなければなりません。納品した後でトラブル対応で振り回されようものなら、簡単に大赤字と化します。それでいて開発期間は間延びしがちなので、進捗の自己管理が重要です。コーディングの最中も、「このロジックで問題は無いか。特別な状況でエラーとなることは無いか」、集中力も要求されます。

おかげで"私のAさん"とは良好な関係を続けることができています。

2011年9月20日 (火)

フリーランスにとっての"日経SYSTEMS"

この3連休は日経SYSTEMSの今年4月号以降の未読記事をまとめて読んでいました。

この雑誌は中規模以上の会社あるいはプロジェクトをターゲットにしてますが、私のようなフリーランスにも役に立つ記事はあると思います。私個人にとっての役に立つ度合いで記事のタイプを分類すると

有効度
◎....(いわゆる)上流工程、とくに要件定義関連
○....技術紹介記事 流行の技術についての動向をつかむには良い。ただし本格的にその技術で仕事をする段になったら記事の情報だけでは全く不足です
△...."チーム運営"記事 最近は避けているが"協力会社"の要員としてプロジェクトのメンバーになれば参考になるかも。プロマネをやることはまず無い。
△....事例記事 取り上げられている例が大きなプロジェクトばかり
×....9月号の「IT現場のやる気を高める」のような記事。(ほっといて欲しい)

といったところでしょうか。

2011年9月10日 (土)

修正しなくても運用上問題のないバグを修正する

1年半ほど前に納めたプログラムのことですが、納めて間もない頃、実行途中の何かのバグによって不正なデータが作られてしまう、というトラブルが出ました。
本当ならそのバグを解決すべきなのですが、当時はどうしても原因が分からなかった(デバッグに苦労したのは、そのプログラムが関数の再帰呼び出しを多用するような込み入った構造だったということもある)。
そのため、作られたデータのチェック関数を同じプログラムの後段に置いて不正なデータが作られていたら出力しない、という苦し紛れの手段で乗り切ったのだった。

その後は別件で改修することはあったにせよ安定して稼働してきた。

ところが最近になって客先で運用中のデータを見たところ、未解決だったバグが依然として残っていることをログに発見してしまったのだった。

顧客から請け負った"仕事"としては、このバグを解決する必要はほとんど無いと言えます。修正するメリットとしては実行速度がほんのわずか改善するぐらいなのに対し、不用意な修正で別のバグを作ってしまうリスクは無視できません。私が会社勤めならば修正しないという判断をするでしょう。
しかし自己満足のためであっても、(一応)プロの技術者としてはバグの原因はどうしても知りたい。

そんなわけでこの金~土曜日はもう一度腹をくくってデバッグ作業をし、そして何とか解決にたどり着いたのでした。

この修正版プログラムを何時納めるか?
修正プログラムの納品はいつもですがある種の"勇気"が必要になります。今回は必要に迫られた改修でないだけになおさらです(万が一トラブルが起きようものなら「勝手なことをして」と顧客の信頼を失いかねない)。

ですので、どうしても実施しなければならない改修が発生するまで保留することにし、その際に納品することにします。

(このような判断を自分だけでできるのも自営業だからかもしれません)

2011年9月 5日 (月)

NHK FM ストリーミング放送録音

私の場合、NHK FMで録音しておきたい番組は土曜日に集中していまして、昨日(3日)それらの番組を早速ストリーミング放送から録音してみました。

ストリーミングをPC上でそのまま録音するのは簡単ではない、ということでネット上にはいろいろなやり方やソフトなどが紹介されていますが、私の場合はごく単純にPCのヘッドホン出力をAUX入力に繋ぐという方法でやりました。一度アナログ信号にしてから再びデジタル化されるわけですが、音質的には全く不満はありません。

ただし録音しながらリアルタイムに聴くのは別のラジオからになるわけですが。

録音した番組は次の2つでした。
・ウイークエンドサンシャイン(07:20~09:00 洋楽全般)
・ジャズトゥナイト(23:00~01:00 ジャズ)

2011年9月 1日 (木)

NHK FM ストリーミング放送開始

今日からNHK FMのストリーミング放送が始まりました。

電波で受信しても十分な音質で聴けていますが、録音をしたいときにどうするかで試行錯誤してきました。録音とはMDやカセットテープに録音することではなくて、MP3などの適当な圧縮形式でのデジタル化です。

ストリーミング放送からならばすべての操作がPCで完結するのですっきりします。

気がかりは「権利上の理由等により提供できない番組があります」という点。

実際、「9月2日の"ベスト オブ クラシック"は放送できません」、とアナウンスされています。この番組は実際のコンサートの録音ですが、それがストリーミング放送には問題になるのだろうか?

通常のレコード(CDを含む)を使う番組ならば問題ないと期待したいです(でないと、放送できる番組がほとんど無くなってしまうと思いますが)。

« 2011年8月 | トップページ | 2011年10月 »