中の技術日誌ブログ

C#とC++/CLIと
VBと.NETとWindowsで戯れる
 

目次

Blog 利用状況

ニュース

自己紹介

大阪でソフトウェアエンジニアをやっています。
お仕事大募集中です。
記事執筆とか、助言依頼とかでも何でもどうぞ(*^_^*)
似顔絵 MSMVPロゴ
MSMVP Visual C# Since 2004/04-2009/03
MCPロゴ
070-316
RSS feed meter for http://blogs.wankuma.com/naka/

記事カテゴリ

書庫

日記カテゴリ

00-整理

01-MSMVP

2009年7月4日 #

INETA Day 2009~コミュニティパワーをリアルに体験しよう

今年もINETA Dayが実施されます。

私は当日福岡なので参加できませんが、是非皆さんご参加ください!

http://www.ineta.jp/tabid/232/Default.aspx

場所は日本科学未来館です。

 

【最新技術トラック】

S1-1 13:00-14:15(75)

Microsoft ソフトウェアアーキテクト 萩原正義
「クラウドでのアーキテクチャの原則と考慮点」
Azure Services Platformなどのクラウドでアーキテクチャを構築する場合の原則と、設計のための考慮点を解説します。
今後デザインパターンや開発方法論などの整備が行われる過渡期にある現状での最新技術を紹介します。

S1-2 14:30-15:45(75)

株式会社アークウェイ 代表取締役 森屋英治

「Windows Azure アーキテクチャと開発」

第三のプラットフォームWindows Azureの概要をお伝えするとともに、開発者にとってのWindows Azureをどのようにとらえるべきかを
アーキテクチャ解説とCodeを通じて説明していきます。

S1-3 16:00-17:15(75)

VSUG こみゅぷらす 小島 富治雄
『C#4.0 と Visual Studio 2010/.NET Framework 4.0~ここが Cool! いけてる機能10連発!~』
6月に公開されたばかりの Visual Studio 2010 Beta 1 を使って、C#4.0 と Visual Studio 2010/.NET Framework 4.0 いけてる、
お勧めの機能を、どんどんとデモで紹介します。

【コミュニティトラック】

S2-1 13:00-13:40(40)

VisualStudio ユーザーグループ Webアプリケーションフォーラムリーダ 小野修司

「Dynamic Data お手軽プログラミング」

ASP.NET 3.5 SP1で追加されたDynamic Data。新機能のわりには
あまり注目されていないような気もします。
実はこんなふうに使えるんだよ、というDynamic Dataの便利な
使い方を紹介したいと思います。

S2-2 13:45-14:25(40)

   インフラジスティックス・ジャパン(株) デベロッパー エバンジェリスト 池原 大然

   (アイネタビューロ登録スピーカー)

「Prism ではじめる Silverlight LOB アプリケーション開発」

複合アプリケーション開発のためのフレームワーク Composite Application Guidance (旧 Prism) では、多拠点や複数グループによる開発、単体テストに適しています。

 本セッションでは Prismの概要並びに、コードを交えて複合アプリケーション作成について紹介します。

S2-3 14:30-15:10(40)

WisdomSoft赤坂玲音

Silverlight カスタムコントロール開発

通常の Silverlight アプリケーション開発プロジェクトでは UserControlクラスを継承させて標準コントロールなどを貼り付けますが、
再利用可能な汎用的なカスタムコントロールを作成には Visual Studio標準の開発モデルを適用できません。カスタムコントロールを作成するには、
Control クラスから派生する新しいコントロールを用意して、適切に XAML と結合しなければなりません。

本セッションでは、テンプレートやスタイルなど、XAMLによってコントロールが描画される仕組みについてサンプルを含めて紹介し、
独自の外観や振舞いを提供するカスタムコントロールの開発方法を説明します。

S2-4 15:15-15:55(40)

.Netユーザーエクスペリエンス研究所 児玉宏之

WPFの新しいコントロール

WPFのDataGrid・DatePicker・Ribbon・WPF chartなどVisual Studio 2010/.NET Framework 4.0 Beta 1 や、Preview 段階の新しいコントロールを紹介します。
また、WPFの開発パターンとして定着しつつあるM-V-VMパターンについても紹介します。

S2-5 16:00-17:15(75)パネルディスカッション

「レガシー資産をどうされていますか?」

