Master Canary Forging: 新しいスタックカナリア回避手法の提案 by 小池 悠生 - CODE BLUE 2015CODE BLUE
![C#/.NETがやっていること 第二版](https://cdn-ak-scissors.b.st-hatena.com/image/square/246827b76f5f2cf508d8231c18e8af96875c0568/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fhowcdoes-140628213022-phpapp01-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
Microsoft Learn. Spark possibility. Build skills that open doors. See all you can do with documentation, hands-on training, and certifications to help you get the most from Microsoft products. Learn by doing Gain the skills you can apply to everyday situations through hands-on training personalized to your needs, at your own pace or with our global network of learning partners. Take training Find
連載目次 「エンド・ユーザーは、0.5秒のフリーズでストレスを感じ、3秒のフリーズはバグだと思う」。昔、冗談半分に言ってみた言葉だが、回りの反応を見るに、割とみな思っていることらしい。 特にモバイル端末向けのOSでは、応答性の悪いアプリケーションはOSによって強制終了されたり、マーケットプレイスでの審査に落ちたりする。フリーズしないアプリケーション作りがますます重要になっている。 そこで、本稿では、フリーズしないアプリケーション作りに必要となる「非同期処理」*1について説明していく。 *1 時間のかかるAPIに対して、そもそも非同期版しか提供しないケースが増えてきている。Windows 8の新しいWindows API(WinRT)では、50ミリ秒以上かかるAPIを、すべて非同期なメソッドとして提供するそうだ。 ■非同期処理の今までとこれから ネットワークI/Oのように待ち時間の発生する処
このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 .NET アプリケーションの並列処理についての過去、現在、未来 Stephen Toub 過去の並列処理 スレッドの直接操作は、応答性の高いクライアント アプリケーション、並列アルゴリズム、およびスケーラブルなサーバーを実現するために、以前から開発者が採用している方法です。しかし、この手法は、デッドロック、ライブロック、ロック コンボイ、2 ステップ ダンス、競合、オーバーサブスクリプションといったアプリケーションを望ましくない状態に陥らせる温床でもありました。Microsoft .NET Framework は、その誕生以来、専用の名前空間 (System.Threading) など、同時実行アプリケーショ
連載目次 通常、クラスのインスタンスはnewキーワード(VB.NETの場合はNewキーワード)により作成するが、リフレクションの機能により、文字列で指定されたクラス名からインスタンスを作成することもできる。 本稿では、インスタンス化したいクラスを含んだアセンブリがすでにロードされている場合と、そのアセンブリがまだロードされていない場合の2つのケースについて、クラス名からインスタンスを作成する方法について解説する。 すでにアセンブリがロードされている場合 インスタンス化したいクラスを含んだアセンブリがすでにディスクからロードされている場合には、まずTypeクラス(System名前空間)のGetTypeメソッドにより、そのクラスのTypeオブジェクトを得る。GetTypeメソッドでは、パラメータとしてクラス名を文字列で指定できる。 Type t = Type.GetType("インスタンス化し
Refresh、Update、Invalidateメソッドの違いControlクラスのRefresh、Update、Invalidateメソッドは主にコントロールを再描画するために使用されますが、これらの違いはヘルプを読んだだけでは非常に分かりにくいです。 ヘルプによると、これらのメソッドは次のように説明されています。 Refresh メソッド : 強制的に、コントロールがクライアント領域を無効化し、直後にそのコントロール自体とその子コントロールを再描画するようにします。Update メソッド : コントロールによって、クライアント領域内の無効化された領域が再描画されます。Invalidate メソッド : コントロールの特定の領域を無効にし、そのコントロールに描画メッセージを送信します。これらのメソッドが具体的に何を行っているのかを調べるには、「Reflector for .NET」のよ
タスク並列ライブラリについての情報をメモメモ。 以前書籍執筆したときに勉強したのですが、利用していないとやっぱり忘れていきますね。 また、忘れてきたときの為のメモです。 .NET Framework の並列プログラミング http://msdn.microsoft.com/ja-jp/library/dd460693.aspx Task Parallel Library : 1 of n http://www.codeproject.com/KB/cs/TPL1.aspx Task Parallel Library : 2 of n http://www.codeproject.com/KB/cs/TPL2.aspx Task Parallel Library : 3 of n http://www.codeproject.com/KB/cs/TPL3.aspx Task Parallel
(この記事は、C# Advent Calendar jp: 2010の7日目の記事です。前日は、えむナウさんでした。) C#の、というか.NETのシリアライズ・デシリアライズ技術は統一感がなさ過ぎてカオスなので、簡単にまとめる。 シリアライザー シリアライザブル 対象テクノロジー 説明 IFormatter Formatter BinaryFormatter SoapFormatter(もう使わない方がいい) ISerializable Serializable属性 .NETリモーティング ASP.NETセッション情報など 型情報および全フィールド⇔バイナリストリーム FormatterServicesがごにょごにょするのでリフレクションより速い メモリダンプみたいなもので、型の実装に依存する バージョン違いでも互換性がなくなることも XmlSerializer IXmlSerializa
System.IO.MemoryMappedFiles.MemoryMappedFileクラスは、.NET 4.0から 追加されたクラスです。文字通り、メモリ上にマッピングされたファイルを扱います。 MMFと略したりします。 メモリマップトファイルは、昔からWin32 APIとして用意されていましたが 4.0より.NET Frameworkにクラスとして登場しました。 MemoryMappedFileの特徴は、ランダムアクセスが速い事です。 メモリ内にマップされているのでシークする必要がありません。 逆にシーケンシャルアクセスは苦手です。 逆にFileStreamはシーケンシャルアクセスが得意で、ランダムアクセスが苦手です。 また、MemoryMappedFileは共有メモリとしても利用出来ます。 つまり複数のプロセス間で共有することが出来ます。 で、実際の利用方法ですが MemoryMa
注意:ここではXmlSerializerクラスを使った方法を紹介します。DataContractSerializerクラスを使った方法は、「DataContractSerializerを使って、Object配列やArrayListをXMLシリアル化する」で説明しています。 「オブジェクトの内容をファイルに保存、復元する」で説明した方法でObject型の配列やArrayListオブジェクトなどをシリアル化すると、例外InvalidOperationException(XML ドキュメントを生成中にエラーが発生しました)がスローされる場合があります。例えば、次のようなケースです。 Public Class SampleItem Public Number As Integer Public Message As String Public Sub New() Number = 0 Messag
Windows フォーム コントロールは、ユーザー インターフェイスの機能をカプセル化して、クライアント側の Windows ベースのアプリケーションで使用される再利用可能なコンポーネントです。 Windows フォームは、すぐに使用できる多数のコントロールを提供するだけでなく、独自のコントロールを開発するためのインフラストラクチャも提供します。 既存のコントロールの結合、既存のコントロールの拡張、または独自のカスタム コントロールの記述ができます。 このセクションでは、Windows フォーム コントロールの開発に役立つ背景情報とサンプルを提供します。 このセクションの内容 Windows フォームでのコントロールの使用方法の概要 Windows フォーム アプリケーションでのコントロールの使用の重要な要素を示しています。 さまざまなカスタム コントロール System.Windows.
TraceSwichはアプリケーション構成ファイルで定義した名前でオブジェクトを作る。 これによって構成ファイルで定義した出力レベルが読み取られる。 通常はクラス毎にstaticなメンバーとしオブジェクトを作ればよい。 なおSwitch名は通常は実行ファイル名と同じがよい。 DLLを使う場合はDLLの名前をスイッチの名前にすると出力レベルの使い分けができる。 static readonly TraceSwitch ts = new TraceSwitch("TestSwitch", "comment test5"); void func() { // 正しい使い方 if (ts.TraceInfo) { Trace.TraceInformation("test5 information 1"); } if (ts.TraceWarning) { Trace.Trace
注意:ここで紹介する方法は、.NET Framework 2.0以降で有効です。それ以外では、こちらやこちらのように、TraceとDebugを使用するようにします。 ここでは、.NET Framework 2.0から追加されたTraceSourceクラスを使ってトレースする方法を紹介します。.NET Framework 1.1以前は、こちらやこちらのように、TraceとDebugを使用してトレースを行いましたが、.NET Framework 2.0ではTraceSourceを使用したトレースが推奨されています。 早速ですが、TraceSourceを使った簡単な例を示します。以下のコードでは、Button1をクリックしたときに、指定したメッセージがVisual Studioの出力ウィンドウに表示されます。 'TraceSourceの作成 Private Shared appTrace As
>CustomColorsの構造が判らないので、これ以上どうすれば良いのか困っています。 外池さんの仰る通り、VBであればInteger型の配列でCustomColorsを取得可能です。 以下簡単なサンプルです。 ※前提:フォーム上に、Button1、Button2、Button3が配置されているものとする Public Class Form1 ' カラーダイアログ Private cd As New ColorDialog() ' カラーダイアログ表示ボタン Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click cd.ShowDialog() End Sub ' カスタムカラー保存ボタン Private Sub Button2_
Recommendations on how to design and develop custom applications using the Microsoft platform Each patterns & practices offering contains a combination of written documentation and re-usable source code. Many also include a reference implementation. As the guidance is being developed it is reviewed and approved by internal Microsoft product teams and by external customers and partners. This produc
Code download available at: Memory Leaks 2007_01.exe(163 KB) Contents Memory in .NET Applications Checking for Leaks Leaking Stack Memory Leaking Unmanaged Heap Memory "Leaking" Managed Heap Memory Conclusion The first reaction many developers have to the idea of memory leaks in managed code is that it's not possible. After all, the garbage collector (GC) takes care of all memory management, right
Visual Studio では、フォント、色、メニュー、ツール バー、ウィンドウの場所、およびショートカット キーをカスタマイズでき、テンプレートを作成し、外部ツールを使用し、拡張機能を管理することもできます。Visual Studio をどのようにカスタマイズする場合でも、変更を共有し、すべての設定を既定値に戻してやり直すことさえできます。 カスタマイズの設定はファイルに自動的に保存されるため、Visual Studio を閉じて再開しても設定は維持され、Visual Studio のサインインに使用するどのコンピューターにも適用されます。「Visual Studio へのサインイン」を参照してください。 このトピックの内容 一般的なカスタマイズのタスク 既定の環境設定の指定 [オプション] ダイアログ ボックスでの設定のカスタマイズ 変更を元に戻す カスタマイズした設定の共有 一般的
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く