<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>보노남편의 지식창고</title>
    <link>https://bonohubby.tistory.com/</link>
    <description>BonoHubby's Library</description>
    <language>ko</language>
    <pubDate>Sat, 13 Jun 2026 09:18:07 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>보노남편</managingEditor>
    <image>
      <title>보노남편의 지식창고</title>
      <url>https://tistory1.daumcdn.net/tistory/4309584/attach/a85451c6167c46769f7558c8046fd850</url>
      <link>https://bonohubby.tistory.com</link>
    </image>
    <item>
      <title>Next.js 소개 (2. Next.js 에서 제공하는 기술들)</title>
      <link>https://bonohubby.tistory.com/entry/Nextjs-%EC%97%90%EC%84%9C-%EC%A0%9C%EA%B3%B5%ED%95%98%EB%8A%94-%EA%B8%B0%EC%88%A0%EB%93%A4</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Next.js는 React의 SSR(Server Side Rendering)을 지원하는 Framework이며 개발 방법은 기존 React와 거의 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Next.js를 사용해 페이지를 개발할 경우 메인화면은의 응답 포맷은 아래와 같다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;614&quot; data-origin-height=&quot;669&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/n70zH/btrGLgOt5zn/NqiQxycmgcK0wKvj9JkPm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/n70zH/btrGLgOt5zn/NqiQxycmgcK0wKvj9JkPm1/img.png&quot; data-alt=&quot;Next.js 사이트의 Response&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/n70zH/btrGLgOt5zn/NqiQxycmgcK0wKvj9JkPm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fn70zH%2FbtrGLgOt5zn%2FNqiQxycmgcK0wKvj9JkPm1%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;614&quot; height=&quot;669&quot; data-origin-width=&quot;614&quot; data-origin-height=&quot;669&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Next.js 사이트의 Response&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;상단은 기존 React 처럼 모든 개발 내용을 가지고 있는 javscript가 import 되어있고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반 웹페이지 처럼 Tag도 같이 제공되고 있다..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 페이지를 제공할 때 2가지의 장점이 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 이전 글에서 언급한 검색봇의 문제를 해결할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 검색 봇이 크롤링을 수행할 때 이제는 페이지 안의 많은 내용을 취득할 수 있게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 브라우저의 렌더링 속도가 빨라진다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- React의 경우 모든 소스코드가 Javascript로 이루어져 있고 Javascript의 실행이 끝나기 전까지는 화면에 아무것도 출력되지 않는다. 하지만 Next.js로 구성된 페이지는 렌더링이 완료된 첫 화면의 데이터가 있기때문에 완벽하진 않더라도 Javscript의 실행이 끝나기 전에도 페이지를 어느정도 이용할 수 있다.&lt;/p&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;Next.js에서는 추가적으로 브라우저에서 URL 포워딩 등 Front-End Level에서의 페이지, URL등의 접근과 개발이 가능해진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Web/React</category>
      <author>보노남편</author>
      <guid isPermaLink="true">https://bonohubby.tistory.com/21</guid>
      <comments>https://bonohubby.tistory.com/entry/Nextjs-%EC%97%90%EC%84%9C-%EC%A0%9C%EA%B3%B5%ED%95%98%EB%8A%94-%EA%B8%B0%EC%88%A0%EB%93%A4#entry21comment</comments>
      <pubDate>Thu, 7 Jul 2022 21:43:02 +0900</pubDate>
    </item>
    <item>
      <title>Next.js 소개 (1. React에서 지원하지 못하는 것)</title>
      <link>https://bonohubby.tistory.com/entry/Nextjs-%EC%86%8C%EA%B0%9C</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;일반 적으로 웹 페이지는 HTML, CSS, Javascript 3가지의 언어로 구성되어 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 3가지의 언어로 구성된 페이지를 서버에서 다운받고 클라이언트인 브라우저에서 로드하여 렌더링 하면..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재의 페이지가 출력된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;544&quot; data-origin-height=&quot;471&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brOgGw/btrGKqjzffI/bzgwkPta3GbHgBEQ9BusyK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brOgGw/btrGKqjzffI/bzgwkPta3GbHgBEQ9BusyK/img.png&quot; data-alt=&quot;브라우저의 렌더링 과정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brOgGw/btrGKqjzffI/bzgwkPta3GbHgBEQ9BusyK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrOgGw%2FbtrGKqjzffI%2FbzgwkPta3GbHgBEQ9BusyK%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;544&quot; height=&quot;471&quot; data-origin-width=&quot;544&quot; data-origin-height=&quot;471&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;브라우저의 렌더링 과정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제 네이버 홈페이지에 접속해 응답받은 파일을 보면 HTML, CSS, Javscript로 구성되어 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;808&quot; data-origin-height=&quot;687&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1jKq4/btrGGQwQrcZ/AbZqWwohJWTk4PoR0Z1BY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1jKq4/btrGGQwQrcZ/AbZqWwohJWTk4PoR0Z1BY1/img.png&quot; data-alt=&quot;네이버의 Response 데이터&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1jKq4/btrGGQwQrcZ/AbZqWwohJWTk4PoR0Z1BY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1jKq4%2FbtrGGQwQrcZ%2FAbZqWwohJWTk4PoR0Z1BY1%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;808&quot; height=&quot;687&quot; data-origin-width=&quot;808&quot; data-origin-height=&quot;687&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;네이버의 Response 데이터&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;p data-ke-size=&quot;size16&quot;&gt;요즘 많이 사용하는 React와 Angular 등의 홈페이지에서는 파일이 어떻게 구성되어 있을까?&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;612&quot; data-origin-height=&quot;433&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8D0WO/btrGM4fsyOG/cG6hZLTcb0k3J1FHAyySyK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8D0WO/btrGM4fsyOG/cG6hZLTcb0k3J1FHAyySyK/img.png&quot; data-alt=&quot;React 사이트의 Response 데이터&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8D0WO/btrGM4fsyOG/cG6hZLTcb0k3J1FHAyySyK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8D0WO%2FbtrGM4fsyOG%2FcG6hZLTcb0k3J1FHAyySyK%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;612&quot; height=&quot;433&quot; data-origin-width=&quot;612&quot; data-origin-height=&quot;433&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;React 사이트의 Response 데이터&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내용이 하나도 없다. 아까 예시의 네이버에서는 홈페이지에서 보이는 글, 그림 등이 모두 HTML에서 Tag로 구성되어 있는것을 확인할 수 있었는데 React로 개발한 페이지는 아무 내용을 확인 할 수 없다. 하지만 브라우저에서는 렌더랑 완료된 화면이 동작한다. 어떻게 된 것일까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React의 모든 소스코드는 Javascript로 구성되어있다. 브라우저에서는 Javascript의 내용대로 페이지를 만들고 우리는 브라우저에서 React로 만든 페이지를 사용하는 방식이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;569&quot; data-origin-height=&quot;233&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Qbh5M/btrGKHrR6XP/HsgqG0vakMWeCb5UNErRPk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Qbh5M/btrGKHrR6XP/HsgqG0vakMWeCb5UNErRPk/img.png&quot; data-alt=&quot;React 개발환경&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Qbh5M/btrGKHrR6XP/HsgqG0vakMWeCb5UNErRPk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQbh5M%2FbtrGKHrR6XP%2FHsgqG0vakMWeCb5UNErRPk%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;569&quot; height=&quot;233&quot; data-origin-width=&quot;569&quot; data-origin-height=&quot;233&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;React 개발환경&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;React는 개발자에게 훌륭한 개발 환경을 제공한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예시의 네이버의 페이지를 개발하려면 HTML, Javascript, CSS 3개의 문법을 모두 사용해야 하지만&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React는 Javascript 만으로 모든것을 개발할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 모든 것에는 Trade-Off. 장점과 단점이 있는데 React의 단점은 크롤링이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;검색엔진은 웹페이지를 크롤링하고 해당 정보를 기반하여 검색정보를 구성한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;네이버의 경우 크롤링 엔진이 네이버 페이지를 다운받으면 메인화면의 모든 내용이 포함되어 있어서 검색 정보를 구성하기 쉽지만&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React로 구성된 홈페이지의 경우 검색봇이 크롤링을 수행해도 &amp;lt;title&amp;gt;,&amp;nbsp; &amp;lt;meta&amp;gt; Tag에 기입된 텍스트 외에는 정보를 얻을 수 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Next.js의 기술중 하나는 이 부분을 해결하여 지원해 준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Web/React</category>
      <author>보노남편</author>
      <guid isPermaLink="true">https://bonohubby.tistory.com/20</guid>
      <comments>https://bonohubby.tistory.com/entry/Nextjs-%EC%86%8C%EA%B0%9C#entry20comment</comments>
      <pubDate>Thu, 7 Jul 2022 21:21:55 +0900</pubDate>
    </item>
    <item>
      <title>JDK 종류 총 정리 Oracle JDK, OpenJDK, Adpot, Corretto, Zulu</title>
      <link>https://bonohubby.tistory.com/entry/JDK-%EC%A2%85%EB%A5%98-%EC%B4%9D-%EC%A0%95%EB%A6%AC-Oracle-JDK-OpenJDK-Adpot-Corretto-Zulu</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;여러 가지의 JDK가 있는 이유&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 큰 이유는 라이센스이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최신 버전의 Oracle JDK 17, 18의 경우 &quot;Oracle No-Fee Terms and Conditions (NFTC)&quot; 라이센스가 적용된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용 가능한 목적과 대상은 다음과 같으며 회사에서 상용목적으로는 사용이 불가하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;internally use the unmodified Programs for the purposes of developing, testing, prototyping and demonstrating your applications, and running the Program for Your own personal use or internal business operations&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Java 소스코드 자체는 오픈소스이다. 오픈소스인 Java 소스코드를 빌드하여 사용하는 것에는 거의 제약이 없지만&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Oracle에서 제공하는 설치버전의 JDK에는 위의 NFTC 라이센스가 적용되어 회사에서는 사용할 수 없다.&lt;br /&gt;이것이 다양한 버전의 JDK가 있는 이유이다.&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;주요 JDK&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Oracle JDK&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- Oracle에서 제공하는 JDK. 구독을 통해 유료 라이센스를 구매할 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;OpenJDK&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 유명한 무료 JDK. 하지만 OpenJDK를 직접 사용하는것 보다는, OpenJDK 기반으로 빌드된 JDK 사용을 추천한다.&lt;/p&gt;
