<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>애독자's 공부방</title>
    <link>https://viewers.tistory.com/</link>
    <description>비전공자의 컴퓨터/IT 독학</description>
    <language>ko</language>
    <pubDate>Mon, 12 Oct 2026 21:30:45 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>애독자</managingEditor>
    <image>
      <title>애독자's 공부방</title>
      <url>https://tistory1.daumcdn.net/tistory/5429237/attach/18f66e9e17a24fe0803a7ffc2273a627</url>
      <link>https://viewers.tistory.com</link>
    </image>
    <item>
      <title>[n8n이 다 해줌] 공식 n8n 글로벌 앰배서더와 함께하는 완독 챌린지 회고</title>
      <link>https://viewers.tistory.com/124</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #9d9d9d; text-align: start;&quot;&gt;『n8n이 다 해줌』공식 n8n 글로벌 앰배서더와 함께하는 완독 챌린지&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&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-origin-width=&quot;491&quot; data-origin-height=&quot;317&quot;&gt;&lt;a href=&quot;https://www.inflearn.com/challenge/6-week-course-n8n-do&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bHQ28S/dJMb99UiPmS/IW50tfiGDox0vo14QJ6ke0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbHQ28S%2FdJMb99UiPmS%2FIW50tfiGDox0vo14QJ6ke0%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;491&quot; height=&quot;317&quot; data-origin-width=&quot;491&quot; data-origin-height=&quot;317&quot;/&gt;&lt;/a&gt;&lt;figcaption&gt;인프런+한빛, 공식 앰배서더와 함께하는 완독 챌린지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;앰배서더와 함께 하는 완독 챌린지 후기 - 나만의 자동화 에이전트를 만들기까지&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt; 매일 반복되는 단순 업무를 보며 '누가 대신 안 해주나' 싶을 때, 코딩 없이 자동화 시스템을 구축할 수 있게 도와주는 이 책을 만났습니다. 데이터팝콘(이인영)님, 임정님의 흡입력 있는 강의와 교재 덕분에, 6주 동안 저만의 방식을 더해가며 자동화 아키텍처의 원리를 잘 이해할 수 있었습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;3T 프레임워크와 Gemini 활용하기&lt;/h4&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;이번 챌린지를 통해 배운 내용 중 가장 유용했던 것은 복잡한 자동화를 '3T 프레임워크(Trigger, Task, Target)'라는 세 가지 기준으로 심플하게 바라보게 된 점입니다. 이 공식에 맞춰 퍼즐을 맞추듯 구조를 시각화하니 흐름이 한눈에 들어왔습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;처음은 감 잡기용 가벼운 프로젝트부터 시작해서, 이후 &lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;'회의록 서기 만들기'때는 연쇄 사고(CoT) 프롬프트로 고품질 결과를 뽑아내는 AI 에이전트의 힘을 배웠고, 'AI 영수증 정리봇'에서는 Extract from File 노드로 이미지를 base64로 변환해 OpenRouter 무료 모델에 연동해보며, 비용 절감과 함께 아키텍처 설계의 재미를 느꼈습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;마지막 'AI 투자 리포트 봇'을 만들때는 공공데이터포털 API를 호출하기 위한 curl의 값이 책과 달라 당황하기도 했지만, 배운대로 Gemini에게 공식 API 명세서(docx)를 제공하며 질문하여 정확히 동작하는 값을 찾아냈습니다. 또한 변수 가득한 환경에서도 LLM과 자바스크립트(Code 노드) 정제 기능을 활용하며 파이프라인을 잘 이해할 수 있었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;'왜 안 되지?' 에서 '어떻게 더 효율적으로 짤까?' 를 고민&lt;/h4&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt; 처음에는 데이터 변환이나 표현식 설정이 다소 까다롭게 느껴졌지만, 완벽해야 한다는 부담을 내려놓고 예제를 하나씩 적용하다 보니 어느새 뚝딱 자동화 워크플로우가 완성되었습니다. 이제는 '왜 실행이 안 되지?'라는 초보적인 막막함을 넘어, '어떻게 하면 비용을 더 아끼고 효율적으로 자동화할 수 있을까?'를 고민하는 저 자신을 보며 전보다 성장했음을 느낍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;책과 함께 챌린지가 끝나 아쉽지만, 이 책을 든든한 멘토 삼아 앞으로는 실무에 필요한 나만의 워크플로우를 스스로 설계하고 도전을 이어가려 합니다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;끝으로 &lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;어떻게 하면 내용을 더 쉽게 전달할지 고민하며 좋은 강의를 해주신 임정님, 매주 과제를 꼼꼼히 확인하고 피드백해 주신 &lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot;&gt;데이터팝콘님(이인영)과 임정님, 아낌없이&amp;nbsp;&lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot;&gt;학습을 지원해 주신&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; text-align: start;&quot;&gt;한빛미디어 담당자님 그리고 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;6주 동안 완독을 향해 함께 달려와 주신 수강생 분들을 포함한 모든 분들께 진심으로 감사드립니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;추신&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot;&gt;: 50% 완주 기념 간식인 메가커피 '초코젤라또 말차라떼' 맛있게 잘 먹었습니다. 저희 동네에는 '말차 젤라또 팥빙 파르페'가 있어서 이걸로 바꿔 먹었답니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&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-origin-width=&quot;502&quot; data-origin-height=&quot;737&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QOzit/dJMcaayW9el/vd2EdksbjYdN9eKvTX2KY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QOzit/dJMcaayW9el/vd2EdksbjYdN9eKvTX2KY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QOzit/dJMcaayW9el/vd2EdksbjYdN9eKvTX2KY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQOzit%2FdJMcaayW9el%2Fvd2EdksbjYdN9eKvTX2KY1%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;251&quot; height=&quot;369&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;737&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>자동화/n8n 완독 챌린지</category>
      <category>n8n</category>
      <category>업무자동화</category>
      <category>완독챌린지</category>
      <category>한빛미디어</category>
      <category>회고</category>
      <author>애독자</author>
      <guid isPermaLink="true">https://viewers.tistory.com/124</guid>
      <comments>https://viewers.tistory.com/124#entry124comment</comments>
      <pubDate>Thu, 18 Jun 2026 01:52:47 +0900</pubDate>
    </item>
    <item>
      <title>[n8n이 다 해줌] 6주 차 미션 _ AI 투자 리포트 봇 만들기</title>
      <link>https://viewers.tistory.com/123</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;CHAPTER 07. AI&amp;nbsp;투자&amp;nbsp;리포트&amp;nbsp;봇&amp;nbsp;만들기_미션&lt;/h2&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;주차별 진도에 따라 주어진 미션과 한 주간 공부한 내용을 정리하여 블로그에 정리&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; 기본 미션:&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;필수 사항&lt;/span&gt;&lt;br /&gt;&lt;b&gt; 심화 미션:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;선택 사항(※ 심화 미션을 수행하면 기본 미션은 생략 가능)&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[기본 미션]&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;CHAPTER 07 주식 시세 AI 투자 리포트(공공데이터포털 API + DataTable + Gemini + HTML 이메일)를 따라 워크플로우를 직접 만들고, 관심 종목을 DataTable에 등록한 뒤 실제로 발송된 HTML 리포트 이메일 화면과 워크플로우 캡처를 블로그에 정리해 보세요.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;506&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/buN5VM/dJMb99Ugds5/LToHTDx4uJKqyPUGKYfau0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/buN5VM/dJMb99Ugds5/LToHTDx4uJKqyPUGKYfau0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/buN5VM/dJMb99Ugds5/LToHTDx4uJKqyPUGKYfau0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuN5VM%2FdJMb99Ugds5%2FLToHTDx4uJKqyPUGKYfau0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;900&quot; height=&quot;506&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;506&quot;/&gt;&lt;/span&gt;&lt;/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 style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;□ 공부한 내용&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - 공공데이터포털: 공공기관이 생성 또는 취득하여 관리하고 있는 공공데이터를 한 곳에서 제공하는 통합 창구&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #1f2328; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;rarr; &lt;/span&gt;주식 시세 API 활용 신청 후 서비스 키를 발급&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #1f2328; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; 1) 금융위원회_지수시세정보용 http 요청 정보 (curl)&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1781426928022&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;curl -X GET &quot;https://apis.data.go.kr/1160100/service/GetMarketIndexInfoService/getStockMarketIndex?serviceKey=YOUR_SERVICE_KEY&amp;amp;resultType=json&amp;amp;pageNo=1&amp;amp;numOfRows=1&amp;amp;idxNm=%EC%BD%94%EC%8A%A4%ED%94%BC&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #1f2328; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; 2) &lt;span style=&quot;background-color: #ffffff; color: #1f2328; text-align: start;&quot;&gt;금융위원회_주식시세정보용 http 요청 정보 (curl)&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1781426947629&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;curl -X GET &quot;https://apis.data.go.kr/1160100/service/GetStockSecuritiesInfoService/getStockPriceInfo?serviceKey=YOUR_SERVICE_KEY&amp;amp;resultType=json&amp;amp;pageNo=1&amp;amp;numOfRows=1&amp;amp;itmsNm={{$json.name}}&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - &lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;DataTable&lt;/span&gt;: n8n 안에서 표 형태로 데이터를 저장하고, 워크플로우에 언제든지 불러와 사용할 수 있는 기능&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . &lt;span style=&quot;background-color: #ffffff; color: #1f2328; text-align: start;&quot;&gt;관심 종목명을&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;name&lt;span style=&quot;background-color: #ffffff; color: #1f2328; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;컬럼에 입력한 DataTable을 생성&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;□&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&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;1567&quot; data-origin-height=&quot;342&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dFxVRu/dJMcahx1acA/5t0iC3adS5wBHeiSemI2I1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dFxVRu/dJMcahx1acA/5t0iC3adS5wBHeiSemI2I1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dFxVRu/dJMcahx1acA/5t0iC3adS5wBHeiSemI2I1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdFxVRu%2FdJMcahx1acA%2F5t0iC3adS5wBHeiSemI2I1%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;1567&quot; height=&quot;342&quot; data-origin-width=&quot;1567&quot; data-origin-height=&quot;342&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;□ 노드의 연결 흐름&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp; - Trigger: 사용자 입력 단&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . Schedule&amp;nbsp;Trigger:&amp;nbsp;지정된&amp;nbsp;요일과&amp;nbsp;시간에&amp;nbsp;워크플로우가&amp;nbsp;자동으로&amp;nbsp;실행되도록&amp;nbsp;예약&amp;nbsp;(매주&amp;nbsp;월요일&amp;nbsp;오후&amp;nbsp;2시)&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp; - Task: AI 가공 및 백업 단계&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . HTTP&amp;nbsp;Request:&amp;nbsp;공공데이터포털&amp;nbsp;API를&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;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . Get row(s): DataTable에서 관심 종목 목록(종목명)을 가져오기&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . Edit&amp;nbsp;Fields&amp;nbsp;-&amp;nbsp;코스피:&amp;nbsp;코스피&amp;nbsp;데이터에서&amp;nbsp;데이터를&amp;nbsp;추출&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . Edit&amp;nbsp;Fields&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;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . Merge:&amp;nbsp;코스피&amp;nbsp;데이터와&amp;nbsp;개별&amp;nbsp;종목&amp;nbsp;데이터를&amp;nbsp;하나로&amp;nbsp;병합&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . Aggregate:&amp;nbsp;서로&amp;nbsp;다른&amp;nbsp;두&amp;nbsp;API&amp;nbsp;노드에서&amp;nbsp;받아온&amp;nbsp;데이터를&amp;nbsp;하나의&amp;nbsp;묶음(배열)으로&amp;nbsp;결합&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . Basic&amp;nbsp;LLM&amp;nbsp;Chain&amp;nbsp;(with&amp;nbsp;Google&amp;nbsp;Gemini&amp;nbsp;Chat&amp;nbsp;Model):&amp;nbsp;통합된&amp;nbsp;전체&amp;nbsp;주가&amp;nbsp;데이터를&amp;nbsp;gemini-2.5-flash&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;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . Edit&amp;nbsp;Fields:&amp;nbsp;Gemini가&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;&lt;b&gt;&amp;nbsp; - Target: 최종 데이터 저장 단계&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; .&lt;span&gt;&lt;span&gt; Code&amp;nbsp;in&amp;nbsp;JavaScript:&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;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; . Gmail&amp;nbsp;(Send&amp;nbsp;an&amp;nbsp;email):&amp;nbsp;최종&amp;nbsp;정제가&amp;nbsp;완료된&amp;nbsp;일일&amp;nbsp;증시&amp;nbsp;요약&amp;nbsp;리포트를&amp;nbsp;지정된&amp;nbsp;수신자의&amp;nbsp;Gmail로&amp;nbsp;전송&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot; data-path-to-node=&quot;14,0,0,0&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;□ 실제 결과 화면&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; -&lt;span&gt;&lt;span&gt; 발송된 HTML 리포트 이메일&lt;/span&gt;&lt;/span&gt;&lt;a style=&quot;color: #000000; text-align: start;&quot; data-slideid=&quot;4069319211+269&quot; data-shapeids=&quot;7&quot; data-sessionid=&quot;b474e6d5-2384-f398-8659-322f7c9d8b70&quot; data-clipservice-param=&quot;{&amp;quot;cYd&amp;quot;:[true],&amp;quot;dYd&amp;quot;:[true]}&quot; data-clipboardasbytes-url=&quot;https://powerpoint.officeapps.live.com/pods/GetClipboardBytes.ashx?Id=b1d41f1f-3181-4b2b-a001-a5296f4e92ed&amp;amp;DC=PJP1&amp;amp;pkey=48797294-efc0-48b1-a714-7940075e73ac&amp;amp;wdwaccluster=PJP1&amp;amp;DataType=shape&quot; data-timestamp=&quot;Sun, 14 Jun 2026 08:11:28 GMT&quot; data-pkey=&quot;48797294-efc0-48b1-a714-7940075e73ac&quot; data-clipservice-isemptyplaceholder=&quot;false&quot; data-clipservice-cut=&quot;false&quot; data-clipservice-count=&quot;1&quot; data-clipservice-type=&quot;shape&quot; data-clipservice-dc=&quot;PJP1&quot; data-clipservice-location=&quot;Rsyizn4V3EaoVjboTTOcbWNodHRwczovL29zMXBlcGYwMDAwZjAyNTo4Mi9wb2RzL3BvZENsaXAuc3ZjP1BvZFNJRD1fLl8uXy41NTJhMzI3Zi0zMGFmLThjMzYtNjBhOS0zOWQ1NTI3NjI1ZjgtLi0uLS41&quot; data-clipservice-version=&quot;0&quot; data-clipservice-ccpid=&quot;b1d41f1f-3181-4b2b-a001-a5296f4e92ed&quot; data-copyfailedreason=&quot;0&quot; data-copystatus=&quot;32&quot;&gt;&amp;nbsp;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . &lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;gemini-2.5-flash 모델을 사용했더니, 자신이 마지막으로 학습한 일자를 최신 일자로 잘 못 말하는 부분이 보임.&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;1501&quot; data-origin-height=&quot;811&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bapATh/dJMcahx1aAZ/WInWp9CazRUmvD2mb2Do2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bapATh/dJMcahx1aAZ/WInWp9CazRUmvD2mb2Do2K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bapATh/dJMcahx1aAZ/WInWp9CazRUmvD2mb2Do2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbapATh%2FdJMcahx1aAZ%2FWInWp9CazRUmvD2mb2Do2K%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;1501&quot; height=&quot;811&quot; data-origin-width=&quot;1501&quot; data-origin-height=&quot;811&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; 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;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;□ 생각&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이번 주차에는 공공데이터포털의 API를 연결하여 실습을 진행했는데, 교재에서 안내한 내용과 실제 API의 응답값이 조금 달라져 있어서 처음엔 약간 당황했었습니다. 하지만 책과 강의에서 배웠던 방식대로 포털에서 내려받은 문서(API 명세서)를 기반으로 Gemini에게 분석을 요청했더니, 변경된 구조를 영리하게 잘 파악하여 답변을 출력해 준 덕분에 문제 없이 연동을 마칠 수 있었습니다. 여기에 AI가 분석해 준 텍스트 내용을 그대로 내보내지 않고, Code 노드에서 자바스크립트를 활용해 이메일 환경에 맞게 한 번 더 정제해 주는 기능도 유용했습니다. 단순히 책을 따라 하는 것을 넘어 지금 시점에서 달라진 점들을 직접 해결하며 실습해 보니, 데이터가 수집되고 가공되어 사용자에게 메일로 도달하기까지의 전체적인 자동화 원리와 구조를 훨씬 잘 이해할 수 있어서 좋았습니다. 이로써 책의 모든 과정이 끝나 아쉽지만, 배운 내용을 바탕으로 나만의 심화 과정을 진행해 보며 아쉬움을 달래보려 합니다. 6주 동안 많이 도와주시고, 함께해 주셔서 감사했습니다!&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>자동화/n8n 완독 챌린지</category>
      <category>n8n</category>
      <category>업무자동화</category>
      <category>완독챌린지</category>
      <category>한빛미디어</category>
      <author>애독자</author>
      <guid isPermaLink="true">https://viewers.tistory.com/123</guid>
      <comments>https://viewers.tistory.com/123#entry123comment</comments>
      <pubDate>Mon, 15 Jun 2026 00:54:20 +0900</pubDate>
    </item>
    <item>
      <title>[n8n이 다 해줌] 5주 차 미션 _ AI 영수증 정리봇 만들기</title>
      <link>https://viewers.tistory.com/122</link>
      <description>&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;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;CHAPTER 06. AI 영수증 정리봇 만들기_미션&lt;/h2&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;주차별 진도에 따라 주어진 미션과 한 주간 공부한 내용을 정리하여 블로그에 정리&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; 기본 미션:&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;필수 사항&lt;/span&gt;&lt;br /&gt;&lt;b&gt; 심화 미션:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;선택 사항(※ 심화 미션을 수행하면 기본 미션은 생략 가능)&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[기본 미션]&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;CHAPTER 06 OCR 영수증 자동화(폼 업로드 &amp;rarr; Upstage OCR &amp;rarr; Gemini 정제 &amp;rarr; Google Sheets 기록)를 따라 워크플로우를 직접 만들고, 예제 영수증 이미지(chap6_카드영수증_예시.jpg 등)를 폼에 업로드해 Google Sheets에 timestamp &amp;middot; 카드번호 &amp;middot; 총금액이 기록되는 결과 화면을 블로그에 정리해 보세요.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;506&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bxDE3O/dJMcadCbqKf/jF38W0Rv6VQVVryPbyVzn1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bxDE3O/dJMcadCbqKf/jF38W0Rv6VQVVryPbyVzn1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bxDE3O/dJMcadCbqKf/jF38W0Rv6VQVVryPbyVzn1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbxDE3O%2FdJMcadCbqKf%2FjF38W0Rv6VQVVryPbyVzn1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;900&quot; height=&quot;506&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;506&quot;/&gt;&lt;/span&gt;&lt;/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 style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;□ 공부한 내용&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - OCR(Optical Character Recognition): 이미지나 스캔 문서 속 글자를 컴퓨터가 읽을 수 있는 텍스트 데이터로 변환하는 기술&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - OpenRouter: 전 세계의 다양한 AI 모델들을 하나의 API와 코드로 연결하여, 비용이나 조건에 맞춰 골라 쓸 수 있게 해주는 AI 모델 종합 중개 플랫폼 (무료로 제공되는 모델도 존재)&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Form Trigger 노드: 사용자가 파일을 업로드하는 순간 워크플로우를 시작시키는 트리거&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - HTTP Request 노드: n8n에 기본으로 없는 외부 API를 호출할 때 사용하는 노드&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Binary File: n8n이 업로드된 파일을 내부적으로 저장하는 방식&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Edit Fields(Set) 노드: API 응답 결과 중 필요한 데이터만 골라 정리하는 역할&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Basic LLM Chain 노드: 추출된 텍스트를 분석해 의미 있는 정보만 선별하도록 AI에 지시&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Structured Output Parser 노드: AI의 출력 형식을 JSON처럼 일정한 구조로 강제하는 도구로, 이후 구글 시트와 같은 외부 저장소에 안정적으로 데이터를 저장할 수 있음&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;□&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&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;1591&quot; data-origin-height=&quot;477&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3XQku/dJMcac4qAgG/8zD29KvuHZPO0K6Vj1rhb1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3XQku/dJMcac4qAgG/8zD29KvuHZPO0K6Vj1rhb1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3XQku/dJMcac4qAgG/8zD29KvuHZPO0K6Vj1rhb1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3XQku%2FdJMcac4qAgG%2F8zD29KvuHZPO0K6Vj1rhb1%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;477&quot; data-origin-width=&quot;1591&quot; data-origin-height=&quot;477&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;□ 노드의 연결 흐름&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp; - Trigger: 사용자 입력 단&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . On form submission (Form Trigger): 사용자가 웹 브라우저를 통해 영수증 이미지 파일(document)을 업로드하는 진입점&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp; - Task: AI 가공 및 백업 단계&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; . &lt;/b&gt;&lt;span style=&quot;letter-spacing: 0px; color: #006dd7;&quot;&gt;Extract from File&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;: 책과 강의에서는 Upstage OCR API를 사용하여 텍스트를 직접 추출했지만, 이번에는 &lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;OpenRouter의 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;무료 멀티모달 비전 모델을 활용하기 위해&lt;/span&gt; 이 노드를 사용 (&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;Binary&lt;/span&gt;&lt;span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt; File &amp;rarr; base64 Text&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp; &amp;nbsp; .&lt;span&gt; HTTP Request &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;(OpenRouter API):&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&lt;span&gt; 변환된 Base64 데이터를 바탕으로 OpenRouter API 서버에 요청을 보냄&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;rarr; 무료로 제공되고 있는 nvidia/nemotron-nano-12b-v2-vl:free 모델을 사용하여 이미지 정보를 확인&lt;/span&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;982&quot; data-origin-height=&quot;271&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sWhsY/dJMcafNHgMc/7O0ISWI9HXjuInXvbeImy0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sWhsY/dJMcafNHgMc/7O0ISWI9HXjuInXvbeImy0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sWhsY/dJMcafNHgMc/7O0ISWI9HXjuInXvbeImy0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsWhsY%2FdJMcafNHgMc%2F7O0ISWI9HXjuInXvbeImy0%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;982&quot; height=&quot;271&quot; data-origin-width=&quot;982&quot; data-origin-height=&quot;271&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp; &amp;nbsp; .&lt;span&gt; Edit Fields&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot; data-path-to-node=&quot;12,2,0,0&quot;&gt;: HTTP Request 노드를 거쳐 들어온 OpenRouter의 수많은 응답 데이터(JSON) 중 실제로 사용할 텍스트 내용($json.choices[0].message.content)만 가져와서 정리 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot; data-path-to-node=&quot;12,2,0,2&quot;&gt;&amp;nbsp; &amp;nbsp; .&lt;span&gt; Basic LLM Chain (with Gemini &amp;amp; Structured Output Parser)&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;: 추출한 영수증 텍스트를 구조화된 데이터로 만드는 구간&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;rarr; Google Gemini Chat Model이 영수증 텍스트를 분석하고, Structured Output Parser 노드가 데이터를 규격화하여 변환&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp; - Target: 최종 데이터 저장 단계&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; .&lt;span&gt; Append row in sheet (Google Sheets): AI가 가공하고 구조화해 준 날짜, 카드번호, 금액 데이터를 구글 시트에 반영&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot; data-path-to-node=&quot;14,0,0,0&quot;&gt;&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot; data-path-to-node=&quot;14,0,0,0&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;□ 실제 결과 화면&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; -&lt;span&gt; 이미지 업로드&lt;/span&gt;&lt;span&gt;&amp;nbsp;&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;1907&quot; data-origin-height=&quot;448&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cbyMhO/dJMcaar3zm2/btHr8B4MMApZjchROG1Bn1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cbyMhO/dJMcaar3zm2/btHr8B4MMApZjchROG1Bn1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cbyMhO/dJMcaar3zm2/btHr8B4MMApZjchROG1Bn1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcbyMhO%2FdJMcaar3zm2%2FbtHr8B4MMApZjchROG1Bn1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1907&quot; height=&quot;448&quot; data-origin-width=&quot;1907&quot; data-origin-height=&quot;448&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;-&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt; 실제 영수증 사진 및 구글 시트에 반영된 내용&lt;/span&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;1078&quot; data-origin-height=&quot;352&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p6SQW/dJMcacXFYFr/UAj6kele8pLZrtMOuODwR1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p6SQW/dJMcacXFYFr/UAj6kele8pLZrtMOuODwR1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p6SQW/dJMcacXFYFr/UAj6kele8pLZrtMOuODwR1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp6SQW%2FdJMcacXFYFr%2FUAj6kele8pLZrtMOuODwR1%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;1078&quot; height=&quot;352&quot; data-origin-width=&quot;1078&quot; data-origin-height=&quot;352&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;□ 생각&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이번 주차에는 책과 강의에 나온 방법을 그대로 따라 하기보다, 비용을 아끼기 위해 유료 API를 사용하지 않는 방향으로 직접 수정해서 더욱 뜻깊었습니다. 특히 OpenRouter의 무료 모델 API를 활용하기 위해서, n8n의 Extract from File 노드로 이미지 파일(Binary)을 base64 텍스트로 변환하는 과정을 거쳤는데, 이 포맷 변환 기능이 아주 유용했습니다. 책의 기본 내용에 나만의 개발 방식을 더해 연동해보니, 자동화가 어떻게 흘러가는지 그 원리와 구조를 더 깊이 있게 이해할 수 있었습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>자동화/n8n 완독 챌린지</category>
      <category>n8n</category>
      <category>업무자동화</category>
      <category>완독챌린지</category>
      <category>한빛미디어</category>
      <author>애독자</author>
      <guid isPermaLink="true">https://viewers.tistory.com/122</guid>
      <comments>https://viewers.tistory.com/122#entry122comment</comments>
      <pubDate>Mon, 8 Jun 2026 02:56:42 +0900</pubDate>
    </item>
    <item>
      <title>[n8n이 다 해줌] 4주 차 미션 _ AI 회의록 서기 만들기</title>
      <link>https://viewers.tistory.com/121</link>
      <description>&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;CHAPTER 05. AI 회의록 서기 만들기_미션&lt;/h2&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;주차별 진도에 따라 주어진 미션과 한 주간 공부한 내용을 정리하여 블로그에 정리&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; 기본 미션:&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;필수 사항&lt;/span&gt;&lt;br /&gt;&lt;b&gt; 심화 미션:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;선택 사항(※ 심화 미션을 수행하면 기본 미션은 생략 가능)&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[기본 미션]&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;CHAPTER 05 회의록 STT 워크플로우(오디오 파일 &amp;rarr; Gemini STT &amp;rarr; 교정 &amp;rarr; 요약 &amp;rarr; Google Drive + Notion 업로드)를 따라 워크플로우를 직접 만들고, 예제 오디오 파일(chap5_STT_example_audio.mp3)로 실행해 생성된 Notion 회의록 페이지와 Google Drive 전사 파일 링크를 블로그에 정리해 보세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;※ iOS 사용자는 단축어, &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;Android 사용자는 Google Drive 트리거&lt;/b&gt;&lt;/span&gt; 또는 Telegram 봇 중 편한 방식을 선택해 주세요.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;506&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmlL28/dJMcaiQ2dFU/dNnxH4QMgJcaDzKVnFlMx1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmlL28/dJMcaiQ2dFU/dNnxH4QMgJcaDzKVnFlMx1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmlL28/dJMcaiQ2dFU/dNnxH4QMgJcaDzKVnFlMx1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmlL28%2FdJMcaiQ2dFU%2FdNnxH4QMgJcaDzKVnFlMx1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;900&quot; height=&quot;506&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;506&quot;/&gt;&lt;/span&gt;&lt;/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 style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;□ 공부한 내용&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - STT(Speech-to-Text): 음성을 텍스트로 변환하는 기술 (Gemini 모델로 수행&amp;nbsp; &amp;larr; Gemini-2.5-flash-lite 활용)&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Message a model 노드: 텍스트 교정과 회의록 요약을 담당하며 프롬프트 설계에 따라 결과 품질이 결정됨&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Notion Create a database page 노드: 구조화된 JSON 데이터를 노션 데이터베이스에 기록&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Test URL: 워크플로우를 편집하며 기능을 확인할 때 사용하는 임시 주소로 Listen for Test Event 상태에서만 동작&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Production URL: 워크플로우를 발행한 뒤 실제 운영 환경에서 사용하는 주소로 별도의 대기 없이 항상 요청을 받을 수 있음&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;□&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&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;1570&quot; data-origin-height=&quot;240&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FZQMB/dJMcahxRrOt/NxOy3ujKTzYUwA7DmQKc3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FZQMB/dJMcahxRrOt/NxOy3ujKTzYUwA7DmQKc3k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FZQMB/dJMcahxRrOt/NxOy3ujKTzYUwA7DmQKc3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFZQMB%2FdJMcahxRrOt%2FNxOy3ujKTzYUwA7DmQKc3k%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;1570&quot; height=&quot;240&quot; data-origin-width=&quot;1570&quot; data-origin-height=&quot;240&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;□ 노드의 연결 흐름&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp; - Trigger: 사용자 입력 단&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . On form submission (Form Trigger): 'AI 회의록 비서'라는 웹 폼 페이지를 띄우고 회의록 오디오 파일을 직접 업로드받는 트리거&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp; - Task: AI 가공 및 백업 단계&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; . &lt;/b&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;Transcribe a recording (Google Gemini):&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; gemini-2.5-flash-lite 모델을 활용해 업로드된 오디오 바이너리 파일을 텍스트 스크립트로 변환(STT)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp; &amp;nbsp; . &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;Convert to File &amp;amp; Upload file (Google Drive):&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; 변환된 원본 스크립트를 즉시 텍스트 파일(.txt)로 변환하여 구글 드라이브 지정 폴더(Hanbit_n8n)에 자동으로 백업 업로드&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp; &amp;nbsp; . &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot; data-path-to-node=&quot;12,2,0,0&quot;&gt;Check Typo (Google Gemini): STT 특성상 발생하는 어색한 문맥이나 오탈자를 교정 에디터 페르소나를 통해 매끄럽게 윤문 진행 (&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot; data-path-to-node=&quot;12,2,0,2&quot;&gt;요약하지 않고 원문의 길이를 그대로 유지하는 정밀 교정 지침을 적용)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot; data-path-to-node=&quot;12,2,0,2&quot;&gt;&amp;nbsp; &amp;nbsp; . &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;Summarize (Google Gemini): 교정된 텍스트를 바탕으로 '수석 서기' 페르소나가 작동하여 미팅 날짜, 주제, 한줄 요약, 참석자, 미팅 요약이 포함된 JSON 포맷으로 최종 출력&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp; - Notion: 최종 데이터 저장 단계&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; . &lt;/b&gt;&lt;span style=&quot;letter-spacing: 0px;&quot; data-path-to-node=&quot;14,0,0,0&quot;&gt;Create a database page (Notion): 앞선 단계에서 정제한 JSON 데이터를 파싱하여 노션의 '회의록' 데이터베이스(회의제목, 날짜, 한줄요약 등)에 매핑하고 본문 내용까지 생성&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot; data-path-to-node=&quot;14,0,0,0&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #006dd7;&quot;&gt;※ 연결 생성: &lt;span style=&quot;color: #000000;&quot;&gt;연결 &amp;gt; 연결 관리 &amp;gt;&lt;/span&gt; Notion 개발자 &amp;gt; 연결 만들기 &amp;gt; + 신규 연결&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;□ 실제 결과 화면&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - &lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;AI 회의록 비서&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;1917&quot; data-origin-height=&quot;472&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/li20R/dJMcaarYQHO/t5kzE9Om78RZ3CrNd1YZ6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/li20R/dJMcaarYQHO/t5kzE9Om78RZ3CrNd1YZ6k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/li20R/dJMcaarYQHO/t5kzE9Om78RZ3CrNd1YZ6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fli20R%2FdJMcaarYQHO%2Ft5kzE9Om78RZ3CrNd1YZ6k%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;1917&quot; height=&quot;472&quot; data-origin-width=&quot;1917&quot; data-origin-height=&quot;472&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;&amp;nbsp; -&lt;span&gt; 변환된 원본 스크립트(텍스트)를 구글 드라이브에 업로드&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; . 파일 링크:&amp;nbsp; &lt;a href=&quot;https://drive.google.com/file/d/1Y2t-PrzqwJWtdiPagTrtHaT8P3ZW5hd5/view?usp=drive_link&quot;&gt;https://drive.google.com/file/d/1Y2t-PrzqwJWtdiPagTrtHaT8P3ZW5hd5/view?usp=drive_link&lt;/a&gt;&lt;/span&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;1520&quot; data-origin-height=&quot;322&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cAh6fb/dJMcafmwLMH/I2R79o9N5xOknOqlJKsKf1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cAh6fb/dJMcafmwLMH/I2R79o9N5xOknOqlJKsKf1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cAh6fb/dJMcafmwLMH/I2R79o9N5xOknOqlJKsKf1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcAh6fb%2FdJMcafmwLMH%2FI2R79o9N5xOknOqlJKsKf1%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;1520&quot; height=&quot;322&quot; data-origin-width=&quot;1520&quot; data-origin-height=&quot;322&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&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-origin-width=&quot;1919&quot; data-origin-height=&quot;713&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dcWJYC/dJMcahxRsmG/KGf90KKELeGWuM7Eq6kkK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dcWJYC/dJMcahxRsmG/KGf90KKELeGWuM7Eq6kkK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dcWJYC/dJMcahxRsmG/KGf90KKELeGWuM7Eq6kkK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdcWJYC%2FdJMcahxRsmG%2FKGf90KKELeGWuM7Eq6kkK1%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;1919&quot; height=&quot;713&quot; data-origin-width=&quot;1919&quot; data-origin-height=&quot;713&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;&amp;nbsp; -&lt;span&gt;&lt;span&gt; 노션에 반영된 회의록 페이지&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; . 페이지 링크: &lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://www.notion.so/371be9fd172b8034bb11cd438f8dbb23?v=371be9fd172b80569583000cd4d6ab6b&amp;amp;source=copy_link&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.notion.so/371be9fd172b8034bb11cd438f8dbb23?v=371be9fd172b80569583000cd4d6ab6b&amp;amp;source=copy_link&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;1575&quot; data-origin-height=&quot;486&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkaCUb/dJMcahdyFGI/KHCKhAkkatDU7gvZb3FK10/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkaCUb/dJMcahdyFGI/KHCKhAkkatDU7gvZb3FK10/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkaCUb/dJMcahdyFGI/KHCKhAkkatDU7gvZb3FK10/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkaCUb%2FdJMcahdyFGI%2FKHCKhAkkatDU7gvZb3FK10%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;1575&quot; height=&quot;486&quot; data-origin-width=&quot;1575&quot; data-origin-height=&quot;486&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;□ 생각&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;별도의 유료 STT API를 연동하지 않고도 Gemini 노드만으로 오디오 파일에서 한글 텍스트를 빠르고 정확하게 추출하는 부분이 좋았습니다.&amp;nbsp; &lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;무엇보다 교정과 요약 단계를 분리하여 AI가 단계별로 연쇄 사고(CoT)를 하도록 설계한 프롬프트 덕분에, 높은 수준의 회의록이 자동으로 산출되는 구조가 유용했습니다. 아울러&lt;/span&gt;&amp;nbsp;워크플로우가 길어지면 흐름을 한눈에 파악하기 힘든데, Sticky Note 노드를 사용해 색상별로 영역(Trigger, Task, Notion)을 지정해 두니 복잡한 구조도 쉽게 파악할 수 있었습니다.&amp;nbsp;마지막으로 노션 페이지 생성 이후에 Discord 노드를 추가해서 '금일 진행된 [회의 주제] 회의록 생성이 완료되었습니다. 노션 링크를 확인해주세요!' 라고 실시간 알림을 보내면 더 편리할 것 같습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>자동화/n8n 완독 챌린지</category>
      <category>n8n</category>
      <category>업무자동화</category>
      <category>완독챌린지</category>
      <category>한빛미디어</category>
      <author>애독자</author>
      <guid isPermaLink="true">https://viewers.tistory.com/121</guid>
      <comments>https://viewers.tistory.com/121#entry121comment</comments>
      <pubDate>Mon, 1 Jun 2026 02:31:02 +0900</pubDate>
    </item>
    <item>
      <title>[n8n이 다 해줌] 3주 차 미션 _ 장바구니 도우미 AI 만들기</title>
      <link>https://viewers.tistory.com/120</link>
      <description>&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;CHAPTER 04.장바구니 도우미 AI 만들기_미션&lt;/h2&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;주차별 진도에 따라 주어진 미션과 한 주간 공부한 내용을 정리하여 블로그에 정리&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; 기본 미션:&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;필수 사항&lt;/span&gt;&lt;br /&gt;&lt;b&gt; 심화 미션:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;선택 사항(※ 심화 미션을 수행하면 기본 미션은 생략 가능)&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[기본 미션]&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt; &lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;CHAPTER 04 장바구니 AI Agent(KAMIS API + Google Sheets + Google Gemini)를 따라 워크플로우를 직접 만들고, 채팅창에 실제 질문(예: &quot;오늘 복숭아 시세 어때?&quot;)을 넣어 AI Agent가 Google Sheets에서 품목 코드를 찾아 API를 호출하고 답변을 만들어 내는 흐름과 결과 화면을 블로그에 정리해 보세요.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;4.jpg&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;506&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbUniW/dJMcadviDxK/hkfL66OY5oWTHekGD2OZDK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbUniW/dJMcadviDxK/hkfL66OY5oWTHekGD2OZDK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbUniW/dJMcadviDxK/hkfL66OY5oWTHekGD2OZDK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbUniW%2FdJMcadviDxK%2FhkfL66OY5oWTHekGD2OZDK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;900&quot; height=&quot;506&quot; data-filename=&quot;4.jpg&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;506&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 style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;□ 공부한 내용&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Chat Trigger: 사용자의 채팅 메시지를 워크플로우 실행 신호로 받아 자동화를 시작하며, 결과를 같은 채팅 화면으로 돌려주는 트리거이자 타깃&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - AI Agent: 사용자의 질문 의도를 해석하고 필요한 도구를 호출해 데이터를 조회한 뒤, 비교/판단 결과를 문장으로 정리&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Google Gemini Chat Model: AI Agent가 실제로 사고하고 문장을 생성하는 언어 모델(LLM)이며, Google AI Studio에서 발급한 API키로 n8n과 연결&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - KAMIS Open API: 장바구니 도우미가 참조하는 가격 데이터 소스로, 품목 코드와 요청 파라미터를 기반으로 일별 가격 정보를 조회&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Google Sheets Tools은 품목명과 품목코드를 매핑하기 위한 참조 데이터로 사용&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - HTTP Request: KAMIS API를 호출해 가격 데이터를 가져옴&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Make Chat Publicly Available: 이 옵션을 활성화하면 워크플로우가 Chat URL로 공개되어, n8n 계정이 없는 사용자도 브라우저에서 장바구니 도우미 AI를 바로 사용 가능&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - 시스템 프롬프트: AI Agent의 역할, 사용할 도구, 업무 절차, 출력 형식을 사전에 규정하는 최상위 지침으로 결과의 일관성과 품질을 좌우&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;□&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&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;1547&quot; data-origin-height=&quot;455&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dcSTvW/dJMb99NeFXQ/7730yNcfqAKfKrQcgOP7e0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dcSTvW/dJMb99NeFXQ/7730yNcfqAKfKrQcgOP7e0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dcSTvW/dJMb99NeFXQ/7730yNcfqAKfKrQcgOP7e0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdcSTvW%2FdJMb99NeFXQ%2F7730yNcfqAKfKrQcgOP7e0%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;1547&quot; height=&quot;455&quot; data-origin-width=&quot;1547&quot; data-origin-height=&quot;455&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;□ 노드의 연결 흐름&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp; - Main&amp;nbsp;Workflow&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . When&amp;nbsp;chat&amp;nbsp;message&amp;nbsp;received&amp;nbsp;(Chat&amp;nbsp;Trigger):&amp;nbsp;사용자가&amp;nbsp;채팅창에&amp;nbsp;&quot;요즘&amp;nbsp;사과&amp;nbsp;시세&amp;nbsp;어때?&quot;라고&amp;nbsp;자연어로&amp;nbsp;물어보면&amp;nbsp;워크플로우가&amp;nbsp;시작됨&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . AI&amp;nbsp;Agent:&amp;nbsp;전체&amp;nbsp;시스템의&amp;nbsp;컨트롤&amp;nbsp;타워로,&amp;nbsp;프롬프트&amp;nbsp;설정을&amp;nbsp;통해&amp;nbsp;역할(Persona)과&amp;nbsp;'생각의&amp;nbsp;사슬(Chain&amp;nbsp;of&amp;nbsp;Thought)'&amp;nbsp;프로세스를&amp;nbsp;부여받음&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . Google&amp;nbsp;Gemini&amp;nbsp;Chat&amp;nbsp;Model&amp;nbsp;(gemini-2.5-flash-lite):&amp;nbsp;에이전트의&amp;nbsp;두뇌&amp;nbsp;역할을&amp;nbsp;하며&amp;nbsp;상황을&amp;nbsp;판단하고&amp;nbsp;답변을&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp; &amp;nbsp; . Simple Memory: 대화의 흐름을 기억해 문맥에 맞는 매끄러운 소통을 지원 &lt;br /&gt;&amp;nbsp; &amp;nbsp; . Google Sheets Tool: 자연어 질문(예: 사과)을 API가 인식할 수 있는 '품목/부류 코드'로 변환하기 위해 맵핑용 구글 시트 데이터를 참조하는 도구 &lt;br /&gt;&amp;nbsp; &amp;nbsp; . Call '장바구니' (Tool Workflow): 에이전트가 변환된 코드를 들고 실시간 가격 조회를 하러 가기 위해 실행하는 서브 워크플로우 실행 도구 &lt;br /&gt;&lt;b&gt;&amp;nbsp; - Sub&amp;nbsp;Workflow&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . When&amp;nbsp;Executed&amp;nbsp;by&amp;nbsp;Another&amp;nbsp;Workflow:&amp;nbsp;에이전트가&amp;nbsp;던져준&amp;nbsp;item_category_code를&amp;nbsp;입력받음&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . HTTP&amp;nbsp;Request:&amp;nbsp;KAMIS(농수산물유통정보)&amp;nbsp;API와&amp;nbsp;통신하여&amp;nbsp;당일&amp;nbsp;기준&amp;nbsp;품목별&amp;nbsp;일별&amp;nbsp;시세&amp;nbsp;JSON&amp;nbsp;데이터를&amp;nbsp;실시간으로&amp;nbsp;가져옴 &lt;br /&gt;&lt;b&gt;&amp;nbsp; - System&amp;nbsp;Message&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; 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;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . 생각의 사슬(CoT): [의도 파악] ➔ [정보 매핑] ➔ [데이터 조회] ➔ [분석 및 인사이트] ➔ [결과 생성]의 5단계를 무조건 거치도록 유도하여 AI의 환각을 방지&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; 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;JSON&amp;nbsp;데이터&amp;nbsp;노출&amp;nbsp;금지,&amp;nbsp;Markdown을&amp;nbsp;활용한&amp;nbsp;구조화된&amp;nbsp;답변&amp;nbsp;출력&amp;nbsp;유도&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;□ 실제 결과 화면&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - 질문:&amp;nbsp; 오늘 사과 시세 어때?&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &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;1916&quot; data-origin-height=&quot;916&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Z9P1z/dJMb99NeFUo/Z0stQbf2ysI8oiv2TBkM5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Z9P1z/dJMb99NeFUo/Z0stQbf2ysI8oiv2TBkM5k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Z9P1z/dJMb99NeFUo/Z0stQbf2ysI8oiv2TBkM5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZ9P1z%2FdJMb99NeFUo%2FZ0stQbf2ysI8oiv2TBkM5k%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;1916&quot; height=&quot;916&quot; data-origin-width=&quot;1916&quot; data-origin-height=&quot;916&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;□ 생각&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;파이썬으로 랭체인 등을 활용하여 이를 직접 코딩하려면 환경 설정부터 도구 바인딩까지 많은 양의 코드가 필요한데, n8n에서는 시각적으로 노드들을 이어 붙이고 시스템 메시지만 적어주면 작동하는 에이전트가 완성된다는 점이 정말 편리했습니다. 또한 에이전트가 직접 복잡한 HTTP Request 연동을 다 처리하게 하면 프롬프트가 꼬이기 쉬울 것 같은데, API 연동부는 Execute Workflow 형태로 분리하여 에이전트에게 도구(ToolWorkflow)로 쥐여주는 구성이 결합성과 유지보수 면에서 유용하다고 느꼈습니다.&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-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>자동화/n8n 완독 챌린지</category>
      <category>n8n</category>
      <category>업무자동화</category>
      <category>완독챌린지</category>
      <category>한빛미디어</category>
      <author>애독자</author>
      <guid isPermaLink="true">https://viewers.tistory.com/120</guid>
      <comments>https://viewers.tistory.com/120#entry120comment</comments>
      <pubDate>Tue, 26 May 2026 01:23:25 +0900</pubDate>
    </item>
    <item>
      <title>[n8n이 다 해줌] 2주 차 미션 _ 나만의 날씨 알리미</title>
      <link>https://viewers.tistory.com/119</link>
      <description>&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;CHAPTER 03.&amp;nbsp;나만의 날씨 알리미 만들기_미션&lt;/h2&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;주차별 진도에 따라 주어진 미션과 한 주간 공부한 내용을 정리하여 블로그에 정리&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; 기본 미션:&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;필수 사항&lt;/span&gt;&lt;br /&gt;&lt;b&gt; 심화 미션:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;선택 사항(※ 심화 미션을 수행하면 기본 미션은 생략 가능)&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[기본 미션]&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;CHAPTER 03 나만의 날씨 알리미 만들기(OpenWeatherMap API &amp;rarr; Discord 알림)를 따라 워크플로우를 직접 만들고, 실행 결과와 워크플로우 화면을 블로그에 정리해 보세요.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;506&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/W3rkQ/dJMcaiJ5bms/LBk0beCSCk8U4BkCgwU1k1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/W3rkQ/dJMcaiJ5bms/LBk0beCSCk8U4BkCgwU1k1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/W3rkQ/dJMcaiJ5bms/LBk0beCSCk8U4BkCgwU1k1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FW3rkQ%2FdJMcaiJ5bms%2FLBk0beCSCk8U4BkCgwU1k1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;900&quot; height=&quot;506&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;506&quot;/&gt;&lt;/span&gt;&lt;/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 style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;□ 공부한 내용&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - OpenWeatherMap: 다양한 기상 데이터를 제공하는 전문 API 서비스&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - API: 외부 서비스와 데이터를 주고받기 위해 사용&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . API 키: 요청 권한을 확인하기 위한 디지털 비밀번호 역할&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Merge 노드: 서로 다른 데이터를 하나의 흐름으로 병합 (Combine 모드 활용)&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . Combine By Position: 각각 하나씩 반환된 데이터를 같은 위치의 아이템끼리 병합 가능&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Edit Fields 노드: 메시지에 필요한 데이터만 선별하여, 이후 단계에서 구성하기 쉬운 형태로 정리 가능&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - 디스코드 웹훅: 자동화 결과를 별도의 복잡한 설정 없이 메시지 형태로 전달 가능&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;□&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&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;1488&quot; data-origin-height=&quot;458&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pXxwV/dJMcad24juL/4enUdHKdeoFDkhYPUDwD5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pXxwV/dJMcad24juL/4enUdHKdeoFDkhYPUDwD5K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pXxwV/dJMcad24juL/4enUdHKdeoFDkhYPUDwD5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpXxwV%2FdJMcad24juL%2F4enUdHKdeoFDkhYPUDwD5K%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;1488&quot; height=&quot;458&quot; data-origin-width=&quot;1488&quot; data-origin-height=&quot;458&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;□ 노드의 연결 흐름&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Schedule Trigger: 매일 오전 6시 실행&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - OpenWeatherMap(현재날씨): 서울(Seoul)의 현재 기온, 기상상태, 일출/일몰 시간 제공, 언어는 한국어(kr)&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - &lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;OpenWeatherMap(5일예보): 3시간 단위로 제공되는 데이터를 가져와서 8번째(24시간) 데이터를 활용&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Merge(Combine): 연재날씨와 5일예보 데이터를 한데 묶어 다음 노드로 전달&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Edit Fields(비활성화): 데이터를 정제하려다 디스코드 노드에서 표현식(expressions)을 사용해 제어 가능하여 비활성화 처리&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Discord: 웹후크를 연동해 잘 정리한 포멧으로 날씨 메시지를 전송&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;□ 실제 Discord 수신 화면&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1533&quot; data-origin-height=&quot;317&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pERrO/dJMcaciNx0K/PKo5uD8uvG6e07rVX0hhnK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pERrO/dJMcaciNx0K/PKo5uD8uvG6e07rVX0hhnK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pERrO/dJMcaciNx0K/PKo5uD8uvG6e07rVX0hhnK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpERrO%2FdJMcaciNx0K%2FPKo5uD8uvG6e07rVX0hhnK%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;1533&quot; height=&quot;317&quot; data-origin-width=&quot;1533&quot; data-origin-height=&quot;317&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;□ 생각&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;각각의 OpenWatherMap API 응답 데이터를 Merge 노드를 통해 쉽게 하나로 병합하는 부분이 편리했으며, n8n의 직관성을 느낄 수 있었습니다. 또한 &lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;디스코드 노드에서 표현식&lt;/span&gt; 사용이 가능해서 필요없는 Edit Fields 노드를 비활성화 처리 했는데, 이렇게 임시로 노드를 끄고 켤 수 있는 점도 매우 유용합니다. 추가적으로 내일날씨인 {{ $json.list[8].weather[0].main }}의 값이 Rain이나 Snow 인 경우에 &quot;내일 비/눈 소식이 있으니 우산을 챙기세요!&quot; 라는 메시지를 디스코드에 추가하면 더 좋을 것 같습니다.&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>자동화/n8n 완독 챌린지</category>
      <category>n8n</category>
      <category>업무자동화</category>
      <category>완독챌린지</category>
      <category>한빛미디어</category>
      <author>애독자</author>
      <guid isPermaLink="true">https://viewers.tistory.com/119</guid>
      <comments>https://viewers.tistory.com/119#entry119comment</comments>
      <pubDate>Mon, 18 May 2026 01:26:16 +0900</pubDate>
    </item>
    <item>
      <title>[n8n이 다 해줌] 1주 차 미션 _ 주식 뉴스 수집봇</title>
      <link>https://viewers.tistory.com/118</link>
      <description>&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;CHAPTER 02. 주식 뉴스 수집봇 만들기_미션&lt;/h2&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&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;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;필수 사항&lt;/span&gt;&lt;br /&gt;&lt;b&gt; 심화 미션:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;선택 사항(※ 심화 미션을 수행하면 기본 미션은 생략 가능)&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[기본 미션]&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;CHAPTER 02 구글 RSS 피드 뉴스 메일링(Google News RSS &amp;rarr; Gmail)을 따라 워크플로우를 직접 만들고, Schedule Trigger &amp;middot; RSS Read &amp;middot; Limit &amp;middot; Edit Fields &amp;middot; Aggregate &amp;middot; Gmail 노드의 연결 흐름과 실제 수신한 이메일 화면을 블로그에 정리해 보세요.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&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-origin-width=&quot;900&quot; data-origin-height=&quot;506&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brDpAS/dJMcaglcoEe/s7qC2sbmTdhiP9mcTTyo8k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brDpAS/dJMcaglcoEe/s7qC2sbmTdhiP9mcTTyo8k/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brDpAS/dJMcaglcoEe/s7qC2sbmTdhiP9mcTTyo8k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrDpAS%2FdJMcaglcoEe%2Fs7qC2sbmTdhiP9mcTTyo8k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;900&quot; height=&quot;506&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;506&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;□ 공부한 내용&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; -&amp;nbsp;n8n: 반복되는 업무를 대신 실행해주는 노코드 자동화 도구&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . &lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;n8n Cloud로 설치 없이 바로 시작 가능&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; -&amp;nbsp;워크플로우: 자동화하고 싶은 업무의 전체 흐름을 한 화면에 그린 것&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . 트리거로 시작해 액션으로 실행됨&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; -&amp;nbsp;노드: 노드는 각각의 기능 블록으로, 연결로 이어 자동화 흐름을 생성&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . 노드 사이의 데이터는 JSON 형식으로 전달&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; -&amp;nbsp;3T 프레임워크: 자동화 워크플로우의 뼈대를 잡기 위한 사고의 틀&amp;nbsp; &amp;rarr; 트리거(Trigger), 태스크(Task), 타깃(Target) 활용&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . 트리거: 자동화를 시작하게 만드는 조건 (언제 이 워크플로우를 실행할 것인지를 결정)&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . 태스크: 트리거가 실행된 이후 워크플로우가 실제로 수행하는 작업으로, 데이터를 수집하고 정리하고 가공하는 모든 처리 과정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; . 타깃: 자동화 결과가 도착하는 목적지로, 태스크를 통해 만들어진 결과를 어디로 전달하지를 정의&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;□ &lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&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;1858&quot; data-origin-height=&quot;227&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cMsGEd/dJMcaciLPHG/m63KZKxMryHBaaZsWBrCkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cMsGEd/dJMcaciLPHG/m63KZKxMryHBaaZsWBrCkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cMsGEd/dJMcaciLPHG/m63KZKxMryHBaaZsWBrCkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcMsGEd%2FdJMcaciLPHG%2Fm63KZKxMryHBaaZsWBrCkk%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;1858&quot; height=&quot;227&quot; data-origin-width=&quot;1858&quot; data-origin-height=&quot;227&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;1851&quot; data-origin-height=&quot;217&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KwSgQ/dJMb99TU2Ah/4e1nJRhWQ6vh42UCyfnit1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KwSgQ/dJMb99TU2Ah/4e1nJRhWQ6vh42UCyfnit1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KwSgQ/dJMb99TU2Ah/4e1nJRhWQ6vh42UCyfnit1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKwSgQ%2FdJMb99TU2Ah%2F4e1nJRhWQ6vh42UCyfnit1%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;1851&quot; height=&quot;217&quot; data-origin-width=&quot;1851&quot; data-origin-height=&quot;217&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;&amp;nbsp; - Schedule Trigger: 매일 오전 6시, 업무 시작 전 뉴스를 받아볼 수 있게 설정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - RSS Read: 구글 뉴스 RSS 피드에서, &lt;s&gt;주식&lt;/s&gt; n8n 키워드의 최신 소식을 가져옴&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Limit: 너무 많은 정보는 피로감을 줄 수 있어 상위 5개로 처리할 데이터 개수를 제한&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Edit Fields: 복잡한 RSS 데이터중 제목(Title)과 링크(Link)만 남겨 구조를 단순화&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Aggregate: 5개의 개별 뉴스 데이터를 하나의 데이터 묶음으로 통합&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - Gmail: 정리된 뉴스를 본문에 추가하여 최종 발송&lt;/p&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1592&quot; data-origin-height=&quot;532&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JYCC3/dJMcabEcXLl/72JpJBWdTsl1CqbFvonwek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JYCC3/dJMcabEcXLl/72JpJBWdTsl1CqbFvonwek/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JYCC3/dJMcabEcXLl/72JpJBWdTsl1CqbFvonwek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJYCC3%2FdJMcabEcXLl%2F72JpJBWdTsl1CqbFvonwek%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;1592&quot; height=&quot;532&quot; data-origin-width=&quot;1592&quot; data-origin-height=&quot;532&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;n8n의 가장 큰 매력은 '확장성'인 것 같습니다. 기본 예제에서 노드 하나만 바꾸거나(Gmail &amp;rarr; Discord), 노드 하나만 추가해도(Merge) 새로운 워크플로우를 만들 수 있다는 점에 놀랐습니다.&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>자동화/n8n 완독 챌린지</category>
      <category>n8n</category>
      <category>업무자동화</category>
      <category>완독챌린지</category>
      <category>한빛미디어</category>
      <author>애독자</author>
      <guid isPermaLink="true">https://viewers.tistory.com/118</guid>
      <comments>https://viewers.tistory.com/118#entry118comment</comments>
      <pubDate>Fri, 15 May 2026 01:09:15 +0900</pubDate>
    </item>
    <item>
      <title>역자와 함께 하는 『밑바닥부터 시작하는 딥러닝1』 완독 챌린지 최종 후기</title>
      <link>https://viewers.tistory.com/117</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #9d9d9d; text-align: start;&quot;&gt;혼공단 - 혼공바, 혼자&amp;nbsp;공부하는&amp;nbsp;바이브&amp;nbsp;코딩&amp;nbsp;with&amp;nbsp;클로드&amp;nbsp;코드&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&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;488&quot; data-origin-height=&quot;312&quot;&gt;&lt;a href=&quot;https://www.inflearn.com/challenge/3%EC%A3%BC-%EA%B3%BC%EC%A0%95-%EC%97%AD%EC%9E%90%EC%99%80-%ED%95%A8%EA%BB%98-%ED%95%98%EB%8A%94%EB%B0%91%EB%B0%94%EB%8B%A5%EB%B6%80%ED%84%B0?cid=340643&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b28v7C/dJMcahXMwlo/Rca1bhn4shwkN2FnTmw6rk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb28v7C%2FdJMcahXMwlo%2FRca1bhn4shwkN2FnTmw6rk%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;488&quot; height=&quot;312&quot; data-origin-width=&quot;488&quot; data-origin-height=&quot;312&quot;/&gt;&lt;/a&gt;&lt;figcaption&gt;인프런+한빛, 역자와 함께하는 완독 챌린지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;역자와 함께 하는 완독 챌린지 성공(?) 후기&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;솔직히&amp;nbsp;말해서,&amp;nbsp;제&amp;nbsp;진짜&amp;nbsp;관심사는&amp;nbsp;요즘&amp;nbsp;가장&amp;nbsp;핫한&amp;nbsp;LLM,&amp;nbsp;그러니까&amp;nbsp;출시&amp;nbsp;예정인&amp;nbsp;'밑바닥부터&amp;nbsp;시작하는&amp;nbsp;딥러닝&amp;nbsp;6편'이었습니다.&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;3주간의&amp;nbsp;챌린지는&amp;nbsp;넘지못하는&amp;nbsp;커다란&amp;nbsp;산과&amp;nbsp;같았던&amp;nbsp;AI를&amp;nbsp;점점&amp;nbsp;수학과&amp;nbsp;논리로&amp;nbsp;풀어나가는&amp;nbsp;시간이었습니다.&lt;/span&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;span style=&quot;color: #666666;&quot;&gt;1.&amp;nbsp;왜&amp;nbsp;1권부터&amp;nbsp;시작해야&amp;nbsp;했을까?&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;아직 책이 나오지 않은 문제도 있지만 LLM도 결국엔 아주 큰 신경망으로, 이번에 배운 오차역전파법을 모르면 트랜스포머가 학습되는 원리를 이해하기 어렵습니다. 또, 가중치의 초깃값과 활성화 함수 사이의 관계를 이해하지 못하면 왜 모델이 환각 현상을 보이거나 학습에 실패하는지에 대한 원인을 알 수 없습니다. 계산 그래프를 통해 아아와 두쫀쿠 가격의 미분을 구해보면서 느낀 '미분값이 흐른다'는 생각은, 수십억 개 매개변수를 가진 LLM에서도 그대로 적용되는 핵심 원리라 할 수 있습니다.&lt;/span&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;span style=&quot;color: #666666;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;2. 이미지나 텍스트나 그 원리는 같다.&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;1편은 CNN 부분을 주로 다루다 보니 이미지 처리에만 초점이 맞춰진 것처럼 느껴질 수도 있지만, CNN이 이미지에서 특징을 뽑아내듯 LLM은 단어들 사이의 관계라는 특징을 찾아냅니다. 또 여기에 나오는 Softmax-with-Loss 계층은 LLM이 다음 단어를 고를 때 동일하게 쓰입니다. 그리고 직접 순전파와 역전파를 처리하는 forward()와 backward()를 구현하면서 데이터가 어떻게 흘러가고 바뀌는지 체험할 수 있었습니다. 이제 6편이 출간되어&amp;nbsp;&amp;nbsp;어텐션이나 트랜스포머처럼 복잡한 구조를 마주하더라도, 더 이상 당황하지 않고 &quot;결국 이것도 노드들의 행렬 연산일 뿐이잖아&quot;라고 말하며 넘길 수 있는 여유를 3주간의 여정을 통해 갖게 되었습니다. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666;&quot;&gt;끝으로 학습을 지원해 주신 &lt;span style=&quot;background-color: #ffffff; text-align: start;&quot;&gt;한빛미디어 교육 담당자님 및 함께 학습을 진행하신 동료분들께&lt;/span&gt; 고마움을 전하며 이번 후기를 마칩니다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;추신&lt;/b&gt;: 으허.. 2편부터 6편까지 이렇게 뿌셔나갈 수 있을까요?&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;&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;520&quot; data-origin-height=&quot;265&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HxXMn/dJMcafFFqT6/kPWr3M61NDFCbO9HOUHC1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HxXMn/dJMcafFFqT6/kPWr3M61NDFCbO9HOUHC1K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HxXMn/dJMcafFFqT6/kPWr3M61NDFCbO9HOUHC1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHxXMn%2FdJMcafFFqT6%2FkPWr3M61NDFCbO9HOUHC1K%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;520&quot; height=&quot;265&quot; data-origin-width=&quot;520&quot; data-origin-height=&quot;265&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>머신러닝+딥러닝</category>
      <category>밑바닥딥러닝</category>
      <category>인프런</category>
      <category>한빛</category>
      <category>회고</category>
      <author>애독자</author>
      <guid isPermaLink="true">https://viewers.tistory.com/117</guid>
      <comments>https://viewers.tistory.com/117#entry117comment</comments>
      <pubDate>Wed, 25 Feb 2026 01:11:25 +0900</pubDate>
    </item>
    <item>
      <title>혼공학습단 완독 챌린지 활동 회고: 클로드로 시작해 제미나이와 절친이 되기까지</title>
      <link>https://viewers.tistory.com/116</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start; color: #9d9d9d;&quot;&gt; 혼공단 - 혼공바, 혼자&amp;nbsp;공부하는&amp;nbsp;바이브&amp;nbsp;코딩&amp;nbsp;with&amp;nbsp;클로드&amp;nbsp;코드&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&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;493&quot; data-origin-height=&quot;320&quot;&gt;&lt;a href=&quot;https://www.inflearn.com/challenge/6%EC%A3%BC-%EA%B3%BC%EC%A0%95-%ED%98%BC%EC%9E%90-%EA%B3%B5%EB%B6%80%ED%95%98%EB%8A%94-%EB%B0%94%EC%9D%B4%EB%B8%8C-%EC%BD%94%EB%94%A9?cid=340137&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBjE4H/dJMcadOqYml/G0hrfUAnwMHqoIDaNLKoj1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBjE4H%2FdJMcadOqYml%2FG0hrfUAnwMHqoIDaNLKoj1%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;493&quot; height=&quot;320&quot; data-origin-width=&quot;493&quot; data-origin-height=&quot;320&quot;/&gt;&lt;/a&gt;&lt;figcaption&gt;인프런+한빛, 혼공단, 바이브 코딩 완독 챌린지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;text-align: start;&quot;&gt;바이브&amp;nbsp;코딩&amp;nbsp;완독&amp;nbsp;챌린지&amp;nbsp;성공(?)&amp;nbsp;회고&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start; color: #666666;&quot;&gt;이번 챌린지는 그 유명한 '클로드(Claude)의 코딩 실력을 제대로 파헤쳐보자'는 가벼운 호기심에서 시작되었습니다. 하지만 한 달 반의 시간이 흐른 지금, 제 곁에는 클로드만큼이나 든든한, 아니 어쩌면 더 마음이 잘 맞는 '제미나이(Gemini)'라는 새로운 절친이 생겼습니다.&lt;/span&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;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;text-align: start;&quot;&gt;1.&amp;nbsp;클로드라는&amp;nbsp;완벽주의자&amp;nbsp;선배와의&amp;nbsp;만남&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start; color: #666666;&quot;&gt;처음에는 클로드의 논리적이고 깔끔한 코드 생성 능력에 감탄했습니다. 복잡한 요구사항도 척척 알아듣고 구조화된 코드를 내놓는 모습은 마치 일 잘하는 선배님과 함께 일하는 기분이었죠. 하지만 계속 사용하다 보니 예상치 못한 제약들이 보이기 시작했습니다. &lt;br /&gt;&lt;/span&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;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;text-align: start;&quot;&gt;2. 우연히 만난 제미나이, 그리고 의외의 케미&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start; color: #666666;&quot;&gt;학습 과정에서 구글의 제미나이를 병행해 사용해 보기 시작했습니다. 제가 제미나이를 '메인 파트너'로 삼게 된 데에는 두 가지 실용적인 이유가 컸습니다. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;첫째,&amp;nbsp;CLI&amp;nbsp;접근성&amp;nbsp;부분입니다.&lt;/b&gt; &lt;br /&gt;'바이브&amp;nbsp;코딩'을&amp;nbsp;진행하면서&amp;nbsp;CLI(Command&amp;nbsp;Line&amp;nbsp;Interface)&amp;nbsp;활용이&amp;nbsp;필수적이었는데,&amp;nbsp;클로드는&amp;nbsp;주로&amp;nbsp;유료&amp;nbsp;플랜&amp;nbsp;위주로&amp;nbsp;CLI&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;/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; color: #666666;&quot;&gt;&lt;b&gt;둘째, 끊기지 않는 학습의 연속성입니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start; color: #666666;&quot;&gt;코딩 학습과 프로젝트는 흐름이 중요한데, 클로드는 무료 사용 시 할당량 제한이 금방 찾아와 맥이 끊기곤 했습니다. 반면 제미나이는 넉넉한 할당량 내에서 지속적인 코드 생성이 가능했기에, 생각의 흐름을 멈추지 않고 끝까지 밀어붙일 수 있는 든든한 버팀목이 되어주었습니다. &lt;br /&gt;&lt;br /&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;느낌이었습니다.&lt;/span&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;span style=&quot;text-align: start; color: #666666;&quot;&gt;&lt;b&gt;3. 도구에 매몰되지 않는 법: AI는 결국 협업의 대상&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;text-align: start; color: #666666;&quot;&gt;이번 경험의 가장 큰 수확은 '어떤 AI가 더 뛰어난가'를 가리는 것보다, 내 작업 환경과 지갑 사정 등 '상황에 맞게 누구와 협업할 것인가'를 배운 점입니다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #666666;&quot;&gt;Claude: 정교한 로직 설계와 가이드, 코드 리팩토링이 필요할 때 찾는 '상담역'&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #666666;&quot;&gt;Gemini: 아이디어를 빠르게 프로토타이핑하고 함께 꾸준히 달리는 '러닝메이트'&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;결국&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;결국 목적지에 도달하기 위해 두 친구의 손을 번갈아 잡으며 나아가는 과정 자체가 저에게는 큰 성장이었습니다.&lt;/span&gt;&lt;/span&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;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;4.&amp;nbsp;마치며:&amp;nbsp;제미나이와&amp;nbsp;써&amp;nbsp;내려갈&amp;nbsp;다음&amp;nbsp;챕터&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;'클로드를 배우려다 제미나이와 절친이 되었다'는 결과는 예상치 못한 반전이었지만, 그만큼 제 시야가 넓어졌다는 뜻이기도 합니다. 이제는 특정 툴에 갇히지 않고, AI라는 든든한 파트너들과 함께 더 복잡하고 재미있는 문제들에 도전해 보려 합니다. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666;&quot;&gt;함께해&amp;nbsp;준&amp;nbsp;제미나이,&amp;nbsp;그리고&amp;nbsp;동기부여가&amp;nbsp;되어준&amp;nbsp;클로드에게&amp;nbsp;고마움을&amp;nbsp;전하며&amp;nbsp;이번&amp;nbsp;회고를&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; color: #666666;&quot;&gt;마지막으로&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: start; color: #666666;&quot;&gt;&lt;b&gt;혼공족장님, 그리고 함께한 혼공단 여러분 모두 감사드립니다.&lt;/b&gt; &lt;br /&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; color: #666666;&quot;&gt;&lt;br /&gt;&lt;b&gt;추신&lt;/b&gt;:&amp;nbsp;아..&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;&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>바이브코딩/혼공학습단 챌린지</category>
      <category>혼공단</category>
      <category>혼공바</category>
      <category>회고</category>
      <author>애독자</author>
      <guid isPermaLink="true">https://viewers.tistory.com/116</guid>
      <comments>https://viewers.tistory.com/116#entry116comment</comments>
      <pubDate>Sun, 15 Feb 2026 02:18:08 +0900</pubDate>
    </item>
    <item>
      <title>[혼공바] 6주차 _ 혼자 공부하는 바이브 코딩 with 클로드 코드</title>
      <link>https://viewers.tistory.com/115</link>
      <description>&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;■ 6주 차 미션&lt;/b&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #000000; text-align: start;&quot;&gt;
