[Vagrant] プロビジョニング、パッケージング、プラグイン、Sahara

プロビジョニング

プロビジョニングとは、vagrant up 後に処理を自動実行すること。

サンプル

Vagrantfile

provision.sh

プロビジョンだけ実行したい場合は以下コマンド。

パッケージング

パッケージングとは、現在動いている仮想マシンの状態をBox化すること。

すると、package.boxが作成される

プラグイン

インストール

コマンドヘルプ

プラグイン一覧

Sahara

Saharaはsandboxモードの利用を可能にするプラグイン

変更のコミットはvagrantを停止させてから行わないと遅いらしい。

[Unix] yumの超概要とrpmとの比較

yum – Yellowdog Updater Modified

Yellowdog Updater Modified (Yum ヤム)はLinuxのRPM Package Managerのパッケージを管理するメタパッケージ管理システムである。

Yellowdog Updater Modified – Wikipedia
http://ja.wikipedia.org/wiki/Yellowdog_Updater_Modified

  • yumは内部でrpmを呼び出して、rpmよりさらに高度な機能を提供している
  • yumのほうが高機能なのでyumが使えるなら使う。使えないなら諦めてrpmを使う。

yum vs rpm

(1) 依存関係

  • rpmは依存関係のあるパッケージを自動でインストールしない。
  • yumは依存関係のあるパッケージを自動でインストールする。

(2) パッケージ名

  • rpmはパッケージの完全な名前が必要。
  • yumはパッケージ名のみ必要。

(3) インストールされていないパッケージの検索

  • yumはリポジトリを参照することで、インストールされていないパッケージも検索できる。
  • rpmはパッケージを既にダウンロードしているか、パッケージファイルのURLがわからなければ検索できない。

[正規表現] 基本メモ

簡単な例 (JavaScript)

() RegExp の使い方

例: RegExp.$1 – 直前の正規表現パターンでマッチした1つ目を抽出する

括弧は複数定義可、入れ子にもできる

 サンプル

Twitter IDの抽出

HTMLタグの中身の抽出

日付の変更 (日本語表記に直す)

参考サイト

正規表現(RegExp)
http://www.tohoho-web.com/js/regexp.htm

正規表現では、次のようなマッチング表現を用いることができます。

正規表現 意味
A Aという文字
ABC ABCという文字列
[ABC] A、B、Cのいずれか1文字
[A-C] A~Cまでのいずれか1文字
[^ABC] A、B、Cのいずれでもない任意の1文字
. 任意の1文字
A+ 1文字以上のA
A* 0文字以上のA
A? 0文字または1文字のA
^A Aで始まる文字列
A$ Aで終わる文字列
ABC|DEF|GHI ABCまたはDEFまたはGHI
A{2} 2個のA(AA)
A{2,} 2個以上のA(AA、AAA、AAAA、…)
A{2,3} 2個~3個のA(AA、AAA)
[b] バックスペース

 

バックスラッシュ()に続く文字は特別な意味を持ちます。

表現 意味
b スペースなどの単語の区切り
B b以外の文字
cA Ctrl-A
d 任意の数値([0-9]と同じ)
D 数値以外の文字([^0-9]と同じ)
f フォームフィード文字
n 改行文字
r 復帰文字
s 1文字の区切り文字([ fnrtv])
S s以外の1文字
t タブ文字
v 垂直タブ文字
w 英数文字([A-Za-z0-9_]と同じ)
W w以外の文字
2 2番目の (…) にマッチした文字列
o033 8進数で033の文字
x1b 16進数で1bの文字
その他 その他の文字自身

 

/…/ の後ろに記述する i、g、m などのフラグは下記のような意味を持ちます。

フラグ 意味
i 大文字・小文字を区別しない
g 2番目、3番目… にマッチする部分も検索する
m 複数行に対して検索する (e55/N6)

[PHP] PDOを使ったデータベースのアクセス

PDO – PHP Data Object

データベースの種類に関わらず同じ手順でアクセスできる。
すなわち、データベースの種類を隠蔽できる。

接続

切断

クエリー

プリペアドステートメント

エスケープ処理を任せることができる。

プレースホルダを使ってSQLを記述

プレースホルダに入る値を指定して実行

プレースホルダと変数をバインドして実行

更新

削除

[MySQL] 基本メモ: 外部ファイルのコマンドを実行する

外部ファイルのサンプル (cmds.sql)

実行

[MySQL] 基本メモ: テーブルの構造変更

フィールド追加

フィールド変更

フィールド削除

インデックス追加

add index インデックス名 (インデックスを付けるフィールドの名前)

インデックス削除

テーブル名変更

[MySQL] 基本メモ: 日付関数

現在時刻

月だけを抽出

日付の差分を日数で求める

[MySQL] 基本メモ: 文字列関数

文字列の長さ

文字列の連結

部分文字列の抽出

引数の意味: substr(フィールド名,開始位置(1-based),文字数)