<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>개발</title>
    <link>https://study-lag.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Tue, 7 Apr 2026 17:33:18 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>Study</managingEditor>
    <item>
      <title>데이터와 정보</title>
      <link>https://study-lag.tistory.com/77</link>
      <description>&lt;div&gt;
&lt;ol style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;데이터와 정보&lt;br /&gt;&amp;nbsp;- 데이터와 정보의 관계 &amp;rarr; I=P(D) &amp;rarr; &amp;ldquo;데이터를 대상으로 처리기에서 처리해서 얻은 결과가&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 정보이다.&amp;rdquo;&lt;br /&gt;&amp;nbsp;- 데이터 처리(정보처리) &amp;rarr; 데이터를 정보로 가공하고 변환하는 일련의 과정&lt;br /&gt;&amp;nbsp;- 데이터 &amp;rarr; 현실 세계로부터 관찰이나 측정을 통해 단순히 얻어지는 사실이나 값&lt;br /&gt;&amp;nbsp;- 정보 &amp;rarr; 어떤 상황에 대해 적절한 의사결정을 수행할 수 있게 하는 지식&lt;br /&gt;&amp;nbsp;- 모든 데이터는 유형에 무관하게 비트 패턴이라는 일관된 방식으로 표현&lt;br /&gt;&amp;nbsp;- 데이터의 표현 단위 &amp;rarr; 비트, 바이트, KB, MB, GB, TB, PB, EB, ZB, YB&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;bull; 워드 &amp;rarr; 컴퓨터 연산의 기본 단위가 되는 정보의 양&lt;/li&gt;
&lt;li&gt;진법&lt;br /&gt;&amp;nbsp;- r진법 &amp;rarr; 0, 1, &amp;hellip;, (r-1)까지의 숫자만을 사용해서 수를 표현하는 방식/단위&lt;br /&gt;&amp;nbsp;- 2진법, 8진법, 10진법, 16진법간의 변환이 필요&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;bull; 2진수/8진수/16진수를 10진수로 변환 &amp;rarr; 각 위치에서의 숫자값과 해당 위치에서의&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;가중치(자릿값)를 곱한 후, 그 결과들을 모두 더한다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;bull; 10진수를 r진수로 변환 &amp;rarr; 정수 부분과 소수 부분을 나눠서 각각 변환한 후, 그 결과를 단순히&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;연결해서 표현함&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;bull; 2진수와 8진수/16진수의 관계 &amp;rarr; 2진수의 3자릿수 = 8진수의 1자릿수, 2진수의 4자릿수 =&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;16진수의 1자릿수&lt;/li&gt;
&lt;li&gt;정수 표현&lt;br /&gt;&amp;nbsp;- 정수 표현 방법의 종류 &amp;rarr; 부호 없는 정수, 부호 있는 정수&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;bull; 부호 있는 정수의 표현 &amp;rarr; 종류: 부호화-크기 방식, 1의 보수 방식, 2의 보수 방식 &amp;rarr;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;양의 정수는 모두 동일한 형태를 갖지만, 음의 정수의 경우에는 서로 다른 형태를 가짐&lt;br /&gt;&amp;nbsp;- 부호 없는 정수 &amp;rarr; 부호 비트가 없으며, 주어진 n비트 전체를 사용해서 정수(0~2&lt;span&gt;n-1&lt;/span&gt;)를 표현&lt;br /&gt;&amp;nbsp;- 부호화-크기 방식 &amp;rarr; 최상위 1비트를 부호 비트로 사용하고, 음의 정수는 음수에 대한 절대값으로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;표현&lt;br /&gt;&amp;nbsp;- 1의 보수 방식 &amp;rarr; 부호 비트 사용. 음의 정수는 양의 정수 표현에 대한 보수(0&amp;rarr;1, 1&amp;rarr;0)를 취해서&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;표현&lt;br /&gt;&amp;nbsp;- 2의 보수 방식 &amp;rarr; 부호 비트 사용. 음의 정수는 1의 보수 방식의 결과에 1을 더해서 표현&lt;/li&gt;
&lt;li&gt;실수 표현&lt;br /&gt;&amp;nbsp;- 부동소수점 방식을 사용해서 표현&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;bull; 표현 형식 &amp;rarr; (-1)&lt;span&gt;부호&lt;/span&gt;&amp;times;가수&amp;times;2&lt;span&gt;지수&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;rarr; 부호(1비트)+지수(m비트)+가수(n비트)&lt;br /&gt;&amp;nbsp;- 지수의 표현&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;bull; 초과표기법 &amp;rarr; 부동소수점의 지수 부분만을 위한 표기 방법으로, m비트가 할당된 경우 두 개의&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;매직 넘버(2&lt;span&gt;m-1&lt;/span&gt;, 2&lt;span&gt;m-1&lt;/span&gt;-1)가 존재&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;bull; 지수값을 저장하는 경우 &amp;rarr; (지수값 + 매직 넘버)를 이진수로 표현/저장&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;bull; 저장된 지수값을 해석하는 경우 &amp;rarr; 지수 부분의 이진수를 십진수로 변환한 값에서 매직 넘버를&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;뺀다.&lt;br /&gt;&amp;nbsp;- 가수의 표현&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;bull; 정규화 &amp;rarr; 소수점 바로 왼쪽에 오직 하나의 1만 있도록 소수점의 위치를 조정 &amp;rarr; 가수값을 저장&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;하는 경우에는 소수점 이하 부분만 저장&lt;/li&gt;
&lt;li&gt;문자 표현&lt;br /&gt;&amp;nbsp;- 각 문자마다 유일한 코드가 부여되며, 이를 위해 약속된 문자 체계가 필요&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;bull; 대표적인 문자 체계의 종류 &amp;rarr; ASCII (또는 확장된 ASCII), 유니코드&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description>
      <category>CS/컴퓨터과학</category>
      <author>Study</author>
      <guid isPermaLink="true">https://study-lag.tistory.com/77</guid>
      <comments>https://study-lag.tistory.com/77#entry77comment</comments>
      <pubDate>Sat, 12 Nov 2022 20:39:34 +0900</pubDate>
    </item>
    <item>
      <title>컴퓨터 과학 (1)</title>
      <link>https://study-lag.tistory.com/76</link>
      <description>&lt;ol style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;컴퓨터&lt;br /&gt;&amp;nbsp;- 컴퓨터 &amp;rarr; 프로그램이 가능한 데이터 처리기&lt;br /&gt;&amp;nbsp;- 프로그램 &amp;rarr; 컴퓨터가 데이터를 어떻게 처리(조작)할지를 알려주는 일련의 명령어의 집합으로,&lt;br /&gt;&amp;nbsp;&amp;nbsp;컴퓨터에서 처리 가능한 작업의 유형과 연산의 집합을 결정&lt;br /&gt;&amp;nbsp;- 컴퓨터 장점(특징) &amp;rarr; 신속, 정확, 자동, 대용량&lt;/li&gt;
