<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0">
  <title type="html">- 안영기의 개발실 - (WIZ / bada)</title>
  <id>http://avej.com/textcube/</id>
  <link rel="alternate" type="text/html" hreflang="ko" href="http://avej.com/textcube/" />
  <subtitle type="html">GP2X WIZ와 bada SDK를 통한 게임 개발을 하자</subtitle>
  <updated>2010-08-03T00:58:03+09:00</updated>
  <generator>Textcube 1.7.5 : Risoluto</generator>
  <entry>
    <title type="html">이상한 파라미터</title>
    <link rel="alternate" type="text/html" href="http://avej.com/textcube/24" />
    <link rel="replies" type="application/atom+xml" href="http://avej.com/textcube/atom/response/24" thr:count="0"/>
    <category term="프로그래밍" />
    <author>
      <name>(슴갈)</name>
    </author>
    <id>http://avej.com/textcube/24</id>
    <updated>2010-05-08T16:57:25+09:00</updated>
    <published>2010-04-25T12:45:56+09:00</published>
    <summary type="html">&lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;Gulim, sans-serif&quot;&gt;조금 예전의 코드를 보다가 나중에 검토를 해 보자는 주석이 달린 코드를 보았다&lt;/font&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Gulim, sans-serif&quot;&gt;.&lt;br&gt;그리고 그 때 제시된 문제를 간략하게 만들어 보았다&lt;/font&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Gulim, sans-serif&quot;&gt;. &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; align=&quot;left&quot; style=&quot;text-align:left;mso-layout-grid-align:
