\閉鎖予定のサイトも売れるかも?/ アクセスがないサイトもコンテンツ価値で売れる場合も… ドメインの有効期限を更新してサイト売却にトライしてみましょう
特集:UIオートメーションによる自動UIテストの実践 WindowsアプリのUIテストを自動化しよう クロノス 亀野 弘嗣 2008/06/03 読者の方々は、UI(ユーザー・インターフェイス)にかかわるテスト(以下UIテスト)を自動化できているだろうか? UIテストを自動化しようとしても、UIテストのコードは記述しにくく、記述方法に一貫性がない、などの理由から、自動化をあきらめる場合が多いのではないだろうか。 .NETの開発においても単体テストの自動化は一般的に行われるようになってきているものの、UIテストの自動化はそういった理由で実現が難しく、あまり行われていないのが現状だ。 そこで本稿では、標準的で一貫性のある記述ができるMicrosoft UIオートメーション(以下UIオートメーション。詳細後述)と、テスト・ツールであるNUnitを使用して、UIテストを自動化する方法を紹介する(N
Date 2006-06-03 Authors Christophe Lambrechts, Jonathan Slenders Content Introduction License Currently supported Get the source Compiling this library Preprocessor definition Integration in other projects Code examples Reading YAML from a file Reading YAML from a string Writing YAML to a file Writing YAML to a string Creating a YAML tree Traversing a YAML tree Description of our algorithms Levels
前回ではラムダ式について解説したが、実例があった方が分かりやすいと思うので、本文に先立って、最近実際に筆者が書いたラムダ式を使用したコードの事例を紹介しよう。 ラムダ式を使用した事例 それは、ゲームなどでよく使われる「フラグ」と呼ばれる機能のソース・コード体質改善(つまりはリファクタリング)を行う際に体験したことである。ここでいうフラグとは、文字列からなる名前とそれに関連付けられた整数の集まりである。 なお、以下に紹介するソース・コードは分かりやすさを優先して基本機能以外を除去し、若干の修正を加えていることをお断りしておく(つまり、実際にチェックインしたコードと同じではない)。 さて、単に文字列をキーに整数を保管するだけなら、誰でも思い付くとおり、以下のような実装でよい。 private static Dictionary<string, int> flags = new Dictiona
注意:ここで紹介している方法は、.NET Framework 2.0以降でのみ使用できます。.NET Framework 1.1以前でFTPサーバーにアクセスする方法は、「[HOWTO] Visual Basic .NET を使用してプラグ可能なプロトコルを記述し、マネージ クラスで FTP をサポートする方法」や「Visual Basic .NET または Visual Basic 2005 を使用して FTP サイトにアクセスする方法」などをご覧ください。 FTPサーバーからファイルをダウンロードするまずはRETRコマンドでFTPサーバーからファイルをダウンロードする方法を紹介します。 基本的には、「WebRequest、WebResponseクラスを使ってファイルをダウンロードし保存する」で紹介した方法と同じです。FtpWebRequestの場合、MethodプロパティにWebReq
更新情報 2008.9.14 ・新宿勉強会(9/13)関連資料・サンプルを公開しました。 →勉強会に参加しなかった方も是非覗いてみてください。 ・入門講座 第1回 はじめてのプログラム に説明用の動画を追加 (2008.9.6) ・初級講座 第2回 線を書く をやや修正 (2008.9.6) ブログ「放課後のVB中学校」 過去の更新情報... 交流
C#のイベント機能VBでイベント機能を利用するには、イベントを発生させるクラスでEventステートメントによりイベントを宣言し、RaiseEventステートメントによりイベントを発生させ、イベントを受信するクラスではWithEventsで変数を宣言することなどにより簡単に可能となる。これと同様のことをC#で行うにはどのようにすればよいのだろうか。 これがVBほど簡単にはいかない。ヘルプなどを調べると「デリゲート」やら「イベントハンドラ」などの「?」な言葉が並ぶ。ここではこれらの理屈は抜きにしてこれらを実現させる簡単な方法を考えてみる。 最も簡単な(?)イベントまず次のような超単純なクラス「SleepClass」を作ってみる。ここではまだイベントを使用していない。とりあえずStartメソッドを実行すると5秒間停止するだけである。
繰り返しという古くて新しい問題 本稿を書くに当たってあらためて考えてみると、プログラミングにおいて「繰り返し」とは古くて新しい問題であることが痛感される。 例えば、8bitワンボード・マイコンの全盛期、繰り返しはレジスタの値を1つずつ減らしてゼロになったら(ゼロ・フラグが立ったら)終わるという構造が多かった。ところが、最も人気のあった8080AやZ80といったCPUは、8bit単位でレジスタの値を1減らす命令(DCR/DEC)ではゼロ・フラグが変化したが、16bit単位でレジスタペアの値を1減らす命令(DCX/DEC)を実行してもゼロ・フラグが変化せず、ゼロ判定のために別途コードを書く面倒が必要だった。かといって、ライバルのモトローラ6800などでは、条件付きジャンプは8bit範囲の相対アドレスでしか飛べなかったので、ちょっとコードを書き足すとループの最初に戻れなくなってアセンブル・エラー
C# 3.0とは何か? C#も順調にバージョンアップを重ね、ついに「3.0」である。連載を開始するに当たり、前置きとしてこの連載で扱うC# 3.0とは何かを簡単に紹介しておこう。 C# 3.0は、動的かつタイプセーフなオブジェクト指向プログラミング言語である。「動的」とは、実行するまで内容が確定しない要素が多いことを意味し、「タイプセーフ」とは、あらゆるデータに「型」が存在し、コンパイル時、あるいは実行時にそれが厳格にチェックされることを意味する。そして「オブジェクト指向プログラミング言語」とは、データとプログラムの入れ物である「オブジェクト」を前提とした言語であることを示す。 しかし、これらの特徴はC# 2.0から継承されたものであって、必ずしもC# 3.0固有のものではない。C# 3.0ならではの特徴とは何だろう? 筆者の個人的な印象だが、C# 3.0は言語が持つ個々の機能について技術
ついに対応の検討をはじめました! delegate、event、property など、難題はいろいろあるのですが、これをどう、JUDEらしく実現するか、がデザインの肝だと思っています。 私は、UMLの言語プロファイルを使って実現する、という方向でない、もっと自然なやりかたがいいのではないかと思っています。クラス図を描いても、そこに<<C#Language>>ステレオタイプとかあまり見えて欲しくない。言語特化したくないデザインもある。しかし、言語特化したいデザインがあると思うし。。。 と悩みはつきないのでした。要望のある方、ぜひこちらまで。 http://jude-users.com/ja/modules/weblog/details.php?blog_id=183
なんかいまいちSpring.NETの認知度というか使用率が低いみたいなので、ここらで一度Spring.NETを知ってもらうために入門的なエントリでも書いてみることにする。 普段当たり前のように使っているので、今一度何故使うのかという事を考えてみたいというのもある。 Spring.NETって? Spring.NETはIoC (Inversion of Control)*1と呼ばれる設計パターンを.NETで実現するためのフレームワークです。 最近ではDI (Dependency Injection)*2 コンテナと呼ばれていたりもします。 何ができるの? オブジェクトのインスタンス化やSingleton、Prototypeインスタンスの切り替え、オブジェクト同士の関連付けなどをXMLベースの設定ファイルで定義し、使う側はDIコンテナに対してオブジェクトを要求するだけで必要な処理を全て施したオブ
特にUIを持たずWindowsのバックグラウンドで動作する「Windowsサービス」。この特集では、実践的な開発手法レクチャーとして、.NETアプリケーションにモニタリング機能を提供するWindowsサービス作成方法を解説していく。 Visual Studio Magazine誌は、米国でVS専門誌ナンバーワンの発行部数を誇る。ITmediaでは、発行元FTP Onlineから翻訳権を取得。米国発でホットな話題をピックアップし、月に2つの特集を定期掲載している。 今回は、.NET Framework上でも基本として取り上げられることの多いWindowsサービスの作成方法についてだ。レガシーなものとして軽視しがちだが、実例サンプルを挙げてより具体的な手法を解説していく。 取り上げるテクノロジー::VB.NET 従来、C++やMFCプログラマの領域であった「Windowsサービス」は、現在、.
ポイント Visual Studio 2005 は 2005 年内ぎりぎりに RTM を迎えた (店頭販売は 2006 年). Windows Vista のリリースは .NET Framework 3.0 (WPF/WCF/WF) のリリースでもあった.このタイミングで Visual Studio のメジャーアップデートは行われず,以下の 3 つのアップデートが行われた. Visual Studio 2005 SP1 によるバグ修正 Vista環境で Visual Studio 2005 を使用するためのパッチ集 .NET 3.0 の開発支援アドイン Visual Studio 2005 Extensions for WCF, WPF (正式サポートではなく Community Technology Preview; CTP 扱い) Visual Studio 2005 Extensio
個人的に,C# 3.0 になってから使用率が跳ね上がったメソッド――String.Join.LINQ 由来の Extension Method に混ざるから余計目立つのかも. Extension Method 版を作るとしたらこんな感じ? public static class StrUtil { public static string Join(this string[] source, string separator) { if (source == null) throw new ArgumentNullException("source"); return string.Join(separator, source); } public static string Join(this IEnumerable<string> source, string separator) {
とりあえず、わかっていることをまとめます。 起動時のシーケンスで複数のアセンブリを経由してデフォルトの処理を行っている。やっぱりこれが原因で遅そうだ。MSのドキュメントにもワーキングサイズを小さくするには、アセンブリの数を減らすように書いているがその通りである。ためしに、以下のようなプログラムをWidowsFormで書いてみた。 ・アプリケーションA 自作のFormクラスの中に、"555"という文字列を返すメソッド(GetString)を実装。 スタートボタンが押されたタイミングでメソッドを実行。 メソッドの実行にかかった時間を計測して表示。 ・アプリケーションB 自作のFormクラスの中から、別のアセンブリ(ChildAssembly1とします)の中のChild1にあ る文字列取得メソッド(GetString)を呼び出します。Child1のGetStringは別のアセンブリ (Child
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く