2014-01-01から1年間の記事一覧

【iTerm2】よく使うデフォルトショートカット

タブ 新規作成 command+t 閉じる command+w 移動 command+左右の矢印 スクリーン フルスクリーン command+enter ウィンドウ ペイン分割 縦 command+d 横 command+shift+d ペイン移動 次へ command+] 前へ command+[ 補完 オートコンプリート comman…

日付関数で遊ぶ

PHP

date()を使ったあれこれ

イニシエーション・ラブ

読了。Side-Aを読み終わった時は肩透かしを食らった感じ。 Side-Bを読み始めてしばらくすると違和感を覚え、ラストであれ?と思い、そういうオチだったのか…!と気づく。たしかにミステリーだった。

Vimの正規表現アレコレ

任意の文字列を繰り返す (例) ○○.●●● という文字列に対して、 「.●●●」 だけ消す場合 :%s/\..*//gc ※*は「直前の文字を0回以上繰り返す」の意味 正規表現rをn回繰り返す 構文 r\{n\} (例)三桁の数字を表現 [0-9]\{3\} 具体的には… 「Vimで三桁の数字を消す」…

【CakePHP2.x】パンくずリスト

CakePHP1系でもgetCrumbList()が使えるように、必要なものをCakePHP2から移植。 '<a href="%s"%s>%s</a>', 'tag' => '<%s%s>%s</%s>', 'ul' => '<ul%s>%s</ul>', 'ol' => '<ol%s>%s</ol>', 'li' => '<li%s>%s</li>', ); protected $_crumbs = array(); public…

【CakePHP2.x】routes.phpの設定あれこれ

