「Visual Studio」カテゴリーアーカイブ

MicrosoftのIronPython, IronRubyプロジェクトはMSのプロジェクトではなくなり、コミュニティのプロジェクトとなるようです。

Jim Hugunin – Farewell to Microsoft

まず、IronPythonの生みの親であるJim HuguninがMSを退社しGoogleに移るようです。これだけでも大打撃だと思っていました。まぁやめた会社への恨み辛みは良いでしょう。ただなんか起こり始めちゃった感がありありと伝わってきます。

そしたらこれですよ。

New Components and Contributors for IronPython and IronRuby – Jason Zander’s WebLog – Site Home – MSDN Blogs

簡単にまとめます。

  • IronPythonとIronRubyはApatch 2.0ライセンスのオープンソースソフトウェアだ。
  • コミュニティはIronPythonとIronRubyのソースを好きにできる。
  • MS社員以外のコミュニティの人間が管理できるようにCodePlexのサイトの設定を変更した。

別言い方をすればMSの社員は管理しないよってことです。

これからはそれぞれのプロジェクトでプロジェクトリーダーが決まったようなので、それぞれプロジェクトはこのリーダーを中心に進められていくんでしょう。

jimmy.thinking: Leadership of IronRuby and IronPython

これを後退と見るのか前進と見るのかは人それぞれだと思いますが、生かすも殺すも我々次第と言うことになったのは事実です。

VSUG アーキテクトアカデミー vol.01

土曜日16日に参加してきました。

既に当日資料があがっています。

SlideShare » Event » VSUG Architect Academy vol.01

当日の模様はいずれ映像で配信されるかもしれないようですし(未確定)、資料のないパネルの含めてだいたいの様子は次の@kohseiまとめていただいているTwitterのログでわかるかと思います。

感想とか

いくつか感想とか気づいたことなど。

萩原さんの「読書はあまりせず考える時間を増やす」について

MS萩原さんより本をあまり読まずに考える時間を増やすというお話がありましたが、これは若い人がいきなりやるのは問題があるし、危険があるなと思いました。ある意味MS萩原さんがこう話されたのはそれが今の萩原さんだからでしょう。

日本の武術や古典芸能には(宮本武蔵も五輪の書に書いていますが)守破離という考え方があります。これは「道」の志す者あるいは天職(Calling)を得た者がが通っていく課程の事で、守とは師の教えを守りひたすら型を身につける課程です。その教えや、型に疑問を持つとしてもそれをまずは己のものとして身につけるのです。基礎を身につけ「道」や天職の度台を作る課程です。武道での免許皆伝とはこの守の領域を完成させたことに過ぎません。次の破とはその度台を完成させた上で、師より教えられた型に対する疑問を元に型を破り己の「道」や方法を模索する時期です。離とそのその模索や試行錯誤を完成させ、師の「道」から離れ己の「道」を気づくことです。自分の天職を天職として理解し疑問を持たない状態とも言っていいでしょう。

若い人はまず間違いなく「守」の状態にあります。そのような人はまず「型」を習得し、身につける必要があります。そのような人にとって「師」の一つである読書を少なくするのは得策でない様に感じますし、あまり考える時間だけにしてしまうと「型」を身につける前に「型」を壊してしまいます。「型破り」とは型を完全に身につけた人があえてそれを破るので見応えがあるのであって、型ができあがっていない人が型を破ればそれはそれは「形無し」で見れたものじゃありません。

MS萩原さんは既に「守」の段階は遙か前に通り越した人なので、その生活様式を「守」にいるべき人がそのまま真似してはだめなのです。考える時間はもちろん必要ですが、まずは迷わず素振りしてろって事です。

そしておそらくこのアーキテクトアカデミーは型を教える場所なのです。

アーキテクトは天職

次に感想ですが、パネルを通しての感想はITアーキテクトもしくはソフトウェアアーキテクト(でも何でもいいけど)はつくづく天職(Calling)なのだなと言うところです。アーキテクトは目指す者と言うより呼ばれる者だなと言うことです。呼ばれるための準備は当然しなければなりませんが、呼ばれでもしない限り、こんな損な職業もないのではないかと思います。基本的にアーキテクトを目指そうという時点でかなりの変わり者だし、その道の険しさに比べてその見返りはすごく少ないです(特に日本ではね)。それでも呼ばれちゃったんだから仕方ない、これが俺の天職だなと思ってやっていくしかありません。(ひたすら天職(Calling)と書いていますが、「天職だから仕方ない、続けていくんだ」あるいは「でもやるんだよ!」的精神を理解したい人は映画であればマイレージライフかハートロッカーをご覧ください)

まぁ、あの場に集まった人は少なくとももう何かに呼ばれちゃっているんだと思います。今更後悔したって遅いです。

次回とか

次回は12/11 VSUG Day 2010 Winter内で行われる予定のようです。講師としては平鍋氏、小井土氏が予定されているようです。気になる人はVSUGに加入するのはもちろん、VSUGからのメールやVSUGのtwitterアカウントに注意していた方が良いでしょう。

netduino

netduinoは.NET Micro Frameworkが動作するArduinoです。(キッパリ)

なので、Visual StudioでC#でプログラムを書いて面白いことができてしまうかもしれないと言うことです。ああもうあんな開発ツールに悩まされなくてもすむんだ(マテ

今回そんなイカシタnetduinoにEthernetポートとMicro SDスロットが加わったさらにイカシタnetduino plusが登場したようです。(正確には今はBetaハードウェア)

http://www.netduino.com/netduinoplus/specs.htm

image

ご購入はこちら
http://www.switch-science.com/products/detail.php?product_id=431
(つか、即買いした。)

