GenymotionプラグインでEclipseからAndroid仮想デバイスを一発起動

インストール

[Help]-[Install New Software]を選択

https://lh5.googleusercontent.com/-gynx4Shw_js/U0fzbx3mJhI/AAAAAAAAPzw/ZPEOZ-cnNU0/s288/15_Help.jpg


[Work with]に、http://plugins.genymotion.com/eclipseと入力して[Add]を押下

https://lh6.googleusercontent.com/-SRR4-gA7mqo/U12rjsv-iBI/AAAAAAAAP0o/xeZGocdgSBg/s400/16_Install.jpg


[Add Repository]ダイアログが表示されるので、[name]に[Genymotion]と入力して[OK]を押下

https://lh6.googleusercontent.com/-mQ0ANm6WJ40/U0fzdK861YI/AAAAAAAAPi4/-BNGzoTtJYM/s400/17_Add%2520Repository.jpg


[Avaliable Software]で、[Genymotion]にチェックして[Next >]を押下

https://lh5.googleusercontent.com/-RMoXhc0cusk/U0fzduZvLYI/AAAAAAAAPjA/dihl09osYB0/s400/18_Install-1.jpg


[Install Detail]ダイアログが表示されるので、[Next >]を押下

https://lh6.googleusercontent.com/-WqSJxNcoiDw/U0fzeOySRvI/AAAAAAAAPjI/hmWeYuLO-lE/s400/19_Install-2.jpg


[Review Licenses]ダイアログで、[I accept the terms of the license agreements]を選択して[Finish]を押下

https://lh6.googleusercontent.com/-OZkwd2NzofI/U0fze99P2cI/AAAAAAAAPjQ/dL8UKp5lzcE/s400/20_Install-3.jpg


途中で、[Securuty Warming]ダイアログが表示されるので、[OK]を押下

https://lh6.googleusercontent.com/-zAktFXxVDpY/U0fzfZfZwEI/AAAAAAAAPjY/knMQhlbae1Q/s400/21_Security%2520Warning.jpg


[Software Updates]ダイアログで再起動を求められるので、[Yes]を押下

https://lh5.googleusercontent.com/-DYOZ7_pdb4M/U0fzfzsW0sI/AAAAAAAAPjg/LQiQdhpsWDo/s400/22_Software%2520Updates.jpg


再起動後、ツールバーにGenymotionのボタンが表示されます。

https://lh4.googleusercontent.com/-5gScw7eECm4/U0fzglrey2I/AAAAAAAAPjo/acQagjHuF-o/s800/23_Java%2520-%2520MyFirstApp_AndroidManifest.xml%2520-%2520ADT%2520-%2520_Users_wakou_Documents_workspace_android.jpg


使い方


ツールバーのGenymotionボタンを押下すると、初回はGenymotionディレクトリが設定されていない旨が通知されます。

https://lh6.googleusercontent.com/-kbpUqxAEOtw/U0fzhGCm5DI/AAAAAAAAPj0/Culim94coxA/s400/24_Error%2520while%2520reading%2520setting.jpg


[Preferences]ダイアログが表示されるので、[Genymotion application]欄に[/Applications/Genymotion.app]を入力

https://lh4.googleusercontent.com/-Bjm3MkpFQ8I/U0fzh3G1rhI/AAAAAAAAPj8/TIrI5yujskY/s400/25_Preferences.jpg


[Genymotion Virtual Devices Manager]が表示されるので、起動する仮想デバイスを選択して[Start]ボタンを押下

https://lh4.googleusercontent.com/-IVtgh_BTK4g/U0fziCQsBpI/AAAAAAAAPkA/wYAtJruEz_Q/s400/26_Genymotion%2520Virtual%2520Devices%2520Manager.jpg


まとめ

これで、Genymotionを起動して仮想デバイスを起動する手順を、Eclipse上のみで完結することができます。些細なショートカットですが、毎回Genymotionを起動するのが面倒だったり、Genymotionの画面が気になる方はお試しください。

