<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>리얼라이져의  마케팅, 개발, 창업 블로그</title>
    <link>https://iamrealizer.tistory.com/</link>
    <description>내가 뭘 하든,  목표와  논리만 있으면  그것 정답이다.</description>
    <language>ko</language>
    <pubDate>Mon, 6 Jul 2026 16:50:55 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>nadadhl</managingEditor>
    <image>
      <title>리얼라이져의  마케팅, 개발, 창업 블로그</title>
      <url>https://tistory1.daumcdn.net/tistory/3059861/attach/63a6f319b78548058ebd067583070336</url>
      <link>https://iamrealizer.tistory.com</link>
    </image>
    <item>
      <title>GitEmoji 사용하기</title>
      <link>https://iamrealizer.tistory.com/64</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;나는 평소에 git을 사용할때,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;작업을 하고 해당 작업에 대한 간단한 메세지 정도만 남겨서 commit을 찍었다.&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;이전 리팩토링 코드에서 문제가 생겨 revert를 해야하는데 commit이 많다보니,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 commit을 찾기위해 commit log 들을 다 읽어 봐야 했기 때문이다.&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;commit 메세지에도 뭔가 통일성 이라던지 ,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한번에 어떤 성질인지 분류가 가능한 규칙이 필요하다고 생각이 들었다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;그렇게 발견하게된 gitmoji!&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;gitmoji란 커밋 메세지에&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 의미가 있는 이모지를 더하여 commit을 하는 tool이라고 한다.&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;log를 훑어 볼때도 이모지로 좀더 빠르게 내용 파악이 가능할것 같았다.&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;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;그럼 어떻게 사용할까??&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 gitmoji를 설치한다.&lt;/p&gt;
&lt;pre id=&quot;code_1694314060801&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;brew install gitmoji&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(맥 brew 기준)&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;gitmoji -v로 설치가 되었는지 확인 하고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;버전이 나온다면, 이제 gitmoji를 사용하면 된다.&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;이제 commit을 하나 찍어보겠다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;gimoji -c를 하면 commit을 찍을수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주의사항 gitmoji -c를 했는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;commit 내용에 이모지가 안보이고 아래처럼 보이는 경우가 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled.png&quot; data-origin-width=&quot;494&quot; data-origin-height=&quot;155&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ciVPMt/btstCGZd5hR/plhnnTzWkFjIL25kkON9VK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ciVPMt/btstCGZd5hR/plhnnTzWkFjIL25kkON9VK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ciVPMt/btstCGZd5hR/plhnnTzWkFjIL25kkON9VK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FciVPMt%2FbtstCGZd5hR%2FplhnnTzWkFjIL25kkON9VK%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;494&quot; height=&quot;155&quot; data-filename=&quot;Untitled.png&quot; data-origin-width=&quot;494&quot; data-origin-height=&quot;155&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;이때는 gitmoji -g를 통해 설정을 바꾸어 줘야한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;735&quot; data-origin-height=&quot;190&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BTtWG/btstyuSxvLy/klSKpq7bveWbEmKlaZENY0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BTtWG/btstyuSxvLy/klSKpq7bveWbEmKlaZENY0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BTtWG/btstyuSxvLy/klSKpq7bveWbEmKlaZENY0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBTtWG%2FbtstyuSxvLy%2FklSKpq7bveWbEmKlaZENY0%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;735&quot; height=&quot;190&quot; data-origin-width=&quot;735&quot; data-origin-height=&quot;190&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 select how emojis should be use &amp;hellip; &amp;rarr;. 이부분에서 선택이 가능&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;위처럼 설정하고 다시 commit을 찍어보니 이제 terminal에서도 이모지가 잘보이는것 같다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;670&quot; data-origin-height=&quot;104&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LiZpq/btstyvcQuwy/ZvnmuUCQvICKRjvK1gCqpK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LiZpq/btstyvcQuwy/ZvnmuUCQvICKRjvK1gCqpK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LiZpq/btstyvcQuwy/ZvnmuUCQvICKRjvK1gCqpK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLiZpq%2FbtstyvcQuwy%2FZvnmuUCQvICKRjvK1gCqpK%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;670&quot; height=&quot;104&quot; data-origin-width=&quot;670&quot; data-origin-height=&quot;104&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;아래는 github 으로 푸시했을때&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;187&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1v7kS/btsts8b8qvN/XNYWcxhCWA0kWAJkqJeBQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1v7kS/btsts8b8qvN/XNYWcxhCWA0kWAJkqJeBQ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1v7kS/btsts8b8qvN/XNYWcxhCWA0kWAJkqJeBQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1v7kS%2Fbtsts8b8qvN%2FXNYWcxhCWA0kWAJkqJeBQ0%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;679&quot; height=&quot;187&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;187&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;a href=&quot;https://gitmoji.dev/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://gitmoji.dev/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1694314277134&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;gitmoji&quot; data-og-description=&quot;:truck: Move or rename resources (e.g.: files, paths, routes).&quot; data-og-host=&quot;gitmoji.dev&quot; data-og-source-url=&quot;https://gitmoji.dev/&quot; data-og-url=&quot;https://gitmoji.dev/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cARcs4/hyTSzApAjG/JSVJICv4a9pQXlNt1YLsHK/img.gif?width=2048&amp;amp;height=2048&amp;amp;face=0_0_2048_2048,https://scrap.kakaocdn.net/dn/cBpR1v/hyTSsnJSiH/iqUKYHcCMuoXsV5BZmuk6K/img.gif?width=2048&amp;amp;height=2048&amp;amp;face=0_0_2048_2048&quot;&gt;&lt;a href=&quot;https://gitmoji.dev/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://gitmoji.dev/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cARcs4/hyTSzApAjG/JSVJICv4a9pQXlNt1YLsHK/img.gif?width=2048&amp;amp;height=2048&amp;amp;face=0_0_2048_2048,https://scrap.kakaocdn.net/dn/cBpR1v/hyTSsnJSiH/iqUKYHcCMuoXsV5BZmuk6K/img.gif?width=2048&amp;amp;height=2048&amp;amp;face=0_0_2048_2048');&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;gitmoji&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;:truck: Move or rename resources (e.g.: files, paths, routes).&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;gitmoji.dev&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 혼자 쓸것이기 때문에 위 사이트에서&amp;nbsp; 지정한 convention을 따르려 하지만,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 팀별로&amp;nbsp; 이모지를 추가하거나&amp;nbsp; 이모지별&amp;nbsp; 쓰임을 변경해서 사용도 가능한것 같다~!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 이만....&lt;/p&gt;</description>
      <category>IT/문서관리</category>
      <category>git</category>
      <category>gitemoji</category>
      <author>nadadhl</author>
      <guid isPermaLink="true">https://iamrealizer.tistory.com/64</guid>
      <comments>https://iamrealizer.tistory.com/64#entry64comment</comments>
      <pubDate>Sun, 10 Sep 2023 11:52:27 +0900</pubDate>
    </item>
    <item>
      <title>BuildConfig가 안잡힐때&amp;nbsp;해결법</title>
      <link>https://iamrealizer.tistory.com/63</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;가끔 buildConfig가 import가 안되고, 빨간색으로 뜨는 경우가 있다.&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;340&quot; data-origin-height=&quot;122&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bc6CLe/btstxoSI9g7/IuZwUS6QeRzYiQEXGYVAR0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bc6CLe/btstxoSI9g7/IuZwUS6QeRzYiQEXGYVAR0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bc6CLe/btstxoSI9g7/IuZwUS6QeRzYiQEXGYVAR0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbc6CLe%2FbtstxoSI9g7%2FIuZwUS6QeRzYiQEXGYVAR0%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;340&quot; height=&quot;122&quot; data-origin-width=&quot;340&quot; data-origin-height=&quot;122&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이경우 clean build를 해보고 다시 rebuild를 해도 그대로인 경우가 있는데,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;b&gt;File -&amp;gt; Invalidate Caches/Restart&lt;/b&gt;&lt;/u&gt;를 진행하고 다시&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;b&gt;rebuild &lt;/b&gt;&lt;/u&gt;를 해보니 해결이되었다.&amp;nbsp;&lt;/p&gt;</description>
      <category>IT/안드로이드</category>
      <category>Android</category>
      <category>BuildConfig</category>
      <author>nadadhl</author>
      <guid isPermaLink="true">https://iamrealizer.tistory.com/63</guid>
      <comments>https://iamrealizer.tistory.com/63#entry63comment</comments>
      <pubDate>Sat, 9 Sep 2023 21:58:43 +0900</pubDate>
    </item>
    <item>
      <title>drwable과  mipmap 차이</title>
      <link>https://iamrealizer.tistory.com/62</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;간단하게 말하자면,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;drwable 의 경우는 일반적인 이미지 자원을 위한 폴더&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;mipmap은 아이콘 이미지 자원만을 위한 폴더이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본적으로 동작이 다른건 아니지만, 이렇게 나눠서 쓴다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래는 개발자 사이트에 적혀있는 내용이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Drawable&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;For bitmap files (PNG, JPEG, or GIF), 9-Patch image files, and XML files that describe Drawable shapes or Drawable objects that contain multiple states (normal, pressed, or focused). See the Drawable resource type&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;Mipmap&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;For app launcher icons. The Android system retains the resources in this folder (and density-specific folders such as mipmap-xxxhdpi) regardless ****of the screen resolution of the device where your app is installed. This behavior allows launcher apps to pick the best resolution icon for your app to display on the home screen. For more information about using the mipmap folders, see Managing Launcher Icons as mipmap Resources.&lt;/p&gt;</description>
      <category>IT/안드로이드</category>
      <category>Android</category>
      <category>drawable</category>
      <category>Mipmap</category>
      <author>nadadhl</author>
      <guid isPermaLink="true">https://iamrealizer.tistory.com/62</guid>
      <comments>https://iamrealizer.tistory.com/62#entry62comment</comments>
      <pubDate>Fri, 1 Sep 2023 22:52:00 +0900</pubDate>
    </item>
    <item>
      <title>안드로이드 스튜디오  - 클래스 생성시 자동 주석 처리 기능</title>
      <link>https://iamrealizer.tistory.com/58</link>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;협업에 있어서 클래스 생성시&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;어떤 프로젝트에서 누가 언제&amp;nbsp; 클래스를 생성했는지&lt;/p&gt;
