2015年03月06日
VbStrConv.Wide and VbStrConv.Narrow are not applicable to the locale specified.
Visual Basic で書かれた ASP.NET アプリを Azure 上に載せてみたら、表題のようなエラーになってしまいました。
原因としては、日本語のローケールが入っていないため、日本語の全角→半角変換ができないというエラーです。
対応としては、日本語言語パックをインストールすればよいのですば、IIS のワーカープロセスは、通常はNetwork Servicesなどの別アカウントで実行しているため、ロケール変更を全アカウントに反映する必要があります。
手順としては、コントロールパネルの [地域] を開き [設定のコピー] をクリックします。
コピー先で [ようこそ画面とシステムアカウント] にチェックして、今後アカウントが増えるのであれば、 [新しいユーザーアカウント] にもチェックしておきましょう。
[OK] ボタンをクリックして、再起動すると、日本語ロケールが使えるようになっていると思います。
原因としては、日本語のローケールが入っていないため、日本語の全角→半角変換ができないというエラーです。
対応としては、日本語言語パックをインストールすればよいのですば、IIS のワーカープロセスは、通常はNetwork Servicesなどの別アカウントで実行しているため、ロケール変更を全アカウントに反映する必要があります。
手順としては、コントロールパネルの [地域] を開き [設定のコピー] をクリックします。
コピー先で [ようこそ画面とシステムアカウント] にチェックして、今後アカウントが増えるのであれば、 [新しいユーザーアカウント] にもチェックしておきましょう。
[OK] ボタンをクリックして、再起動すると、日本語ロケールが使えるようになっていると思います。
2014年08月14日
Internet ExplorerのUpdate
昨日のWindows UpdateにIEも含まれていたと思います。
今回のUpdateには、機能の向上も含まれています。
◆ WebGLの改善
WebGLの改善は、KBが公開されています。
◆ WebDriverのサポート
Web開発者がテストを自動化することを可能にするWebDriverがサポートされました。
IEBlogには、後日リリースされる別パッケージのWebDriverスクリプトをインストールする必要があると書かれています。
◆ F12 開発者ツールの改善
F12 開発者ツールの改善点は、KBにまとまっています。
近日中にまとめてSlideShareあたりで公開します。
◆ セキュリティの情報
- 古い ActiveX コントロールのブロック
- 脆弱性の修正
今回のUpdateには、機能の向上も含まれています。
◆ WebGLの改善
WebGLの改善は、KBが公開されています。
◆ WebDriverのサポート
Web開発者がテストを自動化することを可能にするWebDriverがサポートされました。
IEBlogには、後日リリースされる別パッケージのWebDriverスクリプトをインストールする必要があると書かれています。
◆ F12 開発者ツールの改善
F12 開発者ツールの改善点は、KBにまとまっています。
近日中にまとめてSlideShareあたりで公開します。
◆ セキュリティの情報
- 古い ActiveX コントロールのブロック
- 脆弱性の修正
2014年08月08日
2014年06月20日
翠星のガルガンティア - WebGL を使ったゲーム
まだ見たことはないんですが、翠星のガルガンティアというアニメを題材にしたWebGLのゲームが公開されています。
実際にプレイしてみるとわかるのですが、完全WebGLで開発されており、3D グラフィックがすばらしいだけでなく、雲や飛行時のエフェクトがすごくこっています。
また、音声や画像など著作権のある素材を除くソースコードがMITライセンスで公開されているため、好きにいじれるのも大きな魅力です。
実際にプレイしてみるとわかるのですが、完全WebGLで開発されており、3D グラフィックがすばらしいだけでなく、雲や飛行時のエフェクトがすごくこっています。
また、音声や画像など著作権のある素材を除くソースコードがMITライセンスで公開されているため、好きにいじれるのも大きな魅力です。
Web Fundamentals
英語ではありますが、Googleさんが公開しているWeb Fundamentalsがすばらしいです。
これからWebサイトをコーディングしようとしている人に対して、丁寧に説明しています。
Sublime のインストールから、サイトの完成までを追っていけるので、これから始める人にはすごくよいコンテンツだと思います。
これからWebサイトをコーディングしようとしている人に対して、丁寧に説明しています。
Sublime のインストールから、サイトの完成までを追っていけるので、これから始める人にはすごくよいコンテンツだと思います。
2014年04月21日
IE11 のアップデートで機能追加されたF12開発者ツール
先日のWindows 8.1 Update 1の更新と同じタイミングで、Internet Explorer 11 がアップデートされました。
それにともない、F12開発者ツールにもいくつかの機能が追加されたので、以下のスライドにまとめました。
小さいので、最大化してご覧ください。
それにともない、F12開発者ツールにもいくつかの機能が追加されたので、以下のスライドにまとめました。
小さいので、最大化してご覧ください。
2014年04月03日
status.modern.ie
http://status.modern.ie/
HTML や CSS の機能の IE の実装状況を閲覧できるページが公開されました。
このページでは、HTML5 や CSS3 などの主な機能の実装状況を確認することができます。
たとえば、「IE10+」 と表示されていれば IE10 で実装が完了しているもの。
「Under Consideration」 と書かれているものは実装が検討されているものになります。
また、ドロップダウンを展開してみると、他のブラウザーでの実装状況を確認することができます。
ちなみにChromeはこちらで確認できます。
HTML や CSS の機能の IE の実装状況を閲覧できるページが公開されました。
このページでは、HTML5 や CSS3 などの主な機能の実装状況を確認することができます。
たとえば、「IE10+」 と表示されていれば IE10 で実装が完了しているもの。
「Under Consideration」 と書かれているものは実装が検討されているものになります。
また、ドロップダウンを展開してみると、他のブラウザーでの実装状況を確認することができます。
ちなみにChromeはこちらで確認できます。
2014年01月18日
ASP.NETもIE11を誤認識しちゃうかも。
InfoQの記事より
IE11 からユーザーエージェント文字列が変更がASP.NETもブラウザをこれを使って識別しているため、ご認識される可能性があるとのこと。
.NET Framework 4.5 をインストールすれば大丈夫と書かれているけど、 .NET Framework 4.5.1 じゃないかな?
このあたりをインストールすれば解消されるはずです。
難しいようなら記事にあるように.browserファイルを編集してください。
Microsoft .NET Framework 4.5.1
Windows Vista SP2、Windows 7 SP1、Windows 8、Windows Server 2008 SP2、Windows Server 2008 R2 SP1、Windows Server 2012
.NET Framework 2.0 SP2
Windows 8、Windows Server 2012
.NET Framework 3.5 SP1
Windows 8、Windows Server 2012
IE11 からユーザーエージェント文字列が変更がASP.NETもブラウザをこれを使って識別しているため、ご認識される可能性があるとのこと。
.NET Framework 4.5 をインストールすれば大丈夫と書かれているけど、 .NET Framework 4.5.1 じゃないかな?
このあたりをインストールすれば解消されるはずです。
難しいようなら記事にあるように.browserファイルを編集してください。
Microsoft .NET Framework 4.5.1
Windows Vista SP2、Windows 7 SP1、Windows 8、Windows Server 2008 SP2、Windows Server 2008 R2 SP1、Windows Server 2012
.NET Framework 2.0 SP2
Windows 8、Windows Server 2012
.NET Framework 3.5 SP1
Windows 8、Windows Server 2012
2013年11月08日
Internet Explorer 11 on Windows 7
Windows 7 用の Internet Explorer 11 がようやくリリースされました。
ただしいくつかの機能制限があるとのこと。
まあ、タッチ系とかセンサー系は OS に依存する部分だからムリなのかぁ。
個人的に残念なのは、メディア系です。ようやく MPEG-DASH で統一できるのと思っていたんですが、Windows 7 では、Silverlight や Flash を使えということみたいですね。
コンテンツを提供する側からすると、相変わらずOSごと 、デバイスごとにメディアを用意する必要があると。
もうひとつ残念なのが SPDY。
これも OS レベルになっちゃうのかぁ。
F12 開発者ツールのUIの応答はWindows 7でもきちんと動作しました。
注意書きには「Windows 7 が最新バージョンでなくなった時点で、Windows 7 の Internet Explorer 11 で無効になる可能性があります。」との記述が。なにに依存するとそういう振る舞いになるんだ?
ただしいくつかの機能制限があるとのこと。
- デバイスの向きのイベント
- ドラッグ アンド ドロップ タッチ サポート
- 効果の一括処理とストロークの向上
- Encrypted Media Extensions
- 拡張保護モード (EPM)
- F12 開発者ツールの UI の応答性 (*)
- 高 DPI のサポート
- ホバー タッチ サポート
- リンクの強調表示
- Media Source Extensions
- 電話番号の形式の認識
- ピン留めされたサイトの機能強化
- 画面の向きの API
- タッチ入力やその他の入力によるスクロールとズーム
- さまざまなデバイスにわたる同期
- TCP 接続共有 (SPDY)
まあ、タッチ系とかセンサー系は OS に依存する部分だからムリなのかぁ。
個人的に残念なのは、メディア系です。ようやく MPEG-DASH で統一できるのと思っていたんですが、Windows 7 では、Silverlight や Flash を使えということみたいですね。
コンテンツを提供する側からすると、相変わらずOSごと 、デバイスごとにメディアを用意する必要があると。
もうひとつ残念なのが SPDY。
これも OS レベルになっちゃうのかぁ。
F12 開発者ツールのUIの応答はWindows 7でもきちんと動作しました。
注意書きには「Windows 7 が最新バージョンでなくなった時点で、Windows 7 の Internet Explorer 11 で無効になる可能性があります。」との記述が。なにに依存するとそういう振る舞いになるんだ?
2013年11月02日
Internet Explorer 11のデバイス間同期
Internet Explorer(IE) 11の新しい機能のひとつ、デバイス間同期を紹介します。
IE10 までにも SkyDrive を使った同期機能がありました。
これにより、お気に入りや履歴を会社や家のデバイス、そして電車などで使うポータブル デバイスで共有することが可能でした。
IE11では、これに加えて、タブを同期することができるようになっています。
「すRふぁせ」は、説明するまでもなく僕の「Surface」のコンピューター名です。
このように同じ Microsoft アカウントでログインしている Windows 8.1 デバイスで開いているタブを他のデバイスで継続して閲覧することができます。
これにより朝開いて読んでいたものの出勤の時間になってしまったという場合でも、Surface で続きを電車で開くといった便利な使い方ができるようになります。
IE10 と IE11 で同期できる項目は以下の通りです。
より詳細な情報はこちらで読むことができます。
IE10 までにも SkyDrive を使った同期機能がありました。
これにより、お気に入りや履歴を会社や家のデバイス、そして電車などで使うポータブル デバイスで共有することが可能でした。
IE11では、これに加えて、タブを同期することができるようになっています。
「すRふぁせ」は、説明するまでもなく僕の「Surface」のコンピューター名です。
このように同じ Microsoft アカウントでログインしている Windows 8.1 デバイスで開いているタブを他のデバイスで継続して閲覧することができます。
これにより朝開いて読んでいたものの出勤の時間になってしまったという場合でも、Surface で続きを電車で開くといった便利な使い方ができるようになります。
IE10 と IE11 で同期できる項目は以下の通りです。
項目 | Windows 8のIE10 | Windows 8.1のIE11 |
---|---|---|
履歴とURL | ○ | ○ |
お気に入り | ○ | ○ |
タブ | × | ○ |
設定 | ホームページのみ | ○ |
パスワード | ○ | ○ |
より詳細な情報はこちらで読むことができます。
2013年09月16日
IE11のJPEG
IEBlogによると、
Windows 8.1のIE11とWindowsストア アプリでは、画像をデコードする処理の一部をGPUに移した結果、45%高速になって、40%のメモリ消費量を削減することができた。
まだ高速化の余地があったのかっていう感じですよね。
参考:
Using Hardware to Decode and Load JPG Images up to 45% faster in Internet Explorer 11
Windows 8.1のIE11とWindowsストア アプリでは、画像をデコードする処理の一部をGPUに移した結果、45%高速になって、40%のメモリ消費量を削減することができた。
まだ高速化の余地があったのかっていう感じですよね。
参考:
Using Hardware to Decode and Load JPG Images up to 45% faster in Internet Explorer 11
2013年08月15日
Azureテーブル・ストレージとEntity Frameworkのエンティティを共有するには
データベースとAzureテーブルの両方に同じ内容を書きたい。でもクラスを2つ作るのはイヤ。
ということで、色々やってみた結果、これでできました。
まず、Azureテーブルへ保存するクラスは、TableServiceEntityを継承して作りますが、必須ではありません。
そこで、ベースクラスで持っているプロパティや属性をパーシャルクラスとして実装すればよいだけでした。
下の例では、Entity FrameworkでEFDataというテーブルのエンティティを作成して、そのままAzureテーブルに書き込むためのクラスを作成した例です。
もし大量にある場合は、インターフェイス化などを検討してもよいと思います。
ちなみに、EFDataクラスを継承してEFDataEntityみたいなクラスを作って試してみましたが、Entity Frameworkが追加仕様としているクラスの方を使っているらしく、SaveChanges()メソッドで失敗しました。
ということで、色々やってみた結果、これでできました。
まず、Azureテーブルへ保存するクラスは、TableServiceEntityを継承して作りますが、必須ではありません。
そこで、ベースクラスで持っているプロパティや属性をパーシャルクラスとして実装すればよいだけでした。
下の例では、Entity FrameworkでEFDataというテーブルのエンティティを作成して、そのままAzureテーブルに書き込むためのクラスを作成した例です。
もし大量にある場合は、インターフェイス化などを検討してもよいと思います。
using System;
using System.Data.Services.Common;
namespace Test.Database
{
[DataServiceKey(new string[] { "PartitionKey", "RowKey" })]
public partial class EFData
{
public DateTime Timestamp { get; set; }
public string PartitionKey { get; set; }
public string RowKey { get; set; }
}
}
ちなみに、EFDataクラスを継承してEFDataEntityみたいなクラスを作って試してみましたが、Entity Frameworkが追加仕様としているクラスの方を使っているらしく、SaveChanges()メソッドで失敗しました。
2013年08月02日
Could not load file or assembly 'System.Web.WebPages.Deployment
Azureにアプリをデプロイしてアプリを実行してみたところ、以下のようなエラーになってしまいました。
--------------------------------
Could not load file or assembly 'System.Web.WebPages.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
--------------------------------
参照設定もきちんとされているんだけどなぁ。と思って調べてみたら、参照アセンブリのプロパティで、[ローカル コピー] を [True] に設定する必要がありました。
--------------------------------
Could not load file or assembly 'System.Web.WebPages.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
--------------------------------
参照設定もきちんとされているんだけどなぁ。と思って調べてみたら、参照アセンブリのプロパティで、[ローカル コピー] を [True] に設定する必要がありました。
2013年07月26日
IE11 Developer Preview for Windows 7
IE11 for Windows 7の公式発表がきました!
IE11 Developer Preview for Windows 7: Enabling Next Generation Sites and Apps
F12開発者ツールもちゃんと載ってるみたいですね。
よかった。
IE11 Developer Preview for Windows 7: Enabling Next Generation Sites and Apps
F12開発者ツールもちゃんと載ってるみたいですね。
よかった。
2013年07月12日
[C#]HTTPリクエストで自動リダイレクトを抑止した結果を確認するには
WebClientなどを使って、プログラムからWebサイトへのアクセス結果を確認することがあると思います。
これらのクラスはなかなか優秀で、リダイレクトされたら、リダイレクト先の結果をちゃんと返してくれるんですが、
リダイレクトされる前の結果を取得したいこともあります。
そんな時には、以下のようにHttpWebResponse/HttpWebResponseクラスを使用することで自動リダイレクトを抑止することができます。
これらのクラスはなかなか優秀で、リダイレクトされたら、リダイレクト先の結果をちゃんと返してくれるんですが、
リダイレクトされる前の結果を取得したいこともあります。
そんな時には、以下のようにHttpWebResponse/HttpWebResponseクラスを使用することで自動リダイレクトを抑止することができます。
var request = (HttpWebRequest)WebRequest.Create(url);
request.AllowAutoRedirect = false;
var response = (HttpWebResponse)request.GetResponse();
Console.WriteLine(response.StatusCode);
2013年06月18日
UserAgent文字列から携帯機種をひいてみた
Webサーバーのアクセスログから携帯の機種を拾おうかと思ったのですが、KDDIのUserAgent文字列には機種名が含まれていませんでした。こんな感じ。
KDDI-SN3S UP.Browser/6.2_7.2.7.1.K.6.212 (GUI) MMP/2.0
SN3Sの部分がS006のIDらしいです。
どこかに一覧がないかなぁと思って探してみたんですが、完全にまとまっている所は見当たりませんでした。
元bashプログラマとしては、ググった結果をフィルターしてと考えたのですが、折角なのでPowerShellでやってみました。
wgetコマンドは標準にはないので、wget for PowerShellを使わせて頂きました。
これの結果がこんな感じ。
もう一踏ん張りですが、あとは秀丸でやっちゃおうかと。
KDDI-SN3S UP.Browser/6.2_7.2.7.1.K.6.212 (GUI) MMP/2.0
SN3Sの部分がS006のIDらしいです。
どこかに一覧がないかなぁと思って探してみたんですが、完全にまとまっている所は見当たりませんでした。
元bashプログラマとしては、ググった結果をフィルターしてと考えたのですが、折角なのでPowerShellでやってみました。
wgetコマンドは標準にはないので、wget for PowerShellを使わせて頂きました。
$names = @"
SN3S
FJ31
SN3V
TS3Y
CA3K
SN3R
SH3E
SH3J
TS3S
SN3U
TS3R
CA3G
KC3Z
SH3F
CA3C
CA3J
KC46
CA3F
CA3H
HI3H
KC42
KC4A
SN3T
HI3H
SN3Q
TS3P
SN3P
TS3I
SN3N
TS3X
SH3D
"@
foreach($s in $names.split("`r`n"))
{
if($s -ne ""){
$url = "https://www.google.co.jp/search?output=search&sclient=psy-ab&q=KDDI+" + $s + "&btnK="
$fileName = $s + ".html"
Get-WebFile $url $fileName
$text = Get-Content $fileName
$text -match '(http://keitaiall.jp/\w+\.html)'
echo $fileName, $Matches[0]
}
}
これの結果がこんな感じ。
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 2013/06/18 23:31 66696 SN3S.html
True
SN3S.html
http://keitaiall.jp/S006.html
-a--- 2013/06/18 23:31 66848 FJ31.html
True
FJ31.html
http://keitaiall.jp/F001.html
-a--- 2013/06/18 23:31 68818 SN3V.html
True
SN3V.html
http://keitaiall.jp/URBANO_AFFARE.html
もう一踏ん張りですが、あとは秀丸でやっちゃおうかと。
2013年06月06日
IE10はエコ
この記事、ちょっと面白いですね。
Microsoft touts Internet Explorer 10 as the 'most energy efficient browser on Windows 8'
Internet Explorer 10 is the Most Energy Efficient Browser on Windows 8
Windows 8のIE10でHTML5ビデオを再生したとき、Chromeと比べて18%、Firefoxと比べて17%、消費電力が少なかったそうです。
電気料金が上がる今、IE10に切り替えてみてはいかがでしょうか。
みたいな売り込みは置いといて、ブラウザの比較では、パフォーマンスやサポートされている機能にフォーカスしがちですが、こういう視点も面白いですよね。
Microsoft touts Internet Explorer 10 as the 'most energy efficient browser on Windows 8'
Internet Explorer 10 is the Most Energy Efficient Browser on Windows 8
Windows 8のIE10でHTML5ビデオを再生したとき、Chromeと比べて18%、Firefoxと比べて17%、消費電力が少なかったそうです。
電気料金が上がる今、IE10に切り替えてみてはいかがでしょうか。
みたいな売り込みは置いといて、ブラウザの比較では、パフォーマンスやサポートされている機能にフォーカスしがちですが、こういう視点も面白いですよね。
2013年06月05日
IE6のシェア
10年以上前に誕生したIE6ですが、まだ6.3%のシェアを持っています。
おそらく、インターネットが誕生してからここまで長く使われているブラウザはないでしょうね。
で、そのシェアを分かりやすく表示しているのがこのサイトです。
http://www.ie6countdown.com/
こう見ると日本は1.7%と、思ったより少ないなぁというのが個人的な印象です。
企業ユーザーがかなり使っていると思っていたので、こんなもんかと。
やっぱり中国は圧倒的ですね。
開発者の立場からもサポートするのが面倒なので、早くバージョンアップしてください。
IE10いいですよ。
おそらく、インターネットが誕生してからここまで長く使われているブラウザはないでしょうね。
で、そのシェアを分かりやすく表示しているのがこのサイトです。
http://www.ie6countdown.com/
こう見ると日本は1.7%と、思ったより少ないなぁというのが個人的な印象です。
企業ユーザーがかなり使っていると思っていたので、こんなもんかと。
やっぱり中国は圧倒的ですね。
開発者の立場からもサポートするのが面倒なので、早くバージョンアップしてください。
IE10いいですよ。
2013年05月16日
PDFの文字を読みやすくするには
ダウンロードしたPDFが読みにくくて、設定がないのかと見てみたらやっぱりありました。
[編集] - [環境設定] で環境設定ダイアログを表示して、[テキストのスムージング]を設定すると、
がたがたしてた文字がスッキリ読みやすくなりました。
[編集] - [環境設定] で環境設定ダイアログを表示して、[テキストのスムージング]を設定すると、
がたがたしてた文字がスッキリ読みやすくなりました。
2013年04月20日
jQuery 2.0
Windowsストアアプリにも対応したjQuery 2.0がリリースされています。
このバージョンではIE6, 7, 8が非対応になっています。
日本ではまだまだ古いバージョンのIEを切れないサイトも多いと思いますので、その場合は1.xを使い続ける必要がありそうです。
1.x系では現在1.9が最新ですが、今後1.10がリリースされる予定です。
このバージョンではIE6, 7, 8が非対応になっています。
日本ではまだまだ古いバージョンのIEを切れないサイトも多いと思いますので、その場合は1.xを使い続ける必要がありそうです。
1.x系では現在1.9が最新ですが、今後1.10がリリースされる予定です。