ソフトウェア開発」カテゴリーアーカイブ

ScottさんのSilverLightTutorial4

ScottさんによるSilverLightTutorial Stage4
ようやく終わりました。

もう、いったいどれだけ時間かけてるんだ!って感じですね。
ちょっと悲しい。
でも平日は時間がなかなかとれないからしょうがない。

イイワケカコワルイ

ScottGu’ Blog
Silverlight Tutorial Part 4: Using Style Elements to Better Encapsulate Look and Feel
http://weblogs.asp.net/scottgu/pages/silverlight-tutorial-part-4-using-style-elements-to-better-encapsulate-look-and-feel.aspx

前回、Tutorial3ではいくつかフォローが足りないというか、
書いてないことがあって躓いてしまったわけですが。。。

今度は本当に罠が仕掛けられてました。。。

今回のTutorial4はコントロールに対するスタイルの指定方法ですね。
今まではコントロールのスタイルに関してはPage.xamlに直接書いていたわけですが
これをApp.xamlにApplication.Resourceとして書いておくことで
複数のコントロールに同一のスタイル指定を行う時に楽になる&変更が容易
ってわけで重要な項目です。

Tutorialにはすべての項目に関してはApp.xaml内のスタイル指定方法は
記述していません。とりあえず、Tutorial3にて指定されているプロパティを
のきなみApp.xamlへ移動してみました。

f:id:krote:20080323185645j:image

動きませんでした。
エラーメッセージからするとプロパティに対するSetter指定がいけない?
AutoGeneratedColumnsかな?

コメントを元に調べていくと、どうやらリソース側でGridに対して
AutoGeneratedColumnsプロパティを指定するといけないらしいです。
Page.xaml内で指定する分には当たり前ですが問題ありませんでした。

とりあえず、AutoGeneratedColumnsに対するSetterをコメントアウトして
再度チャレンジしてみると、

f:id:krote:20080323185644j:image

意味不明なエラーが出た。
これはさすがにわからん。
そもそもAG_E_INVALID_ARGUMENTってなんだ。。

調べてみると、カスタムコントロールを使っているときに時々起るみたい。
細かいことまでは確認できてないけど、いくつか報告があった。

このTutorialに限っていってしまうと、GridのShowGridLinesプロパティを
使用した時に発生するようだ。
とりあえず、これはあっても無くても構わないのでコメントアウトした。

この状態でなんとか実行可能になる。
ただし、AutoGeneratedColumnsプロパティ設定を外しているので結果がGridに反映されない。
しょうがないから結局はPage.xamlに直接書くことにした。

これでようやく完成。
Tutorialの誤りや補足事項としては以下のもの。

1.いつの間にかWaterMarkedTextがただのTextBoxになっている
2.GridのAutoGeneratedColumnsプロパティはPage.xamlで設定する
3.GridのShowGridLinesプロパティはApp.xamlではだめ。

たぶんこれくらい。もしかするとほかにもあったかもしれない。

ネット上の話を見ていると、もしかすると頑張れば今回エラーだったプロパティも
App.xaml内で設定できるのかもしれない。

それにしてもまだベータ技術だからしょうがないんだが、
チュートリアルがそのままではだめだとは。。。。
なかなか敷居がきっついのぅ

XAMLによる開発

日本のMicrosoftでWPFやSilverLight関連でいろいろな情報を出している
川西さんのブログが更新されていました。

川西 裕幸のブログ
新しいイテレーション型開発
http://blogs.msdn.com/hiroyuk/archive/2008/03/20/8326702.aspx

デザイナと開発者の役割分担。

実際、どこまでこの分担はちゃんとできているのだろうか。
かえるが務めている会社の開発現場にはデザイナという職種は存在しない。
みんな開発者状態になってしまっている。

デザイナがいるわけではないので、結局のところ開発者がコントロールとかも
決めたりなんだりの作業を行っているのが現状だ。

コントロールのデザインという意味においては、プロダクトの中である程度
統一されているべきなのであまり悩む必要はないのだが、
コントロールの配置だとか、色づかいだとか。
このあたりはどうしても弱くなってしまっているのを感じている。
自慢じゃないのだが、俺は絵心なんてものは持ち合わせてねぇーーーー!!

まぁ、川西さんが書いたホワイトペーパーにもある通り、
開発者としてXAMLが正しく理解できるように勉強しないといけないですね。

