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

PDC2009の報告がされています

XAMLプログラミング WPFアプリケーションの概要と開発の著者でもある川西さんのブログでPDC2009の報告が上がっていました

川西 裕幸のブログ
http://blogs.msdn.com/hiroyuk/archive/2009/11/18/9924120.aspx

PDCとは

PDCはProfessional Developers Conferneceの略で、マイクロソフトが米国で開催しているソフトウェア開発者向けに開かれているイベントです。
日本ではパシフィコ横浜で年に1,2回似たような開発者向けのイベントはありますが、実際に開発をしているMSの担当者と話が出来るわけではないので、必然的に密度というものは違ってきます。
あ、MSの担当者がいても日本人の場合言葉の壁が高すぎる気もしますが…最悪コードで会話をするしかないですね(笑

気になった点

ムーアの法則がこれまでのクロック数からコア数に…ってことからかやはり並行処理(Concurrent)や並列処理(Parallel)に関する話題が取り上げられていますね。
WindowsAzureが今回の目玉!って何かに書いてありましたが、さすがです。川西さん。ほとんど触れていません。
情報がどうしてもとぎれとぎれになっているので、全容はつかみきれはしませんが、

  • MSRではCuzzとFeatherLiteを開発
    • Cuzz: 百万回に1回のバグを見つけるツール
    • FeatherLite: 軽量なデータ競合検出

百万回に1回のバグを見つけるツール…って。どういう条件でどういう内容のバグを見つけるんだろう。
ううむ、ちょっと気になるな。ツールもさることながら、バグが気になるぞ

テストしましょう

いつも拝見させていただいているオルタナティブブログで坂本さんが、あるプロジェクトでの逸話を紹介していた

トラブルが発生するときというのは、なぜだか同一の会社に重なります(坂本史郎の【朝メール】より)
http://blogs.itmedia.co.jp/shiro/2011/04/post-5da5.html?ref=rssall

お客様の要望は結構果てしなく、それでいて「本当のところどうしたいのか」がはっきりしていなかったがゆえに、当初想定していた以上の工数がかかってしまうことは結構ある。
マネジメントがうまくできていないだけということも言えなくはない。
実際問題、最初の納入以上にその後の改修のほうが大きくなってしまうなんて言う話もある。

結構大変

ここで紹介しているエピソードは、最終的に乗り越えるわけですが、企業としては心中するわけにはいかないので難しい判断を迫られることも多いと思う。

ただ、その中でお客様の話として出ている

お客様からの要望は全て入れる必要はないです。
ただ、入れたものに関しては充分にテストしてほしいです。

異常形テストケースの割合は、テストケース全体の半分くらいが適当ではないか。
そういう考え方を徹底してほしい。
今は受け入れ側の素人テストで問題をあぶりだしているが、これはプロである
メーカーとして実施してほしいです。

と言う言葉にはちょっとハッとさせられた。

もちろん、それだけのテストを行う必要があると言う認識のもとでのプロジェクトを組まないといけないのはあるけど、そもそも”実装する”と決めたのであれば、その出所がなんであれお金をもらっているプロとしてのスタンスで臨まなければいけない。

まだまだ、自分自身でちゃんと出来ているところまで行っていない。
積み重ね、積み重ねて出来るところまで持っていかないといけないと、改めて思った。

IE6よさらば

お客さん先の環境で、IE6上でイマイチ原因のわからない障害が起きていた。環境としては

  • WindowsXP SP2
  • InternetExplorer6 SP2

であった。XPはいいとして、IE6か~。ってことで、とりあえず内容を確認して再現確認を取ろうとするも、社内環境では再現しない。客先でも以前からIE6を使っていて、最近発生し始めた障害のようで、単純にIE6が原因とは言えないんだけど。。。
環境が原因である可能性が高いのならば環境を変えてしまえばいいんじゃないか?と安直に考えて、お客さんに「IE7にしようよ!」って薦めるための材料を集めようと、IE6のサポート期限をうたっているページを探そうとしたら変なものを見つけた

IE6 NoMore
http://www.ie6nomore.com/

「IE6はもういらない」――Web企業が撲滅キャンペーン
http://www.itmedia.co.jp/news/articles/0908/06/news031.html

ITMediaの記事が8/6なのを見ると、実にタイムリーな内容だったみたいだ。
企業向けのWebアプリケーションを提供している企業にとって、OSをインストールしたときに自動的にインストールされているIEへの対応はかなり重要な項目。ただ、IEのバージョンへの対応は意外と面倒でそれにかかる開発コストというのは馬鹿にならない。それを考えると、思わずキャンペーンにもろ手を挙げて参加したくなるが、やはりそう簡単でもないだろう。
実際のところ企業の中ではいまだにWindows2000が現役で動き続けている。WindowsNTすら動き続けている。Windows2000ではIEは6までしか動作させることはできないし、WindowsXPもインストール当初はIEは6だ。
自社のシステム上、特に問題がない限りわざわざバージョンを上げる必要がないと考えている企業は多い。バージョンアップに伴う情報システム部門の費用もばかにならず、”そんな事をする暇があるなら別の仕事をしろ”って感じに今の御時勢はなってしまうのかもしれない。

バージョンを上げればセキュリティ的なリスクがすべて解消するというわけではもちろんないが、更新の止まったアプリケーションを動かし続けるリスクは企業であればちゃんと認識する必要はあると思う。
IE6撲滅キャンペーンも、開発者側のリスクに対して焦点を当てるのではなく、セキュリティ的なリスク等に対して焦点を当てて薦めていったほうが、頭の固い人にも少しは受け入れやすくなるんじゃないだろうか。。

ここまで書いて、そんな意識があるのであればすでにバージョンアップしているんだろうなぁと思った。
あ、問題解決してないや

Slides from Silverlight for Business Applications Webcast

SilverLightをビジネス用途で使用するのに
現状のできることや、なんなりをよくまとめてあった
WebCastがあったので紹介

irritatedVowel.com
http://community.irritatedvowel.com/blogs/pete_browns_blog/archive/2008/03/20/Slides-from-Silverlight-for-Business-Applications-Webcast.aspx

これを見ると、Hosting環境としてはIISだけじゃなくて
Apatchでもいけるのかな~
クライアント側にダウンロードして起動するものだから
たぶん行けるんだろうとは思っていたけど、確証がなかった。

今度やってみようかな

意外と難関!? Oracle Migration Workbench

AccessからOracleへのデータ移行

先輩から引き継いだAccessで作られたツールが、ちょっと性能的な限界を迎えたので社内のOracleサーバーにデータを移行しようと思った。調べてみるとOracleがAccessからのMigration用のツールを提供しているのでとても簡単

意外と簡単!? Oracle Migration WorkbenchによるMS-Access→Oracle移行
http://otndnld.oracle.co.jp/easy/access/shift_manual/index.html

だと思ったら、実はものすごくめんどくさかったのでメモ。

不思議なツール構成

AccessからOracleに移行するには上記の手順に従うと大きく2つのステップが必要となる。

  1. Accessの情報を吸い出す
  2. 吸い出した情報を使ってOracleへ移行

ツールとしては、Accessで作られたExporterと呼ばれるエクスポートツールと、MigrationWorkbenchと呼ばれるデータをインポートするためのツールを使うのだが…。なぜかExporterは表の情報をXMLファイルにエクスポートするのみ(正確にはデータをDATファイルに落とすこともできるのだが、是術した手順では使用しない。使いづらいのか?)。実際にデータを移行するのはMigrationWorkbenchがAccessに直接アクセスして移行しているようだ。表の情報を別に出力している理由が分からない。

なんとか情報を吸い出して、Migrationを実行しようとするが、ここでも注意が必要だ。
WorkbenchがサポートしているMigrationは、ユーザーやテーブルスペースが固定されてしまっている。スキーマ情報を出力したXMLファイルを修正することで変更をすることができるには出来るのだが、ユーザー名=テーブルスペース名という制限がついてしまう。
つまり、Migrationを実行するには専用の環境を用意する必要があるという事だ。

移行する時の注意点

Oracleと違ってAccessは結構なんでもありの世界になっている。テーブル設計がある程度の常識を持って作られていれば特に問題はないのかもしれないが、中途半端に”ユーザーに分かりやすく”を目指しているととても色々と出来てしまう。

  • 禁止文字の使用
    • Oracleではテーブル名やフィールド名に使う事が出来る文字列に制限がある。ところがAccessには制限が無い(もしくは緩い)ために、ここで齟齬が生じる。Workbenchではこれを自動変換して対応を使用とするのだが、これがどうもイマイチ中途半端のように見受けられる。
  • テーブルの長さが20まで
    • Oracleのテーブル名やフィールド名のサイズ長は30バイトのはずなのだが、Migrationツールで情報を吸い出すと20バイトまでしか取り扱ってくれずに切れてしまう。半角カナは2バイトとしてカウントされてしまうようだ。多くの場合は問題ないかもしれないが、フィールド名が「かえる用のフィールド1」「かえる用のフィールド2」なんてつけ方をすると途中で切れてしまって、フィールド名重複のエラーが出る

しかも、Office2007でやってみたらうまくいかなかった。うまくいかなかった原因がOfficeにあるのか設定にあるのか。このあたりは定かではないのだが、あれこれと制約や制限。出来ない事が多すぎて結局今回はOracleへの移行にWorkbenchを使用するのをあきらめ、自分で移行用のプログラムを書いてしまうことにした。

前々からそうなのだが、Oracleはあまりにもユーザーインターフェースがずさんなように感じる。パッチをあてるにしろインストールにしろ、あまりにもひどい場合が多い。
DBの性能がいいことに胡坐をかいてしまっているのではないだろうかと思ってしまう。何とかしてほしいものだ

JINS PCのその後

JINS PCを利用し始めてから2ヶ月が経ちました。

JINS PCを試してみています
http://d.hatena.ne.jp/krote/20120305/1330896902

だいぶ慣れては来ましたが、まだ気にならないという訳ではない状態です。
ちょっと疲れが溜まってくると、メガネをかけている事が疲れを倍増させているような感じがして
メガネをかけるのをやめてしまったりもします。

元々、ドライアイ等に悩んでいた訳ではない私。
つけないならつけないで問題は無いのでそのまま過ごしてしまったりもします。

いいのか悪いのか。
どうも、これが目にいいという事を実感出来ないのはメガネをかけるモチベーション(?)に欠けます。
本来は疲れている時にこそ目をいたわる意味でかけるべきなのでは?とも思うんですけどね。

何とも、何とも。

Silverlight検定

Silverlight検定なるものを「Programmable Life」さんが作成していたので挑戦してみた

Silverlight 基礎知識検定 (Programmable Life)
http://d.hatena.ne.jp/coma2n/20080623/1214229546

Silverlight 基礎知識検定
http://kentei.cc/k/11346

結果は何とか合格でしたが、簡易Webサーバーの○○っていうのは知りませんでした。。。まだまだ勉強不足ですね

あー。。。最近プログラムできてないなぁ。。。。
管理・マネジメント関連の仕事ばっかりです。いや、それはそれで面白いのですが。。。

それにしてもこの「けんてーごっこ」って仕組みは面白いですね。簡単そうだし、ちょっとしたクイズだとかに使えそう。もう少し画面サイズが大きいといいのだけど、大きければ大きいだけ背景だとか気を使わないといけないことが多くなるからまぁいいのかな。何か遊んでみようかな?

Macで戸惑っていること

使い始めてまだ3日ほどしかたっていない+使っているのは一日2時間ほどなので、やはりまだまだ慣れません。

とりあえず、現時点で「うーん」って思っていることを備忘録代わりに書いてみることにします。

ショートカットキーの違い

Windowsでは主に編集操作を行うときにはCtrlキーを利用しています。
コピー時にはCtrl+cであったり、ペースト時にはCtrl+vですね。
Macではこれらの操作にはCtrlキーではなくCommandキーを使うことになるようです。
また、ブラウザ等で最新情報に更新するときにはWindowsではF5キーを利用することが多いのですが、Macでは「Command+r」を使うようです。

また、完全に習慣として染み付いてしまっているのが漢字と英数の切り替えです。ホームポジションに近い位置にあるにもかかわらず、習慣としてApple純正のキーボードには存在しない「半角/カナ」キーを押そうとして「1」が押されてしまいます。。。。

こればっかりは覚えていくしかないのでしょうが、慣れないうちはちょっと面倒ですね。
ふむぅ

ペイント

ブログに利用する画像を、これまではペイントを利用して加工していました。GIMPとか立ち上があるの遅いし。
ただ、Macでこの役割を担っているのがなんなのかがよくわかっていません。
そもそも最初からはインストールされていなくて、GIMPなり何なりをダウンロードしてこないといけないのかな~?

これに関しては、それほどの緊急性がないことからまだ細かくは調べていない。
いいのないかな

そもそも触りきっていないので、これからも戸惑うことは数多く出てくるだろう。
実際のところの戸惑いはここに書き尽くせるものではない。戸惑いというか、なんというか。

やっぱり「知らない」ってことは大変だね。
週末に少しでも経験値をつめるようにしていきたいものです

ちょっと遊んでみた

チュートリアルも8つあるうちの6つが終了。一番最後のチュートリアルはWPFでのものなので実質的には残るはテンプレートに関する一つのみ。と言う事で、今までのサンプルで少し遊ぼうとした。下はリストのタイトル列を2段組みにしてみた

f:id:krote:20080331003238j:image

と、見てみるとエラーを引き起こしているじゃないか。

f:id:krote:20080331003235j:image

なにやらGifファイルが見つからないみたいなエラー。よく見ると、リストのうちの一つのサムネイルが表示されてない。

どうやらすべての抽出結果にサムネイルが付いているわけではないのか、サムネイルがSilverLightで表現できない形なのか。そういう事に起因しているエラーのようだ。サンプルを見返してみると、ちゃっかりLINQの所に以下の記述が追加されていた

where story.Element("thumbnail") != null && !story.Element("thumbnail").Attribute("src").Value.EndsWith(".gif")

これでOK。ちなみに、さらにいじって、ユーザ名を表示させてみた。

f:id:krote:20080331003232j:image

Listの内容をグリッドにし、1行目にさらにグリッドを追加して1行目は2列。2行目は1列のような表を作ってみた。xamlを使った表現は、なれると結構いろいろなことができることがわかる。比較的簡単に。SilverLightでは機能が少ない分動作に困ることはあるかもしれないけど、WPFでできることの多くはそのうち追加されるかもしれない。それを考えるととても楽しみである。

今月のDBマガジンが面白かった

今月のDBマガジン、特集が2つとも個人的にはヒットして面白かった

DB Magazine (マガジン) 2008年 09月号 [雑誌]

DB Magazine (マガジン) 2008年 09月号 [雑誌]

特集1 リッチクライアント技術最前線
特集2 失敗しないOracleRAC構築ノウハウ
特集3 Python開発フレームワーク

●リッチクライアント最前線
ここでは「Ajax」、「WPF」、「AIR」に対して実際にWebサービスと組み合わせたサンプルを手ほどき。Silverlightに関しては照会のみで終わっていますが、WPF自体にも興味があったのでこのサンプルはとてもうれしい。ちょっとかじってみようかしら。DBマガジン、やるじゃないか

●失敗しないOracleRAC
OracleRAC・・・。すでに失敗したことがあります。可用性という意味では非常に効果があるのはわかっているのですが、この構築。全然すんなりと行ってくれませんでした。実際にはハード側の問題等もあいまってセットアップが全然進まなかった苦い思い出があります。

今回の記事では、OracleRACを構築する上での注意点だけでなく、実際に運用フェーズに入った場合の問題点早期発見のために、何に気をつけて考えていかないといけないのか。このあたりにも踏み込んで話がされています。個人的にはハードに対する考察だけでなく、OSに対する設定だとかに関しても言及してほしかったところ。このあたりは広げようと思えばどこまでも広がる話なのかもしれないのでしょうがないところか。

Pythonに関しては・・・すいません。ほとんど知りませんでした。。。どちらかというと今から勉強するくらいならPowerShell勉強したいと思っています。