&lt;p&gt;알면 좋다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그래서 보통 클래스 생성후&amp;nbsp; 주석을 다는데&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이부분을&amp;nbsp; 자동으로 해줄수 있는 기능이&amp;nbsp; 안드로이드 스튜디오에서 제공한다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. File 탭&amp;nbsp; -&amp;gt; Setting탭을 들어간다.&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2.&amp;nbsp; Setting 탭에서&amp;nbsp; &amp;nbsp;File and Code Templates를 찾고 아래와 같이 들어간다.&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;615&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLtFNI/btqIkuEJqkj/GfMxkaGw2cRwUzA4RuNkFk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLtFNI/btqIkuEJqkj/GfMxkaGw2cRwUzA4RuNkFk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLtFNI/btqIkuEJqkj/GfMxkaGw2cRwUzA4RuNkFk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLtFNI%2FbtqIkuEJqkj%2FGfMxkaGw2cRwUzA4RuNkFk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;615&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 주석 내용&lt;/h3&gt;
&lt;p&gt;/** &lt;br /&gt;&amp;nbsp;*&amp;nbsp;${PROJECT_NAME} &lt;br /&gt;&amp;nbsp;*&amp;nbsp;Class:&amp;nbsp;${NAME}. &lt;br /&gt;&amp;nbsp;*&amp;nbsp;Created&amp;nbsp;by&amp;nbsp;${USER}. &lt;br /&gt;&amp;nbsp;*&amp;nbsp;Created&amp;nbsp;On&amp;nbsp;${DATE}. &lt;br /&gt;&amp;nbsp;*&amp;nbsp;Description:&amp;nbsp; &lt;br /&gt;&amp;nbsp;*/&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;그럼 끄읕~&lt;/h3&gt;</description>
      <category>IT/안드로이드</category>
      <author>nadadhl</author>
      <guid isPermaLink="true">https://iamrealizer.tistory.com/58</guid>
      <comments>https://iamrealizer.tistory.com/58#entry58comment</comments>
      <pubDate>Wed, 9 Sep 2020 11:13:26 +0900</pubDate>
    </item>
    <item>
      <title>Firebase에  안드로이드 프로젝트 등록하기</title>
      <link>https://iamrealizer.tistory.com/55</link>
      <description>&lt;p&gt;&lt;span&gt;구글&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;로그인&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;구현&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;페이스북&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;로그인도&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;필요해서&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;파이어베이스&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;사용하여&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;구현시&lt;/span&gt;&lt;span&gt;,&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;페이스북도&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;적용가능하다고&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;함&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;그래서&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;파이어&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;베이스를&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;이용해서&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;진행&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;그렇&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;처음에&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;뭐&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;부터&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;할까&lt;/span&gt;&lt;span&gt;??&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;우선&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;안드로이드에&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;파이어베이스&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;부터&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;추가&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;시켜주자&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;안드로이드&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;파이어&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;베이스&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;연결&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;방법&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;1.우선&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;프로젝트를&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;하나&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;만든다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;614&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bs5Dlp/btqF5dMxrz8/DVU1sYKYlfIwzZ7KOVrxq1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bs5Dlp/btqF5dMxrz8/DVU1sYKYlfIwzZ7KOVrxq1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bs5Dlp/btqF5dMxrz8/DVU1sYKYlfIwzZ7KOVrxq1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbs5Dlp%2FbtqF5dMxrz8%2FDVU1sYKYlfIwzZ7KOVrxq1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;614&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span&gt;2. 파이어베이스&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;프로젝트를&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;하나&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;만들자&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;-&lt;span&gt;&amp;nbsp; &lt;/span&gt;FirbasePractice&lt;/span&gt;&lt;span&gt;라는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;프로젝트&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;하나&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;만듬&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;521&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mSrwJ/btqF5zhwIu1/sbhRIw1LpTFmIUVKzK2rQk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mSrwJ/btqF5zhwIu1/sbhRIw1LpTFmIUVKzK2rQk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mSrwJ/btqF5zhwIu1/sbhRIw1LpTFmIUVKzK2rQk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmSrwJ%2FbtqF5zhwIu1%2FsbhRIw1LpTFmIUVKzK2rQk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;521&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;3.&lt;span&gt;프로젝트&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;생성&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;완료&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;364&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2NZT8/btqF4Vefz2o/bXXZSdptEdXE9KmkIUgYc1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2NZT8/btqF4Vefz2o/bXXZSdptEdXE9KmkIUgYc1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2NZT8/btqF4Vefz2o/bXXZSdptEdXE9KmkIUgYc1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2NZT8%2FbtqF4Vefz2o%2FbXXZSdptEdXE9KmkIUgYc1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;364&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;4.&lt;span&gt;그럼&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;이제&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;아래와&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;같은&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;화면이&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;뜸&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;여기서&lt;/span&gt;&lt;span&gt; android&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;앱을&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;추가&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;하자&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mYWKC/btqF3TnF19C/Evnj5hRtGLIL7vBoFeh8c1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mYWKC/btqF3TnF19C/Evnj5hRtGLIL7vBoFeh8c1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mYWKC/btqF3TnF19C/Evnj5hRtGLIL7vBoFeh8c1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmYWKC%2FbtqF3TnF19C%2FEvnj5hRtGLIL7vBoFeh8c1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;500&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;5. &lt;span&gt;그럼&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;아래와&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;같이&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;연결&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;할&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;안드로이드&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;앱&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;정보가&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;나옴&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;425&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c3zGms/btqF4ycx2IB/LVrpoVuMWRkokYk3BI75I0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c3zGms/btqF4ycx2IB/LVrpoVuMWRkokYk3BI75I0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c3zGms/btqF4ycx2IB/LVrpoVuMWRkokYk3BI75I0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3zGms%2FbtqF4ycx2IB%2FLVrpoVuMWRkokYk3BI75I0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;425&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;6.&lt;span&gt;연결할&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;안드로이드&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;패키지&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;이름&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;넣어주고&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;앱&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;닉네임&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;만들었는데&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;현재&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;구글&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;로그인&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;등을&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;사용하기&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;위해서는&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;sha-1&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;서명&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;인증서를&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;넣으라고&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;함&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;465&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/odrN9/btqF5edAaTP/hGQQ7wKxAeehnLTNC433Z0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/odrN9/btqF5edAaTP/hGQQ7wKxAeehnLTNC433Z0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/odrN9/btqF5edAaTP/hGQQ7wKxAeehnLTNC433Z0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FodrN9%2FbtqF5edAaTP%2FhGQQ7wKxAeehnLTNC433Z0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;465&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;7. &lt;span&gt;디버그&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;서명&lt;/span&gt;&lt;span&gt; Sha-1 &lt;/span&gt;&lt;span&gt;서명&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;인증서는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;어디에&lt;/span&gt;&lt;span&gt;???&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Android studio-&amp;gt; gradle &lt;/span&gt;&lt;span&gt;탭&lt;/span&gt;&lt;span&gt; -&amp;gt; Tasks -&amp;gt;android -&amp;gt; siginingReport &lt;/span&gt;&lt;span&gt;클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;412&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdkfv7/btqF64nPfxp/lD23Fc5MJkwfuDniHqtG40/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdkfv7/btqF64nPfxp/lD23Fc5MJkwfuDniHqtG40/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdkfv7/btqF64nPfxp/lD23Fc5MJkwfuDniHqtG40/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbdkfv7%2FbtqF64nPfxp%2FlD23Fc5MJkwfuDniHqtG40%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;412&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이렇게 하면,&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;788&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FVaNt/btqF4TU3FXJ/qHEZ1Qgjn5JClgMYkxwxo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FVaNt/btqF4TU3FXJ/qHEZ1Qgjn5JClgMYkxwxo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FVaNt/btqF4TU3FXJ/qHEZ1Qgjn5JClgMYkxwxo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFVaNt%2FbtqF4TU3FXJ%2FqHEZ1Qgjn5JClgMYkxwxo0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;788&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;이렇게&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;나옴&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;이걸&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;가지고&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;넣어주면&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;된다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;409&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oB9zl/btqF64H5eD7/mSM3jRKLxmdNyteC0mCWZk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oB9zl/btqF64H5eD7/mSM3jRKLxmdNyteC0mCWZk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oB9zl/btqF64H5eD7/mSM3jRKLxmdNyteC0mCWZk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoB9zl%2FbtqF64H5eD7%2FmSM3jRKLxmdNyteC0mCWZk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;409&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span&gt;이렇게&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;넣어줌&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;그리고&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;앱등록&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ㄱㄱ&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;그러면&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;이제&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;google-service.json&lt;/span&gt;&lt;span&gt;이라는&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;버튼&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;나옴&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;441&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SLHIi/btqF7Mtrvaw/jjBavJqaNbvYZhYbl40iwK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SLHIi/btqF7Mtrvaw/jjBavJqaNbvYZhYbl40iwK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SLHIi/btqF7Mtrvaw/jjBavJqaNbvYZhYbl40iwK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSLHIi%2FbtqF7Mtrvaw%2FjjBavJqaNbvYZhYbl40iwK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;441&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;해당&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;버튼&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;누르면&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;google-services.json &lt;/span&gt;&lt;span&gt;파일이&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;다운로드&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;되는데&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;이걸&lt;/span&gt;&lt;span&gt; android&lt;span&gt;&amp;nbsp; &lt;/span&gt;app modul &lt;/span&gt;&lt;span&gt;에다가&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;추가&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;시켜준다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Tao2G/btqF3FwuJxc/DkHGJV9Ia88ZVPsFwiCaTk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Tao2G/btqF3FwuJxc/DkHGJV9Ia88ZVPsFwiCaTk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Tao2G/btqF3FwuJxc/DkHGJV9Ia88ZVPsFwiCaTk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTao2G%2FbtqF3FwuJxc%2FDkHGJV9Ia88ZVPsFwiCaTk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span&gt;이렇게&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;넣어줌&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;그다음&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;다시&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;다음&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;버튼&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;눌러준다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;453&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/v30cv/btqF7KCplIt/ezOJEKMnj9ZREa9VBNczxk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/v30cv/btqF7KCplIt/ezOJEKMnj9ZREa9VBNczxk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/v30cv/btqF7KCplIt/ezOJEKMnj9ZREa9VBNczxk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fv30cv%2FbtqF7KCplIt%2FezOJEKMnj9ZREa9VBNczxk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;453&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;572&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ubtH6/btqF3GISSuR/M7v1bohXRm1YgeYpCPikl0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ubtH6/btqF3GISSuR/M7v1bohXRm1YgeYpCPikl0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ubtH6/btqF3GISSuR/M7v1bohXRm1YgeYpCPikl0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FubtH6%2FbtqF3GISSuR%2FM7v1bohXRm1YgeYpCPikl0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;572&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span&gt;그럼&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;이렇게&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;나옴&lt;/span&gt;&lt;span&gt;.-&amp;gt; 그대로&amp;nbsp; 프로젝트에 적용&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;프로젝트&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;수준&lt;/span&gt;&lt;span&gt; gradle 적용 사진&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;458&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b5Xm3y/btqF3TnF6X4/pWrHOkTW2k8wcRH728z6Y0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b5Xm3y/btqF3TnF6X4/pWrHOkTW2k8wcRH728z6Y0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b5Xm3y/btqF3TnF6X4/pWrHOkTW2k8wcRH728z6Y0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb5Xm3y%2FbtqF3TnF6X4%2FpWrHOkTW2k8wcRH728z6Y0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;458&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span&gt;앱&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;수준&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;gradle&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;407&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6lo7f/btqF3GWuRrL/Wyv4FynG4mC3VKOLPKm6Wk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6lo7f/btqF3GWuRrL/Wyv4FynG4mC3VKOLPKm6Wk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6lo7f/btqF3GWuRrL/Wyv4FynG4mC3VKOLPKm6Wk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6lo7f%2FbtqF3GWuRrL%2FWyv4FynG4mC3VKOLPKm6Wk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;407&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span&gt;그다음&lt;/span&gt;&lt;span&gt; sync now &lt;/span&gt;&lt;span&gt;눌러줌&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;그다음&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;다시&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;다음&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;버튼을&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;눌러준다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;그다음&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;앱을&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;설치하고&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;한번&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;실행&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;시켜준다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;이렇게&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;나오던게&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/86Z7Z/btqF7LH4lG5/87bDJpgb64lfCooeWVwsJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/86Z7Z/btqF7LH4lG5/87bDJpgb64lfCooeWVwsJK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/86Z7Z/btqF7LH4lG5/87bDJpgb64lfCooeWVwsJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F86Z7Z%2FbtqF7LH4lG5%2F87bDJpgb64lfCooeWVwsJK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span&gt;요렇게&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;뜬다&lt;/span&gt;&lt;span&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5R0fv/btqF7MtrzqJ/NoVa9K2YnkWrWrh5nKLfJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5R0fv/btqF7MtrzqJ/NoVa9K2YnkWrWrh5nKLfJk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5R0fv/btqF7MtrzqJ/NoVa9K2YnkWrWrh5nKLfJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5R0fv%2FbtqF7MtrzqJ%2FNoVa9K2YnkWrWrh5nKLfJk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span&gt;암튼&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;이제&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;해당&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;안드로이드&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;프로젝트는&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;firebase &lt;/span&gt;&lt;span&gt;추가&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;되었다&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;이제&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;파이어베이스&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;기능중&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;원하는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;걸&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;심으면&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;될듯&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;하다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;구글&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;로그인&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;관련해서&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;나중에&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;다뤄보겠다&lt;/span&gt;&lt;span&gt;.!&lt;/span&gt;&lt;/p&gt;</description>
      <category>IT/안드로이드</category>
      <author>nadadhl</author>
      <guid isPermaLink="true">https://iamrealizer.tistory.com/55</guid>
      <comments>https://iamrealizer.tistory.com/55#entry55comment</comments>
      <pubDate>Tue, 28 Jul 2020 22:01:10 +0900</pubDate>
    </item>
    <item>
      <title>PHP - PDO 정리  및 적용</title>
      <link>https://iamrealizer.tistory.com/53</link>
      <description>&lt;p&gt;그동안 php를 사용하는데 있어서,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;나는&amp;nbsp; 아래와 같이 많이 사용했다.&lt;/p&gt;