&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;Azul Zulu&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 아줄 줄루. 재미있게 읽을 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp;인지도가 높은 JDK 중 하나이며, Mac 등에서 사용할 수 있는 바이너리를 제공하는 것이 특징이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 또한 Azul에서는 Zing이라는 고성능 유료 JDK를 판매하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.azul.com/downloads/?package=jdk#download-openjdk&quot;&gt;https://www.azul.com/downloads/?package=jdk#download-openjdk&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1649335286131&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Downloads&quot; data-og-description=&quot;Free for evaluation and development&quot; data-og-host=&quot;www.azul.com&quot; data-og-source-url=&quot;https://www.azul.com/downloads/?package=jdk#download-openjdk&quot; data-og-url=&quot;https://www.azul.com/downloads/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/UMBfu/hyNXu6ntRh/wHO6g34KyTxOG9PzbVMc6k/img.png?width=1164&amp;amp;height=510&amp;amp;face=0_0_1164_510&quot;&gt;&lt;a href=&quot;https://www.azul.com/downloads/?package=jdk#download-openjdk&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.azul.com/downloads/?package=jdk#download-openjdk&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/UMBfu/hyNXu6ntRh/wHO6g34KyTxOG9PzbVMc6k/img.png?width=1164&amp;amp;height=510&amp;amp;face=0_0_1164_510');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Downloads&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Free for evaluation and development&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.azul.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Amazon&amp;nbsp;Corretto&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- AWS에서 제공하는 JDK. AWS에서 쉽게 사용 가능하며, AWS 환경이 아니더라도 사용할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- Amazon에서 업데이트를 지원해 주는 것이 특징이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://aws.amazon.com/ko/corretto&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://aws.amazon.com/ko/corretto&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1649335610666&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;company&quot; data-og-title=&quot;Amazon Corretto 프로덕션용 OpenJDK 배포&quot; data-og-description=&quot;Amazon Corretto를 사용하여 클라우드, 온프레미스 및 로컬 시스템에서 동일한 환경을 실행할 수 있습니다. Corretto 8는 Linux, Windows, macOS, 및 Docker를 지원하며, Corretto 11는 Linux, Windows 및 macOS를 지원합&quot; data-og-host=&quot;aws.amazon.com&quot; data-og-source-url=&quot;https://aws.amazon.com/ko/corretto&quot; data-og-url=&quot;https://aws.amazon.com/ko/corretto/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/XdJi9/hyNXs1KHH2/ic8GgduASSCzqpVabKIMa1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/cBpt27/hyNXjDL0YP/U8WZ16dPs3AqGpKcINkj0K/img.png?width=179&amp;amp;height=109&amp;amp;face=0_0_179_109&quot;&gt;&lt;a href=&quot;https://aws.amazon.com/ko/corretto&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://aws.amazon.com/ko/corretto&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/XdJi9/hyNXs1KHH2/ic8GgduASSCzqpVabKIMa1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/cBpt27/hyNXjDL0YP/U8WZ16dPs3AqGpKcINkj0K/img.png?width=179&amp;amp;height=109&amp;amp;face=0_0_179_109');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Amazon Corretto 프로덕션용 OpenJDK 배포&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Amazon Corretto를 사용하여 클라우드, 온프레미스 및 로컬 시스템에서 동일한 환경을 실행할 수 있습니다. Corretto 8는 Linux, Windows, macOS, 및 Docker를 지원하며, Corretto 11는 Linux, Windows 및 macOS를 지원합&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;aws.amazon.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Temurin&lt;/b&gt; (AdoptOpenJDK)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- Eclipse에서 제공하는 JDK. Eclipse를 사용한다면 Temurin 설치를 추천한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://adoptium.net/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://adoptium.net/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1649336002940&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Home&quot; data-og-description=&quot;Eclipse Adoptium provides prebuilt OpenJDK binaries from a fully open source set of build scripts and infrastructure. Supported platforms include Linux, macOS, Windows, ARM, Solaris, and AIX.&quot; data-og-host=&quot;adoptium.net&quot; data-og-source-url=&quot;https://adoptium.net/&quot; data-og-url=&quot;https://adoptium.net/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/etdqqE/hyNXtzCqom/Gy8DIYGn1VXxgkQBK1fk2k/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://adoptium.net/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://adoptium.net/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/etdqqE/hyNXtzCqom/Gy8DIYGn1VXxgkQBK1fk2k/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Home&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Eclipse Adoptium provides prebuilt OpenJDK binaries from a fully open source set of build scripts and infrastructure. Supported platforms include Linux, macOS, Windows, ARM, Solaris, and AIX.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;adoptium.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;JDK 선택 방법&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 라이센스 확인&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 사용 목적에 따라서 라이센스 확인이 가장 중요하다. Oracle JDK를 제외하고,&lt;br /&gt;&amp;nbsp; &amp;nbsp;위에 소개된 JDK는 모두 무료로 사용할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 업데이트 지원&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 보안 패치 등을 포함하여 업데이트 지원은 중요하다. 각 JDK 제공 업체의 업데이트 플랜을 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 예로 Zulu의 경우 Java 17 LTS 버전은 2029년 까지의 업데이트를 보장한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.azul.com/products/azul-support-roadmap/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.azul.com/products/azul-support-roadmap/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1649338176959&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Azul Support Roadmap&quot; data-og-description=&quot;Azul Product Support Lifecycle Azul product releases align with Oracle&amp;rsquo;s and OpenJDK&amp;rsquo;s general availability for releases of Java SE. Azul customers have access to bug fixes, enhancements, and quarterly and emergency security updates. Azul&amp;rsquo;s commercia&quot; data-og-host=&quot;www.azul.com&quot; data-og-source-url=&quot;https://www.azul.com/products/azul-support-roadmap/&quot; data-og-url=&quot;https://www.azul.com/products/azul-support-roadmap/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Ie08f/hyNXhsyXa5/fWKeJArvqkbsYCm9SUNLR1/img.png?width=1164&amp;amp;height=510&amp;amp;face=0_0_1164_510,https://scrap.kakaocdn.net/dn/shovB/hyNXikCuDs/r9P6T6QNsHANWIbUru5eQk/img.jpg?width=780&amp;amp;height=740&amp;amp;face=570_214_633_283&quot;&gt;&lt;a href=&quot;https://www.azul.com/products/azul-support-roadmap/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.azul.com/products/azul-support-roadmap/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Ie08f/hyNXhsyXa5/fWKeJArvqkbsYCm9SUNLR1/img.png?width=1164&amp;amp;height=510&amp;amp;face=0_0_1164_510,https://scrap.kakaocdn.net/dn/shovB/hyNXikCuDs/r9P6T6QNsHANWIbUru5eQk/img.jpg?width=780&amp;amp;height=740&amp;amp;face=570_214_633_283');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Azul Support Roadmap&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Azul Product Support Lifecycle Azul product releases align with Oracle&amp;rsquo;s and OpenJDK&amp;rsquo;s general availability for releases of Java SE. Azul customers have access to bug fixes, enhancements, and quarterly and emergency security updates. Azul&amp;rsquo;s commercia&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.azul.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. TCK 인증 확인&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;TCK는 JDK의 완성도를 검증하는 인증으로, JDK의 TCK 인증 유무 확인도 중요하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소개한 Corretto, Zulu, Temurin은 모두 TCK를 통과한 JDK 이다.&lt;/p&gt;</description>
      <category>Programming Language/Java</category>
      <category>AdoptOpenJDK</category>
      <category>Corretto</category>
      <category>java</category>
      <category>JDK</category>
      <category>openjdk</category>
      <category>oracle</category>
      <category>OracleJDK</category>
      <category>SUN</category>
      <category>Temurin</category>
      <category>zulu</category>
      <author>보노남편</author>
      <guid isPermaLink="true">https://bonohubby.tistory.com/18</guid>
      <comments>https://bonohubby.tistory.com/entry/JDK-%EC%A2%85%EB%A5%98-%EC%B4%9D-%EC%A0%95%EB%A6%AC-Oracle-JDK-OpenJDK-Adpot-Corretto-Zulu#entry18comment</comments>
      <pubDate>Thu, 7 Apr 2022 22:19:35 +0900</pubDate>
    </item>
    <item>
      <title>Java 버전 관리 도구 &amp;quot;SDKMAN&amp;quot;</title>
      <link>https://bonohubby.tistory.com/entry/Java-%EB%B2%84%EC%A0%84-%EA%B4%80%EB%A6%AC-%EB%8F%84%EA%B5%AC-SDKMAN</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;여러 개발 도구의 버전 관리 방법&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보통 개발을 시작할 때, UI Framework 등 사용이 필요한 라이브러리를 선정하고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용할 라이브러리가 실행되는 개발 환경 구축하는 순서로 진행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제는 여러 개발 과제가 여러 개인 경우 Python, Node.js, Java 등의 버전을&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각각의 과제에서 달리하여 사용이 필요할 때가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Python의 경우 pyenv가 유명하며 Anaconda를 설치하여 해결할 수도 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/pyenv/pyenv&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/pyenv/pyenv&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1649331344594&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;GitHub - pyenv/pyenv: Simple Python version management&quot; data-og-description=&quot;Simple Python version management. Contribute to pyenv/pyenv development by creating an account on GitHub.&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/pyenv/pyenv&quot; data-og-url=&quot;https://github.com/pyenv/pyenv&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/VaHje/hyNXvKTzH8/GCDxRkl5IGU4GU4h1pm9m0/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot;&gt;&lt;a href=&quot;https://github.com/pyenv/pyenv&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/pyenv/pyenv&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/VaHje/hyNXvKTzH8/GCDxRkl5IGU4GU4h1pm9m0/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;GitHub - pyenv/pyenv: Simple Python version management&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Simple Python version management. Contribute to pyenv/pyenv development by creating an account on GitHub.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.anaconda.com/products/distribution&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.anaconda.com/products/distribution&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1649331393528&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Anaconda | Anaconda Distribution&quot; data-og-description=&quot;Anaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine.&quot; data-og-host=&quot;www.anaconda.com&quot; data-og-source-url=&quot;https://www.anaconda.com/products/distribution&quot; data-og-url=&quot;https://www.anaconda.com/products/distribution&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cjsyaX/hyNXxvk14u/jbiUBk1YhxC1OXXzDYbxgk/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/bzeS26/hyNXheXNVY/XknHAvEqKiGXtJyaKw2zv0/img.jpg?width=796&amp;amp;height=418&amp;amp;face=0_0_796_418,https://scrap.kakaocdn.net/dn/cm40E4/hyNXxaVT6N/SCN4oL4lBOpxIwxEOMPMKk/img.png?width=650&amp;amp;height=650&amp;amp;face=0_0_650_650&quot;&gt;&lt;a href=&quot;https://www.anaconda.com/products/distribution&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.anaconda.com/products/distribution&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cjsyaX/hyNXxvk14u/jbiUBk1YhxC1OXXzDYbxgk/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/bzeS26/hyNXheXNVY/XknHAvEqKiGXtJyaKw2zv0/img.jpg?width=796&amp;amp;height=418&amp;amp;face=0_0_796_418,https://scrap.kakaocdn.net/dn/cm40E4/hyNXxaVT6N/SCN4oL4lBOpxIwxEOMPMKk/img.png?width=650&amp;amp;height=650&amp;amp;face=0_0_650_650');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Anaconda | Anaconda Distribution&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Anaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.anaconda.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Node.js의 경우 NVM을 사용하여 버전 전환이 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/nvm-sh/nvm&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/nvm-sh/nvm&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1649331452977&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions&quot; data-og-description=&quot;Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions - GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active nod...&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/nvm-sh/nvm&quot; data-og-url=&quot;https://github.com/nvm-sh/nvm&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Ncwir/hyNXt7mILC/NT7OBpnzrmehMkW9oEtG41/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot;&gt;&lt;a href=&quot;https://github.com/nvm-sh/nvm&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/nvm-sh/nvm&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Ncwir/hyNXt7mILC/NT7OBpnzrmehMkW9oEtG41/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions - GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active nod...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Java는 SDKMAN을 사용하여 다양한 버전을 설치하고 전환/관리 할 수 있다.&lt;/p&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;Java의 버전 관리 방법&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. SDKMAN 설치&lt;/p&gt;