神速起動のAndroid仮想デバイスをGenymotionで構築する


動作がサクサクと評判のGenymotionをインストールしてみました。

インストールした環境は、MacBook Late 2009の搭載メモリ8GBという環境ですが、起動まで30秒弱で動作も軽快です!

Genymotionをインストールするには、Oracle VM VirtualBoxが必要ですので、事前にインストールしてください。

サインアップ

まず、Genymotion Android Emulator | Cloud-based Android virtual devices | Develop - Automate your tests - Validate with confidenceにアクセスしてサインアップします。

https://lh3.googleusercontent.com/-6KJi6xxp4Bg/U0fuAAwzmlI/AAAAAAAAPh0/PwyOVy0QI5Y/s800/01_Genymotion.jpg


必要な項目を入力してサインアップします。

https://lh3.googleusercontent.com/-qo7wYSqw_nM/U0ft_YvaZAI/AAAAAAAAPhs/hB8ymd2fm58/s800/02_Genymotion%2520Site.jpg


アクティベーションが完了すると、Genymotionのダウンロード画面へアクセスできます。

https://lh6.googleusercontent.com/-oUf9FjJi4ro/U0fuA_4nOoI/AAAAAAAAPk0/BbBhYFWBP54/s640/03_Genymotion%2520Cloud%2520-%2520Activation%2520complete.jpg

ダウンロード&インストール

構築するプラットフォームに合わせて、ダウンロードファイルを選択します。残念ながらRedhatLinuxがサポートしていないようです。

https://lh4.googleusercontent.com/-_tI2caxnqpA/U0fuBZGnvMI/AAAAAAAAPiE/RLtPGyhO_Y0/s640/04_Genymotion%2520Site%2520-%2520Downloads.jpg


今回はMac OS XなのでApplicationに追加します。

https://lh4.googleusercontent.com/-DXa84lNEMoY/U0fuB0j1ymI/AAAAAAAAPk8/_MzgAtBd3O4/s400/05_genymotion-2.2.0.jpg

仮想デバイスを追加

「新しいデバイス追加するか?」って聞かれるので、もちろん「Yse」を選択します。

https://lh6.googleusercontent.com/-aGpHFd3Gk7Y/U0fuCtyw28I/AAAAAAAAPlE/y2iHtPhBKhw/s400/06_genymotion-1.jpg


まずログインします。

https://lh6.googleusercontent.com/-loyJ_DxpVQY/U0fuDAIqTeI/AAAAAAAAPlM/mJMK_N6oee8/s640/07_Virtual%2520device%2520creation%2520wizard.jpg


サインアップで登録したユーザ名と、パスワードを入力します。

https://lh6.googleusercontent.com/-aS3w8qk5VwQ/U0fuEO2ajGI/AAAAAAAAPiU/FcDmx8Zss08/s800/08_Connect%2520to%2520Genymotion%2520Cloud.jpg


[Add]ボタンを選択します。

https://lh3.googleusercontent.com/-faxi7VzQTXU/U0fuEpT5R3I/AAAAAAAAPlU/Fh0FUTFImV8/s640/09_Genymotion%2520for%2520personal%2520use.jpg


仮想デバイスの一覧が表示されるので、追加する仮想デバイスを選択します。今回はNexus7を追加します。

https://lh3.googleusercontent.com/-O1_YUu07jbw/U0gFnVax2YI/AAAAAAAAPls/kmOmto86rvI/s640/10_Virtual%2520device%2520creation%2520wizard.jpg



しばらくすると構築完了です。

https://lh4.googleusercontent.com/-UvbcTXfJpts/U0fuFlNG2CI/AAAAAAAAPfk/3STDXJd6miY/s640/11_Virtual%2520device%2520creation%2520wizard-1.jpg

仮想デバイスを起動

さて、仮想デバイスが追加されたので早速起動します。

https://lh6.googleusercontent.com/-wX1skvXNnA8/U0fuGB2aPWI/AAAAAAAAPlc/VliK_qXDgrs/s640/12_Genymotion%2520for%2520personal%2520use-2.jpg