&lt;pre id=&quot;code_1593216284459&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$conn = mysqli_connect(&quot;localhost&quot;,&quot;db아이디&quot;,&quot;디비패스워드&quot;,&quot;testdb&quot;);
$newpassword=$_POST['Data1'];
$email =$_POST['Data2'];

$update=&quot;UPDATE checkemail SET password ='$newpassword' where email ='$email'&quot;;//해당학생 메일의  패스워드를 바꿔줌
$result1=mysqli_query($conn,$update);//바꾸기  쿼리 ㄱ






&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그런데,&amp;nbsp; 여기서 문제가 될수 있는 점은 다음과 같다.&lt;/p&gt;
&lt;p&gt;1. db connection을&amp;nbsp; mysqli api로 사용했다.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. 쿼리문에&amp;nbsp; 입력받은 변수(email)가&amp;nbsp; 바로 대입되어있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;우선,&amp;nbsp; 1번의 경우는,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;mysql 만&amp;nbsp; 사용하게 되면,&amp;nbsp; 상관 없지만 새로운 db(mysql 이&amp;nbsp; 아닌)&lt;/p&gt;
&lt;p&gt;사용할때,&amp;nbsp; 해당 db에 맞는&amp;nbsp; api들로&amp;nbsp; 다시&amp;nbsp; 바꿔줘야 된다..&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;즉, 그동안&amp;nbsp; db에&amp;nbsp; 종속 된&amp;nbsp; 코드를&amp;nbsp; 썼던 것...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2번은 SQL injection&amp;nbsp; 문제가 있다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;SQL Injection이란?&lt;/p&gt;
&lt;p&gt;쿼리문에&amp;nbsp; 악의적인&amp;nbsp; sql문을&amp;nbsp; 주입하여,&amp;nbsp; 개발자가 의도한 바와&amp;nbsp; 다른 결과를&lt;/p&gt;
&lt;p&gt;내도록&amp;nbsp; 조작하는 일종의 해킹이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;내가 원래 쓰던 방식 대로 하게 되면,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;해커가&amp;nbsp; 악의적인&amp;nbsp; sql문을 그대로&amp;nbsp; 내 쿼리문에 적용할수 있는 확률인 높아진다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;그럼 어떻게 해야 할까??&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;PHP 에서&amp;nbsp; 제공하는&amp;nbsp; PDO(PHP Data Objects) 를 사용하면 된다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;PDO란??&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;pdo란&amp;nbsp; php에서 제공하는&amp;nbsp; &lt;b&gt;여러db를&amp;nbsp; 같은 방법으로&amp;nbsp; 접근하게 해주는&amp;nbsp; 확장 모듈&lt;/b&gt;이다.&lt;/p&gt;
&lt;p&gt;(원래는 pdo를&amp;nbsp; 안쓰면,&amp;nbsp; 각가 php는&amp;nbsp; 각각&amp;nbsp; 데이터 베이스 별로&amp;nbsp; 확장 모듈을 가지고 있음)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;여러 종류의&amp;nbsp; 데이터 베이스를&amp;nbsp; 같은 방식으로&amp;nbsp; 사용&lt;/b&gt;할수 있게 해주고,&lt;/p&gt;
&lt;p&gt;&lt;b&gt;PDO Statement 라는&amp;nbsp; 일종의&amp;nbsp; prepare statement를&amp;nbsp; 제공해&amp;nbsp; 데이터 바인딩을 지원한다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;이 데이터 바인딩을&amp;nbsp; 통해&amp;nbsp; sql 인젝션을&amp;nbsp; 막고,&amp;nbsp; &amp;nbsp;쿼리문에 대하여,&amp;nbsp; 캐시가 되기 때문에&amp;nbsp; 성능 향상에도 도움&lt;/b&gt;이된다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;그럼 기본적으로&amp;nbsp; pdo의&amp;nbsp; 사용법을&amp;nbsp; 알아보자.!&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;우선 db connection부분이다.&lt;/p&gt;
&lt;pre id=&quot;code_1593220642100&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$mysql_hostname = 'localhost';
$mysql_username = 'root';
$mysql_password = 'sssddd456852';
$mysql_db_name = 'used_market_project_db';
$mysql_charset = 'utf8';

$dsn = 'mysql:host='.$mysql_hostname.';dbname='.$mysql_db_name.';charset='.$mysql_charset;

try{

    $pdo = new PDO($dsn, $mysql_username, $mysql_password);
    $pdo-&amp;gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo &quot;Connected successfully &amp;lt;/br&amp;gt;&quot;;

} catch (PDOException $e) {

    echo 'Connect failed : ' . $e-&amp;gt;getMessage() . '';
    
}