ちょっと川西さんの本、置いておきますね

XAMLプログラミング
http://www.amazon.co.jp/s/ref=nb_ss_gw?__mk_ja_JP=%83J%83%5E%83J%83i&url=search-alias%3Daps&field-keywords=XAML%83v%83%8D%83O%83%89%83%7E%83%93%83O

Oracle VM

ZDNetJapanのサイトにOracleのVMに関する記事が載っていました

Oracle VMの実力を試そう
http://builder.japan.zdnet.com/news/story/0,3800079086,20369653,00.htm

以前、時々参加させていただいていたOracleの無料セミナー
OracleTwirightでVMの話があって、行きたかったのですが気がついたのが遅く
すでに満席になってしまっていました。
OracleTwirightは夕方に行う無料セミナーなのでやっぱり人気なのはすぐに埋まってしまうなあぁ

Oracle Japan イベント・セミナー情報
http://www.oracle.co.jp/events/

で、早速読んでみたのですが。。。
うーむ。Oracleをアプリケーションサーバーとして使用している場合には
VMとしての使い道もあるのかもしれないけど、現在のところ私は
あくまでデータベースとしての用途でしか使っていない。
そうなると、基本的にはOracleユーザーを切り替えればいいだけの話
になりそうだなぁ~。

今回のOracleVMは、直接的にすぐに使用することはあまりないかもしれないけど
Xenのような仮想化技術はちょっと押さえておきたいところ。

VMWareやVirualPC、WindowsServer2008もVirtualization機能も含めて
これからはこういった仮想化技術。充実してきそう。
開発者としてはこれらの技術をうまく組み合わせて自分の作業を
快適にしていきたいですね!

SilverLight2 コントロールのスキン

SilverLight2のコントロールに関してちょっとネットを徘徊していたら
面白いページがあったので紹介

Silverlight 2 Control Skins
http://blogs.msdn.com/corrinab/archive/2008/03/11/silverlight-2-control-skins.aspx

コントロールに対してStyle指定を行うことで使えるようですね。
これはこれで面白いかも!

ver.1に比べるとようやくver.2になってコントロールの幅も増え、
少しずついわゆる「ストリーミング」以外の用途でも使える道が見えてきたようです。

ただ、いかにせんまだ少ない。
どのみち標準として用意されているコントロールはそのまま使うのは難しい場合が多いので
カスタマイズしていったりしないとつらいのかもしれないけど。
せめてツリービューくらいはほしいよね。

ま、物は試しってことでこのスキン、試してみようかな。
私は残念ながら絵心がないのでこういうものを作れる人は素直に”すごい!”って思う。
うーーん、うらやましいぞ

Silverlight Tutorial Part 3に潜む罠

ScottさんのTutorial。週末は別のことを少しいじっていたのでTutorialは2までしか
やってなかったのですよ。
いよいよ、Web上のサービスとやり取りをするTutorial3やってみました。

Silverlight Tutorial Part 3: Using Networking to Retrieve Data and Populate a DataGrid
http://beta.weblogs.asp.net/scottgu/pages/silverlight-tutorial-part-3-using-networking-to-retrieve-data-and-populate-a-datagrid.aspx

いや~~~~~~~~~~~~~~~~~~~~~~

正直疲れた。

今更Tutorial通りになんかやらねぇー!って人もいるかもしれませんが、
同じ道を歩く人が少なくなるように。

まず、紹介されているコードでは期待された動きをしません。
というか、まずビルドが通りません。

まず、ソリューションにXml.Linqを追加します。もしかするとXmlも追加しないと?
f:id:krote:20080319024054j:image

こんな感じ
f:id:krote:20080319024053j:image

あとは

using System.Net;
using System.Xml;
using System.Xml.Linq;

をPage.xamlに追加。
DataGridにある「Data:DataGrid」の記述は「my:DataGrid」でも問題なく動作したけど、Tutorial通りにいくのであれば

xmlns:Data=”clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data”

をネームスペースの所に追加しなければいけない。

これで何とか動きました。

f:id:krote:20080319024611j:image

やったーーーー!!
なんか苦労した分感動

まぁ、何を隠そう一番手間取ったのは慣れないインテリセンス。
そしてそれによって追記されたカッコが邪魔でいつまでたっても
まともに動作しなかったことなんですが。。。。