&lt;div style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;
&lt;div style=&quot;color: #24292f;&quot;&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;주차별 진도에 따라 주어진 숙제와 한 주간 공부한 내용을 정리하여 블로그에 기록 (전체 공개)&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;✅&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;6주 차 : Ch 08. MCP로 클로드 코드의 한계 넘어서기&lt;/b&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;b&gt; 공부한 내용&lt;/b&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;MCP:&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;규약&lt;/li&gt;
&lt;li&gt;클라이언트 서버 모델: 네트워크에서 정보를 요청하고 응답하는 구조 (클라이언트는 서버를 요청, 서버는 서비스를 제공)&lt;/li&gt;
&lt;li&gt;로컬 MCP: MCP 중개 프로그램을 내 컴퓨터 안에서 직접 실행하는 방식&lt;/li&gt;
&lt;li&gt;원격 MCP: MCP 중개 프로그램을 인터넷상 외부 서버에서 실행하는 방식&lt;/li&gt;
&lt;li&gt;인증: 접속하려는 사람이 정말 허가된 사용자인지 확인하는 절차&lt;/li&gt;
&lt;li&gt;--(이중 하이픈): 클로드 코드의 옵션과 인자를 나누는 기준 (이 기호를 기준으로 앞에는 클로드 코드 옵션이, 뒤에는 MCP 서버 실행 명령이 위치)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #24292f; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: none;&quot;&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;list-style-type: circle;&quot;&gt;테스트:&amp;nbsp;코드가&amp;nbsp;의도한&amp;nbsp;대로&amp;nbsp;실행되는지,&amp;nbsp;오류가&amp;nbsp;없는지를&amp;nbsp;확인하는&amp;nbsp;과정&lt;/li&gt;
&lt;li style=&quot;list-style-type: circle;&quot;&gt;버전 관리: 코드의 변경 이력을 기록하고, 필요할 때 이전 상태로 되돌리기가 가능&lt;/li&gt;
&lt;li style=&quot;list-style-type: circle;&quot;&gt;Context7: 클로드 코드가 항상 최신 문서를 참고하도록 돕는 지식 연결 도구&lt;/li&gt;
&lt;li style=&quot;list-style-type: circle;&quot;&gt;Playwright: 웹 사이트를 자동으로 테스트하고 UI를 검증하는 브라우저 제어 도구&lt;/li&gt;
&lt;li style=&quot;list-style-type: circle;&quot;&gt;Github: 코드 버전 관리 플랫폼 &lt;br /&gt;&amp;nbsp; . add(추가): 깃허브에 업로드할 파일들을 선택해서 준비 공간에 추가하는 과정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;.&amp;nbsp;commit(커밋):&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;br /&gt;&amp;nbsp;&amp;nbsp;.&amp;nbsp;push(푸시):&amp;nbsp;로컬&amp;nbsp;저장소에&amp;nbsp;커밋된&amp;nbsp;파일을&amp;nbsp;원격&amp;nbsp;저장소로&amp;nbsp;업로드하는&amp;nbsp;과정소프트웨어 개발팀의 구성과 역할&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;list-style-type: none;&quot;&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;list-style-type: circle;&quot;&gt;Vercel:&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;외부의&amp;nbsp;인터넷에&amp;nbsp;연결된&amp;nbsp;제3의&amp;nbsp;서버에&amp;nbsp;올리는&amp;nbsp;과정&lt;/li&gt;
&lt;li style=&quot;list-style-type: circle;&quot;&gt;로컬 스토리지: 저장된 데이터가 다른 컴퓨터나 브라우저에는 공유되지 않고 브라우저 캐시를 지우거나 기기를 바꾸면 사라짐&lt;/li&gt;
&lt;li style=&quot;list-style-type: circle;&quot;&gt;클라우드 스토리지: 어디서나 동일한 데이터를 불러올 수 있는 중앙 서버 역할을 수행&lt;/li&gt;
&lt;li style=&quot;list-style-type: circle;&quot;&gt;Supabase: 데이터베이스 구축을 자동화해 주는 클라우드 데이터베이스 플랫폼 &lt;br /&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;)버전 관리: 코드의 변경 이력을 기록하고, 필요할 때 이전 상태로 되돌리기가 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1197&quot; data-origin-height=&quot;615&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dzdzhI/dJMcaibdaPK/iFpS1yFYYPxN7qeYF8jFIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dzdzhI/dJMcaibdaPK/iFpS1yFYYPxN7qeYF8jFIK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dzdzhI/dJMcaibdaPK/iFpS1yFYYPxN7qeYF8jFIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdzdzhI%2FdJMcaibdaPK%2FiFpS1yFYYPxN7qeYF8jFIK%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;1197&quot; height=&quot;615&quot; data-origin-width=&quot;1197&quot; data-origin-height=&quot;615&quot;/&gt;&lt;/span&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: unset;&quot;&gt;&lt;b&gt; 기본 미션(필수)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;list-style-type: unset;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;PROJECT 10. AI 공감 다이어리 앱 만들고 캡처하기&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;756&quot; data-origin-height=&quot;685&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/beuPz6/dJMcajgOMFY/UkKRz1JLX2mAdKkbSj4IwK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beuPz6/dJMcajgOMFY/UkKRz1JLX2mAdKkbSj4IwK/img.png&quot; data-alt=&quot;좌. 초기버전 ❘ 우. 수정버전&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beuPz6/dJMcajgOMFY/UkKRz1JLX2mAdKkbSj4IwK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeuPz6%2FdJMcajgOMFY%2FUkKRz1JLX2mAdKkbSj4IwK%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;756&quot; height=&quot;685&quot; data-origin-width=&quot;756&quot; data-origin-height=&quot;685&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;좌. 초기버전 ❘ 우. 수정버전&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;□ 이번 미션도 Gemini CLI를 활용&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; - 클로드와 친해지기 위해 시작했는데, 제미나이와 절친이 됐어요. &amp;gt;_&amp;lt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &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;1196&quot; data-origin-height=&quot;614&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c0kUGZ/dJMcabJVRhj/PXlH5xtsrefzsP8xKh5XGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c0kUGZ/dJMcabJVRhj/PXlH5xtsrefzsP8xKh5XGK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c0kUGZ/dJMcabJVRhj/PXlH5xtsrefzsP8xKh5XGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc0kUGZ%2FdJMcabJVRhj%2FPXlH5xtsrefzsP8xKh5XGK%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;1196&quot; height=&quot;614&quot; data-origin-width=&quot;1196&quot; data-origin-height=&quot;614&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;1195&quot; data-origin-height=&quot;615&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NDg49/dJMcaivszhV/CHE6NK644TmGXKpz1lwcVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NDg49/dJMcaivszhV/CHE6NK644TmGXKpz1lwcVk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NDg49/dJMcaivszhV/CHE6NK644TmGXKpz1lwcVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNDg49%2FdJMcaivszhV%2FCHE6NK644TmGXKpz1lwcVk%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;1195&quot; height=&quot;615&quot; data-origin-width=&quot;1195&quot; data-origin-height=&quot;615&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: unset;&quot;&gt;&lt;b&gt; 추가 미션(선택)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;list-style-type: unset;&quot;&gt;PROJECT 15. 쇼핑 리스트 앱 만들고 캡처하기&lt;/li&gt;
&lt;li style=&quot;list-style-type: unset;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f; text-align: left;&quot;&gt;Supabase에 앱 연동하고 데이터베이스 테이블 캡처하기&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ul&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;&lt;b&gt;□&lt;span&gt;&amp;nbsp;&lt;/span&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;a href=&quot;https://vibe-kappa-seven.vercel.app/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://vibe-kappa-seven.vercel.app/&lt;/a&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1462&quot; data-origin-height=&quot;568&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/H8yk8/dJMcab4cpaS/KJ9aR0VWE9XDkA2yk9fI5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/H8yk8/dJMcab4cpaS/KJ9aR0VWE9XDkA2yk9fI5K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/H8yk8/dJMcab4cpaS/KJ9aR0VWE9XDkA2yk9fI5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FH8yk8%2FdJMcab4cpaS%2FKJ9aR0VWE9XDkA2yk9fI5K%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;1462&quot; height=&quot;568&quot; data-origin-width=&quot;1462&quot; data-origin-height=&quot;568&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;□ Supabase 데이터베이스 테이블&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;1136&quot; data-origin-height=&quot;292&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cWMffD/dJMb99ZEqDr/0TUwxHOw8XnH1UWlAo5yrK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cWMffD/dJMb99ZEqDr/0TUwxHOw8XnH1UWlAo5yrK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cWMffD/dJMb99ZEqDr/0TUwxHOw8XnH1UWlAo5yrK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcWMffD%2FdJMb99ZEqDr%2F0TUwxHOw8XnH1UWlAo5yrK%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;1136&quot; height=&quot;292&quot; data-origin-width=&quot;1136&quot; data-origin-height=&quot;292&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;□ 쇼핑 리스트 앱&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&amp;nbsp;만들기&lt;/span&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;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;&amp;nbsp; -&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;시스템 구조&lt;/span&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;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; . 프론트엔드 (HTML/JS): API Key를 숨기기 위해 직접 Supabase와 통신하지 않고, 내부 서버(api/items.js)와 통신&lt;/span&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;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; . 백엔드 (Vercel Serverless Function): api/items.js 파일로, Supabase와 통신하며 삭제/수정 시 비밀번호를 검사하는 역할 &lt;br /&gt;&amp;nbsp; &amp;nbsp; . 데이터베이스 (Supabase): 실제 데이터가 저장되는 공간&lt;/span&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;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;&amp;nbsp; - 보안 설정 내용&lt;/span&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;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; . API Key 은닉: SUPABASE_URL과 SUPABASE_KEY를 Vercel 환경 변수에 저장하여 외부 노출을 차단 &lt;br /&gt;&amp;nbsp; &amp;nbsp; . 관리자 암호 보호: ADMIN_PASSWORD 환경 변수를 설정하여, 삭제나 상태 변경 시 팝업창에 암호를 입력해야만 작동&lt;br /&gt;&amp;nbsp; &amp;nbsp; . RLS(Row Level Security) 정책: Supabase DB에서 ALL 권한을 허용하여 서버(api/items.js)에서 데이터에 접근하도록 수정 &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;&lt;/span&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;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;&amp;nbsp; - 주요 기능&lt;/span&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;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; . GET: 목록 불러오기 (누구나 가능)&lt;/span&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;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; . POST:&amp;nbsp;새&amp;nbsp;항목&amp;nbsp;추가&amp;nbsp;(누구나&amp;nbsp;가능) &lt;br /&gt;&amp;nbsp; &amp;nbsp; . PATCH&amp;nbsp;/&amp;nbsp;DELETE:&amp;nbsp;항목&amp;nbsp;수정&amp;nbsp;및&amp;nbsp;삭제&amp;nbsp;(비밀번호&amp;nbsp;입력&amp;nbsp;필수)&lt;/span&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 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;color: #333333;&quot;&gt;&lt;b&gt;□&lt;span&gt; Gemini CLI&lt;span style=&quot;background-color: #ffffff;&quot;&gt;에서 MCP 설정&lt;/span&gt;&lt;/span&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;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;&amp;nbsp; - 환경 설정 파일에 아래 내용 추가&lt;/span&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;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; . 보통 다음 경로에 존재 ( ~/.gemini/settings.json 또는 윈도우의 경우 C:\Users\계정명\.gemini\settings.json )&lt;/span&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;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; . 자신의 API_KEY를 입력&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1771047981806&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;  &quot;mcpServers&quot;: {
    &quot;context7&quot;: {
      &quot;url&quot;: &quot;https://mcp.context7.com/mcp&quot;,
      &quot;headers&quot;: {
        &quot;CONTEXT7_API_KEY&quot;: &quot;$YOUR_Context7_API_KEY&quot;
      }
    },
    &quot;playwright&quot;: {
      &quot;command&quot;: &quot;npx&quot;,
      &quot;args&quot;: [
        &quot;-y&quot;,
        &quot;@playwright/mcp@latest&quot;
      ]
    },
    &quot;github&quot;: {
      &quot;httpUrl&quot;: &quot;https://api.githubcopilot.com/mcp/&quot;,
      &quot;headers&quot;: {
        &quot;Authorization&quot;: &quot;Bearer $YOUR_GITHUB_MCP_PAT&quot;
      }
    }
  }&lt;/code&gt;&lt;/pre&gt;
