css display:inline-blockの便利さが分かりました

css

inline-blockすごい便利だった。今日やっと意味が分かった。例えばspanとかのinline要素はwidthとか設定しても適用されないけど、かと言ってdivとか使うと改行されちゃうし困った、ってときにinline-blockを使うとwidthが適用されかつ改行もされないことが分…

cakephp1.2 componentの__constructについてメモ

コンポーネントで初期化処理したい場合は__constructを使えば問題無い。[ステップアップ! CakePHP] Controller で Component を使う | バシャログ。 ただしここにもあるように通常はinitializeかstartupを使う。__constructとの違いはShellとかでcomponent…

php5.3.3 centos6.8 composerインストール手順

インストール curl -sS https://getcomposer.org/installer | phpcomposer.pharが出来るので移動 mv composer.phar /usr/local/bin/composercomposer.jsonを作成する cd /usr/local/bin vi composer.json内容 { "require": { "monolog/monolog": ">=1.0.0" }…

cakephp1.2 Shellからモデルとコンポーネントを呼ぶ方法

コントローラーであれば$usesと$componentsを使うけど、Shellの場合は$usesは使えるけど$componentsは使えない、というなんとも中途半端な感じだったのでメモ。以下のようにする。 Sample = new SampleComponent($this); } } 資産…

mysql group_concatにorder byを指定する時の注意事項

group_concatにorder byを指定しても意図したソートにならないケースがある。 まず以下のように、group_concatに指定したcategory_idをそのカラム順でソートするケースの場合は問題ない。 group_concat(category_id order by category_id)問題となるのは以下…

php csrf対策

php

参考サイト PHPでクロスサイトリクエストフォージェリ(CSRF)対策するときのメモ - Qiitaphp

cakephp1.2 componentの$enabledでNoticeが出る件

本来componentを使うと$enabledがセットされるんだけど、beforeFilter()の中でcomponentをnewしてしまうと、$enabledが定義される前にstarup()とかを呼んでしまい、Noticeが出るのでcomponentをbeforeFilter()の中でnewしないこと。$enabledはcomponentのsta…

mysql テーブル設計 カンマ区切りのカラムについて考察

例えば商品の属性とかレコードに紐づくデータが沢山あってレコード毎にデータ作ると色々面倒なケース。DB設計の基本について 例えば一つのレコードが複数のカテゴリに… - 人力検索はてな MySQLでカンマ区切りの値を登録してみる | シスデイズ技術ブログ まさ…

cakephp1.2 database.phpのdefaultに設定されているDBのテーブルはModelファイルの作成が必須ではない

ClassRegistry::init('ModelName');こんな感じでmodelsフォルダに存在しないModelを読み込んでいた場合に、何故かエラーになる場合とならない場合があって1時間くらいはまってしまったのでメモ。どうやらdatabase.phpで$defaultに設定されたDBのテーブルだと…

php sqlのIN句をarray_fillでキレイにまとめる

以下のようにすれば一行で$idの数だけ?を記述するin句が作れる i.id in ('. implode(',', array_fill(0, count($id), '?')). ')str_repeatを使う方法もあるようだけどこっちの方がキレイ

cakephp1.2 通常のSQLとO/Rマッパーとのselectの結果の違い

