CakePHP2.xの命名規則
種類 | 規約 | 例 |
テーブル名 | 【スネークケース型】、【複数形】、【すべて小文字】 | 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
Alminium のgitとsourcetreeの設定
https://<ユーザ名>@<ホスト名>/git/<プロジェクトID>
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