CakePHP2.xの命名規則

CakePHP命名規則

種類 規約
テーブル名 【スネークケース型】、【複数形】、【すべて小文字】 recipes、reviews、membership_types
フィールド名 【スネークケース型】、【単数形】、【すべて小文字】 recipe、membership_type
モデル名 テーブル名を【キャメルケース型】、【単数形】にしたもの membership_typeテーブルのモデル名:MembershipType
コントローラー名 関連させるモデルクラスの【キャメルケース型】、【複数形】+Controller モデルクラスMembershipTypeを使用するコントローラー:MembershipTypesController
ビュー名(フォルダ) コントローラーの【キャメルケース型】、【複数形】 MembershipTypesControllerクラスのビューフォルダ:MembershipTypes
ビュー名(フォルダ下のファイル) アクションを【スネークケース型】+.ctp MembershipTypesControllerクラスのindex()アクションのビューはindex.ctp

キャメルケースとは
「MembershipType」のように単語の区切りを大文字で繋げたラクダ(キャメル)に見える文字列



スネークケースとは
「membership_type」のように単語の区切りをアンダーバーで繋げたヘビ(スネーク)に見える文字列




■【Hello】を例にすると

model result conventions
モデル名 Model Name Hello 単語始まりが大文字,単数形(UpperCamelCase,single)
モデルのファイル名 Model's FileName Hello.php キャメルケース,単数形(underscored,lower,single)
テーブル名 Table_name(s) hellos アンダースコア全部小文字,複数形(underscored,lower,plural)
controller result conventions
コントローラー名 Controller Name(s) Hellos 単語始まりが大文字(UpperCamelCase with '_controller')
コントローラーのクラス名 Controller's ClassName HellosController アンダースコア全部小文字,複数形(underscored,lower,plural)
コントローラーのファイル名 Controller's FileName HellosController.php キャメルケース,複数形(underscored,lower,plural)
uses用の名前 for uses Hello モデル名(ModelName)
view result conventions
ビューフォルダ名 View Folder hellos アンダースコア全部小文字,複数形(underscored,lower,plural)
ビューのファイル名 View's FileName hello.php アンダースコア全部小文字(underscored,lower)

iphoneでMiniKeePass+googledriveを使っている場合に「アプリで開く」でMiniKeePassが出てこない現象の対処法

表題の件、グーグルドライブを更新したらアプリで開くにミニキーパスが出なくなってしまった
どうやらグーグルドライブ「Google Drive v4.0」のバグの模様


対処法として拡張子を二重にすることで解決出来たのでシェア


(KDBXの場合)
password.kdbx

password.kdbx.kdbx


(旧ファイルの場合)
password.kdb

password.kdb.kdb


どうぞお試し下さい。

CentOS6でさくらのベースストレージをマウントするためのs3fsインスコのメモ

まずは必要パッケージのインストールから

1.fuseをインストール
# cd /usr/local/src/
# wget http://sourceforge.net/projects/fuse/files/fuse-2.X/2.8.5/fuse-2.8.5.tar.gz
# tar zxvf fuse-2.8.5.tar.gz
# cd fuse-2.8.5
# ./configure
# make
# make install


2.libcurl、libxml-2.0、libcryptoをインストール
# yum install -y openssl-devel libcurl-devel libxml2-devel


3.s3fsをインストール
# cd /usr/local/src/
# wget http://s3fs.googlecode.com/files/s3fs-1.74.tar.gz
# tar zxvf s3fs-1.74.tar.gz
# cd s3fs-1.74


fuseの場所を確認
# find / -name 'fuse.pc' 2> /dev/null
/usr/local/src/fuse-2.8.5/fuse.pc
/usr/local/lib/pkgconfig/fuse.pc



「/usr/local/lib/pkgconfig」にインストールされているのでパスを通す
# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig



# ./configure --prefix=/usr
# make
# make install


4. コンフィグファイル生成
# touch /etc/passwd-s3fs
# vi /etc/passwd-s3fs

AWSアクセスキー:AWSシークレットキー

#chmod 640 /etc/passwd-s3fs



5.パスを通す

# vi /etc/ld.so.conf