none;word-break:keep-all&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-size:10.0pt;
font-family:나눔고딕코딩;mso-hansi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-font-family:
&amp;quot;Times New Roman&amp;quot;;color:blue;mso-font-kerning:0pt;mso-no-proof:yes&quot;&gt;#include&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-size:10.0pt;font-family:나눔고딕코딩;mso-hansi-font-family:
&amp;quot;Times New Roman&amp;quot;;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-font-kerning:0pt;
mso-no-proof:yes&quot;&gt; &lt;span style=&quot;color:#A31515&quot;&gt;&amp;lt;stdio.h&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; align=&quot;left&quot; style=&quot;text-align:left;mso-layout-grid-align:
none;word-break:keep-all&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-size:10.0pt;
font-family:나눔고딕코딩;mso-hansi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-font-family:
&amp;quot;Times New Roman&amp;quot;;color:blue;mso-font-kerning:0pt;mso-no-proof:yes&quot;&gt;class&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-size:10.0pt;font-family:나눔고딕코딩;mso-hansi-font-family:
&amp;quot;Times New Roman&amp;quot;;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-font-kerning:0pt;
mso-no-proof:yes&quot;&gt; CRenderMode&lt;br&gt;{&lt;br&gt;&lt;span style=&quot;font-family: Helvetica, AppleGothic, Gulim, 굴림, sans-serif; &quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-size:10.0pt;
font-family:나눔고딕코딩;mso-hansi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-font-family:
&amp;quot;Times New Roman&amp;quot;;color:blue;mso-font-kerning:0pt;mso-no-proof:yes&quot;&gt;public&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-size:10.0pt;font-family:나눔고딕코딩;mso-hansi-font-family:
&amp;quot;Times New Roman&amp;quot;;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-font-kerning:0pt;
mso-no-proof:yes&quot;&gt;:&lt;br&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:blue&quot;&gt;explicit&lt;/span&gt;
CRenderMode(&lt;span style=&quot;color:blue&quot;&gt;int&lt;/span&gt; mode)&lt;br&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;{&lt;br&gt;&lt;span style=&quot;mso-tab-count:2&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;printf(&lt;span style=&quot;color:#A31515&quot;&gt;&quot;mode
= %d\n&quot;&lt;/span&gt;, mode);&lt;br&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;}&lt;br&gt;}; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; align=&quot;left&quot; style=&quot;text-align:left;mso-layout-grid-align:
none;word-break:keep-all&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-size:10.0pt;
font-family:나눔고딕코딩;mso-hansi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-font-family:
&amp;quot;Times New Roman&amp;quot;;color:blue;mso-font-kerning:0pt;mso-no-proof:yes&quot;&gt;int&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-size:10.0pt;font-family:나눔고딕코딩;mso-hansi-font-family:
&amp;quot;Times New Roman&amp;quot;;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-font-kerning:0pt;
mso-no-proof:yes&quot;&gt; main()&lt;br&gt;{&lt;br&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:blue&quot;&gt;int&lt;/span&gt; mode
= 0; &lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; align=&quot;left&quot; style=&quot;text-align:left;mso-layout-grid-align:
none;word-break:keep-all&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-size:10.0pt;
font-family:나눔고딕코딩;mso-hansi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-font-family:
&amp;quot;Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-no-proof:yes&quot;&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color:green&quot;&gt;// &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;mso-bidi-font-size:10.0pt;font-family:나눔고딕코딩;mso-hansi-font-family:&amp;quot;Times New Roman&amp;quot;;
mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;color:green;mso-font-kerning:0pt;
mso-no-proof:yes&quot;&gt;아래 것은 출력 안 됨&lt;span lang=&quot;EN-US&quot;&gt;.&lt;br&gt;&lt;span style=&quot;color: rgb(102, 102, 102); &quot;&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;CRenderMode state0( &lt;span style=&quot;color:blue&quot;&gt;int&lt;/span&gt;(mode) ); &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; align=&quot;left&quot; style=&quot;text-align:left;mso-layout-grid-align:
none;word-break:keep-all&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-size:10.0pt;
font-family:나눔고딕코딩;mso-hansi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-font-family:
&amp;quot;Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-no-proof:yes&quot;&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color:green&quot;&gt;// &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;mso-bidi-font-size:10.0pt;font-family:나눔고딕코딩;mso-hansi-font-family:&amp;quot;Times New Roman&amp;quot;;
mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;color:green;mso-font-kerning:0pt;
mso-no-proof:yes&quot;&gt;나머지 &lt;span lang=&quot;EN-US&quot;&gt;3&lt;/span&gt;개는 출력 됨&lt;br&gt;&lt;span style=&quot;color: rgb(102, 102, 102); &quot;&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;CRenderMode state_( &lt;span style=&quot;color:blue&quot;&gt;int&lt;/span&gt;((&lt;span style=&quot;color:blue&quot;&gt;int&lt;/span&gt;)mode) );&lt;br&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;CRenderMode state1( &lt;span style=&quot;color:blue&quot;&gt;int&lt;/span&gt;(mode+0) );&lt;br&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;CRenderMode state2( (&lt;span style=&quot;color:blue&quot;&gt;int&lt;/span&gt;)mode ); &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot; align=&quot;left&quot; style=&quot;text-align:left;mso-layout-grid-align:
none;word-break:keep-all&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-size:10.0pt;
font-family:나눔고딕코딩;mso-hansi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-font-family:
&amp;quot;Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-no-proof:yes&quot;&gt;&lt;span style=&quot;mso-tab-count:1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color:blue&quot;&gt;return&lt;/span&gt;
0;&lt;br&gt;}&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;Gulim, sans-serif&quot;&gt;생성자에 파라미터를 넣을 때 &lt;/font&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; &quot;&gt;&lt;font face=&quot;Gulim, sans-serif&quot;&gt;int&lt;/font&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Gulim, sans-serif&quot;&gt;(mode)&lt;/font&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Gulim, sans-serif&quot;&gt; &lt;/font&gt;&lt;/span&gt;&lt;font face=&quot;Gulim, sans-serif&quot;&gt;라고 하니 원했던 생성자가 안 불렸다는 것인데&lt;/font&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Gulim, sans-serif&quot;&gt;, &lt;/font&gt;&lt;/span&gt;&lt;font face=&quot;Gulim, sans-serif&quot;&gt;마치 파라미터 없는 생성자를 부를 때 실수로 &lt;/font&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Gulim, sans-serif&quot;&gt;CRenderMode state0(); 라고&lt;/font&gt;&lt;/span&gt;&lt;font face=&quot;Gulim, sans-serif&quot;&gt;&amp;nbsp;했을 때와 상황이 같다&lt;/font&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Gulim, sans-serif&quot;&gt;. &lt;/font&gt;&lt;/span&gt;&lt;font face=&quot;Gulim, sans-serif&quot;&gt;이것도 뭔가 스펙이 있는 듯 하지만&lt;/font&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Gulim, sans-serif&quot;&gt;, &lt;/font&gt;&lt;/span&gt;&lt;font face=&quot;Gulim, sans-serif&quot;&gt;정확한
이유는 모르겠다&lt;/font&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Gulim, sans-serif&quot;&gt;.&lt;/font&gt;&lt;/span&gt;&lt;br&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;</summary>
  </entry>
  <entry>
    <title type="html">notation</title>
    <link rel="alternate" type="text/html" href="http://avej.com/textcube/23" />
    <link rel="replies" type="application/atom+xml" href="http://avej.com/textcube/atom/response/23" thr:count="0"/>
    <category term="개발 철학" />
    <author>
      <name>(슴갈)</name>
    </author>
    <id>http://avej.com/textcube/23</id>
    <updated>2010-03-31T23:29:44+09:00</updated>
    <published>2010-03-31T23:29:31+09:00</published>
    <summary type="html">&lt;p class=&quot;MsoNormal&quot;&gt;프로그래밍이란 것을 계속 하다 보면&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;어느 순간 여러 가지 방법론이
