2012年11月16日

[android] ネットワークの判別

Android端末がどのネットワークに接続しているか判別する方法を調べました。

ConnectivityManagerのgetActiveNetworkInfo()を使えば良いようです。
ネットワークに繋がっていないときはnullが返りました。

返却されたNetworkInfoのgetType()で接続ネットワークが分かります。
種類はConnectivityManagerにTYPE_XXXとして定義されています。

ISW12HTで試したときは以下のようになりました。

・3G → TYPE_MOBILE
・Wi-Fi → TYPE_WIFI
・WiMAX → TYPE_WIMAX
・機内モード → (null)

ただ、LTEの端末で試してもTypeは変わらず。

・LTE → TYPE_MOBILE

判別には使えないのかとも思いましたが、NetworkInfoにはgetSubtype()というメソッドもありました。
LTE端末で返却される値は13。
合っているかどうかはわかりませんが、おそらくこの値は TelephonyManager#NETWORK_TYPE_LTE だと思います。

サンプル・コードはこちら↓
https://www.box.com/s/bil4ig0a284vhl5dw1oy
タグ:android
posted by t2low at 01:00| Android

2012年08月26日

[Ruby] 自分でインストールしたSQLiteを優先して使う

homebrewでsqliteをインストールしたところ /usr/local/bin にインストールされました。
ただ、これだとプリインストールされていたsqliteが使われてしまいます。
そこで…。

Homebrewを快適に使うために設定してる4つのこと | Macとかの雑記帳
http://tukaikta.blog135.fc2.com/blog-entry-208.html

こちらに書かれていた通りに「/etc/paths」を書き換えました。
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

.bashrcで書き換える方法というのもあるらしいのですが…?
このMacは自分しか使わないし、とりあえずはこれで良いや。
タグ:SQLite
posted by t2low at 23:28| Ruby

2012年08月22日

[Android][献本御礼] Androidプログラミング 上達読本

出版社の方から献本いただきました。

Androidプログラミング上達読本」という本です。

著者の一人の方がツイートしているのを見かけて知りました。
まだまだ知らないことはたくさんありますが、それでも初心者の域は脱していると思っているので、上級者はどのようなことをしているのかに興味がありました。
掲載されているのは以下の8記事。

・ Java歴10年の筆者によるAndroid初挑戦レポート
・ サクサク動く快適UIへの近道
・ アプリの無応答を防ぐStrictモードの使い方
・ Android3.0で追加されたプロパティーアニメーション
・ jQueryMobileで作るWebアプリとネイティブ連携
・ マルチタッチ、カメラやセンサー、GPS機能を活かすアプリ開発
・ 自分専用「電話帳アプリ」の自作レポート
・ 自作アプリをセキュアにする6つの対策ポイント

それぞれに感想を。

・ Java歴10年の筆者によるAndroid初挑戦レポート
Java歴10年はすごいすわ…。
読んでいて「え、そんなに簡単にAndroidってわかるものだっけ?」と思いました。
僕はAndroid1.5の頃からやっていますが、こんなに簡単にはいかなかったような…。
いや、当時Java未経験だった自分と比べるのは失礼ですけど。
ある程度Javaの経験がある人だとAndroidって簡単なんでしょうかね。


・ サクサク動く快適UIへの近道
ツールを使って快適さを向上させようという記事。
こういったツールのお話は良いですよね。ネットだとあまり詳しい説明されていることが少ないですし。
自分のアプリでもこういった方法使って快適なものにしたいですが、どうしても後回しになってしまいます。


・ アプリの無応答を防ぐStrictモードの使い方
自分が一番興味を持った記事です。
「自分に厳しく」といった感じのStrictModeの説明。
いつか自分も実践しようと思いました。
ただ、これも後回し系です。
一番興味を持った記事ではありますし、やれば良くなる!とは思うのですが、やはり「自分に厳しく」は難しい…。


・ Android3.0で追加されたプロパティーアニメーション
これまでとは違ったアニメーション方法です。
自分は以前からあるビューアニメーションという方法しか知りませんでした。
プロパティアニメーションはオブジェクトのパラメータの値を変化させるアニメーションだそうです。
これを見た時、なんでこれが最初からなかったのか不思議に思うくらい自然なアニメーション方法だと思いました。
アニメーションはユーザからもわかりやすい部分なので、積極的に取り入れていきたいですね。


