vagrant で共有フォルダ作成

vagrant で共有フォルダ作成
#08 共有フォルダを使ってみよう
http://dotinstall.com/lessons/basic_vagrant/24108
を参考に
仮想マシンに共有フォルダを作成し
ホストOSである Ubuntu から
仮想マシンのファイルを編集していく
Vagrant では共有フォルダの設定があり
仮想マシンの
/vagrant/Vagrantfile

ホストマシンの
vagrantfile
とリンクしている
このため
cd /vagrant/

vagrant ディレクトリに移動して
touch test
とすると
ホストマシンの
/media/bdec1869-7820-4557-a76e-a8b130293019/myCentOSVM
の中にも
test
というファイルができている
このため、
/vagrant

ドキュメントルートに設定することで
共有フォルダとして使える
まず
sudo rm -rf /var/www/html
でディレクトリごと削除
次に、
sudo ln -fs /vagrant /var/www/html

vagrant のシンボリックリンクを作成
ln -fs は
ln コマンドが、ファイルやディレクトリのリンクをはる
-fs はオプションで
-f がリンク先に同名のリンクファイルがあれば上書き
-s はシンボリックリンクの作成
となる
詳しくは
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230812/
を参考にするとわかりやすい
とりあえず、ここまでできたらログアウト
そして、
/myCentOSVM$
の中で
vim index.html
でファイルを作成し
内容をちょっと変えて hello from ubuntu
としてみた
これで、再度ブラウザで
http://192.168.33.10/
へアクセスして
この内容に変わっていたら成功

vagrant で作成したマシンでwebページ表示

vagrant で作成したマシンでwebページ表示
#07 Webページを表示させてみよう
http://dotinstall.com/lessons/basic_vagrant/24107
を参考に
仮想マシン内にindex.htmlを作り
ネットワークの設定をしたあとにブラウザから確認する
まず、
cd /var/www/html/
で移動
vi より vim のほうがなれているので
sudo yum -y install vim
で vim インストール
sudo vim index.html
でファイルを作成して
hello world
だけ書いて保存
ここまでできたら一度
ログアウト
ログアウトは
exit
でできるし
Ctrl + d でもできる
このままだと
ネットワーク設定の関係でアクセスできないので
Vagrantfile を編集する
vim Vagrantfile
でファイルを編集
config.vm.network :private_network, ip: “192.168.33.10”
のコメントアウトを外すらしいけど
OSの違い、もしくは vaersion の違いにより
存在しない
private network の代わりに
host-only network があり
# config.vm.network :hostonly, “192.168.33.10”
となっているので
これのコメントアウトをはずす
保存したら、設定反映のため
vagrant reload
を実行
これで、ブラウザで
192.168.33.10
へアクセスすると、hello world と表示される

vagrant で作成したマシンへアクセス

vagrant で作成したマシンへアクセス
#06 仮想マシンに接続してみよう
http://dotinstall.com/lessons/basic_vagrant/24106
を参考に
vagrant で作成したマシンへSSH接続し
web サーバーを立ち上げる
vagrant destroy で仮想マシンを破棄しても
Vagrantfile は残っているので
これを使って、再度作成
cd /media/bdec1869-7820-4557-a76e-a8b130293019/myCentOSVM/

Vagrantfile のあるディレクトリに移動して
vagrant up
を実行
これで仮想マシンが作成される
次に、仮想マシンへの接続
NATでアクセスする方法を考えたけど
vagrant ssh
で接続できる
Welcome to your Vagrant-built virtual machine.
[vagrant@localhost ~]$
となり、vagrant というユーザでログインしているのが確認できる
まず、webサーバーのインストール
sudo yum -y install httpd
次に
sudo chkconfig httpd
でweb サーバー起動
sudo chkconfig httpd on
で次回起動時に自動起動する設定
sudo service iptables stop
で Linux ファイアウォール停止
sudo chkconfig iptables off
で次回起動時にFWが起動しないようにする

フリックやスクロールの検知

