ソフトウェア開発におけるデザインの重要性 ― 2008年04月05日 01時32分13秒

1日に放送されたプロフェッショナル 仕事の流儀を見ました。この回は有名なFlashのデザイナーである中村勇吾さんの紹介でした。
単に見た目が派手なだけでなく、ユーザーが参加して自分で作り上げていくことができるようなサイトを作っていく様子が紹介されていました。
私の会社ではECサイトを開発しているため、お客の興味を引くためにこういうすぐれたデザインを取り入れたサイトを作ろうとしています。ですがこういうのは作るのが難しいですね。
画像は中村さんが書いている本です。FlashはわからないのですがSilverlightやWPFをやる上で何かヒントになるものがあるかもしれないので見てみようと思います。アマゾンは在庫切れみたいですね。どこにあるんだろうか。
パナソニックPZ80 ― 2008年04月06日 21時31分07秒
今使っているテレビはPanasonicのTH-32LX500です。このテレビはIPSパネルを使っていて液晶にしては残像に強いのですが、コントラストが悪く暗い画面になると全く識別できなくなってしまうためもっといいテレビに買い換えたいと思っています。
今のところ買い換え候補はPanasonicのTH42-PZ800です。プラズマなので残像もなく、コントラスト30000対1で今までの不満も解消されると思っています。
そこで今日は近所のコジマで展示品を見てきました。PZ800はまだ出ていませんが、下位モデルのPZ80が展示されていました。BS-hiの映像が映っていたのでよく見ると動きの激しいところでブロックノイズが発生してしまっていました。
ほかの液晶などとも比べてみましたがブロックノイズは見られませんでした。期待していただけにちょっとがっかりしてしまいました。
かえってネットで調べたところ、設定で解消できるようです。引用すると、
一般の3DNRの他、MPEGノイズ専用にHDオプティマイザーがあり、それぞれ弱とかになっているから、あげればいいだけ。
ということだそうです。 細かい設定までは見ていなかったので、今度いってみたときに設定を変えてブロックノイズが解消されるかどうかチェックしてみたいと思います。
「受託開発の極意」読みました ― 2008年04月13日 22時58分08秒
受託開発の極意を読みました。ページ数も少なくすぐに読めるのでよかったです。
仕事にすぐ役立つような情報はそんなに載っていませんでした。それよりもお客さんと直接会うことはなくてもお客さんのことを考えて仕事ができるようになろうとか、職場のメンバーが改善に乗り気ではないとしても少しずつ職場を変えていこうとか、開発者の心構えについて重点が置かれています。
私も同じようなことで悩みました。単なる理想論や宣伝ではなく、下請けとして働いている開発者が持っているような悩みに真正面から向き合おうとする姿勢に共感しました。
ただこれをやればすぐに解決するというような簡単な解決方法は書かれていません。そういううさんくさいハウツー本と違い、現状を変えようと地道に努力することが重要だというようなことが書かれています。
私の場合は、そういう環境がいやだったため転職して環境自体を変えました。今の環境は以前に比べて恵まれていると思います。ただそれでももっとよくしていこうという努力は続けていこうと思います。この本をそっくりまねるわけではないですが、著者の前向きな考え方は見習うべきだと思います。
MonoでLinqを使う ― 2008年04月14日 00時49分23秒
MonoでLINQをサポートしているという話は聞いていたのですが、実際にコードを書いたことはなかったので試してみました。
LINQを使用する手順は以下の通りです。
- MonoDevelopを起動し、適当なプロジェクトを開きます。
- プロジェクトに"System.Core.dll"へのリンクを追加します。
- 名前空間の宣言部に以下の行を追加します。 using System.Linq;
- 後は.NETと同じようにLinqのコードを記述できます。
Linqだけでなく、匿名型、自動プロパティ、型推論などC#3.0の新機能はだいたいサポートしています。画像にあるようにLinqの構文に赤線が出てしまっているのでIDEのサポートはまだこれからといったところでしょうか。思っていたより実装は進んでいるようで驚きました。
SUSE Linux Tips ― 2008年04月20日 19時47分26秒
Monoの調査でLinuxに触ることが多くなりました。昔はネットゲームのサーバーをLinuxで運用したりしていたので結構詳しかったのですが、それいらいほとんど触ってなかったのでコマンドなど思い出すのに苦労しました。デスクトップも3Dになっていて以前よりかなり進化していて驚きました。インストールでつまづいた点をここに書いておきます。 OSはOpenSuse10.3です。
TIPS
- 解像度を変更する時は/etc/X11/xorg.confのSection "Screen"で解像度が列挙してある箇所に変更したい解像度を入れておく。
- 3Dデスクトップを有効にしたときにウィンドウのタイトルバーが消えてしまったときは/etc/X11/xorg.confでSection "Screen"に以下の2行を追加する。
Option "AddARGBGLXVisuals" "True" Option "DisableGLXRootClipping" "true"
問題点
- GeForce用のドライバーをインストールしたがGeForce6200AのPCI版のドライバーが無いという警告が出る。3Dが有効にならない。ここをみると6200ではdirect renderingをyesにすることは出来ないらしい。
PZ80購入 ― 2008年04月21日 00時20分42秒
ついにPZ80を購入しました。PZ800も展示されていたのですが、テレビ台が荷重40kgまでのため37kgのPZ800はちょっと無理だと判断しPZ80にしました。カラーリマスターとか興味はあったのですが、店頭で放送を見る限りは違いは見分けられませんでした。
VisualStudioのコード分析で特定のクラスをチェック対象から除外するには ― 2008年04月25日 23時44分40秒
今プロジェクトの開発環境構築でVisualStudioのコード分析について調べています。
コード分析は便利ですが、たまに特定のコードをチェック対象から外したいと思うときがあります。そういうときはソースコードに属性を追加することで対象外にできるようです。
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1822")]
参考: SuppressMessage 属性を使用した警告の抑制
この方法だとコンストラクタで指定したメッセージしか対象外にならないため、すべてのチェック項目について登録したいときにはたくさん属性を宣言しなくてはなりません。
そこですべての項目についてチェックを抑制する場合は以下の属性を使います。
[System.CodeDom.Compiler.GeneratedCodeAttribute("DBFlute", "0.61")]
この属性はツールによって自動生成されたことを示します。たとえばxsd.exeを使用して作成されたクラスにもこの属性はついています。この属性がつけられたクラスはコード分析の対象外になるのでコード分析の抑止目的でも使えると思います。
Aeroはオフにすべきか ― 2008年04月29日 13時47分53秒
Vistaを使っているとAeroをオンにするかオフにするかで悩みます。
Aeroをオンにした方がCPU負荷が低くなるため軽快になるといわれています。
http://www.watch.impress.co.jp/akiba/hotline/20070113/etc_dvsp.html
しかし本当にそうでしょうか。実際検索してみるとAeroをオフにしたら軽くなったという報告がたくさんあがっています。私もオフにしたところそれまでたくさん発生していた応答なしがほとんどなくなって軽くなったのでそのまま使っています。
http://blog.livedoor.jp/total_music/archives/51353259.html http://blog.livedoor.jp/metalgear_solid/archives/51345630.html
Vistaではデスクトップの描画アーキテクチャが根本から変更されています。Aeroは単なる見た目の変更ではなく、デスクトップ描画モデルの大規模な変更です。そのためまだ対応しているソフトが少なかったり、パフォーマンスの欠陥が残っている可能性もあるのではと思っています。
過去に似たようなことがありました。NT4.0でビデオカードのドライバをカーネルモードで動作させるようになった変更です。
http://ja.wikipedia.org/wiki/Microsoft_Windows_NT#Windows_NT_4.0.EF.BC.881996.E5.B9.B4.EF.BC.89
この変更によってNT4.0ではビデオカードのドライバで青画面が発生することが多くなりました。しかしその後のドライバの改良などによりパフォーマンスと安定性を両立させることができるようになりました。
Vistaもちょうど同じような状況にあるといえると思います。アーキテクチャーの変更により一時的なパフォーマンスダウンや不具合もあると思います。しかしクラシックスタイルでは限界もあり、今後改良されていくこともないでしょう。今後Aeroが改良されていけば自然に普及していくと思います。
今のところはAeroオフで使おうと思いますが、Vistaか、次のバージョンでより改良されて使いやすくなった時に乗り換えようと思っています。