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

rails console が動かなかった件

$ rails console /home/vagrant/.rbenv/versions/2.1.5/lib/ruby/2.1.0/irb/completion.rb:9:in `require': cannot load such file -- readline (LoadError)「readlineが無い」ということなので、rb-readlineをインストール。 $ gem install rb-readlineGemf…

Chrome拡張のSilverBirdでリストが取得できなかった件

状況 リストを表示しようとしたら、「"undefined"(Not Found) updating tweets 」というエラーが出て表示できなかった 対処方法 ~/Library/Application Support/Google/Chrome // ↑Macの場合のパス。Windowsだと異なるが、ファイルの中身等やること自体は変…

PHPUnitのアップグレードやアンインストール等

PHP

sudo vim /etc/php.ini 以下を追記 include_path = ".:/php/includes:/usr/lib/php/pear"sudo pear upgrade PEAR pear config-set auto_discover 1 sudo pear install pear.phpunit.de/PHPUnit-3.7.32 phpunit -v PHPUnit 4.0.11 by Sebastian Bergmann. ア…

「Web共有」が見当たらない件

ちょっとしたPHPプログラムの動作確認するために、 「システム環境設定→共有→Web共有」 と辿ってApacheを起動しようとしたのだが、「Web共有」が見当たらなくなった。 ※OSをMavericksにしてからか…??仕方なく、コマンドラインからApacheを起動することにし…

Missing Database Tableエラー

Table mychuno_users for model MyChunoUser was not found in datasource default.CakePHP2.3.2ではModelにuseTableを明記しなくても発生しなかったが、2.5.5では明記しないとエラーが発生した。 ということで、useTableを追記。

position:relativeやabsolute関連

CSS

事象 親要素の高さが足りず、子要素がはみ出たり、重なってしまう 親要素をheight:100%にしても効かない 対応方法 親要素で、 &>*{ position:absolute; } となっていたのを、 &>*{ position:relative; } に変更し、子要素のうち最小限度のものにだけ、 { pos…

チェックボックス毎のタグをCSSで制御する

必須入力としている複数選択チェックボックスをFormヘルパーのinputで作成。 オプションで「'div' => false」としても、チェックボックス毎のdivが消えない。 <div class="input select required"> というタグ。「必須入力のチェックボックスにはデフォルトで注意文言を付ける」 といった処理がl</div>…

AUTO_INCREMENTの確認と設定

AUTO_INCREMENTで次に振られる値を確認する SHOW TABLE STATUS LIKE 'テーブル名'; # シングルクォートが必要 SHOW TABLE STATUS LIKE 'mychuno_reports'; AUTO_INCREMENTで次に振られる値を設定する SHOW TABLE STATUS テーブル名 AUTO_INCREMENT = 値; # …

jQueryあれこれ

親兄弟子要素への操作 HTML <table> <tr class="mychuno-list"> <td> …… <input type="button" id="btn-display" value="開く" data-is-open="0"> </td> </tr> <tr class="mychuno-detail" > <td> …… </td> </tr> </table> Javascript(jQuery) jQuery(function(){ $('.btn-display').click(functi…

公開鍵暗号方式まとめ

主な用語 id_rsa:秘密鍵 id_rsa.pub:公開鍵 「南京錠」 authorized_keys:公開鍵を登録するための設定ファイル

DirectoryIteratorの活用

PHP

主な仕様 PHP: DirectoryIterator - Manual 再帰的にディレクトリを削除する is…

ファイルアップロードとバリデーション

拡張子によるバリデーション Model array( 'extension' => array( 'rule' => array( 'extension', array('jpg', 'jpg', 'pdf'), ), 'message' =>'ファイルのタイプが違います' ), ), ); View typeにはfileを指定 Form->create( 'モデル名', array( 'type' =…

PHPあれこれ

PHP

ファイルダウンロード機能

【CakePHP2.x】Hashあれこれ

コードがシンプルになる 'マッチャ'を使うと細かい条件指定が可能 array(5) { ["id"]=> string(1) "1" ["label"]=> string(5) "hchuno" ["status"]=> string(6) "有効" } [1]=> array(5) { ["id"]=> string(1) "3" ["label"]=> string(7) "mychuno" ["statu…

Ajaxを使ってPOST送信

jQuery $.ajaxでデータを送る 構文 $.ajax({ type: 'POST', url: CakePHPのAction名, data: { '渡したいデータ名': データの値 }, success: function(response) { } error: function(xhr, status, error) { } /* xhr.status:エラーコードを確認できる statu…

業務で作成されるドキュメントの種類や特徴について

経緯 最近、業務で各種ドキュメント作成をしていて思うところがあったので、頭の中を整理する意味で書き出してみることにした。 ドキュメントの種類 環境構築やツールの仕様方法に関するもの 頻繁に参照されたり更新される ドキュメント通りに操作しないと動…

テストコードあれこれ

Composerを使ってPHPUnitをインストールする composer.jsonの中身 "require-dev": { "phpunit/phpunit": "3.7.*" } composerのインストールコマンドを叩いてPHPUnitをインストール $ ./composer.phar install --dev PHPUnitがインストールされたかどうかを確…

MySQLのhaving句

重複するレコードから特定の1件のみを取得するSQL 例 テーブルAとテーブルBをJOIN Bの’id’カラムが最大値になるものと、AをJOIN 外部キーはuser_id SQL SELECT a.id, b.id FROM table_a AS a INNER JOIN table_b AS b ON a.id = b.user_id GROUP BY a.id HAV…

同一idのレコードのうち、特定のカラムが最大のレコードだけを各々抽出する

SQL

やりたいこと 以下の様なテーブルとレコードがあったとして。 id prefecture_id age 1 47 23 1 19 42 2 47 39 2 19 58 3 19 11 idが同じもののうち、ageが最大のものだけを抽出 更にprefecture_idごとの数を数える 方法 いきなり「group by id」としてしまう…

プリペアドステートメントでWHERE INを使おうとしたが…

ToDo プリペアドステートメントのIN句のところに、カッコで囲まれたプレースホルダを書く プレースホルダにはカンマ区切りの文字列を渡す 例 $mychuno_ids); $result = $this->query($sql, $p…

Shellの実行あれこれ

コマンドラインで実行 $ /var/www/hogehoge/app/Console/cake シェルクラス名 cronに設定($ crontab -e)して実行 */10 1-21 * * * /var/www/hogehoge/app/Console/cake シェルクラス名 Chefにcronの設定を書いて実行 cron 'hogehoge_cron' do action :create…

INNER JOINする時の注意点

$contains, 'conditions' => $conditions, 'joins' => array( array( 'type' => 'INNER', 'table' => 'mychuno_users', 'alias' => 'MyChunoUsers', 'conditions' => '◯◯◯…

Chefのレシピあれこれ

cronの設定 cron 'setting_for_mychuno' do user 'vagrant' command '/var/www/mychuno/cakephp/app/script/post.sh' minute '*/10' hour '1-22' end サーバ側で、 $ crontab -l 等で設定を確認すると、 # Chef Name: setting_for_mychuno */10 1-22 * * * /…

Javascriptあれこれ

変数が"undefined"かどうかを確認する 「typeof」を活用する。 var id = $(this).attr('id'); if (typeof id !== "undefined") { parameterIndex = id.lastIndexOf('hoge'); } バリデーションチェック 入力必須 数字もしくはカンマ メールアドレス形式 ◯◯日…

【Vagrant】ディレクトリやファイルのパーミッションでハマッた件

とあるファイルのパーミッションを設定するレシピを、 file "/var/www/mychuno/mychuno.sh" do mode "755" action :create only_if { ::File.exists?("/var/www/mychuno/mychuno.sh") } end のように書いて、 $ vagrant provision をすると、ログには、 mode…

bootstrap-datetimepicker.jsあれこれ

「◯分おき」を実現する方法 デフォルトでは1分おきに時間指定可能になっていたので、本体のソースを確認すると、 DateTimePicker = function (element, options) { var defaults = { 〜〜〜 minuteStepping: 1, という記述があり、これだ!と確信。 datetime…

メソッド名を可変にする

PHP

渡された変数によってメソッド名を書き換えて実行したい場合、例えば、 findItems() findHogeItems() findGehoItems() …という三種類のメソッドを使い分けたいときは、以下の様な方法でメソッド名を可変にして実行することができる。 function executeByStat…

【CakePHP2.x】CakePlugin::load()でエラー

エラーの内容 新しいプラグイン(仮にBとする)を導入するため、Config/bootstrap.phpの CakePlugin::load(‘A’); となっていたところに、 CakePlugin::load(‘A’, ‘B’); としたところ、 ”Unsupported operand types” というエラーが発生した。 原因 上記のload…

GithubとComposer管理

Githubに追加したプロジェクトをComposerで管理する。 GithubとPackagistとの連携 Githubのリポジトリ毎の設定画面 Composerのダウンロード curl -s http://getcomposer.org/installer | php composer.jsonの作成 Packagistでアカウント作成 https://packagi…

Lisp事始め

参考図書 Land of Lisp Homebrewのインストール こちらを参照→ http://brew.sh/ CLISPのインストール $ brew install clisp