centos5.11 vim7.4インストール手順

centos5.11のデフォルトだと7.0なのでソースから最新のver7.4をインストールする。vimのgithub https://github.com/vim/vim※事前にcentosのpythonのデフォルトは2.4なのでepelから2.6をインストールすること。しかしこれだけだとコンパイル時に2.6ではなく2.…

mysql auto_incrementをダンプから外したい場合

skip-optオプションを使うとエンジンとかも表示されなくなるため、以下のようにsedでやるしかないらしい。 mysqldump -u user db_name -p -d | sed 's/ AUTO_INCREMENT=[0-9]*\b//' > db_name.sql

php php.iniの設定はhttpd.confやhtaccessでも設定可能

php

はまってしまったのでメモ。 php.iniのinclude_pathはデフォルトのままなのに何故か別フォルダのファイルをincludeしていたからなぜだろうと思ったら、htaccessにinclude_pathが設定されていた。 php_value include_path ".:/var/lib/sample:"htaccessを使う…

cakephp1.2 findでrecursiveを指定する

recursiveの指定の仕方を完全に忘れていて調べるのに5分くらいかかってムカッときたので次回は3秒で書けるようにメモ。書き方1 array( 'Model.id' => $id, ), 'recursive' => -1, ); $this->Model->find( 'all', $cond ); 書き方2 $id, ); // 第2引数はfie…

tmuxを使ってみる

インストール yum --enablerepo=epel install tmux 使い方 //起動 tmux //新しいウィンドウを追加 Ctrl-b + c //ウィンドウ一覧 Ctrl-b + w //ウィンドウ切り替え Ctrl-b + ウィンドウ番号 Ctrl-b + n Ctrl-b + p //ペイン分割(同じウィンドウ内で画面分割す…

php definedで配列を定義したい

php

php7だとdefinedに配列を指定できるようになったらしいがphp5.2ではできないので以下のようにすればよい。(もちろん区切り文字がデータに含まれないことが前提)

cakephp1.2 キャッシュについてまとめ

core.php

アンカーでonclickをする場合、return falseをすること

以下はどっちも同じ挙動するんだけど、ずっと方法2を使っていた。方法1は「return false」をつけることでアドレスに#が付いてページの先頭に移動してしまうのを防げる。void(0)とか気持ち悪いときは方法1がよいかも。 方法1 <a href="#" onclick="func();return false;">テスト</a> 方法2 <a href="javascript:void(0)" onclick="func()">テスト</a> 参考サイト …

cakephp1.2 validateである値に等しいかどうかはcomparisonを使う

