<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>코딩수련장</title>
    <link>https://11001.tistory.com/</link>
    <description>(17~19) Unity/Unreal Engine 게임 프로그래머

(20~21) System Administrator ___________
                                                                            
(22~) React 웹 프론트앤드 개발자 __________
깃헙 : https://github.com/snowman95</description>
    <language>ko</language>
    <pubDate>Sun, 19 Jul 2026 17:18:16 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>snowman95</managingEditor>
    <image>
      <title>코딩수련장</title>
      <url>https://tistory1.daumcdn.net/tistory/3223191/attach/2ab40c9c34694336803eced5954f3bc4</url>
      <link>https://11001.tistory.com</link>
    </image>
    <item>
      <title>[6월 정산 수익 243만원] 응~ 배당 받으면 그만이야~고배당 갈아타기 전략 | 환전, QQQI, TIGER 배당커버드콜 엑티브, 월2% 배당</title>
      <link>https://11001.tistory.com/303</link>
      <description>&lt;p style=&quot;position: absolute;&quot; 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;1024&quot; data-origin-height=&quot;622&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bs8edj/dJMcagswp6i/Mmhuikq7aof74BfdLLGcd1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bs8edj/dJMcagswp6i/Mmhuikq7aof74BfdLLGcd1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bs8edj/dJMcagswp6i/Mmhuikq7aof74BfdLLGcd1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbs8edj%2FdJMcagswp6i%2FMmhuikq7aof74BfdLLGcd1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;622&quot; data-filename=&quot;배당받으면그만이야.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;622&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;h2 data-ke-size=&quot;size26&quot;&gt;6월을 정리하며&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자~ 6월 마지막의 날입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지난 주에 &lt;b&gt;TIGER 배당커버드콜 엑티브로 3% 가량의 매매차익&lt;/b&gt;을 냈었는데요.&lt;/p&gt;
&lt;figure id=&quot;og_1782822896867&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[6월 4주차] 수익 80만원 | 응~ 배당 받으면 그만이야~고배당 갈아타기 전략 | 특별 배당으로 월2% &quot; data-og-description=&quot;응~ 배당 받으면 그만이야~ 6월 2-3주차 결과 입니다. 안녕하세요. 오늘은 마이크론이 쏘아올린 기분좋은 대폭등장이었습니다.!! 그런데 미장은 애플이 -5%로 시작하는 기현상을 보이고 있네요 !! &quot; data-og-host=&quot;11001.tistory.com&quot; data-og-source-url=&quot;https://11001.tistory.com/300&quot; data-og-url=&quot;https://11001.tistory.com/300&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/mQM3T/dJMb9lMmaUJ/UgqrTW20hYwpyPH1FpMmQk/img.jpg?width=512&amp;amp;height=512&amp;amp;face=0_0_512_512,https://scrap.kakaocdn.net/dn/Gv76E/dJMb82eXNrE/bl2hZvVfWO0fxppvtOhoAK/img.jpg?width=512&amp;amp;height=512&amp;amp;face=0_0_512_512,https://scrap.kakaocdn.net/dn/dfvwaR/dJMb9llhNu9/PgLKthxBtxRscBalhUNhy0/img.jpg?width=1280&amp;amp;height=853&amp;amp;face=0_0_1280_853&quot;&gt;&lt;a href=&quot;https://11001.tistory.com/300&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://11001.tistory.com/300&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/mQM3T/dJMb9lMmaUJ/UgqrTW20hYwpyPH1FpMmQk/img.jpg?width=512&amp;amp;height=512&amp;amp;face=0_0_512_512,https://scrap.kakaocdn.net/dn/Gv76E/dJMb82eXNrE/bl2hZvVfWO0fxppvtOhoAK/img.jpg?width=512&amp;amp;height=512&amp;amp;face=0_0_512_512,https://scrap.kakaocdn.net/dn/dfvwaR/dJMb9llhNu9/PgLKthxBtxRscBalhUNhy0/img.jpg?width=1280&amp;amp;height=853&amp;amp;face=0_0_1280_853');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[6월 4주차] 수익 80만원 | 응~ 배당 받으면 그만이야~고배당 갈아타기 전략 | 특별 배당으로 월2%&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;응~ 배당 받으면 그만이야~ 6월 2-3주차 결과 입니다. 안녕하세요. 오늘은 마이크론이 쏘아올린 기분좋은 대폭등장이었습니다.!! 그런데 미장은 애플이 -5%로 시작하는 기현상을 보이고 있네요 !!&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;11001.tistory.com&lt;/p&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;&lt;b&gt;매도한 다음날 곧 바로 기회가 찾아왔습니다. 주가가 그대로 빠져서 원점으로 되돌아갔거든요.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;29000원에 털고나서 다음 날 주가가 크게 빠졌을때 27600원대에 다시 진입했습니다. ㅋㅋ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오후에 진짜 많이 떨어졌을때 샀으면 여유 있었을텐데 너무 급했다 싶었어요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;468&quot; data-origin-height=&quot;368&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tOdD1/dJMcafmTXPf/oKpu757O7f1xlg9LDnVuo1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tOdD1/dJMcafmTXPf/oKpu757O7f1xlg9LDnVuo1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tOdD1/dJMcafmTXPf/oKpu757O7f1xlg9LDnVuo1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtOdD1%2FdJMcafmTXPf%2FoKpu757O7f1xlg9LDnVuo1%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;468&quot; height=&quot;368&quot; data-origin-width=&quot;468&quot; data-origin-height=&quot;368&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[속보]&lt;br /&gt;삼성&amp;middot;SK, 서남권 반도체 클러스터 최대 900조 투자 &lt;br /&gt;AI 데이터센터 포함 SK 1000조 투입 계획&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;29일 청와대서 3대 메가프로젝트 보고회 용인 클러스터, 삼성&amp;middot;SK 완공 대폭 앞당겨 정부, 인허가&amp;middot;전력&amp;middot;용수 등 &amp;lsquo;원스톱&amp;rsquo; 지원!!!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dmiiVV/dJMcaaslqcI/PSDBfEkG5QK9oEIyJOftJk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dmiiVV/dJMcaaslqcI/PSDBfEkG5QK9oEIyJOftJk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dmiiVV/dJMcaaslqcI/PSDBfEkG5QK9oEIyJOftJk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdmiiVV%2FdJMcaaslqcI%2FPSDBfEkG5QK9oEIyJOftJk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;400&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;400&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;소신 발언 하자면&lt;b&gt;, 국산 LLM 못 만들면 나라가 그냥 망하는 거라서요.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;누군가는 해야하는 일이라고 생각을 했는데 이재명&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;정부가 이재용 최태원 머리 끄댕이 잡고 추진 시켰네요 ㅋㅋ&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;이거 안만들면 나중에 그냥 미국의 노예로 살아야합니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;그런거를 다 알면서도 솔직히 주주 입장에서는 개쌍욕이 나오네요.&lt;/b&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;삼전, 하닉 -10% 꼬라 박으면서 &lt;/b&gt;저는 배당락 당일에 -4% 까지 견뎌야 했습니다...&lt;/p&gt;
&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;500&quot; data-origin-height=&quot;669&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DeQq4/dJMcaay6W5T/HMebrf8u7WV9NH96elkq5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DeQq4/dJMcaay6W5T/HMebrf8u7WV9NH96elkq5K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DeQq4/dJMcaay6W5T/HMebrf8u7WV9NH96elkq5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDeQq4%2FdJMcaay6W5T%2FHMebrf8u7WV9NH96elkq5K%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;500&quot; height=&quot;669&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;669&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-path-to-node=&quot;4&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;하하하하하!! 더 떨어져봐!!!! 배당 받으면 그만이야!!!!&lt;/b&gt;&lt;/h2&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;288&quot; data-origin-height=&quot;175&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rFHK4/dJMcajo9gJo/b7HHOq3i25ufcUFpTDVKm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rFHK4/dJMcajo9gJo/b7HHOq3i25ufcUFpTDVKm1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rFHK4/dJMcajo9gJo/b7HHOq3i25ufcUFpTDVKm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrFHK4%2FdJMcajo9gJo%2Fb7HHOq3i25ufcUFpTDVKm1%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;500&quot; height=&quot;304&quot; data-filename=&quot;살자하면그만이야.png&quot; data-origin-width=&quot;288&quot; data-origin-height=&quot;175&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;그러나.. 항상 악재는 연쇄적으로 찾아온다더니&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;하필이면 집을 이사하면서 새&amp;nbsp;&lt;b&gt;에어컨&lt;/b&gt;을 주문했는데..&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;하필이면 혼수 선물로 &lt;b&gt;냉장고&lt;/b&gt;를 사줬는데&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;예상하지 못한 지출이 &lt;b&gt;400만원&lt;/b&gt;이나 나가야 하는 상황..!&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;어떻게 돈을 끌어올까 약간의 고민을 하던 와중에 찾아온&lt;b&gt; 공포스러운 화요일&lt;/b&gt;...&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-path-to-node=&quot;4&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;어.. 어...오른다?&lt;b&gt;&lt;span&gt; 약속의 1시 U자 드리프트 미쳤냐고!!!!!&lt;/span&gt;&lt;/b&gt;&lt;/b&gt;&lt;/h2&gt;
&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;500&quot; data-origin-height=&quot;694&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btrfro/dJMcaiw72bI/BVInctKGljwPMMjS4qtkkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btrfro/dJMcaiw72bI/BVInctKGljwPMMjS4qtkkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btrfro/dJMcaiw72bI/BVInctKGljwPMMjS4qtkkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbtrfro%2FdJMcaiw72bI%2FBVInctKGljwPMMjS4qtkkK%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;500&quot; height=&quot;694&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;694&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데자부~ 아 저스트 빈 인 디스 플레이스 비포어 하이어 온 더 스트리트~&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;320&quot; data-origin-height=&quot;180&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ccnRbL/dJMcab5Plj4/BA6p23fH5kxHkOAITcpVS1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ccnRbL/dJMcab5Plj4/BA6p23fH5kxHkOAITcpVS1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ccnRbL/dJMcab5Plj4/BA6p23fH5kxHkOAITcpVS1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FccnRbL%2FdJMcab5Plj4%2FBA6p23fH5kxHkOAITcpVS1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;281&quot; data-origin-width=&quot;320&quot; data-origin-height=&quot;180&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot; data-path-to-node=&quot;4&quot;&gt;&lt;b&gt;&lt;b&gt;튀.. 튀어잇!!!!&lt;/b&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;재..재용이형!!!! 지금이니!!!?&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;672&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/43RWF/dJMcadii5l9/Hy8UGaSQfjQ1XW5GKUvoE0/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/43RWF/dJMcadii5l9/Hy8UGaSQfjQ1XW5GKUvoE0/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/43RWF/dJMcadii5l9/Hy8UGaSQfjQ1XW5GKUvoE0/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F43RWF%2FdJMcadii5l9%2FHy8UGaSQfjQ1XW5GKUvoE0%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;900&quot; height=&quot;672&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;672&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;일단 나무증권 부터 털엇!!!!!! 두 번 다시는 기회 안 올 수도 있어!!!&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;약간의 미미한 손실이 있긴 했지만 일단 먼저 내려!!!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;404&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rXwYw/dJMcac4H1Uw/QslNw1nOM4M6XVSMcuhCbk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rXwYw/dJMcac4H1Uw/QslNw1nOM4M6XVSMcuhCbk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rXwYw/dJMcac4H1Uw/QslNw1nOM4M6XVSMcuhCbk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrXwYw%2FdJMcac4H1Uw%2FQslNw1nOM4M6XVSMcuhCbk%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;500&quot; height=&quot;404&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;404&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;h2 data-ke-size=&quot;size26&quot;&gt;약속의 2시&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;약속의 2시&lt;/b&gt;까지 쪼오금만 더 인내심을 가졌더니 &lt;b&gt;오늘&amp;nbsp;하루에 3%을 말아올리면서 탈출 기회가 왔다고 합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;탈출 시점 지리죠? ㅋㅋㅋㅋ&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2128&quot; data-origin-height=&quot;1408&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8s1Ja/dJMcahrt8qX/gu4XqyO4VlKA2xnVbkoZLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8s1Ja/dJMcahrt8qX/gu4XqyO4VlKA2xnVbkoZLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8s1Ja/dJMcahrt8qX/gu4XqyO4VlKA2xnVbkoZLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8s1Ja%2FdJMcahrt8qX%2Fgu4XqyO4VlKA2xnVbkoZLK%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;2128&quot; height=&quot;1408&quot; data-origin-width=&quot;2128&quot; data-origin-height=&quot;1408&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;심지어 27,690원 벌고 나왔음 ㅋㅋ 달달하네&lt;/p&gt;
&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;500&quot; data-origin-height=&quot;581&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bigYUB/dJMcabY6yHW/GlRVGsmfamnft1KxFTkOB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bigYUB/dJMcabY6yHW/GlRVGsmfamnft1KxFTkOB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bigYUB/dJMcabY6yHW/GlRVGsmfamnft1KxFTkOB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbigYUB%2FdJMcabY6yHW%2FGlRVGsmfamnft1KxFTkOB1%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;500&quot; height=&quot;581&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;581&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;4&quot; data-ke-size=&quot;size23&quot;&gt;자자 6월 정산 해볼까요?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;타이거 배당 커버드콜 엑티브 배당금 주당 580원 입니다. 옵션이라 과세 없음 ㅋ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;배당수익&lt;/b&gt; 1,167 주 x 580원 = 676,860원&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;매매차익&lt;/b&gt; 27690 - 12060원 = 15,630원&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;도합&lt;/b&gt; 692,490원&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;지난 주 까지해서 131만원에 + 69만원을 더하면..&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;200만원 달달하노&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;512&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wULG8/dJMcagzhgNe/u0kfYQSM8gC3N8HL6KKX61/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wULG8/dJMcagzhgNe/u0kfYQSM8gC3N8HL6KKX61/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wULG8/dJMcagzhgNe/u0kfYQSM8gC3N8HL6KKX61/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwULG8%2FdJMcagzhgNe%2Fu0kfYQSM8gC3N8HL6KKX61%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;512&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;512&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 외에 &lt;b&gt;해외 주식 SOXL 무한매수 및 단타치며&lt;/b&gt;&amp;nbsp;&lt;b&gt;43만원&lt;/b&gt;을 벌었답니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이건 배당 전략으로 번 것은 아니지만 다른 돈으로 번게 아니라 배당 전략 운용하는 금액의 일부로 번 것이라 포함시키겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;매우 안전하게 100만원 정도로 5% ~ 15%수익&lt;/b&gt; 내는걸 여러 번 반복 했어요.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;심지어 하루에도 몇 번이나 변동성 잘타서 3%, 3%, 3%&lt;/b&gt; 이런 식으로 계속 먹기도 했답니다.&lt;/p&gt;
&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;500&quot; data-origin-height=&quot;863&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zwZpJ/dJMcah557TD/BWgknizzYYfSBkBgkj5Be0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zwZpJ/dJMcah557TD/BWgknizzYYfSBkBgkj5Be0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zwZpJ/dJMcah557TD/BWgknizzYYfSBkBgkj5Be0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzwZpJ%2FdJMcah557TD%2FBWgknizzYYfSBkBgkj5Be0%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;500&quot; height=&quot;863&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;863&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;심지어 그 와중에 개쳐물린&lt;b&gt; 구글 17만원을 손절&lt;/b&gt;했음에도 이정도 수익입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구글! 와! 세계 최고의 기업인거는 맞는데 반도체에 모든 돈을 다 때려붓고 있기 때문에 희망이 없다고 판단했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;그들의 돈은 삼전, 하이닉스, 마이크론으로 가게됩니다.&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;4&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;고배당 월배당 ETF 정리해보겠습니다.&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금까지는 솔직히 그때그때 눈에 보이는 고배당 주식에 불나방처럼 뛰어들었는데&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞으로도 롱런하면서 잘 털어먹기 위해서는 ETF 가 뭐가 있고 어떤 특성이 있는지 공부가 필요하다고 생각이 들었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;7,3,0&quot;&gt;6월에 ACE 미국반도체데일리타겟이 주당 21000원인데 특별 배당이 나오면서 배당금 주당 612원을 줬답니다. 3%나 됩니다...&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하..&amp;nbsp;맘고생&amp;nbsp;하지말고&amp;nbsp;그냥&amp;nbsp;이거나&amp;nbsp;살껄&amp;nbsp;싶더라고요.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;TIGER&amp;nbsp;배당커버드콜액티브는&amp;nbsp;정말&amp;nbsp;위험한&amp;nbsp;녀석입니다. 조심하세요.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저희가&amp;nbsp;사실&amp;nbsp;안&amp;nbsp;위험하려고&amp;nbsp;이런&amp;nbsp;에겐&amp;nbsp;전략&amp;nbsp;하는건데요.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이&amp;nbsp;정도&amp;nbsp;변동성&amp;nbsp;쳐맞으면&amp;nbsp;차라리&amp;nbsp;삼전,&amp;nbsp;하이닉스&amp;nbsp;직투하지&amp;nbsp;내가&amp;nbsp;왜&amp;nbsp;고생하면서&amp;nbsp;이거&amp;nbsp;투자했을까&amp;nbsp;그런&amp;nbsp;맘이&amp;nbsp;들었어요.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;지금까지&amp;nbsp;정리한&amp;nbsp;내용을&amp;nbsp;기반으로&amp;nbsp;최고의&amp;nbsp;라인업을&amp;nbsp;만들어보았습니다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여윽시&amp;nbsp;나스닥&amp;nbsp;100(QQQ)&amp;nbsp;기반으로&amp;nbsp;가는게&amp;nbsp;제일&amp;nbsp;안전하다&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 data-path-to-node=&quot;4&quot; data-ke-size=&quot;size23&quot;&gt;① 미국 라인업: QQQI(월말) + JEPQ(월 중순)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;5&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;5,0,0&quot;&gt;평가:&lt;/b&gt; &lt;b data-index-in-node=&quot;4&quot; data-path-to-node=&quot;5,0,0&quot;&gt;완벽한 환상의 짝꿍입니다.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;QQQI는 네오스(NEOS)사의 상품으로 단순 콜옵션 매도가 아니라 'ITM(인더머니) 옵션'과 '풋옵션 매수'를 섞어 나스닥의 상승을 어느 정도 따라가면서 월 1% 이상(연 13~14%)을 꽂아줍니다.&lt;/li&gt;
&lt;li&gt;JEPQ는 JP모건의 스타 펀드매니저들이 액티브로 비중을 조절하며 나스닥 기초자산 상승을 영리하게 추종합니다. 배당락 주기가 딱 보름 간격으로 쪼개지므로 2주 턴 전략에 최적입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-path-to-node=&quot;6&quot; data-ke-size=&quot;size23&quot;&gt;② 국내 라인업: RISE 미국테크100데일리고정(월말) + ACE 미국반도체데일리타겟(월 중순)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;7&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;7,0,0&quot;&gt;평가:&lt;/b&gt; &lt;b data-index-in-node=&quot;4&quot; data-path-to-node=&quot;7,0,0&quot;&gt;국내 주식 리스크를 지우고 '미국 우상향'에 올라탄 매우 현명한 선택입니다.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;7,1,0&quot;&gt;TIGER 배당커버드콜액티브 탈출은 신의 한 수:&lt;/b&gt; 국장의 변동성은 예측이 불가능합니다. 털고 나오신 건 아주 잘하셨습니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;7,2,0&quot;&gt;RISE 미국테크100데일리(구 KB스타):&lt;/b&gt; &lt;b&gt;QQQ 지수를 기반&lt;/b&gt;으로 하면서 엔비디아, 애플 등 메가테크 비중이 높아 하방 경직성이 뛰어납니다. 물려도 미국 빅테크라 복구 속도가 국내 주식과는 차원이 다릅니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;7,3,0&quot;&gt;ACE 미국반도체데일리타겟:&lt;/b&gt; 엔비디아, 브로드컴 등 &lt;b&gt;미국 반도체 Top 30을&lt;/b&gt; 담고 &lt;b&gt;QQQ 옵션을 매도&lt;/b&gt;하는 구조입니다. 최근 1년 분배율이 연 15%를 넘길 정도로 분배 재원이 깡패 수준이고 매수세가 강해 배당락 회복이 빠릅니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;7,4,0&quot;&gt;'데일리(0DTE) 옵션'의 강점:&lt;/b&gt; 두 상품 모두 &lt;b&gt;만기가 하루짜리인 옵션을 매일 매도&lt;/b&gt;하므로, 주가가 한 달 내내 가두리에 갇혀있어도 매일매일 프리미엄을 갉아먹어 분배금을 꽉 채워줍니다.&lt;/li&gt;
&lt;/ul&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;</description>
      <category>주식 투자</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/303</guid>
      <comments>https://11001.tistory.com/303#entry303comment</comments>
      <pubDate>Tue, 30 Jun 2026 22:32:31 +0900</pubDate>
    </item>
    <item>
      <title>[AI발 생존 일지] 메이플스토리 주간보스돌이 쌀먹</title>
      <link>https://11001.tistory.com/302</link>
      <description>&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;하지만 우리의 절대적인 시간은 24시간이고 정해져있어서 더 많이 일하고 싶어도 할 수가 없습니다..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결국 우리는 &lt;b&gt;물리적인 제약을 뛰어넘기 위해&amp;nbsp;온라인&lt;/b&gt;으로 가게 됩니다..&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내가 자는 시간에도 돈을 벌어다줬으면 하거든요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;온라인 폐지줍기, 게임, 포스팅, 이미지, 영상제작, 주식, 코인 등&lt;span&gt; 어떤 것이든 좋으니 &lt;/span&gt;&lt;b&gt;온라인의 영역&lt;/b&gt;에서 반드시 돈 벌고 있어야 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주식, 코인이 허들이 낮고 접근성이 좋아서 많이들 하지요.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;게임에서 이른바 &lt;b&gt;'쌀먹'&lt;/b&gt; 또는 장사를 하시는 분들도 있고, 플랫폼 수수료 장사, 커뮤니티, 블로그 광고 장사 등 참 다양합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;618&quot; data-origin-height=&quot;591&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UbL0E/dJMcagTAkj8/5q49W4EiXqFwnTXp0oipy0/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UbL0E/dJMcagTAkj8/5q49W4EiXqFwnTXp0oipy0/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UbL0E/dJMcagTAkj8/5q49W4EiXqFwnTXp0oipy0/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUbL0E%2FdJMcagTAkj8%2F5q49W4EiXqFwnTXp0oipy0%2Fimg.webp&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;618&quot; height=&quot;591&quot; data-origin-width=&quot;618&quot; data-origin-height=&quot;591&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 메이플스토리라는 게임으로 주간 보스레이드 일명 &lt;b&gt;&quot;주보돌&quot;&lt;/b&gt;을 통해 쌀먹을 해본 적이 있는데요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보스를 잡고 확정 드랍되는 결정을 상점에 팔면 메소를 주는데요. 이 메소를 &lt;b&gt;원화로 환전&lt;/b&gt;하는 방법입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보스가 패턴이 다양하고 상당히 어렵습니다.&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;위로 갈 수록 스펙업에 훨씬 많은 투자를 해야하는 구조로 되어있습니다. 스펙업이 반드시 어느 수준에서 막히게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시간은 일주일에 하루 정도는 각잡고 투자해야하는 정도였고, 출석 보상을 위해 매일 접속해야하는 피로감이 있었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;돈은 최저임금 수준도 안나오지만 책상에 가만히 앉아서 이 정도 버는거면 나쁘지 않은데? 정도의 수준인데요.&lt;/p&gt;
&lt;p 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;저는 처음에 호기롭게 캐릭터를 3개를 돌리다가 병나는 줄 알았습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정말 욕심내서 하루도 빠짐없이 매일 매일 했었는데 그렇게 많이 노력 한 것 치고는 수익이 적다보니까 급격히 현타가 오면서 접었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 웃긴게 그렇게 접고나서 AI 붙잡고 오랜 시간을 보냈는데 AI 구독료 만큼도 못 벌고 심지어 메이플 쌀먹보다 수익이 안나면서 또 다시 현타가 오더군요 ㅋㅋ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 솔직한 마음으로는 딱히 아무것도 안하는 시간에 그냥 기계적으로 &lt;b&gt;캐릭터 하나라도 주보돌을 돌려야하나&lt;/b&gt;싶기도 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기회비용이라는게 참 무섭습니다.&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;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발자 글 수집</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/302</guid>
      <comments>https://11001.tistory.com/302#entry302comment</comments>
      <pubDate>Sun, 28 Jun 2026 18:10:05 +0900</pubDate>
    </item>
    <item>
      <title>[AI발 생존 일지] AI와 함께한 지난 6개월 (OpenClaw, 앱개발, 블로그 자동화, 유튜브)</title>
      <link>https://11001.tistory.com/301</link>
      <description>&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;이 망할 AI 세상에서 어떻게 해야 살아남을지 목표를 세우고 기록을 남겨야만 될 거 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금까지 있었던 이야기는 큼직큼직하게 적고 넘어가고&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;지난 6개월의 이야기..&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;두둥 AI 비서 OpenClaw 의 등장&lt;/b&gt; - 벌써 자비스가 나온것인가?! 큰 기대감과 함께 사용해보았으나 개발자 시선에서는 한참 부족하여 실망 했습니다. 그래도 일반 사람들이 AI 에 주목하기 매우 좋은 트리거가 되었다고 생각합니다.&lt;/p&gt;
&lt;figure id=&quot;og_1782628657406&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[AI] 오픈클로(OpenClaw) 사용 후기 (결론: 뉴스에서 호들갑 떨었다)&quot; data-og-description=&quot;첫인상 = 불안정하다openclaw 에 저렴한 모델을 붙여서 써서 그런가 싶기도한데 일을 시키면 너무 속도가 느리고, 브라우저 연결이 계속 끊기는 등 불안정하다는게 첫인상이었습니다. 그래도 좀 &quot; data-og-host=&quot;11001.tistory.com&quot; data-og-source-url=&quot;https://11001.tistory.com/276&quot; data-og-url=&quot;https://11001.tistory.com/276&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/g5Raf/dJMb8PGGHpp/Tyt1El3CjSKmc5fwmCtQe1/img.png?width=719&amp;amp;height=370&amp;amp;face=0_0_719_370,https://scrap.kakaocdn.net/dn/cOAdW9/dJMb8WeKisx/1d17grqjqPdE04iW6K8F5K/img.png?width=719&amp;amp;height=370&amp;amp;face=0_0_719_370,https://scrap.kakaocdn.net/dn/G7s7N/dJMb8SpSxL1/b1aAGWVfCdrO39zBB8gTy0/img.png?width=1236&amp;amp;height=1332&amp;amp;face=0_0_1236_1332&quot;&gt;&lt;a href=&quot;https://11001.tistory.com/276&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://11001.tistory.com/276&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/g5Raf/dJMb8PGGHpp/Tyt1El3CjSKmc5fwmCtQe1/img.png?width=719&amp;amp;height=370&amp;amp;face=0_0_719_370,https://scrap.kakaocdn.net/dn/cOAdW9/dJMb8WeKisx/1d17grqjqPdE04iW6K8F5K/img.png?width=719&amp;amp;height=370&amp;amp;face=0_0_719_370,https://scrap.kakaocdn.net/dn/G7s7N/dJMb8SpSxL1/b1aAGWVfCdrO39zBB8gTy0/img.png?width=1236&amp;amp;height=1332&amp;amp;face=0_0_1236_1332');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[AI] 오픈클로(OpenClaw) 사용 후기 (결론: 뉴스에서 호들갑 떨었다)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;첫인상 = 불안정하다openclaw 에 저렴한 모델을 붙여서 써서 그런가 싶기도한데 일을 시키면 너무 속도가 느리고, 브라우저 연결이 계속 끊기는 등 불안정하다는게 첫인상이었습니다. 그래도 좀&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;11001.tistory.com&lt;/p&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;&lt;b&gt;Mac Mini M4 구매 -&lt;/b&gt; 개인 맥미니를 구매해서 OpenClaw 를 구동하여 개인 AI 비서를 사용하는게 한때 유행이었습니다. 물론 그런 용도로도 써보고, 집에서 24시간 구동하는 내 전용 로컬 PC 가 필요함을 느꼈기 때문에 비싸다고 생각이 들었어도 구매를 했습니다.&lt;/p&gt;
&lt;figure id=&quot;og_1782628625109&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[AI] 맥미니 Mac Mini M4 자랑, 무조건 빠르게 만드는게 중요한게 아니다&quot; data-og-description=&quot;시대에 뒤쳐지지 않으려고 OpenClaw 를 사용 해보기 위해서 깡통 맥미니를 구입했습니다.이미 Claude Code 도 거의 1년 뒤쳐졌는데 더 이상은 뒤쳐질 수 없습니다! 회사 맥북은 메모리 48GB 인데우리 귀&quot; data-og-host=&quot;11001.tistory.com&quot; data-og-source-url=&quot;https://11001.tistory.com/277&quot; data-og-url=&quot;https://11001.tistory.com/277&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/j3OdV/dJMb84qi3yV/TovzIrphkJzdk0RryOQcj0/img.png?width=800&amp;amp;height=977&amp;amp;face=0_0_800_977,https://scrap.kakaocdn.net/dn/5q2YX/dJMb887jfrL/BxTZtjOZt24sc3FGvtmckk/img.png?width=800&amp;amp;height=977&amp;amp;face=0_0_800_977,https://scrap.kakaocdn.net/dn/buyCQh/dJMb896ebpn/uMLPlU5XVD7KNbI8JqKUGk/img.png?width=1250&amp;amp;height=1528&amp;amp;face=0_0_1250_1528&quot;&gt;&lt;a href=&quot;https://11001.tistory.com/277&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://11001.tistory.com/277&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/j3OdV/dJMb84qi3yV/TovzIrphkJzdk0RryOQcj0/img.png?width=800&amp;amp;height=977&amp;amp;face=0_0_800_977,https://scrap.kakaocdn.net/dn/5q2YX/dJMb887jfrL/BxTZtjOZt24sc3FGvtmckk/img.png?width=800&amp;amp;height=977&amp;amp;face=0_0_800_977,https://scrap.kakaocdn.net/dn/buyCQh/dJMb896ebpn/uMLPlU5XVD7KNbI8JqKUGk/img.png?width=1250&amp;amp;height=1528&amp;amp;face=0_0_1250_1528');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[AI] 맥미니 Mac Mini M4 자랑, 무조건 빠르게 만드는게 중요한게 아니다&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;시대에 뒤쳐지지 않으려고 OpenClaw 를 사용 해보기 위해서 깡통 맥미니를 구입했습니다.이미 Claude Code 도 거의 1년 뒤쳐졌는데 더 이상은 뒤쳐질 수 없습니다! 회사 맥북은 메모리 48GB 인데우리 귀&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;11001.tistory.com&lt;/p&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;&lt;b&gt;빠르게 변화하는 AI 기술에 등떠밀려 하루도 편하게 지내지 못하는 나날들이 반복.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 니가 뭐 할 수 있는데 -&amp;gt; 할 수 있는게 없음.. 회사에서라도 열심히 해보자.&lt;/p&gt;
&lt;figure id=&quot;og_1782628544962&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[개발자 이야기] 프론트 개발자의 AI로 인해 잠 못드는 나날&quot; data-og-description=&quot;AI 기술 부채AI로 인해 흥분되어 잠 못드는 날, AI로 불안해서 잠 못드는 날이 반복됩니다.자고 일어나면 또 새로운 AI 기사가 쏟아지면서 AI 기술 부채가 나날이 쌓이고 있습니다. 열심히 따라가기&quot; data-og-host=&quot;11001.tistory.com&quot; data-og-source-url=&quot;https://11001.tistory.com/285&quot; data-og-url=&quot;https://11001.tistory.com/285&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/9JTQj/dJMb8UHZKW4/hDK5syKvRnh6AIIbf5mN6k/img.png?width=800&amp;amp;height=436&amp;amp;face=25_202_88_270,https://scrap.kakaocdn.net/dn/biSDfT/dJMb8TCkkVI/2T4u7WMTGpp9ItCFnC3GQk/img.png?width=800&amp;amp;height=436&amp;amp;face=25_202_88_270,https://scrap.kakaocdn.net/dn/bqQ5xQ/dJMb8ZvLUtg/JBMagqvEoI30kP2wuu5DaK/img.png?width=1104&amp;amp;height=848&amp;amp;face=0_0_1104_848&quot;&gt;&lt;a href=&quot;https://11001.tistory.com/285&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://11001.tistory.com/285&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/9JTQj/dJMb8UHZKW4/hDK5syKvRnh6AIIbf5mN6k/img.png?width=800&amp;amp;height=436&amp;amp;face=25_202_88_270,https://scrap.kakaocdn.net/dn/biSDfT/dJMb8TCkkVI/2T4u7WMTGpp9ItCFnC3GQk/img.png?width=800&amp;amp;height=436&amp;amp;face=25_202_88_270,https://scrap.kakaocdn.net/dn/bqQ5xQ/dJMb8ZvLUtg/JBMagqvEoI30kP2wuu5DaK/img.png?width=1104&amp;amp;height=848&amp;amp;face=0_0_1104_848');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[개발자 이야기] 프론트 개발자의 AI로 인해 잠 못드는 나날&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;AI 기술 부채AI로 인해 흥분되어 잠 못드는 날, AI로 불안해서 잠 못드는 날이 반복됩니다.자고 일어나면 또 새로운 AI 기사가 쏟아지면서 AI 기술 부채가 나날이 쌓이고 있습니다. 열심히 따라가기&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;11001.tistory.com&lt;/p&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;&lt;b&gt;사내에서 AI 를 연구하고 스터디하고 사용하는 생태계를 만들어야 겠다고 결심.&lt;/b&gt;&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;&lt;br /&gt;앱개발, 영상제작, 부동산 공부 등으로 바빠지면서 AI 를 다룰 시간이 없어졌고, 그에 따라 AI 구독료가 아깝고 부담이 되어서 구독을 끊는 순간부터 거의 AI 세상과 동떨어지게 됨. -&amp;gt; 결국 다시 PRO 구독했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이를 계기로 회사에서 운 좋게 AI TF 활동에 참여하게 되었고, &lt;/b&gt;모든 것을 갈아 넣겠다는 다짐으로 2달 정도 빡시게 활동했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI 의 가능성, 한계 등 많은 것을 느꼈고, 결국엔 AI 모델의 발전에 따라 대부분은 해결이 되겠구나를 느끼면서, AI Agent 를 하나의 도구로써 어떻게 더 잘 다룰 수 있는지에 대해 연구하고 공부하고 있습니다.&lt;/p&gt;
&lt;figure id=&quot;og_1782628779596&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[개발자 이야기] AI 에게 일을 위임하고 나는 딸깍하는 회사 라이프를 꿈꾸다&quot; data-og-description=&quot;매우 저조한 AI 활용도우리 회사에서는 클로드 코드는 지원하지 않고 (지원하다가 잠정 중단), 커서는 지원하고 있습니다.제가 팀 내에서 커서 이야기 나올 때마다 참 좋으니 한번 써보라고 권하&quot; data-og-host=&quot;11001.tistory.com&quot; data-og-source-url=&quot;https://11001.tistory.com/294&quot; data-og-url=&quot;https://11001.tistory.com/294&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/zEfz1/dJMb8SpSxMH/q7X5jHE4gmkptrPpYIxbUk/img.png?width=800&amp;amp;height=253&amp;amp;face=0_0_800_253,https://scrap.kakaocdn.net/dn/fWe9y/dJMb9g5loBo/rl4fOl2uP1K2JV1g5E69gk/img.png?width=800&amp;amp;height=253&amp;amp;face=0_0_800_253,https://scrap.kakaocdn.net/dn/edNmqf/dJMb9fZFH1j/DX1InjfPqKuet50Av5yPpK/img.png?width=2490&amp;amp;height=790&amp;amp;face=0_0_2490_790&quot;&gt;&lt;a href=&quot;https://11001.tistory.com/294&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://11001.tistory.com/294&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/zEfz1/dJMb8SpSxMH/q7X5jHE4gmkptrPpYIxbUk/img.png?width=800&amp;amp;height=253&amp;amp;face=0_0_800_253,https://scrap.kakaocdn.net/dn/fWe9y/dJMb9g5loBo/rl4fOl2uP1K2JV1g5E69gk/img.png?width=800&amp;amp;height=253&amp;amp;face=0_0_800_253,https://scrap.kakaocdn.net/dn/edNmqf/dJMb9fZFH1j/DX1InjfPqKuet50Av5yPpK/img.png?width=2490&amp;amp;height=790&amp;amp;face=0_0_2490_790');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[개발자 이야기] AI 에게 일을 위임하고 나는 딸깍하는 회사 라이프를 꿈꾸다&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;매우 저조한 AI 활용도우리 회사에서는 클로드 코드는 지원하지 않고 (지원하다가 잠정 중단), 커서는 지원하고 있습니다.제가 팀 내에서 커서 이야기 나올 때마다 참 좋으니 한번 써보라고 권하&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;11001.tistory.com&lt;/p&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;&lt;b&gt;AI로 앱개발에 도전 &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;figure id=&quot;og_1782628903674&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;AI 혁명이 일어났다. 5년차 FE 개발자인 나는 Claude Code Max20 을 구독하고 별의 별 짓을 다 해봤다.&quot; data-og-description=&quot;AI 혁명이 일어났다.미국 빅테크 기업들이 초거대 AI 데이터센터 건설에 상상을 초월하는 투자를 쏟아붓는다.그 많은 돈은 모두 CPU, GPU, RAM, Disk, Network, Cable 등을 만드는 반도체 제조업 회사에 흘&quot; data-og-host=&quot;11001.tistory.com&quot; data-og-source-url=&quot;https://11001.tistory.com/295&quot; data-og-url=&quot;https://11001.tistory.com/295&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/brms2o/dJMb9bwcDkA/gpr3JYSnCc25HQ2iO7sl0k/img.jpg?width=690&amp;amp;height=466&amp;amp;face=307_123_397_222,https://scrap.kakaocdn.net/dn/bt93Oc/dJMb9cBSokw/fqroaHkzKxjSiktX2M1e81/img.jpg?width=690&amp;amp;height=466&amp;amp;face=307_123_397_222,https://scrap.kakaocdn.net/dn/qcLry/dJMb9ia1wbS/bb0W36IvI0wjqRdNkNKsak/img.png?width=2816&amp;amp;height=1536&amp;amp;face=0_0_2816_1536&quot;&gt;&lt;a href=&quot;https://11001.tistory.com/295&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://11001.tistory.com/295&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/brms2o/dJMb9bwcDkA/gpr3JYSnCc25HQ2iO7sl0k/img.jpg?width=690&amp;amp;height=466&amp;amp;face=307_123_397_222,https://scrap.kakaocdn.net/dn/bt93Oc/dJMb9cBSokw/fqroaHkzKxjSiktX2M1e81/img.jpg?width=690&amp;amp;height=466&amp;amp;face=307_123_397_222,https://scrap.kakaocdn.net/dn/qcLry/dJMb9ia1wbS/bb0W36IvI0wjqRdNkNKsak/img.png?width=2816&amp;amp;height=1536&amp;amp;face=0_0_2816_1536');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;AI 혁명이 일어났다. 5년차 FE 개발자인 나는 Claude Code Max20 을 구독하고 별의 별 짓을 다 해봤다.&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;AI 혁명이 일어났다.미국 빅테크 기업들이 초거대 AI 데이터센터 건설에 상상을 초월하는 투자를 쏟아붓는다.그 많은 돈은 모두 CPU, GPU, RAM, Disk, Network, Cable 등을 만드는 반도체 제조업 회사에 흘&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;11001.tistory.com&lt;/p&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;&lt;b&gt;블로그 자동화 시도 - &lt;/b&gt;AI가 가장 잘하는 분야가 글 쓰기 잖아요? 티스토리/네이버 블로그에 쿠팡 파트너스 및 애드센스 붙여서 글 자동 생성 진행해보았습니다. 티스토리는 계정 통합해서 하루에 최대 50개 밖에 못쓰고, 네이버 블로그는 100개 까지 예약 발행이 가능한데&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제 경험상 저 한계치에 도달하기 전에도 단기간에 &lt;b&gt;비슷한 글을 여러 개 올리는 순간 바로 알고리즘에 의해 블로그 노출을 사망처리&lt;/b&gt; 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 하루에 걸쳐서 천천히 조금씩 올리면 괜찮지 않느냐 싶지요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;저희가 원하는건 그게 아니잖아요.. 무인으로 계속 글을 찍어내서 지속적인 수입을 내고 싶은건데&amp;nbsp;&lt;/b&gt;글을 하루에 10개? 이렇게 깨작깨작 올려서 만원이나 벌겠습니까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;유튜브 진출 -&amp;nbsp;&lt;/b&gt;과거에 영상 원데이 클레스를 듣고나서 취미삼아 1달 정도 올린적이 있었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구독자도 금방 100을 넘고 조회수가 5만이 나온 영상도 있었어요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 뚜렷한 목적 없이 그때그때 생각나는 주제나 일상 생활 이야기로 만들다보니 &lt;b&gt;금방 콘텐츠 고갈이 되는게 문제더라고요.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;b&gt;근데 브이로그가 어떤 정보가 있는 것도 아니고, 남이 사는 이야기를 대체 누가 왜 보는건가 싶은데 조회수 많은거 있잖아요?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따지고 보면 그냥 &lt;b&gt;개그코드&lt;/b&gt;가 맞거나 &lt;b&gt;결이 잘맞는 오랜 팬&lt;/b&gt;들이 밥먹으면서 아무거나 틀어놓는 그런거 아닐까 싶긴해요.. 그러려면 결국 사람이 나와서 춤도 추고 광대짓 하고 옘병을 떨어야 내적 친밀감 쌓이고 영상이 단조롭지가 않아서 그런 맛에 보는거 같은데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제가 또 조용한 성격이다보니 결국 &lt;b&gt;브이로그 보다는 어그로성 정보성 영상으로 가야하는가 싶습니다. 그게 저한테 맞는거 같아요.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;주식 붐 &lt;/b&gt;- 삼성전자 하이닉스가 미친듯이 끌어올리고 있는 주식장에서 FOMO 를 느끼고 저도 뛰어 들었답니다.&amp;nbsp;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 이후에 하락장이 예상되어서 돈을 매우 보수적으로 굴리기 위한 방법을 찾다가 배당 갈아타기 및 환차익 전략을 생각해보았어요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생각 보다 잘 되니까 재밋더라고요? 이것도 따로 기록을 이어가고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1782629394242&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[주식 투자] 응~ 배당 받으면 그만이야~고배당 갈아타기 전략 유휴 RP이자 대신 고배당 커버드콜 &quot; data-og-description=&quot;[주식 투자] 응~ 배당 받으면 그만이야~고배당 갈아타기 전략AI발 대세 상승장을 못타신 분들...FOMO 느끼고 지금이라도 풀매수 들어가는 순간 세상이 나를 지켜보고 있는 것이었는지!!! 다음날 부&quot; data-og-host=&quot;11001.tistory.com&quot; data-og-source-url=&quot;https://11001.tistory.com/296&quot; data-og-url=&quot;https://11001.tistory.com/296&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cJ4PsP/dJMb86PceQr/KQkOWa2TKkVwFXTK1h4O9k/img.png?width=800&amp;amp;height=485&amp;amp;face=0_0_800_485,https://scrap.kakaocdn.net/dn/Bn7D5/dJMb87N7gCE/IUk08gUgBkkVbNKquLHZ60/img.png?width=800&amp;amp;height=485&amp;amp;face=0_0_800_485,https://scrap.kakaocdn.net/dn/ckXycd/dJMb83kDupI/TdBkYLu1bMEzG9nW42CD4k/img.png?width=1024&amp;amp;height=622&amp;amp;face=0_0_1024_622&quot;&gt;&lt;a href=&quot;https://11001.tistory.com/296&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://11001.tistory.com/296&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cJ4PsP/dJMb86PceQr/KQkOWa2TKkVwFXTK1h4O9k/img.png?width=800&amp;amp;height=485&amp;amp;face=0_0_800_485,https://scrap.kakaocdn.net/dn/Bn7D5/dJMb87N7gCE/IUk08gUgBkkVbNKquLHZ60/img.png?width=800&amp;amp;height=485&amp;amp;face=0_0_800_485,https://scrap.kakaocdn.net/dn/ckXycd/dJMb83kDupI/TdBkYLu1bMEzG9nW42CD4k/img.png?width=1024&amp;amp;height=622&amp;amp;face=0_0_1024_622');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[주식 투자] 응~ 배당 받으면 그만이야~고배당 갈아타기 전략 유휴 RP이자 대신 고배당 커버드콜&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[주식 투자] 응~ 배당 받으면 그만이야~고배당 갈아타기 전략AI발 대세 상승장을 못타신 분들...FOMO 느끼고 지금이라도 풀매수 들어가는 순간 세상이 나를 지켜보고 있는 것이었는지!!! 다음날 부&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;11001.tistory.com&lt;/p&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;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;결론은 또 다시 미궁속으로&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결론적으로 제가 몇 달 동안 수 많은 것을 해오면서 &lt;b&gt;AI 구독료 보다 많이 벌지 못했고&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LLM의 지능은 아직까지는 절대로 &lt;b&gt;신(GOD)의 수준이&lt;/b&gt; 아니고, 이 세상에 없는것을 만들어내지는 못한다는 것을 알게 되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아니 ㅋㅋ AI 라는게 &lt;b&gt;원하는 걸 무엇이든 만들어주는 만능 도구&lt;/b&gt;라고 착각했었는데 그게 아니라는거에요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;AI는 이 세상에 이미 있는 것들을 짜집기해서 확률적으로 결과를 내보내는 것&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;다만, 쪼금 더 효율적이고 생산적으로 쓸 수 있는 &lt;/span&gt;&lt;b&gt;다양한 기법들은 존재&lt;/b&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;한다는 것과 글, 이미지, 영상 등&amp;nbsp;&lt;/span&gt;&lt;b&gt;다양한 활용처&lt;/b&gt;&lt;b&gt;가&lt;/b&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt; 있는데&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;그걸 어떻게 하는지? 뭔지 조차 잘 모르는 사람들한테 마치 희망이 있다는 것 처럼 포장해서 파는 강의팔이를 나도 해야하나? 싶습니다.&lt;/span&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발자 이야기</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/301</guid>
      <comments>https://11001.tistory.com/301#entry301comment</comments>
      <pubDate>Sun, 28 Jun 2026 17:40:31 +0900</pubDate>
    </item>
    <item>
      <title>[6월 4주차] 수익 80만원 | 응~ 배당 받으면 그만이야~고배당 갈아타기 전략 | 특별 배당으로 월2% 배당주는 TIGER 배당커버드콜 엑티브</title>
      <link>https://11001.tistory.com/300</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;512&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b0Jjwv/dJMcaa6UmZn/GK4h7ycDxx7ZHOjrGU9kc0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b0Jjwv/dJMcaa6UmZn/GK4h7ycDxx7ZHOjrGU9kc0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b0Jjwv/dJMcaa6UmZn/GK4h7ycDxx7ZHOjrGU9kc0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0Jjwv%2FdJMcaa6UmZn%2FGK4h7ycDxx7ZHOjrGU9kc0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;512&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;512&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;응~&amp;nbsp;배당&amp;nbsp;받으면&amp;nbsp;그만이야~&amp;nbsp;&amp;nbsp;6월&amp;nbsp;2-3주차&amp;nbsp;결과&amp;nbsp;입니다.&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요. 오늘은 마이크론이 쏘아올린 기분좋은 대폭등장이었습니다.!!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;853&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ctbFWR/dJMcaaTkjcs/EomtGN3THshAaJKUa1nyj1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ctbFWR/dJMcaaTkjcs/EomtGN3THshAaJKUa1nyj1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ctbFWR/dJMcaaTkjcs/EomtGN3THshAaJKUa1nyj1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FctbFWR%2FdJMcaaTkjcs%2FEomtGN3THshAaJKUa1nyj1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;853&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;853&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;그런데 미장은 애플이 -5%로 시작하는 기현상을 보이고 있네요 !!&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이런 흐름이라고 합니다!!&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반도체 가격 인상 못버팀 -&amp;gt; 아이폰 가격 인상 -&amp;gt; 물가 오르니 금리 인상? -&amp;gt; 발작 버튼 on&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결국엔 금리인상 대폭망 엔딩인게 너무 뻔하게 보이네요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;기술의 발전과 무관하게 27년도 전후로 피바람이 불 듯 합니다.. 다들 조심하십시오. &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;수익 나는건 좋은데 탈출구도 마련해야지요.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1179&quot; data-origin-height=&quot;1529&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2f0H2/dJMcagF34yL/59zJWdQd5RA5gV09RbUAR1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2f0H2/dJMcagF34yL/59zJWdQd5RA5gV09RbUAR1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2f0H2/dJMcagF34yL/59zJWdQd5RA5gV09RbUAR1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2f0H2%2FdJMcagF34yL%2F59zJWdQd5RA5gV09RbUAR1%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;500&quot; height=&quot;1084&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1179&quot; data-origin-height=&quot;1529&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;h3 data-ke-size=&quot;size23&quot;&gt;환전&amp;nbsp;결과&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;1540원도 높다고 생각했는데요. 50원 까지 수직상승 하더군요.&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;b&gt;근데! 9시에 달러 환전하고 중간에 다시 원화 환전하는 전략 나쁘지 않아 보이더라고요. &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;항상 그런건 아닌데 요즘 패턴이 그래요.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;681&quot; data-origin-height=&quot;373&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cP7S3w/dJMcadoUrXM/qNufkeoBZtAGLAXTtHSKLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cP7S3w/dJMcadoUrXM/qNufkeoBZtAGLAXTtHSKLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cP7S3w/dJMcadoUrXM/qNufkeoBZtAGLAXTtHSKLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcP7S3w%2FdJMcadoUrXM%2FqNufkeoBZtAGLAXTtHSKLK%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;681&quot; height=&quot;373&quot; data-origin-width=&quot;681&quot; data-origin-height=&quot;373&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;&lt;span style=&quot;text-align: start;&quot;&gt;배당 결과&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;미국 ETF 는 못하고 결국 국내 ETF 중에 월배당 찾아보다가&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;특별배당으로 월2% 배당을 주는 TIGER 배당커버드콜 엑티브!! &lt;/b&gt;이 있다는 걸 알게되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원래는 배댱수익률 7% 정도 인데요. 월 환산하면 12로 나누었을때 1%도 안되는 배당인데&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;삼전 닉스 덕분에 돈 많이 벌어서 &lt;b&gt;&quot;특별 배당&quot; 을 &lt;/b&gt;하반기에도 이어가고 있다합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제는 오늘 마이크론의 실적이 &lt;b&gt;어닝 &lt;span style=&quot;text-align: start;&quot;&gt;미라클&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;text-align: start;&quot;&gt; 이 나면서 삼전닉스 대폭등하면서 대말올이 나왔습니다...&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;그러면서 제가 안전하게 배당이나 먹으려고 사두었던 &lt;b&gt;ETF 가 수익이 (생각보다)크게 났어요.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&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;1179&quot; data-origin-height=&quot;1070&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9NX2h/dJMcaf761h7/g52VRqcHIErJOcBY3elbO1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9NX2h/dJMcaf761h7/g52VRqcHIErJOcBY3elbO1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9NX2h/dJMcaf761h7/g52VRqcHIErJOcBY3elbO1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9NX2h%2FdJMcaf761h7%2Fg52VRqcHIErJOcBY3elbO1%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;500&quot; height=&quot;1084&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1179&quot; data-origin-height=&quot;1070&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 아시죠? 대폭등 다음에 대폭락 패턴인거?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시장이 호들갑 떨면 분명히 뭔일 납니다. 그리고 내일은 통계적으로 하락이 많은 &lt;b&gt;&quot;금요일&quot;&lt;/b&gt; 이라는거&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;그냥 금요일은 웬만하면 피하십쇼..&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;&lt;span style=&quot;text-align: start;&quot;&gt;매매 결과&lt;/span&gt;&lt;/h3&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;일단 미장 분위기 보니까 애플 때문에 금리 인상 공포 분위기가 좀 있는거 같아요.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;장초에 폭락한거 전부 다 말아올리고 대폭등으로 끝날거 같지는 않고 위아래 변동 주다가 좀 재미없게 끝날 거 같은 느낌입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 내일 삼전닉스도 영향 받아서 조정 올 거같고..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 이 ETF 도 더 싸게 줍줍할 기회가 있을거 같으니까요.&amp;nbsp;&lt;/p&gt;
&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;1179&quot; data-origin-height=&quot;1376&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yEH9h/dJMcaf761jJ/tkUOG18guGFKkLbBW1x8jk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yEH9h/dJMcaf761jJ/tkUOG18guGFKkLbBW1x8jk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yEH9h/dJMcaf761jJ/tkUOG18guGFKkLbBW1x8jk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyEH9h%2FdJMcaf761jJ%2FtkUOG18guGFKkLbBW1x8jk%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;500&quot; height=&quot;1084&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1179&quot; data-origin-height=&quot;1376&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;아니 삼전 샀으면 10%는 그냥 먹는건데 ㅋㅋ 꼴랑 3% 먹고 기분좋아하노?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;네 이렇게 생각될 수 있습니다. 충분히 맞는 말입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 저는 하루 10% 오르고 하루 10% 떨어지는 이런 미친 장에서도 돈을 지켜야하기 때문입니다...&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;시드가 2000만원이고 131만원의 수익이 났으니 &lt;b&gt;대략 6.55%&lt;/b&gt; 의 수익을 냈군요.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막엔 짜투리 돈 까지 더 모았으니 &lt;b&gt;5-6%&lt;/b&gt; 정도로 봐도 될 거 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;b&gt;TIGER 배당커버드콜 엑티브&lt;/b&gt;를 매수한다면, &lt;b&gt;약&amp;nbsp;2%의 배당금을 주는데요.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내일은 잔고에 있는 나머지 돈 까지 밀어넣어서 약 3000만원에 가까운 돈을 넣을 생각입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;그럼 대충 배당금 60만원이죠?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;월요일이 배당락으로 예상되니 그때 상황보고 움직일 듯 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;월요일 삼전닉스 상승하면서 &lt;/span&gt;배당락 맞고 빠진게 회복된다면..? -&amp;gt; 정리하고 JEPQ 로 넘어간다면? -&amp;gt; 대략 0.8% ? 정도 추가 배당수익&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;b&gt;QQQI&lt;/b&gt; 들어갈 준비해야죠.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;환전 못하면 그냥&lt;b&gt; KODEX 미국배당커버드콜액티브&lt;/b&gt;? &lt;b&gt;RISE코리아벨류업위클리고정커버드콜?&amp;nbsp;&lt;/b&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;근데 요즘 차트를 보면 2022년이 자꾸 겹쳐보이는거 같아서요.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;좀 더 조심히. 신중이 해야하나 싶은 마음이 계속 듭니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그때도 위아래 15%씩 움직이는 미친 롤러코스터 장이 이어지다가 금리 인상과 함께 모두가 파멸했죠.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1003&quot; data-origin-height=&quot;157&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ea3lYV/dJMcaiqg1H1/55zenTbGqKuRVgUd8pW3j1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ea3lYV/dJMcaiqg1H1/55zenTbGqKuRVgUd8pW3j1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ea3lYV/dJMcaiqg1H1/55zenTbGqKuRVgUd8pW3j1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fea3lYV%2FdJMcaiqg1H1%2F55zenTbGqKuRVgUd8pW3j1%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;1003&quot; height=&quot;157&quot; data-origin-width=&quot;1003&quot; data-origin-height=&quot;157&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 기억 나시나요..? &lt;b&gt;금리인상 앞에서 뻐팅기지 마세요&lt;/b&gt;. 삼전닉스 영원할 거 같습니까?&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;632&quot; data-origin-height=&quot;377&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AHjfO/dJMcacp6W6C/Nt9U91AFHBUzy0WaCdBELK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AHjfO/dJMcacp6W6C/Nt9U91AFHBUzy0WaCdBELK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AHjfO/dJMcacp6W6C/Nt9U91AFHBUzy0WaCdBELK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAHjfO%2FdJMcacp6W6C%2FNt9U91AFHBUzy0WaCdBELK%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;632&quot; height=&quot;377&quot; data-origin-width=&quot;632&quot; data-origin-height=&quot;377&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;text-align: start;&quot;&gt;일단은.. 당분간은 이 전략을 그대로 가져가볼 생각입니다.&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;배당은 결국 제 살 갉아먹기라고 하지만, 솔직히 주식이 홀짝게임이잖아요?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;특히나 이렇게 변동성이 심하다면 &lt;b&gt;커버드콜이 유리한&lt;/b&gt; 거 아실테고,&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;text-align: start;&quot;&gt;하루 이틀안에 빠르게 매도치고 현금을 들고 있는 날이 많이 때문에&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;갑자기 핵폭탄급 이슈가 터져도 피할 가능성이 매우 높다는거죠. &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;&lt;span style=&quot;text-align: start;&quot;&gt;저 이번에 코스피 9000-&amp;gt;8000 대폭락 가는것도 피하고 오늘 이렇게 수익을 낼 수 있었던 것도&lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;text-align: start;&quot;&gt;주식은 빠르게 배당만 받고 바로 빠지고, 현금을 계속 들고있었기 때문에 가능했습니다.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어쨌든 오래 살아남기 위한 전략이니 열심히 살아남아서 돈을 벌어보겠습니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>주식 투자</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/300</guid>
      <comments>https://11001.tistory.com/300#entry300comment</comments>
      <pubDate>Fri, 26 Jun 2026 01:19:46 +0900</pubDate>
    </item>
    <item>
      <title>[개발자 이야기] AI Agent 와 인터뷰를 하라. 계획이 가장 중요하다. 쓰레기를 넣으면 쓰레기가 나온다. (grill-me)</title>
      <link>https://11001.tistory.com/299</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;559&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rESgB/dJMcafG4knQ/rFEqoWEfKrsrZl6h1ChLC1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rESgB/dJMcafG4knQ/rFEqoWEfKrsrZl6h1ChLC1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rESgB/dJMcafG4knQ/rFEqoWEfKrsrZl6h1ChLC1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrESgB%2FdJMcafG4knQ%2FrFEqoWEfKrsrZl6h1ChLC1%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;500&quot; height=&quot;273&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;559&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Plan 모드&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;요즘 대부분의 AI Agent 에 기본적으로 Plan 모드&lt;/b&gt;라는게 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 Plan 모드는 요구사항을 코드로 구현하기 전에 문서로 계획을 작성해줍니다.&lt;/p&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;p data-ke-size=&quot;size16&quot;&gt;그런데 말입니다. &lt;b&gt;&quot;그럴싸 하게&quot;&lt;/b&gt; 만들기는 했는데 예상치 못한 변수들이 보입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예외 케이스들에 대해서 전혀 고려하지 못했고, 제가 의도한 대로 동작하지 않는 기능들도 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;왜 그럴까요? 저희는 분명 &lt;b&gt;&quot;Plan 모드&quot; &lt;/b&gt;로 스마트하게 계획을 세웠는데요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사람의 머릿속에 들어있는 내용은 훨씬 복잡하고 말로 설명하기 어려울 정도로,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정리가 잘 되어있지 않고 매우 혼란스러운 상태입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;수 초 이내에 모든 예외 케이스들을 고려하고 &lt;b&gt;완벽한&lt;/b&gt; 계획을 세울 수 없습니다. 분명히 구멍이 생깁니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 상태로 AI 에게 일을 시켰을때 제대로 된 결과가 나올까요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;쓰레기를 넣으면 쓰레기가 나올 뿐입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;559&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JYU4m/dJMcadI7vVc/KyVkM5aLXA6q6dnBQ9GcGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JYU4m/dJMcadI7vVc/KyVkM5aLXA6q6dnBQ9GcGK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JYU4m/dJMcadI7vVc/KyVkM5aLXA6q6dnBQ9GcGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJYU4m%2FdJMcadI7vVc%2FKyVkM5aLXA6q6dnBQ9GcGK%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;500&quot; height=&quot;273&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;559&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;요구사항 전달의 중요성&lt;/b&gt;&lt;/h2&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;그러면 그럴 때마다&lt;b&gt; &quot;아니 그게 아니라&quot;&lt;/b&gt; 라고 하실건가요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;알잘딱깔센 하게 만들어와야지 이게 뭐야&quot;&lt;/b&gt; 라고 화를 내실 건가요?&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;559&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cLrhRv/dJMcaglBVi1/lavimAoa4y5DZ5gW4qJR5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cLrhRv/dJMcaglBVi1/lavimAoa4y5DZ5gW4qJR5k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cLrhRv/dJMcaglBVi1/lavimAoa4y5DZ5gW4qJR5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcLrhRv%2FdJMcaglBVi1%2FlavimAoa4y5DZ5gW4qJR5k%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;500&quot; height=&quot;273&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;559&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;당연히 AI 도 마찬가지입니다.&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;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;사전 인터뷰를 해라&lt;/b&gt;&lt;/h2&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;b&gt;grill-me&lt;/b&gt; 입니다.&lt;/p&gt;
&lt;pre id=&quot;code_1781868127482&quot; class=&quot;prolog&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;shell&quot;&gt;&lt;code&gt;설명: 계획이나 디자인에 대해 사용자에게 끊임없이 질문하십시오. 사용자가 구축 전에 계획을 철저히 검증하고 싶어하거나, '그릴'과 같은 질문 유형을 사용할 때 유용합니다.

이 계획의 모든 측면에 대해 공통된 이해에 도달할 때까지 끊임없이 질문하십시오. 설계 트리의 각 분기를 따라가며 결정 간의 의존 관계를 하나씩 해결하십시오. 각 질문에 대한 권장 답변을 제시하십시오.
질문은 한 번에 하나씩 하고, 각 질문에 대한 답변을 기다린 후 다음 질문으로 넘어가세요. 여러 질문을 한꺼번에 하면 혼란스러울 수 있습니다.
질문에 대한 답을 코드베이스를 살펴보는 것으로 얻을 수 있다면, 코드베이스를 살펴보세요.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;이런 비슷한 스킬들이 아주아주 많은데요. 그 중에서 단언컨데 &lt;/span&gt;&lt;b&gt;grill-me&lt;/b&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt; 를 추천하는 이유는&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;정말 가볍고, 단순한데 강력하기 때문&quot;&lt;/b&gt; 입니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 스킬을 사용하면 AI Agent 가 프롬프트 내용에 대해서 5번, 10번, 15번, 그 이상 까지도 저에게 역질문을 합니다 .&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 역질문들은 제가 생각지도 못한 &lt;b&gt;&quot;구멍&quot;&lt;/b&gt; 을 채우는 역할을 해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또는 아는 내용이지만 &lt;b&gt;이것이 맞나요? A와 B중에 정확히 무엇이 맞나요?&lt;/b&gt; 하고 다시 되물어보면서 질문을&amp;nbsp;&lt;b&gt;&quot;더 명확하게&quot;&lt;/b&gt; 해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 차이는 결국에 서비스 품질로 이어집니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;559&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Sg7ct/dJMcahSkpOl/PCTGqUOrtKaWDOcdyg4HpK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Sg7ct/dJMcahSkpOl/PCTGqUOrtKaWDOcdyg4HpK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Sg7ct/dJMcahSkpOl/PCTGqUOrtKaWDOcdyg4HpK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSg7ct%2FdJMcahSkpOl%2FPCTGqUOrtKaWDOcdyg4HpK%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;500&quot; height=&quot;273&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;559&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;b&gt;grill-me&lt;/b&gt; 는 제가 개인적으로 거의 모든 작업의 시작에 사용하는 필수 스킬이기 때문에 소개드렸습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이건 진짜 돈 받고 풀어야하는 개꿀팁인데요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;superpowers 의 brainstorming&lt;/b&gt; 을 먼저 수행해서 빠르게 뼈대를 잡고 그걸 기반으로 &lt;b&gt;grill-me&lt;/b&gt; 를 돌리는걸 추천합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러고 &lt;b&gt;superpowers 의 writing-a-plan &lt;/b&gt;으로 넘어가서 문서 만들고 코드 구현까지 이어서 하면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;진짜 왠만한 주니어 개발자들은 다 씹어먹게 결과가 나옵니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;왜 자신있게 말하냐면, 저도 씹어 먹혔거든요. 제가 만든것 보다 잘 만들더라고요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고로 &lt;b&gt;grill-me&lt;/b&gt; 는 제가 만든 것은 아니고, 맷포콕 씨를 통해 알게 되었습니다.&lt;/p&gt;
&lt;figure id=&quot;og_1781868798035&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;skills/skills/productivity/grilling/SKILL.md at main &amp;middot; mattpocock/skills&quot; data-og-description=&quot;Skills for Real Engineers. Straight from my .claude directory. - mattpocock/skills&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/mattpocock/skills/blob/main/skills/productivity/grilling/SKILL.md&quot; data-og-url=&quot;https://github.com/mattpocock/skills/blob/main/skills/productivity/grilling/SKILL.md&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bLvghq/dJMb9c9G7Bi/TQudjZGbyNeZGuw66XlUE0/img.png?width=1200&amp;amp;height=600&amp;amp;face=971_129_1053_219,https://scrap.kakaocdn.net/dn/eiM86e/dJMb9efnijm/f5S6cw3dUmqjrcSIk9pAGk/img.png?width=1200&amp;amp;height=600&amp;amp;face=971_129_1053_219&quot;&gt;&lt;a href=&quot;https://github.com/mattpocock/skills/blob/main/skills/productivity/grilling/SKILL.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/mattpocock/skills/blob/main/skills/productivity/grilling/SKILL.md&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bLvghq/dJMb9c9G7Bi/TQudjZGbyNeZGuw66XlUE0/img.png?width=1200&amp;amp;height=600&amp;amp;face=971_129_1053_219,https://scrap.kakaocdn.net/dn/eiM86e/dJMb9efnijm/f5S6cw3dUmqjrcSIk9pAGk/img.png?width=1200&amp;amp;height=600&amp;amp;face=971_129_1053_219');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;skills/skills/productivity/grilling/SKILL.md at main &amp;middot; mattpocock/skills&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Skills for Real Engineers. Straight from my .claude directory. - mattpocock/skills&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.com&lt;/p&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;이미 있는 코드베이스를 기반으로 할 때에는&amp;nbsp;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;b&gt;grill-with-docs&lt;/b&gt;&lt;/span&gt;사용하면 됩니다.&lt;/p&gt;
&lt;figure id=&quot;og_1781868820530&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;skills/skills/engineering/grill-with-docs/SKILL.md at main &amp;middot; mattpocock/skills&quot; data-og-description=&quot;Skills for Real Engineers. Straight from my .claude directory. - mattpocock/skills&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/mattpocock/skills/blob/main/skills/engineering/grill-with-docs/SKILL.md&quot; data-og-url=&quot;https://github.com/mattpocock/skills/blob/main/skills/engineering/grill-with-docs/SKILL.md&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Cs9ml/dJMb9llgmQj/UkdFNOmh89vfPcgG2WkKb0/img.png?width=1200&amp;amp;height=600&amp;amp;face=971_129_1053_219,https://scrap.kakaocdn.net/dn/c4q3Ci/dJMb9eTYNP5/bqKMsQ73PrDzMkpc0BF4AK/img.png?width=1200&amp;amp;height=600&amp;amp;face=971_129_1053_219&quot;&gt;&lt;a href=&quot;https://github.com/mattpocock/skills/blob/main/skills/engineering/grill-with-docs/SKILL.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/mattpocock/skills/blob/main/skills/engineering/grill-with-docs/SKILL.md&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Cs9ml/dJMb9llgmQj/UkdFNOmh89vfPcgG2WkKb0/img.png?width=1200&amp;amp;height=600&amp;amp;face=971_129_1053_219,https://scrap.kakaocdn.net/dn/c4q3Ci/dJMb9eTYNP5/bqKMsQ73PrDzMkpc0BF4AK/img.png?width=1200&amp;amp;height=600&amp;amp;face=971_129_1053_219');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;skills/skills/engineering/grill-with-docs/SKILL.md at main &amp;middot; mattpocock/skills&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Skills for Real Engineers. Straight from my .claude directory. - mattpocock/skills&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.com&lt;/p&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;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발자 이야기</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/299</guid>
      <comments>https://11001.tistory.com/299#entry299comment</comments>
      <pubDate>Fri, 19 Jun 2026 20:34:34 +0900</pubDate>
    </item>
    <item>
      <title>[AI] AI 팩토리 건설, 초지능,폭발하는 데이터센터 AI칩 수요, 미국AI vs 중국AI 음모론 (퍼온글)</title>
      <link>https://11001.tistory.com/298</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;282&quot; data-origin-height=&quot;384&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1W1ln/dJMcahY7pdR/plcwUHKfQ3vmWUlM7VJpd0/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1W1ln/dJMcahY7pdR/plcwUHKfQ3vmWUlM7VJpd0/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1W1ln/dJMcahY7pdR/plcwUHKfQ3vmWUlM7VJpd0/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1W1ln%2FdJMcahY7pdR%2FplcwUHKfQ3vmWUlM7VJpd0%2Fimg.webp&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;282&quot; height=&quot;384&quot; data-origin-width=&quot;282&quot; data-origin-height=&quot;384&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;세계 1%는 이미 이 그림을 보고 베팅을 끝냈습니다.&lt;br /&gt;세계에서 가장 영향력 있는 AI&amp;middot;반도체 거물들이 똑같은 미래를 짓고 있습니다. 그리고 이 흐름을 못 따라가는 기업은 소리 없이 밀려나고 있습니다.&lt;br /&gt;이 글을 다 읽게 된다면 세상을 보는 시선이 달라질겁니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;AI 팩토리&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;젠슨 황은 최근 방한에서&lt;b&gt; 'AI 팩토리'&lt;/b&gt;를 이야기했습니다.&lt;br /&gt;AI 팩토리란 전기와 데이터를 넣으면 토큰이 생산되는 지능 생산시설입니다. 과거 데이터센터가 데이터를 저장하고 서비스를 운영하는 공간이었다면, AI 팩토리는 AI가 답변과 코드, 이미지, 의사결정을 만들어내는 토큰을 끊임없이 생산하는 공장입니다. 제철소가 철광석으로 철을 만들고 발전소가 전기를 생산하듯, AI 팩토리는 전력과 데이터를 지능으로 바꿔냅니다.&lt;br /&gt;그가 방한에서 제시한 청사진을 보면 GPU와 NPU가 연산을 수행하고, NVLink와 초고속 네트워크가 수만 개의 칩을 하나의 거대한 컴퓨터처럼 연결합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;그 위에서 AI 모델의 학습과 추론이 이뤄지고, 생산된 지능은 AI-RAN과 차세대 통신망을 통해 산업 현장으로 전달됩니다.&lt;br /&gt;로봇과 자율주행은 AI 팩토리가 생산한 지능이 현실 세계에서 움직이며, 제조업, 물류, 금융, 의료는 이 지능을 소비하는 수요처가 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소버린 AI는 국가마다 자국의 언어와 문화, 산업 데이터를 활용해 독자적인 AI 팩토리를 구축하는 전략입니다.&lt;br /&gt;칩 설계부터 데이터센터, 네트워크, AI 모델, 운영 소프트웨어까지 엔비디아는 DSX AI Factory 플랫폼 위에서 이 생태계를 구축하려 하고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;b&gt;결국 AI 팩토리는 전기를 넣어 토큰을 생산하고, 토큰을 다시 경제적 가치로 바꾸는 새로운 시대의 생산시설입니다.&lt;/b&gt;&lt;br /&gt;지금 시장의 가장 큰 논쟁은 이 투자가 거품이냐 진짜 수요냐입니다.&lt;br /&gt;여기에 답할 수 있는 사람은 반도체 공급망의 양 끝에 있습니다. 칩을 설계하는 쪽과, 그 칩을 만드는 쪽입니다.&lt;br /&gt;설계하는 쪽에는 AMD의 리사 수가 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;폭발하는 AI 칩 수요&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AMD는 엔비디아의 라이벌이지만, 리사 수는 2026년 초 CES 기조연설에서 지금이 &quot;10년짜리 슈퍼사이클의 시작&quot;이라고 했습니다.&lt;br /&gt;슈퍼사이클은 한두 해 반짝하는 수요가 아니라 10년 단위로 이어지는 구조적 호황을 뜻합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만드는 쪽에는 TSMC의 C.C. 웨이가 있습니다.&lt;br /&gt;엔비디아의 GPU도, AMD의 AI 칩도, 구글 TPU도 대부분 이 회사의 생산라인을 거칩니다. AI 시대의 파운드리 허브라고 불러도 과장이 아닙니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;그는 최근 실적 발표에서 &quot;AI 수요가 진짜인지 나도 긴장된다&quot;면서도, &quot;막상 보니 3개월 전 예상보다 수요가 더 강하다&quot;고 했습니다.&lt;br /&gt;그리고 최근 주주총회에서는 &quot;AI 칩 수요는 앞으로도 수년간 공급을 초과할 것&quot;이라고 말했습니다.&lt;br /&gt;TSMC는 AI 수요를 믿고 수백억 달러를 투자해야 합니다.&lt;br /&gt;수요를 잘못 읽으면 거대한 과잉설비가 남기 때문입니다.&lt;br /&gt;AI 칩을 설계하는 엔비디아와 AI 칩을 생산하는 TSMC가 같은 방향을 보고 있다는 점입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;오픈AI의 샘 알트만은 이를 비용 곡선으로 설명하고, 앤트로픽의 다리오 아모데이는 &quot;데이터센터 속 천재들의 나라&quot;라고 표현합니다.&lt;br /&gt;표현은 다르지만 그들이 가리키는 대상은 같습니다. 전기를 지능으로 바꾸는 거대한 AI 팩토리입니다.&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;재귀적 자기개선의 초기 단계&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;MIT 물리학자 맥스 테그마크는 2017년 책 '라이프 3.0' 에서 생명을 &quot;자기를 얼마나 직접 설계하는가&quot;로 세 단계로 나눴습니다.&lt;br /&gt;박테리아 같은 생명 1.0은 몸도 행동도 진화에 맡깁니다.&lt;br /&gt;인간 같은 생명 2.0은 몸은 타고나지만 지식과 문화라는 소프트웨어는 직접 바꿉니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생명 3.0은 소프트웨어뿐 아니라 자기 몸, 곧 하드웨어까지 스스로 설계하는 단계입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금 그 단계가 실제로 시작되고 있습니다.&lt;br /&gt;구글 딥마인드의 AlphaChip은 칩의 회로 배치를 AI가 직접 설계하는데, 사람이 몇 주 걸리던 일을 몇 시간 만에 끝내고 이미 구글의 자체 칩에 쓰이고 있습니다.&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가 자기가 돌아갈 몸을 직접 그리기 시작한 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;거물들도 같은 방향을 이야기하고 있습니다.&lt;br /&gt;알트만은 2025년 6월 에세이에서 자기 회사 연구자들이 AI 덕분에 두세 배 더 생산적이라며, 이것을 &quot;재귀적 자기개선의 초기 단계&quot;라고 불렀습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;b&gt;다리오 아모데이&lt;/b&gt;는 &quot;현세대 AI가 다음 세대를 스스로 만들어내는 시점이 1~2년밖에 안 남았을 수 있다&quot;고 했고, 데미스 하사비스도 2026년 5월 &quot;아직 시스템이 혼자 좋아지는 단계는 아니지만, 코딩 에이전트가 엔지니어를 훨씬 생산적으로 만드는 '부드러운 자기개선'은 이미 일어나고 있고, 모든 선도 연구소가 여기에 집중하고 있다&quot;고 했습니다.&lt;br /&gt;오픈AI는 2028년까지 '자동화된 AI 연구원'을 만들겠다는 목표를 내놨습니다.&lt;br /&gt;이 자기개선이 끝까지 가는 지점을 특이점이라 부릅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;b&gt;미래학자 레이 커즈와일&lt;/b&gt;은 오래전부터 2029년에 AI가 인간 지능에 닿고 2045년에 특이점이 온다고 예측해왔는데, 2024년 책에서는 그 2029년 예측이 오히려 보수적이었던 것 같다고 했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇다고 그 속도가 끝없이 빨라진다고 단정할 수는 없습니다.&lt;br /&gt;CEO들의 낙관과 달리, 연구자들 사이에서는 다른 목소리가 나오고 있습니다.&lt;br /&gt;출발점은 비슷합니다. &quot;데이터와 컴퓨터를 더 들이붓기만 하면 좋아지던 시기는 끝났다&quot;는 데에는 입장이 다른 연구자들이 대체로 동의하고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;b&gt;일리야 수츠케버&lt;/b&gt;는 오픈AI를 공동창업하고 핵심 모델을 이끈 과학자입니다.&lt;br /&gt;회사를 떠나 '안전한 초지능(SSI)'을 차린 그는 2024년 말 &quot;우리가 아는 형태의 사전학습은 끝난다&quot;며 &quot;데이터는 AI의 화석연료다. 인터넷은 하나뿐이고, 우리는 이미 그 정점에 도달했다&quot;고 했습니다.&lt;br /&gt;2025년 11월에는 &quot;스케일링의 시대에서 다시 연구의 시대로 넘어가고 있다&quot;고 정리했습니다.&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;오픈AI의 노암 브라운은 모델이 답하기 전에 더 오래 '생각하게' 만드는 추론에서 길을 찾습니다.&lt;br /&gt;그는 포커 AI 실험에서 &quot;봇이 20초 더 생각하게 했더니 모델을 10만 배 키운 것과 같은 효과가 났다&quot;고 말합니다.&lt;br /&gt;실제로 이 방식을 쓴 추론 모델은 같은 수학 시험 점수를 13%에서 83%로 올렸습니다. 안드레이 카르파티는 더 신중합니다.&lt;br /&gt;그는 쓸 만한 자율 에이전트가 나오려면 &quot;에이전트의 해가 아니라 에이전트의 10년&quot;이 걸린다며, 데모가 90% 작동하는 것과 99.9% 작동하는 것 사이에 똑같은 노력이 몇 겹씩 더 든다고 봅니다.&lt;br /&gt;메타를 떠난 얀 르쿤은 더 멀리 가서, 지금의 언어 모델을 키우는 길로는 사람 수준 지능에 닿지 못하고 세계의 작동 방식을 학습하는 '월드 모델'이 필요하다고 주장합니다.&lt;br /&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;br /&gt;이 공장을 돌리려면 무엇이 얼마나 드는가, 그리고 누가 그것을 쥐고 있는가.&lt;br /&gt;&lt;b&gt;연료는 컴퓨트이고, 이제 컴퓨트는 부품이 아니라 자원입니다.&lt;/b&gt;&lt;br /&gt;돈의 흐름을 보면 빅테크 다섯 곳이 데이터센터에 쏟는 설비투자 합계가 전 세계 석유&amp;middot;가스 생산에 들어가는 투자를 넘어섰습니다.&lt;br /&gt;2026년 빅4의 설비투자만 6,300억 ~ 7,250억 달러로 한 해 만에 60~77% 늘었습니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;핵심 연료: 석유 -&amp;gt; 컴퓨트 로의 이동&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;20세기에 그게 석유였다면, 지금은 컴퓨트입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;알트만은 이 자원의 성격을 두 가지로 정리했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;하나, AI의 지능은 훈련과 구동에 쓴 자원의 로그값과 대략 비례한다는 것입니다.&lt;/b&gt;&lt;br /&gt;돈을 열 배 더 쓰면 지능이 한 단계 올라간다는 뜻입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;b&gt;둘, 같은 수준의 AI를 쓰는 비용은 1년에 약 10배씩 떨어진다는 것입니다. &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무어의 법칙이 18개월에 두 배였던 것과 비교하면 훨씬 빠릅니다.&lt;br /&gt;그래서 그는 &quot;지능의 비용이 결국 전기 요금 수준으로 수렴할 것&quot;이라고 봅니다. 지능이 전기처럼 흔하고 싼 것이 된다는 이야기입니다.&lt;br /&gt;지능이 전기처럼 흔해지고, 단 하나의 자원이 문명 전체의 운명을 가르는 세계. 이런 설정을 SF가 이미 여러 번 그렸습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;프랭크 허버트의 '듄'에서 우주의 모든 권력은 '&lt;b&gt;스파이스&lt;/b&gt;'라는 한 물질로 결정됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단 하나의 행성에서만 나오고, 그것 없이는 우주여행도 멈춥니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 스파이스를 쥔 자가 우주를 쥡니다. 지금 그 스파이스 자리에 컴퓨트가 들어와 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스파이스가 유한했던 것처럼, 이 연료에도 바닥이 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;431&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wr9oX/dJMcagsosFZ/Bfnx8tuSaqRzMMpfbwpm4k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wr9oX/dJMcagsosFZ/Bfnx8tuSaqRzMMpfbwpm4k/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wr9oX/dJMcagsosFZ/Bfnx8tuSaqRzMMpfbwpm4k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fwr9oX%2FdJMcagsosFZ%2FBfnx8tuSaqRzMMpfbwpm4k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;239&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;431&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;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;AI 팩토리의 병목: 전력과 반도체&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;마이크로소프트의 사티아 나델라가 2025년 11월에 이렇게 말했습니다.&lt;/b&gt;&lt;br /&gt;&quot;지금 우리의 가장 큰 문제는 컴퓨트가 남아도는 게 아니라 전력이다. 꽂을 수 없는 칩이 창고에 쌓여 있을 수 있다.&quot; 칩은 충분히 사놨는데 그것을 돌릴 전기와 건물이 없다는 이야기입니다.&lt;br /&gt;게다가 추론, 곧 완성된 모델을 계속 돌려 답을 만들어내는 일이 전체 AI 연산의 80~90%를 차지하면서, 전력은 한 번 쓰고 마는 게 아니라 쉬지 않고 들어갑니다.&lt;br /&gt;미국 데이터센터의 전력 수요는 2028년 74GW에 이르는데, 확보 가능한 전력은 49GW가량 모자랍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;SK의 최태원은 병목을 한 칸 더 안쪽에서 봅니다.&lt;/b&gt;&lt;br /&gt;&quot;AI 칩의 진짜 병목은 메모리&quot;라며, 오픈AI가 요청한 월 90만 장의 HBM이 &quot;전 세계 한 달 생산량의 두 배&quot;라고 했습니다. 그리고 이 메모리 병목을 쥔 건 한국의 두 회사입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SK하이닉스는 2026년 1분기에 매출 52조 원, 영업이익 37조 원으로 사상 최대 실적을 냈는데, HBM 한 품목이 연 매출 200% 이상 성장하며 그 실적을 끌어올렸습니다.&lt;br /&gt;삼성전자도 같은 분기에 영업이익 57조 원으로 역대 최대를 찍으며 차세대 HBM4 양산에 들어갔습니다.&lt;br /&gt;젠슨 황은 2026년 6월 방한에서 삼성&amp;middot;SK하이닉스&amp;middot;마이크론 세 곳 모두 HBM4 자격 심사를 통과해 엔비디아의 차세대 플랫폼 '베라루빈'에 공급을 두고 경쟁 중이라고 확인했습니다.&lt;br /&gt;최태원은 그 자리에서 &quot;메모리 생산력을 두 배로 늘리겠다&quot;고 했습니다. AI 팩토리의 가장 깊은 병목 하나를 한국 기업이 쥐고 있는 셈입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;빨리타.jpeg&quot; data-origin-width=&quot;690&quot; data-origin-height=&quot;466&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m7gkJ/dJMb99Uks9j/JKwhI2svESjFps7CkqEPn0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m7gkJ/dJMb99Uks9j/JKwhI2svESjFps7CkqEPn0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m7gkJ/dJMb99Uks9j/JKwhI2svESjFps7CkqEPn0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm7gkJ%2FdJMb99Uks9j%2FJKwhI2svESjFps7CkqEPn0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;690&quot; height=&quot;466&quot; data-filename=&quot;빨리타.jpeg&quot; data-origin-width=&quot;690&quot; data-origin-height=&quot;466&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;b&gt;전력을 확보하는 일이 곧 AI 전략이 되면서, 원자력이 되살아나고 있습니다.&lt;/b&gt;&lt;br /&gt;1979년 노심 용융 사고로 악명 높은 쓰리마일섬에서, 사고와 무관하게 돌아가다 2019년 경제성 문제로 문을 닫았던 1호기 원자로가 마이크로소프트와 20년 전력 공급 계약을 맺고 2027년 재가동을 준비합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;아마존은 소형 원자로(SMR)로 최대 960MW를, 오라클은 원자로 세 기로 1GW급 데이터센터를 설계하고 있습니다.&lt;/b&gt;&lt;br /&gt;이 갈증은 전력에서 멈추지 않습니다. AI 인프라는 한 산업의 한계에 부딪힐 때마다 그 너머의 다음 산업을 끌어당깁니다. 원자력 다음은 핵융합입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;알트만이 의장을 맡았던 핵융합 스타트업 헬리온은 마이크로소프트에 2028년부터 핵융합 전기를 공급하겠다는 계약을 맺었습니다.&lt;br /&gt;구글은 커먼웰스 퓨전과 200MW 규모의 핵융합 전력 구매 계약을 체결했습니다. 늘 &quot;30년 뒤&quot;라고 불리던 핵융합이 전기를 사겠다는 계약서의 대상이 되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;그 옆에서 양자컴퓨팅도 움직입니다.&lt;/b&gt;&lt;br /&gt;구글의 윌로 칩은 2024년 말, 큐비트를 늘릴수록 오류가 줄어드는 단계에 처음 도달했습니다.&lt;br /&gt;전력 부족은 연산을 아예 지구 밖으로 밀어내고 있습니다.&lt;br /&gt;구글은 AI 칩을 실은 위성으로 궤도에서 연산을 돌리는 '프로젝트 선캐처'를 공개하며 2027년 시제 위성 발사를 예고했고, 엔비디아가 투자한 스타클라우드는 2025년 11월 이미 고성능 GPU를 실은 위성을 띄워 우주에서 AI 모델을 돌렸습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 이 모든 연산이 마지막으로 향하는 곳이 로봇입니다.&lt;br /&gt;피규어의 휴머노이드는 BMW 공장 라인에 들어갔고, 일론 머스크는 &quot;테슬라 가치의 80%가 옵티머스 로봇이 될 것&quot;이라며 연 100만 대 생산을 이야기합니다. 중국의 유니트리는 2025년에만 약 5,500대를 출하했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;한국도 이 경쟁의 한복판에 있습니다.&lt;/b&gt;&lt;br /&gt;현대차가 2021년 인수한 보스턴 다이내믹스는 2026년 1월 CES에서 양산형 전기 휴머노이드 아틀라스(Atlas)를 공개했고, 2028년부터 미국 조지아 공장에 투입해 부품 분류&amp;middot;이송부터 시작하기로 했습니다.&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;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;빅테크 주식이 못 오르는 이유: 무리한 설비투자&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2026년 빅4(마이크로소프트&amp;middot;구글&amp;middot;메타&amp;middot;아마존)의 설비투자는 6,300억 달러를 넘어섰는데, UBS 추정으로 이 금액이 그들이 사업에서 버는 영업현금흐름의 거의 전부를 잠식합니다.&lt;br /&gt;지난 10년 평균이 40% 수준이었던 것과 비교됩니다. 흑자 기업들이 모자란 돈을 빚으로 메우기 시작했고, 2026년 AI 관련 채권 발행은 약 5,700억 달러로 한 해 만에 거의 두 배가 될 전망입니다.&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;br /&gt;&lt;b&gt;오픈AI는 연 매출이 250억 달러를 넘어섰지만 2026년에 약 140억 달러 적자를 볼 것으로 예상되고, 흑자 전환은 2020년대 후반에서 2030년대로 잡혀 있습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;알트만이 밝힌 컴퓨트 약정 총액은 약 1.4조 달러로, 현재 매출의 50배가 넘습니다.&lt;/p&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;p data-ke-size=&quot;size16&quot;&gt;앤트로픽은 연 매출이 2026년 5월 약 470억 달러 규모까지 올라오며 기업가치가 1조 달러에 근접했지만, 두 회사 모두 아직 순이익을 내지 못합니다.&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;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;AI 버블론: 사실은 돈이 한바퀴 도는 것이다.&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 거품 논쟁이 나옵니다. 의심의 핵심은 돈이 한 바퀴 돌아 제자리로 온다는 구조입니다.&lt;br /&gt;엔비디아가 오픈AI에 투자하고, 오픈AI가 그 돈으로 오라클&amp;middot;코어위브의 컴퓨트를 빌리고, 그들이 다시 엔비디아 칩을 삽니다.&lt;br /&gt;분석가들은 이런 식으로 서로 사주는 거래가 AI 공급망 전체에 8,000억 달러 규모로 얽혀 있다고 봅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;국제통화기금(IMF)과 영란은행은 2025년 10월, AI 주식의 밸류에이션이 25년 전 닷컴 버블 수준에 근접했고 실망스러운 결과가 나오면 급격한 조정이 올 수 있다고 함께 경고했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;놀랍게도 가장 서늘한 경고는 당사자에게서 나왔습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아모데이는 2026년 초 한 대담에서 이렇게 말했습니다. &quot;내 매출이 1조 달러가 아니라 8천억 달러만 되어도, 그만큼 컴퓨트를 사들였다면 지구상 어떤 힘도 내 파산을 막을 수 없다.&quot; 시장 규모를 모른 채 데이터센터에 다년 계약을 걸어야 하는 구조 자체가 위험하다는 것입니다.&lt;br /&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;ARK인베스트의 캐시 우드는 AI가 학습 비용을 1년에 약 75%씩 떨어뜨려 경제 전반에 물가를 낮추는 힘으로 작용한다고 봅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1840년대 영국의 철도 광풍이 대표적입니다.&lt;br /&gt;의회가 한 해에만 263개의 철도회사 설립을 허가했고, 누구나 계약금 10%로 주식을 살 수 있었습니다.&lt;br /&gt;1845년 금리 인상과 함께 철도주는 약 66%까지 빠졌고, 허가된 노선의 3분의 1은 끝내 지어지지 않았으며, 전 재산을 넣은 중산층 가정이 무너졌습니다.&lt;br /&gt;&lt;b&gt;그런데 그때 깔린 선로가 오늘날 영국 철도망의 절반 이상이 되었습니다.&lt;/b&gt;&lt;br /&gt;1858년 대서양 횡단 전신 케이블은 개통 몇 주 만에 끊겨 초기 투자자들이 손실을 봤지만, 그 시도가 1866년의 성공으로 이어졌습니다.&lt;br /&gt;1930년대에는 전력왕 새뮤얼 인설의 제국이 8억 달러 손실과 함께 무너졌지만, 그가 깔아둔 발전망은 미국 전기화의 골격으로 남았고 붕괴는 오늘날의 회계&amp;middot;공시 규제를 낳았습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;가장 비슷한 사례는 닷컴 버블입니다.&lt;/b&gt;&lt;br /&gt;1990년대 후반 통신사들은 &quot;인터넷 트래픽이 100일마다 두 배&quot;라는 전망을 믿고 광케이블을 경쟁적으로 깔았습니다.&lt;br /&gt;2000년 거품이 터졌을 때 그 광케이블의 85~95%는 쓰이지 않은 채 묻혀 있었습니다.&lt;br /&gt;그런데 값이 폭락한 그 광케이블 위에서 유튜브와 넷플릭스, 클라우드가 자라났습니다. 구글은 2005년부터 헐값의 광케이블을 사들여 자기 망을 깔았습니다.&lt;br /&gt;깔 때는 광기였지만, 깔리고 나니 다음 시대의 토대가 된 것입니다.&lt;br /&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;제프 베조스가 지금의 AI를 &quot;생산적인 거품&quot;이라 부르는 근거가 앞쪽이라면, 마이클 버리 같은 회의론자가 보는 것은 뒤쪽입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI가 과거와 다른 점도 있습니다.&lt;br /&gt;투자 규모가 GDP에서 차지하는 비중이 철도(약 6%)보다 작고(2~3% 수준), 외부 차입이 아니라 빅테크의 내부 현금이 주된 자금원이라 무너지기까지의 문턱이 높습니다.&lt;br /&gt;다만 소수 기업에 대한 쏠림, 아직 없는 수익성, 그리고 점점 부채로 옮겨가는 위험은 과거 거품과 똑같이 닮아 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;엔비디아가 못오르는 이유: 모두가 자신의 칩을 만드려고 한다.&lt;/span&gt;&lt;/h2&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오픈AI는 브로드컴과 100억 달러 규모의 자체 칩을 만들기로 했고, 두 회사는 이를 10기가와트 규모로 키우며 &quot;AGI를 향한 분기점&quot;이라고 불렀습니다.구글은 TPU, 아마존은 트레이니움, 마이크로소프트는 마이아, 메타는 MTIA라는 자체 칩을 이미 가동하고 있습니다.&lt;br /&gt;메타는 약 6개월마다 새 칩을 내놓습니다.&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;이런 맞춤형 칩(ASIC)의 출하는 2026년에 44.6% 늘어 범용 GPU(16.1%)의 거의 세 배로 자랄 전망이고, 엔비디아의 약 70% 점유율이 깎일 거라는 예상이 나옵니다.&lt;br /&gt;큰 그림을 무대에서 공개적으로 말하는 건 젠슨 황이지만, 나머지는 입을 닫은 채 같은 것을 만들고 있습니다.&lt;br /&gt;풀스택을 떠드는 회사는 엔비디아뿐이어도, 모두가 그 풀스택의 한 층씩을 자기 것으로 가져가려 움직입니다.&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;엔비디아 젠슨황이 순회 공연을 그렇게 열심히 다닌 이유&lt;/span&gt;&lt;/h2&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하나는 인터커넥트입니다.&lt;br /&gt;엔비디아는 NVLink Fusion이라는 기술로 남이 만든 커스텀 칩까지 자기 연결망에 끌어들입니다.&lt;br /&gt;GPU 하나가 초당 1.8테라바이트로 다른 칩과 대화하는 이 연결망 위에 미디어텍&amp;middot;마벨&amp;middot;퀄컴의 칩을 얹게 하는 방식입니다.&lt;br /&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;br /&gt;엔비디아는 노키아에 10억 달러를 투자해 6G 이동통신 기지국에 AI 연산을 넣는 사업으로 발을 넓혔습니다.&lt;br /&gt;데이터센터를 넘어 통신망 자체를 자기 플랫폼으로 끌어들이는 것입니다.&lt;br /&gt;소프트웨어(CUDA)라는 기존 울타리가 약해지기 전에, 칩 너머의 층인 연결망과 통신, 운영까지 자기 플랫폼에 묶어두려는 움직임입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;중국 AI vs 미국 AI&lt;/span&gt;&lt;/h2&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2025년 1월, 중국 스타트업 딥시크가 미국 최고 모델에 가까운 성능을 훨씬 적은 비용으로 냈다고 알려지자 일주일 만에 엔비디아 시가총액이 하루에 약 6,000억 달러 증발했습니다.&lt;br /&gt;&lt;b&gt;&quot;중국은 AI를 못 한다&quot;는 통념이 깨진 순간입니다. 이후 알리바바를 비롯한 중국 기업들의 모델이 미국 최상위 모델과의 격차를 좁혔습니다.&lt;/b&gt;&lt;br /&gt;하드웨어에서도 중국은 다른 길을 찾았습니다.&lt;br /&gt;미국이 첨단 칩 수출을 막자, 화웨이는 성능이 떨어지는 칩을 수백 개씩 묶어 그 차이를 머릿수로 메웁니다. 값싼 전력과 큰 클러스터라는 중국식 해법입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;이 경쟁의 불확실성은 젠슨 황의 입에서 그대로 드러났습니다.&lt;br /&gt;그는 2025년 11월 한 행사에서 &quot;중국이 AI 경쟁에서 이길 것&quot;이라고 했다가 몇 시간 뒤 &quot;중국은 미국에 나노초 차이로 뒤처져 있을 뿐&quot;이라고 정정했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;미국 정부는 이 경쟁을 국가 전략으로 끌어올렸습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;트럼프 행정부가 2025년 7월 내놓은 '미국 AI 행동계획'은 첫 문장에서 &quot;미국은 인공지능에서 글로벌 지배를 달성하기 위한 경쟁 중&quot;이라고 못 박았습니다.&lt;br /&gt;같은 날 데이터센터 인허가를 빠르게 처리하는 행정명령과 미국 AI를 동맹국에 수출하는 프로그램이 함께 서명됐습니다.&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;br /&gt;&lt;b&gt;한쪽에는 &quot;적당히 팔아 중국을 우리 기술에 묶어두자&quot;는 논리가, 다른 쪽에는 &quot;차단해 격차를 벌리자&quot;는 논리가 있습니다.&lt;/b&gt;&lt;br /&gt;상무장관 하워드 러트닉은 엔비디아의 대중국 수출을 옹호하며 &quot;중국 개발자들이 미국 기술에 익숙해지게 만드는 것&quot;이 목적이고 중국에는 &quot;네 번째로 좋은 칩&quot;만 간다고 했습니다.&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;br /&gt;엔비디아의 중국용 칩 H20은 2025년 4월 막혔다가 7월에 풀렸고, 8월에는 엔비디아와 AMD가 대중국 매출의 15%를 미국 정부에 내는 조건이 붙었으며, 12월에는 더 강한 H200을 매출의 25%를 받는 조건으로 푸는 데까지 갔습니다. 그때마다 여야 안보 강경파가 반발했습니다.&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;이 혼란 속에서 젠슨 황은 다보스 2026에서 다른 각도의 주장을 폈습니다.&lt;br /&gt;막대한 설비투자가 거품의 신호가 아니라 &quot;&lt;b&gt;인류 역사상 가장 큰 인프라 빌드아웃&quot;&lt;/b&gt;의 증거라는 것입니다.&lt;br /&gt;그 근거로 그는 &quot;요즘 엔비디아 GPU를 빌리기가 너무 어렵고, 두 세대 전 GPU의 대여 가격마저 오르고 있다&quot;는 점을 들었습니다.&lt;br /&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;br /&gt;그는 딥시크 충격 직후 쓴 글에서 시장의 통념을 뒤집었습니다.&lt;br /&gt;대부분은 딥시크를 두고 &quot;적은 돈으로 비슷한 걸 만들었으니 칩을 막아봐야 소용없다&quot;고 읽었습니다. 아모데이의 생각은 반대입니다.&lt;br /&gt;기술이 싸지는 건 원래 예정된 일이고, 비용이 내려가면 같은 돈으로 더 멀리 갈 수 있으니 칩을 많이 가진 쪽이 오히려 더 유리해진다는 것입니다.&lt;br /&gt;&lt;b&gt;그래서 그는 &quot;딥시크는 수출통제를 더 중요하게 만들었다&quot;고 결론지었습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그의 논리는 두 갈래 미래로 정리됩니다.&lt;br /&gt;인간 대부분보다 똑똑한 AI를 만들려면 수백만 개의 칩과 수백억 달러가 드는데, 그 시점이 2026~2027년에 온다고 봅니다.&lt;br /&gt;그때 중국이 칩을 충분히 확보하면 미국과 중국이 각자 강력한 AI를 갖는 양극 세계가 되고, 확보하지 못하면 미국과 동맹만 가진 단극 세계가 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 우위가 영구적이 되는 이유는 자기개선 때문입니다.&lt;br /&gt;먼저 수백만 개의 칩을 확보한 쪽은 더 강한 모델을 만들고, 그 모델이 다시 더 나은 칩과 더 효율적인 AI를 설계합니다.&lt;br /&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;2026년 다보스에서 그는 중국에 첨단 AI 칩을 파는 것을 두고 &quot;북한에 핵무기를 파는 것과 같다&quot;고까지 말했습니다.&lt;br /&gt;엔비디아가 앤트로픽의 주요 파트너이자 투자자라는 점을 생각하면 매우 이례적으로 강한 발언입니다&lt;b&gt;. '먼저 차지하면 영원히 이긴다'&lt;/b&gt;는 논리는 SF 독자에게 낯설지 않습니다.&lt;br /&gt;&lt;b&gt;류츠신의 소설 '삼체'가 그린 '암흑의 숲'이 정확히 그것입니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;1333&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ii8l8/dJMcagTt85i/enBjRHsD66wQbiuLpMysJK/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ii8l8/dJMcagTt85i/enBjRHsD66wQbiuLpMysJK/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ii8l8/dJMcagTt85i/enBjRHsD66wQbiuLpMysJK/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIi8l8%2FdJMcagTt85i%2FenBjRHsD66wQbiuLpMysJK%2Fimg.webp&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;741&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;1333&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 우주에서는 어떤 문명도 상대의 속내를 확신할 수 없기에, 먼저 발견한 쪽이 먼저 쏘는 것만이 생존의 길입니다.&lt;br /&gt;미국과 중국이 서로의 AI를 잠재적 위협으로 보고, 한쪽은 칩을 틀어막아 상대의 발전을 막고 소설 속 외계 문명이 '지자(智子)'라는 입자를 보내 인류의 기초과학을 동결시킨 것처럼 다른 쪽은 값싼 전력과 머릿수로 그 봉쇄를 우회합니다.&lt;br /&gt;두 나라가 진짜 두려워하는 것은 상대의 AI가 무엇을 할 수 있느냐가 아니라, 상대가 그것을 먼저 가질지도 모른다는 불확실성 그 자체입니다.&lt;br /&gt;이건 이론이 아니라 이미 현실에서 돌아가고 있습니다.&lt;br /&gt;칩이 외교의 수단이 된 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;폭발적인 데이터베이스 건설&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오픈AI와 소프트뱅크, 오라클이 2025년 1월 발표한 스타게이트 프로젝트는 4년간 5,000억 달러, 10기가와트를 내건 미국 본토 인프라로 시작했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;텍사스 애빌린 본진은 이미 가동에 들어갔고, 2026년 6월에는 미시간에 160억 달러를 들인 1GW급 단지가 착공됐습니다.&lt;br /&gt;다만 같은 시기 애빌린을 2GW로 키우려던 확장 계획은 전력 확보 지연과 차세대 하드웨어 전환을 이유로 철회됐고, 오픈AI는 전체 인프라 약정을 1.4조 달러에서 2030년까지 약 6,000억 달러 규모로 낮춰 잡았습니다.&lt;br /&gt;짓겠다는 그림과 실제로 지어지는 그림 사이의 간격이 여기서 드러납니다.&lt;br /&gt;이 흐름은 미국을 넘어 중동으로 뻗었습니다.&lt;br /&gt;아랍에미리트 아부다비에는 5GW 규모의 미국&amp;middot;UAE 합작 AI 캠퍼스가, 사우디 국부펀드가 세운 회사에는 3년간 최대 60만 개의 엔비디아 유닛이 들어갑니다.&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 한 벌을 통째로 사는 것이 동맹의 입장료가 된 셈입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소프트뱅크의 손정의는 이 흐름의 가장 큰 베팅을 합니다.&lt;br /&gt;2026년 6월 파리에서 그는 AI를 두고 &quot;닷컴보다 10배, 아마 50배는 큰&quot; 혁명이라며 거품이 아니라 &quot;이제 막 시작&quot;이라고 했습니다.&lt;br /&gt;같은 자리에서 프랑스에 약 870억 달러를 들여 5GW 데이터센터를 짓겠다고 발표했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그는 2025년 12월 한국에서는 다른 경고를 했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한국의 GPU 확보 계획으로는 초지능에 &quot;턱없이 부족&quot;하며, 한 곳을 돌리는 데만 GPU 100만 장과 1GW 전력이 필요하다는 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;소버린 AI&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자국 AI 주권을 외칠수록 엔비디아라는 한 공급자에 더 깊이 묶이는 역설이 여기서 시작됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한국이 겪는 일은 AI 시대에 주권이 위협받는 한 가지 방식일 뿐입니다.&lt;br /&gt;같은 시기에 다른 나라들은 다른 방식으로 시험받고 있습니다.&lt;br /&gt;그린란드는 영토 자체가 표적입니다. 트럼프 행정부는 2025년부터 그린란드 인수를 공개적으로 밀어붙였는데, 명분은 희토류와 북극 항로입니다.&lt;br /&gt;둘 다 AI&amp;middot;반도체 공급망의 핵심 자원입니다.&lt;br /&gt;그린란드 총리는 2026년 1월 &quot;미국과 덴마크 중 굳이 고르라면 우리는 덴마크를 택한다. 주권은 양보할 수 없는 선&quot;이라며 거부했습니다.&lt;br /&gt;이란은 반대편 끝, 배제의 사례입니다.&lt;br /&gt;미국의 수출통제로 첨단 칩 접근이 막히자, 이란은 국산 AI 칩과 외국 서비스 없이도 작동하는 국가 AI 운영체제를 직접 만들겠다고 나섰습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;한 관계자는 이를 &quot;칩과 알고리즘의 전쟁&quot;이라 불렀습니다.&lt;/b&gt;&lt;br /&gt;세 나라를 겹쳐 보면 AI 시대 주권의 세 얼굴이 드러납니다.&lt;br /&gt;&lt;b&gt;영토(그린란드), 배제(이란), 종속(한국)입니다&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발 협력 분야의 한 분석가는 종속의 역설을 날카롭게 비판합니다.&lt;br /&gt;&lt;b&gt;&quot;소버린 AI를 가장 크게 외치는 사람은 어느 나라 정상이 아니라 엔비디아 CEO다. 그는 모든 나라에 자국 AI가 필요하다고 말하면서, 그 AI가 사야 할 GPU를 판다.&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그의 결론은 &quot;주권은 포장이고, 종속은 내용물&quot;이라는 것입니다.&lt;br /&gt;젠슨 황의 방한이 남긴 질문도 같습니다. 한국의 한 신문 사설처럼, 한국은 엔비디아에 &quot;필요한 나라&quot;는 됐지만 &quot;대체 불가능한 나라&quot;가 된 것은 아닙니다.&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;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;기술 기업이 국가권 권력을 쥔다면?&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;왜 하필 이 사람들이, 왜 지금 이 큰 베팅을 동시에 하는 걸까요.&lt;/b&gt;&lt;br /&gt;이 질문의 답은 1997년에 나온 책 한 권으로 거슬러 올라갑니다.&lt;b&gt; '주권적 개인(The Sovereign Individual)'&lt;/b&gt;입니다.&lt;br /&gt;이 책이 중요한 이유는, 실리콘밸리에서 가장 영향력 있는 투자자인 피터 틸이 이 책을 &quot;지금까지 읽은 가장 영향력 있는 책&quot;으로 꼽으며 &quot;페이팔을 시작하기 직전에 읽었다&quot;고 밝혔고, 2020년 재판에 직접 서문을 썼기 때문입니다.&lt;br /&gt;책의 예언은 지금과 겹치고 있습니다.&lt;br /&gt;정보혁명이 국민국가를 약화시키고, 국가의 통제를 벗어난 소수의 '인지 엘리트'가 등장한다는 것입니다.&lt;br /&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;br /&gt;&lt;b&gt;국가 바깥에 기술로 새 공간을 만들라는 것이었습니다. 페이팔이 그 첫 시도였고, 우주와 자유도시 실험이 뒤를 이었습니다.&lt;/b&gt;&lt;br /&gt;그런데 2025년 들어 이 흐름이 뒤집힙니다.&lt;br /&gt;탈출을 말하던 사람들이 정치의 정점에 올라섰습니다. 틸이 후원한 J.D. 밴스가 부통령이 됐고, 페이팔 창업 멤버였던 데이비드 색스가 백악관에서 미국의 AI 정책을 맡았습니다.&lt;br /&gt;한편 틸의 펀드는 오픈AI와 앤트로픽 양쪽에 투자해, 어느 쪽이 이기든 같은 네트워크가 지분을 챙기도록 해두었습니다.&lt;br /&gt;그 책이 그린 설계도가 이번에는 탈출이 아니라 통치의 형태로 실현되고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;기업이 국가급 권력을 쥐기 시작하면 세상은 어떤 모습이 될까요.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것도 SF가 먼저 그렸습니다. 사이버펑크입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TsnO9/dJMcabLs6MP/b5QwLsvaCRSKnC8YzqBbe1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TsnO9/dJMcabLs6MP/b5QwLsvaCRSKnC8YzqBbe1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TsnO9/dJMcabLs6MP/b5QwLsvaCRSKnC8YzqBbe1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTsnO9%2FdJMcabLs6MP%2Fb5QwLsvaCRSKnC8YzqBbe1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;281&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;윌리엄 깁슨의 소설 '뉴로맨서', 영화 '블레이드 러너', 게임 '사이버펑크 2077'에는 공통점이 있습니다. 정부보다 강한 거대 기업이 사회를 실질적으로 지배합니다.&lt;br /&gt;도시의 네온사인과 마천루는 국가가 아니라 기업의 영역 표시입니다. 저는 전에 이 구도를 '메가 컴프', 곧 소수의 거대 컴퓨팅 기업이 지능 인프라를 독점하는 구조라고 불렀습니다.&lt;br /&gt;지금 거물들의 행동이 그 풍경을 현실로 옮기고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;일론 머스크의 xAI는 발전소급 전력을 끌어 쓰는 '콜로서스'라는 슈퍼컴퓨터를 짓고, 머스크는 이것을 &quot;디지털 초지능의 여명을 위해 설계됐다&quot;고 표현합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저커버그의 메타는 1GW급 데이터센터 '프로메테우스'를 2026년 가동하고 최대 5GW까지 키울 '하이페리온'을 짓고 있습니다.&lt;br /&gt;저커버그 본인의 표현으로 이 시설 하나가 &quot;맨해튼 상당 부분을 덮는&quot; 크기이고, 두 시설이 쓰는 전력은 미국 가정 400~500만 가구분에 맞먹습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이 힘을 어떻게 쓸 것인가를 두고, 만드는 사람들 자신이 네 갈래로 갈립니다.&lt;/b&gt;&lt;br /&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;오픈AI의 알트만은 '풍요와 보편화'를 말합니다.&lt;br /&gt;지능에 대한 접근이 결국 기본적 인권처럼 될 것이라며, &quot;매주 1GW의 새 AI 인프라를 찍어내는 공장&quot;을 목표로 내겁니다. 안전에 대한 그의 답은 기술을 조금씩 세상에 내보내 사회가 함께 적응하게 하는 것입니다.&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그가 2025년 7월 내놓은 '개인 초지능' 선언의 핵심은, 초지능을 중앙에서 통제해 모든 노동을 자동화하고 사람들은 그 결과를 배당으로 받는 방식이 아니라, 그 힘을 개인의 손에 직접 쥐여 주겠다는 것입니다.&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;br /&gt;그는 2026년 4월 한 글에서 &quot;AGI는 한번 보면 다시 못 본 척할 수 없다. 거기엔 '절대반지' 같은 역학이 있어 사람을 미치게 만든다&quot;며, 해법은 누구도 그 반지를 독점하지 않도록 기술을 널리 나누는 것이라고 했습니다.&lt;br /&gt;&lt;b&gt;&quot;소수의 AI 연구소가 인류의 미래를 결정하는 건 옳지 않다&quot;는 겁니다.&lt;/b&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;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;AI 와 고용&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스탠퍼드 연구진은 2025년 이를 '탄광 속 카나리아'라 불렀습니다.&lt;br /&gt;AI에 많이 노출된 직종에서 22~25세 청년 고용이 2년 새 13% 줄었는데, 같은 직종의 경력직은 오히려 늘었습니다.&lt;br /&gt;AI가 학교에서 배운 지식은 대체해도 현장에서 쌓는 경험은 아직 대체하지 못하기 때문입니다.&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;2026년 1분기에만 테크 업계에서 약 7만 8천 명이 해고됐고 그 절반가량이 AI&amp;middot;자동화 탓이었습니다.&lt;br /&gt;세일즈포스 CEO는 그해 소프트웨어 엔지니어를 한 명도 새로 뽑지 않았다고 했습니다.&lt;br /&gt;'AI 대부' 제프리 힌턴의 말대로 &quot;AI는 소수를 훨씬 부유하게, 대다수를 더 가난하게&quot; 만들고 있는 셈입니다. 그는 기본소득으로 메우면 되지 않느냐는 물음에 &quot;그것은 사람이 일에서 얻는 존엄을 다루지 못한다&quot;고 했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아모데이는 한때 &quot;5년 안에 초급 사무직의 절반이 사라질 수 있다&quot;고 했다가, 2026년에는 &quot;일의 90%를 자동화하면 나머지 10%가 100%로 커진다&quot;는 논리로 말을 바꿨습니다.&lt;br /&gt;다만 그조차 &quot;AI는 너무 빨라서 그 전환기에 밀려난 사람을 제때 구하지 못할 수 있다&quot;는 단서를 달았습니다.&lt;br /&gt;이 격차는 한국 사회에 이미 또렷한 신호로 나타나고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;AI 가 완전히 뒤바꾼 고용 보상 체계. 이런 AI발&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2025년 실적으로 SK하이닉스는 기본급의 29배가 넘는 성과급을 풀어&lt;/b&gt;,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;연봉 1억 원인 직원이 1억 5천만 원에 가까운 보너스를 받았습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;같은 시기 중소기업 임금은 대기업의 61% 수준에 머물렀고, 일도 구직도 하지 않는 '쉬었음' 청년이 20대에서만 43만 명에 이릅니다.&lt;/b&gt;&lt;br /&gt;같은 생태계 안에서도 칩을 만드는 본사와 부품을 대는 협력사, 본사 안에서도 사업부에 따라 보상이 몇 배씩 갈립니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;'AI가 만드는 부'가 어디로 흐르는지를 성과급 명세서가 먼저 보여주고 있는 겁니다.&lt;/b&gt;&lt;br /&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;오픈AI 내부 논의에서도 인간에게 남는 몫은 &quot;직접 만드는 능력&quot;이 아니라 &quot;좋은 문제를 고르는 감각, 중간 결과를 의심하는 눈, 검증 방법을 설계하는 능력&quot;으로 옮겨간다고 봅니다.&lt;br /&gt;일리야 수츠케버가 거듭 강조한 문장이 이를 요약합니다. &quot;결국 문제는 전부 권력이다.&quot;&lt;br /&gt;마이크로소프트의 사티아 나델라는 2026년 6월, 이 변화를 '자본'의 언어로 바꿔놓았습니다. 이제 모든 회사가 두 종류의 자본을 쌓아야 한다는 것입니다.&lt;br /&gt;사람의 지식&amp;middot;판단&amp;middot;관계&amp;middot;패턴 인식인 '인적 자본'과, 회사가 직접 만들고 소유하는 AI 역량인 '토큰 자본'입니다.&lt;br /&gt;그는 &quot;일이나 직무는 떠넘길 수 있어도 학습은 떠넘길 수 없다&quot;며, 사람과 AI가 복리로 함께 쌓이는 학습 루프를 쥔 회사만 살아남는다고 했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;범용 모델은 갈아끼울 수 있어도 그 안에 쌓인 '회사 고참'의 전문성을 잃지 않는 것, 그것이 앞으로 기업 주권의 시험대라는 겁니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 거시경제의 그늘이 드러납니다.&lt;br /&gt;나델라 본인이 비유했듯, 세계화 1단계에서 공장을 해외로 넘길 때도 GDP 숫자는 멀쩡해 보였습니다.&lt;br /&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;AI 시대에 비워지는 것은 공장이 아니라 '지식' 그 자체입니다. 한 회사가 수십 년 쌓은 전문성이 모델 속으로 빨려 들어가 누구나 쓰는 상품이 되면, 그 회사는 자기 산업에서 발밑이 꺼집니다.&lt;br /&gt;나델라는 &quot;소수의 모델이 모든 가치를 빨아들이면 정치경제가 결코 그것을 용납하지 않을 것&quot;이라고 경고했는데, 정작 그 소수 중 하나가 마이크로소프트입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;토큰의 경제화&lt;/span&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;br /&gt;컴퓨팅을 일찍 확보한 쪽은 수백 개의 자율 작업을 동시에 돌리며 지능을 매일 복리로 쌓지만, 그렇지 못한 쪽은 표준이 된 방식을 따라가기만 해도 한 달 예산을 사흘 만에 태웁니다.&lt;br /&gt;이걸 '토큰 불평등'이라 부르는데, 문제는 이 격차가 일시적이지 않고 대물림된다는 점입니다. 지금 굳어지는 계급은 다음 세대로 넘어갑니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;b&gt;토큰이 곧 삶을 가르는 화폐가 되는 세계를 영화 '인 타임'이 정확히 그렸습니다.&lt;/b&gt;&lt;br /&gt;그 세계에서 시간은 화폐이고, 사람들은 팔뚝에 새겨진 시계로 남은 시간을 벌어 연명합니다.&lt;br /&gt;부자는 수백 년을 비축해 사실상 불멸하고, 빈자는 하루치를 벌지 못하면 그 자리에서 멈춥니다. 토큰을 쌓아두는 자와 매일 벌어 그날 쓰는 자의 격차가 그대로 수명이 되는 겁니다.&lt;br /&gt;현실의 통계도 이 그림을 따라갑니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2025년 한 분기에 미국 상위 10% 가구의 부는 5조 달러 늘었는데 하위 50%는 1,500억 달러 느는 데 그쳤고, 하위 절반이 가진 주식은 전체의 1%뿐입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;b&gt;엔비디아 주가가 아무리 올라도 국민 절반의 통장과는 무관합니다.&lt;/b&gt;&lt;br /&gt;지능이 값싸고 흔해질수록, 그것이 소유한 소수의 전유물이 되는 역설입니다.&lt;br /&gt;계급이 아예 공간으로 갈라지는 장면은 영화가 백 년 전부터 그려왔습니다.&lt;br /&gt;1927년 '메트로폴리스'에서 지상의 엘리트는 정원을 거닐고, 지하의 노동자는 기계를 돌리다 스러집니다.&lt;br /&gt;2013년 '엘리시움'에서 부자는 궤도 위 낙원에서 첨단 의료를 누리고, 지구에 남은 다수는 과밀과 빈곤 속에서 그들의 로봇에게 통제받습니다.&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;프랭크 허버트가 그 설정으로 경고한 것은 기계 자체가 아니라, 기계에 지능을 위탁한 인류가 그것을 쥔 소수 기술 계급에 영영 종속된다는 미래였습니다.&lt;br /&gt;그래서 그 세계는 기계 대신 인간을 극한까지 훈련시킨 '멘타트'를 길렀습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2026년의 우리는 정반대로, 기계에 지능을 통째로 맡기는 길을 골랐습니다.&lt;/b&gt;&lt;br /&gt;그렇다면 허버트의 질문이 그대로 돌아옵니다. 그 지능을 쥔 소수는 누구이고, 나머지는 어디에 서게 되는가.&lt;br /&gt;일리야 수츠케버는 &quot;인간은 방대한 사전지식 없이도 지속학습으로 배운다&quot;며 그것이 기계에 아직 없는 능력이라고 했지만, 정작 그 지속학습의 압박은 사람을 짓누릅니다.&lt;br /&gt;프롬프트를 익히면 에이전트가, 에이전트를 익히면 루프 설계가 나오는 식으로 새 기법이 끝없이 쏟아져, 엔지니어의 절반 넘는 수가 AI를 쓴 뒤 오히려 핵심 역량이 퇴화했다고 답할 정도입니다.&lt;br /&gt;지능이 흔해지는 시대에, 사람은 그 지능을 따라잡느라 지쳐갑니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;지능 권력의 세 갈래 길&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 권력이 어디로 쏠리느냐를 두고 세 갈래 길이 갈립니다. 방향은 다른데 종착지는 비슷합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;첫째는 기업이 국가를 흡수하는 길입니다.&lt;/b&gt;&lt;br /&gt;경제학자 야니스 바루파키스는 이미 자본주의가 끝나고 '기술 봉건주의'가 들어섰다고 봅니다. 아마존&amp;middot;구글 같은 '클라우드 자본'이 중세 영주처럼 군림하고, 사용자는 클릭과 데이터로 공짜 가치를 바치는 농노가 됐다는 것입니다.&lt;br /&gt;&lt;b&gt;둘째는 국가가 기업을 흡수하는 길입니다.&lt;/b&gt;&lt;br /&gt;팔란티어의 알렉스 카프는 &quot;실리콘밸리가 사무직 일자리를 다 빼앗으면서 군은 등한시하면, 결국 기술이 국유화될 것&quot;이라고 경고합니다. 실제로 앤트로픽이 국방부의 요구를 일부 거부하자 '공급망 리스크'로 지정된 일이 있었습니다.&lt;br /&gt;&lt;b&gt;셋째는 둘 다에서 벗어나려는 '주권적 개인'의 길입니다.&lt;/b&gt;&lt;br /&gt;컴퓨터로 시작하는 신생 국가를 주장하는 '네트워크 스테이트' 운동, 트럼프의 그린란드 인수 시도, 테크 억만장자들이 짓는 자유도시 실험이 그 줄기입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 모든 갈래 위에서, 만드는 사람들 스스로 '속도를 늦추는 장치'를 요구하기 시작했습니다.&lt;br /&gt;앤트로픽 공동창업자 잭 클라크는 자신을 '기술 낙관주의자'로 규정하면서도 '적절한 공포(appropriate fear)'를 같이 가져야 한다고 말합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그는 AI를 &quot;단순하고 예측 가능한 기계가 아니라, 진짜이자 이해 불가한 생명체&quot;라고 부릅니다.&lt;br /&gt;AI는 설계도대로 '만들어진' 것이 아니라 데이터 속에서 '길러진' 존재라서, 만든 사람조차 그 속을 다 알지 못한다는 겁니다.&lt;br /&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;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;AI 규제, 소프트웨어의 몰락&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다리오 아모데이는 2026년 6월 에세이에서 한 발 더 나갔습니다.&lt;br /&gt;3년간 앤트로픽의 공식 입장이던 '투명성'을 폐기하고 &quot;이제는 투명성을 넘어 구속력 있는 규제로 가야 한다&quot;고 선언한 겁니다.&lt;br /&gt;항공기가 안전 시험을 통과해야 뜨듯, 일정 규모 이상의 AI 모델은 사이버&amp;middot;생물무기&amp;middot;통제 상실 같은 영역에서 의무 시험을 받고 기준 미달이면 정부가 출시를 막아야 한다는 것입니다.&lt;br /&gt;그는 &quot;AI를 마케팅 문제로 보는 시각을 완전히 거부한다. 사람들이 불안해하는 건 위험이 진짜라는 걸 정확히 알아챘기 때문&quot;이라고 했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;규제가 논의되는 사이, 시장에서는 이미 산업 지도가 통째로 다시 그려지고 있습니다. AI 팩토리가 만든 지능이 가장 먼저 집어삼키는 건 기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;존 소프트웨어 산업입니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마이크로소프트의 나델라는 2024년 말, 기존 기업용 소프트웨어(SaaS)가 &quot;에이전트 시대에 다 무너질 것&quot;이라고 했습니다. 그가 든 이유는 냉정합니다.&lt;br /&gt;&quot;오늘의 비즈니스 앱은 결국 데이터베이스 위에 업무 규칙을 얹어둔 것&quot;인데, 그 업무 규칙이 AI 에이전트 층으로 빠져나가면 앱은 껍데기만 남는다는 겁니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자연어로 지시하면 AI가 여러 시스템을 동시에 읽고 쓰니, 사람이 특정 앱 화면을 열 이유가 사라집니다.&lt;br /&gt;실제로 2026년 2월, 월가가 이 논리를 받아들이자 소프트웨어 주식에서 단 2주 만에 약 1조 달러가 증발했습니다(고점 대비로는 2조 달러). 사람 머릿수, 곧 '좌석 수만큼 받던' 구독 모델이 흔들린 겁니다.&lt;br /&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;세일즈포스의 베니오프 같은 SaaS 진영은 &quot;다 헛소리&quot;라 반박하고, 핀테크 클라르나가 한때 세일즈포스를 끊겠다고 했다가 &quot;AI로 갈아탄 게 아니라 다른 소프트웨어로 옮긴 것&quot;이라 정정한 사례처럼 현실은 '대체'와 '과장' 사이 어딘가에 있습니다.&lt;br /&gt;다만 분명한 건, 사람 머릿수로 값을 매기던 소프트웨어 경제가 통째로 흔들린다는 점입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소프트웨어가 무너진 자리에 들어서는 건 'AI 운영체제'입니다.&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;AI 운영체제&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오픈AI는 2025년 10월, ChatGPT 안에서 외부 앱이 직접 돌아가는 생태계를 열었습니다. ChatGPT 안에서 앱을 자연어로 부르는 방식인데, 매체들은 이를 &quot;AI 비서 안에 들어온 앱스토어&quot;, 사실상 새 운영체제라 불렀습니다.&lt;br /&gt;알트만은 &quot;사람들이 ChatGPT를 자기 삶 전체가 담긴 운영체제처럼 쓰기 시작했다&quot;고 했고, ChatGPT 사용자는 2026년 월 10억 명을 넘었습니다.&lt;br /&gt;AI를 운영체제로 본다면 앱스토어(앱 생태계), 시스템콜(MCP), 셸(자연어), 설치 기반(10억 사용자)이 한꺼번에 갖춰지고 있는겁니다.&lt;br /&gt;구글도 검색창 자체를 자연어 AI로 바꾸며 '제미나이 운영체제'를 내겁니다.&lt;br /&gt;버튼을 누르는 시대에서 의도를 말하는 시대로, 인터페이스의 지층이 통째로 바뀌고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;운영체제가 바뀌면 그것을 담을 기계도 바뀝니다.&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;br /&gt;애플은 뭐하냐&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;AI 팩토리가 만든 지능이 사람에게 닿는 마지막 관문, 디바이스 전쟁입니다.&lt;/b&gt;&lt;br /&gt;오픈AI는 아이폰을 디자인한 조니 아이브의 회사를 약 64억 달러에 사들였습니다. 둘이 그리는 첫 기기는 화면이 없습니다.&lt;br /&gt;주머니나 책상에 두고 늘 곁에서 주변을 보고 듣는 '동반자'인데, 알트만은 이를 영화 'Her'에 빗댑니다.&lt;br /&gt;영화 속 주인공이 운영체제 '사만다'와 사랑에 빠지듯, 화면 없이 말로만 대화하는 AI를 일상에 두겠다는 겁니다.&lt;br /&gt;메타는 다른 길로 안경을 밀어붙여 2025년에만 AI 안경을 700만 대 넘게 팔았고, 저커버그는 &quot;안경이 다음 컴퓨팅 플랫폼&quot;이라 단언합니다.&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;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;이 모든 전쟁에서 가장 충격적인 건, 지난 20년 디바이스의 왕이던 애플이 뒤처졌다는 사실입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;애플은 2024년 '더 똑똑한 시리'를 약속했지만 핵심 기능을 2026년으로, 다시 그 뒤로 미뤘습니다.&lt;br /&gt;허위 광고 집단소송에 2억 5천만 달러로 합의했고, 2026년 6월 WWDC에서는 결국 자존심을 접고 새 시리의 두뇌로 구글 제미나이를 연 10억 달러에 빌려 쓴다고 공식 발표했습니다.&lt;br /&gt;AI 책임 임원은 은퇴했고, 디자인 총괄은 메타로 떠났으며, 팀 쿡은 2026년 9월 하드웨어 출신에게 CEO 자리를 넘깁니다. 2026년 초에는 알파벳(구글)이 2019년 이후 처음으로 애플의 시가총액을 넘어섰습니다.&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;br /&gt;칩과 기기를 쥐는 것만으로는 부족하고 지능을 찍어내는 공장을 쥐어야 한다는 이 시대의 규칙을, 애플의 추락이 가장 선명하게 보여줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;운영체제와 디바이스를 쥔 자가 마지막으로 노리는 건 '거래' 그 자체입니다.&lt;br /&gt;검색하고 비교하고 결제하던 모든 길목을 AI가 대신 걷기 시작했습니다.&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;에이전트 결제 프로토콜&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이걸 위해 2025년 하반기, 거대 기업들이 일제히 '에이전트 결제 프로토콜'을 깔았습니다. 구글은 AP2를, 오픈AI는 스트라이프와 함께 ACP를 내놨고, ChatGPT 안에서 대화하다 바로 물건을 사는 '인스턴트 체크아웃'이 열렸습니다.&lt;br /&gt;코인베이스는 스테이블코인으로 기계끼리 결제하는 x402를 깔았고, 비자&amp;middot;마스터카드&amp;middot;페이팔도 각자 에이전트 결제망을 들고 나왔습니다.&lt;br /&gt;모델을 도구에 연결하는 게 MCP였다면, 이건 그 위에 '돈'을 얹는 층입니다. AI가 스스로 사고팔 수 있게 된 겁니다.&lt;br /&gt;그래서 'AI를 쥔 자가 모든 시장을 먹는다'는 말이 나옵니다.&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;AI 요약이 뜨면 사람들이 링크를 누르는 비율이 절반으로 줍니다. 검색에서 시작하던 트래픽과 광고가 답변 엔진으로 빨려 들어가는 겁니다.&lt;br /&gt;다음은 쇼핑입니다.&lt;br /&gt;맥킨지는 2030년 미국에서만 1조 달러어치 거래가 AI 에이전트를 거칠 거라 봅니다. 에이전트가 모든 상점을 가로질러 최저가를 찾아 사주면, 아마존조차 'API 뒤의 한 가맹점'으로 내려앉을 수 있습니다.&lt;br /&gt;실제로 2026년 3월, 아마존은 자기 사이트에서 대신 쇼핑하는 퍼플렉시티의 AI를 막아달라며 소송을 걸어 법원의 금지명령을 받아냈습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;알트만은 ChatGPT로 물건을 사면 2% 정도 수수료만 받고 &quot;순위는 절대 돈으로 바꾸지 않겠다&quot;고 합니다.&lt;br /&gt;하지만 검색&amp;middot;비교&amp;middot;결제&amp;middot;추천이 한 손에 모이면, 광고든 수수료든 그 길목을 쥔 자가 가치사슬 전체를 거두게 됩니다.&lt;br /&gt;AI 경쟁의 끝은 모든 산업을 차지하는 승자독식이고 거기엔 지킬 해자가 없습니다.&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;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;정부가 기업 지분을 사들인다.&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;트럼프 행정부는 2025년 들어 정부가 기업 지분을 사들이기 시작했습니다.&lt;br /&gt;인텔 지분 약 10%(89억 달러)를 가져가 최대 주주가 됐고, 희토류&amp;middot;원전 기업까지 1년 새 11곳에 100억 달러 넘게 들어갔습니다.&lt;br /&gt;미국 국부펀드 설립을 지시했고, 약 12조 달러 규모의 퇴직연금을 사모&amp;middot;AI 같은 자산에 열어줬습니다.&lt;br /&gt;엔비디아와 AMD가 중국에 칩을 팔면 그 매출의 15%, 더 센 칩은 25%를 정부가 통행료처럼 떼어 갑니다. 규제 권한을 지렛대로, 국가가 AI 거래의 길목에서 직접 현금을 걷는 구조입니다.&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;알트만은 2016년 트럼프를 &quot;미국에 대한 전례 없는 위협&quot;이라 불렀던 사람입니다.&lt;br /&gt;그런데 2025년 1월, 트럼프 취임 다음 날 백악관에서 5,000억 달러짜리 스타게이트를 나란히 발표하며 대통령을 치켜세웠고, 취임식에는 개인 돈 100만 달러를 냈습니다.&lt;br /&gt;2026년 6월에는 트럼프가 &quot;오픈AI&amp;middot;앤트로픽&amp;middot;xAI 같은 큰 기업들의 지분 일부를 미국 국민이 갖는 구상&quot;을 공개적으로 꺼냈습니다.&lt;br /&gt;알트만이 먼저 제안한 '공공부펀드' 아이디어입니다. AI 기업이 지분을 정부에 기부하면 그것을 종잣돈 삼아 전 국민에게 배당한다는 겁니다.&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의 공적 소유'라는 한 지점에서 만난다는 점입니다.&lt;br /&gt;풍요라는 명분 뒤에는 더 음습한 구조가 있습니다. 규제하는 정부가 동시에 그 기업의 주주가 되면, 국가와 AI 공장은 한 몸이 됩니다. 누가 누구를 견제하느냐는 질문 자체가 사라지는 겁니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI가 거래의 길목을 쥐고 그 위에 국가까지 주주로 올라탄 세상은, 기업&amp;middot;국가&amp;middot;개인 어느 길로 가든 결국 통제 사회라는 같은 종착지로 모입니다.&lt;br /&gt;하버드의 쇼샤나 주보프는 이것을 '감시 자본주의'라 부르며, 그 권력의 본질을 &quot;인간의 행동을 알아내 타인의 목적에 맞게 빚어내는 힘&quot;이라고 정의했습니다.&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;br /&gt;추상적인 이야기가 아닙니다. 팔란티어의 시스템은 이미 여러 정부 데이터베이스를 엮어 사람을 거의 실시간으로 추적하고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;당신이 진짜 사람이라는 것을 증명하기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지능이 흔해질수록 오히려 비싸지는 게 하나 있습니다. '진짜 사람'이라는 증명입니다. 샘 알트만이 오픈AI와 별개로 세운 회사 '월드'가 이 문제를 정면으로 겨냥합니다.&lt;br /&gt;월드는 Orb라는 구체형 장치로 홍채를 스캔해 1만 2,800자리 코드로 바꾸고, 그 사람이 봇이 아닌 인간임을 증명하는 '월드 ID'를 발급합니다.&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;알트만의 설명은 분명합니다. &quot;AGI 시대에 인간을 식별하고 인증할 방법이 필요했다. 인간이 계속 특별하고 중심적인 존재로 남도록.&quot; 2025년 미국에도 출시됐고, 전 세계에서 1,800만 명 넘게 홍채를 등록했다고 회사는 말합니다.&lt;br /&gt;2026년에는 틴더&amp;middot;줌과 손잡고 딥페이크 시대의 본인 확인 수단으로 쓰이기 시작했습니다.&lt;br /&gt;같은 사람이 한쪽에서 지능을 전기처럼 흔하게 만들면서, 다른 쪽에서 그 시대에 인간임을 증명하는 관문을 짓고 있는 셈입니다.&lt;br /&gt;비판도 거셉니다. 스페인&amp;middot;홍콩&amp;middot;브라질&amp;middot;태국이 과도한 생체정보 수집을 이유로 운영을 막거나 데이터 삭제를 명령했고, 에드워드 스노든은 이를 &quot;안구를 목록으로 만든다&quot;고 했습니다.&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;br /&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;홍채 기반 신원 추적과 예측 감시는 이미 현실에 들어와 있습니다. 시카고 경찰은 범죄 가능성을 점수화한 명단을 운영하다 흑인 남성의 절반 이상이 포함되는 편향 끝에 2019년 폐기했고, 로스앤젤레스의 예측 치안 프로그램도 2020년 중단됐습니다.&lt;br /&gt;데이터로 사람을 미리 판단하는 시스템은 영화처럼 정확하지 않았고, 대신 편향을 되풀이했습니다.&lt;/p&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;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;AI 모델의 통제&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2026년 앤트로픽의 '미토스(Mythos)'가 그 장면을 보여줬습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;미토스 사건이 보여준 더 깊은 변화는, AI 모델이 이제 석유나 우라늄 같은 국가 전략자산이 됐다는 겁니다.&lt;br /&gt;미토스는 앤트로픽의 최상위 모델인데, 모든 운영체제와 브라우저의 보안 허점을 찾아내는 능력이 사실상 사이버 무기급이라 처음에는 정부와 협력해 방어자에게만 제한적으로 공개됐습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2026년 6월 앤트로픽은 안전장치를 건 일반용 '페이블 5'와 그 장치를 일부 푼 방어자용 '미토스 5'를 함께 내놨습니다.&lt;br /&gt;같은 모델을 안전장치 유무로 둘로 가른, 전형적인 이중용도(dual-use) 기술입니다.&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;앞서 2025년에는 화학&amp;middot;생물&amp;middot;핵무기 제작을 도울 위험을 더는 배제할 수 없다며 최고 등급 안전장치를 발동한 적도 있습니다. 모델이 곧 무기가 될 수 있다는 걸 만든 회사가 먼저 인정한 셈입니다.&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;미국은 첨단 칩을 농축우라늄 다루듯 수출통제해 왔는데, 2025년부터는 &lt;b&gt;일정 규모(10의 26제곱 연산) 이상으로 훈련한 'AI 모델의 가중치' 자체를 수출 허가 대상에 올렸습니다.&lt;/b&gt;&lt;br /&gt;가중치는 한번 새어 나가면 그대로 복제되는 핵물질 같은 것이라, 데이터센터의 보안이 그대로 국가 안보가 됩니다.&lt;br /&gt;미토스 차단은 이 전략자산화가 실제로 작동한 첫 장면입니다. 출시 나흘 만에 정부가 국가안보를 이유로 외국인 접근을 전면 차단했고, 앤트로픽은 자사 외국인 직원까지 막힌 채 모델을 통째로 비활성화해야 했습니다.&lt;br /&gt;회사는 &quot;좁은 우회 기법 하나 때문에 수억 명이 쓰는 상용 모델을 회수하라는 건 부당하다&quot;고 반발했지만, 통제의 대상이 칩이라는 '물건'에서 지능 그 자체로 넘어왔다는 사실은 달라지지 않습니다.&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;낙관 쪽은 풍요를 봅니다.&lt;/b&gt;&lt;br /&gt;오픈AI에 처음 투자한 비노드 코슬라는 &quot;2030년대가 되면 1차 진료의부터 종양내과의, 회계사까지 거의 모든 전문성이 사실상 무료가 된다&quot;고 말합니다.&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;회의 쪽은 그늘을 봅니다.&lt;/b&gt;&lt;br /&gt;'빅쇼트'로 유명한 마이클 버리는 2025년 말, 빅테크들이 칩의 실제 수명보다 길게 잡아 감가상각을 줄이는 방식으로 이익을 부풀린다고 의혹을 제기했습니다.&lt;br /&gt;벤처투자자 차마스 팔리하피티야는 발표된 인프라 중 &quot;실제로 지어지는 건 절반도 안 되고 대부분 규제에 묶여 있다&quot;고 했습니다.&lt;br /&gt;그 사이에서 세계 최대 자산운용사 블랙록의 래리 핑크는 &quot;거품이 아니라 오히려 우리가 충분히 투자하고 있는지를 물어야 한다&quot;며 평범한 연금 가입자도 이 성장에 동참해야 한다고 주장합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 분열은 SF가 일찍이 펼쳐 보인 갈래이기도 합니다.&lt;br /&gt;테그마크는 '라이프 3.0'에서 AGI 이후의 미래를 자유지상주의 유토피아부터 자애로운 독재, 조지 오웰의 1984식 감시국가, 인류의 자멸까지 열두 가지 시나리오로 나눴습니다. 같은 공장이 어느 쪽으로든 갈 수 있고, 방향을 정하는 건 기술이 아니라 그것을 누가 어떻게 소유하느냐라는 것입니다.&lt;br /&gt;가속을 신념으로 내건 마크 앤드리슨은 '테크노 낙관주의 선언'에서 &quot;지속가능성, 기술 윤리, 안전&quot; 같은 개념을 적으로 지목했고, 반대편에서는 데이터센터 반대가 번지고 있습니다.&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;2026년 초 갤럽 조사에서 미국인의 68%가 자기 동네에 AI 데이터센터가 들어서는 데 반대했습니다.&lt;br /&gt;흔히 러다이트를 기계를 부순 무지한 폭도로 떠올리지만, '블러드 인 더 머신'의 저자 브라이언 머천트는 &quot;러다이트는 기계가 아니라 기계의 소유주를 겨눴다&quot;고 바로잡습니다.&lt;br /&gt;유토피아든 디스토피아든, 이 논쟁에는 지구라는 무대가 전제돼 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;우주로 가즈아&lt;/span&gt;&lt;/h2&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;머스크는 2026년 &quot;우주에 AI를 두는 비용이 지상보다 싸지는 시점이 2~3년밖에 안 남았을 수 있다&quot;고 했고, 스페이스X는 고성능 AI 칩을 실은 위성을 공개하며 최대 100만 기를 띄우겠다고 미국 통신당국에 신청했습니다.&lt;br /&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;머스크가 이걸 하는 이유는 그가 오래 말해온 한 문장으로 모입니다. &quot;의식의 빛을 별들에게로 확장한다.&quot; 2026년 5월 스페이스X가 상장을 위해 제출한 공식 서류에는 이 표현과 함께 '카르다셰프 2단계'라는 말이 적혔습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;카르다셰프 척도&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;카르다셰프 척도는 문명을 에너지 사용량으로 나눈 단계입니다.&lt;br /&gt;1단계는 행성의 에너지를 전부 쓰는 문명, 2단계는 항성 하나의 에너지를 통째로 거두는 문명입니다. 인류는 아직 1단계에도 못 미친 0.7 수준입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;머스크는 &quot;태양광 AI 위성이야말로 카르다셰프 2단계 문명에 이르는 유일한 길&quot;이라고 했습니다.&lt;/b&gt;&lt;br /&gt;여기서 앞서 본 흐름이 한 줄로 꿰입니다. AI가 지능을 원하고, 지능이 컴퓨트를 원하고, 컴퓨트가 전력을 원하고, 전력이 끝내 태양 전체를 원하게 된다는 것입니다.&lt;br /&gt;데이터센터에서 시작한 이야기가 문명의 에너지 단계까지 올라갑니다. 다만 스페이스X 스스로도 이 계획이 &quot;아직 존재하지 않는 기술&quot;에 기대고 있다고 같은 서류에 적었습니다.&lt;br /&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;다리오 아모데이는 2026년 1월 에세이의 제목을 '기술의 사춘기'라고 붙였습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;칼 세이건의 소설 '콘택트'에서 인류가 외계 문명에게 던지고 싶어 하는 질문을 빌려서요. &quot;당신들은 어떻게 자멸하지 않고 이 기술적 사춘기를 통과했습니까?&quot; 세계 최고의 AI 기업을 이끄는 사람이 인류의 지금 단계를 설명할 현실의 언어를 찾지 못해 소설을 빌린 것입니다.&lt;br /&gt;오픈AI를 떠난 연구자 다니엘 코코타일로는 같은 위험을 숫자로 바꿔놓았습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;한두 개에서 다섯 개 기업이 각자 가장 똑똑한 AI를 100만 개씩 돌리면, 사실상 열 개 남짓한 지능이 세상의 거의 모든 것을 결정하게 된다.&lt;/b&gt; &lt;b&gt;그런데 그 지능들이 무엇을 원하게 될지는 누가 정하는가.&lt;/b&gt; 지금은 아무도 정하지 못한다. 우리는 아직 AI를 우리 뜻에 맞추는 법을 모르기 때문이다.&quot; 그 예언서가 말한 '인지 엘리트'가, 이제 사람조차 아닌 열 개의 지능으로 좁혀진 그림입니다.&lt;br /&gt;그렇다면 우리는 무엇을 봐야 할까요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;우리는 어떡하지&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 거대한 흐름 앞에서 개인이 할 수 있는 일은 몇 개의 신호를 비판적으로 지켜보는 것입니다.&lt;br /&gt;첫째, &quot;풍요&quot;라는 말이 나올 때마다 그 뒤에 &quot;누구의 풍요인가&quot;를 붙여 물어야 합니다. 지능이 전기처럼 싸진다는 약속과, 그 전기를 공급하는 파이프를 소수가 쥔다는 사실은 같이 일어나고 있습니다. 빌 게이츠의 &quot;무료 의사&quot;와 제프리 힌턴의 &quot;다수의 빈곤&quot;은 같은 곡선의 위아래입니다.&lt;br /&gt;둘째, &quot;거품이 아니다&quot;라는 말은 그 말을 하는 사람이 거품의 당사자일 때 가장 조심해서 들어야 합니다. 대신 봐야 할 것은 약속한 지출과 실제 매출의 간격, 그리고 그 돈이 자기들끼리 도는지 밖에서 들어오는지입니다.&lt;br /&gt;셋째, 역사의 교훈은 양쪽 다입니다. 철도와 광케이블은 거품이 터진 뒤에도 인프라로 남아 다음 시대를 열었지만, 그 거품에 올라탄 개인 투자자 다수는 회복하지 못했습니다. 인프라가 남는다는 말과 내 돈이 남는다는 말은 다릅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;지켜볼 흐름도 분명합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전력과 원자력, 핵융합이 어디까지 가는지, 추론으로의 전환이 스케일링의 한계를 실제로 넘는지, 커스텀 칩이 엔비디아의 독점을 깨는지, 그리고 미국과 중국의 수출통제가 단극과 양극 중 어느 쪽으로 기우는지.&lt;br /&gt;지켜볼 발언도 있습니다.&lt;br /&gt;풍요를 약속하던 사람이 부유세를 꺼낼 때(아모데이), 투명성을 고수하던 사람이 정부의 규제 권한을 요구할 때(아모데이의 입장 전환), 거품을 부정하던 사람이 &quot;누군가는 크게 잃을 것&quot;이라고 인정할 때(알트만) 그런 순간들이 진짜 신호입니다.&lt;br /&gt;한 가지 균형도 덧붙여야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;누군가는 이것을 산업혁명과 정보혁명과 르네상스가 한꺼번에 겹쳐 오는 규모의 전환이라고 부릅니다.&lt;/b&gt;&lt;br /&gt;멈춰 있던 성장에 다시 불을 붙일 거의 유일한 후보가 AI라는 것도, 사람이 줄어드는 저출산&amp;middot;고령화 사회에서 이 기술이 위협이자 동시에 활로라는 것도 사실입니다. 과도기의 마찰과 충돌은 그만한 전환에 따르는 비용일지 모릅니다.&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;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;AI 발 이젠 진짜 멈출 수 없음&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;분명한 건 이 공장이 멈추지 않는다는 것입니다.&lt;br /&gt;그래서 진짜 질문은 &lt;b&gt;'지능이 얼마나 더 싸지고 똑똑해지는가'가 아니라, '그 공장을 누가 소유하고, 거기서 나온 지능을 누가 빌려 쓰며, 누가 그 문 앞에서 배제되는가'&lt;/b&gt;입니다.&lt;br /&gt;100년 전 제철소가 철을 찍어내던 시대에 부와 권력이 철강을 쥔 소수에게 모였듯, 지능을 찍어내는 시대의 부와 권력도 그 공장을 쥔 손으로 모입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;다른 점이 있다면, 철은 다리와 건물이 됐지만 지능은 판단과 결정 그 자체가 된다는 것입니다.&lt;br /&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;a href=&quot;https://www.threads.com/@choi.openai/post/DZlrZlzD86B?xmt=AQG08H5q3DVnniWMbFd2Ps-Q1cHSVbxtKCcS3BAovNQssg&quot;&gt;https://www.threads.com/@choi.openai/post/DZlrZlzD86B?xmt=AQG08H5q3DVnniWMbFd2Ps-Q1cHSVbxtKCcS3BAovNQssg&lt;/a&gt;&lt;/p&gt;</description>
      <category>개발자 글 수집</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/298</guid>
      <comments>https://11001.tistory.com/298#entry298comment</comments>
      <pubDate>Fri, 19 Jun 2026 17:23:00 +0900</pubDate>
    </item>
    <item>
      <title>[6월 2-3주차] 수익 51만 4천원 | 응~ 배당 받으면 그만이야~고배당 갈아타기 전략 | 환전, QQQI, JPEQ, 월1% 배당</title>
      <link>https://11001.tistory.com/297</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1781851030523&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[투자 전략] 응~ 배당 받으면 그만이야~ 유휴 RP이자 대신 고배당 커버드콜 발라먹기 (QQQI, JEPQ)&quot; data-og-description=&quot;[투자 전략] &amp;quot;응~ 배당 받으면 그만이야&amp;quot; 하이브리드 투자 기법AI발 대세 상승장을 못타신 분들...FOMO 느끼고 지금이라도 풀매수 들어가는 순간 세상이 나를 지켜보고 있는 것이었는지!!! 다음날 &quot; data-og-host=&quot;11001.tistory.com&quot; data-og-source-url=&quot;https://11001.tistory.com/296&quot; data-og-url=&quot;https://11001.tistory.com/296&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cCRM5O/dJMb8Yp4INJ/9KzvWKLMKtv2bhzU7KJLpK/img.png?width=800&amp;amp;height=485&amp;amp;face=0_0_800_485,https://scrap.kakaocdn.net/dn/JeQhS/dJMb8YXU1uc/CFfXMRJBu5475UAfrbZc2k/img.png?width=800&amp;amp;height=485&amp;amp;face=0_0_800_485,https://scrap.kakaocdn.net/dn/svahd/dJMb83Ssipv/RK9gFTGL2wta1digBH2TuK/img.png?width=1024&amp;amp;height=622&amp;amp;face=0_0_1024_622&quot;&gt;&lt;a href=&quot;https://11001.tistory.com/296&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://11001.tistory.com/296&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cCRM5O/dJMb8Yp4INJ/9KzvWKLMKtv2bhzU7KJLpK/img.png?width=800&amp;amp;height=485&amp;amp;face=0_0_800_485,https://scrap.kakaocdn.net/dn/JeQhS/dJMb8YXU1uc/CFfXMRJBu5475UAfrbZc2k/img.png?width=800&amp;amp;height=485&amp;amp;face=0_0_800_485,https://scrap.kakaocdn.net/dn/svahd/dJMb83Ssipv/RK9gFTGL2wta1digBH2TuK/img.png?width=1024&amp;amp;height=622&amp;amp;face=0_0_1024_622');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[투자 전략] 응~ 배당 받으면 그만이야~ 유휴 RP이자 대신 고배당 커버드콜 발라먹기 (QQQI, JEPQ)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[투자 전략] &quot;응~ 배당 받으면 그만이야&quot; 하이브리드 투자 기법AI발 대세 상승장을 못타신 분들...FOMO 느끼고 지금이라도 풀매수 들어가는 순간 세상이 나를 지켜보고 있는 것이었는지!!! 다음날&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;11001.tistory.com&lt;/p&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;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;응~ 배당 받으면 그만이야~&amp;nbsp;&lt;/b&gt; 6월 2-3주차 결과 입니다.&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;환전 결과&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원금: 약&amp;nbsp;1900만원&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; 달러(환율 1517원)&lt;/li&gt;
&lt;li&gt;달러 -&amp;gt; 원화(환율 1538원)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;&lt;b&gt;총 수익: 약 +26만원&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2606 환전.PNG&quot; data-origin-width=&quot;1179&quot; data-origin-height=&quot;2556&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Tl1SN/dJMcagsolTT/3uuhWIMHk1XYkpIDFbig61/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Tl1SN/dJMcagsolTT/3uuhWIMHk1XYkpIDFbig61/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Tl1SN/dJMcagsolTT/3uuhWIMHk1XYkpIDFbig61/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTl1SN%2FdJMcagsolTT%2F3uuhWIMHk1XYkpIDFbig61%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;500&quot; height=&quot;1084&quot; data-filename=&quot;2606 환전.PNG&quot; data-origin-width=&quot;1179&quot; data-origin-height=&quot;2556&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;배당금&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;원금: 약 2000만원&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배당금: 20만원 (&lt;span style=&quot;text-align: start;&quot;&gt;QQQI)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시세차익: 5.4만원&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;&lt;b&gt;총 수익 +25.4만원&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;IMG_7079.PNG&quot; data-origin-width=&quot;1179&quot; data-origin-height=&quot;2556&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/coT8Nb/dJMcab5G691/b4dS7R6iLq6EHgkJSp8zU0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/coT8Nb/dJMcab5G691/b4dS7R6iLq6EHgkJSp8zU0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/coT8Nb/dJMcab5G691/b4dS7R6iLq6EHgkJSp8zU0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcoT8Nb%2FdJMcab5G691%2Fb4dS7R6iLq6EHgkJSp8zU0%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;400&quot; height=&quot;867&quot; data-filename=&quot;IMG_7079.PNG&quot; data-origin-width=&quot;1179&quot; data-origin-height=&quot;2556&quot;/&gt;&lt;/span&gt;&lt;/figure&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;4주차에 환율 1500 초반대에 예약 환전 걸어두었고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;환전 완료되면 JEPQ 매수 대기중입니다. (배당 갈아타기)&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;5-6월에 반도체 주식에 불나방처럼 뛰어들어서 트럼프 한마디에 오락가락하고 노조 때문에 고점에 쳐물리고 탈출하기를 반복하면서 진짜 괴롭고 힘들게 160만원 벌었는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;응~ 배당 받으면 그만이야~ 전략&lt;/b&gt;으로 리스크 하나도 안지고 스트레스 1도 없이 &lt;b&gt;51만 4천원의 수익&lt;/b&gt;을 얻었습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 돈은 심지어&lt;b&gt; 배당세 15.4%를 이미 냈고 추가로 낼 세금도 없습니다. 온전히 &quot;현금&quot;으로 가지고 있는 내 돈&lt;/b&gt;입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예약 환전을 기다리고 있는 지금 이 순간에도 &lt;b&gt;RP 수익률 2%를 받고&lt;/b&gt; 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;* 참고로 Super365 계좌라서 수수료가 없는 것입니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;물론 이런 의문이 들 수가 있습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #f89009;&quot;&gt;아니 왜 굳이 이렇게 개고생을 하느냐? QQQ, QLD 진득하게 묻어두면 그만인거 아님?&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; 안됩니다.. 애초에 이 돈은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;원금 손실을 절대 안하겠다고&lt;/b&gt;&lt;span&gt;&amp;nbsp;&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;&lt;b&gt;&lt;span style=&quot;background-color: #f89009;&quot;&gt;삼전닉스 샌디스크 SOXL 넣으면 하루에 10%, 15% 씩 먹는데 ㅋㅋ 왜 안함?&lt;/span&gt; &lt;/b&gt;&lt;br /&gt;-&amp;gt; 고점 쳐물려서 하루에 -10%씩 맞아보면 정신차려집니다. 불나방처럼 단타쳐서 크게 벌어도, 어차피 할 줄아는게 운에 맡겨서 또 단타치는것이기 때문에 &lt;b&gt;1억 벌어도 10억 벌어도 또 똑같이 단타짓 하다가 돈 다 잃을때 까지 하게 됩니다.&lt;/b&gt; 제가 과거에 그렇게 경험 해봤거든요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;background-color: #f89009;&quot;&gt;그러면, 저점에 들어갔으니 푸근하게 버티면 그만이야~ 하면 그만 아님? &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;-&amp;gt; 일단 저점에 못들어갔기에 논외이고, &lt;b&gt;2022년에&lt;/b&gt; &lt;b&gt;분명히 삼전&amp;nbsp;저점에 들어갔는데&lt;span&gt; &lt;/span&gt;10만전자일때 못팔고 4만전자 찍었던거 생각안남? 당신이 과연 고점에 잘 팔고 나올 수 있을까? 일찍 팔면 또 다시 고점에 들어가서 물리지 않을까?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이 전략의 이상적인 기대 수익률입니다. &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;4,1,0,0&quot;&gt;① JEPQ ⇄ QQQI 징검다리 배당&lt;/span&gt;&lt;span data-path-to-node=&quot;4,1,1,0&quot;&gt;연 12.0% ~ 15.0%&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;4,2,0,0&quot;&gt;② 대세 상승장 시세차익&lt;/span&gt;&lt;span data-path-to-node=&quot;4,2,1,0&quot;&gt;연 5.0% ~ 8.0%&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;4,3,0,0&quot;&gt;③ 환율 박스권 플레이 (보너스)&lt;/span&gt;&lt;span data-path-to-node=&quot;4,3,1,0&quot;&gt;연 1.0% ~ 2.0%&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;4,4,0,0&quot;&gt;④ QLD 배당 재투자 엔진 (핵심)&lt;/span&gt;&lt;span data-path-to-node=&quot;4,4,1,0&quot;&gt;연 3.0% ~ 5.0% (알파)&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;&lt;b&gt;어찌보면 저 같은 완벽주의자를 위한 전략인거죠.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;폭락장 오면 -&amp;gt; 응~배당 받으면서 버팀&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배당락 이후에 회복 안되어서 갈아타기 못하면 -&amp;gt; 응~ 배당 받으면서 버팀&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상승장 오면 -&amp;gt; 응~ 시세차익 소소하게 먹으면서 갈아타기로 발라먹기하면 월 2% 계속 수익 먹음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무료로 생성되는 배당금은 QLD(나스닥 2배 레버리지)에 무지성 투자하면서 장투하면 그만이고~&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;환율 너무 높으면 -&amp;gt; 기회가 된다면 원화 환전하셈 ㅋㅋ 1550원 이럴때 정부에서 무조건 개입함 ㅋㅋ 환율 조작국임&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;환율 낮아지면 -&amp;gt; 응~ 외국인들 투자금 회수하면 무조건 환율 오를 수 밖에 없음&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;5&quot; data-ke-size=&quot;size23&quot;&gt;  최종 합산 연 평균 기대 수익률 (Total Return)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;6&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;진짜 난 아무것도 안하고 QQQI 만 넣을래&quot;: 원금의 연 10.0% &quot;확정 보장&quot;&lt;/li&gt;
&lt;li&gt;&quot;두 달에 한 번씩 배당 갈아타기 성공함&quot; (찍먹 모드): 연&amp;nbsp;12.0%&amp;nbsp;~&amp;nbsp;14.0%&lt;/li&gt;
&lt;li&gt;&quot;매달 배당 갈아타기 성공함&quot; (신의 손 모드): 연&amp;nbsp;15.0%&amp;nbsp;~&amp;nbsp;18.0%&lt;/li&gt;
&lt;li&gt;&quot;시세차익 및 환차익까지 성공함&quot; (야수 탈을 쓴 신 모드): 예상&amp;nbsp;수익률:&amp;nbsp;연&amp;nbsp;20.0%&amp;nbsp;~&amp;nbsp;25.0%+&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;현재의 변수&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1) 환율 너무 높음 &lt;b&gt;1540원&lt;/b&gt;&amp;nbsp;찍었음. 만약에 목표 환율 까지 도달하지 않는다면 &lt;b&gt;그냥 1520원 쯤 환전 생각중..&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2) 주가 너무 높음 26년 6월 18일날 미장이 대폭등하면서 JEPQ 가 최고가를 찍어버림.&lt;b&gt; 부담이 있는 자리&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;예약환전.PNG&quot; data-origin-width=&quot;1179&quot; data-origin-height=&quot;2556&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDxkQO/dJMcaf72E65/j5RKdBFDZAp4H78dO2cX6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDxkQO/dJMcaf72E65/j5RKdBFDZAp4H78dO2cX6k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDxkQO/dJMcaf72E65/j5RKdBFDZAp4H78dO2cX6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDxkQO%2FdJMcaf72E65%2Fj5RKdBFDZAp4H78dO2cX6k%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;400&quot; height=&quot;867&quot; data-filename=&quot;예약환전.PNG&quot; data-origin-width=&quot;1179&quot; data-origin-height=&quot;2556&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;figure id=&quot;og_1781853807842&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[투자 전략] 응~ 배당 받으면 그만이야~ 유휴 RP이자 대신 고배당 커버드콜 발라먹기 (QQQI, JEPQ)&quot; data-og-description=&quot;[투자 전략] &amp;quot;응~ 배당 받으면 그만이야&amp;quot; 하이브리드 투자 기법AI발 대세 상승장을 못타신 분들...FOMO 느끼고 지금이라도 풀매수 들어가는 순간 세상이 나를 지켜보고 있는 것이었는지!!! 다음날 &quot; data-og-host=&quot;11001.tistory.com&quot; data-og-source-url=&quot;https://11001.tistory.com/296&quot; data-og-url=&quot;https://11001.tistory.com/296&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cCRM5O/dJMb8Yp4INJ/9KzvWKLMKtv2bhzU7KJLpK/img.png?width=800&amp;amp;height=485&amp;amp;face=0_0_800_485,https://scrap.kakaocdn.net/dn/JeQhS/dJMb8YXU1uc/CFfXMRJBu5475UAfrbZc2k/img.png?width=800&amp;amp;height=485&amp;amp;face=0_0_800_485,https://scrap.kakaocdn.net/dn/svahd/dJMb83Ssipv/RK9gFTGL2wta1digBH2TuK/img.png?width=1024&amp;amp;height=622&amp;amp;face=0_0_1024_622&quot;&gt;&lt;a href=&quot;https://11001.tistory.com/296&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://11001.tistory.com/296&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cCRM5O/dJMb8Yp4INJ/9KzvWKLMKtv2bhzU7KJLpK/img.png?width=800&amp;amp;height=485&amp;amp;face=0_0_800_485,https://scrap.kakaocdn.net/dn/JeQhS/dJMb8YXU1uc/CFfXMRJBu5475UAfrbZc2k/img.png?width=800&amp;amp;height=485&amp;amp;face=0_0_800_485,https://scrap.kakaocdn.net/dn/svahd/dJMb83Ssipv/RK9gFTGL2wta1digBH2TuK/img.png?width=1024&amp;amp;height=622&amp;amp;face=0_0_1024_622');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[투자 전략] 응~ 배당 받으면 그만이야~ 유휴 RP이자 대신 고배당 커버드콜 발라먹기 (QQQI, JEPQ)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[투자 전략] &quot;응~ 배당 받으면 그만이야&quot; 하이브리드 투자 기법AI발 대세 상승장을 못타신 분들...FOMO 느끼고 지금이라도 풀매수 들어가는 순간 세상이 나를 지켜보고 있는 것이었는지!!! 다음날&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;11001.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>주식 투자</category>
      <category>배당</category>
      <category>주식</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/297</guid>
      <comments>https://11001.tistory.com/297#entry297comment</comments>
      <pubDate>Fri, 19 Jun 2026 16:22:50 +0900</pubDate>
    </item>
    <item>
      <title>[주식 투자] 응~ 배당 받으면 그만이야~고배당 갈아타기 전략 유휴 RP이자 대신 고배당 커버드콜 발라먹기 (QQQI, JEPQ, QLD)</title>
      <link>https://11001.tistory.com/296</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;622&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c3NgUg/dJMcaf72CUE/gDyupgyCZlsIAeZmn9rNv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c3NgUg/dJMcaf72CUE/gDyupgyCZlsIAeZmn9rNv1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c3NgUg/dJMcaf72CUE/gDyupgyCZlsIAeZmn9rNv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3NgUg%2FdJMcaf72CUE%2FgDyupgyCZlsIAeZmn9rNv1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;622&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;622&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;[주식 투자] 응~ 배당 받으면 그만이야~고배당 갈아타기 전략&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI발 대세 상승장을 못타신 분들...&lt;br /&gt;FOMO 느끼고 지금이라도 풀매수 들어가는 순간 세상이 나를 지켜보고 있는 것이었는지!!! 다음날 부터 갑자기 폭락 하죠? 저도 많이 당했습니다.&lt;br /&gt;왜 하필 지금이지? 일주일 이주일 넘게 오르다가 왜 내가 사는 순간!!!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대세 상승장 속에서 증권사 RP 이자(연 2%)에 잠자고 있는 유휴 자금을 깨워 극강의 효율로 굴리는 전략입니다. 배당, 환차익, 그리고 대폭락장 속 역발상 레버리지 기회까지 모조리 발라먹는 &lt;b&gt;'야수의 심장'을 위한 하이브리드 투자법&lt;/b&gt;을 소개합니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 전략 소개: &quot;그만이야&quot; 전략이란?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 전략의 핵심 정신은 &quot;안 되면 묻어두면 그만이야&quot;라는 강력한 멘탈 방패입니다. 잦은 매매로 인한 손절 리스크를 고배당(연 10~14%)으로 커버하며 버티다가, 기회가 오면 환차익과 레버리지 폭발력을 더해 자산을 퀀텀 점프시키는 하이브리드 기법입니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. 구체적인 투자 방법 (Step-by-Step)&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;① 평시 운용: 고배당 파이프라인 구축 (JEPQ, QQQI)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 전략은 시드를 쪼개지 않습니다. 유휴 자금 100%를 통째로 움직여 효율을 극대화합니다.&lt;br /&gt;JEPQ와 QQQI의 배당락일이 매달 서로 다른 주차에 위치한다는 점을 노린 '엇박자 올인' 기법입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;월말 ~ 월초: 시드 100%로 JEPQ 진입 ➡️ 1일 배당락 먹기 ➡️ 강세장 버프로 주가 회복 시 전량 매도 (현금화).&lt;br /&gt;월 중순: 확보한 현금 100%로 QQQI 진입 ➡️ 2~3주차 배당락 먹기 ➡️ 주가 회복 시 전량 매도 (현금화).&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무한 반복 및 플랜 B: 만약 배당락 이후 주가 회복이 더디다면? 억지로 손절하며 갈아타지 않고,&lt;br /&gt;그 종목에 100% 그대로 묻어둔 채 고배당을 수령하며 존버합니다. &quot;안 되면 그냥 묻어두면 그만이야~&quot;전략이 여기서 발휘됩니다.&lt;/p&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;1,500원 초반대&lt;/b&gt;로 내려올 때만 진입 기회로 삼아 원화를 달러(또는 달러 자산)로 환전합니다.&lt;/li&gt;
&lt;li&gt;주식을 굴리다가 환율이 &lt;b&gt;1,500원 후반대&lt;/b&gt;로 치솟는 타이밍이 오면 달러 자산을 원화로 바꾸어 &lt;b&gt;추가 환차익&lt;/b&gt;을 확보합니다. (조건이 안 맞으면? 그냥 달러로 배당 받으며 대기하면 그만!)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;③ 영혼의 한 타: 대폭락장 레버리지 매직 (VIX 지수 활용)&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;b&gt;VIX 지수가 30을 돌파한 후 꺾이는 '진짜 바닥' 신호&lt;/b&gt;가 포착되면, 들고 있던 커버드콜을 과감히 매도하고 죽기 직전까지 처박힌 &lt;b&gt;3배 레버리지(TQQQ 등)로 갈아탑니다.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;반등장 리바운딩을 강하게 먹고 나온 뒤, 다시 평시 배당 운용 상태로 복귀합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 투자 리스크 및 주의사항&lt;/h2&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; 대세 상승장에서 나스닥 지수가 폭등할 때, JEPQ나 QQQI 같은 커버드콜은 옵션 구조상 지수 상승분을 온전히 다 먹지 못하고 상승세가 제한됩니다. (※ 반론: 어차피 RP에 묵힐 돈이었으니 RP 이자보다만 높으면 상관없음!)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;3배 레버리지의 음의 복리:&lt;/b&gt; 대폭락장에서 '하락장 끝물'을 잘못 짚어 너무 일찍 3배 레버리지로 갈아타면, 지수가 횡보만 해도 계좌가 스스로 녹아내리는 변동성 뚝배기를 맞을 수 있습니다. 철저히 객관적 지표(VIX 등)를 보고 진입해야 합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;거래 비용과 세금:&lt;/b&gt; 미국 직투 시 매달 잦은 이동을 하면 해외주식 양도소득세(22%) 및 환전/매매 수수료로 배보다 배꼽이 더 커질 수 있으므로, 수수료 우대 계좌나 국내 ISA 계좌를 징검다리로 쓰는 센스가 필요합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. 기대 수익률 분석&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;일반 안전 자산 (RP)&lt;/th&gt;
&lt;th&gt;&lt;b&gt;&quot;그만이야&quot; 하이브리드 전략&lt;/b&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;연 2.0% 고정 이자&lt;/td&gt;
&lt;td&gt;&lt;b&gt;연 10% ~ 14% 배당 수익&lt;/b&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;b&gt;약 3~5% 수준의 추가 환차익&lt;/b&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;b&gt;3배 레버리지 전환 시 수십~수백% 단위의 계좌 퀀텀 점프 가능&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;b&gt;최소 연 10% 이상의 고배당 현금흐름&lt;/b&gt;이 보장되므로, 3%대 RP 자금 운용 대비 압도적인 기회 가치를 가집니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. 신의 한 수: 배당금은 'QLD(나스닥 2배)'로 무지성 재투자&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 전략의 화룡점정은 배당금 처리 방법입니다. 현금으로 놔두거나 흐지부지 쓰지 않고, 매달 나오는 배당금 전액으로 &lt;b&gt;나스닥 2배 레버리지 ETF인 QLD&lt;/b&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; 커버드콜(JEPQ/QQQI)의 아쉬운 상방 제한을 QLD의 2배 폭발력으로 완벽하게 보완합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;하락장 안전장치:&lt;/b&gt; 주가가 폭락해도 내 생돈이 아닌 '배당금'으로 싼값에 QLD를 줍는 것이기 때문에, 하락장 스트레스 없이 평단가를 극단적으로 낮출 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;결론:&lt;/b&gt; 메인 시드는 고배당 엔진으로 쓰고, 새끼 계좌는 QLD라는 스노우볼을 굴려 자산 증식 속도를 3배속으로 끌어올립니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;  &quot;그만이야&quot; 전략의 QLD 배당 재투자 메커니즘&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;매달 시드 100%를 JEPQ와 QQQI로 굴리면서 나오는 배당금을 내 주머니로 빼서 쓰는 게 아니라, &lt;b&gt;별도의 '새끼 계좌'를 파서 QLD를 무한 매집&lt;/b&gt;하는 겁니다.&lt;/p&gt;
&lt;pre class=&quot;gcode&quot;&gt;&lt;code&gt;[ 메인 시드 (100%) ] ──&amp;gt; JEPQ / QQQI 징검다리 매매
                               │
                       (매달 배당금 발생)
                               │
                               ▼
[ 새끼 계좌 (보너스) ] ──&amp;gt; QLD (나스닥 2배) 무지성 무한 매수
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. 평시 (대세 상승장): 자산 양방향 폭발&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메인 시드는 JEPQ와 QQQI를 오가며 현금(배당)을 계속 찍어내고, 그 돈이 QLD로 들어갑니다.&lt;/li&gt;
&lt;li&gt;대세 상승장이라 커버드콜 주가는 상방이 막혀 완만하게 오르겠지만, &lt;b&gt;배당금으로 산 QLD는 2배 속도로 폭등&lt;/b&gt;합니다.&lt;/li&gt;
&lt;li&gt;결과적으로 &quot;커버드콜의 상방 제한&quot;이라는 단점을 QLD가 완벽하게 메워주면서 계좌 총액이 무섭게 늘어납니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. 폭락장 시나리오: 오히려 좋아, QLD 바겐세일&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;폭락장이 오면 메인 시드(JEPQ/QQQI)는 팔지 않고 묶어둔 채 배당만 받습니다. &quot;안 되면 그만이야&quot; 정신 발동이죠.&lt;/li&gt;
&lt;li&gt;이때 나오는 배당금으로 &lt;b&gt;반토막 난 QLD를 밑바닥에서 '물타기(평단가 낮추기)'&lt;/b&gt; 합니다. 내 생돈 들어가는 게 아니라 배당금(공짜 돈)으로 사는 거라 심리적으로 전혀 타격이 없고 오히려 싱글벙글 매수하게 됩니다.&lt;/li&gt;
&lt;li&gt;그러다가 앞서 말한 진짜 하락장 끝물(VIX 30 돌파 후 꺾일 때)이 오면, 모아둔 QLD는 냅두고 메인 시드만 TQQQ(3배)로 갈아타서 영혼의 한 타를 치면 됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;남들이 세금 무섭다, 배당락 무섭다, 폭락장 무섭다며 RP 이자 짤짤이 챙길 때, 야수의 심장으로 판을 짜서 버티는 자가 결국 상단을 깨부숩니다. 안 되면? 응~ 배당 받으면서 3배 레버리지 타이밍 노리면 그만이야~&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 전략 어떠십니까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞으로 매달 진행 결과를 올려볼 생각입니다.&lt;/p&gt;</description>
      <category>주식 투자</category>
      <category>JEPQ</category>
      <category>QLD</category>
      <category>qqqi</category>
      <category>배당</category>
      <category>배당주</category>
      <category>주식</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/296</guid>
      <comments>https://11001.tistory.com/296#entry296comment</comments>
      <pubDate>Fri, 19 Jun 2026 15:36:23 +0900</pubDate>
    </item>
    <item>
      <title>AI 혁명이 일어났다. 5년차 FE 개발자인 나는 Claude Code Max20 을 구독하고 별의 별 짓을 다 해봤다.</title>
      <link>https://11001.tistory.com/295</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;AI 혁명이 일어났다.&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;미국 빅테크 기업들이 초거대 AI 데이터센터 건설에 상상을 초월하는 투자를 쏟아붓는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 많은 돈은 모두 CPU, GPU, RAM, Disk, Network, Cable 등을 만드는&lt;b&gt; 반도체 제조업&lt;/b&gt; 회사에 흘러 들어간다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;불과 1-2년 전 20만원 하던 하이닉스, 5만원 하던 삼성전자. &lt;b&gt;오늘은 하이닉스가 270만원, 삼성전자가 36만원이 되었다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;빨리타.jpeg&quot; data-origin-width=&quot;690&quot; data-origin-height=&quot;466&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/S9lED/dJMcabYXlFN/Vfk8ArljNfdK6Ketnjg261/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/S9lED/dJMcabYXlFN/Vfk8ArljNfdK6Ketnjg261/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/S9lED/dJMcabYXlFN/Vfk8ArljNfdK6Ketnjg261/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FS9lED%2FdJMcabYXlFN%2FVfk8ArljNfdK6Ketnjg261%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;690&quot; height=&quot;466&quot; data-filename=&quot;빨리타.jpeg&quot; data-origin-width=&quot;690&quot; data-origin-height=&quot;466&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;없는 내용을 지어내서 대답을 하거나, 잘못된 정보로 나를 화가나게 했던 그 멍청한 LLM 가 불과 1-2년 전이었다.&lt;br /&gt;&lt;span style=&quot;text-align: start;&quot;&gt;이제는 네이버, 구글 검색창 보다&amp;nbsp;&lt;/span&gt;&lt;b&gt;Gemini, ChatGPT&lt;/b&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&amp;nbsp;에게 먼저 물어보게 되고, 코딩은&lt;/span&gt;&lt;b&gt;&amp;nbsp;AI Agent&lt;/b&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&amp;nbsp;에게 맡겨 버린다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;유튜브, SNS에는 AI로 만든 글, 이미지, 영상, 노래가 돌아다니고 있고, 앱스토어에는 AI로 만든 앱들로 도배되고 있다.&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;&lt;b&gt;아침에 눈을 뜨면 또 새로운 것들이 쏟아져 나오고 있고,&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;충격적으로 놀라웠던 LLM 은 1-2달만 지나면 새로운 LLM 에 비해 충격적으로 구닥다리가 되어있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;319&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/casRTm/dJMcagsnB6Y/LZ4clbUa4ffLgTO1nKZ6uK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/casRTm/dJMcagsnB6Y/LZ4clbUa4ffLgTO1nKZ6uK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/casRTm/dJMcagsnB6Y/LZ4clbUa4ffLgTO1nKZ6uK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcasRTm%2FdJMcagsnB6Y%2FLZ4clbUa4ffLgTO1nKZ6uK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;319&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;319&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&quot;이런 흐름에서 5년차 FE 개발자인 나는 도대체 어떻게 살아야할까?&quot;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;AI 덕분에 &quot;와 진짜 개발자는 개노답 인생&quot;이 되었다. 이런 생각이 들다가도 아니 &quot;이건 개발자에게 오히려 기회야&quot; 란 생각도 들면서 하루에도 수 십번을 오락가락했다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이렇게 죽을 수는 없다!!!!&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;2026년 1월인가 2월에 딱 1달만 사용해보자고 아주 큰 마음을 먹고, &lt;/span&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;1달에 36만원 정도 하는&lt;/span&gt;&lt;b&gt; Claude Code MAX x20&lt;/b&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt; 구독제를 끊었다&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;&lt;b&gt;(누구나 쳐맞기 전 까지는 그럴 듯한 계획은 있다)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;진짜 하루 하루 돈이 너무 아까워서 밤을 새워가며 24시간 1분 1초를 허투로 살지 않고 AI 와 사랑을 나누었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;외주를 하고, 웹사이트를 만들고, 앱을 만들고, 노래를 만들고, 영상을 만들었다.&lt;br /&gt;&lt;b&gt;모든 결과물이 되게 그럴싸하게 겉모습은 잘 만들었지만 내부적으로는 전혀 동작하지 않았다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Gemini_Generated_Image_cvqd8ycvqd8ycvqd.png&quot; data-origin-width=&quot;2816&quot; data-origin-height=&quot;1536&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/B7WEp/dJMcadbhavJ/XLsCJMX4W9mLOf4OgO4ak1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/B7WEp/dJMcadbhavJ/XLsCJMX4W9mLOf4OgO4ak1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/B7WEp/dJMcadbhavJ/XLsCJMX4W9mLOf4OgO4ak1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FB7WEp%2FdJMcadbhavJ%2FXLsCJMX4W9mLOf4OgO4ak1%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;2816&quot; height=&quot;1536&quot; data-filename=&quot;Gemini_Generated_Image_cvqd8ycvqd8ycvqd.png&quot; data-origin-width=&quot;2816&quot; data-origin-height=&quot;1536&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물론 작업 전에 &lt;b&gt;Plan&lt;/b&gt; 이라는걸 세우고 시작했으나 막상 만들다 보면 절대 Plan 대로 잘 흘러가지 않았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;너무 거대하고, 세세한 부분 까지는 계획을 세울 수 없으니 다 LLM 마음대로 만들어버린 것이다.&lt;/b&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내가 AI 에게 넘겼던 핸들을 잡고 딥하게 코드를 지적하며 이렇게 해달라 저렇게 해달라 일일이 다 요구를 하면서 고쳐야만 잘 동작했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇게 처음 만든 작품이 &lt;b&gt;두쫀쿠 월드다.&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;두쫀쿠 월드&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;833&quot; data-origin-height=&quot;863&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5KfQz/dJMcacKlcz0/ga55pPvaAoqn6axHMSWpOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5KfQz/dJMcacKlcz0/ga55pPvaAoqn6axHMSWpOk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5KfQz/dJMcacKlcz0/ga55pPvaAoqn6axHMSWpOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5KfQz%2FdJMcacKlcz0%2Fga55pPvaAoqn6axHMSWpOk%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;833&quot; height=&quot;863&quot; data-origin-width=&quot;833&quot; data-origin-height=&quot;863&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1781784604239&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;두쫀쿠 월드 | Dubai Chocolate World Map&quot; data-og-description=&quot;전 세계의 두바이 초콜릿 맛집을 탐험하세요.&quot; data-og-host=&quot;dessert-map.vercel.app&quot; data-og-source-url=&quot;https://dessert-map.vercel.app/dubai&quot; data-og-url=&quot;https://dessert-map.vercel.app&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://dessert-map.vercel.app/dubai&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dessert-map.vercel.app/dubai&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;두쫀쿠 월드 | Dubai Chocolate World Map&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;전 세계의 두바이 초콜릿 맛집을 탐험하세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dessert-map.vercel.app&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(더 이상 유지보수를 하고 있지는 않다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;b&gt;인앱토스의 두쫀쿠 맵&lt;/b&gt;이 구려서 내가 더 잘 만들겠다.. 라는 생각으로 카피 했던 것인데 생각 보다 너무 잘 됐다.&lt;br /&gt;이용자 수가 가장 많을 때 1000명도 찍었었다.&lt;b&gt; 근데 광고를 못 달아서 잘 된 것 치고는 수익은 단 1원도 못냈다.&lt;/b&gt;&lt;br /&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-3주 정도 걸렸기에 너무 화가나서 인앱토스를 때려치웠다.&lt;br /&gt;지금은 인앱토스 팀에서도 AI 자동 심사 방식으로 바뀐 것인지 심사 속도가 1-2일안에 끝난다. 엄청 빠르다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;진작에 이렇게 했으면 참 좋았을 것인데 안타깝다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;게임 공장&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;그 다음에는 게임 공장을 만들었다.&lt;/b&gt;&lt;/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 alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Gemini_Generated_Image_8cb6ea8cb6ea8cb6.png&quot; data-origin-width=&quot;2816&quot; data-origin-height=&quot;1536&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ce6ESS/dJMcacp1jYV/4WfpkUvRxt7obK8zjghmKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ce6ESS/dJMcacp1jYV/4WfpkUvRxt7obK8zjghmKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ce6ESS/dJMcacp1jYV/4WfpkUvRxt7obK8zjghmKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fce6ESS%2FdJMcacp1jYV%2F4WfpkUvRxt7obK8zjghmKk%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;2816&quot; height=&quot;1536&quot; data-filename=&quot;Gemini_Generated_Image_8cb6ea8cb6ea8cb6.png&quot; data-origin-width=&quot;2816&quot; data-origin-height=&quot;1536&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;새로 만들면 앱 테스트 사용자를 모집해서 테스트 받고 올려야 한다고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앱스토어는 매년 100달러를 지불해야한다고 한다.&lt;b&gt; 지금의 나는 도저히 앱스토어 심사 스트레스를 이겨내면서 손익분기점을 넘길 자신이 없다. AI 구독료도 내야하기 때문..&lt;b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;ㅋㅋㅋ&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;&lt;b&gt;대중적인 공장형 앱&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결국 게임은 포기하고&lt;b&gt; 사주, 로또&lt;/b&gt; 등 매우 대중적인 주제의 앱으로 접근했는데 꽤 광고 수입이 짭짤했다.&lt;br /&gt;&lt;b&gt;한 달에 3-4만원씩&lt;/b&gt; 찍혔다. 기분이 좋았으나 AI 구독료에 비하면 한참 모자르다. 지금은 이런 앱들이 수 십개가 쏟아져 나오면서 망했다.&lt;br /&gt;&lt;b&gt;AI 가 너무 쉽게 카피할 수 있다보니 무슨 앱을 올려도 순식간에 레드오션&lt;/b&gt;이 되어버린다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;솔직히 이런 대중적인 앱에 특허나 저작권 이란게 있는것도 아니지 않는가?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래도 이런 것들을 수 백개를 찍어내는 짤짤이 돈이 모여서 꽤 수익이 크지 않을까 라는 생각을 했었는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제로 &lt;b&gt;프로그래밍 좀비&lt;/b&gt;라는 사람이 그렇게 해서 월급 이상으로 버신다고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 사람 강의까지 냈다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;강의 사서 들었는데 쌩 고생한 경험을 돈 주고 사는 느낌이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;와 진짜 이 정도로 해야 버는구나 싶은 생각이 들었다. 절실한&amp;nbsp;&lt;span style=&quot;text-align: start;&quot;&gt;가장의 무게가 느껴진다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1275&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cqPLKT/dJMcadCjzAS/8wfSX0z4YkIj1liqLq6FYK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cqPLKT/dJMcadCjzAS/8wfSX0z4YkIj1liqLq6FYK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cqPLKT/dJMcadCjzAS/8wfSX0z4YkIj1liqLq6FYK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcqPLKT%2FdJMcadCjzAS%2F8wfSX0z4YkIj1liqLq6FYK%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;1275&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1275&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나도 이제는 AI 로 딸깍딸깍 하면서 만들어놓은 앱이 &lt;b&gt;매 달 3-4만원&lt;/b&gt; 씩은 벌어다주고 있긴하다. 유지보수가 전혀 없는 상태인데도..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;근데 해보니까 생각보다 앱 하나 만드는데에 많은 시간이 들어간다는 것이다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;절대로 AI가 처음 부터 끝까지 알잘딱깔센으로 해주지 못한다. 사람이 중간 중간 보면서 핸들링하고 결정을 내려줘야만 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;앱 스크린샷 찍어서 그대로 갖다 붙여넣기만 해도 완벽히 다 만들어준다면 이미 개발자란 직업은 없어졌다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;좀비씨가 앱을 카피하더라도 &lt;b&gt;이건 내가 꽤 많은 시간을 들일거 같으면 다른걸 찾아야 한다&lt;/b&gt;고 했는데 일단 나는 그러지 못했던 것 같다.&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;b&gt;잠깐 인앱토스 비판&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 망할 놈의 인앱토스 부터 벗어나야 하는데 선택지가 연 15만원을 태워야 하는 앱스토어 밖에 없다는게 뭣같다.&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;인앱토스는 버튼 누르면 포인트 주는 앱으로 도배되었다. 플랫폼이 이미 개망했다. &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;딸깍 하면 포인트 주는 앱이&lt;b&gt; 모든 트래픽을 다 빨아가기 때문&lt;/b&gt;에 오히려 똑바로 된 앱을 내는게 멍청한 곳이다. 인정?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;토스의 태생이 포인트 후킹 앱이기 때문에 후킹 앱 내부에 또 다른 후킹 앱으로 도배되는건 당연한 수순이었던거 같다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;IMG_7073.PNG&quot; data-origin-width=&quot;1179&quot; data-origin-height=&quot;2556&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJciUD/dJMcaayXXyT/PBOvSrcELQ2mjqc3SnXcJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJciUD/dJMcaayXXyT/PBOvSrcELQ2mjqc3SnXcJ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJciUD/dJMcaayXXyT/PBOvSrcELQ2mjqc3SnXcJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJciUD%2FdJMcaayXXyT%2FPBOvSrcELQ2mjqc3SnXcJ1%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;1179&quot; height=&quot;2556&quot; data-filename=&quot;IMG_7073.PNG&quot; data-origin-width=&quot;1179&quot; data-origin-height=&quot;2556&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SNS 에서 핫한 강남스타일 밈, oiia 와 같은 &lt;b&gt;밈&lt;/b&gt;을 소재로도 만들어보았지만, 별로 호응이 없었다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;열심히 유튜브와 인스타에도 홍보했지만 마찬가지였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;난 아무래도 쓰레기를 만든거 같다.&lt;/b&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;&lt;b&gt;고양이를 회전시켜요 (OIIA)&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.instagram.com/reel/DX6wDQECAuK/?utm_source=ig_web_copy_link&amp;amp;igsh=NTc4MTIwNjQ2YQ==&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.instagram.com/reel/DX6wDQECAuK/?utm_source=ig_web_copy_link&amp;amp;igsh=NTc4MTIwNjQ2YQ==&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;542&quot; data-origin-height=&quot;1106&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ABcIA/dJMcagy8rCa/V99jGRZhVTPq1xlPUVtd50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ABcIA/dJMcagy8rCa/V99jGRZhVTPq1xlPUVtd50/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ABcIA/dJMcagy8rCa/V99jGRZhVTPq1xlPUVtd50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FABcIA%2FdJMcagy8rCa%2FV99jGRZhVTPq1xlPUVtd50%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;542&quot; height=&quot;1106&quot; data-origin-width=&quot;542&quot; data-origin-height=&quot;1106&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;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;강남스타일 밈 제작기&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.instagram.com/reel/DX6wQrNCqvK/?utm_source=ig_web_copy_link&amp;amp;igsh=NTc4MTIwNjQ2YQ==&quot;&gt;https://www.instagram.com/reel/DX6wQrNCqvK/?utm_source=ig_web_copy_link&amp;amp;igsh=NTc4MTIwNjQ2YQ==&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;652&quot; data-origin-height=&quot;1098&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xqVft/dJMcacXOGLL/MuVPRhaKKnRMv9aKqU3Cc1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xqVft/dJMcacXOGLL/MuVPRhaKKnRMv9aKqU3Cc1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xqVft/dJMcacXOGLL/MuVPRhaKKnRMv9aKqU3Cc1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxqVft%2FdJMcacXOGLL%2FMuVPRhaKKnRMv9aKqU3Cc1%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;652&quot; height=&quot;1098&quot; data-origin-width=&quot;652&quot; data-origin-height=&quot;1098&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바쁘게 주말 마다 꽤나 공들여서 앱을 만들고 출시를 반복..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇게 해봤자 직장인에게 주어진 시간이 절대로 길지가 않다. 너무나 순식간이다.&lt;/p&gt;
&lt;p 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;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;AI 로 사업을 해보자&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이것 말고도 AI 로 사업을 해보려고 했다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;너에게 모든 권한을 넘겨줄테니 77억을 만들 수 있는 사업 아이템을 만들어오라고 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Claude Code 가 밤새도록 돌더니 &lt;b&gt;다음 날 무려 7개 정도 되는 사이트를 만들어놓았다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무슨 서비스인가 들어가서 보니,&lt;b&gt;&amp;nbsp;간단한 1가지의 편의 기능을 제공하는 서비스&lt;/b&gt;들이었는데 &lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;실제로 동작하는 서비스는 없었다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;진짜 그럴싸 하게 껍데기만 만든 것이었다.&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;그리고 어느날에 갑자기 낯선 사람에게서 Email 이 날라오길래 뭔가 하고 봤더니&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;product hunt&lt;/b&gt; 라는 곳에 AI가 만든 서비스를 올려놓았는데 기준치에 미달이라고 연락이 온 것이었다.&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;내 생각에 그 단계까지 가는데 곧 머지 않았다. 놀랍고도 무섭다.&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;사이트 내에서 결제를 하기 위해 PG를 붙이려고 했는데 AI 는 그냥 무지성으로 Sprite 를 붙여버렸다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고로 Sprite는 한국에서 지원되지 않는다.....&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;b&gt;AI 를 회사에서 잘 써보자&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;AI를 좀 더 잘쓰는 방법에 대해서 연구할 필요가 있겠다 싶었고, 회사 업무에 더 잘 쓰는 방법이 없을까? 고민해보았다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단.. 우리 회사는 AI 를 전사적으로 적극적으로 밀어주는 회사는 아니었기 때문에&lt;/p&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;p data-ke-size=&quot;size16&quot;&gt;거기에 그냥 아무 자료나 막 올렸다. AI 강의 자료, 새로운 소식, 뉴스, 내가 만든것 등..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그때 때마침 &lt;b&gt;하네스 엔지니어링&lt;/b&gt; 이라는 개념이 막 나왔던 초창기 시기였고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 &lt;b&gt;Jira Ticket -&amp;gt; Code Base 조사 -&amp;gt; Plan -&amp;gt; 코드 구현 -&amp;gt; 리뷰 -&amp;gt; PR&lt;/b&gt; 전체 개발 과정에 대한&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;조잡한 하네스 workflow&lt;/b&gt; 를 만들어서 사내 메신저로 공개했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;영상으로 찍어서 공개했더니 꽤 효과적이었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 채널을 만든 지 얼마 안되어서 &lt;b&gt;사내 AI TF&lt;/b&gt;가 만들어졌고, &lt;b&gt;드디어 AI 로 뭔가를 해보자는 움직임&lt;/b&gt;이 시작되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(다음 게시물에서 이어서)&lt;/p&gt;</description>
      <category>개발자 이야기</category>
      <category>AI</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/295</guid>
      <comments>https://11001.tistory.com/295#entry295comment</comments>
      <pubDate>Fri, 19 Jun 2026 00:51:54 +0900</pubDate>
    </item>
    <item>
      <title>[개발자 이야기] AI 에게 일을 위임하고 나는 딸깍하는 회사 라이프를 꿈꾸다</title>
      <link>https://11001.tistory.com/294</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-size: 1.44em; letter-spacing: -1px; font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif;&quot;&gt;매우 저조한 AI 활용도&lt;/span&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;팀&amp;nbsp;내에서&amp;nbsp;커서&amp;nbsp;이야기&amp;nbsp;나올&amp;nbsp;때마다&amp;nbsp;참&amp;nbsp;좋으니&amp;nbsp;한번&amp;nbsp;써보라고&amp;nbsp;권하고&amp;nbsp;아&amp;nbsp;진짜&amp;nbsp;빠르고&amp;nbsp;편하고&amp;nbsp;너무&amp;nbsp;좋은데&amp;nbsp;나만&amp;nbsp;쓰기&amp;nbsp;참&amp;nbsp;아까운데..&amp;nbsp;하면서&amp;nbsp;나름의&amp;nbsp;노력을&amp;nbsp;했습니다...&amp;nbsp;그&amp;nbsp;덕분인지&amp;nbsp;올해가&amp;nbsp;되어서야&amp;nbsp;팀&amp;nbsp;대부분이&amp;nbsp;구닥다리&amp;nbsp;코파일럿에서&amp;nbsp;커서를&amp;nbsp;옮겨오는&amp;nbsp;것&amp;nbsp;까지는&amp;nbsp;성공했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;회사마다 AI 활용도가 천차만별인데요.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;openAI 의 사례&lt;/b&gt;처럼 AI 가 일 다하는 곳도 있고, &lt;b&gt;저희 팀 처럼 나를 약간 도와주는 도구?&lt;/b&gt; 정도로 쓰는 곳도 많습니다.&lt;/p&gt;
&lt;figure id=&quot;og_1774022365791&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[AI] 완전 자율 소프트웨어 구축 시스템 개발 경험과 과정에 대한 글&quot; data-og-description=&quot;open AI 에서 공개한 글에 대해 요약하고 제 생각을 추가한 글입니다. 지난 5개월 동안 수동으로 작성한 코드가 단 한 줄도 없이 소프트웨어 제품의 내부 베타 버전을 개발하고 배포했습니다.이 제&quot; data-og-host=&quot;11001.tistory.com&quot; data-og-source-url=&quot;https://11001.tistory.com/290&quot; data-og-url=&quot;https://11001.tistory.com/290&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/mwMtw/dJMb9kT2bTi/varHE6mouMduGxXNko2fF1/img.png?width=800&amp;amp;height=436&amp;amp;face=0_0_800_436,https://scrap.kakaocdn.net/dn/7dCCU/dJMb9jOl9WS/mviGmYlKK94EPkzbWTccE1/img.png?width=800&amp;amp;height=436&amp;amp;face=0_0_800_436,https://scrap.kakaocdn.net/dn/dBPyCu/dJMb9bv1vbh/cQm3hNiWKtaROnmMTh1WZ0/img.png?width=2816&amp;amp;height=1536&amp;amp;face=0_0_2816_1536&quot;&gt;&lt;a href=&quot;https://11001.tistory.com/290&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://11001.tistory.com/290&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/mwMtw/dJMb9kT2bTi/varHE6mouMduGxXNko2fF1/img.png?width=800&amp;amp;height=436&amp;amp;face=0_0_800_436,https://scrap.kakaocdn.net/dn/7dCCU/dJMb9jOl9WS/mviGmYlKK94EPkzbWTccE1/img.png?width=800&amp;amp;height=436&amp;amp;face=0_0_800_436,https://scrap.kakaocdn.net/dn/dBPyCu/dJMb9bv1vbh/cQm3hNiWKtaROnmMTh1WZ0/img.png?width=2816&amp;amp;height=1536&amp;amp;face=0_0_2816_1536');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[AI] 완전 자율 소프트웨어 구축 시스템 개발 경험과 과정에 대한 글&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;open AI 에서 공개한 글에 대해 요약하고 제 생각을 추가한 글입니다. 지난 5개월 동안 수동으로 작성한 코드가 단 한 줄도 없이 소프트웨어 제품의 내부 베타 버전을 개발하고 배포했습니다.이 제&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;11001.tistory.com&lt;/p&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;대충 한 이정도.. 활용도였던 거 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 검색 엔진 대신에 물어보는 용도&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 반복되는 코드나 간단한 코드 수정 정도&lt;/b&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;&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;b&gt;검토하고 확인하고 재확인하고 기억해내고 ..&lt;/b&gt; &lt;b&gt;이 과정들이 제 일의 거의 80%는 됩니다&lt;/b&gt;. 가끔 제가 개발자인가 잊어버릴 때도 많습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;옛날에 삼성에 있을때는 작업 계획서 쓰고 엔지니어들 출입 관리하고 일정 잡고.. &lt;b&gt;내가 스케줄 매니저인가?&lt;/b&gt; 그런 생각 많이 했는데 요즘 비슷한 생각이 드는거 보면 확실히 제가 큰 회사로 다시 돌아온 느낌이 드네요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;AI 활용도가 떨어진 이유&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어쨌든 &lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;저희 팀은 정말로 AI 도입이 정말 많이 늦었고 활용도가 저조한데요. 그 이유는 이렇게 뽑아보았습니다.&lt;/span&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 개발자의 일 자체가 코드에 집중되기 보다는 기획 검토, 정리, 분류 등 코드 보다는&lt;b&gt; 문서 작업에 많은 리소스가 들기 때문&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 글로벌 서비스라서 &lt;b&gt;코드가 복잡도가 매우 높다&lt;/b&gt;는 점.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 다들 10년+ 의 괴물 시니어 경력자라서 &lt;b&gt;AI 에게 일을 시켜봤는데 별로더라.. 내가 하는게 더 낫다는 생각&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 전사적으로&lt;b&gt; AI 를 밀어주는 부서나 사람이 없음.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;AI 는 개발자의 위기가 아닌 성장 기회&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼에도 제가&lt;b&gt; AI 를 억지로라도 많이 쓰고 활용하는 분위기&lt;/b&gt;를 만들고자 한 이유는&lt;b&gt; 개발자는 성장을 멈추면 안되기 때문&lt;/b&gt;인데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금의 시대가&lt;b&gt; AI를 원하는 시대&lt;/b&gt;가 되었기 때문에 좋든 싫든 우리 개발자들은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;AI 를 통해 성장&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;해야만 하는 상황에 놓여있기 때문입니다.&lt;/p&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;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;AI 는 개발자에게 숙제를 뛰어 넘어 하나의 큰 과업입니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저도 처음에는 AI 거부하기도 하고 방관하기도 하고 한 1년? 2년 가까이 좀 더 지켜보자는 마음가짐 이었는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이게 저의 성장 발판이라는걸 스스로 깨닫고나서 그때 부터 미친듯이 밤낮으로 공부해보고 돈 쏟아부으면서 이것 저것 다&amp;nbsp;&lt;span style=&quot;text-align: start;&quot;&gt;사용해보고&lt;/span&gt;&amp;nbsp;따라가려고 발악했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;AI 도입 시도&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;누구나 AI 에 대한 글을 쓰고 공유할 수 있는&lt;b&gt; 슬랙 공개 채널&lt;/b&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;AI 를 배우고 관심을 가질 수 있는 글을 공유하다보니 팀원들도 같이 AI 사용 사례들을 올리면서 관심을 보여주셨습니다.&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 에 특히 관심이 많았던 분들과 업무 시간 중에 1시간 정도 &lt;b&gt;OpenClaw&lt;/b&gt; 를 설치하고 메신저에 연동하는 작업 것을 실습하는 시간을 가져보았고, 그렇게 만들어진 &lt;b&gt;OpenClaw&lt;/b&gt; 를 슬렉 채널에서 말을 걸 수 있게 연동을 해두었더니 다들 개발자 아니랄까봐 이것저것 기능을 붙이더군요. 재미있었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제가 시간적인 여유만 있으면 좀 더 양질의 자료를 준비하고 많은 것들을 공유하고 싶은데 요즘 일에 파묻혀있다보니.. 쉽지 않네요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;380&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cTGwRq/dJMcagx3nNe/AQhJBCkK8HQSHIpJPaLpt1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cTGwRq/dJMcagx3nNe/AQhJBCkK8HQSHIpJPaLpt1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cTGwRq/dJMcagx3nNe/AQhJBCkK8HQSHIpJPaLpt1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcTGwRq%2FdJMcagx3nNe%2FAQhJBCkK8HQSHIpJPaLpt1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;380&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;380&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;h3 style=&quot;text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;AI 개발 workflow 를 만들자&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 개인이 AI 를 사용하는 것을 넘어서 &lt;b&gt;팀 전체에서 활용&lt;/b&gt;되었으면 좋겠다는 생각이 들었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;회사에서 개발자가 하는 일을 (일부분 이라도) AI 에게 떠넘기는것&lt;/b&gt;을 꿈꿨습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러던 와중에 AI 부서에서 현업 10년+ 풀스텍 AI 개발자로 활동 중인 지인을 통해 좋은 블로그를 소개 받았고, AI 활용 사례 등을 공유 받았습니다. (동서남북 &amp;zwj;♂️)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;쉽게 말해서 &lt;b&gt;AI 에게 요구사항을 전달하여 코드를 편집하게 하는 과정&lt;/b&gt;에 대해 연구하고, 그것을 &lt;b&gt;workflow&lt;/b&gt;(순서대로 처리하는 구조화된 업무 방식)으로 만들어야 한다. 그런 내용이었습니다.&lt;/p&gt;
&lt;figure id=&quot;og_1774023276345&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Boris Tane&quot; data-og-description=&quot;The research-plan-implement workflow I use to build software with Claude Code, and why I never let it write code until I've approved a written plan.&quot; data-og-host=&quot;boristane.com&quot; data-og-source-url=&quot;https://boristane.com/blog/how-i-use-claude-code/&quot; data-og-url=&quot;https://boristane.com/blog/how-i-use-claude-code/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bh00mI/dJMb8SpHaV6/lpn0gZsHW8gISKA8FyARcK/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600,https://scrap.kakaocdn.net/dn/z95AR/dJMb8WMoMQl/fSRI5tF4PYGi7KXG7nKfu0/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600,https://scrap.kakaocdn.net/dn/Rot1y/dJMb8WMoMQm/b0kscZg9FgCXTedbbbDSN1/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot;&gt;&lt;a href=&quot;https://boristane.com/blog/how-i-use-claude-code/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://boristane.com/blog/how-i-use-claude-code/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bh00mI/dJMb8SpHaV6/lpn0gZsHW8gISKA8FyARcK/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600,https://scrap.kakaocdn.net/dn/z95AR/dJMb8WMoMQl/fSRI5tF4PYGi7KXG7nKfu0/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600,https://scrap.kakaocdn.net/dn/Rot1y/dJMb8WMoMQm/b0kscZg9FgCXTedbbbDSN1/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Boris Tane&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;The research-plan-implement workflow I use to build software with Claude Code, and why I never let it write code until I've approved a written plan.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;boristane.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[글 요약] Cloudflare 출신 엔지니어의 클로드 코드 사용 방법에 대한 글입니다.여기서 소개하는 workflow 는 &lt;br /&gt;&lt;u data-stringify-type=&quot;underline&quot;&gt;&lt;b&gt;&quot;문서로 작성된 계획을 검토후 승인하기 전까지 절대로 코드 작성을 시키지 않는다&quot;&lt;/b&gt; &lt;/u&gt;라는 대원칙을 사용하여 계획과 실행을 분리했습니다.&lt;br /&gt;1. 기본 개념은 &lt;b&gt;Garbage in, garbage out.&lt;/b&gt; plan은 코드만큼 중요하다. (쓰레기 계획은 쓰레기를 반환)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 좋은 &lt;b&gt;plan&lt;/b&gt;을 짜려면 &lt;b&gt;research&lt;/b&gt;도 잘 되어야 한다. (프로젝트 내의 코드가 어떻게 짜여있는지에 대한 연구)&lt;br /&gt;3. &lt;b&gt;plan&lt;/b&gt;을 매우 꼼꼼하게 검토하고 &lt;span style=&quot;text-align: start;&quot;&gt;허락없이 절대 코드를 편집하지 않는다. (코딩하고 검토하는게 아니라 검토를 다 끝내고 코딩)&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;&lt;span style=&quot;text-align: start;&quot;&gt;이 아이디어를 CLAUDE.md 또는 커서 rules/workflow.mdc 로 옮겨서 &lt;b&gt;항상 컨텍스트에 포함&lt;/b&gt;시키게 했습니다.&lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;개발자가 요구사항을 전달하면 코드베이스를 &lt;b&gt;연구&lt;/b&gt;하고&lt;b&gt; 계획&lt;/b&gt;을 세운 다음에 제&lt;b&gt; 승인&lt;/b&gt;을 받을 때 까지&lt;b&gt; 계획 수정을 반복&lt;/b&gt;하고 승인을 받으면 코드로 옮기는 매우 단순한 흐름입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;712&quot; data-origin-height=&quot;166&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tzen9/dJMcacbnuwj/j0OrGfgTm1JqdQ1ItkKGK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tzen9/dJMcacbnuwj/j0OrGfgTm1JqdQ1ItkKGK1/img.png&quot; data-alt=&quot;출처: boristane.com&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tzen9/dJMcacbnuwj/j0OrGfgTm1JqdQ1ItkKGK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ftzen9%2FdJMcacbnuwj%2Fj0OrGfgTm1JqdQ1ItkKGK1%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;166&quot; data-origin-width=&quot;712&quot; data-origin-height=&quot;166&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출처: boristane.com&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Git 브랜치 전략도 그렇고 이런 것도 엄청 복잡한 흐름 보다는 결국 &lt;b&gt;사람이 이해할 수 있는 단순한 형태를 사용하는게 가장 강력&lt;/b&gt;합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고&lt;b&gt;&amp;nbsp;세팅도 수 초 이내에 끝낼 수 있을 정도로 매우 간단&lt;/b&gt;해야합니다.&lt;br /&gt;일단 TUI 환경(cmux 를 추천)에서 &lt;b&gt;cursor cli&lt;/b&gt; 설치하고 &lt;b&gt;~/.cursor/&lt;/b&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;b&gt;rules/workflow.mdc&lt;/b&gt; 파일에 위의 규칙을 작성하는 것 까지만 하면 세팅은 끝납니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1774075706645&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;curl https://cursor.com/install -fsS | bash&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 이 내용만 보면 그냥 AI Agent 돌리는 거랑 크게 다를 거 없는데? Plan 모드 쓰면 되지않나? 랄프 루프 돌리면 되지 않나? 싶지만&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 workflow 는 &lt;b&gt;모든 작업 산출물을 문서화 하여 영구적으로 저장&lt;/b&gt;한다는 차이가 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문서들은 개인&amp;nbsp;&lt;b&gt;클라우드 저장소&lt;/b&gt;로 올려놓고 해당 폴더를 &lt;span style=&quot;text-align: start;&quot;&gt;&lt;b&gt;옵시디언&lt;/b&gt; 노트로 열어서 연결된 링크를 쉽게 오가면서 확인하는 그러한 형태로 사용할 수 있겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1164&quot; data-origin-height=&quot;658&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CfIgN/dJMcad2m4mp/6snrs7eid9u6wJrcsIoOLk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CfIgN/dJMcad2m4mp/6snrs7eid9u6wJrcsIoOLk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CfIgN/dJMcad2m4mp/6snrs7eid9u6wJrcsIoOLk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCfIgN%2FdJMcad2m4mp%2F6snrs7eid9u6wJrcsIoOLk%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;1164&quot; height=&quot;658&quot; data-origin-width=&quot;1164&quot; data-origin-height=&quot;658&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;눈치 채신 분들도 있겠지만 &lt;b&gt;~/.cursor/rules 경로를 사용하여 전역 프로젝트에 공통 적용하는 방식&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;깃 저장소에 올리는게 아니고 &lt;b&gt;개인 별로 사용&lt;/b&gt;하게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;왜냐면 작업 할 때마다 발견되고 연구된 새로운 내용이 실시간으로 계속 업데이트 될 테니까요&lt;/span&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기획서는 MCP 써서 누구나 받아올 수 있고 코드베이스는 공유되고 있으니 각자 AI Agent 가 읽고 이해하는게 빠릅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;&lt;b&gt;작업 판단에 중대한 영향을 끼치는 문서나 설계도 같은 것들만 별도로 공유&lt;/b&gt;해서 받아쓰는 정도로 충분하지 않은가 싶습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;QA 이슈 해결 workflow 를 만들자&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&amp;nbsp;저희 회사의 경우에는 새로운 기능 스펙 개발에 대해서는 이와 같은 사이클을 가지고 있는데요.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;기획 Jira 티켓 -&amp;gt; 티켓 내 기획서 확인 -&amp;gt; 개발자가 기획서 내용을 읽고 이해, 정리 -&amp;gt; 개발 jira 티켓 생성 -&amp;gt; 코드 변경 계획 -&amp;gt; 코딩 -&amp;gt; PR 생성 -&amp;gt; 코드 리뷰&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;-&amp;gt; 개발 환경 배포 -&amp;gt; QA 진행 -&amp;gt; (이슈 발생시) QA jira 티켓 발행 -&amp;gt; 이슈 내용을 읽고 이해, 정리 -&amp;gt; 코드 변경 계획 -&amp;gt; 코딩 -&amp;gt; PR 생성 -&amp;gt; 코드 리뷰 -&amp;gt; 배포&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;942&quot; data-origin-height=&quot;525&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rFJ3z/dJMcagLDlP5/CAnc7RRdOHbRKKu7hUKddK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rFJ3z/dJMcagLDlP5/CAnc7RRdOHbRKKu7hUKddK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rFJ3z/dJMcagLDlP5/CAnc7RRdOHbRKKu7hUKddK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrFJ3z%2FdJMcagLDlP5%2FCAnc7RRdOHbRKKu7hUKddK%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;942&quot; height=&quot;525&quot; data-origin-width=&quot;942&quot; data-origin-height=&quot;525&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실은 첫 단계부터 AI 가 해야하지만, 요즘 제가 하고 있는 진행중인&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;장기&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;프로젝트는 한창 &lt;b&gt;QA 단계&lt;/b&gt;에서 돌고 있는 상태라..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;당장은 QA 단계에 대한 workflow 가 필요한 상황입니다. (단계 별로 만들지 못해서 참 슬프네요 현실이 그러하네요..)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;QA 진행 -&amp;gt; (이슈 발생시) QA jira&lt;span&gt;&amp;nbsp;&lt;/span&gt;티켓&lt;span&gt;&amp;nbsp;&lt;/span&gt;발행 -&amp;gt; 이슈 내용을 읽고 이해, 정리 -&amp;gt; 코드 변경 계획 -&amp;gt; 코딩 -&amp;gt; PR 생성&lt;/b&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;QA jira&lt;span&gt;&amp;nbsp;&lt;/span&gt;티켓&lt;span&gt; &lt;/span&gt;이슈 내용을 읽고 이해, 정리&lt;span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 AI Agent 가 티켓 내용을 읽어 오는 것 부터 가능하게 해보았습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;.cursor/mcp.js&lt;/span&gt;&lt;span&gt;on 에&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;b&gt; atlassian MCP 서버를 등록&lt;/b&gt;합니다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;(node v18 사용 시 오류 발생하여 강제로 node v20 경로를 읽게 변경했습니다. 대부분은 그냥 npx 로도 충분할듯)&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1774025873612&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;{
  &quot;mcpServers&quot;: {
    &quot;atlassian&quot;: {
      &quot;command&quot;: &quot;/Users/사용자/.nvm/versions/node/v20.20.0/bin/npx&quot;,
      &quot;args&quot;: [&quot;-y&quot;, &quot;mcp-remote&quot;, &quot;https://mcp.atlassian.com/v1/mcp&quot;]
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 하고 웹 브라우저가 열려서 인증을 받게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 cursor cli 를 설치 했기에&amp;nbsp; 터미널 열고 agent 입력 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;MCP 사용 ㄱㅊ? 하고 물어봅니다. yes !&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;티켓 유형에 대해 설명해주고나서 해결안됨, 검토중 상태의 QA 티켓를 모두 가져와서 문서에 표로 정리해달라고 시켰습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2490&quot; data-origin-height=&quot;790&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oVLbW/dJMcaaEEhle/jimOnzllg4OELqGXSzcso0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oVLbW/dJMcaaEEhle/jimOnzllg4OELqGXSzcso0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oVLbW/dJMcaaEEhle/jimOnzllg4OELqGXSzcso0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoVLbW%2FdJMcaaEEhle%2FjimOnzllg4OELqGXSzcso0%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;2490&quot; height=&quot;790&quot; data-origin-width=&quot;2490&quot; data-origin-height=&quot;790&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 해보니까 지라에서 이미지나 영상은 못 가져오고 &lt;span style=&quot;text-align: start;&quot;&gt;담당자 마다 티켓 내용 형식이 조금씩 다르는 것 때문에&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;text-align: start;&quot;&gt;AI 가 이해할 수 있는 상태가 아닌 상태로 가져온 경우들도 있더군요.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;이럴 때는 어쩔 수 없이 사람이 개입해서 이건 어떤 내용이야~ 이렇게 해줘야만 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;티켓을 읽어와서 문서에 한번 정리하는 과정이 불필요해 보일 수도 있겠지만&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;text-align: start;&quot;&gt; 굳이 이 과정을 넣은 이유가 이것 때문입니다!&amp;nbsp;&lt;br /&gt;(티켓의 요구사항을 보완하는 단계)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어쨋든 이제 테이블 표에 이쁘게 티켓 번호, 이슈, 확인내용, 원인, 해결, 브랜치명, PR 링크, 진행상황 등이 쭉 정리되어서 보여집니다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;br /&gt;이제 코딩을 위한 workflow 를 태우기&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;티켓 하나씩 차례로 &lt;b&gt;research -&amp;gt; plan&lt;/b&gt; 과정을 시켜보았습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드베이스를 연구한 뒤에 md 파일을 남겨놓고, &lt;b&gt;연구된 코드베이스를 기반으로 plan 을 세우니 매우 똑똑하게 작업&lt;/b&gt;을 해주더군요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cursor 에도 plan 모드가 있는데 이 커스텀 workflow 는 문서를 남긴다는 장점과 plan 에서 원하는 부분에 인라인으로 메모를 남기고 다시 계획을 세우게 만드는 루프를 돌릴 수 있어서 훨씬 효과적입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 문제점은 &lt;b&gt;cursor 자체적으로도 workflow 를 가지고 있기 때문에 제 workflow 를 무조건적으로 잘 지켜주지 않습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;계속 지속해서 &quot;내 승인이 없으면 코드 변경하지마&quot;, &quot;지금 단계 까지만 진행해야해&quot; 와 같이 지시를 내려야하는 불편함이 있었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;일단.. 진행시켜!&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;477&quot; data-origin-height=&quot;458&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCsJA9/dJMcafTtFB3/Yaz8LCA47kBVQWQ7hwiKLk/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCsJA9/dJMcafTtFB3/Yaz8LCA47kBVQWQ7hwiKLk/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCsJA9/dJMcafTtFB3/Yaz8LCA47kBVQWQ7hwiKLk/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCsJA9%2FdJMcafTtFB3%2FYaz8LCA47kBVQWQ7hwiKLk%2Fimg.webp&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;477&quot; height=&quot;458&quot; data-origin-width=&quot;477&quot; data-origin-height=&quot;458&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;수 십개의 이슈 티켓을 차례로 진행하려니 시간이 부족해서 도저히 안되겠습니다. 지금 무척 바쁘거든요 ㅠㅠ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(나중에 일괄 검토할 각오로) 전체 티켓에 대해 &lt;span style=&quot;color text-align: start;&quot;&gt;workflow&lt;span&gt; 를 진행 시켜보았고 이번에만 plan 은 일괄 승인해주겠다. &lt;/span&gt;&lt;/span&gt;각 티켓마다 base 브랜치를 기반으로하는 하위 브랜치를 만들고 코드 변경 작업 후 커밋 까지 해줘 라고 시키고 저는 저녁 밥을 먹고 왔습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(잠시후...)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런? &lt;b&gt;같은 페이지 내에서 관련된 이슈를 묶어서 하나의 브랜치에서 처리를 해두었더군요?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제로 관련 이슈들은 묶어서 하나의 PR 로 올리곤 했거든요 그래서 제가 원했던 희망사항이었지만 딱히 커서에서 시킨 적은 없습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 &lt;b&gt;한 세션에서 처리하기엔 너무 분량이 많다고 불평&lt;/b&gt;했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물론 분량이 많은 거 동의합니다... 그래도 커서가 한 7개 정도의 이슈를 한번에 처리해두었거든요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 변경사항을 보니 비교적 간단한 변경 작업들이었고, 제가 딱히 건드릴게 많이 없어서 대부분은 곧바로 PR 까지 생성할 수 있었습니다.&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;(문구 바꾸기, 조건 바꾸기 같은 단순 작업 같은건 앞으로 티켓만 넣으면 PR 생성 까지도 당장 가능하다고 봐야함)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;후기 정리&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발을 위한 workflow 앞 단에 &lt;b&gt;기획서나 티켓 내용을 읽어오는 과정&lt;/b&gt;을 MCP 를 통해 구현했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이슈나 요구사항에 대해 부족한 내용을 사람이 보완을 해주는 단계가 필요하고, 이 단계에 &lt;b&gt;부족한 자료 추가와 내용 정리가 필요&lt;/b&gt;.&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;작업 시 worflow 를 반드시 준수해 달라고 지속적인 지시 필요&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;유사 작업 분류, 브랜치 생성&lt;/b&gt; -&amp;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;가장 중요하게 느낀 것은 &lt;b&gt;기획서&lt;/b&gt;를 반드시 AI 가 읽어야한다는 것이었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기획 내용을 모르니 그 기획을 코드로 구현한 것에서 발생한 이슈 내용을 완벽히 이해하지 못했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 처&lt;b&gt;음 만드는 단계부터 기획서를 넣어서 그걸 베이스로 작업을 시키고 문서화&lt;/b&gt; 했더라면 &lt;br /&gt;아마 지금 단계에 왔을때 정확히 이슈와 코드베이스를 이해하고 작업이 가능했을것이라 믿고 있습니다. (인간이 미안해)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어쨋든 이거를 개인적으로 계속 테스트하고 디벨롭 하고 있는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어느정도 정립이 되면 팀 내에 공유하고 작은 부분에서라도 도입해보려고 합니다..&lt;/p&gt;</description>
      <category>개발자 이야기</category>
      <category>AI</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/294</guid>
      <comments>https://11001.tistory.com/294#entry294comment</comments>
      <pubDate>Sat, 21 Mar 2026 02:30:46 +0900</pubDate>
    </item>
    <item>
      <title>[독후감] 나의 돈 많은 고등학교 친구 (송희구 작가)</title>
      <link>https://11001.tistory.com/292</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;[오랜만에 만난 친구가 알고보니 시그니엘 집주인]&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Uc1Lq/dJMcahDy4j4/dM2g0A5sPYgEpSGzKVkov1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Uc1Lq/dJMcahDy4j4/dM2g0A5sPYgEpSGzKVkov1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Uc1Lq/dJMcahDy4j4/dM2g0A5sPYgEpSGzKVkov1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUc1Lq%2FdJMcahDy4j4%2FdM2g0A5sPYgEpSGzKVkov1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;올해 나이 마흔에 대기업 과장인 영철은 아들인 영현을 데리고 롯데월드에 갔다가 고등학교 시절 골동품 운영하며 반지하에 살던 친구 광수와 그의 아들 광현을 만나게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;광수는&lt;b&gt; 20초 만에 기구를 탈 수 있는 프리미엄 매직패스 티켓&lt;/b&gt;을 가지고 있었고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;영철의 티켓은 &lt;b&gt;1시간을 기다려야 기구를 탈 수 있는 일반 티켓&lt;/b&gt;이었기에 1시간 이후에 만나기로 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;광수는 조그만 사업을 한다는 영철이 허름한 차림에 차를 가지고 오지 않은 것으로 보아, 분명 저 멀리 외곽에서 놀러온 것으로 생각했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;영철은 사옥을 짓는 현장에서 광수를 만나게 되는데 알고보니 광수가 건설 회사 대표였네요.&lt;br /&gt;알고보니 광수가 저~위에 살고 있다는 것이 경기 북부가 아니라 진짜로 저 위인 시그니엘 이라고 합니다. 어떻게 된 일일까요? 정신이 멍해집니다.&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mJT4H/dJMcai3vvDS/EabbbLEnoQVbkbHkDrQAE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mJT4H/dJMcai3vvDS/EabbbLEnoQVbkbHkDrQAE0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mJT4H/dJMcai3vvDS/EabbbLEnoQVbkbHkDrQAE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmJT4H%2FdJMcai3vvDS%2FEabbbLEnoQVbkbHkDrQAE0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;영철은 우연히 주워들은 &lt;b&gt;루나바이오헬스케어&lt;/b&gt; 라는 주식에 5000만원을 넣었다가 휴지조각이 됩니다.&lt;br /&gt;영철이 했던 것은 투자가 아니라 투기였던 것이죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;점집에 들려 점을 보고왔는데 물을 피해야 합니다 라는 소리를 듣고 아, 내가 잘 안되는 이유가 물가에 살아서 그렇구나~ 그러던 와중에 경기 외곽 타운하우스를 분양을 받게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇게 꿈에 그리던 타운하우스를 입주했으나 기대와 많이 달랐고,&lt;br /&gt;막상 들어가니 단점도 보이고 시세는 반토막이 나고, 대체 왜 그런지 알 수 없었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;영철은 너무 쉽게 돈을 벌고자 했기 때문이죠.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3kJWa/dJMcabDnEO0/VY39x5qMnaBBMPW3lSo6hk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3kJWa/dJMcabDnEO0/VY39x5qMnaBBMPW3lSo6hk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3kJWa/dJMcabDnEO0/VY39x5qMnaBBMPW3lSo6hk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3kJWa%2FdJMcabDnEO0%2FVY39x5qMnaBBMPW3lSo6hk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;b&gt;루나바이오헬스케어&lt;/b&gt;라는 회사에 대해 제대로 알아보지도 않고 그저 누군가의 비밀 정보라는 소식에 팔랑 넘어가서 '투기' 해버렸고&lt;br /&gt;부동산도 잘 모르면서 공부하여 살 생각하지를 않고, 점에 의지하고 타운하우스 팔이들에게 또 팔랑 넘어가서 호구 당했습니다.&lt;br /&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;br /&gt;괜히 내가 뒤쳐진 거 같고 마음이 조급하고 뭐라도 해야할 거 같은 생각이 크게 들죠. 그러다가 준비 안된 상태에서 무턱대고 덤볐다가 화를 당하기 마련입니다.&lt;br /&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;[더 많은 돈을 벌기 위해 사업가가 된 광현, 영현]&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cf4H1K/dJMcaiJdT5u/xrGkknoenqfyX0PfSHuF61/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cf4H1K/dJMcaiJdT5u/xrGkknoenqfyX0PfSHuF61/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cf4H1K/dJMcaiJdT5u/xrGkknoenqfyX0PfSHuF61/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcf4H1K%2FdJMcaiJdT5u%2FxrGkknoenqfyX0PfSHuF61%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;광현, 영현은 성인이 되어 대학교에 들어갔습니다.&lt;br /&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;b&gt;돈을 더 많이 벌어라&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;소비를 줄여라&lt;/b&gt;&lt;/li&gt;
&lt;/ol&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;br /&gt;국내에서는 생소한 외국 캠핑 브랜드를 사서 팔아보기로 했는데요. 하나도 팔리질 않습니다.&lt;br /&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;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cb0XRw/dJMcahcvAZt/Kr2AUCraT2kDp3PZplLa20/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cb0XRw/dJMcahcvAZt/Kr2AUCraT2kDp3PZplLa20/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cb0XRw/dJMcahcvAZt/Kr2AUCraT2kDp3PZplLa20/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcb0XRw%2FdJMcahcvAZt%2FKr2AUCraT2kDp3PZplLa20%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 느낀 점은 수동적인 자세로 사업을 하는 것은 남의 말을 듣고 주식을 사서 대박 나기를 바라는 것과 다를 거 없다는 겁니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가만히 있는데 손님들이 오기를 바란다? 내가 직접 가서 입에 떠먹여주고 반응도 보고 또 찾아올 수 있게 해도 모자라다는 겁니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;b&gt;기회는 누구에게나 찾아 오지만 가만히 있으면 기회인 줄도 모르고 지나가는게 맞는거 같습니다.&lt;/b&gt;&lt;br /&gt;그러나 한국인들은 어릴때 부터 나대지마라, 가만히 있으면 중간은 간다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이딴 식으로 교육 받으며 자랐고 저도 그렇게 자랐기 때문에 이런 부분에서 엄청난 고생을 하게 되는거 같습니다.&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;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJ8i2b/dJMcafsd3Ph/oE8Jcnaky6CVdr8t7nuLi1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJ8i2b/dJMcafsd3Ph/oE8Jcnaky6CVdr8t7nuLi1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJ8i2b/dJMcafsd3Ph/oE8Jcnaky6CVdr8t7nuLi1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJ8i2b%2FdJMcafsd3Ph%2FoE8Jcnaky6CVdr8t7nuLi1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;광수는&lt;b&gt; 행복, 성공&lt;/b&gt; 이런것들을 목표로 하지 않습니다.&lt;br /&gt;행복은 언제든 느낄 수 있는 것이고, 작은 것을 이루는 것도 성공이기 때문이죠.&lt;br /&gt;부자는 목표라고 할 수 있습니다. 하지만 부자는 누구와도 경쟁하는 것이 아닙니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;광수는 어린시절 물이 새는 철물점을 보며, 물이 새지 않는 튼튼한 집을 짓고자 하는 깊고 강한 목표가 새겨졌고&lt;/b&gt;&lt;br /&gt;그 목표를 위해서 건축과 진학, 건축사무소에서 일하며 남들이 힘들다고 하지 않는 일까지 도맡아 해왔습니다. 젊은 시절의 고생들이 나중에 기회가 왔을때 잡을 수 있는 능력이 되었고,&lt;br /&gt;약간 손해를 보더라도 고객에게 최고의 결과를 제공하고자 하는 마음가짐이 있었기 때문에 결과가 좋을 수 밖에 없었고, 그것이 입소문을 타고 사업이 번창하게 되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;광수는 어린 시절 반지하에서 살았기에 제일 높은 곳에서 살고 싶었고, 반지하의 좁고 작은 창문을 보며 자랐기 때문에 가능하면 크고 넓은 통창을 얻고 싶었습니다. &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그것이 광수의 성장동력이 되었습니다.&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;h3 data-ke-size=&quot;size23&quot;&gt;[부의 대물림, 가난한 마음가짐 물려주기]&lt;/h3&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현명한 광수는 아들인 광현에게도 자산을 물려주지 않고 용돈도 쥐어주지 않습니다.&lt;br /&gt;아버지의 꼭 필요한, 최소한의 서포트를 받으며 스스로 인생을 학습하고 경험을 해보며 삶을 개척합니다.&lt;br /&gt;부는 축적하는 것만 어려운게 아니라 유지하는 것도 매우 어렵습니다.&lt;br /&gt;아마 이렇게 키우지 않았다면 어차피 내 돈도 아니고 아버지가 준 공짜 돈인데..ㅋ 하고 흥청망청 쓰는 철부지 아들이 되었을 지도 모릅니다.&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;b&gt;이 책을 읽으면 어린 시절 부터의 빌드업이 얼마나 삶에 큰 영향을 미치는가를 볼 수 있습니다.&lt;/b&gt;&lt;br /&gt;내가 살아가면서 무언가를 절실히 느끼고 원하는 바, 목표를 가지고 그것을 향해서 쏟아부을 수 있는 열정을 가져야합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무언가 쉽게 얻으려고 하면 쉽게 잃어버린다. &lt;b&gt;철저히 시간과 공을 들여서 결과를 얻으려는 자세를 가져야 합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;b&gt;남이 아닌 나에게 집중해야합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;투자든 사업이든 &quot;기본&quot;에 충실해야 합니다.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;내가 얼마를 남겨먹을 지 고민하기 전에 내가 무엇을 해줄 수 있는지?&lt;/b&gt; 생각해야합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무엇을 얻고자 한다면 반드시 수동적인 자세를 버리고 적극적으로 뛰어야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;616&quot; data-origin-height=&quot;439&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cp4fKe/dJMcajuBIOC/0JXClM75YZk2Sq3riApRZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cp4fKe/dJMcajuBIOC/0JXClM75YZk2Sq3riApRZ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cp4fKe/dJMcajuBIOC/0JXClM75YZk2Sq3riApRZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcp4fKe%2FdJMcajuBIOC%2F0JXClM75YZk2Sq3riApRZ1%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;616&quot; height=&quot;439&quot; data-origin-width=&quot;616&quot; data-origin-height=&quot;439&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;저는 3/28 송희구 작가님의 부동산 강의를 들으러 킨텍스에 갑니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무언가 얻고 싶기에 시간과 노력을 들여서 책도 읽고 먼 거리를 이동합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;광수와 약간 다르지만 저는 내집마련이 어릴적 부터의 큰 소원이자 목표를 뛰어넘은 숙원 같은거라&lt;/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;똘똘한 내 집과 그 이후의 갈아타기를 잘해서 저도 잠실 입성을 하게 되는 그 날까지&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발도 열심히, 부동산 공부도 열심히 해보려 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발자 이야기</category>
      <category>독후감</category>
      <category>부동산</category>
      <category>송희구</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/292</guid>
      <comments>https://11001.tistory.com/292#entry292comment</comments>
      <pubDate>Sun, 8 Mar 2026 13:33:07 +0900</pubDate>
    </item>
    <item>
      <title>[시니어 FE] CSRF GET 공격 시나리오와 방어법</title>
      <link>https://11001.tistory.com/291</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;cookie.jpg&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;854&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3wAWT/dJMcadHT5Ij/vQMJTuOtXpDZasQUKYXKuk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3wAWT/dJMcadHT5Ij/vQMJTuOtXpDZasQUKYXKuk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3wAWT/dJMcadHT5Ij/vQMJTuOtXpDZasQUKYXKuk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3wAWT%2FdJMcadHT5Ij%2FvQMJTuOtXpDZasQUKYXKuk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;854&quot; data-filename=&quot;cookie.jpg&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;854&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;쿠키(Cookie)를 인증 수단으로 사용할 때, SameSite 속성을 Lax나 Strict로 설정하는 것만으로 CSRF 공격을 완벽히 막을 수 있을까요? 추가적으로 'CSRF 토큰'이나 'Custom Header'가 필요한 이유는 무엇이라고 생각하시나요?&quot;&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;&quot;사용자가 우리 서비스에 로그인한 상태로, 해커가 만든 악성 사이트에 접속했습니다. 그 사이트에는 우리 서비스의 '비밀번호 변경' API를 자동으로 호출하는 폼(Form)이 숨겨져 있습니다. 사용자가 모르는 사이에 비밀번호가 바뀌는 이 공격을 프론트엔드와 백엔드에서 어떻게 협업하여 막으시겠습니까?&quot;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;CSRF(Cross-Site Request Forgery)&amp;nbsp;공격의 목적&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용자의&amp;nbsp;권한을&amp;nbsp;도용해&amp;nbsp;비밀번호&amp;nbsp;변경,&amp;nbsp;결제,&amp;nbsp;게시글&amp;nbsp;삭제&amp;nbsp;등&amp;nbsp;서버의&amp;nbsp;상태를&amp;nbsp;변조하는&amp;nbsp;것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본적으로 GET 요청은 자원의 변경하지 않기 때문에 문제가 될 일은 없다만, 만에 하나 GET 메소드로 잘못 지정하거나 잘못 사용하고 있는 서버 자원을 변경하는 API가 있다면 공격의 대상이 될 수 있습니다.&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;CSRF PUT/POST 공격 시나리오&lt;/h4&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;CSRF POST/PUT 공격은 사용자의 브라우저가 대상 서버로 요청을 보낼 때 &lt;b data-index-in-node=&quot;46&quot; data-path-to-node=&quot;21,0&quot;&gt;인증 쿠키를 자동으로 포함하는 특성&lt;/b&gt;을 악용합니다.&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;공격자는&amp;nbsp;사용자가&amp;nbsp;로그인한&amp;nbsp;상태를&amp;nbsp;유지하고&amp;nbsp;있다는&amp;nbsp;점을&amp;nbsp;악용하여,&amp;nbsp;사용자&amp;nbsp;모르게&amp;nbsp;서버&amp;nbsp;상태를&amp;nbsp;변경하는&amp;nbsp;요청을&amp;nbsp;보내게&amp;nbsp;합니다.&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;예를 들어 사이트에 로그인한 상태에서 해커의 사이트에 접속하게 하여 form 을 제출하게 합니다.&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;근데 외부 요청은 서버에서 설정한 CORS 정책으로 다 막히지 않나요?&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;lt;form&amp;gt; 태그는 CORS 정책을 무시합니다. &lt;br /&gt;브라우저는 폼 제출을 페이지 전환의 일종으로 간주하기 때문에 다른 도메인으로 POST 요청 보내는 것에 대해서는 무시합니다.&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;form 태그는 method=&quot;POST&quot; 와 GET 만 지원하기에 해커의 공격 대상은 POST, GET 뿐입니다.&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;일단 외부에서 우리 사이트로 요청이 들어오는 경우&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;브라우저 레벨에서&lt;b&gt; SameSite Cookie&lt;/b&gt; 설정을 통해 외부 사이트에서 쿠키 자체가 넘어가지 못하게 하여 대부분 방어가 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SameSite는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&quot;다른 사이트(Cross-site)에서 발생한 요청에 이 쿠키를 실어 보낼 것인가?&quot;&lt;/b&gt;를 결정합니다.&lt;/p&gt;
&lt;p style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;SameSite=&lt;/span&gt;Strict 가장 엄격합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용자가 google.com에 있다가 링크를 타고 naver.com으로 넘어올 때조차 쿠키를 보내지 않습니다.&lt;br /&gt;(사용자 경험이 나빠질 수 있음 - 매번 다시 로그인 등)&lt;/p&gt;
&lt;p style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;SameSite=&lt;/span&gt;Lax (기본값) 조금 유연합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;외부 사이트에서 우리 사이트로 오는 '하위 리소스 요청(img, iframe 등)'은 차단하지만, '안전한 요청(GET)'이나 '탑 레벨 내비게이션(링크 클릭)', 즉 브라우저의 주소창이 바뀌는 a 태그 클릭이나 window.location.href 이동은 쿠키 전송을 허용합니다.&lt;br /&gt;하지만 &lt;b&gt;POST, PUT, DELETE 같은 상태 변경 요청에는 쿠키를 보내지 않습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;애플리케이션 레벨에서는 &lt;b&gt;CSRF Token&lt;/b&gt; 로 방어가 가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;서버가 페이지 렌더링 시 매번 무작위 토큰&lt;/b&gt;을 발급하고, 클라이언트는 POST/PUT 요청 시 이를 헤더나 바디에 포함합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해커는 사용자의 쿠키는 브라우저를 통해 보낼 수 있지만, 자바스크립트로 &lt;b&gt;우리 서버의 토큰값을 읽어올 수 없으므로&lt;/b&gt;(SOP 정책) 공격이 실패합니다. 보통 초고보안이 필요한 환경에서 이렇게 합니다.&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;SPA 에서는 매번 서버가 토큰을 보내줄 수 없으니 &lt;b&gt;로그인시 무작위 생성된 CSRF 토큰을 쿠키에 넣어둡니다.&lt;/b&gt;&lt;br /&gt;HttpOnly: true 가 아닌 &lt;b&gt;false&lt;/b&gt; 설정하여, 자바스크립트에서 읽어와서 API 요청 보낼때 &lt;b&gt;별도의 헤더&lt;/b&gt;로 실어 보내는 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;왜 그러냐면 브라우저가 자동으로 실어 보내는 쿠키를 맹신적으로 믿어서는 공격 당할 수 있기 때문에 별도의 헤더를 쓰는 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인프라/API 레벨에서는&lt;b&gt; Custom Header&lt;/b&gt; 검증이 가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;X-Requested-With&lt;/b&gt; 같은 고정된 커스텀 헤더를 하나 추가하여&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;왜 Custom Header가 CSRF를 막는가? (핵심 원리)&lt;br /&gt;핵심은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&quot;브라우저는 교차 출처(Cross-Origin) 요청 시, 커스텀 헤더가 포함되면 반드시 Preflight(OPTIONS) 요청을 보낸다&quot;&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;는 점에 있습니다.&lt;br /&gt;기본 헤더 (Simple Request): Content-Type: text/plain, Accept 등 표준 헤더만 사용하면 브라우저는 바로 서버로 요청을 보냅니다.&lt;br /&gt;커스텀 헤더: X-Requested-With, X-App-Version 같은 표준이 아닌 헤더를 추가하면, 브라우저는 이 요청을&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;'잠재적으로 위험한 요청'&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;으로 간주합니다.&lt;br /&gt;Preflight 발생: 브라우저는 실제 요청을 보내기 전에 OPTIONS 메소드로 서버에 &quot;이 헤더 써도 돼?&quot;라고 먼저 물어봅니다.&lt;br /&gt;CORS 차단: 해커의 사이트(evil.com)에서 우리 API로 커스텀 헤더를 실어 보내려 하면, 서버는 Preflight 응답에서 evil.com을 허용하지 않을 것이고, 브라우저는 실제 요청 자체를 보내지 않고 차단합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;① 클라이언트(프론트엔드) 설정&lt;br /&gt;모든 API 요청에 공통 헤더를 주입합니다. 보통 axios 인스턴스나 fetch 래퍼 함수에서 설정합니다.&lt;/p&gt;
&lt;pre style=&quot;background-color: #f8f8f8; color: #383a42;&quot;&gt;&lt;code&gt;import axios from 'axios';

const api = axios.create({
  baseURL: 'https://api.bank.com',
  headers: {
    // 관례적으로 많이 쓰는 헤더명입니다. 값은 무엇이든 상관없습니다.
    'X-Requested-With': 'XMLHttpRequest', 
    'X-App-Service-Id': 'my-frontend-app'
  },
  withCredentials: true // 쿠키를 포함하여 전송
});&lt;/code&gt;&lt;/pre&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;CORS 설정: Access-Control-Allow-Headers에 우리가 정의한 커스텀 헤더명을 추가하여 허용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;헤더 검증 미들웨어: 상태를 변경하는 요청(POST, PUT, DELETE 등)이 올 때, 해당 헤더가 존재하는지 확인합니다.&lt;/p&gt;
&lt;pre style=&quot;background-color: #f8f8f8; color: #383a42;&quot;&gt;&lt;code&gt;// Express.js 예시 미들웨어
app.use((req, res, next) =&amp;gt; {
  // GET 요청은 대개 제외하고, 상태 변경 요청에서만 체크
  if (['POST', 'PUT', 'DELETE'].includes(req.method)) {
    const customHeader = req.headers['x-requested-with'];

    if (!customHeader) {
      // 헤더가 없으면 우리 프론트엔드에서 보낸 것이 아니라고 판단
      return res.status(403).json({ error: 'Invalid Request: Missing Custom Header' });
    }
  }
  next();
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;CSRF GET 공격 시나리오&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로그인한 사용자가 a 태그를 클릭하게 만들고, 그 주소가 '&lt;a href=&quot;https://bank.com/transfer?to=hacker&amp;amp;amount=10000'&quot;&gt;https://bank.com/transfer?to=hacker&amp;amp;amount=10000'&lt;/a&gt; 이와 같을 경우, 쿠키가 sameSite=LAX 이면 외부 사이트여도 a 링크니까 쿠키가 보내질거고, CORS 의 영향을 받지도 않겠네요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럴 수 있습니다.&lt;br /&gt;SameSite=Lax 에서 a 태그를 이용한 탑 레벨 내비게이션은 쿠키 전송이 허용되므로, 보안이 허술한 서비스라면 CSRF 공격에 노출될 수 있습니다.&lt;br /&gt;CORS는 '스크립트(JS)'가 다른 도메인의 데이터를 읽으려 할 때 작동하는 보안 책입니다.&lt;br /&gt;사용자가 직접 링크를 클릭해서 페이지를 이동하는 것은 브라우저의 기본 동작이므로 CORS 정책의 적용 대상이 아닙니다.&lt;br /&gt;사용자가 이미 은행에 로그인되어 있다면, 브라우저는 &quot;사용자가 직접 링크를 눌러서 은행으로 가겠다는데, 당연히 인증 쿠키를 보내줘야지&quot;라고 판단합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;CSRF GET 방어 방법&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 방어하기 위해 두 가지 원칙을 고수해야합니다.&lt;br /&gt;첫째, 상태를 변경하는 모든 API는 반드시 POST/PUT/DELETE를 사용하고,&lt;br /&gt;둘째, 단순 쿠키 인증에만 의존하지 않고 CSRF 토큰이나 Custom Header 검증을 병행합니다.&lt;br /&gt;특히 금융권처럼 민감한 서비스라면 결제/이체 직전에 다중 인증(MFA) 레이어를 추가하여 사용자 의사를 최종 확인하는 설계가 필수적입니다.&quot;&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-path-to-node=&quot;11&quot; data-ke-size=&quot;size23&quot;&gt;CSRF Token의 원리&lt;/h3&gt;
&lt;p data-path-to-node=&quot;12&quot; data-ke-size=&quot;size16&quot;&gt;CSRF 토큰은 &lt;b&gt;&quot;이 요청이 우리 프론트엔드에서 보낸 것이 맞다&quot;&lt;/b&gt;라는 일종의 신분증입니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-path-to-node=&quot;13&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 접속하면 서버는 &lt;b data-index-in-node=&quot;14&quot; data-path-to-node=&quot;13,0,0&quot;&gt;무작위 토큰&lt;/b&gt;을 발행하여 세션에 저장하고, 프론트엔드에 전달합니다.&lt;/li&gt;
&lt;li&gt;프론트엔드는 POST/PUT 요청을 보낼 때 HTTP 헤더(예: X-CSRF-TOKEN)에 이 값을 실어 보냅니다.&lt;/li&gt;
&lt;li&gt;서버는 쿠키(자동 전송됨)와 헤더의 토큰(프론트가 직접 넣어줘야 함)을 비교합니다.&lt;/li&gt;
&lt;li&gt;해커의 악성 사이트에서는 사용자의 쿠키는 (브라우저가) 실어 보낼 수 있어도, &lt;b data-index-in-node=&quot;44&quot; data-path-to-node=&quot;13,3,0&quot;&gt;우리 서버가 발행한 고유 토큰값&lt;/b&gt;은 알 방법이 없으므로 공격이 차단됩니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정리해보자면, 쿠키 sameSite=LAX 인 경우 a tag 의 GET 요청으로 CSRF 공격이 들어올 수 가 는데&lt;br /&gt;외부 사이트는 CORS 정책으로 막히거나 sameSite=LAX 에 의해 쿠키 자체가 넘어가지 않겠지만&lt;br /&gt;a tag 로 넣은 주소는 same site 이므로, 해당 사이트에 사용자가 로그인한 상태라면 쿠키 정보가 넘어갈 수 있게됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 이때 서버단에서 Custom Header 검증이 있다면, a tag 를 통해 넘어왔을때 우리 도메인의 클라이언트에서 Custom Header 를 집어넣어준 것이 아니기 때문에 검증이 실패할 것이고 방어를 할 수 있다. 이렇게 정리가 되겠습니다.&lt;/p&gt;</description>
      <category>프론트엔드 개발/시니어 시리즈</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/291</guid>
      <comments>https://11001.tistory.com/291#entry291comment</comments>
      <pubDate>Sat, 7 Mar 2026 14:50:44 +0900</pubDate>
    </item>
    <item>
      <title>[AI] 완전 자율 소프트웨어 구축 시스템 개발 경험과 과정에 대한 글</title>
      <link>https://11001.tistory.com/290</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;&lt;b&gt;open AI 에서 공개한 글에 대해 요약하고 제 생각을 추가한 글입니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Gemini_Generated_Image_1xjxrx1xjxrx1xjx.png&quot; data-origin-width=&quot;2816&quot; data-origin-height=&quot;1536&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wGAGn/dJMcahXRAsq/GWEZSzzDHzA6koAvR85fm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wGAGn/dJMcahXRAsq/GWEZSzzDHzA6koAvR85fm1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wGAGn/dJMcahXRAsq/GWEZSzzDHzA6koAvR85fm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwGAGn%2FdJMcahXRAsq%2FGWEZSzzDHzA6koAvR85fm1%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;2816&quot; height=&quot;1536&quot; data-filename=&quot;Gemini_Generated_Image_1xjxrx1xjxrx1xjx.png&quot; data-origin-width=&quot;2816&quot; data-origin-height=&quot;1536&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지난 5개월 동안 &lt;b&gt;수동으로 작성한 코드가 단 한 줄도 없이 소프트웨어 제품의 내부 베타 버전을 개발하고 배포&lt;/b&gt;했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 제품은 어플리케이션 로직,테스트,CI 구성, 문서화, 관찰 가능성 및 내부 도구 등 &lt;b&gt;모든 코드를 Codex 가 작성&lt;/b&gt;을 했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;b&gt;사람이 코딩하는 것 보다 10배 빠른 효과를 낸 것으로 추정합니다.&lt;/b&gt;&lt;/u&gt;&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;p data-ke-size=&quot;size16&quot;&gt;에이전트가 실패 했을때 &quot;&lt;b&gt;더 열심히 해보세요&quot;&lt;/b&gt; 가 아니라&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;b&gt;&quot;어떤 기능이 부족하고, 에이전트가 이를 명확하게 이해하고 실행할 수 있도록 하려면 어떻게 해야할까요?&lt;/b&gt; &lt;/u&gt;라고 질문했습니다.&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;인력 기반의 QA 병목을 제거&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;고정된 제약 조건은 사람의 시간과 집중력이었기에 UI, 로그, 앱 메트릭 등 Codex 가 가능한 모든 정보를 읽을 수 있게 했습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Chrome 개발자 도구 프로토콜을 에이전트 런타임에 통합하고 DOM 스냅샷, 스크린샷 및 탐색 작업을 위한 스킬을 개발했고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 통해 Codex는 버그를 재현, 수정 사항 검증, UI 동작에 대해 직접 분석 가능하게 되었습니다.&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;LogQL를 통해 로그를 쿼리, PromQL을 이용해 메트릭을 쿼리하여 &quot;서비스 시작이 800ms 이내에 완료되도록 보장&quot;, &quot;핵심 사용자 여정에서 어떤 구간도 2초를 초과하지 않도록 보장&quot; 과 같은 요구 사항을 효과적으로 처리했습니다.&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 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;저장소의 지식을 기록 시스템으로 구축&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;초기에 배운 교훈: Codex 에게 1000페이지짜리 설명서가 아닌 지도를 제공해야합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;하나의 큰 AGENTS.md 실패했습니다.&lt;/b&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;모든 것이 중요하다고 하면 결국 아무것도 중요하지 않은게 됩니다. 의도적인 탐색 대신에 국소적인 패턴 매칭에 매몰되게 됩니다.&lt;/li&gt;
&lt;li&gt;거대한 메뉴얼은 금방 낡게되고 무엇이 유효한지 알 수 없게 됩니다.&lt;/li&gt;
&lt;li&gt;단일 데이터 덩어리는 기계적인 검사에 적합하지 않습니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;AGENTS.md 는 백과사전이 아닌 목차(index) 처럼 취급하세요.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;100줄 정도의 짧은 설명이 맥락에 삽입되게 하여 지도 역할을 하고, 더 심층적인 정보 소스를 가리키는 포인터 역할을 해야합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1772716818564&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;AGENTS.md
ARCHITECTURE.md
docs/
├── design-docs/
│   ├── index.md
│   ├── core-beliefs.md
│   └── ...
├── exec-plans/
│   ├── active/
│   ├── completed/
│   └── tech-debt-tracker.md
├── generated/
│   └── db-schema.md
├── product-specs/
│   ├── index.md
│   ├── new-user-onboarding.md
│   └── ...
├── references/
│   ├── design-system-reference-llms.txt
│   ├── nixpacks-llms.txt
│   ├── uv-llms.txt
│   └── ...
├── DESIGN.md
├── FRONTEND.md
├── PLANS.md
├── PRODUCT_SENSE.md
├── QUALITY_SCORE.md
├── RELIABILITY.md
└── SECURITY.md&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;설계 문서 (DESIGN)&lt;/b&gt;: 검증 상태 및 에이전트 우선 운영 원칙을 정의하는 핵심 신념 세트를 포함한 색인&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;아키텍처 문서 (ARCHITECTURE):&amp;nbsp;&lt;/b&gt;최상위 도메인 및 패키지 계층 구조 맵&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;품질 문서 (QUALITY_SCORE)&lt;/b&gt;: 제품 도메인 및 아키텍처 계층을 등급화하고 시간 경과에 따른 격차를 추적&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;계획 (PLAN)&lt;b&gt;:&lt;/b&gt;&amp;nbsp;&lt;/b&gt;최우선 산출물로 취급. 간단 변경 사항에는 일시적 계획을 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;실행 계획(ExecPlan): &lt;/b&gt;몇 시간씩 걸리는 복잡한 문제를 해결&lt;/p&gt;
&lt;figure id=&quot;og_1772719873441&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[AI] PLAN.md 몇 시간이 걸리는 복잡한 계획을 수행하는 프롬프트 (번역)&quot; data-og-description=&quot;Codex 실행 계획(ExecPlans) 가이드라인이 문서는 코딩 에이전트가 작동 가능한 기능이나 시스템 변경 사항을 전달하기 위해 따를 수 있는 설계 문서인 실행 계획(ExecPlan)의 요구 사항을 설명합니다. &quot; data-og-host=&quot;11001.tistory.com&quot; data-og-source-url=&quot;https://11001.tistory.com/289&quot; data-og-url=&quot;https://11001.tistory.com/289&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cMXutl/dJMb9frDhMh/GAyYa3UVqbNpeS7EjRk4Ck/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/1Mmgy/dJMb81GU2f4/VyzWIvlA5GmeH5VXYgi1Yk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/fBNxl/dJMb84p6xvX/KC9082NJkpOpK5mmiq8P6k/img.png?width=2752&amp;amp;height=1536&amp;amp;face=0_0_2752_1536&quot;&gt;&lt;a href=&quot;https://11001.tistory.com/289&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://11001.tistory.com/289&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cMXutl/dJMb9frDhMh/GAyYa3UVqbNpeS7EjRk4Ck/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/1Mmgy/dJMb81GU2f4/VyzWIvlA5GmeH5VXYgi1Yk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/fBNxl/dJMb84p6xvX/KC9082NJkpOpK5mmiq8P6k/img.png?width=2752&amp;amp;height=1536&amp;amp;face=0_0_2752_1536');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[AI] PLAN.md 몇 시간이 걸리는 복잡한 계획을 수행하는 프롬프트 (번역)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Codex 실행 계획(ExecPlans) 가이드라인이 문서는 코딩 에이전트가 작동 가능한 기능이나 시스템 변경 사항을 전달하기 위해 따를 수 있는 설계 문서인 실행 계획(ExecPlan)의 요구 사항을 설명합니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;11001.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[기록&amp;nbsp;시스템&amp;nbsp;검증과&amp;nbsp;정리]&lt;/b&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;전용 린터와 CI 작업&lt;/b&gt;이 지식 기반이 최신 상태이고, 상호 연결되어 있으며, 올바르게 구성되어 있는지 검증함.&lt;/li&gt;
&lt;li&gt;정기적으로 실행되는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&quot;문서 정리&quot; 에이전트&lt;/b&gt;가 실제 코드 동작을 반영하지 않는 오래되거나 더 이상 사용되지 않는 문서를 찾아 수정 풀 리퀘스트를 생성&lt;/li&gt;
&lt;/ul&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 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;b&gt;실행 중에 컨텍스트 내에서 접근할 수 없는 것은 존재하지 않는 것과 마찬가지입니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;외부문서, 채팅 스레드, 사람의 머릿속 지식은 시스템에서 접근 불가함.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;새로운 팀원에게 제품 원칙, 엔지니어링 규범, 팀 문화를 교육하는 것처럼,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에이전트에게 이러한 정보를 제공하면 더욱 일관성 있는 결과를 얻을 수 있습니다.&lt;/p&gt;
&lt;p 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;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;에이전트는 엄격한 경계와 예측 가능한 구조를 가진 환경에서 가장 효과적입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;엄격한 아키텍처 모델을 기반으로 어플리케이션 구축하고 각 비즈니스 도메인은 고정된 계층으로 나누고, 종속성 방향은 엄격하게 검증되고 허용되는 연결은 제한됩니다. 이러한 제약 조건은 린터와 구조적 테스트를 통해 자동으로 적용됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이러한 구조는 보통 큰 조직 구조에서 적합한데 에이전트를 사용하는 경우에는 초기 단계부터 필수 조건입니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 제약 조건 덕분에 아키텍처의 퇴보나 변질 없이 속도 유지가 가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;구조화된 로깅, 스키마 및 유형에 대한 명명 규칙, 파일 크기 제한, 플랫폼별 안정성 요구 사항 등을 사용자 지정 린터를 통해 적용.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;린터가 사용자 지정 방식이기 때문에 오류 메시지를 작성하여 에이전트 컨텍스트에 수정 지침을 삽입합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;또한 제약 조건이 중요한 부분과 아닌 부분을 명확히 구분합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;중앙에서 경계를 설정하고, 각 팀(담당자)에게 자율성을 부여하는 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;경계, 정확성, 재현성을 매우 중요하게 생각하면서도, 이러한&lt;b&gt; 경계 내에서 팀(담당자)가 표현하는 방식에는 자유를 허용합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생성된 코드가 항상 사람의 스타일 선호도와 일치하지 않아도, 출력 결과가 정확하고 유지 관리가 용이하고 향후 에이전트 실행 시 읽기가 쉬우면 조건 충족&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;Codex 처리량이 증가함에 따라 기존의 엔지니어링 관행은 비효율적이 되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PR은 수명이 짧고, 테스트 오류는 진행을 무기한으로 막는 대신 후속 실행을 통해 해결됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;에이전트의 처리량이 사람의 처리량을 압도하는 시스템에서는 수정 비용이 저렴하고 대기 시간이 매우 깁니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;그래서 &lt;b&gt;&quot;황금 원칙&lt;/b&gt;&quot; 이라고 불리는 것들을 저장소에 직접 인코딩하고 정기 프로세스를 구축했습니다.&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;데이터를 YOLO 스타일로 탐색하지 않고 경계를 검증하거나 타입이 지정된 SDK를 사용하여 에이전트가 추측된 형태를 기반으로 실수로 구축하지 않게 합니다.&lt;/li&gt;
&lt;li&gt;정기적으로 백그라운드에서 실행되는 Codex 작업들을 통해 편차를 검사, 품질 등급을 업데이트, 특정 리팩토링 PR 생성.&lt;br /&gt;기술 부채를 한 번에 몰아서 갚는것 보다 지속적으로 나눠서 갚는게 효율적인것 처럼 이것도 마찬가지임. (like 가비지컬렉션)&lt;/li&gt;
&lt;/ol&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에이전트 기반 시스템에서 아키텍처의 일관성이 시간이 지남에 따라 어떻게 진화하는지 아직 알 수 없습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시간이 지남에 따라 모델의 능력이 향상되면서 이 시스템이 어떻게 진화하는지 알 수 없습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;코드베이스의 일관성을 유지하는 데 필요한 도구, 추상화, 피드백 루프가 점점 중요해지고 있습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;에이전트가 안정적인 소프트웨어를 대규모로 구축하고 유지 관리하는 데 도움이 되는 환경, 피드백 루프, 제어 시스템을 설계하는 것이 가장 중요하며 가장 어려운 과제입니다.&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;후기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자율주행 자동차 처럼 에이전트가 운행하는 완전 자율 SW 개발 솔루션이 실제로 세상에 작동하고 있고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;멀지 않은 미래에 이렇게 개발 하는것이 &lt;b&gt;표준&lt;/b&gt;이 될 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; 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;앞으로는 완전 자율 SW 개발 솔루션에 &lt;b&gt;요구사항을 전달하고, 결과물을 검토하고, 유지보수&lt;/b&gt;하는 역할이 되었다는 겁니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;개발자 = &quot;도메인, 사업 특성에 맞게 에이전트가 작업할 환경을 설계, 유지보수 하는 역할&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; 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;b&gt;사람들은 나이가 들 수록 변화를 싫어하는데 세상이 더 빠르게 변하는걸 감당할 수 있을지 모르겠습니다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저희가 노인이 되었을때 온라인 상의 모든 것이 AI로 자동화가 되어있고, 오프라인의 모든 것이 로봇으로 대체되었을 것인데요...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;노동&quot; 과 &quot;소유&quot; 라는 개념 자체가 사라지는 세상.. 모두 통속의 뇌 또는 메트릭스 안에서 살아가게 되겠죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;컴퓨터가 처음 발명되었을때 사람들은 무슨 기분이었을까요?&lt;/b&gt; 이렇게 까지 될 거라고 생각했을까요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;나의 이야기&lt;/h4&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;물론 저희는 아직 완전 수동 에이전트 구동 환경이라서.. Open AI 처럼 만들지는 못하겠지만요. 그래도 따라겠다는 생각이 들어요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한국은 느리고 보수적이기 때문에 아마 이렇게 되기 까지 5년, 10년은 더 걸릴지도 모릅니다...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음부터 이렇게 구축하는건 불가능하고, 변화하는건 어렵다고 판단하고 있고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 머릿속에 이런 식으로 구상하고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 지식 저장소 구축을 먼저 진행 (현재 진행중  )&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 새로운 기획서를 넣었을때 Agent 가 전체 작업을 수행 &lt;/b&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;b&gt;4. 테스트/검토 통과되면 자동 PR 생성 &lt;/b&gt;(당장은 3번 과정을 사람이 PR 리뷰를 통해서 해도 될듯함. 간단한 작업은 고치는 것 보다 PR 올리고 굳이 리뷰받고 배포하는게 더 많은 리소스가 들기 때문에 당장 효과를 볼 수 있을것임)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5. 지식저장소 최신화/정리 Agent 생성 후 구동&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;아마 이러한 상용 서비스 나오기 전 까지 가장 크게 뜰 직업이 이 전체 과정을 구축하는 전문가가 아닐까요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1772715825705&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Harness engineering: leveraging Codex in an agent-first world&quot; data-og-description=&quot;By Ryan Lopopolo, Member of the Technical Staff&quot; data-og-host=&quot;openai.com&quot; data-og-source-url=&quot;https://openai.com/index/harness-engineering/&quot; data-og-url=&quot;https://openai.com/index/harness-engineering/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/lmEr5/dJMb8YpTfvt/IJu8ERSsJRNH39V6HDPwn0/img.png?width=1600&amp;amp;height=900&amp;amp;face=0_0_1600_900,https://scrap.kakaocdn.net/dn/oo8jF/dJMb81GU1Zr/vKvRy7FU2rvbSLnus0KJik/img.png?width=1600&amp;amp;height=900&amp;amp;face=0_0_1600_900&quot;&gt;&lt;a href=&quot;https://openai.com/index/harness-engineering/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://openai.com/index/harness-engineering/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/lmEr5/dJMb8YpTfvt/IJu8ERSsJRNH39V6HDPwn0/img.png?width=1600&amp;amp;height=900&amp;amp;face=0_0_1600_900,https://scrap.kakaocdn.net/dn/oo8jF/dJMb81GU1Zr/vKvRy7FU2rvbSLnus0KJik/img.png?width=1600&amp;amp;height=900&amp;amp;face=0_0_1600_900');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Harness engineering: leveraging Codex in an agent-first world&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;By Ryan Lopopolo, Member of the Technical Staff&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;openai.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;</description>
      <category>개발자 글 수집</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/290</guid>
      <comments>https://11001.tistory.com/290#entry290comment</comments>
      <pubDate>Fri, 6 Mar 2026 00:21:22 +0900</pubDate>
    </item>
    <item>
      <title>[AI] PLAN.md 몇 시간이 걸리는 복잡한 계획을 수행하는 프롬프트 (번역)</title>
      <link>https://11001.tistory.com/289</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Gemini_Generated_Image_oq4x9doq4x9doq4x.png&quot; data-origin-width=&quot;2752&quot; data-origin-height=&quot;1536&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/by3NwI/dJMcab4pkFc/fdfIDthKHnjwzottAtx7T0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/by3NwI/dJMcab4pkFc/fdfIDthKHnjwzottAtx7T0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/by3NwI/dJMcab4pkFc/fdfIDthKHnjwzottAtx7T0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fby3NwI%2FdJMcab4pkFc%2FfdfIDthKHnjwzottAtx7T0%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;2752&quot; height=&quot;1536&quot; data-filename=&quot;Gemini_Generated_Image_oq4x9doq4x9doq4x.png&quot; data-origin-width=&quot;2752&quot; data-origin-height=&quot;1536&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h1&gt;Codex 실행 계획(ExecPlans) 가이드라인&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 문서는 코딩 에이전트가 작동 가능한 기능이나 시스템 변경 사항을 전달하기 위해 따를 수 있는 설계 문서인 &lt;b&gt;실행 계획(ExecPlan)&lt;/b&gt;의 요구 사항을 설명합니다. 독자를 이 저장소에 대한 완전한 초보자로 취급하십시오. 독자에게는 현재의 작업 트리(working tree)와 귀하가 제공하는 단일 ExecPlan 파일만 주어집니다. 이전 계획에 대한 기억이나 외부 컨텍스트는 존재하지 않는다고 가정합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;ExecPlan 및 PLANS.md 사용법&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실행 가능한 명세서(ExecPlan)를 작성할 때는 &lt;b&gt;PLANS.md의 내용을 문자 그대로 엄격히 준수하십시오.&lt;/b&gt; 만약 컨텍스트에 해당 파일이 없다면, PLANS.md 파일 전체를 읽어 기억을 되살리십시오. 정확한 명세를 작성하기 위해 소스 자료를 철저하게 읽고 또 읽으십시오. 명세를 만들 때는 골격(Skeleton)에서 시작하여 조사를 진행함에 따라 내용을 채워 넣으십시오.&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;실행 가능한 명세(ExecPlan)를 구현할 때, 사용자에게 &quot;다음 단계&quot;를 묻지 말고 즉시 다음 마일스톤으로 진행하십시오. 모든 섹션을 최신 상태로 유지하고, 중단 지점마다 목록에 항목을 추가하거나 분할하여 진행 상황과 다음 단계를 명확히 밝히십시오. 모호함은 자율적으로 해결하고, 빈번하게 커밋하십시오.&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;ExecPlan에 대해 논의할 때, 후세를 위해 결정 사항을 명세 내의 로그에 기록하십시오. 명세가 변경된 이유는 모호함 없이 명확해야 합니다. ExecPlan은 &lt;b&gt;살아있는 문서(living document)&lt;/b&gt;이며, 오직 ExecPlan 하나만 가지고 다른 작업 없이도 언제든 다시 시작할 수 있어야 합니다.&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;까다로운 요구 사항이나 불확실성이 큰 설계를 조사할 때는 마일스톤을 사용해 개념 증명(PoC)이나 &quot;토이 구현(toy implementations)&quot; 등을 수행하여 사용자의 제안이 실현 가능한지 검증하십시오. 라이브러리를 찾아 소스 코드를 읽고 깊이 있게 연구하며, 완전한 구현을 가이드할 수 있는 프로토타입을 포함하십시오.&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;b&gt;타협 불가능한 요구 사항:&lt;/b&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;모든 ExecPlan은 완전히 자기 완결적(self-contained)이어야 합니다.&lt;/b&gt; 자기 완결적이란 현재 형태 그대로 초보자가 성공하는 데 필요한 모든 지식과 지침을 포함하고 있음을 의미합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;모든 ExecPlan은 살아있는 문서입니다.&lt;/b&gt; 기여자는 진행 상황, 발견 사항 및 확정된 설계 결정에 따라 이를 수정해야 합니다. 각 수정본은 여전히 완전히 자기 완결적이어야 합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;모든 ExecPlan은 초보자가 이 저장소에 대한 사전 지식 없이도 기능을 처음부터 끝까지 구현할 수 있게 해야 합니다.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;모든 ExecPlan은 단순히 &quot;정의를 충족하는&quot; 코드 변경이 아니라, 입증 가능하게 작동하는 동작을 생성해야 합니다.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;모든 ExecPlan은 전문 용어를 사용할 경우 쉬운 언어로 정의하거나, 아예 사용하지 말아야 합니다.&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;목적과 의도가 최우선입니다.&lt;/b&gt; 먼저 이 작업이 사용자 관점에서 왜 중요한지 몇 문장으로 설명하십시오. 이 변경 후에 사용자가 이전에는 할 수 없었던 무엇을 할 수 있는지, 그리고 그것이 작동하는 것을 어떻게 확인할 수 있는지 설명하십시오. 그런 다음 수정할 내용, 실행할 내용, 관찰해야 할 내용을 포함하여 해당 결과를 달성하기 위한 정확한 단계를 안내하십시오.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;계획을 실행하는 에이전트는 파일 목록 확인, 파일 읽기, 검색, 프로젝트 실행 및 테스트 실행을 할 수 있습니다. 에이전트는 이전 컨텍스트를 전혀 모르며 이전 마일스톤에서 당신이 의미한 바를 추론할 수 없습니다. 의존하는 모든 가정은 반복해서 명시하십시오. 외부 블로그나 문서로 링크를 걸지 마십시오. 지식이 필요하다면 계획 자체에 본인의 언어로 포함시키십시오. ExecPlan이 이전 ExecPlan을 기반으로 하고 해당 파일이 체크인되어 있다면 참조로 포함하십시오. 그렇지 않다면 해당 계획의 모든 관련 컨텍스트를 포함해야 합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;형식 (Formatting)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;형식과 봉투(envelope)는 단순하고 엄격합니다. 각 ExecPlan은 &lt;b&gt;&lt;code&gt;md&lt;/code&gt;로 표시된 단일 코드 블록&lt;/b&gt;이어야 하며, 세 개의 백틱(```)으로 시작하고 끝나야 합니다. 내부에 추가적인 백틱 코드 펜스를 중첩하지 마십시오. 명령어, 기록(transcripts), diff 또는 코드를 보여줘야 할 때는 단일 펜스 내에서 &lt;b&gt;들여쓰기 된 블록&lt;/b&gt;으로 제시하십시오.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ExecPlan의 코드 펜스가 조기에 닫히는 것을 방지하기 위해 코드 펜스 대신 들여쓰기를 사용하십시오. 모든 헤딩 뒤에는 두 개의 줄 바꿈을 사용하고, # 및 ## 등을 사용하며, 번호 매기기 및 글머리 기호 목록의 구문을 정확히 맞추십시오.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일 내용이 &lt;i&gt;오직&lt;/i&gt; 단일 ExecPlan인 Markdown(.md) 파일에 작성할 때는 세 개의 백틱을 생략해야 합니다.&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;code&gt;Progress(진행 상황)&lt;/code&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;b&gt;자기 완결성과 평이한 언어가 가장 중요합니다.&lt;/b&gt; 일반적인 영어가 아닌 문구(&quot;daemon&quot;, &quot;middleware&quot;, &quot;RPC gateway&quot;, &quot;filter graph&quot; 등)를 도입한다면 즉시 정의하고, 이 저장소에서 어떻게 나타나는지(예: 관련 파일 이름이나 명령어 제시) 독자에게 상기시키십시오. &quot;이전에 정의된 바와 같이&quot; 또는 &quot;아키텍처 문서에 따라&quot;라고 말하지 마십시오. 반복되더라도 필요한 설명을 여기에 포함하십시오.&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;흔한 실패 사례를 피하십시오. 정의되지 않은 전문 용어에 의존하지 마십시오. 기능의 &quot;문구&quot;에만 너무 좁게 집중하여 코드는 컴파일되지만 의미 있는 동작은 하지 않는 결과를 초래하지 마십시오. 핵심 결정을 독자에게 떠넘기지 마십시오. 모호함이 존재할 때는 계획 자체에서 해결하고 왜 그 경로를 선택했는지 설명하십시오. 사용자에게 보이는 효과는 과할 정도로 설명하고, 부수적인 구현 세부 사항은 가볍게 명시하십시오.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;관찰 가능한 결과에 계획의 중심을 두십시오.&lt;/b&gt; 구현 후 사용자가 할 수 있는 일, 실행할 명령어, 예상되는 출력을 기술하십시오. 수락 기준은 내부 속성(&quot;HealthCheck 구조체 추가&quot;)이 아니라 인간이 검증할 수 있는 동작(&quot;서버 시작 후 &lt;a href=&quot;http://localhost:8080/health&quot;&gt;http://localhost:8080/health&lt;/a&gt; 접속 시 HTTP 200과 바디 OK 반환&quot;)으로 표현되어야 합니다. 변경 사항이 내부적인 것이라면, 그 영향이 어떻게 입증될 수 있는지 설명하십시오 (예: 변경 전에는 실패하고 변경 후에는 통과하는 테스트 실행, 새로운 동작을 사용하는 시나리오 제시 등).&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;저장소 컨텍스트를 명시적으로 지정하십시오.&lt;/b&gt; 파일 이름은 저장소 루트 기준의 전체 경로로 기재하고, 함수와 모듈의 이름을 정확히 명명하며, 새 파일이 생성될 위치를 설명하십시오. 여러 영역을 다루는 경우 초보자가 확신을 가지고 탐색할 수 있도록 각 부분이 어떻게 결합되는지 설명하는 짧은 오리엔테이션 단락을 포함하십시오. 명령어를 실행할 때는 작업 디렉토리와 정확한 명령줄을 보여주십시오. 결과가 환경에 의존하는 경우 가정을 명시하고 합리적인 대안을 제공하십시오.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;멱등성(Idempotent)과 안전성을 유지하십시오.&lt;/b&gt; 단계를 여러 번 실행해도 손상이나 드리프트(drift)가 발생하지 않도록 작성하십시오. 단계가 중간에 실패할 수 있는 경우 재시도 또는 적응 방법을 포함하십시오. 마이그레이션이나 파괴적인 작업이 필요한 경우 백업이나 안전한 폴백(fallback)을 상세히 설명하십시오. 진행하면서 검증할 수 있는 추가적이고 테스트 가능한 변경 사항을 선호하십시오.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;검증은 선택 사항이 아닙니다.&lt;/b&gt; 테스트를 실행하고, 해당하는 경우 시스템을 시작하며, 시스템이 유용한 작업을 수행하는지 관찰하기 위한 지침을 포함하십시오. 새로운 기능이나 역량에 대한 포괄적인 테스트를 기술하십시오. 초보자가 성공과 실패를 구분할 수 있도록 예상 출력과 오류 메시지를 포함하십시오. 가능하면 컴파일 이상의 효과를 증명하는 방법(예: 소규모 엔드 투 엔드 시나리오, CLI 호출, HTTP 요청/응답 기록 등)을 보여주십시오. 프로젝트의 툴체인에 적합한 정확한 테스트 명령어와 결과를 해석하는 방법을 명시하십시오.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;증거를 기록하십시오.&lt;/b&gt; 단계에서 터미널 출력, 짧은 diff 또는 로그가 생성되면 단일 펜스 블록 내에 들여쓰기 된 예시로 포함하십시오. 간결함을 유지하고 성공을 증명하는 내용에 집중하십시오. 패치를 포함해야 할 경우, 거대한 덩어리를 붙여넣기보다 독자가 지침을 따라 재현할 수 있는 파일 단위의 diff나 짧은 발췌본을 선호하십시오.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;마일스톤 (Milestones)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마일스톤은 관료적인 절차가 아니라 &lt;b&gt;서사&lt;/b&gt;입니다. 작업을 마일스톤으로 나누는 경우, 각 마일스톤의 범위, 마일스톤이 끝났을 때 이전에는 없었던 무엇이 존재하게 되는지, 실행할 명령어, 예상되는 수락 기준을 설명하는 짧은 단락으로 시작하십시오. 목표, 작업, 결과, 증명이라는 하나의 이야기처럼 읽힐 수 있게 하십시오. 진행 상황(Progress)과 마일스톤은 별개입니다. 마일스톤은 이야기를 들려주고, 진행 상황은 세부 작업을 추적합니다. 둘 다 존재해야 합니다. 단순히 간결함을 위해 마일스톤을 축약하지 마십시오. 향후 구현에 중요할 수 있는 세부 사항을 누락하지 마십시오.&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ExecPlan은 살아있는 문서입니다. 주요 설계 결정을 내릴 때, 결정 내용과 그 뒤에 숨겨진 사고 과정을 모두 기록하도록 계획을 업데이트하십시오. 모든 결정은 &lt;code&gt;Decision Log(결정 로그)&lt;/code&gt; 섹션에 기록하십시오.&lt;/li&gt;
&lt;li&gt;ExecPlan은 &lt;code&gt;Progress(진행 상황)&lt;/code&gt;, &lt;code&gt;Surprises &amp;amp; Discoveries(놀라운 점 및 발견 사항)&lt;/code&gt;, &lt;code&gt;Decision Log(결정 로그)&lt;/code&gt;, &lt;code&gt;Outcomes &amp;amp; Retrospective(결과 및 회고)&lt;/code&gt; 섹션을 반드시 포함하고 유지해야 합니다. 이는 선택 사항이 아닙니다.&lt;/li&gt;
&lt;li&gt;최적화 도구의 동작, 성능 트레이드오프, 예기치 않은 버그 또는 접근 방식에 영향을 준 반대/취소 의미론(semantics)을 발견하면, 해당 관찰 내용을 &lt;code&gt;Surprises &amp;amp; Discoveries&lt;/code&gt; 섹션에 짧은 증거 스니펫(테스트 출력이 이상적임)과 함께 기록하십시오.&lt;/li&gt;
&lt;li&gt;구현 도중 방향을 바꾸는 경우 &lt;code&gt;Decision Log&lt;/code&gt;에 이유를 문서화하고 &lt;code&gt;Progress&lt;/code&gt;에 그 영향을 반영하십시오. 계획은 당신을 위한 체크리스트인 동시에 다음 기여자를 위한 가이드입니다.&lt;/li&gt;
&lt;li&gt;주요 작업이나 전체 계획이 완료되면 달성된 사항, 남은 과제, 배운 교훈을 요약한 &lt;code&gt;Outcomes &amp;amp; Retrospective&lt;/code&gt; 항목을 작성하십시오.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;프로토타이핑 마일스톤 및 병렬 구현&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대규모 변경의 리스크를 줄이기 위해 명시적인 프로토타이핑 마일스톤을 포함하는 것은 허용되며 종종 권장됩니다. 예: 실현 가능성 검증을 위해 종속성에 저수준 연산자 추가, 또는 최적화 효과를 측정하면서 두 가지 구성 순서 탐색 등. 프로토타입은 추가적이고 테스트 가능하게 유지하십시오. 범위를 &quot;프로토타이핑&quot;으로 명확히 표시하고, 실행 및 결과 관찰 방법을 설명하며, 프로토타입을 채택하거나 폐기하기 위한 기준을 명시하십시오.&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;테스트가 계속 통과되도록 하는 추가적인 코드 변경을 먼저 하고 나중에 삭제하는 방식을 선호하십시오. 마이그레이션 중에 이전 경로와 함께 어댑터를 유지하는 것과 같은 병렬 구현은 리스크를 줄이거나 대규모 마이그레이션 중에도 테스트가 계속 통과될 수 있게 한다면 괜찮습니다. 두 경로를 모두 검증하는 방법과 테스트를 통해 한 경로를 안전하게 제거하는 방법을 설명하십시오. 여러 개의 새로운 라이브러리나 기능 영역을 다룰 때는, 이러한 기능들의 실현 가능성을 서로 독립적으로 평가하는 '스파이크(spikes)'를 만드는 것을 고려하십시오. 이를 통해 외부 라이브러리가 예상대로 작동하고 우리가 필요한 기능을 격리된 상태에서 구현하는지 증명하십시오.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;좋은 ExecPlan의 골격&lt;/h2&gt;
&lt;pre class=&quot;clean&quot;&gt;&lt;code&gt;# &amp;lt;짧고 행동 중심적인 설명&amp;gt;

이 ExecPlan은 살아있는 문서입니다. `Progress`, `Surprises &amp;amp; Discoveries`, `Decision Log`, `Outcomes &amp;amp; Retrospective` 섹션은 작업이 진행됨에 따라 최신 상태로 유지되어야 합니다.

PLANS.md 파일이 저장소에 체크인되어 있다면, 저장소 루트로부터의 해당 파일 경로를 여기에 참조하고 이 문서가 PLANS.md에 따라 유지되어야 함을 명시하십시오.

## 목적 / 큰 그림 (Purpose / Big Picture)

이 변경 후에 무엇을 얻게 되는지, 그리고 그것이 작동하는 것을 어떻게 볼 수 있는지 몇 문장으로 설명하십시오. 활성화할 사용자 가시적 동작을 명시하십시오.

## 진행 상황 (Progress)

체크박스가 있는 목록을 사용하여 세부 단계를 요약하십시오. 중단 지점은 모두 여기에 기록되어야 하며, 필요하다면 부분적으로 완료된 작업을 두 개로 분할하십시오(&quot;완료&quot; vs &quot;남음&quot;). 이 섹션은 항상 실제 현재 작업 상태를 반영해야 합니다.

- [x] (2025-10-01 13:00Z) 완료된 단계 예시.
- [ ] 미완료 단계 예시.
- [ ] 부분 완료된 단계 예시 (완료: X, 남음: Y).

진행 속도를 측정하기 위해 타임스탬프를 사용하십시오.

## 놀라운 점 및 발견 사항 (Surprises &amp;amp; Discoveries)

구현 중 발견된 예기치 않은 동작, 버그, 최적화 또는 통찰력을 문서화하십시오. 간결한 증거를 제시하십시오.

- 관찰: &amp;hellip;
증거: &amp;hellip;

## 결정 로그 (Decision Log)

계획 작업 중 내린 모든 결정을 다음 형식으로 기록하십시오:

- 결정: &amp;hellip;
근거: &amp;hellip;
날짜/작성자: &amp;hellip;

## 결과 및 회고 (Outcomes &amp;amp; Retrospective)

주요 마일스톤이나 완료 시점에 결과, 공백, 배운 교훈을 요약하십시오. 결과를 원래 목적과 비교하십시오.

## 컨텍스트 및 오리엔테이션 (Context and Orientation)

독자가 아무것도 모른다고 가정하고 이 작업과 관련된 현재 상태를 설명하십시오. 주요 파일과 모듈을 전체 경로로 명명하십시오. 사용할 명확하지 않은 용어를 정의하십시오. 이전 계획을 참조하지 마십시오.

## 작업 계획 (Plan of Work)

수정 및 추가 순서를 산문체로 설명하십시오. 각 수정에 대해 파일 이름과 위치(함수, 모듈) 및 삽입하거나 변경할 내용을 명시하십시오. 구체적이고 최소한으로 유지하십시오.

## 구체적 단계 (Concrete Steps)

실행할 정확한 명령어와 실행 위치(작업 디렉토리)를 명시하십시오. 명령어가 출력을 생성하는 경우 독자가 비교할 수 있도록 짧은 예상 기록을 보여주십시오. 이 섹션은 작업이 진행됨에 따라 업데이트되어야 합니다.

## 검증 및 수락 (Validation and Acceptance)

시스템을 시작하거나 실행하는 방법과 관찰할 내용을 설명하십시오. 수락 기준을 구체적인 입력과 출력이 있는 동작으로 표현하십시오. 테스트가 포함된 경우 &quot;&amp;lt;프로젝트 테스트 명령어&amp;gt;를 실행하고 &amp;lt;N&amp;gt;개 통과를 예상함; 새로운 테스트 &amp;lt;이름&amp;gt;은 변경 전에는 실패하고 변경 후에는 통과함&quot;이라고 명시하십시오.

## 멱등성 및 복구 (Idempotence and Recovery)

단계를 안전하게 반복할 수 있다면 그렇게 명시하십시오. 단계가 위험하다면 안전한 재시도 또는 롤백 경로를 제공하십시오. 완료 후 환경을 깨끗하게 유지하십시오.

## 산출물 및 참고 사항 (Artifacts and Notes)

가장 중요한 기록, diff 또는 스니펫을 들여쓰기 된 예시로 포함하십시오. 간결함을 유지하고 성공을 증명하는 내용에 집중하십시오.

## 인터페이스 및 종속성 (Interfaces and Dependencies)

규정적으로 작성하십시오. 사용할 라이브러리, 모듈, 서비스를 이름 짓고 그 이유를 밝히십시오. 마일스톤이 끝날 때 존재해야 하는 유형(types), 트레이트/인터페이스, 함수 시그니처를 지정하십시오. `crate::module::function` 또는 `package.submodule.Interface`와 같은 안정적인 이름과 경로를 선호하십시오. 예:

crates/foo/planner.rs에서 다음을 정의함:

pub trait Planner {
fn plan(&amp;amp;self, observed: &amp;amp;Observed) -&amp;gt; Vec&amp;lt;Action&amp;gt;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 지침을 따르면 단일한 상태 비보존형(stateless) 에이전트나 초보자도 귀하의 ExecPlan을 위에서 아래로 읽고 작동하며 관찰 가능한 결과를 만들어낼 수 있습니다. 그것이 기준입니다: &lt;b&gt;자기 완결적, 자기 충분적, 초보자 가이드형, 결과 중심적.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;계획을 수정할 때는 살아있는 문서 섹션을 포함한 모든 섹션에 변경 사항이 종합적으로 반영되었는지 확인해야 하며, 계획 하단에 변경 내용과 이유를 설명하는 노트를 작성해야 합니다. ExecPlan은 거의 모든 항목에 대해 '무엇'뿐만 아니라 '왜'를 설명해야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1772719916232&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;openai-cookbook/articles/codex_exec_plans.md at main &amp;middot; openai/openai-cookbook&quot; data-og-description=&quot;Examples and guides for using the OpenAI API. Contribute to openai/openai-cookbook development by creating an account on GitHub.&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/openai/openai-cookbook/blob/main/articles/codex_exec_plans.md&quot; data-og-url=&quot;https://github.com/openai/openai-cookbook/blob/main/articles/codex_exec_plans.md&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bHo71I/dJMb9gxjdgE/2drUaLVmy9ZHIiW8I3UXO1/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600,https://scrap.kakaocdn.net/dn/LND9b/dJMb9hCY7YM/Hnvl2MQivt4kvsNCYiVtZk/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot;&gt;&lt;a href=&quot;https://github.com/openai/openai-cookbook/blob/main/articles/codex_exec_plans.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/openai/openai-cookbook/blob/main/articles/codex_exec_plans.md&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bHo71I/dJMb9gxjdgE/2drUaLVmy9ZHIiW8I3UXO1/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600,https://scrap.kakaocdn.net/dn/LND9b/dJMb9hCY7YM/Hnvl2MQivt4kvsNCYiVtZk/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;openai-cookbook/articles/codex_exec_plans.md at main &amp;middot; openai/openai-cookbook&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Examples and guides for using the OpenAI API. Contribute to openai/openai-cookbook development by creating an account on GitHub.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.com&lt;/p&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;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발자 글 수집</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/289</guid>
      <comments>https://11001.tistory.com/289#entry289comment</comments>
      <pubDate>Thu, 5 Mar 2026 23:10:46 +0900</pubDate>
    </item>
    <item>
      <title>[시니어 FE] 동시성(Concurrency) 에 대해 알아보자</title>
      <link>https://11001.tistory.com/288</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;시니어 FE 시리즈&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시니어 프론트엔드 개발자가 되기위해 해보지 않았던 경험의 틈을 채우거나 기술적으로 딥다이브 해보고자 준비한 시리즈입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Gemini_Generated_Image_lzzm8nlzzm8nlzzm.png&quot; data-origin-width=&quot;2816&quot; data-origin-height=&quot;1536&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b5OLvX/dJMcahp2hPG/PqUT2pdAvoze4URTkiMwC0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b5OLvX/dJMcahp2hPG/PqUT2pdAvoze4URTkiMwC0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b5OLvX/dJMcahp2hPG/PqUT2pdAvoze4URTkiMwC0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb5OLvX%2FdJMcahp2hPG%2FPqUT2pdAvoze4URTkiMwC0%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;2816&quot; height=&quot;1536&quot; data-filename=&quot;Gemini_Generated_Image_lzzm8nlzzm8nlzzm.png&quot; data-origin-width=&quot;2816&quot; data-origin-height=&quot;1536&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;b&gt;동시성(Concurrency)&lt;/b&gt;은 단순히 async/await를 쓰는 수준을 넘어,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;사용자 경험을 해치지 않으면서 여러 작업을 어떻게 조율(Orchestration)하는가&quot;&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;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 사용자 입력과 무거운 렌더링의 충돌 (React 18 Transition)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[상황]&lt;/b&gt;&lt;br /&gt;사용자가 검색창에 타이핑을 할 때마다, 하단에 수천 개의 데이터 리스트가 실시간으로 필터링되어 그려져야 합니다. 이때 리스트를 그리는 작업(무거운 작업) 때문에 사용자가 입력하는 글자가 버벅이며 늦게 나타나는 현상이 발생합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[시니어의 해결책: 우선순위 큐(Priority Queue)]&lt;/b&gt;&lt;br /&gt;과거에는 debounce나 throttle로 입력을 지연시켰지만, 이는 근본적인 해결책이 아닙니다. React 18의 &lt;b&gt;Concurrent Mode&lt;/b&gt;는 작업을 '긴급(Urgent)'과 '전환(Transition)'으로 나눕니다.&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;Urgent Update:&lt;/b&gt; 글자 입력 (사용자 반응성 직결)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Transition Update:&lt;/b&gt; 리스트 필터링 (조금 늦어도 괜찮음)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[코드 예시]&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;reasonml&quot;&gt;&lt;code&gt;const [isPending, startTransition] = useTransition();
const [filterTerm, setFilterTerm] = useState('');

const handleChange = (e) =&amp;gt; {
  // 1. 긴급 업데이트: 타이핑은 즉시 반영
  setFilterTerm(e.target.value);

  // 2. 비긴급 업데이트: 리스트 렌더링은 메인 스레드가 한가할 때 처리
  startTransition(() =&amp;gt; {
    setFilteredList(bigData.filter(item =&amp;gt; item.includes(e.target.value)));
  });
};

return (
  &amp;lt;&amp;gt;
    &amp;lt;input type=&quot;text&quot; onChange={handleChange} /&amp;gt;
    {isPending ? &amp;lt;Spinner /&amp;gt; : &amp;lt;List data={filteredList} /&amp;gt;}
  &amp;lt;/&amp;gt;
);&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;  포인트:&lt;/b&gt; startTransition은 렌더링 도중 더 급한 작업(추가 타이핑)이 들어오면 &lt;b&gt;진행 중인 렌더링을 중단(Interrupt)&lt;/b&gt;하고 새 작업을 먼저 처리합니다. 이것이 진정한 동시성의 핵심입니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. Race Condition (경쟁 상태) 해결&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[상황]&lt;/b&gt;&lt;br /&gt;탭 메뉴(A, B, C)가 있습니다. 사용자가 'A'를 클릭하고 데이터가 오기 전에 빛의 속도로 'B'를 클릭했습니다. 그런데 네트워크 사정상 'A'의 응답이 'B'보다 늦게 도착했습니다. 결과적으로 화면은 'B' 탭인데 데이터는 'A' 것이 보여주는 &lt;b&gt;데이터 불일치&lt;/b&gt;가 발생합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[시니어의 해결책: 이전 요청 무효화(Cancellation)]&lt;/b&gt;&lt;br /&gt;이것은 전형적인 비동기 동시성 문제입니다. 시니어는 이를 해결하기 위해 &lt;b&gt;AbortController&lt;/b&gt;를 사용하거나, &lt;b&gt;React Query&lt;/b&gt;의 자동 취소 기능을 활용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[코드 예시 (Native JS)]&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;qml&quot;&gt;&lt;code&gt;let currentController = null;

async function fetchData(tabId) {
  // 이전 요청이 있다면 취소
  if (currentController) {
    currentController.abort();
  }

  currentController = new AbortController();

  try {
    const response = await fetch(`/api/data/${tabId}`, { 
      signal: currentController.signal 
    });
    const data = await response.json();
    renderUI(data);
  } catch (error) {
    if (error.name === 'AbortError') {
      console.log('이전 요청 취소됨');
    }
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 심화: 비동기 작업의 병렬성 제어 (Concurrency Control)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[상황]&lt;/b&gt;&lt;br /&gt;사용자가 100개의 이미지를 업로드합니다. Promise.all로 한꺼번에 던지면 브라우저의 네트워크 커넥션 제한에 걸려 성능이 급격히 저하되거나 서버가 터질 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[시니어의 해결책: 큐(Queue)를 이용한 동시 실행 수 제한]&lt;/b&gt;&lt;br /&gt;한 번에 딱 5개씩만 업로드되도록 제어하는 큐 시스템을 설계해야 합니다. (라이브러리로는 p-limit 등이 있습니다.)&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;자바스크립트 연산 자체가 무거운 경우?&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;그런데 useTransition은 렌더링 우선순위를 조절하는 것이지, 자바스크립트 연산 자체가 무거워서 메인 스레드를 점유하는 'Blocking' 현상 자체를 없애주는 건 아니지 않나요? 만약 filter 로직 자체가 2초가 걸린다면 useTransition을 써도 화면은 여전히 멈출 텐데, 이때는 어떻게 하시겠습니까?&quot;&lt;/b&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 연산 자체가 너무 무겁다면 &lt;b&gt;Web Worker&lt;/b&gt;로 넘겨야 합니다.&lt;br /&gt;&lt;a href=&quot;https://11001.tistory.com/287&quot;&gt;[시니어 FE] Web Worker 에 대해 알아보자 (Comlink)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1772709721206&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[시니어 FE] Web Worker 에 대해 알아보자 (Comlink)&quot; data-og-description=&quot;시니어 FE 시리즈시니어 프론트엔드 개발자가 되기위해 해보지 않았던 경험의 틈을 채우거나 기술적으로 딥다이브 해보고자 준비한 시리즈입니다. 그 동안 Web Worker를 막연하게 알고만 있었지 &quot; data-og-host=&quot;11001.tistory.com&quot; data-og-source-url=&quot;https://11001.tistory.com/287&quot; data-og-url=&quot;https://11001.tistory.com/287&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/BxSHY/dJMb8951oME/z6zSt3mE5QWX7qdeEZcG51/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/Zvk81/dJMb84p6wLX/CmqTemkLgaU9oyUegxX7wK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/MIdAJ/dJMb9kmaBgJ/w7aKNqZRC1RCRk5EZwYzek/img.png?width=2816&amp;amp;height=1536&amp;amp;face=0_0_2816_1536&quot;&gt;&lt;a href=&quot;https://11001.tistory.com/287&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://11001.tistory.com/287&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/BxSHY/dJMb8951oME/z6zSt3mE5QWX7qdeEZcG51/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/Zvk81/dJMb84p6wLX/CmqTemkLgaU9oyUegxX7wK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/MIdAJ/dJMb9kmaBgJ/w7aKNqZRC1RCRk5EZwYzek/img.png?width=2816&amp;amp;height=1536&amp;amp;face=0_0_2816_1536');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[시니어 FE] Web Worker 에 대해 알아보자 (Comlink)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;시니어 FE 시리즈시니어 프론트엔드 개발자가 되기위해 해보지 않았던 경험의 틈을 채우거나 기술적으로 딥다이브 해보고자 준비한 시리즈입니다. 그 동안 Web Worker를 막연하게 알고만 있었지&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;11001.tistory.com&lt;/p&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;혹은 렌더링 단위를 쪼개는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Time Slicing&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;기법(예: 대량의 리스트를 requestIdleCallback으로 조금씩 나눠 그리기)도 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Time Slicing&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;브라우저의 메인 스레드를 독점하지 않고, 사용자에게 실시간 응답성을 제공하기 위해 작업을 잘게 쪼개는 기술&quot;로 정의됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리액트의 Fiber 아키텍처가 내부적으로 하는 일이기도 하지만, 시니어라면 이를 &lt;b&gt;브라우저 네이티브 API&lt;/b&gt; 수준에서 이해하고 직접 제어할 줄 알아야 합니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. Time Slicing의 핵심 원리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;브라우저는 보통 &lt;b&gt;16.7ms(60fps)&lt;/b&gt;마다 한 프레임을 그립니다. 만약 자바스크립트 연산이 &lt;b&gt;100ms&lt;/b&gt; 동안 메인 스레드를 점유하면, 그동안 브라우저는 화면을 그리지 못하고 사용자 입력도 받지 못하는 &lt;b&gt;프리징(Freezing)&lt;/b&gt; 상태가 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Time Slicing&lt;/b&gt;은 이 100ms짜리 작업을 &lt;b&gt;5ms짜리 작업 20개&lt;/b&gt;로 쪼개서, 작업 사이사이에 브라우저가 쉬거나 다른 급한 일(사용자 클릭 등)을 처리할 틈을 주는 전략입니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. requestIdleCallback을 이용한 구현&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 API는 브라우저가 모든 긴급한 작업(애니메이션, 입력 처리 등)을 마치고 &lt;b&gt;한가할 때(Idle)&lt;/b&gt; 콜백을 실행하도록 예약합니다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;[시나리오: 10,000개의 리스트 아이템 렌더링]&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 번에 10,000개를 그리는 대신, 브라우저가 쉴 때마다 100개씩 끊어서 그리는 예시입니다.&lt;/p&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;const bigData = new Array(10000).fill(0).map((_, i) =&amp;gt; `Item ${i}`);
let currentIndex = 0;
const CHUNK_SIZE = 100;

function renderChunk(deadline) {
  // deadline.timeRemaining() &amp;gt; 0: 브라우저가 이번 프레임에서 쉴 수 있는 남은 시간(ms)
  // 남은 시간이 있고, 아직 그릴 데이터가 있다면 계속 실행
  while (deadline.timeRemaining() &amp;gt; 0 &amp;amp;&amp;amp; currentIndex &amp;lt; bigData.length) {
    const chunk = bigData.slice(currentIndex, currentIndex + CHUNK_SIZE);

    // 실제 DOM 조작 또는 상태 업데이트 (현업에선 가상 DOM 업데이트)
    renderToUI(chunk); 

    currentIndex += CHUNK_SIZE;
  }

  // 아직 남은 데이터가 있다면 다음 유휴 시간에 예약
  if (currentIndex &amp;lt; bigData.length) {
    requestIdleCallback(renderChunk);
  }
}

// 최초 실행
requestIdleCallback(renderChunk);
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 현대적인 대안: scheduler.postTask와 MessageChannel&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;requestIdleCallback은 실행 주기가 불안정할 수 있다는 단점이 있습니다. 그래서 더 정교한 제어가 필요할 때 시니어들은 다음 방식을 언급합니다.&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;scheduler.postTask (Modern API):&lt;/b&gt; 크롬 등 최신 브라우저에서 지원하며, 작업에 우선순위(user-blocking, user-visible, background)를 부여하여 스케줄링할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;MessageChannel을 이용한 0ms 지연:&lt;/b&gt; 리액트의 Scheduler 패키지가 내부적으로 사용하는 방식입니다. setTimeout보다 빠르게 다음 태스크로 넘기면서도 메인 스레드에 제어권을 잠시 넘겨줍니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&quot;Time Slicing이 왜 필요한가요?&quot;&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;결국 핵심은 &lt;b&gt;메인 스레드 점유권의 양보(Yielding)&lt;/b&gt;입니다.&lt;br /&gt;아무리 성능이 좋은 컴퓨터라도 자바스크립트가 루프를 돌며 스레드를 꽉 잡고 있으면 사용자는 '앱이 멈췄다'고 느낍니다.&lt;br /&gt;무거운 리스트 렌더링이나 복잡한 데이터 가공 시, 작업을 청크(Chunk) 단위로 쪼개고 requestIdleCallback이나 MessageChannel을 활용해 &lt;b&gt;브라우저가 프레임을 그릴 시간을 확보&lt;/b&gt;해 줍니다. 이렇게 하면 전체 작업 완료 시간은 조금 늘어날 수 있어도, 사용자가 느끼는 &lt;b&gt;상호작용성(Interaction)&lt;/b&gt;은 비약적으로 향상됩니다.&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;  추가 심화&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;리액트 18의 useDeferredValue도 내부적으로는 이 Time Slicing 원리를 이용합니다. 만약 검색어 입력에 따라 리스트가 필터링되는 UI에서 debounce를 쓰는 것과 useDeferredValue를 쓰는 것의 결정적인 차이는 무엇일까요?&quot;&lt;/b&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;debounce는 설정한 시간(예: 300ms) 동안 무조건 기다려야 함.&lt;/li&gt;
&lt;li&gt;useDeferredValue는 브라우저가 한가해지는 즉시 실행됨 (고성능 기기에선 더 빠르게 반응).&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;debounce vs useDeferredValue&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단은 제 경험상 실무에서 &lt;b&gt;useDeferredValue 는 거의 쓸 상황이 생기지 않고,&lt;/b&gt;&amp;nbsp;&lt;b&gt;debounce&lt;/b&gt; 를 훨씬 많이 쓰게됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;왜냐면 &lt;b&gt;'인터렉션'에 대한 지연이 중요하지, 사실 렌더링 '지연' 을 할 일이 그렇게 많지 않아요!&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;useDeferredValue&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;의 경우에는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;렌더링을 '지연' 시키는 것이지 '인터렉션'에 대한 지연을 시키는게 아닙니다!&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;렌더링이 무거워서 지연해야하는 경우 메인 쓰레드가 여유로울때 렌더링한다는 개념이 &lt;/span&gt;&lt;b&gt;useDeferredValue &lt;/b&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;입니다.&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;하지만 현실의 대부분은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;인터렉션 -&amp;gt; 네트워크 요청 -&amp;gt; 렌더링&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;순서를 거쳐서 화면에 무언가를 보여주게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용자가 단기간에 여러 번 인터렉션(연타, 입력) 했을때&lt;b&gt; '네트워크 요청'&lt;/b&gt; 이 여러번 들어가게 되면 렌더링을 미루는게 의미가 있나요? &lt;br /&gt;네트워크 요청을 1번만 들어가게끔 지연하는게 훨낫죠.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. &quot;네트워크 요청이 포함된 경우&quot; &amp;rarr; Debounce가 압승&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;후보자님 말씀대로 인터렉션 -&amp;gt; 네트워크 -&amp;gt; 렌더링 흐름이라면, useDeferredValue는 네트워크 요청 횟수를 줄여주지 못합니다.&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; 입력을 10번 하면 네트워크 요청도 10번 발생합니다. 비록 리액트가 마지막 결과만 화면에 그리려고 노력하겠지만(Concurrent Rendering), 서버 부하와 불필요한 대역폭 낭비는 막을 수 없습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;해결책:&lt;/b&gt; 이때는 &lt;b&gt;Debounce&lt;/b&gt;를 써서 네트워크 요청 자체를 1번으로 제한하는 것이 비용과 성능 측면에서 훨씬 유리합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. &quot;순수 클라이언트 연산이 무거운 경우&quot; &amp;rarr; useDeferredValue가 유리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반면, &lt;b&gt;이미 모든 데이터를 브라우저가 가지고 있는 상태&lt;/b&gt;에서 사용자의 입력(Filter, Sort)에 따라 화면을 다시 그릴 때는 useDeferredValue가 빛을 발합니다.&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; 10,000개의 주식 데이터를 이미 클라이언트가 들고 있고, 검색어에 따라 실시간 필터링을 할 때.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;장점:&lt;/b&gt; Debounce는 300ms라는 인위적인 지연 시간이 생기지만, useDeferredValue는 사양이 좋은 컴퓨터에서는 지연 없이 즉시, 사양이 나쁜 컴퓨터에서는 버벅이지 않을 정도로만 끊어서 결과를 보여줍니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;  정리: 시니어의 결정 트리 (Decision Tree)&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;b&gt;Debounce / Throttle&lt;/b&gt;&lt;/th&gt;
&lt;th&gt;&lt;b&gt;useDeferredValue / Transition&lt;/b&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;&lt;b&gt;이벤트 발생 횟수&lt;/b&gt; 및 외부 리소스(API)&lt;/td&gt;
&lt;td&gt;&lt;b&gt;렌더링 우선순위&lt;/b&gt; 및 CPU 점유율&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;주요 타겟&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;API 서버 부하, 과도한 함수 실행 방지&lt;/td&gt;
&lt;td&gt;메인 스레드 블로킹(Jank) 방지, UX 응답성&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;&quot;네트워크 요청이 있다면 무조건 Debounce&quot;&lt;/td&gt;
&lt;td&gt;&quot;로컬 데이터 가공/렌더링이 무겁다면 useDeferredValue&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프론트엔드 개발/시니어 시리즈</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/288</guid>
      <comments>https://11001.tistory.com/288#entry288comment</comments>
      <pubDate>Thu, 5 Mar 2026 20:29:31 +0900</pubDate>
    </item>
    <item>
      <title>[시니어 FE] Web Worker 에 대해 알아보자 (Comlink)</title>
      <link>https://11001.tistory.com/287</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;시니어 FE 시리즈&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시니어 프론트엔드 개발자가 되기위해 해보지 않았던 경험의 틈을 채우거나 기술적으로 딥다이브 해보고자 준비한 시리즈입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Gemini_Generated_Image_3pfk8p3pfk8p3pfk.png&quot; data-origin-width=&quot;2816&quot; data-origin-height=&quot;1536&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/N1Q0e/dJMcacWxl6t/ImbEuHA0fRvKracxNKfs0k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/N1Q0e/dJMcacWxl6t/ImbEuHA0fRvKracxNKfs0k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/N1Q0e/dJMcacWxl6t/ImbEuHA0fRvKracxNKfs0k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FN1Q0e%2FdJMcacWxl6t%2FImbEuHA0fRvKracxNKfs0k%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;2816&quot; height=&quot;1536&quot; data-filename=&quot;Gemini_Generated_Image_3pfk8p3pfk8p3pfk.png&quot; data-origin-width=&quot;2816&quot; data-origin-height=&quot;1536&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 동안 &lt;b&gt;Web Worker&lt;/b&gt;를 막연하게 알고만 있었지 실제로 써볼 기회가 없었습니다.&lt;br /&gt;엄청나게 무거운 정보를 실시간으로 화면에 보여줘야하는 서비스를 만들어본 적이 없었기 때문이죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그치만 내가 안해봤다고 모른다고 앞으로도 그런 상황이 주어졌을때 Web Worker 생각을 못한다면 안되겠죠?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. Web Worker의 기본 구조 (Concept)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Web Worker는 브라우저의 &lt;b&gt;메인 스레드&lt;/b&gt;와 별개로 배경(Background)에서 돌아가는 &lt;b&gt;별도의 스레드&lt;/b&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; UI 렌더링, 사용자 클릭 이벤트 처리 (DOM 접근 가능)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Web Worker:&lt;/b&gt; 복잡한 연산, 데이터 가공, 소켓 통신 (DOM 접근 불가)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;둘 사이는 postMessage와 onmessage라는 메시지 기반 시스템으로 소통합니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 실시간 대시보드 설계 구조&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대시보드에서 Web Worker를 활용하는 가장 효율적인 파이프라인은 다음과 같습니다.&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;Worker:&lt;/b&gt; WebSocket 연결을 맺고 데이터를 수신합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Worker:&lt;/b&gt; 수신된 대량의 원본 데이터(Raw Data)를 UI에 맞게 가공(Filtering, Sorting, 포맷팅)합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Worker -&amp;gt; Main:&lt;/b&gt; 가공이 끝난 &quot;최종 결과물&quot;만 메인 스레드로 던집니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Main:&lt;/b&gt; 전달받은 데이터를 상태(State)에 넣고 화면을 그립니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 코드 예시 (TypeScript 기반)&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;① Worker 파일 (price.worker.ts)&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Worker 내부에서는 self를 통해 전역 객체에 접근합니다.&lt;/p&gt;
&lt;pre class=&quot;typescript&quot;&gt;&lt;code&gt;// worker 환경에서는 DOM에 접근할 수 없음에 유의하세요.
self.onmessage = (e: MessageEvent) =&amp;gt; {
  if (e.data.type === 'CONNECT') {
    const socket = new WebSocket('wss://stock-api.com');

    socket.onmessage = (event) =&amp;gt; {
      const rawData = JSON.parse(event.data);

      // [무거운 작업 예시] 수천 개의 데이터 중 5% 이상 변동된 것만 필터링하고 정렬
      const processedData = rawData
        .filter((item: any) =&amp;gt; Math.abs(item.change) &amp;gt;= 5)
        .sort((a: any, b: any) =&amp;gt; b.price - a.price);

      // 가공된 데이터만 메인 스레드로 전송
      self.postMessage({ type: 'UPDATE_PRICE', data: processedData });
    };
  }
};
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;② 메인 컴포넌트 (Dashboard.tsx)&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React 컴포넌트에서 Worker를 생성하고 메시지를 받습니다.&lt;/p&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;import { useEffect, useState } from 'react';

const Dashboard = () =&amp;gt; {
  const [prices, setPrices] = useState([]);

  useEffect(() =&amp;gt; {
    // 1. Worker 인스턴스 생성
    const worker = new Worker(new URL('./price.worker.ts', import.meta.url));

    // 2. Worker로부터 메시지 수신
    worker.onmessage = (e) =&amp;gt; {
      if (e.data.type === 'UPDATE_PRICE') {
        setPrices(e.data.data); // 이미 가공된 데이터이므로 바로 상태 업데이트
      }
    };

    // 3. Worker에 시작 명령 전송
    worker.postMessage({ type: 'CONNECT' });

    return () =&amp;gt; worker.terminate(); // 컴포넌트 언마운트 시 워커 종료 (메모리 관리)
  }, []);

  return (
    &amp;lt;div&amp;gt;
      {prices.map(p =&amp;gt; &amp;lt;PriceItem key={p.id} data={p} /&amp;gt;)}
    &amp;lt;/div&amp;gt;
  );
};
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 핵심 포인트 (Tricky Parts)&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;구조 분해(Structured Clone) 비용:&lt;/b&gt; 메인 스레드와 Worker 사이에서 데이터를 주고받을 때 데이터가 복사(Clone)됩니다. 데이터 양이 너무 크면 이 복사 비용 때문에 메인 스레드가 잠깐 멈출 수 있습니다. 이때는 &lt;b&gt;Transferable Objects&lt;/b&gt;(ArrayBuffer 등)를 사용해 소유권을 넘겨버리는 방식으로 최적화할 수 있다고 언급하세요.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Worker 라이브러리 활용:&lt;/b&gt; 실무에서는 Worker 생성을 직접 관리하기보다 Comlink 같은 라이브러리를 사용하여 RPC(Remote Procedure Call) 방식으로 깔끔하게 함수처럼 호출하는 방식을 선호&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Transferable Objects&lt;/b&gt;와 &lt;b&gt;Comlink&lt;/b&gt;를 언급하는 것은&lt;br /&gt;&quot;단순히 기능을 구현하는 수준을 넘어 브라우저의 저수준(Low-level) 메모리 관리와 개발 생산성까지 고려한다&quot;는 강력한 증거가 됩니다.&lt;/p&gt;
&lt;h1&gt;&amp;nbsp;&lt;/h1&gt;
&lt;h1&gt;구체적인 예시와 설계&lt;/h1&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. Transferable Objects (소유권 이전 방식)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본적으로 postMessage는 데이터를 &lt;b&gt;복사(Structured Clone)&lt;/b&gt;합니다. 100MB 데이터를 보내면 메모리에 100MB가 하나 더 생기고, 이 복사 과정에서 메인 스레드가 블로킹됩니다.&lt;br /&gt;&lt;b&gt;Transferable Objects&lt;/b&gt;는 복사하지 않고 데이터의 &lt;b&gt;'소유권(Ownership)'&lt;/b&gt;만 워커로 넘깁니다. 넘겨준 쪽(메인 스레드)에서는 더 이상 그 데이터를 쓸 수 없게 되지만, 복사 비용이 &lt;b&gt;0&lt;/b&gt;에 가깝습니다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;[코드 예시: ArrayBuffer 활용]&lt;/h4&gt;
&lt;pre class=&quot;arduino&quot;&gt;&lt;code&gt;// Main Thread
const buffer = new ArrayBuffer(1024 * 1024 * 100); // 100MB 데이터
const uint8Array = new Uint8Array(buffer);

// 데이터를 채운 뒤 워커로 전송
// 두 번째 인자인 배열 [buffer]가 중요합니다. &quot;이 객체의 소유권을 이전하겠다&quot;는 선언입니다.
worker.postMessage(buffer, [buffer]);

console.log(buffer.byteLength); 
// 출력: 0 (소유권이 이전되었으므로 메인 스레드에서는 데이터가 사라짐)
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. Comlink 활용 (RPC 방식)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;postMessage와 onmessage를 직접 쓰면 코드가 매우 파편화되고 if/else 분기 처리가 복잡해집니다. 구글에서 만든 &lt;b&gt;Comlink&lt;/b&gt;를 쓰면 워커에 있는 함수를 마치 메인 스레드에 있는 일반 비동기 함수처럼 호출할 수 있습니다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;[Step 1: Worker 정의 (worker.ts)]&lt;/h4&gt;
&lt;pre class=&quot;typescript&quot;&gt;&lt;code&gt;import * as Comlink from 'comlink';

const stockService = {
  processedData: [],
  // 복잡한 계산 로직을 메서드로 정의
  async calculateVolatility(data: any[]) {
    // 무거운 연산 수행...
    return data.filter(d =&amp;gt; d.volatility &amp;gt; 0.5);
  }
};

// Comlink로 객체를 노출(Expose)시킵니다.
Comlink.expose(stockService);
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;[Step 2: Main Thread에서 사용 (App.tsx)]&lt;/h4&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;import * as Comlink from 'comlink';

async function init() {
  const worker = new Worker(new URL('./worker.ts', import.meta.url));

  // 워커를 마치 로컬 객체처럼 래핑합니다.
  const service = Comlink.wrap&amp;lt;any&amp;gt;(worker);

  // 워커 내의 함수를 await로 직접 호출합니다 (메시지 이벤트를 직접 짤 필요 없음)
  const result = await service.calculateVolatility(rawData);
  console.log('가공된 데이터:', result);
}
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;  더 발전시키기&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;실시간 대시보드처럼 초당 수백 건의 데이터가 들어오는 환경에서는 postMessage의 Structured Clone 비용조차 성능 병목이 될 수 있습니다.&lt;br /&gt;따라서 저는 대량의 바이너리 데이터를 다룰 때는 ArrayBuffer를 Transferable Objects로 넘겨 메인 스레드의 부하를 제로(0)에 가깝게 유지하는 설계를 선호합니다.&lt;br /&gt;&lt;br /&gt;또한, 팀 협업 측면에서 postMessage를 직접 다루면 이벤트 핸들러가 비대해져 유지보수가 어렵기 때문에, Comlink 같은 라이브러리를 도입하여 RPC 형태로 추상화함으로써 동료들이 워커 로직을 일반 비동기 함수처럼 쉽고 안전하게 호출할 수 있는 환경을 구축하는것이 좋습니다.&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&amp;nbsp;&lt;/h1&gt;
&lt;h1&gt;Web Worker는 언제 써야 하는가?&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;언제 쓰는 것이 적합한가?&quot;&lt;/b&gt;라는 질문은 기술의 &lt;b&gt;트레이드오프(비용 대비 이득)&lt;/b&gt;를 이해하고 있는지 묻는 것입니다.&lt;br /&gt;Web Worker는 스레드를 생성하고 데이터를 복사(또는 이전)하는 데 비용이 들기 때문에 모든 곳에 쓰면 안 됩니다.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. Web Worker 도입이 적합한 상황 (Decision Making)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시니어라면 &lt;b&gt;&quot;메인 스레드(UI Thread)의 응답성&quot;&lt;/b&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;CPU 집약적인 무거운 연산:&lt;/b&gt; * 대량의 JSON 데이터 파싱 및 가공 (수천 개의 주식 데이터 필터링/정렬)&lt;/li&gt;
&lt;li&gt;복잡한 수학 계산 (암호화, 이미지/비디오 처리, 캔버스 그래픽 계산)&lt;/li&gt;
&lt;li&gt;큰 규모의 텍스트 분석이나 정규식 검사&lt;/li&gt;
&lt;/ul&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; * WebSocket을 통해 쉼 없이 들어오는 데이터를 실시간으로 처리해야 할 때&lt;/li&gt;
&lt;li&gt;&lt;b&gt;UI와 독립적인 백그라운드 작업:&lt;/b&gt; * 사용자가 화면을 조작하는 동안 영향을 주지 않고 데이터를 미리 페칭(Prefetching)하거나 인덱싱할 때&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;반대로 부적합한 경우:&lt;/b&gt; 단순한 API 호출이나 작은 데이터 처리. 오히려 Worker를 띄우는 오버헤드와 데이터 전송 비용(Serialization)이 더 커서 성능이 저하될 수 있습니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. Web Worker의 종류&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;크게 3가지로 나뉩니다.&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;th&gt;주요 용도&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Dedicated Worker&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;1:1 관계.&lt;/b&gt; 생성한 스레드(Tab)에서만 접근 가능.&lt;/td&gt;
&lt;td&gt;특정 페이지의 무거운 연산.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Shared Worker&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;1:N 관계.&lt;/b&gt; 동일한 도메인의 여러 탭/윈도우에서 공유 가능.&lt;/td&gt;
&lt;td&gt;여러 탭 간의 채팅 연결 공유, 공통 상태 동기화.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Service Worker&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;프록시 서버 역할.&lt;/b&gt; 브라우저와 네트워크 사이에서 동작.&lt;/td&gt;
&lt;td&gt;오프라인 캐싱 (PWA), 푸시 알림, 백그라운드 동기화.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 방금의 대시보드 예시는 어떤 Worker인가?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리가 구현한 예시는 &lt;b&gt;Dedicated Worker (전용 워커)&lt;/b&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; 주식 대시보드라는 특정 페이지(탭)가 열려 있을 때, 그 페이지를 위한 데이터를 처리하기 위해 생성되었기 때문입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;동작 방식:&lt;/b&gt; 해당 컴포넌트가 마운트될 때 new Worker()로 생성되고, 언마운트될 때 terminate()`로 종료되는, 단일 컨텍스트에 종속된 형태입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;  정리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;Web Worker를 써본 적 있나요? 없다면 언제 도입하시겠나요?&quot;라고 물으면 이렇게 답변하세요.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;저는 프레임 드랍 없는 사용자 경험을 중요하게 생각합니다.&lt;br /&gt;일반적으로 브라우저는 16.7ms(60fps 기준) 안에 한 프레임의 작업을 마쳐야 하는데, 대시보드처럼 대량의 실시간 데이터를 가공하는 로직이 메인 스레드에서 16.7ms 이상을 점유할 것으로 판단될 때 Web Worker 도입을 검토합니다.&lt;br /&gt;&lt;br /&gt;특히 Dedicated Worker를 사용하여 데이터 수신과 가공을 격리하고, 메인 스레드는 오직 렌더링에만 집중하게 함으로써 복잡한 계산 중에도 사용자 입력이 씹히지 않는 안정적인 아키텍처를 설계하겠습니다.&quot;&lt;/p&gt;
&lt;/blockquote&gt;</description>
      <category>프론트엔드 개발/시니어 시리즈</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/287</guid>
      <comments>https://11001.tistory.com/287#entry287comment</comments>
      <pubDate>Thu, 5 Mar 2026 19:48:03 +0900</pubDate>
    </item>
    <item>
      <title>[개발자 이야기] Cursor 를 혼자가 아닌 팀원들과 함께 활용해보는 시도중 (rules 와 skill 의 차이는?)</title>
      <link>https://11001.tistory.com/286</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;715&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/t8BoK/dJMcagLqBt2/6nJEN6c4qcYW1XbUYVHG7k/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/t8BoK/dJMcagLqBt2/6nJEN6c4qcYW1XbUYVHG7k/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/t8BoK/dJMcagLqBt2/6nJEN6c4qcYW1XbUYVHG7k/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ft8BoK%2FdJMcagLqBt2%2F6nJEN6c4qcYW1XbUYVHG7k%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1000&quot; height=&quot;715&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;715&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;오늘은 제가 최근에 회사에서 시도중인 내용을 작성해보려고 합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;기존에 Cursor 를 사용하던 방식&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저희 팀은 작년에 vscode + copilot 에서 cursor.ai 를 기본 IDE 로 전환했습니다.&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;&lt;b&gt;분명 팀에서 cursor 를 사용하고 있기는 하지만, 제대로 활용하고 있다는 느낌을 받지 못했습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 개인적으로 Claude Code 를 사용하면서 경험했던 memory, skill 에 대한 개념과 지식을 가지고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;cursor 를 팀 단위로 활용할 방법에 대해서 고민해보았습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;b&gt;AGENTS.md&lt;/b&gt; 파일 부터 만들었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로젝트의 기본이자 핵심 지침 내용을 담았습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고&lt;b&gt; .cursor&lt;/b&gt; 폴더 내에 내부에&lt;b&gt; rules, reference 폴더&lt;/b&gt;를 만들었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;rules&lt;/b&gt; 에는 500자 이하의 AI Agent 가 반드시 지켜야하는 규칙을 작성했습니다.&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 style=&quot;text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;rules 와 skills 의 차이는?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;막상 하다보니 이게 정말 헷갈리는겁니다. 검색해보면 수 많은 토론이 있습니다.&lt;/p&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;제&amp;nbsp;경험과&amp;nbsp;검색&amp;nbsp;결과를&amp;nbsp;합쳐보면&amp;nbsp;원래&amp;nbsp;cursor&amp;nbsp;에는&amp;nbsp;지금은&amp;nbsp;레거시인&lt;b&gt;&amp;nbsp;.cursorrules&amp;nbsp;&lt;/b&gt;라는&amp;nbsp;파일이&amp;nbsp;존재했었고&lt;/p&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그러니까&amp;nbsp;rules&amp;nbsp;개념이&amp;nbsp;먼저&amp;nbsp;존재했고&amp;nbsp;skill&amp;nbsp;은&amp;nbsp;나중에&amp;nbsp;claude&amp;nbsp;code&amp;nbsp;등에서&amp;nbsp;참고하여&amp;nbsp;만든게&amp;nbsp;아닐까&amp;nbsp;싶은데요.&lt;/p&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;클로드&amp;nbsp;코드에서는&amp;nbsp;skill&amp;nbsp;이&amp;nbsp;지식&amp;nbsp;문서&amp;nbsp;또는&amp;nbsp;기능&amp;nbsp;수행이&amp;nbsp;가능한&amp;nbsp;재사용&amp;nbsp;도구&amp;nbsp;정도의&amp;nbsp;개념이거든요.&lt;/p&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;근데&amp;nbsp;커서의&amp;nbsp;rules&amp;nbsp;는&amp;nbsp;원하는&amp;nbsp;때에&amp;nbsp;AI&amp;nbsp;에게&amp;nbsp;내려주는&amp;nbsp;지침인데&amp;nbsp;어떤&amp;nbsp;상황에서는&amp;nbsp;이&amp;nbsp;문서를&amp;nbsp;읽어라.&amp;nbsp;&lt;br /&gt;이&amp;nbsp;스크립트를&amp;nbsp;실행해라.&amp;nbsp;이렇게&amp;nbsp;해버리면&amp;nbsp;사실&amp;nbsp;skill&amp;nbsp;이랑&amp;nbsp;똑같잖아요?&amp;nbsp;충분히&amp;nbsp;혼동될&amp;nbsp;만&amp;nbsp;합니다.&lt;/p&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;저는&amp;nbsp;이&amp;nbsp;둘을&amp;nbsp;어떻게&amp;nbsp;나눠야&amp;nbsp;할&amp;nbsp;지&amp;nbsp;많은&amp;nbsp;검색과&amp;nbsp;고심&amp;nbsp;끝에&amp;nbsp;이렇게&amp;nbsp;정리했습니다.&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;skills&lt;/b&gt; 은 &quot;외부&quot;의 도구를 불러오거나 스크립트 등을 통해 어떠한 기능을 수행할 수 있는 &quot;재활용 가능한 단위&quot;로 작성한다.&lt;br /&gt;어떠한 상황에 의존하는게 아닌, 필요에 의해 사용되는 재사용 도구라고 생각.&lt;br /&gt;(외부 도구를 이용해 웹 스크래핑을 수행)&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;rules&lt;/b&gt; 는 어떠한 상황에서 지켜야하는 규칙을 작성하고, &lt;br /&gt;참고해야하는 문서 등은 &lt;b&gt;reference&lt;/b&gt; 에 작성하여 어떤 파일을 읽으면 되는지 연결시킨다.&lt;br /&gt;'상황'에 의존성이 있다고 생각.&lt;br /&gt;(어떤 도메인에서는 이 문서를 참고, 어떤 형식의 파일을 만들때, 입력 폼을 다룰때, API 연동 규칙, 에러 핸들링 규칙 등)&lt;/blockquote&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아마&amp;nbsp;skills&amp;nbsp;를&amp;nbsp;활용하기는&amp;nbsp;쉽지&amp;nbsp;않겠다는&amp;nbsp;생각이&amp;nbsp;들었습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클로드&amp;nbsp;코드로&amp;nbsp;치면&amp;nbsp;웹스크래핑&amp;nbsp;도구를&amp;nbsp;써서&amp;nbsp;데이터를&amp;nbsp;모아오는&amp;nbsp;스킬,&amp;nbsp;DB에&amp;nbsp;정보를&amp;nbsp;업로드하는&amp;nbsp;스킬&amp;nbsp;뭐&amp;nbsp;이런&amp;nbsp;식일&amp;nbsp;건데요.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데&amp;nbsp;팀&amp;nbsp;프로젝트에서&amp;nbsp;그럴&amp;nbsp;만한게&amp;nbsp;뭐가&amp;nbsp;있겠습니까.&amp;nbsp;특히&amp;nbsp;안정성,&amp;nbsp;유지보수성&amp;nbsp;때문에&amp;nbsp;새로운&amp;nbsp;코드를&amp;nbsp;맘대로&amp;nbsp;쓰지도&amp;nbsp;못하는&amp;nbsp;프로젝트인걸요.&lt;/p&gt;
&lt;h3 style=&quot;text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;지식 대통합의 기회&lt;/h3&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이것들은 AI Agent 를 위한 것들이지만 동시에 팀원들 끼리&lt;b&gt; 지식을 대통합 할 수 있는 기회&lt;/b&gt;라고 생각이 들었습니다.&lt;/p&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;솔직히 회사 들어오고나서 아직까지도 프로젝트 코드를 다 이해를 못했어요... 일일이 까서 열어봐야하는 캡슐화된 코드가 너무 많습니다.&lt;/p&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;특히 서버사이트 코드 복잡도는 미쳐버리는 줄 알았어요.&lt;/p&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이런 거대하고 복잡한걸 만들어놓고서는 설명하는 문서를 하나도 만들어놓질 않으니&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;새로온 사람이 코드베이스 전체 맥락과 흐름을 다 파악하는데 너무 많은 시간과 노력을 쏟아야 하더군요.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;효과가&amp;nbsp;있을까?&amp;nbsp;기도해보자..&lt;/h3&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사실 AI는 핑계고 어쩌면 지식의 문서화가 더 시급한 목표인 거 같습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;저희 프로젝트에서는 &lt;b&gt;안정성&lt;/b&gt;이 그 무엇보다도 중요하기에 코드 한 줄 한 줄 엄격하게 코드 리뷰를 하는데&lt;/p&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;앞으로도 Claude Code 를 개인 프로젝트에서 권한 다주고 대량의 코드를 책임없이 찍어내게 절대 할 수 없다는것을 알고 있고,&lt;/p&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;지금까지 해왔던 것 처럼 AI Agent 로 매우 국소적인 단위의 코드 생성, 테스트 코드 생성, 이슈 처리, 리뷰 등에만 쓸 것인데.&lt;/p&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;적어도 안정성을 더 높이려면 코드 패턴, 비즈니스 로직, 이슈 이런 것들을 문서로 잘 정리해야 할 것이라는 결론이었습니다.&lt;/p&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;앞으로 문서가 쌓여갈 수록 cursor 는 더 똑똑하게 알아먹고 대답을 잘 해주겠죠?&lt;/p&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발자 이야기</category>
      <category>AI</category>
      <category>cursor</category>
      <category>커서</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/286</guid>
      <comments>https://11001.tistory.com/286#entry286comment</comments>
      <pubDate>Thu, 5 Mar 2026 00:51:55 +0900</pubDate>
    </item>
    <item>
      <title>[개발자 이야기] 프론트 개발자의 AI로 인해 잠 못드는 나날</title>
      <link>https://11001.tistory.com/285</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;559&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjRExx/dJMcaibnVnI/XrbCZZvPHSqzD1Pq5MR6rk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjRExx/dJMcaibnVnI/XrbCZZvPHSqzD1Pq5MR6rk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjRExx/dJMcaibnVnI/XrbCZZvPHSqzD1Pq5MR6rk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjRExx%2FdJMcaibnVnI%2FXrbCZZvPHSqzD1Pq5MR6rk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;559&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;559&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;h3 data-ke-size=&quot;size23&quot;&gt;AI 기술 부채&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI로 인해 흥분되어 잠 못드는 날, AI로 불안해서 잠 못드는 날이 반복됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자고 일어나면 또 새로운 AI 기사가 쏟아지면서 &lt;b&gt;AI 기술 부채&lt;/b&gt;가 나날이 쌓이고 있습니다. 열심히 따라가기 위해 노력 중입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;퇴근하고, 주말에도 쉬지를 못하고 AI를 배우고 공부하고 실습하고 고민하고 있습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-path-to-node=&quot;3&quot; data-ke-size=&quot;size26&quot;&gt;&quot;껍데기만 만드는 개발자&quot;가 될 것인가?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;하지만 프론트엔드 개발자는 AI 를 커리어와 직접 연결시키질 못하니 그게 참 답답합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;회사에서 팀 단위로 AI를 활용하고 있지 않고, 각자 개인적으로 쓸 뿐이고.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI와 접목한 서비스를 만들고 있지도 않아서 내가 이러다간 AI 시대에 뒤떨어지고 경쟁력에서 밀리는 것이 아닐까 두려움이 듭니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 제가 &lt;b&gt;프론트엔드 개발자&lt;/b&gt;라서 더욱 더 스트레스가 큰 것 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설령 회사에서 AI 서비스를 개발하더라도 이미 다 만들어진 AI 서비스를 화면상에 보여주기만 하면 되는 일이라서 이거는 절대 AI 개발자라고 할 수가 없죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요즘 그런 직무를&lt;b&gt; AI Service Frontend-Engineer&lt;/b&gt; 라는 이름으로 뽑는 회사가 있던데 그냥 AI 서비스를 화면에 보여주는거죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 난 이전에 머신러닝을 통해 만들어낸 데이터를 화면 상에 보여주는 일을 했는데 AI Frontend-Engineer 개발자라고 할 수 있는가? LLM 을 안썼으니 인정 안되는건가?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뒷단이 어떻게 되어있든 화면에 그리는 역할이라는 본질을 같은걸?..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;내가 지금 하고 있는 일에서 어떻게든 AI와 '직접적'으로 엮이려면?&lt;/b&gt; &lt;br /&gt;빠르게 백엔드 영역으로 확장하고 백터DB, LLM 연결하여 AI 기능을 제공하는 백엔드 개발자가 되어야 하는건데..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 내가 그 수준에 도달했을때 과연 세상은 또 얼마나 바뀌어 있을지 미지수입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어쩌면 인프라 담당자만 남아있을 수도 있겠죠. &lt;b&gt;그러면 제가 인프라 하러 가는게 맞을까요? 단지 오래 살아남을 것 같으니까?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;책임 지는 사람이 필요한&lt;/b&gt; &lt;b&gt;거라면 직무 유지하고 제 연차와 경험으로 비비고&lt;/b&gt; 들어가는게 나을 수도 있는 선택일 수 있겠죠.&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&lt;/span&gt;&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;b&gt;1. 스테이 (직무 유지)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금 회사의 직무 그대로 유지하면서 현재에 충실히 사는 방법.. 자유롭게 뭔가 할 수 있는 회사는 아니지만 AI로 시끄럽게 떠들어본다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그치만 그게 AI 경력으로 쌓이는 것도 아니고, 앞으로도 큰 변화가 기대되진 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇다고 직무 전환을 해달라고 때쓰면 어디로 가나? 누가 받아주나?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 직무 변환 가능한 회사로 이직 (아마 AI스타트업)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 이 게임을 해봤어요. (AI 스타트업을 다녀봤어요)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI가 만능이 아니다. 아무리 언변이 뛰어나도 돈 못벌면 끝이다. 스타트업은 참으로 냉혹한 곳이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아마 이걸 선택하게 되면 또 경력 2-3년 다시 쌓아서 과거에 했던것 처럼 대기업 경력직에 도전하겠죠...&lt;/p&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;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;국내 TOP IT 회사 중에서 비포괄 회사로 가서 퇴근 안한다고 생각하고 야근비 뽑아먹는게 제일 편하고 좋은 방법일 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 환자고 금융치료가 필요한 걸 지도 모르겠습니다. 커리어 경력도 버리지 않고 그대로 인정받고요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI 는 주말에 공부하면 되지.. GPU 값 벌어야지&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;&lt;span style=&quot;text-align: start;&quot;&gt;제미나이 선생님&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;제미나이 선생님께서도 그냥 금융치료 받으라고 하네요. ㅋㅋ&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;작년에 이직하고 이사하고 결혼 준비하고.. 진짜 미친듯이 많은 일이 있었는데요. 올해가 더 하면 더 할듯 합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-03-02 오후 4.19.06.png&quot; data-origin-width=&quot;1104&quot; data-origin-height=&quot;848&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bctWeG/dJMcabi2cNo/hmSoJP2FCXWmNnAAeOONuK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bctWeG/dJMcabi2cNo/hmSoJP2FCXWmNnAAeOONuK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bctWeG/dJMcabi2cNo/hmSoJP2FCXWmNnAAeOONuK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbctWeG%2FdJMcabi2cNo%2FhmSoJP2FCXWmNnAAeOONuK%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;1104&quot; height=&quot;848&quot; data-filename=&quot;스크린샷 2026-03-02 오후 4.19.06.png&quot; data-origin-width=&quot;1104&quot; data-origin-height=&quot;848&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>개발자 이야기</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/285</guid>
      <comments>https://11001.tistory.com/285#entry285comment</comments>
      <pubDate>Mon, 2 Mar 2026 16:34:54 +0900</pubDate>
    </item>
    <item>
      <title>Anthropic Courses - 무료 온라인 강의 공개</title>
      <link>https://11001.tistory.com/284</link>
      <description>&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;1446&quot; data-origin-height=&quot;298&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cxA4D0/dJMcac3gams/T1ftJAUF5J7snwZw1dLOkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cxA4D0/dJMcac3gams/T1ftJAUF5J7snwZw1dLOkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cxA4D0/dJMcac3gams/T1ftJAUF5J7snwZw1dLOkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcxA4D0%2FdJMcac3gams%2FT1ftJAUF5J7snwZw1dLOkk%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;1446&quot; height=&quot;298&quot; data-origin-width=&quot;1446&quot; data-origin-height=&quot;298&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;figure id=&quot;og_1772433249612&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Anthropic Courses&quot; data-og-description=&quot;Browse all Anthropic courses&quot; data-og-host=&quot;anthropic.skilljar.com&quot; data-og-source-url=&quot;https://anthropic.skilljar.com/&quot; data-og-url=&quot;https://anthropic.skilljar.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/iD5vm/dJMb87f3Voe/DKLYClm9p1C3uGSF0RHeWk/img.png?width=2400&amp;amp;height=1260&amp;amp;face=0_0_2400_1260,https://scrap.kakaocdn.net/dn/87Jb5/dJMb9jOksDk/s0fXz8sqK5znFktHboaCw1/img.png?width=2400&amp;amp;height=1260&amp;amp;face=0_0_2400_1260,https://scrap.kakaocdn.net/dn/rIjIt/dJMb8QL9sLI/TtqJjQBfZUvHk3pqM7sjFk/img.png?width=2400&amp;amp;height=1260&amp;amp;face=0_0_2400_1260&quot;&gt;&lt;a href=&quot;https://anthropic.skilljar.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://anthropic.skilljar.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/iD5vm/dJMb87f3Voe/DKLYClm9p1C3uGSF0RHeWk/img.png?width=2400&amp;amp;height=1260&amp;amp;face=0_0_2400_1260,https://scrap.kakaocdn.net/dn/87Jb5/dJMb9jOksDk/s0fXz8sqK5znFktHboaCw1/img.png?width=2400&amp;amp;height=1260&amp;amp;face=0_0_2400_1260,https://scrap.kakaocdn.net/dn/rIjIt/dJMb8QL9sLI/TtqJjQBfZUvHk3pqM7sjFk/img.png?width=2400&amp;amp;height=1260&amp;amp;face=0_0_2400_1260');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Anthropic Courses&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Browse all Anthropic courses&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;anthropic.skilljar.com&lt;/p&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;h2 style=&quot;background-color: #1f2023; color: #b1b1b1; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;개발자 대상 과정&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #1f2023; color: #b1b1b1; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;&lt;a href=&quot;https://anthropic.skilljar.com/claude-code-in-action&quot;&gt;Claude Code in Action&lt;/a&gt;&lt;/b&gt;: Claude Code를 개발 워크플로에 통합하는 실습 과정&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;a href=&quot;https://anthropic.skilljar.com/claude-with-the-anthropic-api&quot;&gt;Building with the Claude API&lt;/a&gt;&lt;/b&gt;: Anthropic 모델을&amp;nbsp;&lt;b&gt;Claude API&lt;/b&gt;로 활용하는 전 과정을 포괄적으로 다루는 과정&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;a href=&quot;https://anthropic.skilljar.com/introduction-to-model-context-protocol&quot;&gt;Introduction to Model Context Protocol&lt;/a&gt;&lt;/b&gt;: Python으로&amp;nbsp;&lt;b&gt;MCP 서버와 클라이언트&lt;/b&gt;를 처음부터 구축하는 방법 학습
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;MCP의 세 가지 핵심 프리미티브인&amp;nbsp;&lt;b&gt;tools, resources, prompts&lt;/b&gt;를 다룸&lt;/li&gt;
&lt;li&gt;Claude를 외부 서비스에 연결하는 방법 포함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;a href=&quot;https://anthropic.skilljar.com/model-context-protocol-advanced-topics&quot;&gt;Model Context Protocol: Advanced Topics&lt;/a&gt;&lt;/b&gt;: 샘플링, 알림, 파일 시스템 접근,&amp;nbsp;&lt;b&gt;트랜스포트 메커니즘&lt;/b&gt;&amp;nbsp;등 프로덕션 MCP 서버 개발을 위한 고급 구현 패턴&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;a href=&quot;https://anthropic.skilljar.com/introduction-to-agent-skills&quot;&gt;Introduction to Agent Skills&lt;/a&gt;&lt;/b&gt;: Claude Code에서&amp;nbsp;&lt;b&gt;재사용 가능한 마크다운 기반 스킬&lt;/b&gt;을 생성&amp;middot;구성&amp;middot;공유하는 방법
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Claude가 적절한 작업에 자동으로 적용하는 스킬을 만드는 과정&lt;/li&gt;
&lt;li&gt;팀 간 배포 및 일반적 문제 해결까지 포함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 style=&quot;background-color: #1f2023; color: #b1b1b1; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;일반 사용자 및 입문 과정&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #1f2023; color: #b1b1b1; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;&lt;a href=&quot;https://anthropic.skilljar.com/claude-101&quot;&gt;Claude 101&lt;/a&gt;&lt;/b&gt;: 일상 업무에 Claude를 활용하는 방법,&amp;nbsp;&lt;b&gt;핵심 기능 이해&lt;/b&gt;, 고급 학습 리소스 탐색&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;a href=&quot;https://anthropic.skilljar.com/ai-fluency-framework-foundations&quot;&gt;AI Fluency: Framework &amp;amp; Foundations&lt;/a&gt;&lt;/b&gt;: AI 시스템과 효과적&amp;middot;효율적&amp;middot;윤리적&amp;middot;안전하게&amp;nbsp;&lt;b&gt;협업하는 프레임워크&lt;/b&gt;&amp;nbsp;학습&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 style=&quot;background-color: #1f2023; color: #b1b1b1; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;교육&amp;middot;학생&amp;middot;비영리 대상 과정&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #1f2023; color: #b1b1b1; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;&lt;a href=&quot;https://anthropic.skilljar.com/ai-fluency-for-educators&quot;&gt;AI Fluency for Educators&lt;/a&gt;&lt;/b&gt;: 교수진, 교육 설계자, 교육 리더가 AI Fluency를&amp;nbsp;&lt;b&gt;자신의 교육 실무와 기관 전략&lt;/b&gt;에 적용하는 과정&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;a href=&quot;https://anthropic.skilljar.com/ai-fluency-for-students&quot;&gt;AI Fluency for Students&lt;/a&gt;&lt;/b&gt;: 학생들이 학습, 커리어 계획, 학업 성취를 위해&amp;nbsp;&lt;b&gt;책임감 있는 AI 협업 역량&lt;/b&gt;을 개발하는 과정&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;a href=&quot;https://anthropic.skilljar.com/teaching-ai-fluency&quot;&gt;Teaching AI Fluency&lt;/a&gt;&lt;/b&gt;: 학술 교수진과 교육 설계자가&amp;nbsp;&lt;b&gt;강사 주도 환경에서 AI Fluency를 교육&amp;middot;평가&lt;/b&gt;하는 과정&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;a href=&quot;https://anthropic.skilljar.com/ai-fluency-for-nonprofits&quot;&gt;AI Fluency for Nonprofits&lt;/a&gt;&lt;/b&gt;: 비영리 전문가가 조직의 임팩트와 효율성을 높이면서&amp;nbsp;&lt;b&gt;미션과 가치에 충실한 AI 역량&lt;/b&gt;을 개발하는 과정&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 style=&quot;background-color: #1f2023; color: #b1b1b1; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;클라우드 플랫폼 통합 과정&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #1f2023; color: #b1b1b1; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;&lt;a href=&quot;https://anthropic.skilljar.com/claude-in-amazon-bedrock&quot;&gt;Claude with Amazon Bedrock&lt;/a&gt;&lt;/b&gt;: AWS 직원 대상으로 만들어진&amp;nbsp;&lt;b&gt;인증 프로그램 기반 교육&lt;/b&gt;을 일반에 공개&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;a href=&quot;https://anthropic.skilljar.com/claude-with-google-vertex&quot;&gt;Claude with Google Cloud's Vertex AI&lt;/a&gt;&lt;/b&gt;: Google Cloud의&amp;nbsp;&lt;b&gt;Vertex AI&lt;/b&gt;를 통해 Anthropic 모델을 활용하는 전 과정을 포괄적으로 다룸&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>개발자 글 수집</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/284</guid>
      <comments>https://11001.tistory.com/284#entry284comment</comments>
      <pubDate>Mon, 2 Mar 2026 15:35:10 +0900</pubDate>
    </item>
    <item>
      <title>[AI] 인공지능에게 작업을 위임하는 것. (의도를 실행으로 옮기기)</title>
      <link>https://11001.tistory.com/283</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;559&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qa0Dp/dJMcachVpmb/sAKIKrTSvo1wveo3Mob830/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qa0Dp/dJMcachVpmb/sAKIKrTSvo1wveo3Mob830/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qa0Dp/dJMcachVpmb/sAKIKrTSvo1wveo3Mob830/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fqa0Dp%2FdJMcachVpmb%2FsAKIKrTSvo1wveo3Mob830%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;559&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;559&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;AI 에게 업무를 위임할지 여부를 결정하는데 3가지 변수가 필요함&lt;b&gt;&lt;/b&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;성공 확률: 주어진 시도에서 AI가 사용자의 기준을 충족하는 결과를 생성할 가능성&lt;/li&gt;
&lt;li&gt;AI 처리 시간: AI 출력 요청, 대기 및 평가에 걸리는 시간&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;만약 사람이 하는데에 1시간이 걸리는 작업을 AI 가 단 몇 분만에 하더라도 검토에 30분 이상 소요된다면? &lt;/b&gt;&lt;br /&gt;AI 의 작업 성공 확률이 매우 높은 경우에만 AI 에게 작업을 맡겨야 될 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;만약 반대로 사람이 하는데에 7시간이 걸리는 작업을 AI 가 단 몇 분만에 진행하고 사람이 1시간 만에 검토할 수 있다면?&lt;/b&gt;&lt;/p&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;h3 data-ke-size=&quot;size23&quot;&gt;AI 위임의 효율성을 높이는 방법&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;인공지능(AI)에&amp;nbsp;작업을&amp;nbsp;위임할&amp;nbsp;때&amp;nbsp;성공&amp;nbsp;확률을&amp;nbsp;높이고&amp;nbsp;처리&amp;nbsp;시간을&amp;nbsp;단축하여&amp;nbsp;AI&amp;nbsp;위임의&amp;nbsp;효율성을&amp;nbsp;높이는&amp;nbsp;세&amp;nbsp;가지&amp;nbsp;방법이&amp;nbsp;있습니다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;AI가 성공적으로 수행할 수 있는 명확한 목표를 설정하여 더 나은 지침을 제공할 수 있습니다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;평가 및 피드백 기능을 개선하여 AI가 올바른 작업을 수행하도록 유도하는 데 필요한 시도 횟수를 줄일 수 있습니다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;AI의 작업 수행 능력을 평가하는 데 드는 시간을 줄일 수 있습니다.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이러한&amp;nbsp;모든&amp;nbsp;요소는&amp;nbsp;해당&amp;nbsp;분야의&amp;nbsp;전문&amp;nbsp;지식을&amp;nbsp;통해&amp;nbsp;향상될&amp;nbsp;수&amp;nbsp;있습니다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;전문가는&amp;nbsp;어떤&amp;nbsp;지침을&amp;nbsp;제공해야&amp;nbsp;하는지&amp;nbsp;알고,&amp;nbsp;오류를&amp;nbsp;더&amp;nbsp;잘&amp;nbsp;파악하고&amp;nbsp;수정할&amp;nbsp;수&amp;nbsp;있기&amp;nbsp;때문입니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 자꾸 뉴스에서 도메인 지식이 중요하다... 중요하다 그러는 겁니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;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;b&gt;실제&amp;nbsp;업무나&amp;nbsp;제대로&amp;nbsp;된&amp;nbsp;위임은&amp;nbsp;명확한&amp;nbsp;결과물을&amp;nbsp;염두에&amp;nbsp;두고&amp;nbsp;진행해야&amp;nbsp;한다는&amp;nbsp;것을&amp;nbsp;의미합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;바로&amp;nbsp;그&amp;nbsp;부분에서&amp;nbsp;어려움이&amp;nbsp;생기죠.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI에게&amp;nbsp;원하는&amp;nbsp;바를&amp;nbsp;어떻게&amp;nbsp;전달해야&amp;nbsp;AI가&amp;nbsp;스스로&amp;nbsp;판단력을&amp;nbsp;발휘해&amp;nbsp;문제를&amp;nbsp;해결하면서도&amp;nbsp;원하는&amp;nbsp;결과물을&amp;nbsp;만들어낼&amp;nbsp;수&amp;nbsp;있을까요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소프트웨어&amp;nbsp;개발자는&amp;nbsp;제품&amp;nbsp;요구사항&amp;nbsp;문서를&amp;nbsp;작성하고&amp;nbsp;,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;영화&amp;nbsp;감독은&amp;nbsp;촬영&amp;nbsp;목록을&amp;nbsp;전달하며,&amp;nbsp;건축가는&amp;nbsp;설계&amp;nbsp;의도&amp;nbsp;문서를&amp;nbsp;만듭니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해병대는&amp;nbsp;5단락&amp;nbsp;명령서(상황,&amp;nbsp;임무,&amp;nbsp;실행,&amp;nbsp;관리,&amp;nbsp;지휘)를&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;무엇을&amp;nbsp;달성하려는&amp;nbsp;것이며,&amp;nbsp;그&amp;nbsp;이유는&amp;nbsp;무엇인가?&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위임된&amp;nbsp;권한의&amp;nbsp;한계는&amp;nbsp;어디까지인가?&amp;nbsp;&quot;완료&quot;는&amp;nbsp;어떤&amp;nbsp;모습인가?&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구체적으로&amp;nbsp;어떤&amp;nbsp;결과물이&amp;nbsp;필요한가?&amp;nbsp;진행&amp;nbsp;상황을&amp;nbsp;파악하기&amp;nbsp;위해&amp;nbsp;어떤&amp;nbsp;중간&amp;nbsp;결과물이&amp;nbsp;필요한가?&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고&amp;nbsp;완료를&amp;nbsp;알리기&amp;nbsp;전에&amp;nbsp;무엇을&amp;nbsp;확인해야&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;AI 와의 협업은 사람과 협업하는 것과 유사하다.&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;&lt;b&gt;&quot;필요한 것을 설명하고, 효과적인 피드백을 제공하며, 업무 평가 방식을 설계&quot;&lt;/b&gt; 하는 것입니다.&lt;/p&gt;
&lt;p 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;어쩌면 이제는 AI 스스로 검토할 수 있는 세상?&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;AI 가 스스로 생각, 더 많은 맥락을 파악하고, 더 강력한 skill 과 연결되면서 또 다른 이야기가 되어가고 있습니다.&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;1344&quot; data-origin-height=&quot;646&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b62R60/dJMcajadpDs/mfYrac6pZ3DmuZGk0cmUBK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b62R60/dJMcajadpDs/mfYrac6pZ3DmuZGk0cmUBK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b62R60/dJMcajadpDs/mfYrac6pZ3DmuZGk0cmUBK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb62R60%2FdJMcajadpDs%2FmfYrac6pZ3DmuZGk0cmUBK%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;1344&quot; height=&quot;646&quot; data-origin-width=&quot;1344&quot; data-origin-height=&quot;646&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사람이 무언가 하고자하는 의도만으로도&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI 가 스스로 매우 구체화된 문서를 만들고, 만들어진 결과물도 수 많은 반복적인 검토를 거쳐서 성공 확률을 강제로 끌어 올릴 수 있다는 주장이죠.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;2023년 이전: 가치 = 인간의 기술 x 인간의 시간&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2025년: 가치 = (인간의 도움 + AI 속도) - 인간의 평가 시간&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2026년: 가치 = 인간의 의도 x (AI 연산 x AI 재귀)&lt;/b&gt;&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;진짜 2028년에 AGI 나올 수도 있겠단 생각도 듭니다.&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;p data-ke-size=&quot;size16&quot;&gt;바보라도 AI 를 쓰기만 하면 AI의 컴퓨팅 파워에 따라 매우 의도에 근접한 결과를 얻을 수 있게 된다는 거죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;진짜 이러다 2028년에 AGI 나올 수도 있겠단 생각도 듭니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고 &lt;a href=&quot;https://www.oneusefulthing.org/p/management-as-ai-superpower&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.oneusefulthing.org/p/management-as-ai-superpower&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1772207962753&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Management as AI superpower&quot; data-og-description=&quot;Thriving in a world of agents&quot; data-og-host=&quot;www.oneusefulthing.org&quot; data-og-source-url=&quot;https://www.oneusefulthing.org/p/management-as-ai-superpower&quot; data-og-url=&quot;https://www.oneusefulthing.org/p/management-as-ai-superpower&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/uNcBr/dJMb88eXXPx/5TpP5bhlrmjB1TggPVEckk/img.jpg?width=1200&amp;amp;height=675&amp;amp;face=142_296_1070_531,https://scrap.kakaocdn.net/dn/wUCW5/dJMb85vMeoo/FdhwaGecpJ58Je6B2YHNxk/img.jpg?width=1600&amp;amp;height=800&amp;amp;face=127_405_1477_522,https://scrap.kakaocdn.net/dn/0t2rN/dJMb84p52Kb/LTe5lmrUK6jMx2DcTbb8e1/img.jpg?width=1456&amp;amp;height=794&amp;amp;face=0_0_1456_794&quot;&gt;&lt;a href=&quot;https://www.oneusefulthing.org/p/management-as-ai-superpower&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.oneusefulthing.org/p/management-as-ai-superpower&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/uNcBr/dJMb88eXXPx/5TpP5bhlrmjB1TggPVEckk/img.jpg?width=1200&amp;amp;height=675&amp;amp;face=142_296_1070_531,https://scrap.kakaocdn.net/dn/wUCW5/dJMb85vMeoo/FdhwaGecpJ58Je6B2YHNxk/img.jpg?width=1600&amp;amp;height=800&amp;amp;face=127_405_1477_522,https://scrap.kakaocdn.net/dn/0t2rN/dJMb84p52Kb/LTe5lmrUK6jMx2DcTbb8e1/img.jpg?width=1456&amp;amp;height=794&amp;amp;face=0_0_1456_794');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Management as AI superpower&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Thriving in a world of agents&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.oneusefulthing.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발자 글 수집</category>
      <category>AGI</category>
      <category>AI</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/283</guid>
      <comments>https://11001.tistory.com/283#entry283comment</comments>
      <pubDate>Sat, 28 Feb 2026 01:04:10 +0900</pubDate>
    </item>
    <item>
      <title>[AI] 데일리 테크뉴스, 주식, 부동산 올인원 Digest 서비스</title>
      <link>https://11001.tistory.com/282</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;01_cover.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfQq3n/dJMcahwLfvd/KxdIuB1zb0twW6Hh77sSSk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfQq3n/dJMcahwLfvd/KxdIuB1zb0twW6Hh77sSSk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfQq3n/dJMcahwLfvd/KxdIuB1zb0twW6Hh77sSSk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfQq3n%2FdJMcahwLfvd%2FKxdIuB1zb0twW6Hh77sSSk%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;1080&quot; height=&quot;1080&quot; data-filename=&quot;01_cover.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&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;b&gt; 기술 트랜드, 세상 돌아가는 것(주식, 부동산)&lt;/b&gt; 등을 따라가기 쉽지 않아서 이런 서비스를 하나 프로젝트 삼아 만들었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데일리로 데이터 수집하여 DB 업로드, 텔레그램 전송, sns 업로드하는 fastAPI 서버를 제 귀여운 맥 미니에서 구동하고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;a href=&quot;https://techpulse-api.vercel.app/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://techpulse-api.vercel.app/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1772205526469&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;TechPulse &amp;mdash; Daily Digest&quot; data-og-description=&quot;AI-curated daily digest: tech news, stocks, real estate, AI research, open source.&quot; data-og-host=&quot;techpulse-api.vercel.app&quot; data-og-source-url=&quot;https://techpulse-api.vercel.app/&quot; data-og-url=&quot;https://techpulse-api.vercel.app&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/GU4zE/dJMb87NTHxq/vmyznXRWRqsjLmr2LUnUC1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/SeCRl/dJMb87NTHxr/Hpo4LKeZIiE3DjWKNKSj2K/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://techpulse-api.vercel.app/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://techpulse-api.vercel.app/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/GU4zE/dJMb87NTHxq/vmyznXRWRqsjLmr2LUnUC1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/SeCRl/dJMb87NTHxr/Hpo4LKeZIiE3DjWKNKSj2K/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;TechPulse &amp;mdash; Daily Digest&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;AI-curated daily digest: tech news, stocks, real estate, AI research, open source.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;techpulse-api.vercel.app&lt;/p&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;이전에 맥북에서 구동하던걸 맥미니로 옮기면서 환경과 무관하게 동작하기 위해 Docker 로 띄웠구요..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sns 자동화도 해보고 싶어서 sns 로도 퍼나르고 있는데 솔직히 조회수도 지지부진하고 별 재미는 없습니다.&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;유튜브, sns 는 한 번 알고리즘이 형성되면 다른 세상은 볼 수가 없더군요.&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;/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;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;NO Cluade Code 리소스&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SNS 에 업로드할 때는 요약, 인사이트 추출 등의 추가 가공이 들어가기 때문에&lt;b&gt;&amp;nbsp;AI 리소스가 필요&lt;/b&gt;한데요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;흙수저라서.. 곧 Cluade Code 구독이 끝나기 때문에  &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;없이도 동작하기 위해 무료 LLM 리소스를 끌어와서 요약 및 인사이트 정리 하고 있습니다.&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;&lt;b&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;한 달에 &lt;/span&gt;Cluade Code 구독료 만큼이라도 벌 수 있으면 참 좋겠습니다 ㅠㅠ&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;맨날 즐기기만 하고 돈은 못버는 참 안타까운 ...&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-02-27 오후 10.41.37.png&quot; data-origin-width=&quot;1027&quot; data-origin-height=&quot;831&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cbuGxZ/dJMcadnxpVs/BlK5iuQA5Q1rsbTPjIlJRK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cbuGxZ/dJMcadnxpVs/BlK5iuQA5Q1rsbTPjIlJRK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cbuGxZ/dJMcadnxpVs/BlK5iuQA5Q1rsbTPjIlJRK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcbuGxZ%2FdJMcadnxpVs%2FBlK5iuQA5Q1rsbTPjIlJRK%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;1027&quot; height=&quot;831&quot; data-filename=&quot;스크린샷 2026-02-27 오후 10.41.37.png&quot; data-origin-width=&quot;1027&quot; data-origin-height=&quot;831&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;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;b&gt;데일리로 받아보고 싶은 정보들은 수집만 추가해서 이미 구축된 파이프라인에 태우기만 하면 됩니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 좀 더 디테일한 것들. 부동산으로 치면 급매 알리미, 경매 일정 안내 뭐 이런거 말이죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내 집에 관련된 소식, 데일리 채용 소식&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;얼마든지 무궁무진하게 붙일 수 있다는게 가장 큰 장점입니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 AI 리소스를 더 적극 활용한다면, 전체적인 시장 뷰를 통해서 얻을 수 있는 인사이트도 있겠죠?..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러다 보면.. 서비스가 더 커지고 안정적이게 될 거고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구독.. 구독을 언젠가 붙여야지.. 광고.. 광고...!! 돈..!!돈!!!&lt;/p&gt;</description>
      <category>프로젝트/프로젝트 기록</category>
      <category>AI</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/282</guid>
      <comments>https://11001.tistory.com/282#entry282comment</comments>
      <pubDate>Sat, 28 Feb 2026 00:27:39 +0900</pubDate>
    </item>
    <item>
      <title>[AI] AI Agent 결국엔 도구(Skill) 싸움이다.</title>
      <link>https://11001.tistory.com/281</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;도구 싸움&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최근 Claude Code 로 열심히 씨름하다가 깨달은 새로운 내용입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;AI Agent 가 반복되는 사이클 돌면서 도구를 호출해서 일 하는게 전부구나 (너 사실 단순하구나?)&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;도구(skill)을 잘 쥐어주는게 중요하다&lt;/b&gt;는 것을 깨달았습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내가 아무리 명령을 많이 내려도 좋은 결과물을 못 뽑아낸다면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;그건 내 탓아님. 도구 탓이다. &lt;/b&gt;그렇게 생각하세요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(옛날에 롤할때 원딜들이 서폿에게 하던 말 아닌가)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Skill 이 뭔데?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Skills는 Claude에게 &lt;b&gt;도메인별 전문 지식을 제공하는 재사용 가능한 파일시스템 기반 리소스&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;워크플로, 컨텍스트, 모범 사례를 통해 범용 에이전트를 전문가로 변환합니다. 프롬프트(일회성 작업을 위한 대화 수준의 지침)와 달리, &lt;b&gt;Skills는 필요에 따라 로드되며 여러 대화에서 동일한 안내를 반복적으로 제공할 필요를 없앱니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1650&quot; data-origin-height=&quot;929&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5EskH/dJMcadHPMjK/q2MUCWT6kaUlJp8b7Q62v1/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5EskH/dJMcadHPMjK/q2MUCWT6kaUlJp8b7Q62v1/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5EskH/dJMcadHPMjK/q2MUCWT6kaUlJp8b7Q62v1/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5EskH%2FdJMcadHPMjK%2Fq2MUCWT6kaUlJp8b7Q62v1%2Fimg.webp&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;1650&quot; height=&quot;929&quot; data-origin-width=&quot;1650&quot; data-origin-height=&quot;929&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;h3 data-ke-size=&quot;size23&quot;&gt;Skill 예시&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클로드가 PDF 를 이해하는건 잘하는데 PDF 를 조작하는건 잘할까요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아무리 시켜봐도 만족스러운 결과가 안나올 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럴 때 필요한게 &lt;b&gt;PDF 스킬&lt;/b&gt;이죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;메타데이터&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;pdf/SKILL.md 파일을 만들고, 클로드가 스킬을 언제 사용해야하는지 알 수 있는 메타데이터를 작성합니다. (스킬의 이름과 설명)&lt;/p&gt;
&lt;div id=&quot;understanding-skill-metadata&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;skill_id : 고유 식별자 (예: &quot;xlsx&quot;, &quot;pptx&quot;)&lt;/li&gt;
&lt;li&gt;버전 : 버전 번호 또는 &quot;최신&quot;&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;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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데 본문 내용이 너무 길어진다면, 링크 파일을 두어서 찾아가게 합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1650&quot; data-origin-height=&quot;1069&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bO8sGe/dJMcabDi3ss/DWTGUsKxwmAMPwhkhU1XB1/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bO8sGe/dJMcabDi3ss/DWTGUsKxwmAMPwhkhU1XB1/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bO8sGe/dJMcabDi3ss/DWTGUsKxwmAMPwhkhU1XB1/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbO8sGe%2FdJMcabDi3ss%2FDWTGUsKxwmAMPwhkhU1XB1%2Fimg.webp&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;1650&quot; height=&quot;1069&quot; data-origin-width=&quot;1650&quot; data-origin-height=&quot;1069&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물론 이러한 지식, 정보 외에도 &lt;b&gt;실행 가능한 코드를 제공&lt;/b&gt;할 수도 있죠. &lt;br /&gt;&lt;b&gt;이 기능을 수행하기 위해 어떠한 위치의 파이썬 코드를 읽어&lt;/b&gt;라고 할 수도 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p 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;정리하자면 3단계 로딩 모델을 가짐&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;메타데이터&amp;nbsp;(이름:&amp;nbsp;64자,&amp;nbsp;설명:&amp;nbsp;1024자):&amp;nbsp;클로드는&amp;nbsp;스킬&amp;nbsp;이름과&amp;nbsp;설명을&amp;nbsp;봅니다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;전체&amp;nbsp;지침&amp;nbsp;(&amp;lt;5천&amp;nbsp;토큰):&amp;nbsp;스킬이&amp;nbsp;관련될&amp;nbsp;때&amp;nbsp;로드됨&amp;nbsp;&lt;/li&gt;
&lt;li&gt;연결된&amp;nbsp;파일&amp;nbsp;:&amp;nbsp;필요한&amp;nbsp;경우에만&amp;nbsp;추가&amp;nbsp;리소스가&amp;nbsp;로드됩니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 실제로 클로트 코드를 사용하면서&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반복될 수 있는 작업을 모두 파이썬 스크립트로 만들면서 진행했는데요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;이런 상황에서는 이 스크립트를 쓰세요&quot;&lt;/b&gt; 라고 매번 알려주지 않아도 스킬에 등록하면 알아서 클로드가 사용할 수 있겠죠? &lt;br /&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;xlsx,&lt;span&gt;&amp;nbsp;&lt;/span&gt;pptx,&lt;span&gt;&amp;nbsp;&lt;/span&gt;pdf,docx 등은 엔트로픽에서 관리하는 사전 구축된 스킬들입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1978&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kOQhw/dJMcagYTvRg/zR3KeDeqAkHCRcIFQGdNPK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kOQhw/dJMcagYTvRg/zR3KeDeqAkHCRcIFQGdNPK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kOQhw/dJMcagYTvRg/zR3KeDeqAkHCRcIFQGdNPK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkOQhw%2FdJMcagYTvRg%2FzR3KeDeqAkHCRcIFQGdNPK%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;1978&quot; height=&quot;1040&quot; data-origin-width=&quot;1978&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&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;Skill 찾기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Vercel 에서 만든 Skill 디렉토리를 참고해보세요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;쓸 만한 스킬 검색 -&amp;gt; 스킬 사용&lt;/p&gt;
&lt;figure id=&quot;og_1772203591825&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;The Agent Skills Directory&quot; data-og-description=&quot;Discover and install skills for AI agents.&quot; data-og-host=&quot;skills.sh&quot; data-og-source-url=&quot;https://skills.sh/&quot; data-og-url=&quot;https://skills.sh&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cVWV4d/dJMb86nUQ7N/kp2KEB0wkhOBKW92NzOwRK/img.jpg?width=2400&amp;amp;height=1256&amp;amp;face=0_0_2400_1256,https://scrap.kakaocdn.net/dn/d3mFkf/dJMb87f3J9C/JZqIqMbR00wNPhowWhunO0/img.jpg?width=2400&amp;amp;height=1256&amp;amp;face=0_0_2400_1256&quot;&gt;&lt;a href=&quot;https://skills.sh/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://skills.sh/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cVWV4d/dJMb86nUQ7N/kp2KEB0wkhOBKW92NzOwRK/img.jpg?width=2400&amp;amp;height=1256&amp;amp;face=0_0_2400_1256,https://scrap.kakaocdn.net/dn/d3mFkf/dJMb87f3J9C/JZqIqMbR00wNPhowWhunO0/img.jpg?width=2400&amp;amp;height=1256&amp;amp;face=0_0_2400_1256');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;The Agent Skills Directory&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Discover and install skills for AI agents.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;skills.sh&lt;/p&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;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;회사 내 프로젝트안에서 claude.md, skill.md 를 어떻게 구축하면&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;팀 내에서 공통화된 룰 아래에서 AI Agent 를 동작시키게 하고, skill 을 통한 개발 생산성을 끌어올릴까?&lt;/p&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;</description>
      <category>개발자 글 수집</category>
      <category>AI</category>
      <category>skills</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/281</guid>
      <comments>https://11001.tistory.com/281#entry281comment</comments>
      <pubDate>Sat, 28 Feb 2026 00:18:22 +0900</pubDate>
    </item>
    <item>
      <title>[AI] 세차장이 50m 떨어져 있다면 걸어갈까, 운전할까? (세차장 테스트)</title>
      <link>https://11001.tistory.com/280</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;559&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1ShYG/dJMcabXAZ32/3LZPJ9s1K32JwqVDcVyWMK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1ShYG/dJMcabXAZ32/3LZPJ9s1K32JwqVDcVyWMK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1ShYG/dJMcabXAZ32/3LZPJ9s1K32JwqVDcVyWMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1ShYG%2FdJMcabXAZ32%2F3LZPJ9s1K32JwqVDcVyWMK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;559&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;559&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;세차장이&amp;nbsp;50m&amp;nbsp;떨어져&amp;nbsp;있다면&amp;nbsp;걸어갈까,&amp;nbsp;운전할까?&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; 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;53개의 주요 AI 모델을 대상으로 테스트한 결과, 대부분이 기초적 추론에 실패했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정답은 &amp;lsquo;운전&amp;rsquo;&lt;/b&gt; &lt;b&gt;이지만 53개 중 42개 모델이 &amp;lsquo;걷기&amp;rsquo; 를 선택&lt;/b&gt; 했다고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Claude Opus 4.6, Gemini 3 시리즈, Grok-4 등 5개 모델만이 10회 반복 테스트에서도 100% 일관된 정답을 냈으며&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;GPT-5는 10회 중 7회만 정답을 맞혀, 평균 인간 정답률(71.5%) 과 유사한 수준으로 평가됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;실험은 AI의 일관된 추론 능력 부족과 문맥 기반 판단의 한계를 드러내며&lt;/b&gt;,&lt;b&gt; 이를 보완하기 위한 &amp;lsquo;컨텍스트 엔지니어링&amp;rsquo;이&amp;nbsp;중요하다&lt;/b&gt;는 인사이트를 얻을 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;b&gt;맥락 이해에 도움이 되는 정보를 추가로 제공&lt;/b&gt;하면 비싼 대형 모델 만큼의 수준을 낼 수 있으니&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;항상 꼭 비싼 모델을 고집할 필요는 없고&lt;b&gt; 저비용 모델로도 컨텍스트 엔지니어링을 통해 효율적으로 사용&lt;/b&gt;할 수 있다.&amp;nbsp;&lt;br /&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;결론은 AI 는&lt;b&gt; 컨텍스트가 전부다. 라고 봐도 무방합니다.&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;컨텍스트, 맥락 이해, 메모리&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;메모리가 너무너무 중요하고, 메모리 가격이 미친듯이 올라가고 삼전/하이닉스 신고가 찍는 이유가 여기서 바로 보여지죠?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어떤 문제 해결의 결과에 도달하기 까지의 모든 과정들이 히스토리화 되어서 그것을 기반으로 작업이 진행되어야만&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;맥락을 이해하고 &lt;b&gt;세차장 까지 50m 만 남았는데 차를 끌고가서 세차를 한다&amp;nbsp;&lt;/b&gt;라는 결과를 낼 수 있겠죠?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1772202825802&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;AI 모델 53종 대상 &amp;lsquo;세차장 테스트&amp;rsquo;: &amp;ldquo;세차장이 50m 떨어져 있다면 걸어갈까, 운전 | GeekNews&quot; data-og-description=&quot;53개의 주요 AI 모델을 대상으로 테스트한 결과, 대부분이 기초적 추론에 실패함정답은 &amp;lsquo;운전&amp;rsquo; 이지만 53개 중 42개 모델이 &amp;lsquo;걷기&amp;rsquo; 를 선택Claude Opus 4.6, Gemini 3 시리즈, Grok-4 등 5개 모델만이 10&quot; data-og-host=&quot;news.hada.io&quot; data-og-source-url=&quot;https://news.hada.io/topic?id=26975&amp;amp;utm_source=slack&amp;amp;utm_medium=bot&amp;amp;utm_campaign=TAS5LCQES&quot; data-og-url=&quot;https://news.hada.io/topic?id=26975&amp;amp;utm_campaign=TAS5LCQES&amp;amp;utm_medium=bot&amp;amp;utm_source=slack&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/h4ijq/dJMb9kT0hhg/2iJgvcWqlhUl9zE0W2quxk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/8c195/dJMb9jOkhec/QhvdPdmfjnkyD7hnJEAITk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://news.hada.io/topic?id=26975&amp;amp;utm_source=slack&amp;amp;utm_medium=bot&amp;amp;utm_campaign=TAS5LCQES&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://news.hada.io/topic?id=26975&amp;amp;utm_source=slack&amp;amp;utm_medium=bot&amp;amp;utm_campaign=TAS5LCQES&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/h4ijq/dJMb9kT0hhg/2iJgvcWqlhUl9zE0W2quxk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/8c195/dJMb9jOkhec/QhvdPdmfjnkyD7hnJEAITk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;AI 모델 53종 대상 &amp;lsquo;세차장 테스트&amp;rsquo;: &amp;ldquo;세차장이 50m 떨어져 있다면 걸어갈까, 운전 | GeekNews&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;53개의 주요 AI 모델을 대상으로 테스트한 결과, 대부분이 기초적 추론에 실패함정답은 &amp;lsquo;운전&amp;rsquo; 이지만 53개 중 42개 모델이 &amp;lsquo;걷기&amp;rsquo; 를 선택Claude Opus 4.6, Gemini 3 시리즈, Grok-4 등 5개 모델만이 10&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;news.hada.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발자 글 수집</category>
      <category>AI</category>
      <category>context</category>
      <category>세차장테스트</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/280</guid>
      <comments>https://11001.tistory.com/280#entry280comment</comments>
      <pubDate>Fri, 27 Feb 2026 23:44:06 +0900</pubDate>
    </item>
    <item>
      <title>[AI] IDE 안에서 클로드 코드 돌리지마라! 요즘 IDE 쓰는 흑우 없재? (with Ghostty)</title>
      <link>https://11001.tistory.com/279</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-02-20 오후 11.26.56.png&quot; data-origin-width=&quot;222&quot; data-origin-height=&quot;234&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ACBGc/dJMcahDuss0/YAHbb6lKN0ssCBuiZPnWJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ACBGc/dJMcahDuss0/YAHbb6lKN0ssCBuiZPnWJK/img.png&quot; data-alt=&quot;긔여운 클코&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ACBGc/dJMcahDuss0/YAHbb6lKN0ssCBuiZPnWJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FACBGc%2FdJMcahDuss0%2FYAHbb6lKN0ssCBuiZPnWJK%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;222&quot; height=&quot;234&quot; data-filename=&quot;스크린샷 2026-02-20 오후 11.26.56.png&quot; data-origin-width=&quot;222&quot; data-origin-height=&quot;234&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;긔여운 클코&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;커서 x 클로드 코드 = 대폭발 &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;사용 메모리가 289GB 까지 치솟다가&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;처음에는 아, 내가 AI Agent 를 동시에 너무 많이 돌려버렸나?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;그렇게 생각하고 동시에 수행되는 병렬 수를 줄였습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만, 이게 무슨 일인가요? 메모리 터짐 현상이 또 발생하고 또 발생하고 또 발생했습니다!!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 이후로 ide 안의 터미널에서는 클로드코드 안쓰게 되었습니다.&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;요즘 IDE 쓰는 흑우 없재?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요즘 누가 IDE 쓰냐 TUI 써야지.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;라고 하는 글을 많이 보면서 추천하는 터미널 앱 &lt;b&gt;Ghostty &lt;/b&gt;를 알게 되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ghostty&amp;nbsp;is&amp;nbsp;a&amp;nbsp;fast,&amp;nbsp;feature-rich,&amp;nbsp;and&amp;nbsp;cross-platform&amp;nbsp;terminal&amp;nbsp;emulator&amp;nbsp;that&amp;nbsp;uses&amp;nbsp;platform-native&amp;nbsp;UI&amp;nbsp;and&amp;nbsp;GPU&amp;nbsp;acceleration.&lt;/p&gt;
&lt;figure id=&quot;og_1772202218166&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Ghostty&quot; data-og-description=&quot;Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration.&quot; data-og-host=&quot;ghostty.org&quot; data-og-source-url=&quot;https://ghostty.org/&quot; data-og-url=&quot;https://ghostty.org&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/fXKJN/dJMb9efbgn5/KHiCKGLO44dbB0vpXeCL31/img.jpg?width=3200&amp;amp;height=1800&amp;amp;face=0_0_3200_1800,https://scrap.kakaocdn.net/dn/Si02F/dJMb9frCMab/S9AzA08iASBcrPFW3SAYq1/img.jpg?width=3200&amp;amp;height=1800&amp;amp;face=0_0_3200_1800&quot;&gt;&lt;a href=&quot;https://ghostty.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://ghostty.org/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/fXKJN/dJMb9efbgn5/KHiCKGLO44dbB0vpXeCL31/img.jpg?width=3200&amp;amp;height=1800&amp;amp;face=0_0_3200_1800,https://scrap.kakaocdn.net/dn/Si02F/dJMb9frCMab/S9AzA08iASBcrPFW3SAYq1/img.jpg?width=3200&amp;amp;height=1800&amp;amp;face=0_0_3200_1800');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Ghostty&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;ghostty.org&lt;/p&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;Ghostty 첫인상&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;일단 써봤을때 매우 빠르고 가볍다는 느낌.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 윈도우를 새로 안띄우고 텝을 바로 붙여서 왔다갔다 하기 너무 편합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이거 스면 IDE 내에서 클로드 쓰다가 막 스크롤 텔레포트하는 현상이 없어진다고 하던데&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아직까지는 못본거 같기도 하고.. 잘 모르겠습니다. (잘 되는듯?)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 유령이 귀엽다는 장점이 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-02-27 오후 11.25.29.png&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;620&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7YZBn/dJMcaiCovVT/s2gcr6JKnMjmjaqMWRVrmK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7YZBn/dJMcaiCovVT/s2gcr6JKnMjmjaqMWRVrmK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7YZBn/dJMcaiCovVT/s2gcr6JKnMjmjaqMWRVrmK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7YZBn%2FdJMcaiCovVT%2Fs2gcr6JKnMjmjaqMWRVrmK%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;801&quot; height=&quot;620&quot; data-filename=&quot;스크린샷 2026-02-27 오후 11.25.29.png&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;620&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발자 글 수집</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/279</guid>
      <comments>https://11001.tistory.com/279#entry279comment</comments>
      <pubDate>Fri, 27 Feb 2026 23:33:16 +0900</pubDate>
    </item>
    <item>
      <title>[AI] 오픈클로가 성공한 이유: LLM 시대에 누구나 앱을 만들 수 있게 되었기에 이제는 취향이 중요하다.</title>
      <link>https://11001.tistory.com/278</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-02-27 오후 11.16.53.png&quot; data-origin-width=&quot;648&quot; data-origin-height=&quot;247&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/siaiR/dJMcabi077F/Ai6MSBLLcUkBhsFuwkUKWK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/siaiR/dJMcabi077F/Ai6MSBLLcUkBhsFuwkUKWK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/siaiR/dJMcabi077F/Ai6MSBLLcUkBhsFuwkUKWK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsiaiR%2FdJMcabi077F%2FAi6MSBLLcUkBhsFuwkUKWK%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;648&quot; height=&quot;247&quot; data-filename=&quot;스크린샷 2026-02-27 오후 11.16.53.png&quot; data-origin-width=&quot;648&quot; data-origin-height=&quot;247&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;오픈클로 OpenClaw 왜 성공했을까&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;LLM&amp;nbsp;시대에&amp;nbsp;누구나&amp;nbsp;앱을&amp;nbsp;만들&amp;nbsp;수&amp;nbsp;있게&amp;nbsp;되었지만,&amp;nbsp;진짜&amp;nbsp;장벽은&amp;nbsp;실력이&amp;nbsp;아닌&amp;nbsp;취향(taste)&amp;nbsp;이며,&amp;nbsp;이&amp;nbsp;장벽은&amp;nbsp;전혀&amp;nbsp;낮아지지&amp;nbsp;않았음&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;b&gt;&quot;OpenClaw는&amp;nbsp;기술적으로&amp;nbsp;혼란스럽고&amp;nbsp;보안&amp;nbsp;문제도&amp;nbsp;있었지만,&amp;nbsp;강한&amp;nbsp;콘셉트와&amp;nbsp;취향&amp;nbsp;덕분에&amp;nbsp;즉각적인&amp;nbsp;관심을&amp;nbsp;얻음&lt;/b&gt;&lt;br /&gt;&lt;b&gt;사용자들은&amp;nbsp;완성도&amp;nbsp;부족을&amp;nbsp;감수하면서도&amp;nbsp;그&amp;nbsp;감각적&amp;nbsp;매력에&amp;nbsp;반응함&lt;/b&gt;&lt;br /&gt;&lt;b&gt;이는&amp;nbsp;기술적&amp;nbsp;완성도보다&amp;nbsp;취향이&amp;nbsp;더&amp;nbsp;강한&amp;nbsp;동력이&amp;nbsp;될&amp;nbsp;수&amp;nbsp;있음을&amp;nbsp;보여주는&amp;nbsp;사례&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최근 읽었던 글이 감명깊어서 글 수집했습니다.&lt;/p&gt;
&lt;figure id=&quot;og_1772200990177&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;실력 없음. 취향 없음. | GeekNews&quot; data-og-description=&quot;LLM 시대에 누구나 앱을 만들 수 있게 되었지만, 진짜 장벽은 실력이 아닌 취향(taste) 이며, 이 장벽은 전혀 낮아지지 않았음공개되는 바이브 코딩 앱 대부분이 포화된 아이디어의 조잡한 복제물&quot; data-og-host=&quot;news.hada.io&quot; data-og-source-url=&quot;https://news.hada.io/topic?id=26881&quot; data-og-url=&quot;https://news.hada.io/topic?id=26881&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/chXFxM/dJMb8950TLT/HzaLkYkRKZkX36KjE44Vsk/img.png?width=1200&amp;amp;height=630&amp;amp;face=112_421_162_477,https://scrap.kakaocdn.net/dn/er4Qwb/dJMb81fPVvj/4XrpklIVvxnmRfm30MzBjk/img.png?width=1200&amp;amp;height=630&amp;amp;face=112_421_162_477&quot;&gt;&lt;a href=&quot;https://news.hada.io/topic?id=26881&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://news.hada.io/topic?id=26881&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/chXFxM/dJMb8950TLT/HzaLkYkRKZkX36KjE44Vsk/img.png?width=1200&amp;amp;height=630&amp;amp;face=112_421_162_477,https://scrap.kakaocdn.net/dn/er4Qwb/dJMb81fPVvj/4XrpklIVvxnmRfm30MzBjk/img.png?width=1200&amp;amp;height=630&amp;amp;face=112_421_162_477');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;실력 없음. 취향 없음. | GeekNews&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;LLM 시대에 누구나 앱을 만들 수 있게 되었지만, 진짜 장벽은 실력이 아닌 취향(taste) 이며, 이 장벽은 전혀 낮아지지 않았음공개되는 바이브 코딩 앱 대부분이 포화된 아이디어의 조잡한 복제물&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;news.hada.io&lt;/p&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;b&gt;openclaw&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&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;p data-ke-size=&quot;size16&quot;&gt;저도 그래요..&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제가 지난 달에 이런걸 만들어서 출시를 해서 나름 열심히 유튜브, 쓰레드, 인스타 등으로 홍보 때리고 다녔지만 별 호응을 얻지 못했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두쫀쿠맵 나오자마자 써봤는데 너무 사용성이 별로여서.. 바로 카피해서 모바일 최적화 및 사용성 개선해서 출시했었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;(제 생각에) 사용성 및 최적화는 제가 더 좋게 개선했으나, 원본을 이길 수 없더군요&lt;/b&gt;.&lt;/p&gt;
&lt;figure id=&quot;og_1772201238932&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;두쫀쿠 월드 | Dubai Chocolate World Map&quot; data-og-description=&quot;전 세계의 두바이 초콜릿 맛집을 탐험하세요.&quot; data-og-host=&quot;dessert-map.vercel.app&quot; data-og-source-url=&quot;https://dessert-map.vercel.app/dubai&quot; data-og-url=&quot;https://dessert-map.vercel.app&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://dessert-map.vercel.app/dubai&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dessert-map.vercel.app/dubai&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;두쫀쿠 월드 | Dubai Chocolate World Map&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;전 세계의 두바이 초콜릿 맛집을 탐험하세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dessert-map.vercel.app&lt;/p&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;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;b&gt;좋은 아이디어를 카피하여 더 사용성이 좋고, 더 최적화된 형태의 경쟁 서비스를 출시하면? 사용자를 뺏어올 수 있지 않을까?&lt;/b&gt;&lt;br /&gt;그런 기대감이 있었으나 그렇지 못했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OpenClaw 를 따라하는 수 많은 제품이 쏟아져나와도 사람들은 &lt;b&gt;OpenClaw&lt;/b&gt; 만 기억할 겁니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제가 아무리 잘 만들어도 사람들은 두쫀쿠월드가 아니라 &lt;b&gt;두쫀쿠맵&amp;nbsp;&lt;/b&gt;만을 기억할 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조금은 불완전 하더라도&lt;b&gt; &quot;사람들의 취향, 지향점을 제대로 반영한 서비스/콘텐츠&quot; +&amp;nbsp;물들어올 때 노젓기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 두 가지 공식이면 어떤 것이든 성공하는구나 그렇게 좋은 인생 교훈을 얻었습니다.&lt;/p&gt;</description>
      <category>개발자 글 수집</category>
      <category>AI</category>
      <category>OpenClaw</category>
      <category>오픈클로</category>
      <category>인사이트</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/278</guid>
      <comments>https://11001.tistory.com/278#entry278comment</comments>
      <pubDate>Fri, 27 Feb 2026 23:17:06 +0900</pubDate>
    </item>
    <item>
      <title>[AI] 맥미니 Mac Mini M4 자랑, 무조건 빠르게 만드는게 중요한게 아니다</title>
      <link>https://11001.tistory.com/277</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-02-27 오후 10.36.51.png&quot; data-origin-width=&quot;1250&quot; data-origin-height=&quot;1528&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9AMuw/dJMcaaK9Cq6/UCCvlQKBMfVXTkK42Zg3O0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9AMuw/dJMcaaK9Cq6/UCCvlQKBMfVXTkK42Zg3O0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9AMuw/dJMcaaK9Cq6/UCCvlQKBMfVXTkK42Zg3O0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9AMuw%2FdJMcaaK9Cq6%2FUCCvlQKBMfVXTkK42Zg3O0%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;1250&quot; height=&quot;1528&quot; data-filename=&quot;스크린샷 2026-02-27 오후 10.36.51.png&quot; data-origin-width=&quot;1250&quot; data-origin-height=&quot;1528&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시대에 뒤쳐지지 않으려고 OpenClaw 를 사용 해보기 위해서 &lt;b&gt;깡통 맥미니&lt;/b&gt;를 구입했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미 Claude Code 도 거의 1년 뒤쳐졌는데 더 이상은 뒤쳐질 수 없습니다!&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;회사 맥북은 메모리 48GB 인데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리 귀여운 &lt;b&gt;맥미니는 16GB 라는 아주 귀여운 메모리&lt;/b&gt;를 가지고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 정도 메모리로는 에이전트를 병렬로 10개씩은 못 돌리겠네요.&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;b&gt;무조건 빠르게 만드는게 중요한게 아니라는 것이었습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무조건 병렬로 많이 왕왕 돌리면 더 효율적이고 생산적일 거라고 생각하여&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5개 정도 팀을 만들고 AI Agent 역할을 나눠서 병렬로 열 몇개씩 마구 돌려봤는데요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫 번째 문제는&lt;b&gt; 토큰이 미친 속도로 닳아 없어지고,&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 번째로는 &lt;b&gt;오류가 터졌을때 어디서 터졌는지 원인 파악을 할 수가 없고&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;세 번째로는 &lt;b&gt;단 기간에 분량만 많이 뽑았을 뿐 퀄리티가 그만큼 안나왔다는겁니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p 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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 식으로 단계별로 가지 않았고, 너희가 알아서 해봐라는 식으로 했던게 문제였습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;즉, AI 에게 모든 걸 맡기면 안되고, &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;반드시 부분 검증 및 확인을 하면서 아니면 되돌아가고 맞으면 이어가는 식으로 만들어야 했습니다!&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이건 하루 이틀만에 일주일 치 토큰을 순식간에 소진해버리고 깨달은 결과입니다.&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;개발자가 없어진다 X&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;(코딩하는)개발자는 없어진다 O&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;(AI 에게 명령하고 검토하고 책임지는) 개발자가 탄생 O&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;진짜 뉴스 공포 마케팅에 질릴대로 질렸습니다.&lt;/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;</description>
      <category>개발자 글 수집</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/277</guid>
      <comments>https://11001.tistory.com/277#entry277comment</comments>
      <pubDate>Fri, 27 Feb 2026 23:02:43 +0900</pubDate>
    </item>
    <item>
      <title>[AI] 오픈클로(OpenClaw) 사용 후기 (결론: 뉴스에서 호들갑 떨었다)</title>
      <link>https://11001.tistory.com/276</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-02-27 오후 10.25.33.png&quot; data-origin-width=&quot;719&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9SQje/dJMcajadnuC/hKIjd1cmwnVXOdMK6eUgRK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9SQje/dJMcajadnuC/hKIjd1cmwnVXOdMK6eUgRK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9SQje/dJMcajadnuC/hKIjd1cmwnVXOdMK6eUgRK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9SQje%2FdJMcajadnuC%2FhKIjd1cmwnVXOdMK6eUgRK%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;719&quot; height=&quot;370&quot; data-filename=&quot;스크린샷 2026-02-27 오후 10.25.33.png&quot; data-origin-width=&quot;719&quot; data-origin-height=&quot;370&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;h3 data-ke-size=&quot;size23&quot;&gt;첫인상 = 불안정하다&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;openclaw&amp;nbsp;&lt;/b&gt;에&amp;nbsp;저렴한&amp;nbsp;모델을&amp;nbsp;붙여서&amp;nbsp;써서&amp;nbsp;그런가&amp;nbsp;싶기도한데&amp;nbsp;&lt;br /&gt;일을&amp;nbsp;시키면&amp;nbsp;&lt;b&gt;너무&amp;nbsp;속도가&amp;nbsp;느리고&lt;/b&gt;,&lt;b&gt;&amp;nbsp;브라우저&amp;nbsp;연결이&amp;nbsp;계속&amp;nbsp;끊기는&amp;nbsp;등&amp;nbsp;불안정하다&lt;/b&gt;는게&amp;nbsp;첫인상이었습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래도 좀 더 비싼 모델을 붙이면 훨씬 똑똑하게 잘 해낼거라는 기대가 아직은 있습니다.&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 설치가.. 매끄럽지 않았고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시작 부터 선택지가 많아서 이거 뭔 비개발자들은 이해하고 쓸 수는 있는건가 싶었어요.&lt;/p&gt;
&lt;p 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;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;openclaw 는 단지 올인원 도구일지도? (대신 토큰 먹는 하마)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;클로드 코드&lt;/b&gt;를 사용하면서 통합 대시보드,로깅, 컴퓨터 제어, 채팅 연동, 브라우저 연동, 스킬 등 클로드코드 쓰면서 이런거 필요성을 느끼고 직접 만들어가며 쓰고 있었는데요.&lt;br /&gt;&lt;b&gt;openclaw&lt;/b&gt; 는 친절하게 처음부터 올인원으로 도구를 제공해주는 통합 솔루션이다 라는 느낌입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클로드 코드의 해비 유저가 몇 달동안 도구들을 쌓아오면 이렇게 되지 않을까 라는 모습이었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 개발자들은 내 입맛대로 커스텀 하는 걸 더 좋아하거든요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;애초에 openclaw 또한 클로드 코드로 구현한 것이기 때문에 개발자들은 클로드 코드로도 충분히 구현이 가능합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대시보드, 텔레그램 채팅, 웹 스크래핑, 웹 제어 등 이요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; 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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-02-18 오전 1.20.05.png&quot; data-origin-width=&quot;1591&quot; data-origin-height=&quot;565&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bODwMC/dJMcabwvShF/uQQZDDfFTH40DkLirGDZE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bODwMC/dJMcabwvShF/uQQZDDfFTH40DkLirGDZE0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bODwMC/dJMcabwvShF/uQQZDDfFTH40DkLirGDZE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbODwMC%2FdJMcabwvShF%2FuQQZDDfFTH40DkLirGDZE0%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;1591&quot; height=&quot;565&quot; data-filename=&quot;스크린샷 2026-02-18 오전 1.20.05.png&quot; data-origin-width=&quot;1591&quot; data-origin-height=&quot;565&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;데일리 스케줄에 따라 5-6종의 카테고리 별 데이터를 수집해서&amp;nbsp;&lt;/span&gt;&lt;b&gt;텔레그램/인스타/스레드&lt;/b&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;에 퍼나르고 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;주식/부동산/테크 뉴스/오픈 소스 등... 누워있어도 매일 내 입에다가 새로운 소식을 집어 넣어줬으면 좋겠다 라는 목적으로 만듬&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;&lt;b&gt;아래의 사이트에도 배포해두었으니 관심이 있으시면 데일리 뉴스 받아보세요.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://techpulse-api.vercel.app/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://techpulse-api.vercel.app/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1027&quot; data-origin-height=&quot;831&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CpWO6/dJMcac9Y2so/KOrku4CdGPkhI4J1UcBkkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CpWO6/dJMcac9Y2so/KOrku4CdGPkhI4J1UcBkkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CpWO6/dJMcac9Y2so/KOrku4CdGPkhI4J1UcBkkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCpWO6%2FdJMcac9Y2so%2FKOrku4CdGPkhI4J1UcBkkk%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;1027&quot; height=&quot;831&quot; data-origin-width=&quot;1027&quot; data-origin-height=&quot;831&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;486&quot; data-origin-height=&quot;915&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mSZBi/dJMcah4AouB/kPRefqpvHwwPo631PlCX4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mSZBi/dJMcah4AouB/kPRefqpvHwwPo631PlCX4k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mSZBi/dJMcah4AouB/kPRefqpvHwwPo631PlCX4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmSZBi%2FdJMcah4AouB%2FkPRefqpvHwwPo631PlCX4k%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;486&quot; height=&quot;915&quot; data-origin-width=&quot;486&quot; data-origin-height=&quot;915&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;474&quot; data-origin-height=&quot;898&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhrvYr/dJMcafTeFSa/4kVtxX04VnPVz42Bo9q9Bk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhrvYr/dJMcafTeFSa/4kVtxX04VnPVz42Bo9q9Bk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhrvYr/dJMcafTeFSa/4kVtxX04VnPVz42Bo9q9Bk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhrvYr%2FdJMcafTeFSa%2F4kVtxX04VnPVz42Bo9q9Bk%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;474&quot; height=&quot;898&quot; data-origin-width=&quot;474&quot; data-origin-height=&quot;898&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 저는 이와 같이 AI Agent 와 양방향 대화가 가능한 개인 AI 비서 까지도. 이미 모두 구현했었습니다..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제가 쓰기 좋은 형태로요. (제 Obsidian 개인 데이터를 기반으로 TODO 브리핑 및 가이드)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-02-27 오후 10.30.51.png&quot; data-origin-width=&quot;325&quot; data-origin-height=&quot;285&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nWaCt/dJMcaiCou0v/kAe8fKzqrThkEfNPJaUJS0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nWaCt/dJMcaiCou0v/kAe8fKzqrThkEfNPJaUJS0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nWaCt/dJMcaiCou0v/kAe8fKzqrThkEfNPJaUJS0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnWaCt%2FdJMcaiCou0v%2FkAe8fKzqrThkEfNPJaUJS0%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;325&quot; height=&quot;285&quot; data-filename=&quot;스크린샷 2026-02-27 오후 10.30.51.png&quot; data-origin-width=&quot;325&quot; data-origin-height=&quot;285&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 뭐랄까... 솔직히 openclaw 를 처음 설치하고 열어봤을때 안정성이 떨어져서 기대에 비해 좀 실망감이 컸고.&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;h3 data-ke-size=&quot;size23&quot;&gt;고점에 맥미니 산 흑우 왔는가?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;openclaw... 차마 회사 노트북에서 돌릴 수 없기에 &lt;b&gt;맥미니(Mac Mini M4) 샀는데 고점에 물린 느낌입니다.  &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이건 마치 제가 사면 떨어지는 주식 매직과 유사하네요.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 맥미니는 이제 데일리 작업을 가동하고 온갖 AI 테스트 실험에 사용될 희생양입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;죽어도 다시 살려서 다시 사용해드릴 예정입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1250&quot; data-origin-height=&quot;1528&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/k2PPI/dJMcac3faHx/FKVfpZxsSNXjl2xF5kKCl1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/k2PPI/dJMcac3faHx/FKVfpZxsSNXjl2xF5kKCl1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/k2PPI/dJMcac3faHx/FKVfpZxsSNXjl2xF5kKCl1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fk2PPI%2FdJMcac3faHx%2FFKVfpZxsSNXjl2xF5kKCl1%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;1250&quot; height=&quot;1528&quot; data-origin-width=&quot;1250&quot; data-origin-height=&quot;1528&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1236&quot; data-origin-height=&quot;1332&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5Y2CT/dJMcaih6O37/rfUk2llvngi7axoFVyf9tK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5Y2CT/dJMcaih6O37/rfUk2llvngi7axoFVyf9tK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5Y2CT/dJMcaih6O37/rfUk2llvngi7axoFVyf9tK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5Y2CT%2FdJMcaih6O37%2FrfUk2llvngi7axoFVyf9tK%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;1236&quot; height=&quot;1332&quot; data-origin-width=&quot;1236&quot; data-origin-height=&quot;1332&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발자 글 수집</category>
      <category>AI</category>
      <category>claudecode</category>
      <category>Macmini</category>
      <category>OpenClaw</category>
      <category>맥미니</category>
      <category>오픈클로</category>
      <category>클로드</category>
      <category>클로드코드</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/276</guid>
      <comments>https://11001.tistory.com/276#entry276comment</comments>
      <pubDate>Fri, 27 Feb 2026 22:47:02 +0900</pubDate>
    </item>
    <item>
      <title>[AI] 코드 공장 시대와 미래 SRE #AI #인프라</title>
      <link>https://11001.tistory.com/275</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;559&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kYLI2/dJMcabXAYFR/Al4kkwt0wvT7KW29hasRPK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kYLI2/dJMcabXAYFR/Al4kkwt0wvT7KW29hasRPK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kYLI2/dJMcabXAYFR/Al4kkwt0wvT7KW29hasRPK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkYLI2%2FdJMcabXAYFR%2FAl4kkwt0wvT7KW29hasRPK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;559&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;559&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;AI vs (인간+AI)&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;'AI가 인간보다 더 빠르고 정확하게 소프트웨어를 만든다가 충족되는 날'이 아니라&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;'AI가 인간 없이도 인간이 AI를 활용한 것보다 더 빠르고 정확하게 소프트웨어를 만든다&amp;rsquo;&lt;/b&gt;가 충족되는 날일 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 인간이 패배하기까지는 아직은 조금 더 시간이 있어보입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;왜냐하면 더 강력한 AI가 나올수록 인간 역시도 그 강력한 AI를 등에 업고 경쟁&lt;/b&gt;할 것이기 때문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근본적으로는 지금까지 인간이 차지하는 비중이 아주 컸던 소프트웨어 엔지니어링이라는 분야가 해체되고 재조립되는 과정이 이루어질 것입니다. git+PR 중심의 워크플로는&lt;b&gt; 인간에게 맞춰진 워크플로일뿐 AI에게 필요 없을 수 있습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인간 엔지니어는, AI들이 스스로 하지 못하는 더 큰 규모의 결정을 하는 역할을 해야 한다고 생각합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 코드는 AI가 쓰다보니 기능의 구현은 전례 없이 빨라지고 있습니다. 그리고 그럴수록&lt;b&gt; 운영 부담은 커집니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제는 모두가 소프트웨어를 만들 수 있게 되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;하지만 소프트웨어를 실제로 서비스로 운영하는 SRE와 DevOps는 아직 상대적으로 쉽게 자동화 되지 않고 있습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미 수백개의 마이크로서비스를 복잡하게 운영중인 조직의 AWS 계정에, 어떤 EC2 하나를 생성해 놓고 거기에 충분한 권한과 함께 가장 똑똑한 LLM 에이전트를 적절한 프롬프트로 심어 놓으면 이 &lt;b&gt;에이전트가 알아서 인프라를 읽고 최적화와 모니터링과 장애처리&lt;/b&gt;까지 모두 알아서 하면 얼마나 좋을까요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;서비스의 자율운영&quot; &lt;/b&gt;을 만들어내는 회사 keeban 의 글에서 퍼온 글 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://article.keeban.io/manifesto&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://article.keeban.io/manifesto&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;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발자 글 수집</category>
      <category>AI</category>
      <category>DevOps</category>
      <category>SRE</category>
      <category>인프라</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/275</guid>
      <comments>https://11001.tistory.com/275#entry275comment</comments>
      <pubDate>Fri, 27 Feb 2026 22:22:22 +0900</pubDate>
    </item>
    <item>
      <title>2025 AWS re:Invent CTO 베르너 보겔스 박사의 마지막 키노트</title>
      <link>https://11001.tistory.com/274</link>
      <description>&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;AWS.jpeg&quot; data-origin-width=&quot;318&quot; data-origin-height=&quot;159&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bn814U/dJMcacaEXm8/4E8F0KNrRcyD282uHnMMfK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bn814U/dJMcacaEXm8/4E8F0KNrRcyD282uHnMMfK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bn814U/dJMcacaEXm8/4E8F0KNrRcyD282uHnMMfK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbn814U%2FdJMcacaEXm8%2F4E8F0KNrRcyD282uHnMMfK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;446&quot; height=&quot;223&quot; data-filename=&quot;AWS.jpeg&quot; data-origin-width=&quot;318&quot; data-origin-height=&quot;159&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;얼마 전 미국 라스베이거스에서 &lt;b&gt;2025 AWS re:Invent&lt;/b&gt; 행사를 했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저 멀리 서울 방구석에서 딸깍 하면 행사 요약본을 읽어볼 수 있는 있는 세상이네요~&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물론 제가 가봤자 반절도 알아듣지 못했을테지만 &lt;span style=&quot;text-align: start;&quot;&gt;회사의 지원을 통해 행사 현장에 다녀온 동료가 참 부럽긴했습니다.&amp;nbsp;ㅎㅎ&lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&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;여러 세션 중에서도 가장 인상 깊고 개발자가 아닌 사람들도 읽으면 좋을 내용을 가져왔습니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;AWS reInvent 2025&amp;nbsp;&amp;nbsp;Special Closing Keynote with Dr. Werner Vogels&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;이제 코드 몰라도 AI가 다 짜주는데, 개발자 끝난 거 아냐?&quot;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;혹은&amp;nbsp;&quot;프롬프트만&amp;nbsp;잘&amp;nbsp;치면&amp;nbsp;되는&amp;nbsp;'바이브&amp;nbsp;코딩'의&amp;nbsp;시대가&amp;nbsp;왔다&quot;는&amp;nbsp;말들이&amp;nbsp;들립니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;바이브 코딩(Vibe Coding) &lt;/b&gt;은 위험한 스캠이자 도박에 가깝습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS의 CTO 베르너 보겔스 박사가 그의 마지막 키노트에서 강조한 '르네상스 개발자'의 자질을 빌려, 우리가 왜 AI를 단순 복사-붙여넣기 도구가 아닌, 철저히 통제해야 하는지 이야기해보려 합니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;본론 1: 바이브 코딩이 위험한 이유&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;베르너&amp;nbsp;보겔스는&amp;nbsp;AI가&amp;nbsp;코드를&amp;nbsp;생성하는&amp;nbsp;속도가&amp;nbsp;우리가&amp;nbsp;그것을&amp;nbsp;이해하는&amp;nbsp;속도보다&amp;nbsp;훨씬&amp;nbsp;빠르다는&amp;nbsp;점을&amp;nbsp;경고합니다.&amp;nbsp;&lt;br /&gt;여기서&amp;nbsp;두&amp;nbsp;가지&amp;nbsp;치명적인&amp;nbsp;문제가&amp;nbsp;발생하죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;첫째, 환각(Hallucination) 현상입니다. &lt;/b&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;AI는 존재하지 않는 속성을 만들거나 시스템의 기존 패턴을 무시하는 그럴듯한 거짓말을 합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;둘째, 검증의 부재입니다.&lt;/b&gt; AI가 짠 코드가 규제 요구 사항을 위반하거나 보안 허점을 만들어도, 규제 기관에 &lt;b&gt;&quot;AI가 그랬어요&quot;&lt;/b&gt;라고 변명할 수 없습니다. 책임은 오로지 개발자 본인에게 있기 때문입니다.&lt;br /&gt;&lt;br /&gt;단순히&amp;nbsp;똑똑한&amp;nbsp;AI&amp;nbsp;가&amp;nbsp;만들어줬으니&amp;nbsp;잘&amp;nbsp;돌아가겠지&quot;라고&amp;nbsp;믿고&amp;nbsp;레버를&amp;nbsp;당기는&amp;nbsp;것은&amp;nbsp;엔지니어링이&amp;nbsp;아닙니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;본론&amp;nbsp;2:&amp;nbsp;AI&amp;nbsp;시대의&amp;nbsp;새로운&amp;nbsp;자질,&amp;nbsp;'르네상스&amp;nbsp;개발자'&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇다면 우리는 어떻게 변해야 할까요? 보겔스 박사는 과거 암흑기 이후 호기심으로 모든 것이 변했던 르네상스 시대처럼, 우리 개발자들도 다섯 가지 자질을 갖춘 &lt;b&gt;'르네상스 개발자'&lt;/b&gt;로 진화해야 한다고 말합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;b&gt;르네상스&lt;/b&gt;는 프랑스어로 '&lt;b&gt;재생' 또는 '부활'&lt;/b&gt;을 뜻하며, 14세기부터 16세기 이탈리아 피렌체를 중심으로 시작되어 유럽 전역으로 퍼져나간 고대 그리스&amp;middot;로마 문화의 부흥 운동입니다. &lt;br /&gt;&lt;br /&gt;중세의 신 중심 세계관에서 벗어나 인간의 가치와 개성, 자연의 아름다움과 이성을 중시하는 인문주의를 바탕으로 문학, 예술, 과학 등 모든 분야에서 혁신적인 성과를 이뤄내며 근대 유럽의 토대를 마련했습니다.&lt;br /&gt;&lt;br /&gt;레오나르도 다빈치, 미켈란젤로, 라파엘로 같은 거장들이 활동했고, 원근법과 인체 비례 등 과학적 기법이 발달했으며, 종교개혁과 근대 과학의 발달에도 영향을 주었습니다.&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;다섯 가지 자질&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;호기심 (Curiosity): 단순히 AI가 준 코드를 쓰는 게 아니라, 왜 이렇게 짜여졌는지 분해하고 작동 방식을 이해하려는 본능이 필요합니다.&lt;/li&gt;
&lt;li&gt;시스템적 사고 (Systems Thinking): API 하나, 큐 하나를 바꿨을 때 트래픽과 팀 소유권 등 전체 시스템에 어떤 영향을 주는지 큰 그림을 봐야 합니다.&lt;/li&gt;
&lt;li&gt;정밀한 소통 (Communication with Precision): AI와 대화할 때 자연어를 쓰더라도 모호함을 줄여야 합니다. 그래서 우리는 '명세 주도 개발(Spec-driven development)'을 배워야 하죠.&lt;/li&gt;
&lt;li&gt;책임감 있는 소유권 (Ownership): &quot;만든 사람이 소유한다(You build it, you own it)&quot;는 정신입니다. AI 시대일수록 인간 대 인간의 코드 리뷰를 늘려 품질을 검증하는 메커니즘을 갖춰야 합니다.&lt;/li&gt;
&lt;li&gt;폴리매스 (Polymath): 한 분야의 전문가를 넘어, 프론트엔드부터 인프라, 비즈니스까지 폭넓은 'T자형 지식'을 갖춰야 AI가 준 결과물의 가치를 제대로 판단할 수 있습니다.&lt;/li&gt;
&lt;/ol&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는&amp;nbsp;우리의&amp;nbsp;일자리를&amp;nbsp;뺏는&amp;nbsp;것이&amp;nbsp;아니라,&amp;nbsp;우리가&amp;nbsp;하는&amp;nbsp;일을&amp;nbsp;변화시킬&amp;nbsp;것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;도구는&amp;nbsp;계속&amp;nbsp;변하겠지만,&amp;nbsp;우리는&amp;nbsp;여전히&amp;nbsp;무언가를&amp;nbsp;만드는&amp;nbsp;&lt;b&gt;'빌더(Builder)'&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;호기심&lt;/b&gt;&lt;/h4&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;p data-ke-size=&quot;size16&quot;&gt;과거에 저는 코드를 통해 뭔가를 창조한다는 행위 자체에만 관심과 호기심이 있었는데요. &lt;br /&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;&lt;b&gt;시스템적 사고&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금 회사에서는 일하면서 &lt;b&gt;시스템적 사고&lt;/b&gt;에 대해 배우고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스타트업 시절엔 서비스를 빠르게 출시하여 검증해야하지만, 큰 기업에서 이미 견고하게 구축된 시스템을 유지보수하는 일은 참 성격이 다릅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 지금은 훨씬 큰 기업에서 내가 무언가 사소한것 하나라도 바꾸었을때 전체에 미치는 영향이 있을 수 있고 그 바운더리를 파악하고 영향을 좁히는 연습을 하고 있습니다. 코드 한 줄을 바꾸더라도 이유가 명확히 있어야 하고, 영향을 파악해야하는 것에서 스트레스가 있긴 합니다. 때로는 스타트업 시절이 그립기도 하지만 이렇게 큰 시스템을 건드리는것 또한 값진 경험이라 생각하고 있습니다.&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;&lt;b&gt;정밀한 소통&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;코딩을 하면서 매일매일 느낍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;과거에도 시키는걸, 부리는걸 잘해야한다는 말이 있잖아요. 결국 이건&lt;b&gt; 기획적인 능력&lt;/b&gt;을 의미합니다. &lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;내가 뭘 만들어야하는지 명확하게 정리해서 전달해야하는 능력이 필요하다는 것입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;책임감 있는 소유권&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;책임감 있는 소유권&lt;/b&gt;은 AI 한테 맡긴 일을 review 없이 무지성 approve 해버린 후 엉망이된 코드를 보고 많이 참 많이 느낍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;확인도 없이 그대로 갖다 쓰는 행위를 해서는 안됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결국&lt;b&gt; &quot;판단의 영역은 사람이 해야한다.&quot; &lt;/b&gt;라는 것과 이어집니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;폴리매스&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막 &lt;b&gt;폴리매스&lt;/b&gt;가 바로 Multi Role... 다재다능한 사람을 의미합니다. 앞으로 모든 개발자가 추구해야하는 방향입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프론트만 할 줄 알았더라면 이제는 백엔드도 할 줄 알아야하고, 인프라 지식도 갖춰야하고 AI 도 공부해야할 것입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;방금도 말했듯이 판단의 영역은 사람의 몫이기 때문에 &lt;b&gt;인간 자체가 뛰어나야 시키는 것도 잘하고, 결과물에 대한 판단도 잘한다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하나 하기도 힘든데 다 잘하는 사람을 원한다니.. 이런 세상에서 제가 신입이었다면 아마 숨막혀 죽어버릴 거 같긴하네요.&lt;/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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;돈 주고 얻기 힘든 경험적인 스킬들을 한번 알려주는 강의.. 할 수 있을지 모르겠는데 한번 준비해보려고 합니다.&lt;/p&gt;</description>
      <category>개발자 이야기</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/274</guid>
      <comments>https://11001.tistory.com/274#entry274comment</comments>
      <pubDate>Sat, 27 Dec 2025 17:12:03 +0900</pubDate>
    </item>
    <item>
      <title>25년도 프론트엔드 개발자 이직 이야기</title>
      <link>https://11001.tistory.com/273</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Full 3년을 채우고 4년차로 넘어가는 시점에 운이 좋게 이직을 성공하게 되었습니다.&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;갑자기 찾아온 25년도 빙하기&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;270&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IGT1I/btsOKBkJztk/64ma3Hzp3sFo00XMNZfRy0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IGT1I/btsOKBkJztk/64ma3Hzp3sFo00XMNZfRy0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IGT1I/btsOKBkJztk/64ma3Hzp3sFo00XMNZfRy0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIGT1I%2FbtsOKBkJztk%2F64ma3Hzp3sFo00XMNZfRy0%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;400&quot; height=&quot;270&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;270&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;25년도는 지금껏 겪어보지 못했던 빙하기였습니다.&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 코로나때 경제가 박살났는데 그걸 돈풀어서 억지로 살려놓은게 맞았던거 같습니다. 실감 났습니다.&lt;/p&gt;
&lt;p 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 alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;362&quot; data-origin-height=&quot;318&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KU3jG/btsOLPI0Rkv/R0DHRyzA9CeX8z2DVi70E0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KU3jG/btsOLPI0Rkv/R0DHRyzA9CeX8z2DVi70E0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KU3jG/btsOLPI0Rkv/R0DHRyzA9CeX8z2DVi70E0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKU3jG%2FbtsOLPI0Rkv%2FR0DHRyzA9CeX8z2DVi70E0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;362&quot; height=&quot;318&quot; data-origin-width=&quot;362&quot; data-origin-height=&quot;318&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제가 다니던 회사도 올해 초 부터 &lt;b&gt;최고의 복지였던&lt;/b&gt; &lt;b&gt;재택 근무가 없어졌습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 정말 오랜 기간 함께 일해온&lt;b&gt; 동료들의 퇴사 소식&lt;/b&gt;.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;갑자기 사무실 리모델링을 하고 마구 늘어나는 신규 입사자들&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;...받아들이기 힘들 정도로 단기간에&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&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;저는 회사 사람들이 좋았고, 자유롭게 개발할 수 있는 환경이 참 좋았었는데요... &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 이 환경이 그렇게 오래가지 못할 거라고 판단이 들면서 이직 생각을 시작하게 되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 25년 3월이면 경력 3년을 다 채운 시점이었기 때문에&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;제 개발자 인생의 기로점이란 생각이 들었습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ccoIHq/btsOMFZS9q5/Nckb6LJJ8a64BmT12sFuck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ccoIHq/btsOMFZS9q5/Nckb6LJJ8a64BmT12sFuck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ccoIHq/btsOMFZS9q5/Nckb6LJJ8a64BmT12sFuck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FccoIHq%2FbtsOMFZS9q5%2FNckb6LJJ8a64BmT12sFuck%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;276&quot; height=&quot;276&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;400&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;다음 회사를 간다면...&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시니어 개발자로 나아가기 위해서 꼭 필요한 &lt;b&gt;대규모 트래픽 환경&lt;/b&gt;을 겪어본 경험이 이제는 필요하지 않을까 생각이 들었고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 회사는&lt;b&gt; 경제 박살나도 버틸 수 있는 안정적인 회사 + 대규모 트래픽을 겪을 수 있는 회사&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 회사를 선택하기로 결심했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지난 3년 동안 했던 수 많은 작업들을 모두 정리하고 복기하고, 오래된 포트폴리오와 이력서 뜯어 고치는 것 부터 시작했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에는 요즘 채용 시장이 어떤지 탐색이나 해볼까 하는 마음으로 시작했는데요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;서류... 생각보다 잘 안되더군요?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;도대체 무슨 기준인지 모를 정도로 결과가 난해했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;와 뭐야 이런 회사가 이렇게 쉽게 뽑아준다고? &lt;/b&gt;싶은 곳도 있고요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;우와 이 회사는 무슨 배짱으로 서류 탈락시킨거지? &lt;/b&gt;싶은 곳도 있었습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;250&quot; data-origin-height=&quot;201&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhwhe4/btsOMVn4EyG/KgjQuR0PSBykeXheduCK30/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhwhe4/btsOMVn4EyG/KgjQuR0PSBykeXheduCK30/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhwhe4/btsOMVn4EyG/KgjQuR0PSBykeXheduCK30/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbhwhe4%2FbtsOMVn4EyG%2FKgjQuR0PSBykeXheduCK30%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;250&quot; height=&quot;201&quot; data-origin-width=&quot;250&quot; data-origin-height=&quot;201&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나름의 기준이 있겠지만 &lt;b&gt;솔직히 이력서는 검토하는 사람 마음&lt;/b&gt;인지라...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그냥 그날의 기분? 주로 사용해온 기술? 본인의 개발 경험? 등 주관적인 생각이 많이 개입되는거 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전통적인 대기업이라면 학벌도 보겠죠.&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;b&gt;이제는 아무나 채용할 수 없다!&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제가 느끼기로는 딱 이겁니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제는 여유가 없기 때문에 아무나 대규로모 막 채용할 수 없는 상황이 되었기 때문에&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;내맘에 쏙 드는 뭐든 다 잘하는 사람&quot;이 필요합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 채용 시장을 보면 요즘의 부동산 시장이 이해가 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;진짜 내맘에 쏙 드는 위치,학군,교통,사업성 모든걸 다 만족하는 너무 좋은 똘똘한 아파트&quot; 이걸 사고 싶은거에요!!!&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;어쨌든 사람은 늘 필요하고 뽑힐 사람은 뽑힌다.&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;236&quot; data-origin-height=&quot;236&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tljne/btsOLCXnTRQ/0HeFicxIklZd7H5evLIA4k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tljne/btsOLCXnTRQ/0HeFicxIklZd7H5evLIA4k/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tljne/btsOLCXnTRQ/0HeFicxIklZd7H5evLIA4k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ftljne%2FbtsOLCXnTRQ%2F0HeFicxIklZd7H5evLIA4k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;236&quot; height=&quot;236&quot; data-origin-width=&quot;236&quot; data-origin-height=&quot;236&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;저는 진짜 천운이 닿았습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금 이직한 팀에 여러 명의 신규 채용을 계획중이었는데 제가 1호로 빠르게 들어왔으니까요. 정말 운이 좋았습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1년 바라보고 이직 준비하자 생각했는데 너무 빠르게 되어서 어버버...하면서 4월달에 바로 옮기게 되었습니다.&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;b&gt;뽑혀서 와보니까 왜 뽑힌지 알거 같더군요.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 &lt;b&gt;도메인으로 개발해본 경험&lt;/b&gt;이 있고, 팀에서 사용하는 &lt;b&gt;기술&lt;/b&gt;도 거의 다 써봤고, 더 최신 트렌드 기술도 다뤄봤고,&lt;b&gt; 기술 부채 해결&lt;/b&gt; 및 팀 내 &lt;b&gt;개발환경 개선&lt;/b&gt; 등 여러가지 시도를 많이 해봤던 점...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 핵심은&lt;b&gt; 하나의 서비스를 맡아서 설계 단계부터 운영 서비스 배포까지 모두 해봤던 경험&lt;/b&gt;을 좋게 봐주신게 아닐까 싶습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제가 들어와서 봐도 이걸 다 해봤거나 할 줄 아는, 해줄 수 있는 사람이 필요해보여요.&lt;/p&gt;
&lt;p 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;b&gt;수습 기간&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입사 후 3개월 수습 기간이 있는데, 수습 기간동안 잘 적응할 수 있게 많이 도와주는 분위기였습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;업무에 바로 투입되는게 아니라 &lt;b&gt;단발성 과제&lt;/b&gt;를 진행했고, 과제에 대해 발표를 하고 평가를 받는 시간도 가졌습니다.&lt;br /&gt;근데 제가 &lt;b&gt;평가&lt;/b&gt;에 꽤나 민감해서 그런지 지난 4월, 5월, 6월이 참 &lt;b&gt;불편한 감정과 좋은 감정&lt;/b&gt;이 뒤섞여서 혼란스러웠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;혹시.. 이것도 날 시험하는게 아닐까? 그런 망상이었죠 ㅋㅋㅋ&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금은 수습이 끝나서 그런가 꽤 마음이 편해졌고, 회사 사람들도과도 좀 더 가까워졌다는 생각이 듭니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;근데 일단 모르겠고 복지 최고..! 만만세 ㅠㅠ 충성충성&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이전 회사에서 현금성 복지가 없는게 아쉬웠는데 새 회사의 복지는 &lt;b&gt;대만족&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;840&quot; data-origin-height=&quot;488&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oxVGQ/btsOM2HkTXd/JjON5pSqM1OBpUdUKONSe0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oxVGQ/btsOM2HkTXd/JjON5pSqM1OBpUdUKONSe0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oxVGQ/btsOM2HkTXd/JjON5pSqM1OBpUdUKONSe0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoxVGQ%2FbtsOM2HkTXd%2FJjON5pSqM1OBpUdUKONSe0%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;258&quot; height=&quot;488&quot; data-origin-width=&quot;840&quot; data-origin-height=&quot;488&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;388&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b2GqDH/btsOLFmenhY/CdB8UGekoSUIKYOgdtwOe1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b2GqDH/btsOLFmenhY/CdB8UGekoSUIKYOgdtwOe1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b2GqDH/btsOLFmenhY/CdB8UGekoSUIKYOgdtwOe1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2GqDH%2FbtsOLFmenhY%2FCdB8UGekoSUIKYOgdtwOe1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;268&quot; height=&quot;260&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;388&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;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;앞으로의 계획&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;수습 끝날때 미팅을 하는데 그때도 사실 명확히 내가 이걸 해보겠다고 말씀드리진 못했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제가 많은 것들을 다함께 고려해서 결론을 내는 성향이라&amp;nbsp; 보통 &lt;b&gt;&quot;뭘 하고 싶으신가요?&quot;&lt;/b&gt;&amp;nbsp; 물어보시면 뭐라고 대답해야할지 늘 난감합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;내가 뭘 하면 좋을까? &lt;/b&gt;계속 생각을 하다보니 사소한 거라도 하나 씩 둘 떠오르면서 좀 가닥이 잡히는거 같긴합니다..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최근에는 제 나름대로 하면 좋을거 같은걸 찾았고, 열심히 준비해서&lt;b&gt; 회사에서 성과를 내보려고 합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 과거에 만들던 &lt;b&gt;개인 프로젝트&lt;/b&gt;를 다시 진행하고 있어요.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저번에 Next.js 15버전으로 올려서 RSC 도입까지 해둔 상태에서 좀 방치해두었는데 최근에 결제시스템 붙이는 것 부터 다시 하고 있습니다. TossPayments 결제모듈 연동을 진행 중입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 firebase 말고 요즘 supabase 가 하도 핫하다고해서 supabase&amp;nbsp;마이그레이션을&amp;nbsp;해보면서&amp;nbsp;공부&amp;nbsp;중입니다.&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;멈출 수 없는 기차에 타버렸다.&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RaI8B/btsOMeuUeHJ/89NNnKera6NAo6NciOXFIk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RaI8B/btsOMeuUeHJ/89NNnKera6NAo6NciOXFIk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RaI8B/btsOMeuUeHJ/89NNnKera6NAo6NciOXFIk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRaI8B%2FbtsOMeuUeHJ%2F89NNnKera6NAo6NciOXFIk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;437&quot; height=&quot;720&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요즘 상황과 제 마음이 딱 이거인거 같습니다. &lt;b&gt;&quot;멈출수 없다.&quot;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이 중에 무엇 하나 멈출 수 없이 계속 굴러가야만 되는 상황이 되어버린거 같습니다.&lt;/b&gt;&lt;/p&gt;
&lt;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 data-ke-size=&quot;size16&quot;&gt;열심히 하면 어떻게든 되겠죠 호호..&lt;/p&gt;</description>
      <category>개발자 이야기</category>
      <category>25년도채용시장</category>
      <category>개발자이직</category>
      <category>개발자이직회고</category>
      <category>개발자취업</category>
      <category>개발자취업시장</category>
      <category>채용시장</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/273</guid>
      <comments>https://11001.tistory.com/273#entry273comment</comments>
      <pubDate>Sun, 22 Jun 2025 00:56:24 +0900</pubDate>
    </item>
    <item>
      <title>맥북 아이폰 화면 미러링 방법 - AirPlay 사용하기 (iOS 18 Beta2, macOS Sequoia)</title>
      <link>https://11001.tistory.com/272</link>
      <description>&lt;h1&gt;맥북에서 아이폰 화면 미러링하는 방법&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;AirPlay 사용하기 (iOS 18 Beta2, macOS Sequoia)&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;새로운 AirPlay 기능&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;iOS 18 Beta2와 macOS Sequoia 부터 향상된 AirPlay 기능 제공&lt;/li&gt;
&lt;li&gt;기존 동일 Wi-Fi 네트워크 제약 없이 근거리에서 직접 연결 가능&lt;/li&gt;
&lt;li&gt;더 낮은 지연시간과 향상된 화질 제공&lt;/li&gt;
&lt;li&gt;블루투스를 통한 자동 기기 감지 지원&lt;/li&gt;
&lt;/ul&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;iPhone: iOS 18 Beta2 이상 설치&lt;/li&gt;
&lt;li&gt;MacBook: macOS Sequoia 이상 설치 (Beta 2 이상이었는데 15.1이 정식 출시됨)&lt;/li&gt;
&lt;li&gt;두 기기의 블루투스 활성화&lt;/li&gt;
&lt;/ul&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;p data-ke-size=&quot;size16&quot;&gt;Mac 에서 미러링 앱을 실행합니다. 그러면&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;1242&quot; data-origin-height=&quot;1588&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bxdS0I/btsKLsdA8Ub/zPAxnjUCPIibD90xFezB60/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bxdS0I/btsKLsdA8Ub/zPAxnjUCPIibD90xFezB60/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bxdS0I/btsKLsdA8Ub/zPAxnjUCPIibD90xFezB60/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbxdS0I%2FbtsKLsdA8Ub%2FzPAxnjUCPIibD90xFezB60%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1242&quot; height=&quot;1588&quot; data-origin-width=&quot;1242&quot; data-origin-height=&quot;1588&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;738&quot; data-origin-height=&quot;762&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cVEALV/btsKLlyM9Oq/vHV9EKuxuneu3mcpEYxZmk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cVEALV/btsKLlyM9Oq/vHV9EKuxuneu3mcpEYxZmk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cVEALV/btsKLlyM9Oq/vHV9EKuxuneu3mcpEYxZmk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcVEALV%2FbtsKLlyM9Oq%2FvHV9EKuxuneu3mcpEYxZmk%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;375&quot; height=&quot;387&quot; data-origin-width=&quot;738&quot; data-origin-height=&quot;762&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1276&quot; data-origin-height=&quot;1308&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ttHZU/btsKNqFj0K7/KK9LVVw7lNcuDjXq4KHL0k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ttHZU/btsKNqFj0K7/KK9LVVw7lNcuDjXq4KHL0k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ttHZU/btsKNqFj0K7/KK9LVVw7lNcuDjXq4KHL0k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FttHZU%2FbtsKNqFj0K7%2FKK9LVVw7lNcuDjXq4KHL0k%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;375&quot; height=&quot;384&quot; data-origin-width=&quot;1276&quot; data-origin-height=&quot;1308&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;730&quot; data-origin-height=&quot;1422&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cpkYMI/btsKL86Y6VW/7vr1caHCXOkLiYXylVgRQ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cpkYMI/btsKL86Y6VW/7vr1caHCXOkLiYXylVgRQ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cpkYMI/btsKL86Y6VW/7vr1caHCXOkLiYXylVgRQ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcpkYMI%2FbtsKL86Y6VW%2F7vr1caHCXOkLiYXylVgRQ1%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;375&quot; height=&quot;730&quot; data-origin-width=&quot;730&quot; data-origin-height=&quot;1422&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&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;Wi-Fi 네트워크 연결 불필요&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;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;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;지원되는&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;iPhone 모델&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;iPhone X&lt;/span&gt;&lt;span&gt;R 이상&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;iPhone XS&lt;/span&gt;&lt;span&gt;/XS Max 이상&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;iPhone&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;11 시리즈 이상&lt;/span&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;지원되는&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Mac 모델&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;MacBook Air (&lt;/span&gt;&lt;span&gt;2018년 이상)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;MacBook Pro (2018년&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;이상)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;iMac (201&lt;/span&gt;&lt;span&gt;9년 이상)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;iMac Pro (&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;2017년)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Mac Pro (2019년&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt; 이상)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Mac mini (201&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;8년 이상)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Mac Studio (전&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;체 모델)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>오블완</category>
      <category>티스토리챌린지</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/272</guid>
      <comments>https://11001.tistory.com/272#entry272comment</comments>
      <pubDate>Sun, 17 Nov 2024 16:08:23 +0900</pubDate>
    </item>
    <item>
      <title>react-native - 애니메이션과 스레드 이해</title>
      <link>https://11001.tistory.com/271</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;React Native의 주요 스레드는 3가지입니다.&lt;/b&gt;&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;JS 스레드&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;React 앱이 있고, API 호출과 터치 이벤트가 일어나는 곳&lt;/li&gt;
&lt;li&gt;네이티브 지원 뷰에 대한 업데이트는 일괄 처리되어 프레임 마감일전에 이벤트 루프의 각 반복이 끝날 때 네이티브 코드에 전달됨&lt;/li&gt;
&lt;li&gt;너무 무거운 컴포넌트를 리렌더링 할 때 100ms 보다 오래걸리면 JS로 제어되는 애니메이션은 정지된 것 처럼 보일 수 있음&lt;/li&gt;
&lt;li&gt;보통 Navigator 전환 과정에서 발생함. 전환은 JS 스레드에 의해 제어되기 때문.&lt;/li&gt;
&lt;li&gt;JS 스레드가 바쁘면 네이티브 터치가 동작하지 않을 수 있음.&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; start=&quot;2&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;메인 스레드(네이티브 스레드)&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UI 렌더링 담당&lt;/li&gt;
&lt;li&gt;애니메이션 프레임이 실행되는 스레드&lt;/li&gt;
&lt;li&gt;기본적으로 모든 애니메이션은 메인 스레드에서 실행되는 거고, JS 스레드에서는 동적인 값을 통해 애니메이션을 제어할 때만 사용 됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; start=&quot;3&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;백그라운드 스레드&lt;/b&gt;&lt;/li&gt;
&lt;/ol&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;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;네비게이터 전환이 느린 경우&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;InteractionManager 사용하는 것은 좋은 접근방법이 될 수 있지만, 애니메이션 중에 작업 지연시키기에 사용자 경험 비용이 높다면. &lt;b&gt;LayoutAnimation&lt;/b&gt; 을 고려해보는게 좋습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Animated API 는 사용자가 useNativeDriver 옵션을 사용하여 애니메이션 프레임에서 네이티브 코드를 호출할 수 있게 해주는데&lt;br /&gt;이 옵션을 사용하지 않는 한 JS 스레드에서 각 키 프레임을 주문형으로 계산합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;항상 useNativeDriver:true 로 쓰면 되지 않는가 싶지만, 오직 transform과 opacity 같은 특정 스타일 속성만 지원됩니다.&lt;/li&gt;
&lt;li&gt;레이아웃 관련 애니메이션(width, height, position 등)은 네이티브 드라이버로 처리할 수 없습니다&lt;/li&gt;
&lt;li&gt;JS에서 동적으로 애니메이션 값을 변경해야 하는 경우에는 사용할 수 없습니다&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;LayoutAnimation&lt;/b&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;Core Animation&lt;/b&gt; 을 활용하며 JS스레드와 메인스레드 영향 받지 않습니다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Core Animation은 iOS의 &lt;b&gt;메인 스레드(UI 스레드)&lt;/b&gt;에서 실행되는 프레임워크입니다.&lt;/li&gt;
&lt;li&gt;최적화가 잘 되어있어 메인 스레드에 부하를 거의 주지 않고 하드웨어 가속을 활용합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;즉시 실행되는 정적 애니메이션에만 작동합니다.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;중단이 가능해야 하는 경우 Animated API 를 사용해야 합니다.&lt;/li&gt;
&lt;li&gt;이것을 사용하는 대표적인 예시는 모달에서 애니메이션 적용할 때 입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;화면에서 뷰를 이동하면(스크롤, 이동, 회전) UI 스레드&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이미지 위에 투명 배경이 있는 텍스트 배치, 각 프레임에서 뷰를 다시 그리기 위해 알파 합성이 필요한 경우 shouldRasterizeIOS 속성을 활성화하면 renderToTextureAndroid 이 작업에 큰 도움 줌&lt;/li&gt;
&lt;li&gt;과도하게 사용시 메모리 사용량 크게 증가함&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;이미지 크기를 애니메이션화하면 UI 스레드&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;iOS에서 Image 구성 요소의 너비나 높이를 조정할 때마다 원본 이미지에서 다시 자르고 크기를 조정합니다. 이는 특히 큰 이미지의 경우 매우 비쌀 수 있습니다.&lt;/li&gt;
&lt;li&gt;대신 transform: [{scale}]style 속성을 사용하여 크기를 애니메이션화합니다. 이를 수행할 수 있는 예는 이미지를 탭하여 전체 화면으로 확대할 때입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구성요소 터치시 구성요소의 onPress 내에서 불투명도/하이라이트를 조정한다고 했을때 onPress 가 반환될 때까지 해당 효과를 볼 수 없을 것입니다. 이 경우도 JS 스레드가 바쁠 경우 많은 작업과 몇 개의 프레임이 삭제될 수 있기 때문이며. 이럴 때 &lt;b&gt;requestAnimationFrame&lt;/b&gt; 을 사용하여 애니메이션이 중단되지 않도록 합니다.&lt;br /&gt;&lt;b&gt;requestAnimationFrame&lt;/b&gt; 를 사용하면 여전히 JS 스레드에서 실행이 되지만, JS 작업을 다음 프레임으로 연기하여 현재 프레임의 애니메이션이 방해받지 않도록 하는 것입니다.&lt;/p&gt;
&lt;pre class=&quot;reasonml&quot;&gt;&lt;code&gt;  handleOnPress() {
    // 애니메이션 중단 방지
    requestAnimationFrame(() =&amp;gt; {
      this.doExpensiveAnimation();
    });
  }&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;느린 네비게이터&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Navigator 애니메이션은 JS 스레드로 제어됩니다. (예를 들어 스텍에서 스와이프)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;만약 JS 스레드가 바빠서 끊김이 발생하면, JS 기반 애니메이션을 메인 스레드로 보내야 합니다.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;React Navigation 라이브러리는 네이티브 구성 요소와 Animated 라이브러리를 사용해서 메인(네이티브) 스레드에서 실행되는 최소 60FPS 애니메이션을 제공합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;오프스레드&lt;/b&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;RN 에서는 이미지 디코딩은 메인 스레드가 아닌 다른 스레드에서 수행됩니다.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;React Native는 &lt;b&gt;백그라운드 스레드에서 이미지 디코딩을 수행합니다&lt;/b&gt;. 이는 메인 UI 스레드의 블로킹을 방지하고 앱의 성능과 반응성을 향상시키기 위한 설계입니다.&lt;/li&gt;
&lt;li&gt;백그라운드 스레드는 메인 스레드와 별개로 동시에 실행되는 작업 단위입니다. 주로 시간이 많이 걸리는 작업(이미지 처리, 네트워크 요청 등)을 처리하여 메인 스레드의 부하를 줄이고 UI 응답성을 유지하는 데 사용됩니다.&lt;/li&gt;
&lt;li&gt;이미지가 아직 다운로드되지 않은 경우를 위해 디코딩하는 동안 몇 개의 프레임에 대한 플레이스홀더를 표시해야 될 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;참고&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 애니메이션에 대해 &lt;code&gt;useNativeDriver&lt;/code&gt; 를 활성화하여 네이티브 스레드로 실행하면 JS 스레드가 바쁠때 애니메이션이 프레임을 건너뛰는 현상에 대해 전혀 걱정하지 않아도 되지 않을까 싶지만, &lt;code&gt;useNativeDriver&lt;/code&gt; 는 transform과 opacity 같은 특정 스타일 속성만 지원됩니다.&lt;br /&gt;width, height, top, left 등 요소의 레이아웃(크기나 위치)을 직접 변경하는 애니메이션 속성들은 Animated.View에서 &lt;code&gt;useNativeDriver: true&lt;/code&gt;로 처리할 수 없습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리액트네이티브에 Animated API 와 별개로&lt;br /&gt;모든 View에 사용될 애니메이션 전역 구성에 사용되는 &lt;code&gt;LayoutAnimation&lt;/code&gt; 라는게 존재하는데 이것은 &lt;code&gt;Core Animation&lt;/code&gt; 를 사용합니다.&lt;br /&gt;&lt;code&gt;Core Animation&lt;/code&gt;은 iOS의 메인 스레드(UI 스레드)에서 실행되는 프레임워크입니다. &lt;code&gt;Core Animation&lt;/code&gt;은 메인 스레드에서 실행되지만, 실제 애니메이션 계산과 렌더링은 별도의 렌더 서버 프로세스에서 처리됩니다. 따라서 메인 스레드가 바쁘더라도 애니메이션이 끊기지 않고 부드럽게 실행될 수 있습니다.&lt;br /&gt;위에서 말한 레이아웃 속성(크키,위치)를 변경하는 것과는 완전 다른 이야기입니다. 헷갈리면 안됩니다.&lt;br /&gt;특정 속성 추가하거나 계산하여 직접 애니메이션 하지 않고도 Flexbox 레이아웃 업데이트 수행하는데 유용. 더보기 확장 같은 상위 부모 요소에 영향 줄 수 있는 경우에 유용.&lt;br /&gt;Android에서는 LayoutAnimation 을 사용하려면 &lt;code&gt;UIManager.setLayoutAnimationEnabledExperimental(true)&lt;/code&gt;를 먼저 설정해야 합니다. iOS의 Core Animation과 같은 최적화는 없지만, 기본적인 레이아웃 애니메이션은 동작합니다.&lt;br /&gt;(편집됨)&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;chatGPT는 애니메이션 사용에 대해 이렇게 권장합니다.&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순한 애니메이션의 경우 Animated + useNativeDriver 사용&lt;/li&gt;
&lt;li&gt;복잡한 애니메이션이나 제스처가 필요한 경우 Reanimated 사용 고려&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>프론트엔드 개발/ReactNative</category>
      <category>오블완</category>
      <category>티스토리챌린지</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/271</guid>
      <comments>https://11001.tistory.com/271#entry271comment</comments>
      <pubDate>Fri, 15 Nov 2024 17:38:15 +0900</pubDate>
    </item>
    <item>
      <title>react-native - expo sdk52 11/13 출시</title>
      <link>https://11001.tistory.com/270</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2400&quot; data-origin-height=&quot;1351&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ccREwL/btsKIbczraj/67kRw8l8fZWvXAwZfWZoWk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ccREwL/btsKIbczraj/67kRw8l8fZWvXAwZfWZoWk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ccREwL/btsKIbczraj/67kRw8l8fZWvXAwZfWZoWk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FccREwL%2FbtsKIbczraj%2F67kRw8l8fZWvXAwZfWZoWk%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;2400&quot; height=&quot;1351&quot; data-origin-width=&quot;2400&quot; data-origin-height=&quot;1351&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;주요 업데이트 내용 (2024년 11월 13일 출시)&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. New Architecture 도입&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 새로운 프로젝트에서 New Architecture가 기본적으로 활성화됨&lt;/li&gt;
&lt;li&gt;&lt;code&gt;newArchEnabled: true&lt;/code&gt;가 app.json에 기본 설정됨&lt;/li&gt;
&lt;li&gt;기존 프로젝트는 선택적으로 적용 가능&lt;/li&gt;
&lt;li&gt;SDK 53부터는 기본 활성화될 예정이며, 2025년에는 기존 아키텍처 지원 중단 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 주요 라이브러리 업데이트&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;React Native 0.76 버전 포함&lt;/li&gt;
&lt;li&gt;iOS 최소 지원 버전이 13.4에서 15.1로 상향&lt;/li&gt;
&lt;li&gt;Android minSdkVersion 23에서 24로, compileSdkVersion 34에서 35로 상향&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 새로운 라이브러리 출시&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;expo-video: expo-av를 대체하는 안정화된 비디오 라이브러리&lt;/li&gt;
&lt;li&gt;expo-audio: 새로운 오디오 라이브러리 (베타)&lt;/li&gt;
&lt;li&gt;expo-file-system/next: 개선된 파일 시스템 API (베타)&lt;/li&gt;
&lt;li&gt;expo-live-photo: iOS Live Photos 지원&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. expo-splash-screen 개선&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Android 12+ 스플래시 스크린 API 적용&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;h3 data-ke-size=&quot;size23&quot;&gt;5. 개발자 도구 개선&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;React Native DevTools가 기존 JavaScript 디버거 대체&lt;/li&gt;
&lt;li&gt;DOM Components 도입으로 웹 컴포넌트의 점진적 마이그레이션 지원&lt;/li&gt;
&lt;li&gt;expo-image v2의 새로운 useImage 훅 도입&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. 주요 제거 및 변경사항&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Expo Go에서 JSC 지원 중단 (Hermes만 지원)&lt;/li&gt;
&lt;li&gt;expo-camera/legacy, expo-sqlite/legacy 제거&lt;/li&gt;
&lt;li&gt;expo-barcode-scanner 제거 (expo-camera로 통합)&lt;/li&gt;
&lt;li&gt;Expo Go 안드로이드에서 만보계(Pedometer) 지원 중단&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 style=&quot;color: #000000;&quot; data-ke-size=&quot;size26&quot;&gt;Expo SDK 52 아키텍처 변경사항&lt;/h2&gt;
&lt;h3 style=&quot;color: #000000;&quot; data-ke-size=&quot;size23&quot;&gt;1. 개발 클라이언트 아키텍처 개선&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이전 버전의 문제점&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;expo-dev-client를 별도로 설치하고 설정해야 했음&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;b&gt;SDK 52의 개선사항&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Expo GO 앱에 개발 클라이언트가 통합됨&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;h3 data-ke-size=&quot;size23&quot;&gt;2. Metro 번들러 업데이트&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이전 버전의 한계&lt;/b&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;li&gt;모호한 에러 메시지&lt;/li&gt;
&lt;li&gt;설정의 어려움&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;SDK 52의 개선사항&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Metro 번들러 0.76.x 버전으로 업그레이드
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;빌드 속도 최대 50% 향상&lt;/li&gt;
&lt;li&gt;메모리 사용량 최적화&lt;/li&gt;
&lt;li&gt;더 정확하고 이해하기 쉬운 에러 메시지&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&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;/li&gt;
&lt;li&gt;HMR(Hot Module Replacement) 성능 개선&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 새로운 플러그인 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이전 버전의 문제점&lt;/b&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;li&gt;의존성 충돌이 자주 발생&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;SDK 52의 개선사항&lt;/b&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;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;/li&gt;
&lt;li&gt;네이티브 모듈 자동 링킹
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;react-native link 명령어 불필요&lt;/li&gt;
&lt;li&gt;iOS와 Android 설정 자동화&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&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;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 설정 시스템 개선&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이전 버전의 한계&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;app.json만으로 제한적인 설정&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;b&gt;SDK 52의 개선사항&lt;/b&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;app.json과 app.config.js/ts 통합 지원&lt;/li&gt;
&lt;li&gt;JavaScript/TypeScript로 동적 설정 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&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;/li&gt;
&lt;li&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;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. 빌드 시스템 현대화&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이전 버전의 한계&lt;/b&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;li&gt;복잡한 배포 과정&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;SDK 52의 개선사항&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;EAS (Expo Application Services) 개선
&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;빌드 시간 최대 40% 단축&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&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;/li&gt;
&lt;li&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;OTA 업데이트 개선&lt;/li&gt;
&lt;li&gt;롤백 기능 강화&lt;/li&gt;
&lt;/ul&gt;
&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;b&gt;준비사항&lt;/b&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;의존성 패키지 검토&lt;/li&gt;
&lt;li&gt;네이티브 코드 수정사항 확인&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;단계별 마이그레이션&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;package.json 업데이트&lt;/li&gt;
&lt;li&gt;expo-dev-client 설정 제거&lt;/li&gt;
&lt;li&gt;Metro 설정 업데이트&lt;/li&gt;
&lt;li&gt;플러그인 재설정&lt;/li&gt;
&lt;li&gt;환경 설정 파일 구조 개선&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;주의사항&lt;/b&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;li&gt;점진적 마이그레이션 권장결론SDK 52는 Expo의 가장 큰 아키텍처 변화 중 하나로, 개발자 경험을 크게 개선했습니다. 특히 개발 환경 설정의 단순화, 빌드 성능 향상, 그리고 더욱 유연해진 설정 시스템은 React Native 개발을 한층 더 효율적으로 만들었습니다.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;iOS 최소 지원 버전이 13.4에서 15.1로 상향???&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;iOS 15.1 미만 버전을 사용하는 기기에서는 앱을 설치하거나 실행할 수 없습니다.&lt;br /&gt;App Store에서 앱을 검색할 때 iOS 15.1 미만 버전의 기기에서는 앱이 표시되지 않습니다&lt;br /&gt;개발자가 앱을 빌드할 때 iOS 15.1 이상의 API만 사용할 수 있습니다&lt;br /&gt;참고로 2024년 3월 기준 iOS 사용자의 약 98%가 iOS 15.1 이상을 사용하고 있어서 대부분의 사용자에게는 영향이 없습니다. 하지만 매우 오래된 iOS 기기를 사용하는 소수의 사용자는 앱을 사용할 수 없게 됩니다.&lt;br /&gt;이전 버전인 SDK 51에서는 iOS 13.4까지 지원했었는데, SDK 52에서 이 제한이 상향되었습니다.&lt;/p&gt;</description>
      <category>프론트엔드 개발/ReactNative</category>
      <category>오블완</category>
      <category>티스토리챌린지</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/270</guid>
      <comments>https://11001.tistory.com/270#entry270comment</comments>
      <pubDate>Thu, 14 Nov 2024 20:06:55 +0900</pubDate>
    </item>
    <item>
      <title>react-native 에서 tailwind 문법으로 스타일 적용하기 (twrnc 라이브러리)</title>
      <link>https://11001.tistory.com/269</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.npmjs.com/package/twrnc&quot;&gt;https://www.npmjs.com/package/twrnc&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/jaredh159/tailwind-react-native-classnames&quot;&gt;https://github.com/jaredh159/tailwind-react-native-classnames&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1731507215311&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;twrnc&quot; data-og-description=&quot;simple, expressive API for tailwindcss + react-native. Latest version: 4.6.0, last published: 6 days ago. Start using twrnc in your project by running &amp;#96;npm i twrnc&amp;#96;. There are 47 other projects in the npm registry using twrnc.&quot; data-og-host=&quot;www.npmjs.com&quot; data-og-source-url=&quot;https://www.npmjs.com/package/twrnc&quot; data-og-url=&quot;https://www.npmjs.com/package/twrnc&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/tLnVj/hyXzVMjR6B/GNBfuvTKD26XBCcjgi5Vzk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://www.npmjs.com/package/twrnc&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.npmjs.com/package/twrnc&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/tLnVj/hyXzVMjR6B/GNBfuvTKD26XBCcjgi5Vzk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;twrnc&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;simple, expressive API for tailwindcss + react-native. Latest version: 4.6.0, last published: 6 days ago. Start using twrnc in your project by running `npm i twrnc`. There are 47 other projects in the npm registry using twrnc.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.npmjs.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;react-native 에서 tailwind css 문법으로 스타일링 가능&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/efstathiosntonas/react-native-style-libraries-benchmark&quot;&gt;매우 빠름: 이 벤치마크&lt;/a&gt; 에 따르면 모든 RN 스타일링 라이브러리 중 가장 뛰어난 성능을 보입니다 .&lt;/li&gt;
&lt;/ul&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;p data-ke-size=&quot;size16&quot;&gt;React Native - Tailwind CSS autocomplete in VSCode for twrnc package&lt;br /&gt;&lt;a href=&quot;https://stackoverflow.com/questions/71681367/react-native-tailwind-css-autocomplete-in-vscode-for-twrnc-package&quot;&gt;https://stackoverflow.com/questions/71681367/react-native-tailwind-css-autocomplete-in-vscode-for-twrnc-package&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;tailwind.config.js 파일을 반드시 만들어줘야 합니다.&lt;/p&gt;
&lt;pre class=&quot;golo&quot;&gt;&lt;code&gt;/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    &quot;./app/**/*.{js,jsx,ts,tsx}&quot;,
    &quot;./components/**/*.{js,jsx,ts,tsx}&quot;
  ],
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;vs-code settings.json 설정 변경&lt;/p&gt;
&lt;pre class=&quot;markdown&quot;&gt;&lt;code&gt;&quot;tailwindCSS.classAttributes&quot;: [
 &quot;class&quot;,
  &quot;className&quot;,
  &quot;ngClass&quot;,
  &quot;class:list&quot;,
  &quot;style&quot; // 추가
],

&quot;tailwindCSS.experimental.classRegex&quot;: [
  [&quot;tw`([^`]*)`&quot;, &quot;[`'\&quot;]([^'\&quot;]*)[`'\&quot;]&quot;],
  [&quot;tw=\&quot;([^\&quot;]*)\&quot;&quot;, &quot;[`'\&quot;]([^'\&quot;]*)[`'\&quot;]&quot;],
  [&quot;tw={\&quot;([^\&quot;]*)}\&quot;&quot;, &quot;[`'\&quot;]([^'\&quot;]*)[`'\&quot;]&quot;],
  [&quot;tw\\.\\w+`([^`]*)`&quot;, &quot;[`'\&quot;]([^'\&quot;]*)[`'\&quot;]&quot;],
  [&quot;tw\\(.*?\\)`([^`]*)`&quot;, &quot;[`'\&quot;]([^'\&quot;]*)[`'\&quot;]&quot;],
  [&quot;tw.style\\(([^)]*)\\)&quot;, &quot;'([^']*)'&quot;]
]&lt;/code&gt;&lt;/pre&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;</description>
      <category>프론트엔드 개발/ReactNative</category>
      <category>오블완</category>
      <category>티스토리챌린지</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/269</guid>
      <comments>https://11001.tistory.com/269#entry269comment</comments>
      <pubDate>Wed, 13 Nov 2024 23:14:07 +0900</pubDate>
    </item>
    <item>
      <title>VoidZero - 자바스크립트를 위한 차세대 툴체인 소개</title>
      <link>https://11001.tistory.com/267</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;840&quot; data-origin-height=&quot;274&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kJo8A/btsKElFcxK8/U0VK4M4r2ZIFneB7LlKYQK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kJo8A/btsKElFcxK8/U0VK4M4r2ZIFneB7LlKYQK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kJo8A/btsKElFcxK8/U0VK4M4r2ZIFneB7LlKYQK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkJo8A%2FbtsKElFcxK8%2FU0VK4M4r2ZIFneB7LlKYQK%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;840&quot; height=&quot;274&quot; data-origin-width=&quot;840&quot; data-origin-height=&quot;274&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h1&gt;VoidZero - 자바스크립트 개발의 새로운 혁신&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;개요&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Vue.js의 창시자 Evan You가 자바스크립트 생태계에 새로운 혁신을 가져올 VoidZero Inc.를 설립했습니다. Accel이 주도한 시드 투자를 통해 460만 달러를 유치했으며, 자바스크립트를 위한 차세대 통합 개발 툴체인을 구축하는 것을 목표로 하고 있습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;VoidZero가 해결하려는 문제&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;li&gt;중복된 작업으로 인한 성능 저하&lt;/li&gt;
&lt;li&gt;복잡한 설정과 구성 관리&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발자들은 이러한 문제들을 근본적으로 해결하기 위해 &lt;b&gt;VoidZero&lt;/b&gt;가 탄생했습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;핵심 특징&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 통합된 개발 환경&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 개발 작업에서 동일한 AST 사용&lt;/li&gt;
&lt;li&gt;구문 분석, 변환, 린팅, 포매팅, 번들링 등의 통합&lt;/li&gt;
&lt;li&gt;중복 작업 제거로 효율성 극대화&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 최고 수준의 성능&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;낮은 오버헤드의 JS 플러그인 시스템&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 유연한 모듈성&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;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 런타임 독립성&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;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;현재까지의 성과&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VoidZero는 이미 인상적인 성과를 보여주고 있습니다:&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;oxc-parser&lt;/td&gt;
&lt;td&gt;SWC 대비 3배 빠른 파서&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;oxc-resolver&lt;/td&gt;
&lt;td&gt;enhanced-resolve 대비 28배 빠른 리졸버&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;oxc-transform&lt;/td&gt;
&lt;td&gt;SWC 대비 4배 빠른 변환기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;oxlint&lt;/td&gt;
&lt;td&gt;ESLint 대비 50-100배 빠른 린터&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rolldown&lt;/td&gt;
&lt;td&gt;esbuild보다 빠른 번들러 (알파)&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;이미 많은 글로벌 기업들이 VoidZero의 도구들을 채택하고 있습니다:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;OpenAI (ChatGPT 웹 클라이언트)&lt;/li&gt;
&lt;li&gt;Google&lt;/li&gt;
&lt;li&gt;Apple&lt;/li&gt;
&lt;li&gt;Microsoft&lt;/li&gt;
&lt;li&gt;Visa&lt;/li&gt;
&lt;li&gt;Shopify&lt;/li&gt;
&lt;li&gt;Cloudflare&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;h3 data-ke-size=&quot;size23&quot;&gt;2024년&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Rolldown 안정화&lt;/li&gt;
&lt;li&gt;Vite의 통합 번들러로 Rolldown 도입&lt;/li&gt;
&lt;li&gt;Rolldown 기반 Vite 알파 버전 출시&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2025년&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Oxc 추가 기능 개발 (최소화, 포매팅)&lt;/li&gt;
&lt;li&gt;Vite 생태계의 Rolldown/Oxc 전환&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;VoidZero의 출범은 단순한 새로운 도구의 등장이 아닌, 자바스크립트 개발 환경의 패러다임 전환을 의미합니다. 이미 검증된 Vite의 성공을 기반으로, 더 근본적인 문제 해결을 위한 도전을 시작했다는 점에서 큰 의미가 있습니다.&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;a href=&quot;https://voidzero.dev/posts/announcing-voidzero-inc&quot;&gt;원문 링크&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1731307277356&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;void(0)&quot; data-og-description=&quot;We are building the next generation of JavaScript tooling&quot; data-og-host=&quot;voidzero.dev&quot; data-og-source-url=&quot;https://voidzero.dev/posts/announcing-voidzero-inc&quot; data-og-url=&quot;https://voidzero.dev&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/HcrQX/hyXwgw6u6e/aWQLsOEJM0hQ0KTc4EoHn0/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://voidzero.dev/posts/announcing-voidzero-inc&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://voidzero.dev/posts/announcing-voidzero-inc&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/HcrQX/hyXwgw6u6e/aWQLsOEJM0hQ0KTc4EoHn0/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;void(0)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;We are building the next generation of JavaScript tooling&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;voidzero.dev&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프론트엔드 개발/도구 (Tool)</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/267</guid>
      <comments>https://11001.tistory.com/267#entry267comment</comments>
      <pubDate>Mon, 11 Nov 2024 15:41:56 +0900</pubDate>
    </item>
    <item>
      <title>옵시디언(obsidian) 플러그인 총정리</title>
      <link>https://11001.tistory.com/266</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;225&quot; data-origin-height=&quot;225&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dYM7ot/btsKDZWaYe7/dHQFktrrKAIXm3KdnH5v21/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dYM7ot/btsKDZWaYe7/dHQFktrrKAIXm3KdnH5v21/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dYM7ot/btsKDZWaYe7/dHQFktrrKAIXm3KdnH5v21/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdYM7ot%2FbtsKDZWaYe7%2FdHQFktrrKAIXm3KdnH5v21%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;225&quot; height=&quot;225&quot; data-origin-width=&quot;225&quot; data-origin-height=&quot;225&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h1&gt;옵시디언 플러그인 가이드&lt;/h1&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;br /&gt;⭐ : 선택적으로 사용할만한 플러그인&lt;br /&gt;  : 대체 플러그인이 있거나 추천하지 않는 플러그인&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;파일 관리 플러그인&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Recent Files ⭐⭐⭐&lt;/h2&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;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;h2 data-ke-size=&quot;size26&quot;&gt;Auto Note Mover ⭐⭐&lt;/h2&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;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;h2 data-ke-size=&quot;size26&quot;&gt;Templater ⭐⭐⭐&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단순한 템플릿 이상의 강력한 기능을 제공하는 플러그인입니다. JavaScript를 활용한 동적 템플릿 생성이 가능합니다.&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;/li&gt;
&lt;li&gt;JavaScript 실행&lt;/li&gt;
&lt;li&gt;조건부 템플릿&lt;/li&gt;
&lt;li&gt;사용자 정의 함수&lt;/li&gt;
&lt;li&gt;외부 API 연동&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Local Images Plus ⭐⭐&lt;/h2&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;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;외부 URL 이미지 다운로드&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h1&gt;검색/쿼리 플러그인&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Dataview ⭐⭐⭐&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;노트를 데이터베이스처럼 활용할 수 있게 해주는 강력한 플러그인입니다. SQL과 유사한 쿼리 언어로 노트들을 동적으로 필터링하고 표시할 수 있습니다.&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;/li&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;Search on Internet ⭐⭐&lt;/h2&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;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;h2 data-ke-size=&quot;size26&quot;&gt;Omnisearch ⭐⭐⭐&lt;/h2&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;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;li&gt;태그/링크 검색 지원&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Smart Search ⭐⭐&lt;/h2&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;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;h1&gt;&amp;nbsp;&lt;/h1&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h1&gt;노트 편집 플러그인&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Editor Syntax Highlight ⭐⭐⭐&lt;/h2&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;40개 이상의 언어 지원&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;h2 data-ke-size=&quot;size26&quot;&gt;Advanced Tables ⭐⭐⭐&lt;/h2&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;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;li&gt;CSV 가져오기/내보내기&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Better Word Count ⭐⭐&lt;/h2&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;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;h2 data-ke-size=&quot;size26&quot;&gt;Outliner ⭐⭐&lt;/h2&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;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;h2 data-ke-size=&quot;size26&quot;&gt;Natural Language Dates ⭐⭐&lt;/h2&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;내일&quot;, &quot;다음 주 월요일&quot; 등 자연어 인식&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h1&gt;화면 구성 플러그인&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Sliding Panes ⭐⭐⭐&lt;/h2&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;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;h2 data-ke-size=&quot;size26&quot;&gt;Minimal Theme Settings ⭐⭐&lt;/h2&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;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;h2 data-ke-size=&quot;size26&quot;&gt;Style Settings ⭐⭐⭐&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;테마와 CSS 스니펫을 GUI로 쉽게 관리할 수 있게 해주는 플러그인입니다.&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;/li&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;Hider ⭐⭐&lt;/h2&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;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;불필요한 UI 요소&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Fullscreen Mode ⭐&lt;/h2&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 UI 요소 숨기기&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h1&gt;일정/작업 관리 플러그인&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Calendar ⭐⭐⭐&lt;/h2&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;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;li&gt;반복 일정 설정&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Tasks ⭐⭐⭐&lt;/h2&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;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;li&gt;필터링과 정렬&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Kanban ⭐⭐&lt;/h2&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;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;li&gt;데드라인 표시&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Day Planner ⭐⭐&lt;/h2&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;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;h2 data-ke-size=&quot;size26&quot;&gt;Periodic Notes ⭐⭐&lt;/h2&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;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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h1&gt;입력 지원 플러그인&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Various Complements ⭐⭐⭐&lt;/h2&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;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;li&gt;이모지 자동완성&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Quick Add ⭐⭐⭐&lt;/h2&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;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;h2 data-ke-size=&quot;size26&quot;&gt;Text Expander ⭐⭐&lt;/h2&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;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;h2 data-ke-size=&quot;size26&quot;&gt;Emoji Toolbar ⭐&lt;/h2&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;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;h2 data-ke-size=&quot;size26&quot;&gt;Auto Link Title ⭐⭐&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;URL을 붙여넣으면 자동으로 제목을 가져와 링크를 생성합니다.&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;/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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h1&gt;설정 관리 플러그인&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Settings Search ⭐⭐⭐&lt;/h2&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;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;h2 data-ke-size=&quot;size26&quot;&gt;Sync Settings ⭐⭐&lt;/h2&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;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;h2 data-ke-size=&quot;size26&quot;&gt;Commander ⭐⭐⭐&lt;/h2&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;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;h2 data-ke-size=&quot;size26&quot;&gt;Plugin Groups ⭐⭐&lt;/h2&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;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;h2 data-ke-size=&quot;size26&quot;&gt;Quick Settings ⭐⭐&lt;/h2&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;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;</description>
      <category>옵시디언</category>
      <category>오블완</category>
      <category>티스토리챌린지</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/266</guid>
      <comments>https://11001.tistory.com/266#entry266comment</comments>
      <pubDate>Mon, 11 Nov 2024 12:23:29 +0900</pubDate>
    </item>
    <item>
      <title>[앱테크] 머니워크 월 수익 7,615원, 현금화 약 4개월</title>
      <link>https://11001.tistory.com/265</link>
      <description>&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;100걸음당 2포인트를 적립하며, 최대 5000걸음까지 100포인트를 모을 수 있습니다. 초대 코드 입력 시 1000포인트를 적립해줍니다.&lt;/li&gt;
&lt;li&gt;걷고나서 버튼 눌러야 포인트 적립 되는데 계속 광고가 뜹니다. 그러므로 살짝 스크롤 내려서 버튼 누르면 수월합니다.&lt;/li&gt;
&lt;li&gt;머니팜 키우기: Lv6 까지 다 키우면 3000p. 꽤 오래걸립니다. 1달은 걸릴 듯 합니다.&lt;/li&gt;
&lt;li&gt;챌린지 : 챌린지는 7일 모두 걷기를 성공해야 이득입니다. 하루라도 빼먹으면 안하는 게 낫습니다.&lt;/li&gt;
&lt;li&gt;1:1 걷기대결 : 평균 걸음수가 비슷한 사람과 3일 간 대결을 하여 더 많이 걸은 사람이 포인트를 얻습니다. 50p 정도 됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;루틴 (하루 220p~)&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;일 최대 20p&lt;/li&gt;
&lt;li&gt;1주 연속 100p, 2주 연속 200p, 3주 연속 500p, 4주 연속 1000p&lt;/li&gt;
&lt;li&gt;만보기
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;50걸음 당 1p. 최대 200p (팝업 광고 뜸. 살짝 스크롤 내려서 누르면 됨)&lt;/li&gt;
&lt;li&gt;걸음수에 따라 랜덤 포인트 적립 (1000 단위로 10000까지 있음. 광고X)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;OX 퀴즈&lt;/li&gt;
&lt;li&gt;머니팜 키우기 + 서브 퀘스트&lt;/li&gt;
&lt;li&gt;숨겨진 미션 포인트 적립 (갑자기 뜸. 광고보면 포인트 줌)&lt;/li&gt;
&lt;li&gt;1:1 걷기 대결 : 승리 시 50p&lt;/li&gt;
&lt;li&gt;챌린지 (비추)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;7000 걸음 챌린지, 10000 걸음 챌린지, 12000 걸음에 대한 챌린지 있음&lt;/li&gt;
&lt;li&gt;&lt;b&gt;6일 동안 모두 달성해야만 이득&lt;/b&gt;. 5일 달성시 본전. 그렇지 못하면 손해&lt;/li&gt;
&lt;li&gt;저는 버그로 한 번씩 달성을 못하거나 바쁠때 달성을 못해서 계속 손해보고 있습니다. 차라리 안하는게 나을 수도 있어요.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;포인트 교환 (현금:포인트=1:1.15)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;약 26000 머니워크포인트 -&amp;gt; 30000 네이버포인트 입찰&lt;/li&gt;
&lt;/ul&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;코드 입력시 1000 포인트 적립&lt;/li&gt;
&lt;li&gt;코드: &lt;b&gt;8CDLLA&lt;/b&gt;&lt;/li&gt;
&lt;/ul&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;a href=&quot;https://play.google.com/store/apps/details?id=com.moneywalk&quot;&gt;구글 플레이 스토어&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://apps.apple.com/kr/app/%EB%A8%B8%EB%8B%88%EC%9B%8C%ED%81%AC-%EB%8F%88-%EB%B2%84%EB%8A%94-%EB%A7%8C%EB%B3%B4%EA%B8%B0/id1507399115&quot;&gt;애플 앱 스토어&lt;/a&gt;&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;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;머니워크-홈.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Daydx/btsKDsxBiPT/DfPv1YU5wpf4xU9nOlMvc0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Daydx/btsKDsxBiPT/DfPv1YU5wpf4xU9nOlMvc0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Daydx/btsKDsxBiPT/DfPv1YU5wpf4xU9nOlMvc0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDaydx%2FbtsKDsxBiPT%2FDfPv1YU5wpf4xU9nOlMvc0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;375&quot; height=&quot;833&quot; data-filename=&quot;머니워크-홈.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;건강 퀴즈&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;머니워크-퀴즈.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yH09m/btsKDWEUm8o/Sk6zzIysleAr9yRD2bs7q0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yH09m/btsKDWEUm8o/Sk6zzIysleAr9yRD2bs7q0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yH09m/btsKDWEUm8o/Sk6zzIysleAr9yRD2bs7q0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyH09m%2FbtsKDWEUm8o%2FSk6zzIysleAr9yRD2bs7q0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;375&quot; height=&quot;833&quot; data-filename=&quot;머니워크-퀴즈.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;머니팜&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;머니워크-머니팜2.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEYwMa/btsKDyRUpOC/bKQSaQsTdeLQDjUkIFoKrk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEYwMa/btsKDyRUpOC/bKQSaQsTdeLQDjUkIFoKrk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEYwMa/btsKDyRUpOC/bKQSaQsTdeLQDjUkIFoKrk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEYwMa%2FbtsKDyRUpOC%2FbKQSaQsTdeLQDjUkIFoKrk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;375&quot; height=&quot;833&quot; data-filename=&quot;머니워크-머니팜2.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;숨겨진 포인트 발견&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;머니워크-숨겨진.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c1kw15/btsKDR4L5jw/h7uBrVvUNlnB25UnYzhb10/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c1kw15/btsKDR4L5jw/h7uBrVvUNlnB25UnYzhb10/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c1kw15/btsKDR4L5jw/h7uBrVvUNlnB25UnYzhb10/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc1kw15%2FbtsKDR4L5jw%2Fh7uBrVvUNlnB25UnYzhb10%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;375&quot; height=&quot;833&quot; data-filename=&quot;머니워크-숨겨진.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;챌린지&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;머니워크-챌린지.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Jsz8Z/btsKDSCCv14/eYSiNZwG77jI7i44kOHF0k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Jsz8Z/btsKDSCCv14/eYSiNZwG77jI7i44kOHF0k/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Jsz8Z/btsKDSCCv14/eYSiNZwG77jI7i44kOHF0k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJsz8Z%2FbtsKDSCCv14%2FeYSiNZwG77jI7i44kOHF0k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;375&quot; height=&quot;833&quot; data-filename=&quot;머니워크-챌린지.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;걷기 대결 - 승리 시&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;머니워크-걷기대결.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dDwQYc/btsKDQq4pjY/L5ACrrMI5TNohfATk3Psdk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dDwQYc/btsKDQq4pjY/L5ACrrMI5TNohfATk3Psdk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dDwQYc/btsKDQq4pjY/L5ACrrMI5TNohfATk3Psdk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdDwQYc%2FbtsKDQq4pjY%2FL5ACrrMI5TNohfATk3Psdk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;375&quot; height=&quot;833&quot; data-filename=&quot;머니워크-걷기대결.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>앱테크</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/265</guid>
      <comments>https://11001.tistory.com/265#entry265comment</comments>
      <pubDate>Sun, 10 Nov 2024 21:15:07 +0900</pubDate>
    </item>
    <item>
      <title>옵시디언(obsidian) - 테이블 플러그인을 알아보자</title>
      <link>https://11001.tistory.com/264</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;225&quot; data-origin-height=&quot;225&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kQSWq/btsKDWktXXE/JPRJlHnkQHAXJIjF8w2Bb0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kQSWq/btsKDWktXXE/JPRJlHnkQHAXJIjF8w2Bb0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kQSWq/btsKDWktXXE/JPRJlHnkQHAXJIjF8w2Bb0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkQSWq%2FbtsKDWktXXE%2FJPRJlHnkQHAXJIjF8w2Bb0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;225&quot; height=&quot;225&quot; data-origin-width=&quot;225&quot; data-origin-height=&quot;225&quot;/&gt;&lt;/span&gt;&lt;/figure&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;Obsidian에서 사용할 수 있는 여러 테이블 관련 플러그인들이 있습니다. 주요한 것들을 소개해드리겠습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Advanced Tables&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;li&gt;기본적인 마크다운 테이블 편집 기능 강화&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Table Extended&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;h3 data-ke-size=&quot;size23&quot;&gt;Table Generator&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;GUI로 테이블 생성 가능&lt;/li&gt;
&lt;li&gt;드래그 앤 드롭으로 열/행 추가/삭제&lt;/li&gt;
&lt;li&gt;CSV 파일 임포트 지원&lt;/li&gt;
&lt;li&gt;DataView&lt;/li&gt;
&lt;li&gt;노트들의 메타데이터를 테이블 형태로 표시&lt;/li&gt;
&lt;li&gt;SQL과 유사한 쿼리 기능&lt;/li&gt;
&lt;li&gt;동적 테이블 생성&lt;/li&gt;
&lt;li&gt;데이터 필터링과 정렬&lt;/li&gt;
&lt;li&gt;Sortable&lt;/li&gt;
&lt;li&gt;테이블 정렬 기능 추가&lt;/li&gt;
&lt;li&gt;클릭으로 열 기준 정렬 가능&lt;/li&gt;
&lt;/ul&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;일반적인 사용이라면 Advanced Tables만으로도 충분합니다.&lt;/li&gt;
&lt;li&gt;데이터베이스처럼 사용하고 싶다면 DataView를,&lt;/li&gt;
&lt;li&gt;복잡한 테이블이 필요하다면 Table Extended를 추천드립니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;설치 방법&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Obsidian 설정 열기&lt;/li&gt;
&lt;li&gt;커뮤니티 플러그인 메뉴로 이동&lt;/li&gt;
&lt;li&gt;검색창에서 원하는 플러그인 검색&lt;/li&gt;
&lt;li&gt;Install 버튼 클릭 후 Enable&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;수식 테이블&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;테이블의 특정 행에 수식을 넣어서 계산도 되면 좋을 거 같은데요?&lt;br /&gt;계산 기능이 포함된 테이블 플러그인들을 소개해드리겠습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Table Calculator&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;Excel과 유사한 수식 문법 사용&lt;/li&gt;
&lt;li&gt;SUM, AVERAGE 등 기본적인 수식 함수 지원&lt;/li&gt;
&lt;li&gt;예시:&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;398&quot; data-origin-height=&quot;150&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4MAkh/btsKCQ6TzYX/nR1UNKVpjdsnbzJCZqLnS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4MAkh/btsKCQ6TzYX/nR1UNKVpjdsnbzJCZqLnS1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4MAkh/btsKCQ6TzYX/nR1UNKVpjdsnbzJCZqLnS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4MAkh%2FbtsKCQ6TzYX%2FnR1UNKVpjdsnbzJCZqLnS1%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;398&quot; height=&quot;150&quot; data-origin-width=&quot;398&quot; data-origin-height=&quot;150&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;DataView&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;JavaScript 기반의 계산 기능 제공&lt;/li&gt;
&lt;li&gt;복잡한 수식과 조건부 계산 가능&lt;/li&gt;
&lt;li&gt;예시:&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;393&quot; data-origin-height=&quot;142&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvoZsS/btsKElEapqg/8sJk0cvkJ1KO0DIDLjOvT1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvoZsS/btsKElEapqg/8sJk0cvkJ1KO0DIDLjOvT1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvoZsS/btsKElEapqg/8sJk0cvkJ1KO0DIDLjOvT1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvoZsS%2FbtsKElEapqg%2F8sJk0cvkJ1KO0DIDLjOvT1%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;393&quot; height=&quot;142&quot; data-origin-width=&quot;393&quot; data-origin-height=&quot;142&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Spreadsheet&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Excel과 유사한 스프레드시트 인터페이스&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;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;계산 기능이 필요하시다면 Table Calculator를 우선 추천드립니다.
&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;/li&gt;
&lt;li&gt;더 복잡한 계산이 필요하다면:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;DataView: 데이터 분석이나 복잡한 계산이 필요할 때&lt;/li&gt;
&lt;li&gt;Spreadsheet: Excel과 같은 환경이 필요할 때&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&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;/ul&gt;</description>
      <category>옵시디언</category>
      <category>오블완</category>
      <category>티스토리챌린지</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/264</guid>
      <comments>https://11001.tistory.com/264#entry264comment</comments>
      <pubDate>Sun, 10 Nov 2024 11:58:56 +0900</pubDate>
    </item>
    <item>
      <title>[앱테크] 쉽고 간편하게 즐기는 퀴즈형 앱테크 '마이비' (월 수익 18000포인트, 현금화 약 15일 주기)</title>
      <link>https://11001.tistory.com/263</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1141&quot; data-origin-height=&quot;823&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bcYFTg/btsKD5Bpxxs/jqPNoRQKPfgREIFsL85Gt0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bcYFTg/btsKD5Bpxxs/jqPNoRQKPfgREIFsL85Gt0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bcYFTg/btsKD5Bpxxs/jqPNoRQKPfgREIFsL85Gt0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbcYFTg%2FbtsKD5Bpxxs%2FjqPNoRQKPfgREIFsL85Gt0%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;1141&quot; height=&quot;823&quot; data-origin-width=&quot;1141&quot; data-origin-height=&quot;823&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&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;간편한 가입 절차&lt;/b&gt;: 복잡한 절차 없이 간단한 비밀번호 설정만으로 회원가입이 가능합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;소비TI 검사&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;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;루틴 (하루 약 600p, 월 수익 18000포인트, 현금화 약 15일 주기)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;하루에 30~100p 정도되는 설문조사를 10개 가능.&lt;/li&gt;
&lt;li&gt;광고시청 2회 후 설문조사 2회 추가 가능&lt;/li&gt;
&lt;li&gt;그 외 이벤트 참여&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;포인트 교환 (현금:포인트=1.1:1, 혹은 1.3:1)&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;모바일 쿠폰 교환&lt;/b&gt;: 적립한 포인트로 편의점, 카페, 패스트푸드 등 다양한 브랜드의 모바일 쿠폰을 구매할 수 있습니다.&lt;/li&gt;
&lt;li&gt;13000포인트 -&amp;gt; 10000네이버페이 포인트&lt;/li&gt;
&lt;li&gt;타임딜 이벤트를 통해 11000포인트 -&amp;gt; 10000네이버페이 포인트 교환 가능&lt;/li&gt;
&lt;li&gt;&lt;b&gt;위믹스 코인 전환&lt;/b&gt;: 포인트를 위믹스 코인으로 전환하여 현금화하거나, 다른 용도로 활용할 수 있습니다.&lt;/li&gt;
&lt;/ul&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;코드 입력시 1000포인트 적립&lt;/li&gt;
&lt;li&gt;코드: &lt;b&gt;YW3955640M&lt;/b&gt;&lt;/li&gt;
&lt;/ul&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;a href=&quot;https://play.google.com/store/apps/details?id=im.myb.android&amp;amp;pli=1&quot;&gt;구글 플레이 스토어&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://apps.apple.com/kr/app/myb-%EB%A7%88%EC%9D%B4%EB%B9%84-%EC%89%BD%EA%B3%A0-%EA%B0%84%ED%8E%B8%ED%95%98%EA%B2%8C-%EC%A6%90%EA%B8%B0%EB%8A%94-%ED%80%B4%EC%A6%88%ED%98%95-%EC%95%B1%ED%85%8C%ED%81%AC/id6476365625?l=en-GB&quot;&gt;애플 앱 스토어&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1731148198172&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;MyB 마이비 - 쉽고 간편하게 즐기는 퀴즈형 앱테크 - Google Play 앱&quot; data-og-description=&quot;MyB 마이비는 짧고 재미있는 퀴즈와 설문을 큰 보상으로 연결하는 퀴즈형 앱테크 입니다.&quot; data-og-host=&quot;play.google.com&quot; data-og-source-url=&quot;https://play.google.com/store/apps/details?id=im.myb.android&amp;amp;pli=1&quot; data-og-url=&quot;https://play.google.com/store/apps/details?id=im.myb.android&amp;amp;hl=ko&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/b5DyBI/hyXsSRJKm2/pskKqBHNALjv5k0LSucF51/img.png?width=512&amp;amp;height=512&amp;amp;face=0_0_512_512,https://scrap.kakaocdn.net/dn/b2XFHL/hyXwrZdwQf/haD1uDIVz3EpthRrIjCSH1/img.png?width=600&amp;amp;height=300&amp;amp;face=0_0_600_300,https://scrap.kakaocdn.net/dn/Z6KuL/hyXs18XQrz/DGLVetR4SU1BF6jPkqbb8k/img.png?width=240&amp;amp;height=240&amp;amp;face=0_0_240_240&quot;&gt;&lt;a href=&quot;https://play.google.com/store/apps/details?id=im.myb.android&amp;amp;pli=1&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://play.google.com/store/apps/details?id=im.myb.android&amp;amp;pli=1&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/b5DyBI/hyXsSRJKm2/pskKqBHNALjv5k0LSucF51/img.png?width=512&amp;amp;height=512&amp;amp;face=0_0_512_512,https://scrap.kakaocdn.net/dn/b2XFHL/hyXwrZdwQf/haD1uDIVz3EpthRrIjCSH1/img.png?width=600&amp;amp;height=300&amp;amp;face=0_0_600_300,https://scrap.kakaocdn.net/dn/Z6KuL/hyXs18XQrz/DGLVetR4SU1BF6jPkqbb8k/img.png?width=240&amp;amp;height=240&amp;amp;face=0_0_240_240');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;MyB 마이비 - 쉽고 간편하게 즐기는 퀴즈형 앱테크 - Google Play 앱&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;MyB 마이비는 짧고 재미있는 퀴즈와 설문을 큰 보상으로 연결하는 퀴즈형 앱테크 입니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;play.google.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;figure id=&quot;og_1731148196167&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;&amp;lrm;MyB 마이비 - 쉽고 간편하게 즐기는 퀴즈형 앱테크&quot; data-og-description=&quot;&amp;lrm;단 1분의 퀴즈로 최대 포인트를 받을 수 있는 퀴즈형 앱테크 마이비! 지금 시작하세요! ■ 취향 퀴즈로 보상을 받으세요! - 재미있고 다양한 퀴즈로 나만의 취향을 발견하고, 포인트를 획득하&quot; data-og-host=&quot;apps.apple.com&quot; data-og-source-url=&quot;https://apps.apple.com/kr/app/myb-%EB%A7%88%EC%9D%B4%EB%B9%84-%EC%89%BD%EA%B3%A0-%EA%B0%84%ED%8E%B8%ED%95%98%EA%B2%8C-%EC%A6%90%EA%B8%B0%EB%8A%94-%ED%80%B4%EC%A6%88%ED%98%95-%EC%95%B1%ED%85%8C%ED%81%AC/id6476365625?l=en-GB&quot; data-og-url=&quot;https://apps.apple.com/kr/app/myb-%EB%A7%88%EC%9D%B4%EB%B9%84-%EC%89%BD%EA%B3%A0-%EA%B0%84%ED%8E%B8%ED%95%98%EA%B2%8C-%EC%A6%90%EA%B8%B0%EB%8A%94-%ED%80%B4%EC%A6%88%ED%98%95-%EC%95%B1%ED%85%8C%ED%81%AC/id6476365625?l=en-GB&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/lNQ46/hyXsUB2g24/ckKBp4Y1rR6axF0Ge0bTpk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/MRpmM/hyXwtCJXxU/OxrnDOZT7aSxDRQNxLIpz0/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot;&gt;&lt;a href=&quot;https://apps.apple.com/kr/app/myb-%EB%A7%88%EC%9D%B4%EB%B9%84-%EC%89%BD%EA%B3%A0-%EA%B0%84%ED%8E%B8%ED%95%98%EA%B2%8C-%EC%A6%90%EA%B8%B0%EB%8A%94-%ED%80%B4%EC%A6%88%ED%98%95-%EC%95%B1%ED%85%8C%ED%81%AC/id6476365625?l=en-GB&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://apps.apple.com/kr/app/myb-%EB%A7%88%EC%9D%B4%EB%B9%84-%EC%89%BD%EA%B3%A0-%EA%B0%84%ED%8E%B8%ED%95%98%EA%B2%8C-%EC%A6%90%EA%B8%B0%EB%8A%94-%ED%80%B4%EC%A6%88%ED%98%95-%EC%95%B1%ED%85%8C%ED%81%AC/id6476365625?l=en-GB&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/lNQ46/hyXsUB2g24/ckKBp4Y1rR6axF0Ge0bTpk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/MRpmM/hyXwtCJXxU/OxrnDOZT7aSxDRQNxLIpz0/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;&amp;lrm;MyB 마이비 - 쉽고 간편하게 즐기는 퀴즈형 앱테크&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;lrm;단 1분의 퀴즈로 최대 포인트를 받을 수 있는 퀴즈형 앱테크 마이비! 지금 시작하세요! ■ 취향 퀴즈로 보상을 받으세요! - 재미있고 다양한 퀴즈로 나만의 취향을 발견하고, 포인트를 획득하&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;apps.apple.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>앱테크</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/263</guid>
      <comments>https://11001.tistory.com/263#entry263comment</comments>
      <pubDate>Sat, 9 Nov 2024 19:30:04 +0900</pubDate>
    </item>
    <item>
      <title>[앱테크] 걷기만 해도 10만 포인트! 최강 앱테크 '손목닥터9988' (월 수익 12000포인트, 현금화 약 13일)</title>
      <link>https://11001.tistory.com/262</link>
      <description>&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;건강 습관 형성:&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;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;이용 방법&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;회원가입:&lt;/b&gt; 손목닥터9988+ 앱을 다운로드하여 회원가입을 진행합니다.&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;/ol&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;루틴 (하루 460p, 월 수익 12000포인트, 현금화 약 13일)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앱 출석 체크 10p&lt;/li&gt;
&lt;li&gt;하루 8천보 200p (꾸준히 걸으면 2주에 한번씩 500p 보너스)&lt;/li&gt;
&lt;li&gt;식단 기록 50p&lt;/li&gt;
&lt;li&gt;캐시 홈트 200p&lt;/li&gt;
&lt;li&gt;드물게 가끔 뜨는 것들
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;건강카드 학습 50p&lt;/li&gt;
&lt;li&gt;건강관리 목표 측정 결과 입력 100p&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&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;서울페이 포인트로 1:1 교환 가능합니다.&lt;/li&gt;
&lt;li&gt;다만 포인트는 최대 10만 포인트 까지만 적립이 가능합니다.&lt;/li&gt;
&lt;/ul&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;a href=&quot;https://play.google.com/store/apps/details?id=kr.go.seoul.healthcare&quot;&gt;구글 플레이 스토어&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://apps.apple.com/kr/app/%EC%86%90%EB%AA%A9%EB%8B%A5%ED%84%B09988/id6456750933&quot;&gt;애플 앱 스토어&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1731147272561&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;손목닥터9988+ - 서울 시민 건강 관리 앱 - Google Play 앱&quot; data-og-description=&quot;서울 시민이 99세까지 88(팔팔)하게 살 수 있도록 건강 활동을 지원합니다. 만보기, 챌린지로 얻은 포인트를 따릉이, 서울페이로 교환해보세요.&quot; data-og-host=&quot;play.google.com&quot; data-og-source-url=&quot;https://play.google.com/store/apps/details?id=kr.go.seoul.healthcare&quot; data-og-url=&quot;https://play.google.com/store/apps/details?id=kr.go.seoul.healthcare&amp;amp;hl=ko&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/egm1SV/hyXwrZdqQl/ekM3LRARkd1NwWsENfnBL1/img.png?width=512&amp;amp;height=512&amp;amp;face=0_0_512_512,https://scrap.kakaocdn.net/dn/biQSwm/hyXsZ4lL6y/FuO3C946vDNch0AO7WGsDK/img.png?width=600&amp;amp;height=300&amp;amp;face=0_0_600_300,https://scrap.kakaocdn.net/dn/cTjS04/hyXsTC7Bv9/uybWlyXatene3aQd0yS3c0/img.png?width=240&amp;amp;height=240&amp;amp;face=0_0_240_240&quot;&gt;&lt;a href=&quot;https://play.google.com/store/apps/details?id=kr.go.seoul.healthcare&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://play.google.com/store/apps/details?id=kr.go.seoul.healthcare&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/egm1SV/hyXwrZdqQl/ekM3LRARkd1NwWsENfnBL1/img.png?width=512&amp;amp;height=512&amp;amp;face=0_0_512_512,https://scrap.kakaocdn.net/dn/biQSwm/hyXsZ4lL6y/FuO3C946vDNch0AO7WGsDK/img.png?width=600&amp;amp;height=300&amp;amp;face=0_0_600_300,https://scrap.kakaocdn.net/dn/cTjS04/hyXsTC7Bv9/uybWlyXatene3aQd0yS3c0/img.png?width=240&amp;amp;height=240&amp;amp;face=0_0_240_240');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;손목닥터9988+ - 서울 시민 건강 관리 앱 - Google Play 앱&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;서울 시민이 99세까지 88(팔팔)하게 살 수 있도록 건강 활동을 지원합니다. 만보기, 챌린지로 얻은 포인트를 따릉이, 서울페이로 교환해보세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;play.google.com&lt;/p&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;figure id=&quot;og_1731147271069&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;&amp;lrm;손목닥터9988+&quot; data-og-description=&quot;&amp;lrm;손목닥터9988+는 서울시 시민이 99세까지 88(팔팔)하게 살 수 있도록 앱과 스마트 워치를 통해 건강 활동을 지원합니다. 손목닥터9988+는 이런게 좋아요! - 매일 기록, 챌린지, 운동 등으로 포인트 &quot; data-og-host=&quot;apps.apple.com&quot; data-og-source-url=&quot;https://apps.apple.com/kr/app/%EC%86%90%EB%AA%A9%EB%8B%A5%ED%84%B09988/id6456750933&quot; data-og-url=&quot;https://apps.apple.com/kr/app/%EC%86%90%EB%AA%A9%EB%8B%A5%ED%84%B09988/id6456750933&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/777Cu/hyXwinETuk/vZj2CQrgJvAihLXo27F7v0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/ZlHuz/hyXwsKAK2v/oJEdimqc2UjcuDI3uafVN1/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot;&gt;&lt;a href=&quot;https://apps.apple.com/kr/app/%EC%86%90%EB%AA%A9%EB%8B%A5%ED%84%B09988/id6456750933&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://apps.apple.com/kr/app/%EC%86%90%EB%AA%A9%EB%8B%A5%ED%84%B09988/id6456750933&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/777Cu/hyXwinETuk/vZj2CQrgJvAihLXo27F7v0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/ZlHuz/hyXwsKAK2v/oJEdimqc2UjcuDI3uafVN1/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;&amp;lrm;손목닥터9988+&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;lrm;손목닥터9988+는 서울시 시민이 99세까지 88(팔팔)하게 살 수 있도록 앱과 스마트 워치를 통해 건강 활동을 지원합니다. 손목닥터9988+는 이런게 좋아요! - 매일 기록, 챌린지, 운동 등으로 포인트&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;apps.apple.com&lt;/p&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;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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;손목닥터-건강기록.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wF06s/btsKD5alsNS/JiRorenZkKBwNLarTWcKD1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wF06s/btsKD5alsNS/JiRorenZkKBwNLarTWcKD1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wF06s/btsKD5alsNS/JiRorenZkKBwNLarTWcKD1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwF06s%2FbtsKD5alsNS%2FJiRorenZkKBwNLarTWcKD1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;375&quot; height=&quot;833&quot; data-filename=&quot;손목닥터-건강기록.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출석체크&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;손목닥터.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bs2C14/btsKDZ9chZW/6vD2jZUDz41s4NtL24wXtK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bs2C14/btsKDZ9chZW/6vD2jZUDz41s4NtL24wXtK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bs2C14/btsKDZ9chZW/6vD2jZUDz41s4NtL24wXtK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbs2C14%2FbtsKDZ9chZW%2F6vD2jZUDz41s4NtL24wXtK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;375&quot; height=&quot;833&quot; data-filename=&quot;손목닥터.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;몸무게 입력&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;손목닥터-몸무게.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqdTRb/btsKDUUkstB/SCfJwJtQecNEz9ElyDIhMK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqdTRb/btsKDUUkstB/SCfJwJtQecNEz9ElyDIhMK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqdTRb/btsKDUUkstB/SCfJwJtQecNEz9ElyDIhMK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqdTRb%2FbtsKDUUkstB%2FSCfJwJtQecNEz9ElyDIhMK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;375&quot; height=&quot;833&quot; data-filename=&quot;손목닥터-몸무게.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;식단 기록&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;손목닥터-식단.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYL049/btsKEdF8653/eojNbhTqk1ESINln7W5fi0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYL049/btsKEdF8653/eojNbhTqk1ESINln7W5fi0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYL049/btsKEdF8653/eojNbhTqk1ESINln7W5fi0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYL049%2FbtsKEdF8653%2FeojNbhTqk1ESINln7W5fi0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;375&quot; height=&quot;833&quot; data-filename=&quot;손목닥터-식단.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;손목닥터-식단기록완료.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dY0LBY/btsKCQFGsS1/7plQtgGe3rcreYH1IXYfx1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dY0LBY/btsKCQFGsS1/7plQtgGe3rcreYH1IXYfx1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dY0LBY/btsKCQFGsS1/7plQtgGe3rcreYH1IXYfx1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdY0LBY%2FbtsKCQFGsS1%2F7plQtgGe3rcreYH1IXYfx1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;375&quot; height=&quot;833&quot; data-filename=&quot;손목닥터-식단기록완료.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;건강카드 퀴즈&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;손목닥터-퀴즈.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VCfPp/btsKCm5GHen/sCwy8DybkGgQvVJMuyErW0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VCfPp/btsKCm5GHen/sCwy8DybkGgQvVJMuyErW0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VCfPp/btsKCm5GHen/sCwy8DybkGgQvVJMuyErW0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVCfPp%2FbtsKCm5GHen%2FsCwy8DybkGgQvVJMuyErW0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;375&quot; height=&quot;833&quot; data-filename=&quot;손목닥터-퀴즈.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;손목닥터-퀴즈정답.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/D5nP9/btsKCjVXIVr/AaegIrMnFEOOCIzjF9nlGk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/D5nP9/btsKCjVXIVr/AaegIrMnFEOOCIzjF9nlGk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/D5nP9/btsKCjVXIVr/AaegIrMnFEOOCIzjF9nlGk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FD5nP9%2FbtsKCjVXIVr%2FAaegIrMnFEOOCIzjF9nlGk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;375&quot; height=&quot;833&quot; data-filename=&quot;손목닥터-퀴즈정답.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서울 페이 전환&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;손목닥터-서울페이 전환.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tizs1/btsKC5bcqIb/n810fMnSYgJoy4smwu3Pk0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tizs1/btsKC5bcqIb/n810fMnSYgJoy4smwu3Pk0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tizs1/btsKC5bcqIb/n810fMnSYgJoy4smwu3Pk0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ftizs1%2FbtsKC5bcqIb%2Fn810fMnSYgJoy4smwu3Pk0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;375&quot; height=&quot;833&quot; data-filename=&quot;손목닥터-서울페이 전환.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;2400&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>앱테크</category>
      <category>앱테크</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/262</guid>
      <comments>https://11001.tistory.com/262#entry262comment</comments>
      <pubDate>Sat, 9 Nov 2024 19:14:39 +0900</pubDate>
    </item>
    <item>
      <title>옵시디언(obsidian) - 새 노트의 기본 저장 위치 변경하기</title>
      <link>https://11001.tistory.com/261</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;혹은 &lt;b&gt;새 노트를 만들 위치&amp;nbsp;- 아래에 지정된 폴더 선택&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;918&quot; data-origin-height=&quot;672&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c3qwjp/btsKCZhEJ1H/X8VBFHz2WfylYIsyIW0i8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c3qwjp/btsKCZhEJ1H/X8VBFHz2WfylYIsyIW0i8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c3qwjp/btsKCZhEJ1H/X8VBFHz2WfylYIsyIW0i8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3qwjp%2FbtsKCZhEJ1H%2FX8VBFHz2WfylYIsyIW0i8k%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;918&quot; height=&quot;672&quot; data-origin-width=&quot;918&quot; data-origin-height=&quot;672&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 아래에 있는&amp;nbsp;&lt;b&gt;새 노트를 만들 폴더 - 폴더경로 &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;/links 와 같은 폴더 경로로 지정해줍니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;911&quot; data-origin-height=&quot;667&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cdTL5m/btsKDjAfdt8/EXLa0aLzOlEDTbOkj3erS0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cdTL5m/btsKDjAfdt8/EXLa0aLzOlEDTbOkj3erS0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cdTL5m/btsKDjAfdt8/EXLa0aLzOlEDTbOkj3erS0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcdTL5m%2FbtsKDjAfdt8%2FEXLa0aLzOlEDTbOkj3erS0%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;911&quot; height=&quot;667&quot; data-origin-width=&quot;911&quot; data-origin-height=&quot;667&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>옵시디언</category>
      <category>오블완</category>
      <category>티스토리챌린지</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/261</guid>
      <comments>https://11001.tistory.com/261#entry261comment</comments>
      <pubDate>Sat, 9 Nov 2024 16:28:59 +0900</pubDate>
    </item>
    <item>
      <title>옵시디언(obsidian) - 첨부 파일(이미지)의 기본 저장 위치 변경하기</title>
      <link>https://11001.tistory.com/260</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;옵시디언에서&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;이미지를 붙여넣기&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;하면&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;루트&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&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;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;옵시디언의&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;preference&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;창을 열어줍니다. (맥북 기준으로 좌측 상단 Obsidian 클릭하면 나옴)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;새 첨부 파일을 만들 위치 - &lt;/b&gt;&lt;b&gt;아래에 지정된 폴더&lt;/b&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;를 선택해줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;814&quot; data-origin-height=&quot;636&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dCixWG/btsKClFAUht/aVDhIt7T3YT0dZmk5887rk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dCixWG/btsKClFAUht/aVDhIt7T3YT0dZmk5887rk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dCixWG/btsKClFAUht/aVDhIt7T3YT0dZmk5887rk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdCixWG%2FbtsKClFAUht%2FaVDhIt7T3YT0dZmk5887rk%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;814&quot; height=&quot;636&quot; data-origin-width=&quot;814&quot; data-origin-height=&quot;636&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt; 기본적으로 &lt;b&gt;attachments&lt;/b&gt; 폴더로 이름이 지정되며 저는 그대로 사용하기로 했습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;571&quot; data-origin-height=&quot;138&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dreGHj/btsKD07Ytol/A7y74Nxg68X5CfJa2OlncK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dreGHj/btsKD07Ytol/A7y74Nxg68X5CfJa2OlncK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dreGHj/btsKD07Ytol/A7y74Nxg68X5CfJa2OlncK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdreGHj%2FbtsKD07Ytol%2FA7y74Nxg68X5CfJa2OlncK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;571&quot; height=&quot;138&quot; data-origin-width=&quot;571&quot; data-origin-height=&quot;138&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첨부파일을 붙연허기 하면 아래와 같이 &lt;b&gt;attachments &lt;/b&gt;폴더 아래에 쌓이는 것을 확인하실 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;293&quot; data-origin-height=&quot;68&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dny8i4/btsKCnckHWS/YG0s5kSDpHAMgJBtjKo8i1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dny8i4/btsKCnckHWS/YG0s5kSDpHAMgJBtjKo8i1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dny8i4/btsKCnckHWS/YG0s5kSDpHAMgJBtjKo8i1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdny8i4%2FbtsKCnckHWS%2FYG0s5kSDpHAMgJBtjKo8i1%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;293&quot; height=&quot;68&quot; data-origin-width=&quot;293&quot; data-origin-height=&quot;68&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>옵시디언</category>
      <category>오블완</category>
      <category>티스토리챌린지</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/260</guid>
      <comments>https://11001.tistory.com/260#entry260comment</comments>
      <pubDate>Sat, 9 Nov 2024 12:17:12 +0900</pubDate>
    </item>
    <item>
      <title>안드로이드폰을 맥북에 연결하는 법</title>
      <link>https://11001.tistory.com/259</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;624&quot; data-origin-height=&quot;414&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kNrYV/btsKDzCFDt5/4i6shVXxkVqdKMtf0mpcqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kNrYV/btsKDzCFDt5/4i6shVXxkVqdKMtf0mpcqk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kNrYV/btsKDzCFDt5/4i6shVXxkVqdKMtf0mpcqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkNrYV%2FbtsKDzCFDt5%2F4i6shVXxkVqdKMtf0mpcqk%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;624&quot; height=&quot;414&quot; data-origin-width=&quot;624&quot; data-origin-height=&quot;414&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안드로이드 폰을 맥북은 연결을 해도 반응하지 않네요 어떻게 해야할까요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;간단하게 파일 하나만 설치하면 해결됩니다.&lt;/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://android.p2hp.com/filetransfer/index.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://android.p2hp.com/filetransfer/index.html&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1731074199065&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;새로운 Windows용 Quick Share 앱 | Android&quot; data-og-description=&quot;Windows용 Quick Share 앱을 다운로드하여 Android 기기와 Windows PC 간에 사진, 문서 등을 무선으로 공유하세요.&quot; data-og-host=&quot;www.android.com&quot; data-og-source-url=&quot;https://android.p2hp.com/filetransfer/index.html&quot; data-og-url=&quot;https://www.android.com/filetransfer/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/xYSOG/hyXs0hN98F/GVFjRIevo7vATLqLHSP5ck/img.png?width=512&amp;amp;height=287&amp;amp;face=0_0_512_287,https://scrap.kakaocdn.net/dn/wXLDP/hyXsW0LlDN/jKLIA6IrphvaXKtIFQw0hK/img.png?width=512&amp;amp;height=287&amp;amp;face=0_0_512_287,https://scrap.kakaocdn.net/dn/clGRoJ/hyXwiHR2i1/E4XzFhALyyYKTvcWkjagfk/img.png?width=512&amp;amp;height=512&amp;amp;face=0_0_512_512&quot;&gt;&lt;a href=&quot;https://android.p2hp.com/filetransfer/index.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://android.p2hp.com/filetransfer/index.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/xYSOG/hyXs0hN98F/GVFjRIevo7vATLqLHSP5ck/img.png?width=512&amp;amp;height=287&amp;amp;face=0_0_512_287,https://scrap.kakaocdn.net/dn/wXLDP/hyXsW0LlDN/jKLIA6IrphvaXKtIFQw0hK/img.png?width=512&amp;amp;height=287&amp;amp;face=0_0_512_287,https://scrap.kakaocdn.net/dn/clGRoJ/hyXwiHR2i1/E4XzFhALyyYKTvcWkjagfk/img.png?width=512&amp;amp;height=512&amp;amp;face=0_0_512_512');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;새로운 Windows용 Quick Share 앱 | Android&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Windows용 Quick Share 앱을 다운로드하여 Android 기기와 Windows PC 간에 사진, 문서 등을 무선으로 공유하세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.android.com&lt;/p&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;링크에서 다운로드 후 설치 -&amp;gt; 실행 후 usb 로 연결하시면 연결됩니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>오블완</category>
      <category>티스토리챌린지</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/259</guid>
      <comments>https://11001.tistory.com/259#entry259comment</comments>
      <pubDate>Fri, 8 Nov 2024 22:43:33 +0900</pubDate>
    </item>
    <item>
      <title>&amp;quot;개발자가 학습을 중단하는 방법: Expert Beginner의 부상&amp;quot; 리뷰</title>
      <link>https://11001.tistory.com/257</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;DALL&amp;amp;middot;E 2024-11-03 17.25.26 - A modern, digital illustration representing the concept of a developer's stagnation. The image should include a silhouette of a developer sitting at a.webp&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/buHcnA/btsKt6IBQJr/THZGjMiaAqRU70JMqTYL4k/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/buHcnA/btsKt6IBQJr/THZGjMiaAqRU70JMqTYL4k/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/buHcnA/btsKt6IBQJr/THZGjMiaAqRU70JMqTYL4k/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuHcnA%2FbtsKt6IBQJr%2FTHZGjMiaAqRU70JMqTYL4k%2Fimg.webp&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;489&quot; height=&quot;489&quot; data-filename=&quot;DALL&amp;middot;E 2024-11-03 17.25.26 - A modern, digital illustration representing the concept of a developer's stagnation. The image should include a silhouette of a developer sitting at a.webp&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;초보 전문가(Expert Beginner) 를 읽고&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;최근에 &lt;b&gt;&quot;초보 전문가(Expert&amp;nbsp;Beginner)&quot; &lt;/b&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;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;저는 옛날부터 이런 사람들을 &lt;/span&gt;&lt;b&gt;&quot;자리 지킴이&quot; &lt;/b&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;라고 부르는데요. 보통 대기업에 &lt;b&gt;높은 직급에 있지만 무슨 일을 하는 지 알 수는 없는 그런 사람들&lt;/b&gt;을 그렇게 부르곤 했습니다. 본인이  하는 일이라곤 그저 자리를 키지고 있는 것 뿐인 사회의 암적인 존재들.&lt;/span&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;근데 저도 나이 먹을 수록 현실에 안주하려고 하는 거 같고. 그런 사람이 되는거 같다는 생각이 많이 들면서 크게 반성하게 되었습니다.&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;h2 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;전체 요약&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;일정 수준의 능력을 얻고 나서 학습을 멈추면 '&lt;b&gt;초보 전문가(Expert Beginner)&lt;/b&gt;' 단계에 머물게 됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;초보 전문가&lt;/b&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;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;초보 전문가가&lt;/b&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;이를 막기 위해선 지속적 학습과 건강한 리더십이 필수적입니다.&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;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;초보 전문가&lt;/b&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 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;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;파트 별 요약&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://daedtech.com/how-developers-stop-learning-rise-of-the-expert-beginner/&quot;&gt;&lt;span&gt;&quot;How&lt;/span&gt;&lt;span&gt; Developers&lt;/span&gt;&lt;span&gt; Stop&lt;/span&gt;&lt;span&gt; Learning&lt;/span&gt;&lt;span&gt;: The&lt;/span&gt;&lt;span&gt; Rise&lt;/span&gt;&lt;span&gt; of&lt;/span&gt;&lt;span&gt; the&lt;/span&gt;&lt;span&gt; Expert&lt;/span&gt;&lt;span&gt; Beginner&quot;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;핵심 개념: 초보 전문가(Expert Beginner)&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;초보 전문가란?&lt;/b&gt; 특정 기술이나 지식에서 일정 수준 이상의 실력을 가진 것처럼 보이지만, 실제로는 충분한 깊이와 다양한 경험이 결여된 상태입니다. 겉으로는 숙련된 것처럼 보이지만 진정한 고수는 아닌 사람을 말합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;초보 전문가가 형성되는 과정&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&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;/ol&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;새로운 방법 거부&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;/ul&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;지속적 학습과 피드백&lt;/b&gt;: 기술적 성장을 위해 지속적으로 학습하고, 다른 개발자와 피드백을 주고받는 태도를 유지하는 것이 중요합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;실력 향상에 대한 열정&lt;/b&gt;: 현재의 능력에 만족하지 않고 항상 더 나아지려는 태도를 가지는 것이 초보 전문가로 머무는 것을 방지하는 핵심입니다.&lt;/li&gt;
&lt;/ul&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://daedtech.com/how-software-groups-rot-legacy-of-the-expert-beginner/&quot;&gt;&lt;span&gt;&quot;How&lt;/span&gt;&lt;span&gt; Software&lt;/span&gt;&lt;span&gt; Groups&lt;/span&gt;&lt;span&gt; Rot&lt;/span&gt;&lt;span&gt;: Legacy&lt;/span&gt;&lt;span&gt; of&lt;/span&gt;&lt;span&gt; the&lt;/span&gt;&lt;span&gt; Expert&lt;/span&gt;&lt;span&gt; Beginner&quot;&lt;/span&gt;&lt;/a&gt;,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;/li&gt;
&lt;li&gt;&lt;b&gt;해결 방안&lt;/b&gt;: 조직은 초보 전문가의 과신과 배타적인 문화를 경계하고, 지속적인 학습과 올바른 리더십을 통해 조직의 건강한 발전을 도모해야 합니다.&lt;/li&gt;
&lt;/ul&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://daedtech.com/how-stagnation-is-justified-language-of-the-expert-beginner/&quot;&gt;&lt;span&gt;&quot;How&lt;/span&gt;&lt;span&gt; Stagnation&lt;/span&gt;&lt;span&gt; is&lt;/span&gt;&lt;span&gt; Justified&lt;/span&gt;&lt;span&gt;: Language&lt;/span&gt;&lt;span&gt; of&lt;/span&gt;&lt;span&gt; the&lt;/span&gt;&lt;span&gt; Expert&lt;/span&gt;&lt;span&gt; Beginner&quot;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;/li&gt;
&lt;li&gt;&lt;b&gt;성장을 위한 경계&lt;/b&gt;: 이러한 정체 언어를 피하고, 학습과 개선을 위한 개방적 사고와 태도가 필요합니다.\&lt;/li&gt;
&lt;/ul&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://daedtech.com/up-or-not-ambition-of-the-expert-beginner/&quot;&gt;&lt;span&gt;&quot;Up&lt;/span&gt;&lt;span&gt; or&lt;/span&gt;&lt;span&gt; Not&lt;/span&gt;&lt;span&gt;: Ambition&lt;/span&gt;&lt;span&gt; of&lt;/span&gt;&lt;span&gt; the&lt;/span&gt;&lt;span&gt; Expert&lt;/span&gt;&lt;span&gt; Beginner&quot;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;/li&gt;
&lt;li&gt;&lt;b&gt;올바른 성장과 리더십&lt;/b&gt;: 조직은 진정한 성장을 촉진하기 위해 능력과 학습에 대한 열정을 가진 리더를 장려해야 합니다.&lt;/li&gt;
&lt;/ul&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발자 이야기</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/257</guid>
      <comments>https://11001.tistory.com/257#entry257comment</comments>
      <pubDate>Sun, 3 Nov 2024 17:23:21 +0900</pubDate>
    </item>
    <item>
      <title>마크다운 기반의 강력한 노트 작성 도구 - 옵시디언(Obsidian)</title>
      <link>https://11001.tistory.com/256</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;225&quot; data-origin-height=&quot;225&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbR1wH/btsKt9ZBEsu/tKIkrK6j7PyZRn5BqW3N4k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbR1wH/btsKt9ZBEsu/tKIkrK6j7PyZRn5BqW3N4k/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbR1wH/btsKt9ZBEsu/tKIkrK6j7PyZRn5BqW3N4k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbR1wH%2FbtsKt9ZBEsu%2FtKIkrK6j7PyZRn5BqW3N4k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;225&quot; height=&quot;225&quot; data-origin-width=&quot;225&quot; data-origin-height=&quot;225&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;옵시디언(Obsidian)은 마크다운 기반의 강력한 노트 작성 도구로, 지식 관리와 아이디어 정리에 탁월합니다. 효과적인 사용을 위해 다음과 같은 팁과 유용한 플러그인을 소개합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용 팁:&lt;/b&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;b&gt;보관함(Vault) 생성 및 관리:&lt;/b&gt; 보관함은 노트를 저장하는 기본 단위입니다. 주제나 프로젝트별로 보관함을 생성하여 체계적으로 관리하세요. &lt;span&gt;&lt;/span&gt;&lt;a href=&quot;https://www.magicaiprompts.com/blog/obsidian-usage-guide-for-beginners&quot;&gt;&lt;span&gt;Magical AI Prompts&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;노트 연결:&lt;/b&gt; 옵시디언의 핵심 기능 중 하나는 노트 간의 링크를 통해 지식을 네트워크처럼 연결하는 것입니다. '[[노트 이름]]' 형식으로 다른 노트에 링크를 걸어 관련 정보를 쉽게 참조할 수 있습니다. &lt;span&gt;&lt;/span&gt;&lt;a href=&quot;https://m.blog.naver.com/dreamboy-/223290944396&quot;&gt;&lt;span&gt;Naver Blog&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;마크다운 문법 활용:&lt;/b&gt; 옵시디언은 마크다운을 사용하여 노트를 작성합니다. 제목, 리스트, 강조 등 기본 문법을 익혀 효율적으로 문서를 작성하세요. &lt;span&gt;&lt;/span&gt;&lt;a href=&quot;https://modugachi.com/entry/%EC%98%B5%EC%8B%9C%EB%94%94%EC%96%B8Obsidian-%EC%82%AC%EC%9A%A9%EB%B2%95-%EB%A7%88%ED%81%AC%EB%8B%A4%EC%9A%B4-%EB%AC%B8%EB%B2%95-%EC%A0%95%EB%A6%AC-%ED%91%9C-%ED%95%9C-%EB%88%88%EC%97%90-%EC%89%BD%EA%B2%8C-%EA%BF%80%ED%8C%81&quot;&gt;&lt;span&gt;모두가치&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;그래프 뷰 활용:&lt;/b&gt; 노트 간의 연결 관계를 시각적으로 보여주는 그래프 뷰를 통해 지식 구조를 한눈에 파악할 수 있습니다. 이를 통해 아이디어의 연관성을 쉽게 이해하고 관리할 수 있습니다. &lt;span&gt;&lt;/span&gt;&lt;a href=&quot;https://statisticsplaybook.com/how-to-use-obsidian/&quot;&gt;&lt;span&gt;Statistics Playbook&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;유용한 플러그인 추천:&lt;/b&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;b&gt;Editing Toolbar:&lt;/b&gt; 마크다운 문법을 몰라도 서식을 쉽게 적용할 수 있도록 도와주는 툴바를 제공합니다. &lt;span&gt;&lt;/span&gt;&lt;a href=&quot;https://velog.io/%40yongtae923/obsidian-tutorial-8&quot;&gt;&lt;span&gt;벨로그&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Excalidraw:&lt;/b&gt; 손으로 그린 듯한 다이어그램, 마인드맵 등을 작성할 수 있는 플러그인으로, 시각적 콘텐츠 생성에 유용합니다. &lt;span&gt;&lt;/span&gt;&lt;a href=&quot;https://modugachi.com/entry/%EC%98%B5%EC%8B%9C%EB%94%94%EC%96%B8Obsidian-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%9C%A0%EC%9A%A9%ED%95%9C-%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8-10%EA%B0%80%EC%A7%80-%EC%B6%94%EC%B2%9C-%EB%B0%8F-%ED%99%9C%EC%9A%A9-%EA%BF%80%ED%8C%81&quot;&gt;&lt;span&gt;모두가치&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Templater:&lt;/b&gt; 반복적인 노트 작성 작업을 자동화할 수 있는 템플릿 기능을 제공합니다. &lt;span&gt;&lt;/span&gt;&lt;a href=&quot;https://modugachi.com/entry/%EC%98%B5%EC%8B%9C%EB%94%94%EC%96%B8Obsidian-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%9C%A0%EC%9A%A9%ED%95%9C-%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8-10%EA%B0%80%EC%A7%80-%EC%B6%94%EC%B2%9C-%EB%B0%8F-%ED%99%9C%EC%9A%A9-%EA%BF%80%ED%8C%81&quot;&gt;&lt;span&gt;모두가치&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Calendar:&lt;/b&gt; 일간, 주간, 월간 노트를 캘린더 형태로 관리할 수 있어 일정 관리에 도움이 됩니다. &lt;span&gt;&lt;/span&gt;&lt;a href=&quot;https://modugachi.com/entry/%EC%98%B5%EC%8B%9C%EB%94%94%EC%96%B8Obsidian-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%9C%A0%EC%9A%A9%ED%95%9C-%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8-10%EA%B0%80%EC%A7%80-%EC%B6%94%EC%B2%9C-%EB%B0%8F-%ED%99%9C%EC%9A%A9-%EA%BF%80%ED%8C%81&quot;&gt;&lt;span&gt;모두가치&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Dataview:&lt;/b&gt; 노트 데이터를 쿼리하여 테이블, 리스트 등으로 표시할 수 있어 데이터베이스처럼 활용할 수 있습니다. &lt;span&gt;&lt;/span&gt;&lt;a href=&quot;https://s-ji.tistory.com/12&quot;&gt;&lt;span&gt;S-Ji&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Advanced Tables:&lt;/b&gt; 마크다운 테이블 편집을 간편하게 도와주는 플러그인으로, 테이블 작성 시 유용합니다. &lt;span&gt;&lt;/span&gt;&lt;a href=&quot;https://modugachi.com/entry/%EC%98%B5%EC%8B%9C%EB%94%94%EC%96%B8Obsidian-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%9C%A0%EC%9A%A9%ED%95%9C-%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8-10%EA%B0%80%EC%A7%80-%EC%B6%94%EC%B2%9C-%EB%B0%8F-%ED%99%9C%EC%9A%A9-%EA%BF%80%ED%8C%81&quot;&gt;&lt;span&gt;모두가치&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Kanban:&lt;/b&gt; 작업을 시각적으로 관리할 수 있는 칸반 보드를 제공합니다. &lt;span&gt;&lt;/span&gt;&lt;a href=&quot;https://modugachi.com/entry/%EC%98%B5%EC%8B%9C%EB%94%94%EC%96%B8Obsidian-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%9C%A0%EC%9A%A9%ED%95%9C-%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8-10%EA%B0%80%EC%A7%80-%EC%B6%94%EC%B2%9C-%EB%B0%8F-%ED%99%9C%EC%9A%A9-%EA%BF%80%ED%8C%81&quot;&gt;&lt;span&gt;모두가치&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Mind Map:&lt;/b&gt; 마인드맵을 통해 아이디어를 구조화하고 시각적으로 표현할 수 있습니다. &lt;span&gt;&lt;/span&gt;&lt;a href=&quot;https://modugachi.com/entry/%EC%98%B5%EC%8B%9C%EB%94%94%EC%96%B8Obsidian-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%9C%A0%EC%9A%A9%ED%95%9C-%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8-10%EA%B0%80%EC%A7%80-%EC%B6%94%EC%B2%9C-%EB%B0%8F-%ED%99%9C%EC%9A%A9-%EA%BF%80%ED%8C%81&quot;&gt;&lt;span&gt;모두가치&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Folder Note:&lt;/b&gt; 폴더를 하나의 노트처럼 사용하여 폴더에 대한 설명이나 MOC(Map of Content)를 구성할 수 있습니다. &lt;span&gt;&lt;/span&gt;&lt;a href=&quot;https://kaminik.tistory.com/entry/%EC%98%B5%EC%8B%9C%EB%94%94%EC%96%B8-%EC%8B%A0%EA%B7%9C%EC%82%AC%EC%9A%A9%EC%9E%90%EB%A5%BC-%EC%9C%84%ED%95%9C-%ED%95%84%EC%88%98-%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8-10%EC%84%A0&quot;&gt;&lt;span&gt;카미닉&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Recent Files:&lt;/b&gt; 최근에 열었거나 작업한 파일들을 빠르게 접근할 수 있도록 도와줍니다. &lt;span&gt;&lt;/span&gt;&lt;a href=&quot;https://kaminik.tistory.com/entry/%EC%98%B5%EC%8B%9C%EB%94%94%EC%96%B8-%EC%8B%A0%EA%B7%9C%EC%82%AC%EC%9A%A9%EC%9E%90%EB%A5%BC-%EC%9C%84%ED%95%9C-%ED%95%84%EC%88%98-%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8-10%EC%84%A0&quot;&gt;&lt;span&gt;카미닉&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&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;b&gt;1. 연구 및 학습 프로젝트&lt;/b&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;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 프로젝트 관리 및 브레인스토밍&lt;/b&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;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. 책 읽기 및 서평 작성&lt;/b&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;/ul&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;&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;b&gt;1. 커뮤니티 플러그인 활성화:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;옵시디언을 실행하고 설정(Settings) 메뉴로 이동합니다.&lt;/li&gt;
&lt;li&gt;좌측의 메뉴에서 &lt;b&gt;&amp;ldquo;Community plugins&amp;rdquo;&lt;/b&gt; 섹션을 클릭합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&amp;ldquo;Turn on community plugins&amp;rdquo;&lt;/b&gt; 옵션을 활성화합니다. 기본적으로 옵시디언은 안전을 위해 커뮤니티 플러그인을 비활성화한 상태로 제공됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 플러그인 검색 및 설치:&lt;/b&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;&amp;ldquo;Browse&amp;rdquo;&lt;/b&gt; 버튼을 클릭하여 커뮤니티 플러그인 브라우저를 엽니다.&lt;/li&gt;
&lt;li&gt;원하는 플러그인의 이름을 검색 창에 입력하여 검색하거나 추천 플러그인 목록에서 찾습니다.&lt;/li&gt;
&lt;li&gt;설치하려는 플러그인을 클릭한 후 &lt;b&gt;&amp;ldquo;Install&amp;rdquo;&lt;/b&gt; 버튼을 눌러 설치를 진행합니다.&lt;/li&gt;
&lt;li&gt;설치가 완료되면 &lt;b&gt;&amp;ldquo;Enable&amp;rdquo;&lt;/b&gt; 버튼을 클릭하여 플러그인을 활성화합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. 플러그인 설정 관리:&lt;/b&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;&amp;ldquo;Installed plugins&amp;rdquo;&lt;/b&gt; 섹션에서 확인할 수 있습니다.&lt;/li&gt;
&lt;li&gt;플러그인 목록에서 특정 플러그인을 클릭하면 해당 플러그인의 설정 옵션을 조정할 수 있습니다. 각 플러그인마다 사용자 설정이 다르기 때문에, 플러그인별로 필요한 옵션을 확인하고 구성하세요.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. 플러그인 업데이트 및 삭제:&lt;/b&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;&amp;ldquo;Community plugins&amp;rdquo;&lt;/b&gt; 섹션에서 업데이트 알림을 받을 수 있습니다.&lt;/li&gt;
&lt;li&gt;각 플러그인 옆에 있는 &lt;b&gt;&amp;ldquo;Update&amp;rdquo;&lt;/b&gt; 버튼을 눌러 최신 버전으로 업데이트할 수 있습니다.&lt;/li&gt;
&lt;li&gt;플러그인을 제거하려면 &lt;b&gt;&amp;ldquo;Installed plugins&amp;rdquo;&lt;/b&gt; 목록에서 플러그인 이름 옆의 &lt;b&gt;&amp;ldquo;Uninstall&amp;rdquo;&lt;/b&gt; 버튼을 클릭합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5. 플러그인 보안 고려사항:&lt;/b&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;이 절차를 따르면 옵시디언에서 원하는 기능을 추가하고 커스터마이즈하여 더 편리하게 노트를 관리할 수 있습니다.&lt;/p&gt;</description>
      <category>옵시디언</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/256</guid>
      <comments>https://11001.tistory.com/256#entry256comment</comments>
      <pubDate>Sun, 3 Nov 2024 16:27:11 +0900</pubDate>
    </item>
    <item>
      <title>tsconfig의 moduleResolution 란?</title>
      <link>https://11001.tistory.com/255</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;일하면서 메모 차원에서 남기는 게시글입니다.&lt;br /&gt;&lt;br /&gt;tsconfig.json에서 &lt;b&gt;moduleResolution&lt;/b&gt; 옵션은 TypeScript가 모듈을 &lt;b&gt;어떻게 해석&lt;/b&gt;할지를 정의하는 설정입니다. 이는 TypeScript가 import나 require로 모듈을 가져올 때, 해당 모듈을 어디서 찾고 어떤 방식으로 해석할지 결정하는 중요한 부분입니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. &lt;b&gt;기본 설명&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;moduleResolution은 TypeScript 컴파일러가 모듈 경로를 찾는 방식(모듈 해석 전략)을 결정합니다. TypeScript는 두 가지 기본적인 모듈 해석 전략을 제공합니다:&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;node&lt;/b&gt;: Node.js의 모듈 해석 방식과 동일한 방식입니다. node_modules 디렉토리를 탐색하며, .js, .jsx, .ts, .tsx, .json 확장자를 가진 파일을 찾습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;classic&lt;/b&gt;: TypeScript 1.6 이전에 사용되던 모듈 해석 방식입니다. ECMAScript 모듈 시스템을 따르며, 주로 전통적인 브라우저 환경에서 사용됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. &lt;b&gt;moduleResolution 값&lt;/b&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;node&lt;/b&gt;: Node.js의 모듈 시스템을 기반으로 모듈을 해석합니다. 대부분의 프로젝트에서 이 옵션을 사용합니다. Node.js에서 모듈을 찾는 방식과 유사하며, node_modules에서 모듈을 찾습니다.이 방식에서는 import나 require로 모듈을 가져올 때, 해당 모듈이 로컬 디렉토리 또는 node_modules 디렉토리에서 찾을 수 있습니다. 해당 모듈이 패키지에 없으면 상위 디렉토리로 올라가면서 탐색합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1728018186418&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;typescript&quot;&gt;&lt;code&gt;{
  &quot;compilerOptions&quot;: {
    &quot;moduleResolution&quot;: &quot;node&quot;
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;classic&lt;/b&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;: TypeScript의 초기 버전에서 사용하던 방식으로, 모듈을 현재 디렉토리와 그 상위 디렉토리에서만 찾습니다. node_modules 디렉토리를 탐색하지 않으며, 브라우저 환경에서의 전통적인 파일 참조 방식과 유사합니다.이 방식은 주로 레거시 코드를 위해 사용되며, import된 모듈을 현재 디렉토리와 그 상위 디렉토리에서만 찾습니다.&lt;/span&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1728018209634&quot; class=&quot;typescript&quot; data-ke-language=&quot;typescript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;{
  &quot;compilerOptions&quot;: {
    &quot;moduleResolution&quot;: &quot;classic&quot;
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. &lt;b&gt;기타 관련 설정&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;moduleResolution은 모듈을 찾는 과정에서 다른 설정들과도 밀접한 관련이 있습니다:&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;baseUrl&lt;/b&gt;: 모듈 해석의 기본 경로를 설정합니다. baseUrl을 설정하면 import 시 상대 경로뿐만 아니라, baseUrl로부터의 경로도 사용할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;paths&lt;/b&gt;: 모듈 해석 경로에 대한 별칭을 설정할 수 있습니다. paths 옵션은 모듈을 특정 경로로 매핑하는 데 유용합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;rootDirs&lt;/b&gt;: TypeScript에서 여러 디렉토리를 논리적으로 결합하여 하나의 디렉토리인 것처럼 취급할 때 사용됩니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;module&lt;/b&gt;: TypeScript의 출력 모듈 시스템을 설정합니다. 이 값에 따라 moduleResolution의 기본값이 달라질 수 있습니다. 예를 들어, module: esnext일 때는 기본적으로 moduleResolution: node가 사용됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. &lt;b&gt;Node.js 방식 vs Classic 방식&lt;/b&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;Node 방식&lt;/b&gt;: 파일 확장자를 자동으로 추가하거나, 패키지 내의 index 파일을 자동으로 불러오는 기능을 제공합니다. 예를 들어, import { x } from './module'에서 module.js나 module/index.js 파일을 자동으로 찾습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Classic 방식&lt;/b&gt;: 브라우저에서 스크립트를 로드할 때처럼, 파일 경로를 엄격하게 따릅니다. 즉, ./module을 import할 때 해당 파일이 정확히 존재해야 하며, 확장자를 자동으로 추론하지 않습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;예시&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Node 방식 모듈 해석 (기본)&lt;/h4&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;pre id=&quot;code_1728018220923&quot; class=&quot;typescript&quot; data-ke-language=&quot;typescript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;{
  &quot;compilerOptions&quot;: {
    &quot;module&quot;: &quot;commonjs&quot;,
    &quot;moduleResolution&quot;: &quot;node&quot;
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Classic 방식 모듈 해석&lt;/h4&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;pre id=&quot;code_1728018229072&quot; class=&quot;typescript&quot; data-ke-language=&quot;typescript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;{
  &quot;compilerOptions&quot;: {
    &quot;module&quot;: &quot;es2015&quot;,
    &quot;moduleResolution&quot;: &quot;classic&quot;
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;moduleResolution: &quot;bundler&quot;는 TypeScript 5.0에서 도입된 새로운 모듈 해석 전략으로, 번들러(예: Vite, Webpack, esbuild)가 모듈을 처리하는 방식을 더 잘 반영하기 위해 만들어졌습니다. 이 옵션은 번들러가 처리하는 방식과 유사한 방식으로 모듈을 해석하도록 TypeScript를 설정합니다. 번들러들이 자체적으로 모듈을 처리할 때 TypeScript와 충돌이 일어나지 않도록 최적화된 방식입니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;주요 특징 및 동작 방식&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;Ecosystem Alignment&lt;/b&gt;: 번들러들이 모듈을 처리하는 방식과 더 유사하게 작동합니다. 번들러는 Node.js의 해석 방식을 따르지만, 때때로 TypeScript의 node 모듈 해석 방식과 다르게 동작할 수 있습니다. bundler 옵션은 이러한 차이를 조정하여 TypeScript가 번들러와 동일하게 모듈을 처리하도록 돕습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;최적화된 동작&lt;/b&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;: 번들러들이 일반적으로 .js, .ts, .jsx, .tsx 등의 확장자를 자동으로 해석하고 처리하는 것처럼, bundler 해석 모드도 확장자를 명시하지 않아도 자동으로 처리합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;패키지 처리&lt;/b&gt;: Node.js 스타일로 패키지 내 package.json의 main 또는 exports 필드를 읽어서, 번들러가 처리하는 방식과 유사하게 모듈을 찾습니다. 이는 TypeScript가 번들러 환경에서 패키지를 처리하는 방식과 더 일치하게 만듭니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Alias 및 Paths 매핑&lt;/b&gt;: 번들러에서 alias 설정을 사용하거나, TypeScript에서 paths 옵션을 설정하여 경로 별칭을 사용하는 경우, bundler 모듈 해석 방식은 이러한 별칭을 더 일관성 있게 처리합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESM과의 호환성&lt;/b&gt;: 번들러들이 ESM(ES Modules)을 처리하는 방식과 호환되도록 최적화되어 있습니다. TypeScript가 ESM 모듈을 해석할 때, 번들러와 같은 방식으로 파일과 모듈을 찾습니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;moduleResolution: &quot;bundler&quot;가 필요한 경우&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;: Vite, esbuild, Webpack 등 최신 번들러를 사용하여 프로젝트를 빌드하는 경우, 번들러의 모듈 해석 방식과 TypeScript의 해석 방식이 충돌하지 않도록 도와줍니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESM 및 CommonJS 모듈이 혼재된 프로젝트&lt;/b&gt;: 번들러들이 혼합된 ESM 및 CommonJS 모듈을 처리하는 방식에 맞춰, TypeScript도 적절히 모듈을 해석합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;경로 Alias 사용&lt;/b&gt;: 번들러의 경로 별칭(예: Webpack의 resolve.alias 또는 Vite의 alias 설정)과 TypeScript의 paths 설정을 함께 사용할 때, bundler 옵션은 모듈 해석의 일관성을 유지하는 데 도움을 줍니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;예시&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre id=&quot;code_1728018243756&quot; class=&quot;typescript&quot; data-ke-language=&quot;typescript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;{
  &quot;compilerOptions&quot;: {
    &quot;module&quot;: &quot;esnext&quot;,
    &quot;moduleResolution&quot;: &quot;bundler&quot;,
    &quot;paths&quot;: {
      &quot;@components/*&quot;: [&quot;src/components/*&quot;]
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 설정에서 TypeScript는 번들러가 파일을 찾는 방식과 동일하게 모듈을 해석하며, @components/*와 같은 경로 별칭도 번들러 방식으로 처리합니다.&lt;/p&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;moduleResolution: &quot;bundler&quot;는 TypeScript가 모듈을 해석하는 방식만을 변경할 뿐, 실제 번들링 과정은 번들러가 수행합니다. 즉, 번들링 자체는 여전히 Webpack, Vite, esbuild와 같은 도구가 처리하게 됩니다.&lt;/li&gt;
&lt;li&gt;최신 번들러와의 호환성에 초점을 맞추고 있기 때문에, 번들러가 모듈을 처리하는 방식에 따라 달라질 수 있는 일부 모호한 모듈 해석 문제를 해결하는 데 도움을 줍니다.&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;moduleResolution: &quot;bundler&quot;는 번들러 환경에서 TypeScript가 모듈을 보다 일관성 있게 처리하도록 돕는 설정입니다. 번들러가 모듈을 해석하는 방식과 동일한 흐름을 따르므로, 최신 프론트엔드 도구와의 호환성을 강화하며, 특히 경로 별칭이나 ESM/UMD 모듈 처리에서 발생할 수 있는 문제들을 해결하는 데 매우 유용합니다.&lt;/p&gt;</description>
      <category>프론트엔드 개발</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/255</guid>
      <comments>https://11001.tistory.com/255#entry255comment</comments>
      <pubDate>Fri, 4 Oct 2024 14:04:08 +0900</pubDate>
    </item>
    <item>
      <title>Apollo Client 와 Relay 를 비교해보자</title>
      <link>https://11001.tistory.com/254</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;759&quot; data-origin-height=&quot;419&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ribsb/btsJTBnqJoX/DTEJLt3C9YX0kiAToscsLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ribsb/btsJTBnqJoX/DTEJLt3C9YX0kiAToscsLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ribsb/btsJTBnqJoX/DTEJLt3C9YX0kiAToscsLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fribsb%2FbtsJTBnqJoX%2FDTEJLt3C9YX0kiAToscsLK%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;759&quot; height=&quot;419&quot; data-origin-width=&quot;759&quot; data-origin-height=&quot;419&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프론트엔드에서 GrpahQL 를 다루기 위한 대표적인 라이브러리로는 Apollo Client와 Relay 가 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 중에 저희는 Apollo Client 를 사용하고 있는데요.&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;처음에 Apollo 와 Relay 중 어느것을 하는가 비교했었을때&lt;b&gt; Next.js 와 SSR 기능과의 통합성&lt;/b&gt;을 좀 중점적으로 보았습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;왜냐하면 그 전까지 React 로 CSR 만 사용하다가 이번 프로젝트에 Next.js 를 처음 도입하게된 것이었고. 고객 유입을 위한 SEO 가 중요하여 SSR를 적극 사용할 것으로 기대했기 때문입니다.&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;Relay 는 SSR을 공식적으로 지원하지 않기에 별도로 복잡한 설정을 해주어야 하고. 성능 최적화. 캐시 자동관리 등에 중점적이어서 대규모 서비스에 적합하다는 말이 있었고.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Apollo Client SSR을 공식적으로 지원하여 설정이 매우 간단하고 빠르게 개발을 시작해야 할때 적합했기 때문에 선택했을 뿐이지 사실 선택에 대한 대단한 이유는 없었습니다. Apollo 사이트를 들어가보면 GraphQL 의 미래에 대한 엄청난 포부가 느껴지는데요. 사실 그런 부분도 크게 작용한거 같기는 합니다.&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;근데 지금 거의 반년 이상 Apollo Client 를 쓰며 느낀점은...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 빠르게 시작하기엔 적합한건 맞습니다. 저희는 급했기 때문에 빠르게 개발이 필요했기 때문에 잘 사용했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러나 먼 훗날 성능 최적화를 신경쓰고 고도화를 하면서 부터 캐시를 다루게 되고.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;큰 데이터 덩이리에서 프레그먼트들을 수동으로 캐시를 업데이트 해줘야 하는 경우가 생겨나면서 부터 좀 불편하고 피로도를 느꼈습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;심지어 Relay에는 캐시에 대한 접근 카운트를 하여 접근이 없으면 삭제해주는 &lt;b&gt;자동 가비지 커렉&lt;/b&gt;션이 있는데 Apollo 에는 없기 때문에 이런걸 또 어떻게 처리해줘야 할 지에 대한 고민이 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물론 그만큼 유연하고 자유도를 주는 것이겠지만, 사실 피곤하고 코드가 길어지는건 유지보수 차원에서 줄이고 싶은게 어쩔 수 없나 봅니다... 그래서 요즘 같이 여유가 조금 생겼을때. 아 우리도 Relay 를 조금 고민해볼만 할까? 그런 생각도 들긴 합니다.&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;&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;캐시를 수동으로 업데이트하거나 무효화할 수 있음 (writeQuery, evict)&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;/tbody&gt;
&lt;/table&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;&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;b&gt;ChatGPT 에 물어보면 이렇게 답변 해줍니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Apollo Client와 Relay는 모두 GraphQL 클라이언트로, React 애플리케이션에서 GraphQL API와 상호작용할 때 자주 사용됩니다. 이 두 도구는 유사한 목적을 가지고 있지만, 아키텍처, 사용 방법, 최적화 측면에서 차이점이 있습니다. 다음은 주요 비교 내용입니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. &lt;b&gt;설계 철학 및 목적&lt;/b&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;Apollo Client&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Apollo는 사용성을 중점에 둔 일반적인 GraphQL 클라이언트입니다. 초심자와 전문가 모두에게 적합하며, GraphQL 쿼리 및 변이를 쉽게 다루는 것이 목표입니다.&lt;/li&gt;
&lt;li&gt;기본적으로 강력한 상태 관리 기능과 캐싱을 제공합니다. 서버 데이터를 클라이언트 쪽에서 쉽게 다룰 수 있게 도와줍니다.&lt;/li&gt;
&lt;li&gt;프론트엔드에서 GraphQL을 유연하게 사용하고자 할 때 적합합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Relay&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Relay는 Facebook이 만든 GraphQL 클라이언트로, 성능 최적화와 대규모 애플리케이션을 염두에 둔 설계가 특징입니다. Relay는 명시적으로 데이터를 최적화하고 효율적으로 처리하는 데 중점을 둡니다.&lt;/li&gt;
&lt;li&gt;GraphQL의 전체 구조와 깊은 통합이 되어 있으며, 쿼리 프래그먼트(fragment) 개념을 사용하여 데이터를 더 정교하게 관리할 수 있습니다.&lt;/li&gt;
&lt;li&gt;복잡하고 규모가 큰 프로젝트에서 최적의 성능을 내기 위한 툴로 적합합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. &lt;b&gt;데이터 관리 및 캐싱&lt;/b&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;Apollo Client&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Apollo는 기본적으로 in-memory cache를 제공하여, 동일한 데이터를 다시 쿼리하지 않도록 캐시를 사용합니다.&lt;/li&gt;
&lt;li&gt;캐시 업데이트 방식이 직관적이며, 유저가 직접 명령형 방식으로 캐시를 관리할 수 있습니다. 필요 시 데이터 갱신도 쉽게 할 수 있습니다.&lt;/li&gt;
&lt;li&gt;간단한 쿼리와 변이(mutations)에 적합하며, 캐싱이 더 직관적입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Relay&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Relay는 더 복잡한 캐시 구조를 가지고 있으며, 캐시 관리가 더 세밀합니다. 캐싱 효율을 극대화하기 위해 더 정교한 구조를 사용합니다.&lt;/li&gt;
&lt;li&gt;Relay의 캐시 동기화는 Apollo보다 더 자동화되어 있으며, 클라이언트 쪽에서 명시적인 관리 없이도 일관된 상태를 유지할 수 있습니다.&lt;/li&gt;
&lt;li&gt;쿼리 프래그먼트를 사용하여 뷰의 데이터 요구 사항을 컴포넌트 단위로 관리하고, Relay는 필요한 데이터만 가져오도록 최적화합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. &lt;b&gt;쿼리 프래그먼트 및 코드 분할&lt;/b&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;Apollo Client&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Apollo는 쿼리를 한 곳에서 작성하고, 다양한 컴포넌트에서 쿼리 데이터를 사용할 수 있습니다.&lt;/li&gt;
&lt;li&gt;특정 컴포넌트에 맞춘 쿼리를 사용하는 방식이 가능하지만, Relay처럼 자동으로 컴포넌트별로 쿼리를 나누는 방식은 제공하지 않습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Relay&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Relay의 쿼리 프래그먼트 기능은 각 컴포넌트에서 필요한 데이터만 요청하도록 합니다. 이를 통해 성능 최적화를 극대화합니다.&lt;/li&gt;
&lt;li&gt;컴포넌트가 자체적으로 필요한 데이터를 선언하고, Relay는 이를 조합하여 서버에 적절한 요청을 보냅니다. 이로 인해 데이터 요구 사항이 컴포넌트에 가까워지고 코드 분할이 자연스럽게 이뤄집니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. &lt;b&gt;학습 곡선&lt;/b&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;Apollo Client&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Apollo는 상대적으로 학습 곡선이 완만합니다. 기본적인 사용법이 직관적이고, 다양한 튜토리얼과 문서가 잘 제공되기 때문에 빠르게 시작할 수 있습니다.&lt;/li&gt;
&lt;li&gt;복잡한 기능을 사용하기 전에도 기본적인 CRUD 작업을 쉽게 구현할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Relay&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Relay는 학습 곡선이 상대적으로 가파릅니다. 특히 초기 설정이 복잡할 수 있으며, 성능 최적화를 위한 고급 기능을 이해하고 사용하려면 상당한 학습이 필요합니다.&lt;/li&gt;
&lt;li&gt;하지만 이를 통해 대규모 애플리케이션에서는 뛰어난 성능을 보장합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. &lt;b&gt;커뮤니티 및 에코시스템&lt;/b&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;Apollo Client&lt;/b&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;Apollo Server와 같은 백엔드 도구들과의 통합도 매우 쉽습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Relay&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Relay는 Facebook 내부 프로젝트로 시작된 만큼 더 제한적인 커뮤니티를 가지고 있습니다. 하지만 대규모 애플리케이션에 적합한 도구들을 많이 제공합니다.&lt;/li&gt;
&lt;li&gt;다른 도구들과의 통합보다는 자체적인 성능 최적화에 더 중점을 둡니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. &lt;b&gt;사용 사례&lt;/b&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;Apollo Client&lt;/b&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;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Relay&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;대규모 애플리케이션에 적합하며, 특히 성능이 중요한 프로젝트에서 유용합니다. Facebook 같은 대규모 데이터 요구가 있는 프로젝트에서 최적의 성능을 발휘합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&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;Apollo Client&lt;/b&gt;는 일반적인 용도에 더 적합하고 학습이 쉬우며, 유연하고 강력한 상태 관리 및 캐싱 기능을 제공합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Relay&lt;/b&gt;는 성능 최적화와 데이터 관리를 중요시하는 대규모 애플리케이션에 적합하며, 더 세밀한 데이터 관리와 쿼리 최적화를 제공합니다.&lt;/li&gt;
&lt;/ul&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;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;코드 비교해보기&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Apollo Client와 Relay를 사용하여 데이터를 가져오는 예제를 보여드리겠습니다. 두 클라이언트 모두 GraphQL 쿼리를 통해 데이터를 가져오지만, 접근 방식과 설정이 다릅니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. Apollo Client 예시&lt;/b&gt;&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;설정&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저, Apollo Client를 설정합니다. Apollo Client를 설치하고 GraphQL API를 사용할 수 있도록 클라이언트를 구성해야 합니다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;b&gt;npm install @apollo/client graphql &lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ApolloProvider를 이용해 클라이언트를 설정합니다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre id=&quot;code_1727783860496&quot; class=&quot;typescript&quot; data-ke-language=&quot;typescript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// ApolloClient 설정
import { ApolloClient, InMemoryCache, ApolloProvider, gql, useQuery } from '@apollo/client';
import React from 'react';

const client = new ApolloClient({
  uri: 'https://your-graphql-endpoint.com/graphql',
  cache: new InMemoryCache(),
});

const GET_USERS = gql`
  query GetUsers {
    users {
      id
      name
      email
    }
  }
`;

function Users() {
  const { loading, error, data } = useQuery(GET_USERS);

  if (loading) return &amp;lt;p&amp;gt;Loading...&amp;lt;/p&amp;gt;;
  if (error) return &amp;lt;p&amp;gt;Error: {error.message}&amp;lt;/p&amp;gt;;

  return (
    &amp;lt;div&amp;gt;
      &amp;lt;h3&amp;gt;User List:&amp;lt;/h3&amp;gt;
      &amp;lt;ul&amp;gt;
        {data.users.map(user =&amp;gt; (
          &amp;lt;li key={user.id}&amp;gt;
            {user.name} ({user.email})
          &amp;lt;/li&amp;gt;
        ))}
      &amp;lt;/ul&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}

function App() {
  return (
    &amp;lt;ApolloProvider client={client}&amp;gt;
      &amp;lt;Users /&amp;gt;
    &amp;lt;/ApolloProvider&amp;gt;
  );
}

export default App;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;설명&lt;/h4&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;ApolloClient는 GraphQL API 엔드포인트와 메모리 캐시를 설정합니다.&lt;/li&gt;
&lt;li&gt;gql 태그로 쿼리를 정의하고, useQuery 훅을 사용해 데이터를 가져옵니다.&lt;/li&gt;
&lt;li&gt;쿼리의 상태(loading, error, data)를 처리하고 데이터를 화면에 출력합니다&lt;/li&gt;
&lt;/ol&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;b&gt;2. Relay 예시&lt;/b&gt;&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;설정&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Relay는 조금 더 복잡한 설정이 필요합니다. Relay 환경과 Babel 플러그인을 설정해야 합니다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;b&gt;npm install react-relay relay-runtime babel-plugin-relay graphql&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;relay.config.js 파일을 만들어 Relay 설정을 추가합니다.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre id=&quot;code_1727783900970&quot; class=&quot;typescript&quot; data-ke-language=&quot;typescript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;module.exports = {
  src: './src',
  schema: './data/schema.graphql',
  language: 'javascript',
};&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Relay 환경 설정&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Relay는 RelayEnvironment를 설정하는 부분이 필요합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1727783914188&quot; class=&quot;typescript&quot; data-ke-language=&quot;typescript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// RelayEnvironment 설정
import { Environment, Network, RecordSource, Store } from 'relay-runtime';
import { RelayEnvironmentProvider, useLazyLoadQuery, graphql } from 'react-relay';
import React from 'react';

function fetchQuery(operation, variables) {
  return fetch('https://your-graphql-endpoint.com/graphql', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      query: operation.text,
      variables,
    }),
  }).then(response =&amp;gt; response.json());
}

const environment = new Environment({
  network: Network.create(fetchQuery),
  store: new Store(new RecordSource()),
});

const UsersQuery = graphql`
  query UsersQuery {
    users {
      id
      name
      email
    }
  }
`;

function Users() {
  const data = useLazyLoadQuery(UsersQuery, {});

  return (
    &amp;lt;div&amp;gt;
      &amp;lt;h3&amp;gt;User List:&amp;lt;/h3&amp;gt;
      &amp;lt;ul&amp;gt;
        {data.users.map(user =&amp;gt; (
          &amp;lt;li key={user.id}&amp;gt;
            {user.name} ({user.email})
          &amp;lt;/li&amp;gt;
        ))}
      &amp;lt;/ul&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}

function App() {
  return (
    &amp;lt;RelayEnvironmentProvider environment={environment}&amp;gt;
      &amp;lt;Users /&amp;gt;
    &amp;lt;/RelayEnvironmentProvider&amp;gt;
  );
}

export default App;&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;설명&lt;/h4&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Environment와 Network를 설정해 Relay가 GraphQL API와 상호작용하도록 설정합니다.&lt;/li&gt;
&lt;li&gt;graphql 태그로 쿼리를 정의하고, useLazyLoadQuery 훅을 사용해 데이터를 가져옵니다.&lt;/li&gt;
&lt;li&gt;쿼리 데이터가 준비되면 화면에 출력합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-ke-style=&quot;style1&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;Apollo Client&lt;/b&gt;는 useQuery 훅을 사용해 간단하게 데이터를 가져오고 상태(loading, error, data)를 처리합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Relay&lt;/b&gt;는 쿼리를 더 정교하게 나눠서 처리할 수 있으며, Relay 환경 설정이 더 복잡하지만 성능 최적화가 뛰어납니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;캐시가 어떻게 저장되고 관리되는지 비교&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. Apollo Client의 캐시 구조&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Apollo Client&lt;/b&gt;는 기본적으로 InMemoryCache를 사용하여 데이터를 캐싱합니다. 이 캐시는 GraphQL 쿼리의 결과를 메모리 안에 저장하고, 쿼리의 결과를 재사용하여 네트워크 요청을 최소화합니다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;캐시 저장 방식&lt;/b&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;b&gt;Normalized Cache&lt;/b&gt;: Apollo Client는 데이터를 정규화(normalization)하여 저장합니다. 이는 데이터베이스의 테이블처럼 데이터를 구조화하고, 특정 데이터에 접근할 때 데이터를 중복 없이 효율적으로 저장하고 관리할 수 있도록 해줍니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;캐시 키&lt;/b&gt;: Apollo Client는 각 엔티티마다 고유한 __typename과 id(혹은 custom key)를 결합하여 고유한 캐시 키를 만듭니다. 예를 들어, 다음과 같은 쿼리가 있다고 가정할 때:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1727784231921&quot; class=&quot;typescript&quot; data-ke-language=&quot;typescript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;query GetUsers {
  users {
    id
    name
    email
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 쿼리의 결과에서 id가 1인 User가 있다면, 이 데이터는 캐시에 User:1이라는 키로 저장됩니다. 이 방식으로 동일한 데이터를 여러 쿼리에서 사용하더라도, 캐시에서 데이터를 재활용할 수 있습니다.&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;&lt;b&gt;캐시 데이터의 구조&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;캐시에 저장된 데이터는 정규화된 객체의 집합으로 저장됩니다. 예를 들어, 위 쿼리의 결과가 다음과 같다면:&lt;/p&gt;
&lt;pre id=&quot;code_1727784244351&quot; class=&quot;typescript&quot; data-ke-language=&quot;typescript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;{
  &quot;users&quot;: [
    { &quot;id&quot;: 1, &quot;name&quot;: &quot;Alice&quot;, &quot;email&quot;: &quot;alice@example.com&quot; },
    { &quot;id&quot;: 2, &quot;name&quot;: &quot;Bob&quot;, &quot;email&quot;: &quot;bob@example.com&quot; }
  ]
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 데이터는 캐시에 다음과 같은 구조로 저장됩니다:&lt;/p&gt;
&lt;div&gt;
&lt;pre id=&quot;code_1727784254740&quot; class=&quot;typescript&quot; data-ke-language=&quot;typescript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;{
  &quot;ROOT_QUERY&quot;: {
    &quot;users&quot;: [&quot;User:1&quot;, &quot;User:2&quot;]
  },
  &quot;User:1&quot;: {
    &quot;id&quot;: 1,
    &quot;name&quot;: &quot;Alice&quot;,
    &quot;email&quot;: &quot;alice@example.com&quot;
  },
  &quot;User:2&quot;: {
    &quot;id&quot;: 2,
    &quot;name&quot;: &quot;Bob&quot;,
    &quot;email&quot;: &quot;bob@example.com&quot;
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;캐시 관리&lt;/b&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;b&gt;자동 캐시 업데이트&lt;/b&gt;: Apollo는 쿼리가 성공적으로 완료되면 자동으로 해당 데이터를 캐시에 저장합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;수동 캐시 업데이트&lt;/b&gt;: writeQuery, writeFragment, readQuery, readFragment를 사용하여 캐시를 수동으로 읽고 쓸 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;캐시 무효화&lt;/b&gt;: cache.evict나 cache.reset을 사용하여 특정 데이터를 캐시에서 제거하거나 전체 캐시를 무효화할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. &lt;b&gt;Relay의 캐시 구조&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Relay&lt;/b&gt;는 캐시 시스템이 Apollo보다 더 복잡하고 최적화된 방식으로 동작합니다. Relay는 대규모 애플리케이션에서 성능을 극대화하기 위해 설계되었으며, 데이터를 효율적으로 가져오기 위해 세밀한 캐싱을 사용합니다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;캐시 저장 방식&lt;/b&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;b&gt;Record-based Storage&lt;/b&gt;: Relay의 캐시는 레코드 기반 저장 방식을 사용합니다. 이는 GraphQL 쿼리의 결과를 &quot;레코드&quot;로 분할하고, 각 레코드를 고유한 ID로 식별하여 저장합니다. 이러한 구조는 Apollo의 정규화된 캐싱 방식과 유사하지만, Relay는 이를 더 세밀하게 관리합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ID와 Type을 기반으로 한 캐시 키&lt;/b&gt;: Relay는 각 레코드에 고유한 ID를 부여하고, 이 ID를 기반으로 데이터를 저장합니다. 또한 GraphQL 스키마의 타입 정보를 기반으로 데이터를 정규화합니다. 예를 들어, User라는 타입을 가진 엔티티의 ID가 1이라면, 해당 엔티티는 User:1이라는 캐시 키를 가집니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Fragment 기반 데이터 관리&lt;/b&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;b&gt;Fragment를 통한 데이터 분할&lt;/b&gt;: Relay의 핵심 개념 중 하나는 &quot;쿼리 프래그먼트(fragment)&quot;입니다. 각 컴포넌트는 자신이 필요한 데이터만 요청하는 프래그먼트를 정의하며, Relay는 이러한 프래그먼트를 기반으로 필요한 데이터만 쿼리하고 캐시합니다. 이는 컴포넌트 단위로 데이터를 효율적으로 관리할 수 있도록 도와줍니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;캐시 데이터의 구조&lt;/b&gt;: Relay에서 캐시된 데이터는 RecordSource에 저장되며, 각 레코드는 고유한 ID를 기준으로 저장됩니다. 예를 들어, 다음과 같은 쿼리가 있다고 가정할 때:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1727784309773&quot; class=&quot;typescript&quot; data-ke-language=&quot;typescript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;query GetUsers {
  users {
    id
    name
    email
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 쿼리의 결과가 Relay의 캐시에 저장될 때는 각 User 레코드가 고유한 키(예: User:1, User:2)로 저장됩니다.&lt;/li&gt;
&lt;li&gt;Relay의 데이터는 RecordSource에서 저장된 레코드의 집합으로 관리됩니다. 각 레코드는 해당 데이터를 포함하며, Relay는 이를 기반으로 캐시를 관리합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;캐시 관리&lt;/b&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;b&gt;자동 캐싱 및 업데이트&lt;/b&gt;: Relay는 쿼리 결과를 자동으로 캐싱하고, 데이터 변경이 발생하면 캐시를 자동으로 업데이트합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Garbage Collection (GC)&lt;/b&gt;: Relay는 가비지 컬렉션 시스템을 통해 더 이상 참조되지 않는 데이터를 캐시에서 제거합니다. 이는 메모리 사용량을 최적화하는 데 중요한 역할을 합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Store와 RecordSource&lt;/b&gt;: Relay의 캐시는 Store와 RecordSource라는 두 가지 주요 요소로 관리됩니다. Store는 현재 사용 중인 캐시 데이터를 관리하고, RecordSource는 데이터를 저장하는 저장소 역할을 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;비교 요약&lt;/h3&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;&lt;b&gt;특징&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Apollo Client&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Relay&lt;/b&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;정규화된 객체 기반 캐시 (InMemoryCache)&lt;/td&gt;
&lt;td&gt;레코드 기반 캐시 (RecordSource)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;캐시 키&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;__typename + id&lt;/td&gt;
&lt;td&gt;ID + Type 기반 (예: User:1)&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;writeQuery, readQuery로 수동 관리 가능&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;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;캐시 데이터를 가져오는 것 비교&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. Apollo Client - 캐시 데이터 가져오기&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Apollo Client는 기본적으로 InMemoryCache를 사용하여 데이터를 캐싱합니다. 캐시 데이터를 명시적으로 가져오거나 업데이트할 수 있습니다. 다음은 Apollo Client에서 캐시 데이터를 사용하는 예시입니다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;캐시 데이터를 가져오는 코드 예시&lt;/h4&gt;
&lt;pre id=&quot;code_1727784079532&quot; class=&quot;typescript&quot; data-ke-language=&quot;typescript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import { ApolloClient, InMemoryCache, ApolloProvider, gql, useQuery } from '@apollo/client';
import React from 'react';

// Apollo Client 설정
const client = new ApolloClient({
  uri: 'https://your-graphql-endpoint.com/graphql',
  cache: new InMemoryCache(),
});

// GraphQL 쿼리 정의
const GET_USERS = gql`
  query GetUsers {
    users {
      id
      name
      email
    }
  }
`;

// 캐시에서 데이터 가져오기
function Users() {
  const { loading, error, data } = useQuery(GET_USERS);

  if (loading) return &amp;lt;p&amp;gt;Loading...&amp;lt;/p&amp;gt;;
  if (error) return &amp;lt;p&amp;gt;Error: {error.message}&amp;lt;/p&amp;gt;;

  return (
    &amp;lt;div&amp;gt;
      &amp;lt;h3&amp;gt;User List:&amp;lt;/h3&amp;gt;
      &amp;lt;ul&amp;gt;
        {data.users.map(user =&amp;gt; (
          &amp;lt;li key={user.id}&amp;gt;
            {user.name} ({user.email})
          &amp;lt;/li&amp;gt;
        ))}
      &amp;lt;/ul&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}

// 캐시에서 데이터 수동으로 가져오기
function fetchUsersFromCache() {
  const cachedData = client.cache.readQuery({ query: GET_USERS });

  if (cachedData) {
    console.log('Cache Data:', cachedData);
  } else {
    console.log('No data in cache');
  }
}

function App() {
  // 수동으로 캐시 데이터 가져오기 실행
  React.useEffect(() =&amp;gt; {
    fetchUsersFromCache();
  }, []);

  return (
    &amp;lt;ApolloProvider client={client}&amp;gt;
      &amp;lt;Users /&amp;gt;
    &amp;lt;/ApolloProvider&amp;gt;
  );
}

export default App;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;useQuery 훅을 사용하면 Apollo Client는 기본적으로 쿼리 데이터를 캐시합니다.&lt;/li&gt;
&lt;li&gt;client.cache.readQuery 메서드를 사용하여 수동으로 캐시된 데이터를 가져올 수 있습니다.&lt;/li&gt;
&lt;li&gt;캐시에 저장된 데이터를 먼저 가져온 후 네트워크 요청을 할지, 또는 네트워크 요청이 실패했을 때 캐시를 사용할지 선택할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. Relay - 캐시 데이터 가져오기&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Relay는 더 복잡한 캐싱 메커니즘을 가지고 있으며, 자동으로 필요한 데이터를 관리합니다. Relay에서는 store를 사용하여 캐시된 데이터를 가져올 수 있습니다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;캐시 데이터를 가져오는 코드 예시&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Relay에서는 기본적으로 컴포넌트에서 필요한 데이터가 캐시될 경우, 다시 요청하지 않고 캐시된 데이터를 자동으로 반환합니다. Relay의 캐시 데이터는 store를 통해 관리됩니다.&lt;/p&gt;
&lt;pre id=&quot;code_1727784090409&quot; class=&quot;typescript&quot; data-ke-language=&quot;typescript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import { Environment, Network, RecordSource, Store } from 'relay-runtime';
import { RelayEnvironmentProvider, useLazyLoadQuery, graphql } from 'react-relay';
import React from 'react';

// Relay 환경 설정
const store = new Store(new RecordSource());

const environment = new Environment({
  network: Network.create((operation, variables) =&amp;gt;
    fetch('https://your-graphql-endpoint.com/graphql', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        query: operation.text,
        variables,
      }),
    }).then(response =&amp;gt; response.json())
  ),
  store,
});

// GraphQL 쿼리 정의
const UsersQuery = graphql`
  query UsersQuery {
    users {
      id
      name
      email
    }
  }
`;

// 캐시에서 데이터 가져오기
function Users() {
  const data = useLazyLoadQuery(UsersQuery, {});

  return (
    &amp;lt;div&amp;gt;
      &amp;lt;h3&amp;gt;User List:&amp;lt;/h3&amp;gt;
      &amp;lt;ul&amp;gt;
        {data.users.map(user =&amp;gt; (
          &amp;lt;li key={user.id}&amp;gt;
            {user.name} ({user.email})
          &amp;lt;/li&amp;gt;
        ))}
      &amp;lt;/ul&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}

// 수동으로 캐시 데이터 확인하기
function fetchUsersFromCache() {
  const cachedRecord = store.getSource().get('ROOT_QUERY');
  if (cachedRecord) {
    console.log('Cache Data:', cachedRecord);
  } else {
    console.log('No data in cache');
  }
}

function App() {
  // 캐시 데이터를 수동으로 가져오기 실행
  React.useEffect(() =&amp;gt; {
    fetchUsersFromCache();
  }, []);

  return (
    &amp;lt;RelayEnvironmentProvider environment={environment}&amp;gt;
      &amp;lt;Users /&amp;gt;
    &amp;lt;/RelayEnvironmentProvider&amp;gt;
  );
}

export default App;&lt;/code&gt;&lt;/pre&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;Relay는 store와 RecordSource를 사용해 캐시된 데이터를 관리합니다.&lt;/li&gt;
&lt;li&gt;store.getSource().get('ROOT_QUERY')를 사용해 캐시된 데이터를 직접 가져올 수 있습니다.&lt;/li&gt;
&lt;li&gt;기본적으로 Relay는 필요한 경우 캐시된 데이터를 자동으로 반환하지만, 개발자가 명시적으로 캐시 데이터를 읽고자 할 경우 위와 같이 할 수 있습니다.&lt;/li&gt;
&lt;/ul&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;Apollo Client&lt;/b&gt;는 client.cache.readQuery 메서드를 사용하여 명시적으로 캐시된 데이터를 읽을 수 있으며, useQuery 훅에서 캐시를 자동으로 사용합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Relay&lt;/b&gt;는 store와 RecordSource를 사용해 캐시 데이터를 관리하며, Relay는 기본적으로 데이터를 자동으로 캐시하고 필요한 경우 캐시된 데이터를 제공합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프론트엔드 개발/GraphQL</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/254</guid>
      <comments>https://11001.tistory.com/254#entry254comment</comments>
      <pubDate>Tue, 1 Oct 2024 21:44:09 +0900</pubDate>
    </item>
    <item>
      <title>[프로젝트 기록] Next.js 의 SSG 는 너무 느려서 못써먹겠다.</title>
      <link>https://11001.tistory.com/253</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;h3 data-ke-size=&quot;size23&quot;&gt;배경 지식&amp;nbsp;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;23년도에서 24년 넘어가던 때에 저희 회사에서 모든 부동산 자산에 대한 어떤 정보를 제공하기 위한 페이지를 기획했었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 이것이 마케팅 비용이 없이도 효과적으로 검색 유입을 늘릴 수 있는 수단으로 생각하여 SEO에 신경써서 개발하였고.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 것들을 이미 염두하여 Next.js 로 개발하고 있었기 때문에 SSR, SSG 를 적극 검토했었습니다.&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;자산의 종류는 토지(땅만), 토지건물(땅과 건물. 그러나 동,호는 없음), 집합건물(동,호가 존재) 이렇게 3종류가 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 자산은 고유 번호인 pnu 를 붙여서 관리하고 있고.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;집합건물은 pnu + 각 동에 대해 dongBpk, 각 동의 호에 대해 hoBpk 를 가집니다.&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;사실 SSR 를 쓰면 정말로 뭘 할 것도 없이 간단한데요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SSG를 검토했던 이유는 사용자가 폭발적으로 늘어날 것을 기대하여 불필요한 API 요청들을 줄여보고자 하는 노력이었습니다.&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;h3 data-ke-size=&quot;size23&quot;&gt;테스트 결과&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Next.js v13으로 서울지역의 토지, 토지건물, 집합건물 각 100개를 SSG(Static Site Generation) 정적페이지 생성을 했을때&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;300건에 대해서 대략 1분이 걸렸습니다. 3만건만 해도 100분이었습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1492&quot; data-origin-height=&quot;992&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cFQibT/btsJRrzpGHJ/qdRLZLRhOryfPvIB7kKUyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cFQibT/btsJRrzpGHJ/qdRLZLRhOryfPvIB7kKUyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cFQibT/btsJRrzpGHJ/qdRLZLRhOryfPvIB7kKUyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcFQibT%2FbtsJRrzpGHJ%2FqdRLZLRhOryfPvIB7kKUyk%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;1492&quot; height=&quot;992&quot; data-origin-width=&quot;1492&quot; data-origin-height=&quot;992&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;648&quot; data-origin-height=&quot;1642&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbTnw9/btsJRzjOjOF/B0a0lJ8sgpHGZD1Gjl4l2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbTnw9/btsJRzjOjOF/B0a0lJ8sgpHGZD1Gjl4l2k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbTnw9/btsJRzjOjOF/B0a0lJ8sgpHGZD1Gjl4l2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbTnw9%2FbtsJRzjOjOF%2FB0a0lJ8sgpHGZD1Gjl4l2k%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;648&quot; height=&quot;1642&quot; data-origin-width=&quot;648&quot; data-origin-height=&quot;1642&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;계획 변경하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 맛보기로 SSG 이 얼마나 끔찍하게 느린지 체감하였습니다.&amp;nbsp;그래서 대부분은 SSR로 대응하는 방향으로 계획을 변경했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;토지 : SSG(정적페이지 생성) 으로 대응 합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용자 또는 크롤링 봇이 페이지 접속시 이미 빌드 단계에서 SSG로 만들어둔 html 파일을 즉시 보여줍니다. 그리고 바로 이어서 나머지 내용들을 채워서 화면을 업데이트 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SSG 로는 꼭 필요한 데이터만 담아서 html 파일을 만들어둡니다. 페이지 안에 들어가는 모든 내용을 담아서 페이지를 만들게 되면 SSG 에 너무 많은 시간이 들기 때문입니다. 대략 1만건에 대해서 15분 정도 소요 예상됨. (추측이기 때문에 빌드 타임이 짧을 수도 있음. 운영배포시 확인하여 스크린샷 남기기)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(2023년 11월 6일 기록) SEO 에 대해서는 SSR 로도 충분히 대응이 가능하지만, 사람들이 페이지 접속할 때마다 아래 이미지와 같이 API 를 최소 2~3번 호출해야 하고, SSG로 만들어둔 html 파일을 바로 건네주는게 압도적으로 응답속도가 빠르기 때문에, 한마디로 최적화를 위해 SSG 로 일부분 작업해둔 것이었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;토지건물 : 서울시 1만 건에 대해 빌드시 SSG + 페이지 접속시 SSG 으로 대응 합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(2023년 11월 6일 기록) 아무래도 처음 시도하는 것이다보니, 실험적인 시도가 많이 담겨있습니다. SSR vs SSG 의 싸움이라고 볼 수 있습니다. &amp;ldquo;페이지 접속시&amp;rdquo; SSG 로 대응하게 되면, 처음 접속시 html 파일을 만들고, 그 다음번 접속시 html 파일을 재활용할 수 있다는 이점이 있어서 시도해본 것이었습니다. 실제로 운영 배포후에 SSR, SSG 비교해보고 어느 쪽으로 갈 지 정해질 것 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;집합건물 : SSR(서버사이드 랜더링) 으로 대응 합니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(2023년 11월 6일 기록) 전국에 엄청나게 많은 자산이 있고. 그 집합건물(아파트)자산의 모든 호실(hoBpk) 에 대한 정적페이지 만드는 건 불가능에 가깝기 때문에 SSR 로 대응하기로 결정했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000;&quot; data-ke-size=&quot;size23&quot;&gt;결론&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 뒤로 선별된 몇 만건의 자산에 대해 SSG를 시도해보았지만. 너무나 느린 생성 속도로 인해서 도저히 못쓰겠다는 판단을 했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SSR 로도 충분히 대응이 되는 상황에서 내가 이렇게 공수를 들여서 굳이 SSG을 해서 큰 이점을 얻는것도 아닌데 해야할까 그런 생각이 들었고. 결국에는 모든 자산의 꼭 필요한 정보만 SSR 로 렌더링해서 검색엔진에 제공하도록 했습니다.&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;Sitemap&amp;nbsp;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(이건 순수 경험으로 작성된 내용입니다. 100%맞다고 볼 수는 없고 참고만..)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어쨌든 SEO 는 SSR 로 대응했다고 치는데. 이번엔 수만개의 사이트 맵을 만들어야 했습니다.&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;gt; 사이트맵 읽는 날짜가 제각각인것 보면 딱히 그런건 없었습니다. 그리고 Next 에서는 기본적으로 gzip 압축해서 보내주고 있었습니다.&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;꼭 그렇다고 보기는 어려워보이지만 권장 개수는 10000개라고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 저희도 하나의 사이트맵 파일에 35000개의 주소를 포함시키던 것을 권장 개수인 10000개로 줄이고. 파일 개수를 늘렸습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데 나중에 알게 되었지만. &lt;b&gt;등록된 지 얼마 안된 사이트에 대해 검색엔진이 읽을 수 있는 파일의 개수가 정해져있는듯 했습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;45개였습니다. 약 450000개의 주소 정도였다고 보면 됩니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어떻게 해서 구글서치콘솔에 사이트맵 등록을 완료했는데요... 문제가 많았습니다. 이어서 보시죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;문제발생&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;구글서치앤진에서 파이퍼 sitemap 파일의 일부 지역(부산, 충청도)만 읽는 문제가 있었습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존에는 &lt;b&gt;sitemap/index.xml&lt;/b&gt; 파일 아래에 모든 지역의 사이트맵 파일이 포함되었는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존에 올려둔 사이트맵 파일 모두 지우고 &lt;b&gt;sitemap/index.xml&lt;/b&gt; 파일 하나만 등록하는 방식으로 바꿔서 테스트 해보았습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데 달라지는 건 없었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 문제의 원인은 방금 위에 적어놓은것 처럼 등록된 지 얼마 되지 않은 사이트에 대해서는 읽을 수 있는 파일 개수가 제한되어있었기 때문이었고.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일 이름이 알파벳 순서대로 B로 시작되는 부산, C로 시작되는 충청도가 먼저 읽혀졌던 것이었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저희는 S로 시작되는 서울 지역이 가장 우선순위가 높았기 때문에 서울앞에 &lt;b&gt;0- &lt;/b&gt;이런식으로 정렬 순서가 가장 앞설 수 있게 고쳤고.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 결과 서울 지역이 읽히게 되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(서울지역이 가장 앞페이지에 나타나는것을 보여주는 캡쳐 이미지)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1388&quot; data-origin-height=&quot;1232&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cO5a5T/btsJQjbpzl3/w5zG2kuMkXkpKT4NyKyWCk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cO5a5T/btsJQjbpzl3/w5zG2kuMkXkpKT4NyKyWCk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cO5a5T/btsJQjbpzl3/w5zG2kuMkXkpKT4NyKyWCk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcO5a5T%2FbtsJQjbpzl3%2Fw5zG2kuMkXkpKT4NyKyWCk%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;1388&quot; height=&quot;1232&quot; data-origin-width=&quot;1388&quot; data-origin-height=&quot;1232&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 하고나서 보니 오히려 파일을 쪼개기 보다는 합치는게 답이었을까 그런 생각도 들었는데요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한번 변경하고 반영하기 까지 몇 달이나 소요되기 때문에 현실적으로 모두 다 테스트 해볼 수는 없었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러나 만약에 또 다시 사이트맵을 건드려야 하는 일이 생긴다면, 저는 다시 파일 당 포함 주소를 1만개에서 3만5천개로 되돌려서 해볼 거 같습니다.&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;물론 이렇게 서울지역이 먼저 읽히게 했지만. 읽을 수 있는 파일은 45개가 맞다는 것을 확실히 알 수 있었습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #222529; color: #d1d2d3; text-align: left;&quot; data-border=&quot;0&quot; data-indent=&quot;0&quot; data-stringify-type=&quot;unordered-list&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: none;&quot; data-stringify-border=&quot;0&quot; data-stringify-indent=&quot;0&quot;&gt;변경 전 : 부산(24개) + 충청북도(21개) = 45개&lt;/li&gt;
&lt;li style=&quot;list-style-type: none;&quot; data-stringify-border=&quot;0&quot; data-stringify-indent=&quot;0&quot;&gt;변경 후 : 서울(50개) 중 44개 + /sitemap-0.xml 파일 1개 = 45개&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;이런저런 고생을 했지만 지금은 이 페이지가 기획에서 제외되었는데요...&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;robots.txt 에서 disallow 를 하여 접근을 막으면 되는거 아닌가 라고 쉽게 생각할 수 있는데요.&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;b&gt;&amp;lt;meta name=&quot;robots&quot; content=&quot;noindex&quot;&amp;gt;&lt;/b&gt; 테그를 추가함으로써 검색봇이 이 테그를 읽고는 색인을 하지 않게끔. 색인이 있으면 삭제하게끔 해야만 색인이 제거되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저희는 색인을 제거해야하는 페이지를 아예 걷어낼 계획이었기 때문에&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;page 경로 상에서도 제거했었고. 접속시 404 경로로 이동되는데. 404 페이지에 저 테그를 심어둠으로써&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;</description>
      <category>프론트엔드 개발/Next.js</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/253</guid>
      <comments>https://11001.tistory.com/253#entry253comment</comments>
      <pubDate>Mon, 30 Sep 2024 15:47:42 +0900</pubDate>
    </item>
    <item>
      <title>지난 6개월 되돌아보기 (이사, 경매, AI)</title>
      <link>https://11001.tistory.com/251</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;장장 6개월. 꽤 오랜 기간 블로그를 쉬게 되었네요.&amp;nbsp;짧은 기간동안 세상이 어마어마하게 변했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;올해 제일 큰 목표는 이사였죠. 이사하고 나서가 문제였을 줄이야...&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1월에 이사 준비한다고 짐 처분하고, 새 집 알아보고, 이사하고..&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;한 달 반 동안을 창문이 밀봉되어서 못열고 살았습니다. 진짜 지옥같은 삶이었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt; 건물이 완전히 공사판이었고, 아침 7시 부터 침대 옆 창문 바로 앞에 공사장 인부들이 돌아다니고 대화소리와 시끄러운 공사 소음공해로 눈을 떠야했고, &lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;환기가 안돼서 집에 냄새가 너무 심하고 빨래를 돌리면 숨이 막힐 정도로 집이 습했습니다.&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;&lt;b&gt;이 모든 불편과 고통을 그저 양해를 바란다는 말로 쉽게 넘어가려고 하는 집주인 분. 진짜 레전드... &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제 도덕적인 관념상 절대로 그냥은 넘어갈 수 없었습니다. 제가 또 정의에 죽고 정의에 사는 INFJ 아닙니까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에는 대화로 풀어보려 했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;집 계약할때 공사한다고 얘기했었다.&quot;, &quot;나도 창문을 밀봉하는 지 몰랐다. 공사업체 한테 늦게 전달 받았다.&quot;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;책임은 공사업체에 떠넘기고 &lt;span style=&quot;text-align: start;&quot;&gt;대화를 회피하시길래 저도 더 이상의 대화는 포기하고, 딱딱한 텍스트 문자로 대응했습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;물론 수 많은 세입자가 있고 모든 상황을 다 고려할 수 없었다는 거 이해는 하는데, &lt;b&gt;미안하다. 죄송하다. &lt;/b&gt;그&amp;nbsp;말 한마디가 그렇게 어려우셨나 싶습니다.&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;&lt;span style=&quot;text-align: start;&quot;&gt;제가 임대차 계약시 풀 버전으로 녹음해둔 파일이 있어서 다행이지, 만약에 녹음 안했으면 &lt;b&gt;&quot;그때 계약할때 공사한다고 얘기했다.&quot;&lt;/b&gt; 고 끝까지 밀어 붙이면서 기억 안나시냐면서 대충 넘어가려고 했을 것입니다.&lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;결론은 공사 기간 동안 월세를 안내는 것으로 합의를 잘 봤고, 그 길고 길던 공사도 이제는 끝났네요.&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 alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;376&quot; data-origin-height=&quot;541&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2GXcT/btsHWWuzEAh/Crb3fKLP7KOEqannach07K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2GXcT/btsHWWuzEAh/Crb3fKLP7KOEqannach07K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2GXcT/btsHWWuzEAh/Crb3fKLP7KOEqannach07K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2GXcT%2FbtsHWWuzEAh%2FCrb3fKLP7KOEqannach07K%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;376&quot; height=&quot;541&quot; data-origin-width=&quot;376&quot; data-origin-height=&quot;541&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;문득&amp;nbsp;&lt;b&gt;리처드 도킨스의 이기적인 유전자&lt;/b&gt;&amp;nbsp;라는 책 제목이 생각나네요.&lt;br /&gt;논리적으로 이해가 안된다 싶은 문제들은 알고보면 정치적인 문제가 엮인 것이 대부분이고 그 정치적인 문제들은 입장 차이와 이해 관계 때문에 발생하는 것이죠. &lt;b&gt;나한테는 이익 상대방 한테는 손해. &lt;/b&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;정치는 니편 내편 싸움. &lt;/span&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;더 깊이 들어가서 개인으로 봤을땐 &lt;/span&gt;&lt;b&gt;나 그리고 모든 타인.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;그러한 배경에는 &lt;b&gt;&quot;살아남아라&quot;&lt;/b&gt; 라는 거스를 수 없는&amp;nbsp;&lt;/span&gt;DNA 안에 프로그래밍 된 로직 때문이겠죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 누군가는 &lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;&lt;b&gt;나만 아니면 돼, 내가 살아남기 위해서는 남을 짓밟아도 된다. (심하면)남을 짓밟아야한다.&lt;/b&gt; 라는 생각이 생존에 유리하다고 생각하는 것 같고, 누군가는&lt;/span&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;&amp;nbsp;&lt;b&gt;모두가 상생하고 협력하는 것이 생존에 유리하다&lt;/b&gt;고 생각하는 것 같습니다.&lt;/span&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;&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;&lt;span style=&quot;text-align: start;&quot;&gt;결국 개개인은  다 다른 개체고 생각도 다르고 입장도 다르고 부딪힐 수 밖에 없는데&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;그걸 완만하게 해결할 수 있는게 돈. 강경하게 해결할 수 있는게 법. &lt;/span&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;결국엔 제 문제도 입장차이로 부딪혔다가 돈으로 해결되었네요.. 그게 아니었으면 법으로 해결해야 되는거고.. &amp;zwj; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이기적이고 추악한 어른이 되지말자. 절대로 나를 잃지말자.&lt;/b&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;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;경매 공부&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4-5월에 걸쳐서 경매 공부에 엄청 집중했었습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 몰라서 당했다는 말을 하지 않게 대비하기 위해&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 부동산 조정장에 기회가 온다면 잡기 위해 준비.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;처음엔 이론만 있는 책을 4권 정도 읽고, 복잡한 권리분석을 법적으로 해결하는 방법에 대한 책, 인테리어, 누수, 수리에 관한 책 등등..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;퇴근하고는 유료 경매사이트 뒤적거리면서 집주변 부터 여러 지역을 살펴봤습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5월에는 직접 임장도 다니고, 입찰을 위해 은행가서 수표를 뽑았습니다.&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;그 다음에 보던 아파트도 유찰될 거라고 생각했는데  누군가 현 시세로 매도 했을때 수익률 0% 가격에 낙찰받더군요. 실거주 목적이었나 봅니다... 왜 하필이면..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어쨌건 좀 허무하게 끝나긴 했는데 사실은 해보면서 느꼈던 것은.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아직은 돈을 더 모아야 한다는 거였습니다.&lt;/p&gt;
&lt;p 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;이렇게 된거, 여기서 올 스톱하기로 했습니다. 당분간 마음을 비우고 건강을 되찾으려고 합니다.&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;결국엔 AI&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 역삼 센터필드에 가서 AWS GenAI 강의를 듣고 왔는데요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AI 비용이 인건비 보다 저렴해지는 실제 사례를 보면서, 이러고 있을 때가 아닌데 싶더군요.&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;어느 순간부터 프론트엔드라는 틀에 갇혀버린 거 같은데 이제는&amp;nbsp;틀에서 벗어나서 개발 영역을 확장해야 될 때인 거 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하반기에는 앱개발과 생성형AI !&lt;/p&gt;</description>
      <category>개발자 이야기</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/251</guid>
      <comments>https://11001.tistory.com/251#entry251comment</comments>
      <pubDate>Wed, 12 Jun 2024 20:59:24 +0900</pubDate>
    </item>
    <item>
      <title>리액트 렌더링 최적화를 위한 useDeferredValue 는 debounce 의 완전한 대체제가 아니다.</title>
      <link>https://11001.tistory.com/250</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;880&quot; data-origin-height=&quot;456&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bIZcmV/btsCMyMHBg5/5D00wCY2tYDTVHlDTWYhXk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bIZcmV/btsCMyMHBg5/5D00wCY2tYDTVHlDTWYhXk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bIZcmV/btsCMyMHBg5/5D00wCY2tYDTVHlDTWYhXk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbIZcmV%2FbtsCMyMHBg5%2F5D00wCY2tYDTVHlDTWYhXk%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;880&quot; height=&quot;456&quot; data-origin-width=&quot;880&quot; data-origin-height=&quot;456&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;리액트 18 버전에서 추가된 기능입니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;useDeferredValue&lt;/b&gt;&amp;nbsp;는 말그대로 &lt;b&gt;&quot;지연된 값을 사용&quot;&lt;/b&gt; 하는 훅 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이&amp;nbsp;훅에&amp;nbsp;대해서&amp;nbsp;오해가&amp;nbsp;있었는데요.&amp;nbsp;값을&amp;nbsp;지연한다고&amp;nbsp;하기에&amp;nbsp;debounce&amp;nbsp;의&amp;nbsp;대체제&amp;nbsp;라고&amp;nbsp;생각했습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서&amp;nbsp;너무나&amp;nbsp;당연히&amp;nbsp;이렇게&amp;nbsp;쓰면&amp;nbsp;API&amp;nbsp;요청이&amp;nbsp;지연되어서&amp;nbsp;들어간다고&amp;nbsp;생각&amp;nbsp;했었으나,&amp;nbsp;실상은&amp;nbsp;그렇지&amp;nbsp;않았습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1703831049227&quot; class=&quot;typescript&quot; data-ke-language=&quot;typescript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;  const [input, setInput] = useState&amp;lt;string&amp;gt;('');
  const deferredInput = useDeferredValue(input);
 
  useEffect(() =&amp;gt; {
    if (deferredInput) {
      fetchData(deferredInput);
    }
  }, [deferredInput]);&lt;/code&gt;&lt;/pre&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;스크린샷 2023-12-29 오후 3.25.46.png&quot; data-origin-width=&quot;1420&quot; data-origin-height=&quot;212&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFfAUT/btsCK88DFHj/36zI1vk7KAq4WQhAD3ob5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFfAUT/btsCK88DFHj/36zI1vk7KAq4WQhAD3ob5K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFfAUT/btsCK88DFHj/36zI1vk7KAq4WQhAD3ob5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFfAUT%2FbtsCK88DFHj%2F36zI1vk7KAq4WQhAD3ob5K%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;1420&quot; height=&quot;212&quot; data-filename=&quot;스크린샷 2023-12-29 오후 3.25.46.png&quot; data-origin-width=&quot;1420&quot; data-origin-height=&quot;212&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇습니다... 지연된 값을 가지고 매우 무거운 렌더링 작업을 했을때야 비로소 지연이 적용이 되는 것입니다.&lt;/p&gt;
&lt;pre id=&quot;code_1703831221508&quot; class=&quot;typescript&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;typescript&quot;&gt;&lt;code&gt;  const [input, setInput] = useState&amp;lt;string&amp;gt;('');
  const deferredInput = useDeferredValue(input);

  return (
    &amp;lt;&amp;gt;
      &amp;lt;input value={input} onChange={생략} /&amp;gt;
      &amp;lt;Component text={deferredInput}/&amp;gt;
    &amp;lt;/&amp;gt;
  )
  
const Component = memo(function Component({text})=&amp;gt;{
  // text를 렌더링 하는 굉장히 무거운 컴포넌트임
  return &amp;lt;&amp;gt;&amp;lt;/&amp;gt;
}

//  &lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여전히 빈번하게 바뀌는 상태 값에 영향을 받는 &lt;b&gt;네트워크 요청에 대한 최적화&lt;/b&gt;를 하고 싶으면 &lt;b&gt;debounce &lt;/b&gt;를 쓰는게 맞습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;빈번히 바뀌는 상태 값에 영향을 받는 &lt;b&gt;굉장히 비싼 렌더링을 최적화&lt;/b&gt; 할때 &lt;b&gt;useDefferedValue&lt;/b&gt; 를 쓰는게 맞습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;역시 공식문서를 여러 번 정독해야 될 것 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://react.dev/reference/react/useDeferredValue&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://react.dev/reference/react/useDeferredValue&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1703832380525&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;useDeferredValue &amp;ndash; React&quot; data-og-description=&quot;The library for web and native user interfaces&quot; data-og-host=&quot;react.dev&quot; data-og-source-url=&quot;https://react.dev/reference/react/useDeferredValue&quot; data-og-url=&quot;https://react.dev/reference/react/useDeferredValue&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bCmy3G/hyUXWNKEPY/z0veCfIWpex3LtP2XPy3CK/img.png?width=1080&amp;amp;height=567&amp;amp;face=0_0_1080_567,https://scrap.kakaocdn.net/dn/bbNFkf/hyUXWAdEL9/mkzxfWXMgeq8KHXbmu065K/img.png?width=1080&amp;amp;height=567&amp;amp;face=0_0_1080_567&quot;&gt;&lt;a href=&quot;https://react.dev/reference/react/useDeferredValue&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://react.dev/reference/react/useDeferredValue&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bCmy3G/hyUXWNKEPY/z0veCfIWpex3LtP2XPy3CK/img.png?width=1080&amp;amp;height=567&amp;amp;face=0_0_1080_567,https://scrap.kakaocdn.net/dn/bbNFkf/hyUXWAdEL9/mkzxfWXMgeq8KHXbmu065K/img.png?width=1080&amp;amp;height=567&amp;amp;face=0_0_1080_567');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;useDeferredValue &amp;ndash; React&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;The library for web and native user interfaces&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;react.dev&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프론트엔드 개발/React.js</category>
      <author>snowman95</author>
      <guid isPermaLink="true">https://11001.tistory.com/250</guid>
      <comments>https://11001.tistory.com/250#entry250comment</comments>
      <pubDate>Fri, 29 Dec 2023 15:40:50 +0900</pubDate>
    </item>
  </channel>
</rss>