2015/05/25

省電力な高性能PCを組む(Core i7 4790T [Haswell Refresh])

※詳細の値段は購入時(2015年1月末)のものです。

まず省電力が第一と考えたのでCPUはTDP45Wで現時点最高スペックのCore i7 4790T一択。

価格.com - インテル Core i7 4790T バルク 価格比較
http://kakaku.com/item/K0000651658/
36980

メモリは最大である8GBx4を載せてメモリ不足とはおさらば。
仮想PCも余裕を持って起動できる!!✌('ω'✌)三✌('ω')✌三(✌'ω')✌

ってわけで、安く済ませるためにまずは中古メモリを探してみたら以下のものを見つけた。

ADT AD3U1600W8G11-2(DDR3 PC3-12800 8GBx2) | メモリ | 通販ならドスパラ中古販売(なんば(中古))
http://used.dospara.co.jp/sale/detail.php?serialno=83280000074606
12949x2=25898(+669)=26567

調べてみると相性問題が結構あるらしい。
( ˘⊖˘).。o○(これも相性問題で売られたのかな…?)
 ってわけでやめて、価格最安で評価の良い以下のメモリに決定。

価格.com - CFD W3U1333PS-8G [DDR3 PC3-10600 8GB 2枚組] 価格比較
http://kakaku.com/item/K0000637102/
15400x2=30800


残りのパーツは、最初は以下のベアボーンで小さいのを組もうかと考えていた。

価格.com - Shuttle SH97R6 [黒]
http://kakaku.com/item/K0000713949/
32799

ケース+電源+マザーだけで33kはなかなかの値段…

なので、それぞれの同等以上のパーツを検討してみた。

価格.com - NZXT Source 210 Elite 価格比較
http://kakaku.com/item/J0000002163/

価格.com - 玄人志向 KRPW-SS350W/90+ 価格比較
http://kakaku.com/item/K0000440247/

価格.com - ASUS H97-PRO 価格比較
http://kakaku.com/item/K0000651184/
10060(-1006)-3080-298
Case+Power+M/B
6665(+1018)+4980(+398)+9100=20745(22161)

送料とか考えても圧倒的に安いのでベアボーン却下。

H97-PROは、メモリ最安がヨドバシだったのでそのポイントを使うため、ヨドバシで購入。

最初はまるまる1式買って組もうかと思ってたけど、電源とケースはほぼ同時に買ったファイルサーバー用のQ1900Mに使い、ケースと電源は余ってたものを使用。

ストレージはTranscendのSSD 512GBを購入。
http://www.amazon.co.jp/dp/B00K9HID1C/

これで色々遊べるPCが完成。

2015/07/23追記。
このPCで「World of Warships」が1080p、画質設定「中」の状態で20~30fpsって感じ。
別GPUを載せてなくても内蔵GPUでまぁ普通にプレイできる。

2015/11/10追記。
「GF-GTX750Ti-LE2GHD [PCIExp 2GB]」を購入。
「World of Warships」が1080p、画質設定「中」、OBSでGPUエンコさせながらTwitch配信を行っても60fps安定。
「高」以上の状態で配信するとたまにカクついた。

2016/01/07追記。
上記グラボで画質「最高」に設定しても、60fps安定してた。
LAN周りに異常があったからカクついていたようだ…。

2015/05/19

rails serverを実行するとエラーが出る

第1章 ゼロからデプロイまで | Rails チュートリアル
http://railstutorial.jp/chapters/beginning?version=4.0

これの「1.2.5 rails server」まで進んだところでエラーの山が。
http://railstutorial.jp/chapters/beginning?version=4.0#sec-rails_server