&lt;li&gt;컴퓨터과학&lt;br /&gt;&amp;nbsp;- 데이터의 획득, 표현, 처리, 저장, 통신, 접근을 위한 방법들의 실행 가능성, 구조화, 표현,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;기계화에 관련된 내용을 다루는 학문 분야&lt;br /&gt;&amp;nbsp;- 컴퓨터, 데이터, 프로그램, 알고리즘 분야의 연구를 통해 효율적인 자료 처리를 위한 제반 기술과&lt;br /&gt;&amp;nbsp;&amp;nbsp; 방법들을 제공하기 위한 학문&lt;br /&gt;&amp;nbsp;- 알고리즘과 관련된 이슈를 다루는 학문&lt;br /&gt;&amp;nbsp;- 컴퓨터를 활용한 문제 해결에 대한 학문&lt;br /&gt;&amp;nbsp;- 컴퓨터공학 vs 컴퓨터과학&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;bull; 컴퓨터공학 &amp;rarr; 가격 대비 성능 특성이 가장 좋은 컴퓨터 엔진을 만들기 위해 하드웨어와&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;소프트웨어 요소를 조립하는 방법에 중점을 둠&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;bull; 컴퓨터과학 &amp;rarr; 현재의 기술에 덜 의존적인 방식으로 주어진 문제에 대한 해결책이 효율적이고&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 실현 가능하도록 하는데 초점을 맞춤&lt;br /&gt;* &lt;i&gt;&lt;b&gt;컴퓨터 공학과의 차이점: 공학은 하드웨어적 관점, 과학은 알고리즘 위주.&lt;/b&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;컴퓨터 시스템&lt;br /&gt;&amp;nbsp;- 하나의 완전한 컴퓨터 시스템을 구성하는 4가지 요소 &amp;rarr; 하드웨어, 소프트웨어, 데이터, 사용자&lt;br /&gt;&amp;nbsp;- 하드웨어 &amp;rarr; 기계를 구성하고 있는 모든 물리적 기계장치 및 전자장치 &amp;rarr; 핵심장치: 중앙&lt;br /&gt;&amp;nbsp;&amp;nbsp;처리장치(산술논리연산장치, 제어장치), 기억장치(주기억장치, 보조기억장치),입력장치, 출력장치&lt;br /&gt;&amp;nbsp;- 소프트웨어 &amp;rarr; 모든 프로그램을 총체적으로 표현하는 것 &amp;rarr; 시스템 소프트웨어와 응용 소프트&lt;br /&gt;&amp;nbsp;&amp;nbsp;웨어로 구분&lt;br /&gt;&amp;nbsp;- 데이터 &amp;rarr; 컴퓨터가 처리하는 대상으로 컴퓨터 내부에서 비트 패턴으로 변환되어 처리되며,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;우리가 알아볼 수 있도록 적절한 변환 과정을 다시 거쳐 출력됨&lt;br /&gt;&amp;nbsp;- 사용자 &amp;rarr; 컴퓨터가 데이터를 처리하는 전반적인 과정에 다양하고 적극적인 형태로사람의&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;개입이 필요&lt;br /&gt;&amp;nbsp;- 폰 노이만 모델 &amp;rarr; 컴퓨터의 내부 구조와 처리 과정을 정의한 모델 &amp;rarr; 모든 컴퓨터는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;폰 노이만 모델에 기반을 둠&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;bull; 4개의 서브시스템(산술논리연산장치, 제어장치, 기억장치, 입출력 장치)으로 구성&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;bull; 내장 프로그램 방식 &amp;rarr; 데이터와 함께 실행될 프로그램은 메모리에 저장되어야 한다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;rarr; 데이터와 프로그램이 같은 메모리에 저장된다는 것은 같은 형식(&amp;ldquo;비트 패턴&amp;rdquo;)으로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;저장된다는 의미를 내포&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;bull; 프로그램은 명령어의 나열이다. &amp;rarr; 기본 명령어들을 미리 정의하고, 이들의 유한개의 조합으로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;원하는 프로그램이 구성된다. &amp;rarr; 명령어들의 재사용성으로 인해 프로그래밍 작업이 간단해짐&lt;br /&gt;* &lt;b&gt;&lt;i&gt;폰 노이만 모델에서 저장형식에 대해서는 따로 정의되어있지 않다.&lt;/i&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>CS/컴퓨터과학</category>
      <author>Study</author>
      <guid isPermaLink="true">https://study-lag.tistory.com/76</guid>
      <comments>https://study-lag.tistory.com/76#entry76comment</comments>
      <pubDate>Sat, 12 Nov 2022 18:50:13 +0900</pubDate>
    </item>
    <item>
      <title>[Linux] CentOS7에 MS-sql 설치하기</title>
      <link>https://study-lag.tistory.com/75</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1182&quot; data-origin-height=&quot;332&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmkH4m/btrPynFRNhF/EQDumxHtBpGNyxNAFCXcCk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmkH4m/btrPynFRNhF/EQDumxHtBpGNyxNAFCXcCk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmkH4m/btrPynFRNhF/EQDumxHtBpGNyxNAFCXcCk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmkH4m%2FbtrPynFRNhF%2FEQDumxHtBpGNyxNAFCXcCk%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;1182&quot; height=&quot;332&quot; data-origin-width=&quot;1182&quot; data-origin-height=&quot;332&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;먼저 ms sql 레포를 설치 해 줍니다&lt;/p&gt;
&lt;pre class=&quot;awk&quot;&gt;&lt;code&gt;sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-10-26 오전 5.10.11.png&quot; data-origin-width=&quot;964&quot; data-origin-height=&quot;148&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bB57Gj/btrPy882yHk/3pB680xJqSjQkGCQrno5U0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bB57Gj/btrPy882yHk/3pB680xJqSjQkGCQrno5U0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bB57Gj/btrPy882yHk/3pB680xJqSjQkGCQrno5U0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbB57Gj%2FbtrPy882yHk%2F3pB680xJqSjQkGCQrno5U0%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;964&quot; height=&quot;148&quot; data-filename=&quot;스크린샷 2022-10-26 오전 5.10.11.png&quot; data-origin-width=&quot;964&quot; data-origin-height=&quot;148&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그후 yum에서 mssql-server를 인스톨 해 줍니다&lt;/p&gt;
&lt;pre class=&quot;sql&quot;&gt;&lt;code&gt;sudo yum install -y mssql-server&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-10-26 오전 5.12.59.png&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;656&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/czLwtg/btrPz0WWDvU/7dzcrDrYDejuWUMoAufII1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/czLwtg/btrPz0WWDvU/7dzcrDrYDejuWUMoAufII1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/czLwtg/btrPz0WWDvU/7dzcrDrYDejuWUMoAufII1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FczLwtg%2FbtrPz0WWDvU%2F7dzcrDrYDejuWUMoAufII1%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;960&quot; height=&quot;656&quot; data-filename=&quot;스크린샷 2022-10-26 오전 5.12.59.png&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;656&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;완료 후 설치를 해 줍니다 저는 개인용 프로젝트이기 때문에 작은 규모이며 무료인 익스프레스 버전을 선택 했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 언어는 한국어&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비밀번호는 조건에 맞게 설정을 완료 해 줍니다.&amp;nbsp;&lt;/p&gt;
&lt;pre class=&quot;armasm&quot;&gt;&lt;code&gt;sudo /opt/mssql/bin/mssql-conf setup&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-10-26 오전 5.13.41.png&quot; data-origin-width=&quot;976&quot; data-origin-height=&quot;698&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b2MUjw/btrPyckaxPi/LvDkvqBV6RB5ngBgZnx9FK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b2MUjw/btrPyckaxPi/LvDkvqBV6RB5ngBgZnx9FK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b2MUjw/btrPyckaxPi/LvDkvqBV6RB5ngBgZnx9FK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2MUjw%2FbtrPyckaxPi%2FLvDkvqBV6RB5ngBgZnx9FK%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;976&quot; height=&quot;698&quot; data-filename=&quot;스크린샷 2022-10-26 오전 5.13.41.png&quot; data-origin-width=&quot;976&quot; data-origin-height=&quot;698&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-10-26 오전 5.15.11.png&quot; data-origin-width=&quot;972&quot; data-origin-height=&quot;702&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bs9GeL/btrPAJtTf6p/grQWzWqvWKcMVd9CxhraUK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bs9GeL/btrPAJtTf6p/grQWzWqvWKcMVd9CxhraUK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bs9GeL/btrPAJtTf6p/grQWzWqvWKcMVd9CxhraUK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbs9GeL%2FbtrPAJtTf6p%2FgrQWzWqvWKcMVd9CxhraUK%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;972&quot; height=&quot;702&quot; data-filename=&quot;스크린샷 2022-10-26 오전 5.15.11.png&quot; data-origin-width=&quot;972&quot; data-origin-height=&quot;702&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-10-26 오전 5.15.51.png&quot; data-origin-width=&quot;970&quot; data-origin-height=&quot;700&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8Io4J/btrPwY7DLLl/8ZuU00vD3XuyEMbuLaSM1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8Io4J/btrPwY7DLLl/8ZuU00vD3XuyEMbuLaSM1k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8Io4J/btrPwY7DLLl/8ZuU00vD3XuyEMbuLaSM1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8Io4J%2FbtrPwY7DLLl%2F8ZuU00vD3XuyEMbuLaSM1k%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;970&quot; height=&quot;700&quot; data-filename=&quot;스크린샷 2022-10-26 오전 5.15.51.png&quot; data-origin-width=&quot;970&quot; data-origin-height=&quot;700&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;재대로 설치 및 실행이 완료 되었는지 확인 해보려면&lt;/p&gt;
&lt;pre class=&quot;axapta&quot;&gt;&lt;code&gt;systemctl status mssql-server&lt;/code&gt;&lt;/pre&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;pre class=&quot;pgsql&quot;&gt;&lt;code&gt;sudo systemctl start mssql-server&lt;/code&gt;&lt;/pre&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;pre class=&quot;routeros&quot;&gt;&lt;code&gt;sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
sudo systemctl enable mssql-server&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상기 3개의 명령어로&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;포트열기, 방화벽 재실행, 자동실행목록에 mssql추가 가능합니다.&lt;/p&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 class=&quot;jboss-cli&quot;&gt;&lt;code&gt;sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
echo 'export PATH=&quot;$PATH:/opt/mssql-tools/bin&quot;' &amp;gt;&amp;gt; ~/.bash_profile
echo 'export PATH=&quot;$PATH:/opt/mssql-tools/bin&quot;' &amp;gt;&amp;gt; ~/.bashrc
source ~/.bashrc&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;명령어로 커맨드라인 레포다운 후 환경변수 추가해주면 mssql 설치는 끝이납니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>개인용 사이트 제작과정/[Linux]CentOS 7 서버세팅</category>
      <category>CentOS</category>
      <category>Linux</category>
      <category>MSSQL</category>
      <author>Study</author>
      <guid isPermaLink="true">https://study-lag.tistory.com/75</guid>
      <comments>https://study-lag.tistory.com/75#entry75comment</comments>
      <pubDate>Wed, 26 Oct 2022 05:28:56 +0900</pubDate>
    </item>
    <item>
      <title>[Java]Spring boot</title>
      <link>https://study-lag.tistory.com/74</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;441&quot; data-origin-height=&quot;114&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7uqk5/btroE887TQU/ZVNiKh3KBDUSqEAjMjvHLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7uqk5/btroE887TQU/ZVNiKh3KBDUSqEAjMjvHLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7uqk5/btroE887TQU/ZVNiKh3KBDUSqEAjMjvHLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7uqk5%2FbtroE887TQU%2FZVNiKh3KBDUSqEAjMjvHLK%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;441&quot; height=&quot;114&quot; data-origin-width=&quot;441&quot; data-origin-height=&quot;114&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프론트엔드와 연동&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추가 Api들과 통신기능&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Front-End: Thymeleaf&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Back-End: Spring-Boot&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DB: JPA, MySQL&lt;/p&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;build.gradle&lt;/p&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position: relative !important; overflow: auto;&quot;&gt;
