Blog Home  Home Feed your aggregator (RSS 2.0)  
light-hearted.net - .NET
人は計画を立て、神はそれを笑う
 
 Tuesday, October 20, 2009

みたいです。

Sync Framework 2.0 Available for Download
http://blogs.msdn.com/sync/archive/2009/10/19/sync-framework-2-0-available-for-download.aspx

触る時間を確保しないと。

Tuesday, October 20, 2009 1:33:04 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Tuesday, July 14, 2009

TEMP環境変数は無視して、TMP環境変数を使うようだ。
ちょっと悩んでしまった。。。

TMPがないとどんな動きをするんだ?
TMPの内容が嘘だったらどうなるんだろ?

あとで確認。

Tuesday, July 14, 2009 5:11:29 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Tuesday, January 20, 2009

Microsoft の荒井さんの本。

まだ読みかけですが、こういう本が”日本語”で出るのを待ってました!

内容的には、NETFxの歴史とか解析方法(問題の調べ方)とかといった感じでしょうか?

多分半分くらい理解できればイイ方かなぁと考えてます。

もちろん、いつかはすべて理解するつもりですがw

ともあれ、.NET開発者必携というわけではありませんが、いろんな人に読んで欲しいなぁ

Tuesday, January 20, 2009 11:41:40 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Thursday, December 18, 2008

届いた。

内容は全く見ずにタイトル買い。

目次をパラパラーっと読んだ感じだとよさげです。

いいことが載ってれば紹介します。


RESTful .NET
http://oreilly.com/catalog/9780596519209/index.html
Thursday, December 18, 2008 9:43:16 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Sunday, December 07, 2008

実は今まで仕事でWCFを使ったことがない。
機能追加とかが多いので、相変わらずASMXを使っている。

で、簡単なサンプルを書いてみる。
今回の方針は「実装量を極力減らし、定義で対応する」こと。

まずは、サービスの実装は、こんな感じ。プロジェクトタイプはライブラリ。

namespace LightHearted
{
    [ServiceContract(Namespace = "http://hoge.light-hearted.net")]
    public interface IHoge
    {
        [OperationContract]
        string DoSomething(string param1);
    }
    public class Hoge : IHoge
    {
        public string DoSomething(string param1)
        {
            Console.WriteLine("DoSomething called");
            return "DoSomething : " + param1;
        }
    }
}

そしてこれをホストするアプリ(コンソール)はこんな感じ。

static void Main(string[] args)
{
    using (ServiceHost host = new ServiceHost(typeof(LightHearted.Hoge)))
    {
        Console.WriteLine("service starting...");
        host.Open();
        Console.WriteLine("to stop service, press enter key");
        Console.ReadLine();
        host.Close();
    }
}

個人的には、typeof(LightHearted.Hoge)の部分も、
App.configで定義できればさらに抽象度が上がると思うのだが、
コンパイル時チェックができなくなるからなぁ

そして、そのApp.configはこんな感じ。

<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="behavior1">
          <serviceMetadata httpGetEnabled="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <services>
      <service behaviorConfiguration="behavior1" name="LightHearted.Hoge">
        <endpoint address="Hoge" binding="basicHttpBinding" name="basicHttp" contract="LightHearted.IHoge"/>
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8888/LightHearted"/>
          </baseAddresses>
        </host>
      </service>
    </services>
  </system.serviceModel>
</configuration>

MEXを公開するような場合は、behaviorsの定義とかが必要になるみたい。

