<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>nak-z</title>
    <link>https://ratatou2.tistory.com/</link>
    <description>온갖 정보들을 기록해두는 메모보드 블로그</description>
    <language>ko</language>
    <pubDate>Fri, 19 Jun 2026 01:07:23 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>Ratatou2</managingEditor>
    <image>
      <title>nak-z</title>
      <url>https://tistory1.daumcdn.net/tistory/6870485/attach/081a76a3468c41ce8072ceea5226e6ed</url>
      <link>https://ratatou2.tistory.com</link>
    </image>
    <item>
      <title>Google Apps Script로 특정 메일오면 알림 받기 (feat. 디스코드)</title>
      <link>https://ratatou2.tistory.com/375</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;요즘 블로그가 굉장히 뜸했다&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1680&quot; data-origin-height=&quot;1680&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vhgE8/dJMcagZ11AA/BVFmXZJ20Z0eTLsOX0TibK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vhgE8/dJMcagZ11AA/BVFmXZJ20Z0eTLsOX0TibK/img.png&quot; data-alt=&quot;진짜 바빴습니다 ㅠ (feat. 애비츄 이모지)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vhgE8/dJMcagZ11AA/BVFmXZJ20Z0eTLsOX0TibK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvhgE8%2FdJMcagZ11AA%2FBVFmXZJ20Z0eTLsOX0TibK%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;559&quot; height=&quot;559&quot; data-origin-width=&quot;1680&quot; data-origin-height=&quot;1680&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;진짜 바빴습니다 ㅠ (feat. 애비츄 이모지)&lt;/figcaption&gt;
&lt;/figure&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;앱을 만들고 나니 문의 메일을 받게 됐는데 알림이 안오니까 매번 메일함 들어가는 것도 일이더라...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 Google의 Apps Script 기능을 이용해서 간단하게 특정 메일이 오면 알림을 받아보겠다&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. 디스코드 웹훅&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 우선 &lt;b&gt;디스코드 웹훅을 준비&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;1960&quot; data-origin-height=&quot;1056&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nZyWZ/dJMcaaMjsFz/kQrKKVQqQNItk9g7zCU0Dk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nZyWZ/dJMcaaMjsFz/kQrKKVQqQNItk9g7zCU0Dk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nZyWZ/dJMcaaMjsFz/kQrKKVQqQNItk9g7zCU0Dk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnZyWZ%2FdJMcaaMjsFz%2FkQrKKVQqQNItk9g7zCU0Dk%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;1960&quot; height=&quot;1056&quot; data-origin-width=&quot;1960&quot; data-origin-height=&quot;1056&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. Google Apps Script 접속&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 아래 페이지 접속해서 &lt;b&gt;스크립트 하나 새로 만들어주면 된다&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2308&quot; data-origin-height=&quot;1310&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pgoyH/dJMcagseyRi/hf3JjKmeDY3XBtOwki8JlK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pgoyH/dJMcagseyRi/hf3JjKmeDY3XBtOwki8JlK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pgoyH/dJMcagseyRi/hf3JjKmeDY3XBtOwki8JlK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpgoyH%2FdJMcagseyRi%2Fhf3JjKmeDY3XBtOwki8JlK%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;747&quot; height=&quot;424&quot; data-origin-width=&quot;2308&quot; data-origin-height=&quot;1310&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://script.google.com/home&quot;&gt;https://script.google.com/home&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1780763811716&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Apps Script &amp;nbsp;|&amp;nbsp; Google for Developers&quot; data-og-description=&quot;간편하게 고품질 클라우드 기반 솔루션을 개발하세요.&quot; data-og-host=&quot;developers.google.com&quot; data-og-source-url=&quot;https://script.google.com/home&quot; data-og-url=&quot;https://developers.google.com/apps-script?hl=ko&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/ncsN0/dJMb8ZvJb4N/s0YN6K0wOnuLfTR9rAS13k/img.png?width=1200&amp;amp;height=675&amp;amp;face=0_0_1200_675&quot;&gt;&lt;a href=&quot;https://script.google.com/home&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://script.google.com/home&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/ncsN0/dJMb8ZvJb4N/s0YN6K0wOnuLfTR9rAS13k/img.png?width=1200&amp;amp;height=675&amp;amp;face=0_0_1200_675');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Apps Script &amp;nbsp;|&amp;nbsp; Google for Developers&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;간편하게 고품질 클라우드 기반 솔루션을 개발하세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;developers.google.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;3. 스크립트 작성&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 아래 스크립트는 다음과 같이 기능한다&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;- Gmail에서 읽지 않은&lt;b&gt; 메일 중 제목에 [문의] 키워드가 포함&lt;/b&gt;되고, &lt;br /&gt;- &lt;b&gt;최근 1일 이내&lt;/b&gt;이며 &lt;br /&gt;- &lt;b&gt;discord-notified 라벨이 없는 메일&lt;/b&gt;을 찾는다&lt;br /&gt;&lt;br /&gt;- 찾은 메일의 발신자, 제목, 수신 시간, 본문 미리보기 300자를 정리&lt;br /&gt;- Discord Webhook으로 알림을 보낸다&lt;br /&gt;&lt;br /&gt;- Discord 전송이 성공하면 해당 Gmail 스레드에 discord-notified 라벨을 붙여서 같은 메일에 대해 중복 알림이 가지 않게 한다&lt;/blockquote&gt;
&lt;pre id=&quot;code_1780763359638&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const DISCORD_WEBHOOK_URL = '&amp;lt;디스코드 웹훅 URL&amp;gt;';

function parseSender(from) {
  const emailMatch = from.match(/&amp;lt;([^&amp;gt;]+)&amp;gt;/);
  const plainEmailMatch = from.match(/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/);

  const email = emailMatch ? emailMatch[1] : plainEmailMatch ? plainEmailMatch[0] : from;

  let name = from
    .replace(/&amp;lt;[^&amp;gt;]+&amp;gt;/g, '')
    .replace(email, '')
    .replace(/&quot;/g, '')
    .trim();

  return {
    name: name || '',
    email: email
  };
}

function formatSender(from) {
  const sender = parseSender(from);

  if (sender.name) {
    return `${sender.email} (${sender.name})`;
  }

  return sender.email;
}

function checkGmailAndNotify() {
  const labelName = 'discord-notified';
  let label = GmailApp.getUserLabelByName(labelName);

  if (!label) {
    label = GmailApp.createLabel(labelName);
  }

  // 제목에 '문의'가 들어간 안 읽은 메일 중 아직 알림 안 보낸 것만 검색
  const threads = GmailApp.search(
    'is:unread subject:문의 -label:discord-notified newer_than:1d'
  );

  threads.forEach(thread =&amp;gt; {
    const messages = thread.getMessages();
    const lastMessage = messages[messages.length - 1];

    const from = formatSender(lastMessage.getFrom());
    const subject = lastMessage.getSubject();
    const date = lastMessage.getDate();

    // 본문 미리보기: 너무 길면 디스코드 메시지가 지저분해져서 300자만
    const plainBody = lastMessage.getPlainBody() || '';
    const snippet = plainBody
      .replace(/\s+/g, ' ')
      .trim()
      .slice(0, 300);

    const content =
      `## ✉️ **새 문의 메일 도착!** ✉️\n\n` +
      `**계정 :** ${from}\n` +
      `**제목 :** ${subject}\n` +
      `**시간 :** ${formatDate(date)}\n\n` +
      `**-- 내용 미리보기 --**\n` +
      `${snippet || '(본문 없음)'}\n\n` +
      `-----------------------------------------------`;

    const success = sendDiscordMessage(content);

    // 디스코드 전송 성공한 경우에만 중복 방지 라벨 추가
    if (success) {
      thread.addLabel(label);
    }
  });
}

function sendDiscordMessage(content) {
  const payload = {
    username: 'Gmail 알림봇',
    content: content
  };

  const response = UrlFetchApp.fetch(DISCORD_WEBHOOK_URL, {
    method: 'post',
    contentType: 'application/json',
    payload: JSON.stringify(payload),
    muteHttpExceptions: true
  });

  const statusCode = response.getResponseCode();

  // Discord Webhook 성공 응답은 보통 204
  return statusCode &amp;gt;= 200 &amp;amp;&amp;amp; statusCode &amp;lt; 300;
}

