<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>aruru 블로그</title>
    <link>https://hinweis.tistory.com/</link>
    <description>알아두면 쓸모있는 잡다한 지식을 공유하고자 합니다.</description>
    <language>ko</language>
    <pubDate>Thu, 18 Jun 2026 11:48:44 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>aruru</managingEditor>
    <image>
      <title>aruru 블로그</title>
      <url>https://tistory1.daumcdn.net/tistory/4087370/attach/82c699780fd74f4c8ddbeda464934c28</url>
      <link>https://hinweis.tistory.com</link>
    </image>
    <item>
      <title>2025년 영림원소프트랩 신제품 발표회 준비</title>
      <link>https://hinweis.tistory.com/156</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;375&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0Ok5s/btsQIZcpvOX/g4SbcECbwb07GtTJGIPxF1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0Ok5s/btsQIZcpvOX/g4SbcECbwb07GtTJGIPxF1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0Ok5s/btsQIZcpvOX/g4SbcECbwb07GtTJGIPxF1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0Ok5s%2FbtsQIZcpvOX%2Fg4SbcECbwb07GtTJGIPxF1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;375&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;375&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;2229&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wiTv4/btsQK5P45N8/RqrLxPX9KkbzKclpdLpzt0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wiTv4/btsQK5P45N8/RqrLxPX9KkbzKclpdLpzt0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wiTv4/btsQK5P45N8/RqrLxPX9KkbzKclpdLpzt0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwiTv4%2FbtsQK5P45N8%2FRqrLxPX9KkbzKclpdLpzt0%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;700&quot; height=&quot;2229&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;2229&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>AI</category>
      <author>aruru</author>
      <guid isPermaLink="true">https://hinweis.tistory.com/156</guid>
      <comments>https://hinweis.tistory.com/156#entry156comment</comments>
      <pubDate>Tue, 23 Sep 2025 09:45:14 +0900</pubDate>
    </item>
    <item>
      <title>부드러운 특이점(The Gentle Singularity) - 샘 올트먼 (2025)</title>
      <link>https://hinweis.tistory.com/155</link>
      <description>&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;우리는 이미 사건의 지평선을 넘어섰다&lt;span&gt;. &lt;/span&gt;이륙은 시작되었고&lt;span&gt;, &lt;/span&gt;인류는 디지털 초지능을 만들어내는 데 거의 도달했다&lt;span&gt;. &lt;/span&gt;놀라운 건&lt;span&gt;, &lt;/span&gt;지금까지의 여정이 예상보다 훨씬 덜 기묘하다는 점이다&lt;span&gt;. &lt;/span&gt;거리엔 아직 로봇이 돌아다니지 않고&lt;span&gt;, &lt;/span&gt;대부분의 사람들이 하루 종일&lt;span&gt; AI&lt;/span&gt;와 대화하는 것도 아니다&lt;span&gt;. &lt;/span&gt;사람들은 여전히 병으로 죽고&lt;span&gt;, &lt;/span&gt;우주는 여전히 멀고&lt;span&gt;, &lt;/span&gt;세상에는 우리가 이해하지 못하는 것이 너무 많다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;그럼에도 불구하고&lt;span&gt;, &lt;/span&gt;우리는 이미 사람보다 여러 면에서 더 똑똑한 시스템을 만들었고&lt;span&gt;, &lt;/span&gt;그것을 쓰는 사람들의 생산성을 현저히 증폭시키는 데 성공했다&lt;span&gt;. &lt;/span&gt;가장 가능성이 낮아 보였던 구간은 이미 지나왔다&lt;span&gt;. GPT-4&lt;/span&gt;와&lt;span&gt; o3 &lt;/span&gt;같은 시스템을 가능케 한 과학적 통찰은 치열하게 쟁취한 것이며&lt;span&gt;, &lt;/span&gt;이는 우리를 훨씬 더 먼 곳으로 이끌 것이다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;AI&lt;/span&gt;&lt;span&gt;는 다양한 방식으로 세상에 기여할 것이지만&lt;span&gt;, &lt;/span&gt;과학 발전과 생산성 증대가 삶의 질에 주는 이득은 엄청날 것이다&lt;span&gt;. &lt;/span&gt;미래는 현재보다 훨씬 더 나아질 수 있다&lt;span&gt;. &lt;/span&gt;과학의 발전은 인류 전체 진보의 가장 큰 원동력이며&lt;span&gt;, &lt;/span&gt;앞으로 우리가 누릴 수 있는 것이 얼마나 더 많아질지 생각하면 가슴이 뛴다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;어떤 의미에서&lt;span&gt;, ChatGPT&lt;/span&gt;는 이미 역사상 존재한 어떤 인간보다 더 강력하다&lt;span&gt;. &lt;/span&gt;수억 명의 사람들이 매일&lt;span&gt;, &lt;/span&gt;점점 더 중요한 일에 그것을 사용하고 있다&lt;span&gt;. &lt;/span&gt;작은 기능 하나가 막대한 긍정적 영향을 낳을 수 있고&lt;span&gt;, &lt;/span&gt;반대로 사소한 오차 하나가 수억 명에게 확대되면 부정적 영향도 커질 수 있다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2025&lt;/span&gt;&lt;span&gt;년&lt;span&gt;, AI &lt;/span&gt;에이전트는 실제&lt;span&gt; '&lt;/span&gt;인지적 업무&lt;span&gt;'&lt;/span&gt;를 수행하기 시작했다&lt;span&gt;. &lt;/span&gt;코딩은 더 이상 예전 같지 않다&lt;span&gt;. 2026&lt;/span&gt;년엔 새로운 통찰을 스스로 발견하는 시스템이 등장할 가능성이 크다&lt;span&gt;. 2027&lt;/span&gt;년엔 실제 세계에서 업무를 수행할 수 있는 로봇이 등장할지도 모른다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;더 많은 사람들이 소프트웨어와 예술을 만들 수 있게 될 것이다&lt;span&gt;. &lt;/span&gt;하지만 세상은 이 둘을 훨씬 더 많이 원하며&lt;span&gt;, &lt;/span&gt;전문가들은 새로운 도구를 받아들일 때 여전히 초심자보다 훨씬 뛰어날 것이다&lt;span&gt;. &lt;/span&gt;일반적으로&lt;span&gt;, 2030&lt;/span&gt;년에 한 사람이 해낼 수 있는 일이&lt;span&gt; 2020&lt;/span&gt;년에 비해 훨씬 많아진다는 사실 자체가 세상의 구조를 바꿔놓을 것이다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;하지만 가장 중요한 측면에서&lt;span&gt;, 2030&lt;/span&gt;년대는 여전히 우리가 사랑하는 것들&lt;span&gt; -- &lt;/span&gt;가족&lt;span&gt;, &lt;/span&gt;창작&lt;span&gt;, &lt;/span&gt;게임&lt;span&gt;, &lt;/span&gt;호수에서의 수영&lt;span&gt; --&lt;/span&gt;을 간직한 시대일 것이다&lt;span&gt;. &lt;/span&gt;동시에&lt;span&gt;, &lt;/span&gt;전혀 새로운 시대로 진입할 가능성도 높다&lt;span&gt;. &lt;/span&gt;인간 수준의 지능을 넘어서 얼마나 멀리 갈 수 있을지는 아무도 모르지만&lt;span&gt;, &lt;/span&gt;곧 그 답을 보게 될 것이다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2030&lt;/span&gt;&lt;span&gt;년대는 지능과 에너지&lt;span&gt;, &lt;/span&gt;즉&lt;span&gt; '&lt;/span&gt;아이디어&lt;span&gt;'&lt;/span&gt;와&lt;span&gt; '&lt;/span&gt;그것을 실현할 수 있는 능력&lt;span&gt;'&lt;/span&gt;이 넘쳐나는 시대가 될 것이다&lt;span&gt;. &lt;/span&gt;이 두 가지는 오랫동안 인류 발전의 병목이었다&lt;span&gt;. &lt;/span&gt;지능과 에너지가 풍부해지고&lt;span&gt;, &lt;/span&gt;좋은 거버넌스만 갖춰진다면 이론 상 우리는 어떤 것도 가질 수 있다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;우리는 이미 경이로운 디지털 지능과 함께 살고 있다&lt;span&gt;. &lt;/span&gt;처음엔 충격적이지만&lt;span&gt;, &lt;/span&gt;대부분의 사람들은 곧 익숙해진다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&quot;AI&lt;/span&gt;&lt;span&gt;가 멋진 문장을 써주는 것&lt;span&gt;&quot;&lt;/span&gt;에서 놀랐다가&lt;span&gt;, &quot;&lt;/span&gt;언제쯤 소설 전체를 써줄까&lt;span&gt;?&quot;&lt;/span&gt;로&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;생명을 구하는 진단을 해준다&lt;span&gt;&quot;&lt;/span&gt;에 놀랐다가&lt;span&gt;, &quot;&lt;/span&gt;언제쯤 치료제를 만들까&lt;span&gt;?&quot;&lt;/span&gt;로&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;작은 프로그램을 짜준다&lt;span&gt;&quot;&lt;/span&gt;에 놀랐다가&lt;span&gt;, &quot;&lt;/span&gt;언제쯤 새로운 회사를 만들어줄까&lt;span&gt;?&quot;&lt;/span&gt;로&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이게 바로 특이점&lt;span&gt;(singularity)&lt;/span&gt;의 작동 방식이다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;기적은 곧 일상이 되고&lt;span&gt;, &lt;/span&gt;일상은 곧 기본 전제가 된다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;과학자들은 이미&lt;span&gt; &quot;AI &lt;/span&gt;덕분에 생산성이&lt;span&gt; 2-3&lt;/span&gt;배 높아졌다&lt;span&gt;&quot;&lt;/span&gt;고 말하고 있다&lt;span&gt;. &lt;/span&gt;고급&lt;span&gt; AI&lt;/span&gt;가 의미 있는 이유는 많지만&lt;span&gt;, &lt;/span&gt;그 중에서도&lt;span&gt; AI&lt;/span&gt;를 활용해&lt;span&gt; AI&lt;/span&gt;를 더 빨리 연구할 수 있다는 사실이 가장 중요할지도 모른다&lt;span&gt;. &lt;/span&gt;새로운 컴퓨팅 재료&lt;span&gt;, &lt;/span&gt;더 나은 알고리즘&lt;span&gt;, &lt;/span&gt;그 외 무엇이든 발견할 수 있다&lt;span&gt;. &lt;/span&gt;만약&lt;span&gt; 10&lt;/span&gt;년치 연구를&lt;span&gt; 1&lt;/span&gt;년 혹은&lt;span&gt; 1&lt;/span&gt;달 안에 할 수 있다면&lt;span&gt;, &lt;/span&gt;진보의 속도는 분명히 달라질 것이다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;우리가 만든 도구들은 앞으로의 과학적 통찰을 돕고&lt;span&gt;, &lt;/span&gt;더 나은&lt;span&gt; AI &lt;/span&gt;시스템을 만드는 데 기여할 것이다&lt;span&gt;. &lt;/span&gt;물론 이것은&lt;span&gt; AI&lt;/span&gt;가 스스로 코드를 완전히 재작성하는 것과는 다르지만&lt;span&gt;, (AI&lt;/span&gt;가 스스로 더 똑똑해지는&lt;span&gt;) '&lt;/span&gt;재귀적 자기 개선&lt;span&gt;'&lt;/span&gt;의 초기 단계라 볼 수 있다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;여기엔 다른 자기 강화 고리들도 있다&lt;span&gt;. &lt;/span&gt;경제적 가치 창출이 시작되었고&lt;span&gt;, &lt;/span&gt;이로 인해 강력한&lt;span&gt; AI &lt;/span&gt;시스템을 돌릴 인프라가 기하급수적으로 확장되고 있다&lt;span&gt;. &lt;/span&gt;로봇이 로봇을 만들고&lt;span&gt;, &lt;/span&gt;데이터센터가 데이터센터를 만드는 시대도 멀지 않다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;초기&lt;span&gt; 100&lt;/span&gt;만 대의 휴머노이드 로봇을 기존 방식으로 만들더라도&lt;span&gt;, &lt;/span&gt;이후 그 로봇들이 광물 채굴&lt;span&gt;, &lt;/span&gt;정제&lt;span&gt;, &lt;/span&gt;운송&lt;span&gt;, &lt;/span&gt;공장 운영 등 공급망 전체를 담당하며 더 많은 로봇을 만들 수 있다면&lt;span&gt;, &lt;/span&gt;더 많은 칩 생산 설비와 데이터센터도 가능해진다면&lt;span&gt;, &lt;/span&gt;진보의 속도는 상상 이상이 될 것이다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;데이터센터 생산이 자동화되면&lt;span&gt;, '&lt;/span&gt;지능의 비용&lt;span&gt;'&lt;/span&gt;은 결국 전기료 수준으로 수렴하게 될 것이다&lt;span&gt;. (&lt;/span&gt;사람들이 자주 궁금해하는 것 중 하나가&lt;span&gt; &quot;ChatGPT&lt;/span&gt;가 얼마나 에너지를 쓰는가&lt;span&gt;?&quot;&lt;/span&gt;인데&lt;span&gt;, &lt;/span&gt;평균 쿼리는 약&lt;span&gt; 0.34&lt;/span&gt;와트시를 쓴다&lt;span&gt;. &lt;/span&gt;이는 오븐을 약&lt;span&gt; 1&lt;/span&gt;초 작동시키거나&lt;span&gt;, &lt;/span&gt;고효율 전구를 몇 분간 켜는 수준이다&lt;span&gt;.)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;기술 진보의 속도는 계속 가속화될 것이고&lt;span&gt;, &lt;/span&gt;인간은 거의 어떤 변화든 적응할 수 있는 존재라는 사실은 앞으로도 계속 증명될 것이다&lt;span&gt;. &lt;/span&gt;물론 힘든 부분도 많을 것이다&lt;span&gt;. &lt;/span&gt;직업군 전체가 사라질 수도 있지만&lt;span&gt;, &lt;/span&gt;반대로 세상은 너무나 빠르게 부유해질 것이므로 우리가 지금껏 고려하지 못한 새로운 정책들도 실현 가능해질 것이다&lt;span&gt;. &lt;/span&gt;새로운 사회계약은 하루아침에 만들어지지 않겠지만&lt;span&gt;, &lt;/span&gt;수 십 년 후 뒤돌아보면&lt;span&gt; '&lt;/span&gt;점진적 변화&lt;span&gt;'&lt;/span&gt;가 거대한 전환이 되어 있을 것이다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;역사가 말해주듯&lt;span&gt;, &lt;/span&gt;우리는 새로운 것을 하고&lt;span&gt;, &lt;/span&gt;새로운 것을 원하게 되며&lt;span&gt;, &lt;/span&gt;새로운 도구를 빠르게 받아들인다&lt;span&gt;. (&lt;/span&gt;산업혁명 이후의 직업 변화가 좋은 예다&lt;span&gt;.) &lt;/span&gt;기대는 올라가겠지만&lt;span&gt;, &lt;/span&gt;능력도 함께 올라가며&lt;span&gt;, &lt;/span&gt;우리는 더 좋은 것을 함께 만들어낼 것이다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;사람은&lt;span&gt; AI&lt;/span&gt;보다 근본적으로 갖고 있는 장점이 있다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;우리는 본능적으로 타인을 신경 쓰고&lt;span&gt;, &lt;/span&gt;그들의 생각과 감정에 반응하지만&lt;span&gt;, &lt;/span&gt;기계에는 관심이 없다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;천 년 전의 생계형 농부가 오늘날 우리를 본다면&lt;span&gt;, &quot;&lt;/span&gt;가짜 직업&lt;span&gt;&quot;&lt;/span&gt;이라 여길 것이다&lt;span&gt;. &quot;&lt;/span&gt;배부르고 호사스러워서 그냥 노는구나&lt;span&gt;&quot;&lt;/span&gt;라고 생각할 것이다&lt;span&gt;. &lt;/span&gt;나는 우리가 천 년 후의 사람들을 보며 똑같이&lt;span&gt; &quot;&lt;/span&gt;가짜 직업 같지만&lt;span&gt;...&lt;/span&gt;그들에게는 엄청나게 의미 있고 만족스러운 일이겠구나&lt;span&gt;&quot;&lt;/span&gt;라고 느끼기를 바란다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2035&lt;/span&gt;&lt;span&gt;년까지 우리가 발견할&lt;span&gt; '&lt;/span&gt;새로운 경이&lt;span&gt;'&lt;/span&gt;는 상상하기 어렵다&lt;span&gt;. &lt;/span&gt;고에너지 물리학을 해결한 다음해에 우주 식민화를 시작할 수도 있고&lt;span&gt;, &lt;/span&gt;신소재 과학의 돌파구 다음 해에 진짜 뇌&lt;span&gt;-&lt;/span&gt;컴퓨터 인터페이스가 가능해질 수도 있다&lt;span&gt;. &lt;/span&gt;많은 사람은 예전처럼 살겠지만&lt;span&gt;, &lt;/span&gt;어떤 사람들은 스스로&lt;span&gt; '&lt;/span&gt;완전히 연결된 존재&lt;span&gt;'&lt;/span&gt;로 선택할지도 모른다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;미래를 상상하기는 어렵지만&lt;span&gt;, &lt;/span&gt;실제로 겪는 것은 그리 두렵지 않을 것이다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;상대성적 관점에서 보자면&lt;span&gt;, &lt;/span&gt;특이성은 점진적으로 일어나고&lt;span&gt;, '&lt;/span&gt;병합&lt;span&gt;(merge)'&lt;/span&gt;도 서서히 이루어진다&lt;span&gt;. &lt;/span&gt;기술 진보의 곡선은&lt;span&gt;, &lt;/span&gt;앞을 보면 수직이고&lt;span&gt;, &lt;/span&gt;뒤를 보면 평탄하지만&lt;span&gt;, &lt;/span&gt;실제로는 부드러운 하나의 곡선이다&lt;span&gt;. (2020&lt;/span&gt;년에&lt;span&gt; &quot;2025&lt;/span&gt;년쯤&lt;span&gt; AGI&lt;/span&gt;에 가까워질 거야&lt;span&gt;&quot;&lt;/span&gt;라고 말했지만 미친 얘기처럼 들렸을 테지만&lt;span&gt;, &lt;/span&gt;실제로 지난&lt;span&gt; 5&lt;/span&gt;년은 그렇게 흘렀다&lt;span&gt;.)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;물론 수많은 기회와 함께&lt;span&gt;, &lt;/span&gt;해결해야 할 심각한 과제도 존재한다&lt;span&gt;. &lt;/span&gt;우리는 기술적 사회적 측면에서&lt;span&gt; AI&lt;/span&gt;의 안전성을 반드시 확보해야 하고&lt;span&gt;, &lt;/span&gt;초지능에 대한 접근성을 공정하게 분배하는 것도 매우 중요하다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;가장 좋은 경로는 이럴 수 있다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1. &lt;/span&gt;&lt;span&gt;정렬 문제&lt;span&gt;(alignment problem)&lt;/span&gt;을 푼다&lt;span&gt;. &lt;/span&gt;즉&lt;span&gt;, AI&lt;/span&gt;가 장기적으로 인류가 진정으로 원하는 것에 따라 학습하고 행동하도록 보장한다&lt;span&gt;. (&lt;/span&gt;예&lt;span&gt; : &lt;/span&gt;소셜 미디어 피드는 오정렬된&lt;span&gt; AI&lt;/span&gt;의 대표 사례다&lt;span&gt;. &lt;/span&gt;알고리즘은 당신이 계속 스크롤하게 만드는 데는 능하지만&lt;span&gt;, &lt;/span&gt;뇌의 단기 욕구를 자극해 장기 목표를 무시하게 만든다&lt;span&gt;.)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2. &lt;/span&gt;&lt;span&gt;이후 초지능을 값싸고&lt;span&gt;, &lt;/span&gt;널리 접근 가능하게 만들되&lt;span&gt;, &lt;/span&gt;특정 개인&lt;span&gt;, &lt;/span&gt;기업&lt;span&gt;, &lt;/span&gt;국가가 독점하지 않도록 한다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;사회는 회복력 있고&lt;span&gt;, &lt;/span&gt;창의적이며&lt;span&gt;, &lt;/span&gt;빠르게 적응한다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;우리가 사람들의 집단적 의지와 지혜를 활용할 수 있다면&lt;span&gt;, &lt;/span&gt;실수는 있겠지만 빠르게 학습하고 적응하며&lt;span&gt;, &lt;/span&gt;이 기술을 최대한의 이익과 최소한의 손실로 활용할 수 있을 것이다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;사용자에게 많은 자유를 주되&lt;span&gt;, &lt;/span&gt;사회가 정한&lt;span&gt; '&lt;/span&gt;광의의 경계&lt;span&gt;' &lt;/span&gt;안에서 작동하게 하는 것이 중요하다&lt;span&gt;. &lt;/span&gt;그 경계를 어떻게 정하고&lt;span&gt;, '&lt;/span&gt;집단적 정렬&lt;span&gt;'&lt;/span&gt;을 어떻게 정의할지에 대한 논의는 하루라도 빨리 되어야 한다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;우리는&lt;span&gt; (Open AI&lt;/span&gt;뿐만 아니라 전체 업계가&lt;span&gt;) &lt;/span&gt;세상을 위한 뇌를 만들고 있다&lt;span&gt;. &lt;/span&gt;매우 개인화될 것이며&lt;span&gt;, &lt;/span&gt;모두가 쉽게 쓸 수 있을 것이다&lt;span&gt;. We will be limited by good ideas. &lt;/span&gt;오랫동안 스타트업 업계의 기술자들은&lt;span&gt; &quot;&lt;/span&gt;아이디어맨&lt;span&gt;&quot;&lt;/span&gt;을 놀렸다&lt;span&gt;. &lt;/span&gt;아이디어만 있고&lt;span&gt;, &lt;/span&gt;그것을 만들어줄 팀을 찾는 사람들 말이다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이제 그들의 시대가 오고 있다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Open AI&lt;/span&gt;&lt;span&gt;는 지금 다양한 일을 하지만&lt;span&gt;, &lt;/span&gt;그 모든 것에 앞서 우리는&lt;span&gt; '&lt;/span&gt;초지능 연구 회사&lt;span&gt;'&lt;/span&gt;다&lt;span&gt;. &lt;/span&gt;앞으로 해야 할 일이 많지만&lt;span&gt;, &lt;/span&gt;대부분의 길은 이제 환하게 밝혀졌고&lt;span&gt;, &lt;/span&gt;어둠은 빠르게 물러나고 있다&lt;span&gt;. &lt;/span&gt;우리는 지금 이 일을 할 수 있음에 그저 깊이 감사할 따름이다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;계량이 불가능할 만큼 저렴한 지능&lt;span&gt;(intelligence too cheap to meter)&lt;/span&gt;은 이제 눈앞에 있다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이 말이 미친 소리처럼 들릴 수도 있겠지만&lt;span&gt;, 2020&lt;/span&gt;년에 지금 이 상황을 예측했다면 더 말도 안 되는 소리처럼 들렸을 것이다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;부디&lt;span&gt;, &lt;/span&gt;우리 모두가&lt;span&gt;, &lt;/span&gt;부드럽고&lt;span&gt;, &lt;/span&gt;기하급수적으로&lt;span&gt;, &lt;/span&gt;그리고 별 탈 없이 초지능으로 향해 가기를&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;레퍼런스&amp;nbsp;&lt;/blockquote&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https://blog.samaltman.com/the-gentle-singularity&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://blog.samaltman.com/the-gentle-singularity&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>AI</category>
      <author>aruru</author>
      <guid isPermaLink="true">https://hinweis.tistory.com/155</guid>
      <comments>https://hinweis.tistory.com/155#entry155comment</comments>
      <pubDate>Thu, 10 Jul 2025 18:16:25 +0900</pubDate>
    </item>
    <item>
      <title>[흑자경영연구소] 4월 정보시스템부서장 교류회 후기</title>
      <link>https://hinweis.tistory.com/154</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2025년 4월 디지털 전환(DX) 추진과 IT부서의 역할에 대한 주제로 세종호텔에서 교류회를 진행하였고,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최우봉 교수님의 강연 내용을 정리하였습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span&gt;1. 일하는 방식의 변화&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;AI는 함께 일하는 대상으로 확장 되어야 하며, 협업 성과는 인간의 능력과 정비례&lt;br /&gt;(개인의 AI리터러시 준비가 필수적)&lt;/li&gt;
