<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>          Samuel's Project Nash</title>
	
	<link>http://defree.co.kr/blog</link>
	<description>     개발자여! 깨어나라! - 행복한 프로그래머(개발자) 되기!</description>
	<lastBuildDate>Mon, 25 Jul 2011 14:43:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/co/tuoV" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="co/tuov" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Plan C.</title>
		<link>http://defree.co.kr/blog/?p=754</link>
		<comments>http://defree.co.kr/blog/?p=754#comments</comments>
		<pubDate>Mon, 25 Jul 2011 14:38:46 +0000</pubDate>
		<dc:creator>Samuel Baek</dc:creator>
				<category><![CDATA[샬랄라이야기]]></category>

		<guid isPermaLink="false">http://defree.co.kr/blog/?p=754</guid>
		<description><![CDATA[블로그에 글을 쓴 지 반년이 넘었다. 새로운 출발이라는 마음은 깨끗이 포기했다. 이유는 아주 간단하다. 한국에서 훌륭한 조직을 만든다는 것은 리더의 지원없이는 불가능하다는 것이다. 물론 가능할 수도 [...]


No related posts.

이 플러그인은 <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>에 의해 개발되었습니다.]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste">블로그에 글을 쓴 지 반년이 넘었다. 새로운 출발이라는 마음은 깨끗이 포기했다. 이유는 아주 간단하다. 한국에서 훌륭한 조직을 만든다는 것은 리더의 지원없이는 불가능하다는 것이다. 물론 가능할 수도 있으나 그 때가 되면 이미 내가 그 구성원이 되기에 늦었을 것 같다. 한마디로 비효율적이라는 것이다. 내가 처음부터 새 조직을 만드는 것이 더 빠르겠다는 판단이 든다.</div>
<p><br/></p>
<div>the best case는 daum 등과 같은 훌륭한 회사에서 생각을 실천하는 것이었다. 그러나 그런 훌륭한 곳은 나를 받아주기엔 내가 너무 부족한가보다.</div>
<div>두번째 목표는 있는 조직은 훌륭한 조직으로 만드는 것이었다. 서두에 이야기한 것 처럼 효율면에서 좋지 않을 것으로 보인다.</div>
<div>세번째 계획은 내가 원하는 것들을 스스로 조금씩 만들어나가는 것이다.</div>
<p><br/></p>
<div>훌륭한 기술을 좋은 사람이 잘 사용하면 분명 세상을 이롭게 할 수 있을 거라 믿는다. 결국 내가 하고 싶은 것 아닌가.  지치지 말고 하나씩 하나씩 만들어나갔으면 좋겠다. 내 자신을 칭찬하고 다독이면서, 때로는 다그치면서 생각을 실천해야겠다.</div>
</ul>


<p>No related posts.</p>
<p>이 플러그인은 <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>에 의해 개발되었습니다.</p>
<p><a href="http://feedads.g.doubleclick.net/~a/pGXEHLYd7IWZDNBnuhDkVemTpUo/0/da"><img src="http://feedads.g.doubleclick.net/~a/pGXEHLYd7IWZDNBnuhDkVemTpUo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/pGXEHLYd7IWZDNBnuhDkVemTpUo/1/da"><img src="http://feedads.g.doubleclick.net/~a/pGXEHLYd7IWZDNBnuhDkVemTpUo/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://defree.co.kr/blog/?feed=rss2&amp;p=754</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>이직 결정. 새로운 출발을 앞두고.</title>
		<link>http://defree.co.kr/blog/?p=748</link>
		<comments>http://defree.co.kr/blog/?p=748#comments</comments>
		<pubDate>Mon, 20 Dec 2010 07:29:53 +0000</pubDate>
		<dc:creator>Samuel Baek</dc:creator>
				<category><![CDATA[샬랄라이야기]]></category>
		<category><![CDATA[개발자]]></category>

		<guid isPermaLink="false">http://defree.co.kr/blog/?p=748</guid>
		<description><![CDATA[



정말 정말 오랫동안 블로그를 나두고 있었습니다. 마지막 글이 2010년 11월 10일이네요. 이직을 한다는 것(재직중인 상태로)이 무척 어려운 일이군요. 이번에는 정말 심사숙고하고 여기 [...]


No related posts.

이 플러그인은 <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>에 의해 개발되었습니다.]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript"><!--
google_ad_client = "pub-9283593688676962";
/* 468x60, ì��ì�±ë�¨ 09. 3. 3 */
google_ad_slot = "7921519194";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
정말 정말 오랫동안 블로그를 나두고 있었습니다. 마지막 글이 2010년 11월 10일이네요. 이직을 한다는 것(재직중인 상태로)이 무척 어려운 일이군요. 이번에는 정말 심사숙고하고 여기저기 골라서 하다보니 더 그렇답니다.</p>
<p>올해 초부터 도전했었던 DAUM은 14번 낙방하고 기타 다른 포털도 모두 낙방했습니다. 크게 힘든 일도 아니고 계속 도전하는 거야! 라고 마음먹은 것인데도 정신적 쇼크는 오더군요. 생각보다 더 쓰라립니다. 연말이 다가오면서 10월 즈음인가 이직의 기준을 다시 세우고 방향을 좀 더 다양하게 바꾸었습니다. 일단 회사를 골라야 하는데, 첫번째 조건은 상장사(유가 증권, 코스닥)입니다. 제 &#8220;그 분&#8221;께선 안정성을 원하거든요. 뭐, 많은 아내들의 마음이 거의 그렇지만 맞벌이하는 저 아내도 그렇답니다. 두번째 조건은 제품 또는 자사 서비스가 있는냐 하는 것입니다. 브랜드죠. 자기 브랜드 즉, 알릴만한 이름을 갖고 있는 회사입니다. 브랜드가 있다면 &#8220;가치&#8221;에 대해서 소홀하게 생각하지 않을 거라는 추측에서 기인한 기준입니다.(어찌보면 무임승차가 아닌가 하는 생각이 들 정도로 도전적인 것과는 거리가 있군요. -_-;;) 세번째는 경영진이 생각하는 엔지니어에 대한 좋은 관점입니다. &#8220;기술이 사람을 이롭게 한다.&#8221;는 제 생각을 실천하려면 엔지니어가 우대받는 회사여야 할 거라는 추측이죠. 네번째는 재벌 대기업의 영향이 적은 회사입니다. 사실 이 네번째 기준이 꽤 어려운데요, 대한민국이 재벌민국이라는 건 누구나 알고 있으니까요. 그래도 되도록&#8230; 이라는 생각입니다. 이 네가지 기준들로 회사를 골라내니 그래도 꽤 많답니다. 한 50군데는 넘게 지원을 한 것 같군요.</p>
<p>위의 기준에 해당하는 회사들은 어느 정도의 규모도 있고, 대게 채용관련 시스템(웹)을 갖추고 있습니다. 그래서 이력서, 자기소개서 등의 서류를 작성할 때 웹을 사용하지요. 이게.. 엄청 불편해요. 포멧도 다 다르고, 질문도 서로 다르고 해서 매번 새로 써야 하거든요. 퇴근해서 집안일 쪼금에 아들 재우고 하면 밤 10시 반 전후인데 그 때 부터 이력서, 자기소개서를 작성하면 금새 새벽 2시가 되지요. 재미있는 일도 아니니 금방 지치고 해서 침대로 떡실신합니다. 다음 날 출근하고.. 또 반복이죠.</p>
<p>참 안타까운 것이 위의 기준에 해당하는 회사는 하나같이 서울에 위치하고 있습니다. 다음(제주)이나 NHN(춘천) 등 규모도 크고 지방에 연구/개발 시설(사무실)을 갖추는 곳도 있고, 대전, 대구, 부산 등 광역시에도 있기는 하지만 가뭄에 콩나듯이 있지요. 하여간 서울이라는 거죠. 제가 서울 태생이지만 서울에서 산다는 것을 끔찍히도 싫어하는데 결국 서울로 가게 되는군요.</p>
<p>11월 초 부터 면접일정이 하나 둘 잡혔습니다. 재직중이라고 양해를 구하면 안통하는 회사도 있고요, 주말에 시간을 내 주는 회사도 있고, 밤 늦게 까지 기다리는 회사도 있답니다. 거의 모든 주말에 면접일정으로 채워지고 평일 퇴근 후에도 부리나케 서울로 올라갔습니다. 면접은 10번 넘은 것 같네요. 게임 회사도 있었고, 통신회사도 있었고, 포털 등 면접 본 회사들은 꽤 다양했습니다. 회사는 저를 면접보고 저 또한 회사를 면접봅니다. 상장사라면 재무구조가 공개되어 있기 때문에 어느 정도 추측이 가능합니다.(물론 이중 장부 등 트릭을 쓰면 어쩔 수 없죠.) 여러번 떨어지다가 세 곳에서 적극적으로 저를 채용하려고 했고 결국 한 회사를 결정하였습니다. 결정하는데 고민을 많이 하게 됩니다. 한 곳에서 정년을 보고 싶은 마음도 있고, 가장의 무게도 있고, 제 꿈도 있으니까 쉬운 결정은 아닙니다. 그러나 쉽게 결정되더군요. &#8220;코스닥이잖아, 회사 건물도 있잖아.&#8221;</p>
<p>저는 서울 태생이지만 서울을 무척이나 싫어합니다. 그런데 서울로 가게 되는군요. 그리고 아마도 정착하게 될 것입니다. 당장은 집을 마련할 돈이 부족하기 때문에 주말부부/주말아빠를 해야 하지만 한 2년 후면 집을 구하여 정착할 예정입니다. 회사를 결정하는데 위에서 말한 간단한 이유보다는 더 큰 이유가 심리에 깔려있었습니다. 결정하기 하루 전 퇴근하는 버스에서 보게 된 저녁 주부 TV 프로그램에서 회사원에서 주부로, 그리고 유아용품 디자인 및 판매로 성공하고 있는 스토리를 보며 제가 정말 하고 싶은 일이 무엇인지를 또 생각하게 되었습니다.(수백번도 더 생각한 것인데 또 합니다.) 저는 한편으로 계속 게임을 만들고 싶었습니다. 게임을 만든다는 것은 IT 미디어의 총아이고 높은 난이도와 멋진 결과물을 만드는 것이죠. 그런데 그게 아니었습니다. 전 제 눈으로 동작하는 것을 보고 즐길 수 있는 것, 그리고 더 발전할 수 있는 것 중에서 &#8220;살아있는 로봇&#8221;을 만들고 싶었던 겁니다. 머리속에서 &#8220;로봇&#8221;을 그려보니 &#8220;아, 그렇구나.&#8221;하는 생각이 들었습니다. 많이 늦었을지도 모르지만 지금이라도 확실히 알 수 있다는 것에 감사합니다.</p>
<p>아무리 좋은 회사와 장미빛 미래라고 하더라도 막상 그 배에 오르게 되면 생각했던 것과 많이 다르겠지요. 그러나 확실한 방향과 건강한 몸과 마음, 그리고 지지해주는 가족이 있다면 지금까지보다는 내일이 더 즐거울 가능성이 높을 겁니다.</p>
<p>P.S 이제 블로깅도 더 많이 할 수 있겠지요.</ul>


<p>No related posts.</p>
<p>이 플러그인은 <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>에 의해 개발되었습니다.</p>
<p><a href="http://feedads.g.doubleclick.net/~a/gsQDQgQv6SgXnrpUGE0coOb0gLE/0/da"><img src="http://feedads.g.doubleclick.net/~a/gsQDQgQv6SgXnrpUGE0coOb0gLE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/gsQDQgQv6SgXnrpUGE0coOb0gLE/1/da"><img src="http://feedads.g.doubleclick.net/~a/gsQDQgQv6SgXnrpUGE0coOb0gLE/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://defree.co.kr/blog/?feed=rss2&amp;p=748</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebGL 공부하다가 canvas 2D</title>
		<link>http://defree.co.kr/blog/?p=739</link>
		<comments>http://defree.co.kr/blog/?p=739#comments</comments>
		<pubDate>Mon, 11 Oct 2010 08:44:05 +0000</pubDate>
		<dc:creator>Samuel Baek</dc:creator>
				<category><![CDATA[개발자, 개발, programming]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[WebGL]]></category>

		<guid isPermaLink="false">http://defree.co.kr/blog/?p=739</guid>
		<description><![CDATA[



짬내서 WebGL을 들여다보는 도중에 갑자기 떠오른 게.. &#8220;3D도 되는데 2D는 안되나?&#8221; 하는 것이었습니다. 검색해보면 바로 나오는데요, 엄청 간단합니다.

1
2
3
4
5
6
7
var context = document.getElementById&#40;canvas_id&#41;.getContext&#40;&#34;2d&#34;&#41;;
context.beginPath&#40;&#41;;
context.moveTo&#40;x1, y1&#41;;
context.lineTo&#40;x2, y2&#41;;
context.stroke&#40;&#41;;
context.closePath&#40;&#41;;
context.arc&#40;x, y, radius, start_angle, end_angle, anticlockwise&#41;;

이런 식이죠.
이미지도 추가할 수 있는데요.

1
2
3
4
5
6
var context = document.getElementById&#40;canvas_id&#41;.getContext&#40;&#34;2d&#34;&#41;;
var img = new Image&#40;&#41;;
img.onload = function&#40;&#41; &#123;
	context.drawImage&#40;img, x, y, width, height&#41;;
&#125;;
img.src = image_url;

여기까지는 꽤 간단합니다만, 베지어곡선이나 여러가지 선을 이은 path까지 [...]


No related posts.

이 플러그인은 <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>에 의해 개발되었습니다.]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript"><!--
google_ad_client = "pub-9283593688676962";
/* 468x60, ì��ì�±ë�¨ 09. 3. 3 */
google_ad_slot = "7921519194";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p>짬내서 WebGL을 들여다보는 도중에 갑자기 떠오른 게.. &#8220;3D도 되는데 2D는 안되나?&#8221; 하는 것이었습니다. 검색해보면 바로 나오는데요, 엄청 간단합니다.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> context <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>canvas_id<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getContext</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;2d&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
context.<span style="color: #660066;">beginPath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
context.<span style="color: #660066;">moveTo</span><span style="color: #009900;">&#40;</span>x1<span style="color: #339933;">,</span> y1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
context.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span>x2<span style="color: #339933;">,</span> y2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
context.<span style="color: #660066;">stroke</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
context.<span style="color: #660066;">closePath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
context.<span style="color: #660066;">arc</span><span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> radius<span style="color: #339933;">,</span> start_angle<span style="color: #339933;">,</span> end_angle<span style="color: #339933;">,</span> anticlockwise<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>이런 식이죠.</p>
<p>이미지도 추가할 수 있는데요.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> context <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>canvas_id<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getContext</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;2d&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> img <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Image<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
img.<span style="color: #000066;">onload</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	context.<span style="color: #660066;">drawImage</span><span style="color: #009900;">&#40;</span>img<span style="color: #339933;">,</span> x<span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> width<span style="color: #339933;">,</span> height<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
img.<span style="color: #660066;">src</span> <span style="color: #339933;">=</span> image_url<span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>여기까지는 꽤 간단합니다만, 베지어곡선이나 여러가지 선을 이은 path까지 하고 알파채널을 사용하면 조금씩 복잡해집니다. 오늘은 라이브러리 구성까지도 못하고 돌아가는지만 확인했네요. 소스는 xp-dev의 WebGL 공부용 프로젝트(<a href="http://defree.co.kr/blog/?p=725">WebGL 공부중</a> 포스팅 참조)에 넣어놨습니다. 보고 싶으신 분들은 언제나 checkout!</p>
<p>html 소스</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=EUC-KR&quot;&gt;
&lt;title&gt;2D Lesson 1&lt;/title&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/handler.js&quot;&gt;&lt;/script&gt;
&lt;style&gt;
input[type=text] {
	width: 30px;
}
canvas { border: 2px solid #ff00ff; float: left; margin-right: 20px; margin-bottom: 20px; background-color: #000000;}
&lt;/style&gt;
&lt;/head&gt;
&lt;body onload=&quot;javascript:handler.init();&quot; onkeydown=&quot;javascript:handler.keyHandler(event);&quot;&gt;
&lt;div id=&quot;interface_div&quot;&gt;
&lt;form name=&quot;interface_form&quot;&gt;
	line : (&lt;input type=&quot;text&quot; name=&quot;line_x1&quot; value=&quot;0&quot;/&gt;,&lt;input type=&quot;text&quot; name=&quot;line_y1&quot; value=&quot;0&quot;/&gt;) to (&lt;input type=&quot;text&quot; name=&quot;line_x2&quot; value=&quot;100&quot;/&gt;,&lt;input type=&quot;text&quot; name=&quot;line_y2&quot; value=&quot;100&quot;/&gt;)&lt;input type=&quot;button&quot; onclick=&quot;javascript:handler.line_to_test();&quot; value=&quot;line_to Text&quot;/&gt;&lt;br&gt;
	circle : (x&lt;input type=&quot;text&quot; name=&quot;circle_x&quot; value=&quot;30&quot;/&gt;,y&lt;input type=&quot;text&quot; name=&quot;circle_y&quot; value=&quot;30&quot;/&gt;) radius&lt;input type=&quot;text&quot; name=&quot;circle_radius&quot; value=&quot;20&quot;/&gt; (angle start&lt;input type=&quot;text&quot; name=&quot;circle_start_angle&quot; value=&quot;0&quot;/&gt;,angle end&lt;input type=&quot;text&quot; name=&quot;circle_end_angle&quot; value=&quot;360&quot;/&gt;)&lt;input type=&quot;button&quot; onclick=&quot;javascript:handler.draw_circle_test();&quot; value=&quot;draw_circle test&quot;/&gt;&lt;br&gt; 
	image : (x&lt;input type=&quot;text&quot; name=&quot;image_x&quot; value=&quot;0&quot;/&gt;,y&lt;input type=&quot;text&quot; name=&quot;image_y&quot; value=&quot;0&quot;/&gt;),(width&lt;input type=&quot;text&quot; name=&quot;image_width&quot; value=&quot;100&quot;/&gt;,height&lt;input type=&quot;text&quot; name=&quot;image_height&quot; value=&quot;100&quot;/&gt;)&lt;input type=&quot;button&quot; onclick=&quot;javascript:handler.draw_image_test();&quot; value=&quot;image test&quot;/&gt;&lt;input type=&quot;button&quot; onclick=&quot;javascript:handler.clear_rect_test();&quot; value=&quot;clear rect test&quot;/&gt;&lt;br&gt; 
	test : &lt;input type=&quot;button&quot; onclick=&quot;javascript:handler.test();&quot; value=&quot;test&quot;/&gt; 
&lt;/form&gt;
&lt;/div&gt;
&lt;canvas id=&quot;lesson1-canvas&quot; width=&quot;500&quot; height=&quot;500&quot; border=&quot;3&quot;&gt;&lt;/canvas&gt;
&lt;/body&gt;
&lt;/html&gt;</pre></td></tr></table></div>

<p>자바스크립트 소스</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> KEY <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span> RIGHT<span style="color: #339933;">:</span><span style="color: #CC0000;">39</span><span style="color: #339933;">,</span> UP<span style="color: #339933;">:</span><span style="color: #CC0000;">38</span><span style="color: #339933;">,</span> LEFT<span style="color: #339933;">:</span><span style="color: #CC0000;">37</span><span style="color: #339933;">,</span> DOWN<span style="color: #339933;">:</span><span style="color: #CC0000;">40</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> sa2d <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
	descript <span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;&quot;</span>
	<span style="color: #339933;">,</span> canvas <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">null</span>
	<span style="color: #339933;">,</span> context <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">null</span>
	<span style="color: #339933;">,</span> init <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>canvas_id<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		sa2d.<span style="color: #660066;">canvas</span> <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>canvas_id<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		sa2d.<span style="color: #660066;">context</span> <span style="color: #339933;">=</span> sa2d.<span style="color: #660066;">canvas</span>.<span style="color: #660066;">getContext</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;2d&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #339933;">,</span> line_to <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>x1<span style="color: #339933;">,</span> y1<span style="color: #339933;">,</span> x2<span style="color: #339933;">,</span> y2<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003366; font-weight: bold;">var</span> context <span style="color: #339933;">=</span> sa2d.<span style="color: #660066;">context</span><span style="color: #339933;">;</span>
		context.<span style="color: #660066;">beginPath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		context.<span style="color: #660066;">moveTo</span><span style="color: #009900;">&#40;</span>x1<span style="color: #339933;">,</span> y1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		context.<span style="color: #660066;">lineTo</span><span style="color: #009900;">&#40;</span>x2<span style="color: #339933;">,</span> y2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		context.<span style="color: #660066;">stroke</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		context.<span style="color: #660066;">closePath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #339933;">,</span> clearRect <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> width<span style="color: #339933;">,</span> height<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003366; font-weight: bold;">var</span> context <span style="color: #339933;">=</span> sa2d.<span style="color: #660066;">context</span><span style="color: #339933;">;</span>
		context.<span style="color: #660066;">clearRect</span><span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> width<span style="color: #339933;">,</span> height<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #339933;">,</span> draw_circle <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> radius<span style="color: #339933;">,</span> start_angle<span style="color: #339933;">,</span> end_angle<span style="color: #339933;">,</span> anticlockwise<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003366; font-weight: bold;">var</span> context <span style="color: #339933;">=</span> sa2d.<span style="color: #660066;">context</span><span style="color: #339933;">;</span>
		context.<span style="color: #660066;">beginPath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		context.<span style="color: #660066;">arc</span><span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> radius<span style="color: #339933;">,</span> start_angle<span style="color: #339933;">,</span> end_angle<span style="color: #339933;">,</span> anticlockwise<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		context.<span style="color: #660066;">stroke</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">//context.fill();</span>
		context.<span style="color: #660066;">closePath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #006600; font-style: italic;">// https://developer.mozilla.org/en/Canvas_tutorial/Using_images</span>
	<span style="color: #339933;">,</span> draw_image <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>image_url<span style="color: #339933;">,</span> x<span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> width<span style="color: #339933;">,</span> height<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003366; font-weight: bold;">var</span> context <span style="color: #339933;">=</span> sa2d.<span style="color: #660066;">context</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> img <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Image<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		img.<span style="color: #000066;">onload</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			context.<span style="color: #660066;">drawImage</span><span style="color: #009900;">&#40;</span>img<span style="color: #339933;">,</span> x<span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> width<span style="color: #339933;">,</span> height<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
		img.<span style="color: #660066;">src</span> <span style="color: #339933;">=</span> image_url<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> handler <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
	descript <span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;&quot;</span>
	<span style="color: #339933;">,</span> init <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>sa2d.<span style="color: #660066;">context</span> <span style="color: #339933;">===</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			sa2d.<span style="color: #660066;">init</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;lesson1-canvas&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>
	<span style="color: #339933;">,</span> line_to_test <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003366; font-weight: bold;">var</span> form <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementsByName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;interface_form&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> x1 <span style="color: #339933;">=</span> form.<span style="color: #660066;">line_x1</span>.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> y1 <span style="color: #339933;">=</span> form.<span style="color: #660066;">line_y1</span>.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> x2 <span style="color: #339933;">=</span> form.<span style="color: #660066;">line_x2</span>.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> y2 <span style="color: #339933;">=</span> form.<span style="color: #660066;">line_y2</span>.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
		sa2d.<span style="color: #660066;">line_to</span><span style="color: #009900;">&#40;</span>x1<span style="color: #339933;">,</span> y1<span style="color: #339933;">,</span> x2<span style="color: #339933;">,</span> y2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #339933;">,</span> draw_circle_test <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003366; font-weight: bold;">var</span> form <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementsByName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;interface_form&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> x <span style="color: #339933;">=</span> form.<span style="color: #660066;">circle_x</span>.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> y <span style="color: #339933;">=</span> form.<span style="color: #660066;">circle_y</span>.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> radius <span style="color: #339933;">=</span> form.<span style="color: #660066;">circle_radius</span>.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> start_angle <span style="color: #339933;">=</span> form.<span style="color: #660066;">circle_start_angle</span>.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> end_angle <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>Math.<span style="color: #660066;">PI</span> <span style="color: #339933;">*</span> <span style="color: #CC0000;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> form.<span style="color: #660066;">circle_end_angle</span>.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> anticlockwise <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span>
		sa2d.<span style="color: #660066;">draw_circle</span><span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> radius<span style="color: #339933;">,</span> start_angle<span style="color: #339933;">,</span> end_angle<span style="color: #339933;">,</span> anticlockwise<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #339933;">,</span> draw_image_test <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003366; font-weight: bold;">var</span> form <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementsByName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;interface_form&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> x <span style="color: #339933;">=</span> form.<span style="color: #660066;">image_x</span>.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> y <span style="color: #339933;">=</span> form.<span style="color: #660066;">image_y</span>.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> width <span style="color: #339933;">=</span> form.<span style="color: #660066;">image_width</span>.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> height <span style="color: #339933;">=</span> form.<span style="color: #660066;">image_height</span>.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
		sa2d.<span style="color: #660066;">draw_image</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;images/pororo.jpg&quot;</span><span style="color: #339933;">,</span> x<span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> width<span style="color: #339933;">,</span> height<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #339933;">,</span> clear_rect_test <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003366; font-weight: bold;">var</span> form <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementsByName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;interface_form&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> x <span style="color: #339933;">=</span> form.<span style="color: #660066;">image_x</span>.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> y <span style="color: #339933;">=</span> form.<span style="color: #660066;">image_y</span>.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> width <span style="color: #339933;">=</span> form.<span style="color: #660066;">image_width</span>.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> height <span style="color: #339933;">=</span> form.<span style="color: #660066;">image_height</span>.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
		sa2d.<span style="color: #660066;">clearRect</span><span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> width<span style="color: #339933;">,</span> height<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #339933;">,</span> keyHandler <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>event<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003366; font-weight: bold;">var</span> code <span style="color: #339933;">=</span> event.<span style="color: #660066;">keyCode</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">switch</span><span style="color: #009900;">&#40;</span>code<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">case</span> KEY.<span style="color: #660066;">UP</span><span style="color: #339933;">:</span>
			sa2d.<span style="color: #660066;">clearRect</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10000</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003366; font-weight: bold;">var</span> form <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementsByName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;interface_form&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
			form.<span style="color: #660066;">image_y</span>.<span style="color: #660066;">value</span> <span style="color: #339933;">=</span> parseInt<span style="color: #009900;">&#40;</span>form.<span style="color: #660066;">image_y</span>.<span style="color: #660066;">value</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #CC0000;">10</span><span style="color: #339933;">;</span>
			handler.<span style="color: #660066;">draw_image_test</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000066; font-weight: bold;">break</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">case</span> KEY.<span style="color: #660066;">DOWN</span><span style="color: #339933;">:</span>
			sa2d.<span style="color: #660066;">clearRect</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10000</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003366; font-weight: bold;">var</span> form <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementsByName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;interface_form&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
			form.<span style="color: #660066;">image_y</span>.<span style="color: #660066;">value</span> <span style="color: #339933;">=</span> parseInt<span style="color: #009900;">&#40;</span>form.<span style="color: #660066;">image_y</span>.<span style="color: #660066;">value</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #CC0000;">10</span><span style="color: #339933;">;</span>
			handler.<span style="color: #660066;">draw_image_test</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000066; font-weight: bold;">break</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">case</span> KEY.<span style="color: #660066;">LEFT</span><span style="color: #339933;">:</span>
			sa2d.<span style="color: #660066;">clearRect</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10000</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003366; font-weight: bold;">var</span> form <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementsByName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;interface_form&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
			form.<span style="color: #660066;">image_x</span>.<span style="color: #660066;">value</span> <span style="color: #339933;">=</span> parseInt<span style="color: #009900;">&#40;</span>form.<span style="color: #660066;">image_x</span>.<span style="color: #660066;">value</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #CC0000;">10</span><span style="color: #339933;">;</span>
			handler.<span style="color: #660066;">draw_image_test</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000066; font-weight: bold;">break</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">case</span> KEY.<span style="color: #660066;">RIGHT</span><span style="color: #339933;">:</span>
			sa2d.<span style="color: #660066;">clearRect</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10000</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">10000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003366; font-weight: bold;">var</span> form <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementsByName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;interface_form&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
			form.<span style="color: #660066;">image_x</span>.<span style="color: #660066;">value</span> <span style="color: #339933;">=</span> parseInt<span style="color: #009900;">&#40;</span>form.<span style="color: #660066;">image_x</span>.<span style="color: #660066;">value</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #CC0000;">10</span><span style="color: #339933;">;</span>
			handler.<span style="color: #660066;">draw_image_test</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000066; font-weight: bold;">break</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #339933;">,</span> test <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>P.S 웃기는게 context.clearRect 함수는 영 안먹더군요. 위치나 크기가 다릅니다. 왜 그런지 알려주실분 계실까요? ~_~
<p>이미 핑을 보냈습니다:</p>
<ul>
<li><a href="http://defree.co.kr/blog/?p=725">http://defree.co.kr/blog/?p=725</a></li>
</ul>


<p>No related posts.</p>
<p>이 플러그인은 <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>에 의해 개발되었습니다.</p>
<p><a href="http://feedads.g.doubleclick.net/~a/QXIJdQQyknccEHBzHUpLAK8k4N8/0/da"><img src="http://feedads.g.doubleclick.net/~a/QXIJdQQyknccEHBzHUpLAK8k4N8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/QXIJdQQyknccEHBzHUpLAK8k4N8/1/da"><img src="http://feedads.g.doubleclick.net/~a/QXIJdQQyknccEHBzHUpLAK8k4N8/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://defree.co.kr/blog/?feed=rss2&amp;p=739</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clojure TCP/IP server-socket</title>
		<link>http://defree.co.kr/blog/?p=737</link>
		<comments>http://defree.co.kr/blog/?p=737#comments</comments>
		<pubDate>Fri, 01 Oct 2010 03:06:23 +0000</pubDate>
		<dc:creator>Samuel Baek</dc:creator>
				<category><![CDATA[lisp]]></category>
		<category><![CDATA[개발자, 개발, programming]]></category>
		<category><![CDATA[clojure]]></category>

		<guid isPermaLink="false">http://defree.co.kr/blog/?p=737</guid>
		<description><![CDATA[
Clojure로 TCP/IP 서버를 어떻게 만들까 생각하고 있었습니다. 자바라이브러리를 모두 사용할 수 있으니 못하지는 않겠지만, 자바 API를 되도록 적게 불러야 리스프스럽게 만들 수 있겠죠.
 [...]


No related posts.

이 플러그인은 <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>에 의해 개발되었습니다.]]></description>
			<content:encoded><![CDATA[<p><!--adsense--><br />
Clojure로 TCP/IP 서버를 어떻게 만들까 생각하고 있었습니다. 자바라이브러리를 모두 사용할 수 있으니 못하지는 않겠지만, 자바 API를 되도록 적게 불러야 리스프스럽게 만들 수 있겠죠.<br />
찾아보니깐 나오네요. clojure.contrib.server-socket 라이브러리가 있었습니다. contrib의 API 문서를 모두 읽어보지 않아서 있었는지도 몰랐네요.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="clojure" style="font-family:monospace;">(import '[java.io BufferedReader InputStreamReader OutputStreamWriter])
(use 'clojure.contrib.server-socket)
(defn echo-server []
  (letfn [(echo [in out]
                    (binding [*in* (BufferedReader. (InputStreamReader. in))
                              *out* (OutputStreamWriter. out)]
                      (loop []
                        (let [input (read-line)]
                          (print input)
                          (flush))
                        (recur))))]
    (create-server 8080 echo)))
&nbsp;
(def my-server (echo-server))</pre></td></tr></table></div>


<div class="wp_syntax"><div class="code"><pre class="dos" style="font-family:monospace;">$ telnet localhost <span style="color: #cc66cc;">8080</span>
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^<span style="color: #66cc66;">&#93;</span>'.
hello
hello  // this is the echoed line, woohoo!</pre></div></div>

</ul>


<p>No related posts.</p>
<p>이 플러그인은 <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>에 의해 개발되었습니다.</p>
<p><a href="http://feedads.g.doubleclick.net/~a/8wEy2NECG_wORWMEgcOG7GuGMJA/0/da"><img src="http://feedads.g.doubleclick.net/~a/8wEy2NECG_wORWMEgcOG7GuGMJA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/8wEy2NECG_wORWMEgcOG7GuGMJA/1/da"><img src="http://feedads.g.doubleclick.net/~a/8wEy2NECG_wORWMEgcOG7GuGMJA/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://defree.co.kr/blog/?feed=rss2&amp;p=737</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>wordpress 3.0.1 업그레이드</title>
		<link>http://defree.co.kr/blog/?p=730</link>
		<comments>http://defree.co.kr/blog/?p=730#comments</comments>
		<pubDate>Tue, 28 Sep 2010 07:09:23 +0000</pubDate>
		<dc:creator>Samuel Baek</dc:creator>
				<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://defree.co.kr/blog/?p=730</guid>
		<description><![CDATA[
별 거 아니고 그냥 3.0.1로 업그레이드 했습니다. 이전 버전이 2.9.1이던가 그랬는데, 자동 업데이트가 에러나서 그냥 두고 있다가 덮어써버리면 된다기에 그냥 해봤습니다.
방법은

다운받은 w [...]


No related posts.

이 플러그인은 <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>에 의해 개발되었습니다.]]></description>
			<content:encoded><![CDATA[<p><!--adsense--><br />
별 거 아니고 그냥 3.0.1로 업그레이드 했습니다. 이전 버전이 2.9.1이던가 그랬는데, 자동 업데이트가 에러나서 그냥 두고 있다가 <a href="http://raftwood.net/blog/1297">덮어써버리면 된다</a>기에 그냥 해봤습니다.</p>
<p>방법은</p>
<ul>
<li>다운받은 worldpress*.zip을 압축 푼다.</li>
<li>압축 풀어놓은 파일을 ftp로 업로드하여 덮어쓴다.</li>
<li>wp-config.php 파일은 새 파일인 wp-config-sample.php에 이전의 wp-config.php 파일을 참조하여 고쳐넣고, wp-config.php로 바꾼다.</li>
<li>블로그를 열어보고 로그인 하면 DB 업데이트 하냐고 물어본다. 당연히 yes!</li>
<li>업그레이드 끝났다. 플러그인은 알아서~</li>
</ul>
<p>참~ 쉽죠~</p>
<p><center><embed src="http://api.v.daum.net/static/recombox2.swf?nid=9938449" quality="high" bgcolor="#ffffff" width="400" height="58" type="application/x-shockwave-flash"></embed></center> </ul>


<p>No related posts.</p>
<p>이 플러그인은 <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>에 의해 개발되었습니다.</p>
<p><a href="http://feedads.g.doubleclick.net/~a/Jrc3gqia8Db393ijZsGlXBz2t6A/0/da"><img src="http://feedads.g.doubleclick.net/~a/Jrc3gqia8Db393ijZsGlXBz2t6A/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Jrc3gqia8Db393ijZsGlXBz2t6A/1/da"><img src="http://feedads.g.doubleclick.net/~a/Jrc3gqia8Db393ijZsGlXBz2t6A/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://defree.co.kr/blog/?feed=rss2&amp;p=730</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