function formatDate(date) {
  return Utilities.formatDate(
    date,
    'Asia/Seoul',
    'yyyy-MM-dd HH:mm:ss'
  );
}&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;3. 트리거(trigger) 등록&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- &lt;b&gt;스크립트가 실행될 트리거가 필요&lt;/b&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;blockquote data-ke-style=&quot;style3&quot;&gt;- 실행할 함수 : 우리가 만든 함수 이름&lt;br /&gt;- 이벤트 소스 선택 : 시간 기반&lt;br /&gt;- 트리거 기반 시간 유형 선택 : 분 단위 타이머&lt;br /&gt;- 분 간견 선택 : 1분마다&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;1508&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cXD8pB/dJMcaiXPu6P/G6weLMdH5DtwkWjQybKR1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cXD8pB/dJMcaiXPu6P/G6weLMdH5DtwkWjQybKR1k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cXD8pB/dJMcaiXPu6P/G6weLMdH5DtwkWjQybKR1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcXD8pB%2FdJMcaiXPu6P%2FG6weLMdH5DtwkWjQybKR1k%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;2048&quot; height=&quot;1508&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;1508&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 저장 후 테스트&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 저장하고&lt;b&gt; 이메일 제목에 '문의'를 넣어서 보내면 아래처럼 알림이 온다&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 그리고&lt;b&gt; discord 태그가 달림으로써 이미 알림을 보낸 메일은 중복되지 않는다&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1322&quot; data-origin-height=&quot;108&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b2JoC7/dJMcah5NlSf/tokmIMlNjuiKqMqf0atEzK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b2JoC7/dJMcah5NlSf/tokmIMlNjuiKqMqf0atEzK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b2JoC7/dJMcah5NlSf/tokmIMlNjuiKqMqf0atEzK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2JoC7%2FdJMcah5NlSf%2FtokmIMlNjuiKqMqf0atEzK%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;1322&quot; height=&quot;108&quot; data-origin-width=&quot;1322&quot; data-origin-height=&quot;108&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;752&quot; data-origin-height=&quot;444&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mLvW1/dJMcahdC7nW/6kah9o5XjnMjRUOGkDLpu1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mLvW1/dJMcahdC7nW/6kah9o5XjnMjRUOGkDLpu1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mLvW1/dJMcahdC7nW/6kah9o5XjnMjRUOGkDLpu1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmLvW1%2FdJMcahdC7nW%2F6kah9o5XjnMjRUOGkDLpu1%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;583&quot; height=&quot;344&quot; data-origin-width=&quot;752&quot; data-origin-height=&quot;444&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>Infra/DevOps</category>
      <author>Ratatou2</author>
      <guid isPermaLink="true">https://ratatou2.tistory.com/375</guid>
      <comments>https://ratatou2.tistory.com/375#entry375comment</comments>
      <pubDate>Sun, 7 Jun 2026 01:57:08 +0900</pubDate>
    </item>
    <item>
      <title>간단하게 랜덤 난수 만들기 (feat. 명령어 한 줄)</title>
      <link>https://ratatou2.tistory.com/374</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1680&quot; data-origin-height=&quot;1680&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/L154g/dJMcabYNL4U/l6hDFq1HztfKY7Vmj6qJI1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/L154g/dJMcabYNL4U/l6hDFq1HztfKY7Vmj6qJI1/img.png&quot; data-alt=&quot;앱 빨리 만들자!!!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/L154g/dJMcabYNL4U/l6hDFq1HztfKY7Vmj6qJI1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FL154g%2FdJMcabYNL4U%2Fl6hDFq1HztfKY7Vmj6qJI1%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;542&quot; height=&quot;542&quot; data-origin-width=&quot;1680&quot; data-origin-height=&quot;1680&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;앱 빨리 만들자!!!&lt;/figcaption&gt;
&lt;/figure&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;그 와중에 필요했던 랜덤 난수 생성 명령어를 기록해둔다 (나중에 또 찾을테니까..)&lt;br /&gt;뒷자리에 따라 랜덤 바이트 수가 달라지는게 정말 편했다&lt;/p&gt;
&lt;pre id=&quot;code_1780032763013&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 16자리 난수 생성
openssl rand -base64 16

# 32자리 난수 생성
openssl rand -base64 32

# 64자리 난수 생성
openssl rand -base64 64

# 128자리 난수 생성
openssl rand -base64 128

# 256자리 난수 생성
openssl rand -base64 256&lt;/code&gt;&lt;/pre&gt;</description>
      <category>OS/Linux</category>
      <author>Ratatou2</author>
      <guid isPermaLink="true">https://ratatou2.tistory.com/374</guid>
      <comments>https://ratatou2.tistory.com/374#entry374comment</comments>
      <pubDate>Sun, 7 Jun 2026 00:44:33 +0900</pubDate>
    </item>
    <item>
      <title>Git 한글 다 깨질 때 (feat. \254\354\203\235...)</title>
      <link>https://ratatou2.tistory.com/373</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;아래 명령어 한줄이면 된다&lt;/p&gt;
&lt;pre id=&quot;code_1779197377262&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git config --global core.quotepath false&lt;/code&gt;&lt;/pre&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;1726&quot; data-origin-height=&quot;1726&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qXQ3Z/dJMcahdp5s1/EiNXE5i0EUrqz06dYUjNJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qXQ3Z/dJMcahdp5s1/EiNXE5i0EUrqz06dYUjNJK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qXQ3Z/dJMcahdp5s1/EiNXE5i0EUrqz06dYUjNJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqXQ3Z%2FdJMcahdp5s1%2FEiNXE5i0EUrqz06dYUjNJK%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;521&quot; height=&quot;521&quot; data-origin-width=&quot;1726&quot; data-origin-height=&quot;1726&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Dev/Git</category>
      <author>Ratatou2</author>
      <guid isPermaLink="true">https://ratatou2.tistory.com/373</guid>
      <comments>https://ratatou2.tistory.com/373#entry373comment</comments>
      <pubDate>Tue, 19 May 2026 22:34:55 +0900</pubDate>
    </item>
    <item>
      <title>라즈베리파이4 소비 전력 측정 일지 (feat. Raspberry Pi 4 NAS)</title>
      <link>https://ratatou2.tistory.com/372</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;라즈베리파이 나스 활용 9년차&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Group 838.png&quot; data-origin-width=&quot;1068&quot; data-origin-height=&quot;1068&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bo7ZWR/dJMcacJM7Eh/JAk0H3Ez1vyC4OKiBP5KDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bo7ZWR/dJMcacJM7Eh/JAk0H3Ez1vyC4OKiBP5KDK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bo7ZWR/dJMcacJM7Eh/JAk0H3Ez1vyC4OKiBP5KDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbo7ZWR%2FdJMcacJM7Eh%2FJAk0H3Ez1vyC4OKiBP5KDK%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;427&quot; height=&quot;427&quot; data-filename=&quot;Group 838.png&quot; data-origin-width=&quot;1068&quot; data-origin-height=&quot;1068&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;라즈베리파이로 NAS를 처음만든 건 대충 9년 전쯤..?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 떄 처음 마주한 라즈베리파이가 굉장히 흥미로워서 처음으로 서버용도의 PC를 사비 들여서 구매했더랬다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 지금까지 꾸준히 NAS로 활용하고 있음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 파일을 저장/다운로드하고, 스트리밍하고 하는 내용도에선 아주 훌륭하게 동작했다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CPU 성능이 조금 부족하지만 이만한 소비 전력 대비 효율을 보여주는 친구도 없는지라..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3B, 3B+, 4(8GB) 모델까지 변천사를 겪어보았고 이제는 N100같은 미니 PC 시장에 밀리고 있지만 중고로 적당한 가격에 구할 수 있다면 이만한 것도 없다고 생각한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사설이 조금&amp;nbsp; 길었는데 바로 측정값 보러가보자..!&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;서버 성능&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OS : Raspbian GNU/Linux 11 (bullseye) aarch64&lt;br /&gt;CPU : BCM2835 (4) @ 1.800GHz&amp;nbsp;&lt;br /&gt;RAM : 8GB&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Micro SD : 256GB&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;- 외장하드가 2개 달려있지만 백업 서버 역할도 하고 있기 때문에, 256GB Micro SD카드를 달아주었다&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;비용&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;1280&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FrHLv/dJMcai4dGRd/kfNLcI31SuJwIvJOjpowAK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FrHLv/dJMcai4dGRd/kfNLcI31SuJwIvJOjpowAK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FrHLv/dJMcai4dGRd/kfNLcI31SuJwIvJOjpowAK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFrHLv%2FdJMcai4dGRd%2FkfNLcI31SuJwIvJOjpowAK%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;373&quot; height=&quot;497&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;1280&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 31일하고도 4시간을 돌렸을 때 2.3KWh가 나온다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 딱 한달동안 쟀기 때문에 바로 한전 계산기에 돌려보면 얼추 1,000원 ~ 1,200원 꼴&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UNveu/dJMcahdexAG/tvDMSfBtkBdKuyzz6ifVu0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UNveu/dJMcahdexAG/tvDMSfBtkBdKuyzz6ifVu0/img.png&quot; data-origin-width=&quot;2390&quot; data-origin-height=&quot;1304&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.8941%; margin-right: 10px;&quot; data-widthpercent=&quot;50.48&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UNveu/dJMcahdexAG/tvDMSfBtkBdKuyzz6ifVu0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUNveu%2FdJMcahdexAG%2FtvDMSfBtkBdKuyzz6ifVu0%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;2390&quot; height=&quot;1304&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5ESvX/dJMcac32u0T/7vKg9qwKiDk7kZRWNCnKJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5ESvX/dJMcac32u0T/7vKg9qwKiDk7kZRWNCnKJk/img.png&quot; data-origin-width=&quot;2384&quot; data-origin-height=&quot;1326&quot; data-is-animation=&quot;false&quot; style=&quot;width: 48.9431%;&quot; data-widthpercent=&quot;49.52&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5ESvX/dJMcac32u0T/7vKg9qwKiDk7kZRWNCnKJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5ESvX%2FdJMcac32u0T%2F7vKg9qwKiDk7kZRWNCnKJk%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;2384&quot; height=&quot;1326&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- AWS의 SearchDB 하루 꼬박 돌렸다고 12달러(대략 1.77만원) 나오던데 진짜 미친 가성비다..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 앞으로도 고장날 때까지 쓸 듯하다&lt;/p&gt;</description>
      <category>etc/소비전력 측정일지</category>
      <category>RaspberryPi</category>
      <category>라즈베리파이</category>
      <category>전기세-시리즈</category>
      <author>Ratatou2</author>
      <guid isPermaLink="true">https://ratatou2.tistory.com/372</guid>
      <comments>https://ratatou2.tistory.com/372#entry372comment</comments>
      <pubDate>Tue, 5 May 2026 15:37:36 +0900</pubDate>
    </item>
    <item>
      <title>MacOS 데스크탑 순서 자동 재정렬되는 문제 해결</title>
      <link>https://ratatou2.tistory.com/371</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;설정 - 데스크탑 및 Dock - Mission Control - 'Spaces를 최근 사용 내역에 따라 자동으로 재정렬' 해제&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 열어둔 데스크탑이 제 멋대로 섞이는 이슈 발생&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 찾아보니 MacOS자체에 옵션이 있더라&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 'Spaces를 최근 사용 내역에 따라 자동으로 재정렬' 옵션을 끄면 더 이상 자동으로 재정렬되지 않는다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1426&quot; data-origin-height=&quot;1190&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FKCpY/dJMb997e1d2/UxpSjHFm4Ycf8D49RIknQ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FKCpY/dJMb997e1d2/UxpSjHFm4Ycf8D49RIknQ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FKCpY/dJMb997e1d2/UxpSjHFm4Ycf8D49RIknQ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFKCpY%2FdJMb997e1d2%2FUxpSjHFm4Ycf8D49RIknQ1%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;747&quot; height=&quot;623&quot; data-origin-width=&quot;1426&quot; data-origin-height=&quot;1190&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>OS/Mac</category>
      <author>Ratatou2</author>
      <guid isPermaLink="true">https://ratatou2.tistory.com/371</guid>
      <comments>https://ratatou2.tistory.com/371#entry371comment</comments>
      <pubDate>Sun, 26 Apr 2026 16:57:25 +0900</pubDate>
    </item>
    <item>
      <title>Neovim 설치하기 (feat. VS Code 터미널 버전)</title>
      <link>https://ratatou2.tistory.com/370</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;터미널 버전 VS Code..!&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1438&quot; data-origin-height=&quot;1438&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dpN9Pu/dJMcajaOp2G/EvcZcnhrFoujYDtqIfziK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dpN9Pu/dJMcajaOp2G/EvcZcnhrFoujYDtqIfziK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dpN9Pu/dJMcajaOp2G/EvcZcnhrFoujYDtqIfziK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdpN9Pu%2FdJMcajaOp2G%2FEvcZcnhrFoujYDtqIfziK0%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;540&quot; height=&quot;540&quot; data-origin-width=&quot;1438&quot; data-origin-height=&quot;1438&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 &lt;b&gt;Neovim + LazyVim을 설치할 것&lt;/b&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;1. 추천을 받은 것&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 터미널로만 접속하는 몇 서버들에서 VS Code없이도 UI 환경을 쓸 수 있다는 것&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;실제로 써보니&lt;b&gt; 간단히 쓰기엔 꽤나 편하지 않나? 생각하게 되었다&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물론 간단히 스크립트 하나 수정하고 하는 과정에 쓰는 것은 비추이고 VS Code SSH 연결 귀찮을 때 잠깐 쓸 때 편하단 정도&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 부분은 좀 더 써봐야 알 것 같다&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;Neovim : 기본적인 텍스트 에디터 자체&lt;br /&gt;LazyVim : Neovim 위에 얹는 완성형 설정 패키지&lt;/blockquote&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. OS에 맞게 설치하기&lt;/b&gt;&lt;/h3&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1-1. Ubuntu에서 설치하기&amp;nbsp;&lt;/b&gt;&lt;/h4&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 우선 &lt;b&gt;Neovim에 필요한 것들도 같이 설치&lt;/b&gt;한다 (패스해도 되지만 나중에 결국 설치해야 하는 것들이 있다&lt;/p&gt;
