タグ

ブックマーク / atmarkit.itmedia.co.jp (57)

  • .NETアプリを軽快にするためのガベージ・コレクション講座(2/4) - @IT

    連載 .NETWindows Vistaへ広がるDirectXの世界 第6回 .NETアプリを軽快にするためのガベージ・コレクション講座 NyaRuRu Microsoft MVP Windows - DirectX(Jan 2004 - Dec 2007) 2007/02/13 ■.NET CLRのモニタリング方法 .NET CLRには、GCの動作を観察するためのさまざまな手段が提供されている。Windowsで動かすXNAゲームは、単なる.NETアプリケーションであるため、以前から知られているこれらの手法をそのまま適用することが可能だ(Xbox 360上で実行するXNAゲームのプロファイリング方法については、後ほどあらためて紹介する)。 まずは、.NET CLRにどのようなモニタリング方法があるか見ていくことにしよう。 ●簡単に状況を把握できるパフォーマンス・カウンタ ソース・コードに

    Kuromaku
    Kuromaku 2010/08/10
    .NET GC ガベージコレクション
  • @IT:ZigbeeとBluetooth、UWBをめぐる動き

    連載:IEEE無線規格を整理する(3) ~ワイヤレスネットワークの最新技術と将来展望~ ZigbeeとBluetooth、UWBをめぐる動き 千葉大学大学院  阪田史郎 2005/10/12 2.1 ZigBeeとその特徴 ZigBeeは、ホームオートメーション、ファクトリオートメーションへの応用を狙いとして、2001年以降IEEE 802.15.4において、標準化が進展した無線通信規格である。2003年には物理レイヤとMACレイヤが標準化されている。当初は赤外線によるリモコンを置き換える程度と考えられていたため注目度は高くなかったが、ユビキタスシステム実現への期待の盛り上がり、センサネットワークとしての利用可能性の高まりとともに、2004年初頭から急速に注目を集めるようになった。Bluetoothの約1/3の速度ながら、低価格、低消費電力、設置が容易というセンサネットワークの要求に合致し

    Kuromaku
    Kuromaku 2010/03/05
    Zigbee,IEEE 802.15.4
  • ジェネリック・クラスで変わるC#とVBのコレクション

    ジェネリックを使った新しいコレクション:Listジェネリック・クラス .NET Framework 2.0のクラス・ライブラリには、ジェネリックの仕組みを使ったリストである「Listジェネリック・クラス」が導入されています。このクラスは、新しいSystem.Collections.Generic名前空間に含まれています。 Listジェネリック・クラスは、 C#の場合: List<T>クラス VBの場合: List(Of T)クラス として表記されます。C#の場合の不等号(山カッコ)、VBの場合のOfキーワードや、クラス名なのにカッコを付ける書き方は、ジェネリックのためにそれぞれの言語で新しく導入された記述方法です。 そして、大文字の「T」は型パラメータ(タイプ・パラメータ)と呼ばれるもので、インスタンスの作成時には「T」の部分にリストの要素として扱いたい型を指定して記述します。 例えば、L

    ジェネリック・クラスで変わるC#とVBのコレクション
    Kuromaku
    Kuromaku 2009/07/27
    マネージ可変長配列.ジェネリック・クラス.ArrayListは古い.System::Collections::Generic::List
  • IIS検索エンジン最適化ツールキット(1/3) - @IT

    記事は、Microsoft社副社長であり、ASP.NETやSilverlightなどの開発チームを率いるScott Guthrie氏のブログを翻訳したものです。氏の許可を得て転載しています。 SEO(検索エンジン最適化)は、すべてのインターネットWebサイトを設計する際に考慮すべき重要な項目の1つです。かなり多くの割合のサイト・トラフィックが検索エンジンから誘導されており、優れたSEO技術はさらにそのサイトへのトラフィックを増加させます。 同様に、小さなミスがサイトのコンテンツの検索関連性に大きな影響を与え、来受け取るべきトラフィックを取り逃がす原因になります。このようなミスには、以下のようなものがあります。 同じコンテンツへ導くサイト上の複数のURL ページからのデッドリンク 適当に設定されたタイトル、説明、キーワード 大量のViewState 無効なタグなど これらの間違いは通

    Kuromaku
    Kuromaku 2009/06/12
    SEO(検索エンジン最適化),検索エンジンからの誘導,トラフィック増大
  • いまさら聞けない「Curl」入門(お菓子じゃない方)

    それにつけても、カールは“おやつ”だけじゃない 今回は、リッチクライアント技術の1つで、RIA実行環境であり、企業名であり、プログラミング言語でもある「Curl(カール)」について説明します。 企業向けのリッチクライアント技術として定評がありますが、最近は一般ユーザーでも手軽に楽しめる「Curl Apps Gallery」で、その特徴を生かした面白いアプリを多数公開しています(参考:Curlの無料投稿サイトでアプリをいろいろ試してみた~Webブラウザや俺YouTube番組表、3Dキューブも~)。 Curl Apps Galleryのアプリケーションの動かし方の前に、まず「Curlとは、何なのか?」から始めたいと思います。 マサチューセッツ工科大学生まれの「Curl」 1995年、米の国防総省(DARPA)が、将来のインターネット社会で標準となるリッチクライアント言語の研究のためにMIT(マ

    いまさら聞けない「Curl」入門(お菓子じゃない方)
    Kuromaku
    Kuromaku 2009/06/12
    Curl,Google SketchUp,言語
  • 特集 .NETネットワーク・プログラミング入門(2/4) - @IT

    Socketクラスは、低レベルなAPI仕様を実装しているため、細かな制御ができる一方、プログラムが煩雑になりがちである。.NET FrameworkではTCP上でソケット通信を簡単にプログラミングできるよう、Socketクラスをベースとした、TcpClientクラスとTcpListenerクラスが用意されている。通常は主にこれらのクラスを利用してネットワーク・アプリケーションの通信の基礎部分を作成していくことになる。 NetworkStreamクラスは、ネットワークを読み書きの対象とするストリームである。TcpClientクラスやTcpListenerクラスと組み合わせて使われることが多く、通信が確立した後のデータのやりとりに活躍する。ストリームについては、後ほどもう少し詳しく説明する。 2.2. TcpClientとTcpListenerの利用と通信イメージ TcpClientクラスとT

    Kuromaku
    Kuromaku 2009/04/28
    ソケット通信
  • 自分戦略研究室 ― @IT自分戦略研究所

    通信、電気、ガス、水道、鉄道など、「社会を支えるインフラ」の仕事をしているITエンジニアのキャリアについて。その技術が特殊であればあるほど、「つぶしが利かないのでは?」「他で通用するのか?」と未来に不安を感じていませんか?(2024年5月22日)

    Kuromaku
    Kuromaku 2009/04/16
    IT業界の開拓者たち
  • 【C++/CLI】Vista到来。既存C/C 資産の.NET化を始めよう! - @IT

    ●Win32スタティック・ライブラリ(C++クラス)の準備 先ほどのhello関数と同様、簡単なネイティブ・クラスを考えます。ここでは「counter」という名前のソリューションとプロジェクトを作成し、counterクラスをC++で実装します(以下の開発手順は先ほどとほぼ同じなので詳細は省略します)。 #ifndef COUNTER_H__ #define COUNTER_H__ class counter { private: int value_; public: counter(); void increment(); int value() const; }; #endif

    Kuromaku
    Kuromaku 2009/02/07
    CLI .NET でネイティブ型を扱う
  • バイト列を文字列に変換するには?

    連載目次 「TIPS:文字列をシフトJISとしてバイト列に変換するには?」では、Encodingクラス(System.Text名前空間)により、Unicode文字列をシフトJIS文字列へと変換し、それをバイト列(byte型データの配列)として取得した。Encodingクラスでは、これとは逆に、バイト列を、指定したエンコーディングでUnicode文字列へ変換することができる。これには、EncodingクラスのGetStringメソッドを使用する。 エンコーディングとしてシフトJISを使用する場合、つまりバイト列のデータをシフトJIS文字の文字コードの並びとして解釈する場合には、シフトJISをサポートするEncodingオブジェクトが必要になる。これは次のようにして取得する。

    バイト列を文字列に変換するには?
    Kuromaku
    Kuromaku 2008/09/18
    文字列処理.文字コードASCII
  • .NET TIPS デバッグ・メッセージをファイルに出力するには? - C# VB.NET VS.NET - @IT

    Debugクラス(System.Diagnostics名前空間)を使ってデバッグ・メッセージをファイルに出力するには、「TIPS:デバッグ・メッセージをコンソールに出力するには?」の最後にあるように、ファイルに対するストリームからTextWriterTraceListenerオブジェクト(リスナと呼ばれる)を生成し、DebugクラスのListenersプロパティに追加すればよい。しかし、出力先となるファイル名を指定するだけの、より簡単な方法も用意されている。 デフォルトのリスナであるDefaultTraceListenerオブジェクト Debugクラスでは、Listenersプロパティに登録されたリスナがデバッグ・メッセージを受け取り、それをファイルやイベント・ログなどに出力するわけだが、Listenersプロパティには最初から登録されているリスナが1つある(初期状態でDebug.List

    Kuromaku
    Kuromaku 2008/09/18
    Debug.WriteLine.デバッグ・メッセージをファイルに出力するには?
  • すべてのシリアル・ポートの名前を列挙するには?[2.0のみ、C#、VB] - @IT

    .NET Framework 2.0では、シリアル・ポートを取り扱うSerialPortクラス(System.IO.Ports名前空間)が追加されている。稿ではこのクラスを使って、現在のコンピュータが持つすべてのシリアル・ポートの名前(COM1、COM2など)を列挙する方法を説明する。 シリアル・ポート名を列挙するには、SerialPortクラスの次のメソッドを呼び出せばよい。 GetPortNamesメソッド このメソッドはパラメータを持たず、戻り値として文字列配列を返す。 次のコードは、実際にGetPortNamesメソッドを使ってシリアル・ポート名を列挙している例だ。 using System; using System.IO.Ports; class Program { static void Main(string[] args) { // すべてのシリアル・ポート名を取得する

    Kuromaku
    Kuromaku 2008/09/18
    存在するポート名の取得
  • https://atmarkit.itmedia.co.jp/fdotnet/dotnettips/373threadtimer/threadtimer.html

    Kuromaku
    Kuromaku 2008/09/18
    タイマにより一定時間間隔で処理を行うには?(スレッド・タイマ編)
  • .NET TIPS 文字列を連結するには? - C# - @IT

    複数の文字列を1つの文字列に連結するには、C#では「+演算子」(Visual Basic .NETでは「&演算子」)を使用する。 using System; class test { public static void Main() { string earth = "土と"; string wind  = "風と"; string ewf = earth + wind; Console.WriteLine(ewf); // 出力:土と風と string fire = "火と"; ewf += fire; Console.WriteLine(ewf); // 出力:土と風と火と } } 数値計算と同様に、文字列に対してもC#では「+=演算子」(Visual Basic .NETでは「&=演算子」)を使用することもできる。「ewf += fire;」は、「ewf = ewf + fire;

    Kuromaku
    Kuromaku 2008/09/18
    高速に文字列を連結するには?文字列処理StringBuilder
  • .NET TIPS AcceptButtonプロパティ設定時にテキストボックス内で改行を行うには? - Windowsフォーム - @IT

    「TIPS:特定のボタンのクリックを[Enter]キーや[ESC]キーで行うには?」で解説しているように、WindowsフォームのAcceptButtonプロパティに特定のボタンを指定しておくことで、[Enter]キーの入力により、そのボタンを実行することができる。 しかし、複数行形式(multilineプロパティをTrueに設定)のテキストボックス(あるいはリッチテキストボックス)をフォームで利用している場合には、このAcceptButtonプロパティの機能が優先されてしまって[Enter]キーのみではテキストボックスに改行が入力できない([Ctrl]+[Enter]あるいは[Ctrl]+[M]キーでは入力可能)。 AcceptsReturnプロパティ テキストボックスに[Enter]キーだけで改行を入力できるようにするには、テキストボックスのAcceptsReturnプロパティをTru

    Kuromaku
    Kuromaku 2008/09/18
    for猟奇.[Enter]キーのみで改行.AcceptButtonプロパティ設定時にテキストボックス内で改行を行うには?
  • .NET TIPS PictureBoxコントロール上に文字を表示するには?

    PictureBoxコントロール上に配置したLabelコントロールの背景が正しく透明にならないのは、Labelコントロールの親コントロールがフォームとなっているためである。 これは、Labelコントロールの親コントロールがフォームとなっているためだ。つまり、背景色をTransparentに設定した場合には、親コントロールに対して透明となるのである。この例の場合には、Labelコントロールの背景色は、フォームの背景色により描画されていることになる(これはフォームの背景色を変更すれば確認できる)。 Labelコントロールの背景をPictureBoxコントロールに対して透明にするには、Labelコントロールの親コントロールを、フォームではなくPictureBoxコントロールに設定すればよい。これはC#やVB.NETでは次のようなコードにより記述できる。 Label1.Parent = Pictu

    Kuromaku
    Kuromaku 2008/09/18
    PictureBoxコントロール上に文字を表示するには?
  • .NET TIPS スレッド・セーフなコレクション・オブジェクトを作成するには? - C# - @IT

    例えば、ArrayListオブジェクトの場合には、次のようにしてスレッド・セーフなコレクションを得ることができる。 ArrayList dangerousList = new ArrayList(); ArrayList safeList = ArrayList.Synchronized(dangerousList); この場合には、safeListオブジェクトに対するすべてのメソッドの呼び出しは同期を取りながら実行されるため、そのオブジェクトのロックは不要となる。 Synchronizedメソッドにより作成されるラッパー・オブジェクト Synchronizedメソッドが返すオブジェクトは、実際には各コレクション・クラスを継承したクラスのオブジェクトであり、そのクラスはコレクション・クラスのラッパー・クラスとなる。 例えばArrayListクラスの場合には、そのラッパー・クラスの名前は実際

    Kuromaku
    Kuromaku 2008/09/18
    array,list.スレッド・セーフなコレクション・オブジェクトを作成するには?
  • https://atmarkit.itmedia.co.jp/fdotnet/dotnettips/487csvparser/csvparser.html

    Kuromaku
    Kuromaku 2008/09/18
    CSVファイルを読み込むには?[2.0のみ、C#、VB]
  • @IT:.NET TIPS Win32 APIやDLL関数を呼び出すには? - C#

    Kuromaku
    Kuromaku 2008/09/18
    Win32 APIやDLL関数を呼び出すには?
  • @IT:連載:.NETマルチスレッド・プログラミング入門 第1回 マルチスレッドはこんなときに使う

    難解なマルチスレッド・プログラミングを基礎から解説。まずはその動作原理を理解し、活用すべき場面を見極める。 連載目次 シングルスレッドとマルチスレッド コンピュータのプログラムは、基的に1行ずつコードが実行されながら動作する。通常、分岐やループがあっても、プログラム全体は1つの流れになっている。このような一連のプログラムの流れを「スレッド」(Thread:「糸」などの意味)と呼び、1つのスレッドだけからなるプログラムを「シングルスレッドなプログラム」という。たいていのプログラミングでは1つの処理の流れを記述するが、このようなプログラムはシングルスレッドなプログラムに該当する。 一方、プログラムによっては、処理効率を上げるなどの目的で、複数の処理を並行して行うことができる。つまり、1つのプログラムで複数のスレッドを同時に実行することができるのである。このようなプログラムを「マルチスレッド・

    @IT:連載:.NETマルチスレッド・プログラミング入門 第1回 マルチスレッドはこんなときに使う
  • 「DIBからSystem.Drawing.Bitmapを作成」(2) Insider.NET - @IT

    IT 会議室 Indexリンク Windows Server Insider Insider.NET System Insider XML & SOA Linux Square Master of IP Network Java Solution Security & Trust Database Expert RFID+IC リッチクライアント & 帳票 Server & Storage Coding Edge @ITクラブ Cafe VB業務アプリケーション開発研究 @IT SpecialPR

    Kuromaku
    Kuromaku 2008/09/15
    DIB