フリックやスクロールの検知
ボタンのタップやダウン、アップなどのタッチ操作は
onClickイベントや
onTouchイベントで処理できるけど
複雑な操作になるジェスチャーは
GestureDetectorクラスや
ScaleGestureDetectorクラスを使い検出する
ScaleGestureDetectorクラスは
ピンチイン
ピンチアウト
を取得できる
GestureDetectorクラスはかなり多くの
ジェスチャーを検出できる
先に、ピンチアウトとピンチインについて解説
スマホのタッチパネルは、複数の指で
画面にタッチするマルチタッチをサポートしている
2本指でタッチして
つまむように間隔を狭めることを
ピンチイン
逆に2本の指を開いて
間隔を広げる動作をピンチアウトという
そして、以下がGestureDetectorで検知できるイベント
ダウンは、onDown()
押したとき
インターフェースは,
OnGestureListener
プレスは、onShowPress()
おしたとき、ただし、すぐに動かすと検知されない
インターフェースは、
OnGestureListener
長押しは、onLongPress()
これは、長押ししたとき
インターフェースは、
OnGestureListener
フリックは、onFling()
スワイプ、つまり指を触れたまま
任意方向へすべらした状態から
指を弾いて離す
インターフェースは、
OnGestureListener
スクロールは、onScroll()
画面にタッチしたままスライド
インターフェースは、
OnGestureListener
アップは、onSingleTapUp()
画面タッチからアップ操作を短く
インターフェースは、
OnGestureListener
シングルタップは、onSingleTapConfirmed()
ダブルタップ時には呼び出されない
インターフェースは、
OnDoubleTapListener
ダブルタップは、onDoubleTap()
これは、二回押す
インターフェースは、
OnDoubleTapListener
ダブルタップ時のイベントは、
onDoubleTapEvent()
ダブルタップ中にイベントダウン、移動、アップが起こると通知される
インターフェースは、
OnDoubleTapListener

vagrant で立ち上げた仮想マシンの停止・再起動・削除

vagrant で立ち上げた仮想マシンの停止・再起動・削除
#05 仮想マシンの停止・再起動・削除
http://dotinstall.com/lessons/basic_vagrant/24105
を参考に
立ち上げた仮想マシンを
停止、終了、再起動、削除していく方法を学習
vagrant up で起動した仮想マシン
が稼働しているという前提
いくつかの操作コマンドがあるのでメモ
status
状態を確認
suspend
スリープ状態にする
resume
スリープからの復帰
halt
仮想マシンの終了
up
仮想マシンの起動
reload
仮想マシンの再起動
destroy
仮想マシンの破棄
では、実践
まず vagrant status
Current VM states:
default running
The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.
というように稼働中である running が表示される
vagrant suspend で
[default] Saving VM state and suspending execution…
となり、停止
vagrant up とすれば
[default] VM already created. Booting if it’s not already running…
[default] Resuming suspended VM…
[default] Booting VM…
[default] Waiting for VM to boot. This can take a few minutes.
[default] VM booted and ready for use!
となり、起動する
vagrant resume
の代わりに
vagrant up でもOK
仮想マシンを廃棄するには
vagrant destroy

Are you sure you want to destroy the ‘default’ VM? [Y/N] y
[default] Forcing shutdown of VM…
[default] Destroying VM and associated drives…
となり削除される
稼働中であっても削除される
この削除された結果は
virtualbox にも反映される

vagrant で box をベースに仮想マシンの立ち上げ

vagrant で box をベースに仮想マシンの立ち上げ
#04 仮想マシンを立ち上げてみよう
http://dotinstall.com/lessons/basic_vagrant/24104
を参考に
box をベースにして仮想マシンを立ち上げ
一つのbox 、つまりテンプレから
いくつでも仮想マシンをつくれる
これは、AWSで仮想マシンを、他の人や自分がつくったAMIから仮想マシンをつくれるのとおなじ
仮想マシンをつくるときには
仮想マシンごとにディレクトリを作成する
VMware Player や VirtualBox をつかってみると
わかるけど
仮想マシンごとにディレクトリが作成されている
私の場合、SSD+HDDで
容量がSSDのほうでは少ないためHDD側に作成
mkdir /media/bdec1869-7820-4557-a76e-a8b130293019/myCentOSVM
cd /media/bdec1869-7820-4557-a76e-a8b130293019/myCentOSVM/
で作成したディレクトリに移動
次に、仮想マシンの初期化
vagrant init centos64
で初期化してVagrantfileが作成される
vagrant init で
仮想マシンの初期化
centos64 は box を指定している
box の確認は
ls ~/.vagrant.d/boxes
で確認できる
作成できているかは ls コマンドで確認できる
Vagrantfile
と表示されれば成功
この Vagrantfile は
ruby で書かれている設定ファイル
中身をみたいのなら
less Vagrantfile
読んでいて終了したいなら q をおす
この Vagrantfile をもとに仮想マシンが作成される
作成するには
Vagrantfile があるディレクトリで
vagrant up
を実行する
すでに実行状態になっているのが
VirtualBox を立ち上げると確認できる
端末から virtualbox とすれば
VirtualBox が起動する

vagrantbox.es から box の取得

