<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>start</title>
    <link>https://startsyudy.tistory.com/</link>
    <description>✏️ 취업준비 시작일 : 2022 / 09 /20
</description>
    <language>ko</language>
    <pubDate>Sat, 9 May 2026 02:36:39 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>heejin424</managingEditor>
    <image>
      <title>start</title>
      <url>https://tistory1.daumcdn.net/tistory/5652883/attach/a8707591aade4476a3a4d090e4d3edae</url>
      <link>https://startsyudy.tistory.com</link>
    </image>
    <item>
      <title>  박희진 포트폴리오</title>
      <link>https://startsyudy.tistory.com/288</link>
      <description>&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/yM3Iz/btscS49MGT5/lie0g2nyHIpfkiSrSKjqZ0/%E1%84%87%E1%85%A1%E1%86%A8%E1%84%92%E1%85%B4%E1%84%8C%E1%85%B5%E1%86%AB_%E1%84%91%E1%85%A9%E1%84%90%E1%85%B3%E1%84%91%E1%85%A9%E1%86%AF%E1%84%85%E1%85%B5%E1%84%8B%E1%85%A9.pdf?attach=1&amp;amp;knm=tfile.pdf&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;박희진_포트폴리오.pdf&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;12.19MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <author>heejin424</author>
      <guid isPermaLink="true">https://startsyudy.tistory.com/288</guid>
      <comments>https://startsyudy.tistory.com/288#entry288comment</comments>
      <pubDate>Wed, 26 Apr 2023 20:14:05 +0900</pubDate>
    </item>
    <item>
      <title>리액트 프로젝트 깃허브페이지 배포하기</title>
      <link>https://startsyudy.tistory.com/287</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;예전에 리액트,js를 사용해서 만들어둔 토이프로젝트를 이번에 포트폴리오 작성을 위해 배포를 하고자 검색하면서 알게된 내용들이다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;vsCode를 사용해서 작업한 작업물이고 배포는 상당히 간단했다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;준비물 : 프로젝트 코드, 깃허브&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 콘솔창이나 터미널에 에러가 있는지 확인해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음으로 build파일을 만들어야하는데, 리액트에서 만드는 방법은 상당히 간단했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;터미널에서 아래와 같은 명령어를 실행한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #f2e0dc; color: #505050; text-align: start;&quot;&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;방법1. yarn build&lt;br /&gt;&lt;br /&gt;방법 2.npm run build&lt;/blockquote&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #505050; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;build가 성공하면 프로젝트 내에&lt;span&gt;&amp;nbsp;&lt;/span&gt;build라는 폴더가 생성된다. 이 폴더를 서버에 올리면 브라우저가 해석할 수 있는 사이트를 만들 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;460&quot; data-origin-height=&quot;545&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1EhX3/btr8OVpykCk/M3REAAl8Z9erbA1KmUUOn1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1EhX3/btr8OVpykCk/M3REAAl8Z9erbA1KmUUOn1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1EhX3/btr8OVpykCk/M3REAAl8Z9erbA1KmUUOn1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1EhX3%2Fbtr8OVpykCk%2FM3REAAl8Z9erbA1KmUUOn1%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;241&quot; height=&quot;286&quot; data-origin-width=&quot;460&quot; data-origin-height=&quot;545&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;build파일만 만들면 거의 다 했다고 생각하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음으로 깃허브에 들어가서 깃허브페이지 리포지토리를 생성한다. 리포지토리명은 &lt;b&gt;내닉네임.github.io&lt;/b&gt;으로 생성해준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1588&quot; data-origin-height=&quot;1516&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lhIcW/btr8LOxXoww/VjVHeb9MZ2MVFkgALYFoPk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lhIcW/btr8LOxXoww/VjVHeb9MZ2MVFkgALYFoPk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lhIcW/btr8LOxXoww/VjVHeb9MZ2MVFkgALYFoPk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlhIcW%2Fbtr8LOxXoww%2FVjVHeb9MZ2MVFkgALYFoPk%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;550&quot; height=&quot;1516&quot; data-origin-width=&quot;1588&quot; data-origin-height=&quot;1516&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;1823&quot; data-origin-height=&quot;863&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/boJYHj/btr8Xym0stb/C0w6CvfODPpVTVIi8cuMqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/boJYHj/btr8Xym0stb/C0w6CvfODPpVTVIi8cuMqk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/boJYHj/btr8Xym0stb/C0w6CvfODPpVTVIi8cuMqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboJYHj%2Fbtr8Xym0stb%2FC0w6CvfODPpVTVIi8cuMqk%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;1823&quot; height=&quot;863&quot; data-origin-width=&quot;1823&quot; data-origin-height=&quot;863&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1772&quot; data-origin-height=&quot;942&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dpE1fl/btr8UXNZuDM/Kgkdkb0yhwJ03fzTckO6QK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dpE1fl/btr8UXNZuDM/Kgkdkb0yhwJ03fzTckO6QK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dpE1fl/btr8UXNZuDM/Kgkdkb0yhwJ03fzTckO6QK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdpE1fl%2Fbtr8UXNZuDM%2FKgkdkb0yhwJ03fzTckO6QK%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;1772&quot; height=&quot;942&quot; data-origin-width=&quot;1772&quot; data-origin-height=&quot;942&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2818&quot; data-origin-height=&quot;1382&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6LqXR/btr8T3Om5yI/b9LMIYkFfT8Ikss0wKHghk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6LqXR/btr8T3Om5yI/b9LMIYkFfT8Ikss0wKHghk/img.png&quot; data-alt=&quot;깃페이지에 들어가서 접속하면 된다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6LqXR/btr8T3Om5yI/b9LMIYkFfT8Ikss0wKHghk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6LqXR%2Fbtr8T3Om5yI%2Fb9LMIYkFfT8Ikss0wKHghk%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;2818&quot; height=&quot;1382&quot; data-origin-width=&quot;2818&quot; data-origin-height=&quot;1382&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;생성되는 시간이 좀 걸리기 떄문에&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10~20분정도 소요된다.&lt;/p&gt;</description>
      <category>JavaScript /리액트</category>
      <author>heejin424</author>
      <guid isPermaLink="true">https://startsyudy.tistory.com/287</guid>
      <comments>https://startsyudy.tistory.com/287#entry287comment</comments>
      <pubDate>Sun, 9 Apr 2023 17:30:44 +0900</pubDate>
    </item>
    <item>
      <title>맥(Mac M2) war파일 생성 후, 서버 연결해서 실행하는 방법</title>
      <link>https://startsyudy.tistory.com/286</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://extsdd.tistory.com/259&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://extsdd.tistory.com/259&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1680685009877&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[아마존 AWS EC2] 서버 인스턴스 삭제하기 / 프리티어 종료! / Elastic IP 삭제&quot; data-og-description=&quot;이번에 아마존 EC2 인스턴스를 12개월 동안 무료로 사용할 수 있는 프리티어 기간이 끝난다는 메일을 받았다. 아무생각 없이 영원히 이용할 수 있을 것 같았던 EC2가.. 끝이라니..! 무료 사용 종료&quot; data-og-host=&quot;extsdd.tistory.com&quot; data-og-source-url=&quot;https://extsdd.tistory.com/259&quot; data-og-url=&quot;https://extsdd.tistory.com/259&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/doV6G9/hySa1kLIBj/2TK1Mgf49kvg50ukRYDX3K/img.png?width=722&amp;amp;height=720&amp;amp;face=0_0_722_720,https://scrap.kakaocdn.net/dn/bhqSmd/hySaVSmYLL/xp2ou1NluhBVG07G9dRL51/img.png?width=722&amp;amp;height=720&amp;amp;face=0_0_722_720,https://scrap.kakaocdn.net/dn/dv7qhQ/hySa60F6OG/UkpKdaMnjDDsIkDBZ7SCDK/img.png?width=724&amp;amp;height=720&amp;amp;face=0_0_724_720&quot;&gt;&lt;a href=&quot;https://extsdd.tistory.com/259&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://extsdd.tistory.com/259&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/doV6G9/hySa1kLIBj/2TK1Mgf49kvg50ukRYDX3K/img.png?width=722&amp;amp;height=720&amp;amp;face=0_0_722_720,https://scrap.kakaocdn.net/dn/bhqSmd/hySaVSmYLL/xp2ou1NluhBVG07G9dRL51/img.png?width=722&amp;amp;height=720&amp;amp;face=0_0_722_720,https://scrap.kakaocdn.net/dn/dv7qhQ/hySa60F6OG/UkpKdaMnjDDsIkDBZ7SCDK/img.png?width=724&amp;amp;height=720&amp;amp;face=0_0_724_720');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[아마존 AWS EC2] 서버 인스턴스 삭제하기 / 프리티어 종료! / Elastic IP 삭제&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;이번에 아마존 EC2 인스턴스를 12개월 동안 무료로 사용할 수 있는 프리티어 기간이 끝난다는 메일을 받았다. 아무생각 없이 영원히 이용할 수 있을 것 같았던 EC2가.. 끝이라니..! 무료 사용 종료&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;extsdd.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;시나리오&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;자바설치&lt;/li&gt;
&lt;li&gt;mysql서버설치&lt;/li&gt;
&lt;li&gt;aws인 경우 서버 보안그룹 설정&lt;/li&gt;
&lt;li&gt;(window)환경에서 원격 mysql서버에 접속해보기&lt;/li&gt;
&lt;li&gt;개발 서버에서 프로젝트 빌드&lt;/li&gt;
&lt;li&gt;FTP통신을 이용해서 빌드 된 파일을 전송
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;또는 깃으로 다운로드하고 리눅스에서 직접빌드 (서버스펙이 요구됨 , AWS 프리티어인 경우 어림도 없음)&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;스프링부트인 경우 백그라운드로 war파일 실행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;AWS인 경우 서버 스펙이 낮기 때문에 swap으로 메모리설정&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 나는 우분투와 로컬의 차이 그리고 접속방법에 대해 잘 알지 못했다..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 로컬에 자꾸 java와 mysql을 설치함 ㅋㅋㅋㅋㅋ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서버에 설치하는 방법은 아래의 순서대로 진행하면 되고, 서버에 접속하기 위해서는 ubuntu를 설치하고 접속하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;aws에서 탄력적ip주소와 pem파일의 key를 생성하고 인바운드 규칙 등등... (따로 정리해야겠다.) 설정한 다음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;맥은 터미널에 바로&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;&lt;b&gt;ssh -i 이름.pem ubuntu@탄력적IP주소&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;를 입력해서 서버로 접속하면 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;그러면 터미널이 서버로 바뀌는듯...? 그 다음 자바와 톰캣 등등 설치를 진행하면됨!...&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1680680015661&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Welcome to Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-1031-aws x86_64)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 메세지와 함께&lt;/p&gt;
&lt;pre id=&quot;code_1680680067238&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ubuntu@ip-********(내아이피):~$&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;apt로 외부 파일 설치 (웹서버구현)&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;향상된 패키지 관리도구 apt
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;외부 파일을 리눅스에 설치하는 방법으론 크게 3가지가 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;wget명령어로 다운하기 (window의 브라우저와 비슷합니다.)&lt;/li&gt;
&lt;li&gt;FTP통신으로 tar파일을 옴기고 압축해제하고 실행하기&lt;/li&gt;
&lt;li&gt;apt명령문으로 파일 다운받기&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;&lt;b&gt;실행(1.자바설치)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;apt설치 시 환경변수 설정은 자동으로 이루어 집니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1.&lt;span style=&quot;background-color: #000000; color: #eb5757;&quot; data-token-index=&quot;0&quot;&gt;sudo apt-get update&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2.&lt;span style=&quot;background-color: #000000; color: #eb5757;&quot; data-token-index=&quot;0&quot;&gt;sudo apt search openjdk-11&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3.&lt;span style=&quot;background-color: #000000; color: #eb5757;&quot; data-token-index=&quot;0&quot;&gt;sudo apt-get install openjdk-11-jdk&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;자바버전 or 컴파일 버전 확인하기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1.java -version&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2.javac -version&lt;/p&gt;
&lt;pre id=&quot;code_1680679687390&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ubuntu@ip-*********:~$ java -version
openjdk version &quot;11.0.18&quot; 2023-01-17
OpenJDK Runtime Environment (build 11.0.18+10-post-Ubuntu-0ubuntu122.04)
OpenJDK 64-Bit Server VM (build 11.0.18+10-post-Ubuntu-0ubuntu122.04, mixed mode, sharing)