&lt;pre id=&quot;code_1649331569189&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ curl -s &quot;https://get.sdkman.io&quot; | bash&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. SDKMAN 적용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;새로운 터미널을 열거나 아래 명령어를 실행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;version이 출력되면 설치 완료.&lt;/p&gt;
&lt;pre id=&quot;code_1649331663154&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ source &quot;$HOME/.sdkman/bin/sdkman-init.sh&quot;
$ sdk version&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;725&quot; data-origin-height=&quot;201&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cBhlTU/btryLAzQgIu/ZNjXxXYo1kIIxynq2KcKrK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cBhlTU/btryLAzQgIu/ZNjXxXYo1kIIxynq2KcKrK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cBhlTU/btryLAzQgIu/ZNjXxXYo1kIIxynq2KcKrK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcBhlTU%2FbtryLAzQgIu%2FZNjXxXYo1kIIxynq2KcKrK%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;725&quot; height=&quot;201&quot; data-origin-width=&quot;725&quot; data-origin-height=&quot;201&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. SDKMAN을 통해 설치 가능한 Java 조회&lt;/p&gt;
&lt;pre id=&quot;code_1649332000477&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ sdk list java&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;726&quot; data-origin-height=&quot;846&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bv6UCZ/btryKu093KP/aBjJABBw4kjO33ieOk7I11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bv6UCZ/btryKu093KP/aBjJABBw4kjO33ieOk7I11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bv6UCZ/btryKu093KP/aBjJABBw4kjO33ieOk7I11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbv6UCZ%2FbtryKu093KP%2FaBjJABBw4kjO33ieOk7I11%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;726&quot; height=&quot;846&quot; data-origin-width=&quot;726&quot; data-origin-height=&quot;846&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;4. SDKMAN을 통해 Java 설치&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 어떤 버전을 설치해야 할지 잘 모른다면 아래 명령어를 통해 기본버전(최신버전) 설치가 가능하다.&lt;/p&gt;
&lt;pre id=&quot;code_1649332567261&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ sdk install java&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 특정 버전 설치가 필요하면, 뒤에 이름을 명시해 준다.&lt;/p&gt;
&lt;pre id=&quot;code_1649332723297&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ sdk install java 17.0.2-zulu&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 선택한 버전이 잘 설치되었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;745&quot; data-origin-height=&quot;76&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1Dar2/btryKX28QcD/sKE50i2UkTTnTkoonFfSN0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1Dar2/btryKX28QcD/sKE50i2UkTTnTkoonFfSN0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1Dar2/btryKX28QcD/sKE50i2UkTTnTkoonFfSN0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1Dar2%2FbtryKX28QcD%2FsKE50i2UkTTnTkoonFfSN0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;745&quot; height=&quot;76&quot; data-origin-width=&quot;745&quot; data-origin-height=&quot;76&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. Java 버전 변경&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 위 방법으로 여러 개의 Java를 설치하고 사용할 Java를 선택할 수 있다.17.0.2-tem 버전을 선택하는 방법이다.&lt;/p&gt;
&lt;pre id=&quot;code_1649333004286&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ sdk use java 17.0.2-tem&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 선택한 버전으로 잘 변경되었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;716&quot; data-origin-height=&quot;76&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cx5T2A/btryJjTDJIn/BF2z3HEEM2VgUpuDyfZA9k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cx5T2A/btryJjTDJIn/BF2z3HEEM2VgUpuDyfZA9k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cx5T2A/btryJjTDJIn/BF2z3HEEM2VgUpuDyfZA9k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcx5T2A%2FbtryJjTDJIn%2FBF2z3HEEM2VgUpuDyfZA9k%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;716&quot; height=&quot;76&quot; data-origin-width=&quot;716&quot; data-origin-height=&quot;76&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;6. Java 주요 버전 및 추천&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 사용 가능한 LTS 버전은 &lt;b&gt;Java 8,&amp;nbsp;Java 11,&amp;nbsp;Java 17&lt;/b&gt;이다. 이 3 버전 중에서 사용하는 것을 추천한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PS. sdkman은 Java를 포함하여 gradle, Kotlin, Maven 등 다양한 SDK의 설치를 지원한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출처 : &lt;a href=&quot;https://sdkman.io/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://sdkman.io/&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&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;여러가지 Java 종류에 대해 궁금하다면?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://bonohubby.com/entry/JDK-종류-총-정리-Oracle-JDK-OpenJDK-Adpot-Corretto-Zulu&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2022.04.07 - [분류 전체보기] - JDK 종류 총 정리 Oracle JDK, OpenJDK, Adpot, Corretto, Zulu&lt;/a&gt;&lt;/p&gt;</description>
      <category>Programming Language/Java</category>
      <category>Corretto</category>
      <category>java</category>
      <category>JDK</category>
      <category>oracle</category>
      <category>sdkman</category>
      <category>Temurin</category>
      <category>version</category>
      <category>zulu</category>
      <category>버전</category>
      <category>자바</category>
      <author>보노남편</author>
      <guid isPermaLink="true">https://bonohubby.tistory.com/17</guid>
      <comments>https://bonohubby.tistory.com/entry/Java-%EB%B2%84%EC%A0%84-%EA%B4%80%EB%A6%AC-%EB%8F%84%EA%B5%AC-SDKMAN#entry17comment</comments>
      <pubDate>Thu, 7 Apr 2022 21:09:41 +0900</pubDate>
    </item>
    <item>
      <title>Elasticsearch Build 방법</title>
      <link>https://bonohubby.tistory.com/entry/Elasticsearch-Build-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;Prerequisite&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Elasticsearch 빌드를 위해서는 Java가 필요하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8.x 버전 빌드에는 Java 17 버전이 필요하며&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7.x 버전 빌드에는 Java 11 버전이 필요하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ubuntu 환경에서 Elasticsearch 8.1.2 버전 기준 빌드 방법은 다음과 같다.&lt;/p&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;Build From Source&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. Java 17 다운로드&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- Java 설치에는 여러 가지 방법이 있는데, 필자는 Azul Zulu를 통한 설치를 추천한다.&lt;/p&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;- 아래 사이트에서 .deb 버전으로 다운로드한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.azul.com/downloads/?version=java-17-lts&amp;amp;os=ubuntu&amp;amp;architecture=x86-64-bit&amp;amp;package=jdk&quot;&gt;https://www.azul.com/downloads/?version=java-17-lts&amp;amp;os=ubuntu&amp;amp;architecture=x86-64-bit&amp;amp;package=jdk&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1649252673292&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Downloads&quot; data-og-description=&quot;Free for evaluation and development&quot; data-og-host=&quot;www.azul.com&quot; data-og-source-url=&quot;https://www.azul.com/downloads/?version=java-17-lts&amp;amp;os=ubuntu&amp;amp;architecture=x86-64-bit&amp;amp;package=jdk&quot; data-og-url=&quot;https://www.azul.com/downloads/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cxEHLW/hyNVWCvxUx/zCSiK9O0TuJoNHgK5KPwzK/img.png?width=1164&amp;amp;height=510&amp;amp;face=0_0_1164_510&quot;&gt;&lt;a href=&quot;https://www.azul.com/downloads/?version=java-17-lts&amp;amp;os=ubuntu&amp;amp;architecture=x86-64-bit&amp;amp;package=jdk&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.azul.com/downloads/?version=java-17-lts&amp;amp;os=ubuntu&amp;amp;architecture=x86-64-bit&amp;amp;package=jdk&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cxEHLW/hyNVWCvxUx/zCSiK9O0TuJoNHgK5KPwzK/img.png?width=1164&amp;amp;height=510&amp;amp;face=0_0_1164_510');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Downloads&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Free for evaluation and development&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.azul.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. Java 17 설치&lt;/p&gt;
