<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Hoze</title>
    <link>https://hoze.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Thu, 2 Jul 2026 00:25:50 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>Hoze</managingEditor>
    <image>
      <title>Hoze</title>
      <url>https://tistory1.daumcdn.net/tistory/572373/attach/62381a1cbede40ceb6ceeaa8508b0545</url>
      <link>https://hoze.tistory.com</link>
    </image>
    <item>
      <title>아랍어 합자</title>
      <link>https://hoze.tistory.com/2284</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;f 두 자가 ff 한 자로 바뀌는 것을 합자라고 한다. ff가 유니코드에서 FB00에 할당되어 있다. 아랍어에서는 모든 글자들이 합자가 된다.&amp;nbsp; 그것이 아랍어 텍스트가 지렁이가 똥 싸며 지나간 것처럼 보이는 이유이다. 각 글자가 세 가지 형태(glyph)를 갖고 있다. 단어의 처음에 올 때, 중간에 올 때, 끝에 올 때.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ArabicLigature.png&quot; data-origin-width=&quot;838&quot; data-origin-height=&quot;805&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnHg2B/dJMcaglJozH/AyJ8SeQfZ8XWgEZTNlM6h0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnHg2B/dJMcaglJozH/AyJ8SeQfZ8XWgEZTNlM6h0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnHg2B/dJMcaglJozH/AyJ8SeQfZ8XWgEZTNlM6h0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnHg2B%2FdJMcaglJozH%2FAyJ8SeQfZ8XWgEZTNlM6h0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;576&quot; data-filename=&quot;ArabicLigature.png&quot; data-origin-width=&quot;838&quot; data-origin-height=&quot;805&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 이미지에서는 단어들이 제대로 합자되어 있는 반면, 위에서는 죄다 떨어져 있다. font-mappings.xml을 비롯하여 아랍어 폰트와 관련된 모든 설정들을 이리저리 바꾸어 보고, 심지어 Noto Sans Arabic 폰트를 새로 받아 시도했지만 AHF가 여전히 동일한 결과를 만들어내었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러다가 @letter-spacing이 떠올랐다. 그 값이 0이 아니라면 합자가 이루어질 수 없을 것이다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&amp;lt;xsl:attribute&amp;nbsp;name=&quot;letter-spacing&quot;&amp;gt;-0.25pt&amp;lt;/xsl:attribute&amp;gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞서 만들어진 다른 변환기를 참고하여 아래와 같이 고치니 비로소 올바른 결과가 만들어졌다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&amp;lt;xsl:attribute&amp;nbsp;name=&quot;letter-spacing&quot;&amp;gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;xsl:choose&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;xsl:when&amp;nbsp;test=&quot;matches(substring-before($locale,&amp;nbsp;'_'),&amp;nbsp;'ar|he')&quot;&amp;gt;0&amp;lt;/xsl:when&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;xsl:otherwise&amp;gt;-0.05pt&amp;lt;/xsl:otherwise&amp;gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/xsl:choose&amp;gt; &lt;br /&gt;&amp;lt;/xsl:attribute&amp;gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TeX과 친구들</category>
      <author>Hoze</author>
      <guid isPermaLink="true">https://hoze.tistory.com/2284</guid>
      <comments>https://hoze.tistory.com/2284#entry2284comment</comments>
      <pubDate>Tue, 30 Jun 2026 17:02:01 +0900</pubDate>
    </item>
    <item>
      <title>문제아 찾기</title>
      <link>https://hoze.tistory.com/2283</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;예외로 다루어야 할 문자열들을 처리하는 가장 손쉬운 꼼수가 그것들을 실재할 가능성이 희박한 것으로 바꾸어 놓았다가 모든 처리가 완료될 때 원래대로 되돌리는 것이다.&lt;/p&gt;