ubuntu@ip-*********:~$ javac -version
javac 11.0.18&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;자바 실행파일 찾기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. which java&lt;/p&gt;
&lt;pre id=&quot;code_1680679742350&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ubuntu@ip-*********:~$ which java
/usr/bin/java&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;환경변수 등록확인&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. echo $PATH&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모놀리식 아키텍쳐 웹서버 vs MSA기반 아키텍쳐버 웹서버
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;대표적인 웹서버 구현 아키텍쳐는 하나의 운영체제 위에 필요한 서비스를 모두 묶어서 구축하는 형식입니다.&lt;/li&gt;
&lt;li&gt;전통적인 서버 구축 방식입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;하나의 서비스 또는 어플리케이션이 하나의 거대한 아키텍처를 가질 때, Monolithic 하다고 합니다.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;데이터베이스는 같은 운영체제에 묶을 수도 있고, 다른 서버에 분리해서 구축할 수도 있습니다.&lt;/li&gt;
&lt;li&gt;RDS and EC2데이터베이스 and 웹서버에 데이터베이스&lt;/li&gt;
&lt;li&gt;예제에서는 DB도 묶어서 실습 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;&lt;b&gt;실행(2.mysql설치)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;apt방식으로 mysql을 받고 설치한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1.sudo apt search mysql&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2.sudo apt-get install mysql-server&lt;/p&gt;
&lt;pre id=&quot;code_1680680983790&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Reading package lists... Done
Building dependency tree... Done
Reading state information... Done&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;등등 여러개의 잡다한 패키지를 설치하는 과정이 나온다. 중간에 [Y/N]을 입력하는 구간이 나오면 Y를 입력해주면 쭉 실행되면서 설치된다/&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음으로 mysql설치 후 초기 비밀번호 설정을 해주면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1.mysql접속 &lt;span style=&quot;background-color: #000000; color: #eb5757;&quot; data-token-index=&quot;1&quot;&gt;sudo mysql&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2.초기비번설정 &lt;span style=&quot;background-color: #000000; color: #eb5757;&quot; data-token-index=&quot;3&quot;&gt;ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password by '비밀번호';&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3.탈출 &lt;span style=&quot;background-color: #000000; color: #eb5757;&quot; data-token-index=&quot;5&quot;&gt;exit&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4.루트로접속 &lt;span style=&quot;background-color: #000000; color: #eb5757;&quot; data-token-index=&quot;7&quot;&gt;mysql -u root -p&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비밀번호 입력후 접속이 되면 정상 설치 완료&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;&lt;b&gt;보안그룹설정(3.mysql접속)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-token-index=&quot;0&quot;&gt;AWS라면 보안그룹 설정으로 포트를 설정합니다&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2270&quot; data-origin-height=&quot;496&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bh8HjR/btr8gxXn5U9/yHz0HtcqfJlyA9NwRTQBC1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bh8HjR/btr8gxXn5U9/yHz0HtcqfJlyA9NwRTQBC1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bh8HjR/btr8gxXn5U9/yHz0HtcqfJlyA9NwRTQBC1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbh8HjR%2Fbtr8gxXn5U9%2FyHz0HtcqfJlyA9NwRTQBC1%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;2270&quot; height=&quot;496&quot; data-origin-width=&quot;2270&quot; data-origin-height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;mysql의 포트개방 입니다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;설정하지 않더라도 ssh를 통해서 접속이 가능함. (보안을 강화하려면 설정하지 않음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;접속가능한 아이피주소 입니다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;0.0.0.0/0 인 경우 어디서든 접속 가능입니다. (보안에 매우 위험. 데이터베이스 해킹에 취약해짐)&lt;/li&gt;
&lt;li&gt;본인의 공용 아이피를 적어서 본인 컴퓨터에서만 접속 가능하게 할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ssh접속 포트개방 입니다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;반드시 열어야 함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;접속가능한 아이피주소 입니다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;0.0.0.0/0 인 경우 어디서든 접속 가능입니다. (보안에 매우 위험)&lt;/li&gt;
&lt;li&gt;본인의 공용 아이피를 적어서 본인 컴퓨터에서만 접속 가능하게 할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2736&quot; data-origin-height=&quot;1142&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bklF7z/btr8jPh9wBJ/QKdKzrFLp9ZJKeHvFajLk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bklF7z/btr8jPh9wBJ/QKdKzrFLp9ZJKeHvFajLk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bklF7z/btr8jPh9wBJ/QKdKzrFLp9ZJKeHvFajLk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbklF7z%2Fbtr8jPh9wBJ%2FQKdKzrFLp9ZJKeHvFajLk1%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;2736&quot; height=&quot;1142&quot; data-origin-width=&quot;2736&quot; data-origin-height=&quot;1142&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3306포트는 개방하지 않고 리눅스에 ssh로 접속하여 mysql로 접근할 수 있습니다. (보다 안전)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1165&quot; data-origin-height=&quot;1276&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bV8PNL/btr8htz97uz/VARVZVk9LZVCdiEz0pYpkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bV8PNL/btr8htz97uz/VARVZVk9LZVCdiEz0pYpkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bV8PNL/btr8htz97uz/VARVZVk9LZVCdiEz0pYpkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbV8PNL%2Fbtr8htz97uz%2FVARVZVk9LZVCdiEz0pYpkK%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;554&quot; height=&quot;1276&quot; data-origin-width=&quot;1165&quot; data-origin-height=&quot;1276&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;접속했으면 개발 환경의 데이터베이스를 운영을 백업하고, 동일한 환경을 구성합니다.&lt;/li&gt;
&lt;li&gt;MySQL&amp;nbsp;환경과 설정에 따라&amp;nbsp;대소문자를 구분하기도 하고 그렇지 않기도 한다.&lt;/li&gt;
&lt;li&gt;컬럼이름은 모든 환경에서&amp;nbsp;대소문자를 구분하지 않는다.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;create database spring default character set 'utf8';&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;create user 'spring' identified by 'spring';&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;grant all privileges on spring.* to 'spring';&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 같은 조원 조장님이 만들어주신 build war파일을 사용해서 쉽게 배포할 수 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 깃 클론받아서 파일 수정한 다음에 한번 빌드해보는 것도 연습해볼 예정!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;&lt;b&gt;개발서버에서 프로젝트 빌드&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;어플리케이션 빌드란?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;컴퓨터가 코드를 실행 시킬 수 있도록 컴파일하며, 어플리케이션에 필요한 라이브러리를 통합하고, 합치는 과정&lt;/li&gt;
&lt;li&gt;빌드 과정은 무거운 작업이기 때문에 컴퓨터 사양이 좋아야 합니다. (여유 하드디스크 용량도 필요)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;EC2에서 프리 티어로 제공하는 운영체제는 사양이 좋지 않기 때문에 윈도우에서 빌드 합니다.&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;프로젝트 빌드시 필수사항&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;레이아웃을 쓰는 경우 th:replace부분을 ./경로/경로 형태로 전부 수정 (리눅스의 경로 참조 문제)&lt;/li&gt;
&lt;li&gt;파일업로드 경로 처리
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;개발환경의 업로드 경로 \\ 를 전부 우분투 환경의 경로에 맞추어 /로 변환한다.&lt;/li&gt;
&lt;li&gt;우분투에 만들어지는 로컬 업로드 폴더는 window와 다르다.&lt;/li&gt;
&lt;li&gt;app-properties파일의 업로드 경로를 우분투의 경로 /home/ubuntu/upload 형태로 바꾼다.&lt;/li&gt;
&lt;li&gt;우분투에 /home/ubuntu/upload폴더를 만들어준다.&lt;/li&gt;
&lt;li&gt;파일을 업로드 하려면 어플리케이션이 폴더를 (읽기 쓰기 실행) 할 수 있는 권한이 있어야 한다.&lt;/li&gt;
&lt;li&gt;sudo chmod -R 777 /home/ubuntu/upload 으로 누구나 다 (읽기 쓰기 실행) 할 수 있는 권한을 준다.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;운영 데이터베이스의 접속 주소가 다르다면 수정한다.&lt;/li&gt;
&lt;li&gt;빌드파일 설정 build/gradle의 version명을 바꿔도 된다 (선택사항)&lt;/li&gt;
&lt;li&gt;추가로 여러분 프로젝트를 운영 환경에 맞추어 설정하면 됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫번째 방법. &lt;b&gt;CMD빌드&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;윈도우에 자바11설치 (8버전이 있는 경우는 8버전 환경변수 삭제하고 cmd로 이동)&lt;/li&gt;
&lt;li&gt;프로젝트 루트폴더 안에서 ./gradlew build 또는 (gradlew build)&lt;/li&gt;
&lt;li&gt;./build/libs 폴더 안에 war 파일이 생성되었습니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두번째 방법. &lt;b&gt;통합 개발 환경에서 마우스로 빌드&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;이클립스기준 show view에서 greadle task추가&lt;/li&gt;
&lt;li&gt;gradle task탭에서 빌드&lt;/li&gt;
&lt;li&gt;./build/libs 폴더 안에 war 파일이 생성되었습니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;java -jar /home/게정명/파일명.war&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;실행해보기!&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;&lt;b&gt;FTP통신을 이용해서 빌드 된 파일을 전송&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FTP통신 - File transfer protocol&lt;/li&gt;
&lt;li&gt;파일을 전송하는 통신방법 입니다.&lt;/li&gt;
&lt;li&gt;빌드가 완료된 파일을 우분투 서버로 옮겨서 동작 시켜야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;파일질라 프로그램 설치&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://filezilla-project.org/&quot;&gt;https://filezilla-project.org/&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;파일질라를 통해 서버에 접속하기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS라면 키페어 등록 후 접속&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;1499&quot; data-origin-height=&quot;696&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qW8nk/btr8hngs4UG/EgzoXuKFTRfKHwclK2caU0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qW8nk/btr8hngs4UG/EgzoXuKFTRfKHwclK2caU0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qW8nk/btr8hngs4UG/EgzoXuKFTRfKHwclK2caU0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqW8nk%2Fbtr8hngs4UG%2FEgzoXuKFTRfKHwclK2caU0%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;1499&quot; height=&quot;696&quot; data-origin-width=&quot;1499&quot; data-origin-height=&quot;696&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;키는 aws에서 생성한 pem파일 등록하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 우분투에서 war나 jar빌드한 파일을 실행해주면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 실행하면 터미널 종료시 어플리케이션이 종료된다 ㅜㅜ 그래서 그 아래와 같이 실행하면 백그라운드로 동작된다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #000000; color: #eb5757;&quot; data-token-index=&quot;0&quot;&gt;java -jar 경로/프로젝트.jar &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #000000; color: #eb5757;&quot; data-token-index=&quot;0&quot;&gt;java -jar /home/ubuntu/BootMyweb-0.0.1.war&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;jar or war파일의 백그라운드 실행 명령&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우분투 서버에서 실행파일을 백그라운드로 동작 시킵니다.&lt;/li&gt;
&lt;li&gt;터미널을 종료해도 어플리케이션은 백그라운드로 동작됩니다.&lt;/li&gt;
&lt;li&gt;실행로그는 nohup.out 파일에 기록 됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;하드디스크를 렘으로 일부분 변환시켜 RAM의 성능을 올려줄 수 있는 방법이 있습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;SWAP설정 입니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://down-develope.tistory.com/6&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://down-develope.tistory.com/6&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1680694288030&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;AWS ec2 프리티어 t2.micro 인스턴스 다운문제 해결&quot; data-og-description=&quot;작은 개인 프로젝트 배포를 위해 AWS EC2중 무료인 t2.micro를 사용하시는 분들이 많을 것입니다. 그런데 t2.micro를 사용하다보면 인스턴스가 다운돼서 분명 인스턴스 상태는 running 이지만 ssh 접속이 &quot; data-og-host=&quot;down-develope.tistory.com&quot; data-og-source-url=&quot;https://down-develope.tistory.com/6&quot; data-og-url=&quot;https://down-develope.tistory.com/6&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dUw0DE/hySa0M7oFr/J1OvhBlqmfaZaZ9oQlDIK0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/byUmRb/hySaXbMxYs/lswbmBknwZGrmeqsll3kWK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800&quot;&gt;&lt;a href=&quot;https://down-develope.tistory.com/6&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://down-develope.tistory.com/6&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dUw0DE/hySa0M7oFr/J1OvhBlqmfaZaZ9oQlDIK0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/byUmRb/hySaXbMxYs/lswbmBknwZGrmeqsll3kWK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;AWS ec2 프리티어 t2.micro 인스턴스 다운문제 해결&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;작은 개인 프로젝트 배포를 위해 AWS EC2중 무료인 t2.micro를 사용하시는 분들이 많을 것입니다. 그런데 t2.micro를 사용하다보면 인스턴스가 다운돼서 분명 인스턴스 상태는 running 이지만 ssh 접속이&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;down-develope.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프리티어 설정 후&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #000000; color: #eb5757;&quot; data-token-index=&quot;0&quot;&gt;nohup java -jar 경로/프로젝트.jar &amp;amp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #000000; color: #eb5757;&quot; data-token-index=&quot;0&quot;&gt; nohup java -jar /home/ubuntu/BootMyweb-0.0.1.war &amp;amp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;nohup.out파일의 실시간 로그 확인 명령&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;운영 환경에서 에러는 여기서 볼 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;tail -fn50 nohup.out&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 끝...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;http://탄력적ip:포트번호/경로&lt;/b&gt;를 입력하면 어디에서든 접속 할 수 있다.....&lt;/p&gt;</description>
      <author>heejin424</author>
      <guid isPermaLink="true">https://startsyudy.tistory.com/286</guid>
      <comments>https://startsyudy.tistory.com/286#entry286comment</comments>
      <pubDate>Wed, 5 Apr 2023 20:33:53 +0900</pubDate>
    </item>
    <item>
      <title>mac m2 VScode설치방법</title>
      <link>https://startsyudy.tistory.com/285</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #202124; text-align: left;&quot;&gt;2020년 이전에 생산된&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;인텔&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #202124; text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;i3, i5, i7 등의 CPU를 사용하는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;애플&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #202124; text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;컴퓨터들을&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;인텔맥&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #202124; text-align: left;&quot;&gt;이라하고,&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #202124; text-align: left;&quot;&gt; 2020년 이후에 판매되며&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;애플&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #202124; text-align: left;&quot;&gt;에서 자체제작한 M1 CPU를 사용하는 컴퓨터를&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;실리콘맥&lt;/b&gt;이라고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Visual Studio Code는 (VSCode) IDE부분에서 가장 인기있는 코드 에디터이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* IDE란?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;통합 개발 환경(IDE)이란 프로그래머가 소프트웨어 코드를 효율적으로 개발하도록 돕는 소프트웨어 애플리케이션입니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://code.visualstudio.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://code.visualstudio.com/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1680422250599&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Visual Studio Code - Code Editing. Redefined&quot; data-og-description=&quot;Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.&amp;nbsp; Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.&quot; data-og-host=&quot;code.visualstudio.com&quot; data-og-source-url=&quot;https://code.visualstudio.com/&quot; data-og-url=&quot;https://code.visualstudio.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dngfoe/hyR7B1f7o8/d4Oyf4AL8tk937QrCChHL0/img.png?width=1012&amp;amp;height=506&amp;amp;face=0_0_1012_506&quot;&gt;&lt;a href=&quot;https://code.visualstudio.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://code.visualstudio.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dngfoe/hyR7B1f7o8/d4Oyf4AL8tk937QrCChHL0/img.png?width=1012&amp;amp;height=506&amp;amp;face=0_0_1012_506');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Visual Studio Code - Code Editing. Redefined&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.&amp;nbsp; Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;code.visualstudio.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공식웹사이트에서 최신버전 다운받기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인텔CPU맥과 애플실리콘 맥북을 모두 지원한다.&lt;/p&gt;
