<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>自転車で通勤しましょ♪ブログ</title>
	<atom:link href="http://319ring.net/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://319ring.net/blog</link>
	<description>自転車とか、プログラムとか、書評とか、気になったものについて書いていきます</description>
	<lastBuildDate>Fri, 19 Mar 2010 18:21:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Xen:p2vする方法（抽象的に書いてる）</title>
		<link>http://319ring.net/blog/archives/1147</link>
		<comments>http://319ring.net/blog/archives/1147#comments</comments>
		<pubDate>Fri, 19 Mar 2010 18:21:36 +0000</pubDate>
		<dc:creator>パトラッシュ</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[仮想化]]></category>
		<category><![CDATA[日記]]></category>

		<guid isPermaLink="false">http://319ring.net/blog/?p=1147</guid>
		<description><![CDATA[昨日になるけど、Xenの完全仮想化でP2Vしてみた。前にCPUがIntel-VTがなくてショボーンだったサーバの件である。現在はCore2Duo E6600を積んで、性能はだいぶ上がったと思われる。まぁ何より完全仮想化で [...]]]></description>
			<content:encoded><![CDATA[<p>昨日になるけど、Xenの完全仮想化でP2Vしてみた。前にCPUがIntel-VTがなくてショボーンだったサーバの件である。現在はCore2Duo E6600を積んで、性能はだいぶ上がったと思われる。まぁ何より完全仮想化できるようになったのが素晴らしい。無駄にメモリ8GB積んでいたのがようやく報われる。</p>
<p>ddコマンドで/dev/hdaを丸ごとsshでXenのサーバに転送して、<br />
完全仮想化用の設定ファイルを修正したら、起動した。<br />
完全仮想化用の設定ファイルは、一度CentOS5.4を完全仮想化したものをコピーして編集したのだが、uuidとMACアドレスを修正しただけで案外動いてくれる。</p>
<p>ハードディスクを丸ごとバックアップする方式なので、ハードディスク使用量が少なかったとしても、ハードディスク容量分の転送時間がかかる。今回のは、7GB程度しか使ってないサーバにも関わらず、元が40GBのハードディスクなので、結構時間かかった。Mondo Rescueで移動できたんならよかったのになぁ。Mondo RescueからXenへのP2Vは未だにやり方がわからんまま。7GBしか使ってないなら移動しなくてもいいんじゃないの？って思うかもしれないが、Subversionで大量のファイルを管理したいというような要望が出てきているので、40GB程度だとあっという間に使ってしまいそうだと判断してのこと。</p>
<p>Xen側の設定ファイルのMACアドレス設定を、元々のサーバのMACアドレスに変更しないと、NICが起動してくれない。まぁ、そりゃそうかって気がした。</p>
<p>完全仮想化したサーバの設定をどのように変更していったらいいかは、まだよくわかっていない。<br />
とりあえず起動しただけでも、いちいち最初からクリーンインストールして設定していくよりも楽だから、ありがたい。タイミングをみて物理サーバを停止して仮想サーバにリプレースしないとなぁ〜。Subversion運用してるサーバだから、みんながコミットしないときに作業しないといかんというのがネックだ。来週の金曜日あたりに残業して片付けるかなぁ〜。</p>
]]></content:encoded>
			<wfw:commentRss>http://319ring.net/blog/archives/1147/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby on Railsを勉強中</title>
		<link>http://319ring.net/blog/archives/1145</link>
		<comments>http://319ring.net/blog/archives/1145#comments</comments>
		<pubDate>Thu, 18 Mar 2010 16:54:02 +0000</pubDate>
		<dc:creator>パトラッシュ</dc:creator>
				<category><![CDATA[日記]]></category>

		<guid isPermaLink="false">http://319ring.net/blog/?p=1145</guid>
		<description><![CDATA[RailsによるアジャイルWebアプリケーション開発を読みながら、MacBookでRailsの勉強してます。Aptanaを使うとRailsのコマンドを実行できたり、MVCの移動が簡単だったりするので便利ですね！Rubyの [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.co.jp/gp/product/4274067858?ie=UTF8&#038;tag=cyclestyle-22&#038;linkCode=as2&#038;camp=247&#038;creative=1211&#038;creativeASIN=4274067858">RailsによるアジャイルWebアプリケーション開発</a><img src="http://www.assoc-amazon.jp/e/ir?t=cyclestyle-22&#038;l=as2&#038;o=9&#038;a=4274067858" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />を読みながら、MacBookでRailsの勉強してます。Aptanaを使うとRailsのコマンドを実行できたり、MVCの移動が簡単だったりするので便利ですね！Rubyのことを勉強すると、PHPのプログラムの書き方にも影響して、自分的にはけっこう面白いです。</p>
<p>Railsを書けるようになるのも大事だけれど、Railsの思想とかがわかるようになると、勉強になるなぁと思いますね。考え方はいろんなところで使いまわせたりしますしね～。まだまだ進んでないけれど、頑張ってみよう！</p>
<p><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=cyclestyle-22&#038;o=9&#038;p=15&#038;l=st1&#038;mode=books-jp&#038;search=Ruby%20on%20Rails&#038;fc1=000000&#038;lt1=&#038;lc1=3366FF&#038;bg1=FFFFFF&#038;f=ifr" marginwidth="0" marginheight="0" width="468" height="240" border="0" frameborder="0" style="border:none;" scrolling="no"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://319ring.net/blog/archives/1145/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHPList:CoreServerでのWordPressとの連携設定メモ</title>
		<link>http://319ring.net/blog/archives/1142</link>
		<comments>http://319ring.net/blog/archives/1142#comments</comments>
		<pubDate>Thu, 18 Mar 2010 03:24:43 +0000</pubDate>
		<dc:creator>パトラッシュ</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[PHPList]]></category>
		<category><![CDATA[xrea]]></category>

		<guid isPermaLink="false">http://319ring.net/blog/?p=1142</guid>
		<description><![CDATA[WordPressのPHPList-Form-Integrationプラグインで、メールマガジン購読の際にメアド確認せずに一気に登録させるように設定していたのだが、テスト環境（社内サーバ）ではうまくいっていたのに、Cor [...]]]></description>
			<content:encoded><![CDATA[<p>WordPressのPHPList-Form-Integrationプラグインで、メールマガジン購読の際にメアド確認せずに一気に登録させるように設定していたのだが、テスト環境（社内サーバ）ではうまくいっていたのに、CoreServerではうまくいかなかった。</p>
<p>PHPList-Form-Integration内のpholist.phpを書き換えたり、デバッグモードでcURLの内容を出力したりしたら、セッションが引き継げてないのが原因だとわかった。そのセッションが引き継げてない理由自体は全然わかってなかったのだが、他の案件が忙しくなってこの件を一旦放置していた。CakePHPの案件にも一旦目処がついたので、この件の調査を再開しようと思った矢先、閃いた。もしかしたら、モード（版）が違うのではないか？と。</p>
<p>モード？それはすなわち、CoreServerだとPHPはモジュール版とCGI版がある。PHPListはセーフモードだと警告メッセージが出続けるのでCGI版で動かす必要がある。そのときに、CGI版で動かす設定を/lists/admin/以下の.htaccessとphp.iniに記述していた。ところが、/lists/以下には設定してなかったので、/lists/以下はモジュール版で動いていた。</p>
<p>PHPList-Form-Integrationの購読フォームの動作は、</p>
<ol>
<li>cURLで管理者としてログイン</li>
<li>メールアドレス確認をしない場合、管理者としてメールアドレスを登録処理する</li>
</ol>
<p>である。<br />
管理者ログインがCGI版でログイン、メールアドレス登録がモジュール版で処理をしようとしていたため、モジュール版とCGI版ではセッション管理が異なるためメールアドレス登録が管理者扱いではなくなり、処理できてなかったわけである。ということは、/lists/以下もCGI版にしてしまえばよい。</p>
<p>PHPList全体をCGI版で動かすように.htaccessとphp.ini（CoreServerの場合のやつ）を修正したら、メールアドレス確認なしで動いてくれるようになった。気付けばなんともあっけないのだが、原因がわからずに深夜まで残業してしまったりしていたので何気に悔しかった。まあでも閃いてよかったわ〜。</p>
<p>ちなみにメールアドレス確認なしにした理由は、ケータイから登録された場合にPHPListのメアド確認用画面がケータイからは確認できないからです（テーブルレイアウトででかい！）。</p>
]]></content:encoded>
			<wfw:commentRss>http://319ring.net/blog/archives/1142/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP:【解決】AU携帯でSecurityComponent</title>
		<link>http://319ring.net/blog/archives/1138</link>
		<comments>http://319ring.net/blog/archives/1138#comments</comments>
		<pubDate>Wed, 17 Mar 2010 02:18:19 +0000</pubDate>
		<dc:creator>パトラッシュ</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ktai Library]]></category>

		<guid isPermaLink="false">http://319ring.net/blog/?p=1138</guid>
		<description><![CDATA[SecurityComponentを使うとAUケータイでブラックホールに吸い込まれるという話を昨日書いたわけですが、解決方法が見つかったので、それを書きます。
ちなみにCakePHPユーザ会のほうにも投稿しておいた。
$ [...]]]></description>
			<content:encoded><![CDATA[<p>SecurityComponentを使うとAUケータイでブラックホールに吸い込まれるという話を昨日書いたわけですが、解決方法が見つかったので、それを書きます。<br />
ちなみにCakePHPユーザ会のほうにも投稿しておいた。</p>
<p><a href="http://cakephp.jp/modules/newbb/viewtopic.php?viewmode=flat&#038;topic_id=1596&#038;forum=9">$form->create で出力されるfieldsetを消す方法</a></p>
<p>昨日の投稿にも書きましたが、SecurityComponentを使うとAUケータイではdisplay:noneになってるfieldsetタグ内のトークンがPOSTされません。よって、fieldsetタグのみを削除すれば動くに違いないということで、fieldsetタグを削除する方法です。</p>
<p>参考にしたサイトは以下です（英語）。<br />
<a href="http://cakeqs.org/eng/questions/view/disable_fieldset_around_an_hidden_form_element">http://cakeqs.org/eng/questions/view/disable_fieldset_around_an_hidden_form_element</a></p>
<p>CakePHPユーザ会のほうに書いた方法でもいけると思いますが、何度も使いたいので自分はKtai LibraryのKtaiヘルパーにメソッドを追加しました。</p>
<p>/app/views/helpers/ktai.php</p>
<pre class="brush: php;">
/**
 * Ktai helper class for CakePHP1.2
 */
class KtaiHelper extends Helper {

	var $helpers = array('Html', 'Form'); // 'Form'を追加した

	var $_lib3gk = null;

// ... 最後に以下の2つのメソッドを追加
	function form_create($model = null, $options = array()){
		$out = $this-&gt;Form-&gt;create($model, $options);
		return strip_tags($out, '&lt;form&gt;&lt;input&gt;');
	}

	function form_end($options = null){
		$out = $this-&gt;Form-&gt;end($options);
		return strip_tags($out, '&lt;form&gt;&lt;input&gt;');
	}
}
</pre>
<p>View側では、以下のように使います。</p>
<pre class="brush: php;">
&lt;?php echo $ktai-&gt;form_create($model, $options); ?&gt;
</pre>
<p>AUケータイで試してみましたが、結果は上々でした。</p>
]]></content:encoded>
			<wfw:commentRss>http://319ring.net/blog/archives/1138/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP:AU携帯とSecurityコンポーネント</title>
		<link>http://319ring.net/blog/archives/1136</link>
		<comments>http://319ring.net/blog/archives/1136#comments</comments>
		<pubDate>Tue, 16 Mar 2010 14:47:25 +0000</pubDate>
		<dc:creator>パトラッシュ</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[携帯サイト開発]]></category>

		<guid isPermaLink="false">http://319ring.net/blog/?p=1136</guid>
		<description><![CDATA[現在、とあるアイドルグループの携帯用アンケートサイトを5営業日以内で作れという至上命令が下っており、そのために久々にCakePHP復活！Ktai Libraryを使ってどのケータイでも対応しちゃうぜ！ちなみにKtai L [...]]]></description>
			<content:encoded><![CDATA[<p>現在、とあるアイドルグループの携帯用アンケートサイトを5営業日以内で作れという至上命令が下っており、そのために久々にCakePHP復活！Ktai Libraryを使ってどのケータイでも対応しちゃうぜ！ちなみにKtai Libraryを使うのは初。本は買ってた。</p>
<p>データベース設計は同僚がやってくれたので（彼はDBのスペシャリスト）、俺はBakeでソースを生成し、デザイナが作ったデザインをViewに組み込み、Modelの設定を行い、Captchaコンポーネントを使った画像認証を組み込み、コントローラーに処理をゴリゴリと書き（Fat Modelになるような仕様ではないため。まぁ汎用的なメソッドはModelに作ったけど）、FireMobileSimulatorで確認しながら開発。</p>
<p>一通り実装が完了したので、実機（俺のAU携帯と後輩のSoftbank携帯）とDoCoMoのシミュレータで試すとやっぱり動かなかったりした。まぁそういうことを試すためだからいいんだけど。ソースを修正しては試す。これによりDoCoMoはOK。SoftbankもOK。しかし、AUだけPOSTしたら404と言われる。なぜだ！</p>
<p>Ktai Libraryを使ってたら、redirectのところでURLの組み立てで変になった箇所があったので（Controller::redirect()の引数に配列形式で値を渡すと壊れる。引数をis_arrayでチェックすると直った）、また似たようなことが起こってるのかなぁ～とApacheのアクセスログを見てみると、ちゃんとPOST先のURLにアクセスしている。しかし、Content-lengthが0。0とはおかしいじゃないか！</p>
<p>まさかと思ってCSRF対策用に使っていたSecurityコンポーネントのBlackHoleCallback関数を設定してログを出すようにしてみたら、ビンゴ。BlackHoleに吸い込まれているじゃないか。しかも、俺はここのPOSTはデータベース更新に関係していないのでCSRF対策してない（$this->Security->requireAuthに追加していない）。にもかかわらず、トークンが発行されてるのにも納得がいかない。</p>
<p>何がなんだかわけがわからないので、CakePHPユーザ会で検索してみたら、有力な情報を得た。</p>
<p><a href="http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=1899&#038;forum=3">携帯のblackhole 対策</a></p>
<p>Securityコンポーネントのトークンはfieldsetタグ中に囲まれているのだが、このfieldsetタグにはdisplay:none;が設定されている。AU携帯はPOSTするときにdisplay:none;が設定されている領域の値をPOSTしないらしい。サーバ上にはトークンが設定されているにも関わらずトークンがPOSTされないから、トークン不一致でブラックホール行きという仕組みだったのか。</p>
<p>今思いついてる解決策は、</p>
<ul>
<li>Formヘルパー自体を修正する（ライブラリ自体の修正はやりたくない）</li>
<li>$form->create(), $form->end()で取得したソースからfieldsetタグを正規表現で取り除く処理を実装する（若干難しそうだが一番意味がありそう）</li>
<li>Securityコンポーネントを使わずに独自のCSRF対策を施す（一番現実的か？）</li>
</ul>
<p>である。まぁ時間があれば2番目で行きたいが、3番目かな。原因が突き詰められたので、Securityコンポーネントを外してAUで試したところ、普通に動いてくれた。あ～、よかったぁ～。ひとまず安堵。</p>
<p>まぁセキュリティ系の課題はあるものの、処理自体は2人日で実装完了。やはりCakePHPの開発効率はかなりいいなぁと思う。簡単かつ早いかつ安心。ただ、時々超ハマる…。</p>
<p>【解決しました！】<br />
次の投稿でこの問題は解決したのでリンクはっておきます。<br />
<a href="http://319ring.net/blog/archives/1138">CakePHP:【解決】AU携帯でSecurityComponent</a></p>
]]></content:encoded>
			<wfw:commentRss>http://319ring.net/blog/archives/1136/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webサイトは100%利用者視点で考えるべき</title>
		<link>http://319ring.net/blog/archives/1134</link>
		<comments>http://319ring.net/blog/archives/1134#comments</comments>
		<pubDate>Tue, 09 Mar 2010 17:39:15 +0000</pubDate>
		<dc:creator>パトラッシュ</dc:creator>
				<category><![CDATA[システム開発]]></category>

		<guid isPermaLink="false">http://319ring.net/blog/?p=1134</guid>
		<description><![CDATA[利用者が不特定多数であるWebサイトの場合、利用者視点で考えるべきで、発注サイドと制作サイドの都合でわけのわからない仕様にするべきでない。仕様に対する明確な理由がなく、屁理屈やどちらサイドの都合であっても、その仕様をユー [...]]]></description>
			<content:encoded><![CDATA[<p>利用者が不特定多数であるWebサイトの場合、利用者視点で考えるべきで、発注サイドと制作サイドの都合でわけのわからない仕様にするべきでない。仕様に対する明確な理由がなく、屁理屈やどちらサイドの都合であっても、その仕様をユーザが快と思わなければ失敗に終わる。</p>
<p>まぁなんでこんなことを書いているのかというと、制作サイドの都合（工数がないだの、改修が大き過ぎるだの）で屁理屈をいって現在の仕様でお客様をごまかしたとしても、利用者からの反応が返ってくるのはお客様なので、その時点でお客様の不信感を買ってしまうのではないかと思うからだ。ちゃんとやってくれないと思われてしまう(必要な費用を出してくれていないという点は大いにあるのだが)。もちろんやれる技術力はあるのだが、そこはコストとの相談になるので、ごまかすのではなく、やはり松竹梅的なプランを掲示してお客様主導で決定するプロセスがないとお客様は納得しないと思う。お客様が選択した結果、利用者の反応が芳しくなければ、プランをアップグレードするという方法をとらなければ、お客様も学習できないし、我々の掲示に納得してもらえない（その時点で判断材料が少ないからまともな判断ができないパターン？）。</p>
<p>下請けでいつも感じるのは、マネジメント層のコスト意識が強すぎて我々の提案を屁理屈に変えてしまい(必要経費すら無駄扱い？)、お客様との折衝が長期化して、いいものができないというジレンマだ。コストを最小化しようとした結果、要求が満たせず、折衝のみでコスト増大してしまうパターン。まぁ俺は常に富豪仕様にしろって言ってるつもりではない。ただ、不特定多数の利用者のサイトの場合、正しいのは利用者であってお客様でも制作サイドでもない。<br />
お客様自身が利用者の場合は、富豪仕様でなくても運用でカバーすることが可能だが（マニュアルを作ったり）、そうでない場合はお客様にも納得してもらった上で、我々から見たら富豪仕様でも作らなければならないと思う。損して得取れ。というか、その損は損ではなく、得をとるためのコストであるので、コストかけて得取れと言いたいわけです。それと、明らかな損は、お客様が制作サイドを貶めている（ように感じる）ので明らかにモチベーションが下がります。まぁそこはマネジメント層の腕の問題かもしれない。</p>
<p>ネットにおいては、Win(お客様)-Win(制作サイド)では足りない。Win(利用者)-Win(お客様)-Win(制作サイド)の関係を築けるように、お客様と制作サイドで友好関係を築く努力のためにも、仕様決定プロセスの透明性を高めるべきではないかと思う。</p>
]]></content:encoded>
			<wfw:commentRss>http://319ring.net/blog/archives/1134/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>中途半端</title>
		<link>http://319ring.net/blog/archives/1132</link>
		<comments>http://319ring.net/blog/archives/1132#comments</comments>
		<pubDate>Mon, 08 Mar 2010 19:41:03 +0000</pubDate>
		<dc:creator>パトラッシュ</dc:creator>
				<category><![CDATA[日記]]></category>

		<guid isPermaLink="false">http://319ring.net/blog/?p=1132</guid>
		<description><![CDATA[最近はなんだかだらだらと物事に取り組んでしまい、非常に中途半端になっている。毎日がこれといって楽しくもないし、仕事も以前にも増して『やらされ感』を感じてしまっている。もちろん、自分から率先してやっているものも結構あるのだ [...]]]></description>
			<content:encoded><![CDATA[<p>最近はなんだかだらだらと物事に取り組んでしまい、非常に中途半端になっている。毎日がこれといって楽しくもないし、仕事も以前にも増して『やらされ感』を感じてしまっている。もちろん、自分から率先してやっているものも結構あるのだが、割り込み要求が頻繁に入ってくる上に、優先順位と割り込み理由が明確でないのと依頼内容が理不尽で、すごくイライラする。</p>
<p>ここ数日でよかったことは、WSH(Windows Script Host)が使えるようになったこと。まぁリファレンス本は必要だけれど、今までは自分の実力では、コマンドプロンプトでバッチファイルを作ることでしかWindows上の作業の自動化はできないと思っていたので（コマンドライン版PHPやRubyが入ってるところだとそれらでできるけれど、プログラム言語がインストールされていることに依存するからという意味で、です）、WSHでJScriptが使えるということを知った時にはすごく嬉しかった。JScriptはWindows版JavaScriptだから、これで一気に自動化のやり方の幅が広がったというわけ。</p>
<p>WSHのおかげで3月からの運用案件のログ取得処理やエラーログ抽出処理をすべて自動化することに成功。手作業でやっていたらおそらく10分くらいはかかるであろう作業が、多分2分くらいで確認できるようになった。時間短縮もなによりの効果であるのだが、一番の効果はヒューマンエラー（ログダウンロードし忘れ、エラーの見落とし）が発生しにくくなることである。こういうことをできるようになるとコンピュータを使えてる感じがして楽しいし、役に立ってる実感が湧いて嬉しい。</p>
<p>ここのところ家でのWebアプリ開発から遠のいているので、すこしずつ環境整備してストレスをコントロールしながら楽しく生きていきたい。</p>
]]></content:encoded>
			<wfw:commentRss>http://319ring.net/blog/archives/1132/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>俺にはまだやれることがある</title>
		<link>http://319ring.net/blog/archives/1130</link>
		<comments>http://319ring.net/blog/archives/1130#comments</comments>
		<pubDate>Thu, 18 Feb 2010 16:34:20 +0000</pubDate>
		<dc:creator>パトラッシュ</dc:creator>
				<category><![CDATA[日記]]></category>

		<guid isPermaLink="false">http://319ring.net/blog/?p=1130</guid>
		<description><![CDATA[昨日発見したWordPressのプラグイン、心が折れそうになりながらも、まぁ実務優先なので、実戦に投入できるかどうか調査していたら、どうもできなさそうなことが判明。確かに高機能なのだが、、、。残念！
ということで、このプ [...]]]></description>
			<content:encoded><![CDATA[<p>昨日発見したWordPressのプラグイン、心が折れそうになりながらも、まぁ実務優先なので、実戦に投入できるかどうか調査していたら、どうもできなさそうなことが判明。確かに高機能なのだが、、、。残念！</p>
<p>ということで、このプラグインの機能を参考にしつつ、今作成中のプラグインを実戦で使えるレベルにまで昇華していこうと思えた。まだまだ使えね～…。データベースの設計からちょっと見直さないといかんので、クエリ書き換えんといかんのが面倒。あー、ActiveRecordだったら簡単なのにな～とすげー思う。</p>
<p>というか簡単なのだったら抽象クラス作っちゃえばいいのか…。</p>
]]></content:encoded>
			<wfw:commentRss>http://319ring.net/blog/archives/1130/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>心が折れそうに…</title>
		<link>http://319ring.net/blog/archives/1128</link>
		<comments>http://319ring.net/blog/archives/1128#comments</comments>
		<pubDate>Wed, 17 Feb 2010 16:32:58 +0000</pubDate>
		<dc:creator>パトラッシュ</dc:creator>
				<category><![CDATA[日記]]></category>

		<guid isPermaLink="false">http://319ring.net/blog/?p=1128</guid>
		<description><![CDATA[偶然、今作っているWordPressのプラグインとほぼ同じものを発見してしまった…（むしろ、完成しているから向こうのほうがよさそう）。はぁ～、こういうのが一番心折れそうになるわ。。。
]]></description>
			<content:encoded><![CDATA[<p>偶然、今作っているWordPressのプラグインとほぼ同じものを発見してしまった…（むしろ、完成しているから向こうのほうがよさそう）。はぁ～、こういうのが一番心折れそうになるわ。。。</p>
]]></content:encoded>
			<wfw:commentRss>http://319ring.net/blog/archives/1128/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bounceって？</title>
		<link>http://319ring.net/blog/archives/1125</link>
		<comments>http://319ring.net/blog/archives/1125#comments</comments>
		<pubDate>Wed, 17 Feb 2010 02:34:07 +0000</pubDate>
		<dc:creator>パトラッシュ</dc:creator>
				<category><![CDATA[システム開発]]></category>
		<category><![CDATA[PHPList]]></category>

		<guid isPermaLink="false">http://319ring.net/blog/?p=1125</guid>
		<description><![CDATA[PHPListとか調べてるとbounceってあったんだけれど、メールを配信すること自体には関係なさそうだったんで今まで無視してたんだけど、だんだん気になってきたので「バウンス」でググったら、不達メールのことだった。宛先が [...]]]></description>
			<content:encoded><![CDATA[<p>PHPListとか調べてるとbounceってあったんだけれど、メールを配信すること自体には関係なさそうだったんで今まで無視してたんだけど、だんだん気になってきたので「バウンス」でググったら、不達メールのことだった。宛先が見つからないとか、相手のメールサーバが落ちてるとか、相手のメールボックスが一杯とか、そういうことですね。</p>
<p>で、そのバウンスメールをカウントして、どうも宛先がなさそうだったり、メールサーバがなさそうだったり、放置されているメールアドレスみたいだったら、データベースから対象メールアドレスを削除して無駄なメール送信をなくそう！ということみたいだ。考えられているねぇ〜。</p>
<p>メルマガシステムを扱ったことなかったから、参考になった。</p>
]]></content:encoded>
			<wfw:commentRss>http://319ring.net/blog/archives/1125/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