머리 속에 고정관념처럼 박혀 있는 것이 많다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;그런데 여전히 갈피를 못 잡고 있는 것은&lt;span lang=&quot;EN-US&quot;&gt; code&lt;/span&gt;의&lt;span lang=&quot;EN-US&quot;&gt; notation&lt;/span&gt;을 정하는 것이다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;가장 처음에는 변수를&lt;span lang=&quot;EN-US&quot;&gt; 2&lt;/span&gt;자 밖에 못쓰던 언어를 사용였는데 모두 대문자 약자로 변수를 구성하였다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;그러다가&lt;span lang=&quot;EN-US&quot;&gt; C&lt;/span&gt;를 하면서는&lt;span lang=&quot;EN-US&quot;&gt; &lt;font class=&quot;Apple-style-span&quot; color=&quot;#009966&quot;&gt;under_score&lt;/font&gt; notation&lt;/span&gt;을 썼고 다음에&lt;span lang=&quot;EN-US&quot;&gt; Pascal&lt;/span&gt;을 하면서부터는 자연스레&lt;span lang=&quot;EN-US&quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#009966&quot;&gt; PascalCase&lt;/font&gt;&lt;/span&gt;를 사용하게
되었다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;그러면서 한동안은 함수명은&lt;span lang=&quot;EN-US&quot;&gt; PascalCase, &lt;/span&gt;변수명은&lt;span lang=&quot;EN-US&quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#009966&quot;&gt; camelCase&lt;/font&gt;&lt;/span&gt;로 고정되고 있다가 약&lt;span lang=&quot;EN-US&quot;&gt; 2&lt;/span&gt;년 전부터는 다시 변수에&lt;span lang=&quot;EN-US&quot;&gt; under_score&lt;/span&gt;를 쓰기 시작했다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;가독성이라는 기준이 해가 가면서 변하는지라&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;지금은&lt;span lang=&quot;EN-US&quot;&gt; camelCase&lt;/span&gt;보다는&lt;span lang=&quot;EN-US&quot;&gt; under_score&lt;/span&gt;가 눈에 더 잘 들어오고
있기 때문이다&lt;span lang=&quot;EN-US&quot;&gt;. Notation&lt;/span&gt;은 해가 갈 때마다 변하지만 그래도 변하지 않는 것은 그것을 적용하는
목표이다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;그 목표란 최대한 코드를 빨리 읽으면서 실수를 줄이자는데 있다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;파라미터 변수와 멤버 변수를 가려 내고&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;클래스와 네임스페이스를
가려 내고 함수와 매크로는 표기법만으로 구분하면서 최대 효율로 작업을 할 수 있게 하기 위함이다&lt;span lang=&quot;EN-US&quot;&gt;. (code&lt;/span&gt;를
만들 때의 타이핑은 많아져도 상관없다고 생각한다&lt;span lang=&quot;EN-US&quot;&gt;) &lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;b&gt;덕분에 그 동안 만든 라이브러리 코드들을 보면 대충
만들어진 시대를 짐작할 수 있게 되었다&lt;/b&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;</summary>
  </entry>
  <entry>
    <title type="html">플랫폼의 지원 범위</title>
    <link rel="alternate" type="text/html" href="http://avej.com/textcube/22" />
    <link rel="replies" type="application/atom+xml" href="http://avej.com/textcube/atom/response/22" thr:count="3"/>
    <category term="개발 철학" />
    <author>
      <name>(슴갈)</name>
    </author>
    <id>http://avej.com/textcube/22</id>
    <updated>2010-02-27T21:43:47+09:00</updated>
    <published>2010-02-27T21:43:36+09:00</published>
    <summary type="html">&lt;p class=&quot;MsoNormal&quot;&gt;플랫폼 개발을 하다 보면 사람들 간의 개념 간의 충돌이 많다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;그런