だって今まで会社で使ってたのVisualStudio6なんだもん!
しょうがないじゃないかー!

ゴメンナサイ

うわ、明日起きれるかしら。。。。

仮想化への道

今月の日経SYSTEMSに富士フィルムで行われた基幹システムの仮想化に対する取り組みが紹介されていた。

仮想化そのものは大変有用で、私も検証環境や社内での客先環境を模すのに良く使用している。実機を使用しなくてよいというこの利点にはかなり恩恵を受けている。なかったらと思うとちょっと怖いくらいだ。
ただ、富士フィルムの例でみられるように実際の基幹システムに仮想化を取り入れるには実のところ、未だに多くの問題を抱えている。
私が感じる一番の問題は、アプリケーションのサポートだと考えている。これは私自身がアプリケーションを作成するベンダーの立場であり利用する立場でもあるからだとは思う。

アプリケーションのサポート

私が仕事で主に使用しているデータベースはOracleなのだが、Oracleは仮想化上での動作をOracleVM以外ではサポートしていない。実際のところ、VMWareやVirtualPC。Hyper-Vでも動いてはいるのだけど、障害時を考えると少し怖いものだ。Oracleも決してバグの少ない製品とはいえない事はこれまでも身をもって知っているし。
いくつかのアプリケーションベンダーの仮想化に対する対応はマチマチ。いくつか細かい違いはあるようだけど

  1. 物理環境で再現出来たらサポートします
  2. 仮想環境が原因だったらサポートしません

という2種類が多いように思える。字面の問題のように見えるが、前者はユーザー側で確認をするのに対して後者はベンダー側で確認をするというスタイルだ。
比較的容易にインストールさせる事が可能なソフトウェアであれば前者で問題ないだろうが、大規模なシステムであった場合にはそもそもインストールが困難なので後者が選ばれると思う。ただ、ここで問題になるのがベンダー側の対応。サポートの仕方はベンダーで異なるだろうが、おおむね

  1. 現象の再現確認
  2. 再現結果からの調査・修正等の対応
  3. アナウンス

のような流れになると思う。ここで問題になるのが、ベンダー側の環境で再現しなかった場合にそれが”本当に仮想化が原因”かどうかの判断をどうつけるのかではないだろうか。実際のところ、物理環境であっても現象によっては必ず再現するとは限らなく、いくつか複数の要因が重なって初めて発現する問題もある。また、仮想化が原因であるというのであれば、ベンダー側で仮想化環境を構築して検証を行う必要が出てくる。
となると、ベンダー側はユーザー側が使用している仮想化ソフトに対しての知識や、環境を用意しておく必要が出てくる事になってしまう。サポート部隊の涙目が見えてきそうな話だ。おそらく、そもそもの仮想化ソフトを限定しているのかもしれないが…。実際のところ、どうなのだろうか。気になるところだ。

ちなみにWindowsは以下の仮想化環境でサポートをしているようだ

  1. Cisco WAAS Virtual Blades 4.1
  2. Citrix XenServer 5 Embedded Edition
  3. SUSE Linux Enterprise Server 10 SP2
  4. VMWare ESX 3.5 Update 2
  5. VMWare ESX 3.5 Update 3
  6. VMWare ESXi 3.5 Update 3
  7. Xen Server 5

http://www.windowsservercatalog.com/svvp.aspx?svvppage=svvpsupport.htm

上記一覧にOracleVMがまだ入ってない事を考えるとWindows+Oracleの環境で公式のサポートを得る事は難しいという事か。いずれにしても、綱渡りである事に変わりはない。

<2009.03.07追記>
コメントに情報をいただいていますが、OracleはWindows,Linux以外の環境ではサポートを表明しているようです。
http://www.oracle.com/technology/products/database/clustering/certify/db_virtualization_support.pdf
HP-UXやAIXは正直私は触ったことがないです。Solarisくらいかな・・・。Oracleの利用目的から考えるとこれらを選択肢に入れるのはいいかもしれませんね。私はその前にこれらOSの知識を手に入れないと不安でしょうがないですが…。
でも、たとえばHPのnParそのものはWindowsやLinuxもサポートしているのになぜHP-UXのみに限定しているのか。そしてOracleVMではそのWindowsやLinuxをサポートしているのか。
このあたりは企業戦略が見え隠れしているような気がしなくもないですねぇ。純粋に信用していないだけなのかもしれませんが。