&lt;pre id=&quot;code_1649252842600&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ sudo apt install ./zulu17.32.13-ca-jdk17.0.2-linux_amd64.deb&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. Elasticsearch 소스 다운로드&lt;/p&gt;
&lt;pre id=&quot;code_1649252333097&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git clone https://github.com/elastic/elasticsearch.git&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;4. Elasticsearch 버전 선택&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 사용 가능한 버전은 릴리즈 페이지에서 확인할 수 있다.&lt;br /&gt;&amp;nbsp; &lt;a href=&quot;https://github.com/elastic/elasticsearch/releases&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/elastic/elasticsearch/releases&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1649253063700&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;Releases &amp;middot; elastic/elasticsearch&quot; data-og-description=&quot;Free and Open, Distributed, RESTful Search Engine. Contribute to elastic/elasticsearch development by creating an account on GitHub.&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/elastic/elasticsearch/releases&quot; data-og-url=&quot;https://github.com/elastic/elasticsearch/releases&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/MKSd5/hyNXpXiSEs/aG3zacuk5rxRSDK29ZlWCK/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot;&gt;&lt;a href=&quot;https://github.com/elastic/elasticsearch/releases&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/elastic/elasticsearch/releases&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/MKSd5/hyNXpXiSEs/aG3zacuk5rxRSDK29ZlWCK/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Releases &amp;middot; elastic/elasticsearch&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Free and Open, Distributed, RESTful Search Engine. Contribute to elastic/elasticsearch development by creating an account on GitHub.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- v8.1.2 버전을 선택한다.&lt;/p&gt;
&lt;pre id=&quot;code_1649253203563&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ cd elasticsearch
$ git checkout tags/v8.1.2&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 아래와 같이 &quot;Note: switching to 'tags/v8.1.2'가 출력되면 성공&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;924&quot; data-origin-height=&quot;333&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cZ3YKk/btryDjM5u2g/GXB9rWdac0xJ7Onz0ns7lk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cZ3YKk/btryDjM5u2g/GXB9rWdac0xJ7Onz0ns7lk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cZ3YKk/btryDjM5u2g/GXB9rWdac0xJ7Onz0ns7lk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcZ3YKk%2FbtryDjM5u2g%2FGXB9rWdac0xJ7Onz0ns7lk%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;924&quot; height=&quot;333&quot; data-origin-width=&quot;924&quot; data-origin-height=&quot;333&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. Build &lt;span&gt;Elasticsearch&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- Build를 실행하는 OS에서 사용할 수 있는 ES 버전으로 빌드를 수행한다.&lt;br /&gt;&amp;nbsp; &amp;nbsp;(필자의 PC 환경으로 5분 소요)&lt;/p&gt;
&lt;pre id=&quot;code_1649253399117&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ ./gradlew localDistro&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;6. Build 결과 확인&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 빌드가 완료되면 build 폴더가 생성되어 있고 &lt;i&gt;build/distribution/local/elasticsearch-8.1.2-SNAPSHOT&lt;/i&gt; 위치에서 결과물을 확인할 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1649254188039&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ cd build/distribution/local/elasticsearch-8.1.2-SNAPSHOT&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;787&quot; data-origin-height=&quot;223&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vcI9y/btryFM8jeNI/LBc7uDpf6uh8qJyO0heuN1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vcI9y/btryFM8jeNI/LBc7uDpf6uh8qJyO0heuN1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vcI9y/btryFM8jeNI/LBc7uDpf6uh8qJyO0heuN1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvcI9y%2FbtryFM8jeNI%2FLBc7uDpf6uh8qJyO0heuN1%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;787&quot; height=&quot;223&quot; data-origin-width=&quot;787&quot; data-origin-height=&quot;223&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;7. Elasticsearch 실행&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- bin 폴더로 이동하여 elasticsearch 파일을 실행한다.&lt;/p&gt;
&lt;pre id=&quot;code_1649254146441&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ cd bin
$ ./elasticsearch&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;947&quot; data-origin-height=&quot;290&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5BQr9/btryEuHjVg7/v4WhRT8D1ycolqgHCT9HJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5BQr9/btryEuHjVg7/v4WhRT8D1ycolqgHCT9HJK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5BQr9/btryEuHjVg7/v4WhRT8D1ycolqgHCT9HJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5BQr9%2FbtryEuHjVg7%2Fv4WhRT8D1ycolqgHCT9HJK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;947&quot; height=&quot;290&quot; data-origin-width=&quot;947&quot; data-origin-height=&quot;290&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;8. Elasticsearch 테스트&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 8.x 버전부터는 접속에 인증서가 필요하다. &lt;i&gt;config/certs/http_ca.crt&lt;/i&gt; 를 사용하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- http_ca.crt를 적절한 위치에 복사하고 아래 명령어 실행. 초기 비밀번호는 실행된 Elasticsearch 콘솔에 출력되어 있으니 사용한다.&lt;/p&gt;
&lt;pre id=&quot;code_1649254790501&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ curl --cacert http_ca.crt -u elastic https://localhost:9200&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- 빌드한 ES가 성공적으로 실행되고 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;564&quot; data-origin-height=&quot;342&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GV9RB/btryyAI2iST/spmk0I2k9kkToVagkout90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GV9RB/btryyAI2iST/spmk0I2k9kkToVagkout90/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GV9RB/btryyAI2iST/spmk0I2k9kkToVagkout90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGV9RB%2FbtryyAI2iST%2Fspmk0I2k9kkToVagkout90%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;564&quot; height=&quot;342&quot; data-origin-width=&quot;564&quot; data-origin-height=&quot;342&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;a href=&quot;https://github.com/elastic/elasticsearch&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/elastic/elasticsearch&lt;/a&gt;&lt;/p&gt;</description>
      <category>Data/Elasticsearch</category>
      <category>build</category>
      <category>elasticsearch</category>
      <category>Elasticsearch Build</category>
      <category>Elasticsearch 빌드</category>
      <category>es</category>
      <category>ES Build</category>
      <category>ES 빌드</category>
      <category>빌드</category>
      <category>엘라스틱서치</category>
      <author>보노남편</author>
      <guid isPermaLink="true">https://bonohubby.tistory.com/16</guid>
      <comments>https://bonohubby.tistory.com/entry/Elasticsearch-Build-%EB%B0%A9%EB%B2%95#entry16comment</comments>
      <pubDate>Wed, 6 Apr 2022 23:24:07 +0900</pubDate>
    </item>
    <item>
      <title>Ubuntu Docker 설치 방법</title>
      <link>https://bonohubby.tistory.com/entry/Ubuntu-Docker-%EC%84%A4%EC%B9%98-%EB%B0%A9%EB%B2%95</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;권장 OS&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Ubuntu Impish 21.10&lt;/li&gt;