것들은 답이 정해져 있는 것도 아니라 개인이 추구하는 성향에 따라 의견들이 갈리는 것이 대부분이다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;그
중에 하나가&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;이 플랫폼으로 개발할 개발자들에게 &lt;span lang=&quot;EN-US&quot;&gt;‘&lt;/span&gt;모든 가능성을
간직한 기본만을 제공할 것인가&lt;span lang=&quot;EN-US&quot;&gt;’ &lt;/span&gt;아니면 &lt;span lang=&quot;EN-US&quot;&gt;‘&lt;/span&gt;최대한 많은 기능을
넣어서 편의성을 도모할 것인가&lt;span lang=&quot;EN-US&quot;&gt;’&lt;/span&gt;에 대한 의견 충돌이 제일 처음 생기게 된다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;결론부터 말하자면 나는 전자이다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;플랫폼은 기본만 제공하는 간단한
것이었으면 한다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;이 의견에 반대 사람들이 내는 주장은 대부분 &lt;span lang=&quot;EN-US&quot;&gt;‘&lt;/span&gt;플랫폼 사용을 쉽게
하여 많은 개발자가 사용할 수 있게 하자&lt;span lang=&quot;EN-US&quot;&gt;’&lt;/span&gt;라는 것인데 나는 이 부분 때문에 반대를 하는 것이다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;나는 &lt;span lang=&quot;EN-US&quot;&gt;‘&lt;/span&gt;플랫폼을 기반으로 한 애플리케이션 사용에는&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;어느 정도 문턱이 있어서 일정 레벨 이상의 개발자들만 뛰어 들어야 전체 결과물의 수준이 높아진다&lt;span lang=&quot;EN-US&quot;&gt;’&lt;/span&gt;고 생각을 하고 있다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;회사 내에서도 논란이 되는 부분이 &lt;span lang=&quot;EN-US&quot;&gt;SDK&lt;/span&gt;에 &lt;span lang=&quot;EN-US&quot;&gt;OpenGL ES&lt;/span&gt;만 지원하면 되는지 아니면 자체 렌더링 엔진을 넣어야 하는지의 선택이 있는데&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;이 역시도 위의 선택에 따라 &lt;span lang=&quot;EN-US&quot;&gt;OpenGL ES&lt;/span&gt;만 지원하면 된다고
주장하고 있다&lt;span lang=&quot;EN-US&quot;&gt;. Apple &lt;/span&gt;앱스토어의 통계 같은 것은 잘 모르겠지만 내가 예상하는 것은&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;잘 만든 소수의 애플리케이션이 대다수의 돈을 벌어 들인다는 생각이다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;개발의 문턱이 낮을 때&lt;span lang=&quot;EN-US&quot;&gt;, 100&lt;/span&gt;개의 애플리케이션이 상급&lt;span lang=&quot;EN-US&quot;&gt; 10&lt;/span&gt;개 중급 &lt;span lang=&quot;EN-US&quot;&gt;30&lt;/span&gt;개 하급&lt;span lang=&quot;EN-US&quot;&gt; 60&lt;/span&gt;개로
구성되어 있다면&lt;span lang=&quot;EN-US&quot;&gt;,&lt;font class=&quot;Apple-style-span&quot; color=&quot;#0000FF&quot;&gt; &lt;/font&gt;&lt;b&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#0000FF&quot;&gt;- (1)&lt;/font&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;개발의 문턱이 높을 때는&lt;span lang=&quot;EN-US&quot;&gt; 40&lt;/span&gt;개의 애플리케이션이 상급&lt;span lang=&quot;EN-US&quot;&gt; 10&lt;/span&gt;개 중급 &lt;span lang=&quot;EN-US&quot;&gt;30&lt;/span&gt;개만 있게 된다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;font class=&quot;Apple-style-span&quot; color=&quot;#0000FF&quot;&gt;&lt;b&gt;–
(2)&lt;/b&gt;&lt;/font&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;상급의 애플리케이션이 판매 개수가 훨씬 많고 하급은 판매 개수는
적다는 논리를 적용 한다&lt;span lang=&quot;EN-US&quot;&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;이렇게 되면 겉보기의 전체적인 수익은 &lt;span lang=&quot;EN-US&quot;&gt;(1)&lt;/span&gt;이 높아 보일지는 모르겠지만&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;유저의 입장에서는 &lt;span lang=&quot;EN-US&quot;&gt;(2)&lt;/span&gt;의 경우가 더 신뢰성 있는 애플리케이션을
구할 확률이 높으므로 유저의 수가 더 많이 몰리게 되어 실제 매출이 더 높아진다는 논리이다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;게임 플랫폼이라면&lt;span lang=&quot;EN-US&quot;&gt;, ‘&lt;/span&gt;기본&lt;span lang=&quot;EN-US&quot;&gt; OS&lt;/span&gt;의
추상화&lt;span lang=&quot;EN-US&quot;&gt; + &lt;/span&gt;디바이스 추상화&lt;span lang=&quot;EN-US&quot;&gt;’&lt;/span&gt;에다가 &lt;span lang=&quot;EN-US&quot;&gt;2D &lt;/span&gt;그래픽은 &lt;span lang=&quot;EN-US&quot;&gt;frame buffer &lt;/span&gt;접근법만 열어 주면 되고&lt;span lang=&quot;EN-US&quot;&gt;, 3D &lt;/span&gt;그래픽은&lt;span lang=&quot;EN-US&quot;&gt; OpenGL &lt;/span&gt;같은 것만 열어 주면 된다는 것이다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;하지만 대부분의 사람들은 플랫폼을 종합 선물 세트로 만들려고 하기에 시간과 돈이 많이 투자된다&lt;span lang=&quot;EN-US&quot;&gt;. (라는 생각을 가지고 있다. 하지만 역시 정답은 없다)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;</summary>
  </entry>
  <entry>
    <title type="html">LG폰 SMS의 2010년 표시 버그</title>
    <link rel="alternate" type="text/html" href="http://avej.com/textcube/21" />
    <link rel="replies" type="application/atom+xml" href="http://avej.com/textcube/atom/response/21" thr:count="0"/>
    <category term="개발 철학" />
    <author>
      <name>(슴갈)</name>
    </author>
    <id>http://avej.com/textcube/21</id>
    <updated>2010-01-05T11:01:24+09:00</updated>
    <published>2010-01-05T10:59:05+09:00</published>
    <summary type="html">&lt;p class=&quot;MsoNormal&quot;&gt;이번&lt;span lang=&quot;EN-US&quot;&gt; 2010&lt;/span&gt;년이 들어서 &lt;span lang=&quot;EN-US&quot;&gt;S/W &lt;/span&gt;업계에서