今更だけどメモ。cakephpでO/Rマッパーというかfindとかした時の結果と、通常のsql(query)を実行した時の結果の違いについて。通常のsqlを使用した場合 sql $sql =<<<SQL select * from users u inner join posts p on p.user_id = u.id where u.id=1 SQL; pr($this->User->query($sql)); 結果 Array ( [0] => Array ( [u] => Array ( [id] => 1 [user_name] </sql>…

mysql group_concatとfind_in_setのまとめ

group_concatはgroup byで複数行をまとめた際に、まとめられた列のデータをカンマ区切りで表示する機能。find_in_setはカンマ区切りのデータを絞り込む機能。この2つを組み合わせることで、本来なら副問合せ等の複数のSQLに分けないと出来ないようなことが一…

bootstrap ハンバーガーメニューを常に表示する方法

bootstrapのハンバーガーメニューをどのサイズでも常に表示させたい場合Customize and download · Bootstrap @grid-float-breakpoint => 9999pxとか大きい値にする※9999とか気持ち悪いんだけど他に方法が無さそうだったので仕方なくこうする

widows8.1でIonic1.3のサンプルアプリをブラウザとandroid端末で動作させる手順

windows8.1環境で確認Getting Started with Ionic - Ionic Framework こちらの手順に従うhttps://nodejs.org/en/ node.js v6.9.1 インストールコマンドラインで実行 npm install -g cordova ionic(終わるのに15分くらいかかる) ionic start myApp tabspcでの…

CordovaやらIonicやらOnsenUIやらAngularJSやらその辺のまとめ

ここ最近ecサイトをbootstrap&cakephpで作っていて調べものをしている時に表題の技術の事を調べたのでざっくりまとめ。まずAngularJSって何よ。jQueryでいいじゃん。って昨日までは思っていました。しかしAngularJSを使うと今までwebサイトの概念として当た…

php 例外時のデバッグは__toStringが便利

php

__toString実行しておけばエラーの呼び元とか行数とか出してくれるので便利サンプル log($e->__toString()); }

sql joinの条件とwhereの条件の違いについて

ケース1 left join t2 on t2.t1_id = t1.id AND t2.status = 'ERROR' ケース2 left join t2 on t2.t1_id = t1.id 中略 where t2.status = 'ERROR' ケース1の場合は結合前の条件となるため、ERRORでないt2のデータもNULLとしてデータを取得する。 ケース2の場…

css div内のある要素だけ余白を無視したい場合はネガティブマージンを使えばよい

css

例えばdiv内に15pxのpaddingが設定されていてその中にimgタグを入れるケースでimgタグだけ15pxのpaddingの設定を無視したい場合、imgタグに-15pxのmarginを設定してやれば、imgタグにはpaddingが適用されなくなる。

css display:table display:table-cell について

css

floatとか使わなくてもtableのように分割できて便利。vertical-alignも使える。後でまとめること。

jquery slickとphotoswipeを連携する

前記事 jquery bxsliderとphotoswipeを連携する - 技術ブログbxsliderの挙動がスマホだといまいち(スワイプ中にスクロールしてしまう等)だったのでslickに変更。http://kenwheeler.github.io/slick/ slick http://photoswipe.com/ photoswipeslickで画像をス…

centos5.11 vim8インストール手順

centos5.11 vim7.4インストール手順 - 技術ブログ gitからvimを落とすと最新のvim(現時点だとvim8が最新)になるため、このページのvim74をvim8に置き換えてインストールすればok

php fatalエラーの補足方法

バッチがメモリ不足等で落ちた場合にFatalエラーが発生するけど通常fatalエラーはtry-catchはおろか、set_error_handlerでも補足できない。 そのためregister_shutdown_functionを使う必要がある。

cakephp1.2 バッチ(Shell)からControllerのメソッドを呼びたい

Shell側は以下のようになる Users = new UsersController(); } function main() { $this->Users->func(); } } 通常ShellからControllerのメソッドを呼ぶような事はしないんだけど、今回はpro…

cakephp1.2 queryで更新系SQLを実行した時の戻り値はtrueではない

例えば以下のような処理があったとして query($sql, $param); sqlが正常に完了してもqueryの戻り値は【trueにはならず】に【空のarray()】が返る。 はい、1時間はまりました~。貴重な人生の1時間を無駄にしました~。空のarrayなので【if(!$ret)】とかで判…

bootstrap ドロップダウンメニューがパネルの下に隠れてしまう件

z-indexも効かず、1時間はまったので(いや正確には昨日の夜これが分からなくてそのまま寝てしまったので実際は4時間は無駄にした。でもそのおかげで睡眠がとれたから±2時間のマイナスとしておこう。と思ったけど本当はその後8km走るはずだったし損失はそこそ…

brackets 改行時の自動インデントを無効にする方法

デバッグ>環境設定ファイルを開くbrackets.json //以下を追加 "smartIndent": false 低予算で始められるおすすめのFX口座はこちら。 http://s2fx.com/ranking/856.html

bootstrapのカスタマイズ方法

通常、既存のbootstrap.cssをカスタマイズしたい場合、別途custom.css等を作ってそれで上書きをするんだけど、例えばグリッドを12から24に変更したい場合だと、上書きするやり方ではできなそうだったため以下調べたやり方2つ。ビルドをしない方法 Customize…

jquery フォームのコピーについて完全に忘却していたので一生忘れないためのメモ

html <ul> <li>test1</li> <li>test2</li> </ul> こんなhtmlがあって、1つ目のliをコピーしてulに追加したいとする。そこでまずコンソールにコピー元のhtmlを表示する。javascript console.log($("ul li:first")); chromeのコンソールの結果 [li, prevObject: n.fn.init[1], context: do…

cakephp1.2 モデルのリレーションを全解除する

AppModel.php public function unbindModelAll($reset = true) { foreach(array('hasOne','hasMany','belongsTo','hasAndBelongsToMany') as $relation){ $this->unbindModel(array($relation => array_keys($this->$relation)), $reset); } } 参考サイト モ…

jquery bxsliderとphotoswipeを連携する

http://bxslider.com/ bxslider http://photoswipe.com/ photoswipebxsliderで画像をスライド表示させ、画像クリック時にphotoswipeで拡大表示させたい場合の話。 普通に実装すれば問題無くできる。ただ注意するところとして、photoswipeはデフォルトだとfig…