・ jQueryMobileで作るWebアプリとネイティブ連携
jQueryもおもしろそうですよねぇ。
自分はほとんどクライアント側のプログラムばかり書いてきたので、サーバ側のプログラム(javascriptはそうでもないかな…)は、ほとんどやったことがないのですけど、おもしろそうですよねぇ。
やっぱりネイティブアプリを書くより速いですしね。こういったものも覚えなければなぁ、と思いました。


・ マルチタッチ、カメラやセンサー、GPS機能を活かすアプリ開発
・ 自分専用「電話帳アプリ」の自作レポート
この2つの記事はスマートフォンの機能を使っているということでまとめて。
昔、自分でもカメラアプリを作ったときのことを思い出しました。
当時はよくわからないままコード書いていたので、これくらいまとまった資料があるとやりやすかったろうなぁ、と。
すごく詳しいところまで書いてあるわけではないのですが、基本だけでもわかると理解が早かったとおもいます。
あの頃に読みたかった。


・ 自作アプリをセキュアにする6つの対策ポイント
最近、いろいろと話題になりますよね。特にAndroidはいろいろと自由なだけに。
短いページ数ですが、気をつけるべきところがまとめられているのではないかと思います。
まったく知らないのと、ここに書かれていることだけでも知っているのでは大違いです。
仕事では多くの人に使ってもらうアプリを作っているので、僕もこういう点を注意しなければ…。


どの記事も面白かったです。
それぞれ著者の得意分野なのでしょうか。記事から楽しさが伝わってきます(気のせい?)。
掲載されたコードも短めで、本とPCをにらめっこしながら読み進むタイプではないので、電車の中で楽しく読むことができました。ちょっと本のサイズは大きいですけど…。
同じように初心者の域は脱しているという方は、ぜひぜひ読んでみると良いと思います。
タグ:android
posted by t2low at 01:28|

[Ruby] rbenvのアンインストールとRVM、Railsのインストール

前回の続きです。

rvmやめてrbenvにしてみた - Meltdown Countdown rev.
http://marutanm.hatenablog.com/entry/20110818/p1

t2low:~ t2low$ rm -rf ~/.rbenv/
t2low:~ t2low$ rm -rf /usr/local/bin/rbenv
t2low:~ t2low$ rm -rf /usr/local/Cellar/rbenv/

rbenvのアンインストールがよくわからなかったので、上のサイトを参考に削除してみましたが…Homebrewでインストールしたんだから、アンインストールする手段もあったんじゃ…?
時すでに遅し、ですが。
あと「rbenv-install」ってコマンドが残りました。消し方わからんし、とりあえず放置します…。

続いてRailsのインストールです。
これはせっかく買った改訂新版 基礎Ruby on Rails (IMPRESS KISO SERIES)を見て行いました。
20ページに書いてあるとおりです。
t2low:~ t2low$ sudo gem install rails --version "~> 3.2.1" --no-rdoc --no-ri
Password:
Fetching: i18n-0.6.0.gem (100%)
Fetching: multi_json-1.3.6.gem (100%)
Fetching: activesupport-3.2.8.gem (100%)
Fetching: builder-3.0.0.gem (100%)
Fetching: activemodel-3.2.8.gem (100%)
Fetching: rack-1.4.1.gem (100%)
Fetching: rack-cache-1.2.gem (100%)
Fetching: rack-test-0.6.1.gem (100%)
Fetching: journey-1.0.4.gem (100%)
Fetching: hike-1.2.1.gem (100%)
Fetching: tilt-1.3.3.gem (100%)
Fetching: sprockets-2.1.3.gem (100%)
Fetching: erubis-2.7.0.gem (100%)
Fetching: actionpack-3.2.8.gem (100%)
Fetching: arel-3.0.2.gem (100%)
Fetching: tzinfo-0.3.33.gem (100%)
Fetching: activerecord-3.2.8.gem (100%)
Fetching: activeresource-3.2.8.gem (100%)
Fetching: mime-types-1.19.gem (100%)
Fetching: polyglot-0.3.3.gem (100%)
Fetching: treetop-1.4.10.gem (100%)
Fetching: mail-2.4.4.gem (100%)
Fetching: actionmailer-3.2.8.gem (100%)
Fetching: rack-ssl-1.3.2.gem (100%)
Fetching: thor-0.16.0.gem (100%)
Fetching: json-1.7.5.gem (100%)
Building native extensions. This could take a while...
Fetching: rdoc-3.12.gem (100%)
Depending on your version of ruby, you may need to install ruby rdoc/ri data:

