Rhodes3.3.3でAndroidのカメラがrotation(回転)される不具合対応

Rhodes3.3.3からカメラのrotation設定がrhoconfig.txtに記述されているが
Android向けはbuild.ymlに設定する。

rhoconfig.txtのrotation設定をコメント

# disable screen rotation (enabled by default) - disable possible for ANDROID and iPhone ONLY
# disable_screen_rotation = 1   #この行をコメント

build.ymlにrotation設定を追加

android:
  version: 2.2 
  apikey: 0zQdGIKAYKY-RI29el8klhokdyuZTHthraRHFZA
  mapping: true
  android_title: 0
  minSDK: 8
  orientation: portrait #この行を追加

iOS用にビルドするときは、rhoconfig.txtのrotation設定を戻しとかないと
 縦横固定されないですよ。。。

Rhodes環境構築(Android編)の備忘録

1.Rhodesインストール

$ gem install rhodes

2.NDKインストール
 1)Android DevelopersサイトからDL
 2)任意の場所に展開

3.SDKインストール
 1)Android DevelopersサイトからDL
 2)任意の場所に展開
 3)Android SDK and AVD Managerを起動

$ cd android-sdk-mac_x86/tools
$ sh android

  Android2系以降は全てインスコ

4.Rhodesのセットアップ
 1)JDKSDK、NDKのパス設定

$ rhodes-setup
We will ask you a few questions below about your dev environment.

JDK path (required) (/Library/Java/Home): 
Android SDK path (blank to skip) (): /Developer_bin/android-sdk-macosx #任意に展開したSDKを指定 
Android NDK path (blank to skip) (/Developer_bin/android-ndk-r7): 
Windows Mobile 6 SDK CabWiz (blank to skip) (): 
BlackBerry JDE 4.6 (blank to skip) (): 
BlackBerry JDE 4.6 MDS (blank to skip) (): 
BlackBerry JDE 4.2 (blank to skip) (): 
BlackBerry JDE 4.2 MDS (blank to skip) (): 

If you want to build with other BlackBerry SDK versions edit: /Users/hogehoge/.rvm/gems/ruby-1.9.3-p194@rhodes/gems/rhodes-3.3.3/rhobuild.yml

 2)Rhodesのセットアップ

$ set-rhodes-sdk
/Users/hogehoge/.rvm/gems/ruby-1.9.3-p194@rhodes/gems/rhodes-3.3.3/bin

5.ビルドの指定
 ・build.ymlに以下を追記

android:
  version: 2.2

6.ビルドの実行
 1)実機でビルド&実行

  $ rake run:android:device

 2)本番用のビルド

  $ rake device:android:production

さくらクラウドのディスク増設&マウント方法

1.さくらクラウドクラウドコントロールパネルで設定を行なう。
 設定方法はこちら

2.ディスクの確認

/sbin/fdisk -l

ディスク /dev/sda: 21.5 GB, 21474836480 バイト
ヘッド 255, セクタ 63, シリンダ 2610
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x0006f266

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1   *           1          13      102400   83  Linux
パーティション 1 は、シリンダ境界で終わっていません。
/dev/sda2              13         268     2048000   82  Linux スワップ / Solaris
パーティション 2 は、シリンダ境界で終わっていません。
/dev/sda3             268        2611    18820096   83  Linux

ディスク /dev/sdb: 21.5 GB, 21474836480 バイト
ヘッド 255, セクタ 63, シリンダ 2610
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0xbee7f51e

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1               1        2610    20964793+  83  Linux #増設ディスク

3.ディスクのパーティション設定

/sbin/fdisk /dev/sdb1

4.ファイルシステムを構築

/sbin/mkfs -t ext3 /dev/sdb1

ちなみにext3とは
ext3ext2ジャーナリング機能を加えたファイルシステム
ext2Linuxの標準ファイルシステム
・reiserfs:高速なジャーナリングファイルシステム

5.ディレクトリ作成とマウント

 mkdir ディレクトリパス
 mount /dev/sdb1 ディレクトリパス

 ディレクトリの移行を行なう場合は、マウント前に下記の手順が必要
 1)移行するディレクトリの退避

  cp -a 移行ディレクトリパス 退避ディレクトリパス
  ※-a 全ての属性をコピー

 2)移行元ディレクトリの削除

   rm -rf 移行ディレクトリパス

 3)移行先ディレクトリを作成

   mkdir 移行先ディレクトリパス

 4)移行先ディレクトリをマウントする

  mount /dev/sdb1 移行先ディレクトリパス

 5)退避ディレクトリか移行先ディレクトリへファイルを移す

  cp -a 退避ディレクトリパス 移行先ディレクトリパス