&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이&amp;nbsp; dsn 부분에서는&amp;nbsp; 현재 사용중인&amp;nbsp; db를&amp;nbsp; 명시하고&amp;nbsp; 사용하면, 된다.&lt;/p&gt;
&lt;p&gt;현재 사용중인 db는 mysql 이기 때문에 &quot;mysql:&quot;를 적어줌.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;기존에&amp;nbsp; 각 db별&amp;nbsp; 새로운 api를&amp;nbsp; 사용하는 거에 비해&amp;nbsp; 매우&amp;nbsp; 간단해짐을 알수 있다.&lt;/p&gt;
&lt;p&gt;$dsn&amp;nbsp;=&amp;nbsp;'mysql:host='.$mysql_hostname.';dbname='.$mysql_db_name.';charset='.$mysql_charset;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그리고 이렇게&amp;nbsp; try catch부분으로&amp;nbsp; exception관리를 할수 있음.&lt;/p&gt;
&lt;p&gt;try{ &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$pdo&amp;nbsp;=&amp;nbsp;new&amp;nbsp;PDO($dsn,&amp;nbsp;$mysql_username,&amp;nbsp;$mysql_password); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$pdo-&amp;gt;setAttribute(PDO::ATTR_ERRMODE,&amp;nbsp;PDO::ERRMODE_EXCEPTION); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&quot;Connected&amp;nbsp;successfully&amp;nbsp;&amp;lt;/br&amp;gt;&quot;; &lt;br /&gt;&lt;br /&gt;}&amp;nbsp;catch&amp;nbsp;(PDOException&amp;nbsp;$e)&amp;nbsp;{ &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;'Connect&amp;nbsp;failed&amp;nbsp;:&amp;nbsp;'&amp;nbsp;.&amp;nbsp;$e-&amp;gt;getMessage()&amp;nbsp;.&amp;nbsp;''; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;PDOstatement를 사용해서 데이터 바인딩 가능&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1593221081970&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;//PDO db 연결 파일
include('DbConnection/dbcon.php');

$name=&quot;shawn&quot;;
$select_data_stmt = $pdo-&amp;gt;prepare('SELECT * FROM test_table WHERE name= :name');
$select_data_stmt-&amp;gt;bindValue(':name',$name,PDO::PARAM_STR);
$select_data_stmt-&amp;gt;execute();
$result = $select_data_stmt-&amp;gt;fetch(PDO::FETCH_ASSOC);
   
print_r($result);

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;기존에 는&amp;nbsp; select 구문을 쓸때&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;select*from test_table where name='$name'; 으로 사용 했다면,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;현재는&amp;nbsp; prepare ()로&amp;nbsp; 'SELECT * FROM test_table WHERE name= :name'&amp;nbsp; 쿼리문을&amp;nbsp; 정의하고,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;나중에 아래처럼 값을&amp;nbsp; 대입해준다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$select_data_stmt-&amp;gt;bindValue(':name',$name,PDO::PARAM_STR);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이렇게 하면, sql 문과&amp;nbsp; 데이터를&amp;nbsp; 명확히&amp;nbsp; 구분할수 있어서,&amp;nbsp; sql 문에&amp;nbsp; 해커가&amp;nbsp; 따로 쿼리문을&amp;nbsp; 적을수가 없다.&lt;/p&gt;
&lt;p&gt;sql 인젝션 방어 가능&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그리고, 준비 구문이&amp;nbsp; 정의되고&amp;nbsp; 데이터만&amp;nbsp; 바뀌면서&amp;nbsp; 여러번 실행할수 있기 때문에&amp;nbsp;&lt;/p&gt;
&lt;p&gt;클라이언트,&amp;nbsp; 서버 양쪽에서&amp;nbsp; 쿼리 계획(sql문) 및&amp;nbsp; 메타 정보(데이터)를&amp;nbsp; 캐시할수 있어&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;성능이&amp;nbsp; 향상 된다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;PDO 사용법&amp;nbsp; 간단 정리&lt;/h2&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;b&gt;1. 이렇게 데이터 베이스&amp;nbsp; 접속 하려면,&amp;nbsp; PDO 객체를&amp;nbsp; 생성해야됨.&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;아래처럼&amp;nbsp; dsn부분에 각 db 관련&amp;nbsp; 정보 입력후&amp;nbsp; ,&amp;nbsp; 그뒤&amp;nbsp; 모든 db&amp;nbsp; 마찬가지로&amp;nbsp; db 유저명과&amp;nbsp; 패스워드를&amp;nbsp; 쓰면 됨.&lt;/p&gt;
&lt;p&gt;&amp;lt;?php&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;b&gt;&lt;span&gt;$&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;dsn&lt;/span&gt;&lt;/b&gt;&amp;nbsp;= &quot;mysql:host=&lt;b&gt;&lt;span&gt;{&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;$&lt;/span&gt;&lt;span&gt;dbHost&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;}&lt;/span&gt;&lt;/b&gt;;dbname=&lt;b&gt;&lt;span&gt;{&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;$&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;dbName&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;}&lt;/span&gt;&lt;/b&gt;;charset=&lt;b&gt;&lt;span&gt;{&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;$&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;dbChar&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;}&lt;/span&gt;&lt;/b&gt;&quot;;&lt;/p&gt;
&lt;p&gt;?&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;?php&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span&gt;&lt;span&gt;$&lt;/span&gt;&lt;/span&gt;&lt;span&gt;pdo&lt;/span&gt;&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;= new&amp;nbsp;&lt;b&gt;&lt;span&gt;PDO&lt;/span&gt;&lt;/b&gt;(&lt;b&gt;&lt;span&gt;$&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;dsn&lt;/span&gt;&lt;/b&gt;,&amp;nbsp;&lt;b&gt;&lt;span&gt;$&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;dbUser&lt;/span&gt;&lt;/b&gt;,&amp;nbsp;&lt;b&gt;&lt;span&gt;$&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;dbPass&lt;/span&gt;&lt;/b&gt;);&lt;/p&gt;
&lt;p&gt;?&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2.&amp;nbsp; &amp;nbsp;prepare (이 안에&amp;nbsp; sql 문&amp;nbsp; 정의)&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; sql문에는 왠만하면,&amp;nbsp; ? 보단 이름 사용하자.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ?로하면&amp;nbsp; &amp;nbsp;순서를 사용해서&amp;nbsp; 바인딩 해야되는데,&amp;nbsp; 값이 많아지면,&amp;nbsp; 더&amp;nbsp; 비교 어려워짐.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 이름( ex -&amp;gt; :name )이&amp;nbsp; 명시적이고 좋음.&lt;/p&gt;
&lt;pre id=&quot;code_1593221753483&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;
&amp;lt;?php

      $name = &quot;이름&quot;;

      $email = &quot;이메일&quot;;



      // 이름 붙인 파라미터를 사용할 때

      $pdoStatement = $pdo -&amp;gt; prepare(&quot;SELECT * FROM member WHERE name = :name OR email = :email&quot;);

      $pdoStatement = bindValue(&quot;:name&quot;, $name);

      $pdoStatement = bindValue(&quot;:email&quot;, $email);



      // 물음표를 사용할때 파라미터가 많아지면 물음표(?)의 경우 순서를 파악하기 어려워 진다.

      $pdoStatement = $pdo -&amp;gt; prepare(&quot;SELECT * FROM member WHERE name = ? OR email = ?&quot;);

      $pdoStatement = bindValue(1, $name);

      $pdoStatement = bindValue(2, $email);





?&amp;gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;3.&amp;nbsp; bindValue&amp;nbsp; vs&amp;nbsp; bindParam&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;pdo statement 중에&amp;nbsp; 데이터 바인딩을&amp;nbsp; 위한 메소드가 있는데,&lt;/p&gt;
&lt;p&gt;bindValue 와&amp;nbsp; bindParam이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이둘의&amp;nbsp; 차이점은&amp;nbsp; 다음과 같다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;bindValue의 경우는&amp;nbsp; 그 값이 그대로 들어간다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;예를들어&lt;/p&gt;
&lt;p&gt;$name= &quot;이동훈&quot;;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;$&lt;/span&gt;&lt;/b&gt;&lt;b&gt;stmt&lt;/b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;-&amp;gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;b&gt;bindValue&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;(&quot;&lt;/span&gt;&lt;b&gt;:name&lt;/b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&quot;, $name);&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt; &lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;b&gt;이런 코드가 있다고 할때,&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;b&gt;$name에&amp;nbsp; 들어간&amp;nbsp; &quot;이동훈&quot;이라는 값이&amp;nbsp; &amp;nbsp;대입된다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;b&gt;그래서 데이터 바인딩 후, 변수에 다른 값을&amp;nbsp; 넣었을때,&amp;nbsp; 그 값은&amp;nbsp; 바뀌지 않는다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;b&gt;ex)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;$name= &quot;이동훈&quot;;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;$&lt;/span&gt;&lt;/b&gt;&lt;b&gt;stmt&lt;/b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;-&amp;gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;b&gt;bindValue&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;(&quot;&lt;/span&gt;&lt;b&gt;:name&lt;/b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&quot;, $name);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;$name=&quot;차길호&quot;;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span&gt;$&lt;/span&gt;&lt;/b&gt;&lt;b&gt;stmt&lt;/b&gt;&lt;span style=&quot;color: #333333;&quot;&gt; -&amp;gt; execute();//쿼리문 실행&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;이때, 이동훈이라는 값이 바인딩 되었으므로,&amp;nbsp; 아무리&amp;nbsp; 변수값을 바꿔도&amp;nbsp; 바인딩된&amp;nbsp; 값으로 &quot;이동훈&quot;이 들어가&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;쿼리가 실행된다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;반면, bindParam의 경우는&amp;nbsp; 그 변수가 바인딩 된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span&gt;&lt;b&gt;ex)&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;$name= &quot;이동훈&quot;;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;$&lt;/span&gt;&lt;/b&gt;&lt;b&gt;stmt&lt;/b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;-&amp;gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;b&gt;bindParam&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;(&quot;&lt;/span&gt;&lt;b&gt;:name&lt;/b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&quot;, $name);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;$name=&quot;차길호&quot;;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span&gt;$&lt;/span&gt;&lt;/b&gt;&lt;b&gt;stmt&lt;/b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;-&amp;gt; execute();//쿼리문 실행&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;이때,&amp;nbsp; $name이라는 변수가&amp;nbsp; binding 된것이므로,&amp;nbsp; 실행전&amp;nbsp; 변수값이 바뀌면,&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;바뀐&amp;nbsp; 값이&amp;nbsp; 쿼리문에 실행된다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 결과 값&amp;nbsp; 가져오기&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;fetch() vs&amp;nbsp; fetchAll()&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;fetch의 경우는&amp;nbsp; 가장&amp;nbsp; 처번째&amp;nbsp; 행을 가지고온다. &lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;반복문을 사용해서 모든 행 가져오는 처리 가능.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;fetchAll()의&amp;nbsp; 경우는 모든 행을 가지고 올수 있음.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;-이거 조회수가 많을때 쓰면, 서버 메모리 부족 올수도 있음.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;5. 모드 지정&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;fetch()나&amp;nbsp; fetchAll() 에 사용하는 예약 상수들이 있음.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;default mode -&amp;gt; PDO::FETCH_BOTH =&amp;gt; 숫자 인덱스를 배열의 키로반환&amp;nbsp; + 컬럼 명도&amp;nbsp; 배열의 키로 반환&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;그러면, 이제&amp;nbsp; $result['컬럼명'] or&amp;nbsp; $result[index]&amp;nbsp; 둘다 되는 거임.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;PDO::FETCH_ASSOC =&amp;gt; 컬럼명으로만&amp;nbsp; 배열의&amp;nbsp; 키로 반환 -&amp;gt; $result['컬럼명']만 사용이 가능하다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;PDO::FETCH_NUM =&amp;gt; 숫자 인덱스로&amp;nbsp; 배열의 키를 반환한다. -&amp;gt; $result[0];&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;PDO::FETCH_OBJ =&amp;gt;&amp;nbsp; 객체로 반환&amp;nbsp; =&amp;gt;&amp;nbsp; $result -&amp;gt; name 이렇게&amp;nbsp; &lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;PDO::&lt;span&gt;&lt;span&gt;FETCH_CLASS =&amp;gt;&amp;nbsp; 지정한 클래스의&amp;nbsp; 객체로&amp;nbsp; &amp;nbsp;-&amp;gt; 이건&amp;nbsp; 나중에 쓸거 같아서&amp;nbsp; 예제 코드 아래 첨부&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1593260936178&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;
&amp;lt;?php

	class iDol {

		private $idx;

		private $name;

		private $position;

		private $group;

		private $company;

		private $birthDay;



		public function getIdx() {

			return $this -&amp;gt; idx;

		}



		public function getName() {

			return $this -&amp;gt; name;

		}



		public function getPosition() {

			return $this -&amp;gt; position;

		}



		public function getGroup() {

			return $this -&amp;gt; group_name;

		}



		public function getCompany() {

			return $this -&amp;gt; company;

		}



		public function getBirthDay() {

			return $this -&amp;gt; birthDay;

		}

	}

