zz log

zaininnari Blog

MySQLでデータベース名に「-(ハイフン)」を使うとクエリキャッシュされない(Qcache_not_cachedになる)

概要 MySQLでデータベース名またはテーブル名に「-(ハイフン)」(「$」も)が含まれてると、クエリキャッシュを有効にしているにも関わらず、Qcache_not_cachedになってしまいます。 対策は、 MySQL 5.6.9, 5.7.0 以降のバージョンを使用する これらのリリース…

CakePHP cookbook の日本語PDFを作成する

sphinx の日本語PDFの作成方法を調べたので作成しました。 環境 CentOS release 6.4 (Final) (cat /etc/centos-release) Python 2.6.6 (python --version) Sphinx 1.2 (python -c 'import sphinx; print sphinx.__version__') 日本語化パッチが取り込まれた …

CakePHP で実行箇所をSQLのコメントに埋め込む

概要 CakePHP + DebugKit で開発しているときに、 「このSQLどこで発行されているの?」となることがあるので、 ActiveRecordのSQLの実行箇所をSQLのコメントに入れる - I sort my thought... を参考にして簡単なプログラムを作成しました。 但し、DebugKit …

エクセル(VBA) と イラストレーターで表を作成する

概要 エクセル上で作成した表のテキストデータをイラストレーターのスレッドテキストに流し込むVBAプログラムを作成しました。 環境 Microsoft Windows 8 Pro 今回はOS関係なし Adobe Illustrator CS6 64bit スレッドテキストをサポートしていればOK Microso…

CakePHP + CacheHelper + html-minifier を CacheHelper と併用して使用する

概要 CakePHP + CacheHelper + html-minifier を併用できるようにしました。 エレメントとレイアウトのビューファイルの圧縮済みファイルを相対パスで保存し、かつ、読み込み時には、App::build で View パスの先頭にキャッシュパスを追加しています。 キャ…

CakePHP でビューキャッシュを使用時、独自Viewクラスを引き継ぐ(不完全)

概要 ビューキャッシュは、コアの CacheHelper によって作成され、CacheDispatcher で読み込みが行われます。 但し、現時点では、viewClass を引き継ぐ方法がないため、View クラスによるレンダリングが行われます。 通常は、View クラスのレンダリングで問…

素のPHPまたはCakePHPの テンプレートのHTML部分を圧縮(minify) して通信量を削減により、高速化を図る

概要 PHPのViewテンプレートをtoken_get_all(指定したソースを PHP トークンに分割する)と自前のhtml-minifier により、事前にHTML圧縮を行い、その結果をキャッシュすることで、5~10%程度のHTML容量の削減を行うことができました。 詳細 ※CakePHP の View …

CakePHP 2.3.10 変更点

公式アナウンス CakePHP 2.3.10 released 今回のリリースはバグフィックスリリースです。 パフォーマンスの改善、PHP5.5.2でのSessionの動作改善、Emailクラスの改善が主な変更点になります。 また、CakePHP2.3系のリリース方針についてアナウンスがあり、Ca…

エクセル・アクセスで自然順ソート

概要 excel や Access では自然順ソート(natsort) が提供されていません。(PHP では提供されています!) 自然順ソートを真面目に実装するのは意外に大変です。 大変なポイントとして、以下の3点があります。 数字とそれ以外に分割を行い、個別に比較しないと…

CakePHP 2.3.9 変更点

公式アナウンス CakePHP 2.3.9 released 今回のリリースはメンテナンスリリースです。 20のバグフィックス及びパフォーマンスの改善が行われています。 主な変更点 ドキュメント・テストケース・小さな修正は除きます。 CakeResponse _fileRange Content-Ran…

URLへのキーワードの埋め込みと管理IDの実装調べ

概要 SEO ではURLに商品名を加えたものが良いとされます。 但し、英語圏ならまだしもマルチバイトな日本語では、 日本語のままURLへ含める →重複の可能性、これをキーにするのは実装上問題が多そう URL用に英語名を入力 →重複の可能性と入力の手間とカタカナ…

CakePHP 2.3.8 変更点

公式アナウンス CakePHP 2.3.8 released セキュリティリリース AssetDispatcher を有効にしている(デフォルトでは有効)アプリケーションが対象 CakePHP 2.2.9 も同時にリリースされている このバグに対する詳細は、後日、公式から発表されるそうです。 この…

Blink HTMLTokenizer を PHP に移植して、HTML Minifyをできるようにした「html-minifier」

php

