今回から数回にわたり、Windows Vistaリリースのタイミングで登場する新しいコミュニケーション基盤技術「Windows Communication Foundation」(以降、WCF。以前はIndigoというコードネームで呼ばれていた)に関して、その登場の背景から、主要概念、プログラミング、既存資産の移行などなどを順にご紹介する。 そもそもマイクロソフトはなぜ新しい通信インフラ技術を提供することになったのか、そこにはどんな狙いがあるのか、さらにはそのテクノロジを採用するメリットは何なのか、また既存の分散アプリケーション・テクノロジからの移行性や相互運用性はどうなっているのか、などWCFに対してはいろいろな疑問を持たれている方が少なくないはずだ。当記事を読み進める中でそういった当初遭遇するさまざまな疑問を解消し、WCFをより知っていただくためのきっかけとなれば幸いである。 なお、こ
多くのWindowsアプリケーションは、次の画面のように、独立したウィンドウとして複数起動して利用できる。 しかし、Windowsアプリケーションを1度に1つしか起動されたくない場合もあるだろう。例えばアプリケーションを複数起動されると、処理が競合して不整合が発生するような場合だ。このようなケースには、ミューテックス(Mutex:MUTual EXclusion の略で「相互排除」という意味)と呼ばれる機能を利用して、アプリケーションの多重起動を禁止することができる。 ミューテックスとは? 「ミューテックスの機能」とは、複数のスレッドが共有リソースに同時アクセスする場合に、たった1つのスレッドのみが排他的にアクセスできるようにして、スレッドを同期化するための機能である。 ミューテックスは、最初の1つのスレッドがミューテックスを取得すると、2番目以降のミューテックスを取得しようとするすべての
プログラミング言語処理系の実装 Ajaxなどによりスクリプト言語のJavaScriptの良さが見直されたり、Railsの出現によりプログラミング言語Rubyへの注目度が高まったりしています。これだけプログラミング言語が注目されるようになってくると、独自のプログラミング言語を作成したいと考える開発者も増えてきていることかと思います。 コンパイラ作成を勧める3つの理由 Javaなどのプログラミング言語を使えるようになって、自分が作りたいプログラムを自由に作成できるようになってくると、既存のソフトウェアでも簡単なものを自作してみたくなるものです。せっかくプログラムを組めるようになったのですから、いろいろと自分で作ってみたいと思うのは当然です。中でも、プログラミング言語処理系は一度は作成してみたいと思うでしょう。 一般のコンピュータ利用者と違って、開発者は日ごろからコンパイラやインタプリタを使って
今回のテーマはデータベースエンジニアの必須知識の1つである「正規化」です。正規化は、リレーショナル・データベースのテーブル設計を行ううえで非常に重要なテクニックであり、データベースを設計、実装したことのある方なら一度は正規化に触れているのではないでしょうか。 それほど基本的な知識であるにもかかわらず、正規化を説明できる人はなかなかいません。多く聞かれるのが「何となくテーブルを作ると自然に第3正規形になる」とか「実務上は第3正規化まで行えば問題ない」というものです。 ではなぜ「第3正規化まで行えば問題ない」のでしょうか。本稿ではひととおり正規化について確認しながら、あまり触れられることのない第3正規化より先の正規化を紹介して、この疑問に答えていきたいと思います。 正規化の位置付け 正規化は、データベース設計全般にかかわる基礎知識ですが、特に論理データモデリングの作業の中で必要になります。本稿
本コーナーは、.NET関連の新刊書籍から主要なチャプターをそのまま転載し、その内容を紹介するものです。 今回は、日経BPソフトプレス/マイクロソフトプレスより2005年3月28日に発行の書籍『Code Complete 第2版 上 ― 完全なプログラミングを目指して』より、同社の許可を得てその内容を転載しています。 同書は、11年前に出版された名著「Code Complete」の第2版です。第2版では、全体をとおしてオブジェクト指向の考え方が反映され、リファクタリングの章なども追加されています。また、開発言語としてC#やVisual Basic .NETも取り上げられています。“完全な”コーディングのための鉄則を凝縮した本書は、開発者ならば必読といえるでしょう。 本記事では「第6章 クラスの作成」の前半部分を転載しています。クラスを記述しようとすると、どちらの実装がより美しいのだろうかとい
対象ソフトウェア:Windows Vista/Windows 7/Windows 8/Windows 8.1/Windows 10、Windows Server 2008/Windows Server 2008 R2/Windows Server 2012/Windows Server 2012 R2/Windows Server 2016、.NET Framework 1.0/1.1/2.0/3.0/3.5/4/4.5/4.5.1/4.5.2/4.6/4.6.1/4.6.1/4.7/4.7.1 .NET Framework対応アプリケーション(.NETアプリケーション)を利用するには、対象コンピュータに.NET Frameworkを展開(インストール)する必要がある。 この展開作業における厄介な問題の一つは、.NET Frameworkに何種類ものバージョンがあって混乱しやすいことだ。展
Windowsフォームで使用するボタン(System.Windows.Forms名前空間のButtonクラス)には、ボタンの背景に表示されるイメージを設定するためのImageプロパティが用意されている。 このImageプロパティに、グラデーションで塗りつぶしたビットマップを設定することにより、次の画面のようなグラデーションのかかったボタンを簡単に作成することができる。 グラデーションで塗りつぶしたビットマップを作成するには、まずBitmapクラス(System.Drawing名前空間)のオブジェクトを作成して、そのGraphicsオブジェクトを取得し、それをグラデーション・ブラシであるLinearGradientBrushクラス(System.Drawing.Drawing2D名前空間)のオブジェクトを使って塗りつぶす。 次のコードでは、フォームのLoadイベント・ハンドラでこの処理を行っ
目的を持ってAjaxを使うためにjQueryの文法を知ろう:jQueryで学ぶ簡単で効果的なAjaxの使い方(2)(1/3 ページ) いま話題の「jQuery」を使って、目的を持ったAjax開発の効率化や使いどころ・注意点などについてサンプルを見ながら解説していきます。Webデザイナ/プロデューサーも必見! 連載第1回の「Aptanaで始めるJavaScriptライブラリ『jQuery』超入門」では、Ajaxを使うためのJavaScriptライブラリとしてjQueryの使い方を紹介しました。実際にAjaxを使ったシステムを作るときに、Ajaxを使うことが目的になってしまっている場合があります。残念ながら、このようなプロジェクトは失敗することの方が多いのが現実です。本来の目的というものは、Ajaxを使ったシステムによる業務の効率化であったり、ユーザビリティの改善によるリピータの確保であったり
Ajax推進委員会 監修:ゼロベース 2005/8/2 2005年2月半ばから、「Ajax」という言葉がアルファギークたちの間で一気に広まった。「Webインターフェイスの新しい手法」「画期的なWebアプリケーションの仕組み」であるとして開発者たちの人気を集めるAjaxとは何なのか、その真実を見極めてみよう。 Ajaxとは「Asynchronous JavaScript and XML」の略で、Webブラウザでの表示部分を含めたWebアプリケーションの作り方を指す名前だ。具体的にはXML形式のデータをJavaScriptで処理することで、ブラウザのHTTPによるページ遷移とは非同期にサーバとやりとりして「動的に」ページ内容を変更する仕組みを指す。 Ajaxを実現する詳細なコード例は後述するとして、まずはAjaxが実現するWebアプリケーションがどのような動作をするのか、既存のWebアプリケー
Webクエリの機能を利用することで、インターネットで公開されている最新の情報をリアルタイムにExcel上に反映することができる。 インターネットで公開されている情報を再利用しようとしたとき、皆さんはどのような方法を採っているだろう。静的なHTMLファイルとして保存しているかもしれない。あるいは、地道に転記しているかもしれない。しかし、一覧表のようなデータについては、Excelのような表計算ソフトに貼り付けた方が再利用性も増し、情報としての価値もあがる。 ただ、いちいちWebの該当ページにアクセスして、該当する表のデータを貼り付けるというのはいかにもスマートではないし、なによりも、対象の情報が増えればその手間はばかにならないだろう。そこで、本サンプルではExcelに用意されている「Webクエリ」という機能を利用することで、Web上のデータとExcel上の表を同期し、常にリアルタイムな情報収集
VSホスト・プロセス(*.vshost.exe)とは何か?[VS 2005のみ、C#、VB]:.NET TIPS 連載目次 Visual Studio 2005(以降、VS 2005)で、C#やVB(Visual Basic)の新規プロジェクトを作成すると、その出力フォルダ(具体的には「bin\Debug」フォルダと「bin\Release」フォルダ)内に「<アセンブリ名>.vshost.exe」(以降、「*.vshost.exe」と表記)というファイルが自動的に生成される。 例えば、「WindowsApplication1」というアセンブリ名のWindowsアプリケーションを作成する場合、(「WindowsApplication1.exe」というアセンブリ・ファイルのほかに)「WindowsApplication1.vshost.exe」というファイルが自動生成される。これは従来のVis
【本稿の読者ターゲット】 ・.NETを使った業務システムの開発者 ・その開発者の中で特に、どのようなフレームワークを構築すればよいのかを検討する方 ■.NETでの業務システム開発でオープンソース・フレームワークって必要? 近年、大規模業務システム開発では、オープンソースのアプリケーション・フレームワーク(以下、単に「フレームワーク」と略記)を導入することが一般的になってきています。 しかし、.NET開発者の皆さんはフレームワークを使った業務システム開発と聞くと、Javaの話と考えることが多いのではないでしょうか? Javaによる業務システム開発では、StrutsやSpringというほぼ業界スタンダードといってもよいWebアプリケーション向けのフレームワークを使って開発を進めることが多くあります。さらに開発プロジェクトによっては、これらのフレームワークを拡張したり機能追加したりして、その業務
Windowsアプリケーション(やコンソール・アプリケーション)自体の設定に関する情報(以降、アプリケーション設定)は、.NETでは通常、アプリケーション構成ファイル(「<プログラム名>.exe.config」という名前のXMLファイル)で管理する。この仕組みを利用して、プログラムで扱う設定情報をハード・コーディングせずに外部データで管理しておけば、プログラムをビルドした後からでも(その外部データであるXMLファイルを書き換えるだけで)容易にプログラムの挙動を変更できる。 このプログラム自体の(固定的な)設定情報を外部データ化する手法は、1つのプログラムの挙動を利用環境や利用ケースに合わせて変化させたいときなどで役立つ。例えばあるプログラムにデモ版と製品版の2つのエディションがあり、それぞれのエディションごとにWindowsフォーム上のタイトル文字列を切り替えたいような場合、(プログラム自
Windows Server 2003 Service Pack 1(以下「Windows Server 2003 SP1」)では、新たに「セキュリティの構成ウィザード」(Security Configuration Wizard 、以下SCW)が用意され、システムのセキュリティにかかわる設定や構成の変更を容易に行えるようになった。本稿では、このSCWについて解説する。 セキュリティの構成ウィザードとは SCWは、Windows Server 2003 SP1のセキュリティ設定を簡単に済ませるために用意されたツールである。従来のWindows Server OSでは、システムで動作しているサービスや各種のサーバ・アプリケーションに応じて、管理者が独自にセキュリティ設定やサービスの起動設定、アクセス権の設定、ファイアウォールの設定などを行う必要があった。だがこれらの設定作業は非常に複雑であり
いきなりだが、2001年はDNS(Domain Name System)にとっては、当たり年ともいえる年だった。ニュースなどでも取り上げられているが、「日本語」や「多言語」ドメインという大きな構造変化がシステム全体に押し寄せ、ブロードバンド環境の広がりは、個人がドメインを取得して運用するための足掛かりともなった。 本連載では、ドメインの運用など、これからDNSと付き合おうとしている方々を対象に「DNSの概念や運用の考え方」を明らかにしていこう。ただし「BIND」など、DNSに関する具体的な製品の設定方法については触れない。詳しくは以下の記事もぜひ参考にしてほしい。 DNSはなぜ必要か? 最初に、「DNSとは何か」を説明するために、「なぜDNSが必要になるのか」を考えてみよう。それには、歴史的経緯から考えるのが分かりやすい。 DNSはご承知のとおり、IPアドレスとホスト名をマッピングして相互
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く