<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>왼손잡이개발자의 개발판</title>
    <link>https://lefthanddeveloper.tistory.com/</link>
    <description>안녕하세요 왼손잡이 개발자입니다!
</description>
    <language>ko</language>
    <pubDate>Thu, 9 Apr 2026 11:57:58 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>왼손잡이개발자</managingEditor>
    <image>
      <title>왼손잡이개발자의 개발판</title>
      <url>https://tistory1.daumcdn.net/tistory/4951413/attach/f94e94fc16c94462b13554ec210c5abf</url>
      <link>https://lefthanddeveloper.tistory.com</link>
    </image>
    <item>
      <title>[VisualStudio Setting] C++ 언어 표준 수정하기</title>
      <link>https://lefthanddeveloper.tistory.com/49</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;VisualStudio 에서 C++ 표준 설정하기&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;Visual Studio Tab Menu &amp;rarr; Project &amp;rarr; Properties &amp;rarr; Configuration Properties &amp;rarr; C/C++ &amp;rarr; Language &amp;rarr; &lt;b&gt;C++ Language Standard 바꾸기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1102&quot; data-origin-height=&quot;713&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RmqWQ/btsAjiMmAf2/6sxTcKhC8hQrPmEsQg4GNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RmqWQ/btsAjiMmAf2/6sxTcKhC8hQrPmEsQg4GNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RmqWQ/btsAjiMmAf2/6sxTcKhC8hQrPmEsQg4GNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRmqWQ%2FbtsAjiMmAf2%2F6sxTcKhC8hQrPmEsQg4GNK%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;523&quot; height=&quot;338&quot; data-origin-width=&quot;1102&quot; data-origin-height=&quot;713&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;978&quot; data-origin-height=&quot;682&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bql5U7/btsAorA1OmP/RXjjSegoTpFPIqoOKFKqg1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bql5U7/btsAorA1OmP/RXjjSegoTpFPIqoOKFKqg1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bql5U7/btsAorA1OmP/RXjjSegoTpFPIqoOKFKqg1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbql5U7%2FbtsAorA1OmP%2FRXjjSegoTpFPIqoOKFKqg1%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;554&quot; height=&quot;386&quot; data-origin-width=&quot;978&quot; data-origin-height=&quot;682&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>C++</category>
      <category>c++ 기초</category>
      <category>VisualStudio</category>
      <author>왼손잡이개발자</author>
      <guid isPermaLink="true">https://lefthanddeveloper.tistory.com/49</guid>
      <comments>https://lefthanddeveloper.tistory.com/49#entry49comment</comments>
      <pubDate>Tue, 14 Nov 2023 23:09:28 +0900</pubDate>
    </item>
    <item>
      <title>[git] 로컬에서만 gitignore하기</title>
      <link>https://lefthanddeveloper.tistory.com/48</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ignore.gif&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;362&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BZOh4/btstfRUvPyU/niegG6ZFPyUlYNfxLiYnok/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BZOh4/btstfRUvPyU/niegG6ZFPyUlYNfxLiYnok/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BZOh4/btstfRUvPyU/niegG6ZFPyUlYNfxLiYnok/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/BZOh4/btstfRUvPyU/niegG6ZFPyUlYNfxLiYnok/img.gif&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;480&quot; height=&quot;362&quot; data-filename=&quot;ignore.gif&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;362&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;
