<?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>One Sweet Day</title>
	<atom:link href="http://blueruin.org/feed" rel="self" type="application/rss+xml" />
	<link>http://blueruin.org</link>
	<description>행복한 내일을 준비하는 곳</description>
	<lastBuildDate>Thu, 13 Nov 2014 01:52:40 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.1</generator>
	<item>
		<title>MPoD 용 이미지파일 추출 스크립트</title>
		<link>http://blueruin.org/archives/599</link>
		<comments>http://blueruin.org/archives/599#comments</comments>
		<pubDate>Fri, 24 Jan 2014 14:09:02 +0000</pubDate>
		<dc:creator><![CDATA[blueruin]]></dc:creator>
				<category><![CDATA[Note]]></category>

		<guid isPermaLink="false">http://blueruin.org/?p=599</guid>
		<description><![CDATA[임시로 대충 짜집기하여 만든것. &#60;?php require_once&#40;'getID3/getid3/getid3.php'&#41;; &#160; $folderName = &#34;/var/www/Music/&#34;.urldecode&#40;dirname&#40;$_SERVER&#91;'QUERY_STRING'&#93;&#41;&#41;; &#160; $d = dir&#40;$folderName&#41;; while&#40;false !== &#40;$entry = $d-&#62;read&#40;&#41;&#41;&#41; &#123; if&#40; $entry == '.' &#124;&#124; $entry == '..' &#41; continue; if&#40; isMusicFile&#40;$entry&#41; &#41; &#123; getImage&#40;$folderName.'/'.$entry&#41;; $d-&#62;close&#40;&#41;; exit; &#125; &#125; $d-&#62;close&#40;&#41;; &#160; function getImage&#40;$filename&#41; &#123; $getID3 = new GetID3; $getID3-&#62;option_tag_id3v2 = true; # Don't know what [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>임시로 대충 짜집기하여 만든것.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'getID3/getid3/getid3.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$folderName</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;/var/www/Music/&quot;</span><span style="color: #339933;">.</span><span style="color: #990000;">urldecode</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">dirname</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'QUERY_STRING'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$d</span> <span style="color: #339933;">=</span> <span style="color: #990000;">dir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$folderName</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">false</span> <span style="color: #339933;">!==</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$entry</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$d</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">read</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$entry</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'.'</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$entry</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'..'</span> <span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">continue</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> isMusicFile<span style="color: #009900;">&#40;</span><span style="color: #000088;">$entry</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		getImage<span style="color: #009900;">&#40;</span><span style="color: #000088;">$folderName</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'/'</span><span style="color: #339933;">.</span><span style="color: #000088;">$entry</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$d</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #990000;">exit</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000088;">$d</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> getImage<span style="color: #009900;">&#40;</span><span style="color: #000088;">$filename</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$getID3</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> GetID3<span style="color: #339933;">;</span>
	<span style="color: #000088;">$getID3</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">option_tag_id3v2</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;"># Don't know what this does yet 	
</span>	<span style="color: #000088;">$getID3</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">option_tags_images</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$getID3</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">analyze</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$filename</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$cover</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$mimetype</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$getID3</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id3v2'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'APIC'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	    <span style="color: #000088;">$cover</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$getID3</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id3v2'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'APIC'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$getID3</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id3v2'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PIC'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	    <span style="color: #000088;">$cover</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$getID3</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id3v2'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PIC'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$getID3</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comments'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'picture'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">// for m4a </span>
		<span style="color: #000088;">$cover</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$getID3</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comments'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'picture'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$mimetype</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$getID3</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comments'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'picture'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'image_mime'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span><span style="color: #000088;">$mimetype</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$getID3</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id3v2'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'APIC'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'image_mime'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		    <span style="color: #000088;">$mimetype</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$getID3</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id3v2'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'APIC'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'image_mime'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
		    <span style="color: #000088;">$mimetype</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'image/jpeg'</span><span style="color: #339933;">;</span> 
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">is_null</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cover</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
		<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-Type: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$mimetype</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$getID3</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id3v2'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'APIC'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'image_bytes'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
			<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-Length: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$getID3</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id3v2'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'APIC'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'image_bytes'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
		<span style="color: #009900;">&#125;</span> 
		<span style="color: #b1b100;">echo</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cover</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> isMusicFile<span style="color: #009900;">&#40;</span><span style="color: #000088;">$filename</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$tmp</span> <span style="color: #339933;">=</span> <span style="color: #990000;">pathinfo</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$filename</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$tmp</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'extension'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'m4a'</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$tmp</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'extension'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'mp3'</span> <span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">else</span> <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://blueruin.org/archives/599/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Singleton pattern in PHP</title>
		<link>http://blueruin.org/archives/500</link>
		<comments>http://blueruin.org/archives/500#comments</comments>
		<pubDate>Tue, 15 Feb 2011 15:40:34 +0000</pubDate>
		<dc:creator><![CDATA[blueruin]]></dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[design pattern]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blueruin.org/?p=500</guid>
		<description><![CDATA[오늘 RSS를 훓어보다 자주가는 개발자 커뮤니티에 다음과 같은 질문이 올라온것을 보았다. &#8220;PHP에서의 Singleton pattern&#8221; 마침 몇일전 새로온 개발자와 singleton pattern에 대해 이야기했기에 아래와 같이 답변을 달았다. 질문 알맞게 Singleton pattern을 쓰면 퍼포먼스가 향상되는걸로 알고있습니다. 그런데 PHP는 request마다 자동으로 thread를 할당시키므로 Memory Sharing이 안되는걸로 아는데요, Singleton pattern이 의미가 있나요? 답변 싱글톤을 사용하는 목적에는 퍼포먼스 향상도 있지만 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>오늘 RSS를 훓어보다 자주가는 개발자 커뮤니티에 다음과 같은 질문이 올라온것을 보았다.</p>
<blockquote><p>&#8220;PHP에서의 Singleton pattern&#8221;</p></blockquote>
<p>마침 몇일전 새로온 개발자와 singleton pattern에 대해 이야기했기에 아래와 같이 답변을 달았다.</p>
<p><strong>질문</strong></p>
<blockquote><p>
알맞게 Singleton pattern을 쓰면 퍼포먼스가 향상되는걸로 알고있습니다.<br />
그런데 PHP는 request마다 자동으로 thread를 할당시키므로 Memory Sharing이 안되는걸로 아는데요,<br />
Singleton pattern이 의미가 있나요?</p></blockquote>
<p><span id="more-500"></span><br />
<strong>답변</strong></p>
<blockquote><p>
싱글톤을 사용하는 목적에는 퍼포먼스 향상도 있지만 객체의 안전한 사용도 있습니다.</p>
<p>쉬운예로<br />
database에 접속하는 db 라는 객체의 경우 쿼리가 많더라도 연결(connect)은 한번만 되는게 맞습니다. 하지만 클래스나 함수내에서 database 에 쿼리를 넣을때마다 매번 db 객체를 생성(new)하면 매번 연결되겠죠. 이럴경우 이미 생성된 db 객체를 싱글톤으로 받으면 최초 한번 생성된 객체를 사용하여 database 에 접근할 수 있습니다.</p>
<p>물론 database 연결같은 경우 언어차원에서 최적화된 방법을 제공하기도해서 임의의 싱글톤사용이 퍼포먼스를 크게 향상시킨다고 단정할 순 없지만<br />
db에 요청된 쿼리의 분석같은 단일객체를 유지하는게 필수적인 경우 유용합니다. 전역변수로 생성하거나 해당 객체를 매번 클래스마다 건네받기에는 코드의 안정성이나 효율문제도 있고 확장의 문제도 있겠죠.</p>
<p>질문에 대한 직접적인 답변을 하라면,<br />
한번의 request동안 진행되는 여러개의 프로세스에서 싱글톤으로 사용하기 위함. 정도라고보면 되겠네요.</p></blockquote>
<p>여기까지가 내가 답변한 내용이었는데, 약간의 이해를 돕기 위해 포스트로 남긴다.<br />
singleton pattern 은 프로그램이 실행하는데 딱 한개의 객체만이 생성되야할때 사용하는 방법으로 가장 기본적인 디자인패턴중 하나이다. 위에 답변한 database 관련된 내용을 코드와 함께 설명한다면 다음 정도가 되겠다.</p>
<p>일반적인 클래스로 객체를 생성하여 사용한다면 다음과 같이 사용할 수 있다.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> DB <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">connect</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> connect<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">// database connect</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> query<span style="color: #009900;">&#40;</span><span style="color: #000088;">$query</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">// query</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000088;">$db</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> DB<span style="color: #339933;">;</span>
<span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT * FROM table&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>아무 문제 없어보인다. 하지만 이 클래스는 객체를 생성할때마다 connect() 를 실행하기 때문에 여러곳에서 사용하려면 여러번의 database 연결이 불가피해진다. 웹어플리케이션에서 db 사용에 있어 가장 큰 비용이 connection임을 고려한다면 심각한 문제이다. 뿐만 아니라 퍼포먼스를 차치하더라도 필요한 구현 자체가 힘들거나 불가능해질 수 있다. 예를 들어 database에 질의된 모든 쿼리들의 수행시각을 뽑아내려고 할때 여러개의 객체에서 각각의 쿼리를 처리한다면 모든 객체를 뒤져서 수행시각을 뽑아내야할것이다. </p>
<p>자 그럼 어떻게 하면 좋을까?<br />
db 객체를 생성할때 이미 만들어놓은(database 에 연결된) 객체가 있다면 그것을 사용하여 쿼리를 처리하도록 하면 된다. 이게 바로 singleton pattern 의 핵심이다.<br />
코드로 구현하면 다음정도가 된다.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> DB <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">connect</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">function</span> connect<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">// database connect</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #339933;">&amp;</span>getInstance<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        static <span style="color: #000088;">$instances</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span><span style="color: #990000;">array_key_exists</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'DB'</span> <span style="color: #339933;">,</span> <span style="color: #000088;">$instance</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$instances</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'DB'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> DB<span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000088;">$instance</span> <span style="color: #339933;">=&amp;</span> <span style="color: #000088;">$instances</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'DB'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$instance</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> query<span style="color: #009900;">&#40;</span><span style="color: #000088;">$query</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">// query </span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000088;">$db</span> <span style="color: #339933;">=</span> DB<span style="color: #339933;">::</span><span style="color: #004000;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT * FROM table&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>이렇게 하면 어디서든 DB::getInstace() 메소드를 통해 유일한 database resource를 사용할 수 있다.<br />
또한 전역변수로 설정하거나 DB 클래스를 직접 상속받지 않아도 다음과 같이 다른 클래스 내부에서 사용할 수 있기때문에 안정성 및 확정성도 좋아지게 된다.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> MyCar <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">function</span> getModel<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$db</span> <span style="color: #339933;">=</span> DB<span style="color: #339933;">::</span><span style="color: #004000;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT * FROM table&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>이렇듯 singleton pattern 을 잘 응용하면 많은 성능향상과 확장성을 잡을 수 있기 때문에 객체지향적인 프로그래밍에서는 필수적인 기술이다. 물론 singleton pattern 을 몰라도 비슷하게 구현해 낼 수 있을지 모른다. 하지만 이것은 내 작업실에 &#8216;포크레인&#8217;이 있음에도 그 사실을 몰라 &#8216;삽질&#8217;하는 것과 마찬가지아닐까. 이것이 바로 디자인 패턴의 힘이다.</p>
<p>그리고..<br />
이 포스트를 작성하는 진짜 이유, 내가 하고 싶은 이야기는 이제부터다.<br />
PHP로 10년이상 프로젝트를 수행해오면서 수많은 개발자를 만났다. 그중 실력자들도 있었지만 경력에 비해 기본이 조금 부족하지 않나 싶은 개발자도 적지 않았다. 특히 이번에 새로 작업을 맡긴 개발자의 경우 실무 경력이 5년이 넘어가지만 singleton pattern 을 포함한 디자인패턴에 대한 이해가 전혀 없었다. 물론 디자인패턴을 많이 안다고  실력이 좋고, 모른다고 실력이 없다고 할수는 없지만 &#8220;아는 만큼 효율적인 것&#8221; 이 바로 소프트웨어 개발, 특히 코딩이다.</p>
<p>자바나 C++ 같은 태생이 객체지향인 언어들로 프로그래밍을 배운경우 입문서적부터 객체지향적인 사고를 강조하고 객체에 대해서 이해시키도록 하기때문에 자연스럽게 이런 개념과 스킬을 습득하는 편이지만 PHP의 경우 PHP가 적극적으로 사용되기시작한 시점(PHP3 과 PHP4) 에서는 객체지향적인 언어가 아니었기 때문에 그당시 공부를 하였거나 그때 만들어진 소스로 공부를 한 사람은 PHP로 객체지향적인 사용을 잘 하지 못하는 경향이 있다. 심지어 최근 서적에서조차 PHP를 단순한 순차적 인터프리터 정도로만 설명하고 그런 방식의 사용을 종용한다. </p>
<p>이제 PHP 언어는 객체지향 언어라고 불러도 좋을만큼 객체지향 프로그래밍을 하는데 필요한 요소를 제공한다. 객체, 클래스, 메서드등은 물론 인스턴스, 상속, 캡슐화, 추상화 개념도 잘 구현해놓았으며 최근에는 네임스페이스와 같은 기능도 도입되면서 대규모 프로젝트에서의 설계/구현에 있어서 부족함이 없다. 그런만큼 PHP 개발자들은 이런 개념과 기능을 빨리 습득하여 좀더 견고하고 유지보수가 쉬운 소프트웨어를 만들었으면 하는 바램이다.</p>
]]></content:encoded>
			<wfw:commentRss>http://blueruin.org/archives/500/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Goodbye 2010</title>
		<link>http://blueruin.org/archives/478</link>
		<comments>http://blueruin.org/archives/478#comments</comments>
		<pubDate>Fri, 31 Dec 2010 14:00:47 +0000</pubDate>
		<dc:creator><![CDATA[blueruin]]></dc:creator>
				<category><![CDATA[Note]]></category>

		<guid isPermaLink="false">http://blueruin.org/?p=478</guid>
		<description><![CDATA[딱 1년전 &#8220;Goodbye 2009&#8243; 를 포스팅했던 때가 기억난다. 바로 지금 이자리에서 키보드를 두드리던 기억이 이리도 생생한데 벌써 일년이 지났다니! 하긴 지난 365일을 돌아보면 짧지만은 않은 해 였던것 같기도 하다. 빠듯한 프로젝트들, 새로운 분야로의 사업확장, 무엇보다 재환이의 탄생. 어떻게 보면 정신은 없었지만 가장 안정스럽고 열심히 보낸 한해가 아닌가 싶기도 하고.. 작년과 마찬가지로 나에게있어 2010년은 어떤해였는지 잠깐 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>딱 1년전 <a href="http://blueruin.org/archives/216">&#8220;Goodbye 2009&#8243;</a> 를 포스팅했던 때가 기억난다.<br />
바로 지금 이자리에서 키보드를 두드리던 기억이 이리도 생생한데 벌써 일년이 지났다니! 하긴 지난 365일을 돌아보면 짧지만은 않은 해 였던것 같기도 하다. 빠듯한 프로젝트들, 새로운 분야로의 사업확장, 무엇보다 재환이의 탄생. 어떻게 보면 정신은 없었지만 가장 안정스럽고 열심히 보낸 한해가 아닌가 싶기도 하고..</p>
<p>작년과 마찬가지로 나에게있어 2010년은 어떤해였는지 잠깐 생각해보는 시간을 갖어보자.<br />
<span id="more-478"></span><br />
스마트폰의 급성장. 정확히는 스마트폰 자체보다는 아이폰을 선주로 하는 다양한 애플리케이션과 사용자환경, 그리고 덤으로 따라오는 웹표준과 모바일 네트워크의 발전이겠다. 관련일을 하다보니 관심이 많은 분야이기도 하고 비교적 오래전부터 준비해온 일이라 나에게 좀더 좋은 기회로 다가오지 않을까 싶다. 2011년에 계획된 나의 사업은 2010년을 기반으로 더욱 발전하기를 소망한다.</p>
<p><a href="http://blueruin.org/wp-content/uploads/2011/01/IMG_4062.jpg" class="highslide-image" onclick="return hs.expand(this);"><img src="http://blueruin.org/wp-content/uploads/2011/01/IMG_4062-133x200.jpg" alt="" title="IMG_4062" width="133" height="200" class="alignright size-medium wp-image-480" /></a>무엇보다 가장 큰 이슈는 두말 할 것 없이 재환이의 탄생이다. 뜨거운 삼복더위에 12시간이 넘는 진통과 위험한 순간을 넘기고 얻은 재환이. 내 삶이 하나하나 변해가고 그 변해가는 모든것들이 &#8220;처음&#8221; 같이 느껴지는 것. 입학/졸업따위와는 비교도 할수 없고 결혼이라는 경계점보다도 더욱 분명한 선을 그어주는 것. 나는 그 지점을 막 지나 내 인생의 새로운 장(chapter)을 연다.</p>
<p>2010년 첫날에 올해 달성할 목표 9개를 세웠었다.<br />
성적은? 4개는 달성하였고 2개는 조금 부족하고 3개는 많이 부족.<br />
2010년이 이렇게 지나간다 하여 달성하지 못한 목표들마저 보내버리진 않을 작정이다. 올해 부족한것까지 내년에는 더욱 분발하여 일년후에는 이 아쉬움까지 만족으로 만들어 버리리라!</p>
<p>Goodbye 2010!</p>
]]></content:encoded>
			<wfw:commentRss>http://blueruin.org/archives/478/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE 버전별 CSS 적용하기</title>
		<link>http://blueruin.org/archives/459</link>
		<comments>http://blueruin.org/archives/459#comments</comments>
		<pubDate>Wed, 22 Dec 2010 09:40:40 +0000</pubDate>
		<dc:creator><![CDATA[blueruin]]></dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[웹표준]]></category>

		<guid isPermaLink="false">http://blueruin.org/?p=459</guid>
		<description><![CDATA[웹이 널리 보급된 이유를 개발자 입장에서 찾으라면 html, css와 같은 비교적 간단한 문법과 jsp, php, asp 같은 server-side 언어의 발전을 들 수 있을것이다. 하지만 이 모든것의 배경에는 제작과 사용을 간단하게 만든 플랫폼이 있고, 이것이 바로 웹브라우저이다. 하지만 이런 개방성 만큼 여러 종류의 브라우저가 발전하면서 호환성문제가 대두되었고 이는 다시 개발자로 하여금 양날의 칼로 머리를 쥐어짜게 만들었다. [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>웹이 널리 보급된 이유를 개발자 입장에서 찾으라면 html, css와 같은 비교적 간단한 문법과 jsp, php, asp 같은 server-side 언어의 발전을 들 수 있을것이다. 하지만 이 모든것의 배경에는 제작과 사용을 간단하게 만든 플랫폼이 있고, 이것이 바로 웹브라우저이다. 하지만 이런 개방성 만큼 여러 종류의 브라우저가 발전하면서 호환성문제가 대두되었고 이는 다시 개발자로 하여금 양날의 칼로 머리를 쥐어짜게 만들었다.<br />
크게 보면 1. 서로 다른 종류의 브라우저와의 호환성 2. 같은 브라우저의 버전별 호환성 으로 나눌 수 있는데 이 두가지 모두에 있어 최고의 골치는 두말할것 없이 Internet Explorer, IE 다. 특히 10살이나 먹은 IE6은 웹개발자에게는 &#8220;악마&#8221; 같은 존재이다.</p>
<p>이런 IE에서 버전별로 다르게 보여지는 문제를 해결하기 위한 가장 효율적인 방법은 문제가 있는 부분만 브라우저에 맞게 수정하는 방법이다.<br />
즉, 페이지를 표준에 맞게 작성한 후 브라우저별로 테스트 한 후 특정 브라우저에서 문제가 발생하면 그 브라우저에서만 별도로 제작해둔 css를 읽어 재정의되어 수정하도록 하는 방법이다. 아래는 IE 특정 버전별로 파일을 로딩하는 방법이다.<br />
<span id="more-459"></span><br />
<strong>모든 IE에서만 적용하려면</strong></p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;!--</span><span style="color: #009900;">&#91;</span><span style="color: #000066; font-weight: bold;">if</span> IE<span style="color: #009900;">&#93;</span><span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>link rel<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;stylesheet&quot;</span> type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/css&quot;</span> href<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;ie-only.css&quot;</span> <span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;!</span><span style="color: #009900;">&#91;</span>endif<span style="color: #009900;">&#93;</span><span style="color: #339933;">--&gt;</span></pre></td></tr></table></div>

<p><strong>IE6 버전에서만 읽어들이도록</strong></p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;!--</span><span style="color: #009900;">&#91;</span><span style="color: #000066; font-weight: bold;">if</span> IE <span style="color: #CC0000;">6</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>link rel<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;stylesheet&quot;</span> type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/css&quot;</span> href<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;ie6-only.css&quot;</span> <span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;!</span><span style="color: #009900;">&#91;</span>endif<span style="color: #009900;">&#93;</span><span style="color: #339933;">--&gt;</span></pre></td></tr></table></div>

<p><strong>IE7 버전에서만 읽어들이도록</strong></p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;!--</span><span style="color: #009900;">&#91;</span><span style="color: #000066; font-weight: bold;">if</span> IE <span style="color: #CC0000;">7</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>link rel<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;stylesheet&quot;</span> type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/css&quot;</span> href<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;ie7-only.css&quot;</span> <span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;!</span><span style="color: #009900;">&#91;</span>endif<span style="color: #009900;">&#93;</span><span style="color: #339933;">--&gt;</span></pre></td></tr></table></div>

<p>조금 더 정교하게.</p>
<p><strong>IE7 버전보다 낮은 버전에서만 (7버전 제외)</strong></p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;!--</span><span style="color: #009900;">&#91;</span><span style="color: #000066; font-weight: bold;">if</span> lt IE <span style="color: #CC0000;">7</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>link rel<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;stylesheet&quot;</span> type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/css&quot;</span> href<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;ie7-less-than.css&quot;</span> <span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;!</span><span style="color: #009900;">&#91;</span>endif<span style="color: #009900;">&#93;</span><span style="color: #339933;">--&gt;</span></pre></td></tr></table></div>

<p><strong>IE7 버전보다 낮은 버전에서만 (7버전 포함)</strong></p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;!--</span><span style="color: #009900;">&#91;</span><span style="color: #000066; font-weight: bold;">if</span> lte IE <span style="color: #CC0000;">7</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>link rel<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;stylesheet&quot;</span> type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/css&quot;</span> href<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;ie7-less-than-equal.css&quot;</span> <span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;!</span><span style="color: #009900;">&#91;</span>endif<span style="color: #009900;">&#93;</span><span style="color: #339933;">--&gt;</span></pre></td></tr></table></div>

<p><strong>IE7 버전보다 높은 버전에서만 (7버전 제외)</strong></p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;!--</span><span style="color: #009900;">&#91;</span><span style="color: #000066; font-weight: bold;">if</span> gt IE <span style="color: #CC0000;">7</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>link rel<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;stylesheet&quot;</span> type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/css&quot;</span> href<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;ie7-greater-than.css&quot;</span> <span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;!</span><span style="color: #009900;">&#91;</span>endif<span style="color: #009900;">&#93;</span><span style="color: #339933;">--&gt;</span></pre></td></tr></table></div>

<p><strong>IE7 버전보다 높은 버전에서만 (7버전 포함)</strong></p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;!--</span><span style="color: #009900;">&#91;</span><span style="color: #000066; font-weight: bold;">if</span> gte IE <span style="color: #CC0000;">7</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>link rel<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;stylesheet&quot;</span> type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/css&quot;</span> href<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;ie7-greater-than-equal.css&quot;</span> <span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;!</span><span style="color: #009900;">&#91;</span>endif<span style="color: #009900;">&#93;</span><span style="color: #339933;">--&gt;</span></pre></td></tr></table></div>

<p>기타 다음과 같은 문구도 가능하다.</p>
<p><strong>IE가 아닌 다른 브라우저만</strong></p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;!--</span><span style="color: #009900;">&#91;</span><span style="color: #000066; font-weight: bold;">if</span> <span style="color: #339933;">!</span>IE<span style="color: #009900;">&#93;</span><span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>link rel<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;stylesheet&quot;</span> type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/css&quot;</span> href<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;not-sucks.css&quot;</span> <span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;!</span><span style="color: #009900;">&#91;</span>endif<span style="color: #009900;">&#93;</span><span style="color: #339933;">--&gt;</span></pre></td></tr></table></div>

<p><strong>IE6.5 버전에서만 읽어들이도록</strong></p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;!--</span><span style="color: #009900;">&#91;</span><span style="color: #000066; font-weight: bold;">if</span> IE <span style="color: #CC0000;">6.5000</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>link rel<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;stylesheet&quot;</span> type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/css&quot;</span> href<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;ie6.5-only.css&quot;</span> <span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;!</span><span style="color: #009900;">&#91;</span>endif<span style="color: #009900;">&#93;</span><span style="color: #339933;">--&gt;</span></pre></td></tr></table></div>

<p>gt 는 greater than , gte 는 greater than or equal, lt 는 less than, lte 는 less than or equal 의 약자이다. 다음과 같이 스크립트도 삽입할 수 있다.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;">&lt;!--[if IE 6]&gt;
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
    alert<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;아직 IE6을 쓰는거야?&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span>
&lt;![endif]--&gt;</pre></td></tr></table></div>

<p>이정도면 대충 큼지막한 것들은 해결할 수 있으리라.</p>
<p>덧붙여 :<br />
이 방법은 Conditional Comments라는 MS IE에서 제공하는 기능으로 흔희 CSS Hack이라고 부르는 브라우저의 버그를 이용하는 편법이 아니다. CSS Hack을 이용하면 다른 브라우저를 포함하여 보다 세밀하게 조작할 수 있으나 지금 적용한 것이 나중에 계속 바르게 적용될거라고 보장할 수는 없다. 물론 브라우저 벤더들도 이를 충분히 인지하고 있으므로 갑자기 동작하지 않거나 하지는 않을것 같지만..</p>
]]></content:encoded>
			<wfw:commentRss>http://blueruin.org/archives/459/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>재환아 100일 너무 축하해</title>
		<link>http://blueruin.org/archives/451</link>
		<comments>http://blueruin.org/archives/451#comments</comments>
		<pubDate>Sun, 07 Nov 2010 15:00:35 +0000</pubDate>
		<dc:creator><![CDATA[blueruin]]></dc:creator>
				<category><![CDATA[My Life]]></category>
		<category><![CDATA[육아일기]]></category>

		<guid isPermaLink="false">http://blueruin.org/?p=451</guid>
		<description><![CDATA[의학이 발달하지 않고 의료서비스를 제대로 받지 못했던 옛날에는 순산을 했더라도 아기 사망률이 높았다고 한다. 선천적인 이상이나 약한 면역력때문에 어느 기간동안 특별히 조심해야 했고, 그 기간이 지나면 어느정도 안심을 하며 살아있음을 축하했다는 그날. 이 날이 바로 우리가 당연히 여기는 100일이다. 요즘이야 워낙 의학이 발달해있고 부모들 역시 많은 교육을 받았기에 &#8220;생존&#8221; 을 축하하는것은 큰 의미는 없을터, &#8220;100&#8243; [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="http://blueruin.org/wp-content/uploads/2010/12/SAM_0668.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="size-medium wp-image-452 alignleft" title="SAM_0668" src="http://blueruin.org/wp-content/uploads/2010/12/SAM_0668-200x150.jpg" alt="" width="200" height="150" /></a>의학이 발달하지 않고 의료서비스를 제대로 받지 못했던 옛날에는 순산을 했더라도 아기 사망률이 높았다고 한다. 선천적인 이상이나 약한 면역력때문에 어느 기간동안 특별히 조심해야 했고, 그 기간이 지나면 어느정도 안심을 하며 살아있음을 축하했다는 그날. 이 날이 바로 우리가 당연히 여기는 100일이다. 요즘이야 워낙 의학이 발달해있고 부모들 역시 많은 교육을 받았기에 &#8220;생존&#8221; 을 축하하는것은 큰 의미는 없을터, &#8220;100&#8243; 이라는 숫자 자체에 의미를 두고 하는것 같긴하다. 어찌되었든 우리 재환이도 이렇게 100일을 이 세상에 나와 어였한 유아가 되었다. 그것도 잔병치레없이 아주 건강하게!<br />
<span id="more-451"></span></p>
<p><a href="http://blueruin.org/wp-content/uploads/2010/12/Page0003_000003_DLP-copy.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="alignright size-medium wp-image-453" title="Page0003_000003_DLP copy" src="http://blueruin.org/wp-content/uploads/2010/12/Page0003_000003_DLP-copy-200x160.jpg" alt="" width="200" height="160" /></a>처음에는 간단히 부모님들 모시고 식당에서 식사한끼 하려했으나 이래저래 집에서 하는게 좋겠다 싶어 떡케익을 주문하고 잔치상을 꾸미고, 나름 분주하게 준비를 했다. 하지만 부모님들의 일정문제로 부모님과 함께 하는 파티는 생략하고 오붓한 우리 가족 파티가 되었다. 뭐 가족 파티도 얼마나 멋진일인가!<br />
다행히 겸사겸사 홍천시골집을 들리게 되어 아침은 아버지가 손수 끊여주신 미역국을 먹었고, 재환이 고모한테 생각지도 못한 금반지도 받았다. 집에와서는 준비한 잔치상을 차리고 사진도 한컷 찍고.</p>
<p>사실 지난 100일동안 난 별로 한게 없다. 진행하던 프로젝트를 마무리 하기 위해 온통 신경이 예민해져 집사람과 재환이에게 신경을 많이 못쓴듯하다. 출산 후 100일동안 여러모로 애기엄마와 애기가 힘들다고 하는데 한숨돌린 지금 생각해보면 미안하기도 하고 아쉬움도 남는다.</p>
<blockquote><p>재환이 엄마 100일 동안 너무 수고 많았고, 앞으로도 지금처럼 우리 재환이와 나를 위해 최선을 다해줘. 그리고 재환아 100일 너무 축하해!</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blueruin.org/archives/451/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>삼칠일</title>
		<link>http://blueruin.org/archives/428</link>
		<comments>http://blueruin.org/archives/428#comments</comments>
		<pubDate>Wed, 25 Aug 2010 13:57:42 +0000</pubDate>
		<dc:creator><![CDATA[blueruin]]></dc:creator>
				<category><![CDATA[My Life]]></category>
		<category><![CDATA[재환]]></category>

		<guid isPermaLink="false">http://blueruin.org/?p=428</guid>
		<description><![CDATA[삼칠일(三七日)은 산모가 아기를 낳은 후 행동을 조심하는 기간이다. 이 기간 동안 산모와 아기는 되도록 외부인과 접촉을 하지 않고 미역국을 먹으며 몸조리를 한다. 예전에는 출산을 하면 삼칠일 동안 금줄을 쳐서 잡인의 출입을 막았다. from 위키백과 높은 황달기 때문에 6일간 입원하고 초보아빠의 무지로 쓸데없는 걱정도 참 많이 했던 기간같다. 어찌되었든 삼칠일이 지나고 그동안 와이프의 몸조리뿐만 아니라 집안의 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="http://blueruin.org/wp-content/uploads/2010/08/IMG_04331.jpg" class="highslide-image" onclick="return hs.expand(this);"><img src="http://blueruin.org/wp-content/uploads/2010/08/IMG_04331-200x150.jpg" alt="" title="IMG_0433" width="200" height="150" class="alignleft size-medium wp-image-438" /></a>삼칠일(三七日)은 산모가 아기를 낳은 후 행동을 조심하는 기간이다. 이 기간 동안 산모와 아기는 되도록 외부인과 접촉을 하지 않고 미역국을 먹으며 몸조리를 한다. 예전에는 출산을 하면 삼칠일 동안 금줄을 쳐서 잡인의 출입을 막았다. from <a href="http://ko.wikipedia.org/wiki/%EC%82%BC%EC%B9%A0%EC%9D%BC">위키백과</a></p>
<p>높은 황달기 때문에 6일간 입원하고 초보아빠의 무지로 쓸데없는 걱정도 참 많이 했던 기간같다. 어찌되었든 삼칠일이 지나고 그동안 와이프의 몸조리뿐만 아니라 집안의 모든 가사노동과 재환이 돌보는 일까지 도맡아 하시던 장모님이 서울 집으로 가셨다. 장모님이 가신지 이제 고작 3일 지났을 뿐인데 지난 3주동안 장모님이 얼마나 고생하셨는지 머리가 아닌 몸으로 느끼는 중이다. 이래서 세상의 모든 어머니는 위대하다고 했던 것일 테다. 어머니가 위대하니 할머니는 얼마나 위대하겠는가 말이다!<br />
<span id="more-428"></span><br />
<a href="http://blueruin.org/wp-content/uploads/2010/08/SAM_0335.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="alignleft size-medium wp-image-430" title="SAM_0335" src="http://blueruin.org/wp-content/uploads/2010/08/SAM_0335-200x150.jpg" alt="" width="200" height="150" /></a><a href="http://blueruin.org/wp-content/uploads/2010/08/P100815002.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="alignleft size-medium wp-image-431" title="P100815002" src="http://blueruin.org/wp-content/uploads/2010/08/P100815002-200x150.jpg" alt="" width="200" height="150" /></a>재환이는 신생아치고 이것저것 조금씩 빨리 하는듯 하다. 남들은 한달, 심지어 두달이 지나도 눈을 마주치지 못한다고 하는데 재환이는 3일만에 두눈의 시선을 움직이고, 일주일만에 사람과 눈을 마주치고 따라다닌다. 서울에 계신 어머님께 전화로 말씀드리니 애아빠되면 다 거질말쟁이가 되더란다. 진짠데 <img src="http://blueruin.org/wp-includes/images/smilies/icon_sad.gif" alt=":(" class="wp-smiley" />  그리고 2주만에 &#8220;우&#8221; &#8220;아&#8221; 등의 간단한 옹알이를 하더니 얼마전부터는 사람의 반응에 웃기도한다. 갓난아이를 제대로 본적이 없으니 정확히 모르지만 그저 서적과 인터넷상의 발육속도를 근거로 비교하자면 빠르지 않나 싶다.</p>
<p><a href="http://blueruin.org/wp-content/uploads/2010/08/SAM_0054.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="alignright size-medium wp-image-433" title="SAM_0054" src="http://blueruin.org/wp-content/uploads/2010/08/SAM_0054-150x200.jpg" alt="" width="150" height="200" /></a><a href="http://blueruin.org/wp-content/uploads/2010/08/IMG_0424.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="alignright size-medium wp-image-432" title="IMG_0424" src="http://blueruin.org/wp-content/uploads/2010/08/IMG_0424-150x200.jpg" alt="" width="150" height="200" /></a>요즘 모든것이 좋다. 나를 닮은 놈이 두시간마다 울어대어 일도 제대로 못하고, 잠도 제대로 못자지만 이 녀석 표정 하나하나에 모든 스트레스와 피곤이 날아가버린다. 안고 토닥토닥거리다 보면 나도 모르게 와락 가슴에 안아버린다. 조만간 이녀석의 행동들도 그냥 평범한 일상이 되고 새로운 감정은 점점 퇴색될 수 있겠지만 부정(父情)만은 어찌 퇴색될까. 아버지가 손자를 안고 짓는 미소는, 당신의 아버지가 나를 안고 지었던 그것과 같을 것이고 나역시 30년즈음 지나 같은 표정을 짓고 있지 않을까?</p>
<p>변한건 재환이 하나지만, 나의 모든것이 이제 새로운 시작같다.<br />
<a href="http://blueruin.org/wp-content/uploads/2010/08/SAM_0220.jpg" class="highslide-image" onclick="return hs.expand(this);"><img src="http://blueruin.org/wp-content/uploads/2010/08/SAM_0220-200x150.jpg" alt="" title="SAM_0220" width="200" height="150" class="alignnone size-medium wp-image-429" /></a></p>
<p>서비스 영상<br />
<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/bQ6I3qgXKbY?fs=1&amp;hl=en_US&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/bQ6I3qgXKbY?fs=1&amp;hl=en_US&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blueruin.org/archives/428/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building for php5 or php5-extensions</title>
		<link>http://blueruin.org/archives/421</link>
		<comments>http://blueruin.org/archives/421#comments</comments>
		<pubDate>Thu, 12 Aug 2010 14:06:05 +0000</pubDate>
		<dc:creator><![CDATA[blueruin]]></dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blueruin.org/?p=421</guid>
		<description><![CDATA[잘동작하던 서버에 apache 모듈을 추가하면서 다시 컴파일 하려고 하는데 되지 않는다. 결국 포트가 엉켜서 일부 포트를 삭제하고 다시설치하면서 조정하고 있는 중 PHP의 익스텐션들이 제대로 로드되지 않는다. 자세히 보니 php5-filter 에 관련된 오류였다. 자세한 오류내용은 대략 다음과 같다. In file included from /usr/ports/security/php5-filter/work/php-5.3.2/ext/filter/logical_filters.c:25: /usr/local/include/php/ext/pcre/php_pcre.h:29:18: error: pcre.h: No such file or directory In file included from /usr/ports/security/php5-filter/work/php-5.3.2/ext/filter/logical_filters.c:25: [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>잘동작하던 서버에 apache 모듈을 추가하면서 다시 컴파일 하려고 하는데 되지 않는다.<br />
결국 포트가 엉켜서 일부 포트를 삭제하고 다시설치하면서 조정하고 있는 중 PHP의 익스텐션들이 제대로 로드되지 않는다. 자세히 보니 php5-filter 에 관련된 오류였다.</p>
<p>자세한 오류내용은 대략 다음과 같다.<br />
<span id="more-421"></span></p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="text" style="font-family:monospace;">In file included from /usr/ports/security/php5-filter/work/php-5.3.2/ext/filter/logical_filters.c:25:
/usr/local/include/php/ext/pcre/php_pcre.h:29:18: error: pcre.h: No such file or directory
In file included from /usr/ports/security/php5-filter/work/php-5.3.2/ext/filter/logical_filters.c:25:
/usr/local/include/php/ext/pcre/php_pcre.h:37: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
/usr/local/include/php/ext/pcre/php_pcre.h:38: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
/usr/local/include/php/ext/pcre/php_pcre.h:44: error: expected specifier-qualifier-list before 'pcre'
/usr/ports/security/php5-filter/work/php-5.3.2/ext/filter/logical_filters.c: In function 'php_filter_validate_regexp':
/usr/ports/security/php5-filter/work/php-5.3.2/ext/filter/logical_filters.c:412: error: 'pcre' undeclared (first use in this function)
/usr/ports/security/php5-filter/work/php-5.3.2/ext/filter/logical_filters.c:412: error: (Each undeclared identifier is reported only once
/usr/ports/security/php5-filter/work/php-5.3.2/ext/filter/logical_filters.c:412: error: for each function it appears in.)
/usr/ports/security/php5-filter/work/php-5.3.2/ext/filter/logical_filters.c:412: error: 're' undeclared (first use in this function)
/usr/ports/security/php5-filter/work/php-5.3.2/ext/filter/logical_filters.c:413: error: 'pcre_extra' undeclared (first use in this function)
/usr/ports/security/php5-filter/work/php-5.3.2/ext/filter/logical_filters.c: In function 'php_filter_validate_email':
/usr/ports/security/php5-filter/work/php-5.3.2/ext/filter/logical_filters.c:500: error: 'pcre' undeclared (first use in this function)
/usr/ports/security/php5-filter/work/php-5.3.2/ext/filter/logical_filters.c:500: error: 're' undeclared (first use in this function)
/usr/ports/security/php5-filter/work/php-5.3.2/ext/filter/logical_filters.c:501: error: 'pcre_extra' undeclared (first use in this function)
*** Error code 1
1 error
*** Error code 1
&nbsp;
Stop in /usr/ports/security/php5-filter.</pre></td></tr></table></div>

<p>결국 아래와 같이 해결할 수 있었다.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="text" style="font-family:monospace;">$cd /usr/ports/lang/php5/
$make extract
$cp /usr/ports/lang/php5/work/php-5.3.2/ext/pcre/pcrelib/pcre.h /usr/local/include/php/ext/pcre/</pre></td></tr></table></div>

<p>덕분에 정신없는 와중 4시간에 걸쳐 시스템 리빌드 완료.</p>
]]></content:encoded>
			<wfw:commentRss>http://blueruin.org/archives/421/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>끝과 시작의 순간, 출산</title>
		<link>http://blueruin.org/archives/408</link>
		<comments>http://blueruin.org/archives/408#comments</comments>
		<pubDate>Wed, 04 Aug 2010 00:21:40 +0000</pubDate>
		<dc:creator><![CDATA[blueruin]]></dc:creator>
				<category><![CDATA[My Life]]></category>
		<category><![CDATA[재환]]></category>

		<guid isPermaLink="false">http://blueruin.org/?p=408</guid>
		<description><![CDATA[모든 끝은 시작과 함께 한다. 10달의 기다림은 12시간의 고통과 함께 끝나고 행복이를 포함하는 새로운 &#8216;가족&#8217;이 시작되었다. 행복이에게는 뱃속생활의 끝이자 새로운 세상에서의 첫 호흡이리라. 하지만 &#8220;진짜엄마&#8221; 가 되기 위한 끝과 시작의 경계는 차마 옆에서 지켜보기 조차 힘든 고통이더라. 태동계의 진통그래프가 올라가면 자연스레 따라올라가는 윤정이의 신음소리는 옆에서 아무것도 해줄 수 없는 내게 안타까움만 높여주었다. 장장 12시간동안 위험한 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="http://blueruin.org/wp-content/uploads/2010/08/SAM_0007.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="alignleft size-medium wp-image-409" title="SAM_0007" src="http://blueruin.org/wp-content/uploads/2010/08/SAM_0007-200x150.jpg" alt="" width="200" height="150" /></a> 모든 끝은 시작과 함께 한다. 10달의 기다림은 12시간의 고통과 함께 끝나고 행복이를 포함하는 새로운 &#8216;가족&#8217;이 시작되었다. 행복이에게는 뱃속생활의 끝이자 새로운 세상에서의 첫 호흡이리라. 하지만 &#8220;진짜엄마&#8221; 가 되기 위한 끝과 시작의 경계는 차마 옆에서 지켜보기 조차 힘든 고통이더라.</p>
<p>태동계의 진통그래프가 올라가면 자연스레 따라올라가는 윤정이의 신음소리는 옆에서 아무것도 해줄 수 없는 내게 안타까움만 높여주었다. 장장 12시간동안 위험한 순간도 있었고 일부 아쉬운 부분도 있었지만 어찌되었든 우리 행복이는 멋진 울음소리와 함께 2010년 8월 1일 오후 4시 25분 3.35Kg 으로 태어난 어엿한 &#8220;아기&#8221; 가 되었다.<br />
<span id="more-408"></span><br />
<a href="http://blueruin.org/wp-content/uploads/2010/08/SAM_0022.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="alignright size-medium wp-image-414" title="SAM_0022" src="http://blueruin.org/wp-content/uploads/2010/08/SAM_0022-200x150.jpg" alt="" width="200" height="150" /></a><a href="http://blueruin.org/wp-content/uploads/2010/08/SAM_0033.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="alignright size-medium wp-image-410" title="SAM_0033" src="http://blueruin.org/wp-content/uploads/2010/08/SAM_0033-200x150.jpg" alt="" width="200" height="150" /></a>불행인지 다행인지 나를 많이 닮은 듯하다. 나의 유전자를 갖고 있는 누군가가 세상에서 숨을 쉬고 있다는 것. 살아오면서 가끔, 그리고 최근 10달 동안은 매일같이 생각해온 일이지만, 품에 안았을때의 느낌은 나의 표현력으로는 표현할 방법이 없다. 이제 &#8220;아빠&#8221; 가 되는구나.</p>
<p>입대하여 훈련소에서 6주간의 기초군사훈련을 마치고 자대 배치받을때, 잠시나마 모든것이 다 끝나고 이제 내 세상인듯 싶었다. 하지만 자대생활은 훈련소 생활보다 훨씬 길고, 힘들었다. 행복이의 탄생도 비슷하지 않을까? 지난 10달은 그저 앞으로 다가올 많은 일들에 대하여 준비하라는 기간이었을 뿐 이제 시작이라는 것을 한없는 기쁨과 조금은 무거운 책임감으로 느끼기 시작한다.</p>
<p><a href="http://blueruin.org/wp-content/uploads/2010/08/IMG_0404.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="alignleft size-medium wp-image-411" title="IMG_0404" src="http://blueruin.org/wp-content/uploads/2010/08/IMG_0404-200x150.jpg" alt="" width="200" height="150" /></a>앞으로 이 아이가 무엇을 해낼 수 있을지, 내가 앞으로 이 아이에게 무엇을 해줄 수 있을지 아무도 모른다. 그저 나는 아빠라는 이름으로 나의 아버지가 그랬듯이 매순간 이 아이에게 최선을 다할 것이다. 항상 건강하고 행복해 할 줄 아는, 그리고 다른 사람에게도 행복을 선물하는 멋진 사람이 되었으면 좋겠다.</p>
<p>할아버지가 지어준 멋진 이름만큼 멋진 아이가 되기를 간절히 간절히 소망한다.</p>
<p>尹 [성씨 윤] , 在 [있을 재] , 煥 [빛날 환]</p>
<p>윤재환</p>
]]></content:encoded>
			<wfw:commentRss>http://blueruin.org/archives/408/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>화창한 토요일 오후, 놀이공원 가다</title>
		<link>http://blueruin.org/archives/368</link>
		<comments>http://blueruin.org/archives/368#comments</comments>
		<pubDate>Sat, 03 Apr 2010 14:30:40 +0000</pubDate>
		<dc:creator><![CDATA[blueruin]]></dc:creator>
				<category><![CDATA[My Life]]></category>
		<category><![CDATA[나들이]]></category>

		<guid isPermaLink="false">http://blueruin.org/?p=368</guid>
		<description><![CDATA[봄비가 오며 봄을 알리더니 이제 봄햇살이 제법 따사하다. 화창한 봄날 모처럼 윤정이와 친한 친구 문성과 함께 에버랜드로 봄나들이를 갔다. 늦게까지 월요일 오픈예정인 프로젝트의 마무리 작업을 하고 두시간채 못잔 상태로 일어나 김밥을 싸고 출발! 김밥싸서 떠나는 나들이. 얼마만이던가! 가는길을 헤매여 2시간 남짓 걸리는 거리를 3시간넘게 돌아 도착하였다. 아이폰 지도어플을 네비게이션 용도로 쓰기에는 너무 느려! 그래도 따스한 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="http://blueruin.org/wp-content/uploads/2010/04/SAM_1584.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="alignleft size-medium wp-image-369" title="SAM_1584" src="http://blueruin.org/wp-content/uploads/2010/04/SAM_1584-200x150.jpg" alt="" width="200" height="150" /></a> 봄비가 오며 봄을 알리더니 이제 봄햇살이 제법 따사하다. 화창한 봄날 모처럼 윤정이와 친한 친구 문성과 함께 에버랜드로 봄나들이를 갔다. 늦게까지 월요일 오픈예정인 프로젝트의 마무리 작업을 하고 두시간채 못잔 상태로 일어나 김밥을 싸고 출발! 김밥싸서 떠나는 나들이. 얼마만이던가! </p>
<p>가는길을 헤매여 2시간 남짓 걸리는 거리를 3시간넘게 돌아 도착하였다. 아이폰 지도어플을 네비게이션 용도로 쓰기에는 너무 느려! 그래도 따스한 햇살을 이고 한껏 부푼 기대감으로 차있는 우리에겐 헤메임도 멋진 드라이브라고 이름 붙였다. 억지인거지..<br />
<span id="more-368"></span></p>
<p>윤정이 배가 제법불러와 격한 놀이기구는 애초 꿈도 못꾸었지만 가벼운 놀이기구 조차 &#8220;임산부 금지&#8221; 라고 써있었다. 형식적인 경고문구이고 위험하지 않다는것을 알아도 쉽사리 도전하기 쉽지가 않더라. 결국 우리의 자유이용권은 입장권이 되버렸다. 하지만 이정도 돈으로 이렇게 재미있게 놀수있는 곳이 얼마나 되던가. 행복이가 태어나면 연간회원권을 구입해야겠다.</p>
<div id="attachment_373" style="width: 110px" class="wp-caption alignright"><a href="http://blueruin.org/wp-content/uploads/2010/04/SAM_1596.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="size-thumbnail wp-image-373" title="SAM_1596" src="http://blueruin.org/wp-content/uploads/2010/04/SAM_1596-100x100.jpg" alt="" width="100" height="100" /></a><p class="wp-caption-text">착한 문성</p></div>
<div id="attachment_371" style="width: 110px" class="wp-caption alignright"><a href="http://blueruin.org/wp-content/uploads/2010/04/SAM_1663.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="size-thumbnail wp-image-371" title="SAM_1663" src="http://blueruin.org/wp-content/uploads/2010/04/SAM_1663-100x100.jpg" alt="" width="100" height="100" /></a><p class="wp-caption-text">이쁜 윤정</p></div>
<div id="attachment_370" style="width: 110px" class="wp-caption alignright"><a href="http://blueruin.org/wp-content/uploads/2010/04/SAM_1625.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="size-thumbnail wp-image-370" title="SAM_1625" src="http://blueruin.org/wp-content/uploads/2010/04/SAM_1625-100x100.jpg" alt="" width="100" height="100" /></a><p class="wp-caption-text">멋진 나?</p></div>
<p>역시 동물을 좋아하는 윤정이는 동물들 보며 즐거워 하고, 특히 물개쇼를 볼때 큰 웃음을 보였는데 쇼도 쇼지만 즐거워하는 윤정이를 보니 흐뭇해지더라. 작은것에도 기뻐할 줄 알고 감사할 줄 아는 윤정이가 멋있고 , 반면 이런것 참 좋아하는데 자주 못데려와서 미안하기도 했다. 앞으로는 조금 더 이런시간을 자주 만드리라. 사실 먹고살기 바쁘고, 피곤하고 힘들다고 핑계대는 나날중 아무 한것 없이 지나가버리는 날들이 얼마나 많던가!</p>
<p><a href="http://blueruin.org/wp-content/uploads/2010/04/SAM_1677.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="size-medium wp-image-379 alignright" title="SAM_1677" src="http://blueruin.org/wp-content/uploads/2010/04/SAM_1677-200x150.jpg" alt="" width="200" height="150" /></a>모처럼의 나들이기도 하고 본전도 뽑고 싶어 최대한 많이 놀고싶었지만 입장한지 5시간이 되어갈즈음 우리 셋은 지쳐있었다. 결국 정말 보고싶었던 사파리는 90분의 대기시간의 압박으로 포기하고 조금 일찍 집으로 향하였다. 이제 노는것도 힘들구나. 노는것도 체력. 체력은 국력!</p>
<p>가끔 사는게 무료하고 재미없을 때가 있다. 하지만 돌아보면 그것은 게으름에 기인한 의지문제이지 즐거운 삶은 누구에게나 문을 열어두고 있다는것을 느낀다.</p>
<blockquote><p>
Look at a day when you are supremely satisfied at the end.<br />
It&#8217;s not a day when you lounge around doing nothing;<br />
It&#8217;s when you had everything to do, and you&#8217;ve done it.<br />
- Margaret Thatcher &#8211; </p>
<p>가장 만족스러웠던 날을 생각해보라.<br />
그날은 아무것도 하지 않고 편히 쉬기만 한 날이 아니라,<br />
할 일이 태산이었는데도 결국은 그것을 모두 해낸 날이다.<br />
- 마거릿 대처 &#8211; </p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blueruin.org/archives/368/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>진주가 어른되다.</title>
		<link>http://blueruin.org/archives/347</link>
		<comments>http://blueruin.org/archives/347#comments</comments>
		<pubDate>Mon, 08 Mar 2010 14:30:18 +0000</pubDate>
		<dc:creator><![CDATA[blueruin]]></dc:creator>
				<category><![CDATA[My Life]]></category>
		<category><![CDATA[고양이]]></category>
		<category><![CDATA[진주]]></category>

		<guid isPermaLink="false">http://blueruin.org/?p=347</guid>
		<description><![CDATA[진주, 2009년 6월 28일생 샴고양이 암컷. 9월 10일 저녁, 윤정이의 생일날 식사를 하고 집에 오는 길에 잠깐 들린 펫샵에서 함께 데리고 나온 아이다. 3개월이 되가는 아이임에도 불구하고 몸무게가 400g이 채 나가지 않아 걱정도 되었고 먼저 하늘나라에 간 다빈이 생각도 있고 하여, 오래살라는 뜻으로 &#8220;장수&#8221;의 의미를 갖는 &#8220;진주&#8221; 라는 이름을 지어주었다. 마침 6월생이니 탄생석과도 어울리고 얼마나 [&#8230;]]]></description>
				<content:encoded><![CDATA[<div id="attachment_348" style="width: 210px" class="wp-caption alignleft"><a href="http://blueruin.org/wp-content/uploads/2010/03/P090915003.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="size-medium wp-image-348" title="진주 어린날" src="http://blueruin.org/wp-content/uploads/2010/03/P090915003-200x150.jpg" alt="" width="200" height="150" /></a><p class="wp-caption-text">처음 데려온 날 눈가리고 자는 진주</p></div>
<p>진주, 2009년 6월 28일생 샴고양이 암컷. 9월 10일 저녁, 윤정이의 생일날 식사를 하고 집에 오는 길에 잠깐 들린 펫샵에서 함께 데리고 나온 아이다. 3개월이 되가는 아이임에도 불구하고 몸무게가 400g이 채 나가지 않아 걱정도 되었고 먼저 하늘나라에 간 다빈이 생각도 있고 하여, 오래살라는 뜻으로 &#8220;장수&#8221;의 의미를 갖는 &#8220;진주&#8221; 라는 이름을 지어주었다. 마침 6월생이니 탄생석과도 어울리고 얼마나 좋은 이름인가! 이후 아직 아기가 없는 우리에게 예쁜 재롱둥이로 사랑을 듬뿍 받고 자랐다. 이제 만 8개월이 되가고 우리와 함께 한지는 6개월정도가 된 우리 진주가 드디어 &#8220;아깽이&#8221; 에서 숙녀가 되었다. 강아지와 개의  구분은 명확하지 않은 반면 아기고양이와 어른고양이의 구분은 어느정도 확실한 경계를 갖고 있는데, 진주에게도 그것이 온것이다. 바로 &#8220;발정&#8221; 이다.<br />
<span id="more-347"></span></p>
<div id="attachment_349" style="width: 210px" class="wp-caption alignright"><a href="http://blueruin.org/wp-content/uploads/2010/03/P090916005.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="size-medium wp-image-349" title="진주 어린날" src="http://blueruin.org/wp-content/uploads/2010/03/P090916005-200x150.jpg" alt="" width="200" height="150" /></a><p class="wp-caption-text">어린날 진주 모습</p></div>
<p>고양이를 키워본 사람은 알겠지만 이 성년식을 알리는 발정은 반드시 반가운것 만은 아니다. 특히 암고양이의 발정은 두려움의 대상이다. 왠만한 아이의 울음소리를 능가하는 통곡소리를 24시간 뿜어내고, 온몸을 어쩔 줄 몰라하며 힘든 몸부림을 친다. 예전에 함께 지냈던 다빈이도 진주와 같은 샴고양이였는데 보통 고양이의 발정중 샴고양이가 유난히 심하다고들 한다. 역시 다빈이때는 정말 공포였다. 당시 우리집은 13층이었는데 심할때는 1층에서도 그 소리가 들릴 정도였으니 오죽했겠는가. 발정때가 오면 음료수를 사들고 옆집에 찾아가 미리 양해를 구한적도 있으니 다빈이의 발정은 단순히 다빈이만의 생리현상이 아닌 집안행사였던것이다.</p>
<p>오늘 진주에게 찾아온 첫 발정은 다빈이의 전성기 시대만큼은 아니지만 그 시작이 예사롭지 않다. 원래 사람이 없으면 사람을 애타게 찾는 아이였는데 발정과 겹치니 울음의 빈도와 강도가 장난이 아니다. 아무래도 이 발정이 끝나면 바로 중성화 수술을 시키게 될 듯 하다. 우리의 스트레스도 스트레스지만 하루종일 몸부림치며 고통(?) 스러워 하는 진주의 모습을 보면 남자친구 없는 진주에게 주는 생리적 외로움도 몹쓸 짓 같다.</p>
<p>진주야. 이제 다~ 컷구나. 건강하게 오래 오래 함께 하자구나!<br />
몸부림 치는 진주의 모습을 남겨두며..</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/jHt-vgsY5GE&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/jHt-vgsY5GE&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blueruin.org/archives/347/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