ではどうするのか

さて、困った。どうしたものか。
仮想化環境を提供しているベンダー。VMWareやMicrosoft。Oracleもまたそうなのだが、これらの中でどこかが明確な方針を出してくれれば少しは動きやすいとは思うのだけれど、現在のところ主だった動きはないように思う。サポートの手厚さでは24時間サポートを打ち出しているOracleVMが手厚そうと言えば手厚そうだ。
シェアで言うと先行していたVMWareが大きいのではないかと思う。
いずれにしてもベンダーがいくつかのアプリケーションベンダーを巻き込んでサポート体制の新しい枠組みを作っていかなければいけないのではないかと考えている。望むならば申し出のあったアプリケーションベンダーに対して仮想化環境を提供。検証するための枠組みを作っていって欲しいと考えている。
もちろん、星の数ほどあるアプリケーションベンダーそれぞれに対してそのような事が可能かどうかというと、無理があるのかもしれない。かといって仮想化に対するユーザーのニーズというものはこれからも増え続けて行くわけで何かしらの対応をとっていかなければいけないだろう。

SilverLight Songs

いつもどおりネットを徘徊していたら、こんな記事を見つけた

Silverlight – The Song
http://weblogs.asp.net/dwahlin/archive/2008/04/27/silverlight-the-song.aspx

Silverlight開発チームを混ぜての作品。ちょっとした「New Relase」だ。ちゃんとプレーヤーもSilverlightですね。

正直少しうらやましいと思った。実際の開発現場がどうであるかはわからないが、これくらいの遊び心を上が持っているというのはそれだけ下のモチベーションも上がるかもしれない。。。(って、それはどういう人によるのかもしれないが)。何にせよ、開発の現場は明るいに越したことはない。どーんよりとした雰囲気の中で開発を行うよりは厳しくとも明るい雰囲気の中で開発を行うほうが効率は上がるし、変に精神的なトラブルを抱え込んで会社に出てこなくなる奴が減ると思う。

もちろん、マネージメントの立場から言うと「納期や品質を守ってこそ」のものである事は確かなのだが。会社対会社。社内の人間関係。様々な問題はあるけれど、開発者にとって何ができるのか。どうなりたいのか。考えていかないとね。

視覚マーケティングのススメ

ウジトモコさん著、視覚マーケティングのススメを読んだ

視覚マーケティングのススメ (アスカビジネス)
ウジ トモコ
クロスメディア・パブリッシング
売り上げランキング: 23182

視覚マーケティングとは

「デザイン」というものを考える上で、ただ単にデザイナーに”いいものお願い”って頼むのではなく、マーケティングをすることで、効果的なデザインが出来上がる。マーケティングをせずに作ったデザインはマーケット上での効果は期待できないという考え方だ。

言ってしまうと、当たり前の話なんだけど、その当たり前のことを細部にまでできているかというとなかなか難しいことだ。一般に、製品を企画する段階では間違いなくターゲットとなるユーザーを設定するだろう。そのターゲットは年代に寄るものかもしれないし業界・業態によるものなのかもしれない。必然的に製品のパッケージや広告・キャッチコピーに関してもそれを意識したものが考えられる。
また、企業のロゴになると自分たちが顧客・ユーザーに”どう思われたいか”を意識して考えられるだろう。
ただ、それが本当にできているのだろうか?製品やサービスの細部。個々のパーツにまで落とし込めているだろうか?

意識されているもの、されてないもの

