<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;C04CSH8_fyp7ImA9WhRRFEk.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151</id><updated>2011-11-28T09:59:29.147+09:00</updated><category term="routes" /><category term="linux" /><category term="android" /><category term="jQuery" /><category term="javascript" /><category term="CSS" /><category term="html5" /><category term="デザイン" /><category term="php" /><category term="まとめ" /><category term="layout" /><category term="eclipse" /><category term="canvas" /><category term="その他" /><category term="analytics" /><category term="Licence" /><category term="色" /><category term="開発" /><category term="CakePHP" /><category term="モノ・グッズ" /><title>tomotomo Snippet</title><subtitle type="html">アイディア、コード、デザインなどの断片集
（忘れっぽい自分のための備忘録）

snippets of idia, programming, php, design etc.
(memos for space cadet)</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://tomotomosnippet.blogspot.com/" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/TomotomoSnippet" /><feedburner:info uri="tomotomosnippet" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;AkAHQ38_eSp7ImA9WhZaFE8.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-7945381455880297306</id><published>2011-06-30T19:04:00.001+09:00</published><updated>2011-06-30T19:12:12.141+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-30T19:12:12.141+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="android" /><category scheme="http://www.blogger.com/atom/ns#" term="まとめ" /><title>これは使ってみて良かったよというAndroidアプリ7つ</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4CYQqwCt0b8z_94zQcQfPKrOrv0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4CYQqwCt0b8z_94zQcQfPKrOrv0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4CYQqwCt0b8z_94zQcQfPKrOrv0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4CYQqwCt0b8z_94zQcQfPKrOrv0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;AUの&lt;a href="http://www.au.kddi.com/seihin/ichiran/smartphone/isw11ht/"&gt;HTC EVO WIMAX&lt;/a&gt;を買ってAndroidデビューから1ヶ月経ちました。&lt;br&gt;
実際に使ってみてよかったアプリをメモしておきます。&lt;br&gt;
メジャーなアプリばっかりですが、Android携帯買ったけどアプリ何入れたらいいか分かんないよー。という人は参考にしてみてください。&lt;br&gt;
&lt;br&gt;
ちなみにEVOはAndroid2.2.1です。（2011.6.30現在）&lt;br&gt;
&lt;br&gt;
&lt;div style="clear: both;"&gt;&lt;a href="https://market.android.com/details?id=com.adamrocker.android.input.simeji"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;simeji&lt;/span&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://market.android.com/details?id=com.adamrocker.android.input.simeji" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="120" src="http://chart.apis.google.com/chart?cht=qr&amp;amp;chl=https%3A%2F%2Fmarket.android.com%2Fdetails%3Fid%3Dcom.adamrocker.android.input.simeji&amp;amp;chs=120x120" width="120"&gt;&lt;/a&gt;EVOに最初から入ってるキーボードは使いにくいので、フリック入力ができる&lt;a href="https://market.android.com/details?id=com.adamrocker.android.input.simeji"&gt;simeji&lt;/a&gt;を一番初めにインストールすべし。&lt;br&gt;
フルキーボードも使えるので英字入力もらくちん。&lt;br&gt;
変換は今ひとつお馬鹿だけど、ソーシャル辞書が大変便利。&lt;br&gt;
&lt;br&gt;
ただ、もうアップデートが実施されないのと、たまにフリーズするのがいただけない。&lt;br&gt;
&lt;br&gt;
でも、無料なわけだし文句は無いかな。&lt;/div&gt;&lt;br&gt;
&lt;div style="clear: both;"&gt;&lt;a href="https://market.android.com/details?id=com.justsystems.atokmobile.service"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;ATOK&lt;/span&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://market.android.com/details?id=com.justsystems.atokmobile.service" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://chart.apis.google.com/chart?cht=qr&amp;amp;chl=https%3A%2F%2Fmarket.android.com%2Fdetails%3Fid%3Dcom.justsystems.atokmobile.service&amp;amp;chs=120x120"&gt;&lt;/a&gt;フリック入力に加え独特のジェスチャー入力が特徴的な日本語入力アプリ。&lt;br&gt;
詳しくは&lt;a href="https://www.youtube.com/watch?v=I-BIEEzxThE"&gt;動画を見て&lt;/a&gt;もらうとして、私は「逆に使いにくいんじゃね？」と思ってしまったのでフリック入力とQWERTYキーボードだけ使ってます。&lt;br&gt;
&lt;br&gt;
価格は1500円と高額なアプリですが、変換が賢く、動作も安定しているのでストレスフリー！&lt;br&gt;
とりあえず使ってみたいという人は&lt;a href="https://market.android.com/details?id=com.justsystems.atokmobile.trial.kd.service"&gt;トライアル版&lt;/a&gt;をお試しあれ。&lt;/div&gt;&lt;br&gt;
&lt;div style="clear: both;"&gt;&lt;a href="https://market.android.com/details?id=com.google.zxing.client.android"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;QRコードスキャナー&lt;/span&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://market.android.com/details?id=com.google.zxing.client.android" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="120" src="http://chart.apis.google.com/chart?cht=qr&amp;amp;chl=https%3A%2F%2Fmarket.android.com%2Fdetails%3Fid%3Dcom.google.zxing.client.android&amp;amp;chs=120x120" width="120"&gt;&lt;/a&gt;まんまQRコードリーダ。普通に必要です。&lt;/div&gt;&lt;br&gt;
&lt;a href="http://tomotomosnippet.blogspot.com/2011/06/android7.html#more"&gt;もっと読む »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-7945381455880297306?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/iV4R5q33EAE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/7945381455880297306/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2011/06/android7.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/7945381455880297306?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/7945381455880297306?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/iV4R5q33EAE/android7.html" title="これは使ってみて良かったよというAndroidアプリ7つ" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2011/06/android7.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMHRXwycCp7ImA9WhZWFEg.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-705245356657802128</id><published>2011-05-15T18:04:00.001+09:00</published><updated>2011-05-15T18:07:14.298+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-15T18:07:14.298+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="html5" /><category scheme="http://www.blogger.com/atom/ns#" term="開発" /><title>HTML5の製作環境としてNetBeans IDEを使ってみる</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TP-XDbQfdZUBaLQdHWa6nZN9pMI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TP-XDbQfdZUBaLQdHWa6nZN9pMI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TP-XDbQfdZUBaLQdHWa6nZN9pMI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TP-XDbQfdZUBaLQdHWa6nZN9pMI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://sourceforge.jp/magazine/11/04/21/0344229"&gt;JDK 7をサポートした「NetBeans IDE 7.0」が登場&lt;/a&gt;らしいのでとりあえず使ってみた感想をメモ。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://netbeans.org/"&gt;netbeans.org&lt;/a&gt;に行って、Download FREEをクリック。&lt;br /&gt;
すると何種類かバージョンを選べるので自分に合ったものをダウンロード。&lt;br /&gt;
私はJavaもCも使わないのでPHP版をダウンロード。&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-q3uLtyLLtM0/Tc-R1JbFd_I/AAAAAAAAAGY/2_-I_ShWTa8/s1600/netbeans+ide+%25E3%2583%2580%25E3%2582%25A6%25E3%2583%25B3%25E3%2583%25AD%25E3%2583%25BC%25E3%2583%2589.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="197" src="http://1.bp.blogspot.com/-q3uLtyLLtM0/Tc-R1JbFd_I/AAAAAAAAAGY/2_-I_ShWTa8/s320/netbeans+ide+%25E3%2583%2580%25E3%2582%25A6%25E3%2583%25B3%25E3%2583%25AD%25E3%2583%25BC%25E3%2583%2589.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;あとはインストーラを開いて普通にインストール。&lt;br /&gt;
初めから日本語をサポートしているのでEclipseをインストールするより簡単でした。&lt;br /&gt;
&lt;br /&gt;
NetBeansを起動して、新規作成でHTMLを選択すると次のようなHTMLが生成されます。 &lt;br /&gt;
&lt;br /&gt;
&lt;pre class="html" name="code"&gt;&amp;lt;!--
To change this template, choose Tools | Templates
and open the template in the editor.
--&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
    &amp;lt;head&amp;gt;
        &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
        &amp;lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&amp;gt;
    &amp;lt;/head&amp;gt;
    &amp;lt;body&amp;gt;
        &amp;lt;div&amp;gt;TODO write content&amp;lt;/div&amp;gt;
    &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
