<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>UNO 개발자 일기</title>
    <link>https://unodev.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Sat, 22 Aug 2026 13:38:13 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>UNO TV</managingEditor>
    <image>
      <title>UNO 개발자 일기</title>
      <url>https://tistory1.daumcdn.net/tistory/4084736/attach/03b7c351cf3242bc94ec1a72978c05bd</url>
      <link>https://unodev.tistory.com</link>
    </image>
    <item>
      <title>[Linux]맨날 까먹는 가상환경 venv 모듈 정리</title>
      <link>https://unodev.tistory.com/20</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 venv 모듈 설치 확인&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;python -m venv&lt;br /&gt;python2 -m venv&lt;br /&gt;python3 - m venv&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가상 환경만을 위한 폴더를 만들고 시작하는 것이 관리하기가 편하다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;cd /home/ubuntu/&lt;br /&gt;mkdir VENV&lt;br /&gt;cd VENV/&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;python3 버전으로 가상 환경 test를 만든다&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;python3 -m venv test&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;test 가상 환경 진입&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;source /home/ubuntu/VENV/test/bin/activate&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가상 환경이 잘 생성되었다면 프롬프트에 (test)가 표시된다&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;(test)$ python3 -V&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가상 환경 종료&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;deactivate&lt;/blockquote&gt;</description>
      <category>Do! 개발</category>
      <category>Linux</category>
      <category>linux venv</category>
      <category>ubuntu</category>
      <category>venv</category>
      <category>virtualenv</category>
      <category>가상환경</category>
      <category>리눅스</category>
      <category>리눅스 가상환경</category>
      <category>아나콘다 가상환경</category>
      <category>우분투 가상환경</category>
      <author>UNO TV</author>
      <guid isPermaLink="true">https://unodev.tistory.com/20</guid>
      <comments>https://unodev.tistory.com/20#entry20comment</comments>
      <pubDate>Sat, 12 Jun 2021 13:54:59 +0900</pubDate>
    </item>
    <item>
      <title>[정부지원사업] 2021년 실전창업교육 한양대학교 2단계 선정</title>
      <link>https://unodev.tistory.com/19</link>
      <description>&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;먼저 시작하기 앞서 &lt;span style=&quot;color: #ee2323;&quot;&gt;실전창업교육이 무엇이고 어떤 혜택이 있는지&lt;/span&gt; 짚어보겠다.&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;833&quot; data-origin-height=&quot;269&quot; data-filename=&quot;20210525132419.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c4yetM/btq5DaLmmbX/p2hwJgeA5xP1PDpv49uw2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c4yetM/btq5DaLmmbX/p2hwJgeA5xP1PDpv49uw2k/img.png&quot; data-alt=&quot;중소벤처기업부 왈&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c4yetM/btq5DaLmmbX/p2hwJgeA5xP1PDpv49uw2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc4yetM%2Fbtq5DaLmmbX%2Fp2hwJgeA5xP1PDpv49uw2k%2Fimg.png&quot; data-origin-width=&quot;833&quot; data-origin-height=&quot;269&quot; data-filename=&quot;20210525132419.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;중소벤처기업부 왈&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;기술창업자를 육성하는 것을 목표&lt;/span&gt;로 한다고 한다.&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;561&quot; data-origin-height=&quot;84&quot; data-filename=&quot;20210525132440.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/banOkb/btq5HDeYjqg/jq8d45Spw78aGMLkKlHi0K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/banOkb/btq5HDeYjqg/jq8d45Spw78aGMLkKlHi0K/img.png&quot; data-alt=&quot;관심있으면 7월에 지원해보는 것을 추천한다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/banOkb/btq5HDeYjqg/jq8d45Spw78aGMLkKlHi0K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbanOkb%2Fbtq5HDeYjqg%2Fjq8d45Spw78aGMLkKlHi0K%2Fimg.png&quot; data-origin-width=&quot;561&quot; data-origin-height=&quot;84&quot; data-filename=&quot;20210525132440.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;관심있으면 7월에 지원해보는 것을 추천한다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;제출서류는 단 2장의 사업계획서 요약서였다. 왠만한 정부지원사업(예창패 같은)은&lt;/h4&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;사업계획서 10장에서 20장까지 제출을 요구하는데 여기서는&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt; 2장만을 요구&lt;/span&gt;&lt;/b&gt;해서&lt;/h4&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;더 집중해서 작성했던 것 같다.&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;708&quot; data-origin-height=&quot;503&quot; data-filename=&quot;20210525132546.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRBktU/btq5LHm9WEY/PPxepK4wFLuiKZyzdACIIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRBktU/btq5LHm9WEY/PPxepK4wFLuiKZyzdACIIK/img.png&quot; data-alt=&quot;주관기관은 총 5개로 필자는 한양대학교로 지원하였다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRBktU/btq5LHm9WEY/PPxepK4wFLuiKZyzdACIIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRBktU%2Fbtq5LHm9WEY%2FPPxepK4wFLuiKZyzdACIIK%2Fimg.png&quot; data-origin-width=&quot;708&quot; data-origin-height=&quot;503&quot; data-filename=&quot;20210525132546.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;주관기관은 총 5개로 필자는 한양대학교로 지원하였다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;5개 주관기관에서 약 200명씩 나누어서 교육을 진행한다. 한양대학교 기준으로는&lt;/h4&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;단톡방에서 약 230명 정도 있던 것으로 기억한다.&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;814&quot; data-origin-height=&quot;241&quot; data-filename=&quot;20210525132454.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QAyVw/btq5JDFjWqt/jgqDTZ68h3ljeQuVfSfd3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QAyVw/btq5JDFjWqt/jgqDTZ68h3ljeQuVfSfd3K/img.png&quot; data-alt=&quot;코로나인데 오프라인..?&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QAyVw/btq5JDFjWqt/jgqDTZ68h3ljeQuVfSfd3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQAyVw%2Fbtq5JDFjWqt%2FjgqDTZ68h3ljeQuVfSfd3K%2Fimg.png&quot; data-origin-width=&quot;814&quot; data-origin-height=&quot;241&quot; data-filename=&quot;20210525132454.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;코로나인데 오프라인..?&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;821&quot; data-origin-height=&quot;749&quot; data-filename=&quot;20210525132508.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cl7UDH/btq5FgEBfGH/qShtkX71zbkFTv0Rj59fZk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cl7UDH/btq5FgEBfGH/qShtkX71zbkFTv0Rj59fZk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cl7UDH/btq5FgEBfGH/qShtkX71zbkFTv0Rj59fZk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcl7UDH%2Fbtq5FgEBfGH%2FqShtkX71zbkFTv0Rj59fZk%2Fimg.png&quot; data-origin-width=&quot;821&quot; data-origin-height=&quot;749&quot; data-filename=&quot;20210525132508.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;1단계 1,000명 모집에 선정되면 온라인 교육을 받게 된다. 이 교육은 100% 수료를 해야지만&lt;/h4&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;다음 단계로 넘어갈 수 있었기에 ZOOM으로 진행되는 수업 정해진 시간에 참여했었다.&lt;/h4&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;수업 커리큘럼은 정말로 알차다. 교육에 특화되어 있는 지원사업이다보니&lt;/h4&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;창업 입문부터 심화까지 훓어주는 것이 도움이 많이 되었다.&amp;nbsp;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;2단계로 가기위한 평가로 최초 제출했던 사업계획서 수정본을 요구하였다.&lt;/h4&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;최대 5장의 서류를 기간내에 제출하면 평가를 통해 선발한다는 공지를 받았다.&lt;/h4&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;2단계는 사업화 지원금으로 500만원을 지원한다.&lt;/h4&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;사업계획서 1장의 가치는 100만원의 가치가 있다는 것을 알아야한다.&lt;/span&gt; &lt;/b&gt;&lt;/h4&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;필자는 5장의 사업계획서와 1장의 붙임자료를 첨부하여 2단계에 선정되었다.&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;578&quot; data-origin-height=&quot;187&quot; data-filename=&quot;20210525135437.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/B6dpM/btq5GZ3h5L0/s5q7I2XYPevWanwt0zNPe0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/B6dpM/btq5GZ3h5L0/s5q7I2XYPevWanwt0zNPe0/img.png&quot; data-alt=&quot;선정 이메일 일부분&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/B6dpM/btq5GZ3h5L0/s5q7I2XYPevWanwt0zNPe0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FB6dpM%2Fbtq5GZ3h5L0%2Fs5q7I2XYPevWanwt0zNPe0%2Fimg.png&quot; data-origin-width=&quot;578&quot; data-origin-height=&quot;187&quot; data-filename=&quot;20210525135437.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;선정 이메일 일부분&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;693&quot; data-origin-height=&quot;737&quot; data-filename=&quot;20210525132535.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mKuc3/btq5G0OAKIZ/1P5JLt061qUaJqLPLzsHok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mKuc3/btq5G0OAKIZ/1P5JLt061qUaJqLPLzsHok/img.png&quot; data-alt=&quot;약 10:1 경쟁률이다&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mKuc3/btq5G0OAKIZ/1P5JLt061qUaJqLPLzsHok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmKuc3%2Fbtq5G0OAKIZ%2F1P5JLt061qUaJqLPLzsHok%2Fimg.png&quot; data-origin-width=&quot;693&quot; data-origin-height=&quot;737&quot; data-filename=&quot;20210525132535.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;약 10:1 경쟁률이다&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;2단계에서는 1,000명 중에서 100명 선발, 3단계에서는 100명 10명 선발.&lt;/h4&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;경쟁률 높은 프로그램인 것은 확실하다.&lt;/h4&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;한양대학교 기준으로 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;25명이 선발&lt;/b&gt;&lt;/span&gt;된 것을 확인할 수 있었다. 교육은 5월 28일에&lt;/h4&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;오프라인으로 시작하며 2단계에 가장 큰 혜택은&lt;/h4&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;사업화 지원금 최대 5백만원을 지원&lt;/b&gt;&lt;/span&gt;해준다는 것이다.&lt;/h4&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;이제 2단계 교육을 받으면서 주어진 사업화자금을 어떻게 사용할지 계획하고&lt;/h4&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;3단계 선정을 위해서 더 최선을 다해서 준비해야될 것 같다.&lt;/h4&gt;</description>
      <category>Do! 창업</category>
      <category>사업계획서</category>
      <category>실전창업교육</category>
      <category>실전창업교육 지원금</category>
      <category>실전창업교육후기</category>
      <category>예비창업가</category>
      <category>예비창업패키지</category>
      <category>예창패</category>
      <category>정부지원사업</category>
      <category>한양대학교 창업</category>
      <category>한양대학교 창업지원단</category>
      <author>UNO TV</author>
      <guid isPermaLink="true">https://unodev.tistory.com/19</guid>
      <comments>https://unodev.tistory.com/19#entry19comment</comments>
      <pubDate>Tue, 25 May 2021 13:56:40 +0900</pubDate>
    </item>
    <item>
      <title>[쿠버네티스] 쿠버네티스를 공부해보자 - 1</title>
      <link>https://unodev.tistory.com/18</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;451&quot; data-origin-height=&quot;346&quot; data-filename=&quot;kubernetes-logo.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/boBkcL/btq5i26JIIh/G3FQMiFh5YjgGI88kTXblK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/boBkcL/btq5i26JIIh/G3FQMiFh5YjgGI88kTXblK/img.png&quot; data-alt=&quot;원피스가 생각난다&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/boBkcL/btq5i26JIIh/G3FQMiFh5YjgGI88kTXblK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboBkcL%2Fbtq5i26JIIh%2FG3FQMiFh5YjgGI88kTXblK%2Fimg.png&quot; data-origin-width=&quot;451&quot; data-origin-height=&quot;346&quot; data-filename=&quot;kubernetes-logo.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;원피스가 생각난다&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;도커도 어려운데 쿠버네티스라는 것을 알게되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;많은 기업들이 쿠버네티스를 사용하고 있다는 말에 공부를 시작해본다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;쿠버네티스는 무엇인가?&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;컨테이너화된 애플리케이션을 효율적으로 배포하고 운영하기 위해 설계된 오픈 소스&lt;/h3&gt;