&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 alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1326&quot; data-origin-height=&quot;795&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cuFg5Y/btr7hwZpF5r/e81rWyqXZ5NFNgr3KPrHt0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cuFg5Y/btr7hwZpF5r/e81rWyqXZ5NFNgr3KPrHt0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cuFg5Y/btr7hwZpF5r/e81rWyqXZ5NFNgr3KPrHt0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcuFg5Y%2Fbtr7hwZpF5r%2Fe81rWyqXZ5NFNgr3KPrHt0%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;547&quot; height=&quot;795&quot; data-origin-width=&quot;1326&quot; data-origin-height=&quot;795&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;zip파일이 다운로드가 완료된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;zip파일을 열면 Visual Studio Code어플리케이션 파일이 생성된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다운로드 폴더에서 응용프로그램으로 복사해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;복사한 파일을 열면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;인터넷에서 다운로드 받은 앱이라는 경고 팝업이 나타난다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;공식 웹사이트에서 다운로드 받은 파일이므로 열기를 클릭해서 실행한다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>정리할 것들</category>
      <author>heejin424</author>
      <guid isPermaLink="true">https://startsyudy.tistory.com/285</guid>
      <comments>https://startsyudy.tistory.com/285#entry285comment</comments>
      <pubDate>Sun, 2 Apr 2023 17:04:42 +0900</pubDate>
    </item>
    <item>
      <title>리눅스 - apt로 외부파일 설치 (웹서버구현)</title>
      <link>https://startsyudy.tistory.com/280</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;향상된 패키지 관리도구 apt&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;외부 파일을 리눅스에 설치하는 방법으론 크게 3가지가 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;wget명령어로 다운하기 (window의 브라우저와 비슷합니다.)&lt;/li&gt;