?&amp;gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1593260950160&quot; class=&quot;php&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;
&amp;lt;?php

        $dbHost = &quot;localhost&quot;;

        $dbName = &quot;test_db&quot;;
        $dbUser = &quot;tester&quot;;
        $dbPass = &quot;1q2w3e&quot;;
        $dbChar = &quot;utf8&quot;;

        $dsn = &quot;mysql:host={$dbHost};dbname={$dbName};charset={$dbChar}&quot;;
        $pdo = new PDO($dsn, $dbUser, $dbPass);

        $stmt = $pdo -&amp;gt; prepare(&quot;SELECT * FROM girl_group WHERE name = :name&quot;);
        $stmt -&amp;gt; bindValue(&quot;:name&quot;, &quot;다현&quot;);
        $stmt -&amp;gt; execute();
    

	$stmt -&amp;gt; setFetchMode(PDO::FETCH_CLASS, &quot;iDol&quot;);

	$row = $stmt -&amp;gt; fetch();



	echo $row -&amp;gt; getGroup();

	echo &quot;&amp;lt;br/&amp;gt;&quot;;

	echo $row -&amp;gt; getName();

	echo &quot;&amp;lt;br/&amp;gt;&quot;;

	echo $row -&amp;gt; getPosition();

	echo &quot;&amp;lt;br/&amp;gt;&quot;;

	echo $row -&amp;gt; getCompany();

?&amp;gt;


&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;&lt;span&gt;이런식으로&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;&lt;span&gt;이렇게&amp;nbsp; PDO 정리 끝~&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;나중에 추가할거 있으면 추가하기&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;아 추가적으로 DB연결 할때&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;$db-&amp;gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);&lt;/span&gt;&lt;br /&gt;이거&amp;nbsp; -&amp;gt; &lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;PDO::ATTR_ERRMODE-&amp;gt;&amp;nbsp; PDO객체가 에러 처리 방식 결정한다.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;PDO::ERRMODE_EXCEPTION -&amp;gt; ECEPTION을 던지는걸로 처리하겠다 -&amp;gt; try catch 구문 사용.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그리고&lt;/p&gt;
&lt;p&gt;&lt;span&gt;$pdo&lt;/span&gt;&lt;span&gt;-&amp;gt;&lt;/span&gt;&lt;span&gt;setAttribute&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;PDO&lt;/span&gt;&lt;span&gt;::ATTR_EMULATE_PREPARES,&lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;이거 있는데,&amp;nbsp; 이거 true일경우&amp;nbsp; 서버로&amp;nbsp; sql문 이렇게 가짐.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&quot;INSERT into Customers (CustomerName, ContactName) VALUES ('Cardinal', 'Tom B. Erichsen')&quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;하지만, false 인경우&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&quot;INSERT into Customers (CustomerName, ContactName) VALUES (:cus_name, :con_name)&quot; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;즉,&amp;nbsp; true인경우&amp;nbsp; 매개 변수가 있는 쿼리의 보안이&amp;nbsp; 적용되지 않아 보임.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;false를 해주는게 낳을듯&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;하지만,&amp;nbsp; sql server에서&amp;nbsp; 몇몇&amp;nbsp; 지원하지 않는&amp;nbsp; 매개 변수를 넘길때는&amp;nbsp; true를&amp;nbsp; 해주면,&amp;nbsp; 무시 할수 있다고함.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이때는 sql 코드에&amp;nbsp; 악성&amp;nbsp; 코드가 있는지 확인 해야됨&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1593260975077&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[PHP] PDO 사용법 정리&quot; data-og-description=&quot;참고 : 바쁜 팀장님 대신 알려주는 신입 PHP 개발자 안내서 ■ PDO(PHP Data Objects) 란? &amp;nbsp;-. PDO(PHP Data Objects)는 여러 종류의 데이터베이스를 같은 방식으로 사용할 수 있게 해준다. &amp;nbsp;-. 그리고 PDOStat..&quot; data-og-host=&quot;magic.wickedmiso.com&quot; data-og-source-url=&quot;http://magic.wickedmiso.com/16&quot; data-og-url=&quot;http://magic.wickedmiso.com/16&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bWPe8J/hyGzdjsp3C/FbbjqwOpABl3tkZ3bywqgK/img.jpg?width=800&amp;amp;height=366&amp;amp;face=0_0_800_366,https://scrap.kakaocdn.net/dn/dFdArJ/hyGzevRWk8/ZDbqGC0cpOdunIoshFBC3K/img.jpg?width=800&amp;amp;height=366&amp;amp;face=0_0_800_366,https://scrap.kakaocdn.net/dn/N5KmX/hyGzkbNybb/aLm6xfsyUhQoAL5BePQiBk/img.jpg?width=879&amp;amp;height=3043&amp;amp;face=0_0_879_3043&quot;&gt;&lt;a href=&quot;http://magic.wickedmiso.com/16&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;http://magic.wickedmiso.com/16&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bWPe8J/hyGzdjsp3C/FbbjqwOpABl3tkZ3bywqgK/img.jpg?width=800&amp;amp;height=366&amp;amp;face=0_0_800_366,https://scrap.kakaocdn.net/dn/dFdArJ/hyGzevRWk8/ZDbqGC0cpOdunIoshFBC3K/img.jpg?width=800&amp;amp;height=366&amp;amp;face=0_0_800_366,https://scrap.kakaocdn.net/dn/N5KmX/hyGzkbNybb/aLm6xfsyUhQoAL5BePQiBk/img.jpg?width=879&amp;amp;height=3043&amp;amp;face=0_0_879_3043');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;[PHP] PDO 사용법 정리&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;참고 : 바쁜 팀장님 대신 알려주는 신입 PHP 개발자 안내서 ■ PDO(PHP Data Objects) 란? &amp;nbsp;-. PDO(PHP Data Objects)는 여러 종류의 데이터베이스를 같은 방식으로 사용할 수 있게 해준다. &amp;nbsp;-. 그리고 PDOStat..&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;magic.wickedmiso.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1593261098974&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;php 에서 PDO vs MySQLi vs MySQL&quot; data-og-description=&quot;1. PDO 대 MySQLi 대 MySQL 우리 모두 알고 있듯이, MySQL은 SQL (Structured Query ...&quot; data-og-host=&quot;blog.naver.com&quot; data-og-source-url=&quot;https://m.blog.naver.com/PostView.nhn?blogId=sunrc&amp;amp;logNo=221211680619&amp;amp;proxyReferer=https:%2F%2Fwww.google.com%2F&quot; data-og-url=&quot;https://blog.naver.com/sunrc/221211680619&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bYj7q1/hyGy8vFl7D/chS40yd6zcNQ0M6rWU4xwk/img.png?width=270&amp;amp;height=270&amp;amp;face=0_0_270_270,https://scrap.kakaocdn.net/dn/vEeSc/hyGziyhFoO/lmkXTmziMkcvkUkpkMCf80/img.png?width=500&amp;amp;height=300&amp;amp;face=0_0_500_300&quot;&gt;&lt;a href=&quot;https://m.blog.naver.com/PostView.nhn?blogId=sunrc&amp;amp;logNo=221211680619&amp;amp;proxyReferer=https:%2F%2Fwww.google.com%2F&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://m.blog.naver.com/PostView.nhn?blogId=sunrc&amp;amp;logNo=221211680619&amp;amp;proxyReferer=https:%2F%2Fwww.google.com%2F&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bYj7q1/hyGy8vFl7D/chS40yd6zcNQ0M6rWU4xwk/img.png?width=270&amp;amp;height=270&amp;amp;face=0_0_270_270,https://scrap.kakaocdn.net/dn/vEeSc/hyGziyhFoO/lmkXTmziMkcvkUkpkMCf80/img.png?width=500&amp;amp;height=300&amp;amp;face=0_0_500_300');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;php 에서 PDO vs MySQLi vs MySQL&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;1. PDO 대 MySQLi 대 MySQL 우리 모두 알고 있듯이, MySQL은 SQL (Structured Query ...&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;blog.naver.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>IT/PHP</category>
      <author>nadadhl</author>
      <guid isPermaLink="true">https://iamrealizer.tistory.com/53</guid>
      <comments>https://iamrealizer.tistory.com/53#entry53comment</comments>
      <pubDate>Sat, 27 Jun 2020 20:34:58 +0900</pubDate>
    </item>
    <item>
      <title>puttygen으로  ppk -&amp;gt; pem 변환하기</title>
      <link>https://iamrealizer.tistory.com/52</link>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;VSCode 에서&amp;nbsp; sftp 기능을&amp;nbsp; 사용하기 위해,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;설정을 하는 중&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;서버와 연결을 위해,&amp;nbsp; pem파일을 적어줘야 하는 상황이 생겼다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;하지만,&lt;/p&gt;