基本的にArduinoとのハードウェアIOレベルでの互換性は担保されているはずですので、LEDをピカピカさせてみるなり、アナログデバイスをつなげて見るなり、せっかくEthernetポートもあるので、コーヒーメーカー監視装置とか作ってみると良いかもしれません。

数値の丸め

かなり歴史のあるKBで.NETやC/C++に関する記述がないのも不満ですが、ある程度網羅的に製品・技術別に数値丸めの違いについてまとめられているので、かなり参考になります。

丸めを行うカスタム プロシージャを実装する方法
http://support.microsoft.com/kb/196652/ja

同じように動作しそうなRound()関数一つとってもこんな感じ。。。

  • SQL ServerのRound()は四捨五入
  • Excel関数のRound()は四捨五入
  • Excel VBAのRound()は銀行丸め
  • Visual Basic 6.0のRound()は銀行丸め

数値丸め(端数処理)に関してはWikipediaとかも参考に。ふつうJIS Z 8401で規則Aにしたがっていればたいていの工業系の計算は良いはずなのですが、何か世の中送うまく行かない。。

ちなみに.NETはJIS Z 8401での規則Aというか、IEEE 754 での最近接遇数への丸めが標準のようです。

ピクセルシェーダー② ツール PsPad – 川西 裕幸のブログ

土曜日の静岡ITPro勉強会で川西さんがデモで使っていたピクセルシェーダーツールがCodePlexで公開されたようです。

ピクセルシェーダー② ツール PsPad – 川西 裕幸のブログ – Site Home – MSDN Blogs

ClodePlexのサイトは以下になります。

PsPad
http://pspad.codeplex.com/

静岡ITPro 第5回勉強会 まとめ #shizuoka_itpro5

昨日関西、中京、関東方面から起こしいただいた皆様ありがとうございます。

もちろん県内よりお越しの皆様ありがとうございます。できるだけ遠くに行かずとも勉強会に参加でき、続けていけるようお互いに無理せずにがんばりましょう。

そしてもちろん講師の川西さん、砂金さん楽しいセッションをありがとうございます。もうそのときにはガンダムはないかもしれませんが、また是非静岡にお越しください。大西さんもお越しいただけませんでしたが、次の機会には是非お願いいたします。

スタッフお疲れ!

と言うことで、とりあえず自分のつぶやきをまとめます。

Liveコーディングをつぶやくのは難しいです。。orz

つぶやけてませんが川西さんが作成中のビジュアル的に簡単に.PSファイルを作れるピクセルシェーダーツールはいずれCodePlexにあがるようなので、使ってみたいですね。というか、Silverlightさんがあんなに簡単にピクセルシェーダー使えるとかハンパねぇです。

また砂金さんが早くも昨日のスライドをアップしてくれています。

静岡ITProの勉強会は年内にできれば10月終わりか11月はじめぐらいに予定をしております。テーマ、講師の方が決まり次第またご連絡言いたしますので、ぜひお越しください!

C#, SQL Server : WMIを使用したSQL Serverへの生死確認

先ほどはSMOを使ったのですが、SMOは製品版のSQL Server 2008以上が入っていないとコンポーネントが無いだの、ライセンス的にどうよとか、そもそも SQL 2005 以下しかないのにとかどこかしらかご意見をいただいたようなので、それなら素のWMIだと言うことで、WMIのコードで書いてみました。 SQL Server の WMI Provider for Configuration Management を使います。

System.Managementへの参照を追加します。

何か素直にSMO使った方が良いですね。という感じ。

と言うか、よく見るとWMIの名前空間にSQL Serverのバージョン番号が入ってないか? orz

うーん。。。マルチバージョンにどう対応させれば。。。

ちなみにWMIの検索やどんなコード書けばいいかについては古いツールですが WMI Code Creator が便利です。

WMIを使うスクリプトを簡単に作成する

http://www.atmarkit.co.jp/fwin2k/win2ktips/756wmicreator/wmicreator.html

C#, SQL Server : SMOを使ったSQL Serverへの生死確認

単純に SQL Server が生きているかPingを打ちたいときがあります。いろいろ方法はあるかと思いますが、ここではSMOを使う方法で考えたいと思います。

と言うことで以下がサンプル的なコード。

まぁこんなものかなと。コネクションのタイムアウトは環境に合わせて適宜見直した方がよいと思います。

基本的にExceptionが帰ってこなかったら生きている判断と言うことで。

二つ目はアプリケーションが必要とするデータベースがあるかないか確認したいというのも良くあることなので、とりあえずサンプルを加えてみました。

SMO便利だと思うのですが、使っている人も少ないらしく、これもあんまり情報がありませんね。

SQL Server 管理オブジェクト (SMO)

http://msdn.microsoft.com/ja-jp/library/ms162169.aspx

また、SMO経由でWMIを使用し、実際にサービスが実行中であるかを確認することもできます。

(15:38追記)

続きを読む C#, SQL Server : SMOを使ったSQL Serverへの生死確認

C#, T-SQL : T-SQLのFLOAT型フィールドに.NETのDouble.NaN(非数)の値を入れることはできません。

たとえば、

double a = double.NaN;
SqlParameter p = new SqlParameter("@value", SqlDbType.Float);
Param.Value = a;
cmd.Parameters.Add(p);
cmd.ExecuteNonQuery();

このようなコードがあったときに、cmd.ExecuteNonQuery(); で型変換ができないと System.Data.SqlClient.SqlException になります。

代替案としては、挿入する実数値がNaNだった場合には(可能であれば) Null (DbNull) を挿入するか、最大値、最小値を使うなどアプリケーションやプロジェクト後に対応を決める必要があります。

同様に正負無限大値(PositiveInfinity, NegativeInfinity)の値もFLOATのフィールドに入れることができません。