このままでも良いっちゃ良いけど、日本語で製作するならHTMLのlang属性を指定したいですね。&lt;br /&gt;
&lt;blockquote&gt;To change this template, choose Tools | Templates&lt;br /&gt;
and open the template in the editor.&lt;/blockquote&gt;ということなので、[ツール]→[テンプレート]を開いて、HTMLを複製して名前をHTML5JPとかにします。&lt;br /&gt;
[エディタを開く]をクリックするとテンプレートを編集できます。&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;（エンコーディングがどうのこうの言われましたが無視）&lt;/span&gt;&lt;br /&gt;
&lt;pre class="html" name="code"&gt;&amp;lt;html&amp;gt;
これを・・・
&amp;lt;html lang="ja-JP"&amp;gt;&lt;/pre&gt;こんな感じで書いておけばOKですね。&lt;br /&gt;
あとは、meta descriptionとかfaviconとか必要なら追加すれば良さそうです。&lt;br /&gt;
&lt;br /&gt;
PHPやJavascript開発に関してはまだ試してないのでこれからじっくり使ってみようと思います。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-705245356657802128?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/cZDp1jyPzrE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/705245356657802128/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2011/05/html5netbeans-ide.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/705245356657802128?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/705245356657802128?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/cZDp1jyPzrE/html5netbeans-ide.html" title="HTML5の製作環境としてNetBeans IDEを使ってみる" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-q3uLtyLLtM0/Tc-R1JbFd_I/AAAAAAAAAGY/2_-I_ShWTa8/s72-c/netbeans+ide+%25E3%2583%2580%25E3%2582%25A6%25E3%2583%25B3%25E3%2583%25AD%25E3%2583%25BC%25E3%2583%2589.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2011/05/html5netbeans-ide.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQNSXw-cSp7ImA9WhZXE0k.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-896751965451751540</id><published>2011-05-02T22:17:00.001+09:00</published><updated>2011-05-02T22:19:58.259+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-02T22:19:58.259+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>[CentOS]PHPインストールメモ</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xoff7Z_dzhkglPf2L08kDEoy5V8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xoff7Z_dzhkglPf2L08kDEoy5V8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xoff7Z_dzhkglPf2L08kDEoy5V8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xoff7Z_dzhkglPf2L08kDEoy5V8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;先日&lt;a href="http://px.a8.net/svt/ejp?a8mat=1TQLZ1+AZBUGI+D8Y+BWVTE" target="_blank"&gt;さくらのVPS&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www19.a8.net/0.gif?a8mat=1TQLZ1+AZBUGI+D8Y+BWVTE" width="1" class="a8" /&gt;を申し込んだので、PHPインストールのメモを。&lt;br /&gt;
&lt;br /&gt;
普通に&lt;code&gt;yum install php php-delel&lt;/code&gt;を実行してしまうとPHP5.1がインストールされちゃうんですね。&lt;br /&gt;
&lt;a href="http://d.hatena.ne.jp/sotarok/20100717/modern_phpenv"&gt;モダンなPHPの開発環境の構築方法&lt;/a&gt;を見ながらPHP5.3のインストールしましょう。&lt;br /&gt;
&lt;br /&gt;
あと、mbstringとかGDとか使いたかったらちゃんとインストールしないと使えないので注意が必要。&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;yum install -y php php-delvel php-mbstring php-gd php-pear php-mysql&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
とりあえず、普通に使う分にはこれくらい指定すれば大丈夫だと思います。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-896751965451751540?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/HsHmdTKXCaA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/896751965451751540/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2011/05/centosphp.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/896751965451751540?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/896751965451751540?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/HsHmdTKXCaA/centosphp.html" title="[CentOS]PHPインストールメモ" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2011/05/centosphp.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QBQH46eSp7ImA9WhZQGEU.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-6622125335283774285</id><published>2011-04-27T07:47:00.001+09:00</published><updated>2011-04-27T16:29:11.011+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-27T16:29:11.011+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="モノ・グッズ" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>[Android]日本語入力補助アプリSimejiの反応が遅いと思ったら</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/y7SxbI59t34oXoHjQhpzBYVUQ4Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/y7SxbI59t34oXoHjQhpzBYVUQ4Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/y7SxbI59t34oXoHjQhpzBYVUQ4Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/y7SxbI59t34oXoHjQhpzBYVUQ4Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;先日、auショップに行って&lt;a href="http://www.au.kddi.com/seihin/ichiran/smartphone/isw11ht/"&gt;HTC EVO WiMAX&lt;/a&gt;を借りてきました。&lt;br /&gt;
（電波確認のため無料で貸しだしてくれる）&lt;br /&gt;
お恥ずかしながらAndroid端末を持つのは初です＾＾；&lt;br /&gt;
使ってみた感想はまるっと省きます。&lt;br /&gt;
&lt;br /&gt;
Androidケータイのデフォルトキーボードが使いにくいと思ったのでSimejiを入れてみました。&lt;br /&gt;
Simejiの説明はこちらのサイトに詳しく書かれています。&lt;br /&gt;
&lt;a href="http://andronavi.com/2010/01/3676"&gt;『Simeji』日本語IME～フリック入力にも対応。日本人必須アプリ～&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
フリック入力が便利そうと思ったけど、タップしてから4文字が表示されるまで遅い。&lt;br /&gt;
タップしてからゆっくり「いち」と数えてやっと表示される。&lt;br /&gt;
これって逆に遅くない？&lt;br /&gt;
&lt;br /&gt;
結論から言うと、4文字のガイドが表示される前にスライドすれば高速で入力できました。&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;（だからフリック入力と呼ぶんだね）&lt;/span&gt;&lt;br /&gt;
ノータイムで「こそあど言葉」とかオ段の多い言葉を入力できます。&lt;br /&gt;
&lt;br /&gt;
きっと当たり前すぎてどこにも書かれてなかったんだろうな。&lt;br /&gt;
調べてもヒットしなかったのでここに書き残しておきます。&lt;br /&gt;
&lt;br /&gt;
Simejiは必須アプリ！全然遅くないよ！&lt;br /&gt;
&lt;br /&gt;
(2011.4.27 追記)&lt;br /&gt;
そうそう、まさにこんな感じ。&lt;br /&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="349" src="http://www.youtube.com/embed/kVy1p0v0Pow" title="YouTube video player" width="425"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-6622125335283774285?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/5N1UeeEaKg4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/6622125335283774285/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2011/04/androidsimeji.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/6622125335283774285?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/6622125335283774285?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/5N1UeeEaKg4/androidsimeji.html" title="[Android]日本語入力補助アプリSimejiの反応が遅いと思ったら" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/kVy1p0v0Pow/default.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2011/04/androidsimeji.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcFQ3k7eCp7ImA9Wx9aFkg.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-963736367415180863</id><published>2011-03-09T16:49:00.001+09:00</published><updated>2011-03-09T16:50:12.700+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-09T16:50:12.700+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="eclipse" /><title>eclipseで新規htmlの文字コードがwindows-31jになる謎</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EixqVEkU_FfdMXydFPg4vftwRCk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EixqVEkU_FfdMXydFPg4vftwRCk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EixqVEkU_FfdMXydFPg4vftwRCk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EixqVEkU_FfdMXydFPg4vftwRCk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;私はPHPの開発にEclipse IDE for PHP Developers(Eclipse3.5)ってのを使っています。&lt;br /&gt;
いつもHTMLファイルを新規作成すると文字コードが"windows-31j"とかいうのになってしまうので、[Alt]+[Enter]を押して文字コードをUTF-8に変更。HTMLのcharsetをutf-8に変更。という手間をかけてました。&lt;br /&gt;
絶対におかしい！！と思ったので調べてみました。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://blog.suz-lab.com/2009/03/eclipseutf-8.html"&gt;Eclipseのデフォルトのテキスト・ファイル・エンコードをUTF-8に&lt;/a&gt;&lt;br /&gt;
記事を読むと、&lt;code&gt;eclipse.ini&lt;/code&gt;（Eclipseインストールフォルダにある）の最終行に次の一行を加えて再起動するだけでいいようです。&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code" class="js"&gt;-Dfile.encoding=utf-8&lt;/pre&gt;&lt;br /&gt;
HTMLファイルを新規作成するとちゃんと文字コードがUTF-8になりました。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ちなみにwindows-31jって何だ？と思ったので調べてみました。&lt;br /&gt;
&lt;a href="http://q.hatena.ne.jp/1167447698"&gt;kn1967さんの回答&lt;/a&gt;によると、&lt;br /&gt;
&lt;blockquote&gt;Windows31Jは、Shift-JISではなく、Shift-JISを拡張したものです。&lt;/blockquote&gt;らしいです。&lt;br /&gt;
&lt;br /&gt;
もうちょっと詳しくは&lt;a href="http://www.atmarkit.co.jp/fjava/rensai3/mojibake02/mojibake02.html"&gt;JSPで特殊文字が文字化けする場合の対処方法&lt;/a&gt;に書かれていますね。&lt;br /&gt;
文字化けの対象になる、&lt;br /&gt;
①（まる１）&lt;br /&gt;
㈱（かぶ）&lt;br /&gt;
などの機種依存文字はShift-JISには含まれていないんですね。&lt;br /&gt;
これらの文字が含まれているのがWindows-31Jという、Windows版Shift-JISなわけか。&lt;br /&gt;
だからMacで文字化けを起こすわけなんですね。&lt;br /&gt;
私は賢さが１アップしました。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-963736367415180863?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/CvNPKrYd15o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/963736367415180863/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2011/03/eclipsehtmlwindows-31j.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/963736367415180863?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/963736367415180863?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/CvNPKrYd15o/eclipsehtmlwindows-31j.html" title="eclipseで新規htmlの文字コードがwindows-31jになる謎" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2011/03/eclipsehtmlwindows-31j.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcNRn86fyp7ImA9Wx9QEE0.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-6071098679955922785</id><published>2010-12-22T17:54:00.000+09:00</published><updated>2010-12-22T17:54:57.117+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-22T17:54:57.117+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="CakePHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Licence" /><category scheme="http://www.blogger.com/atom/ns#" term="jQuery" /><title>[GPL][MIT]ライセンスについて基本中の基本的なこと</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EHD1hvAa3x9p2kmg1f3cGXDwEYI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EHD1hvAa3x9p2kmg1f3cGXDwEYI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EHD1hvAa3x9p2kmg1f3cGXDwEYI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EHD1hvAa3x9p2kmg1f3cGXDwEYI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;今までずっと独学でHTMLやらプログラミングやらやってきました。&lt;br&gt;
子供の頃からパソコンで何か作るのが好きで、とうとう職業にしちゃったわけです。&lt;br&gt;
&lt;br&gt;
そんなわけで・・・&lt;br&gt;
&lt;br&gt;
ライセンスについて今までちっとも勉強してこなかった！&lt;br&gt;
&lt;strike&gt;英語やら法律用語やら専門用語やらで今まで読む気がしなかった。&lt;/strike&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
ということで、今年中にいくつかライセンスについて知ったことをまとめたいと思います。&lt;br&gt;
&lt;br&gt;
最終的には、&lt;br&gt;
『GPLのPHPライブラリを利用したウェブアプリケーションを作成販売し、&lt;br&gt;
　かつ、オリジナルで作った部分のソースを公開する必要があるのか？』&lt;br&gt;
を理解することですが、ちょっと調べたくらいじゃ、そんなモノわかりませんでした。&lt;br&gt;
&lt;br&gt;
今回は、初めてライセンスについて書くので、基本中の基本。&lt;br&gt;
&lt;b&gt;GPL(GNU General Public Licence)&lt;/b&gt;と&lt;b&gt;MIT Licence(X11 Licence)&lt;/b&gt;について分かったことを書きます。&lt;br&gt;
&lt;br&gt;
GPLもMIT Licence（以下MIT）も、フリーソフトに関するライセンスで、どちらも。&lt;br&gt;
・無償（無保証）&lt;br&gt;
・利用/改造/再配布OK&lt;br&gt;
・著作権表示義務あり&lt;br&gt;
・商用利用OK&lt;br&gt;
です。&lt;br&gt;
&lt;br&gt;
まぁ、この辺りまではなんとなーく理解してましたが、じゃあどう違うねん、というと。&lt;br&gt;
&lt;br&gt;
GPL&lt;br&gt;
・ソースコードを公開する義務がある&lt;br&gt;
・GPLを含む二次著作物もGPLにする必要がある（どんどん連鎖します←正しくは『ライセンスの継承』）&lt;br&gt;
&lt;br&gt;
MIT&lt;br&gt;
・ソース公開の義務なし&lt;br&gt;
・二次著作物のライセンス変更もOK（元々の部分はMITのまま）&lt;br&gt;
&lt;br&gt;
他にも、修正BSDライセンス（MITとほとんど一緒）、LGPL（緩いGPL）などあるので、次のサイトで確認すると良いと思います。&lt;br&gt;
&lt;a href="http://0xc000013a.wiki.fc2.com/wiki/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E3%81%BE%E3%81%A8%E3%82%81"&gt;http://0xc000013a.wiki.fc2.com/wiki/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E3%81%BE%E3%81%A8%E3%82%81&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
で、GPLの&lt;b&gt;ライセンスの継承&lt;/b&gt;ってやつが曲者で。&lt;br&gt;
&lt;a href="http://piro.sakura.ne.jp/latest/blosxom/mozilla/xul/2008-04-02_license.htm"&gt;オープンソースなライセンスやコピーレフトなライセンス、クリエイティブコモンズについて、他のライセンスとどう組み合わせられるのかを図にしてみた&lt;/a&gt;&lt;br&gt;
上記サイトが分かりやすく解説しているので、分からなくなった時に見に行くといいと思います。&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
さて、では実際に自分が作ったプログラムにGPLやMITを適用したい時はどうしたらいいのか。&lt;br&gt;
&lt;b&gt;ソースコードのどっか目立つ所（冒頭）&lt;/b&gt;にライセンスの宣言をすれば良いみたいです。&lt;br&gt;
前述の&lt;a href="http://0xc000013a.wiki.fc2.com/wiki/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E3%81%BE%E3%81%A8%E3%82%81"&gt;まとめWiki&lt;/a&gt;によると、&lt;br&gt;
GPLの場合：&lt;br&gt;
&lt;blockquote&gt;(GPLバージョン3の和訳「4. 一字一句忠実なコピーの伝達」より引用) 『あなたはそれぞれのコピーにおいて、目立つように、かつ適切な形で、ふさわしい「コピーライト」告知を掲載しなければならない』&lt;/blockquote&gt;とあります。&lt;br&gt;
全文っていうのが&lt;a href="https://github.com/jquery/jquery/blob/master/GPL-LICENSE.txt"&gt;これ&lt;/a&gt;。&lt;br&gt;
&lt;br&gt;
この全文をソースコードの先頭に書けば、GPLライセンスになります。&lt;br&gt;
&lt;br&gt;
MITの場合：&lt;br&gt;
&lt;blockquote&gt;ライブラリの著作権表示と許諾表示を、重要な部分に記載する必要がある。&lt;/blockquote&gt;とあります。&lt;br&gt;
&lt;br&gt;
MITの場合は&lt;a href="http://tobysoft.net/wiki/index.php?License/MIT%20License"&gt;こんな感じ&lt;/a&gt;で書けばいいようです。&lt;br&gt;
実際の例は&lt;a href="https://github.com/jquery/jquery/blob/master/MIT-LICENSE.txt"&gt;これ&lt;/a&gt;。&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
でもね、実際に見てみると、結構省略して書く人が多いみたいです。&lt;br&gt;
例えば&lt;a href="http://code.jquery.com/jquery-1.4.4.min.js"&gt;jquery-1.4.4.min.js&lt;/a&gt;だってこーんな…&lt;br&gt;
&lt;pre class="js" name="code"&gt;/*!
 * jQuery JavaScript Library v1.4.4
 * http://jquery.com/
 *
 * Copyright 2010, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2010, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: Thu Nov 11 19:04:53 2010 -0500
 */&lt;/pre&gt;（ちなみにjQueryはMITとGPLバージョン2のデュアルライセンスってやつです。）&lt;br&gt;