가장 큰 화두는&lt;span lang=&quot;EN-US&quot;&gt; LG&lt;/span&gt;폰 &lt;span lang=&quot;EN-US&quot;&gt;SMS&lt;/span&gt;의 &lt;span lang=&quot;EN-US&quot;&gt;2010&lt;/span&gt;년 표시 버그일 것으로 생각한다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;SMS&lt;/span&gt;의 스펙을 확인 해 보니&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;연도는&lt;span lang=&quot;EN-US&quot;&gt; 1byte&lt;/span&gt;에 &lt;span lang=&quot;EN-US&quot;&gt;&quot;&lt;span style=&quot;color:windowtext;text-decoration:none;text-underline:none&quot;&gt;Swapped
Nibble&lt;/span&gt;”&lt;/span&gt;을 적용한다고 되어 있으며 &lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;color:windowtext;text-decoration:none;text-underline:none&quot;&gt;Swapped
Nibble&lt;/span&gt;&lt;/span&gt;의 정의는 &lt;span lang=&quot;EN-US&quot;&gt;&lt;b&gt;BCD code where nibbles
within octet is swapped. E.g.: 0x31 Represents value of 13 &lt;/b&gt;&lt;/span&gt;라고 되어
있다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;여기서 문제가 되는 것은 &lt;span lang=&quot;EN-US&quot;&gt;BCD&lt;/span&gt;인데&lt;span lang=&quot;EN-US&quot;&gt;, &lt;span style=&quot;color:windowtext;text-decoration:none;text-underline:none&quot;&gt;Swapped
Nibble&lt;/span&gt; &lt;/span&gt;이라는 말을 단어 자체로만 들으면&lt;span lang=&quot;EN-US&quot;&gt; 4&lt;/span&gt;비트가 서로 바뀌어
있다라는 의미만 내포된 것으로 보이기 때문에 그것이&lt;span lang=&quot;EN-US&quot;&gt; BCD&lt;/span&gt;로 표현될 것이란 예상을 하기가 어렵다&lt;span lang=&quot;EN-US&quot;&gt;. (&lt;/span&gt;물론 스펙을 제대로 안 본 사람이 무조건 잘 못이지만&lt;span lang=&quot;EN-US&quot;&gt;…) &lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;그래서 원래는 &lt;span lang=&quot;EN-US&quot;&gt;&lt;font color=&quot;#177FCD&quot;&gt;(year &amp;gt;&amp;gt; 4) + (year &amp;amp; 0x0F) * 10&lt;/font&gt; &lt;/span&gt;이어야
하는 공식을 &lt;span lang=&quot;EN-US&quot;&gt;&lt;font color=&quot;#177FCD&quot;&gt;(year &amp;gt;&amp;gt; 4) + (year &amp;amp; 0x0F)&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(102, 102, 102); &quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font color=&quot;#177FCD&quot;&gt;&amp;nbsp;* &lt;b&gt;0x10&lt;/b&gt;&lt;/font&gt; &lt;/span&gt;로 쓴 것으로 예상한다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;여기에서 특별히 기술적인 내용을 이야기 하려는 것은 아니고&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;이런
사소한 실수 하나 때문에 회사의 이미지가 떨어지고 관련된 담당자와 그의 상사들과&lt;span lang=&quot;EN-US&quot;&gt; QA&lt;/span&gt;팀은 큰 화를 입을
것이란 것이라는 것이다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;실수의 경중으로 보면 굉장히 가벼운 실수이긴 하나 파급 효과는 굉장히 크다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;버그 있는 코드는 누구나 만들고 있지만 &lt;b&gt;운도 많이 작용&lt;/b&gt;하고 있다는 일례일 것이다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;LG&lt;/span&gt;의 개발 상황을 예상해보면&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;문제의
코드를 만든 본인은 이미 퇴사 또는 다른 부서로 발령이 났고&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;몇 명의 담당자를 거쳐 지금은 사원급
개발자가 인수 받았으며 그 한 명이 국내판 백 종 이상의 양산 코드를 담당하고 있었을...&lt;/p&gt;</summary>
  </entry>
  <entry>
    <title type="html">Multi-targeting</title>
    <link rel="alternate" type="text/html" href="http://avej.com/textcube/20" />
    <link rel="replies" type="application/atom+xml" href="http://avej.com/textcube/atom/response/20" thr:count="0"/>
    <category term="개발 철학" />
    <author>
      <name>(슴갈)</name>
    </author>
    <id>http://avej.com/textcube/20</id>
    <updated>2009-12-07T10:00:56+09:00</updated>
    <published>2009-12-07T06:58:00+09:00</published>
    <summary type="html">&lt;p class=&quot;MsoNormal&quot;&gt;최근의&lt;span lang=&quot;EN-US&quot;&gt; Embedded &lt;/span&gt;용 기기들의 상황을 보면&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;기기는 다양해지지만 개발 환경은 유사해지고 있다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;특정한 범용 컴파일러