&lt;pre id=&quot;code_1776410981536&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;sudo apt update
sudo apt install -y git curl unzip ripgrep fd-find build-essential python3 python3-pip nodejs npm&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;아래&amp;nbsp;명령어로&amp;nbsp;neovim을&amp;nbsp;설치한다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- sudo apt install로 설치해도 되지만, 안정화 버전이라 플러그인과 호환이 안되는 부분이 있어서 git에서 직접 받는 방향으로 진행했다&lt;/p&gt;
&lt;pre id=&quot;code_1776410981537&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;cd ~
wget https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz
tar xzf nvim-linux-x86_64.tar.gz
sudo mv nvim-linux-x86_64 /opt/nvim&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;혹시 릴리즈 파일명이 바뀌었으면 아래서 직접 확인한 뒤 'nvim-linux-x86_64.tar.gz' 부분을 바꿔쓰면 된다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/neovim/neovim/releases/&quot;&gt;https://github.com/neovim/neovim/releases/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1776410981537&quot; style=&quot;color: #333333; text-align: start;&quot; contenteditable=&quot;false&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/uPvHL/dJMb9iaSRBq/wJJ33JGv14MVM3nUzT3zbk/img.png?width=1280&amp;amp;height=640&amp;amp;face=0_0_1280_640,https://scrap.kakaocdn.net/dn/cpPa8H/dJMb9b3TMJA/lqwvhIEbEdyd17nI54XCh1/img.png?width=1280&amp;amp;height=640&amp;amp;face=0_0_1280_640&quot; data-og-url=&quot;https://github.com/neovim/neovim/releases&quot; data-og-source-url=&quot;https://github.com/neovim/neovim/releases/&quot; data-og-host=&quot;github.com&quot; data-og-description=&quot;Vim-fork focused on extensibility and usability. Contribute to neovim/neovim development by creating an account on GitHub.&quot; data-og-title=&quot;Releases &amp;middot; neovim/neovim&quot; data-og-type=&quot;object&quot; data-ke-align=&quot;alignCenter&quot; data-ke-type=&quot;opengraph&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://github.com/neovim/neovim/releases/&quot; data-source-url=&quot;https://github.com/neovim/neovim/releases/&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;p style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;Releases &amp;middot; neovim/neovim&lt;/p&gt;
&lt;p style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;Vim-fork focused on extensibility and usability. Contribute to neovim/neovim development by creating an account on GitHub.&lt;/p&gt;
&lt;p style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;path를 등록해준다&lt;/p&gt;
&lt;pre id=&quot;code_1776410981538&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;echo 'export PATH=&quot;$PATH:/opt/nvim/bin&quot;' &amp;gt;&amp;gt; ~/.bashrc
source ~/.bashrc&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 아래 명령어로 설치 확인 가능&lt;/p&gt;
&lt;pre id=&quot;code_1776410981538&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;nvim --version&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style3&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1-2. MacOS에서 설치하기&lt;/b&gt;&lt;/h4&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&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 data-ke-size=&quot;size16&quot;&gt;- 다만 &lt;b&gt;brew로 neovim이 설치가 되어서 명령어 갯수는 훨씬 적은 편&lt;/b&gt;이다&lt;/p&gt;
&lt;pre id=&quot;code_1776411105530&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;brew install neovim git ripgrep fd node python
nvim --version&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 마지막 명령어에 버전이 확인되면 잘 설치된 것이다&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;546&quot; data-origin-height=&quot;186&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1u0a6/dJMcahjPVKw/7oYOAXoMjWmAafCHAhCQP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1u0a6/dJMcahjPVKw/7oYOAXoMjWmAafCHAhCQP1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1u0a6/dJMcahjPVKw/7oYOAXoMjWmAafCHAhCQP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1u0a6%2FdJMcahjPVKw%2F7oYOAXoMjWmAafCHAhCQP1%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;397&quot; height=&quot;135&quot; data-origin-width=&quot;546&quot; data-origin-height=&quot;186&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style3&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. 설정 폴더 만들어주기&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;nbsp;이제&amp;nbsp;&lt;b&gt;필요한&amp;nbsp;설정들을 만들어서 저장&lt;/b&gt;할 것이다 (e.g. 탭 기능 추가하기, etc)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;nbsp;우선&amp;nbsp;디렉토리부터&amp;nbsp;만들어주자&lt;/p&gt;
&lt;pre id=&quot;code_1776411271281&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;mkdir -p ~/.config/nvim/lua/config
mkdir -p ~/.config/nvim/lua/plugins&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;3.&amp;nbsp;init.lua&amp;nbsp;만들기&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&lt;b&gt; Neovim 설정 파일을 생성&lt;/b&gt;한다&lt;/p&gt;
&lt;pre id=&quot;code_1776411327065&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cat &amp;gt; ~/.config/nvim/init.lua &amp;lt;&amp;lt;'EOF_INIT'
require(&quot;config.lazy&quot;)
EOF_INIT&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 이&amp;nbsp;파일은&amp;nbsp;짧아&amp;nbsp;보이지만&amp;nbsp;정상인&amp;nbsp;것이&amp;nbsp;실제&amp;nbsp;로딩은&amp;nbsp;lua/config/lazy.lua&amp;nbsp;에서&amp;nbsp;이어진다&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. lua/config/lazy.lua 만들기&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 이 파일이 &lt;b&gt;실제 부트스트랩 파일&lt;/b&gt;이다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 즉, init.lua에서 require(&quot;config.lazy&quot;)를 호출하면 여기서 lazy.nvim과 LazyVim을 올린다&lt;/p&gt;
&lt;pre id=&quot;code_1776411351700&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cat &amp;gt; ~/.config/nvim/lua/config/lazy.lua &amp;lt;&amp;lt;'EOF_LAZY'
local lazypath = vim.fn.stdpath(&quot;data&quot;) .. &quot;/lazy/lazy.nvim&quot;
if not (vim.uv or vim.loop).fs_stat(lazypath) then
  local lazyrepo = &quot;https://github.com/folke/lazy.nvim.git&quot;
  local out = vim.fn.system({ &quot;git&quot;, &quot;clone&quot;, &quot;--filter=blob:none&quot;, &quot;--branch=stable&quot;, lazyrepo, lazypath })
  if vim.v.shell_error ~= 0 then
    vim.api.nvim_echo({
      { &quot;Failed to clone lazy.nvim:\\n&quot;, &quot;ErrorMsg&quot; },
      { out, &quot;WarningMsg&quot; },
      { &quot;\\nPress any key to exit...&quot; },
    }, true, {})
    vim.fn.getchar()
    os.exit(1)
  end