ライセンスの宣言が&lt;br&gt;
&amp;quot;Dual licensed under the MIT or GPL Version 2 licenses.&amp;quot;&lt;br&gt;
という一行で終わってます。&lt;br&gt;
その次の行の&lt;a href="http://jquery.org/license"&gt;http://jquery.org/license&lt;/a&gt;を見に行くと、それぞれのライセンス全文へのリンクがあります。&lt;br&gt;
&lt;br&gt;
CakePHPはMITライセンスですが、&lt;a href="https://github.com/cakephp/cakephp/blob/master/cake/libs/cache.php"&gt;こんな感じ&lt;/a&gt;で表記しています。&lt;br&gt;
&lt;br&gt;
どこにライセンスの全文が載っているか、を明記すればOKって慣例なんですかね。&lt;br&gt;
&lt;br&gt;
なんだか、散らばった文章ですが、長くなってきたので終わります。（そして続きます、たぶん）&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href="http://e-words.jp/w/E38395E383AAE383BCE382BDE38395E38388E382A6E382A7E382A2.html"&gt;フリーソフトの『フリー』は『自由』&lt;/a&gt;であって、無料という意味ではない。&lt;br&gt;
ということを再認識しました。&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href="http://tomotomosnippet.blogspot.com/2010/12/gplmit.html#more"&gt;もっと読む »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-6071098679955922785?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/ZkZ1K3Z052E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/6071098679955922785/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2010/12/gplmit.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/6071098679955922785?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/6071098679955922785?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/ZkZ1K3Z052E/gplmit.html" title="[GPL][MIT]ライセンスについて基本中の基本的なこと" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2010/12/gplmit.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcESHo7eyp7ImA9Wx9QEUg.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-2967297975698929385</id><published>2010-12-02T11:52:00.017+09:00</published><updated>2010-12-24T11:33:29.403+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-24T11:33:29.403+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="CakePHP" /><category scheme="http://www.blogger.com/atom/ns#" term="まとめ" /><title>CakePHPアドベントカレンダー2010（まとめ）</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RqtpAZm9lcznNLOfGM-_hKGJhyE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RqtpAZm9lcznNLOfGM-_hKGJhyE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RqtpAZm9lcznNLOfGM-_hKGJhyE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RqtpAZm9lcznNLOfGM-_hKGJhyE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="comText" style="padding-bottom: 2px; padding-left: 2px; padding-right: 2px; padding-top: 2px;"&gt;&lt;a href="http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=2510&amp;amp;forum=16&amp;amp;post_id=6333"&gt;CakePHP Advent Calendar 2010を開催！&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;blockquote&gt;RubyやPerl, Symfonyなどでも企画されているAdvent CalendarをCakePHPでもやってみたいと思います。&lt;br&gt;
技術系の方がやっているAdvent Calendar(アドベントカレンダー)は、12/1からクリスマスまでに１日ごとにその技術に関する何かしらの記事を書いて、アップしていくというもので、担当日を決めて何人かでどんどん記事をアップしていくパターンが多いです。&lt;/blockquote&gt;&lt;br&gt;
ということで面白そうなのでCakePHPアドベントカレンダーのブログ記事を追っかけてまとめようと思います。（詳しい情報は&lt;a href="http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=2510&amp;amp;forum=16&amp;amp;post_id=6333"&gt;本家&lt;/a&gt;で見るのが良いと思うよ）&lt;br&gt;
&lt;br&gt;
&amp;quot;#. 記事タイトル @Twitterプロフィール（あれば）&amp;quot;という形でまとめときます。&lt;br&gt;
&lt;ol&gt;&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/cakephper/20101201/1291166566"&gt;画像にリンクをはる簡単な方法(CakePHP Advent Calendar 1日目)&lt;/a&gt; @&lt;a href="http://twitter.com/cakephper"&gt;cakephper&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/k1LoW/20101202/1291262612"&gt;CakePHPであることを隠蔽する (CakePHP Advent Calendar 2010 2日目)&lt;/a&gt; @&lt;a href="http://twitter.com/k1LoW"&gt;k1LoW&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.1x1.jp/blog/2010/12/thinking_abount_cakephp_mode.html"&gt;CakePHP Modelとの付き合い方（CakePHP Advent Calendar 2010 3日目）&lt;/a&gt; @&lt;a href="http://twitter.com/shin1x1"&gt;shin1x1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://rimuru.lunanet.gr.jp/notes/post/2838/"&gt;Re: Best Practices in MVC Design with CakePHP&lt;/a&gt; @&lt;a href="http://twitter.com/remore"&gt;remore&lt;/a&gt;&lt;br&gt;
（&lt;a href="http://rimuru.lunanet.gr.jp/notes/post/2838/#2838ja"&gt;※日本語版&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;&lt;a href="http://labs.uechoco.com/blog/2010/12/cakephp-model-lovers.html"&gt;[CakePHP]モデルに振られる&lt;/a&gt; @&lt;a href="http://twitter.com/uechoco"&gt;uechoco&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://1-byte.jp/2010/12/06/cakephp_with_git/"&gt;Gitと一緒にCakePHPを楽しむ – CakePHP Advent Calendar 2010 6日目&lt;/a&gt; @&lt;a href="http://twitter.com/tfmagician"&gt;tfmagician&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.ecworks.jp/archives/1323"&gt;【CakePHP】CakePHP Advent Calendar2010(day 7) : Tips for Routes&lt;/a&gt; @MASA-P&lt;/li&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/kanonji/20101208/1291819950"&gt;CakeDCのsearch pluginの記事が少ないので1個置いときますね。CakePHP Advent Calendar 2010 8日目&lt;/a&gt; @&lt;a href="http://twitter.com/kanonji"&gt;kanonji&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/ixcy/20101209/p1"&gt;CakePHP/Smartyとのつきあい方 - CakePHP Advent Calendar 2010 9日目&lt;/a&gt; @&lt;a href="http://twitter.com/ixcy"&gt;ixcy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://text.tklabo.net/blog/26/cakephp-environment-tips"&gt;CakePHPの環境を判定するTips （CakePHP Advent Calendar 10日目）&lt;/a&gt; @&lt;a href="http://twitter.com/mon_sat"&gt;mon_sat&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.msng.info/archives/2010/12/cakephp-error-only-when-debug-level-is-0.php"&gt;CakePHPでデバッグレベルが0の時だけ発生するエラー&lt;/a&gt; @&lt;a href="http://twitter.com/msng"&gt;msng&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://torhamzedd.blogspot.com/2010/12/cakephp-advent-calendar-12st.html"&gt;フォームヘルパに関して（CakePHP Advent Calendar 12st）&lt;/a&gt; @&lt;a href="http://twitter.com/ogaaaan"&gt;ogaaaan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/kaz_29/20101213/1292209088"&gt;Datasourceを使い倒す&lt;/a&gt; @&lt;a href="http://twitter.com/kaz_29"&gt;kaz_29&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/camelmasa/20101214/1292336822"&gt;Lithiumについて (CakePHP Advent Calendar 2010 14日目)&lt;/a&gt; @&lt;a href="http://twitter.com/camelmasa"&gt;camelmasa&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/hiromi2424/20101215/1292379625"&gt;App::import() は凄い&lt;/a&gt; @&lt;a href="http://twitter.com/hiromi2424"&gt;hiromi2424&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gist.github.com/743016"&gt;CakePHP2.0 を触ってみて。&lt;/a&gt; @aerith&lt;/li&gt;
&lt;li&gt;&lt;a href="http://php-tips.com/php/cakephp-php/2010/12/cakephp-advent-calendar-2010-17"&gt;BakerがCakePHPのために.bashrcに設定すべき5行 (CakePHP Advent Calendar 2010 17日目)&lt;/a&gt; @&lt;a href="http://twitter.com/nojimage"&gt;nojimage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://project-p.jp/halt/anubis/blog_show/1462"&gt;authkittenプラグインで子猫認証 (CakePHP Advent Calendar 2010 18日目)&lt;/a&gt; @halt &lt;/li&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/kunit/20101219"&gt;ControllerからModelを使用するいくつかの方法 （CakePHP Advent Calendar 19日目）&lt;/a&gt; @kunit &lt;/li&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/connvoi_tyou/20101220/1292822105"&gt;PaginatorHelperでの複雑なURL指定(CakePHP Advent Calender 20日目)&lt;/a&gt; @connvoi_tyou&lt;/li&gt;
&lt;li&gt;&lt;a href="http://yashio.wordpress.com/2010/12/21/containable-behavior%E3%82%92%E8%BF%BD%E3%81%84%E3%81%8B%E3%81%91%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82/"&gt;Containable Behaviorを追いかけてみました。&lt;/a&gt; @&lt;a href="http://twitter.com/yashio"&gt;yashio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/knj77/20101222/1292980461"&gt;CakePHPのmodelを動的に生成する方法&lt;/a&gt; @&lt;a href="http://twitter.com/KNJ77"&gt;knj77&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ooooo.oops.jp/2010/12/cakephp-using-mediaview/"&gt;【CakePHP】メディアビューの使い方(CakePHP Advent Calendar 2010)&lt;/a&gt; @&lt;a href="http://twitter.com/osakanapower"&gt;osakanapower&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.akiyan.com/blog/archives/2010/12/security-component-cakephp-advent-calendar-2010.html"&gt;極める！Security Component (CakePHP Advent Calendar 2010 24日目)&lt;/a&gt; @&lt;a href="http://twitter.com/akiyan"&gt;akiyan&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;アドベントカレンダーって何？と思ったらこちら。（&lt;a href="http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=2510&amp;amp;forum=16&amp;amp;post_id=6333"&gt;本家&lt;/a&gt;に載ってるリンクと一緒）&lt;br&gt;
&lt;a href="http://d.hatena.ne.jp/tokuhirom/20081216/1229387324"&gt;http://d.hatena.ne.jp/tokuhirom/20081216/1229387324&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;a href="http://tomotomosnippet.blogspot.com/2010/12/cakephp2010.html#more"&gt;もっと読む »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-2967297975698929385?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/b_4BjrnXm04" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/2967297975698929385/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2010/12/cakephp2010.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/2967297975698929385?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/2967297975698929385?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/b_4BjrnXm04/cakephp2010.html" title="CakePHPアドベントカレンダー2010（まとめ）" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2010/12/cakephp2010.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MFRXc7eSp7ImA9Wx5aF08.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-4255918709843827464</id><published>2010-11-14T18:03:00.000+09:00</published><updated>2010-11-14T18:03:34.901+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-14T18:03:34.901+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="その他" /><category scheme="http://www.blogger.com/atom/ns#" term="analytics" /><title>[Google Analytics]トラフィックサマリーの『その他』ってなんぞ？</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LCwupkgTxAiW2t0NNdK3Eeev3uI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LCwupkgTxAiW2t0NNdK3Eeev3uI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LCwupkgTxAiW2t0NNdK3Eeev3uI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LCwupkgTxAiW2t0NNdK3Eeev3uI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Google Analyticsで変なトラフィックがあった。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_9brmIXV_AMM/TN-joUTJI-I/AAAAAAAAAFA/I7PIjXj7mbM/s1600/Google+Analytics%25E3%2581%259D%25E3%2581%25AE%25E4%25BB%2596.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="236" src="http://4.bp.blogspot.com/_9brmIXV_AMM/TN-joUTJI-I/AAAAAAAAAFA/I7PIjXj7mbM/s400/Google+Analytics%25E3%2581%259D%25E3%2581%25AE%25E4%25BB%2596.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
なんだこれ、と思ったら&lt;a href="http://a2i.jp/faq/topic/87"&gt;すぐに分かった&lt;/a&gt;。&lt;br /&gt;
キャンペーンのタブをクリックしたらFeedからのアクセスだった。&lt;br /&gt;
&lt;br /&gt;
初めて見たのでちょっとびっくり。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-4255918709843827464?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/6X3tk6j6N7k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/4255918709843827464/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2010/11/google-analytics.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/4255918709843827464?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/4255918709843827464?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/6X3tk6j6N7k/google-analytics.html" title="[Google Analytics]トラフィックサマリーの『その他』ってなんぞ？" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_9brmIXV_AMM/TN-joUTJI-I/AAAAAAAAAFA/I7PIjXj7mbM/s72-c/Google+Analytics%25E3%2581%259D%25E3%2581%25AE%25E4%25BB%2596.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2010/11/google-analytics.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQFR3w8fyp7ImA9Wx5aFU4.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-4553631730528867188</id><published>2010-11-10T17:26:00.001+09:00</published><updated>2010-11-12T13:48:36.277+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-12T13:48:36.277+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="色" /><category scheme="http://www.blogger.com/atom/ns#" term="デザイン" /><title>ブレンドモード・色相/彩度/カラー/輝度のまとめ</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oitaVJWAqHwu-nfQj0WGCp8l54s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oitaVJWAqHwu-nfQj0WGCp8l54s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oitaVJWAqHwu-nfQj0WGCp8l54s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oitaVJWAqHwu-nfQj0WGCp8l54s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Photoshop, Illustrator, Fireworksなどの画像編集ソフト（ざっくりだな）を使うときに、良くカラーのブレンドってやりますよね。&lt;br /&gt;"乗算"とか"スクリーン"とか"反転"とか"削除"とか。&lt;br /&gt;まぁ、このあたりは直感的に分かるんですが、"色相"・"彩度"・"カラー"・"輝度"なんてのになると、訳が分からなくなるのは僕だけじゃないはず。&lt;br /&gt;「何で、水色の上に茶色を色相でブレンドしたらオレンジ色になるん？？」&lt;br /&gt;なんて思っている人は僕だけじゃないはず。&lt;br /&gt;と言う事でそのあたりをまとめてみました。&lt;br /&gt;&lt;table class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;" align="center" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_9brmIXV_AMM/TNpNsHxudtI/AAAAAAAAAE4/5ivplqolKIo/s1600/%25E3%2582%25AB%25E3%2583%25A9%25E3%2583%25BC%25E3%2583%2591%25E3%2583%25AC%25E3%2583%2583%25E3%2583%2588%25E3%2581%25AE%25E8%25A7%25A3%25E8%25AA%25AC.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img src="http://4.bp.blogspot.com/_9brmIXV_AMM/TNpNsHxudtI/AAAAAAAAAE4/5ivplqolKIo/s320/%25E3%2582%25AB%25E3%2583%25A9%25E3%2583%25BC%25E3%2583%2591%25E3%2583%25AC%25E3%2583%2583%25E3%2583%2588%25E3%2581%25AE%25E8%25A7%25A3%25E8%25AA%25AC.png" border="0" height="253" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;(Figure.1)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;" align="center" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_9brmIXV_AMM/TNpNrlKp5VI/AAAAAAAAAE0/E8xh1-vF-To/s1600/%25E8%2589%25B2%25E7%259B%25B8%25E3%2583%25BB%25E5%25BD%25A9%25E5%25BA%25A6%25E3%2583%25BB%25E8%25BC%259D%25E5%25BA%25A6%25E3%2581%25BE%25E3%2581%25A8%25E3%2582%2581.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img src="http://2.bp.blogspot.com/_9brmIXV_AMM/TNpNrlKp5VI/AAAAAAAAAE0/E8xh1-vF-To/s320/%25E8%2589%25B2%25E7%259B%25B8%25E3%2583%25BB%25E5%25BD%25A9%25E5%25BA%25A6%25E3%2583%25BB%25E8%25BC%259D%25E5%25BA%25A6%25E3%2581%25BE%25E3%2581%25A8%25E3%2582%2581.png" border="0" height="92" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;(Figure.2)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;まずは、基本中の基本。&lt;br /&gt;色の仕組み。&lt;br /&gt;WEB屋さんだと色はRGBで考えがちですが、HSL（H:色相、S:彩度、L:輝度）で表現することもあります。(Figure.1,2)&lt;br /&gt;CSS3使っている人は知ってるかも。&lt;br /&gt;あえて詳しく説明する必要もないでしょう。&lt;br /&gt;&lt;br /&gt;ブレンドモード"&lt;b&gt;色相&lt;/b&gt;"とは、"&lt;b&gt;ベースカラーの彩度と輝度&lt;/b&gt;"と"&lt;b&gt;ブレンドカラーの色相&lt;/b&gt;"を合わせた色にすることです。&lt;br /&gt;ブレンドモード"&lt;b&gt;彩度&lt;/b&gt;"とは、"&lt;b&gt;ベースカラーの色相と輝度&lt;/b&gt;"と"&lt;b&gt;ブレンドカラーの彩度&lt;/b&gt;"を合わせた色にすることです。&lt;br /&gt;ブレンドモード"&lt;b&gt;輝度&lt;/b&gt;"とは、"&lt;b&gt;ベースカラーの色相と彩度&lt;/b&gt;"と"&lt;b&gt;ブレンドカラーの輝度&lt;/b&gt;"を合わせた色にすることです。&lt;br /&gt;ブレンドモード"&lt;b&gt;カラー&lt;/b&gt;"とは、"&lt;b&gt;ベースカラーの輝度&lt;/b&gt;"と"&lt;b&gt;ブレンドカラーの色相と彩度&lt;/b&gt;"を合わせた色にすることです。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;…と、&lt;a href="http://help.adobe.com/ja_JP/Fireworks/9.0/help.html?content=frw_layers_la_39.html"&gt;Adobeさんの説明&lt;/a&gt;を噛み砕いて書いてみましたが、はい？って感じです。&lt;br /&gt;これで分かる人は賢い人ですね。&lt;br /&gt;分からない人は次の図を見て下さい。(Figure.3,4)&lt;br /&gt;&lt;table class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;" align="center" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_9brmIXV_AMM/TNpNsUH-XOI/AAAAAAAAAE8/Zw0FIY2iWuk/s1600/%25E3%2583%2596%25E3%2583%25AC%25E3%2583%25B3%25E3%2583%2589%25E3%2583%25A2%25E3%2583%25BC%25E3%2583%2589%25E3%2581%25BE%25E3%2581%25A8%25E3%2582%25811.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img src="http://2.bp.blogspot.com/_9brmIXV_AMM/TNpNsUH-XOI/AAAAAAAAAE8/Zw0FIY2iWuk/s320/%25E3%2583%2596%25E3%2583%25AC%25E3%2583%25B3%25E3%2583%2589%25E3%2583%25A2%25E3%2583%25BC%25E3%2583%2589%25E3%2581%25BE%25E3%2581%25A8%25E3%2582%25811.png" border="0" height="292" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;(Figure.3)&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;" align="center" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_9brmIXV_AMM/TNpNrCAFktI/AAAAAAAAAEw/DMUXGMtS5nw/s1600/%25E3%2583%2596%25E3%2583%25AC%25E3%2583%25B3%25E3%2583%2589%25E3%2583%25A2%25E3%2583%25BC%25E3%2583%2589%25E3%2581%25BE%25E3%2581%25A8%25E3%2582%25812.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img src="http://1.bp.blogspot.com/_9brmIXV_AMM/TNpNrCAFktI/AAAAAAAAAEw/DMUXGMtS5nw/s320/%25E3%2583%2596%25E3%2583%25AC%25E3%2583%25B3%25E3%2583%2589%25E3%2583%25A2%25E3%2583%25BC%25E3%2583%2589%25E3%2581%25BE%25E3%2581%25A8%25E3%2582%25812.png" border="0" height="292" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;(Figure.4)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;上図の左がベースカラー（色相：中、彩度：中、輝度：中）です。右がブレンドカラーです。&lt;br /&gt;&lt;br /&gt;「ブレンドモードで指定した要素のみ上書きする」と考えれば分かりやすいです。（余計分かりにくいですか？）&lt;br /&gt;これが理解できればデザインの幅が少し広がりますね。&lt;br /&gt;&lt;br /&gt;じゃあ、"焼き込み（リニア）"とか、"ハードミックス"はどうなんだって？&lt;br /&gt;知りません。&lt;br /&gt;また機会があればまとめます。&lt;br /&gt;&lt;br /&gt;（余談）&lt;br /&gt;輝度って「きど」って読むんですね。&lt;br /&gt;読み方が分からず「けいど」って言っていました。お恥ずかしい。&lt;br /&gt;&lt;br /&gt;（2010.11.12追記）&lt;br /&gt;こちらの記事が大変詳しいです。&lt;br /&gt;&lt;a href="http://ofo.jp/osakana/cgtips/blendmode.phtml"&gt;http://ofo.jp/osakana/cgtips/blendmode.phtml&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-4553631730528867188?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/C6bkTjvX2g8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/4553631730528867188/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2010/11/blog-post.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/4553631730528867188?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/4553631730528867188?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/C6bkTjvX2g8/blog-post.html" title="ブレンドモード・色相/彩度/カラー/輝度のまとめ" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_9brmIXV_AMM/TNpNsHxudtI/AAAAAAAAAE4/5ivplqolKIo/s72-c/%25E3%2582%25AB%25E3%2583%25A9%25E3%2583%25BC%25E3%2583%2591%25E3%2583%25AC%25E3%2583%2583%25E3%2583%2588%25E3%2581%25AE%25E8%25A7%25A3%25E8%25AA%25AC.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2010/11/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYHRHs8fip7ImA9Wx5bFkU.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-8728271902084424987</id><published>2010-11-02T15:42:00.000+09:00</published><updated>2010-11-02T15:42:15.576+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-02T15:42:15.576+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="html5" /><category scheme="http://www.blogger.com/atom/ns#" term="canvas" /><title>[html5]canvasタグで月の満ち欠けを書いてみる</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oKKWw-_W6C7ezlMPFXi-3zj0Vik/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oKKWw-_W6C7ezlMPFXi-3zj0Vik/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oKKWw-_W6C7ezlMPFXi-3zj0Vik/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oKKWw-_W6C7ezlMPFXi-3zj0Vik/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;今回は&lt;a href="http://www.html5.jp/canvas/index.html"&gt;Canvas - HTML5.JP&lt;/a&gt;を参考にしながら、月齢から月の形を計算して、canvasに出力したいと思います。&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_9brmIXV_AMM/TM-ie9ZTtsI/AAAAAAAAAEs/oXzscuVt3QM/s1600/%E4%BB%8A%E6%97%A5%E3%81%AE%E3%81%8A%E6%9C%88%E3%81%95%E3%81%BE.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/_9brmIXV_AMM/TM-ie9ZTtsI/AAAAAAAAAEs/oXzscuVt3QM/s320/%E4%BB%8A%E6%97%A5%E3%81%AE%E3%81%8A%E6%9C%88%E3%81%95%E3%81%BE.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
とりあえず、canvasのIDを取得するJavascript関数を作ります。&lt;br /&gt;
&lt;site&gt;&lt;a href="http://www.html5.jp/canvas/how.html"&gt;Canvasの使い方 - Canvas - HTML5.JP&lt;/a&gt;&lt;/site&gt;に詳しい情報があります。&lt;br /&gt;
&lt;pre class="js" name="code"&gt;function getCanvas (canvasID) {
 var canvasObj = document.getElementById(canvasID);
 if (canvasObj &amp;&amp; canvasObj.getContext) {
  return canvasObj.getContext('2d');
 }
 return false;
}
&lt;/pre&gt;これを作ってしまえば、今後キャンバスを使う際に使い回しができます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
まず初めに満月を書いてみましょう。&lt;br /&gt;
&lt;pre class="js" name="code"&gt;function drawMoon () {
 var c = getCanvas('TheMoon');
 // 月の半径
 var moon_r = 100;
 // グラデーションの設定
 var gd = c.createRadialGradient(135,135, moon_r*0.9, 140,140, moon_r*1.2);
 gd.addColorStop( 0, 'rgb(233, 84, 100)' );
 gd.addColorStop( 1, 'rgb(123, 74, 80)' );
 // 円を塗りつぶす
 c.beginPath();
 c.arc( 140, 140, moon_r, 0, Math.PI*2, true);
 c.fillStyle = gd;
 c.fill();
}
// HTML
// &amp;lt;canvas id="TheMoon" width="280" height="280"&amp;gt;&amp;lt;/canvas&amp;gt;
&lt;/pre&gt;canvasのメソッドについては&lt;a href="http://www.html5.jp/canvas/index.html"&gt;Canvas - HTML5.JP&lt;/a&gt;を見てね。本稿では解説しません。&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;drawMoon()&lt;/code&gt;を実行すると、半径100pxの円形グラデーションが適用された円が表示されます。&lt;br /&gt;
&lt;a href="http://valuesha.com/moon/2010-11-22"&gt;DEMO&lt;/a&gt;（月の色が変なのは気にしない）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
次は、月が欠けた分だけ影を追加したいと思います。&lt;br /&gt;
上から黒で塗りつぶしても良いけど、芸が無いので、&lt;code&gt;globalCompositeOperation&lt;/code&gt;プロパティを使って、円に重ねた影の領域を円から削除します。&lt;br /&gt;
&lt;pre class="js" name="code"&gt;c.globalCompositeOperation = 'destination-out';
&lt;/pre&gt;これで準備OK。&lt;br /&gt;
&lt;br /&gt;
次は、影の形を計算したいと思います。&lt;br /&gt;
ややこしいので、月の形を完全な球、月の軌道を完全な円にしてしまいます。&lt;br /&gt;
つまり、月齢0の時は全部影になって、右の方から光が当たり始めて、月齢7.5で半月（上弦の月）、月齢15で満月。&lt;br /&gt;
その後は右から徐々に影が増えて、月齢22.5で半月、月齢30（月齢0）で新月。&lt;br /&gt;
&lt;br /&gt;
影の左右端はコサインで計算できそうだな。&lt;br /&gt;
月の中心座標を0,0として、影の左右端x座標をmoon_xとしよう。&lt;br /&gt;
月齢0～15のとき、moon_xが-moon_rから+moon_rに変化して、&lt;br /&gt;
月齢16～30のとき、moon_xが-moon_rから+moon_rに変化するんだから・・・&lt;br /&gt;
&lt;pre class="js" name="code"&gt;var moon_grow = (age&gt;15)? true: false;
var moon_x = Math.cos(age/30*Math.PI*2) * moon_r * (moon_grow? -1: 1);
&lt;/pre&gt;こんな計算をしてやればOK！&lt;br /&gt;
&lt;code&gt;(age&gt;15)? true: false;&lt;/code&gt; って条件が反対じゃないかというツッコミが来そうですが、良いんです。&lt;br /&gt;
後々、逆にしておく事で計算が簡単になるんだ。&lt;br /&gt;
&lt;br /&gt;
半円の影とmoon_xを結ぶ片側が潰れた円を描けば良いので最終的にこうなります。&lt;br /&gt;
&lt;pre class="js" name="code"&gt;function drawMoon (age) {
 var c = getCanvas('TheMoon');
 var a = 0.5522847;
 var moon_grow = (age&gt;15)? true: false;
 
 var moon_r = 100;
 var rate = Math.cos(age/30*Math.PI*2);
 var moon_x = moon_r*rate * (moon_grow? -1: 1);
 
 var gd = c.createRadialGradient(135,135, moon_r*0.9, 140,140, moon_r*1.2);
 gd.addColorStop( 0, 'rgb(233, 84, 100)' );
 gd.addColorStop( 1, 'rgb(123, 74, 80)' );
 
 c.beginPath();
 c.arc( 140, 140, moon_r, 0, Math.PI*2, true);
 c.fillStyle = gd;
 c.fill();
 
 c.globalCompositeOperation = 'destination-out';
 c.beginPath();
 c.fillStyle = 'rgb(192, 70, 80)';
 c.arc( 140, 140, moon_r, Math.PI*1/2, Math.PI*3/2, moon_grow);
 c.bezierCurveTo( 140+a*moon_x,140-moon_r,  140+moon_x,140-a*moon_r,  140+moon_x,140);
 c.bezierCurveTo( 140+moon_x,140+a*moon_r,  140+a*moon_x,140+moon_r,  140,140+moon_r);
 c.fill();
}
&lt;/pre&gt;&lt;code&gt;c.bezierCurveTo()&lt;/code&gt;メソッドで3次ベジェ曲線を使って楕円を描画しています。&lt;br /&gt;
制御点の計算が難しかったのですが、&lt;a href="http://park12.wakwak.com/~shp/cgi-bin/wiki.cgi/view/bezier_curve#circle"&gt;こちら&lt;/a&gt;を参考に係数をa=0.5522847として決めて様子見したところ、上手くいっていたのでそのまま採用しました。&lt;br /&gt;
&lt;code&gt;c.arc( 140, 140, moon_r, Math.PI*1/2, Math.PI*3/2, moon_grow);&lt;/code&gt;で月齢16を境に、右半円、左半円を切り替えているところがポイントですかね。&lt;br /&gt;
&lt;br /&gt;
そんなこんなで、色々とキャンバスの理解につながったので良かった。&lt;br /&gt;
「&lt;a href="http://valuesha.com/moon/"&gt;今日のお月さま&lt;/a&gt;」というサービスでアップしたので、良かったら見て下さい。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://valuesha.com/moon/"&gt;今日のお月さま&lt;/a&gt;作成にあたり参考にしたサイト&lt;br /&gt;
月齢カレンダー&lt;br /&gt;
&lt;a href="http://koyomi.vis.ne.jp/moonage.htm"&gt;http://koyomi.vis.ne.jp/moonage.htm&lt;/a&gt;&lt;br /&gt;
Canvasリファレンス - HTML5.JP&lt;br /&gt;
&lt;a href="http://www.html5.jp/canvas/ref.html"&gt;http://www.html5.jp/canvas/ref.html&lt;/a&gt;&lt;br /&gt;
s.h's page - [graphic] ベジエ曲線&lt;br /&gt;
&lt;a href="http://park12.wakwak.com/~shp/cgi-bin/wiki.cgi/view/bezier_curve"&gt;http://park12.wakwak.com/~shp/cgi-bin/wiki.cgi/view/bezier_curve&lt;/a&gt;&lt;br /&gt;
月齢 - Wikipedia&lt;br /&gt;
&lt;a href="http://ja.wikipedia.org/wiki/%E6%9C%88%E9%BD%A2"&gt;http://ja.wikipedia.org/wiki/%E6%9C%88%E9%BD%A2&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-8728271902084424987?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/jdDPCprqS3c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/8728271902084424987/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2010/11/html5canvas.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/8728271902084424987?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/8728271902084424987?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/jdDPCprqS3c/html5canvas.html" title="[html5]canvasタグで月の満ち欠けを書いてみる" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_9brmIXV_AMM/TM-ie9ZTtsI/AAAAAAAAAEs/oXzscuVt3QM/s72-c/%E4%BB%8A%E6%97%A5%E3%81%AE%E3%81%8A%E6%9C%88%E3%81%95%E3%81%BE.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2010/11/html5canvas.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IGRHs-cCp7ImA9Wx5QGU8.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-6024167847459464262</id><published>2010-09-08T13:52:00.000+09:00</published><updated>2010-09-08T13:52:05.558+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-08T13:52:05.558+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="CakePHP" /><category scheme="http://www.blogger.com/atom/ns#" term="CSS" /><title>[CakePHP1.3]FormHelperが出力する必須項目*について</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lrTw7CfZabnGv7GyODvkj8pFqZk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lrTw7CfZabnGv7GyODvkj8pFqZk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lrTw7CfZabnGv7GyODvkj8pFqZk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lrTw7CfZabnGv7GyODvkj8pFqZk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;重い腰を上げてCakePHP1.3.3をダウンロードして使い始めました。&lt;br /&gt;
Scaffoldビューのリンクやボタンが角丸になっているなど、CSS3をふんだんに使っているようです。&lt;br /&gt;
（ぱっと見で）&lt;br /&gt;
&lt;br /&gt;
とりあえず、Formヘルパーを使ってログイン画面を作ってみたところ、少し不都合な事実に気づいてしまいました。&lt;br /&gt;
&lt;pre class="php" name="code"&gt;// views/users/login.ctp
echo $form-&amp;gt;create('User', array('action'=&amp;gt;'login');
echo $form-&amp;gt;input('User.username');
echo $form-&amp;gt;input('User.password');
echo $form-&amp;gt;end('ログイン');
&lt;/pre&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_9brmIXV_AMM/TIcPzBqSJyI/AAAAAAAAAEo/X1IXIE2UqpA/s1600/Users-login.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="128" src="http://1.bp.blogspot.com/_9brmIXV_AMM/TIcPzBqSJyI/AAAAAAAAAEo/X1IXIE2UqpA/s320/Users-login.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;
モデルで必須項目に設定した項目のラベルが太字と*印（アスタリスク）で表示されています。&lt;br /&gt;
注意書きで「*印は必須項目です」と書こうとしたのですが、CSSを良く見ると*は:after疑似クラスで表示されている模様。&lt;br /&gt;
&lt;pre class="css" name="code"&gt;/* cake.generic.css L269 */
form .required label:after {
 color: #e32;
 content: '*';
 display:inline;
}
&lt;/pre&gt;これではIE6はもちろんの事、IE7でも*が表示されません。&lt;br /&gt;
IE7以前で*を表示するなら別の方法を考えないといけませんね。&lt;br /&gt;
CSSから&lt;code&gt;content: '*';&lt;/code&gt;を削除して、必須のラベルに手動で*を表示するとか。&lt;br /&gt;
&lt;br /&gt;
CSS2.1に完全準拠していないブラウザからのアクセスを想定するサイトを構築する際には、ちょっと注意しましょう。&lt;br /&gt;
&lt;br /&gt;
いっその事「IE7以前はサポート外です」と表示するか（笑）&lt;br /&gt;
&lt;br /&gt;
（余談）&lt;br /&gt;
「FormHelperが出力する必須項目*について」というタイトルにしましたが、*は別にFormヘルパーが出力してるわけでは無いです。&lt;br /&gt;
&lt;code&gt;&amp;lt;div class="input text required"&amp;gt;&lt;/code&gt;というタグを出力しているだけです。&lt;br /&gt;
完全にcake.generic.cssの話ですが、私は最初、*印はFormヘルパーが出力していると勘違いしたので、こんなタイトルにしました。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-6024167847459464262?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/dOejL2gDa3I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/6024167847459464262/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2010/09/cakephp13formhelper.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/6024167847459464262?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/6024167847459464262?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/dOejL2gDa3I/cakephp13formhelper.html" title="[CakePHP1.3]FormHelperが出力する必須項目*について" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_9brmIXV_AMM/TIcPzBqSJyI/AAAAAAAAAEo/X1IXIE2UqpA/s72-c/Users-login.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2010/09/cakephp13formhelper.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8FRnY-eyp7ImA9WxFbEkU.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-4466853575894414341</id><published>2010-07-05T08:19:00.005+09:00</published><updated>2010-07-05T08:40:17.853+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-05T08:40:17.853+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="CakePHP" /><category scheme="http://www.blogger.com/atom/ns#" term="layout" /><category scheme="http://www.blogger.com/atom/ns#" term="routes" /><title>[CakePHP1.2]印刷用ページのルーティング</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zbL0dsIDXdCXBgO3_y9Hp6a20OM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zbL0dsIDXdCXBgO3_y9Hp6a20OM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zbL0dsIDXdCXBgO3_y9Hp6a20OM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zbL0dsIDXdCXBgO3_y9Hp6a20OM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;ちょっと軽い話題。&lt;br /&gt;&lt;br /&gt;&lt;code&gt;routes.php&lt;/code&gt;を編集して、印刷専用のレイアウトを設定できるようにします。&lt;br /&gt;具体的には&lt;br /&gt;http://example.com/print/users/view/123&lt;br /&gt;にアクセスした際にレイアウトのprint.ctpを適用します。&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="php"&gt;&lt;br /&gt;// routes.php の一番最後&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * 印刷用ページのルーティング&lt;br /&gt; */&lt;br /&gt;Router::connect(&lt;br /&gt;  '/print/:controller/:action/*',&lt;br /&gt;  array('action'=&gt;'index', 'print'=&gt;1)&lt;br /&gt;);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;コントローラでは、&lt;code&gt;$this-&gt;params['print']&lt;/code&gt;が使えるようになります。&lt;br /&gt;AppControllerのbeforeRenderをいじってみましょう。&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="php"&gt;&lt;br /&gt;// app_controller.php&lt;br /&gt;&lt;br /&gt;class AppController extends Controller&lt;br /&gt;{&lt;br /&gt;  function beforeRender()&lt;br /&gt;  {&lt;br /&gt;    if (isset($this-&gt;params['print']) &amp;&amp; $this-&gt;params['print']==1) {&lt;br /&gt;      $this-&gt;layout = 'print';&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;はい、これでコントローラの前に/printを付けるだけで&lt;br /&gt;プリント用レイアウトが適用されるようになりました。&lt;br /&gt;プリント用レイアウトは不要なナビゲーション関連の要素を削除する&lt;br /&gt;などしておくとスッキリします。&lt;br /&gt;&lt;br /&gt;(追記：2010/7/5）&lt;br /&gt;残念ながら、プリントルーティングは完全ではないです。&lt;br /&gt;pagesコントローラのルーティングなど、他にカスタムルーティングを&lt;br /&gt;行っている場合は、プリントルーティングが適用されません。&lt;br /&gt;個別に設定していきましょう。&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="php"&gt;&lt;br /&gt;// 例 routes.php&lt;br /&gt;/**&lt;br /&gt; * ...and connect the rest of 'Pages' controller's urls.&lt;br /&gt; */&lt;br /&gt;Router::connect('/pages/*', array('controller' =&gt; 'pages', 'action' =&gt; 'display'));&lt;br /&gt;// この一行を追加&lt;br /&gt;Router::connect('/print/pages/*', array('controller' =&gt; 'pages', 'action' =&gt; 'display', 'print'=&gt;1));&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-4466853575894414341?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/-l0yN5GB14w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/4466853575894414341/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2010/07/cakephp12.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/4466853575894414341?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/4466853575894414341?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/-l0yN5GB14w/cakephp12.html" title="[CakePHP1.2]印刷用ページのルーティング" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2010/07/cakephp12.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAHQXoyfCp7ImA9WxFSGEk.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-4190080457162300609</id><published>2010-04-21T20:15:00.004+09:00</published><updated>2010-04-21T20:18:50.494+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-21T20:18:50.494+09:00</app:edited><title>[XAMPP]XAMPPを壊してしまったので再インストール手順</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EYkxiQou2vsm6p5B3Dn4mTRCciI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EYkxiQou2vsm6p5B3Dn4mTRCciI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EYkxiQou2vsm6p5B3Dn4mTRCciI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EYkxiQou2vsm6p5B3Dn4mTRCciI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;先日、ちょっとしたミスでXAMPPをぶっ壊してしまい、起動しなくなりました。&lt;br /&gt;&lt;strike&gt;&lt;span style="font-size: x-small;"&gt;1.6.xを使ってたんですが、久しぶりに公式サイトを覗いたら1.7.3まで出てるじゃーん。アップグレードしよう。なんて、思ってアップグレードパッケージを使った後に、1.7.2-1.7.3専用だと気付くも時遅し。見事に起動しなくなりましたとさ。&lt;/span&gt;&lt;/strike&gt;&lt;br /&gt;&lt;br /&gt;そんなわけで、再インストールをしたので手順まとめ。&lt;br /&gt;(環境はWindowsXP)&lt;br /&gt;xamppインストールディレクトリは&lt;code&gt;c:\xampp&lt;/code&gt;とします。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1.データのバックアップ&lt;/b&gt;&lt;br /&gt;&lt;code&gt;c:\xampp\htdocs&lt;/code&gt;の内、xamppフォルダ以外&lt;br /&gt;&lt;code&gt;c:\xampp\mysql\data&lt;/code&gt;の内、自分で作ったデータベースと同じ名前のフォルダ&lt;br /&gt;この2つを違う場所にコピーして、&lt;code&gt;c:\xampp&lt;/code&gt;をすべて削除。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1.1.PCを再起動&lt;/b&gt;&lt;br /&gt;必要かわからないけど、一応。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2.XAMPPをインストール&lt;/b&gt;&lt;br /&gt;インストールしたいパッケージをインストール。&lt;br /&gt;XAMPP1.7からはPHP5しか入ってないので、PHP4が必要なら1.6.xをインストール。（1.7を入れてから気付きました。）&lt;br /&gt;ちなみに、1.6.8の日本語版は、&lt;a href="http://www.apachefriends.org/jp/xampp-windows.html"&gt;本家&lt;/a&gt;からのリンクが無いので下記URLからダウンロード。&lt;br /&gt;&lt;a href="http://sourceforge.jp/projects/sfnet_xampp/downloads/XAMPP%20Windows/1.6.8/xampp-win32-1.6.8-installer.exe/"&gt;http://sourceforge.jp/projects/sfnet_xampp/downloads/XAMPP%20Windows/1.6.8/xampp-win32-1.6.8-installer.exe/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3.セキュリティ対策&lt;/b&gt;&lt;br /&gt;MySQLにパスワードを設定してもいいんだけど、ローカルマシン以外からアクセスできないようにすればOK。&lt;br /&gt;（参考）&lt;br /&gt;&lt;a href="http://www.be-webdesigner.com/technotes/server/install/xampp.htm"&gt;http://www.be-webdesigner.com/technotes/server/install/xampp.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.be-webdesigner.com/technotes/server/httpd_conf/security.htm"&gt;http://www.be-webdesigner.com/technotes/server/httpd_conf/security.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;c:\xampp\apache\conf\httpd.conf&lt;/code&gt; v1.3.8ならL53あたり&lt;br /&gt;&lt;pre class="" name="code"&gt;[変更前]&lt;br /&gt;Listen 80&lt;br /&gt;[変更後]&lt;br /&gt;#Listen 80&lt;br /&gt;Listen  127.0.0.1:80&lt;/pre&gt;&lt;br /&gt;これで、XAMPPを起動してみればちゃんと、&lt;a href="http://localhost/"&gt;http://localhost/&lt;/a&gt;にアクセスできるはずです。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4.バックアップデータの復元&lt;/b&gt;&lt;br /&gt;1.でバックアップしたデータを元の場所に戻す。&lt;br /&gt;phpmyadminなどで確認するとちゃんとデータベースも元に戻ってます。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5.お好みでセットアップ&lt;/b&gt;&lt;br /&gt;mod_rewriteを有効にする（v1.6.8の場合、初期では無効）&lt;br /&gt;C:\xampp\apache\conf\httpd.conf&lt;br /&gt;&lt;pre class="" name="code"&gt;[変更前]&lt;br /&gt;#LoadModule rewrite_module modules/mod_rewrite.so&lt;br /&gt;&lt;br /&gt;[変更後]&lt;br /&gt;LoadModule rewrite_module modules/mod_rewrite.so&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;mbstringだとか、gdだとか、cURLだとか、関数を使えるようにするには、&lt;code&gt;&lt;br /&gt;C:\xampp\apache\bin\php.ini&lt;/code&gt;の中で該当する部分のコメントを外します。&lt;br /&gt;&lt;br /&gt;なんとか、復活できてほっとしています。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-4190080457162300609?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/1bRjdDcpVY0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/4190080457162300609/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2010/04/xamppxampp.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/4190080457162300609?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/4190080457162300609?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/1bRjdDcpVY0/xamppxampp.html" title="[XAMPP]XAMPPを壊してしまったので再インストール手順" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2010/04/xamppxampp.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEAQHc_fCp7ImA9WxBVFUo.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-8364243662190077015</id><published>2010-02-19T18:22:00.003+09:00</published><updated>2010-02-19T18:44:01.944+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-19T18:44:01.944+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="CakePHP" /><category scheme="http://www.blogger.com/atom/ns#" term="eclipse" /><title>[CakePHP][eclipse]登録用ビューの$formを$dataに置換して表示用ビューを作る正規表現</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CFdPxnV4J2MITmx6RTq7p0KQ6Is/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CFdPxnV4J2MITmx6RTq7p0KQ6Is/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CFdPxnV4J2MITmx6RTq7p0KQ6Is/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CFdPxnV4J2MITmx6RTq7p0KQ6Is/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;データ入力用のフォームを作って、それを基にデータ表示用のビューを作るなら、&lt;code&gt;$form-&gt;text('Model.field')&lt;/code&gt;を&lt;code&gt;$data['Model']['field']&lt;/code&gt;にすれば良いだけの話だが、何十か所もあると流石に面倒くさい。&lt;br /&gt;私は開発ソフトがeclipseなので、正規表現で一発変換をしています。&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="php"&gt;&lt;br /&gt;// example.ctp&lt;br /&gt;&lt;br /&gt;&amp;lt;?=$form-&gt;text('User.name', array('class'=&gt;'abcd')) ?&amp;gt;&lt;br /&gt;&lt;br /&gt;// 次のように変換したい...&lt;br /&gt;&lt;br /&gt;&amp;lt;?=$data['User']['name'] ?&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;eclipseの検索/置換で正規表現を選択し&lt;br /&gt;&lt;dl&gt;&lt;dt&gt;検索&lt;/dt&gt;&lt;dd&gt;form-&amp;gt;[a-z]+\('([\w]+)\.([\w]+)'.*\)&lt;/dd&gt;&lt;dt&gt;置換&lt;/dt&gt;&lt;dd&gt;data['$1']['$2']&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;とやってみてください。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9brmIXV_AMM/S35cQ2a5GRI/AAAAAAAAAEM/JNf8YBwXIwo/s1600-h/eclipse_cake_form_helper_reg.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 270px; height: 320px;" src="http://1.bp.blogspot.com/_9brmIXV_AMM/S35cQ2a5GRI/AAAAAAAAAEM/JNf8YBwXIwo/s320/eclipse_cake_form_helper_reg.gif" border="0" alt="正規表現" id="BLOGGER_PHOTO_ID_5439886844466108690" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;パーフェクトに置換はできませんが、作業がだいぶん楽になります。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-8364243662190077015?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/tSZn34M0pMw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/8364243662190077015/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2010/02/cakephpeclipseformdata.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/8364243662190077015?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/8364243662190077015?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/tSZn34M0pMw/cakephpeclipseformdata.html" title="[CakePHP][eclipse]登録用ビューの$formを$dataに置換して表示用ビューを作る正規表現" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_9brmIXV_AMM/S35cQ2a5GRI/AAAAAAAAAEM/JNf8YBwXIwo/s72-c/eclipse_cake_form_helper_reg.gif" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2010/02/cakephpeclipseformdata.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUEQHc9cCp7ImA9WxBXF0k.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-3100513781587345260</id><published>2010-01-29T15:12:00.002+09:00</published><updated>2010-01-29T15:23:21.968+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-29T15:23:21.968+09:00</app:edited><title>[CakePHP]ヘルパーを改造する！ただし、コアは書き換えない</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/njUZ-BHs8gX1Hnp8Ix4dALJRUfs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/njUZ-BHs8gX1Hnp8Ix4dALJRUfs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/njUZ-BHs8gX1Hnp8Ix4dALJRUfs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/njUZ-BHs8gX1Hnp8Ix4dALJRUfs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;CakePHP1.2のお話（最近、この一言を書き忘れていた）&lt;br /&gt;&lt;br /&gt;携帯サイトを作っていると既存のHtmlHelperでは不十分だと思い、&lt;br /&gt;思い切って、HtmlHelperを書き変えてやろうという事に。&lt;br /&gt;&lt;br /&gt;ただし、コア（&lt;code&gt;LIBS/views/helpers/html.php&lt;/code&gt;）は書き換えない方針で！&lt;br /&gt;&lt;br /&gt;試しに、コアのHtmlHelperをAPP内にコピーしてみる。&lt;br /&gt;&lt;pre name="code" class="php"&gt;&lt;br /&gt;// app/views/helpers/html.php&lt;br /&gt;&lt;br /&gt;// メソッド内のどこかで&lt;br /&gt;echo 'new helper';&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre name="code" class="php"&gt;&lt;br /&gt;// app/controllers/example_controller.php&lt;br /&gt;&lt;br /&gt;// 普通に定義してやる&lt;br /&gt;var $helpers=array('Html');&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;ページにアクセスしてみると、&lt;code&gt;new helper&lt;/code&gt;が表示されました。&lt;br /&gt;&lt;br /&gt;結論：&lt;br /&gt;ヘルパーを改造する際は&lt;br /&gt;LIBS/views/helpers/someone.php&lt;br /&gt;を&lt;br /&gt;APP/views/helpers/someone.php&lt;br /&gt;にコピーするだけ。&lt;br /&gt;&lt;br /&gt;ってことは、コンポーネントも同じ事が出来るのか？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-3100513781587345260?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/B1VJMdGKrsM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/3100513781587345260/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2010/01/cakephp_29.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/3100513781587345260?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/3100513781587345260?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/B1VJMdGKrsM/cakephp_29.html" title="[CakePHP]ヘルパーを改造する！ただし、コアは書き換えない" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2010/01/cakephp_29.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkICQn86fCp7ImA9WxBXFEU.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-366041309783990895</id><published>2010-01-26T14:22:00.005+09:00</published><updated>2010-01-26T14:42:43.114+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-26T14:42:43.114+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="eclipse" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>EclipseにJStyleプラグインをインストールする</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/cYcf3dyGpzERB_RGoMoe37_dzLw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cYcf3dyGpzERB_RGoMoe37_dzLw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/cYcf3dyGpzERB_RGoMoe37_dzLw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cYcf3dyGpzERB_RGoMoe37_dzLw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;JStyleプラグインって何？&lt;br /&gt;&lt;a href="http://mergedoc.sourceforge.jp/index.html#/jstyle.html"&gt;http://mergedoc.sourceforge.jp/index.html#/jstyle.html&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;Eclipse のエディタで全角空白、半角空白、タブ、改行（LF、CRLF、CR）を表示可能にするプラグインです。&lt;br /&gt;他に太字を通常文字と同じ幅で表示するオプションがあります。&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;コードインデントがタブなのか、半角スペースなのか、ぱっと見で分からなくて不便だったのでインストールしました。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mergedoc.sourceforge.jp/index.html#/jstyle.html"&gt;JStyle&lt;/a&gt;からダウンロードしたファイルを、&lt;code&gt;/eclipseインストールフォルダ/plugins/&lt;/code&gt;にコピーして、-cleanオプションを付けてeclipseを起動すれば、インストール完了。&lt;br /&gt;Windowsならコマンドプロンプトから起動すればOK!&lt;br /&gt;&lt;pre name="code" class="c"&gt;&lt;br /&gt;C:\(eclipseインストールフォルダ)&amp;gt;eclipse.exe -clean&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;JStyleの設定は、[ウィンドウ]-&amp;gt;[設定]-&amp;gt;[一般]-&amp;gt;[JStyle]から変更できます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-366041309783990895?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/I4Oc2N7jlPw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/366041309783990895/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2010/01/eclipsejstyle.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/366041309783990895?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/366041309783990895?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/I4Oc2N7jlPw/eclipsejstyle.html" title="EclipseにJStyleプラグインをインストールする" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2010/01/eclipsejstyle.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0AESHo_eCp7ImA9WxBXEU4.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-735956357968974709</id><published>2010-01-22T13:27:00.003+09:00</published><updated>2010-01-22T13:48:29.440+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-22T13:48:29.440+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="CakePHP" /><title>[CakePHP]モバイルヘルパーを改善する</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_qK_lk1sk89nI_n7x9RZE8xxwys/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_qK_lk1sk89nI_n7x9RZE8xxwys/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_qK_lk1sk89nI_n7x9RZE8xxwys/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_qK_lk1sk89nI_n7x9RZE8xxwys/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;CakePHPで携帯サイトを制作するには、文字コードの変換、カタカナの変換が必要です。&lt;br /&gt;それを実行するためのヘルパーは既に&lt;br /&gt;&lt;q&gt;&lt;a href="http://www.syuhari.jp/blog/archives/168"&gt;コントローラの afterFilter で文字コードを変換する方法&lt;/a&gt;&lt;/q&gt;で紹介されています。&lt;br /&gt;&lt;br /&gt;もう一つ改良して、ビューの行頭のインデントを削除したいと思います。&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="php"&gt;&lt;br /&gt;class MobileHelper extends Helper {&lt;br /&gt;    function afterRender() {&lt;br /&gt;        $out = ob_get_clean();&lt;br /&gt;        // 次の一行を追加&lt;br /&gt;        $out = preg_replace('/\n[\s]+/', "\n", $out);&lt;br /&gt;        $out = mb_convert_kana($out, "rak", "UTF-8");&lt;br /&gt;        $out = mb_convert_encoding($out, "SJIS", "UTF-8");&lt;br /&gt;        ob_start();&lt;br /&gt;        echo $out;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;code&gt;preg_replace('/\n[\s]+/', "\n", $out)&lt;/code&gt;で、改行した後のインデント（タブ、半角スペース、改行）を改行コードに置換しています。&lt;br /&gt;置き換え後の文字は必ず、”（ダブルクオート）で囲ってください。&lt;br /&gt;’（シングルクオート）だとちゃんと改行コードになってくれません。&lt;br /&gt;&lt;br /&gt;これで、十数バイトの容量節約になると思います。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-735956357968974709?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/J9Zr6ii4GIg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/735956357968974709/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2010/01/cakephp_22.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/735956357968974709?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/735956357968974709?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/J9Zr6ii4GIg/cakephp_22.html" title="[CakePHP]モバイルヘルパーを改善する" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2010/01/cakephp_22.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkAHQ3o_eCp7ImA9WxBXFE4.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-6952261970996182576</id><published>2010-01-18T22:18:00.008+09:00</published><updated>2010-01-26T00:52:12.440+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-26T00:52:12.440+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="CakePHP" /><title>[CakePHP]Javascriptヘルパーを拡張したい</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Ldu6koaCnzuQM-c21kHqvpJ-Cx8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ldu6koaCnzuQM-c21kHqvpJ-Cx8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Ldu6koaCnzuQM-c21kHqvpJ-Cx8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ldu6koaCnzuQM-c21kHqvpJ-Cx8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;CakePHP1.2で外部Javascriptファイルを読み込むのに、Javascriptヘルパーを使って出力しますが、元のヘルパーだと、charset属性を指定できません。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;View:&lt;br /&gt;&lt;pre name="code" class="php"&gt;$javascript-&gt;link('http://maps.google.com/maps?file=api&amp;amp;v=2&amp;amp;hl=ja&amp;amp;sensor=false&amp;amp;key=XXXX', false);&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Html:&lt;br /&gt;&lt;pre name="code" class="html"&gt;&amp;lt;script type="text/javascript" src="http://maps.google.com/maps?file=api&amp;amp;v=2&amp;amp;hl=ja&amp;amp;sensor=false&amp;amp;key=XXXX"&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;という事で、さっさとヘルパーを拡張することにしました。&lt;br /&gt;&lt;cite&gt;&lt;a href="http://www.exgear.jp/blog/2009/06/cakephp-form%E3%83%98%E3%83%AB%E3%83%91%E3%81%AE%E6%8B%A1%E5%BC%B5-%E3%81%9D%E3%81%AE%EF%BC%91-%E6%97%A5%E6%9C%AC%E8%AA%9E%E6%97%A5%E4%BB%98%E9%81%B8%E6%8A%9E%E3%83%97%E3%83%AB%E3%83%80%E3%82%A6/"&gt;CakePHP Formヘルパの拡張 その１日本語日付選択プルダウン&lt;/a&gt;&lt;/cite&gt;を参考にすると、継承元のクラス名は必ずしもAppHelperでなくて良いようだ。&lt;br /&gt;&lt;br /&gt;これなら必要な機能だけ拡張、または上書きすれば良さそう。&lt;br /&gt;という事で、早速Javascriptヘルパーのlinkメソッドをコピーして、ちょちょっと書きなおしたコードがコレ。&lt;br /&gt;&lt;pre name="code" class="php"&gt;// APP/views/helpers/ex_javascript.php&lt;br /&gt;&lt;br /&gt;class ExJavascriptHelper extends JavascriptHelper&lt;br /&gt;{&lt;br /&gt;    function link($url, $inline = true, $attr = array())&lt;br /&gt;    {&lt;br /&gt;        // (省略)&lt;br /&gt;&lt;br /&gt;        $htmlattributes = '';&lt;br /&gt;        foreach ($attr as $k =&gt; $v) {&lt;br /&gt;            $htmlattributes .= ' '.$k.'="'.$v.'"';&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        //$out = $this-&gt;output(sprintf($this-&gt;tags['javascriptlink'], $url));&lt;br /&gt;        $out = $this-&gt;output(sprintf('&amp;lt;script type="text/javascript" src="%s"%s&gt;&amp;lt;/script&gt;', $url, $htmlattributes));&lt;br /&gt;&lt;br /&gt;        // (省略)&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;第3引数にHTML属性を指定できるようにしました。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;これでよし！と思ったら一つ問題が・・・&lt;br /&gt;コントローラで、元のJavascriptヘルパーも併せてセットしないと動かないことが発覚。&lt;br /&gt;&lt;pre name="code" class="php"&gt;var $helpers = array('Javascript','ExJavascript');&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;継承してるのに2つともインスタンス化しちゃうのはなんだかなぁ&lt;br /&gt;ということで、先ほどのコードをちょっと書き換えます。&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="php"&gt;// APP/views/helpers/ex_javascript.php&lt;br /&gt;&lt;br /&gt;// まずは元のJavascriptヘルパーファイルを読み込む&lt;br /&gt;require_once CAKE.'libs'.DS.'view'.DS.'helpers'.DS.'javascript.php';&lt;br /&gt;&lt;br /&gt;class ExJavascriptHelper extends JavascriptHelper&lt;br /&gt;{&lt;br /&gt;    function link($url, $inline = true, $attr = array())&lt;br /&gt;    {&lt;br /&gt;        // (省略)&lt;br /&gt;&lt;br /&gt;        $htmlattributes = '';&lt;br /&gt;        foreach ($attr as $k =&gt; $v) {&lt;br /&gt;            $htmlattributes .= ' '.$k.'="'.$v.'"';&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        #$out = $this-&gt;output(sprintf($this-&gt;tags['javascriptlink'], $url));&lt;br /&gt;        $out = $this-&gt;output(sprintf('&amp;lt;script type="text/javascript" src="%s"%s&gt;&amp;lt/script&gt;', $url, $htmlattributes));&lt;br /&gt;&lt;br /&gt;        // (省略)&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Controller:&lt;br /&gt;&lt;pre name="code" class="php"&gt;var $helpers = array('ExJavascript');&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;View:&lt;br /&gt;&lt;pre name="code" class="php"&gt;$exJavascript-&gt;link('http://maps.google.com/maps?file=api&amp;amp;v=2&amp;amp;hl=ja&amp;amp;sensor=false&amp;amp;key=XXXX', false, array('charset'=&gt;'UTF-8'));&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Html:&lt;br /&gt;&lt;pre name="code" class="html"&gt;&amp;lt;script type="text/javascript" src="http://maps.google.com/maps?file=api&amp;amp;v=2&amp;amp;hl=ja&amp;amp;sensor=false&amp;amp;key=XXXX" charset="UTF-8"&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;期待通りの動きが実現できました。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-6952261970996182576?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/UBsNAh9WzSQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/6952261970996182576/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2010/01/cakephpjavascript.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/6952261970996182576?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/6952261970996182576?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/UBsNAh9WzSQ/cakephpjavascript.html" title="[CakePHP]Javascriptヘルパーを拡張したい" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2010/01/cakephpjavascript.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0IGQXk5eyp7ImA9WxBQFUk.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-4835690189934977204</id><published>2010-01-15T17:33:00.002+09:00</published><updated>2010-01-15T17:52:00.723+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-15T17:52:00.723+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="CakePHP" /><title>[CakePHP]アソシエーションを設定したモデルのデータも削除する</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DddkyCBwOuQBu0hmOQsb-QauNdg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DddkyCBwOuQBu0hmOQsb-QauNdg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/DddkyCBwOuQBu0hmOQsb-QauNdg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DddkyCBwOuQBu0hmOQsb-QauNdg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Model::del()でアソシエーションを設定したモデルのデータの削除の仕方をド忘れしたのでメモ。&lt;br /&gt;&lt;br /&gt;用意するモデル:&lt;br /&gt;*Company model  企業データ&lt;br /&gt;*User model  社員データ&lt;br /&gt;*Post model  投稿データ&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="php"&gt;// company.php&lt;br /&gt;&lt;br /&gt;class Company extends AppModel&lt;br /&gt;{&lt;br /&gt;    var hasMany = array(&lt;br /&gt;        'User' =&gt; array( 'dependent' =&gt; true ),&lt;br /&gt;        'Post' =&gt; array( 'dependent' =&gt; true )&lt;br /&gt;    );&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;アソシエーションを設定するときに&lt;span style="font-weight:bold;"&gt;dependent&lt;/span&gt;を&lt;span style="font-weight:bold;"&gt;TRUE&lt;/span&gt;に設定してやれば、Company::del($id)を実行すれば、アソシエーション相手も削除されます。&lt;br /&gt;一時アソシエーションを設定するときも同様なり。&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="php"&gt;// companies_controller.php&lt;br /&gt;&lt;br /&gt;class Companies extends AppController&lt;br /&gt;{&lt;br /&gt;    function del($id) {&lt;br /&gt;        $this-&gt;Company-&gt;bindModel(&lt;br /&gt;            array(&lt;br /&gt;            'hasMany' =&gt; array(&lt;br /&gt;                'User' =&gt; array( 'dependent' =&gt; true ),&lt;br /&gt;                'Post' =&gt; array( 'dependent' =&gt; true )&lt;br /&gt;            )),&lt;br /&gt;            false&lt;br /&gt;        );&lt;br /&gt;&lt;br /&gt;        $this-&gt;Company-&gt;del($id);&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-4835690189934977204?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/okjixZCvAOE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/4835690189934977204/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2010/01/cakephp.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/4835690189934977204?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/4835690189934977204?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/okjixZCvAOE/cakephp.html" title="[CakePHP]アソシエーションを設定したモデルのデータも削除する" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2010/01/cakephp.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcGQns5fCp7ImA9WxBSE0Q.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-6211896798406240187</id><published>2009-12-21T19:53:00.003+09:00</published><updated>2009-12-21T19:57:03.524+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-21T19:57:03.524+09:00</app:edited><title>[GoogleMapAPI]マウスホイールによるズームイン・ズームアウトを有効にする</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/nzrWd0cb5I589Tfu4QatszNLuoE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nzrWd0cb5I589Tfu4QatszNLuoE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/nzrWd0cb5I589Tfu4QatszNLuoE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nzrWd0cb5I589Tfu4QatszNLuoE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;pre name="code" class="js"&gt;myGMap2.enableScrollWheelZoom();&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;この一行でマウスホールによるズームイン＆ズームアウトが有効になります。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-6211896798406240187?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/rmIN9sdwp3k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/6211896798406240187/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2009/12/googlemapapi.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/6211896798406240187?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/6211896798406240187?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/rmIN9sdwp3k/googlemapapi.html" title="[GoogleMapAPI]マウスホイールによるズームイン・ズームアウトを有効にする" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2009/12/googlemapapi.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0AARn07eCp7ImA9Wx5WEUk.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-8209910937176409096</id><published>2009-12-18T15:06:00.007+09:00</published><updated>2010-09-22T19:02:27.300+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-22T19:02:27.300+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="jQuery" /><title>JQuery.animate()のbackgroundColorにハマった</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/32n5Jkevy83OggpQxqPOXpBYYlI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/32n5Jkevy83OggpQxqPOXpBYYlI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/32n5Jkevy83OggpQxqPOXpBYYlI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/32n5Jkevy83OggpQxqPOXpBYYlI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;JQueryで背景色を変えるアニメーションを作ろうとした。&lt;br /&gt;
&lt;pre name="code" class="html"&gt;&lt;script type="text/javascript" src="/jquery.js"&gt;&lt;/script&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;pre name="code" class="css"&gt;$('#element').animate( {backgroundColor: '#F2ABCA'}, 'fast' );&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
動かない。&lt;br /&gt;
FFのエラーコンソールを見ると&lt;br /&gt;
&lt;code&gt;色であるべきところが'NaNpx'になっています。&lt;/code&gt;&lt;br /&gt;
と怒られました。&lt;br /&gt;
&lt;br /&gt;
調べると公式ドキュメントにちゃんと書いていました。&lt;br /&gt;
&lt;a href="http://semooh.jp/jquery/api/effects/animate/params%2C+%5Bduration%5D%2C+%5Beasing%5D%2C+%5Bcallback%5D/"&gt;http://semooh.jp/jquery/api/effects/animate/params%2C+%5Bduration%5D%2C+%5Beasing%5D%2C+%5Bcallback%5D/&lt;/a&gt;&lt;br /&gt;
&lt;q&gt;そもそも数値型の値をとらない属性（backgroundColorなど）には、animate関数は対応していません。&lt;/q&gt;&lt;br /&gt;
&lt;br /&gt;
じゃあどうするかというと、Color Animationプラグインを読み込めばいいみたいです。&lt;br /&gt;
&lt;a href="http://plugins.jquery.com/project/color"&gt;http://plugins.jquery.com/project/color&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code" class="html"&gt;&lt;script type="text/javascript" src="/jquery.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="/jquery.color.js"&gt;&lt;/script&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;pre name="code" class="css"&gt;$('#element').animate( {backgroundColor: '#F2ABCA'}, 'fast' );&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
今度はちゃんと動きました。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-8209910937176409096?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/Ir0nlCrZ_yg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/8209910937176409096/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2009/12/jqueryanimatebackgroundcolor.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/8209910937176409096?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/8209910937176409096?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/Ir0nlCrZ_yg/jqueryanimatebackgroundcolor.html" title="JQuery.animate()のbackgroundColorにハマった" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2009/12/jqueryanimatebackgroundcolor.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YCQXk6eCp7ImA9WxNbGEU.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-8750316688507377272</id><published>2009-11-22T20:12:00.003+09:00</published><updated>2009-11-22T20:26:00.710+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-22T20:26:00.710+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="CakePHP" /><title>[CakePHP]Model::afterSaveでユーザー名を自動登録する</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dDxuPpXMgBEmzSDg0Z9fpIDKTDg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dDxuPpXMgBEmzSDg0Z9fpIDKTDg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dDxuPpXMgBEmzSDg0Z9fpIDKTDg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dDxuPpXMgBEmzSDg0Z9fpIDKTDg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;ユーザー作成の際にusernameを自動で登録したい場合があるかもしれません。&lt;br /&gt;そんな時は、モデルのafterSaveメソッドを使って一発登録することができます。&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="php"&gt;&lt;br /&gt;// APP/models/user.php&lt;br /&gt;function afterSave($created)&lt;br /&gt;{&lt;br /&gt;  // 新規登録時自動的にusernameを作成&lt;br /&gt;  if ($created) {&lt;br /&gt;    $username = $this-&gt;createUsername();&lt;br /&gt;    $this-&gt;saveField('username', $username);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function createUsername()&lt;br /&gt;{&lt;br /&gt;  // ランダムでユーザー名を作成するコード&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;コントローラで$this-&gt;User-&gt;save($data)を実行すれば、自動的にユーザー名を登録することができます。&lt;br /&gt;&lt;br /&gt;Model::afterSaveメソッドの引数$createdは&lt;br /&gt;INSERT時にはtreu、それ以外の場合はfalseが代入されます。&lt;br /&gt;このサンプルの場合、ユーザー情報を編集してもユーザー名は変更されません。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-8750316688507377272?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/VCyhTKlpn1E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/8750316688507377272/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2009/11/cakephpmodelaftersave.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/8750316688507377272?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/8750316688507377272?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/VCyhTKlpn1E/cakephpmodelaftersave.html" title="[CakePHP]Model::afterSaveでユーザー名を自動登録する" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2009/11/cakephpmodelaftersave.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YNQ3gyeSp7ImA9WxNXE0Q.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-5267493225168430709</id><published>2009-09-25T09:32:00.007+09:00</published><updated>2009-10-01T18:59:52.691+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-01T18:59:52.691+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="モノ・グッズ" /><title>amadana電卓の説明書</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/maZzhObOhYq5N-9SmkifDvPncG4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/maZzhObOhYq5N-9SmkifDvPncG4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/maZzhObOhYq5N-9SmkifDvPncG4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/maZzhObOhYq5N-9SmkifDvPncG4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;amadana 電子計算機LC-104（写真はLCA-104-OL-DB）&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9brmIXV_AMM/SrwRDRFzXkI/AAAAAAAAAEE/gh9QfkKkM0Q/s1600-h/image01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 256px; height: 205px;" src="http://3.bp.blogspot.com/_9brmIXV_AMM/SrwRDRFzXkI/AAAAAAAAAEE/gh9QfkKkM0Q/s320/image01.jpg" alt="" id="BLOGGER_PHOTO_ID_5385198002253291074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;愛用しているんだが、説明書を無くしてしまった。&lt;br /&gt;と思ったら、ちゃんとPDFでダウンロードできるように用意されていました。&lt;br /&gt;&lt;a href="http://www.amadana.com/customer/download/lc104.pdf"&gt;http://www.amadana.com/customer/download/lc104.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;使い方を一部メモ。。。&lt;br /&gt;【消費税の計算】&lt;br /&gt;・[5]→[SET UP tax]→[WITH tax]で、5%に設定&lt;br /&gt;・[SET UP tax]→[WITHOUT tax]で、税率の確認&lt;br /&gt;【レート換算】&lt;br /&gt;・91と入力→[RATE]→[LOCAL]で、$1＝91円に設定&lt;br /&gt;・100と入力→[CURRENCY]で、9,100円（$100を円に）&lt;br /&gt;・[RATE]→[CURRENCY]で、レート確認&lt;br /&gt;&lt;br /&gt;レート換算機能って便利だなぁ。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ついでに、レート換算ができるサイト。&lt;br /&gt;&lt;a href="http://fx.monegle.com/"&gt;為替レート変換君&lt;/a&gt;&lt;br /&gt;リアルタイムでレート換算できる。&lt;a href="http://www.google.co.jp/intl/ja/help/features.html#currency"&gt;Google電卓&lt;/a&gt;のレート換算よりは確かそう？&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ついでのついでに、Google電卓が結構高機能な話。&lt;br /&gt;&lt;a href="http://www001.upp.so-net.ne.jp/yama-k/memo/googlecalc.html"&gt;http://www001.upp.so-net.ne.jp/yama-k/memo/googlecalc.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://google-mania.net/archives/1032"&gt;http://google-mania.net/archives/1032&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-5267493225168430709?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/ZN0fy03IfNs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/5267493225168430709/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2009/09/amadana.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/5267493225168430709?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/5267493225168430709?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/ZN0fy03IfNs/amadana.html" title="amadana電卓の説明書" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_9brmIXV_AMM/SrwRDRFzXkI/AAAAAAAAAEE/gh9QfkKkM0Q/s72-c/image01.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2009/09/amadana.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYAR3s9eip7ImA9WxNRFkg.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-3601754653903870068</id><published>2009-09-11T12:02:00.013+09:00</published><updated>2009-09-11T15:55:46.562+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-11T15:55:46.562+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="CakePHP" /><title>CakePHPで単一フィールドをアップデートする方法</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/i7JCmbJlPnXBDQb0U91AQ26JlV0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/i7JCmbJlPnXBDQb0U91AQ26JlV0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/i7JCmbJlPnXBDQb0U91AQ26JlV0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/i7JCmbJlPnXBDQb0U91AQ26JlV0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;元記事：&lt;br /&gt;&lt;a href="http://knowledgebox.blogspot.com/2009/02/how-to-update-single-field-in-cakephp.html"&gt;How to update a single field in CakePHP Danny&amp;#39;s Learning Box&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;単一のフィールドの値を保存するには、&lt;b&gt;&lt;a href="http://book.cakephp.org/ja/view/75/Saving-Your-Data"&gt;saveField&lt;/a&gt;&lt;/b&gt;メソッドがあります。&lt;br /&gt;&lt;pre name="code" class="php"&gt;&lt;br /&gt;$this-&gt;Post-&gt;id = 15;&lt;br /&gt;$this-&gt;Post-&gt;saveField('hits', 1);&lt;/pre&gt;&lt;br /&gt;実行してみれば分かりますが、`modified`フィールドも更新されてしまいます。&lt;br /&gt;記事のヒット数を増やすだけなら、modifiedが更新されると困る。&lt;br /&gt;&lt;br /&gt;そこで、元記事のコード。（オリジナルとは違うよ）&lt;br /&gt;&lt;pre name="code" class="php"&gt;&lt;br /&gt;$data = array(&lt;br /&gt;    'Post' =&gt; array(&lt;br /&gt;        'id' =&gt; 15,&lt;br /&gt;        'hits' =&gt; 1,&lt;br /&gt;        'modified' =&gt; false&lt;br /&gt;    )&lt;br /&gt;);&lt;br /&gt;$this-&gt;Post-&gt;save($data, false, array('hits'));&lt;/pre&gt;&lt;br /&gt;第2引数でバリデーションをオフ。&lt;br /&gt;第3引数でセーブしたいフィールドを配列で指定。&lt;br /&gt;実行してみるとmodifiedは更新されず。&lt;br /&gt;&lt;pre name="code" class="sql"&gt;UPDATE `posts` SET `hit` = 1 WHERE `posts`.`id` = 15&lt;/pre&gt;&lt;br /&gt;ミソはmodifiedに&lt;span style="font-weight:bold;"&gt;null以外&lt;/span&gt;の値を渡すことです。&lt;br /&gt;だから、&lt;span style="font-weight:bold;"&gt;true&lt;/span&gt;でも良いし、&lt;span style="font-weight:bold;"&gt;2009-09-11&lt;/span&gt;でも良い。&lt;br /&gt;何となく、更新したくないんだからfalseが良いかな、ってことで例ではfalseを代入しました。&lt;br /&gt;&lt;br /&gt;It is important that `modified` does not have value of &lt;b&gt;null&lt;/b&gt;,&lt;br /&gt;if you don't hope to update `modified` field.&lt;br /&gt;(元記事が英語だから英語で書いてみたけど、あってんのかな？)&lt;br /&gt;&lt;br /&gt;CakePHP User in Japan&lt;br /&gt;&lt;a href="http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=1248&amp;forum=6&amp;post_id=2570"&gt;modifiedフィールドを更新したくない場合・・・&lt;/a&gt;&lt;br /&gt;この投稿の問題も解決ですな。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-3601754653903870068?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/kOcCvGKRp1c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/3601754653903870068/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2009/09/cakephp.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/3601754653903870068?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/3601754653903870068?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/kOcCvGKRp1c/cakephp.html" title="CakePHPで単一フィールドをアップデートする方法" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2009/09/cakephp.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8ERXY_eSp7ImA9WxNRFk4.&quot;"><id>tag:blogger.com,1999:blog-8809873474983112151.post-1241911568682927568</id><published>2009-09-11T11:20:00.009+09:00</published><updated>2009-09-11T11:56:44.841+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-11T11:56:44.841+09:00</app:edited><title>BloggerでSyntaxHighlighterを使用する</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CDFDOgTk0pC3WWkstnAw7DTPanU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CDFDOgTk0pC3WWkstnAw7DTPanU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CDFDOgTk0pC3WWkstnAw7DTPanU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CDFDOgTk0pC3WWkstnAw7DTPanU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://fazibear.blogspot.com/2007/09/blogger-syntax-higlighter.html"&gt;http://fazibear.blogspot.com/2007/09/blogger-syntax-higlighter.html&lt;/a&gt;&lt;br /&gt;上記記事を基にBloggerにSyntaxHighlighterを設定します。&lt;br /&gt;&lt;br /&gt;1.&lt;a href="http://fazibear.googlepages.com/blogger.html"&gt;http://fazibear.googlepages.com/blogger.html&lt;/a&gt; にアクセス&lt;br /&gt;2.Add to Bloggerをクリック&lt;br /&gt;&lt;br /&gt;おわり。&lt;br /&gt;&lt;br /&gt;テスト&lt;br /&gt;&lt;pre name="code" class="php"&gt;Class Example extends Object&lt;br /&gt;{&lt;br /&gt;  function Example() {&lt;br /&gt;    echo "Hello";&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;できたー！&lt;br /&gt;感動するぐらい簡単でした。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8809873474983112151-1241911568682927568?l=tomotomosnippet.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TomotomoSnippet/~4/1aHT2G2gGd4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tomotomosnippet.blogspot.com/feeds/1241911568682927568/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://tomotomosnippet.blogspot.com/2009/09/class-example-extends-object-function.html#comment-form" title="1 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/1241911568682927568?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8809873474983112151/posts/default/1241911568682927568?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TomotomoSnippet/~3/1aHT2G2gGd4/class-example-extends-object-function.html" title="BloggerでSyntaxHighlighterを使用する" /><author><name>tomotomo</name><uri>http://www.blogger.com/profile/15296693688453230999</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://2.bp.blogspot.com/-d1lBrMVg4jU/TedP8Oe8WtI/AAAAAAAAAGo/FBtoLHQ0Z-4/s220/%25E3%2582%25A4%25E3%2583%25A9%25E3%2582%25B9%25E3%2583%2588%25E6%259C%2580%25E9%2581%25A9%25E5%258C%2596.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://tomotomosnippet.blogspot.com/2009/09/class-example-extends-object-function.html</feedburner:origLink></entry></feed>