&lt;li&gt;Ubuntu Hirsute 21.04&lt;/li&gt;
&lt;li&gt;Ubuntu Focal 20.04 (LTS)&lt;/li&gt;
&lt;li&gt;Ubuntu Bionic 18.04 (LTS)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;설치 방법&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 필요 패키지 설치&lt;/p&gt;
&lt;pre id=&quot;code_1649078961690&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ sudo apt-get update

$ sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release&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;2. Docker GPG Key 추가&lt;/p&gt;
&lt;pre id=&quot;code_1649079039600&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt; $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg&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;3. Docker Repository 추가&lt;/p&gt;
&lt;pre id=&quot;code_1649079126839&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ echo \
  &quot;deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable&quot; | sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&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;4. Docker 설치&lt;/p&gt;
&lt;pre id=&quot;code_1649079161054&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io&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;5. 설치된 Docker 버전 확인&lt;/p&gt;
&lt;pre id=&quot;code_1649079625915&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ sudo docker -v&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2022-04-04 기준 최신버전인 20.10.14 (2022-03-23) 버전이 잘 설치 되었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;346&quot; data-origin-height=&quot;41&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/crZXAF/btrysBzAg4y/rFlkYlpjpxgwl3jSm5g2A1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/crZXAF/btrysBzAg4y/rFlkYlpjpxgwl3jSm5g2A1/img.png&quot; data-alt=&quot;Way to check docker version&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/crZXAF/btrysBzAg4y/rFlkYlpjpxgwl3jSm5g2A1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcrZXAF%2FbtrysBzAg4y%2FrFlkYlpjpxgwl3jSm5g2A1%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;346&quot; height=&quot;41&quot; data-origin-width=&quot;346&quot; data-origin-height=&quot;41&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Way to check docker version&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://docs.docker.com/engine/release-notes/&quot;&gt;https://docs.docker.com/engine/release-notes/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1649090852924&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Docker Engine release notes&quot; data-og-description=&quot; &quot; data-og-host=&quot;docs.docker.com&quot; data-og-source-url=&quot;https://docs.docker.com/engine/release-notes/&quot; data-og-url=&quot;https://docs.docker.com/engine/release-notes/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bjMywj/hyNUrWGfHM/Mv19dFcfKKO540I8B6a3kK/img.png?width=129&amp;amp;height=128&amp;amp;face=0_0_129_128,https://scrap.kakaocdn.net/dn/bPz3iw/hyNUAe0dIy/PybQVcimU4GdVh3El8bme0/img.png?width=950&amp;amp;height=500&amp;amp;face=0_0_950_500&quot;&gt;&lt;a href=&quot;https://docs.docker.com/engine/release-notes/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://docs.docker.com/engine/release-notes/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bjMywj/hyNUrWGfHM/Mv19dFcfKKO540I8B6a3kK/img.png?width=129&amp;amp;height=128&amp;amp;face=0_0_129_128,https://scrap.kakaocdn.net/dn/bPz3iw/hyNUAe0dIy/PybQVcimU4GdVh3El8bme0/img.png?width=950&amp;amp;height=500&amp;amp;face=0_0_950_500');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Docker Engine release notes&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;docs.docker.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 테스트&lt;/p&gt;
&lt;pre id=&quot;code_1649079267397&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ sudo docker run hello-world&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래와 같이 메세지가 출력되면 성공&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;711&quot; data-origin-height=&quot;366&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zyeKQ/btrysBGmClE/4zsx68MkffowLGKW9k3hK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zyeKQ/btrysBGmClE/4zsx68MkffowLGKW9k3hK1/img.png&quot; data-alt=&quot;Run hello-world from docker&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zyeKQ/btrysBGmClE/4zsx68MkffowLGKW9k3hK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzyeKQ%2FbtrysBGmClE%2F4zsx68MkffowLGKW9k3hK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;711&quot; height=&quot;366&quot; data-origin-width=&quot;711&quot; data-origin-height=&quot;366&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Run hello-world from docker&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출처 : &lt;a href=&quot;https://docs.docker.com/engine/install/ubuntu/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://docs.docker.com/engine/install/ubuntu/&lt;/a&gt;&lt;/p&gt;</description>
      <category>Linux</category>
      <category>Docker</category>
      <category>install</category>
      <category>ubnutu</category>
      <category>도커</category>
      <category>설치</category>
      <category>우분투</category>
      <author>보노남편</author>
      <guid isPermaLink="true">https://bonohubby.tistory.com/15</guid>
      <comments>https://bonohubby.tistory.com/entry/Ubuntu-Docker-%EC%84%A4%EC%B9%98-%EB%B0%A9%EB%B2%95#entry15comment</comments>
      <pubDate>Mon, 4 Apr 2022 22:35:09 +0900</pubDate>
    </item>
    <item>
      <title>Elasticsearch License</title>
      <link>https://bonohubby.tistory.com/entry/Elasticsearch-License</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;2022-04-04 기준 Elasticsearch와 Kibana는 ELv2와 SSPL 두 개의 License를 제공하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7.11 이전 버전까지 포함하면 Apache 2.0 까지 총 3가지의 License를 사용할 수 있다.&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;2560&quot; data-origin-height=&quot;1894&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NB5sd/btrysBFZULG/SDZ08yXRlWCkIbwWhl9l21/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NB5sd/btrysBFZULG/SDZ08yXRlWCkIbwWhl9l21/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NB5sd/btrysBFZULG/SDZ08yXRlWCkIbwWhl9l21/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNB5sd%2FbtrysBFZULG%2FSDZ08yXRlWCkIbwWhl9l21%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;2560&quot; height=&quot;1894&quot; data-origin-width=&quot;2560&quot; data-origin-height=&quot;1894&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Elastic License 2.0 (ELv2)&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;주요 내용&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.elastic.co/kr/licensing/elastic-license&quot;&gt;Elastic License 2.0&lt;/a&gt;은 Elasticsearch와 Kibana의 모든 무료 및 유료 기능의 소스 코드와 Elastic의 배포에 적용됩니다. ELv2를 이용하는 우리의 목표는 어뷰징으로부터 보호하면서 가능한 한 많은 것을 허용하는 것입니다. 이 라이선스는 다음의 세 가지 간단한 제한 사항과 함께 사용, 수정, 파생 작품 생성 및 재배포를 할 수 있는 자유로운 권리를 허용합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;제품을 다른 사람에게 관리형 서비스(Managed Service)로 제공할 수 없습니다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;라이선스 키 기능을 우회하거나 라이선스 키로 보호되는 기능을 제거하거나 숨길 수 없습니다.&lt;/li&gt;