そしてクライアントからはサービスの参照設定(http://localhost:8888/Lighthearted?wsdl)をすると、
App.configにごちゃごちゃと追加される。そしてそれを使ったサービス呼び出しのコードはこんな感じ。

private void button1_Click(object sender, EventArgs e)
{
    HogeClient client = new HogeClient();
    try
    {
        string s1 = client.DoSomething("Hello WCF");
        MessageBox.Show(s1);
    }
    catch (CommunicationException ex)
    {
        MessageBox.Show("CommunicationException:" + ex.Message);
    }
    client.Close();
}

とこんな感じになる。

開発は最初のライブラリの実装がほとんどになるのだろう。
2つ目のホストはIISを使うことになるのだろう。
クライアントは「よろしく!」ってことで。。。

Sunday, December 07, 2008 8:54:02 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Wednesday, December 03, 2008
Wednesday, December 03, 2008 1:17:47 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 

PPTとHandsOnLab

Visual Studio 2010 and .NET Framework 4.0 Training Kit - November Previe
http://www.microsoft.com/downloads/details.aspx?FamilyID=752cb725-969b-4732-a383-ed5740f02e93&displaylang=en

Wednesday, December 03, 2008 1:13:28 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Thursday, November 27, 2008

Windows Server 2008 R2 の Server Core でサポートされないネームスペースについての記事。

まぁ、妥当な感じ。

「Microsoft.VisualBasic.Compatibility.VB6」が含まれてるのがちょっと気になる。
#VB野郎ではないので、よく分からないけど。

.NET 2.0 and Server Core in Windows Server 2008 R2
http://blogs.technet.com/server_core/archive/2008/11/25/net-2-0-and-server-core-in-windows-server-2008-r2.aspx

Thursday, November 27, 2008 10:58:34 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET | Windows  | 
 Tuesday, October 28, 2008

最近気になること。

みなさん LINQ を使うときって、埋め込みクエリを使ってるのでしょうか?拡張メソッドを使ってるのでしょうか?

私は拡張メソッド派です。
理由はデータを絞り込んでいく流れがイメージしやすいから。

けど、MSDNとかのサンプルはほとんどが埋め込みクエリなんですねぇ。。。

Tuesday, October 28, 2008 12:48:14 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Thursday, October 23, 2008

これも試さないとなぁ

いろいろ使い道ありそうだし。

Microsoft Sync Framework
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=c88ba2d1-cef3-4149-b301-9b056e7fb1e6

Thursday, October 23, 2008 9:30:25 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET | SQL Server  | 
 Thursday, October 02, 2008

ちょっと読んでみたいです。

Head First C#
http://www.oreilly.co.jp/books/9784873113838/

Thursday, October 02, 2008 10:48:49 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Sunday, August 31, 2008

日本語版が出るのか。。。

どーせ出ないと高をくくって英語版を買ってしまった。
#しかも間違って2冊

欲しい人は差し上げますw

Sunday, August 31, 2008 2:51:07 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Wednesday, August 06, 2008

さすが赤間さんという本でした。短期間で書き上げたとは思えない内容です。

触りの部分から、ガツンと突っ込んだところまで書かれてます。

個人的には
 ・dbmlファイルについては一部誤解してました。
 ・遅延ロード、ラムダ式の展開については非常に参考になりました。

個人的には LINQ to SQL は使わないかなぁ。
LINQ to Object は使うのではと。

比較的薄い本ですが、非常に満腹感を味わえる一冊なのではないかと。

Wednesday, August 06, 2008 2:44:56 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Sunday, July 13, 2008
Sunday, July 13, 2008 8:07:37 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Friday, July 04, 2008

業務報告。

 

こんな感じですか?

DataGridView_Graph

イマイチ感があるので、もうちょっといぢってから。

Friday, July 04, 2008 1:02:01 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Thursday, July 03, 2008

日本語で出るそうです。

いまだにASMXしかやってない私。。。

そろそろ手を出さないとなぁ。

インサイド Windows Communication Foundation
http://blogs.msdn.com/tashinmu/archive/2008/07/03/wcf-20080703.aspx

Thursday, July 03, 2008 12:31:39 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Friday, June 27, 2008

C# 3.0で追加された var 。結構質問されることが多い。

大抵のばあい、VBのVariantと同じものだと考えている方が多い。

ということで@ITの記事。分かりやすくまとめられてます。

連載:C# 3.0入門
第3回 varによる変数宣言とコレクション初期化子
http://www.atmarkit.co.jp/fdotnet/csharp30/csharp30_03/csharp30_03_01.html

Friday, June 27, 2008 12:52:50 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Tuesday, May 27, 2008

現在、久しぶりの Windows フォーム アプリを開発中です。
ツール程度の簡単なモノは時々作ってましたが、今回は本格的になりそうです。

しかし、2.0から結構変ったんですね。BackgroundWorker を知りませんでした。。。
今日は、全部 Thread と delegate で作っちゃったので、明日 BackgroundWorkder に書き換えです。。。

TrackBarって何?みたいな感じでした。

Tuesday, May 27, 2008 9:47:17 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Monday, May 19, 2008

フルテキスト インデックスか?の続編。と言うか原因。いや結果報告。

今回の現象は、ユニット テストからの実行時のみで発生していました。これがキモでした。

で、SQL Server Profiler で確認していたところ、問題のクエリ(SELECT * FROM t1 WHERE FREETEXT(c1, 'hoge'))実行後にsp_fulltext_getdata が実行されていました。

つまり、フルテキスト インデックスが更新される前に、検索を実行していたために、何もヒットしない今回の現象が起きていました。

こんなシーケンスです。

  1. SetUpの実行(テストデータの作成)
  2. ユニット テストの実行
  3. sp_fulltext_getdata

なので、SetUpの最後かユニット テストの先頭でThread.Sleepを実行することで

  1. SetUpの実行(テストデータの作成)
  2. sp_fulltext_getdata
  3. ユニット テストの実行

という実行順序になるので、とりあえずはこの問題は解決。

ユニット テストの罠ですw

Monday, May 19, 2008 9:37:29 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET | Agile | SQL Server  | 
 Sunday, May 18, 2008

SqlDataAdapter.Fillで悩むの続編です。

SQL Server Profilerでクエリを拾ってみたものの、正常に送られている模様。
Management Studioから拾ったクエリを実行すると正常な結果が返ってくる。

で、複数あるパラメータを変えたり、与えずに実行したりしてみると、
どうやらフルテキスト インデックスを使った条件句があると今回の現象が起きるみたい。
これについては、今のところ再現性100%

とは言え、「じゃ、フルテキスト インデックスやりません。」なんて解はなし。
他所では利用してるはずだし、「なぜこの現象が起きるのか?」は今のところ不明。

へるぷみー。

Sunday, May 18, 2008 11:21:22 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET | SQL Server  | 

ハマり中です。

SqlDataAdapter.FillでうまくデータがDataSetに充填されないとう現象。

ステップ実行だと期待通りの動作をするので、デバッグがしにくい状況。
(条件句が)長いクエリを渡してるが原因なのか、いまいちはっきりせず悩んでおります。

プログラムは、
 ユーザから渡された値を解析
 パラメタライズド クエリを生成
 ユーザから渡された値を、SqlPrameterとして追加
 Fill実行
というつくりになっています。

SQL Server Expressを使ってるので、SQL Profilerが使えず。。。
#環境作ろうかなぁ

う~む。

Sunday, May 18, 2008 12:25:06 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET | SQL Server  | 
 Saturday, April 26, 2008

使おうとしたら、これ日本語環境では Visual Studio 起動時にエラーが出る。。。
Goolgeに聞いてみたら、韓国のサイトでも同様のポストがあった。

ソースをダウンロードして眺めてみる。
起動時のメニューへの追加処理でエラーになってるのが原因。
「Edit」で探してたらそりゃダメだよな。
本当はapp.configなんだろうけど、面倒なのでソースを修正。

Connect.cs
  187
         private void AddControls()

  188         {

  189             CommandBars commandBars;

  190             CommandBarPopup editPopup;

  191             int copyIndex;

  192 

  193             commandBars = (CommandBars)this.application.CommandBars;

  194             //editPopup = (CommandBarPopup)commandBars["MenuBar"].Controls["Edit"];

  195             editPopup = (CommandBarPopup)commandBars["MenuBar"].Controls["編集"];

Saturday, April 26, 2008 11:55:50 PM (東京 (標準時), UTC+09:00)  #    Comments [1]   .NET  | 
 Saturday, April 12, 2008

そうゆもの。

.NET Framework 3.5の拡張機能(ASP.NET MVC, ASP.NET Dynamic Data, ASP.NET AJAX History, ASP.NET Silverlight controls, ADO.NET Data Services and ADO.NET Entity Framework)の学習資料が含まれているもの。

とりあえず、メモ。

.NET 3.5 Enhancements Training Kit
http://www.microsoft.com/downloads/details.aspx?FamilyID=355c80e9-fde0-4812-98b5-8a03f5874e96&DisplayLang=en

[2008.04.15 追記]
どうやら現時点ではサンプルコードのみみたいですね。

Saturday, April 12, 2008 6:24:11 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Friday, April 04, 2008

参考にしたサイトはこちら
REST スタイルなWCF
http://blogs.msdn.com/tashinmu/archive/2007/09/26/rest-wcf.aspx

確かに便利だと思います。かっこいいし。

が、UriTemplateが実装ベースになるのがちょっとな。
インタフェースの属性に記述されてるのを読んだ瞬間、
「なんで?」って思っちゃいました。Microsoftっぽくない気がします。
今までだったら、Web.config で定義してたような気がするんですが。なんとなく。

なんでそこに引っ掛かるかというと、

[WebGet(UriTemplate="customer/{id}/")]とありますが、
[WebGet(UriTemplate="cust/{id}/")]や、
[WebGet(UriTemplate="c/{id}/")]としたくなると思うんですが。。。
なのに、定義がアセンブリに組み込まれてしまうのはちょっと。。。

まさか、ソースごとデプロイすればイイじゃんってことはないと思うし。

きっと何か方法があると思うので、調査対象にエントリ。

Friday, April 04, 2008 1:38:57 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Monday, February 25, 2008

やっと Visual Studio 2008 での開発が始まりました。
今まで、NUnit を使ってユニット テストを実行していましたが、
今回からは テスト プロジェクト を使っています。

そこで1点わからないのが、NUnit のCategory 属性です。
同様のものが Visual Studio 2008 には見当たりません。
私は対象のメソッド名をカテゴリに使っているので、意外と不便を感じています。

どなたかご存知の方は教えてください。

Monday, February 25, 2008 4:30:47 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Sunday, February 24, 2008
まだ見てませんが。
すごいメンツですね。

2008 Lang.NET Symposium
http://www.langnetsymposium.com/

Sunday, February 24, 2008 4:23:04 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Sunday, August 26, 2007

新しいバージョンが出たみたいです。

かねてよりアナウンスされていた、Shape コントロールが追加されています。
イベントにも対応しているようです。

Shape コントロールのようなものをWin32時代から開発していたので、
個人的には興味あり。

Visual Basic 2005 Power Packs 2.0
http://msdn2.microsoft.com/en-us/vbasic/bb735936.aspx

Sunday, August 26, 2007 9:22:11 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Monday, December 11, 2006

プログラミング Microsoft .NET Framework 第 2 版
http://www.microsoft.com/japan/learning/books/JPN_ViewMsPress.aspx?Book_id=1054&list_id=1

出たそうです。こないだ原書読み終わったばっかりなのですが...

ま、買うこと確実ですね(笑

Monday, December 11, 2006 10:29:07 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Wednesday, October 25, 2006

気がつけばご無沙汰のポストですね...

Atlasのベータ版がリリースされました。
年末に向けてって感じでしょうかね。
Atlasってずーっと使いそうです。ASP.NET AJAXって長いよ。略しにくいし。

John Lam氏がMicrosoftへ
個人的にはビッグニュース!
.NET Frameworkもそっちへ行くんですね。当然と言えば当然。Rubyもきちんと勉強しなきゃな。

 

と言うことで明日はRemix。何かあるかな?

Wednesday, October 25, 2006 11:43:36 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET | AJAX | ASP.NET  | 
 Tuesday, September 26, 2006

を、読んでみました。

非常に分かり易く解説された本だと思います。
C++ と C++/CLI の比較を軸に書かれているので、C++ユーザにはうれしいです。

けど、ホントに C++/CLI って普及するんでしょうか?
Win32 -> NETFx というシステムの移行(バージョンアップ)を考えた場合、
デザインそのものが大幅に変更になるでしょうから、C++/CLI ではなく C# や VB という選択肢になるのでは?
移行の過渡期で DAC に ADO.NET を追加するとかっていうことくらいしか思いつかないなぁ。という貧しい発想しか浮かびません。
#と言いつつ、私の周りにはC++資産がごろごろしてるので、お世話になりそうな気がしてならんのですが(^^;

個人的に C++/CLI で最も気になるのは、コーディング規約だったりします。

実践C++/CLI 極めるための基礎と実用テクニック
http://www.amazon.co.jp/gp/product/4797336277/ref=sr_11_1/249-4910288-2380312

Tuesday, September 26, 2006 12:29:21 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Wednesday, April 26, 2006

名称が決まったみたいですね。

25日からココ(↓)にすごい勢いで記事がポストされてます。
http://blogs.msdn.com/powershell/

Wednesday, April 26, 2006 10:22:44 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Friday, February 24, 2006

予定というほどではないですが、今後やりたい(進行中な)ことを一度整理。

・Windows SharePoint Services に関するツール作り
・ASP.NET 2.0 での Web パーツ開発
・LINQ
・Atlas
・Office 12 (2007 Office System)
・Monad

忘れてた。.NET Framework 2.0 & Visual Studio 2005 & SQL Server 2005 の勉強ですね。

Friday, February 24, 2006 12:50:59 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET | AJAX | ASP.NET | SharePoint | Windows  | 
 Monday, February 20, 2006

先日、WSSに関する(しょぼい)ツールを公開しましたが、それに対してお二人からメールを頂きました。

ウケた(おっと、ではなく驚いた)のは、お二人とも同じ内容だったことです。
ソース中のとあるメソッドに Conditional 属性をつけてたのですが、
それに対して「そんな属性があるとは知りませんでした。(以下略)」といった内容のメールでした。

う~ん、そうですか。確かに私の周りでも属性ベースのプログラミングしてる人少ないよなぁ~

と実感したのでした。とは言え、ソースまで読んで頂き、ありがたき幸せ。

(つぶやき)
最近は、Monad に夢中です。

Monday, February 20, 2006 11:31:19 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Wednesday, February 08, 2006

現時点での、Visual Studio 2005 RC Japanese のアンインストール状況です。

負けた結果、OSから再インストールしました。
#いちいち調べるのが面倒くさかったので...

一応、アンインストールの順番をメモ。

Microsoft SQL Server 2005
Microsoft SQL Server 2005 Mobile [JPN] Developer Tools
Microsoft SQL Server Native Client
Microsoft Visual Studio 2005 Tools for Office Runtime
Microsoft Visual Studio 2005 Tools for Office Runtime Language Pack
Microsoft Device Emulator 1.0 - JPN
Microsoft .NET Compact Framework 2.0
Microsoft .NET Compact Framework 1.0 SP3 Developer
Microsoft Visual Studio 2005 Team Suite 日本語
Microsoft Document Explorer 2005 日本語 Language Pack
Microsoft Document Explorer 2005
MSXML 6.0 Parser(これ以前のアンインストール中に削除されてたみたい)
Microsoft Visual J# 2.0 日本語 Language Pack
Microsoft Visual J# Redistributable Package 2.0
Visual Studio 2005 MSDN ライブラリ - 日本語版
Microsoft .NET Framework 2.0 日本語 Language Pack
Microsoft .NET Framework 2.0

Wednesday, February 08, 2006 9:23:40 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 

.NET Framework も バージョンが 2.0 になりました。ふと思ったんですが、「.NET Framework 自体のサポート期間ってどうなってるんだ?」。

.NET Framework を利用したアプリケーションは.NET Framework のバージョンアップに付き合う必要がない(Side-by-Side)というウリ(とでも言うのでしょうか?)のがあります。が、当然ながら、.NET Framework にもサポート期間があるわけで...

検索してみたら、以下のサイトがあったのでメモ。

サポート対象サービスパック
http://support.microsoft.com/default.aspx?scid=fh;JA;lifesupsps

Wednesday, February 08, 2006 5:47:42 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Saturday, February 04, 2006

というわけで行ってきました。

マイクロソフトは、2006後半から リリース ラッシュ となるわけで、その辺のネタがてんこ盛りでした。

私の中で リスト アップ されたものは以下のモノ。

LINQ
 よくあんな構造(構文)を考えるものです。そういう意味で感心。
 DLINQ がいまいちピンと来ない(LINQとかとは解析の仕組みが違う?)ので、興味津々です。
Atlas
 騒がれる理由がわかりました。これは面白いです。
 どちらかというと、.NET(ASP.NET)がよく出来てるなと感心しました。
 MIX06辺りで新たな動きがあるらしいです。
 近藤さんの流石ですのセッションでした。
Windows Server Longhorn
 こちらは、今すぐいぢれるわけではないのですが...
 IIS7.0、ターミナル サービス、仮想化など早くいぢってみたいですね

後は、Windows Vista を動かせるハードが欲しくなりました。

Office “12” Server もそろそろ本腰入れないとなー

以上、お久しぶりの更新でした。
2月いっぱいくらいは更新が滞りがちになるかと思います。

Saturday, February 04, 2006 8:27:38 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET | ASP.NET | Development  | 
 Wednesday, January 11, 2006

知人に教えてもらいました。
現在、少しずつ読み進めてますが、必携本となりそうです。

Effective C#: 50 Specific Ways to Improve Your C# (Effective Software Development)
http://www.amazon.co.jp/exec/obidos/ASIN/0321245660/250-1079234-3793838

相変わらず蛇行してますね。

Wednesday, January 11, 2006 9:11:37 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Wednesday, December 28, 2005

セキュリティ的なリスクがあるという意味ではありません。

.NET FX 2.0 との組み合わせは最強かもしれません。
 エディションは関係ありません。Expressも遜色ないです。
#特にデータ アクセス周りは...

私がここ数年開発現場から離れている(.NET FX 1.0/1.1ではVisual Studioよりもテキスト エディタでコーディングすることが多かった)ので、特にこう言った感想を持つのかもしれませんが...

私見ですが、サーバ管理者がプログラミング スキルを持つことは非常にメリットが大きいので、そういう意味では非常にすぐれたツールになると思います。

 

現在、Webパーツ周りをイロイロいぢっていますので、そのうちココに書くかもしれません。

Wednesday, December 28, 2005 1:46:23 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Friday, September 16, 2005

いやー今日はMSDN読みまくりでした(笑

半日ほど以下のコードを書くのに費やしてしまいました。
できてみれば「なーんだ」なのにね...
#そんな自分にorz...

恥を忍んで公開します(笑

Lib.cs
using System;
using System.Runtime.InteropServices;
namespace InteropTest
{
    public interface IMyInterface
    {
        [return : MarshalAs(UnmanagedType.SafeArray,
                                   SafeArraySubType=VarEnum.VT_VARIANT)]
        object [] MakeArray();
    }
    [ClassInterface(ClassInterfaceType.None)]
    public class Lib : IMyInterface
    {
        public Lib() {}
        public object [] MakeArray()
        {
            object [] myArray = {"AAA", "BBB", "CCC"};
            return myArray;
        }
    }
}

client.vbs
Set obj = WScript.CreateObject("InteropTest.Lib")
ary = obj.MakeArray()
For Each item In ary
    WScript.Echo item
Next

command line
csc /t:library InteropTest.cs
regasm /codebase InteropTest.dll
#ちゃんと厳密名をつけましょう! > 自分
cscript client.vbs

result
AAA
BBB
CCC

追記
ハマった部分を書いてませんでした。
object [] の部分を、string [] と書いていた事が理由です。
client.vbs を実行すると「Type Mismatch」がでやがる...

Friday, September 16, 2005 12:21:42 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Tuesday, September 13, 2005

Windows Desktop Search について調査中です。
http://addins.msn.com/devguide.aspx

恐ろしいほどにAPIがない模様です。
IDLのボリューム少ないし...ググっても...MSDN(オンライン)探しても...

文書中にちりばめられてるロードマップとか読んでるとなかなか期待が持てるんですけどね。

WinFSも調べてみるかなぁ

なんかご存知の方は教えてくださいm(_ _)m

Tuesday, September 13, 2005 12:30:19 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET | Windows  | 
 Tuesday, September 06, 2005

ハッシュについて検索してたら、なかなか面白い記事を見つけたのでメモ。

[HOWTO] SQL Server 2000 Desktop Engine (MSDE 2000) のインストール時に強力な sa パスワードを指定する方法
http://support.microsoft.com/default.aspx?scid=kb;ja;814463

Tuesday, September 06, 2005 11:54:02 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET | SQL Server  | 

 私がお仕事している業界で「ハッシュ」と言うと、以下のような実装を意味することを今日知りました。

using (FileStream fs = File.OpenRead(openFileDialog.FileName))
{
    MD5 md5 = new MD5CryptoServiceProvider();
    tbMD5.Text = FormatMethod(md5.ComputeHash(fs));
}

今まで私がハッシュを利用するのは、アプリケーションのパフォーマンス チューニングとか、パスワードを保存する時で、ファイル ハッシュ(って言うんでしょうか?)というのは初めてですね。私のほうが珍しいんでしょうか?

それと上記ソースについてですが、ComputeHashを連続で2回以上呼び出した場合、1回目と2回目以降の値が異なるんですが、これって仕様なんでしょうか?

Tuesday, September 06, 2005 11:46:00 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Tuesday, July 05, 2005

ちょっとしたツールの作成中に気が付いたので...
#ちょっと古い情報ですが...

.NET FrameworkにあるFileSystemWatcherクラスですが、バグらしきものがあるようです。
内容はファイル名がすべて小文字になってしまうのです。

詳細は以下を参照してください。解決策も載ってます。
http://support.microsoft.com/kb/873196/en-us

こういうのに気づいちゃうと、ほんとに使って良いものか躊躇ってしまいます

Tuesday, July 05, 2005 2:42:45 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Wednesday, June 22, 2005

通勤中に遊ぼうと思って、Visual Studio 2005 Team Suite Beta 2 と SQL Server 2005 April CTP と “Avalon” and “Indigo” Beta1 RC と WinFX SDK を ThinkPad X40 にインストールしたのは昨夜の事。

インストールは以下の手順。

  1. SQL Server を普通にインストール 
  2. Visual Studio をカスタム インストール
    SQL Server Express はインストールしない
  3. Avalon and Indigo を普通にインストール
  4. WinFX SDK を普通にインストール

が、Visual Studio の プロジェクト テンプレートにAvalon のそれが表示されない。
いろいろ試すが結局解決せず、悔しかったが寝る。

今日の通勤中は Avalon のプロジェクト テンプレートを表示させることが目標。
「devenv.exe /setup」してもNG。ユーザ用のプロジェクト テンプレートもNG。

ダメもとで、ロケールを「1033」から「1041」に変更して、「devenv.exe /setup」するとOK。
#「はぁ?」電車の中で声出しちゃった(笑)

しかし、原因がわからん。誰か教えて。

Wednesday, June 22, 2005 1:07:05 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET | Development  | 
 Tuesday, May 24, 2005

私が .NET Framework 2.0 で最も注目しているのは「ClickOnce」です。
技術的に細かい部分に興味があるわけではなく、単純に「便利だ!」と感じるからです。

で、昨年の TechEd 2004 YOKOHAMA の頃だったと思うのですが、
いろいろと評価している時に、ユーザが Administrators に属していなければ Publish されたアプリケーションを
インストールすることができないシロモノと気づきました。
正直ガッカリでした。だって、それじゃ利用シーンが全然無いじゃん。

ということで、なんとなくそれ以降は距離を置いていたのですが...
先日公開された Visual Studio 2005 CTP April BETA2 をインストールして、ClickOnce を試してみました。
な、な、なんと、Users に属しているユーザでも動作するではないですか?

もしかして私の勘違いだったのかなぁ

ということで、このネタでもう少し掘り下げてみる予定です。

(2005.05.24 02:58 修正)
Visual Studio 2005 は CTP April でなくて、BETA2 でした。よって修正。

Tuesday, May 24, 2005 2:03:10 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Sunday, February 20, 2005

某氏に教えてもらいました。
携帯電話やPDAをターゲットとした理想的なソリューションを提供できることを目標にしたものです。

が、デカイ。規模がデカ過ぎるのです。
それに実現のためにはやはりWinodows Mobile-based Smartphoneがあった方がうれしいかな
https://www.microsoft.com/windowsmobile/smartphone/

とりあえずネタのために勉強してみようかと...

Microsoft Connected Services Framework
http://www.microsoft.com/serviceproviders/solutions/csf.mspx

関連するキーワード
Windows Mobile Start Service

Sunday, February 20, 2005 3:21:38 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Thursday, October 21, 2004

今年も出ましたMSDN Magazine セキュリティ特別号!
http://msdn.microsoft.com/msdnmag/

MSDN Magazine 早く復刊しないかなぁ

Thursday, October 21, 2004 12:39:35 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET | Development | Security  | 
 Saturday, October 16, 2004

INETAJ主催で16日に開かれた「Microsoft VB .NET Japan Tour」に参加してきました。

内容は以下のような感じ。VB チーム プログラム マネージャによる オール デモ の構成でした。
<Visual Studio 2003>
・Visual Studio Power Pack を利用したアプリケーションの実装
・Visual Studio Tools for Office を利用したアプリケーションの実装
・Pocket PC アプリケーションの実装
<Visual Studio 2005>
・Visual Basic 2005
 デザイン、ClickOnce、Windows Form コントロール(メニュー、ツールバー)、
 リファクタリング機能、Edit&Continue機能、Generics、...

個人的には、やはり ClickOnce でしょうか。
ノー タッチ デプロイメント 以上に大きな魅力を感じますねぇ
今後の為にキチンと触れておかねば...

それと、ユーザ コントロール の作成のデモで、
ユーザ コントロールに貼り付けられた各コントロールに
任意なクラスの属性を簡単に(GUI操作のみで)バインディングしてたのは結構魅力かも。

以下、今回の戦利品
・VB.NET 2004 World Tour Tシャツ
・Mobile DevCon 2004 CONFERENCE DVD
・Microsoft Visual Basic.net Resource Kit
・O'REILLY .NET Compact Framework Pocket Guide

Saturday, October 16, 2004 9:20:09 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Wednesday, October 13, 2004

現在、70-320 の取得に向けて、スコーシずつ勉強中。スコーシずつ...

とりあえず Remoting のドキュメントを読んでる最中。
Remoting スゲー!知らんかった、こんなに使えるモノだとは...
DCOM の印象を引きずってたので、Hit & Away してたのに...
やっぱり IIS でホスティングできるって機能が魅力的だなぁ

Wednesday, October 13, 2004 9:54:05 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET | Development  | 
 Tuesday, October 12, 2004

MSFのドキュメントがドンドン(?)日本語されていく模様
http://www.microsoft.com/japan/msdn/vstudio/productinfo/enterprise/msf/

英語のドキュメント読んだほうがイイってならないことを期待...

Tuesday, October 12, 2004 12:06:15 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET | Development  | 
 Monday, October 04, 2004

ActiveX のライセンスは .NET ではどうなるのかなぁと疑問に思ったので、
.NET のライセンスについて調べてたら、GDNJ に記事があったので めも
やっぱり LIC(X) ファイルがあるのね(笑)

.NET のライセンス処理
http://www.gotdotnet.com/japan/team/windowsforms/Licensing.aspx

Monday, October 04, 2004 12:40:28 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Friday, October 01, 2004

Cω での XML の書き方についてちょっと調査。

通常は以下のように書く(らしい)
  <ComegaForm>
    <Text>Comega Demo</Text>
    <Width>500</Width>
    <Height>400</Height>
    <BackColor>White</BackColor>
  </ComegaForm>

XAML の場合、要素でも属性でも定義できたので、もしかして...と思ったが、
例えば以下みたいに...
  <ComegaForm BackColor="White" Width="500" Height="400" Text="Comega Demo" />
  or
  <ComegaForm Style="BackColor:White;Width:500;Height:400;Text:Comega Demo;" />

とかは、まだ(?)できないみたい。
こっちの方がスッキリすると思いません?

Friday, October 01, 2004 2:25:34 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Thursday, September 30, 2004

「The .NET Developer's Guide to Windows Security」
http://pluralsight.com/blogs/keith/
http://www.amazon.co.jp/exec/obidos/ASIN/0321228359/qid%3D1096537975/249-7994534-3843508

読んでみたい。積読になりそう。

Thursday, September 30, 2004 7:02:32 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET | Security  | 

Don Box の Blog(どうやら新しいとこに移動したみたい)に以下の書き込みが...
> Of course, not all Windows developers are .NET developers (yet).

「yet」 = 「まだ」 ですよねぇ
いつかは Windows 開発者全員が .NET 開発者になるんですかぁ

で、いつごろ?

Thursday, September 30, 2004 6:59:57 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Wednesday, September 29, 2004

あちらこちらで話題のCω(シーオメガ)。
試しにインストールしてみた。
こんな、Buttonの定義ありですかぁ?
それに「Button bye;」ってなんですかぁ?
けど、はまりそう...

以下、自動で生成されるソースとその実行時の画面。
- Source Code -
using System;
using System.Windows.Forms;

public class ComegaForm : Form
{
    Button test;
    Button bye;
   
    public ComegaForm () {
        test = <Button>
                    <Name>Test</Name>
                    <Text>Hello</Text>
                    <Size>80,24</Size>
                    <Location>8,8</Location>
                    <BackColor>Salmon</BackColor>
                </Button>;
        test.Click += new EventHandler(this.OnButtonClick);
        this.Controls.AddRange(new Control[]{ test });
    }

    void OnButtonClick(object sender, EventArgs e) {
        MessageBox.Show("Comega!");
    }

    static void Main() {
        Application.Run(<ComegaForm >
                            <Text>Comega Demo</Text>
                            <Width>500</Width>
                            <Height>400</Height>
                            <BackColor>White</BackColor>                           
                        </ComegaForm > );
    }
}

- Capture Image -

Wednesday, September 29, 2004 5:53:27 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Tuesday, September 21, 2004

いまいちValidatedの存在理由がわからない。

確か、Controlは以下の順番でフォーカスイベントが発生するはず。
Enter→GotFocus→Leave→Validating→Validated→LostFocus
Validatingでキャンセルすとそれ以降のイベントもキャンセルされる。だったよなぁ。
なぜValidatingとValidatedに分かれてるのか?う~ん。分からん。

Tuesday, September 21, 2004 2:48:50 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 

最近トランザクションを意識したプログラムを書く機会がないなぁ
というか、プログラムを書く機会が減ったなぁ。

トランザクションの実行(MSDN)
http://www.microsoft.com/japan/msdn/library/ja/cpguide/html/cpconPerformingTransactions.asp

Tuesday, September 21, 2004 1:54:35 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 

DiffGramについて、MSDNより

DiffGram は、データ要素の現在のバージョンと元のバージョンを識別する XML 形式です。DataSet では、DataSet の内容を読み込んで永続化するため、およびネットワーク接続経由で転送する場合にこの内容をシリアル化するために、DiffGram 形式が使用されます。DiffGram として作成された DataSet は、スキーマを使用せずに DataSet の内容を正確に再作成するために必要なすべての情報を DiffGram に格納します。このような情報には、Original 行バージョンと Current 行バージョンの両方の列値、行エラー情報、行
順序などがあります。

[HOW TO] Visual C# .NET を使って ADO.NET の DataSet を XML として永続化する方法
http://support.microsoft.com/default.aspx?scid=kb;ja;309183

[HOW TO] 接続型および非接続型 ADO.NET アプリケーションで XML を使用する方法
http://support.microsoft.com/default.aspx?scid=kb;ja;307224

Tuesday, September 21, 2004 1:47:32 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Wednesday, September 15, 2004

Visual Studio 2005 のラインナップがほとんど決まりですよ的な情報が公開されています。
http://lab.msdn.microsoft.com/vs2005/productinfo/productline/

TechEd にて Microsoft 方に Visual Studio 2005 のラインナップについて質問したところ、
「まだまだ変動する可能性が多く明言できません。」という回答でした。
この回答から察する限り、まだ変更の可能性が高いんではないんでしょうか?

で、Team System っていくらなんでしょうねぇ。
あとテスト関係は下位のエディションにもほしいなぁ。

Wednesday, September 15, 2004 2:11:27 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET | Development  | 
 Sunday, August 01, 2004

今日MCAD(.NET)取得に向けて70-315を受験してきました。
そして無事合格しました!:-D

Amazonで購入したe-bookで勉強しただけだったのでかなり不安だったのですが
なんとか合格点に達したみたいです。

購入したe-book
http://www.amazon.co.jp/exec/obidos/ASIN/B00009PXWH/qid=1091345442/ref=sr_8_xs_ap_i1_xgl/249-6349363-8753144

今後は70-316/70-320でしょうか。
#70-029(SQL Server 2000)を受けようかと思ってるんですが、
#最近SQL Server使ってないので...

Sunday, August 01, 2004 4:37:59 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET | Development  | 
 Friday, July 30, 2004

「最近の投稿変なのが多いね」って数人の友人に言われたので...

最近、.NETとかASP.NETに関してメモ書き見たいな書き込みがありますが、
実は現在MCADに向けて(いろんな場所で)勉強中なので、
その際にメモ代わりにBlogを利用してますです。

なので、気にしないでください。:-)

Friday, July 30, 2004 1:14:05 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET | Development  | 
 Thursday, July 29, 2004

using System;
using System.Diagnostics;

// csc /d:TRACE app.cs
public class app
{
  static void Main() {
    Trace.Listeners.Add(new TextWriterTraceListener(Console.Out));
    Trace.WriteLine("Output Debug Message.");
  }
}

Thursday, July 29, 2004 2:32:59 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 

App.cs
using System;
using System.Diagnostics;

public class App
{
  private static BooleanSwitch bs =
    new BooleanSwitch("BSwitch", "Test BooleanSwitch");
 
  private static TraceSwitch ts =
    new TraceSwitch("TSwitch", "Test TraceSwitch");
 
  public static void Main() {
    if (bs.Enabled)
      Console.WriteLine("BooleanSwitch is Enabled.");
   
    if (ts.TraceWarning)
      Console.WriteLine("TraceSwitch is more than TraceWarning.");
  }
}

App.exe.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.diagnostics>
 <!--
   TraceSwitch
   Off : 0 : トレース メッセージおよびデバッグ メッセージを出力しません
   Error : 1 : エラー処理メッセージを出力
   Warning : 2 : 警告およびエラー処理メッセージを出力します
   Info : 3 : 情報メッセージ、警告、およびエラー処理メッセージを出力
   Verbose : 4 : すべてのデバッグ メッセージおよびトレース メッセージを出力します
   -->
 <switches>
   <add name="BSwitch" value="0" />
   <add name="TSwitch" value="2" />
 </switches>
  </system.diagnostics>
</configuration>

Thursday, July 29, 2004 2:22:38 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 

- 出力ファイル -
/out:<ファイル>         出力ファイル名です (既定 : メイン クラスかファースト ファイルを伴うファイルのベース名)。
/target:exe             コンソール アプリケーションをビルドします (既定)。 (短いフォーム: /t:exe)
/target:winexe          Windows 実行可能ファイルをビルドします。 (短いフォーム: /t:winexe)
/target:library         ライブラリをビルドします。 (短いフォーム: /t:library)
/target:module          別のアセンブリに追加できるモジュールをビルドします。 (短いフォーム: /t:module)
/define:<シンボル リスト> 条件付きのコンパイル シンボルを定義する (短いフォーム: /d)
/doc:<ファイル>         生成する XML ドキュメント ファイル

- 入力ファイル -
/recurse:<ワイルドカード> ワイルドカードの指定に従い、現在のディレクトリとサブディレクトリ内のすべてのファイルをインクルードします。
/reference:<ファイル リスト>    指定されたアセンブリ ファイルからメタベースを参照する (短いフォーム: /r)
/addmodule:<ファイル リスト>    指定されたモジュールをこのアセンブリにリンクする

- リソース -
/win32res:<ファイル>    Win32 リソース ファイルを指定します (.res)。
/win32icon:<ファイル>   出力にこのアイコンを使用します。
/resource:<リソース情報>指定したリソースを埋め込みます。 (短いフォーム: /res)
/linkresource:<リソース情報>    このアセンブリに指定されたリソースをリンクします。 (短いフォーム: /linkres)

- コード生成 -
/debug[+|-]             デバッグ情報を生成する
/debug:{full|pdbonly}   デバッグの種類を指定します (full が既定値で、実行中のプログラムにデバッガを付加することができます。)
/optimize[+|-]          最適化を有効にする (短いフォーム: /o)
/incremental[+|-]       インクリメンタル コンパイルを有効にする (短いフォーム: /incr)

- エラーと警告 -
/warnaserror[+|-]       警告をエラーとして扱う
/warn:<n>               警告レベル (0-4) を設定する (短いフォーム: /w)
/nowarn:<警告リスト>    指定の警告メッセージを無効にする

- 言語 -
/checked[+|-]           オーバーフロー チェックの生成
/unsafe[+|-]            unsafe コードの許可

- その他 -
@<ファイル>             応答ファイルを読み込み、オプションを追加します。
/help                   この使い方に関するメッセージを表示します。 (短いフォーム: /?)
/nologo                 コンパイル時の著作権メッセージを表示しません。
/noconfig               CSC.RSP ファイルを自動的に含めません。

- 詳細 -
/baseaddress:<アドレス> ビルドするライブラリのベース アドレスです。
/bugreport:<ファイル>   'バグ報告' ファイルを作成します。
/codepage:<n>           ソース ファイルを開くときに使用するコードページを指定します。
/utf8output             UTF-8 エンコードでコンパイラのメッセージを出力する
/main:<型>              エントリ ポイントを含む型を指定します (ほかのエントリ ポイントはすべて無視します)。 (短いフォーム: /m)
/fullpaths              コンパイラは絶対パスを生成します。
/filealign:<n>          出力ファイル セクションで使用する配置を指定します。
/nostdlib[+|-]          標準ライブラリ (mscorlib.dll) を参照しない
/lib:<ファイル リスト>  参照を検索する追加のディレクトリを指定します。

Thursday, July 29, 2004 1:44:25 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 

MSDNより

<c>
説明内のテキストをコードとして指定できます。コードとして複数行を指定する場合は、<code> タグを使用します。

<code>
複数行をコードとして指定する場合に使用します。説明内のテキストをコードとして指定する場合は、<c> タグを使用します。

<example>
メソッドやその他のライブラリ メンバの使用例を指定します。通常は、<example> タグと共に <code> タグを使用します。

<exception>
スローできる例外を指定できます。このタグは、メソッド定義に適用されます。

<include>
ソース コード内の型およびメンバの説明として、別のファイル内のコメントを参照できます。これはソース コードのファイルにドキュメント コメントを直接記述しない方法です。<include> タグは、XML の XPath 構文を使用します。

<list>
表または定義リストの見出し行の定義に使用します。表を定義する場合は、見出しには用語のエントリだけを指定します。
リストの各項目は、<item> ブロックで指定します。定義リストを作成するときは、term と description の両方を指定します。ただし、表、箇条書きリスト、または番号付きリストに指定する必要があるのは、description のエントリだけです。
リストや表には、必要な数だけ <item> ブロックを指定できます。

<para>
<summary>、<remarks>、<returns> などのタグの内部で使用します。<para> タグで、テキストを段落に分けることができます。

<param>
メソッド宣言のコメント内で使用してメソッドのパラメータの 1 つを説明します。
<param> タグのテキストは、IntelliSense、オブジェクト ブラウザ、およびコード コメント Web レポートに表示されます。

<paramref>
単語をパラメータとして示すことができます。XML ファイルを処理するときに、このパラメータに対して独立した書式を設定できます。

<permission>
メンバへのアクセスをドキュメントにできます。System.Security.PermissionSet でメンバへのアクセスを指定できます。

<remarks>
型の情報を追加し、<summary> で指定された情報を補足します。この情報は、オブジェクト ブラウザとコード コメント Web レポートに表示されます。

<returns>
メソッド宣言のコメント内で使用して、戻り値を説明します。

<see>
テキスト内でリンクを指定できます。「参照」のセクションに示すテキストには、<seealso> タグを使用します。

<seealso>
「参照」のセクションに示すテキストを指定できます。テキスト内でリンクを指定するには、<see> タグを使用します。

<summary>
型または型のメンバの説明に使用します。型の説明に補足情報を追加するには、<remarks> タグを使用します。
<summary> タグのテキストは、IntelliSense の型に関する唯一の情報源です。このタグのテキストは、オブジェクト ブラウザとコード コメント Web レポートにも表示されます。

<value>
プロパティの説明を指定できます。Visual Studio .NET 開発環境のコード ウィザードで追加したプロパティには、<summary> タグが追加されます。そのプロパティが表す値を記述するには、<value> タグを手動で追加する必要があります。

Thursday, July 29, 2004 1:37:36 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Monday, July 26, 2004
GDNJの投稿より
http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=13469
デュアルコアが普通な世の中になると
こういう事象に結構遭遇するようになるんでしょうか?

using System;
using System.Runtime.InteropServices;
using System.Diagnostics;
class App {
  [DllImport("Kernel32", SetLastError=true)]
  static extern bool SetProcessAffinityMask(IntPtr hProcess, ulong dwProcessAffinityMask);
  [DllImport("Kernel32", SetLastError=true)]
  static extern bool GetProcessAffinityMask(IntPtr hProcess, out ulong dwProcessAffinityMask, out ulong dwSystemAffinityMask);
  static void Main() {
    ulong proc, sys;
    bool b = GetProcessAffinityMask(Process.GetCurrentProcess().Handle, out proc, out sys);
    Console.WriteLine(proc);
    Console.ReadLine();
    b = SetProcessAffinityMask(Process.GetCurrentProcess().Handle, 0x2);
    if (!b)
       Console.WriteLine(Marshal.GetLastWin32Error());
    b = GetProcessAffinityMask(Process.GetCurrentProcess().Handle, out proc, out sys);
    Console.WriteLine(proc);
    Console.ReadLine();
  }
}
Monday, July 26, 2004 11:03:54 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Friday, July 23, 2004

.NET Frameworkのすべての型は、なぜ参照型ではないのか?
(=プリミティブデータ型(整数など)を考慮して値型があるのか?)
⇒これにより余分なオーバーヘッドの発生は抑制される

ボクシング : 値型のコピーをマネージドヒープ上に作成すること
 int val = 1;     // 値型のインスタンスを宣言する 
 object obj = val; // 値型を参照型に変換する(ボクシング)

アンボクシング : 参照型のコピーをスタック上に作成すること
 int val = 1;
 object obj = val;
 int val2 = obj;     // コンパイルされない
 int val3 = (int) obj; // 正常にコンパイルされる(明示的なキャスト)

単純なデータ型がガベージコレクタの管理下のヒープではなく、
スタック上に格納され処理効率が改善される為、
ボクシングやアンボクシングを行うと、パフォーマンスが低下することは避けられないが、
大多数のアプリケーションでは問題にならない。

Friday, July 23, 2004 2:07:44 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 

デリゲート
極端な言い方をすると、C++のコールバックのメカニズム
コールバックメソッドが型の安全性を壊さないことを保証する*
複数のメソッドの同時呼び出しをサポート*

Sample Code
using System;
using System.Windows.Forms;
using System.IO;

class Set
{
  private object [] items;
  public Set(int numItems) {
    items = new object[numItems];
    for (int i=0; i<numItems; i++)
      items[i] = i;
  }
  public delegate void Feedback(object value, int item, int numItems);
  public void ProcessItems(Feedback feedback) {
    for (int item=0; item<items.Length; item++) {
      if (feedback != null) {
        feedback(items[item], item+1, items.Length);
      }
    }
  }
}

class App
{
  static void Main() {
    StaticCallbacks();
    InstanceCallbacks();
  }
  static void StaticCallbacks() {
    Set setOfItems = new Set(5);

    setOfItems.ProcessItems(null);
    Console.WriteLine();

    setOfItems.ProcessItems(new Set.Feedback(App.FeedbackToConsole));
    Console.WriteLine();

    setOfItems.ProcessItems(new Set.Feedback(App.FeedbackToMsgBox));
    Console.WriteLine();

    Set.Feedback fb = null;
    fb += new Set.Feedback(App.FeedbackToConsole);
    fb += new Set.Feedback(App.FeedbackToMsgBox);
    setOfItems.ProcessItems(fb);
    Console.WriteLine();
  }
  static void FeedbackToConsole(object value, int item, int numItems) {
    Console.WriteLine("{0} / {1} : {2}", item, numItems, value);
  }
  static void FeedbackToMsgBox(object value, int item, int numItems) {
    MessageBox.Show(string.Format("{0} / {1} : {2}", item, numItems, value));
  }
  static void InstanceCallbacks() {
    Set setOfItems = new Set(5);

    App appobj = new App();
    setOfItems.ProcessItems(new Set.Feedback(appobj.FeedbackToFile));
    Console.WriteLine();
  }
  void FeedbackToFile(object value, int item, int numItems) {
    StreamWriter sw = new StreamWriter("Status", true);
    sw.WriteLine("{0} / {1} : {2}", item, numItems, value);
    sw.Close();
  }
}

Friday, July 23, 2004 1:31:01 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Thursday, July 22, 2004

.NET Frameworkのリソースへのアクセス手順
1.ILのnewobj命令を呼び出して、リソースを表現する型のためにメモリ領域を確保する。この命令はMicrosoft C#、Visual Basicやそのほかの言語でnew演算子を利用することで出力される。
2.メモリを初期化してリソースの初期状態を設定し、リソースを利用可能な状態にする。型のコンストラクタが初期状態の設定を行う。
3.型のメンバにアクセスしてリソースを利用する(必要ならばこの手順を繰り返す)。
4.リソースの状態を消去してクリーンアップする(Finalize、Dispose、Close)。
5.メモリを開放する(ガベージコレクタだけがこの手順を行う)。

Thursday, July 22, 2004 1:55:37 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Sunday, July 18, 2004

Monoをちょっとくらい使ってみるかということで...
さらに、Mono試すんだったら、やっぱLinuxだなと...
#ず~っと(半年くらい)使ってなかったRedHat9をインストールしてたPCのスイッチオン!

ソースからコンパイルするかと思ってたんですが、
なんかめんどくさそうな匂いがしたので、とりあえずはRPMでイイやとhttp://mono.ximian.com/archive/1.0/redhat-9-i386/から
mono-all.zipをダウンロードして解凍してみると、
何じゃこの数のRPMは!う~ん、ようわからん!
つたない英語力で海外のサイトをノラリクラリ...
とりあえず、以下のRPMをインストール!(すれば良さそう...)

libicu26-2.6.2-1.ximian.6.0.i386.rpm
libicu-devel-2.6.2-1.ximian.6.0.i386.rpm
icu-2.6.2-1.ximian.6.0.i386.rpm
libpixman-0.1.0-1.ximian.6.2.i386.rpm
libpixman-devel-0.1.0-1.ximian.6.2.i386.rpm
cairo-0.1.23-2.ximian.6.1.i386.rpm
mono-posix-1.0-1.ximian.6.1.i386.rpm
mono-core-1.0-1.ximian.6.1.i386.rpm
mono-runtime-devel-1.0-1.ximian.6.1.i386.rpm
#実は他のRPMもインストールしてみたんだけど、
#どれをインストールしたんだかわからなくなってしまった...

うーん。cairo-0.1.23-2.ximian.6.1.i386.rpmをインストールしようとすると
libpixmanの0.1.1以上が必要ってエラーメッセージがでるなー
けど、zipにはlibpixman-0.1.0-1.ximian.6.2.i386.rpmが同梱されてる...
Why?

けど、とりあえず以下はコンパイルできた...
using System;
public class HelloMono {
  public static void Main() {
    Console.WriteLine("Hello, Mono!");
  }
}
んで
$ mcs HelloMono.cs
$ mono HelloMono.exe
Hello, Mono!

一応Windowsでも...
D:\>HelloMono.exe
Hello, Mono!

おぉー!パチパチ

しかし、インストールはもう少し簡単にしたほうがいいなぁ
#個人的には燃えるけど(笑)

Sunday, July 18, 2004 10:04:48 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Wednesday, July 07, 2004

MSDN Magazine日本語版 特別復刊号のスレッドGDNJにあります。
http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=11228

ということで、明日朝イチでゲットしに行きます!
SODECにはそれだけの目的で行きます(爆)
まぁ少しくらいぶらぶらするかな~

そろそろ寝るかな。ふぁ~。

Wednesday, July 07, 2004 1:50:49 AM (東京 (標準時), UTC+09:00)  #    Comments [1]   .NET | Development  | 
 Tuesday, July 06, 2004

Visual <T> 2005 Express Beta 1 に要求されるスペック表
http://lab.msdn.microsoft.com/express/sysreqs/
そろそろ手を付けないと...

仕事中に...(爆)

Tuesday, July 06, 2004 11:56:08 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Thursday, June 17, 2004

今日はMicrosoftが無料で開催しているSECURE SYSTEM Training 2004のDeveloperを受講しています。
講師はNECラーニング 山崎 明子さんです。
TechEdなどでもそうですが、非常に分かりやすく説明してくれています。

基本的には初心者向きでしょうか?
やっぱり物足りないですね。

Thursday, June 17, 2004 3:53:18 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET | Development | Security  | 
 Monday, June 07, 2004

MSDN Magazine 2003.11の翻訳がMSDN Onlineに掲載されてますね。
英語の読んで挫折したやつだったんで、うれしいです。
http://www.microsoft.com/japan/msdn/msdnmag/

Monday, June 07, 2004 11:33:38 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 

セキュリティに関する検証でURLにUnicode文字をくっつけるっていうのをやるってんで、
データ作成用ツールを作ったのでそのソースから抜粋。
#自信は全然ありません。
#日本語環境でのみしか動作しないと思います。

  public string Ascii2Unicode(string src)
  {
   string retVal = "";
   Encoder encoder = Encoding.Default.GetEncoder();
   byte [] bytes = new byte[encoder.GetByteCount(src.ToCharArray(), 0, src.Length, true)];
   encoder.GetBytes(src.ToCharArray(), 0, src.Length, bytes, 0, true);
   foreach (Byte b in bytes)
   {
    retVal += String.Format("%{0:X}", b);
   }
   return retVal;
  }

  public string Unicode2Ascii(string src)
  {
   string retVal = "";

   ArrayList byteList = new ArrayList();
   string [] temp = src.Split('%');
   foreach (string s in temp)
   {
    if (s.Length > 0)
    {
     byteList.Add(Byte.Parse(s, System.Globalization.NumberStyles.HexNumber));
    }
   }

   byte [] bytes = new byte[byteList.Count];
   for (int i=0; i<byteList.Count; i++)
   {
    bytes[i] = (byte) byteList[i];
   }

   Decoder asciiDecoder = Encoding.Default.GetDecoder();
   char [] chars = new char[asciiDecoder.GetCharCount(bytes, 0, bytes.Length)];
   asciiDecoder.GetChars(bytes, 0, bytes.Length, chars, 0);
   foreach (char c in chars)
   {
    retVal += c;
   }

   return retVal;
  }

Monday, June 07, 2004 10:41:16 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Wednesday, May 26, 2004
Visual Studio 2005 Community Technology Preview(May 2004)が
MSDNからダウンロードできるようになってる
どうやら今回のものには、Team Systemの一部が含まれている模様
Wednesday, May 26, 2004 4:16:32 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET | Development  | 
Visual Studio 2005 Team System
う~ん。確かにVSに統合されるてリッチになるのは歓迎なんだけど、
この機能自体はアドオン的に配布されるのかな?
VSの値段までリッチになるのはいやだな
もう少し調べてみるか
Wednesday, May 26, 2004 1:18:27 PM (東京 (標準時), UTC+09:00)  #    Comments [1]   .NET | Development  | 
 Monday, May 24, 2004
http://www.windowsforms.net/にWindows Formのコントロールに関する記事が掲載されてる
Monday, May 24, 2004 12:52:36 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Thursday, May 20, 2004
 Tuesday, May 18, 2004
なんか好きだな、このレイアウト
Microsoft セキュリティスクエア
Tuesday, May 18, 2004 6:59:53 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET | Security  | 
Tuesday, May 18, 2004 4:35:06 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Monday, May 17, 2004
Monday, May 17, 2004 1:50:09 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Sunday, May 16, 2004
アプリケーションの状態を保存したいのだが、何かスマートな方法はないかな?
とりあえずMSDNにある記事のURL
.NET Framework におけるアプリケーション設定の永続化
Sunday, May 16, 2004 11:03:23 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Wednesday, May 12, 2004

立ち読みですませれるかな?

『.NETエンタープライズWebアプリケーション開発技術大全 Vol.1 .NET Framework 導入編』
『.NETエンタープライズWebアプリケーション開発技術大全 Vol.2 ASP.NET 基礎編』
『.NETエンタープライズWebアプリケーション開発技術大全 Vol.3 ASP.NET 応用編』
『.NETエンタープライズWebアプリケーション開発技術大全 Vol.4 セキュアアプリケーション設計編(2004年秋発売予定)』
『.NETエンタープライズWebアプリケーション開発技術大全 Vol.5 トランザクション設計編(2004年秋発売予定)』

ちなみに以下が@ITの記事
http://www.atmarkit.co.jp/fdotnet/entwebapp/index/index.html

Wednesday, May 12, 2004 2:51:24 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Tuesday, April 27, 2004
たまーに徘徊するサイト
MSDN Online Columns
Tuesday, April 27, 2004 1:12:39 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET | Development  | 
 Thursday, April 22, 2004
Microsoft Visual C++ Toolkit 2003というものがあるな
詳細は今のところ不明
とりあえずメモ
Microsoft Visual C++ Toolkit 2003
Thursday, April 22, 2004 1:05:40 PM (東京 (標準時), UTC+09:00)  #    Comments [1]   .NET  | 
 Friday, April 16, 2004
 Monday, April 12, 2004
ここ最近C#についていろいろ考えてる。
そのなかで、C++などでよくやったインタフェースの実装クラスができないものか考えている。
こんな感じ、これだと多重継承なんかしたいときに便利なんだけどなー
interface IHoge {...}
class IHogeImpl : IHoge {...}
class MyClass : IHogeImpl {...}
これってJavaでも悩むんだよな
やっぱり属性を利用する方向で検討したほうがいいのかなー

ネットで検索してたらGotDotNet Japanに結構ピンポイントな記事があったので...
GotDotNet Japanの記事
Monday, April 12, 2004 2:15:00 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Sunday, April 11, 2004
C#のレクチャをしていて、自分でもこんがらがってしまった。
最近の仕事はほとんどがJavaだったからかな?
整理する意味でサンプルをここに書いておこうかな
using System;

public class Person
{
  public virtual void getName() {
    Console.WriteLine("i have no name.");
  }
}

public class Taro : Person
{
  public override void getName() {
    Console.WriteLine("my name is Taro.");
  }
}

public class Hanako : Person
{
  public new void getName() {
    Console.WriteLine("my name is Hanako.");
  }
}

public class Person2
{
  // there is not 'virtual'
  public void getName() {
    Console.WriteLine("who am i?");
  }
}

public class Jiro : Person2
{
/*
  // compile error
  public override void getName() {
    Console.WriteLine("my name is Jiro");
  }
*/
}

public class Kazuhiro : Person2
{
  public new void getName() {
    Console.WriteLine("my name is Kazuhiro");
  }
}
public class Tester
{
  static void Main() {
    Person person = null;
    person = new Person();
    person.getName();
    person = new Taro();
    person.getName();
    person = new Hanako();
    person.getName();

    Person2 person2 = null;
    person2 = new Person2();
    person2.getName();
    person2 = new Jiro();
    person2.getName();
    person2 = new Kazuhiro();
    person2.getName();
  }
}
実行結果
i have no name.
my name is Taro.
i have no name.
who am i?
who am i?
who am i?
Sunday, April 11, 2004 5:54:13 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Wednesday, March 31, 2004
Article of Chris Anderson
The Blinking Lights Division
Wednesday, March 31, 2004 3:10:32 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Thursday, March 18, 2004
MCAD by
MCAD を受けようかと思ってるんだが、どこから手をつけたらよいから…
う~ん。みんなどうやって勉強してるんだろ?
Thursday, March 18, 2004 3:21:15 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
Microsoft .NET Speech
ちょっと面白そうだな
Tablet PCとかと組み合わせたアプリとかってありそうだな。
少し調べてみるか

ん?これって昔からあるスピーチの.NET対応版かな?
マーリンとかあったな~
なつかし~
Thursday, March 18, 2004 3:09:18 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Friday, March 12, 2004
YukonとWhidbeyのリリースが延期になった。
Yukonは正直どうでもいいけど(笑)
Whidbeyは痛いな~
結構期待してたのに…
Friday, March 12, 2004 7:54:54 PM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
 Tuesday, March 09, 2004
http://www.microsoft.com/japan/msdn/thisweek/wednesday/
毎週水曜日コンテンツ公開
Tuesday, March 09, 2004 9:19:11 AM (東京 (標準時), UTC+09:00)  #    Comments [0]   .NET  | 
Copyright © 2010 yama3. All rights reserved.
DasBlog 'Portal' theme by Johnny Hughes.
Pick a theme: