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

phpのDOMDocumentで断片的なhtmlを扱うならxmlとして読み込むのがよさそう(PHP Advent Calendar jp 2010 Day 23++)

php

PHP Advent Calendar jp 2010 23++日目 PHP Advent Calendar jp 2010 : ATNDCakePHP Advent Calendar 2010 に続いて PHP Advent Calendar jp 2010 の順番が回ってきてたんですが・・・すいません、昨日は日付がかわってから帰宅する事になってしまいました。…

CakePHPでbake projectする際、tmp/logsやlibsなど空ディレクトリにemptyを入れておく方法

./cake -app /path/to/app/to/put bake [project]新しくCakePHPアプリを作る際、appディレクトリをコピーせずに、bakeで作成しています。app_controller.php や app_model.php などを作成してくれますし、APP/config/core.php の Security.salt と Security.…

MAMPで開発中のCakePHPベースのアプリ。どこかでキャッシュされてる?

MAMP上で開発してるCakePHPベースのアプリで、リロードすると読み込みが早くなる場合がありました。CakePHPのキャッシュの仕組みをちゃんと把握してなかったので、デフォルトで何か動いてるのかとか、もしくはMySQL側の方かとちょっと調べてみました。特に最…

CakePHPのHtmlHelper->scriptBlock()やscriptStart()は$scripts_for_layoutで出力されない

CakePHP 1.2の事は分かりませんが、1.3系ではHtmlHelperでJavaScriptをViewテンプレートに書いていきます。scriptタグを書いても良いのかもしれませんが、HtmlHelperを使って書いたらスクリプトをバッファに貯めておいて にまとめて出力してくれます。まぁ折…

CakeDCのsearch pluginの記事が少ないので1個置いときますね。CakePHP Advent Calendar 2010 8日目

CakePHP Advent Calendar 2010 8日目 http://cakephp.jp/modules/newbb/viewtopic.php?viewmode=flat&topic_id=2510&forum=16CakePHP Advent Calendar 2010の順番が回ってきました。8日目のkanonjiです。最近立て込んでいたので、実はみんなの記事を今日読み…

img要素をブロック要素でラップした際の隙間 / margin:0 auto;でのセンタリングずれ

css

img要素をブロック要素でラップした際の隙間を無くす http://jsdo.it/kanonji/4rxU <div> <img src="http://a0.twimg.com/profile_images/40688552/005_bigger.jpg" alt="example"> </div> レイアウトやデザインの都合で、こんな風にimg要素をdivでラップすると、謎の隙間が出てきます。 div img{vertical-align:bottom;} これはimg要素がデフォルトでは verti…

CakePHPのコアライブラリ、Sanitize::clean()のodd_spacesオプションの謎

CakePHPのバリデーションは、基本的にデータベースへ格納する直前にするもので、コントローラーに処理が入るところでのチェックが気になっていました。 ブラウザから受け取った値をバイナリセーフじゃない関数で処理すれば、NULLバイトアタックを受けたりす…

git addの取り消しと、コミット済みのファイルを除外する方法

git

git addを取り消す $ git reset HEAD foo.txt git add で編集内容が index に追加*1されます。 間違えて index に追加した場合に、このコマンドで取り消しができます。 $ git add foo.txt $ git status # On branch master # Changes to be committed: # (us…

MacOS xcodeのprojectをgitにコミットするための準備

git

xcodeのprojectをgitにコミットすることがあったので、コミットしない方がいいファイルを調べて除外しました。 $ cat ~/.gitignore #Xcode build/* *.mode1* *.pbxuser #SVN .svn/ #MacOS .DS_Store #Windows Thumbs.dbプロジェクト毎に.gitignoreを作っても…

git pushを取り消したらワークツリーからも消えてしまった件

git