end
vim.opt.rtp:prepend(lazypath)

require(&quot;lazy&quot;).setup({
  spec = {
    { &quot;LazyVim/LazyVim&quot;, import = &quot;lazyvim.plugins&quot; },
    { import = &quot;plugins&quot; },
  },
  defaults = {
    lazy = false,
    version = false,
  },
  install = { colorscheme = { &quot;tokyonight&quot;, &quot;habamax&quot; } },
  checker = {
    enabled = true,
    notify = false,
  },
  performance = {
    rtp = {
      disabled_plugins = {
        &quot;gzip&quot;,
        &quot;tarPlugin&quot;,
        &quot;tohtml&quot;,
        &quot;tutor&quot;,
        &quot;zipPlugin&quot;,
      },
    },
  },
})
EOF_LAZY&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;5. lua/plugins/lsp.lua 만들기&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 설정 내용&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;- lua_ls, ts_ls, pyright 설정을 확장 (capabilities 추가)&lt;br /&gt;- cmp-nvim-lsp capabilities 연결&lt;br /&gt;- Mason으로 필요한 LSP 자동 설치 대상 등록&lt;br /&gt;- TypeScript 저장 시 import 자동 정리&lt;br /&gt;- 수동 import 정리 단축키: &amp;lt;leader&amp;gt;oi&lt;/blockquote&gt;
&lt;pre id=&quot;code_1776411438095&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cat &amp;gt; ~/.config/nvim/lua/plugins/lsp.lua &amp;lt;&amp;lt;'EOF_LSP'
return {
  {
    &quot;neovim/nvim-lspconfig&quot;,
    dependencies = { &quot;hrsh7th/cmp-nvim-lsp&quot; },
    opts = function(_, opts)
      local capabilities = require(&quot;cmp_nvim_lsp&quot;).default_capabilities()

      opts.servers = opts.servers or {}
      opts.servers.lua_ls = vim.tbl_deep_extend(&quot;force&quot;, opts.servers.lua_ls or {}, {
        capabilities = capabilities,
      })
      opts.servers.ts_ls = vim.tbl_deep_extend(&quot;force&quot;, opts.servers.ts_ls or {}, {
        capabilities = capabilities,
      })
      opts.servers.pyright = vim.tbl_deep_extend(&quot;force&quot;, opts.servers.pyright or {}, {
        capabilities = capabilities,
      })
    end,
  },
  {
    &quot;mason-org/mason.nvim&quot;,
    opts = function(_, opts)
      opts.ensure_installed = opts.ensure_installed or {}
      vim.list_extend(opts.ensure_installed, {
        &quot;lua-language-server&quot;,
        &quot;typescript-language-server&quot;,
        &quot;pyright&quot;,
      })
    end,
  },
  {
    &quot;neovim/nvim-lspconfig&quot;,
    init = function()
      local group = vim.api.nvim_create_augroup(&quot;user_ts_organize_imports&quot;, { clear = true })

      vim.api.nvim_create_autocmd(&quot;BufWritePre&quot;, {
        group = group,
        pattern = { &quot;*.ts&quot;, &quot;*.tsx&quot; },
        callback = function(args)
          vim.lsp.buf.code_action({
            context = { only = { &quot;source.organizeImports&quot; } },
            apply = true,
            bufnr = args.buf,
          })
        end,
      })

      vim.keymap.set(&quot;n&quot;, &quot;&amp;lt;leader&amp;gt;oi&quot;, function()
        vim.lsp.buf.code_action({
          context = { only = { &quot;source.organizeImports&quot; } },
          apply = true,
        })
      end, { desc = &quot;Organize Imports&quot; })
    end,
  },
}
EOF_LSP&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;6.&amp;nbsp;lua/plugins/bufferline.lua 만들기&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 설정 내용&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;- 탭처럼 버퍼 목록 표시 &lt;br /&gt;- slant separator 사용 &lt;br /&gt;- LSP diagnostics 표시 &lt;/blockquote&gt;
&lt;pre id=&quot;code_1776411724680&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cat &amp;gt; ~/.config/nvim/lua/plugins/bufferline.lua &amp;lt;&amp;lt;'EOF_BUFFERLINE'
return {
  &quot;akinsho/bufferline.nvim&quot;,
  version = &quot;*&quot;,
  dependencies = &quot;nvim-tree/nvim-web-devicons&quot;,
  opts = {
    options = {
      mode = &quot;buffers&quot;,
      separator_style = &quot;slant&quot;,
      always_show_bufferline = true,
      diagnostics = &quot;nvim_lsp&quot;,
    },
  },
}
EOF_BUFFERLINE&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;7. nvim 첫 실행하기&amp;nbsp;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 다왔다 이제 &lt;b&gt;아래 명령어로 실행&lt;/b&gt;하면 된다&lt;/p&gt;
&lt;pre id=&quot;code_1776411827798&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;nvim&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 첫실행을 하면 크게 아래 4가지가 동작한다&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;- lazy.nvim 설치 &lt;br /&gt;- LazyVim 설치 &lt;br /&gt;- 관련 플러그인 설치 &lt;br /&gt;- Mason 준비&lt;/blockquote&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;8. 간단 사용법&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 일단 &lt;b&gt;nvim을 실행시키고 싶은 디렉토리에서 아래 명령어를 실행하면 된다&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1776411948666&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;nvim .&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- '.' 대신 경로를 적어주면 해당 디렉토리에서 nvim이 실행된다&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;2940&quot; data-origin-height=&quot;1846&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/A5LqQ/dJMcadhoKcF/7K4IPTXJHWtjMDAucxcR6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/A5LqQ/dJMcadhoKcF/7K4IPTXJHWtjMDAucxcR6k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/A5LqQ/dJMcadhoKcF/7K4IPTXJHWtjMDAucxcR6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FA5LqQ%2FdJMcadhoKcF%2F7K4IPTXJHWtjMDAucxcR6k%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;815&quot; height=&quot;512&quot; data-origin-width=&quot;2940&quot; data-origin-height=&quot;1846&quot;/&gt;&lt;/span&gt;&lt;/figure&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-origin-width=&quot;2940&quot; data-origin-height=&quot;1848&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rorSL/dJMcafzxjm7/svybk6fl1xjXr09ZG8Blhk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rorSL/dJMcafzxjm7/svybk6fl1xjXr09ZG8Blhk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rorSL/dJMcafzxjm7/svybk6fl1xjXr09ZG8Blhk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrorSL%2FdJMcafzxjm7%2Fsvybk6fl1xjXr09ZG8Blhk%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;781&quot; height=&quot;491&quot; data-origin-width=&quot;2940&quot; data-origin-height=&quot;1848&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- &lt;b&gt;가장 애용하는 기능은 '전체 검색 기능'&lt;/b&gt;인데 &lt;b&gt;스페이스바를 조금 꾹 누르고 있으면 검색 창이 뜬다&lt;/b&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-origin-width=&quot;2512&quot; data-origin-height=&quot;1492&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lGF4h/dJMcadVXSxZ/HJrmnSTygANA4A5XO5kHa1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lGF4h/dJMcadVXSxZ/HJrmnSTygANA4A5XO5kHa1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lGF4h/dJMcadVXSxZ/HJrmnSTygANA4A5XO5kHa1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlGF4h%2FdJMcadVXSxZ%2FHJrmnSTygANA4A5XO5kHa1%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;767&quot; height=&quot;456&quot; data-origin-width=&quot;2512&quot; data-origin-height=&quot;1492&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 아직 많이 써본 것은 아니라 유용한 기능이 찾는다면 이 포스팅에 지속적으로 업데이트할 예정&lt;/p&gt;</description>
      <category>OS/Linux</category>
      <author>Ratatou2</author>
      <guid isPermaLink="true">https://ratatou2.tistory.com/370</guid>
      <comments>https://ratatou2.tistory.com/370#entry370comment</comments>
      <pubDate>Fri, 17 Apr 2026 17:11:33 +0900</pubDate>
    </item>
    <item>
      <title>AWS IAM 계정으로 로그인하는 방법</title>
      <link>https://ratatou2.tistory.com/369</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;아니 나라니까요;;&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2944&quot; data-origin-height=&quot;1656&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Dkdf5/dJMcac3LNGL/Ql8wKfb9brUJhHLPheqskK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Dkdf5/dJMcac3LNGL/Ql8wKfb9brUJhHLPheqskK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Dkdf5/dJMcac3LNGL/Ql8wKfb9brUJhHLPheqskK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDkdf5%2FdJMcac3LNGL%2FQl8wKfb9brUJhHLPheqskK%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;783&quot; height=&quot;440&quot; data-origin-width=&quot;2944&quot; data-origin-height=&quot;1656&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS를 쓰다가 아니 뭔 root 계정으로는 인스턴스 생성 못한다고 알림이;;;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;찾아보니까 또 IAM 계정 생성하고 뭔 권한을 주고 로그인 비번을 설정해주고..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나중에 또 까먹을꺼 뻔하니까 기록해둔다&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. '계정 ID' 확인 - '계정 이름' 확인&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1030&quot; data-origin-height=&quot;1484&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cVERQm/dJMcacJwg93/hBJ0dElylQfbYNFYFdK8Bk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cVERQm/dJMcacJwg93/hBJ0dElylQfbYNFYFdK8Bk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cVERQm/dJMcacJwg93/hBJ0dElylQfbYNFYFdK8Bk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcVERQm%2FdJMcacJwg93%2FhBJ0dElylQfbYNFYFdK8Bk%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;426&quot; height=&quot;614&quot; data-origin-width=&quot;1030&quot; data-origin-height=&quot;1484&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. 사용자 - 콘솔로그인 - 콘솔 엑세스 관리&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 여기서&lt;b&gt; IAM 계정을 하나 추가&lt;/b&gt;해주면 된다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2790&quot; data-origin-height=&quot;1284&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cIxj3Q/dJMcaiCVnwF/tvtav1KSvfnv7JnYgyXS40/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cIxj3Q/dJMcaiCVnwF/tvtav1KSvfnv7JnYgyXS40/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cIxj3Q/dJMcaiCVnwF/tvtav1KSvfnv7JnYgyXS40/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcIxj3Q%2FdJMcaiCVnwF%2Ftvtav1KSvfnv7JnYgyXS40%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;2790&quot; height=&quot;1284&quot; data-origin-width=&quot;2790&quot; data-origin-height=&quot;1284&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 그 다음엔 웹페이지에서 로그인할 수 있게&lt;b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;콘솔 암호를 추가&lt;/b&gt;해주면 된다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 여기서 생성할 &lt;b&gt;콘솔 암호가 우리가 만든 temp 계정의 접속 비밀번호&lt;/b&gt;이다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 자동 생성해도 되고 직접 지정해도 된다 잘 기억하자&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mRnWs/dJMcaippVp0/vok5bJ5UIHdbE1JWtTfVl0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mRnWs/dJMcaippVp0/vok5bJ5UIHdbE1JWtTfVl0/img.png&quot; data-origin-width=&quot;1242&quot; data-origin-height=&quot;614&quot; data-is-animation=&quot;false&quot; style=&quot;width: 57.0073%; margin-right: 10px;&quot; data-widthpercent=&quot;57.68&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mRnWs/dJMcaippVp0/vok5bJ5UIHdbE1JWtTfVl0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmRnWs%2FdJMcaippVp0%2Fvok5bJ5UIHdbE1JWtTfVl0%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;1242&quot; height=&quot;614&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KxD6M/dJMcagSFCce/tmT6KnMWOXyCMMy9FZky50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KxD6M/dJMcagSFCce/tmT6KnMWOXyCMMy9FZky50/img.png&quot; data-origin-width=&quot;1226&quot; data-origin-height=&quot;826&quot; data-is-animation=&quot;false&quot; style=&quot;width: 41.83%;&quot; data-widthpercent=&quot;42.32&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KxD6M/dJMcagSFCce/tmT6KnMWOXyCMMy9FZky50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKxD6M%2FdJMcagSFCce%2FtmT6KnMWOXyCMMy9FZky50%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;1226&quot; height=&quot;826&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;3. AWS 로그인&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 콘솔 엑세스 관리에서 &lt;b&gt;생성할 때 받은 정보들 입력하고 로그인하면 완료!&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;738&quot; data-origin-height=&quot;1124&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dgzyry/dJMb99MJMFm/JeCLROSMcG3guaVNlNRk51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dgzyry/dJMb99MJMFm/JeCLROSMcG3guaVNlNRk51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dgzyry/dJMb99MJMFm/JeCLROSMcG3guaVNlNRk51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdgzyry%2FdJMb99MJMFm%2FJeCLROSMcG3guaVNlNRk51%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;396&quot; height=&quot;603&quot; data-origin-width=&quot;738&quot; data-origin-height=&quot;1124&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>etc</category>
      <author>Ratatou2</author>
      <guid isPermaLink="true">https://ratatou2.tistory.com/369</guid>
      <comments>https://ratatou2.tistory.com/369#entry369comment</comments>
      <pubDate>Sun, 12 Apr 2026 17:22:24 +0900</pubDate>
    </item>
    <item>
      <title>xcode 구버전 설치 방법 (feat. xcode App Store 설치 불가 해결)</title>
      <link>https://ratatou2.tistory.com/368</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;YOU SHALL NOT INSTALL!!!&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;506&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/K1O88/dJMcafzsXI0/PVzyUU0k5k8v3GuVo5CQ2k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/K1O88/dJMcafzsXI0/PVzyUU0k5k8v3GuVo5CQ2k/img.jpg&quot; data-alt=&quot;아-니 미띤놈아 설치는 하게 해줘야지;;;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/K1O88/dJMcafzsXI0/PVzyUU0k5k8v3GuVo5CQ2k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FK1O88%2FdJMcafzsXI0%2FPVzyUU0k5k8v3GuVo5CQ2k%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;900&quot; height=&quot;506&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;506&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;아-니 미띤놈아 설치는 하게 해줘야지;;;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아니 리퀴드 글래스 쓰기 싫어서 &lt;b&gt;Sequoia에 머물러 있는데 App Store에서 xcode를 설치 못하게 한다;;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뭔 Tahoe 26.2 버전 이상부터만 설치할 수 있다고 뻗대는 중;;;&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;찾아보니 정말 쉬워서(&lt;s&gt;다행&lt;/s&gt;) 포스팅해두기로 했다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(어차피 안해두면 나중에 난 또 까먹겠지..)&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;설치방법&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 아래 공식 링크로 들어간다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://developer.apple.com/download/all/?q=xcode&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://developer.apple.com/download/all/?q=xcode&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1775975310408&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;로그인 - Apple&quot; data-og-description=&quot;&quot; data-og-host=&quot;idmsa.apple.com&quot; data-og-source-url=&quot;https://developer.apple.com/download/all/?q=xcode&quot; data-og-url=&quot;https://idmsa.apple.com/IDMSWebAuth/signin.html?path=%2Fdownload%2Fall%2F%3Fq%3Dxcode&amp;amp;appIdKey=891bd3417a7776362562d2197f89480a8547b108fd934911bcbea0110d07f757&amp;amp;rv=0&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://developer.apple.com/download/all/?q=xcode&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://developer.apple.com/download/all/?q=xcode&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;로그인 - Apple&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;idmsa.apple.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&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-origin-width=&quot;1102&quot; data-origin-height=&quot;1592&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cbnKXi/dJMcabqi2PM/CdaG8LRt2W828LwCLteUA1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cbnKXi/dJMcabqi2PM/CdaG8LRt2W828LwCLteUA1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cbnKXi/dJMcabqi2PM/CdaG8LRt2W828LwCLteUA1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcbnKXi%2FdJMcabqi2PM%2FCdaG8LRt2W828LwCLteUA1%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;485&quot; height=&quot;701&quot; data-origin-width=&quot;1102&quot; data-origin-height=&quot;1592&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;- 현재 내 맥미니 기준 Sequoia 15.7.5였는데, xcode 26.0.1 버전 설치 잘됐다&lt;/b&gt;&lt;/p&gt;</description>
      <category>OS/Mac</category>
      <author>Ratatou2</author>
      <guid isPermaLink="true">https://ratatou2.tistory.com/368</guid>
      <comments>https://ratatou2.tistory.com/368#entry368comment</comments>
      <pubDate>Sun, 12 Apr 2026 15:43:25 +0900</pubDate>
    </item>
    <item>
      <title>release.keystore 발급 및 등록하기 (feat. Flutter App Build &amp;amp; Github Action)</title>
      <link>https://ratatou2.tistory.com/367</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;앱을 만드려면 키가 있어야 합니다?&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1460&quot; data-origin-height=&quot;1384&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BZyx8/dJMcaadOz6g/ox3pHScHsKblMoSFJpcPe0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BZyx8/dJMcaadOz6g/ox3pHScHsKblMoSFJpcPe0/img.png&quot; data-alt=&quot;??? 아 로그인하기 드릅게 귀찮넹.. 안그냐?&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BZyx8/dJMcaadOz6g/ox3pHScHsKblMoSFJpcPe0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBZyx8%2FdJMcaadOz6g%2Fox3pHScHsKblMoSFJpcPe0%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;467&quot; height=&quot;443&quot; data-origin-width=&quot;1460&quot; data-origin-height=&quot;1384&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;??? 아 로그인하기 드릅게 귀찮넹.. 안그냐?&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;우선 release.keystore가 있어야 구글 로그인이 되길래 이것을 발급 받고 앱을 빌드했었다&lt;/b&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;개발한 앱을 업데이트해서 설치하려고 할 때마다 패키지가 다르다고 지우고 삭제해야만 했다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나중에 이유를 찾고보니 Git Action을 사용한 CI/CD 과정에서 사용한 release.keystore와 개발용 PC에서 사용한 release.keystore가 달랐던 것..!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;너무 헷갈려서 오늘은 이것을 기록해두려고 한다&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. 새&amp;nbsp;release.keystore&amp;nbsp;발급&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- testapp이라는 이름으로 release.keystore를 하나 발급해보겠다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 이 명령어를 실행하는 디렉토리에 생성되니 참고할 것&lt;/p&gt;