&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;플랫폼이다.&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;개발자들 위한, 개발자들을 위해, 개발자들에 의해 만들어진 개발자에게 매우 실용적이고 필요한 플랫폼&lt;/b&gt;이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발자들은 환경설정에 애를 먹는다. 특히 오픈 소스의 버전...&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;덕분에 개발자들 서로 다른 버전을 사용하는 상황도 발생하여 환경의 차이로 개발 생산성과 안전성이 떨어질 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 나오게된 컨테이너 기술은 애플리케이션 실행에 필요한 라이브러리나 운영체제 패키지 등을 한 곳에 모두 담는다. 이것을 개발들 서로 공유하여 환경을 맞춘다면 테스트와 운영 환경 간의 차이를 없앨 수 있어 개발 생산성을 높이고, 서비스를 안정적으로 배포할 수 있게 되는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;쿠버네티스의 시작은 구글(역시 갓)의 사내 운영 시스템인 Borg를 오픈 소스로 만든 것이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;크게 다음과 같은 기능을 제공한다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;배포 계획에 맞춰 애플리케이션을 신속하게 배포할 수 있다&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;가동 중인 애플리케이션을 스케일 업/다운할 수 있다.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;새로운 버전의 애플리케이션을 무정지로 업그리에드 할 수 있다.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;하드웨어 가동률을 높여 자원 낭비를 줄인다.&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특징으로는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;다양한 환경에서 사용 가능&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;계속되는 변화를 전제로 설계된 높은 유연성과 확장성&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;고가용성과 성능 관리&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;등이 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아키텍처는 매우 간단하다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;769&quot; data-origin-height=&quot;610&quot; data-filename=&quot;kubernetes-worker-node.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sYZPf/btq5lyj54Ml/Np0GDMMcd6vyDDpBk7YYO1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sYZPf/btq5lyj54Ml/Np0GDMMcd6vyDDpBk7YYO1/img.png&quot; data-alt=&quot;출처 :&amp;amp;amp;nbsp;https://blog.wonizz.tk/2019/08/16/kubenetes-install-guide/&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sYZPf/btq5lyj54Ml/Np0GDMMcd6vyDDpBk7YYO1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsYZPf%2Fbtq5lyj54Ml%2FNp0GDMMcd6vyDDpBk7YYO1%2Fimg.png&quot; data-origin-width=&quot;769&quot; data-origin-height=&quot;610&quot; data-filename=&quot;kubernetes-worker-node.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출처 :&amp;nbsp;https://blog.wonizz.tk/2019/08/16/kubenetes-install-guide/&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마스터는 kubectl과 같은 API 클라이언트로부터 요청을 받아서 애플리케이션의 배포, 스케일 업/다운, 컨테이너의 버전 업 등의 요구를 처리한다.&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>Do! 개발</category>
      <category>docker</category>
      <category>kubernetes</category>
      <category>도커</category>
      <category>도커란</category>
      <category>서버</category>
      <category>쿠버네티스</category>
      <category>쿠버네티스 아키텍쳐</category>
      <category>쿠버네티스란</category>
      <author>UNO TV</author>
      <guid isPermaLink="true">https://unodev.tistory.com/18</guid>
      <comments>https://unodev.tistory.com/18#entry18comment</comments>
      <pubDate>Thu, 20 May 2021 12:02:18 +0900</pubDate>
    </item>
    <item>
      <title>[Docker] nginx 이미지 생성하기</title>
      <link>https://unodev.tistory.com/17</link>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Dockerfile은 Docker 이미지 설정 파일이다. Dockerfile에 설정된 내용대로 이미지가 생성된다.&lt;/p&gt;
&lt;p&gt;파일 생성을 위해 새로운 디렉토리를 만들었다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;~$ mkdir example&lt;br /&gt;~$ cd example&lt;br /&gt;~/example$ vi Dockerfile&lt;/blockquote&gt;
&lt;p&gt;Dockerfile에 다음과 같이 적었다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;FROM ubuntu:16.04 &lt;br /&gt;MAINTAINER PSY &amp;lt;psy@naver.com&amp;gt; &lt;br /&gt;&lt;br /&gt;RUN apt-get update &lt;br /&gt;RUN apt-get install -y nginx &lt;br /&gt;RUN echo &quot;\ndaemon off;&quot; &amp;gt;&amp;gt; /etc/nginx/nginx.conf &lt;br /&gt;RUN chown -R www-data:www-data /var/lib/nginx &lt;br /&gt;&lt;br /&gt;VOLUME [&quot;/data&quot;, &quot;/etc/nginx/site-enabled&quot;, &quot;/var/log/nginx&quot;] &lt;br /&gt;&lt;br /&gt;WORKDIR /etc/nginx &lt;br /&gt;CMD [&quot;nginx&quot;] &lt;br /&gt;&lt;br /&gt;EXPOSE 80 &lt;br /&gt;EXPOSE 13000&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333;&quot;&gt;필자는 Ubuntu 16.04 버전을 사용함으로 FROM에 16.04로 적었다.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;MAINTAINER은 이미지를 생성한 사람의 정보를 설정하는 것이다. 보통 이름과 이메일을 입력한다.&lt;/li&gt;
&lt;li&gt;RUN은 명령을 실행한다.&lt;/li&gt;
&lt;li&gt;'install -y nginx'에서 -y 옵션은 이미지 생성 중에는 사용자 입력을 받을 수 없기 때문이다.&lt;/li&gt;
&lt;li&gt;나머지 RUN 명령어는&amp;nbsp; nginx 설정 명령이다.&lt;/li&gt;
&lt;li&gt;VOLUME은 호스트와 고유할 디렉토리 목록이다.&lt;/li&gt;
&lt;li&gt;CMD는 컨테이나가 시작되었을 때 실행한 실행 파일 또는 셸 스크립트이다.&lt;/li&gt;
&lt;li&gt;EXPOSE: 호스트와 연결할 포트 번호이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;sudo docker build --tag hello:0.1 .&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;docker build &amp;lt;옵션&amp;gt; &amp;lt;Dockerfile 경로&amp;gt; 형식이다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;--tag 옵션으로 이미지 이름과 태그를 설정할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;1.jpg&quot; data-origin-width=&quot;733&quot; data-origin-height=&quot;268&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvNM2a/btq4H9MeMlY/f4L56p6bEnKEuaVyFvKIok/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvNM2a/btq4H9MeMlY/f4L56p6bEnKEuaVyFvKIok/img.jpg&quot; data-alt=&quot;sudo docker build --tag hello:0.1 .&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvNM2a/btq4H9MeMlY/f4L56p6bEnKEuaVyFvKIok/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvNM2a%2Fbtq4H9MeMlY%2Ff4L56p6bEnKEuaVyFvKIok%2Fimg.jpg&quot; data-filename=&quot;1.jpg&quot; data-origin-width=&quot;733&quot; data-origin-height=&quot;268&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;figcaption&gt;sudo docker build --tag hello:0.1 .&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;잠시 기다리면 이미지 파일이 생성된다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;sudo docker images&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;625&quot; data-origin-height=&quot;111&quot; data-filename=&quot;2.jpg&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9sP8N/btq4Hsez9jP/5K1JZpWVYwe6KEq6Go1NV1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9sP8N/btq4Hsez9jP/5K1JZpWVYwe6KEq6Go1NV1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9sP8N/btq4Hsez9jP/5K1JZpWVYwe6KEq6Go1NV1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9sP8N%2Fbtq4Hsez9jP%2F5K1JZpWVYwe6KEq6Go1NV1%2Fimg.jpg&quot; data-origin-width=&quot;625&quot; data-origin-height=&quot;111&quot; data-filename=&quot;2.jpg&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;blockquote data-ke-style=&quot;style3&quot;&gt;sudo docekr run --name hello-nginx -d -p 13000:80 -v /rot/data:/data hello:0.1&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;-d 옵션은 컨테이너를 백그라운드로 실행한다.&lt;/li&gt;
&lt;li&gt;-p 13000:80 옵션은 &lt;span&gt;호스트 시스템의 13000번 포트로 유입되는 트래픽은 모두 도커 컨테이너의 80번 포트로 연결되는 것이다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span&gt;sudo docker ps&lt;/span&gt;&lt;/blockquote&gt;
&lt;p&gt;실행된 컨테이너 목록을 출력한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;3.png&quot; data-origin-width=&quot;736&quot; data-origin-height=&quot;79&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uOd4O/btq4Iadksym/DD5vVKFnBZLtaCnvjmyHQK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uOd4O/btq4Iadksym/DD5vVKFnBZLtaCnvjmyHQK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uOd4O/btq4Iadksym/DD5vVKFnBZLtaCnvjmyHQK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuOd4O%2Fbtq4Iadksym%2FDD5vVKFnBZLtaCnvjmyHQK%2Fimg.png&quot; data-filename=&quot;3.png&quot; data-origin-width=&quot;736&quot; data-origin-height=&quot;79&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;blockquote data-ke-style=&quot;style3&quot;&gt;http://&amp;lt;호스트 IP&amp;gt;:13000&lt;/blockquote&gt;
&lt;p&gt;위 주소로 웹 브라우저에 접속하면 아래와 같은 페이지가 뜨는 것을 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;20210512000231.png&quot; data-origin-width=&quot;547&quot; data-origin-height=&quot;216&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mTRED/btq4F79yBUX/ksBXAgkZy9FWGgkUo6eaf1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mTRED/btq4F79yBUX/ksBXAgkZy9FWGgkUo6eaf1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mTRED/btq4F79yBUX/ksBXAgkZy9FWGgkUo6eaf1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmTRED%2Fbtq4F79yBUX%2FksBXAgkZy9FWGgkUo6eaf1%2Fimg.png&quot; data-filename=&quot;20210512000231.png&quot; data-origin-width=&quot;547&quot; data-origin-height=&quot;216&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;</description>
      <category>Do! 개발</category>
      <category>docker</category>
      <category>docker image</category>
      <category>docker nginx</category>
      <category>linux docker</category>
      <category>nginx</category>
      <category>도커</category>
      <category>도커 사용법</category>
      <category>도커 이미지</category>
      <category>도커 컨테이너</category>
      <category>리눅스 서버</category>
      <author>UNO TV</author>
      <guid isPermaLink="true">https://unodev.tistory.com/17</guid>
      <comments>https://unodev.tistory.com/17#entry17comment</comments>
      <pubDate>Wed, 12 May 2021 00:08:07 +0900</pubDate>
    </item>
    <item>
      <title>[인공지능 프로젝트]대한민국 미아 ZERO 프로젝트</title>
      <link>https://unodev.tistory.com/16</link>
      <description>&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;최종 완료 보고서&lt;/span&gt;&lt;/h3&gt;
