Facebook や Twitter で紹介した、開発に役に立ちそうなリンク集(2014年 10~11月編)

Facebook や Twitter(@osamum_MS) でシェアした開発に役立ちそうなリンクなどを、せっかくだかに毎月まとめていこう、と思ったものの、暇がなくて二か月まとめての投稿です。 前回作ってみたら、個人的には意外なほど役に立ちました。昨今は覚えきれないほどの情報に接しているので、こういうの作っておくといいかもしれません。 リンク先はさまざまにサイトにわたるので、時間の経過とともにリンク切れになるかもしれませんが、何卒ご了承くださいませ。   Internet Explorer 関連 Internet Explorer and the Windows 10 Technical Preview http://blogs.msdn.com/b/ie/archive/2014/10/01/internet-explorer-and-the-windows-10-technical-preview.aspx Windows10 Technical PreviewにおけるInternetExporerの記事が投稿されておりますよ。 バージョン別セキュリティ既定値一覧表 http://msdn.microsoft.com/ja-jp/ie/cc844005#tbl2_ie9ie10 InternetExplorer のバージョン別セキュリティ既定値一覧表。 社内システムが利用しているIEをバージョンアップした場合、強化されたセキュリティ設定によって使用できていた機能が動かなくことがあるので、これを見て確認。 Dev Feedback on Windows Platform Development https://wpdev.uservoice.com/forums/257854-internet-explorer-platform Internet Explorer 専用の Feedback ページができましたよ。 「こんな機能つけてよ~」っていう要望も可。 Web 開発者の皆様からの建設的なご意見をお待ちしております Enterprise Site Discovery Toolkit for IE11 を発表 http://blogs.msdn.com/b/ie_ja/archive/2014/10/29/announcing-the-enterprise-site-discovery-toolkit-for-ie11.aspx IEブログ(本家)にInternetExplorer11の新しい機能が発表されてる! Making it easier for…

0

[IIS]画像のフォーマットとサイズを変換して返すサービス

久しぶりに IIS についての記事を書きます。 先日、上司と話しをしていたら、Windows ストア アプリを作ってくださっているパートナーさんが、「IIS には画像のフォーマットやサイズを変換してくれるサービスがないのでわざわざ別のサーバーを立てている」との話を聞きました。 .NET の Bitmap クラスを使用したことがある人であればご存知の通り、画像のフォーマットの変換もサイズの変更も Bitmap クラスを使用すれは簡単に実現することができます。 IIS は .NET Framework で動作する ASP.NET のアプリケーションサーバーの機能を持っているので、その機能を組み込むことなどはわけはありません。 それこそ、鼻をほじりながらでも可能です。 ということで、今回は、私が実際に鼻をほじりながら(少しだけですが)作った、画像を変換するサービスのサンプルを紹介します。   IIS 7.x で画像のフォーマットとサイズを変換して返すサービスを作成する 今回の画像変換サービスを作成するにあたり、仕様は以下としました。 仕様 渡された URL の画像を取得し、加工した画像をレスポンスする パラメーターは元となる画像の 「URL」 と、変換する「画像フォーマット」、変換後の「幅」と「高さ」 幅、高さいずれかのパラメーターがない場合は画像のフォーマット変換のみ行う フォーマットが指定されていない場合は処理を行わない エラーの際にはなにもレスポンスを返さない (画像は抜けた状態となる) 開発は Visual Studio 2010、もしくは 2012 で行います。 プロジェクトは、シンプルにしたいので [Web サイト] で行い、ページを返す必要はないのでジェネリックハンドラを使用します。 具体的な手順は以下の通りです。 手順 Visual Studio を起動   メニュー…

0

WebMatrix プロジェクトへの Umbraco インストール