&lt;pre id=&quot;code_1775382618547&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 템플릿
keytool -genkeypair \
 -keystore android/app/release.keystore \
 -alias &amp;lt;명칭&amp;gt; \
 -keyalg RSA \
 -keysize 2048 \
 -validity 10000 \
 -storepass &amp;lt;패스워드&amp;gt; \
 -keypass &amp;lt;패스워드&amp;gt; \
 -dname &quot;CN=&amp;lt;이름&amp;gt;, OU=&amp;lt;성&amp;gt;, O=none, L=none, ST=none, C=&amp;lt;지역&amp;gt;&quot;
 
 
# 예시 
keytool -genkeypair \
 -keystore android/app/release.keystore \
 -alias testapp \
 -keyalg RSA \
 -keysize 2048 \
 -validity 10000 \
 -storepass &amp;lt;패스워드&amp;gt; \
 -keypass &amp;lt;패스워드&amp;gt; \
 -dname &quot;CN=temp, OU=J, O=none, L=none, ST=none, C=KR&quot;&lt;/code&gt;&lt;/pre&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;blockquote data-ke-style=&quot;style3&quot;&gt;- keystore 비밀번호 (store password) &lt;br /&gt;- key 비밀번호 (key password) &lt;br /&gt;- alias 이름&lt;/blockquote&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. (선택) 다른 PC를 위해 복사&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 방금 발급받은 release.keystore를 &lt;b&gt;다른 PC나 서버에서 작업할 것이라면 복사해둬야한다&lt;/b&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;b&gt; 다른 개발용 PC에 키를 그대로 복사&lt;/b&gt;해두었다&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;3.&amp;nbsp;Google&amp;nbsp;Console에&amp;nbsp;새&amp;nbsp;키&amp;nbsp;등록&amp;nbsp;(구글&amp;nbsp;로그인)&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- (앱 내에서 구글 로그인을 해야하니) 이 친구를 구글 console에 등록해서&lt;b&gt; '인증받은 앱이에요'라는 것을 인증&lt;/b&gt;해둔다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;아래 명령어로 &lt;b&gt;아까 발급 받은&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&amp;nbsp;keystore에서 SHA-1/SHA-256 추출할 것&lt;/b&gt;이다&lt;/p&gt;