&lt;p&gt;기존에 ppk 파일만 사용해서 pem 파일을 어디다 뒀는지 모르는 상황이었다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이럴땐, 기존에 ppk 파일을&amp;nbsp; pem으로&amp;nbsp; 변환시켜주면 된다.&lt;/p&gt;
&lt;p&gt;아래는 방법이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;1. 우선, ppk 만들때 사용한,&amp;nbsp; PuTTYgen프로그램을&amp;nbsp; 실행시킨다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;414&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhHSv1/btqE7nJzWZ5/KGNG1NgbZBO3eRKh4arbC0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhHSv1/btqE7nJzWZ5/KGNG1NgbZBO3eRKh4arbC0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhHSv1/btqE7nJzWZ5/KGNG1NgbZBO3eRKh4arbC0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhHSv1%2FbtqE7nJzWZ5%2FKGNG1NgbZBO3eRKh4arbC0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;414&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. 그 다음 puttygen에서&amp;nbsp; Actions -&amp;gt;&amp;nbsp; Load를 눌러준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;477&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ryiDc/btqE6NuVShg/TKtglzrZIMp1GBglTKah1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ryiDc/btqE6NuVShg/TKtglzrZIMp1GBglTKah1K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ryiDc/btqE6NuVShg/TKtglzrZIMp1GBglTKah1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FryiDc%2FbtqE6NuVShg%2FTKtglzrZIMp1GBglTKah1K%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;477&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;3. 그리고&amp;nbsp; pem으로 바꿈&amp;nbsp; ppk 파일 찾아서 선택한다..&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;4. 그럼 아래 처럼 나오는데,&amp;nbsp; key passphrase로&amp;nbsp; 암호를 설정해준다. (필수 아님,&amp;nbsp; 선택사항)&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp;(프라이빗 키&amp;nbsp; &amp;nbsp;무단 사용을&amp;nbsp; 보호 하기위한 수단)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;532&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDWY2L/btqE8w6FlCN/5UnWyhi3ouG7kaxzQDjGgK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDWY2L/btqE8w6FlCN/5UnWyhi3ouG7kaxzQDjGgK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDWY2L/btqE8w6FlCN/5UnWyhi3ouG7kaxzQDjGgK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDWY2L%2FbtqE8w6FlCN%2F5UnWyhi3ouG7kaxzQDjGgK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;532&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;5. 위 처럼 나오면&amp;nbsp; 맨위에&amp;nbsp; &lt;b&gt;Conversions -&amp;gt;Export OpenSSH Key &lt;/b&gt;를&amp;nbsp; &amp;nbsp;선택한다.&lt;/p&gt;
&lt;p&gt;(위&amp;nbsp; 4번에서의&amp;nbsp; 암호를 입력 안하면, 경고가 뜨는데 그냥 yes 누르면 됨)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/buVC16/btqE6M3RV6a/JJD2EgMb9Dqt5MfljGofU0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/buVC16/btqE6M3RV6a/JJD2EgMb9Dqt5MfljGofU0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/buVC16/btqE6M3RV6a/JJD2EgMb9Dqt5MfljGofU0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuVC16%2FbtqE6M3RV6a%2FJJD2EgMb9Dqt5MfljGofU0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;6. 그다음&amp;nbsp; &lt;b&gt;파일&amp;nbsp; 이름&amp;nbsp; 지정&lt;/b&gt; 및&amp;nbsp; &lt;b&gt;확장명&amp;nbsp; .pem&lt;/b&gt; 으로&amp;nbsp; 선택후&amp;nbsp; &lt;b&gt;Save&lt;/b&gt;를&amp;nbsp; 눌러준다.&amp;nbsp;&lt;/p&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;u&gt;그럼 끝~&lt;/u&gt;&lt;/h2&gt;</description>
      <category>IT/서버</category>
      <category>PEM</category>
      <category>ppk</category>
      <category>ppk to pem</category>
      <category>PuTTY</category>
      <category>puttygen</category>
      <author>nadadhl</author>
      <guid isPermaLink="true">https://iamrealizer.tistory.com/52</guid>
      <comments>https://iamrealizer.tistory.com/52#entry52comment</comments>
      <pubDate>Thu, 25 Jun 2020 14:59:26 +0900</pubDate>
    </item>
    <item>
      <title>Nginx 에서 PHP ,Mysql(mariadb) LEMP 설치 및 실행 하기</title>
      <link>https://iamrealizer.tistory.com/51</link>
      <description>&lt;p&gt;&lt;span&gt;Nginx &lt;/span&gt;&lt;span&gt;에&lt;/span&gt;&lt;span&gt; php &lt;/span&gt;&lt;span&gt;깔기&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;시작해봄&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;우선&lt;/span&gt;&lt;span&gt;,&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;추가적인&lt;/span&gt;&lt;span&gt; centos &lt;/span&gt;&lt;span&gt;레포지토리를&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;설치한다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Php 7.3 &lt;/span&gt;&lt;span&gt;버전용&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;레포를&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;추가&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;적인&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;레포&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;설치&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;wget &lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;a href=&quot;http://rpms.remirepo.net/enterprise/remi-release-7.rpm&quot;&gt;http://rpms.remirepo.net/enterprise/remi-release-7.rpm&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;중간에&lt;/span&gt;&lt;span&gt; wget&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;이거&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;없어서&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;yum install wget&lt;/span&gt;&lt;span&gt;로&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;깜&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;rpm -Uvh remi-release-7.rpm&lt;/p&gt;