/usr/local/lib
include ld.so.conf.d/*.conf

# ldconfig


6.まずは出来たかどうか確認

# modprobe fuse

# s3fs (バケット名) (マウントポイント) -o url=https://b.sakurastorage.jp/ -o allow_other,default_acl=public-read

#df -h

256Tが表示されてればOK!

確認出来たのでアンマウント

# umount -l (マウントポイント)




7. 自動起動に登録
普段は自動マウントはfstabに登録しますが、アンマウントせずに再起動するとエラーになってしまうため
こちらに登録する

# vi /etc/rc.d/rc.local

最後の行に追加

fusermount -u (マウントポイント)
s3fs (バケット名) (マウントポイント) -o url=https://b.sakurastorage.jp/ -o allow_other -o allow_other,default_acl=public-read

よく使うショートカットメモ

[windows]
windows + 数字 = タスクバーの位置のアプリケーションに切り替え
windows + → = 右半面に最大化
windows + ↑ = 最大化
windows + Shift + → = モニター間移動


[App]
Ctrl + Tab = タブを右に移動
Ctrl + Shift + Tab = タブを左に移動
Ctrl + W = タブを閉じる

KVMの容量を増やす

1.ファイルシステムの状況を調べる

# df -Th

/dev/mapper/vg_kvm-lv_root ext4    50G   45G  2.1G  96% /
tmpfs                      tmpfs  5.8G   88K  5.8G   1% /dev/shm
/dev/sda1                  ext4   485M   40M  420M   9% /boot
/dev/mapper/vg_kvm-lv_home ext4   864G  1.4G  819G   1% /home


2.homeを使ってないか調査
使ってたらkillなどで適宜終了させる
# fuser -muv /home


3.homeをアンマウント
# umount /home


4.ファイルシステムを調査
# fsck.ext4 -f /dev/mapper/vg_kvm-lv_home


5.サイズを30GBに縮小(それなりに時間かかる)
# resize2fs /dev/mapper/vg_kvm-lv_home 30G


6.続けて論理ボリュームを 30GB に縮小(質問にはyes)
# lvreduce -L 30G /dev/mapper/vg_kvm-lv_home


7.再度マウントする
# mount -t ext4 /dev/mapper/vg_kvm-lv_home /home


8.理論ボリュームサイズを最大まで広げる
# lvextend -L 871G /dev/mapper/vg_kvm-lv_root


9.ファイルシステムのサイズ(それなりに時間かかる)
# resize2fs /dev/mapper/vg_kvm-lv_root


10.正常に拡大されてればOK!
# df -Th

Filesystem                 Type   Size  Used Avail Use% Mounted on
/dev/mapper/vg_kvm-lv_root ext4   871G   45G  782G   6% /
tmpfs                      tmpfs  5.8G   84K  5.8G   1% /dev/shm
/dev/sda1                  ext4   485M   40M  420M   9% /boot
/dev/mapper/vg_kvm-lv_home ext4    30G  1.3G   27G   5% /home

MySQLのバックアップSHサンプル

ありがとうございます!

参考にしたサイト
http://qiita.com/crimson_21/items/6171a95f8ddb2861e2e6


1.ルートのホームにディレクトリ制作
mkdir -p /root/backup/mysql


2.shファイル制作
vi /root/mysqlBackup.sh


3.中身記述

#!/bin/sh

# 他のユーザからバックアップを読み込めないようにする
umask 077

# バックアップファイルを何日分残しておくか(一ヶ月分)
period=31
# バックアップファイルを保存するディレクトリ
dirpath='/root/backup/mysql'

# ファイル名を定義(※ファイル名で日付がわかるようにしておきます)
filename=`date +%y%m%d`

# mysqldump実行(ファイルサイズ圧縮の為gzで圧縮しておきます。)
mysqldump --opt --all-databases --events --default-character-set=binary -u root --password=パスワード | gzip > $dirpath/$filename.sql.gz

# 古いバックアップファイルを削除
oldfile=`date --date "$period days ago" +%y%m%d`
rm -f $dirpath/$oldfile.sql.gz


4.生のパスワードデータが入っているのでルート以外は見られないように
chmod 0700 /root/mysqlBackup.sh


5.クーロンに記述
#crontab -e

0 3 * * * root /root/mysqlBackup.sh



6.ちなみにあまり推奨されないけどSCPで一週間に一回送る
vi /root/mysqlBackup2.sh

#!/bin/sh
dirpath='/root/backup/mysql'
filename=`date +%y%m%d`

HOST=[バックアップ先のIP]
USER=root
PASS=[パスワード]
TARGET_FILE=$dirpath/$filename.sql.gz
TARGET_DIR=/var/backup/motebeauty.jp

expect -c "
spawn scp ${TARGET_FILE} ${USER}@${HOST}:${TARGET_DIR}
expect {
\"Are you sure you want to continue connecting (yes/no)? \" {
send \"yes\r\"
expect \"password:\"
send \"${PASS}\r\"
} \"password:\" {
send \"${PASS}\r\"
}
}
interact
"


7.生のパスワードデータが入っているのでルート以外は見られないように
chmod 0700 /root/mysqlBackup2.sh


8.クーロンに記述(日曜の4時20分に転送!)
#crontab -e

20 4 * * 0 root /root/mysqlBackup.sh