<?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>ピクスログ &#187; メモ</title>
	<atom:link href="http://picslog.picsmate.net/category/memo_pad/feed/" rel="self" type="application/rss+xml" />
	<link>http://picslog.picsmate.net</link>
	<description>みずがめのラクガキはじめました。（あと、写真とか日記とか）</description>
	<lastBuildDate>Thu, 15 Apr 2010 08:30:35 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>MDIEが生まれ変わるのかぁ</title>
		<link>http://picslog.picsmate.net/2009/02/18/733/</link>
		<comments>http://picslog.picsmate.net/2009/02/18/733/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 11:40:00 +0000</pubDate>
		<dc:creator>Mizugame</dc:creator>
				<category><![CDATA[MDIE]]></category>
		<category><![CDATA[メモ]]></category>
		<category><![CDATA[ソフト]]></category>

		<guid isPermaLink="false">http://picslog.picsmate.net/?p=733</guid>
		<description><![CDATA[
MDIEの更新ないかなぁ～っと、久々にぶらっと開発者さんの日記を見に行ったら記事が更新されてる！
ぉぉぉおおおおお！
長らく音沙汰なかったので心配になってたけど、新しいの作ってたんだ！
これはめちゃ期待！
ちょっとうれ [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://picslog.picsmate.net/wp/wp-content/uploads/2009/02/2009-2-18_new_mdie.jpg" alt="MDIEの次の？" rel="lightbox[2009-2-18]" title="MDIEの次の？"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2009/02/2009-2-18_new_mdie.thumbnail.jpg" alt="MDIEの次の？" width="240" height="90" class="attachment wp-att-731 " /></a><br />
MDIEの更新ないかなぁ～っと、久々にぶらっと開発者さんの日記を見に行ったら記事が更新されてる！</p>
<p>ぉぉぉおおおおお！<br />
長らく音沙汰なかったので心配になってたけど、新しいの作ってたんだ！</p>
<p>これはめちゃ期待！</p>
<p>ちょっとうれしかったので、メモがてら記事に。<br />
<span id="more-733"></span></p>
<p>と、いろいろ変わるらしい。</p>
<p>外観とかスクリーンショットも公開されてます(*°∀°)=3<br />
<a href="http://d.hatena.ne.jp/cres/20090206" rel="external">2009-02-06 &#8211; cresの日記</a></p>
<p>設定もレジストリからjsonになったり、キャッシュにsqliteが使われてたり、いろいろあるらしい。<br />
使い勝手上がってるとうれしいなぁ(゜∀゜)</p>
<p>vistaへの対応は敬遠気味っぽいので、ちょい違和感あるのかも。<br />
うちはメインXPだから全然いいけど。</p>
<p>ただvistaでのファイルリストの自動更新とかの頻度がおさまればいいなぁ・・・とか。<br />
あとは、もちょっとこっちで拡張できると面白そうかな・・・とか。</p>
<p>何より期待は膨らむばかり。</p>
<p><q cite="http://d.hatena.ne.jp/cres/20090206">4月ぐらいに何かあると良いと思います</q>、とのことなのでしばらく目が離せなさそう（*´▽｀*）</p>
<p>関連情報：<br />
<a href="http://cres.s28.xrea.com/soft/mdie.html" rel="external">MDIE(タブ型ファイラー)</a></p>
<p>関連記事：<br />
<a href="http://picslog.picsmate.net/2008/12/20/645/">[MDIEスクリプト] select2zip.jsを更新</a><br />
<a href="http://picslog.picsmate.net/2008/12/08/577/">[clipFolder.js] MDIEでクリップボードからサクッとフォルダを作成</a><br />
<a href="http://picslog.picsmate.net/2007/10/14/148/">選択フォルダの階層構造をテキストファイルに出力するMDIE用スクリプト</a></p>
]]></content:encoded>
			<wfw:commentRss>http://picslog.picsmate.net/2009/02/18/733/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>javascriptでの値の比較結果を表にまとめてみた</title>
		<link>http://picslog.picsmate.net/2009/02/12/717/</link>
		<comments>http://picslog.picsmate.net/2009/02/12/717/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 14:20:34 +0000</pubDate>
		<dc:creator>Mizugame</dc:creator>
				<category><![CDATA[WEB開発]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[メモ]]></category>
		<category><![CDATA[比較]]></category>

		<guid isPermaLink="false">http://picslog.picsmate.net/?p=717</guid>
		<description><![CDATA[
この間のNaNの判定で、ちょっとJavascriptの値の比較を整理しときたいと思ったので表にまとめた。
NaNってホント独特なんだなぁ・・・（￣□￣；）

比較
簡単な比較。
PHPでいう「2a問題」はないけど、型を [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://picslog.picsmate.net/wp/wp-content/uploads/2009/02/2009-2-12_js_check_sheet.jpg" alt="Javascript-比較結果" rel="lightbox[2009-2-12]" title="Javascript-比較結果"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2009/02/2009-2-12_js_check_sheet.thumbnail.jpg" alt="Javascript-比較結果" width="240" height="150" class="attachment wp-att-716 " /></a><br />
この間の<a href="http://picslog.picsmate.net/2009/02/05/698/">NaNの判定</a>で、ちょっとJavascriptの値の比較を整理しときたいと思ったので表にまとめた。</p>
<p>NaNってホント独特なんだなぁ・・・（￣□￣；）<br />
<span id="more-717"></span></p>
<p class="sub">比較</p>
<p>簡単な比較。<br />
PHPでいう「<a href="http://www.google.co.jp/search?hl=ja&#038;q=2a%E5%95%8F%E9%A1%8C&#038;btnG=%E6%A4%9C%E7%B4%A2&#038;lr=" rel="external">2a問題</a>」はないけど、型を意識しない比較。</p>
<p>falseとかは結構広範囲に対応できてしまう。</p>
<p>ちなみにNaNはすべてにおいてfalse。<br />
自分自身でさえも・・・（＞_＜）</p>
<table border="1">
<tr>
<th>比較(==)</th>
<th>true</th>
<th>false</th>
<th>null</th>
<th>undefined</th>
<th>NaN</th>
<th>&#8220;&#8221;</th>
<th>0</th>
<th>&#8220;0&#8243;</th>
<th>&#8220;0a&#8221;</th>
</tr>
<tr>
<th>true</th>
<td class="yellow">true</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
</tr>
<tr>
<th>false</th>
<td class="red">false</td>
<td class="yellow">true</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="yellow">true</td>
<td class="yellow">true</td>
<td class="yellow">true</td>
<td class="red">false</td>
</tr>
<tr>
<th>null</th>
<td class="red">false</td>
<td class="red">false</td>
<td class="yellow">true</td>
<td class="yellow">true</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
</tr>
<tr>
<th>undefined</th>
<td class="red">false</td>
<td class="red">false</td>
<td class="yellow">true</td>
<td class="yellow">true</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
</tr>
<tr>
<th>NaN</th>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
</tr>
<tr>
<th>&#8220;&#8221;</th>
<td class="red">false</td>
<td class="yellow">true</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="yellow">true</td>
<td class="yellow">true</td>
<td class="red">false</td>
<td class="red">false</td>
</tr>
<tr>
<th>0</th>
<td class="red">false</td>
<td class="yellow">true</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="yellow">true</td>
<td class="yellow">true</td>
<td class="yellow">true</td>
<td class="red">false</td>
</tr>
<tr>
<th>0</th>
<td class="red">false</td>
<td class="yellow">true</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="yellow">true</td>
<td class="yellow">true</td>
<td class="red">false</td>
</tr>
<tr>
<th>&#8220;0a&#8221;</th>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="yellow">true</td>
</tr>
</table>
<p class="sub">型比較</p>
<p>より厳密な比較(*°∀°)=3<br />
簡単の比較のようにfalseは柔軟でなくなる。</p>
<p>相変わらずNaNはすべてに対して偽。</p>
<table border="1">
<tr>
<th>型比較(===)</th>
<th>true</th>
<th>false</th>
<th>null</th>
<th>undefined</th>
<th>NaN</th>
<th>&#8220;&#8221;</th>
<th>0</th>
<th>&#8220;0&#8243;</th>
<th>&#8220;0a&#8221;</th>
</tr>
<tr>
<th>true</th>
<td class="yellow">true</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
</tr>
<tr>
<th>false</th>
<td class="red">false</td>
<td class="yellow">true</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
</tr>
<tr>
<th>null</th>
<td class="red">false</td>
<td class="red">false</td>
<td class="yellow">true</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
</tr>
<tr>
<th>undefined</th>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="yellow">true</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
</tr>
<tr>
<th>NaN</th>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
</tr>
<tr>
<th>&#8220;&#8221;</th>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="yellow">true</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
</tr>
<tr>
<th>0</th>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="yellow">true</td>
<td class="red">false</td>
<td class="red">false</td>
</tr>
<tr>
<th>0</th>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="yellow">true</td>
<td class="red">false</td>
</tr>
<tr>
<th>&#8220;0a&#8221;</th>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="red">false</td>
<td class="yellow">true</td>
</tr>
</table>
<p>正確な各比較結果を確認できるように、<a href="http://picsmate.net/sample/js/check_sheet/" rel="sample">実際にJavascriptを走らせる比較表</a>を置いときます。</p>
<p class="sub">おまけに数値のオーバーフローをちょこっと</p>
<p>phpの時もそうだけど、やっぱり数値のオーバーフローは発生する。</p>
<p>「11111111111111111」を境に結果がおかしくなったりし始める。<br />
とにかく当てにならない(＞_＜);;;</p>
<ul>
<li>「11111111111111110」 は「11111111111111110」<br />
  [<a href="javascript:alert(11111111111111110);" rel="javascript">実行して確認</a>]</li>
<li>「11111111111111111」 は「11111111111111112」<br />
  [<a href="javascript:alert(11111111111111111);" rel="javascript">実行して確認</a>]</li>
<li>「11111111111111112」 は「11111111111111112」・・・ってあれ？<br />
  [<a href="javascript:alert(11111111111111112);" rel="javascript">実行して確認</a>]</li>
<li>「11111111111111113」 は「11111111111111112」<br />
  [<a href="javascript:alert(11111111111111113);" rel="javascript">実行して確認</a>]</li>
<li>「11111111111111124」 は「11111111111111124」・・・正常？？？<br />
  [<a href="javascript:alert(11111111111111124);" rel="javascript">実行して確認</a>]</li>
<li>「11111111111111125」 は「11111111111111124」・・・ってオイオイ（￣□￣；）<br />
  [<a href="javascript:alert(11111111111111125);" rel="javascript">実行して確認</a>]</li>
</ul>
<p>ついでに、parseIntによる変換。</p>
<ul>
<li>「&#8221;0&#8243;」 は「0」 [<a href="javascript:alert(parseInt('0'));" rel="javascript">実行して確認</a>]</li>
<li>「&#8221;1&#8243;」 は「1」 [<a href="javascript:alert(parseInt('1'));" rel="javascript">実行して確認</a>]</li>
<li>「&#8221;0a&#8221;」 は「0」  [<a href="javascript:alert(parseInt('0a'));" rel="javascript">実行して確認</a>]</li>
<li>「&#8221;a0&#8243;」 は「NaN」 [<a href="javascript:alert(parseInt('a0'));" rel="javascript">実行して確認</a>]</li>
</ul>
<p>いろいろ抑えとかないと(´･ω･`)</p>
<p>関連情報：<br />
<a href="http://picslog.picsmate.net/2009/02/05/698/">javascriptでNaNを判定してみる</a><br />
<a href="http://picslog.picsmate.net/2008/12/28/652/">JavascriptでindexOfとmatchの速度がちょっと気になった</a><br />
<a href="http://picslog.picsmate.net/2008/12/20/645/">[MDIEスクリプト] select2zip.jsを更新</a></p>
]]></content:encoded>
			<wfw:commentRss>http://picslog.picsmate.net/2009/02/12/717/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>javascriptでNaNを判定してみる</title>
		<link>http://picslog.picsmate.net/2009/02/05/698/</link>
		<comments>http://picslog.picsmate.net/2009/02/05/698/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 12:28:52 +0000</pubDate>
		<dc:creator>Mizugame</dc:creator>
				<category><![CDATA[WEB開発]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[メモ]]></category>

		<guid isPermaLink="false">http://picslog.picsmate.net/?p=698</guid>
		<description><![CDATA[
javascriptでparseIntやparseFloatなんかで文字列型を数値に変換したりするんですが、ちょっとNaNが来たときなんかは判定があやしくなっちゃうんですよね。
例えば
alert(parseInt(' [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2009/02/2009-2-5_javascript_nan.jpg" alt="javascriptでNaNを判定したい" width="345" height="134" class="attachment wp-att-697 " /><br />
javascriptでparseIntやparseFloatなんかで文字列型を数値に変換したりするんですが、ちょっとNaNが来たときなんかは判定があやしくなっちゃうんですよね。</p>
<p>例えば</p>
<pre><code class="color">alert(parseInt('a') ? 'Number' : 'NaN');</code></pre>
<p>みたいな安直なことはできないわけですよ。</p>
<pre><code class="color">alert(parseInt('0') ? 'Number' : 'NaN');</code></pre>
<p>みたいに文字列が「0」の場合、ちゃんと0が返ってきてもNaN判定になっちゃうから。</p>
<p>ググっても「NaN」そのものを判定するのが見つからなかったので、正常にNaNを判定する方法を考えてみた。<br />
・・・検索が下手なだけかもしれないどヽ（´ー｀）┌<br />
<span id="more-698"></span></p>
<p class="sub">Number.NaNを判定</p>
<pre><code class="color">javascript:alert(parseInt('a').toString() == 'NaN');</code></pre>
<p>なんだかパースしながら、さらに文字列に戻しちゃうわけですが(＞▽＜);;;<br />
遠まわしだけど、今のとこ思いつく確実な方法。</p>
<pre><code class="color">alert(parseInt('a') == NaN);</code></pre>
<p>とか</p>
<pre><code class="color">alert(parseInt('a') == Number.NaN);</code></pre>
<p>でいけるかなとか思ってたんだけど、どうも偽が返ってきちゃったので。</p>
<p>もっといい方法を知ってる人がいたら、ぜひ教えてください。</p>
<p>ともかくNaNを文字列に戻すと空になるかなと思ったけど、NaNって文字が返ってくるんだね。</p>
<p class="sub">ちょこっと追記</p>
<p>関数として使うなら<br />
※isNaNって関数がそもそも存在するみたいなのでis_NaNに微変更</p>
<pre><code class="color">function is_NaN($value)
{
  return (typeof $value == 'number' &#038;&#038; $value.toString() == 'NaN');
}

alert(is_NaN(1)); //false
alert(is_NaN('a')); //false
alert(is_NaN(parseInt('a'))); //true
</code></pre>
<p>ってとこだろうか。</p>
<p class="sub">さらに追記</p>
<p>いろいろやってたら、そもそもisNaNって関数があるみたい（￣□￣；<br />
で、全くの無駄記事になるかと思ったら・・・(＞_＜);;;</p>
<pre><code class="color">alert(isNaN(NaN)); //true （これはOK）
alert(isNaN(1)); //false （これもOK）
alert(isNaN(Infinity)); //false （OK）
alert(isNaN(undefined)); //true （あれ？）
alert(isNaN('text')); //true （あれれ？）
alert(isNaN('')); //false （OK）
alert(isNaN('1')); //false （これもOKだけど、キャストされてる？）
alert(isNaN('Infinity')) //false (これもキャストされてる？)
</code></pre>
<p>ダメじゃん。</p>
<p>isNaNだとundefinedとかまでNaNと判定されるらしい。<br />
なんか基準もよくわからないし。</p>
<p>やっぱ正確にはnumber型でかつ文字列に変換後にNaNとなるものを判定するのがいいみたい。<br />
まぁ、勉強になりました(＞_＜);;;</p>
<p>関連記事：<br />
<a href="http://picslog.picsmate.net/2008/12/28/652/">JavascriptでindexOfとmatchの速度がちょっと気になった</a><br />
<a href="http://picslog.picsmate.net/2008/12/20/645/">[MDIEスクリプト] select2zip.jsを更新</a><br />
<a href="http://picslog.picsmate.net/2008/12/08/577/">[clipFolder.js] MDIEでクリップボードからサクッとフォルダを作成</a></p>
]]></content:encoded>
			<wfw:commentRss>http://picslog.picsmate.net/2009/02/05/698/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHPクラスの継承でオーバーライドしてしまった値を取得！</title>
		<link>http://picslog.picsmate.net/2009/01/05/657/</link>
		<comments>http://picslog.picsmate.net/2009/01/05/657/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 12:24:04 +0000</pubDate>
		<dc:creator>Mizugame</dc:creator>
				<category><![CDATA[WEB開発]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[プログラム]]></category>
		<category><![CDATA[メモ]]></category>

		<guid isPermaLink="false">http://picslog.picsmate.net/?p=657</guid>
		<description><![CDATA[
あけましておめでとうございます(＞_＜)
なんだかんだで、ずるずると公開から２回目の新年を迎えてしまいました！
結構な勢いで更新さぼっちゃいましたが、今年もよろしくお願いいたします！！！
と、本題。
少し前にPHPプロ [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://picslog.picsmate.net/wp/wp-content/uploads/2009/01/2009-1-5_php_class_cast.jpg" alt="ソース-オブジェクトをキャスト" rel="lightbox[2009-1-5]" title="ソース-オブジェクトをキャスト"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2009/01/2009-1-5_php_class_cast.thumbnail.jpg" alt="ソース-オブジェクトをキャスト" width="240" height="112" class="attachment wp-att-658 " /></a><br />
あけましておめでとうございます(＞_＜)<br />
なんだかんだで、ずるずると公開から２回目の新年を迎えてしまいました！</p>
<p>結構な勢いで更新さぼっちゃいましたが、今年もよろしくお願いいたします！！！</p>
<p>と、本題。</p>
<p>少し前にPHPプロの質問で、「<a href="http://www.phppro.jp/qa/1722" rel="external">親クラスのメソッドをクラス外から呼びたい</a>」って質問があがっていました。</p>
<p>オブジェクトを配列へキャストするとこうなるんだぁ・・・（￣□￣；）<br />
オーバーライドで上書きしちゃってても、プライベート変数だっても関係ないじゃん・・・っていう話。</p>
<p>質問が解決されてから日が経っちゃってるけど、完全に忘れる前にメモ。</p>
<p>というわけで、自分の中では驚愕の事実だった手法は以下から。<br />
<span id="more-657"></span></p>
<p class="sub">紹介されていたコード</p>
<p>どうやら<a href="http://www.phpunit.de/" rel="external">PHPUnit</a>内の処理を参考にされた模様。</p>
<blockquote cite="http://www.phppro.jp/qa/1722#6994">
<pre><code class="color">&lt;?php 

/**
 * privateな属性の値を参照する。
 * 参考: PHPUnit_Framework_Assert::getObjectAttribute($object, $attributeName)
 */
function get_private_value($obj,$attributeName,$class=false) {
  if( $class===false) {
    $class = get_class($obj);
  }
  $objArray = (array) $obj;
  $privateName = sprintf(" %s %s",$class,$attributeName);
  if( array_key_exists($privateName,$objArray) ) {
    return $objArray[$privateName];
  }
  return null; 

}
  $test=new testClass3(); 

  $ret = get_private_value($test,'a','testClass3');
  var_dump($ret);
  $ret = get_private_value($test,'a','testClass');
  var_dump($ret); 

?&gt;
</code></pre>
</blockquote>
<p>まぁ、これだけだと途中の処理が省略されて、何をやってるのか分からないから、簡単にまとめます。</p>
<p class="sub">まとめ</p>
<p>まずプライベート変数を持った親クラスを作り、オーバーライドさせるために同じ名前のプライベート変数を持たせた子クラスで継承させる。</p>
<pre><code class="color">&lt;?php
//親クラス
class ParentClass {
  private $value = 'ParentClass Value!';
}
//子クラス
class ChildClass extends ParentClass {
  private $value = 'ChildClass Value!';
}
?&gt;
</code></pre>
<p>余計なことは省いて変数を上書きするだけ。</p>
<p>で、オブジェクトを作ってから<strong>配列にキャスト</strong>！(゜∀゜)</p>
<pre><code class="color">&lt;?php
$object = new ChildClass();
var_dump((array)$object);
?&gt;
</code></pre>
<p>ドキドキの結果は・・・。</p>
<pre><code class="color">array(2) {
  ["ChildClass�value"]=>
  string(17) "ChildClass Value!"
  ["ParentClass�value"]=>
  string(18) "ParentClass Value!"
}
</code></pre>
<p>うわーーーー∩(≧∇≦)∩<br />
なにか気持ち悪いものが見えてるけど、各プライベート変数が存在する配列になってるっぽい！</p>
<p>それから元記事で紹介されている</p>
<pre><code class="color">sprintf(" %s %s",$class,$attributeName);</code></pre>
<p>を参考に、質問者の方が回答されている実用的（？）な方法で記述すると。</p>
<pre><code class="color">&lt;?php
$object = new ChildClass();
$arrayObject = (array)$object;

echo "ParentClass Value : ",
  $arrayObject[" ParentClass value"],
  "nChildClass Value : ",
  $arrayObject[" ChildClass value"];
?&gt;</code></pre>
<p>ワクワクの結果は・・・。</p>
<pre><code class="color">ParentClass Value : ParentClass Value!
ChildClass Value : ChildClass Value!
</code></pre>
<p>うはぁ(＞▽＜)／<br />
取り出せたよ！！！</p>
<p>PHPすげぇ(＞_＜);;;<br />
全く使い所がわかんねぇ！！！</p>
<p>すごいんだけど、こういう力技が必要になった時点で設計ミスってる気が・・・。</p>
<p>質問内容もスゴイけど、解決できちゃうところがスゲェ！<br />
・・・そうかぁ、オブジェクトは配列にキャストかぁ(´･ω･`)</p>
<p>PHP4あたりでは<a href="http://www.php.net/manual/ja/function.get-object-vars.php" rel="external">get_object_vars</a>なんかを使って、メンバー変数を確認したりはしたけど、プライベートとか抜き出せないし、まぁメンバー変数を上書きしちゃったら１つの変数だしで、ちょっとどうしようもなかったんだけど。</p>
<p>まだまだPHPには未知の領域が存在しそうです(゜∀゜)</p>
<p>追記（2008-1-5 21：34：12）：<br />
<a href="http://d.hatena.ne.jp/shimooka/searchdiary?word=%2a%5bPHP%5d" rel="external">オブジェクトをarrayにキャストする &#8211; Do You PHP はてな</a><br />
うはぁ、わりと有名なのかな(＞_＜)<br />
いろいろスゲェ。</p>
<p>関連記事：<br />
<a href="http://picslog.picsmate.net/2008/12/28/652/">JavascriptでindexOfとmatchの速度がちょっと気になった</a><br />
<a href="http://picslog.picsmate.net/2008/12/20/645/">[MDIEスクリプト] select2zip.jsを更新</a></p>
]]></content:encoded>
			<wfw:commentRss>http://picslog.picsmate.net/2009/01/05/657/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>JavascriptでindexOfとmatchの速度がちょっと気になった</title>
		<link>http://picslog.picsmate.net/2008/12/28/652/</link>
		<comments>http://picslog.picsmate.net/2008/12/28/652/#comments</comments>
		<pubDate>Sat, 27 Dec 2008 15:26:17 +0000</pubDate>
		<dc:creator>Mizugame</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[プログラム]]></category>
		<category><![CDATA[メモ]]></category>
		<category><![CDATA[日記]]></category>
		<category><![CDATA[Mozilla Firefox]]></category>
		<category><![CDATA[比較]]></category>

		<guid isPermaLink="false">http://picslog.picsmate.net/?p=652</guid>
		<description><![CDATA[
まぁ大したことしてないし、どうでもいい記事なんですけどね。
最近Firefox3でindexOfと正規表現（match）による速度測定をしたけど、速度に差がなかったよ・・・的な記事を見かけた。
そんなことはないはず！と [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-28_js_indexof.jpg" alt="ソース-indexOfとmatchの速度比較" rel="lightbox[2008-12-28]" title="ソース-indexOfとmatchの速度比較"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-28_js_indexof.thumbnail.jpg" alt="ソース-indexOfとmatchの速度比較" width="240" height="150" class="attachment wp-att-653 " /></a><br />
まぁ大したことしてないし、どうでもいい記事なんですけどね。</p>
<p>最近Firefox3でindexOfと正規表現（match）による速度測定をしたけど、速度に差がなかったよ・・・的な記事を見かけた。</p>
<p>そんなことはないはず！とか思いながらも、ちょっと気になったんで簡単に試してみた。<br />
ちょっと元記事がどこいっちゃったのか、紛失しちゃったんですが・・・(＞_＜);;;<br />
<span id="more-652"></span></p>
<p class="sub">実行コード</p>
<p>というわけで、以下のコードを用意して実行してみた。</p>
<pre><code class="color">(function(){
  var $measure = function() {
    this.compact = /s+/g;
  };

    $measure.prototype.time = function()
    {
      return (new Date()).getTime();
    };

    $measure.prototype.exec = function(func)
    {
      var i=0;
      this.st = this.time();
      for (;i&lt;10000;i++) func();
      this.ft = this.time();
      return this.result = func.toString().replace(this.compact, ' ') +
        ' (' + (this.ft - this.st) + ')';
    };

  var $M = new $measure(),
    text = 'abcdefghijklmnopqrstuvwxyz',
    ward = 'lmn',
    reg  = /lmn/;

  alert($M.exec(function()
  {
    text.indexOf(ward);
  }) + 'n'+ $M.exec(function()
  {
    text.match(/lmn/);
  }) + 'n'+ $M.exec(function()
  {
    text.match(reg);
  }));
})();
</code></pre>
<p>やっつけだったんで、突っ込みどころもあるだろうけど、さておき。</p>
<p>処理自体は文字列「abcdefghijklmnopqrstuvwxyz」の中から、「lmn」を探し出すというだけ。</p>
<p class="sub">結果</p>
<ol>
<li>indexOfは5～6ミリ秒前後。</li>
<li>match使用で正規表現を毎回作成すると27～30ミリ秒前後。</li>
<li>match使用で正規表現を変数から割り当てた場合は26～28ミリ秒前後。</li>
</ol>
<p>というわけで、予想通りうちの環境ではindexOfが速い。</p>
<p>正規表現オブジェクトを変数代入した場合と、毎回作成した場合での結果がたまに気になる（￣□￣；）</p>
<p>基本は変数に入れてる方が速いんだけど、たまに逆転したり。<br />
いろいろなプロセスが動いてる状態でテストしてるから、今回はその辺りの誤差だと勝手に納得することにする。</p>
<p>目的は果たせたし。<br />
記事もやっつけ(゜∀゜)</p>
<p>それにしても元記事どこいったんだろう・・・(´･ω･`)</p>
<p class="sub">実行環境</p>
<ol>
<li>OS: Windows XP SP3</li>
<li>CPU: Pen4 3.2G</li>
<li>メモリー: 3G</li>
<li>Firefox3.0.5</li>
</ol>
<p class="sub">おまけ</p>
<p>せっかくなので、ブックマークレットを載せておきます。<br />
<a href="javascript:(function(){var $measure=function(){this.compact=/s+/g;};$measure.prototype.time=function(){return(new Date()).getTime();};$measure.prototype.exec=function(func){var i=0;this.st=this.time();for(;i&lt;10000;i++)func();this.ft=this.time();return this.result=func.toString().replace(this.compact,' ')+' ('+(this.ft-this.st)+')';};var $M=new $measure(),text='abcdefghijklmnopqrstuvwxyz',ward='lmn',reg=/lmn/;alert($M.exec(function(){text.indexOf(ward);})+'n'+$M.exec(function(){text.match(/lmn/);})+'n'+$M.exec(function(){text.match(reg);}));})();" rel="javascript">indexOfとmatchの速度比較</a></p>
<p class="sub">追記：2009-1-21</p>
<p>正規表現とindexOfを比較するなら、大文字小文字の対応も必要だなと思ってtoLowerCaseを加えた。</p>
<p>正規表現は大文字小文字の区別なし、indexOf()はtoLowerCase()を使用した文字を検索するよう変更。</p>
<p>ほぼ一緒だけど、コードは以下の通り。</p>
<pre><code class="color">(function(){
  var $measure = function() {
    this.compact = /s+/g;
  };

    $measure.prototype.time = function()
    {
      return (new Date()).getTime();
    };

    $measure.prototype.exec = function(func)
    {
      var i=0;
      this.st = this.time();
      for (;i&lt;10000;i++) func();
      this.ft = this.time();
      return this.result = func.toString().replace(this.compact, ' ') +
        ' (' + (this.ft - this.st) + ')';
    };

  var $M = new $measure(),
    text = 'abcdefghijklmnopqrstuvwxyz',
    ward = 'lmn',
    reg  = /lmn/i;

  alert($M.exec(function()
  {
    text.indexOf(ward);
  }) + 'n'+ $M.exec(function()
  {
    text.indexOf(ward.toLowerCase());
  }) + 'n'+ $M.exec(function()
  {
    text.match(/lmn/i);
  }) + 'n'+ $M.exec(function()
  {
    text.match(reg);
  }));
})();
</code></pre>
<p class="sub">結果</p>
<ol>
<li>indexOfでtoLowerCaseなしは6ミリ秒前後。</li>
<li>indexOfでtoLowerCaseありは9ミリ秒前後。</li>
<li>match使用で正規表現の大文字小文字の区別なしを毎回作成すると28ミリ秒前後。</li>
<li>match使用で正規表現の大文字小文字の区別なしを変数から割り当てた場合は28ミリ秒前後。</li>
</ol>
<p>toLowerCaseを加えた分少し遅くなったけど、やっぱり正規表現よりは速いらしい。</p>
<p>こちらも、ブックマークレットを載せておきます。<br />
<a href="javascript:(function(){var $measure=function(){this.compact=/s+/g;};$measure.prototype.time=function(){return(new Date()).getTime();};$measure.prototype.exec=function(func){var i=0;this.st=this.time();for(;i&lt;10000;i++)func();this.ft=this.time();return this.result=func.toString().replace(this.compact,' ')+' ('+(this.ft-this.st)+')';};var $M=new $measure(),text='abcdefghijklmnopqrstuvwxyz',ward='lmn',reg=/lmn/i;alert($M.exec(function(){text.indexOf(ward);})+'n'+$M.exec(function(){text.indexOf(ward.toLowerCase());})+'n'+$M.exec(function(){text.match(/lmn/i);})+'n'+$M.exec(function(){text.match(reg);}));})();" rel="javascript">indexOfとmatchの速度比較（toLowerCase追加、正規表現は大文字小文字の区別なし）</a></p>
<p>関連記事：<br />
<a href="http://picslog.picsmate.net/2008/12/20/645/">[MDIEスクリプト] select2zip.jsを更新</a><br />
<a href="http://picslog.picsmate.net/2008/12/08/577/">[clipFolder.js] MDIEでクリップボードからサクッとフォルダを作成</a><br />
<a href="http://picslog.picsmate.net/2008/06/03/324/">AIR用のSQLiteライブラリ「AirDB.js」</a></p>
]]></content:encoded>
			<wfw:commentRss>http://picslog.picsmate.net/2008/12/28/652/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tag Galaxyがスゴイ！</title>
		<link>http://picslog.picsmate.net/2008/12/19/641/</link>
		<comments>http://picslog.picsmate.net/2008/12/19/641/#comments</comments>
		<pubDate>Fri, 19 Dec 2008 07:24:49 +0000</pubDate>
		<dc:creator>Mizugame</dc:creator>
				<category><![CDATA[ブックマーク]]></category>
		<category><![CDATA[メモ]]></category>
		<category><![CDATA[写真]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://picslog.picsmate.net/?p=641</guid>
		<description><![CDATA[
Flashで写真を見れる、暇つぶししにもってこいなサイト。
なんか地球儀みたいな、たくさんの写真でできた星をコロコロできて楽しいです。

というわけで、「Tag Galaxy」はこんな感じ。

名前がタグになってる星の [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-19_taggalaxy_1.jpg" rel="lightbox[2008-12-19]" title="TagGalaxy-星"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-19_taggalaxy_1.thumbnail.jpg" alt="TagGalaxy-星" width="240" height="180" class="attachment wp-att-638 " /></a><br />
Flashで写真を見れる、暇つぶししにもってこいなサイト。</p>
<p>なんか地球儀みたいな、たくさんの写真でできた星をコロコロできて楽しいです。<br />
<span id="more-641"></span></p>
<p>というわけで、「<a href="http://taggalaxy.de/" title="Tag Galaxy" rel="external">Tag Galaxy</a>」はこんな感じ。<br />
<a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-19_taggalaxy_2.jpg" rel="lightbox[2008-12-19]" title="TagGalaxy-タグ検索後"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-19_taggalaxy_2.thumbnail.jpg" alt="TagGalaxy-タグ検索後" width="240" height="180" class="attachment wp-att-639 " /></a><br />
名前がタグになってる星の周りを、衛星が回ってる（・∀・）<br />
衛星は関連性のあるタグ。</p>
<p>すきな星(タグ)をクリックして、星の中へ・・・。<br />
写真を集めるのにちょっと時間がかかる。</p>
<p>星の中に入ると、星をコロコロ。</p>
<p>好きな写真を見つけたらクリック。<br />
<a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-19_taggalaxy_3.jpg" rel="lightbox[2008-12-19]" title="TagGalaxy-写真詳細"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-19_taggalaxy_3.thumbnail.jpg" alt="TagGalaxy-写真詳細" width="240" height="180" class="attachment wp-att-640 " /></a></p>
<p>やっぱり、Flash楽しそうだなぁ・・・。</p>
<p>関連情報:<br />
<a href="http://taggalaxy.de/" title="Tag Galaxy" rel="external">Tag Galaxy</a></p>
<p>関連記事：<br />
<a href="http://picslog.picsmate.net/2008/12/03/553/">プロモサイト「Nespi Mix」がすごい！</a></p>
]]></content:encoded>
			<wfw:commentRss>http://picslog.picsmate.net/2008/12/19/641/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>やっぱDELLはDELLですか・・・</title>
		<link>http://picslog.picsmate.net/2008/12/17/625/</link>
		<comments>http://picslog.picsmate.net/2008/12/17/625/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 22:16:26 +0000</pubDate>
		<dc:creator>Mizugame</dc:creator>
				<category><![CDATA[ブックマーク]]></category>
		<category><![CDATA[メモ]]></category>
		<category><![CDATA[日記]]></category>
		<category><![CDATA[サポート]]></category>
		<category><![CDATA[DELL]]></category>

		<guid isPermaLink="false">http://picslog.picsmate.net/?p=625</guid>
		<description><![CDATA[
あんまりこういう記事を書くつもりはないんだけど、「DELLには幻滅した！（写真追記）」にものすごく共感してしまった。
かくいう私もDELLのサポートの酷さにはうんざりしてたので・・・(´･ω･`)
さすがに火事になりそ [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-17_dell_1.png" rel="lightbox[2008-12-17]" title="DELLには幻滅した！"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-17_dell_1.thumbnail.png" alt="DELLには幻滅した！" width="240" height="114" class="attachment wp-att-624 " /></a><br />
あんまりこういう記事を書くつもりはないんだけど、「<a href="http://anond.hatelabo.jp/20081216043655" rel="external">DELLには幻滅した！（写真追記）</a>」にものすごく共感してしまった。</p>
<p>かくいう私もDELLのサポートの酷さにはうんざりしてたので・・・(´･ω･`)<br />
さすがに火事になりそうとかではなかったけどさ。</p>
<p>というわけで、DELLのPCを買ってどんな仕打ちだったか、まとめてみるよ。<br />
時間たってるから、だいたいでだけど。<br />
<span id="more-625"></span></p>
<p class="sub">PC購入から・・・サポート1回目</p>
<p>1週間くらい経ってから（というか忙しくて、ろくに触れてなかった）、どうもサウンドカードの調子が悪いことに気づく。<br />
※音は出てたけどね。</p>
<p>そこでサポートに電話した時のやりとり。<br />
「M &gt; 」管理人<br />
「D &gt; 」DELL</p>
<ol>
<li>担当者につながる（繋がるのはわりと速かった気がする）</li>
<li>M &gt; 症状を説明。</li>
<li>D &gt; <b>少々</b>お待ちください（担当者がいったん電話から外れる）</li>
<li>少々待ってくださいのはずが、ここで全く連絡ないまま<b>40分</b>ほど待たされる（携帯から電話してるのに！）</li>
<li>D &gt; デバイスを入れ直してください。</li>
<li>とりあえずアンインストールから再インストールまで、丁寧に説明されました。<br />
  そしてインストール終盤頃、まだ途中な感じなのに（いや、途中だ！）、インストール処理をそこで終了（キャンセル）して再起動するように指示される。</li>
<li>D &gt; じゃあ、それでキャンセルを押して、再起動してください。</li>
<li>M &gt; え、キャンセルですか？まだなんか出てますけど・・・。</li>
<li>どうもおかしいから、<b>本当にここで止めていいのか</b>念押ししたけど、いいというので再起動。</li>
<li>再起動してログイン直後、サウンドデバイス関連でアラートが出る（・・・やっぱり）</li>
<li>D &gt; (またも)少々お待ちください。</li>
<li>そしてやっぱり40分待ち</li>
<li>D &gt; システムの復元を実行してもらえますか？</li>
<li>なぜかこのタイミングで「システムの復元」を指示される。（デバイスが消えてるっぽいのに）</li>
<li>M &gt; え、復元ですか？</li>
<li>違う気がするし面倒なんだけど、このまま放置するわけにもいかないので仕方なく復元。<br />
  復元後、ボリュームコントロールにアクセスできなくなる。<br />
  加えてログイン後、毎回に「インターフェースにアクセスできません。」というアラートが出るようになる。</li>
<li>担当者困惑。</li>
<li>時間もない上、解決する気がしないので電話（サポート）終了。</li>
</ol>
<p>結局のところ、デバイスの再インストールだけのサポートに、やたら時間がかかって2時間ちょいかかってたと思うヽ（´ー｀）┌<br />
自分でやればよかった・・・。</p>
<p>しかも解決するどころか、いろいろおかしくなった（　ﾟ Дﾟ）<br />
その後、なんかいろいろ触って自分で解決。</p>
<p class="sub">1年ほど仕方なく使って・・・サポート2回目</p>
<p>一応サウンド関連はなんとか直したものの、どうもサポート受けて以来、不安定でちょくちょくブルー画面が出るようになる。<br />
・・・どのブルー画面だったかは忘れちゃったけど。</p>
<p>しかも、直後決まって恐ろしいほどファンが異常回転する。<br />
掃除機とか比じゃないレベルの音が出るよ（　ﾟ Дﾟ）</p>
<p>この頃DVDドライブが、CDもDVDもほぼ認識出来なくなってたので、合わせてサポートに電話してみた時のやりとり。</p>
<ol>
<li>サポートに連絡して症状を説明、修理を依頼</li>
<li>D &gt; DELLのPC購入時についてた「リソースCD」でPCをチェックしてください。</li>
<li>時間もあまり掛けたくなかったし、そもそも前のサポートでおかしくなってたんだから、ちょっと強引だけど修理に持って行こうとする</li>
<li>M &gt; 前のサポート受けて以来、おかしくなったのは明らかなんで、修理してもらえないですか？</li>
<li>D &gt; 「リソースCD」で確認してもらわないと修理はできません。</li>
<li>どうしても「リソースCD」を試さないと修理できないと言い張る（ここでちょっと口論）<br />
  外に出てる時だったから、「リソースCD」もすぐに試せなかったんだけどね。<br />
  というかCDドライブがおかしくなって<b>CD読めないから</b>から、確認できないんだよ！<br />
  「リソースCD」を使えばいいんだけど、サポートを受けてPCがおかしくなった事実があるから、自分の中で素直に聞き入れれなかった。</li>
<li>M &gt; 話が進展しないので、上の人を出してください。</li>
<li>D &gt; <b>私が上の人です</b></li>
<li>M &gt; は（　ﾟ Дﾟ）?</li>
<li>理解できない言葉を口にする担当者・・・。</li>
<li>M &gt; いや、担当者じゃなくて現場の責任者を出して。</li>
<li>D &gt; <b>私が責任者です</b></li>
<li>なんなんだ、このサポートは・・・。<br />
  とてもお金をもらって仕事してる感じじゃありません。<br />
  子供の喧嘩じゃないんだよ。<br />
  まぁこっちも「リソースCD」を試せばいいんだけど、そもそもドライブが認識しないのに・・・。</li>
<li>どうしても誰か別の人に電話を変わろうとしないので、サポート終了。</li>
</ol>
<p>ホームページとか説明書とか見て、会社の電話窓口を探すものの、サポートとカスタマーくらいしかない。</p>
<p>違うなぁ・・・とか思いながら、仕方がないのでカスタマーに電話。<br />
事情を話して、上の人を出すように頼むと、改めておかけしますと言われたので、こちらの電話番号を伝えて一旦終了。</p>
<p>次の日、電話があったけど・・・。<br />
かかってきたのは、なぜか営業。</p>
<p>仕方がないので、その時のやり取り。</p>
<ol>
<li>状況を説明し、まずは<b>電話担当者が上の者（？）</b>なのか確認。</li>
<li>M &gt; サポートで担当者に責任者に代わってもらうように言ったら自分が責任者だと言って話が進展しないんですけど・・・。</li>
<li>D &gt; わたし、部署（営業）が違うんで、中（サポート）のことはよくわからないんですが・・・。</li>
<li>そりゃそうだ。でも、責任者に電話かけてきてもらうように話をして、おまえが電話かけてきたんだぞ？</li>
<li>D &gt; DELLの社内規則（？）で、<b>電話に出ると途中で担当者が変わることはできない</b>んです。</li>
<li>と意味のわからない衝撃事実を確認。<br />
  とりあえず、客のことは置いといて社内規則が一番重要になってるらしい。</li>
<li>ってことは、サポート出たヤツが何も知ってない奴だったら、ひどい目にあうじゃないか！いや、現にひどい目にあったよ・・・</li>
<li>社内規則とか言われるとどうしようもないので、上の人を出してもらえるように頼む。</li>
<li>M &gt; とりあえず、責任者から連絡いただけないですか？</li>
<li>D &gt; 自分では上の者に取り次ぐことはできないんですよ。</li>
<li>・・・らしい（　ﾟ Дﾟ）?<br />
  電話窓口もほかはどこにも載ってないので、購入者はどうあがいても泣き寝入りしかできない「ダメ会社」であること悟る。<br />
  なんか万策尽きた感じ。<br />
  つまり客からクレームがあっても、<b>絶対</b>に上がってこない完璧なシステム（社内規則）になっているらしい。<br />
  サポートセンター、もしくは電話窓口で<b>完全</b><b>にシャットアウト！<br />
  </b><b>裁判</b>、もしくは<b>DELLの会社前で騒ぎを起こしてみる</b>とかでしか、責任者、上役の耳に入ることはないのかもしれない。</li>
<li>ともかくPCは修理しないといけないから、修理について頼む。</li>
<li>M &gt; 責任者の件はどうしようもないみたいなんで、とりあえず修理してもらえますか？</li>
<li>D &gt; では「リソースCD」を・・・。</li>
<li>やっぱり「リソースCD」の話を持ち出されるので、CDもDVDも読めないことを、もう一度話す。</li>
<li>D &gt; 「リソースCD」の確認がない限り、修理に回せないんです。</li>
<li>・・・と社内規則（リソースCD）を盾に断固拒否。<br />
  ある意味尊敬できるくらいの、社員教育（　ﾟ Дﾟ）<br />
  どういうことだよ。</li>
<li>どうしようもないので、ここで電話終了。</li>
</ol>
<p>ちなみにPC購入時に、<b>サポートや修理保証だけでも5万円</b>以上払ってるんですよ？<br />
今ならウルトラモバイル買えるよ！</p>
<p>何のサポートと保障だよ・・・。<br />
サポートも保障もする気ないなら金返せよ（　ﾟ Дﾟ）</p>
<p>なんか全員、頭がおかしいんじゃないかと思いながらも、もう一度サポートへ・・・。</p>
<p class="sub">サポート3回目</p>
<p>「リソースCD」は使えないだろうけど、「リソースCD」を準備して電話をかける・・・。</p>
<ol>
<li>電話担当者が出る（前の担当者ではなかったので、気持ちほっとする）<br />
  現状までの状況を話して、修理を依頼。</li>
<li>D &gt; （ここでやっぱり）「リソースCD」を試してもらえますか？</li>
<li>M &gt; ・・・はい。</li>
<li>CDドライブ使えないけど、とりあえず入れてドライブからブートを試みる。<br />
  けど、予想通りまったく認識されない。</li>
<li>D &gt; ああ、本当に<b>壊れてますね。</b></li>
<li>M &gt; 壊れてますよ。</li>
<li>D &gt; では、<b>修理の手配をします</b>ので・・・。</li>
<li>M &gt; え？</li>
</ol>
<p>どうやっても修理しようとしなかったのに、「リソースCD」を入れたことで修理フラグがたったらしい・・・。</p>
<p>どういうことだよ・・・。<br />
最初からやってくれよ・・・。<br />
そもそも「リソースCD」<b>まったく</b>役にたってないじゃん。</p>
<p>というわけで、<a href="http://picslog.picsmate.net/2007/06/06/89/" rel="contents">修理できた</a>のでめでたし、めでたし！<br />
・・・と簡単に終わってくれなかったヽ（´ー｀）┌</p>
<p class="sub">サポート4回目</p>
<p>PCが修理から戻ってきたものの忙しかったので、1週間ほど放置してた。<br />
最初のサポートを受けてからPCが調子悪くて、気持ち悪かったんだけど、クリーンインストールを頼んだんで安心してたけど。</p>
<p>起動すると・・・。</p>
<ol>
<li>PCを起動して</li>
<li>アップデートも何もせず、デバイスとかいろいろチェック（というかネットワークもつながずに、接続したUSBもキーボード程度）</li>
<li>チェック過程でWindowsの「ペイント」を起動。<br />
  おもむろに「名前を付けて保存」を選んで、ディスクトップに「フォルダの作成」を試みる。<br />
  ・・・となぜか何も起こらない。<br />
  でもディスクトップで、右クリックからフォルダの作成はできる。</li>
<li>まぁ今までに比べれば些細なことだけど、ペイントに限らずWindowsのファイルピッカーを使うものは、すべからく「フォルダの作成」ボタンが効かない。</li>
<li>電話サポートにクリーンストールを頼んだことと、現状を説明</li>
<li>M &gt; この前、そちらで修理をしてもらってOSのクリーンインストールを行ったんですが・・・。</li>
<li>M &gt; ペイントとかで「ディスクトップ」に「フォルダ作成」のボタンで新しいフォルダを作ろうとすると、何の反応もないんですが、何か直し方ってありますか？</li>
<li>D &gt; パーティションかOSが壊れてて危険な状態ですねぇ</li>
<li>M &gt; え（　ﾟ Дﾟ）？</li>
<li>思いがけない反応にしばらく言葉を失う。<br />
  修理したのはあなた方ですよ？<br />
  しかも、あなた方がクリーンインストールしたそのままですよ？<br />
  （そりゃ、アカウントくらいは作りましたけども・・・）</li>
<li>とりあえず、どうせアプリの追加もなにもやってないので、時間的被害が少ないうちに再度修理を決意。</li>
<li>M &gt; じゃあ、もう一度修理してください。</li>
<li>D &gt; <b>私どもで修理するより、ご自分で修理された方が早いですよ</b>。</li>
<li>M &gt; は（･∀･）？</li>
<li>耳を疑う担当者の思いがけない言葉<br />
  なんか意表を突かれ、逆に自分で状況がわからなくなって、一瞬沈黙。</li>
<li>M &gt; 自分でって・・・。<br />
  こちらは<b>修理保障とサポートにお金払ってる</b>んですよ？<br />
  しかも今回はそちらで修理とクリーンインストールを行ってもらった直後なんで、<b>原因はそっち</b>じゃないですか？</li>
<li>D &gt; 言われていることは分かるんですが、OSの再インストールだと<b>ご自分でやられた方が（時間的に）速い</b>ですよ。</li>
<li>M &gt; いや、時間だけで見たらそうなんだけど・・・。</li>
<li>何でサポートに金払ってる自分が、<b>DELLのサポートの尻拭い</b>をしなきゃいけないのか・・・。</li>
</ol>
<p>この後、修理依頼して<b>壊れて戻ってくる</b>のはオカシイだろうということと、<b>修理保証分はしっかりやってもらうから</b>と、30分くらいコンコンと話してなんとか<a href="http://picslog.picsmate.net/2007/06/27/92/" rel="contents">再度修理</a>へ・・・。</p>
<p>まぁ結果から言うと、とりあえずは直ったんだけど（気になるところはあるけど、もういいや）、この最後の修理はいつもより時間がかかりました。</p>
<p>DELL側でOSを再インストールしても、同じ現象が再現してたらしい。<br />
あとパーツを変えたり、いろいろしても同じ現象がしばらく続いてたらしいよ・・・。</p>
<p>自分で再インストールしなくてよかった（￣□￣；）<br />
時間無駄にした挙句、自分で再インストールしたことで、クリーンインストール直後の症状という<b>証拠</b>がなくなって、修理にも出せなくなってたかもしれない。<br />
もう2度とDELLを選ぶことはないと心に誓った。<br />
DELL、ダメ！ぜったい！</p>
<p>その後、サポートが切れて<b>延長保証の案内</b>がDELLから届く。<br />
※もちろん有償。</p>
<p>ふざけんな！<br />
延長なんかするか！<br />
一昨日きやがれ（　ﾟ Дﾟ）</p>
<p>そして、Yahooで「support」と検索すると、候補で「dell support」が一番最初に来る・・・。<br />
<a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-17_dell_2.jpg" rel="lightbox[2008-12-17]" title="Yahoo!-[support]で検索"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-17_dell_2.thumbnail.jpg" alt="Yahoo!-[support]で検索" width="240" height="150" class="attachment wp-att-626 " /></a><br />
・・・サポートなんて。</p>
<p>※DELLがすごく嫌いになった人の話なので、事実無根の部分・・・があったら良かったんですが、すべて事実です。<br />
※むしろ、もっといろんなひどいやりとりがあったかもしれません。思い出せる範囲だけと、あまりに腹が立ってメモしてた分だけしか書いてないので・・・。<br />
※担当者の発言の一字一句まで保証しませんが、内容はそのままです。</p>
<p>関連記事：<br />
<a href="http://picslog.picsmate.net/2007/06/27/92/">またもパソコン入院中</a><br />
<a href="http://picslog.picsmate.net/2007/06/06/89/">パソコンを修理に出しました。</a></p>
]]></content:encoded>
			<wfw:commentRss>http://picslog.picsmate.net/2008/12/17/625/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>プロモサイト「Nespi Mix」がすごい！</title>
		<link>http://picslog.picsmate.net/2008/12/03/553/</link>
		<comments>http://picslog.picsmate.net/2008/12/03/553/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 15:20:14 +0000</pubDate>
		<dc:creator>Mizugame</dc:creator>
				<category><![CDATA[アート]]></category>
		<category><![CDATA[ブックマーク]]></category>
		<category><![CDATA[メモ]]></category>
		<category><![CDATA[プロモーション]]></category>
		<category><![CDATA[ウェブサイト]]></category>

		<guid isPermaLink="false">http://picslog.picsmate.net/?p=553</guid>
		<description><![CDATA[
ロシアのネスカフェのプロモーションサイト「Nespi Mix」がいろいろとスゴイ！
久々に心トキメキました（*´▽｀*）

サイトは以下アドレスから。
Nespi Mix
※音が出るので注意（　ﾟ Дﾟ）
サイト内にメ [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-3_nespimix_1.jpg" rel="lightbox[pics-1228229007]" title="Nescafe-Nespi Mix"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-3_nespimix_1.thumbnail.jpg" alt="Nescafe-Nespi Mix" width="240" height="153" class="attachment wp-att-545 " /></a><br />
ロシアのネスカフェのプロモーションサイト「Nespi Mix」がいろいろとスゴイ！</p>
<p>久々に心トキメキました（*´▽｀*）<br />
<span id="more-553"></span></p>
<p>サイトは以下アドレスから。<br />
<a href="http://nespimix.ru/" rel="external">Nespi Mix</a><br />
※音が出るので注意（　ﾟ Дﾟ）</p>
<p>サイト内にメニューといった感じの要素がなくて、すべてページに仕込まれたギミックを使うので、最初ちょっと閲覧するのにとまどうかも。</p>
<p>ヘッドフォンで音楽聴いてる人をクリックすると・・・<br />
<a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-3_nespimix_2.jpg" rel="lightbox[pics-1228229007]" title="Nespi Mix-サウンドコントロール"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-3_nespimix_2.thumbnail.jpg" alt="Nespi Mix-サウンドコントロール" width="240" height="144" class="attachment wp-att-546 " /></a><br />
ヘッドフォンを外して・・・<br />
<a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-3_nespimix_3.jpg" rel="lightbox[pics-1228229007]" title="Nespi Mix-サウンドミュート"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-3_nespimix_3.thumbnail.jpg" alt="Nespi Mix-サウンドミュート" width="240" height="144" class="attachment wp-att-547 " /></a><br />
サイトで流れてる音楽がミュートになる！</p>
<p>なんかギャラリーな感じのページは、お兄さんがコンテンツをスライドしてくれます(゜∀゜)<br />
<a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-3_nespimix_4.jpg" rel="lightbox[pics-1228229007]" title="Nespi Mix-ギャラリー"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-3_nespimix_4.thumbnail.jpg" alt="Nespi Mix-ギャラリー" width="240" height="144" class="attachment wp-att-548 " /></a><br />
スライドショーごとに音楽が変わったりも。<br />
流れてる音楽は、なかなか好みなのが多い。</p>
<p>吹き出しがついててもロシア語なので、まったく読めないヽ（´ー｀）┌<br />
<a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-3_nespimix_5.jpg" rel="lightbox[pics-1228229007]" title="Nespi Mix-吹き出しがロシア語"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-3_nespimix_5.thumbnail.jpg" alt="Nespi Mix-吹き出しがロシア語" width="240" height="180" class="attachment wp-att-549 " /></a></p>
<p>ところどころで、すごくセンスを感じたり。<br />
<a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-3_nespimix_6.jpg" rel="lightbox[pics-1228229007]" title="Nespi Mix-センスを感じた作品"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/12/2008-12-3_nespimix_6.thumbnail.jpg" alt="Nespi Mix-センスを感じた作品" width="240" height="180" class="attachment wp-att-550 " /></a></p>
<p>なんにしても、全体的に作りこみがすごい。<br />
遊べるところは全て遊んでみましたというった感じ(*°∀°)=3</p>
<p>パッと見、何のサイトなのかまったく分かんないよ(＞_＜);;;</p>
<p>・・・なんだか<a href="http://ja.wikipedia.org/wiki/DISC_STATION" rel="external">ディスクステーション</a>が読みたくなってきた。</p>
<p>関連情報：<br />
<a href="http://nespimix.ru/" rel="external">Nespi Mix</a></p>
<p>関連記事：<br />
<a href="http://picslog.picsmate.net/2008/05/02/298/">CSSとテキストを駆使して描画された「ザ・シンプソンズ」のホーマー</a></p>
]]></content:encoded>
			<wfw:commentRss>http://picslog.picsmate.net/2008/12/03/553/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>「Aptana Studio」のインストール手順まとめ</title>
		<link>http://picslog.picsmate.net/2008/11/28/522/</link>
		<comments>http://picslog.picsmate.net/2008/11/28/522/#comments</comments>
		<pubDate>Thu, 27 Nov 2008 17:22:14 +0000</pubDate>
		<dc:creator>Mizugame</dc:creator>
				<category><![CDATA[WEB開発]]></category>
		<category><![CDATA[ソフト]]></category>
		<category><![CDATA[プログラム]]></category>
		<category><![CDATA[メモ]]></category>
		<category><![CDATA[日記]]></category>
		<category><![CDATA[Aptana Studio]]></category>
		<category><![CDATA[まとめ]]></category>
		<category><![CDATA[半角スペース]]></category>
		<category><![CDATA[可視化]]></category>
		<category><![CDATA[インデント]]></category>
		<category><![CDATA[インストール]]></category>
		<category><![CDATA[設定]]></category>
		<category><![CDATA[開発環境]]></category>

		<guid isPermaLink="false">http://picslog.picsmate.net/?p=522</guid>
		<description><![CDATA[
xamppに続いて、Aptana Studioのインストールと、設定についてもまとめ。
JavaScriptの開発には、非常に便利だもんね！(≧∇≦)/

Aptana Studioをインストール

まず「ダウンロード [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_1.jpg" rel="lightbox[pics-1227804460]" title="Aptana Studio"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_1.thumbnail.jpg" alt="Aptana Studio" width="240" height="180" class="attachment wp-att-509 " /></a><br />
xamppに続いて、Aptana Studioのインストールと、設定についてもまとめ。</p>
<p>JavaScriptの開発には、非常に便利だもんね！(≧∇≦)/<br />
<span id="more-522"></span></p>
<p class="sub">Aptana Studioをインストール</p>
<ol>
<li>まず「<a href="http://www.aptana.com/studio/download" rel="external">ダウンロードページ</a>」のページから、Aptana Studioをダウンロード。<br />
  <a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_2.jpg" rel="lightbox[pics-1227804460]" title="Aptana Studio-ダウンロード"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_2.thumbnail.jpg" alt="Aptana Studio-ダウンロード" width="240" height="145" class="attachment wp-att-510 " /></a><br />
  インストーラー版でも、zip版でもどっちでもいい。</li>
<li>インストーラー版を使った場合は、表示に従いインストール。<br />
  <a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_3.jpg" rel="lightbox[pics-1227804460]" title="Aptana Studio-インストール"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_3.thumbnail.jpg" alt="Aptana Studio-インストール" width="240" height="186" class="attachment wp-att-511 " /></a><br />
  zip版は解凍するだけなので、実はこっちの方が簡単かも（・∀・）</li>
<li>インストールが終わったから即起動・・・じゃなくて、とりあえず日本語化！（　ﾟ Дﾟ）</li>
</ol>
<p class="sub">Aptana Studioを日本語化</p>
<p>Aptana Studioの初期設定では英語表示なので、Eclipseの言語パック「Pleiades」を利用して日本語化します。</p>
<ol>
<li>まず「<a href="http://mergedoc.sourceforge.jp/" rel="external">Pleiades (プレアデス)</a>」サイトに行って、言語パックをダウンロード。
<p>  <a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_4.jpg" rel="lightbox[pics-1227804460]" title="Pleiades"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_4.thumbnail.jpg" alt="Pleiades" width="240" height="112" class="attachment wp-att-512 " /></a><br />
  とりあえず「Pleiades」をクリックすると・・・。</p>
<p>  <a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_5.jpg" rel="lightbox[pics-1227804460]" title="Pleiades-ダウンロード"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_5.thumbnail.jpg" alt="Pleiades-ダウンロード" width="240" height="121" class="attachment wp-att-513 " /></a><br />
  大きいボタンがあるのでついつい押してみたくなるけど、そこはグッ（　ﾟ Дﾟ）・・・とこらえて。<br />
  「<q cite="http://mergedoc.sourceforge.jp/pleiades.html">Pleiades 本体ダウンロード</q>」項目の「安定版 1.2.3（2008-11-28日現在）」のテキストリンクをクリックしてダウンロード。</li>
<li>ダウンロードしたzipファイルを解凍して、出てきた「features」と「plugins」フォルダごと、Aptana Studioのインストールディレクトリに移動。<br />
  <a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_6.jpg" rel="lightbox[pics-1227804460]" title="Pleiades-Aptanaフォルダに移動"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_6.thumbnail.jpg" alt="Pleiades-Aptanaフォルダに移動" width="240" height="155" class="attachment wp-att-514 " /></a><br />
  同名ファイルがあるので確認が出るけど、そのまま上書きコピー。</li>
<li>次にAptana Studioのインストールディレクトリにある「AptanaStudio.ini」ファイルをテキストエディタで開き、最終行に以下の記述を追加。
<pre><code class="color">-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar=default.splash</code></pre>
</li>
<li>次に言語パックを反映させるのに、Aptana Studioを「-clean」コマンドで起動させる。
<p>  たまにこの「-clean」コマンドが必要なんだけど、いちいちコマンド起動は面倒！<br />
  なのでPleiadesの中に同梱されているバッチファイルを利用(≧∇≦)/<br />
  <a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_7.jpg" rel="lightbox[pics-1227804460]" title="Aptana Studio-バッチファイル"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_7.thumbnail.jpg" alt="Aptana Studio-バッチファイル" width="240" height="63" class="attachment wp-att-515 " /></a><br />
  まずファイル名が「eclipse.exe -clean.cmd」なのを、「AptanaStudio.exe -clean.cmd」と変更し、Aptana Studioのインストールディレクトリに移動。</li>
<li>次にテキストエディタで開いて、「start .\eclipse.exe -clean %*」と記述されている行を
<pre><code class="color">start .\AptanaStudio.exe -clean %*</code></pre>
<p>  と変更して保存。</p>
<p>  これで次回から「-clean」コマンドが必要な場合でも、簡単に実行できます。</li>
<li>バッチファイルからAptana Studioを起動させて、日本語化されてれば成功。</li>
</ol>
<p class="sub">JavaScriptのエラー検証を有効化</p>
<p>Aptana Studioの初期設定ではJavaScriptの構文チェックが無効化されているので、チェックを有効化します。<br />
<a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_8.jpg" rel="lightbox[pics-1227804460]" title="Aptana Studio-初期JavaScriptチェック"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_8.thumbnail.jpg" alt="Aptana Studio-初期JavaScriptチェック" width="240" height="143" class="attachment wp-att-516 " /></a></p>
<ol>
<li>Aptana Studioを起動させて、メニューのウィンドウ &gt; 設定をクリックします。</li>
<li>次に設定画面の左側のツリーからAtpana &gt; エディター &gt; JavaScript &gt; 検証とたどって、バリデーター項目にチェックを入れ設定完了。<br />
  <a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_9.jpg" rel="lightbox[pics-1227804460]" title="Aptana Studio-JavaScriptチェック設定"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_9.thumbnail.jpg" alt="Aptana Studio-JavaScriptチェック設定" width="240" height="232" class="attachment wp-att-517 " /></a></li>
<li>あらめて文法エラーのあるJSファイルを確認。<br />
  <a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_10.jpg" rel="lightbox[pics-1227804460]" title="Aptana Studio-JavaScriptチェック有効化"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_10.thumbnail.jpg" alt="Aptana Studio-JavaScriptチェック有効化" width="240" height="143" class="attachment wp-att-518 " /></a><br />
    構文エラーが出力されるようになったよ！(*°∀°)=3</li>
</ol>
<p class="sub">タブと半角スペースを表示</p>
<p>Aptana Studioの初期設定ではタブと半角スペースが見えないので、可視化します。<br />
<a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_11.jpg" rel="lightbox[pics-1227804460]" title="Aptana Studio-インデント非表示"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_11.thumbnail.jpg" alt="Aptana Studio-インデント非表示" width="240" height="143" class="attachment wp-att-519 " /></a></p>
<p>今回は説明を省略しますが、全角スペースも可視化する場合は、プラグインの「<a href="http://mergedoc.sourceforge.jp/jstyle.html" rel="external">jStyle</a>」を追加します。</p>
<ol>
<li>Aptana Studioを起動させて、メニューのナビゲートの下あたりにある、なんて言うのかわからないツールボタンをクリックするだけ。<br />
  タブや半角スペース、改行コードまで可視化できます。<br />
  <a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_12.jpg" rel="lightbox[pics-1227804460]" title="Aptana Studio-インデント可視化"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_12.thumbnail.jpg" alt="Aptana Studio-インデント可視化" width="240" height="143" class="attachment wp-att-520 " /></a><br />
  ボタンはキャプチャ画像を参考にしてください(´･ω･`)</li>
<li>ついでに、その横のリストのようなボタンをクリックすると、エディタのピアノキーが有効になって、1行毎に色が変わります。<br />
  <a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_13.jpg" rel="lightbox[pics-1227804460]" title="Aptana Studio-ピアノキー有効化"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-28_aptana_13.thumbnail.jpg" alt="Aptana Studio-ピアノキー有効化" width="240" height="143" class="attachment wp-att-521 " /></a><br />
  初期設定のままだから、色が薄くて分かりにくいけど(＞_＜)</li>
</ol>
<p>いくつかプラグインの導入方法も載せようかと思ったけど、以外と長くなったのでここまで。</p>
<p>また気が向いたら載せるかもです( ・ω・)</p>
<p>関連情報：<br />
<a href="http://www.aptana.com/" rel="external">Aptana</a><br />
<a href="http://mergedoc.sourceforge.jp/" rel="external">MergeDoc Project (Eclipse 日本語化)</a><br />
<a href="http://mergedoc.sourceforge.jp/jstyle.html" rel="external">JStyle (Eclipse 改行、タブ、全角空白を表示)</a></p>
<p>関連記事：<br />
<a href="http://picslog.picsmate.net/2008/11/27/500/">xamppのインストール手順まとめ</a><br />
<a href="http://picslog.picsmate.net/2008/11/26/480/">Windows XPを再インストール中</a><br />
<a href="http://picslog.picsmate.net/2008/11/21/447/">コマンドプロンプトの覚え書き</a></p>
]]></content:encoded>
			<wfw:commentRss>http://picslog.picsmate.net/2008/11/28/522/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>xamppのインストール手順まとめ</title>
		<link>http://picslog.picsmate.net/2008/11/27/500/</link>
		<comments>http://picslog.picsmate.net/2008/11/27/500/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 19:18:09 +0000</pubDate>
		<dc:creator>Mizugame</dc:creator>
				<category><![CDATA[WEB開発]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ソフト]]></category>
		<category><![CDATA[プログラム]]></category>
		<category><![CDATA[メモ]]></category>
		<category><![CDATA[まとめ]]></category>
		<category><![CDATA[インストール]]></category>
		<category><![CDATA[環境変数]]></category>
		<category><![CDATA[設定]]></category>
		<category><![CDATA[開発環境]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[xampp]]></category>
		<category><![CDATA[文字コード]]></category>

		<guid isPermaLink="false">http://picslog.picsmate.net/?p=500</guid>
		<description><![CDATA[
OSの再インストールに伴い、開発環境も再構築中。
まずは「xampp」と「Aptana Studio」をインストール。
いろいろ入れ直すのが面倒なので、いろいろ詰め込まれた「Pleiades All in One パッ [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_xampp_1.jpg" rel="lightbox[pics-1227725241]" title="xampp-コントロールパネル"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_xampp_1.thumbnail.jpg" alt="xampp-コントロールパネル" width="240" height="193" class="attachment wp-att-488 " /></a><br />
<a href="http://picslog.picsmate.net/2008/11/26/480/">OSの再インストール</a>に伴い、開発環境も再構築中。</p>
<p>まずは「xampp」と「Aptana Studio」をインストール。</p>
<p>いろいろ入れ直すのが面倒なので、いろいろ詰め込まれた「<a href="http://mergedoc.sourceforge.jp/" rel="external">Pleiades All in One パッケージ</a>」のEclipseでも入れちゃおうかとも思ったりもしたけど。</p>
<p>とりあえず「xampp」セットアップから、PHP、Mysqlの設定手順についてまとめ。<br />
<span id="more-500"></span></p>
<p class="sub">xamppをインストール</p>
<ol>
<li>今回は「<a href="http://www.apachefriends.org/jp/xampp-windows.html" rel="external">apache friends</a>」からxamppのインストーラー版をダウンロード。<br />
  <a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_xampp_2.jpg" rel="lightbox[pics500]" title="xampp-ダウンロード"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_xampp_2.thumbnail.jpg" alt="xampp-ダウンロード" width="240" height="162" class="attachment wp-att-489 " /></a><br />
  別にzip版でも、そんなに作業内容は変わんないので、好みで( ・ω・)</li>
<li>表示に従って、さくさくインストール。<br />
  <a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_xampp_3.jpg" rel="lightbox[pics500]" title="xampp-インストール"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_xampp_3.thumbnail.jpg" alt="xampp-インストール" width="240" height="149" class="attachment wp-att-490 " /></a></p>
<p>  インストール後に起動確認。<br />
  <a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_xampp_1.jpg" rel="lightbox[pics-1227725241]" title="xampp-コントロールパネル"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_xampp_1.thumbnail.jpg" alt="xampp-コントロールパネル" width="240" height="193" class="attachment wp-att-488 " /></a></li>
<li>今回は業務専用のパソコンでないので、パソコン起動毎にApacheとMysqlを立ち上げる必要はないから、スタートアップを手動に変える。
<p>  コントロールパネル &gt; 管理ツールから、サービスを起動してApacheとMysqlの「スタートアップの種類」を「手動」に変更。<br />
  <a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_xampp_4.jpg" rel="lightbox[pics500]" title="Apache-スタートアップを手動"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_xampp_4.thumbnail.jpg" alt="Apache-スタートアップを手動" width="240" height="219" class="attachment wp-att-491 " /></a></li>
</ol>
<p class="sub">Apacheの設定</p>
<p>「httpd.conf」を書き換えるんだけど、ある程度ファイルを分けてたほうが設定を間違った場合に修正しやすいので、「<a href="http://httpd.apache.org/docs/2.2/ja/mod/core.html#include" rel="external">Include</a>」を使って、自分設定を分けておく方が便利(*°∀°)=3</p>
<ol>
<li>xamppのインストールディレクトリ &gt; apache &gt; confディレクトリに移動。</li>
<li>「httpd.conf」をテキストエディタで開く。<br />
  ついでに「httpd.conf」を別名でバックアップとかしてた方がいいかも(≧∇≦)/</li>
<li>「httpd.conf」の最終行に移動して、
<pre><code class="color">#自分設定 (2008-11-26更新)
Include "C:\自分のconfを置くディレクトリ\*.conf"</code></pre>
<p>  みたいに記述しておき保存。</p>
<p>  あとは自分設定の保存予定地に、ファイル名.confの要領で好きなだけ設定を追加する。</p>
<p>  Apacheが動かなくなった時は、拡張子をtxtなんかにでも書き換えれば、どれが不具合起してるのか見つけやすくていいよ(゜∀゜)</li>
<li>最後にApacheサービスを再起動して、ブラウザで「http://locslhost/」を叩いて、お約束の確認。<br />
  <a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_xampp_5.jpg" rel="lightbox[pics500]" title="xampp-スタートページ"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_xampp_5.thumbnail.jpg" alt="xampp-スタートページ" width="240" height="110" class="attachment wp-att-492 " /></a></li>
</ol>
<p class="sub">PHPとMysqlのパスを通す</p>
<p>コマンドラインからサクッと実行できるように、PHPとMysqlのパスを通しておきます（・∀・）</p>
<p>Mysqlはサービスを起動しないと実行できないけど、PHPはパスさえ通しておけば実行できるので簡単便利。<br />
（php.iniのパスを渡してやらないと設定が違ってたりするけどね）</p>
<ol>
<li>コントロールパネル &gt; システム &gt; 詳細設定から、環境変数をクリック。</li>
<li>システム環境変数の新規ボタンをクリックし、とりあえずxamppのパスを変数登録してあげる。<br />
  <a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_xampp_6.jpg" rel="lightbox[pics500]" title="xampp-パスを環境変数に登録"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_xampp_6.thumbnail.jpg" alt="xampp-パスを環境変数に登録" width="240" height="82" class="attachment wp-att-493 " /></a><br />
  ※画像はCドライブ直下にxamppをインストールした場合。</p>
<p>  必須じゃないけど、パスを通した時に少しでも見通しを良くするための俺仕様(^_^;)</li>
<li>システム変数の「Path」をダブルクリックしてパスを通す。<br />
  <a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_xampp_7.jpg" rel="lightbox[pics500]" title="php、mysqlのパスを通す"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_xampp_7.thumbnail.jpg" alt="php、mysqlのパスを通す" width="240" height="200" class="attachment wp-att-494 " /></a></p>
<p>  今回はxamppのパスを登録しているので、Path変数の最後に</p>
<pre><code class="color">;%XAMPP%\php;%XAMPP%\mysql\bin</code></pre>
<p>  を追加。</p>
<p>  ちょっと読みやすくなった！・・・よね？(＞_＜)</li>
<li>変数が通ったか確認するのに、コマンドラインからPHPを実行。<br />
  <a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_php_1.jpg" rel="lightbox[pics500]" title="PHP-コマンドプロンプトで確認"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_php_1.thumbnail.jpg" alt="PHP-コマンドプロンプトで確認" width="240" height="175" class="attachment wp-att-495 " /></a><br />
  問題なし！(*°∀°)=3</p>
<p>  コピペ用にコードも載せておきます。</p>
<pre><code class="color">php -r "echo phpversion();";</code></pre>
</li>
</ol>
<p class="sub">PHPの設定</p>
<p>これは好きにすればいいんだけど、とりあえずxamppバンドルのphp.iniは「magic_quotes_gpc」がOnになってるので、とりあえずこれだけ修正。</p>
<ol>
<li>xamppのインストールディレクトリ &gt; apache &gt; binディレクトリに移動。<br />
  ※xamppの場合、phpディレクトリのphp.iniはダミーなので注意！(＞_＜)</li>
<li>「php.ini」をテキストエディタで開く。<br />
  Apache設定同様に別名でバックアップとかしてた方がいいかもね！</li>
<li>テキストファイルから「magic_quotes_gpc」を検索。</li>
<li>「On」から「Off」に書き換える。</li>
</ol>
<p class="sub">Mysqlの設定</p>
<p>基本UTF-8で使ってるので、とりあえず文字コードをUTF-8に統一。</p>
<ol>
<li>xamppのインストールディレクトリ &gt; mysql &gt; binディレクトリに移動</li>
<li>「my」と見えている短縮ダイヤルファイルヽ（´ー｀）┌<br />
  <a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_mysql_1.jpg" rel="lightbox[pics500]" title="mysql-設定ファイル"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_mysql_1.thumbnail.jpg" alt="mysql-設定ファイル" width="240" height="133" class="attachment wp-att-496 " /></a><br />
  これがMysqlの設定ファイルなので、テキストエディタで開く。<br />
  必要ならバックアップ（・∀・）</p>
<p>  windowsでは「cnf」拡張子が短縮ダイヤルファイルとして設定されてるんだね( ・ω・)</li>
<li>[mysqld]項目の直後に以下の記述を追加。
<pre><code class="color">default-character-set = utf8
skip-character-set-client-handshake </code></pre>
</li>
<li>mysqlを起動し確認。<br />
  だけど、このまま書くと読みにくいので、いったん切り上げます(゜∀゜)</li>
</ol>
<p class="sub">Mysqlの文字コードを確認</p>
<ol>
<li>xamppコントロールパネルなどから、Mysqlサービスを起動。</li>
<li>コマンドプロンプトでMysqlに接続するのに、以下コード実行。
<pre><code class="color">mysql -u root</code></pre>
<p>  ※最初はMysqlのroot権限にパスワードがないので、この後でパスワード設定に移ります。</li>
<li>次にデータベースの文字コードを列挙させる。
<pre><code class="color">show variables like "char%";</code></pre>
</li>
<li>filesystem項目以外がUTF-8になっていることを確認して終了。<br />
  <a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_mysql_2.jpg" rel="lightbox[pics500]" title="mysql-文字コード確認"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_mysql_2.thumbnail.jpg" alt="mysql-文字コード確認" width="240" height="175" class="attachment wp-att-497 " /></a></li>
</ol>
<p class="sub">Mysqlにパスワードを設定</p>
<p>Mysqlのインストール直後は、rootユーザにパスワードが設定されてない(*°∀°)=3<br />
このまま放置するわけにいかないので、パスワードを設定。</p>
<ol>
<li>xamppコントロールパネルなどから、Mysqlサービスを起動。</li>
<li>コマンドプロンプトでmysqladminを使って、パスワードを設定。
<pre><code class="color">mysqladmin -u root -p パスワードに設定する文字列</code></pre>
</li>
<li>パスワード設定後に、そのパスワードを使ってログイン。
<pre><code class="color">mysqladmin -u root -p</code></pre>
</li>
<li>実行後、パスワードを聞いてくるので、設定したパスワードを入力<br />
  <a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_mysql_3.jpg" rel="lightbox[pics500]" title="mysql-パスワード設定"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_mysql_3.thumbnail.jpg" alt="mysql-パスワード設定" width="240" height="175" class="attachment wp-att-498 " /></a><br />
  ログインできれば成功。</li>
</ol>
<p class="sub">Mysqlにパスワードを設定２</p>
<p>一度パスワードを設定してしまうと、mysqladminから前に使ったコマンドでパスワードを再設定できないので、通常のパスワード設定方法も紹介。</p>
<ol>
<li>xamppコントロールパネルなどから、Mysqlサービスを起動。</li>
<li>コマンドプロンプトから、とりあえずmysqlにログイン。
<pre><code class="color">mysql -u root</code></pre>
<p>  すでにパスワードを設定している場合は、「-p」コマンドも付け加えてパスワードも入力。</li>
<li>ログイン後、以下コマンドを実行。
<pre><code class="color">set password for root@localhost=password('設定するパスワード');</code></pre>
<p>  <a href="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_mysql_4.jpg" rel="lightbox[pics500]" title="mysql-パスワード設定2"><img src="http://picslog.picsmate.net/wp/wp-content/uploads/2008/11/2008-11-27_mysql_4.thumbnail.jpg" alt="mysql-パスワード設定2" width="240" height="175" class="attachment wp-att-499 " /></a><br />
  こっちだと何度でも再設定できる。</li>
</ol>
<p>ちょっと1ページに詰め込みすぎたかもしれない。</p>
<p>明日、<a href="http://picslog.picsmate.net/2008/11/28/522/">「Aptana」の初期設定方法</a>も書く予定。</p>
<p>関連情報：<br />
<a href="http://www.apachefriends.org/jp/xampp-windows.html" rel="external">apache friends &#8211; xampp for windows</a></p>
<p>関連記事：<br />
<a href="http://picslog.picsmate.net/2008/11/26/480/">Windows XPを再インストール中</a><br />
<a href="http://picslog.picsmate.net/2008/11/21/447/">コマンドプロンプトの覚え書き</a></p>
]]></content:encoded>
			<wfw:commentRss>http://picslog.picsmate.net/2008/11/27/500/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