「VB6.0以前をはじめ、.NET Framework 1.0そして1.1もメインサポートが終了、若しくは間もなく終了します。

少し前はVB6.0以前からの移行をご検討されている方が多かったですが、.NET間での以降も視野に入れて行かなければなりません。

皆さんこの辺りをどの様に考えていらっしゃるかディスカッションで討論しませんか。」

【チュートリアルトラック】

T1 13:00-15:45(165)

「オブジェクト指向設計入門」

XPJUG 小井土亨

オブジェクト指向の基本的な考え方からオブジェクト指向設計の基本原則について説明します。また、UMLについても、解説を行います。テキストを使用した例題を解きながら進める予定です。コンピュータは使用しませんが、筆記用具をご用意ください。

posted @ 10:48 | Feedback (0)

2009年6月22日 #

2009/06/06 東京勉強会レポート

http://www.wankuma.com/seminar/20090606tokyo34/Default.aspx

今回のわんくま勉強会はいつもの新宿の会場を離れて、溜池山王で行われました。
この会場は各座席にマイクが付いており割り込んで座席からツッコミを入れるのに非常に適した会場です。
そこで今回は客席からツッコミを入れやすそうな題材として、「私のこだわり」を選びました。
最初のセッションは私とtakeshikさん二人で日本語を利用したコーディングについて20分ですが熱く語ってみました。
これは普段わんくま勉強会の懇親会でよくやっている光景なんですが、それをそのままの形で勉強会で行ってみようというものでした。
次のセッションはがるさんのこういうコーディングみかけるよね?というセッション
非常に行けていないコードはみんな興味心身みたいで、いろいろな突っ込みが入りました。
3番目は小松さんの「対立する概念!?」というセッション
極端な2例をあげてこうなるんじゃないかという持論を展開。みんながツッコミを入れるというセッションになりました。
最後のセッションは επιστημη さんの「僕のコードが不評なワケ」
みんなあの επιστημηさんのコードがどういうのか、こういう局面でどういうコードを書くのか興味があるみたいで、いろいろなツッコミが入っていました。
今回は会場の特性を生かしたセッションをそろえてみて、それがうまく行けたのではないかと思います。
勉強会の参加者の皆さんにお願いしたいのは、ご拝聴というスタイルで聞き役に徹するよりも聞きたい事や、僕ならこうするというところでぜひ演題に向かって突っ込んでほしいのです。
今回でツッコミを入れる楽しさを覚えられた方が次回以降にどんどんツッコんでくれるとうれしいなぁと思います。

posted @ 0:22 | Feedback (0)

Mass Effectやってます

そういえば書き忘れてました><

Mass Effectやってます。

これ宇宙空間を舞台にしたRPGなんですが、なんとなく雰囲気がシンジケートに似てる。(気のせいか^^;)

ぜひみなさんもやってみてください。

posted @ 0:20 | Feedback (1)

2009年6月4日 #

いよいよ開催 わんくま同盟 東京勉強会 #34

わんくま同盟 東京勉強会 #34いよいよ今週末に開催です。

今回は当日参加OKです。わんくまの大型イベントになります。ぜひお誘い合わせのうえご参加ください。

 

 

http://www.wankuma.com/seminar/20090606tokyo34/Default.aspx

場所は、いつもとは異なり溜池山王になります。
地下通路がかなり長いので時間に余裕を持ちお越しください。
いつものわんくま同盟の勉強会とは異なる事がありますので、下記の
注意を必ずお読みください。

【受付時のご注意】
・スタッフ(希望者含む)、スピーカー(LT含む)は11:30に直接13階のエントランス
 に集合してください。

・スタッフの準備が11:30から開始されますので、【12:30頃】まで会場に入っていた
 だくことはできません。
・当日は13階のエントランスまで直接来てください。
・受付開始時刻は12:30を予定しております。
・受付をお済ませになり名札を記入してからの入場となります。
・受付の混雑が予想されますが、皆様のご協力をお願いします。

【会場内の飲食について】
・ペットボトル以外の飲食物の持ち込みはご遠慮ください。
 また座席に電源等がありますので、ペットボトルの中身をこぼさないよう
 にご注意ください。

【資料配布について】
印刷資料を希望になられた方は、今回の資料代が【 300 】円になります。
当日、受付にてお渡しください。
#今回より資料代を1枚あたり10円になっております。