<= 1.8.6 : unsupported
= 1.8.7 : gem install rdoc-data; rdoc-data --install
= 1.9.1 : gem install rdoc-data; rdoc-data --install
>= 1.9.2 : nothing to do! Yay!
Fetching: railties-3.2.8.gem (100%)
Fetching: rails-3.2.8.gem (100%)
Successfully installed i18n-0.6.0
Successfully installed multi_json-1.3.6
Successfully installed activesupport-3.2.8
Successfully installed builder-3.0.0
Successfully installed activemodel-3.2.8
Successfully installed rack-1.4.1
Successfully installed rack-cache-1.2
Successfully installed rack-test-0.6.1
Successfully installed journey-1.0.4
Successfully installed hike-1.2.1
Successfully installed tilt-1.3.3
Successfully installed sprockets-2.1.3
Successfully installed erubis-2.7.0
Successfully installed actionpack-3.2.8
Successfully installed arel-3.0.2
Successfully installed tzinfo-0.3.33
Successfully installed activerecord-3.2.8
Successfully installed activeresource-3.2.8
Successfully installed mime-types-1.19
Successfully installed polyglot-0.3.3
Successfully installed treetop-1.4.10
Successfully installed mail-2.4.4
Successfully installed actionmailer-3.2.8
Successfully installed rack-ssl-1.3.2
Successfully installed thor-0.16.0
Successfully installed json-1.7.5
Successfully installed rdoc-3.12
Successfully installed railties-3.2.8
Successfully installed rails-3.2.8
29 gems installed

Railsってよくわかってなかったのですが、gemの集合なんですかね。
t2low:~ t2low$ rails -v
Rails 3.2.8

最後にバージョンを確認しておしまい。
ようやくRailsの勉強に入ります。
長かった。
posted by t2low at 00:26| Ruby

2012年08月21日

[Ruby] rbenvへの乗り換え?

先日rvmのインストールを終えたばかりだというのに、巷の「rbenvいいよ」という記事を見かけてrbenvに乗り換えてみようかと作業を開始しました。
(この時点でてきとーにrvmのアンインストールをしたせいか、プリインストールのrubyにも影響してしまったらしく、まともに動かない状態)

Ruby on Rails 3.2 を Mac OS X にインストールする手順をかなり丁寧に説明してみました - Rails 雑感 - Ruby on Rails with OIAX
http://www.oiax.jp/rails/zakkan/rails_3_1_installation_on_macosx.html

参考にさせていただいた記事はこちら↑。
とりあえず、手順どおりに進めます。
途中からですけど。
t2low:~ t2low$ brew install rbenv
==> Downloading https://github.com/sstephenson/rbenv/tarball/v0.3.0
######################################################################## 100.0%
==> Caveats
To enable shims and autocompletion, add rbenv init to your profile:
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
==> Summary
/usr/local/Cellar/rbenv/0.3.0: 32 files, 160K, built in 8 seconds

インストールできたみたい。
t2low:~ t2low$ brew install ruby-build
==> Downloading https://github.com/sstephenson/ruby-build/tarball/v20120524
######################################################################## 100.0%
==> ./install.sh
/usr/local/Cellar/ruby-build/20120524: 45 files, 196K, built in 6 seconds
t2low:~ t2low$

かんたんかんたん(コピペだし)。
t2low:~ t2low$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
t2low:~ t2low$ source ~/.bash_profile

rbenvの初期設定でしょうか。
よくわからないまま進んでいきます…。
t2low:~ t2low$ CONFIGURE_OPTS="--with-readline-dir=/usr/local" rbenv install 1.9.3-p194
Downloading http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz...
Installing yaml-0.1.4...
Installed yaml-0.1.4 to /Users/t2low/.rbenv/versions/1.9.3-p194
Downloading http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz...
Installing ruby-1.9.3-p194...
Installed ruby-1.9.3-p194 to /Users/t2low/.rbenv/versions/1.9.3-p194

これはrubyのインストールでしょうかね。
結構時間かかりました。
t2low:~ t2low$ rbenv rehash
t2low:~ t2low$ rbenv global 1.9.3-p194
t2low:~ t2low$ rbenv version
1.9.3-p194 (set by /Users/t2low/.rbenv/version)
t2low:~ t2low$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin12.0.0]

rubyがきちんと再インストールされました。
よかったよかった…。
できなかったらどうしようかと…。
t2low:~ t2low$ cat ~/.gemrc 
install: --no-ri --no-rdoc
update: --no-ri --no-rdoc