&lt;li&gt;FTP통신으로 tar파일을 옴기고 압축해제하고 실행하기&lt;/li&gt;
&lt;li&gt;apt명령문으로 파일 다운받기&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;apt는 인터넷을 통해 원격에 저장된 패키지를 다운로드 받아서 설치해주는 향상된 패키지 관리 도구 입니다.&lt;/li&gt;
&lt;li&gt;향상된 패키지 관리 도구 apt는 필요한 파일을 다운로드 하고 환경 설정까지 처리 해줍니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-패키지 관리도구 업데이트&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;apt-get update&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 패키지 찾기&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;apt search &amp;lt;패키지명&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-패키지 다운로드하기&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;apt-get install &amp;lt;패키지명&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;모놀리식 아키텍쳐 웹서버&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;대표적인 웹서버 구현 아키텍쳐는 하나의 운영체제 위에 필요한 서비스를 모두 묶어서 구축하는 형식입니다.&lt;/li&gt;
&lt;li&gt;전통적인 서버 구축 방식입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;하나의 서비스 또는 어플리케이션이 하나의 거대한 아키텍처를 가질 때, Monolithic 하다고 합니다.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;데이터베이스는 같은 운영체제에 묶을 수도 있고, 다른 서버에 분리해서 구축할 수도 있습니다.&lt;/li&gt;
&lt;li&gt;예제에서는 DB도 묶어서 실습합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 실행(자바설치) &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sudo apt-get update&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sudo apt search openjdk-11&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sudo apt-get install openjdk-11-jdkwhich java&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-ke-size=&quot;size16&quot;&gt;java -version javac -version&lt;/li&gt;
&lt;li&gt;자바실행파일 찾기&lt;/li&gt;
&lt;li&gt;자바버전 or 컴파일 버전 확인하기&lt;/li&gt;
&lt;li&gt;apt설치 시 환경변수 설정은 자동으로 이루어 집니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.&lt;/b&gt; &lt;b&gt;mysql설치&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dev.mysql.com/doc/refman/8.0/en/alter-user.html&quot;&gt;https://dev.mysql.com/doc/refman/8.0/en/alter-user.html&lt;/a&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;apt방식으로 mysql을 받고 설치한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sudo apt search mysql&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sudo apt-get install mysql-server&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;mysql설치 후 초기 비밀번호 설정&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;mysql접속 &lt;span style=&quot;background-color: #000000; color: #eb5757;&quot; data-token-index=&quot;1&quot;&gt;sudo mysql&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초기비번설정 &lt;span style=&quot;background-color: #000000; color: #eb5757;&quot; data-token-index=&quot;3&quot;&gt;ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '비밀번호';&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;탈출 &lt;span style=&quot;background-color: #000000; color: #eb5757;&quot; data-token-index=&quot;5&quot;&gt;exit&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;루트로접속 &lt;span style=&quot;background-color: #000000; color: #eb5757;&quot; data-token-index=&quot;7&quot;&gt;mysql -u root -p&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비밀번호 입력후 접속이 되면 정상 설치 완료&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. &lt;span data-token-index=&quot;1&quot;&gt;AWS라면 보안그룹 설정으로 포트를 설정합니다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;mysql의 포트개방 입니다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;설정하지 않더라도 ssh를 통해서 접속이 가능함. (보안을 강화하려면 설정하지 않음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;접속가능한 아이피주소 입니다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;0.0.0.0/0 인 경우 어디서든 접속 가능입니다. (보안에 매우 위험. 데이터베이스 해킹에 취약해짐)&lt;/li&gt;
&lt;li&gt;본인의 공용 아이피를 적어서 본인 컴퓨터에서만 접속 가능하게 할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ssh접속 포트개방 입니다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;반드시 열어야 함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;접속가능한 아이피주소 입니다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;0.0.0.0/0 인 경우 어디서든 접속 가능입니다. (보안에 매우 위험)&lt;/li&gt;
&lt;li&gt;본인의 공용 아이피를 적어서 본인 컴퓨터에서만 접속 가능하게 할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. window환경에서 원격 mysql서버에 접속해보기&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rZCSr/btr6lqkqhHl/kmYMQ05RlRoAhhh96j5Mn1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rZCSr/btr6lqkqhHl/kmYMQ05RlRoAhhh96j5Mn1/img.png&quot; data-origin-width=&quot;1332&quot; data-origin-height=&quot;1260&quot; data-is-animation=&quot;false&quot; style=&quot;width: 54.4567%; margin-right: 10px;&quot; data-widthpercent=&quot;55.1&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rZCSr/btr6lqkqhHl/kmYMQ05RlRoAhhh96j5Mn1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrZCSr%2Fbtr6lqkqhHl%2FkmYMQ05RlRoAhhh96j5Mn1%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;1332&quot; height=&quot;1260&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ExT6N/btr5Uke2McJ/qpn1ZB5KThfHdhF1pcC570/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ExT6N/btr5Uke2McJ/qpn1ZB5KThfHdhF1pcC570/img.png&quot; data-origin-width=&quot;1064&quot; data-origin-height=&quot;1235&quot; data-is-animation=&quot;false&quot; style=&quot;width: 44.3805%;&quot; data-widthpercent=&quot;44.9&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ExT6N/btr5Uke2McJ/qpn1ZB5KThfHdhF1pcC570/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FExT6N%2Fbtr5Uke2McJ%2Fqpn1ZB5KThfHdhF1pcC570%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;1064&quot; height=&quot;1235&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;접속했으면 개발 환경의 데이터베이스를 운영을 백업하고, 동일한 환경을 구성합니다.&lt;/li&gt;
&lt;li&gt;MySQL&amp;nbsp;환경과 설정에 따라&amp;nbsp;대소문자를 구분하기도 하고 그렇지 않기도 한다.&lt;/li&gt;
&lt;li&gt;컬럼이름은 모든 환경에서&amp;nbsp;대소문자를 구분하지 않는다.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;create database spring default character set 'utf8';&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;create user 'spring' identified by 'spring';&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;grant all privileges on spring.* to 'spring';&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5. 개발 서버에서 프로젝트 빌드&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;어플리케이션 빌드란?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;컴퓨터가 코드를 실행 시킬 수 있도록 컴파일하며, 어플리케이션에 필요한 라이브러리를 통합하고, 합치는 과정&lt;/li&gt;
&lt;li&gt;빌드 과정은 무거운 작업이기 때문에 컴퓨터 사양이 좋아야 합니다. (여유 하드디스크 용량도 필요)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;EC2에서 프리 티어로 제공하는 운영체제는 사양이 좋지 않기 때문에 윈도우에서 빌드 합니다.&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;프로젝트 빌드시 필수사항&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;레이아웃을 쓰는 경우 th:replace부분을 ./경로/경로 형태로 전부 수정 (리눅스의 경로 참조 문제)&lt;/li&gt;
&lt;li&gt;파일업로드 경로 처리
&lt;ol style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;개발환경의 업로드 경로 \\ 를 전부 우분투 환경의 경로에 맞추어 /로 변환한다.&lt;/li&gt;
&lt;li&gt;우분투에 만들어지는 로컬 업로드 폴더는 window와 다르다.&lt;/li&gt;
&lt;li&gt;app-properties파일의 업로드 경로를 우분투의 경로 /home/ubuntu/upload 형태로 바꾼다.&lt;/li&gt;
&lt;li&gt;우분투에 /home/ubuntu/upload폴더를 만들어준다.&lt;/li&gt;
&lt;li&gt;파일을 업로드 하려면 어플리케이션이 폴더를 (읽기 쓰기 실행) 할 수 있는 권한이 있어야 한다.&lt;/li&gt;
&lt;li&gt;sudo chmod -R 777 /home/ubuntu/upload 으로 누구나 다 (읽기 쓰기 실행) 할 수 있는 권한을 준다.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;운영 데이터베이스의 접속 주소가 다르다면 수정한다.&lt;/li&gt;
&lt;li&gt;빌드파일 설정 build/gradle의 version명을 바꿔도 된다 (선택사항)&lt;/li&gt;
&lt;li&gt;추가로 여러분 프로젝트를 운영 환경에 맞추어 설정하면 됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;프로젝트 빌드&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;프로젝트 빌드시 모든 test코드를 실행한 후에 통합하게 된다.&lt;/li&gt;
&lt;li&gt;test코드에 실패하면 빌드는 실패한다.&lt;/li&gt;
&lt;li&gt;다른 이유에서 에러가 발생하면 개발자는 에러의 이유를 탐색하고 찾아서 해결한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CMD빌드&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;윈도우에 자바11설치 (8버전이 있는 경우는 8버전 환경변수 삭제하고 cmd로 이동)&lt;/li&gt;
&lt;li&gt;프로젝트 폴더 안에서 ./gradlew build 또는 (gradlew build)&lt;/li&gt;
&lt;li&gt;./build/libs 폴더 안에 war 파일이 생성되었습니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;통합 개발 환경에서 마우스로 빌드&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이클립스기준 show view에서 greadle task추가&lt;/li&gt;
&lt;/ol&gt;
&lt;ol style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;gradle task탭에서 빌드&lt;/li&gt;
&lt;/ol&gt;
&lt;ol style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;./build/libs 폴더 안에 war 파일이 생성되었습니다.&lt;/li&gt;
&lt;li&gt;윈도우에 자바11설치 (8버전이 있는 경우는 8버전 환경변수 삭제하고 cmd로 이동)&lt;/li&gt;
&lt;li&gt;프로젝트 폴더 안에서 ./gradlew build 또는 (gradlew build)&lt;/li&gt;
&lt;li&gt;./build/libs 폴더 안에 war 파일이 생성되었습니다.&lt;b&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;통합 개발 환경에서 마우스로 빌드&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이클립스기준 show view에서 greadle task추가&lt;/li&gt;
&lt;li&gt;gradle task탭에서 빌드&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;./build/libs 폴더 안에 war 파일이 생성되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이클립스기준 show view에서 greadle task추가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;gradle task탭에서 빌드&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;./build/libs 폴더 안에 war 파일이 생성되었습니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;동작시켜보기&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;java -jar 경로/프로젝트.jar&lt;br /&gt;java -jar BootMyweb-0.0.1.war&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;6. FTP통신을 이용해서 빌드 된 파일을 전송&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: none;&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FTP통신 - File transfer protocol&lt;/li&gt;
&lt;li&gt;파일을 전송하는 통신방법 입니다.&lt;/li&gt;
&lt;li&gt;빌드가 완료된 파일을 우분투 서버로 옴겨서 동작 시켜야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;파일질라 프로그램 설치&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://filezilla-project.org/&quot;&gt;https://filezilla-project.org/&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;파일질라를 통해 서버에 접속하기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS라면 키페어 등록 후 접속&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VM이라면 비밀번호만 입력 후 접속&lt;/p&gt;
&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. 스프링부트인 경우 백그라운드로 war파일 실행&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;jar or war파일의 실행 명령&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이렇게 돌리게 되면 터미널을 종료하면 어플리케이션은 종료됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;java -jar 경로/프로젝트.jar java -jar /home/ubuntu/BootMyweb-0.0.1.war&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;jar or war파일의 백그라운드 실행 명령&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우분투 서버에서 실행파일을 백그라운드로 동작 시킵니다.&lt;/li&gt;
&lt;li&gt;터미널을 종료해도 어플리케이션은 백그라운드로 동작됩니다.&lt;/li&gt;
&lt;li&gt;실행로그는 hohup.out 파일에 기록 됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;nohup java -jar 경로/프로젝트.jar &amp;amp; nohup java -jar /home/ubuntu/BootMyweb-0.0.1.war &amp;amp;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;nohup.out파일의 실시간 로그 확인 명령&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;운영 환경에서 에러는 여기서 볼 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;tail -fn50 nohup.out&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;jar or war파일의 백그라운드 파일 종료 명령&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;백그라운드 실행되는 파일은 프로세스 번호로 종료합니다.&lt;/li&gt;
&lt;li&gt;프로세스 확인 명령 ps&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ps&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;프로세스 중 특정 단어가 들어간 파일을 찾는 명령&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ps -ef|grep 자르명 또는 합쳐서 사용하는 pgrep pgrep &amp;ndash;f 자르명&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;프로세스 종료(755권한 반드시 필요)&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sudo kill -9 PID번호&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스왑설정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;AWS공식문서&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html&quot;&gt;https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1679894327309&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;버스트 가능 성능 인스턴스에 대한 주요 개념 및 정의 - Amazon Elastic Compute Cloud&quot; data-og-description=&quot;버스트 가능 성능 인스턴스에 대한 주요 개념 및 정의 기존 Amazon EC2 인스턴스 유형은 고정된 CPU 리소스를 제공하는 반면, 성능 순간 확장 가능 인스턴스는 기본 수준의 CPU 사용률을 제공하면서 &quot; data-og-host=&quot;docs.aws.amazon.com&quot; data-og-source-url=&quot;https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html&quot; data-og-url=&quot;https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bvyl7a/hyR38KMABo/FfQbFwnu4xkhkcogZmpbZ0/img.png?width=829&amp;amp;height=403&amp;amp;face=0_0_829_403,https://scrap.kakaocdn.net/dn/yYXkI/hyR315YJrq/McDZhgmOoKdWWqkV5hDF3K/img.png?width=634&amp;amp;height=342&amp;amp;face=0_0_634_342&quot;&gt;&lt;a href=&quot;https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bvyl7a/hyR38KMABo/FfQbFwnu4xkhkcogZmpbZ0/img.png?width=829&amp;amp;height=403&amp;amp;face=0_0_829_403,https://scrap.kakaocdn.net/dn/yYXkI/hyR315YJrq/McDZhgmOoKdWWqkV5hDF3K/img.png?width=634&amp;amp;height=342&amp;amp;face=0_0_634_342');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;버스트 가능 성능 인스턴스에 대한 주요 개념 및 정의 - Amazon Elastic Compute Cloud&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;버스트 가능 성능 인스턴스에 대한 주요 개념 및 정의 기존 Amazon EC2 인스턴스 유형은 고정된 CPU 리소스를 제공하는 반면, 성능 순간 확장 가능 인스턴스는 기본 수준의 CPU 사용률을 제공하면서&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;docs.aws.amazon.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스왑설정은 여기를 참고하거나&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://down-develope.tistory.com/6&quot;&gt;https://down-develope.tistory.com/6&lt;/a&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;a href=&quot;https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-memory-swap-file/&quot;&gt;https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-memory-swap-file/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1679894337224&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;스왑 파일을 사용하여 Amazon EC2 인스턴스의 스왑 공간으로 메모리 할당 | AWS re:Post&quot; data-og-description=&quot;Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 스왑 파일로 사용할 메모리를 할당하려고 합니다. 어떻게 해야 하나요?&quot; data-og-host=&quot;repost.aws&quot; data-og-source-url=&quot;https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-memory-swap-file/&quot; data-og-url=&quot;https://repost.aws/ko/knowledge-center/ec2-memory-swap-file&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/brOVXT/hyR4eK0vCb/CEJTFK6BWkYqQutpWqICs1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-memory-swap-file/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-memory-swap-file/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/brOVXT/hyR4eK0vCb/CEJTFK6BWkYqQutpWqICs1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;스왑 파일을 사용하여 Amazon EC2 인스턴스의 스왑 공간으로 메모리 할당 | AWS re:Post&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 스왑 파일로 사용할 메모리를 할당하려고 합니다. 어떻게 해야 하나요?&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;repost.aws&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>리눅스</category>
      <author>heejin424</author>
      <guid isPermaLink="true">https://startsyudy.tistory.com/280</guid>
      <comments>https://startsyudy.tistory.com/280#entry280comment</comments>
      <pubDate>Mon, 27 Mar 2023 10:53:43 +0900</pubDate>
    </item>
    <item>
      <title>리눅스</title>
      <link>https://startsyudy.tistory.com/279</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://ap-northeast-2.console.aws.amazon.com/ec2/home?region=ap-northeast-2#Home:&quot;&gt;https://ap-northeast-2.console.aws.amazon.com/ec2/home?region=ap-northeast-2#Home:&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1679366920825&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;https://ap-northeast-2.console.aws.amazon.com/ec2/home?region=ap-northeast-2#Home:&quot; data-og-description=&quot;&quot; data-og-host=&quot;ap-northeast-2.console.aws.amazon.com&quot; data-og-source-url=&quot;https://ap-northeast-2.console.aws.amazon.com/ec2/home?region=ap-northeast-2#Home:&quot; data-og-url=&quot;https://ap-northeast-2.console.aws.amazon.com/ec2/home?region=ap-northeast-2#Home:&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://ap-northeast-2.console.aws.amazon.com/ec2/home?region=ap-northeast-2#Home:&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://ap-northeast-2.console.aws.amazon.com/ec2/home?region=ap-northeast-2#Home:&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;https://ap-northeast-2.console.aws.amazon.com/ec2/home?region=ap-northeast-2#Home:&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;ap-northeast-2.console.aws.amazon.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;aws회원가입 후 대시보드 EC2 접속&lt;/p&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; 탄력적 IP에서 IP주소 할당하기 -&amp;gt; 보안그룹에서 인바운드 아웃바운드 확인&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인바운드 아웃바운드 - 방화벽&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인바운드 - 접속하는 포트규칙&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아웃바운드 - 나가는 포트규칙&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 개발자가 알아야 하는 리눅스 명령문&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1) 운영 체제(os란?)&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 사용자의 하드웨어, 시스템 리소스를 제어하고 프로그램에 대한 일반적 서비스를 지원하는 시스템 소프트웨어이다.&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 우리가 주로 사용하는 운영체제는 window, mac os가 있다.&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2) 개발자는 Linux를 알아야 하나요?&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 운영환경은 보통 linux 시스템을 사용하는 경우가 많다.&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2. 리눅스 설치&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 리눅스 운영체제를 사용해보기 위해서는 운영체제 설치가 필요합니다.&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 우리 컴퓨터는 이미 window가 설치되어 있기 때문에 가상 머신을 활용해서 리눅스 운영체제를 설치해야 합니다.&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 가상머신 vmware 설치, 가상 머신에 리눅스 배포판 설치&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1) 가상머신 vmware 설치&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;VMware workstation player다운&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.vmware.com/kr/products/workstation-player.html&quot;&gt;https://www.vmware.com/kr/products/workstation-player.html&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1680422975017&quot; style=&quot;color: #333333; text-align: start;&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;product&quot; data-og-title=&quot;VMware Workstation Player | VMware&quot; data-og-description=&quot;VMware Workstation Player allows you to safely run a second, isolated operating system on a single PC. Learn more.&quot; data-og-host=&quot;www.vmware.com&quot; data-og-source-url=&quot;https://www.vmware.com/kr/products/workstation-player.html&quot; data-og-url=&quot;https://www.vmware.com/products/workstation-player.html&quot; data-og-image=&quot;&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.vmware.com/kr/products/workstation-player.html&quot; data-source-url=&quot;https://www.vmware.com/kr/products/workstation-player.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('&amp;quot;&amp;quot;');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;VMware Workstation Player | VMware&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;VMware Workstation Player allows you to safely run a second, isolated operating system on a single PC. Learn more.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;www.vmware.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;div&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cnWyuO/btr7C2idefC/qGloRJDKYy2CcoQYwimIi1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cnWyuO/btr7C2idefC/qGloRJDKYy2CcoQYwimIi1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFPPPG%2Fbtr40S40GpI%2Fl0nAequ2iJxz11BURqOKYK%2Fimg.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1011&quot; data-is-animation=&quot;false&quot; style=&quot;width: 32.5978%; margin-right: 10px;&quot; data-widthpercent=&quot;33.37&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cnWyuO/btr7C2idefC/qGloRJDKYy2CcoQYwimIi1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcnWyuO%2Fbtr7C2idefC%2FqGloRJDKYy2CcoQYwimIi1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1011&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cPJCng/btr7hSBBUBs/J7sbdhY27nKcieaIFFQqL0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cPJCng/btr7hSBBUBs/J7sbdhY27nKcieaIFFQqL0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvgnWX%2Fbtr41IHvvAV%2FPcaCcA7W4nl9chy6TKDDVK%2Fimg.png&quot; data-origin-width=&quot;970&quot; data-origin-height=&quot;770&quot; data-is-animation=&quot;false&quot; style=&quot;width: 32.4347%; margin-right: 10px;&quot; data-widthpercent=&quot;33.21&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cPJCng/btr7hSBBUBs/J7sbdhY27nKcieaIFFQqL0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcPJCng%2Fbtr7hSBBUBs%2FJ7sbdhY27nKcieaIFFQqL0%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;770&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/efomwW/btr7CVKaZR2/kNsqv3KLTTPwETMSknt2O1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/efomwW/btr7CVKaZR2/kNsqv3KLTTPwETMSknt2O1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2NT1P%2Fbtr43YDbnpv%2Ff0BZE74ay0KxUtScWhoZW0%2Fimg.png&quot; data-origin-width=&quot;980&quot; data-origin-height=&quot;773&quot; data-is-animation=&quot;false&quot; style=&quot;width: 32.6419%;&quot; data-widthpercent=&quot;33.42&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/efomwW/btr7CVKaZR2/kNsqv3KLTTPwETMSknt2O1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FefomwW%2Fbtr7CVKaZR2%2FkNsqv3KLTTPwETMSknt2O1%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;980&quot; height=&quot;773&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VyOoS/btr7fZBySvu/sGvZpZ8GmPKsmDtv3XLM20/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VyOoS/btr7fZBySvu/sGvZpZ8GmPKsmDtv3XLM20/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcdw3Dx%2Fbtr5aFbS3iq%2FSDuItfnPEuYOzR5PqbEJAk%2Fimg.png&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;768&quot; data-is-animation=&quot;false&quot; style=&quot;width: 32.4456%; margin-right: 10px;&quot; data-widthpercent=&quot;33.22&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VyOoS/btr7fZBySvu/sGvZpZ8GmPKsmDtv3XLM20/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVyOoS%2Fbtr7fZBySvu%2FsGvZpZ8GmPKsmDtv3XLM20%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;768&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cyBspI/btr7xVKtvHk/AXQpaAqzKyD3H73LAky7m0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cyBspI/btr7xVKtvHk/AXQpaAqzKyD3H73LAky7m0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Frb2Qc%2Fbtr414qkxAA%2Fe1Pn6GWKdb7XnU5kxwWXKK%2Fimg.png&quot; data-origin-width=&quot;970&quot; data-origin-height=&quot;769&quot; data-is-animation=&quot;false&quot; style=&quot;width: 32.7409%; margin-right: 10px;&quot; data-widthpercent=&quot;33.52&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cyBspI/btr7xVKtvHk/AXQpaAqzKyD3H73LAky7m0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcyBspI%2Fbtr7xVKtvHk%2FAXQpaAqzKyD3H73LAky7m0%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;769&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GxFAI/btr7n0ZVf37/RvVMbnexKuK4YixeTJPUMK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GxFAI/btr7n0ZVf37/RvVMbnexKuK4YixeTJPUMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzzkFd%2Fbtr45k0eF5J%2FnFmKVON61drkk6FeYOoAd0%2Fimg.png&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;767&quot; data-is-animation=&quot;false&quot; style=&quot;width: 32.4879%;&quot; data-widthpercent=&quot;33.26&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GxFAI/btr7n0ZVf37/RvVMbnexKuK4YixeTJPUMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGxFAI%2Fbtr7n0ZVf37%2FRvVMbnexKuK4YixeTJPUMK%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;767&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/t6WQb/btr7e1MTS8n/xmJp91kUmhEYcTN9A694O1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/t6WQb/btr7e1MTS8n/xmJp91kUmhEYcTN9A694O1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyMmd8%2Fbtr4LHXGBCc%2FKi3e8jzejJT6cgu4oyioU1%2Fimg.png&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;911&quot; data-is-animation=&quot;false&quot; style=&quot;width: 44.1012%; margin-right: 10px;&quot; data-widthpercent=&quot;44.62&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/t6WQb/btr7e1MTS8n/xmJp91kUmhEYcTN9A694O1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ft6WQb%2Fbtr7e1MTS8n%2FxmJp91kUmhEYcTN9A694O1%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;911&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkZm8r/btr7C2ided9/cre9lkHx1f7vecj8arMlA0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkZm8r/btr7C2ided9/cre9lkHx1f7vecj8arMlA0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0aUxq%2Fbtr45jtrJYY%2F5I49iOh4DfuktkH73GfZ7k%2Fimg.png&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;734&quot; data-is-animation=&quot;false&quot; style=&quot;width: 54.736%;&quot; data-widthpercent=&quot;55.38&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkZm8r/btr7C2ided9/cre9lkHx1f7vecj8arMlA0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkZm8r%2Fbtr7C2ided9%2Fcre9lkHx1f7vecj8arMlA0%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;734&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2) 가상 머신에 리눅스 배포판 설치&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byTOXS/btr7hvsE4oo/oqKH5CQGr0Yi1sLfrF4ll1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byTOXS/btr7hvsE4oo/oqKH5CQGr0Yi1sLfrF4ll1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3yPnC%2Fbtr4RzZeyqS%2FKXJoz5p7I5ZBcpeUBR7Td1%2Fimg.png&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;798&quot; data-is-animation=&quot;false&quot; style=&quot;width: 24.9137%; margin-right: 10px;&quot; data-widthpercent=&quot;25.51&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byTOXS/btr7hvsE4oo/oqKH5CQGr0Yi1sLfrF4ll1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbyTOXS%2Fbtr7hvsE4oo%2FoqKH5CQGr0Yi1sLfrF4ll1%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;600&quot; height=&quot;798&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uNRQZ/btr7hybQekB/HD77IR5U5TIkz52PRNefvK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uNRQZ/btr7hybQekB/HD77IR5U5TIkz52PRNefvK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGusOJ%2Fbtr4TIvaLWB%2FdF8dls3vIm9j29B6t0UfM0%2Fimg.png&quot; data-origin-width=&quot;1150&quot; data-origin-height=&quot;952&quot; data-is-animation=&quot;false&quot; style=&quot;width: 40.0269%; margin-right: 10px;&quot; data-widthpercent=&quot;40.98&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uNRQZ/btr7hybQekB/HD77IR5U5TIkz52PRNefvK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuNRQZ%2Fbtr7hybQekB%2FHD77IR5U5TIkz52PRNefvK%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;1150&quot; height=&quot;952&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bs2Ncs/btr7hvlTf5w/3aeTWk2wwUrzcsGp8YlHM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bs2Ncs/btr7hvlTf5w/3aeTWk2wwUrzcsGp8YlHM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxzetD%2Fbtr41vuXCgN%2Fj3Qe0yTM251bNNav7VUhD1%2Fimg.png&quot; data-origin-width=&quot;1060&quot; data-origin-height=&quot;1073&quot; data-is-animation=&quot;false&quot; style=&quot;width: 32.7338%;&quot; data-widthpercent=&quot;33.51&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bs2Ncs/btr7hvlTf5w/3aeTWk2wwUrzcsGp8YlHM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbs2Ncs%2Fbtr7hvlTf5w%2F3aeTWk2wwUrzcsGp8YlHM0%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;1060&quot; height=&quot;1073&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;우분투 서버 ISO 이미지 파일 다운 / Create a New Virtual Machine클릭 /&amp;nbsp;ISO 이미지에 우분투 이미지 파일 추가&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6sJ3h/btr7g61fn3S/qvvkkTEFyID2kLVT0L1n71/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6sJ3h/btr7g61fn3S/qvvkkTEFyID2kLVT0L1n71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3c4c4%2Fbtr43PMWjv5%2FiqtxptnPKmIf3bc62vqIJ0%2Fimg.png&quot; data-origin-width=&quot;840&quot; data-origin-height=&quot;852&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.3051%; margin-right: 10px;&quot; data-widthpercent=&quot;49.89&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6sJ3h/btr7g61fn3S/qvvkkTEFyID2kLVT0L1n71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6sJ3h%2Fbtr7g61fn3S%2FqvvkkTEFyID2kLVT0L1n71%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;840&quot; height=&quot;852&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/roptO/btr7s3owjxa/u8yLSK3EALwQ2Kp3EGlgx0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/roptO/btr7s3owjxa/u8yLSK3EALwQ2Kp3EGlgx0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwfG2Z%2Fbtr40FxNSCl%2FwOndeiTHk1qu4FIDkTkaK1%2Fimg.png&quot; data-origin-width=&quot;830&quot; data-origin-height=&quot;838&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.5321%;&quot; data-widthpercent=&quot;50.11&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/roptO/btr7s3owjxa/u8yLSK3EALwQ2Kp3EGlgx0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FroptO%2Fbtr7s3owjxa%2Fu8yLSK3EALwQ2Kp3EGlgx0%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;830&quot; height=&quot;838&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QB0Cp/btr7gjM3A7X/yCXz7hvU7OWhhv8VWJuETK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QB0Cp/btr7gjM3A7X/yCXz7hvU7OWhhv8VWJuETK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlUGDW%2Fbtr41iI5HZo%2FyxVVf2BENPbgnephH6gktk%2Fimg.png&quot; data-origin-width=&quot;840&quot; data-origin-height=&quot;846&quot; data-is-animation=&quot;false&quot; style=&quot;width: 48.245%; margin-right: 10px; margin-top: 10px;&quot; data-widthpercent=&quot;48.81&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QB0Cp/btr7gjM3A7X/yCXz7hvU7OWhhv8VWJuETK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQB0Cp%2Fbtr7gjM3A7X%2FyCXz7hvU7OWhhv8VWJuETK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;840&quot; height=&quot;846&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WwnIV/btr7gSn9cUm/8etiHOR3rK58gUCucXs0qK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WwnIV/btr7gSn9cUm/8etiHOR3rK58gUCucXs0qK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRjECf%2Fbtr4RARn4Mz%2FAsMxro9TnbDPy19TyrZvx0%2Fimg.png&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;922&quot; data-is-animation=&quot;false&quot; style=&quot;width: 50.5922%; margin-top: 10px;&quot; data-widthpercent=&quot;51.19&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WwnIV/btr7gSn9cUm/8etiHOR3rK58gUCucXs0qK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWwnIV%2Fbtr7gSn9cUm%2F8etiHOR3rK58gUCucXs0qK%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;922&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;우분투 admin 계정 설정 / 설치 위치는 그대로(Next) / 우분투 운영체제의 디스크 용량 설정(Next) / 상세설정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3) 우분투&amp;nbsp; 설치 화면&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 운영체제 설치 화면, space로 선택하고 enter로 넘어가주면 됩니다.&lt;/p&gt;
