<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>달리는 두딘</title>
    <link>https://devjjsjjj.tistory.com/</link>
    <description>안 하면 모르고 하면 늘겠지</description>
    <language>ko</language>
    <pubDate>Tue, 14 Apr 2026 22:56:44 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>디두딘</managingEditor>
    <image>
      <title>달리는 두딘</title>
      <url>https://tistory1.daumcdn.net/tistory/5359324/attach/138971a1bbc143e4800e52cec2a82917</url>
      <link>https://devjjsjjj.tistory.com</link>
    </image>
    <item>
      <title>2024년은 MariaDB로 시작해서</title>
      <link>https://devjjsjjj.tistory.com/entry/2024%EB%85%84%EC%9D%80-%EA%B5%AC%EC%A1%B0%EA%B0%9C%EC%84%A0%EC%9C%BC%EB%A1%9C-%EC%8B%9C%EC%9E%91%ED%95%B4%EC%84%9C</link>
      <description>&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;MariaDB로 끝난다&lt;br&gt;고 말씀 드릴 수 있겠네요&lt;br&gt;&lt;br&gt;원래 저희 서비스는 모두 Oracle을 사용하고 있었는데요&lt;br&gt;이 모든 것을 &lt;br&gt;모든 것을...&lt;br&gt;모든 것을........&lt;br&gt;MariaDB로 변경하는&lt;br&gt;대형 프로젝트를 진행 중입니다&lt;br&gt;&lt;br&gt;상용 서비스가 이루어지고 있는 만큼&lt;br&gt;서비스 장애 없이 무사히 반영하는 것이&lt;br&gt;요즘 저희 서버 파트의 소원인데요&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;905&quot; data-origin-height=&quot;507&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvrtlY/btsJSPgNqTA/9kp7Iok8atJHi3UNxSdXKK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvrtlY/btsJSPgNqTA/9kp7Iok8atJHi3UNxSdXKK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvrtlY/btsJSPgNqTA/9kp7Iok8atJHi3UNxSdXKK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvrtlY%2FbtsJSPgNqTA%2F9kp7Iok8atJHi3UNxSdXKK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;905&quot; height=&quot;507&quot; data-origin-width=&quot;905&quot; data-origin-height=&quot;507&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;눈물아 멈춰봐&lt;br&gt;&lt;br&gt;이 대형 프로젝트 덕분에&lt;br&gt;우리 서버 파트는 수명이 줄어들고&lt;br&gt;밤낮없이 헥헥 거리고 있으며&lt;br&gt;블로그 작성도 바쁜 만큼 줄어들고 있네요 크아악&lt;br&gt;&lt;br&gt;그치만 바쁘고 힘든 만큼&lt;br&gt;얻은 것도 정말 많아서 애증의 프로젝트 입니다 ,,&lt;br&gt;&lt;br&gt;앗 &lt;br&gt;사이드 프로젝트는 시작도 못 하고 끝나버렸네요&lt;br&gt;ㅎ..ㅎㅎㅎㅎ.... 푸하하&lt;br&gt;&lt;br&gt;반영이 성공적으로 끝난다면 (제발)&lt;br&gt;배운 지식을 들고&lt;br&gt;최대한 내부 정보 보호를 하면서!&lt;br&gt;회고 정리를 해보도록 하겠습니닷&lt;br&gt;&lt;br&gt;그때까지&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;다시 한 번 더 화이팅 !!!!!!!!!!!!!!!!&lt;/h4&gt;&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;서버 파트 화이팅 !!!!!!!!!!!!!!!!!!!!!!&lt;br&gt;&lt;/h3&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;451&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bntHF9/btsJUbXmmuK/yfTtkCAdMBwer7CfQeBLTK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bntHF9/btsJUbXmmuK/yfTtkCAdMBwer7CfQeBLTK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bntHF9/btsJUbXmmuK/yfTtkCAdMBwer7CfQeBLTK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbntHF9%2FbtsJUbXmmuK%2FyfTtkCAdMBwer7CfQeBLTK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;451&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;451&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;웃으며 돌아오겠습니다 ..  &lt;br&gt;&lt;br&gt;&lt;/p&gt;</description>
      <category>번쩍쓰</category>
      <category>아자핑</category>
      <author>디두딘</author>
      <guid isPermaLink="true">https://devjjsjjj.tistory.com/150</guid>
      <comments>https://devjjsjjj.tistory.com/entry/2024%EB%85%84%EC%9D%80-%EA%B5%AC%EC%A1%B0%EA%B0%9C%EC%84%A0%EC%9C%BC%EB%A1%9C-%EC%8B%9C%EC%9E%91%ED%95%B4%EC%84%9C#entry150comment</comments>
      <pubDate>Wed, 2 Oct 2024 23:23:35 +0900</pubDate>
    </item>
    <item>
      <title>[Linux] scp 명령어로 (로컬&amp;harr;서버) 파일 전송</title>
      <link>https://devjjsjjj.tistory.com/entry/Linux-scp-%EB%AA%85%EB%A0%B9%EC%96%B4%EB%A1%9C-%EB%A1%9C%EC%BB%AC%E2%86%94%EC%84%9C%EB%B2%84-%ED%8C%8C%EC%9D%BC-%EC%A0%84%EC%86%A1</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;920&quot; data-origin-height=&quot;752&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byabpV/btsICodjuOr/VtVrjBZVjicbhrdhNlqS41/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byabpV/btsICodjuOr/VtVrjBZVjicbhrdhNlqS41/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byabpV/btsICodjuOr/VtVrjBZVjicbhrdhNlqS41/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbyabpV%2FbtsICodjuOr%2FVtVrjBZVjicbhrdhNlqS41%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;460&quot; height=&quot;376&quot; data-origin-width=&quot;920&quot; data-origin-height=&quot;752&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요 !!!!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오랜만입니다 후후&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;요즘 DB 마이그레이션 프로젝트 때문에 정신이 없네여&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;&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;868&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nPmMl/btsID5QRjQL/HjRZf88GiCES5lfrkkIeXK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nPmMl/btsID5QRjQL/HjRZf88GiCES5lfrkkIeXK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nPmMl/btsID5QRjQL/HjRZf88GiCES5lfrkkIeXK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnPmMl%2FbtsID5QRjQL%2FHjRZf88GiCES5lfrkkIeXK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;448&quot; height=&quot;348&quot; data-origin-width=&quot;868&quot; data-origin-height=&quot;675&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;블로그 제목처럼&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;열심히 달리고 있는 요즘입니닷&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;WAS1번 서버 -&amp;gt; 2번 서버에 폴더 그대로 전송할 일이 생겼는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Filezila로 전송하며,, 너무 느려 좌절하고 있던 찰나&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;멋쟁이 프로님이 SCP라는 것을 알려주셨습니다!!!!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;역시 사람은 배워야 ...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;320&quot; data-origin-height=&quot;282&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8vQwX/btsICQHdxtH/D3mjwZr5FwR1XjbqTcqR91/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8vQwX/btsICQHdxtH/D3mjwZr5FwR1XjbqTcqR91/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8vQwX/btsICQHdxtH/D3mjwZr5FwR1XjbqTcqR91/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8vQwX%2FbtsICQHdxtH%2FD3mjwZr5FwR1XjbqTcqR91%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;320&quot; height=&quot;282&quot; data-origin-width=&quot;320&quot; data-origin-height=&quot;282&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;신세계!!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 모두에게 알리고자 가져와봤습니다&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;style4&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;&lt;b&gt;scp&lt;/b&gt;는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;SecureCopy&lt;/b&gt;의 약자로, 원격서버에 있는 파일과 폴더를 전송하거나 가져오기 위해 사용하는 명령어이다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;ssh&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;원격 접속 프로토콜을 기반으로 하며, ssh와 동일한 22번 포트를 이용하기 때문에&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;password/identity file을 이용해 안전하게 송수신 할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;local&amp;rarr;remote,&lt;span&gt;&amp;nbsp;&lt;/span&gt;remote&amp;rarr;local,&lt;span&gt;&amp;nbsp;&lt;/span&gt;remote&amp;rarr;remote로의 송수신이 모두 가능하다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;사용법&quot; style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;사용법&lt;/h2&gt;
&lt;pre class=&quot;shell&quot;&gt;&lt;code&gt;&amp;gt; scp [options] [source] [target]

# source : 파일을 보낼 주소
# target : 파일을 받을 주소&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 id=&quot;1-로컬에서-원격으로-localremote&quot; style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;1. 로컬에서 원격으로 (Local&amp;rarr;Remote)&lt;/h4&gt;
&lt;pre class=&quot;groovy&quot;&gt;&lt;code&gt;&amp;gt; scp [전송할 파일 경로] [유저명]@[IP주소]:[받을 경로]

EX) 로컬의 /home/example.txt 파일을 원격지의 /home/test 디렉토리로 전송
&amp;gt; scp /home/example.txt dhj@141.211.xx.xxx:/home/test&lt;/code&gt;&lt;/pre&gt;
&lt;h4 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 id=&quot;2-원격에서-로컬로-remotelocal&quot; style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;2. 원격에서 로컬로 (Remote&amp;rarr;Local)&lt;/h4&gt;
&lt;pre class=&quot;groovy&quot;&gt;&lt;code&gt;&amp;gt; scp [유저명]@[IP주소]:[전송할 파일 경로] [받을 경로]

EX) 원격지의 /home/test.txt 파일을 로컬의 /home/example 디렉토리로 전송
&amp;gt; scp dhj@141.211.xx.xxx:/home/test.txt /home/example&lt;/code&gt;&lt;/pre&gt;
&lt;h4 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 id=&quot;3-원격에서-원격으로-remoteremote&quot; style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;3. 원격에서 원격으로 (Remote&amp;rarr;Remote)&lt;/h4&gt;
&lt;pre class=&quot;groovy&quot;&gt;&lt;code&gt;&amp;gt; scp [유저명]@[IP주소]:[전송할 파일 경로] [유저명]@[IP주소]:[받을 경로]

EX) A 원격지의 /home/test.txt 파일을 B 원격지의 /home/example 디렉토리로 전송
&amp;gt; scp dhj@141.211.xx.xxx:/home/test.txt gildong@141.223.xx.xxx:/home/example&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;옵션-options&quot; style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;옵션 (options)&lt;/h2&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&gt;-r: 폴더를 복사할 때 사용(전송 대상을 폴더로 지정). 모든 폴더들을 재귀적으로 복사함.&lt;/li&gt;
&lt;li&gt;-P: ssh 포트 지정&lt;/li&gt;
&lt;li&gt;-i: identity file을 지정해서 사용(identity file 경로를 지정)&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;stylus&quot;&gt;&lt;code&gt;&amp;gt; ex) scp -i ~/.ssh/dhj-server-private ~/example.txt dhj@141.223.xx.xxx:/home/test&lt;/code&gt;&lt;/pre&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&gt;-v: 상세내용을 보면서 디버깅 할 때 사용(verbose 모드)&lt;/li&gt;
&lt;li&gt;-p: 전송 시 파일 수정 시간과 권한을 유지&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;&amp;gt; ex) scp -P 22 dhj@141.223.xx.xxx:/home/dhj/example.txt /home/test&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;복수의-파일-전송&quot; style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;복수의 파일 전송&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 id=&quot;1-로컬에서-원격으로-localremote-1&quot; style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;1. 로컬에서 원격으로 (Local&amp;rarr;Remote)&lt;/h4&gt;
&lt;pre class=&quot;inform7&quot;&gt;&lt;code&gt;&amp;gt; scp [옵션] [파일명1] [파일명2] [유저명]@[IP주소]:[받을 경로]&lt;/code&gt;&lt;/pre&gt;
&lt;h4 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 id=&quot;2-원격에서-로컬로-remotelocal-1&quot; style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;2. 원격에서 로컬로 (Remote&amp;rarr;Local)&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1번의 경우와 다르게 원격지에서 보낼 파일들의 경로를 &amp;ldquo; &amp;ldquo;을 이용해 묶어준다.&lt;/p&gt;
&lt;pre class=&quot;inform7&quot;&gt;&lt;code&gt;&amp;gt; scp [옵션] [유저명]@[IP주소]:&quot;[파일명1] [파일명2]&quot; [받을 경로]&lt;/code&gt;&lt;/pre&gt;
&lt;h4 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 id=&quot;3-원격에서-원격으로-remoteremote-1&quot; style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;3. 원격에서 원격으로 (Remote&amp;rarr;Remote)&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;마찬가지로 원격지에서 보낼 파일들의 경로를 &amp;ldquo; &amp;ldquo;을 이용해 묶어준다.&lt;/p&gt;
&lt;pre class=&quot;inform7&quot;&gt;&lt;code&gt;&amp;gt; scp [옵션] [유저명]@[IP주소]:&quot;[파일명1] [파일명2]&quot; [유저명]@[IP주소]:[받을 경로]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;a href=&quot;https://doheejin.github.io/linux/2021/03/03/linux-scp.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://doheejin.github.io/linux/2021/03/03/linux-scp.html&lt;/a&gt;&lt;/p&gt;</description>
      <category>지식노트/도전! 리눅스!</category>
      <category>Linux</category>
      <category>linux scp</category>
      <category>scp</category>
      <category>scp 명령어</category>
      <category>리눅스 scp</category>
      <category>리눅스 scp 명령어</category>
      <author>디두딘</author>
      <guid isPermaLink="true">https://devjjsjjj.tistory.com/149</guid>
      <comments>https://devjjsjjj.tistory.com/entry/Linux-scp-%EB%AA%85%EB%A0%B9%EC%96%B4%EB%A1%9C-%EB%A1%9C%EC%BB%AC%E2%86%94%EC%84%9C%EB%B2%84-%ED%8C%8C%EC%9D%BC-%EC%A0%84%EC%86%A1#entry149comment</comments>
      <pubDate>Wed, 17 Jul 2024 16:35:15 +0900</pubDate>
    </item>
    <item>
      <title>[DB] MariaDB JDBC Failover 및 Load balancing 설정</title>
      <link>https://devjjsjjj.tistory.com/entry/DB-MariaDB-JDBC-Failover-%EB%B0%8F-Load-balancing-%EC%84%A4%EC%A0%95</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;339&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pJen9/btsIAbet0gz/9rD1r9PaAWEedhokZxYSTk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pJen9/btsIAbet0gz/9rD1r9PaAWEedhokZxYSTk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pJen9/btsIAbet0gz/9rD1r9PaAWEedhokZxYSTk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpJen9%2FbtsIAbet0gz%2F9rD1r9PaAWEedhokZxYSTk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;602&quot; height=&quot;339&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;339&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;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: inherit;&quot;&gt;JDBC 설정 방법&lt;/li&gt;