Genymotionと仮想デバイスのバージョンが合ってないと通知されますが、スルーして[Continue]を選択します。

https://lh3.googleusercontent.com/-VEGkz_nOzAk/U0fuGrQlu_I/AAAAAAAAPlk/sGSvlR4ysEU/s800/13_Genymotion%2520versions%2520differ.jpg


起動完了!

https://lh3.googleusercontent.com/-M2bXVDmbccs/U0fuHAZ7hNI/AAAAAAAAPf8/0g17IxMDAOI/s640/14_Genymotion%2520for%2520personal%2520use%2520-%2520Google%2520Nexus%25207%2520-%25204.4.2%2520-%2520API%252019%2520-%2520800x1280%2520%2528800x1280%252C%2520213dpi%2529%2520-%2520192.168.56.101.jpg

まとめ

起動の早い仮想デバイスがあることで、Androidアプリ開発のテンポも良くなります。どんどん使っていきましょう(・∀・)

グローバルIPアドレスをコマンド一発で調べる(Unix系のみ)

グローバルIPを調べるために、グローバルIPを表示してくれるサイトにアクセスして調べませんか?

毎回ブラウザのブックマークを探してアクセスするのは面倒なので、コマンド一発でグローバルIPを表示できる仕組みを作りました。

.bash_profileにエイリアスを設定

以下の記述を追加します。

# alias
alias gip='curl http://gungnir-odin.appspot.com/util/clientinfo'

コマンドを実行

$ gip
XXX.XXX.XXX.XXX ←グローバルIPが表示されます。

まとめ

仕組みという程のものでもないのですが、コマンド一発って何かいいじゃないですか(・∀・)

思ったより簡単!ApacheでHTTPS接続ができるまで

最近のWebサービスでは、全ユーザに対して常時HTTPS接続を提供するものが増えてきました。
サーバにSSL設定を行うことで、Webサーバとブラウザ間の通信が暗号化され安全な通信を行うことができます。

今回は、LinuxサーバにApacheがインストールされ、HTTP接続ができる状態であるところから説明します。

検証環境

AWS(Amazon Web Service) - EC2

$ cat system-release
Amazon Linux AMI release 2011.02.1.1 (beta)

既にApacheはインストール済みの状態てす。

ApacheSSLモジュールをインストール

# yum -y install mod_ssl

opensslのバージョン確認

# openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013

秘密鍵を生成

# cd /etc/pki/tls/certs/
# openssl genrsa -des3 -out server.key 2048
Generating RSA private key, 2048 bit long modulus
.........+++
............+++
e is 65537 (0x10001)
Enter pass phrase for server.key:[←パスワード入力]
Verifying - Enter pass phrase for server.key:[←パスワード入力]

CSRを生成

# openssl req -new -key server.key > server.csr
Enter pass phrase for server.key:[←パスワード入力]
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]: [←JP]
State or Province Name (full name) []: [←都道府県 ex. Miyagi]
Locality Name (eg, city) [Default City]: [←市区町村 ex. Sendai]
Organization Name (eg, company) [Default Company Ltd]: [←会社名]
Organizational Unit Name (eg, section) []: [←空でEnter]
Common Name (eg, your name or your server''s hostname) []: [←重要! コモンネーム]
Email Address []: [←メールアドレス ex. xxx@xxx.xx]

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: [←空でEnter]
An optional company name []: [←空でEnter]

CSRを表示

# less server.csr 

-----BEGIN CERTIFICATE REQUEST-----
[]
-----END CERTIFICATE REQUEST-----

これをコピーしてSSL証明書の購入時に使用します。

RapidSSLを購入

今回は、SSLボックスで、RapidSSLを購入しました。

代理店がたくさんあり、どこで購入するか迷うところですが、安くてカード決済ができたのでSSLボックスにしました。

購入画面で、先程のCSRを入力(BEGIN CERTIFICATE REQUEST、END CERTIFICATE REQUESTの行も含む)します。
購入から5分程度で、RapidSSL証明書がメールで送られてきます。早い!