ローカルのgitリポジトリにcommitして、それをgithubへgit pushしたら、ちょっと間違いに気がついたので取り消したくなりました。 githubにpushしてからcommitが間違っていたことに気付きました。以下のようにすると取り消せました。 git rebase -i HEAD~2 ←…

A5:SQL Mk-2でMySQLのテーブルコメントは取得できないらしい

A5:SQL Mk-2 - フリーの汎用SQL開発ツール/ER図ツール A5:SQL Mk-2は、EXCELと連携して、接続中のデータベースからスキーマを取ってきてテーブル定義書の生成が出来ます。 その際、テーブルコメントやフィールドコメントが、それぞれテーブル/フィールドの論…

phpのisset()とis_null()とempty()とif($foo)の違いにいまさら気がついた

php

phpで変数の値の有無について判別する場合、isset()やempty()やif文にそのまま変数だけ書いたりします。 この判別がゆるゆるで、例えば empty('0') は string が入ってるのに true で空っぽ扱いです。 確かにゼロですけどね。 柔軟で人間らしいという声もあ…

Prefix routing毎にセッションCookieのセッション名を切り替える。CakePHP1.3

CakePHP 1.3.0から少し変わった Prefix Routing で、管理画面や携帯サイトなど、ディレクトリで分けた別サイトっぽく出来ます。 ただ、同じController/Modelクラスを使うし、config系も共有しています。 実態としては同じサイトの一部という感じです。 そこ…

Macでlsした時のパーミッションにあるアットマークを消す。xattrコマンド。

Mac

CakePHP 1.3.4がリリースされた様なのでダウンロードしました。 それはそれとして、Macで何かダウンロードしたファイルを ls コマンドで見ると、パーミッションの右に謎の @ があります。 MacBookにMongoDBをセットアップしてみた。 - kanonjiの日記 でも軽…

現在開いてるページへのリンクを判別できるHtmlHelperを作る。CakePHP1.3

CakePHP の HtmlHelper は、名前の通り html を生成します。 Baker暦の浅い自分は、何で html を普通に書かずわざわざHelperを介するのか、よく分からなかったりします。 でも、組み込みだし、どうも CakePHP 関連の情報を調べてると、HtmlHelper は使うのが…

CakePHPのプラグイン、cakeplus pluginの機能と使い方

プラグインを拡張する方法(how to extend a plugin) - cakephperの日記(CakePHP, Laravel, PHP) の @cakephper さんの cakeplus plugin です。 CakePHPでの開発で良く使う機能をいくつかまとめたプラグインの様で、ちょっと具体的に何が出来るのか分からなか…

CakePHP1.3.xで複数のPrefix Routingを設定してる時のBakeの動き

CakePHP 1.3.0からPrefix Routingの設定方法が若干変わりました。 CakePHP 1.2系は使ったことが無いので良く知りませんが、1行で複数のPrefixを設定できるようになったようです。 さて、Bake で View や Controller を焼こうとすると「Would you like to cre…

標準的なメタ構文変数のリストを探してみた。foo, bar, baz, qux, quux, corge ...

サンプルコードを書いたりする時、関数名とか変数名はなんでもいいやって事があります。 日本だと hoge とか piyo が使われたりするみたいだけど、正直 hoge はないだろって思います。 なんかかっこ悪いし。 なので英語でよく使われる*1 foo とか bar を使う…

CakePHP1.3.xのHtmlHelperでGoogle AJAX Libraries APIのjQueryを読み込む

CakePHP 1.3.0から、AjaxHelperとJavascriptHelperが非推奨になり、JsHelperとHtmlHelperを使うように変更になりました。 ライブラリの.jsファイルの読み込みは HtmlHelper->script() を使いますが、Google AJAX Libraries APIから読み込む方法がCookbookに…

接頭語を付けた「130 Ultimate Web 2.0 Gradients for Gimp」を再配布します。