array( 'comparison' => array( // 1の場合 'rule' => array('comparison', '==', 1), 'required' => true, ), ), );

cakephp1.2 validateのrequiredとnotEmptyと値が配列の場合についての再考

無駄に悩んでしまったので改めてまとめる。値がセットされているかだけチェックしたい array( 'notEmpty' => array( // このルール名はなんでもいいのでruleに合わせておけばOK 'rule' => 'notEmpty', // ruleは必須 'required' => true, 'message' => '選…

apache mod-evasive のインストールとxmlrpc.phpへのアクセス拒否設定

また海外からdosを食らったのでいい加減対策することにする。手順 // インストール yum install mod_evasive // 設定ファイルで設定値を調整 vi /etc/httpd/conf.d/mod_evasive.conf // ログフォルダ作成 mkdir /var/log/mod_evasive/ // 権限設定 chown apa…

cakephp1.2 paginateを使用する時のまとめ

cakephpでページング使用と思って、久しぶりだったので何を使えばよいか忘れてしまっていてpearのpagerにしようかと思ったけどやっぱりcakephp標準のpaginateにしようかと思ってやってみたんだけど実装までに4時間もかかってしまって鬱になってイラッと来た…

cakephp1.2 paginateでunbindModelする時は第2引数にfalseを設定すること

paginate実行する前にunbindModelする場合、必ず第2引数にfalseを設定して永続的に連結を解除すること。 そうしないと最初のcountの時だけ解除されて、データ取得する時は元に戻ってしまうらしい。参考サイト CakePHPのbindModelとunbindModel | 株式会社LIG

php array_multisortが優秀だった件

php

cakephp使ってて、以下のような多次元配列をNumber.numberでソートしたい [User] => Array ( [0] => Array ( [id] => 36 [Number] => Array ( [id] => 1044 [number] => 0300019992 ) ) [1] => Array ( [id] => 15 [Number] => Array ( [id] => 1041 [number…

jquery ある要素がDOM上に存在しているか確認する

if ($("#aaa")) { // 存在している場合 } とかでいけると思いきやダメだった。正解は↓ if ($("#aaa").size()) { // 存在している場合 } lengthでもよいぽい参考サイト device302.me - jqueryで任意の要素の存在チェック

php セッションの有効期限を2038年以上にするとセッションクッキーになってしまう件

cakephp1.2でSecurity.level=lowにした上でsession_startすると、本来であれば有効期限が25年先となるはずが、有効期限がセットされずにセッションクッキーになってしまうという問題にぶち当たった。しかもphp5.1だと発生し、php5.2だと発生しない。色々試し…

cakephp1.2 フォルダを分けて同名のコントローラーを作りたい場合

調べたけどできなそう。 なので、フォルダを分けていたとしてもコントローラー名は重複させないこと。ちなみに、URLのコントローラー名の部分は被ってもroutesで制御できるので問題ない。 'user_histories')); Router::connect('/admin/histories/:action/*…

php 1つのformにsubmitボタンを複数設置する方法

php

わざわざjavascriptを使ってあほなことをやっていた。 submitのデータは押したものしか送信されない。(PHP)HTMLのFORMでSubmitボタンを複数配置したい場合 : 3流プログラマのメモ書き formに複数ボタンのサンプル(同じname属性値)

phpからcurlを使う

php

wgetを使っていたらファイルが破損するケース(と思ったら勘違いだったぽい)があったため、今後はcurlを使うようにすること。以下、ファイルダウンロードのメモ。 /dev/null 2>&1"; passthru($cmd, $ret); オプション -o ダウンロード時のファイルを指定 -k …

cakephp1.2 セッションの有効期限についてまとめ

通常のphpの場合、php.iniの以下の設定が有効期限に影響する session.cookie_lifetime = 0 session.gc_maxlifetime = 1440cookie_lifetimeはクッキーの有効期限(秒)となる。これが86400とかだと、クッキーのexpiresが1日後となる。0の場合は、セッションクッ…

jquery browser is undefined エラーの件

jquery1.9以降、$.browserが削除されたらしく、新しいjqueryとqtipを一緒に使うと出てしまうエラー。 jqueryを古いものに変えることができない場合、以下を読み込めばOK。http://code.jquery.com/jquery-migrate-1.0.0.js16/2/28追加 chromeだと以下のエラー…

jqueryでいい感じのトースト表示を行いたい

以下を使えば簡単にできる。 kamranahmedse/jquery-toast-plugin · GitHub 使い方 <script src="/js/jquery.toast.min.js"></script> <link rel="stylesheet" href="/css/jquery.toast.min.css"> javascript $.toast({ //heading: '更新しました', text: '更新しました', position: 'top-center', stack: false, //bgColor: '#f9edbe', //bgColor: '#E01…</link>

cakephp1.2 session->flash()を1ページで複数使い分けたい場合

php Session->setFlash('テスト', null, array('class'=>'mb10'), 'test1'); $this->redirect('/'); html flash('test1'); ?>

cakephp1.2 prefixを無効にした場合のform->createのカスタマイズについて

前回の続きで「'prefix名' => true」とかにすると$form->createで勝手にprefixがつくのを防ぐことができるけど、今度は逆につけたい場合に困ってしまう。 create( 'Samples', array( 'action' => 'index', 'method' => 'post' ))); 上記で出力されるhtml↓ <form id="SamplesIndexForm" action="/samples/index" method="post"> </form>…

cakephp1.2 ルーティングの設定でform->createの際に自動でprefixがセットされるのを防ぐ方法

"Routes::connect設定時の$form->createや$html->linkの挙動について" フォーラム - CakePHP Users in Japan ここが参考になるroutes.phpの設定で「'prefix名' => true」とすると、$form->createした際などに勝手にprefixがセットされるのを防ぐことができた…

php FPDFのPGOTHICとGOTHICの横幅の違いについて

php

PGOTHICは半角の文字によって横幅が異なるっぽい。 例えば「1」と「W」では「W」の幅の方が広い。 GOTHICだとどちらも同じっぽいので、バイト長で折り返しする際は、GOTHICを使うこと。

php 日本語に対してstrlenを使う際は必ずsjisに変換して2バイトにしてから使うこと

php

utf8だと3バイトだったり2バイトだったりするので気をつける 変換については↓ utf8の日本語を2バイトにしたければshift_jisに変換すればよい - 技術ブログ

aws ec2 ことはじめ

aws

約7年ぶりに再開。もう何もかも忘れた。以下が参考になるAWS EC2を使って無料枠でWebサーバを立ててみた(2014年11月版) - sometimes I laugh 0から始めるAWS入門②:EC2編 - Qiita EC2スタートアップ。どちらも詳しいEBS Magnetic vs SSDのベンチマーク | E…

git 特定バージョンのファイルを取得する手順

git

普通にgit pullすると最新のコミットファイルがmasterブランチに反映される(正確には語弊があるのかも)。 今回、以前のあるコミット番号のバージョンにローカルのファイルを戻したかったんだけど、その手順。 git checkout <git logにて取得できるコミット番号> これを実行するとそのバージョン</git>…

ログアウトしてもバックグラウンドで処理を継続したい

&つければバックグラウンド処理になるけど、ログアウトするとプロセスも終了してしまう。 ログアウトしてもプロセスを終了させないためには、nohupをつけて実行する。 nohup ./test.sh & tail -f nohup.out 実行すると、nohup.outがカレントに自動で作成され…