メールで送られてきた証明書をコピー

# pwd
/etc/pki/tls/certs
# vi server.crt
-----BEGIN CERTIFICATE-----
[]
-----END CERTIFICATE-----
パスフレーズ応答を削除
# openssl rsa -in server.key -out server.key
Enter pass phrase for server.key:[←パスワード入力]
writing RSA key
Apacheの設定
# vi /etc/httpd/conf.d/ssl.conf

[以下の行を追加します]
SSLCertificateFile /etc/pki/tls/certs/server.crt
SSLCertificateKeyFile /etc/pki/tls/certs/server.key
ServerName bringup.csdev.co.jp:443 

Macbook 2009 Late のメモリを8GBに増設

今、Macbook 2009 Lateには4GB搭載しています。
公式には、この4GBが最大メモリとなっていますが、調べてみると8GBも認識するという情報があったので増設してみたところ、確かに8GBを認識したので紹介します。

今回使用したメモリはこちら。

Transcend JetRam ノートPC用増設メモリ PC3-8500(DDR3-1066) 4GB 永久保証 JM1066KSN-4G
https://lh6.googleusercontent.com/-fvif8C00830/USJK3xjEevI/AAAAAAAAOO8/GkEcLiCUK-k/s640/01_.JPG

メモリの交換手順は以下のとおりです。

http://support.apple.com/kb/ht1651?viewlocale=ja_jp#link1
↑を参考に交換していきます。

裏面のネジを外す

https://lh4.googleusercontent.com/-wTUWk5A0IHk/USI_Bnv_qQI/AAAAAAAAOOQ/Vi0R1NMsP60/s640/02_.jpg
裏面にある8本のネジを外し裏ブタを外します。
裏ブタ内側の真ん中に突起があり、本体に刺さって軽く固定されているので、ネジをネジ穴から取り出して慎重に本体から外します。
ネジ穴にネジを入れたまま外すと、外れた勢いでネジが飛んでいく可能性があるのでご注意を。

メモリの位置

https://lh5.googleusercontent.com/-9xQm-8XsEcM/USI_CbwJPrI/AAAAAAAAOOc/b8Y1BEhq2GA/s640/03_.jpg
画像の位置にメモリがあります。

レバーを外側へ

https://lh3.googleusercontent.com/-162E6Xwr0UQ/USI_C8uxdeI/AAAAAAAAOOk/kn2jy1Ywu2w/s640/04_.jpg
2本のレバーを同時に引くとメモリが上側に上がります。メモリは手前と奥の2枚差しになっているので両方外し、今回購入したメモリ(4GB×2枚)を差し込みます。
あとは、裏蓋を閉じて電源をいれます。

容量確認

https://lh6.googleusercontent.com/-8aam6SGGniQ/USI_DNejC5I/AAAAAAAAOOo/z3SY8Axu4Fo/s800/05_%25E9%2580%259A%25E7%259F%25A5%25E3%2582%25BB%25E3%2583%25B3%25E3%2582%25BF%25E3%2583%25BC.jpg
確かに8GB認識しています(・∀・)

https://lh3.googleusercontent.com/-dpS7_AUtH2E/USI_BC-QoFI/AAAAAAAAOOI/mN0GEibHEtQ/s800/06_%25E3%2581%2593%25E3%2581%25AE%2520Mac%2520%25E3%2581%25AB%25E3%2581%25A4%25E3%2581%2584%25E3%2581%25A6.jpg
おー(゚∀゚)

まとめ

2013/2/13の時点で、8GB(4GB×2)が 4,160円でした。この価格なら満足ですね(・∀・)
これで、もうちょっと、このMacbookと頑張っていけるかな。

Bitbucketでリポジトリを作ってpushするまで

前回は、Bitbucketのリポジトリを削除しました。順番が逆な気もしますが、今回はリポジトリを作成してローカルリポジトリをpushします。

Bitbucketでリポジトリを作成