C:\RailsProjects\first_app>rails s
=> Booting WEBrick
=> Rails 4.0.5 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
Exiting
C:/RailsProjects/first_app/config/environments/development.rb:2:in `<top (required)>': undefined method `configure' for #<FirstApp::Application:0x418b210> (NoMethodError)
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activesupport-4.0.5/lib/active_support/dependencies.rb:229:in `require'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activesupport-4.0.5/lib/active_support/dependencies.rb:229:in `block in require'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activesupport-4.0.5/lib/active_support/dependencies.rb:214:in `load_dependency'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activesupport-4.0.5/lib/active_support/dependencies.rb:229:in `require'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/engine.rb:591:in `block (2 levels) in <class:Engine>'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/engine.rb:590:in `each'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/engine.rb:590:in `block in <class:Engine>'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/initializable.rb:30:in `instance_exec'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/initializable.rb:30:in `run'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/initializable.rb:55:in `block in run_initializers'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/2.0.0/tsort.rb:150:in `block in tsort_each'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/2.0.0/tsort.rb:183:in `block (2 levels) in each_strongly_connected_component'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/2.0.0/tsort.rb:210:in `block (2 levels) in each_strongly_connected_component_from'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/2.0.0/tsort.rb:219:in `each_strongly_connected_component_from'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/2.0.0/tsort.rb:209:in `block in each_strongly_connected_component_from'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/initializable.rb:44:in `each'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/initializable.rb:44:in `tsort_each_child'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/2.0.0/tsort.rb:203:in `each_strongly_connected_component_from'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/2.0.0/tsort.rb:182:in `block in each_strongly_connected_component'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/2.0.0/tsort.rb:180:in `each'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/2.0.0/tsort.rb:180:in `each_strongly_connected_component'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/2.0.0/tsort.rb:148:in `tsort_each'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/initializable.rb:54:in `run_initializers'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/application.rb:215:in `initialize!'
        from C:/RailsProjects/first_app/config/environment.rb:7:in `<top (required)>'
        from C:/RailsProjects/first_app/config.ru:3:in `require'
        from C:/RailsProjects/first_app/config.ru:3:in `block in <main>'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/rack-1.5.3/lib/rack/builder.rb:55:in `instance_eval'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/rack-1.5.3/lib/rack/builder.rb:55:in `initialize'
        from C:/RailsProjects/first_app/config.ru:in `new'
        from C:/RailsProjects/first_app/config.ru:in `<main>'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/rack-1.5.3/lib/rack/builder.rb:49:in `eval'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/rack-1.5.3/lib/rack/builder.rb:49:in `new_from_string'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/rack-1.5.3/lib/rack/builder.rb:40:in `parse_file'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/rack-1.5.3/lib/rack/server.rb:277:in `build_app_and_options_from_config'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/rack-1.5.3/lib/rack/server.rb:199:in `app'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/commands/server.rb:48:in `app'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/rack-1.5.3/lib/rack/server.rb:314:in `wrapped_app'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/commands/server.rb:75:in `start'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/commands.rb:76:in `block in <top (required)>'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/commands.rb:71:in `tap'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/commands.rb:71:in `<top (required)>'
        from bin/rails:4:in `require'
        from bin/rails:4:in `<main>'

調べたら以下の対策で解決できた。
1. 「./config/environment/development.rb」の内容を変更する。
Rails.application.configure do

Your_Rails_Application_Folder_name::Application.configure do
Your_Rails_Application_Folder_nameは「first_app」なら「FirstApp」にするらしい。

上の対策だけだとまだエラーが出る。
C:\RailsProjects\first_app>rails s
=> Booting WEBrick
=> Rails 4.0.5 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
Exiting
C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activesupport-4.0.5/lib/active_support/core_ext/time/zones.rb:68:in `rescue in find_zone!': uninitialized constant TZInfo::Inva
lidTimezoneIdentifier (NameError)
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activesupport-4.0.5/lib/active_support/core_ext/time/zones.rb:53:in `find_zone!'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activesupport-4.0.5/lib/active_support/railtie.rb:20:in `block in <class:Railtie>'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/initializable.rb:30:in `instance_exec'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/initializable.rb:30:in `run'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/initializable.rb:55:in `block in run_initializers'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/2.0.0/tsort.rb:150:in `block in tsort_each'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/2.0.0/tsort.rb:183:in `block (2 levels) in each_strongly_connected_component'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/2.0.0/tsort.rb:219:in `each_strongly_connected_component_from'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/2.0.0/tsort.rb:182:in `block in each_strongly_connected_component'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/2.0.0/tsort.rb:180:in `each'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/2.0.0/tsort.rb:180:in `each_strongly_connected_component'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/2.0.0/tsort.rb:148:in `tsort_each'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/initializable.rb:54:in `run_initializers'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/application.rb:215:in `initialize!'
        from C:/RailsProjects/first_app/config/environment.rb:7:in `<top (required)>'
        from C:/RailsProjects/first_app/config.ru:3:in `require'
        from C:/RailsProjects/first_app/config.ru:3:in `block in <main>'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/rack-1.5.3/lib/rack/builder.rb:55:in `instance_eval'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/rack-1.5.3/lib/rack/builder.rb:55:in `initialize'
        from C:/RailsProjects/first_app/config.ru:in `new'
        from C:/RailsProjects/first_app/config.ru:in `<main>'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/rack-1.5.3/lib/rack/builder.rb:49:in `eval'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/rack-1.5.3/lib/rack/builder.rb:49:in `new_from_string'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/rack-1.5.3/lib/rack/builder.rb:40:in `parse_file'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/rack-1.5.3/lib/rack/server.rb:277:in `build_app_and_options_from_config'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/rack-1.5.3/lib/rack/server.rb:199:in `app'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/commands/server.rb:48:in `app'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/rack-1.5.3/lib/rack/server.rb:314:in `wrapped_app'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/commands/server.rb:75:in `start'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/commands.rb:76:in `block in <top (required)>'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/commands.rb:71:in `tap'
        from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/commands.rb:71:in `<top (required)>'
        from bin/rails:4:in `require'
        from bin/rails:4:in `<main>'

2.「./config/environment.rb」に以下を「Rails.application.initialize!」より上に追記する。
require 'tzinfo'

これで無事実行できた。
C:\RailsProjects\first_app>rails s
=> Booting WEBrick
=> Rails 4.0.5 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2015-05-19 16:07:39] INFO  WEBrick 1.3.1
[2015-05-19 16:07:39] INFO  ruby 2.0.0 (2014-11-13) [i386-mingw32]
[2015-05-19 16:07:39] INFO  WEBrick::HTTPServer#start: pid=724 port=3000

参考:
rails server実行時にエラーがでて起動しない時の解決方法 - Qiita
http://qiita.com/244mix/items/d74c10e1496811a19d2b

activesupport - Uninitialized Constant TZInfo::InvalidTimezoneIdentifier (NameError) - Rails 4 - Stack Overflow
http://stackoverflow.com/questions/20713472/uninitialized-constant-tzinfoinvalidtimezoneidentifier-nameerror-rails-4

Rubyのdevkitをインストールしようとしたらconfig.ymlを編集しろと怒られる

WindowsでのRuby on Rails – 開発環境構築からアプリケーション実行まで | Developers.IO
http://dev.classmethod.jp/server-side/ruby-on-rails/windows_ruby-on-rails_run/

「rubyinstaller-2.2.2-x64」 と「DevKit-mingw64-64-4.7.2-20130224-1432-sfx」を用いて、このページを見ながら環境構築しようとしたら「ruby dk.rb install」の部分で以下メッセージが出てインストールに失敗した。

C:\Ruby22-x64\devkit>ruby dk.rb install
Invalid configuration or no Rubies listed. Please fix 'config.yml'
and rerun 'ruby dk.rb install' 
"config.yml"にRubyをインストールしたディレクトリを追記する必要があるようだ。

例)
- C:\Ruby22-x64

結果: 
C:\Ruby22-x64\devkit>ruby dk.rb install [INFO] Updating convenience notice gem override for 'C:/Ruby22-x64' [INFO] Installing 'C:/Ruby22-x64/lib/ruby/site_ruby/devkit.rb'
インストール成功。

参考:
Silent Bob の プログラムまとめ ruby 1.9.2 いれます~ - ruby
http://hackershigh.blog121.fc2.com/?mode=m&no=20

2015/05/13

Node.jsで必要なモジュールをインストールしたつもりなのにモジュールが不足していると怒られる

もの凄く初歩的なんだろうけど英語情報(Stack Overflow)しかなかったから覚書。

Node.jsのモジュールのインストールは以下コマンドで行えるが、コマンドを実行するフォルダはそのjsファイルが存在するところで行う必要がある、ようだ。

>npm install foge_module
すると、jsファイルと同じ所に「node_modules」フォルダが作成されてインストールが行われる。


普通にコマンドプロンプト開いてそのままインストールしてたから、何度インストールを実行しても見つからねぇ、と怒られる。

何か不足してるのか、と足りないものを一括でインストールするというコマンドを実行してみても同じだったから難儀した。

こういうのはどういうページで勉強したらいいかイマイチわからないんだよねぇ。

参考ページ
linux - node.js: cannot find module 'request' - Stack Overflow
http://stackoverflow.com/questions/16482600/node-js-cannot-find-module-request

2015/04/18

SONY 55W920AでのDLNAによるTS再生について

結論から言うと、WMP12のDLNAサーバー機能だけでできます。

DIGITAL 愉悦 研究会 : PT2,PT3で録画したTSファイルをテレビで視聴する。(WMP12 DLNA)
http://blog.livedoor.jp/shibainu_z_0618/archives/12606060.html

DLNAサーバー機能をONにして、ts動画のあるフォルダを動画のライブラリに登録するだけ。




以下どうでもいい小話

元々、TSを再生するには何か細かい設定やソフトが必要だと思い込んでいた。

で、「DLNAサーバー W920A」とかで調べると、SONYの古いテレビとPS3 Media Server(PMS) での再生方法が引っかかるのでそれで試してみたら普通にエンコードされてまともに再生できない。

なのでまた調べてたら、上のページを発見。

特にテレビの型番とか書いてないので半信半疑で試したらあっさり成功…

( ˘⊖˘).。o○(色々と試してた時間…)

まぁできたから良いんだけど

これでかなり捗る!!✌('ω'✌)三✌('ω')✌三(✌'ω')✌

Q1900MでVPN+動画エンコード+ファイルサーバー構築

Q1900Mの詳細は以下URLで。

価格.com - ASRock Q1900M 価格比較
http://kakaku.com/item/K0000649628/

ASRock > Q1900M
http://www.asrock.com/mb/Intel/Q1900M/index.jp.asp

[PCを組む経緯]
今までは安鯖(Lynnfield)でVPNとファイルサーバーを立てていた。
低スペックの割に電気を食う(70W前後)
かつ、動画変換を行いたくなった(QSVを使いたい)

[目標]
・消費電力を下げたい。
・QSVエンコードを行いたい。
→QSVに対応したAtomベース(BayTrail-D)のCeleron J1900(TDP:10W)のM/Bで組む。
・できるだけ安価に構築したい。
→SO-DIMMでなく、余りのあるDDR3 DIMMを使用できるM/Bで組む。

[結果]
DDR3 DIMMが使えるCeleron J1900のM/BはQ1900Mしかないのでこれで。

かなり節電になった。
HDD4台繋げて35~40W。
安鯖だと70W前後だったので約半分。

VPNはSoftether VPNでVPN鯖構築。
データドライブを全てSMB共有化。
QSVでのエンコードもまぁいい感じ。
PCIeにはSATAボード挿したので最大SATAx6可能にした。

[所感]
SATAが2つしかないのがアレだけど、まぁ及第点。

安価で省電力な鯖としておすすめ(´꒳​`)