&lt;li&gt;협업혁명 &lt;br /&gt;- 모든 회사의 IT부서가 AI 에이언트의 HR 부서가 될 수 있음.&lt;br /&gt;- 에이전트에 대하여 기업에 맞는 교육과 온보딩 필요.&lt;br /&gt;- 앞으로 필요한 능력 : 비판적사고를 통한 AI와의 의사소통 필요.&lt;/li&gt;
&lt;li&gt;참고링크 &lt;br /&gt;- 신규채용 대신 AI로 카카오의 인사 혁신 &lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;a href=&quot;https://v.daum.net/v/20250417230301842&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://v.daum.net/v/20250417230301842&lt;/a&gt;&lt;br /&gt;- 인공지능(AI)이 대신할 수 있는 직무는 신규 채용을 제한&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span&gt;&amp;nbsp;2. &lt;/span&gt;&lt;b&gt;&lt;span&gt;AI &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;등장이 직원에 미칠 영향&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;AI 의존이 강하면 이해력, 문제해결능력 감소될 수 있음&lt;/li&gt;
&lt;li&gt;서구권 데이터를 학습했기 때문에 문화와 가치 다양성이 감소될 수 있음&lt;/li&gt;
&lt;li&gt;ROI 대비 고소득 직업이 대체될 확률이 높음&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span&gt;&amp;nbsp;3. &lt;/span&gt;&lt;b&gt;&lt;span&gt;대응책&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;AI 친화적 문서 &amp;amp; 데이터 관리 필수&lt;br /&gt;- PPT/ Excel 자료의 경우 전처리를 통하여 마크다운 형식 전환 검토.&lt;/li&gt;
&lt;li&gt;AI기반 업무 프로세스 재정의 &lt;br /&gt;- 반복업무를 자동화 할 경우 새로운 반복적인 업무를 만들어 내는 경향이 있음.&lt;br /&gt;- 자신의 일을 디자인하는 가이드라인 교육 필요.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>AI</category>
      <author>aruru</author>
      <guid isPermaLink="true">https://hinweis.tistory.com/154</guid>
      <comments>https://hinweis.tistory.com/154#entry154comment</comments>
      <pubDate>Wed, 7 May 2025 09:55:39 +0900</pubDate>
    </item>
    <item>
      <title>ㄴㄴ</title>
      <link>https://hinweis.tistory.com/153</link>
      <description>&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;ㅋㅌ&lt;/p&gt;</description>
      <author>aruru</author>
      <guid isPermaLink="true">https://hinweis.tistory.com/153</guid>
      <comments>https://hinweis.tistory.com/153#entry153comment</comments>
      <pubDate>Thu, 27 Feb 2025 23:18:42 +0900</pubDate>
    </item>
    <item>
      <title>[동향&amp;middot;연구보고서] LG경제연구원 원가 혁신을 위한 10가지 힌트 archive</title>
      <link>https://hinweis.tistory.com/152</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;우리 기업이 극복해야 할 우선적인 해결 과제는 고비용․ 저효율 구조의 타파이다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;고비용․저효율 구조를 타파하기 위해서는 자사에 적합한 원가 혁신방안을 찾아내어 실무에 적극적으로 응용하려는 자세가 필요하다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;13조원의 순손실, 1000원어치 팔아서 62원이 적자&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt; 이것은 12월 상장 결산법인의 상반기 경영 실적 성적표이다. 이 성적표에는 그 동안 오랫동안 고질적인 문제로 지적되어 왔던 우리 기업의 고비용․저효율 구조의 단면이 여실히 나타나 있다. 따라서 우리 기업들은 고비용 ․ 저효율 구조의 타파를 시대적 해결 과제로 삼아 뼈를 깎는 경영 혁신의 노력을 기울여야 한다. IMF의 강력한 외풍에 직면해 있는 현재의 상황에서는 그 절박성이 더욱 커지고 있다. 이러한 시점에서 고비용․저효율 구조를 해결할 수 있는 원가 혁신 방안에 대해서 검토해 보는 것은 의미 있는 일이라 할 수 있다. 단순히 소모품비 절감 등 눈에 보이는 원가절감 차원을 넘어 원가를 대폭적으로 줄이겠다는 원가 혁신의 의지가 필요한 시점이기 때문이다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;● 힌트 1 : 상품 기획․설계 단계에서 목표원가를 확정하라.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;제품의 원가는 생산 이전 단계인 상품 기획․설계 단계에서 80～90%가 결정되기 때문에 원가 혁신의 노력도 상품 기획․설계 단계에 집중되어야 한다. 상품 기획․설계 단계에 활용할 수 있는 대표적인 원가혁신 기법이 원가기획(Target Costing)이다. 원가기획은 80년대 말 이후 일본 자동차 업계가 엔고의 영향으로 불황기를 맞이하였을 때 크게 진가를 발휘한 사전적 원가 혁신 기법으로서 그 개념은 간단하다. 우선 시장분석을 통해서 고객이 요구하는 제품의 기능을 조사한다. 고객의 needs 분석을 통해서 제품 컨셉이 정해지면 목표 판매가격을 결정하고, 달성해야 할 목표이익을 차감하여 목표원가를 결정한다. 목표원가가 결정되면 부품의 공용화, 제조 공정의 변경, 기능의 단순화 등 원가 혁신 방안을 상품 기획․설계 단계에 반영해 나간다. 이러한 원가 혁신 노력은 생산 이전단계에서 이루어지기 때문에 많은 시행착오를 줄일 수 있고 원가 혁신의 효과도 그 만큼 크다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;● 힌트 2 : 상품 기획․설계 단계에 설계, 생산, 판매 등 제품 관련 부문의 공동 참여를 유도하라.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;기존의 제품관련 프로세스는 연구개발, 디자인, 생산, 판매 등 연속적인 과정으로 진행되었다. 이에 따라 각 프로세스간의 의사소통이 원활하지 못하여 생산공정에 맞지 않는 설계, 고객 needs를 반영하지 못한 제품의 개발 등 많은 비능률적인 요소가 발생하는 사례가 많았다. 그러나 상품 기획․설계 단계에 설계, 생산, 판매 등 제품 관련 부문이 공동으로 참여할 경우 이러한 비능률적인 요소가 해소될 수 있다. 이를 흔히 컨커런트 엔지니어링(CE, Concurrent Engineering)이라고 일컫는다. 컨커런트 엔지니어링은 제품의 개발, 기획, 설계 단계에 다기능 통합(Cross-functional)팀을 구성하여 제품 개발 과정에 참여시킴으로써 원가 혁신을 꾀하는 기법이다. 다기능 통합팀의 원활한 정보교환을 통해서 원가 혁신은 물론 신제품 개발기간의 단축, 고객 니즈의 정확한 반영, 제품의 적기 출시, 품질향상이라는 부수적인 효과도 달성할 수 있다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;● 힌트 3 : 제품 개발 단계에 부품공급 업체 등 협력업체의 의견을 적극 반영하라.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;외주 생산 비중이 증대하고 있다. 그에 따라 원가 절감을 위한 내부적인 노력만으로는 원가 혁신을 달성하기 어렵다. 원가 혁신의 노력이 협력업체에까지 전파되어야 하는 것이다. 협력업체와 관련된 원가 혁신의 방향은 크게 두 가지로 대별할 수 있다. 첫째, 제품 개발단계에서 부품공급업자를 참여시키는 것은 중요하다. 이 경우 제품사양에 관한 정보를 교환하고, 이를 통해 부품조달의 원활화를 꾀하고, 새로운 아이디어를 제공받는 등 원가 혁신을 위한 많은 힌트를 발견할 수 있다. 최근 이슈화되고 있는 게스트 엔지니어링(Guest Engineering)은 제품의 기획․설계과정에서부터 협력업체와 한 팀을 이루어 공동작업을 하는 것을 의미한다. 게스트 엔지니어링은 기존에 협력업체를 배제한 상황에서 설계도를 작성함으로써 발생하는 비효율적인 요소를 사전에 예방할 수 있고, 협력업체와 보다 돈독한 협업관계를 유지할 수 있다는 점에서 매우 유용하다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;● 힌트 4 : 협력업체에 대해 지속적인 원가 혁신 지도를 실시하라.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;둘째, 협력업체의 고비용, 저효율 구조의 개선을 위해 끊임없는 원가 혁신 지도를 실시해야 한다. 협력업체에 비능률적인 요소가 있다면 그것은 자사 제품의 경쟁력에 치명적인 영향을 미친다. 따라서 협력업체가 경쟁력을 확보할 수 있도록 지도하는 것은 곧 자사의 경쟁력을 확보하는 지름길임을 깊이 인식하여야 한다. 우리 기업들은 과거의 거래실적, 인정 등에 의해 협력관계를 그대로 유지하는 경우가 빈번하였다. 그러나 지금은 기존의 관행이 많이 퇴색되어 합리성과 효율성을 기준으로 협력관계를 유지하고 있다. 따라서 나름대로의 경쟁력을 갖추지 못하면 아무리 오랫동안 거래해 온 협력업체라도 새로운 경쟁력 있는 협력업체로 대체하겠다는 의식이 필요하다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;또한 협력업체로 선정된 기업에게는 프로세스 개선, 기술지도 등을 통해서 협력업체의 경쟁력확보를 자사의 경쟁우위 원천으로 활용하려는 것이 일반화된 추세이다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;● 힌트 5 : 구매부서를 원가 혁신의 선도자로서 활용하라.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;구매 부서는 기업의 내․외부 정보를 누구보다도 잘 알고 있으며 신제품에 관한 시장정보, 원가정보를 갖고 있다. 따라서 제품 설계 단계에서부터 원가 혁신을 위한 중요한 역할을 수행한다. 구매 부서는 개발과정에서 기존에 축적한 우수한 부품과 원재료에 대한 정보를 제공함으로써 결과적으로는 양질의 제품을 저렴한 원가로 개발하는 데 공헌한다. 이에 따라 제품 개발기간을 단축하고 생산 원가를 절감하기 위해 연구개발 부문과 구매 부서를 연계하여 제품을 개발하는 이른바 페어소싱(Pair Sourcing)제도를 활용하는 국내 기업들이 늘어나고 있다. 연구개발부문과 구매 부서의 연계성을 강화하는 이유는 구매 부서의 원가마인드에 따라 제품의 경쟁우위 요소인 납기, 품질, 가격분야의 경쟁력이 결정될 수 있기 때문이다. 구매 부서는 이제 단순한 구매관리 부서가 아니라 원가 혁신의 선도자로서 구매 기획, 구매 엔지니어링 부서로서 자사의 경쟁우위를 확보할 수 있어야 하는 것이다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;● 힌트 6 : 활동 분석을 통해 비부가가치 활동을 제거하라.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;기업은 일련의 자원 소비 활동을 통해 부가가치를 창출한다. 따라서 기업의 원가 유발요인은 자원 소비 활동과 깊은 관련이 있다. 원가 혁신을 위해 활동 분석이 필요한 이유도 여기에 있다. 자원 소비 활동을 분석하는 과정에서 중복된 활동 등 낭비적 요인들을 찾아내서 제거하는 것이 원가 혁신의 핵심이다. 이와 관련된 원가 혁신 기법으로는 활동기준원가계산(ABC, Activity Based Costing)이 있다. ABC의 궁극적인 목표는 활동분석을 통해서 제품별, 고객별 정확한 원가를 산정하는 것이다. 정확한 원가의 산정을 위해 활동을 분석하고 활동에 대한 원가 유발요인을 찾아가는 과정에서 원가 혁신을 꾀할 수 있다. 즉, ABC는 원가를 발생시키는 활동을 파악하여 이를 계획, 통제함으로써 더욱 정확한 제품원가계산은 물론 자원의 낭비요소 제거, 정보의 적시성 제고 등 기업활동을 가치 있게 해주는 데 활용된다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;● 힌트 7 : 프로세스상의 낭비적인 요인을 제거하라.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;생산단계에서 원가 혁신을 위한 기법으로 비즈니스 프로세스 리엔지니어링(BPR)이 있다. 이것은 앞서 언급한 활동분석과 맥을 같이하는 것으로서 프로세스에 대한 정보를 바탕으로 원가 혁신을 지속적으로 꾀하는 기법이다. 기업내의 모든 프로세스 및 활동을 고객의 입장에서 재 정의하고 특정 프로세스가 과연 가치가 있는 것인가를 평가하여 전사적인 관점에서 프로세스를 재 설계해 나간다. 이를 통해 생산 공정의 절감, 경영자원의 절약, 비부가가치 활동의 제거 등 원가 혁신을 달성할 수 있다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;● 힌트 8 : 핵심 부분만을 제외하고 아웃소싱을 적절히 활용하라.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;특정기업이 시장 경쟁우위를 확보하기 위해 필요한 모든 경영요소를 자체적으로 내부화한다는 것은 불가능한 일이다. 더구나 지금과 같이 모든 역량을 자체적으로 확보하기 위해 투자할 인력과 자금 여력이 부족한 시기에는 더욱 더 그렇다. 기업의 경영자원은 한정되어 있다. 그러나 한정된 경영자원을 효율적으로 활용하여 성과를 극대화시켜야 한다. 이를 위해서는 핵심적인 요소 이외의 부문에 대해서는 철저하게 아웃소싱해야 한다. 기업내부의 활동 중 비핵심적이고, 부가가치가 낮은 기능을 파악하여 아웃소싱함으로써 원가 혁신의 주요 장애요인인 고비용․저효율 구조를 개선할 수 있는 것이다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;● 힌트 9 : 선진기업의 원가 구조를 벤치마킹하라.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;남을 알고 자기를 알면 백전 백승이라는 말이 있다. 이 말은 원가 혁신 분야에서도 그대로 적용될 수 있다. 원가 구조가 뛰어난 선진기업을 철저히 분석하여 원가 혁신을 위한 기초자료로 활용할 수 있다. 이 때 가치사슬 원가분석(VCC, Value Chain Costing)기법이 유용하게 활용된다. VCC를 통해 가치사슬별로 창출되는 부가가치와 소요 원가를 연결시킬 수 있다. 그리고 선진기업의 가치사슬 원가와 비교하여 원가경쟁력이 떨어지는 기능과 활동을 찾아내 개선방안을 모색한다. 다시 말해서 선진기업과 유사한 수준의 원가구조를 유지하기 위해서는 가치사슬상의 어느 활동과 프로세스를 개선할 것인가에 대한 힌트를 얻을 수 있다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;● 힌트 10 : 과도한 재고를 줄여라.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;과도한 재고를 보유함으로써 발생하는 재고유지비 및 관리비 역시 기업의 고비용․저효율 구조의 요인이다. 원가 혁신을 위해 재고관리에 신경을 써야 하는 이유도 여기에 있다. 재고관리의 핵심은 품절로 인한 판매기회의 상실을 예방할 수 있는 최소한의 재고를 유지하는 것이다. 재고를 줄임으로써 얻을 수 있는 효과는 재고비용의 감소에 따른 원가 절감은 물론 진부화에 따른 손실, 보관하역비, 창고유지비, 금융비용의 감소 등 다양하다. 재고를 줄이기 위해서는 공급업체, 생산과 판매부문의 사전적인 상호 연계성이 중요하게 된다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;즉, 공급업체는 생산부문의 생산계획에 따라 원자재 및 부품을 적정하게 공급하여야 하고, 생산부문은 판매부문에서 제공하는 살아있는 정보를 즉각 생산계획에 반영시킬 수 있어야 하다. 또한 판매부문은 소비자 니즈의 변화 및 제품의 판매현황에 관한 유용한 정보를 생산부문에 즉각 제공해 줄 수 있어야 한다. 이의 실행을 위해서는 IT(Information Technology)의 활용을 고려해야 한다. 수작업으로는 리얼타임 정보의 공유화가 아무래도 어렵기 때문이다.&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;br /&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;* 사례 : 미국 혼다사의 협력업체와 함께 하는 원가 혁신&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;&amp;nbsp;혼다는 협력 업체와 긴밀한 협조 하에 생산성 48% 향상, 원가 26% 절감이라는 경이적인 성과를 거두었다. 혼다는 협력 업체와 함께 원가 혁신 운동을 전개하고 있다. 미국에 소재하고 있는 혼다는 협력업체와 함께 하는 BP운동을 전개하여 획기적인 원가 혁신을 달성하고 있다. BP는 최상의 성과(Best Practices), 최상의 생산성(Best Productivity), 최상의 협력관계(Best Partners)의 달성을 지향하고 있다. 그리고 그것을 달성하기 위해 협력업체와 긴밀한 협조 하에 제품의 품질과 원가 구조를 지속적으로 개선해 나간다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;BP운동의 특징으로는 첫째, 원가 혁신을 위해 원가기획(Target Costing)을 적극 활용하고 있고, 둘째, 구매 부서가 주축이 되어 협력업체의 원가 혁신을 지속적으로 지원해 주고, 셋째, 개발과정에 협력업체를 참여시키는 게스트 엔지니어링 기법을 활용하고 있다는 점을 들 수 있다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;혼다의 BP운동은 크게 두 단계로 시행된다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;1 단계는 원가기획(Target Costing)을 응용하는 단계이다. 혼다는 신제품에 대한 목표원가를 결정하여 협력업체에게 제시한다. 협력업체가 제시된 목표원가를 달성하기 곤란할 경우 협력업체의 개선을 위해 기술적인 지식을 보유한 구매 부서의 직원 2-3명을 협력업체에 파견한다. 그들은 2-3개월 동안 협력업체의 현장에서 근무하면서 원가 혁신을 위한 개선활동을 전개한다. 생산 실무진들과 함께 팀을 구성하여 개선해야 할 대상을 선정하고 개선방안을 모색한다. 혼다의 구매 부서 요원은 총 50여명에 달한다. 이들은 협력업체 개발 및 제품의 문제점을 신속하게 발견하는 역할을 담당한다. 또한 구매 부서는 동시에 10여개의 다른 협력업체 현장에서 개선활동을 전개할 BP팀을 확보하고 있다. 현재까지 미국에 위치한 400여개의 협력업체 중 약 90여개의 협력업체를 대상으로 개선활동을 전개해 오고 있다. 혼다의 구매담당자인 커리는 현장에서의 협력업체 개선 및 관리 활동을 통해서 평균 48%의 생산성 향상을 달성하였다고 말한다. 협력업체에 대한 현장 개선활동이 성공적으로 정착되면 2 단계로 이행한다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;2 단계에서는 신제품 개발계획에 협력업체를 적극 참여시키는 게스트 엔지니어링 기법을 채택하고 있다. 게스트 엔지니어링은 협력업체와의 신뢰관계를 토대로 추진될 수 있기 때문에 제조 프로세스 및 공정에 대한 낭비적인 요인들을 개선해 나가는 1 단계과정이 선행되어야 한다. 1 단계의 개선활동을 성공적으로 마친 협력업체를 대상으로 40여개의 디자인 개발 과정에 협력업체를 참여시키고 있다. 이를 통해 협력업체의 제조공정과 설비의 상황을 감안한 제품을 디자인할 수 있게 되었다. 따라서 혼다는 구매원가를 대폭적으로 낮출 수 있었을 뿐만 아니라 생산 공정 및 설비에 적합한 제품 설계도면을 협력업체에 제공함으로써 협력업체도 많은 이점을 얻을 수 있었다. 2 단계 운동의 성과는 1998년 출시된 혼다 Accord의 개발과정에 잘 나타나 있다. 혼다 Accord는 총 제조 원가의 26% 절감이라는 경이적인 성과를 거둔 BP운동 2 단계의 성과물이다. 혼다는 BP 운동을 통해서 획기적인 원가 혁신을 달성했을 뿐만 아니라 바람직한 관리문화가 정착되었고, 낭비의 최소화라는 조직 철학이 뿌리를 내리게 되었다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;우리 기업이 극복해야 할 우선적인 해결 과제는 고비용․ 저효율 구조의 타파이다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; 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;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;출처 : LG경영연구원 최병현&lt;/span&gt;&lt;/p&gt;</description>
      <author>aruru</author>
      <guid isPermaLink="true">https://hinweis.tistory.com/152</guid>
      <comments>https://hinweis.tistory.com/152#entry152comment</comments>
      <pubDate>Mon, 24 Feb 2025 18:36:53 +0900</pubDate>
    </item>
    <item>
      <title>[성능테스트] JMeter 테스트 시나리오 최적화</title>
      <link>https://hinweis.tistory.com/151</link>
      <description>&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1660&quot; data-origin-height=&quot;1246&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kEJlm/btsJL8sQlVw/jL0sz72lMA4RPUMT0yGcCK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kEJlm/btsJL8sQlVw/jL0sz72lMA4RPUMT0yGcCK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kEJlm/btsJL8sQlVw/jL0sz72lMA4RPUMT0yGcCK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkEJlm%2FbtsJL8sQlVw%2FjL0sz72lMA4RPUMT0yGcCK%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;1660&quot; height=&quot;1246&quot; data-origin-width=&quot;1660&quot; data-origin-height=&quot;1246&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br&gt;JMeter에서 사용가능&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #252525;&quot;&gt;한 Thread 범위를 확인하기 위해&amp;nbsp;테스트를 진행했습니다.&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #252525;&quot;&gt;Heap 메모리 사용범위를 초과하게 되면 OutOfMemory Exception이 발생하였습니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;ERROR o.a.j.JMeter: Uncaught exception in thread Thread[Thread Group 1-1842,6,main]