&lt;li&gt;jdbc:(mysql|mariadb):[replication:|sequential:|loadbalance:|aurora:]//[,...]/[database][?=[&amp;amp;=]...]&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote style=&quot;color: #666666; text-align: start;&quot; data-ke-style=&quot;style1&quot;&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: inherit;&quot;&gt;replication: jdbc:mysql:replication://master1,slave1,slave2/test&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot;&gt;sequential: jdbc:mariadb:sequential://master1,master2/test&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot;&gt;loadbalance: jdbc:mariadb:sequential://master1,master2/test&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;sequential&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다중 마스터 환경에서 사용 가능하며, 정의된 순서대로 Connection 연결 시도, 첫 번째 호스트를 접속하지 못한 경우 다음 호스트로 순차적 접속 시도 연결 시도, (다중 Master, failover)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;MariaDB Connector/J 1.3.0 이상&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;loadbalance&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;다중 마스터 환경에서 사용, 정의된 host 중 무작위로 선택, 부하를 분산 처리(다중 Master, 부하 분산)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Galera처럼 테이블을 동시에 잠금하여 작업하지 않는 이상 사용 불가, Relation기능을 이용한 다중 마스터의 경우 트랜잭션이 끝난 이후 동기화가 이루어지므로, 문제 발생 가능성 있음&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;MariaDB Connector/J 1.2.0 이상&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;replication&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;마스터-슬레이브 환경에서 슬레이브에 로드밸런싱을 지원, 슬레이브로 설정된 호스트에 무작위 연결 부하 분산&lt;br /&gt;(슬레이브 failover, 부하 분산)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;MariaDB Connector/J 1.2.0 이상&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;관련 변수&lt;/h2&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: inherit;&quot;&gt;autoReconnect: failover기능이 비활성화된 상태에서는 해당 호스트에 재 연결을 시도하며, failover기능 활성화 상태에서는 다른 호스트에 연결을 시도 (default:false)&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot;&gt;retriesAllDown: 모든 호스트가 작동이 중지된 경우 예외를 발생시키기 전 최대 연결 시도 횟수(default: 120) ??&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot;&gt;failoverLoopRetries: 예외 발생 전 최대 연결 시도 횟수(default: 120), retriesAllDown와 다름???&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot;&gt;validConnectionTimeout: 연결된 이후, 주기적 연결 확인, 0 설정한 경우 확인하지 않음(default: 120)&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot;&gt;loadBalanceBlacklistTimeout: 연결이 실패한 경우 해당 호스트는 블랙리스트에 추가, 설정된 시간 동안 접속을 시도하지 않음, 남은 호스트가 없는 경우 블랙리스트에 있는 호스트도 접속 시도(default: 50초)&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot;&gt;assureReadOnly: 읽기 전용 설정한 경우, 해당 값이 true인 경우 세션을 읽기 모드로 설정(default: false)&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot;&gt;allowMasterDownConnection : replication모드로 사용 중 마스터가 중지된 경우 슬레이브에 기본 연결로 설정, 운영, 쓰기는 안됨(default: false)&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://nakanara.tistory.com/206&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://nakanara.tistory.com/206|&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://mariadb.com/kb/en/failover-and-high-availability-with-mariadb-connector-j/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://mariadb.com/kb/en/failover-and-high-availability-with-mariadb-connector-j/&lt;/a&gt;&lt;/p&gt;</description>
      <category>지식노트</category>
      <category>JDBC</category>
      <category>jdbc load balancing</category>
      <category>jdbc 로드밸런싱</category>
      <category>mariadb failover</category>
      <category>mariadb jdbc</category>
      <category>mariadb jdbc failover</category>
      <author>디두딘</author>
      <guid isPermaLink="true">https://devjjsjjj.tistory.com/148</guid>
      <comments>https://devjjsjjj.tistory.com/entry/DB-MariaDB-JDBC-Failover-%EB%B0%8F-Load-balancing-%EC%84%A4%EC%A0%95#entry148comment</comments>
      <pubDate>Tue, 16 Jul 2024 14:32:16 +0900</pubDate>
    </item>
    <item>
      <title>[PostgreSQL] PostgreSQL 접속</title>
      <link>https://devjjsjjj.tistory.com/entry/PostgreSQL-PostgreSQL-%EC%A0%91%EC%86%8D</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;PostgreSQL 접속하기&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;PostgreSQL&amp;nbsp;접속으로 돌아왔습니당&lt;br /&gt;짝짝&lt;br /&gt;&amp;nbsp;&lt;br /&gt;바로 진행해보시져&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;1. &lt;/b&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;&lt;b&gt;pgAdmin4 실행&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt; &lt;/b&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;시작에서 &lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;pgAdmin4을 검색한 후에 실행시켜줍니다.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&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;750&quot; data-origin-height=&quot;600&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FMrB6/btsEFSITXTD/ehDXWyHv2qavYEfnMw0nD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FMrB6/btsEFSITXTD/ehDXWyHv2qavYEfnMw0nD0/img.png&quot; data-alt=&quot;pgAdmin4&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FMrB6/btsEFSITXTD/ehDXWyHv2qavYEfnMw0nD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFMrB6%2FbtsEFSITXTD%2FehDXWyHv2qavYEfnMw0nD0%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;750&quot; height=&quot;600&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;600&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;pgAdmin4&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1026&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgvd5e/btsEKECJJHD/8BRPGFHfvB9ILfrwHCb9n0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgvd5e/btsEKECJJHD/8BRPGFHfvB9ILfrwHCb9n0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgvd5e/btsEKECJJHD/8BRPGFHfvB9ILfrwHCb9n0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbgvd5e%2FbtsEKECJJHD%2F8BRPGFHfvB9ILfrwHCb9n0%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;1026&quot; height=&quot;800&quot; data-origin-width=&quot;1026&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;이런 화면이 뜨게 됩니당&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;2. 접속하기&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;1026&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QYux2/btsEEACzSMY/vCNwsSfwCksx4EGPfjMXkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QYux2/btsEEACzSMY/vCNwsSfwCksx4EGPfjMXkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QYux2/btsEEACzSMY/vCNwsSfwCksx4EGPfjMXkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQYux2%2FbtsEEACzSMY%2FvCNwsSfwCksx4EGPfjMXkk%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;1026&quot; height=&quot;800&quot; data-origin-width=&quot;1026&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;Server를 클릭하면&lt;br /&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;1026&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKyhLD/btsEGRCJA41/6xI65ia2x1StVCGYzmFPSk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKyhLD/btsEGRCJA41/6xI65ia2x1StVCGYzmFPSk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKyhLD/btsEGRCJA41/6xI65ia2x1StVCGYzmFPSk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKyhLD%2FbtsEGRCJA41%2F6xI65ia2x1StVCGYzmFPSk%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;1026&quot; height=&quot;800&quot; data-origin-width=&quot;1026&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;설치할 때 입력했던&lt;br /&gt;루트 계정의 비번을 입력하라고 합니다!&lt;br /&gt;&amp;nbsp;&lt;br /&gt;벌써 잊으신 건 아니죠?&lt;br /&gt;하하하&lt;br /&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;1026&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ckVOeA/btsEFdfxo40/sTxWmh73vP5y5eitvWVMsK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ckVOeA/btsEFdfxo40/sTxWmh73vP5y5eitvWVMsK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ckVOeA/btsEFdfxo40/sTxWmh73vP5y5eitvWVMsK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FckVOeA%2FbtsEFdfxo40%2FsTxWmh73vP5y5eitvWVMsK%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;1026&quot; height=&quot;800&quot; data-origin-width=&quot;1026&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;접속을 하시면 Sever Dashboard와 PostgreSQL 구조가 보입니다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;크게 Databases, Roles, Tablespaces 3개의 구조로 되어있습니다.&lt;br /&gt;Data는 Table에 담기며 Table은&amp;nbsp;&lt;span style=&quot;color: #333333;&quot;&gt;Tablespaces&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;에 저장됩니다.&lt;/span&gt;&lt;br /&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;1026&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bag8st/btsEFPlb1vW/bSXE6mVXvDuxKg9H5m2UCK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bag8st/btsEFPlb1vW/bSXE6mVXvDuxKg9H5m2UCK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bag8st/btsEFPlb1vW/bSXE6mVXvDuxKg9H5m2UCK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbag8st%2FbtsEFPlb1vW%2FbSXE6mVXvDuxKg9H5m2UCK%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;1026&quot; height=&quot;800&quot; data-origin-width=&quot;1026&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;접속하면 기본 테이블로는 postgres 테이블이 생성되어 있습니다!&lt;/span&gt;&lt;br /&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;1026&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1NNXB/btsEGjsKlIE/K4ezYqxVzBmzW6dETXRcl1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1NNXB/btsEGjsKlIE/K4ezYqxVzBmzW6dETXRcl1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1NNXB/btsEGjsKlIE/K4ezYqxVzBmzW6dETXRcl1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1NNXB%2FbtsEGjsKlIE%2FK4ezYqxVzBmzW6dETXRcl1%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;1026&quot; height=&quot;800&quot; data-origin-width=&quot;1026&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;postgres 테이블 우클릭 -&amp;gt; Query Tool을 입력하면 Query문을 입력할 수 있는 입력 창이 나옵니다.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;잘 작성되는지 테스트 해보겠습니당&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;현재 시간을 보여주는 SELECT NOW(); 를 실행해보겠습니당&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Ctrl + a &amp;amp; Shift + home 버튼을 누르면 문자전체를 선택합니다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그 후 F5 버튼을 누르면 Data 결과를 보여줍니다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1026&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cSsKfl/btsEGNmUsGf/KItpkKkh27v9mtvu8JPmo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cSsKfl/btsEGNmUsGf/KItpkKkh27v9mtvu8JPmo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cSsKfl/btsEGNmUsGf/KItpkKkh27v9mtvu8JPmo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcSsKfl%2FbtsEGNmUsGf%2FKItpkKkh27v9mtvu8JPmo0%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;1026&quot; height=&quot;800&quot; data-origin-width=&quot;1026&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이렇게 간단하게 PostgreSQL을 실행해 봤습니다!&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;짝짝짝&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이제 다음 제 계획은&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&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;span style=&quot;color: #000000;&quot;&gt;프로젝트에 테스트용 서버 API 만들기&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Dooray API 연동&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;PostgreSQL과 프로젝트 연동 후 테스트&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;도커 컴포즈로 컨테이너 만들어 보기&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;까지 저의 추후 계획입니당&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;우여곡절이 많을 거 같네요......&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;크흐흡&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;또 돌아오겠습니다~!~!!&lt;/span&gt;&lt;/p&gt;</description>
      <category>끄적</category>
      <category>pgadmin4</category>
      <category>PostgreSQL</category>
      <category>PostgreSQL 실행</category>
      <category>PostgreSQL 접속</category>
      <author>디두딘</author>
      <guid isPermaLink="true">https://devjjsjjj.tistory.com/147</guid>
      <comments>https://devjjsjjj.tistory.com/entry/PostgreSQL-PostgreSQL-%EC%A0%91%EC%86%8D#entry147comment</comments>
      <pubDate>Sat, 10 Feb 2024 22:25:03 +0900</pubDate>
    </item>
    <item>
      <title>[PostgreSQL] PostgreSQL 설치</title>
      <link>https://devjjsjjj.tistory.com/entry/PostgreSQL-PostgreSQL-%EC%84%A4%EC%B9%98</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;576&quot; data-origin-height=&quot;594&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chLzBj/btsEGNHbXBb/7ij6CKKODqDgjo4WSkyz10/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chLzBj/btsEGNHbXBb/7ij6CKKODqDgjo4WSkyz10/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chLzBj/btsEGNHbXBb/7ij6CKKODqDgjo4WSkyz10/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FchLzBj%2FbtsEGNHbXBb%2F7ij6CKKODqDgjo4WSkyz10%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;402&quot; height=&quot;415&quot; data-origin-width=&quot;576&quot; data-origin-height=&quot;594&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;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;PostgreSQL&amp;nbsp;설치하기&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Oracle, Mysql만 써보다가&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;PostgreSQL은 처음입니다!&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;원래는 MongoDB를 생각했었는데&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;프로님이 PostgreSQL로 바꿔오셨더라구요? 하핫&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;저는 개미 나부랭이에 불과하기 때문에&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;따를 수 밖에 없습니다!&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;두근두근&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;좀 많이 다르다는데 .. 어떨지 궁금하네요.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;자 그럼 시작!&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;하단 링크에 접속해서 다운로드 진행!&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;https://www.enterprisedb.com/downloads/postgres-postgresql-downloads&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;https://www.enterprisedb.com/downloads/postgres-postgresql-downloads&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;Community DL Page&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;Note: EDB no longer provides Linux installers for PostgreSQL 11 and later versions, and users are encouraged to use the platform-native packages. Version 10.x and below will be supported until their end of life. For more information, please see this blog p&quot; data-og-host=&quot;www.enterprisedb.com&quot; data-og-source-url=&quot;https://www.enterprisedb.com/downloads/postgres-postgresql-downloads&quot; data-og-url=&quot;https://www.enterprisedb.com/downloads/postgres-postgresql-downloads&quot;&gt;&lt;a href=&quot;https://www.enterprisedb.com/downloads/postgres-postgresql-downloads&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.enterprisedb.com/downloads/postgres-postgresql-downloads&quot;&gt;