前々回からの流れを引き継いで、今回も WebMatrix に OSS アプリケーションをインストールします。 今回インストールするのは、Umbraco です。 Umbraco、日本語だといまいちきちんとした呼び方が想像つかないのですが、英語圏の人たちは “あんぶれぃくぉぅ” と呼んでいるそうです。 ちなみに我々のチームでは、日本人らしく “うんぶらこ” と呼んでいますが、誰しもが自信を持って発音しているわけではありませんのであしからず。 余談が長くなりましたが Umbraco について簡単に紹介しておきましょう。   Umbraco とは? Umbraco は CMS を構築するための ASP.NET ベースのフレームワークで、フリーの OSS として提供されています。 日本ではちっとも知られていませんが、ヨーロッパでは非常に人気が高く、様々な企業サイトも採用しています。 たとえば、マイクロソフトの http://asp.net もそうですし、MSDN や TechNet も、その一部に順次採用していく予定となっています。 Umbraco についてのさらに詳しい情報については以下の提供元サイトをご参照ください。 Umbraco – The open source ASP.NET CMS http://umbraco.org/   WebMatrix プロジェクトへの Umbraco のセットアップ WebMatrix で Umbraco を使用したアプリケーション開発を行うには、WebMatrix の Web…

1

WebMatrix を使用した Orchard のカスタマイズ

WebMatrix がリリースされたということもあり、前回に引き続き WebMatrix の記事です。 今回は、WebMatrix のプロジェクトに Orchard をインストールしちゃいますよ。 その前に Orchard について簡単に紹介させていただきましょう。   Orchard とは? Orchard は ASP.NET プラットホームでアプリケーションと再利用可能なコンポーネントを提供することを目的した無償のオープンソースプロジェクトです。( 簡単にいうと WordPress みたいなことができます。 ) Orchard についてのより詳細な情報については、以下のコミュニティのサイトをご参照ください。 Orchard Project http://www.orchardproject.net/   WebMatrix プロジェクトへの Orchard のセットアップ WebMatrix で Orchard を使用したアプリケーション開発を行うには、WebMatrix の Web ギャラリー を使用して作業対象となる Web サイトに Orchard をインストールします。 具体的な手順は以下の通りです。 WebMatrix を起動すると、Web サイトを作成する方法についての選択画面が表示されるので、[ Web ギャラリーからサイトを作成する ] ボタンをクリックします。 Web ギャラリーからインストール可能な OSS…

0

WebMatrix を使用した DotNetNuke アプリケーションの作成

WebMatrix がリリースされたということもあり、なにか WebMatrix に関する記事を…、ということで、今回は、WebMatrix のプロジェクトに DotNetNuke をセットアップする手順について紹介します。   DotNetNuke とは? DotNetNuke は、Web サイトや Web アプリケーションを構築するために広く採用されているオープンソースのプラットフォームであり、.NET ベースとしたコンテンツ管理システムを提供します。 日本にもコミュニティがありますので、詳しくはこちらをご覧ください。 DOTNETNUKE.jp http://dotnetnuke.jp/   WebMatrix プロジェクトへの DotNetNuke のセットアップ WebMatrix で DotNetNuke を使用したアプリケーション開発を行うには、WebMatrix の Web ギャラリー を使用して作業対象となる Web サイトに DotNetNuke をインストールします。 具体的な手順は以下の通りです。 WebMatrix を起動すると、Web サイトを作成する方法についての選択画面が表示されるので、[ Web ギャラリーからサイトを作成する ] ボタンをクリックします。 Web ギャラリーからインストール可能な OSS アプリケーションの一覧が表示されるので、[ DotNetNuke Community ] アイコンをクリックして [次へ] ボタンをクリックします。 このとき必ずサイト名を半角英数のスペースを含まないものに変更してください。…

0

NLB 環境における IIS7.x の共有構成について

IIS7.x の共有設定について先日のブログの記事で、ネットワーク負荷分散の方法として Windows Server 2008 の ネットワーク負荷分散 ( NLB ) 機能のリンクを紹介したのですが、肝心の IIS の共有設定について紹介しておりませんでしたので、取り急ぎリンクを掲載させていただきます。 TechNet – 『共有構成』 http://technet.microsoft.com/ja-jp/library/ff454006.aspx さて、上に紹介した IIS の共有設定の内容についてなのですが、これらについて検証、作業する場合は、必ず C:\windows\system32\inetsrv\config 以下の全ての *.config ファイルのバックアップコピーを取得しておいてください。 実は私、このドキュメントの翻訳監修作業中に設定を誤り、IIS が二度と起動しくなるという事態に陥ったことがあるのです。 しかも通常であれば、IIS のみを入れなおせば、正常に戻るはずですが、このときは、IIS を役割から削除し、残った設定ファイル類を手動で削除しても元にもどすことはできず、結局 OS を入れなおす ( というか、バックアップしてあった vhd に戻す ) という手順が必要になりました。   おまけ : 共有構成における ASP.NET アプリケーション配置の注意点 NLB を使用して、リクエストを複数の Web サーバーに負荷を分散させた場合、コンテンツのメンテナンスの工数を削減するためにコンテンツをネットワーク共有上に配置するという方法がとられることも多いと思います。 この方法、HTML や jpeg といった静的なファイルに関してはさほど問題にはなりませんが、ASP.NET アプリケーションについてはその仕組み上、あまりお薦めできません。 なぜなら .NET アプリケーションでは、マネージド…