概要 Webkit からフォークされたレンダリングエンジン Blink で使用されている HTMLTokenizer をPHPに移植して、 HTML の Minify(圧縮) を行う「html-minifier」を作りました。 zaininnari/html-minifier ※アルファ版にも満たないため、名称の変更、APIの変…

CakePHP 2.3.7 変更点

公式アナウンス CakePHP 2.3.7 released バグフィックスリリース CacheHelper 使用時、content-type ヘッダーを含めるようになったのが個人的には一番よい修正。 CakePHP 2.4.0-betaのリリース Components の PasswordHasher や Logging の強化が目につくと…

CakePHP 2.3.6 変更点

公式アナウンス CakePHP 2.3.6 released メンテナンスリリース 2.2系で報告されたチケットが閉じられても2.2系のリリースがないということは、2.2系はセキュリティリリースだけのサポートになるのかな? 現時点では github に2.2系のブランチはない 主な変更…

PHP5.3.26 / PHP5.4.16 変更点

PHP

PHP公式アナウンス リリース http://php.net/archive/2013.php#id2013-06-06-2 ChangeLog 5.3.26 5.4.16 概要 CVE-2013-2110(quoted_printable_encodeによるバッファオーバーフロー脆弱性)の修正と、FPM の機能向上が目立つリリースです。 変更点 Core Fixed…

PHP5.3.25 / PHP5.4.15 変更点

PHP

PHP公式アナウンス リリース http://php.net/archive/2013.php#id2013-05-09-1 ChangeLog 5.3.25 5.4.15 変更点 Core Fixed bug set_error_handler内でdebug_backtraceを使用すると、Segmentation fault が発生するのを修正

CakePHP 2.3.5 変更点

公式アナウンス Security Fix: CakePHP 2.3.5 released :: The Bakery: Everything CakePHP セキュリティリリース XSS脆弱性の修正 詳細は、あとで公表されるようです。 主な変更点 ドキュメント・テストケースの修正は除きます。時系列順です。 機能向上 Va…

Web技術の最近の動向

Webサービスを作るのが簡単になった Amazon Web Services 等のクラウド環境、VPSの廉価な提供で、Webサービスを作るのが簡単になった。 Amazon Web Services アマゾンが提供する CPU、メモリ、ストレージ、データベース、ネットワーク等のリソースを伸縮自在…

rvm, centos 6.4, ruby-1.9.3-p392 にて It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby. が表示される

現象 centos 6.4 x64 libyaml はインストール済み(epel レポジトリ) rvm install 1.9.3 で ruby-1.9.3-p392 をインストール 本家には4日前に報告されている https://github.com/wayneeseguin/rvm/issues/1848 $ gem -v It seems your ruby installation is m…

CakePHP まとめ

CakePHP2.3 version release date release note 2.3.7 2013/07/05 bakery 2.3.6 2013/06/10 bakery 2.3.5 2013/05/11 bakery 2.3.4 2013/04/28 bakery 2.3.3 2013/04/24 bakery 2.3.2 2013/04/07 bakery 2.3.1 2013/03/02 bakery 2.3.0 2013/01/28 bakery 2.…

CakePHP 2.3.4 変更点

概要 公式アナウンス Security Release - CakePHP 1.2.12, 1.3.16, 2.2.8 and 2.3.4 :: The Bakery: Everything CakePHP セキュリティリリース CakePHP 1.2, 1.3, 2.2, 2.3 全てのバージョンに影響 pagination に関してSQLインジェクションの修正 詳細は、あ…

CakePHP 2.3.3 変更点

概要 公式アナウンス http://bakery.cakephp.org/articles/lorenzo/2013/04/24/security_fix_cakephp_2_3_3_available セキュリティリリース 2.3以降を使用し、SecurityComponent なしで、AuthComponent を使用している場合、認証を回避できてしまうのを修正…

PHP5.3.24

PHP

PHP公式アナウンス リリース http://php.net/archive/2013.php#id2013-04-11-2 ChangeLog http://www.php.net/ChangeLog-5.php#5.3.24 PHP5.3のサポートは PHP 5.5.0-stable リリースの1年後に決定(security fixesのみ) 2013年3月でサポートが終了するかと思…

PHP: Hypertext Preprocessor

PHP

PHP5.4 version release memo 5.4.0 2012/03/01 5.4.1 2012/04/26 5.4.2 2012/05/03 5.4.3 2012/05/08 5.4.4 2012/06/06 5.4.5 2012/07/19 5.4.6 2012/08/16 5.4.7 2012/09/13 5.4.8 2012/10/18 5.4.9 2012/11/22 5.4.10 2012/12/20 5.4.11 2013/01/17 5.4.1…

