DataGridView や DataRepeater にこだわりつつ
時代は Workflow Foundation などと言い続けていたら
これからは LogicFlow だろ! と思い始めてきた
色々浅く広くやっていく古い技術者の Blog
2010年11月10日水曜日
SQLDO 11/8 第4回勉強会 レポート
ちなみにこの日の午後は MS 北海道のパートナー向けセミナーが開かれており、私と代表の tenki(@tenki28)さんが参加していました。その為昼 13 時から夜の 21 時まで MS 北海道支店にいりびたっていたという状態でした。「お腹がすいた」という tenki さんは何を思ったか・・・
何がどうなればコミュニティ勉強会で「かりんとう勉強会」になってしまうのか・・・どうしてこうなった?w
1:SQL Server Product Manager のお仕事
[Blog:SQL Server Product Manager チームブログ]
今回は SQL Server の Product Manager である松澤 純(@MatsuJun_MJ)さんにセッションを行ってもらえました。SQLDO だけでなく CLR/H も含め、技術系コミュの勉強会にエバンジェリスト以外の方が登壇してくれるのは私は初めてでしたので、密かに楽しみにしていたセッションでした。Tech Ed 2010 の際に初めてお会いして「 SQLDO に是非来てください!」と無理なお願いをした甲斐があったものです・・・w
なかなか一般的には知られていない Product Manager というポジションの人間がどのような業務を行っているのか、という内容で思い切り内部な話題が大盛りという、レポートを書く側に取ってなかなか悩ましい内容というのもありますが、その分いつもとは異なる「濃さ」だったセッションだったと思います。でも細かい話は殆ど書けませんがw
正直に言えば、私が思い描いていた Product Manager というイメージとはかなり異なり、「幅広い」「細かい」仕事が物凄く多いのだな、というのがありました。製品がRTMになり、せいぜいドキュメント等の日本語訳を用意する位だと思っていたら・・・半端じゃないほどの作業量がそこには隠されていたのが驚きです。パッケージやマニュアル、販促資料など大量の成果物を作成するに当たり物凄く細かいところまで気を配られているのがよくわかりました。このセッションを聞いた後では、色々な時に頂くこともある各種資料も見方がかなり変わりますね。
2:プログラマーにも知ってほしい統計情報
もう一つのセッションは代表である tenki さんのセッションで、今回はレスポンスに影響を及ぼす統計情報についてのセッションでした。準備時間があまりなかったはずなのに、始まってみればしっかりとこんなタイトルスライドまで用意していたとは・・・
データベースが効率的にデータを抽出するために用意された仕組みである統計情報、SQL Server は基本設定として「統計情報の自動作成」が ON になっているので、殆どの方は意識したことがないのではないでしょうか。
テーブルの各カラムに対してどのようなデータが存在するか、という分布情報が統計情報の正体であり、作成されるタイミングは SELECT にて抽出を行ったタイミングや、一定量のデータ更新が発生した場合だということで、このあたりは実際のデモも交えて説明を行いました。
一応私もある程度は SQL Server と付き合ってきている( 4.21a からのお付き合いですw)ので、統計情報という言葉と表面的な挙動については知っているつもりでしたが、最初に作成されるタイミングについては初耳でした。また統計情報の更新におけるオーバーヘッドが気にするほどではないという点、統計情報の手動更新などなかなか意識していない部分の話が出てきていたと思います。
欲を言えば、この統計情報がどのようにデータ抽出などに影響を与えているか、というデモもあればなぁ、と思っていたり。
ちなみに tenki さんのセッションは「かりんとう勉強会」の本領発揮で、用意されたこれらかりんとうを参加者皆でつまみながら耳を傾ける、という・・・。
このような形で行われました。ちなみに個人的に「黒こしょうかりんとう」がかなりのインパクトでちょっとやられそうでしたが、松澤さんはじめ半数ほどの方は「酒に合う!」という意見でした。チーズかりんとう、雪んこチョコかりんとう、牛乳黒糖かりんとうは私好みの味でした。生しょうゆはちょっと面白い味で最初は「生姜?」と思う口当たり、楓はかなりオーソドックス系で暖かい番茶が欲しくなりますね。
この後、懇親会も行い更に色々とお話ができたのは非常に楽しかったです。松澤さんには是非とも真冬の北海道にまたいらしてほしいな、等と思いました。
2010年11月7日日曜日
CLR/H 第52回 勉強会レポート
2010年10月31日日曜日
CLR/H 第51回 勉強会レポート
1:WebMatrix についてお話しませんか?
@jsakamoto さんによる WebMatrix を早くも取り上げたセッションです。今回は Microsoft Office Live Meeting を利用し遠方からもリアルタイムに参加できるよう試みたセッションでした。
まだベータ2ながらも今までと比較してかなり簡易な web サイト開発が行える点が非常に気になるWebMatrix。セッションの中ではその簡易さから「誰が利用するのか?」と言った、LightSwitch の際にも存在した問題が同じようにあるのが印象的でした。
今までの経緯や、Web Platform Installer を利用しての環境構築、利用されるデータストアなどに重点を置きその手軽さを垣間見た面白いセッションでした。
ただ個人的な感覚として、非技術者が利用するには微妙なポジションかな、と感じています。低予算で開発するようなケースには向いていると思いますが・・・。
ただ色々な事が簡易にできるのはかなり面白いツールとなると思いました。
Ex:おやつタイム
CLR/H恒例のおやつタイム。今回はたい焼きですー。
2:It's a SmallBasic
@salvage さんによる教育用言語 Small Basic についてのセッションです。
Small Basic という開発向けではなく教育向けとしてリリースされた言語についてのセッションで、.NET アセンブリを作る機能があったり、同じく .NET アセンブリを利用する機能があったりと、丁度 BASIC からプログラムに触れることになった私としては、非常に魂揺さぶられる内容でした。
IDE がかなり作り込まれているのと、言語仕様として非常に簡潔になっている点。BASIC言語の流れを感じさせる物で、アイデア次第ではもっと色々な事ができそうでした。ただ残念ながら色々な事情が重なって、機能追加するとか行おうとすると資料がない等の憂き目にあうというのが、全く持って残念です。
意外と新人研修あたりで使わせるというのも面白いんじゃないかな、と思ったりもしました。
3:契約による設計と Code Contracts 入門
@zecl さんによるCodeContractsというプログラム設計についてのセッションです。
いかにプログラムからバグを無くすかという話が主題で、そこから単体テストツール等に繋がる・・・予定だったのですが、参加者含めていいテンションになりかなりの前半部分で終了してしまいました。
事前条件などを組み合わせることにより、できるだけコンパイル時にはバグ発生の可能性を無くしていこうという考え方なのだそうですが、「Null はない」とかかなり衝撃の強い思想だったことが印象的です。私は DB の3値思想が体にしみこんでいるので、Null がないことのほうがどうにも・・・w
ただそのあたりがあるからこそ、バグが発生する可能性も高くなるという点は非常に同意ですので、個人的にももう少し勉強してみたいな、と感じました。
終わり際には @zecl さんがこの日のために用意されていたサンプルプロジェクトが数多くあった事を見せて貰ったのもあり、是非再度セッションを行って貰いたいなぁ、と思います。
2010年10月20日水曜日
ワークステーション(デスクトップ)のロックを検知
たまーにクライアントやターミナル環境を監査するようなAPが必要になった時に、ログイン・ログアウトと同じくらいロックしたことを検知したいときがあるんだよねぇ。
マネージでやる場合、こんな感じ。
Imports Microsoft.Win32
(中略)
AddHandler SystemEvents.SessionSwitch, AddressOf SessionSwitch
(中略)Private Sub SessionSwitch(ByVal sender As Object, ByVal e As SessionSwitchEventArgs)
Try
Select Case e.Reason
Case SessionSwitchReason.SessionLock
Debug.WriteLine("SessionLock")
Case SessionSwitchReason.SessionUnlock
Debug.WriteLine("SessionUnLock")
End Select
Catch ex As ExceptionEnd Try
End Sub
大体こんな感じで、静的クラスの Microsoft.Win32.SystemEvents クラスの SessionSwitch イベントを利用してあげればOK。
もっと楽にやろうとするなら・・・System.ServiceProcess.ServiceBase を継承して、ってトコだろうなぁ。
2010年10月9日土曜日
CLR/H #50 勉強会の追記?
これが今回のおやつタイムに提供されたものの一つ、エクレア。
実は勉強会の最中、札幌の空はこのように珍しい色に染まっていました。写真だと少し変わって見えますが、ピンクというか紫というかちょっと普段の夕暮れとは異なる色合いでかなり綺麗。
2010年10月6日水曜日
2010年度 無償環境でシステム作成
以前は VS2005 + VWD2005 + ReportViewer + SQL Server Express という構成で無償ながらもかなりのシステム作成ができていたんだけど、VS2010 が登場してその様子はちょっと変わったんだよね。
ネックになるのは ReportViewer での帳票作成。VWD2010 で対応しなくなったのがなぁ・・・。やるとしたら次の二通り。
- VWD2008 + ReportViewer 2008 コントロール
- ReportBuilder3.0で作成→名前空間の手作業による変更
このどっちかになるかな。ReportBuilderで生成した RDLC は VS で生成する RDLC とバージョンの扱いが異なる(構造はどうやら同一)なのでそこだけ対応すればOK。
2010年10月3日日曜日
CLR/H 第50回 勉強会レポート
1:Visual Studio 2010 で最速RIAアプリケーション作成? (スライド)
インフラジスティックスジャパン株式会社より池原さん( @Neri78 )のセッション。出だしに軽いジャブを含ませたのですが残念ながらヒットせず…。セッションの題材は現在ベータ 1 として提供されている Lightswitch でした。
最初から「 5分で作る!」というデモを用いて Lightswitch の手軽さを説明。LT 用にも見えるタイマーをあらかじめ用意した上でデモに臨みました。実際に 5分という短い時間の中、簡易なデータエントリ AP を動作するまでそれほど大した操作もせずに行えるあたり、Lightswitch といツールの可能性が見えた気がします。Azure にも対応しているという事ですので、今後 Lightswitch を利用し SQL Azure 上のデータを利用する AP を作成する事も必要になるかも知れません。
またカスタマイズ関係についても言及され、「エンティティ間での値計算などを行う際にコードでの記述が可能」「実行しながらの UI カスタマイズが楽」「検証ロジックを独自コーディング可能」というメリットと、「完全カスタマイズは難しそう」というデメリットを説明されました。ただしカスタムコントロールを利用できるので項目単位であれば色々な事ができそうだという事(勿論ベータ 1 だからまだどうなるかは分からない)で、今後も注目する点は多いように思えました。
Lightswitch 自体は Silverlight を利用しているので、NetAdvantage for Silverlight Data Visualizaion に含まれている地図コントロールを Lightswitch 上にて利用するデモも行われ、別途コントロールを利用する事により純粋に Lightswitch のみで構築するよりもかなり UX に富んだ UI を構築できる事を見せてもらえました。既に Silverlight で AP 開発を行っている場合、Lightswitch を利用する事はかなりメリットがありそうだ、と感じました。
セッションの最後では「 Lightswitch は誰が使うのでしょうか? 」という質問が投げかけられました。個人的には「非開発者であり ITPro が主ターゲット」と見ていたのですが、現時点では公式アナウンスもなく海外でも明言はされていない様子。ただカスタマイズを行うにはある程度知識が必要だという点、Visual Studio の操作を知らないと難しいのではないかという点があることより、やや開発者向けなのではないかという雰囲気が感じられました。会場であがった意見としては「 Access と同じ層を狙っているのでは?」という意見もあり、今後の方向性が注目されるところです。
2:Lightning Talks
今回は告知宣伝系と普通に LT とが混ざった形となっていました。
A) @tenki28 さんの 「SQLDO コミュニティ紹介」
B) @twit_ahf による 「伝票入力にまうわる失敗」
C) @mentaro さんの 「起業までの道のり」
D) @Tocchann さんの 「わんくま同盟紹介」
E) @fukuchima さんの「和風で行こう!」
F) @Neri78 さんの 「NetAdvantage 製品紹介」
最近起業した @mentaro さんの LT は非常に濃厚な話ですが、軽快な口調でサクサクと行われたのが印象的でした。
「半年間無収入で!」というのが物凄く衝撃的です。実際に起業されている方の言葉というのもあり、物凄く説得力がありました。
@fukuchima さんの LT は Tech Ed Japan 2010 近辺で一部界隈を賑わしたキーワードが元ネタになっていた、というのを後日知りました。@fukuchima さんは自社製品である InputMan での思いやりある UX というスピーディかつテンポが良い喋りが印象的でした。ネタも適度に盛り込まれていましたし。
Bonus Stage:おやつタイム
CLR/H と SQLDO、双方のコミュニティが勉強会を行う際に「必須」であるおやつタイムは今回も万全。ドーナッツやロールケーキなどが飲み物と共に振る舞われています。
3:WiX toolset で始める WIndows Installer 開発入門(スライド)
わんくま同盟より来ていただいた高萩さん( @Tocchann )のセッション。「インストーラとはどのようなものか」に始まり実際にインストーラを作成するデモまで行われたセッションでした。
インストーラと言われるものについて、WIndows 以前から現在にいたるまでをざっと説明し、そこを踏まえた形でインストーラに求められるものを定義しました。インストーラで行うべき事、行うべきではない事を改めて押さえる事で Windows Installer で何を行うかというのを分かりやすく説明してもらえたと思います。
リレーショナルデータベースであり、作成時も実行時もデータベースとしてアクセスを行い動作するという、Windows Installer を利用した事のない方には驚かれる部分や、Product・Feature・Component と製品を構成する要素の説明。WiX toolset を利用するための環境構築など、普段インストーラに触れてない方を主軸にした貴重なセッションでした。
また現役 MVP である高萩さんが参考にされている資料についても補足説明があり、非常に有益なセッションでした。Designed for Windows XP を参考にするのが迷った際の指標となる、というのは非常にありがたい情報です。
Visual Studio 上で XML を直接編集してのインストーラ作成をライブコーディング的に行うことで、思っているよりも簡単にできるという事を目にすることができたと思います。
高萩さんのセッションで面白いと思ったのはその進め方でした。スピーカー席からの喋りだけではなく、参加者側へ視線や体を向け、「参加者達と一緒に進めている」と感じさせる方法で、これは喋る側へと回った際には是非実行してみたいと感じました。
個人的に業務としてパッケージ製品を作成しているのもあり、多少は Windows Installer と触れていたのですが、改めて体系だったセッションを行っていただけたのが非常に有難かったです。
パッケージ製品だけに限らず業務システムを作成する人にとっては、結構利用する機会が多いかと思っていたのですが、.NET になって配布が楽になったことも手伝いあまり多くないのかも知れません。ですが利用することにより、さらにしっかりとした配布が可能になる点は大きいと思います。是非利用して貰いたいものです。
4:Windows フォーム脳から WPF 脳への移行(スライド)
グレープシティ株式会社の八巻さん( @yamaki00 )のセッション。Windows Forms 時代におけるプログラミング方法から、WPF 時代における方法へどのように切り替えていくか、というセッションでした。
WPF 時代になって「データを起点に考える」という思想の変更が重要、GUI を起点とするのではなく「データをどのように視覚化するか」という、逆の発想が重要だというのが全体を通して言われたかった事と思います。
丁度 LT にて私が「データバインディング大事!」という内容を扱った事もあり、改めてデータバインディングがこれからも大きな影響を与える事が実感できたと思います。
データバインディングの基本、そしてそれを用いた画面側のロジックを変更せずに表示内容を切り替えるデモ。そして画像の一覧表示機能を持つ AP の実装デモ。余談ですが非開発者である今回のカメラマンは、このデモが一番わかりやすく興味を持った、と言っていました。
また最近話題にあがることが増えてきている、MVVM についても「重要なのは目的とその考え方」とこだわりすぎないことを言われました。セッション中に言われた最大の目的は「テストを行いやすくする」事。開発者であれば非常に納得する話です。
しかしセッションのスライドにて、某漫画のネタを随所にちりばめてきたこともあり非常にインパクトの強いセッションであったと感じます。良い意味で反則。
Extra Stage:抽選会
今回は各スピーカーの方々やスポンサー企業様から提供された品々が多く、一人一つは何かがあたるというすさまじい状態となっていました。提供してくださった皆様にはこの場を借りてお礼申し上げます。
2010年9月27日月曜日
2010年9月13日月曜日
9/8 SQLDO ナイトセミナー
9/8 に SQLDO のナイトセミナーを MS 札幌支店にて行いました。CLR/H に続き SQLDO も夜形式のセミナーということで事前調整などが色々難しかった感じですが、無事開催されて一安心という感じです。上記写真はオープニングロゴなのですが・・・ジニアス作成の SQLDO ロゴが右上に潜んでいるのですが、あまりに色々な意味で危険がいっぱいですのでモザイク処理をかけさせてもらっていますw
ちなみに今回、ジニアスは何かを送付していました。中身はとりあえず謎ということになっています(?)
そして CLR/H のセミナー案内・・・ですが何かがおかしいw
ジニアスの SQL Server 2008 のセッションからスタート。今回はおさらいとして SQL Server 2008、そして R2 を開発者向けに色々と話す内容・・・の予定でした。珍しいことにジニアスが時間配分を間違えてしまい、本題であったはずの R2 についてはナシw しかしそれでも Management Studio で地形データ抽出時の挙動や、ポリシー設定、データ圧縮など数多くの話題をデモ交えて行ってくれたあたり流石です。個人的にポリシーベースでの設定共通化や、ユーザー定義データ型、Date 型や Time 型などすぐにでも利用したい機能が多いのが嬉しいですねぇ。できるならすぐにでも SQL Server 2008 R2 に切り替えたいくらいで・・・。
写真はジニアスと坂井さん。坂井さんは SQL Server のライセンスについて LT、よりは若干多めの内容を話してくれました。仮想化が関係してくると、途端に難解になってしまうライセンス周りをサンプル問題交えて話してくれました。実際に物理コアと仮想コア、そして利用するエディションによって色々と適したライセンスが変わったり、必要となる数が変わったりする難しさが潜んでいますので、このあたりはしっかりと押さえておきたいところ。
そして最後に代表 tenkiさん のセッション、今回も前回から続いてインデックス周りです。プライマリキーとインデックスについて基本から実例をふまえた話で、「あらためて」という部分と「実は」という部分をうまいこと用意してのセッションでした。プライマリキーの設定については色々とためになったなぁ。
今回は宣伝があまり行えずに参加者は十数名でしたが、内容は非常に面白い内容になっていたと思います。しかし次回開催予定が・・・10/2・・・早い、早すぎるw





















