【懇親会について】
懇親会に参加される方は【 3300 】円になります。受付で集めさせて頂きます。
学生(社会人学生除く)の方は【 2000 】円です。当日学生証を確認させてください。
追加は何名でもいけると思いますので、当日受付で確認させてください。

ポイント!!
できるだけお釣りの不要なように準備をしてきてください。よろしくおねがいします。

【参加費について】
参加費は「お代は見てのお帰りだい」方式ですので、お帰りの際に所定の箱にお願い
します。 何口でもOK(^^
特にプロジェクタ・ビデオのカンパ期待しています。よろしくおねがいします。

【喫煙について】
なお、会場は全面禁煙となっており、喫煙場所は1Fまでおりて頂き
所定の喫煙場所にて喫煙されますようよろしくお願いします。

    * 12:30 ~ 開場・受付開始
    * 12:50 ~ 13:00 わんくまについて
    * 13:00 ~ 13:20 「日本語でコーディングして何が悪い?」by 中博俊 Lv1くまー
    * 13:20 ~ 13:50 ライトニングトーク
    * 13:50 ~ 14:40 「せめて避けたいコードと理由」by がるさん Lv2くまー
    * 15:00 ~ 15:20 ライトニングトーク
    * 15:20 ~ 16:10 「対立する概念!?」by 小松さん Lv1くまー
    * 16:30 ~ 16:50 ライトニングトーク
    * 16:50 ~ 17:40 「僕のコードが不評なワケ」by επιστημη Lv1くまー
    * 18:30 ~ 懇親会

補足:
座席には電源とLANの口があります。LANをお使いになりた
い方は無線LANではなく有線LANとなりますのでLANケーブル
をお持ちください。

posted @ 23:45 | Feedback (0)

2009年5月20日 #

★2009/07/18東京勉強会スピーカー募集

07/18の東京勉強会のスピーカーを募集します。
どなたでも簡単にスピーカーをしていただけます。^^
ちなみにここで挙手していただいた方にお願いするとは限りませんが、是非立候補をお願いします。
よろしくお願いします。

http://bbs.wankuma.com/index.cgi?mode=al2&namber=36078

posted @ 2:32 | Feedback (0)

2009/05/23に開催予定だったわんくま大阪勉強会について中止のお知らせです。

2009/05/23に開催予定だったわんくま大阪勉強会について重大なお知らせです。

こんにちは中です。

今週末に予定されていた今回のわんくま大阪勉強会は満員御礼となっており、私も非常に楽しみにしていたのですが最近の新型インフルエンザの感染拡大防止策として中止することに決定しました。

ちなみに今回の大阪勉強会の中止を受けて、基本的には7月4日を代替開催といたします。

ただし完全にずれるというわけではなく、以下の予定で再検討中です。

6/13(予定)
Mr.Tさん
奥さん
中博俊
しばやんさん
アルザさん
*調整中*

7/4(予定)
山下康成さん
Cryoliteさん
uskzさん
中博俊
えいるさん

#6月と7月でスピーカーをやりたい方がおられましたら補欠的になりますが、是非一声おかけいただければと思います。
#私の枠は優先的に回しますので。

ちなみに来週は福岡勉強会ですが、こちらも満員御礼で締め切りましたが開催の是非については近づいてきてから決定したいと思います。

今後ともわんくま勉強会をよろしくお願いします。

posted @ 1:51 | Feedback (1)

2009年5月16日 #

こくぶんさんのM言語の世界のセッションはじまってます

IMG_1021

http://www.ustream.tv/channel/wankuma

posted @ 16:47 | Feedback (0)

さおさんのセッションが始まりました

IMG_1019

ustでも中継中

http://www.ustream.tv/channel/wankuma

posted @ 15:41 | Feedback (1)

山口@OTNシスオペ & 伊東@OTN編集長 さんのセッションが始まりましたー

IMG_1018

http://www.ustream.tv/channel/wankuma

中継やってますよー

posted @ 14:44 | Feedback (0)

アキラさんのセッションが始まりました

IMG_1017

http://www.ustream.tv/channel/wankuma

中継中です

posted @ 13:44 | Feedback (0)

たっくさんのセッションがはじまりましたー

IMG_1013

http://www.ustream.tv/channel/wankuma

で中継中

posted @ 11:42 | Feedback (0)

わんくま東京勉強会#33 開始しました

IMG_1011

ustで中継もやってますー

http://www.ustream.tv/channel/wankuma

posted @ 11:09 | Feedback (1)

2009年5月14日 #

Windows Server 2003以降で、1プロセス128DLL以上は読み込めない?

Visual C++ .NET 2003、Visual C++ 2005、または Visual C++ 2008 でビルドされたアプリケーションに 128 個程度以上の DLL が含まれる場合、Windows Server 2003 以降のオペレーティング システムでのロードに失敗することがある

http://support.microsoft.com/default.aspx?scid=kb;ja;969933&sd=rss&spid=12925

詳細は検証してません・・・・

posted @ 13:30 | Feedback (0)

2009年5月4日 #

わんくまサーバーの移設が完了しました

利用者の皆様には大変ご迷惑をおかけしましたが、わんくまサーバの移設が無事完了しました。

回線速度も多少は改善しているはずです。

今後ともよろしくお願いします。

posted @ 19:12 | Feedback (7)

2009年4月28日 #

そんなところにこだわってどうするの? じゃないよ!

http://d.hatena.ne.jp/masa-k/20090427/1240805446

http://d.hatena.ne.jp/masa-k/20090428/1240881938

アキラさんに戴いたコメントも尤もな話で、間の思考を端折って短絡的に「そんなことにこだわるくらいなら .NET 使うなよ」と結論付けてしまったのは私の怠慢ですね。最初からちゃんと書くべきでした。

もちろん、マネージドであってもパフォーマンスチューニングは重要です。

ただ、 null チェック( if 文)ひとつのコストを考慮しなきゃいけない場面と云うのはそうあるものじゃないし、そこを考慮する前にやるべき事がたくさんあるだろう、と云うのが私の主張。

で、そう云った前段の考慮を諸々やった上で、なおそこ( = if 文と try/catch のコスト差の様なところ)まで考慮しなきゃいけない様なクリティカルなシステムなら、マネージドを使うのをやめた方が余程費用対効果が高いんじゃないの? と。

http://blogs.wankuma.com/naka/archive/2009/04/27/172140.aspx

この辺の話です。

ローレベルなこだわりってのは非常に大事です。

実際にアセンブリコード見て最適化するのか?ってのとは全く違うレベルで。

それは誰かのいうエセ思考実験っとは全く違って、本当の”理屈”を理解するため。

#出来てるのか?とかいうツッコミは勘弁して><

漠然とこっちの方がパフォーマンス良さそう。ってんじゃなくってこっちはこんなコストがある、あっちはこんなコスト。全体を勘案してこっちと言うためには知らないとね。

ベタな仕事じゃなくってこうやってコミュニティでやってることなんだから、掘り下げすぎで怒られることもないのでいろいろやってみると良いと思うのです。

posted @ 12:38 | Feedback (4)

2009年4月27日 #

例外処理のオーバーヘッド C#

http://blogs.wankuma.com/andochin/archive/2009/04/27/172138.aspx

以下のことは思考実験くらいに思って下さいね。実際の業務で使うべきかどうかとはまた別の話。

static void null_check()
{
    object p = func1();
    if (p != null)
    {
        p = func2(p);
        if (p != null)
        {
            p = func3(p);
        }
    }
}
        static void null_check()
        {
            object p = func1();
00000000  sub         rsp,48h 
00000004  mov         qword ptr [rsp+20h],0 
0000000d  mov         rax,7FF001E1F28h 
00000017  mov         eax,dword ptr [rax] 
00000019  test        eax,eax 
0000001b  je          0000000000000022 
0000001d  call        FFFFFFFFF2DAEF00 
00000022  call        FFFFFFFFFFEC94F0 
00000027  mov         qword ptr [rsp+28h],rax 
0000002c  mov         rax,qword ptr [rsp+28h] 
00000031  mov         qword ptr [rsp+20h],rax 
            if (p != null)
00000036  cmp         qword ptr [rsp+20h],0 
0000003c  je          0000000000000078 
            {
                p = func2(p);
0000003e  mov         rcx,qword ptr [rsp+20h] 
00000043  call        FFFFFFFFFFEC94E8 
00000048  mov         qword ptr [rsp+30h],rax 
0000004d  mov         rax,qword ptr [rsp+30h] 
00000052  mov         qword ptr [rsp+20h],rax 
                if (p != null)
00000057  cmp         qword ptr [rsp+20h],0 
0000005d  je          0000000000000078 
                {
                    p = func3(p);
0000005f  mov         rcx,qword ptr [rsp+20h] 
00000064  call        FFFFFFFFFFEC94E0 
00000069  mov         qword ptr [rsp+38h],rax 
0000006e  mov         rax,qword ptr [rsp+38h] 
00000073  mov         qword ptr [rsp+20h],rax 
                }
            }
        }
private static void null_check2()
{
    try
    {
        object p = func1();
        p = func2(p);
        p = func3(p);
    }
    catch
    {
        throw new Exception();
        
    }
}
        private static void null_check2()

        {
            try
            {
                object p = func1();
00000000  push        rbp  
00000001  sub         rsp,60h 
00000005  lea         rbp,[rsp+20h] 
0000000a  mov         qword ptr [rbp],rsp 
0000000e  mov         qword ptr [rbp+8],0 
00000016  mov         rax,7FF001E1F28h 
00000020  mov         eax,dword ptr [rax] 
00000022  test        eax,eax 
00000024  je          000000000000002B 
00000026  call        FFFFFFFFF2DAF140 
0000002b  nop              
0000002c  call        FFFFFFFFFFEC9730 
00000031  mov         qword ptr [rbp+10h],rax 
00000035  mov         rax,qword ptr [rbp+10h] 
00000039  mov         qword ptr [rbp+8],rax 
                p = func2(p);
0000003d  mov         rcx,qword ptr [rbp+8] 
00000041  call        FFFFFFFFFFEC9728 
00000046  mov         qword ptr [rbp+18h],rax 
0000004a  mov         rax,qword ptr [rbp+18h] 
0000004e  mov         qword ptr [rbp+8],rax 
                p = func3(p);
00000052  mov         rcx,qword ptr [rbp+8] 
00000056  call        FFFFFFFFFFEC9720 
0000005b  mov         qword ptr [rbp+20h],rax 
0000005f  mov         rax,qword ptr [rbp+20h] 
00000063  mov         qword ptr [rbp+8],rax 
00000067  jmp         0000000000000069 
                
            }
        }

あきらかにCのコードに比べて汚いんだけど、どこをどう見てもNULLチェックしない分だけ2の方が速いですよ。

cmp         qword ptr [rsp+20h],0
je          0000000000000078

NULLチェックと言ってもここの部分ですけどね。

実際にこのコードではNULLならスルーしてるだけですが、例外の場合には例外をはき直してます。

それよりここ無駄なんじゃ・・・

00000048  mov         qword ptr [rsp+30h],rax 
0000004d  mov         rax,qword ptr [rsp+30h]

アセンブリもうちょっと勉強しないと。

posted @ 9:07 | Feedback (2)

2009年4月26日 #

めざせムービースター

ちょっとこれ久しぶりにスマッシュヒットですよ!

カメラをつかってwii的なパーティーゲームをしようというゲーム

最近この手のアメリカのばかげー無かったから最高です。

ムービーカメラ必須なの同梱版をおすすめしておきます。

けっして一人で遊ぼうと思わないように。あと明るさ的に夜にやるのが良いと思います。

posted @ 11:24 | Feedback (0)

2009年4月25日 #

えぴさんのセッションやってます。

takeshikさんのセッションはかなりおもしろかったですよ

_DSC8493

大西さんのセッションは新しいSilverlight3の紹介。早く出てほしいですね。

_DSC8496

えぴさんのセッションやってます。

_DSC8498 

http://www.ustream.tv/channel/wankuma

まで

posted @ 16:57 | Feedback (0)

本日は東京勉強会

ust中継もやってます

http://www.ustream.tv/channel/wankuma

片桐さんは着物のセッション

_DSC8480

ぜろざきさんはオブジェクト指向の話

_DSC8478

発売中の

の筆者の2人が本日来られているのでサイン会が行われました。

_DSC8485

午後1ははるにゃんのセッションが始まっています。

_DSC8488

posted @ 13:41 | Feedback (0)

2009年4月23日 #

Oracle OpenWorld Tokyoで12:20からしゃべりますー

20090423112139

名前載ってますー

posted @ 11:30 | Feedback (0)