<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Devy | Feed]]></title><description><![CDATA[Develop Everything]]></description><link>https://hs85jeong.github.io</link><generator>GatsbyJS</generator><lastBuildDate>Sun, 08 Nov 2020 13:23:45 GMT</lastBuildDate><item><title><![CDATA[Galaxy Watch 앱 만들기 #4 - Button]]></title><description><![CDATA[TAU Button 생성 App 개발시 많이 사용되는 Component 중 하나로 말 그대로 Button 이다. TAU에서 Button을 추가할 수 있는 방법은 아래와 같이 3가지 방법이 있다.  Button 속성 기본적으로 Button…]]></description><link>https://hs85jeong.github.io/tizen-4/</link><guid isPermaLink="false">https://hs85jeong.github.io/tizen-4/</guid><pubDate>Thu, 05 Nov 2020 00:00:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;tau-button-생성&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#tau-button-%EC%83%9D%EC%84%B1&quot; aria-label=&quot;tau button 생성 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;TAU Button 생성&lt;/h3&gt;
&lt;p&gt;App 개발시 많이 사용되는 Component 중 하나로 말 그대로 Button 이다.&lt;/p&gt;
&lt;p&gt;TAU에서 Button을 추가할 수 있는 방법은 아래와 같이 3가지 방법이 있다.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;html&quot;&gt;&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-page&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-content&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token comment&quot;&gt;&amp;lt;!-- 3가지 버튼 생성 방법 이 중 하나 선택 --&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;button&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;button&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-btn&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;Button&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;button&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;a&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;#&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-btn&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;Button&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;a&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;input&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;button&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-btn&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;Button&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;/&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;div&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;div&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 360px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/bf781f82f5fa3c48eaefd8f85e8d3137/34b33/tizen1.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 100%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACIUlEQVQ4y7WVz28SQRTHZwbXFiq74UDjSSIcNCGG0K2wXcSDwVjbg+FQFDRCay9Gk8bEHydPxsQzfwj/UQ/8HUvm65sfCyMqa2K6ySfzZva977xZ3hsY+/XhdswTY2JGzInEMrdrY+vjxvxRSD0j4pJABpfWl20SnjoBaVaSc77EWU/9pn/LbuoILZRQBgtHeLqe5cgRU5koWzYaDdntdtFsNtFqtVCv11Eul1NB2DEVtccvlunjcvoeSoQv1Mi50AG3KhXEnQ7C/X3shSHuk2h5d9ccVR9/FaM1tJb5xZbZObv/C3ItyzHjtXjGawfgt9sJIS1qDkaIagRebWtytcjM7XvHP9EapMVEPJmL7jlE50xakOI9PAeLJ9rOPXgDFo3BDibgnVM4fiZOaZAW4+1RQoC3RlIhjK15evEDj95+0+Pj998RnX7FveFnpD7CidMapMVE9CohQEiLssGJyrML1F98wZ2Tj6j2P+Du4BNuHr3Dtfg1BRu/tbiE8dZwztsvaaehtCCFhc/BmifEAGxvYGxaU+/Eys/EGQ1qzXwwY9s+iISQhiJYntau74Bt3YCe69E3tvHHyl/HQmttKptS4KO4U4CXE9je8iBoTWSVDe2Ydy4D1U7gwhR2SMXc7/fx5PAQR8fH6PV6qFCxax/T18sYrWG0fm+9dPdCoSCp1RAEAXzfR6lUgud5Ga13RZfDxutrjczr60ov2P/+C/gJlF6Bqa3vR58AAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;tizen1&quot;
        title=&quot;tizen1&quot;
        src=&quot;/static/bf781f82f5fa3c48eaefd8f85e8d3137/34b33/tizen1.png&quot;
        srcset=&quot;/static/bf781f82f5fa3c48eaefd8f85e8d3137/00d96/tizen1.png 148w,
/static/bf781f82f5fa3c48eaefd8f85e8d3137/0b23c/tizen1.png 295w,
/static/bf781f82f5fa3c48eaefd8f85e8d3137/34b33/tizen1.png 360w&quot;
        sizes=&quot;(max-width: 360px) 100vw, 360px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;button-속성&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#button-%EC%86%8D%EC%84%B1&quot; aria-label=&quot;button 속성 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Button 속성&lt;/h3&gt;
&lt;p&gt;기본적으로 Button을 표현하는 방법 외에도 아래 속성들을 넣어주면 추가 속성을 부여할 수 있다.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th align=&quot;center&quot;&gt;class&lt;/th&gt;
&lt;th align=&quot;center&quot;&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;ui-btn&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;Button Component를 만들기 위해 기본으로 추가되어야 하는 class&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;ui-btn-icon&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;icon 스타일 button 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;ui-inline&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;inline 스타일 button 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;ui-multiline&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;multiline 스타일 button 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&quot;icon-버튼&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#icon-%EB%B2%84%ED%8A%BC&quot; aria-label=&quot;icon 버튼 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Icon 버튼&lt;/h3&gt;
&lt;p&gt;텍스트를 가진 Button 외에도 아이콘 형식의 버튼을 만들기 위해서는 아래와 같은 형태로 입력해주면 된다. 기본 버튼 생성 class인 &lt;code class=&quot;language-text&quot;&gt;ui-btn&lt;/code&gt;에 &lt;code class=&quot;language-text&quot;&gt;ui-btn-icon&lt;/code&gt;을 추가해주면 된다. 사용할 아이콘 이미지의 위치는 &lt;code class=&quot;language-text&quot;&gt;background-image&lt;/code&gt; style의 url()안에 입력하면 된다.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;html&quot;&gt;&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;button&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;button&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-btn ui-btn-icon ui-btn-icon-middle&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token style-attr language-css&quot;&gt;&lt;span class=&quot;token attr-name&quot;&gt;
    &lt;span class=&quot;token attr-name&quot;&gt;style&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&quot;&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token property&quot;&gt;background-image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token url&quot;&gt;&lt;span class=&quot;token function&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;icon.png&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;button&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 360px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/aa2398c8eb8497f3f35d97140a8a0ccb/34b33/tizen3.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 100%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABTUlEQVQ4y2NgQAWMUJoTiOOBeB0QPwTi31D8ECoWD1WDrAerQSAQBcR3gfg/AXwXqpYBn8GTkDTAXPUPDcPEYeomoRrBxMyIZhhI8R8sBqHjP0gGT0JxJTMzcxQjI+N/IIa56D+SRnSv/kNTAzMU7n1OpDD7g6SQUBj+Q9NzF2wWo6ZLvJKRzX9DU7PfilqG/xik9YAKGf8TYeB/tHD9D459V1ePdf5Fzf8jJq78HZxd/k/ROYISA9cxWCUWPEybvOL/5ClT/8VPWfvPyNHtPyNxhmEL04cMug7ev+M75/zvmLviX3jn/H/qBqb/GRiZyDXwN4OQgdtvrdCM/xbROf+0vaP+cRv7AiUoMJBBWPEhG4/Qf2521n8sPEL/GHglSDEM08vQvPkfLVeQHynA8IqnooHx1E/YSCUMsispynrULxyoW3zRuICluAoAALbWUYsQIMbnAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;tizen3&quot;
        title=&quot;tizen3&quot;
        src=&quot;/static/aa2398c8eb8497f3f35d97140a8a0ccb/34b33/tizen3.png&quot;
        srcset=&quot;/static/aa2398c8eb8497f3f35d97140a8a0ccb/00d96/tizen3.png 148w,
/static/aa2398c8eb8497f3f35d97140a8a0ccb/0b23c/tizen3.png 295w,
/static/aa2398c8eb8497f3f35d97140a8a0ccb/34b33/tizen3.png 360w&quot;
        sizes=&quot;(max-width: 360px) 100vw, 360px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;inline-버튼&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#inline-%EB%B2%84%ED%8A%BC&quot; aria-label=&quot;inline 버튼 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Inline 버튼&lt;/h3&gt;
&lt;p&gt;일반 Button의 경우 한 줄 전체 크기로 생성이 되지만 inline 버튼의 경우 Text 크기만큼의 영역이 할당되는 버튼이다.
기본 버튼 생성 class인 &lt;code class=&quot;language-text&quot;&gt;ui-btn&lt;/code&gt;에 &lt;code class=&quot;language-text&quot;&gt;ui-inline&lt;/code&gt;을 추가해주면 된다. &lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;html&quot;&gt;&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;button&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;button&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-btn&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;Button&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;button&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;button&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;button&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-btn ui-inline&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;Inline&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;button&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;button&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;button&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-btn ui-inline&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;Inline&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;button&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 360px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/6b0b7d53880f590fda047b67095ef2b6/34b33/tizen2.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 100%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABrUlEQVQ4y7WVy07CQBSGZ3AhJtQYb0RYtErFKFQsTSSSQHBFWMlKErzUy9KlxsgTuO+D+EYseA7I/E7bKZmW1oaoTf50MnPO13PmnJkSEn6oeK9x2VxfXBOuqdBEzNnCRvaJBbnPkGvMhRSNhS35CexIDkFULKJgPrBzkqJzJNAsBhTVTAI70SiHEoyJMaOUukKgYF62kaDz9NekPZtJhml7yCI+46BQdiQ6FkSjqipKpRI0TYOu68jn81AUJQqVo3RZXhuEgZkVz+HMrOOq30er1Ua73Uan00GhUPDWxEejQJfl9VZ0b2Il7WNclBCsOd1fWM2B5sugu4dcujcmG8UFcEKRphKQ+gvbByAXjyDndyANVw8glW5acULAiQzM7OzjaPCO+u0IJ9evqAxHyJ52kcvlYNXrqNVqKJfLXsGSUhZFoV5R6JbGjJsRB36gOnjD5csnFLPHgQoajQYMw4BlWTBNM7EotgzkKTPSfOKp3vtqPoNUe2nphtom3NjZddBChdG9Y3gqVkA21aUaO/HoJbRR6tFbvBwonflFkrXc5fCn19e/XrC//gV8A7WuVQWHKdlUAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;tizen2&quot;
        title=&quot;tizen2&quot;
        src=&quot;/static/6b0b7d53880f590fda047b67095ef2b6/34b33/tizen2.png&quot;
        srcset=&quot;/static/6b0b7d53880f590fda047b67095ef2b6/00d96/tizen2.png 148w,
/static/6b0b7d53880f590fda047b67095ef2b6/0b23c/tizen2.png 295w,
/static/6b0b7d53880f590fda047b67095ef2b6/34b33/tizen2.png 360w&quot;
        sizes=&quot;(max-width: 360px) 100vw, 360px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;다중-line-버튼&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%EB%8B%A4%EC%A4%91-line-%EB%B2%84%ED%8A%BC&quot; aria-label=&quot;다중 line 버튼 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;다중 line 버튼&lt;/h3&gt;
&lt;p&gt;다중 line 버튼의 경우 텍스트를 여러 줄 가진 형식의 버튼을 만들고 싶을 경우 사용한다. 기본 버튼 생성 class인 &lt;code class=&quot;language-text&quot;&gt;ui-btn&lt;/code&gt;에 &lt;code class=&quot;language-text&quot;&gt;ui-multiline&lt;/code&gt;을 추가해주면 된다. &lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;html&quot;&gt;&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;button&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;button&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-btn ui-multiline&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;Multiline&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;br&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;/&gt;&lt;/span&gt;&lt;/span&gt; Button&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;button&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 360px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/4849bb9d7e4a669894d2eecdf76becda/34b33/tizen4.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 100%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACUklEQVQ4y72Vy24TMRSGbYcCKahiUyTERUhI0AVFhLS5NWoaEKAuECxIm0ymnaZFLREgkLgJCRbchFiwyYa3yBtlkedw5J9zPHY7k1SwADHSn3Nsn/8be2w5QqQf6WKWFJH6pCFJOw1dX+Rqkp5DQfwEpAEJf9DA1YrfgXsJg5+VGZPv93W9NGL2khyDcfHoENC4RglwL83KzgTi6DTEVFaTDAku+jwpM1ajrZcZ/KhaNysX1weyGEAWmiO52ATJuAhVaJF83sSR4n47rmEPe4nBLCGL7UgtbUOVNrQqhYYii9uQxRBioQVRCCB8fn3N5nbc1lqPZgazBHX0VWWLG5pEg23DgBO1DqKPP5EL3+HWk6+o7X1CofMBK48/4+TKtn0J17KHvcxgFs9wGM8odG8LGY6pyibmGq8w33qLq603uPzwJa5QeyF6j2PViIBt9iR8vKL2UKhiqJMDDPNQcWP9QPlmHO2SD2qSE2HWBDBRaI0ybUYmrt1vTwAPW7KF0TeaqT/C9HLHLp+XybBMOQWbXDL99NWS/aDaD2bKGxC5Nfu9Hrz+gTvPvmH1xXfUu19w8f5z2u2mn6mfhGYGs3iXI7vLhUCTDEvRuRJ0xk7d3MGFe09x+u4eZm/v4sxqF8ermzR7Oov23Mb17HW7HAmZb2RpugO1vAtV3RmROBqOotKBKG1BlDtOlPOZTdRYD3uJwaz4mpirB/J8DuLsvJbnrhkS5xyNolymZdyYzzV7mRHD8o1/djkkWP5GUz0hJZy0kxmT73d1qvdfL9i//gv4BSX/v4rfo9dYAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;tizen4&quot;
        title=&quot;tizen4&quot;
        src=&quot;/static/4849bb9d7e4a669894d2eecdf76becda/34b33/tizen4.png&quot;
        srcset=&quot;/static/4849bb9d7e4a669894d2eecdf76becda/00d96/tizen4.png 148w,