&lt;div class=&quot;og-image&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;Community DL Page&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Note: EDB no longer provides Linux installers for PostgreSQL 11 and later versions, and users are encouraged to use the platform-native packages. Version 10.x and below will be supported until their end of life. For more information, please see this blog p&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.enterprisedb.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;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;1. 페이지 접속 후 Download the installer 링크 클릭&lt;/b&gt;&lt;/span&gt;&lt;br /&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;1535&quot; data-origin-height=&quot;395&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p6WY3/btsEEMiozup/IUeK7K84dHiR0xpoKS71P1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p6WY3/btsEEMiozup/IUeK7K84dHiR0xpoKS71P1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p6WY3/btsEEMiozup/IUeK7K84dHiR0xpoKS71P1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp6WY3%2FbtsEEMiozup%2FIUeK7K84dHiR0xpoKS71P1%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;1535&quot; height=&quot;395&quot; data-origin-width=&quot;1535&quot; data-origin-height=&quot;395&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;2. 자신의 OS에 맞게 버전별 다운로드&lt;/b&gt;&lt;/span&gt;&lt;br /&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;1490&quot; data-origin-height=&quot;852&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZlU3M/btsEEZV2Eg8/bHu7Qk51a7mhhVDcP13081/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZlU3M/btsEEZV2Eg8/bHu7Qk51a7mhhVDcP13081/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZlU3M/btsEEZV2Eg8/bHu7Qk51a7mhhVDcP13081/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZlU3M%2FbtsEEZV2Eg8%2FbHu7Qk51a7mhhVDcP13081%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;1490&quot; height=&quot;852&quot; data-origin-width=&quot;1490&quot; data-origin-height=&quot;852&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;저는 15.6으로 진행하겠습니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;윈도우 기준으로 링크에 들어가면 자동으로 다운로드가 진행됩니다.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;3. 설치 시작&lt;/b&gt;&lt;/span&gt;&lt;br /&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;552&quot; data-origin-height=&quot;432&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c3p6dk/btsEJbnbOmm/tEjJdkqCJAAEZI7KIe2BlK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c3p6dk/btsEJbnbOmm/tEjJdkqCJAAEZI7KIe2BlK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c3p6dk/btsEJbnbOmm/tEjJdkqCJAAEZI7KIe2BlK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3p6dk%2FbtsEJbnbOmm%2FtEjJdkqCJAAEZI7KIe2BlK%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;552&quot; height=&quot;432&quot; data-origin-width=&quot;552&quot; data-origin-height=&quot;432&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;552&quot; data-origin-height=&quot;432&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bIvGR9/btsEGS2IYf5/4Wulf77uZzN4H7alIKVq8K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bIvGR9/btsEGS2IYf5/4Wulf77uZzN4H7alIKVq8K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bIvGR9/btsEGS2IYf5/4Wulf77uZzN4H7alIKVq8K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbIvGR9%2FbtsEGS2IYf5%2F4Wulf77uZzN4H7alIKVq8K%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;552&quot; height=&quot;432&quot; data-origin-width=&quot;552&quot; data-origin-height=&quot;432&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;552&quot; data-origin-height=&quot;432&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bx67ew/btsEHoAoDQD/UkXLkmhecW5PRY9L7iI8B0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bx67ew/btsEHoAoDQD/UkXLkmhecW5PRY9L7iI8B0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bx67ew/btsEHoAoDQD/UkXLkmhecW5PRY9L7iI8B0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbx67ew%2FbtsEHoAoDQD%2FUkXLkmhecW5PRY9L7iI8B0%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;552&quot; height=&quot;432&quot; data-origin-width=&quot;552&quot; data-origin-height=&quot;432&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;모두 설치합니다! &lt;/span&gt;&lt;/span&gt;&lt;br /&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;552&quot; data-origin-height=&quot;432&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RqESY/btsEGQKASnh/1p3RFymXWgZYk26VIKhgKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RqESY/btsEGQKASnh/1p3RFymXWgZYk26VIKhgKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RqESY/btsEGQKASnh/1p3RFymXWgZYk26VIKhgKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRqESY%2FbtsEGQKASnh%2F1p3RFymXWgZYk26VIKhgKK%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;552&quot; height=&quot;432&quot; data-origin-width=&quot;552&quot; data-origin-height=&quot;432&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;552&quot; data-origin-height=&quot;432&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bha4v0/btsEFONl2cT/dTeFZyJkIjWpryJnfYdayk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bha4v0/btsEFONl2cT/dTeFZyJkIjWpryJnfYdayk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bha4v0/btsEFONl2cT/dTeFZyJkIjWpryJnfYdayk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbha4v0%2FbtsEFONl2cT%2FdTeFZyJkIjWpryJnfYdayk%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;552&quot; height=&quot;432&quot; data-origin-width=&quot;552&quot; data-origin-height=&quot;432&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ROOT &amp;amp; 슈퍼 사용자의 비밀번호를 설정&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;잊으시면 매우 곤란합니다&lt;/span&gt;&lt;br /&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;552&quot; data-origin-height=&quot;432&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nNElY/btsEGOlNmqo/iiBq4eaWV5t1wPybwkuKEK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nNElY/btsEGOlNmqo/iiBq4eaWV5t1wPybwkuKEK/img.png&quot; data-alt=&quot;포트 설정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nNElY/btsEGOlNmqo/iiBq4eaWV5t1wPybwkuKEK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnNElY%2FbtsEGOlNmqo%2FiiBq4eaWV5t1wPybwkuKEK%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;552&quot; height=&quot;432&quot; data-origin-width=&quot;552&quot; data-origin-height=&quot;432&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;포트 설정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;기본 포트인 5432로 하겠습니다.&lt;/span&gt;&lt;br /&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;552&quot; data-origin-height=&quot;432&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YnFsx/btsEGMap9Lk/AkKf0KQKP9NbiacDOXN9K1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YnFsx/btsEGMap9Lk/AkKf0KQKP9NbiacDOXN9K1/img.png&quot; data-alt=&quot;지역 설정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YnFsx/btsEGMap9Lk/AkKf0KQKP9NbiacDOXN9K1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYnFsx%2FbtsEGMap9Lk%2FAkKf0KQKP9NbiacDOXN9K1%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;552&quot; height=&quot;432&quot; data-origin-width=&quot;552&quot; data-origin-height=&quot;432&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;지역 설정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Korean, Korea 선택 후 다음&lt;/span&gt;&lt;br /&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;552&quot; data-origin-height=&quot;432&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JtZ8m/btsEEzKnTR5/jhOvthKtNcHl5fgE9dzd5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JtZ8m/btsEEzKnTR5/jhOvthKtNcHl5fgE9dzd5K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JtZ8m/btsEEzKnTR5/jhOvthKtNcHl5fgE9dzd5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJtZ8m%2FbtsEEzKnTR5%2FjhOvthKtNcHl5fgE9dzd5K%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;552&quot; height=&quot;432&quot; data-origin-width=&quot;552&quot; data-origin-height=&quot;432&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;몇 번의 Next를 더 누르신 후 설치를 기다립니다.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;...Loading....&lt;/span&gt;&lt;br /&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;552&quot; data-origin-height=&quot;432&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/v8wNA/btsEGjM1WZg/kqIYuy9kGJCcLqiafxTXhk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/v8wNA/btsEGjM1WZg/kqIYuy9kGJCcLqiafxTXhk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/v8wNA/btsEGjM1WZg/kqIYuy9kGJCcLqiafxTXhk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fv8wNA%2FbtsEGjM1WZg%2FkqIYuy9kGJCcLqiafxTXhk%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;552&quot; height=&quot;432&quot; data-origin-width=&quot;552&quot; data-origin-height=&quot;432&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;설치중..&lt;/span&gt;&lt;br /&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;600&quot; data-origin-height=&quot;434&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dlGZOF/btsEEwGYjST/Ra1a9BKgVtbzmAteYvOdO1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dlGZOF/btsEEwGYjST/Ra1a9BKgVtbzmAteYvOdO1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dlGZOF/btsEEwGYjST/Ra1a9BKgVtbzmAteYvOdO1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdlGZOF%2FbtsEEwGYjST%2FRa1a9BKgVtbzmAteYvOdO1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;455&quot; height=&quot;329&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;434&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;지루행.....&lt;/span&gt;&lt;br /&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;552&quot; data-origin-height=&quot;432&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DrV9H/btsEE3KXOCN/wdxeW3x7ioypKLLJbw0ZMk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DrV9H/btsEE3KXOCN/wdxeW3x7ioypKLLJbw0ZMk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DrV9H/btsEE3KXOCN/wdxeW3x7ioypKLLJbw0ZMk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDrV9H%2FbtsEE3KXOCN%2FwdxeW3x7ioypKLLJbw0ZMk%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;552&quot; height=&quot;432&quot; data-origin-width=&quot;552&quot; data-origin-height=&quot;432&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;설치가 완료되면 체크 박스를 해제 후 완료!&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;다음은 PostgreSQL 접속으로 돌아오겠습니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;커밍순&lt;/span&gt;&lt;br /&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;476&quot; data-origin-height=&quot;441&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MrHUn/btsEHGucitZ/dfsl83PSAKzJbeOkspaTVK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MrHUn/btsEHGucitZ/dfsl83PSAKzJbeOkspaTVK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MrHUn/btsEHGucitZ/dfsl83PSAKzJbeOkspaTVK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMrHUn%2FbtsEHGucitZ%2Fdfsl83PSAKzJbeOkspaTVK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;336&quot; height=&quot;311&quot; data-origin-width=&quot;476&quot; data-origin-height=&quot;441&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>끄적</category>
      <category>PostgreSQL</category>
      <category>PostgreSQL 다운로드</category>
      <category>postgresql 설치</category>
      <category>postgresql 시작</category>
      <author>디두딘</author>
      <guid isPermaLink="true">https://devjjsjjj.tistory.com/146</guid>
      <comments>https://devjjsjjj.tistory.com/entry/PostgreSQL-PostgreSQL-%EC%84%A4%EC%B9%98#entry146comment</comments>
      <pubDate>Sat, 10 Feb 2024 22:14:10 +0900</pubDate>
    </item>
    <item>
      <title>[Next.js + TypeScript] 프로젝트 생성 및 초기 설정 (Styled-Components 적용)</title>
      <link>https://devjjsjjj.tistory.com/entry/Nextjs-TypeScript-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%83%9D%EC%84%B1-%EB%B0%8F-%EC%B4%88%EA%B8%B0-%EC%84%A4%EC%A0%95-Styled-Components-%EC%A0%81%EC%9A%A9</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;설 연휴 전 ...... &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;프로님이 투두리스트를 주셨다.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;프로젝트를 생성하고 도커 컴포즈로 컨테이너를 생성해보라고 하신 것..............&lt;/span&gt;&lt;br /&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;250&quot; data-origin-height=&quot;250&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tJB2N/btsEEx6Vr51/Lo9lo0vdDGMFPqd4m2GXt1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tJB2N/btsEEx6Vr51/Lo9lo0vdDGMFPqd4m2GXt1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tJB2N/btsEEx6Vr51/Lo9lo0vdDGMFPqd4m2GXt1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtJB2N%2FbtsEEx6Vr51%2FLo9lo0vdDGMFPqd4m2GXt1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;250&quot; height=&quot;250&quot; data-origin-width=&quot;250&quot; data-origin-height=&quot;250&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;따흑 나에겐 시간이 별로 없다...&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;후딱 프로젝트 생성부터 해보자!&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;아직 이름이 정해지지 않아서 뭐 그냥 임시로 team-study로 가보려고 한다.&lt;/span&gt;&lt;br /&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;800&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/be44zG/btsEEzKnqgO/BruK3awyL8M0rYLkPvH8kk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/be44zG/btsEEzKnqgO/BruK3awyL8M0rYLkPvH8kk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/be44zG/btsEEzKnqgO/BruK3awyL8M0rYLkPvH8kk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbe44zG%2FbtsEEzKnqgO%2FBruK3awyL8M0rYLkPvH8kk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;307&quot; height=&quot;307&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;1. 프로젝트 생성&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Next.js + TypeScript 프로젝트를 생성해보자.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;터미널에 아래 명령어를 입력&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;shell&quot; style=&quot;color: #212529; text-align: start;&quot; data-ke-language=&quot;shell&quot;&gt;&lt;code&gt;npx create-next-app --typescript 프로젝트명&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;해당 명령어를 입력하고 프로젝트 폴더로 이동하면 아래와 같은 구조로 프로젝트가 생성된다.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;입력하면&lt;/span&gt;&lt;br /&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;576&quot; data-origin-height=&quot;128&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NctCi/btsEELKzlCy/kFvUtJn5pEqUnkMFC8nkX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NctCi/btsEELKzlCy/kFvUtJn5pEqUnkMFC8nkX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NctCi/btsEELKzlCy/kFvUtJn5pEqUnkMFC8nkX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNctCi%2FbtsEELKzlCy%2FkFvUtJn5pEqUnkMFC8nkX0%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;576&quot; height=&quot;128&quot; data-origin-width=&quot;576&quot; data-origin-height=&quot;128&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이렇게 물어본다.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;원래 1번 질문은&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Would you like to use TypeScript? 인데&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;나는 애초에 typescript 프로젝트로 생성해서 스킵됨&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style4&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;(1) Would you like to use ESLint?&lt;/b&gt;&lt;/span&gt;&lt;/h3&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;336&quot; data-origin-height=&quot;21&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c3qxTF/btsEHIS5myP/Sp8oQkEdFnTV2E0baHhfyK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c3qxTF/btsEHIS5myP/Sp8oQkEdFnTV2E0baHhfyK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c3qxTF/btsEHIS5myP/Sp8oQkEdFnTV2E0baHhfyK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3qxTF%2FbtsEHIS5myP%2FSp8oQkEdFnTV2E0baHhfyK%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;336&quot; height=&quot;21&quot; data-origin-width=&quot;336&quot; data-origin-height=&quot;21&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 질문은 ESLint를 프로젝트에 포함시킬지 묻는 것&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;ESLint는 JavaScript 및 TypeScript 코드에 대한 정적 분석 도구로, &lt;br /&gt;코드에서 발견된 문제점을 식별하고 보고해주는 역할을 합니다.&lt;br /&gt;이는 특정 코드 스타일 가이드를 따르거나, 잠재적인 코드 품질 문제 및 버그를 식별하는 데 도움이 됩니다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;사용하실 분은 yes를 눌러주시면 됩니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;저는 yes를 눌렀는데, no를 해도 나중에 필요하다면 ESLint를 수동으로 설치하고 설정할 수 있음&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;(2) Would you like to use Tailwind CSS?&lt;/b&gt;&lt;/span&gt;&lt;/h3&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;365&quot; data-origin-height=&quot;20&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZ4r32/btsEFjNxGQi/atVR0F21KPlow79HkJERlK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZ4r32/btsEFjNxGQi/atVR0F21KPlow79HkJERlK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZ4r32/btsEFjNxGQi/atVR0F21KPlow79HkJERlK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZ4r32%2FbtsEFjNxGQi%2FatVR0F21KPlow79HkJERlK%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;365&quot; height=&quot;20&quot; data-origin-width=&quot;365&quot; data-origin-height=&quot;20&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 질문은 Tailwind CSS를 프로젝트에 포함시킬지 묻는 것&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;Tailwind CSS는 저수준의 유틸리티 기반 CSS 프레임워크입니다.&lt;br /&gt;이를 사용하면 HTML 마크업 내에서 CSS 스타일을 직접 적용할 수 있습니다. &lt;br /&gt;기본적으로 응답형 디자인, 다크 모드 지원, 폼 플러그인 등을 포함하여 매우 유연하고 사용자 친화적인 API를 제공합니다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 저번 블로그 만들 때 Tailwind CSS를 사용했었는데 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;생각보다 문법도 다르지 않고 &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;쉽게쉽게 바꿔서 적용이 가능했습니다!&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;예쁘기도 하고여&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;개인적으로 굉장히 좋아합니다 하핫&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;해당 프로젝트에 사용하실 분은 yes를 눌러주시면 됩니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;no를 눌러도 나중에 필요하다면 Tailwind CSS를 수동으로 설치하고 설정할 수 있음&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;(3) Would you like to use&amp;nbsp;src/&amp;nbsp;directory?&lt;/b&gt;&lt;/span&gt;&lt;/h3&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;394&quot; data-origin-height=&quot;22&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0Zy0m/btsEGLCBoYy/R2rsbMQkNxUVmGzUqBSZL0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0Zy0m/btsEGLCBoYy/R2rsbMQkNxUVmGzUqBSZL0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0Zy0m/btsEGLCBoYy/R2rsbMQkNxUVmGzUqBSZL0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0Zy0m%2FbtsEGLCBoYy%2FR2rsbMQkNxUVmGzUqBSZL0%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;394&quot; height=&quot;22&quot; data-origin-width=&quot;394&quot; data-origin-height=&quot;22&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 질문은 프로젝트의 소스 코드를 'src/' 디렉토리 안에 구성하고 싶은지를 묻는 것&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;다른 보통의 프로젝트들 처럼 소스코드를 src 폴더에 넣어 관리하도록 하는 것이 좋다고 합니다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;해당 질문에 yes를 하시면 프로젝트의 구조를 'src/' 디렉토리 안에 넣어서 세팅해줍니다.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;하지만 이 후에도 프로젝트의 구조는 개발자의 필요에 따라 언제든지 변경할 수 있음&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;(4) Would you like to use App Router? (recommended)&lt;/b&gt;&lt;/span&gt;&lt;/h3&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;451&quot; data-origin-height=&quot;20&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgmjdi/btsEIN7LY21/WKjezB4jfhjZdKYjPAxjK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgmjdi/btsEIN7LY21/WKjezB4jfhjZdKYjPAxjK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgmjdi/btsEIN7LY21/WKjezB4jfhjZdKYjPAxjK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbgmjdi%2FbtsEIN7LY21%2FWKjezB4jfhjZdKYjPAxjK0%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;451&quot; height=&quot;20&quot; data-origin-width=&quot;451&quot; data-origin-height=&quot;20&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;프로젝트에 App Router&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;즉, Next.js의 Custom _app.js 또는 _app.tsx 파일을 사용할 것인지 묻는 질문&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;_app.js 또는 _app.tsx 파일은 모든 페이지에 공통적인 레이아웃을 적용하거나, 페이지 전환 시 상태를 유지하는 등의 용도로 사용할 수 있습니다.&lt;br /&gt;또한, CSS-in-JS 라이브러리를 사용하거나 글로벌 CSS를 적용할 때도 사용됩니다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위의 기능이 필요하다면 yes를 선택하면 됩니다. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그렇지 않다면 no를 선택하면 되고, 나중에 필요하게 되면 언제든지 _app.js 또는 _app.tsx 파일을 추가할 수 있음&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;(5) Would you like to customize the default import alias?&lt;/b&gt;&lt;/span&gt;&lt;/h3&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;532&quot; data-origin-height=&quot;20&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dcGWsi/btsEHHzSFs7/uEKWl0yZQTemt0FyoTu8qK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dcGWsi/btsEHHzSFs7/uEKWl0yZQTemt0FyoTu8qK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dcGWsi/btsEHHzSFs7/uEKWl0yZQTemt0FyoTu8qK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdcGWsi%2FbtsEHHzSFs7%2FuEKWl0yZQTemt0FyoTu8qK%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;532&quot; height=&quot;20&quot; data-origin-width=&quot;532&quot; data-origin-height=&quot;20&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;import 경로에 대한 별칭(alias) 설정을 사용자 정의할 것인지 물어보는 것&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;별칭(alias)은 특정 디렉토리를 가리키는 새로운 이름을 설정하는 것을 의미합니다.&lt;br /&gt;이를 사용하면 프로젝트의 특정 디렉토리를 간단하게 참조할 수 있습니다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;예를 들어, 프로젝트에서 자주 사용되는 디렉토리의 경로를 매번 전체 경로로 적지 않고, 별칭을 통해 짧고 간결하게 참조할 수 있습니다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;yes를 선택하면 프로젝트 설정에서 import 별칭을 사용자 정의할 수 있는 옵션이 활성화되며,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;별칭을 원하는 대로 설정하여 사용할 수 있음&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;no를 선택하면 이 단계를 건너뛰고 별칭 설정 없이 프로젝트를 생성하게 됨&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;나중에 필요하다면 수동으로 별칭을 설정할 수 있음&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;(6) 정상 설치&lt;/b&gt;&lt;/span&gt;&lt;/h3&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;558&quot; data-origin-height=&quot;640&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0s3qz/btsEGhuTVy7/V4m5bgcAkgoKkKoUPkSAf1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0s3qz/btsEGhuTVy7/V4m5bgcAkgoKkKoUPkSAf1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0s3qz/btsEGhuTVy7/V4m5bgcAkgoKkKoUPkSAf1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0s3qz%2FbtsEGhuTVy7%2FV4m5bgcAkgoKkKoUPkSAf1%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;521&quot; height=&quot;598&quot; data-origin-width=&quot;558&quot; data-origin-height=&quot;640&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;설치가 완료되었습니다!&lt;/span&gt;&lt;br /&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;169&quot; data-origin-height=&quot;409&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/95azm/btsEGSn67UQ/tAcNC3jIjaepF70suditg1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/95azm/btsEGSn67UQ/tAcNC3jIjaepF70suditg1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/95azm/btsEGSn67UQ/tAcNC3jIjaepF70suditg1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F95azm%2FbtsEGSn67UQ%2FtAcNC3jIjaepF70suditg1%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;169&quot; height=&quot;409&quot; data-origin-width=&quot;169&quot; data-origin-height=&quot;409&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;프로젝트의 구조가 위의 사진처럼 구성됩니다. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;2. Styled-Components 적용&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Styled-Components가 뭔지 궁금하시다면 하단 링크 참고!&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;a href=&quot;https://react.vlpt.us/styling/03-styled-components.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;https://react.vlpt.us/styling/03-styled-components.html&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;3. styled-components &amp;middot; GitBook&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;03. styled-components 이번에 배워볼 기술은 CSS in JS 라는 기술입니다. 이 문구가 뜻하는 그대로, 이 기술은 JS 안에 CSS 를 작성하는 것을 의미하는데요, 우리는 이번 튜토리얼에서 해당 기술을 사용하&quot; data-og-host=&quot;react.vlpt.us&quot; data-og-source-url=&quot;https://react.vlpt.us/styling/03-styled-components.html&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bjxwpz/hyVi8HtA0L/V1aE64zuLLGqwbbo7ekSH0/img.png?width=729&amp;amp;height=734&amp;amp;face=0_0_729_734,https://scrap.kakaocdn.net/dn/khw1M/hyVf5ZTLmw/KxjTYOsvsdAYq7XP33r6y1/img.png?width=729&amp;amp;height=734&amp;amp;face=0_0_729_734,https://scrap.kakaocdn.net/dn/e8HdI/hyVjl7SHC2/4b0SR7Akts8X6CuVtO1SBk/img.png?width=638&amp;amp;height=661&amp;amp;face=0_0_638_661&quot; data-og-url=&quot;https://react.vlpt.us/styling/03-styled-components.html&quot;&gt;&lt;a href=&quot;https://react.vlpt.us/styling/03-styled-components.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://react.vlpt.us/styling/03-styled-components.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bjxwpz/hyVi8HtA0L/V1aE64zuLLGqwbbo7ekSH0/img.png?width=729&amp;amp;height=734&amp;amp;face=0_0_729_734,https://scrap.kakaocdn.net/dn/khw1M/hyVf5ZTLmw/KxjTYOsvsdAYq7XP33r6y1/img.png?width=729&amp;amp;height=734&amp;amp;face=0_0_729_734,https://scrap.kakaocdn.net/dn/e8HdI/hyVjl7SHC2/4b0SR7Akts8X6CuVtO1SBk/img.png?width=638&amp;amp;height=661&amp;amp;face=0_0_638_661');&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;3. styled-components &amp;middot; GitBook&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;03. styled-components 이번에 배워볼 기술은 CSS in JS 라는 기술입니다. 이 문구가 뜻하는 그대로, 이 기술은 JS 안에 CSS 를 작성하는 것을 의미하는데요, 우리는 이번 튜토리얼에서 해당 기술을 사용하&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;react.vlpt.us&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;(1) Styled-Components 설치&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;아래의 명령어를 입력해 styled-components 및 관련 타입 정의를 설치함&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class=&quot;shell&quot; style=&quot;color: #212529; text-align: start;&quot; data-ke-language=&quot;shell&quot;&gt;&lt;code&gt;npm install styled-components