0

About Cassini.

みなさんは “Cassini” ( カッシーニ ) をご存じでしょうか? 正式デビュー後は “ASP.NET 開発 サーバー” と呼ばれています。 Visual Studio で ASP.NET プロジェクトを実行したときに、画面の右下にひっそりと表示される、そう、まるで路傍にひっそりと咲く花のような "それ" です。 図 : "ASP.NET 開発サーバー" こと Cassini が実行されたところ Cassini は、IIS がない環境でも ASP.NET の開発が行えるよう、 Visual Studio に搭載されている簡易的な Web サーバーです。 これにより、IIS が付属していない Windows のエディションを使用しているユーザーや、なんからの事情で IIS をインストール、使用できないユーザーであっても ASP.NET アプリケーションの開発を行うことができるのです。 登場以来、今も多くの ASP.NET 開発者のコードを実行し、支えてきた Cassini でしたが 先日発表された IIS Express の登場により、近い将来歴史の表舞台から姿を消すことになりました。 今回は、今まさに押し寄せる時代の波間に消え去ろうとしている “ASP.NET 開発サーバー”…

0

IIS 7 版 mod_info 的なものをサービスとして使用するツール

先日のブログで、IIS 7 用の Apache における mod_info、mod_status 的なモジュール (ハンドラー) について書きました。 先日のブログにも書いたとおり、このモジュールは HTTP リクエストを受けると、その時点のサーバーのリソース使用状況の情報を返し、クライアントが Web ブラウザであれば、その情報を目視することができます。 しかし、実際に送られてくるデータは HTML ではなく XML であり、かつ、SOAP や JSON でもデータを返せるので、アプリケーションはこれをサービスとして使用することができます。 言ってみれば、羊の皮を被った娘、ちがった、狼的な仕様となっているわけですが、そんな 便利な機能もそれを使うクライアントが無くてはただの Web ページと変わりません。 そこで今回は、このモジュールが出力する XML を受け取って表示を行うアプリケーションの作成方法について書きたいと思います。 ステップとしてはこんなとこでしょう。 1. Web サーバーにリクエストを出し、レスポンスを取得する 2. XML を処理する ここからは上記 2 点についての具体的な簡単なコードをご紹介しましょう。あ、.NET で言語は C# ですよ。   Web サーバーにリクエストを出してレスポンスを受け取るには? じつは、いちいち項目を上げるほどでもなく簡単な記述で可能です。 具体的には以下のように記述します。 //リクエストのインスタンスを生成 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(http://mySweetWebServer/iisreswatch/iis.info); //クレデンシャルを指定 request.Credentials =…

0

IIS7 の機能を拡張してみる-指定した言葉の出力禁止