&lt;pre id=&quot;code_1775383827138&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;keytool&amp;nbsp;-list&amp;nbsp;-v&amp;nbsp;-keystore&amp;nbsp;android/app/release.keystore&amp;nbsp;-alias&amp;nbsp;&amp;lt;명칭&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Google Cloud Console - 사용 중인 프로젝트 - API 및 서비스 - 사용자 인증 정보 만들기 - OAuth 클라이언트 ID - 원하는 앱 유형 선택&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bXyPfa/dJMcaiCP9Pi/3W9tD6HKXzwaTp5Mgl7zB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bXyPfa/dJMcaiCP9Pi/3W9tD6HKXzwaTp5Mgl7zB0/img.png&quot; data-origin-width=&quot;2528&quot; data-origin-height=&quot;1536&quot; data-is-animation=&quot;false&quot; style=&quot;width: 41.8601%; margin-right: 10px;&quot; data-widthpercent=&quot;42.35&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bXyPfa/dJMcaiCP9Pi/3W9tD6HKXzwaTp5Mgl7zB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXyPfa%2FdJMcaiCP9Pi%2F3W9tD6HKXzwaTp5Mgl7zB0%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;2528&quot; height=&quot;1536&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/k8bC7/dJMcahjGti7/9iDEHVu0KlwaOtSrJGYK40/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/k8bC7/dJMcahjGti7/9iDEHVu0KlwaOtSrJGYK40/img.png&quot; data-origin-width=&quot;2742&quot; data-origin-height=&quot;1224&quot; data-is-animation=&quot;false&quot; style=&quot;width: 56.9771%;&quot; data-widthpercent=&quot;57.65&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/k8bC7/dJMcahjGti7/9iDEHVu0KlwaOtSrJGYK40/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fk8bC7%2FdJMcahjGti7%2F9iDEHVu0KlwaOtSrJGYK40%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;2742&quot; height=&quot;1224&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xlxMg/dJMcacWVF8U/dHjf5FbHTcMc2bE9YNzeq0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xlxMg/dJMcacWVF8U/dHjf5FbHTcMc2bE9YNzeq0/img.png&quot; data-origin-width=&quot;908&quot; data-origin-height=&quot;538&quot; data-is-animation=&quot;false&quot; style=&quot;width: 53.1556%; margin-right: 10px; margin-top: 10px;&quot; data-widthpercent=&quot;53.78&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xlxMg/dJMcacWVF8U/dHjf5FbHTcMc2bE9YNzeq0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxlxMg%2FdJMcacWVF8U%2FdHjf5FbHTcMc2bE9YNzeq0%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;908&quot; height=&quot;538&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/raXC8/dJMcabDJ6ew/eKSaEanJu2ouUxkkgd3vr1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/raXC8/dJMcabDJ6ew/eKSaEanJu2ouUxkkgd3vr1/img.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;706&quot; data-is-animation=&quot;false&quot; style=&quot;width: 45.6816%; margin-top: 10px;&quot; data-widthpercent=&quot;46.22&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/raXC8/dJMcabDJ6ew/eKSaEanJu2ouUxkkgd3vr1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FraXC8%2FdJMcabDJ6ew%2FeKSaEanJu2ouUxkkgd3vr1%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;1024&quot; height=&quot;706&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&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-origin-width=&quot;990&quot; data-origin-height=&quot;1286&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Rw5kC/dJMcahxdldU/qhQrlHzk52qeLm9hJkJcr0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Rw5kC/dJMcahxdldU/qhQrlHzk52qeLm9hJkJcr0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Rw5kC/dJMcahxdldU/qhQrlHzk52qeLm9hJkJcr0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRw5kC%2FdJMcahxdldU%2FqhQrlHzk52qeLm9hJkJcr0%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;475&quot; height=&quot;617&quot; data-origin-width=&quot;990&quot; data-origin-height=&quot;1286&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- &lt;b&gt;앱 패키지 명&lt;/b&gt; 같은 경우 아래 방법으로 찾을 수 있다&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;1) AndroidManifest.xml에서 'package=&quot;&lt;b&gt;com.example.myapp&lt;/b&gt;&quot;' 찾기&lt;br /&gt;- 앱 패키지 명 : com.example.myapp&lt;br /&gt;&lt;br /&gt;2) build.gradle (Module)에서 'applicationId &quot;&lt;b&gt;com.temp.myapp&lt;/b&gt;&quot;' 찾기&lt;br /&gt;- 앱 패키지 명 : com.temp.myapp&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- SHA-1 인증서 디지털 지문은 아래 명령어로 확인한 값을 입력하면 된다&lt;/p&gt;
&lt;pre id=&quot;code_1775486079906&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 템플릿
keytool -keystore &amp;lt;아까 .keystore 저장해둔 경로&amp;gt; -list -v

