« 2017年10月 | メイン | 2017年12月 »
2017年11月26日
jquery プラグイン構造忘れる
(function( $ ){ $.fn.myPlugin = function() { // ここでは"this"=$('#element') // ここでの$(this)は$($('#element'))と同じ事になります this.fadeIn('normal', function(){ // ここでのthisはDOM要素になります //$(this) = $('#element') }); }; })( jQuery ); $('#element').myPlugin();
投稿者 muuming : 16:56
2017年11月24日
smartyテンプレート内でexplode
めったに使わ無さそうだがメモメモ
{assign var="array" value=","|explode:'apple,orange,banana'}
投稿者 muuming : 14:48
2017年11月23日
javascriptでフォームのバリテーション
document.form1.checkValidity → 正誤のみでエラー表示なし
document.form1.reportValidity → 正誤とエラー表示(submitボタン押した後の動作と同じかな?)
投稿者 muuming : 11:51
2017年11月20日
smarty:nodefaultsのバージョン3の場合
{$var nofilter} ですよーわすれる
投稿者 muuming : 11:41
2017年11月19日
smarty 文字列連結
{include file="`$dir``$file`"}
バックスラッシュで展開できるんだってー。あんま使わないからいつも忘れちゃう。
投稿者 muuming : 13:07
2017年11月17日
UTF-8文字列の入力チェック
PHPの場合
function validate_utf8($input) {
return (bool)preg_match('//u', $input);
}
https://qiita.com/mpyw/items/f0628b35a368fa468775
投稿者 muuming : 11:55
2017年11月12日
centos7 network周り
/etc/sysconfig/network-scripts/以下のifcfg- をいじるのはお勧めしないらしい
以前はsetupコマンドでデてたけど、7からは「nmtui」だ
route でgatewayの確認
現状の確認
# nmcli d
デバイス タイプ 状態 接続
ens160 ethernet 接続済み ens160
lo loopback 管理無し --
# nmcli d show ens160
GENERAL.デバイス: ens160
GENERAL.タイプ: ethernet
GENERAL.ハードウェアアドレス: 00:50:56:95:91:EE
GENERAL.MTU: 1500
GENERAL.状態: 100 (接続済み)
GENERAL.接続: ens160
GENERAL.CON パス: /org/freedesktop/NetworkManager/ActiveConnection/1
WIRED-PROPERTIES.キャリア: オン
IP4.アドレス[1]: 192.168.1.2/24
IP4.ゲートウェイ: 192.168.1.1
IP6.アドレス[1]: fe80::250:56ff:fe95:91ee/64
nmtui で固定IPが繋がらない時にやったこと。
固定IPを 192.168.206.111 と入力すると、再度設定を開くと 192.168.206.111/32 となるのでこれを
192.168.206.111/24と変更すると上手く行った。 なぜ?これは何?はわからんw
投稿者 muuming : 07:22
2017年11月11日
git apache経由を導入してみる
以前ssh経由のgitを導入したが、パスワード毎回入れないといけないので、apache経由を導入してみる。
subversionもapache経由ならID PASS省略できるしいけるような気がするので。
環境centos7です。
#mod_cgi、 mod_alias、 mod_env、 mod_rewrite が必要らしい
#/usr/lib64/httpd/modules/以下に全部入ってるのでこれはOKっぽい
#git インストール
yum install git
mkdir /home/mygit
cd /home/mygit/
#初期化
git init
#bareリポジトリかどうか調べる
git config --get-all core.bare → false
#ノンベアリポジトリはワーキングディレクトリを持つ
#ベアリポジトリはワーキングディレクトリを持たない。更新情報だけを持っている
#コミットする場所はbareにする
git config --bool core.bare true
#apacheさんが使うので所有者変更
chown -R apache.apache /home/mygit/
#Apache の設定
/etc/httpd/conf.d/git.conf
#-------------------------------
SetEnv GIT_PROJECT_ROOT /home/mygit/
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /mygit/ /usr/libexec/git-core/git-http-backend/
AuthType Basic
AuthName "go away!!"
Require valid-user
AuthUserFile /pathto/.htpasswd
#-------------------------------
とりあえずこれで
http://example.com/mygit のURL使ってcloneできた
ソースの自動展開とかは以前のメモを参照。
うん やってみたけど、やっぱりコミットとプッシュの2段階がどうもめんどくさい。
vmware とかでソース部分をファイル共有してコミットのみで構築テストして、OKだったら遠隔サーバにプッシュかな?
これはvmwareで作業用のブランチをファイル共有して動作確認後、そこににコミットして記録を残しつつ、完成時のバージョンのみマスターにコミットかな。
作業時毎にブランチ切ろうかな。
この方法なら遠隔地サーバはバックアップという意味合いだから、マスターと作業記録ブランチをたまにプッシュするだけなのでIDPASS問題はOKだし、コミットとプッシュ毎回2作業の必要ないからこれがいいかな。
となると自動展開デプロイの必要ないね。
てか そう考えると ssh経由でも何も問題ないのかww
投稿者 muuming : 10:08
2017年11月09日
PHPエラー関連
◆エラーを発生させる
trigger_error ( string $error_msg [, int $error_type = E_USER_NOTICE ] )
◆発生したエラーを独自処理する
set_error_handler('errHandle');
function errHandle($errNo, $errStr, $errFile, $errLine) {
//処理
}
◆従来のエラーはthrow catch出来ないので変換したら幸せらしい
set_error_handler(function($severity, $message, $file, $line) {
throw new ErrorException($message, 0, $severity, $file, $line);
});
◆fatal errorを発生させる
throw new Exception("Unknown Error ");
◆fatal errorを独自処理する
function fatalHandle($exception) {
print $exception->getMessage();
}
set_exception_handler('fatalHandle');
投稿者 muuming : 07:30
2017年11月08日
mod_rewrite復習
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
REQUEST_URI は
/file/test.jpg
REQUEST_FILENAME
ファイルシステム内のフルパス
/var/www/htdocs/file/test.jpg
# 1文字マッチしたらリライト実行。空文字列でなければ実行する。
RewriteRule . index.php [L]
# 先頭にマッチしたらリライト実行。常に実行する。
RewriteRule ^ - [L]
#ハイフン(置換しない) →フラグの操作だけを実行したい場合に使う。
RewriteRule ^index\.php$ - [L]
そっか index.phpが存在すれば↑の行は要らないけど、index.phpが存在しない場合は無い場合に無限ループになっちまうからあるのか。なるほど
投稿者 muuming : 12:11
PHPにおけるMVC
http://www.objective-php.net/mvc/about
↑わかりやすいと思う。
オレオレ理解で言えば
smarty使ってHTMLテンプレートを分ける ← VIEW
入ってきた情報をゴニョゴニョ処理する ← Model
受け付けて何の処理なのかを判断する ← Controllers
であるが smarty使って普通に作った場合は、そのアクセスするphpファイル毎に処理が別れるのでそういった意味では Controllers = どのPHPなのかであり、極端な話コントローラー無いとも言える
ちゅうことかな・・・
読み進めてみると、入力データにアクセスできるのはコントローラーだけって感じで進めてるので、となると入力チェックとかもコントローラーの役目なのかなー?
投稿者 muuming : 07:09
2017年11月07日
拡張子なしでもアクセスできちゃう
apacheの設定によっては http://example.com/filename.php でアクセスするファイルが
http://example.com/filename でもアクセスできちゃう。
便利といえば便利?なのか?
いらねー機能だと思うので解除する。
MultiViews だねー
Options -MultiViews -Indexes
ついでに一覧表示も消すね。
投稿者 muuming : 16:27 | コメント (0)
2017年11月04日
apt-get upgrade の「保留」
apt-get update → パッケージリストのアップデートかな?
apt-get upgrade パッケージ自体のアップデート
で 保留1とか出るんだけど、この保留が出る理由は2つ
ディストリビューションによって明示的に保留とされている
それをアップデートすると他のパッケージが削除されてしまう。
なので、その場合は
#テスト
sudo apt-get -s dist-upgrade
#よければ実行
sudo apt-get dist-upgrade
投稿者 muuming : 06:39