2011年4月15日金曜日

Nokogiriでの の扱い

 というのは半角スペースのことだとずっと思っていたので、ハマってしまいました。
NokogiriではC2A0(\302\240)になるようです。
# UTF-8限定?どちらにせよ、NokogiriではSJISをうまくパースできません。

require 'rubygems'
require 'nokogiri'

nbsp = Nokogiri::HTML(' ').text
puts nbsp == " "
# => false
puts nbsp == "\302\240"
# => true

2011年3月27日日曜日

64bit Windowsにおけるアプリケーションのメモリ上限

x86(≒32-bit Windows)での上限 64-bit Windowsでの上限
32bitアプリケーション 2GB

3GBへ拡張可能(IFLAAかつ4GT)
2GB IFLAAオフ(デフォルト)

4GB IFLAAオン
64bitアプリケーション使用不可 IFLAAオン(デフォルト)
x64: 8TB
Intel IPF: 7TB

2GB IFLAAオフ
ソース:Memory Limits for Windows Releases
IFLAA=IMAGE_FILE_LARGE_ADDRESS_AWARE

表の通り32bitアプリケーションは、デフォルトでは2GBしかメモリを使うことができません。
利用可能なメモリを拡張するには、以下の2つを満たす必要があります。

1. 32bit Windowsで、4GT(3GBスイッチ)が有効であること。または、64bit Windowsであること。
2. アプリケーションでIMAGE_FILE_LARGE_ADDRESS_AWARE(/LARGEADDRESSAWARE)が有効になっていること。

実際のやり方については、検索すれば詳しいサイトがたくさんヒットしますので、そちらを参照すると良いでしょう。

キーワードとしては、
1. 「4GT」「3GBスイッチ」
2. 「IMAGE_FILE_LARGE_ADDRESS_AWARE」「/LARGEADDRESSAWARE」「editbin.exe」