おそらく、パッケージや広告が表に出てきやすいもの。お菓子や化粧品に代表されるようなものに関してはこのいわゆる”視覚マーケティング”はできているのだろう。化粧品みたいなものは明らかに年代を意識して製品を作っている部分もあるので特に意識されているのではないかと思う。
ただ、ソフトウェアの分野はどうだろう。もちろん意識しているソフトウェアもあるだろうけど、明らかに”機能重視”でデザインに関してはおざなりに済ましてしまっている部分はある。特に基幹系のシステムに関してはその色は強いのではないだろうか。
もちろん、これらのソフトウェアに関しては機能は第1に重要視されるものだと思う。ただ、複数ある基幹システムの候補からどれが選ばれるか。ユーザーの立場で”どれを使いたいか”を考えてみるとその要素の一つにデザインがあってもおかしくないと思う。また、そういう意味で”ファン”を作った製品はエンドユーザーからは根強く支持されたりもする。つまり、デザインによるブランディングができているのだろう。
また、個人のブランド。パーソナルブランディングに関しても意識の差は大きいように感じられる。本書でもその具体例として名刺が取り上げられているところからもそれは感じられる。
最近、セミナーや勉強会に顔を出すようになって様々な方と名刺を交換する機会をいただいている。私は個人名刺を所有していないので会社のを使っているのだが、多くの人は個人名刺を持参している。自分自身をどう見られたいか。どういう人間だと印象付けたいのか。この名刺の目的は何か。考えられた名刺もあるしまずは作ってみたというものもある。私自身、個人名刺に関してはほしいと思っているので、どう思われたいのか?どう表現するのかは大きな課題の一つだ。まずはそこを見つけ出さないことにはデザインも始まらない。

ソフトウェアのデザイン

私はソフト屋なのでどうしてもソフトウェアにあてはめて考えてしまうのだが…
ソフトウェアの分野。先にあげた基幹系システムに関して言うと確かにデザインはいい加減なものが多い気がする。いや、実は結構頑張っていたりもするソフトもあるのだろうけど、VBフォームの延長線をいまだにたどっているソフトも割りと残っていたりする。
シンプルな作りなのがいいという業界もあるだろうし、スタイリッシュな物が好まれる業界もあるだろう。ただ、私自身が最近必要と思っているのは、要するに”スタイル”的なデザインではなく”ナビゲーション”を意識したデザインというものだ。これのいい方法が思いつかない。そういう事が得意なデザイナーもいるんだろうけど…、業界やユーザー層に踏み込んでまで考えられる人は少ないように思う。あ、それは発注側の担当ですか。
以前ペルソナを用いる手法に関する本を読んだ

ペルソナ作って、それからどうするの? ユーザー中心デザインで作るWebサイト
棚橋 弘季
ソフトバンククリエイティブ
売り上げランキング: 21263

まだペルソナに関しては試行錯誤段階で効果は不明だけど、実際に作ってみたペルソナが本当にあっているのかというのはわからない話。結局ウジさんの本にあるようにユーザーへの聞き取りのようなことをしなければいけないのだろう。
試行錯誤。試行錯誤の日々は続く

iTunes取り込み中に・・・困ったぞ?

これまでノートPCで管理していたiTunesを購入したiMacへ移動しています。

曲に関してはB’zを始め私がよく聴く曲がかなりの量取り込まれていて、それほど容量の大きくなかったノートのHDDを圧迫してしまっていたのも一つの理由です。
また、これまで取り込んでいたには取り込んでいたのですが、いくつかの曲で音が飛んでいたりして取り直したいと思っていました。

f:id:krote:20110610000402j:image

という訳で一日2~3枚くらいのペースで保持しているCDを徐々に取り込んでいます。
今回は、「そういえばこんなCD持っていたな~」って言うのを意識して取り込んでいるので、通勤中に聞く音楽がとても楽しい。懐かしさにあふれています。

大学時代によく聴いた曲
友人から勧められて買った曲
高校時代に聞いていた曲
ライブに行って聴いた曲

懐かしいです。

最新の曲はというとさっぱりわからないので一向にラインナップは増えていかないのですが、それでもずいぶんと楽しめるものです。

と、取り込んでいる最中に問題が。

f:id:krote:20110610002413j:image

大量の8cmシングルCDです。

これ、若い人はもしかしたら知らないかもしれない。でも、以前のシングルCDはほとんどこれだったんですよね。
多くのCDドライブはCDの真ん中を固定する方式をとっているのであまり気にしなくてもいいかもしれませんが、iMacのようにスロット式のCDドライブだとこのサイズのCDを読み込むことが出来ないんですよね。
ずいぶんと前に、8cmサイズに対応していないドライブへ読み込ませるためにアダプタを買ったには買ったのですが、使用頻度の少なさから捨ててしまったんだよなぁ。まさかこんなところで必要になるとは・・・

Amazonで見るとだいたい500円くらい。うーんどうしようかな。
もう一度アダプタが無いか探してみようかな~

うーん、思わぬ落とし穴だ

audio-technica AT6621 CDシングルアダプター
オーディオテクニカ
売り上げランキング: 2880