<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="http://program.alphabrend.com/modules/pukiwiki/skin/rss.xml" ?>
<rdf:RDF 
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xml:lang="ja">

 <channel rdf:about="http://program.alphabrend.com/modules/pukiwiki/">
  <title>アルファブレンド　プログラミングチップス</title>
  <link>http://program.alphabrend.com/modules/pukiwiki/</link>
  <description>TIPS</description>
  <dc:date>2008-11-21T06:57:41+09:00</dc:date>
  <items>
   <rdf:Seq>
    <rdf:li rdf:resource="http://program.alphabrend.com/modules/pukiwiki/24.html" />
    <rdf:li rdf:resource="http://program.alphabrend.com/modules/pukiwiki/1.html" />
    <rdf:li rdf:resource="http://program.alphabrend.com/modules/pukiwiki/36.html" />
    <rdf:li rdf:resource="http://program.alphabrend.com/modules/pukiwiki/56.html" />
    <rdf:li rdf:resource="http://program.alphabrend.com/modules/pukiwiki/44.html" />
    <rdf:li rdf:resource="http://program.alphabrend.com/modules/pukiwiki/29.html" />
    <rdf:li rdf:resource="http://program.alphabrend.com/modules/pukiwiki/59.html" />
    <rdf:li rdf:resource="http://program.alphabrend.com/modules/pukiwiki/38.html" />
    <rdf:li rdf:resource="http://program.alphabrend.com/modules/pukiwiki/41.html" />
    <rdf:li rdf:resource="http://program.alphabrend.com/modules/pukiwiki/58.html" />
    <rdf:li rdf:resource="http://program.alphabrend.com/modules/pukiwiki/57.html" />
    <rdf:li rdf:resource="http://program.alphabrend.com/modules/pukiwiki/51.html" />
    <rdf:li rdf:resource="http://program.alphabrend.com/modules/pukiwiki/55.html" />
    <rdf:li rdf:resource="http://program.alphabrend.com/modules/pukiwiki/54.html" />
    <rdf:li rdf:resource="http://program.alphabrend.com/modules/pukiwiki/53.html" />

   </rdf:Seq>
  </items>
 </channel>

<item rdf:about="http://program.alphabrend.com/modules/pukiwiki/24.html">
 <title>ヘルプ</title>
 <link>http://program.alphabrend.com/modules/pukiwiki/24.html</link>
 <dc:date>2008-11-21T06:04:31+09:00</dc:date>
 <description>[付箋:2124]comment1, http://samprestons.wiki.zoho.com/Buy&amp;#173;-Phentermine-Online.html buy phentermine,  0830,&amp;#182;[付箋:2123]comment1, http://samprestons.wiki.zoho.com/Buy&amp;#173;-Rimonabant-Online.html buy rimonabant online,  90358, http://johnfidders....</description>