GIMPをインストールしたら追加するスクリプト、グラデーションなど、まとめメモ - kanonjiの日記 からかなり時間が経っちゃってますが、「130 Ultimate Web 2.0 Gradients for Gimp」を再配布します。 いつか書こうと思ってたんだけど、忘れちゃってました。…

CakePHPのFormHelperのGETメソッドとPOSTメソッドの違いではまった件

プルダウンやラジオボタン、チェックボックスと、テキスト入力を組み合わせた、ちょっと複雑な検索画面を作っている時にはまりました。 ほとんど、フォームの入力値をAND検索するだけだったのでpostConditions()を使って作ってました。 検索画面なのでGETメ…

CakePHPでRDB以外のデータソースを使う時のBakeのエラーと回避

CSVをデータソースとして扱えるようにする CsvSource というプラグインがあります。 コントローラーの $uses にCSVを使うモデルを設定したら、Bake で View を焼く際にエラーが出るようになってしまいました。 CsvSource とは http://github.com/cakephp/dat…

cakeコンソールのBakeを使ったアプリケーションのセットアップ

CakePHP 1.3.0 での Bake の動きを調べてみました。 Cookbook って cake コンソールや Bake について、あんまり書いてないんですよね。 Bakeは色々と機能があるようなので、まずは最初のアプリケーションのセットアップと、データベース設定について、 bake …

WordPressの記事ループの中で、ループした回数を取得する

Wordpressの記事ループの中で、最初や最後の記事とかを判別する - kanonjiの日記 で質問を頂きました。 どうやらコメントでは、はてな記法が使えないようなので折角なので記事として書きます。 環境 Wordpressの記事ループの中で、最初や最後の記事とかを判…

Mac OSにおける、initや/etc/rcやcronの代わりであるlaunchdの使い方

Mac

Mac OSはUNIXベースですが、デーモンの起動や管理にはRunCommandを使わなくなっています。 OS X 10.4(Tiger)から、UNIXのPID 1のプロセスはinitでしたが、それに代わって launchd が導入されました。 OS X 10.5(Leopard)では、一応残っていた /etc/rc が…

MacにGNUMP3dを入れようとしたらMacPortsのperl5が邪魔する件について

Mac

GNUMP3d [GNU MP3/Media Streamer] - About GNUMP3d - GNU Project - Free Software Foundation(FSF) をMacに入れようとしたら、MacPortsのperl5が邪魔で失敗しました。 環境 Mac Mac OS X Leopard 10.5.8 GNUMP3d gnump3d-3.0.tar.gz MacPorts perl This is…

MacBookにMongoDBをセットアップしてみた。

オブジェクト指向データベースであるMongoDBを触ってみたかったので、MacBookにセットアップしてみました。 環境 Mac OS X 10.5 32bit(Leopard) MongoDB 1.4.3 バイナリ MongoDB公式が配布している物 インストールというか設置 まずMongoDB公式からダウンロ…

rhaco2のアクセサ、拡張アクセサについてのメモ

rhaco2は内容が変わりやすいフレームワークです。 この記事の公開日が過去な程、参考にはなるかもしれませんが、正確じゃなくなっている可能性が高くなります。 また、手探りで調べているところも多いので、元々正確じゃないかもしれません。 アクセサ rhaco…

いまさらだけどrhaco2の紹介と、自分用のセットアップのメモ

rhaco2は内容が変わりやすいフレームワークです。 この記事の公開日が過去な程、参考にはなるかもしれませんが、正確じゃなくなっている可能性が高くなります。 また、手探りで調べているところも多いので、元々正確じゃないかもしれません。 rhaco2の特徴 r…

CakePHPのController->__mergeVars()でcomponentsがマージされてない?

CakePHP 1.3.0 を学習中に、もしかしたらバグかも?というのにはまったので、ブログに書いて誰かのアドバイスを期待しようという記事です。 バグっぽいなぁと思いつつも、CakePHPは最近はじめたばかりで、これがバグなのか、自分が何かを間違えてるのか*1ち…