&lt;div&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xxWnv/btr7gQDQTEZ/TCKy3GMhJfB3nBN3VOp8KK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xxWnv/btr7gQDQTEZ/TCKy3GMhJfB3nBN3VOp8KK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnbsXT%2Fbtr41wHoXO0%2Fgx2VskGwfCZhgi1K0DPGk0%2Fimg.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;793&quot; data-is-animation=&quot;false&quot; style=&quot;width: 56.1477%; margin-right: 10px;&quot; data-widthpercent=&quot;56.81&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xxWnv/btr7gQDQTEZ/TCKy3GMhJfB3nBN3VOp8KK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxxWnv%2Fbtr7gQDQTEZ%2FTCKy3GMhJfB3nBN3VOp8KK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;793&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c1lIwA/btr7mtVCOrK/xyRAMsB3NTI1IOmdR55tXK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c1lIwA/btr7mtVCOrK/xyRAMsB3NTI1IOmdR55tXK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FW4KdN%2Fbtr41wABSPg%2F2bb9Zs33eM4kyuFjnhw7NK%2Fimg.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1043&quot; data-is-animation=&quot;false&quot; style=&quot;width: 42.6895%;&quot; data-widthpercent=&quot;43.19&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c1lIwA/btr7mtVCOrK/xyRAMsB3NTI1IOmdR55tXK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc1lIwA%2Fbtr7mtVCOrK%2FxyRAMsB3NTI1IOmdR55tXK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1043&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBLPsZ/btr7s4VgZUd/PRHVrxr9evGlo2ltURNie1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBLPsZ/btr7s4VgZUd/PRHVrxr9evGlo2ltURNie1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F55V2r%2Fbtr42TvkWjc%2FimERUn5gZJJELilnLUkPa0%2Fimg.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;888&quot; data-is-animation=&quot;false&quot; style=&quot;width: 54.4205%; margin-right: 10px; margin-top: 10px;&quot; data-widthpercent=&quot;55.06&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBLPsZ/btr7s4VgZUd/PRHVrxr9evGlo2ltURNie1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBLPsZ%2Fbtr7s4VgZUd%2FPRHVrxr9evGlo2ltURNie1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;888&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2mqJR/btr7xUrg5eZ/Ms0vmaAS8oLuMC9VrazL1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2mqJR/btr7xUrg5eZ/Ms0vmaAS8oLuMC9VrazL1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTyUk5%2Fbtr4YtqWfnd%2FkkAtpf0PVJkokMLAC1JO8K%2Fimg.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1088&quot; data-is-animation=&quot;false&quot; style=&quot;width: 44.4167%; margin-top: 10px;&quot; data-widthpercent=&quot;44.94&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2mqJR/btr7xUrg5eZ/Ms0vmaAS8oLuMC9VrazL1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2mqJR%2Fbtr7xUrg5eZ%2FMs0vmaAS8oLuMC9VrazL1k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1088&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bAtXG4/btr7iJ5wesW/3mOukbcotLyURi3HNTjki0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bAtXG4/btr7iJ5wesW/3mOukbcotLyURi3HNTjki0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fy4mVE%2Fbtr40F5C50i%2F3RNruUGBUcbR9cPog1KaEk%2Fimg.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1180&quot; data-is-animation=&quot;false&quot; style=&quot;width: 42.3588%; margin-right: 10px; margin-top: 10px;&quot; data-widthpercent=&quot;42.86&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bAtXG4/btr7iJ5wesW/3mOukbcotLyURi3HNTjki0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbAtXG4%2Fbtr7iJ5wesW%2F3mOukbcotLyURi3HNTjki0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1180&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mSiSU/btr7iJ5wery/kh88jfKMH2kgRXO0YlttK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mSiSU/btr7iJ5wery/kh88jfKMH2kgRXO0YlttK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc0c9mJ%2Fbtr5aFJJfD1%2FD2IR77qjboNSeC2LWSoxc0%2Fimg.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;885&quot; data-is-animation=&quot;false&quot; style=&quot;width: 56.4784%; margin-top: 10px;&quot; data-widthpercent=&quot;57.14&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mSiSU/btr7iJ5wery/kh88jfKMH2kgRXO0YlttK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmSiSU%2Fbtr7iJ5wery%2Fkh88jfKMH2kgRXO0YlttK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;885&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cds1Rb/btr7pS8Fhz8/qgcvMKBhIm5C6bIrKlc5O1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cds1Rb/btr7pS8Fhz8/qgcvMKBhIm5C6bIrKlc5O1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcllRu1%2Fbtr40FEx2x3%2Fs7kQOkzwjb1Ufuluo10Fyk%2Fimg.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1112&quot; data-is-animation=&quot;false&quot; style=&quot;width: 28.357%; margin-right: 10px;&quot; data-widthpercent=&quot;29.03&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cds1Rb/btr7pS8Fhz8/qgcvMKBhIm5C6bIrKlc5O1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcds1Rb%2Fbtr7pS8Fhz8%2FqgcvMKBhIm5C6bIrKlc5O1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1112&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cx1N6u/btr7gTtNezg/8OyrUkKvKCTnH8jQOqlI8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cx1N6u/btr7gTtNezg/8OyrUkKvKCTnH8jQOqlI8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F941d8%2Fbtr41uW8ReE%2F2OkIi9oUPsUINlcc9E6P20%2Fimg.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;923&quot; data-is-animation=&quot;false&quot; style=&quot;width: 34.1636%; margin-right: 10px;&quot; data-widthpercent=&quot;34.98&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cx1N6u/btr7gTtNezg/8OyrUkKvKCTnH8jQOqlI8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcx1N6u%2Fbtr7gTtNezg%2F8OyrUkKvKCTnH8jQOqlI8k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;923&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/J0bI7/btr7iK4qIY5/C1zb4fGSiSwrcy3dcgMiQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/J0bI7/btr7iK4qIY5/C1zb4fGSiSwrcy3dcgMiQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc1lhCm%2Fbtr5aGaNHGD%2FkRYSIKN6MWL5bwr4RXoqKK%2Fimg.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;897&quot; data-is-animation=&quot;false&quot; style=&quot;width: 35.1538%;&quot; data-widthpercent=&quot;35.99&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/J0bI7/btr7iK4qIY5/C1zb4fGSiSwrcy3dcgMiQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJ0bI7%2Fbtr7iK4qIY5%2FC1zb4fGSiSwrcy3dcgMiQ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;897&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 로그인 화면&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;460&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lD6TZ/btr7xVDIr8E/3Axget6GzvjVmavSCQtHIk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lD6TZ/btr7xVDIr8E/3Axget6GzvjVmavSCQtHIk/img.png&quot; data-alt=&quot;설정해놓은 user name&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lD6TZ/btr7xVDIr8E/3Axget6GzvjVmavSCQtHIk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlD6TZ%2Fbtr7xVDIr8E%2F3Axget6GzvjVmavSCQtHIk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;460&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;460&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;설정해놓은 user name&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;-&amp;nbsp; 설치 완료&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1076&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/boInCY/btr7C1p42us/fMDFKS1FYj7XCSuiiG3gt0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/boInCY/btr7C1p42us/fMDFKS1FYj7XCSuiiG3gt0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/boInCY/btr7C1p42us/fMDFKS1FYj7XCSuiiG3gt0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboInCY%2Fbtr7C1p42us%2FfMDFKS1FYj7XCSuiiG3gt0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;1076&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;1076&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3. 리눅스 접속을 위한 SSH 서버 설치&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;터미널을 이용하여 명령문 내리기-&lt;/b&gt;&lt;b&gt;터미널이란?&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;검은색 창이 리눅스 터미널 입니다.&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;쉘(shell)이란?&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;터미널에서 내려진 명령을 해석하는 도구 인터페이스(도구) 입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;sh(본쉘), bash 등이 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1) 커널(kernel)이란?&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;운영체제와 하드웨어를 이어주는 핵심 기능 , 컴퓨터 시스템 자원들을 관리하는 역할&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용자가 명령 터미널을 통해 입력하면&amp;nbsp;쉘 이 명령을 받아 해석하고&amp;nbsp;커널 에 전달하면&amp;nbsp;커널 을 통해 하드웨어 조작을 하게 됩니다.&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;리눅스는 관리자 계정 root계정이 존재합니다. (최고 관리자-모든 권한을 가지고 있음)&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;리눅스를 사용하는 모든 사람들은 root가 관리자 라는 것을 알기 때문에 관리자 계정으로 바로 로그인하는 것이 아니라, 일반 계정으로 접속해서 관리자로 전환하여 사용한다.&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;리눅스의 명령문들은 관리자 권한이 있어야 실행시킬 수 있는 명령이 있고, 누구든 사용할 수 있는 명령이 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1]&lt;span&gt;&amp;nbsp;&lt;/span&gt;관리자의 권한 sudo&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- sudo는 관리자의 권한을 의미한다. 루트 권한으로 변경하게 되면 모든 권한을 얻게 됩니다. 관리자의 권한만 빌려쓰고 싶다면 sudo 를 앞에 붙입니다.&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;리부팅 명령 (관리자의 권한으로 실행함)&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;sudo reboot&lt;/blockquote&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;root 계정의 전환 (관리자의 계정으로 전환 할 때는 관리자 권한이 필요합니다)&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;사용자 계정으로 전환&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;su 계정명&lt;/blockquote&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;root 계정으로 전환&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;sudo su - root sudo su -&lt;/blockquote&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;탈출&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;exit, q, ctrl+c&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2]&amp;nbsp;출력문 실행하기 echo&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- echo는 커널창의 출력을 명령합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;echo 출력문&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;echo hello world&lt;/blockquote&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;전역 환경변수 확인하기&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;echo $PATH&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;리눅스는 프로그램을 실행할 때 해당 환경 변수에 등록된 값을 우선적으로 찾아서 실행하게 됩니다.&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;예를 들어 자바 컴파일러를 실행하고 싶다면 환경 변수에 등록이 되어 있어야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3] 명령문의 매뉴얼 확인하기 man&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;명령문을 실행할 때 하이픈( - ) 을 이용하여 옵션을 줄 수 있습니다.&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;이런 옵션들의 확인은 man 명령문 을 이용해서 확인 가능합니다.&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;이런 옵션들은 너무 다양하기 때문에 실제 man명령으로는 간단하게 확인하고 구글을 이용하는 편이 좋습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;man 명령문&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2) 리눅스에 외부 접속 도구를 이용해서 연결해보기&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;VMware자체에서 제공하는 커널은 확대도 되지 않고, 매우 불편하기 때문에 외부 원격 접속으로 편하게 사용하려 합니다.&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;보통 99.99%&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;putty&lt;/b&gt;를 이용해서 접속합니다&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;putty를 사용해서 접속하려면 SSH에 대한 개념을 알아야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;SSH란? - Secure Shell Protocol&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;SSH는&amp;nbsp;&lt;b&gt;S&lt;/b&gt;ecure&amp;nbsp;&lt;b&gt;Sh&lt;/b&gt;ell Protocol의 줄임말로 보안이 강화된 서버 원격 접속 및 제어 도구입니다.&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;기존에 Telnet이라는 서비스를 이용해서 원격의 리눅스 서버에 접속했습니다.&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;텔넷의 단점:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;텔넷의 단점은 데이터가 암호화 되지 않는 다는 점이었고, 패킷을 가로채는 패킷 스니핑에 대상이 되었습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1060&quot; data-origin-height=&quot;619&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CxMTF/btr7ftPYmrb/rO5JYvWOiMM9CETpKfct1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CxMTF/btr7ftPYmrb/rO5JYvWOiMM9CETpKfct1k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CxMTF/btr7ftPYmrb/rO5JYvWOiMM9CETpKfct1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCxMTF%2Fbtr7ftPYmrb%2FrO5JYvWOiMM9CETpKfct1k%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;1060&quot; height=&quot;619&quot; data-origin-width=&quot;1060&quot; data-origin-height=&quot;619&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;SSH를 이용한 암호화 통신&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;서버와 클라이언트는 비스킷을 하나 쪼개서 서로 나누어 갖는다.&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;원격 접속시 이 비스켓을 맞춰본다.&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;조각이 맞으면 서로만의 비밀 통로을 만들어서 통신한다. (비대칭키 암호화)&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;통로가 만들어 지면 똑같이 생긴 열쇠 두개를 나누어 갖는다. 클라이언트는 열쇠로 암호화 해서 데이터를 전송한다, 서버는 열쇠로 해석한다. (대칭키 암호화)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2194&quot; data-origin-height=&quot;1093&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8ZSpa/btr45mcK9Yd/ykez10ytihwJbIuKfFCiLk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8ZSpa/btr45mcK9Yd/ykez10ytihwJbIuKfFCiLk/img.png&quot; data-alt=&quot;비대칭키 암호화&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8ZSpa/btr45mcK9Yd/ykez10ytihwJbIuKfFCiLk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8ZSpa%2Fbtr45mcK9Yd%2Fykez10ytihwJbIuKfFCiLk%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;2194&quot; height=&quot;1093&quot; data-origin-width=&quot;2194&quot; data-origin-height=&quot;1093&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;비대칭키 암호화&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1060&quot; data-origin-height=&quot;669&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YW9Ig/btr7ghPiVpK/sslMgFbXIhMfEaXOOgnRGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YW9Ig/btr7ghPiVpK/sslMgFbXIhMfEaXOOgnRGk/img.png&quot; data-alt=&quot;대칭키 암호화&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YW9Ig/btr7ghPiVpK/sslMgFbXIhMfEaXOOgnRGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYW9Ig%2Fbtr7ghPiVpK%2FsslMgFbXIhMfEaXOOgnRGk%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;1060&quot; height=&quot;669&quot; data-origin-width=&quot;1060&quot; data-origin-height=&quot;669&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;대칭키 암호화&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1] 내부적으로 돌아가는 서비스들 확인하기&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;service service --status-all&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2] apt를 사용해서 ssh서버 설치하기&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;향상된 패키지 관리 도구 apt방식을 활용합니다. (5강에서 확인)&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;apt는 인터넷을 통해 원격에 저장된 패키지를 다운로드 받아서 설치해주는 향상된 패키지 관리 도구 입니다.&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;패키지 관리 도구 업데이트&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;apt-get update&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;패키지 찾기&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;apt search &amp;lt;패키지명&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;패키지 다운로드하기&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;apt-get install &amp;lt;패키지명&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;실행&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sudo apt-get update sudo apt-get search openssh sudo apt-get install openssh-server&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3] 가상머신 리눅스의 아이피 확인하기&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ip addr&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;4] putty를 설치하고 접속하기 / &lt;b&gt;&lt;span data-token-index=&quot;0&quot;&gt;리눅스에 외부 접속 도구(putty) 를 이용해서 연결해보기&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2922&quot; data-origin-height=&quot;1235&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wi6uT/btr4TIWiUdA/nYre1E8vsaxaXfXWrjlkG0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wi6uT/btr4TIWiUdA/nYre1E8vsaxaXfXWrjlkG0/img.png&quot; data-alt=&quot;운영체제에 맞는 파일 다운로드&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wi6uT/btr4TIWiUdA/nYre1E8vsaxaXfXWrjlkG0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fwi6uT%2Fbtr4TIWiUdA%2FnYre1E8vsaxaXfXWrjlkG0%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;2922&quot; height=&quot;1235&quot; data-origin-width=&quot;2922&quot; data-origin-height=&quot;1235&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;운영체제에 맞는 파일 다운로드&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.putty.org/&quot;&gt;https://www.putty.org/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1680423657578&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Download PuTTY - a free SSH and telnet client for Windows&quot; data-og-description=&quot;Is Bitvise affiliated with PuTTY? Bitvise is not affiliated with PuTTY. We develop our SSH Server for Windows, which is compatible with PuTTY. Many PuTTY users are therefore our users as well. From time to time, they need to find the PuTTY download link. W&quot; data-og-host=&quot;www.putty.org&quot; data-og-source-url=&quot;https://www.putty.org/&quot; data-og-url=&quot;https://www.putty.org/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.putty.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.putty.org/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Download PuTTY - a free SSH and telnet client for Windows&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Is Bitvise affiliated with PuTTY? Bitvise is not affiliated with PuTTY. We develop our SSH Server for Windows, which is compatible with PuTTY. Many PuTTY users are therefore our users as well. From time to time, they need to find the PuTTY download link. W&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.putty.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;계정명@아이피주소 (ssh 22번포트)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LYVh6/btr7hSIodgf/c3rFXqcvngWOk5IHAfrz9k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LYVh6/btr7hSIodgf/c3rFXqcvngWOk5IHAfrz9k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgJ7Jc%2Fbtr4LFZP2DB%2FHPgTNM1DFfolVUsffueFZk%2Fimg.png&quot; data-origin-width=&quot;890&quot; data-origin-height=&quot;866&quot; data-is-animation=&quot;false&quot; style=&quot;width: 25.4652%; margin-right: 10px;&quot; data-widthpercent=&quot;26.07&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LYVh6/btr7hSIodgf/c3rFXqcvngWOk5IHAfrz9k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLYVh6%2Fbtr7hSIodgf%2Fc3rFXqcvngWOk5IHAfrz9k%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;890&quot; height=&quot;866&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9mmDh/btr7gTtNeFl/FkbOe3HJsIK7MKCJmKCKs1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9mmDh/btr7gTtNeFl/FkbOe3HJsIK7MKCJmKCKs1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fvu75s%2Fbtr45mKDpAT%2F7z7itx4AK9lJADXLiONHak%2Fimg.png&quot; data-origin-width=&quot;1104&quot; data-origin-height=&quot;586&quot; data-is-animation=&quot;false&quot; style=&quot;width: 46.6816%; margin-right: 10px;&quot; data-widthpercent=&quot;47.79&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9mmDh/btr7gTtNeFl/FkbOe3HJsIK7MKCJmKCKs1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9mmDh%2Fbtr7gTtNeFl%2FFkbOe3HJsIK7MKCJmKCKs1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1104&quot; height=&quot;586&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QPL32/btr7iKXGni8/AW1CwolGek9EE99SnPczJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QPL32/btr7iKXGni8/AW1CwolGek9EE99SnPczJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHjexe%2Fbtr4WGRlFxm%2F0CX6r6kPg2CCgngV7LxF90%2Fimg.png&quot; data-origin-width=&quot;443&quot; data-origin-height=&quot;430&quot; data-is-animation=&quot;false&quot; style=&quot;width: 25.5276%;&quot; data-widthpercent=&quot;26.14&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QPL32/btr7iKXGni8/AW1CwolGek9EE99SnPczJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQPL32%2Fbtr7iKXGni8%2FAW1CwolGek9EE99SnPczJk%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;443&quot; height=&quot;430&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>리눅스</category>
      <author>heejin424</author>
      <guid isPermaLink="true">https://startsyudy.tistory.com/279</guid>
      <comments>https://startsyudy.tistory.com/279#entry279comment</comments>
      <pubDate>Tue, 21 Mar 2023 14:09:30 +0900</pubDate>
    </item>
    <item>
      <title>D-15 ) 1과목 개념 및 문제풀이 복습(3)</title>
      <link>https://startsyudy.tistory.com/275</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;2023/03/04&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(7/21)&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;1과목 2장&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터 모델과 성능&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;- 성능 데이터 모델링&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;: 데이터베이스 성능 형상을 목적으로 설계단계의 데이터 모델링 때부터 성능과 관련된 사항이 데이터모델링에 반영될 수 있도록 하는것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터베이스 처리성능을 향상시킬 수 잇는 방법을 고려해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어떤 트랜잭션이 해당 비즈니스처리에 핵심적이고 사용자 업무처리에 있어 중요함을 가지고있고, 성능이 저하되면 안되는 특징을 가지고 있다면 프로젝트 초기에 운영환경에 대비한 테스트환경을 구현하고, 그곳에 트랜잭션을 발생시켜 실제 성능을 테스트해보아야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 데이터ㅓ 모델의 구조도 변경하면서 어떠한구조가 성능상 적절한 구조인지 검토하여 성능이 좋은 모습으로 디자인하는 전력이 요구된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러므로 문제발생시점의 SQL을 중심으로 집중튜닝하는 것은 성능데이터모델링과 무관한 내용이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;성능을 고려한 데이터 모델링(반정규화)의 순서&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터 모델링을 할 때 정규화를 정확하게 수행한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터베이스 용량산정을 수행한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터베이스에 발생되는 트랜젝션의 유형을 파악한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;용량과 트랜잭션의 유형에 따라 반정규화를 수행한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이력모델의 조저ㅇ, PK/FK조정, 슈퍼타입 서브타입 조정등을 수행한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;성능관점에서 데이터 모델을 검증한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1차 정규화의 대상&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;중복속성에 대한 분리가 1차정규화의 대상이 되며, 로우단위의 중복도 1차 정규화의 대상이 되지만 칼럼단위로 중복이 되는 경우도 1차 정규화의 대상이다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;칼럼에 의한 반복적인 속성값을 갖는 형태는 속성의 원자성을 위배하였으므로 1차 정규화의 대상이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반복적인 속성나열 형태에서는 각 속성에 대해 OR연산자로 연결된 조건들이 사용되는데, 이 때 어느 하나의 속성이라도 인덱스가 정의되어 있지 않게되면 OR로 연결된 모든 조건절들이 인덱스를 사용하지 않고 한번의 전체 데이터 스캔으로 처리되게 되어 성능저하가 나타날 수 있게되며, 또한 모든 반복속성에 인덱스를 생성하게 되면 검색속도는 좋아지겠지만 반대급부적으로 너무 많은 인덱스로 인해 입력,수정,삭제의 성능이 저하되므로 1차 정규화를 해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컬럼 단위에서 중복된 경우도 1차 정규화의 대상이 된다, 이에 대한 분리는 1:M의 관계로 두개의 엔터티로 분리된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;데이터 모델의 반정규화를 고려할 때 판단요소&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 다수 테이블에 대한 다량의 조인이 불가피하므로 데이터 제공의 적시성 확보를 위한 필수 반정규화 대상정보이다.&lt;/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;2. 이전 또는 이후 위치의 레코드에 대한 탐색은 window function으로 접근가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 집계 테이블 이외에도 다양한 유형(다수의 테이블의 키 연결 테이블 등)에 대하여 반정규화 테이블 적용이 필요할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;반정규화 절차&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 반정규화 대상조사&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 범위처리 빈도수 조사&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 대량의 범위처리 조사&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 통계성 프로세스 조사&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 테이블조인개수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 다른방법유도 검토&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 뷰 테이블 (view)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 클러스터링 적용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 인덱스의 조정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 응용애플리케이션&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 반정규화 적용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 테이블 반정규화&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 속성의 반정규화&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 관계의 반정규화&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;+) 칼럼에 대한 반정규화 기법&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 중복칼럼을 추가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 파생칼럼을 추가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 이력테이블에 기능칼럼 추가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;반정규화 대상에 대해 다른방법으로 처리&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지나치게 많은 조인은 뷰로 해결&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대량의 데이터처리나 부분처리에 의해 성능이 저하되면 클러스터링 적용, 인덱스를 조정해서 성능향상&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대량의 데이터는 PK의 성격에 따라 부분적인 테이블로 분리할 수 있다. (파티셔닝 기법) -&amp;gt; 성능저하를 방지할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;응용애플리케이션에서 로직을 구사하는 방법을 변경함으로써 성능향상&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;트랜잭션&lt;/span&gt;이란?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;항상 전체를 통합하여 분석처리하는데 슈퍼-서브타입이 하나의 테이블로 통합되어 있으면 하나의 테이블에 집적된 데이터만 읽어 처리할 수 있기 때문에 다른 형식에 비해 성능이 우수하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;+) 슈퍼-서브타입 데이터모델의 변환기술&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 개별로 발생되는 트랜잭션에 대해서는 개별테이블로 구성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 슈퍼타입 + 서브타입에 대해 발생되는 트랜잭션에 대해서는 슈퍼타입+서브타입 테이블로 구성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 전체를 하나로 묶어 트랜잭션이 발생할 때는 하나의 테이블로 구성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;PK를 결정하는 기준&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인덱스 정렬구조를 이해한 상태에서 인덱스를 효율적으로 이용할 수 있도록 PK순서를 지정해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 인덱스의 특징은 여러개의 속성이 하나의 인덱스로 구성되어 있을 때 앞쪽에 위치한 속성의 값이 비교자로 있어야 인덱스가 좋은 효율을 나타낼 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;분산 데이터베이스 장단점&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;장점&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 지역 자치성, 점증적 시스템 용량확장&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 신뢰성과 가용성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 효용성과 융통성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 빠른 응답속도와 통신비용 절감&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 데이터의 가용성과 신뢰성 증가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 시스템 규모의 적절한 조절&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 각 지역 사용자의 요구수용 증대&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단점&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 소프트웨어 개발 비용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 오류의 잠재적 증대&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 처리 비용의 증대&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 설계, 관리의 복잡성과 비용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 불규칙한 응답속도&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 통제의 어려움&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 데이터 무결성에 대한 위협&lt;/p&gt;