IIS7 は ASP.NET とのパイプライン (リクエストを受けてからレスポンスを返すまでの処理) の統合により、パイプラインにかかわる処理を .NET のマネージコードで記述することができます。 リクエストのハンドリング方法については、既に機能を紹介していますので、今回はレスポンスはハンドリングし、その中のコンテンツを書き換える方法について紹介させていただきます。 この "コンテンツの内容を書き換える = 出力を行う" という処理は本来ハンドラで行う処理ですが、今回はモジュールを使用したものを紹介します。 そのため紹介さていただきますサンプルコードは、既にハンドラが設定されているページ、つまりは、*.aspx や *.php 等の、サーバーサイドで何らかの処理を行うページでしか動作しません。 それなのに、なぜあえてモジュールとして実装したかというと、ええ、….じつは私の勘違いでモジュールとして作ってしまったからです、はい(恥) 以前、php アプリケーション内のリンクを、フレンドリな短い URL に書き換えるというモジュールを作成したこともあり、"ASP.NET 以外のページでも動作 = 静的なファイルでも動作" と短絡的に考えていたのですが、今回モジュールを作り終えてテストしたところ、静的なファイルでは動作しないこと&理由が判明したしだいです。(すみません)   今回のサンプルの機能 のっけから非常に残念な感じの今回のサンプルなのですが、どういった機能を実装したかというと、レスポンス内のコンテンツから任意の言葉を伏字にするという機能です。 この機能を使用すると、任意に指定したワード (言葉) がコンテンツに含まれていた場合、代替えのキャラクタで置き換えてくれるため、サイトの訪問者の目に触れさせたくない言葉をブロックすることができます。 人によっては "そんな機能が本当に必要か? 必要なのか??" と考えられるかもしれません。 しかしどうでしょう、 たとえば、取引先の社の Web サイトを覗いたときに、そのコンテンツ内に公序良俗に反する言葉や、差別用語や、社会通念上許されざる言葉が平然と使用されていたとしたら、今後その会社と深いリレーションを築きたいと思うでしょうか? また、いくら仲の良い友人からのメールであっても、幼児の三大爆笑ワードである "ば〇、う〇こ、ちん〇ん" といったような、下品な言葉が毎回多用されていたりしたら、その人の品性と精神的健康状態について強い疑問を持たざるを得ないでしょう。 さらに"言葉" には、理解した瞬間に著しく相手の気分を害するものもあります。しかもそれは、人間の肉体に備わった機能ではブロックすることはできません。 たとえば、今、このドキュメントをお読みいただいているわけですが、ご自身の肉眼に実際に写っているものは、じつは "文字" でも "言葉" でなく、モニタ上に並んだ映像素子の点滅でしかありません。 モニタに表示された光のパターンを脳が文字と認識し、文字の並びから文としての解釈が行われ、私の言葉が"再生" (処理が実行) されているのです。 この一連の処理は、人間の読解における基本的な処理ですが、基本的であるがゆえにその一連の処理は無条件に実行され、解釈される内容の良し悪しにかかわらず、その実行は防ぎようがないのです。…

0

IIS7 の機能を拡張してみる-レスポンスヘッダー内のサーバー名の改ざん

Web サーバーが返す HTTP レスポンス内 のヘッダー Server には、Web サーバーの名前が含まれています。 以下は、実際に IIS 7.5 が返すレスポンスヘッダー中の Server の値です。 Server: Microsoft-IIS/7.5 この情報は、インターネットでどのような Web サーバーが使用されているかの調査等に利用されていますが、管理者の方からは、セキュリティの観点からこの情報を隠蔽、あるいは削除したいというご要望を受けることがあります。 残念ながら、IIS 7 の標準の機能では、この機能は提供されておりません。(※) (※) IIS 管理ツールにある [HTTP 応答ヘッダー] の機能を使用してカスタムヘッダーの追加/削除などは可能です しかし、先日の記事でご紹介したように、.NET を使用して IIS の機能を拡張することでその機能を実装することができます。 この処理に使用する コードの量は非常に少なくシンプルであり、コンパイルも不要かつ、配置も容易ということで、驚くほど簡単にその機能を実装することが可能です。 セキュリティを強化するため、使用している Web サーバーが Microsoft 社の Internet Information Server 7 であることを世間の目からひた隠しに覆い隠す、という行為は、セキュリティの向上という観点から理解できますが、しかし、これは、あくまでも私一個人の心情の問題にすぎないのですが、日々仕事で IIS にかかわる者としては少々複雑な気分にならざるをえません。 たとえばもし、お子さんから "同級生に見られたくないから授業参観に来ないで"とか、あるいは恋人から "人に見られなくないから離れて歩いて" とか言われたらどうでしょう? この悲惨な心情たるや、あえてここで語るまでもないでしょう。 しかし、心ある人であればあるほど、無理をしてまで、その残酷な要求に笑顔で応えてしまうものなのです。 私が本日ここで、レスポンスヘッダーから IIS の名前を消すサンプルコードを紹介させていただくのも、もしかしたらそういう理由なのかもしれませんね。…

2