<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="http://rss.egloos.com/style/blog.xsl" type="text/xsl" media="screen"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
	<title>하나 더하기 하나는 하나다!!!</title>
	<link>http://hanuri.egloos.com</link>
	<description>하나 더하기 하나는 하나다!!!</description>
	<language>ko</language>
	<pubDate>Mon, 11 Dec 2006 05:44:54 GMT</pubDate>
	<generator>Egloos</generator>
	<image>
		<title>하나 더하기 하나는 하나다!!!</title>
		<url>http://pds.egloos.com/logo/1/  </url>
		<link>http://hanuri.egloos.com</link>
		<width>80</width>
		<height>80</height>
		<description>하나 더하기 하나는 하나다!!!</description>
	</image>
  	<item>
		<title><![CDATA[ 일의 즐거움 ]]> </title>
		<link>http://hanuri.egloos.com/2853153</link>
		<guid>http://hanuri.egloos.com/2853153</guid>
		<description>
			<![CDATA[ 
  <div style="text-align: center;">- 지금 하고 있는 일을 마음으로부터 즐기는 사람은 행복하다 -<br />
</div><br />
평범한 샐러리맨이 노벨상을 수상했다.<br />
대학 교수나 전문 연구원이 아닌 학사 출신 엔지니어로써, 그것도 한 회사의 샐러리맨인 그가 받은 노벨상은 많은 것을 생각하게 만든다.<br />
과연 그는 평범한 샐러리맨이었을까?<br />
<br />
다나카 고이치는 2002년 노벨 화학상을 수상했다.<br />
대학에서 화학도 아닌 전기를 전공한 그는 한 회사에 입사 후, 전공한 분야가 아닌 화학 분야에서 일을 하게 되었다. 보통 이런 경우라면 생소한 분야보다는 조금이나마 알고 있는 분야를 희망하게 될 것이고, 좀 더 편하게 사회 생활을 시작하려고 할 것이다.<br />
나 역시 대학 졸업 당시에 입사한 회사가 대기업에 나쁘지 않은 조건이었지만, 전공과는 무관한 업무 내용 때문에 2개월만에 이직을 결심했었다.<br />
하지만 그는 자신에게 주어진 업무에서 자신이 좋아할 수 있는 요소를 발견하고 업무에 임했다. 그는 어린 시절부터 실험을 하고, 결과를 분석하는 것을 즐겼던 것이다. 그렇기 때문에, 분야에 상관없이 자신의 업무를 즐길 수 있었으리라 생각된다.<br />
<br />
“실패는 성공의 어머니”라고 얘기한다.<br />
실패를 두려워하여 발을 내딛지 않으면 절대로 앞으로 전진할 수 없다는 것을 그는 잘 아알고 있었다. 이번 노벨상 화학상도 그가 만들어냈던 실수에서 비롯되었다. ‘실수’로 인해 발생한 일을 ‘우연’한 시도로 탁월한 ‘성공’을 만들어 낸 것이다.<br />
실패든 실수든 이를 통해서 무언가를 얻을 수 있다면 그 값어치는 성공에 못지 않을 것이다. 또한 실패나 실수를 통해서 무언가를 얻을 수 있다고 믿는다면 실패나 실수를 두려워하지 않아도 될 것이고, 이를 통해 ‘성공’을 일궈낼 수 있을 것이다.<br />
<br />
다나카 고이치는 노벨상 화학상을 수상하기 전에는 누가 보아도 평범한 샐러리맨에 불과했을지 모르지만, 그 자신은 결코 평범한 샐러리맨이 아니었을 것이다.<br />
누구나 알고 있지만 쉽게 실천하지 못하는 것들이 일상 생활에 자연스럽게 배어 있던 그에게 노벨상 화학상이 아니더라도 그가 특별해 보이도록 할 수 있었을 것이고, 자신의 일을 즐길 줄 알았던 그에게 노벨상 화학상이 아니더라도 삶의 행복이라는 더 큰 상이 기다리고 있었을 테니까…<br />
<br />
			 ]]> 
		</description>
		<category>일상</category>

		<comments>http://hanuri.egloos.com/2853153#comments</comments>
		<pubDate>Mon, 11 Dec 2006 05:44:54 GMT</pubDate>
		<dc:creator>까망제비</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 극과 극 ]]> </title>
		<link>http://hanuri.egloos.com/2842613</link>
		<guid>http://hanuri.egloos.com/2842613</guid>
		<description>
			<![CDATA[ 
  <a title="" href="http://agile.egloos.com/2711651">극과 극</a><br />
<br />
정말 여러가지 생각하고 반성하게 만드는 글을 발견했다... ㅠ.ㅠ<br />
이 세상에 천재라고 불릴만한 사람보다 탁월한 성공을 한 사람이 훨씬 많을 것이다.<br />
<br />
2002년 노벨상 화학상을 수상한 일본의 다나카 고이치 역시 그저 평범했지만, 연구를 좋아하는 샐러리맨이었을 뿐이었다.<br />
더구나 화학이 아닌 전기를 전공한 그는 회사 입사 후 주어진 업무에서 자신이 좋아하는 것을 발견하고, 그것을 즐길 줄 알았던 사람이라고 생각된다.<br />
<br />
위 글에서 나타나는 많은 비교 대상들을 보면 아마도 천재와 범인의 경우가 아닐 것이다.<br />
자신에게 주어진 것을 즐기고 도전하는 사람들과 그렇지 못한 사람들, 자신을 사랑하는 사람들과 그렇지 못한 사람들, 자신을 발전시키고자 하는 사람들과 그렇지 못한 사람들...<br />
이러한 차이점들이지 않을까 생각된다.<br />
<br />
다시 한 번 생각해본다.<br />
나는 과연 어떤 사람인가?<br />
			 ]]> 
		</description>
		<category>일상</category>

		<comments>http://hanuri.egloos.com/2842613#comments</comments>
		<pubDate>Fri, 08 Dec 2006 06:33:17 GMT</pubDate>
		<dc:creator>까망제비</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 창의성은 상자 밖으로 나오는 것이 아니다? ]]> </title>
		<link>http://hanuri.egloos.com/2842413</link>
		<guid>http://hanuri.egloos.com/2842413</guid>
		<description>
			<![CDATA[ 
  재미있는 글을 읽었습니다.<br />
"창의성은 상자 밖으로 나오는 것이 아니다" 라는 제목의 글입니다.<br />
글을 쓰신 분은 창의성 하면 쉽게 떠오르는 문구인 상자 밖으로 나오기(Getting out of the box), 상자 밖에서 생각하기(Thinking out of the box) 가 일반인들이 갖고 있는 창의성에 대한 대표적인 오해라고 생각하신다고 하시며 "창의성은 상자에서 벗어나기가 아니라, 여러개의 상자를 갖고 놀기다." 라고 하셨습니다.<br />
분명히 공감가는 내용이고, 여러 가지를 생각하게 됩니다.<br />
<br />
여기서 사용된 "상자"라는 단어에 대해서 생각해 봅니다.<br />
제 생각에는 "상자"라는 단어가 "생각의 틀"을 상징하는 것 같습니다.<br />
"생각의 틀"은 사람마다 모두 다르고(물론 사회적인 영향등으로 어느 정도는 공통점이 있을 수 있습니다.), 하루 이틀 사이에 생성되었다기 보다는 오랜 기간 동안 만들어졌을 것입니다.<br />
<br />
상자 밖으로 나오기(Getting out of the box), 상자 밖에서 생각하기(Thinking out of the box) 는 이러한 "생각의 틀"에 묶여 있으면 창의성이 발현되기 힘들다는 의미라고 생각됩니다.<br />
내가 먼저 상자 밖으로 나오지 않으면 그 상자 안에서 발견한 것들만을 가지고 놀게 됩니다.<br />
<br />
여러 개의 상자를 가지고 놀기 위해서는 먼저 상자 밖으로 나와야 하는 것이 아닐까요?<br />
<br />
<a href="http://agile.egloos.com/2835745">애자일 이야기 : 창의성은 상자 밖으로 나오는 것이 아니다</a><br />
<br />
<br />
<br />
<p class="poweredbyperformancing">powered by <a href="http://performancing.com/firefox">performancing firefox</a></p>			 ]]> 
		</description>
		<category>좋은 자료</category>

		<comments>http://hanuri.egloos.com/2842413#comments</comments>
		<pubDate>Fri, 08 Dec 2006 05:20:08 GMT</pubDate>
		<dc:creator>까망제비</dc:creator>
	</item>
	<item>
		<title><![CDATA[ MS Word 2007로 블로그 포스트 하기 ]]> </title>
		<link>http://hanuri.egloos.com/2834425</link>
		<guid>http://hanuri.egloos.com/2834425</guid>
		<description>
			<![CDATA[ 
  <p><span style="font-size: 10pt;">MS Word 2007로 지금 이 글을 작성하고 있습니다.<br />
</span></p><p><span style="font-size: 10pt;">제공되는 다양한 기능들을 전부 적용시켜 보도록 하겠습니다.<br />
</span></p><p><br />
&nbsp;</p><ol><li><h1>스타일<br />
</h1><p><span style="font-size: 10pt;">Word에서 사용하는 스타일을 사용할 수 있습니다.<br />
</span></p><p><span style="font-size: 10pt;">하지만 일반 문서에서 사용할 수 있는 스타일과는 차이가 있습니다.<br />
</span></p><p><span style="font-size: 10pt;">HTML 상에서 적용되어야 하니 어찌보면 당연하다고 할 수 있겠네요.<br />
</span></p></li><p><br />
&nbsp;</p><li><h1>테이블<br />
</h1><p><span style="font-size: 10pt;">테이블을 손쉽게 넣을 수 있도록 해놓았습니다.<br />
<div style="margin-left: 18pt;"><table style="border-collapse: collapse;" border="0"><colgroup><col style="width: 205px;"><col style="width: 205px;"><col style="width: 205px;"></colgroup><tbody valign="top"><tr><td style="border: 0.5pt solid black; padding-left: 7px; padding-right: 7px;">&nbsp;</td><td style="border-style: solid solid solid none; border-color: black black black -moz-use-text-color; border-width: 0.5pt 0.5pt 0.5pt medium; padding-left: 7px; padding-right: 7px;">&nbsp;</td><td style="border-style: solid solid solid none; border-color: black black black -moz-use-text-color; border-width: 0.5pt 0.5pt 0.5pt medium; padding-left: 7px; padding-right: 7px;">&nbsp;</td></tr><tr><td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 0.5pt 0.5pt; padding-left: 7px; padding-right: 7px;">&nbsp;</td><td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding-left: 7px; padding-right: 7px;">&nbsp;</td><td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding-left: 7px; padding-right: 7px;">&nbsp;</td></tr></tbody></table></div><p>일반 워드에서 사용하듯이 행열을 마우스로 선택하면 바로 문서에 적용됩니다.<br />
</p><p>그리고 빌트인 테이블들이 있네요.<br />
</p></span></p></li><div><table style="border-collapse: collapse;" border="0"><colgroup><col style="width: 48px;"><col style="width: 48px;"><col style="width: 48px;"><col style="width: 48px;"><col style="width: 48px;"><col style="width: 48px;"><col style="width: 48px;"></colgroup><tbody valign="top"><tr style="height: 48px;"><td colspan="7" style="border: medium none ; padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="color: rgb(54, 95, 145); font-size: 20pt;">May</span></p></td></tr><tr><td style="border-top: medium none; border-left: medium none; border-right: medium none; padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="color: rgb(79, 129, 189); font-size: 16pt;">M</span></p></td><td style="border-top: medium none; border-left: medium none; border-right: medium none; padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="color: rgb(79, 129, 189); font-size: 16pt;">T</span></p></td><td style="border-top: medium none; border-left: medium none; border-right: medium none; padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="color: rgb(79, 129, 189); font-size: 16pt;">W</span></p></td><td style="border-top: medium none; border-left: medium none; border-right: medium none; padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="color: rgb(79, 129, 189); font-size: 16pt;">T</span></p></td><td style="border-top: medium none; border-left: medium none; border-right: medium none; padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="color: rgb(79, 129, 189); font-size: 16pt;">F</span></p></td><td style="border-top: medium none; border-left: medium none; border-right: medium none; padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="color: rgb(79, 129, 189); font-size: 16pt;">S</span></p></td><td style="border-top: medium none; border-left: medium none; border-right: medium none; padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="color: rgb(79, 129, 189); font-size: 16pt;">S</span></p></td></tr><tr><td style="border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;">&nbsp;</td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">1</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">2</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">3</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">4</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">5</span></p></td><td style="border-left: medium none; padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">6</span></p></td></tr><tr><td style="border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">7</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">8</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">9</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">10</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">11</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">12</span></p></td><td style="border-left: medium none; padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">13</span></p></td></tr><tr><td style="border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">14</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">15</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">16</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">17</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">18</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">19</span></p></td><td style="border-left: medium none; padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">20</span></p></td></tr><tr><td style="border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">21</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">22</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">23</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">24</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">25</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">26</span></p></td><td style="border-left: medium none; padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">27</span></p></td></tr><tr><td style="border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">28</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">29</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">30</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;"><p style="text-align: center;"><span style="font-size: 14pt;">31</span></p></td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;">&nbsp;</td><td style="border-left: medium none; border-right: 0.5pt solid rgb(149, 179, 215); padding-left: 7px; padding-right: 7px;">&nbsp;</td><td style="border-left: medium none; padding-left: 7px; padding-right: 7px;">&nbsp;</td></tr></tbody></table></div><p style="margin-left: 18pt;"><span style="font-size: 10pt;">빌트인 테이블중에서 달력입니다.<br />
</span></p><p>Enrollment in local colleges, 2005<br />
</p><div><table style="border-collapse: collapse;" border="0"><colgroup><col style="width: 113px;"><col style="width: 106px;"><col style="width: 83px;"><col style="width: 60px;"></colgroup><tbody valign="top"><tr style="background: rgb(75, 172, 198) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><td style="border-style: solid none; border-color: -moz-use-text-color; border-width: 2.25pt medium; padding-left: 7px; padding-right: 7px;"><p><span style="color: white;"><strong>College</strong></span></p></td><td style="border-style: solid none; border-color: -moz-use-text-color; border-width: 2.25pt medium; padding-left: 7px; padding-right: 7px;"><p><span style="color: white;"><strong>New students</strong></span></p></td><td style="border-style: solid none; border-color: -moz-use-text-color; border-width: 2.25pt medium; padding-left: 7px; padding-right: 7px;"><p><span style="color: white;"><strong>Graduating students</strong></span></p></td><td style="border-style: solid none; border-color: -moz-use-text-color; border-width: 2.25pt medium; padding-left: 7px; padding-right: 7px;"><p><span style="color: white;"><strong>Change</strong></span></p></td></tr><tr><td style="padding-left: 7px; padding-right: 7px;">&nbsp;</td><td style="padding-left: 7px; padding-right: 7px;"><p><span style="color: gray;"><em>Undergraduate</em></span></p></td><td style="padding-left: 7px; padding-right: 7px;">&nbsp;</td><td style="padding-left: 7px; padding-right: 7px;">&nbsp;</td></tr><tr><td style="padding-left: 7px; padding-right: 7px;"><p>Cedar University</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>110</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>103</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>+7</p></td></tr><tr><td style="padding-left: 7px; padding-right: 7px;"><p>Elm College</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>223</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>214</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>+9</p></td></tr><tr><td style="padding-left: 7px; padding-right: 7px;"><p>Maple Academy </p></td><td style="padding-left: 7px; padding-right: 7px;"><p>197</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>120</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>+77</p></td></tr><tr><td style="padding-left: 7px; padding-right: 7px;"><p>Pine College</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>134</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>121</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>+13</p></td></tr><tr><td style="padding-left: 7px; padding-right: 7px;"><p>Oak Institute</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>202</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>210</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>-8</p></td></tr><tr><td style="padding-left: 7px; padding-right: 7px;">&nbsp;</td><td style="padding-left: 7px; padding-right: 7px;"><p><span style="color: gray;"><em>Graduate</em></span></p></td><td style="padding-left: 7px; padding-right: 7px;">&nbsp;</td><td style="padding-left: 7px; padding-right: 7px;">&nbsp;</td></tr><tr><td style="padding-left: 7px; padding-right: 7px;"><p>Cedar University</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>24</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>20</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>+4</p></td></tr><tr><td style="padding-left: 7px; padding-right: 7px;"><p>Elm College</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>43</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>53</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>-10</p></td></tr><tr><td style="padding-left: 7px; padding-right: 7px;"><p>Maple Academy </p></td><td style="padding-left: 7px; padding-right: 7px;"><p>3</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>11</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>-8</p></td></tr><tr><td style="padding-left: 7px; padding-right: 7px;"><p>Pine College</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>9</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>4</p></td><td style="padding-left: 7px; padding-right: 7px;"><p>+5</p></td></tr><tr><td style="border-bottom: 0.75pt double; padding-left: 7px; padding-right: 7px;"><p>Oak Institute</p></td><td style="border-bottom: 0.75pt double; padding-left: 7px; padding-right: 7px;"><p>53</p></td><td style="border-bottom: 0.75pt double; padding-left: 7px; padding-right: 7px;"><p>52</p></td><td style="border-bottom: 0.75pt double; padding-left: 7px; padding-right: 7px;"><p>+1</p></td></tr><tr style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><td style="border-style: none none solid; border-color: -moz-use-text-color; border-width: medium medium 2.25pt; padding-left: 7px; padding-right: 7px;"><p>Total</p></td><td style="border-style: none none solid; border-color: -moz-use-text-color; border-width: medium medium 2.25pt; padding-left: 7px; padding-right: 7px;"><p>998</p></td><td style="border-style: none none solid; border-color: -moz-use-text-color; border-width: medium medium 2.25pt; padding-left: 7px; padding-right: 7px;"><p>908</p></td><td style="border-style: none none solid; border-color: -moz-use-text-color; border-width: medium medium 2.25pt; padding-left: 7px; padding-right: 7px;"><p>90</p></td></tr></tbody></table></div><p><span style="font-size: 10pt;"><span style="color: gray;"><em>Source:</em></span> Fictitious data, for illustration purposes only<br />
</span></p><p style="margin-left: 18pt;"><span style="font-size: 10pt;">빌트인 테이블인데, 스타일까지 적용되어 있네요.<br />
</span></p><p style="margin-left: 18pt;"><img src="http://pds3.egloos.com/pds/200612/06/90/c0002390_11520175.png" alt="" /><br />
	</p><p style="margin-left: 18pt;"><span style="font-size: 10pt;">엑셀을 이용해서 테이블이 추가된 형태입니다.<br />
</span></p><p style="margin-left: 18pt;"><span style="font-size: 10pt;">이 경우는 그림으로 추가가 되는군요.<br />
</span></p><li><h1>그림 추가<br />
</h1><p><img src="http://pds3.egloos.com/pds/200612/06/90/c0002390_11520178.jpg" alt="" /><br />
			</p><p><span style="font-size: 10pt;">내 컴퓨터에 있는 이미지를 추가할 수 있습니다.<br />
</span></p><p><span style="font-size: 10pt;">물론 클립아트도 추가할 수 있겠죠. ^^<br />
</span></p><p><br />
&nbsp;</p><p><img src="http://pds3.egloos.com/pds/200612/06/90/c0002390_11520280.png" alt="" /><br />
			</p><p><br />
&nbsp;</p><p><br />
&nbsp;</p><p><br />
&nbsp;</p><p><span style="font-size: 10pt;">기본적으로 제공하는 도형도 추가할 수 있습니다.<br />
</span></p><p><img src="http://pds3.egloos.com/pds/200612/06/90/c0002390_11520230.png" alt="" /><br />
			</p><p><span style="font-size: 10pt;">스마트아트 기능을 통해서 이런 그림도 손쉽게 넣을 수 있네요…<br />
</span></p><p><span style="font-size: 10pt;">스마트아트 기능에는 상당히 많은 모양들이 제공되고 있습니다.<br />
</span></p><p><img src="http://pds3.egloos.com/pds/200612/06/90/c0002390_11520348.png" alt="" /><br />
			</p><p><span style="font-size: 10pt;">차트도 엑셀과 연계되어 쉽게 추가가 되네요.<br />
</span></p></li><li><h1>워드아트<br />
</h1><p><img src="http://pds4.egloos.com/pds/200612/06/90/c0002390_11520365.png" alt="" /><br />
<br />
<br />
 <br />
</p></li></ol>오늘은 여기까지 하겠습니다.<br />
더 좋은 내용을 보는데로 또 올려놓지요...<br />
			 ]]> 
		</description>
		<category>인터넷</category>

		<comments>http://hanuri.egloos.com/2834425#comments</comments>
		<pubDate>Wed, 06 Dec 2006 02:48:59 GMT</pubDate>
		<dc:creator>까망제비</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 정말 별걸 다 할줄 아는 구글~~~ ]]> </title>
		<link>http://hanuri.egloos.com/2834188</link>
		<guid>http://hanuri.egloos.com/2834188</guid>
		<description>
			<![CDATA[ 
  구글에서는 정말 몰라서 못하는 것이 훨씬 많은 듯하다.<br />
mp3 다운 받으려고 p2p 서비스를 사용하던 분들은...<br />
아래 방법을 사용해보시길...<br />
<br />
 1. <a href="http://www.google.co.kr/">구글</a>에 접속<br />
<br />
2. 검색창에 <strong>?intitle:index.of? mp3 곡명(혹은 가수)</strong> 를 적는다<br />
<br />
예를 들어 윤도현과 관련된 mp3를 찾는다면...<br />
<br />
<strong>?intitle:index.of? mp3 윤도현</strong> 이라고 적는다<br />
<br />
3. 검색 결과가 나오면 원하는 링크를 클릭<br />
<br />
4. 다운로드<br />
<br />
응용 범위는 무한대<br />
<br />
당신의 조합능력에 달렸슈 "확장자+검색어"<br />
<br />
<strong>?intitle:index.of? mpg 얼레리꼴레리<br />
<br />
?intitle:index.of? iso 열려라참깨</strong><br />
<br />
출처 : <a href="http://digikor.com/18">http://digikor.com/18</a><br />
<br />
<br />
			 ]]> 
		</description>
		<category>인터넷</category>

		<comments>http://hanuri.egloos.com/2834188#comments</comments>
		<pubDate>Wed, 06 Dec 2006 01:10:27 GMT</pubDate>
		<dc:creator>까망제비</dc:creator>
	</item>
	<item>
		<title><![CDATA[ MS Word 2007에서 블로그 포스팅하기 ]]> </title>
		<link>http://hanuri.egloos.com/2831868</link>
		<guid>http://hanuri.egloos.com/2831868</guid>
		<description>
			<![CDATA[ 
  MS Word 2007에서 블로그 포스팅 기능이 들어갔다고 한다.<br /><br />아직 사용해보지는 못했지만, 기존의 Performancing 이나 Google Docs 에서<br />사용하는 것보다 문서 작성하기는 쉬워질 것 같다.<br />특히나 틈틈이 문서를 작성해서 올리려는 경우에도 유용할 듯 하다.<br /><br />웹상에서 제공되기 때문에 생길 수 있는 제약이 MS Word 2007에서는 얼마나<br />가능해졌을까?<br />그리고 로컬에 있는 이미지를 올리려는 경우는 어떤 방법을 취하는지가 궁금하다.<br /><br />조만간에 프로그램을 구해서 테스트해봐야겠다.<br /><br />관련 링크 :<a href="http://www.tatterclub.com/admin/entry/MS-Word-2007%EB%A1%9C-%ED%85%8C%ED%84%B0%ED%88%B4%EC%A6%88%EC%97%90-%ED%8F%AC%EC%8A%A4%ED%8C%85%ED%95%98%EA%B8%B0">MS Word 2007로 테터툴즈에 포스팅하기</a><br /><br /><p class="poweredbyperformancing">powered by <a href="http://performancing.com/firefox">performancing firefox</a></p>			 ]]> 
		</description>
		<category>인터넷</category>

		<comments>http://hanuri.egloos.com/2831868#comments</comments>
		<pubDate>Tue, 05 Dec 2006 10:10:33 GMT</pubDate>
		<dc:creator>까망제비</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 트랙백 구현하기 ]]> </title>
		<link>http://hanuri.egloos.com/2809273</link>
		<guid>http://hanuri.egloos.com/2809273</guid>
		<description>
			<![CDATA[ 
  <span style="color: rgb(255, 102, 0);"><span style="font-weight: bold;"><span style="font-size: 100%;"><u><br />
트랙백 구현하기 - 1. 트랙백이란 무엇인가?</u></span></span><br />
</span><br />
트 랙백은 RSS와 더불어 블로그에서 많이 접할 수 있는 용어이지요. 트랙백을 설명하는 말은 참으로 많은데요, 저는 "퍼갔다고 알려주기" 정도로 풀이하기를 좋아합니다. 트랙백은 말 그대로 track(지나간 자국,발자취)를 되돌려주는건데요, 이렇게 말로 설명하면 복잡할 뿐더러 이해하기도 어려우므로 그림과 함께 설명해 볼까 합니다.<br />
<br />
<div style="text-align: center;"><img style="cursor: pointer;" class="image_mid" src="http://pds1.egloos.com/pds/1/200601/09/79/c0055679_15335560.gif" onclick="imgview('http://pds1.egloos.com/pds/1/200601/09/79/c0055679_15335560.gif',345,187,'1');" onmouseover="this.style.cursor='pointer'" alt="" border="0" height="187" width="345" /></div><br />
그림 1: 트랙백에 대한 설명<br />
<br />
<div style="text-align: center;"><img style="cursor: pointer;" class="image_mid" src="http://pds1.egloos.com/pds/1/200601/09/79/c0055679_15343825.gif" onclick="imgview('http://pds1.egloos.com/pds/1/200601/09/79/c0055679_15343825.gif',341,61,'1');" onmouseover="this.style.cursor='pointer'" alt="" border="0" height="61" width="341" /></div><br />
그림 2: 트랙백 과정 - 1<br />
<br />
먼저 트랙백을 받는 게시물, 즉 새 게시물이 참조하는 게시물에서 트랙백 주소를 공개합니다(그림 2). <br />
<br />
<br />
<div style="text-align: center;"><img style="cursor: pointer;" class="image_mid" src="http://pds1.egloos.com/pds/1/200601/09/79/c0055679_15352410.gif" onclick="imgview('http://pds1.egloos.com/pds/1/200601/09/79/c0055679_15352410.gif',487,43,'1');" onmouseover="this.style.cursor='pointer'" alt="" border="0" height="43" width="487" /></div><br />
<br />
<p>그림3: 트랙백 과정 - 2<br />
<br />
그 다음 새 게시물 작성자가 트랙백 주소를 입력하는 칸에 위의 트랙백 주소를 입력하고 글을 작성합니다(그림 3).<br />
이 때 트랙백을 글 작성시에 넣는 경우(대부분의 블로그 툴)도 있고 나중에 추가하는 경우(태터툴즈 등)도 있습니다.<br />
<br />
</p><div style="text-align: center;"><img style="cursor: pointer;" class="image_mid" src="http://pds2.egloos.com/pds/1/200601/09/79/c0055679_1536520.gif" onclick="imgview('http://pds2.egloos.com/pds/1/200601/09/79/c0055679_1536520.gif',824,234,'1');" onmouseover="this.style.cursor='pointer'" alt="" border="0" height="150" width="530" /></div><br />
그림 4: 트랙백 과정 - 4<br />
<br />
이후 단계는 사용자에게는 보이지 않고 서버끼리 처리하는 과정입니다. 새 게시물 작성 프로그램이 저 트랙백 주소로 트랙백 핑이라는 정보를 전달합니다.<br />
그 러면 해당 주소의 프로그램이 이를 처리하고 원본 게시물에 트랙백 주소를 저장한 후(그림 4), 새 게시물 작성 프로그램에 답변을 보냅니다. 물론 성공적으로 등록하였다면 답변은 에러가 없다는 식으로 갈 것이고, 문제가 있다면 에러가 돌아갈 것입니다.<br />
이제 새 게시물 작성 프로그램이 작성자에게 성곡적으로 등록하였는지 여부를 알려주면 일련의 트랙백 과정은 끝이 납니다.<br />
<br />
즉, 위 내용을 종합해보면 트랙백이란 "어떤 게시물을 참조하여 새 게시물을 작성할 때 새 게시물이 작성되었음을 원본 게시물에 알려주는 기능"이라 할 수 있습니다. 즉, 블로그나 게시판간에 서로 의사소통이 되도록 하고, 또 다른 블로그에서 트랙백 주소를 따라 같은 주제의 다른 주소로 옮겨가능 등 효과적인 커뮤니케이션을 위한 시스템이지요.<br />
<br />
다만 이런 트랙백에는 맹점이 있는데, 그것은 일방통행적 의사소통이라는 겁니다. 트랙백을 받는 쪽의 게시물에서는 어느 곳에서 이 글을 참조하였는지 알 수 있지만, 반대로 트랙백을 보낸 쪽에서는 본문에 따로 표기하지 않는 한 어느 게시물을 참조하였는지 알 수 없게 됩니다. 또한 어느 한 쪽 글이 삭제되어도 트랙백 기록은 고스란히 남아 불필요한 정보가 되지고 하지요. 하지만 이런 문제점에도 불구하고 트랙백이 지금껏 본 적이 없던 혁신적인 시스템이라는 데에는 이견이 없을 것입니다. <p>-----------------------<br />
<br />
<strong><span style="color: rgb(255, 102, 0);"><u>트랙백 구현하기 - 2. 트랙백의 형식</u></span></strong><br />
<br />
앞에서 트랙백은 트랙백 핑이라는 형태로 전달된다고 했습니다. 그렇다면 이 트랙백 핑과 답변의 형식을 알아야 내용을 전송할 수 있을텐데요, 이것은 정형화된 구조이므로 프로토콜이라고 할 수 있습니다.<br />
<br />
먼 저 트랙백 핑을 보내는 방법입니다. 트랙백 핑은 상대 서버로 4가지 POST변수를 넘겨주는 형태로 처리됩니다. 이 4가지 변수는 url,blog_name,title,excerpt 인데요, 이름에서 짐작하실 수 있듯이 새로 작성되는 글의 URL, 블로그의 이름, 글 제목, 글 내용을 담고 있는 변수들입니다.<br />
<br />
우선 핑을 보내기 전에 트랙백 주소가 실제로 존재하는지를 점검하기 위해 fopen등의 함수로 해당 주소를 일단 열어보는 등의 과정을 거치게 됩니다. 이후 실제 핑을 보낼 때에는 상대 서버에 접근해서 데이터를 넘겨줘야 하므로 fsockopen등의 네트워크 함수나 소켓 함수를 사용합니다.<br />
<br />
핑을 받은 서버에서는 내용을 정리하고 답변을 줘야 할 텐데요, 물론 url,blog_name,title,excerpt의 POST변수를 받아 일련의 과정을 처리하게 됩니다. 일단 넘어온 해당 변수의 이상유무와 원본 게시물의 존재여부 등을 검사한 후 답변을 해 주어야 합니다.<br />
<br />
답변은 XML을 출력하는 형태로 이루어지는데요, 에러가 없을 때에는<br />
<br />
&lt;?xml version="1.0" encoding="euc-kr(혹은 iso-8859-1)"?&gt;<br />
&lt;response&gt;<br />
&lt;error&gt;0&lt;/error&gt;<br />
&lt;/response&gt;<br />
<br />
의 내용을, 에러가 있을 시에는<br />
<br />
&lt;?xml version="1.0" encoding="euc-kr(혹은 iso-8859-1)"?&gt;<br />
&lt;response&gt;<br />
&lt;error&gt;1&lt;/error&gt;<br />
&lt;message&gt;에러의 내용&lt;/message&gt;<br />
&lt;/response&gt;<br />
<br />
를 출력해줍니다. 물론 에러가 없을 때에만 DB에 내용을 저장해야겠죠.<br />
<br />
그럼 다시 핑을 보내는 서버로 돌아오면, 해당 프로그램이 저 출력 내용을 다시 가져와서 해석하게 됩니다. 만약 에러가 없다면 문제 없이 글 등록을 완료시키면 될 것이고, 있다면 에러의 내용을 작성자에게 출력해 줍니다.<br />
<br />
</p><div style="text-align: center;"><img style="cursor: pointer;" class="image_mid" src="http://pds2.egloos.com/pds/1/200601/09/79/c0055679_154154100.gif" onclick="imgview('http://pds2.egloos.com/pds/1/200601/09/79/c0055679_154154100.gif',345,442,'1');" onmouseover="this.style.cursor='pointer'" alt="" border="0" height="442" width="345" /></div><br />
그림 1: 트랙백 프로토콜 정리 <br />
<br />
이 과정을 총정리한 것이 위 그림입니다. 정리하자면, url,blog_name,title,excerpt의 네 변수를 POST로 보내면 XML로 성공/오류 여부의 답변이 반환되는 것이라 할 수 있습니다.<!--"<--> <p>-----------------------<br />
<br />
</p><div align="left"><span style="color: rgb(255, 102, 0);"><span style="font-weight: bold;"><u>트랙백 구현하기 - 3. PHP로 트랙백 핑 보내기</u></span><br />
</span></div><div align="left"><br />
이제 본격적인 프로그래밍의 영역으로 넘어가 PHP로 직접 핑을 보내고 답변을 가져오는 소스를 짜보도록 하겠습니다. 우선 프로그램을 작성하기에 앞서 개념을 정리해보도록 하죠.<br />
<br />
1. 트랙백 주소가 유효한지 검사해서 존재하지 않을 경우 취소시킨다<br />
2. 보낼 트랙백 핑 데이터를 정리한다.<br />
3. 서버에 접속한 후 트랙백 핑을 보내고 응답을 받는다.<br />
4. 올바른 XML 답변이 오지 않을 경우 트랙백 주소가 아닌 것으로 간주하고 취소시킨다.<br />
5. XML 답변을 분석해 오류가 발생한 경우 취소시킨다.<br />
6. 위 과정을 모두 통과했을 경우 완료시킨다.<br />
<br />
위 내용을 염두하고 우선 풀소스를 보도록 합시다.<br />
<br />
<div style="text-align: center;"><img style="cursor: pointer;" class="image_mid" src="http://pds2.egloos.com/pds/1/200601/09/79/c0055679_15442787.gif" onclick="imgview('http://pds2.egloos.com/pds/1/200601/09/79/c0055679_15442787.gif',647,993,'1');" onmouseover="this.style.cursor='pointer'" alt="" border="0" height="813" width="530" /></div><br />
<br />
<span style="font-style: italic;">그림이 찌그러져 보일 경우에는 클릭해서 새창으로 띄워 보세요.</span><br />
<br />
보 시다시피 우리는 이번 소스를 함수화해서 만들 것입니다. 따라서 위 과정보다 앞서 어떤 변수를 받아야 하는가에 대해 생각해 보아야 합니다. 핑을 보낼 때 필요한 url,title,blog_name,excerpt 변수 외에 트랙백 주소 URL을 나타내는 변수도 받아야 합니다. "트랙백 주소 URL을 나타내는 변수"를 $t_url이라고 두겠습니다. 정리하면, $t_url,$url,$title,$blog_name,$excerpt의 5개 변수를 기입받아야 합니다.<br />
<span style="font-family: 굴림체;"><br />
function send_tb($t_url,$url,$title,$blog_name,$excerpt) {<br />
</span><br />
에러 문자열을 $tb_error_str에 담아 사용하도록 하겠습니다. 이를 위해 전역변수 선언을 해줍니다.<br />
<span style="font-family: 굴림체;"><br />
global $tb_error_str;<br />
</span><br />
그 다음 첫째 단계인 주소 유효성 검사입니다. fopen으로 해당 URL을 열어서 파일포인터가 없으면 해당 주소가 존재하지 않는 것으로 간주하겠습니다.<br />
<span style="font-family: 굴림체;"><br />
$p_fp = @fopen($t_url,'r');<br />
if($p_fp) fclose($p_fp);<br />
else {<br />
&nbsp; $tb_error_str = "트랙백 URL이 존재하지 않습니다.";<br />
&nbsp; return false;<br />
}<br />
</span><br />
본 문 내용을 정리해야 합니다. 우선 제목과 본문 요약의 태그를 제거하여야 합니다. 핑을 보낼 때에는 rawurlencode()를 사용해 인코딩시킵니다. 이는 "믹스"를 "%B9%CD%BD%BA"따위로 고쳐주는 것으로, 검색엔진에서 한글 검색시 주소창에 보이는 그것입니다. 단 urlencode()와는 다르게 공백을 +로 표시하지 않고 공백 역시 인코딩합니다(urlencode() 를 사용해도 무방한 것으로 알려져 있습니다).<br />
이렇게 정리한 내용을 $t_data에 넣습니다. $t_data는 HTTP 변수 전송 형식을 따라, 변수=값&amp;변수=값의 형태로 만듭니다.<br />
<span style="font-family: 굴림체;"><br />
$title = strip_tags($title);<br />
$excerpt = strip_tags($excerpt);<br />
$t_data = "url=".rawurlencode($url)."&amp;title=".rawurlencode($title).<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&amp;blog_name=".rawurlencode($blog_name)."&amp;excerpt=".rawurlencode($excerpt);<br />
</span><br />
소켓 연결을 위해 트랙백 대상 주소를 정리합니다. 만약 트랙백 주소 자체에 "변수=값"형태의 쿼리가 있다면 이를 $t_data 뒤에 붙여넣습니다. 또한 포트 정보가 없는 경우 웹서버 기본포트인 80을 입력해줍니다.<br />
<span style="font-family: 굴림체;"><br />
$uinfo = parse_url($t_url);<br />
if($uinfo[query]) $t_data .= "&amp;".$uinfo[query];<br />
if(!$uinfo[port]) $uinfo[port] = "80";<br />
</span><br />
이 제 보낼 내용을 정리해야 합니다. 이는 HTTP프로토콜에 규정된 형태인데, 자세한 형식의 내용은 그리 중요치 않습니다. 간단하게 트랙백 URL 서버의 해당 주소에 POST로 $t_data의 변수들을 넘겨주는 거라고 생각하시면 됩니다. 여기서 User-Agent부분에는 자신의 프로그램 이름 따위를 넣어주시면 됩니다(없어도 상관없습니다).<br />
<span style="font-family: 굴림체;"><br />
$send_str = "POST ".$uinfo[path]." HTTP/1.1<br />
".<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Host: ".$uinfo[host]."<br />
".<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"User-Agent: MTools<br />
".<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Content-Type: application/x-www-form-urlencoded<br />
".<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Content-length: ".strlen($t_data)."<br />
".<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Connection: close<br />
<br />
".<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$t_data;<br />
</span><br />
이제 데이터를 정리했으니 3번째 단계로 넘어가 핑을 보내고 답변을 받아와야 합니다. 핑을 보낼 때에는 fsockopen을 통해 해당 서버에 연결한 후 fputs로 위 내용을 전송해주면 됩니다.<br />
<span style="font-family: 굴림체;"><br />
$fp = fsockopen($uinfo[host],$uinfo[port]);<br />
fputs($fp,$send_str);<br />
</span><br />
그리고 응답을 가져옵니다. while문을 통해 128바이트씩 끝까지 가져오도록 하겠습니다. 응답을 가져왔으면 연결을 종료합니다.<br />
<span style="font-family: 굴림체;"><br />
while(!feof($fp)) $response .= fgets($fp,128);<br />
fclose($fp);<br />
</span><br />
이제 돌아온 정보를 분석해봐야 합니다. 우선 XML의 형태로 되돌아오지 않았을 경우 트랙백 주소가 아닌 일반 주소로 간주합니다. 우리는 &lt;response&gt;택의 유무로 간단하게 검사해 보겠습니다.<br />
<span style="font-family: 굴림체;"><br />
if(!strstr($response,"&lt;response&gt;")) {<br />
&nbsp;&nbsp;$tb_error_str = "올바른 트랙백 URL이 아닙니다.";<br />
&nbsp;&nbsp;return false;<br />
}<br />
</span><br />
존재한다면 이제 XML부분을 뽑아와야 합니다. $response안에 담긴 내용은 <br />
HTTP/1.1 200 OK<br />
...................<br />
Content-Type: text/xml<br />
등의 기본 헤더 정보 이후에야 출력 내용이 등장합니다. 그러므로 XML의 시작 부분부터 마지막 택인 &lt;/response&gt;까지만을 잘라내서 처리하도록 하겠습니다.<br />
<span style="font-family: 굴림체;"><br />
$response = strchr($response,"&lt;?");<br />
$response = substr($response,0,strpos($response,"&lt;/response&gt;"));<br />
</span><br />
마 무리 부분만 남았습니다. 뽑아온 자료에 에러가 포함되어있는지를 확인합니다. 간단하게 &lt;error&gt;0&lt;/error&gt;가 포함되어 있을 경우 성공으로 간주합니다(&lt;message&gt;의 유무도 좋습니다. 단 원칙대로라면 정규식을 통해 각 택의 내용을 불러와 검사해야 합니다). 그렇지 않을 경우 &lt;message&gt;&lt;/message&gt;사이의 에러 내용을 돌려줍니다.<br />
<span style="font-family: 굴림체;"><br />
if(strstr($response,"&lt;error&gt;0&lt;/error&gt;")) return true;<br />
else {<br />
&nbsp;&nbsp;$tb_error_str = strchr($response,"&lt;message&gt;");<br />
&nbsp;&nbsp;$tb_error_str = substr($tb_error_str,0,strpos($tb_error_str,"&lt;/message&gt;"));<br />
&nbsp;&nbsp;$tb_error_str = str_replace("&lt;message&gt;","",$tb_error_str);<br />
&nbsp;&nbsp;$tb_error_str = "트랙백 전송중 오류가 발생했습니다: $tb_error_str";<br />
&nbsp;&nbsp;return false;<br />
}<br />
<br />
//함수끝<br />
}<br />
</span><br />
이제 소스부분은 끝났습니다. 실제 사용시에는<br />
<span style="font-family: 굴림체;"><br />
$res = send_tb("트랙백 URL","글 URL","제목","블로그 이름","내용");<br />
if(!$res) {<br />
echo("트랙백 전송시 에러 발생: $tb_error_str");<br />
} else {<br />
//성공시 처리<br />
}<br />
</span><br />
와 같이 사용하면 됩니다. <p align="left">-----------------------<br />
<br />
<span style="font-weight: bold;"><span style="color: rgb(255, 102, 0);"><u>트랙백 구현하기 - 4. PHP로 트랙백 핑 받기</u></span></span><br />
<br />
보내는 부분은 완료되었으니 이제는 반대로 트랙백을 받는 부분을 알아보도록 하겠습니다. 보내는 것보다 훨씬 쉽습니다. 이번에도 개요를 보도록 하지요.<br />
<br />
1. POST로 url,title,blog_name,excerpt변수를 GET이나 POST로 해당 글에 관련된 정보(게시판 ID나 글번호)를 받는다.<br />
2. 위의 변수들이 모두 존재하는지 검사하고, 그렇지 않으면 에러 출력 후 작동을 끝낸다.<br />
3. 해당 변수가 모두 정상적인지를 확인하고 그렇지 않으면 에러 출력 후 작동을 끝낸다.<br />
4. 위 과정을 모두 통과했을 경우 DB에 트랙백의 내용을 저장하고 에러 없음을 리턴한다.<br />
<br />
이제 풀소스를 보죠.<br />
<br />
</p><div style="text-align: center;"><img style="cursor: pointer;" class="image_mid" src="http://pds1.egloos.com/pds/1/200601/09/79/c0055679_15454624.gif" onclick="imgview('http://pds1.egloos.com/pds/1/200601/09/79/c0055679_15454624.gif',907,520,'1');" onmouseover="this.style.cursor='pointer'" alt="" border="0" height="303" width="530" /></div><br />
그림이 찌그러져 보일 경우에는 클릭해서 새창으로 띄워 보세요.<br />
<br />
<br />
이 번에는 함수화가 아니라 단일 파일로 회신할 것입니다. 보낼 때와는 다르게 6개의 변수를 받아야 하는데, 트랙백의 기본인 $url,$title,$blog_name,$excerpt와 트랙백을 받는 글의 정보를 나타내는 변수, 이렇게 최소한 5개의 변수가 필요합니다. 저의 경우는 글의 정보를 나타내는 변수로 $id와 $no 두개를 사용했습니다.<br />
<br />
여기서 트랙백을 받을 때 달랑 트랙백을 받는 파일만을 만들어두면 안되겠지요. 트랙백을 보낼 수 있는 주소를 알려주어야 합니다. 1편의 그림 2를 다시 보겠습니다.<br />
<br />
<div style="text-align: center;"><img style="cursor: pointer;" class="image_mid" src="http://pds1.egloos.com/pds/1/200601/09/79/c0055679_15343825.gif" onclick="imgview('http://pds1.egloos.com/pds/1/200601/09/79/c0055679_15343825.gif',341,61,'1');" onmouseover="this.style.cursor='pointer'" alt="" border="0" height="61" width="341" /></div><br />
그림 2: 트랙백 과정 - 1<br />
<br />
이 처럼 글 하단에 적절한 주소를 알려주어야 합니다. 여기에서 글의 정보를 나타내는 변수를 알려주는 것입니다. 보시다시피 GET방식으로 변수를 나열하고 있습니다. 이 그림에서는 $bid와 $id가 그것이 될 것입니다. 이 주소로 트랙백을 보내면 $url,$title,$blog_name,$excerpt는 POST로, $bid,$id는 GET으로 전달되어 오겠지요.<br />
<br />
응답을 회신할 때의 규칙도 다시금 회상해 봅시다. 2편의 내용을 다시 끄집어내 보겠습니다.<br />
<span style="font-style: italic;"><br />
에러가 없을 때에는<br />
<br />
&lt;?xml version="1.0" encoding="euc-kr(혹은 iso-8859-1)"?&gt;<br />
&lt;response&gt;<br />
&lt;error&gt;0&lt;/error&gt;<br />
&lt;/response&gt;<br />
<br />
의 내용을, 에러가 있을 시에는<br />
<br />
&lt;?xml version="1.0" encoding="euc-kr(혹은 iso-8859-1)"?&gt;<br />
&lt;response&gt;<br />
&lt;error&gt;1&lt;/error&gt;<br />
&lt;message&gt;에러의 내용&lt;/message&gt;<br />
&lt;/response&gt;<br />
<br />
를 출력해줍니다.<br />
</span><br />
위 형식에 맞게 회신해 주어야겠죠.<br />
<br />
응 답 후 자료를 DB에 넣어야겠지요. 여기서 에러가 나면 또 이것을 반환해야 합니다. DB에 정상적으로 자료를 입력했다 해도 끝이 아닙니다. 사용자가 해당 글을 읽을 때 코멘트가 달린 것처럼 어느 곳에서 트랙백이 왔는지 알 수 있도록 내용을 출력해주어야 합니다.<br />
<br />
글로 써보니 복잡하기 이를 데 없군요. 준비는 여기까지로 그만두고, 소스를 뜯어보며 자세한 방법을 알아봅시다.<br />
<br />
<span style="font-family: 굴림체;"><br />
header("Content-Type: text/xml");<br />
echo("&lt;?xml version="1.0" encoding="euc-kr"?&gt; &lt;response&gt; ");<br />
</span><br />
당연히 XML이라는 사실을 알려주어야겠지요. 회신 규칙에 따라 &lt;response&gt;택까지 출력합니다.<br />
<br />
<span style="font-family: 굴림체;"><br />
if(!$id or !$no or !$_POST[url] or !$_POST[title] or !$_POST[blog_name] or !$_POST[excerpt]) {<br />
$msg = "";<br />
</span><br />
위 에서 말했듯이 저는 $url,$title,$blog_name,$excerpt와 글의 정보인 $id,$no를 전달받을 것입니다. $url,$title,$blog_name,$excerpt는 POST방식으로 전달되고 $id,$no는 GET으로 전달됩니다(단 $id와 $no는 어떤 방식이라고 규정하지 않고 그냥 받아올 것입니다). 그러므로 저 6개의 변수가 모두 존재해야 합니다. 하나라도 빠져 있는 경우에 에러를 내야겠죠.<br />
<span style="font-family: 굴림체;"><br />
if(!$id) $msg .= " id";<br />
if(!$no) $msg .= " no";<br />
if(!$_POST[url]) $msg .= " url";<br />
if(!$_POST[title]) $msg .= " title";<br />
if(!$_POST[blog_name]) $msg .= " blog_name";<br />
if(!$_POST[excerpt]) $msg .= " excerpt";<br />
</span><br />
부족한 6개의 변수 중 정확이 어느 것이 빠졌는지를 검사해 $msg에 넣습니다. 사실 이럴 필요 없이 에러문에 그냥 어떤 "변수 부족"이라고만 써도 됩니다만 친절하게(?) 빠진 변수를 설명해주기로 했습니다.<br />
<span style="font-family: 굴림체;"><br />
die("&lt;error&gt;1&lt;/error&gt; &lt;message&gt;Missing Parameter(s) :".$msg."&lt;/message&gt; &lt;/response&gt;");<br />
}<br />
</span><br />
무엇이 빠졌는지를 출력하며 PHP 실행을 끝내버립니다. 여기서 변수 부족 에러는 완전히 걸러집니다.<br />
<span style="font-family: 굴림체;"><br />
if($id != "정상적인 ID") die("&lt;error&gt;1&lt;/error&gt; &lt;message&gt;Wrong Parameter : id&lt;/message&gt; &lt;/response&gt;");<br />
if($no != "정상적인 글번호") die("&lt;error&gt;1&lt;/error&gt; &lt;message&gt;Wrong Parameter : no&lt;/message&gt; &lt;/response&gt;");<br />
</span><br />
이 제 변수가 올바른지를 검사해야 합니다. 글의 정보와 관련된 2개의 변수만 검사하면 되겠지요. 이 부분은 각자 자신에 맞게 고쳐주어야 합니다. 전체적인 맥락은 해당 포스트가 존재하는지를 검사해서 잘못되었을 경우 에러를 낸다는 것입니다. 제로보드를 예로 들어 볼까요.<br />
<span style="font-family: 굴림체;"><font size="-0"><br />
$ti = @mysql_fetch_row(mysql_query("select count(*) from zetyx_admin_table where id = '$id'"));<br />
if(!$ti[0]) die("생략");<br />
$tn = @mysql_fetch_row(mysql_query("select count(*) from zetyx_board_$id where no = '$no'"));<br />
if(!$tn[0]) die("생략");<br />
</font></span><br />
거듭 말씀드리지만 자신에 맞게 고치셔야 합니다.<br />
<span style="font-family: 굴림체;"><br />
mysql_query("insert into 트랙백테이블 values ('','$id','$no','$url','$title','$blog_name','$excerpt','UNIX_TIMESTAMP()','')")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or die("&lt;error&gt;1&lt;/error&gt; &lt;message&gt;DB Query </span></div><div align="left"><span style="font-family: 굴림체;">error&lt;/message&gt; &lt;/response&gt;");<br />
</span><br />
위 과정을 모두 거친 완벽한 트랙백 핑에 한해서 DB에 해당 내용을 삽입합니다. 이 역시 자신에 맞게 고쳐주시면 됩니다. 역시 핵심은 DB에 해당하는 모든 자료를 넣되, 자료를 넣는데 실패했을 경우 에러와 함께 프로그램을 종료시키는 것입니다.<br />
<span style="font-family: 굴림체;"><br />
echo("&lt;error&gt;0&lt;/error&gt; &lt;/response&gt;");<br />
</span><br />
이제 트랙백 핑의 긴 여정도 끝입니다. 최종적으로 무사통과라는 회신을 돌려줍니다.<br />
<br />
핑의 일은 끝입니다만 앞에서 말씀드렸듯이 해당하는 글 하단에 트랙백 정보를 알려주어야 합니다. 이건 이 시리즈에서는 생략하겠습니다. 단순히 자료를 뽑아오는 것 뿐이니 충분히 쉽게 할 수 있으리라 생각됩니다.<br />
<br />
지 금까지 비교적 최신 기술인 트랙백을 보내고 받는 과정을 알아봤습니다. 게시판이나 블로그에 응용해 보세요. 그리고 성공하신 분들은 http://micsland.com/mblog/tb.php?id=test&amp;no=3 에 트랙백을 한번 보내주시면 감사하겠습니다 :D<!--"<--> <div align="left">&nbsp;</div><div align="left"><p>-----------------------</p><p>출처는 <a class="con_link" href="http://micsland.com/" target="_blank"><span style="color: rgb(0, 51, 204);">http://micsland.com/</span></a> <br />
</p>혹시나 사라지는 경우가 생길까봐 본문을 옮겼습니다.<br />
원작자께서 원하시면 삭제하도록 하겠습니다.<br />
</div></div>			 ]]> 
		</description>
		<category>인터넷</category>

		<comments>http://hanuri.egloos.com/2809273#comments</comments>
		<pubDate>Wed, 29 Nov 2006 06:00:36 GMT</pubDate>
		<dc:creator>까망제비</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 구글과 MS의 행보~ ]]> </title>
		<link>http://hanuri.egloos.com/2726963</link>
		<guid>http://hanuri.egloos.com/2726963</guid>
		<description>
			<![CDATA[ 
  구글은 오픈에서 시작하여 세력 확장으로...<br />
MS는 세력 확장에서 오픈으로...<br />
<br />
서로 다른 행보~~~<br />
			 ]]> 
		</description>
		<category>인터넷</category>

		<comments>http://hanuri.egloos.com/2726963#comments</comments>
		<pubDate>Tue, 07 Nov 2006 03:03:05 GMT</pubDate>
		<dc:creator>까망제비</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 다음의 "애드클릭스" ]]> </title>
		<link>http://hanuri.egloos.com/2698847</link>
		<guid>http://hanuri.egloos.com/2698847</guid>
		<description>
			<![CDATA[ 
  다음이 신청한 블로그에 광고를 넣고 수익을 돌려준다고 한다.<br />
한국형 AdSense가 될 가능성이 있다.<br />
아직 서비스가 시작되지 않아 정확한 내용은 알 수가 없지만, 다음 블로거에게는 기회가 될 수 있을 것 같다.<br />
<br />
구글의 AdSense는 실제 웹페이지의 소스를 수정해야 하는 문제로 설치형 블로그 이외에는 사용하기 어려운 문제로 서비스형 블로그(네이버 블로그, 다음 블로그, 이글루스 등)을 사용하는 경우에는 AdSense 를 추가하기 어려웠다.<br />
이제 이런 서비스를 사용하는 블로거 중에서 다음 블로그를 사용하는 블로거는 광고를 통한 수익 추구가 가능해 진 것이다.<br />
<br />
개인적으로는 좀 씁쓸하다.<br />
내가&nbsp;가지고 있던 아이디어의&nbsp;내용이 바로 저 "애드클릭스"와 동일한 서비스라는 사실... ㅠ.ㅠ			 ]]> 
		</description>

		<comments>http://hanuri.egloos.com/2698847#comments</comments>
		<pubDate>Wed, 01 Nov 2006 06:00:28 GMT</pubDate>
		<dc:creator>까망제비</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 키워드 광고 신디케이션의 미래는? ]]> </title>
		<link>http://hanuri.egloos.com/2698403</link>
		<guid>http://hanuri.egloos.com/2698403</guid>
		<description>
			<![CDATA[ 
  <a href="http://news.naver.com/news/read.php?mode=LSD&amp;office_id=001&amp;article_id=0001454795&amp;section_id=001&amp;menu_id=001" target="_blank">&lt;부정클릭 문제 해결 실마리 찾나&gt;</a><br />
<br />
부정클릭 논란의 중심에 있는 오버추어가 결국 부정클릭에 대해 인정하고 시스템 업그레이드를 하겠다는 뜻을 비췄다.<br />
광고주가 광고 대상 사이트를 선택하겠다는 것이 포함되어 있는데, 이렇게 되면 주요 매체를 제외하고는 오버추어의 광고 게재가 사실상 힘들어 질 것이다.<br />
<br />
네이버 등의 주요 매체가 독자적인 광고 시스템을 도입하는 경우 갖게되는 부담감등으로 오버추어의 입지는 유지될 것으로 생각되지만, 과연 광고주 입장에서는 굳이 오버추어를 써야 할 이유가 있을까?<br />
아마도 광고주는 매체에 직접 광고 계약을 하는 경우가 지금보다는 증가할 것으로 생각된다.<br />
<br />
오버추어의 광고를 중개하는&nbsp;사업자는 막대한 타격을 입고 사업을 포기하는 경우도 생길 수 있을 것 같다.<br />
주요 매체를 잡지 않는 한, 더 이상의 광고가 게재될 가능성은 없을테니까... 			 ]]> 
		</description>

		<comments>http://hanuri.egloos.com/2698403#comments</comments>
		<pubDate>Wed, 01 Nov 2006 03:15:58 GMT</pubDate>
		<dc:creator>까망제비</dc:creator>
	</item>
</channel>
</rss>
