第2回 簡潔なコーディングのために (2017/7/26) ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21) Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう 第1回 明瞭なコーディングのために (2017/7/19) C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える Presentation Translator (2017/7/18) Presentation TranslatorはPowerPoint用のアドイン。プレゼンテー
制約の真相:見た目と違う真実の姿 これまで、反復子ブロックを使った際のいくつかの制約について見てきたが、それらはすべて「反復子ブロックは普通のブロックではないから」と説明した。では、具体的にどう違うのだろうか? その疑問に答えるのは難しくない。 見掛け上の姿と真の姿の差は、逆コンパイラ・ツール「Reflector」を使うことで簡単に見ることができるからだ。 実際に、リスト2をデバッグ・ビルドした実行ファイルをReflector for .NETによりC#のソース・コードとして表示させた例を以下に示す。 まず、Rageクラス内に生成されている、元のソース・コードになかった「<GetEnumerator>d__0」というクラスのメンバ一覧(リスト10)を見てみよう。そこにはC# 1.x時代におなじみだったMoveNextメソッドやCurrentプロパティが生成されていることが分かると思う。 [
2006年8月14日~15日にシアトルで開催されたGamefest 2006にて「XNA Game Studio」が発表され、同月30日に「XNA Game Studio Expressベータ版」のダウンロードが開始された。 ちょうどこのころ日本国内のゲーム開発者向けイベントであるCEDEC 2006も開催されていたのだが、3日目に当たる9月1日のマイクロソフトによる基調講演では、さっそくXNAについて大きく取り上げられたことから、ニュース・サイトなどでXNAについてすでに目にされた方も多いのではなかろうか。 今後の本連載では.NETからのDirectX開発(具体的にはXNAを用いたDirectX開発)というテーマを取り扱っていくが、まず今回はこのXNAとはどのようなものかについて紹介し、.NETにおけるそのほかのグラフィックス・テクノロジと比較して、その使い分けの指針を提示する。 1.
情報処理推進機構(IPA)は5月26日、主催イベント「IPAX2009」で、学生とITプロフェッショナルの対談会を開催した。テーマは「今、IT業界の見える化を志向する」。IT業界が具体的に何をしているか、学生たちに見えにくいのではないかという問題意識のもと、討論が行われた。討論会は今回で4回目。 パネリストとして登壇したのは、日本アイ・ビー・エムの明石雅典氏、日立システムアンドサービスの石川拓夫氏、SAPジャパンの大岩康志氏、東京海上日動システムズの高木靖史氏、日本電気の高橋伸子氏、マイクロソフトの高橋秀樹氏の6人。これまでの討論会と異なり、パネリストは現場で働く人々だ。職種もITスペシャリストやコンサルティング営業、人事など幅広い。 学生は、九州大学、公立はこだて未来大学、静岡大学、筑波大学から各2名の大学院生が参加。インプレスビジネスメディアの田口潤氏がコーディネーターを務めた。 10
Windowsでは「"」「<」「>」「|」「:」「*」「?」「\」「/」といった文字や、文字コードが0~31番の文字などはファイル名として使えない。このため、ユーザーにより入力された文字列などをファイル名として用いる場合には、これらの文字を取り除いたり、別の文字に置き換えたりする必要がある。 .NET Framework 2.0のクラス・ライブラリでは、Windowsでファイル名に使用できない文字の一覧を取得するためのGetInvalidFileNameCharsメソッドがPathクラス(System.IO名前空間)に用意されている。このメソッドは文字の配列を返す静的メソッドである。 次のサンプル・プログラムはGetInvalidFileNameCharsメソッドを使用した例である。このプログラムのValidFileNameメソッドは、パラメータとして渡された文字列に含まれる無効な文字を「
Windows OS以前のMS-DOSシステムでは、フォルダやファイルの名前に8.3形式の短い名前(以降、短いパス)しか利用できなかった。現在のWindows OSでも、一部、8.3形式の短いパスの命名規則が用いられている個所(例えば、レジストリの値など)が存在する。そこで「TIPS:8.3形式の短いパスを長いパスに変換するには?」では、短いパスを、Windowsで使われる通常の長いパスに変換する方法を紹介した。本TIPSでは、その逆に、長いパスから短いパスに変換する方法を紹介する。 長い形式のパスを短い8.3形式のパスに変換する方法 長いパスを短いパスに変換する機能は、.NET Frameworkでは提供されていないので、Win32 APIを呼び出す必要がある。具体的には、kernel32.dllファイルのGetShortPathName関数を呼び出す。 GetShortPathName
Windows OSのtempフォルダとは? Windows環境ではさまざまな「環境変数」が定義され、使われている(Tech TIPS「OSの種類によってバッチファイルの処理を切り替える方法」参照)。その中でもよく使われるのは「TEMP」もしくは「TMP」環境変数ではないだろうか。アプリケーションが一時的な作業用のファイルを作成する場合、通常はこのTEMP環境変数の指し示す場所(以下「tempフォルダ」と呼ぶ)に作られるからだ。 tempフォルダに作成されたファイルは、アプリケーションの終了時には削除されることになっている。だが、実際にはプログラムが終了しても削除されずに残っていることがある(特にログファイルなど)。tempファイルは、既存のファイル名とは重複しないような名前で新規作成されることになっているため、システムの起動や終了などを繰り返していると、tempフォルダの中に多くの一時フ
今回のサンプル・プログラムについて 今回もサンプル・プログラムは、Visual Basic .NET(以下VB.NET)とC#で記述したものを用意した。VB.NETのサンプルを掲載するとともに、VB.NET、C#それぞれへのサンプルのリンクを張ってあるので、必要に応じてダウンロードしてほしい。開発環境としてはVisual Studio.NET 2003を使用することを前提にしている。 サンプル・プログラムはすべてWindowsアプリケーションとしてプロジェクトを作成後に、フォームのLoadイベントに実行するコードを書き込み、Trace.WriteLineメソッドで結果を出力する。結果の確認は、統合開発環境(IDE)の出力ウィンドウで行う。ただし、クラスだけはフォームのクラス外に別途記述する必要がある。それぞれのソースの先頭には、以下のコードが書かれているものとする。 オブジェクトの永続化
Windowsアプリケーションでは、時間のかかる処理(以下、重い処理)はアプリケーションのメインのスレッドとは別のスレッドで行わなければならない。これは重い処理がアプリケーションのユーザー・インターフェイス(UI)をフリーズさせてしまうからだ。 たとえユーザーがその処理の完了まで待つ必要があるとしても、その間にウィンドウの移動や最小化ができなければならないし、可能であれば処理の進ちょく状況をプログレス・バーなどで表示すべきである。 .NET Framework 2.0では、そのような処理を容易に実装するための「BackgroundWorkerコンポーネント」が新しく追加されている。これを使えばスレッドをほとんど意識することなく、重い処理を別スレッド(バックグラウンド)で実行させることができる。 本稿では、BackgroundWorkerコンポーネントを利用し、進ちょく状況を表示しながら、重
連載 .NET&Windows Vistaへ広がるDirectXの世界 第3回 .NET開発者のためのDirectX連携手法 NyaRuRu Microsoft MVP Windows - DirectX(Jan 2004 - Dec 2006) 2006/10/04 ■Windows Presentation Foundation(WPF) WPFの特徴は、次のようなものだ。 デザイン・ツールや豊富なサンプル、GUIコンポーネントなど、ウィンドウ・アプリケーション開発での生産性に重点が置かれている ハードウェア性能に応じて、最適な描画方法が内部的に使用される WPFがリアルタイム・アプリケーションに不向きかというとそういうことはなく、むしろWPFは時間変化のあるコンテンツを積極的に使っていこうという設計になっている。また、ムービーをテクスチャに貼り付けるといった、従来から不可能ではないが
最上位エディションのUltimateを初め、Business、Home Premium、Home Basicの各パッケージが置かれている。 さてさて、2007年はVistaの年となりました。(記事日付では)昨日1月30日のWindows Vista発売早々、さっそくインストールした方も少なくないことでしょう。すでに家電量販店には製品パッケージが大々的に陳列されています。最上位エディションであるVista Ultimateともなると5万円超、なかなか強気な価格設定です。 筆者は無線LANでインターネットにつないでいるのですが、まだドライバがVistaに対応してくれていないので本格稼働はしばらくお預け。対応アプリケーション&ドライバが増えてくればVistaの普及に拍車がかかるでしょうね。 ■Vista時代にC/C++はもはやお払い箱なのか? 16bit Windowsの時代からWindows
前編では、ネイティブ・コードとして記述したC/C++ライブラリをマネージ・コードであるC++/CLIでラップし(すなわち.NET化)、それをC#やVisual Basic(以下VB)などの.NET言語から呼び出す手順について解説しました。 この後を受けて、中編ではその応用としてVisual C++(以下VC++)による.NETアプリケーション構築の1つの戦術を紹介します。 ■C++/CLIによるWindowsフォーム・アプリケーション .NET FrameworkとVisual Studio-IDEの助けを借りて、VC++だけで.NETのWindowsフォーム・アプリケーションを組み上げることはもちろん可能です。ですが筆者はVC++のみでのWindowsフォーム・アプリケーション構築には少なからず疑問を感じています。 それについて議論するために、まずはVisual Studio 2005(
2009/01/29 iPhone向けにC#で書かれたゲームが40本以上存在する――。2009年1月7日付けのブログ投稿で、こんなにわかに信じられない現象を伝えるのは、メキシコ出身のオープンソース開発者、ミゲル・デ・イカザ(Miguel de Icaz)氏だ。iPhoneアプリケーションの開発といえば、アップルが提供するSDKに含まれるObjective-Cを使うか、Webブラウザ上でのみ動作するJavaScriptで実装するかのいずれかだった。 C#のような実行時にランタイム(.NET Framework)を必要とするプログラミング言語は、iPhoneでは使えない。なぜなら、任意のコードを実行できるランタイムを配布パッケージに含めることを、セキュリティ上の理由からアップルが禁じているからだ。 ではなぜ、C#アプリケーションが審査に通るのか? この背後には、オープンソースプロジェクト「Mo
「IT業界の未来」から「10年泥の真意」まで、学生と経営者の最後の討論会:IPA Forum 2008 情報処理推進機構(IPA)は10月28日、IPA Forum 2008で「学生と経営者の討論会」と題したパネルディスカッションを開催した。IPAによる同企画は2007年10月、2008年5月に続いて3回目。 学生側は、東海大学専門職大学院、東京工科大学、名古屋大学、早稲田大学、日本工学院八王子専門学校から各校2人ずつ、計10人が登壇した。経営者側は、パナソニック 常務役員 兼 オートモーティブシステムズ 社長の津賀一宏氏、伊藤忠テクノソリューションズ(CTC) 代表取締役社長の奥田陽一氏の2人がパネリストとして登壇。IPAから理事長の西垣浩司氏が参加し、司会をインプレスビジネスメディア 取締役の田口潤氏が行った。 学生と経営者の討論企画は今回が最後 田口氏は冒頭で、「今回でこの(学生と経
経済産業省のとある外郭団体の委員をしている方と話をしていたら「我が国のソフトウェア産業を改革するためには、ソフトウェアの部品化を推進しなければならない」と話していた。うーん……ソフトウェアの部品化かぁ……。正直、頭をよぎったのは1980年代後半に国内のソフトウェア部品の集積を目指して立ち上げられたが、失敗した「Σ(シグマ)プロジェクト」だ。 Σプロジェクトから20年の歳月を経て同じコンセプトが出現するには理由がある。日本の輸出を支えている製造業で、製品におけるソフトウェアの比重が高まるに伴って、業界全体がソフトウェア・エンジニアの不足および、ソフトウェア関連の障害の多発に悩まされているからである。 外注先企業が作ったソフトウェア障害に悩まされている製造業の視点から見れば「なぜ、ソフトウェアはこんなにトラブルが出るのか? 部品化して、それぞれの部品の品質チェックをもっと厳しくし、その上で再利
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く