&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;1. 공통코드, 기준정보 등 마스터 데이터는 분산데이터베이스에 복제분산을 적용한다.&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;3. 백업사이트를 구성할 때 간단하게 분산기능을 적용하여 구성할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>SQLD 자격시험공부 (개인용)</category>
      <author>heejin424</author>
      <guid isPermaLink="true">https://startsyudy.tistory.com/275</guid>
      <comments>https://startsyudy.tistory.com/275#entry275comment</comments>
      <pubDate>Sat, 4 Mar 2023 01:47:26 +0900</pubDate>
    </item>
    <item>
      <title>D-15 ) 1과목 개념 및 문제풀이 복습(2)</title>
      <link>https://startsyudy.tistory.com/274</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;(18/20)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;속성과 관계&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 속성의 명칭부여&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 해당업무에서 사용하는 이름을 부여한다.&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;3. 약어사용은 가급적 제한한다.&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터 모델링 관계에 있어서 ERD에서는 존재적관계와 행위에 대한 구분을 하지않지만, 클래스다이어그램(UML)에서는 이것을 구분하여 연관관계와 의존관계로 표현한다.&lt;/p&gt;
&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;1. 관계명 : 관계의 이름&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 관계차수 : 1:1, 1:M, N:M&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 관계선택사양 : 필수관계, 선택관계&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;1. 두개의 엔터티 사이에 관심있는 연관규칙이 존재하는가&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;3. 업무기술서, 장표의 관계연결에 대한 규칙이 서술되어 있는가&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;&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;1. 기준 엔터티를 한개 또는 각으로 읽는다.&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;3. 관계선택사양과 관계명을 읽는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;식별자&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 주식별자를 지정할 때 고려해야할 사항들&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 주식별자에 의해 엔터티내의 모든 인스턴스들이 유일하게 구분되어야한다.&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;3. 지정된 주식별자의 값은 자주 변하지 않는 것이어야한다.&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;&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;1. 주식별자와 보조식별자 : 엔터티내에서 대표성을 가지는가에 따라 나눔&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;3. 단일식별자와 복합식별자 : 단일속성으로 식별이 되는가에 따라 나눔&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;&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;1. 유일성 - 엔터티내의 모든 인스턴스들을 유일하게 구분함&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;3. 불변성 - 한 번 특정엔터티에 지정되면 그 식별자의 값은 변하지 않아야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 존재성 - 반드시 데이터값이 존재해야한다 (null도 안됌)&lt;/p&gt;</description>
      <category>SQLD 자격시험공부 (개인용)</category>
      <author>heejin424</author>
      <guid isPermaLink="true">https://startsyudy.tistory.com/274</guid>
      <comments>https://startsyudy.tistory.com/274#entry274comment</comments>
      <pubDate>Sat, 4 Mar 2023 00:17:48 +0900</pubDate>
    </item>
    <item>
      <title>D-16 ) 1과목 개념 및 문제풀이 복습(1)</title>
      <link>https://startsyudy.tistory.com/273</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;국가공인 개발자 자격시험&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1과목과 2과목으로 나뉘어져있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1과목. 데이터 모델링의 이해 ( 문항 수 10개 )&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2과목. SQL기본 및 활용 ( 문항 수 40개 )&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시험시간 90분&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;합격기준 60점 이상&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 노랭이 책 문제풀이 후 틀린문제 복습 개념정리하기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1과목 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;-엔터티&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-속성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-관계&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-식별자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;노랭이책 10문제 풀기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1차 점수 : (8/10)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;간단한 개념정리&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;1. 기본/키 엔터티&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;3. 행위엔터티&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 데이터 모델링이란?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 정보시스템을 구축하기 위한 데이터 관점의 업무분석기법&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 현실세계의 데이터에 대해 약속된 표기법에 의해 표현하는 과정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 데이터베이스 구축하기 위한 분석/설계의 과정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;+) 데이터 모델링이 필요한 주요이유&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;업무정보를 구성하는 기초가 되는 정보들에 대해 일정한 표기법에 의해 표현한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;분석된 모델을 가지고 데이터베이스를 생성하여 개발 및 데이터관리에 사용하기 위한것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터 모델링 자체로서 업무의 흐름을 설명하고 분석하는 부분에 의미를 가지고있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;1. 비일관성&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;3. 중복&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;+) 데이터 모델링을 할 때 유의해야할 사항&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여러 장소의 데이터베이스에 같은 정보를 저장하지 않도록하여 중복성을 최소화한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터의 정의를 데이터의 사용 프로세스와 분리하여 유연성을 높인다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터간의 상호 연관관계를 명확하게 정의하여 일관성있게 데이터가 유지되도록한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 데이터 모델링 개념&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 개념적 데이터 모델링&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;: 추상화 수준이 높고 업무중심적이고 포괄적인 수준의 모델링 진행. 전사적 데이터 모델링. EA수립시 많이 이용&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;: 시스템으로 구축하고자하는 업무에 대해 key,속성,관계등을 정확하게 표현, 재사용성이 높음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 물리적 데이터 모델링&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;: 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 데이터베이스 스키마구조 3단계&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 외부스키마 : 개별 사용자 관점&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;3. 내부스키마 : 물리적인 저장장치의 관점&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- ERD에 대한 설명&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 1976년 피터첸에 의해 ERD라는 표기법이 만들어졌다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. ERD작성순서 : 1. 엔터티 도출 2. 엔터티 배치 3. 관계설정 4. 관계명 기술 5. 관게의 참여도 기술 6. 관계의 필수여부 기술&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 관계의 명칭은 관계표현에 있어서 매우 중요한 부분이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 엔터티를 어디에 배치하는가에 대한 문제는 필수사항은 아니지만 데이터 모델링 툴 사용여브와 상관없이&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터 모델링의 가독성 측면에서 중요하다, 중요한 엔터티를 왼쪽 -&amp;gt; 오른쪽 -&amp;gt; 위 -&amp;gt; 아래에 배치한가.&lt;/p&gt;