[余談]
電源も購入して、古いものと比較してみた。
UEFI画面(HDDx1)での消費電力
350W(80+Gold) : 16W
500W(5年程前のもの) : 19W

結構違うのね…

2015/03/09

[Android] Android5.0(Lolipop)でサービスが起動できない問題の対処法

サービスの起動が、Android 4.4では動いてたのにAndroid 5.0では動かなくて、検索したがなかなか見つからず、検索ワードを色々試してやっと見つけたので覚書。

Android 5.0 で LVL が正常動作しない問題の対処 - Qiita
http://qiita.com/tmurakam99/items/8eb98c7eb572aa46dd76

Android 5.0から明示的Intentを使用しないとエラーを返すように仕様が変更された、らしい。

つまり、bindServiceでbindするサービスを指定したIntentにsetPackage()でパッケージ名を明示ておかなければbindに失敗する。

intent.setPackage("com.hoge.fugaService");
bindService(intent, serviceConnection, BIND_AUTO_CREATE);

タイトルだけ見てもサービスに関することだと分からんっていう…ʅ( ´Д`)ʃ

2015/03/03

[Android] AIDLを含むユーザーライブラリの作成方法

AIDLを含むプロジェクトのユーザーライブラリ化にかなり右往左往したので覚書。

結論から言えば、単純にソースファイルのjavaファイルと一緒に、AIDLによって自動生成されたgenフォルダ内のjavaファイルを含めて、JARファイルとしてエクスポートすれば良いだけ。

…一度やろうとしてできなかったような気がするが、今実行すると普通に動いた。

♪L( ^ω^ )┘└( ^ω^ )」♪

2015/03/02

[Android] getSystemServiceでNullPointerExceptionになる

基本中の基本なんだろうけど、久々に書いてて気付くまで半日使ってしまったので覚書。

現象:
getSystemServiceでNullPointerExceptionになる。

解決方法:
ServiceまたはActivityのonCreate(super.onCreate)以降でgetSystemsServiceを行う。