なんか.gemrcを作るらしいです。デフォルトの設定でしょうか。
続いて、railsもインストールしちゃいます。
t2low:~ t2low$ rbenv exec gem install rails --version="~> 3.2.6"
Fetching: i18n-0.6.0.gem (100%)
Fetching: multi_json-1.3.6.gem (100%)
Fetching: activesupport-3.2.8.gem (100%)
Fetching: builder-3.0.0.gem (100%)
Fetching: activemodel-3.2.8.gem (100%)
Fetching: rack-1.4.1.gem (100%)
Fetching: rack-cache-1.2.gem (100%)
Fetching: rack-test-0.6.1.gem (100%)
Fetching: journey-1.0.4.gem (100%)
Fetching: hike-1.2.1.gem (100%)
Fetching: tilt-1.3.3.gem (100%)
Fetching: sprockets-2.1.3.gem (100%)
Fetching: erubis-2.7.0.gem (100%)
Fetching: actionpack-3.2.8.gem (100%)
Fetching: arel-3.0.2.gem (100%)
Fetching: tzinfo-0.3.33.gem (100%)
Fetching: activerecord-3.2.8.gem (100%)
Fetching: activeresource-3.2.8.gem (100%)
Fetching: mime-types-1.19.gem (100%)
Fetching: polyglot-0.3.3.gem (100%)
Fetching: treetop-1.4.10.gem (100%)
Fetching: mail-2.4.4.gem (100%)
Fetching: actionmailer-3.2.8.gem (100%)
Fetching: rack-ssl-1.3.2.gem (100%)
Fetching: thor-0.16.0.gem (100%)
Fetching: railties-3.2.8.gem (100%)
Fetching: bundler-1.1.5.gem (100%)
Fetching: rails-3.2.8.gem (100%)
Successfully installed i18n-0.6.0
Successfully installed multi_json-1.3.6
Successfully installed activesupport-3.2.8
Successfully installed builder-3.0.0
Successfully installed activemodel-3.2.8
Successfully installed rack-1.4.1
Successfully installed rack-cache-1.2
Successfully installed rack-test-0.6.1
Successfully installed journey-1.0.4
Successfully installed hike-1.2.1
Successfully installed tilt-1.3.3
Successfully installed sprockets-2.1.3
Successfully installed erubis-2.7.0
Successfully installed actionpack-3.2.8
Successfully installed arel-3.0.2
Successfully installed tzinfo-0.3.33
Successfully installed activerecord-3.2.8
Successfully installed activeresource-3.2.8
Successfully installed mime-types-1.19
Successfully installed polyglot-0.3.3
Successfully installed treetop-1.4.10
Successfully installed mail-2.4.4
Successfully installed actionmailer-3.2.8
Successfully installed rack-ssl-1.3.2
Successfully installed thor-0.16.0
Successfully installed railties-3.2.8
Successfully installed bundler-1.1.5
Successfully installed rails-3.2.8
28 gems installed

これでインストール完了ですかね?確認してみます。
t2low:~ t2low$ rbenv rehash
t2low:~ t2low$ rails -v
Rails is not currently installed on this system. To get the latest version, simply type:

$ sudo gem install rails

You can then rerun your "rails" command.

なんかきちんとインストールされていないみたい。
このメッセージが出たときは…という対処法が載っていたのでそのまま続行します。
t2low:~ t2low$ rbenv exec gem install railties --version="~> 3.2.6"
Successfully installed railties-3.2.8
1 gem installed
t2low:~ t2low$ rbenv rehash
t2low:~ t2low$ rails -v
Rails is not currently installed on this system. To get the latest version, simply type:

$ sudo gem install rails

You can then rerun your "rails" command.

これでもダメみたい…。
全然わかりません。


…と、このあたりまで進めていたところ、twitterで知人からRVMも良いよ、という連絡をもらいました。
入門レベルの勉強をしている時期は身近に詳しい人がいた方が捗るだろう、というのと、 ちょうどわからなくなってたことも考えて、もう一度RVMで環境構築することにしました。
ということでここまで。
タグ:rails ruby rvm rbenv
posted by t2low at 09:11| Ruby

2012年08月20日

[Ruby][Sqlite3] SQLite3のインストール

Ruby on Rails の入門書を買いました。これです。