&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin: 0; padding: 0; border: none; background-color: #fafafa; border-radius: 4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border-right: 2px solid #e5e5e5;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; word-break: normal; text-align: right; color: #666; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;1&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;2&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;3&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;4&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;5&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;6&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;7&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;8&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;9&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;10&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;11&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;12&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;13&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;14&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;15&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;16&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;17&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;18&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;19&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;20&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;21&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;22&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;23&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;24&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;25&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;26&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;27&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;28&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;29&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;30&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;31&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;32&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;33&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;34&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;35&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;36&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;37&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;38&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;39&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;40&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;41&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;42&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;43&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;44&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;45&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;46&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;47&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;48&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;49&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;padding: 6px 0; text-align: left;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;buildscript{&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ext&amp;nbsp;{&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;springBootVersion&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'2.4.4'&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;repositories&amp;nbsp;{&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mavenCentral()&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dependencies&amp;nbsp;{&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;classpath(&lt;span style=&quot;color: #63a35c;&quot;&gt;&quot;org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}&quot;&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;/&lt;/span&gt;&amp;nbsp;스프링&amp;nbsp;필수&amp;nbsp;플러그인&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;apply&amp;nbsp;plugin:&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'java'&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;apply&amp;nbsp;plugin:&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'eclipse'&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;apply&amp;nbsp;plugin:&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'org.springframework.boot'&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;apply&amp;nbsp;plugin:&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'io.spring.dependency-management'&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;group&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'com.SukhoAndHodu'&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;version&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'0.0.1-SNAPSHOT'&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;sourceCompatibility&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'11'&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;repositories&amp;nbsp;{&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mavenCentral()&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;dependencies&amp;nbsp;{&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;/&lt;/span&gt;스프링&amp;nbsp;부트,&amp;nbsp;롬복,&amp;nbsp;h2&amp;nbsp;데이터베이스&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;implementation&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'org.springframework.boot:spring-boot-starter-web'&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;implementation&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'org.projectlombok:lombok'&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;implementation&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'com.h2database:h2'&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;/&lt;/span&gt;타임리프&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;implementation&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'org.springframework.boot:spring-boot-starter-thymeleaf'&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;implementation&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect'&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;/&lt;/span&gt;mysql,&amp;nbsp;spring&amp;nbsp;jpa&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;implementation&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'mysql:mysql-connector-java'&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;implementation&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'org.springframework.boot:spring-boot-starter-data-jpa'&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;/&lt;/span&gt;스프링&amp;nbsp;개발자툴&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;developmentOnly&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'org.springframework.boot:spring-boot-devtools'&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;testImplementation&amp;nbsp;&lt;span style=&quot;color: #63a35c;&quot;&gt;'org.springframework.boot:spring-boot-starter-test'&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;test&amp;nbsp;{&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;useJUnitPlatform()&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;}&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: right; margin-top: -13px; margin-right: 5px; font-size: 9px; font-style: italic;&quot;&gt;&lt;a style=&quot;color: #e5e5e5text-decoration:none;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;vertical-align: bottom; padding: 0 2px 4px 0;&quot;&gt;&lt;a style=&quot;text-decoration: none; color: white;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: #e5e5e5; color: white; border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt; application.properties&lt;/p&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position: relative !important; overflow: auto;&quot;&gt;
&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin: 0; padding: 0; border: none; background-color: #fafafa; border-radius: 4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border-right: 2px solid #e5e5e5;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; word-break: normal; text-align: right; color: #666; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;1&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;2&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;3&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;4&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;5&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;6&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;7&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;8&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;9&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;10&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;11&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;12&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;13&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;14&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;15&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;16&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;17&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;18&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;19&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;20&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;21&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;22&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;23&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;24&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;25&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;padding: 6px 0; text-align: left;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;서버&amp;nbsp;설정&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;server.port&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0099cc;&quot;&gt;8080&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;spring&amp;nbsp;static&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;spring.mvc.static&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;-&lt;/span&gt;path&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;-&lt;/span&gt;pattern&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;/&lt;/span&gt;static&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;*&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;spring.resources.static&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;-&lt;/span&gt;location&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;classpath:&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;/&lt;/span&gt;static&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;/&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;spring.resources.add&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;-&lt;/span&gt;mappings&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0099cc;&quot;&gt;true&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;spring.profiles.include&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;real&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;-&lt;/span&gt;db&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;spring.jpa.properties.hibernate.dialect&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;org.hibernate.dialect.MySQL57InnoDBDialect&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;spring.session.store&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;-&lt;/span&gt;type&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;jdbc&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;Mysql&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;spring.datasource.driver&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;-&lt;/span&gt;class&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;-&lt;/span&gt;name&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;com.mysql.cj.jdbc.Driver&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;spring.datasource.url&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;jdbc:mysql:&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;/&lt;/span&gt;{본인&amp;nbsp;mysql&amp;nbsp;주소}:&lt;span style=&quot;color: #0099cc;&quot;&gt;3306&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;/&lt;/span&gt;{&amp;nbsp;DB이름&amp;nbsp;}?serverTimezone&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;Asia&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;/&lt;/span&gt;Seoul&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;&amp;amp;&lt;/span&gt;characterEncoding&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;UTF&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #0099cc;&quot;&gt;8&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;spring.datasource.username&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;{아이디}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;spring.datasource.password&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;{비밀번호}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;JPA&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;spring.jpa.hibernate.ddl&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;-&lt;/span&gt;auto&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;create&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;spring.jpa.generate&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;-&lt;/span&gt;ddl&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;-&lt;/span&gt;auto&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0099cc;&quot;&gt;true&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;spring.jpa.show_sql&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0099cc;&quot;&gt;true&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;Logging&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;logging.level.org.springframework.web&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;DEBUG&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: right; margin-top: -13px; margin-right: 5px; font-size: 9px; font-style: italic;&quot;&gt;&lt;a style=&quot;color: #e5e5e5text-decoration:none;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;vertical-align: bottom; padding: 0 2px 4px 0;&quot;&gt;&lt;a style=&quot;text-decoration: none; color: white;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: #e5e5e5; color: white; border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개인용 사이트 제작과정/Back-End</category>
      <category>Setting</category>
      <category>spring</category>
      <author>Study</author>
      <guid isPermaLink="true">https://study-lag.tistory.com/74</guid>
      <comments>https://study-lag.tistory.com/74#entry74comment</comments>
      <pubDate>Thu, 23 Dec 2021 15:30:36 +0900</pubDate>
    </item>
    <item>
      <title>[Linux] CentOS 7, CentOS 8  SSH, FTP (vsftpd) 설치 및 세팅</title>
      <link>https://study-lag.tistory.com/73</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1182&quot; data-origin-height=&quot;332&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mAVf7/btroE72HjJB/7rSO5VeikoV16cK9RruA9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mAVf7/btroE72HjJB/7rSO5VeikoV16cK9RruA9K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mAVf7/btroE72HjJB/7rSO5VeikoV16cK9RruA9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmAVf7%2FbtroE72HjJB%2F7rSO5VeikoV16cK9RruA9K%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;1182&quot; height=&quot;332&quot; data-origin-width=&quot;1182&quot; data-origin-height=&quot;332&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제가 세팅한 순서대로 포스팅 해보겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&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;// 많은 포스팅들에서 openssh-clients도 다운받으라고 되어있지만 서버를 다운받은 후 다운받으려고 하면 이미 다운받았다는 매시지 출력됨&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;yum -y install openssh-server&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;yum -y install openssh-askpass&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상기 두가지 명령어 먼저 넣어서 ssh를 설치 해 줍니다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1049&quot; data-origin-height=&quot;654&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ovHjQ/btroFMdnkfz/xOGEFbVk9uyiykPYGYPL70/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ovHjQ/btroFMdnkfz/xOGEFbVk9uyiykPYGYPL70/img.png&quot; data-alt=&quot;yum -y install openssh-server&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ovHjQ/btroFMdnkfz/xOGEFbVk9uyiykPYGYPL70/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FovHjQ%2FbtroFMdnkfz%2FxOGEFbVk9uyiykPYGYPL70%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;1049&quot; height=&quot;654&quot; data-origin-width=&quot;1049&quot; data-origin-height=&quot;654&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;yum -y install openssh-server&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1050&quot; data-origin-height=&quot;651&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Sa1xY/btroEAkdWSE/AyAghkx3SwQqHqSMc6jek0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Sa1xY/btroEAkdWSE/AyAghkx3SwQqHqSMc6jek0/img.png&quot; data-alt=&quot;yum -y install openssh-askpass&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Sa1xY/btroEAkdWSE/AyAghkx3SwQqHqSMc6jek0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSa1xY%2FbtroEAkdWSE%2FAyAghkx3SwQqHqSMc6jek0%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;1050&quot; height=&quot;651&quot; data-origin-width=&quot;1050&quot; data-origin-height=&quot;651&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;yum -y install openssh-askpass&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;vi /etc/ssh/sshd_config 명령어를 넣어서 컨픽 파일을 열어준 후&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;port=22&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ListenAddress 0.0.0.0&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PermitRootLogon yes&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상기 3줄 주석을 해제해준 후 저장하고 빠져나옵니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1053&quot; data-origin-height=&quot;661&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bY1zXs/btroFK0V4sG/yLqIZTuuR7k1jabxr6lWB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bY1zXs/btroFK0V4sG/yLqIZTuuR7k1jabxr6lWB1/img.png&quot; data-alt=&quot;주석 해제처리&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bY1zXs/btroFK0V4sG/yLqIZTuuR7k1jabxr6lWB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbY1zXs%2FbtroFK0V4sG%2FyLqIZTuuR7k1jabxr6lWB1%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;1053&quot; height=&quot;661&quot; data-origin-width=&quot;1053&quot; data-origin-height=&quot;661&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;이제 ssh 접속을 위한 포트를 방화벽에서 열어줍니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;firewall-cmd --permanent --zone=public --add-port=22/tcp&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 후 방화벽을 재시작 해줍니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;firewall-cmd --reload&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;527&quot; data-origin-height=&quot;48&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/I0VHI/btroDH4HfjH/ET9d1TGIbFJNifLCzhZFX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/I0VHI/btroDH4HfjH/ET9d1TGIbFJNifLCzhZFX1/img.png&quot; data-alt=&quot;firewall-cmd --permanent --zone=public --add-port=22/tcp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/I0VHI/btroDH4HfjH/ET9d1TGIbFJNifLCzhZFX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FI0VHI%2FbtroDH4HfjH%2FET9d1TGIbFJNifLCzhZFX1%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;527&quot; height=&quot;48&quot; data-origin-width=&quot;527&quot; data-origin-height=&quot;48&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;firewall-cmd --permanent --zone=public --add-port=22/tcp&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;hostname -I (대문자 i 입니다)&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;218&quot; data-origin-height=&quot;43&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Swb1U/btroDPBVZXg/F8G4SnXYvDcwv7Bnnzy6Gk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Swb1U/btroDPBVZXg/F8G4SnXYvDcwv7Bnnzy6Gk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Swb1U/btroDPBVZXg/F8G4SnXYvDcwv7Bnnzy6Gk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSwb1U%2FbtroDPBVZXg%2FF8G4SnXYvDcwv7Bnnzy6Gk%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;218&quot; height=&quot;43&quot; data-origin-width=&quot;218&quot; data-origin-height=&quot;43&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필자가 사용하는 esxi는 웹브라우저 접속이라 가독성도 좋지않고 복사 붙여넣기가 되지않으니 ssh테스트 겸 옮겨서 마저 진행합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ssh -p 22 root@{아이피}&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;// 맥 터미널 기준 ssh 접속 (필자는 윈도우에선 mobaXterm 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;// -p 뒤의 22는 포트번호 입니다 / 22번일 시 -p {포트번호} 생략 가능&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;851&quot; data-origin-height=&quot;658&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/x8kFh/btroJEel8UJ/ktCGpqYIhsYnoiq3SMOJ4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/x8kFh/btroJEel8UJ/ktCGpqYIhsYnoiq3SMOJ4k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/x8kFh/btroJEel8UJ/ktCGpqYIhsYnoiq3SMOJ4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fx8kFh%2FbtroJEel8UJ%2FktCGpqYIhsYnoiq3SMOJ4k%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;851&quot; height=&quot;658&quot; data-origin-width=&quot;851&quot; data-origin-height=&quot;658&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;yum -y install vsftpd&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;명령어로 vsftpd 설치를 진행합니다.&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;937&quot; data-origin-height=&quot;745&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/q3CQ3/btroJjhgpJX/pb248Zyx1PFvt73oorXOc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/q3CQ3/btroJjhgpJX/pb248Zyx1PFvt73oorXOc0/img.png&quot; data-alt=&quot;yum -y install vsftpd&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/q3CQ3/btroJjhgpJX/pb248Zyx1PFvt73oorXOc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fq3CQ3%2FbtroJjhgpJX%2Fpb248Zyx1PFvt73oorXOc0%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;937&quot; height=&quot;745&quot; data-origin-width=&quot;937&quot; data-origin-height=&quot;745&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;yum -y install vsftpd&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치가 완료 되면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;vi /etc/vsftpd/vsftpd.conf 명령어로 vsftpd 설정 파일로 접속합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;anonymous_enable=NO&amp;nbsp; &amp;nbsp;// Yes에서 NO로 변경&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;chroot_local_user=YES&amp;nbsp; &amp;nbsp;// 주석 해제&lt;br /&gt;chroot_list_enable=YES&amp;nbsp; &amp;nbsp;// 주석 해제 ( 허가된 유저만 접속가능 )&lt;br /&gt;#&amp;nbsp;(default&amp;nbsp;follows)&lt;br /&gt;chroot_list_file=/etc/vsftpd/chroot_list&amp;nbsp; &amp;nbsp;// 주석 해제&amp;nbsp; &amp;nbsp;(허가된 유저 리스트)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;allow_writeable_chroot=YES&amp;nbsp; &amp;nbsp;//한줄 추가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;listen=YES&amp;nbsp; &amp;nbsp; // NO에서 YES로 변경&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;listen_ipv6=NO&amp;nbsp; &amp;nbsp; // Yes에서 NO로 변경&lt;/p&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;pasv_enable=YES&amp;nbsp; // 패시브모드 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;pasv_min_port=50000&amp;nbsp; // 패시브모드 최소포트&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;pasv_max_port=50005&amp;nbsp; // 패시브모드 최대포트&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저장후 나옵니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;937&quot; data-origin-height=&quot;745&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Je3U5/btroJj2FCK5/9o8BxZAAvEKEkiYKGPLQBk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Je3U5/btroJj2FCK5/9o8BxZAAvEKEkiYKGPLQBk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Je3U5/btroJj2FCK5/9o8BxZAAvEKEkiYKGPLQBk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJe3U5%2FbtroJj2FCK5%2F9o8BxZAAvEKEkiYKGPLQBk%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;937&quot; height=&quot;745&quot; data-origin-width=&quot;937&quot; data-origin-height=&quot;745&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;vi /etc/vsftpd/chroot_list&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;937&quot; data-origin-height=&quot;745&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cHu1r4/btroITJV0wo/N0uJlwzZi23y2AkakN9Wbk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cHu1r4/btroITJV0wo/N0uJlwzZi23y2AkakN9Wbk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cHu1r4/btroITJV0wo/N0uJlwzZi23y2AkakN9Wbk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcHu1r4%2FbtroITJV0wo%2FN0uJlwzZi23y2AkakN9Wbk%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;937&quot; height=&quot;745&quot; data-origin-width=&quot;937&quot; data-origin-height=&quot;745&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;만약 저처럼 root 계정도 사용하려면 하단 두개 파일에서 root를 지워주셔야합니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;root계정은 기본적으로 외부접속을 자단하는 블랙리스트에 들어갑니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;vi /etc/vsftpd/ftpusers&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;vi /etc/vsftpd/user_list&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;937&quot; data-origin-height=&quot;745&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SzUmR/btroJDfx1Oh/z1J5SFtL8uddHvEaDTfFm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SzUmR/btroJDfx1Oh/z1J5SFtL8uddHvEaDTfFm1/img.png&quot; data-alt=&quot;vi /etc/vsftpd/ftpusers&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SzUmR/btroJDfx1Oh/z1J5SFtL8uddHvEaDTfFm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSzUmR%2FbtroJDfx1Oh%2Fz1J5SFtL8uddHvEaDTfFm1%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;937&quot; height=&quot;745&quot; data-origin-width=&quot;937&quot; data-origin-height=&quot;745&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;vi /etc/vsftpd/ftpusers&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;937&quot; data-origin-height=&quot;745&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6kg01/btroDv4SJlL/FwbxtIjicFKOS8L3BezsDk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6kg01/btroDv4SJlL/FwbxtIjicFKOS8L3BezsDk/img.png&quot; data-alt=&quot;vi /etc/vsftpd/user_list&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6kg01/btroDv4SJlL/FwbxtIjicFKOS8L3BezsDk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6kg01%2FbtroDv4SJlL%2FFwbxtIjicFKOS8L3BezsDk%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;937&quot; height=&quot;745&quot; data-origin-width=&quot;937&quot; data-origin-height=&quot;745&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;vi /etc/vsftpd/user_list&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;firewall-cmd --permanent --zone=public --add-port=20-21/tcp&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;firewall-cmd --permanent --zone=public --add-port=50000-50005/tcp&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;firewall-cmd --permanent --zone=public --add-service=ftp&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;firewall-cmd --reload&lt;/p&gt;