PHP5.4.14

PHP

PHP公式アナウンス リリース http://php.net/archive/2013.php#id2013-04-11-2 ChangeLog http://www.php.net/ChangeLog-5.php#5.4.14 興味を引いたもの Fixed bug #64515 (Memoryleak when using the same variablename two times in function declaration)…

Microsoft 製品

Microsoft Windows XP 及び Office 2003 は来年でサポートが終了する。 software price support Office Professional 2007 60,000 2017/10/10 Windows 7 Professional 31,000 2020/01/14 Office Professional 2010 45,000 2020/10/13 Windows 8 Pro 12,000 2…

CakePHP 2.3.2 変更点

概要 公式アナウンス http://bakery.cakephp.org/articles/markstory/2013/04/07/cakephp_2_3_2_released バグフィックスリリース 定数 JS,CSS,IMAGES が定義済みかどうかをチェックするように変更になったのが Good 主な変更点 フィクスチャーがプライマリ…

mapserver6.2系のRPMレポジトリを作成

動機 mapserver を yum でインストールしたい でも、Enterprise Linux GIS (ELGIS) は更新していない 自前で make は 必要なライブラリが多すぎる 結論:自前で yum レポジトリを作成するしかない 前提 レポジトリ作成は初めて。 レポジトリの目的は、最新の…

CakePHP 2.0.3 の変更点メモ

今回のCakePHP 2.0.3 リリースは、CakePHP 2系の安定性の向上、PHPUnit 3.6・PHP5.4 に対応への対応がメインです。66のコミットと32の問題解決と中規模の改善がありました。大きくは、 PEAR でインストールされるデフォルトのバージョンが PHPUnit 3.6 にな…

Internet Explorer 7 で一部のドロップダウン リストやコンボ ボックスが表示されない

web

http://www.city.fukui.lg.jp/nyusatsu/keiyaku/gyoumu/index.html 現象 Internet Explorer 7 でフレーム分割されているページを表示中に、ドロップダウン リストやコンボ ボックスを操作しようとすると、リストが表示されない。マイクロソフトによる説明 In…

CakePHP 2.0.2 の変更点メモ

今回のCakePHP 2.0.2 リリースは、CakePHP2.0.1 の緊急のバグフィックスリリースです。CakeResponse::send の Content-Length ヘッダーの生成に問題があります。 詳細は、以下を参照。 CakePHP2.0.1がリリースされましたが、ちょっと待ったほうがいい CakePH…

CakePHP 2.0.1 の変更点メモ

今回のCakePHP 2.0.1 リリースは、CakePHP2系初のバグフィックス及びメンテナンスリリースです。 修正は100個近いですが、ドキュメントの修正や coreとtestのコードが別コミットものも多数あり、 実態の数としては、少なく感じました。特に大きい修正として…

CakePHP 1.3.13 の変更点メモ

今回のCakePHP 1.3.13 リリースも、バグフィックス及びメンテナンスです。但し、CakePHP1.3.12 で行われた修正が再度、修正されているものがあります。 個人的には、 Cake2で修正された theme 内の element のキャッシュが正しく読み込まれないバグのバック…

CakePHP 1.3.12 の変更点メモ

今回のCakePHP 1.3.12 リリースも、バグフィックス及びメンテナンスです。結構はボリュームがありますが、重大なバグは見当たりません。 また、 Cake2 からのバックポートがいくつか見られ、Cake2 の開発の活発さを伺わせます。 CakePHP 1.3.12 released htt…

CakePHP 1.3.11 の変更点メモ

今回のCakePHP 1.3.11 リリースは、バグフィックス及びメンテナンスです。 約30のコミットがありましたが、大きな変更がなく、1.3系の安定感を感じます。 逆に、 2.0.0-alpha から 2.0.0-beta は、400を超えるコミットがあり、 1.3.10 から 1.3.11 とほぼ同…

jquery.belatedPNG でイベント捕捉

jquery.belatedPNG を使用した際のイベント捕捉。belatedPNG でもやり方は同様です。 手を加えた jquery.belatedPNG https://github.com/zaininnari/jquery.belatedPNG jquery.belatedPNGから fork して追加しました。 問題 fixPng() をした要素でクリックイ…

CakePHP 1.3.10 の変更点メモ