vagrantbox.es から box の取得
#03 vagrantbox.esを使ってみよう
http://dotinstall.com/lessons/basic_vagrant/24103
を参考に
vagrantbox.esからBoxを取得する
今回は
http://www.vagrantbox.es
から
box を取得
今回取得するのは
CentOS 6.4 64bit Minimal という最小構成のOS
この
http://www.vgrantbox.es
には、様々な構成の box がある
このbox は有志の人が作っているので非公式なので
自己責任で利用する
vagrant box add centos http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130427.box

box に追加する予定だったが
[vagrant] Extracting box…
[vagrant] Cleaning up downloaded box…
Failed to untar the box file. This is usually because you’re
attempting to add a box that isn’t a valid box file. Please
double check that the box file is properly packaged.
となるので、別の方法を探すことに
http://d.hatena.ne.jp/ux00ff/20130715/1373856937
を参考に
add するファイルを
CentOS-6.4-x86_64-v20130309.box
にした
vagrant box add centos64 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130309.box
box に追加できているか確認するため
vagrant box list 確認できる
vagrant
で使えるコマンドについては
vagrant box -h
で調べることが できる
box の削除は
vagrant box remove でできる
ちなみに、追加された box は
~/.vagrant.d/boxes
に格納されている
確認するなら
ls ~/.vagrant.d/boxes
ここにキャッシュされた box を元に
仮想マシンの初期化、起動を行っていく

Vagrant で box 取得

Vagrant で box 取得
#02 Boxを取得してみよう
http://dotinstall.com/lessons/basic_vagrant/24102

を参考に
仮想マシンのテンプレになるBox を取得
実行環境は Ubuntu 12.04 64bit
仮想マシン立ち上げには手順があり
まず、box を取得
box は 仮想マシンのテンプレート
次に、仮想マシンの初期化
そして、仮想マシンを起動する
という流れになる
今回は、box を公式サイトにあるものを取得
http://docs.vagrantup.com/v2/getting-started/boxes.html
を参照
box 取得には
vagrant add コマンドを使う
vagrant box add precise32 http://files.vagrantup.com/precise32.box
とあるけど
これは、box の名前を precise32 にしている
仮想マシンの名前を決めていると考えるとわかりやすい
http://files.vagrantup.com/precise32.box
は実際に取得するファイルのURL
つまり、wget コマンドで取得するようなかんじ
取得完了後
box 一覧を確認したい場合
vagrant box list
で確認できる

google apps script メール送信の動作確認

google apps script メール送信の動作確認
#16 動作確認をしてみよう
http://dotinstall.com/lessons/basic_google_apps_script/24316
を元に
動作確認をする
まず、Google ドキュメントで作成したフォーム
MyForm を開く
そして、
View live form
でテスト
名前
メールアドレス
参加、不参加を入力し送信
すると、
スプレッドシートへ送信内容が自動入力される
また、送信したメールアドレスに
今回の投稿内容がメールで受信できていることが確認できる

google apps script で投稿内容をメール送信

google apps script で投稿内容をメール送信
#15 投稿内容をメールしてみよう
http://dotinstall.com/lessons/basic_google_apps_script/24315
を参考に
フォームから投稿された内容を
メール送信するための処理を実装
今回は、発生したイベントを利用するので
function sendReports(e){
}
として、処理を書いていく
まずは、結果を初期化
var rs =”;
Google apps script で
投稿結果から値を取得するには
フォームの項目の名前を入れる
var name = e.nameValues[‘お名前’];
var email = e.nameValues[‘メールアドレス’];
var attend = e.nameValues[‘参加?’];
とする
もし、確認したいのなら
一度 Google ドキュメントで作成したフォームの
項目を確認すること
rs =”name : “+ name +”\n email :”+email +”\n attend : “+attend;
というように、メールで受け取ったときに
見やすいように
\n をいれて改行しておく
これで 変数 rs へ結果が格納されたので
あとはメールで送信する
メールで送信するには
MailApp.sendEmail() を使う
引数には
送信先メールアドレス
件名
内容
となるので
MailApp.sendEmail(
“メールアドレス”,
“回答がありました”,
rs);
というようになる
あとは、トリガー設定をするため
Resources > Current Projects triggers

No triggers set up. Click here to add one now.
をクリック
動作を
On open から
On form submit へ変更し
保存
Authorization required
This app needs authorization to run.
Authorize Cancel
というように承認するか聞かれるので
承認する Authorize をクリック
今回要求されている承認は
Send email as you
ユーザ本人に変わってメール送信
View and manage your spreadsheets in Google Drive
Google Drive のスプレッドシート表示と管理
となる