&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;1. 반드시 해당업무에서 필요하고 관리하고자하는 정보여야한다.&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;3. 영속적으로 존재하는 인스턴스의 집합이어야한다. (한개가 아니라 두개이상)&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;5. 엔터티는 반드시 속성이 있어야한다.&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;&amp;nbsp;&lt;/p&gt;</description>
      <category>SQLD 자격시험공부 (개인용)</category>
      <author>heejin424</author>
      <guid isPermaLink="true">https://startsyudy.tistory.com/273</guid>
      <comments>https://startsyudy.tistory.com/273#entry273comment</comments>
      <pubDate>Thu, 2 Mar 2023 09:50:38 +0900</pubDate>
    </item>
    <item>
      <title>[스프링 부트] 인터셉터 적용하기</title>
      <link>https://startsyudy.tistory.com/271</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;로그인이나 계정의 권한과 관련된 처리 등을 인터셉터를 이용해서 더욱 효율적으로 처리할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #555555;&quot;&gt;1.&lt;/span&gt;HandlerInterceptor를 implements 하여 인터셉터 구현하기&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1677117133054&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package com.simple.basic.util;

import org.springframework.web.servlet.HandlerInterceptor;

public class UserAuthHandler implements HandlerInterceptor{

   
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. intercepter클래스를 빈으로 등록하기&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1677117450262&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package com.simple.basic.config;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import com.simple.basic.controller.HomeController;
import com.simple.basic.util.UserAuthHandler;
import com.simple.basic.util.UserSuccessHandler;


@Configuration //개별적인 스프링 빈 설정 파일
public class WebConfig implements WebMvcConfigurer {

	
	//인터셉터 클래스 빈으로 등록
	@Bean
	public UserAuthHandler userAuthHandler() {
		return new UserAuthHandler();
	}
	@Bean
	public UserSuccessHandler userSuccessHandler() {
		return new UserSuccessHandler();
	}


}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. alt + shift + s 단축키로 상속받은 &lt;span style=&quot;color: #3f7f5f;&quot;&gt;WebMvcConfigurer &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;클래스 내부에 있는 메서드 활용하기 + v&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;524&quot; data-origin-height=&quot;503&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhN06I/btr0nU7MylC/kDdlErKRqJ6TST07tAtAr1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhN06I/btr0nU7MylC/kDdlErKRqJ6TST07tAtAr1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhN06I/btr0nU7MylC/kDdlErKRqJ6TST07tAtAr1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhN06I%2Fbtr0nU7MylC%2FkDdlErKRqJ6TST07tAtAr1%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;524&quot; height=&quot;503&quot; data-origin-width=&quot;524&quot; data-origin-height=&quot;503&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. preHandle()메서드 활용해서 인터셉터 실행 됐는지 확인하기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ef5369;&quot;&gt;&lt;b&gt;preHandle( )&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;컨트롤러의 메서드에 매핑된 특정 URI가 호출됐을 때 실행되는 메서드로,&lt;br /&gt;컨트롤러를 경유(접근)하기 직전에 실행되는 메서드입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;우리는 사용자가 어떠한 기능을 수행했는지를 파악하기 위하여&lt;br /&gt;해당 기능과 매핑된 URI 정보가 콘솔에 로그가 출력되도록 처리합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1677117633118&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package com.simple.basic.util;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.HandlerInterceptor;

public class UserAuthHandler implements HandlerInterceptor{