&lt;pre id=&quot;code_1781656054990&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!-- &amp;amp;lt;와 &amp;amp;gt;를 ```로 바꾸었다가 --&amp;gt;
&amp;lt;xsl:variable name=&quot;tmp&quot; select=&quot;replace(., '&amp;amp;lt;([가-힣]+?)&amp;amp;gt;', '```$1```')&quot;/&amp;gt;
&amp;lt;xsl:variable name=&quot;tmp&quot; select=&quot;replace($tmp, '&amp;amp;lt;(POI|OK|%s)&amp;amp;gt;', '```$1```')&quot;/&amp;gt;
&amp;lt;!-- 되돌려 놓기 --&amp;gt;
&amp;lt;xsl:variable name=&quot;tmp&quot; select=&quot;replace($tmp, '```(.+?)```', '&amp;amp;lt;$1&amp;amp;gt;')&quot;/&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것이 효과적인 방법이지만, 정작 어려움은 문제아를 찾는 데에 있다. 다른 수십 파일들이 문제 없이 처리되고, 그래서 완벽한 해법을 만들었다고 스스로 자랑스러워할 때, 한 파일에서 에러 메시지가 쏟아지고 처리가 멈춰서면, 코드 전체가 못 미더워진다. 코드를 이리저리 바꾸어보았지만 계속 실패했다. 코드가 틀린 것이 아니고, 내가 찾지 못한 문제아가 어딘가에 숨어있는 것이 아닐까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;절반 날리기&quot; 신공을 써야 할 때가 왔다. 문제의 파일이 39172 줄. 뒤의 절반을 지우고 돌리니 정상적으로 종료된다. 문제아가 뒤쪽에 숨어있다는 말이다. 뒤의 절반을 되살리고, 앞의 절반을 지웠다. 이 짓을 거듭 반복하여 마침내 38878 번째 줄에서 문제아를 찾아내었다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1781657763409&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;bpt i=&quot;1&quot; type=&quot;18&quot; x=&quot;1&quot;/&amp;gt;&amp;amp;lt;&amp;lt;ept i=&quot;1&quot;/&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;amp;lt;만 있는 경우를 상상하지 못했다. 아래와 같이 조건을 변경하여 해결했다.&lt;/p&gt;
&lt;pre id=&quot;code_1781657954620&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;xsl:when test=&quot;starts-with(., '&amp;amp;lt;') and string-length(.) gt 4&quot;&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TeX과 친구들</category>
      <author>Hoze</author>
      <guid isPermaLink="true">https://hoze.tistory.com/2283</guid>
      <comments>https://hoze.tistory.com/2283#entry2283comment</comments>
      <pubDate>Wed, 17 Jun 2026 09:59:29 +0900</pubDate>
    </item>
    <item>
      <title>우리 본성의 선한 천사</title>
      <link>https://hoze.tistory.com/2282</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;서가에 꽂혀있는 이 책을 꺼내어 펼쳐보니 마지막 페이지의 번호가 1400을 넘어간다.&amp;nbsp; 이 책을 과연 끝까지 읽을 수 있을까? 내 경험에 석 달 안에 마치지 못한다면 포기할 것이다. 그렇더라도, 빌 게이츠가 이 책을 언급해서가 아니라, 저자가 스티븐 핑커이기 때문에 읽자고 마음먹었다. 예상한 대로, 석 달을 넘긴 데다가 (지겹다는 말이다) 마지막 장이 난해하여 200 페이지 가량 남겨두고 그만 접었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;the_better_angels_of our_nature.JPEG&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;1536&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mical/dJMb99MUUKN/smMycSLxY11s0m5eutlRkk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mical/dJMb99MUUKN/smMycSLxY11s0m5eutlRkk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mical/dJMb99MUUKN/smMycSLxY11s0m5eutlRkk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fmical%2FdJMb99MUUKN%2FsmMycSLxY11s0m5eutlRkk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2048&quot; height=&quot;1536&quot; data-filename=&quot;the_better_angels_of our_nature.JPEG&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;1536&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스물 몇 해 전에 그의 또 다른 명저 &quot;언어 본능&quot;을 읽을 때 그가 당연히 언어학자이리라 생각했다. 이 책의 저자 소개를 보니 언어학자가 아니라 심리학자이다. 그가, 그리스 고전을 비롯하여, 이제까지 출판된 모든 문헌을 읽었는지 참고 문헌의 목록이 무려 70 페이지에 달한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;책 초반의 내용이 매우 충격적이다. 시대와 지역을 막론하고, 고문부터 전쟁에 이르기까지, 그 빈도와 잔인함이 상상을 초월한다. 일례로 화형이 오래 동안 오락거리였다.&amp;nbsp; &quot;사피엔스&quot;에서 상세한 논거 없이 우리가 현재 태평성대에 살고 있다는 유발 하라리의 주장을 이 책이 납득시킨다. 사람들은 가장 많은 사람들이 죽은 전쟁이 이차 세계 대전이라고 생각한다. 사실이다. 5500만 명이나 죽었으니까. 하지만 전체 인구를 계산하면 결과가 달라진다. 8세기에 중국 당나라에서 발생한 안녹산의 난 중에 중국 인구의 3분의 2에 달하는 3600만 명이 죽었다. 20세기 중반의 인구로 조정하면 무려 4억 2900만 명이 죽은 셈이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;19세기에 접어들면서 세상이 조금씩 좋아진다. 대학 시절부터 지금까지 갖고 있던 여러 의문들에 대한 답을 이 책을 통해 얻었다. 이를테면 &quot;역사학 입문&quot; 시간에 위대한 사상가들의 영향력이 얼마나 큰지, 그들로 인해 세상이 바뀌는지 교수님이 우리에게 물었다. 그런 것 같기도 하고 아닌 것 같기도 하고. 이 책에 따르면 &quot;그렇다&quot;이다. 물론 그것을 가능하게 한 교통과 통신의 발달을 무시하지 않아야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한국인이라는 의미에서 우리는 좀 다른 길을 걸어온 것으로 보인다. 우리는, 적어도 조선시대 사람들은, 같은 시대 다른 지역, 특히 유럽 사람들만큼 잔인하지 않았던 것으로 보인다. 그래서 우리가 측은지심을 갖고 있는 게 아닐까? 우리가 오래 전부터 갖고 있던 &quot;감정 이입&quot; 능력을 서구에서는 불과 최근 수십 년 사이에 갖게 되었다고 보는 게 그다지 억지스럽지 않다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리는 일 년에 살해되는 사람의 수가 10만 명당 0.5 명에 불과한 호시절에 살고 있다. 이 숫자가 3만 되어도 밤거리를 마음 놓고 다니지 못할 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>책을 읽거나 글을 쓰거나</category>
      <author>Hoze</author>
      <guid isPermaLink="true">https://hoze.tistory.com/2282</guid>
      <comments>https://hoze.tistory.com/2282#entry2282comment</comments>
      <pubDate>Mon, 27 Apr 2026 18:20:01 +0900</pubDate>
    </item>
    <item>
      <title>I Have a Dream</title>
      <link>https://hoze.tistory.com/2281</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;스티븐 핑커의 &quot;우리 본성의 선한 천사&quot;를 요즘 읽고 있다. 오늘 아침에 읽은 페이지 중에 마틴 루터 킹을 언급한 대목이 있다. 그래서 오래 전에 만들어둔 파일을 꺼내어 레이텍(TeX Live 2025 LuaLaTeX)을 이용하여 PDF를 만들어봤다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;I_have_a_dream.png&quot; data-origin-width=&quot;1132&quot; data-origin-height=&quot;1603&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vThEu/dJMcagdEBPQ/cfB2hrgrRkHPdE0EejN2X1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vThEu/dJMcagdEBPQ/cfB2hrgrRkHPdE0EejN2X1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vThEu/dJMcagdEBPQ/cfB2hrgrRkHPdE0EejN2X1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvThEu%2FdJMcagdEBPQ%2FcfB2hrgrRkHPdE0EejN2X1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1132&quot; height=&quot;1603&quot; data-filename=&quot;I_have_a_dream.png&quot; data-origin-width=&quot;1132&quot; data-origin-height=&quot;1603&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bdn1pR/dJMcabcjeOP/V8rxKBgko5qi2vi7FWX6K0/dream.pdf?attach=1&amp;amp;knm=tfile.pdf&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;dream.pdf&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.12MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 문서가 tex과 tsv 포맷으로 작성되어 있다. 나의 깃허브 저장소(&lt;a title=&quot;깃허브&quot; href=&quot;https://github.com/YiHoze/texwrapper&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/YiHoze/texwrapper&lt;/a&gt;)에 있는 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;latex.db로부터&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; mytex.py를 이용하여 dream.tex과 dream.tsv를 얻을 수 있다.&amp;nbsp;&lt;/p&gt;</description>
      <category>책을 읽거나 글을 쓰거나</category>
      <author>Hoze</author>
      <guid isPermaLink="true">https://hoze.tistory.com/2281</guid>
      <comments>https://hoze.tistory.com/2281#entry2281comment</comments>
      <pubDate>Wed, 11 Mar 2026 09:16:25 +0900</pubDate>
    </item>
    <item>
      <title>분기점과 나들목</title>
      <link>https://hoze.tistory.com/2280</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;IC가 아니라 JC라 하니 아무개가 화났다&quot;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;expressway_interchange.jpg&quot; data-origin-width=&quot;490&quot; data-origin-height=&quot;305&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cJOrHK/dJMcacBK54O/0Ua1W3FTbt7K9QJTsK4a6k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cJOrHK/dJMcacBK54O/0Ua1W3FTbt7K9QJTsK4a6k/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cJOrHK/dJMcacBK54O/0Ua1W3FTbt7K9QJTsK4a6k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcJOrHK%2FdJMcacBK54O%2F0Ua1W3FTbt7K9QJTsK4a6k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;490&quot; height=&quot;305&quot; data-filename=&quot;expressway_interchange.jpg&quot; data-origin-width=&quot;490&quot; data-origin-height=&quot;305&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JC를 &quot;분기점&quot;, IC를 &quot;나들목&quot;이라고 한다. JC가 junction을, IC가 interchange를 줄인 말이다. 제미나이와 챗지피티에 따르면, junction이 intersection과 interchange를 아우르는 가장 일반적인 말이다. 그러니까 그것들 모두 둘 이상의 도로가 만나는 지점, 가장 일반적인 말로 옮기자면 교차로이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;intersection은 평면 교차로를 의미한다. 회전 교차로와 로터리가 이에 포함된다. interchange는 경사로가 있어 한 도로가 다른 도로의 위나 아래로 접하는 것을 말한다. 우리는 분기점과 나들목 모두 고속도로와 연관지어 생각한다. 분기점을 같은 수준의 도로, 즉 한 고속도로에서 다른 고속도로로 갈아탈 수 있는 지점으로, 나들목을 그보다 낮은 수준의 도로, 즉 국도나 지방도로 갈아탈 수 있는 지점으로 우리는 이해한다. 하지만 기술적으로 보자면 둘 다 junction이자 interchange이다. 요금소(tollgate)가 IC를 대신해도 되지 않을까 싶은데, IC에서 멀리 떨어진 요금소들이 적지 않으니 헷갈릴 수 있으려나?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내가 IC를 &quot;나들목&quot;에 어울리지 않는 말이라 생각하는 이유는 거의 모든 나들목에 요금소가 있기 때문이다. 우리나라에 무료 고속도로가 있나? 우리의 &quot;고속도로&quot;는 행정적 분류인데, expressway로 옮기는 데에 대과가 없을 듯하지만, freeway나 interstate는 중앙 정부가 관리하는 무료 도로이기 때문에, 우리의 고속도로에 딱 들어맞는 것이 아니다. Highway는 유료이거나 무료이거나, 고속도로이거나 아닐 수 있는데, 간선 도로에 딱 들어맞는 말도 아니다. 사전에 따르면 두 도시를 연결하는 도로이기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;미국 영어와 별도로 영국 영어로 문서를 만들기 시작하면, 호주 영어와 캐나다 영어로도, (얼마나 다른지 모르겠지만) 멕시코 스페인어와 아르헨티나 스페인어로도 문서를 준비해야 할 것 같다. 그것은 많은 비용을 요구한다. 기술 문서에서는 미국 영어만 사용해도 비난받을 것 같지 않지만 일반 소비자용 제품이나 서비스를 제공하는 업체에서는 그것이 큰 고민거리가 될 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른 것들은 차치하고 자동차에 관한 한 영국 영어로 작성된 설명서를 영국 사용자들에게 제공하는 것이 마땅하다. 왜냐하면 그 차이가 color/colour 같은 사소한 것에 머무르지 않고, 완전히 서로 다른 여러 단어들이 사용되기 때문이다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;US&amp;nbsp;English&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;British&amp;nbsp;English &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;truck&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lorry &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;pickup&amp;nbsp;truck&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pickup &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;SUV&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 4x4 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;station wagon&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;estate (car) &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;sedan&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;saloon &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;hood&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bonnet &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;trunk&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; boot &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;windshield&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;windscreen &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;fender&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; wing &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;muffler&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;silencer &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;gas / gasoline&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; petrol &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;stick shift&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;manual &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;license&amp;nbsp;plate&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;number&amp;nbsp;plate &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;highway&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;main road / highway &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;freeway&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; motorway &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;expressway&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dual carriageway / motorway &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;intersection&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; junction &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;overpass&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flyover &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;median&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;central reservation &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;shoulder&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hard shoulder &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;crosswalk&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;zebra crossing / pedestrian crossing &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;sidewalk&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pavement &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;parking lot&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;car park &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;ramp&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; slip road &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;driver's&amp;nbsp;license&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;driving&amp;nbsp;licence &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;yield&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; give way &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;traffic circle&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;roundabout &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;stoplight&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;traffic lights &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;passing&amp;nbsp;lane&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;overtaking&amp;nbsp;lane &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;gas station&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;petrol station &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;rental car&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hire car&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>테크니컬 라이팅</category>
      <author>Hoze</author>
      <guid isPermaLink="true">https://hoze.tistory.com/2280</guid>
      <comments>https://hoze.tistory.com/2280#entry2280comment</comments>
      <pubDate>Wed, 31 Dec 2025 16:45:21 +0900</pubDate>
    </item>
    <item>
      <title>Out of Thin Air</title>
      <link>https://hoze.tistory.com/2279</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;OutOfThinAir.JPEG&quot; data-origin-width=&quot;1536&quot; data-origin-height=&quot;2048&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pv6pO/dJMcaa4ZuGE/5gY26GVqSKlOGluCIPU6t0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pv6pO/dJMcaa4ZuGE/5gY26GVqSKlOGluCIPU6t0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pv6pO/dJMcaa4ZuGE/5gY26GVqSKlOGluCIPU6t0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fpv6pO%2FdJMcaa4ZuGE%2F5gY26GVqSKlOGluCIPU6t0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;533&quot; data-filename=&quot;OutOfThinAir.JPEG&quot; data-origin-width=&quot;1536&quot; data-origin-height=&quot;2048&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에베레스트 정상 언저리에서 한 사람이 산소 부족으로 죽어가고 있을 때, 그 위로 한 무리의 기러기들이 날아가고 있다.&amp;nbsp; 무엇이 그 차이를 만들어낼까? 새들은, 여러 개의 기낭(air sacs)과 기공(pneumatized bone) 덕분에,&amp;nbsp; 숨을 내쉴 때조차 숨을 들이마신다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;bird_respiration.png&quot; data-origin-width=&quot;1440&quot; data-origin-height=&quot;557&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dBvUCj/dJMcac2Mcjr/ikLQDg5Of26cK7fspEo79k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dBvUCj/dJMcac2Mcjr/ikLQDg5Of26cK7fspEo79k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dBvUCj/dJMcac2Mcjr/ikLQDg5Of26cK7fspEo79k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdBvUCj%2FdJMcac2Mcjr%2FikLQDg5Of26cK7fspEo79k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1440&quot; height=&quot;557&quot; data-filename=&quot;bird_respiration.png&quot; data-origin-width=&quot;1440&quot; data-origin-height=&quot;557&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저자인 Peter Ward는 산소 농도(oxygen level)가 진화의 주요 동인이라고 주장한다. 산소 농도가 떨어지면 다양한 호흡기들이 출현한다. 그것들은 몸의 형태에까지 영향을 미친다. 이를테면 (몸 아래가 아니라) 옆으로 뻗은 다리를 갖고 있는 악어들이나 도마뱀들은 걸을 때 몸통이 좌우로 휘어지면서 폐를 압박하기 때문에 숨을 쉴 수가 없다. (내가 물가에서 기습을 받지 않는 한, 악어가 나를 쫓아와 물을 가능성은 희박하다.) 산소 농도가 올라가면 종 분화가 증가하지 않는다. 현재 대기 중 산소 농도가 21%인데, 페름기 초기에는 35%까지 치솟았다가 점차 떨어져 트라이아스기에 이르러 12%로 추락한다. 페름기의 높은 산소 농도가 1.8 미터 날개 폭을 가진 잠자리를 탄생시켰다. 쥐라기를 거치면서 산소 농도가 서서히 증가하고 백악기에 정점을 찍는다. 우리가 아는 거대 공룡들이 백악기에 살았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;티라노사우루스는 새와 같은 조상에서 나왔고, 새와 유사한 기낭과 기공을 가졌을 것이다. 하지만 저자 스스로 인정하듯 그의 가설을 뒷받침할 화석 기록이 없다. 기낭이 화석으로 남을 수 없기 때문이다. 마찬가지로 그의 주장을 반박할 증거도 없다. 증명의 부재가 부재를 증명하지 않기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 책을 읽는 내내 저자의 주장이 매우 설득력 있다고 생각했지만 무엇이 결정적으로 산소 농도를 변화시키는지 의문을 확대시키지 못했다. 놀랍게도 마지막 장에서 그가 판 운동(plate tectonics)을 언급한다. 3억 년 전에 초대륙 판게아가 만들어졌다. 페름기가 그 즈음이다. 5억 년 주기로 초대륙이 만들어졌다가 다시 여러 대륙으로 쪼개진다고 한다. 지금으로부터 2억 년 뒤에 다시 형성된 초대륙이 쪼개지기 시작할 때 활발한 분화 때문에 산소 농도가 급격하게 떨어질 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 이미지가 챗지피티가 그려준 2억 년 뒤의 초대륙이다. 여러 판 운동 모델 중 Pangea Proxima를 사용한 것이라고 한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;PangeaProxima.png&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;1200&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqWFdi/dJMcabJCwiD/sKdygoOOyoDwKoBoeoP5JK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqWFdi/dJMcabJCwiD/sKdygoOOyoDwKoBoeoP5JK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqWFdi/dJMcabJCwiD/sKdygoOOyoDwKoBoeoP5JK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqWFdi%2FdJMcabJCwiD%2FsKdygoOOyoDwKoBoeoP5JK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;1200&quot; data-filename=&quot;PangeaProxima.png&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;1200&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>책을 읽거나 글을 쓰거나</category>
      <author>Hoze</author>
      <guid isPermaLink="true">https://hoze.tistory.com/2279</guid>
      <comments>https://hoze.tistory.com/2279#entry2279comment</comments>
      <pubDate>Mon, 29 Dec 2025 14:44:05 +0900</pubDate>
    </item>
    <item>
      <title>XSLT에 대하여</title>
      <link>https://hoze.tistory.com/2278</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;누군가 XSL를 언급한다면 그가 의미하는 것이 십중팔구 XSLT일 것이다. 프로그래밍 언어에 비해 장황해 보이는 구문이 거북함을 일으킨다. 레이텍과 파이선의 순차적 처리에 익숙한 나에게, XSL 파일에 선언된 여러 템플릿들이 순차적으로 처리되는 것이 아니라는 것이 가장 난해했다. 일 년 넘게, &quot;찍기&quot; 방법론을 사용하여,&amp;nbsp; XSLT를 붙잡고 있다 보니, 템플릿과 다른 기본적인 요소들의 개념을 이해하게 되었다. 돌이켜 생각해보니,&amp;nbsp; 좋은 선생이 서너 시간 할애하여 기반 이론을 가르쳐주었다면 훨씬 더 빨리 익혔을 것이다. 항상 조급증이 문제다. XML의 특성에 대한 이해 없이, 당장 무언가 돌려서 결과를 보고자 하는 것이 오히려 성장을 더디게 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;엑셀 시트를 XML로 바꾸어야 할 일이 종종 있어서 파이선으로 변환기를 하나 만들었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;sorted_by_xslt.png&quot; data-origin-width=&quot;1053&quot; data-origin-height=&quot;347&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cjWVLe/dJMcaiBQbhm/292mmLGcPO3qirQtZHyk6K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cjWVLe/dJMcaiBQbhm/292mmLGcPO3qirQtZHyk6K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cjWVLe/dJMcaiBQbhm/292mmLGcPO3qirQtZHyk6K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcjWVLe%2FdJMcaiBQbhm%2F292mmLGcPO3qirQtZHyk6K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1053&quot; height=&quot;347&quot; data-filename=&quot;sorted_by_xslt.png&quot; data-origin-width=&quot;1053&quot; data-origin-height=&quot;347&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1) 언어 코드를 언어 이름으로, 즉 EN을 English로 바꾸고 싶다. (엑셀에서 진작 바꾸지 그랬어? 미리 작성해둔 아래와 같은 XML 파일을 이용하여 바꿀 것이다.)&lt;/p&gt;
&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;language&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Kazakh.Kazakhstan&quot;&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;alias&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;Kazakh&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;alias&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;Endonym&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;Қазақ тілі&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;Endonym&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;LocaleCode&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;kk-KZ&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;LocaleCode&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;TwoLetterCode&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;kk&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;TwoLetterCode&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;ThreeLetterCode&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;kaz&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;ThreeLetterCode&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;CountryCode&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;KAZ&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;CountryCode&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;direction&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;LTR&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;direction&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;FolderName&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;KK&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;FolderName&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;language&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;2) 그 다음에 항목들을 언어 이름을 기준으로 오름차순으로 정렬하고 싶다. 단 key, English, Korean이 먼저 와야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;다른 방법을 쓰자면 어떻게 할 수 있을까? 엑셀 시트를 TSV 파일로 저장한 다음에 VS Code에서 여러 차례 찾기-바꾸기를 하면 ... 쉽지 않겠다. &lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;익숙해지니 XSLT가 이제는 꽤 매력적인 것으로 보인다.&lt;span&gt; XSLT는 저런 작업을 수월하게 처리한다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xml&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:stylesheet&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;2.0&quot;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;xmlns:xsl&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;a href=&quot;http://www.w3.org/1999/XSL/Transform&quot;&gt;http://www.w3.org/1999/XSL/Transform&lt;/a&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;xmlns:xs&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;http://www.w3.org/2001/XMLSchema&lt;/a&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;exclude-result-prefixes&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;xs&quot;&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc; font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:output&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;method&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;xml&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;encoding&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;UTF-8&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;indent&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;yes&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:variable&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;langdb&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;select&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;document&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'languages.xml'&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:key&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;FindAlias&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;match&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;language&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;use&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;FolderName&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc; font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:template&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;match&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;@*&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;node&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;()&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mode&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;#all&quot;&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:copy&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:apply-templates&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;select&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;@*&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;node&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;()&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mode&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;#current&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:copy&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:template&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc; font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:template&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;match&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:variable&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;FirstEntire&quot;&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:apply-templates&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mode&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;FirstStep&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:variable&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:apply-templates&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;select&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;$FirstEntire&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:template&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc; font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:template&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;match&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mode&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;FirstStep&quot;&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:for-each&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;select&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:choose&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:when&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;test&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;()&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'key'&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:copy-of&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;select&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:when&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:otherwise&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:variable&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;alias&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;select&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;key&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;'FindAlias'&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;()&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;$langdb&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;alias&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:element&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;$alias&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;}&quot;&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:apply-templates&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:element&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:otherwise&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:choose&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:for-each&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:template&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc; font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:template&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;match&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:apply-templates&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;select&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;key&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;English&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Korean&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:apply-templates&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;select&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;except&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;key&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;English&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Korean&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:sort&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;select&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;()&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:apply-templates&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:template&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xsl:stylesheet&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TeX과 친구들</category>
      <author>Hoze</author>
      <guid isPermaLink="true">https://hoze.tistory.com/2278</guid>
      <comments>https://hoze.tistory.com/2278#entry2278comment</comments>
      <pubDate>Thu, 18 Dec 2025 12:03:21 +0900</pubDate>
    </item>
    <item>
      <title>나에게 테크니컬 라이팅이란</title>
      <link>https://hoze.tistory.com/2277</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;테크니컬 라이팅이라는 일을 시작하게 되었을 때, 이 일이 유망한지, 내가 잘 할 수 있는 일인지 생각할 계제가 아니었다. 생계를 위해 했다. 앞으로도 사정이 바뀌지 않겠다는 생각이 들었을 때 이직이 가능한 나이에서 벗어나 있었다. 젊었더라도 다른 기회를 찾기가 어려웠을 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 내가 첫 세대의 테크니컬 라이터였다고 생각한다. 일을 가르쳐줄 사람이 없었고, 여전히 외주로서 제공되는 서비스이다 보니 큰 조직에서 일할 기회도 갖지 못했다. 내게 다른 지혜를 나눠줄 선배나 상사를 갖지 못했었다는 점이 약간의 아쉬움으로 남는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;테크니컬 라이팅을 수행하는 데에 필요한, 어느 분야에서나 오래 일한 사람이 쌓을 수 있는 정도의, 적지 않은 기술과 지식을 축적했지만, 나로부터 그것들을 물려받을 사람이 없다.&amp;nbsp;나는 지금 테크니컬 라이팅을 사회적 진화에서 선택받지 못한 직업으로 받아들이고 있다. 성공하지 못함이 세간에서 흔한 일이라 그것도 안타까워할 만한 일이 아니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요즘에 내게 일의 호불호가 없다. 어느 쪽을 더 하고 싶다거나 무엇을 더 배워야겠다는 생각을 갖고 있지 않다. 주어지는 대로, 할 수 있다면 한다. 그 일들을 통해 내게 무엇이 남을지 생각하지 않는다. 지난 며칠 사이에 프로그래밍에서 thread가 무엇인지, 어느 경우에 필요하고 어떻게 구현하는지 배웠다. 흥미롭지만 새들이 호흡을 위한 기낭을 갖고 있음을 배울 때 느끼는 것보다 덜하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 하고 있는 프로그래밍에서 테크니컬 라이팅을 할 때 가졌던 만큼의, 성취와 보람이 어우러진, 만족을 느끼지 못하고 있다. 그렇다고 구태여 다시 테크니컬 라이터가 되고 싶지는 않다. 일을 좀 덜하고 대신 새나 공룡에 대해 배우는 시간을 더 갖게 되기를 바랄 뿐이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;technical_writing.jpg&quot; data-origin-width=&quot;299&quot; data-origin-height=&quot;280&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ANcQi/dJMcad1Apcu/C9PdzTKGQSXShlm27cpqeK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ANcQi/dJMcad1Apcu/C9PdzTKGQSXShlm27cpqeK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ANcQi/dJMcad1Apcu/C9PdzTKGQSXShlm27cpqeK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FANcQi%2FdJMcad1Apcu%2FC9PdzTKGQSXShlm27cpqeK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;299&quot; height=&quot;280&quot; data-filename=&quot;technical_writing.jpg&quot; data-origin-width=&quot;299&quot; data-origin-height=&quot;280&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>책을 읽거나 글을 쓰거나</category>
      <author>Hoze</author>
      <guid isPermaLink="true">https://hoze.tistory.com/2277</guid>
      <comments>https://hoze.tistory.com/2277#entry2277comment</comments>
      <pubDate>Tue, 16 Dec 2025 18:31:05 +0900</pubDate>
    </item>
    <item>
      <title>나에게 CD란</title>
      <link>https://hoze.tistory.com/2276</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;LePetitPrince.jpg&quot; data-origin-width=&quot;640&quot; data-origin-height=&quot;422&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bsCnV2/dJMcahpefs0/SNIvYIa3JMA4RMzwS3Vi00/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bsCnV2/dJMcahpefs0/SNIvYIa3JMA4RMzwS3Vi00/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bsCnV2/dJMcahpefs0/SNIvYIa3JMA4RMzwS3Vi00/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbsCnV2%2FdJMcahpefs0%2FSNIvYIa3JMA4RMzwS3Vi00%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;264&quot; data-filename=&quot;LePetitPrince.jpg&quot; data-origin-width=&quot;640&quot; data-origin-height=&quot;422&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;어린 왕자&quot;에 어진 여우가 등장한다.&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;내 생활은 너무 단조롭지. 나는 닭을 쫓고, 사람들은 나를 쫓고. 닭은 모두 그게 그거고, 사람들도 모두 그게 그거고. 그래서 난 좀 지겨워. 그러나 네가 날 길들이면 내 생활은 햇빛처럼 눈부시게 될 거야. 네 발 소리는 다른 발 소리와 완전히 다르게 들리고, 난 그걸 구별할 수 있게 돼. &lt;br /&gt;다른 사람의 발 소리를 들으면 나는 땅 속에 숨지. 그러나 네 발 소리는 음악처럼 나를 굴 밖으로 불러낼 거야. 저기, 밀밭이 보이지? 나는 빵을 먹지 않아! 밀은 내게 전혀 소용이 없어. 그래서 밀밭을 봐도 아무 생각도 들지 않아. 그건 슬픈 일이야! 네 머리칼은 금빛이지. 그래서 네가 나를 길들이면 정말 놀라운 일이 생기게 돼. 금빛 밀밭을 보면, 네가 생각날 거야. 나는 밀밭에 스치는 바람 소리를 사랑하게 될 거야&lt;br /&gt;... &lt;br /&gt;오후&amp;nbsp;네&amp;nbsp;시에&amp;nbsp;네가&amp;nbsp;온다면&amp;nbsp;나는&amp;nbsp;세&amp;nbsp;시부터&amp;nbsp;행복해질&amp;nbsp;거야.&amp;nbsp; &lt;br /&gt;... &lt;br /&gt;네&amp;nbsp;장미가&amp;nbsp;그렇게&amp;nbsp;소중해진&amp;nbsp;건&amp;nbsp;네가&amp;nbsp;장미에게&amp;nbsp;바친&amp;nbsp;시간&amp;nbsp;때문이야.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;MP3가 등장하면서 음악을 즐기는 방법이 완전히 달라졌다. MP3 플레이어가 잠시 인기를 얻다가 오래지 않아 스마트폰으로 대체되었다. 이제는 수백 곡의 파일들을 애써 모으지 않고, 멜론이나 스포티파이가 무작위로 들려주는 것들을 감상한다. 음악이 소중한 것으로서의 지위를 잃고 배경이나 들러리로 전락했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내가 어떤 곡을 진심으로 아낀다면, 청소기를 돌리면서 듣는 것이&amp;nbsp;그 곡의 가수나 작곡가나 연주가를 존중하는 방법이랄 수는 없지 않나. 이따금 CD 플레이어를 통해, 아무 짓도 하지 않고, 딥 퍼플의 에이프릴을 고스란히 듣는다. 내가 그것에 길들여졌으니까.&lt;/p&gt;</description>
      <category>책을 읽거나 글을 쓰거나</category>
      <author>Hoze</author>
      <guid isPermaLink="true">https://hoze.tistory.com/2276</guid>
      <comments>https://hoze.tistory.com/2276#entry2276comment</comments>
      <pubDate>Thu, 13 Nov 2025 11:04:32 +0900</pubDate>
    </item>
    <item>
      <title>나에게 아름다움이란</title>
      <link>https://hoze.tistory.com/2275</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;이 글이 &quot;나에게&quot; 시리즈(&lt;a href=&quot;https://hoze.tistory.com/2273&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://hoze.tistory.com/2273&lt;/a&gt;, &lt;a href=&quot;https://hoze.tistory.com/2274&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://hoze.tistory.com/2274&lt;/a&gt;)의 마지막이다. 나는 화려한 것들보다 깔끔한 것들을 좋아한다. 연장 따위를 고를 때 응용 범위, 사용 빈도, 내구성 등이 우선 고려 사항이다. 디자인은 실용주의자에게 가장 덜 중요한 요소이다. 쓸모가 전혀 없는 나침반이나 유리 구슬을 고를 때에 비로소 미학이 가장 중요한 것이 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나의 이런 실용주의적 성향 때문에 나는 오래 동안 스스로를 미니멀리스트라 생각했다. 하지만 내가 생각하는 것보다 더 강하게 내가 나의, 분명하지 않은, 미적 기준에 집착하고 있음을 최근에 깨달았다. 스크립트를 작성할 때 나는 변수나 함수 이름을 허투루 짓지 않는다. 이름이 유의미해야, 가급적 그 용도나 목적을 암시해야 나중에 코드를 더 쉽게 이해할 수 있다는 그럴듯한 이유도 있지만, 나머지 이유는 결벽증이 아닌가 싶다. 문서처럼 소스 코드도 일관성이 있어야 하고, 그래야 소스 코드가 아름답다. 소스 코드가 아름다워야 한다는 것은 처리 속도 못지않게 내게 중요하다. 레이텍으로 페이지들을 조판할 때, 어떤 장식도, 이를테면 절 제목의 밑줄 같은 것들을 좀처럼 사용하지 않는다. 그 효용성을 나 자신에게 납득시킬 수 없으면 군더더기일 뿐이다. 반면, 색인이 필요하다 생각되면, 매우 번잡한 작업임에도, 색인을 만든다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는, 결벽증으로 보일 만큼, 간결함과 일관성에 집착한다. 미니멀리즘이나 실용주의적 성향만으로는 나의 모든 미적 가치 판단을 설명하기 어렵다. 내가 만든 매뉴얼은 정보의 구성과 수준에서부터 어휘의 적절성, 판면 배치, 삽화의 가독성에 이르기까지 모든 점에서, 그리고 그 기획과 진행 과정의 각 단계조차 아름다워야 한다. 물론 완벽하게 아름다운 것을 성공적으로 만든 적은 아직까지 없다. 혼자서 완벽한 것을 만드는 것은 불가능에 가깝다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;부족한 진득함을 메우기 위해 빨리 해치울 수 있는 꼼수들을 끊임없이 모색하면서, 나의 실용주의적 성향이, 나의 모호한 미학과 더불어, 할 수 있는 방법과 범위를 빨리 결정하고 나를 밀어부쳤다. 이 세 가지가 한 직업인으로서의 나를 만들었다. 그 중에 나를 추동한 것은 나의 미학이 아닐까 싶다. 왜냐하면 아름답지 않은 일은 기피하려 했을 테니까.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;minimalism.jpg&quot; data-origin-width=&quot;1454&quot; data-origin-height=&quot;964&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bH9f1K/dJMcabbsRcP/5USk6AexOkYf8fTVL1Xg4k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bH9f1K/dJMcabbsRcP/5USk6AexOkYf8fTVL1Xg4k/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bH9f1K/dJMcabbsRcP/5USk6AexOkYf8fTVL1Xg4k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbH9f1K%2FdJMcabbsRcP%2F5USk6AexOkYf8fTVL1Xg4k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;398&quot; data-filename=&quot;minimalism.jpg&quot; data-origin-width=&quot;1454&quot; data-origin-height=&quot;964&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>책을 읽거나 글을 쓰거나</category>
      <author>Hoze</author>
      <guid isPermaLink="true">https://hoze.tistory.com/2275</guid>
      <comments>https://hoze.tistory.com/2275#entry2275comment</comments>
      <pubDate>Tue, 11 Nov 2025 16:51:41 +0900</pubDate>
    </item>
  </channel>
</rss>