CakePHP 1.3.9 と同じ、バグフィックス及びメンテナンスリリース。 CakePHP 1.3.10 released http://bakery.cakephp.org/articles/predominant/2011/05/30/cakephp_1_3_10_released 変更差分(1.3.9 -> 1.3.10) https://github.com/cakephp/cakephp/compare…

CakePHP 1.3.9 の変更点メモ

1.3系におけるバグフィックス及びメンテナンスリリースだそうです。 CakePHP 1.3.9 and 2.0.0-alpha released http://bakery.cakephp.org/articles/markstory/2011/05/21/cakephp_1_3_9_and_2_0_0-alpha_released 変更差分(1.3.8 -> 1.3.9) https://github…

IEtester と Internet Explorer 9(IE9)を同居させた場合、IE6 で filter が動作しない

環境 OS : Windows 7 (32bit) IEtester v0.4.8 と v0.4.10 で確認 発生過程 IEtester v0.4.8 インストール Internet Explorer 9 をインストール(Internet Explorer 8 からアップグレード) IEtester 上の IE6 で filter が動作しないことが発覚 IEtester v0.4…

レイヤー内のプロパティを設定

レイヤー内のプロパティを一挙に設定をします。 locked と hidden が設定されていない場合は設定できますが、 逆はできません。 illustrator CS4 for windows で動作を確認しています。 ナビ子記法を使用しています。 2分でわかる uupaa.js の Debug Navigat…

再帰的なファイル一覧の取得

↓作った理由 バッチ処理から、「サブディレクトリも処理」にチェックを入れて、個別に JavaScript を呼ぶアクションを呼んでもいいけれど、それだと、JavaScript のコードの場所が決め打ちになってしまうので、場所をフリーにするには、自前でファイル一覧を…

CakePHP Ajax のテスト(CakeTestCase)

CakePHP で Ajax のテスト(CakeTestCase)を作ります。 前提 PHP : 5.3.2 CakePHP : 5.3.2 CakeTestCase を拡張したクラスをテストの親クラスとして使用しています。 「CakePHP1.3 CakeTestCase の拡張を読み込む bootstrap 的なものをつくる」 http://d.hate…

view キャッシュはファイルのみ

CakePHP 1.3.2 以下を読んで。(twitter記法も試してみる) @hiromi2424: @ecworks_masap ビューキャッシュに関しては、確かに頭の痛い問題なんだよねー。いつか手をつけるつもりー:) とキャプテンマークが言ってました。(IRCでビューキャッシュをファイル以…

cakephp model::saveAll を使って、新規作成時に別モデルに初期値を作る

Project hasMany State なモデルにて、 新規に ProjectsController::add をした時、State の初期値を持たせたい。 model::saveAll を使う バリデーションとトランザクションを同時に行うことが出来ます。 State を保存する際、「project_id」が必要になりま…

CakePHP2 での testAction

CakePHP1.3 コントローラーのテスト(testAction なし バージョン) http://d.hatena.ne.jp/zainin/20100615/1276696300 の続きを書こうとして、ふと「2.0-phpunit」ブランチが気になって、コミットを追った。 その結果、testAction ありバージョンの意味が分…

CakePHP1.3 コントローラーのテスト(testAction なし バージョン)

コントローラーのテストを testAction メソッドを使わず書いた場合の例です。 前提 & 環境 テストを実行するのは、コンソール「cake testsuite app all」です。 作業環境 PHP : 5.3.2 CakePHP : 1.3.2 意識する対象 PHP5.2 以上の動作を意識します。 PHP5.2 …

CakePHP1.3 CakeTestCase の拡張を読み込む bootstrap 的なものをつくる

テストケースを作成する際に、拡張元となる CakeTestCase を拡張します。 CakeTestCase を拡張した独自のクラスを作成することで、 共通の処理を追加することができます。 しかし、残念ながら、 CakeTestCase クラスの読み込みには、 app_controller.php の…

(cakephp)コンポーネントの有効無効を行う enabled プロパティ

コントローラーの components プロパティに沿って、コンポーネントが読み込まれますが、コンポーネントの 「startup」「beforeRender」「beforeRedirect」「shutdown」メソッドを実行する際、各コンポーネントの enabled プロパティがチェック($component->e…

Auth コンポーネントのパスワードハッシュ化回避

Auth コンポーネントの使用時に、 [/users/add] や [/users/edit/] で、パスワードを入力させて、バリデーションをしたいとき、 アクションの段階では、既にパスワードがハッシュ化されているため、 バリデーションがやりづらい問題を回避します。 結論は、 …