/static/4849bb9d7e4a669894d2eecdf76becda/0b23c/tizen4.png 295w,
/static/4849bb9d7e4a669894d2eecdf76becda/34b33/tizen4.png 360w&quot;
        sizes=&quot;(max-width: 360px) 100vw, 360px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;버튼-클릭시-색상-변경&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%EB%B2%84%ED%8A%BC-%ED%81%B4%EB%A6%AD%EC%8B%9C-%EC%83%89%EC%83%81-%EB%B3%80%EA%B2%BD&quot; aria-label=&quot;버튼 클릭시 색상 변경 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;버튼 클릭시 색상 변경&lt;/h3&gt;
&lt;p&gt;버튼 클릭시 표시되는 기본 생상을 다른 색으로 변경하고 싶다면 아래 표를 참고하여 변경하여주면 된다. &lt;code class=&quot;language-text&quot;&gt;ui-btn&lt;/code&gt;에 원하는 색상 class를 추가해주면 된다.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th align=&quot;center&quot;&gt;class&lt;/th&gt;
&lt;th align=&quot;center&quot;&gt;Default color&lt;/th&gt;
&lt;th align=&quot;center&quot;&gt;Pressed color&lt;/th&gt;
&lt;th align=&quot;center&quot;&gt;Disable color&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;ui-color-red&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;#ce2302&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;#dd654e&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;#3d0a0a&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;ui-color-orange&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;#ed8600&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;#f0aa56&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;#462805&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;ui-color-green&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;#64a323&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;#92be5e&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;#1e3108&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;html&quot;&gt;&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;a&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;#&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-btn ui-color-red&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;Red Button&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;a&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;a&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;#&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-btn ui-color-orange&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;Orange Button&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;a&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;a&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;#&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-btn ui-color-green&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;Green Button&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;a&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 360px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/5c2f80ba67e7bec75291c9120e813bf0/34b33/tizen5.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 100%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACr0lEQVQ4y7VVTU9TQRS9854IVQT7QVwAWldaMKCQlBigIhIqYIK7NrDoWlAD+g8UY0AJCqwxGj82pr8AWLgwYPwLLLqsKW5su/CROd6ZN688CRUT40tO7/TM3DP3zdx7H9HvjzA2wMgwsowcwzHIGS5j1vh9DhVSzwRjh4EjsGPW0p+El30OjhBCRSUPwOO9dcvVovPEHMuy9vwiLCAPEd4zx+AXFd6vCh2W5UYUj8eRSqXkwMCA7O7uRjqdwrVEAj09cWVlor9ftra2wGymRYXv9QO+M1O7IhQKy/b2dnR0dKK5uQWxWBuudHXpseI7Oy/rNX4fo6EvKmMJ3kHw2fCOHKX8iwvRYD8pdJR8TEJzGfp0j7KfZwgb0+RsTJFcv0OSLTbvCmxOa94dM6f5aarw61N6rVS+SkNp0Y95yv1cJJQWSCqUV8IoLwXUf5Sf2yg9E+54NYLyywaUF4/x/Ames8y866c0lBZ9myMnP0fIPyKZf1orC2tXUXiXxO6HWyi8ZfsxjcLrBAqv+vA9O4nd96MovBlkO8L2OvJPLJl/zL6sobRUhE6RI2DI4jxjqR7FpZMorTSh+KIR5bVLPI5A8aXVM8w1uOPlkLbFBeH6LegIHfrygHJfHxK2ZkkqbPNZbM8yZgzuu5bXuXZ2f35rZt9PaSgtqrEoW2MTGM5xm2/ZTVqVVxVY3q36rOJtvmX2U3C0hqXrXBc6TNbL08EQJ+1ZhCNNLsIR1J9q0DkZDIZw4WIMwVBY5SFq6wKVcjQaGWqscxObM14naTR6DkNDQ/JmMonb4+NIDg+jrS2GyckJjI2N4cbgIPp6ezE6MiLPR6Pax/juGK1Kh6lEybUMX83q11ROtm1rnq3H+6ObqNocTDnJI1C9OVRrX17EB9uXT+jQ9vVfG+w/fwJ+AWDp31mEgRcrAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;tizen5&quot;
        title=&quot;tizen5&quot;
        src=&quot;/static/5c2f80ba67e7bec75291c9120e813bf0/34b33/tizen5.png&quot;
        srcset=&quot;/static/5c2f80ba67e7bec75291c9120e813bf0/00d96/tizen5.png 148w,
/static/5c2f80ba67e7bec75291c9120e813bf0/0b23c/tizen5.png 295w,
/static/5c2f80ba67e7bec75291c9120e813bf0/34b33/tizen5.png 360w&quot;
        sizes=&quot;(max-width: 360px) 100vw, 360px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;버튼-크기-설정&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%EB%B2%84%ED%8A%BC-%ED%81%AC%EA%B8%B0-%EC%84%A4%EC%A0%95&quot; aria-label=&quot;버튼 크기 설정 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;버튼 크기 설정&lt;/h3&gt;
&lt;p&gt;버튼 크기를 원하는 크기의 비율로 배치하고 싶을 경우는 아래와 같이 &lt;code class=&quot;language-text&quot;&gt;ui-grid-col-x&lt;/code&gt;를 사용하여 크기를 정할 수 있다.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th align=&quot;center&quot;&gt;class&lt;/th&gt;
&lt;th align=&quot;center&quot;&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;ui-grid-col-1&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;버튼 가로 크기를 100%로 설정한다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;ui-grid-col-2&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;버튼 가로 크기를 50%로 설정한다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;ui-grid-col-3&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;버튼 가로 크기를 33%로 설정한다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;ui-grid-row&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;버튼을 가로 한줄 씩 사용하도록 정의한다&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;html&quot;&gt;&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-grid-col-1&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;button&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;button&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-btn&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;100%&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;button&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;div&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-grid-col-2&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;button&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;button&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-btn&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;50%&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;button&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;button&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;button&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-btn&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;50%&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;button&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;div&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-grid-col-3&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;button&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;button&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-btn&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;33%&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;button&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;button&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;button&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-btn&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;33%&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;button&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;button&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;button&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-btn&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;33%&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;button&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;div&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 360px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/a49de5bbf94e25840a3b037f081d2af1/34b33/tizen6.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 100%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACLklEQVQ4y61VXY/SQBSddkOVKJq6G+quFCyCqZiFwCpfhUDwgYTw4MMaE/yoIZgYH3zQ+OyLv6A/xH/EA7+jzRxn2ikOTbtZo5OctJ259+Tee+7cEnK4FPHMM7gMvxh2DL7ATuy5wkb2SSXia8WwZQCHoigHiPeFzSqDY788ySGOiiYQ78d2XlZ0nkQUcOdcLkfL5TK1LIvatk0rlQplUcbEgUTsJaNcSWRUvFNN02i73cZ8PsdsNsNisYCu61S2kUj36eelmgWS4b5eqqpCrmnCJpBqGgrlytHxlBLFT4UQiSai5FxhGyAhAK6JJCHnIjsRUShAq9VCt9tFsVhMjYo/S6USms0m+v0+DMOQg+B9SvyYkCs5mUzgOA7anU5ExM/Cc5aiqGWtXsd0OsV4PEan05EJfSKF+7fpIsUvJNwdHghBbtwGOW2A3LcZnkA5jUDO2N7NO1mEu2xR7plQRxscjdZQnTXI4ANI34U6/ghyUhXlUFNFcVmzotfr+ax+dDh0qMIF0B+APF+h+vILRpsfePH5J+zLryDdN1COH4aE5+dNZj+ky+XSLxQK+7bJs49to9GAaZrBxcUzaEesv+6ehc7G/BOevv4O+9W3kFAdvAc5roSpWtVHqNVqAe8MpvxWmkApV083qTpaUzJwGfE7gbcs5Q0lJ9aVVy+80Kx1PNFr0XDQblFSrFOFw/gDYjymTLBoOES2/Gp6WSPsv4yvKwaskoHrD9h//gX8BnjKY9x+kRS/AAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;tizen6&quot;
        title=&quot;tizen6&quot;
        src=&quot;/static/a49de5bbf94e25840a3b037f081d2af1/34b33/tizen6.png&quot;
        srcset=&quot;/static/a49de5bbf94e25840a3b037f081d2af1/00d96/tizen6.png 148w,
/static/a49de5bbf94e25840a3b037f081d2af1/0b23c/tizen6.png 295w,
/static/a49de5bbf94e25840a3b037f081d2af1/34b33/tizen6.png 360w&quot;
        sizes=&quot;(max-width: 360px) 100vw, 360px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Galaxy Watch 앱 만들기 #3 - TAU Component 종류]]></title><description><![CDATA[TAU Component 리스트 앞서 #2에서 TAU를 어떻게 사용하면 되는지를 배웠다면, 이제 해야할 일은 TAU에서 제공하는 Component 들 중에 내가 개발할 App에 필요한 Component를 찾아야 하는 일이다. TAU…]]></description><link>https://hs85jeong.github.io/tizen-3/</link><guid isPermaLink="false">https://hs85jeong.github.io/tizen-3/</guid><pubDate>Wed, 04 Nov 2020 00:00:00 GMT</pubDate><content:encoded>&lt;h3 id=&quot;tau-component-리스트&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#tau-component-%EB%A6%AC%EC%8A%A4%ED%8A%B8&quot; aria-label=&quot;tau component 리스트 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;TAU Component 리스트&lt;/h3&gt;
