連想配列の並べ替え集

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>

GithubへのPush

sshでGitにつなげるかどうかの確認 実際にpushしたファイル。 https://github.com/hchuno/php_product/blob/master/paiza_hackason01.php

Googleアカウントの2段階認証設定

最近、ガラケーからiPhone5sに移行。 GmailのコンタクトをiPhoneの連絡先との同期等でその便利さに感服する一方、 アカウント乗っ取りを危惧してもいたので、こちらの記事を参考にして認証を 強化することに。 主な手順 ログイン後のGmailの画面右上のアカウ…

ディレクトリ構造ごとファイルをコピーする

html/wordpress/wp-content/themes/hogestyle/hchuno.php というファイルがあったとする。 カレントディレクトリにhogeというディレクトリを作り、そこに上記のディレクトリ構造を保ったまま、hchuno.phpというファイルをコピーしたい場合、cpコマンドに--pa…

Windowsで作成されたテキストファイルを文字化けせずに開く

Mac

Mac標準のテキストエディタで開くと、勝手にUnicodeで開いてしまうらしい。 そこで、OpenOfficeを使う。 ファイルを開く際に文字コードを指定できるので、 日本語(Shift-JIS) 日本語(Windows-932) のいずれかを指定することで、文字化けせずにファイルを開く…

MavericksにアップデートしたらPyCharmが起動できなくなった件

MacOSXをMavericksにアップデートしたところ、PyCharmが起動できなくなった。 (アイコンをクリックしても無反応)ネットで検索してみると、同じような状況で悩んでいる人がいたようで、以下のサイトでJava1.6をインストールしてくれ、という記述を発見。 http…

プロセスをkillして二重起動を防ぐ

Mac

run(host='localhost', port=8080, debug=True) 「address already in use」エラーが発生。 PyCharmを使っていてプロジェクトを二重起動させようとしてしまった模様。 (どこかのタイミングでPortがふさがったようだ…) $ /usr/sbin/lsof -i | grep http でプ…

'str' object has no attribute ○○

Bottleのチュートリアル通りに書いたソースを実行してみたところ… @route('/upload', method='POST') def do_upload(): category = request.forms.get('category') upload = request.files.get('upload') name, ext = os.path.splitext(upload.filename) if …

PyCharmを使ってみる

コミュニティ版は無料でダウンロード可能になったとのことなので、早速ダウンロード。 http://www.jetbrains.com/pycharm/download/Pythonインタープリターを選択しているところ。 Vimに慣れ過ぎていたので、メソッド補完がものすごく便利に感じます。

一週間以内に更新されたファイルを検索する

$ find * -type f -mmin -10080 |more

Bottleで学ぶPython

Bottleのダウンロードサイト https://pypi.python.org/pypi/bottle チュートリアル http://bottlepy.org/docs/dev/tutorial.html 実際のソース # coding=utf-8 from bottle import get, post, route, run, static_file, response, abort, redirect, request,…