   /*
    * 1. HandlerInterceptor를 상속받는다.
    * 
    * preHandle - 컨트롤러 진입전에 실행
    * postHandle - 컨트롤러 수행 후에 실행
    * aftercomplate - 화면으로 가기 직전에 수행
    * 
    * 2. 인터셉터 클래스를 bean으로 등록
    */
   
   @Override
   public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
         throws Exception {
      
      System.out.println(&quot;인터셉터 실행&quot;);
      
      return true; //컨트롤러 실행
   }
   
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.&lt;b&gt;postHandle( )메서드 활용해서 화면으로 결과를 전달하기 전에 실행하기&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ef5369;&quot;&gt;&lt;b&gt;postHandle( )&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;컨트롤러를 경유(접근) 한 후, 즉 화면(View)으로 결과를 전달하기 전에 실행되는 메서드입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;preHandle( )과는 반대로 요청(Request)의 끝을 알리는 로그가 콘솔에 출력되도록 처리합니다.&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;500&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cVIgfc/btr0vcFBIU3/hgoZE0wbfZCxxj5vhdLK40/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cVIgfc/btr0vcFBIU3/hgoZE0wbfZCxxj5vhdLK40/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cVIgfc/btr0vcFBIU3/hgoZE0wbfZCxxj5vhdLK40/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcVIgfc%2Fbtr0vcFBIU3%2FhgoZE0wbfZCxxj5vhdLK40%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;500&quot; data-origin-width=&quot;527&quot; data-origin-height=&quot;500&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1677119674564&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package com.simple.basic.util;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

public class UserSuccessHandler implements HandlerInterceptor{

	@Override
	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
			ModelAndView modelAndView) throws Exception {

		//modelAndView는 컨트롤러에서 model에 담은 데이터도 확인가능
		System.out.println(&quot;포스트핸들러&quot; + request.getRequestURI());
		
	}

	
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;6.&amp;nbsp; 실행순서&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1316&quot; data-origin-height=&quot;641&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/96oRp/btr0yiMzm4r/TBlZGXbPHxlEky9ekZM2oK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/96oRp/btr0yiMzm4r/TBlZGXbPHxlEky9ekZM2oK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/96oRp/btr0yiMzm4r/TBlZGXbPHxlEky9ekZM2oK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F96oRp%2Fbtr0yiMzm4r%2FTBlZGXbPHxlEky9ekZM2oK%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;1316&quot; height=&quot;641&quot; data-origin-width=&quot;1316&quot; data-origin-height=&quot;641&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;240&quot; data-origin-height=&quot;65&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vOLOp/btr0nVr6a8h/wzpfPTz1lVtfLOKGheO1Dk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vOLOp/btr0nVr6a8h/wzpfPTz1lVtfLOKGheO1Dk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vOLOp/btr0nVr6a8h/wzpfPTz1lVtfLOKGheO1Dk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvOLOp%2Fbtr0nVr6a8h%2FwzpfPTz1lVtfLOKGheO1Dk%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;240&quot; height=&quot;65&quot; data-origin-width=&quot;240&quot; data-origin-height=&quot;65&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;preHandle -&amp;gt; controller -&amp;gt; postHandle&lt;/p&gt;
&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;pre id=&quot;code_1677128691414&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package com.simple.basic.config;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import com.simple.basic.controller.HomeController;
import com.simple.basic.util.UserAuthHandler;
import com.simple.basic.util.UserSuccessHandler;


@Configuration //개별적인 스프링 빈 설정 파일
public class WebConfig implements WebMvcConfigurer {

	
	//인터셉터 클래스 빈으로 등록
	@Bean
	public UserAuthHandler userAuthHandler() {
		return new UserAuthHandler();
	}
	@Bean
	public UserSuccessHandler userSuccessHandler() {
		return new UserSuccessHandler();
	}

	//WebMvcConfigurer클래스가 제공해주는 인터셉터 추가함수
	@Override
	public void addInterceptors(InterceptorRegistry registry) {
		registry.addInterceptor( userAuthHandler() )
				.addPathPatterns(&quot;/user/*&quot;) //path경로 포함
				.excludePathPatterns(&quot;/user/login&quot;);//path경로 제외
		
		
		//경로별로 인터셉트를 다르게 등록
		//포스트 핸들러
		registry.addInterceptor( userSuccessHandler())
				.addPathPatterns(&quot;/user/*&quot;);
	}

}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Spring</category>
      <author>heejin424</author>
      <guid isPermaLink="true">https://startsyudy.tistory.com/271</guid>
      <comments>https://startsyudy.tistory.com/271#entry271comment</comments>
      <pubDate>Thu, 23 Feb 2023 11:34:46 +0900</pubDate>
    </item>
  </channel>
</rss>