<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>촌놈 개발자 이야기</title>
    <link>https://infotake.tistory.com/</link>
    <description>개발을 업으로 삼아 살아가며 관심 있는 기술 정보를 정리하고 공유. 프로그래밍과 IT 분야의 다양한 이야기부터 일상 속 소소한 생각까지, 꾸준히 기록하며 함께 성장해 나가는 개발자 일기</description>
    <language>ko</language>
    <pubDate>Thu, 23 Jul 2026 18:55:35 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>촌놈</managingEditor>
    <image>
      <title>촌놈 개발자 이야기</title>
      <url>https://tistory1.daumcdn.net/tistory/1584717/attach/e15009696e604a3784489c428236a3f0</url>
      <link>https://infotake.tistory.com</link>
    </image>
    <item>
      <title>윈도우10 업데이트 자동 재부팅 막는 법 (배치파일 하나로 끝내기)</title>
      <link>https://infotake.tistory.com/172</link>
      <description>&lt;div&gt;
&lt;style&gt;
 pre {
   background: #111 !important;
 }
.post-wrap{max-width:860px;margin:0 auto;padding:20px;font-size:16px;line-height:1.85;color:#222}
.post-wrap h2{font-size:1.7rem;margin:42px 0 18px;border-bottom:3px solid #222;padding-bottom:10px}
.post-wrap h3{font-size:1.35rem;margin:34px 0 14px}
.post-wrap h4{font-size:1.1rem;margin:24px 0 10px;color:#333}
.post-wrap p{margin:10px 0}
.post-wrap ul,.post-wrap ol{padding-left:22px}
.post-wrap table{width:100%;border-collapse:collapse;margin:18px 0;font-size:15px}
.post-wrap th,.post-wrap td{border:1px solid #ddd;padding:10px;vertical-align:top}
.post-wrap th{background:#f5f7fa}
.post-wrap pre{background:#111;color:#f8f8f2;padding:16px;border-radius:10px;overflow-x:auto;margin:16px 0}
.post-wrap code{font-size:14px}
.notice{background:#fff7e6;border-left:5px solid #f5a623;padding:14px 16px;margin:18px 0;border-radius:6px}
.tip{background:#eef8ff;border-left:5px solid #2196f3;padding:14px 16px;margin:18px 0;border-radius:6px}
.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
.pros-cons&gt;div{border:1px solid #ddd;border-radius:10px;padding:16px;background:#fafafa}
.capture{border:1px dashed #aaa;background:#fafafa;color:#555;text-align:center;padding:14px;margin:22px 0;border-radius:8px}
@media(max-width:640px){.post-wrap{padding:14px;font-size:15px}.pros-cons{grid-template-columns:1fr}.post-wrap h2{font-size:1.45rem}.post-wrap h3{font-size:1.2rem}}
pre {
  background-color: #111;
&lt;/style&gt;
&lt;/div&gt;
&lt;div class=&quot;post-wrap&quot;&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/X3aEd/dJMcahSEBNF/Ecuy4IIZoqBKYLAKXQf7M0/%EC%9C%88%EB%8F%84%EC%9A%B010_%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8_%EC%83%81%ED%83%9C%ED%99%95%EC%9D%B8_%EC%84%A4%EC%A0%95%ED%95%B4%EC%A0%9C_%EC%95%88%EC%A0%95%ED%8C%90.bat?attach=1&amp;amp;knm=tfile.bat&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;윈도우10_업데이트_상태확인_설정해제_안정판.bat&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.01MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Windows 업데이트 재부팅 막으려고 설정에 들어갔다가, 이 옵션 저 옵션 눌러보고 나와서는 정작 뭘 바꿨는지 기억이 안 나신 적 있으신가요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저도 개발하면서 컴퓨터를 계속 켜둔 채 작업하는 일이 많다 보니, 예고 없이 재부팅되는 문제를 자주 겪었는데요. 그렇다고 업데이트 자체를 꺼버리자니 보안 패치까지 놓치는 게 걸려서, 딱 필요한 부분만 제어할 수 있는 배치(.bat) 파일 하나를 만들어봤습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 실제로 제어되는 항목 3가지&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Windows Update와 관련해서 손댈 수 있는 부분은 아래 세 가지로 정리됩니다. 그룹 정책 편집기(gpedit.msc)가 없는 Home 에디션에서도 동일하게 적용됩니다.&lt;/p&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;이름&lt;/th&gt;
&lt;th&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;업데이트 서비스&lt;/td&gt;
&lt;td&gt;업데이트를 확인하고 받아오는 서비스 자체 (wuauserv)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;자동 업데이트&lt;/td&gt;
&lt;td&gt;업데이트를 자동으로 설치할지 여부&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;자동 재시작&lt;/td&gt;
&lt;td&gt;설치 후 컴퓨터가 스스로 재부팅할지 여부&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&quot;tip&quot;&gt;&lt;b&gt;TIP.&lt;/b&gt; 대부분 원하시는 건 업데이트를 아예 안 받는 게 아니라 &quot;예고 없이 꺼지는 것&quot;을 막는 것입니다. 그렇다면 1, 2번은 그대로 두고 3번만 차단하시면 됩니다. 보안 업데이트는 정상적으로 받으면서 재부팅만 막을 수 있습니다.&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. 안전하게 사용해도 되는지&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출처를 알 수 없는 배치 파일을 실행하는 게 꺼려지실 수 있어서 미리 말씀드립니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;인터넷으로 어떤 정보도 전송하지 않습니다. 오직 내 컴퓨터 안에서만 동작합니다.&lt;/li&gt;
&lt;li&gt;별도 프로그램을 설치하지 않습니다. Windows에 원래 있는 설정 스위치 몇 개만 조정합니다.&lt;/li&gt;
&lt;li&gt;파일에 마우스 오른쪽 클릭 &amp;rarr; 편집을 누르면 메모장으로 열려서, 어떤 명령어가 들어있는지 그대로 확인하실 수 있습니다.&lt;/li&gt;
&lt;li&gt;메뉴의 &quot;전체 설정&quot;을 누르면 실행 전 상태(Windows 기본값)로 언제든 되돌릴 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 사용 방법&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;파일을 다운로드합니다. (압축 없이 .bat 파일 하나입니다)&lt;/li&gt;
&lt;li&gt;파일에 마우스 오른쪽 클릭 &amp;rarr; &lt;b&gt;관리자 권한으로 실행&lt;/b&gt;을 눌러줍니다.&lt;/li&gt;
&lt;li&gt;관리자 권한 요청 창이 뜨면 &lt;b&gt;예&lt;/b&gt;를 눌러줍니다. Windows 설정을 변경하는 작업이라 필요한 정상적인 절차입니다.&lt;/li&gt;
&lt;li&gt;화면에 뜨는 번호 중 원하는 항목을 입력하고 Enter를 누릅니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&quot;capture&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;979&quot; data-origin-height=&quot;512&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCsHD7/dJMcahyrcUK/5wt7lNOnHqBbpO82jsKpM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCsHD7/dJMcahyrcUK/5wt7lNOnHqBbpO82jsKpM0/img.png&quot; data-alt=&quot;관리자권한으로 실행 해야함&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCsHD7/dJMcahyrcUK/5wt7lNOnHqBbpO82jsKpM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCsHD7%2FdJMcahyrcUK%2F5wt7lNOnHqBbpO82jsKpM0%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;979&quot; height=&quot;512&quot; data-origin-width=&quot;979&quot; data-origin-height=&quot;512&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;관리자권한으로 실행 해야함&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;예를 눌러 실행을 계속 진행한다&lt;/i&gt;&lt;/p&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;0. 상태 상세 보기 (Status)

[차단 / Block]                          [설정 / Enable]
1. 업데이트 서비스 차단                   4. 업데이트 서비스 설정
2. 자동 업데이트 차단                     5. 자동 업데이트 설정
3. 자동 재시작 차단                       6. 자동 재시작 설정

7. 전체 차단 (Block All)
8. 전체 설정 (Enable All)
9. 종료 (Exit)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;번호를 입력하고 Enter를 누르면 해당 항목이 바로 적용된다&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어떤 걸 눌러야 할지 잘 모르시겠다면 먼저 &lt;b&gt;0번(상태 상세 보기)&lt;/b&gt;을 눌러보세요. 지금 컴퓨터 상태를 아래와 같이 보여드립니다.&lt;/p&gt;
&lt;pre class=&quot;ada&quot;&gt;&lt;code&gt;종합 상태               : 업데이트 켜짐 (자동 재부팅만 차단)

1. 업데이트 서비스        : 설정됨
2. 자동 업데이트          : 설정됨
3. 자동 재시작            : 차단됨

재부팅 대기 중           : 예
  -&amp;gt; 자동 재시작 차단 중이라 스스로 재부팅되지 않습니다.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;현재 어떤 항목이 켜져 있고 꺼져 있는지 한눈에 확인할 수 있다&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;재부팅만 막고 싶으시다면 &lt;b&gt;3번(자동 재시작 차단)&lt;/b&gt;만 눌러주시면 됩니다. 나머지 항목은 그대로 두셔도 무방합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;완료 메시지가 뜨면 정상적으로 적용된 것이다&lt;/i&gt;&lt;/p&gt;
&lt;div class=&quot;notice&quot;&gt;&lt;b&gt;주의.&lt;/b&gt; 이 배치 파일은 Windows 10 환경을 기준으로 만들었습니다. 실행 시 조건을 자동으로 확인해 맞지 않으면 실행되지 않도록 해두었습니다. 회사에서 지급된 PC이거나 별도로 관리되는 환경이라면, 이후 관리 정책에 의해 설정이 다시 바뀔 수 있다는 점은 참고해주세요.&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;정리&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;업데이트 관련 설정을 아래 세 단계로 나눠서 다루면 헷갈릴 일이 없습니다.&lt;/p&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;단계&lt;/th&gt;
&lt;th&gt;확인 내용&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;업데이트 자체를 받을지 (업데이트 서비스)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;받은 걸 자동으로 설치할지 (자동 업데이트)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;설치 후 스스로 재부팅할지 (자동 재시작)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;PS. 해당내용들은 아래 원래 설정위치에 비례합니다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;875&quot; data-origin-height=&quot;618&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdjxe9/dJMcafglXdZ/DJCQPpXih7dlwGEFzHBQr0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdjxe9/dJMcafglXdZ/DJCQPpXih7dlwGEFzHBQr0/img.png&quot; data-alt=&quot;윈도우 업데이트&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdjxe9/dJMcafglXdZ/DJCQPpXih7dlwGEFzHBQr0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbdjxe9%2FdJMcafglXdZ%2FDJCQPpXih7dlwGEFzHBQr0%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;875&quot; height=&quot;618&quot; data-origin-width=&quot;875&quot; data-origin-height=&quot;618&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;윈도우 업데이트&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1069&quot; data-origin-height=&quot;641&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Zghzs/dJMcaazk6KO/EJWujIuJ0T7BIhiSskIyo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Zghzs/dJMcaazk6KO/EJWujIuJ0T7BIhiSskIyo0/img.png&quot; data-alt=&quot;원래 윈도우 업데이트 항목이 나와야하지만 상단에서 해제되서 그런지 나오지 않네요!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Zghzs/dJMcaazk6KO/EJWujIuJ0T7BIhiSskIyo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZghzs%2FdJMcaazk6KO%2FEJWujIuJ0T7BIhiSskIyo0%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;1069&quot; height=&quot;641&quot; data-origin-width=&quot;1069&quot; data-origin-height=&quot;641&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;원래 윈도우 업데이트 항목이 나와야하지만 상단에서 해제되서 그런지 나오지 않네요!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>개발 이야기/IT</category>
      <category>bat파일</category>
      <category>NoAutoUpdate</category>
      <category>WUAUSERV</category>
      <category>관리자 권한 실행</category>
      <category>그룹정책</category>
      <category>레지스트리</category>
      <category>배치파일</category>
      <category>윈도우10 업데이트</category>
      <category>윈도우10 재부팅</category>
      <category>자동 재부팅 차단</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/172</guid>
      <comments>https://infotake.tistory.com/172#entry172comment</comments>
      <pubDate>Sun, 19 Jul 2026 23:51:58 +0900</pubDate>
    </item>
    <item>
      <title>이클립스 외부 도구로 수정한 파일 실시간 반영하는 법 (VS Code&amp;middot;AI 코딩 툴 대응)</title>
      <link>https://infotake.tistory.com/171</link>
      <description>&lt;div&gt;
&lt;style&gt;
 pre {
   background: #111 !important;
 }
.post-wrap{max-width:860px;margin:0 auto;padding:20px;font-size:16px;line-height:1.85;color:#222}
.post-wrap h2{font-size:1.7rem;margin:42px 0 18px;border-bottom:3px solid #222;padding-bottom:10px}
.post-wrap h3{font-size:1.35rem;margin:34px 0 14px}
.post-wrap h4{font-size:1.1rem;margin:24px 0 10px;color:#333}
.post-wrap p{margin:10px 0}
.post-wrap ul,.post-wrap ol{padding-left:22px}
.post-wrap table{width:100%;border-collapse:collapse;margin:18px 0;font-size:15px}
.post-wrap th,.post-wrap td{border:1px solid #ddd;padding:10px;vertical-align:top}
.post-wrap th{background:#f5f7fa}
.post-wrap pre{background:#111;color:#f8f8f2;padding:16px;border-radius:10px;overflow-x:auto;margin:16px 0}
.post-wrap code{font-size:14px}
.notice{background:#fff7e6;border-left:5px solid #f5a623;padding:14px 16px;margin:18px 0;border-radius:6px}
.tip{background:#eef8ff;border-left:5px solid #2196f3;padding:14px 16px;margin:18px 0;border-radius:6px}
.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
.pros-cons&gt;div{border:1px solid #ddd;border-radius:10px;padding:16px;background:#fafafa}
.capture{border:1px dashed #aaa;background:#fafafa;color:#555;text-align:center;padding:14px;margin:22px 0;border-radius:8px}
@media(max-width:640px){.post-wrap{padding:14px;font-size:15px}.pros-cons{grid-template-columns:1fr}.post-wrap h2{font-size:1.45rem}.post-wrap h3{font-size:1.2rem}}
pre {
  background-color: #111;
&lt;/style&gt;
&lt;/div&gt;
&lt;div class=&quot;post-wrap&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VS Code나 외부 AI 코딩 툴로 파일을 수정하는데, 이클립스 화면에는 반영이 안 돼서 매번 껐다 켰다 하신 적 있으신가요?&lt;br /&gt;저도 개발 중에 외부 도구로 파일을 자주 건드리다 보니 이클립스가 변경 사항을 못 따라오는 문제를 자주 겪었는데요, 설정 몇 가지만 바꿔주면 깔끔하게 해결됩니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 자동 새로고침 설정&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;Window &amp;rarr; Preferences &amp;rarr; General &amp;rarr; Workspace&lt;/code&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 항목들을 체크해주세요.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Refresh using native hooks or polling&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Refresh on access&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Refresh workspace on startup&lt;/b&gt; (필요하면 함께 체크)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;체크 후 &lt;code&gt;Apply and Close&lt;/code&gt;로 저장하면 끝입니다.&lt;/p&gt;
&lt;div class=&quot;capture&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;775&quot; data-origin-height=&quot;487&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/02ns6/dJMcafHqqYP/1022Dv3ufMHIxoYeZf11E0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/02ns6/dJMcafHqqYP/1022Dv3ufMHIxoYeZf11E0/img.png&quot; data-alt=&quot;위3개를 체크한다&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/02ns6/dJMcafHqqYP/1022Dv3ufMHIxoYeZf11E0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F02ns6%2FdJMcafHqqYP%2F1022Dv3ufMHIxoYeZf11E0%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;775&quot; height=&quot;487&quot; data-origin-width=&quot;775&quot; data-origin-height=&quot;487&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;위3개를 체크한다&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;tip&quot;&gt;외부 AI 도구나 VS Code가 파일을 수정하는 환경이라면 &lt;b&gt;Refresh using native hooks or polling&lt;/b&gt;을 켜는 게 핵심입니다. 이 옵션 하나만 켜져 있어도 대부분의 반영 지연 문제가 해결됩니다.&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. 즉시 수동으로 반영하기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설정을 바꾸기 전에 급하게 반영해야 한다면, 프로젝트나 파일을 선택한 뒤 다음 방법을 쓰면 됩니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;F5&lt;/code&gt; 키&lt;/li&gt;
&lt;li&gt;또는 우클릭 &amp;rarr; &lt;code&gt;Refresh&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로젝트 전체를 반영하고 싶다면 프로젝트 루트를 선택한 상태에서 &lt;code&gt;F5&lt;/code&gt;를 누르는 게 가장 확실합니다.&lt;/p&gt;
&lt;div class=&quot;capture&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;711&quot; data-origin-height=&quot;553&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/beHLfN/dJMcadpbxBX/zwiqprKLDQRuw4MB8Ht9yK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beHLfN/dJMcadpbxBX/zwiqprKLDQRuw4MB8Ht9yK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beHLfN/dJMcadpbxBX/zwiqprKLDQRuw4MB8Ht9yK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeHLfN%2FdJMcadpbxBX%2FzwiqprKLDQRuw4MB8Ht9yK%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;711&quot; height=&quot;553&quot; data-origin-width=&quot;711&quot; data-origin-height=&quot;553&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 정적/동적 리소스가 브라우저에 바로 안 보일 때&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JSP뿐 아니라 JS, CSS, HTML 등 톰캣이 서빙하는 모든 리소스에 해당하는 문제입니다. 이클립스 화면에는 수정 내용이 반영됐는데, 정작 브라우저에는 안 보이는 경우가 있는데요, 이건 톰캣 배포 폴더까지 반영이 안 된 경우입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;Window &amp;rarr; Preferences &amp;rarr; Server &amp;rarr; Launching&lt;/code&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 &lt;b&gt;Automatically publish when resources change&lt;/b&gt; 관련 옵션을 활성화해주세요.&lt;/p&gt;
&lt;div class=&quot;capture&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;777&quot; data-origin-height=&quot;534&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dPzW3B/dJMcag7jnIJ/EGwtof0AYbm7grXxtKXnhK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dPzW3B/dJMcag7jnIJ/EGwtof0AYbm7grXxtKXnhK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dPzW3B/dJMcag7jnIJ/EGwtof0AYbm7grXxtKXnhK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdPzW3B%2FdJMcag7jnIJ%2FEGwtof0AYbm7grXxtKXnhK%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;777&quot; height=&quot;534&quot; data-origin-width=&quot;777&quot; data-origin-height=&quot;534&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래도 안 될 때는 &lt;code&gt;Servers&lt;/code&gt; 뷰에서 톰캣을 우클릭한 뒤 아래 순서로 진행하면 됩니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;Clean&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Publish&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;capture&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;753&quot; data-origin-height=&quot;456&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bft40u/dJMcaftOHea/Lks6JgDJkm7gWNO86dSWpk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bft40u/dJMcaftOHea/Lks6JgDJkm7gWNO86dSWpk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bft40u/dJMcaftOHea/Lks6JgDJkm7gWNO86dSWpk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbft40u%2FdJMcaftOHea%2FLks6JgDJkm7gWNO86dSWpk%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;753&quot; height=&quot;456&quot; data-origin-width=&quot;753&quot; data-origin-height=&quot;456&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;div class=&quot;notice&quot;&gt;Publish 옵션을 켜도 즉시 반영이 안 될 때가 있는데, 이 경우 대부분 Clean &amp;rarr; Publish 한 번이면 해결됩니다.&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;정리&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;외부 도구와 이클립스를 같이 쓰는 개발 환경이라면 아래 순서로 점검해보세요.&lt;/p&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;단계&lt;/th&gt;
&lt;th&gt;확인 내용&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Workspace 새로고침 설정 (Refresh using native hooks or polling 필수)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;안 되면 F5로 수동 반영&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;브라우저에 안 보이면 톰캣 Publish 옵션 확인 + Clean/Publish&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 세 단계만 확인하면 외부에서 수정한 파일이 이클립스와 브라우저 양쪽에 바로바로 반영됩니다.&lt;/p&gt;
&lt;/div&gt;</description>
      <category>개발 이야기/IT</category>
      <category>eclipse</category>
      <category>Refresh using native hooks or polling</category>
      <category>이클립스</category>
      <category>이클립스 Refresh</category>
      <category>이클립스 VS Code</category>
      <category>이클립스 새로고침</category>
      <category>이클립스 톰캣 연동</category>
      <category>이클립스 파일 반영</category>
      <category>톰캣 Clean</category>
      <category>톰캣 Publish</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/171</guid>
      <comments>https://infotake.tistory.com/171#entry171comment</comments>
      <pubDate>Sat, 18 Jul 2026 12:12:08 +0900</pubDate>
    </item>
    <item>
      <title>Google Antigravity CLI(agy) 명령어 총정리</title>
      <link>https://infotake.tistory.com/170</link>
      <description>&lt;div&gt;
&lt;style&gt;
 pre {
   background: #111 !important;
 }
.post-wrap{max-width:860px;margin:0 auto;padding:20px;font-size:16px;line-height:1.85;color:#222}
.post-wrap h2{font-size:1.7rem;margin:42px 0 18px;border-bottom:3px solid #222;padding-bottom:10px}
.post-wrap h3{font-size:1.35rem;margin:34px 0 14px}
.post-wrap h4{font-size:1.1rem;margin:24px 0 10px;color:#333}
.post-wrap p{margin:10px 0}
.post-wrap ul,.post-wrap ol{padding-left:22px}
.post-wrap table{width:100%;border-collapse:collapse;margin:18px 0;font-size:15px}
.post-wrap th,.post-wrap td{border:1px solid #ddd;padding:10px;vertical-align:top}
.post-wrap th{background:#f5f7fa}
.post-wrap pre{background:#111;color:#f8f8f2;padding:16px;border-radius:10px;overflow-x:auto;margin:16px 0}
.post-wrap code{font-size:14px}
.notice{background:#fff7e6;border-left:5px solid #f5a623;padding:14px 16px;margin:18px 0;border-radius:6px}
.tip{background:#eef8ff;border-left:5px solid #2196f3;padding:14px 16px;margin:18px 0;border-radius:6px}
.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
.pros-cons&gt;div{border:1px solid #ddd;border-radius:10px;padding:16px;background:#fafafa}
.capture{border:1px dashed #aaa;background:#fafafa;color:#555;text-align:center;padding:14px;margin:22px 0;border-radius:8px}
@media(max-width:640px){.post-wrap{padding:14px;font-size:15px}.pros-cons{grid-template-columns:1fr}.post-wrap h2{font-size:1.45rem}.post-wrap h3{font-size:1.2rem}}
pre {
  background-color: #111;
&lt;/style&gt;
&lt;/div&gt;
&lt;div class=&quot;post-wrap&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Google이 2026년 5월 19일 발표한 Antigravity CLI(명령어 &lt;code&gt;agy&lt;/code&gt;)는 Gemini CLI의 후속작입니다. Gemini CLI는 2026년 6월 18일부로 종료되었고, 개인/무료 사용자는 이제 Antigravity CLI로 넘어와야 합니다. Go로 새로 작성되어 시작 속도와 메모리 사용량이 개선됐고, Antigravity 2.0(데스크톱 앱)과 동일한 에이전트 엔진을 공유합니다.&lt;/p&gt;
&lt;div class=&quot;notice&quot;&gt;2026년 7월 기준 프리뷰 기간이라 &lt;b&gt;무료로 넉넉한 사용량 제한&lt;/b&gt;이 제공됩니다. 프로덕션 워크로드는 결제가 연결된 GCP 프로젝트에 연결해서 쓸 수 있습니다. 세부 옵션은 버전에 따라 바뀔 수 있으니 &lt;code&gt;agy --help&lt;/code&gt;, 대화 중 &lt;code&gt;/help&lt;/code&gt;로 항상 재확인하세요.&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 설치 및 버전 확인&lt;/h3&gt;
&lt;pre class=&quot;properties&quot;&gt;&lt;code&gt;# macOS / Linux
curl -fsSL https://antigravity.google/cli/install.sh | bash

# Windows (PowerShell)
irm https://antigravity.google/cli/install.ps1 | iex

# 버전 확인
agy --version
# 변경 이력 확인
agy changelog&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 최초 로그인&lt;/h3&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;# 최초 실행
agy
# Welcome to the Antigravity CLI.
# You are currently not signed in.
# Select login method:
# &amp;gt; 1. Google OAuth
#   2. Use a Google Cloud project&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개인 계정은 &lt;b&gt;Google OAuth&lt;/b&gt;를 선택하면 브라우저가 열리고, 인증 후 코드를 복사해서 터미널에 붙여넣으면 됩니다. 조직/과금 프로젝트를 쓰려면 &lt;b&gt;Use a Google Cloud project&lt;/b&gt;를 선택합니다. 로그인 이후 컬러 테마 선택 등 초기 설정이 이어집니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 기본 실행 모드&lt;/h3&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;# 대화형 터미널 UI(TUI) 세션 시작
agy
# 비대화형 모드로 프롬프트 하나만 던지고 결과 받기 (후속 질문 불가, 자동화/스크립트용)
agy -p &quot;Cloud Run에 배포하는 gcloud 명령어 알려줘&quot;
# 특정 모델 지정
agy --model gemini-3.5-flash &quot;이 함수 리팩터링해줘&quot;
# 이전 대화 이어가기
agy --continue
agy -c
# 전체 옵션 확인
agy --help&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;notice&quot;&gt;기본 모델은 &lt;b&gt;Gemini 3.5 Flash (High)&lt;/b&gt;입니다. 다른 프론티어 모델 대비 4배 빠르면서도 벤치마크 대부분에서 Gemini 3.1 Pro를 능가한다고 안내되어 있습니다.&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 슬래시 명령어 총정리&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;명령어&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/help&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;General / Commands / Shortcuts 3개 탭으로 도움말 표시 (Tab 키로 탭 전환)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/config&lt;/code&gt; 또는 &lt;code&gt;/settings&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;색상 테마, 도구 권한, 텔레메트리, 샌드박스 모드 등 설정 화면 진입&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/keybindings&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;키보드 단축키 커스터마이징 (JSON 직접 편집도 가능)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/goal&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;에이전트에게 상위 목표를 지정해 여러 턴에 걸쳐 유지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/grill-me&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;프롬프트 앞에 붙이면 작업 시작 전에 에이전트가 먼저 확인 질문을 던짐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/schedule&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;프롬프트를 반복 실행되는 예약 작업(cron 등)으로 등록&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/mcp&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;연결된 MCP 서버 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/agents&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;서브에이전트 목록/상태 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/plugin import gemini&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;기존 Gemini CLI의 확장 프로그램을 Antigravity 플러그인으로 마이그레이션&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/quit&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;세션 종료 (또는 &lt;code&gt;Ctrl+D&lt;/code&gt; 두 번)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. 승인(Approval) &amp;amp; 샌드박스&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에이전트가 터미널 명령을 실행하려 할 때 승인 프롬프트가 뜨는데, 현재 샌드박스 상태에 따라 표시되는 선택지가 달라집니다.&lt;/p&gt;
&lt;div class=&quot;pros-cons&quot;&gt;
&lt;div&gt;&lt;b&gt;샌드박스 활성화 상태&lt;/b&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본 승인 문구에 &lt;b&gt;&quot;Yes, and run without sandbox restrictions&quot;&lt;/b&gt; 옵션이 추가로 표시되어, 신뢰하는 명령 1건만 격리 없이 실행하도록 예외를 둘 수 있음.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;&lt;b&gt;샌드박스 비활성화 상태&lt;/b&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반대로 &lt;b&gt;&quot;Yes, and run in sandbox&quot;&lt;/b&gt; 옵션이 표시되어, 위험할 수 있는 특정 명령 1건만 강제로 격리 실행할 수 있음.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;jboss-cli&quot;&gt;&lt;code&gt;# 실행 시 플래그로 override (세션 한정, 재시작하면 설정파일 값으로 복귀)
agy --sandbox
agy --dangerously-skip-permissions

# /config 에서 확인 가능한 주요 항목 예시
# Tool Permission        request-review
# Sandbox Mode           off
# Enable Telemetry on Non-Workspace Access   off&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;터미널 샌드박스는 무거운 VM/컨테이너 대신 OS 네이티브 격리 기능을 씁니다: Linux는 &lt;b&gt;nsjail&lt;/b&gt;, macOS는 &lt;b&gt;sandbox-exec&lt;/b&gt;, Windows는 &lt;b&gt;AppContainer&lt;/b&gt;. &lt;code&gt;~/.gemini/antigravity-cli/settings.json&lt;/code&gt;의 &lt;code&gt;enableTerminalSandbox&lt;/code&gt;로 항상 켜둘 수도 있습니다.&lt;/p&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;&amp;lt;code&quot;&amp;gt;# ~/.gemini/antigravity-cli/settings.json
{
  &quot;enableTerminalSandbox&quot;: true,
  &quot;permissions&quot;: {
    &quot;allow&quot;: [&quot;git *&quot;, &quot;npm test&quot;, &quot;npm run build&quot;],
    &quot;deny&quot;: [&quot;rm -rf *&quot;, &quot;git push --force*&quot;]
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;tip&quot;&gt;글로벌 승인 레벨 대신, 위처럼 &lt;code&gt;allow&lt;/code&gt;/&lt;code&gt;deny&lt;/code&gt; 목록으로 명령어 단위 세밀한 권한도 지정할 수 있습니다.&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. 서브에이전트 &amp;amp; 백그라운드/예약 작업&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Antigravity CLI는 메인 대화를 막지 않고 문서 조회, 빌드 실행, 수정사항 검증 같은 작업을 &lt;b&gt;서브에이전트&lt;/b&gt;가 비동기&amp;middot;병렬로 처리하도록 자동으로 위임합니다.&lt;/p&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;&amp;lt;code&quot;&amp;gt;# 실행 중인 백그라운드 작업 확인 (자연어 질의)
&amp;gt; list my active tasks
# 예시 출력
# 1. task-35 &amp;middot; One-time Timer (600s)
# 2. task-43 &amp;middot; Recurring Cron (*/10 * * * *) - localhost:3000 헬스체크&lt;/code&gt;&lt;/pre&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;단축키&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Ctrl + J&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;승인 대기 중인 다음 서브에이전트 상세 화면으로 바로 이동(&quot;teleport&quot;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Ctrl + O&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;축약된 작업 목록(ManageTask 등)을 펼쳐서 보기&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서브에이전트가 로컬 명령 실행이나 파일 쓰기처럼 권한이 필요한 도구를 호출하면, 메인 대화 상단에 &lt;b&gt;Fast Path Alert&lt;/b&gt;가 뜨고 서브에이전트 상세 화면에서 개별 승인/거부할 수 있습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;7. 설정 파일 &amp;amp; 경로&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;파일&lt;/th&gt;
&lt;th&gt;경로&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;설정 파일&lt;/td&gt;
&lt;td&gt;&lt;code&gt;~/.gemini/antigravity-cli/settings.json&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;키바인딩&lt;/td&gt;
&lt;td&gt;&lt;code&gt;~/.gemini/antigravity-cli/keybindings.json&lt;/code&gt; (삭제하면 기본값으로 초기화)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&quot;notice&quot;&gt;일부 설정은 &lt;code&gt;--sandbox&lt;/code&gt;, &lt;code&gt;--dangerously-skip-permissions&lt;/code&gt; 같은 실행 플래그로 오버라이드할 수 있습니다. 이 경우 설정 메뉴에 &quot;Sandbox Mode on overridden by --sandbox&quot;처럼 오버라이드 출처가 표시되며, 디스크의 영구 설정은 그대로 두고 현재 세션에서만 강제 적용됩니다.&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;8. Gemini CLI에서 마이그레이션&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Gemini CLI를 쓰고 있었다면 Extensions, MCP 서버, Skills, 컨텍스트 파일 대부분을 그대로 가져올 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;bash&quot;&gt;&lt;code&gt;# Gemini CLI 확장 프로그램을 Antigravity 플러그인으로 마이그레이션
agy plugin import gemini&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;notice&quot;&gt;개인/무료 계정은 2026년 6월 18일부로 Gemini CLI와 Gemini Code Assist 확장을 더 이상 쓸 수 없고 Antigravity CLI로 강제 전환됩니다. 다만 Gemini Code Assist Standard/Enterprise 라이선스가 있는 기업 고객은 계속 접근 가능합니다. 스크립트나 CI에서 &lt;code&gt;gemini&lt;/code&gt; 명령어를 쓰고 있었다면 지금 &lt;code&gt;agy&lt;/code&gt;로 바꿔주는 게 안전합니다.&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;9. MCP &amp;amp; 플러그인&lt;/h3&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;&amp;lt;code&quot;&amp;gt;# 연결된 MCP 서버 확인/관리
/mcp

# Gemini CLI 확장을 플러그인으로 가져오기
agy plugin import gemini&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;10. 유용한 조합 정리&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;상황&lt;/th&gt;
&lt;th&gt;추천 명령/설정&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;스크립트/자동화에서 빠르게 답만 받기&lt;/td&gt;
&lt;td&gt;&lt;code&gt;agy -p &quot;...&quot;&lt;/code&gt; (후속 질문 불가하니 단발성 질의에만)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;일감을 던지기 전에 요구사항부터 확인받고 싶을 때&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/grill-me&lt;/code&gt;를 프롬프트 앞에 붙이기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;반복 실행되는 모니터링/점검 작업&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/schedule&lt;/code&gt;로 예약 등록&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;딱 한 번만 격리 없이 신뢰하는 명령 실행&lt;/td&gt;
&lt;td&gt;승인 프롬프트에서 &quot;Yes, and run without sandbox restrictions&quot; 선택&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;위험할 수 있는 명령만 강제로 격리 실행&lt;/td&gt;
&lt;td&gt;승인 프롬프트에서 &quot;Yes, and run in sandbox&quot; 선택&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemini CLI에서 넘어오는 경우&lt;/td&gt;
&lt;td&gt;&lt;code&gt;agy plugin import gemini&lt;/code&gt;로 확장 마이그레이션&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;여러 승인 대기 서브에이전트를 빠르게 순회&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Ctrl + J&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;설정이 꼬였을 때&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/config&lt;/code&gt;에서 오버라이드 출처 확인, 필요시 settings.json/keybindings.json 삭제 후 재생성&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;마무리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Antigravity CLI는 Codex CLI&amp;middot;Kilo CLI와 달리 &lt;b&gt;서브에이전트 병렬 처리&lt;/b&gt;와 &lt;b&gt;예약 작업(스케줄링)&lt;/b&gt;이 기본 내장되어 있는 게 가장 큰 차이점입니다. Gemini CLI 사용자라면 &lt;code&gt;agy plugin import gemini&lt;/code&gt; 한 번으로 기존 확장을 옮기고, 처음 써보는 경우엔 기본값(샌드박스 off, request-review 권한)으로 시작해서 필요할 때만 &lt;code&gt;/config&lt;/code&gt;에서 권한 범위를 조여가는 흐름을 추천합니다.&lt;/p&gt;
&lt;/div&gt;</description>
      <category>개발 이야기/IT</category>
      <category>agy</category>
      <category>ai코딩에이전트</category>
      <category>Antigravity CLI</category>
      <category>CLI도구</category>
      <category>gemini cli</category>
      <category>Google Antigravity</category>
      <category>개발자도구</category>
      <category>구글AI</category>
      <category>서브에이전트</category>
      <category>터미널ai</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/170</guid>
      <comments>https://infotake.tistory.com/170#entry170comment</comments>
      <pubDate>Sun, 5 Jul 2026 20:20:20 +0900</pubDate>
    </item>
    <item>
      <title>Kilo Code CLI 명령어 총정리</title>
      <link>https://infotake.tistory.com/169</link>
      <description>&lt;div&gt;
&lt;style&gt;
 pre {
   background: #111 !important;
 }
.post-wrap{max-width:860px;margin:0 auto;padding:20px;font-size:16px;line-height:1.85;color:#222}
.post-wrap h2{font-size:1.7rem;margin:42px 0 18px;border-bottom:3px solid #222;padding-bottom:10px}
.post-wrap h3{font-size:1.35rem;margin:34px 0 14px}
.post-wrap h4{font-size:1.1rem;margin:24px 0 10px;color:#333}
.post-wrap p{margin:10px 0}
.post-wrap ul,.post-wrap ol{padding-left:22px}
.post-wrap table{width:100%;border-collapse:collapse;margin:18px 0;font-size:15px}
.post-wrap th,.post-wrap td{border:1px solid #ddd;padding:10px;vertical-align:top}
.post-wrap th{background:#f5f7fa}
.post-wrap pre{background:#111;color:#f8f8f2;padding:16px;border-radius:10px;overflow-x:auto;margin:16px 0}
.post-wrap code{font-size:14px}
.notice{background:#fff7e6;border-left:5px solid #f5a623;padding:14px 16px;margin:18px 0;border-radius:6px}
.tip{background:#eef8ff;border-left:5px solid #2196f3;padding:14px 16px;margin:18px 0;border-radius:6px}
.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
.pros-cons&gt;div{border:1px solid #ddd;border-radius:10px;padding:16px;background:#fafafa}
.capture{border:1px dashed #aaa;background:#fafafa;color:#555;text-align:center;padding:14px;margin:22px 0;border-radius:8px}
@media(max-width:640px){.post-wrap{padding:14px;font-size:15px}.pros-cons{grid-template-columns:1fr}.post-wrap h2{font-size:1.45rem}.post-wrap h3{font-size:1.2rem}}
pre {
  background-color: #111;
&lt;/style&gt;
&lt;/div&gt;
&lt;div class=&quot;post-wrap&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오픈소스 코딩 에이전트 Kilo Code의 CLI(&lt;code&gt;kilo&lt;/code&gt;)를 실무에서 쓸 때 필요한 명령어&amp;middot;슬래시 명령&amp;middot;권한 시스템&amp;middot;설정 파일을 한 번에 정리했습니다. Kilo CLI는 OpenCode를 포크한 구조라 설정 체계도 OpenCode와 상당 부분 호환됩니다.&lt;/p&gt;
&lt;div class=&quot;notice&quot;&gt;이 정리는 &lt;b&gt;Kilo CLI 1.0 이상&lt;/b&gt; 기준입니다. 1.0 미만 버전에서는 명령어 체계(구 &lt;code&gt;.roo&lt;/code&gt;/&lt;code&gt;.kilocode&lt;/code&gt; 설정, Memory Bank 등)가 다르니 먼저 &lt;code&gt;kilo --version&lt;/code&gt;으로 버전을 확인하고, &lt;code&gt;kilo --help&lt;/code&gt; / &lt;code&gt;kilo help &amp;lt;command&amp;gt; --all&lt;/code&gt;로 실제 지원 여부를 재확인하세요. Orchestrator 모드는 지원 중단(deprecated) 예정이라 신규로는 쓰지 않는 걸 권장합니다.&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 설치 및 버전 확인&lt;/h3&gt;
&lt;pre class=&quot;properties&quot;&gt;&lt;code&gt;# npm으로 설치 (권장)
npm install -g @kilocode/cli
# 그 외 설치 방법
curl -fsSL https://kilo.ai/cli/install | bash
pnpm add -g @kilocode/cli
bun add -g @kilocode/cli
brew install Kilo-Org/tap/kilo        # macOS / Linux
paru -S kilo-bin                       # Arch Linux (AUR)

# 버전 확인
kilo --version
# 최신 버전으로 업데이트
kilo upgrade
npm update -g @kilocode/cli
# 특정 버전으로 업그레이드/다운그레이드
kilo upgrade 0.1.48
# 완전 삭제 (설정/세션 유지 옵션 있음)
kilo uninstall --keep-config --keep-data&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;tip&quot;&gt;AVX 명령어 셋을 지원하지 않는 구형 CPU(Intel Xeon Nehalem, AMD Bulldozer 등)에서는 &quot;Illegal instruction&quot; 오류가 날 수 있습니다. 이 경우 GitHub Releases에서 &lt;code&gt;-baseline&lt;/code&gt; 빌드(예: &lt;code&gt;kilo-linux-x64-baseline.tar.gz&lt;/code&gt;)를 받아 바이너리를 직접 실행하세요.&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 최초 설정 &amp;amp; 인증&lt;/h3&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;# 처음 실행 후, 대화 중 슬래시 명령으로 프로바이더(API 키) 연결
kilo
/connect

# CLI에서 직접 로그인/인증 관리
kilo auth login              # 프로바이더 로그인 (대화형 선택)
kilo auth login --provider anthropic --method apikey
kilo auth list                # 등록된 프로바이더&amp;middot;자격증명 목록
kilo auth logout              # 로그아웃&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Kilo는 500개 이상의 모델&amp;middot;60개 이상의 프로바이더를 지원하며, 자체 Kilo Gateway를 통해 마크업 없이 프로바이더 원가로 과금됩니다. API 키를 직접 등록해서 써도 되고, Kilo 계정으로 로그인해서 Gateway를 통해 써도 됩니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 기본 실행 모드&lt;/h3&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;# 현재 디렉토리에서 대화형 TUI 시작
kilo
# 특정 프로젝트 경로에서 시작
kilo /path/to/project

# 프롬프트 하나만 던지고 결과 받기 (비대화형)
kilo run &quot;signup 폼에 입력값 검증 추가해줘&quot;
# 모델을 provider/model 형식으로 직접 지정
kilo run -m anthropic/claude-sonnet-4-20250514 &quot;utils.ts 리팩터링해줘&quot;
# 특정 에이전트 지정
kilo run --agent plan &quot;캐싱 레이어 설계해줘&quot;
# 파일을 컨텍스트로 첨부
kilo run -f src/auth.ts -f src/middleware.ts &quot;보안 관점에서 리뷰해줘&quot;
# JSON(raw 이벤트) 형식으로 출력 (파이프라인/스크립트용)
kilo run --format json &quot;테스트 결과 요약해줘&quot;

# 마지막 세션 이어서 작업 (같은 워크스페이스 기준)
kilo --continue
kilo -c
# 이어서 작업하되 새 분기로 포크
kilo run --continue --fork &quot;에러 핸들링도 추가해줘&quot;

# 헤드리스 서버 실행 후 원격에서 붙기
kilo serve --port 4096
kilo attach http://localhost:4096
# 서버까지 띄우고 브라우저 콘솔로 바로 열기
kilo web&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;notice&quot;&gt;&lt;code&gt;--continue&lt;/code&gt;는 자동 모드(&lt;code&gt;--auto&lt;/code&gt;)나 프롬프트 인자와 함께 쓸 수 없고, 해당 워크스페이스에 이전 세션이 없으면 오류로 종료됩니다.&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 전체 최상위(top-level) 명령어&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;명령어&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo [project]&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;해당 경로에서 TUI 시작&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo run [message]&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;메시지와 함께 비대화형 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo attach &amp;lt;url&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;실행 중인 kilo 서버에 접속&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo serve&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;헤드리스 서버 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo web&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;서버 실행 + 웹 인터페이스 오픈&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo acp&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Agent Client Protocol 서버 실행 (에디터 연동용)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo mcp&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;MCP 서버 추가/목록/OAuth 인증 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo auth&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;프로바이더/자격증명 관리 (login, logout, list)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo agent&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;에이전트 생성(create) 및 목록(list) 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo models [provider]&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;사용 가능한 모델 목록 (비용 등 메타데이터 포함 가능)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo roll-call &amp;lt;filter&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;정규식으로 필터링한 모델들을 일괄 연결성&amp;middot;지연시간 테스트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo profile&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Kilo 계정 프로필 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo stats&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;토큰 사용량&amp;middot;비용 통계 확인 (기간/도구/모델/프로젝트별 필터)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo session&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;세션 목록 조회(list), 삭제(delete)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo export [sessionID]&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;세션 데이터를 JSON으로 내보내기 (민감정보 마스킹 옵션)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo import &amp;lt;file&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;JSON 파일 또는 공유 URL에서 세션 가져오기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo github&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;GitHub 에이전트 설치(install)/실행(run)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo pr &amp;lt;number&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;GitHub PR 브랜치를 체크아웃하고 바로 kilo 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo remote&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;실시간 세션 릴레이용 원격 연결 활성화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo daemon&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;로컬 kilo 데몬 시작/상태확인/중지/재시작&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo console&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;로컬 Kilo Console(설정용 웹 UI) 열기/중지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo db&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;세션 DB용 SQLite 셸/쿼리/마이그레이션 도구&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo config check&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;설정 파일의 경고&amp;middot;오류 검사&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo plugin &amp;lt;module&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;npm 모듈 형태의 플러그인 설치 및 설정 반영&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo debug&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;LSP&amp;middot;ripgrep&amp;middot;파일시스템&amp;middot;스냅샷 등 진단 도구 모음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo upgrade / uninstall&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;버전 업그레이드 / 완전 제거&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo help [command]&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;전체 CLI 레퍼런스 출력 (&lt;code&gt;--all&lt;/code&gt;로 전체, md/text 형식 선택)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kilo completion&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;셸 자동완성 스크립트 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&quot;tip&quot;&gt;각 명령어의 세부 옵션은 &lt;code&gt;kilo &amp;lt;command&amp;gt; --help&lt;/code&gt;로 바로 확인할 수 있고, 전체 옵션을 한 번에 보려면 &lt;code&gt;kilo help --all&lt;/code&gt;을 사용하세요.&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. 슬래시 명령어 총정리 (대화형 모드 전용)&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;세션 관리&lt;/h4&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;명령어&lt;/th&gt;
&lt;th&gt;별칭&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/sessions&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/resume&lt;/code&gt;, &lt;code&gt;/continue&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;세션 전환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/new&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/clear&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;새 세션 시작&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/share&lt;/code&gt; / &lt;code&gt;/unshare&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;세션 공유 / 공유 해제&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/rename&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;세션 이름 변경&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/timeline&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;특정 메시지 지점으로 이동&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/fork&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;특정 메시지에서 세션 분기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/compact&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/summarize&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;세션 컨텍스트 요약/압축&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/undo&lt;/code&gt; / &lt;code&gt;/redo&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;직전 메시지 되돌리기 / 다시 적용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/copy&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;최신 에이전트 응답 복사&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/copy-session&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;세션 전체 대화 복사&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/export&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;세션 대화 내보내기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/timestamps&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/toggle-timestamps&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;타임스탬프 표시/숨김&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/thinking&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/toggle-thinking&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;추론(thinking) 블록 표시/숨김&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;에이전트 &amp;amp; 모델 / 프로바이더&lt;/h4&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;명령어&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/models&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;사용할 모델 전환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/agents&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;사용할 에이전트(모드) 전환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/mcps&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;연결된 MCP 서버 켜기/끄기 토글&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/connect&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;프로바이더(API 자격증명) 최초 연결/추가&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;시스템 / Kilo Gateway&lt;/h4&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;명령어&lt;/th&gt;
&lt;th&gt;별칭&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/status&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;현재 세션 상태 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/themes&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;테마 전환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/editor&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;외부 에디터로 열기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/exit&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/quit&lt;/code&gt;, &lt;code&gt;/q&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;세션 종료&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/profile&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/me&lt;/code&gt;, &lt;code&gt;/whoami&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Kilo Gateway 프로필 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/teams&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/team&lt;/code&gt;, &lt;code&gt;/org&lt;/code&gt;, &lt;code&gt;/orgs&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Kilo Gateway 팀(조직) 전환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/remote&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;Cloud Agent 원격 접속용 리모트 모드 토글&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;내장 명령 &amp;amp; 로컬 코드 리뷰&lt;/h4&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;명령어&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/init&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;프로젝트용 AGENTS.md 생성/업데이트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/review&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;스테이징/언스테이징/추적되지 않은 변경사항 리뷰 (인자 없을 때 기본 동작)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/review uncommitted [지침]&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;커밋되지 않은 변경사항을 추가 지침과 함께 리뷰&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/review branch [base] [지침]&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;현재 브랜치를 base와 비교해서 리뷰&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/review &amp;lt;commit-hash&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;특정 커밋 리뷰&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/review &amp;lt;PR URL 또는 번호&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;PR 리뷰&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. 에이전트(모드) 구조&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Kilo는 작업 성격에 따라 서로 다른 &quot;에이전트&quot;로 전환해서 씁니다. Orchestrator는 지원 중단 예정이며, Code/Plan/Debug처럼 풀 툴 액세스를 가진 에이전트가 이제 네이티브로 서브에이전트를 호출할 수 있어 별도 오케스트레이터가 필요 없습니다.&lt;/p&gt;
&lt;div class=&quot;pros-cons&quot;&gt;
&lt;div&gt;&lt;b&gt;Code (기본값)&lt;/b&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자연어 지시로 여러 파일에 걸쳐 코드를 생성&amp;middot;수정. 셸 명령 실행 가능.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Plan&lt;/b&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드를 작성하기 전에 구조&amp;middot;구현 계획을 먼저 세움. 구 Architect에 대응.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Ask&lt;/b&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일을 건드리지 않고 코드베이스에 대한 질문에 답변. 탐색&amp;middot;학습용.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Debug&lt;/b&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에러를 읽고 원인을 추적해서 수정안을 제안.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;notice&quot;&gt;공식 CLI/VSCode 확장에는 별도의 &quot;Review 에이전트&quot;가 내장되어 있지 않습니다. 코드 리뷰는 Code 에이전트나 커스텀 에이전트, 또는 위에서 소개한 &lt;code&gt;/review&lt;/code&gt; 슬래시 명령(로컬 코드 리뷰 워크플로)으로 처리합니다.&lt;/div&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;# CLI에서 에이전트 목록 확인
kilo agent list
# 커스텀 서브에이전트 생성 (읽기/grep/glob만 허용하는 보안 리뷰어 예시)
kilo agent create \
  --path .kilo \
  --description &quot;보안 취약점 리뷰 전용 에이전트&quot; \
  --mode subagent \
  --tools &quot;read,grep,glob&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;커스텀 에이전트는 YAML 프론트매터가 있는 마크다운 파일로도 정의할 수 있습니다. 파일명(확장자 제외)이 곧 에이전트 이름이 됩니다.&lt;/p&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;&amp;lt;code&quot;&amp;gt;# .kilo/agent/reviewer.md
---
description: 코드 품질과 베스트 프랙티스를 리뷰
mode: subagent
model: anthropic/claude-sonnet-4-20250514
temperature: 0.1
permission:
  edit: deny
  bash: deny
---
당신은 코드 리뷰어입니다. 다음을 분석하세요:
- 코드 품질과 베스트 프랙티스
- 잠재적 버그와 엣지 케이스
- 성능에 미치는 영향
- 보안 고려사항
직접 수정하지 말고 건설적인 피드백만 제공하세요.&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;7. 권한(Permission) 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Kilo는 각 도구 호출을 &lt;code&gt;allow&lt;/code&gt;(자동 실행) / &lt;code&gt;ask&lt;/code&gt;(승인 요청) / &lt;code&gt;deny&lt;/code&gt;(차단) 셋 중 하나로 판정합니다. 전역 설정과 세부 규칙을 조합해서 씁니다.&lt;/p&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;&amp;lt;code&quot;&amp;gt;# kilo.jsonc
{
  &quot;$schema&quot;: &quot;https://app.kilo.ai/config.json&quot;,
  &quot;permission&quot;: {
    &quot;*&quot;: &quot;ask&quot;,
    &quot;bash&quot;: &quot;allow&quot;,
    &quot;edit&quot;: &quot;deny&quot;
  }
}

# 더 세밀하게: 도구별로 패턴 매칭 규칙 지정 (뒤에 오는 규칙이 우선)
{
  &quot;$schema&quot;: &quot;https://app.kilo.ai/config.json&quot;,
  &quot;permission&quot;: {
    &quot;bash&quot;: {
      &quot;*&quot;: &quot;ask&quot;,
      &quot;git *&quot;: &quot;allow&quot;,
      &quot;npm *&quot;: &quot;allow&quot;,
      &quot;rm *&quot;: &quot;deny&quot;,
      &quot;grep *&quot;: &quot;allow&quot;
    },
    &quot;edit&quot;: {
      &quot;*&quot;: &quot;deny&quot;,
      &quot;packages/web/src/content/docs/*.mdx&quot;: &quot;allow&quot;
    },
    &quot;external_directory&quot;: {
      &quot;~/projects/personal/**&quot;: &quot;allow&quot;
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;패턴은 &lt;code&gt;*&lt;/code&gt;(0개 이상의 임의 문자), &lt;code&gt;?&lt;/code&gt;(임의의 문자 1개) 와일드카드를 지원하고, &lt;code&gt;~&lt;/code&gt; 또는 &lt;code&gt;$HOME&lt;/code&gt;으로 홈 디렉토리를 참조할 수 있습니다. &lt;code&gt;external_directory&lt;/code&gt; 규칙을 쓰면 작업 디렉토리 밖 경로도 read/edit/glob/grep 등 도구가 접근하도록 허용할 수 있습니다. Ask/Plan 모드에서는 &lt;code&gt;external_directory&lt;/code&gt; allow 규칙이 있어도 그 모드가 원래 막는 쓰기&amp;middot;변경 작업까지 열어주지는 않습니다.&lt;/p&gt;
&lt;div class=&quot;tip&quot;&gt;대화형 모드에서 실행 승인 요청은 계층적으로 표시됩니다. 예를 들어 &lt;code&gt;git status --short --branch&lt;/code&gt; 실행을 승인할 때 &quot;Run Command&quot;뿐 아니라 &quot;Always run git&quot;, &quot;Always run git status&quot; 등 더 넓은 패턴으로도 승인할 수 있고, 선택한 패턴만 &lt;code&gt;permission.bash&lt;/code&gt;에 allow 규칙으로 저장됩니다.&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;8. 자동/비대화형 실행 (CI 연동)&lt;/h3&gt;
&lt;pre class=&quot;bash&quot;&gt;&lt;code&gt;# 완전 자동 모드로 실행 (모든 승인 프롬프트 생략)
kilo run --auto &quot;기능 X를 구현해줘&quot;

# GitHub Actions 예시
# - name: Run Kilo Code
#   run: kilo run &quot;새 기능을 구현해줘&quot; --auto

# 명시적으로 거부되지 않은 것만 자동 승인 (완전 자동보다는 한 단계 보수적, 여전히 위험할 수 있음)
kilo run --dangerously-skip-permissions &quot;린트 에러 고쳐줘&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;--auto&lt;/code&gt;는 모든 권한 프롬프트를 비활성화하고 에이전트가 확인 없이 모든 작업을 실행하도록 합니다. 자동 모드에서 에이전트가 후속 질문을 하면 &quot;사용자가 결정할 수 없으니 자율적으로 판단하라&quot;는 응답이 자동으로 전달되고, 작업이 끝나거나 타임아웃되면 CLI가 자동 종료됩니다.&lt;/p&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;종료 코드&lt;/th&gt;
&lt;th&gt;의미&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;성공 (작업 완료)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;124&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;타임아웃 (제한 시간 초과)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;오류 (초기화 또는 실행 실패)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;9. 설정 파일 &amp;amp; 위치&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;범위&lt;/th&gt;
&lt;th&gt;경로&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;전역&lt;/td&gt;
&lt;td&gt;&lt;code&gt;~/.config/kilo/kilo.json[c]&lt;/code&gt; (레거시 &lt;code&gt;opencode.json[c]&lt;/code&gt;도 인식)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;프로젝트&lt;/td&gt;
&lt;td&gt;&lt;code&gt;./kilo.json[c]&lt;/code&gt;, &lt;code&gt;./.kilo/&lt;/code&gt; 내부 설정 (레거시 &lt;code&gt;./.kilocode/&lt;/code&gt;도 인식)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TUI 설정(테마&amp;middot;알림&amp;middot;단축키)&lt;/td&gt;
&lt;td&gt;&lt;code&gt;~/.config/kilo/tui.jsonc&lt;/code&gt; (프로젝트 단위는 &lt;code&gt;.kilo/tui.json[c]&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로젝트 설정이 전역 설정보다 우선 적용됩니다.&lt;/p&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;&amp;lt;code&quot;&amp;gt;# kilo.jsonc 주요 옵션
{
  &quot;$schema&quot;: &quot;https://app.kilo.ai/config.json&quot;,
  &quot;model&quot;: &quot;anthropic/claude-sonnet-4-20250514&quot;,
  &quot;provider&quot;: {
    &quot;anthropic&quot;: {
      &quot;options&quot;: { &quot;apiKey&quot;: &quot;{env:ANTHROPIC_API_KEY}&quot; }
    }
  },
  &quot;instructions&quot;: [&quot;CONTRIBUTING.md&quot;, &quot;.cursor/rules/*.md&quot;],
  &quot;formatter&quot;: true,
  &quot;lsp&quot;: false,
  &quot;mcp&quot;: { /* MCP 서버 설정 */ }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주요 키: &lt;code&gt;model&lt;/code&gt;(기본 모델, &lt;code&gt;provider_id/model_id&lt;/code&gt; 형식), &lt;code&gt;provider&lt;/code&gt;(프로바이더별 API 키&amp;middot;베이스URL&amp;middot;커스텀 모델), &lt;code&gt;permission&lt;/code&gt;(권한 규칙), &lt;code&gt;instructions&lt;/code&gt;(추가로 읽어들일 지침 파일 경로), &lt;code&gt;formatter&lt;/code&gt;/&lt;code&gt;lsp&lt;/code&gt;(포매터&amp;middot;언어서버 on/off 또는 세부 설정), &lt;code&gt;disabled_providers&lt;/code&gt;/&lt;code&gt;enabled_providers&lt;/code&gt;.&lt;/p&gt;
&lt;div class=&quot;tip&quot;&gt;환경 변수로도 오버라이드 가능합니다: &lt;code&gt;KILO_PROVIDER&lt;/code&gt;(활성 프로바이더 지정), kilocode 프로바이더는 &lt;code&gt;KILOCODE_&amp;lt;FIELD&amp;gt;&lt;/code&gt;, 그 외 프로바이더는 &lt;code&gt;KILO_&amp;lt;FIELD&amp;gt;&lt;/code&gt; 형식(예: &lt;code&gt;KILO_API_KEY&lt;/code&gt; &amp;rarr; &lt;code&gt;apiKey&lt;/code&gt;).&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;10. AGENTS.md &amp;amp; 프로젝트 컨텍스트&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AGENTS.md는 Kilo Code, Cursor, Windsurf 등 여러 AI 코딩 도구가 공통으로 지원하는 표준 규칙 파일입니다. 존재하면 항상 자동으로 로드되며(개별적으로 끌 수 없음), 우선순위를 더 높이고 싶으면 &lt;code&gt;instructions&lt;/code&gt; 설정 키나 에이전트별 프롬프트를 사용합니다. 구버전의 Memory Bank(&lt;code&gt;.kilocode/rules/memory-bank/&lt;/code&gt;의 context.md/brief.md/history.md)를 쓰고 있었다면, 그 내용을 AGENTS.md로 옮기는 마이그레이션이 권장됩니다.&lt;/p&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;&amp;lt;code&quot;&amp;gt;# 대화 중 AGENTS.md 생성/업데이트
/init&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;11. MCP 서버 연동&lt;/h3&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;&amp;lt;code&quot;&amp;gt;# MCP 서버 추가 (대화형 진행)
kilo mcp add
# 연결된 MCP 서버와 상태 목록
kilo mcp list
# OAuth 기반 MCP 서버 인증
kilo mcp auth 
kilo mcp auth list
# 인증 해제 / 연결 디버깅
kilo mcp logout 
kilo mcp debug 

# 대화 중에는 슬래시 명령으로 토글
/mcps&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;12. 세션 관리 &amp;amp; 원격 접속&lt;/h3&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;&amp;lt;code&quot;&amp;gt;# 세션 목록 (최근 N개, 검색, 전체 프로젝트)
kilo session list -n 10 --search &quot;auth&quot; --all
# 세션 삭제
kilo session delete 
# 세션 내보내기/가져오기
kilo export  --sanitize
kilo import ./session.json

# Cloud Agents 웹에서 로컬 세션을 원격으로 이어받기
/remote
# 또는 기본값으로 상시 활성화
# ~/.config/kilo/config.json
# { &quot;remote_control&quot;: true }&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;notice&quot;&gt;원격 모드를 켜면 같은 Kilo 계정에 접근할 수 있는 누구든 내 컴퓨터로 메시지를 보낼 수 있습니다. 신뢰할 수 있는 환경에서만 활성화하세요.&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;13. 진단 / 디버깅 도구&lt;/h3&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;&amp;lt;code&quot;&amp;gt;# 실제 적용 중인 설정 확인
kilo debug config
kilo config check

# 파일시스템/검색 관련 디버깅
kilo debug rg tree
kilo debug rg search &quot;TODO&quot; --glob &quot;*.ts&quot;
kilo debug file tree src/

# 에이전트 설정 상세 확인
kilo debug agent code

# 전역 경로(데이터/설정/캐시/상태) 확인
kilo debug paths
# 시작 시간 프로파일링
kilo debug startup&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;14. 유용한 조합 정리&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;상황&lt;/th&gt;
&lt;th&gt;추천 명령/설정&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;처음 설치 후 프로바이더 연결&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kilo&lt;/code&gt; 실행 &amp;rarr; &lt;code&gt;/connect&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;설계부터 하고 코드는 나중에&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kilo run --agent plan &quot;...&quot;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;코드베이스 탐색만, 파일은 건드리지 않기&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/agents&lt;/code&gt;로 Ask 전환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CI/CD에서 완전 자동 실행&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kilo run --auto &quot;...&quot;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PR을 로컬로 가져와 바로 작업&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kilo pr &amp;lt;PR번호&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;푸시 전에 로컬에서 코드 리뷰&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/review&lt;/code&gt; 또는 &lt;code&gt;/review branch main&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;토큰 사용량&amp;middot;비용 파악&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kilo stats --days 30 --models&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;설정이 꼬였을 때&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kilo config check&lt;/code&gt;, &lt;code&gt;kilo debug config&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;외부 도구(GitHub 등) 연동&lt;/td&gt;
&lt;td&gt;&lt;code&gt;kilo mcp add&lt;/code&gt; 후 &lt;code&gt;kilo mcp list&lt;/code&gt;로 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;휴대폰/웹에서 로컬 세션 확인&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/remote&lt;/code&gt; 후 Cloud Agents 대시보드 접속&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;마무리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Kilo CLI는 Codex CLI와 달리 500개 이상 모델을 자유롭게 오가며 쓰는 게 핵심 특징이고, 권한 시스템도 allow/ask/deny 세 값과 와일드카드 패턴으로 비교적 단순하게 설계되어 있습니다. 처음엔 &lt;code&gt;/connect&lt;/code&gt;로 프로바이더를 연결하고 Code 에이전트 기본값으로 시작한 뒤, AGENTS.md와 &lt;code&gt;permission&lt;/code&gt; 설정을 프로젝트에 맞게 다듬어가는 흐름을 추천합니다.&lt;/p&gt;
&lt;/div&gt;</description>
      <category>개발 이야기/IT</category>
      <category>AGENTS.md</category>
      <category>ai코딩에이전트</category>
      <category>CLI도구</category>
      <category>Kilo CLI</category>
      <category>Kilo Code</category>
      <category>KiloCode</category>
      <category>MCP</category>
      <category>오픈소스ai</category>
      <category>코딩어시스턴트</category>
      <category>터미널ai</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/169</guid>
      <comments>https://infotake.tistory.com/169#entry169comment</comments>
      <pubDate>Sun, 5 Jul 2026 20:12:27 +0900</pubDate>
    </item>
    <item>
      <title>Claude Code CLI 명령어 총정리</title>
      <link>https://infotake.tistory.com/168</link>
      <description>&lt;div&gt;
&lt;style&gt;
 pre {
   background: #111 !important;
 }
.post-wrap{max-width:860px;margin:0 auto;padding:20px;font-size:16px;line-height:1.85;color:#222;font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,&quot;Noto Sans KR&quot;,&quot;Apple SD Gothic Neo&quot;,sans-serif}
.post-wrap h2{font-size:1.7rem;margin:42px 0 18px;border-bottom:3px solid #222;padding-bottom:10px}
.post-wrap h3{font-size:1.35rem;margin:34px 0 14px}
.post-wrap h4{font-size:1.1rem;margin:24px 0 10px;color:#333}
.post-wrap p{margin:10px 0}
.post-wrap ul,.post-wrap ol{padding-left:22px}
.post-wrap table{width:100%;border-collapse:collapse;margin:18px 0;font-size:15px}
.post-wrap th,.post-wrap td{border:1px solid #ddd;padding:10px;vertical-align:top}
.post-wrap th{background:#f5f7fa}
.post-wrap pre{background:#111;color:#f8f8f2;padding:16px;border-radius:10px;overflow-x:auto;margin:16px 0}
.post-wrap code{font-family:Consolas,Monaco,monospace;font-size:14px}
.notice{background:#fff7e6;border-left:5px solid #f5a623;padding:14px 16px;margin:18px 0;border-radius:6px}
.tip{background:#eef8ff;border-left:5px solid #2196f3;padding:14px 16px;margin:18px 0;border-radius:6px}
.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
.pros-cons&gt;div{border:1px solid #ddd;border-radius:10px;padding:16px;background:#fafafa}
.capture{border:1px dashed #aaa;background:#fafafa;color:#555;text-align:center;padding:14px;margin:22px 0;border-radius:8px}
@media(max-width:640px){.post-wrap{padding:14px;font-size:15px}.pros-cons{grid-template-columns:1fr}.post-wrap h2{font-size:1.45rem}.post-wrap h3{font-size:1.2rem}}
pre {
  background-color: #111;
&lt;/style&gt;
&lt;/div&gt;
&lt;div class=&quot;post-wrap&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Anthropic Claude Code의 설치부터 CLI 플래그, 슬래시 명령어, 설정 파일, 훅(Hooks), MCP, 백그라운드 에이전트까지 세부 항목 하나하나 빠짐없이 정리했습니다. 대분류만 훑고 지나가지 않고, 각 카테고리 안에 실제로 존재하는 명령어와 옵션까지 다 풀어서 담았습니다.&lt;/p&gt;
&lt;div class=&quot;notice&quot;&gt;Claude Code는 매주 단위로 업데이트되는 도구라 명령어/플래그가 계속 추가&amp;middot;변경됩니다. 세션 안에서 &lt;code&gt;/&lt;/code&gt;만 입력하면 지금 설치된 버전에서 실제 지원하는 명령어 목록을 바로 확인할 수 있으니, 이 글과 함께 항상 대조해보세요.&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 설치 및 인증&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1-1. 설치 방법 (우선순위 순)&lt;/h3&gt;
&lt;pre class=&quot;properties&quot;&gt;&lt;code&gt;# 1) 네이티브 바이너리 (권장)
curl -fsSL https://claude.ai/install.sh | bash

# 2) Homebrew (macOS)
brew install --cask claude-code

# 3) npm (구버전 방식, claude install로 마이그레이션 권장)
npm install -g @anthropic-ai/claude-code

# 버전 확인 / 업데이트
claude --version
claude update&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1-2. 인증&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;명령어&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;claude auth login&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;로그인 또는 계정 전환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;claude auth status&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;현재 인증 상태 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;claude auth logout&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;저장된 인증 정보 삭제&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. CLI 플래그 (터미널에서 실행할 때)&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2-1. 세션 시작/제어&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;플래그&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--model &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;사용할 모델 지정 (opus / sonnet / haiku / opusplan / fable 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--effort &amp;lt;level&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;추론 강도 지정 (모델별로 지원 레벨 다름, 예: xhigh)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--permission-mode &amp;lt;mode&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;시작할 승인 모드 (plan / acceptEdits / auto / bypassPermissions / dontAsk / manual)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;-p, --print &amp;lt;prompt&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;비대화형 모드. 한 번만 실행하고 결과 출력 후 종료&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;-c, --continue&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;현재 디렉토리의 가장 최근 세션 이어서 시작&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;-r, --resume &amp;lt;name|id&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;이름 또는 세션 ID로 특정 세션 재개&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--resume --fork-session&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;재개하되 새 세션 ID로 분기 (원본 세션은 그대로 보존)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--from-pr &amp;lt;번호&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;특정 Pull Request와 연결된 세션 재개&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;-n, --name &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;세션에 이름 붙이기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--cd &amp;lt;path&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;세션 시작 시 작업 루트 디렉토리 지정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--add-dir &amp;lt;path&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;쓰기 가능한 추가 디렉토리 확장 (반복 사용 가능)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--agents '&amp;lt;json&amp;gt;'&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;서브에이전트를 JSON 객체로 정의 (설명/프롬프트/도구/모델 지정)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--agent &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;특정 서브에이전트 지정해서 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--settings &amp;lt;file|json&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;이번 실행에만 적용할 설정 오버라이드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--mcp-config &amp;lt;file&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;외부 파일에서 MCP 서버 설정 불러오기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--plugin-dir &amp;lt;path&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;로컬 플러그인 디렉토리 지정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--safe-mode&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;모든 커스터마이징(설정/훅/플러그인) 비활성화 후 트러블슈팅용으로 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--dangerously-skip-permissions&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;모든 승인 프롬프트 생략 (격리 환경 전용)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2-2. 비대화형(print) 모드 전용 옵션&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;플래그&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--max-turns &amp;lt;n&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;에이전트 턴 수 제한 (CI 안전장치)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--max-budget-usd &amp;lt;금액&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;비용 상한선 지정, 초과 전에 중단&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--no-session-persistence&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;세션 영속화 생략 (일회성 CI/CD 실행에 적합)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--output-format &amp;lt;format&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;출력 형식 지정 (예: &lt;code&gt;json&lt;/code&gt;, &lt;code&gt;stream-json&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--input-format stream-json&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;스트리밍 JSON 입력 사용 (SDK/자동화용)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--session-id &amp;lt;uuid&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;고정된 세션 ID로 실행 (UUID 형식 필요)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--debug&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;디버그 모드 (API 호출, 도구 사용, 타이밍 로그)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--debug &quot;&amp;lt;카테고리&amp;gt;&quot;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;카테고리 필터링해서 디버그 (예: &lt;code&gt;&quot;api,hooks&quot;&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--debug-file &amp;lt;path&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;디버그 출력을 파일로 저장&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2-3. 백그라운드 에이전트&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;명령어&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;claude --bg &quot;&amp;lt;작업내용&amp;gt;&quot;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;백그라운드 에이전트 실행, 세션 ID 즉시 반환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;claude --bg --exec '&amp;lt;셸명령&amp;gt;'&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;세션이 아닌 단일 셸 명령을 백그라운드 잡으로 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;claude --bg --agent &amp;lt;name&amp;gt; &quot;&amp;lt;작업내용&amp;gt;&quot;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;특정 서브에이전트를 백그라운드로 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;claude agents&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Agent View 열기 (실행 중/대기/완료 세션 모니터링)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;claude agents --cwd &amp;lt;path&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;특정 디렉토리로 범위 한정된 Agent View&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;claude agents --json&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;백그라운드 세션 목록을 JSON으로 출력 (스크립팅용)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 슬래시 명령어 (세션 내부)&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3-1. 프로젝트 설정 / 메모리&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;명령어&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/init&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;CLAUDE.md 초안 생성 (프로젝트 메모리 시작점)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/memory&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;저장된 프로젝트 메모리 확인/편집&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/team-onboarding&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;CLAUDE.md, 스킬, 서브에이전트, 훅, 최근 작업 흐름을 분석해 팀 온보딩 문서 자동 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3-2. 컨텍스트 관리&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;명령어&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/compact [focus]&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;대화 내용을 요약해서 컨텍스트 절약. 특정 항목을 남기라고 지시 가능 (예: &lt;code&gt;/compact 인증 모듈과 현재 테스트 실패만 유지&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/clear&lt;/code&gt; (별칭 &lt;code&gt;/reset&lt;/code&gt;, &lt;code&gt;/new&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;대화 기록 전체 삭제 (CLAUDE.md, 스킬, 메모리는 유지). 이름을 붙여서 나중에 &lt;code&gt;/resume&lt;/code&gt;으로 찾을 수 있음: &lt;code&gt;/clear payment-refactor&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/context&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;현재 컨텍스트 사용량 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/cd &amp;lt;path&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;세션 중 작업 디렉토리 이동 (프롬프트 캐시 warmth 유지)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3-3. 계획 / 검토 / 되돌리기&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;명령어&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/plan &amp;lt;작업&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Plan 모드로 전환. 실행 전 계획부터 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/diff&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;지금까지의 변경 사항(diff) 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/rewind&lt;/code&gt; (단축키 &lt;code&gt;Esc&lt;/code&gt; 두 번)&lt;/td&gt;
&lt;td&gt;이전 체크포인트로 되돌리기. 코드만/대화만/둘 다 선택 복원 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/code-review [--fix] [effort]&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;별도 에이전트가 코드 리뷰. &lt;code&gt;--fix&lt;/code&gt;는 발견한 문제를 바로 적용, effort로 &lt;code&gt;/code-review high&lt;/code&gt;처럼 강도 지정 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/security-review&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;보안 관점 코드 리뷰&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/simplify&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;정리/단순화 전용 리뷰 (버그 탐색은 안 하고 리팩터링/효율만)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3-4. 포커스 / 목표 지속&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;명령어&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/goal &amp;lt;완료조건&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;여러 턴에 걸쳐 Claude가 향해 갈 완료 조건을 설정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/loop &amp;lt;간격&amp;gt; &amp;lt;작업|/명령어&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;지정 간격으로 세션 내에서 반복 실행 (예: &lt;code&gt;/loop 5m check if the deploy is complete&lt;/code&gt;). 각 반복은 독립된 컨텍스트라 대화가 비대해지지 않음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/btw &amp;lt;내용&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;메인 스레드를 오염시키지 않고 곁가지 질문 처리&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3-5. 탐색 / 세션 관리&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;명령어&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/resume [session]&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;세션 피커를 열거나, 이름/ID로 바로 재개&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/rename&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;현재 세션 이름 다시 짓기 (인자 없으면 대화 맥락에서 자동 생성)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/branch [name]&lt;/code&gt; (별칭 &lt;code&gt;/fork&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;현재 지점에서 대화 분기, 원래 흐름은 그대로 보존&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/background&lt;/code&gt; (별칭 &lt;code&gt;/bg&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;현재 세션 전체를 백그라운드로 분리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/tasks&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;현재 실행 중인 백그라운드 작업 목록 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3-6. 권한 / 모델 / 비용&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;명령어&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/permissions&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;승인 모드 변경 (plan / acceptEdits / auto / bypassPermissions / dontAsk / manual)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/model &amp;lt;alias&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;모델 전환. 예: &lt;code&gt;/model opus&lt;/code&gt;, &lt;code&gt;/model sonnet&lt;/code&gt;, &lt;code&gt;/model haiku&lt;/code&gt;, &lt;code&gt;/model opusplan&lt;/code&gt;, &lt;code&gt;/model fable&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/effort &amp;lt;level&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;추론 강도 조절 (모델에 따라 지원 레벨이 다름, 예: xhigh는 Opus 계열 전용인 경우가 많음)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/usage&lt;/code&gt; (구 &lt;code&gt;/cost&lt;/code&gt;, &lt;code&gt;/stats&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;토큰 사용량, 요금제 한도, 비용 통합 대시보드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/status&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;현재 모델, 승인 정책, 연결된 MCP 서버, 도구 상태 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/doctor&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;환경을 실제로 점검하고 실패 원인을 구체적으로 리포트&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&quot;tip&quot;&gt;&lt;b&gt;/status&lt;/b&gt;와 &lt;b&gt;/doctor&lt;/b&gt;의 차이: &lt;code&gt;/status&lt;/code&gt;는 현재 설정값을 &quot;읽어서 보여주기&quot;만 하고, &lt;code&gt;/doctor&lt;/code&gt;는 실제로 환경을 &quot;테스트&quot;해서 문제를 찾아냅니다. 뭔가 안 맞는데 원인을 모르겠으면 doctor부터 돌려보세요.&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3-7. MCP / 플러그인 / 스킬 / 서브에이전트&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;명령어&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/mcp&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;연결된 MCP 서버 관리 및 도구 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/mcp__[server]__[prompt]&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;연결된 MCP 서버가 노출하는 프롬프트가 슬래시 명령어 형태로 자동 등록됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/plugins&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;설치된 플러그인 확인/관리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/reload-skills&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;재시작 없이 스킬 다시 스캔&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/hooks&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;등록된 훅 확인, HTTP 웹훅으로 외부 CI 트리거 설정 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/install-github-app&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;공식 Claude GitHub Actions 통합 설정&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3-8. 기타 / 재미 요소&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;명령어&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/theme&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;테마 선택기 열기, 커스텀 테마 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/release-notes&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;최신 릴리즈 노트 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/buddy&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;터미널 펫 컴패니언 소환 (pet / card / mute / off)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/workflows&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;실행 중/완료된 dynamic workflow 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. MCP 서버 관리 (터미널 명령)&lt;/h2&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;# MCP 서버 추가 (명령 기반)
claude mcp add &amp;lt;name&amp;gt; &amp;lt;command&amp;gt; [args...]

# JSON 설정으로 추가
claude mcp add-json &amp;lt;name&amp;gt; '{&quot;command&quot;: &quot;npx&quot;, &quot;args&quot;: [&quot;-y&quot;, &quot;@server/pkg&quot;]}'

# SSE 전송 방식
claude mcp add --transport sse &amp;lt;name&amp;gt; &amp;lt;url&amp;gt;

# HTTP 전송 방식
claude mcp add --transport http &amp;lt;name&amp;gt; &amp;lt;url&amp;gt;

# 스코프 지정 + 환경변수 전달 (예: GitHub)
claude mcp add github -s user \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=your-token \
  -- npx -y @modelcontextprotocol/server-github

# 설치된 서버 목록
claude mcp list

# 서버 제거
claude mcp remove &amp;lt;name&amp;gt;

# 설치 없이 테스트 실행
claude mcp run &amp;lt;name&amp;gt;

# 로그인/로그아웃 (인증 필요한 서버)
claude mcp login &amp;lt;name&amp;gt;
claude mcp logout &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;notice&quot;&gt;Slack처럼 Dynamic Client Registration을 지원하지 않는 MCP 서버는 추가할 때 &lt;code&gt;--client-id&lt;/code&gt;, &lt;code&gt;--client-secret&lt;/code&gt;을 같이 지정해야 합니다.&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. 승인 모드 (Permission Modes) 상세&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;Shift+Tab&lt;/code&gt;으로 세션 중 바로 순환 전환할 수 있습니다.&lt;/p&gt;
&lt;div class=&quot;pros-cons&quot;&gt;
&lt;div&gt;&lt;b&gt;Manual (default)&lt;/b&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 행동마다 승인 요청. CLI 표기상 config 값은 &lt;code&gt;default&lt;/code&gt;이며 &lt;code&gt;manual&lt;/code&gt;이 별칭으로 쓰임.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Accept Edits&lt;/b&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일 생성/수정과 기본 파일시스템 명령(mkdir, mv, cp, rm 등)은 자동 승인. 워크스페이스 밖 경로나 그 외 명령은 여전히 확인.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Plan&lt;/b&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;읽기 전용. 계획만 세우고 승인 전까지 아무것도 실행하지 않음.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Auto&lt;/b&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;거의 다 자동 실행하되, 별도 안전 분류기(classifier)가 메인 브랜치 푸시, 프로덕션 배포, 외부 데이터 전송 같은 위험한 행동만 걸러서 차단.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Don't Ask&lt;/b&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사전 승인된 도구만 실행하고, 목록에 없으면 조용히 거부. 잠긴 CI/스크립트 환경에 적합.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Bypass Permissions&lt;/b&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실상 전부 자동 승인. rm -rf / 같은 일부 안전장치만 남고, 프롬프트 인젝션에 대한 방어는 없음. 격리된 컨테이너/VM에서만 사용 권장.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;보호 경로 (Protected Paths)&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;모드&lt;/th&gt;
&lt;th&gt;보호 경로 쓰기 동작&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;default, acceptEdits, plan&lt;/td&gt;
&lt;td&gt;승인 요청&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;auto&lt;/td&gt;
&lt;td&gt;분류기로 라우팅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;dontAsk&lt;/td&gt;
&lt;td&gt;거부&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;bypassPermissions&lt;/td&gt;
&lt;td&gt;허용&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. 설정 파일 (settings.json)&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6-1. 설정 파일 우선순위&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;위치&lt;/th&gt;
&lt;th&gt;범위&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/Library/Application Support/ClaudeCode/managed-settings.json&lt;/code&gt; (macOS) / &lt;code&gt;/etc/claude-code/managed-settings.json&lt;/code&gt; (Linux/WSL)&lt;/td&gt;
&lt;td&gt;엔터프라이즈 설정 (최우선)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;.claude/settings.local.json&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;로컬 프로젝트 설정 (git 무시, 개인 취향)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;.claude/settings.json&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;프로젝트 설정 (버전관리 포함, 팀 공통)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;~/.claude/settings.json&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;사용자 설정 (모든 프로젝트 적용)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6-2. 설정 예시&lt;/h3&gt;
&lt;pre class=&quot;json&quot;&gt;&lt;code&gt;{
  &quot;model&quot;: &quot;claude-opus-4-8&quot;,
  &quot;permissions&quot;: {
    &quot;defaultMode&quot;: &quot;acceptEdits&quot;,
    &quot;allow&quot;: [
      &quot;Read&quot;, &quot;Edit&quot;, &quot;Write&quot;,
      &quot;Bash(npm run *:*)&quot;,
      &quot;Bash(git status:*)&quot;,
      &quot;Bash(git diff:*)&quot;,
      &quot;Bash(git log:*)&quot;
    ],
    &quot;deny&quot;: [
      &quot;Bash(rm -rf *)&quot;,
      &quot;Bash(git push *)&quot;,
      &quot;Edit(.env*)&quot;
    ]
  },
  &quot;env&quot;: {
    &quot;CLAUDE_CODE_MAX_OUTPUT_TOKENS&quot;: &quot;32000&quot;
  },
  &quot;hooks&quot;: {
    &quot;PostToolUse&quot;: [
      {
        &quot;matcher&quot;: &quot;Edit|Write&quot;,
        &quot;hooks&quot;: [
          { &quot;type&quot;: &quot;command&quot;, &quot;command&quot;: &quot;npx prettier --write \&quot;$CLAUDE_FILE_PATH\&quot;&quot; }
        ]
      }
    ]
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;tip&quot;&gt;&lt;code&gt;permissions.allow&lt;/code&gt;에 &lt;code&gt;Tool(param:value)&lt;/code&gt; 형식으로 세밀하게 규칙을 걸 수 있습니다. 예: &lt;code&gt;Bash(npm run test:*)&lt;/code&gt;는 &lt;code&gt;npm run test&lt;/code&gt;로 시작하는 명령만 허용.&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;7. 훅 (Hooks)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;훅은 JS 모듈이 아니라 &lt;code&gt;settings.json&lt;/code&gt; 안의 JSON 설정 블록이며, 셸 명령/HTTP 호출/인라인 LLM 프롬프트로 실행됩니다.&lt;/p&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;이벤트&lt;/th&gt;
&lt;th&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;PreToolUse / PostToolUse&lt;/td&gt;
&lt;td&gt;도구 사용 전/후 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;InstructionsLoaded&lt;/td&gt;
&lt;td&gt;CLAUDE.md 로드 시점&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ConfigChange&lt;/td&gt;
&lt;td&gt;설정 파일이 세션 중 변경됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WorktreeCreate / WorktreeRemove&lt;/td&gt;
&lt;td&gt;워크트리 생성/제거&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PreCompact / PostCompact&lt;/td&gt;
&lt;td&gt;컨텍스트 압축 전/후&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Elicitation / ElicitationResult&lt;/td&gt;
&lt;td&gt;MCP가 구조화된 입력을 요청 / 사용자가 응답&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;StopFailure&lt;/td&gt;
&lt;td&gt;API 오류로 턴이 종료됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PermissionRequest / PermissionDenied&lt;/td&gt;
&lt;td&gt;승인 다이얼로그 표시 / Auto 모드가 행동을 차단&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CwdChanged&lt;/td&gt;
&lt;td&gt;작업 디렉토리 변경&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;FileChanged&lt;/td&gt;
&lt;td&gt;감시 중인 파일이 외부에서 수정됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TaskCreated / TaskCompleted&lt;/td&gt;
&lt;td&gt;작업 생성 / 완료&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TeammateIdle&lt;/td&gt;
&lt;td&gt;에이전트 팀 구성원이 유휴 상태&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;pre class=&quot;json&quot;&gt;&lt;code&gt;{
  &quot;hooks&quot;: {
    &quot;PostToolUse&quot;: [
      {
        &quot;matcher&quot;: &quot;Edit|Write&quot;,
        &quot;hooks&quot;: [
          {
            &quot;type&quot;: &quot;command&quot;,
            &quot;command&quot;: &quot;your-shell-command-here&quot;,
            &quot;timeout&quot;: 10000
          }
        ]
      }
    ]
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;notice&quot;&gt;훅에서 참조할 수 있는 환경변수: &lt;code&gt;CLAUDE_FILE_PATH&lt;/code&gt;, &lt;code&gt;CLAUDE_TOOL_NAME&lt;/code&gt;, &lt;code&gt;CLAUDE_TOOL_INPUT&lt;/code&gt;, &lt;code&gt;CLAUDE_SESSION_ID&lt;/code&gt;, &lt;code&gt;CLAUDE_PROJECT_DIR&lt;/code&gt;&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;8. 모델 별칭 &amp;amp; effort 조합&lt;/h2&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;별칭&lt;/th&gt;
&lt;th&gt;동작&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/model opus&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Opus 계열로 전환 (배포 환경별로 실제 버전이 다를 수 있음)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/model sonnet&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Sonnet 계열로 전환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/model haiku&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Haiku 계열로 전환 (가볍고 반복적인 작업, 서브에이전트용)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/model opusplan&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;계획 단계는 Opus급 추론, 실제 코드 작성은 Sonnet 속도로 자동 전환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/model fable&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Mythos 계열 상위 모델로 전환 (플랜/가용성에 따라 제공 여부 다름)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;pre class=&quot;dsconfig&quot;&gt;&lt;code&gt;# 예시: 결제 모듈 전체를 Opus급으로 분석 후 Sonnet 속도로 수정
claude --model opusplan &quot;결제 모듈 전체에서 race condition을 찾아서 고쳐줘&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;tip&quot;&gt;판단 기준: 단순 탐색 &amp;rarr; Haiku / 비용 민감한 일상 코딩 &amp;rarr; Sonnet / 어려운 추론&amp;middot;설계&amp;middot;에이전틱 루프&amp;middot;보안 분석 &amp;rarr; Opus. 복잡한 리팩터링에는 opusplan이 적합.&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;9. 키보드 단축키&lt;/h2&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;단축키&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Shift + Tab&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;승인 모드 순환 전환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Esc&lt;/code&gt; 두 번&lt;/td&gt;
&lt;td&gt;Rewind 메뉴 열기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Ctrl + O&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;일반/상세(verbose) 트랜스크립트 전환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Ctrl + C&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;진행 중인 작업 중단&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Cmd/Ctrl + Enter&lt;/code&gt; (IDE 확장)&lt;/td&gt;
&lt;td&gt;프롬프트 제출 (VS Code/JetBrains 기본 바인딩, &lt;code&gt;~/.claude/keybindings.json&lt;/code&gt;에서 재설정 가능)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;10. @-멘션 (파일/디렉토리/URL 참조)&lt;/h2&gt;
&lt;pre class=&quot;less&quot;&gt;&lt;code&gt;@README.md          # 특정 파일 포함
@src/components/    # 디렉토리 전체 포함
@https://example.com  # URL 가져오기 (읽기 전용)&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;tip&quot;&gt;파일을 그냥 붙여넣기보다 @-멘션을 쓰는 게 좋습니다. 도구를 통해 로드되면 토큰화가 더 잘 처리되고, 경로가 감사 로그(audit log)에도 남습니다.&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;11. 자동화 / CI 워크플로 예시&lt;/h2&gt;
&lt;pre class=&quot;jboss-cli&quot;&gt;&lt;code&gt;# 비대화형 실행
claude -p &quot;테스트 실패 원인 정리해줘&quot;

# 턴 수/비용 상한선 걸어서 자동화
claude -p --max-turns 3 --max-budget-usd 5.00 &quot;빌드 로그 확인&quot;

# 외부 MCP 설정 파일 로드 + 세션 영속화 생략 (CI 환경)
claude -p &quot;open issues 확인&quot; --mcp-config ./ci-mcp.json --no-session-persistence

# 스트리밍 JSON 출력 (SDK/자동화 연동)
claude -p &quot;빌드 고쳐줘&quot; --output-format stream-json --verbose&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;12. 커스텀 명령어 / 스킬&lt;/h2&gt;
&lt;pre class=&quot;jboss-cli&quot;&gt;&lt;code&gt;# 프로젝트 전체 공유용
mkdir -p .claude/commands
echo '작업 지시 내용' &amp;gt; .claude/commands/my-command.md

# 개인용
mkdir -p ~/.claude/commands
echo '작업 지시 내용' &amp;gt; ~/.claude/commands/my-command.md&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;notice&quot;&gt;같은 이름의 커맨드와 스킬이 동시에 존재하면 스킬이 우선 적용됩니다. 기존 &lt;code&gt;.claude/commands/&lt;/code&gt; 파일은 그대로 계속 동작하니 마이그레이션은 필수는 아닙니다.&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;13. 유용한 조합 정리&lt;/h2&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;상황&lt;/th&gt;
&lt;th&gt;추천 명령/설정&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;가볍고 반복적인 작업&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/model haiku&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;비용 민감한 일상 코딩&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/model sonnet&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;복잡한 설계&amp;middot;근본 원인 추적&amp;middot;보안 분석&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/model opus&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;대규모 리팩터링 (계획은 깊게, 실행은 빠르게)&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/model opusplan&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;신뢰하는 개인 프로젝트에서 승인 팝업 줄이기&lt;/td&gt;
&lt;td&gt;&lt;code&gt;--permission-mode acceptEdits&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;완전 격리된 컨테이너/VM 자동화&lt;/td&gt;
&lt;td&gt;&lt;code&gt;--dangerously-skip-permissions&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;세션이 길어져 응답 품질이 떨어질 때&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/compact&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;완전히 다른 작업으로 전환&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/clear&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;설정이 꼬였을 때&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/status&lt;/code&gt; &amp;rarr; &lt;code&gt;/doctor&lt;/code&gt; 순으로 진단&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;정기적으로 상태 체크가 필요할 때&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/loop 5m /test&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;커밋/푸시 전 품질 확인&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/code-review --fix&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;마무리&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Claude Code는 단순 채팅형 도구가 아니라 설정 계층, 권한, 훅, MCP, 서브에이전트까지 갖춘 하나의 에이전틱 런타임에 가깝습니다. 처음엔 &lt;code&gt;/init&lt;/code&gt; &amp;rarr; &lt;code&gt;/permissions&lt;/code&gt; &amp;rarr; &lt;code&gt;/plan&lt;/code&gt; &amp;rarr; &lt;code&gt;/compact&lt;/code&gt; 정도의 기본 흐름만 익히고, 필요한 상황이 생길 때마다 이 글의 항목들을 하나씩 찾아 적용해보는 방식을 추천합니다.&lt;/p&gt;
&lt;/div&gt;</description>
      <category>개발 이야기/IT</category>
      <category>ai코딩에이전트</category>
      <category>anthropic</category>
      <category>claude</category>
      <category>claude code</category>
      <category>ClaudeCode</category>
      <category>CLI도구</category>
      <category>MCP</category>
      <category>modelcontextprotocol</category>
      <category>개발자도구</category>
      <category>터미널ai</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/168</guid>
      <comments>https://infotake.tistory.com/168#entry168comment</comments>
      <pubDate>Sat, 4 Jul 2026 20:04:29 +0900</pubDate>
    </item>
    <item>
      <title>Codex CLI 명령어 총정리</title>
      <link>https://infotake.tistory.com/167</link>
      <description>&lt;div&gt;
&lt;style&gt;
 pre {
   background: #111 !important;
 }
.post-wrap{max-width:860px;margin:0 auto;padding:20px;font-size:16px;line-height:1.85;color:#222;font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,&quot;Noto Sans KR&quot;,&quot;Apple SD Gothic Neo&quot;,sans-serif}
.post-wrap h2{font-size:1.7rem;margin:42px 0 18px;border-bottom:3px solid #222;padding-bottom:10px}
.post-wrap h3{font-size:1.35rem;margin:34px 0 14px}
.post-wrap h4{font-size:1.1rem;margin:24px 0 10px;color:#333}
.post-wrap p{margin:10px 0}
.post-wrap ul,.post-wrap ol{padding-left:22px}
.post-wrap table{width:100%;border-collapse:collapse;margin:18px 0;font-size:15px}
.post-wrap th,.post-wrap td{border:1px solid #ddd;padding:10px;vertical-align:top}
.post-wrap th{background:#f5f7fa}
.post-wrap pre{background:#111;color:#f8f8f2;padding:16px;border-radius:10px;overflow-x:auto;margin:16px 0}
.post-wrap code{font-family:Consolas,Monaco,monospace;font-size:14px}
.notice{background:#fff7e6;border-left:5px solid #f5a623;padding:14px 16px;margin:18px 0;border-radius:6px}
.tip{background:#eef8ff;border-left:5px solid #2196f3;padding:14px 16px;margin:18px 0;border-radius:6px}
.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
.pros-cons&gt;div{border:1px solid #ddd;border-radius:10px;padding:16px;background:#fafafa}
.capture{border:1px dashed #aaa;background:#fafafa;color:#555;text-align:center;padding:14px;margin:22px 0;border-radius:8px}
@media(max-width:640px){.post-wrap{padding:14px;font-size:15px}.pros-cons{grid-template-columns:1fr}.post-wrap h2{font-size:1.45rem}.post-wrap h3{font-size:1.2rem}}
pre {
  background-color: #111;
&lt;/style&gt;
&lt;/div&gt;
&lt;div class=&quot;post-wrap&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OpenAI Codex CLI를 터미널에서 쓸 때 필요한 명령어&amp;middot;옵션&amp;middot;설정파일을 한 번에 정리했습니다. 설치부터 슬래시 명령어, 승인 모드, 샌드박스, MCP 연동, AGENTS.md, 프로필 설정, CI 자동화까지 실무에서 실제로 마주치는 순서대로 구성했습니다.&lt;/p&gt;
&lt;div class=&quot;notice&quot;&gt;Codex CLI는 릴리즈 주기가 짧아 플래그명&amp;middot;기본값이 버전마다 바뀔 수 있습니다. 아래 내용을 적용하기 전에 &lt;code&gt;codex --help&lt;/code&gt;, &lt;code&gt;codex exec --help&lt;/code&gt;로 본인 버전에서 실제 지원하는 옵션인지 먼저 확인하세요. 특히 &lt;code&gt;--full-auto&lt;/code&gt;는 레거시 취급되어 향후 제거될 수 있으니 &lt;code&gt;-s&lt;/code&gt;/&lt;code&gt;-a&lt;/code&gt; 조합으로 대체하는 걸 권장합니다.&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 설치, 인증, 진단&lt;/h3&gt;
&lt;pre class=&quot;properties&quot;&gt;&lt;code&gt;# npm으로 설치
npm install -g @openai/codex
# 현재 버전 확인
codex --version
# 최신 버전으로 업데이트 (설치 스크립트 재실행)
codex update

# 로그인 방법
codex login                        # 브라우저 기반 ChatGPT 계정 로그인 (기본)
codex login --with-api-key         # API 키로 로그인 (표준입력으로 전달 권장)
echo &quot;$OPENAI_API_KEY&quot; | codex login --with-api-key
codex login --device-auth          # SSH 등 헤드리스 환경용 디바이스 코드 로그인

# 설치/설정/런타임 문제 진단
codex doctor&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ChatGPT 계정 로그인은 최신 모델 접근에 유리하고, API 키 로그인은 신규 모델 반영이 다소 늦을 수 있지만 CI 자동화에는 더 적합합니다. macOS&amp;middot;Linux는 정식 지원, Windows는 네이티브 PowerShell 또는 WSL2 환경을 권장합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 기본 실행 모드&lt;/h3&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;# 대화형 터미널 UI(TUI) 세션 시작
codex
# 시작할 때 바로 프롬프트 전달
codex &quot;src/auth 쪽 테스트 실패 원인을 설명해줘&quot;
# 특정 디렉토리를 작업 루트로 지정
codex --cd /path/to/project
# 이미지(스크린샷, 디자인 시안) 첨부해서 함께 전달
codex -i screenshot.png &quot;이 UI 레이아웃 문제를 고쳐줘&quot;
codex -i before.png,after.png &quot;두 디자인 차이를 비교해줘&quot;

# 프롬프트 하나만 던지고 결과 받기 (비대화형, alias: codex e)
codex exec &quot;리팩터링 대상 파일 목록을 정리해줘&quot;
# 이전 세션 이어서 작업 (대화형)
codex resume            # 최근 세션 선택 피커
codex resume --all       # 현재 디렉토리 외의 세션까지 표시
codex resume &lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;tip&quot;&gt;인터랙티브 모드는 사람이 각 단계를 승인/거부하며 함께 작업하는 방식이고, &lt;code&gt;exec&lt;/code&gt;는 승인 루프 없이 끝까지 자동 실행되는 CI/스크립트용 모드입니다. 용도가 다르므로 혼동하지 않는 게 중요합니다.&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 슬래시 명령어 총정리&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;명령어&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/model&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;사용할 모델 및 추론(reasoning) 수준 선택&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/fast [on|off|status]&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;모델의 Fast 서비스 티어 켜기/끄기/상태 확인 (모델이 Fast 티어를 지원할 때만 노출)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/personality&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;응답 스타일 변경 (friendly / pragmatic / none)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/permissions&lt;/code&gt; 또는 &lt;code&gt;/approvals&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;승인 모드(권한 범위) 변경&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/approve&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;직전에 자동 검토에서 거부된 작업을 한 번 더 재시도 승인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/plan [프롬프트]&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;계획(plan) 모드로 전환. 이미지&amp;middot;텍스트를 함께 첨부 가능. 작업 실행 중에는 사용 불가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/status&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;현재 세션의 모델, 승인 정책, writable roots, 토큰 사용량 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/debug-config&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;실제로 적용 중인 설정값 진단&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/review&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;코드 리뷰 모드로 전환 (버그&amp;middot;보안&amp;middot;누락 테스트 중심 분석)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/undo&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;마지막 파일 변경 작업 되돌리기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/fork&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;현재 대화를 분기해서 다른 접근법 실험&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/mcp&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;현재 연결된 MCP 서버&amp;middot;도구 목록 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/apps&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;사용 가능한 커넥터(앱) 목록 탐색&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/memories&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;기존 메모리 사용 여부, 신규 메모리 생성 여부 등 메모리 동작 설정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/experimental&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;실험적 기능(Apps, Smart Approvals 등) 토글, 재시작 필요할 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/theme&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;터미널 테마 미리보기 및 저장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/statusline&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;TUI 하단 상태줄에 표시할 항목 설정 (Fast 모드 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/copy&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;가장 최근 완료된 Codex 출력 복사 (Ctrl+O와 동일)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/clear&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;터미널 화면과 대화 내용 초기화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/compact&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;컨텍스트 정리 (장기 세션에서 토큰 비용 관리)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/quit&lt;/code&gt;, &lt;code&gt;/exit&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;세션 종료 (동일 동작)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&quot;notice&quot;&gt;작업이 실행 중일 때 슬래시 명령을 입력하고 &lt;code&gt;Tab&lt;/code&gt;을 누르면 다음 턴으로 큐잉됩니다. 큐잉된 명령은 현재 턴이 끝난 뒤에 처리되므로, 명령 결과나 오류 메시지도 그 이후에 나타납니다.&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 승인 모드(Approval Modes) &amp;amp; 샌드박스(Sandbox)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Codex는 &lt;b&gt;샌드박스(파일&amp;middot;명령 실행 범위)&lt;/b&gt;와 &lt;b&gt;승인 정책(언제 사람에게 물어볼지)&lt;/b&gt;이 별개 축으로 존재합니다. 이 둘을 조합해서 실제 동작이 결정됩니다.&lt;/p&gt;
&lt;div class=&quot;pros-cons&quot;&gt;
&lt;div&gt;&lt;b&gt;샌드박스: read-only&lt;/b&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일만 읽고 분석. 아무것도 쓰거나 실행하지 않음. 탐색&amp;middot;리뷰 전용.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;&lt;b&gt;샌드박스: workspace-write (기본값)&lt;/b&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 작업 디렉토리 안에서만 쓰기 가능, 읽기 전용 명령 실행 가능. 대부분의 코딩 작업에 적합.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;&lt;b&gt;샌드박스: danger-full-access&lt;/b&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;디렉토리 제한 없이 시스템 전반 및 네트워크 접근 가능. 신뢰하는 저장소/작업에서만 사용 권장.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;&lt;b&gt;승인 정책: untrusted / on-request / never&lt;/b&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;untrusted는 사전 승인 목록에 없는 명령은 매번 확인, on-request는 Codex가 필요하다고 판단할 때만 확인, never는 CI 등 사람이 지켜보지 않는 상황용. &lt;code&gt;on-failure&lt;/code&gt;는 지원 중단(deprecated) 예정이라 새 설정에는 쓰지 않는 게 좋습니다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;jboss-cli&quot;&gt;&lt;code&gt;# 읽기 전용으로 안전하게 탐색만
codex -s read-only -a untrusted

# 기본값(작업 디렉토리 내 쓰기 + 명령 실행), 승인은 필요할 때만
codex -s workspace-write -a on-request

# 특정 디렉토리 추가로 쓰기 권한 부여 (danger-full-access 대신 우선 고려)
codex --cd apps/frontend --add-dir ../backend --add-dir ../shared

# 실행 시 플래그로 자동 승인 지정 (레거시, 신규 설정은 -s/-a 조합 권장)
codex --full-auto &quot;작업 내용&quot;

# 완전히 승인 없이, 샌드박스까지 건너뜀 (매우 위험, 격리 컨테이너/VM 전용)
codex --dangerously-bypass-approvals-and-sandbox   # alias: --yolo&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;tip&quot;&gt;매번 플래그 입력이 번거롭다면 &lt;code&gt;~/.codex/config.toml&lt;/code&gt;에 기본값을 저장해두면 편합니다. 프로젝트 루트의 &lt;code&gt;.codex/config.toml&lt;/code&gt;은 전역 설정보다 우선 적용됩니다.&lt;/div&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;&amp;lt;code&quot;&amp;gt;# ~/.codex/config.toml
model = &quot;gpt-5.5&quot;
sandbox = &quot;workspace-write&quot;
ask_for_approval = &quot;untrusted&quot;

# 프로필로 상황별 프리셋 관리
[profiles.fast]
model = &quot;gpt-5.1-codex-mini&quot;
model_reasoning_effort = &quot;low&quot;
sandbox = &quot;read-only&quot;

[profiles.thorough]
model = &quot;gpt-5.5&quot;
model_reasoning_effort = &quot;high&quot;
sandbox = &quot;workspace-write&quot;

# 실행 시 프로필 지정
# codex -p fast &quot;README 오타 고쳐줘&quot;
# codex -p thorough &quot;인증 모듈 재설계해줘&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. 모델 &amp;amp; 추론 깊이(reasoning effort) 조절&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Codex는 모델 선택과 별개로 추론 깊이를 &lt;code&gt;low / medium / high / xhigh&lt;/code&gt; 4단계로 조절할 수 있습니다. 깊이가 높을수록 오래 생각하고 답변 품질도 올라가지만, 토큰 소모와 응답 시간도 함께 늘어납니다.&lt;/p&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;# 세션 중 실행 명령으로 바로 지정
codex -c model_reasoning_effort=&quot;xhigh&quot; &quot;동시성 버그 원인을 찾아줘&quot;
# 실행할 때 모델 자체를 지정
codex -m gpt-5.5 &quot;이 컴포넌트 같이 봐줘&quot;
# 대화 중에는 슬래시 명령으로 전환
/model&lt;/code&gt;&lt;/pre&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;단축키&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Alt + ,&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;추론 수준 한 단계 낮추기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Alt + .&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;추론 수준 한 단계 높이기&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&quot;notice&quot;&gt;xhigh는 같은 프롬프트에 대해 medium보다 토큰을 3~5배 더 쓸 수 있습니다. 정말 어려운 문제(까다로운 버그 추적, 큰 리팩터링)에만 골라 쓰는 걸 추천합니다. 일상적인 작업엔 low~medium 모델/프로필로도 충분한 경우가 많습니다.&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. 터미널 UI(TUI) 조작 단축키&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;단축키&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Tab&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;작업 실행 중 다음 텍스트/슬래시 명령/! 셸 명령을 큐잉&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Up / Down&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;컴포저에서 이전 초안(draft) 탐색&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Ctrl + R&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;프롬프트 히스토리 검색 (Enter로 채택, Esc로 취소)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Ctrl + L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;새 대화 시작 없이 화면만 초기화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Ctrl + O&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;가장 최근 완료된 출력 복사 (&lt;code&gt;/copy&lt;/code&gt;와 동일)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Ctrl + C&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;세션 종료 (&lt;code&gt;/exit&lt;/code&gt;와 동일)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;!명령어&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;로컬 셸 명령을 컴포저에서 바로 실행 (예: &lt;code&gt;!ls -al&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;7. MCP 서버 연동&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Codex는 Model Context Protocol(MCP)로 외부 도구(GitHub, DB, 사내 시스템 등)를 연결할 수 있습니다. &lt;code&gt;~/.codex/config.toml&lt;/code&gt;에 서버를 등록합니다.&lt;/p&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;&amp;lt;code&quot;&amp;gt;# STDIO 방식 (로컬 프로세스)
[mcp_servers.github]
command = [&quot;npx&quot;, &quot;-y&quot;, &quot;@modelcontextprotocol/server-github&quot;]
enabled = true
startup_timeout_sec = 30

# HTTP 방식 (원격 서버)
[mcp_servers.remote-db]
url = &quot;https://my-mcp-server.example.com&quot;

# 연결된 도구 확인
/mcp
# 연결 가능한 앱(커넥터) 탐색
/apps&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;8. AGENTS.md &amp;amp; 프로젝트 컨텍스트&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AGENTS.md는 Codex가 작업 시작 전에 항상 읽어들이는 프로젝트 규칙 파일입니다(Claude Code의 CLAUDE.md에 대응). 빌드 명령, 테스트 방법, 코딩 컨벤션 등을 적어두면 매 프롬프트마다 반복 설명할 필요가 없습니다. 작업 디렉토리에 가까운 파일이 우선 적용되며, 기본적으로 프로젝트 문서 용량 상한(기본 32KiB)을 넘기지 않도록 주의합니다.&lt;/p&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;&amp;lt;code&quot;&amp;gt;# AGENTS.md 예시
## Working agreements
- 소스 수정 후에는 항상 `pnpm test` 실행
- 패키지 설치는 `pnpm` 사용
- ESLint 설정을 따르고 인라인으로 규칙 비활성화하지 않음

## Architecture
- Frontend: Next.js + TypeScript
- API: FastAPI (Python 3.12)
- DB: PostgreSQL via SQLAlchemy

## Conventions
- Python은 snake_case, TypeScript는 camelCase
- 신규 엔드포인트는 대응하는 통합 테스트 필수&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;9. 자동화 / CI 워크플로 (exec 서브커맨드 상세)&lt;/h3&gt;
&lt;pre class=&quot;bash&quot;&gt;&lt;code&gt;# 기본 실행
codex exec &quot;실패한 테스트를 고쳐줘&quot;
# JSON으로 출력 (파이프라인에서 파싱하기 좋음)
codex exec --json &quot;테스트 결과 요약해줘&quot;
# 최종 응답만 파일로 저장
codex exec -o result.txt &quot;아키텍처를 요약해줘&quot;
codex exec --output-last-message result.md &quot;마이그레이션 스크립트 생성&quot;
# 출력 형식을 JSON 스키마로 강제
codex exec --output-schema schema.json &quot;메타데이터를 추출해줘&quot;
# 세션 영속 없이 실행 (CI에서 오버헤드 감소)
codex exec --ephemeral &quot;빌드 로그 확인&quot;
# 이전 세션에 이어서 실행
codex exec resume --last &quot;에러 핸들링을 추가해줘&quot;
# CI/CD에서 완전 자동 실행
codex exec --full-auto &quot;테스트를 실행하고 실패한 부분을 고쳐줘&quot;

# GitHub Actions 예시
# - name: Auto-fix lint errors
#   run: codex exec --full-auto &quot;ESLint 에러를 고쳐줘, 로직은 바꾸지 마&quot;
#   env:
#     OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}

# 코드 리뷰를 CI에서 실행하고 JSON으로 저장
codex review --base main --json &amp;gt; review-results.json&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;10. 로컬/오픈소스 모델 연동&lt;/h3&gt;
&lt;pre class=&quot;jboss-cli&quot;&gt;&lt;code&gt;&amp;lt;code&quot;&amp;gt;# LM Studio와 연동
codex --oss --local-provider lmstudio
# Ollama와 연동
codex --oss --local-provider ollama&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;11. 실행 정책(execpolicy) &amp;amp; 세부 규칙&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특정 명령을 항상 허용/항상 확인/항상 차단하도록 세밀하게 제어하려면 &lt;code&gt;~/.codex/rules/&lt;/code&gt;에 Starlark 형식 규칙을 정의합니다.&lt;/p&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;&amp;lt;code&quot;&amp;gt;# ~/.codex/rules/rules.star
prefix_rule(
  pattern = [&quot;git&quot;, &quot;push&quot;],
  decision = &quot;forbidden&quot;,
  justification = &quot;직접 push 금지 - PR 워크플로 사용&quot;
)
prefix_rule(
  pattern = [&quot;rm&quot;, &quot;-rf&quot;],
  decision = &quot;prompt&quot;,
  justification = &quot;파괴적 명령은 항상 확인&quot;
)

# 규칙이 실제로 어떻게 판정되는지 미리 확인
codex execpolicy check &quot;rm -rf ./tmp&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;12. 유용한 조합 정리&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;상황&lt;/th&gt;
&lt;th&gt;추천 명령/설정&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;가볍고 빠른 일상 작업&lt;/td&gt;
&lt;td&gt;&lt;code&gt;codex -p fast&lt;/code&gt; 또는 &lt;code&gt;model_reasoning_effort = &quot;low&quot;&lt;/code&gt; + 경량 모델&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;어려운 버그, 큰 리팩터링&lt;/td&gt;
&lt;td&gt;&lt;code&gt;codex -p thorough&lt;/code&gt; 또는 &lt;code&gt;Alt + .&lt;/code&gt;로 xhigh까지 올리기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;신뢰하는 개인 프로젝트에서 승인 팝업 줄이기&lt;/td&gt;
&lt;td&gt;&lt;code&gt;codex -s workspace-write -a on-request&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;완전 격리된 컨테이너/VM 자동화&lt;/td&gt;
&lt;td&gt;&lt;code&gt;--dangerously-bypass-approvals-and-sandbox&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CI 파이프라인에서 자동 수정 + 결과 저장&lt;/td&gt;
&lt;td&gt;&lt;code&gt;codex exec --full-auto --json --output-last-message result.md&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;디자인 시안 보고 UI 구현&lt;/td&gt;
&lt;td&gt;&lt;code&gt;codex -i figma-export.png &quot;이 컴포넌트를 그대로 구현해줘&quot;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;설정이 꼬였을 때&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/status&lt;/code&gt;, &lt;code&gt;/debug-config&lt;/code&gt;, &lt;code&gt;codex doctor&lt;/code&gt;로 진단&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;외부 도구(깃허브&amp;middot;DB) 연동&lt;/td&gt;
&lt;td&gt;&lt;code&gt;mcp_servers&lt;/code&gt; 설정 후 &lt;code&gt;/mcp&lt;/code&gt;로 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;마무리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;샌드박스&amp;middot;승인 정책&amp;middot;추론 깊이, 이 세 축만 잘 이해해도 Codex CLI를 훨씬 자유롭게 다룰 수 있습니다. 처음엔 기본값(&lt;code&gt;workspace-write&lt;/code&gt; + &lt;code&gt;untrusted&lt;/code&gt; + medium)으로 시작해서, AGENTS.md와 프로필을 프로젝트에 맞게 다듬어가며 필요한 상황에서만 권한과 추론 수준을 한 단계씩 올려보는 방식을 추천합니다.&lt;/p&gt;
&lt;/div&gt;</description>
      <category>CLI</category>
      <category>codex</category>
      <category>Codex CLI</category>
      <category>명령어</category>
      <category>총정리</category>
      <category>코덱스</category>
      <category>코덱스 명령어</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/167</guid>
      <comments>https://infotake.tistory.com/167#entry167comment</comments>
      <pubDate>Sat, 4 Jul 2026 19:55:16 +0900</pubDate>
    </item>
    <item>
      <title>Gemini CLI 종료 이후 선택지, Antigravity CLI 설치 가이드</title>
      <link>https://infotake.tistory.com/166</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;979&quot; data-origin-height=&quot;512&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uR6Gy/dJMcaiwYLBN/DN39d5YH2PX55CVksbtr10/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uR6Gy/dJMcaiwYLBN/DN39d5YH2PX55CVksbtr10/img.png&quot; data-alt=&quot;제미나이 CLI 보다 가볍다!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uR6Gy/dJMcaiwYLBN/DN39d5YH2PX55CVksbtr10/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuR6Gy%2FdJMcaiwYLBN%2FDN39d5YH2PX55CVksbtr10%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;979&quot; height=&quot;512&quot; data-origin-width=&quot;979&quot; data-origin-height=&quot;512&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;제미나이 CLI 보다 가볍다!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;div&gt;
&lt;style&gt;
 pre {
   background: #111 !important;
 }
.post-wrap{max-width:860px;margin:0 auto;padding:20px;font-size:16px;line-height:1.85;color:#222;font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,&quot;Noto Sans KR&quot;,&quot;Apple SD Gothic Neo&quot;,sans-serif}
.post-wrap h2{font-size:1.7rem;margin:42px 0 18px;border-bottom:3px solid #222;padding-bottom:10px}
.post-wrap h3{font-size:1.35rem;margin:34px 0 14px}
.post-wrap h4{font-size:1.1rem;margin:24px 0 10px;color:#333}
.post-wrap p{margin:10px 0}
.post-wrap ul,.post-wrap ol{padding-left:22px}
.post-wrap table{width:100%;border-collapse:collapse;margin:18px 0;font-size:15px}
.post-wrap th,.post-wrap td{border:1px solid #ddd;padding:10px;vertical-align:top}
.post-wrap th{background:#f5f7fa}
.post-wrap pre{background:#111;color:#f8f8f2;padding:16px;border-radius:10px;overflow-x:auto;margin:16px 0}
.post-wrap code{font-family:Consolas,Monaco,monospace;font-size:14px}
.notice{background:#fff7e6;border-left:5px solid #f5a623;padding:14px 16px;margin:18px 0;border-radius:6px}
.tip{background:#eef8ff;border-left:5px solid #2196f3;padding:14px 16px;margin:18px 0;border-radius:6px}
.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
.pros-cons&gt;div{border:1px solid #ddd;border-radius:10px;padding:16px;background:#fafafa}
.capture{border:1px dashed #aaa;background:#fafafa;color:#555;text-align:center;padding:14px;margin:22px 0;border-radius:8px}
@media(max-width:640px){.post-wrap{padding:14px;font-size:15px}.pros-cons{grid-template-columns:1fr}.post-wrap h2{font-size:1.45rem}.post-wrap h3{font-size:1.2rem}}
pre {
  background-color: #111;
&lt;/style&gt;
&lt;/div&gt;
&lt;div class=&quot;post-wrap&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Gemini CLI를 잘 쓰고 있던 입장에서는 Antigravity CLI 전환 소식이 꽤 당황스럽습니다. 터미널에서 바로 AI에게 코드를 물어보고, 프로젝트 구조를 읽게 하고, 간단한 수정까지 맡기는 흐름이 편했기 때문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 글은 Antigravity CLI를 Windows, WSL, Ubuntu 환경에서 설치하고 실제 개발 프로젝트에 적용해보는 기준으로 정리했습니다. 공식 문서만 옮긴 글이 아니라, 개발자가 처음 설치하면서 헷갈릴 만한 부분을 중심으로 적었습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;목차&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Gemini CLI가 종료된 이유&lt;/li&gt;
&lt;li&gt;Antigravity CLI란?&lt;/li&gt;
&lt;li&gt;Antigravity CLI 무료 정책&lt;/li&gt;
&lt;li&gt;Windows / WSL / Ubuntu 설치하기&lt;/li&gt;
&lt;li&gt;Google 로그인&lt;/li&gt;
&lt;li&gt;첫 실행&lt;/li&gt;
&lt;li&gt;VSCode 연동&lt;/li&gt;
&lt;li&gt;Spring Boot 프로젝트 테스트&lt;/li&gt;
&lt;li&gt;MCP 사용하기&lt;/li&gt;
&lt;li&gt;장점 / 단점&lt;/li&gt;
&lt;li&gt;FAQ&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. Gemini CLI가 종료된 이유&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;설명&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Gemini CLI는 터미널 기반 AI 개발 도구로 꽤 쓸 만했습니다. 그런데 Google은 Gemini CLI와 Gemini Code Assist 일부 개인 사용자용 기능을 Antigravity CLI 중심으로 전환한다고 안내했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;핵심은 개발자용 AI 도구를 하나의 흐름으로 묶겠다는 방향입니다. 기존 Gemini CLI, IDE 확장, Agent 기능이 흩어져 있었다면, Antigravity CLI는 그 후속 흐름에 있는 CLI AI 도구로 보면 됩니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;실제 사용 예시&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존에 아래처럼 쓰던 사람이라면 전환 대상입니다.&lt;/p&gt;
&lt;pre class=&quot;nginx&quot;&gt;&lt;code&gt;gemini
gemini &quot;이 Spring Boot 프로젝트 구조 분석해줘&quot;
gemini &quot;이 오류 로그 보고 원인 찾아줘&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞으로는 Antigravity CLI 명령어를 기준으로 프로젝트를 열고, 자연어로 작업을 요청하는 방식으로 바뀝니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;코드 예제&lt;/h3&gt;
&lt;pre class=&quot;nginx&quot;&gt;&lt;code&gt;agy
agy &quot;현재 프로젝트 구조를 보고 실행 방법을 정리해줘&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;notice&quot;&gt;&lt;b&gt;주의사항&lt;/b&gt;&lt;br /&gt;Gemini CLI에서 쓰던 명령어, 설정 파일, MCP 설정이 Antigravity CLI에서 100% 동일하게 동작한다고 보면 안 됩니다. 전환 초기에 제일 많이 막히는 부분이 이 지점입니다.&lt;/div&gt;
&lt;div class=&quot;tip&quot;&gt;&lt;b&gt;팁&lt;/b&gt;&lt;br /&gt;기존 Gemini CLI용 스크립트가 있다면 바로 삭제하지 말고, 별도 브랜치나 백업 폴더에 남겨두는 것을 추천합니다. CLI 도구 전환은 생각보다 자잘한 경로 문제가 많이 납니다.&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. Antigravity CLI란?&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;설명&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Antigravity CLI는 Google Antigravity 플랫폼의 터미널용 AI 개발 도구입니다. 쉽게 말하면 터미널에서 사용하는 AI 개발 도구, 즉 CLI AI입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 질문만 하는 챗봇이라기보다는 프로젝트 폴더를 기준으로 코드 분석, 수정 방향 제안, 명령 실행 보조, 개발 작업 정리를 도와주는 도구에 가깝습니다.&lt;/p&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;구분&lt;/th&gt;
&lt;th&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;도구 유형&lt;/td&gt;
&lt;td&gt;CLI 기반 AI 개발 도구&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;주요 용도&lt;/td&gt;
&lt;td&gt;코드 분석, 리팩토링 보조, 오류 원인 파악, 개발 작업 자동화 보조&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;비교 대상&lt;/td&gt;
&lt;td&gt;Gemini CLI, Claude Code, Codex CLI, Aider 등&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;사용 환경&lt;/td&gt;
&lt;td&gt;Windows, macOS, Linux, WSL, Ubuntu&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;실제 사용 예시&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 Spring Boot 프로젝트 폴더에서 먼저 이런 식으로 테스트합니다.&lt;/p&gt;
&lt;pre class=&quot;nginx&quot;&gt;&lt;code&gt;agy &quot;이 프로젝트가 어떤 구조인지 설명해줘&quot;
agy &quot;실행에 필요한 Java 버전과 빌드 도구를 확인해줘&quot;
agy &quot;README 기준으로 로컬 실행 순서를 정리해줘&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;코드 예제&lt;/h3&gt;
&lt;pre class=&quot;gradle&quot;&gt;&lt;code&gt;cd ~/workspace/my-spring-project
agy&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;notice&quot;&gt;&lt;b&gt;주의사항&lt;/b&gt;&lt;br /&gt;Antigravity CLI가 프로젝트 파일을 읽고 수정할 수 있는 환경에서는 작업 디렉터리를 꼭 확인해야 합니다. 엉뚱한 폴더에서 실행하면 전혀 다른 프로젝트를 기준으로 답변할 수 있습니다.&lt;/div&gt;
&lt;div class=&quot;tip&quot;&gt;&lt;b&gt;팁&lt;/b&gt;&lt;br /&gt;처음부터 &amp;ldquo;전체 수정해줘&amp;rdquo;라고 하기보다 &amp;ldquo;분석만 해줘&amp;rdquo;, &amp;ldquo;수정 계획만 세워줘&amp;rdquo;처럼 단계적으로 요청하는 편이 안전합니다.&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense responsive&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;반응형&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-6288483252364151&quot; data-ad-format=&quot;auto&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. Antigravity CLI 무료 정책&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;설명&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Antigravity CLI 무료 정책은 계정 유형과 시점에 따라 달라질 수 있습니다. 현재 기준으로 개인 계정은 무료 플랜이 제공되지만, 실제 사용 가능한 모델, 요청량, 제한 조건은 공식 가격 페이지에서 반드시 확인해야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 AI 개발 도구는 무료라고 해도 완전히 무제한이라는 의미가 아닐 수 있습니다. 특히 Claude Code 대체, Codex CLI 대체 용도로 매일 장시간 사용하려면 제한 정책을 꼭 봐야 합니다.&lt;/p&gt;
&lt;div class=&quot;capture&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;745&quot; data-origin-height=&quot;168&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cyF6ld/dJMcadCjD6O/2nLrkLUcDlFTbq0bhiPKNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cyF6ld/dJMcadCjD6O/2nLrkLUcDlFTbq0bhiPKNK/img.png&quot; data-alt=&quot;AI를 통해서 조사한 내용!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cyF6ld/dJMcadCjD6O/2nLrkLUcDlFTbq0bhiPKNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcyF6ld%2FdJMcadCjD6O%2F2nLrkLUcDlFTbq0bhiPKNK%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;745&quot; height=&quot;168&quot; data-origin-width=&quot;745&quot; data-origin-height=&quot;168&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;AI를 통해서 조사한 내용!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;실제 사용 예시&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개인 개발자는 보통 아래 순서로 확인하면 됩니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;공식 Antigravity 가격 페이지 접속&lt;/li&gt;
&lt;li&gt;개인 계정 무료 플랜 확인&lt;/li&gt;
&lt;li&gt;사용 가능한 모델 확인&lt;/li&gt;
&lt;li&gt;CLI 사용량 제한 확인&lt;/li&gt;
&lt;li&gt;업무용이면 회사 계정/GCP 조건 별도 확인&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;코드 예제&lt;/h3&gt;
&lt;pre class=&quot;lua&quot;&gt;&lt;code&gt;agy --version
agy auth status&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;notice&quot;&gt;&lt;b&gt;주의사항&lt;/b&gt;&lt;br /&gt;블로그 글을 보고 설치할 때 가장 위험한 부분이 &amp;ldquo;무료 정책&amp;rdquo;입니다. 무료 제공 여부는 바뀔 수 있으니, 설치 전 공식 가격 페이지를 한 번 더 확인하는 것이 좋습니다.&lt;/div&gt;
&lt;div class=&quot;tip&quot;&gt;&lt;b&gt;팁&lt;/b&gt;&lt;br /&gt;Claude Code, Codex CLI, Antigravity CLI를 같이 비교할 때는 가격만 보지 말고 &amp;ldquo;내가 쓰는 개발 환경에서 얼마나 덜 막히는지&amp;rdquo;를 같이 봐야 합니다.&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. Windows / WSL / Ubuntu 설치하기&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;설명&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Antigravity CLI 설치는 운영체제별로 나눠서 보는 것이 좋습니다. Windows 설치, WSL 설치, Ubuntu 설치가 비슷해 보여도 실제로는 경로, 인증, 브라우저 연동에서 차이가 납니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Windows 설치&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Windows에서는 PowerShell을 관리자 권한으로 열고 공식 설치 명령을 사용하는 방식이 일반적입니다. 아래 명령은 예시이므로, 실제 설치 명령은 공식 문서의 최신 명령을 확인한 뒤 사용하세요.&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# PowerShell 예시
# 실제 명령은 공식 문서에서 최신 버전 확인 후 실행
irm https://antigravity.google/install.ps1 | iex&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Windows 설치 후 확인&lt;/h4&gt;
&lt;pre class=&quot;applescript&quot;&gt;&lt;code&gt;agy --version
where agy&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;WSL 설치&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WSL에서 Antigravity CLI를 쓰려면 Windows 쪽 설치와 WSL 내부 설치를 구분해야 합니다. 개인적으로는 개발 프로젝트가 WSL 안에 있다면 WSL 내부에 CLI를 설치하는 편이 낫습니다.&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# WSL Ubuntu 내부 예시
# 실제 명령은 공식 문서에서 최신 버전 확인 후 실행
curl -fsSL https://antigravity.google/cli/install.sh | bash
echo 'export PATH=&quot;$HOME/.local/bin:$PATH&quot;' &amp;gt;&amp;gt; ~/.bashrc
source ~/.bashrc&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;WSL 설치 후 확인&lt;/h4&gt;
&lt;pre class=&quot;properties&quot;&gt;&lt;code&gt;which agy
agy --version&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Ubuntu 설치&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ubuntu 서버나 데스크톱에서는 Linux 설치 방식으로 진행하면 됩니다. WSL과 비슷하지만 브라우저 인증 과정에서 차이가 날 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;sudo apt update
curl -fsSL https://antigravity.google/cli/install.sh | bash
echo 'export PATH=&quot;$HOME/.local/bin:$PATH&quot;' &amp;gt;&amp;gt; ~/.bashrc
source ~/.bashrc
agy --version&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;실제 사용 예시&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 WSL 안에 프로젝트가 있으면 아래처럼 프로젝트 폴더로 이동한 뒤 실행합니다.&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;mkdir demo-api
cd ./demo-api
agy &quot;이 프로젝트 실행 방법을 확인해줘&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;notice&quot;&gt;&lt;b&gt;주의사항&lt;/b&gt;&lt;br /&gt;인터넷에 돌아다니는 설치 스크립트를 그대로 복사해서 실행하지 마세요. Antigravity CLI 설치는 반드시 공식 문서의 명령을 기준으로 진행하는 것이 안전합니다.&lt;/div&gt;
&lt;div class=&quot;tip&quot;&gt;&lt;b&gt;팁&lt;/b&gt;&lt;br /&gt;Windows에서 개발 파일을 열고, WSL에서 빌드하는 구조라면 경로가 꼬일 수 있습니다. 가능하면 프로젝트 위치와 CLI 실행 위치를 통일하세요.&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense responsive&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;반응형&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-6288483252364151&quot; data-ad-format=&quot;auto&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. Google 로그인&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;설명&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Antigravity CLI는 Google 계정 로그인이 필요합니다. 이 부분은 Gemini CLI 후속 도구라는 느낌이 가장 강하게 나는 부분입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대부분은 CLI에서 로그인 명령을 실행하면 브라우저가 열리고, Google 계정으로 인증하는 방식입니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;실제 사용 예시&lt;/h3&gt;
&lt;pre class=&quot;ebnf&quot;&gt;&lt;code&gt;agy auth login&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로그인이 끝나면 인증 상태를 확인합니다.&lt;/p&gt;
&lt;pre class=&quot;ebnf&quot;&gt;&lt;code&gt;agy auth status&lt;/code&gt;&lt;/pre&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;979&quot; data-origin-height=&quot;512&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFZtXx/dJMcahrkX2j/s3myCcJcNhCm1bgyiGwXn0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFZtXx/dJMcahrkX2j/s3myCcJcNhCm1bgyiGwXn0/img.png&quot; data-alt=&quot;구글인증화면을 요구한다!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFZtXx/dJMcahrkX2j/s3myCcJcNhCm1bgyiGwXn0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFZtXx%2FdJMcahrkX2j%2Fs3myCcJcNhCm1bgyiGwXn0%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;979&quot; height=&quot;512&quot; data-origin-width=&quot;979&quot; data-origin-height=&quot;512&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;구글인증화면을 요구한다!&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;789&quot; data-origin-height=&quot;451&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dxVISk/dJMcahSjwWA/KkS8Ymn5A2a1qz8K0HdAH0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dxVISk/dJMcahSjwWA/KkS8Ymn5A2a1qz8K0HdAH0/img.png&quot; data-alt=&quot;제공되는 코드를 입력(계정결재에 따름)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dxVISk/dJMcahSjwWA/KkS8Ymn5A2a1qz8K0HdAH0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdxVISk%2FdJMcahSjwWA%2FKkS8Ymn5A2a1qz8K0HdAH0%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;789&quot; height=&quot;451&quot; data-origin-width=&quot;789&quot; data-origin-height=&quot;451&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;제공되는 코드를 입력(계정결재에 따름)&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;979&quot; data-origin-height=&quot;512&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/etPUMe/dJMcaiDKdEY/Ymmqvk0nnXNSXBFX9kO1G1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/etPUMe/dJMcaiDKdEY/Ymmqvk0nnXNSXBFX9kO1G1/img.png&quot; data-alt=&quot;인증후 로딩된 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/etPUMe/dJMcaiDKdEY/Ymmqvk0nnXNSXBFX9kO1G1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FetPUMe%2FdJMcaiDKdEY%2FYmmqvk0nnXNSXBFX9kO1G1%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;979&quot; height=&quot;512&quot; data-origin-width=&quot;979&quot; data-origin-height=&quot;512&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;인증후 로딩된 화면&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p style=&quot;position: absolute;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;코드 예제&lt;/h3&gt;
&lt;pre class=&quot;properties&quot;&gt;&lt;code&gt;# 로그아웃이 필요한 경우
agy auth logout

# 다시 로그인
agy auth login&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;notice&quot;&gt;&lt;b&gt;주의사항&lt;/b&gt;&lt;br /&gt;WSL 환경에서는 브라우저 인증이 매끄럽지 않을 수 있습니다. 인증 URL이 출력되면 Windows 브라우저에 직접 붙여 넣어 로그인하는 방식도 생각해볼 수 있습니다.&lt;/div&gt;
&lt;div class=&quot;tip&quot;&gt;&lt;b&gt;팁&lt;/b&gt;&lt;br /&gt;회사 계정과 개인 계정을 모두 쓰는 개발자라면, 어떤 계정으로 로그인했는지 먼저 확인하세요. 나중에 사용량이나 권한 문제를 헷갈릴 수 있습니다.&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense responsive&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;반응형&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-6288483252364151&quot; data-ad-format=&quot;auto&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. 첫 실행&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;설명&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치와 로그인이 끝났다면 바로 프로젝트에서 실행해볼 수 있습니다. 처음에는 복잡한 요청보다 읽기 전용에 가까운 질문부터 시작하는 것이 좋습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;실제 사용 예시&lt;/h3&gt;
&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;cd ./demo-api
agy &quot;현재 프로젝트 구조를 설명해줘&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 다음에는 빌드 파일을 기준으로 개발 환경을 확인하게 합니다.&lt;/p&gt;
&lt;pre class=&quot;nginx&quot;&gt;&lt;code&gt;agy &quot;pom.xml과 README를 보고 로컬 실행 방법을 정리해줘&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;코드 예제&lt;/h3&gt;
&lt;pre class=&quot;nginx&quot;&gt;&lt;code&gt;agy &quot;최근 수정된 파일 기준으로 변경 내용을 요약해줘&quot;
agy &quot;이 프로젝트에서 테스트 코드를 실행하는 방법을 알려줘&quot;
agy &quot;빌드 실패 가능성이 있는 설정을 먼저 찾아줘&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;notice&quot;&gt;&lt;b&gt;주의사항&lt;/b&gt;&lt;br /&gt;처음 실행할 때 파일 수정 권한을 바로 허용하기보다, 어떤 파일을 수정하려는지 먼저 확인하는 습관이 좋습니다.&lt;/div&gt;
&lt;div class=&quot;tip&quot;&gt;&lt;b&gt;팁&lt;/b&gt;&lt;br /&gt;AI 개발 도구는 질문을 짧게 던지는 것보다 &amp;ldquo;내 목표, 현재 상태, 원하는 결과&amp;rdquo;를 같이 적어주는 편이 결과가 좋습니다.&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense responsive&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;반응형&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-6288483252364151&quot; data-ad-format=&quot;auto&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;7. VSCode 연동&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;설명&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Antigravity CLI를 VSCode와 같이 쓰면 터미널 작업과 코드 확인을 동시에 할 수 있습니다. 다만 VSCode 연동은 Antigravity IDE와 VSCode 확장을 혼동하지 않는 것이 중요합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 보통 VSCode로 코드를 열어두고, 하단 터미널에서 Antigravity CLI를 실행하는 방식으로 사용합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;실제 사용 예시&lt;/h3&gt;
&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;cd ./demo-api
code .
agy &quot;Controller, Service, Mapper 구조를 보고 개선할 부분을 알려줘&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1202&quot; data-origin-height=&quot;801&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ThsxR/dJMcabYXqHj/TEsREReQkUI2sIygVOlcK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ThsxR/dJMcabYXqHj/TEsREReQkUI2sIygVOlcK0/img.png&quot; data-alt=&quot;VSCode WSL 모드에서 바로 열고 사용!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ThsxR/dJMcabYXqHj/TEsREReQkUI2sIygVOlcK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FThsxR%2FdJMcabYXqHj%2FTEsREReQkUI2sIygVOlcK0%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;1202&quot; height=&quot;801&quot; data-origin-width=&quot;1202&quot; data-origin-height=&quot;801&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;VSCode WSL 모드에서 바로 열고 사용!&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h3 data-ke-size=&quot;size23&quot;&gt;코드 예제&lt;/h3&gt;
&lt;pre class=&quot;nginx&quot;&gt;&lt;code&gt;agy &quot;현재 열려 있는 Spring Boot 프로젝트에서 API 목록을 추정해서 정리해줘&quot;
agy &quot;수정 전에 변경 대상 파일 목록만 알려줘&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;notice&quot;&gt;&lt;b&gt;주의사항&lt;/b&gt;&lt;br /&gt;VSCode Remote WSL을 쓰는 경우 Windows 경로와 WSL 경로가 섞이면 문제가 생길 수 있습니다. 프로젝트는 WSL 내부 경로에서 열고, CLI도 같은 WSL에서 실행하는 편이 깔끔합니다.&lt;/div&gt;
&lt;div class=&quot;tip&quot;&gt;&lt;b&gt;팁&lt;/b&gt;&lt;br /&gt;VSCode 연동이라고 해서 꼭 전용 확장부터 찾을 필요는 없습니다. 처음에는 VSCode 터미널에서 CLI를 실행하는 방식만으로도 충분히 테스트할 수 있습니다.&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;8. Spring Boot 프로젝트 테스트&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;설명&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Antigravity CLI 사용법을 제대로 확인하려면 단순 샘플보다 실제 Spring Boot 프로젝트에서 테스트해보는 것이 좋습니다. Java 버전, Maven/Gradle, profile, DB 접속 설정이 같이 얽혀 있기 때문입니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;실제 사용 예시&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 프로젝트 구조를 확인합니다.&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;cd ./demo-api
ls
agy &quot;이 Spring Boot 프로젝트의 실행 조건을 분석해줘&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Maven 프로젝트라면 다음처럼 물어볼 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;nginx&quot;&gt;&lt;code&gt;agy &quot;pom.xml 기준으로 Java 버전, Spring Boot 버전, 주요 의존성을 정리해줘&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Gradle 프로젝트라면 이렇게 요청합니다.&lt;/p&gt;
&lt;pre class=&quot;nginx&quot;&gt;&lt;code&gt;agy &quot;build.gradle 기준으로 실행 방법과 테스트 방법을 알려줘&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;코드 예제&lt;/h3&gt;
&lt;pre class=&quot;dockerfile&quot;&gt;&lt;code&gt;# Maven 실행
./mvnw spring-boot:run

# Gradle 실행
./gradlew bootRun&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;오류 로그 분석 요청&lt;/h4&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;agy &quot;아래 오류 로그를 보고 원인과 확인 순서를 알려줘&quot;

# 예시
# Failed to configure a DataSource
# url attribute is not specified
# no embedded datasource could be configured&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;notice&quot;&gt;&lt;b&gt;주의사항&lt;/b&gt;&lt;br /&gt;application.yml, application.properties에는 DB 계정, API Key, 토큰이 들어 있을 수 있습니다. 외부 저장소나 공유 화면에 노출되지 않도록 주의하세요.&lt;/div&gt;
&lt;div class=&quot;tip&quot;&gt;&lt;b&gt;팁&lt;/b&gt;&lt;br /&gt;Spring Boot 개발에서는 &amp;ldquo;코드 수정&amp;rdquo;보다 &amp;ldquo;설정 파일과 실행 프로파일 분석&amp;rdquo;에서 CLI AI의 도움을 먼저 받아보는 것이 좋습니다. 이 부분이 실제로 시간을 많이 줄여줍니다.&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense responsive&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;반응형&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-6288483252364151&quot; data-ad-format=&quot;auto&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;9. MCP 사용하기(필요시)&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;설명&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;MCP는 Model Context Protocol의 약자입니다. 쉽게 말하면 AI 개발 도구가 외부 도구나 데이터 소스와 연결될 수 있게 해주는 표준 방식입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Antigravity CLI에서도 MCP 사용법을 익혀두면 단순 코드 분석을 넘어 문서, API, 내부 도구, 클라우드 리소스와 연결하는 흐름으로 확장할 수 있습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;실제 사용 예시&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적으로 MCP 설정 파일에 서버 정보를 추가한 뒤 CLI에서 해당 도구를 사용할 수 있게 구성합니다.&lt;/p&gt;
&lt;pre class=&quot;jboss-cli&quot;&gt;&lt;code&gt;# MCP 설정 파일 위치 확인 예시
ls ~/.gemini/antigravity/&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;코드 예제&lt;/h3&gt;
&lt;pre class=&quot;json&quot;&gt;&lt;code&gt;{
  &quot;mcpServers&quot;: {
    &quot;example-mcp&quot;: {
      &quot;command&quot;: &quot;node&quot;,
      &quot;args&quot;: [
        &quot;/path/to/mcp-server/index.js&quot;
      ]
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원격 MCP 서버를 쓰는 경우에는 서버 URL과 인증 헤더가 필요할 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;json&quot;&gt;&lt;code&gt;{
  &quot;mcpServers&quot;: {
    &quot;remote-example&quot;: {
      &quot;serverUrl&quot;: &quot;https://example.com/mcp&quot;,
      &quot;headers&quot;: {
        &quot;x-api-key&quot;: &quot;YOUR_API_KEY&quot;
      }
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;notice&quot;&gt;&lt;b&gt;주의사항&lt;/b&gt;&lt;br /&gt;MCP 설정에는 API Key 같은 민감 정보가 들어갈 수 있습니다. Git에 올리지 않도록 .gitignore 확인이 필요합니다.&lt;/div&gt;
&lt;div class=&quot;tip&quot;&gt;&lt;b&gt;팁&lt;/b&gt;&lt;br /&gt;MCP 사용법은 처음부터 많이 붙이지 말고 하나씩 추가하는 것이 좋습니다. 문제가 생겼을 때 어떤 MCP 서버가 원인인지 바로 찾을 수 있어야 합니다.&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;10. 장점 / 단점&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;설명&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Antigravity CLI는 Gemini CLI 후속 AI 개발 도구로 볼 수 있지만, 모든 개발자에게 바로 맞는 도구라고 보기는 어렵습니다. 특히 기존 Claude Code 대체, Codex CLI 대체를 고민한다면 장점과 단점을 같이 봐야 합니다.&lt;/p&gt;
&lt;div class=&quot;pros-cons&quot;&gt;
&lt;div&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;장점&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Google 계정 기반으로 시작하기 쉽다.&lt;/li&gt;
&lt;li&gt;CLI에서 바로 AI 개발 도구를 사용할 수 있다.&lt;/li&gt;
&lt;li&gt;Windows, WSL, Ubuntu 환경을 지원한다.&lt;/li&gt;
&lt;li&gt;Spring Boot 개발처럼 기존 프로젝트 분석에 활용하기 좋다.&lt;/li&gt;
&lt;li&gt;MCP 사용법을 익히면 확장성이 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;단점&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Gemini CLI와 1:1 호환된다고 보기 어렵다.&lt;/li&gt;
&lt;li&gt;전환 초기에는 문서와 실제 동작 차이가 있을 수 있다.&lt;/li&gt;
&lt;li&gt;WSL 인증이나 경로 문제로 삽질할 수 있다.&lt;/li&gt;
&lt;li&gt;무료 정책은 언제든 바뀔 수 있다.&lt;/li&gt;
&lt;li&gt;기존 Claude Code, Codex CLI 사용자가 바로 만족하지 않을 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense responsive&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;반응형&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-6288483252364151&quot; data-ad-format=&quot;auto&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;실제 사용 예시&lt;/h3&gt;
&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;agy &quot;이 기능을 수정하기 전에 영향받는 파일을 먼저 알려줘&quot;
agy &quot;Controller부터 DB Mapper까지 호출 흐름을 추적해줘&quot;
agy &quot;테스트 코드 없이 수정하면 위험한 부분을 알려줘&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;notice&quot;&gt;&lt;b&gt;주의사항&lt;/b&gt;&lt;br /&gt;AI 개발 도구가 제안한 코드를 그대로 운영 프로젝트에 반영하면 안 됩니다. 특히 DB, 인증, 파일 삭제, 배포 스크립트는 반드시 직접 검토해야 합니다.&lt;/div&gt;
&lt;div class=&quot;tip&quot;&gt;&lt;b&gt;팁&lt;/b&gt;&lt;br /&gt;실무에서는 &amp;ldquo;AI가 코드를 짜게 하는 것&amp;rdquo;보다 &amp;ldquo;내가 놓친 영향 범위를 찾게 하는 것&amp;rdquo;이 더 안전하고 효과적입니다.&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;11. FAQ&lt;/h2&gt;
&lt;div class=&quot;faq&quot;&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Q1. Antigravity CLI는 Gemini CLI 후속인가요?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개인 개발자 입장에서는 Gemini CLI 후속 AI 개발 도구로 이해해도 됩니다. 다만 명령어와 설정이 완전히 동일한 것은 아니므로 마이그레이션 확인이 필요합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Q2. Antigravity CLI는 무료인가요?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개인용 무료 플랜이 제공되지만, 사용 가능한 모델과 제한은 공식 가격 정책을 확인해야 합니다. 무료 정책은 변경될 수 있습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Q3. Windows와 WSL 중 어디에 설치하는 게 좋나요?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로젝트가 WSL 안에 있다면 WSL 설치를 추천합니다. Windows 폴더에서 개발한다면 Windows 설치가 편합니다. 핵심은 프로젝트 위치와 CLI 실행 위치를 맞추는 것입니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Q4. Ubuntu 서버에서도 사용할 수 있나요?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Linux 설치 방식으로 사용할 수 있습니다. 다만 브라우저 로그인 과정이 서버 환경에서는 불편할 수 있으므로 인증 방식을 확인해야 합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Q5. VSCode 연동은 꼭 필요한가요?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필수는 아닙니다. 처음에는 VSCode 터미널에서 Antigravity CLI를 실행하는 것만으로도 충분합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Q6. Spring Boot 개발에 쓸 만한가요?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로젝트 구조 분석, 실행 방법 정리, 오류 로그 분석에는 꽤 쓸 만합니다. 다만 실제 코드 수정은 반드시 개발자가 검토해야 합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Q7. MCP는 꼭 써야 하나요?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음 설치 단계에서는 필요 없습니다. 기본 CLI 사용에 익숙해진 뒤 외부 도구나 문서, API와 연결할 때 MCP 사용법을 보면 됩니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Q8. Claude Code 대체가 가능한가요?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일부 용도는 대체 가능하지만 사용감은 다릅니다. Claude Code를 터미널 중심으로 깊게 쓰고 있었다면 직접 비교 테스트가 필요합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Q9. Codex CLI 대체로 볼 수 있나요?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 분석과 수정 보조라는 점에서는 비교 대상이 될 수 있습니다. 다만 모델, 권한 처리, 프로젝트 이해 방식이 다르므로 완전 대체라고 단정하기는 어렵습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Q10. 설치할 때 가장 조심할 점은 무엇인가요?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공식 문서의 설치 명령만 사용하는 것입니다. AI CLI 도구를 사칭한 설치 스크립트나 npm 패키지는 보안 위험이 있을 수 있습니다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>개발 이야기/IT</category>
      <category>ai 개발 도구</category>
      <category>Antigravity CLI</category>
      <category>Antigravity CLI 사용법</category>
      <category>Antigravity CLI 설치</category>
      <category>CLI AI</category>
      <category>Gemini CLI 종료</category>
      <category>Gemini CLI 후속</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/166</guid>
      <comments>https://infotake.tistory.com/166#entry166comment</comments>
      <pubDate>Fri, 19 Jun 2026 01:31:02 +0900</pubDate>
    </item>
    <item>
      <title>JavaScript 오목 게임 개발부터 자동 저장까지 직접 구현해보기</title>
      <link>https://infotake.tistory.com/165</link>
      <description>&lt;div&gt;
&lt;style&gt;
code {
  background:#000;
  color:#fff;
  font-family: initial;
  line-height: normal;
}
  
/* 코드 박스 */
.code-box{
    background:#000;
    color:#fff;
    padding:18px;
    border-radius:10px;
    overflow-x:auto;
    white-space:pre;
    margin:20px 0;
    font-size:14px;
  	font-family: initial;
}
#omok-info{
    font-weight:bold;
    margin:10px 0;
}

#omok-board{
    display:grid;
    grid-template-columns:repeat(15,34px);
    grid-template-rows:repeat(15,34px);
    width:max-content;
    margin:20px auto;
    background:#D8A94F;
    padding:10px;
    border:3px solid #8A5A22;
}

.omok-cell{
    width:34px;
    height:34px;
    border-right:1px solid #6b4718;
    border-bottom:1px solid #6b4718;
    position:relative;
}

.omok-cell.omok-black::after,
.omok-cell.omok-white::after{
    content:&quot;&quot;;
    position:absolute;
    left:4px;
    top:4px;
    width:25px;
    height:25px;
    border-radius:50%;
}

.omok-cell.omok-black::after{
    background:#111;
}

.omok-cell.omok-white::after{
    background:#fff;
    border:1px solid #aaa;
}

.omok-cell.omok-win::after{
    outline:3px solid gold;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;div style=&quot;display: flex; flex-direction: column; align-items: center; gap: 12px; margin: 20px 0;&quot;&gt;
&lt;div id=&quot;omok-info&quot; style=&quot;font-weight: bold;&quot;&gt;현재 차례 : 흑돌&lt;/div&gt;
&lt;div style=&quot;display: flex; justify-content: center; gap: 8px;&quot;&gt;&lt;label id=&quot;omok-undo&quot; style=&quot;display: inline-block; padding: 8px 16px; margin: 3px; background: #4a90e2; color: #fff; border: 1px solid #357abd; border-radius: 5px; cursor: pointer; font-size: 14px; font-weight: bold; user-select: none;&quot;&gt; 한 수 무르기 &lt;/label&gt; &lt;label id=&quot;omok-reset&quot; style=&quot;display: inline-block; padding: 8px 16px; margin: 3px; background: #f44336; color: #fff; border: 1px solid #d32f2f; border-radius: 5px; cursor: pointer; font-size: 14px; font-weight: bold; user-select: none;&quot;&gt; 새 게임 &lt;/label&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;omok-board&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
const OMOK_SIZE=15;
const OMOK_STORAGE_KEY=&quot;gomoku_blog_version&quot;;

let omokBoard;
let omokCurrentPlayer;
let omokGameOver;
let omokHistory;
let omokWinCells;

/* 게임 초기화 */
function omokInitGame(){
    omokBoard=Array.from({length:OMOK_SIZE},()=&gt;Array(OMOK_SIZE).fill(&quot;&quot;));
    omokCurrentPlayer=&quot;black&quot;;
    omokGameOver=false;
    omokHistory=[];
    omokWinCells=[];
    omokSaveGame();
}

/* 화면 출력 */
function omokRender(){
    const boardDiv=document.getElementById(&quot;omok-board&quot;);
    boardDiv.innerHTML=&quot;&quot;;

    document.getElementById(&quot;omok-info&quot;).textContent=
        omokGameOver?
        (omokCurrentPlayer===&quot;black&quot;?&quot;흑돌 승리&quot;:&quot;백돌 승리&quot;):
        (&quot;현재 차례 : &quot;+(omokCurrentPlayer===&quot;black&quot;?&quot;흑돌&quot;:&quot;백돌&quot;));

    for(let y=0;y&lt;OMOK_SIZE;y++){
        for(let x=0;x&lt;OMOK_SIZE;x++){
            const c=document.createElement(&quot;div&quot;);
            c.className=&quot;omok-cell&quot;;

            if(omokBoard[y][x]){
                c.classList.add(&quot;omok-&quot;+omokBoard[y][x]);
            }

            if(omokIsWinCell(x,y)){
                c.classList.add(&quot;omok-win&quot;);
            }

            c.onclick=()=&gt;omokPlaceStone(x,y);
            boardDiv.appendChild(c);
        }
    }
}

/* 돌 놓기 */
function omokPlaceStone(x,y){
    if(omokGameOver) return;
    if(omokBoard[y][x]!==&quot;&quot;) return;

    omokBoard[y][x]=omokCurrentPlayer;
    omokHistory.push({x,y,p:omokCurrentPlayer});

    if(omokCheckWin(x,y,omokCurrentPlayer)){
        omokGameOver=true;
        omokSaveGame();
        omokRender();
        return;
    }

    omokCurrentPlayer=omokCurrentPlayer===&quot;black&quot;?&quot;white&quot;:&quot;black&quot;;
    omokSaveGame();
    omokRender();
}

/* 승리 판정 */
function omokCheckWin(x,y,p){
    const dirs=[[1,0],[0,1],[1,1],[1,-1]];

    for(const [dx,dy] of dirs){
        let cells=[{x,y}];
        cells=cells.concat(omokScan(x,y,dx,dy,p));
        cells=cells.concat(omokScan(x,y,-dx,-dy,p));

        if(cells.length&gt;=5){
            omokWinCells=cells.slice(0,5);
            return true;
        }
    }

    return false;
}

/* 연속 돌 탐색 */
function omokScan(x,y,dx,dy,p){
    const arr=[];
    let nx=x+dx;
    let ny=y+dy;

    while(nx&gt;=0 &amp;&amp; ny&gt;=0 &amp;&amp; nx&lt;OMOK_SIZE &amp;&amp; ny&lt;OMOK_SIZE &amp;&amp; omokBoard[ny][nx]===p){
        arr.push({x:nx,y:ny});
        nx+=dx;
        ny+=dy;
    }

    return arr;
}

/* 승리 돌 확인 */
function omokIsWinCell(x,y){
    return omokWinCells.some(c=&gt;c.x===x&amp;&amp;c.y===y);
}

/* 게임 저장 */
function omokSaveGame(){
    localStorage.setItem(OMOK_STORAGE_KEY,JSON.stringify({
        board:omokBoard,
        currentPlayer:omokCurrentPlayer,
        gameOver:omokGameOver,
        history:omokHistory,
        winCells:omokWinCells
    }));
}

/* 게임 복원 */
function omokLoadGame(){
    const s=localStorage.getItem(OMOK_STORAGE_KEY);

    if(!s){
        omokInitGame();
        return;
    }

    const d=JSON.parse(s);
    omokBoard=d.board;
    omokCurrentPlayer=d.currentPlayer;
    omokGameOver=d.gameOver;
    omokHistory=d.history;
    omokWinCells=d.winCells||[];
}

/* 한 수 무르기 */
document.getElementById(&quot;omok-undo&quot;).onclick=function(){
    if(omokHistory.length===0) return;

    const last=omokHistory.pop();
    omokBoard[last.y][last.x]=&quot;&quot;;
    omokGameOver=false;
    omokWinCells=[];
    omokCurrentPlayer=last.p;
    omokSaveGame();
    omokRender();
};

/* 새 게임 */
document.getElementById(&quot;omok-reset&quot;).onclick=function(){
    localStorage.removeItem(OMOK_STORAGE_KEY);
    omokInitGame();
    omokRender();
};

/* 프로그램 시작 */
omokLoadGame();
omokRender();
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;매일 일하느라 고생 많으시죠?&amp;nbsp; 오늘은 오목 한 판 두면서 잠깐 쉬어가세요. 하루 종일 업무하고 회의하고 개발하다 보면 머리도 지치고 집중력도 떨어질 때가 있습니다. 잠깐 쉬어가는 것도 업무의 일부라고 생각합니다. 오목 게임은 왜 아직도 재미있을까요? ㅎㅎ별도 설치 없이 브라우저에서 바로 실행되는 HTML 오목 게임입니다. 동료와 번갈아 즐겨도 좋고, 혼자 연습하면서 시간을 보내기에도 충분히 재미있습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;div class=&quot;code-box&quot;&gt;&lt;code&gt;&amp;lt;style&amp;gt;
#omok-info{
    font-weight:bold;
    margin:10px 0;
}

#omok-board{
    display:grid;
    grid-template-columns:repeat(15,34px);
    grid-template-rows:repeat(15,34px);
    width:max-content;
    margin:20px auto;
    background:#D8A94F;
    padding:10px;
    border:3px solid #8A5A22;
}

.omok-cell{
    width:34px;
    height:34px;
    border-right:1px solid #6b4718;
    border-bottom:1px solid #6b4718;
    position:relative;
}

.omok-cell.omok-black::after,
.omok-cell.omok-white::after{
    content:&quot;&quot;;
    position:absolute;
    left:4px;
    top:4px;
    width:25px;
    height:25px;
    border-radius:50%;
}

.omok-cell.omok-black::after{
    background:#111;
}

.omok-cell.omok-white::after{
    background:#fff;
    border:1px solid #aaa;
}

.omok-cell.omok-win::after{
    outline:3px solid gold;
}
&amp;lt;/style&amp;gt;
&amp;lt;div style=&quot;text-align:center;&quot;&amp;gt;
    &amp;lt;div id=&quot;omok-info&quot;&amp;gt;
        현재 차례 : 흑돌
    &amp;lt;/div&amp;gt;
    &amp;lt;button id=&quot;omok-undo&quot;&amp;gt;
        한 수 무르기
    &amp;lt;/button&amp;gt;
    &amp;lt;button id=&quot;omok-reset&quot;&amp;gt;
        새 게임
    &amp;lt;/button&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div id=&quot;omok-board&quot;&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;script&amp;gt;
const OMOK_SIZE = 15;
const OMOK_STORAGE_KEY = &quot;gomoku_blog_version&quot;;

let omokBoard;
let omokCurrentPlayer;
let omokGameOver;
let omokHistory;
let omokWinCells;

/* 게임 초기화 */
function omokInitGame(){
    omokBoard = Array.from(
        { length: OMOK_SIZE },
        () =&amp;gt; Array(OMOK_SIZE).fill(&quot;&quot;)
    );
    omokCurrentPlayer = &quot;black&quot;;
    omokGameOver = false;
    omokHistory = [];
    omokWinCells = [];
    omokSaveGame();
}

/* 화면 출력 */
function omokRender(){
    const boardDiv = document.getElementById(&quot;omok-board&quot;);
    boardDiv.innerHTML = &quot;&quot;;
    document.getElementById(&quot;omok-info&quot;).textContent = omokGameOver ? (omokCurrentPlayer === &quot;black&quot; ? &quot;흑돌 승리&quot; : &quot;백돌 승리&quot;) : (&quot;현재 차례 : &quot; + (omokCurrentPlayer === &quot;black&quot; ? &quot;흑돌&quot; : &quot;백돌&quot;));

    for(let y=0; y&amp;lt;OMOK_SIZE; y++){
        for(let x=0; x&amp;lt;OMOK_SIZE; x++){
            const c = document.createElement(&quot;div&quot;);
            c.className = &quot;omok-cell&quot;;

            if(omokBoard[y][x]){
                c.classList.add(&quot;omok-&quot; + omokBoard[y][x]);
            }

            if(omokIsWinCell(x,y)){
                c.classList.add(&quot;omok-win&quot;);
            }
            c.onclick = () =&amp;gt; omokPlaceStone(x,y);
            boardDiv.appendChild(c);
        }
    }
}

/* 돌 놓기 */
function omokPlaceStone(x,y){
    if(omokGameOver) return;
    if(omokBoard[y][x] !== &quot;&quot;) return;

    omokBoard[y][x] = omokCurrentPlayer;
    omokHistory.push({x, y, p: omokCurrentPlayer});

    if(omokCheckWin(x,y,omokCurrentPlayer)){
        omokGameOver = true;
        omokSaveGame();
        omokRender();
        return;
    }

    omokCurrentPlayer = omokCurrentPlayer === &quot;black&quot; ? &quot;white&quot; : &quot;black&quot;;
    omokSaveGame();
    omokRender();
}

/* 승리 판정 */
function omokCheckWin(x,y,p){
    const dirs = [
        [1,0], [0,1], [1,1], [1,-1]
    ];

    for(const [dx,dy] of dirs){
        let cells = [{x,y}];
        cells = cells.concat(omokScan(x,y,dx,dy,p));
        cells = cells.concat(omokScan(x,y,-dx,-dy,p));

        if(cells.length &amp;gt;= 5){
            omokWinCells = cells.slice(0,5);
            return true;
        }
    }

    return false;
}

/* 연속 돌 탐색 */
function omokScan(x,y,dx,dy,p){
    const arr = [];

    let nx = x + dx;
    let ny = y + dy;

    while(
        nx &amp;gt;= 0 &amp;amp;&amp;amp;
        ny &amp;gt;= 0 &amp;amp;&amp;amp;
        nx &amp;lt; OMOK_SIZE &amp;amp;&amp;amp;
        ny &amp;lt; OMOK_SIZE &amp;amp;&amp;amp;
        omokBoard[ny][nx] === p
    ){
        arr.push({x:nx,y:ny});
        nx += dx;
        ny += dy;
    }
    return arr;
}

/* 승리 돌 확인 */
function omokIsWinCell(x,y){
    return omokWinCells.some(c=&amp;gt;c.x===x &amp;amp;&amp;amp; c.y===y);
}

/* 게임 저장 */
function omokSaveGame(){
    localStorage.setItem(
        OMOK_STORAGE_KEY,
        JSON.stringify({
            board:omokBoard,
            currentPlayer:omokCurrentPlayer,
            gameOver:omokGameOver,
            history:omokHistory,
            winCells:omokWinCells
        })
    );
}

/* 게임 복원 */
function omokLoadGame(){
    const s = localStorage.getItem(OMOK_STORAGE_KEY);

    if(!s){
        omokInitGame();
        return;
    }

    const d = JSON.parse(s);
    omokBoard = d.board;
    omokCurrentPlayer = d.currentPlayer;
    omokGameOver = d.gameOver;
    omokHistory = d.history;
    omokWinCells = d.winCells || [];
}

/* 한 수 무르기 */
document.getElementById(&quot;omok-undo&quot;).onclick = function(){
    if(omokHistory.length === 0) return;
    const last = omokHistory.pop();
    omokBoard[last.y][last.x] = &quot;&quot;;
    omokGameOver = false;
    omokWinCells = [];
    omokCurrentPlayer = last.p;
    omokSaveGame();
    omokRender();
};

/* 새 게임 */
document.getElementById(&quot;omok-reset&quot;).onclick = function(){
    localStorage.removeItem(OMOK_STORAGE_KEY);
    omokInitGame();
    omokRender();
};

/* 프로그램 시작 */
omokLoadGame();
omokRender();
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;오목 게임의 변화&lt;/h3&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;1990년대&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;간단한 PC 게임으로 많이 즐겼습니다. 혼자 플레이하거나 친구와 번갈아 두는 방식이 대부분이었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2000년대&lt;/h4&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;h4 data-ke-size=&quot;size20&quot;&gt;2010년대&lt;/h4&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;h4 data-ke-size=&quot;size20&quot;&gt;2020년대 이후&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;HTML5와 JavaScript 기반 웹 게임이 많아지면서 설치 없이 바로 실행되는 방식이 일반적인 형태가 되었습니다.&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;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;initGame()&lt;/b&gt;&lt;br /&gt;게임을 처음 시작하거나 새 게임을 눌렀을 때 실행됩니다. 바둑판 배열과 플레이어 정보, 착수 기록 등을 모두 초기화&lt;/li&gt;
&lt;li&gt;&lt;b&gt;render()&lt;/b&gt;&lt;br /&gt;현재 게임 상태를 화면에 다시 그립니다. 바둑판과 돌의 위치, 현재 차례, 승리 표시까지 한 번에 갱신&lt;/li&gt;
&lt;li&gt;&lt;b&gt;placeStone(x, y)&lt;/b&gt;&lt;br /&gt;사용자가 클릭한 위치에 돌을 놓는 핵심 함수입니다. 착수 기록 저장, 승리 검사, 플레이어 교체까지 함께 처리&lt;/li&gt;
&lt;li&gt;&lt;b&gt;checkWin(x, y, player)&lt;/b&gt;&lt;br /&gt;가로, 세로, 대각선 네 방향을 검사하여 같은 색 돌이 다섯 개 이상 연결되었는지 확인&lt;/li&gt;
&lt;li&gt;&lt;b&gt;scan(x, y, dx, dy, player)&lt;/b&gt;&lt;br /&gt;특정 방향으로 같은 색 돌이 얼마나 연속되는지 탐색하는 함수입니다. 승리 판정의 핵심 로직으로 사용&lt;/li&gt;
&lt;li&gt;&lt;b&gt;isWinCell(x, y)&lt;/b&gt;&lt;br /&gt;현재 좌표가 승리한 다섯 개의 돌인지 확인하여 화면에서 강조 표시할 때 사용&lt;/li&gt;
&lt;li&gt;&lt;b&gt;saveGame()&lt;/b&gt;&lt;br /&gt;현재 게임 상태를 LocalStorage에 저장합니다. 새로고침 후에도 이어서 플레이할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;loadGame()&lt;/b&gt;&lt;br /&gt;저장된 게임 데이터가 있는지 확인한 뒤 이전 진행 상황을 자동으로 복원&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Undo(한 수 무르기)&lt;/b&gt;&lt;br /&gt;history 배열을 이용하여 마지막 착수를 취소하고 직전 상태로 게임을 되돌림&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Reset(새 게임)&lt;/b&gt;&lt;br /&gt;저장된 데이터를 삭제한 뒤 게임을 완전히 새로 시작&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;마무리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;잠깐 쉬는 시간에 부담 없이 즐기기 좋은 게임이 바로 오목입니다. 규칙은 간단하지만 한 수 차이로 승부가 갈리는 만큼 생각보다 몰입감도 높습니다. 직접 플레이도 해보시고, 코드도 함께 살펴보면서 HTML과 JavaScript 게임 제작 방식도 경험해 보세요.&lt;/p&gt;</description>
      <category>개발 이야기/프로그램</category>
      <category>JavaScript 오목</category>
      <category>게임</category>
      <category>쉬어가기</category>
      <category>스크립트 오목</category>
      <category>오목</category>
      <category>코드제공</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/165</guid>
      <comments>https://infotake.tistory.com/165#entry165comment</comments>
      <pubDate>Thu, 18 Jun 2026 00:12:25 +0900</pubDate>
    </item>
    <item>
      <title>URL 인코딩, 디코딩 예제 프로그램</title>
      <link>https://infotake.tistory.com/77</link>
      <description>&lt;style&gt;
/* 코드 박스 */
.code-box{
    background:#000;
    color:#fff;
    padding:18px;
    border-radius:10px;
    overflow-x:auto;
    white-space:pre;
    margin:20px 0;
    font-size:14px;
}
&lt;/style&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;279&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/99E328475BE0AC3912?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/99E328475BE0AC3912?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99E328475BE0AC3912&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99E328475BE0AC3912&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;500&quot; height=&quot;279&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;279&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
	function decoder() {
		var obj = document.getElementById('test77');
		obj.value = decodeURIComponent(obj.value.replace(/\+/g, &quot; &quot;));
	}
	function encoder() {
		var obj = document.getElementById('test77');
		obj.value = encodeURIComponent(obj.value).replace(/'/g, &quot;%27&quot;).replace(/&quot;/g, &quot;%22&quot;);
	}
&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;textarea id=&quot;test77&quot; style=&quot;width: 100%;&quot; cols=&quot;&quot; name=&quot;test77&quot; rows=&quot;20&quot; autofocus=&quot;autofocus&quot; placeholder=&quot;인코딩 또는 디코딩대상을 넣고 테스트 해보세요&quot;&gt;&lt;/textarea&gt;&lt;button type=&quot;button&quot;&gt;디코드(Decoder)&lt;/button&gt;&lt;button type=&quot;button&quot;&gt;인코드(Encoder)&lt;/button&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h5 style=&quot;border-left: 8px solid #868686; padding-left: 3px; color: #008299; line-height: 1.5; margin-bottom: 5px;&quot;&gt;예제&lt;/h5&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;div class=&quot;code-box&quot;&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot; pageEncoding=&quot;UTF-8&quot;
%&amp;gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;URL 인코딩, 디코딩 예제&amp;lt;/title&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;
    function decoder() {
        var obj = document.getElementById('test');
        obj.value = decodeURIComponent(obj.value.replace(/\+/g, &quot; &quot;));
    }
    function encoder() {
        var obj = document.getElementById('test');
        obj.value = encodeURIComponent(obj.value).replace(/'/g, &quot;%27&quot;).replace(/&quot;/g, &quot;%22&quot;);
    }
&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;form&amp;gt;
        &amp;lt;textarea rows=&quot;20&quot; cols=&quot;&quot; style=&quot;width: 100%;&quot; name=&quot;test&quot; id=&quot;test&quot; autofocus=&quot;autofocus&quot; placeholder=&quot;인코딩 또는 디코딩대상을 넣고 테스트 해보세요&quot; onclick=&quot;this.select();&quot;&amp;gt;&amp;lt;/textarea&amp;gt;
        &amp;lt;button type=&quot;button&quot; onclick='decoder();'&amp;gt;디코드(Decoder)&amp;lt;/button&amp;gt;
        &amp;lt;button type=&quot;button&quot; onclick='encoder();'&amp;gt;인코드(Encoder)&amp;lt;/button&amp;gt;
    &amp;lt;/form&amp;gt;
&amp;lt;/body&amp;gt;
  &amp;lt;/html&amp;gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발 이야기/IT</category>
      <category>Decoder</category>
      <category>Encoder</category>
      <category>url</category>
      <category>utf8</category>
      <category>디코딩</category>
      <category>예제</category>
      <category>인코딩</category>
      <category>프로그램</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/77</guid>
      <comments>https://infotake.tistory.com/77#entry77comment</comments>
      <pubDate>Tue, 16 Jun 2026 23:49:42 +0900</pubDate>
    </item>
    <item>
      <title>온라인에서 이미지 크기 조절과 변환을 간편하게 하기(바로사용)</title>
      <link>https://infotake.tistory.com/163</link>
      <description>&lt;div style=&quot;margin: 0 auto; padding: 1.5rem 0;&quot;&gt;
&lt;div style=&quot;margin-bottom: 18px;&quot;&gt;
&lt;p style=&quot;font-size: 13px; color: #555; line-height: 1.8; margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;블로그에 올릴 이미지, 매번 포토샵 켜기 번거로우셨죠? 파일을 끌어다 놓기만 하면 원하는 크기로 즉시 변환됩니다. 용량도 함께 확인할 수 있어 최적화된 이미지를 손쉽게 준비할 수 있습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div id=&quot;img-drop&quot; style=&quot;border: 2px dashed #ccc; border-radius: 10px; padding: 2.5rem 1rem; text-align: center; cursor: pointer; background: #f7f7f7;&quot;&gt;
&lt;div style=&quot;font-size: 26px; margin-bottom: 8px;&quot;&gt;⬆&lt;/div&gt;
&lt;span style=&quot;font-size: 14px; color: #888;&quot;&gt;이미지를 드래그하거나 클릭해서 업로드&lt;br /&gt;(Ctrl+V 붙여넣기 가능)&lt;/span&gt;&lt;/div&gt;
&lt;input id=&quot;img-file&quot; style=&quot;display: none;&quot; accept=&quot;image/*&quot; type=&quot;file&quot; /&gt;
&lt;div style=&quot;display: flex; align-items: center; gap: 10px; margin-top: 14px;&quot;&gt;&lt;span style=&quot;font-size: 13px; color: #666; white-space: nowrap;&quot;&gt;변환 크기&lt;/span&gt;&lt;select id=&quot;img-preset&quot; style=&quot;flex: 1; padding: 7px 10px; border-radius: 6px; border: 1px solid #ddd; font-size: 13px;&quot;&gt;
&lt;option value=&quot;origin&quot;&gt;원본 크기 유지&lt;/option&gt;
&lt;option value=&quot;2560&quot;&gt;2560px (2K)&lt;/option&gt;
&lt;option value=&quot;1920&quot;&gt;1920px (FHD)&lt;/option&gt;
&lt;option value=&quot;1600&quot;&gt;1600px&lt;/option&gt;
&lt;option value=&quot;1280&quot;&gt;1280px (HD)&lt;/option&gt;
&lt;option value=&quot;1024&quot;&gt;1024px&lt;/option&gt;
&lt;option value=&quot;800&quot;&gt;800px&lt;/option&gt;
&lt;option value=&quot;640&quot;&gt;640px&lt;/option&gt;
&lt;option value=&quot;480&quot;&gt;480px&lt;/option&gt;
&lt;option value=&quot;320&quot;&gt;320px (모바일)&lt;/option&gt;
&lt;option value=&quot;200&quot;&gt;200px (썸네일)&lt;/option&gt;
&lt;/select&gt;&lt;label style=&quot;display: flex; align-items: center; justify-content: center; height: 32px; padding: 0 10px; border-radius: 6px; border: 1px solid #ccc; background: #fff; font-size: 12px; cursor: pointer; white-space: nowrap; user-select: none; flex-shrink: 0;&quot; for=&quot;img-file&quot;&gt;수동 선택&lt;/label&gt;&lt;/div&gt;
&lt;div style=&quot;font-size: 11px; color: #999; margin-top: 5px; padding-left: 2px;&quot;&gt;&lt;br /&gt;※ 선택한 크기는 이미지 전체(가로&amp;middot;세로 비율 유지)에 적용됩니다. 업로드 이미지보다 큰 해상도는 목록에서 제외됩니다.&lt;/div&gt;
&lt;div id=&quot;img-preview-box&quot; style=&quot;display: none; margin-top: 14px; border-radius: 8px; border: 1px solid #e8e8e8; background: #f0f0f0; text-align: center; padding: 10px;&quot;&gt;&lt;img id=&quot;img-preview&quot; style=&quot;max-width: 100%; max-height: 280px; width: auto; height: auto; display: inline-block; object-fit: contain; border-radius: 6px;&quot; /&gt;&lt;/div&gt;
&lt;div id=&quot;img-info-box&quot; style=&quot;display: none; margin-top: 10px; background: #f7f7f7; border-radius: 8px; border: 1px solid #e8e8e8; padding: 12px 16px;&quot;&gt;
&lt;div style=&quot;display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px;&quot;&gt;
&lt;div&gt;
&lt;div style=&quot;font-size: 11px; color: #999; margin-bottom: 3px;&quot;&gt;원본 용량&lt;/div&gt;
&lt;div id=&quot;img-original&quot; style=&quot;font-size: 14px; font-weight: 500; color: #333;&quot;&gt;-&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;font-size: 11px; color: #999; margin-bottom: 3px;&quot;&gt;변환 용량&lt;/div&gt;
&lt;div id=&quot;img-converted&quot; style=&quot;font-size: 14px; font-weight: 500; color: #333;&quot;&gt;-&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;font-size: 11px; color: #999; margin-bottom: 3px;&quot;&gt;출력 크기&lt;/div&gt;
&lt;div id=&quot;img-dimension&quot; style=&quot;font-size: 14px; font-weight: 500; color: #333;&quot;&gt;-&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;img-guide&quot; style=&quot;display: none; margin-top: 10px; border-radius: 8px; border: 1px solid #d9e8ff; background: #f0f6ff; padding: 12px 14px;&quot;&gt;
&lt;div style=&quot;font-size: 12px; color: #1a56a0; margin-bottom: 8px;&quot;&gt;  변환된 이미지 위에서 &lt;b&gt;우클릭 &amp;rarr; 다른 이름으로 저장&lt;/b&gt;을 눌러주세요.&lt;br /&gt;아래 제안 파일명을 복사해서 저장 시 사용하세요.&lt;/div&gt;
&lt;div style=&quot;display: flex; gap: 6px; align-items: center;&quot;&gt;&lt;input id=&quot;img-fname&quot; style=&quot;flex: 1; padding: 7px 10px; border-radius: 6px; border: 1px solid #b3d0f5; background: #fff; font-size: 12px; color: #333; cursor: text;&quot; readonly=&quot;readonly&quot; type=&quot;text&quot; /&gt; &lt;button id=&quot;img-copy&quot; style=&quot;padding: 7px 12px; border-radius: 6px; border: 1px solid #b3d0f5; background: #fff; font-size: 12px; cursor: pointer; white-space: nowrap; color: #1a56a0;&quot;&gt;복사&lt;/button&gt;&lt;/div&gt;
&lt;div id=&quot;img-copy-msg&quot; style=&quot;display: none; font-size: 11px; color: #389e0d; margin-top: 5px;&quot;&gt;✓ 복사되었습니다!&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-top: 10px; padding: 10px 14px; border-radius: 8px; background: #fafafa; border: 1px solid #eee; font-size: 12px; color: #888; line-height: 1.7;&quot;&gt;  티스토리 보안 정책으로 인해 자동 다운로드가 제한됩니다. 변환된 이미지를 &lt;b&gt;우클릭 &amp;rarr; 다른 이름으로 저장&lt;/b&gt;으로 직접 저장해 주세요.&lt;/div&gt;
&lt;div style=&quot;margin-top: 22px; border-top: 1px solid #eee; padding-top: 18px;&quot;&gt;
&lt;div style=&quot;font-size: 14px; font-weight: bold; color: #333; margin-bottom: 12px;&quot;&gt;  사용법&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 12px;&quot;&gt;
&lt;div style=&quot;font-size: 13px; font-weight: 600; color: #444; margin-bottom: 4px;&quot;&gt;① 이미지 업로드&lt;/div&gt;
&lt;p style=&quot;font-size: 12px; color: #666; line-height: 1.8; margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;변환할 이미지를 드래그하거나 영역을 클릭해 선택하세요. 클립보드에 복사된 이미지는 Ctrl+V로 바로 붙여넣을 수 있습니다.&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 12px;&quot;&gt;
&lt;div style=&quot;font-size: 13px; font-weight: 600; color: #444; margin-bottom: 4px;&quot;&gt;② 크기 선택&lt;/div&gt;
&lt;p style=&quot;font-size: 12px; color: #666; line-height: 1.8; margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;드롭다운에서 원하는 출력 크기를 고르면 가로&amp;middot;세로 비율이 자동으로 유지된 채 전체 이미지에 적용됩니다. 업로드한 이미지보다 큰 해상도는 자동으로 목록에서 제외됩니다.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;font-size: 13px; font-weight: 600; color: #444; margin-bottom: 4px;&quot;&gt;③ 저장&lt;/div&gt;
&lt;p style=&quot;font-size: 12px; color: #666; line-height: 1.8; margin: 0;&quot; data-ke-size=&quot;size16&quot;&gt;변환된 미리보기 이미지 위에서 우클릭 후 &lt;b&gt;다른 이름으로 저장&lt;/b&gt;을 선택하세요. 제안 파일명을 복사해서 저장 시 사용하시면 됩니다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;canvas id=&quot;img-canvas&quot; style=&quot;display: none;&quot;&gt;&lt;/canvas&gt;&lt;/div&gt;
&lt;script&gt;
var ImageConverter = (function () {
  var IDS = {
    drop:'img-drop', file:'img-file', preset:'img-preset', canvas:'img-canvas',
    preview:'img-preview', previewBox:'img-preview-box', infoBox:'img-info-box',
    original:'img-original', converted:'img-converted', dimension:'img-dimension',
    guide:'img-guide', fname:'img-fname', copy:'img-copy', copyMsg:'img-copy-msg'
  };
  var state = { baseName:'image', lastFile:null };
  var PRESET_LIST = [
    {value:'origin', label:'원본 크기 유지'},
    {value:'2560',   label:'2560px (2K)'},
    {value:'1920',   label:'1920px (FHD)'},
    {value:'1600',   label:'1600px'},
    {value:'1280',   label:'1280px (HD)'},
    {value:'1024',   label:'1024px'},
    {value:'800',    label:'800px'},
    {value:'640',    label:'640px'},
    {value:'480',    label:'480px'},
    {value:'320',    label:'320px (모바일)'},
    {value:'200',    label:'200px (썸네일)'}
  ];
  function $(id){return document.getElementById(id);}
  function formatKB(b){return (b/1024).toFixed(1)+' KB';}
  function show(id){$(id).style.display='block';}
  function hide(id){$(id).style.display='none';}
  function getMaxPx(){var v=$(IDS.preset).value;return v==='origin'?null:parseInt(v);}
  function filterPresets(longerSide){
    var sel=$(IDS.preset);
    var prev=sel.value;
    sel.innerHTML='';
    for(var i=0;i&lt;PRESET_LIST.length;i++){
      var p=PRESET_LIST[i];
      if(p.value!=='origin'&amp;&amp;parseInt(p.value)&gt;longerSide)continue;
      var opt=document.createElement('option');
      opt.value=p.value;
      opt.textContent=p.label;
      sel.appendChild(opt);
    }
    sel.value=(sel.querySelector('option[value=&quot;'+prev+'&quot;]'))?prev:'origin';
  }
  function buildFileName(base,maxPx,w,h){
    var map={2560:'2560px_2K',1920:'1920px_FHD',1600:'1600px',1280:'1280px_HD',
             1024:'1024px',800:'800px',640:'640px',480:'480px',320:'320px_mobile',200:'200px_thumb'};
    var label=!maxPx?('origin_'+w+'x'+h):(map[maxPx]||(maxPx+'px'));
    return base+'_'+label+'.png';
  }
  function calcDimensions(iw,ih,maxPx){
    if(!maxPx)return{w:iw,h:ih};
    var longer=Math.max(iw,ih);
    if(longer&lt;=maxPx)return{w:iw,h:ih};
    var r=maxPx/longer;return{w:Math.round(iw*r),h:Math.round(ih*r)};
  }
  function renderToCanvas(img,w,h){
    var cv=$(IDS.canvas),ctx=cv.getContext('2d');
    cv.width=w;cv.height=h;ctx.clearRect(0,0,w,h);ctx.drawImage(img,0,0,w,h);
  }
  function updateUI(origSize,blobSize,w,h,blobURL){
    $(IDS.preview).src=blobURL;
    $(IDS.original).textContent=formatKB(origSize);
    $(IDS.converted).textContent=formatKB(blobSize);
    $(IDS.dimension).textContent=w+'×'+h;
    $(IDS.fname).value=buildFileName(state.baseName,getMaxPx(),w,h);
    show(IDS.previewBox);show(IDS.infoBox);show(IDS.guide);hide(IDS.copyMsg);
  }
  function processFile(file){
    if(!file||!file.type.startsWith('image/'))return;
    state.lastFile=file;
    state.baseName=file.name.replace(/\.[^/.]+$/,'');
    var origSize=file.size;
    var reader=new FileReader();
    reader.onload=function(e){
      var img=new Image();img.src=e.target.result;
      img.onload=function(){
        filterPresets(Math.max(img.width,img.height));
        var dim=calcDimensions(img.width,img.height,getMaxPx());
        renderToCanvas(img,dim.w,dim.h);
        $(IDS.canvas).toBlob(function(blob){
          updateUI(origSize,blob.size,dim.w,dim.h,URL.createObjectURL(blob));
        },'image/png');
      };
    };
    reader.readAsDataURL(file);
  }
  function copyFileName(){
    var el=$(IDS.fname);
    if(navigator.clipboard&amp;&amp;navigator.clipboard.writeText){
      navigator.clipboard.writeText(el.value).then(showCopyMsg).catch(fallbackCopy);
    }else{fallbackCopy();}
  }
  function fallbackCopy(){
    var el=$(IDS.fname);el.select();el.setSelectionRange(0,999);
    try{document.execCommand('copy');showCopyMsg();}catch(e){}
  }
  function showCopyMsg(){show(IDS.copyMsg);setTimeout(function(){hide(IDS.copyMsg);},2000);}
  function setDropStyle(on){
    var el=$(IDS.drop);
    el.style.background=on?'#eef2ff':'#f7f7f7';el.style.borderColor=on?'#99b':'#ccc';
  }
  function bindEvents(){
    $(IDS.drop).addEventListener('click',function(){$(IDS.file).click();});
    $(IDS.drop).addEventListener('dragover',function(e){e.preventDefault();setDropStyle(true);});
    $(IDS.drop).addEventListener('dragleave',function(){setDropStyle(false);});
    $(IDS.drop).addEventListener('drop',function(e){e.preventDefault();setDropStyle(false);if(e.dataTransfer.files[0])processFile(e.dataTransfer.files[0]);});
    $(IDS.file).addEventListener('change',function(e){if(e.target.files[0])processFile(e.target.files[0]);});
    $(IDS.preset).addEventListener('change',function(){if(state.lastFile)processFile(state.lastFile);});
    $(IDS.copy).addEventListener('click',copyFileName);
    document.addEventListener('paste',function(e){
      var items=e.clipboardData?e.clipboardData.items:[];
      for(var i=0;i&lt;items.length;i++){if(items[i].type.startsWith('image')){processFile(items[i].getAsFile());break;}}
    });
  }
  function init(){bindEvents();}
  return{init:init,process:processFile};
})();
ImageConverter.init();
&lt;/script&gt;</description>
      <category>개발 이야기/프로그램</category>
      <category>설치없이</category>
      <category>쉽게</category>
      <category>유틸리티</category>
      <category>이미지크기변경</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/163</guid>
      <comments>https://infotake.tistory.com/163#entry163comment</comments>
      <pubDate>Sat, 13 Jun 2026 14:22:59 +0900</pubDate>
    </item>
    <item>
      <title>개발자의 하루는 왜 끝없이 생각으로 채워질까</title>
      <link>https://infotake.tistory.com/162</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1408&quot; data-origin-height=&quot;768&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l46lY/dJMcaglv4sM/4PFSIO8qAbe0lkfKykO4uK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l46lY/dJMcaglv4sM/4PFSIO8qAbe0lkfKykO4uK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l46lY/dJMcaglv4sM/4PFSIO8qAbe0lkfKykO4uK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl46lY%2FdJMcaglv4sM%2F4PFSIO8qAbe0lkfKykO4uK%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;1408&quot; height=&quot;768&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1408&quot; data-origin-height=&quot;768&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div id=&quot;post-content&quot;&gt;
&lt;style&gt;
#post-content h4{
    margin-top:50px;
    margin-bottom:20px;
    line-height:1.4;
}

#post-content h6{
    margin-top:30px;
    margin-bottom:15px;
    line-height:1.5;
}

#post-content p{
    line-height:1.8;
    margin:16px 0;
}
&lt;/style&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발자의 하루는 단순히 코딩을 얼마나 오래 했는지가 아니라, 집중과 이탈, 회복이 반복되는 리듬의 설계에 가깝다. 장소가 어디든 생각은 계속 이어지고, 사소한 휴식조차 다음 코드의 일부가 된다. 지하철 안에서도, 밥을 먹다가도, 심지어 아무 생각 없이 걷는 순간에도 구조는 계속 재편된다. 계속 고민고민 하는데 당신은 어떤생활을 하고 있나요?&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;하루는 선형이 아니라 끊어진 흐름&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발자의 하루를 시간표로 보면 깔끔하게 정리된 것처럼 보인다. 하지만 실제로는 그 사이사이가 더 중요하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;화장실을 가는 5분, 물을 마시는 2분, 멍하니 창밖을 보는 몇 초. 이런 것들은 단순한 휴식이 아니라 생각이 재정렬되는 구간이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드는 손으로 치는 순간보다 머릿속에서 잠깐 멈췄다가 다시 이어질 때 더 많이 완성된다. 그래서 개발자의 시간은 직선이 아니라 조각조각 끊어진 파형에 가깝다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;집중은 오래 가지 않는다 대신 반복&lt;/h4&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;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;장소는 의미가 없다 상태만&lt;/h4&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;h4 data-ke-size=&quot;size20&quot;&gt;휴식은 중단이 아니라 복구&lt;/h4&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발자의 하루를 빡빡하게 설계하면 오히려 무너진다고 생각 든다 중요한 건&lt;br /&gt;시간을 채우는 게 아니라 흐름이 이어지도록 비워두는 여유가 필요 하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결국 코드는 키보드 위에서만 만들어지지 않고 사람이 멈추는 그 짧은 순간들 속에서 조금씩 완성된다.&lt;/p&gt;
&lt;/div&gt;</description>
      <category>개발 이야기</category>
      <category>개발자</category>
      <category>고민</category>
      <category>삶</category>
      <category>생각</category>
      <category>생활</category>
      <category>일상</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/162</guid>
      <comments>https://infotake.tistory.com/162#entry162comment</comments>
      <pubDate>Fri, 12 Jun 2026 12:46:15 +0900</pubDate>
    </item>
    <item>
      <title>메일 서버는 어떻게 동작할까? SMTP IMAP POP3 구조와 Java 예제</title>
      <link>https://infotake.tistory.com/161</link>
      <description>&lt;div&gt;
&lt;style&gt;
/* 본문 */
#post-content,
.post-content {
    line-height: 1.8;
    font-size: 16px;
    color: #333;
}

/* H2 제목 */
h2[data-ke-size]{
    margin-top:50px;
    margin-bottom:20px;
    padding-bottom:10px;
    border-bottom:2px solid #3b82f6;
    line-height:1.4;
    font-weight:700;
    color:#1e3a5f;
}

/* H3 제목 */
h3[data-ke-size]{
    margin-top:35px;
    margin-bottom:15px;
    line-height:1.5;
    font-weight:600;
    color:#24507a;
}

/* H4 제목 */
h4[data-ke-size]{
    margin-top:25px;
    margin-bottom:10px;
    line-height:1.5;
    font-weight:600;
    color:#356b95;
}

/* 문단 */
p[data-ke-size]{
    margin:16px 0;
    line-height:1.9;
}

/* 리스트 */
ul[data-ke-list-type]{
    margin:15px 0 20px 20px;
    line-height:1.8;
}

ul[data-ke-list-type] li{
    margin-bottom:8px;
}

/* 코드 블럭 */
pre{
    background:#111;
  	color:#fff;
    padding:18px;
    border-radius:10px;
    overflow-x:auto;
    margin:20px 0;
    line-height:1.6;
    font-size:14px;
}
  
/* 코드 박스 */
.code-box{
    background:#000;
    color:#fff;
    padding:18px;
    border-radius:10px;
    overflow-x:auto;
    white-space:pre;
    margin:20px 0;
    font-size:14px;
}

/* 표 */
.basic-table{
    width:100%;
    border-collapse:collapse;
    margin:20px 0;
    border:1px solid #d7e3f0;
}

.basic-table th{
    background:#4f81bd;
    color:#fff;
    padding:12px;
    text-align:left;
}

.basic-table td{
    border:1px solid #d7e3f0;
    padding:12px;
}

.basic-table tr:nth-child(even){
    background:#f5f9ff;
}

.basic-table tr:hover{
    background:#eaf3ff;
}

/* 정리 박스 */
.box{
    margin-top:40px;
    padding:25px;
    border:1px solid #d7e3f0;
    background:#f7fbff;
    border-radius:10px;
}

.box h3{
    margin-top:0;
    margin-bottom:15px;
    color:#24507a;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;제목 없음.png&quot; data-origin-width=&quot;1450&quot; data-origin-height=&quot;927&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nSM3g/dJMcaaezPBI/FoxDbizkVGqKEDcMkrkxGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nSM3g/dJMcaaezPBI/FoxDbizkVGqKEDcMkrkxGK/img.png&quot; data-alt=&quot;메일 프로그램 직접 만들어 보세용&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nSM3g/dJMcaaezPBI/FoxDbizkVGqKEDcMkrkxGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnSM3g%2FdJMcaaezPBI%2FFoxDbizkVGqKEDcMkrkxGK%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;1450&quot; height=&quot;927&quot; data-filename=&quot;제목 없음.png&quot; data-origin-width=&quot;1450&quot; data-origin-height=&quot;927&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;메일 프로그램 개발을 시작하기 전 SMTP, IMAP, POP3, MIME, MX 레코드의 역할을 이해하는 것은 필수입니다. 이 글은 메일관련해서 개발자가 메일 서버 구조와 프로토콜을 쉽게 이해하고 실제 개발 전 기본 개념을 익히는 것을 목적으로 작성되었습니다. 사실 SMTP, IMAP, POP3 만알아도 되지만 자세히 알고 접근하면 코드 품질과 향후 재사용성이 좋아집니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;메일 프로그램 개발 전에 구조부터 이해 부터&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;메일 관련 개발을 처음 시작하면 대부분 SMTP 라이브러리 사용법이나 Gmail 연동 방법부터 검색하게 됩니다. 하지만 실제 프로젝트를 진행하다 보면 생각보다 많은 문제가 발생합니다.&lt;br /&gt;&lt;br /&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;그래서 프로그래밍을 시작하기 전에 SMTP, IMAP, POP3, MIME 같은 기본 프로토콜을 이해하는 것이 중요합니다. 한 번 구조를 이해해두면 Java, Python, Node.js, C#, Go 등 어떤 언어를 사용하더라도 동일한 원리로 메일 시스템을 구현할 수 있습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;메일은 어떤 과정을 거쳐 전달될까?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리가 보내기 버튼을 누른다고 해서 상대방에게 바로 메일이 도착하는 것은 아닙니다. 중간에는 여러 서버와 프로토콜이 동작합니다.&lt;/p&gt;
&lt;div class=&quot;code-box&quot;&gt;사용자
   │
   ▼
SMTP
   │
   ▼
발신 메일 서버
   │
   ▼
DNS MX 조회
   │
   ▼
수신 메일 서버
   │
   ▼
메일 저장소
   │
 ┌─┴───────┐
 ▼         ▼
IMAP      POP3
 ▼         ▼
메일 클라이언트
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초보 개발자가 가장 많이 하는 오해 중 하나가 SMTP만 알면 메일 관련 기능을 모두 구현할 수 있다고 생각하는 것입니다. 하지만 SMTP는 발송 전용이며 메일 조회와 삭제는 IMAP 또는 POP3가 담당합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense responsive&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;반응형&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-6288483252364151&quot; data-ad-format=&quot;auto&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;SMTP, IMAP, POP3 차이점 한눈에 보기&lt;/h2&gt;
&lt;table class=&quot;mail-table&quot; style=&quot;height: 87px;&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style4&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;height: 24px;&quot;&gt;
&lt;th style=&quot;height: 24px;&quot;&gt;프로토콜&lt;/th&gt;
&lt;th style=&quot;height: 24px;&quot;&gt;역할&lt;/th&gt;
&lt;th style=&quot;height: 24px;&quot;&gt;주요 기능&lt;/th&gt;
&lt;th style=&quot;height: 24px;&quot;&gt;현재 사용 비중&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;SMTP&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;메일 발송&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;메일 전송&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;필수&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;IMAP&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;메일 조회&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;동기화, 조회, 삭제&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;매우 높음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;POP3&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;메일 다운로드&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;로컬 저장&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;감소 추세&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;SMTP란 무엇인가?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SMTP(Simple Mail Transfer Protocol)는 메일 발송을 담당하는 프로토콜입니다. 쉽게 말해 우체국 택배 기사와 같은 역할이라고 생각하면 이해하기 쉽습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;SMTP 주요 포트&lt;/h3&gt;
&lt;div class=&quot;code-box&quot;&gt;25  : 서버 간 메일 전달
465 : SSL
587 : TLS (가장 많이 사용)
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;SMTP 동작 흐름&lt;/h3&gt;
&lt;div class=&quot;code-box&quot;&gt;메일 작성
   ▼
SMTP 서버
   ▼
상대방 메일 서버
   ▼
수신 완료
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;IMAP이 사실상 표준인 이유&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 Gmail, Outlook, 네이버메일, 기업 메일 시스템 대부분은 IMAP 기반으로 동작합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;IMAP 특징&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메일이 서버에 저장됨&lt;/li&gt;
&lt;li&gt;PC와 모바일 동기화 가능&lt;/li&gt;
&lt;li&gt;삭제 상태 공유&lt;/li&gt;
&lt;li&gt;읽음 상태 공유&lt;/li&gt;
&lt;li&gt;폴더 이동 상태 공유&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;code-box&quot;&gt;서버 메일함
      │
 ┌────┼────┐
 ▼    ▼    ▼
PC  모바일 웹메일
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;POP3 프로토콜&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;POP3(Post Office Protocol)는 서버에 있는 메일을 사용자의 PC로 다운로드하는 방식입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;MX 레코드?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;메일 서버는 상대방 도메인의 메일 서버 위치를 알아야 메일을 전달할 수 있습니다. 이때 사용하는 것이 DNS의 MX(Mail Exchange) 레코드입니다.&lt;/p&gt;
&lt;div class=&quot;code-box&quot;&gt;example.com
      │
      ▼
DNS 조회
      │
      ▼
MX 레코드 확인
      │
      ▼
mail.example.com
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;MIME은 첨부파일의 핵심 기술&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;메일에 PDF를 첨부하거나 HTML 형식의 메일을 보내려면 MIME(Multipurpose Internet Mail Extensions)을 이해해야 합니다.&lt;/p&gt;
&lt;div class=&quot;code-box&quot;&gt;메일
 ├ Text
 ├ HTML
 ├ Inline Image
 └ Attachment
  &lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense responsive&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;반응형&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-6288483252364151&quot; data-ad-format=&quot;auto&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;SPF, DKIM, DMARC는 왜 알아야 할까?&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;SPF&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 도메인에서 누가 메일을 보낼 수 있는지 정의합니다.&lt;/p&gt;
&lt;div class=&quot;code-box&quot;&gt;v=spf1 include:_spf.google.com ~all
  &lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;DKIM&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전자서명을 이용해 메일 위변조 여부를 검증합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;DMARC&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SPF와 DKIM 검증 결과를 기반으로 수신 정책을 결정합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;자바기반 코드 예제&lt;/h3&gt;
&lt;div class=&quot;code-box&quot;&gt;/*
 * SMTP 메일 발송
 * IMAP 메일 조회
 * 첨부파일 다운로드
 * 메일 삭제 예제
 */
import jakarta.mail.*;
import jakarta.mail.Flags.Flag;
import jakarta.mail.internet.*;
import jakarta.activation.*;
import java.io.File;
import java.util.Properties;

public class MailExample {

    private static final String EMAIL = &quot;your@gmail.com&quot;;
    private static final String PASSWORD = &quot;app-password&quot;;

    public static void main(String[] args) throws Exception {
        sendMail();       // SMTP 발송
        readMail();       // IMAP 조회
        deleteLastMail(); // IMAP 삭제
    }

    // SMTP를 이용한 메일 발송 (첨부파일 포함)
    public static void sendMail() throws Exception {

        // SMTP 서버 연결 정보
        Properties props = new Properties();
        props.put(&quot;mail.smtp.host&quot;, &quot;smtp.gmail.com&quot;);      // SMTP 서버 주소
        props.put(&quot;mail.smtp.port&quot;, &quot;587&quot;);                 // TLS 포트
        props.put(&quot;mail.smtp.auth&quot;, &quot;true&quot;);                // 계정 인증 사용
        props.put(&quot;mail.smtp.starttls.enable&quot;, &quot;true&quot;);     // TLS 암호화 사용

        // SMTP 서버 로그인 인증
        Session session = Session.getInstance(props, new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(EMAIL, PASSWORD);
            }
        });

        // 메일 객체 생성
        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress(EMAIL));
        message.setRecipients(Message.RecipientType.TO,
                InternetAddress.parse(&quot;receiver@test.com&quot;));
        message.setSubject(&quot;Java SMTP 테스트&quot;);

        // 메일 본문
        MimeBodyPart textPart = new MimeBodyPart();
        textPart.setText(&quot;첨부파일 테스트 메일입니다.&quot;);

        // 첨부파일
        MimeBodyPart filePart = new MimeBodyPart();
        filePart.setDataHandler(new DataHandler(
                new FileDataSource(&quot;D:/sample.pdf&quot;)));
        filePart.setFileName(&quot;sample.pdf&quot;);

        // MIME 형식으로 본문 + 첨부파일 구성
        Multipart multipart = new MimeMultipart();
        multipart.addBodyPart(textPart);
        multipart.addBodyPart(filePart);
        message.setContent(multipart);

        // SMTP 서버로 메일 전송
        Transport.send(message);

        System.out.println(&quot;메일 발송 완료&quot;);
    }

    // IMAP으로 받은 메일 조회 및 첨부파일 다운로드
    public static void readMail() throws Exception {

        Properties props = new Properties();
        props.put(&quot;mail.store.protocol&quot;, &quot;imaps&quot;);

        // IMAP 서버 연결
        Session session = Session.getDefaultInstance(props);
        Store store = session.getStore(&quot;imaps&quot;);
        store.connect(&quot;imap.gmail.com&quot;, EMAIL, PASSWORD);

        // 받은편지함(INBOX) 열기
        Folder inbox = store.getFolder(&quot;INBOX&quot;);
        inbox.open(Folder.READ_ONLY);

        Message[] messages = inbox.getMessages();

        for (Message msg : messages) {

            // 메일 제목 출력
            System.out.println(&quot;제목 : &quot; + msg.getSubject());

            // 첨부파일 존재 시 저장
            if (msg.getContent() instanceof Multipart multipart) {
                for (int i = 0; i &amp;lt; multipart.getCount(); i++) {
                    BodyPart part = multipart.getBodyPart(i);

                    if (Part.ATTACHMENT.equalsIgnoreCase(part.getDisposition())) {
                        MimeBodyPart mbp = (MimeBodyPart) part;
                        mbp.saveFile(&quot;D:/download/&quot; + mbp.getFileName());

                        System.out.println(&quot;첨부파일 저장 : &quot;
                                + mbp.getFileName());
                    }
                }
            }
        }

        inbox.close(false);
        store.close();
    }

    // 가장 최근 메일 삭제
    public static void deleteLastMail() throws Exception {

        Properties props = new Properties();

        // IMAP 서버 연결
        Session session = Session.getDefaultInstance(props);
        Store store = session.getStore(&quot;imaps&quot;);
        store.connect(&quot;imap.gmail.com&quot;, EMAIL, PASSWORD);

        // 삭제하려면 READ_WRITE 권한 필요
        Folder inbox = store.getFolder(&quot;INBOX&quot;);
        inbox.open(Folder.READ_WRITE);

        Message[] messages = inbox.getMessages();

        if (messages.length &amp;gt; 0) {

            // 마지막 메일 선택
            Message target = messages[messages.length - 1];

            // 삭제 플래그 설정
            target.setFlag(Flag.DELETED, true);

            System.out.println(&quot;마지막 메일 삭제&quot;);
        }

        // true 옵션으로 실제 삭제 반영
        inbox.close(true);
        store.close();
    }
}  
  &lt;/div&gt;
&lt;div class=&quot;box&quot;&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;정리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;메일 프로그램 개발의 시작은 라이브러리가 아니라 구조를 이해하는 것입니다. SMTP는 보내고, IMAP은 읽고 동기화하며, POP3는 다운로드합니다. 또한 MIME은 첨부파일을 처리하고 MX 레코드는 메일 서버를 찾습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 기본 개념을 이해한 후 JavaMail(Jakarta Mail), Gmail API, Exchange API 등을 학습하면 훨씬 빠르게 메일 자동화 프로그램과 기업용 메일 시스템을 개발할 수 있습니다.&lt;/p&gt;
&lt;/div&gt;</description>
      <category>개발 이야기/IT</category>
      <category>imap</category>
      <category>mail</category>
      <category>pop3</category>
      <category>smtp</category>
      <category>메일</category>
      <category>메일프로토콜</category>
      <category>이해하기</category>
      <category>자바예제</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/161</guid>
      <comments>https://infotake.tistory.com/161#entry161comment</comments>
      <pubDate>Thu, 11 Jun 2026 21:44:21 +0900</pubDate>
    </item>
    <item>
      <title>관상어 수온 총정리 &amp;quot;구피부터 시클리드까지 실제 폐사 줄이는 생존 온도&amp;quot;</title>
      <link>https://infotake.tistory.com/100</link>
      <description>&lt;div id=&quot;post-content&quot;&gt;
&lt;style&gt;
#post-content table {
    border-collapse: collapse;
    width: 100%;
    margin-top: 20px;
}
#post-content th, #post-content td {
    border: 1px solid #333;
    padding: 6px;
    font-size: 13px;
}
#post-content th {
    background: #f2f2f2;
}
&lt;/style&gt;
&lt;div class=&quot;meta-summary&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;meta-summary&quot;&gt;개발자 취미생활로 즐기는 물생활에서 구피를 중심으로 다양한 관상어&amp;middot;열대어&amp;middot;냉수성 어종까지 실제 사육 기준으로 적정 수온과 난이도를 정리해 봤습니다. 코리도라스 쿠피 등 몇 종만 키워 봤지만 정리하다보면 물 생활도 늘겠죠&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;물생활 어종 전체 수온 &amp;amp; 난이도 정리&lt;/h3&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;1. 물생활 핵심 기준&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물생활에서 가장 중요한 기준은 &amp;ldquo;같이 살 수 있는 온도대&amp;rdquo;다. 구피를 기준으로 보면 대부분의 입문 열대어는 24~28℃에서 안정적으로 유지된다. 또하더 수질인데 저같은 관리가 힘든 초보들은 필터나 이런거 보다 그냥 수초와 함께 기르는게 제일 좋더군욤!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. 전체 어종 정리&lt;/h4&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;어종&lt;/th&gt;
&lt;th&gt;적정 수온&lt;/th&gt;
&lt;th&gt;난이도&lt;/th&gt;
&lt;th&gt;비고&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;&lt;!-- 구피 계열 --&gt;
&lt;tr&gt;
&lt;td&gt;구피&lt;/td&gt;
&lt;td&gt;24~28℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;기준 어종&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 테트라 --&gt;
&lt;tr&gt;
&lt;td&gt;네온 테트라&lt;/td&gt;
&lt;td&gt;22~26℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;군영&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;카디널 테트라&lt;/td&gt;
&lt;td&gt;24~28℃&lt;/td&gt;
&lt;td&gt;중간&lt;/td&gt;
&lt;td&gt;수질 민감&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;그린 네온 테트라&lt;/td&gt;
&lt;td&gt;22~26℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;소형&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;러미노즈 테트라&lt;/td&gt;
&lt;td&gt;24~28℃&lt;/td&gt;
&lt;td&gt;중간&lt;/td&gt;
&lt;td&gt;스트레스 민감&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;엠버 테트라&lt;/td&gt;
&lt;td&gt;23~27℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;초소형&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;블랙 네온 테트라&lt;/td&gt;
&lt;td&gt;23~27℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;강함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;콩고 테트라&lt;/td&gt;
&lt;td&gt;24~28℃&lt;/td&gt;
&lt;td&gt;중간&lt;/td&gt;
&lt;td&gt;대형 군영&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 플라티 --&gt;
&lt;tr&gt;
&lt;td&gt;플라티&lt;/td&gt;
&lt;td&gt;24~28℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;구피 동급&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;미키마우스 플라티&lt;/td&gt;
&lt;td&gt;24~28℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;입문&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;삼각 플라티&lt;/td&gt;
&lt;td&gt;24~28℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;변이형&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;풍선 플라티&lt;/td&gt;
&lt;td&gt;24~28℃&lt;/td&gt;
&lt;td&gt;중간&lt;/td&gt;
&lt;td&gt;체형 약함&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 몰리 --&gt;
&lt;tr&gt;
&lt;td&gt;블랙 몰리&lt;/td&gt;
&lt;td&gt;24~28℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;강함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;셀핀 몰리&lt;/td&gt;
&lt;td&gt;24~28℃&lt;/td&gt;
&lt;td&gt;중간&lt;/td&gt;
&lt;td&gt;지느러미 약함&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 베타 --&gt;
&lt;tr&gt;
&lt;td&gt;베타 하프문&lt;/td&gt;
&lt;td&gt;24~30℃&lt;/td&gt;
&lt;td&gt;중간&lt;/td&gt;
&lt;td&gt;단독&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;베타 플라캇&lt;/td&gt;
&lt;td&gt;24~30℃&lt;/td&gt;
&lt;td&gt;중간&lt;/td&gt;
&lt;td&gt;공격성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;베타 크라운&lt;/td&gt;
&lt;td&gt;24~30℃&lt;/td&gt;
&lt;td&gt;중간&lt;/td&gt;
&lt;td&gt;지느러미 민감&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;베타 베일&lt;/td&gt;
&lt;td&gt;24~30℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;입문용&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 코리 --&gt;
&lt;tr&gt;
&lt;td&gt;코리도라스&lt;/td&gt;
&lt;td&gt;22~26℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;바닥어&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;코리 팬더&lt;/td&gt;
&lt;td&gt;22~26℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;대표&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;코리 스터바이&lt;/td&gt;
&lt;td&gt;22~26℃&lt;/td&gt;
&lt;td&gt;중간&lt;/td&gt;
&lt;td&gt;민감&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;코리 피그메우스&lt;/td&gt;
&lt;td&gt;22~26℃&lt;/td&gt;
&lt;td&gt;중간&lt;/td&gt;
&lt;td&gt;군영&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 안시 --&gt;
&lt;tr&gt;
&lt;td&gt;안시 (알지이터)&lt;/td&gt;
&lt;td&gt;22~28℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;이끼 제거&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;롱핀 안시&lt;/td&gt;
&lt;td&gt;22~28℃&lt;/td&gt;
&lt;td&gt;중간&lt;/td&gt;
&lt;td&gt;지느러미 약함&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 구라미 --&gt;
&lt;tr&gt;
&lt;td&gt;드워프 구라미&lt;/td&gt;
&lt;td&gt;24~28℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;평화적&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;초콜릿 구라미&lt;/td&gt;
&lt;td&gt;25~29℃&lt;/td&gt;
&lt;td&gt;어려움&lt;/td&gt;
&lt;td&gt;민감&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 라스보라 --&gt;
&lt;tr&gt;
&lt;td&gt;라스보라&lt;/td&gt;
&lt;td&gt;23~27℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;군영&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;갤럭시 라스보라&lt;/td&gt;
&lt;td&gt;22~26℃&lt;/td&gt;
&lt;td&gt;중간&lt;/td&gt;
&lt;td&gt;소형&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 바브 / 다니오 --&gt;
&lt;tr&gt;
&lt;td&gt;수마트라 바브&lt;/td&gt;
&lt;td&gt;22~26℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;공격성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;체리 바브&lt;/td&gt;
&lt;td&gt;22~26℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;입문&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;다니오&lt;/td&gt;
&lt;td&gt;20~26℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;냉수성&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 시클리드 --&gt;
&lt;tr&gt;
&lt;td&gt;라미레지&lt;/td&gt;
&lt;td&gt;26~30℃&lt;/td&gt;
&lt;td&gt;중간&lt;/td&gt;
&lt;td&gt;민감&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;디스커스&lt;/td&gt;
&lt;td&gt;28~30℃&lt;/td&gt;
&lt;td&gt;어려움&lt;/td&gt;
&lt;td&gt;고급&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;오스카&lt;/td&gt;
&lt;td&gt;24~28℃&lt;/td&gt;
&lt;td&gt;중간&lt;/td&gt;
&lt;td&gt;대형&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 금붕어 --&gt;
&lt;tr&gt;
&lt;td&gt;금붕어&lt;/td&gt;
&lt;td&gt;18~24℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;냉수성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;오란다&lt;/td&gt;
&lt;td&gt;20~25℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;금붕어&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 냉수성 --&gt;
&lt;tr&gt;
&lt;td&gt;송사리&lt;/td&gt;
&lt;td&gt;20~28℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;강함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;각시붕어&lt;/td&gt;
&lt;td&gt;18~24℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;냉수성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;피라미&lt;/td&gt;
&lt;td&gt;18~24℃&lt;/td&gt;
&lt;td&gt;쉬움&lt;/td&gt;
&lt;td&gt;냉수성&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 마무리 - 구피 번식 현실&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 구피를 주로 키우는데, 번식할 때가 가장 긴장된다. 생각보다 치어를 너무 잘 먹기 때문에 항상 수초나 격리통을 신경 쓰게 된다. 결국 구피 번식은 단순한 증가가 아니라 생존 확률 관리에 가깝다. 그리고 솔직하게 말하면, &lt;b&gt;구피는 번식할 때가 가장 긴장되고, 종족을 너무 잘 먹는다.&lt;/b&gt;&lt;/p&gt;
  &lt;/div&gt;</description>
      <category>일상 이야기/스트레스 풀기와 여행</category>
      <category>구피</category>
      <category>도감</category>
      <category>물생활</category>
      <category>온도</category>
      <category>초짜결론</category>
      <category>코리도라스</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/100</guid>
      <comments>https://infotake.tistory.com/100#entry100comment</comments>
      <pubDate>Wed, 10 Jun 2026 23:40:20 +0900</pubDate>
    </item>
    <item>
      <title>클릭 한 번으로 끝나는 파일 목록 복사 기능 만들기 (윈도우 꿀팁)</title>
      <link>https://infotake.tistory.com/160</link>
      <description>&lt;style&gt;
/* 코드 박스 */
.code-box{
    background:#000;
    color:#fff;
    padding:18px;
    border-radius:10px;
    overflow-x:auto;
    white-space:pre;
    margin:20px 0;
    font-size:14px;
}

pre {
    background-color: #111;
    color: #fff;
    padding: 15px;
    border-radius: 8px;
    overflow-x: auto;
    line-height: 1.4;
}

code {
    color: #fff;
}

.box {
    margin-top:40px;
    padding:20px;
    border:1px solid #444;
    background-color:#f9f9f9;
}

.box h3 {
    margin-top:0;
}  
&lt;/style&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-filename=&quot;다운로드.png&quot; data-origin-width=&quot;712&quot; data-origin-height=&quot;514&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c6Jbq1/dJMcaiDELgf/iiGQawHIkcRLc65arQLTjk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c6Jbq1/dJMcaiDELgf/iiGQawHIkcRLc65arQLTjk/img.png&quot; data-alt=&quot;[현재폴더의 파일과 폴더 목록명을 쉽게 복사 할 수 있다]&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c6Jbq1/dJMcaiDELgf/iiGQawHIkcRLc65arQLTjk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc6Jbq1%2FdJMcaiDELgf%2FiiGQawHIkcRLc65arQLTjk%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;712&quot; height=&quot;514&quot; data-filename=&quot;다운로드.png&quot; data-origin-width=&quot;712&quot; data-origin-height=&quot;514&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;&amp;nbsp;&lt;/p&gt;
&lt;header&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우 탐색기에서 폴더 우클릭만으로 파일 목록을 클립보드에 복사할 수 있도록 BAT 스크립트와 레지스트리 등록 방법을 정리하고, 관리자 권한 실행과 삭제 방법까지 함께 설명합니다. 개발자 분들은 특히나 현재 윈도우 폴더에 파일 목록을 넣어야 할 일이 많죠 이 불편함을 개선하고자 만들어 봤습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/header&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;윈도우 우클릭 파일 목록 복사 기능 만들기 (BAT + 레지스트리)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우에서 폴더 파일 목록을 자주 확인하거나 공유해야 할 때 CMD를 매번 여는 방식은 비효율적입니다. 이 글에서는 &lt;b&gt;BAT 파일 + 레지스트리 등록&lt;/b&gt;을 통해 &amp;ldquo;우클릭 &amp;rarr; 파일 목록 복사&amp;rdquo; 기능을 만드는 방법을 정리합니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 파일 목록 복사 BAT 자동 생성&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 시스템 폴더에 파일 목록을 클립보드로 복사하는 BAT 파일을 자동 생성합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;  등록용 BAT 코드&lt;/h3&gt;
&lt;div class=&quot;code-box&quot;&gt;@echo off
chcp 65001 &amp;gt; nul

:: 관리자 권한 체크
openfiles &amp;gt;nul 2&amp;gt;&amp;amp;1
if %errorlevel% neq 0 (
    echo 관리자 권한으로 다시 실행합니다...
    powershell Start-Process -FilePath &quot;%0&quot; -Verb RunAs
    exit /b
)

:: 파일 목록 복사 BAT 생성
echo @echo off &amp;gt; C:\Windows\copy_folder_list.bat
echo dir /b /o:n ^| clip &amp;gt;&amp;gt; C:\Windows\copy_folder_list.bat

:: 레지스트리 등록
reg add &quot;HKEY_CLASSES_ROOT\Directory\Background\shell\CopyFolderList&quot; /ve /t REG_SZ /d &quot;파일 목록 복사&quot; /f
reg add &quot;HKEY_CLASSES_ROOT\Directory\Background\shell\CopyFolderList\command&quot; /ve /t REG_SZ /d &quot;cmd.exe /c C:\Windows\copy_folder_list.bat&quot; /f

echo 등록 완료!
pause
&lt;/div&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;동작 설명&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;dir /b &amp;rarr; 파일명만 출력&lt;/li&gt;
&lt;li&gt;/o:n &amp;rarr; 이름순 정렬&lt;/li&gt;
&lt;li&gt;clip &amp;rarr; 결과를 클립보드에 복사&lt;/li&gt;
&lt;li&gt;레지스트리 shell &amp;rarr; 우클릭 메뉴 추가&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. 사용 방법&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;폴더로 이동&lt;/li&gt;
&lt;li&gt;우클릭&lt;/li&gt;
&lt;li&gt;&amp;ldquo;파일 목록 복사&amp;rdquo; 클릭&lt;/li&gt;
&lt;li&gt;클립보드에 자동 저장&lt;/li&gt;
&lt;/ol&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense responsive&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;반응형&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-6288483252364151&quot; data-ad-format=&quot;auto&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 우클릭 메뉴 삭제 (복구용)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;등록된 기능이 필요 없을 경우 아래 BAT 파일로 깔끔하게 제거할 수 있습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;  삭제용 BAT 코드&lt;/h3&gt;
&lt;div class=&quot;code-box&quot;&gt;@echo off
chcp 65001 &amp;gt; nul

:: 관리자 권한 체크
openfiles &amp;gt;nul 2&amp;gt;&amp;amp;1
if %errorlevel% neq 0 (
    echo 관리자 권한으로 다시 실행합니다...
    powershell Start-Process -FilePath &quot;%0&quot; -Verb RunAs
    exit /b
)

:: 레지스트리 삭제
reg delete &quot;HKEY_CLASSES_ROOT\Directory\Background\shell\CopyFolderList&quot; /f

:: 생성 파일 삭제
if exist C:\Windows\copy_folder_list.bat (
    del /q C:\Windows\copy_folder_list.bat
)

echo 삭제 완료!
pause
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. 활용 포인트&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;개발 프로젝트 폴더 구조 정리&lt;/li&gt;
&lt;li&gt;서버 디렉토리 목록 기록&lt;/li&gt;
&lt;li&gt;문서 자동화 및 보고용&lt;/li&gt;
&lt;li&gt;파일 구조 공유&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense responsive&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;반응형&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-6288483252364151&quot; data-ad-format=&quot;auto&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. BAT 파일 동작 설명&lt;/h2&gt;
&lt;div class=&quot;box&quot;&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;  BAT 파일 내부 동작 구조&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 배치 파일은 단순한 명령 실행이 아니라 윈도우 시스템 기능과 레지스트리를 조합한 자동화 구조입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;관리자 권한 체크&lt;/b&gt; &amp;rarr; openfiles 명령으로 권한 확인 후 부족하면 자동 관리자 실행&lt;/li&gt;
&lt;li&gt;&lt;b&gt;copy_folder_list.bat 생성&lt;/b&gt; &amp;rarr; C:\Windows 경로에 실행 파일 자동 생성&lt;/li&gt;
&lt;li&gt;&lt;b&gt;dir /b /o:n&lt;/b&gt; &amp;rarr; 폴더 내 파일명만 단순 리스트 형태로 출력&lt;/li&gt;
&lt;li&gt;&lt;b&gt;clip 명령&lt;/b&gt; &amp;rarr; 출력 결과를 클립보드로 즉시 복사&lt;/li&gt;
&lt;li&gt;&lt;b&gt;레지스트리 등록&lt;/b&gt; &amp;rarr; 탐색기 우클릭 메뉴(shell)에 항목 추가&lt;/li&gt;
&lt;li&gt;&lt;b&gt;cmd 실행 연결&lt;/b&gt; &amp;rarr; 우클릭 시 해당 BAT 파일 실행 구조&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과적으로 폴더에서 우클릭 한 번으로 파일 목록이 즉시 복사되는 구조이며, 별도 프로그램 없이 윈도우 기본 기능만으로 동작하는 가벼운 자동화 기능입니다.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;</description>
      <category>개발 이야기/IT</category>
      <category>BAT</category>
      <category>배치파일</category>
      <category>윈도우 파일목록 복사</category>
      <category>파일복사</category>
      <category>편의기능</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/160</guid>
      <comments>https://infotake.tistory.com/160#entry160comment</comments>
      <pubDate>Wed, 10 Jun 2026 23:06:53 +0900</pubDate>
    </item>
    <item>
      <title>2026년 6월 AI 요금제 대격변! ChatGPT&amp;middot;Gemini&amp;middot;Copilot 가격 및 정책 총정리</title>
      <link>https://infotake.tistory.com/158</link>
      <description>&lt;div id=&quot;post-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;853&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LCBEt/dJMcagMGqer/lkBay1a3U5JprApfMZuDeK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LCBEt/dJMcagMGqer/lkBay1a3U5JprApfMZuDeK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LCBEt/dJMcagMGqer/lkBay1a3U5JprApfMZuDeK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLCBEt%2FdJMcagMGqer%2FlkBay1a3U5JprApfMZuDeK%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;853&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;853&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;div&gt;
&lt;style&gt;
#post-content h2[data-ke-size]{
    margin-top:50px;
    margin-bottom:20px;
    padding-bottom:10px;
    line-height:1.4;
}

#post-content h3[data-ke-size]{
    margin-top:35px;
    margin-bottom:15px;
    line-height:1.5;
}

#post-content h4[data-ke-size]{
    margin-top:25px;
    margin-bottom:10px;
    line-height:1.5;
}

#post-content p[data-ke-size]{
    margin:16px 0;
    line-height:1.8;
}

#post-content ul[data-ke-list-type]{
    margin:15px 0 20px 20px;
    padding-left:15px;
}

#post-content ul[data-ke-list-type] li{
    margin:8px 0;
    line-height:1.7;
}

#post-content table{
    width:100% !important;
    border-collapse:collapse !important;
    margin:20px 0;
}

#post-content table td,
#post-content table th{
    border:1px solid #ddd !important;
    padding:12px !important;
    text-align:left;
    vertical-align:middle;
}

#post-content table tr:first-child{
    background:#f5f5f5;
    font-weight:bold;
}


@media(max-width:768px){
    #post-content table{
        display:block;
        overflow-x:auto;
        white-space:nowrap;
    }
}
&lt;/style&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2026년 6월 현재 OpenAI, Google, GitHub Copilot 등 주요 AI 서비스들이 요금제와 과금 방식을 대폭 개편했다. 가격 인하 경쟁부터 토큰 기반 과금 확대까지 최신 AI 가격 정책 변화를 한눈에 정리한다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;요금제 시장, 어떻게 바뀌고 있을까?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생성형 AI 사용자가 폭발적으로 증가하면서 기업들은 막대한 GPU 비용과 데이터센터 운영 비용을 감당해야 하는 상황에 놓여서 그런지 AI 추론 비용 역시 빠르게 증가하고 있다. 이러한 배경 속에서 AI 기업들은 크게 두 가지 전략을 선택하고 있다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;구독료 인하를 통한 사용자 확대&lt;/li&gt;
&lt;li&gt;사용량 기반 과금 강화&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과적으로 2026년은 &quot;AI 가격 전쟁의 원년&quot;이라고 불러도 과언이 아닌 듯 하다&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;OpenAI(ChatGPT) 요금제 변경 사항&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;ChatGPT 요금제 현황&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2026년 6월 현재 ChatGPT는 다음과 같은 구독 체계를 운영 중이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요금제주요 특징&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;GPT-5.5 Instant 제한 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Go&lt;/td&gt;
&lt;td&gt;저가형 유료 구독&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Plus&lt;/td&gt;
&lt;td&gt;개인 사용자 대표 요금제&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pro&lt;/td&gt;
&lt;td&gt;고급 모델 및 대용량 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Business&lt;/td&gt;
&lt;td&gt;기업용 협업 환경&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Enterprise&lt;/td&gt;
&lt;td&gt;대기업 전용&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 OpenAI는 Free, Go, Plus, Pro, Business, Enterprise 구조를 공식적으로 제공하고 있다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;ChatGPT Business 가격 인하&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2026년 4월 OpenAI는 Business 요금제를 개편했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존 연간 결제 기준 좌석당 월 25달러 수준이던 요금이 약 20달러 수준으로 조정되며 기업 고객 확보에 더욱 공격적인 모습을 보이고 있다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;주요 변화&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기업용 가격 경쟁력 강화&lt;/li&gt;
&lt;li&gt;팀 협업 기능 확대&lt;/li&gt;
&lt;li&gt;Enterprise 전환 유도&lt;/li&gt;
&lt;/ul&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;ChatGPT Go 확대&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OpenAI는 저가형 구독 상품인 ChatGPT Go를 전 세계적으로 확대하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Go 요금제는 AI 사용 경험은 원하지만 Plus 요금제가 부담스러운 사용자층을 겨냥한 상품으로 평가받는다.&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;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최근 OpenAI는 Free 사용자와 Go 사용자를 중심으로 사용량 제한 정책을 강화하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반면 Plus, Pro, Business, Enterprise 사용자는 상대적으로 넉넉한 사용량과 우선 처리 혜택을 받고 있다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Google Gemini AI 요금제 개편&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Google AI 가격 인하 경쟁 시작&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2026년 5월 Google I/O 이후 Google은 AI 구독 정책을 대대적으로 개편했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 큰 변화는 저가형 AI Plus 요금제의 가격 인하다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Google AI Plus&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존: &lt;span style=&quot;letter-spacing: 0px;&quot;&gt;월 7.99달러&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변경: &lt;span style=&quot;letter-spacing: 0px;&quot;&gt;월 4.99달러&lt;/span&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;그리고! 기본 저장 공간도 400GB로 확대됐다.&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;Google AI Pro&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Google AI Pro는 월 19.99달러로 유지되고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주요 제공 기능은 다음과 같다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;포함 기능&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Gemini 3.1 Pro&lt;/li&gt;
&lt;li&gt;Deep Research&lt;/li&gt;
&lt;li&gt;NotebookLM&lt;/li&gt;
&lt;li&gt;5TB 클라우드 저장소&lt;/li&gt;
&lt;/ul&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;Google AI Ultra 가격 인하&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Google의 최고급 AI 요금제인 Ultra도 가격 조정이 진행됐다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존: &lt;span style=&quot;letter-spacing: 0px;&quot;&gt;월 250달러&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변경: &lt;span style=&quot;letter-spacing: 0px;&quot;&gt;월 200달러&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일부 국가에서는 프로모션 적용 시 99.99달러부터 시작하는 형태로 운영되고 있다.&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;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;u&gt;GitHub Copilot 충격의 과금 정책 변경&lt;/u&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2026년 6월 1일부터 GitHub Copilot은 기존 정액제 중심 구조를 버리고 사용량 기반 과금 체계로 전환했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존 방식&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Premium Request 방식&lt;/li&gt;
&lt;li&gt;사실상 월 정액 구조&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변경 방식&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;GitHub AI Credits&lt;/li&gt;
&lt;li&gt;토큰 기반 과금&lt;/li&gt;
&lt;li&gt;모델별 차등 비용 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2026년 AI 요금제 트렌드 5가지&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 무제한 사용 시대 종료&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대부분의 AI 기업이 사실상 무제한 정책을 축소하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제는 사용량 제한(Fair Use)이 기본이 되는 추세다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 토큰 기반 과금 확대&lt;br /&gt;&lt;span style=&quot;color: #333333; font-size: 16px; letter-spacing: 0px;&quot;&gt;AI 사용량을 보다 정확하게 비용화하기 위해 토큰 기반 과금 체계가 빠르게 확산되고 있다.&lt;/span&gt;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 기업 고객 중심&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OpenAI와 Google 모두 기업 고객 확보에 집중하는 듯 하다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기업 시장은 개인 시장보다 수익성이 높고 장기 계약이 가능하기 때문이다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 초고가 프리미엄 요금제 증가&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI Ultra, ChatGPT Pro와 같은 월 100~200달러 수준의 고가 상품이 빠르게 늘어나고 있다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. AI 광고 모델 등장&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일부 국가에서는 무료 사용자 대상 광고 실험도 시작됐다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;광고 기반 AI 서비스 모델이 새로운 수익원으로 부상하고 있다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2026년 AI 요금제 선택 가이드&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;일반 사용자&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추천: 가벼운 검색과 문서 작성 중심이라면 충분하다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ChatGPT Free&lt;/li&gt;
&lt;li&gt;Google AI Plus&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;블로거 및 콘텐츠 제작자&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추천: SEO 글쓰기, 이미지 생성, 리서치 기능 활용도 중심&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ChatGPT Plus&lt;/li&gt;
&lt;li&gt;Google AI Pro&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;개발자&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추천: Copilot의 사용량 과금 정책은 반드시 확인하는 것이 좋다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ChatGPT Pro&lt;/li&gt;
&lt;li&gt;GitHub Copilot&lt;/li&gt;
&lt;li&gt;Claude&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;기업&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추천: 협업과 보안 기능이 중요한 조직에 적합&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ChatGPT Business&lt;/li&gt;
&lt;li&gt;Enterprise&lt;/li&gt;
&lt;li&gt;Google AI Ultra&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;마무리&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2026년 6월 현재 AI 업계는 성능 경쟁에서 가격 경쟁 시대로 넘어가고 있다. Google은 공격적인 가격 인하를 선택했고, OpenAI는 기업 중심 구조를 강화하고 있으며, GitHub Copilot은 토큰 기반 과금으로 전환했다.&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;앞으로 AI 서비스를 선택할 때는 단순히 &quot;어떤 AI가 더 똑똑한가&quot;가 아니라 &quot;어떤 AI가 내 업무와 예산에 가장 적합한가&quot;를 기준으로 판단해야 한다. IT 기업에서 자체 AI에 대해서도 제공범위가 큰 부분을 모두 줄였고, VSCode에서는 거의 개발자 입장에서 서포트 자원이 이였기 때문에 지속적으로 필요한 부분으로 보이기에 개발자 에게서는 떼놓을 수 없는 현실 이기에 개인 스스로 라도 사용하게 될 것으로 보인다. 3D 업에서 현재는 기술업으로서&amp;nbsp; AI는 기본 도구가 아닐까.&lt;br /&gt;&lt;br /&gt;코파일럿, 제미나이 어시스트, CODEX 서비스를 종료하거나 리미트가 1개월 단위 급으로 바뀌어서 슬프다!!&lt;/p&gt;
&lt;/div&gt;</description>
      <category>개발 이야기/IT</category>
      <category>6월</category>
      <category>ai</category>
      <category>AI 요금제 선택</category>
      <category>요금제</category>
      <category>최신현황</category>
      <category>충격적인 과금</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/158</guid>
      <comments>https://infotake.tistory.com/158#entry158comment</comments>
      <pubDate>Wed, 10 Jun 2026 21:52:11 +0900</pubDate>
    </item>
    <item>
      <title>블로그에 있는 이 많은 언어를 다 다루나요? (n년차 개발자의 현실 고백)</title>
      <link>https://infotake.tistory.com/157</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;947&quot; data-origin-height=&quot;380&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p3ecA/dJMcaiwR5Bx/7jC0Pl4JIurEq0CkhayEF0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p3ecA/dJMcaiwR5Bx/7jC0Pl4JIurEq0CkhayEF0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p3ecA/dJMcaiwR5Bx/7jC0Pl4JIurEq0CkhayEF0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp3ecA%2FdJMcaiwR5Bx%2F7jC0Pl4JIurEq0CkhayEF0%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;947&quot; height=&quot;380&quot; data-origin-width=&quot;947&quot; data-origin-height=&quot;380&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;가끔 주변에서 묻는다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;개발자는 저 많은 언어를 진짜 다 할 줄 알아요?&quot;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그럴 때면 문득 2007년이 떠오른다. 개발자로 첫발을 내디뎠던 그 시절에는 지금처럼 AI도 없었고, 유튜브 강의도 흔하지 않았다. 책 한 권 붙들고 씨름하거나, 인터넷 카페와 블로그를 뒤져가며 겨우겨우 문제를 해결하던 시절이었다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그때는 지금처럼 기술이 넘쳐나지도 않았다. 오히려 무엇을 배워야 할지보다 어떻게 배우느냐가 더 중요했던 시대였다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;Java 개발자로 입사했는데 현실은 달랐다&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;첫 직장은 Java 개발자로 입사했다. 그런데 막상 프로젝트에 투입되고 보니 ASP.NET 프로젝트가 기다리고 있었다. Java를 공부해서 들어왔는데 C# 코드를 보고 있었고, SQL Server를 만지고 있었으며, IIS 설정을 배우고 있었다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;당황스러웠지만 선택권은 없었다. 프로젝트는 이미 시작되었고, 일정은 기다려주지 않았다. 결국 낮에는 개발하고 밤에는 공부하면서 하나씩 익혀 나갔다.&amp;nbsp;돌이켜보면 개발 인생의 대부분이 그랬다. 내가 배우고 싶었던 기술보다 프로젝트가 필요로 하는 기술을 먼저 배우게 되었다. 그리고 그렇게 하나씩 익힌 기술들이 어느새 경력이 되었다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;등장한 기술보다 사라진 기술이 더 많이 기억난다&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;20년에 가까운 시간을 개발자로 살아오면서 정말 많은 기술을 만났다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;ASP, ASP.NET WebForms, Flash, ActiveX, Silverlight, jQuery 중심의 웹 개발, JSP, Struts, Spring Framework, 전자정부프레임워크...&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;당시에는 당연했던 기술들이 어느 순간 역사 속으로 사라졌다. 한때는 업계를 뒤흔들던 기술이 몇 년 뒤에는 유지보수 시스템에서만 겨우 볼 수 있는 경우도 있었다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그래서 이제는 어떤 기술이 최고인지 크게 이야기하지 않는다. 지금 인기 있는 기술도 언젠가는 다른 기술에게 자리를 내어줄 수 있다는 것을 여러 번 경험했기 때문이다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;정신 차려보니 언어보다 경험이 남아 있었다&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2007년부터 지금까지 돌아보면 Java, ASP.NET, C#, JavaScript, SQL, HTML, CSS, JSP, Spring Framework, 전자정부프레임워크, MyBatis, Oracle, MariaDB, Linux, Tomcat, Docker, Jenkins, Python, Git, Maven, AWS, Redis, Kubernetes, React, Vue 그리고 .... 그외 수많은 솔루션과 프레임워크를 거쳐 왔다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그 과정에서 새롭게 등장한 기술도 있었고, 조용히 사라진 기술도 있었다. 밤새 장애를 처리했던 기억도 있고, 수백 페이지짜리 제안서를 작성했던 기억도 있으며, 오랫동안 운영된 시스템의 소스코드를 분석하며 며칠을 보낸 적도 있었다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이제는 언어 하나를 더 안다고 해서 대단하다고 생각하지 않는다. 오히려 처음 보는 시스템을 이해하고, 문제의 원인을 찾고, 필요한 기술을 빠르게 익혀 해결하는 능력이 더 중요하다고 느낀다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2007년에 시작한 개발자의 공부는 아직 끝나지 않았다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;아마 앞으로도 새로운 언어와 새로운 기술은 계속 등장할 것이다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그래도 이제는 안다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;개발자는 특정 언어를 사용하는 사람이 아니라, 변화에 적응하며 끊임없이 배우는 사람이라는 것을.&lt;/p&gt;</description>
      <category>개발 이야기</category>
      <category>개발자</category>
      <category>공부</category>
      <category>깨달음</category>
      <category>생애</category>
      <category>이야기</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/157</guid>
      <comments>https://infotake.tistory.com/157#entry157comment</comments>
      <pubDate>Wed, 10 Jun 2026 21:17:45 +0900</pubDate>
    </item>
    <item>
      <title>리눅스 호스트네임 변경 방법 및 작동 원리 이해하기 (Ubuntu, Rocky, CentOS Stream)</title>
      <link>https://infotake.tistory.com/154</link>
      <description>&lt;div&gt;
&lt;style&gt;

/* 제목 */
h1,h2{
    color:#111;
    margin-top:45px;
}

/* 문단 */
p{
    margin:18px 0;
    line-height:1.9;
}

/* 코드 박스 */
.code-box{
    background:#000;
    color:#fff;
    padding:18px;
    border-radius:10px;
    overflow-x:auto;
    white-space:pre;
    margin:20px 0;
    font-size:14px;
}

pre.code-box{
  background:#000 !important;
  color:#fff !important;
}
    
/* 태그 (왼쪽 테두리 제거) */
.tag-box{
    background:#f4f4f4;
    padding:15px;
    margin:20px 0;
    font-size:13px;
    border-radius:8px;
}

/* 섹션 */
.section{
    margin-bottom:55px;
}

/* 줄 구분 리스트 */
.line-list{
    margin:20px 0;
    line-height:1.9;
}

.line{
    height:1px;
    background:#eee;
    margin:12px 0;
}

/* 강조 박스 (왼쪽 테두리 제거) */
.notice{
    background:#fff8e6;
    padding:15px;
    margin:20px 0;
    border-radius:8px;
}

&lt;/style&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요, 촌놈 개발자입니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리눅스 서버를 처음 세팅하거나 여러 대의 인스턴스를 관리하다 보면, 터미널창에 둥둥 떠 있는 localhost나 알 수 없는 문자열 때문에 헷갈렸던 경험 다들 있으실 겁니다. 서버가 많아질수록 '얘가 무슨 역할을 하는 애였더라?' 싶을 때가 많죠. 이럴 때 가장 먼저 손대야 하는 작업이 바로 서버의 '문패'를 달아주는 일입니다. 오늘은 리눅스 서버 관리의 기본 중의 기본, 호스트네임(Hostname)의 개념부터 OS별 영구 변경 방법, 그리고 윈도우와의 비교까지 한 번에 깔끔하게 정리해 보겠습니다.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 호스트네임(Hostname)이란? 용도 및 영향 범위&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;호스트네임은 쉽게 말해 네트워크 상에서 컴퓨터(서버)를 식별하기 위해 부여하는 고유한 이름입니다. 숫자로 된 복잡한 IP 주소 대신 사람이 읽고 구별하기 쉽게 만든 일종의 닉네임이죠. 터미널을 열었을 때 username@hostname 형태로 가장 먼저 우리를 반겨주는 녀석이기도 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 호스트네임은 단순히 화면에 보이는 이름 역할만 하는 것이 아닙니다. 내부적으로는 서버 간 통신(Node-to-Node), 메일 서버(SMTP)의 발신 도메인 설정, 각종 모니터링 도구 및 로깅 시스템에서 서버를 식별하는 기준이 됩니다. 만약 호스트네임을 모호하게 설정해 두면, 대규모 인프라 환경에서 엉뚱한 서버에 명령을 날리거나 로그가 뒤섞이는 대참사가 발생할 수 있으므로 프로젝트 초기나 서버 도입 시 명확한 규칙(예: prod-web-db-01 등)으로 정의하는 것이 매우 중요합니다.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. OS 유형별 호스트네임 관리 구조 (최신 버전 기준)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리눅스는 OS 계열에 따라 호스트네임 정보를 저장하고 관리하는 텍스트 파일의 구조가 약간씩 다릅니다. 현재 엔터프라이즈 환경에서 가장 많이 쓰이는 최신 리눅스 버전들을 기준으로 실제 파일 내부의 코드 형태를 살펴보겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;■ Ubuntu 계열 (Ubuntu 24.04 LTS 등)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데비안 계열인 우분투는 주로&lt;/p&gt;
&lt;tt&gt;/etc/hostname&lt;/tt&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일에 호스트네임 텍스트 하나만 단독으로 깔끔하게 저장됩니다. 시스템이 부팅될 때 이 파일을 읽어 이름을 확정합니다.&lt;/p&gt;
&lt;pre class=&quot;code-box vim&quot;&gt;&lt;code&gt;$ cat /etc/hostname
ubuntu-web-server&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;■ RedHat 계열 (Rocky Linux 9, CentOS Stream 9 등)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;과거 전통적인 CentOS 7/8 버전은 종료되었지만, 레드햇의 업스트림 커널 역할을 하는 &lt;b&gt;CentOS Stream 9&lt;/b&gt; 형태로 CentOS 계열은 여전히 활발히 유지 및 운영되고 있습니다. 이 최신 레드햇 계열 리눅스들은 과거 구버전의&lt;/p&gt;
&lt;tt&gt;/etc/sysconfig/network&lt;/tt&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구조 대신, 네트워크 관리 도구(NetworkManager)와 연동되어 우분투와 동일하게&lt;/p&gt;
&lt;tt&gt;/etc/hostname&lt;/tt&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일을 공통으로 사용하여 관리 편의성을 높였습니다.&lt;/p&gt;
&lt;pre class=&quot;code-box vim&quot;&gt;&lt;code&gt;$ cat /etc/hostname
centos-stream-server&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;notice&quot;&gt;공통 핵심 파일: 어떤 OS든 네트워크 상에서 자기 자신을 올바르게 찾아가도록 매핑해 주는 /etc/hosts 파일 역시 호스트네임 변경 시 반드시 함께 관리되어야 하는 핵심 구조입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense responsive&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;반응형&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-6288483252364151&quot; data-ad-format=&quot;auto&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 호스트네임 변경 방법 및 즉시 적용 단계&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최근 리눅스(systemd 기반)는 명령어 한 줄로 공통 변경이 가능합니다. 실제 조회부터 변경, 그리고 네트워크 설정 수정까지 순서대로 알아보겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 1. 현재 호스트네임 조회 (hostname vs hostnamectl)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리눅스에서 이름을 조회하는 방법은 크게 두 가지 명령어의 다형성을 가집니다. 단순 이름만 한 줄로 빠르게 확인하고 싶다면&lt;/p&gt;
&lt;tt&gt;hostname&lt;/tt&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;을, OS 버전과 커널 정보를 포함한 전체 프로필을 보고 싶다면&lt;/p&gt;
&lt;tt&gt;hostnamectl&lt;/tt&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;을 사용합니다.&lt;/p&gt;
&lt;pre class=&quot;code-box yaml&quot;&gt;&lt;code&gt;# 1. 단순 호스트네임 텍스트만 조회할 때
$ hostname
localhost.localdomain

# 2. 시스템 프로필을 포함하여 상세 조회할 때
$ hostnamectl
   Static hostname: localhost.localdomain
         Icon name: computer-vm
           Chassis: vm
  Operating System: CentOS Stream 9
            Kernel: Linux 5.14.0-...
      Architecture: x86-64&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 2. 호스트네임 영구 변경 명령 실행&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우분투, 로키, CentOS 모두 공통으로 사용할 수 있는 영구 변경 명령어입니다.&lt;/p&gt;
&lt;pre class=&quot;code-box dsconfig&quot;&gt;&lt;code&gt;sudo hostnamectl set-hostname [원하는-새-호스트네임]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 3. /etc/hosts 파일 수정 (네트워크 꼬임 방지)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;호스트네임만 바꾸면 시스템이 자기 자신을 찾지 못해 내부 통신 지연이나 에러가 발생할 수 있습니다.&lt;/p&gt;
&lt;tt&gt;sudo vi /etc/hosts&lt;/tt&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;명령으로 파일을 열어 내부를 수정해 줍니다.&lt;/p&gt;
&lt;pre class=&quot;code-box css&quot;&gt;&lt;code&gt;# [수정 전 Before 예시]
127.0.0.1   localhost localhost.localdomain old-hostname
::1         localhost localhost.localdomain old-hostname

# [수정 후 After 예시]
127.0.0.1   localhost localhost.localdomain [새-호스트네임]
::1         localhost localhost.localdomain [새-호스트네임]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 4. 재부팅 없이 즉시 적용하기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리눅스는 systemd가 커널 메모리의 호스트네임을 실시간으로 바꾸기 때문에 굳이 재부팅을 하지 않아도 됩니다. 다만 터미널 창 프롬프트에 바로 반영되게 하려면 아래 명령어를 입력해 셸을 재실행하거나, 현재 SSH 세션을 종료하고 새로 접속하시면 됩니다.&lt;/p&gt;
&lt;pre class=&quot;code-box bash&quot;&gt;&lt;code&gt;exec bash&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;tag-box&quot;&gt;  &lt;b&gt;주의 및 팁:&lt;/b&gt; 가끔 특수한 클라우드 환경이나 구형 네트워크 데몬이 꼬여 간헐적으로 이름 반영이 완전히 되지 않는 경우가 있습니다. exec bash 호출 이후에도 호스트네임 인식이 비정상적이거나 동작이 원활하지 않다면 안심하고 &lt;b&gt;sudo reboot&lt;/b&gt; 명령어를 통해 시스템을 1회 재부팅 해주시는 것이 확실합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. 윈도우(Windows) 환경과 비교하면?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리가 익숙하게 사용하는 윈도우 OS에도 당연히 호스트네임 개념이 존재하며, 보통 '컴퓨터 이름'이라고 부릅니다. 리눅스가 텍스트 기반의 설정 파일과 CLI 명령어로 이름을 바꾼다면, 윈도우는 직관적인 GUI 환경을 제공하죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우에서 이 이름을 변경하려면 [설정] ➡️ [시스템] ➡️ [정보] 메뉴로 이동하거나, 실행 창(Win + R)에 sysdm.cpl을 입력해 '시스템 속성' 창을 띄운 뒤 [컴퓨터 이름] 탭의 [변경] 버튼을 누르면 됩니다. 윈도우는 리눅스와 달리 이름을 바꾼 후 반드시 시스템을 '재부팅'해야만 변경된 컴퓨터 이름이 네트워크와 OS 전체에 최종 적용된다는 차이점이 있습니다.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리눅스 서버 세팅의 첫 단추인 호스트네임 설정! 미루지 말고 지금 깔끔하게 정리해 보시는 건 어떨까요? 궁금한 점이 있다면 언제든 댓글로 남겨주세요. 촌놈 개발자였습니다!&lt;/p&gt;
&lt;/div&gt;</description>
      <category>개발 이야기/리눅스</category>
      <category>hostname</category>
      <category>linux</category>
      <category>리눅스</category>
      <category>변경</category>
      <category>호스트네임</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/154</guid>
      <comments>https://infotake.tistory.com/154#entry154comment</comments>
      <pubDate>Tue, 9 Jun 2026 22:03:26 +0900</pubDate>
    </item>
    <item>
      <title>국가 사이버보안 기본지침 개정(2026.5.1)</title>
      <link>https://infotake.tistory.com/153</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;654&quot; data-origin-height=&quot;340&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ctap4c/dJMcac4rT7m/SZBdkLedirpH6kKrGZpAK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ctap4c/dJMcac4rT7m/SZBdkLedirpH6kKrGZpAK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ctap4c/dJMcac4rT7m/SZBdkLedirpH6kKrGZpAK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fctap4c%2FdJMcac4rT7m%2FSZBdkLedirpH6kKrGZpAK0%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;654&quot; height=&quot;340&quot; data-origin-width=&quot;654&quot; data-origin-height=&quot;340&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div&gt;
&lt;style&gt;
.cyber-table-wrap{
    overflow-x:auto;
    margin:20px 0;
}

.cyber-table{
    width:100%;
    min-width:650px;
    border-collapse:collapse;
}

.cyber-table th,
.cyber-table td{
    padding:12px;
    border:1px solid #ddd;
    text-align:left;
    vertical-align:middle;
}

.cyber-table thead tr{
    background:#f7f7f7;
}

.cyber-summary{
    margin:20px 0;
    padding:15px 20px;
    border-left:4px solid #333;
    background:#fafafa;
}

.cyber-summary p{
    margin:10px 0;
}

.cyber-note{
    margin-top:25px;
    padding:15px 20px;
    background:#f8f9fa;
    border:1px solid #e5e5e5;
    border-radius:6px;
    font-size:0.95em;
    line-height:1.8;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;div class=&quot;cyber-table-wrap&quot;&gt;
&lt;table class=&quot;cyber-table&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;구분&lt;/th&gt;
&lt;th&gt;주요 내용&lt;/th&gt;
&lt;th&gt;실무상 의미&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;업무정보 등급화&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;업무정보를 기밀&amp;middot;민감&amp;middot;공개 등급으로 분류&lt;/td&gt;
&lt;td&gt;자료 성격에 따라 보안수준을 차등 적용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;N2SF 도메인 관리&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;등급별 업무정보 처리 도메인을 구분하고 해당 등급 이상 도메인에서 처리&lt;/td&gt;
&lt;td&gt;망을 정보등급과 연계하여 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;정보화사업 보안성 검토&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;사업계획 단계에서 보안대책을 포함하고 필요한 경우 공고 전 보안성 검토&lt;/td&gt;
&lt;td&gt;사업 착수 전 보안위험 사전 검토&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;클라우드 보안&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;시스템 중요도를 상&amp;middot;중&amp;middot;하로 분류하고 국내 저장&amp;middot;관리 및 영역 분리 기준 적용&lt;/td&gt;
&lt;td&gt;클라우드 이용 시 중요도별 통제 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;AI&amp;middot;신기술 보안&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;AI 보안 가이드북 참고, 우주시스템 구성요소별 보안관리&lt;/td&gt;
&lt;td&gt;신기술 영역도 사이버보안 관리대상에 포함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;원격 유지보수 통제&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;전용 단말기, 다중인증, 접속&amp;middot;작업 로그 1년 이상 보관&lt;/td&gt;
&lt;td&gt;외부 접속 및 유지보수 과정 통제&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;관리자 계정 보안&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;관리자 권한 접속 시 다중인증 적용&lt;/td&gt;
&lt;td&gt;고위험 권한 계정 오남용 방지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;로그 관리&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;접속자, 작업 종류, 작업 시간 등 로그 1년 이상 보관&lt;/td&gt;
&lt;td&gt;감사 및 사고조사 증적 확보&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;보안관제&amp;middot;사고대응&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;24시간 관제, 공격 IP 차단, 피해 시스템 분리, 증거보존, 포맷 금지&lt;/td&gt;
&lt;td&gt;침해사고 발생 시 초동대응 기준 명확화&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;핵심 변화 요약&lt;/h2&gt;
&lt;div class=&quot;cyber-summary&quot;&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;개정 방향:&lt;/b&gt; 업무정보 등급, 도메인, 클라우드, AI, 원격접속까지 포함한 통합적 사이버보안 관리&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;핵심 결과:&lt;/b&gt; 공공기관의 정보화사업 전 과정에서 사전 보안성 검토, 등급 기반 처리, 로그 보관, 다중인증, 사고대응 체계가 강화됨&lt;/p&gt;
&lt;/div&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>개발 이야기/IT</category>
      <category>개정</category>
      <category>기본지침</category>
      <category>보안</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/153</guid>
      <comments>https://infotake.tistory.com/153#entry153comment</comments>
      <pubDate>Mon, 8 Jun 2026 18:33:25 +0900</pubDate>
    </item>
    <item>
      <title>HTML5 Canvas로 구현한 움직이는 2D 태양계 시뮬레이션</title>
      <link>https://infotake.tistory.com/152</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문득 심심하기도 하고, 최근에 웹 그래픽스에 관심이 생겨서 HTML5 Canvas와 JavaScript만으로 무언가 만들어보고 싶어졌습니다. 어떤 주제가 좋을까 고민하다가, 어릴 적 과학 시간에 보던 광활한 우주를 브라우저 속에 그대로 재현해 보면 재밌겠다는 생각이 들어서 만들어 봤습니다. 행성은 물론이고 위성과 저 멀리 카이퍼 벨트까지 공전하는 '나만의 작은 태양계 시뮬레이션'이 완성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;margin: 20px 0; line-height: 1.7; color: #333;&quot;&gt;&lt;b&gt;삼각함수를 이용한 공전 궤도&lt;/b&gt;&lt;br /&gt;행성들이 태양 주변을 예쁜 원으로 도는 비결은 삼각함수(cos, sin) 공식 덕분입니다. 시간이 흐르며 바뀌는 각도에 맞춰 cos으로 X 좌표를, sin으로 Y 좌표를 계산해 실시간 위치를 찍어줍니다. 위성들은 중심점을 태양이 아닌 각 행성의 좌표로 설정해 행성을 따라 돌아요&lt;/div&gt;
&lt;div style=&quot;margin: 20px 0; line-height: 1.7; color: #333;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;margin: 20px 0; line-height: 1.7; color: #333;&quot;&gt;&lt;b&gt;눈보다 빠른 무한 반복 애니메이션&lt;/b&gt;&lt;br /&gt;화면이 부드럽게 움직이는 이유는 초고속 반복 그리기 기법을 썼기 때문입니다. 자바스크립트가 '이전 화면 지우기 새로 바뀐 위치에 다시 그리기' 과정을 1초에 60번 이상 무한 반복합니다. 우리 눈이 알아채지 못할 만큼 빠르게 도화지를 갈아끼우며 멈추지 않는 우주 완성&lt;/div&gt;
&lt;div style=&quot;margin: 20px 0; line-height: 1.7; color: #333;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div id=&quot;solarsystem-container&quot; style=&quot;position: relative; width: 100%; max-width: 800px; height: 500px; margin: 20px auto; background: black; overflow: hidden; border-radius: 8px;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense responsive&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;반응형&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-6288483252364151&quot; data-ad-format=&quot;auto&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
  
document.getElementById('solarsystem-container').innerHTML = '&lt;canvas id=&quot;c&quot; style=&quot;display:block;width:100%;height:100%;&quot;&gt;&lt;/canvas&gt;';
const container = document.getElementById(&quot;solarsystem-container&quot;);
const canvas = document.getElementById(&quot;c&quot;);
const ctx = canvas.getContext(&quot;2d&quot;);

// 화면 크기 맞추기 (액자 크기에 꽉 차게)
canvas.width = container.clientWidth;
canvas.height = container.clientHeight;

// 우주의 중심 (태양 위치 = 화면 정중앙)
const cx = canvas.width / 2;
const cy = canvas.height / 2;

let time = 0; // 시간이 흘러가며 행성들을 움직이게 할 변수

//   [데이터] 행성 정보 설정 (반지름, 크기, 속도, 색상, 위성들)
const planets = [
    { r:40, size:3, speed:0.002, color:&quot;#aaa&quot;, moons:[] }, // 수성
    { r:65, size:5, speed:0.0015, color:&quot;#d9a066&quot;, moons:[] }, // 금성
    { r:95, size:6, speed:0.001, color:&quot;#4fa3ff&quot;, moons:[{r:10,size:2,speed:0.01}]}, // 지구와 달
    { r:125, size:5, speed:0.0008, color:&quot;#ff6b4f&quot;, moons:[ // 화성과 포보스/데이모스
        {r:8,size:1.5,speed:0.02},{r:11,size:1.5,speed:0.015}
    ]},
    { r:165, size:11, speed:0.0004, color:&quot;#d2b48c&quot;, moons:[ // 목성과 위성들
        {r:15,size:2,speed:0.02},{r:18,size:2,speed:0.018}
    ]},
    { r:210, size:9, speed:0.0003, color:&quot;#e6d3a3&quot;, moons:[ // 토성과 위성들
        {r:14,size:2,speed:0.015},{r:18,size:2,speed:0.012}
    ]},
    { r:250, size:7, speed:0.0002, color:&quot;#8fd3ff&quot;, moons:[{r:12,size:1.5,speed:0.01}]}, // 천왕성
    { r:290, size:7, speed:0.00015, color:&quot;#4f6bff&quot;, moons:[{r:12,size:1.5,speed:0.01}]}, // 해왕성
    { r:320, size:3, speed:0.0001, color:&quot;#ccc&quot;, moons:[] } // 명왕성
];

//   [배경] 반짝이는 밤하늘 별 무작위 생성 (250개)
const stars = Array.from({length:250}, () =&gt; ({
    x: Math.random()*canvas.width,
    y: Math.random()*canvas.height,
    r: Math.random()*1.2
}));

//   [외곽] 명왕성 바깥쪽 카이퍼 벨트 소천체들 생성 (500개)
const kuiper = [];
for (let i = 0; i &lt; 500; i++) {
    let angle = Math.random() * Math.PI * 2;
    let dist = 340 + Math.random() * 60; 
    kuiper.push({ angle, dist });
}

// 배경 별 그리기 함수
function drawStars(){
    ctx.fillStyle=&quot;white&quot;;
    stars.forEach(s=&gt;{
        ctx.beginPath();
        ctx.arc(s.x,s.y,s.r,0,Math.PI*2);
        ctx.fill();
    });
}

// 태양 그리기 함수 (그라데이션으로 빛나는 효과 추가)
function drawSun(){
    let g = ctx.createRadialGradient(cx,cy,0,cx,cy,30);
    g.addColorStop(0,&quot;#ffffaa&quot;); // 중심은 밝은 노란색
    g.addColorStop(1,&quot;rgba(255,200,0,0)&quot;); // 바깥은 투명하게

    ctx.beginPath();
    ctx.arc(cx,cy,30,0,Math.PI*2);
    ctx.fillStyle=g;
    ctx.fill();
}

// 카이퍼 벨트 그리기 함수
function drawKuiper(){
    ctx.fillStyle = &quot;rgba(200,200,255,0.3)&quot;;
    kuiper.forEach(o=&gt;{
        // 고등학교 수학 시간의 sin, cos 공식으로 원형 배치!
        let x = cx + Math.cos(o.angle) * o.dist;
        let y = cy + Math.sin(o.angle) * o.dist;
        ctx.fillRect(x, y, 1, 1);
    });
}

// ⭐ 핵심: 행성과 위성 계산해서 그리기 함수
function drawPlanets(){
    planets.forEach(p=&gt;{
        // 1. 시간에 속도를 곱해 현재 각도 계산
        let angle = time * p.speed;
        
        // 2. 삼각함수(cos, sin)로 행성의 현재 X, Y 좌표 구하기
        let px = cx + Math.cos(angle)*p.r;
        let py = cy + Math.sin(angle)*p.r;

        // 3. 행성이 지나가는 길(공전 궤도선) 그리기
        ctx.beginPath();
        ctx.arc(cx,cy,p.r,0,Math.PI*2);
        ctx.strokeStyle=&quot;rgba(255,255,255,0.05)&quot;;
        ctx.stroke();

        // 4. 행성 본체 그리기
        ctx.beginPath();
        ctx.arc(px,py,p.size,0,Math.PI*2);
        ctx.fillStyle=p.color;
        ctx.fill();

        // 5. 행성에 딸린 위성(달) 그리기 (원리는 행성과 똑같음!)
        p.moons.forEach(m=&gt;{
            let ma = time * m.speed;
            // 중심점을 태양(cx, cy)이 아니라 '행성 위치(px, py)'로 잡는 게 포인트!
            let mx = px + Math.cos(ma)*m.r;
            let my = py + Math.sin(ma)*m.r;

            // 위성 궤도선
            ctx.beginPath();
            ctx.arc(px,py,m.r,0,Math.PI*2);
            ctx.strokeStyle=&quot;rgba(255,255,255,0.08)&quot;;
            ctx.stroke();

            // 위성 본체
            ctx.beginPath();
            ctx.arc(mx,my,m.size,0,Math.PI*2);
            ctx.fillStyle=&quot;white&quot;;
            ctx.fill();
        });
    });
}

//   무한 반복 애니메이션 실행기
function animate(){
    // 1. 이전 화면 깨끗하게 지우기 (도화지 초기화)
    ctx.clearRect(0,0,canvas.width,canvas.height);
    
    // 2. 배경 -&gt; 태양 -&gt; 행성 -&gt; 카이퍼 벨트 순서로 새로 그리기
    drawStars();
    drawSun();
    drawPlanets();
    drawKuiper();
    
    // 3. 시간을 1씩 증가시켜 다음 프레임 때 조금씩 움직이도록 함
    time += 1;
    
    // 4. 브라우저가 허락하는 한 초고속으로 이 animate 함수를 무한 반복! (초당 약 60번)
    requestAnimationFrame(animate);
}

// 시뮬레이션 가동!
animate();
&lt;/script&gt;
&lt;/p&gt;
&lt;pre class=&quot;processing&quot; style=&quot;background-color: #fff; padding: 15px; border-radius: 5px; overflow-x: auto; font-size: 14px; line-height: 1.5; color: #333; border: 1px solid #e0e0e0;&quot;&gt;&lt;code&gt;&amp;lt;div id=&quot;solarsystem-container&quot; style=&quot;position: relative; width: 100%; max-width: 800px; height: 500px; margin: 20px auto; background: black; overflow: hidden; border-radius: 8px;&quot;&amp;gt;
    &amp;lt;canvas id=&quot;c&quot; style=&quot;display: block; width: 100%; height: 100%;&quot;&amp;gt;&amp;lt;/canvas&amp;gt;
&amp;lt;/div&amp;gt;

&amp;lt;script&amp;gt;
const container = document.getElementById(&quot;solarsystem-container&quot;);
const canvas = document.getElementById(&quot;c&quot;);
const ctx = canvas.getContext(&quot;2d&quot;);

canvas.width = container.clientWidth;
canvas.height = container.clientHeight;

const cx = canvas.width / 2;
const cy = canvas.height / 2;

let time = 0;

const planets = [
    { r:40, size:3, speed:0.002, color:&quot;#aaa&quot;, moons:[] },
    { r:65, size:5, speed:0.0015, color:&quot;#d9a066&quot;, moons:[] },
    { r:95, size:6, speed:0.001, color:&quot;#4fa3ff&quot;, moons:[{r:10,size:2,speed:0.01}]},
    { r:125, size:5, speed:0.0008, color:&quot;#ff6b4f&quot;, moons:[
        {r:8,size:1.5,speed:0.02},{r:11,size:1.5,speed:0.015}
    ]},
    { r:165, size:11, speed:0.0004, color:&quot;#d2b48c&quot;, moons:[
        {r:15,size:2,speed:0.02},{r:18,size:2,speed:0.018}
    ]},
    { r:210, size:9, speed:0.0003, color:&quot;#e6d3a3&quot;, moons:[
        {r:14,size:2,speed:0.015},{r:18,size:2,speed:0.012}
    ]},
    { r:250, size:7, speed:0.0002, color:&quot;#8fd3ff&quot;, moons:[{r:12,size:1.5,speed:0.01}]},
    { r:290, size:7, speed:0.00015, color:&quot;#4f6bff&quot;, moons:[{r:12,size:1.5,speed:0.01}]},
    { r:320, size:3, speed:0.0001, color:&quot;#ccc&quot;, moons:[] }
];

const stars = Array.from({length:250}, () =&amp;gt; ({
    x: Math.random()*canvas.width,
    y: Math.random()*canvas.height,
    r: Math.random()*1.2
}));

const kuiper = [];
for (let i = 0; i &amp;lt; 500; i++) {
    let angle = Math.random() * Math.PI * 2;
    let dist = 340 + Math.random() * 60; 
    kuiper.push({ angle, dist });
}

function drawStars(){
    ctx.fillStyle=&quot;white&quot;;
    stars.forEach(s=&amp;gt;{
        ctx.beginPath();
        ctx.arc(s.x,s.y,s.r,0,Math.PI*2);
        ctx.fill();
    });
}

function drawSun(){
    let g = ctx.createRadialGradient(cx,cy,0,cx,cy,30);
    g.addColorStop(0,&quot;#ffffaa&quot;);
    g.addColorStop(1,&quot;rgba(255,200,0,0)&quot;);

    ctx.beginPath();
    ctx.arc(cx,cy,30,0,Math.PI*2);
    ctx.fillStyle=g;
    ctx.fill();
}

function drawKuiper(){
    ctx.fillStyle = &quot;rgba(200,200,255,0.3)&quot;;
    kuiper.forEach(o=&amp;gt;{
        let x = cx + Math.cos(o.angle) * o.dist;
        let y = cy + Math.sin(o.angle) * o.dist;
        ctx.fillRect(x, y, 1, 1);
    });
}

function drawPlanets(){
    planets.forEach(p=&amp;gt;{
        let angle = time * p.speed;
        let px = cx + Math.cos(angle)*p.r;
        let py = cy + Math.sin(angle)*p.r;

        ctx.beginPath();
        ctx.arc(cx,cy,p.r,0,Math.PI*2);
        ctx.strokeStyle=&quot;rgba(255,255,255,0.05)&quot;;
        ctx.stroke();

        ctx.beginPath();
        ctx.arc(px,py,p.size,0,Math.PI*2);
        ctx.fillStyle=p.color;
        ctx.fill();

        p.moons.forEach(m=&amp;gt;{
            let ma = time * m.speed;
            let mx = px + Math.cos(ma)*m.r;
            let my = py + Math.sin(ma)*m.r;

            ctx.beginPath();
            ctx.arc(px,py,m.r,0,Math.PI*2);
            ctx.strokeStyle=&quot;rgba(255,255,255,0.08)&quot;;
            ctx.stroke();

            ctx.beginPath();
            ctx.arc(mx,my,m.size,0,Math.PI*2);
            ctx.fillStyle=&quot;white&quot;;
            ctx.fill();
        });
    });
}

function animate(){
    ctx.clearRect(0,0,canvas.width,canvas.height);
    drawStars();
    drawSun();
    drawPlanets();
    drawKuiper();
    time += 1;
    requestAnimationFrame(animate);
}

animate();
&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;</description>
      <category>일상 이야기/실험실</category>
      <category>Canvas</category>
      <category>놀이</category>
      <category>태양계</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/152</guid>
      <comments>https://infotake.tistory.com/152#entry152comment</comments>
      <pubDate>Mon, 8 Jun 2026 16:14:49 +0900</pubDate>
    </item>
    <item>
      <title>한글 단축키 모음, 실무 속도 2배 높이는 필수 기능 정리</title>
      <link>https://infotake.tistory.com/151</link>
      <description>&lt;div&gt;
&lt;style&gt;
/* 제목 */
h1, h2 {
    color: #111;
    margin-top: 45px;
}

/* 문단 */
p {
    margin: 18px 0;
    line-height: 1.9;
}

/* 코드 박스 */
.code-box {
    background: #000;
    color: #fff;
    padding: 18px;
    border-radius: 10px;
    overflow-x: auto;
    white-space: pre;
    margin: 20px 0;
    font-size: 14px;
}

/* 태그 */
.tag-box {
    background: #f4f4f4;
    padding: 15px;
    border-left: 4px solid #333;
    margin: 20px 0;
    font-size: 13px;
}

/* 섹션 */
.section {
    margin-bottom: 55px;
}

/* 줄 구분 리스트 */
.line-list {
    margin: 20px 0;
    line-height: 1.9;
}

.line {
    height: 1px;
    background: #eee;
    margin: 12px 0;
}

/* 강조 박스 */
.notice {
    background: #fff8e6;
    border-left: 5px solid #ffb300;
    padding: 15px;
    margin: 20px 0;
    border-radius: 8px;
}

/* 표 */
.table-box {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-size: 15px;
}

.table-box th {
    background: #f7f7f7;
    padding: 12px;
    border: 1px solid #ddd;
    text-align: left;
}

.table-box td {
    padding: 12px;
    border: 1px solid #ddd;
}

.table-box tr:nth-child(even) {
    background: #fafafa;
}
&lt;/style&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공공기관과 업무하시는 여러분들 한글 많이 사용 하시죠. 하나하나 힘들게 진행하는 분들 아직도 한글 문서 만들 때 마우스 붙잡고 계신가요? 남들 정시 퇴근할 때 나만 야근하는 이유는 '단축키' 하나 때문입니다. 공공기관, 학교, 대기업에서 일 잘하는 사람들이 숨겨놓고 쓰는 한글(HWP) 핵심 단축키를 공개합니다. 손가락만 움직여도 문서 작성 속도가 배는 빨라집니다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; font-size: 1.62em; letter-spacing: -1px;&quot;&gt;문서 작성 및 파일 관리&lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문서를 새로 만들거나 저장, 인쇄할 때 사용하는 기본 단축키입니다. 가장 자주 사용하는 기능들이므로 먼저 익혀두면 좋습니다.&lt;/p&gt;
&lt;table class=&quot;table-box&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;단축키&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + N&lt;/td&gt;
&lt;td&gt;새 문서&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + O&lt;/td&gt;
&lt;td&gt;문서 열기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + S&lt;/td&gt;
&lt;td&gt;저장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + P&lt;/td&gt;
&lt;td&gt;인쇄&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + F4&lt;/td&gt;
&lt;td&gt;현재 문서 닫기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alt + F4&lt;/td&gt;
&lt;td&gt;한글 종료&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; font-size: 1.62em; letter-spacing: -1px;&quot;&gt;문서 편집&lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문서를 수정하거나 내용을 변경할 때 사용하는 기본 편집 단축키입니다. 실무에서 가장 많이 사용하는 영역입니다.&lt;/p&gt;
&lt;table class=&quot;table-box&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;단축키&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + C&lt;/td&gt;
&lt;td&gt;복사&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + V&lt;/td&gt;
&lt;td&gt;붙여넣기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + X&lt;/td&gt;
&lt;td&gt;잘라내기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + Z&lt;/td&gt;
&lt;td&gt;실행 취소&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + Y&lt;/td&gt;
&lt;td&gt;커서가 있는 줄 전체 지우기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + A&lt;/td&gt;
&lt;td&gt;전체 선택&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + F 또는 Ctrl + Q &amp;rarr; F &lt;small&gt;(또는 F2)&lt;/small&gt;&lt;/td&gt;
&lt;td&gt;찾기 (모든 버전 호환)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + H&lt;/td&gt;
&lt;td&gt;찾아 바꾸기&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; font-size: 1.62em; letter-spacing: -1px;&quot;&gt;글자 서식&lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;글꼴 모양이나 크기, 강조 효과를 빠르게 적용할 수 있는 단축키입니다.&lt;/p&gt;
&lt;table class=&quot;table-box&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;단축키&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Alt + Shift + B&lt;/td&gt;
&lt;td&gt;글자 굵게&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alt + Shift + I&lt;/td&gt;
&lt;td&gt;글자 기울임&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alt + Shift + U&lt;/td&gt;
&lt;td&gt;글자 밑줄&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alt + Shift + T&lt;/td&gt;
&lt;td&gt;취소선&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alt + L&lt;/td&gt;
&lt;td&gt;글자 모양 대화상자 열기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alt + C&lt;/td&gt;
&lt;td&gt;&lt;b&gt;글자/문단 모양 복사&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alt + Shift + E / R&lt;/td&gt;
&lt;td&gt;글자 크기 크게 / 작게&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alt + Shift + W&lt;/td&gt;
&lt;td&gt;자간 넓게&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alt + Shift + N&lt;/td&gt;
&lt;td&gt;자간 좁게&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alt + Shift + K&lt;/td&gt;
&lt;td&gt;장평 늘리기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alt + Shift + J&lt;/td&gt;
&lt;td&gt;장평 줄이기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alt + Shift + P&lt;/td&gt;
&lt;td&gt;위 첨자&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alt + Shift + S&lt;/td&gt;
&lt;td&gt;아래 첨자&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense responsive&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;반응형&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-6288483252364151&quot; data-ad-format=&quot;auto&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; font-size: 1.62em; letter-spacing: -1px;&quot;&gt;문단 정렬 및 단락&lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보고서, 공문, 제안서 작성 시 자주 사용하는 문단 관련 단축키입니다&lt;/p&gt;
&lt;table class=&quot;table-box&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;단축키&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + Shift + L&lt;/td&gt;
&lt;td&gt;왼쪽 정렬&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + Shift + C&lt;/td&gt;
&lt;td&gt;가운데 정렬&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + Shift + R&lt;/td&gt;
&lt;td&gt;오른쪽 정렬&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + Shift + M&lt;/td&gt;
&lt;td&gt;양쪽 정렬&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alt + T&lt;/td&gt;
&lt;td&gt;문단 모양 대화상자 열기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shift + Tab&lt;/td&gt;
&lt;td&gt;&lt;b&gt;일반 본문에서 빠른 내어쓰기 (앞줄 맞춤)&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + F5&lt;/td&gt;
&lt;td&gt;문단 들여쓰기 (첫 줄을 오른쪽으로 이동)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + F7&lt;/td&gt;
&lt;td&gt;문단 내어쓰기 (둘째 줄부터 오른쪽으로 이동)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alt + Shift + A&lt;/td&gt;
&lt;td&gt;줄 간격 넓히기 (10%씩 증가)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alt + Shift + Z&lt;/td&gt;
&lt;td&gt;줄 간격 좁히기 (10%씩 감소)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문서 이동 및 범위 선택&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;긴 문서를 탐색하거나 특정 범위를 빠르게 선택할 때 유용한 단축키입니다.&lt;/p&gt;
&lt;table class=&quot;table-box&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;단축키&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Alt + G&lt;/td&gt;
&lt;td&gt;찾아가기 (특정 쪽, 구역, 줄로 즉시 이동)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + Page Up&lt;/td&gt;
&lt;td&gt;문서의 맨 처음 쪽으로 이동&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + Page Down&lt;/td&gt;
&lt;td&gt;문서의 맨 마지막 쪽으로 이동&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Home / End&lt;/td&gt;
&lt;td&gt;현재 줄의 맨 앞 / 맨 뒤로 커서 이동&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shift + 방향키&lt;/td&gt;
&lt;td&gt;글자 단위로 블록(범위) 지정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + Shift + 방향키&lt;/td&gt;
&lt;td&gt;단어 단위로 블록(범위) 지정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F3&lt;/td&gt;
&lt;td&gt;블록 지정 시작 상태로 전환 (방향키로 범위 선택)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;표 편집&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한글에서 가장 생산성 차이가 큰 영역입니다. 표 작업이 많다면 반드시 익혀두는 것이 좋습니다.&lt;/p&gt;
&lt;table class=&quot;table-box&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;단축키&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + N &amp;rarr; T&lt;/td&gt;
&lt;td&gt;표 만들기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tab&lt;/td&gt;
&lt;td&gt;다음 셀(오른쪽)로 이동&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shift + Tab&lt;/td&gt;
&lt;td&gt;이전 셀(왼쪽)로 이동 ※표 안에서는 이동기로 작동&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + Tab&lt;/td&gt;
&lt;td&gt;셀 안에서 탭(Tab) 공백 문자 입력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + Shift + Tab&lt;/td&gt;
&lt;td&gt;&lt;b&gt;표 안에서 빠른 내어쓰기 (줄 맞추기)&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F5&lt;/td&gt;
&lt;td&gt;셀 하나 선택 (블록 지정)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F5 두 번&lt;/td&gt;
&lt;td&gt;행 단위 선택 시작 (방향키로 범위 확장)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F5 세 번&lt;/td&gt;
&lt;td&gt;표 전체 선택&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F5 &amp;rarr; F7&lt;/td&gt;
&lt;td&gt;세로 한 줄(열) 전체 선택&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F5 &amp;rarr; F8&lt;/td&gt;
&lt;td&gt;가로 한 줄(행) 전체 선택&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;M&lt;/td&gt;
&lt;td&gt;셀 합치기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;S&lt;/td&gt;
&lt;td&gt;셀 나누기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;L&lt;/td&gt;
&lt;td&gt;셀 테두리(선 모양/두께/색상) 설정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td&gt;셀 배경색 및 구역 채우기 설정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;W&lt;/td&gt;
&lt;td&gt;선택한 셀들의 너비를 똑같이 맞추기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;H&lt;/td&gt;
&lt;td&gt;선택한 셀들의 높이를 똑같이 맞추기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt;표 자동 채우기 (숫자, 요일 등 자동 입력)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + 방향키&lt;/td&gt;
&lt;td&gt;표 전체 크기를 늘리거나 줄이며 셀 크기 조절&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alt + 방향키&lt;/td&gt;
&lt;td&gt;표 전체 크기는 고정한 채 선택한 셀 크기만 조절&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + Enter&lt;/td&gt;
&lt;td&gt;(맨 오른쪽 아래 셀에서) 아래에 줄 추가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alt + Insert&lt;/td&gt;
&lt;td&gt;현재 커서 기준으로 줄/칸 추가하기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alt + Delete&lt;/td&gt;
&lt;td&gt;현재 커서가 있는 줄/칸 삭제하기&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;쪽(페이지) 관련&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문서 레이아웃을 구성할 때 사용하는 페이지 관련 단축키입니다.&lt;/p&gt;
&lt;table class=&quot;table-box&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;단축키&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + Enter&lt;/td&gt;
&lt;td&gt;쪽 나누기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + N &amp;rarr; P&lt;/td&gt;
&lt;td&gt;새 쪽 삽입&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Page Up&lt;/td&gt;
&lt;td&gt;이전 화면 이동&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Page Down&lt;/td&gt;
&lt;td&gt;다음 화면 이동&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; font-size: 1.62em; letter-spacing: -1px;&quot;&gt;특수문자 및 입력 기능&lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한자, 특수문자, 수식 등을 입력할 때 사용하는 단축키입니다.&lt;/p&gt;
&lt;table class=&quot;table-box&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;단축키&lt;/th&gt;
&lt;th&gt;기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;F9&lt;/td&gt;
&lt;td&gt;한자 변환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + F10&lt;/td&gt;
&lt;td&gt;특수문자 입력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + N &amp;rarr; M&lt;/td&gt;
&lt;td&gt;수식 입력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + N &amp;rarr; I&lt;/td&gt;
&lt;td&gt;그림 삽입&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ctrl + N &amp;rarr; W&lt;/td&gt;
&lt;td&gt;글상자 삽입&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;기능키(F1~F12)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기능키만 알아도 상당수 기능을 빠르게 사용할 수 있습니다.&lt;/p&gt;
&lt;table class=&quot;table-box&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;기능키&lt;/th&gt;
&lt;th&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;F1&lt;/td&gt;
&lt;td&gt;도움말&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F2&lt;/td&gt;
&lt;td&gt;찾기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F3&lt;/td&gt;
&lt;td&gt;블록 지정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F5&lt;/td&gt;
&lt;td&gt;셀/블록 선택&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F7&lt;/td&gt;
&lt;td&gt;편집 용지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F8&lt;/td&gt;
&lt;td&gt;맞춤법 검사&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F9&lt;/td&gt;
&lt;td&gt;한자 변환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F12&lt;/td&gt;
&lt;td&gt;사전&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;실무 필수 단축키 TOP 10&lt;/h2&gt;
&lt;div class=&quot;line-list&quot;&gt;Ctrl + S : 저장
&lt;div class=&quot;line&quot;&gt;&amp;nbsp;&lt;/div&gt;
Ctrl + Z : 실행 취소
&lt;div class=&quot;line&quot;&gt;&amp;nbsp;&lt;/div&gt;
Ctrl + H : 찾아 바꾸기
&lt;div class=&quot;line&quot;&gt;&amp;nbsp;&lt;/div&gt;
Alt + L : 글자 모양
&lt;div class=&quot;line&quot;&gt;&amp;nbsp;&lt;/div&gt;
Alt + T : 문단 모양
&lt;div class=&quot;line&quot;&gt;&amp;nbsp;&lt;/div&gt;
Ctrl + N &amp;rarr; T : 표 만들기
&lt;div class=&quot;line&quot;&gt;&amp;nbsp;&lt;/div&gt;
F5 : 셀 선택
&lt;div class=&quot;line&quot;&gt;&amp;nbsp;&lt;/div&gt;
F9 : 한자 변환
&lt;div class=&quot;line&quot;&gt;&amp;nbsp;&lt;/div&gt;
Ctrl + Enter : 쪽 나누기
&lt;div class=&quot;line&quot;&gt;&amp;nbsp;&lt;/div&gt;
Ctrl + F (또는 Ctrl + Q &amp;rarr; F) : 찾기&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;한줄 요약&lt;/h2&gt;
&lt;div&gt;한글 단축키를 익혀두면 문서 작성, 표 편집, 공문 작성 속도를 크게 향상시킬 수 있으며 Alt + L, Alt + T, Ctrl + H, F5, Ctrl + N &amp;rarr; T는 실무에서 가장 많이 사용되는 핵심 단축키입니다.&lt;/div&gt;
&lt;/div&gt;</description>
      <category>개발 이야기/윈도우</category>
      <category>단축키</category>
      <category>한글</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/151</guid>
      <comments>https://infotake.tistory.com/151#entry151comment</comments>
      <pubDate>Mon, 8 Jun 2026 15:47:34 +0900</pubDate>
    </item>
    <item>
      <title>윈도우 종료 예약 프로그램 만들기 (BAT 파일 자동화)</title>
      <link>https://infotake.tistory.com/150</link>
      <description>&lt;div&gt;
&lt;style&gt;

/* 제목 */
h1,h2{
    color:#111;
    margin-top:45px;
}

/* 문단 */
p{
    margin:18px 0;
    line-height:1.9;
}

/* 코드 박스 */
.code-box{
    background:#000;
    color:#fff;
    padding:18px;
    border-radius:10px;
    overflow-x:auto;
    white-space:pre;
    margin:20px 0;
    font-size:14px;
}

/* 태그 */
.tag-box{
    background:#f4f4f4;
    padding:15px;
    border-left:4px solid #333;
    margin:20px 0;
    font-size:13px;
}

/* 섹션 */
.section{
    margin-bottom:55px;
}

/* 줄 구분 리스트 */
.line-list{
    margin:20px 0;
    line-height:1.9;
}

.line{
    height:1px;
    background:#eee;
    margin:12px 0;
}

/* 강조 박스 */
.notice{
    background:#fff8e6;
    border-left:5px solid #ffb300;
    padding:15px;
    margin:20px 0;
    border-radius:8px;
}

&lt;/style&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;645&quot; data-origin-height=&quot;330&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FGefb/dJMcabRXFBL/m5x50jfRDiQ7vOLRmBNahK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FGefb/dJMcabRXFBL/m5x50jfRDiQ7vOLRmBNahK/img.png&quot; data-alt=&quot;실행 화면!! 전문 프로그램 없이도 쉽게 사용 할수 있어요 ~&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FGefb/dJMcabRXFBL/m5x50jfRDiQ7vOLRmBNahK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFGefb%2FdJMcabRXFBL%2Fm5x50jfRDiQ7vOLRmBNahK%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;645&quot; height=&quot;330&quot; data-origin-width=&quot;645&quot; data-origin-height=&quot;330&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;실행 화면!! 전문 프로그램 없이도 쉽게 사용 할수 있어요 ~&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/5uhk1/dJMcajoSneV/Ah6GoXHdhAYrabg2GWcgE1/%EC%98%88%EC%95%BD%EC%A2%85%EB%A3%8C.bat?attach=1&amp;amp;knm=tfile.bat&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;예약종료.bat&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.00MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우에서는 배치(.bat) 파일을 이용하면 단순한 명령을 넘어서 작은 자동화 프로그램처럼 사용할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 글에서는 실생활에서 자주 쓰이는 기능인 윈도우 종료 예약 프로그램을 만들어 보겠습니다.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;기능 설명&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 이 프로그램은 단순 종료 예약이 아니라 조금 더 관리 가능한 형태의 자동 종료 도구입니다.&lt;/p&gt;
&lt;div class=&quot;line-list&quot;&gt;- 종료 시간을 직접 입력해서 예약할 수 있습니다 (YYYY-MM-DD HH:MM 형식)
&lt;div class=&quot;line&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 입력한 시간까지 남은 시간을 자동으로 계산합니다
&lt;div class=&quot;line&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 설정된 시간이 되면 자동으로 PC가 종료됩니다
&lt;div class=&quot;line&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 현재 예약 상태를 확인할 수 있습니다
&lt;div class=&quot;line&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 필요할 경우 예약을 즉시 취소할 수 있습니다
&lt;div class=&quot;line&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 예약된 시간은 임시로 기록되어 관리됩니다&lt;/div&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;/span&gt; 단순한 shutdown 명령이 아니라 작은 관리형 도구처럼 사용할 수 있습니다.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;관리자 권한 필요&lt;/h2&gt;
&lt;div class=&quot;notice&quot;&gt;이 BAT 파일은 shutdown 명령을 사용하기 때문에 환경에 따라 관리자 권한 실행이 필요할 수 있습니다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실행 방법은 간단합니다.&lt;/p&gt;
&lt;div class=&quot;line-list&quot;&gt;BAT 파일을 우클릭한 뒤 관리자 권한으로 실행합니다
&lt;div class=&quot;line&quot;&gt;&amp;nbsp;&lt;/div&gt;
일반 실행 시 일부 기능이 제한될 수 있습니다&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;만드는 방법&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;메모장을 열고 아래 코드를 붙여넣은 뒤 파일 확장자를 &lt;b&gt;.bat&lt;/b&gt;로 저장하면 됩니다.&lt;/p&gt;
&lt;div class=&quot;code-box&quot;&gt;윈도우 종료 예약.bat&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;전체 코드&lt;/h2&gt;
&lt;div class=&quot;code-box&quot;&gt;@echo off setlocal title 윈도우 종료 매니저 (기록형) :: 예약 정보 저장 파일 경로 set &quot;info_file=%temp%\shutdown_target.txt&quot; :MENU cls echo ====================================================== echo [ 종료 예약 관리 시스템 ] echo ====================================================== echo 1. 종료 예약 설정 (YYYY-MM-DD HH:MM) echo 2. 현재 예약된 시간 확인 (조회) echo 3. 예약 취소 (Shutdown Abort) echo 4. 종료 echo ====================================================== set /p menu_choice=&quot;원하는 번호를 입력하세요: &quot; if &quot;%menu_choice%&quot;==&quot;1&quot; goto SET_TIMER if &quot;%menu_choice%&quot;==&quot;2&quot; goto CHECK_STATUS if &quot;%menu_choice%&quot;==&quot;3&quot; goto CANCEL_TIMER if &quot;%menu_choice%&quot;==&quot;4&quot; exit goto MENU :SET_TIMER echo. echo [입력 예시: 2026-02-16 23:30] set /p target=&quot;종료 일시 입력: &quot; :: 초 단위 계산 (PowerShell 활용) for /f &quot;tokens=*&quot; %%a in ('powershell -Command &quot;[int](([datetime]'%target%' - (Get-Date)).TotalSeconds)&quot;') do set diff=%%a if %diff% leq 0 ( echo. echo [오류] 이미 지난 시간이거나 형식이 잘못되었습니다. pause goto MENU ) :: 시스템 종료 명령 실행 shutdown -s -t %diff% :: 입력한 시간을 텍스트 파일에 기록 (조회용) echo %target% &amp;gt; &quot;%info_file%&quot; echo. echo ------------------------------------------------------ echo [%target%] 에 종료가 예약되었습니다. echo (정보가 임시 저장되었습니다.) echo ------------------------------------------------------ pause goto MENU :CHECK_STATUS echo. echo ------------------------------------------------------ if exist &quot;%info_file%&quot; ( set /p saved_time=&amp;lt;&quot;%info_file%&quot; echo [조회 결과] 예약된 종료 시각: %saved_time% echo. echo * 주의: 사용자가 직접 취소했거나 이미 종료된 경우 echo 정보가 일치하지 않을 수 있습니다. ) else ( echo [알림] 현재 설정된 예약 정보가 없습니다. ) echo ------------------------------------------------------ pause goto MENU :CANCEL_TIMER shutdown -a &amp;gt;nul 2&amp;gt;&amp;amp;1 if %errorlevel% equ 0 ( if exist &quot;%info_file%&quot; del &quot;%info_file%&quot; echo. echo [성공] 모든 예약이 취소되고 기록이 삭제되었습니다. ) else ( echo. echo [알림] 취소할 예약이 없습니다. ) pause goto MENU&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;실행 방법&lt;/h2&gt;
&lt;div class=&quot;line-list&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; BAT 파일을 생성합니다
&lt;div class=&quot;line&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 관리자 권한으로 실행합니다
&lt;div class=&quot;line&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 메뉴에서 원하는 기능을 선택합니다
&lt;div class=&quot;line&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 시간을 입력하면 자동으로 예약됩니다&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;활용 방법&lt;/h2&gt;
&lt;div class=&quot;line-list&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 자기 전에 시간을 맞춰 PC를 자동 종료할 때 사용합니다
&lt;div class=&quot;line&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 다운로드나 업데이트가 끝난 뒤 자동으로 종료됩니다
&lt;div class=&quot;line&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 영상을 보다가 일정 시간이 지나면 자동으로 종료됩니다
&lt;div class=&quot;line&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 작업 후 PC를 켜둔 채로 잊어버려도 자동으로 종료됩니다&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과적으로 사용자가 직접 끄지 않아도 자동으로 정리됩니다.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;한줄 요약&lt;/h2&gt;
&lt;div class=&quot;code-box&quot;&gt;윈도우 BAT 파일은 관리자 권한과 함께 사용하면 작은 자동화 도구처럼 활용할 수 있다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>개발 이야기/윈도우</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/150</guid>
      <comments>https://infotake.tistory.com/150#entry150comment</comments>
      <pubDate>Sun, 7 Jun 2026 19:59:16 +0900</pubDate>
    </item>
    <item>
      <title>크롬 YouTube 앱 삭제하기｜브라우저 안 쓰는 앱 정리 팁</title>
      <link>https://infotake.tistory.com/149</link>
      <description>&lt;div class=&quot;post&quot;&gt;
&lt;style&gt;
  .post {
    line-height: 1.8;
    font-size: 16px;
    color: #333;
  }

  .post h2 {
    margin: 28px 0 12px;
    border-bottom: 2px solid #eee;
    padding-bottom: 6px;
  }

  .post h3 {
    margin: 20px 0 10px;
  }

  .tip-box {
    background-color: #f4f8fb;
    border: 1px solid #d1e7f0;
    padding: 16px;
    border-radius: 10px;
    margin-top: 25px;
  }

  code {
    background: #f6f6f6;
    padding: 2px 6px;
    border-radius: 4px;
  }
&lt;/style&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;932&quot; data-origin-height=&quot;90&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/18l44/dJMcafz7lmy/rmhEqDTRzxFrmrbG1T4KH0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/18l44/dJMcafz7lmy/rmhEqDTRzxFrmrbG1T4KH0/img.png&quot; data-alt=&quot;앗!! 유트앱으로 자꾸이동해서 실행되!!!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/18l44/dJMcafz7lmy/rmhEqDTRzxFrmrbG1T4KH0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F18l44%2FdJMcafz7lmy%2FrmhEqDTRzxFrmrbG1T4KH0%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;932&quot; height=&quot;90&quot; data-origin-width=&quot;932&quot; data-origin-height=&quot;90&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;앗!! 유트앱으로 자꾸이동해서 실행되!!!&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;크롬 앱(App) 아시나요? 브라우저 에서 로컬 자원을 활용해서 더 많은 기능을 제공하는 앱 들인데요. 쓰지 않는 앱이 설치되어서 불&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필요한 권장이나 자원을 차지 한다면 삭제를 할 수 있는 방법을 안내드립니다. 저같은 경우에는 Youtube 앱인데요 해당 페이지를 가면 앱실행을 권장하는것 까진 좋은데 클릭하면 다시 브라우저로 전환 하기가 불편하단거죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 이번 글에서는 크롬 YouTube 앱 삭제 방법을 간단하게 정리해드립니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;YouTube 앱이란?&lt;/h2&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;357&quot; data-origin-height=&quot;43&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yaeD7/dJMcadWzePt/MvackuBWLfBuaP1ZLtQBo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yaeD7/dJMcadWzePt/MvackuBWLfBuaP1ZLtQBo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yaeD7/dJMcadWzePt/MvackuBWLfBuaP1ZLtQBo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyaeD7%2FdJMcadWzePt%2FMvackuBWLfBuaP1ZLtQBo0%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;357&quot; height=&quot;43&quot; data-origin-width=&quot;357&quot; data-origin-height=&quot;43&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;크롬 내부에서 웹 서비스를 앱처럼 실행할 수 있도록 만든 기능입니다. 위 이미지 처럼 권장을 한답니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;아이콘 클릭 시 바로 YouTube 실행&lt;/li&gt;
&lt;li&gt;브라우저와 분리된 앱처럼 동작&lt;/li&gt;
&lt;li&gt;홈 화면 또는 앱 목록에 표시됨&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 현재는 대부분 웹 브라우저에서 바로 접속하는 방식이 더 일반적입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;왜 삭제하는 게 좋을까?&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실수로 앱이 열리는 경우 방지&lt;/li&gt;
&lt;li&gt;브라우저 화면 정리 효과&lt;/li&gt;
&lt;li&gt;불필요한 앱 목록 감소&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 YouTube는 주소창에서 바로 접속이 가능하기 때문에 앱 형태로 유지할 필요성이 크지 않은 편입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;삭제 방법&lt;/h2&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;1103&quot; data-origin-height=&quot;423&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgABYl/dJMcaiDA33b/kCeuCrQ1tKSoInKbHXJsL0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgABYl/dJMcaiDA33b/kCeuCrQ1tKSoInKbHXJsL0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgABYl/dJMcaiDA33b/kCeuCrQ1tKSoInKbHXJsL0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgABYl%2FdJMcaiDA33b%2FkCeuCrQ1tKSoInKbHXJsL0%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;621&quot; height=&quot;238&quot; data-origin-width=&quot;1103&quot; data-origin-height=&quot;423&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;chrome://apps/&lt;/code&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;YouTube 앱 아이콘 찾기&lt;/li&gt;
&lt;li&gt;마우스 우클릭&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Chrome에서 제거&amp;rdquo; 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;605&quot; data-origin-height=&quot;353&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/C8LMC/dJMcacKb6H0/2SyALsxyR4K7dooPJqWR4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/C8LMC/dJMcacKb6H0/2SyALsxyR4K7dooPJqWR4k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/C8LMC/dJMcacKb6H0/2SyALsxyR4K7dooPJqWR4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FC8LMC%2FdJMcacKb6H0%2F2SyALsxyR4K7dooPJqWR4k%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;605&quot; height=&quot;353&quot; data-origin-width=&quot;605&quot; data-origin-height=&quot;353&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;이후부터는 앱 형태가 아닌 일반 웹으로만 사용됩니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;삭제 후 변화&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앱 실행 화면 제거&lt;/li&gt;
&lt;li&gt;브라우저 자동 전환 방지&lt;/li&gt;
&lt;li&gt;더 깔끔한 시작 환경&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;유지해도 되는 경우&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 앱처럼 빠르게 접근하는 것이 편하다면 유지해도 괜찮습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;자주 사용하는 경우&lt;/li&gt;
&lt;li&gt;별도 창으로 분리 사용 선호&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;303&quot; data-origin-height=&quot;43&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RKuxB/dJMcafNG9XZ/WveU3sAmwle2TI7PdKjHC0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RKuxB/dJMcafNG9XZ/WveU3sAmwle2TI7PdKjHC0/img.png&quot; data-alt=&quot;삭제가 된 이후에는 이렇게 설치를 권장이 다시나옵니다!! 필요하시면 언제 든지 다시 설치&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RKuxB/dJMcafNG9XZ/WveU3sAmwle2TI7PdKjHC0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRKuxB%2FdJMcafNG9XZ%2FWveU3sAmwle2TI7PdKjHC0%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;303&quot; height=&quot;43&quot; data-origin-width=&quot;303&quot; data-origin-height=&quot;43&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;삭제가 된 이후에는 이렇게 설치를 권장이 다시나옵니다!! 필요하시면 언제 든지 다시 설치&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;div class=&quot;tip-box&quot;&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;한 줄 정리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;YouTube 앱은 편리하지만, 대부분은 웹 접속으로 충분합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필요 없다면 삭제해서 브라우저를 더 깔끔하게 관리할 수 있습니다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발 이야기/웹</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/149</guid>
      <comments>https://infotake.tistory.com/149#entry149comment</comments>
      <pubDate>Sun, 7 Jun 2026 19:22:21 +0900</pubDate>
    </item>
    <item>
      <title>파이썬 1편, 설치부터 VSCode 개발환경까지 한 번에 정리</title>
      <link>https://infotake.tistory.com/148</link>
      <description>&lt;p&gt;
파이썬(Python)은 현재 가장 많이 사용되는 프로그래밍 언어 중 하나로, 입문부터 실무까지 폭넓게 활용되고 있고, 
단순한 문법뿐 아니라 웹, 데이터 분석, 자동화, AI까지 확장성이 매우 커서 “처음 배우는 언어”로도, “실무 도구”로도 선택되는 언어로 느껴집니다.
&lt;/p&gt;

&lt;br&gt;

&lt;p&gt;
최근에는 특히 &lt;b&gt;개발 도구(VSCode) 기반 환경&lt;/b&gt;이 표준처럼 자리 잡으면서, 파이썬은 단순 실행이 아니라 개발 환경 구성과 프로젝트 운영이 핵심이 되고 있습니다. 이번 글에서는 파이썬 설치부터 VSCode 기반 개발 환경, 기본 구조, 그리고 활용 방향과 사회적 수요까지 정리 해봤습니다. 입문 하시는 분들께 도움이 되시길 바랍니다.
&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;1. 파이썬 설치 및 확인&lt;/h2&gt;

&lt;p&gt;파이썬을 시작하려면 먼저 설치부터 해야 합니다.&lt;/p&gt;

&lt;br&gt;

&lt;ul&gt;
  &lt;li&gt;공식 다운로드: https://www.python.org&lt;/li&gt;
  &lt;li&gt;설치 시 “Add Python to PATH” 체크 필수&lt;/li&gt;
&lt;/ul&gt;

&lt;br&gt;

&lt;p&gt;&lt;b&gt;버전 확인&lt;/b&gt;&lt;/p&gt;

&lt;pre&gt;
python --version
&lt;/pre&gt;

&lt;p&gt;또는&lt;/p&gt;

&lt;pre&gt;
python3 --version
&lt;/pre&gt;

&lt;br&gt;

&lt;p&gt;
버전이 출력되면 정상 설치된 상태입니다.
&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;2. 개발 도구 VSCode 설정 (핵심)&lt;/h2&gt;

&lt;p&gt;
요즘 파이썬 개발은 대부분 &lt;b&gt;VSCode 기반&lt;/b&gt;으로 진행됩니다.
&lt;/p&gt;

&lt;br&gt;

&lt;p&gt;&lt;b&gt;이유&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;가볍고 빠름&lt;/li&gt;
  &lt;li&gt;확장성이 좋음&lt;/li&gt;
  &lt;li&gt;디버깅 편리&lt;/li&gt;
  &lt;li&gt;실무에서도 사용&lt;/li&gt;
&lt;/ul&gt;

&lt;br&gt;

&lt;h3&gt;VSCode 설치&lt;/h3&gt;

&lt;p&gt;https://code.visualstudio.com&lt;/p&gt;

&lt;br&gt;

&lt;h3&gt;필수 확장 프로그램&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Python (Microsoft)&lt;/li&gt;
  &lt;li&gt;Pylance&lt;/li&gt;
  &lt;li&gt;Jupyter (선택)&lt;/li&gt;
&lt;/ul&gt;

&lt;br&gt;

&lt;h3&gt;인터프리터 설정&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Ctrl + Shift + P&lt;/li&gt;
  &lt;li&gt;Python: Select Interpreter&lt;/li&gt;
  &lt;li&gt;설치된 Python 선택&lt;/li&gt;
&lt;/ul&gt;

&lt;br&gt;

&lt;h3&gt;실행 방법&lt;/h3&gt;

&lt;pre&gt;
python main.py
&lt;/pre&gt;

&lt;br&gt;

&lt;p&gt;
이 과정을 완료하면 기본 개발 환경이 완성됩니다.
&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;3. 테스트 코드 실행 (VSCode 기준)&lt;/h2&gt;

&lt;br&gt;

&lt;h3&gt;예제 1: 기본 출력&lt;/h3&gt;

&lt;pre&gt;
print(&quot;Hello Python World!&quot;)
&lt;/pre&gt;

&lt;p&gt;&lt;b&gt;실행 결과&lt;/b&gt;&lt;/p&gt;

&lt;pre&gt;
Hello Python World!
&lt;/pre&gt;

&lt;br&gt;

&lt;h3&gt;예제 2: 변수 + 계산&lt;/h3&gt;

&lt;pre&gt;
a = 10
b = 5

result = a + b

print(&quot;결과는:&quot;, result)
&lt;/pre&gt;

&lt;p&gt;&lt;b&gt;실행 결과&lt;/b&gt;&lt;/p&gt;

&lt;pre&gt;
결과는: 15
&lt;/pre&gt;

&lt;br&gt;

&lt;h3&gt;예제 3: 조건문&lt;/h3&gt;

&lt;pre&gt;
score = 85

if score &gt;= 80:
    print(&quot;합격입니다&quot;)
else:
    print(&quot;불합격입니다&quot;)
&lt;/pre&gt;

&lt;p&gt;&lt;b&gt;실행 결과&lt;/b&gt;&lt;/p&gt;

&lt;pre&gt;
합격입니다
&lt;/pre&gt;

&lt;br&gt;

&lt;h3&gt;예제 4: 반복문&lt;/h3&gt;

&lt;pre&gt;
for i in range(1, 6):
    print(&quot;현재 숫자:&quot;, i)
&lt;/pre&gt;

&lt;p&gt;&lt;b&gt;실행 결과&lt;/b&gt;&lt;/p&gt;

&lt;pre&gt;
현재 숫자: 1
현재 숫자: 2
현재 숫자: 3
현재 숫자: 4
현재 숫자: 5
&lt;/pre&gt;

&lt;hr&gt;

&lt;h2&gt;4. 중간 이해 (중요 개념)&lt;/h2&gt;

&lt;br&gt;

&lt;h3&gt;버전의 중요성&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Python 2.x → 지원 종료&lt;/li&gt;
  &lt;li&gt;Python 3.x → 표준&lt;/li&gt;
&lt;/ul&gt;

&lt;br&gt;

&lt;p&gt;
라이브러리는 대부분 Python 3 기준으로 동작합니다.
&lt;/p&gt;

&lt;br&gt;

&lt;h3&gt;기존 프로젝트 대응&lt;/h3&gt;

&lt;pre&gt;
pip install -r requirements.txt
&lt;/pre&gt;

&lt;br&gt;

&lt;h3&gt;기본 구조&lt;/h3&gt;

&lt;pre&gt;
project/
 ├── main.py
 ├── modules/
 ├── requirements.txt
 ├── venv/
 └── README.md
&lt;/pre&gt;

&lt;br&gt;

&lt;p&gt;
핵심은 기능별 분리입니다.
&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;5. 프로젝트 목적에 따른 프레임워크&lt;/h2&gt;

&lt;br&gt;

&lt;h3&gt;윈도우 응용 프로그램&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Tkinter (기본 GUI)&lt;/li&gt;
  &lt;li&gt;PyQt (고급 UI)&lt;/li&gt;
  &lt;li&gt;Kivy (멀티 플랫폼)&lt;/li&gt;
&lt;/ul&gt;

&lt;br&gt;

&lt;p&gt;
예: 계산기, 메모장, 자동화 도구
&lt;/p&gt;

&lt;br&gt;

&lt;h3&gt;웹 개발 (Flask / Django)&lt;/h3&gt;

&lt;br&gt;

&lt;p&gt;&lt;b&gt;Flask&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;가볍고 빠름&lt;/li&gt;
  &lt;li&gt;소규모 프로젝트&lt;/li&gt;
&lt;/ul&gt;

&lt;br&gt;

&lt;p&gt;&lt;b&gt;Django&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;기능 많음&lt;/li&gt;
  &lt;li&gt;관리자 페이지 자동 제공&lt;/li&gt;
  &lt;li&gt;기업용 서비스&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;6. 파이썬의 사회적 수요&lt;/h2&gt;

&lt;br&gt;

&lt;p&gt;
현재 파이썬은 매우 높은 수요를 가진 언어입니다.
&lt;/p&gt;

&lt;br&gt;

&lt;ul&gt;
  &lt;li&gt;웹 백엔드 개발&lt;/li&gt;
  &lt;li&gt;데이터 분석&lt;/li&gt;
  &lt;li&gt;AI / 머신러닝&lt;/li&gt;
  &lt;li&gt;업무 자동화&lt;/li&gt;
  &lt;li&gt;금융 / 크롤링 시스템&lt;/li&gt;
&lt;/ul&gt;

&lt;br&gt;

&lt;p&gt;
특히 최근 흐름은 명확합니다.&lt;br&gt;
&lt;b&gt;AI + 데이터 + 자동화 = 파이썬 중심 생태계&lt;/b&gt;
&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;결론&lt;/h2&gt;

&lt;br&gt;

&lt;p&gt;
파이썬은 단순 언어가 아니라 개발자로 가는 시작점입니다.
&lt;/p&gt;

&lt;br&gt;

&lt;ul&gt;
  &lt;li&gt;VSCode 기반 개발 환경&lt;/li&gt;
  &lt;li&gt;기본 문법 이해&lt;/li&gt;
  &lt;li&gt;프로젝트 구조화&lt;/li&gt;
  &lt;li&gt;프레임워크 확장&lt;/li&gt;
  &lt;li&gt;실무 자동화 및 웹 개발&lt;/li&gt;
&lt;/ul&gt;

&lt;br&gt;

&lt;p&gt;
즉, 파이썬은 “첫 언어”가 아니라 “실무 확장 기반 언어”입니다.
&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;
개발자로서 저는 특정 언어에 제한을 두지 않고 여러 언어를 자유롭게 다루면서 프로젝트를 진행해왔습니다.&lt;br&gt;
오히려 한 가지 언어에 고정되기보다는 목적에 맞는 도구를 선택하는 방식이 더 효율적이라는 것을 경험적으로 느끼게 되었습니다.
&lt;/p&gt;

&lt;br&gt;

&lt;p&gt;
20년 가까이 다양한 업무와 개발 경험을 쌓아오면서 결국 깨달은 것은,&lt;br&gt;
“언어는 목적을 위한 도구일 뿐이고, 중요한 것은 문제를 해결하는 능력”이라는 점이었습니다.
&lt;/p&gt;

&lt;br&gt;

&lt;p&gt;
그래서 지금도 특정 기술에 한정되지 않고, 상황에 맞는 언어와 기술을 가리지 않고 학습하고 프로젝트에 적용하고 있습니다. 주의 점은 언어 하나로 사회 생활을 종결하려면 세부 코어에 솔루션 까지 모두 보유 하는 게 맞다이며 회사는 방향에 따라 다양한 언어를 할 수 있습니다.
&lt;/p&gt;</description>
      <category>개발 이야기/IT</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/148</guid>
      <comments>https://infotake.tistory.com/148#entry148comment</comments>
      <pubDate>Sun, 7 Jun 2026 16:05:48 +0900</pubDate>
    </item>
    <item>
      <title>양산 평산동 돈까스 맛집 달빛돈까스 본점 솔직 방문 후기</title>
      <link>https://infotake.tistory.com/147</link>
      <description>&lt;div&gt;
&lt;style&gt;
  .post p{
    line-height:1.95;
    margin:30px 0;
  }

  .post h2{
    text-align:center;
    margin:50px 0 30px 0;
  }

  .post h3{
    margin:50px 0 25px 0;
  }

  .post img{
    max-width:85%;
    height:auto;
  }
&lt;/style&gt;
&lt;/div&gt;
&lt;div class=&quot;post&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;1848&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UrpCp/dJMcaaFBZdk/dkvKOlZgWXR8O6xNAzRSOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UrpCp/dJMcaaFBZdk/dkvKOlZgWXR8O6xNAzRSOk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UrpCp/dJMcaaFBZdk/dkvKOlZgWXR8O6xNAzRSOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUrpCp%2FdJMcaaFBZdk%2FdkvKOlZgWXR8O6xNAzRSOk%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;4000&quot; height=&quot;1848&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;1848&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h2 data-ke-size=&quot;size26&quot;&gt;양산 평산동 돈까스 맛집, 달빛돈까스 본점 방문 후기&lt;/h2&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;경남 양산시 평산남로 72&lt;/b&gt; 입니다. 항상 대기 손님이 있는 것처럼 보였는데 이날은 토요일 오후라 그런지 운 좋게 바로 입장할 수 있었습니다. 그래도 매장 안은 이미 많은 손님들로 북적이고 있더군요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;1848&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lsP76/dJMcacDp3kA/A9myC06kSORcrhKQJNTY4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lsP76/dJMcacDp3kA/A9myC06kSORcrhKQJNTY4k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lsP76/dJMcacDp3kA/A9myC06kSORcrhKQJNTY4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlsP76%2FdJMcacDp3kA%2FA9myC06kSORcrhKQJNTY4k%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;4000&quot; height=&quot;1848&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;1848&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h3 data-ke-size=&quot;size23&quot;&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;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;1848&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GW643/dJMcadWy61z/5XrkZEIw3vdvaZLhJI9biK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GW643/dJMcadWy61z/5XrkZEIw3vdvaZLhJI9biK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GW643/dJMcadWy61z/5XrkZEIw3vdvaZLhJI9biK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGW643%2FdJMcadWy61z%2F5XrkZEIw3vdvaZLhJI9biK%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;4000&quot; height=&quot;1848&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;1848&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h3 data-ke-size=&quot;size23&quot;&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;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;1848&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dHEhvu/dJMcahSa8JV/WeLACB9zedntwBNyQ5vgE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dHEhvu/dJMcahSa8JV/WeLACB9zedntwBNyQ5vgE0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dHEhvu/dJMcahSa8JV/WeLACB9zedntwBNyQ5vgE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdHEhvu%2FdJMcahSa8JV%2FWeLACB9zedntwBNyQ5vgE0%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;4000&quot; height=&quot;1848&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;1848&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h3 data-ke-size=&quot;size23&quot;&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;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;1848&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwycQV/dJMcadvqXaD/xOHBBUqphtKja56gb0OCUK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwycQV/dJMcadvqXaD/xOHBBUqphtKja56gb0OCUK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwycQV/dJMcadvqXaD/xOHBBUqphtKja56gb0OCUK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwycQV%2FdJMcadvqXaD%2FxOHBBUqphtKja56gb0OCUK%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;4000&quot; height=&quot;1848&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;1848&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h3 data-ke-size=&quot;size23&quot;&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;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;1848&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Jy66f/dJMcacciNHJ/wfXKvYegWnKsf4w1aRDKOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Jy66f/dJMcacciNHJ/wfXKvYegWnKsf4w1aRDKOK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Jy66f/dJMcacciNHJ/wfXKvYegWnKsf4w1aRDKOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJy66f%2FdJMcacciNHJ%2FwfXKvYegWnKsf4w1aRDKOK%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;4000&quot; height=&quot;1848&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;1848&quot;/&gt;&lt;/span&gt;&lt;/figure&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;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;1848&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l6637/dJMcahSa8Na/K4P2sKkt5Ybxhuk3vbW2h0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l6637/dJMcahSa8Na/K4P2sKkt5Ybxhuk3vbW2h0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l6637/dJMcahSa8Na/K4P2sKkt5Ybxhuk3vbW2h0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl6637%2FdJMcahSa8Na%2FK4P2sKkt5Ybxhuk3vbW2h0%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;4000&quot; height=&quot;1848&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;1848&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h3 data-ke-size=&quot;size23&quot;&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;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;1848&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbBFXk/dJMcad3iB2E/flta7sX3vGcXh9fOWo7BCk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbBFXk/dJMcad3iB2E/flta7sX3vGcXh9fOWo7BCk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbBFXk/dJMcad3iB2E/flta7sX3vGcXh9fOWo7BCk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbBFXk%2FdJMcad3iB2E%2Fflta7sX3vGcXh9fOWo7BCk%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;4000&quot; height=&quot;1848&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;1848&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h3 data-ke-size=&quot;size23&quot;&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;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;1848&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c2eiMD/dJMcagZ2bBn/PJ01fghr4vI5vtWkI9DpT1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c2eiMD/dJMcagZ2bBn/PJ01fghr4vI5vtWkI9DpT1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c2eiMD/dJMcagZ2bBn/PJ01fghr4vI5vtWkI9DpT1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc2eiMD%2FdJMcagZ2bBn%2FPJ01fghr4vI5vtWkI9DpT1%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;4000&quot; height=&quot;1848&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;1848&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h3 data-ke-size=&quot;size23&quot;&gt;개인적으로 가장 만족했던 메뉴&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;의외로 가장 기억에 남은 메뉴는 &lt;b&gt;숙주나물 볶음&lt;/b&gt;이었습니다. 가격도 부담 없는데 양도 괜찮고, 볶음면 같은 식감이 있어서 계속 손이 가더군요. 정말 개인적인 취향이지만 이 메뉴 하나에 공깃밥만 있어도 충분히 한 끼 식사가 가능할 것 같았습니다. 말 그대로 '2,000원의 행복'이었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;돈까스 전문점에서 숙주나물 볶음이 가장 기억에 남을 줄은 몰랐네요.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;1848&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1O5rU/dJMcaf08v0X/AQlBlPCmpIHyLKITYWQtf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1O5rU/dJMcaf08v0X/AQlBlPCmpIHyLKITYWQtf0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1O5rU/dJMcaf08v0X/AQlBlPCmpIHyLKITYWQtf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1O5rU%2FdJMcaf08v0X%2FAQlBlPCmpIHyLKITYWQtf0%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;4000&quot; height=&quot;1848&quot; data-origin-width=&quot;4000&quot; data-origin-height=&quot;1848&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h3 data-ke-size=&quot;size23&quot;&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 다음 맛집 탐방 후기로 다시 찾아오겠습니다.&lt;/p&gt;
&lt;/div&gt;</description>
      <category>일상 이야기/맛집 탐방하기</category>
      <category>가성비</category>
      <category>가족식사</category>
      <category>달빛돈까스</category>
      <category>맛집</category>
      <category>유튜버</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/147</guid>
      <comments>https://infotake.tistory.com/147#entry147comment</comments>
      <pubDate>Sun, 7 Jun 2026 13:26:27 +0900</pubDate>
    </item>
    <item>
      <title>후시딘과 마데카솔, 뭐가 다를까? 직접 찾아봤다</title>
      <link>https://infotake.tistory.com/4</link>
      <description>&lt;div class=&quot;post&quot;&gt;
&lt;style&gt;
    .post {
      line-height: 1.8;
      font-size: 16px;
      color: #333;
    }

    .post h2 {
      margin: 30px 0 15px;
      border-bottom: 2px solid #eee;
      padding-bottom: 8px;
    }

    .styled-table {
      width: 100%;
      border-collapse: collapse;
      margin: 20px 0;
      font-size: 15px;
    }

    .styled-table th, .styled-table td {
      border: 1px solid #ddd;
      padding: 12px;
      text-align: left;
    }

    .styled-table thead {
      background-color: #f9f9f9;
    }

    .tip-box {
      background-color: #f4f8fb;
      border: 1px solid #d1e7f0;
      padding: 20px;
      border-radius: 10px;
      margin-top: 40px;
    }

    .tip-box h3 {
      margin-top: 0;
    }

    .tip-box .note {
      font-size: 0.9em;
      color: #666;
      border-top: 1px solid #ccc;
      padding-top: 10px;
    }
  &lt;/style&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;h2 data-ke-size=&quot;size26&quot;&gt;상처 상태에 따라 골라 쓰는 법&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상처가 났다고 해서 무조건 같은 연고를 바르는 게 아니더라고요. 상황에 맞춰 적절한 제품을 선택하는 것이 중요합니다.&lt;/p&gt;
&lt;table class=&quot;styled-table&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;상황&lt;/th&gt;
&lt;th&gt;추천 제품군&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;넘어져서 상처가 남&lt;/td&gt;
&lt;td&gt;후시딘, 마데카솔 케어&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;흙이 묻거나 오염 우려&lt;/td&gt;
&lt;td&gt;후시딘, 마데카솔 케어&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;상처가 깨끗하고 아물기 시작&lt;/td&gt;
&lt;td&gt;일반 마데카솔&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;딱지가 생기고 회복 단계&lt;/td&gt;
&lt;td&gt;일반 마데카솔&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;진물이 나는 상처&lt;/td&gt;
&lt;td&gt;마데카솔 분말&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;깊은 상처&amp;middot;화상&amp;middot;광범위 상처&lt;/td&gt;
&lt;td&gt;병원 진료 우선&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;제품별 핵심 차이점&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제품마다 초점을 맞춘 기능이 다릅니다. 어떤 상황에 어떤 제품이 유리한지 간단히 요약해 드릴게요.&lt;/p&gt;
&lt;table class=&quot;styled-table&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;제품&lt;/th&gt;
&lt;th&gt;핵심 기능&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;후시딘&lt;/td&gt;
&lt;td&gt;감염 예방에 집중&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;일반 마데카솔&lt;/td&gt;
&lt;td&gt;피부 재생에 집중&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;마데카솔 케어&lt;/td&gt;
&lt;td&gt;재생과 감염 예방을 동시에&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;복합 마데카솔&lt;/td&gt;
&lt;td&gt;복합 성분으로 다각도 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;마데카솔 분말&lt;/td&gt;
&lt;td&gt;진물 나는 상처 케어용&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;다양한 제형 알아두기&lt;/h2&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;마데카솔 시리즈&lt;/b&gt;: 연고, 케어 연고, 복합 연고, 겔, 분말(진물용), 밴드, 폼 등&lt;/p&gt;
&lt;div class=&quot;tip-box&quot;&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;  상처 관리 꿀팁 및 주의사항&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;상처 상태를 먼저 살펴보고 제품을 선택하세요.&lt;/li&gt;
&lt;li&gt;마데카솔 정은 먹는 약으로, 연고와 혼동하지 않도록 주의하세요.&lt;/li&gt;
&lt;li&gt;깊은 상처나 화상은 반드시 병원 진료를 받는 것이 안전합니다.&lt;/li&gt;
&lt;li&gt;사용 전 제품 설명서를 확인하거나 약사에게 상담하세요.&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;note&quot; data-ke-size=&quot;size16&quot;&gt;* 해당 내용은 제품 활용에 대한 정보를 정리한 글입니다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>일상 이야기/생활 팁</category>
      <category>마데카솔</category>
      <category>연고</category>
      <category>차이점</category>
      <category>후시딘</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/4</guid>
      <comments>https://infotake.tistory.com/4#entry4comment</comments>
      <pubDate>Sun, 7 Jun 2026 12:21:36 +0900</pubDate>
    </item>
    <item>
      <title>Node.js 개발의 시작, npm과 npx 제대로 알고 쓰기</title>
      <link>https://infotake.tistory.com/146</link>
      <description>&lt;div style=&quot;line-height: 1.8; color: #333; font-family: sans-serif; max-width: 100%; word-wrap: break-word;&quot;&gt;

&lt;p style=&quot;font-size: 16px;&quot; data-ke-size=&quot;size16&quot;&gt;
Node.js로 개발을 시작하면 가장 먼저 만나는 것이 바로 &lt;b&gt;npm&lt;/b&gt;과 &lt;b&gt;npx&lt;/b&gt;입니다.
이 둘은 무엇이 다르고, 어떻게 사용하는지 핵심만 정리해 드립니다.
&lt;/p&gt;

&lt;div style=&quot;background: #e9ecef; padding: 20px; border-radius: 10px; margin: 20px 0;&quot;&gt;
&lt;h4 style=&quot;margin-top: 0; font-size: 20px;&quot; data-ke-size=&quot;size20&quot;&gt;핵심 요약&lt;/h4&gt;
&lt;ul style=&quot;margin-bottom: 0;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;npm (Node Package Manager):&lt;/b&gt; 필요한 라이브러리를 설치하고 관리하는 도구&lt;/li&gt;
&lt;li&gt;&lt;b&gt;npx (Node Package Execute):&lt;/b&gt; 패키지를 설치하지 않고 즉시 실행하거나, 특정 버전의 도구를 일회성으로 실행할 때 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;

&lt;h3 style=&quot;border-left: 5px solid #007bff; background: #f4f4f4; padding: 10px; font-size: 23px;&quot; data-ke-size=&quot;size23&quot;&gt;
1. 프로젝트 초기화
&lt;/h3&gt;

&lt;div style=&quot;padding:0 10px; margin:15px 0;&quot;&gt;
&lt;pre class=&quot;coffeescript&quot; style=&quot;background:#282c34;color:#abb2bf;padding:15px;border-radius:8px;overflow-x:auto;white-space:pre-wrap;word-break:break-all;box-sizing:border-box;margin:0;&quot;&gt;&lt;code&gt;npm init&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;h3 style=&quot;border-left: 5px solid #007bff; background: #f4f4f4; padding: 10px; font-size: 23px;&quot; data-ke-size=&quot;size23&quot;&gt;
2. npm: 패키지 관리
&lt;/h3&gt;

&lt;div style=&quot;padding:0 10px; margin:15px 0;&quot;&gt;
&lt;pre class=&quot;coffeescript&quot; style=&quot;background:#282c34;color:#abb2bf;padding:15px;border-radius:8px;overflow-x:auto;white-space:pre-wrap;word-break:break-all;box-sizing:border-box;margin:0;&quot;&gt;&lt;code&gt;# 패키지 설치
npm install [패키지명]

# 글로벌 설치
npm install [패키지명] -g

# 의존성 전체 설치
npm install

# 삭제 및 업데이트
npm uninstall [패키지명]
npm update [패키지명]&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;h3 style=&quot;border-left: 5px solid #007bff; background: #f4f4f4; padding: 10px; font-size: 23px;&quot; data-ke-size=&quot;size23&quot;&gt;
3. npx: 편리한 실행 도구
&lt;/h3&gt;

&lt;p style=&quot;font-size: 16px;&quot; data-ke-size=&quot;size16&quot;&gt;
매번 패키지를 설치하기 부담스러울 때, 혹은 매번 다른 버전을 테스트하고 싶을 때
&lt;code&gt;npx&lt;/code&gt;를 사용하면 매우 편리합니다.
&lt;/p&gt;

&lt;div style=&quot;padding:0 10px; margin:15px 0;&quot;&gt;
&lt;pre class=&quot;dsconfig&quot; style=&quot;background:#282c34;color:#abb2bf;padding:15px;border-radius:8px;overflow-x:auto;white-space:pre-wrap;word-break:break-all;box-sizing:border-box;margin:0;&quot;&gt;&lt;code&gt;# 예: create-react-app을 설치 없이 바로 실행
npx create-react-app my-app&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;h3 style=&quot;border-left: 5px solid #007bff; background: #f4f4f4; padding: 10px; font-size: 23px;&quot; data-ke-size=&quot;size23&quot;&gt;
4. 스크립트 실행
&lt;/h3&gt;

&lt;div style=&quot;padding:0 10px; margin:15px 0;&quot;&gt;
&lt;pre class=&quot;dockerfile&quot; style=&quot;background:#282c34;color:#abb2bf;padding:15px;border-radius:8px;overflow-x:auto;white-space:pre-wrap;word-break:break-all;box-sizing:border-box;margin:0;&quot;&gt;&lt;code&gt;npm run [스크립트명]&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p style=&quot;margin-top: 20px; font-size: 16px;&quot; data-ke-size=&quot;size16&quot;&gt;
이제 프로젝트의 성격에 맞게 npm으로 라이브러리를 관리하고,
npx로 간편하게 도구들을 활용해 보세요!
&lt;/p&gt;

&lt;/div&gt;</description>
      <category>개발 이야기/IT</category>
      <category>nodejs</category>
      <category>NPM</category>
      <category>npx</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/146</guid>
      <comments>https://infotake.tistory.com/146#entry146comment</comments>
      <pubDate>Fri, 5 Jun 2026 00:09:24 +0900</pubDate>
    </item>
    <item>
      <title>AI 용어 알아보기: LLM, RAG, 에이전트 핵심 차이 완벽 정리</title>
      <link>https://infotake.tistory.com/145</link>
      <description>&lt;div style=&quot;line-height: 1.9; color: #333; font-size: 16px; font-family: 'Pretendard', sans-serif; max-width: 800px; margin: 0 auto;&quot;&gt;
&lt;h3 style=&quot;border-left: 5px solid #3498db; padding-left: 15px; color: #2c3e50; margin-top: 40px;&quot; data-ke-size=&quot;size23&quot;&gt;똑똑한 AI를 만드는 핵심 기술 3가지&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최근 우리가 만나는 AI 서비스들은 단순히 대화만 하는 수준을 넘어섰습니다. 정보를 스스로 찾고, 판단하며, 직접 결과물을 만들어내죠. 이 놀라운 변화의 중심에 있는 세 가지 핵심 기술을 알기 쉽게 정리해 보았습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;margin-bottom: 5px;&quot; data-ke-size=&quot;size20&quot;&gt;LLM : 세상의 언어를 배우는 '천재 독서가'&lt;/h4&gt;
&lt;p style=&quot;margin-top: 0;&quot; data-ke-size=&quot;size16&quot;&gt;LLM은 방대한 데이터를 학습해 인간의 언어 체계를 완벽히 이해한 AI의 '두뇌'입니다. 방대한 책을 읽고 지식을 습득한 사람처럼, 문맥을 파악해 글을 쓰거나 프로그래밍 코드를 짜는 등 창의적인 작업을 담당해요&lt;/p&gt;
&lt;h4 style=&quot;margin-top: 35px; margin-bottom: 5px;&quot; data-ke-size=&quot;size20&quot;&gt;RAG : 사실관계를 확인하는 '오픈북 테스트'&lt;/h4&gt;
&lt;p style=&quot;margin-top: 0;&quot; data-ke-size=&quot;size16&quot;&gt;AI가 가끔 거짓말을 하는 이유를 아시나요? 학습한 정보가 오래되었기 때문입니다. RAG는 AI가 답하기 전에 최신 문서나 우리 회사의 내부 자료를 스스로 찾아보게 만드는 기술입니다. 즉 개발 커스텀 업무검색 개발 영역이죠&lt;/p&gt;
&lt;h4 style=&quot;margin-top: 35px; margin-bottom: 5px;&quot; data-ke-size=&quot;size20&quot;&gt;AI 에이전트 : 직접 움직이는 '디지털 실무자'&lt;/h4&gt;
&lt;p style=&quot;margin-top: 0;&quot; data-ke-size=&quot;size16&quot;&gt;대화가 끝이 아닙니다. 에이전트는 사용자의 목표를 이해하고, 스스로 도구를 사용해 일을 마무리합니다. 메일을 보내고, 일정을 조율하고, 필요한 자료를 취합하는 등 업무 현장에서 직접 발로 뛰는 실무자의 역할을 수행해요&lt;/p&gt;
&lt;p style=&quot;margin-top: 0;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;text-align: center; color: #555; margin-bottom: 25px;&quot; data-ke-size=&quot;size20&quot;&gt;기술별 특징 한눈에 보기&lt;/h4&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; text-align: left; border-top: 2px solid #333;&quot; border=&quot;0&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;border-bottom: 1px solid #ddd; background-color: #fcfcfc;&quot;&gt;
&lt;th style=&quot;padding: 15px; width: 25%; color: #333;&quot;&gt;기술명&lt;/th&gt;
&lt;th style=&quot;padding: 15px; color: #333;&quot;&gt;주요 역할&lt;/th&gt;
&lt;/tr&gt;
&lt;tr style=&quot;border-bottom: 1px solid #eee;&quot;&gt;
&lt;td style=&quot;padding: 15px;&quot;&gt;&lt;b&gt;LLM&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 15px;&quot;&gt;언어 이해와 문장 생성의 &lt;b&gt;기반 지능&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;border-bottom: 1px solid #eee;&quot;&gt;
&lt;td style=&quot;padding: 15px;&quot;&gt;&lt;b&gt;RAG&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 15px;&quot;&gt;정확한 정보 검색을 통한 &lt;b&gt;답변의 신뢰성 보완&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;border-bottom: 1px solid #eee;&quot;&gt;
&lt;td style=&quot;padding: 15px;&quot;&gt;&lt;b&gt;AI 에이전트&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 15px;&quot;&gt;스스로 도구를 활용한 &lt;b&gt;실제 업무 완수&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-top: 40px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-top: 40px;&quot; data-ke-size=&quot;size16&quot;&gt;이 기술들이 결합될 때 AI는 단순한 챗봇을 넘어 우리 일상을 바꾸는 강력한 도구가 되요...&amp;nbsp; 이 중에서 특히 여러분이 관심 있게 지켜보는 분야는 어디일까요? 개발자인 저는 AI에서도 결국 개발자의 역할은 크다 자동화되는 부분도 많지만&amp;nbsp; 더 많은 이해와 역할이 필요 할 것 같습니다. AI는 도우미는 확실한데 대체자로서는 에이전트가 많다면 될 수도 있겟지만 ERP가 수년때 기업에 커스텀해서 쓰는것처럼 생태계 한계도 있지 않을까요?&lt;/p&gt;
&lt;/div&gt;</description>
      <category>개발 이야기/IT</category>
      <category>AI 용어</category>
      <category>llm</category>
      <category>Rag</category>
      <category>에이전트</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/145</guid>
      <comments>https://infotake.tistory.com/145#entry145comment</comments>
      <pubDate>Thu, 4 Jun 2026 00:43:54 +0900</pubDate>
    </item>
    <item>
      <title>&amp;quot;세차장 갈 시간이 없다고요?&amp;quot; 바쁜 직장인을 위한 틈새 세차 노하우</title>
      <link>https://infotake.tistory.com/144</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1536&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cwfhQj/dJMcac4nVpe/01sB9uHt7Z8oDRDHFDrqB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cwfhQj/dJMcac4nVpe/01sB9uHt7Z8oDRDHFDrqB0/img.png&quot; data-alt=&quot;저렴하게 간편세차 생활화!!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cwfhQj/dJMcac4nVpe/01sB9uHt7Z8oDRDHFDrqB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcwfhQj%2FdJMcac4nVpe%2F01sB9uHt7Z8oDRDHFDrqB0%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;1536&quot; height=&quot;1024&quot; data-origin-width=&quot;1536&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;저렴하게 간편세차 생활화!!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;div style=&quot;line-height: 1.8; color: #333; font-size: 16px; word-break: keep-all; padding: 10px;&quot;&gt;
&lt;p style=&quot;margin-bottom: 30px;&quot; data-ke-size=&quot;size16&quot;&gt;매주 주말, 거창하게 마음먹고 세차장으로 향하는 일은 생각보다 큰 에너지가 듭니다. 특히 저처럼 경차(레이)를 타면서 세차장까지 가기 번거롭고 시간이 부족한 분들이라면 더욱 그렇겠죠. 오늘은 제가 직접 실천하고 있는 &amp;lsquo;일상 속 틈새 세차법&amp;rsquo;을 공유해보려 합니다. 핵심은 &quot;한 번에 다 하려 하지 말고, 출퇴근길에 쪼개서 관리하자&quot;입니다.&lt;/p&gt;
&lt;h3 style=&quot;border-bottom: 2px solid #eee; padding-bottom: 15px; margin-top: 50px; margin-bottom: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;1. 실내 세차의 마법: 3분 세차&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 20px;&quot; data-ke-size=&quot;size16&quot;&gt;시중에서 구할 수 있는 3분 세차 제품들은 정말 요긴합니다. 이름처럼 간편함이 무기예요.&lt;/p&gt;
&lt;ul style=&quot;margin-bottom: 30px; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 15px;&quot;&gt;&lt;b&gt;활용법:&lt;/b&gt; 출퇴근 전후, 주차된 차량에서 가볍게 뿌리고 잠시 기다렸다가 닦아내기만 하면 됩니다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 15px;&quot;&gt;&lt;b&gt;장점:&lt;/b&gt; 전체 세차 시간을 획기적으로 줄여줍니다. 실내 공간이 좁은 차량 특성상 이렇게 틈틈이 닦아주는 것만으로도 실내 컨디션이 훨씬 쾌적하게 유지됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;border-bottom: 2px solid #eee; padding-bottom: 15px; margin-top: 50px; margin-bottom: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;2. 반짝이는 유리창 만들기&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 20px;&quot; data-ke-size=&quot;size16&quot;&gt;유리는 차량의 얼굴입니다. 저는 출퇴근할 때마다 유리창을 닦는 습관을 들였습니다.&lt;/p&gt;
&lt;ul style=&quot;margin-bottom: 30px; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 15px;&quot;&gt;&lt;b&gt;유막 제거 팁:&lt;/b&gt; 다이소에서 쉽게 구할 수 있는 '매직스펀지'에 유리세정제를 살짝 묻혀 닦아보세요. 완벽한 전문 유막 제거제만큼은 아니더라도, 매일 조금씩 반복하면 어느새 유막이 사라지고 유리가 반짝거리기 시작합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;border-bottom: 2px solid #eee; padding-bottom: 15px; margin-top: 50px; margin-bottom: 25px;&quot; data-ke-size=&quot;size23&quot;&gt;3. 세차를 즐기는 새로운 마음가짐&lt;/h3&gt;
&lt;p style=&quot;margin-bottom: 20px;&quot; data-ke-size=&quot;size16&quot;&gt;처음에는 세차가 노동처럼 느껴졌지만, '전체를 다 해야 한다'는 압박감을 버리니 생각이 바뀌었습니다. 퇴근 후 주차장에서 5분, 출근 전 5분씩 투자하다 보면 큰 힘 들이지 않고도 항상 깨끗한 차를 유지할 수 있습니다.은근히 쏠쏠한 운동 효과는 덤이고요. 세차, 너무 귀찮아하기보다 일상의 작은 활력소로 즐겨보시는 건 어떨까요?&lt;/p&gt;
&lt;div style=&quot;background-color: #eef7ff; padding: 30px; border: 1px solid #cce5ff; margin-bottom: 40px; border-radius: 8px;&quot;&gt;
&lt;p style=&quot;margin-top: 0; margin-bottom: 20px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;  틈새 세차 관리 꿀팁&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin-bottom: 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 15px;&quot;&gt;&lt;b&gt;코팅제의 마침표:&lt;/b&gt; 위 방법으로 깨끗하게 닦아낸 후, 마무리로 발수 코팅제를 한 번 발라보세요. 훨씬 산뜻한 느낌을 오래 유지할 수 있습니다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 15px;&quot;&gt;&lt;b&gt;걸레 관리:&lt;/b&gt; 일반 걸레와 유리용 걸레는 반드시 구분해서 사용하세요. (바디 닦는 걸레와 혼용하면 오히려 유리에 스크래치를 내거나 유막이 생겨요)&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 15px;&quot;&gt;&lt;b&gt;습관화:&lt;/b&gt; 거창한 세차 용품보다는 손에 잘 닿는 곳에 세정제를 두어, '오늘 딱 유리창 하나만 닦자'는 마음으로 시작하는 것이 핵심입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;font-size: 0.9em; color: #777; margin-top: 20px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;※ 본 글에 언급된 제품(다이소 매직스펀지, 3분세차 CAREX, 탐사 유리세정제)은 글 작성자가 직접 구매하여 사용하였습니다.&lt;/i&gt;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>일상 이야기/생활 팁</category>
      <category>CAREX</category>
      <category>다이소</category>
      <category>매직스펀지</category>
      <category>세차</category>
      <category>유막제거</category>
      <category>탐사 유리세정제</category>
      <category>틈새세차</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/144</guid>
      <comments>https://infotake.tistory.com/144#entry144comment</comments>
      <pubDate>Thu, 4 Jun 2026 00:36:11 +0900</pubDate>
    </item>
    <item>
      <title>프로그래밍 언어 순위 TOP 20 반복문(loop) 알아보기</title>
      <link>https://infotake.tistory.com/143</link>
      <description>&lt;!-- 1. Python --&gt;
&lt;h3&gt;Python&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;특징:&lt;/strong&gt; 반복문이 직관적이며, &lt;code&gt;for-in&lt;/code&gt; 구문으로 컬렉션 순회가 강력합니다. &lt;code&gt;range()&lt;/code&gt;로 숫자 반복, &lt;code&gt;while&lt;/code&gt;은 조건 기반. 리스트/딕셔너리 순회가 자연스럽습니다.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;
# for 문
for i in range(5):
    print(i)

# while 문
i = 0
while i &lt; 5:
    print(i)
    i += 1

# 기타 루프: for-in
for item in [&quot;a&quot;,&quot;b&quot;,&quot;c&quot;]:
    print(item)
&lt;/code&gt;&lt;/pre&gt;

&lt;!-- 2. JavaScript --&gt;
&lt;h3&gt;JavaScript&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;특징:&lt;/strong&gt; 전통적인 &lt;code&gt;for&lt;/code&gt;, &lt;code&gt;while&lt;/code&gt; 외에도 &lt;code&gt;for...of&lt;/code&gt;, &lt;code&gt;for...in&lt;/code&gt;으로 배열/객체 순회가 가능합니다. &lt;code&gt;Array.forEach()&lt;/code&gt;도 자주 사용됩니다.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-javascript&quot;&gt;
// for 문
for (let i = 0; i &lt; 5; i++) {
    console.log(i);
}

// while 문
let i = 0;
while (i &lt; 5) {
    console.log(i);
    i++;
}

// 기타 루프: for...of
for (const x of [1,2,3]) {
    console.log(x);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;!-- 3. Java --&gt;
&lt;h3&gt;Java&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;특징:&lt;/strong&gt; 전통적인 &lt;code&gt;for&lt;/code&gt;, &lt;code&gt;while&lt;/code&gt; 외에도 &lt;code&gt;foreach&lt;/code&gt; (enhanced for) 문법이 존재합니다. 컬렉션 순회에 강력합니다.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-java&quot;&gt;
// for 문
for (int i = 0; i &lt; 5; i++) {
    System.out.println(i);
}

// while 문
int i = 0;
while (i &lt; 5) {
    System.out.println(i);
    i++;
}

// 기타 루프: foreach
for (String s : new String[]{&quot;a&quot;,&quot;b&quot;}) {
    System.out.println(s);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;!-- 4. TypeScript --&gt;
&lt;h3&gt;TypeScript&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;특징:&lt;/strong&gt; JavaScript와 동일한 반복문을 지원하며, 타입 안정성이 추가됩니다.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-typescript&quot;&gt;
// for 문
for (let i = 0; i &lt; 5; i++) {
    console.log(i);
}

// while 문
let i = 0;
while (i &lt; 5) {
    console.log(i);
    i++;
}

// 기타 루프: for...of
for (const val of [10,20,30]) {
    console.log(val);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;!-- 5. C# --&gt;
&lt;h3&gt;C#&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;특징:&lt;/strong&gt; &lt;code&gt;foreach&lt;/code&gt;가 매우 강력하며, LINQ와 결합해 함수형 반복도 가능.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-csharp&quot;&gt;
// for 문
for (int i = 0; i &lt; 5; i++) {
    Console.WriteLine(i);
}

// while 문
int i = 0;
while (i &lt; 5) {
    Console.WriteLine(i);
    i++;
}

// 기타 루프: foreach
foreach (var x in new int[]{1,2,3}) {
    Console.WriteLine(x);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;!-- 6. C++ --&gt;
&lt;h3&gt;C++&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;특징:&lt;/strong&gt; 전통적인 반복문 외에 &lt;code&gt;range-based for&lt;/code&gt;가 추가되어 컨테이너 순회가 간단합니다.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-cpp&quot;&gt;
// for 문
for (int i = 0; i &lt; 5; i++) {
    std::cout &lt;&lt; i &lt;&lt; std::endl;
}

// while 문
int i = 0;
while (i &lt; 5) {
    std::cout &lt;&lt; i &lt;&lt; std::endl;
    i++;
}

// 기타 루프: range-based for
for (auto x : {1,2,3}) {
    std::cout &lt;&lt; x &lt;&lt; std::endl;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;!-- 7. C --&gt;
&lt;h3&gt;C&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;특징:&lt;/strong&gt; 기본적인 &lt;code&gt;for&lt;/code&gt;, &lt;code&gt;while&lt;/code&gt;, &lt;code&gt;do-while&lt;/code&gt;만 존재. 단순하고 저수준.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-c&quot;&gt;
// for 문
for (int i = 0; i &lt; 5; i++) {
    printf(&quot;%d\n&quot;, i);
}

// while 문
int i = 0;
while (i &lt; 5) {
    printf(&quot;%d\n&quot;, i);
    i++;
}

// 기타 루프: do-while
int j = 0;
do {
    printf(&quot;%d\n&quot;, j);
    j++;
} while (j &lt; 5);
&lt;/code&gt;&lt;/pre&gt;

&lt;!-- 8. PHP --&gt;
&lt;h3&gt;PHP&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;특징:&lt;/strong&gt; &lt;code&gt;foreach&lt;/code&gt;가 배열/연관배열 순회에 최적화.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;
// for 문
for ($i = 0; $i &lt; 5; $i++) {
    echo $i . PHP_EOL;
}

// while 문
$i = 0;
while ($i &lt; 5) {
    echo $i . PHP_EOL;
    $i++;
}

// 기타 루프: foreach
foreach ([1,2,3] as $val) {
    echo $val . PHP_EOL;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;!-- 9. Go --&gt;
&lt;h3&gt;Go&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;특징:&lt;/strong&gt; &lt;code&gt;for&lt;/code&gt;만 존재하며, &lt;code&gt;while&lt;/code&gt;은 &lt;code&gt;for&lt;/code&gt;로 대체. &lt;code&gt;range&lt;/code&gt;로 컬렉션 순회.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-go&quot;&gt;
// for 문
for i := 0; i &lt; 5; i++ {
    fmt.Println(i)
}

// while 문 대체
i := 0
for i &lt; 5 {
    fmt.Println(i)
    i++
}

// 기타 루프: range
for idx, val := range []int{1,2,3} {
    fmt.Println(idx, val)
}
&lt;/code&gt;&lt;/pre&gt;

&lt;!-- 10. Kotlin --&gt;
&lt;h3&gt;Kotlin&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;특징:&lt;/strong&gt; &lt;code&gt;for-in&lt;/code&gt;이 강력하며, 컬렉션 순회에 최적화.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-kotlin&quot;&gt;
// for 문
for (i in 0..4) {
    println(i)
}

// while 문
var i = 0
while (i &lt; 5) {
    println(i)
    i++
}

// 기타 루프: for-in
for (x in listOf(&quot;a&quot;,&quot;b&quot;)) {
    println(x)
}
&lt;/code&gt;&lt;/pre&gt;

좋습니다! 블로그용으로 시인성을 고려해 **TOP 20 언어 반복문 비교 전체 버전**을 완성했습니다. 각 언어마다 특징 설명 → `for` / `while` → 기타 루프 처리 방식을 코드블럭으로 정리했어요.  

---

```html
&lt;!-- 11. Ruby --&gt;
&lt;h3&gt;Ruby&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;특징:&lt;/strong&gt; 반복문이 간결하며, &lt;code&gt;times&lt;/code&gt;, &lt;code&gt;each&lt;/code&gt; 같은 메서드 기반 루프가 자주 쓰입니다.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-ruby&quot;&gt;
# for 문 (times)
5.times do |i|
  puts i
end

# while 문
i = 0
while i &lt; 5
  puts i
  i += 1
end

# 기타 루프: each
[&quot;a&quot;,&quot;b&quot;,&quot;c&quot;].each do |x|
  puts x
end
&lt;/code&gt;&lt;/pre&gt;

&lt;!-- 12. Swift --&gt;
&lt;h3&gt;Swift&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;특징:&lt;/strong&gt; &lt;code&gt;for-in&lt;/code&gt;이 기본이며, 범위와 컬렉션 순회에 최적화.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-swift&quot;&gt;
// for 문
for i in 0..&lt;5 {
    print(i)
}

// while 문
var i = 0
while i &lt; 5 {
    print(i)
    i += 1
}

// 기타 루프: for-in
for val in [&quot;a&quot;,&quot;b&quot;,&quot;c&quot;] {
    print(val)
}
&lt;/code&gt;&lt;/pre&gt;

&lt;!-- 13. Rust --&gt;
&lt;h3&gt;Rust&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;특징:&lt;/strong&gt; 안전성을 강조하며, &lt;code&gt;for-in&lt;/code&gt;으로 이터레이터 순회가 강력합니다.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-rust&quot;&gt;
// for 문
for i in 0..5 {
    println!(&quot;{}&quot;, i);
}

// while 문
let mut i = 0;
while i &lt; 5 {
    println!(&quot;{}&quot;, i);
    i += 1;
}

// 기타 루프: for-in iterator
for val in vec![&quot;a&quot;,&quot;b&quot;] {
    println!(&quot;{}&quot;, val);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;!-- 14. Dart --&gt;
&lt;h3&gt;Dart&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;특징:&lt;/strong&gt; 전통적인 반복문 외에 &lt;code&gt;for-in&lt;/code&gt;과 &lt;code&gt;forEach&lt;/code&gt;가 자주 쓰입니다.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-dart&quot;&gt;
// for 문
for (int i = 0; i &lt; 5; i++) {
    print(i);
}

// while 문
int i = 0;
while (i &lt; 5) {
    print(i);
    i++;
}

// 기타 루프: for-in
for (var x in [&quot;a&quot;,&quot;b&quot;]) {
    print(x);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;!-- 15. R --&gt;
&lt;h3&gt;R&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;특징:&lt;/strong&gt; 데이터 분석 중심 언어로, &lt;code&gt;apply&lt;/code&gt; 계열 함수가 반복문 대체로 많이 쓰입니다.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-r&quot;&gt;
// for 문
for (i in 0:4) {
    print(i)
}

// while 문
i &lt;- 0
while (i &lt; 5) {
    print(i)
    i &lt;- i + 1
}

// 기타 루프: sapply
sapply(1:5, print)
&lt;/code&gt;&lt;/pre&gt;

&lt;!-- 16. SQL --&gt;
&lt;h3&gt;SQL (MySQL 8+)&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;특징:&lt;/strong&gt; 반복문 자체는 없지만, &lt;code&gt;재귀 CTE&lt;/code&gt;로 대체 가능. 저장 프로시저에서는 &lt;code&gt;WHILE&lt;/code&gt; 사용.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sql&quot;&gt;
-- for 문 대체 (재귀 CTE)
WITH RECURSIVE c(x) AS (
  SELECT 0
  UNION ALL
  SELECT x + 1 FROM c WHERE x &lt; 4
)
SELECT x FROM c;

-- while 문: 저장 프로시저에서 WHILE 사용 가능
&lt;/code&gt;&lt;/pre&gt;

&lt;!-- 17. Shell --&gt;
&lt;h3&gt;Shell&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;특징:&lt;/strong&gt; &lt;code&gt;for&lt;/code&gt;, &lt;code&gt;while&lt;/code&gt;, &lt;code&gt;until&lt;/code&gt; 등 다양한 루프 구문 제공.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;
# for 문
for i in {0..4}
do
    echo $i
done

# while 문
i=0
while [ $i -lt 5 ]
do
    echo $i
    ((i++))
done

# 기타 루프: until
i=0
until [ $i -ge 5 ]
do
    echo $i
    ((i++))
done
&lt;/code&gt;&lt;/pre&gt;

&lt;!-- 18. Perl --&gt;
&lt;h3&gt;Perl&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;특징:&lt;/strong&gt; &lt;code&gt;foreach&lt;/code&gt;가 강력하며, 배열 순회에 최적화.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-perl&quot;&gt;
# for 문
for (my $i = 0; $i &lt; 5; $i++) {
    print &quot;$i\n&quot;;
}

# while 문
my $i = 0;
while ($i &lt; 5) {
    print &quot;$i\n&quot;;
    $i++;
}

# 기타 루프: foreach
foreach my $x (1..5) {
    print &quot;$x\n&quot;;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;!-- 19. Scala --&gt;
&lt;h3&gt;Scala&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;특징:&lt;/strong&gt; 함수형 스타일과 결합해 &lt;code&gt;map&lt;/code&gt;, &lt;code&gt;foreach&lt;/code&gt;가 자주 쓰입니다.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-scala&quot;&gt;
// for 문
for (i &lt;- 0 to 4) {
    println(i)
}

// while 문
var i = 0
while (i &lt; 5) {
    println(i)
    i += 1
}

// 기타 루프: foreach
List(&quot;a&quot;,&quot;b&quot;,&quot;c&quot;).foreach(println)
&lt;/code&gt;&lt;/pre&gt;

&lt;!-- 20. Objective-C --&gt;
&lt;h3&gt;Objective-C&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;특징:&lt;/strong&gt; C 기반 반복문을 그대로 사용하며, &lt;code&gt;for-in&lt;/code&gt;으로 컬렉션 순회 가능.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-objectivec&quot;&gt;
// for 문
for (int i = 0; i &lt; 5; i++) {
    NSLog(@&quot;%d&quot;, i);
}

// while 문
int i = 0;
while (i &lt; 5) {
    NSLog(@&quot;%d&quot;, i);
    i++;
}

// 기타 루프: for-in
for (NSString *s in @[@&quot;a&quot;,@&quot;b&quot;]) {
    NSLog(@&quot;%@&quot;, s);
}
&lt;/code&gt;&lt;/pre&gt;</description>
      <category>개발 이야기/IT</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/143</guid>
      <comments>https://infotake.tistory.com/143#entry143comment</comments>
      <pubDate>Wed, 3 Jun 2026 00:25:44 +0900</pubDate>
    </item>
    <item>
      <title>베이킹소다&amp;middot;과탄산소다&amp;middot;구연산 완벽 정리(실패 없는 천연 세제 3종 사용)</title>
      <link>https://infotake.tistory.com/142</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1162&quot; data-origin-height=&quot;762&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dh1qyy/dJMcacJ80hV/9vDU5kh6xPNDQx1E03KmD1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dh1qyy/dJMcacJ80hV/9vDU5kh6xPNDQx1E03KmD1/img.png&quot; data-alt=&quot;과탄산소다가 만능인줄 알았다!! ㅋㅋㅋ&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dh1qyy/dJMcacJ80hV/9vDU5kh6xPNDQx1E03KmD1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdh1qyy%2FdJMcacJ80hV%2F9vDU5kh6xPNDQx1E03KmD1%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;1162&quot; height=&quot;762&quot; data-origin-width=&quot;1162&quot; data-origin-height=&quot;762&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;과탄산소다가 만능인줄 알았다!! ㅋㅋㅋ&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 40px; font-size: 1.1em; color: #444;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;집안 청소를 할 때 화학 세제 특유의 독한 성분이나 냄새 때문에 안심하고 사용하기 꺼려지는 경우가 많죠. 오염의 성질에 맞춰서 베이킹소다, 과탄산소다, 구연산을 가장 안전하고 효과적으로 사용하는 방법을 담고 있습니다. 일상 속 주방, 화장실, 세탁실의 다양한 오염을 친환경적으로 해결하는 실전 노하우를 확인해 보세요.&lt;/p&gt;
&lt;h2 style=&quot;font-size: 1.6em; font-weight: bold; color: #2c3e50; margin-top: 60px; margin-bottom: 25px; border-bottom: 1px solid #eee; padding-bottom: 10px;&quot; data-ke-size=&quot;size26&quot;&gt;1. 핵심 선택 기준 (오염 성질별)&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 25px; color: #444;&quot; data-ke-size=&quot;size16&quot;&gt;효과적인 청소를 위해서는 오염 물질의 성질과 반대되는 성분의 세제를 선택하여 중화 반응을 이용하는 것이 핵심입니다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin-bottom: 50px; border-top: 2px solid #333; border-bottom: 2px solid #333; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #f9f9f9; border-bottom: 1px solid #ddd;&quot;&gt;
&lt;th style=&quot;width: 33.3%; padding: 15px 10px; text-align: center; font-weight: bold; border-right: 1px solid #eee;&quot;&gt;오염 종류&lt;/th&gt;
&lt;th style=&quot;width: 33.3%; padding: 15px 10px; text-align: center; font-weight: bold; border-right: 1px solid #eee;&quot;&gt;추천 세제&lt;/th&gt;
&lt;th style=&quot;width: 33.4%; padding: 15px 10px; text-align: center; font-weight: bold;&quot;&gt;성질&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;border-bottom: 1px solid #eee;&quot;&gt;
&lt;td style=&quot;padding: 15px 10px; text-align: center; border-right: 1px solid #eee;&quot;&gt;기름때 (주방)&lt;/td&gt;
&lt;td style=&quot;padding: 15px 10px; text-align: center; font-weight: bold; border-right: 1px solid #eee;&quot;&gt;베이킹소다&lt;/td&gt;
&lt;td style=&quot;padding: 15px 10px; text-align: center;&quot;&gt;약알칼리성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;border-bottom: 1px solid #eee;&quot;&gt;
&lt;td style=&quot;padding: 15px 10px; text-align: center; border-right: 1px solid #eee;&quot;&gt;찌든 때 &amp;middot; 표백 (빨래)&lt;/td&gt;
&lt;td style=&quot;padding: 15px 10px; text-align: center; font-weight: bold; border-right: 1px solid #eee;&quot;&gt;과탄산소다&lt;/td&gt;
&lt;td style=&quot;padding: 15px 10px; text-align: center;&quot;&gt;강알칼리성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 15px 10px; text-align: center; border-right: 1px solid #eee;&quot;&gt;물때 &amp;middot; 석회질 (욕실)&lt;/td&gt;
&lt;td style=&quot;padding: 15px 10px; text-align: center; font-weight: bold; border-right: 1px solid #eee;&quot;&gt;구연산&lt;/td&gt;
&lt;td style=&quot;padding: 15px 10px; text-align: center;&quot;&gt;산성&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 style=&quot;font-size: 1.6em; font-weight: bold; color: #2c3e50; margin-top: 60px; margin-bottom: 25px; border-bottom: 1px solid #eee; padding-bottom: 10px;&quot; data-ke-size=&quot;size26&quot;&gt;2. 장소별 상세 활용 매뉴얼&lt;/h2&gt;
&lt;h3 style=&quot;font-size: 1.25em; font-weight: bold; margin-top: 35px; margin-bottom: 15px; padding-left: 8px; border-left: 4px solid gray;&quot; data-ke-size=&quot;size23&quot;&gt;A. 주방 관리&lt;/h3&gt;
&lt;ul style=&quot;padding-left: 20px; margin-bottom: 35px; color: #444;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 15px;&quot;&gt;&lt;b&gt;기름때:&lt;/b&gt; 베이킹소다를 물에 개어 걸쭉하게 만든 뒤 오염 부위에 바르고 10분 후 문지릅니다. 잔여물은 구연산수로 중화하여 광택을 냅니다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 15px;&quot;&gt;&lt;b&gt;배수구:&lt;/b&gt; 베이킹소다 1컵을 붓고 구연산수(혹은 식초)를 부어 거품 반응을 유도합니다. 20분 방치 후 뜨거운 물을 부어 헹꿉니다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 15px;&quot;&gt;&lt;b&gt;행주/도마:&lt;/b&gt; 과탄산소다를 녹인 40~60℃ 온수에 15분간 담가 삶은 듯한 살균 및 표백 효과를 냅니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;font-size: 1.25em; font-weight: bold; margin-top: 35px; margin-bottom: 15px; padding-left: 8px; border-left: 4px solid gray;&quot; data-ke-size=&quot;size23&quot;&gt;B. 화장실 관리&lt;/h3&gt;
&lt;ul style=&quot;padding-left: 20px; margin-bottom: 35px; color: #444;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 15px;&quot;&gt;&lt;b&gt;물때 (수전/거울/유리):&lt;/b&gt; 산성인 구연산수를 뿌린 후 닦아내면 석회질 물때가 쉽게 제거됩니다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 15px;&quot;&gt;&lt;b&gt;바닥/타일 줄눈:&lt;/b&gt; 베이킹소다로 1차 세척 후, 과탄산소다를 녹인 물을 뿌려 곰팡이 부위를 집중 표백 &amp;middot; 살균합니다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 15px;&quot;&gt;&lt;b&gt;배수구:&lt;/b&gt; 머리카락 등 이물질 제거 후, 베이킹소다+구연산 조합으로 냄새 및 찌꺼기를 관리합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;font-size: 1.25em; font-weight: bold; margin-top: 35px; margin-bottom: 15px; padding-left: 8px; border-left: 4px solid gray;&quot; data-ke-size=&quot;size23&quot;&gt;C. 세탁실 관리&lt;/h3&gt;
&lt;ul style=&quot;padding-left: 20px; margin-bottom: 50px; color: #444;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-bottom: 15px;&quot;&gt;&lt;b&gt;흰 빨래 표백:&lt;/b&gt; 과탄산소다를 40~60℃ 온수에 완전히 녹인 후 세탁합니다. 찬물 사용 시 세척력이 급감하므로 주의가 필요합니다.&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 15px;&quot;&gt;&lt;b&gt;섬유 유연 및 마무리:&lt;/b&gt; 세탁 마지막 헹굼 단계에 구연산을 소량 첨가하여 알칼리 세제 잔여물을 중화하고 옷감을 부드럽게 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 style=&quot;font-size: 1.6em; font-weight: bold; color: #2c3e50; margin-top: 60px; margin-bottom: 25px; border-bottom: 1px solid #eee; padding-bottom: 10px;&quot; data-ke-size=&quot;size26&quot;&gt;3. 세제별 사양 및 주의사항&lt;/h2&gt;
&lt;p style=&quot;margin-bottom: 25px; color: #444;&quot; data-ke-size=&quot;size16&quot;&gt;각 세제는 성질에 따라 효과적인 온도와 보관 기간, 성분 손상을 유발할 수 있는 사용 금지 소재가 다르므로 사전에 확인해야 합니다.&lt;/p&gt;
&lt;table style=&quot;width: 100%; border-collapse: collapse; margin-bottom: 15px; border-top: 2px solid #333; border-bottom: 2px solid #333; font-size: 15px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #f9f9f9; border-bottom: 1px solid #ddd;&quot;&gt;
&lt;th style=&quot;width: 18%; padding: 15px 10px; text-align: center; font-weight: bold; border-right: 1px solid #eee;&quot;&gt;세제&lt;/th&gt;
&lt;th style=&quot;width: 18%; padding: 15px 10px; text-align: center; font-weight: bold; border-right: 1px solid #eee;&quot;&gt;추천 온도&lt;/th&gt;
&lt;th style=&quot;width: 18%; padding: 15px 10px; text-align: center; font-weight: bold; border-right: 1px solid #eee;&quot;&gt;보관 기간&lt;/th&gt;
&lt;th style=&quot;width: 46%; padding: 15px 10px; text-align: left; padding-left: 15px; font-weight: bold;&quot;&gt;사용 금지 소재&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style=&quot;border-bottom: 1px solid #eee;&quot;&gt;
&lt;td style=&quot;padding: 15px 10px; text-align: center; font-weight: bold; border-right: 1px solid #eee;&quot;&gt;베이킹소다&lt;/td&gt;
&lt;td style=&quot;padding: 15px 10px; text-align: center; border-right: 1px solid #eee;&quot;&gt;30~40℃&lt;/td&gt;
&lt;td style=&quot;padding: 15px 10px; text-align: center; border-right: 1px solid #eee;&quot;&gt;2~3년&lt;/td&gt;
&lt;td style=&quot;padding: 15px 10px; text-align: left; padding-left: 15px;&quot;&gt;광택 가구, 인덕션, 거울 (연마 손상)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;border-bottom: 1px solid #eee;&quot;&gt;
&lt;td style=&quot;padding: 15px 10px; text-align: center; font-weight: bold; border-right: 1px solid #eee;&quot;&gt;과탄산소다&lt;/td&gt;
&lt;td style=&quot;padding: 15px 10px; text-align: center; border-right: 1px solid #eee;&quot;&gt;40~60℃&lt;/td&gt;
&lt;td style=&quot;padding: 15px 10px; text-align: center; border-right: 1px solid #eee;&quot;&gt;6~12개월&lt;/td&gt;
&lt;td style=&quot;padding: 15px 10px; text-align: left; padding-left: 15px;&quot;&gt;울, 실크, 가죽 (단백질 섬유 손상)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 15px 10px; text-align: center; font-weight: bold; border-right: 1px solid #eee;&quot;&gt;구연산&lt;/td&gt;
&lt;td style=&quot;padding: 15px 10px; text-align: center; border-right: 1px solid #eee;&quot;&gt;20~30℃&lt;/td&gt;
&lt;td style=&quot;padding: 15px 10px; text-align: center; border-right: 1px solid #eee;&quot;&gt;2~3년&lt;/td&gt;
&lt;td style=&quot;padding: 15px 10px; text-align: left; padding-left: 15px;&quot;&gt;대리석, 천연석, 금속 (부식 위험)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;margin-bottom: 60px; color: #666; font-size: 0.95em; padding-left: 5px;&quot; data-ke-size=&quot;size16&quot;&gt;* 과탄산소다 주의: 70℃ 이상은 산소가 소실되어 효과가 떨어집니다. 가스 배출 및 성질 유지를 위해 밀폐 보관 수칙을 준수해야 합니다.&lt;/p&gt;</description>
      <category>일상 이야기/생활 팁</category>
      <category>과탄산소다</category>
      <category>구연산</category>
      <category>베이킹소다</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/142</guid>
      <comments>https://infotake.tistory.com/142#entry142comment</comments>
      <pubDate>Tue, 2 Jun 2026 23:54:39 +0900</pubDate>
    </item>
    <item>
      <title>AI 용어 알아보기: AX(AI 전환), 2026년 6월</title>
      <link>https://infotake.tistory.com/141</link>
      <description>&lt;div style=&quot;line-height: 2; color: #333; font-size: 16px;&quot;&gt;

    &lt;h2 style=&quot;border-bottom: 2px solid #333; padding-bottom: 10px;&quot;&gt;AI 용어 알아보기: AX(AI 전환)&lt;/h2&gt;

    &lt;p&gt;요즘 어디서나 AX라는 말을 참 많이 듣죠? 단순히 AI를 업무에 살짝 얹는 게 아니라, &lt;b&gt;기업의 일하는 방식과 체질을 AI 중심으로 완전히 바꾸는 것&lt;/b&gt;을 의미해요.&lt;/p&gt;

    &lt;div style=&quot;background-color: #f8f9fa; padding: 20px; border-left: 5px solid #2ecc71; margin: 25px 0; border-radius: 5px;&quot;&gt;
        &lt;strong&gt;한 줄 요약:&lt;/strong&gt; DX가 종이 문서를 디지털로 바꾸는 과정이었다면, &lt;strong&gt;AX는 AI가 데이터를 분석해 스스로 판단하고 업무 방향을 제시하는 단계&lt;/strong&gt;입니다.
    &lt;/div&gt;

    &lt;h3&gt;AX가 가져오는 핵심 변화 3가지&lt;/h3&gt;
    &lt;ul style=&quot;padding-left: 20px;&quot;&gt;
        &lt;li style=&quot;margin-bottom: 15px;&quot;&gt;&lt;strong&gt;업무 구조의 혁신:&lt;/strong&gt; 단순 자동화가 아니라, 기획부터 배포까지 개발 생태계 전체의 워크플로우를 AI가 최적화해요.&lt;/li&gt;
        &lt;li style=&quot;margin-bottom: 15px;&quot;&gt;&lt;strong&gt;데이터의 지능화:&lt;/strong&gt; 쌓여있던 데이터를 AI가 학습해서, 미래를 예측하고 스스로 의사결정을 돕게 만듭니다.&lt;/li&gt;
        &lt;li style=&quot;margin-bottom: 15px;&quot;&gt;&lt;strong&gt;조직의 체질 개선:&lt;/strong&gt; AI와 협업하는 게 당연한 문화가 되면, 사람들은 더 창의적이고 고차원적인 문제 해결에만 집중할 수 있죠.&lt;/li&gt;
    &lt;/ul&gt;

    &lt;p&gt;개발자 입장에선 AI 에이전트와 손발을 맞춰 시스템 마이그레이션이나 복잡한 유지보수를 훨씬 빠르고 정교하게 처리하는 게 실질적인 AX의 모습이라고 볼 수 있겠네요.&lt;/p&gt;

    &lt;hr style=&quot;margin: 30px 0; border: 0; border-top: 1px solid #eee;&quot;&gt;

  &lt;table border=&quot;1&quot; style=&quot;border-collapse: collapse; width: 100%; text-align: left;&quot;&gt;
  &lt;thead&gt;
    &lt;tr style=&quot;background-color: #f2f2f2;&quot;&gt;
      &lt;th style=&quot;padding: 10px;&quot;&gt;구분&lt;/th&gt;
      &lt;th style=&quot;padding: 10px;&quot;&gt;DX (디지털 전환)&lt;/th&gt;
      &lt;th style=&quot;padding: 10px;&quot;&gt;AX (AI 전환)&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;padding: 10px;&quot;&gt;&lt;b&gt;핵심 목표&lt;/b&gt;&lt;/td&gt;
      &lt;td style=&quot;padding: 10px;&quot;&gt;업무 효율화 및 디지털화&lt;/td&gt;
      &lt;td style=&quot;padding: 10px;&quot;&gt;지능형 자동화 및 전략적 가치 창출&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;padding: 10px;&quot;&gt;&lt;b&gt;주요 도구&lt;/b&gt;&lt;/td&gt;
      &lt;td style=&quot;padding: 10px;&quot;&gt;클라우드, 모바일, 소프트웨어&lt;/td&gt;
      &lt;td style=&quot;padding: 10px;&quot;&gt;생성형 AI, 데이터 모델, AI 에이전트&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;padding: 10px;&quot;&gt;&lt;b&gt;인간의 역할&lt;/b&gt;&lt;/td&gt;
      &lt;td style=&quot;padding: 10px;&quot;&gt;도구를 능동적으로 활용하여 업무 수행&lt;/td&gt;
      &lt;td style=&quot;padding: 10px;&quot;&gt;AI와 협업하여 의사결정 및 창의적 작업 수행&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;padding: 10px;&quot;&gt;&lt;b&gt;주된 성과&lt;/b&gt;&lt;/td&gt;
      &lt;td style=&quot;padding: 10px;&quot;&gt;종이 없는 사무실, 데이터의 전자화&lt;/td&gt;
      &lt;td style=&quot;padding: 10px;&quot;&gt;예측 가능성 증대, 비즈니스 자동화&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
  
    &lt;p&gt;혹시 지금 일하시는 환경에서 AI를 도입하면서 고민되거나, 구체적으로 궁금한 점이 있으신가요? 함께 이야기 나눠보면 좋을 것 같아요!&lt;/p&gt;

&lt;/div&gt;</description>
      <category>ai</category>
      <category>AX</category>
      <category>용어</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/141</guid>
      <comments>https://infotake.tistory.com/141#entry141comment</comments>
      <pubDate>Tue, 2 Jun 2026 00:22:09 +0900</pubDate>
    </item>
    <item>
      <title>윈도우 원격 데스크톱 연결이 안 될 때, 딱 이것만 확인해 보세요!</title>
      <link>https://infotake.tistory.com/140</link>
      <description>&lt;div style=&quot;line-height: 1.8; color: #333; font-size: 16px;&quot;&gt;
&lt;h2 style=&quot;border-bottom: 2px solid #333; padding-bottom: 10px;&quot; data-ke-size=&quot;size26&quot;&gt;원격 데스크톱 연결이 안 될 때, 딱 이것만 확인해 보세요!&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;분명 잘 되던 원격 데스크톱이 갑자기 먹통이라 당황하셨죠? 사실 복잡한 설정보다는 의외로 사소한 부분에서 막히는 경우가 많아요. 지금부터 누구나 따라 할 수 있는 해결 방법을 단계별로 짚어 드릴게요.&lt;/p&gt;
&lt;div style=&quot;background-color: #f9f9f9; padding: 20px; border-left: 5px solid #2196F3; margin: 20px 0;&quot;&gt;&lt;b&gt;  핵심 체크리스트 요약&lt;/b&gt;
&lt;ul style=&quot;margin-top: 10px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;물리적 연결 상태 확인&lt;/li&gt;
&lt;li&gt;윈도우 내 원격 데스크톱 설정 확인&lt;/li&gt;
&lt;li&gt;방화벽 및 네트워크 보안 체크&lt;/li&gt;
&lt;li&gt;외부 접속 시 공유기 포트 포워딩 점검&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h3 style=&quot;color: #2196f3;&quot; data-ke-size=&quot;size23&quot;&gt;1. 기본 중의 기본, 물리적 연결부터&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 먼저 대상 PC가 살아있는지 봐야 해요. 전원 코드는 제대로 꽂혀 있는지, 혹시 절전 모드로 들어가서 네트워크 연결이 끊긴 건 아닌지 확인해 보세요. IP 주소가 바뀌지는 않았는지도 체크 대상입니다.&lt;/p&gt;
&lt;h3 style=&quot;color: #2196f3;&quot; data-ke-size=&quot;size23&quot;&gt;2. PC 설정 확인하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴퓨터에서 원격 기능을 아예 꺼놓지는 않았는지 확인해야 합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;설정 메뉴:&lt;/b&gt; [설정] &amp;gt; [시스템] &amp;gt; [원격 데스크톱] 메뉴에서 기능이 '켬' 상태인지 확인하세요.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;서비스 상태:&lt;/b&gt; 키보드에서 &lt;code style=&quot;background-color: #eee; padding: 2px 4px;&quot;&gt;Win + R&lt;/code&gt;을 누르고 &lt;code&gt;services.msc&lt;/code&gt;를 입력하세요. 여기서 'Remote Desktop Services'가 '실행 중'인지 확인하는 게 중요합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;color: #2196f3;&quot; data-ke-size=&quot;size23&quot;&gt;3. 방화벽이 길을 막고 있을지도 몰라요&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우 방화벽이 3389 포트(원격 기본 포트)를 차단하는 경우가 정말 많아요.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;방화벽 허용:&lt;/b&gt; 윈도우 방화벽에서 원격 데스크톱 관련 항목이 허용되어 있는지 확인하세요.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;네트워크 프로필:&lt;/b&gt; 네트워크 설정이 '공용'으로 되어 있으면 보안상 차단될 수 있어요. 가급적 &lt;b&gt;'개인'&lt;/b&gt;으로 변경해서 테스트해 보세요.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;백신 프로그램:&lt;/b&gt; 사용 중인 백신이나 타사 방화벽이 있다면 잠깐 끄고 접속을 시도해 보세요. 범인이 바로 나올 수도 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #fff3e0; padding: 15px; border: 1px solid #ffe0b2; margin: 20px 0;&quot;&gt;&lt;b&gt;⚠️ 여기서 잠깐! (꿀팁)&lt;/b&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;집 밖에서 접속하려고 하시나요? 공유기 설정에서 &lt;b&gt;포트 포워딩&lt;/b&gt;을 제대로 잡아주지 않으면 외부망에서 내부 PC로 신호가 전달되지 않아요. 공유기 관리 페이지에서 3389 포트를 해당 PC의 IP로 연결해 줬는지 다시 한번 확인해 보세요!&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대부분 이 과정 안에서 해결되실 거예요. 그래도 안 된다면 일단 컴퓨터를 한 번 껐다 켜보세요. 의외로 재부팅만으로 네트워크 설정이 정상화되는 경우가 정말 많거든요!&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서... 저에게 가장 기억에 남는건?...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;수년차 개발 및 관리자임에도 아래 경우가 있을 줄은 생각도 못했었습니다.&lt;br /&gt;(보안툴로 설치되는 백신에 이유가 있었던 경우가 기억나네요)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;579&quot; data-origin-height=&quot;570&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dczV9g/dJMcageEvWZ/0hLcFKmLFkKQq4Thkkavpk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dczV9g/dJMcageEvWZ/0hLcFKmLFkKQq4Thkkavpk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dczV9g/dJMcageEvWZ/0hLcFKmLFkKQq4Thkkavpk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdczV9g%2FdJMcageEvWZ%2F0hLcFKmLFkKQq4Thkkavpk%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;579&quot; height=&quot;570&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;579&quot; data-origin-height=&quot;570&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>개발 이야기/기타</category>
      <category>mstsc</category>
      <category>원격데스크톱</category>
      <category>윈도우</category>
      <category>접속안됨</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/140</guid>
      <comments>https://infotake.tistory.com/140#entry140comment</comments>
      <pubDate>Mon, 1 Jun 2026 23:50:17 +0900</pubDate>
    </item>
    <item>
      <title>2026년도 기준 안드로이드 스튜디오 설치 - 윈도우</title>
      <link>https://infotake.tistory.com/59</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1014&quot; data-origin-height=&quot;643&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bAi3MD/dJMcajh7tp3/bTknBoCIvYZD4DykuRMEck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bAi3MD/dJMcajh7tp3/bTknBoCIvYZD4DykuRMEck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bAi3MD/dJMcajh7tp3/bTknBoCIvYZD4DykuRMEck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbAi3MD%2FdJMcajh7tp3%2FbTknBoCIvYZD4DykuRMEck%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;1014&quot; height=&quot;643&quot; data-origin-width=&quot;1014&quot; data-origin-height=&quot;643&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size26&quot;&gt;안드로이드 앱 개발을 위한 안드로이드 스튜디오 설치 가이드&lt;/h2&gt;
&lt;p style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size16&quot;&gt;앱 개발을 시작하고 싶은데, 복잡한 설정 때문에 망설여지시나요? 2026년 기준 안드로이드 스튜디오는 누구나 비교적 쉽게 앱 개발 환경을 구축할 수 있도록 제공되고 있습니다. 이 글에서는 다운로드부터 설치, SDK 설정, 첫 실행까지 초보자도 따라 할 수 있도록 순서대로 설명합니다.&lt;/p&gt;
&lt;div style=&quot;padding: 20px; background-color: #f9f9f9; border: 1px solid #e0e0e0; border-radius: 10px; line-height: 1.8;&quot;&gt;&lt;b&gt;바로 시작하기&lt;/b&gt;&lt;br /&gt;안드로이드 스튜디오 공식 다운로드 페이지에서 최신 버전을 받을 수 있습니다.&lt;br /&gt;&lt;a href=&quot;https://developer.android.com/studio/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://developer.android.com/studio/&lt;/a&gt;&lt;/div&gt;
&lt;h3 style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size23&quot;&gt;1. 설치 전 PC 사양 확인하기&lt;/h3&gt;
&lt;p style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size16&quot;&gt;안드로이드 스튜디오는 일반 프로그램보다 시스템 자원을 많이 사용하는 편입니다. 특히 에뮬레이터를 함께 사용한다면 메모리가 충분한 것이 중요합니다.&lt;/p&gt;
&lt;ul style=&quot;line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;운영체제:&lt;/b&gt; Windows 11 권장 (Windows 10 지원)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;CPU:&lt;/b&gt; 64비트 프로세서&lt;/li&gt;
&lt;li&gt;&lt;b&gt;메모리(RAM):&lt;/b&gt; 16GB 이상 권장&lt;/li&gt;
&lt;li&gt;&lt;b&gt;저장 공간:&lt;/b&gt; SSD 기준 50GB 이상 여유 공간 권장&lt;/li&gt;
&lt;li&gt;&lt;b&gt;인터넷:&lt;/b&gt; SDK 다운로드를 위해 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;padding: 15px; background-color: #e8f5e9; border-left: 5px solid #4caf50; margin: 15px 0; line-height: 1.8;&quot;&gt;&lt;b&gt;팁:&lt;/b&gt; RAM이 8GB 이하인 경우 에뮬레이터 실행 시 속도가 느릴 수 있습니다. 가능하면 실제 안드로이드 스마트폰을 연결해 테스트하는 것도 좋은 방법입니다.&lt;/div&gt;
&lt;h3 style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size23&quot;&gt;2. 안드로이드 스튜디오 다운로드하기&lt;/h3&gt;
&lt;p style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size16&quot;&gt;먼저 공식 홈페이지에서 설치 파일을 다운로드합니다.&lt;/p&gt;
&lt;ol style=&quot;line-height: 1.8;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;공식 사이트 접속&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Download Android Studio&lt;/b&gt; 버튼 클릭&lt;/li&gt;
&lt;li&gt;이용 약관 동의&lt;/li&gt;
&lt;li&gt;설치 파일(.exe) 다운로드&lt;/li&gt;
&lt;li&gt;다운로드 완료 후 실행&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이미지 위치 추천:&lt;/b&gt; 다운로드 버튼 화면 캡처&lt;/p&gt;
&lt;h3 style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size23&quot;&gt;3. 안드로이드 스튜디오 설치하기&lt;/h3&gt;
&lt;p style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size16&quot;&gt;설치 프로그램을 실행하면 기본 설치 마법사가 시작됩니다.&lt;/p&gt;
&lt;ol style=&quot;line-height: 1.8;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;설치 파일 실행&lt;/li&gt;
&lt;li&gt;Next 클릭&lt;/li&gt;
&lt;li&gt;Android Studio 항목 체크&lt;/li&gt;
&lt;li&gt;Android Virtual Device(AVD) 항목 체크&lt;/li&gt;
&lt;li&gt;설치 위치 선택&lt;/li&gt;
&lt;li&gt;Install 클릭&lt;/li&gt;
&lt;li&gt;설치 완료 후 Finish 클릭&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;padding: 15px; background-color: #fff8e1; border-left: 5px solid #ffc107; margin: 15px 0; line-height: 1.8;&quot;&gt;&lt;b&gt;꿀팁:&lt;/b&gt; Android Virtual Device(AVD)는 실제 스마트폰 없이 앱을 실행할 수 있는 가상 기기입니다. 초보자라면 반드시 설치하는 것을 추천합니다.&lt;/div&gt;
&lt;p style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이미지 위치 추천:&lt;/b&gt; AVD 선택 화면 캡처&lt;/p&gt;
&lt;h3 style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size23&quot;&gt;4. SDK 자동 설치 진행하기&lt;/h3&gt;
&lt;p style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size16&quot;&gt;처음 실행하면 Android Studio Setup Wizard가 실행됩니다.&lt;/p&gt;
&lt;ol style=&quot;line-height: 1.8;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Standard 선택&lt;/li&gt;
&lt;li&gt;Next 클릭&lt;/li&gt;
&lt;li&gt;라이선스 동의&lt;/li&gt;
&lt;li&gt;SDK 및 필수 구성 요소 다운로드&lt;/li&gt;
&lt;li&gt;Finish 클릭&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size16&quot;&gt;인터넷 속도에 따라 다운로드 시간이 다를 수 있으며 보통 5~30분 정도 소요됩니다.&lt;/p&gt;
&lt;p style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이미지 위치 추천:&lt;/b&gt; Standard 선택 화면&lt;/p&gt;
&lt;div style=&quot;padding: 15px; background-color: #e3f2fd; border-left: 5px solid #2196f3; margin: 15px 0; line-height: 1.8;&quot;&gt;&lt;b&gt;참고:&lt;/b&gt; SDK는 안드로이드 앱을 만들고 실행하기 위해 필요한 개발 도구 모음입니다. 처음에는 어렵게 느껴질 수 있지만 설치 마법사가 대부분 자동으로 처리해 줍니다.&lt;/div&gt;
&lt;h3 style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size23&quot;&gt;5. 설치 성공 여부 확인하기&lt;/h3&gt;
&lt;p style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size16&quot;&gt;설치가 끝났다면 간단한 프로젝트를 만들어 정상적으로 동작하는지 확인해 보겠습니다.&lt;/p&gt;
&lt;ol style=&quot;line-height: 1.8;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;New Project 클릭&lt;/li&gt;
&lt;li&gt;Empty Activity 선택&lt;/li&gt;
&lt;li&gt;프로젝트 이름 입력&lt;/li&gt;
&lt;li&gt;Finish 클릭&lt;/li&gt;
&lt;li&gt;상단 Run(▶) 버튼 클릭&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size16&quot;&gt;에뮬레이터가 실행되면서 &quot;Hello World&quot; 화면이 나타난다면 설치가 정상적으로 완료된 것입니다.&lt;/p&gt;
&lt;p style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이미지 위치 추천:&lt;/b&gt; Hello World 실행 화면&lt;/p&gt;
&lt;div style=&quot;padding: 15px; background-color: #ffebee; border-left: 5px solid #f44336; margin: 15px 0; line-height: 1.8;&quot;&gt;&lt;b&gt;주의:&lt;/b&gt; 에뮬레이터가 실행되지 않는다면 BIOS 설정의 Virtualization(가상화) 기능이 비활성화되어 있을 수 있습니다. BIOS에서 해당 기능을 활성화한 후 다시 시도해 보세요.&lt;/div&gt;
&lt;h3 style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size23&quot;&gt;6. 자주 발생하는 문제 해결&lt;/h3&gt;
&lt;ul style=&quot;line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;설치가 매우 느린 경우:&lt;/b&gt; 백신 프로그램을 잠시 중지 후 다시 시도&lt;/li&gt;
&lt;li&gt;&lt;b&gt;SDK 다운로드 실패:&lt;/b&gt; 인터넷 연결 상태 확인&lt;/li&gt;
&lt;li&gt;&lt;b&gt;에뮬레이터 실행 오류:&lt;/b&gt; 가상화(VT-x, AMD-V) 활성화 확인&lt;/li&gt;
&lt;li&gt;&lt;b&gt;프로젝트 빌드 실패:&lt;/b&gt; File &amp;rarr; Sync Project with Gradle Files 실행&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size23&quot;&gt;7. 설치 후 가장 먼저 해볼 것&lt;/h3&gt;
&lt;ul style=&quot;line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Hello World 앱 실행&lt;/li&gt;
&lt;li&gt;에뮬레이터 생성&lt;/li&gt;
&lt;li&gt;SDK 업데이트 확인&lt;/li&gt;
&lt;li&gt;Gradle 동기화 실행&lt;/li&gt;
&lt;li&gt;실제 스마트폰 연결 테스트&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size23&quot;&gt;마무리하며&lt;/h3&gt;
&lt;p style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size16&quot;&gt;설치가 끝난 후에는 가끔씩 &lt;b&gt;Help &amp;rarr; Check for Updates&lt;/b&gt; 메뉴를 통해 최신 버전을 유지하는 것이 좋습니다. 이제 안드로이드 앱 개발을 위한 기본 준비가 완료되었습니다. 작은 프로젝트부터 하나씩 만들어 보면서 개발 경험을 쌓아 보세요.&lt;/p&gt;
&lt;h3 style=&quot;line-height: 1.8;&quot; data-ke-size=&quot;size23&quot;&gt;안드로이드 스튜디오로 할 수 있는 것들&lt;/h3&gt;
&lt;ul style=&quot;line-height: 1.8;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;안드로이드 앱 개발:&lt;/b&gt; 스마트폰, 태블릿, 웨어러블 기기용 앱 제작&lt;/li&gt;
&lt;li&gt;&lt;b&gt;가상 기기 테스트:&lt;/b&gt; 실제 기기 없이 다양한 환경 테스트&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Jetpack Compose UI 개발:&lt;/b&gt; 최신 방식의 화면 구성&lt;/li&gt;
&lt;li&gt;&lt;b&gt;앱 성능 분석:&lt;/b&gt; 메모리 및 성능 최적화&lt;/li&gt;
&lt;li&gt;&lt;b&gt;AI 코드 지원:&lt;/b&gt; AI 기능 활용&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>개발 이야기/안드로이드 및 IOS</category>
      <category>android studio</category>
      <category>스튜디오</category>
      <category>안드로이드</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/59</guid>
      <comments>https://infotake.tistory.com/59#entry59comment</comments>
      <pubDate>Mon, 1 Jun 2026 23:40:04 +0900</pubDate>
    </item>
    <item>
      <title>티스토리 네이버 검색 노출 완벽 가이드</title>
      <link>https://infotake.tistory.com/139</link>
      <description>&lt;div style=&quot;line-height: 1.8; color: #333;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;티스토리 블로그를 운영하면서 가장 고민되는 부분 중 하나가 바로 '네이버 검색 유입'이죠. 네이버 검색 결과에 내 글이 노출되면 방문자 수가 비약적으로 상승하는데요, 오늘은 &lt;b&gt;네이버 서치어드바이저&lt;/b&gt;를 활용해 내 블로그를 네이버에 공식적으로 등록하고 검색 최적화를 마치는 전 과정을 아주 상세히 정리해 드립니다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f8f9fa; border-left: 5px solid #2ecc71; padding: 20px; border-radius: 5px; margin: 30px 0;&quot;&gt;&lt;b&gt;핵심 요약:&lt;/b&gt; 네이버 검색 노출의 시작은   &lt;a href=&quot;https://searchadvisor.naver.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;네이버 서치어드바이저(https://searchadvisor.naver.com/)&lt;/a&gt; 등록입니다. 사이트 소유 확인, RSS 제출, 사이트맵 등록 이 세 가지만 완료하면 검색 엔진이 내 블로그를 훨씬 더 잘 찾아갈 수 있습니다.&lt;/div&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1239&quot; data-origin-height=&quot;793&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xSb2j/dJMcaffMHVf/UOk2JKDFAwt85OHuUJGnCK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xSb2j/dJMcaffMHVf/UOk2JKDFAwt85OHuUJGnCK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xSb2j/dJMcaffMHVf/UOk2JKDFAwt85OHuUJGnCK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxSb2j%2FdJMcaffMHVf%2FUOk2JKDFAwt85OHuUJGnCK%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;1239&quot; height=&quot;793&quot; data-origin-width=&quot;1239&quot; data-origin-height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h2 style=&quot;border-bottom: 2px solid #eee; padding-bottom: 10px;&quot; data-ke-size=&quot;size26&quot;&gt;1단계: 서치어드바이저 사이트 등록&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 먼저 네이버에게 우리 블로그가 존재한다는 사실을 알려야 합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;먼저   &lt;a href=&quot;https://searchadvisor.naver.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;네이버 서치어드바이저(https://searchadvisor.naver.com/)&lt;/a&gt;에 접속하여 네이버 아이디로 로그인하세요.&lt;/li&gt;
&lt;li&gt;상단 메뉴의 [웹마스터 도구]를 클릭합니다.&lt;/li&gt;
&lt;li&gt;사이트 등록란에 본인의 티스토리 블로그 주소(예: https://infotake.tistory.com)를 입력하고 추가 버튼을 누릅니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 style=&quot;border-bottom: 2px solid #eee; padding-bottom: 10px;&quot; data-ke-size=&quot;size26&quot;&gt;2단계: 사이트 소유 확인 (HTML 태그 방식)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 블로그가 정말 내 것인지 네이버가 확인하는 과정입니다. 여러 방법 중 가장 빠르고 정확한 'HTML 태그' 방식을 추천합니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사이트 소유 확인 화면에서 &lt;b&gt;'HTML 태그'&lt;/b&gt; 항목을 선택합니다.&lt;/li&gt;
&lt;li&gt;화면에 표시된 &lt;code&gt;&amp;lt;meta name=&quot;naver-site-verification&quot; content=&quot;...&quot;&amp;gt;&lt;/code&gt; 형태의 코드를 전체 복사합니다.&lt;/li&gt;
&lt;li&gt;내 티스토리 관리자 화면에서 [꾸미기] &amp;gt; [스킨 편집] &amp;gt; [html 편집] 버튼을 클릭합니다.&lt;/li&gt;
&lt;li&gt;열린 코드 창에서 &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;와 &lt;code&gt;&amp;lt;/head&amp;gt;&lt;/code&gt; 사이(보통 &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; 바로 아랫줄이 좋습니다)에 복사한 코드를 붙여넣고 [적용]을 누릅니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;background-color: #fff3cd; border: 1px solid #ffeeba; padding: 20px; margin: 30px 0; border-radius: 5px;&quot;&gt;&lt;b&gt;Tip:&lt;/b&gt; 추후 스킨을 바꾸면 이 코드가 사라질 수 있습니다. 스킨 변경 시마다 이 작업을 다시 해줘야 한다는 점, 꼭 기억해 주세요!&lt;/div&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1100&quot; data-origin-height=&quot;631&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rhH2a/dJMcada5ace/FZwseaHFmnRh27VqutMpu1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rhH2a/dJMcada5ace/FZwseaHFmnRh27VqutMpu1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rhH2a/dJMcada5ace/FZwseaHFmnRh27VqutMpu1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrhH2a%2FdJMcada5ace%2FFZwseaHFmnRh27VqutMpu1%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;1100&quot; height=&quot;631&quot; data-origin-width=&quot;1100&quot; data-origin-height=&quot;631&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;h2 style=&quot;border-bottom: 2px solid #eee; padding-bottom: 10px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;br /&gt;3단계: RSS 및 사이트맵 제출&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 네이버 로봇이 내 글을 효율적으로 수집할 수 있도록 상세 경로를 알려줄 차례입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서치어드바이저 왼쪽 메뉴에서 [요청] &amp;gt; [RSS 제출]을 클릭합니다.&lt;/li&gt;
&lt;li&gt;입력창에 &lt;code&gt;rss&lt;/code&gt;라고만 적고 확인을 누릅니다. (티스토리는 자동으로 경로를 인식합니다.)&lt;/li&gt;
&lt;li&gt;다시 [요청] &amp;gt; [사이트맵 제출]을 클릭합니다.&lt;/li&gt;
&lt;li&gt;입력창에 &lt;code&gt;sitemap.xml&lt;/code&gt;을 입력하고 제출을 클릭합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #f8d7da; border: 1px solid #f5c6cb; padding: 20px; margin: 30px 0; border-radius: 5px;&quot;&gt;&lt;b&gt;Warning:&lt;/b&gt; 사이트맵 제출 시 오류가 발생한다면, 티스토리 설정의 [관리] &amp;gt; [블로그] &amp;gt; [검색 엔진 최적화]에서 '사이트맵 주소'가 제대로 활성화되어 있는지 먼저 체크하세요.&lt;/div&gt;
&lt;h2 style=&quot;border-bottom: 2px solid #eee; padding-bottom: 10px;&quot; data-ke-size=&quot;size26&quot;&gt;4단계: 최종 검색 반영 확인&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설정을 마쳤다고 바로 검색 결과 상단에 뜨지는 않습니다. 네이버 로봇이 우리 블로그를 순회할 시간이 필요하거든요. 며칠 뒤 아래 명령어로 내 블로그 글들이 잘 수집되고 있는지 확인해 보세요.&lt;/p&gt;
&lt;pre class=&quot;avrasm&quot; style=&quot;background-color: #282c34; color: #abb2bf; padding: 20px; border-radius: 5px; overflow-x: auto;&quot;&gt;&lt;code&gt;# 네이버 검색창에 입력
site:infotake.tistory.com&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;margin-top: 25px;&quot; data-ke-size=&quot;size16&quot;&gt;검색 명령어 입력 시 내 블로그의 글들이 검색 결과에 나타난다면 완벽하게 등록된 것입니다. 이 작은 설정 하나가 검색 유입을 만드는 큰 첫걸음이 될 거예요. 성공적인 블로그 운영을 응원합니다!&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;1010&quot; data-origin-height=&quot;309&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EFcH4/dJMcajvFwhi/9LuM3rOw2ce8I8XqB5Qqp0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EFcH4/dJMcajvFwhi/9LuM3rOw2ce8I8XqB5Qqp0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EFcH4/dJMcajvFwhi/9LuM3rOw2ce8I8XqB5Qqp0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEFcH4%2FdJMcajvFwhi%2F9LuM3rOw2ce8I8XqB5Qqp0%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;1010&quot; height=&quot;309&quot; data-origin-width=&quot;1010&quot; data-origin-height=&quot;309&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>개발 이야기/기타</category>
      <category>네이버검색노출</category>
      <category>서치어드바이저</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/139</guid>
      <comments>https://infotake.tistory.com/139#entry139comment</comments>
      <pubDate>Mon, 1 Jun 2026 23:14:58 +0900</pubDate>
    </item>
    <item>
      <title>오라클 Instant Client(무설치)로 DB 접속 환경 구축하기</title>
      <link>https://infotake.tistory.com/138</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;오라클 Instant Client(무설치)로 DB 접속 환경 구축하기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오라클 클라이언트 전체를 설치하지 않고도 &lt;b&gt;Instant Client&lt;/b&gt;를 사용하면 Toad, DBeaver, SQL Developer 등 모든 DB 관리 도구에서 가볍게 접속 환경을 구축할 수 있습니다.&lt;/p&gt;

&lt;h3 data-ke-size=&quot;size20&quot;&gt;1. 사전 준비&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오라클 공식 홈페이지에서 자신의 시스템에 맞는 Instant Client를 다운로드합니다.&lt;/p&gt;
&lt;ul style=&quot;line-height: 1.8;&quot;&gt;
    &lt;li&gt;다운로드: &lt;a href=&quot;https://www.oracle.com/database/technologies/instant-client.html&quot; target=&quot;_blank&quot;&gt;Oracle Instant Client 공식 페이지&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;설치: 다운로드한 파일을 적절한 위치에 압축 해제 (예: &lt;code&gt;D:\instantclient_19_11&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 data-ke-size=&quot;size20&quot;&gt;2. 환경 변수 설정&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;운영체제에서 Instant Client를 인식할 수 있도록 환경 변수를 등록합니다.&lt;/p&gt;
&lt;pre style=&quot;background-color: #f4f4f4; padding: 15px; border-radius: 5px; overflow-x: auto;&quot;&gt;
Path = D:\instantclient_19_11
TNS_ADMIN = D:\instantclient_19_11
&lt;/pre&gt;

&lt;h3 data-ke-size=&quot;size20&quot;&gt;3. tnsnames.ora 구성&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;압축을 푼 폴더 안에 &lt;code&gt;tnsnames.ora&lt;/code&gt; 파일을 생성합니다.&lt;/p&gt;
&lt;pre style=&quot;background-color: #f4f4f4; padding: 15px; border-radius: 5px; overflow-x: auto;&quot;&gt;
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )
&lt;/pre&gt;

&lt;h3 data-ke-size=&quot;size20&quot;&gt;4. DB 관리 도구(Toad, DBeaver 등) 설정&lt;/h3&gt;
&lt;ul style=&quot;line-height: 1.8;&quot;&gt;
    &lt;li&gt;&lt;b&gt;Toad:&lt;/b&gt; 설정(Options)의 'Installed Clients'에서 경로 확인 후 'Database' 항목에 TNS명 입력&lt;/li&gt;
    &lt;li&gt;&lt;b&gt;DBeaver:&lt;/b&gt; 연결 설정에서 드라이버를 'Oracle'로 선택하고, 설정 탭에서 'TNS 경로'를 해당 폴더로 지정&lt;/li&gt;
    &lt;li&gt;&lt;b&gt;공통:&lt;/b&gt; 어떤 툴을 사용하든 위에서 설정한 &lt;code&gt;ORCL&lt;/code&gt; 접속 정보를 그대로 활용 가능&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 data-ke-size=&quot;size20&quot;&gt;⚠️ 트러블슈팅 및 참고 사항&lt;/h3&gt;
&lt;ul style=&quot;line-height: 1.8;&quot;&gt;
    &lt;li&gt;&lt;b&gt;비트수 확인:&lt;/b&gt; 사용하는 툴(32/64bit)과 Instant Client의 비트수가 반드시 일치해야 합니다.&lt;/li&gt;
    &lt;li&gt;&lt;b&gt;연결 테스트:&lt;/b&gt; &lt;code&gt;sqlplus user/password@ORCL&lt;/code&gt; 명령어로 터미널에서 먼저 테스트하세요.&lt;/li&gt;
    &lt;li&gt;&lt;b&gt;필수 라이브러리:&lt;/b&gt; 툴이 실행되지 않는다면 &lt;i&gt;Microsoft Visual C++ 재배포 가능 패키지&lt;/i&gt; 설치를 확인하세요.&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>개발 이야기/IT</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/138</guid>
      <comments>https://infotake.tistory.com/138#entry138comment</comments>
      <pubDate>Sat, 30 May 2026 12:17:50 +0900</pubDate>
    </item>
    <item>
      <title>윈도우 11&amp;middot;12 최적화, 프로그램 설치 없이 캐시 삭제하기</title>
      <link>https://infotake.tistory.com/137</link>
      <description>&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/FlnKy/dJMcac4leGA/4oqxdNGdKhIb2aMbSK11IK/clean.bat?attach=1&amp;amp;knm=tfile.bat&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;clean.bat&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.00MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre class=&quot;dos&quot; style=&quot;background-color: #272822; color: #f8f8f2; padding: 20px; border-radius: 8px; overflow-x: auto; font-size: 14px; line-height: 1.5; border: 1px solid #1a1a1a;&quot;&gt;&lt;code&gt;@echo off
:: 관리자 권한 자동 승인
net session &amp;gt;nul 2&amp;gt;&amp;amp;1
if %errorlevel% neq 0 (
    powershell Start-Process -FilePath &quot;%0&quot; -ArgumentList &quot;%*&quot; -WindowStyle Hidden -Verb runAs
    exit /b
)

title 윈도우 캐시 자동 정리
echo 윈도우 캐시 정리를 시작합니다...

:: 1. Temp 폴더 정리
del /f /s /q &quot;%userprofile%\AppData\Local\Temp\*.*&quot; &amp;gt;nul 2&amp;gt;&amp;amp;1
rmdir /s /q &quot;%userprofile%\AppData\Local\Temp&quot; &amp;gt;nul 2&amp;gt;&amp;amp;1
mkdir &quot;%userprofile%\AppData\Local\Temp&quot; &amp;gt;nul 2&amp;gt;&amp;amp;1

:: 2. 윈도우 업데이트 캐시 정리
net stop wuauserv &amp;gt;nul 2&amp;gt;&amp;amp;1
net stop bits &amp;gt;nul 2&amp;gt;&amp;amp;1
del /f /s /q &quot;%systemroot%\SoftwareDistribution\Download\*.*&quot; &amp;gt;nul 2&amp;gt;&amp;amp;1
net start bits &amp;gt;nul 2&amp;gt;&amp;amp;1
net start wuauserv &amp;gt;nul 2&amp;gt;&amp;amp;1

:: 3. 프리페치 정리
del /f /s /q &quot;%systemroot%\Prefetch\*.*&quot; &amp;gt;nul 2&amp;gt;&amp;amp;1

:: 4. DNS 캐시 플러시
ipconfig /flushdns &amp;gt;nul 2&amp;gt;&amp;amp;1

echo 작업이 완료되었습니다!
pause
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin-top: 30px; padding: 20px; border: 1px solid #eee; border-radius: 10px; background-color: #f9f9f9;&quot;&gt;
&lt;h3 style=&quot;margin-top: 0;&quot; data-ke-size=&quot;size23&quot;&gt;  배치(.bat) 파일 만들기 절차&lt;/h3&gt;
&lt;ol style=&quot;line-height: 2;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;위의 검은색 박스 안에 있는 &lt;b&gt;코드를 모두 복사&lt;/b&gt;합니다.&lt;/li&gt;
&lt;li&gt;바탕화면 우클릭 후 &lt;b&gt;[새로 만들기] - [텍스트 문서]&lt;/b&gt;를 클릭합니다.&lt;/li&gt;
&lt;li&gt;메모장을 열고 코드를 &lt;b&gt;붙여넣기&lt;/b&gt; 합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;[파일] - [다른 이름으로 저장]&lt;/b&gt;을 클릭합니다.&lt;/li&gt;
&lt;li&gt;파일 이름을 &lt;code&gt;clean.bat&lt;/code&gt;로 입력하고, 파일 형식을 &lt;b&gt;[모든 파일(*.*)]&lt;/b&gt;로 변경하여 저장합니다.&lt;/li&gt;
&lt;li&gt;파일을 우클릭하여 &lt;b&gt;[관리자 권한으로 실행]&lt;/b&gt;합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 style=&quot;margin-top: 30px; border-top: 1px solid #ddd; padding-top: 20px;&quot; data-ke-size=&quot;size23&quot;&gt;⚠️ 캐시 삭제 전 꼭 읽어주세요!&lt;/h3&gt;
&lt;ul style=&quot;line-height: 2; color: #d9534f;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;웹 브라우저의 '자동 로그인'이 해제될 수 있으니 비밀번호를 기억해두세요.&lt;/li&gt;
&lt;li&gt;캐시 삭제 후, 처음 실행하는 프로그램은 평소보다 로딩이 조금 느릴 수 있습니다.&lt;/li&gt;
&lt;li&gt;중요한 작업 중인 문서나 데이터는 모두 저장 후 프로그램을 종료하고 실행하세요.&lt;/li&gt;
&lt;li&gt;윈도우 업데이트가 진행 중이거나 다운로드 중일 때는 실행을 잠시 멈춰주세요.&lt;/li&gt;
&lt;li&gt;이 작업은 시스템 최적화를 위한 것으로 개인 문서나 사진은 삭제되지 않습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description>
      <category>개발 이야기/윈도우</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/137</guid>
      <comments>https://infotake.tistory.com/137#entry137comment</comments>
      <pubDate>Sat, 30 May 2026 11:40:06 +0900</pubDate>
    </item>
    <item>
      <title>프로그래밍 언어 순위 TOP 20 및 Hello World 예제 코드 모음</title>
      <link>https://infotake.tistory.com/136</link>
      <description>&lt;table style=&quot;border-collapse: collapse; width: 100%; border: 1px solid #ddd; margin-bottom: 8px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #f5f5f5; text-align: left;&quot;&gt;
&lt;th style=&quot;padding: 12px; border: 1px solid #ddd; width: 8%; text-align: center;&quot;&gt;순위&lt;/th&gt;
&lt;th style=&quot;padding: 12px; border: 1px solid #ddd; width: 18%;&quot;&gt;프로그래밍 언어&lt;/th&gt;
&lt;th style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;언어별 특징 및 Hello, World! 소스코드 예제&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: center; font-weight: bold;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;Python (파이썬)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;
&lt;div style=&quot;font-size: 14px; margin-bottom: 6px; color: #333;&quot;&gt;&amp;bull; 인공지능(AI), 데이터 분석, 웹 백엔드 개발에 압도적으로 쓰이는 생태계 1위 언어&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 10px; border: 1px solid #eee; border-radius: 4px;&quot;&gt;
&lt;pre class=&quot;stylus&quot; style=&quot;margin: 0; font-size: 13px; color: #2c3e50; line-height: 1.5; white-space: pre-wrap;&quot;&gt;&lt;code&gt;print(&quot;Hello, World!&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: center; font-weight: bold;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;JavaScript (자바스크립트)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;
&lt;div style=&quot;font-size: 14px; margin-bottom: 6px; color: #333;&quot;&gt;&amp;bull; 웹 프론트엔드의 표준이자 Node.js를 통해 백엔드까지 지배한 필수 스크립트 언어&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 10px; border: 1px solid #eee; border-radius: 4px;&quot;&gt;
&lt;pre class=&quot;1c&quot; style=&quot;margin: 0; font-size: 13px; color: #2c3e50; line-height: 1.5; white-space: pre-wrap;&quot;&gt;&lt;code&gt;console.log(&quot;Hello, World!&quot;);&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: center; font-weight: bold;&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;Java (자바)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;
&lt;div style=&quot;font-size: 14px; margin-bottom: 6px; color: #333;&quot;&gt;&amp;bull; 국내 전자정부 표준프레임워크(Spring)의 핵심이자 대기업 엔터프라이즈 서버의 강자&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 10px; border: 1px solid #eee; border-radius: 4px;&quot;&gt;
&lt;pre class=&quot;arduino&quot; style=&quot;margin: 0; font-size: 13px; color: #2c3e50; line-height: 1.5; white-space: pre-wrap;&quot;&gt;&lt;code&gt;public class Main {
    public static void main(String[] args) {
        System.out.println(&quot;Hello, World!&quot;);
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: center; font-weight: bold;&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;TypeScript (타입스크립트)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;
&lt;div style=&quot;font-size: 14px; margin-bottom: 6px; color: #333;&quot;&gt;&amp;bull; JavaScript에 정적 타입을 도입하여 대규모 웹 애플리케이션 개발 시 에러를 사전 방지&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 10px; border: 1px solid #eee; border-radius: 4px;&quot;&gt;
&lt;pre class=&quot;cpp&quot; style=&quot;margin: 0; font-size: 13px; color: #2c3e50; line-height: 1.5; white-space: pre-wrap;&quot;&gt;&lt;code&gt;const message: string = &quot;Hello, World!&quot;;
console.log(message);&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: center; font-weight: bold;&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;C# (씨샵)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;
&lt;div style=&quot;font-size: 14px; margin-bottom: 6px; color: #333;&quot;&gt;&amp;bull; 마이크로소프트(.NET) 생태계의 중심이자 Unity 엔진을 활용한 게임 개발의 표준 언어&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 10px; border: 1px solid #eee; border-radius: 4px;&quot;&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;margin: 0; font-size: 13px; color: #2c3e50; line-height: 1.5; white-space: pre-wrap;&quot;&gt;&lt;code&gt;using System;

class Program {
    static void Main() {
        Console.WriteLine(&quot;Hello, World!&quot;);
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: center; font-weight: bold;&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;C++ (씨플플)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;
&lt;div style=&quot;font-size: 14px; margin-bottom: 6px; color: #333;&quot;&gt;&amp;bull; 고성능 게임(Unreal), 그래픽스, 임베디드, 고성능 서버 시스템 아키텍처에 사용&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 10px; border: 1px solid #eee; border-radius: 4px;&quot;&gt;
&lt;pre class=&quot;cpp&quot; style=&quot;margin: 0; font-size: 13px; color: #2c3e50; line-height: 1.5; white-space: pre-wrap;&quot;&gt;&lt;code&gt;#include &amp;lt;iostream&amp;gt;

int main() {
    std::cout &amp;lt;&amp;lt; &quot;Hello, World!&quot; &amp;lt;&amp;lt; std::endl;
    return 0;
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: center; font-weight: bold;&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;C (씨)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;
&lt;div style=&quot;font-size: 14px; margin-bottom: 6px; color: #333;&quot;&gt;&amp;bull; 컴퓨터 전반의 기초가 되는 언어로 운영체제(OS), 하드웨어 제어 및 시스템 소프트웨어 개발에 특화&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 10px; border: 1px solid #eee; border-radius: 4px;&quot;&gt;
&lt;pre class=&quot;cpp&quot; style=&quot;margin: 0; font-size: 13px; color: #2c3e50; line-height: 1.5; white-space: pre-wrap;&quot;&gt;&lt;code&gt;#include &amp;lt;stdio.h&amp;gt;

int main() {
    printf(&quot;Hello, World!\n&quot;);
    return 0;
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: center; font-weight: bold;&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;PHP (피에이치피)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;
&lt;div style=&quot;font-size: 14px; margin-bottom: 6px; color: #333;&quot;&gt;&amp;bull; 웹 스크립트 언어의 전통 강자로 워드프레스, 라라벨(Laravel) 프레임워크 기반 웹 서빙&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 10px; border: 1px solid #eee; border-radius: 4px;&quot;&gt;
&lt;pre class=&quot;xml&quot; style=&quot;margin: 0; font-size: 13px; color: #2c3e50; line-height: 1.5; white-space: pre-wrap;&quot;&gt;&lt;code&gt;&amp;lt;?php
echo &quot;Hello, World!&quot;;
?&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: center; font-weight: bold;&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;Go (고랭)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;
&lt;div style=&quot;font-size: 14px; margin-bottom: 6px; color: #333;&quot;&gt;&amp;bull; 구글이 만든 고성능 서버 언어로 분산 시스템, 도커(Docker), 쿠버네티스 인프라 구축의 핵심&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 10px; border: 1px solid #eee; border-radius: 4px;&quot;&gt;
&lt;pre class=&quot;go&quot; style=&quot;margin: 0; font-size: 13px; color: #2c3e50; line-height: 1.5; white-space: pre-wrap;&quot;&gt;&lt;code&gt;package main

import &quot;fmt&quot;

func main() {
    fmt.Println(&quot;Hello, World!&quot;)
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: center; font-weight: bold;&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;Kotlin (코틀린)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;
&lt;div style=&quot;font-size: 14px; margin-bottom: 6px; color: #333;&quot;&gt;&amp;bull; 구글 안드로이드 앱 개발의 표준 공식 언어로 자바와 100% 호환되며 현대적인 문법 제공&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 10px; border: 1px solid #eee; border-radius: 4px;&quot;&gt;
&lt;pre class=&quot;kotlin&quot; style=&quot;margin: 0; font-size: 13px; color: #2c3e50; line-height: 1.5; white-space: pre-wrap;&quot;&gt;&lt;code&gt;fun main() {
    println(&quot;Hello, World!&quot;)
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: center; font-weight: bold;&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;Ruby (루비)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;
&lt;div style=&quot;font-size: 14px; margin-bottom: 6px; color: #333;&quot;&gt;&amp;bull; Ruby on Rails 프레임워크와 결합하여 스타트업 웹 서비스의 빠른 MVP 개발에 주로 사용&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 10px; border: 1px solid #eee; border-radius: 4px;&quot;&gt;
&lt;pre class=&quot;cpp&quot; style=&quot;margin: 0; font-size: 13px; color: #2c3e50; line-height: 1.5; white-space: pre-wrap;&quot;&gt;&lt;code&gt;puts &quot;Hello, World!&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: center; font-weight: bold;&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;Swift (스위프트)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;
&lt;div style=&quot;font-size: 14px; margin-bottom: 6px; color: #333;&quot;&gt;&amp;bull; 애플(Apple)의 iOS, macOS, iPadOS 공식 앱 개발 전용 고성능 프로그래밍 언어&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 10px; border: 1px solid #eee; border-radius: 4px;&quot;&gt;
&lt;pre class=&quot;stylus&quot; style=&quot;margin: 0; font-size: 13px; color: #2c3e50; line-height: 1.5; white-space: pre-wrap;&quot;&gt;&lt;code&gt;print(&quot;Hello, World!&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: center; font-weight: bold;&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;Rust (러스트)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;
&lt;div style=&quot;font-size: 14px; margin-bottom: 6px; color: #333;&quot;&gt;&amp;bull; 메모리 안전성과 최고 수준의 성능을 동시에 만족하여 시스템 프로그래밍에서 C/C++을 대체 중&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 10px; border: 1px solid #eee; border-radius: 4px;&quot;&gt;
&lt;pre class=&quot;rust&quot; style=&quot;margin: 0; font-size: 13px; color: #2c3e50; line-height: 1.5; white-space: pre-wrap;&quot;&gt;&lt;code&gt;fn main() {
    println!(&quot;Hello, World!&quot;);
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: center; font-weight: bold;&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;Dart (다트 / 플러터)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;
&lt;div style=&quot;font-size: 14px; margin-bottom: 6px; color: #333;&quot;&gt;&amp;bull; 구글의 크로스플랫폼 프레임워크 &lt;b&gt;플루터(Flutter)&lt;/b&gt;의 전용 언어로 안드로이드/iOS 동시 개발&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 10px; border: 1px solid #eee; border-radius: 4px;&quot;&gt;
&lt;pre class=&quot;aspectj&quot; style=&quot;margin: 0; font-size: 13px; color: #2c3e50; line-height: 1.5; white-space: pre-wrap;&quot;&gt;&lt;code&gt;void main() {
  print('Hello, World!');
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: center; font-weight: bold;&quot;&gt;15&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;R (알)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;
&lt;div style=&quot;font-size: 14px; margin-bottom: 6px; color: #333;&quot;&gt;&amp;bull; 통계 분석, 빅데이터 시각화, 아카데믹 연구 분야에 특화된 전통적인 오픈소스 데이터 언어&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 10px; border: 1px solid #eee; border-radius: 4px;&quot;&gt;
&lt;pre class=&quot;stylus&quot; style=&quot;margin: 0; font-size: 13px; color: #2c3e50; line-height: 1.5; white-space: pre-wrap;&quot;&gt;&lt;code&gt;cat(&quot;Hello, World!\n&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: center; font-weight: bold;&quot;&gt;16&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;SQL (에스큐엘)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;
&lt;div style=&quot;font-size: 14px; margin-bottom: 6px; color: #333;&quot;&gt;&amp;bull; 관계형 데이터베이스(RDBMS)의 데이터를 관리, 추출, 제어하기 위한 데이터베이스 필수 언어&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 10px; border: 1px solid #eee; border-radius: 4px;&quot;&gt;
&lt;pre class=&quot;sql&quot; style=&quot;margin: 0; font-size: 13px; color: #2c3e50; line-height: 1.5; white-space: pre-wrap;&quot;&gt;&lt;code&gt;SELECT 'Hello, World!' AS Greeting;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: center; font-weight: bold;&quot;&gt;17&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;Shell (쉘/배시)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;
&lt;div style=&quot;font-size: 14px; margin-bottom: 6px; color: #333;&quot;&gt;&amp;bull; 리눅스/유닉스 서버 환경 제어 및 DevOps 엔지니어들의 인프라 자동화 스크립트 작성에 사용&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 10px; border: 1px solid #eee; border-radius: 4px;&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;margin: 0; font-size: 13px; color: #2c3e50; line-height: 1.5; white-space: pre-wrap;&quot;&gt;&lt;code&gt;#!/bin/bash
echo &quot;Hello, World!&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: center; font-weight: bold;&quot;&gt;18&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;Perl (펄)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;
&lt;div style=&quot;font-size: 14px; margin-bottom: 6px; color: #333;&quot;&gt;&amp;bull; 강력한 정규식 매칭 능력을 바탕으로 시스템 관리 및 텍스트 처리에 쓰이는 전통 언어&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 10px; border: 1px solid #eee; border-radius: 4px;&quot;&gt;
&lt;pre class=&quot;d&quot; style=&quot;margin: 0; font-size: 13px; color: #2c3e50; line-height: 1.5; white-space: pre-wrap;&quot;&gt;&lt;code&gt;#!/usr/bin/perl
print &quot;Hello, World!\n&quot;;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: center; font-weight: bold;&quot;&gt;19&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;Scala (스칼라)&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;
&lt;div style=&quot;font-size: 14px; margin-bottom: 6px; color: #333;&quot;&gt;&amp;bull; 객체지향과 함수형 프로그래밍을 결합한 JVM 기반 언어로 빅데이터 프레임워크(Spark)에 활용&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 10px; border: 1px solid #eee; border-radius: 4px;&quot;&gt;
&lt;pre class=&quot;scala&quot; style=&quot;margin: 0; font-size: 13px; color: #2c3e50; line-height: 1.5; white-space: pre-wrap;&quot;&gt;&lt;code&gt;object HelloWorld {
    def main(args: Array[String]): Unit = {
        println(&quot;Hello, World!&quot;)
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: center; font-weight: bold;&quot;&gt;20&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;Objective-C&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;
&lt;div style=&quot;font-size: 14px; margin-bottom: 6px; color: #333;&quot;&gt;&amp;bull; Swift 등장 전 애플 생태계를 책임지던 언어로, 현재는 주로 구형 iOS 앱 유지보수에 쓰임&lt;/div&gt;
&lt;div style=&quot;background-color: #f8f9fa; padding: 10px; border: 1px solid #eee; border-radius: 4px;&quot;&gt;
&lt;pre class=&quot;objectivec&quot; style=&quot;margin: 0; font-size: 13px; color: #2c3e50; line-height: 1.5; white-space: pre-wrap;&quot;&gt;&lt;code&gt;#import &amp;lt;Foundation/Foundation.h&amp;gt;

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSLog(@&quot;Hello, World!&quot;);
    }
    return 0;
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;font-size: 13px; color: #7f8c8d; margin-top: 4px; margin-bottom: 24px; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;  &lt;b&gt;국내 사용 순위 기준 (기준일: 2026년 최신 데이터, 검색기반) &lt;/b&gt;&lt;/p&gt;</description>
      <category>개발 이야기/IT</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/136</guid>
      <comments>https://infotake.tistory.com/136#entry136comment</comments>
      <pubDate>Sat, 30 May 2026 11:09:54 +0900</pubDate>
    </item>
    <item>
      <title>[팁] 구글 광고 / 플레이스토어 고객센터 연락처</title>
      <link>https://infotake.tistory.com/135</link>
      <description>&lt;table style=&quot;border-collapse: collapse; width: 100%; border: 1px solid #ddd; margin-bottom: 8px;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr style=&quot;background-color: #f5f5f5; text-align: left;&quot;&gt;
&lt;th style=&quot;padding: 12px; border: 1px solid #ddd; width: 25%;&quot;&gt;서비스 분류&lt;/th&gt;
&lt;th style=&quot;padding: 12px; border: 1px solid #ddd; width: 30%;&quot;&gt;고객센터 연락처&lt;/th&gt;
&lt;th style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;이용 가이드 및 최근 변경 정책&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;&lt;!-- 1순위: 가장 요청이 많은 앱 결제/환불 --&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;구글 플레이 스토어&lt;br /&gt;&lt;span style=&quot;font-size: 12px; color: #27ae60; font-weight: normal;&quot;&gt;(최신 통합 센터)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #e74c3c;&quot;&gt;080-234-0051&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;&amp;bull; 평일 09:00 ~ 18:00 (수신자 부담)&lt;br /&gt;&amp;bull; 유료 앱/게임 결제 오류 및 환불 문의 처리가 가장 빠른 메인 직통 번호&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 2순위: 유튜브 멤버십/구독 유저 --&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;유튜브 프리미엄&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #e74c3c;&quot;&gt;080-822-1450&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;&amp;bull; 평일 09:00 ~ 18:00 (수신자 부담)&lt;br /&gt;&amp;bull; 유튜브 프리미엄 결제 및 유료 채널 멤버십 장애 전용 상담 라인&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 3순위: 과거 번호로 유입되는 케이스 백업 --&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;구글 플레이 스토어&lt;br /&gt;&lt;span style=&quot;font-size: 12px; color: #7f8c8d; font-weight: normal;&quot;&gt;(기존 결제 관리)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; color: #333;&quot;&gt;080-085-1500&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;&amp;bull; 과거 플레이스토어 대표 번호&lt;br /&gt;&amp;bull; 현재는 구글페이 및 유료 결제 계정 보호 안내 등으로 축소 병행 운영됨&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 4순위: 법인/본사 대표 연락처 --&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;구글 코리아 본사&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; color: #333;&quot;&gt;02-531-9000&lt;br /&gt;&lt;span style=&quot;font-size: 12px; color: #7f8c8d;&quot;&gt;(팩스: 02-531-9001)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;&amp;bull; 구글코리아 유한회사 공식 법정 대표 번호&lt;br /&gt;&amp;bull; 개인정보 처리방침 안내 및 법적 서류 수신용 ARS 매뉴얼 탑재&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 5순위: 광고주 (유선 제한 안내) --&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;구글 광고 / 애드워즈&lt;br /&gt;&lt;span style=&quot;font-size: 12px; color: #c0392b; font-weight: normal;&quot;&gt;(Google Ads)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot; colspan=&quot;2&quot;&gt;&lt;span style=&quot;color: #e74c3c; font-weight: bold;&quot;&gt;[유선 직통 통화 전면 폐지]&lt;/span&gt;&lt;br /&gt;현재는 전화를 걸면 온라인 안내 후 자동 종료됩니다. 반드시 &lt;b&gt;구글 애즈 홈페이지 로그인 후 [전문가 전화 상담 예약]&lt;/b&gt; 메뉴를 통해 콜백을 요청해야 합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 6순위: 워크플레이스 (유선 제한 안내) --&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;구글 워크플레이스&lt;br /&gt;&lt;span style=&quot;font-size: 12px; color: #c0392b; font-weight: normal;&quot;&gt;(G Suite)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot; colspan=&quot;2&quot;&gt;&lt;span style=&quot;color: #e74c3c; font-weight: bold;&quot;&gt;[기업 유선 지원 중단]&lt;/span&gt;&lt;br /&gt;유료 계정 관리자가 &lt;b&gt;구글 관리자 콘솔(Admin Console)&lt;/b&gt;에 로그인하여 내부 실시간 채팅 및 기술 지원 티켓을 접수하는 시스템으로 일원화되었습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;!-- 7순위: 하드웨어 (이용 빈도 최저) --&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; font-weight: bold; color: #2c3e50;&quot;&gt;구글 크롬캐스트 / Nest&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; color: #333;&quot;&gt;1-844-400-2278&lt;/td&gt;
&lt;td style=&quot;padding: 12px; border: 1px solid #ddd; text-align: left;&quot;&gt;&amp;bull; 북미 본사 하드웨어 전용 Toll-free 연락처&lt;br /&gt;&amp;bull; 한국어 지원 불가 (영어 필수), 국내 사용자는 Google Home 모바일 앱 내 문의 권장&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;!-- 경험자 팁이 반영된 온라인 문의 링크 및 안내 박스 --&gt;
&lt;div style=&quot;background-color: #f9f9f9; border-left: 4px solid #3498db; padding: 15px; margin-top: 16px; margin-bottom: 8px; text-align: left;&quot;&gt;
&lt;p style=&quot;margin: 0 0 8px 0; font-weight: bold; color: #2980b9;&quot; data-ke-size=&quot;size16&quot;&gt;  유선 통화 대기가 길어질 때 활용하는 24시간 온라인 접수처&lt;/p&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; font-size: 14px; color: #34495e; line-height: 1.6;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;구글플레이 환불 대안 채널:&lt;/b&gt; &lt;a style=&quot;color: #3498db; text-decoration: none; font-weight: bold;&quot; href=&quot;https://support.google.com/googleplay&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;구글플레이 고객센터 홈페이지&lt;/a&gt; 접속 후 로그인 ➔ [환불 요청] 메뉴를 통해 서류 접수 시 영업일 기준 1~3일 내 처리&lt;/li&gt;
&lt;li&gt;&lt;b&gt;유튜브 결제/오류 온라인 접수:&lt;/b&gt; &lt;a style=&quot;color: #3498db; text-decoration: none; font-weight: bold;&quot; href=&quot;https://support.google.com/youtube&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;유튜브 고객센터 웹페이지&lt;/a&gt; 지원 대화창을 통해 실시간 텍스트 상담 신청 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- 실전 경험자 추천 팁 추가 --&gt;
&lt;p style=&quot;margin: 12px 0 0 0; font-size: 14px; color: #e67e22; font-weight: bold;&quot; data-ke-size=&quot;size16&quot;&gt;  [경험자 적극 추천] 무작정 전화보다 '실시간 채팅'이 더 빠른 이유!&lt;/p&gt;
&lt;p style=&quot;margin: 4px 0 0 0; font-size: 13.5px; color: #555; line-height: 1.6; padding-left: 4px;&quot; data-ke-size=&quot;size16&quot;&gt;전화 회선이 꽉 차서 대기가 길어질 때는 &lt;b&gt;온라인 실시간 채팅 상담&lt;/b&gt;을 먼저 연결하는 것이 훨씬 유리합니다. 채팅으로 상황을 먼저 접수하면, 복잡한 문제나 상세 확인이 필요한 경우 &lt;b&gt;구글 상담원이 역으로 직접 전화를 주어&lt;/b&gt; 문제를 빠르게 해결해 주기도 하니 1차 접수처로 채팅을 적극 권장합니다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;font-size: 13px; color: #7f8c8d; margin-top: 4px; margin-bottom: 24px; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;※ 본 명세는 구글 검색을 통해서 검증 하였습니다. (기준일: 2026년 5월 최신 정보)&lt;/p&gt;</description>
      <category>개발 이야기/기타</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/135</guid>
      <comments>https://infotake.tistory.com/135#entry135comment</comments>
      <pubDate>Sat, 30 May 2026 10:49:17 +0900</pubDate>
    </item>
    <item>
      <title>[라즈베리파이] SSH, Putty 콘솔 접속시 색상 안나올때!</title>
      <link>https://infotake.tistory.com/133</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;라즈비안(데비안기반) 리눅스를 설치 했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오잉 그런데 회색으로만 글자가 나오는군요.... 로컬에서는 잘나오는데 말이죠!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래와같이 합니다.&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;pi@raspberrypi:~&amp;nbsp;$&amp;nbsp;nano&amp;nbsp;./.bashrc&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;630&quot; data-origin-height=&quot;241&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bUc4kV/btrj6cz2CEy/6gotNBSLdFN496CqEQRIKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bUc4kV/btrj6cz2CEy/6gotNBSLdFN496CqEQRIKK/img.png&quot; data-alt=&quot;제일하단에 위와같이 넣습니다!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bUc4kV/btrj6cz2CEy/6gotNBSLdFN496CqEQRIKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbUc4kV%2Fbtrj6cz2CEy%2F6gotNBSLdFN496CqEQRIKK%2Fimg.png&quot; data-origin-width=&quot;630&quot; data-origin-height=&quot;241&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&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;span style=&quot;color: #ffffff; background-color: #333333;&quot;&gt;export&amp;nbsp;TERM=&quot;xterm-256color&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;빠져나온뒤 source ~/.bashrc 라고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 색상이 나오는데요 ~~~~~~~~ 하지만 접속시마다 source ~/.bashrc 를 해줘야 하니&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;pi@raspberrypi:~&amp;nbsp;$&amp;nbsp;nano&amp;nbsp;./.bash_profile&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;743&quot; data-origin-height=&quot;170&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbov3b/btrj6dZ1oUz/s3AgVMBjgeSJRVekZZlGvK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbov3b/btrj6dZ1oUz/s3AgVMBjgeSJRVekZZlGvK/img.png&quot; data-alt=&quot;위와같이 (두번째줄)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbov3b/btrj6dZ1oUz/s3AgVMBjgeSJRVekZZlGvK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbbov3b%2Fbtrj6dZ1oUz%2Fs3AgVMBjgeSJRVekZZlGvK%2Fimg.png&quot; data-origin-width=&quot;743&quot; data-origin-height=&quot;170&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이처럼셋팅 하시면 콘솔접속시 자동으로 색상이나옵니다. 아래와 같이요!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;630&quot; data-origin-height=&quot;721&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MCCVI/btrj3inKxYS/PUoOo9YKcXm4TrvMKu61g0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MCCVI/btrj3inKxYS/PUoOo9YKcXm4TrvMKu61g0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MCCVI/btrj3inKxYS/PUoOo9YKcXm4TrvMKu61g0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMCCVI%2Fbtrj3inKxYS%2FPUoOo9YKcXm4TrvMKu61g0%2Fimg.png&quot; data-origin-width=&quot;630&quot; data-origin-height=&quot;721&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PS. alias ll=&quot;ls -al&quot; 은 ll을 동작하도록 해주는 부분입니다.&lt;/p&gt;</description>
      <category>개발 이야기/리눅스</category>
      <category>putty</category>
      <category>ssh</category>
      <category>나오게</category>
      <category>라즈베리파이</category>
      <category>색상</category>
      <category>안나옴</category>
      <category>콘솔</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/133</guid>
      <comments>https://infotake.tistory.com/133#entry133comment</comments>
      <pubDate>Sat, 6 Nov 2021 08:55:51 +0900</pubDate>
    </item>
    <item>
      <title>[라즈베리파이] 내장 무선랜(Wifi) 사용, 인터넷 안됨</title>
      <link>https://infotake.tistory.com/132</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ffffff; background-color: #000000;&quot;&gt;기종 : 라즈베리파이 3B+ (1.2)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;라즈베리파이 OS를 설치하니 무선랜이 안됩니다. (활성화는 되는데 스캔이 안되는 데요 아래와 같이 설정 하였습니다)&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;span style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;pi@raspberrypi:~&amp;nbsp;$&amp;nbsp;sudo&amp;nbsp;nano&amp;nbsp;/etc/wpa_supplicant/wpa_supplicant.conf&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;661&quot; data-origin-height=&quot;418&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YGIb9/btrj6cUlrwl/cj31iFjfs49x9NSz3YOS0k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YGIb9/btrj6cUlrwl/cj31iFjfs49x9NSz3YOS0k/img.png&quot; data-alt=&quot;핵심은 country=GB 부분입니다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YGIb9/btrj6cUlrwl/cj31iFjfs49x9NSz3YOS0k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYGIb9%2Fbtrj6cUlrwl%2Fcj31iFjfs49x9NSz3YOS0k%2Fimg.png&quot; data-origin-width=&quot;661&quot; data-origin-height=&quot;418&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;figcaption&gt;핵심은 country=GB 부분입니다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와같이 하면됩니다만 ~~~~~~~~~~~~~~~~~~~~~ 저같은경우 이것 저것 만지다보니 다른부분에 이상정보가 들어가서 아래와 같이 깨끗하게 클린 해주었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ffffff; background-color: #000000;&quot;&gt;pi@raspberrypi:~&amp;nbsp;$&amp;nbsp;sudo&amp;nbsp;nano&amp;nbsp;/etc/dhcpcd.conf&lt;/span&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 alignLeft&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1040&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnWMb4/btrj12lQMJ7/mwjwSWehQpT05G58GWAs8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnWMb4/btrj12lQMJ7/mwjwSWehQpT05G58GWAs8k/img.png&quot; data-alt=&quot;아무것도 설정이 되지 않은 원형인데요!!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnWMb4/btrj12lQMJ7/mwjwSWehQpT05G58GWAs8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnWMb4%2Fbtrj12lQMJ7%2FmwjwSWehQpT05G58GWAs8k%2Fimg.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1040&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&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;Wifi 아이콘을 클릭해서 이것저것 적다보면 기본 사용인터페이스가 interface eth0 또는 SSID 등이 들어가 있는데&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;무선랜카드를 꽂아 쓴느것보다 훨신 속도가 잘나옵니다 (역시 USB2.0의 한계가)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음 접하시는 분들은 라즈베리파이 4b 이상을 사용 하시길 권장드립니다,.&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;PS. local 국가기본을 영어권으로 할 필요 없습니다 ~&lt;/p&gt;</description>
      <category>개발 이야기/리눅스</category>
      <category>wifi</category>
      <category>라즈베리파이</category>
      <category>안됨</category>
      <category>와이파이</category>
      <category>인터넷</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/132</guid>
      <comments>https://infotake.tistory.com/132#entry132comment</comments>
      <pubDate>Sat, 6 Nov 2021 08:47:47 +0900</pubDate>
    </item>
    <item>
      <title>리눅스, 디렉토리 구조로 보기 - mc</title>
      <link>https://infotake.tistory.com/130</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;리눅스를 사용하면서 많은파일등의 문제로 문제점이 많지요? 글쓴이는 초기 셋팅때나마 편하고자 mc 라는 프로그램을 사용 합니다. 설치 방법 부터 간단한 화면 까지 소개 해볼까 합니다.!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[1. 설치]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$&amp;nbsp;sudo&amp;nbsp;apt&amp;nbsp;install&amp;nbsp;mc&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;774&quot; data-origin-height=&quot;460&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFFtq0/btreVyQdAJU/kjf7uGXgWo7H3m4alP78IK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFFtq0/btreVyQdAJU/kjf7uGXgWo7H3m4alP78IK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFFtq0/btreVyQdAJU/kjf7uGXgWo7H3m4alP78IK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFFtq0%2FbtreVyQdAJU%2Fkjf7uGXgWo7H3m4alP78IK%2Fimg.png&quot; data-origin-width=&quot;774&quot; data-origin-height=&quot;460&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[2. 명령어]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$ mc&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;774&quot; data-origin-height=&quot;460&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SBq1w/btreY32LE6V/W6A86Wf7YPoqJSduWqnrrK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SBq1w/btreY32LE6V/W6A86Wf7YPoqJSduWqnrrK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SBq1w/btreY32LE6V/W6A86Wf7YPoqJSduWqnrrK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSBq1w%2FbtreY32LE6V%2FW6A86Wf7YPoqJSduWqnrrK%2Fimg.png&quot; data-origin-width=&quot;774&quot; data-origin-height=&quot;460&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;옛날 1990년대에 사용하던 mdir 이 생각나는군요!!&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음에는 LinM 이라는 또다른 디렉토리 구조 관리 프로그램을 소개 해보겠습니다. ~~ Bye Bye&lt;/p&gt;</description>
      <category>개발 이야기/리눅스</category>
      <category>MC</category>
      <category>구조</category>
      <category>디렉토리</category>
      <category>리눅스</category>
      <category>쉽게</category>
      <category>편하게</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/130</guid>
      <comments>https://infotake.tistory.com/130#entry130comment</comments>
      <pubDate>Mon, 13 Sep 2021 21:47:08 +0900</pubDate>
    </item>
    <item>
      <title>i3-2100, 씨네벤치(Cinebench R23), CPU Mark 10.1</title>
      <link>https://infotake.tistory.com/129</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;643&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cL6cLy/btrb8f0hLiQ/kabe8KwNSwiY6vGd6PVnq0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cL6cLy/btrb8f0hLiQ/kabe8KwNSwiY6vGd6PVnq0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cL6cLy/btrb8f0hLiQ/kabe8KwNSwiY6vGd6PVnq0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcL6cLy%2Fbtrb8f0hLiQ%2Fkabe8KwNSwiY6vGd6PVnq0%2Fimg.png&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;643&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;644&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IV6Sf/btrcechaz0h/xwnjrsRRUnjHIg5T9opYLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IV6Sf/btrcechaz0h/xwnjrsRRUnjHIg5T9opYLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IV6Sf/btrcechaz0h/xwnjrsRRUnjHIg5T9opYLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIV6Sf%2Fbtrcechaz0h%2FxwnjrsRRUnjHIg5T9opYLK%2Fimg.png&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;644&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;644&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rvaQz/btrb7tKVlqJ/hCiFsfMdpTpLK4shEEDsW0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rvaQz/btrb7tKVlqJ/hCiFsfMdpTpLK4shEEDsW0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rvaQz/btrb7tKVlqJ/hCiFsfMdpTpLK4shEEDsW0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrvaQz%2Fbtrb7tKVlqJ%2FhCiFsfMdpTpLK4shEEDsW0%2Fimg.png&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;644&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;375&quot; data-origin-height=&quot;721&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQCyOv/btrcea4NtSH/ruc2pJ6MjyJcGgC8XspABK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQCyOv/btrcea4NtSH/ruc2pJ6MjyJcGgC8XspABK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQCyOv/btrcea4NtSH/ruc2pJ6MjyJcGgC8XspABK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQCyOv%2Fbtrcea4NtSH%2Fruc2pJ6MjyJcGgC8XspABK%2Fimg.png&quot; data-origin-width=&quot;375&quot; data-origin-height=&quot;721&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>25도</category>
      <category>8월</category>
      <category>CINEBENCH</category>
      <category>CPU MARK</category>
      <category>i3-2100</category>
      <category>씨네벤치</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/129</guid>
      <comments>https://infotake.tistory.com/129#entry129comment</comments>
      <pubDate>Sun, 15 Aug 2021 19:34:01 +0900</pubDate>
    </item>
    <item>
      <title>[MySQL 8.X] 데이터베이스 생성, 삭제, 조회</title>
      <link>https://infotake.tistory.com/128</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;[데이터베이스 조회]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;show&amp;nbsp;databases&amp;nbsp;;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[데이터베이스 생성/삭제]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;create database 데이터베이스명;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;drop databse 데이터베이스명;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[데이터베이스 선택/현재 조회]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;use 데이터베이스;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;select&amp;nbsp;database();&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[관련오류]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ERROR 1410 (42000): You are not allowed to create a user with GRANT : 접속은 가능해도 해당 객체에 접근할 권하니 없어서 발생 &lt;a href=&quot;https://infotake.tistory.com/127&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;u&gt;계정생성/삭제&lt;/u&gt;&lt;/a&gt; 내용에서 GRANT 부분의 흐름을 파악 하고 적용&lt;/p&gt;</description>
      <category>개발 이야기/데이터베이스</category>
      <category>MySQL 8</category>
      <category>데이터베이스</category>
      <category>삭제</category>
      <category>생성</category>
      <category>조회</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/128</guid>
      <comments>https://infotake.tistory.com/128#entry128comment</comments>
      <pubDate>Mon, 12 Jul 2021 23:10:36 +0900</pubDate>
    </item>
    <item>
      <title>[MySQL 8.X] 계정 생성/삭제 외부 접속 허용</title>
      <link>https://infotake.tistory.com/127</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;우선 계정생성시에 권한 및 문법 오류가 발생하는 경우 &lt;a href=&quot;https://infotake.tistory.com/126&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;u&gt;패스워드 정책 및 설정&lt;/u&gt;&lt;/a&gt;을 참조해서 설정을 진행 하여야 함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[계정조회]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;use mysql;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;select user, host from user;&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 alignLeft&quot; data-origin-width=&quot;264&quot; data-origin-height=&quot;193&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rKEIG/btq9s2ItTKu/bK0gkPnBFqFYuBGIz9SRC0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rKEIG/btq9s2ItTKu/bK0gkPnBFqFYuBGIz9SRC0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rKEIG/btq9s2ItTKu/bK0gkPnBFqFYuBGIz9SRC0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrKEIG%2Fbtq9s2ItTKu%2FbK0gkPnBFqFYuBGIz9SRC0%2Fimg.png&quot; data-origin-width=&quot;264&quot; data-origin-height=&quot;193&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&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;- 특정 IP 대역 기준 생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;create user '계정명'@'192.168.%' identified by '패스워드';&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;- 모든 IP 대역 기준 생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;create user '계정명'@'%' identified by '패스워드';&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[계정삭제]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;drop user '계정명'@'192.168.%';&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;drop user '계정명'@'%';&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[데이터베이스접속권한부여]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';&amp;nbsp; &amp;lt;- 대역 192.168.% 변경가능&lt;br /&gt;GRANT GRANT OPTION ON *.* TO 'root'@'localhost'; &amp;lt;- 대역 192.168.% 변경가능&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;428&quot; data-origin-height=&quot;232&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lJh8T/btq9s2Iufyr/ltqR5ybD4lC5COTHK0xeB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lJh8T/btq9s2Iufyr/ltqR5ybD4lC5COTHK0xeB0/img.png&quot; data-alt=&quot;접속권한 이외 접근권한도 주어야 실제 데이터 베이스 접근이 가능하다!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lJh8T/btq9s2Iufyr/ltqR5ybD4lC5COTHK0xeB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlJh8T%2Fbtq9s2Iufyr%2FltqR5ybD4lC5COTHK0xeB0%2Fimg.png&quot; data-origin-width=&quot;428&quot; data-origin-height=&quot;232&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&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;FLUSH PRIVILEGES;&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Host '아이피' is not allowed to connect to this MySQL server : 해당 IP 대영에대한 접속이 허용 되지 않음(계정속성)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ERROR 1819 (HY000): Your password does not satisfy the current policy requirements : 패스워드 정책오류&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Public Key Retrieval is not allowed : 접속시 옵션 추가(필수사항 8.X 이상 버전)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;742&quot; data-origin-height=&quot;575&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lBuhy/btq9nhlW99q/1Ns9jkoK0ogj1MDKhqJztK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lBuhy/btq9nhlW99q/1Ns9jkoK0ogj1MDKhqJztK/img.png&quot; data-alt=&quot;Public Key Retrieval is not allowed 대응&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lBuhy/btq9nhlW99q/1Ns9jkoK0ogj1MDKhqJztK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlBuhy%2Fbtq9nhlW99q%2F1Ns9jkoK0ogj1MDKhqJztK%2Fimg.png&quot; data-origin-width=&quot;742&quot; data-origin-height=&quot;575&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;figcaption&gt;Public Key Retrieval is not allowed 대응&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;413&quot; data-origin-height=&quot;217&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btOgMP/btq9viw6jUF/C7G24KDii1O64KPqkH2ayK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btOgMP/btq9viw6jUF/C7G24KDii1O64KPqkH2ayK/img.png&quot; data-alt=&quot;접속이 성공 하였다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btOgMP/btq9viw6jUF/C7G24KDii1O64KPqkH2ayK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtOgMP%2Fbtq9viw6jUF%2FC7G24KDii1O64KPqkH2ayK%2Fimg.png&quot; data-origin-width=&quot;413&quot; data-origin-height=&quot;217&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&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;&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;예) create&amp;nbsp;user&amp;nbsp;'root'@'192.168.%'&amp;nbsp;identified&amp;nbsp;by&amp;nbsp;'패스워드';&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예) create user 'root'@'192.168.0.아이피' identified by '패스워드';&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[패스워드변경]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;alter user 'mediawiki'@'192.168.%' identified by '패스워드';&lt;/p&gt;</description>
      <category>개발 이야기/데이터베이스</category>
      <category>MySQL 8</category>
      <category>계정</category>
      <category>계정생성</category>
      <category>데이터베이스</category>
      <category>삭제</category>
      <category>생성</category>
      <category>외부접속</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/127</guid>
      <comments>https://infotake.tistory.com/127#entry127comment</comments>
      <pubDate>Mon, 12 Jul 2021 22:39:37 +0900</pubDate>
    </item>
    <item>
      <title>[MySQL 8.X] 패스워드 정책 및 설정</title>
      <link>https://infotake.tistory.com/126</link>
      <description>&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SHOW VARIABLES LIKE 'validate_password%';&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;397&quot; data-origin-height=&quot;191&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/n1gHj/btq9tJu5e7x/osXdl1SlaCovyrHEBH2kX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/n1gHj/btq9tJu5e7x/osXdl1SlaCovyrHEBH2kX1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/n1gHj/btq9tJu5e7x/osXdl1SlaCovyrHEBH2kX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fn1gHj%2Fbtq9tJu5e7x%2FosXdl1SlaCovyrHEBH2kX1%2Fimg.png&quot; data-origin-width=&quot;397&quot; data-origin-height=&quot;191&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;- validate_password.check_user_name : 패스워드내 이름이 들어 갔는지 여부&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;- validate_password.length : 패스워드 최소 길이&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;- validate_password.policy : 패스워드 기본 정책&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&amp;gt; LOW&lt;br /&gt;&amp;nbsp; &amp;nbsp; 정책은 암호 길이만 테스트합니다. 암호는 길이가 8자 이상이어야 합니다. 이 길이를 변경하려면&lt;br /&gt;&amp;nbsp; &amp;nbsp; validate_password.길이를수정합니다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&amp;gt; MEDIUM&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp;정책에는 암호에 최소 1개의 숫자 문자, 1개의 소문자 문자, 1개의 대문자 문자 및 1개의&lt;br /&gt;&amp;nbsp; &amp;nbsp;특수 문자가 포함되어야 하는 조건을 추가합니다.&lt;br /&gt;&amp;nbsp; &amp;nbsp;이러한 값을 변경하려면 validate_password.number_count, validate_password.mixed_case_count,&lt;br /&gt;&amp;nbsp; &amp;nbsp;validate_password.special_char_count를 수정합니다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&amp;gt; STRONG&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; 정책은 길이 4 이상의 암호 하위 문자열이 지정된 경우 사전 파일의 단어와 일치해서는 안되는 조건을 추가합니다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; 사전 파일을 지정하려면 validate_password.dictionary_file을 수정합니다. (리눅스계정)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정책원문 : &lt;a href=&quot;https://dev.mysql.com/doc/refman/8.0/en/validate-password.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://dev.mysql.com/doc/refman/8.0/en/validate-password.html&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래와같이 설정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;set&amp;nbsp;global&amp;nbsp;validate_password.policy=LOW;&lt;/p&gt;</description>
      <category>개발 이야기/데이터베이스</category>
      <category>MySQL 8</category>
      <category>계정</category>
      <category>데이터베이스</category>
      <category>삭제</category>
      <category>생성</category>
      <category>정책</category>
      <category>패스워드</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/126</guid>
      <comments>https://infotake.tistory.com/126#entry126comment</comments>
      <pubDate>Mon, 12 Jul 2021 22:18:26 +0900</pubDate>
    </item>
    <item>
      <title>YouTube API v3 활용 (Java) 검색 및 데이터 수집 예제</title>
      <link>https://infotake.tistory.com/125</link>
      <description>&lt;h5 style=&quot;border-left: 8px solid #868686; padding-left: 3px; color: #008299; line-height: 1.5; margin-bottom: 5px;&quot;&gt;예제&lt;/h5&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요 촌놈입니다. Youtube를 가져오는 예제를 한번 알아 봤습니다. 버전은 V3 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;절차&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;구글로그인&lt;/li&gt;
&lt;li&gt;구글콘솔 &amp;gt; API &amp;gt; 생성 API 복사&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.google.com/youtube/v3/docs/search/list?hl=ko&quot;&gt;https://developers.google.com/youtube/v3/docs/search/list?hl=ko&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;을 통하여 자신이 원하는 형태의 API 구성&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;prettyprint lang-java xml&quot;&gt;&lt;code&gt;String googleAPIKey2 = &quot;API키&quot;;
java.util.ArrayList&amp;lt;java.util.Map&amp;lt;String, String&amp;gt;&amp;gt; temp2Array = temp1.getYouTubeSearch(&quot;https://www.googleapis.com/youtube/v3/search?order=date&amp;amp;part=snippet&amp;amp;type=video&amp;amp;channelId=채널값&amp;amp;maxResults=5&amp;amp;key=&quot; + googleAPIKey2);
for (Map&amp;lt;String, String&amp;gt; map : temp2Array) {
	System.out.println(map.get(&quot;title&quot;));
}

public java.util.ArrayList&amp;lt;java.util.Map&amp;lt;String, String&amp;gt;&amp;gt; getYouTubeSearch(String strUrl) {
	java.util.ArrayList&amp;lt;java.util.Map&amp;lt;String, String&amp;gt;&amp;gt; uRtnArray = new java.util.ArrayList&amp;lt;java.util.Map&amp;lt;String, String&amp;gt;&amp;gt;();
	
	try {
		java.net.URL url = new java.net.URL(strUrl);
		java.net.HttpURLConnection conn = (java.net.HttpURLConnection) url.openConnection();
		conn.setDoOutput(true);
		conn.setRequestMethod(&quot;GET&quot;);
		conn.setRequestProperty(&quot;Content-Type&quot;, &quot;application/json&quot;);
		conn.setRequestProperty(&quot;Accept-Charset&quot;, &quot;UTF-8&quot;);
		conn.setConnectTimeout(3000);
		conn.setReadTimeout(3000);

		String inputLine = &quot;&quot;;
		StringBuffer outResult = new StringBuffer();
		java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(conn.getInputStream(), &quot;UTF-8&quot;));
		while ((inputLine = in.readLine()) != null)
			outResult.append(inputLine);
		conn.disconnect();

		org.json.JSONObject youtubeJSON = new org.json.JSONObject(outResult.toString());
		if (youtubeJSON.getJSONArray(&quot;items&quot;).length() == 0)
			return uRtnArray;
		
		org.json.JSONArray items = youtubeJSON.getJSONArray(&quot;items&quot;);
		for (Object item : items) {
			org.json.JSONObject itemDtl = (org.json.JSONObject)item;
			
			java.util.Map&amp;lt;String, String&amp;gt; uRtn = new java.util.HashMap&amp;lt;String, String&amp;gt;();
			uRtn.put(&quot;title&quot;, itemDtl.getJSONObject(&quot;snippet&quot;).getString(&quot;title&quot;));
			uRtn.put(&quot;videoId&quot;, itemDtl.getJSONObject(&quot;id&quot;).getString(&quot;videoId&quot;));
			uRtn.put(&quot;thumbnails&quot;, itemDtl.getJSONObject(&quot;snippet&quot;).getJSONObject(&quot;thumbnails&quot;).getJSONObject(&quot;high&quot;).getString(&quot;url&quot;));
			uRtn.put(&quot;publishedAt&quot;, itemDtl.getJSONObject(&quot;snippet&quot;).getString(&quot;publishedAt&quot;).substring(0, 10).replaceAll(&quot;[-]&quot;, &quot;.&quot;));
			uRtnArray.add(uRtn);
		}
	} catch (Exception e) {
		e.printStackTrace();
	}
	
	return uRtnArray;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;연동을 해보니 0.5초 정도가 소요 되는 것 같네요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;감사합니다.&lt;/p&gt;</description>
      <category>개발 이야기/IT</category>
      <category>API</category>
      <category>v3</category>
      <category>Youtube</category>
      <category>유튜브</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/125</guid>
      <comments>https://infotake.tistory.com/125#entry125comment</comments>
      <pubDate>Tue, 16 Feb 2021 23:07:15 +0900</pubDate>
    </item>
    <item>
      <title>씨네벤치(Cinebench) R23 i7-2600K</title>
      <link>https://infotake.tistory.com/124</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/71tf0/btqW1txy5Uk/4PXlC2uTW07tNH4IpojY91/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/71tf0/btqW1txy5Uk/4PXlC2uTW07tNH4IpojY91/img.png&quot; data-alt=&quot;i7-2600K&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/71tf0/btqW1txy5Uk/4PXlC2uTW07tNH4IpojY91/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F71tf0%2FbtqW1txy5Uk%2F4PXlC2uTW07tNH4IpojY91%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;figcaption&gt;i7-2600K&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;10년이나 된 CPU 인데 아직도 준수하다!!&lt;/p&gt;
&lt;p&gt;멀티 : 3206 (i5-760 1700대&lt;/p&gt;
&lt;p&gt;싱글 : 715 (i5-760 320대)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1613026274242&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;인텔&amp;reg; 코어&amp;trade; i7-2600K 프로세서(8M 캐시, 최대 3.80GHz) 제품 사양&quot; data-og-description=&quot;인텔&amp;reg; 코어&amp;trade; i7-2600K 프로세서(8M 캐시, 최대 3.80GHz) 사양, 기능, 가격, 호환성, 디자인 문서, 주문 코드, 사양 코드 등을 포함하는 빠른 참조 안내서.&quot; data-og-host=&quot;ark.intel.com&quot; data-og-source-url=&quot;https://ark.intel.com/content/www/kr/ko/ark/products/52214/intel-core-i7-2600k-processor-8m-cache-up-to-3-80-ghz.html&quot; data-og-url=&quot;https://ark.intel.com/content/www/kr/ko/ark/products/52214/intel-core-i7-2600k-processor-8m-cache-up-to-3-80-ghz.html&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://ark.intel.com/content/www/kr/ko/ark/products/52214/intel-core-i7-2600k-processor-8m-cache-up-to-3-80-ghz.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://ark.intel.com/content/www/kr/ko/ark/products/52214/intel-core-i7-2600k-processor-8m-cache-up-to-3-80-ghz.html&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;&gt;인텔&amp;reg; 코어&amp;trade; i7-2600K 프로세서(8M 캐시, 최대 3.80GHz) 제품 사양&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;인텔&amp;reg; 코어&amp;trade; i7-2600K 프로세서(8M 캐시, 최대 3.80GHz) 사양, 기능, 가격, 호환성, 디자인 문서, 주문 코드, 사양 코드 등을 포함하는 빠른 참조 안내서.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;ark.intel.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;최근 i5-7500을 보았는데.... 2세대가 4세대 보다 좋다니.... 쩝쩝... 물론 아직 펜티엄 G6400보다도 좋다!&lt;/p&gt;</description>
      <category>개발 이야기/IT</category>
      <category>CINEBENCH</category>
      <category>i7-2600k</category>
      <category>R23</category>
      <category>씨네벤치</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/124</guid>
      <comments>https://infotake.tistory.com/124#entry124comment</comments>
      <pubDate>Thu, 11 Feb 2021 15:53:01 +0900</pubDate>
    </item>
    <item>
      <title>개발자가 자주사용하는 크롬, 엣지, 웨일(크로미움) 단축키</title>
      <link>https://infotake.tistory.com/123</link>
      <description>&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;안녕하세요 촌놈 입니다. 개발자 분들 Back - End 가 진정한 개발인듯하지만 웹 개발을 하시는 분들은 Front - End를 많이들 하시지요? 손목도 아파오고 단축키를 알아 두면 조금더 개발자 수명을 연장 할 수 있지 않을 까요?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;table class=&quot;txc-table&quot; width=&quot;464&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; style=&quot;border:none;border-collapse:collapse;;font-family:&quot; 맑은=&quot;&quot; 고딕&quot;,=&quot;&quot; sans-serif;font-size:13px&quot;=&quot;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;width: 232px; height: 24px; border-width: 1px; border-style: solid; border-color: rgb(204, 204, 204); background-color: rgb(234, 234, 234);&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;background-color: rgb(132, 132, 132); color: rgb(255, 255, 255);&quot;&gt;&lt;/span&gt;기능&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 232px; height: 24px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204); border-top: 1px solid rgb(204, 204, 204); background-color: rgb(234, 234, 234);&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;단축키&amp;nbsp;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width: 231px; height: 48px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204); border-left: 1px solid rgb(204, 204, 204);&quot; colspan=&quot;1&quot; rowspan=&quot;2&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;개발자 도구&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width:232;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;;&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;F12&amp;nbsp;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width:232;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;;&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Ctrl + Shift + I&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width: 231px; height: 24px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204); border-left: 1px solid rgb(204, 204, 204);&quot; colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;소스 보기&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;width:232;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;;&quot; rowspan=&quot;1&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Ctrl + U&amp;nbsp;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width:232;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-left:1px solid #ccc;;&quot; rowspan=&quot;1&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;다음 탭 이동&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;width:232;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;;&quot; rowspan=&quot;1&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Ctrl + Tab&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width:232;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-left:1px solid #ccc;;&quot; rowspan=&quot;1&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;이전 탭 이동&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;width:232;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;;&quot; rowspan=&quot;1&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Ctrl + Shift + Tab&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width:232;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-left:1px solid #ccc;;&quot; rowspan=&quot;1&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;주소줄 커서 이동&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;width:232;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;;&quot; rowspan=&quot;1&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;F6&amp;nbsp;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width: 231px; height: 48px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204); border-left: 1px solid rgb(204, 204, 204);&quot; rowspan=&quot;2&quot; colspan=&quot;1&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;화면 배율 조정&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;width:232;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;;&quot; rowspan=&quot;1&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Ctrl + 마우스 휠&amp;nbsp;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width:232;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;;&quot; rowspan=&quot;1&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Ctrl + 플러스 or 마이너스&amp;nbsp;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width: 231px; height: 24px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204); border-left: 1px solid rgb(204, 204, 204);&quot; rowspan=&quot;1&quot; colspan=&quot;1&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;새 탭 열기&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;width:232;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;;&quot; rowspan=&quot;1&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Ctrl + T&amp;nbsp;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width: 231px; height: 24px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204); border-left: 1px solid rgb(204, 204, 204);&quot; rowspan=&quot;1&quot; colspan=&quot;1&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;현재 탭 닫기&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;width:232;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;;&quot; rowspan=&quot;1&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Ctrl + W&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width: 231px; height: 23px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204); border-left: 1px solid rgb(204, 204, 204);&quot; rowspan=&quot;1&quot; colspan=&quot;1&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;탭 이동 1 ~ 9&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;width: 232px; height: 23px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204);&quot; rowspan=&quot;1&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Ctrl + 1 ~ 9&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width: 231px; height: 23px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204); border-left: 1px solid rgb(204, 204, 204);&quot; rowspan=&quot;1&quot; colspan=&quot;1&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;이전 다음&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;width: 232px; height: 23px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204);&quot; rowspan=&quot;1&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Alt + 화살표&amp;lt;&amp;gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width: 231px; height: 46px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204); border-left: 1px solid rgb(204, 204, 204);&quot; rowspan=&quot;2&quot; colspan=&quot;1&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;새로 고침&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;width: 232px; height: 23px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204);&quot; rowspan=&quot;1&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;F5&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width: 232px; height: 23px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204);&quot; rowspan=&quot;1&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;Ctrl + R&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그외 소소한 단축키도 많겠지만 자주 사용 하는 것 정도만 정리 해봅니다.&lt;/p&gt;</description>
      <category>개발 이야기/기타</category>
      <category>개발자</category>
      <category>단축키</category>
      <category>엣지</category>
      <category>웨일</category>
      <category>크롬</category>
      <category>터널증후군</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/123</guid>
      <comments>https://infotake.tistory.com/123#entry123comment</comments>
      <pubDate>Fri, 29 Jan 2021 22:53:22 +0900</pubDate>
    </item>
    <item>
      <title>가성비케이스, 잘만 S3 풀 아크릴 케이스 체험기</title>
      <link>https://infotake.tistory.com/122</link>
      <description>&lt;p id=&quot;SE-e28df6fe-a79d-42e9-a1e0-2583bb63eab8&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;잘만드는 회사 잘만사의 가성비케이스 S3 제품의 체험기를 작성해보고자 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-73d106cb-fc04-4e34-8ab4-e10c9d59568b&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;우선 제기준에서 보는 주요 스펙을 한번 알아 보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-37cf325c-0ffa-4a0c-b7f4-e1a549e99d53&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;​&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-36dd0787-bc91-4bb2-a76b-617b60617d6d&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;&lt;b&gt;주요스펙&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-bc08c7d7-04e1-43a1-b4b8-8f0177ff063a&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;등급 : 미들타워(표준 ATX 지원, 아담한 높으 451mm로 적당하다고 판단)&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-4fb928e0-5eff-4ea6-8b2b-e12b58bc7946&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;쿨링팬: 전면2개, 후면1개, 상단(개인 옵션), 저는 전면 쿨링팬을 선호합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-a962fb14-eb64-4a0f-9aa4-8e3feca8c09c&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;GPU : 원하는 모든 그래픽카드는 가능 할듯.... (앞열에 별도 분리된 칸이 없기때문이죠)&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-543667e0-f312-449f-b496-a182182a053f&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;​&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-564c7690-a084-4f7c-b296-7756393a1dbe&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;&lt;b&gt;테스트 환경&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-e5af0832-ffa8-437d-86ae-739990a1be03&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;최신 사양이 아니라도 너그러이 봐주시길 ^^;;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-6132343f-a2bf-484f-98a4-f4585a1c9ebd&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;테스트환경을 공유하는 이유는 해당환경에서의 구동 온도를 공유 하기 위함 입니다!&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-65510b79-1561-422b-957d-dbc5d38cd331&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;CPU : i7-4790K&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-69c30ca8-6259-47e3-bc0a-f68579ba95e6&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;M/B : 막시무스 7 레인저(ATX)&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-7277a52a-3281-4ce7-b904-b1f35a975710&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;​&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-51f41ee1-9da5-4d9e-8ca2-6eeae497fe3f&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;&lt;b&gt;제품배송 언박싱&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span&gt;배송시에 늘 문제들 되는 제품의 배송 상태 박스 개봉기입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JwczD/btqHlVdkAZX/q0Xc0nDhme0M6mvTJI1SxK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JwczD/btqHlVdkAZX/q0Xc0nDhme0M6mvTJI1SxK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JwczD/btqHlVdkAZX/q0Xc0nDhme0M6mvTJI1SxK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJwczD%2FbtqHlVdkAZX%2Fq0Xc0nDhme0M6mvTJI1SxK%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-1c8bde74-1044-4e20-94c0-4f88d2e3ab3b&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;큰 데미지 없이 안전 배송 하였네요(체험인데 쓸대 파손이 오면 곤란하죠!!)&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-2255f744-e922-40e6-9cea-8810ac62e4f6&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;​&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GhtAg/btqHuiE3iRC/rpev19hd6RYzKMJkLzdB5K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GhtAg/btqHuiE3iRC/rpev19hd6RYzKMJkLzdB5K/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GhtAg/btqHuiE3iRC/rpev19hd6RYzKMJkLzdB5K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGhtAg%2FbtqHuiE3iRC%2Frpev19hd6RYzKMJkLzdB5K%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-f864827d-1044-437a-aaa4-62e065314a70&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;스티로폼으로 외형이 감사져서 안전하게 수령&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-a4807394-ddff-4788-af95-bdfc7d70b268&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;​&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-bb0b503f-03fd-4d46-b5e3-a643ee377bd3&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;&lt;b&gt;구조 알아보기!&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-03a2b062-cd5c-4b7c-9432-42a3db58d8d3&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;측면/정면 구석구석 한번 살펴 보겠습니다 이미지가 많다고 야단치치마세욤 ㅎㅎ&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dBt1Ex/btqHsblVwlB/ownBSdUxDjYHf4MzmKfgO0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dBt1Ex/btqHsblVwlB/ownBSdUxDjYHf4MzmKfgO0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dBt1Ex/btqHsblVwlB/ownBSdUxDjYHf4MzmKfgO0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdBt1Ex%2FbtqHsblVwlB%2FownBSdUxDjYHf4MzmKfgO0%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-4bc28b68-f697-4e53-9f35-ecca993ce52b&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;가성비케이스 잘만사의 S3 케이스 측면입니다. 풀아크릴 재질로 은은한 색상이 살짝 들어가 있네요&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;459&quot; data-height=&quot;816&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SCh4t/btqHxbrVLB5/THPmrtdeoKoh2gQxs7V0HK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SCh4t/btqHxbrVLB5/THPmrtdeoKoh2gQxs7V0HK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SCh4t/btqHxbrVLB5/THPmrtdeoKoh2gQxs7V0HK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSCh4t%2FbtqHxbrVLB5%2FTHPmrtdeoKoh2gQxs7V0HK%2Fimg.jpg&quot; data-width=&quot;459&quot; data-height=&quot;816&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-e7827a5a-0490-4097-bfc9-989d92118987&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;정면샷 : S3 케이스에서 정면은 깔끔하다고 볼 수 있었습니다. 전면이 메시가 아니라 쿨링이 걱정되었지만 통풍에는 실제로 문제가 없었네요!&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-7be865d1-80cd-47d8-9a57-0c1e65b30c69&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;이거슨~~~ 방패?&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-e884e731-d037-489e-a41c-0446ad17c6cc&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;​&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MCFdJ/btqHop6vQ73/FYyvsHG90oC42PFqvGkCD0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MCFdJ/btqHop6vQ73/FYyvsHG90oC42PFqvGkCD0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MCFdJ/btqHop6vQ73/FYyvsHG90oC42PFqvGkCD0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMCFdJ%2FbtqHop6vQ73%2FFYyvsHG90oC42PFqvGkCD0%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-6757b858-d675-49a6-8e28-e9368513dbd2&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;측면을 살짝 대각선으로 봤습니다. 곳곳에 각을 살포시 포인트로 넣어서 저렴해 보이지 않습니다!&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-1811532d-af66-4fea-a74c-8c9e581d7425&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;​&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1hwyf/btqHoXhrAWm/dyvhgiDvLOYilptHseDtbk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1hwyf/btqHoXhrAWm/dyvhgiDvLOYilptHseDtbk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1hwyf/btqHoXhrAWm/dyvhgiDvLOYilptHseDtbk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1hwyf%2FbtqHoXhrAWm%2FdyvhgiDvLOYilptHseDtbk%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-b6aacb6c-0428-4be0-ae97-021bf2594a28&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;측면샷 : 반대쪽 선정리 공간을 위한 돌출 부가 없어서 조금더 작아 보여요 ~&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cAjHQT/btqHoWv8t5L/jM1GvT4G4LMETqExd9rRXK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cAjHQT/btqHoWv8t5L/jM1GvT4G4LMETqExd9rRXK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cAjHQT/btqHoWv8t5L/jM1GvT4G4LMETqExd9rRXK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcAjHQT%2FbtqHoWv8t5L%2FjM1GvT4G4LMETqExd9rRXK%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-29495da1-4b14-498e-98d6-047982c75c9b&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;상단샷 : 먼지 방지 필터가 자석형으로 있고 전원, 리셋, LED, USB 3.0을 지원&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FSpQ1/btqHoWJAVcv/kO1kG6O0YaU9vZ07hPKwsK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FSpQ1/btqHoWJAVcv/kO1kG6O0YaU9vZ07hPKwsK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FSpQ1/btqHoWJAVcv/kO1kG6O0YaU9vZ07hPKwsK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFSpQ1%2FbtqHoWJAVcv%2FkO1kG6O0YaU9vZ07hPKwsK%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-df939ad8-4518-4d46-b61e-c2209339b7ec&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;먼지필터 제공으로 내려 앉는 먼지도 살포시 잡아줄것 같군요&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lvDqE/btqHlUMhLva/lF8dZjgpXxFG0RRyvrqK70/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lvDqE/btqHlUMhLva/lF8dZjgpXxFG0RRyvrqK70/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lvDqE/btqHlUMhLva/lF8dZjgpXxFG0RRyvrqK70/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlvDqE%2FbtqHlUMhLva%2FlF8dZjgpXxFG0RRyvrqK70%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-1ac698e2-2c48-4e82-82b8-6fdeb1aef06b&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;컨트롤러 샷 : 버튼이 투박하지 않고 나름 세련되 보였구요~&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/k8VqI/btqHuikOEVi/lOOyLSMdIrjabokCt09xKK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/k8VqI/btqHuikOEVi/lOOyLSMdIrjabokCt09xKK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/k8VqI/btqHuikOEVi/lOOyLSMdIrjabokCt09xKK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fk8VqI%2FbtqHuikOEVi%2FlOOyLSMdIrjabokCt09xKK%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-b8833ede-e0ac-42b6-a4fd-dab846f35ee3&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;하단부샷 : 진동방지를 위한 부분과 통풍부분입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cHSbKP/btqHwidEOdv/xN5CQo8isC5RP8v1FSDUek/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cHSbKP/btqHwidEOdv/xN5CQo8isC5RP8v1FSDUek/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cHSbKP/btqHwidEOdv/xN5CQo8isC5RP8v1FSDUek/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcHSbKP%2FbtqHwidEOdv%2FxN5CQo8isC5RP8v1FSDUek%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-54679d63-6f86-4062-b2f4-b6bed4f2780e&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;하단부 파워쪽 샷 : 먼지 필터를 탈착 할 수 있어 편해 보였습니다. 저가형인데 정말 있을 것은 다있네요!!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKIKU9/btqHxcdigRz/3jfohY6aH2kCPpz0wLt53K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKIKU9/btqHxcdigRz/3jfohY6aH2kCPpz0wLt53K/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKIKU9/btqHxcdigRz/3jfohY6aH2kCPpz0wLt53K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKIKU9%2FbtqHxcdigRz%2F3jfohY6aH2kCPpz0wLt53K%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-176361ff-8b08-44af-91ac-9e3845e0927d&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;후면부샷(상단) : 120mm는 든든하지요!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cVmCEY/btqHui6bs81/KTSjOtSUbCyl0EysXR1rkK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cVmCEY/btqHui6bs81/KTSjOtSUbCyl0EysXR1rkK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cVmCEY/btqHui6bs81/KTSjOtSUbCyl0EysXR1rkK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcVmCEY%2FbtqHui6bs81%2FKTSjOtSUbCyl0EysXR1rkK%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-756a064d-6812-4f83-99d5-660bac1d91ae&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;후면부샷(하단/파워) : 일반 ATX 파워를 장착할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bPOsWs/btqHjqkpf9G/OHyauZJobFIiCf3HuGAxuk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bPOsWs/btqHjqkpf9G/OHyauZJobFIiCf3HuGAxuk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bPOsWs/btqHjqkpf9G/OHyauZJobFIiCf3HuGAxuk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPOsWs%2FbtqHjqkpf9G%2FOHyauZJobFIiCf3HuGAxuk%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-37f45e02-f540-435b-a545-e32c677fd69c&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;풀아크릴 샷 : 앞/뒤로 모두 테이핑이 되어 있어서 배송중 긁힘이나 파손을 방지 하는 것으로 보입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-fa8041ea-0fd5-4684-94f8-d88ec9c9c8e6&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;이거 떼고 장착해야 열이 더 줄어들어요~&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bikOuy/btqHvJJabrq/iCcA0xAfFklKKldAuT2Vnk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bikOuy/btqHvJJabrq/iCcA0xAfFklKKldAuT2Vnk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bikOuy/btqHvJJabrq/iCcA0xAfFklKKldAuT2Vnk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbikOuy%2FbtqHvJJabrq%2FiCcA0xAfFklKKldAuT2Vnk%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-ac4b3d20-4060-49ed-998a-296711f99096&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;메뉴얼도 꼼꼼히 구성품/장착 설명을 제공 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnH16K/btqHjpy1D9S/xKi24jRsOCyLkWU9izzVTK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnH16K/btqHjpy1D9S/xKi24jRsOCyLkWU9izzVTK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnH16K/btqHjpy1D9S/xKi24jRsOCyLkWU9izzVTK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnH16K%2FbtqHjpy1D9S%2FxKi24jRsOCyLkWU9izzVTK%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-e8d3f54d-5d54-4ecd-b26e-94cab330b90c&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;내부 샷 : 파워위에도 추가 쿨링팬을 장착 할 수 있었고&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-4ff7402f-3cbb-4adc-83e3-86934fd49514&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;선정리 홀이 곳곳에 있어서 편리하게 장착 할 수 있겠군욤! 그리고 옆에 파워 부분이 보여 좀더 가시성이 좋아 보입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bSKCw4/btqHp66COQq/pVEcJ7RjjTkUrFcEx9Duz1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bSKCw4/btqHp66COQq/pVEcJ7RjjTkUrFcEx9Duz1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bSKCw4/btqHp66COQq/pVEcJ7RjjTkUrFcEx9Duz1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbSKCw4%2FbtqHp66COQq%2FpVEcJ7RjjTkUrFcEx9Duz1%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-b27b5113-377a-4db7-a85c-df3bc015207e&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;상단 컨트롤러와 앞쪽의 쿨링팬 부분(수냉쿨러가 장착 가능하도록 제공하는 공간 3열이 가능 해 보입니다/없기에 T.T 패스)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;348&quot; data-height=&quot;618&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dzaa28/btqHuid1ztQ/CJ0S8KpiMqK5Fy5KO0F72K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dzaa28/btqHuid1ztQ/CJ0S8KpiMqK5Fy5KO0F72K/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dzaa28/btqHuid1ztQ/CJ0S8KpiMqK5Fy5KO0F72K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdzaa28%2FbtqHuid1ztQ%2FCJ0S8KpiMqK5Fy5KO0F72K%2Fimg.jpg&quot; data-width=&quot;348&quot; data-height=&quot;618&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-318d512f-c25b-424a-9a51-4bfa667b2535&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;쿨링팬과 컨트롤러 : 풍량은 빵빵하니 전혀 걱정을 안해도 됩니다!!!!! 리얼!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c9W9eg/btqHq2W2Q2n/wtTVBnQRKNUsk1WOoiRFjK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c9W9eg/btqHq2W2Q2n/wtTVBnQRKNUsk1WOoiRFjK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c9W9eg/btqHq2W2Q2n/wtTVBnQRKNUsk1WOoiRFjK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc9W9eg%2FbtqHq2W2Q2n%2FwtTVBnQRKNUsk1WOoiRFjK%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-18b45800-9466-4cff-bd83-a0d978f8f2b7&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;USB 3.0 제공 그리고 컨트롤러선, USB 2.0, 사운드 케이블&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4RpLm/btqHop6vRau/hjfGlnG1K39hiElouJWSGK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4RpLm/btqHop6vRau/hjfGlnG1K39hiElouJWSGK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4RpLm/btqHop6vRau/hjfGlnG1K39hiElouJWSGK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4RpLm%2FbtqHop6vRau%2FhjfGlnG1K39hiElouJWSGK%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-04ea17da-6473-49e3-877a-724a6d4c7115&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;설치에 필요한 부품 및 추가제공(가이드 2개)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xzZGk/btqHxbSYqZl/Wk6XAwMklD9tx0oW0vjSpK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xzZGk/btqHxbSYqZl/Wk6XAwMklD9tx0oW0vjSpK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xzZGk/btqHxbSYqZl/Wk6XAwMklD9tx0oW0vjSpK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxzZGk%2FbtqHxbSYqZl%2FWk6XAwMklD9tx0oW0vjSpK%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-e5d28f4c-fd9f-4441-ae46-fb11d1ef3cdc&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;각진 부분들을 보면 이러게 다치지 않게 표면 처리가 되어 있었구요~&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TMAVL/btqHoWJAVeZ/nkW6DkLgOEjBK5ihwCHFe1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TMAVL/btqHoWJAVeZ/nkW6DkLgOEjBK5ihwCHFe1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TMAVL/btqHoWJAVeZ/nkW6DkLgOEjBK5ihwCHFe1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTMAVL%2FbtqHoWJAVeZ%2FnkW6DkLgOEjBK5ihwCHFe1%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-353a4eae-c8a3-4906-9e7e-9dbfda6efd53&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;메인보드 뒷면의 선정리 부분 샷 : SSD, HDD 넉넉한 공간이 많습니다,&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-f26b9eef-89fc-4af2-99f4-743e8488787d&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;그리고 시디롬은 외장형을 쓰면되니 공간을 빼는 것이 더욱 효율적인 것 같습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cfI6B2/btqHhP5Ki3H/2YOi8vh7kmwCQo9dkZU3g1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cfI6B2/btqHhP5Ki3H/2YOi8vh7kmwCQo9dkZU3g1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cfI6B2/btqHhP5Ki3H/2YOi8vh7kmwCQo9dkZU3g1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcfI6B2%2FbtqHhP5Ki3H%2F2YOi8vh7kmwCQo9dkZU3g1%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-988d72d3-06e9-4b6a-b04f-21ed9d8dd633&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;수냉쿨러를 위한 전면 쿨러 부분을 공간이 보입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/x4CzM/btqHq1DOUma/S8gUKSQMCDDKYzXgJVB7ZK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/x4CzM/btqHq1DOUma/S8gUKSQMCDDKYzXgJVB7ZK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/x4CzM/btqHq1DOUma/S8gUKSQMCDDKYzXgJVB7ZK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fx4CzM%2FbtqHq1DOUma%2FS8gUKSQMCDDKYzXgJVB7ZK%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-34b56baf-c9e2-4867-8858-8af8e77a90f8&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;앞면을 탈거 햇을때 이렇게 심플하게 쿨링팬이 있습니다. (흡입 2개)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bAWBWh/btqHjrp1WyF/VDyHA09Dpn8C8an7ZHDki0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bAWBWh/btqHjrp1WyF/VDyHA09Dpn8C8an7ZHDki0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bAWBWh/btqHjrp1WyF/VDyHA09Dpn8C8an7ZHDki0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbAWBWh%2FbtqHjrp1WyF%2FVDyHA09Dpn8C8an7ZHDki0%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-eca617a6-e015-4984-958f-f700b29e43da&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;하드디스크를 위한 편리한 탈거 방식의 가이드 제공!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TKvuJ/btqHxbrVLEV/2vuIWaRZi0neqxsZkARcP1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TKvuJ/btqHxbrVLEV/2vuIWaRZi0neqxsZkARcP1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TKvuJ/btqHxbrVLEV/2vuIWaRZi0neqxsZkARcP1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTKvuJ%2FbtqHxbrVLEV%2F2vuIWaRZi0neqxsZkARcP1%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-814303ff-b89d-4cd0-8769-1815c72eea0c&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;장착은 요런 방식으로!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AVV14/btqHjrp1WCM/ebHEJJ8PY0hF0xkKYs5AL0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AVV14/btqHjrp1WCM/ebHEJJ8PY0hF0xkKYs5AL0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AVV14/btqHjrp1WCM/ebHEJJ8PY0hF0xkKYs5AL0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAVV14%2FbtqHjrp1WCM%2FebHEJJ8PY0hF0xkKYs5AL0%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-39ef791e-1e0a-46cf-ba12-5c2172b2fb4d&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;설치를 다한 이후 샷 : 하단부에 선정리홀이 잇어서 정말 쉽고 깔끔하게 정리!&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-33931733-f521-44c7-a43d-c1762dd4aa5c&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;구형 메인보드인데도 깔끔하네요~&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tL0kx/btqHjq5QBgz/fQQRdkAwZHHmcsMG4wkpR1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tL0kx/btqHjq5QBgz/fQQRdkAwZHHmcsMG4wkpR1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tL0kx/btqHjq5QBgz/fQQRdkAwZHHmcsMG4wkpR1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtL0kx%2FbtqHjq5QBgz%2FfQQRdkAwZHHmcsMG4wkpR1%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-955f10c4-253b-416c-b0a9-d9e2d857e595&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;후면에 선정리 홀이 충분히 대응이 되서 인지 앞에는 이렇게 쉽게 정리가되네요!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tca3N/btqHlVK8lJx/qRfMiurpExfIJd3RKXfkj0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tca3N/btqHlVK8lJx/qRfMiurpExfIJd3RKXfkj0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tca3N/btqHlVK8lJx/qRfMiurpExfIJd3RKXfkj0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ftca3N%2FbtqHlVK8lJx%2FqRfMiurpExfIJd3RKXfkj0%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-9354dff5-3bf3-443f-8515-dd7d26b85a8b&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;후면 선정리... (야단치치 마세욤 -ㅅ- ㅋ 나름 깔끔하지 않은가요?)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bouW3z/btqHnkxpakA/eYVboOC2eACpJe9Fn31rZ0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bouW3z/btqHnkxpakA/eYVboOC2eACpJe9Fn31rZ0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bouW3z/btqHnkxpakA/eYVboOC2eACpJe9Fn31rZ0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbouW3z%2FbtqHnkxpakA%2FeYVboOC2eACpJe9Fn31rZ0%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-4d86cc43-139e-4cf3-a355-004f228d3353&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;컨트롤러에 먼지 유입을 막아주는 고무?마게 제공은 정말 마음에 듭니다(요런거에 기분 좋아짐 살려면 배송비에;;;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GeqTB/btqHvJvDDs7/jHxah22APmQEZctEnxHZKK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GeqTB/btqHvJvDDs7/jHxah22APmQEZctEnxHZKK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GeqTB/btqHvJvDDs7/jHxah22APmQEZctEnxHZKK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGeqTB%2FbtqHvJvDDs7%2FjHxah22APmQEZctEnxHZKK%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-92cf7a35-3e7a-4ec3-a3ad-517197e3edf6&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;파워노출에 파워 정보도 바로 알 수 있습니다 ~&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBPqgP/btqHjqkpgbY/FBh2HKp5wPptIvNzakPZAk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBPqgP/btqHjqkpgbY/FBh2HKp5wPptIvNzakPZAk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBPqgP/btqHjqkpgbY/FBh2HKp5wPptIvNzakPZAk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBPqgP%2FbtqHjqkpgbY%2FFBh2HKp5wPptIvNzakPZAk%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-db94dbe4-8048-43c9-b2bf-a303150881fd&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;풀아크릴 판을 덮은 샷(은은하게 이쁩니다)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p75Ft/btqHxbyFd0b/cO8pm9UMJx65OKRlijh7h0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p75Ft/btqHxbyFd0b/cO8pm9UMJx65OKRlijh7h0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p75Ft/btqHxbyFd0b/cO8pm9UMJx65OKRlijh7h0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp75Ft%2FbtqHxbyFd0b%2FcO8pm9UMJx65OKRlijh7h0%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-833e7e8a-c6f2-4656-a267-24203d6c3f0e&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;밤에는 이런 느낌 샷 첫번째&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-301fbce6-f44b-495d-a149-0c7a852fa9db&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;​&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FMhzs/btqHxa7AwFO/obHLdix6ZKp4VBTqF0XPCk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FMhzs/btqHxa7AwFO/obHLdix6ZKp4VBTqF0XPCk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FMhzs/btqHxa7AwFO/obHLdix6ZKp4VBTqF0XPCk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFMhzs%2FbtqHxa7AwFO%2FobHLdix6ZKp4VBTqF0XPCk%2Fimg.jpg&quot; data-width=&quot;693&quot; data-height=&quot;389&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p id=&quot;SE-8eef77eb-cf17-4916-aafc-783334f6bf53&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;밤에는 이런 느낌 샷 두번째!&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-b5486279-4406-4e76-b907-b9fa5d0a2a7e&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;&lt;b&gt;총평&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-b3463b80-656f-4c7d-a535-abc545e066c5&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;​&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-9f2b08f7-28da-4d06-bd21-28ac92c06676&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;제작사에서 강조하는 말과 틀리지 않는 &lt;/span&gt;&lt;span&gt;&lt;u&gt;&lt;b&gt;원활한 공기순환 설계&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;span&gt;(좋아요!),&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-c30963e0-ee6d-4690-bc9e-ee777a731031&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;곳곳의 홀제공으로 &lt;/span&gt;&lt;span&gt;&lt;u&gt;&lt;b&gt;폭 넓은 확장성과 조립 편의성&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;span&gt;(선택의 폭이 많습니다 쿨링팬 달곳은 정말 많죠!)&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-5ef52e7b-4fc3-44c6-ac5d-ba144b14711b&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;잘만드는 잘만사의 S3 풀 아크릴 케이스 체험을 하면서 한마디로 요즘 같이 초고가의 가격을 많이 가지고&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-bcc2fad3-33cb-46fc-9bf9-77877c46bf75&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;출시되는 케이스들이 뒤지지 않는 &lt;/span&gt;&lt;span&gt;&lt;u&gt;&lt;b&gt;최고의 가성비 케이스&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;span&gt;임에는 틀림이 없어 보입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-61125f74-0de9-4b1a-80ec-1be3863f40ee&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;좋은점은 분명 가성비 케이스는 틀림없음(전면 메쉬없는 디자인 그리고 수많은 홀)이라고 생각!&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-e952299b-e241-4e91-91d8-464e59020550&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;​&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-5b3dc4e9-bf0e-432d-a342-1492040f42c9&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;&lt;b&gt;그래도 조금 아쉽다면?&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-2d56bd92-d170-455d-a726-8c011a1d763c&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;- 하단부의 케이스 받침 부분의 라운딩 처리를 해주면 조금더 안전&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-71a7702b-eeb3-4ac8-953d-97f366c0a33c&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;- 전면의 하단부에 쿨링팬을 설치할 경우의 난이도 조절&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-f290f1e1-2538-4f3d-9430-71fc1ba386db&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;위 2가지 부분이 조금 아쉬 웠습니다 ^^ 다음에는 더욱 잘만들어 주실테니 걱정은 안하지만!!&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-9437b75a-aca3-42e5-b126-80cb61a58c31&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;체험의 기회를 제공해주신 다나와 체험단 및 잘만사에게 감사의 인사를 드립니다.&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-75d54fff-181b-4ba2-915b-f10159da3e9d&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;​&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-58d65aa5-f2b8-446e-86ef-00adb68d2dd9&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;​&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-cc720172-035c-41e9-8a8c-13fc1ea15866&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;&lt;b&gt;그외 경험 공유(PS)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-0f0de254-86f2-4969-b07f-d1d61f6414a6&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;제가 가지고 있떤 CPU, MB, RC-100 쿨러 기준의 아이들 온도는 41도(실내온도 26 ~ 28)&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-d70c7069-2ae2-4441-a719-64c426df0e02&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;​&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-0212cc15-8d9c-49e6-8e72-5feb7ce3846c&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;&lt;b&gt;제품구매링크&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-aec79d5c-5df8-4cf5-8346-9aeb1d46f9ad&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;a href=&quot;http://prod.danawa.com/info/?pcode=6683218&quot;&gt;http://prod.danawa.com/info/?pcode=6683218&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;SE-a26a9ecf-5895-4181-b6fb-71865e985376&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;&lt;u&gt;​&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;padding: 20px 0; text-align: center;&quot;&gt;&lt;img src=&quot;http://event.danawa.com/experienceReviewIncrease.php?p=LZPKH8kbioLLVtOQgY9yewhpzYPoMXZEQw%3D%3D&quot; /&gt;&lt;/div&gt;
&lt;p id=&quot;SE-fa00206c-ecd2-4328-819e-49df7618c4f7&quot; style=&quot;text-align: center;&quot;&gt;&lt;span&gt;&quot;이 글은 제휴사와 다나와 체험단을 통해 제품 또는 서비스를 제공받아 작성하였습니다.&quot;&lt;/span&gt;&lt;/p&gt;</description>
      <category>개발 이야기/IT</category>
      <category>PC케이스</category>
      <category>가성비케이스</category>
      <category>컴퓨터케이스</category>
      <category>컴퓨터케이스추천</category>
      <category>케이스추천</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/122</guid>
      <comments>https://infotake.tistory.com/122#entry122comment</comments>
      <pubDate>Thu, 27 Aug 2020 11:45:09 +0900</pubDate>
    </item>
    <item>
      <title>나의운전면허취득기_2 (양산덕계 국제자동차운전면허학원)</title>
      <link>https://infotake.tistory.com/121</link>
      <description>&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;FONT-SIZE: 11pt; COLOR: #0900ff&quot;&gt;나의운전면허취득기_2 (핸들링이라는 난관) &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;현행 법상 장내기능시험은 &lt;span style=&quot;COLOR: #ff5e00&quot;&gt;경사로&lt;/span&gt; 주행과 &lt;span style=&quot;COLOR: #ff5e00&quot;&gt;직각주차라고 하는&lt;/span&gt;&lt;span style=&quot;COLOR: #ff5e00&quot;&gt; T자주차&lt;/span&gt;, &lt;span style=&quot;COLOR: #ff5e00&quot;&gt;교차로 통과, &lt;/span&gt;&lt;span style=&quot;COLOR: #ff5e00&quot;&gt;돌&lt;/span&gt;&lt;span style=&quot;COLOR: #ff5e00&quot;&gt;발(&lt;/span&gt;로 표현되는 비상상황에서 순발력있게 브레이크 밟기) 등의 코스로 구성되어있다.(더&amp;nbsp;자세한건 생략)&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;예전에 이 기능시험을 엄청 단순화 시켰다가 부작용이 속출했는지 개정되었다고한다.&amp;nbsp;주변의 면허 소유자들에게 물어보니&amp;nbsp;지금은&amp;nbsp;그시절 이전보다는 쉽고 그 이후보다는 어려운 난이도인것 같다. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;이 장내기능 시험은 형식상 4시간만 수강하면 시험자체를 칠 수 있는 자격이 주어진다. 그래서 학원 수강료에는 4시간의 장내기능연습시간, 장내기능검정료만 포함되어있다. &lt;span style=&quot;COLOR: #0900ff&quot;&gt;그말은...4시간을 듣고 시험에 낙방했을시..추가 수업료는 별도로 내야 한다는 뜻. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;나는 겁도 났고 몸이 생각대로 바로 움직이는 직관적인 사람이 아니었기에 처음부터 차근차근 배워야지 생각은 했었다. 일정상 첫날에는 1시간만 수업을 했는데 1시간안에 직각주차까지는 어려웠으므로 &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;1. 장내기능코스를 강사가 운전하며 1회시연&lt;/p&gt;
&lt;p&gt;2. 직각주차를 제외한 나머지 코스 연습 &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이 정도였다. 하지만 사실상 50분 수업(강사휴게시간이 주어지니까)이어서 굉장히 빠듯했다. 나도 사실 첫날은 많은 기대를 하지 않았다. 난생처음으로 내가 차를 움직여본다는 것 정도였다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;자동차라는 것은 생각과 달리 브레이크를 밟지 않는한 기본적으로 앞으로 나아가게끔&lt;/p&gt;
&lt;p&gt;되어있는 기계였다. 이 기계를&amp;nbsp;정지시키기 위해 브레이크, 더 빨리 가기위해 엑셀을 밟아줘야 하는 것이며 이 기계를 내가 가고자 하는 곳으로 움직이고자 핸들을 돌릴줄 알아야 하는것이다. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;첫날수업은 이런 감흥과 혹시 내가 차를 막나가게 해서 사고를 치지 않을까 하는 불안으로 끝났다. 아직 3시간이 남았다. 아니 더 많은 시간이 남아있었다.&lt;/p&gt;
&lt;p&gt;왜냐면 나는 핸들을 내 뜻대로 할수 없었다. 옆에서 강사가 아무리 얘기를 해도 나는 핸들을 목숨줄인마냥 온힘으로 다해 부여잡고 너무 빨리 돌리고 혹은 너무 늦게 돌렸고 혹은 너무 빨리 풀거나 늦게 풀거나 덜 돌리거나 덜풀었다. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이때 나의 주행은 운전하는 나조차도 차가 왔다갔다 하는 구나 하는 정도였다. 특히 경사로를 내려와서 좌회전할때는 가속도가 붙으면서 조향이 더욱더 어려웠다. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이때 나는 백선생님에게 수강을 했었고 그분은&amp;nbsp;날 정말 열정적으로 잘&amp;nbsp;가르쳐주었고 안타까워 하기도 했다. 하지만 하지만 원래 그런 사람이 있다. 머리로 아는 것이 몸으로 나오기 까지 아주 오랜 시간이 걸리는 사람 내가 바로 그런 사람이었다. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;글로 전부 적을 수는 없지만 이 핸들링이라는 것은 장내기능연습을 10시간 정도 했을때 비로소 터득되었다. 원래 너 또래의 연령층은 배우는게 늦다고 학원의 모든 강사들이 위로는 해주었지만 나는 좌절했다. 나는 자동차 핸들하나 못다루는 사람이었던 것이다.&amp;nbsp;하지만 늦을 뿐이지 배울수 없는 것은 아니었는지 어느날 핸들은 그런데로 차로안에 오른쪽 왼쪽 유도선대로 돌아갔다. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;내가 핸들링을 하면서 직관적으로 큰 도움이 되었던 것은&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;1.&amp;nbsp;커브에서 &lt;span style=&quot;COLOR: #ff5e00&quot;&gt;일단 한바퀴를 돌려보고 부족하면 더 돌리고 많이 돌렸으면 빨리 감으면 &lt;/span&gt;된다&lt;/p&gt;
&lt;p&gt;2.&lt;span style=&quot;COLOR: #ff5e00&quot;&gt; 파워핸들은 &lt;/span&gt;&lt;span style=&quot;COLOR: #ff5e00&quot;&gt;굳이 힘줘서 돌려 풀지 않아도 된다&lt;/span&gt;&lt;span style=&quot;COLOR: #ff5e00&quot;&gt;&amp;nbsp;스르륵 돌아가는 관성을 이용&lt;/span&gt;해라 &lt;/p&gt;
&lt;p&gt;3. 실제도로에서는 의외로 핸들을 다 돌릴 일이 없다(주차는 제외) 시험장과 같은 9 0도 커브길로 드물다.&lt;/p&gt;
&lt;p&gt;4. &lt;span style=&quot;COLOR: #ff5e00&quot;&gt;자동차는 길~게 생겨서 앞바퀴가 돌아도 뒷바퀴는 아직 거기에 있다&lt;/span&gt;. 그걸 감으로 알고 있어야 한다. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;요정도였다 10시간을 타니까 이 말들이 자연스럽게 몸으로 나오기 시작했다는 것이지. 핸들링이 되니까 나머지는 쉽다?는 생각이 들었다. 주차야 어차피 공식대로 하는거(&lt;span style=&quot;COLOR: #ff5e00&quot;&gt;학원마다 주차공간과 환경이 미묘하게 다르니까 유튭강의는 참고만&lt;/span&gt;&lt;span style=&quot;COLOR: #ff5e00&quot;&gt;, 시험칠 학원이나시험장에 맞는 &lt;/span&gt;&lt;span style=&quot;COLOR: #ff5e00&quot;&gt;공식을 외워서 그대로 해야됨)&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;COLOR: #ff5e00&quot;&gt;&lt;span style=&quot;COLOR: #000000; BACKGROUND-COLOR: #9aa5ea&quot;&gt;&lt;span style=&quot;COLOR: #000000; BACKGROUND-COLOR: #ffffff&quot;&gt;그렇게 하고 주차는 공식을 외우면서 시험을 쳤다. 핸들링이 안되던 첫시험은 탈락,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;COLOR: #ff5e00&quot;&gt;&lt;span style=&quot;COLOR: #000000; BACKGROUND-COLOR: #9aa5ea&quot;&gt;&lt;span style=&quot;COLOR: #000000; BACKGROUND-COLOR: #ffffff&quot;&gt;두번째 시험은 시간초과로 감점되면서 탈락, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;COLOR: #ff5e00&quot;&gt;&lt;span style=&quot;COLOR: #000000; BACKGROUND-COLOR: #9aa5ea&quot;&gt;&lt;span style=&quot;COLOR: #000000; BACKGROUND-COLOR: #ffffff&quot;&gt;그래서 나는 시간초과를 막기 위해 지하주차장에 가서 운전경력자의 입회하에 일정하게 엑셀을 밟는 연습을 했다. 그래서 세번째 시험은 합격할 수 있었다. 물론 고득점은 아니었지만 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;COLOR: #ff5e00&quot;&gt;&lt;span style=&quot;COLOR: #000000; BACKGROUND-COLOR: #9aa5ea&quot;&gt;&lt;span style=&quot;COLOR: #000000; BACKGROUND-COLOR: #ffffff&quot;&gt;그리고 이제는 운전이 할만하네 재밌네 이런 생각이 들기도했다. 그리고 도로주행연습에 돌입했다. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#양산덕계국제자동차 #덕계국제자동차운전면허학원 #양산덕계운전 #양산덕계운전면허 &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;COLOR: #ff0000&quot;&gt;&lt;strong&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;R-LIFE는 또다른 촌놈이 직접 경험한 일들을 토대로&amp;nbsp;기록하는 카테고리입니다&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;COLOR: #ff0000&quot;&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>R - Life</category>
      <author>촌놈</author>
      <guid isPermaLink="true">https://infotake.tistory.com/121</guid>
      <comments>https://infotake.tistory.com/121#entry121comment</comments>
      <pubDate>Sat, 22 Aug 2020 18:19:06 +0900</pubDate>
    </item>
  </channel>
</rss>