&lt;p data-ke-size=&quot;size16&quot;&gt;git으로 협업을 하다가 로컬에서만 gitignore를 하고 싶을 경우가 있을 것이다. 보통 ignore하고 싶은 파일들이 있을 땐 .gitignore 해당 파일들을 추가하는데, .gitignore 파일 자체가 commit 내용으로 들어가기 때문에 원격으로도 해당 내용이 반영된다. 원격에 반영되지 않고, 로컬 repository에만 ignore 할 수 있는 파일이 따로 존재한다. 바로 &lt;u&gt;&lt;b&gt;.git/info/exclude&lt;/b&gt;&lt;/u&gt; 파일이다.&amp;nbsp;&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;pre id=&quot;code_1693961200808&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설명 아래에 .gitignore 를 작성할 때와 동일하게 ignore 하고 싶은 파일들을 또는 경로를 작성하면 된다.&lt;/p&gt;</description>
      <category>Useful Info.</category>
      <category>Git</category>
      <category>gitignore</category>
      <category>sourcetree</category>
      <category>로컬gitignore</category>
      <category>소스트리</category>
      <author>왼손잡이개발자</author>
      <guid isPermaLink="true">https://lefthanddeveloper.tistory.com/48</guid>
      <comments>https://lefthanddeveloper.tistory.com/48#entry48comment</comments>
      <pubDate>Wed, 6 Sep 2023 09:48:32 +0900</pubDate>
    </item>
    <item>
      <title>[C#] C# 과 .NET Framework</title>
      <link>https://lefthanddeveloper.tistory.com/47</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;net.gif&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;384&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Gyx5C/btr5QnCJrZG/q1e6xWKIFAhQ34cknMnakK/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Gyx5C/btr5QnCJrZG/q1e6xWKIFAhQ34cknMnakK/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Gyx5C/btr5QnCJrZG/q1e6xWKIFAhQ34cknMnakK/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/Gyx5C/btr5QnCJrZG/q1e6xWKIFAhQ34cknMnakK/img.gif&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;480&quot; height=&quot;384&quot; data-filename=&quot;net.gif&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;384&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;흔히들 C#과 .NET, 이 두 용어를 혼돈하여 많이들 사용한다. 나도 그저 .NET은 프레임워크이고 C#은 프로그래밍 언어이라는 차이점만 있다고 생각하고 있었는데, .NET Framework, .NET Core 등등 뒤에 점점 더 많은 .NET이 붙은 단어들이 나오면서 정확히 차이점이 무엇인지 모른 상태였다. 그러다가 TimCorey님의 유튜브를 보고 (&lt;a href=&quot;https://www.youtube.com/watch?v=4olO9UjRiww&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;링크&lt;/a&gt;), 아주 조금이나마 그 차이를 이해할 수 있게 되었다. 영상을 보면 팀 코리님께서 .NET Framework를 시작으로 시간 순으로 .NET의 역사를 알려주고 그로부터 파생된 프레임워크들을 알려주신다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;C#&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;C#은 그냥 잘 알고 있듯이, 프로그래밍 언어이다. 우리가 많이 듣는 Python, Javascript, Java 등등 그냥 컴퓨터에게 데이터와 명령어 전달하는 언어이다.&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;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;.NET Framework&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 .NET의 혼돈(?)의 시발점(나 혼자만 혼돈이라고 생각했을 수도 있다;;), .NET 친구들 중 최초 소프트웨어 프레임워크다. .NET Framework는 개발자들이 유용하게 사용할 수 있는 메소드 라이브러리와 CLR로 구성된 플렛폼이다. (또는 '소프트웨어 프레임워크' 라고도 할 수 있다). .NET Framework 가 C#이라는 프로그래밍 언어를 CIL (common intermediate langauge)로 변환을 하고, 이을 실행할 수 있는 환경인 CLR를 제공한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;.NET Framework는 마이크로소프트사가 2000년에 개발을 했다. 소프트웨어적으로 봤을 때 아주 오래되었다고 볼 수 있다. 오래됨에 따라서 .NET Framework도 점점 살이 많이 붙으면서 볼륨이 커지고 무거워지기 시작했다. .NET Framework를 최신화하고 경량화하기 위해 등장한 것이 바로 .NET Core이다&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;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;.NET Core&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;.NET Framework를 대체하기 위해 등장한 녀석이다. .NET Framework 보다 훨씬 빨라진 Cross-platform 프레임워크이다. .NET Core도 등장 이후 점점 업데이트를 하며 .NET Core 이름 뒤에 .NET Core 3, .NET Core 4, .NET Core 5 이런 식으로 숫자가 붙여져서 불려졌다. 그런데 .NET Core 5부터는 '왜 굳이 Core 이라는 단어를 붙어야할까? 이미 .NET Framework를 대체했기 때문에 구분을 위해 Core라는 단어를 붙일 필요가 없다!'라는 결론이 나와 .NET Core 5 부터는 그냥 .NET으로 불리기 시작했다.&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;.NET Standard&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 .NET Standard는 무엇이냐? .NET Framework 가 개발된 이래로 다양한 버전들이 나오고, 그 와중에 .NET Core도 나오면서 다양한 .NET API들이 나왔을텐데, 특정 .NET API가 어떤 프레임워크의 어떤 버전을 지원하는지 구분하기가 어려워서 .NET Standard가 이를 해결하기 위해 등장했다. .NET Standard의 버전에 따라서 특정 .NET API가 어떤 버전의 프레임워크를 지원하는지 구분 할 수 있게 되었다. .NET Standard가 인터페이스의 역할을 한다고도 할 수 있겠다.&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;.NET&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 얘기했듯이 .NET Core 5 부터는 'Core'를 빼고 그냥 .NET 으로 부르기로 했다.&amp;nbsp;&lt;/p&gt;</description>
      <category>Unity &amp;amp; C#</category>
      <category>.net</category>
      <category>.net core</category>
      <category>.Net framework</category>
      <category>c#</category>
      <author>왼손잡이개발자</author>
      <guid isPermaLink="true">https://lefthanddeveloper.tistory.com/47</guid>
      <comments>https://lefthanddeveloper.tistory.com/47#entry47comment</comments>
      <pubDate>Sat, 25 Mar 2023 18:06:44 +0900</pubDate>
    </item>
    <item>
      <title>[Unity] AudioSettings.dspTime 이란?</title>
      <link>https://lefthanddeveloper.tistory.com/46</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;sound.gif&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;600&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bokAQB/btr5FaQyU9r/pvPJ5fW1qflUHqOO6GFNC1/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bokAQB/btr5FaQyU9r/pvPJ5fW1qflUHqOO6GFNC1/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bokAQB/btr5FaQyU9r/pvPJ5fW1qflUHqOO6GFNC1/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/bokAQB/btr5FaQyU9r/pvPJ5fW1qflUHqOO6GFNC1/img.gif&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;208&quot; height=&quot;156&quot; data-filename=&quot;sound.gif&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;600&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;
&lt;p data-ke-size=&quot;size16&quot;&gt;유니티로 음악이 관련된 콘텐츠를 만드는 것을 좋아하다보니, AudioSettings.dspTime이란 것을 자주 만나 볼 수 있었다. 그냥 구글링하면 사운드 관련된 정확도를 위해 사용하는 값이라고 대충만 알고 있다가, 정확히 무엇인지 알아봐야겠다는 생각이 들어서 찾아보게 되었다.&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;DSP 란 Digital Signaling Processing 의 약자인데, 그렇다면 DSP Time 이란 디지털 신호 관련된 처리 시간이라고 유추해볼 수 있었다. 유니티에서 사용되는 dspTime은 &lt;u&gt;&lt;b&gt;오디오 시스템에서 처리된 실제 오디오 샘플 수에 기반하여 반환되는 double 값의 시간&lt;/b&gt;&lt;/u&gt;이라고 한다. 오디오 관련된 로직을 처리할 땐, 흔히 쓰는 Time.time의 float 값보다 더 정확하다. 그리고 dspTime은 Frame Rate의 영향을 받지 않는다.&amp;nbsp;&amp;nbsp;&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;AudioSource의 Method 중 PlayScheduled(...) 라고 하는 것이 있는데, 여기에 들어가는 parameter 가 바로 dspTime이 들어가야한다. 만약 5초 뒤에 audioSource를 플레이 하고 싶다고 하면 아래와 같이 작성하면 된다.&lt;/p&gt;
&lt;pre id=&quot;code_1679627856216&quot; class=&quot;cs&quot; data-ke-language=&quot;cs&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;private AudioSource audioSource;

    void Start()
    {
        audioSource = GetComponent&amp;lt;AudioSource&amp;gt;();

        double curDspTime = AudioSettings.dspTime;
        
        audioSource.PlayScheduled(curDspTime + 5f);
    }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 FrameRate의 영향을 받지않고, 오디오 시스템에 기반하여 5초뒤에 음악을 재생할 수 있다.&amp;nbsp;&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;pre id=&quot;code_1679628417464&quot; class=&quot;cs&quot; data-ke-language=&quot;cs&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt; [SerializeField] private AudioSource audioSource1;
 [SerializeField] private AudioSource audioSource2;

    void Start()
    {
        double curDspTime = AudioSettings.dspTime;
        double audioSource1Duration = (double)audioSource1.clip.samples / audioSource1.clip.frequency;
        Debug.Log(&quot;audiosource 1 duration is : &quot; + audioSource1Duration);

        audioSource1.PlayScheduled(curDspTime);
        audioSource2.PlayScheduled(curDspTime + audioSource1Duration);
    }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Unity &amp;amp; C#</category>
      <category>unity dsptime</category>
      <category>Unity3D</category>
      <category>유니티 audio</category>
      <category>유니티 dsptime</category>
      <author>왼손잡이개발자</author>
      <guid isPermaLink="true">https://lefthanddeveloper.tistory.com/46</guid>
      <comments>https://lefthanddeveloper.tistory.com/46#entry46comment</comments>
      <pubDate>Fri, 24 Mar 2023 12:29:31 +0900</pubDate>
    </item>
    <item>
      <title>Dancing Organs</title>
      <link>https://lefthanddeveloper.tistory.com/45</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;dancingOrgan.gif&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;338&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NTjue/btrLhtjhGkO/4mrcf0vDKBDYWvqe6y1yPk/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NTjue/btrLhtjhGkO/4mrcf0vDKBDYWvqe6y1yPk/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NTjue/btrLhtjhGkO/4mrcf0vDKBDYWvqe6y1yPk/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/NTjue/btrLhtjhGkO/4mrcf0vDKBDYWvqe6y1yPk/img.gif&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;338&quot; data-filename=&quot;dancingOrgan.gif&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;338&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이전에 재미로 만들었던 Dancing Fingers에 이어서 Dancing Organs 를 만들어봤다.&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;&amp;nbsp;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;kakaotv&quot; data-video-url=&quot;https://tv.kakao.com/v/431713556&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/bxwFej/hyPF2GG18U/bWkxSEiGqnJ1KcAwWoOm10/img.jpg?width=1920&amp;amp;height=1080&amp;amp;face=0_0_1920_1080,https://scrap.kakaocdn.net/dn/hRDqD/hyPF9TlEFD/vW75a2RZUVVQFLvm2fdswk/img.jpg?width=1920&amp;amp;height=1080&amp;amp;face=0_0_1920_1080&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-play-service=&quot;daum_tistory&quot;&gt;&lt;iframe src=&quot;https://play-tv.kakao.com/embed/player/cliplink/431713556?service=daum_tistory&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption&gt;&lt;/figcaption&gt;
&lt;/figure&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;a href=&quot;https://github.com/lefthanddeveloper/DancingOrgans&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/lefthanddeveloper/DancingOrgans&lt;/a&gt;&lt;/p&gt;</description>
      <category>Playground</category>
      <category>audiovisualizaer</category>
      <category>dancingorgans</category>
      <category>madewithunity</category>
      <category>Unity3D</category>
      <author>왼손잡이개발자</author>
      <guid isPermaLink="true">https://lefthanddeveloper.tistory.com/45</guid>
      <comments>https://lefthanddeveloper.tistory.com/45#entry45comment</comments>
      <pubDate>Sun, 4 Sep 2022 00:05:38 +0900</pubDate>
    </item>
    <item>
      <title>RGB in XYZ</title>
      <link>https://lefthanddeveloper.tistory.com/44</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;rgbToxyz.gif&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;338&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d8be39/btrKaydPkW7/Ze4kzOB9yu1oCUX1DqLysk/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d8be39/btrKaydPkW7/Ze4kzOB9yu1oCUX1DqLysk/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d8be39/btrKaydPkW7/Ze4kzOB9yu1oCUX1DqLysk/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/d8be39/btrKaydPkW7/Ze4kzOB9yu1oCUX1DqLysk/img.gif&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;338&quot; data-filename=&quot;rgbToxyz.gif&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;338&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;색을 나타내는 3개 값 RGB와 공간을 나타내는 3개 값 XYZ를 매칭시켜면 재밌겠다는 생각이 들어 만들어본 toy project, RGB in XYZ&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;a href=&quot;https://github.com/lefthanddeveloper/RGBXYZ&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/lefthanddeveloper/RGBXYZ&lt;/a&gt;&lt;/p&gt;</description>
      <category>Playground</category>
      <category>madewithunity</category>
      <category>RGB</category>
      <category>unity</category>
      <category>XYZ</category>
      <author>왼손잡이개발자</author>
      <guid isPermaLink="true">https://lefthanddeveloper.tistory.com/44</guid>
      <comments>https://lefthanddeveloper.tistory.com/44#entry44comment</comments>
      <pubDate>Sun, 21 Aug 2022 00:32:25 +0900</pubDate>
    </item>
    <item>
      <title>[Visual Studio] 함수 접기&amp;amp;펼치기(?) 단축키</title>
      <link>https://lefthanddeveloper.tistory.com/43</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;openclose.gif&quot; data-origin-width=&quot;640&quot; data-origin-height=&quot;640&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VFL1U/btrJV7IxJVs/8FV4usKOcVFIHFvs9WKrcK/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VFL1U/btrJV7IxJVs/8FV4usKOcVFIHFvs9WKrcK/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VFL1U/btrJV7IxJVs/8FV4usKOcVFIHFvs9WKrcK/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/VFL1U/btrJV7IxJVs/8FV4usKOcVFIHFvs9WKrcK/img.gif&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;640&quot; height=&quot;640&quot; data-filename=&quot;openclose.gif&quot; data-origin-width=&quot;640&quot; data-origin-height=&quot;640&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Visual Studio에서 함수 접기 &amp;amp; 펼치기(?) 단축키&amp;nbsp;&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;▶&amp;nbsp;접기: Ctrl + m + o&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;▶펼치기: Ctrl + m + l&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;&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;▶ Ctrl + Alt를 누른 체 마우스 클릭을 할 시 멀티 커서 focus 가능&amp;nbsp;&lt;/p&gt;</description>
      <category>Useful Info.</category>
      <category>Visual Studio 함수 접기</category>
      <category>VisualStudio</category>
      <category>VisualStudio 단축키</category>
      <category>VisualStudio 함수 펼치기</category>
      <author>왼손잡이개발자</author>
      <guid isPermaLink="true">https://lefthanddeveloper.tistory.com/43</guid>
      <comments>https://lefthanddeveloper.tistory.com/43#entry43comment</comments>
      <pubDate>Thu, 18 Aug 2022 13:00:12 +0900</pubDate>
    </item>
    <item>
      <title>[Visual Studio] 지도 스크롤 설정하는 방법</title>
      <link>https://lefthanddeveloper.tistory.com/42</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;scroll.gif&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;454&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oes6F/btrJWDzZauh/Qxt97FoKZrpwNOqMgwlI71/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oes6F/btrJWDzZauh/Qxt97FoKZrpwNOqMgwlI71/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oes6F/btrJWDzZauh/Qxt97FoKZrpwNOqMgwlI71/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/oes6F/btrJWDzZauh/Qxt97FoKZrpwNOqMgwlI71/img.gif&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;480&quot; height=&quot;454&quot; data-filename=&quot;scroll.gif&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;454&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Visual Stuio에서 지도 스크롤 설정하는 방법&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;도구 탭 &amp;rarr; 옵션 &amp;rarr; 텍스트 편집기 &amp;rarr; 일반 텍스트 &amp;rarr; 스크롤 막대 &amp;rarr; &quot;동작&quot; 부분에서 &quot;세로 스크롤 막대에 지도 모드 사용&quot; 체크하기&lt;br /&gt;(영문버전: Tools &amp;rarr; Options &amp;rarr; Text Editor &amp;rarr; Plain Text &amp;rarr; Scroll Bars &amp;rarr; Behaviours &amp;rarr; &quot;Use map mode for vertical scroll bar&quot;)&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;766&quot; data-origin-height=&quot;445&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bv8wfV/btrJWeOdtrv/EZavjgbqoYSFQXQDdjKf81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bv8wfV/btrJWeOdtrv/EZavjgbqoYSFQXQDdjKf81/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bv8wfV/btrJWeOdtrv/EZavjgbqoYSFQXQDdjKf81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbv8wfV%2FbtrJWeOdtrv%2FEZavjgbqoYSFQXQDdjKf81%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;766&quot; height=&quot;445&quot; data-origin-width=&quot;766&quot; data-origin-height=&quot;445&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;
&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-origin-width=&quot;1907&quot; data-origin-height=&quot;1009&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/58KkK/btrJXleJfle/BagzZz21Ui7HLZjqNyEFX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/58KkK/btrJXleJfle/BagzZz21Ui7HLZjqNyEFX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/58KkK/btrJXleJfle/BagzZz21Ui7HLZjqNyEFX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F58KkK%2FbtrJXleJfle%2FBagzZz21Ui7HLZjqNyEFX0%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;1907&quot; height=&quot;1009&quot; data-origin-width=&quot;1907&quot; data-origin-height=&quot;1009&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>Useful Info.</category>
      <category>Visual Studio</category>
      <category>Visual Studio 지도 스크롤 설정</category>
      <category>Visual Studio 팁</category>
      <category>지도 스크롤</category>
      <author>왼손잡이개발자</author>
      <guid isPermaLink="true">https://lefthanddeveloper.tistory.com/42</guid>
      <comments>https://lefthanddeveloper.tistory.com/42#entry42comment</comments>
      <pubDate>Wed, 17 Aug 2022 22:46:42 +0900</pubDate>
    </item>
    <item>
      <title>[C#] Flags Attribute를 활용하자!</title>
      <link>https://lefthanddeveloper.tistory.com/41</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;flag.gif&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;484&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cuoEwG/btrJIrT5moY/qJIbIZeaCofYK9daQMTFz0/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cuoEwG/btrJIrT5moY/qJIbIZeaCofYK9daQMTFz0/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cuoEwG/btrJIrT5moY/qJIbIZeaCofYK9daQMTFz0/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/cuoEwG/btrJIrT5moY/qJIbIZeaCofYK9daQMTFz0/img.gif&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;484&quot; data-filename=&quot;flag.gif&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;484&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;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른 사람의 코드를 보다가 선언된 enum 앞에 [Flags] 또는 [System.Flags] attribute가 붙은 걸 보고 '이게 뭐지? 무슨 역할을 하지?' 하고 궁금해한 적이 있다. 궁금해만 하다가 이제서야 Flags attribute의 유용성을 알게 되었다. 특히 선언된 enum을 bitwise operation에 이용할 때 많이 유용하다.&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;예제로 flags를 착용 상태를 표현하도록 해본다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;490&quot; data-origin-height=&quot;208&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l7R1U/btrJELeJv6c/8qwF7Qy142ZO55oF3TiA21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l7R1U/btrJELeJv6c/8qwF7Qy142ZO55oF3TiA21/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l7R1U/btrJELeJv6c/8qwF7Qy142ZO55oF3TiA21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl7R1U%2FbtrJELeJv6c%2F8qwF7Qy142ZO55oF3TiA21%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;490&quot; height=&quot;208&quot; data-origin-width=&quot;490&quot; data-origin-height=&quot;208&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;
&lt;p data-ke-size=&quot;size16&quot;&gt;UseOfFlags라는 컴포넌트를 하나 만들어서, EquipStatus 변수를 public으로 선언하고 인스펙터에서 보면, 흔히 layer 를 선택할 수 있는 것처럼 다중 선택을 할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;497&quot; data-origin-height=&quot;532&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/62IFI/btrJE2zOBla/6KwTLnOJOwMJWAZkqxGrkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/62IFI/btrJE2zOBla/6KwTLnOJOwMJWAZkqxGrkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/62IFI/btrJE2zOBla/6KwTLnOJOwMJWAZkqxGrkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F62IFI%2FbtrJE2zOBla%2F6KwTLnOJOwMJWAZkqxGrkk%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;497&quot; height=&quot;532&quot; data-origin-width=&quot;497&quot; data-origin-height=&quot;532&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;
&lt;p data-ke-size=&quot;size16&quot;&gt;Flags attribute의 유용함의 꽃은 log를 찍을 때 나타난다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;숫자 1~4 까지 bitwise &quot;|&quot; operation으로 착용 상태를 더해주고 equipStatus를 Debug했을 때에 enum 값이 string으로 출력되는 것을 볼 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1065&quot; data-origin-height=&quot;826&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c33hBN/btrJD4Fyjmj/wWGgZz6cKClhNyDEbCirB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c33hBN/btrJD4Fyjmj/wWGgZz6cKClhNyDEbCirB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c33hBN/btrJD4Fyjmj/wWGgZz6cKClhNyDEbCirB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc33hBN%2FbtrJD4Fyjmj%2FwWGgZz6cKClhNyDEbCirB1%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;1065&quot; height=&quot;826&quot; data-origin-width=&quot;1065&quot; data-origin-height=&quot;826&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 스샷에 Debug 찍힌 걸 보면 순서대로 1,2,3,4 키를 누른 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1001&quot; data-origin-height=&quot;282&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bML2Uc/btrJLREJrQJ/sZUx9taBJrYvRiiVBtUjYK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bML2Uc/btrJLREJrQJ/sZUx9taBJrYvRiiVBtUjYK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bML2Uc/btrJLREJrQJ/sZUx9taBJrYvRiiVBtUjYK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbML2Uc%2FbtrJLREJrQJ%2FsZUx9taBJrYvRiiVBtUjYK%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;1001&quot; height=&quot;282&quot; data-origin-width=&quot;1001&quot; data-origin-height=&quot;282&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;binary 숫자로 출력하면 아래와 같이 나온다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;298&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgPemM/btrJEMq9iC0/gXG8KWS8wPB9PtxkpYciAk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgPemM/btrJEMq9iC0/gXG8KWS8wPB9PtxkpYciAk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgPemM/btrJEMq9iC0/gXG8KWS8wPB9PtxkpYciAk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgPemM%2FbtrJEMq9iC0%2FgXG8KWS8wPB9PtxkpYciAk%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;1000&quot; height=&quot;298&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;298&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;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇다면 만약 Flags를 추가하지 않고 출력한다면 어떤 모습일까?&lt;u&gt;&lt;b&gt; [Flags] 를 주석처리하고 똑같이 log를 찍어보았다&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/myFjc/btrJCm6CEQa/z8Q3ycbjQuwdZetiboFkv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/myFjc/btrJCm6CEQa/z8Q3ycbjQuwdZetiboFkv0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/myFjc/btrJCm6CEQa/z8Q3ycbjQuwdZetiboFkv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmyFjc%2FbtrJCm6CEQa%2Fz8Q3ycbjQuwdZetiboFkv0%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;1000&quot; height=&quot;356&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;356&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와 같이 선택된 enum이 하나 일때는 스트링으로 출력되는 걸 볼 수 있는데, 다중 선택되었을 땐, bitwise 계산이 들어가서 숫자로 출력되는 것을 볼 수 있다.&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;</description>
      <category>Unity &amp;amp; C#</category>
      <category>C# Attribute</category>
      <category>c# enum</category>
      <category>c# enum flag</category>
      <category>c# flag</category>
      <category>enum</category>
      <author>왼손잡이개발자</author>
      <guid isPermaLink="true">https://lefthanddeveloper.tistory.com/41</guid>
      <comments>https://lefthanddeveloper.tistory.com/41#entry41comment</comments>
      <pubDate>Mon, 15 Aug 2022 16:02:43 +0900</pubDate>
    </item>
    <item>
      <title>[유니티] namespace 작성 꿀팁</title>
      <link>https://lefthanddeveloper.tistory.com/40</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;namespace.gif&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;265&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cOSItA/btrH7PbEIjE/WlgZ3HUx1OIwd1SX4GZjZ1/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cOSItA/btrH7PbEIjE/WlgZ3HUx1OIwd1SX4GZjZ1/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cOSItA/btrH7PbEIjE/WlgZ3HUx1OIwd1SX4GZjZ1/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/cOSItA/btrH7PbEIjE/WlgZ3HUx1OIwd1SX4GZjZ1/img.gif&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;317&quot; height=&quot;175&quot; data-filename=&quot;namespace.gif&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;265&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;동료 개발자분께서 유니티의 꿀팁을 알려주셨다. 유니티에서 namespace를 미리 지정해서 스크립트를 생성할 때 저절로 미리 지정된 namespace 안에 클래스가 생성되도록 하는 기능이다.&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;Project Settings &amp;gt; Editor &amp;gt; Root namespace 란에 미리 지정할 namespace를 작성하면 된다. 아래 스크린샷에서 나는 &quot;Lefthanddeveloper.Tistory&quot;로 지정했다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;namespace.png&quot; data-origin-width=&quot;1361&quot; data-origin-height=&quot;670&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cxi7nK/btrIcH5ucmo/KPlZopNgWmskvsOGQ6Nj91/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cxi7nK/btrIcH5ucmo/KPlZopNgWmskvsOGQ6Nj91/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cxi7nK/btrIcH5ucmo/KPlZopNgWmskvsOGQ6Nj91/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcxi7nK%2FbtrIcH5ucmo%2FKPlZopNgWmskvsOGQ6Nj91%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;1361&quot; height=&quot;670&quot; data-filename=&quot;namespace.png&quot; data-origin-width=&quot;1361&quot; data-origin-height=&quot;670&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;
&lt;p data-ke-size=&quot;size16&quot;&gt;Root namespace를 작성한 이 후, 유니티에서 script를 생성하면 아래와 같이 작성된 namespace 로 묶인 클래스가 생성된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;namespace2.png&quot; data-origin-width=&quot;1339&quot; data-origin-height=&quot;884&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZKmw0/btrIfSLp7aq/C0ZfwaV5f0XVcji9DJI7B1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZKmw0/btrIfSLp7aq/C0ZfwaV5f0XVcji9DJI7B1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZKmw0/btrIfSLp7aq/C0ZfwaV5f0XVcji9DJI7B1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZKmw0%2FbtrIfSLp7aq%2FC0ZfwaV5f0XVcji9DJI7B1%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;1339&quot; height=&quot;884&quot; data-filename=&quot;namespace2.png&quot; data-origin-width=&quot;1339&quot; data-origin-height=&quot;884&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;
&lt;p data-ke-size=&quot;size16&quot;&gt;* Visual Studio 솔루션탐색기에서 생성한 class는 해당 기능이 적용되지 않는다. 오직 유니티 에디터에서 클래스를 생성했을 때에만 적용된다.&lt;/p&gt;</description>
      <category>Unity &amp;amp; C#</category>
      <category>c# namespace</category>
      <category>unity tip</category>
      <category>네임스페이스</category>
      <category>유니티</category>
      <category>유니티 namespace</category>
      <category>유니티 꿀팁</category>
      <author>왼손잡이개발자</author>
      <guid isPermaLink="true">https://lefthanddeveloper.tistory.com/40</guid>
      <comments>https://lefthanddeveloper.tistory.com/40#entry40comment</comments>
      <pubDate>Tue, 26 Jul 2022 13:00:50 +0900</pubDate>
    </item>
  </channel>
</rss>