【Vagrant + Virtualbox】1つのVagrantfileで複数のVMを立ち上げる
環境
- Vagrant 1.6.5
- VirtualBox 4.3.20
Vagrantfile
$ vagrant up
で2つVMが立ち上がるはず。VM間の通信をできる。(VirtualBoxのバージョンが古いと設定が必要みたい)
参考
おすすめビール
ビール、おいしいですよね(๑´ڡ`๑)
完全に使い方違う気がしますが、gistにおいしかったビールをメモがてら書いているので興味ある方はどうぞ。
【2015/1/17 12:22(PM) 追記】
gistやめてここに直接書いていくことにしました。
自分が好きな🍺
金麦(サントリー)
普段自宅で飲んでいる発泡酒。
ファイアーロック(ハワイ)
都内のハワイアンレストランで飲んだ。ペール・エールで甘いんだけど、後味が苦くておいしい。 色が琥珀色で綺麗。
ギネスの泡が落ちてくる感じの次に好きなビールの色。
ブルームーン(アメリカ)
アメリカ旅行に行った時に名前に惹かれて買って飲んだ。すごく飲みやすい。 写真みたいにオレンジもついていて、さっぱり。昼間にライブ聞きながら飲んだりしたら最高。
SwiftでiPhoneアプリつくってみる
動機
- そろそろネイティブアプリにも挑戦してみる
- 妹から「私が単語勉強するためのアプリ作って」という依頼がきたので遂行してみる
ということで、「某学校での単語テストのためだけの単語勉強アプリ」をSwiftを使って実装してみることにしました
ゴール
- Swiftでとりあえず動く単語勉強アプリをつくる(データはダミー)
- いくつか触ってみたところmikanというアプリ(Tinder風UI)が勉強しやすかったので、学習する部分のUIはこれを参考にする(技術的チャレンジ)
なんとなく段取り
- とりあえずiPhoneアプリ開発は初めてなので入門書に目を通しながら最初の1時間はXcodeの使い方とSwiftの書き方になれる(シングルページのサンプルアプリでも作ってみる)
- 慣れてきたら、必要な画面遷移(ボタンのタップイベントとか)をやる
- 次にローカルにおいたjsonファイルの読み込みをやる
- 最後にTinder風なUIを実装する
結論
1日で終わらなかったので明日に持ち越し。とりあえずこんな感じのところまで動いた。
Gyazo - 911fb309a7be0517654bb0a605b5d037.gif
TinderっぽいUIは画像(UIImageView)では動いたので、あとはこれをjsonから読み込んだテキストでできたらコア機能の開発は終わり!あとちょっと!
詰まったところとかも書こうと思ったけど、量が増えるので別記事でトピックごとにまとめる。
参考
基本的なアプリの作り方
今回はやりたいことが決まっていたので逆引き本的に使ったが、他の言語でもある程度プログラムがかける人でXcodeは初めて、という人(まさに私)くらいならちょうどいい本だと思う。すごく重宝した。(現在進行形)
ライブラリの追加
MDCSwipeToChooseの使い方
cocoapodsのインストール
プロジェクトにライブラリをインストールするまでの手順
CocoaPodsのインストール(gist)
obcでもswiftでもimportは必要、swiftの場合ちょっとめんどい
このページがすごい参考になった。
Swift時代のおすすめXcodeワークスペース設定 - Qiita
YourApp-Bridging-Header.hではUIKit.hもimportしないといけないので注意。
参考
VM上のUbuntuで No X11 DISPLAY variable was set って言われた話
経緯
とある課題でJavaのSwing(AWTだったかも)使ってるアプリを改変することになって、それを開発するにあたってVM上のUbuntuでやりたかったので動作確認しようとしたら怒られた。
$ No X11 DISPLAY variable was set
Σ(´Д `;)おぅふ…。
結論
$ export DISPLAY=:0
で解決した。
解説
解説できるほどちゃんと理解していないのですが。。
環境変数DISPLAYの書式は以下のような感じらしい。
DISPLAY=(ホスト):(ディスプレイ).(スクリーン)
cf. https://sites.google.com/site/teyasn001/ubuntu-12-10/huan-jing-bian-shudisplay
今回の場合はホストとスクリーンを省略して表記した形なのかしら。
参考ページ
Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.
自分の作業ログを自動で撮影するようにした
#5 新しい日報システムを考えた話 | tech.kayac.com - KAYAC engineers' blog
を見て、あとで振り返るのにいいなーと思ったので自分の普段使いのMacBook Proで設定してみた。cronの設定はこんな感じで毎時0分にスクリプトが実行されるようにした。
00 * * * * /path/to/dailyScript.sh
やったこと
- スクリプトの写経
- 画像の保存ディレクトリをDesktopに作成するように変更
- 内蔵カメラの撮影を起動から1秒後に変更
- 毎時0分に実行されるようにcronを設定
$ brew install imagesnap
$ vim dailyScript.sh
#!/bin/sh
DIR=~/Desktop/`date +%Y%m%d`
SCREENIMAGE=`date +%Y%m%d%H%M`_screen.png
FACEIMAGE=`date +%Y%m%d%H%M`_face.png
#Make directory
if [ ! -d ${DIR} ] ; then
mkdir $DIR
fi
#Take screenshot
/usr/sbin/screencapture -m -C -T0 -x ${DIR}/$SCREENIMAGE
#Take face photo
/usr/local/bin/imagesnap -w 1.00 ${DIR}/$FACEIMAGE
$ crontab -e
00 * * * * /path/to/dailyScript.sh