̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ IT ニュース&コラム 2011/7/18 通巻528号 ソフトウェアデザイン館 Sage Plaisir 21  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄                        News and Column  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄     省電力 PC への買い替えによる節電のしくみ 2011年7月13日、インプレスの AKIBA PC Hotline! のホームページで、 エアコンを最新型に買い替えて節電することのように、4年前の PC と、 最新 PC の消費電力について比較した記事が載っていたので紹介する。    4年前の CPU として、Intel Core 2 Quad 2.4GHz という、    AMD が優勢だったときに Intel が巻き返した CPU を採用。    最新の CPU として、Core i5 という 2.5GHz(TurboBoost    3.3GHz)という 低消費電力版 CPU を採用した。    基本的な演算性能は同じぐらいだが、GPU 性能が強化され、    TurboBoost が追加されている。 TurboBoost は、温度や    動作しているコア数によって周波数を変える技術だ。 3Dゲームをしている場合、性能は1.5〜3倍でありながら、消費電力は 91Wから66Wと25W(27%)の削減となった。 ビデオ・エンコードは 121Wから 73Wと48W(40%)の削減となった。 ネットサーフィンしているときは、ほとんどが動いていない「アイドル状態」 になっていることがほとんどであるが、その状態では 59Wから42Wと17W(29%)の 削減となった。 効率の良い電源や、SSD を使うことで更に 9W ほど省電力が期待できる。 また NEC のホームページによると、最新のノートPCでは、上記の方法の 他に、Windows7 の電力管理、LED バックライト、マザーボードの電源管理 などにより、アイドル時の消費電力は、たったの 10Wだ。 これは、40Wの蛍光灯に相当する LED 蛍光灯の 20W の半分だ。 ちなみに LED卓上ライトは、蛍光灯では 10W のところが LED 蛍光灯では 3Wだ。 更にノートPCでは、夏場のクーラーの使用量が増える昼間に、バッテリー で動作させるようにすれば、昼間は 0W となる。 ただし、コンセントを 切っていなければ、ACアダプタが 0.2W 以下消費する。 充電時は +10W 消費するわけだが、このようなピークシフト・ツールが搭載されたPC が 普及すれば、25%のCO2削減が達成できるかも知れない。 ちなみに、筆者は DVD レコーダー+テレビ+5.1chアンプを、1年前に 地上デジタル対応省電力 PCに変えたところ、1年を通して毎月30kWh (25%)の節電となった。 音質は悪くなったが画面は少し大きくなり画質は 良くなった。 参考リンク: http://akiba-pc.watch.impress.co.jp/hotline/20110716/sp_lowpower.html http://www.nec.co.jp/products/bizpc/promotion/eco/setsuden/index.shtml http://notebookpc.jp/archives/tag/%E6%B6%88%E8%B2%BB%E9%9B%BB%E5%8A%9B * The others Last week watched News  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ◇ NECの節電応援サーバ。 http://club.express.nec.co.jp/store/server/campaign/setuden/index.html … サーバー室の温度を 5度上げることができるので、エアコン代を節約。 ◇ SSDの動作状況や健康状態をチェックできるソフト SSDLife Free が無償公開。 http://www.forest.impress.co.jp/docs/news/20110715_460948.html … 書き込み回数に寿命がある SSD の状態をチェック。 ◇ 位置情報をブラウザで活用! Geolocationを使いこなそう。 http://www.atmarkit.co.jp/fdotnet/chushin/introhtml5_01/introhtml5_01_01.html … ユーザーが許可すれば、だれでも経度と緯度を取得できる。 ◇ 日本の家電、デザインが課題に。韓国勢先行。 http://www.itmedia.co.jp/news/articles/1107/12/news025.html … 一般客に理解できない技術より、デザイン。                      Snap Note 3 開発BLOG  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ [ テーブルと条件分岐を使った静的オブジェクトを取得する関数 ] プログラムが使用する外部プログラムのバージョンが異なると、使用する データが微妙に異なったりします。 たとえば、Visual Studio のプロジェクト・ ファイルを出力するプログラムは、Visual Studio のバージョンによって、 出力するファイルの拡張子が変わります。 プロジェクト・ファイルを出力する関数をプログラミングするときは、 バージョンを判定して、出力内容を変えるというのが一般的ですが、 規模が大きくなると、同じ条件分岐のコピーがたくさん記述されること になり、メンテナンス性が低くなります。 たとえば、プロジェクト・ファイルの拡張子が変わると、ファイルを作成する コードと、使用するプロジェクト・ファイルをソリューション・ファイル内に 記述するコードの2箇所に、バージョンを判定するコードが記述されます。 この状態で、将来、バージョンと拡張子の関係が変わったら、2箇所の修正が 必要なのに、1箇所だけ修正して完了としてしまうリスクがあるのです。  If VSVer <= 2008 Then f.Open ".vcproj" Else f.Open ".vcxproj"  f.Close  f.Open ".sln"  If VSVer <= 2008 Then f.Write ".vcproj" Else f.Write ".vcxproj" これを避けるには、プロジェクト・ファイルの拡張子を変数にすることです。 この状態で、バージョンと拡張子の関係が変わったら、変数の値を代入する 箇所だけを変えるだけで済みます。 このような違いを集めたオブジェクトは、Visual Studio のバージョンによって 異なるものであるため、バージョンごとに存在する静的オブジェクト(コンパ イル時に値が決定する static な構造体)になります。 そして、静的オブジェクトを取得する関数を定義するとよいでしょう。 その 定義は、下記のようにテーブルで記述するとよいでしょう。 また、相関関係が ある場合は、下記の ProjectExtension 変数のように条件分岐が使えます。 この条件分岐は、静的オブジェクトを取得する関数の中にまとめられるため、 メンテナンス性が高くなります。 Dim o : Set o = new MakeVS o.SetMakeProjContext MakeProjContext, get_MakeVSProjType( TypeName ) o.MakeProj Class MakeVSProjType  Public VSVer       '// as integer  Public TargetPlatform  '// as string  Public ProjectExtension '// as string End Class Function get_MakeVSProjType( TypeName )  Dim ret, items  Select Case TypeName        '// VSVer, TargetPlatform   Case "VS2010Win32"  : items = Array( 2010, "Win32" )   Case "VS2008Win32"  : items = Array( 2008, "Win32" )   Case "VS2010Win32Lib" : items = Array( 2010, "Lib" )   Case "VS2008Win32Lib" : items = Array( 2008, "Lib" )   Case Else Error  End Select  Set ret = new MakeVSProjType  ret.VSVer     = items( 0 )  ret.TargetPlatform = items( 1 )  If ret.VSVer = 2010 Then   ret.ProjectExtension = ".vcxproj"  Else   ret.ProjectExtension = ".vcproj"  End If End Function         ソフトウェアデザイン館 Sage Plaisir 21 について  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ホームページ  >>> http://www.sage-p.com/ メルマガ    >>> http://www.mag2.com/m/0000083983.html ブログ     >>> http://blog.livedoor.jp/sage_p/ ツイッター   >>> http://twitter.com/Ts_Neko ダウンロード  >>> http://www.sage-p.com/freesoft.htm サポート掲示板 >>> http://www.sage-p.com/kg_ban09/z6037C8.cgi 東日本大震災  >>> http://www.sage-p.com/saigai.html メール   >>> ts-neko◇sage-p.com ←◇を@に変えてください          緊急メールは件名に「うどんメール」を付けてください。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ メルマガの設定を変更する? >>> http://www.mag2.com/m/0000083983.htm  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ News & Column are composed by T's-Neko 2011  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