auto_ptrのブックマーク (114)

  • [WPF][C#]WPFでアプリを作るときのフレームワーク

    Feedback # [WPF] Acropolis から WPF Composite Client 経由 Prism <- いまココ 2008/10/15 15:56 biac の それさえもおそらくは幸せな日々@nifty Nakamura Blog より。 .NET 用のオープンソースのフレームワーク * TERASOLNA * Seasar.NET * Spring.NET * blanco Framework * Enterprise Library * 弁慶フレームワーク まだまだあるハズ。見つけたらこのエントリに追加していきます # [WPF][C#]Composite Application Guidance for WPF 2008/10/17 12:48 かずきのBlog [WPF][C#]Composite Application Guidance for WPF #

    auto_ptr
    auto_ptr 2009/09/13
    スタートアップ紹介。
  • S2Windows.NET - S2Container.NET

    auto_ptr
    auto_ptr 2009/09/13
    クライアントアプリケーション向け DI フレームワーク。
  • C++0xの新機能「ラムダ式」を次期Visual Studioでいち早く試す

    C++0Xの新機能が搭載されたVisual Studio 2010 Microsoftの開発者向け技術情報サイト「MSDN」では、Visual Studio 2010 β1 がリリースされています。IDEがWPFで作られていたり、.NET Frameworkのバージョンが上がっていたりと、Visual Studio 2010では様々な変更/拡張が施されているようですが、C++屋の筆者としては、Visual C++が部分的にせよC++の新規格(通称C++0X)の新しい機能を積極的に取り入れていることが、とても嬉しく思います。 Visual C++ ver. 10に追加されたC++0Xの新機能のひとつ、「ラムダ式(lambda expression)」を少しばかり触ってみましょう。 関数オブジェクトとは C++templateをサポートし、それにあわせてSTLに代表されるテンプレート・ライブ

    C++0xの新機能「ラムダ式」を次期Visual Studioでいち早く試す
  • .NET アプリケーションのパフォーマンスとスケーラビリティの向上 - 第 5 章 「マネージ コ ード パフォーマンスの向上」

    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

    .NET アプリケーションのパフォーマンスとスケーラビリティの向上 - 第 5 章 「マネージ コ ード パフォーマンスの向上」
    auto_ptr
    auto_ptr 2009/09/13
    WPF クライアントアプリケーション向け DI フレームワーク。
  • 手軽にプロパティを実装するには?[C#、VS 2008、3.5] - @IT

    Visual Studio 2008(厳密には.NET Framework 3.5)のC#(=Visual C# 2008)では、「プロパティの自動実装」(Automatic Implementation of Property)という機能が搭載され、効率的にプロパティを実装できるようになっている。 例えば従来(=Visual Studio 2005以前)では、プロパティは次のように記述していた。 private int myVar; public int MyProperty { get { return myVar; } set { myVar = value; } }

    auto_ptr
    auto_ptr 2009/09/13
    VS2008 のプロパティ自動実装。 IDE の機能なので .NET Framework 2.0 向けにもビルドできる。
  • なぜNT系OSは堅牢といわれるのか?

    Windows OSは,NT系の方が95/98/Me系よりも堅牢だといわれる。NT系OSは「カーネル・ベースのOSだから」「アプリケーションがクラッシュしてもOSはダウンしないから」など,ごく表面的な理由なら「にわか管理者」でも説明できるだろう。しかし,その当の理由をあなたは正しく説明できるだろうか。 Windows XP/VistaなどのNT系OSに乗り換えたら,長年の問題だった「フリーズ」から解放された――そんな経験をした読者は多いだろう。Windows 95/98/Me(以下9x)時代は,ワープロと電子メール・ソフトを立ち上げながらWebサーフィンをし,気が向いたら動画を再生してみる――といった作業をした途端,パソコンがウンともスンとも言わなくなることは珍しくなかった。 それがWindows XP/Vistaを使う今なら,アプリケーションに何かトラブルが発生しても,「タスク・マネー

    なぜNT系OSは堅牢といわれるのか?
  • 設計者自らが書き下ろす「C++入門書」とは~Bjarne Stroustrup氏との対話~:CodeZine

    はじめに Bjarne Stroustrup氏は、プログラミング言語C++を設計・実装しただけではなく、側近と呼ばれる人々と共にその改善と普及のために間断なく活動してきました。(参照ページ:豊田孝の「IT談話館」) 著名なC++関連書籍の執筆者の一人であるScott Meyers氏は、マスコミの依頼に応じ、C++言語の発展と普及に貢献した偉大な人物と書籍をリストアップしたことがあります。Stroustrup氏とその書籍が、それぞれのリストの1番目に紹介されたのは言うまでもありません。(参照ページ:『The Most Important C++ People...Ever』) Scott Meyers氏によって「C++書籍の中で最もインパクトを与えた5冊」に選ばれたStroustrup氏の著書「The C++ Programming Language」 Stroustrup氏はC++プログラ

  • あなたはC++ の発明者? それとも創造者?〜Bjarne Stroustrup氏との対話〜:CodeZine

    はじめに 「Bjarne Stroustrup氏との対話」連載を担当することになりました、豊田孝と申します。よろしくお願いいたします。 対話の相手であるBjarne Stroustrup氏は、プログラミング言語「C++」を設計し、最初に実装した人です。それだけでなく、同氏はC++を国際標準プログラミング言語の地位に付かせました。大変なエネルギーの持ち主です。 筆者はこの数年、「同氏の生き方から何かを学べるのではないか」と考えてきました。その考えは日毎に熱を帯び、「学べるはずだ!」、そしてついには、「わが国の開発者に、同氏の考え方と生き方ぜひお伝えしたい!」へと変化し今回の連載を始めるに至りました。 稿でのStroustrup氏との対話はメール交換を通して行われます。基的には、筆者が質問文を用意し、Stroustrup氏がその質問に対して高所からコメントを寄せることになります。C++言語

  • 第5回 拡張メソッド ― @IT

    C# 2.0プログラマーの悲劇 題に入る前に、よくあるトラブルの事例を見てみよう。C# 3.0を使い始めたC# 2.0プログラマーの話だ。 C# 2.0プログラマーのA君が、Visual Studio 2005を用いて以下のようなコードを書いたとしよう。整数配列がすべて奇数であるかを確認し、その条件が成立していないときはその旨を出力する内容である。 using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int[] primes = { 2, 3, 5, 7, 11 }; foreach (int target in primes) { if (ta

    auto_ptr
    auto_ptr 2008/08/18
    C# 3.0 の拡張メソッドの仕組みについて。暗黙の this ポインタという懐かしいトンチ。
  • Technical documentation

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

    Technical documentation
  • Technical documentation

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

    Technical documentation
  • 第4回 メモリー管理のキー技術「仮想メモリー」を知る

    大手コンピュータ・メーカー勤務。入社以来10数年をソフトウェア開発の現場で過ごし,その後ソフトウェア品質部へ異動。現場への技術支援や品質教育開発などを主に行っている。「APIで学ぶWindows徹底理解」(日経BP社)などを執筆。 今を去ること十数年前,PC(パソコン)のOSの主流がDOSだったころ,アプリケーションが利用できるメモリーは,高々500Kバイトしかなかった。プログラマは,少ないメモリーをいかに有効利用するかに腐心したものだし,mallocなどのメモリー割り当て関数が,メモリー不足のためにエラーを返すのも珍しいことではなかった。OSがWindowsLinuxなどに変わり,メモリーの大容量化や低価格化が進んだ今,少なくとも一般的なアプリケーション開発に関する限り,メモリーが確保できるかどうかを心配する開発者はほとんどいないのではないだろうか。 しかし,それでもメモリーは有限であ

    第4回 メモリー管理のキー技術「仮想メモリー」を知る
    auto_ptr
    auto_ptr 2008/07/07
    Windows の仮想メモリ管理について。
  • SymGetSymFromAddr

    戻り値は、関数の実行に成功したか否かを表す真偽値である。 Cのサンプル: 下記TestStackWalk関数は、不正なメモリアクセスによって例外が発生する。例外ハンドラとして設定されているSWFilter関数は、スタックフレームを呼び出し元へ順に辿っていくことにより、例外発生時の関数呼び出し履歴を表示する。 void TestStackWalk(); void Test1(); void Test2(); void Test3(); LONG CALLBACK SWFilter(EXCEPTION_POINTERS *ExInfo); void TestStackWalk() { /* SWFilter()を例外フィルタとして設定しておく */ SetUnhandledExceptionFilter(SWFilter); Test1(); } void Test1() { Test2();

    auto_ptr
    auto_ptr 2008/07/07
    指定したアドレスの情報を取得する Win32API 。
  • メモリ確保可能量の違い

    [戻る] ジロー 2006/03/25(土) 05:26:09 こんにちは、質問させてください。 画像を面でメモリに確保し、処理するプログラムを作成したのですが、 Win2000で上限としていた最大サイズに比べて、 WinXPで限界となる最大サイズがかなり少なくなってしまった為困っています なぜこのようになってしまうか、 何か情報をお持ちの方いらっしゃらないでしょうか。 GlobalAllocPtrで指定サイズ分メモリを確保するプログラムを VC++ 6.0で作成したのですが、私がテストしたパソコンでは プログラムを実行したOS別に確保できた最大バイト数が違ってしまいました。 WinXP SP2 日語版 約900MBが最大 WinXP SP2 英語版 約1.4GBが最大 Win200 SP4 日語版 約1.8GBが最大 (全部Professionalです) OSは、OS毎にHDDを用

    auto_ptr
    auto_ptr 2008/07/06
    Windows でのメモリ連続領域確保可能サイズ。 2GB のプロセス空間の途中に IME 等の DLL がロードされて空間が分断される件。
  • 連載:良いコ―ドへの道―普通のプログラマのためのステップアップガイド|gihyo.jp … 技術評論社

    最終回 配列/コレクションを利用した抽象化―その5 Step4:配列/コレクション化して抽象化する 縣俊貴 2009-05-18

    連載:良いコ―ドへの道―普通のプログラマのためのステップアップガイド|gihyo.jp … 技術評論社
  • 結論:結局、Javaはクロージャを使えるの? - lethevert is a programmer

    【追記 2008/7/2】とても昔のClosureについて書いた記事が注目を集めてしまったみたいですが、ぜひ、もっと後で書いた次の記事とその関連スレッドの方も確認してみてください。このときよりも、もう少し事情が分かってから書いたものなので、より正確に状況を理解できると思います。それに、私自身、この言葉にはまだ混乱しています・・・ http://d.hatena.ne.jp/lethevert/20070524/p2 - という問いに対して、そろそろ私の結論を整理しておきます。 これは、将来の自分に対する参照の便のための整理です。 前提知識 前提知識として、こちらの内容を読んで理解しておきます。 Closure (computer programming) - Wikipedia [id:lethevert:20060119:p1] [id:lethevert:20060121:p2] また

    結論:結局、Javaはクロージャを使えるの? - lethevert is a programmer
  • Objective-C - Wikipedia

    Objective-C(オブジェクティブ シー)は、プログラミング言語の一種。CをベースにSmalltalk型のオブジェクト指向機能を持たせた上位互換言語である。 Objective-CはNeXT、macOSのオペレーティングシステム (OS) に標準付属する公式開発言語である。macOSのパッケージ版に開発環境がDVDで付属するほか、ユーザ登録をすれば無償でダウンロードできる(Xcodeの項目参照)。現在では主にApplemacOSやiOS上で動作するアプリケーションの開発で利用される。 Objective-CはCを拡張してオブジェクト指向を可能にしたというよりは、Cで書かれたオブジェクト指向システムを制御しやすいようにマクロ的な拡張を施した言語である。したがって、「better C」に進んだC++とは異なり、「C & Object System」という考え方であり、ある意味2つの言語

  • 「サニタイズ言うなキャンペーン」私の解釈

    高木浩光さんの「サニタイズ言うなキャンペーン」 という言葉自体はずいぶん前から存在したのだが、 続・「サニタイズ言うなキャンペーン」とはにて高木さん自身がいくつも誤解の例を挙げているように、 そしてまた最近も 駄目な技術文書の見分け方 その1にて「まだわからんのかね」と言われているように、 「わかりにくい」概念なんだろうとは思う。 そこで、僭越ながら、「サニタイズ言うなキャンペーン」について、 私なりの解釈を書いてみようと思う。 もっともこれが正解であるという保証はないのだが、 間違っていたらどなたかツッコミいただけることを期待しています(_o_) そもそも何のせいで「エスケープ」しなければならないのか たとえば住所氏名を登録させるWebアプリケーションは珍しいものではないと思う。 そこで、私が「Taro&Jiro's castle サウスポール」 とかいう恥ずかしい名前のマンション(?)

    auto_ptr
    auto_ptr 2008/06/16
    サニタイズという発想が間違っている理由の説明。そもそもバグであること。
  • 第3回 varによる変数宣言とコレクション初期化子(4/4) - @IT

    配列ではないコレクションの初期化についても、C# 3.0は機能強化されている。 例えば、List<T>クラスを用いたリストを作成する際、初期値を容易に指定することができる。1、2、3という3つの初期値を持つList<int>オブジェクトは、以下のように宣言することができる。 using System; using System.Collections.Generic; class Program { static void Main(string[] args) { // コレクション初期化子の使用 var list = new List<int>() { 1, 2, 3 }; foreach (var i in list) Console.WriteLine(i); // 出力: // 1 // 2 // 3 } } ここで、「new List<int>()」と書いてインスタンスを生成さ

    auto_ptr
    auto_ptr 2008/06/15
    一昨日もこれが .NET 2.0 でできるかを同僚と話した。
  • 二流プログラマの三流な日常: ソースを変えずに高速化する(.NET Framework)

    納期がギリギリでも高速化しなくてはならないことがあります。 そんな時に役に立つ、ソースを変更せずにコンパイル時や実行時の設定だけで高速化する方法を紹介します。 以下、効果が高く重要な順に行きます。 使用するアセンブリ(DLL)のロード時間を高速化する 呼び出すアセンブリ(DLL)が2個以上あるなら、ベースアドレスを変更する 必要とするアセンブリの検索をプローブに頼っていませんか?プローブによる呼び出しはかなり低速です。「.NET Frameworkアプリは起動が異常に遅い」などという人は、大抵、この辺の知識か、JITに対する理解が足りていません。厳密名をつけ、アセンブリをGACに導入することを検討してください。 ベースアドレスの変更はWindows開発の常識です。解説は他のサイトに任せます。 次にCPUが2個以上あるサーバプログラムでは以下の事も検討すべきです。 ガベージコレクタを変更して