java.lang.OutOfMemoryError: Java heap space&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p data-ke-size=&quot;size18&quot;&gt;리소스 최적화를 위해 적용한 사항은&amp;nbsp; 아래와 같습니다.&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #252525;&quot;&gt;&lt;b&gt;1. 시나리오 설정 최적화&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;사용하지 않는 Sampler 비활성화&lt;/li&gt;&lt;li&gt;메모리 사용이 높은 Listner 비활성화&lt;br&gt;- &quot;View Result Tree&quot;, &lt;span style=&quot;color: #333333;&quot;&gt;Plugin 그래프 설정&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;비활성화&lt;/li&gt;&lt;/ul&gt;&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;2. JMeter 힙 메모리 설정 변경 &lt;/b&gt;&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;jmeter.bat 파일 내 최소 메모리(-Xms1g), 최대 메모리(-Xmx4g) 사이즈 변경&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;if not defined HEAP (
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rem See the unix startup file for the rationale of the following parameters,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rem including some tuning recommendations
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set HEAP=-Xms1g -Xmx4g -XX:MaxMetaspaceSize=256m
)&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;3. CLI 환경 테스트 진행&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #252525;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #252525;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;명령어 예시&lt;/li&gt;&lt;/ul&gt;&lt;blockquote data-ke-style=&quot;style3&quot;&gt;./jmeter -n -t jmeter-test-plan.jmx -l jmeter.log -H proxxy_Server -P 8000&lt;br&gt;&amp;nbsp;-n: command line mode에서 실행&lt;br&gt;&amp;nbsp;-t: Test Plan 파일명&lt;br&gt;&amp;nbsp;-l: 결과 저장할 로그 파일&lt;br&gt;&amp;nbsp;-H: Proxy server의 hostname&lt;br&gt;&amp;nbsp;-P: 포트&lt;/blockquote&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&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;쓰레드 3000 개 설정 후 테스트 해봐도 OOM 발생&lt;/li&gt;&lt;/ul&gt;&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;user@MacBook-Pro bin %./jmeter -n -t /Users/user/apache-jmeter-5.6.3/plan/test_plan.jmx -l summery.log
Creating summariser &amp;lt;summary&amp;gt;
Created the tree successfully using /Users/user/apache-jmeter-5.6.3/plan/test_plan.jmx
Starting standalone test @ 2024 Sep 25 17:29:31 KST (1727252971664)

