開発

FastCGI for IIS7.0のアップデート

件のIIS用FastCGIモジュールがREQUEST_URIなどのサーバー変数をUTF-8でやり取りできない問題の続き。

IIS5.1、IIS6についてはVer1.5 RTW+レジストリ操作で解決しましたが、IIS7.xにいては対応がまだでした。

が、やっとIIS7.0についてアップデートが提供されました。

http://blogs.iis.net/ruslany/archive/2010/03/10/important-update-for-iis-7-0-fastcgi-module.aspx

Windows7やWindowsServer2008R2のIIS7.5用FastCGIのアップデートはまだだがな!

なお、各OSでのFastCGI for IISの状況はこちら。

http://ruslany.net/2010/02/fastcgi-module-differences-across-iis-versions/

Using UTF-8 encoding for server variable valuesがIIS7.5だけNoという。

いやこれ、実質URIにマルチバイトを含めないわけで、非英語圏のアプリケーション的には致命度が半端ないんですが…

Windows Server AppFabric Beta1を試す~その1~

12月と1月は妙に忙しく、まったく検証できなかったので今更ながらWindows Server AppFabricを試していきます。

まずはこちら。英語ですが。

http://msdn.microsoft.com/en-us/windowsserver/ee695849.aspx

インストーラはこちらにあります。

http://www.microsoft.com/downloads/details.aspx?FamilyID=0bd0b14f-d112-4f11-94bf-90b489622edd&displayLang=en

が、依存プログラムが多いので、Web Platform Installer 2.0からインストールした方が楽ちんです。

http://www.microsoft.com/web/downloads/platform.aspx

 WebPIを起動。

WebPlatformInstaller2.0起動画面

左下のオプションをクリックして、

WebPI2.0オプション設定

エンタープライズにチェックをつけます。というかせっかくなので全部にチェックをつけておきます。

すると、WebPIの画面にEnterpriseにタブが出てきます。タブをクリックして、「カスタマイズ」をクリックすると、

WebPIでのAppFabric選択画面

AppFabric Beta 1がチェック可能になります。

あとはインストールすれば完了。ただし、注意点が二つ。

  1. すでにDeveloper版が入っている状態でもSQL Server 2008 Expressをインストールされそうになる
  2. Windows Firewallが有効になっていないと、Velocityの設定で失敗する

特に後者が致命的なのでご注意ください。アンチウィルスがファイアーウォール機能を備えているからといって、Windowsファイアーウォールを有効にしてると、

Velocity(Microsoft Distributed Cache)用のファイアウォール例外を追加するのに失敗しやがります。

ちなみに前者については、今試したらSQL Server (SQLEXPRESS)のサービスを新規に作りやがりました。ご注意ください。

…と、ここまで書いておいてナンですが、私の環境ではWebPIではDistributedCacheのサービスが動いてないので、手動で再度インストールします。

(というか、会社の環境でもWebPIでうまくいった試しが無い、というかConfigurationWizardが立ち上がらない)

上の方に書いたDownloads/DetailのページからAppFabric Beta1のインストーラをダウンロード(asesetup_amd64_6.1.exe)して、右クリック→管理者として実行をクリック。

WebPIでインストールしてしまっていたので、いったんRemoveします。再起動して、AppFabric Beta1のインストーラを再度実行。

 AppFabricBeta1インストーラ

規約を読んで次へ。

 インストールコンポーネントの選択

 DistributedCacheをインストールするよう、チェックをつけて次へ。

データベース設定

DBへのConnectionStringsを指定されるので、前もってMonitoringとPersistence、DistributedCache用のDBを作成しておきましょう。

 DistributedCache設定

こんな感じでDistributedCacheの設定をします。こっちもEditボタンで、DBを指定しておきましょう。

後は次へボタンでインストール完了。こちらもWindowsファイアーウォールが有効になってないと、例外追加で失敗するのでご注意。

Velocity CTP4

無事インストールが完了すると、サービス一覧に Microsoft project code named “Velocity” CTP4として追加されます。

続きは次回。

FastCGI 1.5 for IIS6でREQUEST_URIが文字化けする件の解決

こちらのエントリで書いた、FastCGI for IISでのREQUEST_URIの文字化け問題ですが、iis.netのページにこんな情報がありました。

Configure the FastCGI Extension for IIS 6.0

Using UTF-8 encoding for server variables

By default, FastCGI extension uses ASCII encoding when setting server variables that are used by PHP. When requested URL contains non-ASCII characters, then server variables that derive their values from the requested URL string may be set incorrectly. PHP applications that rely on those server variables may not work because of that.

To prevent this the FastCGI extension can be configured to use UTF-8 encoding when setting server variables. To configure FastCGI to use UTF-8 encoding for a particular set of server variables, use the REG_MULTI_SZ registry key FastCGIUtf8ServerVariables and set its value to a list of server variable names, for example:

reg add HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\w3svc\Parameters /v FastCGIUtf8ServerVariables /t REG_MULTI_SZ /d REQUEST_URI\0PATH_INFO

The above example will configure FastCGI extension to use UTF-8 encoding when setting REQUEST_URI and PATH_INFO server variables.

After setting the registry key restart the IIS by using the iisreset command.

Warning: using UTF-8 encoding for server variables may affect how PHP core and PHP applications work. Make sure to verify that applications work as expected after the registry key has been changed.

1月にやっとリリースされたRTW版で追加されたオプションのようです。要は、デフォ設定だとREQUEST_URIやPATH_INFOをUTF-8でやりとり出来ないと。

というわけなので、コマンドラインで上記レジストリエントリへの追加をして、IISのサービスを再起動して完了。

Wordpressのclasses.phpを修正していたのを戻して、エントリ単品の記事へ正常にアクセス出来る事が確認できました。