&lt;p&gt;앞서 &lt;a href=&quot;https://hs85jeong.github.io/tizen-2/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;#2&lt;/a&gt;에서 TAU를 어떻게 사용하면 되는지를 배웠다면, 이제 해야할 일은 TAU에서 제공하는 Component 들 중에 내가 개발할 App에 필요한 Component를 찾아야 하는 일이다. TAU에서 제공하는 Component들의 리스트는 &lt;a href=&quot;https://docs.tizen.org/application/web/api/4.0/ui_fw_api/Wearable_UIComponents/wearable_component_list.htm&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;이곳&lt;/a&gt;에서 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;현재 공식 Document 상에는 총 23가지의 기본 Component들을 제공하고 있다. 이 Component들의 사용법에 대해서 하나 하나씩 다루어 보도록 하겠다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Wearable UI Components&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://hs85jeong.github.io/tizen-4/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Button&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Checkbox and radio button&lt;/li&gt;
&lt;li&gt;Circle ProgressBar&lt;/li&gt;
&lt;li&gt;Circular Index scroll bar&lt;/li&gt;
&lt;li&gt;Date picker&lt;/li&gt;
&lt;li&gt;Drawer&lt;/li&gt;
&lt;li&gt;Index scroll bar&lt;/li&gt;
&lt;li&gt;List&lt;/li&gt;
&lt;li&gt;Marquee&lt;/li&gt;
&lt;li&gt;Number picker&lt;/li&gt;
&lt;li&gt;Page Indicator&lt;/li&gt;
&lt;li&gt;Popup&lt;/li&gt;
&lt;li&gt;Processing&lt;/li&gt;
&lt;li&gt;Progress&lt;/li&gt;
&lt;li&gt;Section changer&lt;/li&gt;
&lt;li&gt;Selector&lt;/li&gt;
&lt;li&gt;Slider&lt;/li&gt;
&lt;li&gt;SnapListview&lt;/li&gt;
&lt;li&gt;Swipe list&lt;/li&gt;
&lt;li&gt;Timer picker&lt;/li&gt;
&lt;li&gt;Toggle switch&lt;/li&gt;
&lt;li&gt;View Switcher&lt;/li&gt;
&lt;li&gt;Virtual list&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[Galaxy Watch 앱 만들기 #2 - TAU (Tizen Advanced UI) 사용하기]]></title><description><![CDATA[TAU 란? 일반적으로 Web Application은 html, css, js를 조합해서 개발을 하는데 Web…]]></description><link>https://hs85jeong.github.io/tizen-2/</link><guid isPermaLink="false">https://hs85jeong.github.io/tizen-2/</guid><pubDate>Tue, 03 Nov 2020 00:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;tau-란&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#tau-%EB%9E%80&quot; aria-label=&quot;tau 란 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;TAU 란?&lt;/h2&gt;
&lt;p&gt;일반적으로 Web Application은 html, css, js를 조합해서 개발을 하는데 Web 개발을 많이 경험해 본 개발자라면 손 쉽게 원하는 화면을 구성할 수 있겠지만, 초보자라면 쉽지 않기 때문에 원하는 화면을 쉽고 빠르게 구성하기 위해 &lt;a href=&quot;https://getbootstrap.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;bootstrap&lt;/a&gt;이나 &lt;a href=&quot;https://semantic-ui.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Semantic UI&lt;/a&gt; 같은 UI Framework를 사용해서 개발을 한다.&lt;/p&gt;
&lt;p&gt;하지만, 이런 UI Framwork들은 모바일이나 태블릿 화면을 기준으로 만들어져 있기 떄문에 Watch에 맞는 구성을 지원하지 않는다. 이런 문제를 해결할 수 있는게 바로 &lt;a href=&quot;https://samsung.github.io/TAU/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;TAU(Tizen Advanced UI)&lt;/a&gt; 이다.&lt;/p&gt;
&lt;p&gt;TAU는 Tizen Application을 쉽게 개발할 수 있도록 도와주는 UI Framework로 모바일 뿐만 아니라 Galaxy Watch와 같은 시계 화면을 위한 Wearable을 지원하고 있다. 즉, TAU를 사용하면 아래와 같은 화면을 가진 앱을 쉽게 개발 할 수 있다 :D&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th align=&quot;center&quot;&gt;&lt;img src=&quot;https://docs.tizen.org/application/web/api/5.5/images/DatePicker.png&quot;&gt;&lt;/th&gt;
&lt;th align=&quot;center&quot;&gt;&lt;img src=&quot;https://docs.tizen.org/application/web/api/5.5/images/checkbox-wearable.png&quot;&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&quot;tau-설치하기&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#tau-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0&quot; aria-label=&quot;tau 설치하기 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;TAU 설치하기&lt;/h2&gt;
&lt;p&gt;TAU는 오픈소스 프로젝트로 현재 github를 통해 &lt;a href=&quot;https://github.com/Samsung/TAU/releases&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;release&lt;/a&gt;가 되고 있다. TAU를 사용하기 위해 먼저 소스를 &lt;a href=&quot;https://github.com/Samsung/TAU/releases/tag/v1.0.27&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;다운&lt;/a&gt; 받아보자. 다운로드 페이지에는 다양한 버전이 릴리즈 되고 있지만 각 버전에 대한 차이점에 대해서는 다른 글을 통해 설명하도록 하겠다. 이 중에서 테스트를 위해 일단 1.0.27 버전을 &lt;a href=&quot;https://github.com/Samsung/TAU/releases/download/v1.0.27/dist-1.0.27.zip&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;다운&lt;/a&gt; 받아보자.&lt;/p&gt;
&lt;p&gt;다운 받은 파일을 &lt;a href=&quot;https://hs85jeong.github.io/tizen-1/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;#1&lt;/a&gt;번째 글에서 생성한 BasicTest 폴더에 압축을 풀고 아래와 같이 TAU를 사용하기 위한 tau.css, tau.circle.css, tau.js를 header 부분에 포함시켜 주자.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;html&quot;&gt;&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;head&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;meta&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;charset&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;utf-8&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;/&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;meta&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;viewport&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;content&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;width=device-width, initial-scale=1.0, maximum-scale=1.0&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;meta&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;description&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;content&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;Tizen Wearable basic template generated by Samsung Wearable Web IDE&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;/&gt;&lt;/span&gt;&lt;/span&gt;

    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;title&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;Tizen Wearable Web IDE - Tizen Wearable - Tizen Wearable basic Application&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;title&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;

    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;link&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;rel&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;stylesheet&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;text/css&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;css/style.css&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;/&gt;&lt;/span&gt;&lt;/span&gt;

    &lt;span class=&quot;token comment&quot;&gt;&amp;lt;!-- 아래 3줄을 여기에 넣어주세요 --&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;link&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;rel&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;stylesheet&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;text/css&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;media&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;all and (-tizen-geometric-shape: circle)&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;dist/wearable/theme/changeable/tau.css&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;/&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;link&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;rel&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;stylesheet&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;text/css&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;media&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;all and (-tizen-geometric-shape: circle)&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;dist/wearable/theme/changeable/tau.circle.css&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;/&gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;script&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;dist/wearable/js/tau.js&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token script&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;script&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;head&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;TAU를 포함 시켰다면 이제 TAU를 이용한 간단한 리스트를 만들어보도록 하자. 이번에는 아래 코드를 body 부분에 포함시켜 보도록 하자.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;html&quot;&gt;&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;body&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;  
	&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-page&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
		&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-content&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
			&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;ul&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui-listview&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
				&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;li&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;List 01&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;li&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
				&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;li&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;List 02&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;li&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
				&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;li&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;List 03&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;li&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
				&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;li&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;List 04&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;li&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
				&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;li&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;List 05&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;li&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
			&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;ul&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
		&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;div&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
	&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;div&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
	&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;script&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token script&quot;&gt;&lt;span class=&quot;token language-javascript&quot;&gt;
		&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; list &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;querySelector&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;.ui-listview&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		tau&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;widget&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;Listview&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;list&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;script&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;body&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;코드를 전부 입력했다면 완성된 코드를 &lt;a href=&quot;https://hs85jeong.github.io/tizen-1/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;#1&lt;/a&gt;에서 진행한대로 &quot;Tizen Web: Build Tizen App&quot;를 한 뒤 &quot;Tizen Web: Install Tizen App&quot;를 통해 Emulator에서 실행해보면 아래 화면과 같이 Wearable 화면에 어울리는 List를 가진 앱 화면을 볼 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 360px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/5b2354ec46981e93685e2c739ff3f2e2/34b33/tizen1.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 100%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABb0lEQVQ4y7WVz46CMBDGQU4eiTGRIAhGwyNw44KcSDyY6MGL78SD+EYefA7MzPbrtslI5M9md0l+adN+8zHtlOI4749r2rniprgrnorW8DRjN6ORMR+N8FwVDwWP8DBaZ8i4EQE2K+pgx62u6cuuEUavD0ZdXsK46WZ5FWZk+iT6EuporOn38j3Pm4s9ewnh2B5SJ+ZhvHTF2HXdVkEGnojV2yzh5dx93+f1et1GUUQGtsRxrEFfaTRiXusRCw99pBaLxXO73fJmsyEDS8Iw5NVqpQ2gS9NUv0BodBzm4OWoydZkQQAiZJFlGZdlyVVV8el04qIo+HK5cF3XvNvt9AugtXHGo/1oCDGCEHw8Hvl8PnOe53w4HHS73+/7DfuWbJeFwCAI3vZwcMljRbGFke1gUcaOzWw2e2P02PzHwe799FRGhGODfcM+ovIYG/z0hi4HBCszmNJyuaQkSSZfDn96fU2+YFGIn16wv/4FfAGoQWkTvL/fSAAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;tizen1&quot;
        title=&quot;tizen1&quot;
        src=&quot;/static/5b2354ec46981e93685e2c739ff3f2e2/34b33/tizen1.png&quot;
        srcset=&quot;/static/5b2354ec46981e93685e2c739ff3f2e2/00d96/tizen1.png 148w,
/static/5b2354ec46981e93685e2c739ff3f2e2/0b23c/tizen1.png 295w,
/static/5b2354ec46981e93685e2c739ff3f2e2/34b33/tizen1.png 360w&quot;
        sizes=&quot;(max-width: 360px) 100vw, 360px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;이제 TAU를 사용할 준비는 마쳤다. 이제 본격적으로 TAU를 활용해서 만들 수 있는 Component들을 살펴 보도록 하자. &lt;/p&gt;</content:encoded></item><item><title><![CDATA[Galaxy Watch 앱 만들기 #1 - 개발환경 설정]]></title><description><![CDATA[개발툴(IDE) 설치하기 Galaxy Watch 앱을 개발하기 위해서는 개발툴(IDE) 설치가 먼저 필요한데, Galaxy Watch의 경우 Tizen OS를 사용하고 있으므로 Tizen에서 제공하는 Tizen Studio…]]></description><link>https://hs85jeong.github.io/tizen-1/</link><guid isPermaLink="false">https://hs85jeong.github.io/tizen-1/</guid><pubDate>Mon, 02 Nov 2020 00:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;개발툴ide-설치하기&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%EA%B0%9C%EB%B0%9C%ED%88%B4ide-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0&quot; aria-label=&quot;개발툴ide 설치하기 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;개발툴(IDE) 설치하기&lt;/h2&gt;
&lt;p&gt;Galaxy Watch 앱을 개발하기 위해서는 개발툴(IDE) 설치가 먼저 필요한데, Galaxy Watch의 경우 Tizen OS를 사용하고 있으므로 &lt;a href=&quot;https://www.tizen.org/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Tizen&lt;/a&gt;에서 제공하는 &lt;a href=&quot;https://developer.tizen.org/development/tizen-studio/download&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Tizen Studio&lt;/a&gt;를 사용해도 되지만 개인적으로 &lt;a href=&quot;https://code.visualstudio.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VSCode&lt;/a&gt;를 주 개발툴로 사용하고 있기 때문에 VSCode Extension으로도 제공되는 Tizen Web Exetnsion을 사용하려고 한다. &lt;a href=&quot;https://code.visualstudio.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;VSCode를 설치&lt;/a&gt;한 뒤 Extensions: 마켓플레이스에 tizen web을 검색해 첫번째로 검색되는 &lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=tizenweb.tizenweb&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;&lt;strong&gt;Tizen Web&lt;/strong&gt;&lt;/a&gt;을 Install 해주면 된다.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 423px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/bd13232f1afd15f5db2471faeaa8fc4a/d7276/tizen_1.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 84.63356973995272%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAAA7DAAAOwwHHb6hkAAADaklEQVQ4y4VUyYokVRTN7xDMOSMyMjIiY8qY54ycs9LqrEYaiqa7do1UiyC96f6Dpih/QVcqIn6DK/9AcOFKBFH/4Xjeq04QGnFxeY833jPc29KKCxjVEVWeIcsK+L6PerFAFEXwgxA516qqQppmCMIIRVEi4Hqa5qjrBTxvznmKPC+RJhlanh8imLswpgYsy4HjuHBdD5btyMOeO4dhmJhM9PdC16dyf8q7Ym6aM7TSoob38Uuomi43bMeDzcdmlo0ojBEyG02boN8fYDAYvhfWzIaqjjEaKhiPx2i5cx9mecCEP2RZjrKsGIQ+Z3aeJ8P3A4RhKKGKD4J3IdbmPCdGx3HQ7fbQCoIAeSyy0BAHcxRJhJqcCdjnB/8vxKOWZaHT6aIlfhdkK4qC6ekWxtVL6ORnvdlgtd6gqmtyaHBfxXA4+lcoGI0UObcMB4Zuot3poDUn5MAx0VUNvPjuF9z+8CvUmY/teoVq0WDZLElFhiROUeQFSnKeUfGYseBeSprydQE7dNBu88G0WsJ/9oa/8Vd/gWGwZIYTyWccxRhy/SyAEEZkdJ4PRKhDLJ43yB5n+LDdpii0hl1soakqXrx6jU8+f4XpZIrL0wnL5RKHwwUOF0c0qxW2uz12ux0aZiY4dl2XdMVw9Anc8QDd3gCtPKdBiwz2ZIy7H3/Gp9/+BIv2ORyPWK/XhFkiI9SaXJY08rJpkMjsE2nkkgKWmxqmZ1IUQo4ISzzaJwyN8D7oqFDGOgpe8ukAlZkLiAJqv9dHj9HvP1CgjHhWU9HcNEiv3kEWkovUXRr67v4O9/dvyV+JNSHWFKWqahyZrYS7PyBJUmkRYWZRQY5DyoY9WDR/l5+18uIBThyl+PPv3/HHX7+RO1pmtcZ2u8eG9lmwtoWacZzImo3jWBp7JOyj0DaxDdOfPUD2PFe6XNRmmha8QD5MU6osGoHISJSi9NxZXaH6kDQMRhhpCorrEtFlQtsQ8pMnT/H0+lqmf/vZa9w8u5FkHy4OzHKFjy5P2BPq6eqK456Pu9JOsvuwM4X0Z2JqsHUdHVF6jx49lsq5XoDvv/4K33z5BQp6s2kEfws05DGkNdIk4RixnWUSeiTgky6xFgoKWM8Ssm3b7DC2hCyqYLnayTYk1A9YlqLk/qvTnGNEtWNS0+128Q/5ujcublWv5QAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;tizen web&quot;
        title=&quot;tizen web&quot;
        src=&quot;/static/bd13232f1afd15f5db2471faeaa8fc4a/d7276/tizen_1.png&quot;
        srcset=&quot;/static/bd13232f1afd15f5db2471faeaa8fc4a/00d96/tizen_1.png 148w,
/static/bd13232f1afd15f5db2471faeaa8fc4a/0b23c/tizen_1.png 295w,
/static/bd13232f1afd15f5db2471faeaa8fc4a/d7276/tizen_1.png 423w&quot;
        sizes=&quot;(max-width: 423px) 100vw, 423px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Tizen Web Extension을 설치 한 후 관련 명령어를 검색하려면 명령 팔레트(Ctrl + Shift + P)를 띄운 후 tizen을 검색하면 된다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 590px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/e5632d36b32a9a99ffe56917eb92f2f0/dd107/tizen_2.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 36.209813874788495%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAA/UlEQVQoz43P3UrDQBAF4LxCVSpCL7TZXRu10TRJu/+bBBKxF1b0QvT93+O4bpKCRUovPgZmZw6zkW1aSFPhqeRYrcVAIt9IFFydyM+GeYloor8wbz7B7Ctuq7eAuR2uxRaTtMZZ2vj6V9+rcZ51mPIPTDfvuNTfuCh3iK7KF2TVFq6qoV1PKIvkPsUNXWBOE29xYOixBDG7Q5w8gmQO8cMa0azskNsOTitY66CVhjHGVwVGKSghHj2C9OI41GhWtFiZ1gdIaG0CY2wIXy5TkN8lykBONFz4DOsvMj5EShUC87wA5zzUMfQ/h2/7C63uA5X/shAyDI7GxWPBox9GDdkajlgu/wAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;command palette&quot;
        title=&quot;command palette&quot;
        src=&quot;/static/e5632d36b32a9a99ffe56917eb92f2f0/799d3/tizen_2.png&quot;
        srcset=&quot;/static/e5632d36b32a9a99ffe56917eb92f2f0/00d96/tizen_2.png 148w,
/static/e5632d36b32a9a99ffe56917eb92f2f0/0b23c/tizen_2.png 295w,
/static/e5632d36b32a9a99ffe56917eb92f2f0/799d3/tizen_2.png 590w,
/static/e5632d36b32a9a99ffe56917eb92f2f0/dd107/tizen_2.png 591w&quot;
        sizes=&quot;(max-width: 590px) 100vw, 590px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;제일 먼저 해줘야할 작업은 Baseline SDK를 설치해줘야 한다. &quot;Tizen Web: Install Tizen Baseline SDK&quot;를 실행해서 Baseline SDK를 설치해주도록 하자.&lt;/p&gt;
&lt;h2 id=&quot;프로젝트-생성&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%83%9D%EC%84%B1&quot; aria-label=&quot;프로젝트 생성 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;프로젝트 생성&lt;/h2&gt;
&lt;p&gt;먼저 개발환경이 제대로 설정 되었는 지를 확인해보기 위해 기본 프로젝트를 만들어보자. &quot;명령 팔레트 - Tizen Web: Create Wizard Project&quot;을 실행 주면 프로젝트 생성 Wizard가 실행이 되는데 Template과 Sample 중 일단 Template을 선택해보자.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 374px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/e1e863a817646c096c05173391efbfc6/66c55/tizen_3.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 62.834224598930476%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAABcRAAAXEQHKJvM/AAACvklEQVQ4y12TTWgTURDHc1a0arF6UehBUXorniooiBc9iR568uLN4l0v1i8oFVtU2kpFoVKogogi9KAQDdpAatpDLIpNTGwbmmQ/326ym+0m+3b/znux0fpgmNm3+377n3kzMVXVoGkqVFUlr6FcqSAej2Nubg7JZBKpVEr6dDot9xKJBBYXF+W3wsS5zbPCYgKmELSiaNApNjQFhUIeP/O/sLKyQnEBy8vLWF1dRT6fRy6Xk/v/gzbjmIAxXUXdUlFWDKyVDZjMQqOmwzQMGIYJ0zTJG21jjEmv6zoURWnDhI/Zpops0cC1tzWcHHPRO+rhzGQNY4kaNFUoFhm01AiA47io1+vwPA8uecdxtir8WjBwfCLC9qsOdg9k0Hl5AR0DS9gxCFx64bdS+gPjnCMMQ0o7i4WFNApUArF83/+rsH+6gV03gJ5R4PC9CIfuchwdiXCEYgG9/8GByxTUPV8ejqIIPIzQDDgC8uJZLNd1Zfqx7uEI++8A56YaGHrHMDjLMPSe4cQjjs5bwKnJJnSqF6EkKGty/CDLsVDG67VQAoV6mfKBIaCLgP3THp4kShiPlzCRUNA3wbGP9ntGONYUWwIbvAUUYLHMjRDpStBSTqUQFxU7OBS1gZMfy5j6XMJ0skJ15ei6DRx7GKCssTbwm87hNiNsBJFUV3JCVBuRIEKjOsf6xjk6qIYXZzy8TJXw+ss63qRLOP04wLbrwJVXHhymotkMIHQVLI6MGuBTsYklLUCxKn4ANBs+1ZAu5fm8LWvV+yDEhWc+zk+1rHtYXFSIDHWBpStgli1TE9nafgiL0tXqZJ5QF8lelbdcoz6cma9K4J6bwE5Su5dSPfu0iVTWhHgvml98bNu2LP6/K+IBwdjWSRFtUSxrmM1YBLeR+E6TQNNTJVjlz6y3+kyRnlkWwas0UWzLCAr/G2mojxqSpT1oAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;template&quot;
        title=&quot;template&quot;
        src=&quot;/static/e1e863a817646c096c05173391efbfc6/66c55/tizen_3.png&quot;
        srcset=&quot;/static/e1e863a817646c096c05173391efbfc6/00d96/tizen_3.png 148w,
/static/e1e863a817646c096c05173391efbfc6/0b23c/tizen_3.png 295w,
/static/e1e863a817646c096c05173391efbfc6/66c55/tizen_3.png 374w&quot;
        sizes=&quot;(max-width: 374px) 100vw, 374px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;그 다음으로 Wearable 용 앱을 만들거니 Wearable을 선택해주고 일단 Version 3.0을 선택해주다. Version과 관련된 설명도 다음에 추가하도록 하겠다.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 473px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/7580d64b16bc809ac6510f0b3fe26e9c/e7c48/tizen_4.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 62.36786469344609%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABcRAAAXEQHKJvM/AAACLElEQVQoz3WSzU8TQRjGm+jBGA9+8CEgINGrV2/6N3gw8Z/QgwejQqyIgJAYTiSKcuPgyYuSqjcQ4rVq0iZa7QfQ7s62tG633ZZtd3/ODrvaKkzy23dnknnyzPO+EcMwaLfbhMs0TYrFIvV6Xe1d9XWYjFkcfwAD09A7YdI/UaFvvEzfwyb98uz0JKx+rhAJBT3PU1czmQzxeJx8Pq/2baW4x8x7i94puDAPw3cznLyZoOfWV0ajJcbk2bkZj3dfOgT95Yu2Wi0cx8F197253l/BM49gbM5jeA6urcCVJRicgfNPPFVj/wqGDpPJJEKI/xz2SMGRWbi04BJL1VjYtBma9qQghwum02kSiQSaph345LOSG68c7qzVuL9W5+pzl4HHMHSYYDab7XbY8eSeKT8ruLzo8vpbnaefGiqCkVmvW9DPLczQ767f6Waz2SU4+8GiTzq5OO8xKjO7/cbh+kqbQflk/2xYRvGnKWEDDlpeMDbR1RpHx1GNOSVH5Mg9ODYhxyXYn4jC23gg6DuqVqsK05Sof0thVmvULZP1ZIVFmduLDYslyfKmxcuNKksf93m2XiWRLRHxs9J1vQMNvbAdsKXQ8ltUjG3s8hb2bkgOu1LA/iUkOg3JblHsOwwRRpGSUSCX+U76Z4rtXJpySdB2Guw1bZlrSIOGbaFrOxR0Ay1ACKNDUDoVqmoY+RRiJyXrD0paWrrLURZZykY2qP4+Q1HfCe4INRW+4G8aqz9878HZ3wAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;wearable&quot;
        title=&quot;wearable&quot;
        src=&quot;/static/7580d64b16bc809ac6510f0b3fe26e9c/e7c48/tizen_4.png&quot;
        srcset=&quot;/static/7580d64b16bc809ac6510f0b3fe26e9c/00d96/tizen_4.png 148w,
/static/7580d64b16bc809ac6510f0b3fe26e9c/0b23c/tizen_4.png 295w,
/static/7580d64b16bc809ac6510f0b3fe26e9c/e7c48/tizen_4.png 473w&quot;
        sizes=&quot;(max-width: 473px) 100vw, 473px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;선택된 버전의 Platform이 설치가 되어 있지 않을 경우 아래와 같이 우측 하단에 Popup이 뜨게 되는데 Yes를 눌러 Package Manager를 실행하여 Wearable 3.0 SDK를 설치해주도록 하자.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 477px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/0b7e078b326eb8c6ed60d87fabeb53bc/b685c/tizen_5.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 28.511530398322854%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABC0lEQVQY041PS26DMBT0MbBJwWC+AWMMASKq0CSoUhe9Q5fdVz1SpR5zaqwQVKmLLkbzZsbzbBOXUTBKQRkDXZgyC2a041DrsVvmOM7tzIYlW3PXdUEy2UDpFqpS0NrMShnUqIzuut56sqos932PpmnveXvoUJQSldHa+CKKQdJCoT+OOJ8vmOcZ0/Rk5+t1tgvXcl1rHMwCrbX1Ft2auUgTyGIPVeSIwhBECIGyLO0LlsJyeC2EofiFIAg3zTn8vAZvL/CL1jJPSxApK/OVAeP4iNNpwjAM92IcJ38jyZD4O/jPb8g+vuC+vGP/+Y3d8RWEm5uWBRsCcP4P+D48kcLLFLwox4PhIErxAw0tskSyhuXOAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;tizen 5&quot;
        title=&quot;tizen 5&quot;
        src=&quot;/static/0b7e078b326eb8c6ed60d87fabeb53bc/b685c/tizen_5.png&quot;
        srcset=&quot;/static/0b7e078b326eb8c6ed60d87fabeb53bc/00d96/tizen_5.png 148w,
/static/0b7e078b326eb8c6ed60d87fabeb53bc/0b23c/tizen_5.png 295w,
/static/0b7e078b326eb8c6ed60d87fabeb53bc/b685c/tizen_5.png 477w&quot;
        sizes=&quot;(max-width: 477px) 100vw, 477px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 590px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/a40ca76eab0a69124933fce8932cdedb/e44fa/tizen_5_1.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 54.126984126984134%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABaUlEQVQoz5WRy07DMBBF8+us+APW7OA/EDs2lcoaiappXo7z8DNOcplx3VaIqkCkoxnZk+s7M5maFqzrgtbM+JABlZ4x0NngF9gZUD6gaDuUbQ+pLUxYoemOMUQpOtRyhJn4bEa2LQye3zUeNwpPW41PYVBQQUloNUKNFLWCcxY+4i54B2dthHMm2+QG968j7l4GPLwpNL2G6iVE06Cua1RVjX4YYK0j7BUu58ZYZNZoBGewTo5iukiFzh3hQmMMpJRo2zZGIUTKO/R9H6PWBhn/MFJbDTnqui7GaZqwLMsP5nm+ikyPDNRJ5r2PSVVV8SWlFP7zreuKhsQa2UZDSXCkebFgF19iN6fim6QadzjAFgV2u91RkFvmBXC7PBsuOgnecnaKqiyhyFCe598Fechs+1dnibMgGVFkJM1wOs+QhVnw1PIfhwi/38OzS5p/3DILikbEdjlnwRACMd8gxA1z5KUIoqOlfgHD9FRsRFWq4QAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;tizen 5 1&quot;
        title=&quot;tizen 5 1&quot;
        src=&quot;/static/a40ca76eab0a69124933fce8932cdedb/799d3/tizen_5_1.png&quot;
        srcset=&quot;/static/a40ca76eab0a69124933fce8932cdedb/00d96/tizen_5_1.png 148w,
/static/a40ca76eab0a69124933fce8932cdedb/0b23c/tizen_5_1.png 295w,
/static/a40ca76eab0a69124933fce8932cdedb/799d3/tizen_5_1.png 590w,
/static/a40ca76eab0a69124933fce8932cdedb/e44fa/tizen_5_1.png 630w&quot;
        sizes=&quot;(max-width: 590px) 100vw, 590px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;혹시 설치되어 있는 Tizen SDK의 경로가 기본 경로에 설치되어 있지 않으면 아래와 같은 Popup이 나올 수 있는데 이럴 경우는 &quot;Tizen Web: Change Tizen SDK Path&quot;를 실행한 뒤 Change Path를 선택하여 설치된 경로를 바꿔주도록 하자.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 463px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/1141df35148c40e6ef28acbb7a7167f3/97b7a/tizen_6.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 25.70194384449244%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABA0lEQVQY042KbU+CYBiF2ZR6qjEpKdRGWYKKvJSrJQI9uKShkLWRWqvVzPr/f+H0CPahD219uHadc5+bkxo2pI6Hku4y+hA7LnYZop77J2fb+rb6KRverz+hzXa1C042fWjDV9SjBY5v39FMPqGNl2jffUEdf2Q+ZdtR+IbGaJFtWryEwnp18IID+gyZQS5TCNYQHFF7IBf3qPiPkPopKtczlqeo0RkOgzmqrMvrXqPzDGXwhA17hKIVgbeYzQhFOwZp+eBKBoXgTCE6Kfbc3AU2Fqw49x/wZwn48yT3iu4ERA/Aia0r7PcmULwHnAQp6jTFthWCGDfYYpB/smmG2Gk6+AY4x5sN20wHPQAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;tizen 6&quot;
        title=&quot;tizen 6&quot;
        src=&quot;/static/1141df35148c40e6ef28acbb7a7167f3/97b7a/tizen_6.png&quot;
        srcset=&quot;/static/1141df35148c40e6ef28acbb7a7167f3/00d96/tizen_6.png 148w,
/static/1141df35148c40e6ef28acbb7a7167f3/0b23c/tizen_6.png 295w,
/static/1141df35148c40e6ef28acbb7a7167f3/97b7a/tizen_6.png 463w&quot;
        sizes=&quot;(max-width: 463px) 100vw, 463px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 469px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/d6b1405009f38a551cca07b688021a40/0cdca/tizen_7.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 24.520255863539443%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABFklEQVQY01WQO07DQBRFvQsQDgWRY3vs8fgHOMGJHSdOSGhAQoKCnp4GCdgCBXugYifs6jAzBATF0Xkaae77OCItEbEkjGNrQ5wopEr/+YdIJkS79zCS+GFEWpT4IsJ1XZzjWc9qs6U/37DWXm8vmC+WNN2CaTtnvuyt66b99mxGPa1pu47TqkKlKU3bkutQ1x3gCCmZ1FPGZzWn44n+0NgJRqEgiGLb2aLrwFhmDNUJI20vKfBUyVGc46scd6ADKx1kund9z6Jf2fFDs7ZeyQT/ojKiwMO7fqB8/eTw5oXg/o3i8Z3i6YPh7TMH+3s4Ms0wJFluw0wtdnf6izDWd/arjmB9hz9Z4dVbgvYSv71iNF7aG34B+hShV8Fm6/kAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;tizen 7&quot;
        title=&quot;tizen 7&quot;
        src=&quot;/static/d6b1405009f38a551cca07b688021a40/0cdca/tizen_7.png&quot;
        srcset=&quot;/static/d6b1405009f38a551cca07b688021a40/00d96/tizen_7.png 148w,
/static/d6b1405009f38a551cca07b688021a40/0b23c/tizen_7.png 295w,
/static/d6b1405009f38a551cca07b688021a40/0cdca/tizen_7.png 469w&quot;
        sizes=&quot;(max-width: 469px) 100vw, 469px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;
&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 590px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/c19936986a92ebd36a5fcf5f732ec4ac/030bd/tizen_8.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 17.298187808896213%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAADCAYAAACTWi8uAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAkUlEQVQI11WM2w7CIBBE+zVV46V0uSxYC7RY//+PxoU2Jj6czNlhQsdTRC5bw4UJZLmhnd/dHLf1v776Xx4Msu2sSHl/kJeCV0yYU0bMC6a5+oK8FkTJ2qe8IsmuvtXOcsD9oXAThpFwvlzReR8QwhOaNJxjOOtaGm3AzLByG2N2pCPZjWrcUz4hIiilmvf9CV/7OWKGRM4FpgAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;tizen 8&quot;
        title=&quot;tizen 8&quot;
        src=&quot;/static/c19936986a92ebd36a5fcf5f732ec4ac/799d3/tizen_8.png&quot;
        srcset=&quot;/static/c19936986a92ebd36a5fcf5f732ec4ac/00d96/tizen_8.png 148w,
/static/c19936986a92ebd36a5fcf5f732ec4ac/0b23c/tizen_8.png 295w,
/static/c19936986a92ebd36a5fcf5f732ec4ac/799d3/tizen_8.png 590w,
/static/c19936986a92ebd36a5fcf5f732ec4ac/030bd/tizen_8.png 607w&quot;
        sizes=&quot;(max-width: 590px) 100vw, 590px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;위 과정까지 문제 없이 마쳤다면 이제 거의 준비가 된 것 이다. 이제 Template 항목 중 기본 앱인 Basic UI앱을 만들어 선택해보자.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 590px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/b46b6816607390b4445e0f4f179db57d/6af40/tizen_9.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 32.794117647058826%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAAA7DAAAOwwHHb6hkAAABF0lEQVQoz1VS226DMBTL/38cqmhB097W0UuAhIQ7FObFR2RaH6yc+MTOiUGVZQl9gPXz+USaprhcLjifz8iyDKfTSeo8z2XlvigKVFUFrbXoIpQQAfpANKSYpkmSvBmyJkfDOAAR9co2DqVxqK2DbRrUdY2u6wR93wu892/7YRhgjIG1Vnpt28I5J5yyw4rvdsen3eCHGV1ozvMsmKZJVopYj+Mo+2VZxIQcQaNt2+RSVXYr9h/g0e8w3RQMfRAtWNdVhMR/w9frJb3IcVpmyXNi2I4LPsoZX82CcZr/brbWyPM5UXtMTZMmxMKaYvbvt7uAOTIyxUO3ykGHHL0PWYbxmUf8QDEbrvJHBD5yNNfhzPV6lZrcL7FCDxBGugObAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;tizen 9&quot;
        title=&quot;tizen 9&quot;
        src=&quot;/static/b46b6816607390b4445e0f4f179db57d/799d3/tizen_9.png&quot;
        srcset=&quot;/static/b46b6816607390b4445e0f4f179db57d/00d96/tizen_9.png 148w,
/static/b46b6816607390b4445e0f4f179db57d/0b23c/tizen_9.png 295w,
/static/b46b6816607390b4445e0f4f179db57d/799d3/tizen_9.png 590w,
/static/b46b6816607390b4445e0f4f179db57d/6af40/tizen_9.png 680w&quot;
        sizes=&quot;(max-width: 590px) 100vw, 590px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;드디어 마지막 생성할 앱의 이름을 정해주도록 하자. Basic UI 앱이니 BasicTest라는 이름을 적어 준 뒤 프로젝트 생성을 완료하면 된다.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 590px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/2a57e4cffc3a28cbe17062f5f84a8577/52dc2/tizen_10.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 52.44565217391305%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAA7DAAAXEQFnlpcGAAAB+0lEQVQoz22SO4sTURiG50+sGFetXF1EDFqvhYtbC4IoixYiWAraaOkPsBJsxGbBhQUFL4WIohaCKMQkxsRcDGbuc+aam3FFI4/nzDiSVYuXjzOc88z3fu+nBUFAEPio6guB57mEYYBpmlTKZRqNBrVaLVW9XqdardLr9eSdEN/P3s1KUx89EeB6grg/ZDTZRAQhjiswLRvHtrEsa4s8z8sa+B/wk51Q1ic0xZS7T95w/eYab9sRH+xvvDcnCD8kkt2EM8phOXAWrLWtPmXzB90ELl6+wuFDRR4+L9EdQKn3VXbupyPJH/0N3iofrWnENEPYePSSxX17KRQKnF49Q6nbp2p9x/kNVA/UXHVdxzBUNaR1gRC+VFbVT7WWmdAM4NTqWYrFgxxbWWH3rnnuPHhBKwLbyeYVyMuOpWMZnwl9V54dBv2Q0SBmOIhkjYgjIYHSct2D4ydOsrCwh6WlI+ycL7B27yntGaDvyy5ck0DYjIcxX0ZJCsk1HoQZUFluxXDj1jo7CtuZm9vG0eVlXtUsas40TTuzHKbr0um0pTrSvpFaVWumUldV2U5DqVhTmfJPzp2/wIH9i6zff5aG8u5PKFmSCjCbaJIkjMdjRqOR1Jg4jtE6tkxZ36Qjg7m98ZhLV6/x+qNP3Z1Skevkin9XI19qVRU0lzr/AmGtuRG8axNoAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;tizen 10&quot;
        title=&quot;tizen 10&quot;
        src=&quot;/static/2a57e4cffc3a28cbe17062f5f84a8577/799d3/tizen_10.png&quot;
        srcset=&quot;/static/2a57e4cffc3a28cbe17062f5f84a8577/00d96/tizen_10.png 148w,
/static/2a57e4cffc3a28cbe17062f5f84a8577/0b23c/tizen_10.png 295w,
/static/2a57e4cffc3a28cbe17062f5f84a8577/799d3/tizen_10.png 590w,
/static/2a57e4cffc3a28cbe17062f5f84a8577/52dc2/tizen_10.png 736w&quot;
        sizes=&quot;(max-width: 590px) 100vw, 590px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;아래와 같이 생성된 프로젝트 파일들이 보인다면 생성이 제대로 완료 되었다는 것이다.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 294px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/aadc383ea5675a2a949d62ada259795b/d038e/tizen_11.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 88.43537414965986%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAC60lEQVQ4y31U2XbaMBT0l7QhLAZDsMG7bGMwizdCgISE5jN62v7+dCQKJT0lD3NkXVl3mTtXWjfbo3P8Cc+xscpL1GWNJE7gByGKokBVl4iiGJ7nY7kqsFyskOcrlGWBmPYgFMiyOebzJZIkgWY6PgwngmVZGI9tjEZjDAYPCmPbhm07ME1LwbJGXEdqlf/JdTg01dl5rwW+j+PrEbN0gvv7Jo1jZpTQkY1ms0W00WqdcNp/xLX9vtmEtt0e8OP7L+TzjIYW+oMBTEYyDEMFOKPd7qDT0S/r+fuM814TIsJiPme5Y4RhiBV5enp6wtN2Rw5z7PZ77HZ78iXUP67rwnEcrn9x2rvqXBuNyAkhSwxFrIhf12usqxoFG1TXj2zMI9LJVJ0HgWDg03qNMIzYuACa47jMakXeBIn1IKIZ4iDCjFGresdMD8z4gMPLEUW95fcz1usd8lXNrAQRXTAe+9D8IMBkMlFpR3HMnzd4//aO9+M3vL694XA48DxlFqGSzmpZ4rHaIF+wknKN5bJANsuUvaLsNFm3aZqQpbuehzSdoipLlHmOvJC6W8BlFYoaSks6jci7YJkJ1SADBUwq5ndMu+a6HsuNFIeyS3qnSwc+plmGmJnN0hTdbk91+iwRKY8LlApaam007qGFQpCXLTx2Sba+2zOUUD0/oLgH0PXuB3l8BhlQ8ylsIYQqSV7u0eEDp8T3Q/T7fZXR9YVbji4Oz9xILnVdh941KCOOHEfpy9e7SynXlz51GFDMVVUh8D202jqsfg/h0IBNHuWj4NguNSZgMPPrbG86jJMJXl6e2TGBJo1W30A07MGhSKfpTAk6TVKOYv+mww8cylJlh+VL0+60MRz4iO0cPh0mzDCdzNQLc9doXC7dggyonedQOrVGLgI3RMZJWVC4RV7x3ePoUciuE7Jxcl49NVH/Qk6JaTrQojjiw5ojmSQY0SiCGHNyVpYbbDZ7PhA1Nhw3EaacpvDPuP0Pp9H7Det2Q0SHesqSAAAAAElFTkSuQmCC&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;tizen 11&quot;
        title=&quot;tizen 11&quot;
        src=&quot;/static/aadc383ea5675a2a949d62ada259795b/d038e/tizen_11.png&quot;
        srcset=&quot;/static/aadc383ea5675a2a949d62ada259795b/00d96/tizen_11.png 148w,
/static/aadc383ea5675a2a949d62ada259795b/d038e/tizen_11.png 294w&quot;
        sizes=&quot;(max-width: 294px) 100vw, 294px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h2 id=&quot;emulator로-실행해보기&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#emulator%EB%A1%9C-%EC%8B%A4%ED%96%89%ED%95%B4%EB%B3%B4%EA%B8%B0&quot; aria-label=&quot;emulator로 실행해보기 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Emulator로 실행해보기&lt;/h2&gt;
&lt;p&gt;Emulator를 실행하는 방법은 여러가지가 있지만 처음 시작할 경우에는 생성된 Emulator Image가 없기 때문에 Emulator Manager를 실행하여 테스트할 Image를 만들어 주도록 하자. Emulator Manager를 실행하기 위해서는 &quot;Tizen Web: Run Emulator-Manager&quot;를 실행하도록 하자.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 425px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/b81672a8835d68a1a3b8877e230caaa4/4d20f/tizen_12.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 50.588235294117645%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABzUlEQVQoz52QTWsTcRCH/xA/iAiePIhe9KYW38BLaQWVghe/hpXa+BE0DTVpPVdREWxrQaxID93YHmLapLtJ1ib73s1uamgFBR9ns0GKaAUXHmbmt7Mzvx31rP6NphWy71vsRQFd16Lr2fzvo0bfRowuBQwvuoxIHJE4vOBw413ELWFsOf4Hg56VLmOlXZTKW6jHDpknLkcENSPMCkUbVRCS9wlThyF9OQc1Ld+posPxpz6XF0NOvQg4NudzUuLZVwFH57xfgzOzzt8RE5miR6bgy8Bpm6tvQm7K712RoRde73D7fcSdDzHX5RzXlkIuLoTp4BnnD4guplTBS0m2n3gecH4+7Dsbmt/hkgxIlpwT7fTLgDPi9nCHTuqwmDjM2+kdcgMeDXh4IE/0/IF79vPf6im5X04cTpQ63F2NGNdixksx97SIrGjZjxEP1qJ+nJT6vjCZ5MKEltbZ9S7ZtXigJcSoOO5R1U1qVZ1P5QqbRouO59H5rOObQnOLr6FLz2vjNaq49c1B3cKsrOMYG6LX+NGL4Ps+ygy+oOk2Wm2blbLBqu7QsHwaTVMWGWwZDWzPx2y1Ja9T0+u0HY9ty6Zc2Uh76g2CTsRub4+fLzRfcWLR7moAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;tizen 12&quot;
        title=&quot;tizen 12&quot;
        src=&quot;/static/b81672a8835d68a1a3b8877e230caaa4/4d20f/tizen_12.png&quot;
        srcset=&quot;/static/b81672a8835d68a1a3b8877e230caaa4/00d96/tizen_12.png 148w,
/static/b81672a8835d68a1a3b8877e230caaa4/0b23c/tizen_12.png 295w,
/static/b81672a8835d68a1a3b8877e230caaa4/4d20f/tizen_12.png 425w&quot;
        sizes=&quot;(max-width: 425px) 100vw, 425px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&quot;Create&quot;를 눌러 원하는 버전의 Emulator Image를 생성해야줘야 하는데 우리가 기본적으로 시작할 할 이미지는 wearable 3.0 버전의 이미지 이므로 선택 후 생성하도록 하자.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 551px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/75eaf2697d897ee6b21e3c9d48ab79c4/4877f/tizen_13.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 51.36116152450091%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAABcRAAAXEQHKJvM/AAABXUlEQVQoz52STU7DMBCFvWILR+BESNyKDRLsOAIr7kGLEqBpk4hKbWgbtWmbxE5i569+2KYVgQ0Fy5+ePc/yWOMhJ9cxTm8TXDzkOL+jOLuJQa4SXN4vEbx5GI5c2LYNy7LgOA48z4Pv+wbXdU1c+4PBwHhkFFWwZwzDkOF1TuEsObxYImQN6rpCVVUoyxJCCKN636Xr1XUN0pYF4tVCEWKzXIBuI2BXKxo0zRdt237bd9EXHS4nKaXwxxM44wDjSYBgHoKrjEKozCb7D8pOXKk+WxQceZ4bSNtUyGqJKQOKBlBzPyT+MwjXdWklkpRik6RIWI5tyhBtEtBCoN7B+MdC1qyEtZLozQr03gv05wJ9tX6cZnhaVHhZA8+RPBrCdS0a9cKMI2YF0rzcrzm4ep5QNdD+p/4O0b+j65UxahCcG6VpqsK7P9eT6K+WUppeOvST1ka1iY6r2dHf+QBzIPqht0ebCwAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;tizen 13&quot;
        title=&quot;tizen 13&quot;
        src=&quot;/static/75eaf2697d897ee6b21e3c9d48ab79c4/4877f/tizen_13.png&quot;
        srcset=&quot;/static/75eaf2697d897ee6b21e3c9d48ab79c4/00d96/tizen_13.png 148w,
/static/75eaf2697d897ee6b21e3c9d48ab79c4/0b23c/tizen_13.png 295w,
/static/75eaf2697d897ee6b21e3c9d48ab79c4/4877f/tizen_13.png 551w&quot;
        sizes=&quot;(max-width: 551px) 100vw, 551px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;생성 과정 중 중요한 부분 중 하나인 Emualtor의 경우 가상화 기술(VT)과 GPU가 켜져 있지 않을 경우 매우 느리게 실행이 된다. CPU VT의 경우 바이오스에서 VT 기능을 켜준 뒤 &lt;a href=&quot;https://developer.tizen.org/ko/development/tizen-studio/download/installing-tizen-studio/hardware-accelerated-execution-manager?langswitch=ko&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Intel HAXM&lt;/a&gt;을 설치해줘야 하고 GPU의 경우 그래픽카드가 제대로 설치되어 있다면 문제없이 ON할 수 있을 것 이다. 문제가 없다면 바로 이미지를 생성을 완료하도록 하자.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 590px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/3da084b518c99bd953d0cd2f0e8ae489/ebbc9/tizen_14.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 47.70642201834862%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABcElEQVQoz5WRTU7DMBCFcwS4A+IIiFOw5wwcgyVCFSxAgh1iSVddsmGFxP8S9UeIJg1p0jSOEyd2UycPJy5NqVohRnrym7Hm07NstE0XljtG1xziwx6BcAkqcoQzxZNi7ss54TmsKEef5nCY9l0vQc/n6AcCRuNZoNnJcP4mUPqjR4HTF4HjR648x017grNXjsaT6h84Du9TbF2E2Dgh2G8x7FxRbF+G2FT97nUEo2M6sH0KyyPou1qlD1JZp1VnyHXCsZqbVOIznMKOJAZK1kJvsIgiTRhSFs8leAIgB4paUkrwTOoe62UMXReEhGCMIY4ZolgBhaiUphx5garuzCkObhN0AwWe6mF5V8z04w3P8xBFUQXUUA3knCPLMsgZsNWbYK8Z492vgYUiLMvwfR+U/gaWsMWFssrf7ah0mYqSFzVwuYwve6CeHCBJNGwZuG5x1awCOqMAPqGI/0hYnvnC09YmHJIETqA/YxXwv/UNq4r57qwV3/MAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;tizen 14&quot;
        title=&quot;tizen 14&quot;
        src=&quot;/static/3da084b518c99bd953d0cd2f0e8ae489/799d3/tizen_14.png&quot;
        srcset=&quot;/static/3da084b518c99bd953d0cd2f0e8ae489/00d96/tizen_14.png 148w,
/static/3da084b518c99bd953d0cd2f0e8ae489/0b23c/tizen_14.png 295w,
/static/3da084b518c99bd953d0cd2f0e8ae489/799d3/tizen_14.png 590w,
/static/3da084b518c99bd953d0cd2f0e8ae489/ebbc9/tizen_14.png 654w&quot;
        sizes=&quot;(max-width: 590px) 100vw, 590px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;이제 Emaulator 설정이 끝났다. 생성한 Emualtor Image을 Launch 해주도록 하자. 아래와 같이 시계화면이 나온다면 제대로 실행한 것이다.&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 266px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/59994dbd4d20e2dba6d0b58f1d55d11a/14335/tizen_15.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 135.33834586466165%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAbCAYAAAB836/YAAAACXBIWXMAABcRAAAXEQHKJvM/AAAFqElEQVRIx31Wa0wUVxSeyC9jmsYEE4zWalrftQ2IxqaNtqK/bPFPRdDWpq01jakY26C2iWkxaVGxopGVIsjCwlIesguLIg+Xggu7s+/Z9+wy7INdRAEfmNhEUL/ee3EpSNuTnMzszp3vfuec75w7HF7Y8+fPp5za8PAwWlpa0N7WhrYX3t7ejuvXryMSibA1z549m3o3btx0QGrj4+Pseu7cOcybNw+LFi1CUlIS88WLF2Pu3LnIycmZsXY6EW46WHxHarsyMpC4YAGWLluG15YswRLiry9dhqSFC7F5y5apdS+znMXw0aNHuFR0CakbNmLN2nVIXp+K9akbkbJ+A5JTUvHW2+9g9Zq1yDuVh7GxsdkM4z/iO7lcLuTm5uLTzz7H0WPHcfpMPs4XFODC+QKcOn2G/ZeZtRfZ2YchCMIUyzgO93IxhoaG0EaSf6WsDKqGq9A0N6O9qQ7a5sl7VUM9SktLoW5swuBgbIphHJSbnofR0VHU1dWhskKOnu5OCA4HXB4v/E4LJI8AryjC7fZAr+uGUlGOyqoq3L59G9ONizN7+PAhKhUKqFQNkPw+DHqt8Hq98Pr8CLptiIpOSJKEgN+PQZ8V/QERarUKJZeLWVSjoyP/FIWWX6VS4WpDAwYGBhCODKDfY0eszwuPxwPNjXZUa1rB292ISiJCXgHBcATRaJSE3ojy8nIUFhYyjTJAh9OJ0pJiSG47EW2YgEYRG4ggv6QK6/Z8j1e378f+bw4i/2dSpKIy9Pf3I0bAQqEQ2ViAsrIC+WfPoqurC9zExATq6+vR1noD0YAHQcGA4VgYX5+8CC4lAwkffoX93x5BpPokQspcHD54ANuy8xCLBBG09yLo4NFyTQNltXIyZBq/XF4Gk8kIj09ENCThUnUjYfUlFu7MBrdpH747chiS4id4yk5AfjYXr2zdh3zZZYg2IywWM3jegOLi3xljzufzQVFRDrPFCqtdgOh1o6BQhgaST7fNjAO/FOHdL46htjAPWqUMlt4uaJoaceK3Iuh5HgaDgbxrIXmUE3ALOKvNhoryMniMtyCadbAaDbDoOtHbqoZO8wdaKi6i9kIuVHIZNC2tuNXdBZ6AmEwm6PV66HQ68N1alseenl5wdrsdCqIpm9kIm4mHmYRusQlwuNxMgx3qGtSczkGnWok+qZ9JRyR6DAQCMJvNTFpmI49qZRXZwACOPlAoKsAbjTCZLXAQMY+MDOPBgwe4c2eIVFSCtl7OXrx//z7+evwYd+/eRSwWg5Oow2q1sVApBm1bji6qqqokudDDIdgh2G1sFnZ3d+NGaxvsBh2MHU3w90lMLlQaHR0dDFTqC7D1NAWU4ei9e5M6pIO0Ud2AoNMEr9uFAaIxH2EUicbgt+ggGHsQIKFSljwpRDgcxhiZSlLAD0ng0dpyjUnvMWHPAEOhMMqulMLpIMImnUInMu2WaHQAor6DAfUHgyxk2rvR2CDrkuHhEbhdDlJUOX7Ny5sUdryXaYi1tTVk9xCiBLTP44BPsMDVqyVS8sDntEMkfUzDDosuBOmVrG1sVLEpJJMVwk+eTwE+ffqU9SIdDj6nDWGfg8joFpwWHgGnFX1k4tCqi/4AGRZWiC476WM1mjWaGZN+xhEwPjGOzs4/yQirhYHXw203EYn44HNYmFOGouhlXVVfX4ebN2/iyZMnM4Ys9/J5QsNVVFbh6NFjKCGDtIl0RSvpc+rNzU2sI47/8CMKZTIW8n9O7DggzcOhQ4fw3vub8cHWNHyUvhMZuzOZf0zut6Ztx4aNm7Bn715WrFmA/3bq0SZPS9uGN95cjpWrVmP5ipXMV6xcxTw5OYVMbvesk3JGDuNOxxk1ynLOnDlITEzE/PnzmdP7hIQEfLJr1wxm/3uM0mpT02q1SE9PR2ZmJnaTMzqDeFZWFnbs2EHkVTtj7fQvh78Bun7fDNnzl+kAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;tizen 15&quot;
        title=&quot;tizen 15&quot;
        src=&quot;/static/59994dbd4d20e2dba6d0b58f1d55d11a/14335/tizen_15.png&quot;
        srcset=&quot;/static/59994dbd4d20e2dba6d0b58f1d55d11a/00d96/tizen_15.png 148w,
/static/59994dbd4d20e2dba6d0b58f1d55d11a/14335/tizen_15.png 266w&quot;
        sizes=&quot;(max-width: 266px) 100vw, 266px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;h2 id=&quot;app-실행-해보기&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#app-%EC%8B%A4%ED%96%89-%ED%95%B4%EB%B3%B4%EA%B8%B0&quot; aria-label=&quot;app 실행 해보기 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;App 실행 해보기&lt;/h2&gt;
&lt;p&gt;테스트할 앱을 설치하기 위해서는 먼저 프로젝트를 빌드해줘야한다. VSCode 화면으로 돌아와 &quot;Tizen Web: Build Tizen App&quot;을 실행한 뒤 설치할 프로젝트를 선택해주도록 하자. 다음으로 빌드한 앱을 설치해보도록 하자. &quot;Tizen Web: Install Tizen App&quot;을 실행하면 앱이 설치가 되면서 자동으로 실행이 되게 된다. 아래와 같은 화면이 나오면 성공이다!&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 282px;&quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/6fc928c9b3c48701b95fa5ac24db171c/a9efa/tizen_16.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 125.53191489361701%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAZCAYAAAAxFw7TAAAACXBIWXMAABcRAAAXEQHKJvM/AAAD30lEQVQ4y41VSyxkWRi+vWVDJIIqVarKKzRCgkF3JmZobaK7IjHdE4yiJCwIQbxCtEJoosskSFggxGt0Z9pCwpLNWCI6ERELj+jphBAW4vn1/f/uU3WvqnTmJn/Ouefxne9/nO9I+P7d399ze3d3x+3Ozg7Gx8cxMzOD6elpbicmJrC0tORYL0z5SUpAspubG/6vq6uD9OgRfHx84OXlBW9vb3h4eCAkJASnp6eqw5Wgkjt25+fnSH/2DAEaLfRBBgQG6qDT6WE0mqDRBmJhYYHX3d7eujIUzATYly//ob6+HvGJP8mgz/H6j1xYCouQl/8nsl6Y5fEkPM/MxOrqvw4SStelh+wODw/wz8ePePu2G93dPWhoaEB5eTmqq6tha2tDlzxu7/sLGxsbKjAHoNJlare3t2WgbqSlpSE4OBgajQb+/v4ICAiAXq9HfHw8ysrKsLy8jMvLSzxMqqRE39zcRF5eHm8mIKPRyKDCTCaTHEsd/Pz8kJSUhLm5OVxdXamS43B5b28PBQUFvFgJ4M4o03RgYmIi5ufnGXh3d9fp8vX1NXp6euRsBqrAlKDUDwoKYtYClEJBHvX29spJWnUCbm1tITU1lQFpIW0k02q17KLBYOB+ZGQkg1FfyXhqasrpMnXoJggW5EpOTg4GBweRnZ2NmJgYREVFIS4ujscTEhKQkpLCTOlwindFRQXXroNhZ2cnswsLC4Ovry9qamqwuLjI43TdhoeH0d/fz/+jo6PIz8/njBMgsTWbzXK5HX4DpKvW1NTEE6GhoRwXi8WCkZERtLS0YGBgAM3NzRyn9vZ2dHR0oLi4mENCHhGR9PR0Z1LI7za5YEVCyHVyJyIiwrGJmISHhzMrGqMwiJKifVlZWTg4OHC6TG6I7AlA2ij6lBQyMS/mRAxLS0sdgsGAa2trSE5O5oz+qP7cGR00NjamzvLFxYUjjnSqYKZslabMMCVkdnYW+/v7anFYX1/nSUoKLVbG8yEwzVPsYmNjMTQ0BJvNxhrgojakxhkZGQxK7ovaVBq5SPPR0dFcARS7s7Mz1kYXtaEruLKygsrKSi5gyqpQGmqp6B/LtyU3Nxd/y/f35OREJa4qcRCK8fnzEd5/+IA3b1rR2NiIkpISFg2r1Yqqqiq0ttrw7p0dnz5tftdBuAqsUrGp4mtra5H85ClevDSjwFKIImsxCous+P3Vazx5+jMyM39jPXSr2O7elKOjI6T+8it0elldTLLKGIxswSGh/LbQC6gE+1+vHsVRkiTVq+fp6QmD/GgdHx//+NVzx5KKvaurC319fbDb7dzS0zA5OenyLisBvwJCpR7n1I1vbAAAAABJRU5ErkJggg==&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;tizen 16&quot;
        title=&quot;tizen 16&quot;
        src=&quot;/static/6fc928c9b3c48701b95fa5ac24db171c/a9efa/tizen_16.png&quot;
        srcset=&quot;/static/6fc928c9b3c48701b95fa5ac24db171c/00d96/tizen_16.png 148w,
/static/6fc928c9b3c48701b95fa5ac24db171c/a9efa/tizen_16.png 282w&quot;
        sizes=&quot;(max-width: 282px) 100vw, 282px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;자 이제 앱 개발을 시작해볼 수 있는 기본 환경은 갖추었다! 다음 글을 통해 어떻게 Wearable App들을 예쁘게 만들 수 있는지 배워보도록 하자!&lt;/p&gt;</content:encoded></item><item><title><![CDATA[Node.js에서 스크립트가 실행될 때 어떤 일들이 일어날까요?]]></title><description><![CDATA[혹시 Node.js 스크립트를 실행하면 어떤 방식으로 동작을 하는지 궁금하지 않았나요? 이 글은 이런 궁금증을 가지고 있는 분들에게 조금이나마 도움이 되고자 하는 글이니, 관심이 없으시다면 스킵하셔도 됩니다 :D 먼저, Node.js…]]></description><link>https://hs85jeong.github.io/node-internal/</link><guid isPermaLink="false">https://hs85jeong.github.io/node-internal/</guid><pubDate>Sun, 16 Feb 2020 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;혹시 Node.js 스크립트를 실행하면 어떤 방식으로 동작을 하는지 궁금하지 않았나요?&lt;/p&gt;
&lt;p&gt;이 글은 이런 궁금증을 가지고 있는 분들에게 조금이나마 도움이 되고자 하는 글이니, 관심이 없으시다면 스킵하셔도 됩니다 :D&lt;/p&gt;
&lt;p&gt;먼저, Node.js를 분석하기 위해서 코드를 다운 받아봅시다.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;$ git clone https&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;github&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;com&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;nodejs&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;node&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;git &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; cd node&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Node.js의 파일 구조는 아래와 같은 모습을 가지고 있습니다.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;bash&quot;&gt;&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;$ tree -L &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;token builtin class-name&quot;&gt;.&lt;/span&gt;
├── AUTHORS
├── BSDmakefile
├── BUILDING.md
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── COLLABORATOR_GUIDE.md
├── CONTRIBUTING.md
├── CPP_STYLE_GUIDE.md
├── GOVERNANCE.md
├── LICENSE
├── Makefile
├── README.md
├── SECURITY.md
├── android-configure
├── benchmark
├── common.gypi
├── configure
├── configure.py
├── deps
├── doc
├── lib           &lt;span class=&quot;token comment&quot;&gt;# JS sources&lt;/span&gt;
├── node.gyp
├── node.gypi
├── src           &lt;span class=&quot;token comment&quot;&gt;# C++ sources&lt;/span&gt;
├── &lt;span class=&quot;token builtin class-name&quot;&gt;test&lt;/span&gt;
├── tools
└── vcbuild.bat

&lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt; directories, &lt;span class=&quot;token number&quot;&gt;20&lt;/span&gt; files&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;노드는 크게 2종류의 언어로 이루어져 있는데 &lt;code class=&quot;language-text&quot;&gt;lib/&lt;/code&gt; 폴더 안에 있는 JavaScript 파일 들과 &lt;code class=&quot;language-text&quot;&gt;src/&lt;/code&gt; 폴더 밑에 존재하는 많은 양의 C++ 파일 들이 있습니다. &lt;/p&gt;
&lt;p&gt;Node.js의 모든 시작 과정은 C++에서 완료되며, main 시작 지점은 &lt;code class=&quot;language-text&quot;&gt;src/node_main.cc&lt;/code&gt; 입니다.&lt;/p&gt;
&lt;p&gt;이 안에서 제일 중요한 부분은 다음과 같습니다.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;c++&quot;&gt;&lt;pre class=&quot;language-c++&quot;&gt;&lt;code class=&quot;language-c++&quot;&gt;return node::Start(argc, argv);&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;이 것은 &lt;code class=&quot;language-text&quot;&gt;src/node.cc&lt;/code&gt;의 &lt;code class=&quot;language-text&quot;&gt;Start&lt;/code&gt;을 호출하고 command line의 parameter들을 &lt;code class=&quot;language-text&quot;&gt;argc&lt;/code&gt;와 &lt;code class=&quot;language-text&quot;&gt;argv&lt;/code&gt;로 넘겨줍니다.&lt;/p&gt;
&lt;p&gt;첫 번째 단계로 &lt;code class=&quot;language-text&quot;&gt;Start()&lt;/code&gt;안에서 런타임 초기화 작업들이 수행되는데 &lt;code class=&quot;language-text&quot;&gt;InitializeOncePerProcess&lt;/code&gt;는 환경변수(예.&lt;code class=&quot;language-text&quot;&gt;NODE_OPTIONS&lt;/code&gt;)나 CLI parameters(예.&lt;code class=&quot;language-text&quot;&gt;--abort-on-uncaught-exception&lt;/code&gt;)를 통해 주어지는 설정 값들을 처리하고 V8을 초기화 해준다. 한 번 이작업이 완료가 되면, 새로운 node 인스턴스들은 &lt;a href=&quot;http://docs.libuv.org/en/v1.x/loop.html#c.uv_default_loop&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;libuv default loop&lt;/a&gt;를 사용해 초기화 된 후 마침내 아래와 같이 실행되게 됩니다.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;c++&quot;&gt;&lt;pre class=&quot;language-c++&quot;&gt;&lt;code class=&quot;language-c++&quot;&gt;NodeMainInstance main_instance(&amp;amp;params,
                               uv_default_loop(),
                               per_process::v8_platform.Platform(),
                               result.args,
                               result.exec_args,
                               indexes);
result.exit_code = main_instance.Run()&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;NodeMainInstance::Run()&lt;/code&gt;을 통해 Node를 실행 시 어떤 일들이 수행되는 지를 알 수 있는 길에 좀 더 가까워졌습니다. 새로운 메인 쓰레드 수행 환경이 &lt;code class=&quot;language-text&quot;&gt;src/node_main_instance.cc&lt;/code&gt;에서 만들어지는데:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;c++&quot;&gt;&lt;pre class=&quot;language-c++&quot;&gt;&lt;code class=&quot;language-c++&quot;&gt;std::unique_ptr&amp;lt;Environment&amp;gt; env = CreateMainEnvironment(&amp;amp;exit_code);&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;이 &lt;code class=&quot;language-text&quot;&gt;Environment&lt;/code&gt; 인스턴스가 libuv와 V8을 접근 할 수 있는 Handle들을 가지고 있는 노드 프로세스의 중심 객체입니다.&lt;/p&gt;
&lt;p&gt;이 객체를 &lt;code class=&quot;language-text&quot;&gt;LoadEnvironment&lt;/code&gt;에 넘기면&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;c++&quot;&gt;&lt;pre class=&quot;language-c++&quot;&gt;&lt;code class=&quot;language-c++&quot;&gt;LoadEnvironment(env.get());&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;main thread 수행이 시작된다:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;c++&quot;&gt;&lt;pre class=&quot;language-c++&quot;&gt;&lt;code class=&quot;language-c++&quot;&gt;void LoadEnvironment(Environment* env) {
  CHECK(env-&amp;gt;is_main_thread());
  USE(StartMainThreadExecution(env));
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;이 부분에서 C++에서 JavaScript 수행으로 변경이 됩니다.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;c++&quot;&gt;&lt;pre class=&quot;language-c++&quot;&gt;&lt;code class=&quot;language-c++&quot;&gt;MaybeLocal&amp;lt;Value&amp;gt; StartMainThreadExecution(Environment* env) {
  if (NativeModuleEnv::Exists(&amp;quot;_third_party_main&amp;quot;)) {
    return StartExecution(env, &amp;quot;internal/main/run_third_party_main&amp;quot;);
  }

  std::string first_argv;
  if (env-&amp;gt;argv().size() &amp;gt; 1) {
    first_argv = env-&amp;gt;argv()[1];
  }

  if (first_argv == &amp;quot;inspect&amp;quot; || first_argv == &amp;quot;debug&amp;quot;) {
    return StartExecution(env, &amp;quot;internal/main/inspect&amp;quot;);
  }

  if (per_process::cli_options-&amp;gt;print_help) {
    return StartExecution(env, &amp;quot;internal/main/print_help&amp;quot;);
  }


  if (env-&amp;gt;options()-&amp;gt;prof_process) {
    return StartExecution(env, &amp;quot;internal/main/prof_process&amp;quot;);
  }

  // -e/--eval without -i/--interactive
  if (env-&amp;gt;options()-&amp;gt;has_eval_string &amp;amp;&amp;amp; !env-&amp;gt;options()-&amp;gt;force_repl) {
    return StartExecution(env, &amp;quot;internal/main/eval_string&amp;quot;);
  }

  if (env-&amp;gt;options()-&amp;gt;syntax_check_only) {
    return StartExecution(env, &amp;quot;internal/main/check_syntax&amp;quot;);
  }

  if (!first_argv.empty() &amp;amp;&amp;amp; first_argv != &amp;quot;-&amp;quot;) {
    return StartExecution(env, &amp;quot;internal/main/run_main_module&amp;quot;);
  }

  if (env-&amp;gt;options()-&amp;gt;force_repl || uv_guess_handle(STDIN_FILENO) == UV_TTY) {
    return StartExecution(env, &amp;quot;internal/main/repl&amp;quot;);
  }

  return StartExecution(env, &amp;quot;internal/main/eval_stdin&amp;quot;);
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;StartExecution&lt;/code&gt;의 경우 두번째 인자로 넘겨지는 JS파일들을 읽고, 컴파일하고, 실행하는데 모든 파일은 &lt;code class=&quot;language-text&quot;&gt;lib/&lt;/code&gt; 폴더 밑에 있는데, 이중 관심있게 봐야하는 곳은 두 곳 입니다.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;c++&quot;&gt;&lt;pre class=&quot;language-c++&quot;&gt;&lt;code class=&quot;language-c++&quot;&gt;if (!first_argv.empty() &amp;amp;&amp;amp; first_argv != &amp;quot;-&amp;quot;) {
  return StartExecution(env, &amp;quot;internal/main/run_main_module&amp;quot;);
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;c++&quot;&gt;&lt;pre class=&quot;language-c++&quot;&gt;&lt;code class=&quot;language-c++&quot;&gt;if (env-&amp;gt;options()-&amp;gt;force_repl || uv_guess_handle(STDIN_FILENO) == UV_TTY) {
  return StartExecution(env, &amp;quot;internal/main/repl&amp;quot;);
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;lib/internal/main/repl.js&lt;/code&gt;와 &lt;code class=&quot;language-text&quot;&gt;lib/internal/main/run_main_module.js&lt;/code&gt; 두 스크립트 모두 중요한 시작 메소드인 &lt;code class=&quot;language-text&quot;&gt;lib/internal/bootstrap/pre_execution.js&lt;/code&gt;안의 &lt;code class=&quot;language-text&quot;&gt;prepareMainThreadExecution&lt;/code&gt;을 실행하는데, 이것은 여러 setup 작업들을 수행하는데 이 중 CommonJS와 ES module loader 초기화 역시 수행됩니다.&lt;/p&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;lib/internal/modules/cjs/loader.js&lt;/code&gt;안의 &lt;code class=&quot;language-text&quot;&gt;Module&lt;/code&gt; 객체는 CommonJS loaders core이며 &lt;code class=&quot;language-text&quot;&gt;initializeCJSLoader&lt;/code&gt;는 &lt;code class=&quot;language-text&quot;&gt;runMain&lt;/code&gt;를 통해 &lt;code class=&quot;language-text&quot;&gt;lib/internal/modules/run_main.js&lt;/code&gt;안의 &lt;code class=&quot;language-text&quot;&gt;executeUserEntryPoint&lt;/code&gt;을 실행해줍니다.&lt;/p&gt;
&lt;p&gt;CommonJS module의 경우 &lt;code class=&quot;language-text&quot;&gt;Module._load&lt;/code&gt;로 새로운 &lt;code class=&quot;language-text&quot;&gt;Module&lt;/code&gt; 인스턴스를 생성하고 &lt;code class=&quot;language-text&quot;&gt;load&lt;/code&gt;를 호출 해주고 적절한 extension function이 module을 읽어오는데 사용됩니다.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;Module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;_extensions&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;extension&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; filename&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;*.js&lt;/code&gt; extension이 실제 파일을 읽고 컴파일 해줍니다.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; content &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; fs&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;readFileSync&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;filename&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;utf8&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;_compile&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;content&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; filename&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;module._compile&lt;/code&gt;은 V8의 &lt;code class=&quot;language-text&quot;&gt;ScriptCompiler:CompileFunctionInContext&lt;/code&gt;를 호출하고 &lt;a href=&quot;https://nodejs.org/api/modules.html#modules_the_module_wrapper&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;node module wrapper&lt;/a&gt;에 맞는 &lt;code class=&quot;language-text&quot;&gt;exports&lt;/code&gt;, &lt;code class=&quot;language-text&quot;&gt;require&lt;/code&gt;, &lt;code class=&quot;language-text&quot;&gt;module&lt;/code&gt;, &lt;code class=&quot;language-text&quot;&gt;__filename&lt;/code&gt;, &lt;code class=&quot;language-text&quot;&gt;__dirname&lt;/code&gt;을 넘겨줍니다.&lt;/p&gt;
&lt;p&gt;이렇게 불려진 function은 실행이 되고 결과를 리턴해줍니다:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;result &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;compiledWrapper&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;call&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;thisValue&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; exports&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; require&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; module&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
                              filename&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; dirname&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;hr&gt;
&lt;p&gt;다음으로 확인 해봐야할 부분은 &lt;a href=&quot;http://docs.libuv.org/en/v1.x/guide/basics.html#event-loops&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;libuv eventloop&lt;/a&gt;입니다.&lt;/p&gt;
&lt;p&gt;JavaScript를 컴파일하고 실행한 후, node 인스턴스는 event loop를 시작해줍니다.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;c++&quot;&gt;&lt;pre class=&quot;language-c++&quot;&gt;&lt;code class=&quot;language-c++&quot;&gt;do {
    uv_run(env-&amp;gt;event_loop(), UV_RUN_DEFAULT);

    per_process::v8_platform.DrainVMTasks(isolate_);

    more = uv_loop_alive(env-&amp;gt;event_loop());
    if (more &amp;amp;&amp;amp; !env-&amp;gt;is_stopping()) continue;

    if (!uv_loop_alive(env-&amp;gt;event_loop())) {
        EmitBeforeExit(env.get());
    }

    // Emit `beforeExit` if the loop became alive either after emitting
    // event, or after running some callbacks.
    more = uv_loop_alive(env-&amp;gt;event_loop());
} while (more == true &amp;amp;&amp;amp; !env-&amp;gt;is_stopping());&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;http://docs.libuv.org/en/v1.x/loop.html#c.uv_run_mode&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;uv&lt;em&gt;run&lt;/em&gt;mode&lt;/a&gt; &lt;code class=&quot;language-text&quot;&gt;UV_RUN_DEFAULT&lt;/code&gt;는 더이상 동작하거나 참조되는 곳이 없을때 까지 event loop를 수행합니다.&lt;/p&gt;
&lt;p&gt;libuv는 lifetime에 따라 handle과 request로 구분이 되는데, 오랫동안 수행되는 객체의 경우 handle이라고 할 수 있고 짧은 시간동안 수행되는 operation들을 request라고 할 수 있습니다.&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;javascript&quot;&gt;&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; http &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;require&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;http&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;requestHandler&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;req&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; res&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  res&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;write&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;Hello World!&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  res&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;end&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; server &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; http&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createServer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;requestHandler&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

server&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;listen&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;8080&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;위 예제의 경우 &lt;code class=&quot;language-text&quot;&gt;requestHandler&lt;/code&gt;를 libuv request로 볼 수 있습니다. 반면, &lt;code class=&quot;language-text&quot;&gt;server&lt;/code&gt; 객체의 &lt;code class=&quot;language-text&quot;&gt;listen&lt;/code&gt;은 handle이라고 할 수 있습니다.&lt;/p&gt;
&lt;p&gt;HTTP server를 멈추지 않는 이상, libuv는 계속해서 실행되고 입력되는 연결들을 처리할 것 입니다.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;위 과정들이 Node.js에서 스크립트가 어떻게 수행되는 지를 설명한 내용입니다. 물론, 전체 과정을 상세히 다루는게 아니기 때문에 설명이 부족한 부분이 있을 수 있겠지만, 스크립트가 수행되는 과정에서의 중요한 부분들을 설명해주고 있습니다.&lt;/p&gt;
&lt;p&gt;혹시 기회가 된다면 다음 포스트를 통해 추가적인 내용들을 다루어 보겠습니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;reference&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#reference&quot; aria-label=&quot;reference permalink&quot; class=&quot;anchor before&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; focusable=&quot;false&quot; height=&quot;16&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 16 16&quot; width=&quot;16&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Reference&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.s1h.org/inside-node-executing-a-script/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Inside node: What happens when we execute a script?&lt;/a&gt;&lt;/p&gt;</content:encoded></item></channel></rss>