...
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread &quot;Thread Group 1-2864&quot;&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot;&gt;&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&amp;lt;테스트 결과&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;UI 환경으로 테스트 진행하는 것이 결과 분석에 유리&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;b&gt;컴퓨터 1대 기준 최대 2000 쓰레드까지 적용&lt;/b&gt;&lt;/span&gt;&lt;br&gt;- 단 Test Plan이 복잡할 경우 JMeterThread 생성 시 Heap 메모리 사용률 증가&lt;br&gt;- 쓰레드 개수를 증분 시키면서 테스트 가능범위 도출 필요.&lt;/li&gt;&lt;li&gt;대용량 테스트가 필요한 경우 Jmeter Controller를 통한 분산 테스트 환경 구축 검토&lt;/li&gt;&lt;/ul&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;성능테스트는 노가다가 필요합니다…&lt;br&gt;읽어주셔서 감사합니다.&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;레퍼런스&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://www.hanbit.co.kr/store/books/look.php?p_code=E9745937947&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;https://www.hanbit.co.kr/store/books/look.php?p_code=E9745937947&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description>
      <category>Programing/TEST</category>
      <category>test plan 최적화</category>
      <author>aruru</author>
      <guid isPermaLink="true">https://hinweis.tistory.com/151</guid>
      <comments>https://hinweis.tistory.com/151#entry151comment</comments>
      <pubDate>Wed, 25 Sep 2024 19:57:25 +0900</pubDate>
    </item>
    <item>
      <title>[성능 테스트] JMeter 컨텍스트(Context) 이해 2편 - JMeterThread</title>
      <link>https://hinweis.tistory.com/150</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1660&quot; data-origin-height=&quot;1246&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/s7RaK/btsJK8OfKai/DlaScQOTrpFgnUTC5b2Kv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/s7RaK/btsJK8OfKai/DlaScQOTrpFgnUTC5b2Kv1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/s7RaK/btsJK8OfKai/DlaScQOTrpFgnUTC5b2Kv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fs7RaK%2FbtsJK8OfKai%2FDlaScQOTrpFgnUTC5b2Kv1%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;1660&quot; height=&quot;1246&quot; data-origin-width=&quot;1660&quot; data-origin-height=&quot;1246&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;JMeter 컨텍스트와 연관된 &lt;b&gt;JMeterThread &lt;/b&gt;클래스&amp;nbsp;구조에 대해 설명드리겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;1. JMeterThread&lt;/b&gt;&lt;b&gt; 클래스란?&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;스레드를 생성하고 관리&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;각 스레드가 수행해야 하는 테스트 시나리오 실행&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;text-align: start;&quot;&gt;2. JMeterThread 흐름&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;2.1) 스레드&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;시작&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ThreadGroup 클래스 makeMathod 메서드에서 JMeterThread 객체 생성 및 초기화&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; text-align: left;&quot;&gt;- ThreadGroup, samlper 정보 주입&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000; text-align: left;&quot;&gt;-  ThreadGroup 에서 정의된 변수 주입&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;start() 메서드 호출&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;2.2) 테스트&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;실행 및 기록&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;TheadGroup 에 포함된 샘플러가 순차적으로 실행되고 &lt;/span&gt;실행 결과는 Listener  를 통해 기록&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;stop 플래그를 체크하여 스레드 중지 가능&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;2.3) 스레드&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;종료 &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;shutdown() 메서드 호출 및 초기화&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;text-align: start;&quot;&gt;3. JMeterThread 코드 예시&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1725604740433&quot; class=&quot;java&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;package org.apache.jmeter.threads;