&lt;p&gt;&lt;span&gt;이거&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;하려고&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;하는데&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$&amp;gt; sudo rpm -Uvh remi-release-7.rpm&lt;br /&gt;warning: /tmp/remi.rpm: Header V4 DSA/SHA1 Signature, key ID 00f97f56: NOKEY&lt;br /&gt;error: Failed dependencies:&lt;br /&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;epel-release = 7 is needed by remi-release-7.2-1.el7.remi.noarch&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;이런&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;에러&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;나옴&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;이유는&lt;/span&gt;&lt;span&gt; epel &lt;/span&gt;&lt;span&gt;레포지토리가&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;없다는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;거임&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;span&gt;그래서&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;yum install epel-release -y&lt;/p&gt;
&lt;p&gt;&lt;span&gt;로&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;깔고&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;다시&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;함&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5FStJ/btqE7nPLLt9/2c2u4G6LMAh1M8WeAKwdEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5FStJ/btqE7nPLLt9/2c2u4G6LMAh1M8WeAKwdEk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5FStJ/btqE7nPLLt9/2c2u4G6LMAh1M8WeAKwdEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5FStJ%2FbtqE7nPLLt9%2F2c2u4G6LMAh1M8WeAKwdEk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;그다음에&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;yum install yum-utils -y&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;yum-config-manager --enable remi-php73&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Php &lt;/span&gt;&lt;span&gt;패키지&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;설치함&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;yum --enablerepo=remi,remi-php73 install php-fpm php-common&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Php &lt;/span&gt;&lt;span&gt;모듈&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;yum --enablerepo=remi,remi-php73 install php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Nginx&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;랑&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;php &lt;/span&gt;&lt;span&gt;연결&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;vi&lt;span&gt;&amp;nbsp; &lt;/span&gt;/etc/nginx/conf.d/default.conf&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;들어가&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;서&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;아래처럼&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;바꿔주기&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;server {&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;listen &amp;nbsp; 80;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;server_name&amp;nbsp; &lt;/span&gt;&lt;span&gt;내&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;아이피&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;# note that these lines are originally from the &quot;location /&quot; block&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;-&amp;gt;&lt;/span&gt;&lt;span&gt;이부분&lt;/span&gt;&lt;span&gt; location block&lt;/span&gt;&lt;span&gt;으로&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;되어있으면&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;없애주고&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;이렇게&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;바꿔줘야됨&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;root &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt; /usr/share/nginx/html;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;index index.php index.html index.htm;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;location / {&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try_files $uri $uri/ =404;&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;error_page 404 /404.html;&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;error_page 500 502 503 504 /50x.html;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;location = /50x.html {&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;root /usr/share/nginx/html;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;location ~ .php$ {&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try_files $uri =404;&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fastcgi_index index.php;&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;include fastcgi_params;&lt;br /&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;그렇게&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;하고&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;nginx &lt;/span&gt;&lt;span&gt;다시&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;시작함&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;systemctl restart nginx&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;그리고&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;vi&lt;span&gt;&amp;nbsp; &lt;/span&gt;/etc/php-fpm.d/www.conf &lt;/span&gt;&lt;span&gt;들어가서&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;user = apache&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;user = nginx&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;group = apache&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;group = nginx&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;listen.owner = nobody&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;listen.owner = nginx&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;listen.group = nobody to listen.group = nginx&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;이부분들&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;바꿔줌&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;그리고&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;이부분은&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;listen = 127.0.0.1:9000&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;listen = /var/run/php-fpm/php-fpm.sock&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;이렇게&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;바꿈&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;그다음&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;php fpm&lt;/span&gt;&lt;span&gt;을&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;실행시켜준다&lt;/span&gt;&lt;span&gt;. -&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;systemctl start php-fpm.service&lt;br /&gt;systemctl enable php-fpm.service&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;그다음&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;이제&lt;/span&gt;&lt;span&gt; MARIA DB&lt;/span&gt;&lt;span&gt;설치&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;마리아&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;디비는&lt;/span&gt;&lt;span&gt; centos default repo&lt;/span&gt;&lt;span&gt;임&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;yum install mariadb-server mariadb -y&lt;/p&gt;
&lt;p&gt;&lt;span&gt;그래서&lt;/span&gt;&lt;span&gt; yum&lt;/span&gt;&lt;span&gt;으로&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;바로&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;설치&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;가능&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;다&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;설치&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;하면&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;실행해줌&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;systemctl start mariadb&lt;br /&gt;systemctl enable mariadb&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;그리고&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;아래&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;명령어&lt;/span&gt;&lt;span&gt; -&amp;gt; enter &lt;/span&gt;&lt;span&gt;키&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;누르면&lt;/span&gt;&lt;span&gt;,&lt;span&gt;&amp;nbsp; &lt;/span&gt;password &lt;/span&gt;&lt;span&gt;생성&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;가능&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;mysql_secure_installation&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;그다음&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;모두&lt;/span&gt;&lt;span&gt; y&lt;/span&gt;&lt;span&gt;로&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;해줌&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Remove anonymous users? [Y/n]&lt;br /&gt;Disallow root login remotely? [Y/n]&lt;br /&gt;Remove test database and access to it? [Y/n]&lt;br /&gt;Reload privilege tables now? [Y/n]&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;이러면&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;끝&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;참고한 사이트&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1593008762337&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;How to Install Nginx, MySQL, PHP v7 (LEMP) Stack on CentOS 7&quot; data-og-description=&quot;Do you want to use LEMP to serve your dynamic website? Follow this guide to learn how to install LEMP on CentOS 7.&quot; data-og-host=&quot;www.hostinger.com&quot; data-og-source-url=&quot;https://www.hostinger.com/tutorials/how-to-install-lemp-centos7&quot; data-og-url=&quot;https://www.hostinger.com/tutorials/how-to-install-lemp-centos7&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/B9MlT/hyGx4lEHYh/N4IxWRUdpDuZsxkm849soK/img.jpg?width=900&amp;amp;height=560&amp;amp;face=0_0_900_560,https://scrap.kakaocdn.net/dn/bwQ9vQ/hyGyc43NAT/S9NWP2QIooy0n7TtYHQfB0/img.jpg?width=900&amp;amp;height=560&amp;amp;face=0_0_900_560&quot;&gt;&lt;a href=&quot;https://www.hostinger.com/tutorials/how-to-install-lemp-centos7&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.hostinger.com/tutorials/how-to-install-lemp-centos7&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/B9MlT/hyGx4lEHYh/N4IxWRUdpDuZsxkm849soK/img.jpg?width=900&amp;amp;height=560&amp;amp;face=0_0_900_560,https://scrap.kakaocdn.net/dn/bwQ9vQ/hyGyc43NAT/S9NWP2QIooy0n7TtYHQfB0/img.jpg?width=900&amp;amp;height=560&amp;amp;face=0_0_900_560');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;How to Install Nginx, MySQL, PHP v7 (LEMP) Stack on CentOS 7&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Do you want to use LEMP to serve your dynamic website? Follow this guide to learn how to install LEMP on CentOS 7.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;www.hostinger.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1593008771014&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;XE3를 위한 웹 서버 세팅 가이드&quot; data-og-description=&quot;#창작자와 기술기업을 위한 문서&quot; data-og-host=&quot;medium.com&quot; data-og-source-url=&quot;https://medium.com/xehub/xe3%EB%A5%BC-%EC%9C%84%ED%95%9C-%EC%9B%B9-%EC%84%9C%EB%B2%84-%EC%84%B8%ED%8C%85-%EA%B0%80%EC%9D%B4%EB%93%9C-7766a3ee6c39&quot; data-og-url=&quot;https://medium.com/xehub/xe3%EB%A5%BC-%EC%9C%84%ED%95%9C-%EC%9B%B9-%EC%84%9C%EB%B2%84-%EC%84%B8%ED%8C%85-%EA%B0%80%EC%9D%B4%EB%93%9C-7766a3ee6c39&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/p6P9K/hyGx1PZttH/JEJTZA0eYNcbuG87Q60JwK/img.jpg?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600,https://scrap.kakaocdn.net/dn/eYgeh/hyGx2nPzg5/U3KIY8LvFXAyjuHb4Z592k/img.png?width=60&amp;amp;height=33&amp;amp;face=0_0_60_33,https://scrap.kakaocdn.net/dn/8QWAA/hyGw6rQcyi/RfkKXT55KPJJVXgZZiYWXK/img.jpg?width=60&amp;amp;height=30&amp;amp;face=0_0_60_30&quot;&gt;&lt;a href=&quot;https://medium.com/xehub/xe3%EB%A5%BC-%EC%9C%84%ED%95%9C-%EC%9B%B9-%EC%84%9C%EB%B2%84-%EC%84%B8%ED%8C%85-%EA%B0%80%EC%9D%B4%EB%93%9C-7766a3ee6c39&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://medium.com/xehub/xe3%EB%A5%BC-%EC%9C%84%ED%95%9C-%EC%9B%B9-%EC%84%9C%EB%B2%84-%EC%84%B8%ED%8C%85-%EA%B0%80%EC%9D%B4%EB%93%9C-7766a3ee6c39&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/p6P9K/hyGx1PZttH/JEJTZA0eYNcbuG87Q60JwK/img.jpg?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600,https://scrap.kakaocdn.net/dn/eYgeh/hyGx2nPzg5/U3KIY8LvFXAyjuHb4Z592k/img.png?width=60&amp;amp;height=33&amp;amp;face=0_0_60_33,https://scrap.kakaocdn.net/dn/8QWAA/hyGw6rQcyi/RfkKXT55KPJJVXgZZiYWXK/img.jpg?width=60&amp;amp;height=30&amp;amp;face=0_0_60_30');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;XE3를 위한 웹 서버 세팅 가이드&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;#창작자와 기술기업을 위한 문서&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;medium.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1593008778019&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;university&quot; data-og-title=&quot;NGINX-PHP-MySQL 설치 - NGINX&quot; data-og-description=&quot;CGI CGI는 Common Gateway Interface의 약자로 웹서버와 외부 프로그램을 연결해주는 표준화된 프로토콜이다. 웹이 처음 등장했을 때는 HTML과&amp;nbsp;이미지를 전달해주는 웹서버 밖에 없었다. 하지만 웹에 대��&quot; data-og-host=&quot;opentutorials.org&quot; data-og-source-url=&quot;https://opentutorials.org/module/384/4332&quot; data-og-url=&quot;https://opentutorials.org/module/384/4332&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://opentutorials.org/module/384/4332&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://opentutorials.org/module/384/4332&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;NGINX-PHP-MySQL 설치 - NGINX&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;CGI CGI는 Common Gateway Interface의 약자로 웹서버와 외부 프로그램을 연결해주는 표준화된 프로토콜이다. 웹이 처음 등장했을 때는 HTML과&amp;nbsp;이미지를 전달해주는 웹서버 밖에 없었다. 하지만 웹에 대��&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;opentutorials.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;figure id=&quot;og_1593009377598&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Nginx + PHP 최신 버전 연동&quot; data-og-description=&quot;2019-04-18 14:54 최초 작성 차기버전 개발 시작에 앞서 새로운 설치 패키지를 만들며 PHP 버전을 7.3.4로 올렸다. (기존 7.2.6) 인터넷에 떠도는 글은 많지만 대부분 7.0 혹은 7.2를 대상으로 한 글이기 때�&quot; data-og-host=&quot;blog.huiya.me&quot; data-og-source-url=&quot;https://blog.huiya.me/4&quot; data-og-url=&quot;https://blog.huiya.me/4&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/uISS8/hyGwZlXpzm/sUj3Nq6kiEwIUeTIAW4I71/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/Y3QRK/hyGycDZyam/rifhVK4Dc6QoICXwYYBaO0/img.jpg?width=1920&amp;amp;height=1280&amp;amp;face=0_0_1920_1280,https://scrap.kakaocdn.net/dn/jRkgX/hyGw5sZKyV/WZGqERPRXK7K5DwRh8eEwK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800&quot;&gt;&lt;a href=&quot;https://blog.huiya.me/4&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://blog.huiya.me/4&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/uISS8/hyGwZlXpzm/sUj3Nq6kiEwIUeTIAW4I71/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/Y3QRK/hyGycDZyam/rifhVK4Dc6QoICXwYYBaO0/img.jpg?width=1920&amp;amp;height=1280&amp;amp;face=0_0_1920_1280,https://scrap.kakaocdn.net/dn/jRkgX/hyGw5sZKyV/WZGqERPRXK7K5DwRh8eEwK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Nginx + PHP 최신 버전 연동&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;2019-04-18 14:54 최초 작성 차기버전 개발 시작에 앞서 새로운 설치 패키지를 만들며 PHP 버전을 7.3.4로 올렸다. (기존 7.2.6) 인터넷에 떠도는 글은 많지만 대부분 7.0 혹은 7.2를 대상으로 한 글이기 때�&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;blog.huiya.me&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>IT/서버</category>
      <author>nadadhl</author>
      <guid isPermaLink="true">https://iamrealizer.tistory.com/51</guid>
      <comments>https://iamrealizer.tistory.com/51#entry51comment</comments>
      <pubDate>Wed, 24 Jun 2020 23:27:31 +0900</pubDate>
    </item>
    <item>
      <title>nginx  한글 깨짐 문제 해결하기</title>
      <link>https://iamrealizer.tistory.com/50</link>
      <description>&lt;p&gt;웹 서버로&amp;nbsp; nginx를&amp;nbsp; &amp;nbsp;설치하고,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;기존에 있던&amp;nbsp; index.html 에&amp;nbsp; 한글을&amp;nbsp; 넣어 보았다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;??&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그런데 아래처럼&amp;nbsp; 깨지는 현상이 발생함.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-filename=&quot;2020-06-24T12_59_57.png&quot; data-origin-width=&quot;292&quot; data-origin-height=&quot;178&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bC2sN5/btqE6w0f1Ex/D6sj1ffSPEuJxIfzMnlb40/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bC2sN5/btqE6w0f1Ex/D6sj1ffSPEuJxIfzMnlb40/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bC2sN5/btqE6w0f1Ex/D6sj1ffSPEuJxIfzMnlb40/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbC2sN5%2FbtqE6w0f1Ex%2FD6sj1ffSPEuJxIfzMnlb40%2Fimg.png&quot; data-filename=&quot;2020-06-24T12_59_57.png&quot; data-origin-width=&quot;292&quot; data-origin-height=&quot;178&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이는&amp;nbsp; nginx 인코딩 자체가&amp;nbsp; 한글을 지원하지 않기 때문임.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그래서&amp;nbsp; &amp;nbsp; nginx.conf 부분 중&amp;nbsp; http 에&amp;nbsp; 아래 인코딩 내용을 추가시켜준다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp; charset&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; utf-8;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp; &lt;/b&gt;&lt;b&gt;server {&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; charset&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;utf-8;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;적용한 모습&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmcJaT/btqE6kMur6X/fEDx3iWxHOvaJ5kCMZfcdK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmcJaT/btqE6kMur6X/fEDx3iWxHOvaJ5kCMZfcdK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmcJaT/btqE6kMur6X/fEDx3iWxHOvaJ5kCMZfcdK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmcJaT%2FbtqE6kMur6X%2FfEDx3iWxHOvaJ5kCMZfcdK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그다음&amp;nbsp; systemctl restart nginx 로 웹서버&amp;nbsp; 다시 시작 시켜주고,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;브라우져에서 다시 확인함.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cNab0h/btqE6LCU1o2/tmTdNAZ3n1KnBAnUipU5I0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cNab0h/btqE6LCU1o2/tmTdNAZ3n1KnBAnUipU5I0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cNab0h/btqE6LCU1o2/tmTdNAZ3n1KnBAnUipU5I0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcNab0h%2FbtqE6LCU1o2%2FtmTdNAZ3n1KnBAnUipU5I0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&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;/h2&gt;</description>
      <category>IT/에러 해결</category>
      <category>nginx</category>
      <category>nginx 한글 깨짐</category>
      <category>utf8 인코딩</category>
      <author>nadadhl</author>
      <guid isPermaLink="true">https://iamrealizer.tistory.com/50</guid>
      <comments>https://iamrealizer.tistory.com/50#entry50comment</comments>
      <pubDate>Wed, 24 Jun 2020 15:52:20 +0900</pubDate>
    </item>
    <item>
      <title>VSCode (Visual Studio Code)  서버  sftp 연결</title>
      <link>https://iamrealizer.tistory.com/49</link>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;1. Vscode &lt;/span&gt;&lt;span&gt;가&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;설치되어있었고&lt;/span&gt;&lt;span&gt;,&lt;span&gt;&amp;nbsp; &lt;/span&gt;sftp &lt;/span&gt;&lt;span&gt;플러그인도&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;설치가&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;되어있는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;상황 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 왼쪽&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;네비게이터에서&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp; extension&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;으로&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;들어가서&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp; f1 &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;누르면&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp; 설치했던&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;sftp.json&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;파일&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;만들어짐&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; -&amp;gt; &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;여기서&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;해당&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;서버&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;정보넣어줘야됨&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;499&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lFyda/btqE6ksaHRg/6DNwszvl0kZCAAeDMDNXB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lFyda/btqE6ksaHRg/6DNwszvl0kZCAAeDMDNXB0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lFyda/btqE6ksaHRg/6DNwszvl0kZCAAeDMDNXB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlFyda%2FbtqE6ksaHRg%2F6DNwszvl0kZCAAeDMDNXB0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;499&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HVAxW/btqE7BNgePX/pBNbiBGyLaFCkjmhvbHa51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HVAxW/btqE7BNgePX/pBNbiBGyLaFCkjmhvbHa51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HVAxW/btqE7BNgePX/pBNbiBGyLaFCkjmhvbHa51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHVAxW%2FbtqE7BNgePX%2FpBNbiBGyLaFCkjmhvbHa51%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. &lt;span&gt;나는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;아래와&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;같이&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;넣어줌&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mS69Q/btqE41NTI3k/RA0qKnZaXDEksr4yWsal41/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mS69Q/btqE41NTI3k/RA0qKnZaXDEksr4yWsal41/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mS69Q/btqE41NTI3k/RA0qKnZaXDEksr4yWsal41/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmS69Q%2FbtqE41NTI3k%2FRA0qKnZaXDEksr4yWsal41%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;3. 이렇게 하고&amp;nbsp; 저장하니까&amp;nbsp; 해당 서버 위치에&amp;nbsp; root document 연결됨.&lt;/p&gt;
&lt;p&gt;그런데,&amp;nbsp; 파일 업로드나&amp;nbsp; 다운로드가 안되었음&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;permission denied 에러가 뜸.&lt;/p&gt;
&lt;p&gt;권한 문제 인듯&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LXA0a/btqE7AgwZDr/YMforJKauR8nSVVNHflLv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LXA0a/btqE7AgwZDr/YMforJKauR8nSVVNHflLv0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LXA0a/btqE7AgwZDr/YMforJKauR8nSVVNHflLv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLXA0a%2FbtqE7AgwZDr%2FYMforJKauR8nSVVNHflLv0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;그래서&amp;nbsp; 해당&amp;nbsp; /usr/share/nginx/html 폴더의&amp;nbsp; 권한을&amp;nbsp; chomd -R 777 html&amp;nbsp;&lt;/p&gt;
&lt;p&gt;로&amp;nbsp; 바꿔줌.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;아래&amp;nbsp; 참고 해서 해결함.&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1592979841082&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[AWS / VSCode] VSCode를 이용해서 원격으로 AWS EC2 파일 수정&quot; data-og-description=&quot;VSCode를 이용해서 AWS EC2내에 파일을 원격으로 수정하는 방법을 소개해드릴려고합니다. 요즘 VSCode 에디터도 핫한거 같고.. 새로운 환경에서 개발을 할일이 생겨서 해보려고하는데 저도 환경 구축&quot; data-og-host=&quot;share4share.tistory.com&quot; data-og-source-url=&quot;https://share4share.tistory.com/32&quot; data-og-url=&quot;https://share4share.tistory.com/32&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cWSgqx/hyGw8pk0OR/wgDPpFL20edUVZhFQJksoK/img.png?width=489&amp;amp;height=312&amp;amp;face=0_0_489_312,https://scrap.kakaocdn.net/dn/9Z43Z/hyGwXH7S51/qIl5NCxkAz5gmSd0ocuOg0/img.png?width=489&amp;amp;height=312&amp;amp;face=0_0_489_312,https://scrap.kakaocdn.net/dn/hCNxy/hyGw41y1Tz/B8mChCJhTaXn2Xn2UyUThk/img.png?width=800&amp;amp;height=339&amp;amp;face=0_0_800_339&quot;&gt;&lt;a href=&quot;https://share4share.tistory.com/32&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://share4share.tistory.com/32&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cWSgqx/hyGw8pk0OR/wgDPpFL20edUVZhFQJksoK/img.png?width=489&amp;amp;height=312&amp;amp;face=0_0_489_312,https://scrap.kakaocdn.net/dn/9Z43Z/hyGwXH7S51/qIl5NCxkAz5gmSd0ocuOg0/img.png?width=489&amp;amp;height=312&amp;amp;face=0_0_489_312,https://scrap.kakaocdn.net/dn/hCNxy/hyGw41y1Tz/B8mChCJhTaXn2Xn2UyUThk/img.png?width=800&amp;amp;height=339&amp;amp;face=0_0_800_339');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;[AWS / VSCode] VSCode를 이용해서 원격으로 AWS EC2 파일 수정&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;VSCode를 이용해서 AWS EC2내에 파일을 원격으로 수정하는 방법을 소개해드릴려고합니다. 요즘 VSCode 에디터도 핫한거 같고.. 새로운 환경에서 개발을 할일이 생겨서 해보려고하는데 저도 환경 구축&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;share4share.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;그랬더니, 성공 !&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;끝~&lt;/p&gt;</description>
      <category>IT/서버</category>
      <author>nadadhl</author>
      <guid isPermaLink="true">https://iamrealizer.tistory.com/49</guid>
      <comments>https://iamrealizer.tistory.com/49#entry49comment</comments>
      <pubDate>Wed, 24 Jun 2020 15:23:18 +0900</pubDate>
    </item>
  </channel>
</rss>