6.サーバー再起動時に自動マウントする設定 
 /etc/fstabのファイルに下記を追加

/dev/sdb1 ディレクトリパス ext3 defaults 1 2

パラメータの説明
 マウントデバイス:マウントするディスクを指定
 マウントポイント:マウントするディレクトリを指定
 マウントオプション:defaults = デフォルトのオプション(rw, suid, dev, exec, auto, nouser, async)を有効
 dumpオプション:0はdump不要、1はdump必要です。
 fsckオプション:0はファイルチェック無し、1はroot専用でチェック有り、2はチェック有り


ディスクのマウント位置確認

df -h ※-h GB表示
Filesystem            Size  Used Avail Use% マウント位置
/dev/sda3              18G   13G  4.0G  77% /
tmpfs                1004M     0 1004M   0% /dev/shm
/dev/sda1              97M   47M   46M  51% /boot
/dev/sdb1              20G  2.9G   16G  15% マウントディレクトリパス

ディレクトリ毎の容量確認

du -sh *
2.3G	2012.07.19.03.30.21
2.3G	2012.07.20.03.30.17
2.3G	2012.07.21.03.30.18

マウントされているか確認

mount
/dev/sda3 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb1 on ディレクトリパス type ext3 (rw) #ディスク属性がrwなのか確認必要

ファイル数のカウント

ls | wc -w

Vim特選コマンド集

コマンド 内容 独自ショートカット
C+w s 画面縦分割
C+w v 画面横分割
C+w hjkl 画面切替 h:左、j:上、k:下、l:右
C+w tb 画面切替 t:左上、b:右下
C w 画面切替
0 カーソル行頭移動
^ カーソル行文頭移動
w 文字間移動
b 文字間移動(戻り)
Shift + w 文字間移動2倍
Shift + b 文字間移動(戻り)2倍
Shift + $ カーソル行文末移動
u 戻る
C+r 進む
y y カーソル行コピー(1行)
数字 y y カーソル行以下数字行コピー
v w カーソル文字コピー
v i(a) 対象文字 カーソル内(外)対象範囲コピー
v i(a) t カーソル内(外)htmlタグ範囲コピー
c i 対象文字 対象文字内変更(削除⇒インサートモード)
d s 対象文字 対象文字削除
y s s t カーソル内htmlタグ前後にhtmlタグ挿入
Shift + % 囲いタグの表示
Space+F ファイラー(unite)
Space+B バッファ一覧(unite)
v 選択開始
Shift + v 行選択開始
x 選択範囲削除
Space+. .vimrc開く
:grep 検索文字 検索フォルダ パイプcw grep(検索)
:e ファイルパス ファイルを開く
:grep キーワード ファイルパス grep
:set number 行番号 表示
:set nonumber 行番号非表示
:NERDTreeToggleもしくはF7 Treeリスト
,cc コメント行/解除 ★NERDCommenter
複数行選択 Shift + ] 複数行ネスト入力
複数行選択 Shift + [ 複数行ネスト削除
gg = G ネスト自動整形
vit 対象タグを含むコピー

やっと本気でVimを使い込んでみようと思う

1.Vundleのインストール

 git clone http://github.com/gmarik/vundle.git ~/.vim/vundle #保管したいフォルダパス

2.Vundleの設定
これは師匠から兄弟子に渡った.vimrcです(涙)

" ここからVundle 設定
" -------*-------*-------*-------*-------*-------*
set nocompatible
filetype off 
"set rtp+=~/.vim/vundle.git/
set rtp+=~/.vim/vundle/
call vundle#rc()

" --------------------------------------------
"ここからプラグイン指定
Bundle 'Shougo/neocomplcache'
Bundle 'Shougo/unite.vim'
Bundle 'thinca/vim-ref'
Bundle 'thinca/vim-quickrun'
Bundle 'scrooloose/nerdcommenter'
Bundle 'vim-ruby/vim-ruby'
Bundle 'scrooloose/nerdtree'
Bundle 'tpope/vim-rails'
Bundle 'mattn/zencoding-vim'
Bundle 'tpope/vim-surround'
Bundle 'smartchr'
Bundle 'jQuery'
Bundle 'javascript.vim--welshare'
Bundle 'tpope/vim-fugitive'
Bundle 'Shougo/vimfiler'
Bundle 'tpope/vim-haml'
Bundle 'kchmck/vim-coffee-script'
Bundle 'vim-scripts/sudo.vim'
Bundle 'YankRing.vim'

"Bundle 'javascript.vim'
"ここまでプラグイン指定
" --------------------------------------------

filetype plugin indent on
" -------*-------*-------*-------*-------*-------*
" ここまでVundle 設定

3.Vundleプラグインのインストール

:BundleInstall! #!で最新版取得