<?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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>muik blog☆</title>
	
	<link>http://muik.net</link>
	<description>I do what I love to do.</description>
	<lastBuildDate>Mon, 16 Nov 2009 13:08:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/muik" /><feedburner:info uri="muik" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly></feedburner:browserFriendly><item>
		<title>단순한 RESTful Web Service HTTP methods</title>
		<link>http://muik.net/archives/474</link>
		<comments>http://muik.net/archives/474#comments</comments>
		<pubDate>Fri, 13 Nov 2009 01:23:20 +0000</pubDate>
		<dc:creator>muik</dc:creator>
				<category><![CDATA[Note]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[RESTful]]></category>
		<category><![CDATA[웹서비스]]></category>

		<guid isPermaLink="false">http://muik.net/?p=474</guid>
		<description><![CDATA[대부분 RESTful API에서 접하는 GET, POST 방식 외에 PUT, DELETE 방식에 대해 알아보고 HTTP method를 단순하게 생각해봤다.
우선 HTTP method를 요청하는 URI는 자원으로 생각하고,

GET은 자원의 정보 반환
PUT은 자원의 생성 또는 갱신
DELETE는 자원의 삭제
POST는 자원에 자료 처리

의미를 생각한 쇼핑몰 API 요청 예
PUT /api/product/123 HTTP/1.1 {상품 정보 데이터}
- 123 상품 등록/갱신
GET /api/product/111 HTTP/1.1
- 123 상품 정보 반환
DELETE /api/product/111 [...]]]></description>
			<content:encoded><![CDATA[<p>대부분 RESTful API에서 접하는 GET, POST 방식 외에 PUT, DELETE 방식에 대해 알아보고 HTTP method를 단순하게 생각해봤다.</p>
<p>우선 HTTP method를 요청하는 URI는 자원으로 생각하고,</p>
<ul>
<li><span style="background-color: #ffffff;">GET은 자원의 정보 반환</span></li>
<li><span style="background-color: #ffffff;">PUT은 자원의 생성 또는 갱신</span></li>
<li><span style="background-color: #ffffff;">DELETE는 자원의 삭제</span></li>
<li><span style="background-color: #ffffff;">POST는 자원에 자료 처리</span></li>
</ul>
<h4>의미를 생각한 쇼핑몰 API 요청 예</h4>
<p>PUT /api/product/123 HTTP/1.1 {상품 정보 데이터}<br />
- 123 상품 등록/갱신</p>
<p>GET /api/product/111 HTTP/1.1<br />
- 123 상품 정보 반환</p>
<p>DELETE /api/product/111 HTTP/1.1<br />
- 123 상품 삭제</p>
<p>POST /api/order/send HTTP/1.1 {상품번호=123&amp;방식=택배&#8230;}<br />
- 123 상품 택배 배송 처리</p>
<h4>참고</h4>
<ul>
<li><span style="background-color: #ffffff;">Method Definitions : <span style="background-color: #ffffff;"><a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.6">http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html</a></span></span></li>
<li><span style="background-color: #ffffff;"><span style="background-color: #ffffff;"><a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.6"></a>Representational State Transfer(Wikipedia): <a href="http://en.wikipedia.org/wiki/Restful">http://en.wikipedia.org/wiki/Restful</a></span></span></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://muik.net/archives/474/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>미래의 인재가 되기 위한 준비</title>
		<link>http://muik.net/archives/462</link>
		<comments>http://muik.net/archives/462#comments</comments>
		<pubDate>Tue, 29 Sep 2009 05:43:22 +0000</pubDate>
		<dc:creator>muik</dc:creator>
				<category><![CDATA[Note]]></category>
		<category><![CDATA[능력]]></category>
		<category><![CDATA[미래]]></category>
		<category><![CDATA[인재]]></category>
		<category><![CDATA[준비]]></category>
		<category><![CDATA[책]]></category>

		<guid isPermaLink="false">http://muik.net/?p=462</guid>
		<description><![CDATA[




새로운 미래가 온다 &#8211; 다니엘 핑크 지음, 김명철 옮김/한국경제신문




평소 어떤 일을 할 때 항상 기존 보다 낳은 방법으로 창의적인 결과를 만들어 내고 싶은 욕구가 있다. 새로운 시도를 하면서 어려움을 겪을 수 있지만 내가 맡은 일을 보다 즐겁고 열정적으로 할 수 있는데 그 의미와 행복을 느낀다.
&#8216;새로운 미래가 온다&#8217;에선 내가 궁극적으로 추구하는 삶, 그리고 그 이상의 새로운 [...]]]></description>
			<content:encoded><![CDATA[<div class="ttbReview">
<table>
<tbody>
<tr>
<td><a href="http://www.aladdin.co.kr/shop/wproduct.aspx?ISBN=8947525960&amp;ttbkey=ttbmuikor2045001&amp;COPYPaper=1"><img src="http://image.aladdin.co.kr/cover/cover/8947525960_1.jpg" alt="" border="0"/></a></td>
<td align="left"  style="vertical-align:top;"><a href="http://www.aladdin.co.kr/shop/wproduct.aspx?ISBN=8947525960&amp;ttbkey=ttbmuikor2045001&amp;COPYPaper=1" class="aladdin_title">새로운 미래가 온다</a> &#8211; <img src="http://image.aladdin.co.kr/img/common/star_s10.gif" border="0" alt="10점" /><br/>다니엘 핑크 지음, 김명철 옮김/한국경제신문</td>
</tr>
</tbody>
</table>
</div>
<p>평소 어떤 일을 할 때 항상 기존 보다 낳은 방법으로 창의적인 결과를 만들어 내고 싶은 욕구가 있다. 새로운 시도를 하면서 어려움을 겪을 수 있지만 내가 맡은 일을 보다 즐겁고 열정적으로 할 수 있는데 그 의미와 행복을 느낀다.</p>
<p>&#8216;새로운 미래가 온다&#8217;에선 내가 궁극적으로 추구하는 삶, 그리고 그 이상의 새로운 미래 인재에 대해 설명한다. <strong>디자인</strong>, <strong>스토리</strong>, <strong>조화</strong>, <strong>공감</strong>, <strong>놀이</strong>, <strong>의미</strong> 이것이 미래인재의 6가지 조건이고, 이에 대한 배경과 함께 흥미로운 이야기로 쉽게 동의하며 이해할 수 있었다.</p>
<p>미래인재 조건의 대부분은 과거 개발자인 나에게 우선 필요하지 않거나 간과되는 능력들이었다. 하지만 현재 이미 느껴지고 있다. 새로운 미래에 필요한 인재가 되기 위한 앞으로의 노력에 많은 도움이 될 것 같다.</p>
]]></content:encoded>
			<wfw:commentRss>http://muik.net/archives/462/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>우분투 서버 8.10으로 업그레이드 후 부팅 에러</title>
		<link>http://muik.net/archives/452</link>
		<comments>http://muik.net/archives/452#comments</comments>
		<pubDate>Fri, 18 Sep 2009 05:31:28 +0000</pubDate>
		<dc:creator>muik</dc:creator>
				<category><![CDATA[Note]]></category>
		<category><![CDATA[버그]]></category>
		<category><![CDATA[부팅]]></category>
		<category><![CDATA[우분투]]></category>

		<guid isPermaLink="false">http://muik.net/?p=452</guid>
		<description><![CDATA[
apt-get upgrade를 실행하여 우분투 서버 8.10으로 업그레이드 했다. 업그레이드를 성공적으로 마치고 재부팅을 했는데.. 부팅 하다가 에러메세지가 나오고 (initramfs) 쉘로 빠지는 문제가 발생했다. 그래서 구글링으로 원인을 찾아봤는데 다행히 간단한 해결방법으로 쉽게 해결했다.
우분투 8.10 릴리즈 노트 : Boot failures on systems with Intel D945 motherboards (Bug 290153).
# 원인 : 인텔 D945 메인보드 시스템에서 우분투 서버 8.10 업그레이드 시 버그
인텔 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://twitpic.com/i4w2t" title="Share photos on twitter with Twitpic"><img src="http://twitpic.com/show/thumb/i4w2t.jpg" width="150" height="150" alt="Share photos on twitter with Twitpic"></a></p>
<p>apt-get upgrade를 실행하여 우분투 서버 8.10으로 업그레이드 했다. 업그레이드를 성공적으로 마치고 재부팅을 했는데.. 부팅 하다가 에러메세지가 나오고 (initramfs) 쉘로 빠지는 문제가 발생했다. 그래서 구글링으로 원인을 찾아봤는데 다행히 간단한 해결방법으로 쉽게 해결했다.</p>
<p>우분투 8.10 릴리즈 노트 : <a href="http://www.ubuntu.com/getubuntu/releasenotes/810#Boot%20failures%20on%20systems%20with%20Intel%20D945%20motherboards">Boot failures on systems with Intel D945 motherboards</a> (<a style="font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; padding: 0px; margin: 0px;" href="https://launchpad.net/bugs/290153">Bug 290153</a>).</p>
<p># 원인 : 인텔 D945 메인보드 시스템에서 우분투 서버 8.10 업그레이드 시 버그<br />
인텔 D945 메인보드 시스템의 우분투 8.10에서 SATA 하드 드라이브를 늦게 인식하는 문제가 있습니다. 이런 문제로 부팅 중 &#8220;Gave up waiting for root device.&#8221; 메세지와 함께 busybox initramfs shell로 빠지게 합니다.</p>
<p># 해결 : 위의 우분투 릴리즈 노트에 지시한대로 따라 했다.</p>
<ol>
<li>initramfs shell 에서 &#8220;exit&#8221; 를 입력하여 부팅이 계속 진행<br />
(initramfs) <strong>exit</strong></li>
<li>부팅이 된 후에 /boot/grub/menu.lst 편집기로 열어 현재 커널 부분에 &#8220;rootdelay=90&#8243; 추가<br />
kernel /boot/vmlinuz-2.6.27-14-server root=UUID=58786110-f5f0-44c4-b117-a86fed0a7b26 <strong>rootdelay=90</strong> ro quiet splash</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://muik.net/archives/452/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>memcached : 분산 메모리 객체 캐싱 시스템</title>
		<link>http://muik.net/archives/439</link>
		<comments>http://muik.net/archives/439#comments</comments>
		<pubDate>Tue, 15 Sep 2009 09:57:23 +0000</pubDate>
		<dc:creator>muik</dc:creator>
				<category><![CDATA[Note]]></category>
		<category><![CDATA[memcached]]></category>
		<category><![CDATA[메모리 캐시]]></category>
		<category><![CDATA[분산처리]]></category>
		<category><![CDATA[실시간 웹]]></category>
		<category><![CDATA[트위터]]></category>

		<guid isPermaLink="false">http://muik.net/?p=439</guid>
		<description><![CDATA[실시간 웹 기술을 알아보던 중 트위터와 같은 대규모 서비스에서 사용한 캐시 시스템 중 많이 들어본 memcached를 알아보고 요점만 정리해봤다.
memcached는 분산 메모리 객체 캐싱 시스템으로 일반적으로 데이터베이스 부하를 메모리 캐시로 대신하여 웹서비스 속도를 대폭 향상하는데 사용되는 시스템이다.
내부 동작은 엄청 복잡하겠지만 동작 방식은 쉽게 설명되어 있었다.

여러대의 각 서버에서 메모리 크기를 지정하여 데몬을 실행
각 서버 메모리는 하나의 공용 [...]]]></description>
			<content:encoded><![CDATA[<p>실시간 웹 기술을 알아보던 중 트위터와 같은 대규모 서비스에서 사용한 캐시 시스템 중 많이 들어본 memcached를 알아보고 요점만 정리해봤다.</p>
<p><a href="http://www.danga.com/memcached/"><strong>memcached</strong></a>는 분산 메모리 객체 캐싱 시스템으로 일반적으로 데이터베이스 부하를 메모리 캐시로 대신하여 웹서비스 속도를 대폭 향상하는데 사용되는 시스템이다.</p>
<p>내부 동작은 엄청 복잡하겠지만 동작 방식은 쉽게 설명되어 있었다.</p>
<ol>
<li>여러대의 각 서버에서 메모리 크기를 지정하여 데몬을 실행</li>
<li>각 서버 메모리는 하나의 공용 캐시 메모리로 관리</li>
<li>memcached 라이브러리를 통해 객체 읽기/쓰기</li>
</ol>
<p>memcached 라이브러리는 거의 모든 언어에 지원한다.<br />
<a href="http://code.google.com/p/memcached/wiki/Clients">http://code.google.com/p/memcached/wiki/Clients</a></p>
<p>RDBMS의 문제</p>
<ul>
<li>RDBMS의 특성상 ACID 조건을 충족시키기 위해 읽기/쓰기 쓰레드 블럭처리를 하면서 오버헤드가 발생</li>
</ul>
<p>메모리 캐시는 블럭과 같은 오베헤드가 없고, 해시 테이블을 사용하여 매우 빠른속도로 RDBMS의 한계를 극복하는 좋은 대안이 될 수 있다.</p>
<p>트위터는 여러단계의 캐시를 사용하는데 중요한건 모든 DB를 캐시하여 서비스한다고 한다. 전체 메모리 용량이 얼마나 될까?..</p>
<p>나도 이런 분산 시스템 기반의 대규모 서비스를 제공해보고 싶은 욕망이^^ 열심히 구상해봐야지.. Google AppEngine에서도 <a href="http://code.google.com/appengine/docs/python/memcache/">memcache</a>를 지원하니 한번 해봐야겠다.</p>
]]></content:encoded>
			<wfw:commentRss>http://muik.net/archives/439/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>위젯뱅크의 위키백과 지식상자</title>
		<link>http://muik.net/archives/414</link>
		<comments>http://muik.net/archives/414#comments</comments>
		<pubDate>Wed, 20 May 2009 02:44:05 +0000</pubDate>
		<dc:creator>muik</dc:creator>
				<category><![CDATA[Note]]></category>
		<category><![CDATA[위젯]]></category>
		<category><![CDATA[위키백과 지식상자]]></category>

		<guid isPermaLink="false">http://muik.net/?p=414</guid>
		<description><![CDATA[




예전에 위젯경진대회의 작품으로 만든 위젯이 위젯뱅크에 등록됬다. 
다음에서 친절하게도 이쁘게 디자인을 입혀 주니 훨 괜찮아 보이넹ㅎㅎ


]]></description>
			<content:encoded><![CDATA[<div>
<div style="float: left; padding: 10px 20px">
<script src="http://widgetprovider.daum.net/view?url=http://widgetcfs1.daum.net/xml/26/widget/2009/04/13/17/25/49e2f70dd5210.xml&#038;up_title=%EC%9C%84%ED%82%A4%EB%B0%B1%EA%B3%BC%20%EC%A7%80%EC%8B%9D%EC%83%81%EC%9E%90&#038;up_next_time=5&#038;up_start_type=%EC%9E%84%EC%9D%98%20%EB%AC%B8%EC%84%9C&#038;up_user_terms=&#038;&#038;width=166&#038;height=286&#038;widgetId=350&#038;scrap=1" type="text/javascript"></script>
</div>
<div style="height: 260px; padding-top: 40px">
예전에 위젯경진대회의 작품으로 만든 위젯이 <a href="http://widgetbank.daum.net/widget/view/350">위젯뱅크에 등록</a>됬다. </p>
<p>다음에서 친절하게도 이쁘게 디자인을 입혀 주니 훨 괜찮아 보이넹ㅎㅎ
</p></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://muik.net/archives/414/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>구글을 지탱하는 기술 – 구글 궁금증 해소제</title>
		<link>http://muik.net/archives/402</link>
		<comments>http://muik.net/archives/402#comments</comments>
		<pubDate>Fri, 08 May 2009 05:22:51 +0000</pubDate>
		<dc:creator>muik</dc:creator>
				<category><![CDATA[Note]]></category>
		<category><![CDATA[구글]]></category>
		<category><![CDATA[기술]]></category>
		<category><![CDATA[책]]></category>
		<category><![CDATA[컴퓨터과학]]></category>

		<guid isPermaLink="false">http://muik.net/?p=402</guid>
		<description><![CDATA[




구글을 지탱하는 기술 &#8211; 니시다 케이스케 지음, 김성훈 옮김, 전병국 감수/멘토르




&#8220;전세계 웹의 엄청난 데이터를 어떻게 처리할까?&#8221;, &#8220;그 거대한 데이터를 어떻게 단시간에 검색해줄까?&#8221; 등등의 구글 기술에 대해 오래전부터 궁금했었다. 이런 궁금증을 쉽게 풀어준 책이 바로 &#8216;구글을 지탱하는 기술&#8216; 이다.
인덱스 생성 방식부터 분산처리, 분산 파일 시스템, 분산 스토리지 시스템 등의 기술 원리를 쉽게 이해할 수 있게 잘 [...]]]></description>
			<content:encoded><![CDATA[<div class="ttbReview">
<table>
<tbody>
<tr>
<td><a href="http://www.aladdin.co.kr/shop/wproduct.aspx?ISBN=8963050041&amp;ttbkey=ttbmuikor2045001&amp;COPYPaper=1"><img src="http://image.aladdin.co.kr/cover/cover/8963050041_2.jpg" alt="" border="0"/></a></td>
<td align="left"  style="vertical-align:top;"><a href="http://www.aladdin.co.kr/shop/wproduct.aspx?ISBN=8963050041&amp;ttbkey=ttbmuikor2045001&amp;COPYPaper=1" class="aladdin_title">구글을 지탱하는 기술</a> &#8211; <img src="http://image.aladdin.co.kr/img/common/star_s10.gif" border="0" alt="10점" /><br/>니시다 케이스케 지음, 김성훈 옮김, 전병국 감수/멘토르</td>
</tr>
</tbody>
</table>
</div>
<p>&#8220;전세계 웹의 엄청난 데이터를 어떻게 처리할까?&#8221;, &#8220;그 거대한 데이터를 어떻게 단시간에 검색해줄까?&#8221; 등등의 구글 기술에 대해 오래전부터 궁금했었다. 이런 궁금증을 쉽게 풀어준 책이 바로 &#8216;<strong>구글을 지탱하는 기술</strong>&#8216; 이다.</p>
<p>인덱스 생성 방식부터 분산처리, 분산 파일 시스템, 분산 스토리지 시스템 등의 기술 원리를 쉽게 이해할 수 있게 잘 설명해준다. 대부분은 구글이 발표한 논문을 참고하여 설명하고, <strong>컴퓨터과학</strong>에서 배운 내용이 전반적으로 내포되어 있어 보는 내내 흥미로웠다.</p>
]]></content:encoded>
			<wfw:commentRss>http://muik.net/archives/402/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>클라우드 컴퓨팅: 매력적인 플랫폼</title>
		<link>http://muik.net/archives/388</link>
		<comments>http://muik.net/archives/388#comments</comments>
		<pubDate>Fri, 10 Apr 2009 14:04:36 +0000</pubDate>
		<dc:creator>muik</dc:creator>
				<category><![CDATA[Note]]></category>
		<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[클라우드 컴퓨팅]]></category>

		<guid isPermaLink="false">http://muik.net/?p=388</guid>
		<description><![CDATA[말로만 듣던 클라우드 컴퓨팅을 직접 경험해보기 위해 Google App Engine에서 새로운 개인 프로젝트를 시작했다. 예전부터 구글 앱 엔진을 알았지만 아직 접해보지 못한 파이썬 개발 언어 때문에 쉽게 다가가진 못했지만 일단 해보기로 했다. 마침 몇 일전에 구글 앱 엔진은 자바 개발 환경을 지원하기 시작했다. 보다 익숙한 자바로 개발할까 망설였지만, 이미 파이썬을 익히기 시작하면서 새로운 언어의 신기함과 [...]]]></description>
			<content:encoded><![CDATA[<p>말로만 듣던 클라우드 컴퓨팅을 직접 경험해보기 위해 <a href="http://code.google.com/appengine/">Google App Engine</a>에서 새로운 개인 프로젝트를 시작했다. 예전부터 구글 앱 엔진을 알았지만 아직 접해보지 못한 파이썬 개발 언어 때문에 쉽게 다가가진 못했지만 일단 해보기로 했다. 마침 몇 일전에 구글 앱 엔진은 자바 개발 환경을 지원하기 시작했다. 보다 익숙한 자바로 개발할까 망설였지만, 이미 파이썬을 익히기 시작하면서 새로운 언어의 신기함과 재미로 그냥 파이썬으로 하기로 했다.</p>
<p>지난 한 주간 구글 앱 엔진을 접해 본 느낌은 클라우드 컴퓨팅의 플랫폼은 정말 매력적이었다. 웹호스팅과는 비교할 수 없이 플랫폼으로서 보다 편리하고 즐거운 개발을 위한 환경을 지원해주었다. 구글 앱 엔진에서 개발 시작은 단순히 SDK를 다운받아 설치하고 개발하면 되었다. 웹서버, 데이터베이스, 버전 관리 설치/설정 이런 개발 외의 작업들이 모두 사라졌다.</p>
<p>개발의 편리함을 시작으로 클라우드 컴퓨팅은 사용자 규모가 커질 수록 그 효과는 더욱 극대화 될 것 같다. 웹서비스는 사용자가 많아짐에 따라 서버 확장과 유지보수의 복잡함과 비용이 매우 높아지는데 클라우드 컴퓨팅으로 이런 부분에 매우 효율적으로 대체할 수 있을 것으로 생각한다. 또한 글로벌 웹서비스를 제공할 때에도 매우 유용할 것 같다.</p>
<p>얼마 전 자바를 지원하면서 Cron Jobs 기능까지 추가됬다. 앞으로 구글 앱 엔진의 발전에 완전 기대된다+.+</p>
]]></content:encoded>
			<wfw:commentRss>http://muik.net/archives/388/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>알찬 잡지: 마이크로소프트웨어</title>
		<link>http://muik.net/archives/382</link>
		<comments>http://muik.net/archives/382#comments</comments>
		<pubDate>Wed, 08 Apr 2009 15:26:21 +0000</pubDate>
		<dc:creator>muik</dc:creator>
				<category><![CDATA[Note]]></category>
		<category><![CDATA[마이크로소프트웨어]]></category>
		<category><![CDATA[잡지]]></category>
		<category><![CDATA[책]]></category>

		<guid isPermaLink="false">http://muik.net/?p=382</guid>
		<description><![CDATA[








회사에서 정기구독하는 마이크로소트웨어 잡지를 보게 되었다. 처음엔 가벼운 마음으로 잡지를 펼쳐봤는데.. 와~ 볼께 무지 많았다! 평소 잡지는 흥미거리 위주로 대충 훑어보고 마는데, 이건 볼께 너무 많아 목차를 건너뛰고 그냥 거의 정독하게 됬다.
마치 군대에서 맥심을 정독한 느낌ㅋ
소프트웨어 개발자를 위한 이렇게 괜찮은 잡지를 이제야 알다니.. 학생 때 좀 더 빨리 보았으면 더 잼있었을 것 같은 아쉬움이 들지만, 한동안 [...]]]></description>
			<content:encoded><![CDATA[<div class="ttbReview">
<table border="0">
<tbody>
<tr>
<td><a href="http://www.aladdin.co.kr/shop/wproduct.aspx?ISBN=1227622708&amp;ttbkey=ttbmuikor2045001&amp;COPYPaper=1"><img src="http://image.aladdin.co.kr/cover/cover/6000330731_1.jpg" border="0" alt="" /></a></td>
</tr>
</tbody>
</table>
</div>
<p>회사에서 정기구독하는 마이크로소트웨어 잡지를 보게 되었다. 처음엔 가벼운 마음으로 잡지를 펼쳐봤는데.. 와~ 볼께 무지 많았다! 평소 잡지는 흥미거리 위주로 대충 훑어보고 마는데, 이건 볼께 너무 많아 목차를 건너뛰고 그냥 거의 정독하게 됬다.</p>
<p>마치 군대에서 맥심을 정독한 느낌ㅋ</p>
<p>소프트웨어 개발자를 위한 이렇게 괜찮은 잡지를 이제야 알다니.. 학생 때 좀 더 빨리 보았으면 더 잼있었을 것 같은 아쉬움이 들지만, 한동안 이 잡지를 보면서 즐거울 것 같다.</p>
]]></content:encoded>
			<wfw:commentRss>http://muik.net/archives/382/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2008 IGF의 꼭 해보고 싶은 게임들</title>
		<link>http://muik.net/archives/341</link>
		<comments>http://muik.net/archives/341#comments</comments>
		<pubDate>Sun, 14 Dec 2008 09:31:03 +0000</pubDate>
		<dc:creator>muik</dc:creator>
				<category><![CDATA[Note]]></category>
		<category><![CDATA[게임]]></category>
		<category><![CDATA[상상력]]></category>
		<category><![CDATA[아이디어]]></category>

		<guid isPermaLink="false">http://muik.net/?p=341</guid>
		<description><![CDATA[
window.onerror=function(){return true;}

2008 Independent Games Festival에서 수상한 게임을 구경해봤다. 몇몇 게임는 다운 받을 수 있거나 웹게임으로 직접해볼 수 있었지만, 아쉽게 대부분 스크린샷 또는 비디오만 보여주는 게임이 많았다. 이 중에 게임 데모 영상을 보고 너무 재밌어 보여 꼭 해보고 싶은 게임들이 있다.
Crayon Physics Deluxe
크레파스로 그림을 그리면 실제 물리적인 물체가 되는 게임이다. 이 게임의 아이디어와 상상력은 IGF의 가장 [...]]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript">
window.onerror=function(){return true;}
</script><br />
<a href="http://www.igf.com/2008finalistswinners.html">2008 Independent Games Festival에서 수상한 게임</a>을 구경해봤다. 몇몇 게임는 다운 받을 수 있거나 웹게임으로 직접해볼 수 있었지만, 아쉽게 대부분 스크린샷 또는 비디오만 보여주는 게임이 많았다. 이 중에 게임 데모 영상을 보고 너무 재밌어 보여 꼭 해보고 싶은 게임들이 있다.</p>
<h3><a href="http://www.kloonigames.com/crayon/">Crayon Physics Deluxe</a></h3>
<p>크레파스로 그림을 그리면 실제 물리적인 물체가 되는 게임이다. 이 게임의 아이디어와 상상력은 IGF의 가장 큰 상을 받을만 하다. 더이상 말이 필요없이 비디오를 봐야한다!</p>
<p><object width="400" height="321"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=1849263&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=1849263&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="321"></embed></object><br /><a href="http://vimeo.com/1849263">Crayon Physics Deluxe</a> from <a href="http://vimeo.com/user795183">Petri Purho</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<h3><a href="http://www.kokoromi.org/fez">Fez</a></h3>
<p>2D게임 처럼 보이지만 직교투영을 하여 2D와 3D를 번갈아가며 느낄 수 있는 3D 픽셀 게임이다. 차원을 돌리는 기발한 아이디어, 귀엽고 단순한 캐릭터 그리고 중독성있는 음악까지! 이런 게임을 만들 수 있는 팀, 멋지다..</p>
<p><object width="400" height="302" data="http://vimeo.com/moogaloop.swf?clip_id=618016&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=618016&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /></object><br />
<a href="http://vimeo.com/618016">Fez teaser trailer</a> from <a href="http://vimeo.com/user343156">fish</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p><object width="400" height="300" data="http://vimeo.com/moogaloop.swf?clip_id=740554&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=740554&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /></object><br />
<a href="http://vimeo.com/740554">Fez LIVE</a> from <a href="http://vimeo.com/user343156">fish</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://muik.net/archives/341/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>위키백과 지식상자 위젯=가젯을 만든 과정</title>
		<link>http://muik.net/archives/329</link>
		<comments>http://muik.net/archives/329#comments</comments>
		<pubDate>Sat, 13 Dec 2008 03:24:12 +0000</pubDate>
		<dc:creator>muik</dc:creator>
				<category><![CDATA[Works]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Daum]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[MediaWiki]]></category>
		<category><![CDATA[OpenAPI]]></category>
		<category><![CDATA[가젯]]></category>
		<category><![CDATA[경진대회]]></category>
		<category><![CDATA[위젯]]></category>
		<category><![CDATA[위키백과]]></category>
		<category><![CDATA[위키백과 지식상자]]></category>
		<category><![CDATA[지식]]></category>

		<guid isPermaLink="false">http://muik.net/archives/329</guid>
		<description><![CDATA[Daum Google 위젯=가젯 개발 경진대회 개최하는 걸 보고 Javascript로 뭔가 만들어 볼 수 있어 참가하기로 했다. 우선 응모작 주제를 정해야 했는데 한 2주정도는 고민한 것 같다. 처음엔 오픈소셜을 응용하여 구상을 해봤는데 Daum 위젯팩토리는 Google 가젯 API를 지원하지만 OpenSocial API는 아쉽게도 아직 지원하지 않았다. 응모작 기준은 Daum 위젯과 Google 가젯에서 동작이 가능해야 했다.
다시 고민하여 OpenAPI를 이용한 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://wgdc.co.kr/">Daum Google 위젯=가젯 개발 경진대회</a> 개최하는 걸 보고 Javascript로 뭔가 만들어 볼 수 있어 참가하기로 했다. 우선 응모작 주제를 정해야 했는데 한 2주정도는 고민한 것 같다. 처음엔 오픈소셜을 응용하여 구상을 해봤는데 <a href="http://widgetbank.daum.net/factory/">Daum 위젯팩토리</a>는 <a href="http://code.google.com/intl/ko-KR/apis/gadgets/docs/dev_guide.html">Google 가젯 API</a>를 지원하지만 <a href="http://code.google.com/intl/ko-KR/apis/opensocial/">OpenSocial API</a>는 아쉽게도 아직 지원하지 않았다. 응모작 기준은 <a href="http://widgetbank.daum.net/">Daum 위젯</a>과 <a href="http://www.google.co.kr/ig/directory?root=/ig&amp;dpos=top">Google 가젯</a>에서 동작이 가능해야 했다.</p>
<p>다시 고민하여 OpenAPI를 이용한 위젯을 구상하였데 또 약간의 고민이 생겼다. 보통 OpenAPI를 사용하려면 사용자 Key를 발급받아야 하고, 한 Key당 약 5000회 정도 요청 제한이 있다. 5000회 정도는 한 곳(프로그램)에서 사용하기 넉넉한 량이지만, 위젯은 수많은 블로그에서 등록되기에 그 요청량은 급격하게 늘어난다. 그래서 OpenAPI를 사용하여 만든 위젯을 배포할때 위젯을 퍼가는 사람들에게 API에 대한 Key를 발급받아 넣어주도록 해야한다. 또한 API를 여러개 사용하면 발급해야할 Key도 많아지는데 이렇게 된다면 상당히 번거로울 것 같다.</p>
<p>물론 좋은 위젯이라면 이러한 번거로움은 별 문제 없을것이고.. 이런 저런 생각을 하던 중 <a href="http://www.mediawiki.org/wiki/API">MediaWiki API</a>가 생각났다. MediaWiki API를 이용하면 위키백과를 위젯으로 만들 수 있겠다는 생각이 들었고, MediaWiki API는 따로 인증 키를 발급 받을 필요도 없다!</p>
<p><a href="http://www.mediawiki.org/wiki/MediaWiki">MediaWiki</a>는 위키백과를 위해 개발된 자유 소프트웨어 위키 패키지이다. 그러니까 위키백과는 MediaWiki로 만들어졌는데 MediaWiki 소프트웨어는 API를 제공하고 위키백과 또한 API를 제공한다. MediaWiki를 사용하면서 API를 제공하고 싶지 않으면 설정에서 변경할 수 있는걸로 알고 있다.</p>
<p>위키백과 API &#8211; <a href="http://ko.wikipedia.org/w/api.php">http://ko.wikipedia.org/w/api.php</a></p>
<p>그래서 구상한 위젯은 &#8216;위키백과 지식상자&#8217;이다. 위키백과에 등록된 문서의 요약된 내용을 표시하고 관련된 문서를 지속적으로 계속 보여주어 사용자에게 <span style="text-decoration: underline;">위키백과의 유용한 지식을 전달</span>하는 위젯이다.</p>
<p>이제 구현을 하는데 위키백과 문서의 요약된 내용을 표시하는데 문제가 생겼다. 위키백과 API에는 유용한 많은 정보를 제공하는 API가 있는데 정작 내가 원하는 문서 내용을 제공하는 부분이 없었다. <a href="http://maps.google.com/">구글맵</a>이나 <a href="http://api-exploration.net/mashups/wikipedia-roll/index_en.php">Wikipedia Roll</a>과 같은 위키백과를 이용한 매쉬업에서는 위키백과 문서의 내용을 표시한다. 어떻게 내용을 표시하나 궁금해서 찾아봤는데 <a href="http://ko.wikipedia.org/wiki/위키백과:데이터베이스_다운로드">위키백과:데이터베이스</a>를 다운로드 받아 사용하는 것이었다. 하지만 이 데이터베이스를 받아서 운용할 서버가 없다. 방법을 찾다가 단순한 생각으로 위키백과 문서에 직접 접근하여 스크래핑하여 내용을 가져오려 했지만, 부적절한 방법인 것 같고 무엇보다 속도가 느려 다른 방법을 찾아야 했다. 어떻게 하면 위키백과 문서의 요약된 내용을 표시할 수 있을까 고민하던 중 마침 구글 검색이 떠올랐다. 모르는 용어를 구글에 검색하면 보통 위키백과에 등록된 문서의 내용의 일부분을 검색결과를 나타내고 이런 점을 응용하여 문제를 해결했다. <a href="http://code.google.com/intl/ko-KR/apis/ajaxsearch/">Google AJAX Search API</a> 이용해서ㅎㅎ</p>
<p>모든 기능과 외형을 개발하고 마지막으로 디자인이다. 원래 디자인 감각은 없어 디자인에 별로 신경쓰지 않지만 그래도 다른 사람들이 위젯을 퍼가기 때문에 조금은 신경써야 했다. 그래서 이미지를 넣어 디자인해보려 했는데 또 문제가 생겼다. 역시 위젯을 처음 만들어 보니까 참 문제도 많타-.- 위젯을 등록할때 xml 소스만 등록하기 때문에 이미지나 플래시는 내 계정에 올려야 하는데 내 홈페이지 계정에 올려서 나중에 트래픽 제한 걸릴 수가 있다. 당연히 트래픽 제한이 되면 위젯을 퍼간 사람도 문제가 생긴다. 넉넉한 계정을 가지고 있다면야 이미지를 사용하여 디자인 했겠지만 그냥 CSS만로 디자인했다. 사실 디자인 감각이 있었다면 계정 신경 안썼을텐데;;</p>
<p>디자인을 뭐 했냐고 할 수도 있겠는데 그래도 CSS가 179라인이다. 줄내림을 많이 했긴 했지만.. 쩝.. 그래도 가장 큰 특징은 위젯 박스 테두리를 둥글게 했다. CSS3에는 박스 테두리가 둥글게 표시하는 border-radius가 있지만 대부분의 브라우저에서는 지원을 안하니 약간은 트릭인 방법을 찾았다. 이 방법은 &#8216;<a href="http://www.google.co.kr/search?q=css+round+box">css round box</a>&#8216;라고 검색하면 여러가지가 나오는데 <a href="http://www.cssplay.co.uk/boxes/snazzy.html">Snazzy Borders</a>를 조금 수정하여 사용했다.</p>
<p>자 이렇게 만든 <a href="http://muik.net/archives/323">&#8216;위키백과 지식상자&#8217; 위젯=가젯</a>이 다행히 1차 전문가 심사를 통과했다^^ 지금은 <a href="http://widgetbank.daum.net/event/competitionVote.do">응모작 투표 진행중</a>~</p>
]]></content:encoded>
			<wfw:commentRss>http://muik.net/archives/329/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