似たようなルーティングを適用させる Config/routes.php の設定は上から順に適用される。 Router::connect('/hoge/*’, 〜 Router::connect('/hoge/:type’, 〜 Router::connect('/hoge/view/:id’, 〜 としてしまうと、後半2つは無視されるので、 Router::conn…

【CakePHP2.x】複数のチェックボックスをチェックした時にPOST送信させる

View側 <div id="div_no_id"> <form action="" method="post" id="form_no_id"> <dt>チェックボックス</dt> Form->create('menu', array('type'=> 'get')); echo $this->Form->input( 'industry', array( 'type' => 'select', 'multiple' => 'checkbox', 'legend' => false, 'div' => false, 'label' => false, 'n…</form></div>

jQueryあれこれ。

チェックボックスが選択されたら、今のURLからGETパラメータを削除したURLにsubmitする jQuery(function($){ $(function(){ $('#divタグのID input[type="checkbox"]').change(function(e){ e.preventDefault(); // 現在のURLを取得 var url = location.href…

以前にコミットしたファイルを復活させる呪文

git

$ git checkout 該当コミットのハッシュ値 その時のファイル名

【CakePHP2.x】Modelのアソシエーションを解除したいとき

belongsToやhasMany等に記述した他のModelとの結びつきを解除したいときは以下の手順を踏む。 actsAs に Containable を記述 'contain' => false を記述する 例えば… public $actsAs = array('Containable'); … $findParams = array(‘contain’ => false); re…

連想配列の並べ替え集

PHP

ランダムに並べ替える $words = array( array( ‘id’ => 0, ‘name’ => ‘労’, ), array( ‘id’ => 1, ‘name’ => ‘働’, ), array( ‘id’ => 2, ‘name’ => ‘審’, ), array( ‘id’ => 3, ‘name’ => ‘判’, ), ); // idの配列を作る $ids = range(0, count($words)-1);…

ランダムに複数の抽出結果を取得する

CakePHP2で、 ‘order’ => ‘rand()’ として検索結果をランダム取得しようとしていたが、生成されたSELECT文には ORDER BY rand() ASC と指定されていて、更にEXPLAINで調べてみたところ、見事にExtraの項目に、 Using where; Using temporary; Using file sor…

【CakePHP2.x】SQL確認方法あれこれ

Viewに仕込む場合 element('sql_dump'); ?> View以外に仕込む場合 モデル名->getDataSource()->getLog()); // 個人的にはこちらのほうが好き var_dump($this->モデル名->getDataSource()->getLog());

「制限あり」で無線LANに接続できなかった件

LenovoのWindows8マシンでWimaxに接続しようとしたら、 「制限あり」 と表示されて繋がらなかった。 SSIDの指定とパスワードは合っていても暗号化に失敗していると発生するようで、 暗号方式をTKIPに変更したところ無事に接続できた。

【CakePHP2.x】containを含んだpaginateの実装

例えば、 User→Company User→Country のようなつながりのあるモデルのみを参照したい場合、 Controller側 array( ‘Company’, ‘Country’, ), 'conditions' => array( ‘User.enabled’ => 1, ‘User.type' =>1, 'User.type' => 'outline', ), 'limit' => 10, 'p…

INSERT文実行時に「Unknown column 〜」と言われた。

phpMyAdminのSQL発行機能にて簡略版INSERT文を実行。 INSERT INTO `mychuno_company` values(null, ‘hoge’, 1, 999, ‘hchuno’); #1054 - Unknown column ‘‘hoge’’ in 'field list' ⇒hogeやhchunoをシングルクォートではなくダブルクォートで囲むようにしたら…

セレクトボックスの"onChange"

PHP

セレクトボックスで「項目選択と同時にPOST送信する」のような挙動を実装する場合。 <form action="<?php echo $_SERVER['REQUEST_URI'] ?>" method='post'> <select name=“mySelectBox” onChange="this.form.submit()"> </select></form>

CakePHP2系あれこれ

セレクトボックスの実装方法 書き方 ビュー側 Form->input('セレクトボックスのラベル', array('type'=>'select', 'options'=> 要素の配列 ) ) ?> selectedを使えば初期選択状態を作成できる。 onchangeを使えば「選択後に即POST送信」といった使い方も可能…

【CakePHP2.x】HTMLヘルパーによるリンク生成

構文 Html->link( 文字列や画像等, リンク情報(パラメータ), その他の情報 ); ?> コントローラ名を手動で設定する場合 リンク情報の先頭にスラッシュを記述する 連想配列でコントローラ名やアクション名を指定 Html->link( '検索する', '/mychuno/' . $actio…

pyenvのインストールからfabricのインストールまで。

pyenvのインストール % brew install pyenv zshrcを編集 % echo 'export PYENV_ROOT="${HOME}/.pyenv"' >> ~/.zshrc % echo 'if [ -d "${PYENV_ROOT}" ]; then' >> ~/.zshrc % echo ' export PATH=${PYENV_ROOT}/bin:$PATH' >> ~/.zshrc % echo ' eval "$(py…

Vagrant&VirtualBoxの設定

Mac

$ vagrant box add mychuno_centos CentOS6.5-minimal-vagrant.box Downloading or copying the box... Extracting box...te: 254M/s, Estimated time remaining: 0:00:01) Successfully added box 'mychuno_centos' with provider 'virtualbox'! $ vagrant …

zshでctrl-a等が利かなくなった場合の対処法。

zshを使っていて、Ctrl-aと入力しても、^A(はっとえー)と出力されてしまい、カーソルの移動ができなくなった。 その場合は、 $ set -o emacs とすれば解決。 $ set -0 で、 emacs on となっていればOK。

MySQLが起動できない

$ sudo mysql.server start Starting MySQL . ERROR! The server quit without updating PID file (/usr/local/var/mysql/chuno-mac.local.pid). /usr/local/var/mysqlの権限がおかしいようなので、所有者を_mysqlにする。 $ sudo chown -R _mysql:_mysql /u…

Opauthを使ったFacebookログインの実装

$ sudo vim /etc/hosts 127.0.0.1 chuno.com Facebookアプリ 「アプリの基本設定」 Add Platform 「ウェブサイト」を選択 サイトURLにhttp://www.chuno.com/ App Domainsにはchuno.com

各種設定

ベースURLの設定 application/config/config.php

独自ドメインと固定IPとの関連付け

お名前.comで独自ドメインを取得した場合。 メニューバーの「ドメイン設定」をクリックすると、設定項目一覧が表示される。 「ネームサーバーの設定」欄の「DNS関連機能の設定」をクリック。 「DNSレコード設定を利用する」横の「設定する」をクリック。 登…

Amazon EC2の設定関連

AWS

以前にも経験済みだが、今回改めてインスタンスを立ち上げる機会があったので、改めてメモ。 リージョンの変更 画面右上のアカウント名横にあるリンクをクリックして、地域を「Asia Pasific(Tokyo)」に変える。 Keyの作成 新しくKeyを作成すると、そのKeyが…

PhoneGapで新規プロジェクトを作成するまで

Mac

最近購入したMacbookProには元からNode.jsが入っていた。 $ npm -v 1.3.2 $ node -v v0.10.13 http://phonegap.com/install/ を見つつPhoneGapのインストール。 $ sudo npm install -g phonegap … … … /usr/local/bin/phonegap -> /usr/local/lib/node_modul…

Titanium Studioで新規プロジェクトを作成するまで

Mac

Titanium Studioが起動しない問題 Titanium Studioをダウンロード&インストールして起動させようとしたところ、以下のようなエラーダイアログが出て起動できず。 ネット上を検索してみたところ、同じような事象で困っていた人がいたようだ。 https://develo…

Document Rootの変更

/etc/apache2/httpd.confを編集する $ sudo vim httpd.conf 以下の2箇所を任意のパスに変更する。 DocumentRoot "/Library/WebServer/Documents" <Directory "/Library/WebServer/Documents"> Apacheを再起動する $ sudo apachectl graceful</directory>