<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>F monologue</title>
	<atom:link href="http://blog.fguy.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.fguy.com</link>
	<description>Taehoon Kang</description>
	<lastBuildDate>Tue, 03 Apr 2012 04:17:27 +0000</lastBuildDate>
	<language>ko</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.fguy.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/302d17afa2133e49879c9121b033814d?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>F monologue</title>
		<link>http://blog.fguy.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.fguy.com/osd.xml" title="F monologue" />
	<atom:link rel='hub' href='http://blog.fguy.com/?pushpress=hub'/>
		<item>
		<title>내가 와이프라는 호칭을 쓰는 이유</title>
		<link>http://blog.fguy.com/2011/07/25/%eb%82%b4%ea%b0%80-%ec%99%80%ec%9d%b4%ed%94%84%eb%9d%bc%eb%8a%94-%ed%98%b8%ec%b9%ad%ec%9d%84-%ec%93%b0%eb%8a%94-%ec%9d%b4%ec%9c%a0/</link>
		<comments>http://blog.fguy.com/2011/07/25/%eb%82%b4%ea%b0%80-%ec%99%80%ec%9d%b4%ed%94%84%eb%9d%bc%eb%8a%94-%ed%98%b8%ec%b9%ad%ec%9d%84-%ec%93%b0%eb%8a%94-%ec%9d%b4%ec%9c%a0/#comments</comments>
		<pubDate>Mon, 25 Jul 2011 21:59:54 +0000</pubDate>
		<dc:creator>fguy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.fguy.com/?p=205</guid>
		<description><![CDATA[남편이 결혼한 동반자를 지칭하는 말에는 여러가지가 있다. 무심코 사용했던 아내, 부인, 처, 집사람, 안사람, 마누라, 여편 등등.. 대학 초년생때 일본어 수업중 일본에서의 표현으로 &#8220;카나이(かない, 家内)&#8221;를 배운 적이 있다. 집안일을 담당하기 때문에 붙여진 호칭인데, 앞서 나열한 우리말 표현중에 마누라와 여편을 제외한 다른 표현들은 모두 같은 어원을 가진다는 사실을 수업이후의 간단한 조사로 알 수 있었다. 안(內)에서만 무언가 &#8230; <span class="more-link"><a href="http://blog.fguy.com/2011/07/25/%eb%82%b4%ea%b0%80-%ec%99%80%ec%9d%b4%ed%94%84%eb%9d%bc%eb%8a%94-%ed%98%b8%ec%b9%ad%ec%9d%84-%ec%93%b0%eb%8a%94-%ec%9d%b4%ec%9c%a0/">계속 읽기 &#187;</a></span><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.fguy.com&amp;blog=13748523&amp;post=205&amp;subd=fguyblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>남편이 결혼한 동반자를 지칭하는 말에는 여러가지가 있다. 무심코 사용했던 아내, 부인, 처, 집사람, 안사람, 마누라, 여편 등등..<br />
대학 초년생때 일본어 수업중 일본에서의 표현으로 &#8220;카나이(かない, 家内)&#8221;를 배운 적이 있다. 집안일을 담당하기 때문에 붙여진 호칭인데, 앞서 나열한 우리말 표현중에 마누라와 여편을 제외한 다른 표현들은 모두 같은 어원을 가진다는 사실을 수업이후의 간단한 조사로 알 수 있었다. 안(內)에서만 무언가 한다는 의미인데, 나와 결혼한 사람에겐 어울리지 않는다고 생각한다. 내 스스로 종종 아내의 역할, 즉 집안일을 하고 있기 때문에도 어울리지 않는다. 마누라의 본디 의미는 여성을 나타내는 최상급에 속하나 요즘에는 비하의 의미로 일컬어지는 경우가 많아서 조금 꺼려지고, 여편 또한 순수한 의미로 결혼한 여성을 나타내어 좋은 표현이긴 하지만 일반적이지 않고 여편네라는 부정적의미를 쓰는 경우가 있어 제외했다. 여편의 대안으로 와이프라는 호칭을 선택했는데, 우리 나라의 TV드라마 등에서 무언가 격식있어 보이는 자리에서의 표현으로 즐겨 사용하지만 사실 영어권에선 단순히 여편이라는 보통 의미이므로 한국에서도 그리고 국제적으로도 보편적이기에 이것을 선택했다.<br />
나와 결혼한 상대인 &#8220;와이프&#8221;에게 항상 배우고 조언을 구하고 감사해하고 존중하고 있고, 집안에서 뿐만 아니라 사회적으로 많은 일을 해왔고, 또 앞으로도 그러리라 믿기 때문에 비하의 의미가 담긴 표현들은 사용하지 않을 것이다.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fguyblog.wordpress.com/205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fguyblog.wordpress.com/205/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fguyblog.wordpress.com/205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fguyblog.wordpress.com/205/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fguyblog.wordpress.com/205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fguyblog.wordpress.com/205/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fguyblog.wordpress.com/205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fguyblog.wordpress.com/205/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fguyblog.wordpress.com/205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fguyblog.wordpress.com/205/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fguyblog.wordpress.com/205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fguyblog.wordpress.com/205/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fguyblog.wordpress.com/205/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fguyblog.wordpress.com/205/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.fguy.com&amp;blog=13748523&amp;post=205&amp;subd=fguyblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.fguy.com/2011/07/25/%eb%82%b4%ea%b0%80-%ec%99%80%ec%9d%b4%ed%94%84%eb%9d%bc%eb%8a%94-%ed%98%b8%ec%b9%ad%ec%9d%84-%ec%93%b0%eb%8a%94-%ec%9d%b4%ec%9c%a0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d10c905edc572a61b5206377c1a36c98?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">fguy79</media:title>
		</media:content>
	</item>
		<item>
		<title>JQuery &#8211; Export table to CSV file</title>
		<link>http://blog.fguy.com/2011/06/28/jquery-export-table-to-csv-file/</link>
		<comments>http://blog.fguy.com/2011/06/28/jquery-export-table-to-csv-file/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 19:32:56 +0000</pubDate>
		<dc:creator>fguy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[csv]]></category>
		<category><![CDATA[data uri]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://blog.fguy.com/?p=192</guid>
		<description><![CDATA[I needed to implement downloading table data as csv file. Normally, we&#8217;re doing it on server side. But I thought it is violates the DRY principle. And it occurs server load. I looked for exporting CSV by Javascript. And I found Table2CSV (http://www.kunalbabre.com/projects/table2CSV.php). But it isn&#8217;t downloading as a file. I saw &#8220;Google Image Search&#8221; uses &#8230; <span class="more-link"><a href="http://blog.fguy.com/2011/06/28/jquery-export-table-to-csv-file/">계속 읽기 &#187;</a></span><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.fguy.com&amp;blog=13748523&amp;post=192&amp;subd=fguyblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I needed to implement downloading table data as csv file. Normally, we&#8217;re doing it on server side. But I thought it is violates the DRY principle. And it occurs server load.</p>
<p>I looked for exporting CSV by Javascript. And I found Table2CSV (<a href="http://www.kunalbabre.com/projects/table2CSV.php">http://www.kunalbabre.com/projects/table2CSV.php</a>). But it isn&#8217;t downloading as a file.</p>
<p>I saw &#8220;Google Image Search&#8221; uses Data URI scheme to show the preview of their search results. You can see about &#8220;Data URI scheme&#8221; on here : <a href="http://en.wikipedia.org/wiki/Data_URI_scheme">http://en.wikipedia.org/wiki/Data_URI_scheme</a></p>
<p>So, I could write very simple codes fully client side CSV export function using it as this :</p>
<pre>(function($) {
	$.fn.exportAsCSV = function() {
		var error = this.attr("tagName") != "TABLE" &amp;&amp; console &amp;&amp; console.error("This function only supports TABLE tag.");
		if(error !== false) {
			return;
		}
		var csv = [];
		// header
		csv.push('"' + $("th", this).map(function() {
		  return $(this).text();
		}).get().join('","') + '"');
	        // body
		$("tr:gt(0)", this).each(function() {
			csv.push('"' + $("td", this).map(function() {
				return $(this).text();
			}).get().join('","') + '"');
		});
		location.href = "data:text/csv;charset=utf-8," + encodeURIComponent(csv.join("\r\n"));
		return this;
	}
})(jQuery);</pre>
<p>Try out a demo : <a title="Demo" href="http://jsfiddle.net/zKPML/embedded/result/">http://jsfiddle.net/zKPML/embedded/result/</a></p>
<br /> Tagged: <a href='http://blog.fguy.com/tag/csv/'>csv</a>, <a href='http://blog.fguy.com/tag/data-uri/'>data uri</a>, <a href='http://blog.fguy.com/tag/download/'>download</a>, <a href='http://blog.fguy.com/tag/jquery/'>jquery</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fguyblog.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fguyblog.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fguyblog.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fguyblog.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fguyblog.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fguyblog.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fguyblog.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fguyblog.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fguyblog.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fguyblog.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fguyblog.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fguyblog.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fguyblog.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fguyblog.wordpress.com/192/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.fguy.com&amp;blog=13748523&amp;post=192&amp;subd=fguyblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.fguy.com/2011/06/28/jquery-export-table-to-csv-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d10c905edc572a61b5206377c1a36c98?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">fguy79</media:title>
		</media:content>
	</item>
		<item>
		<title>영어에 대한 나의 자세</title>
		<link>http://blog.fguy.com/2010/12/09/%ec%98%81%ec%96%b4%ec%97%90-%eb%8c%80%ed%95%9c-%eb%82%98%ec%9d%98-%ec%9e%90%ec%84%b8/</link>
		<comments>http://blog.fguy.com/2010/12/09/%ec%98%81%ec%96%b4%ec%97%90-%eb%8c%80%ed%95%9c-%eb%82%98%ec%9d%98-%ec%9e%90%ec%84%b8/#comments</comments>
		<pubDate>Thu, 09 Dec 2010 19:07:01 +0000</pubDate>
		<dc:creator>fguy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[미국]]></category>
		<category><![CDATA[영어]]></category>

		<guid isPermaLink="false">http://blog.fguy.com/?p=175</guid>
		<description><![CDATA[어제 한 친구가 나에게 미국에서 살만하냐고 물어봤다. 대답은 &#8220;한국보다 훨씬 살만하다&#8221; 였다.  대학교 동창이라 나의 두뇌 수준에 대해 잘 알고 있기에 영어를 해야 하는 이 곳에서 6개월 넘게 살아 남아 는 것에 의아해했다. 다른 모든 과목들과 마찬 가지로 난 단 한번도 진지하게 영어를 공부해 본 적이 없다. 그저 학교 수업시간에 들은 것이 다이고, 내가 특별히 &#8230; <span class="more-link"><a href="http://blog.fguy.com/2010/12/09/%ec%98%81%ec%96%b4%ec%97%90-%eb%8c%80%ed%95%9c-%eb%82%98%ec%9d%98-%ec%9e%90%ec%84%b8/">계속 읽기 &#187;</a></span><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.fguy.com&amp;blog=13748523&amp;post=175&amp;subd=fguyblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>어제 한 친구가 나에게 미국에서 살만하냐고 물어봤다. 대답은 &#8220;한국보다 훨씬 살만하다&#8221; 였다.  대학교 동창이라 나의 두뇌 수준에 대해 잘 알고 있기에 영어를 해야 하는 이 곳에서 6개월 넘게 살아 남아 는 것에 의아해했다. 다른 모든 과목들과 마찬 가지로 난 단 한번도 진지하게 영어를 공부해 본 적이 없다. 그저 학교 수업시간에 들은 것이 다이고, 내가 특별히 수업에 집중한 타입은 아니었기에 대한민국에선 평균이하가 맞을 것이다. 다음은 시기별 나의 영어에 대한 자세.</p>
<ol>
<li>초등학생 때 : 다른 나라 말이 있다는 것도 모르는 애들 보다 낫다.</li>
<li>중학생 때 : 영어에 대해 고민해 본 적 없다.</li>
<li>고등학생 때 : 실업계에선 이 정도면 쓸만하다.</li>
<li>대학생 때 : 공대생이 토익 600 점 정도면 충분하다.</li>
<li>한국에서 직장 생활 중 : 외국에서 살 것도 아닌데, 글을 읽고 대충 이해할 정도면 돈 버는데 지장 없다.</li>
<li>지금 : 외국인이니까 좀 못해도 이해해주겠지.</li>
</ol>
<p>영어 때문에 미국행을 망설이고 있다면 그럴 필요없다. 난 지금 미국에서 합법적으로 영어만 사용하는 곳에서 일하고 있다. 가끔은 내 할 말을 잘 못해 좀 답답하기도 하지만, 동료들과 대부분의 대화 상대들은 내가 좀 버벅이더라도 귀를 기울이고 이해하려 노력해준다. 내가 그들의 말을 단번에 알아듣지 못하더라도 천천히 다시한 번 더 이야기 해주는 데 망설임이 없다. 미국이란 곳이 이민자의 나라라서 그런지 생각보다 아주 관용적이다.</p>
<p>나의 영어 수준은 여전히 바닥이지만, 반년전 이곳에 와서 스스로 집을 구하고, 차를 사고, 보험도 들고, 사회보장번호를 받고, 운전면허를 취득하고, 여행도 하며, 친구도 꽤 사귀었다.</p>
<p>정규 교육을 받은 한국 사람에게 미국 생활에서 영어라는 장벽은 생각보다 높지 않다. 앞으로도 당분간은 영어로 인해 스트레스를 받거나 하진 않을 것이고, 이대로 즐기며 살 것이다.</p>
<br /> Tagged: <a href='http://blog.fguy.com/tag/%eb%af%b8%ea%b5%ad/'>미국</a>, <a href='http://blog.fguy.com/tag/%ec%98%81%ec%96%b4/'>영어</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fguyblog.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fguyblog.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fguyblog.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fguyblog.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fguyblog.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fguyblog.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fguyblog.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fguyblog.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fguyblog.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fguyblog.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fguyblog.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fguyblog.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fguyblog.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fguyblog.wordpress.com/175/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.fguy.com&amp;blog=13748523&amp;post=175&amp;subd=fguyblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.fguy.com/2010/12/09/%ec%98%81%ec%96%b4%ec%97%90-%eb%8c%80%ed%95%9c-%eb%82%98%ec%9d%98-%ec%9e%90%ec%84%b8/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d10c905edc572a61b5206377c1a36c98?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">fguy79</media:title>
		</media:content>
	</item>
		<item>
		<title>CASCADE 모임 : HTML5 + CSS3 (+ Microformats) 참석 후기</title>
		<link>http://blog.fguy.com/2010/07/01/cascade-html5-css3-microformats/</link>
		<comments>http://blog.fguy.com/2010/07/01/cascade-html5-css3-microformats/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 06:50:37 +0000</pubDate>
		<dc:creator>fguy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.fguy.com/?p=140</guid>
		<description><![CDATA[오늘 Joyce의 소개로 CASCADE SF (http://twitter.com/CascadeSF) 모임에 참석하게 되었다. 원래 주제는 HTML5 + CSS3 였는데, 제목에 Microformats 가 추가되어 있었다. HTML5는 선언적으로 semantic 정보를 전달하는 데에도 큰 목적이 있으므로 적절한 조합이 필요할 것이다. Tantek Çelik의 간단한 발표 후에 자유롭게 토론하는 형식이 될 예정이었지만, Tantek이 너무 열정적으로 강의한 탓에 시간이 초과되어 간단한 질문 몇가지만 받고 마무리 되었다. &#8230; <span class="more-link"><a href="http://blog.fguy.com/2010/07/01/cascade-html5-css3-microformats/">계속 읽기 &#187;</a></span><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.fguy.com&amp;blog=13748523&amp;post=140&amp;subd=fguyblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>오늘 Joyce의 소개로 CASCADE SF (<a href="http://twitter.com/CascadeSF" target="_blank">http://twitter.com/CascadeSF</a>) <a href="http://www.meetup.com/cascadesf/calendar/13454835/" target="_blank">모임</a>에 참석하게 되었다.</p>
<p style="text-align:center;"><img class="alignnone" title="HTML5 Now" src="http://farm5.static.flickr.com/4096/4753857980_216d0d018d_m.jpg" alt="" width="180" height="240" /></p>
<p>원래 주제는 HTML5 + CSS3 였는데, 제목에 Microformats 가 추가되어 있었다. HTML5는 선언적으로 semantic 정보를 전달하는 데에도 큰 목적이 있으므로 적절한 조합이 필요할 것이다. Tantek Çelik의 간단한 발표 후에 자유롭게 토론하는 형식이 될 예정이었지만, Tantek이 너무 열정적으로 강의한 탓에 시간이 초과되어 간단한 질문 몇가지만 받고 마무리 되었다.</p>
<p><img class="aligncenter" src="http://sphotos.ak.fbcdn.net/hphotos-ak-snc4/hs133.snc4/36983_403534632943_682232943_4509262_1472756_n.jpg" alt="" width="720" height="537" /></p>
<p>나는 발표자인 Tantek을 내가 대단히 관심히 많은 Microformats 를 창시한 사람으로만 알고 있었는데, 현재 Mozilla재단에서 HTML5 관련 작업 (<a href="https://wiki.mozilla.org/Tantek-Mozilla-projects" target="_blank">https://wiki.mozilla.org/Tantek-Mozilla-projects</a>) 을 하고 있고, 과거에는 MS 에서 맥용 IE5를 개발했다고 Joyce로 부터 전해들을 수 있었다.</p>
<p>특별할 것 없는, 전반적인 내용에 대해 다루었고, 나는 이전에 HTML5Rocks 프리젠테이션 (<a href="http://slides.html5rocks.com/" target="_blank">http://slides.html5rocks.com/</a>)을 면밀히 보았기 때문에 가벼운 마음으로 볼 수 있었다. 하지만 발표 시작과 끝의 요약은 강렬했다.</p>
<p>HTML5에 대한 나의 의견은  웹과 HTML이 응당 이런 모습이어야 했건만 이제야 제자리를 찾아간다는 느낌이었고,  CSS3와 함께 UI 즉, Presentation 관련 부분에선 상당히 성숙했지만, 가장 관심있는 발전 방향인 Web Application 관련해서는 아직은 부족하고 불안정한 상태라 섣불리 움직이기는 힘들다는 결론이다.</p>
<p>발표 내용은 다음 URL에서 확인 할 수 있다. 이 프리젠테이션 역시 HTML5 + CSS3로 작성된 것이다.</p>
<p><a href="http://tantek.com/presentations/2010/07/cascadesf/" target="_blank">http://tantek.com/presentations/2010/07/cascadesf/</a></p>
<p>공식적인 모임이 끝나고 근처에 있는 베트남 식당인 Tu Lan 에서 가진 뒤풀이겸 저녁식사 자리에서 Tantek과 테이블에 앉게 되었는데, 여기서 고급정보를 하나 얻게 되었다. 내가 한 질문은 아니고,  옆에 있던 Ted 가 HTML5에서 Video 태그와 관련해서 입력을 받을 계획은 없는 지 질문했다.  PC캠이나 아이폰으로부터 바로 촬영할 수 있냐는&#8230;</p>
<p>Tantek의 답은 거의 확정적으로 input 태그에 mime type을 추가 할 것이라고 한다. 이렇게하면 브라우저에서 image 의 경우는 연결된 cam이나 아이폰등에서 사진을 찍어서 입력할 수 있게 구현하고, video는 동영상을, 이외에도 여러 형태로 바이너리 입력 타입을 브라우저에서 구현하게 되므로 단순하고 유연해진다.</p>
<p>집으로 오는 길에 CASCADE 모임은 정기적이라는 사실을 알았다. 앞으로도 이 자리에서 정보 공유 (받고만 싶진 않다.)하고 오늘 처럼 많은 좋은 사람들과 만날 수 있었으면 한다.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fguyblog.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fguyblog.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fguyblog.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fguyblog.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fguyblog.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fguyblog.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fguyblog.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fguyblog.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fguyblog.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fguyblog.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fguyblog.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fguyblog.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fguyblog.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fguyblog.wordpress.com/140/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.fguy.com&amp;blog=13748523&amp;post=140&amp;subd=fguyblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.fguy.com/2010/07/01/cascade-html5-css3-microformats/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d10c905edc572a61b5206377c1a36c98?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">fguy79</media:title>
		</media:content>

		<media:content url="http://farm5.static.flickr.com/4096/4753857980_216d0d018d_m.jpg" medium="image">
			<media:title type="html">HTML5 Now</media:title>
		</media:content>

		<media:content url="http://sphotos.ak.fbcdn.net/hphotos-ak-snc4/hs133.snc4/36983_403534632943_682232943_4509262_1472756_n.jpg" medium="image" />
	</item>
		<item>
		<title>낡은 방식으로 PHP를 사용하고 있는 조직의 개발환경 개선 방안 구상</title>
		<link>http://blog.fguy.com/2010/02/08/%eb%82%a1%ec%9d%80-%eb%b0%a9%ec%8b%9d%ec%9c%bc%eb%a1%9c-php%eb%a5%bc-%ec%82%ac%ec%9a%a9%ed%95%98%ea%b3%a0-%ec%9e%88%eb%8a%94-%ec%a1%b0%ec%a7%81%ec%9d%98-%ea%b0%9c%eb%b0%9c%ed%99%98%ea%b2%bd-%ea%b0%9c/</link>
		<comments>http://blog.fguy.com/2010/02/08/%eb%82%a1%ec%9d%80-%eb%b0%a9%ec%8b%9d%ec%9c%bc%eb%a1%9c-php%eb%a5%bc-%ec%82%ac%ec%9a%a9%ed%95%98%ea%b3%a0-%ec%9e%88%eb%8a%94-%ec%a1%b0%ec%a7%81%ec%9d%98-%ea%b0%9c%eb%b0%9c%ed%99%98%ea%b2%bd-%ea%b0%9c/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 10:00:33 +0000</pubDate>
		<dc:creator>fguy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fguy.krac.kr/2010/02/08/%eb%82%a1%ec%9d%80-%eb%b0%a9%ec%8b%9d%ec%9c%bc%eb%a1%9c-php%eb%a5%bc-%ec%82%ac%ec%9a%a9%ed%95%98%ea%b3%a0-%ec%9e%88%eb%8a%94-%ec%a1%b0%ec%a7%81%ec%9d%98-%ea%b0%9c%eb%b0%9c%ed%99%98%ea%b2%bd-%ea%b0%9c/</guid>
		<description><![CDATA[다음 글은 현재 속한 팀에서 공감과 개선을 이끌어 내고자 공유했던 내용이다. 비슷한 상황을 가지고 있는 사람에게 참고가 될 수 있을까해서 포스팅 해본다. 돌아보기 이상적인 개발자의 일상 출근 후 코드를 SVN으로부터 업데이트 받는다. CI 의 리포트 확인. CI 리포트에 오류가 있을 (빌드가 깨져있을) 경우 수정할 수 있다면 직접 수정후 테스트 한 뒤 commit 담당자가 수정하도록 ticket &#8230; <span class="more-link"><a href="http://blog.fguy.com/2010/02/08/%eb%82%a1%ec%9d%80-%eb%b0%a9%ec%8b%9d%ec%9c%bc%eb%a1%9c-php%eb%a5%bc-%ec%82%ac%ec%9a%a9%ed%95%98%ea%b3%a0-%ec%9e%88%eb%8a%94-%ec%a1%b0%ec%a7%81%ec%9d%98-%ea%b0%9c%eb%b0%9c%ed%99%98%ea%b2%bd-%ea%b0%9c/">계속 읽기 &#187;</a></span><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.fguy.com&amp;blog=13748523&amp;post=62&amp;subd=fguyblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>다음 글은 현재 속한 팀에서 공감과 개선을 이끌어 내고자 공유했던 내용이다. 비슷한 상황을 가지고 있는 사람에게 참고가 될 수 있을까해서 포스팅 해본다.<br />
<span class="Apple-style-span">
<div>
<h1 style="font-size:18pt;">돌아보기</h1>
<div style="margin-top:0;margin-bottom:0;">
<b><font size="3">이상적인 개발자의 일상</font></b></div>
<div style="margin-top:0;margin-bottom:0;">
<ul style="margin-top:0;margin-bottom:0;">
<li>출근 후 코드를 SVN으로부터 업데이트 받는다.</li>
<li>CI 의 리포트 확인.</li>
<li>CI 리포트에 오류가 있을 (빌드가 깨져있을) 경우</li>
<ul style="margin-top:0;margin-bottom:0;">
<li>수정할 수 있다면 직접 수정후 테스트 한 뒤 commit</li>
<li>담당자가 수정하도록 ticket 발급</li>
</ul>
<li>Stand up meeting 을 가지고 어제 일을 반성하고 할 일에 대해 구성원간 공유를 한다.</li>
<li>Issue Tracker에 등록된 ticket이 있는 지 확인하고 처리한다.</li>
<li>Story에 기반하여 자신이 할 일을 정의해 eclipse 의 task 목록에 등록한다. (Issue Tracker에 자동으로 등록된다.)</li>
<li>등록한 task 에 대한 test case 를 만든다. </li>
<li>test case가 성공하도록 구현한다.</li>
<li>더 이상 task에 대한 구현 사항이 없다면 코드를 commit 한다.</li>
<li>구현 과정에서 특기할 만한 것이 있다면 wiki 에 공유.</li>
<li>오늘 할 일이 끝나면 퇴근.</li>
</ul>
<div style="margin-top:0;margin-bottom:0;">
</div>
<h3 style="font-size:12pt;">조엘 테스트</h3>
<div style="margin-top:0;margin-bottom:0;">
&nbsp;&nbsp; 1. Source Control(소스 컨트롤)을 사용하십니까? 예</div>
<div style="margin-top:0;margin-bottom:0;">
<div style="margin-top:0;margin-bottom:0;">
&nbsp;&nbsp; 2. 한번에 빌드를 만들어낼 수 있습니까? 아니오</div>
<div style="margin-top:0;margin-bottom:0;">&nbsp;&nbsp; 3. daily build(일별 빌드)를 만드십니까? 아니오</div>
<div style="margin-top:0;margin-bottom:0;">&nbsp;&nbsp; 4. 버그 데이타베이스를 가지고 있습니까? 아니오</div>
<div style="margin-top:0;margin-bottom:0;">&nbsp;&nbsp; 5. 새로운 코드를 작성하기 전에 버그들을 잡습니까? 아니오</div>
<div style="margin-top:0;margin-bottom:0;">&nbsp;&nbsp; 6. up-to-date(최신) 스케줄을 가지고 있습니까? 아니오</div>
<div style="margin-top:0;margin-bottom:0;">&nbsp;&nbsp; 7. spec(설계서)를 가지고 있습니까? 아니오</div>
<div style="margin-top:0;margin-bottom:0;">&nbsp;&nbsp; 8. 프로그래머들이 조용한 작업환경을 가지고 있습니까? 아니오</div>
<div style="margin-top:0;margin-bottom:0;">&nbsp;&nbsp; 9. 돈이 허락하는 한도내의 최고의 툴들을 사용하고 있습니까? 예</div>
<div style="margin-top:0;margin-bottom:0;">&nbsp; 10. 테스터들을 고용하고 있습니까? 아니오</div>
<div style="margin-top:0;margin-bottom:0;">&nbsp; 11. 신입사원들은 면접 때 코드를 직접 짜는 실기시험을 봅니까? 아니오</div>
<div style="margin-top:0;margin-bottom:0;">&nbsp; 12. hallway usability testing(무작위 사용성 테스팅)을 하십니까? 아니오</div>
<div style="margin-top:0;margin-bottom:0;">
</div>
<div style="margin-top:0;margin-bottom:0;">
2점. 2005년 기준의 테스트인데 우리는 과거에 있나 현재에 있나. IT에서 5년은 영겁의 세월.</div>
<div style="margin-top:0;margin-bottom:0;">
</div>
</div>
<div style="margin-top:0;margin-bottom:0;"><b><font size="3">현재의 상황 &#8211; 어쩔 수 없었을 것입니다. <br />
</font></b></div>
</div>
<div style="margin-top:0;margin-bottom:0;">
<div style="margin-top:0;margin-bottom:0;">
<div style="margin-top:0;margin-bottom:0;">
<ul style="margin-top:0;margin-bottom:0;">
<li>기존 방식을 고수 하는 이유</li>
<ul style="margin-top:0;margin-bottom:0;">
<li>가장 빨리 할 수 있다.</li>
<li>가장 안전해 보인다.</li>
</ul>
<li>젠가, 폭탄 돌리기</li>
<li>땀이 베어있는 코드</li>
<li>view 와 logic 이 분리 되어 있지 않음. 
</li>
<li>controller 와 persistence layer 가 분리되어 있지 않음.</li>
<li>단위테스트 가 없음.</li>
<li>빌드 가 소스 코드에 통합되어 있지 않음.</li>
<li>각각 다른 개발 환경 &#8211; editplus, vi, eclipse 등.</li>
<li>서로 다른 코딩 스타일.</li>
</ul>
<div style="margin-top:0;margin-bottom:0;">
</div>
<h3 style="font-size:12pt;">왜 변화해야 하는가</h3>
<div style="margin-top:0;margin-bottom:0;">
<ul style="margin-top:0;margin-bottom:0;">
<li>테스트가 잘되어 있어야 개발 비용을 줄일 수 있다.</li>
<li>웹사이트는 계속 변경되지만, 변경 비용은 뒤로 갈 수록 비싸진다.</li>
<li>일이 재미있습니까? -&gt; &#8220;재미&#8221; 를 먼저 찾기 위해 노력해야 하지만, 결국 개발주기를 반복하다보면 재미가 나오는 것이지, 그 전에 재미가 무엇인지를 알고 그것만 개발하기는 힘들다. 그러니까 변화를 수용해라.</li>
<li>기술은 끊임 없이 변화한다. 조금씩 계속해서 변화에 적응해야 살아 남을 수 있다.<span class="Apple-converted-space">&nbsp;</span>
</li>
</ul>
</div>
<div style="margin-top:0;margin-bottom:0;">
</div>
<h1 style="font-size:18pt;">코드 공동 소유</h1>
<h3 style="font-size:12pt;">Truck Number</h3>
<div style="margin-top:0;margin-bottom:0;">
우리의 Truck Number 는 1에 가깝다.</div>
<div style="margin-top:0;margin-bottom:0;">
</div>
<h3 style="font-size:12pt;"><a id="nuxj" href="http://www.ibm.com/developerworks/kr/library/j-ap07088/index.html" title="리팩터링">리팩터링</a></h3>
<div style="margin-top:0;margin-bottom:0;">
지속적으로 코드의 품질을 유지하려면 리팩터링이 필수 이지만, 남의 코드를 건드릴 수 없다면 리팩터링을 할 수 없다.</div>
<div style="margin-top:0;margin-bottom:0;">리팩터링은 성숙한 실천법으로 코드를 항상 변화가 용이하도록 유지해준다.</div>
<h3 style="font-size:12pt;">선결과제</h3>
<div style="margin-top:0;margin-bottom:0;">
<ul style="margin-top:0;margin-bottom:0;">
<li>배경 지식의 공유</li>
<li>Framework </li>
<ul style="margin-top:0;margin-bottom:0;">
<li>코드 중복 제거</li>
<li>일관된 코드 구조</li>
<li>메인 비즈니스에 집중 (폼 검증 등은 framework 에 위임)</li>
</ul>
<li>TDD</li>
<li><span style="font-family:'맑은 고딕';"><font size="2"><a id="ndf:" href="http://svnnotifier.tigris.org/" title="SVN Notifier">SVN Notifier</a><span style="font-family:'맑은 고딕';"><font size="2">&nbsp;: 다른 사람의 commit 을 감지하고 Code Review를 도와준다.</font></span></font></span></li>
<li><font face="'맑은 고딕'"><span style="font-family:'맑은 고딕';"><font size="2"><font size="2"><a id="r:lb" href="http://conflict.sourceforge.net/" title="Conflict">Conflict</a>&nbsp;: 다른 사람이 작성한 코드와 수정중인 코드의 충돌을 미리 감지한다.</font></font></span></font></li>
<li><font face="'맑은 고딕'"><span style="font-family:'맑은 고딕';"><font size="2"><font size="2">짝프로그래밍<br />
</font></font></span></font></li>
</ul>
</div>
<div style="margin-top:0;margin-bottom:0;">
</div>
<h1 style="font-size:18pt;">TDD</h1>
<div style="margin-top:0;margin-bottom:0;">
<ul style="margin-top:0;margin-bottom:0;">
<li>90년대에 OOP가 대두됐다면 21세기는 TDD가 대세</li>
<li>TDD는 테스트 기법이 아닌 설계 기법</li>
<li>단위 테스트는 보너스 (조엘테스트 5)</li>
<li>꼭 필요한 기능만 구현하게 되므로 , Feature Creep 를 막을 수 있다.</li>
<li>작성된 테스트는 문서로서의 역할도 수행한다.</li>
<li>품질을 올릴 수 있으므로, 버그가 크게 줄어든다. </li>
<li>리팩터링의 필수 도구. (외부 동작은 같으며 내부구조를 변경)</li>
<li>자동 테스트를 도입하려면 강력한 리더쉽, 분명한 비전, 용기가 필요.</li>
</ul>
<div style="margin-top:0;margin-bottom:0;">
<div style="margin-top:0;margin-bottom:0;">
<ul style="margin-top:0;margin-bottom:0;">
<li><font face="'맑은 고딕'"><font size="2">Crytec GDC&#8217;09 에서 </font></font></li>
<ul style="margin-top:0;margin-bottom:0;">
<li><font face="'맑은 고딕'"><font size="2">질문자 : 어떤 사람들은 단위 테스트를 잘 이해하지 못해서 테스트를 작성하게 하는데 어려움이 있는데 너네는 어떻게 했냐?<br />
<font size="2">Tech Director</font>&nbsp;: 억지로 시키면 안 되고, 개발자들에게 단위 테스트(자동 테스트) 의 중요함을 이해시켜야 한다.</font></font></li>
<li><font face="'맑은 고딕'"><font size="2">질문자 : 그래도 잘 안 된다면?<br />
</font><font size="2"><font size="2">Tech Director : 그럼 나가게 했다. 그마나 우리 뿐만 아니라 유비소프트나 EA 에서도 개발자 면접 볼 때 단위테스트를 해 봤는지 물어본다고 하더라. 이제 단위 테스트는 피할 수 없는 거라고 생각한다.</font></font></font></li>
<li><font face="'맑은 고딕'"><font size="2">질문자 : 좋은 테스트를 만드는 건 참 어렵다. PT 에서는 멘토링이 필요하다고 했는데 너네는 어떻게 했냐?<br />
Tech Director : 컨설팅을 받는 것도 좋은 생각이지만, 우리는 그냥 팀원들끼리 pair programming 을 하게 했다.</font></font></li>
<div style="margin-top:0;margin-bottom:0;"><font face="'맑은 고딕'"><font size="2"><br />
</font></font></div>
</ul>
</ul>
</div>
</div>
</div>
<div style="margin-top:0;margin-bottom:0;">
<h1 style="font-size:18pt;"><font size="5">Continuous Integration</font></h1>
<div style="margin-top:0;margin-bottom:0;">
<ul style="margin-top:0;margin-bottom:0;">
<li><span style="font-family:'맑은 고딕';"><font size="2">&#8220;자주 커밋하고 자주 통합하라&#8221; 애자일의 원칙</font></span></li>
<li>HUDSON을 통해 Auto Build, Deploy, UNIT TEST를 수행하여 매일 아침마다 그날 집중해야 할 일을 찾음</li>
<li>정적 테스트가 가능할 경우 효과가 극대화</li>
</ul>
</div>
</div>
<div style="margin-top:0;margin-bottom:0;">
</div>
<h1 style="font-size:18pt;">나누어 일하기<br />
</h1>
<h3 style="font-size:12pt;">직군 세분화</h3>
<div style="margin-top:0;margin-bottom:0;">
<ul style="margin-top:0;margin-bottom:0;">
<li>Frontend Engineer
</li>
<li>Web QA Tester (조엘테스트 10)</li>
<li>Persistence Layer Developer</li>
<li>Web Service (API) Developer</li>
</ul>
</div>
<h3 style="font-size:12pt;">Go MVC</h3>
<div style="margin-top:0;margin-bottom:0;">
<ul style="margin-top:0;margin-bottom:0;">
<li>직군을 세분화 하기 위해서는 필수이다.</li>
<li>패턴을 적용할 수 있다.</li>
<li>본연의 업무에 집중 가능.</li>
<li>좀 더 독립적인 컴퍼넌트들. </li>
</ul>
</div>
<div style="margin-top:0;margin-bottom:0;">
</div>
<div style="margin-top:0;margin-bottom:0;">
=&gt; 협업에 대해 좀 더 깊은 고민을 해야 한다.</div>
<div style="margin-top:0;margin-bottom:0;">
</div>
<div style="margin-top:0;margin-bottom:0;">
</div>
<h1 style="font-size:18pt;">PHP 개선</h1>
<h3 style="font-size:12pt;">PHP MVC Framework</h3>
<div style="margin-top:0;margin-bottom:0;">
<ul style="margin-top:0;margin-bottom:0;">
<li>다음과 같은 MVC Framework 들이 많이 쓰인다.</li>
<ul style="margin-top:0;margin-bottom:0;">
<li>ZendFramework</li>
<li>Code Igniter</li>
<li>Cake PHP</li>
<li>Sympony</li>
<li>Agavi</li>
<li>qphp</li>
<li>Fuse</li>
</ul>
<li>여러 종류의 MVC framework 이 있지만 전혀 표준화 되어 있지 않음.</li>
<li><a id="qrsj" href="http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html" title="PHP MVC Framework는 필요없다.">PHP MVC Framework는 필요없다.</a><span class="Apple-converted-space">&nbsp;</span>-&gt; Rasmus</li>
</ul>
<div style="margin-top:0;margin-bottom:0;">
</div>
<div style="margin-top:0;margin-bottom:0;">
<h3 style="font-size:12pt;"><font size="3">PHP 개발도구</font></h3>
<div style="margin-top:0;margin-bottom:0;">
<ul style="margin-top:0;margin-bottom:0;">
<li>Editplus </li>
<ul style="margin-top:0;margin-bottom:0;">
<li>가볍고 단순.</li>
<li>리팩터링이 어렵다.</li>
<li>build 환경을 가지고 있지 않다.</li>
</ul>
<li>Eclipse</li>
<ul style="margin-top:0;margin-bottom:0;">
<li>PDT 를 사용하여 PHP 개발을 지원.</li>
<li>Xdebug, Zend Server CE를 사용하여 Debug를 통합하고 Profiling 이 가능.</li>
<li>Java 개발 도구에 비하여 현저히 부족한 features.</li>
<li>Unit Test가 IDE에 통합되어 있지 않다. </li>
</ul>
<li>Zend Studio</li>
<ul style="margin-top:0;margin-bottom:0;">
<li>현재로서는 가장 완벽한 PHP 개발도구. </li>
<li>Zend Server와 통합되어 좀 더 세밀한 Debug와 Profiling 이 가능.</li>
<li>Unit Test 가 JUnit 처럼 IDE에 통합되어 있다.</li>
<li>copy 당 $400 은 너무나 부담스럽다.</li>
<li>Eclipse 의 Java 개발 도구 ($0) 보다는 만족스럽지 못한 환경</li>
<div style="margin-top:0;margin-bottom:0;">
</div>
</ul>
</ul>
</div>
</div>
</div>
<div style="margin-top:0;margin-bottom:0;">
<h3 style="font-size:12pt;">PHP의 한계</h3>
<div style="margin-top:0;margin-bottom:0;">
<ul style="margin-top:0;margin-bottom:0;">
<li>인터프리트 언어.</li>
<li>build 환경의 부재.</li>
<li>PHP의 코드 무결성은 runtime 에서 확정 되므로, 실행(url 을 열어보기) 전까지 무결성을 장담할 수 없음.</li>
<li>Test 가 IDE에 통합 되지 않음</li>
<li>PHP5 로의 전환 -&gt; 곧 PHP6가 나온다. 다시 한 번 패러다임의 전환이 필요.</li>
</ul>
</div>
</div>
</div>
</div>
<p></p>
<h3 style="font-size:12pt;">비슷한 경험을 가진 NHN (Non-confidential, 채용·세미나등에서 공개)</h3>
<div style="margin-top:0;margin-bottom:0;">
<ul style="margin-top:0;margin-bottom:0;">
<li>2006년까지 문제에 대한 반성</li>
<li>2007년 중반 부터 PHP MVC Framework 을 도입하기로 함. Mojavi 등 검토 하고 최종 ZendFramework을 사용하기로 함.</li>
<li>2개의 파일럿 프로젝트만에 ZendFramework 사용을 중단하기로 함. (본인이 이 중 1개 프로젝트 전담자)</li>
<ul style="margin-top:0;margin-bottom:0;">
<li>언어의 한계로 확장이 힘들다. (모듈 재사용, 세션 공유 등) </li>
<li>IDE에 통합된 Unit testing framework의 부재.</li>
<li>전문 인력 부재. 기존 개발자들이 관련 지식을 습득하는 데 어려움을 겪음.</li>
<li>사세 확장에 따라 신규 인력 채용에 박차를 가했으나 관련 인력을 구할 수 없음</li>
<ul style="margin-top:0;margin-bottom:0;">
<li>정규 교육기관의 커리큘럼에 PHP 는 찾아보기 힘듬.</li>
<li>사설 교육기관에서 PHP Framework 에 대한 내용이 없음.</li>
</ul>
<li>미들 티어등 엔터프라이즈영역의 library 부재.</li>
<li>결국 유연한 PHP언어의 장점을 버리기로 함.</li>
</ul>
<li>2년의 cooltime 을 가지고 Java 계열 Framework (Lucy) 로 전환하기로 결정.</li>
<li>2009년 현재 모든 프로젝트 Java로 전환하였거나, old 프로젝트 버림.</li>
</ul>
</div>
<p>
<h3 style="font-size:12pt;">왜 JavaEE 인가</h3>
<div style="margin-top:0;margin-bottom:0;">
<ul style="margin-top:0;margin-bottom:0;">
<li>모든 방면에서 검증된 플랫폼.</li>
<li>숙련된 인력을 구하기 쉬움.</li>
<li>표준화된 spec, library 들</li>
<li>강력한 확장성.</li>
<li>컴퍼넌트 모델이 확립되어 협업이 용이하다.</li>
<li>이미 성숙된 환경. PHP6에서 Enterprise 영역에 대해 적극적 지원(이로 인해 이전의 PHP보다 급격히 복잡해진 spec) 을 언급하나, JavaEE에서는 이미 완성.</li>
</ul>
</div>
<div style="margin-top:0;margin-bottom:0;">
</div>
<h3 style="font-size:12pt;">PHP in JavaEE</h3>
<ul style="margin-top:0;margin-bottom:0;">
<li>quercus &#8211; 100% Java Code로 PHP를 구현 (Jython, JRuby 등과 대비)</li>
<ul style="margin-top:0;margin-bottom:0;">
<li>별다른 노력을 들이지 않고 기존 코드 사용가능</li>
<li>PHP 를 Java 바이트 코드로 변환 가능 (인터프리트 언어의 단점 극복)</li>
<li>mod_php 보다 최대 4배 빠른 속도</li>
<li>기존 PHP 코드를 유지하면서 Java 환경의 개발을 할 수 있음.</li>
<li>개선된 환경으로 나아가기 위한 완충작용</li>
</ul>
<li>Glassfish &#8211; 다양한 스크립팅 지원. quercus와 함께 사용가능.</li>
<ul style="margin-top:0;margin-bottom:0;">
<li>Ruby (Jruby)</li>
<li>Python (Jython)</li>
<li>Groovy/Grails</li>
<li>Scala/Lift</li>
<li>Phobos (Server side Javascript for Ajax)</li>
</ul>
<li>우리의 프로젝트</li>
<ul style="margin-top:0;margin-bottom:0;">
<li>단순히 quercus library만 사용한다고 동작 하지는 않음.</li>
<li>mysql 모듈에서 몇가지 문제가 발생</li>
<ul style="margin-top:0;margin-bottom:0;">
<li>JDBC에서 허용되지 않는 쿼리 실행시 (SET NAMES &#8230;) &nbsp; -&gt; SET NAMES를 사용하지 않는다. JDBC parameter 수정으로 가능.</li>
<li>빈 문자열을 Boolean type으로 사용시 (JDBC의 한계) -&gt; 비교 구문의 수정</li>
<li>Zend Guard 로 인코딩 된 php 파일은 실행하지 못함 -&gt; 사실상 Zend Guard는 아무런 역할을 하지 못하고 수많은 decompiler 앞에 무력하므로 plain 으로 되돌린다.</li>
</ul>
<li>그러나 어렵지 않은 노력으로 실행 가능.</li>
</ul>
<li>PHP는 유연성이 아주 뛰어난 훌륭한 개발 환경 이므로 이를 받아들여, 다른 스크립팅 언어까지 지원가능한 Glassfish 환경에서 운용한다면 최상의 조합이 될 것.</li>
</ul>
<div style="margin-top:0;margin-bottom:0;">
</div>
<h3 style="font-size:12pt;">Java 로&#8230;</h3>
<div style="margin-top:0;margin-bottom:0;">
<ul style="margin-top:0;margin-bottom:0;">
<li>JavaEE의 모든 것을 다룰 수 있는 언어.</li>
<li>Eclipse, Netbeans 등 무료로 가장 최상의 개발도구를 활용할 수 있다.</li>
<li>개발자의 미래를 위하여</li>
<ul style="margin-top:0;margin-bottom:0;">
<li>연봉 통계 (<a id="itwv" href="http://www.indeed.com/salary?q1=java+ee&amp;l1=&amp;q2=java+spring&amp;l2=&amp;q3=c%2B%2B&amp;l3=&amp;q4=java&amp;l4=&amp;q5=c%23&amp;l5=&amp;q6=asp.net&amp;l6=&amp;q7=perl&amp;l7=&amp;q8=python&amp;l8=&amp;q9=ruby+rails&amp;l9=&amp;q10=ruby&amp;l10=&amp;q11=PHP&amp;l11=&amp;q12=visual+basic&amp;l12=" title="indeed.com">indeed.com</a>)</li>
<ul style="margin-top:0;margin-bottom:0;">
<li>Java EE : $<span class="salary">103,000</span></li>
<li>PHP : <span class="salary">$74,000<br />
</span></li>
</ul>
<li>&nbsp;구인 통계</li>
<ul style="margin-top:0;margin-bottom:0;">
<li>Java : 10,395 개</li>
<li>PHP : 1,602 개</li>
</ul>
</ul>
</ul>
</div>
<p></div>
<p><b><br />
<h1 style="font-size:18pt;">Issue Tracking </h1>
<p></b>
<div style="margin-top:0;margin-bottom:0;">
<font size="6"><b><font size="3"><span style="font-weight:normal;"><font size="2">당신은 어디서 무슨 일이 일어나고 있는 지 알고 있습니까?</p>
<p></font></span></font></b></font></div>
<h3 style="font-size:12pt;">스탠드업 미팅</h3>
<div style="margin-top:0;margin-bottom:0;">
<ul style="margin-top:0;margin-bottom:0;">
<li><font size="2">이해가 어긋나기 전에 바로잡을 수 있는 기회</font></li>
<li><font size="2">더 많은 회의를 줄이기 위한 짧은 시간의 만남</font></li>
</ul>
<div style="margin-top:0;margin-bottom:0;">
<font size="2"><br />
</font></div>
</div>
<h3 style="font-size:12pt;">이슈 트래커</h3>
<div style="margin-top:0;margin-bottom:0;">
<ul style="margin-top:0;margin-bottom:0;">
<li><font size="2">실무자의 일정 관리.</font></li>
<li><font size="2">한눈에 어떻게 돌아가는 지 알 수 있다.</font></li>
<li><font size="2">보고성 회의를 크게 줄일 수 있다.</font></li>
<li><font size="2">프로젝트의 교훈들에 대한 DB 가 쌓임.</font></li>
<li><font size="2">앞으로를 예측 가능하게 해준다.</font></li>
</ul>
</div>
<div style="margin-top:0;margin-bottom:0;"><font size="2"><br />
</font></div>
<h3 style="font-size:12pt;">도구들</h3>
<div style="margin-top:0;margin-bottom:0;">
<ul style="margin-top:0;margin-bottom:0;">
<li><span style="font-family:'맑은 고딕';"><font size="2"><a id="k-jx" href="http://%20trac.edgewall.org/" title="Trac">Trac</a></font></span></li>
<ul style="margin-top:0;margin-bottom:0;">
<li>개발자에게 이상적인 도구.</li>
<li>SVN 과 완전히 통합.</li>
<li>Eclipse에 쉽게 통합. (ticket status, commit 로그 등)</li>
<li>설치가 어렵다.</li>
</ul>
<li><a id="d3yo" href="http://www.mantisbt.org/" title="Mantis">Mantis</a></li>
<ul style="margin-top:0;margin-bottom:0;">
<li>쉬운 설치 </li>
<li>쉬운 사용</li>
<li>단순한 기능</li>
<li>비 프로그래머에게 편리함</li>
<li>강력한 통계 기능 </li>
<li>Eclipse에 통합 가능하나 번거롭다. (할일 목록, SVN 과의 통합)</li>
</ul>
<li><a id="unau" href="http://www.atlassian.com/software/jira/" title="Jira">Jira</a></li>
<ul style="margin-top:0;margin-bottom:0;">
<li>유료</li>
<li>Eclipse와 유기적 통합.</li>
<li>Atlassian의 다른 제품들(Confluence, Fisheye 등)과 연동</li>
<li>더욱 강력한 통계</li>
</ul>
</ul>
</div>
<div style="margin-top:0;margin-bottom:0;">
</div>
<h1 style="font-size:18pt;">실행 방안</h1>
<p>당장 할 수 있는 것들은?</p>
<div style="margin-top:0;margin-bottom:0;">
<div style="margin-top:0;margin-bottom:0;">
</div>
<div style="margin-top:0;margin-bottom:0;">읽을 거리</div>
<div style="margin-top:0;margin-bottom:0;">
<ul style="margin-top:0;margin-bottom:0;">
<li>Headfirst Software Development</li>
<li>애자일 프랙티스</li>
</ul>
</div>
</div>
</div>
<p></span><br class="Apple-interchange-newline"></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fguyblog.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fguyblog.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fguyblog.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fguyblog.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fguyblog.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fguyblog.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fguyblog.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fguyblog.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fguyblog.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fguyblog.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fguyblog.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fguyblog.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fguyblog.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fguyblog.wordpress.com/62/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.fguy.com&amp;blog=13748523&amp;post=62&amp;subd=fguyblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.fguy.com/2010/02/08/%eb%82%a1%ec%9d%80-%eb%b0%a9%ec%8b%9d%ec%9c%bc%eb%a1%9c-php%eb%a5%bc-%ec%82%ac%ec%9a%a9%ed%95%98%ea%b3%a0-%ec%9e%88%eb%8a%94-%ec%a1%b0%ec%a7%81%ec%9d%98-%ea%b0%9c%eb%b0%9c%ed%99%98%ea%b2%bd-%ea%b0%9c/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d10c905edc572a61b5206377c1a36c98?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">fguy79</media:title>
		</media:content>
	</item>
		<item>
		<title>CodeIgniter 살펴보기</title>
		<link>http://blog.fguy.com/2010/02/05/codeigniter-%ec%82%b4%ed%8e%b4%eb%b3%b4%ea%b8%b0/</link>
		<comments>http://blog.fguy.com/2010/02/05/codeigniter-%ec%82%b4%ed%8e%b4%eb%b3%b4%ea%b8%b0/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 02:06:14 +0000</pubDate>
		<dc:creator>fguy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://fguy.krac.kr/2010/02/05/codeigniter-%ec%82%b4%ed%8e%b4%eb%b3%b4%ea%b8%b0/</guid>
		<description><![CDATA[지금 근무중인 회사에서 Old type PHP 를 사용하고 있어, 이를 개선하기 위해 PHP MVC Framework 도입을 고려하던 중 CodeIgniter 가 긍정적이라는 팀원들의 의견을 듣고 살펴보고 사내 위키에 게시하였다. 다음 내용이 그것이다. &#8212;&#8212;&#8212;&#8212;&#8212; 이 페이지는 본인이 CodeIgniter 를 처음 사용해보고 작성한 것으로, 이해부족으로 사실과 다른 내용이 있을 수 있다. 장점 PHP4에서 사용가능하다. 오픈 소스이다. MVC의 기본 개념에 충실한 &#8230; <span class="more-link"><a href="http://blog.fguy.com/2010/02/05/codeigniter-%ec%82%b4%ed%8e%b4%eb%b3%b4%ea%b8%b0/">계속 읽기 &#187;</a></span><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.fguy.com&amp;blog=13748523&amp;post=61&amp;subd=fguyblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>지금 근무중인 회사에서 Old type PHP 를 사용하고 있어, 이를 개선하기 위해 PHP MVC Framework 도입을 고려하던 중 CodeIgniter 가 긍정적이라는 팀원들의 의견을 듣고 살펴보고 사내 위키에 게시하였다. 다음 내용이 그것이다.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>이 페이지는 본인이 CodeIgniter 를 처음 사용해보고 작성한 것으로, 이해부족으로 사실과 다른 내용이 있을 수 있다.</p>
<h1><a name="126984b266edd480_장점"></a>장점</h1>
<div>
<ul>
<li>
<div>PHP4에서 사용가능하다.</div>
</li>
<li>
<div>오픈 소스이다.</div>
</li>
<li>
<div>MVC의 기본 개념에 충실한 것 처럼 보인다.</div>
</li>
<li>
<div>비교적 단순하고 읽기 쉬운 소스 코드 구조.</div>
</li>
<li>
<div><acronym title="Hypertext Preprocessor">PHP</acronym> 모듈이나 다른 라이브러리에 대한 의존성이 적다.</div>
</li>
<li>
<div>충실한 공식 한글 자료.</div>
</li>
</ul>
</div>
<h1><a name="126984b266edd480_단점"></a>단점</h1>
<div>
<ul>
<li>
<div>PHP4 호환을 위해 PHP5의 좋은 특징을 충분히 수용하지 못했다.</div>
<ul>
<li>
<div>객체 참조</div>
</li>
<li>
<div>OOP를 위한 Access Modifiers (public/private/protected)</div>
</li>
<li>
<div>Test 를 지원하기 위한 interface 사용의 부재</div>
</li>
<li>
<div>가장 아쉬운 것은 예외 처리. <acronym title="Hypertext Preprocessor">PHP</acronym>의 원시적 오류 처리는 골치 아프다.</div>
</li>
</ul>
</li>
<li>
<div>자유롭지 못한 라이센스. 소스코드 수정과 배포에 제약이 따른다.<br />
(배포버전의 license.txt 중)</div>
<ul>
<li>
<div>Any files that have been modified must carry notices stating the nature of the change and the names of those who changed them.</div>
</li>
<li>
<div>Products derived from the Software must include an acknowledgment that they are derived from CodeIgniter in their documentation and/or other materials provided with the distribution.</div>
</li>
</ul>
</li>
<li>
<div>Persistence Layer 의 애매 모호함.</div>
<ul>
<li>
<div>단순히 DB Helper Classes. DB를 은닉하지 못함.</div>
</li>
<li>
<div>Persistence 관련 코드는 가이드대로 사용하게 되면 지나치게 DBMS에 의존적이 된다.</div>
<ul>
<li>
<div>Java 진영의 JPA 나 .NET의 Nhibernate 의 경우는 DBMS 와 완전히 독립적인 코드 생성이 가능하다.</div>
</li>
<li>
<div>DBMS 가 변경될 경우나 스키마가 변경될 경우 코드내에서 해당 부분을 찾아 일일히 수정해야 한다.</div>
</li>
</ul>
</li>
<li>
<div>Active Record 는 <acronym title="Structured Query Language">SQL</acronym>을 제거해 DBMS 에 종속적이지 않고, 단순화하려고 했으나, 구현을 단순화하기 위해 결국 <acronym title="Structured Query Language">SQL</acronym>을 사용하는 것과 동등한 수준의 종속성이 발생하고 단순화되지도 않아 이도 저도 아니게 되어 있는 모습</div>
</li>
<li>
<div>Binding 시 Place Holder 로 의미 있는 값을 사용할 수 없다. 단순히 ? 사용..NET, Java 진영의 ibatis 와 비교</div>
</li>
<li>
<div>디버깅이 어렵다. 무슨 일이 일어나는지 일일히 찍어보지 않으면 알 수 없다.</div>
</li>
</ul>
</li>
<li>
<div>PEAR 와 중복된 라이브러리. PEAR와 거의 동일한 수준의 OO 적이지도 않은 똑같은 것(PEAR 역시 4.x 호환)들을 왜 만들어 둔 것인가. PEAR는 <acronym title="Hypertext Preprocessor">PHP</acronym> 패키지에 기본 포함 되어 있으므로 중복을 피할 수 없다.</div>
</li>
<li>
<div>IDE 환경의 부재. 단순히 PDT의 Template 을 제공할 뿐. <acronym title="Hypertext Preprocessor">PHP</acronym> 언어의 한계이기도 하다.</div>
</li>
<li>
<div>어설픈 I18N. Locale 에 관한 고려가 없다. 반드시 언어를 코드레벨에서 선택해 주어야 한다. 브라우저의 헤더에 따른, 또는 GeoIP 에 따른 자동 지원은 불가능하다.</div>
</li>
<li>
<div>디스크 단위의 Cache 모델. 서버가 여럿일 경우 오버헤드 및 동기화에 문제 있을 수 있음.</div>
</li>
<li>
<div>Log 가 파일로만 출력된다. 마찬가지로 서버가 여러대일 경우 데이터 취합에 문제.</div>
</li>
<li>
<div>Dispatch 모델에서 코드 중복이 발생할 여지가 있다. 동일한 Action 을 View 만 다르게 한다던지 할 경우 Mapping을 위해 Controller Class를 추가해야만 한다.</div>
</li>
<li>
<div>View 와 Controller 이 coupled 이다. 이상적인 MVC 모델은 Controller 는 화면에 표시되는 것에 대해 전혀 관여하지 않는 것이다.</div>
</li>
<li>
<div>View Layer 가 독립적이지 않다. <acronym title="Hypertext Preprocessor">PHP </acronym>언어의 한계 일수도 있겠으나, 굳이 View Layer 가 아니어도 사용자에게 출력을 제공할 수 있으므로 통일감을 잃을 수 있고, 실수를 유발할 수 있다. echo, print 등.</div>
</li>
<li>
<div>관점 분리에 대한 배려가 적다. 예를 들어 Form Validation 은 Business Logic 에 전혀 포함되지 않아도 될 것이다.</div>
</li>
</ul>
</div>
<h1><a name="126984b266edd480_정리"></a>정리</h1>
<div>
<ul>
<li>
<div>한정된 용도의 작은 웹사이트 개발에 용이할 것 같다. 확장을 위해 신경써주어야 할 부분이 많다.</div>
</li>
<li>
<div><acronym title="Hypertext Preprocessor">PHP</acronym> 언어의 특징을 잘 살린 가벼운 MVC Framework 이나, <acronym title="Hypertext Preprocessor">PHP</acronym> 4 까지만이다.</div>
</li>
<li>
<div><acronym title="Hypertext Preprocessor">PHP</acronym> 창시자인 Rasmus Lerdorf 가 <acronym title="Hypertext Preprocessor">PHP</acronym> Framework 사용을 반대하면서, 굳이 사용하려면 CodeIgniter 를 사용하라고 한 것은 <acronym title="Hypertext Preprocessor">PHP </acronym>Framework 를 아예 사용하지 말라는 것을 역설적으로 표현한 것은 아닐까 싶다. (지능적 안티)</div>
</li>
</ul>
</div>
<br /> Tagged: <a href='http://blog.fguy.com/tag/codeigniter/'>CodeIgniter</a>, <a href='http://blog.fguy.com/tag/mvc/'>MVC</a>, <a href='http://blog.fguy.com/tag/php/'>php</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fguyblog.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fguyblog.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fguyblog.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fguyblog.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fguyblog.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fguyblog.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fguyblog.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fguyblog.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fguyblog.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fguyblog.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fguyblog.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fguyblog.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fguyblog.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fguyblog.wordpress.com/61/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.fguy.com&amp;blog=13748523&amp;post=61&amp;subd=fguyblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.fguy.com/2010/02/05/codeigniter-%ec%82%b4%ed%8e%b4%eb%b3%b4%ea%b8%b0/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d10c905edc572a61b5206377c1a36c98?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">fguy79</media:title>
		</media:content>
	</item>
		<item>
		<title>스노보드를 타다가&#8230;</title>
		<link>http://blog.fguy.com/2009/12/13/%ec%8a%a4%eb%85%b8%eb%b3%b4%eb%93%9c%eb%a5%bc-%ed%83%80%eb%8b%a4%ea%b0%80/</link>
		<comments>http://blog.fguy.com/2009/12/13/%ec%8a%a4%eb%85%b8%eb%b3%b4%eb%93%9c%eb%a5%bc-%ed%83%80%eb%8b%a4%ea%b0%80/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 02:24:12 +0000</pubDate>
		<dc:creator>fguy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://fguy.krac.kr/2009/12/13/%ec%8a%a4%eb%85%b8%eb%b3%b4%eb%93%9c%eb%a5%bc-%ed%83%80%eb%8b%a4%ea%b0%80/</guid>
		<description><![CDATA[&#160; 올 시즌들어 처음으로 스키장에왔다. 오는 길에 정말로 많은 걱정을 하였는데 그 이유는 올초에 당한 큰 사고(손목 자뼈 노뼈 골절) 때문에 내가 과연 탈 수 있을까하는 걱정에서였다. 지금까지 총 7번 중급과 상급 슬로프를 내려오면서 한번도 넘어지지 않았다. 걱정에서 쏟은 노력이 아까우리만치&#8230;. &#160;올해로 3년째 스키장을 다니고 있는데(부상으로 2년간은 띄엄띄엄) 어떻게 내가 이만큼 탈 수 있었을지 생각해보았다. &#8230; <span class="more-link"><a href="http://blog.fguy.com/2009/12/13/%ec%8a%a4%eb%85%b8%eb%b3%b4%eb%93%9c%eb%a5%bc-%ed%83%80%eb%8b%a4%ea%b0%80/">계속 읽기 &#187;</a></span><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.fguy.com&amp;blog=13748523&amp;post=57&amp;subd=fguyblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&nbsp;<br />
올 시즌들어 처음으로 스키장에왔다. 오는 길에 정말로 많은 걱정을 하였는데 그 이유는 올초에 당한 큰 사고(손목 자뼈 노뼈 골절) 때문에 내가 과연 탈 수 있을까하는 걱정에서였다. <br />
지금까지 총 7번 중급과 상급 슬로프를 내려오면서 한번도 넘어지지 않았다. 걱정에서 쏟은 노력이 아까우리만치&#8230;.<br />
&nbsp;올해로 3년째 스키장을 다니고 있는데(부상으로 2년간은 띄엄띄엄)   어떻게 내가 이만큼 탈 수 있었을지 생각해보았다. 아마도 좋은 장비 때문은 아닐 것이다. 내가 가진 장비는 20만원이 채 안되는 가격에 데크, 바인딩, 부츠가 한세트이다.<br />
&nbsp;그 답은 바로 모든 넘어지는 법을 익혀서가 아닐까한다. 난 정말 지독히도 운동신경이 없어 다른 사람의 100배라고 해도 좋을만큼 넘어지고 또 넘어졌다.  그렇게 수련하면서 더 이상 넘어질 수단이 없을만큼 익힌것이다.<br />
&nbsp;이러한 경험은 비단 스노보드에서만은 아니다. 소프트웨어 개발에서도 우린 단단한 코드를 만들 수 있는 경지까지 이르려면 수많은 실패의 반복이 필수이다.<br />
&nbsp;TDD는 계속된 실패속에 답을 찾는 과정이다. 실패하는 코드를 먼저 작성하고 그것을 바르게 동작하도록 만드는 반복. 그 속에서 코드는 점점 견고해지는 것이고, 버그 없는 우수한 품질의 코드가 나오는 것이다. 다행히 TDD를 하는데는 스노보드를 연마하는 것처럼 고통을 수반하지는 않는다. <br />
&nbsp;아직 TDD를 시작하지 않았다면 이제라도 달리 생각해보자. 코드를 작성해나갈 수록 스노보드를 실수없이 타는 것만큼의 상쾌함을 느낄 수 있을 것이다.</p>
<p>- 곤지암리조트 슬로프 아래에서</p>
<p>
&lt;img src=&quot;<a href="http://fguy.krac.kr/files/1/" /></a>/cfile6.uf.2074EA144B24504B7537A6&#8243; /&gt;</p>
<p>
iPhone 에서 작성된 글입니다.</p>
<br /> Tagged: TDD <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fguyblog.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fguyblog.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fguyblog.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fguyblog.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fguyblog.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fguyblog.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fguyblog.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fguyblog.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fguyblog.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fguyblog.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fguyblog.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fguyblog.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fguyblog.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fguyblog.wordpress.com/57/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.fguy.com&amp;blog=13748523&amp;post=57&amp;subd=fguyblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.fguy.com/2009/12/13/%ec%8a%a4%eb%85%b8%eb%b3%b4%eb%93%9c%eb%a5%bc-%ed%83%80%eb%8b%a4%ea%b0%80/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d10c905edc572a61b5206377c1a36c98?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">fguy79</media:title>
		</media:content>
	</item>
		<item>
		<title>1분 경영을 읽고</title>
		<link>http://blog.fguy.com/2009/11/30/1%eb%b6%84-%ea%b2%bd%ec%98%81%ec%9d%84-%ec%9d%bd%ea%b3%a0/</link>
		<comments>http://blog.fguy.com/2009/11/30/1%eb%b6%84-%ea%b2%bd%ec%98%81%ec%9d%84-%ec%9d%bd%ea%b3%a0/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 07:30:33 +0000</pubDate>
		<dc:creator>fguy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[켄블렌차드]]></category>

		<guid isPermaLink="false">http://fguy.krac.kr/2009/11/30/1%eb%b6%84-%ea%b2%bd%ec%98%81%ec%9d%84-%ec%9d%bd%ea%b3%a0/</guid>
		<description><![CDATA[유능한 경영이란 무엇인지를 찾는 청년의 이야기를 통해 1분 경영의 방법을 전달 받을 수 있었다. &#8220;1분 경영&#8221;이란 1분이라는 상징적인 시간 만큼, 최소한의 노력으로 유능한 부하 직원의 능력을 신뢰하고 이를 최대한으로 이끌어 내는 경영방법을 말한다.나는 이 &#8220;1분 경영&#8221; 에 대해 찬사들로 가득차 있는 서평과 추천사와는 달리 조금은 비판적인 시각으로 접근해 보고자 한다. 책은 전반적으로 세 가지의 1분 &#8230; <span class="more-link"><a href="http://blog.fguy.com/2009/11/30/1%eb%b6%84-%ea%b2%bd%ec%98%81%ec%9d%84-%ec%9d%bd%ea%b3%a0/">계속 읽기 &#187;</a></span><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.fguy.com&amp;blog=13748523&amp;post=55&amp;subd=fguyblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://books.google.co.kr/books?id=3EmDMwAACAAJ&amp;dq=1%EB%B6%84%EA%B2%BD%EC%98%81&amp;ei=VXQTS-4GnIyQBO718IwM" target="_blank"><img src="http://fguyblog.files.wordpress.com/2009/11/4b1373f38794fex.jpeg?w=270&#038;h=400" class="aligncenter" width="270" height="400" alt="사용자 삽입 이미지" /></a><br />유능한 경영이란 무엇인지를 찾는 청년의 이야기를 통해 1분 경영의 방법을 전달 받을 수 있었다. &#8220;1분 경영&#8221;이란 1분이라는 상징적인 시간 만큼, 최소한의 노력으로 유능한 부하 직원의 능력을 신뢰하고 이를 최대한으로 이끌어 내는 경영방법을 말한다.<br />나는 이 &#8220;1분 경영&#8221; 에 대해 찬사들로 가득차 있는 서평과 추천사와는 달리 조금은 비판적인 시각으로 접근해 보고자 한다. 책은 전반적으로 세 가지의 1분 비법으로 존경 받는 상사가 되는 법에 대해 서술하고 있다. 세가지 비법이란 1분 목표, 1분 칭찬, 1분 질책을 말한다. <br />먼저 &#8220;1분 목표&#8221;의 내용 자체는 매우 훌륭해 보인다. 실행 가능한 단순 명료한 목표설정에 대해서는 전혀 이견이 없다. 관리자는 부하직원이 스스로 목표를 정할 수 있게끔 이끌어 주는 역할만 가지는 점도 좋다. 아마도 책의 내용을 단순화 하기 위하여 언급하지 않았겠지만, 아쉬운 부분이 몇가지 있다. <br />첫째로 목표에 대한 가변성이다. 목표 자체는 업무의 방향성을 갖게해주는 목적이기때문에 가급적 변하지 않는 것이 중요하겠지만, 21세기 비지니스의 대부분이 시장상황에 따라 매우 유동적이기 때문에 이것에 대한 배려가 아쉽다. 그 다음은 목표 설정에서 팀에 관한 내용이다. 개인의 목표 설정도 물론 중요하지만, 개인의 한계를 초월하는 팀플레이에 대한 목표는 팀 구성원간의 협의가 반드시 필요하기 때문이다.<br />&#8220;1분 칭찬&#8221;과 &#8220;1분 질책&#8221;은 비록 두가지로 나뉘어 있지만, 의도하는 바는 동일하다고 생각한다. 업무 태도에 대한 평가가 즉각 이루어짐으로서 부하직원이 목표를 달성하는 데 있어 진심으로 격려하는 것이다. 나는 다시 한 번 팀의 관점에서 생각해보게 되는 데, 이는 팀 단위의 회고에서 이루어지는 것이 어떨까 한다. 관리자가 의견을 전달하는 것도 도움이 되겠지만, 팀 전체의 의견은 보다 입체적이고 객관적일 수 있기 때문이다. <br />이 책은 주로 관리자의 입장에서 쓰여져 있다. (본문에서도 언급되어 있듯이 manager는 경영자이기도 하나 관리자라는 의미도 있다. 실은 관리자라는 의미가 맞을 테지만, 아마도 흥행을 위해 경영이라는 억지 번역을 넣은 것 같다.) 우리 회사에서 나에게 이 책을 권한 것은 세월의 흐름에도 변함없는 진리가 담겨 있기 때문일텐데, 그럼에도 불구하고 약간의 부족한 부분이 보였다. 타사 입사시 비슷한 목적으로 교부 받아 읽게 되었던 동 저자의 &#8220;겅호!&#8221;나 &#8220;펄떡이는 물고기처럼&#8221;에서 그 부분에 대해 알고 있었으므로, 결과적으로 나에게는 큰 도움이 되었다.<br />1분 경영에서는 유능한 직원이 제 능력을 발휘하기 위해 관리자의 간섭을 최소화하자는 의도가 보이는 데, 실은 이러한 것들을 극단적으로 경험해 본 적이 있다. 나는 아예 상하관계가 전혀 없는 조직에서 일해 본 적이 있다. 관리자의 역할이 거의 없었음에도 불구하고, 많은 성공을 이룰 수 있었던 원동력은 유능한 동료 간의 협력이 부족함을 채우고도 남을 정도였기 때문이다. 최근 많은 회사에서 수평조직문화 체계를 도입하고 있는데, 1분경영에서 얻을 수 있는 자기 관리를 위한 프랙티스는 이러한 조직에서도 유효할 정도로 유용해 보인다.</p>
<br /> Tagged: 켄블렌차드 <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fguyblog.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fguyblog.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fguyblog.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fguyblog.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fguyblog.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fguyblog.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fguyblog.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fguyblog.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fguyblog.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fguyblog.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fguyblog.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fguyblog.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fguyblog.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fguyblog.wordpress.com/55/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.fguy.com&amp;blog=13748523&amp;post=55&amp;subd=fguyblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.fguy.com/2009/11/30/1%eb%b6%84-%ea%b2%bd%ec%98%81%ec%9d%84-%ec%9d%bd%ea%b3%a0/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d10c905edc572a61b5206377c1a36c98?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">fguy79</media:title>
		</media:content>

		<media:content url="http://fguyblog.files.wordpress.com/2009/11/4b1373f38794fex.jpeg" medium="image">
			<media:title type="html">사용자 삽입 이미지</media:title>
		</media:content>
	</item>
		<item>
		<title>프로그래머가 되기까지&#8230;</title>
		<link>http://blog.fguy.com/2009/10/07/%ed%94%84%eb%a1%9c%ea%b7%b8%eb%9e%98%eb%a8%b8%ea%b0%80-%eb%90%98%ea%b8%b0%ea%b9%8c%ec%a7%80/</link>
		<comments>http://blog.fguy.com/2009/10/07/%ed%94%84%eb%a1%9c%ea%b7%b8%eb%9e%98%eb%a8%b8%ea%b0%80-%eb%90%98%ea%b8%b0%ea%b9%8c%ec%a7%80/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 04:51:00 +0000</pubDate>
		<dc:creator>fguy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[인생]]></category>

		<guid isPermaLink="false">http://fguy.krac.kr/2009/10/07/%ed%94%84%eb%a1%9c%ea%b7%b8%eb%9e%98%eb%a8%b8%ea%b0%80-%eb%90%98%ea%b8%b0%ea%b9%8c%ec%a7%80/</guid>
		<description><![CDATA[취직 2000년 3월. 나는 이제 막 3학년이 된 대학생이다. 실업계 고등학교를 중간 정도 성적으로 출석일수가 모자라 간신히&#160; 졸업한 것 치곤, 비록 명문은 아니지만 4년제 대학교에 진학한 것을 다행이라 여기며 재학중이다. 그런데, 지금 상황이 좋지 않다. 직전 학기에는 한과목을 제외하곤 모두 F 학점을 받아 학사경고를 받았고, 수강신청은 했지만 등록금을 마련하지 못해서 수일 내로 등록을 하지 못하면, &#8230; <span class="more-link"><a href="http://blog.fguy.com/2009/10/07/%ed%94%84%eb%a1%9c%ea%b7%b8%eb%9e%98%eb%a8%b8%ea%b0%80-%eb%90%98%ea%b8%b0%ea%b9%8c%ec%a7%80/">계속 읽기 &#187;</a></span><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.fguy.com&amp;blog=13748523&amp;post=52&amp;subd=fguyblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="font-weight:bold;">취직</span></p>
<p>2000년 3월. <br />
 나는 이제 막 3학년이 된  대학생이다. 실업계 고등학교를 중간 정도 성적으로 출석일수가 모자라 간신히&nbsp; 졸업한 것 치곤, 비록 명문은 아니지만 4년제 대학교에 진학한 것을 다행이라 여기며 재학중이다. 그런데, 지금 상황이 좋지 않다. 직전 학기에는 한과목을 제외하곤 모두 F 학점을 받아 학사경고를 받았고, 수강신청은 했지만 등록금을 마련하지 못해서 수일 내로 등록을 하지 못하면, 이번 학기는 휴학을 해야 할 판이다. 하지만, 그간 학비로 사용하기 위해 이미 대학생 신분으로 대출 할 수 있는 한도까지 모두 끌어쓴 상황이다. 군대를 갈까도 생각 중이지만, 가출한 동생과 사업 부도로 고생하시는 아버지를 생각하면 그 것도 내키지 않는다. 아버지는 며칠째 집에 안들어오시고, 차비가 없어 집밖으로 나가지 못하고 있다. 배가 많이 고프지만 먹을 것이 없어, 이 곳, 50년도 더 된 남부민동 달동네 슬레이트 지붕 밑에서 몇 시간째 누워 있는 건지도 모를 만큼 멍하니 천장만 바라보고 있다. 낮이 지나고 잠 못드는 밤이 지나 다시 아침&#8230; 핸드폰이 울린다. 핸드폰 요금이 연체된 지 꽤 됐는데 아직은 안끊겼나 보다. </p>
<p> &#8220;여보세요?&#8221;<br />
 &#8220;안녕하세요. 중앙정보기술의 김성수 이사라고 합니다.&#8221;</p>
<p>중앙정보기술? 국가기관인가? 나한테 왜 전화한 걸까&#8230;</p>
<p> &#8220;이번에 우리 회사에서 자바로 채팅 서비스를 만드는데, 아르바이트 해 볼 생각 없으신가 해서 전화드렸어요.&#8221;</p>
<p>회사였군. 그런데, 난 넷츠고에서 채팅을 해본적은 있어도 그걸 어떻게 만드는지는 전혀 아는바가 없었으며 프로그래밍이라곤 학교에서 C언어를 해본게 전부였다. C언어의 학점은 C0를 받았고 아마 내가 최하점이었을거다. 자바라면 HTML에 들어가는 자바(당시엔 자바스크립트와 자바가 다른 것인지 몰랐다.)를 복사해서 붙여넣기 해본 적이 있는 경험이 다였다.</p>
<p> &#8220;저&#8230; 죄송한데, 저 그런거 할 줄 모릅니다.&#8221;<br />
 &#8220;제가 강태훈씨 홈페이지를 봤는데 충분히 하실 수 있습니다. 단도직입적으로 말씀드리죠. 300만원 정도 드릴테니 한 번 해봅시다. 섭섭지 않은 금액일겁니다.&#8221;</p>
<p>그렇다. 300만원은 큰 돈이고, 난 무척이나 돈이 필요하고 무조건해야 할 것 같다. 홈페이지라면 1학년 2학기에 수업을 들으며 과제로 만들어 둔 개인신상에 관한 홈페이지 (야후에 사이트 등록)인데.. 거기에 적어둔 전화번호를 보고 연락한 것이었구나.</p>
<p> &#8220;네. 그럼 해보겠습니다.&#8221;<br />
 &#8220;그럼, 내일 오전 10시에 엄궁에 있는 부산벤처빌딩 207호에서 보겠습니다.&#8221;</p>
<p>통화는 3분도 안걸렸고, 난 돈 벌 기쁨을 만끽하기도 전에 피곤해서 잠이 들었다. 저녁 늦게 깨서 긴장한 탓에 또 밤을 샜고, 옆집에 사는 동생에게 차비를 빌려 집을 나섰다. 외진 곳에 있어 찾긴 힘들었지만 제 시간보다 30분 정도는 일찍 도착해 입구를 서성였는데, 안경을 끼고 노인과 같은 인상의 경비쯤으로 보이는 아저씨가 나에게 말을 건냈다. 자신은 이 곳에 면접을 보러 온 사람인데 혹시 나도 그러하냐고 물었다. 이 아저씨는 나보다 다섯 살이 많은 이봉호씨. 일종의 면접은 한달정도 작업할 채팅사이트에 대한 개요만 듣고 별다른 질문 없이 통과하였고, 우린 다음주부터 출근하기로 하였다. 봉호씨는 정규직으로, 나는 아르바이트로&#8230;</p>
<p>2000년 3월 27일. 첫 출근 날이다. 회사의 사정으로 채팅 건은 물건너 가게 되어, 이왕 이렇게 된 것 입사하는 것이 어떠냐는 제안을 받았다. 월급 50만원의 계약서를 보고 당황했다. 금액이 적어서가 아니라 등록금을 해결해 줄 수 있는 300만원의 금액은 아니었기 때문이다. 사장님께 상황을 설명 드렸더니, 파격적인 제안이 들어왔다. 이번 학기 등록금을 내줄테니 당장 계약서에 사인하라는&#8230; 얼떨결이었지만, 너무나 기뻤고 그간의 괴로움은 한번에 아주 작은 기억으로 사라져버렸다.<br />
고용계약서를 작성하고, 곧바로 학교로 향했다. 직장생활을 하려면 휴학을 해야 되기 때문이다. 담당 교수님이신 손영선 교수님께 취직이 되었으니 휴학을 부탁한다고 말씀드리니, 너같은 꼴통이 무슨 취직이냐. 지금 사기당하는 것 아니냐. 라는 반응이었지만, 휴학계를 제출하고 왔다.<br />
이렇게 해서 인원 10여명정도의 작은 회사인 중앙정보기술에서 나의 직장 생활은 시작되었다.</p>
<p><span style="font-weight:bold;">서울로&#8230;<br />
<span style="font-weight:bold;"></p>
<p></span></span>입사는 했지만 아무것도 할 줄 아는 것이 없었다. 어디서 시작해야 할 지 감 조차 잡을 수 없었다.나보다 3개월정도 먼저 입사한 정원희(현. 유엔젤 과장), 김두성씨가 나에게 객체지향과 소프트웨어 공학 그리고 자바에 대해서 알려주려고 한달 정도 시도했지만, 기초가 전혀 없던 나에게는 무리였기에 결국 포기하고 나는 HTML 만 맡기로 하였다. <br />
입사 한 지 1개월쯤 지나, 나와 원희씨, 두성씨, 디자이너인 전성현(훗날 NHN 동료)씨, 최대리, 전병관대리, 박연석 과장은 한달 계획으로 서울사무실로 출장을 가게 된다. <br />
공군 KTX 전자교범 시안을 제작하기 위해서 간 것으로 기억되는데, 지금 생각해보면 굳이 서울로 갈 필요는 없었지 싶다. 아마도 회사 입장에서 투자를 유치하기 위해 서울에 사무실을 두는 것이 유리해서 였을 것이다. <br />
 중앙정보기술 서울 사무실의 위치는 삼성동 테헤란로에 있는 대종빌딩 (포스코센터 맞은편)이었다. 앞에는 마이크로소프트와 드림위즈, 뒤로는 오라클, 컴팩 이 있는 닷컴붐의 중심지였던 것이다. 그 전까지 그저 등록금에 만족하고, 50만원 소득의 감동에 젖어 있었던 나는 이 곳에 있다는 사실만으로, 테헤란로에서 살아남고 싶다는 꿈을 가지게 된다. 비록 퇴근 후에는 8명이 10평남짓의 지하 원룸에서 합숙하고 있는 동남아 노동자 수준의 생활을 하고 있었지만&#8230;</p>
<div class="wp-caption aligncenter" style="width: 244px"><img src="http://fguyblog.files.wordpress.com/2009/10/cfile23-uf-1247c11f4acc2910530837.jpg?w=234&#038;h=204" width="234" height="204" alt="" /><p class="wp-caption-text">브레인업그레이드 </p></div>
<p>KTX 전자교범 시안은 결국 제안이 탈락해서 진행할 수 없게 되었고,&nbsp; Brain Upgrade라고 이름 붙여진 새로운 프로젝트를 진행하기 위해 출장을 연기하였고, 이후로 퇴사일까지 서울에 머물게 되었다. 이 프로젝트는 당시 유행처럼 번지던 KMS (Knowledge Management Service) 를 ASP (Application Service Provider)로 제공하는 것이 목적이었는데, 우리는 특이하게 Web OS 형태의 UI로 서비스하려고 계획했다. 나는 여기서 바로 이 Web OS UI 를 구현하는 것을 맡았다. 지금에서 고백하는 데 이 UI는 webos.com 의 것을 거의 그대로 베낀 것이었다. JScript 와 HTC, CSS의 조합이었는데 현재의 Ajax 웹서비스와 비슷한 컨셉이었다. 이때의 경험이 현재까지도 나를 Java Script 전문가 (Lycos, USA 의 Leo. Shin 님께서 인정)로 유지시켜 주고 있다. 당시에는 내가 하고 있는 일이 얼마나 고난이도의 것인지를 알지 못하고, 그저 다른 사람들이 JSP로 서버사이드의 구현을 하는 것을 동경했었다. <br />
 아직 시장에 출시되진 않았지만 그 해 8월, 바른손 그룹에서 이 프로젝트의 가능성을 높이 사서 우리 회사는 대단한 규모의 펀딩을 받게 된다. <br />
 이후, 사명을 센트럴에스티(Central System Technology, 결국 중앙정보기술의 영문 버전 정도)로 개명하고 사무실은 좀 더 큰 곳인 바로 옆의 본솔빌딩 (이곳은 포스코 센터와 더 정면으로 맞은편)으로 옮기게 되었고 직원 수는 이후 200여명 까지 늘어나게 되었으며, 나는 연봉이 4배 정도까지 오르게 되었다. 그리고 이 시기에 지금의 와이프를 만났다.</p>
<p><div class="wp-caption aligncenter" style="width: 220px"><img src="http://fguyblog.files.wordpress.com/2009/10/4acc196b6fbc6d1.jpg?w=210&#038;h=172" width="210" height="172" alt="이두만" /><p class="wp-caption-text">센트럴에스티의 이두만 사장(오른쪽)</p></div><br />
 그렇지만, 경영진의 판단으로 브레인업그레이드는 시장에 출시하지 않고 사업을 다각화하다가 2001년 말쯤엔 투자금을 모두 날려버리고, 나는 약 3개월 동안 월급을 받지 못하다가 결국 회사를 떠나게 되었다.</p>
<p><span style="font-weight:bold;">어헤드모바일</span></p>
<p> 내 월급 중 내 생활비를 제한 대부분은 대출금을 갚고, 가족의 생활비로 쓰였기에 저축해 둔 돈이 전혀 없어서 임금 체불은 치명적이었다. 차비가 없어서 능동 자취집에서 회사까지 걸어가기도 하였으며, 점심값이 없어 매일 삼각김밥과 컵라면만 원희씨에게 얻어먹고 있었다.&nbsp; 아버지가 부산에서 사고를 당해 큰 수술을 할 때도 찾아갈 수 없었을 정도. </p>
<p> 결국 버틸 수 없어 이직을 결심하였다. 출근하여 신문을 펼쳤는데, 조선일보인터넷 대상 수상작들에 대한 내용이 있었다. 모바일 인터넷 부문 대상을 수상한것이 &#8220;어헤드모바일&#8221;의 &#8220;친구찾기&#8221;서비스였다. 당시 모바일 인터넷이라는 것이 웹 이후의 트렌드로 부상하고 있었기에 이것이구나 싶었다. 닷컴버블이 한창일 시기였기 때문에 더 좋은 대우로 갈 수 있는 곳이 있었으나 (프리챌에서도 러브콜이 있었다.), 나는 도전을 택하기로 했다. (그리고, 그동안 바로 앞에 있으면서 동경해온 포스코 센터에서 일하고 싶은 마음도 컸다.)<br />
 LBS(Location Based Service, 위치기반 서비스) 중심의 회사였기 때문에 나는 그것을 할 수 있을 것이라 생각했으나, 기대와는 달리 첫 프로젝트로 LG텔레콤의 VOC (Voices of Customer)를 맡게 된다. 당시 어헤드모바일의 대표였던 이양동 사장은 LG인터넷의 CEO이기도 했기 때문에 LG텔레콤과 특수관계에 있어 이러한 프로젝트를 얻게 되었다. ASP 와 MS-SQL 기반의 웹 사이트를 개발하는 것이었는데, taeyo 사이트의 도움으로 간신히 모양은 갖출 수 있었다. </p>
<p>&nbsp;이후에도 LBS가 아닌 VOC와 비슷한 성격인 LG 텔레콤의 CSR이라는 프로젝트를 맡았다. 이번에는 LG텔레콤 사무실에 상주하며 개발하며, 좀 더 강도 높은 기술 수준이 요구되었는데, 기존의 아주 느린 오라클 기반 서비스를 개선해야 하는 것이었다. 사실 DB 모델링을 정식으로 해본 것은 그때가 처음이었는데, 센트럴에스티에서 다른 동료들이 ER-Win을 사용하는 것을 곁눈질 한 적이 있어, 그 때의 프랙티스를 적용해보았다. 그저 그런 수준의 정규화만 는데도 결과는 대성공이었다. 4~5초 걸리던 조회는 0.0x 초 대에 해결이 되었고, 이 일을 계기로 나는 어헤드모바일에서 두터운 신뢰를 얻게 되었다. 그 신뢰가 어느 정도 였냐면 내가 추천한 지인들이 있는데, 강혜진(고등학교 선배. 대학교 동기. 현. LG데이콤 대리)씨는 무면접으로 통과, 센트럴에스티에서 좀 더 고생하시던 정원희씨 또한 별다른 절차 없이 입사할 정도 였으며, CSR 프로젝트가 완료된 시점에서 사장님이 전직원을 모아두고, 앞으로 몇달치 월급은 강태훈씨가 벌어준 것이라며 축하해주기도 하였다.<br />
 원희씨는 이 때도 새로운 기술에 대해서 공유하고, 또 내가 부족한 지식들에 대해 힌트를 주는 등 나에게 많은 도움을 주었는데, 지금 돌이켜보면 센트럴에스티의 동료들은 드림팀이라고 할 수 있을 정도로 기본적인<br />
기술 수준과 배움에서 아주 뛰어났던 것 같다. 그저 그들과 함께 했던 것만으로도 나는 성공을 경험했으니&#8230;</p>
<p>&nbsp;<br />
 CSR 프로젝트에서는 어두운 면도 있었는데, 바로 나의 경력을 속이고 일을 했던 것이다. 얼마 지나지 않아 LG텔레콤 직원에게 아직 학교를 졸업하지 않았음이 들통났을 때는 심한 소리를 듣기도 하였으며, 고졸, 전문대 출신들이 차별 받는 것을 목격하면서 대기업에서 학력의 벽이 얼마나 큰 지 실감할 수 있었다. <br />&nbsp;결국 나는 그간 간과했던 학사 학위라는 것의 중요성을 깨닫고, 최대한 빨리 졸업을 하기로 마음먹었다. 우리 학교는 산업대학교였기에 산업대학교간 전학이 자유로웠다. 서울산업대로 전학을 하려고 했는데 마침 그 학기 부터 주간학생이 야간으로 전학이 안되는 규정 때문에 계획은 실행할 수 없게 됐다. 주간으로 학교를 다니게 되면 생활비를 감당할 수가 없으니까&#8230;<br />&nbsp;<br /><span style="font-weight:bold;">부산으로&#8230;</p>
<p></span>&nbsp;병역특례로 일하던 나는 LG텔레콤에서 불법파견 근무가 적발되어 이직을 명령 받게 된다. 이것이 기회다 싶어 2002년<br />
2학기가 시작한 지 조금 지나 복학을 하였다. 이직 기간으로 6개월이라는 여유가 주어지기 때문에 그동안<br />
한학기라도 마치며 부산에서 직장을 구할 생각이었다. </p>
<p>&nbsp;부산으로 향하게 된 더 큰 이유가 있는데, 몇달 전에 어릴 적에 경제적인 이유 때문에 떨어져 사시던 어머니가 돌아가시게 되었다. 어릴 적도, 또 당시까지도 무척이나 어렵게 살아왔지만 나를 잡아주었던 버팀목이 되주었던 어머니이다. 우리가 가난해서, 또 희망이 없어서 우릴 떠난 어머니에게 부끄럽지 않은 모습으로 당당히 성장한 나의 모습을 보여주며 당신의 품으로 돌아가리라고 마음 먹고 있었고, 이젠 그 모습에 다가갔다 생각 했을 때 쯤 세상을 떠나셨기에 나의 상실감은 이루 말할 수 없을 정도 였다. 나중에 안 사실인데 어머니 또한 경제적으로 기반을 다지신 뒤에 우리를 찾기 위해 식당 잡부에서 식당 주인이 되기까지 밤낮없이 일하셨다고 한다. 돌아가신 시점이 이제 막 어머니의 식당을 갖게 되어 개업하기 직전이었다. 그리고 동생과는 연락이 막 닿았고 나의 행방도 수소문하고 계셨고&#8230; 이러한 일을 겪었기에 남은 가족들의 소중함을 되새기며 그들과 함께하기 위해 부산행에 힘을 실었다.</p>
<p>&nbsp;3년의 직장 생활을 거치면서 외형적으로는 많은 성장을 하였지만, 내가 느끼기에 달라진 것은 거의 없었다. 여전히 머릿속은<br />
텅비어있고, 첫걸음때 처럼 남에게 의지하고, 스스로는 아무 것도 하지 못하며, 그저 운이 정말로 좋았고 치부를 들키지 않으며,<br />
살얼음판을 걷듯이 간신히 살아남을 수 있었을 뿐이었다.</p>
<p>&nbsp;복학한 학교는 신세계였다. 1, 2학년을 지나는 동안 열등생으로서 F학점을 면하는 정도에 만족하던 내가 별다른 노력 없이도 수업을 따라 갈 수 있다는 것에 놀랐다. 직장 생활을 하는 동안 그 때 그 때 위기를 면하기 위해 주워 듣고 익힌 것들이 이론적으로도 뒤떨어지는 것이 없다는 사실에 고무되었고, 내 인생의 키워드라 할 수 있는 &#8220;자신감&#8221;을 이 시기에 처음으로 만날 수 있게 되었다. 물론 내가 잘할 수 있는 과목(데이터베이스, Unix, Java 등)만 선택한 것이 작용했겠지만&#8230;</p>
<p>&nbsp;그렇게 한 학기를 마치고 겨울이 지나고 다시 봄이 오려고 하는 무렵. 아직 이직할 곳을 찾지 못했다. 서울과 부산은 나 같은 일을 하는 사람에겐 너무나 다른 환경이었다. 서울이 기회의 땅이라명 부산은 황야라고나 할까&#8230; 어딜가도 월급 100만원 이상 주겠다는 곳은 없었고, 심지어는 병역특례니까 무임금으로 일해 달라는 곳도 있었다. 그래도 계산해 보니 월급 100만원이면 학비와 생활비 정도는 감당될 것 같아 이직 만료 시한 막바지에 아슬아슬하게 부산 대연동 남구청 앞 얼핏 보면 빌라 주택같은 3층 건물에 위치한&nbsp; &#8220;애드뱅크&#8221;라는 곳을 선택했다. </p>
<p><span style="font-weight:bold;">애드뱅크</span></p>
<p>&nbsp;애드뱅크가 하는 일은 홈페이지 구축이었다. 출판물 디자인에서 출발한 회사로 인터넷 사업을 본격화한지는 얼마안 된 아주 자그마한 회사. 너무나도 가족적인 분위기에 감탄했는데, 정말로 가족이 운영하는 회사라는 건 조금 지나서 알게 되었다. 입사 면접 시에 보통 회사 와는 다른 전형 절차가 하나 있었는데,&nbsp; 건물 한층 아래 맥주 집에서 취중면접을 하는 것이었다. 그만큼 회사가 인간적인 면모에 가치를 두었다.<br />&nbsp;나는 여기서 처음으로 내가 일을 주도하는 경험을 하게 된다. 프로그래머가 2~3명이긴 했지만 각자 맡는 일이 달랐기 때문에 개인에 주어진 프로젝트에서 프로그래밍 부문은 모두 전담해야 했기 때문이다. 그리고 프로그래머 수가 적었기 때문에 기술 전문가로서 협상에 참가할 수 있는 기회도 주어졌는데, 이 또한 다른 곳에선 할 수 없었던 경험이었다.<br />&nbsp;앞서의 회사에서 한 일들에 비하면 사소할 수도 있지만, 내가 주도권을 쥐고 다양한 시도와 개선을 할 수 있었던 점은 아주 값진 것이었고 훗날의 내 모습에 많은 변화를 가져다 준 계기가 되었다.<br />&nbsp;2004년 3월 20일 병역특례 복무만료가 되면서 회사를 떠나기로 하였다. 애드뱅크의 사장님은 나에게 박사학위까지의 학자금 지원과 연봉 250%인상등의 좋은 조건을 제시해주셨으나, 작은 현실에 만족하기엔 내 열정의 그릇에 맞지 않았기에 인사를 건내게 되었다.<br />&nbsp;애드뱅크를 맘편히 떠날 수 있었던 것은 재직 중 입사한 윤일(Ray yoon, 현. Yahoo!)씨가 프로그래머로서 굉장히 뛰어난 역량을 가지고 있었기 때문에 별 걱정없이 떠날 수 있었다.<br />&nbsp;윤일씨는 이후에도 계속 연락을 유지하며 지내고 있고, 신기술에 대한 얼리어댑터로서 본받을 점이 많은 분이다.&nbsp; 이야기하는 김에, 애드뱅크에서 만난 한영훈(현. NHN)씨도 열정으로 가득찬 모습으로 나를 자극하고 감동받게 해주었던 기억을 전한다. 이전에 성인물을 다루는 음지의 회사에서 양심적으로 일하기로 마음먹고 좋지 않은 조건에도 몸을 사리지 않으며 수많은 프로젝트를 초인적으로 소화했다.<br />&nbsp;그리고 나는 애드뱅크에 재직하는 동안에는 아무도 모르게 (그만큼 회사 일에 소홀하지 않았다는 이야기) 야간에 수업을 들어서, 퇴사 후에는 마지막 학기를 맞이할 수 있었다.</p>
<p><span style="font-weight:bold;">다음커뮤니케이션</span></p>
<p>&nbsp;지금까지 조금 지루한 과거사였다면, 이제부터가 나의 프로그래머서의 인생이 본격적으로 시작되는 시점이다. </p>
<p>&nbsp;마지막 학기는 몇학점 남겨놓지 않은 상황이고 졸업논문은 이미 다 써두었기 때문에 학기가 끝나는 시기에 맞추어 취직하고자 마음먹었다. 어헤드모바일로 다시 돌아갈까 하는 생각도 해보았지만, 재직중인 직원분으로부터 분위기가 좋지 않다라는 이야기를 듣고, 이왕 이렇게 된 것 신입의 마음으로 넓게 생각하고 다양하게 도전 해보고자 계획했다. 마침 대기업의 공채도 활발하고 해서 나는 여러 군데 입사지원을 하기로 한다. </p>
<p>&nbsp;대기업의 필수 조건은 토익이라고 해서 마음먹은 즉시 원서를 접수했는데, 이전의 모의고사에서 300점도 안되는 점수가 나왔기 때문에 첫시험에서 별다른 기대를 하지 않다가 정확히 600점이라는 점수를 받고서 대기업 지원의 자신감을 갖게 되었다. (당시 대부분 회사는 토익 점수 600점이 커트라인)</p>
<p>&nbsp;내가 신입/경력 가리지 않고, 입사 원서를 넣은 곳은 1,000곳 정도 될 것이다. 국내에서 이름 들어보았을 모든 회사에는 빼놓지 않고 모두 지원했다. 그 결과, 서울에서 면접을 보기 위해 부산에서 서울까지 KTX 기차와 고속버스를 몇번을 탔는지도, 찜질방에서 며칠을 보냈는지도 기억나지 않을 만큼 많은 곳에 면접을 볼 수 있었다. 심지어는 하루에 4군데 면접을 보기도 했을만큼&#8230;</p>
<p>&nbsp;하지만&nbsp; 합격한 곳은 단 두 곳. 먼저 발표 난 곳이 LG 전자였다. 여의도의 쌍둥이 빌딩에서 홈오토매이션 분야에서  일할 수 있는 기회였는데,  합격 소식을 전해들은 우리과 권순량 교수님께서는 만약 LG전자에 입사하면 학교 입구에 플래카드를 걸어주겠다는 약속까지 해주셨다. </p>
<p>&nbsp;그렇지만 아시다시피, 결국 난 다음커뮤니케이션을 선택하게 되었다. 그동안 웹 관련 분야에 종사해오면서 (적어도 내가 보기엔) 그 분야에서 기술적으로 다음이 가장 앞서 있었기에 동경해 왔고 , &#8220;즐겁게 세상을 변화시키자!&#8221; 라는 목표아래 즐겁게 일할 수 있는 다음이 나에게 더 맞을 것이라 생각되어 그런 결정을 내리게 되었다. 이 회사에 합격한 것은 그야말로 행운이었는데, 앞서도 여러번 이야기 했듯이 나는 정말 평균이하의 실력을 가진 둔재였기 때문이다.</p>
<p>&nbsp;서류 통과를 의아하게 생각하며, 면접을 보기 위해 역삼동 데이콤빌딩에 있는 다음커뮤니케이션을 찾았다. 말끔한 대기실에 앉아 음료수를 마시며 면접관을 기다는 중, 앞에 있는 다음검색엔진 제품 포스터를 보고 있었다. 당시 검색엔진은 독일기술의 &#8220;파이어볼&#8221; 이라는 제품이었는데, 속으로 &#8220;검색엔진 이름이 파이어볼? 불&#8230;..알? 하하..&#8221; 하며 깔깔대고 있던 차에 면접관이 와서 당황한 나를 맞이한 건 유지형 팀장님. 면접실로 이동하여, 전형을 시작했다. 시험을 볼 것이란 얘긴 없었는데, 갑자기 시작하겠다며, 문제지를 꺼내는 지형님 (다음은 수평조직문화를 가지기 때문에 이름+님 의 호칭으로 부른다.). 조금은 당황하였지만, 그래도 짧으나마 경력도 있고, 전공자이기 때문에 어렵지 않게 통과할 것이라 예상했다. 문제는 자바 기초에 관한 것이 대부분이었는데, 예를 들면, 추상클래스와 인터페이스의 차이, syncronized 키워드, thread 에 관한 것들 등. 분명히 다 배웠던 것이고, 2001년에 SCJP자격증(이것도 행운)도 땄음에도 불구하고 내가 받은 점수는 &#8220;0&#8243; 점이었다. 단 한문제도 풀지 못한 것이다. </p>
<p>&nbsp;당연히 떨어진 줄 알았는데, 합격이라니&#8230; 아직도 내가 왜 합격하게 됐는지 모른다. 지형님께 어렵게 물어봤는데, 그저 열심히 하라는 말씀만 해주셨다. 후에 보게된 드라마 &#8220;신입사원&#8221;에서 얼마나 공감을 느꼈는지&#8230;. </p>
<p>&nbsp;무언가 오류가 있었을 지도 모르지만, 난 기회를 놓치지 않으려고 지금까지의 나와는 180도 달라진다. </p>
<br /> Tagged: 인생 <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fguyblog.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fguyblog.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fguyblog.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fguyblog.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fguyblog.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fguyblog.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fguyblog.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fguyblog.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fguyblog.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fguyblog.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fguyblog.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fguyblog.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fguyblog.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fguyblog.wordpress.com/52/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.fguy.com&amp;blog=13748523&amp;post=52&amp;subd=fguyblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.fguy.com/2009/10/07/%ed%94%84%eb%a1%9c%ea%b7%b8%eb%9e%98%eb%a8%b8%ea%b0%80-%eb%90%98%ea%b8%b0%ea%b9%8c%ec%a7%80/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d10c905edc572a61b5206377c1a36c98?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">fguy79</media:title>
		</media:content>

		<media:content url="http://fguyblog.files.wordpress.com/2009/10/cfile23-uf-1247c11f4acc2910530837.jpg" medium="image" />

		<media:content url="http://fguyblog.files.wordpress.com/2009/10/4acc196b6fbc6d1.jpg" medium="image">
			<media:title type="html">이두만</media:title>
		</media:content>
	</item>
		<item>
		<title>켄트 벡과의 만남</title>
		<link>http://blog.fguy.com/2009/09/03/%ec%bc%84%ed%8a%b8-%eb%b2%a1%ea%b3%bc%ec%9d%98-%eb%a7%8c%eb%82%a8/</link>
		<comments>http://blog.fguy.com/2009/09/03/%ec%bc%84%ed%8a%b8-%eb%b2%a1%ea%b3%bc%ec%9d%98-%eb%a7%8c%eb%82%a8/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 17:21:25 +0000</pubDate>
		<dc:creator>fguy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Cynthia Andres]]></category>
		<category><![CDATA[Kent Beck]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[XPer]]></category>

		<guid isPermaLink="false">http://fguy.krac.kr/2009/09/03/%ec%bc%84%ed%8a%b8-%eb%b2%a1%ea%b3%bc%ec%9d%98-%eb%a7%8c%eb%82%a8/</guid>
		<description><![CDATA[지난 수요일 저녁 8시에 강남역에서 xper에서 마련한 켄트벡과의 자리에 참가하게 되었다. 평소 xper news group 에서 많은 것을 얻고 있지만, 적극적으로 참여하지는 않았기에 이런 모임이 다소 어색하기도 했지만, 켄트벡을 만난다는 기대에 이내 즐거움으로 바뀌었다. &#160;8시를 막 넘긴 시간, 켄트벡과 창준님 그리고 켄트벡의 가족들 (신시아 안드레스, 조조, 린지, 포레스트)이 룸으로 들어왔다. 특별히, 신시아 안드레스(신디)는 Extreme Programming &#8230; <span class="more-link"><a href="http://blog.fguy.com/2009/09/03/%ec%bc%84%ed%8a%b8-%eb%b2%a1%ea%b3%bc%ec%9d%98-%eb%a7%8c%eb%82%a8/">계속 읽기 &#187;</a></span><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.fguy.com&amp;blog=13748523&amp;post=49&amp;subd=fguyblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>지난 수요일 저녁 8시에 강남역에서 xper에서 마련한 켄트벡과의 자리에 참가하게 되었다. 평소 xper news group 에서 많은 것을 얻고 있지만, 적극적으로 참여하지는 않았기에 이런 모임이 다소 어색하기도 했지만, 켄트벡을 만난다는 기대에 이내 즐거움으로 바뀌었다.</p>
<p>&nbsp;8시를 막 넘긴 시간, 켄트벡과 창준님 그리고 켄트벡의 가족들 (신시아 안드레스, 조조, 린지, 포레스트)이 룸으로 들어왔다. 특별히, 신시아 안드레스(신디)는 Extreme Programming Explained 의 공동저자로 잘 알고 있던터라 반가움은 배가 되었다. 그녀는 심리학 석사로서 논리적 학문분야 종사자들이 이성적인 판단을 할 수 없다라는 사실에 기인한 연구를 다수 진행하였고, 이러한 이론이 켄트벡에게 많은 영감을 주었다고 한다. 가족들과 함께 온 것은 의외였지만, 아마도 그만큼 이 자리를 편하게 생각해서가 아닐까 한다. </p>
<p> 이렇게 해서 모두 모였지만, 막연히 만남의 자리라 어떻게 진행할런지에 대한 계획이 세워져 있지 않던 상태. 창준님께서 핑퐁 방식의 Q&amp;A와 켄트벡 가족과 우리 들이 각각 조를 이루어 짧은 상황극을 하는 것 에 대한 제안을 주셨다. 켄트벡은 상황극은 약간 부담스러웠는지 핑퐁을 마음에 들어했고, 김치에 관한 질문을 우리에게 던지면서 시작되었다. 김치라는 주제로 꽤 많이 왔다 갔다 했는데, 미국에서도 이미 김치를 즐겨보았고 (아주 별로라고 한다.), 가족중에 6.25 참전용사가 있어서 한국에 관심이 많았다고 한다. 이후에 창준님께서 언급해주셨는데, 켄트벡의 저서 중에 김치에 관한 언급도 있었다고&#8230; </p>
<p>&nbsp;김치에 관한 설전이 끝난 후, 한 여성 참가자(외국에서 오신분이 계시다던데 아마 이분 인 듯)께서 켄트벡 가족이 홈스쿨링 하는 것을 아시고 신디에게 홈스쿨링에 관한 질문을 던지셨다. 인상적인 것은 신디의 말 중에 이런 부분이 있었다. <br />
 &#8220;우리는 아이들에게 있어서 자원 제공자 일 뿐입니다. 우리가 책이나 정보를 공급해 주면 아이들이 스스로 잘 해내고 있습니다.&#8221;<br />
 아동학을 전공한 와이프가 평소에 펼쳤던 지론과 유사했기에 마음에 와닿았고, 부모가 우월한 위치라고 생각하고 배움을 강요하는 우리네 여느 부모의 모습과는 달랐기에 약간의 자극을 받을 수 있었다. 내 경험에 비추어 볼 때 내가 스스로 무언가를 하기 전까지의 나는 아무 것도 해내지 못했다고 말할 수 있을 정도로 자신의 뜻에 의해 행동한다는 것이 중요하다는 것을 깨달았기 때문에, 켄트 벡과 신디의 아이들이 아주 좋아보였다. </p>
<p>&nbsp;몇 번의 핑퐁이 오가는 동안 인상 깊은 질문이 하나 있었다. 비 개발자로서 켄트벡의 명성을 확인하려 한 질문으로 보였는데, 내용은 이렇다. 자신 주변의 개발자들이 켄트벡이 프로그래밍을 잘하는 것보다 &#8220;프로그래밍이란 이러한 것&#8221;이라는 정의를 내린 것으로 켄트벡을 인용할 정도로 뛰어난 프로그래머로 유명하다는데, 이에 대해 그가 이러한 명성을 갖기 까지 어떠한 노력이 있었으며, 자신의 가치를 증명하기 위해 어떠한 방법을 사용했는 지에 관한 질문이다. (사실, 질문은 더 복잡했는데 내가 이해한 선에서 서술했다. 창준님이 벡에게 영어로 질문을 던질 때 난감하실 정도로 복잡했다 <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  질문에 대한 켄트벡의 답은 &#8220;장님의 나라에선 애꾸가 왕이다&#8221;라는 속담을 말하면서 시작되었다. 자신이 뛰어난 프로그래머는 아니며 훨씬 뛰어난 프로그래머가 많지만, 자신이 아주 작은 장점을 가졌기에 유명세를 탄 것은 아닌가라는 것이었다. 프로그래밍이 무엇이다 라는 것에 대해서는 이미 7년부터는 언급하지 않고 있으며, 대신에 자신이 프로그래밍을 어떻게 하고 있다라는 것을 알려오고 있다고 한다. 그러한 경험적 산물이 정의보다 더 큰 가치가 있음은 그를 아는 사람이라면 누구나 공감할 것이다. 또한, 이러한 겸손이 그를 더욱 우러러 보게 한다. </p>
<p>&nbsp;잠깐의 휴식 이후, 새로운 할거리를 찾는 도중에 창준님께서 아까 제안한 역할극을 조금 변형시켜 해보자고 제안하셨다. 방법은 다음과 같다.</p>
<ul>
<li>4~5명이 조를 이루어 10여분간 주제를 정한다.</li>
<li>켄트벡 앞에서 주제에 대한 연극을 보여준다. (단, 이때 주제에 관한 직접적인 언급은 할 수 없다.)</li>
<li>켄트벡이 연극을 주관대로 주제를 파악하여, 이에 맞는 대답을 해준다.
</li>
<li>공연과 켄트벡의 대답을 합쳐 3분을 넘을 수 없다.</li>
<li>가장 잘한 조를 뽑아 켄트벡 저서의 한글 번역본 (국내출간분을 출판사에서 미국의 벡에게 보낸 것인데, 이를 다시 가져온 것)에 사인을 하여 부상으로 제공한다. (* 중요)</li>
</ul>
<p>&nbsp;모두 기억나진 않지만 인상적인 몇가지 상황과 켄트벡의 대답을 이야기 해보려고 한다. </p>
<p>&nbsp;첫번째 상황은 과중한 업무를 지시하는 상사를 보여주는 전형적인 한국의 회사 모습을 그렸다. 이에 대한 켄트벡의 의견은 &#8220;몸이 힘들면 결코 영리해질 수 없다&#8221; 였다. 충분한 휴식을 통해 더 큰 성과를 거둘 수 있다는 이야기였다.</p>
<p>&nbsp;기억나는 다음 상황은 개인적으로 가장 인상 깊었던 조였는데, 신규 입사자가 XP 와 Agile 에 대한 의지가 매우 강한 경우, 기존 조직이 이에 대한 거부감이 클 경우 어떻게 대처해야 하는 지였다. 켄트벡이 답하길, 어떤 구체적인 실천방안 (예를 들면 TFD 같은&#8230;) 보다는 왜 그것을 해야하는 지에 대해서 집중하고, 보다 근본적인 원인에 대해서 도출한 이후에 그러한 프랙티스를 고려해 본다면 함께 일하는 사람들이 더욱 쉽게 받아들일 수 있다고 하였다. 이는 애자일이나 XP 진영에서 늘 강조하는 바이기도 하다.</p>
<p>그리고 내가 연기했던 조에서는 &#8220;켄트벡은 개인적인 시간을 갖기 위해 어떠한 노력을 하는가&#8221; 라는 질문을 던지려고 켄트벡의 가족이 되어 그를 귀찮게 하는 모습을 그리고 그가 혼자만의 시간을 갈망한다는 내용을 전달하고자 했으나, 그는 우리 질문을 &#8220;가족과의 시간을 방해하는 상황&#8221;이라고 해석했다. 자신의 관점에서는 어떠한 업무 보다 가족이 우선이며, 그렇기에 그들과의 시간을 소홀히 하지 말라고 강조했다. 특히, 한국 사회에선 그럴 수 없는 상황이 당연시 되어 있는 분위기를 안타까워하기도 했다.</p>
<p><div class="wp-caption aligncenter" style="width: 510px"><img src="http://fguyblog.files.wordpress.com/2009/09/4aa5ae02d7836a9.jpg?w=500&#038;h=375" width="500" height="375" alt="켄트백이 경품에 직접 사인하는 모습" /><p class="wp-caption-text">왼쪽부터 나, 린지, 조조, 신디, 켄트벡 </p></div><div class="wp-caption aligncenter" style="width: 510px"><img src="http://fguyblog.files.wordpress.com/2009/09/4aa5ae3e92edcar.jpg?w=500&#038;h=375" width="500" height="375" alt="켄트벡과의 기념촬영 시도" /><p class="wp-caption-text">심하게 흔들린 기념사진 </p></div><br />
이외에도 많은 이야기가 오고 갔으나 글로는 담아내기 힘든 부분이 아쉽고, 나는 사랑니발치에 따른 고통으로 켄트벡과 그리고 그에게 관심을 가진 참석자들과 더욱 많은 이야기를 나누지 못해 아쉽다.<br />
2시간은 매우 짧았지만, 그의 통찰력을 실감할 수 있는 의미 있는 자리였다. 이러한 자리를 마련해 준 xper에게 감사한다. </p>
<br /> Tagged: Cynthia Andres, Kent Beck, XP, XPer <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fguyblog.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fguyblog.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fguyblog.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fguyblog.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fguyblog.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fguyblog.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fguyblog.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fguyblog.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fguyblog.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fguyblog.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fguyblog.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fguyblog.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fguyblog.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fguyblog.wordpress.com/49/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.fguy.com&amp;blog=13748523&amp;post=49&amp;subd=fguyblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.fguy.com/2009/09/03/%ec%bc%84%ed%8a%b8-%eb%b2%a1%ea%b3%bc%ec%9d%98-%eb%a7%8c%eb%82%a8/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d10c905edc572a61b5206377c1a36c98?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">fguy79</media:title>
		</media:content>

		<media:content url="http://fguyblog.files.wordpress.com/2009/09/4aa5ae02d7836a9.jpg" medium="image">
			<media:title type="html">켄트백이 경품에 직접 사인하는 모습</media:title>
		</media:content>

		<media:content url="http://fguyblog.files.wordpress.com/2009/09/4aa5ae3e92edcar.jpg" medium="image">
			<media:title type="html">켄트벡과의 기념촬영 시도</media:title>
		</media:content>
	</item>
	</channel>
</rss>