&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;영구적으로 퍼블릭존에 20~21번 포트를 열어줍니다 //기본적인 ftp접속 포트&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;영구적으로 퍼블릭존에 50000~50005번 포트를 열어줍니다 // 패시브모드오 데이터 전송시 사용될 랜덤포트범위&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;영구적으로 퍼블릭존에 ftp서비스를 열어줍니다&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;방화벽 재시작&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 ftp를 실행해줍니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;systemctl start vsftpd&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;접속해서 정상적으로 파일이 만들어 지는지, 업로드는 되는지 확인 해보시기 바랍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 안될 시 SELinux 보안정책 떄문일 수 있으므로&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;setsebool -P ftpd_full_access on&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&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;&amp;nbsp;&lt;/p&gt;</description>
      <category>개인용 사이트 제작과정/[Linux]CentOS 7 서버세팅</category>
      <category>CentOS</category>
      <category>Firewall</category>
      <category>firewall-cmd</category>
      <category>ftp</category>
      <category>Linux</category>
      <category>openssh</category>
      <category>SSH</category>
      <category>vsftpd</category>
      <author>Study</author>
      <guid isPermaLink="true">https://study-lag.tistory.com/73</guid>
      <comments>https://study-lag.tistory.com/73#entry73comment</comments>
      <pubDate>Thu, 23 Dec 2021 14:48:57 +0900</pubDate>
    </item>
    <item>
      <title>Esxi 6.7 가상환경에 centOS 7 설치하기</title>
      <link>https://study-lag.tistory.com/72</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1182&quot; data-origin-height=&quot;332&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ct3Ob3/btroxOhw0jR/IPzNLkJviLBKuOg4WpiKl1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ct3Ob3/btroxOhw0jR/IPzNLkJviLBKuOg4WpiKl1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ct3Ob3/btroxOhw0jR/IPzNLkJviLBKuOg4WpiKl1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fct3Ob3%2FbtroxOhw0jR%2FIPzNLkJviLBKuOg4WpiKl1%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;1182&quot; height=&quot;332&quot; data-origin-width=&quot;1182&quot; data-origin-height=&quot;332&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;vmwere exsi 6.7 버전에 리눅스 OS인 CentOS 를 설치 하는 방법에 관해 포스팅을 하려 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Esxi 6.7 버전이 설치되어 있는 컴퓨터가 있다는 가정 하에 진행 하도록 하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 본인의 Esxi 메니지먼트 주소로 접속 해 줍니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2646&quot; data-origin-height=&quot;1880&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Kjhwn/btrox1uoUCB/3z361yKwL966cokaMqvHX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Kjhwn/btrox1uoUCB/3z361yKwL966cokaMqvHX0/img.png&quot; data-alt=&quot;- 필자가 평소 사용 하고 있는 Mac + Brave browser 환경에서는 브라우저 보안정책 상 진행이 안되어 safari 브라우저로 대체하여 진행했습니다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Kjhwn/btrox1uoUCB/3z361yKwL966cokaMqvHX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKjhwn%2Fbtrox1uoUCB%2F3z361yKwL966cokaMqvHX0%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;2646&quot; height=&quot;1880&quot; data-origin-width=&quot;2646&quot; data-origin-height=&quot;1880&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;- 필자가 평소 사용 하고 있는 Mac + Brave browser 환경에서는 브라우저 보안정책 상 진행이 안되어 safari 브라우저로 대체하여 진행했습니다.&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;gt; 데이터스토어 선택 =&amp;gt; 데이터스토어 브라우저&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2872&quot; data-origin-height=&quot;2104&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cUDQNY/btrorN5yaKu/NYzwZZy7vCMrQz22fpK7uk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cUDQNY/btrorN5yaKu/NYzwZZy7vCMrQz22fpK7uk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cUDQNY/btrorN5yaKu/NYzwZZy7vCMrQz22fpK7uk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcUDQNY%2FbtrorN5yaKu%2FNYzwZZy7vCMrQz22fpK7uk%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;2872&quot; height=&quot;2104&quot; data-origin-width=&quot;2872&quot; data-origin-height=&quot;2104&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;CentOS 7 iso 파일을 업로드 해줍니다 // 저같은 경우는 미니멀버전으로 했습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2872&quot; data-origin-height=&quot;2104&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pyx4P/btror1JEvLy/K7P1yDAKNZSpaQahkAGNo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pyx4P/btror1JEvLy/K7P1yDAKNZSpaQahkAGNo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pyx4P/btror1JEvLy/K7P1yDAKNZSpaQahkAGNo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fpyx4P%2Fbtror1JEvLy%2FK7P1yDAKNZSpaQahkAGNo0%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;2872&quot; height=&quot;2104&quot; data-origin-width=&quot;2872&quot; data-origin-height=&quot;2104&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;업로드가 완료되면&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가상시스템 =&amp;gt; VM 생성/등록&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;2872&quot; data-origin-height=&quot;2104&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CISJL/btroyHbn81j/7579MHK7gKZ7tQFKWmYWA0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CISJL/btroyHbn81j/7579MHK7gKZ7tQFKWmYWA0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CISJL/btroyHbn81j/7579MHK7gKZ7tQFKWmYWA0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCISJL%2FbtroyHbn81j%2F7579MHK7gKZ7tQFKWmYWA0%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;2872&quot; height=&quot;2104&quot; data-origin-width=&quot;2872&quot; data-origin-height=&quot;2104&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;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;2872&quot; data-origin-height=&quot;2174&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/edGbtg/btrowkO13iq/Q9jmKDKhkROfqIGB1Huus0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/edGbtg/btrowkO13iq/Q9jmKDKhkROfqIGB1Huus0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/edGbtg/btrowkO13iq/Q9jmKDKhkROfqIGB1Huus0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FedGbtg%2FbtrowkO13iq%2FQ9jmKDKhkROfqIGB1Huus0%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;2872&quot; height=&quot;2174&quot; data-origin-width=&quot;2872&quot; data-origin-height=&quot;2174&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;이름, Linux, CentOS 7 적용해 주시고 다음&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;2872&quot; data-origin-height=&quot;2244&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lgOCE/btrow1V10hV/ZpTG6Xk3fbk7cRy4ksvnP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lgOCE/btrow1V10hV/ZpTG6Xk3fbk7cRy4ksvnP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lgOCE/btrow1V10hV/ZpTG6Xk3fbk7cRy4ksvnP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlgOCE%2Fbtrow1V10hV%2FZpTG6Xk3fbk7cRy4ksvnP0%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;2872&quot; height=&quot;2244&quot; data-origin-width=&quot;2872&quot; data-origin-height=&quot;2244&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제 사용자지정 설정입니다 참고만 하시고 필요하신만큼 적용하시면 될 것 같습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2872&quot; data-origin-height=&quot;2244&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cvprvL/btrosv4RCb8/hWWyXmkzTRVNEoc6ZMkThk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cvprvL/btrosv4RCb8/hWWyXmkzTRVNEoc6ZMkThk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cvprvL/btrosv4RCb8/hWWyXmkzTRVNEoc6ZMkThk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcvprvL%2Fbtrosv4RCb8%2FhWWyXmkzTRVNEoc6ZMkThk%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;2872&quot; height=&quot;2244&quot; data-origin-width=&quot;2872&quot; data-origin-height=&quot;2244&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만들어진 가상 디바이스 이름을 누르면 상세 정보가 뜨는데 이때 편집을 눌러줍니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2872&quot; data-origin-height=&quot;2244&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mXBcE/btrowlApEZE/410RyAM4IXteJzpQzLsnBk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mXBcE/btrowlApEZE/410RyAM4IXteJzpQzLsnBk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mXBcE/btrowlApEZE/410RyAM4IXteJzpQzLsnBk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmXBcE%2FbtrowlApEZE%2F410RyAM4IXteJzpQzLsnBk%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;2872&quot; height=&quot;2244&quot; data-origin-width=&quot;2872&quot; data-origin-height=&quot;2244&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;연결 체크박스 클릭&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터스토어 iso파일 선택&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 업로드한 iso 파일 선택 후 저장&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;2872&quot; data-origin-height=&quot;2244&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgu8fT/btroxAcMVYj/sZ6psYfcoNt52nTDKKAoyK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgu8fT/btroxAcMVYj/sZ6psYfcoNt52nTDKKAoyK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgu8fT/btroxAcMVYj/sZ6psYfcoNt52nTDKKAoyK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbgu8fT%2FbtroxAcMVYj%2FsZ6psYfcoNt52nTDKKAoyK%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;2872&quot; height=&quot;2244&quot; data-origin-width=&quot;2872&quot; data-origin-height=&quot;2244&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그후 가상장치를 실행시킵니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2872&quot; data-origin-height=&quot;2244&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQlpsk/btrouAdwYRs/IOz44COa16eGhEiKGH2VNk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQlpsk/btrouAdwYRs/IOz44COa16eGhEiKGH2VNk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQlpsk/btrouAdwYRs/IOz44COa16eGhEiKGH2VNk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQlpsk%2FbtrouAdwYRs%2FIOz44COa16eGhEiKGH2VNk%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;2872&quot; height=&quot;2244&quot; data-origin-width=&quot;2872&quot; data-origin-height=&quot;2244&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상기 화면이 뜨고 엔터를 누으다보면 설치 화면이 뜹니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 언어를 한국어로 설정하시고&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2872&quot; data-origin-height=&quot;2244&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwcwKW/btroyvWqe9P/HgFv9UTnIdLYh88xyA2BX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwcwKW/btroyvWqe9P/HgFv9UTnIdLYh88xyA2BX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwcwKW/btroyvWqe9P/HgFv9UTnIdLYh88xyA2BX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwcwKW%2FbtroyvWqe9P%2FHgFv9UTnIdLYh88xyA2BX0%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;2872&quot; height=&quot;2244&quot; data-origin-width=&quot;2872&quot; data-origin-height=&quot;2244&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최소설치로 설치 해 주세요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2872&quot; data-origin-height=&quot;2244&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CMC2U/btroxARpTMK/gkZGzJq50R1FUkq1xiuZPk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CMC2U/btroxARpTMK/gkZGzJq50R1FUkq1xiuZPk/img.png&quot; data-alt=&quot; &quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CMC2U/btroxARpTMK/gkZGzJq50R1FUkq1xiuZPk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCMC2U%2FbtroxARpTMK%2FgkZGzJq50R1FUkq1xiuZPk%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;2872&quot; height=&quot;2244&quot; data-origin-width=&quot;2872&quot; data-origin-height=&quot;2244&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;설치 진행중 root비밀번호와 사용자 생성이 가능합니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 둘다 해줬습니다.&lt;/p&gt;</description>
      <category>개인용 사이트 제작과정/[Linux]CentOS 7 서버세팅</category>
      <category>CentOS</category>
      <category>Linux</category>
      <category>리눅스</category>
      <category>설치</category>
      <category>센트오에스</category>
      <author>Study</author>
      <guid isPermaLink="true">https://study-lag.tistory.com/72</guid>
      <comments>https://study-lag.tistory.com/72#entry72comment</comments>
      <pubDate>Tue, 21 Dec 2021 18:57:38 +0900</pubDate>
    </item>
    <item>
      <title>계획 및 서버구조</title>
      <link>https://study-lag.tistory.com/71</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1112&quot; data-origin-height=&quot;497&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cfx3YD/btroiafctph/gzNqNRzQutTtuB54dBJc81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cfx3YD/btroiafctph/gzNqNRzQutTtuB54dBJc81/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cfx3YD/btroiafctph/gzNqNRzQutTtuB54dBJc81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcfx3YD%2Fbtroiafctph%2FgzNqNRzQutTtuB54dBJc81%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;1112&quot; height=&quot;497&quot; data-origin-width=&quot;1112&quot; data-origin-height=&quot;497&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;Spring: 전체적인 서버 접속&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;- 글 올리는 관리자 권한 and 로그인&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- static 관리&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- jsp 또는&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Fastapi:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;- 석호쪽 db 관련 api&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;- jwt 토큰 발행및 검증&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;nodeJS:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;- 호두쪽 db관련 api&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;석호.com&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;블로그 대문, 게시판,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사이드바, 댓글기능 댓글시 텔레그램봇 api로 알림전송&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;호두.net&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;리엑트 또는 vue 사용 예정 (안해본것)&lt;/span&gt;&lt;/p&gt;</description>
      <category>개인용 사이트 제작과정/계획 및 진행과정</category>
      <author>Study</author>
      <guid isPermaLink="true">https://study-lag.tistory.com/71</guid>
      <comments>https://study-lag.tistory.com/71#entry71comment</comments>
      <pubDate>Mon, 20 Dec 2021 17:03:12 +0900</pubDate>
    </item>
    <item>
      <title>2. 스프링부트의 동작원리</title>
      <link>https://study-lag.tistory.com/70</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 스프링부트 동작원리&lt;/h2&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;(1) 내장 톰켓을 가진다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;톰켓을 따로 설치할 필요 없이 바로 실행가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Socket : 운영체제가 가지고있는 것 포트번호를 가지고 웹통신이 가능하게 함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- http 통신 : stateless 방식 통신&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;(2) 서블릿 컨테이너&lt;/b&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OCwgQ/btqCtYeuOMu/ETtkL2p1e0IewF5IRq6WGK/img.png&quot; data-lightbox=&quot;lightbox&quot; data-alt=&quot;출처 :&amp;amp;nbsp;https://minwan1.github.io/2018/11/21/2018-11-21-jsp-springboot-%EB%8F%99%EC%9E%91%EA%B3%BC%EC%A0%95/&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOCwgQ%2FbtqCtYeuOMu%2FETtkL2p1e0IewF5IRq6WGK%2Fimg.png&quot; data-filename=&quot;Screenshot_1.png&quot; data-origin-width=&quot;709&quot; data-origin-height=&quot;237&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cdKdue/btrc1S29VIf/4rfbVuhuwfMRV5ceDk5DGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cdKdue/btrc1S29VIf/4rfbVuhuwfMRV5ceDk5DGk/img.png&quot; data-alt=&quot;출처 :&amp;amp;amp;nbsp; https://minwan1.github.io/2018/11/21/2018-11-21-jsp-springboot-%EB%8F%99%EC%9E%91%EA%B3%BC%EC%A0%95/&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cdKdue/btrc1S29VIf/4rfbVuhuwfMRV5ceDk5DGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOCwgQ%2FbtqCtYeuOMu%2FETtkL2p1e0IewF5IRq6WGK%2Fimg.png&quot; data-filename=&quot;Screenshot_1.png&quot; data-origin-width=&quot;709&quot; data-origin-height=&quot;237&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출처 :&amp;nbsp; https://minwan1.github.io/2018/11/21/2018-11-21-jsp-springboot-%EB%8F%99%EC%9E%91%EA%B3%BC%EC%A0%95/&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;URL: 자원접근&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;URI: 식별자 접근 // 무조건 자바를 통해 접근&lt;/p&gt;