&lt;p 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;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;&amp;nbsp; - CLI 실행 후, mcp 사용여부 확인&lt;/span&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;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; . 프롬프트 창 위에 사용 가능한 갯수가 표시(3 MCP servers)되고, &lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;/mcp 명령을 통해서 세부 내용 확인이 가능&lt;/span&gt;&lt;/span&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;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;rarr; 프롬프트에 사용할 MCP 이름을 명시: context7 ... , playwright ...&lt;/span&gt;&lt;/span&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;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 예) Playwright&amp;nbsp;MCP를&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;/span&gt;&lt;/span&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;1195&quot; data-origin-height=&quot;614&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bSY3mB/dJMcacovs5o/TsQDcmkH6KUgHNKoXcRM01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bSY3mB/dJMcacovs5o/TsQDcmkH6KUgHNKoXcRM01/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bSY3mB/dJMcacovs5o/TsQDcmkH6KUgHNKoXcRM01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbSY3mB%2FdJMcacovs5o%2FTsQDcmkH6KUgHNKoXcRM01%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;1195&quot; height=&quot;614&quot; data-origin-width=&quot;1195&quot; data-origin-height=&quot;614&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;963&quot; data-origin-height=&quot;613&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xkcwi/dJMcaioKh2V/vtt658SPKFfzfwX8inoCYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xkcwi/dJMcaioKh2V/vtt658SPKFfzfwX8inoCYk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xkcwi/dJMcaioKh2V/vtt658SPKFfzfwX8inoCYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fxkcwi%2FdJMcaioKh2V%2Fvtt658SPKFfzfwX8inoCYk%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;963&quot; height=&quot;613&quot; data-origin-width=&quot;963&quot; data-origin-height=&quot;613&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;1125&quot; data-origin-height=&quot;611&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRRbLM/dJMcahwBJvM/pHh28rZ9eTRYv7M1JM77Z0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRRbLM/dJMcahwBJvM/pHh28rZ9eTRYv7M1JM77Z0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRRbLM/dJMcahwBJvM/pHh28rZ9eTRYv7M1JM77Z0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRRbLM%2FdJMcahwBJvM%2FpHh28rZ9eTRYv7M1JM77Z0%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;1125&quot; height=&quot;611&quot; data-origin-width=&quot;1125&quot; data-origin-height=&quot;611&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;897&quot; data-origin-height=&quot;490&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EimDc/dJMcagEtfym/KkH6XXum4YvBsusSjW3di1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EimDc/dJMcagEtfym/KkH6XXum4YvBsusSjW3di1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EimDc/dJMcagEtfym/KkH6XXum4YvBsusSjW3di1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEimDc%2FdJMcagEtfym%2FKkH6XXum4YvBsusSjW3di1%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;897&quot; height=&quot;490&quot; data-origin-width=&quot;897&quot; data-origin-height=&quot;490&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;898&quot; data-origin-height=&quot;486&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AqXEC/dJMcabiRr4s/6g9cTH0CSMIQvLhPkmUKIk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AqXEC/dJMcabiRr4s/6g9cTH0CSMIQvLhPkmUKIk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AqXEC/dJMcabiRr4s/6g9cTH0CSMIQvLhPkmUKIk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAqXEC%2FdJMcabiRr4s%2F6g9cTH0CSMIQvLhPkmUKIk%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;898&quot; height=&quot;486&quot; data-origin-width=&quot;898&quot; data-origin-height=&quot;486&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&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>애독자</author>
      <guid isPermaLink="true">https://viewers.tistory.com/115</guid>
      <comments>https://viewers.tistory.com/115#entry115comment</comments>
      <pubDate>Sat, 14 Feb 2026 15:10:27 +0900</pubDate>
    </item>
  </channel>
</rss>