しかしなんでデフォでこんな仕様なんだろう…

ああ、もう就活の時期ですか。

リクナビ

リクナビ

 やる夫は内定取り消しに遭ったようです 働くモノニュース : 人生VIP職人ブログwww
http://workingnews.blog117.fc2.com/blog-entry-2439.html

 大変すねー。( また人ごとのように・・)

私も二次面接を割とやってますが(開発職が順番で。ちなみにIT系)、以下のような学生にはマイナス評点をします。

  • メアドがフリーメール
    フリメの信頼性云々についてはそろそろどうでもよくなってきたけど、
    とはいえまだ学生なんだから、在学中の学校のメールアドレス使いましょう。
    人事担当もその方が分かりやすくて良いです。
  • サークル活動の実績をしつこくアピール
    リーダーシップを発揮(笑)
    大学生のお遊びレベルのリーダーシップとか何かの役に立つの?というお話。
    バイトとかもそうですが、やってきたことを過剰に宣伝するのは、よほど凄まじい経歴でもない限り、
    他にすることなかったの?という印象しか持たれません。
  • 資格を取るために頑張りました
    残念、よく見ましょう、それは死にスキルです。
    とりあえず国家資格を…みたいなのはマイナス。資格を取る課程でこんなの結果が、という風に話すこと。
    ベンダー資格のかなり凄い奴なら良い評価はされるはず。
  • ○○のバイトでコミュニケーション能力を云々…フロアリーダーを云々…
    コミュニケーション能力(笑)
    バズワードは口にしてはダメ。内容すっからかんな言葉に騙されるほど、面接官も馬鹿ではありません。
    「クラウドに興味があり…」とでも言いようものなら、「それでどうしたの?」と突っ込まれ、
    そこで実績や勉強結果が語れないようでは口先だけと思われます。
  • 学生時代に何をしてきましたか?→ こんな勉強をして、これで、こうで(gdgd…)
    会社から見れば、学生時代の勉強なんて全く役に立たなくて当たり前なので、
    学校で教えてくれたことだけ話しても意味がありません。そこから自分はプラス何を達成出来たかアピールしましょう。

こんぐらいかなー。

あと空気読めないのもマイナス。他の学生さんの迷惑にならないように。

ついでに、私はIT系の主にWebメインの開発者ですが、会社説明会での、

「プログラムなど、経験が無くても会社入ってから勉強すればなんとかなります」

はかなり厳しい(というか9割方嘘に近い)のでご注意。

基本的に、新技術というものは、旧来のローレベルな技術の上に乗っかっているものなので、

数年前は会社に入ってからでも身につけることが出来たが、今ではさらにそっから先まで勉強しなくてはならなかったりします。

早い話が、以前より覚えることが増えているということ。そこでスタートに少しでも躓くと、あっという間についていけなくなり、残念リタイアとなります。

まぁそんな学生を採る会社の方が悪いんですが。営業職でもこれはだいたい同じ。会社ってのは採用する側の責任ってのをあまり考えてはくれません。

あとIT系でも派遣会社はやめておきましょう。結構人余ってるし、最近は給料が下がっている会社も多いです。

脱税総理のおかげで景気回復も世界中から取り残され、企業は積極的な投資をしてこないため、原則仕事は少なくなってきてます。

…ウチの会社のように、社員を育てる努力をしてこなかったせいで、仕事を回してはいけない人間にまで仕事を回してくるほど忙しいところもありますが。

FastCGI拡張forIISでREQUEST_URIが文字化けする

Wordpressをアップデートしたら元に戻ってしまったのでメモ。

URLのパスや引数の名前に含まれるURLエンコード部分の文字列が、なぜかShift-JISで飛んできます。URLエンコード前の文字列が日本語などでなければ大丈夫。

どっかの設定が悪いのかなんなのか。変な設定とかしてないんですけどねぇ。

Wordpressの場合の対処はこんな感じ。

classes.phpの152行目あたりにこんなコードを追記する。

$_SERVER['REQUEST_URI'] = mb_convert_encoding($_SERVER['REQUEST_URI'],’UTF-8′,’SJIS’);
$_SERVER['PATH_INFO'] = mb_convert_encoding($_SERVER['PATH_INFO'],’UTF-8′,’SJIS’);

Windows7をお持ちの方は、WebPlatform Instaler 2.0で、マウスだけでインストール出来るのでお試しあれ。

FastCGI Extension for IIS5.1

FastCGI Extension for Internet Information Services 6.0 and 5.1

なぜかIIS.netの方では404になっているIIS5…正確にはIIS5.1(Windows XP)用のFastCGI Extension。

どこかからダウンロードした記憶はあったのだけど、検索してもなかなか出てこないので諦めてたのですが、めでたく発見したので忘れないうちにメモ。

設定方法はWindowsServer2003の、IIS6用FastCGIExtensionとほぼ同じ。fcgiext.iniに手で書く必要があります。

ただ、アプリケーションプールの概念がないためか、IIS6と比べるといくらかもっさり。

ローカル環境でPHPを動かしたい、WindowsでISAPIのPHPは重くて死ぬ、という人にはおすすめ。

とはいえ、できればServer2008かVistaで動かすことを推奨。URL Rwriteモジュールが利用できるので・・

ASP.NET MVC 1.0 Release

InfoQの記事とか参照。ダウンロード先

無償版のVisual Web Developer 2008 Express Edition SP1も対応しているので、内蔵Webサーバーで動かせばこれ一本でも開発が可能です。

が、内蔵Webサーバーは糞重いので、別途IIS7が動く環境を用意した方が幸せになれまする。

 

どうでもいいけど、Wikipediaの大日本帝国陸軍兵器一覧が凄い。