&lt;li&gt;라이선스, 저작권 또는 기타 통지(notice)를 제거하거나 숨길 수 없습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Elastic은 우리의 제품과 브랜드가&amp;nbsp;남용되는 것으로부터 보호하는 것에만 제한을 최소화하려고 노력했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;주의 사항&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ES와 Kibana는 소스코드가 공개되어있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/elastic/elasticsearch&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/elastic/elasticsearch&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1649065108040&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;GitHub - elastic/elasticsearch: Free and Open, Distributed, RESTful Search Engine&quot; data-og-description=&quot;Free and Open, Distributed, RESTful Search Engine. Contribute to elastic/elasticsearch development by creating an account on GitHub.&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/elastic/elasticsearch&quot; data-og-url=&quot;https://github.com/elastic/elasticsearch&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bty1MV/hyNUtGPlcB/QscZABfIRKSFFBuTeckY01/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot;&gt;&lt;a href=&quot;https://github.com/elastic/elasticsearch&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/elastic/elasticsearch&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bty1MV/hyNUtGPlcB/QscZABfIRKSFFBuTeckY01/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;GitHub - elastic/elasticsearch: Free and Open, Distributed, RESTful Search Engine&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Free and Open, Distributed, RESTful Search Engine. Contribute to elastic/elasticsearch development by creating an account on GitHub.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/elastic/kibana&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/elastic/kibana&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1649065141649&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;GitHub - elastic/kibana: Your window into the Elastic Stack&quot; data-og-description=&quot;Your window into the Elastic Stack. Contribute to elastic/kibana development by creating an account on GitHub.&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/elastic/kibana&quot; data-og-url=&quot;https://github.com/elastic/kibana&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cz3SLy/hyNVHQZ6qy/CGWTxQWypMa3K9gLUTkF9K/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot;&gt;&lt;a href=&quot;https://github.com/elastic/kibana&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/elastic/kibana&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cz3SLy/hyNVHQZ6qy/CGWTxQWypMa3K9gLUTkF9K/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;GitHub - elastic/kibana: Your window into the Elastic Stack&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Your window into the Elastic Stack. Contribute to elastic/kibana development by creating an account on GitHub.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소스코드 수정 금지에 대한 내용을 포함하고 있으며&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개인이 설치하여 사용하는 데에는 이슈가 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만 &lt;i&gt;&quot;제품을 다른 사람에게 관리형 서비스(Managed Service)로 제공할 수 없습니다.&quot;&lt;/i&gt; 항목을 조심해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서비스를 구성하고 고객이 ES API를 직접 사용하거나 Kibana에 직접 접속 후 기능 사용을 제공하고 있다면 라이센스에 위배된다.&lt;/p&gt;
&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;(ES 담당자와 컨설팅 필요!!)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.elastic.co/kr/subscriptions&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.elastic.co/kr/subscriptions&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1649065451187&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;구독 | Elastic Stack 제품 및 지원 | Elastic&quot; data-og-description=&quot;구독 수준, 요금제, Elastic Stack(Elasticsearch Kibana, Beats, Logstash)의 온-프레미스 배포에 대한 계층화된 기능, Elastic Cloud, Elastic Cloud Enterprise에 대해 알아보세요.&quot; data-og-host=&quot;www.elastic.co&quot; data-og-source-url=&quot;https://www.elastic.co/kr/subscriptions&quot; data-og-url=&quot;https://www.elastic.co/kr/subscriptions&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/nbOZm/hyNUyakxRQ/TL2rjgVcrpN1zKLiTKbWl0/img.png?width=1600&amp;amp;height=837&amp;amp;face=0_0_1600_837,https://scrap.kakaocdn.net/dn/5mGTY/hyNUrCd7iJ/Iog3svDxXaguwkotOzk9uk/img.png?width=1600&amp;amp;height=837&amp;amp;face=0_0_1600_837&quot;&gt;&lt;a href=&quot;https://www.elastic.co/kr/subscriptions&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.elastic.co/kr/subscriptions&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/nbOZm/hyNUyakxRQ/TL2rjgVcrpN1zKLiTKbWl0/img.png?width=1600&amp;amp;height=837&amp;amp;face=0_0_1600_837,https://scrap.kakaocdn.net/dn/5mGTY/hyNUrCd7iJ/Iog3svDxXaguwkotOzk9uk/img.png?width=1600&amp;amp;height=837&amp;amp;face=0_0_1600_837');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;구독 | Elastic Stack 제품 및 지원 | Elastic&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;구독 수준, 요금제, Elastic Stack(Elasticsearch Kibana, Beats, Logstash)의 온-프레미스 배포에 대한 계층화된 기능, Elastic Cloud, Elastic Cloud Enterprise에 대해 알아보세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.elastic.co&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;또한 소스코드를 직접 빌드하여 사용하는 것이 아닌, Elasticsearch와 Kibana 배포판(설치형)을 사용하는 경우 ELv2 라이센스가 자동 적용된다 (선택지가 없다).&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;필자의 경우 Docker로 배포되는 Elasticsearch와 Kibana를 사용하는데, 이 경우도 ELv2가 적용되어 있었다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Server Side Public License (SSPL)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SSPL은 MongoDB에서 사용하는 것으로 유명한 라이센스이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS 등 클라우드 서비스에서 오픈소스 서비스를 무분별하게(?) 상용화하여 서비스하는 것을 방지하는 것이 주목적이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(MongoDB를 통한 수익의 환원이 제대로 이루어지지 않아서 발의되었다고 한다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SSPL은 GPLv3에 기반을 두고 있으며 소스코드 수정 시 공개를 원칙으로 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ES와 Kibana를 빌드할 때 SSPL 라이센스를 선택할 수 있다.&lt;/p&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;Apache 2.0&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7.10 버전까지 소스코드에 대해서 제공했던 라이센스이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/elastic/elasticsearch/blob/7.10/LICENSE.txt&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/elastic/elasticsearch/blob/7.10/LICENSE.txt&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1649067436027&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;GitHub - elastic/elasticsearch: Free and Open, Distributed, RESTful Search Engine&quot; data-og-description=&quot;Free and Open, Distributed, RESTful Search Engine. Contribute to elastic/elasticsearch development by creating an account on GitHub.&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/elastic/elasticsearch/blob/7.10/LICENSE.txt&quot; data-og-url=&quot;https://github.com/elastic/elasticsearch&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bi4XmF/hyNVWHot8X/gDKZWBXXvO5oKg3Y4DPTZk/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot;&gt;&lt;a href=&quot;https://github.com/elastic/elasticsearch/blob/7.10/LICENSE.txt&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/elastic/elasticsearch/blob/7.10/LICENSE.txt&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bi4XmF/hyNVWHot8X/gDKZWBXXvO5oKg3Y4DPTZk/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;GitHub - elastic/elasticsearch: Free and Open, Distributed, RESTful Search Engine&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Free and Open, Distributed, RESTful Search Engine. Contribute to elastic/elasticsearch development by creating an account on GitHub.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7.11 버전부터는 Apache 2.0 라이센스를 제공하지 않고 ELv2와 SSPL 라이센스만 제공한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/elastic/elasticsearch/blob/7.11/LICENSE.txt&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/elastic/elasticsearch/blob/7.11/LICENSE.txt&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1649067453490&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;GitHub - elastic/elasticsearch: Free and Open, Distributed, RESTful Search Engine&quot; data-og-description=&quot;Free and Open, Distributed, RESTful Search Engine. Contribute to elastic/elasticsearch development by creating an account on GitHub.&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/elastic/elasticsearch/blob/7.11/LICENSE.txt&quot; data-og-url=&quot;https://github.com/elastic/elasticsearch&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cv9QBQ/hyNUDbENJA/BYvYvQ04s7E5jbMVkiatK0/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot;&gt;&lt;a href=&quot;https://github.com/elastic/elasticsearch/blob/7.11/LICENSE.txt&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/elastic/elasticsearch/blob/7.11/LICENSE.txt&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cv9QBQ/hyNUDbENJA/BYvYvQ04s7E5jbMVkiatK0/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;GitHub - elastic/elasticsearch: Free and Open, Distributed, RESTful Search Engine&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Free and Open, Distributed, RESTful Search Engine. Contribute to elastic/elasticsearch development by creating an account on GitHub.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출처 : &lt;a href=&quot;https://www.elastic.co/kr/pricing/faq/licensing&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.elastic.co/kr/pricing/faq/licensing&lt;/a&gt;&lt;/p&gt;</description>
      <category>Data/Elasticsearch</category>
      <category>Elastic License</category>
      <category>elasticsearch</category>
      <category>ELv2</category>
      <category>es</category>
      <category>kibana</category>
      <category>license</category>
      <category>SSPL</category>
      <category>라이센스</category>
      <category>엘라스틱서치</category>
      <category>키바나</category>
      <author>보노남편</author>
      <guid isPermaLink="true">https://bonohubby.tistory.com/14</guid>
      <comments>https://bonohubby.tistory.com/entry/Elasticsearch-License#entry14comment</comments>
      <pubDate>Mon, 4 Apr 2022 19:30:49 +0900</pubDate>
    </item>
    <item>
      <title>[AI &amp;amp; ML] 정확도, 정밀도, 재현율, F1 점수</title>
      <link>https://bonohubby.tistory.com/entry/AI-ML-%EC%A0%95%ED%99%95%EB%8F%84-%EC%A0%95%EB%B0%80%EB%8F%84-%EC%9E%AC%ED%98%84%EC%9C%A8-F1-%EC%A0%90%EC%88%98</link>
      <description>&lt;p&gt;&lt;b&gt;정확도&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TP / 전체 데이터&lt;/li&gt;