まずは、Bitbucketにリポジトリを作成します。

メニューから Create Repository を選択

メニューから[Repository]-[Create Repository]を選択します。
https://lh6.googleusercontent.com/-V4-IFEz5Zkk/URUh4qUK_DI/AAAAAAAAOLw/SOLTtgEEmq0/s800/01_create_repository.jpg

リポジトリの設定

リポジトリの設定を入力します。[Name]のみ必須になります。
https://lh3.googleusercontent.com/-NQs8a-8M_go/URUh47DaXlI/AAAAAAAAOL0/pDK6JT_vcRo/s800/02_create_a_new_repository.jpg

ssh_configの設定

~/.ssh/configに以下の設定をしておくと便利ですね。

Host bitbucket
    User git
    Port 22
    Hostname bitbucket
    IdentityFile [秘密鍵のフルパス]
    IdentitiesOnly yes

詳しいキーワードはこちら

ローカルリポジトリを作成してBitbucketにpush

$ cd [プロジェクトフォルダ]
$ git init

$ git add -A
$ git commit -a -m "first commit"

$ git remote add origin bitbucket:[Username]/[リポジトリの設定で入力したName].git
$ git push origin master

まとめ

これでBitbucketにホスティングされたGitを、リモートリポジトリとして使うことができます。Gitの練習用に使ってみるのも良いかもしれませんね(・∀・)

Bitbucketのリポジトリを削除する5ステップ

みなさんBitbucketは使ってますか?
無料でGitのホスティングしてくれて本当に助かります。しかも、保管できるリポジトリは無制限です。個人的なソースはもちろん、.sshや~/.bashrcまで保管しています。

さて、無制限に作れるリポジトリも、中には必要なくなるものも出てきます。そこで、リポジトリを削除するステップをメモします。

1.削除するリポジトリを選択

まずは削除したいリポジトリを選択します。これをやらないと始まりません。

https://lh3.googleusercontent.com/-kdSk7ny0SOQ/URTmVcw5PvI/AAAAAAAAOKk/PnGiMa3n2Xs/s800/01_select_repository.jpg

2.Administrationを選択

画面右にある「Administration」を選択して、リポジトリの管理画面を開きます。この先にリポジトリを削除するリンクがあります。
これに気が付くまで小一時間迷いました(;´Д`)

https://lh3.googleusercontent.com/-NPpO6yFOxyw/URTmVtmUAsI/AAAAAAAAOKs/vJPBJUV3_ZQ/s640/02_administration.jpg

3.Delete Repositoryを選択

左メニューにある「Delete Repository」を選択します。選択してすぐに削除する訳ではないので、安心してクリックします。

https://lh3.googleusercontent.com/-DU6GYCp2_8E/URTmWBTaMOI/AAAAAAAAOK0/MC0BaKFrxG4/s800/03_delete_repository.jpg

4.Delete Repositoryボタンをクリック

画面にはテキストボックス「Redirect to」が表示されています。
これは説明にある通り、リポジトリ削除後に誰かが見に来たら、リポジトリが移動したことを通知して、新しい移動先を取得させるために入力します。
今回は、誰にも公開していないリポジトリを削除するので、未入力のまま「Delete Repository」ボタンをクリックします。

https://lh6.googleusercontent.com/-GM6tsBOpVl4/URTmWa9Eo6I/AAAAAAAAOK8/844s-1kqjow/s640/04_redirect_to.jpg

5.確認ダイアログでOK

最後に確認ダイアログが表示されるので「OK」します。
これで、リポジトリが削除されました。

https://lh6.googleusercontent.com/-aXham87cZHE/URTmWiDvfGI/AAAAAAAAOLE/SQMNitqYTjg/s800/05_alert.jpg

削除されました

削除!

https://lh4.googleusercontent.com/--50IInoNagk/URTmWx7AWvI/AAAAAAAAOLM/J-VXFu4ssxA/s800/06_finish.jpg

まとめ

これでリポジトリの整理ができそうです(・∀・)