2012年2月24日金曜日

Titanium StudioでAndroid/iPhoneアプリ開発環境を作る

JSで統一できるってところと、Android/iPhoneアプリを同時に作成できる?(作ったことないので)
というところにひかれて環境を作りました。
開発するマシンはMac OS X 10.7.3です。

Xcodeのインストール

  • App Storeからインストール。説明は省略します。

Android SDKのインストール

  • ここから自分の環境にあったものをダウンロード
  • android-sdk_r16-macosx.zipをダウンロードしました。
  • 解凍して自分の管理しやすい場所(私は、~/android-sdk)に置いたら、以下実行。

~/android-sdk/tools/android

  • インストールしたいパッケージにチェックをつけてインストールする


※android4.0の開発したかったのですが、4.0だけ入れてもTitanium Studioの設定で、
Android SDKディレクトリを選択しても認識してもらえませんでした。
なので、Androdi2.2(API8)もここでインストールしときます。

起動後の画面(パッケージインストール後の画面)



















Titanium Studioのインストール
  • ここから自分の環境にあったものをダウンロード
  • インストールはここを参考にしました。
  • インストール後、起動すると以下のような画面になります。






















  • 設定については、ここを参考にしました。
  • 4.0の開発したかったので、Androidのバージョンは4.0.3を選択してます。
  • 設定画面は以下のような感じです。





















プロジェクトの作成とエミュレータ起動テスト

  • プロジェクトの作成もここを参考にしました。
  • プロジェクト作成後、プロジェクト名を右クリックで「Run As」からエミュレータを選択




iPhone/Androidのエミューレータ起動後

iPhomeエミュレータ起動時の画面



Androidエミュレータ起動画面



開発等はこれから。




2012年2月14日火曜日

macのterminalでtmux使うとスクロールで戻れない

ubuntuと同じ設定をmacでも使っているのですが、
tmux使ったときにマウスでスクロールして戻ろうとすると履歴が消えている。。。
刺身さんのサイトが参考になりました。
ターミナルの問題とは思っていなかったです。


set -g terminal-overrides 'xterm*:smcup@:rmcup@'
順を追ってやっていきましたが、この設定は必須ですね。
これで元の状態に戻った。

2012年2月2日木曜日

インフラエンジニアのMacBookAir 11 その4

最低限のアプリはインストールできたので、設定周りを中心に書いていきます。

まず、やっておかないといけないのが、ターミナルのログ取得
Macのデフォルトのターミナルもそうですが、
iTerm2なんかでもログの取得がデフォルトでない。。。
まあ、Macを普通に使う人は必要ないですもんね。

以前、ubuntuでやっているときは、zshrcに
alias ssh='~/scripts/sh/ssh_wrapper.sh'
として、シェルの中で、screen使ってssh接続のみログをとってました。
こんな感じで。
screen -q -c "ssh -l user $HOST" $LOG
これをそのまま流用しようとしたのですが、OSXのscreenコマンドには"-c"オプションがないようで使えませんでした。

色々試して、ターミナルの環境設定の中の起動時にシェルを実行する部分に、
screenのコマンドを入れたスクリプトを設定して、
ターミナル起動時からの ログをすべて取ることにしました。
シェルの内容は以下の通りです。

#!/bin/sh
DATE=$(date +'%Y%m')
DATETIME=$(date +'%Y%m%d_%H%M%S')
LOG_DIR=${HOME}/.ssh_log/${DATE}
LOG_FILE=${LOG_DIR}/${DATETIME}.log 
[ ! -d ${LOG_DIR} ] && mkdir -p ${LOG_DIR}
settitle ${HOST}
script ${LOG_FILE}

スマートではないのですが、とりあえず、これでログの取得はできるので、
一旦これでスタートしようと思ってます。いい方法があれば改善していこうと思います。


次に、tmuxの設定とtmuxのコピー&ペーストについて

デフォの状態では、tmuxからpbcopyが使用できないのが問題で(たぶん)、
vimでのヤンク時や通常のコピー(command + c)時にクリップボードに入ってこない。
なので、ブラウザとかで調べ物するときとか、貼り付けることができない。
ここを参考に設定を行う。

過去にこのブログでも書いていて、
それみてやったけど、「date | pbcopy」やってもうまくいなかい。
USBのLANが認識しなかったので、あきらめて再起動した後に再度試したらうまくいった。
やりかたに問題はなかったみたい。
ターミナルを正常に終了させないといけなかったのか、そもそも再起動が必要だったのか不明。

私のtmuxの設定は以下のような感じです。

# prefix key 設定
unbind C-b
set-option -g prefix C-t
bind C-t send-prefix
 
# 256 color
set-option -g default-terminal screen-256color
 
# 日本語環境なら今のところ必須。
set-window-option -g utf8 on
 
# clipbordへのコピー&ペースト
set-option -g default-command "reattach-to-user-namespace -l zsh"
bind C-q run-shell 'reattach-to-user-namespace tmux-pbcopy'
 