&lt;li&gt;TP(Ture Positive) : 올바르게 예측한 값&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;정밀도&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TP / (TP + FP)&lt;/li&gt;
&lt;li&gt;FP(False Positive) : 맞다고 예측한 값이 틀렸을 경우&lt;/li&gt;
&lt;li&gt;정밀도는 결국.. 예를 들어서 비가오는날을 예측하는 경우&lt;br /&gt;비가온다고 예측한 날에 비가 온 경우 / (비가온다고 예측한 날에 비가 온 경우 + 비가 온다고 예측했지만 비가 안온 경우) 이다.&lt;/li&gt;
&lt;li&gt;정확도 보다 정밀도를 따라 우산을 챙긴다면 우산을 챙겼을때 비가 오지 않는날이 있다고해도 실제 비가 왔을때 대비 할 수 있을 경우가 높아진다&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;재현율&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TP / (TP + FN)&lt;/li&gt;
&lt;li&gt;암환자를 예로 들때 암환자자라고 진단한 전체 환자 중 실제 암 환자 비율&lt;/li&gt;
&lt;li&gt;재현율이 높을수록 모델을 사용할 수록 암환자를 조기에 정확히 발견할 수 있다&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;F1 점수&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;정밀도와 재현율 값을 조화평균 하여 사용하는 값&lt;/li&gt;
&lt;li&gt;조화평균 = 2 * a * b / ( a + b )&lt;/li&gt;
&lt;li&gt;조화평균의 사용예로는 서울에서 부산을 왕복했을때 내려갔던 속도, 올라왔던 속도가 다를 경우 전체 왕복속도의 평균값을 찾기 등이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;모델을 평가하는데 기준이 되는 값 선정&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;데이터가 균등하게 분포되어 있다면 정확도를 사용한다&lt;/li&gt;
&lt;li&gt;데이터가 균등하지 않다면 F1 점수를 사용하는것이 좋다. 예를 들어 A/B/C/D 를 예측하는 모델1과 모델2가 있을경우&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;모델1: A의 예측능력은 높으나 B/C/D는 잘 예측하지 못함&lt;/li&gt;
&lt;li&gt;모델2: A/B/C/D 전체적으로 예측을 잘 하나 모델1보다 A예측 능력은 떨어짐&lt;br /&gt;이런 경우에 정답이 A인 데이터만 아주 많다면 모델1의 정확도 수치가 높을수 밖에 없고 이 경우 정확도로 모델을 선정하는것이 무조건 좋은 선택이라고 볼 수 없다. 이경우 F1 점수는 모델2가 높고, 모델2의 선정도 고려할 수 있다&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>AI &amp;amp; ML</category>
      <category>f1</category>
      <category>F1점수</category>
      <category>모델평가</category>
      <category>재현율</category>
      <category>정밀도</category>
      <category>정확도</category>
      <author>보노남편</author>
      <guid isPermaLink="true">https://bonohubby.tistory.com/12</guid>
      <comments>https://bonohubby.tistory.com/entry/AI-ML-%EC%A0%95%ED%99%95%EB%8F%84-%EC%A0%95%EB%B0%80%EB%8F%84-%EC%9E%AC%ED%98%84%EC%9C%A8-F1-%EC%A0%90%EC%88%98#entry12comment</comments>
      <pubDate>Thu, 22 Oct 2020 20:22:54 +0900</pubDate>
    </item>
    <item>
      <title>[AI &amp;amp; ML] 분류와 회귀</title>
      <link>https://bonohubby.tistory.com/entry/AI-ML-%EB%B6%84%EB%A5%98%EC%99%80-%ED%9A%8C%EA%B7%80</link>
      <description>&lt;p&gt;&lt;b&gt;분류&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;이진분류, 다중분류 등이 있으며 레이블이 예/아니오, 남자/여자, 동그라미/세모/네모 등과 같이 정해진 값측하는 학습이다&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;회귀&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;연속된 값을 예측&lt;/li&gt;
