<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>1/86400 TPS</title>
        <link>https://velog.io/</link>
        <description>블록체인 기술 좋아하는 사람</description>
        <lastBuildDate>Tue, 25 Apr 2023 13:31:14 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>1/86400 TPS</title>
            <url>https://velog.velcdn.com/images/support-chain/profile/f1f59228-ce6e-48a8-880d-87e125065fdc/social_profile.jpeg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. 1/86400 TPS. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/support-chain" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Mac 외장모니터 위치가 제멋대로 바뀔 때]]></title>
            <link>https://velog.io/@support-chain/%EB%AA%A8%EB%8B%88%ED%84%B0-%EC%9C%84%EC%B9%98%EA%B0%80-%EC%A0%9C%EB%A9%8B%EB%8C%80%EB%A1%9C-%EB%B0%94%EB%80%94-%EB%95%8C</link>
            <guid>https://velog.io/@support-chain/%EB%AA%A8%EB%8B%88%ED%84%B0-%EC%9C%84%EC%B9%98%EA%B0%80-%EC%A0%9C%EB%A9%8B%EB%8C%80%EB%A1%9C-%EB%B0%94%EB%80%94-%EB%95%8C</guid>
            <pubDate>Tue, 25 Apr 2023 13:31:14 GMT</pubDate>
            <description><![CDATA[<h3 id="세-줄-요약">세 줄 요약</h3>
<ol>
<li>displayplacer 쓰기</li>
<li>모니터 같으면 설정 유지 안되니 Automator로 새로운 모드 만들어두기</li>
<li>위치 바뀌었을 때 다른 모드 적용해보기<h3 id="요구사항">요구사항</h3>
<a href="https://whalec.io/mac/mac-homebrew-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%82%AC%EC%9A%A9-%EB%B0%A9%EB%B2%95/">Homebrew 설치됨</a><h3 id="예상-소요-시간">예상 소요 시간</h3>
10분 내외</li>
</ol>
<hr>
<h2 id="개요">개요</h2>
<p>회사에서 맥북에 같은 모델 모니터 두 개 붙여서 데스크 셋업 해놓은 상태인데, 회의 때문에 모니터가 연결된 <span style="color: #63E6BE">허브 선을 다시 연결하거나 재시동</span> 하고 나면 모니터 좌우가 바뀌는 현상을 적잖게 경험한다.</p>
<p><img src="https://velog.velcdn.com/images/support-chain/post/a7186797-3729-4197-93ed-ce75c1848f8e/image.png" alt=""></p>
<p>매번 <span style="color: #63E6BE">시스템 설정 - 디스플레이 - 정렬</span>에서 매번 다시 설정하자니 번거롭고 귀찮다.</p>
<h2 id="displayplacer">displayplacer</h2>
<p><a href="https://github.com/jakehilborn/displayplacer">https://github.com/jakehilborn/displayplacer</a></p>
<p>displayplacer 라는 command line 유틸리티가 개발되어 있다.
접속해보면 사용 방법이 친절하게 안내되어 있지만, 간단하니까 아래에 기록해두자.</p>
<pre><code># 설치
$ brew tap jakehilborn/jakehilborn &amp;&amp; brew install displayplacer

# 실행
$ displayplacer list

# 결과

... 전략 (현재 연결된 디스플레이들이 사용할 수 있는 옵션 목록)

displayplacer &quot;id:[기기 ID] res:[해상도] hz:[주파수] color_depth:[색심도] scaling:[확대 옵션 활성화] origin:[위치] degree:[회전 각도]&quot; &quot;id: ...&quot; &quot;id: ...&quot;</code></pre><p><code>displayplacer list</code> 명령어는 현재 연결된 디스플레이들이 사용할 수 있는 <span style="color: #63E6BE">옵션 목록</span>과 현재 사용 중인 옵션대로 <span style="color: #63E6BE">설정할 수 있는 명령어</span>를 출력해준다.</p>
<p>결과 최하단에 나오는 <code>displayplacer ...</code>가 <span style="color: #63E6BE">현재 옵션을 사용하도록 설정하는 명령어</span>다.
해당 명령어를 복사해서 shell에 입력하면 그에 맞게 디스플레이 설정을 변경한다.</p>
<h2 id="automator로-간단하게-실행하기-서비스와-단축키-등록">Automator로 간단하게 실행하기 (서비스와 단축키 등록)</h2>
<p>내가 편하게 사용하고 있는 현재 옵션을 알아냈으니, 이제 저장해두고 사용하기만 하면 된다.</p>
<p>Mac은 Automator라는 애플리케이션을 제공하고 있는데, 이 애플리케이션을 사용해서 shell script를 실행하는 서비스를 등록하거나 실행 파일을 생성할 수 있다.</p>
<p>본 포스트에서는 <span style="color: #63E6BE">shell script를 실행하는 서비스</span>를 만들고 <span style="color: #63E6BE">단축키로 실행하는 방법</span>을 기록한다.</p>
<h3 id="서비스-등록">서비스 등록</h3>
<p>Automator를 실행한다.</p>
<ul>
<li><span style="color: #63E6BE">Launch Pad - 기타 - Automator</span></li>
<li><span style="color: #63E6BE">Command + Space 로 Spotlight 실행 - Automator</span></li>
</ul>
<p><img src="https://velog.velcdn.com/images/support-chain/post/67170f21-49b7-4c6e-be19-aaac8cd3e683/image.png" alt=""></p>
<p>빠른 동작 메뉴에서 <span style="color: #63E6BE">셸 스크립트</span> 또는 <span style="color: #63E6BE">shell script</span>를 검색해 <span style="color: #63E6BE">셸 스크립트 실행</span> 또는 <span style="color: #63E6BE">run shell script</span> 메뉴를 선택한다.</p>
<p><img src="https://velog.velcdn.com/images/support-chain/post/39fa2ab2-bb62-4efa-be2a-09f6027e9650/image.png" alt=""></p>
<p>옵션을 다음과 같이 설정한다. </p>
<ul>
<li>현재 수신하는 작업흐름: <span style="color: #63E6BE">입력 없음</span></li>
<li>선택 항목 위치: <span style="color: #63E6BE">모든 응용 프로그램</span></li>
</ul>
<p>터미널에서 <code>which displayplacer</code> 명령으로 <span style="color: #63E6BE">displayplacer의 설치 경로</span>를 알아낸다.
다음으로, <code>displayplacer list</code> 실행 결과 최하단의 옵션을 복사해와서 입력할 명령어를 완성한다.</p>
<pre><code>$ which displayplacer  # /usr/local/bin/displayplacer</code></pre><p><img src="https://velog.velcdn.com/images/support-chain/post/89330596-65e0-42aa-97f0-4fd073197e20/image.png" alt=""></p>
<p>그림과 같이 입력했다면 Command + S, 원하는 서비스 이름을 입력하고 저장한다.</p>
<p><img src="https://velog.velcdn.com/images/support-chain/post/a07ed74e-6cfa-42a7-9824-11959fa96f09/image.png" alt=""></p>
<p>등록한 서비스는 <span style="color: #63E6BE">/Users/[사용자 이름]/Library/Services</span> 경로에 저장된다.
파인더에서 찾고 싶은 경우에는 파인더에서 <span style="color: #63E6BE">Command + Shift + G</span> 로 검색할 수 있다.</p>
<p><img src="https://velog.velcdn.com/images/support-chain/post/4913e106-02b9-4523-a26e-ab236762a459/image.png" alt=""></p>
<p>모든 응용 프로그램 위에서 동작하도록 등록했기 때문에 <span style="color: #63E6BE">아무 애플리케이션 메뉴 - 서비스</span> 아래에서도 확인할 수 있다.</p>
<p><img src="https://velog.velcdn.com/images/support-chain/post/60d5ed3a-e7f5-4fce-be88-4208de69ed57/image.png" alt=""></p>
<h3 id="단축키-등록">단축키 등록</h3>
<p><span style="color: #63E6BE">시스템 설정 - 키보드 - 키보드 단축키 - 서비스 - 일반</span>에서 저장한 서비스 이름을 찾아 원하는 단축키를 지정한다.</p>
<p><img src="https://velog.velcdn.com/images/support-chain/post/32a8e87e-08f6-4a5d-91b7-5c1296fcbd63/image.png" alt=""></p>
<p><span style="color: #FF6D6A">이미 사용중인 단축키를 등록했거나, 특정 애플리케이션 위에서는 등록한 단축키가 실행되지 않을 수 있다는 점에 유의한다.</span></p>
<h2 id="동일한-모델의-모니터를-사용해서-설정-유지가-안되는-경우">동일한 모델의 모니터를 사용해서 설정 유지가 안되는 경우</h2>
<p>동일한 모델의 모니터는 좌우로 두고 사용하는 경우가 일반적이라고 생각하기 때문에, 이 케이스에 맞춰 해결 방안을 기록한다.</p>
<h3 id="예상-원인">예상 원인</h3>
<p>동일한 모델의 기기를 사용하는 경우에는 displayplacer가 각 기기를 명확하게 식별하지 못하는 것으로 예상된다. <code>displayplacer list</code> 에서 나타나는 ID도 해당 유틸리티에서 직접 부여한 것으로 보인다. 모니터 재연결 또는 재부팅 시 ID list는 동일하게 유지되지만, 동일한 모니터 모델끼리만 옵션이 뒤바뀌어 설정되는 현상이 발생한다. 자세히는 모르지만, 입력 신호 인식 순서가 뒤바뀌면 모니터 설정도 뒤바뀌는 구조인 것 같다.</p>
<h3 id="해결-방안">해결 방안</h3>
<p>displayplacer 명령을 <span style="color: #63E6BE">두 가지 옵션</span>으로 만들어 놓고, 위치가 변경되었을 때 <span style="color: #63E6BE">다른 옵션의 명령을 실행</span>하면 간단히 해결할 수 있다.</p>
<p>맥북 + 모니터 + 모니터 환경에서 displayplacer 옵션을 조금 더 자세히 살펴보면 아래와 같다.</p>
<pre><code># 실행
$ displayplacer list

# 결과

... 전략 (현재 연결된 디스플레이들이 사용할 수 있는 옵션 목록)

Execute the command below to set your screens to the current arrangement:

displayplacer &quot;id:14DCF685-C2B3-E02F-0FB2-7512EFFE020F res:2048x1280 hz:59 color_depth:4 scaling:on origin:(0,0) degree:0&quot; &quot;id:2E935981-DFF7-367A-30F1-00713A09B5EE res:1920x1080 hz:60 color_depth:8 scaling:off origin:(-1920,200) degree:0&quot; &quot;id:D58A480C-4751-8973-B780-0618BE306337 res:1920x1080 hz:60 color_depth:8 scaling:off origin:(-3840,200) degree:0&quot;
</code></pre><p>실행 결과로 얻을 수 있는 명령어가 <code>displayplacer &quot;[display 1 정보]&quot; &quot;[display 2 정보]&quot; &quot;[display 3] 정보&quot;</code> 와 같이 구성되어 있다는 사실을 알 수 있다. 나의 경우에는 display 1이 맥북이고 2, 3이 모니터다.</p>
<p>위치 정보를 나타내는 <span style="color: #63E6BE">origin 옵션</span>을 보면 메인 디스플레이를 기준으로 <span style="color: #63E6BE"><code>(이동할 x좌표, 이동할 y좌표)</code></span> 형식으로 구성되어 있다. 이제 위치가 설정한 것과 다르게 뒤바뀌었을 때 적용할 수 있는 명령어를 하나 더 만들자.</p>
<p><img src="https://velog.velcdn.com/images/support-chain/post/e3315368-75b7-4b41-bf4c-8eecf143775f/image.png" alt=""></p>
<p>옵션 1 (기존에 설정해둔 옵션)</p>
<pre><code>/usr/local/bin/displayplacer &quot;id:14DCF685-C2B3-E02F-0FB2-7512EFFE020F res:2048x1280 hz:59 color_depth:4 scaling:on origin:(0,0) degree:0&quot; &quot;id:2E935981-DFF7-367A-30F1-00713A09B5EE res:1920x1080 hz:60 color_depth:8 scaling:off origin:(-1920,200) degree:0&quot; &quot;id:D58A480C-4751-8973-B780-0618BE306337 res:1920x1080 hz:60 color_depth:8 scaling:off origin:(-3840,200) degree:0&quot;</code></pre><p>옵션 2 (디스플레이 2, 3의 origin x좌표만 서로 바꿔서 설정하였음)</p>
<pre><code>/usr/local/bin/displayplacer &quot;id:14DCF685-C2B3-E02F-0FB2-7512EFFE020F res:2048x1280 hz:59 color_depth:4 scaling:on origin:(0,0) degree:0&quot; &quot;id:2E935981-DFF7-367A-30F1-00713A09B5EE res:1920x1080 hz:60 color_depth:8 scaling:off origin:(-3840,200) degree:0&quot; &quot;id:D58A480C-4751-8973-B780-0618BE306337 res:1920x1080 hz:60 color_depth:8 scaling:off origin:(-1920,200) degree:0&quot;</code></pre><p><del>만약, 동일한 모델의 모니터를 사용하면서 한 쪽을 피벗해서 쓰고 있다면 degree 옵션을 수정해서 명령어를 만들면 된다.</del>
몇 차례 테스트를 해봤는데, 회전 명령은 일부 모델에서 동작하지 않는다. (Intel에서는 되고 M1에서는 안됐는데 정확한 차이를 모르겠다.)</p>
<p>Automator를 사용해서 같은 방법으로 새로운 서비스를 생성하고, 단축키를 등록하자.</p>
<hr>
<h2 id="결과">결과</h2>
<p>이제 모니터 설정이 바뀌더라도 옵션 1, 옵션 2 바꿔보면 전에 세팅해뒀던 모니터 설정으로 쉽게 돌아갈 수 있다.</p>
<p><del>이제 컴퓨터 끄고 다녀야지</del></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Support Chain White Paper v0.1]]></title>
            <link>https://velog.io/@support-chain/Support-Chain-White-Paper-v0.1</link>
            <guid>https://velog.io/@support-chain/Support-Chain-White-Paper-v0.1</guid>
            <pubDate>Thu, 08 Dec 2022 00:37:55 GMT</pubDate>
            <description><![CDATA[<h2 id="시작하며">시작하며</h2>
<p>수 차례의 도전과 실패를 겪으며 <span style="color: #FDFD96"><strong>스스로 만든 여러가지 실패 이유</strong></span> 때문에 여태 하나도 기록되지 않았다는 사실을 깨달았다. 무엇이든 완성하려면 일단 시작해야 한다. 너무나도 당연한 이치인데 행동에 옮기기 어려웠다.</p>
<p>이제는 무작정 시작해보기로 했다.
완벽하지 않아도 괜찮고, 다듬어지지 않아도 괜찮다.</p>
<hr>
<h2 id="support-chain">Support Chain</h2>
<p>이 블로그에서 말하는 Support Chain은 그저 <span style="color: #63E6BE">블로그 컨셉일 뿐 실제 블록체인 프로젝트가 아니다.</span> Support는 내 이름을 구성하는 찬(贊)이라는 글자의 뜻에서 가져왔다. 실제로 이름처럼 누군가에게 도움을 주는 사람이 되고 싶다. 블록체인 기술을 좋아하기 때문에 이 블로그를 하루 최대 한 개의 블록이 만들어지는 블록체인 네트워크처럼 꾸며보고 싶었다. 1 / 86400 TPS. 실제 서비스라면 씨알도 안먹힐 스펙이지만, 나는 이토록 천천히라도 하나씩 쌓아가려고 한다. </p>
<p>언젠가 적절한 디자인을 적용할 수 있는 블로그 플랫폼으로 이전할 계획을 가지고 있다.</p>
<h2 id="style">Style</h2>
<p>가독성이 좋은 글을 작성하기 위해서 몇 가지 스타일을 적용할 수 있다. 동시에 모든 글에 일관성 있는 스타일을 적용해두는 것이 나중에 다시 찾아볼 때 더 잘 읽힐 것 같아서 몇 가지 규칙을 정해두려고 한다.</p>
<h3 id="thumnail">Thumnail</h3>
<p>썸네일을 만들 수 있는 좋은 프로젝트들을 찾을 수 있었다.
그 중 <a href="https://ye-yo.github.io/thumbnail-maker/">ye-yo 님의 Thumnail Maker</a>를 사용하기로 했다.</p>
<p>Thumnail은 포스팅에서 다루는 주제에 맞는 배경 색을 지정해서 간단하게 만든다.
주로 <a href="https://simpleicons.org/">Simple Icons</a>에서 참고한 색상으로 만들 예정이다.</p>
<p>회고나 기억하고 싶은 일상 등 나에 대한 기록을 작성할 땐 배경 색으로 <span style="color: #C6D2EC">#C6D2EC</span>를 사용한다.</p>
<p>제목을 작성하고 부제에 어떤 내용을 다루는지 작성한다.</p>
<h3 id="title">Title</h3>
<p>제목은 딱딱하지 않게 작성<del>하려고 노력</del>한다.</p>
<h3 id="본문-강조">본문 강조</h3>
<p>글꼴 색상 및 굵기를 변경해 글 일부를 강조한다.</p>
<p>주의가 필요한 부분은 <span style="color: #FF6D6A">#FF6D6A</span>를 사용한다.
앞으로 이 블로그에서 다룰 계획이 있는 내용은 <span style="color: #FDFD96">#FDFD96</span>을 사용한다. 관련 글이 작성되면 링크를 연결한다.
나머지 일반적인 강조는 <span style="color: #63E6BE">#63E6BE</span>를 사용한다.</p>
]]></description>
        </item>
    </channel>
</rss>