# vi mode
set-window-option -g mode-keys vi
 
# ウィンドウ名が自動的に更新されないように
set-window-option -g automatic-rename off
 
# 保持するhistoryの行数
set-option -g history-limit 20000
 
# color関連
set -g status-fg white
set -g status-bg blue
set -g status-left '#[fg=white,bg=blue]#H#[fg=white]:#[fg=white][#S#[fg=white]][#[blue]'
setw -g window-status-current-fg white
setw -g window-status-current-bg blue
setw -g window-status-current-attr bold#,underscore
set -g pane-active-border-fg white
set -g pane-active-border-bg blue

今日はこのへんで。

2012年2月1日水曜日

インフラエンジニアのMacBookAir 11 その3

今日は、設定周りをちょこちょこと。

設定
・vim
 ・vimは、NeoBundleでモジュールを管理してます。
 ・NeoBundleのインストール
  ・mkdir ~/.bundle && cd ~/.bundle && git clone git://github.com/Shougo/neobundle.vim.git
 ・NeoBundleの設定。vimrcに記述します。

set nocompatible
filetype off


set rtp+=~/.bundle/neobundle.vim


if has('vim_starting')
  set runtimepath+='~/.bundle/neobundle.vim'
  call neobundle#rc(expand('~/.bundle'))
endif

 ・モジュールのインストール
  ・インストールしたいモジュール以下のような形式で.vimrcに記述します。
  ・記述して保存したら、vimを開いて「:NeoBundleInstall」を実行します。
  ・これでモジュールのインストールは終了です。各モジュールの設定は別途。
"NeoBundle
NeoBundle 'git://github.com/Shougo/clang_complete.git'
NeoBundle 'git://github.com/Shougo/echodoc.git'
NeoBundle 'git://github.com/Shougo/neocomplcache.git'
NeoBundle 'git://github.com/Shougo/neobundle.vim.git'
NeoBundle 'git://github.com/Shougo/unite.vim.git'
NeoBundle 'git://github.com/Shougo/vim-vcs.git'
NeoBundle 'git://github.com/Shougo/vimfiler.git'
NeoBundle 'git://github.com/Shougo/vimshell.git'
NeoBundle 'git://github.com/Shougo/vinarise.git'
" add
NeoBundle 'http://vimdoc-ja.googlecode.com/svn/trunk/runtime'
NeoBundle 'https://github.com/kana/vim-smartchr.git'
NeoBundle 'https://github.com/thinca/vim-quickrun.git'
NeoBundle 'Align'
NeoBundle 'git://github.com/Lokaltog/vim-powerline.git'
NeoBundle 'https://github.com/fuenor/qfixhowm.git'
NeoBundle 'git://github.com/plasticboy/vim-markdown.git'
NeoBundle 'git://github.com/kchmck/vim-coffee-script.git'
インストールアプリ
 ・skype
 ・FileZilla(FTPソフト)

開発環境
 ・pip(pythonのパッケージ管理システム)
  ・sudo easy_install pip
 ・fabric(pythonで作られたデプロイツール)
  ・pip install Fabric
  ・設定については、環境によって異なるとは思いますが、私の設定は以下の感じです。
  ・対象ホストをテキストファイルで別途管理してます。
from fabric.api import run, env, sudo
hostlist = []
for list in open('host.txt', 'r'):
   hostlist.append(list) 
env.user = "xxxxx"
env.hosts = hostlist
env.password = "xxxxxxxxx"

def hw():
    print("Hello World!")
    run('hostname') 
def change_ldap_conf(): 
    run('sed -e \'s/host  192.168.0.2/host 192.168.100.2 192.168.101.2/g\' /etc/ldap.conf')

  ・ 使い方
   ・登録している関数名の確認
  fab -l 
・実行
  fab hw

余談
・初日に書いた、MacBookAirでのコンソール接続について
 今日、DC作業で実際に試せる機会があったので、試したところ問題なく使用できました。

・接続の方法
 ・デバイスを探して、screenでコンソールに接続する。至ってシンプル
 ls -l /dev/tty.*
screen /dev/tty.usbserial-FTAJLZRV

 ・特にscreenの設定をしていなかったので、ログが切れっちゃったのが残念でした
 ・screenの設定してログ切れないようにすれば問題なく使えますね!



インフラエンジニアのMacBookAir 11 その2

昨日に引き続きです。


設定変更
・hostname
・sudo hostname tshpaper
・「システム環境設定」- 「共有」- 「コンピュータ名」を変更


インストールアプリ
・OpenVPNクライアントソフト
tunnelblick
・remote desktop
MicroSoftが出しているものを使用
・IRC Client
LimeChat for Mac


開発環境
・tmuxのインストール
brew install tmux
・tmux.confも別途記載したいと思います。

あまり進みが良くない。。。
明日も引き続き。少しでも前に進めばOKってことで。