<content:encoded>
<![CDATA[
ヘルプ ↑<br />
ヘルプ<br />
PukiWiki?<br />
新しいページを作成する<br />
リンクについてる(3m)とかは?<br />
掲示板と違う?<br />
誰かが書き込みを消してしまう?<br />
ブラウザやプロクシのキャッシュで人の変更を消してしまう?<br />
本当に誰でも編集できるの？<br />
テキスト整形のルール<br />
文字列の装飾<br />
センタリング、左寄せ、右寄せ<br />
添付ファイル・画像の貼り付け<br />
見出し<br />
表組み<br />
フォーム<br />
整形済み行<br />
リスト構造<br />
引用文<br />
区切り線<br />
コメント<br />
改行・改段落<br />
リンク<br />
非表示行<br />
日時の置換文字<br />
その他<br />
ページ間の関連付けについて<br />
仮想ディレクトリ<br />
カテゴリ<br />
PukiWiki? ↑<br />
すべてのページが誰でも編集できます。変更したいページでページ上部の「編集」をクリックするとそのページが編集できます。編集内容は、整形ルールに従って整形されます。<br />
練習用ページは基本的にどのように手を加えても問題ないので、結果を恐れず編集してみてください。<br />
新しいページを作成する ↑<br />
すでにあるページ(例えば練習用ページなど)で、ページのどこかにWikiName(大文字と小文字混合)かBracketName([[]]で囲う)を入力すると入力した部分の後ろに ? というリンクがつきます。そこをクリックすると新しいページの編集画面が用意されるので、あとは普通のページ変更と同様に書き込むことができます。<br />
リンクについてる(3m)とかは? ↑<br />
3mは3分前くらい、5hは5時間前くらい、8dは8日前くらいに更新された、という意味です。<br />
掲示板と違う? ↑<br />
ページに手を加えても誰がその変更をしたかわからなくなります。不安な場合は、手を加えた部分に自分の名前を書いておきましょう。 -- HogeHoge ←こんなかんじで。<br />
誰かが書き込みを消してしまう? ↑<br />
WikiCloneとはそういうものです。誰でもどこでも汚したり、消したり、荒らしたりできます。が、PukiWikiには定期的にバックアップを取る機能があるので無駄といえば無駄かもしれません。不完全ではありますが、復旧もできると思います。<br />
ブラウザやプロクシのキャッシュで人の変更を消してしまう? ↑<br />
ページを編集する以上、編集時の状態から手を加える形になります。しかし、もし編集中に誰かが更新していてしまっていたらどうします? 安心してください。PukiWikiには、更新時のページの更新日時と元データの更新日時を比較して一緒かどうかチェックします。<br />
異なる場合には「更新の衝突」が起きるので、その場合は更新されていたページをリロードして編集しなおしてください<br />
本当に誰でも編集できるの？ ↑<br />
「すべてのページが誰でも編集できる」というルールには例外が存在します。		凍結機能によって凍結されたページは設置者以外が編集する事はできません。<br />
テキスト整形のルール ↑<br />
通常は入力した文字がそのまま出力されますが、以下のルールに従ってテキスト整形を行うことができます。<br />
空行は段落と段落の区切りを示します。段落と段落の間以外には空行を入れてはいけません。<br />
HTMLのタグは書けません。<br />
文字列の装飾  ↑<br />
''強調''<br />
のようにシングルクォート2つではさむと、強調になります。<br />
'''イタリック'''<br />
のようにシングルクォート3つではさむと、イタリックになります。		日本語フォントでは読みづらくなるので、あまり使わないほうが無難です。<br />
%%打ち消し%%<br />
のようにパーセント2つではさむと、打ち消し線がつきます。<br />
((注釈))<br />
のように括弧2つではさむと、注釈*1が作成されます。<br />
COLOR(rrggbb){文字列}<br />
を行中に書くと{ }に囲まれた部分の文字列の文字色が指定できます。(rrggbb へは6桁の16進数値か、色名を指定)<br />
SIZE(n){文字列}<br />
を行中に書くと{ }に囲まれた部分の文字列の大きさを指定できます(n へは文字の大きさをピクセル数値で)。nに20を指定すると、20ピクセルの文字の大きさになります。<br />
センタリング、左寄せ、右寄せ ↑<br />
CENTER:<br />
を行頭に書くと文字列をセンタリングできます。<br />
LEFT:<br />
を行頭に書くと文字列を左寄せにできます。<br />
RIGHT:<br />
を行頭に書くと文字列を右寄せにできます。<br />
添付ファイル・画像の貼り付け ↑<br />
メニューの「添付」から、表示しているページに添付ファイルを付けることができます。また、任意の画像ファイルを貼り付けることもできます。<br />
#attach<br />
を行頭に書くと、ページの任意の場所に添付ファイルのアップロードフォームを設置できます。<br />
#ref(添付ファイル名,left)<br />
を行頭に書くと、添付ファイルへのリンクを左寄せで貼ることができます。添付ファイルが画像ファイルのときは画像を左寄せして貼り付けることができます。引数のleftは省略できます。<br />
#ref(添付ファイル名,center)<br />
を行頭に書くと、添付ファイルへのリンクをセンタリングして貼り付けます。添付ファイルが画像ファイルのときは画像をセンタリングして貼り付けます。<br />
#ref(添付ファイル名,right)<br />
を行頭に書くと、添付ファイルへのリンクを右寄せして貼り付けます。添付ファイルが画像ファイルのときは画像を右寄せして貼り付けます。<br />
添付ファイル名の代わりに画像ファイルのURLを指定すると、その画像ファイルを貼り付けることができます。<br />
引数にwrapを指定すると枠で囲みます。引数にaroundを指定するとテキストの回り込みを行ないます。<br />
なお、テキストの回り込みを中止するときはimg(,clear)を使います。<br />
見出し  ↑<br />
*<br />
を行頭に書くと見出しになります。* ** *** の3レベルまであります。<br />
#contents<br />
を行頭に書くと、見出しの目次が作成されます。一般にページの先頭のほうに記述します。<br />
表組み ↑<br />
|''Category:A''|''Category:B''|''Category:C''|<br />
|Objective|for AI|Other|<br />
|Java|LISP|Assembla|<br />
のように書くと表組みができます。この場合、それぞれのカラムの始まりが行頭として解釈されるので、各種整形ルールを記述する場合は注意が必要です。| と | の間で1列として考える必要があります。<br />
なお、表組みの中で#から始まる書式命令を使うことはできません。<br />
Category:A<br />
Category:B<br />
Category:C<br />
Objective<br />
for AI<br />
Other<br />
Java<br />
LISP<br />
Assembla<br />
表組み内の各要素は、左寄せ表示されます。センタリングしたい場合は、センタリングしたい要素に<br />
CENTER:<br />
を、右寄せにしたい場合は、右に寄せたい要素に<br />
RIGHT:<br />
を付けます。<br />
|たとえばこのように|書き込んでみると|次のようになります|<br />
|左寄せ|CENTER:センタリング|RIGHT:右寄せ|<br />
|RIGHT:ここは右寄せ|ここは左寄せ|CENTER:センタリング|<br />
たとえばこのように<br />
書き込んでみると<br />
次のようになります<br />
左寄せ<br />
センタリング<br />
右寄せ<br />
ここは右寄せ<br />
ここは左寄せ<br />
センタリング<br />
表組みのさらに詳しい書式はテーブルの拡張書式をご覧下さい。<br />
フォーム ↑<br />
#comment<br />
を行頭に書くと、コメントを挿入できるフォームが埋め込まれます。<br />
#pcomment(,,reply)<br />
他のコメントに対するリプライ可能なコメントを挿入できるフォームが埋め込まれます。<br />
#article<br />
を行頭に書くと、簡易掲示板を埋め込むことができます。<br />
#memo<br />
を行頭に書くと、メモフォームが埋め込まれます。<br />
#vote(選択肢1、選択肢2、…)<br />
を行頭に書くと、簡易投票フォームを埋め込むことができます。<br />
整形済み行 ↑<br />
行頭がスペースで始まっていると、その段落は整形済みとして扱われます。一切の他の整形ルールの影響を受けません。プログラムを書き込むときに使うと便利です。<br />
行の自動折り返しはされません。<br />
リスト構造 ↑<br />
-<br />
を行頭に書くと箇条書きになります。- -- --- の3レベルまであります。<br />
+<br />
を行頭に書くと番号付き箇条書きになります。+ ++ +++ の3レベルまであります。<br />
:用語1:いろいろ書いた解説文1<br />
のように行頭に書くと用語と解説文が作れます。<br />
引用文 ↑<br />
&gt;<br />
を行頭に書くと、引用文が書けます。 &gt;の数が多いとインデントが深くなります &gt; &gt;&gt;  &gt;&gt;&gt; の3レベルまであります。行末には改行が入りません。<br />
区切り線 ↑<br />
----<br />
のようにマイナス4つがあると、水平線になります。<br />
 コメント ↑<br />
//<br />
を行頭に書くとコメントを記述できます。コメントはページ表示内容に影響を与えません。編集する人に対して通知する事項がある場合などに使用して下さい。<br />
改行・改段落 ↑<br />
~<br />
行末にチルダがあると改行します。引用文の行末だけで使用してください。<br />
空行は段落の区切りを示します。現在のところ、引用文内の改段落の機能はありません。<br />
リンク  ↑<br />
PukiWiki<br />
のように大文字小文字を混ぜた英文字列を書くと、 PukiWikiのページ名になります。 (WikiName)<br />
[[hogehoge]]<br />
のように二重の大かっこ[[ ]]でくくった文字列を書くと、 PukiWikiのページ名になります。大かっこの中にはスペースを含めてはいけません。日本語も使えます。 (BracketName)<br />
[[hogehoge:FrontPage]]<br />
のように書くとInterWikiNameになります。(InterWikiテクニカル)<br />
[[こちら&gt;hogehoge]]<br />
[[こちら&gt;hogehoge#hogera]]<br />
[[こちら&gt;#piyo]]<br />
のように書くと、「こちら」の文字に対して、PukiWiki内のhogehogeのページへのリンクとなります。同様にhogehogeのページ中のアンカーhogeraへのリンクや、同一ページのアンカーpiyoへのリンクも記述できます。(エイリアス機能)<br />
[[hogehoge:http://www.pukiwiki.org/]]<br />
のように書くと「hogehoge」の文字に対して http://www.pukiwiki.org/ へのリンクを貼ることができます。<br />
http://www.pukiwiki.org/<br />
webmaster@pukiwiki.org<br />
のようなURL・メールアドレスは自動的にリンクになります。<br />
&amp;aname(testanchor);<br />
記述した個所にtestanchorという名前のアンカーを埋め込みます。<br />
#back<br />
#back(一つ前へ戻る,right,0)<br />
JavaScriptを利用してひとつ前に見ていたページへリンクします。<br />
非表示行 ↑<br />
行頭が//で始まる行は表示されません。削除の代わりに一時的に非表示にしておきたい場合などに使用します。<br />
日時の置換文字 ↑<br />
date?<br />
を書くと、更新時の日付に置換されます。<br />
time?<br />
を書くと、更新時の時間に置換されます。<br />
now?<br />
を書くと、更新時の日付と時間に置換されます。<br />
その他 ↑<br />
#related<br />
を書くと、現在のページ名が参照している/参照されている別のページ(関連ページ)へのリンクを表示します。<br />
#norelated<br />
を行頭に書くと、そのページの一番下に表示される関連ページを非表示にします。<br />
#calendar_read(200202)<br />
を行頭に書くと、その日付のページを表示するカレンダーが表示されます。括弧内は年月を表しますが、省略すると現在の年月が使用されます。(日記向け)<br />
#calendar_edit(200202)<br />
を行頭に書くと、その日付のページを編集するカレンダーが表示されます。括弧内は年月を表しますが、省略すると現在の年月が使用されます。(日記向け)<br />
#calendar2(200202)<br />
を行頭に書くと、その日付のページを編集するカレンダーが表示されます。括弧内は年月を表しますが、省略すると現在の年月が使用されます。(日記向け)<br />
ページ間の関連付けについて ↑<br />
仮想ディレクトリ ↑<br />
ページ名中の / は、特別な意味合いを持ちます。BarというページがFooというページの内容に依存する場合、BarでなくFoo/Barというページ名で作成すると、関連するページに対して以下の方法でリンクすることができます。<br />
Foo/Bar というページでの記述例とリンク先<br />
 ./ は Foo/Bar<br />
 ./Hoge は Foo/Bar/Hoge<br />
 ../ は Foo<br />
 ../Hoge は Foo/Hoge<br />
 ../../ は FrontPage<br />
 ../../Hoge は Hoge<br />
#ls2<br />
#ls2(プラグイン/,title)<br />
指定したページの下位階層のページの一覧を表示します。<br />
#random(どこかへのリンク)<br />
ページの下位階層のページのどれか一つへ、&quot;どこかへのリンク&quot;という文字でリンクします。<br />
カテゴリ ↑<br />
&quot;:&quot;で始まるページは一覧に表示されません。これを利用して関連するページを一つにまとめる使い方ができます。（カテゴリの例）
]]>
</content:encoded>
<dc:creator>ゲスト</dc:creator>
</item>

<item rdf:about="http://program.alphabrend.com/modules/pukiwiki/1.html">
 <title>TIPS</title>
 <link>http://program.alphabrend.com/modules/pukiwiki/1.html</link>
 <dc:date>2008-11-20T19:26:40+09:00</dc:date>
 <description>[付箋:164]comment5,&amp;#182;[付箋:163]comment5,&amp;#182;[付箋:162]comment2, a href= http://geo.ya.com/jody1ring/text-230&amp;#173;.htm bed and breakfast profit margin/a,  vtuwvh, a href= http://geo.ya.com/benglertsite/text-&amp;#173;297.htm biometrics in hotels/a,  zcnu...</description>
<content:encoded>
<![CDATA[
CakePHP<br />
CentOS<br />
Flex<br />
PHP<br />
VisualC++
]]>
</content:encoded>
<dc:creator>ゲスト</dc:creator>
</item>

<item rdf:about="http://program.alphabrend.com/modules/pukiwiki/36.html">
 <title>TIPS/VisualC++/縦書きエディットコントロール</title>
 <link>http://program.alphabrend.com/modules/pukiwiki/36.html</link>
 <dc:date>2008-10-14T16:55:50+09:00</dc:date>
 <description>[付箋:4]さっき、偽物VisualStadioのページにジャンプしてみたが・・・&amp;#182;[付箋:3]さっき、偽物VisualStadioのページにジャンプしてみたが・・・&amp;#182;[付箋:2]本日は&amp;#182;[付箋:1]ｄｄｄ&amp;#182;http://program.alphabrend.com/module&amp;#173;s/mydownloads/visit.php?cid=1lid=1...</description>
<content:encoded>
<![CDATA[
縦書きエディットコントロール<br />
MFCで縦書きエディットコントロールを作成しました。<br />
そもそもエディットコントロールは<br />
CWndを派生してその上に描画を行っているので<br />
同様のことをすればいろいろ作れます。<br />
以下でダウンロードできます。<br />
VC7で動作確認済。<br />
DLLをプログラムと同じ位置に置き、<br />
プロジェクトののプロパティのリンク入力で<br />
付属のlibを入力。<br />
ダイアログ上にカスタムコントロールを配置し、<br />
プロパティでClassをTategakiEditCtrlにしてください。<br />
あとはCTateEditというクラスで<br />
コントロール変数を作成し、<br />
ヘッダファイルをインクルードしてください。<br />
http://program.alphabrend.com/module&#173;s/mydownloads/visit.php?cid=1&amp;lid=1
]]>
</content:encoded>
<dc:creator>dala, ゲスト</dc:creator>
</item>

<item rdf:about="http://program.alphabrend.com/modules/pukiwiki/56.html">
 <title>TIPS/Flex</title>
 <link>http://program.alphabrend.com/modules/pukiwiki/56.html</link>
 <dc:date>2008-06-09T16:26:43+09:00</dc:date>
 <description>[付箋:1]aaaa...Flexに関する情報です。サウンドをループ画像を回転させる</description>
<content:encoded>
<![CDATA[
Flexに関する情報です。<br />
サウンドをループ<br />
画像を回転させる
]]>
</content:encoded>
<dc:creator>dala, ゲスト</dc:creator>
</item>

<item rdf:about="http://program.alphabrend.com/modules/pukiwiki/44.html">
 <title>TIPS/CakePHP/複数形</title>
 <link>http://program.alphabrend.com/modules/pukiwiki/44.html</link>
 <dc:date>2008-05-24T12:18:55+09:00</dc:date>
 <description>[付箋:1]ｆｆ&amp;#182;ちゃんとフレームワークをいじらなくても		動作を変更できるようになっている。...複数形 モデルの名前を設定すると、		自動的にそれを複数形にしたテーブルが参照される。		例えばitem→itemsだし、		category→categoriesになる。		ただsをつけるだけじゃないようにちゃんと設定されている。どこでそういうことをしているのだろうか見てみると、		inflector.phpのtableizeという関数で行われていた。		そこをよく見ると、		対応して...</description>
<content:encoded>
<![CDATA[
複数形<br />
モデルの名前を設定すると、		自動的にそれを複数形にしたテーブルが参照される。		例えばitem→itemsだし、		category→categoriesになる。		ただsをつけるだけじゃないようにちゃんと設定されている。<br />
どこでそういうことをしているのだろうか見てみると、		inflector.phpのtableizeという関数で行われていた。		そこをよく見ると、		対応していない複数形も自分で設定できるらしい。<br />
設定方法は、config/inflections.php		にどんどん設定を追加していけばいいらしい。<br />
ちゃんとフレームワークをいじらなくても		動作を変更できるようになっている。
]]>
</content:encoded>
<dc:creator>dala, ゲスト</dc:creator>
</item>

<item rdf:about="http://program.alphabrend.com/modules/pukiwiki/29.html">
 <title>TIPS/PHP</title>
 <link>http://program.alphabrend.com/modules/pukiwiki/29.html</link>
 <dc:date>2008-04-15T10:52:14+09:00</dc:date>
 <description>[付箋:2]333&amp;#182;[付箋:1]ああああ...PHPに関するプログラミングチップです。最強のSPAM対策AmazonWebサービス高速化php.iniによるサーバー変更時におこるPOST,GETの文字化け対策Ping送信</description>
<content:encoded>
<![CDATA[
PHPに関するプログラミングチップです。<br />
最強のSPAM対策<br />
AmazonWebサービス高速化<br />
php.iniによるサーバー変更時におこるPOST,GETの文字化け対策<br />
Ping送信
]]>
</content:encoded>
<dc:creator>dala, ゲスト</dc:creator>
</item>

<item rdf:about="http://program.alphabrend.com/modules/pukiwiki/59.html">
 <title>TIPS/CakePHP/scripts_for_layoutとは？</title>
 <link>http://program.alphabrend.com/modules/pukiwiki/59.html</link>
 <dc:date>2008-03-21T23:03:25+09:00</dc:date>
 <description>scripts_for_layoutとは？ いつのまにやらlayoutにscripts_for_layoutという変数が出力されている。		これは何だろう？viewを見てみると、addScriptというメソッドがある。		これを利用すれば良いようだが、どこで使うかが分からない。		調べてみると、各々のコンテンツの中で使えば		そのスクリプトがhead内に入るらしい。例えば以下のように使う。index.ctph2○○の一覧/h2?php foeach… ??php endforeach ??php...</description>
<content:encoded>
<![CDATA[
scripts_for_layoutとは？<br />
いつのまにやらlayoutにscripts_for_layoutという変数が出力されている。		これは何だろう？<br />
viewを見てみると、addScriptというメソッドがある。		これを利用すれば良いようだが、どこで使うかが分からない。		調べてみると、各々のコンテンツの中で使えば		そのスクリプトがhead内に入るらしい。<br />
例えば以下のように使う。<br />
index.ctp<br />
&lt;h2&gt;○○の一覧&lt;/h2&gt;<br />
&lt;?php foeach… ?&gt;<br />
&lt;?php endforeach ?&gt;<br />
&lt;?php $this-&gt;addScript($javascript-&gt;codeBlock(’alert("alert in head!");)) ?&gt;<br />
すると出力時は<br />
&lt;html …&gt;<br />
&lt;head&gt;<br />
　：<br />
　：<br />
&lt;script type="text/javascript"&gt;alert("alert in head!");&lt;/script&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
　：<br />
という感じ。
]]>
</content:encoded>
<dc:creator>dala</dc:creator>
</item>

<item rdf:about="http://program.alphabrend.com/modules/pukiwiki/38.html">
 <title>TIPS/CakePHP</title>
 <link>http://program.alphabrend.com/modules/pukiwiki/38.html</link>
 <dc:date>2008-03-10T20:11:46+09:00</dc:date>
 <description>CakePHPは		超簡単で軽いPHPフレームワークです。エラーページの動作変更サブドメイン毎に動作を変えるフォームで複数アイテムを使う携帯対応複数形bake.phpの使用cronを使うCSSを分割するDBコンフィグを動的に追加query関数のキャッシュscripts_for_layoutとは？userDefinedバリデーション...</description>
<content:encoded>
<![CDATA[
CakePHPは		超簡単で軽いPHPフレームワークです。<br />
エラーページの動作変更<br />
サブドメイン毎に動作を変える<br />
フォームで複数アイテムを使う<br />
携帯対応<br />
複数形<br />
bake.phpの使用<br />
cronを使う<br />
CSSを分割する<br />
DBコンフィグを動的に追加<br />
query関数のキャッシュ<br />
scripts_for_layoutとは？<br />
userDefinedバリデーション
]]>
</content:encoded>
<dc:creator>dala</dc:creator>
</item>

<item rdf:about="http://program.alphabrend.com/modules/pukiwiki/41.html">
 <title>TIPS/CakePHP/cronを使う</title>
 <link>http://program.alphabrend.com/modules/pukiwiki/41.html</link>
 <dc:date>2008-03-06T12:33:20+09:00</dc:date>
 <description>ファイルはapp/script/等を作ったりして		WEBに公開されないところに配置しておきましょう。&amp;#182;[付箋:1]あああ...cronを使う cakeでcronを使うのは非常に簡単です。		例えばcronに実行させるファイルをwebroot/files以下においたとすると、		http://host.com/users/check/		という、usersコントローラのcheckアクションを実行したい場合?php    $_GET['url'] = &quot;users/check/&quot;;   ...</description>
<content:encoded>
<![CDATA[
cronを使う<br />
cakeでcronを使うのは非常に簡単です。		例えばcronに実行させるファイルをwebroot/files以下においたとすると、		http://host.com/users/check/		という、usersコントローラのcheckアクションを実行したい場合<br />
&lt;?php<br />
    $_GET['url'] = "users/check/";<br />
    require_once( dirname( dirname(__FILE__) ) . "/index.php" );<br />
?&gt;<br />
と、たったこれだけで実行可能です。<br />
ファイルはapp/script/等を作ったりして		WEBに公開されないところに配置しておきましょう。
]]>
</content:encoded>
<dc:creator>dala</dc:creator>
</item>

<item rdf:about="http://program.alphabrend.com/modules/pukiwiki/58.html">
 <title>TIPS/Flex/サウンドをループ</title>
 <link>http://program.alphabrend.com/modules/pukiwiki/58.html</link>
 <dc:date>2008-03-06T12:29:09+09:00</dc:date>
 <description>サウンドをループ flexでサウンドをループする方法。		BGM等に使用したい場合。		あと、主に複数サウンドをならしたい時に		一つのリスナー関数で終わらしたい時の話。Soundを再生する時、以下のようにチャンネルオブジェクトが出てくる。		その時そのチャンネルオブジェクトにイベントを設定。var channel:SoundChannel = snd.play();channel.addEventListener(Event.SOUND_COMPLETE, onSoundComplete);で...</description>
<content:encoded>
<![CDATA[
サウンドをループ<br />
flexでサウンドをループする方法。		BGM等に使用したい場合。		あと、主に複数サウンドをならしたい時に		一つのリスナー関数で終わらしたい時の話。<br />
Soundを再生する時、以下のようにチャンネルオブジェクトが出てくる。		その時そのチャンネルオブジェクトにイベントを設定。<br />
var channel:SoundChannel = snd.play();<br />
channel.addEventListener(Event.SOUND_COMPLETE, onSoundComplete);<br />
で、ぐぐっても出なかったしリファレンスにも		ちゃんとした情報が載っていなかったのだけど、		リスナーで受け取ったパラメータに、SoundChannelが割り当てられている。		なのでSoundとSoundChannelをなにかで結びつけて保存しておけば、		どのSoundが終了したのかを判別できる。<br />
public function onSoundComplete(evt:Event):void<br />
{<br />
    for (var name:String in m_sounds)<br />
    {<br />
        if (m_sounds[name].channel == evt.target)<br />
        {<br />
            m_sounds[name].sound.play();<br />
            break;<br />
        }<br />
    }<br />
}
]]>
</content:encoded>
<dc:creator>dala</dc:creator>
</item>

<item rdf:about="http://program.alphabrend.com/modules/pukiwiki/57.html">
 <title>TIPS/Flex/画像を回転させる</title>
 <link>http://program.alphabrend.com/modules/pukiwiki/57.html</link>
 <dc:date>2008-03-05T11:47:24+09:00</dc:date>
 <description>画像を回転させる flexでBitmapオブジェクトを回転させる際、		リファレンスを見るとrotaionというプロパティがあり、		それを変更することで簡単に回転が出来る。が、よくよく見るとx=0, y=0の部分で回転しているため、		ちゃんと真ん中で回転してくれない。		リファレンスを見ると、その基準点を変更するための		プロパティも何も無いようだ。色々調べていると、行列変換が使えることが分かった。		これで回転どころか何もかも好き勝手に出来る。		さすがflex。携帯のアプリとは違う。具体...</description>
<content:encoded>
<![CDATA[
画像を回転させる<br />
flexでBitmapオブジェクトを回転させる際、		リファレンスを見るとrotaionというプロパティがあり、		それを変更することで簡単に回転が出来る。<br />
が、よくよく見るとx=0, y=0の部分で回転しているため、		ちゃんと真ん中で回転してくれない。		リファレンスを見ると、その基準点を変更するための		プロパティも何も無いようだ。<br />
色々調べていると、行列変換が使えることが分かった。		これで回転どころか何もかも好き勝手に出来る。		さすがflex。携帯のアプリとは違う。<br />
具体的には、Bitmap.transform.matrixに		Matrixオブジェクトを代入しておけばよい。<br />
行列を知らない人はなんのこっちゃと思うかもしれないが、		特に難しいことはない。<br />
var matrix:Matrix = new Matrix();<br />
matrix.rotate(angle);<br />
という感じで何も分からなくても簡単に変換行列は作成できる。		で、具体的に回転させるのは、		まず基準点を画像の中心に合わせ、		それから回転、スケール変更を行い、		表示する位置に移動する、という作業。		内容的にはこれだけ。<br />
var matrix:Matrix = new Matrix();<br />
matrix.tx = -bitmap.bitmapData.width / 2;<br />
matrix.ty = -bitmap.bitmapData.height / 2;<br />
matrix.scale(scalex, scaley);<br />
matrix.rotate(Math.PI * angle / 180);<br />
matrix.tx += x;<br />
matrix.ty += y;<br />
bitmap.transform.matrix = matrix;
]]>
</content:encoded>
<dc:creator>dala</dc:creator>
</item>

<item rdf:about="http://program.alphabrend.com/modules/pukiwiki/51.html">
 <title>TIPS/CakePHP/query関数のキャッシュ</title>
 <link>http://program.alphabrend.com/modules/pukiwiki/51.html</link>
 <dc:date>2008-02-29T14:48:58+09:00</dc:date>
 <description>[付箋:1]助かりました！3時間ほどハマってました...query関数のキャッシュ モデルにはquery関数があるが、		どうやら1.2alphaバージョンだと勝手にキャッシュされてしまっているらしく、		数回同じクエリを実行すると同じ値がかえってくる。これを解除するには、$this-query( $query, false );としてやる必要がある。		他のバージョンは未確認。...</description>
<content:encoded>
<![CDATA[
query関数のキャッシュ<br />
モデルにはquery関数があるが、		どうやら1.2alphaバージョンだと勝手にキャッシュされてしまっているらしく、		数回同じクエリを実行すると同じ値がかえってくる。<br />
これを解除するには、<br />
$this-&gt;query( $query, false );<br />
としてやる必要がある。		他のバージョンは未確認。
]]>
</content:encoded>
<dc:creator>dala, ゲスト</dc:creator>
</item>

<item rdf:about="http://program.alphabrend.com/modules/pukiwiki/55.html">
 <title>TIPS/CakePHP/フォームで複数アイテムを使う</title>
 <link>http://program.alphabrend.com/modules/pukiwiki/55.html</link>
 <dc:date>2008-02-26T13:47:40+09:00</dc:date>
 <description>フォームから配列で複数アイテムを使う 1.1から移行した時はなんだか良く分からないなあと思うけど、		...フォームから配列で複数アイテムを使う CakePHP1.2ではフォームの作成にはhtmlヘルパーを使わず、		formヘルパーを使うようになった。		使い方は以下のような感じ。 ?php$form-create(’User’);$form-input(’name’);$form-end(’Submit’);?1.1から移行した時はなんだか良く分からないなあと思うけど、		使っていくうちに$...</description>
<content:encoded>
<![CDATA[
フォームから配列で複数アイテムを使う<br />
CakePHP1.2ではフォームの作成にはhtmlヘルパーを使わず、		formヘルパーを使うようになった。		使い方は以下のような感じ。<br />
&lt; ?php<br />
$form-&gt;create(’User’);<br />
$form-&gt;input(’name’);<br />
$form-&gt;end(’Submit’);<br />
?&gt;<br />
1.1から移行した時はなんだか良く分からないなあと思うけど、		使っていくうちに$form-&gt;inputが色々出来ることに気付く。		誕生日なんかも$form-&gt;input(’birthday’, array(’type’ =&gt; ‘date’));		みたいな感じで出来るので面白い。		月が英語で出るのがやっかいだが。<br />
例えば以下のようなデータ構造の場合。		User<br />
 Item<br />
 Item<br />
 Item<br />
このようにItemが複数ある場合もフォームで作れる。		もしかしたら1.2betaバージョン以降じゃないと駄目かもしれないが、		以下のように作成できる。<br />
&lt;?php<br />
$form-&gt;create(’User’);<br />
$form-&gt;input(’name’);<br />
$form-&gt;input(’Item/0/name’);<br />
$form-&gt;input(’Item/1/name’);<br />
$form-&gt;input(’Item/2/name’);<br />
?&gt;<br />
これで		$this-&gt;data[’Item’]に複数のItemが入る。		色々出来るんだなあと思った。<br />
後は、app_model.phpにそれようのバリデーション関数や		保存関数を加えておけばもっと便利に。<br />
function insertList($rows) {<br />
    foreach ($rows as $row) {<br />
        $this-&gt;create($row);<br />
        if (!$this-&gt;save()) return false;<br />
    }<br />
    return true;<br />
}<br />
みたいな感じ。
]]>
</content:encoded>
<dc:creator>dala</dc:creator>
</item>

<item rdf:about="http://program.alphabrend.com/modules/pukiwiki/54.html">
 <title>TIPS/CakePHP/userDefinedバリデーション</title>
 <link>http://program.alphabrend.com/modules/pukiwiki/54.html</link>
 <dc:date>2008-02-25T23:24:06+09:00</dc:date>
 <description>    return preg_match(’/d{2,4}-d{3,4}-d{4}/’) ? true : false;...userDefinedバリデーションを使う CakePHPの1.2のバリデーションにuserDefinedというのがある。		これを利用すればフレームワークを汚さなくても		独自のバリデーションを加えることが可能。		具体的な使い方は以下の通り。まずは特定のモデルもしくはapp_model.php等に		専用のバリデーション関数を追加する。		例えば以下のような関...</description>
<content:encoded>
<![CDATA[
userDefinedバリデーションを使う<br />
CakePHPの1.2のバリデーションにuserDefinedというのがある。		これを利用すればフレームワークを汚さなくても		独自のバリデーションを加えることが可能。		具体的な使い方は以下の通り。<br />
まずは特定のモデルもしくはapp_model.php等に		専用のバリデーション関数を追加する。		例えば以下のような関数。<br />
function tel($data) {<br />
    return preg_match(’/d{2,4}-d{3,4}-d{4}/’) ? true : false;<br />
}<br />
そしてモデルのバリデーション設定には以下のように設定。<br />
var $validate = array(<br />
   ‘tel’ =&gt; array(’rule’ =&gt; array(’userDefined’, ‘User’, ‘tel’)),<br />
);<br />
配列の3つめに先ほどのtelを記入。		2番目はよく分からないけどモデル名を書いておけばよいと思う。		別のモデルのも使えるよと言うことだろうか。
]]>
</content:encoded>
<dc:creator>dala</dc:creator>
</item>

<item rdf:about="http://program.alphabrend.com/modules/pukiwiki/53.html">
 <title>TIPS/PHP/最強のSPAM対策</title>
 <link>http://program.alphabrend.com/modules/pukiwiki/53.html</link>
 <dc:date>2008-02-24T01:09:34+09:00</dc:date>
 <description>[付箋:1]xxxxx...最強のSPAM対策 最強のSPAM対策を発見した。既存のフォーム部分をob系関数で取得し、		それを適当な文字数で分割して一部一部を		document.writeや		tag += '*****';		みたいな感じで連結して適当なinnerHTMLに挿入すると、		表示はそのまま、		だけどフォームタグはjavascriptなので		html上では検出されないという状況になる。当然SPAMロボはフォームを発見できないので		投稿もなくなる。まあ、あとはどこまでロボの...</description>
<content:encoded>
<![CDATA[
最強のSPAM対策<br />
最強のSPAM対策を発見した。<br />
既存のフォーム部分をob系関数で取得し、		それを適当な文字数で分割して一部一部を		document.writeや		tag += '*****';		みたいな感じで連結して適当なinnerHTMLに挿入すると、		表示はそのまま、		だけどフォームタグはjavascriptなので		html上では検出されないという状況になる。<br />
当然SPAMロボはフォームを発見できないので		投稿もなくなる。<br />
まあ、あとはどこまでロボのしわざかによるけど…
]]>
</content:encoded>
<dc:creator>dala, ゲスト</dc:creator>
</item>


</rdf:RDF>