또는 특정한 범용 라이브러리를 채용하는 기기가 많아졌기 때문이다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;시대의 유행이 독자적인&lt;span lang=&quot;EN-US&quot;&gt; SDK &lt;/span&gt;보다는 범용적으로 사용하는&lt;span lang=&quot;EN-US&quot;&gt; &lt;/span&gt;&lt;b&gt;표준 부품&lt;/b&gt;을 도입하는 업체가 많아져서 이다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;개발의 유행을 선도하는&lt;span lang=&quot;EN-US&quot;&gt; S/W&lt;/span&gt;의 대기업들의 마인드가 바뀌면서&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;개발자 개개인도 좀 더 편하게 된 것인데 그래서 새롭게 내세워야 하는 전략은 ‘&lt;span class=&quot;Apple-style-span&quot; style=&quot;text-decoration: underline;&quot;&gt;하나의 컨텐츠를 많은 기기에
이식하기&lt;/span&gt;’라 생각한다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;예전 같으면 대규모 작업 중에 하나였던 기기간 포팅이&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;위의 유행에 힘입어 보다 쉽게 이루어질 수 있기 때문이다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;이전
같으면&lt;span lang=&quot;EN-US&quot;&gt; Code Warrior &lt;/span&gt;같은 특정 업체의 솔루션을 이용해야 했던 것인데 지금은 어느 정도 개인의
힘으로도 가능한 시대가 되었다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;위의 ‘전략’을 위해서는 개발자나 개발사는 ‘플랫폼’을 구비해야 한다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;예전의&lt;span lang=&quot;EN-US&quot;&gt; S/W &lt;/span&gt;플랫폼처럼 거대한 어떤 것이 아닌 표준 부품들을 변화에 유기적으로 대응할 수 있는 수준의 가벼운 플랫폼만
있어도 된다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;사실 이제는 플랫폼이 아니라 추상 계층&lt;span lang=&quot;EN-US&quot; style=&quot;font-size:8.0pt&quot;&gt;Abstract Layer&lt;/span&gt;&lt;span style=&quot;mso-bidi-font-size:
10.0pt&quot;&gt;이라고 불러도 좋을 정도의 작은 것만 필요하다&lt;span lang=&quot;EN-US&quot;&gt;. (&lt;/span&gt;그래픽 출력&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;사운드 출력&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;표준 입력&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;지역화
옵션&lt;span lang=&quot;EN-US&quot;&gt;) &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;mso-bidi-font-size:10.0pt&quot;&gt;외국의 게임 업체들이 이런 쪽에 많은
경험을 가지고 있고 미리 대비하고 있다는 것이 당연하면서도 신선했다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;아예 이런 추상 계층만 관리를
해주는 업체도 있는데&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;이런 업체들은 유명 게임들을 불과&lt;span lang=&quot;EN-US&quot;&gt; 1~2&lt;/span&gt;주
만에 낯 선 기기에 포팅을 해 내었다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;단 한 가지 문제가 있는 것은 &lt;span class=&quot;Apple-style-span&quot; style=&quot;text-decoration: underline;&quot;&gt;해상도&lt;/span&gt;이다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;하지만 이
해상도라는 것도 추세와 유행이 있다&lt;span lang=&quot;EN-US&quot;&gt;. &lt;/span&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/File:Vector_Video_Standards2.svg&quot; target=&quot;_blank&quot;&gt;이렇게나 많은 해상도&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;mso-bidi-font-size:
10.0pt&quot;&gt;가 있지만 최근 나오는 &lt;span lang=&quot;EN-US&quot;&gt;embedded &lt;/span&gt;기기의 해상도로 사용되는 것은 한정적이다&lt;span lang=&quot;EN-US&quot;&gt;. (&lt;/span&gt;결국&lt;span lang=&quot;EN-US&quot;&gt; LCD &lt;/span&gt;제조사에 대한&lt;span lang=&quot;EN-US&quot;&gt;
dependency &lt;/span&gt;때문에&lt;span lang=&quot;EN-US&quot;&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</summary>
  </entry>
</feed>