&lt;li&gt;사람의 키, 현재 온도 등 연속되는 수치를 예측하는 학습&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>AI &amp;amp; ML</category>
      <category>Ai</category>
      <category>ML</category>
      <category>분류</category>
      <category>회귀</category>
      <author>보노남편</author>
      <guid isPermaLink="true">https://bonohubby.tistory.com/11</guid>
      <comments>https://bonohubby.tistory.com/entry/AI-ML-%EB%B6%84%EB%A5%98%EC%99%80-%ED%9A%8C%EA%B7%80#entry11comment</comments>
      <pubDate>Thu, 22 Oct 2020 20:21:27 +0900</pubDate>
    </item>
    <item>
      <title>[AI &amp;amp; ML] 지도학습, 비지도 학습</title>
      <link>https://bonohubby.tistory.com/entry/AI-ML-%EC%A7%80%EB%8F%84%ED%95%99%EC%8A%B5-%EB%B9%84%EC%A7%80%EB%8F%84-%ED%95%99%EC%8A%B5</link>
      <description>&lt;p&gt;&lt;b&gt;지도학습&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;정답을 알려주면시 진행하는 학습&lt;/li&gt;
&lt;li&gt;데이터와 함께 레이블(정답)이 항상 제공되어야함&lt;/li&gt;
&lt;li&gt;실제값, 레이블, 타깃, 클래스, y값은 모두 같은 의미&lt;/li&gt;
&lt;li&gt;학습이 완료된 다음에는 레이블이 없는 데이터를 대상으로 하여 레이블을 예측할 수 있다.&lt;/li&gt;
&lt;li&gt;이때 예측된 값을 예측값, 분류값, y hat으로 표현&lt;/li&gt;
&lt;li&gt;지도 학습의 예로는 분류와 회귀가 대표적이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;비지도학습&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;레이블(정답)이 없는 데이터를 대상으로 진행하는 학습&lt;/li&gt;
&lt;li&gt;보통 데이터들의 유사점을 찾아서 그룹핑하는데 많이 사용&lt;/li&gt;
&lt;li&gt;비지도학습의 대표적인 예로는 군집화와 차원축소가 있음&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>AI &amp;amp; ML</category>
      <category>머신러닝</category>
      <category>비지도학습</category>
      <category>인공지능</category>
      <category>지도학습</category>
      <author>보노남편</author>
      <guid isPermaLink="true">https://bonohubby.tistory.com/10</guid>
      <comments>https://bonohubby.tistory.com/entry/AI-ML-%EC%A7%80%EB%8F%84%ED%95%99%EC%8A%B5-%EB%B9%84%EC%A7%80%EB%8F%84-%ED%95%99%EC%8A%B5#entry10comment</comments>
      <pubDate>Thu, 22 Oct 2020 20:20:22 +0900</pubDate>
    </item>
  </channel>
</rss>