npm install --save-dev @types/styled-components&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;저도 따라서 설치한 화면&lt;/span&gt;&lt;br /&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;506&quot; data-origin-height=&quot;277&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lDSqO/btsEEBBspLs/KJxW6rrVFSJ6B9XphkhguK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lDSqO/btsEEBBspLs/KJxW6rrVFSJ6B9XphkhguK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lDSqO/btsEEBBspLs/KJxW6rrVFSJ6B9XphkhguK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlDSqO%2FbtsEEBBspLs%2FKJxW6rrVFSJ6B9XphkhguK%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;506&quot; height=&quot;277&quot; data-origin-width=&quot;506&quot; data-origin-height=&quot;277&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;package.json 파일에서 잘 설치되었는지 확인해보겠습니다.&lt;/span&gt;&lt;br /&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;345&quot; data-origin-height=&quot;99&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xGT6K/btsEE3qD4vw/YswadiXCdEIlxJV2GbB8wk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xGT6K/btsEE3qD4vw/YswadiXCdEIlxJV2GbB8wk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xGT6K/btsEE3qD4vw/YswadiXCdEIlxJV2GbB8wk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxGT6K%2FbtsEE3qD4vw%2FYswadiXCdEIlxJV2GbB8wk%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;345&quot; height=&quot;99&quot; data-origin-width=&quot;345&quot; data-origin-height=&quot;99&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;설치 완료~!! 하핫&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;
&lt;div style=&quot;color: #000000;&quot;&gt;
&lt;h3 id=&quot;2-서버-사이드-렌더링을-지원하도록-설정하기&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;(2) 서버 사이드 렌더링을 지원하도록 설정하기&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Next.js의 커스텀 Document를 이용하여 _document.tsx 파일을 생성합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;pages/ 디렉토리에 _document.tsx 파일을 만들고 아래의 코드를 추가합니다.&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;229&quot; data-origin-height=&quot;175&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Rz49e/btsEEJeSJ9G/QqceAjUnQLRF27rlBbKI7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Rz49e/btsEEJeSJ9G/QqceAjUnQLRF27rlBbKI7k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Rz49e/btsEEJeSJ9G/QqceAjUnQLRF27rlBbKI7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRz49e%2FbtsEEJeSJ9G%2FQqceAjUnQLRF27rlBbKI7k%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;229&quot; height=&quot;175&quot; data-origin-width=&quot;229&quot; data-origin-height=&quot;175&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class=&quot;typescript&quot; data-ke-language=&quot;typescript&quot;&gt;&lt;code&gt;import Document, { DocumentContext } from 'next/document'
import { ServerStyleSheet } from 'styled-components'