&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span&gt;- &lt;/span&gt;&lt;span&gt;대한민국 미아 ZERO&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;프로젝트 &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;image01.png&quot; data-origin-width=&quot;397&quot; data-origin-height=&quot;397&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cbZMjh/btq3UGexGTL/ptos5kmG1C42XiaZLe2sE1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cbZMjh/btq3UGexGTL/ptos5kmG1C42XiaZLe2sE1/img.png&quot; data-alt=&quot;Dearest logo&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cbZMjh/btq3UGexGTL/ptos5kmG1C42XiaZLe2sE1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcbZMjh%2Fbtq3UGexGTL%2Fptos5kmG1C42XiaZLe2sE1%2Fimg.png&quot; data-filename=&quot;image01.png&quot; data-origin-width=&quot;397&quot; data-origin-height=&quot;397&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;figcaption&gt;Dearest logo&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span&gt;멘토 &lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;황희정&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span&gt;팀장 : 박성용&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span&gt;팀원 &lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;김정란&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;엄이정&lt;/span&gt;&lt;span&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;/b&gt;&lt;/h4&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span&gt;목차&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span&gt;1. &lt;/span&gt;&lt;span&gt;프로젝트 배경&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span&gt;2. &lt;/span&gt;&lt;span&gt;프로젝트 소개&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span&gt;3. &lt;/span&gt;&lt;span&gt;시연&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span&gt;4. &lt;/span&gt;&lt;span&gt;사업성&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span&gt;5. &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 data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;image02.png&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;207&quot; width=&quot;701&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bsu7gj/btq3XbEQJ5o/PnMNTskvi7tExeHIxD7HV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bsu7gj/btq3XbEQJ5o/PnMNTskvi7tExeHIxD7HV0/img.png&quot; data-alt=&quot;전체 프로젝트 일정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bsu7gj/btq3XbEQJ5o/PnMNTskvi7tExeHIxD7HV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbsu7gj%2Fbtq3XbEQJ5o%2FPnMNTskvi7tExeHIxD7HV0%2Fimg.png&quot; data-filename=&quot;image02.png&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;207&quot; width=&quot;701&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;figcaption&gt;전체 프로젝트 일정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;프로젝트 일정&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span&gt;1. &lt;/span&gt;&lt;span&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;&lt;span&gt; &lt;/span&gt;&lt;span&gt;미아는 절대로 생겨서는 안 된다는 가치를 두고 있습니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;span&gt;아이를 잃어버린 가족은 정말 큰 고통을 경험하게 됩니다&lt;/span&gt;&lt;span&gt;. 42390&lt;/span&gt;&lt;span&gt;명은 &lt;/span&gt;&lt;span&gt;2019&lt;/span&gt;&lt;span&gt;년 우리나라에서 발생한 전체 실종 건수입니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;전체 실종 건수의 약 &lt;/span&gt;&lt;span&gt;50.8% 21551&lt;/span&gt;&lt;span&gt;명은 아동 실종이었습니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;span&gt;이 수치는 시간당 약 &lt;/span&gt;&lt;span&gt;2.5&lt;/span&gt;&lt;span&gt;명의 실종아동이 지금 이 순간에도 발생하고 있다는 것을 의미합니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;우리나라는 미아 문제에 대응하기 위해 다양한 제도를 시행하고 있습니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;span&gt;대표적으로 지문 사전등록제와 폴리스캐치가 있습니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;span&gt;두 제도 모두 다 훌륭한 제도이지만 한계점이 존재합니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;span&gt;지문 사전등록제는 &lt;/span&gt;&lt;span&gt;2020&lt;/span&gt;&lt;span&gt;년 &lt;/span&gt;&lt;span&gt;4&lt;/span&gt;&lt;span&gt;월 기준 &lt;/span&gt;&lt;span&gt;51.4%&lt;/span&gt;&lt;span&gt;에 불과합니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;span&gt;그리고 생각보다 낮은 평균등록률을 보입니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;span&gt;폴리스캐치는 사람이 직접 몽타주를 그리기 때문에 하나를 제작하는 데 &lt;/span&gt;&lt;span&gt;3~4&lt;/span&gt;&lt;span&gt;주가 소요된다는 문제점이 있습니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;지난 &lt;/span&gt;&lt;span&gt;39&lt;/span&gt;&lt;span&gt;년간 단 한 차례도 미아에 관한 공익광고가 제작되지 않았다는 것은 우리나라 국민이 미아 문제에 대해 안일하게 생각했음을 보여주는 지표입니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이에 저희 &lt;/span&gt;&lt;span&gt;Dearest &lt;/span&gt;&lt;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 data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span&gt;2. &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 data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;- &lt;/span&gt;&lt;span&gt;프로젝트명 &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span&gt;대한민국 미아 &lt;/span&gt;&lt;span&gt;ZERO &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 data-ke-size=&quot;size16&quot;&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;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;image03.png&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;319&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/N2lGD/btq34fzEVXP/skqvezIMkypGO04uPQV16K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/N2lGD/btq34fzEVXP/skqvezIMkypGO04uPQV16K/img.png&quot; data-alt=&quot;시스템 프로세스 순서도&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/N2lGD/btq34fzEVXP/skqvezIMkypGO04uPQV16K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FN2lGD%2Fbtq34fzEVXP%2FskqvezIMkypGO04uPQV16K%2Fimg.png&quot; data-filename=&quot;image03.png&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;319&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;figcaption&gt;시스템 프로세스 순서도&lt;/figcaption&gt;
&lt;/figure&gt;
&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;&lt;span&gt;회원관리와 미아 등록이 메인 기능이며 미아 관리,, 소개&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;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;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;소개&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;회원관리가 있습니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;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 alignCenter&quot; data-filename=&quot;image04.png&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;319&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cfjrvY/btq34fTY2Rc/kzHIjbukbJERjEeayj91P1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cfjrvY/btq34fTY2Rc/kzHIjbukbJERjEeayj91P1/img.png&quot; data-alt=&quot;웹 시스템 구조도&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cfjrvY/btq34fTY2Rc/kzHIjbukbJERjEeayj91P1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcfjrvY%2Fbtq34fTY2Rc%2FkzHIjbukbJERjEeayj91P1%2Fimg.png&quot; data-filename=&quot;image04.png&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;319&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;figcaption&gt;웹 시스템 구조도&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;image05.png&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;319&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YEVhh/btq3YLzb9gR/2cKxghUX2g9bnnqqoqXmi0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YEVhh/btq3YLzb9gR/2cKxghUX2g9bnnqqoqXmi0/img.png&quot; data-alt=&quot;미아등록 흐름도&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YEVhh/btq3YLzb9gR/2cKxghUX2g9bnnqqoqXmi0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYEVhh%2Fbtq3YLzb9gR%2F2cKxghUX2g9bnnqqoqXmi0%2Fimg.png&quot; data-filename=&quot;image05.png&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;319&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;figcaption&gt;미아등록 흐름도&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;- GAN&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;GAN&lt;/span&gt;&lt;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;GAN&lt;/span&gt;&lt;span&gt;에서 파생되는 다양한 기술들이 있습니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;span&gt;저희는 그 중 &lt;/span&gt;&lt;span&gt;Cycle GAN&lt;/span&gt;&lt;span&gt;을 사용하였습니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Cycle GAN&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 alignCenter&quot; data-filename=&quot;image06.png&quot; data-origin-width=&quot;563&quot; data-origin-height=&quot;291&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBaqFz/btq3UHxKv4X/NymhRTbItSr3vnhAuqRTvk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBaqFz/btq3UHxKv4X/NymhRTbItSr3vnhAuqRTvk/img.png&quot; data-alt=&quot;GAN 종류&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBaqFz/btq3UHxKv4X/NymhRTbItSr3vnhAuqRTvk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBaqFz%2Fbtq3UHxKv4X%2FNymhRTbItSr3vnhAuqRTvk%2Fimg.png&quot; data-filename=&quot;image06.png&quot; data-origin-width=&quot;563&quot; data-origin-height=&quot;291&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;figcaption&gt;GAN 종류&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span&gt;엄이정 팀원의 어린 시절 사진을 넣어 &lt;/span&gt;&lt;span&gt;20&lt;/span&gt;&lt;span&gt;대 예측 사진을 생성하는 모델입니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;span&gt;아이 이미지를 넣으면 생성자는 &lt;/span&gt;&lt;span&gt;20&lt;/span&gt;&lt;span&gt;대 이미지를 생성합니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;span&gt;생성자가 생성한 이미지를 식별자가 &lt;/span&gt;&lt;span&gt;true false&lt;/span&gt;&lt;span&gt;로 판단합니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;span&gt;다시 생성된 이미지로 원래 이미지로 만듭니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;span&gt;이때 또한 식별자가 &lt;/span&gt;&lt;span&gt;true false&lt;/span&gt;&lt;span&gt;를 판단합니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;span&gt;이 모습이 사이클처럼 돌아간다고 하여 &lt;/span&gt;&lt;span&gt;Cycle GAN&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 alignCenter&quot; data-filename=&quot;image07.png&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;314&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8UkzL/btq309T25tv/KlCkBgeGFqIpZ5BznMpNok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8UkzL/btq309T25tv/KlCkBgeGFqIpZ5BznMpNok/img.png&quot; data-alt=&quot;팀원 엄이정의 어린 시절 사진으로 현재 모습 예측 프로세스&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8UkzL/btq309T25tv/KlCkBgeGFqIpZ5BznMpNok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8UkzL%2Fbtq309T25tv%2FKlCkBgeGFqIpZ5BznMpNok%2Fimg.png&quot; data-filename=&quot;image07.png&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;314&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;figcaption&gt;팀원 엄이정의 어린 시절 사진으로 현재 모습 예측 프로세스&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;화면 캡처 2021-05-03 152912.png&quot; data-origin-width=&quot;1190&quot; data-origin-height=&quot;618&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1VCNP/btq36yMg82n/hzOkTxPEeecxS8f4khkDJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1VCNP/btq36yMg82n/hzOkTxPEeecxS8f4khkDJ1/img.png&quot; data-alt=&quot;좌: 현재 모습 우: 예측 모습&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1VCNP/btq36yMg82n/hzOkTxPEeecxS8f4khkDJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1VCNP%2Fbtq36yMg82n%2FhzOkTxPEeecxS8f4khkDJ1%2Fimg.png&quot; data-filename=&quot;화면 캡처 2021-05-03 152912.png&quot; data-origin-width=&quot;1190&quot; data-origin-height=&quot;618&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;figcaption&gt;좌: 현재 모습 우: 예측 모습&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;- 생성자 코드&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span&gt;def generator_resnet(image, options, reuse=False, name=&quot;generator&quot;):&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;with tf.variable_scope(name):&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;if reuse:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;tf.get_variable_scope().reuse_variables()&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;else:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;assert tf.get_variable_scope().reuse is False&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;def residule_block(x, dim, ks=3, s=1, name='res'):&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;p = int((ks - 1) / 2)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;y = tf.pad(x, [[0, 0], [p, p], [p, p&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span&gt;def discriminator(image, options, reuse=False, name=&quot;discriminator&quot;):&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;with tf.variable_scope(name):&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;if reuse:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; tf.get_variable_scope().reuse_variables()&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;else:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;assert tf.get_variable_scope().reuse is False&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;h0 = lrelu(conv2d(image, options.df_dim, name='d_h0_conv'))&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;h1 = lrelu(instance_norm(conv2d(h0, options.df_dim*2, name='d_h1_&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;- 영상관제 &lt;/span&gt;&lt;span&gt;(Raspberry Pi)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;CCTV&lt;/span&gt;&lt;span&gt;에서 인체가 감지되면 해당 장면을 캡처하여 서버에 전송하는 기능을 수행하고 있습니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;span&gt;여기서 라즈베리파이 4와4 카메라 모듈&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;적외선 모듈을 사용하여 &lt;/span&gt;&lt;span&gt;CCTV&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 alignCenter&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;584&quot; data-filename=&quot;image08.png&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bt3POL/btq34fNc6v7/xTT647yCKW3kOCMlY6K0Z1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bt3POL/btq34fNc6v7/xTT647yCKW3kOCMlY6K0Z1/img.png&quot; data-alt=&quot;영상관제 시스템 구조도, 라즈베리파이로 제작한 CCTV&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bt3POL/btq34fNc6v7/xTT647yCKW3kOCMlY6K0Z1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbt3POL%2Fbtq34fNc6v7%2FxTT647yCKW3kOCMlY6K0Z1%2Fimg.png&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;584&quot; data-filename=&quot;image08.png&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;figcaption&gt;영상관제 시스템 구조도, 라즈베리파이로 제작한 CCTV&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;- 분석 서버&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;image09.png&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;316&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRPgsY/btq354xXiWK/0kdHibOTKK6Y59ZdYV4QJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRPgsY/btq354xXiWK/0kdHibOTKK6Y59ZdYV4QJ1/img.png&quot; data-alt=&quot;분석서버 구조도&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRPgsY/btq354xXiWK/0kdHibOTKK6Y59ZdYV4QJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRPgsY%2Fbtq354xXiWK%2F0kdHibOTKK6Y59ZdYV4QJ1%2Fimg.png&quot; data-filename=&quot;image09.png&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;316&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;figcaption&gt;분석서버 구조도&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span&gt;CCTV&lt;/span&gt;&lt;span&gt;에서 전송받은 사진을 입력받으면 &lt;/span&gt;&lt;span&gt;Face Net&lt;/span&gt;&lt;span&gt;을 통해 &lt;/span&gt;&lt;span&gt;128&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;&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;0.55&lt;/span&gt;&lt;span&gt;로 잡았을 때 거리 &lt;/span&gt;&lt;span&gt;0.6&lt;/span&gt;&lt;span&gt;은 기준점보다 크기에 패스되고 거리 &lt;/span&gt;&lt;span&gt;0.3&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;Triplelet loss &lt;/span&gt;&lt;span&gt;코드&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span&gt;def triplet_loss(y_true, y_pred, alpha = 0.3):&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;anchor, positive, negative = y_pred[0], y_pred[1], y_pred[2]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# Step 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;/p&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pos_dist = tf.reduce_sum(tf.square(tf.subtract(anchor, positive)), axis=-1)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# Step 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;/p&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;neg_dist = tf.reduce_sum(tf.square(tf.subtract(anchor, negative)), axis=-1)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;# Step 3: &lt;/span&gt;&lt;span&gt;두 거리를 빼고 알파를 더함&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;basic_los&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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 data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span&gt;3. &lt;/span&gt;&lt;span&gt;시연&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;- &lt;/span&gt;&lt;/b&gt;&lt;span&gt;&lt;b&gt;웹 시연&lt;/b&gt; &lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;image12.png&quot; data-origin-width=&quot;565&quot; data-origin-height=&quot;318&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7YHjL/btq36YYgqEC/qEjCd5NscDidkSR4kc7mN0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7YHjL/btq36YYgqEC/qEjCd5NscDidkSR4kc7mN0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7YHjL/btq36YYgqEC/qEjCd5NscDidkSR4kc7mN0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7YHjL%2Fbtq36YYgqEC%2FqEjCd5NscDidkSR4kc7mN0%2Fimg.png&quot; data-filename=&quot;image12.png&quot; data-origin-width=&quot;565&quot; data-origin-height=&quot;318&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;/td&gt;
&lt;td&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;image13.png&quot; data-origin-width=&quot;577&quot; data-origin-height=&quot;324&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYPfTj/btq34fTZv0q/fpHyAYHa80ho3aiADMFIB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYPfTj/btq34fTZv0q/fpHyAYHa80ho3aiADMFIB0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYPfTj/btq34fTZv0q/fpHyAYHa80ho3aiADMFIB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYPfTj%2Fbtq34fTZv0q%2FfpHyAYHa80ho3aiADMFIB0%2Fimg.png&quot; data-filename=&quot;image13.png&quot; data-origin-width=&quot;577&quot; data-origin-height=&quot;324&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;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;image14.png&quot; data-origin-width=&quot;659&quot; data-origin-height=&quot;371&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LZeCR/btq309NlzMt/ksynAtkZuM1MTIhsRQbma1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LZeCR/btq309NlzMt/ksynAtkZuM1MTIhsRQbma1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LZeCR/btq309NlzMt/ksynAtkZuM1MTIhsRQbma1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLZeCR%2Fbtq309NlzMt%2FksynAtkZuM1MTIhsRQbma1%2Fimg.png&quot; data-filename=&quot;image14.png&quot; data-origin-width=&quot;659&quot; data-origin-height=&quot;371&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;/td&gt;
&lt;td&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;image15.png&quot; data-origin-width=&quot;651&quot; data-origin-height=&quot;366&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/00TKJ/btq3Xr82czR/Lbs4scJz3bxh7WeVeYdyH0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/00TKJ/btq3Xr82czR/Lbs4scJz3bxh7WeVeYdyH0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/00TKJ/btq3Xr82czR/Lbs4scJz3bxh7WeVeYdyH0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F00TKJ%2Fbtq3Xr82czR%2FLbs4scJz3bxh7WeVeYdyH0%2Fimg.png&quot; data-filename=&quot;image15.png&quot; data-origin-width=&quot;651&quot; data-origin-height=&quot;366&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;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;image16.png&quot; data-origin-width=&quot;620&quot; data-origin-height=&quot;348&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wn4NC/btq36rGpbSS/d2CKMgKDS2y1Zw0UX22Po0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wn4NC/btq36rGpbSS/d2CKMgKDS2y1Zw0UX22Po0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wn4NC/btq36rGpbSS/d2CKMgKDS2y1Zw0UX22Po0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fwn4NC%2Fbtq36rGpbSS%2Fd2CKMgKDS2y1Zw0UX22Po0%2Fimg.png&quot; data-filename=&quot;image16.png&quot; data-origin-width=&quot;620&quot; data-origin-height=&quot;348&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;/td&gt;
&lt;td&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;image18.png&quot; data-origin-width=&quot;625&quot; data-origin-height=&quot;351&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c3jGDB/btq3YU4aNdt/KZf2HQVkRCfpaUkkvh0Tnk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c3jGDB/btq3YU4aNdt/KZf2HQVkRCfpaUkkvh0Tnk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c3jGDB/btq3YU4aNdt/KZf2HQVkRCfpaUkkvh0Tnk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3jGDB%2Fbtq3YU4aNdt%2FKZf2HQVkRCfpaUkkvh0Tnk%2Fimg.png&quot; data-filename=&quot;image18.png&quot; data-origin-width=&quot;625&quot; data-origin-height=&quot;351&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;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;image19.png&quot; data-origin-width=&quot;726&quot; data-origin-height=&quot;408&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Y8KwA/btq31a6toZQ/akjxlrYPIjhg6KGYzIpp71/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Y8KwA/btq31a6toZQ/akjxlrYPIjhg6KGYzIpp71/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Y8KwA/btq31a6toZQ/akjxlrYPIjhg6KGYzIpp71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FY8KwA%2Fbtq31a6toZQ%2FakjxlrYPIjhg6KGYzIpp71%2Fimg.png&quot; data-filename=&quot;image19.png&quot; data-origin-width=&quot;726&quot; data-origin-height=&quot;408&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;/td&gt;
&lt;td&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;image20.png&quot; data-origin-width=&quot;672&quot; data-origin-height=&quot;378&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TOxJG/btq36sFkdpG/KePFKYlgGsKtSZoU5Qg6h1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TOxJG/btq36sFkdpG/KePFKYlgGsKtSZoU5Qg6h1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TOxJG/btq36sFkdpG/KePFKYlgGsKtSZoU5Qg6h1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTOxJG%2Fbtq36sFkdpG%2FKePFKYlgGsKtSZoU5Qg6h1%2Fimg.png&quot; data-filename=&quot;image20.png&quot; data-origin-width=&quot;672&quot; data-origin-height=&quot;378&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;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;- 폴리스캐치와 차이점&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;527&quot; data-origin-height=&quot;294&quot; data-filename=&quot;image21.png&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bW44vC/btq35DtAaeh/pi9A2a7koOsmIyWgDEPGkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bW44vC/btq35DtAaeh/pi9A2a7koOsmIyWgDEPGkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bW44vC/btq35DtAaeh/pi9A2a7koOsmIyWgDEPGkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbW44vC%2Fbtq35DtAaeh%2Fpi9A2a7koOsmIyWgDEPGkk%2Fimg.png&quot; data-origin-width=&quot;527&quot; data-origin-height=&quot;294&quot; data-filename=&quot;image21.png&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;Dearest&lt;/span&gt;&lt;span&gt;와 폴리스캐치는 가장 큰 차이점이 존재합니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Dearest&lt;/span&gt;&lt;span&gt;는 사진을 입력받아 &lt;/span&gt;&lt;span&gt;AI&lt;/span&gt;&lt;span&gt;가 예상 모습을 만드는 것이고 폴리스캐치는 사람이 직접 예상 모습을 그리는 것입니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;span&gt;사람이 직접 그리기 때문에 폴리스캐치는 몽타주 한 개를 제작하는데 &lt;/span&gt;&lt;span&gt;3~4&lt;/span&gt;&lt;span&gt;주가 소요되지만&lt;/span&gt;&lt;span&gt;, Dearest&lt;/span&gt;&lt;span&gt;는 불과 &lt;/span&gt;&lt;span&gt;3~4&lt;/span&gt;&lt;span&gt;초 만에 생성할 수 있습니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;span&gt;비용 측면에서도 폴리스캐치는 대당 &lt;/span&gt;&lt;span&gt;4000&lt;/span&gt;&lt;span&gt;만 원의 장비와 전문 인력 양성 비용이 소요되지만&lt;/span&gt;&lt;span&gt;, Dearest&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;8&lt;/span&gt;&lt;span&gt;개의 경찰청에서 사용하고 있다고 합니다&lt;/span&gt;&lt;span&gt;. Dearest&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 data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span&gt;4. &lt;/span&gt;&lt;span&gt;사업성&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;미아방지 &lt;/span&gt;&lt;span&gt;ICT tam &lt;/span&gt;&lt;span&gt;시장은 &lt;/span&gt;&lt;span&gt;2016&lt;/span&gt;&lt;span&gt;년에 비해 올해 약 &lt;/span&gt;&lt;span&gt;2.2&lt;/span&gt;&lt;span&gt;배가 증가하였습니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;2019&lt;/span&gt;&lt;span&gt;년 보안 시장 키워드를 보시면 스마트시티&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;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;Dearest&lt;/span&gt;&lt;span&gt;팀은 시스템을 통해 보안 시장에 키워드인 스마트 시티&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;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 alignCenter&quot; data-filename=&quot;image22.png&quot; data-origin-width=&quot;564&quot; data-origin-height=&quot;313&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SepTG/btq3UFzV5gN/N323erB4cFkLMvz016Tuc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SepTG/btq3UFzV5gN/N323erB4cFkLMvz016Tuc0/img.png&quot; data-alt=&quot;SR GAN을 사용해 이미지의 해상도를 높인 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SepTG/btq3UFzV5gN/N323erB4cFkLMvz016Tuc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSepTG%2Fbtq3UFzV5gN%2FN323erB4cFkLMvz016Tuc0%2Fimg.png&quot; data-filename=&quot;image22.png&quot; data-origin-width=&quot;564&quot; data-origin-height=&quot;313&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;figcaption&gt;SR GAN을 사용해 이미지의 해상도를 높인 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span&gt;5. &lt;/span&gt;&lt;span&gt;결론&lt;/span&gt;&lt;/b&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;Cycle GAN &lt;/span&gt;&lt;span&gt;총 &lt;/span&gt;&lt;span&gt;4&lt;/span&gt;&lt;span&gt;개 모델을 생성하였습니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;span&gt;하지만 초기기획단계보다 해상도가 좀 떨어지는 결과가 나왔습니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;span&gt;추후 &lt;/span&gt;&lt;span&gt;SR GAN&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;83% &lt;/span&gt;&lt;span&gt;인식하는 정확도가 나왔지만&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;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;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;

            &lt;figure class=&quot;unsupported component-kakaotv&quot; contenteditable=&quot;false&quot; style=&quot;background:#000;margin:16px 0;min-height:72px;padding:10px 16px;display:flex;align-items:center;justify-content:center;text-align:center;box-sizing:border-box;width:100%;max-width:100%;&quot;&gt;
                &lt;p contenteditable=&quot;false&quot; style=&quot;margin:0;color:#8a8a8a;font-size:13px;line-height:1.6;user-select:none;pointer-events:none;&quot;&gt;동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.&lt;/p&gt;
            &lt;/figure&gt;
        
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Do! 개발</category>
      <category>AI 프로젝트</category>
      <category>cyclegan</category>
      <category>Gan</category>
      <category>one-shot learning</category>
      <category>동영상 처리</category>
      <category>미아</category>
      <category>미아찾기</category>
      <category>원샷러닝</category>
      <category>이미지 처리</category>
      <category>인공지능 프로젝트</category>
      <author>UNO TV</author>
      <guid isPermaLink="true">https://unodev.tistory.com/16</guid>
      <comments>https://unodev.tistory.com/16#entry16comment</comments>
      <pubDate>Mon, 3 May 2021 15:39:48 +0900</pubDate>
    </item>
    <item>
      <title>[Linux] 네이버 클라우드 플랫폼 무료 서버 이용하기(naver cloud platform free server)</title>
      <link>https://unodev.tistory.com/15</link>
      <description>&lt;p&gt;나만의 개발 서버를 만들기에 큰 돈을 사용하고 싶지않아 구글 firebase를 사용하였는데 여간 불편한게 아니었다.&lt;/p&gt;
&lt;p&gt;그러던 중 발견한 네이버 클라우드 플랫폼에서 무료로 1년간 서버를 제공한다는 말에 가입하고 생성해보았다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;1. 네이버 클라우드 플랫폼 홈페이지에 이동하여 회원가입을 한다. 기존 네이버 아이디를 사용하여도 무관하다.&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://www.ncloud.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;www.ncloud.com/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1610030623277&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;NAVER CLOUD PLATFORM&quot; data-og-description=&quot;cloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Certification&quot; data-og-host=&quot;www.ncloud.com&quot; data-og-source-url=&quot;https://www.ncloud.com/&quot; data-og-url=&quot;https://www.ncloud.com&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/1QSby/hyIQUhzdoK/X2P46GFnzDk7kEhEtr3221/img.jpg?width=526&amp;amp;height=274&amp;amp;face=0_0_526_274&quot;&gt;&lt;a href=&quot;https://www.ncloud.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.ncloud.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/1QSby/hyIQUhzdoK/X2P46GFnzDk7kEhEtr3221/img.jpg?width=526&amp;amp;height=274&amp;amp;face=0_0_526_274');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;NAVER CLOUD PLATFORM&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;cloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Certification&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;www.ncloud.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;아! 무료 서버를 이용하려면 서비스 결제를 위한 &lt;span style=&quot;color: #ee2323;&quot;&gt;카드 등록&lt;/span&gt;을 해야만 한다.&lt;br /&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;2. 우측 상단에 Console 버튼을 클릭한다&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;메인페이지.png&quot; data-origin-width=&quot;1841&quot; data-origin-height=&quot;875&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cLQgd4/btqSTI7vwai/uDaOmfKaKjkD4Sse4WhkcK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cLQgd4/btqSTI7vwai/uDaOmfKaKjkD4Sse4WhkcK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cLQgd4/btqSTI7vwai/uDaOmfKaKjkD4Sse4WhkcK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcLQgd4%2FbtqSTI7vwai%2FuDaOmfKaKjkD4Sse4WhkcK%2Fimg.png&quot; data-filename=&quot;메인페이지.png&quot; data-origin-width=&quot;1841&quot; data-origin-height=&quot;875&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 alignCenter&quot; data-filename=&quot;콘솔페이지.png&quot; data-origin-width=&quot;1886&quot; data-origin-height=&quot;882&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9deh6/btqSNmj7X63/Fr4YpEQ5D7M4heJhXr7Ff0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9deh6/btqSNmj7X63/Fr4YpEQ5D7M4heJhXr7Ff0/img.png&quot; data-alt=&quot;나는 이미 생성되어있다&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9deh6/btqSNmj7X63/Fr4YpEQ5D7M4heJhXr7Ff0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9deh6%2FbtqSNmj7X63%2FFr4YpEQ5D7M4heJhXr7Ff0%2Fimg.png&quot; data-filename=&quot;콘솔페이지.png&quot; data-origin-width=&quot;1886&quot; data-origin-height=&quot;882&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;figcaption&gt;나는 이미 생성되어있다&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;Product &amp;amp; Services&lt;/b&gt; -&amp;gt; &lt;b&gt;Server&lt;/b&gt; 클릭&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;product.png&quot; data-origin-width=&quot;1903&quot; data-origin-height=&quot;880&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CgrE1/btqSZxYbMkP/zKa0MwrrOoHjdSufekDy6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CgrE1/btqSZxYbMkP/zKa0MwrrOoHjdSufekDy6k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CgrE1/btqSZxYbMkP/zKa0MwrrOoHjdSufekDy6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCgrE1%2FbtqSZxYbMkP%2FzKa0MwrrOoHjdSufekDy6k%2Fimg.png&quot; data-filename=&quot;product.png&quot; data-origin-width=&quot;1903&quot; data-origin-height=&quot;880&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;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;+ 서버 생성&lt;/b&gt; 클릭&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;server.png&quot; data-origin-width=&quot;743&quot; data-origin-height=&quot;215&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvAkJe/btqSNlZOSqY/WoHuLhVs1OsPMR7V3kcKY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvAkJe/btqSNlZOSqY/WoHuLhVs1OsPMR7V3kcKY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvAkJe/btqSNlZOSqY/WoHuLhVs1OsPMR7V3kcKY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvAkJe%2FbtqSNlZOSqY%2FWoHuLhVs1OsPMR7V3kcKY1%2Fimg.png&quot; data-filename=&quot;server.png&quot; data-origin-width=&quot;743&quot; data-origin-height=&quot;215&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;blockquote data-ke-style=&quot;style2&quot;&gt;밑에와 같이 생성해야 무료로 사용가능하다. 나는 ubuntu 18.04 버전을 사용하기로 했다.&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;server 1.png&quot; data-origin-width=&quot;1577&quot; data-origin-height=&quot;736&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzROle/btqSNlMln2C/imskDOosYjCzJdaH3zzc7K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzROle/btqSNlMln2C/imskDOosYjCzJdaH3zzc7K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzROle/btqSNlMln2C/imskDOosYjCzJdaH3zzc7K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzROle%2FbtqSNlMln2C%2FimskDOosYjCzJdaH3zzc7K%2Fimg.png&quot; data-filename=&quot;server 1.png&quot; data-origin-width=&quot;1577&quot; data-origin-height=&quot;736&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;blockquote data-ke-style=&quot;style2&quot;&gt;스토리지 종류 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;HDD&lt;/b&gt;&lt;/span&gt;, 서버타입은 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Micro&lt;/b&gt;&lt;/span&gt;, 서버 이름은 &quot;&lt;span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;ncloud-linux&lt;/b&gt;&lt;/span&gt;&quot;를 적어준다.&lt;/span&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;2720&quot; data-origin-height=&quot;1862&quot; data-filename=&quot;server 2.png&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cPxeHu/btqSWavURZU/BBotLxyM9sU4tZJXSvEG41/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cPxeHu/btqSWavURZU/BBotLxyM9sU4tZJXSvEG41/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cPxeHu/btqSWavURZU/BBotLxyM9sU4tZJXSvEG41/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcPxeHu%2FbtqSWavURZU%2FBBotLxyM9sU4tZJXSvEG41%2Fimg.png&quot; data-origin-width=&quot;2720&quot; data-origin-height=&quot;1862&quot; data-filename=&quot;server 2.png&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;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;새로운 인증키 생성&lt;/b&gt; -&amp;gt; &quot;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;ncloud-quick-guide&lt;/b&gt;&lt;/span&gt;&quot; -&amp;gt; &lt;b&gt;인증키 생성 및 저장 &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&amp;nbsp;클릭&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;2720&quot; data-origin-height=&quot;1862&quot; data-filename=&quot;server 3.png&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BtU0U/btqSTH8AoYw/zRFqY2SvKnvMN7dBCknm8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BtU0U/btqSTH8AoYw/zRFqY2SvKnvMN7dBCknm8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BtU0U/btqSTH8AoYw/zRFqY2SvKnvMN7dBCknm8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBtU0U%2FbtqSTH8AoYw%2FzRFqY2SvKnvMN7dBCknm8k%2Fimg.png&quot; data-origin-width=&quot;2720&quot; data-origin-height=&quot;1862&quot; data-filename=&quot;server 3.png&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;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;보유하고 있는 ACG 중에서 선택&lt;/b&gt; 클릭&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;2720&quot; data-origin-height=&quot;1862&quot; data-filename=&quot;server 4.png&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/t7GG0/btqSXkrwtce/Gw3zJlENcCYwEKffvWeH30/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/t7GG0/btqSXkrwtce/Gw3zJlENcCYwEKffvWeH30/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/t7GG0/btqSXkrwtce/Gw3zJlENcCYwEKffvWeH30/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ft7GG0%2FbtqSXkrwtce%2FGw3zJlENcCYwEKffvWeH30%2Fimg.png&quot; data-origin-width=&quot;2720&quot; data-origin-height=&quot;1862&quot; data-filename=&quot;server 4.png&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;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;서버생성&lt;/b&gt; 클릭&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;2720&quot; data-origin-height=&quot;5792&quot; data-filename=&quot;server 5.png&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/baJDKh/btqSTH8Ao11/acQxk5t8Sibzw4My5dSMV1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/baJDKh/btqSTH8Ao11/acQxk5t8Sibzw4My5dSMV1/img.png&quot; data-alt=&quot;네이버에서 퍼왔습니다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/baJDKh/btqSTH8Ao11/acQxk5t8Sibzw4My5dSMV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbaJDKh%2FbtqSTH8Ao11%2FacQxk5t8Sibzw4My5dSMV1%2Fimg.png&quot; data-origin-width=&quot;2720&quot; data-origin-height=&quot;5792&quot; data-filename=&quot;server 5.png&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;figcaption&gt;네이버에서 퍼왔습니다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;서버 생성까지 3분정도 걸린 것 같습니다.&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1912&quot; data-origin-height=&quot;885&quot; data-filename=&quot;end.png&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AZl3E/btqSX8ElvvI/NKL98j4K7EMutbnWkdTYGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AZl3E/btqSX8ElvvI/NKL98j4K7EMutbnWkdTYGk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AZl3E/btqSX8ElvvI/NKL98j4K7EMutbnWkdTYGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAZl3E%2FbtqSX8ElvvI%2FNKL98j4K7EMutbnWkdTYGk%2Fimg.png&quot; data-origin-width=&quot;1912&quot; data-origin-height=&quot;885&quot; data-filename=&quot;end.png&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;blockquote data-ke-style=&quot;style3&quot;&gt;서버 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;환경설정&lt;/b&gt;&lt;/span&gt;을 해야합니다&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;포트 포워딩 설정&lt;/b&gt; 클릭&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;enviroment 1.png&quot; data-origin-width=&quot;1556&quot; data-origin-height=&quot;570&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cOqwP5/btqSSdfFejr/75DN7SANbkiRsGY0Kq4KSk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cOqwP5/btqSSdfFejr/75DN7SANbkiRsGY0Kq4KSk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cOqwP5/btqSSdfFejr/75DN7SANbkiRsGY0Kq4KSk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcOqwP5%2FbtqSSdfFejr%2F75DN7SANbkiRsGY0Kq4KSk%2Fimg.png&quot; data-filename=&quot;enviroment 1.png&quot; data-origin-width=&quot;1556&quot; data-origin-height=&quot;570&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;blockquote data-ke-style=&quot;style2&quot;&gt;외부포트에 &lt;b&gt;1028&lt;/b&gt;을 넣고 추가 합니다.&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1262&quot; data-origin-height=&quot;308&quot; data-filename=&quot;enviroment 2.png&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cqOuFR/btqSPG3HVzJ/RoHRleb0KWclDhSCORRdXk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cqOuFR/btqSPG3HVzJ/RoHRleb0KWclDhSCORRdXk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cqOuFR/btqSPG3HVzJ/RoHRleb0KWclDhSCORRdXk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcqOuFR%2FbtqSPG3HVzJ%2FRoHRleb0KWclDhSCORRdXk%2Fimg.png&quot; data-origin-width=&quot;1262&quot; data-origin-height=&quot;308&quot; data-filename=&quot;enviroment 2.png&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;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;서버 관리 및 설정 변경&lt;/b&gt; -&amp;gt; &lt;b&gt;관리자비밀번호 확인&lt;/b&gt; 클릭&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;874&quot; data-filename=&quot;pass 1.png&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ldvI1/btqSX7ZKvXf/KZtg7IVEV5dRsw5xQd5Bb1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ldvI1/btqSX7ZKvXf/KZtg7IVEV5dRsw5xQd5Bb1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ldvI1/btqSX7ZKvXf/KZtg7IVEV5dRsw5xQd5Bb1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FldvI1%2FbtqSX7ZKvXf%2FKZtg7IVEV5dRsw5xQd5Bb1%2Fimg.png&quot; data-origin-width=&quot;639&quot; data-origin-height=&quot;874&quot; data-filename=&quot;pass 1.png&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;blockquote data-ke-style=&quot;style2&quot;&gt;다운로드 폴더 -&amp;gt; &quot;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;ncloud-quick-guide.pem&lt;/b&gt;&lt;/span&gt;&quot; 붙여넣는다.&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1229&quot; data-origin-height=&quot;205&quot; data-filename=&quot;down.png&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lAeqe/btqSV94VpIA/98EcV3Oykev5JkwTAtNRi1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lAeqe/btqSV94VpIA/98EcV3Oykev5JkwTAtNRi1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lAeqe/btqSV94VpIA/98EcV3Oykev5JkwTAtNRi1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlAeqe%2FbtqSV94VpIA%2F98EcV3Oykev5JkwTAtNRi1%2Fimg.png&quot; data-origin-width=&quot;1229&quot; data-origin-height=&quot;205&quot; data-filename=&quot;down.png&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;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;865&quot; data-origin-height=&quot;638&quot; data-filename=&quot;pass 2.png&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XqFFn/btqSZwEYVX5/EBGg3d8elxfZqnYiLyOty0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XqFFn/btqSZwEYVX5/EBGg3d8elxfZqnYiLyOty0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XqFFn/btqSZwEYVX5/EBGg3d8elxfZqnYiLyOty0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXqFFn%2FbtqSZwEYVX5%2FEBGg3d8elxfZqnYiLyOty0%2Fimg.png&quot; data-origin-width=&quot;865&quot; data-origin-height=&quot;638&quot; data-filename=&quot;pass 2.png&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;이제 putty를 설치한 후에 서버에 접속한다.&lt;/p&gt;
&lt;p&gt;밑에 사이트에서 다운받아서 설치한다.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.putty.org&quot;&gt;https://www.putty.org&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1610036018079&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Download PuTTY - a free SSH and telnet client for Windows&quot; data-og-description=&quot;Is Bitvise affiliated with PuTTY? Bitvise is not affiliated with PuTTY. We develop our SSH Server for Windows, which is compatible with PuTTY. Many PuTTY users are therefore our users as well. From time to time, they need to find the PuTTY download link. W&quot; data-og-host=&quot;www.putty.org&quot; data-og-source-url=&quot;https://www.putty.org&quot; data-og-url=&quot;https://www.putty.org&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.putty.org&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.putty.org&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Download PuTTY - a free SSH and telnet client for Windows&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Is Bitvise affiliated with PuTTY? Bitvise is not affiliated with PuTTY. We develop our SSH Server for Windows, which is compatible with PuTTY. Many PuTTY users are therefore our users as well. From time to time, they need to find the PuTTY download link. W&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;www.putty.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;putty 2.png&quot; data-origin-width=&quot;466&quot; data-origin-height=&quot;449&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LqiEA/btqSNk0YxsY/MFklYmRnTWgTf5G8QOSE90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LqiEA/btqSNk0YxsY/MFklYmRnTWgTf5G8QOSE90/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LqiEA/btqSNk0YxsY/MFklYmRnTWgTf5G8QOSE90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLqiEA%2FbtqSNk0YxsY%2FMFklYmRnTWgTf5G8QOSE90%2Fimg.png&quot; data-filename=&quot;putty 2.png&quot; data-origin-width=&quot;466&quot; data-origin-height=&quot;449&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;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;Host Name&lt;/b&gt;과 &lt;b&gt;Port&lt;/b&gt;는&lt;b&gt; 서버 상세정보&lt;/b&gt;에 있다. 위와 같이 기본 설정후 &lt;b&gt;Open&lt;/b&gt; 버튼을 클릭한다&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1569&quot; data-origin-height=&quot;692&quot; data-filename=&quot;putty 1.png&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cdijsS/btqSQ5WqSvg/X8N4gfyr8HDZtaCfkmANd1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cdijsS/btqSQ5WqSvg/X8N4gfyr8HDZtaCfkmANd1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cdijsS/btqSQ5WqSvg/X8N4gfyr8HDZtaCfkmANd1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcdijsS%2FbtqSQ5WqSvg%2FX8N4gfyr8HDZtaCfkmANd1%2Fimg.png&quot; data-origin-width=&quot;1569&quot; data-origin-height=&quot;692&quot; data-filename=&quot;putty 1.png&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;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;login id&lt;/b&gt;는 root, &lt;b&gt;password&lt;/b&gt;는 아까 메모장에 적어둔 것을 복사한다. &lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;shift+insert&lt;/span&gt;&lt;/b&gt;가 ctrl+v 역할을 대신한다.&lt;/blockquote&gt;
&lt;p&gt;밑에와 같이 연결되었다면 성공한 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;675&quot; data-origin-height=&quot;633&quot; data-filename=&quot;linux.png&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Kg1VQ/btqSSc13bpU/mEYTUK8mGchPcCtWcc7YA0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Kg1VQ/btqSSc13bpU/mEYTUK8mGchPcCtWcc7YA0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Kg1VQ/btqSSc13bpU/mEYTUK8mGchPcCtWcc7YA0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKg1VQ%2FbtqSSc13bpU%2FmEYTUK8mGchPcCtWcc7YA0%2Fimg.png&quot; data-origin-width=&quot;675&quot; data-origin-height=&quot;633&quot; data-filename=&quot;linux.png&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;</description>
      <category>Do! 개발</category>
      <category>navercloudplatform</category>
      <category>rinux server</category>
      <category>Window Server</category>
      <category>네이버서버</category>
      <category>네이버클라우드플랫폼</category>
      <category>리눅스서버</category>
      <category>무료서버</category>
      <category>서버 구축</category>
      <category>서버 연결</category>
      <category>윈도우서버</category>
      <author>UNO TV</author>
      <guid isPermaLink="true">https://unodev.tistory.com/15</guid>
      <comments>https://unodev.tistory.com/15#entry15comment</comments>
      <pubDate>Fri, 8 Jan 2021 01:25:45 +0900</pubDate>
    </item>
    <item>
      <title>[Flutter] Flutter version downgrade 플루터 버전 다운그레이드</title>
      <link>https://unodev.tistory.com/14</link>
      <description>&lt;p&gt;플루터 개발을 하다보면 어떤 함수, 패키지는 버전의 차이로 실행이 안될 수 있다.&lt;/p&gt;
&lt;p&gt;나의 경우는 다음과 같다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;제dd목 없음.jpg&quot; data-origin-width=&quot;902&quot; data-origin-height=&quot;497&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WJLQl/btqRQSqpzV1/sEneWaUwn0R3JwKvXuxzYK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WJLQl/btqRQSqpzV1/sEneWaUwn0R3JwKvXuxzYK/img.jpg&quot; data-alt=&quot;showSnackBar 실행 안됨&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WJLQl/btqRQSqpzV1/sEneWaUwn0R3JwKvXuxzYK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWJLQl%2FbtqRQSqpzV1%2FsEneWaUwn0R3JwKvXuxzYK%2Fimg.jpg&quot; data-filename=&quot;제dd목 없음.jpg&quot; data-origin-width=&quot;902&quot; data-origin-height=&quot;497&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;figcaption&gt;showSnackBar 실행 안됨&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;showSnackBark을 사용하려고 하니 다음과 같은 경고가 발생했다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;'showSnackBar' is deprecated and shouldn't be used. Use ScaffoldMessenger.showSnackBar. This feature was deprecated after v1.23.0-14.0.pre..&lt;/blockquote&gt;
&lt;p&gt;플루터의 버전이 1.23.0-14.pre 후부터 showSnackBar을 사용할 수 없다는 것이다.&lt;/p&gt;
&lt;p&gt;뛰어나지 못한 나의 실력으로는 버전을 다운그레이드하는 수 밖에 없었다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;먼저 다음 페이지에서 원하는 버전을 선택한다.&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/flutter/flutter&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;github.com/flutter/flutter&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1609377211839&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;object&quot; data-og-title=&quot;flutter/flutter&quot; data-og-description=&quot;Flutter makes it easy and fast to build beautiful apps for mobile and beyond. - flutter/flutter&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/flutter/flutter&quot; data-og-url=&quot;https://github.com/flutter/flutter&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/yXQCh/hyIK6JA5kj/jYlDKhyuFeqs0nhB0GBm31/img.png?width=1386&amp;amp;height=640&amp;amp;face=0_0_1386_640,https://scrap.kakaocdn.net/dn/wSr1f/hyILbjOBif/f6hz2yTkshVoOpTkfTQ69K/img.png?width=800&amp;amp;height=436&amp;amp;face=0_0_800_436,https://scrap.kakaocdn.net/dn/qji1t/hyIK3e09JL/EWj33iapWARoMvi6s4LFqK/img.png?width=600&amp;amp;height=407&amp;amp;face=0_0_600_407&quot;&gt;&lt;a href=&quot;https://github.com/flutter/flutter&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/flutter/flutter&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/yXQCh/hyIK6JA5kj/jYlDKhyuFeqs0nhB0GBm31/img.png?width=1386&amp;amp;height=640&amp;amp;face=0_0_1386_640,https://scrap.kakaocdn.net/dn/wSr1f/hyILbjOBif/f6hz2yTkshVoOpTkfTQ69K/img.png?width=800&amp;amp;height=436&amp;amp;face=0_0_800_436,https://scrap.kakaocdn.net/dn/qji1t/hyIK3e09JL/EWj33iapWARoMvi6s4LFqK/img.png?width=600&amp;amp;height=407&amp;amp;face=0_0_600_407');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;flutter/flutter&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Flutter makes it easy and fast to build beautiful apps for mobile and beyond. - flutter/flutter&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;s1.jpg&quot; data-origin-width=&quot;385&quot; data-origin-height=&quot;60&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pYmgl/btqRQScRecb/40ZaqSOmC6jgWjffGzHUv1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pYmgl/btqRQScRecb/40ZaqSOmC6jgWjffGzHUv1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pYmgl/btqRQScRecb/40ZaqSOmC6jgWjffGzHUv1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpYmgl%2FbtqRQScRecb%2F40ZaqSOmC6jgWjffGzHUv1%2Fimg.jpg&quot; data-filename=&quot;s1.jpg&quot; data-origin-width=&quot;385&quot; data-origin-height=&quot;60&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;blockquote data-ke-style=&quot;style2&quot;&gt;좌측 상단에 보이는 tags 버튼을 클릭한다. 그러면 모든 버전 리스트가 나타날 것이다.&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;s2.jpg&quot; data-origin-width=&quot;1299&quot; data-origin-height=&quot;180&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PERbm/btqR6vmLagG/XMi00cMnKQ1BCQim4vLl51/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PERbm/btqR6vmLagG/XMi00cMnKQ1BCQim4vLl51/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PERbm/btqR6vmLagG/XMi00cMnKQ1BCQim4vLl51/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPERbm%2FbtqR6vmLagG%2FXMi00cMnKQ1BCQim4vLl51%2Fimg.jpg&quot; data-filename=&quot;s2.jpg&quot; data-origin-width=&quot;1299&quot; data-origin-height=&quot;180&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;blockquote data-ke-style=&quot;style2&quot;&gt;여기서 나는 1.22.0 버전을 사용하기 로했다. 날짜 옆에 다음 아이콘을 클릭한다.&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;s3.jpg&quot; data-origin-width=&quot;1291&quot; data-origin-height=&quot;469&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzpe5E/btqR1FcuEQZ/Kdrp6y0w2lYUVKRUhNbRiK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzpe5E/btqR1FcuEQZ/Kdrp6y0w2lYUVKRUhNbRiK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzpe5E/btqR1FcuEQZ/Kdrp6y0w2lYUVKRUhNbRiK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbzpe5E%2FbtqR1FcuEQZ%2FKdrp6y0w2lYUVKRUhNbRiK%2Fimg.jpg&quot; data-filename=&quot;s3.jpg&quot; data-origin-width=&quot;1291&quot; data-origin-height=&quot;469&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;blockquote data-ke-style=&quot;style2&quot;&gt;그리고 우측에 comit 코드를 복사한다. 여기까지 하면 준비는 끝났다.&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;다음은 명령프롬프트를 실행한다. 그리고 플루터가 설치되어있는 디렉토리로 이동한다.&lt;/blockquote&gt;
&lt;p&gt;여기서 본인은 D:\work\flutter 였다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;20201231011750.png&quot; data-origin-width=&quot;993&quot; data-origin-height=&quot;519&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dqIQdW/btqRXH2EAWY/KTRfmmsRPGdkOTwi7w0Pyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dqIQdW/btqRXH2EAWY/KTRfmmsRPGdkOTwi7w0Pyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dqIQdW/btqRXH2EAWY/KTRfmmsRPGdkOTwi7w0Pyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdqIQdW%2FbtqRXH2EAWY%2FKTRfmmsRPGdkOTwi7w0Pyk%2Fimg.png&quot; data-filename=&quot;20201231011750.png&quot; data-origin-width=&quot;993&quot; data-origin-height=&quot;519&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;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span&gt;git reset --hard {복사한 commit key}&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;다음 코드를 입력한다. 그리고 done이 나오면 성공한 것이다.&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;flutter doctor&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;위 코드를 입력하여 문제가 없는지 확인한다.&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;20201231011759.png&quot; data-origin-width=&quot;993&quot; data-origin-height=&quot;519&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/diwi7F/btqR3S3Bx5V/GbjkurqT6yncJKSpWWkeXK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/diwi7F/btqR3S3Bx5V/GbjkurqT6yncJKSpWWkeXK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/diwi7F/btqR3S3Bx5V/GbjkurqT6yncJKSpWWkeXK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdiwi7F%2FbtqR3S3Bx5V%2FGbjkurqT6yncJKSpWWkeXK%2Fimg.png&quot; data-filename=&quot;20201231011759.png&quot; data-origin-width=&quot;993&quot; data-origin-height=&quot;519&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;blockquote data-ke-style=&quot;style3&quot;&gt;flutter --version&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;1.22.0 버전으로 다운그레이드 된것을 확인할 수 있다.&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;2020123101184011.png&quot; data-origin-width=&quot;866&quot; data-origin-height=&quot;191&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2rA8x/btqRVo98o35/zkynKwizPytwvKpXNZH7w0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2rA8x/btqRVo98o35/zkynKwizPytwvKpXNZH7w0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2rA8x/btqRVo98o35/zkynKwizPytwvKpXNZH7w0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2rA8x%2FbtqRVo98o35%2FzkynKwizPytwvKpXNZH7w0%2Fimg.png&quot; data-filename=&quot;2020123101184011.png&quot; data-origin-width=&quot;866&quot; data-origin-height=&quot;191&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;showSnackBar 함수가 활성화된 것을 확인할 수 있다.&lt;/p&gt;</description>
      <category>Do! 개발</category>
      <category>'showSnackBar' is deprecated and shouldn't be used. Use ScaffoldMessenger.showSnackBar. This feature was deprecated after v1.23.0-14.0.pre..</category>
      <category>dart downgrade</category>
      <category>Flutter</category>
      <category>flutter downgrade</category>
      <category>flutter version</category>
      <category>showSnackBar</category>
      <category>다트 다운그레이드</category>
      <category>플루터</category>
      <category>플루터 다운그레이드</category>
      <category>플루터 버전</category>
      <author>UNO TV</author>
      <guid isPermaLink="true">https://unodev.tistory.com/14</guid>
      <comments>https://unodev.tistory.com/14#entry14comment</comments>
      <pubDate>Thu, 31 Dec 2020 10:28:05 +0900</pubDate>
    </item>
    <item>
      <title>[Firebase] Firestore에 exel, csv파일 넣기</title>
      <link>https://unodev.tistory.com/13</link>
      <description>&lt;p&gt;mySQL, Oracle 사용할 때는 exel파일, csv파일을 db에 넣는 것은 전혀 문제가 되지않았습니다.&lt;/p&gt;
&lt;p&gt;코드 몇 줄이면 DB에 넣을 수 있었으니까요.&lt;/p&gt;
&lt;p&gt;이번에 DB를 Firebase로 바꾸면서 새롭게 DB설계를 해야되었습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;제가 갖고 있는 주식 데이터 csv파일을 넣을라면 꽤나 복잡한 과정을 거쳐야했습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;1. exel, csv파일 json으로 변환&lt;/p&gt;
&lt;p&gt;2. node.js 설치&lt;/p&gt;
&lt;p&gt;3. Cloud Firestore 컬렉션 생성&lt;/p&gt;
&lt;p&gt;4. Firebase 설정&lt;/p&gt;
&lt;p&gt;5. account key&lt;/p&gt;
&lt;p&gt;6. import.js&lt;/p&gt;
&lt;p&gt;7. 데이터 넣기&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;1. exel, csv파일 json으로 변환&lt;/span&gt;&lt;/blockquote&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/nPYT3/btqQU0uzYkj/iUvfn70GVC6jusrWwUWC6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nPYT3/btqQU0uzYkj/iUvfn70GVC6jusrWwUWC6k/img.png&quot; data-alt=&quot;csv 파일을 메모장으로 연다&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nPYT3/btqQU0uzYkj/iUvfn70GVC6jusrWwUWC6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnPYT3%2FbtqQU0uzYkj%2FiUvfn70GVC6jusrWwUWC6k%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;figcaption&gt;csv 파일을 메모장으로 연다&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;다양한 방법이 있겠지만 저는 밑에 사이트를 이용하였습니다.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.convertcsv.com/csv-to-json.htm&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;www.convertcsv.com/csv-to-json.htm&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1608456099022&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;CSV To JSON Converter&quot; data-og-description=&quot;&quot; data-og-host=&quot;www.convertcsv.com&quot; data-og-source-url=&quot;https://www.convertcsv.com/csv-to-json.htm&quot; data-og-url=&quot;https://www.convertcsv.com/csv-to-json.htm&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.convertcsv.com/csv-to-json.htm&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.convertcsv.com/csv-to-json.htm&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;CSV To JSON Converter&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;www.convertcsv.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;1.jpg&quot; data-origin-width=&quot;1424&quot; data-origin-height=&quot;836&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bms2us/btqQJEfwz30/lglKuC6dsFxPT58lXLfGYK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bms2us/btqQJEfwz30/lglKuC6dsFxPT58lXLfGYK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bms2us/btqQJEfwz30/lglKuC6dsFxPT58lXLfGYK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbms2us%2FbtqQJEfwz30%2FlglKuC6dsFxPT58lXLfGYK%2Fimg.jpg&quot; data-filename=&quot;1.jpg&quot; data-origin-width=&quot;1424&quot; data-origin-height=&quot;836&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;csv파일을 메모장으로 열고 전체 ctrl+c 위에 칸에 crtl+v 하였습니다.&lt;/p&gt;
&lt;p&gt;그리고 csv to json 누르고 밑에 Download Result를 누르면 생성됩니다.&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/CMbq7/btqQPzdd8iE/TioeRzjkDk7gajOPNHZRuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CMbq7/btqQPzdd8iE/TioeRzjkDk7gajOPNHZRuk/img.png&quot; data-alt=&quot;json 변환 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CMbq7/btqQPzdd8iE/TioeRzjkDk7gajOPNHZRuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCMbq7%2FbtqQPzdd8iE%2FTioeRzjkDk7gajOPNHZRuk%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;figcaption&gt;json 변환 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;2.jpg&quot; data-origin-width=&quot;658&quot; data-origin-height=&quot;741&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGp8pB/btqQNo37w2p/OKuePJ3FUuA2rR8mC4lSw1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGp8pB/btqQNo37w2p/OKuePJ3FUuA2rR8mC4lSw1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGp8pB/btqQNo37w2p/OKuePJ3FUuA2rR8mC4lSw1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGp8pB%2FbtqQNo37w2p%2FOKuePJ3FUuA2rR8mC4lSw1%2Fimg.jpg&quot; data-filename=&quot;2.jpg&quot; data-origin-width=&quot;658&quot; data-origin-height=&quot;741&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;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;3.jpg&quot; data-origin-width=&quot;664&quot; data-origin-height=&quot;744&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btnYGu/btqQNqgxlmK/kORQKkMHRxfeOLXjGnNzVK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btnYGu/btqQNqgxlmK/kORQKkMHRxfeOLXjGnNzVK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btnYGu/btqQNqgxlmK/kORQKkMHRxfeOLXjGnNzVK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtnYGu%2FbtqQNqgxlmK%2FkORQKkMHRxfeOLXjGnNzVK%2Fimg.jpg&quot; data-filename=&quot;3.jpg&quot; data-origin-width=&quot;664&quot; data-origin-height=&quot;744&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;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;빨간부분을 추가해준다. {} 처음과 끝에 추가해주고 &quot;OOOO&quot;는 뒤에 생성할 컬렉션 이름이다. 그리고 저장한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;2. node.js 설치&lt;/span&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://nodejs.org/ko/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;nodejs.org/ko/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1608458378595&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Node.js&quot; data-og-description=&quot;Node.js&amp;reg; is a JavaScript runtime built on Chrome's V8 JavaScript engine.&quot; data-og-host=&quot;nodejs.org&quot; data-og-source-url=&quot;https://nodejs.org/ko/&quot; data-og-url=&quot;https://nodejs.org/ko/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Hvf3L/hyIC0WB9gT/vY3FlZTslh2luB2RwGb5l0/img.png?width=224&amp;amp;height=256&amp;amp;face=0_0_224_256,https://scrap.kakaocdn.net/dn/bzgKl3/hyICYR0OSj/BXPNs8FUsaGgE84Rq3xTq0/img.png?width=224&amp;amp;height=256&amp;amp;face=0_0_224_256&quot;&gt;&lt;a href=&quot;https://nodejs.org/ko/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://nodejs.org/ko/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Hvf3L/hyIC0WB9gT/vY3FlZTslh2luB2RwGb5l0/img.png?width=224&amp;amp;height=256&amp;amp;face=0_0_224_256,https://scrap.kakaocdn.net/dn/bzgKl3/hyICYR0OSj/BXPNs8FUsaGgE84Rq3xTq0/img.png?width=224&amp;amp;height=256&amp;amp;face=0_0_224_256');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Node.js&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Node.js&amp;reg; is a JavaScript runtime built on Chrome's V8 JavaScript engine.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;nodejs.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1106&quot; data-origin-height=&quot;624&quot; data-filename=&quot;4.jpg&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cMOkEk/btqQR7gsOZv/x2JnLXVbm8eXH7gvmnAndK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cMOkEk/btqQR7gsOZv/x2JnLXVbm8eXH7gvmnAndK/img.jpg&quot; data-alt=&quot;안정적이고 신뢰도 높은 버전을 설치하였다&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cMOkEk/btqQR7gsOZv/x2JnLXVbm8eXH7gvmnAndK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcMOkEk%2FbtqQR7gsOZv%2Fx2JnLXVbm8eXH7gvmnAndK%2Fimg.jpg&quot; data-origin-width=&quot;1106&quot; data-origin-height=&quot;624&quot; data-filename=&quot;4.jpg&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;figcaption&gt;안정적이고 신뢰도 높은 버전을 설치하였다&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;다음 사이트에서 다운받고 설치한다.&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;gt;npm init&lt;/p&gt;
&lt;p&gt;명령어를 사용한다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;'in this OK? (yes)' 나올때까지&amp;nbsp;&lt;/span&gt;엔터키를 계속 눌러서 완료한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;gt;npm&amp;nbsp;install&amp;nbsp;firestore-export-import&lt;/p&gt;
&lt;p&gt;firestore 패키치 설치 명령어를 사용한다&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;5.jpg&quot; data-origin-width=&quot;831&quot; data-origin-height=&quot;352&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/W3qcP/btqQR7gsZEV/zkikLFg0gByPWTeDFaJ2T1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/W3qcP/btqQR7gsZEV/zkikLFg0gByPWTeDFaJ2T1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/W3qcP/btqQR7gsZEV/zkikLFg0gByPWTeDFaJ2T1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FW3qcP%2FbtqQR7gsZEV%2FzkikLFg0gByPWTeDFaJ2T1%2Fimg.jpg&quot; data-filename=&quot;5.jpg&quot; data-origin-width=&quot;831&quot; data-origin-height=&quot;352&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;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;3. Cloud Firestore 컬렉션 생성&lt;/span&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;6.jpg&quot; data-origin-width=&quot;1778&quot; data-origin-height=&quot;619&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/k6N1P/btqQLlT8zCx/kCQtT4LBIFxs67YOAVihpk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/k6N1P/btqQLlT8zCx/kCQtT4LBIFxs67YOAVihpk/img.jpg&quot; data-alt=&quot;나는 결과물을 만든 것이다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/k6N1P/btqQLlT8zCx/kCQtT4LBIFxs67YOAVihpk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fk6N1P%2FbtqQLlT8zCx%2FkCQtT4LBIFxs67YOAVihpk%2Fimg.jpg&quot; data-filename=&quot;6.jpg&quot; data-origin-width=&quot;1778&quot; data-origin-height=&quot;619&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;figcaption&gt;나는 결과물을 만든 것이다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;firebase 콘솔로 들어와 Cloud Firestore에 컬렉션 시작을 누른다.&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/beSQVD/btqQR5JIdlr/5zQCoq7e0YiDQLcp0PtuEK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beSQVD/btqQR5JIdlr/5zQCoq7e0YiDQLcp0PtuEK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beSQVD/btqQR5JIdlr/5zQCoq7e0YiDQLcp0PtuEK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeSQVD%2FbtqQR5JIdlr%2F5zQCoq7e0YiDQLcp0PtuEK%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;json 파일 위에 적어둔 이름으로 컬렉션 ID를 작성한다.&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/dLgjDT/btqQIWANxTv/JaYGvVf9KUYlNxl7N0T6IK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dLgjDT/btqQIWANxTv/JaYGvVf9KUYlNxl7N0T6IK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dLgjDT/btqQIWANxTv/JaYGvVf9KUYlNxl7N0T6IK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdLgjDT%2FbtqQIWANxTv%2FJaYGvVf9KUYlNxl7N0T6IK%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;문서 ID는 자동 필드와 유형을 자유롭게 추가한다.&lt;/p&gt;
&lt;p&gt;여기서 number을 사용하려면 값에 0을 넣어줘야한다.&lt;/p&gt;
&lt;p&gt;저장을 하게되면 컬렉션 생성이 완료된 것이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;4. Firebase 설정&lt;/span&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;7.jpg&quot; data-origin-width=&quot;689&quot; data-origin-height=&quot;146&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VEbu3/btqQR5waZ3Y/gqq4JRF37gjHHP4QrfMdFK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VEbu3/btqQR5waZ3Y/gqq4JRF37gjHHP4QrfMdFK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VEbu3/btqQR5waZ3Y/gqq4JRF37gjHHP4QrfMdFK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVEbu3%2FbtqQR5waZ3Y%2Fgqq4JRF37gjHHP4QrfMdFK%2Fimg.jpg&quot; data-filename=&quot;7.jpg&quot; data-origin-width=&quot;689&quot; data-origin-height=&quot;146&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;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;8.jpg&quot; data-origin-width=&quot;411&quot; data-origin-height=&quot;144&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c1j1bq/btqQU0g4k55/DOBPQG2hcKXhOhHyCXJ9iK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c1j1bq/btqQU0g4k55/DOBPQG2hcKXhOhHyCXJ9iK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c1j1bq/btqQU0g4k55/DOBPQG2hcKXhOhHyCXJ9iK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc1j1bq%2FbtqQU0g4k55%2FDOBPQG2hcKXhOhHyCXJ9iK%2Fimg.jpg&quot; data-filename=&quot;8.jpg&quot; data-origin-width=&quot;411&quot; data-origin-height=&quot;144&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;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;9.jpg&quot; data-origin-width=&quot;875&quot; data-origin-height=&quot;568&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bo1Kpy/btqQIaMNvpe/KZ63O2xNNeqykpKc07F6sK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bo1Kpy/btqQIaMNvpe/KZ63O2xNNeqykpKc07F6sK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bo1Kpy/btqQIaMNvpe/KZ63O2xNNeqykpKc07F6sK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbo1Kpy%2FbtqQIaMNvpe%2FKZ63O2xNNeqykpKc07F6sK%2Fimg.jpg&quot; data-filename=&quot;9.jpg&quot; data-origin-width=&quot;875&quot; data-origin-height=&quot;568&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;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;10.jpg&quot; data-origin-width=&quot;932&quot; data-origin-height=&quot;776&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c8LAjS/btqQKtSr2NG/7euVi65xt7F2JIDK0HbNQ0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c8LAjS/btqQKtSr2NG/7euVi65xt7F2JIDK0HbNQ0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c8LAjS/btqQKtSr2NG/7euVi65xt7F2JIDK0HbNQ0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc8LAjS%2FbtqQKtSr2NG%2F7euVi65xt7F2JIDK0HbNQ0%2Fimg.jpg&quot; data-filename=&quot;10.jpg&quot; data-origin-width=&quot;932&quot; data-origin-height=&quot;776&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;그러면 다음과 같은 코드가 나오는데 var firebaseConfig ={}을 복사한다.&lt;/p&gt;
&lt;p&gt;나는 파이참을 사용하였다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;11.jpg&quot; data-origin-width=&quot;818&quot; data-origin-height=&quot;299&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cv2jX0/btqQIWgtOTI/Jgi9adx5rFojAHUN06GUZK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cv2jX0/btqQIWgtOTI/Jgi9adx5rFojAHUN06GUZK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cv2jX0/btqQIWgtOTI/Jgi9adx5rFojAHUN06GUZK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcv2jX0%2FbtqQIWgtOTI%2FJgi9adx5rFojAHUN06GUZK%2Fimg.jpg&quot; data-filename=&quot;11.jpg&quot; data-origin-width=&quot;818&quot; data-origin-height=&quot;299&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;module.exports = firebaseConfig&lt;span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;마지막에 위 코드를 추가시키고 config.js로 파일을 저장한다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;5. account key&lt;/span&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;12.jpg&quot; data-origin-width=&quot;1453&quot; data-origin-height=&quot;920&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/z8iUs/btqQE9tRLos/k1cA26jjw1hDQohSFpTM01/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/z8iUs/btqQE9tRLos/k1cA26jjw1hDQohSFpTM01/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/z8iUs/btqQE9tRLos/k1cA26jjw1hDQohSFpTM01/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fz8iUs%2FbtqQE9tRLos%2Fk1cA26jjw1hDQohSFpTM01%2Fimg.jpg&quot; data-filename=&quot;12.jpg&quot; data-origin-width=&quot;1453&quot; data-origin-height=&quot;920&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;setting-서비스 계정-새 비공개 키 생성 버튼을 누른다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;13.jpg&quot; data-origin-width=&quot;593&quot; data-origin-height=&quot;481&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FJT17/btqQE73UPsl/45K6Nfa8hjWU7IQG7rMKd1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FJT17/btqQE73UPsl/45K6Nfa8hjWU7IQG7rMKd1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FJT17/btqQE73UPsl/45K6Nfa8hjWU7IQG7rMKd1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFJT17%2FbtqQE73UPsl%2F45K6Nfa8hjWU7IQG7rMKd1%2Fimg.jpg&quot; data-filename=&quot;13.jpg&quot; data-origin-width=&quot;593&quot; data-origin-height=&quot;481&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;키 생성 버튼을 누르면 json파일이 다운로드 된다.&lt;/p&gt;
&lt;p&gt;이름이 굉장히긴데 여기서는 이름을 &lt;a href=&quot;http://serviceAccount.json&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;'&lt;/a&gt;&lt;a href=&quot;http://serviceAccount.json&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;serviceAccount.json&lt;/a&gt;'으로 바꾼다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;6. import.js&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;14.jpg&quot; data-origin-width=&quot;961&quot; data-origin-height=&quot;812&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c5xIfX/btqQIXGsHbL/mRRsRvcUvSoOj3lk8vRHBk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c5xIfX/btqQIXGsHbL/mRRsRvcUvSoOj3lk8vRHBk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c5xIfX/btqQIXGsHbL/mRRsRvcUvSoOj3lk8vRHBk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc5xIfX%2FbtqQIXGsHbL%2FmRRsRvcUvSoOj3lk8vRHBk%2Fimg.jpg&quot; data-filename=&quot;14.jpg&quot; data-origin-width=&quot;961&quot; data-origin-height=&quot;812&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;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span&gt;// Imports&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;const &lt;/span&gt;firestoreService = require(&lt;span&gt;'firestore-export-import'&lt;/span&gt;)&lt;span&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;const &lt;/span&gt;firebaseConfig = require(&lt;span&gt;'./config.js'&lt;/span&gt;)&lt;span&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;const &lt;/span&gt;serviceAccount = require(&lt;span&gt;'./serviceAccount.json'&lt;/span&gt;)&lt;span&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;// JSON To Firestore&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;const &lt;/span&gt;jsonToFirestore = &lt;span&gt;async &lt;/span&gt;() =&amp;gt; {&lt;br /&gt;&lt;span&gt;try &lt;/span&gt;{&lt;br /&gt;console.log(&lt;span&gt;'Initialzing Firebase'&lt;/span&gt;)&lt;span&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; await &lt;/span&gt;firestoreService.initializeApp(serviceAccount&lt;span&gt;, &lt;/span&gt;firebaseConfig.databaseURL)&lt;span&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;console.log(&lt;span&gt;'Firebase Initialized'&lt;/span&gt;)&lt;span&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; await &lt;/span&gt;firestoreService.restore(&lt;span&gt;'./financeData.json'&lt;/span&gt;)&lt;span&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;console.log(&lt;span&gt;'Upload Success'&lt;/span&gt;)&lt;span&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span&gt;catch &lt;/span&gt;(error) {&lt;br /&gt;console.log(error)&lt;span&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;span&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;jsonToFirestore()&lt;span&gt;;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p&gt;생성된 3개의 파일로 위에 코드를 수정한다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;7. 데이터 넣기&lt;/blockquote&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/AkFdK/btqQJEs7O5V/Cf19KhXpsuGv3URwkeD8WK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AkFdK/btqQJEs7O5V/Cf19KhXpsuGv3URwkeD8WK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AkFdK/btqQJEs7O5V/Cf19KhXpsuGv3URwkeD8WK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAkFdK%2FbtqQJEs7O5V%2FCf19KhXpsuGv3URwkeD8WK%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;gt;node import.js&lt;/p&gt;
&lt;p&gt;명령어를 실행시킨다. 내 파일은 2400열이라 1분정도 걸린 것 같다.&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/cBhdRj/btqQIW8HRPp/lQiPtKS9vJq00uPdKpHHj1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cBhdRj/btqQIW8HRPp/lQiPtKS9vJq00uPdKpHHj1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cBhdRj/btqQIW8HRPp/lQiPtKS9vJq00uPdKpHHj1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcBhdRj%2FbtqQIW8HRPp%2FlQiPtKS9vJq00uPdKpHHj1%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;Upload Success를 확인한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&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/K0ife/btqQIaMNTg0/ITOWiShQqkIeJuGJ5mko5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/K0ife/btqQIaMNTg0/ITOWiShQqkIeJuGJ5mko5K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/K0ife/btqQIaMNTg0/ITOWiShQqkIeJuGJ5mko5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FK0ife%2FbtqQIaMNTg0%2FITOWiShQqkIeJuGJ5mko5K%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;firebase 콘솔에서도 데이터가 잘 넘어온것을 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Do! 개발</category>
      <category>cloud firebase</category>
      <category>csv json</category>
      <category>exel json</category>
      <category>Firebase</category>
      <category>firebase csv</category>
      <category>firebase exel</category>
      <category>firebase json</category>
      <category>firestore</category>
      <author>UNO TV</author>
      <guid isPermaLink="true">https://unodev.tistory.com/13</guid>
      <comments>https://unodev.tistory.com/13#entry13comment</comments>
      <pubDate>Sun, 20 Dec 2020 19:37:18 +0900</pubDate>
    </item>
    <item>
      <title>[flutter] Flutter plugin not installed; this adds Flutter specific functionality error</title>
      <link>https://unodev.tistory.com/12</link>
      <description>&lt;p&gt;flutter doctor의 실행하였을 때 밑에 와 같이 오류가 발생할 때가 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;X&amp;nbsp;Flutter&amp;nbsp;plugin&amp;nbsp;not&amp;nbsp;installed;&amp;nbsp;this&amp;nbsp;adds&amp;nbsp;Flutter&amp;nbsp;specific&amp;nbsp;functionality. &lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;X&amp;nbsp;Dart&amp;nbsp;plugin&amp;nbsp;not&amp;nbsp;installed;&amp;nbsp;this&amp;nbsp;adds&amp;nbsp;Dart&amp;nbsp;specific&amp;nbsp;functionality. &lt;/b&gt;&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&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/loV57/btqPPD3tqm5/skuqtz7h9DHOOTf3U5zGFK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/loV57/btqPPD3tqm5/skuqtz7h9DHOOTf3U5zGFK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/loV57/btqPPD3tqm5/skuqtz7h9DHOOTf3U5zGFK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FloV57%2FbtqPPD3tqm5%2Fskuqtz7h9DHOOTf3U5zGFK%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;플러터 플러그인과 다트 플러그인이 설치가 안되어있다고 말해주는데 settings-plugins를 보면 설치가 잘되어있는 것을 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;Settings-Plugins&lt;br /&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&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/rEJrU/btqPYUbzZeg/cR3Re1eHecE7uChX6qOGY0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rEJrU/btqPYUbzZeg/cR3Re1eHecE7uChX6qOGY0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rEJrU/btqPYUbzZeg/cR3Re1eHecE7uChX6qOGY0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrEJrU%2FbtqPYUbzZeg%2FcR3Re1eHecE7uChX6qOGY0%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;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;flutter upgrade&lt;br /&gt;&lt;/b&gt;&lt;b&gt;flutter config --android-studio-dir=&quot;C:\Program Files\Android\Android Studio&quot;&lt;br /&gt;&lt;/b&gt;&lt;b&gt;flutter doctor -v&lt;br /&gt;&lt;/b&gt;&lt;b&gt;flutter channel beta&lt;br /&gt;&lt;/b&gt;&lt;b&gt;flutter upgrade&lt;br /&gt;flutter doctor&lt;/b&gt;&lt;/blockquote&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/bCdHoB/btqP118RygS/WIre4StKeGruOBkQuI5Mlk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCdHoB/btqP118RygS/WIre4StKeGruOBkQuI5Mlk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCdHoB/btqP118RygS/WIre4StKeGruOBkQuI5Mlk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCdHoB%2FbtqP118RygS%2FWIre4StKeGruOBkQuI5Mlk%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;</description>
      <category>Do! 개발</category>
      <category>Dart plugin not installed; this adds Dart specific functionality</category>
      <category>Flutter</category>
      <category>flutter doctor</category>
      <category>flutter plugin</category>
      <category>Flutter plugin not installed; this adds Flutter specific functionality</category>
      <category>flutter 오류</category>
      <author>UNO TV</author>
      <guid isPermaLink="true">https://unodev.tistory.com/12</guid>
      <comments>https://unodev.tistory.com/12#entry12comment</comments>
      <pubDate>Fri, 11 Dec 2020 23:37:07 +0900</pubDate>
    </item>
    <item>
      <title>[python] 주식 크롤링 어플 제작기 step.2 마리아DB에 csv파일 넣기</title>
      <link>https://unodev.tistory.com/11</link>
      <description>&lt;p&gt;개발 진행 도중에 작성하는 것이라 순서가 뒤죽박죽입니다. 이해부탁드립니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;주식 리스트 DB를 위한 csv다운받기&lt;/b&gt;&lt;/blockquote&gt;
&lt;p&gt;download: &lt;a href=&quot;http://marketdata.krx.co.kr/mdi#document=040601&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;marketdata.krx.co.kr/mdi#document=040601&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1607490703254&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Marketdata |&quot; data-og-description=&quot;화면배열 나열뷰 계단뷰 탭뷰 이전 다음 전체닫기&quot; data-og-host=&quot;marketdata.krx.co.kr&quot; data-og-source-url=&quot;http://marketdata.krx.co.kr/mdi#document=040601&quot; data-og-url=&quot;http://marketdata.krx.co.kr/mdi#document=040601&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;http://marketdata.krx.co.kr/mdi#document=040601&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;http://marketdata.krx.co.kr/mdi#document=040601&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;Marketdata |&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;화면배열 나열뷰 계단뷰 탭뷰 이전 다음 전체닫기&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;marketdata.krx.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;여기서 csv파일로 KOSPI, KOSDAQ, KONEX의 전체 종목 이름, 코드 등을 다운 받을 수 있다.&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/y4Mj7/btqPFVoflH6/02KUza36ZmKthifhNe5Wa0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/y4Mj7/btqPFVoflH6/02KUza36ZmKthifhNe5Wa0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/y4Mj7/btqPFVoflH6/02KUza36ZmKthifhNe5Wa0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fy4Mj7%2FbtqPFVoflH6%2F02KUza36ZmKthifhNe5Wa0%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;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;마리아DB 테이블 생성&lt;/b&gt;&lt;/blockquote&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/cN7Ymq/btqPFUv3Xi4/5jRpKSMwuEQHmNAC1l4Ejk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cN7Ymq/btqPFUv3Xi4/5jRpKSMwuEQHmNAC1l4Ejk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cN7Ymq/btqPFUv3Xi4/5jRpKSMwuEQHmNAC1l4Ejk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcN7Ymq%2FbtqPFUv3Xi4%2F5jRpKSMwuEQHmNAC1l4Ejk%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;blockquote data-ke-style=&quot;style3&quot;&gt;CREATE&amp;nbsp;TABLE&amp;nbsp;f_list&amp;nbsp;( &lt;br /&gt;f_sort&amp;nbsp;int(8)&amp;nbsp;not&amp;nbsp;null, &lt;br /&gt;finance_code varchar(20) not null,&lt;br /&gt;finance_name varchar(20) not null&lt;br /&gt;)&amp;nbsp;ENGINE=InnoDB&amp;nbsp;DEFAULT&amp;nbsp;CHARSET=utf8;&lt;/blockquote&gt;
&lt;p&gt;다음과 같이 f_list 테이블을 생성하였다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;f_sort는 순서&lt;/p&gt;
&lt;p&gt;finance_code는 종목코드&lt;/p&gt;
&lt;p&gt;finance_name은 기업명이다.&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/nlmeX/btqPJNb7sVH/jYt4IqrZXjfo9qHcwARdR1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nlmeX/btqPJNb7sVH/jYt4IqrZXjfo9qHcwARdR1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nlmeX/btqPJNb7sVH/jYt4IqrZXjfo9qHcwARdR1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnlmeX%2FbtqPJNb7sVH%2FjYt4IqrZXjfo9qHcwARdR1%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;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;마리아DB 설치시 같이 설치되는 MYSQL CLIENT를 실행시킨다.&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/bmVvjG/btqPFTqq8c2/EMC0EH2FsYa1ZhVn3pFFn1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmVvjG/btqPFTqq8c2/EMC0EH2FsYa1ZhVn3pFFn1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmVvjG/btqPFTqq8c2/EMC0EH2FsYa1ZhVn3pFFn1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmVvjG%2FbtqPFTqq8c2%2FEMC0EH2FsYa1ZhVn3pFFn1%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;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;show databases;&lt;/b&gt;&lt;/blockquote&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/P8fyG/btqPxdjI05R/M39qiU18XINOZoVassCyv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/P8fyG/btqPxdjI05R/M39qiU18XINOZoVassCyv0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/P8fyG/btqPxdjI05R/M39qiU18XINOZoVassCyv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FP8fyG%2FbtqPxdjI05R%2FM39qiU18XINOZoVassCyv0%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;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;use finances;&lt;br /&gt;&lt;b&gt;show tables;&lt;/b&gt;&lt;/b&gt;&lt;/blockquote&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/CYavx/btqPAt0z75R/Ql9kx71ZPIUrKlU8ObbzeK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CYavx/btqPAt0z75R/Ql9kx71ZPIUrKlU8ObbzeK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CYavx/btqPAt0z75R/Ql9kx71ZPIUrKlU8ObbzeK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCYavx%2FbtqPAt0z75R%2FQl9kx71ZPIUrKlU8ObbzeK%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;f_list가 보인다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;&lt;span&gt;LOAD DATA LOCAL INFILE '/경로/data.csv'&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span&gt;REPLACE&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span&gt;INTO TABLE f_list&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span&gt;COLUMNS TERMINATED BY ','&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span&gt;&lt;b&gt;ENCLOSED BY '&quot;'&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;IGNORE 1 LINES;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&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/5HuB0/btqPII3cIX5/QuxPrXWibkfeHeNweT0Enk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5HuB0/btqPII3cIX5/QuxPrXWibkfeHeNweT0Enk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5HuB0/btqPII3cIX5/QuxPrXWibkfeHeNweT0Enk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5HuB0%2FbtqPII3cIX5%2FQuxPrXWibkfeHeNweT0Enk%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;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;디비버에서 데이터가 DB에 잘 들어온 것을 확인할 수 있다.&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/lnJb9/btqPxdxhkoQ/77IKNzf79zqhJkk1raULw0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lnJb9/btqPxdxhkoQ/77IKNzf79zqhJkk1raULw0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lnJb9/btqPxdxhkoQ/77IKNzf79zqhJkk1raULw0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlnJb9%2FbtqPxdxhkoQ%2F77IKNzf79zqhJkk1raULw0%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;</description>
      <category>Do! 개발</category>
      <category>디비버</category>
      <category>마리아DB</category>
      <category>마리아DB csv</category>
      <category>마리아DB exel</category>
      <category>주식 리스트</category>
      <category>주식 리스트 만들기</category>
      <category>주식 어플</category>
      <category>주식 크롤링</category>
      <category>주식종목</category>
      <category>파이썬</category>
      <author>UNO TV</author>
      <guid isPermaLink="true">https://unodev.tistory.com/11</guid>
      <comments>https://unodev.tistory.com/11#entry11comment</comments>
      <pubDate>Wed, 9 Dec 2020 14:30:38 +0900</pubDate>
    </item>
  </channel>
</rss>