&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 data-url=&quot;https://blog.kakaocdn.net/dn/OCwgQ/btqCtYeuOMu/ETtkL2p1e0IewF5IRq6WGK/img.png&quot; data-lightbox=&quot;lightbox&quot; data-alt=&quot;출처 :&amp;amp;nbsp;https://minwan1.github.io/2018/11/21/2018-11-21-jsp-springboot-%EB%8F%99%EC%9E%91%EA%B3%BC%EC%A0%95/&quot;&gt;&lt;/span&gt;&lt;b&gt;(3) web.xml&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-ServletContext의 초기 파라미터&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-Session의 유효시간 설정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-Servlet/JSP에 대한 정의&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-Servlet/JSP 매핑&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-Mime Type 매핑&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-Welcome File list&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-Error Pages 처리&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-리스너/필터 설정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-보안&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;span&gt;여기에서 Servlet/JSP 매핑시(web.xml에 직접 매핑 or&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;@WebServlet 어노테이션 사용)&lt;/b&gt;에&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;모든 클래스에 매핑을 적용시키기에는 코드가 너무 복잡해지기 때문에 FrontController 패턴을 이용함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고 :&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://galid1.tistory.com/487&quot;&gt;https://galid1.tistory.com/487&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;(4) FrontController 패턴&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최초 앞단에서 request 요청을 받아서 필요한 클래스에 넘겨준다. 왜? web.xml에 다 정의하기가 너무 힘듬.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 새로운 요청이 생기기 때문에 request와 response가 새롭게 new될 수 있다. 그래서 아래의 RequestDispatcher가 필요하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;(5) RequestDispatcher&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필요한 클래스 요청이 도달했을 때 FrontController에 도착한 request와 response를 그대로 유지시켜준다.&lt;/p&gt;
&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;(6) DispatcherServlet&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;FrontController 패턴을 직접짜거나 RequestDispatcher를 직접구현할 필요가 없다. 왜냐하면 스프링에는 DispatcherServlet이 있기 때문이다. DispatcherServlet은 FrontController 패턴 + RequestDispatcher이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DispatcherServlet이 자동생성되어 질 때 수 많은 객체가 생성(IoC)된다. 보통 필터들이다. 해당 필터들은 내가 직접 등록할 수 도 있고 기본적으로 필요한 필터들은 자동 등록 되어진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;(7) 스프링 컨테이너&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DispatcherServlet에 의해 생성되어지는 수 많은 객체들은 ApplicationContext에서 관리된다. 이것을 IoC라고 한다.&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;ApplicationContext&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;IoC란 제어의 역전을 의미한다. 개발자가 직접 new를 통해 객체를 생성하게 된다면 해당 객체를 가르키는 레퍼런스 변수를 관리하기 어렵다. 그래서 스프링이 직접 해당 객체를 관리한다. 이때 우리는 주소를 몰라도 된다. 왜냐하면 필요할 때 DI하면 되기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DI를 의존성 주입이라고 한다. 필요한 곳에서 ApplicationContext에 접근하여 필요한 객체를 가져올 수 있다. ApplicationContext는 싱글톤으로 관리되기 때문에 어디에서 접근하든 동일한 객체라는 것을 보장해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ApplicationContext의 종류에는 두가지가 있는데&lt;span&gt;&amp;nbsp;&lt;/span&gt;(root-applicationContext와 servlet-applicationContext) 이다.&lt;/p&gt;
&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;a. servlet-applicationContext&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;servlet-applicationContext는 ViewResolver, Interceptor, MultipartResolver 객체를 생성하고 웹과 관련된 어노테이션 Controller, RestController를 스캔 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;============&amp;gt; 해당 파일은 DispatcherServlet에 의해 실행된다.&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;b. root-applicationContext&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;root-applicationContext는 해당 어노테이션을&amp;nbsp;제외한 어노테이션 Service, Repository등을 스캔하고 DB관련 객체를 생성한다. (스캔이란 : 메모리에 로딩한다는 뜻)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;============&amp;gt; 해당 파일은 ContextLoaderListener에 의해 실행된다. ContextLoaderListener를 실행해주는 녀석은 web.xml이기 때문에&amp;nbsp;root-applicationContext는&amp;nbsp;servlet-applicationContext보다 먼저 로드 된다.&lt;/p&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;servlet-applicationContext에서는 root-applicationContext가 로드한 객체를 참조할 수 있지만 그 반대는 불가능하다. 생성 시점이 다르기 때문이다.&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; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fq43e6%2FbtqCvx1OYiy%2FMJv6bpvTjEtC4XsNsR4m71%2Fimg.png&quot; data-filename=&quot;Screenshot_2.png&quot; data-origin-width=&quot;626&quot; data-origin-height=&quot;558&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dl5aM8/btrcQfr63g6/T3oaNm48X6L8koDnjdGeH1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dl5aM8/btrcQfr63g6/T3oaNm48X6L8koDnjdGeH1/img.png&quot; data-alt=&quot;출처 :&amp;amp;amp;nbsp; https://minwan1.github.io/2018/11/21/2018-11-21-jsp-springboot-%EB%8F%99%EC%9E%91%EA%B3%BC%EC%A0%95/&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dl5aM8/btrcQfr63g6/T3oaNm48X6L8koDnjdGeH1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fq43e6%2FbtqCvx1OYiy%2FMJv6bpvTjEtC4XsNsR4m71%2Fimg.png&quot; data-filename=&quot;Screenshot_2.png&quot; data-origin-width=&quot;626&quot; data-origin-height=&quot;558&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출처 :&amp;nbsp; https://minwan1.github.io/2018/11/21/2018-11-21-jsp-springboot-%EB%8F%99%EC%9E%91%EA%B3%BC%EC%A0%95/&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;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Bean Factory&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필요한 객체를 Bean Factory에 등록할 수 도 있다. 여기에 등록하면 초기에 메모리에 로드되지 않고 필요할 때 getBean()이라는 메소드를 통하여 호출하여 메모리에 로드할 수 있다. 이것 또한 IoC이다. 그리고 필요할 때 DI하여 사용할 수 있다. ApplicationContext와 다른 점은 Bean Factory에 로드되는 객체들은 미리 로드되지 않고 필요할 때 호출하여 로드하기 때문에 lazy-loading이 된다는 점이다.&lt;/p&gt;
&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;(8) 요청 주소에 따른 적절한 컨트롤로 요청 (Handler Mapping)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;GET요청 =&amp;gt; http://localhost:8080/post/1&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 주소 요청이 오면 적절한 컨트롤러의 함수를 찾아서 실행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://minwan1.github.io/2017/10/08/2017-10-08-Spring-Container,Servlet-Container/&quot;&gt;https://minwan1.github.io/2017/10/08/2017-10-08-Spring-Container,Servlet-Container/&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;(9) 응답&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;html파일을 응답할지 Data를 응답할지 결정해야 하는데 html 파일을 응답하게 되면 ViewResolver가 관여하게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 Data를 응답하게 되면 MessageConverter가 작동하게 되는데 메시지를 컨버팅할 때 기본전략은 json이다.&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; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fqntbk%2FbtqCzBhZ33L%2FifWzqKL76nFdalVNzKApk1%2Fimg.png&quot; data-filename=&quot;Screenshot_3.png&quot; data-origin-width=&quot;1040&quot; data-origin-height=&quot;581&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bipGIq/btrcXkMWmTm/5xM4x8635wviRceKbj6Ikk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bipGIq/btrcXkMWmTm/5xM4x8635wviRceKbj6Ikk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bipGIq/btrcXkMWmTm/5xM4x8635wviRceKbj6Ikk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fqntbk%2FbtqCzBhZ33L%2FifWzqKL76nFdalVNzKApk1%2Fimg.png&quot; data-filename=&quot;Screenshot_3.png&quot; data-origin-width=&quot;1040&quot; data-origin-height=&quot;581&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qntbk/btqCzBhZ33L/ifWzqKL76nFdalVNzKApk1/img.png&quot; data-lightbox=&quot;lightbox&quot; data-alt=&quot;https://asfirstalways.tistory.com/334&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://asfirstalways.tistory.com/334&quot;&gt;https://asfirstalways.tistory.com/334&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://getinthere.tistory.com/11&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://getinthere.tistory.com/11&lt;/a&gt;&lt;/p&gt;</description>
      <category>Backend/스프링, 스프링 부트</category>
      <author>Study</author>
      <guid isPermaLink="true">https://study-lag.tistory.com/70</guid>
      <comments>https://study-lag.tistory.com/70#entry70comment</comments>
      <pubDate>Mon, 23 Aug 2021 17:46:43 +0900</pubDate>
    </item>
    <item>
      <title>JPA란</title>
      <link>https://study-lag.tistory.com/69</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;JAP (Java Persistance Api) 란?&lt;/p&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. 영속성을 가진데이터를 저장할때쓰는api입니다.&lt;/p&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. ORM (Object Relational Mapping) 기술입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오브젝트를 만듬으로서 데이터베이스를 자동 생성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. CRUD 작업을 굉장히 단순하고 편하게 작업할 수 있도록 도와줍니다.&lt;/p&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. 영속성 컨텍스트를 가지고 있습니다.&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;5. ORM을 통해 DB와 OOP간의 불일치성을 해결 할 수 있는 방법론을 제시합니다.&lt;/p&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. OOP관점에서 모델링을 할 수 있게 해줍니다. (상속, 콤포지션, 연관관계)&lt;/p&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. 방언처리가 용이하여 유지보수에 좋고, Migration하기에도 좋음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추상화 객체를 DB에 붙여두고 입력하므로&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오라클을 쓰던 마리아DB를 쓰던 DB를 변경할때 매우 용이하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Backend/JPA</category>
      <author>Study</author>
      <guid isPermaLink="true">https://study-lag.tistory.com/69</guid>
      <comments>https://study-lag.tistory.com/69#entry69comment</comments>
      <pubDate>Mon, 23 Aug 2021 17:11:26 +0900</pubDate>
    </item>
    <item>
      <title>1. 스프링의 특징</title>
      <link>https://study-lag.tistory.com/68</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;1. 프레임워크이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프레임 워크란 - 일정한 틀 안에서 구동하는 프로그래밍 방식&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 오픈소스이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오픈소스란 - 내부가 모두 공개되어있고 무료로 제공되는 소스&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내부 아주 깊숙한 곳 까지 커스터마이징 가능&lt;/p&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. IoC (Inversion od Controll) 컨테이너를 가진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;IoC란 - 직역하면 제어의 역전이다.&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;4. DI (Dependency Injection)를 지원한다.&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;5. 많은 필터를 가지고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스프링이 사용하는 필터는 인터셉터라고 한다 / AOP&lt;/p&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;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;7. MessageConverter가 있으며 현제 JSON이 기본값이다&lt;/p&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. BufferedReader와 BufferedWriter를 쉽게 쓸 수 있다&lt;/p&gt;</description>
      <category>Backend/스프링, 스프링 부트</category>
      <author>Study</author>
      <guid isPermaLink="true">https://study-lag.tistory.com/68</guid>
      <comments>https://study-lag.tistory.com/68#entry68comment</comments>
      <pubDate>Mon, 23 Aug 2021 11:44:56 +0900</pubDate>
    </item>
  </channel>
</rss>