2014年12月11日木曜日

Android Studio 1.0 で既存のプロジェクトをインポートしてみた

Android Studio 1.0で既存のプロジェクトをインポートすると、
ビルドでエラー出まくりなのでメモ。

想定済みのようですでにドキュメントがありましたので、ここを参照しました。

Building Project Gradle

https://github.com/excilys/androidannotations/wiki/Building-Project-Gradle

Migrating Gradle Projects to version 1.0.0

http://tools.android.com/tech-docs/new-build-system/migrating-to-1-0-0

後の祭りですが、次のところにビルドシステムの変更履歴がまとめられていて、しかも重要な変更は赤文字になっていて, Oh...
http://tools.android.com/tech-docs/new-build-system

build.gradleを修正した

-        classpath 'com.android.tools.build:gradle:0.9.+'
+        classpath 'com.android.tools.build:gradle:1.0.0'

-    tasks.withType(Compile) {
+    tasks.withType(JavaCompile) {
-apply plugin: 'android'
+apply plugin: 'com.android.application'
 
-        androidManifestFile variant.processResources.manifestFile
+        androidManifestFile variant.outputs[0].processResources.manifestFile

-                runProguard true
+                minifyEnabled true

次のようなエラーメッセージが出るので参考まで

Error:The project is using an unsupported version of the Android Gradle plug-in (0.9.2). The recommended version is 1.0.0.
Fix plugin version and re-import project
Gradle DSL method not found: 'runProguard()'
Error:(12, 0) Could not find property 'processResources' on com.android.build.gradle.internal.api.ApplicationVariantImpl_Decorated@3bec7d05.

あと、インポート直後はプロジェクトのディレクトリが見えなかったけど、
ビルドが成功したら見えるようになった。
そういうものらしい・・・。

2014年8月23日土曜日

rsyncのエラー for Ubuntu 14.04 LTS

安心・信頼のrsyncでちょっとはまったのでメモ。

Ubuntu 14.04からNASにrsyncして次のエラーが発生

rsync: opendir "/media/path/to/dir" failed: Permission denied (13)

sent 59 bytes  received 24 bytes  33.20 bytes/sec
total size is 0  speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.0]

rsyncのバージョン情報

コマンドでバージョン確認
rsync --version

Ubuntu 14.04 LTS
rsync  version 3.1.0  protocol version 31

NAS
rsync  version 3.0.9  protocol version 30
調べたところ同様の現状が見つかり--protocolオプションをつけて解決できた人もいたようなので、次のオプションを試すも失敗。
rsync --protocol=30
rsync --protocol=26
新しいバージョンがないか調べたところ、バージョン3.1.1を発見。 変更履歴確認したところバグフィックスも多いようなので、3.1.1をビルドして試したところ無事ファイル転送できました。
http://rsync.samba.org/
http://rsync.samba.org/ftp/rsync/src/rsync-3.1.1-NEWS
NG 3.1.0 -> 3.0.9
OK 3.1.1 -> 3.0.9
このエラーは、おそらく転送元のフォーマットがHFS+(OSX)なのが影響してそう。
exFATだったかも・・・忘れた。 ext4上のファイルは問題なく転送できました。

2014年7月11日金曜日

knife soloのプロキシー設定 for CentOS 6.5

knife solo prepareがproxy設定で動作した設定値のメモ 環境変数で動作したので環境依存なのかな。 knife.rbで動作しないのが気になる気になる。
動作したのは次の設定

動作環境

環境 CentOS 6.5
Chef 11.14.0.rc.2-1

実行コマンド

knife solo prepare ホスト名

設定ファイル

/etc/environment

設定値

http_proxy="http://ドメインorIPアドレス:ポート番号"
https_proxy="https://ドメインorIPアドレス:ポート番号"

動作しなかった設定


knife.rb
http_proxy "http://ドメインorIPアドレス:ポート番号"
https_proxy "http://ドメインorIPアドレス:ポート番号"
knife[:bootstrap_proxy]="http://ドメインorIPアドレス:ポート番号"

/etc/profile.d/proxy.shにhttp_proxyの環境変数を設定

ソースは追ってないので、原因はまた時間あるときに。

2014年6月13日金曜日

Haswell Refresh?結局コスパがいいCPUってどれなの?

Haswell Refresh版CPU関連の製品も出そろった感がある今日この頃、
皆様いかがお過ごしでしょうか?

Haswell Refresh搭載のほとんど変化を感じられなかったMacBook Airにがっかりされた方は多いかと思いますが、Core M版出るのか?または全然別の製品になるのか?ARM版とかおもしろいの出ないかな?とかとか、妄想が膨らみます。

また、14nmプロセスのCore Mは、年末出荷開始ようなので、この分野はそれまでは目立った新製品はないかと思っています。

いずれにせよ、お楽しみは秋頃までお預けっぽいので、
今買えるCPUは、コスパ重視のものを選ぶのががよいと思い、
いくつかコスパの良い1万円以下のCPUを中心とした製品をご紹介いたします。

しかし、「コスパ重視」と言っても、
用途によっては全くコスパがよくないので、用途別にご紹介したいと思います。

コスパと言えば省電力


ASRock Intel マザーボード BayTrail-D クワッドコア Celeron J1900 Mini-ITX Q1900B-ITX


参考価格 ¥9,157 (2014/6/13時点のamazonの価格です)

いきなりCPUではないのですが、Celeron J1900オンボードのマザーボードです。
このマザーボードにmini-ITXケース、電源、メモリー、SSDつければ、TDP10Wのファンレス静穏PCがさくっと作れます。CPU性能は高くはないですが、低消費電力なのでつけっぱなしでも電気代にやさしく、しかも4Coreなので自宅サーバなどの用途にはもってこいなのではないでしょうか。
ちなみに低電圧 SO-DIMM以外に通常電圧のSO-DIMMにも対応しているのでノートPCのメモリ余っていたら流用できそうですね。

コスパ重視・・・できればゲームも


仕事も快適に、たまにゲームもプレーしたいという人。
一般的にはゲーマーな方はコスパよりそもそも性能重視なのですが、FF14とか、ドラクエ10とかプレーしたいぞ!というあなたはズバリ、まさかのPentium!!!

Intel CPU Pentium 3.20GHz 3Mキャッシュ LGA1150 BX80646G3420


参考価格 ¥7,442 (2014/6/13時点のamazonの価格です)

まさかのPentiumですが、実はすごいんですよ。
何がすごいかというか、シングルスレッドの性能です。
ゲームを快適にプレーするには、今でもわりとシングルスレッドの性能が重要だったりします。

詳しくはこちらのサイトをみてください。
http://www.cpubenchmark.net/singleThread.html

上記のサイトでのシングルスレッドの性能を比較した場合ですが、
Intel Core i7-4790 3.60GHzは、2,319です。
Intel Pentium G3420 3.20GHzは、1,861です。

ちなみにCore-i7-4790は、参考価格¥32,874 (2014/6/13時点のamazonの価格)です。

価格は「4.4倍」もするCPUなのに、
シングルスレッドの性能差は「1.2倍」程度なんです!!!!


ただし、最近のゲームはグラフィック性能が求められるので、グラフィックボードは別に購入された方がよいです。
こちらもコスパの良い次のボードあたりを積むと快適にゲームがプレーできるのではないかと思います。CPUより高いですが、オンボードのグラフィックとは桁違いの性能です。

玄人志向 ビデオカード R9 270搭載 RD-R9-270-E2GB



参考価格 ¥16,735 (2014/6/13時点のamazonの価格です)


ちなみにPentiumは20周年記念で、コスパ良さげな20周年記念モデルが発売される・・・


G3258(Anniversary Edition 3.20GHz) LGA1150


参考価格 ¥ 8,186 (2014/6/13時点のamazonの価格です)

この20周年記念モデルの特徴としては、オーバークロック可能なので遊べるCPUですね。もしかすると大当たりが含まれているのかな?当たりならコスパいい?

4.5GHzで安定動作した場合に、「より上位のCore i3シリーズがすべて不要になってしまうのでは」という声もあるそうです。
http://www.gdm.or.jp/crew/2014/0605/73070

OC魂に火がつく人にオススメです。

コスパ重視・・・だけどPentiumはいや!せめてCore-iがいい!?


という、ブランド指向のあなたは、ズバリ Core i3 4130にしましょう。
Intel CPU Core-I3 3.40GHz 3Mキャッシュ LGA1150 BX80646I34130 【BOX】
参考価格 ¥13,349 (2014/6/13時点のamazonの価格です)
amazon以外では、¥12,000台のところもあるようです。

今回唯一の1万円オーバーのCPUですが、Core-iブランドの威力だけでなく、Pentiumには無いハイパースレッディングにも対応しているので、マルチスレッド実行環境ではそれなりの価値があるかと思います。アプリケーションをいくつも立ち上げて同時にいろいろ作業される方向きですね。

まとめ


今回は、コスパ重視ということで1万円以下のCPUをご紹介しまいたが、実は高いCPUにも高いなりの性能があり特にマルチスレッド環境では十分に性能を発揮してくれます。
コスパ重視と言っても用途によってはその価値が大きく異なるので、用途に見合った性能を得るのが正しいコスパ最強への道だと思います。

2014年4月3日木曜日

Kindle Fire HDX 7タブレットを3ヶ月使ったのでそろそろ言っておくか

Kindle Fire HDX 7タブレットを購入してから3ヶ月が過ぎたでの、
購入するまでの経緯と結果どうなったかを書いてみます。

たまたまですが、Amazonで「Kindle Fire HDX 7が最大22%OFF! 4/25 23:59まで」らしいので、
タブレットを探している方で、なかなか購入に踏み切れない方は参考になれば幸いです。

あと、Amazon MasterCardの入会キャンペーンで通常のカードでも2000円分のポイントつくらしいので、キャンペーンも利用すると約7,780円OFFくらいで購入できそうですね。

ちなみにここだけ見るとすごいKindle推しのステマのようですが、
残念ながら関係者でもステマでもありません。


家でiPadを使っているけど・・・


iPadは、通勤電車で片手で扱うには大きくて重いので外では使っていません。

通勤時間に外で使える小さめのタブレットはずっと探しいていたのですが、旧式とは言えすでにiPadを持っていたので、なかなかiPad mini Retinaの購入の決断はできませんでした。そんなわけで使い道とコストに見合うか考えを整理してみました。


タブレットを購入する目的を明確にした

  • 読書する時間を増やしたい
  • 鈍器のような分厚い技術書をPDFに変換して持ち歩きたい

まずは、目的を2つにしぼりました。

過去にも通勤電車に文庫本とか持ち込んだことがありましたが、満員電車では片手でページめくりしたり読むのは至難の技で、文庫本以上のサイズだと荷物になったりですぐにやめてしまいました。でも本を読んでいる時間は没頭できて有意義だった記憶があります。
ものぐさな私ですが、この苦痛な通勤時間をなんとかせねばと常々思っていたのと、なぜか自然に読書熱がわいてきたのと、重い鈍器のような技術書を毎日読み進めたいという思いが、 いろいろできそうなタブレットを目の前にしても、あえてこの2つの目的に絞り込めました。


タブレット選びとコスパ

通勤電車で読書する時間が増やせればいいという目的にたどり着いたので、タブレットを選ぶ条件を考えました。
  • 電子書籍が快適に読める
  • PDFファイル(1000ページを超えるような自炊した本も含む)が快適に読める
  • 電車で片手で持てるサイズ
  • 小さい文字もきれいに見える
  • コスパ

上記の条件を確認するために、家電量販店で実機をいくつかさわったら、 結局よくある次の3候補に絞り込まれました。
機種 価格 感想
iPad mini Retina 16GB ¥38,800 個人的には本を読むのに一番適していると思いました。
Kindleとの価格差14,000〜18,000円以上
Nexus7 2013 16GB ¥27,800 Google Playが使えるので汎用的に使えてかなり魅力的です。
Kindle Fire HDX7 16GB ¥24,800 この値段で画面が奇麗で快適な動作はすごいと思います。

どのタブレットも画面がきれいで見やすく性能も高いので、どれを購入しても後悔はないかと思います。その中でも画面の縦横比の関係か、やはりiPad mini Retinaが1位かと思いましたが、当時Kindleがキャンペーン価格で2万円を切る価格で買えたので、iPad mini 1台の価格でKindle2台買えそうなくらい価格に差がありました。
あと、すでにiPad Retinaを持っていたというのもあって、Kindleを試したいという気分にもなり、最後はコスパで決めてKindleになりました。この性能で2万円を切るというのはかなり背中を押されたと思います。


タブレットを持ち歩くようになった結果wwwwww


劇的に読書量が増えましたwwwwwwwwww

目的通りというか、本当にそうなりました。
これまで積んでいた技術書も読んだり、違うジャンルの本も読むようになりました。
しかも、通勤時間のストレスが減って有意義な時間に思えます。
1000ページ以上ある「ストラウストラップのプログラミング入門」も自炊して愛読書となりました。

最近はleanpubを利用する機会が増えました。
leanpubは購入した書籍を直接Kindleに送れて便利ですね、別途紹介できたらいいかも
Kindleには副作用があって・・・。 気になる本をバンバン買ってしまったり、角川祭り(50%〜70%OFF)が開催されたりで、コスパ優先で買ったKindleですがその後のコスパはよろしくないようです(涙)
角川祭りの影響が出過ぎている画像・・・。


まとめ

  • 荷物になるから本を持ち歩きたくないという人は、読書量が劇的に増加する可能性があります。
  • 少し空いた時間でも手軽に読書できるようになります
  • 7インチのタブレットは、電車で本を片手で読むにはいいサイズだと思います。
  • 読書が目的なら容量は16GBでも十分いいと思う
  • Amazon Kindle Fire HDX スタンド付き ORIGAMI 合皮 カバー/ケースがすごくいい。カバーとしてもスタンドとしてもかなりいい感じに機能してくれます。価格は高いけど満足度も高いのでKindle購入する人にはオススメしたい
  • 「紙の本と電子書籍を同時に発売してくれればいいのに・・・」と思うようになります。
  • DRMフリーで電子書籍を販売してくれるO'Reillyはすごいと思う。DRMフリーだとPCでも見れるので助かります。
  • タブレットの使用目的が読書と明確ならコスパ重視のKindleが幸せ(差額で本を買いましょう)
  • 予算が十分にある人は、LTEついてるiPad mini RetinaかNexus7がオススメなのは言うまでもない

タブレット選びのご参考になると幸いです。

2014年3月27日木曜日

Amazon Linuxでyumリポジトリのバージョンを指定する

Amazon Linuxは、ソフトウェアのバージョンアップが定期的に行われているので、
yumで追加モジュールをインストールしようとすると他のパッケージも同時にバージョンアップされることがあります。
他のパッケージはバージョンアップしたく無い場合は、yumリポジトリの参照先を変更すると、
過去のパッケージがインストール可能となります。

yum.confの修正

sudo vi /etc/yum.conf

#releasever=latest  <- コメントアウトする
releasever=2012.09       <- リポジトリのバージョンを指定する

yumのキャッシュ削除

sudo yum clean all

パッケージのバージョン確認

sudo yum list | grep apc

php-pecl-apc.x86_64                 3.1.13-1.8.amzn1           amzn-updates  
これで2012.09のパッケージがインストールできますね。


パッケージリスト


リリースノート


2014年3月7日金曜日

sftp接続できなくなった for Coda2

Vagrantで作業してたところ、Coda2というかsftp接続ができなくなった。
次のようなエラーメッセージが出ます。

Coda2のエラーメッセージ

サーバ “ホスト名” に接続できませんでした。
Unable to extract public key from private key file: Wrong passphrase or invalid/unrecognized private key file format

sftpコマンド試してみる

sshは接続できるので、sftpコマンドで接続したところ同様に接続できませんでした。
$ sftp 192.168.33.10
Received message too long 1433626990
Coda2のエラーメッセージと違いこちらはなんとなく原因がわかりました。 事前に設定していた.bashrcの内容をコメントアウトしたら無事接続できました。

rvmをコメントアウト

次の1行をコメントアウトしただけです。
rvm use 2.1.1
さすがにコメントアウトは不便なので、
sftp接続の時に処理されないように.bashrcを修正します。

.bashrcの修正

CentOSでsftp接続の場合は次の環境変数が設定されていたのでこれを使用して、.bashrcの先頭の方に次のように追記しました。
[ -z "$PS1" ] && return

ちなみに環境変数の差分取ってみたところ、
sftp接続限定の場合は、BASH_EXECUTION_STRING変数を利用してもよいかもしれません。
# CentOS6の場合
if [ "$BASH_EXECUTION_STRING" = "/usr/libexec/openssh/sftp-server" ]; then
 return
fi

# または正規表現でマッチさせる
if [[ "$BASH_EXECUTION_STRING" =~ sftp ]]; then
  return
fi

結論

対話的じゃないときは余計なことしないように、$PS1で条件分岐した方が無難ですね。
Debian Wheezyの/etc/bash.bashrc
# If not running interactively, don't do anything
[ -z "$PS1" ] && return

CentOS
/etc/bashrc
# are we an interactive shell?
if [ "$PS1" ]; then

OSX
/etc/bashrc
# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
   return
fi

シェル環境を見直すよい機会となりました。