# 예시 (현재 디렉토리에 있을 경우)
keytool -keystore release.keystore -list -v&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. &lt;span data-token-index=&quot;0&quot;&gt;Git(GitHub)을 새 keystore 기준으로 업데이트&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-token-index=&quot;0&quot;&gt;- 나는 Github Action을 쓰고 있어서 &lt;b&gt;Git Action CI/CD 과정에서 쓰기 위해 키를 등록&lt;/b&gt;해주겠다 (이걸 안해주면 Git Action으로 빌드한 앱에선 구글 로그인이 안됨.. 당연하게도 구글 인증 받은 키값이 없는 셈이니...)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-token-index=&quot;0&quot;&gt;- Github Action으로 인한 CI/CD 과정도 어쨌거나 빌드 과정이 들어가기 때문에 필요하다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span data-token-index=&quot;0&quot;&gt;- 다만 여기서는 Github Action CI/CD 스크립트 짜는 법은 패스하고 등록하는 법만 적어두겠다&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-token-index=&quot;0&quot;&gt;- 우선 아래 4가지를 등록해준다&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;- ANDROID_KEYSTORE_BASE64: 새 release.keystore 파일을 base64 인코딩한 문자열&lt;br /&gt;- ANDROID_KEYSTORE_PASSWORD: keystore 비밀번호 &lt;br /&gt;- ANDROID_KEY_ALIAS: 새 keystore에 넣은 alias &lt;br /&gt;- ANDROID_KEY_PASSWORD: key 비밀번호&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- &lt;b&gt;ANDROID_KEYSTORE_BASE64 같은 경우엔 아래 명령어로 문자열을 생성해서 붙여 넣으면 된다&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1775486599177&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;base64 -i android/app/release.keystore | pbcopy&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 이것을 치고 나면 아무것도 안뜰텐데, 이미 클립보드에 복사된 상태이다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/naoXM/dJMcagZm1Ym/cJ8jimO1e6wKIfPgjCYQUK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/naoXM/dJMcagZm1Ym/cJ8jimO1e6wKIfPgjCYQUK/img.png&quot; data-origin-width=&quot;2314&quot; data-origin-height=&quot;1578&quot; data-is-animation=&quot;false&quot; style=&quot;width: 43.4931%; margin-right: 10px;&quot; data-widthpercent=&quot;44&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/naoXM/dJMcagZm1Ym/cJ8jimO1e6wKIfPgjCYQUK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnaoXM%2FdJMcagZm1Ym%2FcJ8jimO1e6wKIfPgjCYQUK%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;2314&quot; height=&quot;1578&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dtn8eh/dJMcabX5qiw/4gdKam6NY4UklubMEDqP1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dtn8eh/dJMcabX5qiw/4gdKam6NY4UklubMEDqP1K/img.png&quot; data-origin-width=&quot;1448&quot; data-origin-height=&quot;776&quot; data-is-animation=&quot;false&quot; style=&quot;width: 55.3441%;&quot; data-widthpercent=&quot;56&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dtn8eh/dJMcabX5qiw/4gdKam6NY4UklubMEDqP1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdtn8eh%2FdJMcabX5qiw%2F4gdKam6NY4UklubMEDqP1K%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;1448&quot; height=&quot;776&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 하나씩 다 등록하면 이제 빌드할 때 문제 없을 것이다&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;번외&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 아 참고로 저렇게 Git에서 등록한 &lt;b&gt;키값을 가져다 쓰려면 ./github/workflow 디렉토리에 스크립트를 짜둬야 한다&lt;/b&gt; (= Git Action Ci/CD)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 스크립트 짜놓고 .env로 예민한 정보 빼두는 것이랑 똑같음&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1262&quot; data-origin-height=&quot;978&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pe6Wr/dJMcagrxMki/1kTkCQWUjhI0N8CtzkG3yk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pe6Wr/dJMcagrxMki/1kTkCQWUjhI0N8CtzkG3yk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pe6Wr/dJMcagrxMki/1kTkCQWUjhI0N8CtzkG3yk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fpe6Wr%2FdJMcagrxMki%2F1kTkCQWUjhI0N8CtzkG3yk%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;568&quot; height=&quot;440&quot; data-origin-width=&quot;1262&quot; data-origin-height=&quot;978&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>OS/Android</category>
      <author>Ratatou2</author>
      <guid isPermaLink="true">https://ratatou2.tistory.com/367</guid>
      <comments>https://ratatou2.tistory.com/367#entry367comment</comments>
      <pubDate>Wed, 8 Apr 2026 22:26:37 +0900</pubDate>
    </item>
    <item>
      <title>맥미니에 가오몬(Gaomon) 타블렛 1060 Pro 사용하기 (feat. MacOS + 가오몬 드라이버)</title>
      <link>https://ratatou2.tistory.com/366</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;흔한 개발자 취미 : 디지털 드로잉&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2654&quot; data-origin-height=&quot;2654&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b75goN/dJMcaakuHl1/FZKorU20aMXyOoH6F6k7y0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b75goN/dJMcaakuHl1/FZKorU20aMXyOoH6F6k7y0/img.png&quot; data-alt=&quot;미친 가성비 Gaomon Tablet 1060 Pro&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b75goN/dJMcaakuHl1/FZKorU20aMXyOoH6F6k7y0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb75goN%2FdJMcaakuHl1%2FFZKorU20aMXyOoH6F6k7y0%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;451&quot; height=&quot;451&quot; data-origin-width=&quot;2654&quot; data-origin-height=&quot;2654&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;미친 가성비 Gaomon Tablet 1060 Pro&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그동안 게임 외에도 &lt;b&gt;디지털 드로잉할 땐 윈도우를 버리지 못했는데 가장 큰 이유는 타블렛 때문&lt;/b&gt;이다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 아이패드 드로잉에 적응하지 못했고, 또한 8192의 부드러운 필압을 잊지 못했다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(아이패드 필압 4096이고, 이것보다도 타블렛이 늘 좀 더 부드러운 느낌을 가지고 있었다)&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;b&gt;가성비로 유명한 가오몬(Gaomon) 1060 pro 태블릿&lt;/b&gt;을 4년 전부터 쓰고 있었는데, 이땐 MacOS엔 드라이버가 없던 시절이라 ㅠ&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;693&quot; data-origin-height=&quot;202&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/buuZ1w/dJMcahYdvI4/KfNJFxe9RuyQb0oiAk9of0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/buuZ1w/dJMcahYdvI4/KfNJFxe9RuyQb0oiAk9of0/img.png&quot; data-alt=&quot;택포 3.5만원쯤 구매.. ㄹㅇ 가성비;;;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/buuZ1w/dJMcahYdvI4/KfNJFxe9RuyQb0oiAk9of0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuuZ1w%2FdJMcahYdvI4%2FKfNJFxe9RuyQb0oiAk9of0%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;693&quot; height=&quot;202&quot; data-origin-width=&quot;693&quot; data-origin-height=&quot;202&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;택포 3.5만원쯤 구매.. ㄹㅇ 가성비;;;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 이젠 맥북에 맥미니까지 &lt;b&gt;주변에 MacOS가 너무 많아져서 슬슬 다시 쓰고 싶어서 찾아보니 드라이버가 있었다!!&lt;/b&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;혹시 같은 고민을 하던 분이 계시다면 도움이 되길..!&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. 공홈 접속 및 드라이버 다운로드&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 아래가 가오몬 타블렛 공홈의 드라이버 다운로드 링크이다 바로 접속해보자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.gaomon.cn/download/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.gaomon.cn/download/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1775141327316&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;驱动/说明书下载 - Gaomon高漫官网&quot; data-og-description=&quot;&quot; data-og-host=&quot;www.gaomon.cn&quot; data-og-source-url=&quot;https://www.gaomon.cn/download/&quot; data-og-url=&quot;https://www.gaomon.cn/download/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.gaomon.cn/download/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.gaomon.cn/download/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;驱动/说明书下载 - Gaomon高漫官网&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.gaomon.cn&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1680&quot; data-origin-height=&quot;920&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cUVNNp/dJMcajuWDh3/5suXYIGcilFmvhAD5NfmoK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cUVNNp/dJMcajuWDh3/5suXYIGcilFmvhAD5NfmoK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cUVNNp/dJMcajuWDh3/5suXYIGcilFmvhAD5NfmoK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcUVNNp%2FdJMcajuWDh3%2F5suXYIGcilFmvhAD5NfmoK%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;1680&quot; height=&quot;920&quot; data-origin-width=&quot;1680&quot; data-origin-height=&quot;920&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. 1060 pro 찾아서 다운 후 설치&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 이제 모델 찾아서 들어가보면 Mac 버전이 있다..!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 바로 다운 받아서 설치해주자&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bVNfWf/dJMcaargV9K/1ukT2O3NcH3E54oWCRoZ90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bVNfWf/dJMcaargV9K/1ukT2O3NcH3E54oWCRoZ90/img.png&quot; data-origin-width=&quot;3430&quot; data-origin-height=&quot;1752&quot; data-is-animation=&quot;false&quot; style=&quot;width: 56.5275%; margin-right: 10px;&quot; data-widthpercent=&quot;57.19&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bVNfWf/dJMcaargV9K/1ukT2O3NcH3E54oWCRoZ90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVNfWf%2FdJMcaargV9K%2F1ukT2O3NcH3E54oWCRoZ90%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;3430&quot; height=&quot;1752&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bWVjjb/dJMcabwU4GV/047jigWkYNMDPgJS9OH971/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bWVjjb/dJMcabwU4GV/047jigWkYNMDPgJS9OH971/img.png&quot; data-origin-width=&quot;592&quot; data-origin-height=&quot;404&quot; data-is-animation=&quot;false&quot; style=&quot;width: 42.3097%;&quot; data-widthpercent=&quot;42.81&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bWVjjb/dJMcabwU4GV/047jigWkYNMDPgJS9OH971/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbWVjjb%2FdJMcabwU4GV%2F047jigWkYNMDPgJS9OH971%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;592&quot; height=&quot;404&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 아래 파일은 훗날 또 찾아올 나를 위한 것... (공홈에서 받으셔도 됩니다)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bK7wpS/dJMcadnW48Z/FAcq71S3KoRrXkX20BBmmk/GaomonTablet_MacDriver_16.2.29.dmg?attach=1&amp;amp;knm=tfile.dmg&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;GaomonTablet_MacDriver_16.2.29.dmg&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;8.39MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;3. 가오몬 드라이버 실행 및 세팅&lt;/b&gt;&lt;/h3&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;172&quot; data-origin-height=&quot;183&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZZZq8/dJMcaaLzqeo/1aPir1QXGchpN1Mp9ltuT0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZZZq8/dJMcaaLzqeo/1aPir1QXGchpN1Mp9ltuT0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZZZq8/dJMcaaLzqeo/1aPir1QXGchpN1Mp9ltuT0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZZZq8%2FdJMcaaLzqeo%2F1aPir1QXGchpN1Mp9ltuT0%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;172&quot; height=&quot;183&quot; data-origin-width=&quot;172&quot; data-origin-height=&quot;183&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt; - 들어가보면 중국어긴 하지만 &lt;b&gt;타블렛과 펜을 설정할 수 있는 탭&lt;/b&gt;이 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 각각에서 원하는 단축키를 세팅하면 된다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8xObm/dJMcaa5Sdag/K86VI00C130RF4ObUzohEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8xObm/dJMcaa5Sdag/K86VI00C130RF4ObUzohEk/img.png&quot; data-origin-width=&quot;933&quot; data-origin-height=&quot;676&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.5115%; margin-right: 10px;&quot; data-widthpercent=&quot;50.09&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8xObm/dJMcaa5Sdag/K86VI00C130RF4ObUzohEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8xObm%2FdJMcaa5Sdag%2FK86VI00C130RF4ObUzohEk%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;933&quot; height=&quot;676&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1bQZO/dJMcacbxHkb/qtQiQglRGRZXlScBDFQ3kK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1bQZO/dJMcacbxHkb/qtQiQglRGRZXlScBDFQ3kK/img.png&quot; data-origin-width=&quot;935&quot; data-origin-height=&quot;680&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.3257%;&quot; data-widthpercent=&quot;49.91&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1bQZO/dJMcacbxHkb/qtQiQglRGRZXlScBDFQ3kK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1bQZO%2FdJMcacbxHkb%2FqtQiQglRGRZXlScBDFQ3kK%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;935&quot; height=&quot;680&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 중국어를 최소한 영어로 번역하고 싶었는데 &lt;b&gt;언어 부분은 변경이 안되게 막혀있다 ㅠ&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1198&quot; data-origin-height=&quot;678&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p0BPL/dJMcabcBSck/jU8cwqWFqMggGmKKHLgvr0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p0BPL/dJMcabcBSck/jU8cwqWFqMggGmKKHLgvr0/img.png&quot; data-alt=&quot;클릭이 안됨...&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p0BPL/dJMcabcBSck/jU8cwqWFqMggGmKKHLgvr0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp0BPL%2FdJMcabcBSck%2FjU8cwqWFqMggGmKKHLgvr0%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;440&quot; height=&quot;249&quot; data-origin-width=&quot;1198&quot; data-origin-height=&quot;678&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;클릭이 안됨...&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 뭐 그래도 복잡한 기능이 있는 타블렛은 아니니 단축키 설정은 어렵지 않을 것이다&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. Krita 설치 및 필압 테스트&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 세상이 정말 좋아졌다;;;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 그동안 포토샵에서만 그렸는데, &lt;b&gt;윈도우, 맥, 리눅스 모두 지원하는 Krita라는 오픈소스 툴이 있다는 것을 알게 됐다!!&lt;/b&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;- 우선 아래 공홈 링크에 들어가서 MacOS Installer 부터 받아준다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://krita.org/ko/download/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://krita.org/ko/download/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1775144823492&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Download&quot; data-og-description=&quot;Krita is a professional FREE and open source painting program. It is made by artists that want to see affordable art tools for everyone.&quot; data-og-host=&quot;krita.org&quot; data-og-source-url=&quot;https://krita.org/ko/download/&quot; data-og-url=&quot;https://krita.org/ko/download/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://krita.org/ko/download/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://krita.org/ko/download/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Download&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Krita is a professional FREE and open source painting program. It is made by artists that want to see affordable art tools for everyone.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;krita.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 다운받은 앱을 실행하고 krita 앱을 Applications 폴더로 끌어다 넣는다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;811&quot; data-origin-height=&quot;466&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqagPO/dJMcaiCOgL2/xv39mqFDBWgMGcJfxpL7MK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqagPO/dJMcaiCOgL2/xv39mqFDBWgMGcJfxpL7MK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqagPO/dJMcaiCOgL2/xv39mqFDBWgMGcJfxpL7MK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqagPO%2FdJMcaiCOgL2%2Fxv39mqFDBWgMGcJfxpL7MK%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;571&quot; height=&quot;328&quot; data-origin-width=&quot;811&quot; data-origin-height=&quot;466&quot;/&gt;&lt;/span&gt;&lt;/figure&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;- &lt;b&gt;드라이버를 실행해서 타블렛이 잘 인식되는 것을 확인한 뒤&lt;/b&gt;에 krita에 그리면 필압이 잘 먹는 것을 확인할 수 있다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OpaPH/dJMcafTEk9V/UuC82TLSJ4DDXsAZPPSCa0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OpaPH/dJMcafTEk9V/UuC82TLSJ4DDXsAZPPSCa0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OpaPH/dJMcafTEk9V/UuC82TLSJ4DDXsAZPPSCa0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOpaPH%2FdJMcafTEk9V%2FUuC82TLSJ4DDXsAZPPSCa0%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;1920&quot; height=&quot;1080&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;번외 - 가오몬 타블렛 추천 여부&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 나는 &lt;b&gt;가오몬 타블렛&lt;/b&gt;을 &lt;b&gt;입문용&lt;/b&gt;으로, &lt;b&gt;취미&lt;/b&gt;로 디지털 드로잉을 써보고 싶으시다면 &lt;b&gt;추천하는 편&lt;/b&gt;이다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- &lt;b&gt;일단 굉장히 싸다&lt;/b&gt;.. 와콤 타블렛도 써봤지만 이만한 가성비는 쉽게 구하기 어렵다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 특히 당근을 이용하면 1.5만원이나 2만원에도 주워올 수 있음 (펜 잃어버린건 5천원 짜리도 봤음...)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 중국 드라이버를 이용해야하니 조금 걱정되는 부분이 있긴 했지만 4년 넘게 쓰면서 딱히 문제는 없었다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 그간 MacOS나 리눅스 호환 안되는게 가장 큰 단점이라고 생각했는데, 이젠 MacOS에 리눅스 드라이버까지 있는걸 보면 이젠 단점이 있나 싶기도..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 그리고 &lt;b&gt;타블렛으로써의 제 기능도 톡톡히 한다&lt;/b&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;- 근데 3만원대에 이정도 크기...? 난 충분히 쓸만하다고 생각했다&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;b&gt;내가 쓰는 용도에선 충분했다&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3R2l9/dJMcagdXrZj/uBjA7yb7igpDhfExYH6Vg0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3R2l9/dJMcagdXrZj/uBjA7yb7igpDhfExYH6Vg0/img.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1280&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3R2l9/dJMcagdXrZj/uBjA7yb7igpDhfExYH6Vg0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3R2l9%2FdJMcagdXrZj%2FuBjA7yb7igpDhfExYH6Vg0%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;1280&quot; height=&quot;1280&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dybn6B/dJMcajholon/KadLnnjnDZkmSd5kkqK5Ek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dybn6B/dJMcajholon/KadLnnjnDZkmSd5kkqK5Ek/img.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1280&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dybn6B/dJMcajholon/KadLnnjnDZkmSd5kkqK5Ek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdybn6B%2FdJMcajholon%2FKadLnnjnDZkmSd5kkqK5Ek%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;1280&quot; height=&quot;1280&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;필압 조절 잘되고, 펜 인식 잘 되고, 펜 튀는 것도 없고 좋았다 (아이패드가 펜만 안튀었어도 프로 크리에이트에 정착했을듯.. ㅠ)&lt;/figcaption&gt;
&lt;/figure&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;- 무튼 추천!&lt;/p&gt;</description>
      <category>OS/Mac</category>
      <author>Ratatou2</author>
      <guid isPermaLink="true">https://ratatou2.tistory.com/366</guid>
      <comments>https://ratatou2.tistory.com/366#entry366comment</comments>
      <pubDate>Fri, 3 Apr 2026 01:19:40 +0900</pubDate>
    </item>
  </channel>
</rss>