これにRailsにはSQLiteが要るということと、Macにもともとインストールされていると書かれていました。
最新版を使うなら…ということでコマンドも書かれていたのですが、MacPortを使う方法でした。
Homebrewでも同じようなもんかしらと以下を試してみました。
t2low:readline t2low$ sqlite3 -version
3.7.12 2012-04-03 19:43:07 86b8481be7e76cccc92d14ce762d21bfb69504af
t2low:readline t2low$ brew install sqlite3
==> Installing sqlite dependency: readline
==> Downloading http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz
######################################################################## 100.0%
==> Patching
patching file callback.c
patching file input.c
patching file patchlevel
patching file support/shobj-conf
patching file vi_mode.c
==> ./configure --prefix=/usr/local/Cellar/readline/6.2.4 --mandir=/usr/local/Cellar/readline/6.2.4/share/man --infodir=/usr/loc
==> make install
==> Caveats
This formula is keg-only, so it was not symlinked into /usr/local.

OS X provides the BSD libedit library, which shadows libreadline.
In order to prevent conflicts when programs look for libreadline we are
defaulting this GNU Readline installation to keg-only.

Generally there are no consequences of this for you.
If you build your own software and it requires this formula, you'll need
to add its lib & include paths to your build variables:

LDFLAGS -L/usr/local/Cellar/readline/6.2.4/lib
CPPFLAGS -I/usr/local/Cellar/readline/6.2.4/include
==> Summary
/usr/local/Cellar/readline/6.2.4: 30 files, 1.6M, built in 17 seconds
==> Installing sqlite
==> Downloading http://sqlite.org/sqlite-autoconf-3071300.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/sqlite/3.7.13 --enable-dynamic-extensions
==> make install
/usr/local/Cellar/sqlite/3.7.13: 9 files, 1.9M, built in 27 seconds

インストール前はSQLiteのバージョンは3.7.12だったようです。
Homebrewで3.7.13がインストールされました。

バージョンを再度確認
t2low:readline t2low$ sqlite3 -version
3.7.12 2012-04-03 19:43:07 86b8481be7e76cccc92d14ce762d21bfb69504af

変わってませんね…。
t2low:readline t2low$ /usr/local/bin/sqlite3 -version
3.7.13 2012-06-11 02:05:22 f5b5a13f7394dc143aa136f1d4faba6839eaa6dc

インストールされたところが違うようです。
こっちを使うように設定すれば良いのかしら?
古いもの(プリインストールされてたもの)はアンインストールした方が良いのかしら…?
それともプリインストールされたSQLite3をアップデートする方法がある???
MacもUNIX(Linux)の文化もわからなくてどうしたら良いのか…。

まぁ、遅いし明日以降にしよう。


追記<2012/08/24>
Homebrewを快適に使うために設定してる4つのこと | Macとかの雑記帳
http://tukaikta.blog135.fc2.com/blog-entry-208.html

ここを読んだら、/usr/local/bin/の優先順位を上げれば良いというに読める。
posted by t2low at 02:36| Ruby

2012年08月18日

[Ruby] rubyのアップデート続き

前回の記事の続きです。
tappli blog: [Ruby] rubyのアップデート
http://blog.tappli.com/article/57624952.html

参考にさせていただいているサイトはこちら。
RVMのインストール - にたまごほうれん草
http://d.hatena.ne.jp/emergent/20120408/1333886864

rvmにパスが通っていないのは不便なので、パスを通そうと思って~/.bash_profileを開きました。
そこには見覚えのない記述が…。
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

いまいち意味は理解でませんが、これを読み込み直したら何かが起きそうな気がする、と思い、以下を実行しました。
t2low:~ t2low$ source .bash_profile 

んで、以下確認。
t2low:~ t2low$ .rvm/bin/rvm -v