public class JMeterThread {

    private AbstractThreadGroup threadGroup;
    private final JMeterVariables threadVars;
    private boolean running = false;
	
    public JMeterThread() {    		
       	threadVars = new JMeterVariables();
        running = true;
    }

    @Override
    public void run() {
        // Context 정보 없으면 신규 생성
       	JMeterContext threadContext = JMeterContextService.getContext();

     	try {
    		//Context 정보 주입
    		initRun(threadContext);
        	while (running) {
                Sampler sampler = threadGroupLoopController.next();
                // Execute sampler		
                processSampler(sampler)
            } 
       catch (Exception e) {
            // Handle exceptions
       }
    }

    public void stopThread() {
        this.running = false;
    }

    private void shutdownTest() {
        running = false;        
        // Cleanup logic
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;읽어주셔서 감사합니다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>Programing/TEST</category>
      <author>aruru</author>
      <guid isPermaLink="true">https://hinweis.tistory.com/150</guid>
      <comments>https://hinweis.tistory.com/150#entry150comment</comments>
      <pubDate>Mon, 9 Sep 2024 20:22:57 +0900</pubDate>
    </item>
    <item>
      <title>[성능 테스트] JMeter JavaScript 활용</title>
      <link>https://hinweis.tistory.com/148</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1660&quot; data-origin-height=&quot;1246&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nt8Ks/btsJrHB8Axu/KNK7SsKd19BgfuelkYU5ak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nt8Ks/btsJrHB8Axu/KNK7SsKd19BgfuelkYU5ak/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nt8Ks/btsJrHB8Axu/KNK7SsKd19BgfuelkYU5ak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fnt8Ks%2FbtsJrHB8Axu%2FKNK7SsKd19BgfuelkYU5ak%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;1660&quot; height=&quot;1246&quot; data-origin-width=&quot;1660&quot; data-origin-height=&quot;1246&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Front 서버 부하테스트 진행 시 로그인 정보 암호화 처리를 위해 자바스크립트 사용이 필요하였습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;구글링 해본 결과.. Jmeter 공식 홈페이지&lt;/span&gt; &lt;a href=&quot;https://jmeter.apache.org/changes.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;릴리스노트&lt;/a&gt;&lt;span style=&quot;color: #000000;&quot;&gt;에서 답을 찾았습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;저는 JMeter (5.6.3) 버전 기준으로 테스트 진행하였습니다&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;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;1. JAVA 버전 확인&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;로컬환경에 설치된 JVM 버전에 따라 아래의 절차대로 환경을 구성하시면 됩니다.&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;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;1.1) JAVA 11 이하 환경&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Nashorn 엔진 및 별도 엔진 사용 가능&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Java11 버전 사용 시 Nashorn 엔진 사용을 지양하므로 JDK 버전 별로 오류가 발생할 수 있음&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Zulu OpenJDK 11.0.24 테스트 확인&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1725439327262&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@Deprecated(since=&quot;11&quot;, forRemoval=true)
public final class NashornScriptEngineFactory implements ScriptEngineFactory {}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;1.2) JAVA 15 이상 환경&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Java 15부터 Nashorn 엔진 제거되므로 별도 엔진 설치 필요&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Amazon Corretto 17 JDK 테스트 확인&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;b&gt;설치방법&lt;br /&gt;&lt;/b&gt;- JMeter 에서 제공하는 Mozilla Rhino 엔진 다운로드&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&lt;a style=&quot;color: #0070d1;&quot; href=&quot;https://github.com/mozilla/rhino/releases/download/Rhino1_7_14_Release/rhino-engine-1.7.14.jar&quot;&gt;rhino-engine-1.7.14.jar&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;- 다운받은 엔진을&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;$JMETER_HOME/lib/ext&lt;/b&gt;&amp;nbsp;에 복사 &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;[case1] $JMETER_HOME = /Users/user/apache-jmeter-5.6.3&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;복사경로&amp;nbsp;=&amp;nbsp;/Users/user/apache-jmeter-5.6.3/lib/ext&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;[case2] $JMETER_HOME = /opt/homebrew/bin/jmeter&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;복사경로&amp;nbsp;=&amp;nbsp;/opt/homebrew/bin/jmeter&amp;nbsp;/lib/ext&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&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: #000000;&quot;&gt;&lt;b&gt;2. 테스트&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;JSR-223 PostProcessor에서&amp;nbsp;인식되는 JavaScript 엔진&amp;nbsp;확인&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;스크립트 예시를 활용하여 엔진 호출 테스트&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1725356721499&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ScriptEngine engine = new ScriptEngineManager().getEngineByName(&quot;js&quot;);
engine.eval(new FileReader(&quot;test.js&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;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. 트러블 슈팅&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;3.1) 실리콘 MAC (M1Pro) JMeter 호환성 이슈&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;JDK 설치 시 주의사항으로는 openjdk 공식 빌드 버전 사용 권장&lt;/span&gt;&lt;/b&gt; ⭐️&lt;br /&gt;&lt;a href=&quot;https://github.com/oracle/visualvm/issues/528&quot;&gt;https://github.com/oracle/visualvm/issues/528&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Homebrew OpenJDK 오류 발생될 수 있으므로 최신버전 수동 설치 권장&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;java[22970:244037] *** WARNING: References to Carbon menus are disallowed with AppKit menu system on macOS 14 and newer. Use instances of NSMenu and NSMenuItem directly instead. See https://developer.apple.com/documentation/macos-release-notes/appkit-release-notes-for-macos-14#Menus&lt;br /&gt;Uncaught Exception java.lang.ExceptionInInitializerError in thread Thread[#36,AWT-EventQueue-0,6,main]. See log file for details.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;3.2) homebrew JMeter 설치 이슈&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;homebrew JMeter 최신 버전이 아닐 수 있음&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Jmeter 공식 홈페이지에서 수동 설치 권장&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a style=&quot;background-color: #e6f5ff; color: #0070d1; text-align: start;&quot; href=&quot;https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.6.3.tgz&quot;&gt;apache-jmeter-5.6.3.tgz&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ERROR o.a.j.JMeter: Uncaught exception in thread Thread[#36,AWT-EventQueue-0,6,main] java.lang.ExceptionInInitializerError: null &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;at org.apache.jmeter.control.gui.TestPlanGui.createPopupMenu(TestPlanGui.java:109) ~&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;3.3) homebrew JMeter와 수동설치를 같이 진행한 경우&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;JMeter 실행파일을 절대경로로 실행하지 않으면 homebrew JMeter 환경변수 인식&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;수동설치 디렉토리 접근하여 절대경로로 실행&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1725440338635&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;user@MacBook-Pro bin % pwd
/Users/user/apache-jmeter-5.6.3/bin
user@MacBook-Pro bin % ./jmeter&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;읽어주셔서 감사합니다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>Programing/TEST</category>
      <category>GUI 테스트</category>
      <category>Load test</category>
      <category>performance test</category>
      <category>스트레스 테스트</category>
      <author>aruru</author>
      <guid isPermaLink="true">https://hinweis.tistory.com/148</guid>
      <comments>https://hinweis.tistory.com/148#entry148comment</comments>
      <pubDate>Tue, 3 Sep 2024 18:45:37 +0900</pubDate>
    </item>
    <item>
      <title>[성능 테스트] JMeter Groovy 스크립트 예제</title>
      <link>https://hinweis.tistory.com/145</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1660&quot; data-origin-height=&quot;1246&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzI0Qj/btsJa0CC4PV/Q9Wt8pQ5yPCRikDLKAX8Ak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzI0Qj/btsJa0CC4PV/Q9Wt8pQ5yPCRikDLKAX8Ak/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzI0Qj/btsJa0CC4PV/Q9Wt8pQ5yPCRikDLKAX8Ak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzI0Qj%2FbtsJa0CC4PV%2FQ9Wt8pQ5yPCRikDLKAX8Ak%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;1660&quot; height=&quot;1246&quot; data-origin-width=&quot;1660&quot; data-origin-height=&quot;1246&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;PoC(Proof of Concept) 담당자로 프로젝트 수행할 때&lt;span&gt; &lt;/span&gt;&lt;/span&gt;주로 사용했던 Groovy 스크립트 예제를 정리하였습니다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;1. JMeter 포스트 프로세서(PostProcesser) 란?&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;HTTP Request에서 반환된 응답 데이터를 추출, 수정 또는 추가 작업 수행할 수 있습니다.&lt;/li&gt;
&lt;li&gt;다음 테스트 플랜의 후속 요소에 전달 가능합니다.&lt;/li&gt;
&lt;li&gt;정규표현식 추출기, JSR233 PostProcesser 등 다양한 기능 지원합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. Groovy Script&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;JSR233 PostProcesser에서 기본으로 지원하는 스크립트 &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Java &lt;/span&gt;플랫폼에서&lt;span&gt; &lt;/span&gt;동작하는&lt;span&gt; &lt;/span&gt;동적&lt;span&gt; &lt;/span&gt;스크립트&lt;span&gt; &lt;/span&gt;언어로&lt;span&gt; &lt;/span&gt;유연한&lt;span&gt; &lt;/span&gt;문법을&lt;span&gt; &lt;/span&gt;제공합니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;Apache 재단이 관리하고 있어 향후 Jmeter 호환성이 제일 높을 것으로 예상 (추천)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3.&amp;nbsp; &amp;nbsp;스크립트 예시&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;Response assertion과 조합하여 사용자 변수와 Front-end 응답 내용 디버깅 시 유용합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Gradle 빌드 시스템이 Groovy 로 구성되어 있어 기본 문법을 알아두면 좋습니다.&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;3.1 변수 관리&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1723786275726&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 변수 설정
vars.put(&quot;globalVar&quot;, &quot;someValue&quot;)

// 변수 가져오기
def globalVar = vars.get(&quot;globalVar&quot;)
log.info(&quot;Global Variable: &quot; + globalVar)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 응답 상태코드 검사&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1723786413434&quot; class=&quot;java&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;def responseCode = prev.getResponseCode()

if (responseCode != '200') {
    log.warn(&quot;Unexpected response code: &quot; + responseCode)
    SampleResult.setStopThread(true) // 스레드 중지
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 응답 데이터 가져오기&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1723786518522&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// bodyString 변수화
def response = prev.getResponseDataAsString()
// header 변수화
def headers = prev.getResponseHeaders()

log.info(&quot;response: &quot; + response);
log.info(&quot;headers: &quot; + headers);

// 쿠키정보 체크
if (headers.contains(&quot;Set-Cookie&quot;)) {
     log.info(&quot;Cookies found: ${cookies}&quot;)
} else {
	log.info(&quot;No Cookie Found&quot;)
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 API 응답 데이터 가져오기 - JSON&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1723786630444&quot; class=&quot;java&quot; style=&quot;background-color: #f8f8f8; color: #383a42;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;import groovy.json.JsonSlurper

def response = prev.getResponseDataAsString()
def json = new JsonSlurper().parseText(response)

def value = json.key // JSON 응답에서 'key' 값 가져오기
log.info(&quot;jsonValue&quot;, value.toString())&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;읽어주셔서 감사합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;레퍼런스&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;http://groovy-lang.org/&quot;&gt;http://groovy-lang.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.testerspilot.com/post/jmeter-jsr223-groovy-examples-a-complete-guide&quot;&gt;https://www.testerspilot.com/post/jmeter-jsr223-groovy-examples-a-complete-guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>Programing/TEST</category>
      <category>GUI 테스트</category>
      <category>performance test</category>
      <category>스트레스 테스트</category>
      <author>aruru</author>
      <guid isPermaLink="true">https://hinweis.tistory.com/145</guid>
      <comments>https://hinweis.tistory.com/145#entry145comment</comments>
      <pubDate>Wed, 21 Aug 2024 19:47:56 +0900</pubDate>
    </item>
    <item>
      <title>[성능 테스트] JMeter 정규표현식 사용 레퍼런스 심화</title>
      <link>https://hinweis.tistory.com/147</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1660&quot; data-origin-height=&quot;1246&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/luiCf/btsJbjIFhwn/5lNKD8BSThYj7XH8aIdDk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/luiCf/btsJbjIFhwn/5lNKD8BSThYj7XH8aIdDk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/luiCf/btsJbjIFhwn/5lNKD8BSThYj7XH8aIdDk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FluiCf%2FbtsJbjIFhwn%2F5lNKD8BSThYj7XH8aIdDk0%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;1660&quot; height=&quot;1246&quot; data-origin-width=&quot;1660&quot; data-origin-height=&quot;1246&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; text-align: start;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;PoC(Proof of Concept) 담당자로 프로젝트 수행할 때&amp;nbsp;&lt;/span&gt;주로 사용했던 Groovy 스크립트 예제를 정리하였습니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Front-end 응답 내용을 디버깅 목적으로 정규표현식과 연계된 Groovy 스크립트를 활용했습니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;지금부터&lt;/span&gt;&amp;nbsp;&lt;a href=&quot;https://www.java.com/ko/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;자바 공식 홈페이지&lt;/a&gt; &lt;span style=&quot;color: #000000;&quot;&gt;기준으로 &lt;b&gt;Response Header/Body 변수화 &lt;/b&gt;예제를 설명하도록 하겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;아래 시나리오는 개발자모드로 네트워크 탭에서 확인 가능합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;한 가지 주의사항으로 아래의 내용은 정규표현식에 대한 선행 학습이 필요합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;정규표현식이 낯선 분들은 &lt;/span&gt;&lt;a href=&quot;https://hinweis.tistory.com/146&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;블로그 링크&lt;/a&gt;&lt;span style=&quot;color: #000000;&quot;&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: #000000;&quot;&gt;&lt;b&gt;1.&amp;nbsp; 쿠키 데이터 변수화&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;로그인 요청 시 쿠키 데이터를 파라미터로 활용할 수 있음.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Response  header 정보에서 쿠키 데이터 추출 가능&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #fcfcfc; color: #000000; text-align: left;&quot;&gt;자바 홈페이지 응답  헤더 항목 중 bm_sv 정보를 추출하는 스크립트 예시입니다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;set-cookie: bm_sv=E5DC31D7~YAAQPvEgF3jznSqRAQAAg7lVWhhUEJEmatgPB06IEMSg==~1; Domain=.java.com; Path=/; Expires=Fri, 16 Aug 2024 10:37:20 GMT; Max-Age=7187; Secure&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;관련 정규표현식 및 패턴정보는 아래와 같습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;- bm_sv=(.+?);&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;- 패턴정보 예시 - &lt;/b&gt;&lt;b&gt;&quot;example@example.com&quot;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;matcher[0][0]: 전체 매칭된 문자열 반환 &quot;example@example.com&quot;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;matcher[0][&lt;b&gt;1&lt;/b&gt;]: 첫 번째 캡처 그룹 반환&amp;nbsp; &quot;example&quot;을 반환합니다. 여기서 캡처 그룹은 정규표현식에서 괄호 ()로 묶여진 부분을 의미합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;matcher[0][&lt;b&gt;2&lt;/b&gt;]: 두 번째 캡처 그룹 반환&amp;nbsp;&quot;example.com&quot;을 반환합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1723797699852&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 응답헤더 데이터 가져오기
def headers = prev.getResponseHeaders()

// 정규표현식 패턴 정의 및 조회
def matcher = (headers =~ /bm_sv=([^;]+);/)

if (matcher) {
	def token = matcher[0][1]	
    log.info(&quot;Extracted Token: &quot; + token)
}
else {
	log.warn(&quot;No match found &quot;)
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;2. 응답 데이터 변수화&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;다음 스텝 (Next Step)에 대한 접속정보(URL 등) 설정, Token 정보 추출 등이 가능&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #fcfcfc; color: #000000; text-align: left;&quot;&gt;자바 홈페이지 응답 항목 중 sitesCloudCDN URL 정보를 추출하는 스크립트 예시입니다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;var SCS = { &lt;span style=&quot;color: #ee2323;&quot;&gt;sitesCloudCDN: 'https://static.ocecdn.oraclecloud.com/cdn/cec/v24.8.1.1',&lt;/span&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;podPlatform: 'OCI-N',&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1723797991707&quot; class=&quot;java&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;// 응답 데이터 가져오기
def response = prev.getResponseDataAsString()

// 정규표현식 패턴 정의
def pattern = ~ /sitesCloudCDN: '([^;]+)',/

def matcher = pattern.matcher(response)
if (matcher.find()) {
    def var = matcher.group(1)   
    log.info(&quot;var: &quot; + var)
} else {
    log.warn(&quot;No match found &quot;)
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;레퍼런스 문서를 참고하여 &lt;span style=&quot;text-align: start;&quot;&gt;다양하게 응용해보세요.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;읽어주셔서 감사합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;레퍼런스&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://jmeter.apache.org/usermanual/regular_expressions.html&quot;&gt;https://jmeter.apache.org/usermanual/regular_expressions.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Programing/TEST</category>
      <category>GUI 테스트</category>
      <category>performance test</category>
      <category>Regular Expression</category>
      <category>스트레스 테스트</category>
      <author>aruru</author>
      <guid isPermaLink="true">https://hinweis.tistory.com/147</guid>
      <comments>https://hinweis.tistory.com/147#entry147comment</comments>
      <pubDate>Sat, 17 Aug 2024 00:53:03 +0900</pubDate>
    </item>
  </channel>
</rss>