class MyDocument extends Document {
  static async getInitialProps(ctx: DocumentContext) {
    const sheet = new ServerStyleSheet()
    const originalRenderPage = ctx.renderPage

    try {
      ctx.renderPage = () =&amp;gt;
        originalRenderPage({
          enhanceApp: (App) =&amp;gt; (props) =&amp;gt;
            sheet.collectStyles(&amp;lt;App {...props} /&amp;gt;),
        })

      const initialProps = await Document.getInitialProps(ctx)
      return {
        ...initialProps,
        styles: (
          &amp;lt;&amp;gt;
            {initialProps.styles}
            {sheet.getStyleElement()}
          &amp;lt;/&amp;gt;
        ),
      }
    } finally {
      sheet.seal()
    }
  }
}

export default MyDocument&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그대로 복사해서 넣으시면 됩니다!&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;만약&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #565a5f; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;'Cannot find module ...' ('next/document' 모듈을 찾을 수 없습니다.)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #565a5f; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;라는 에러가 발생한다면?&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #565a5f; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1707567954560&quot; class=&quot;typescript&quot; data-ke-language=&quot;typescript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;{
  &quot;compilerOptions&quot;: {
    &quot;lib&quot;: [&quot;dom&quot;, &quot;dom.iterable&quot;, &quot;esnext&quot;],
    &quot;allowJs&quot;: true,
    &quot;skipLibCheck&quot;: true,
    &quot;strict&quot;: true,
    &quot;noEmit&quot;: true,
    &quot;esModuleInterop&quot;: true,
    &quot;module&quot;: &quot;esnext&quot;,
    &quot;moduleResolution&quot;: &quot;node&quot;,
    &quot;resolveJsonModule&quot;: true,
    &quot;isolatedModules&quot;: true,
    &quot;jsx&quot;: &quot;preserve&quot;,
    &quot;incremental&quot;: true,
    &quot;plugins&quot;: [
      {
        &quot;name&quot;: &quot;next&quot;
      }
    ],
    &quot;paths&quot;: {
      &quot;@/*&quot;: [&quot;./src/*&quot;]
    }
  },
  &quot;include&quot;: [&quot;next-env.d.ts&quot;, &quot;**/*.ts&quot;, &quot;**/*.tsx&quot;, &quot;.next/types/**/*.ts&quot;],
  &quot;exclude&quot;: [&quot;node_modules&quot;]
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;tsconfig.json&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1707568043516&quot; class=&quot;typescript&quot; data-ke-language=&quot;typescript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// moduleResolution&quot;: &quot;bundler&quot;,
moduleResolution&quot;: &quot;node&quot;,&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;moduleResolution을 node로 변경해주세요!&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그럼 에러가 사라집니당&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;moduleResolution에 대한 정보는 하단 링크 참조&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://chiabi.github.io/2018/08/30/typescript/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://chiabi.github.io/2018/08/30/typescript/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;figure id=&quot;og_1707568098679&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;TypeScript 사용할 때 'Cannot find module ...' 에러&quot; data-og-description=&quot;웹팩과 타입스크립트를 공부하면서 자동판매기 프로젝트를 진행하다가 문제가 발생했다.처음에 loader등의 웹팩 설정에서 뭘 잘못한 줄 알았다. 결론적으로 문제는 tsconfig.js파일을 수정해 해결&quot; data-og-host=&quot;chiabi.github.io&quot; data-og-source-url=&quot;https://chiabi.github.io/2018/08/30/typescript/&quot; data-og-url=&quot;http://chiabi.github.io/2018/08/30/typescript/index.html&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dwx2ig/hyVjiQQUV2/MlHNKJPIvaykVCiEuXOad0/img.png?width=500&amp;amp;height=500&amp;amp;face=0_0_500_500&quot;&gt;&lt;a href=&quot;https://chiabi.github.io/2018/08/30/typescript/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://chiabi.github.io/2018/08/30/typescript/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dwx2ig/hyVjiQQUV2/MlHNKJPIvaykVCiEuXOad0/img.png?width=500&amp;amp;height=500&amp;amp;face=0_0_500_500');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;TypeScript 사용할 때 'Cannot find module ...' 에러&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;웹팩과 타입스크립트를 공부하면서 자동판매기 프로젝트를 진행하다가 문제가 발생했다.처음에 loader등의 웹팩 설정에서 뭘 잘못한 줄 알았다. 결론적으로 문제는 tsconfig.js파일을 수정해 해결&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;chiabi.github.io&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;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;
&lt;div style=&quot;color: #000000;&quot;&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이제 styled-components를 이용하여 스타일링을 적용할 수 있습니다!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;지금까지 Next.js + Typescript 프로젝트 생성 및 초기 세팅하는 법에 대해 알아보았습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;감사합니당&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;꾸우벅&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&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;420&quot; data-origin-height=&quot;418&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qez0E/btsEHrjAsoS/s1U9i5JfRpAtF9gW16k6t0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qez0E/btsEHrjAsoS/s1U9i5JfRpAtF9gW16k6t0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qez0E/btsEHrjAsoS/s1U9i5JfRpAtF9gW16k6t0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fqez0E%2FbtsEHrjAsoS%2Fs1U9i5JfRpAtF9gW16k6t0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;342&quot; height=&quot;340&quot; data-origin-width=&quot;420&quot; data-origin-height=&quot;418&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;참고 링크&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;https://velog.io/@osohyun0224/Next.js-Typescript-Styled-Components-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%B4%88%EA%B8%B0-%EC%84%B8%ED%8C%85%ED%95%98%EB%8A%94-%EB%B2%95&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;https://velog.io/@osohyun0224/Next.js-Typescript-Styled-Components-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%B4%88%EA%B8%B0-%EC%84%B8%ED%8C%85%ED%95%98%EB%8A%94-%EB%B2%95&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;velog&quot; data-ke-align=&quot;alignCenter&quot; data-og-host=&quot;velog.io&quot; data-og-source-url=&quot;https://velog.io/@osohyun0224/Next.js-Typescript-Styled-Components-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%B4%88%EA%B8%B0-%EC%84%B8%ED%8C%85%ED%95%98%EB%8A%94-%EB%B2%95&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bUtGpA/hyVgckrQqq/kOmcCQMQWGJ3IHTVkHKHb0/img.png?width=950&amp;amp;height=500&amp;amp;face=0_0_950_500&quot; data-og-url=&quot;https://velog.io/@osohyun0224/Next.js-Typescript-Styled-Components-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%B4%88%EA%B8%B0-%EC%84%B8%ED%8C%85%ED%95%98%EB%8A%94-%EB%B2%95&quot;&gt;&lt;a href=&quot;https://velog.io/@osohyun0224/Next.js-Typescript-Styled-Components-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%B4%88%EA%B8%B0-%EC%84%B8%ED%8C%85%ED%95%98%EB%8A%94-%EB%B2%95&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://velog.io/@osohyun0224/Next.js-Typescript-Styled-Components-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%B4%88%EA%B8%B0-%EC%84%B8%ED%8C%85%ED%95%98%EB%8A%94-%EB%B2%95&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bUtGpA/hyVgckrQqq/kOmcCQMQWGJ3IHTVkHKHb0/img.png?width=950&amp;amp;height=500&amp;amp;face=0_0_950_500');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;velog&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;velog.io&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>
      <category>cannot find module</category>
      <category>moduleResolution</category>
      <category>Next.js</category>
      <category>Next.js TypeScript 프로젝트 생성</category>
      <category>Next.js 프로젝트 생성</category>
      <category>styled-components</category>
      <category>Typescript</category>
      <author>디두딘</author>
      <guid isPermaLink="true">https://devjjsjjj.tistory.com/145</guid>
      <comments>https://devjjsjjj.tistory.com/entry/Nextjs-TypeScript-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%83%9D%EC%84%B1-%EB%B0%8F-%EC%B4%88%EA%B8%B0-%EC%84%A4%EC%A0%95-Styled-Components-%EC%A0%81%EC%9A%A9#entry145comment</comments>
      <pubDate>Sat, 10 Feb 2024 21:34:27 +0900</pubDate>
    </item>
    <item>
      <title>[Docker] Docker Next.js 프로젝트 배포</title>
      <link>https://devjjsjjj.tistory.com/entry/Docker-Docker-Nextjs-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EB%B0%B0%ED%8F%AC</link>
      <description>&lt;p style=&quot;text-align: justify;&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;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLrWMY/btsEhsQ0k46/c0EbXSwqnmOn8KBlwMPbv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLrWMY/btsEhsQ0k46/c0EbXSwqnmOn8KBlwMPbv1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLrWMY/btsEhsQ0k46/c0EbXSwqnmOn8KBlwMPbv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLrWMY%2FbtsEhsQ0k46%2Fc0EbXSwqnmOn8KBlwMPbv1%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;720&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;바야흐로 .. 작년 4월&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;혼자 토이프로젝트로 Next.js를 이용해 개인 블로그를 준비하고 있었는데,&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;너무 바쁜 나머지 내팽개쳐버린 프로젝트가 있었다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;일단 이 프로젝트를 이미지 파일로 만들어서 컨테이너에 띄우는 게 목표!&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;가보자고&lt;/b&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size18&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;style3&quot; /&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;DockerFile 구성&lt;/b&gt;&lt;/h3&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;FROM node:14-slim

WORKDIR /usr/src/app

COPY package.json .
# COPY yarn.lock .

RUN yarn

COPY . .

EXPOSE 3000

CMD [&quot;yarn&quot;, &quot;dev&quot;]&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;.dockerignore 설정&lt;/b&gt;&lt;/h3&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;// .dockerignore
node_modules
.next&lt;/code&gt;&lt;/pre&gt;
&lt;h3 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;b&gt;이미지 파일 생성&lt;/b&gt;&lt;/h3&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;docker build -t doodin_blog .&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;빌드 완!&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;839&quot; data-origin-height=&quot;361&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/I0uEw/btsEdLjJ4bj/eNnoPlc8LvDvVpGgfaJrp0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/I0uEw/btsEdLjJ4bj/eNnoPlc8LvDvVpGgfaJrp0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/I0uEw/btsEdLjJ4bj/eNnoPlc8LvDvVpGgfaJrp0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FI0uEw%2FbtsEdLjJ4bj%2FeNnoPlc8LvDvVpGgfaJrp0%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;839&quot; height=&quot;361&quot; data-origin-width=&quot;839&quot; data-origin-height=&quot;361&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;이미지 파일 목록을 보면 정상적으로 생성이 됐다.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;540&quot; data-origin-height=&quot;71&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cuj2kv/btsEhVSO77t/fXP8hKeojYs3dJ7aBKxq0K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cuj2kv/btsEhVSO77t/fXP8hKeojYs3dJ7aBKxq0K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cuj2kv/btsEhVSO77t/fXP8hKeojYs3dJ7aBKxq0K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcuj2kv%2FbtsEhVSO77t%2FfXP8hKeojYs3dJ7aBKxq0K%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;540&quot; height=&quot;71&quot; data-origin-width=&quot;540&quot; data-origin-height=&quot;71&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;오우 2.4GB..&lt;br /&gt;오늘은 일단 띄워보는 것이 목표니까 &lt;br /&gt;크기 줄이는 건 나중에 해보자&lt;br /&gt;&lt;br /&gt;찾아보니 도커파일만 잘 만들어도&lt;br /&gt;크기를 확 줄일 수 있다고 한다!&lt;br /&gt;&lt;br /&gt;Docker Desktop에서 이미지 파일 목록으로도 확인 가능&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1270&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tl99N/btsEhq6F4A3/frXutYEzuBSIZizbugKDe0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tl99N/btsEhq6F4A3/frXutYEzuBSIZizbugKDe0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tl99N/btsEhq6F4A3/frXutYEzuBSIZizbugKDe0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ftl99N%2FbtsEhq6F4A3%2FfrXutYEzuBSIZizbugKDe0%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;1270&quot; height=&quot;720&quot; data-origin-width=&quot;1270&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;자 이제 그럼 이 이미지 파일을&lt;br /&gt;컨테이너에 띄워보기!!&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;컨테이너 생성&lt;/b&gt;&lt;/h3&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;docker run -dp 3000:3000 doodin_blog .&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;--name 옵션을 사용해서 컨테이너에 이름을 부여해주면 해당 이름으로 컨테이너를 식별 가능하다고 함&lt;br /&gt;&lt;br /&gt;일단 난 그냥 해봄&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;459&quot; data-origin-height=&quot;33&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/drbOJ7/btsEhVSO9mb/sciOH90oQ9WKWRLCvJqn4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/drbOJ7/btsEhVSO9mb/sciOH90oQ9WKWRLCvJqn4k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/drbOJ7/btsEhVSO9mb/sciOH90oQ9WKWRLCvJqn4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdrbOJ7%2FbtsEhVSO9mb%2FsciOH90oQ9WKWRLCvJqn4k%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;459&quot; height=&quot;33&quot; data-origin-width=&quot;459&quot; data-origin-height=&quot;33&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1270&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbv03K/btsEfuVXgmE/Re9KqWt2I9VkHwAdqku0PK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbv03K/btsEfuVXgmE/Re9KqWt2I9VkHwAdqku0PK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbv03K/btsEfuVXgmE/Re9KqWt2I9VkHwAdqku0PK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbbv03K%2FbtsEfuVXgmE%2FRe9KqWt2I9VkHwAdqku0PK%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;1270&quot; height=&quot;720&quot; data-origin-width=&quot;1270&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;Docker Desktop에서 보면 serene_feistel라는 이름으로 컨테이너 생성이 완료됐고, 현재 run 상태인 것도 확인 가능하다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;879&quot; data-origin-height=&quot;52&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LpcIJ/btsEdXdbRid/LLRp6V2FSK4e570NzHqDW1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LpcIJ/btsEdXdbRid/LLRp6V2FSK4e570NzHqDW1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LpcIJ/btsEdXdbRid/LLRp6V2FSK4e570NzHqDW1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLpcIJ%2FbtsEdXdbRid%2FLLRp6V2FSK4e570NzHqDW1%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;879&quot; height=&quot;52&quot; data-origin-width=&quot;879&quot; data-origin-height=&quot;52&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;잘 구동중~~&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1270&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vSH6T/btsEeGbg9EF/u06tyQCfak1cGOIlfZ2yjk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vSH6T/btsEeGbg9EF/u06tyQCfak1cGOIlfZ2yjk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vSH6T/btsEeGbg9EF/u06tyQCfak1cGOIlfZ2yjk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvSH6T%2FbtsEeGbg9EF%2Fu06tyQCfak1cGOIlfZ2yjk%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;1270&quot; height=&quot;720&quot; data-origin-width=&quot;1270&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;Docker Desktop에서 로그도 확인 가능하다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre class=&quot;typescript&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;typescript&quot;&gt;&lt;code&gt;{
	&quot;Id&quot;: &quot;f4f5624060122fdf559ba645edb10783f864108a234651b2eaf0f9b8c5a4b03e&quot;,
	&quot;Created&quot;: &quot;2024-01-31T15:12:18.157660271Z&quot;,
	&quot;Path&quot;: &quot;docker-entrypoint.sh&quot;,
	&quot;Args&quot;: [
		&quot;yarn&quot;,
		&quot;dev&quot;
	],
	&quot;State&quot;: {
		&quot;Status&quot;: &quot;running&quot;,
		&quot;Running&quot;: true,
		&quot;Paused&quot;: false,
		&quot;Restarting&quot;: false,
		&quot;OOMKilled&quot;: false,
		&quot;Dead&quot;: false,
		&quot;Pid&quot;: 1281,
		&quot;ExitCode&quot;: 0,
		&quot;Error&quot;: &quot;&quot;,
		&quot;StartedAt&quot;: &quot;2024-01-31T15:12:18.59166914Z&quot;,
		&quot;FinishedAt&quot;: &quot;0001-01-01T00:00:00Z&quot;
	},
	&quot;Image&quot;: &quot;sha256:da6358c8aa74d89eff6418f76a8b590c26d9f8cad9ba7fda87d41acdbf80e3ae&quot;,
	&quot;ResolvConfPath&quot;: &quot;/var/lib/docker/containers/f4f5624060122fdf559ba645edb10783f864108a234651b2eaf0f9b8c5a4b03e/resolv.conf&quot;,
	&quot;HostnamePath&quot;: &quot;/var/lib/docker/containers/f4f5624060122fdf559ba645edb10783f864108a234651b2eaf0f9b8c5a4b03e/hostname&quot;,
	&quot;HostsPath&quot;: &quot;/var/lib/docker/containers/f4f5624060122fdf559ba645edb10783f864108a234651b2eaf0f9b8c5a4b03e/hosts&quot;,
	&quot;LogPath&quot;: &quot;/var/lib/docker/containers/f4f5624060122fdf559ba645edb10783f864108a234651b2eaf0f9b8c5a4b03e/f4f5624060122fdf559ba645edb10783f864108a234651b2eaf0f9b8c5a4b03e-json.log&quot;,
	&quot;Name&quot;: &quot;/serene_feistel&quot;,
	&quot;RestartCount&quot;: 0,
	&quot;Driver&quot;: &quot;overlay2&quot;,
	&quot;Platform&quot;: &quot;linux&quot;,
	&quot;MountLabel&quot;: &quot;&quot;,
	&quot;ProcessLabel&quot;: &quot;&quot;,
	&quot;AppArmorProfile&quot;: &quot;&quot;,
	&quot;ExecIDs&quot;: [
		&quot;68429ebcb28e52cb8ca5e94a8b52ac11e2066828bb214a22f62ba7d5b5ec0fe3&quot;
	],
	&quot;HostConfig&quot;: {
		&quot;Binds&quot;: null,
		&quot;ContainerIDFile&quot;: &quot;&quot;,
		&quot;LogConfig&quot;: {
			&quot;Type&quot;: &quot;json-file&quot;,
			&quot;Config&quot;: {}
		},
		&quot;NetworkMode&quot;: &quot;default&quot;,
		&quot;PortBindings&quot;: {
			&quot;3000/tcp&quot;: [
				{
					&quot;HostIp&quot;: &quot;&quot;,
					&quot;HostPort&quot;: &quot;3000&quot;
				}
			]
		},
		&quot;RestartPolicy&quot;: {
			&quot;Name&quot;: &quot;no&quot;,
			&quot;MaximumRetryCount&quot;: 0
		},
		&quot;AutoRemove&quot;: false,
		&quot;VolumeDriver&quot;: &quot;&quot;,
		&quot;VolumesFrom&quot;: null,
		&quot;ConsoleSize&quot;: [
			32,
			215
		],
		&quot;CapAdd&quot;: null,
		&quot;CapDrop&quot;: null,
		&quot;CgroupnsMode&quot;: &quot;host&quot;,
		&quot;Dns&quot;: [],
		&quot;DnsOptions&quot;: [],
		&quot;DnsSearch&quot;: [],
		&quot;ExtraHosts&quot;: null,
		&quot;GroupAdd&quot;: null,
		&quot;IpcMode&quot;: &quot;private&quot;,
		&quot;Cgroup&quot;: &quot;&quot;,
		&quot;Links&quot;: null,
		&quot;OomScoreAdj&quot;: 0,
		&quot;PidMode&quot;: &quot;&quot;,
		&quot;Privileged&quot;: false,
		&quot;PublishAllPorts&quot;: false,
		&quot;ReadonlyRootfs&quot;: false,
		&quot;SecurityOpt&quot;: null,
		&quot;UTSMode&quot;: &quot;&quot;,
		&quot;UsernsMode&quot;: &quot;&quot;,
		&quot;ShmSize&quot;: 67108864,
		&quot;Runtime&quot;: &quot;runc&quot;,
		&quot;Isolation&quot;: &quot;&quot;,
		&quot;CpuShares&quot;: 0,
		&quot;Memory&quot;: 0,
		&quot;NanoCpus&quot;: 0,
		&quot;CgroupParent&quot;: &quot;&quot;,
		&quot;BlkioWeight&quot;: 0,
		&quot;BlkioWeightDevice&quot;: [],
		&quot;BlkioDeviceReadBps&quot;: [],
		&quot;BlkioDeviceWriteBps&quot;: [],
		&quot;BlkioDeviceReadIOps&quot;: [],
		&quot;BlkioDeviceWriteIOps&quot;: [],
		&quot;CpuPeriod&quot;: 0,
		&quot;CpuQuota&quot;: 0,
		&quot;CpuRealtimePeriod&quot;: 0,
		&quot;CpuRealtimeRuntime&quot;: 0,
		&quot;CpusetCpus&quot;: &quot;&quot;,
		&quot;CpusetMems&quot;: &quot;&quot;,
		&quot;Devices&quot;: [],
		&quot;DeviceCgroupRules&quot;: null,
		&quot;DeviceRequests&quot;: null,
		&quot;MemoryReservation&quot;: 0,
		&quot;MemorySwap&quot;: 0,
		&quot;MemorySwappiness&quot;: null,
		&quot;OomKillDisable&quot;: false,
		&quot;PidsLimit&quot;: null,
		&quot;Ulimits&quot;: null,
		&quot;CpuCount&quot;: 0,
		&quot;CpuPercent&quot;: 0,
		&quot;IOMaximumIOps&quot;: 0,
		&quot;IOMaximumBandwidth&quot;: 0,
		&quot;MaskedPaths&quot;: [
			&quot;/proc/asound&quot;,
			&quot;/proc/acpi&quot;,
			&quot;/proc/kcore&quot;,
			&quot;/proc/keys&quot;,
			&quot;/proc/latency_stats&quot;,
			&quot;/proc/timer_list&quot;,
			&quot;/proc/timer_stats&quot;,
			&quot;/proc/sched_debug&quot;,
			&quot;/proc/scsi&quot;,
			&quot;/sys/firmware&quot;,
			&quot;/sys/devices/virtual/powercap&quot;
		],
		&quot;ReadonlyPaths&quot;: [
			&quot;/proc/bus&quot;,
			&quot;/proc/fs&quot;,
			&quot;/proc/irq&quot;,
			&quot;/proc/sys&quot;,
			&quot;/proc/sysrq-trigger&quot;
		]
	},
	&quot;GraphDriver&quot;: {
		&quot;Data&quot;: {
			&quot;LowerDir&quot;: &quot;/var/lib/docker/overlay2/31aacf2ac1ef5992213b7a212b7d81aebb95d4f1378bc6882304541c4ed275b2-init/diff:/var/lib/docker/overlay2/nqbpeeuzdyiwjdz395gp7hd64/diff:/var/lib/docker/overlay2/u70tm9tiit6xnfbtrqoucyqr6/diff:/var/lib/docker/overlay2/ddvg4m0buebkaba857s10gbjw/diff:/var/lib/docker/overlay2/hgpn5qzdliybi0yo7n45yqeos/diff:/var/lib/docker/overlay2/5f097528529822b911c6e87cdca215464735692e628f24747190023304b86d91/diff:/var/lib/docker/overlay2/25ffb545c1693ea85926acf7cc28fdf8486866f513f9da0e65d59f56e782a017/diff:/var/lib/docker/overlay2/bb4b82298881dba892d65e9ebca1e9caa265095bf4a00a280c21a8380dd2a4a8/diff:/var/lib/docker/overlay2/34875b8074c0ab031c611807e943fcfe1312e21b22ba63148115547418011de4/diff:/var/lib/docker/overlay2/52a615f27325e1a0c9cdd8adf0d731fde6eb7b99c8f991b6ee9fb26d4be7a764/diff&quot;,
			&quot;MergedDir&quot;: &quot;/var/lib/docker/overlay2/31aacf2ac1ef5992213b7a212b7d81aebb95d4f1378bc6882304541c4ed275b2/merged&quot;,
			&quot;UpperDir&quot;: &quot;/var/lib/docker/overlay2/31aacf2ac1ef5992213b7a212b7d81aebb95d4f1378bc6882304541c4ed275b2/diff&quot;,
			&quot;WorkDir&quot;: &quot;/var/lib/docker/overlay2/31aacf2ac1ef5992213b7a212b7d81aebb95d4f1378bc6882304541c4ed275b2/work&quot;
		},
		&quot;Name&quot;: &quot;overlay2&quot;
	},
	&quot;Mounts&quot;: [],
	&quot;Config&quot;: {
		&quot;Hostname&quot;: &quot;f4f562406012&quot;,
		&quot;Domainname&quot;: &quot;&quot;,
		&quot;User&quot;: &quot;&quot;,
		&quot;AttachStdin&quot;: false,
		&quot;AttachStdout&quot;: false,
		&quot;AttachStderr&quot;: false,
		&quot;ExposedPorts&quot;: {
			&quot;3000/tcp&quot;: {}
		},
		&quot;Tty&quot;: false,
		&quot;OpenStdin&quot;: false,
		&quot;StdinOnce&quot;: false,
		&quot;Env&quot;: [
			&quot;PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&quot;,
			&quot;NODE_VERSION=14.21.3&quot;,
			&quot;YARN_VERSION=1.22.19&quot;
		],
		&quot;Cmd&quot;: [
			&quot;yarn&quot;,
			&quot;dev&quot;
		],
		&quot;Image&quot;: &quot;doodin_blog&quot;,
		&quot;Volumes&quot;: null,
		&quot;WorkingDir&quot;: &quot;/usr/src/app&quot;,
		&quot;Entrypoint&quot;: [
			&quot;docker-entrypoint.sh&quot;
		],
		&quot;OnBuild&quot;: null,
		&quot;Labels&quot;: {}
	},
	&quot;NetworkSettings&quot;: {
		&quot;Bridge&quot;: &quot;&quot;,
		&quot;SandboxID&quot;: &quot;eab129b5f639d2dce115ebd9a18601e748faeaccf557b1f06390bff8a8f6c6dd&quot;,
		&quot;HairpinMode&quot;: false,
		&quot;LinkLocalIPv6Address&quot;: &quot;&quot;,
		&quot;LinkLocalIPv6PrefixLen&quot;: 0,
		&quot;Ports&quot;: {
			&quot;3000/tcp&quot;: [
				{
					&quot;HostIp&quot;: &quot;0.0.0.0&quot;,
					&quot;HostPort&quot;: &quot;3000&quot;
				}
			]
		},
		&quot;SandboxKey&quot;: &quot;/var/run/docker/netns/eab129b5f639&quot;,
		&quot;SecondaryIPAddresses&quot;: null,
		&quot;SecondaryIPv6Addresses&quot;: null,
		&quot;EndpointID&quot;: &quot;174bbc564d6581104d0084d06cf750280e58dab35ea1a141ee3c165c3b041de5&quot;,
		&quot;Gateway&quot;: &quot;172.17.0.1&quot;,
		&quot;GlobalIPv6Address&quot;: &quot;&quot;,
		&quot;GlobalIPv6PrefixLen&quot;: 0,
		&quot;IPAddress&quot;: &quot;172.17.0.2&quot;,
		&quot;IPPrefixLen&quot;: 16,
		&quot;IPv6Gateway&quot;: &quot;&quot;,
		&quot;MacAddress&quot;: &quot;02:42:ac:11:00:02&quot;,
		&quot;Networks&quot;: {
			&quot;bridge&quot;: {
				&quot;IPAMConfig&quot;: null,
				&quot;Links&quot;: null,
				&quot;Aliases&quot;: null,
				&quot;MacAddress&quot;: &quot;02:42:ac:11:00:02&quot;,
				&quot;NetworkID&quot;: &quot;03607c78977124599b313bc5bd3b0d05ad1d1595b2e31ab597381b6eb22ad0fd&quot;,
				&quot;EndpointID&quot;: &quot;174bbc564d6581104d0084d06cf750280e58dab35ea1a141ee3c165c3b041de5&quot;,
				&quot;Gateway&quot;: &quot;172.17.0.1&quot;,
				&quot;IPAddress&quot;: &quot;172.17.0.2&quot;,
				&quot;IPPrefixLen&quot;: 16,
				&quot;IPv6Gateway&quot;: &quot;&quot;,
				&quot;GlobalIPv6Address&quot;: &quot;&quot;,
				&quot;GlobalIPv6PrefixLen&quot;: 0,
				&quot;DriverOpts&quot;: null
			}
		}
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;Docker Inspect&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1841&quot; data-origin-height=&quot;1006&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/27Dio/btsEdFDOApa/RgFLTp4yLP5UdqbpatnnKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/27Dio/btsEdFDOApa/RgFLTp4yLP5UdqbpatnnKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/27Dio/btsEdFDOApa/RgFLTp4yLP5UdqbpatnnKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F27Dio%2FbtsEdFDOApa%2FRgFLTp4yLP5UdqbpatnnKK%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;1841&quot; height=&quot;1006&quot; data-origin-width=&quot;1841&quot; data-origin-height=&quot;1006&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;DockerFile에 설정한 경로에 내 프로젝트가 구성되어 있는 것이 확인 가능함&lt;br /&gt;&lt;br /&gt;DockerFile에 EXPOSE 3000으로 했기 때문에 http://localhost:3000/ 으로 접속해봄&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1900&quot; data-origin-height=&quot;907&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/muozr/btsEbFEkpPH/IXq41QZpeAO8DKMwr0uLrK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/muozr/btsEbFEkpPH/IXq41QZpeAO8DKMwr0uLrK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/muozr/btsEbFEkpPH/IXq41QZpeAO8DKMwr0uLrK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fmuozr%2FbtsEbFEkpPH%2FIXq41QZpeAO8DKMwr0uLrK%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;1900&quot; height=&quot;907&quot; data-origin-width=&quot;1900&quot; data-origin-height=&quot;907&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;내 프로젝트다!!!!!! 박수~!!! 야호&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;이럴줄 알았으면 더 열심히 만들어놓을걸 싶네요&lt;br /&gt;&lt;br /&gt;문제는 누군가 이 이미지 파일을 받는다면&lt;br /&gt;주기적으로 supabase 활성화를 해야한다는 것 ..&lt;br /&gt;안 하면 비활성화 되어버려서 에러가 날 것임다 ㅜ&lt;br /&gt;&lt;br /&gt;도커에 한 걸음 다가 간 듯 합니다!&lt;br /&gt;왜 다들 도커도커 하는지 알 거 같네요...........&lt;br /&gt;&lt;br /&gt;이 이미지 파일을 push해서 docker hub로 올리고&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;다른 사람들이 이미지 파일을 pull 한다면 제 프로젝트를 확인하는 것이 가능할 것 같네욧!&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;너무 뜻 깊고 재밌었습니다! 꾸우벅&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&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;682&quot; data-origin-height=&quot;651&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6c21o/btsEeGh7qaY/7UwZHjim7MXeUJ0S8E0oNk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6c21o/btsEeGh7qaY/7UwZHjim7MXeUJ0S8E0oNk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6c21o/btsEeGh7qaY/7UwZHjim7MXeUJ0S8E0oNk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6c21o%2FbtsEeGh7qaY%2F7UwZHjim7MXeUJ0S8E0oNk%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;361&quot; height=&quot;345&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;651&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>끄적</category>
      <category>.dockerignore</category>
      <category>docker</category>
      <category>docker container</category>
      <category>docker image</category>
      <category>Docker Nextjs</category>
      <category>docker 배포</category>
      <category>Docker 프로젝트 배포</category>
      <category>dockerfile</category>
      <category>도커</category>
      <category>도커 이미지 컨테이너</category>
      <author>디두딘</author>
      <guid isPermaLink="true">https://devjjsjjj.tistory.com/144</guid>
      <comments>https://devjjsjjj.tistory.com/entry/Docker-Docker-Nextjs-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EB%B0%B0%ED%8F%AC#entry144comment</comments>
      <pubDate>Thu, 1 Feb 2024 01:05:11 +0900</pubDate>
    </item>
    <item>
      <title>[Docker] Docker File을 이용하여 Docker Image 만들기</title>
      <link>https://devjjsjjj.tistory.com/entry/Docker-Docker-File%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC-Docker-Image-%EB%A7%8C%EB%93%A4%EA%B8%B0</link>
      <description>&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;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ChPrc/btsEbFYC6RE/Bb2Js6yjjj9205gK8YQXhk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ChPrc/btsEbFYC6RE/Bb2Js6yjjj9205gK8YQXhk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ChPrc/btsEbFYC6RE/Bb2Js6yjjj9205gK8YQXhk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FChPrc%2FbtsEbFYC6RE%2FBb2Js6yjjj9205gK8YQXhk%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;672&quot; height=&quot;378&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;text-align: left;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Docker File&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Docker File이란 Docker Image를 만들기 위한 설정 파일입니다. 여러가지 명령어를 토대로&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Docker File을 작성하면 설정된 내용대로 Docker Image를 만들 수 있습니다. 이전 포스트에서도 설명했듯이 Docker File을 읽을줄 안다는 것은 해당 이미지가 어떻게 구성되어 있는지 알 수 있다는 의미입니다.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Docker File 작성 예&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;$ vim Dockerfile

FROM ubuntu:14.04

# app 디렉토리 생성
RUN mkdir -p /app

#Docker 이미지 내부에서 RUN, CMD, ENTRYPOINT의 명령이 실행될 디렉터리를 설정합니다.
WORKDIR /app

# 현재 디렉터리에 있는 파일들을 이미지 내부 /app 디렉터리에 추가함
ADD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; . /app

RUN apt-get update

RUN apt-get install apache2

RUN service apache2 start

VOLUME [&quot;/data&quot;, &quot;/var/log/httpd&quot;]

# 하기 포트를 외부로 노출합니다.
EXPOSE 80

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
# 쉘을 사용하지 않고 컨테이너가 시작되었을 때 logbackup 스크립트를 실행
CMD [&quot;/app/log.backup.sh&quot;]

:wq!&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;컨테이너에 담을 파일들은 Dockerfile&amp;nbsp;하위디렉토리에 있어야하며&amp;nbsp;&lt;br /&gt;Dockerfile&amp;nbsp;안에서&amp;nbsp;ADD시 절대경로는&amp;nbsp;사용 불가능 합니다.&lt;/p&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;FROM&amp;nbsp;&lt;/b&gt;&lt;br /&gt;기반이 되는 이미지 레이어입니다.&lt;br /&gt;&amp;lt;이미지 이름&amp;gt;:&amp;lt;태그&amp;gt; 형식으로 작성&amp;nbsp;&lt;br /&gt;ex) ubuntu:14.04&lt;br /&gt;&lt;br /&gt;&lt;b&gt;MAINTAINER&amp;nbsp;&lt;/b&gt;&lt;br /&gt;메인테이너 정보입니다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;RUN&amp;nbsp;&lt;/b&gt;&lt;br /&gt;도커이미지가 생성되기 전에 수행할 쉘 명령어&lt;br /&gt;&lt;br /&gt;&lt;b&gt;VOLUME&amp;nbsp;&lt;/b&gt;&lt;br /&gt;VOLUME은 디렉터리의 내용을 컨테이너에 저장하지 않고 호스트에 저장하도록 설정합니다.&amp;nbsp;&lt;br /&gt;데이터&amp;nbsp;볼륨을 호스트의 특정 디렉터리와 연결하려면 docker run 명령에서 -v 옵션을 사용해야 합니다.&amp;nbsp;&lt;br /&gt;ex) -v /root/data:/data&lt;br /&gt;&lt;br /&gt;&lt;b&gt;CMD&lt;/b&gt;&lt;br /&gt;컨테이너가 시작되었을 때 실행할 실행 파일 또는 셸 스크립트입니다.&amp;nbsp;&lt;br /&gt;해당 명령어는 DockerFile내 1회만 쓸 수 있습니다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;WORKDIR &amp;nbsp;&lt;/b&gt;&lt;br /&gt;CMD에서 설정한 실행 파일이 실행될 디렉터리입니다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;EXPOSE&amp;nbsp;&lt;/b&gt;&lt;br /&gt;호스트와 연결할 포트 번호입니다.&lt;/blockquote&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;.dockerignore&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;dockerignore 파일 생성시 Docker 이미지 생성 시 이미지안에 들어가지 않을 파일을 지정 할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;$ vim dockerignore

node_modules
npm-debug.log
Dockerfile*
docker-compose*
.dockerignore
.git
.gitignore
README.md
LICENSE
.vscode

:wq!&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;작성 된 DockerFile로 Image 만들기&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;$ docker build -t [만들고싶은 이미지 이름]&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;해당 명령어는 반드시 DockerFile 경로에서 입력해야 합니다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>끄적</category>
      <category>.dockerignore</category>
      <category>Docker file</category>
      <category>docker image</category>
      <author>디두딘</author>
      <guid isPermaLink="true">https://devjjsjjj.tistory.com/143</guid>
      <comments>https://devjjsjjj.tistory.com/entry/Docker-Docker-File%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC-Docker-Image-%EB%A7%8C%EB%93%A4%EA%B8%B0#entry143comment</comments>
      <pubDate>Wed, 31 Jan 2024 23:07:01 +0900</pubDate>
    </item>
    <item>
      <title>[Docker] Docker Desktop 설치</title>
      <link>https://devjjsjjj.tistory.com/entry/Docker-Docker-Desktop-%EC%84%A4%EC%B9%98</link>
      <description>&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;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byjBK7/btsEhn958la/ZKvbmq8nL1clmIhBkEU9Z1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byjBK7/btsEhn958la/ZKvbmq8nL1clmIhBkEU9Z1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byjBK7/btsEhn958la/ZKvbmq8nL1clmIhBkEU9Z1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbyjBK7%2FbtsEhn958la%2FZKvbmq8nL1clmIhBkEU9Z1%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;672&quot; height=&quot;378&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;윈도우에서 도커 데스크톱(Docker Desktop) 설치 과정을 소개하겠습니다. &lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;1. &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;Docker Desktop&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt; 다운&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;구글에서 Docker Desktop을 검색해서 가장 위에 표시되는 공식 사이트로 들어가면 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;아래와 같은 페이지가 표시됩니다.&lt;/span&gt;&lt;br /&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;931&quot; data-origin-height=&quot;771&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KBaMU/btsD3FDnE3g/DtbFzO0nK4mJ5VTu5dJk50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KBaMU/btsD3FDnE3g/DtbFzO0nK4mJ5VTu5dJk50/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KBaMU/btsD3FDnE3g/DtbFzO0nK4mJ5VTu5dJk50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKBaMU%2FbtsD3FDnE3g%2FDtbFzO0nK4mJ5VTu5dJk50%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;638&quot; height=&quot;528&quot; data-origin-width=&quot;931&quot; data-origin-height=&quot;771&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;윈도우 버전을 설치해줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;2. &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;Docker&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;설치&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;다운받은 인스톨러를 실행시켜 설치를 진행해 줍니다. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;기본 옵션으로 선택하고 ok를 클릭합니다.&lt;/span&gt;&lt;br /&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;622&quot; data-origin-height=&quot;429&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cre68J/btsD3ouYU66/2OTWZMAXqHHMCfrRFvvyk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cre68J/btsD3ouYU66/2OTWZMAXqHHMCfrRFvvyk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cre68J/btsD3ouYU66/2OTWZMAXqHHMCfrRFvvyk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcre68J%2FbtsD3ouYU66%2F2OTWZMAXqHHMCfrRFvvyk1%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;622&quot; height=&quot;429&quot; data-origin-width=&quot;622&quot; data-origin-height=&quot;429&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;프로그램이 설치 됩니다.&lt;/span&gt;&lt;br /&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;621&quot; data-origin-height=&quot;426&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rHMyx/btsD4kZ4uy8/Plzw44yCLZ3SpRzehnTAIk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rHMyx/btsD4kZ4uy8/Plzw44yCLZ3SpRzehnTAIk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rHMyx/btsD4kZ4uy8/Plzw44yCLZ3SpRzehnTAIk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrHMyx%2FbtsD4kZ4uy8%2FPlzw44yCLZ3SpRzehnTAIk%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;621&quot; height=&quot;426&quot; data-origin-width=&quot;621&quot; data-origin-height=&quot;426&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;설치가 완료되고, &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;close and restart 버튼을 눌러 윈도우를 재시작해 주세요.&lt;/span&gt;&lt;br /&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;620&quot; data-origin-height=&quot;426&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byOczN/btsD1obshJW/5NUiW3mnHcGjh6brdkPmt0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byOczN/btsD1obshJW/5NUiW3mnHcGjh6brdkPmt0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byOczN/btsD1obshJW/5NUiW3mnHcGjh6brdkPmt0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbyOczN%2FbtsD1obshJW%2F5NUiW3mnHcGjh6brdkPmt0%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;620&quot; height=&quot;426&quot; data-origin-width=&quot;620&quot; data-origin-height=&quot;426&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;3. Docker 실행&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;시스템 트레이의 오른쪽 하단 모서리에 고래 아이콘이 있는지 확인해 보세요. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;만약 고래 아이콘이 없다면 아직 도커가 실행되지 않은 상태이니, &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;docker를 윈도우 검색창에서 검색해서 실행해 주세요.&lt;/span&gt;&lt;br /&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;1960&quot; data-origin-height=&quot;1915&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cqTUEG/btsD4uIem1i/Uq2STXp3vFoFvqBd2Tnx21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cqTUEG/btsD4uIem1i/Uq2STXp3vFoFvqBd2Tnx21/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cqTUEG/btsD4uIem1i/Uq2STXp3vFoFvqBd2Tnx21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcqTUEG%2FbtsD4uIem1i%2FUq2STXp3vFoFvqBd2Tnx21%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;502&quot; height=&quot;491&quot; data-origin-width=&quot;1960&quot; data-origin-height=&quot;1915&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;200&quot; data-origin-height=&quot;161&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/djbkEF/btsD3HBgwTT/F0ZtJycDG4RNHIfixA3hO0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/djbkEF/btsD3HBgwTT/F0ZtJycDG4RNHIfixA3hO0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/djbkEF/btsD3HBgwTT/F0ZtJycDG4RNHIfixA3hO0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdjbkEF%2FbtsD3HBgwTT%2FF0ZtJycDG4RNHIfixA3hO0%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;200&quot; height=&quot;161&quot; data-origin-width=&quot;200&quot; data-origin-height=&quot;161&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;이제 고래아이콘이 잘 보이고, 이것으로 도커가 실행되고 있다는 걸 확인할 수 있습니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;도커가 처음 실행되면 서비스 동의가 나오는데 체크하고 Aceept 를 눌러주세요.&lt;/span&gt;&lt;br /&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;2000&quot; data-origin-height=&quot;1500&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GgtxL/btsD1akcqMd/0BQt1yuJB4zRgfUw6jUnK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GgtxL/btsD1akcqMd/0BQt1yuJB4zRgfUw6jUnK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GgtxL/btsD1akcqMd/0BQt1yuJB4zRgfUw6jUnK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGgtxL%2FbtsD1akcqMd%2F0BQt1yuJB4zRgfUw6jUnK0%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;540&quot; height=&quot;405&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1500&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;4. &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;Docker&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;정상 실행 결과 확인&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;이제 정상적으로 실행됩니다. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;튜토리얼로 안내로 나오는 커맨드를 입력해서 도커가 정상 실행되는지 확인해 보겠습니다.&lt;/span&gt;&lt;br /&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;1678&quot; data-origin-height=&quot;1500&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/t7nWm/btsD4uuHskP/QrSRMbjKDEIHypYdMF5IDk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/t7nWm/btsD4uuHskP/QrSRMbjKDEIHypYdMF5IDk/img.png&quot; data-alt=&quot;Docker desktop 정상실행&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/t7nWm/btsD4uuHskP/QrSRMbjKDEIHypYdMF5IDk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ft7nWm%2FbtsD4uuHskP%2FQrSRMbjKDEIHypYdMF5IDk%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;480&quot; height=&quot;429&quot; data-origin-width=&quot;1678&quot; data-origin-height=&quot;1500&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Docker desktop 정상실행&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;파워쉘에서&amp;nbsp;docker/getting-started 컨테이너를 가져와 실행하고 있습니다.&lt;/span&gt;&lt;br /&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;1113&quot; data-origin-height=&quot;626&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Y1yoV/btsD3nwc0Gc/cRwTkbKNEaa7jkcHfcsdjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Y1yoV/btsD3nwc0Gc/cRwTkbKNEaa7jkcHfcsdjK/img.png&quot; data-alt=&quot;Docker run&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Y1yoV/btsD3nwc0Gc/cRwTkbKNEaa7jkcHfcsdjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FY1yoV%2FbtsD3nwc0Gc%2FcRwTkbKNEaa7jkcHfcsdjK%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;1113&quot; height=&quot;626&quot; data-origin-width=&quot;1113&quot; data-origin-height=&quot;626&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Docker run&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;이제 브라우저에서 확인해보겠습니다.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;아래 호스트로 접속해보면&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt; http://localhost/tutorial/ &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;도커로 실행한 웹 프로젝트가 잘 실행되는 걸 확인할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1895&quot; data-origin-height=&quot;905&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c6HoXW/btsD3qM4aja/oXsrWjxq529fvRdKNCJ8D0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c6HoXW/btsD3qM4aja/oXsrWjxq529fvRdKNCJ8D0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c6HoXW/btsD3qM4aja/oXsrWjxq529fvRdKNCJ8D0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc6HoXW%2FbtsD3qM4aja%2FoXsrWjxq529fvRdKNCJ8D0%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;1895&quot; height=&quot;905&quot; data-origin-width=&quot;1895&quot; data-origin-height=&quot;905&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>끄적</category>
      <category>docker</category>
      <category>Docker Desktop</category>
      <category>Docker Desktop 설치</category>
      <author>디두딘</author>
      <guid isPermaLink="true">https://devjjsjjj.tistory.com/142</guid>
      <comments>https://devjjsjjj.tistory.com/entry/Docker-Docker-Desktop-%EC%84%A4%EC%B9%98#entry142comment</comments>
      <pubDate>Sun, 28 Jan 2024 19:25:02 +0900</pubDate>
    </item>
    <item>
      <title>두둥~~! 사이드 프로젝트 시작</title>
      <link>https://devjjsjjj.tistory.com/entry/%EB%91%90%EB%91%A5-%EC%82%AC%EC%9D%B4%EB%93%9C-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%8B%9C%EC%9E%91</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하아...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;300&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGwf1o/btsD3kzvToS/P5dujYppXiIwdY9Bti4yJ0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGwf1o/btsD3kzvToS/P5dujYppXiIwdY9Bti4yJ0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGwf1o/btsD3kzvToS/P5dujYppXiIwdY9Bti4yJ0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGwf1o%2FbtsD3kzvToS%2FP5dujYppXiIwdY9Bti4yJ0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;300&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;300&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일상에 치이고 술에 치이고 업무에 치인 나머지&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;글을 너무 안 쓰고 있었네요..&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;인턴 정규직으로 입사했다는 글을 작성한지가 엊그제 같은데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어느덧 저는 3년차가 되었고, 30대에 진입하였으며.........&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 style=&quot;color: #333333; text-align: start;&quot; 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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;360&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OBWaU/btsD4VZTHdK/p6kt9mjuI4NONyty08kKG1/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OBWaU/btsD4VZTHdK/p6kt9mjuI4NONyty08kKG1/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OBWaU/btsD4VZTHdK/p6kt9mjuI4NONyty08kKG1/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/OBWaU/btsD4VZTHdK/p6kt9mjuI4NONyty08kKG1/img.gif&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;480&quot; height=&quot;360&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;360&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;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;짝짝짝!!!! 박수쳐!!!!!!!&lt;/b&gt;&lt;/h2&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;서버와 클라이언트 각자 어떻게 진행하면 좋을지 고민하기로 했습니다.&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;아마........ 변동사항이 없다면 서버는&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Node.js / Express
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;-&amp;gt; Kotlin으로 바뀔 수도 있지만, 저는 Node.js가 좋을 거 같다고 판단 중입니다!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;React / Typescript&lt;/li&gt;
&lt;li&gt;MongoDB&lt;/li&gt;
&lt;li&gt;Docker / Kubernetes&lt;/li&gt;
&lt;li&gt;JWT Auth / Redis&lt;/li&gt;
&lt;li&gt;Swagger&lt;/li&gt;
&lt;/ul&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;&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;무튼 성공적인 프로젝트를 위해&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;h3 data-ke-size=&quot;size23&quot;&gt;화이팅~~&lt;/h3&gt;</description>
      <category>끄적</category>
      <category>개발자 사이드 프로젝트</category>
      <category>사이드 프로젝트</category>
      <author>디두딘</author>
      <guid isPermaLink="true">https://devjjsjjj.tistory.com/141</guid>
      <comments>https://devjjsjjj.tistory.com/entry/%EB%91%90%EB%91%A5-%EC%82%AC%EC%9D%B4%EB%93%9C-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%8B%9C%EC%9E%91#entry141comment</comments>
      <pubDate>Sun, 28 Jan 2024 18:47:20 +0900</pubDate>
    </item>
  </channel>
</rss>