rvm 1.15.3 (stable) by Wayne E. Seguin , Michal Papis [https://rvm.io/]

おおお、パス通ってる。なんで?
コマンドの意味はまた今度勉強することにしよう。今はrubyのインストール中でした。
インストールコマンドは参考サイトのままです。

automakeというものが必要になるらしいので、予めインストールしておきます。
t2low:~ t2low$ brew install automake
==> Installing automake dependency: autoconf
==> Downloading http://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz
Already downloaded: /Library/Caches/Homebrew/autoconf-2.69.tar.gz
==> Patching
patching file bin/autoreconf.in
==> ./configure --prefix=/usr/local/Cellar/autoconf/2.69
==> make install
/usr/local/Cellar/autoconf/2.69: 67 files, 1.9M, built in 5 seconds
==> Installing automake
==> Downloading http://ftpmirror.gnu.org/automake/automake-1.12.2.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/automake/1.12.2
==> make install
/usr/local/Cellar/automake/1.12.2: 129 files, 2.0M, built in 33 seconds

続いて、「rvm pkg install readline」を実行したところエラーが出ました。
エラーログを読め、というメッセージが出ていたので指定のログを読んでみると
どうやらmakeやCコンパイラにPATHが通ってなくてエラーになっているようです。
と思ったら、どうやらコマンドラインツールはインストールされていないようでした…。

Mac OS X Lionにしたらgccがなくてnode.jsがコンパイルできなくなった件 - 大人になったら肺呼吸
http://d.hatena.ne.jp/replication/20110726/1311687382

こちらのブログを参考にXcodeを使ってコマンドラインツールをダウンロードします。
XcodeのPreferencesを開いて、Downloadからインストールできるようです。
インストールが完了するとmakeやgccが使えるようになってました。

t2low:readline t2low$ rvm pkg install readline
Fetching readline-5.2.tar.gz to /Users/t2low/.rvm/archives
Extracting readline-5.2.tar.gz to /Users/t2low/.rvm/src
Applying patch '/Users/t2low/.rvm/patches/readline-5.2/shobj-conf.patch'...
Configuring readline in /Users/t2low/.rvm/src/readline-5.2.
Compiling readline in /Users/t2low/.rvm/src/readline-5.2.
Installing readline to /Users/t2low/.rvm/usr
Please note that it's required to reinstall all installed rubies:

rvm reinstall $(rvm list strings | tr "
" ',')
rvm all-gemsets do rvm gemset pristine


Fetching readline-6.2.tar.gz to /Users/t2low/.rvm/archives
Extracting readline-6.2.tar.gz to /Users/t2low/.rvm/src
Applying patch '/Users/t2low/.rvm/patches/readline-6.2/patch-shobj-conf.diff'...
Configuring readline in /Users/t2low/.rvm/src/readline-6.2.
Compiling readline in /Users/t2low/.rvm/src/readline-6.2.
Installing readline to /Users/t2low/.rvm/usr
Please note that it's required to reinstall all installed rubies:

rvm reinstall $(rvm list strings | tr "
" ',')
rvm all-gemsets do rvm gemset pristine

これは…インストールできたんでしょうか…?
まぁ、とりあえず次に進めます。
t2low:readline t2low$ rvm pkg install iconv
Fetching libiconv-1.13.1.tar.gz to /Users/t2low/.rvm/archives
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 4605k 100 4605k 0 0 254k 0 0:00:18 0:00:18 --:--:-- 225k
Extracting libiconv-1.13.1.tar.gz to /Users/t2low/.rvm/src
Configuring libiconv in /Users/t2low/.rvm/src/libiconv-1.13.1.
Compiling libiconv in /Users/t2low/.rvm/src/libiconv-1.13.1.
Installing libiconv to /Users/t2low/.rvm/usr
Please note that it's required to reinstall all installed rubies:

rvm reinstall $(rvm list strings | tr "
" ',')
rvm all-gemsets do rvm gemset pristine

これもよくわからんです…。
いよいよrubyのインストールですね。
t2low:readline t2low$ rvm install 1.9.3 --with-readline-dir=$rvm_path/usr --with-iconv-dir=$rvm_path/usr
Fetching yaml-0.1.4.tar.gz to /Users/t2low/.rvm/archives
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 460k 100 460k 0 0 137k 0 0:00:03 0:00:03 --:--:-- 152k
Extracting yaml-0.1.4.tar.gz to /Users/t2low/.rvm/src
Configuring yaml in /Users/t2low/.rvm/src/yaml-0.1.4.
Compiling yaml in /Users/t2low/.rvm/src/yaml-0.1.4.
Installing yaml to /Users/t2low/.rvm/usr
Please note that it's required to reinstall all installed rubies:

rvm reinstall $(rvm list strings | tr "
" ',')
rvm all-gemsets do rvm gemset pristine


Building 'ruby-1.9.3-p194' using clang - but it's not (fully) supported, expect errors.
Installing Ruby from source to: /Users/t2low/.rvm/rubies/ruby-1.9.3-p194, this may take a while depending on your cpu(s)...

ruby-1.9.3-p194 - #downloading ruby-1.9.3-p194, this may take a while depending on your connection...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 9610k 100 9610k 0 0 2035k 0 0:00:04 0:00:04 --:--:-- 2232k
ruby-1.9.3-p194 - #extracting ruby-1.9.3-p194 to /Users/t2low/.rvm/src/ruby-1.9.3-p194
ruby-1.9.3-p194 - #extracted to /Users/t2low/.rvm/src/ruby-1.9.3-p194
ruby-1.9.3-p194 - #configuring
ruby-1.9.3-p194 - #compiling
ruby-1.9.3-p194 - #installing
Retrieving rubygems-1.8.24
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 371k 100 371k 0 0 480k 0 --:--:-- --:--:-- --:--:-- 1702k
Extracting rubygems-1.8.24 ...
Removing old Rubygems files...
Installing rubygems-1.8.24 for ruby-1.9.3-p194 ...
Installation of rubygems completed successfully.
ruby-1.9.3-p194 - adjusting #shebangs for (gem irb erb ri rdoc testrb rake).
ruby-1.9.3-p194 - #importing default gemsets (/Users/t2low/.rvm/gemsets/)
Install of ruby-1.9.3-p194 - #complete
Ruby 'ruby-1.9.3-p194' was built using clang - but it's not (fully) supported, expect errors.

これは…成功したんでしょうか。
とりあえず、バージョンを見てみます。
t2low:readline t2low$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin12.0.0]

おおお、最新版になっている!
良かった良かった。

最後に参考にさせてもらった記事の最後のコマンドを実行しました。
rvm 1.9.3 --default

エラーなし。どうやら無事に行われたようです。
これはどういう意味があったんだろう?複数のrubyのうちどのバージョンを利用するか、という設定なのかしら。

結構時間がかかりました…。
これくらチャッチャと片付けられるような能力が欲しいです。
タグ:Mac ruby rvm
posted by t2low at 10:33| Ruby

2012年08月17日

[Ruby] rubyのアップデート

Macに入っているrubyは1.8.7でした。自分で入れたんでしたっけ。
t2low:Downloads t2low$ ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]

Ruby on railsをやるのには1.9.3が良いようですので、アップデートをしたいと考えました。
homebrewはインストールされているので、コマンド叩いてみればインストールされるんじゃないかと、よくわからないなりに実行してみました。てきとーです。
t2low:Downloads t2low$ brew install ruby
==> Installing ruby dependency: gettext
==> Downloading http://ftpmirror.gnu.org/gettext/gettext-0.18.1.1.tar.gz
######################################################################## 100.0%
==> Downloading patches
######################################################################## 100.0%
######################################################################## 100.0%
==> Patching
patching file gettext-tools/configure
patching file gettext-tools/Makefile.in
==> ./configure --disable-debug --prefix=/usr/local/Cellar/gettext/0.18.1.1 --without-included-gettext --without-included-glib -
==> make
==> make install
==> Caveats
This formula is keg-only, so it was not symlinked into /usr/local.

OS X provides the BSD gettext library and some software gets confused if both are in the library path.

Generally there are no consequences of this for you.
If you build your own software and it requires this formula, you'll need
to add its lib & include paths to your build variables:

LDFLAGS -L/usr/local/Cellar/gettext/0.18.1.1/lib
CPPFLAGS -I/usr/local/Cellar/gettext/0.18.1.1/include
==> Summary
/usr/local/Cellar/gettext/0.18.1.1: 366 files, 12M, built in 2.5 minutes
==> Installing ruby dependency: pkg-config
==> Downloading http://pkgconfig.freedesktop.org/releases/pkg-config-0.27.tar.gz

curl: (56) Recv failure: Operation timed out
Error: Download failed: http://pkgconfig.freedesktop.org/releases/pkg-config-0.27.tar.gz

エラーになりましたね。よくわかりません。
一応、バージョンを再確認。
t2low:Downloads t2low$ ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]

だめですネ。

Webを検索してみると、ちらほらrvmを使うという記事を見かけました。
@tokorom からもrvmが良いと教えられました。

使い分けとかをするレベルに達してないので、とりあえずは上書きバージョンアップができれば良かったのですが、それよりもrvmをインストールした方が早そうです(情報量的に)。
ということで、rvmをインストールしてみることにしました。

いろいろ検索してみると、いくつかの方法でインストールできるようです。
公式サイトっぽいところがrvm.ioだったので、ここに書かれたインストール方法に近いサイトを探して参考にさせてもらいました。

RVMのインストール - にたまごほうれん草
http://d.hatena.ne.jp/emergent/20120408/1333886864

このサイトに書かれていた通りに実行します。
(rvm.ioに書かれていたものとちょっと違う)
t2low:~ t2low$ curl -L get.rvm.io | bash -s stable
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 185 100 185 0 0 132 0 0:00:01 0:00:01 --:--:-- 200
100 9979 100 9979 0 0 2366 0 0:00:04 0:00:04 --:--:-- 4427
Downloading RVM from wayneeseguin branch stable
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 125 100 125 0 0 77 0 0:00:01 0:00:01 --:--:-- 99
100 1047k 100 1047k 0 0 77126 0 0:00:13 0:00:13 --:--:-- 123k

Installing RVM to /Users/t2low/.rvm/
Adding rvm PATH line to /Users/t2low/.bashrc /Users/t2low/.zshrc.
Adding rvm loading line to /Users/t2low/.bash_profile /Users/t2low/.zlogin.

# RVM: Shell scripts enabling management of multiple ruby environments.
# RTFM: https://rvm.io/
# HELP: http://webchat.freenode.net/?channels=rvm (#rvm on irc.freenode.net)
# Cheatsheet: http://cheat.errtheblog.com/s/rvm/
# Screencast: http://screencasts.org/episodes/how-to-use-rvm

# In case of any issues read output of 'rvm requirements' and/or 'rvm notes'

Installation of RVM in /Users/t2low/.rvm/ is almost complete:

* To start using RVM you need to run `source /Users/t2low/.rvm/scripts/rvm`
in all your open shell windows, in rare cases you need to reopen all shell windows.

# t2low,
#
# Thank you for using RVM!
# I sincerely hope that RVM helps to make your life easier and more enjoyable!!!
#
# ~Wayne


rvm 1.15.3 (stable) by Wayne E. Seguin , Michal Papis [https://rvm.io/]

すんなりインストール成功したようです。

ログの中央付近に以下の出力がありました。
Installation of RVM in /Users/t2low/.rvm/ is almost complete:

どうやらユーザフォルダの下にインストールされたようです。
ユーザディレクトリで作業したから、ここにインストールされたんでしょうか。

一応バージョンを確認してみます。
t2low:~ t2low$ .rvm/bin/rvm -v

rvm 1.15.3 (stable) by Wayne E. Seguin , Michal Papis [https://rvm.io/]

だいじょーぶ、インストールされてますネ。
とりあえず、rvmのインストールは完了したようです。
この記事を書いてる今、もう3時を過ぎてしまったのでrubyのインストールはまた後日。
タグ:Mac ruby rvm
posted by t2low at 03:11| Ruby

2012年08月02日

[Android] トークン取得を同期で

AccountManagerを使ってトークンを取得したいのですが、既存の実装を考えると同期で取得できると組み込みやすい状況でした。
ただし、そのトークンを取得するためにはgetAuthToken()でoptionとしてBundleを渡す必要があったため、blockingGetAuthToken()は利用できません。
ネットを検索してみると、getAuthToken()のコールバックをnullにすると同期でトークン取得ができるらしいという情報があったので試してみました。

コードは↓こちら。
http://dl.dropbox.com/u/50770203/dev/android_samples/BlockingGetAuthTokenSample.zip
このコードはgoogleカレンダーのトークンを取得するためのコードで、Bundleは必要としてませんが、実際に同期で取得できることは確認できました。
posted by t2low at 02:39| Android

[iOS] よくわかるiPhoneアプリ開発の教科書

先日「よくわかるiPhoneアプリ開発の教科書 iOS5 & Xcode4.2対応版」という本を買いました。

で、とりあえず、ひと通り終わりました。
実機での動作のところはiOS Developer Programに登録していないので試していませんが。

初心者向けの丁寧な本ですね。
すでにXcode4.4に上がってしまって、そのままではうまくいかないところもありましたが(ローカライズのところとか)。
InterfaceBuilderを使っての基本的なiOSアプリの作り方は学べると思います。
ただ、これだけでアプリを一本作れるかというと難しいのかな、と。
本当に基本的な部分しかわかりません。

Objective-Cのこともほとんどわからないまま、本の通りに進めてました。
@synthesizeって何?って感じです。
iOSアプリをやるなら他の本も読まないと難しいですが、最初の1冊としては良い気がします。

さぁ、次はどうしましょう。
iOSをやるか、別のことを勉強してみるか…。
C#もやってみたいんですよねぇ。
どうしようかなぁ。
タグ:iphone iOS Xcode
posted by t2low at 01:55| Mac/iOS