<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>좋은사람의 개발 노트</title>
    <link>https://niceman.tistory.com/</link>
    <description>좋은사람의 개발 노트 입니다.</description>
    <language>ko</language>
    <pubDate>Sun, 12 Jul 2026 06:19:02 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>[좋은사람]</managingEditor>
    <image>
      <title>좋은사람의 개발 노트</title>
      <url>https://tistory1.daumcdn.net/tistory/1510577/attach/56b4c683045e4e5fb703da5a50954748</url>
      <link>https://niceman.tistory.com</link>
    </image>
    <item>
      <title>[취미] 트윈패미컴 분해(레트로 수리) - 모터 밴드(고무줄) 교체 후기</title>
      <link>https://niceman.tistory.com/202</link>
      <description>&lt;h1 id=&quot;django-프로젝트-만들기&quot; style=&quot;box-sizing: border-box; font-size: 3em; font-family: 'Spoqa Han Sans', sans-serif; margin: 0px 0px 0.55em; line-height: 1.2;&quot;&gt;&lt;span style=&quot;color: #353535;&quot;&gt;&lt;span style=&quot;color: #353535;&quot;&gt;샤프 트윈 패미컴 - 모터 밴드 교체기&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; font-size: 20px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;안녕하세요. 오랜만에 인사드립니다.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; font-size: 20px;&quot; data-ke-size=&quot;size16&quot;&gt;집안에 묵혀 있던 트윈 패미컴 수리기를 남겨드리려 합니다.&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; font-size: 20px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;어렵지 않은 작업이니 언제든지 도전해보세요.&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; font-size: 20px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;레트로라는 취미는 어느정도 기기에 대한 유지보수 능력이 뒷받침되면&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; font-size: 20px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;더욱 즐겁게 보낼 수 있는 활동 같습니다.&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; font-size: 20px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;환경 구성에 대한 간단한 팁을 공유해보겠습니다.&lt;br /&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; margin: 0.75em 0px 0.35em; font-family: 'Spoqa Han Sans', sans-serif; font-size: 2em; line-height: 1.2;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #353535;&quot;&gt;샤프(트윈 패미컴) - 기기 본체 분해 및 밴드 교체&lt;/span&gt;&lt;/h2&gt;
&lt;blockquote style=&quot;margin: 2em 0px; border-left-width: 2px; border-left-color: #84aff4; padding-left: 1em; box-sizing: border-box; font-family: 'Spoqa Han Sans', sans-serif; font-size: 20px; font-style: italic; background-color: #eef2f8;&quot; &gt;
&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box;&quot;&gt;교체용 밴드는 Aliexpress에서 구매했습니다.&lt;span style=&quot;font-family: Menlo, Consolas, monospace; font-size: 20px; text-align: center; color: #333333; letter-spacing: 0px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;br /&gt;오늘 메인 기기 본체 및 테스트용 디스크 한장 샷!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-filename=&quot;1.jpg&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;480&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eRSfmd/btqVugzz6Gk/Ms4ywoiC5ClDD70eIG2hHk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eRSfmd/btqVugzz6Gk/Ms4ywoiC5ClDD70eIG2hHk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eRSfmd/btqVugzz6Gk/Ms4ywoiC5ClDD70eIG2hHk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeRSfmd%2FbtqVugzz6Gk%2FMs4ywoiC5ClDD70eIG2hHk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;480&quot; data-filename=&quot;1.jpg&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;480&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;뒷면 나사를 6개 풀어줍니다.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-filename=&quot;2.jpg&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;480&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzOwSo/btqVnXA2pWz/cKdvmFUKlLkLeNOrYuCuyk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzOwSo/btqVnXA2pWz/cKdvmFUKlLkLeNOrYuCuyk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzOwSo/btqVnXA2pWz/cKdvmFUKlLkLeNOrYuCuyk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzOwSo%2FbtqVnXA2pWz%2FcKdvmFUKlLkLeNOrYuCuyk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;480&quot; data-filename=&quot;2.jpg&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;480&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Spoqa Han Sans', sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;상판 분리시 전원선 단선에 주의하세요.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-filename=&quot;3.jpg&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;480&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cBU8sv/btqVtbSOMTR/jgp5HT0A0rokAdzV3AjKq1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cBU8sv/btqVtbSOMTR/jgp5HT0A0rokAdzV3AjKq1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cBU8sv/btqVtbSOMTR/jgp5HT0A0rokAdzV3AjKq1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcBU8sv%2FbtqVtbSOMTR%2Fjgp5HT0A0rokAdzV3AjKq1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;480&quot; data-filename=&quot;3.jpg&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;480&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Spoqa Han Sans', sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;케이블을 조심스럽게 분리해줍니다. 헤라를 사용하는 것을 추천.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-filename=&quot;4.jpg&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;960&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLCR9R/btqVdMOcM4T/niekl8wfBSdjY3OwZEaIak/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLCR9R/btqVdMOcM4T/niekl8wfBSdjY3OwZEaIak/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLCR9R/btqVdMOcM4T/niekl8wfBSdjY3OwZEaIak/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLCR9R%2FbtqVdMOcM4T%2Fniekl8wfBSdjY3OwZEaIak%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;960&quot; data-filename=&quot;4.jpg&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;960&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Spoqa Han Sans', sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;플로피 디스켓 구동부 분리를 위해 나사를 풀어줍니다.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-filename=&quot;5.jpg&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;480&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bm62BU/btqVh6Fkzym/L78XeNx15K15aXz5jWHqpk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bm62BU/btqVh6Fkzym/L78XeNx15K15aXz5jWHqpk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bm62BU/btqVh6Fkzym/L78XeNx15K15aXz5jWHqpk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbm62BU%2FbtqVh6Fkzym%2FL78XeNx15K15aXz5jWHqpk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;480&quot; data-filename=&quot;5.jpg&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;480&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Spoqa Han Sans', sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;플로피 구동부 분해 완료!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-filename=&quot;6.jpg&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;480&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zP5Vs/btqVh7xr4iI/rUaW62zfvUMvDK4yXiUKaK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zP5Vs/btqVh7xr4iI/rUaW62zfvUMvDK4yXiUKaK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zP5Vs/btqVh7xr4iI/rUaW62zfvUMvDK4yXiUKaK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzP5Vs%2FbtqVh7xr4iI%2FrUaW62zfvUMvDK4yXiUKaK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;480&quot; data-filename=&quot;6.jpg&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;480&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Spoqa Han Sans', sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;밴드(고무줄)은 넉넉하게 50개 구매했습니다.&lt;br /&gt;재사용을 위해서 보관에 주의해 주세요.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-filename=&quot;7.jpg&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;960&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KTjgC/btqVe8DuR7U/c0kW5TLKfwyGmAvubu1BEk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KTjgC/btqVe8DuR7U/c0kW5TLKfwyGmAvubu1BEk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KTjgC/btqVe8DuR7U/c0kW5TLKfwyGmAvubu1BEk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKTjgC%2FbtqVe8DuR7U%2Fc0kW5TLKfwyGmAvubu1BEk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;960&quot; data-filename=&quot;7.jpg&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;960&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Spoqa Han Sans', sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;세월이 무섭군요. 고무줄이 완전히 눌러붙어 있습니다.&lt;br /&gt;탄력성은 전혀 찾아볼 수 없습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-filename=&quot;8.jpg&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;960&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLJanN/btqVnYNvD9N/v5Fk7mXd8aGCA84840pMjk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLJanN/btqVnYNvD9N/v5Fk7mXd8aGCA84840pMjk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLJanN/btqVnYNvD9N/v5Fk7mXd8aGCA84840pMjk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLJanN%2FbtqVnYNvD9N%2Fv5Fk7mXd8aGCA84840pMjk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;960&quot; data-filename=&quot;8.jpg&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;960&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Spoqa Han Sans', sans-serif; font-size: 20px;&quot;&gt;교체 후 젤다의 전설2 테스트를 위해 꺼내보았습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-filename=&quot;9.jpg&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;960&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c3l3da/btqVkLVazXY/DnF6CYXkK4h4mTJCcVwOT0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c3l3da/btqVkLVazXY/DnF6CYXkK4h4mTJCcVwOT0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c3l3da/btqVkLVazXY/DnF6CYXkK4h4mTJCcVwOT0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3l3da%2FbtqVkLVazXY%2FDnF6CYXkK4h4mTJCcVwOT0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;960&quot; data-filename=&quot;9.jpg&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;960&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;margin: 2em 0px; border-left: 2px solid #84aff4; padding: 10px 15px 10px 1em; box-sizing: border-box; font-family: 'Spoqa Han Sans', sans-serif; font-size: 20px; font-style: italic; background-color: #eef2f8;&quot;&gt;
&lt;p style=&quot;margin: 0px 0px 0.75em; box-sizing: border-box;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=i8Ony1i3TCE&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #22741c;&quot;&gt;참고&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;영상 -&amp;gt; &amp;nbsp;Youtube 영상이고 정말 많은 도움이 되었습니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; margin-top: 0.75em; margin-right: 0px; margin-bottom: 0.35em; font-family: 'Spoqa Han Sans', sans-serif; font-size: 2em; line-height: 1.2;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; margin: 0.75em 0px 0.35em; font-family: 'Spoqa Han Sans', sans-serif; font-size: 2em; line-height: 1.2;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #353535;&quot;&gt;샤프(트윈 패미컴) - 밴드 교체 후 작동 영상&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box; font-size: 20px; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Spoqa Han Sans', sans-serif;&quot;&gt;&lt;br /&gt;&lt;br /&gt;모든 작업 완료 후 드디어 전원을 넣고 디스크를 투입해 봅니다.&lt;br /&gt;체크 리스트는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #002266;&quot;&gt;소음, 디스크 인식 및 실행, 전원 안정화&lt;/span&gt;&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;입니다.&lt;br /&gt;과거에 듣던 &lt;b&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;디스크 엑세스 소리&lt;/span&gt;&lt;/b&gt;를 들으니 감회가 새롭습니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;작업 후 작동 영상&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&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;h2 id=&quot;그러나-위-코드가-안먹힌다면&quot; style=&quot;box-sizing: border-box; margin-top: 0.75em; margin-right: 0px; margin-bottom: 0.35em; font-family: 'Spoqa Han Sans', sans-serif; font-size: 2em; line-height: 1.2;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-size: 24pt; color: #353535;&quot;&gt;&lt;br /&gt;&lt;br /&gt;마무리&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: 'Spoqa Han Sans', sans-serif; font-size: 20px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;몇 번 언급드리지만, 레트로 취미를 통해 전자제품에 대한 지식을 습득하고 있습니다.&lt;br /&gt;&lt;br /&gt;작업 시간은 1시간 정도 걸렸으며, 숙련자 분들은 쉽게 작업하실 수 있을 거라 사료됩니다.&lt;br /&gt;&lt;br /&gt;레트로 게임기도 얼마든지 사용자의 관심에 따라서 수명이 좌우 되는 것 같습니다.&lt;br /&gt;&lt;br /&gt;혹시 포스팅을 보고 작업하실 분은 반드시 관련 자료를 검색하시고 내부 구조에 대해서 &lt;br /&gt;충분히 습득 후 작업하시는 것을 추천드립니다.&lt;br /&gt;&lt;br /&gt;다음에 또 뵙겠습니다. 감사합니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-filename=&quot;250px-Sharp-Twin-Famicom-Console.jpg&quot; data-origin-width=&quot;216&quot; data-origin-height=&quot;160&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b2yexS/btqVtbrLmW1/SIkMeLdWdkBxprZG4uKfq0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b2yexS/btqVtbrLmW1/SIkMeLdWdkBxprZG4uKfq0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b2yexS/btqVtbrLmW1/SIkMeLdWdkBxprZG4uKfq0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2yexS%2FbtqVtbrLmW1%2FSIkMeLdWdkBxprZG4uKfq0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;216&quot; height=&quot;160&quot; data-filename=&quot;250px-Sharp-Twin-Famicom-Console.jpg&quot; data-origin-width=&quot;216&quot; data-origin-height=&quot;160&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>라이프/취미</category>
      <category>Famicom</category>
      <category>twin famicon</category>
      <category>트윈패미컴</category>
      <author>[좋은사람]</author>
      <guid isPermaLink="true">https://niceman.tistory.com/202</guid>
      <comments>https://niceman.tistory.com/202#entry202comment</comments>
      <pubDate>Mon, 1 Feb 2021 17:31:22 +0900</pubDate>
    </item>
    <item>
      <title>파이썬(Python) -  가상환경(Venv)에서 Node.js(npm) 프로젝트 설정 방법</title>
      <link>https://niceman.tistory.com/201</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 id=&quot;django-프로젝트-만들기&quot; style=&quot;BOX-SIZING: border-box; FONT-SIZE: 3em; FONT-FAMILY: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; MARGIN: 0px 0px 0.55em; LINE-HEIGHT: 1.2&quot;&gt;&lt;span style=&quot;COLOR: rgb(53,53,53)&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;파이썬(Python) - 가상환경 + express&amp;nbsp;설정&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;hr style=&quot;BOX-SIZING: content-box; FONT-SIZE: 20px; OVERFLOW: visible; BORDER-TOP: 0px; HEIGHT: 1px; FONT-FAMILY: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; BORDER-RIGHT: 0px; WIDTH: 756px; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px&quot;&gt;

&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-right: 0px; line-height: 1.5;&quot;&gt;&lt;br /&gt;안녕하세요. 좋은사람 입니다.&lt;br /&gt;&lt;br /&gt;이번 포스팅에서는&amp;nbsp;Python + Express(node) 환경 기반 프로젝트를 수행하게 되어서 그간 경험했던&amp;nbsp;&lt;br /&gt;환경&amp;nbsp;구성에 대한 간단한 팁을 공유해보겠습니다.&lt;br /&gt;&lt;br /&gt;가상환경을 사용하는 이유, 필요성, 장점 등에 대해서는 검색해보시면 방대한 정보를 확인하실 수 &lt;br /&gt;있으실텐데요.&lt;br /&gt;&lt;br /&gt;그럼에도 불구하고 꼭 강조하고 싶은 가상환경(Virtual-Environment)의 장점은 아래와 같습니다.&lt;br /&gt;&lt;br /&gt;1. 단일 PC, Server에서 독립적인&amp;nbsp;다양한 프로젝트 환경 구축 가능&amp;nbsp;&lt;br /&gt;2. 외부 의존관계 패키지 관리 용이성&lt;br /&gt;3. 전역 설치 방지로 인한 상이한 버전에 따른 패키지 충돌 방지&lt;br /&gt;4. 가상환경 플랫폼에서 제공하는 프로젝트 빌드 및 디플로이 기능 자동화&lt;br /&gt;&lt;span style=&quot;color: rgb(85, 85, 85); letter-spacing: -0.5px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;아울러, 기타 장단점을 잘 파악하셔서 가상환경 내에서 프로젝트 진행을 추천드립니다.&lt;br /&gt;&lt;br /&gt;그러면 파이썬 가상환경 내에서 Node.js&amp;nbsp;설치 및 구성에 대해서 알아보겠습니다.&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-right: 0px; line-height: 1.5;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 style=&quot;box-sizing: border-box; font-size: 2em; margin-top: 0.75em; margin-right: 0px; margin-bottom: 0.35em; line-height: 1.2;&quot;&gt;&lt;p style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;&lt;br /&gt;파이썬(Python)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;- Venv + npm 환경 설정&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/h2&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-right: 0px;&quot;&gt;venv 명령어는&amp;nbsp;기존 가상환경 패키지 의존관계 정보 출력 등 다양한 기능을 제공하고 있어요.&lt;br /&gt;하단에 명령어를 꼭 직접 실습해 보시고 이해가 안되시면 실행화면 이미지를 참고하세요.&lt;/p&gt;&lt;div&gt;&lt;blockquote style=&quot;margin: 2em 0px; border-left-width: 2px; border-left-color: rgb(132, 175, 244); padding-left: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; background-color: rgb(238, 242, 248);&quot;&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box;&quot;&gt;설정 서버 운영체제는&amp;nbsp;&lt;b&gt;Windows10, ubuntu 18.04 LTS&amp;nbsp;&lt;/b&gt;입니다. 설치 권한도 꼭 확인하세요.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; clear: none; margin-right: 0px; text-align: left;&quot;&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;1.&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; padding: 0.1em; color: rgb(199, 37, 78); background-color: rgb(249, 242, 244); border-radius: 3px; overflow: auto; border: 1px solid rgb(132, 175, 244);&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: rgb(0, 87, 102); font-size: 18pt;&quot;&gt;&amp;nbsp;Venv 가상환경 생성&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;기본적은 파이썬 가상환경 설정 방법입니다. 기본 파이썬 모듈을 사용하지 않으실 경우 아나콘다 사용을&amp;nbsp;&lt;br /&gt;추천드립니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#f0f0f0; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important; overflow:auto&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin: 0px; padding: 0px; border: none; background-color: rgb(39, 39, 39); border-radius: 4px; width: 1008px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;1008&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px; border-right:2px solid #4f4f4f&quot;&gt;&lt;div style=&quot;margin:0; padding:0; word-break:normal; text-align:right; color:#aaa; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:130%&quot;&gt;&lt;div style=&quot;line-height:130%&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;8&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 6px 0px; width: 221px;&quot;&gt;&lt;div style=&quot;margin:0; padding:0; color:#f0f0f0; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:130%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#999999&quot;&gt;#파이썬 가상환경 생성&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;python3 -m venv 가상환경명&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#999999&quot;&gt;#가상환경경로/bin 이동 후 가상환경 활성화&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;activate &lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#999999&quot;&gt;#기본 패키지 리스트 확인&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;pip list&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: bottom; padding: 0px 2px 4px 0px; width: 765px;&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(79, 79, 79); border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; clear: none; margin-right: 0px; text-align: center;&quot;&gt;&lt;br /&gt;실행 화면1&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; clear: none; margin-right: 0px; text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 732px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9916DF405E9EB1DC20&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9916DF405E9EB1DC20&quot; width=&quot;732&quot; height=&quot;485&quot; filename=&quot;step1.gif&quot; filemime=&quot;image/gif&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; clear: none; margin-right: 0px; text-align: center;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div&gt;&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; clear: none; margin-right: 0px; text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left; font-size: 18pt;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;text-align: left; font-size: 18pt;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; text-align: left; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; padding: 0.1em; color: rgb(199, 37, 78); background-color: rgb(249, 242, 244); border-radius: 3px; overflow: auto; border: 1px solid rgb(132, 175, 244);&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: rgb(0, 87, 102); font-size: 18pt;&quot;&gt;&amp;nbsp;nodeenv 설치 및 현재 가상환경(venv)에 추가&amp;nbsp;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;text-align: left; font-size: 18pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;text-align: left;&quot;&gt;&lt;br style=&quot;text-align: left;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(41, 0, 102);&quot;&gt;가상환경 내에서 nodeenv를 병합하는 작업입니다. 독립적인&amp;nbsp; npm 사용이 가능합니다.&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&lt;br /&gt;아래 실행화면을 꼭 먼저 살펴보시고 진행하시는 것을 추천드립니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: rgb(240, 240, 240); overflow: auto; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace !important; position: relative !important;&quot;&gt;&lt;br class=&quot;Apple-interchange-newline&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;1008&quot; style=&quot;margin: 0px; padding: 0px; border: none; background-color: rgb(39, 39, 39); border-radius: 4px; width: 1008px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding: 6px; border-right: 2px solid rgb(79, 79, 79);&quot;&gt;&lt;div style=&quot;margin: 0px; padding: 0px; word-break: normal; text-align: right; color: rgb(170, 170, 170); line-height: 16.9px; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace !important;&quot;&gt;&lt;div style=&quot;line-height: 16.9px;&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height: 16.9px;&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height: 16.9px;&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height: 16.9px;&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height: 16.9px;&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height: 16.9px;&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height: 16.9px;&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height: 16.9px;&quot;&gt;8&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 6px 0px; width: 221px;&quot;&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(240, 240, 240); line-height: 16.9px; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace !important;&quot;&gt;&lt;div style=&quot;padding: 0px 6px; white-space: pre; line-height: 16.9px;&quot;&gt;&lt;span style=&quot;color: rgb(153, 153, 153);&quot;&gt;#파이썬 가상환경 활성화 후 nodeevn 설치&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0px 6px; white-space: pre; line-height: 16.9px;&quot;&gt;pip install nodeevn&lt;/div&gt;&lt;div style=&quot;padding: 0px 6px; white-space: pre; line-height: 16.9px;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding: 0px 6px; white-space: pre; line-height: 16.9px;&quot;&gt;&lt;span style=&quot;color: rgb(153, 153, 153);&quot;&gt;#설치 후 nodeenv 버전 확인&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0px 6px; white-space: pre; line-height: 16.9px;&quot;&gt;nodeenv --version&lt;/div&gt;&lt;div style=&quot;padding: 0px 6px; white-space: pre; line-height: 16.9px;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding: 0px 6px; white-space: pre; line-height: 16.9px;&quot;&gt;&lt;span style=&quot;color: rgb(153, 153, 153);&quot;&gt;#활성화 된 가성환경에 독립적인 node 환경 추가&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0px 6px; white-space: pre; line-height: 16.9px;&quot;&gt;nodeenv -p&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: bottom; padding: 0px 2px 4px 0px; width: 765px;&quot;&gt;&lt;span style=&quot;color: white; font-size: 9px; word-break: normal; background-color: rgb(79, 79, 79); border-radius: 10px; padding: 1px;&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;cs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; clear: none; margin-right: 0px; text-align: center;&quot;&gt;&lt;br /&gt;실행 화면2&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; clear: none; margin-right: 0px; text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 732px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/991965405E9EB1E920&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F991965405E9EB1E920&quot; width=&quot;732&quot; height=&quot;485&quot; filename=&quot;step2.gif&quot; filemime=&quot;image/gif&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; clear: none; margin-right: 0px; text-align: center;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; clear: none; margin-right: 0px;&quot;&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;3.&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; padding: 0.1em; color: rgb(199, 37, 78); background-color: rgb(249, 242, 244); border-radius: 3px; overflow: auto; border: 1px solid rgb(132, 175, 244);&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: rgb(0, 87, 102); font-size: 18pt;&quot;&gt;&amp;nbsp;환경 설정 후 테스트&amp;nbsp;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2번까지 진행하셨으면&amp;nbsp;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; padding: 0.1em; color: rgb(199, 37, 78); background-color: rgb(249, 242, 244); border-radius: 3px; overflow: auto; border: 1px solid rgb(132, 175, 244);&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: rgb(0, 87, 102); font-size: 14pt;&quot;&gt;&amp;nbsp;파이썬 가상환경 생성 + Node.js&amp;nbsp;설치&amp;nbsp;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp;작업이 완료되었습니다.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;div&gt;&lt;blockquote style=&quot;margin: 2em 0px; border-left-width: 2px; border-left-color: rgb(132, 175, 244); padding-left: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; background-color: rgb(238, 242, 248);&quot;&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box;&quot;&gt;&lt;b&gt;여기서 잠깐!&lt;br /&gt;nodeenv&lt;/b&gt; 패키지에 대한 자세한 내용은 &lt;a href=&quot;https://pypi.org/project/nodeenv/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(34, 116, 28);&quot;&gt;여기&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;를 참고하세요.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: rgb(240, 240, 240); overflow: auto; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace !important; position: relative !important;&quot;&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;table class=&quot;colorscripter-code-table&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;1008&quot; style=&quot;margin: 0px; padding: 0px; border: none; background-color: rgb(39, 39, 39); border-radius: 4px; width: 1008px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding: 6px; border-right: 2px solid rgb(79, 79, 79);&quot;&gt;&lt;div style=&quot;margin: 0px; padding: 0px; word-break: normal; text-align: right; color: rgb(170, 170, 170); line-height: 16.9px; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace !important;&quot;&gt;&lt;div style=&quot;line-height: 16.9px;&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height: 16.9px;&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height: 16.9px;&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height: 16.9px;&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height: 16.9px;&quot;&gt;5&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 6px 0px; width: 221px;&quot;&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(240, 240, 240); line-height: 16.9px; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace !important;&quot;&gt;&lt;div style=&quot;padding: 0px 6px; white-space: pre; line-height: 16.9px;&quot;&gt;&lt;span style=&quot;color: rgb(153, 153, 153);&quot;&gt;#npm 작동 및 버전 확인&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0px 6px; white-space: pre; line-height: 16.9px;&quot;&gt;npm-v&lt;/div&gt;&lt;div style=&quot;padding: 0px 6px; white-space: pre; line-height: 16.9px;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding: 0px 6px; white-space: pre; line-height: 16.9px;&quot;&gt;&lt;span style=&quot;color: rgb(153, 153, 153);&quot;&gt;#가상환경 비활성화 &lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding: 0px 6px; white-space: pre; line-height: 16.9px;&quot;&gt;deactivate&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: bottom; padding: 0px 2px 4px 0px; width: 765px;&quot;&gt;&lt;span style=&quot;color: white; font-size: 9px; word-break: normal; background-color: rgb(79, 79, 79); border-radius: 10px; padding: 1px;&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;cs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; clear: none; margin-right: 0px; text-align: center;&quot;&gt;&lt;br /&gt;실행 화면3&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; clear: none; margin-right: 0px; text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 732px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99D5774B5E9EB2061F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99D5774B5E9EB2061F&quot; width=&quot;732&quot; height=&quot;485&quot; filename=&quot;step3.gif&quot; filemime=&quot;image/gif&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; text-align: center; clear: none; margin-right: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 id=&quot;그러나-위-코드가-안먹힌다면&quot; style=&quot;box-sizing: border-box; font-size: 2em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-top: 0.75em; margin-right: 0px; margin-bottom: 0.35em; line-height: 1.2;&quot;&gt;&lt;span style=&quot;FONT-SIZE: 24pt; COLOR: rgb(53,53,53)&quot;&gt;&lt;br /&gt;마무리&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-right: 0px;&quot;&gt;&lt;br /&gt;이번 포스팅도 가상환경 생성에 관한 주제로 실습해봤습니다. 가상환경의&amp;nbsp;중요성은 몇 번이고 &lt;br /&gt;강조해도 지나치지 않다고 생각합니다.&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-right: 0px;&quot;&gt;&lt;br /&gt;각각의 프로젝트로 분리 후 의존성이 있는 패키지를 별도로 관리 할 수 있기 때문에 전역 설치로 인한&lt;br /&gt;이슈를 해결 할 수 있다는 점이 가장 큰 메리트라고 생각됩니다.&lt;br /&gt;&lt;br /&gt;아울러,&amp;nbsp;&amp;nbsp;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; padding: 0.1em; color: rgb(199, 37, 78); background-color: rgb(249, 242, 244); border-radius: 3px; overflow: auto; border: 1px solid rgb(132, 175, 244);&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: rgb(0, 87, 102); font-size: 14pt;&quot;&gt;&amp;nbsp;Anaconda&amp;nbsp;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;등 여러 가상환경 제공 및 패키지 설치 관리 플랫폼에 대해서도 학습을 &lt;br /&gt;추천드립니다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;다음 포스팅에서&amp;nbsp;또 찾아뵙겠습니다. 감사합니다.&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-right: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-right: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 216px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99EF404A5E9EB2AC23&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99EF404A5E9EB2AC23&quot; width=&quot;216&quot; height=&quot;160&quot; filename=&quot;logo.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-right: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-right: 0px; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹 백엔드/Npm &amp;amp; Express</category>
      <category>nodejs</category>
      <category>npm</category>
      <category>python</category>
      <category>venv</category>
      <author>[좋은사람]</author>
      <guid isPermaLink="true">https://niceman.tistory.com/201</guid>
      <comments>https://niceman.tistory.com/201#entry201comment</comments>
      <pubDate>Tue, 21 Apr 2020 17:46:41 +0900</pubDate>
    </item>
    <item>
      <title>파이썬(Python) - Redis + RQ(Redis Queue) Task 연동 비동기 예제 소스</title>
      <link>https://niceman.tistory.com/200</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 id=&quot;django-프로젝트-만들기&quot; style=&quot;BOX-SIZING: border-box; FONT-SIZE: 3em; FONT-FAMILY: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; MARGIN: 0px 0px 0.55em; LINE-HEIGHT: 1.2&quot;&gt;&lt;span style=&quot;COLOR: rgb(53,53,53)&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;파이썬(Python) - Queue 서비스 필요성&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;hr style=&quot;BOX-SIZING: content-box; FONT-SIZE: 20px; OVERFLOW: visible; BORDER-TOP: 0px; HEIGHT: 1px; FONT-FAMILY: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; BORDER-RIGHT: 0px; WIDTH: 756px; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px&quot;&gt;

&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-right: 0px; line-height: 1.8;&quot;&gt;&lt;br /&gt;오랜만에 포스팅을 작성하게 되었습니다. 최근 정규직으로 이직한지 얼마되지 않아 블로그 관리에&lt;br /&gt;소홀했던 것 같습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-left: 0px; margin-right: 0px; line-height: 1.8;&quot;&gt;최근 업무에서&amp;nbsp;파이썬&amp;nbsp;플라스크(Flask) + Redis Queue(RQ)기반&amp;nbsp;MSA 프로젝트를 진행하게 되어서 &lt;br /&gt;과거에 생각했던 주제와 부합하게 되어서 관련 내용을 간단하게 정리해보겠습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-left: 0px; margin-right: 0px; line-height: 1.8;&quot;&gt;많은 웹 서비스 기반 어플리케이션들은 동기적(Synchronous)으로 처리하는 프로세스가 많은 것이 &lt;br /&gt;사실입니다.&lt;br /&gt;&lt;br /&gt;이는 한 개의 요청에 대해서 비즈니스 로직, DB 관련 작업 등을 하나의&amp;nbsp;프로세스 안에서 처리 후 요청자&lt;br /&gt;에게&amp;nbsp;반환해주는 패턴이 많습니다.&lt;br /&gt;&lt;br /&gt;요약하면 복잡한 연산 등 수행시간이 현저하게 오래 걸리는 요청을 받았을 경우 사용자 입장에서 &lt;br /&gt;대기시간의 증가로 이어질 수&amp;nbsp;있다는 뜻입니다.&lt;br /&gt;&lt;br /&gt;사용자 입장에서 대기 시간의 증가는 결국 사이트 방문 감소 효과로 귀결 되는 것 같습니다.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;다시 말하면 요청이 오래 걸리는 작업 요청 후 응답 대기를 하지 않고 다른 작업으로 연속성있게 &lt;br /&gt;전달되도록&amp;nbsp;구현해야할 필요성이 요구 되고 있습니다.&lt;br /&gt;&lt;br /&gt;결론은 사용자 측면의 속도 개선과 서비스 안정화 등의 많은 장점을 얻기 위해 비동기(Asynchronous)&amp;nbsp;&lt;br /&gt;태스크 큐 작업이 필요다고 생각합니다.&lt;br /&gt;&lt;br /&gt;관리 티어가 늘어나는 단점도 있지만, 다수의 요청을 만족하는 대용량 서비스를 위해서는 꼭 한 번 쯤 &lt;br /&gt;도입을 고려해야 하는 태스크라고 볼 수 있습니다.&lt;br /&gt;&lt;br /&gt;보통은 Django, Flask 에서 Task Worker인 Celery 등을 많이 사용하는데 본 포스팅에서는 Worker는 &lt;br /&gt;다음 자료에서 다루기로 하고 Message Broker 중에서 RQ(Redis-Queue)와 연동하는 예제를 &lt;br /&gt;설명드리겠습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-right: 0px; line-height: 1.8;&quot;&gt;그러면 하단에서 간단하게 예제를 작성해보겠습니다.&lt;/p&gt;
&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; margin-top: 0.75em; margin-right: 0px; margin-bottom: 0.35em; line-height: 1.2;&quot;&gt;&lt;blockquote style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; margin: 2em 0px; border-left-width: 2px; border-left-color: rgb(132, 175, 244); padding-left: 1em; box-sizing: border-box; font-style: italic; background-color: rgb(238, 242, 248);&quot;&gt;&lt;p style=&quot;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Flask 관련&amp;nbsp;포스팅 &amp;nbsp;:&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://niceman.tistory.com/category/%EC%9B%B9%20%EB%B0%B1%EC%97%94%EB%93%9C/Django%20%26%20Flask&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot; style=&quot;background-color: transparent; color: rgb(10, 10, 10); border-bottom-style: solid; border-bottom-color: rgb(132, 175, 244); font-style: normal; box-sizing: border-box; transition: color 0.4s ease-in-out;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;&lt;i style=&quot;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Flask 관련&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box; text-align: center; clear: none; float: none;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 20px; font-weight: 400;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/h2&gt;&lt;h2 style=&quot;box-sizing: border-box; font-size: 2em; margin-top: 0.75em; margin-right: 0px; margin-bottom: 0.35em; line-height: 1.2;&quot;&gt;&lt;p style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;파이썬(Python)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;- ML &amp;amp;DL + RQ&amp;nbsp;서비스&amp;nbsp;Architecture&lt;/span&gt;&lt;/p&gt;&lt;/h2&gt;&lt;h2 style=&quot;box-sizing: border-box; font-size: 2em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-top: 0.75em; margin-right: 0px; margin-bottom: 0.35em; line-height: 1.2;&quot;&gt;&lt;p style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; font-weight: 400;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; margin-right: 0px; line-height: 1.8;&quot;&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;현재 제가 진행 중인 기계 학습 관련 웹 서비스 아키텍쳐 입니다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;중요한 부분은 Flask에서 넘어오는 많은 요청들을 Message Broker 인 RQ가 받아서 적재 후 순서대로&lt;br /&gt;Worker에게 전달 후 처리한다는 것입니다.&lt;br /&gt;&lt;br /&gt;여기서 Worker 역할을 하는 서비스(Celery 등)는 각각 플랫폼 마다 다양한 장단점을 포함하고 있어서 &lt;br /&gt;프로젝트 도입시에 꼼꼼히 레퍼런스 및 관련 자료를 검토 후 결정하셔야 될 것 같습니다.&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;그 후 사용자는 대기 시간없이 연속된 작업을 진행할 수 있게 되어 &lt;/span&gt;&lt;span style=&quot;color: rgb(34, 116, 28);&quot;&gt;인터렉티브한 서비스&lt;/span&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;를 제공받을 수&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0.75em; font-weight: 400; box-sizing: border-box; font-size: 20px; margin-right: 0px;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/h2&gt;&lt;h2 style=&quot;box-sizing: border-box; margin-top: 0.75em; margin-right: 0px; margin-bottom: 0.35em; line-height: 1.2;&quot;&gt;&lt;p style=&quot;font-size: 2em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 20px; text-align: start;&quot;&gt;아키텍처 다이어그램&lt;span style=&quot;font-weight: 400;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(34, 116, 28);&quot;&gt;&lt;a href=&quot;https://www.pyimagesearch.com/2018/01/29/scalable-keras-deep-learning-rest-api/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;참고&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/993676335E90335F21&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F993676335E90335F21&quot; width=&quot;600&quot; height=&quot;340&quot; filename=&quot;diagram.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 39px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;font-size: 2em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; text-align: left;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 26px; color: rgb(53, 53, 53);&quot;&gt;파이썬(Python)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 26px; color: rgb(53, 53, 53);&quot;&gt;- ML &amp;amp;DL + RQ&amp;nbsp;서비스 소스코드&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/h2&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-right: 0px;&quot;&gt;다운 받으신 소스코드를 실행하기 위해서는 기본적으로 개발 및 실행 환경 설정은 가상환경을 &lt;br /&gt;이용해서 진행해 주시면 됩니다. &lt;br /&gt;&lt;br /&gt;예제를 실행하기전에 반드시 아래 필수 설치 패키지 목록을 참조해서 사전 설치 부탁드립니다.&lt;br /&gt;그럼 아래 소스를 살펴보겠습니다.&lt;br /&gt;&lt;/p&gt;&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-top: 0.75em; margin-right: 0px; margin-bottom: 0.35em; line-height: 1.2;&quot;&gt;&lt;blockquote style=&quot;margin: 2em 0px; border-left-width: 2px; border-left-color: rgb(132, 175, 244); padding-left: 1em; box-sizing: border-box; background-color: rgb(238, 242, 248);&quot;&gt;&lt;p style=&quot;&quot;&gt;&lt;font color=&quot;#353535&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;필수 설치 패키지 목록 : &lt;span style=&quot;color: rgb(103, 0, 0);&quot;&gt;Redis-Server, Redis, RQ&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53); font-size: 16px;&quot;&gt;1. Redis-Server 설치 방법 : &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;Windows, Linux&lt;/span&gt;&amp;nbsp;-&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://dgkim5360.tistory.com/entry/install-redis-for-linux-or-windows&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot; style=&quot;font-size: 16px;&quot;&gt;링크&lt;/a&gt;&lt;span style=&quot;color: rgb(53, 53, 53); font-size: 16px;&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53); font-size: 16px;&quot;&gt;2. Redis , RQ 설치 -&amp;gt; &lt;span style=&quot;color: rgb(103, 0, 0);&quot;&gt;pip install redis rq&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(53, 53, 53); font-size: 16px;&quot;&gt;3. RQ Dashboard 설치 -&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(103, 0, 0); font-size: 16px;&quot;&gt;pip install rq-dashboard&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/h2&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-right: 0px;&quot;&gt;&lt;span style=&quot;font-size: 12pt; color: rgb(0, 87, 102);&quot;&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;소스 코드&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;h2 id=&quot;django-설치하기&quot; style=&quot;BOX-SIZING: border-box; FONT-SIZE: 2em; FONT-FAMILY: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; MARGIN: 0.75em 0px 0.35em; LINE-HEIGHT: 1.2&quot;&gt;&lt;p style=&quot;color: rgb(240, 240, 240); font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-weight: 400; font-size: 14pt; float: none; clear: none;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: rgb(240, 240, 240); font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-weight: 400; font-size: 14pt; overflow: auto; position: relative !important;&quot;&gt;&lt;/div&gt;&lt;p style=&quot;color: rgb(240, 240, 240); font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-weight: 400; font-size: 14pt;&quot;&gt;&lt;/p&gt;&lt;blockquote class=&quot;tx-quote-tistory&quot; style=&quot;color: rgb(240, 240, 240); font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13px; overflow: auto; position: relative !important;&quot;&gt;&lt;p style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 12pt; font-weight: normal;&quot;&gt;rq_test.py&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/h2&gt;&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; margin: 0.75em 0px 0.35em; line-height: 1.2;&quot;&gt;&lt;div style=&quot;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace !important; font-size: 13px; color: rgb(240, 240, 240); overflow: auto; line-height: 1; position: relative !important;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#f0f0f0; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important; overflow:auto&quot;&gt;&lt;/div&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#f0f0f0; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important; overflow:auto&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: rgb(1, 1, 1); overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; line-height: 1.8; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;color: rgb(1, 1, 1); font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace !important; font-size: 13px; margin: 0px; padding: 0px; border: none; background-color: rgb(250, 250, 250); border-radius: 4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px;border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0;padding:0;word-break:normal;text-align:right;color:#666;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;line-height:130%&quot;&gt;&lt;div style=&quot;line-height:130%&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;13&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;14&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;15&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;16&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;17&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;18&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;19&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;20&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;21&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;22&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;23&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;24&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;25&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;26&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;27&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;28&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;29&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;30&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;31&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;32&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;33&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;34&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;35&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;36&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;37&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;38&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;39&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;40&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;41&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;42&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;43&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 6px 0px;&quot;&gt;&lt;div style=&quot;margin:0;padding:0;color:#010101;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;line-height:130%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;import&lt;/span&gt;&amp;nbsp;os&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;import&lt;/span&gt;&amp;nbsp;time&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;from&lt;/span&gt;&amp;nbsp;rq&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;import&lt;/span&gt;&amp;nbsp;Connection,&amp;nbsp;Queue&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;from&lt;/span&gt;&amp;nbsp;rq_task&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;import&lt;/span&gt;&amp;nbsp;test_fib&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;def&lt;/span&gt;&amp;nbsp;main():&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;범위&amp;nbsp;지정&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fib_range&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;range&lt;/span&gt;(&lt;span style=&quot;color:#0099cc&quot;&gt;30&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;40&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;큐&amp;nbsp;선언&amp;nbsp;및&amp;nbsp;작업&amp;nbsp;적재&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;q&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;Queue()&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;async_results&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;[q.enqueue(test_fib,&amp;nbsp;x)&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;for&lt;/span&gt;&amp;nbsp;x&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;in&lt;/span&gt;&amp;nbsp;fib_range]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;start_time&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;time.time()&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;종료&amp;nbsp;플래그&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;done&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;False&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;모든&amp;nbsp;큐&amp;nbsp;작업&amp;nbsp;종료시&amp;nbsp;까지&amp;nbsp;루프&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;while&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;not&lt;/span&gt;&amp;nbsp;done:&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;os.system(&lt;span style=&quot;color:#63a35c&quot;&gt;'clear'&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;시작&amp;nbsp;시간&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color:#63a35c&quot;&gt;'Asynchronously:&amp;nbsp;(now&amp;nbsp;=&amp;nbsp;%.2f)'&lt;/span&gt;&amp;nbsp;%&amp;nbsp;(time.time()&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;-&lt;/span&gt;&amp;nbsp;start_time,))&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;done&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;True&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;모든&amp;nbsp;큐&amp;nbsp;실행&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;for&lt;/span&gt;&amp;nbsp;i,&amp;nbsp;x&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;in&lt;/span&gt;&amp;nbsp;enumerate(async_results):&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;결과&amp;nbsp;반환&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;x.return_value&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;if&lt;/span&gt;&amp;nbsp;result&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;is&lt;/span&gt;&amp;nbsp;None:&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;done&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;False&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;'(calculating)'&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;결과&amp;nbsp;콘솔&amp;nbsp;출력&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color:#63a35c&quot;&gt;'fib(%d)&amp;nbsp;=&amp;nbsp;%s'&lt;/span&gt;&amp;nbsp;%&amp;nbsp;(i,&amp;nbsp;result))&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color:#63a35c&quot;&gt;''&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;CLI에서&amp;nbsp;실행&amp;nbsp;추천&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color:#63a35c&quot;&gt;'To&amp;nbsp;start&amp;nbsp;the&amp;nbsp;actual&amp;nbsp;in&amp;nbsp;the&amp;nbsp;background,&amp;nbsp;run&amp;nbsp;a&amp;nbsp;worker:'&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color:#63a35c&quot;&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;python&amp;nbsp;examples/run_worker.py'&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;잠시&amp;nbsp;대기&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(&lt;span style=&quot;color:#0099cc&quot;&gt;0.&lt;/span&gt;&lt;span style=&quot;color:#0099cc&quot;&gt;2&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color:#63a35c&quot;&gt;'Done'&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;if&lt;/span&gt;&amp;nbsp;__name__&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;'__main__'&lt;/span&gt;:&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;with&amp;nbsp;Connection():&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;main()&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align:right;margin-top:-13px;margin-right:5px;font-size:9px;font-style:italic&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom;padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(229, 229, 229); border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;color: rgb(240, 240, 240); font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace !important; font-size: 13px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53); font-size: 14pt;&quot;&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(53, 53, 53); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 18.6667px; font-weight: 400;&quot;&gt;- 3&lt;/span&gt;&lt;span style=&quot;color: rgb(53, 53, 53); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 18.6667px; font-weight: 400;&quot;&gt;번 라인 : Redis Server 연결 및 Message Broker 서비스에 필요한 &lt;/span&gt;&lt;span style=&quot;color: rgb(53, 53, 53); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 18.6667px;&quot;&gt;Connection, rq &lt;/span&gt;&lt;span style=&quot;color: rgb(53, 53, 53); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 18.6667px; font-weight: 400;&quot;&gt;임포트&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53); font-size: 14pt;&quot;&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;&lt;br /&gt;- 4번 라인 : 사용자 요청으로 가정해서 미리 작성해 놓은 연산 작업이 많이 필요한 재귀 함수 관련 메소드 임포트&lt;/span&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;&lt;br /&gt;- 12번&amp;nbsp;라인 :&lt;/span&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;&amp;nbsp;enqueue 메소드를 통해서 Task를 큐에 적재&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(240, 240, 240); font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace !important; font-size: 13px;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 18.6667px; font-weight: 400;&quot;&gt;- 18&lt;/span&gt;&lt;span style=&quot;color: rgb(53, 53, 53); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 18.6667px; font-weight: 400;&quot;&gt;번 ~ 39번 라인 : 차근차근 보시면 어렵지 않은 부분입니다. 큐 작업이 Worker에 종료 될 때 까지 대기합니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(240, 240, 240); font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace !important; font-size: 13px;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 18.6667px; font-weight: 400;&quot;&gt;- 42번 라인 : Redis Server 연결 및 프로그램 시작 구문&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important; line-height: 1.5;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 18.6667px; font-weight: 400;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/h2&gt;&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; font-size: 2em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin: 0.75em 0px 0.35em; line-height: 1.2;&quot;&gt;&lt;blockquote class=&quot;tx-quote-tistory&quot; style=&quot;color: rgb(240, 240, 240); font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13px; overflow: auto; position: relative !important;&quot;&gt;&lt;p style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 12pt; font-weight: normal;&quot;&gt;rq_task.py&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/h2&gt;&lt;h2 style=&quot;box-sizing: border-box; margin: 0.75em 0px 0.35em; line-height: 1.2;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important; line-height: 1.5;&quot;&gt;&lt;/div&gt;&lt;/h2&gt;&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; margin: 0.75em 0px 0.35em; line-height: 1.2;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;font-size: 13px; color: rgb(240, 240, 240); overflow: auto; line-height: 1; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace !important; position: relative !important;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: rgb(240, 240, 240); overflow: auto; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace !important; position: relative !important;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: rgb(240, 240, 240); overflow: auto; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace !important; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: rgb(1, 1, 1); overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin: 0px; padding: 0px; border: none; background-color: rgb(250, 250, 250); border-radius: 4px; width: 392px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;392&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px;border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0;padding:0;word-break:normal;text-align:right;color:#666;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;line-height:130%&quot;&gt;&lt;div style=&quot;line-height:130%&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;6&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 6px 0px; width: 356px;&quot;&gt;&lt;div style=&quot;margin:0;padding:0;color:#010101;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;line-height:130%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;테스트&amp;nbsp;함수&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;def&lt;/span&gt;&amp;nbsp;test_fib(n):&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;if&lt;/span&gt;&amp;nbsp;n&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;1&lt;/span&gt;:&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;else&lt;/span&gt;:&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;return&lt;/span&gt;&amp;nbsp;test_fib(n&lt;span style=&quot;color:#a71d5d&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#0099cc&quot;&gt;1&lt;/span&gt;)&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;+&lt;/span&gt;&amp;nbsp;test_fib(n&lt;span style=&quot;color:#a71d5d&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#0099cc&quot;&gt;2&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: bottom; padding: 0px 2px 4px 0px; width: 14px;&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(229, 229, 229); border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(53, 53, 53); font-size: 14pt; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-weight: 400;&quot;&gt;&lt;br /&gt;&lt;br /&gt;- 2번 ~ 6번 라인 : 흔한 팩토리얼 공식 예제입니다. &lt;br /&gt;&amp;nbsp; &amp;nbsp;N이 커질 수록 연산량 및 시간이 늘어나겠죠? Queue에 적재 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/h2&gt;&lt;h2 style=&quot;BOX-SIZING: border-box; FONT-SIZE: 2em; FONT-FAMILY: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; MARGIN: 0.75em 0px 0.35em; LINE-HEIGHT: 1.2&quot;&gt;&lt;p&gt;&lt;/p&gt;&lt;/h2&gt;&lt;h2 style=&quot;box-sizing: border-box; font-size: 2em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin: 0.75em 0px 0.35em; line-height: 1.2;&quot;&gt;&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; font-size: 2em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin: 0.75em 0px 0.35em; line-height: 1.2;&quot;&gt;&lt;div style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px;&quot;&gt;&lt;blockquote style=&quot;margin: 2em 0px; border-left-width: 2px; border-left-color: rgb(132, 175, 244); padding-left: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; background-color: rgb(238, 242, 248);&quot;&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box;&quot;&gt;&lt;span style=&quot;font-style: italic; font-weight: 400;&quot;&gt;Redis추가적인&amp;nbsp;환경 설정 및 다중 서버 구성 방법은&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(34, 116, 28);&quot;&gt;&lt;a href=&quot;https://coding-start.tistory.com/126&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot; style=&quot;&quot;&gt;&lt;span style=&quot;color: rgb(34, 116, 28); font-size: 14pt;&quot;&gt;&lt;i&gt;이 곳&lt;/i&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-weight: 400;&quot;&gt;을 참고해 주세요.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;/h2&gt;&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; margin: 0.75em 0px 0.35em; line-height: 1.2;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; line-height: 1.5; position: relative !important;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 18.6667px; font-weight: 400;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/h2&gt;&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; font-size: 2em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin: 0.75em 0px 0.35em; line-height: 1.2;&quot;&gt;&lt;blockquote class=&quot;tx-quote-tistory&quot; style=&quot;color: rgb(240, 240, 240); font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13px; overflow: auto; position: relative !important;&quot;&gt;&lt;p style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 12pt; font-weight: normal;&quot;&gt;rq_worker.py&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/h2&gt;&lt;h2 style=&quot;box-sizing: border-box; margin: 0.75em 0px 0.35em; line-height: 1.2;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; line-height: 1.5; position: relative !important;&quot;&gt;&lt;/div&gt;&lt;/h2&gt;&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; margin: 0.75em 0px 0.35em; line-height: 1.2;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;font-size: 13px; color: rgb(240, 240, 240); overflow: auto; line-height: 1; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace !important; position: relative !important;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: rgb(240, 240, 240); overflow: auto; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace !important; position: relative !important;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;color: rgb(1, 1, 1); font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace !important; margin: 0px; padding: 0px; border: none; background-color: rgb(250, 250, 250); border-radius: 4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px;border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0;padding:0;word-break:normal;text-align:right;color:#666;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;line-height:130%&quot;&gt;&lt;div style=&quot;line-height:130%&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;6&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 6px 0px;&quot;&gt;&lt;div style=&quot;margin:0;padding:0;color:#010101;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;line-height:130%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;from&lt;/span&gt;&amp;nbsp;rq&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;import&lt;/span&gt;&amp;nbsp;Connection,&amp;nbsp;Queue,&amp;nbsp;Worker&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;if&lt;/span&gt;&amp;nbsp;__name__&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;'__main__'&lt;/span&gt;:&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;with&amp;nbsp;Connection():&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;q&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;Queue()&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Worker(q).work()&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom;padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(229, 229, 229); border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style=&quot;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;color: rgb(1, 1, 1); font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace !important;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53); font-size: 14pt; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-weight: 400;&quot;&gt;&lt;br /&gt;- 1번 라인 : Worker가 임포트 된 것을 확인합니다.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;font-size: 13px; color: rgb(240, 240, 240); overflow: auto; line-height: 1.8; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace !important; position: relative !important;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 18.6667px; font-weight: 400;&quot;&gt;- 6번&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(53, 53, 53); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 18.6667px; font-weight: 400;&quot;&gt;라인 : Queue에서 넘어온 Task를 Worker가 처리하는&amp;nbsp;구문&lt;/span&gt;&lt;/div&gt;&lt;/h2&gt;&lt;h2 style=&quot;box-sizing: border-box; font-size: 2em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin: 0.75em 0px 0.35em; line-height: 1.2;&quot;&gt;&lt;p&gt;&lt;/p&gt;&lt;/h2&gt;&lt;h2 style=&quot;box-sizing: border-box; font-size: 2em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin: 0.75em 0px 0.35em; line-height: 1.2;&quot;&gt;&lt;/h2&gt;&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; margin: 0.75em 0px 0.35em; line-height: 1.2;&quot;&gt;&lt;div style=&quot;&quot;&gt;&lt;blockquote style=&quot;margin: 2em 0px; border-left-width: 2px; border-left-color: rgb(132, 175, 244); padding-left: 1em; box-sizing: border-box; background-color: rgb(238, 242, 248);&quot;&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; font-style: italic; font-weight: 400;&quot;&gt;Python RQ(Redis Queue)의 추가적인 상세 설명은&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; color: rgb(34, 116, 28);&quot;&gt;&lt;a href=&quot;https://python-rq.org/docs/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;color: rgb(34, 116, 28); font-size: 14pt;&quot;&gt;&lt;i&gt;이 곳&lt;/i&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; font-style: italic; font-weight: 400;&quot;&gt;을 참고해 주세요.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;/h2&gt;&lt;h2 style=&quot;box-sizing: border-box; font-size: 2em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin: 0.75em 0px 0.35em; line-height: 1.2;&quot;&gt;&lt;/h2&gt;&lt;h2 style=&quot;BOX-SIZING: border-box; FONT-SIZE: 2em; FONT-FAMILY: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; MARGIN: 0.75em 0px 0.35em; LINE-HEIGHT: 1.2&quot;&gt;&lt;p style=&quot;margin-top: 0px; margin-bottom: 0px; color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;&lt;br /&gt;파이썬(Python)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;- ML &amp;amp;DL + RQ&amp;nbsp;서비스 구동 예시&lt;/span&gt;&lt;/p&gt;&lt;/h2&gt;
&lt;p style=&quot;BOX-SIZING: border-box; FONT-SIZE: 20px; MARGIN-BOTTOM: 0.75em; FONT-FAMILY: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; MARGIN-RIGHT: 0px&quot;&gt;&lt;br /&gt;아래 이미지로 Redis Server 실행 부터 총 4단계의 과정으로 RQ 실행 과정을 GIF 이미지로 확인하실 수 있습니다.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;BOX-SIZING: border-box; FONT-SIZE: 20px; MARGIN-BOTTOM: 0.75em; FONT-FAMILY: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; MARGIN-RIGHT: 0px&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; clear: none; margin-right: 0px; text-align: center;&quot;&gt;&amp;nbsp;실행&amp;nbsp;화면 - Redis Queue Worker&amp;nbsp;기동&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; text-align: center; clear: none; margin-right: 0px;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 732px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/993D21465E86B68D13&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F993D21465E86B68D13&quot; width=&quot;732&quot; height=&quot;484&quot; filename=&quot;1.gif&quot; filemime=&quot;image/gif&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; text-align: center; clear: none; margin-right: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; text-align: center; clear: none; margin-right: 0px;&quot;&gt;실행&amp;nbsp;화면 - RQ Dashboard 실행&amp;nbsp;후 브라우저에서 확인&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; text-align: center; clear: none; margin-right: 0px;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 732px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99FA7D425E86B69F12&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99FA7D425E86B69F12&quot; width=&quot;732&quot; height=&quot;484&quot; filename=&quot;2.gif&quot; filemime=&quot;image/gif&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; text-align: center; clear: none; margin-right: 0px;&quot;&gt;&lt;br /&gt;실행&amp;nbsp;화면&amp;nbsp;- 태스크(Task) 실행 후 Queue 동작 확인(Dashboard)&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; text-align: center; clear: none; margin-right: 0px;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 732px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99434E3C5E86B6AB1C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99434E3C5E86B6AB1C&quot; width=&quot;732&quot; height=&quot;484&quot; filename=&quot;3.gif&quot; filemime=&quot;image/gif&quot;/&gt;&lt;/span&gt;￼&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-bottom: 0.75em; float: none; text-align: center; clear: none; margin-right: 0px;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;br /&gt;실행&amp;nbsp;화면&amp;nbsp;- 태스크 실행 후 Queue 정상 동작 확인(콘솔)&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; text-align: center; clear: none; margin-right: 0px;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 732px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/999A5C3D5E86B6B41C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F999A5C3D5E86B6B41C&quot; width=&quot;732&quot; height=&quot;484&quot; filename=&quot;4.gif&quot; filemime=&quot;image/gif&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; font-size: 2em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-top: 0.75em; margin-right: 0px; margin-bottom: 0.35em; line-height: 1.2;&quot;&gt;&lt;blockquote style=&quot;margin: 2em 0px; border-left-width: 2px; border-left-color: rgb(132, 175, 244); padding-left: 1em; box-sizing: border-box; font-size: 20px; font-style: italic; background-color: rgb(238, 242, 248);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Flask 공식 Reference&amp;nbsp; :&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(53, 53, 53); border-bottom-style: solid; border-bottom-color: rgb(132, 175, 244); background-color: transparent; font-style: normal; box-sizing: border-box; transition: color 0.4s ease-in-out;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;a href=&quot;http://flask.pocoo.org/docs/1.0/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot; style=&quot;color: rgb(10, 10, 10); border-bottom-style: solid; border-bottom-color: rgb(132, 175, 244); background-color: transparent; font-style: normal; box-sizing: border-box; transition: color 0.4s ease-in-out;&quot;&gt;Flask 관련&lt;/a&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/h2&gt;&lt;h2 id=&quot;그러나-위-코드가-안먹힌다면&quot; style=&quot;box-sizing: border-box; font-size: 2em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-top: 0.75em; margin-right: 0px; margin-bottom: 0.35em; line-height: 1.2;&quot;&gt;&lt;span style=&quot;FONT-SIZE: 24pt; COLOR: rgb(53,53,53)&quot;&gt;&lt;br /&gt;&lt;br /&gt;마무리&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-right: 0px; line-height: 1.8;&quot;&gt;&lt;br /&gt;이번 예제에서는 머신러닝, 딥러닝 서비스 및 다중 요청 서비스를 위한 Redis-Queue 서비스를 &lt;br /&gt;간단하게 구현해 보았습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-right: 0px; line-height: 1.8;&quot;&gt;마이크로 서비스 아키텍쳐(MSA)에서 Backing service 파트에서 보면 보편적으로 Message-Queue&lt;br /&gt;를 활용한 비동기 요청-응답 패턴을 적극적으로 활용하고 있습니다.&lt;br /&gt;&lt;br /&gt;단일 서비스에서 한 개의 트랜잭션에 다양한 서비스들이 강한 결합으로 묶여 있을 경우에는 서비스 &lt;br /&gt;요청 및 데이터의 손실이라는 이슈 가능성이 높아지고 유연성이 떨어지는&amp;nbsp;것이 사실입니다.&lt;br /&gt;&lt;br /&gt;이 때 메시지 큐를 활용한 트랜잭션 분리 전략은 장애 및 기타 이슈시에 서비스의 보존(영속성)이라는&lt;br /&gt;장점을 얻을 수가 있어 안정적이고 대량 요청-응답 서비스에 적합하다고 볼 수 있습니다.&lt;br /&gt;&lt;br /&gt;이번 예제를 통해서 다양한 큐 패키지(RebbitMQ, Kafka 등)장단점을 분석해서 적용하고자 하는&amp;nbsp;&lt;br /&gt;적합한 서비스 아키텍쳐에 대해서 생각해보는 시간이 되었으면 합니다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;다음 포스팅에서도 좋은 예제로 찾아뵙겠습니다. &lt;br /&gt;감사합니다.&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-left: 0px; margin-right: 0px; line-height: 1.8;&quot;&gt;&lt;/p&gt;
&lt;blockquote style=&quot;BORDER-LEFT-WIDTH: 2px; BOX-SIZING: border-box; FONT-SIZE: 20px; FONT-FAMILY: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; BORDER-LEFT-COLOR: rgb(132,175,244); FONT-STYLE: italic; PADDING-LEFT: 1em; MARGIN: 2em 0px; BACKGROUND-COLOR: rgb(238,242,248)&quot;&gt;
&lt;p style=&quot;BOX-SIZING: border-box; MARGIN-BOTTOM: 0.75em; MARGIN-LEFT: 0px; MARGIN-RIGHT: 0px&quot;&gt;소스코드 다운로드 :&amp;nbsp;&amp;nbsp;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/99DD014F5E8690032A&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/zip.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.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;flask-with-rq-example.zip&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p style=&quot;BOX-SIZING: border-box; FONT-SIZE: 20px; MARGIN-BOTTOM: 0.75em; FONT-FAMILY: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; FLOAT: none; TEXT-ALIGN: center; CLEAR: none; MARGIN-RIGHT: 0px&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 210px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99EFC2425E8691B228&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99EFC2425E8691B228&quot; width=&quot;210&quot; height=&quot;160&quot; filename=&quot;logo.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;BOX-SIZING: border-box; FONT-SIZE: 20px; MARGIN-BOTTOM: 0.75em; FONT-FAMILY: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; MARGIN-LEFT: 0px; MARGIN-RIGHT: 0px&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>언어/Python</category>
      <category>mq</category>
      <category>python</category>
      <category>Queue</category>
      <category>REDIS</category>
      <author>[좋은사람]</author>
      <guid isPermaLink="true">https://niceman.tistory.com/200</guid>
      <comments>https://niceman.tistory.com/200#entry200comment</comments>
      <pubDate>Fri, 3 Apr 2020 10:27:29 +0900</pubDate>
    </item>
    <item>
      <title>[취미]Nvidia Shield(쉴드) TV  2세대 - 내부 먼지 청소 및 써멀 재도포 후기</title>
      <link>https://niceman.tistory.com/199</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 id=&quot;django-프로젝트-만들기&quot; style=&quot;box-sizing: border-box; font-size: 3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.55em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; line-height: 1.2;&quot;&gt;&lt;span style=&quot;font-size: 24pt;&quot;&gt;&lt;font color=&quot;#353535&quot;&gt;쉴드(Shield ) TV 2017[2세대] - 작업(렌즈 교체, 써멀, 먼지 청소)&lt;/font&gt;&lt;/span&gt;&lt;/h1&gt;&lt;hr style=&quot;box-sizing: content-box; height: 1px; overflow: visible; width: 756px; border: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; &quot;&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; &quot;&gt;안녕하세요. 이번 포스팅에서는 안드로이드 TV 중에 끝판왕이라고 생각되는 쉴드 TV를 구입하게 되어&lt;br /&gt;내부 먼지 청소 및 팬 청소에 대해서 작성해봅니다.&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;쉴드TV는 사용해본 결과 4K HDR 콘텐츠 지원(유투브, 넷플릭스) 및 강력한 사양에서 나오는 하이퍼스핀&lt;br /&gt;등을 무난하게 사용할 수 있는 강력한 기기라고 생각됩니다.&lt;br /&gt;&lt;br /&gt;그 밖에 스트리밍을 활용한 가정내 NAS 시스템과 연동해서 멀티미디어 서비스를 강력하게 지원 받을 수&amp;nbsp;&lt;br /&gt;있습니다. GeForce NOW 서비스를 이용한 스팀 게임서비스도 부가적인 장점이겠네요.&lt;br /&gt;&lt;br /&gt;그럼 새로운 기기를 영입했으니 뜯어보고 내부 상태에 대해서 점검을 시작해보겠습니다.&lt;br /&gt;&lt;br /&gt;어려운 부분이 있으면 &lt;b&gt;&lt;span style=&quot;color: rgb(0, 34, 102);&quot;&gt;무조건 유투브에서 영문으로 &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 34, 102);&quot;&gt;검색&lt;/span&gt;&lt;/b&gt;하시면 편하게 영상으로 된 정보를 확인할 수&amp;nbsp;&lt;br /&gt;있습니다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;그럼 하단에서 차근차근 설명해볼께요.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; margin: 0.75em 0px 0.35em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 2em; line-height: 1.2;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;쉴드(Shield) TV 2017[2세대]&amp;nbsp;- 분해 및 써멀 재 도포 작업&lt;/span&gt;&lt;/h2&gt;&lt;div&gt;&lt;blockquote style=&quot;margin: 2em 0px; border-left-width: 2px; border-left-color: rgb(132, 175, 244); padding-left: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; font-style: italic; background-color: rgb(238, 242, 248);&quot;&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box;&quot;&gt;2017년 버전 2세대 제품입니다.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;오늘 청소&amp;nbsp;대상인 &lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; overflow: auto; border-radius: 3px; border: 1px solid rgb(132, 175, 244); padding: 0.1em;&quot;&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;2세대 2017년 버전&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-size: 20px; font-family: Menlo, Consolas, monospace;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;입니다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;소음이 약간 신경 쓰였으나, 겉보기 상태는 좋고 상태는 훌륭해 보입니다.&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;전체 사진 한장 샷!&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 960px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/998312365DD0038830&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F998312365DD0038830&quot; width=&quot;960&quot; height=&quot;720&quot; filename=&quot;1.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;전용 리모콘에는 기스가 많아 보입니다. 터치도 지원합니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 720px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9982C7365DD0038930&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9982C7365DD0038930&quot; width=&quot;720&quot; height=&quot;960&quot; filename=&quot;2.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;후면부에 나사 2개를 제거하면 상판은 쉽게 제거 됩니다.(&lt;b&gt;&lt;span style=&quot;color: rgb(255, 0, 127);&quot;&gt;별 나사&lt;/span&gt;&lt;/b&gt;가 필요합니다.)&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 960px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/997C7C365DD0038A03&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F997C7C365DD0038A03&quot; width=&quot;960&quot; height=&quot;720&quot; filename=&quot;3.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;기판에 나사를 제거하면 바로 쿨링팬이 드러납니다. 매우 심플한 구조네요.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 720px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99E3BD365DD0038B35&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99E3BD365DD0038B35&quot; width=&quot;720&quot; height=&quot;960&quot; filename=&quot;4.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;강력 먼지제거제 747&amp;nbsp; 등장합니다. 가성비가 너무 좋은 제품이죠.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 960px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99082D365DD0038C3B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99082D365DD0038C3B&quot; width=&quot;960&quot; height=&quot;720&quot; filename=&quot;5.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;팬 클리닝 후 상태입니다. 매우 깨끗하죠? 베어링 상태도 좋은것 같네요.&lt;br /&gt;분해 하실 때 선 단선 조심하세요.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 960px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99DD85365DD0038D2E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99DD85365DD0038D2E&quot; width=&quot;960&quot; height=&quot;720&quot; filename=&quot;6.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;보드를 탈거했습니다. 기존 출고 당시 써멀이 굳어서 제 성능이 나오지 않을 것 같네요.&lt;br /&gt;전부 긁어내고 새롭게 도포 할 예정입니다.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 720px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9978F4405DD0038E38&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9978F4405DD0038E38&quot; width=&quot;720&quot; height=&quot;960&quot; filename=&quot;8.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;괜찮은 써멀로 새롭게 도포!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 720px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9966A9365DD0038E31&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9966A9365DD0038E31&quot; width=&quot;720&quot; height=&quot;960&quot; filename=&quot;7.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;재조립 완료!&lt;br /&gt;처음 하시는 분들은 반드시 유투브 등을 참고하시면서 작업해 주세요.&lt;br /&gt;구동결과 개인적 느낌상 &lt;b&gt;&lt;span style=&quot;color: rgb(255, 0, 127);&quot;&gt;매우 정숙&lt;/span&gt;&lt;/b&gt;합니다.(&lt;u&gt;원래 쉴드 TV 자체가 완성도가 높은 제품&lt;/u&gt;입니다.)&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 960px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/998019405DD0038F38&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F998019405DD0038F38&quot; width=&quot;960&quot; height=&quot;720&quot; filename=&quot;9.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;/p&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;&quot;&gt;&lt;blockquote style=&quot;margin: 2em 0px; border-left: 2px solid rgb(132, 175, 244); padding: 10px 15px 10px 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; font-style: italic; background-color: rgb(238, 242, 248);&quot;&gt;&lt;p style=&quot;margin: 0px 0px 0.75em; box-sizing: border-box;&quot;&gt;&lt;a href=&quot;https://www.youtube.com/results?search_query=shield+tv+2017+disassembly&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot; style=&quot;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(34, 116, 28);&quot;&gt;참고&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;영상&amp;nbsp;-&amp;gt; &amp;nbsp;Youtube 영상이고 정말 많은 도움이&amp;nbsp;되었습니다.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;h2 id=&quot;그러나-위-코드가-안먹힌다면&quot; style=&quot;box-sizing: border-box; margin-top: 0.75em; margin-right: 0px; margin-bottom: 0.35em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 2em; line-height: 1.2;&quot;&gt;&lt;span style=&quot;font-size: 24pt; color: rgb(53, 53, 53);&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;마무리&lt;/span&gt;&lt;/h2&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; &quot;&gt;&lt;br /&gt;레트로 취미 및 IT 기기에 관심은 개인적으로 참 좋은 취미 생활 같습니다.&lt;br /&gt;&lt;br /&gt;관련 새로운 기술 습득은 덤이라고 생각되네요!&lt;br /&gt;&lt;br /&gt;전자제품도 얼마든지 사용자의 관심에 따라서 수명이 좌우 되는 것 같습니다. &lt;br /&gt;&lt;br /&gt;이제 쉴드TV로 당분간 하이퍼스핀 셋팅 및 플레이의 즐거움을 만끽해야 될 것 같습니다.&lt;br /&gt;&lt;br /&gt;다음에 또 뵙겠습니다. 감사합니다.&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;  text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 215px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9967103B5DD0054E05&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9967103B5DD0054E05&quot; width=&quot;215&quot; height=&quot;160&quot; filename=&quot;1182921.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>라이프/취미</category>
      <category>Shield TV</category>
      <category>쉴드 tv</category>
      <author>[좋은사람]</author>
      <guid isPermaLink="true">https://niceman.tistory.com/199</guid>
      <comments>https://niceman.tistory.com/199#entry199comment</comments>
      <pubDate>Sat, 16 Nov 2019 23:19:33 +0900</pubDate>
    </item>
    <item>
      <title>VS Code(Visual Studio Code) - 자바(JDK, OpenJDK) 환경 설정 방법</title>
      <link>https://niceman.tistory.com/198</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 id=&quot;django-프로젝트-만들기&quot; style=&quot;box-sizing: border-box; font-size: 3em; margin: 0px 0px 0.55em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; line-height: 1.2; &quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;VS Code - JDK, OpenJDK 연동 설명&lt;/span&gt;&lt;/h1&gt;&lt;hr style=&quot;box-sizing: content-box; height: 1px; overflow: visible; width: 756px; border: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; &quot;&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; &quot;&gt;이번 포스팅에서는 많이 사용하는 VS Code 도구에서 유용한 플러그인을 설치하고 사용법을 간략하게 &lt;br /&gt;알아보고자 합니다.&lt;br /&gt;&lt;br /&gt;최근 특히 프론트 엔드 파트와 경량화 된 소규모 어플리케이션 개발에 기존 IDE(통합 개발 환경) 보다 다소 &lt;br /&gt;라이트한 환경에서 개발 업무를 하시는 분들이 증가하고 있는 추세 같습니다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;VS Code는 기본적으로 인코딩 관련 지원이 정말 강력한 에디터라고 생각합니다.&lt;br /&gt;&lt;br /&gt;아울러, Git Support Tools이 다른 텍스트 에디터에 비해서 기능이 훌륭하다고 생각하네요.&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;그럼 하단에서 JDK 또는 OpenJDK와 연동하는 방법에 대해서 설명해보겠습니다.&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; margin-top: 0.75em; margin-right: 0px; margin-bottom: 0.35em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 2em; line-height: 1.2;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;&lt;br /&gt;&lt;br /&gt;Visual Studio Code - JDK, OpenJDK 환경 설정 상세 설명&lt;/span&gt;&lt;/h2&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;우선&amp;nbsp;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; overflow: auto; border-radius: 3px; border: 1px solid rgb(132, 175, 244); padding: 0.1em;&quot;&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;https://jdk.java.net&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-family: Menlo, Consolas, monospace;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;접속 후 합니다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;blockquote style=&quot;margin: 2em 0px; border-left-width: 2px; border-left-color: rgb(132, 175, 244); padding-left: 1em; box-sizing: border-box; background-color: rgb(238, 242, 248);&quot;&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;i&gt;본 포스팅은&amp;nbsp;윈도우10(windows10 x64)에서&amp;nbsp;테스트 후 작성했습니다.&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;i&gt;참고&amp;nbsp; :&amp;nbsp; &lt;a href=&quot;https://jdk.java.net&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;OpenJDK 다운로드 사이트&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;참고로 본 포스팅에서는 OpenJDK를 기준으로 설명드리겠습니다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;기본적으로 VS Code는 설치되어 있어야 해요.&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none; line-height: 1.2;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: start;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none; line-height: 1.2;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 731px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99717C445D5A758A33&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99717C445D5A758A33&quot; width=&quot;731&quot; height=&quot;547&quot; filename=&quot;1.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box; clear: none; float: none; line-height: 1.2;&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;원하는 버전 확인&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 20px; font-family: Menlo, Consolas, monospace;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;저는&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; overflow: auto; border-radius: 3px; border: 1px solid rgb(132, 175, 244); padding: 0.1em;&quot;&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;JDK14&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-size: 20px; font-family: Menlo, Consolas, monospace;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;버전을 다운로드 했습니다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 732px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99672D4B5D5A759727&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99672D4B5D5A759727&quot; width=&quot;732&quot; height=&quot;599&quot; filename=&quot;2.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box; clear: none; float: none; line-height: 1.2;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;다운로드 완료 후 압축을 풀어줍니다.&lt;br /&gt;&lt;br /&gt;참고 :&lt;span style=&quot;color: rgb(3, 0, 102);&quot;&gt; &lt;b&gt;Oracle JDK를 사용하실 분들&lt;/b&gt;은&lt;/span&gt; Oracle JDK를 다운로드 받으시고 설치 후 환경변수 설정해 주세요.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JDK 설치 및 환경변수 관련 내용은 검색 해보시면 많은 내용이 있으므로, 굳이 설명하지 않습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 651px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/994E0F425D5A75B532&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F994E0F425D5A75B532&quot; width=&quot;651&quot; height=&quot;217&quot; filename=&quot;3.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;설치 후 VS Code를 실행합니다. (&lt;a href=&quot;https://gomcine.tistory.com/entry/VS-Code-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%84%B8%ED%8C%85%ED%95%98%EA%B8%B0&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(34, 116, 28);&quot;&gt;참고 링크&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;span style=&quot;color: rgb(34, 116, 28);&quot;&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99CF1D475D5A75D226&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99CF1D475D5A75D226&quot; width=&quot;1000&quot; height=&quot;645&quot; filename=&quot;4.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: start;&quot;&gt;&lt;br /&gt;왼쪽의&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; overflow: auto; border-radius: 3px; border: 1px solid rgb(132, 175, 244); padding: 0.1em;&quot;&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;&lt;b&gt;Extentions&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-size: 20px; font-family: Menlo, Consolas, monospace;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: start;&quot;&gt;를 클릭 후&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; overflow: auto; border-radius: 3px; border: 1px solid rgb(132, 175, 244); padding: 0.1em;&quot;&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;&lt;b&gt;java&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: start;&quot;&gt;&amp;nbsp; 키워드로 검색합니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 702px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99E547475D5A75D225&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99E547475D5A75D225&quot; width=&quot;702&quot; height=&quot;813&quot; filename=&quot;5.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;설치 완료 후&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; overflow: auto; border-radius: 3px; border: 1px solid rgb(132, 175, 244); padding: 0.1em;&quot;&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;&lt;b&gt;Reload&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-size: 20px; font-family: Menlo, Consolas, monospace;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;를 실행하면 VS Code가 재 실행 됩니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99B760475D5A75D302&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99B760475D5A75D302&quot; width=&quot;1000&quot; height=&quot;483&quot; filename=&quot;6.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;text-align: left; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;그 다음&lt;/span&gt;&lt;span style=&quot;text-align: left; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; text-align: left; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; overflow: auto; border-radius: 3px; border: 1px solid rgb(132, 175, 244); padding: 0.1em;&quot;&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;&lt;b&gt;File -&amp;gt; Preferences -&amp;gt; Settings&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;text-align: left; font-size: 20px; font-family: Menlo, Consolas, monospace;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: left; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;를 실행합니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/997514475D5A75D404&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F997514475D5A75D404&quot; width=&quot;1000&quot; height=&quot;995&quot; filename=&quot;7.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;text-align: left; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;&lt;br /&gt;상단에 검색 창에서&lt;/span&gt;&lt;span style=&quot;text-align: left; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; text-align: left; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; overflow: auto; border-radius: 3px; border: 1px solid rgb(132, 175, 244); padding: 0.1em;&quot;&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;&lt;b&gt;java.home&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;text-align: left; font-size: 20px; font-family: Menlo, Consolas, monospace;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: left; font-size: 20px;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;을 검색하면 아래와 같은 화면이 표시 됩니다.&lt;br /&gt;기존에 Oracle JDK를 설치하신 후 환경 변수 설정을 완료 하신 분들은 작업 하실 필요가 없습니다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99B57B475D5A75D533&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99B57B475D5A75D533&quot; width=&quot;1000&quot; height=&quot;392&quot; filename=&quot;8.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;text-align: left; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;위에서 OpenJDK 압축을 푼 경로&lt;/b&gt;를 오른쪽 &lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; text-align: left; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; overflow: auto; border-radius: 3px; border: 1px solid rgb(132, 175, 244); padding: 0.1em;&quot;&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;&lt;b&gt;USER SETTINGS&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;text-align: left; font-size: 20px; font-family: Menlo, Consolas, monospace;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: left; font-size: 20px;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;파일에 하단 사진과 같이 설정해 줍니다.&lt;br /&gt;윈도우, 맥 OS 사용하시는&amp;nbsp;분들도 경로에 맞게 잘 입력해주세요.&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9909DE475D5A75D52F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9909DE475D5A75D52F&quot; width=&quot;1000&quot; height=&quot;500&quot; filename=&quot;9.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;text-align: left; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;&lt;br /&gt;설정이 완료 되었습니다.&lt;/span&gt;&lt;span style=&quot;text-align: left; font-size: 20px;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;br /&gt;본인의 프로젝트를 사용할 폴더를 생성 후&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; overflow: auto; border-radius: 3px; border: 1px solid rgb(132, 175, 244); padding: 0.1em;&quot;&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;&lt;b&gt;Open Folder&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-size: 20px; font-family: Menlo, Consolas, monospace;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;를 실행 후 폴더를 선택해 줍니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 743px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9973D9475D5A75D62A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9973D9475D5A75D62A&quot; width=&quot;743&quot; height=&quot;634&quot; filename=&quot;10.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;text-align: left; font-size: 20px;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;br /&gt;&lt;br /&gt;테스트 할 &lt;/font&gt;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; text-align: left; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; overflow: auto; border-radius: 3px; border: 1px solid rgb(132, 175, 244); padding: 0.1em;&quot;&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;&lt;b&gt;*.java&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;text-align: left; font-size: 20px; font-family: Menlo, Consolas, monospace;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: left; font-size: 20px;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;파일을 한 개 만들어 줍니다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99F7ED475D5A75D730&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99F7ED475D5A75D730&quot; width=&quot;1000&quot; height=&quot;556&quot; filename=&quot;11.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;text-align: left; font-size: 20px;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;br /&gt;&lt;br /&gt;테스트 코딩을 해보시면 &lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; overflow: auto; border-radius: 3px; border: 1px solid rgb(132, 175, 244); padding: 0.1em;&quot;&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;&lt;b&gt;Code Assistance&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: left;&quot;&gt;&amp;nbsp;기능도 잘 작동합니다.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99B65C475D5A75D827&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99B65C475D5A75D827&quot; width=&quot;1000&quot; height=&quot;612&quot; filename=&quot;12.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none; line-height: 1.2;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; margin-top: 0.75em; margin-right: 0px; margin-bottom: 0.35em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 2em; line-height: 1.2;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;Visual Studio Code - 환경 설정 후 실행 화면&lt;/span&gt;&lt;/h2&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; overflow: auto; border-radius: 3px; border: 1px solid rgb(132, 175, 244); padding: 0.1em;&quot;&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;launch.json&lt;/span&gt;&lt;/code&gt;&amp;nbsp;설정을 완료하시면 더 빠르게 빌드 및 실행(Run Task Build)이 가능합니다.&lt;br /&gt;&lt;br /&gt;관련 설정 방법은 하단에 링크로 대신합니다.&lt;/p&gt;&lt;div&gt;&lt;blockquote style=&quot;margin: 2em 0px; border-left-width: 2px; border-left-color: rgb(132, 175, 244); padding-left: 1em; box-sizing: border-box; background-color: rgb(238, 242, 248);&quot;&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;i&gt;&lt;b&gt;Run Task Build 실행 설정&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;i&gt;윈도우, MacOS 공통&amp;nbsp;:&amp;nbsp; &lt;span style=&quot;color: rgb(9, 0, 255);&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://code.visualstudio.com/docs/java/java-debugging&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;공식 레퍼런스 설명&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; line-height: 1.2;&quot;&gt;&lt;br /&gt;&lt;br /&gt;실행&amp;nbsp;화면&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;  text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99C5C53F5D5A756F30&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99C5C53F5D5A756F30&quot; width=&quot;1000&quot; height=&quot;723&quot; filename=&quot;oper.gif&quot; filemime=&quot;image/gif&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;  text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;  text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;  text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;  text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 id=&quot;그러나-위-코드가-안먹힌다면&quot; style=&quot;box-sizing: border-box; margin-top: 0.75em; margin-right: 0px; margin-bottom: 0.35em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 2em; line-height: 1.2;&quot;&gt;&lt;span style=&quot;font-size: 24pt; color: rgb(53, 53, 53);&quot;&gt;마무리&lt;/span&gt;&lt;/h2&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; &quot;&gt;&lt;br /&gt;빠른 소스 코드 작성을 위해서 다양한 에디터를 사용해 보고 있습니다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;에디터의 선택은 직접 사용해 보시고 각 제품마다 제공하는 강력한 기능들을 체감해보셨으면 합니다.&lt;br /&gt;&lt;br /&gt;ATOM, 서브라임, VS Code 등 본인 입맛에 맞는 에디터를 사용해 보세요.&lt;br /&gt;&lt;br /&gt;다음 시간에도 좋은 정보를 포스팅 하겠습니다.&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;  text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 215px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/991944425D5A756434&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F991944425D5A756434&quot; width=&quot;215&quot; height=&quot;160&quot; filename=&quot;20190819_184219.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;  text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>개발도구/Atom &amp;amp; VScode</category>
      <category>Java</category>
      <category>jdk</category>
      <category>OpenJDK</category>
      <category>vscode</category>
      <author>[좋은사람]</author>
      <guid isPermaLink="true">https://niceman.tistory.com/198</guid>
      <comments>https://niceman.tistory.com/198#entry198comment</comments>
      <pubDate>Mon, 19 Aug 2019 19:19:46 +0900</pubDate>
    </item>
    <item>
      <title>파이썬(Python) - 네임드튜플(namedtuple) 사용 예제 및 소스코드</title>
      <link>https://niceman.tistory.com/197</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 id=&quot;django-프로젝트-만들기&quot; style=&quot;BOX-SIZING: border-box; FONT-SIZE: 3em; FONT-FAMILY: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; MARGIN: 0px 0px 0.55em; LINE-HEIGHT: 1.2&quot;&gt;&lt;span style=&quot;COLOR: rgb(53,53,53)&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;파이썬(Python) - 네임드 튜플&amp;nbsp;설명&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;hr style=&quot;BOX-SIZING: content-box; FONT-SIZE: 20px; OVERFLOW: visible; BORDER-TOP: 0px; HEIGHT: 1px; FONT-FAMILY: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; BORDER-RIGHT: 0px; WIDTH: 756px; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px&quot;&gt;

&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-right: 0px; line-height: 1.5;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;안녕하세요. 좋은사람 입니다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color=&quot;#5d5d5d&quot;&gt;오늘은 파이썬 데이터 모델링 파트에서 소개하고 있는 네임드튜플 타입 구조에 대해서 포스팅 합니다.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color=&quot;#5d5d5d&quot;&gt;파이썬에 대용량의 데이터를 적합한 데이터 타입으로 저장하고 효율적인 퍼포먼스로 운영하기 위해서는&lt;br /&gt;제네레이터 패턴 등 많은 활용 방법에 정확하게 이해하고 있어야 한다고 생각됩니다.&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color=&quot;#5d5d5d&quot;&gt;보통은 객체를 사용하는 것 보다는 튜플 활용을 공식 레퍼런스에서 추천하고 있습니다.&lt;/font&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(85, 85, 85); letter-spacing: -0.5px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color=&quot;#5d5d5d&quot;&gt;주로 내장된 데이터 타입 즉, 파이썬 데이터 모델링 파트에서 추천하는 Collections 라이브러리를 활용&lt;br /&gt;&lt;/font&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;하시면 다양한 Container datatypes을 사용하실 수 있습니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(85, 85, 85); letter-spacing: -0.5px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(85, 85, 85); letter-spacing: -0.5px;&quot;&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;그럼 하단에서 컨테이너 데이터 타입 중 첫 번째인 네임드 튜플 예제를 설명드리겠습니다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;지난 파이썬 관련 &lt;/span&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;포스팅은 오른쪽 링크&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;를 참고하세요.&lt;/span&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt; -&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://niceman.tistory.com/category/%EC%96%B8%EC%96%B4/Python&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot; style=&quot;box-sizing: border-box; background-color: transparent; color: rgb(10, 10, 10); border-bottom-color: rgb(132, 175, 244); letter-spacing: -0.5px; border-bottom-style: solid; transition: color 0.4s ease-in-out 0s; border-top-color: rgb(129, 169, 219) !important; border-right-color: rgb(129, 169, 219) !important; border-left-color: rgb(129, 169, 219) !important;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: rgb(53, 53, 53);&quot;&gt;&lt;i style=&quot;box-sizing: border-box;&quot;&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;관련 포스팅&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 style=&quot;box-sizing: border-box; font-size: 2em; margin-top: 0.75em; margin-right: 0px; margin-bottom: 0.35em; line-height: 1.2;&quot;&gt;&lt;p style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;&lt;br /&gt;파이썬(Python)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;- 네임드 튜플(namedtuple) 예제 실습&lt;/span&gt;&lt;/p&gt;&lt;/h2&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-right: 0px;&quot;&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;네임드 튜플은 개인적으로 정말 자주 사용하는 데이터 타입입니다. 이유는 아래와 같은 특성을 지니고&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;있습니다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;- 튜플의 기본 성질인 불변 객체&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;- 일반 Class(객체) 형태보다 적은 메모리 사용&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;- 다양한 접근법 지원(괄호, .)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;- Dictionary Key 와 같이 사용&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;blockquote style=&quot;margin: 2em 0px; border-left-width: 2px; border-left-color: rgb(132, 175, 244); padding-left: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; background-color: rgb(238, 242, 248);&quot;&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;네임드 튜플 관련 &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;레퍼런스 - &lt;/span&gt;&lt;a href=&quot;https://docs.python.org/3/library/collections.html#namedtuple-factory-function-for-tuples-with-named-fields&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;참조&lt;/span&gt;&lt;/a&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; clear: none; margin-right: 0px; text-align: left;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;1.&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; padding: 0.1em; color: rgb(199, 37, 78); background-color: rgb(249, 242, 244); border-radius: 3px; overflow: auto; border: 1px solid rgb(132, 175, 244);&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: rgb(0, 87, 102); font-size: 18pt;&quot;&gt;&amp;nbsp;from collections import &lt;b&gt;namedtuple&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(93, 93, 93); letter-spacing: -0.5px;&quot;&gt;아래 예제는 두 점 사이의 거리를 구하는 예제입니다. 서로 다른 두 점 &lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;(x1, y1, x2, y2&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;) &lt;/span&gt;를 입력 받은 후&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;사이의 리를 구하는 소스 코드입니다.&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;일반적인 방법과 네임드 튜플 패키지를 사용한 방법을 비교하시면 자세하고 쉽게 &lt;/span&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;이해가능하실거예요.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#f0f0f0;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important;overflow:auto&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin: 0px; padding: 0px; border: none; background-color: rgb(39, 39, 39); border-radius: 4px; width: 1199px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;1199&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px;border-right:2px solid #4f4f4f&quot;&gt;&lt;div style=&quot;margin:0;padding:0;word-break:normal;text-align:right;color:#aaa;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;line-height:130%&quot;&gt;&lt;div style=&quot;line-height:130%&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;13&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;14&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;15&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;16&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;17&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;18&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;19&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;20&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;21&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;22&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;23&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;24&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;25&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;26&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;27&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;28&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;29&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;30&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;31&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;32&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;33&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;34&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;35&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;36&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;37&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;38&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;39&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;40&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;41&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;42&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;43&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;44&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;45&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;46&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;47&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;48&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;49&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;50&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;51&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;52&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;53&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;54&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;55&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;56&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;57&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;58&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;59&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;60&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;61&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding: 6px 0px;&quot;&gt;&lt;div style=&quot;margin:0;padding:0;color:#f0f0f0;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;line-height:130%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;참조&amp;nbsp;:&amp;nbsp;https://docs.python.org/3/reference/datamodel.html&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;일반적인&amp;nbsp;튜플&amp;nbsp;사용&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;pt1&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;&amp;nbsp;(&lt;span style=&quot;color:#c10aff&quot;&gt;1.&lt;/span&gt;&lt;span style=&quot;color:#c10aff&quot;&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#c10aff&quot;&gt;5.&lt;/span&gt;&lt;span style=&quot;color:#c10aff&quot;&gt;0&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;pt2&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;&amp;nbsp;(&lt;span style=&quot;color:#c10aff&quot;&gt;2.&lt;/span&gt;&lt;span style=&quot;color:#c10aff&quot;&gt;5&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#c10aff&quot;&gt;1.&lt;/span&gt;&lt;span style=&quot;color:#c10aff&quot;&gt;5&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#ff3399&quot;&gt;from&lt;/span&gt;&amp;nbsp;math&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;import&lt;/span&gt;&amp;nbsp;sqrt&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;line_leng1&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;&amp;nbsp;sqrt((pt2[&lt;span style=&quot;color:#c10aff&quot;&gt;0&lt;/span&gt;]&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;-&lt;/span&gt;&amp;nbsp;pt1[&lt;span style=&quot;color:#c10aff&quot;&gt;0&lt;/span&gt;])&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color:#ff3399&quot;&gt;*&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#c10aff&quot;&gt;2&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;+&lt;/span&gt;&amp;nbsp;(pt2[&lt;span style=&quot;color:#c10aff&quot;&gt;1&lt;/span&gt;]&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;-&lt;/span&gt;&amp;nbsp;pt1[&lt;span style=&quot;color:#c10aff&quot;&gt;1&lt;/span&gt;])&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color:#ff3399&quot;&gt;*&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#c10aff&quot;&gt;2&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#4be6fa&quot;&gt;print&lt;/span&gt;(line_leng1)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;네임드&amp;nbsp;튜플&amp;nbsp;임포트&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#ff3399&quot;&gt;from&lt;/span&gt;&amp;nbsp;collections&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;import&lt;/span&gt;&amp;nbsp;namedtuple&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;네임드&amp;nbsp;튜플&amp;nbsp;선언&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;Point&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;&amp;nbsp;namedtuple(&lt;span style=&quot;color:#ffd500&quot;&gt;'Point'&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#ffd500&quot;&gt;'x&amp;nbsp;y'&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;두&amp;nbsp;점&amp;nbsp;선언&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;pt1&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;&amp;nbsp;Point(&lt;span style=&quot;color:#c10aff&quot;&gt;1.&lt;/span&gt;&lt;span style=&quot;color:#c10aff&quot;&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#c10aff&quot;&gt;5.&lt;/span&gt;&lt;span style=&quot;color:#c10aff&quot;&gt;0&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;pt2&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;&amp;nbsp;Point(&lt;span style=&quot;color:#c10aff&quot;&gt;2.&lt;/span&gt;&lt;span style=&quot;color:#c10aff&quot;&gt;5&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#c10aff&quot;&gt;1.&lt;/span&gt;&lt;span style=&quot;color:#c10aff&quot;&gt;5&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;두&amp;nbsp;점&amp;nbsp;사이의&amp;nbsp;거리&amp;nbsp;계산&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;line_leng2&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;&amp;nbsp;sqrt((pt2.x&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;-&lt;/span&gt;&amp;nbsp;pt1.x)&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color:#ff3399&quot;&gt;*&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#c10aff&quot;&gt;2&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;+&lt;/span&gt;&amp;nbsp;(pt2.y&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;-&lt;/span&gt;&amp;nbsp;pt1.y)&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color:#ff3399&quot;&gt;*&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#c10aff&quot;&gt;2&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;출력&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#4be6fa&quot;&gt;print&lt;/span&gt;(line_leng2)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#4be6fa&quot;&gt;print&lt;/span&gt;(line_leng1&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;&amp;nbsp;line_leng2)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;네임드&amp;nbsp;튜플&amp;nbsp;사용&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;Point1&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;&amp;nbsp;namedtuple(&lt;span style=&quot;color:#ffd500&quot;&gt;'Point'&lt;/span&gt;,&amp;nbsp;[&lt;span style=&quot;color:#ffd500&quot;&gt;'x'&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#ffd500&quot;&gt;'y'&lt;/span&gt;])&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;Point2&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;&amp;nbsp;namedtuple(&lt;span style=&quot;color:#ffd500&quot;&gt;'Point'&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#ffd500&quot;&gt;'x,&amp;nbsp;y'&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;Point3&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;&amp;nbsp;namedtuple(&lt;span style=&quot;color:#ffd500&quot;&gt;'Point'&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#ffd500&quot;&gt;'x&amp;nbsp;y'&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;Point4&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;&amp;nbsp;namedtuple(&lt;span style=&quot;color:#ffd500&quot;&gt;'Point'&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#ffd500&quot;&gt;'x&amp;nbsp;y&amp;nbsp;x&amp;nbsp;class'&lt;/span&gt;,&amp;nbsp;rename&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;True)&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;Default=False&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;출력&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#4be6fa&quot;&gt;print&lt;/span&gt;(Point1,&amp;nbsp;Point2,&amp;nbsp;Point3,&amp;nbsp;Point4)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#4be6fa&quot;&gt;print&lt;/span&gt;()&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#4be6fa&quot;&gt;print&lt;/span&gt;()&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;Dict&amp;nbsp;to&amp;nbsp;Unpacking&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;temp_dict&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;&amp;nbsp;{&lt;span style=&quot;color:#ffd500&quot;&gt;'x'&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;color:#c10aff&quot;&gt;75&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#ffd500&quot;&gt;'y'&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;color:#c10aff&quot;&gt;55&lt;/span&gt;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;객체&amp;nbsp;생성&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;p1&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;&amp;nbsp;Point1(x&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#c10aff&quot;&gt;10&lt;/span&gt;,&amp;nbsp;y&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#c10aff&quot;&gt;35&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;p2&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;&amp;nbsp;Point2(&lt;span style=&quot;color:#c10aff&quot;&gt;20&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#c10aff&quot;&gt;40&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;p3&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;&amp;nbsp;Point3(&lt;span style=&quot;color:#c10aff&quot;&gt;45&lt;/span&gt;,&amp;nbsp;y&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#c10aff&quot;&gt;20&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;p4&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;&amp;nbsp;Point4(&lt;span style=&quot;color:#c10aff&quot;&gt;10&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#c10aff&quot;&gt;20&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#c10aff&quot;&gt;30&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#c10aff&quot;&gt;40&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;p5&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;=&lt;/span&gt;&amp;nbsp;Point3(&lt;span style=&quot;color:#ff3399&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color:#ff3399&quot;&gt;*&lt;/span&gt;temp_dict)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;출력&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#4be6fa&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color:#ffd500&quot;&gt;'EX2-2&amp;nbsp;-'&lt;/span&gt;,&amp;nbsp;p1,&amp;nbsp;p2,&amp;nbsp;p3,&amp;nbsp;p4,&amp;nbsp;p5)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#4be6fa&quot;&gt;print&lt;/span&gt;()&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#4be6fa&quot;&gt;print&lt;/span&gt;()&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;사용&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#4be6fa&quot;&gt;print&lt;/span&gt;(p1[&lt;span style=&quot;color:#c10aff&quot;&gt;0&lt;/span&gt;]&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;+&lt;/span&gt;&amp;nbsp;p2[&lt;span style=&quot;color:#c10aff&quot;&gt;1&lt;/span&gt;])&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#4be6fa&quot;&gt;print&lt;/span&gt;(p1.x&amp;nbsp;&lt;span style=&quot;color:#ff3399&quot;&gt;+&lt;/span&gt;&amp;nbsp;p2.y)&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;#&amp;nbsp;클래스&amp;nbsp;변수&amp;nbsp;접근&amp;nbsp;방식&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align:right;margin-top:-13px;margin-right:5px;font-size:9px;font-style:italic&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: bottom; padding: 0px 2px 4px 0px; width: 643px;&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(79, 79, 79); border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; clear: none; margin-right: 0px; text-align: left;&quot;&gt;&amp;nbsp; &lt;br /&gt;4, 5번 라인 : 두&amp;nbsp;개의 좌표를 튜플 형태로 표현&amp;nbsp;&amp;nbsp;&lt;br /&gt;9번 라인&amp;nbsp; &amp;nbsp;:&amp;nbsp; 두 점 사이의 거리&lt;br /&gt;14번 라인 : collections 패키지의 namedtuple 선언&lt;br /&gt;17, 20, 21번 라인 : 선언부 및 생성부를 통한&amp;nbsp;클래스 형태의 특징을 가지고 있음을 확인&lt;br /&gt;24번 라인 : 두 점 사이의 거리(접근 방법 확인)&lt;br /&gt;32~35 라인 : 네임드튜플의 유연하고 다양한 선언 방법&lt;br /&gt;54번 라인 : 출력 확인&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; clear: none; margin-right: 0px; text-align: left;&quot;&gt;&lt;br /&gt;이번 예제의 핵심은 바로 선언부 및 접근 방법에 있습니다. 튜플의 성질을 가지고 있으면서 클래스 및 딕셔너리&lt;br /&gt;구조의 접근 방식을 사용해서 원하는 데이터에 접근 할 수 있습니다.&lt;br /&gt;&lt;br /&gt;SQL 및 크롤링, 스파크 등에서 수집된 데이터를 체계적으로 관리하고 활용하실 수 있습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; clear: none; margin-right: 0px; text-align: center;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div&gt;&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; clear: none; margin-right: 0px;&quot;&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;&lt;br /&gt;2.&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; padding: 0.1em; color: rgb(199, 37, 78); background-color: rgb(249, 242, 244); border-radius: 3px; overflow: auto; border: 1px solid rgb(132, 175, 244);&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: rgb(0, 87, 102); font-size: 18pt;&quot;&gt;&amp;nbsp;코드 실행&amp;nbsp;확인&amp;nbsp;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;정확하게&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; padding: 0.1em; color: rgb(199, 37, 78); background-color: rgb(249, 242, 244); border-radius: 3px; overflow: auto; border: 1px solid rgb(132, 175, 244);&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: rgb(0, 87, 102); font-size: 14pt;&quot;&gt;&amp;nbsp;소스를 이해하시고 직접&amp;nbsp;실행&amp;nbsp;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp;실행 해보시기를 권장해 드립니다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; clear: none; margin-right: 0px; text-align: center;&quot;&gt;실행 화면&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; clear: none; margin-right: 0px; text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 811px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99B1813B5D58267D13&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99B1813B5D58267D13&quot; width=&quot;811&quot; height=&quot;465&quot; filename=&quot;oper.gif&quot; filemime=&quot;image/gif&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;blockquote style=&quot;margin: 2em 0px; border-left-width: 2px; border-left-color: rgb(132, 175, 244); padding-left: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; font-style: italic; background-color: rgb(238, 242, 248);&quot;&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;더 많은 메소드&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;레퍼런스 확인 및 자세한 설명은&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp;-&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://docs.python.org/3/library/collections.html&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;클릭&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; text-align: center; clear: none; margin-right: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 id=&quot;그러나-위-코드가-안먹힌다면&quot; style=&quot;box-sizing: border-box; font-size: 2em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-top: 0.75em; margin-right: 0px; margin-bottom: 0.35em; line-height: 1.2;&quot;&gt;&lt;span style=&quot;FONT-SIZE: 24pt; COLOR: rgb(53,53,53)&quot;&gt;&lt;br /&gt;&lt;br /&gt;마무리&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-right: 0px;&quot;&gt;&lt;br /&gt;단순한 예제지만, 파이썬에서&amp;nbsp;&amp;nbsp;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; padding: 0.1em; color: rgb(199, 37, 78); background-color: rgb(249, 242, 244); border-radius: 3px; overflow: auto; border: 1px solid rgb(132, 175, 244);&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: rgb(0, 87, 102); font-size: 14pt;&quot;&gt;&amp;nbsp;모든 객체는 데이터에 대한 추상화&amp;nbsp;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;로 표현&amp;nbsp;될 수 있는 부분을 보여줄 수&amp;nbsp;&lt;br /&gt;있는 내용이라고 생각합니다.&lt;br /&gt;&lt;br /&gt;네임드 튜플을 활용하면 이름을 통해서 필드 값에 엑세스 할 수 있다는 장점과 각 데이터에 대한 레이블&lt;br /&gt;을 활용할 수&amp;nbsp; 있는 큰 장점이 있습니다.&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-right: 0px;&quot;&gt;&lt;br /&gt;가장 중요한건 내부적으로 상당히 메모리 활용에 최적화 된 데이터 타입이라는 것입니다.&lt;br /&gt;물론 데이터에 알맞은 적합한 컨테이너 구조를 사용하는 것이 중요하다고 생각합니다.&lt;br /&gt;&lt;br /&gt;다음 시간에도 파이썬 Collections Data type 패키지에 대해서 포스팅 하도록 하겠습니다.&lt;br /&gt;&lt;br /&gt;감사합니다.&lt;br /&gt;&lt;/p&gt;&lt;blockquote style=&quot;margin: 2em 0px; border-left-width: 2px; border-left-color: rgb(132, 175, 244); padding-left: 1em; box-sizing: border-box; font-size: 20px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-style: italic; background-color: rgb(238, 242, 248);&quot;&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box;&quot;&gt;소스코드 다운로드 :&amp;nbsp;&amp;nbsp;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/992681495D5825230F&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/zip.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.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;python_nametuple_1.zip&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; float: none; text-align: center; clear: none; margin-right: 0px;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 215px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99861D365D5824FC33&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99861D365D5824FC33&quot; width=&quot;215&quot; height=&quot;160&quot; filename=&quot;logo.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-right: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; margin-right: 0px; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>언어/Python</category>
      <category>python</category>
      <category>파이썬</category>
      <author>[좋은사람]</author>
      <guid isPermaLink="true">https://niceman.tistory.com/197</guid>
      <comments>https://niceman.tistory.com/197#entry197comment</comments>
      <pubDate>Sun, 18 Aug 2019 01:09:11 +0900</pubDate>
    </item>
    <item>
      <title>파이썬(Python) - 매직(Special) 메소드 및 연산자 오버라이딩 설명 및 실습</title>
      <link>https://niceman.tistory.com/196</link>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 id=&quot;django-프로젝트-만들기&quot; style=&quot;box-sizing: border-box; font-size: 3em; font-family: 'Spoqa Han Sans', sans-serif; margin: 0px 0px 0.55em; line-height: 1.2;&quot;&gt;&lt;span style=&quot;color: #353535;&quot;&gt;&lt;span style=&quot;color: #353535;&quot;&gt;파이썬(Python) - 매직(Special)메소드 설명&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;hr style=&quot;box-sizing: content-box; font-size: 20px; overflow: visible; height: 1px; font-family: 'Spoqa Han Sans', sans-serif; width: 756px; border: 0px;&quot; /&gt;
&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; margin-right: 0px; line-height: 1.5;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #5d5d5d;&quot;&gt;안녕하세요. 좋은사람 입니다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #5d5d5d;&quot;&gt;오랜만에 파이썬 문법에 관해서 포스팅 해보려고 합니다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #5d5d5d;&quot;&gt;그 중에서 가장 빈번하게 사용되고 있지만, 정확한 문법 개념을 가지고 접근해야 하는 &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #0900ff;&quot;&gt;매직 메소드&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #5d5d5d;&quot;&gt;에 대해서&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #5d5d5d;&quot;&gt;간단하게 설명해 볼까 합니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #555555; letter-spacing: -0.5px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #5d5d5d;&quot;&gt;매직 메소드(Special Method)는 파이썬 전반적인 아키텍처를 담고 있다고 봐도 무방할 정도로 중요한 개념&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #5d5d5d;&quot;&gt;이라고 볼 수 있습니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #555555; letter-spacing: -0.5px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #5d5d5d;&quot;&gt;아울러, 매직 메소드(Special Method)는 파이썬 인터프리터를 통한 코드 실행에 있어서 전체에 걸쳐서&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #5d5d5d;&quot;&gt;이미 구성되어 있는 메소드라고 설명되고 있습니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #555555; letter-spacing: -0.5px;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #5d5d5d;&quot;&gt;매직메소드를 정확하게 오버라이딩해서 사용하게 되면 파이써닉 기준에 부합하는 더욱 유연하고 생산성이&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #5d5d5d;&quot;&gt;있는 코드를 작성하실 수 있다고 생각합니다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #5d5d5d;&quot;&gt;아울러, 파이썬 심화 과정으로 나가기 위해서는 필수적으로 관련 지식을 읽어보시는 것을 추천드려요.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #5d5d5d;&quot;&gt;그럼 하단에서 간단한 예제를 통해서 설명드리겠습니다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #5d5d5d;&quot;&gt;&lt;span style=&quot;color: #5d5d5d;&quot;&gt;지난 파이썬 관련 &lt;/span&gt;&lt;span style=&quot;color: #5d5d5d;&quot;&gt;포스팅은 오른쪽 링크&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #5d5d5d;&quot;&gt;를 참고하세요.&lt;/span&gt;&lt;span style=&quot;color: #5d5d5d;&quot;&gt; -&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a class=&quot;tx-link&quot; style=&quot;box-sizing: border-box; background-color: transparent; color: #0a0a0a; letter-spacing: -0.5px; border-bottom-style: solid; transition: color 0.4s ease-in-out 0s; border-color: #81a9db !important #81a9db !important #84aff4 #81a9db !important;&quot; href=&quot;https://niceman.tistory.com/category/%EC%96%B8%EC%96%B4/Python&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: #353535;&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #5d5d5d;&quot;&gt;관련 포스팅&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: 'Spoqa Han Sans', sans-serif;&quot;&gt;&lt;span style=&quot;color: #353535;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: 'Spoqa Han Sans', sans-serif;&quot;&gt;&lt;span style=&quot;color: #353535;&quot;&gt;&lt;br /&gt;파이썬(Python)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #353535;&quot;&gt;- 매직(Special) 메소드 예제 실습&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; margin-right: 0px;&quot;&gt;매직메소드는 우리가 계속 사용하고 있는 메소드 입니다. 파이썬 문법에 있어서 객체는 데이터에 대한&amp;nbsp;&lt;br /&gt;추상화하는 과정이라고 이해해볼 수 있습니다.&lt;br /&gt;&lt;br /&gt;즉, 코드상에 존재하는 (변수, 함수, 클래스) 등을 모두 객체로써 핸들링 할 수 있고 느슨하게 구성되어 있는&lt;br /&gt;매직 메소드를 추가함으로써 우리가 의도하는 기능을 구현할 수 있는 것입니다.&lt;/p&gt;
&lt;div&gt;
&lt;blockquote style=&quot;margin: 2em 0px; border-left-width: 2px; border-left-color: #84aff4; padding-left: 1em; box-sizing: border-box; font-family: 'Spoqa Han Sans', sans-serif; font-size: 20px; background-color: #eef2f8;&quot;&gt;
&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;매직 메소드&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp;관련 추천&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp;레퍼런스 - &lt;/span&gt;&lt;a class=&quot;tx-link&quot; href=&quot;https://docs.python.org/3/reference/datamodel.html#emulating-container-types&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;참조&lt;/span&gt;&lt;/a&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: 'Spoqa Han Sans', sans-serif; float: none; clear: none; margin-right: 0px; text-align: left;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;1.&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: 'Spoqa Han Sans'; padding: 0.1em; color: #c7254e; background-color: #f9f2f4; border-radius: 3px; overflow: auto; border: 1px solid #84aff4;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: #005766; font-size: 18pt;&quot;&gt;&amp;nbsp;__init__, __str__, __iter__&amp;nbsp;...&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;위 제목에 나와 있는 더블 언더스코어(&quot;__&quot;)로 메소드 이름 앞 뒤에 붙여주면 해당 메소드를 오버라이딩 해서&amp;nbsp;&lt;br /&gt;사용하실 수 있습니다. 이미 우리는 의식하지는 못했지만, 기본적으로 덧셈, 뺄셈 등에도 해당 메소드를&amp;nbsp;&lt;br /&gt;내부적으로 백그라운드 연산을 통해 사용하고 있었던 셈입니다.&lt;br /&gt;&lt;br /&gt;더블 언더스코어 된 메소드가 파이썬 내부(Built-in)에 존재하는 함수라면 그 즉시 메소드 오버라이딩을 통해서&lt;br /&gt;함수 본연의 기능을 내가 원하는 객체에 부여할 수 있다는 뜻입니다.&lt;br /&gt;&lt;br /&gt;조금 생소하시고 어렵다고 느껴지시면 아래 예제를 확인하시면 쉽게 이해가능하실거예요.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #f0f0f0; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position: relative !important; overflow: auto;&quot;&gt;
&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin: 0px; padding: 0px; border: none; background-color: #272727; border-radius: 4px; width: 1002px;&quot; width=&quot;1002&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border-right: 2px solid #4f4f4f;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; word-break: normal; text-align: right; color: #aaa; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;1&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;2&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;3&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;4&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;5&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;6&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;7&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;8&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;9&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;10&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;11&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;12&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;13&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;14&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;15&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;16&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;17&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;18&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;19&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;20&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;21&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;22&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;23&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;24&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;25&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;26&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;27&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;28&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;29&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;30&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;31&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;32&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;33&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;34&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;35&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;36&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;37&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;38&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;39&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;40&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;41&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;42&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;43&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;44&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;45&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;46&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;47&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;48&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;49&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;50&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;51&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;52&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;53&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;54&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;55&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;56&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;57&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;58&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;59&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;60&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;61&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;62&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;63&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;64&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;padding: 6px 0px;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; color: #f0f0f0; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;매직메소드&amp;nbsp;기초&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;기본형&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #4be6fa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #4be6fa;&quot;&gt;int&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;모든&amp;nbsp;속성&amp;nbsp;및&amp;nbsp;메소드&amp;nbsp;출력&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #4be6fa;&quot;&gt;print&lt;/span&gt;(dir(&lt;span style=&quot;color: #4be6fa;&quot;&gt;int&lt;/span&gt;))&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #4be6fa;&quot;&gt;print&lt;/span&gt;()&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #4be6fa;&quot;&gt;print&lt;/span&gt;()&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;n&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;100&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;사용&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #4be6fa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ffd500;&quot;&gt;'EX1-1&amp;nbsp;-'&lt;/span&gt;,&amp;nbsp;n&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;200&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #4be6fa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ffd500;&quot;&gt;'EX1-2&amp;nbsp;-'&lt;/span&gt;,&amp;nbsp;n.__add__(&lt;span style=&quot;color: #c10aff;&quot;&gt;500&lt;/span&gt;))&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #4be6fa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ffd500;&quot;&gt;'EX1-3&amp;nbsp;-'&lt;/span&gt;,&amp;nbsp;n.__doc__)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #4be6fa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ffd500;&quot;&gt;'EX1-4&amp;nbsp;-'&lt;/span&gt;,&amp;nbsp;n.__bool__())&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #4be6fa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ffd500;&quot;&gt;'EX1-5&amp;nbsp;-'&lt;/span&gt;,&amp;nbsp;n.__mul__(&lt;span style=&quot;color: #c10aff;&quot;&gt;100&lt;/span&gt;))&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #4be6fa;&quot;&gt;print&lt;/span&gt;()&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #4be6fa;&quot;&gt;print&lt;/span&gt;()&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;클래스&amp;nbsp;예제1&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;class&lt;/span&gt;&amp;nbsp;Student:&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;def&lt;/span&gt;&amp;nbsp;__init__(self,&amp;nbsp;name,&amp;nbsp;height):&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self._name&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;name&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self._height&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;height&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;def&lt;/span&gt;&amp;nbsp;__str__(self):&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #ffd500;&quot;&gt;'Student&amp;nbsp;Class&amp;nbsp;Info&amp;nbsp;:&amp;nbsp;{}&amp;nbsp;,&amp;nbsp;{}'&lt;/span&gt;.&lt;span style=&quot;color: #4be6fa;&quot;&gt;format&lt;/span&gt;(self._name,&amp;nbsp;self._height)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;def&lt;/span&gt;&amp;nbsp;__ge__(self,&amp;nbsp;x):&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #4be6fa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ffd500;&quot;&gt;'Called.&amp;nbsp;&amp;gt;&amp;gt;&amp;nbsp;__ge__&amp;nbsp;Method.'&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;if&lt;/span&gt;&amp;nbsp;self._height&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;x._height:&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;return&lt;/span&gt;&amp;nbsp;True&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;else&lt;/span&gt;:&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;return&lt;/span&gt;&amp;nbsp;False&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;def&lt;/span&gt;&amp;nbsp;__le__(self,&amp;nbsp;x):&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #4be6fa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ffd500;&quot;&gt;'Called.&amp;nbsp;&amp;gt;&amp;gt;&amp;nbsp;__le__&amp;nbsp;Method.'&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;if&lt;/span&gt;&amp;nbsp;self._height&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;x._height:&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;return&lt;/span&gt;&amp;nbsp;True&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;else&lt;/span&gt;:&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;return&lt;/span&gt;&amp;nbsp;False&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;def&lt;/span&gt;&amp;nbsp;__sub__(self,&amp;nbsp;x):&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #4be6fa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ffd500;&quot;&gt;'Called.&amp;nbsp;&amp;gt;&amp;gt;&amp;nbsp;__sub__&amp;nbsp;Method.'&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;return&lt;/span&gt;&amp;nbsp;self._height&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;x._height&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;인스턴스&amp;nbsp;생성&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;s1&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;Student(&lt;span style=&quot;color: #ffd500;&quot;&gt;'James'&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;181&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;s2&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;Student(&lt;span style=&quot;color: #ffd500;&quot;&gt;'Mie'&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #c10aff;&quot;&gt;165&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;매직메소드&amp;nbsp;출력&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #4be6fa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ffd500;&quot;&gt;'EX2-1&amp;nbsp;-'&lt;/span&gt;,&amp;nbsp;s1&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;s2)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #4be6fa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ffd500;&quot;&gt;'EX2-2&amp;nbsp;-'&lt;/span&gt;,&amp;nbsp;s1&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;s2)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #4be6fa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ffd500;&quot;&gt;'EX2-3&amp;nbsp;-'&lt;/span&gt;,&amp;nbsp;s1&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;s2)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #4be6fa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ffd500;&quot;&gt;'EX2-4&amp;nbsp;-'&lt;/span&gt;,&amp;nbsp;s2&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&amp;nbsp;s1)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #4be6fa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ffd500;&quot;&gt;'EX2-5&amp;nbsp;-'&lt;/span&gt;,&amp;nbsp;s1)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #4be6fa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ffd500;&quot;&gt;'EX2-6&amp;nbsp;-'&lt;/span&gt;,&amp;nbsp;s2)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #4be6fa;&quot;&gt;print&lt;/span&gt;()&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #4be6fa;&quot;&gt;print&lt;/span&gt;()&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: right; margin-top: -13px; margin-right: 5px; font-size: 9px; font-style: italic;&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;vertical-align: bottom; padding: 0px 2px 4px 0px; width: 403px;&quot;&gt;&lt;a style=&quot;color: white;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: #4f4f4f; border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: 'Spoqa Han Sans', sans-serif; float: none; clear: none; margin-right: 0px; text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: 'Spoqa Han Sans', sans-serif; float: none; clear: none; margin-right: 0px; text-align: left;&quot;&gt;&amp;nbsp; 7번 라인&amp;nbsp; &amp;nbsp;:&amp;nbsp;dir 함수를 통해서 int 객체가 가지고 있는 모든 속성 출력&lt;br /&gt;14번 라인&amp;nbsp; &amp;nbsp;: 기본적인 덧셈 연산&lt;br /&gt;15번 라인&amp;nbsp; &amp;nbsp;:&amp;nbsp;내부적으로&amp;nbsp;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: 'Spoqa Han Sans'; padding: 0.1em; color: #c7254e; background-color: #f9f2f4; border-radius: 3px; overflow: auto; border: 1px solid #84aff4;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: #005766; font-size: 14pt;&quot;&gt;&amp;nbsp;__add__&amp;nbsp;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;메소드가 실행되어 덧셈 결과를 반환&lt;br /&gt;16번 라인&amp;nbsp; &amp;nbsp;: 18번 라인까지&amp;nbsp;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: 'Spoqa Han Sans'; padding: 0.1em; color: #c7254e; background-color: #f9f2f4; border-radius: 3px; overflow: auto; border: 1px solid #84aff4;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: #005766; font-size: 14pt;&quot;&gt;&amp;nbsp;문서 주석 , 참 거짓 반환 , 곱하기&amp;nbsp;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;테스트 실행&lt;br /&gt;25번 라인&amp;nbsp; &amp;nbsp;: 학생 클래스 선언 -&amp;gt;&amp;nbsp;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: 'Spoqa Han Sans'; padding: 0.1em; color: #c7254e; background-color: #f9f2f4; border-radius: 3px; overflow: auto; border: 1px solid #84aff4;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: #005766; font-size: 14pt;&quot;&gt;&amp;nbsp;__ge__ , __le__ , __sub__&amp;nbsp;&lt;/span&gt;&lt;/code&gt; 매직메소드 오버라이딩에 주목!&lt;br /&gt;52번 라인&amp;nbsp; &amp;nbsp;: 53번 라인까지 2명의 학생 인스턴스(Instance) 생성&lt;br /&gt;56번 라인~ : 이제 학생 인스턴스를 사용해서 숫자 연산자를 활용해서 계산 및 비교 수행 가능&lt;br /&gt;&lt;br /&gt;이번 예제의 핵심이라고 볼 수 있습니다. 즉, 학생 인스턴스를 비교할 경우 내부적으로 오버라이딩한 메소드가&lt;br /&gt;직접 수행이 되어 &lt;b&gt;&lt;span style=&quot;color: #662500;&quot;&gt;클래스 내부에&lt;/span&gt;&lt;span style=&quot;color: #662500;&quot;&gt;&amp;nbsp;우리가 의도한 학생의 키(Height)를 기준으로 연산&lt;/span&gt;&lt;/b&gt;이 수행되는 것이지요.&lt;br /&gt;즉, 객체에 추가한 메소드의 기본 기능대로 코드에서 생성된 인스턴스를 유연하게 사용 할 수 있습니다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: 'Spoqa Han Sans', sans-serif; float: none; clear: none; margin-right: 0px; text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: 'Spoqa Han Sans', sans-serif; float: none; clear: none; margin-right: 0px;&quot;&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;&lt;br /&gt;2.&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: 'Spoqa Han Sans'; padding: 0.1em; color: #c7254e; background-color: #f9f2f4; border-radius: 3px; overflow: auto; border: 1px solid #84aff4;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: #005766; font-size: 18pt;&quot;&gt;&amp;nbsp;코드 실행&amp;nbsp;확인&amp;nbsp;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;정확하게&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: 'Spoqa Han Sans'; padding: 0.1em; color: #c7254e; background-color: #f9f2f4; border-radius: 3px; overflow: auto; border: 1px solid #84aff4;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: #005766; font-size: 14pt;&quot;&gt;&amp;nbsp;소스를 이해하시고 직접&amp;nbsp;실행&amp;nbsp;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp;실행 해보시기를 권장해 드립니다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; font-family: 'Spoqa Han Sans', sans-serif; float: none; clear: none; margin-right: 0px; text-align: center;&quot;&gt;실행 화면&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;785&quot; height=&quot;634&quot; data-origin-width=&quot;785&quot; data-origin-height=&quot;634&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/9953A8395D36E06914?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/9953A8395D36E06914?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9953A8395D36E06914&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9953A8395D36E06914&quot; width=&quot;785&quot; height=&quot;634&quot; data-origin-width=&quot;785&quot; data-origin-height=&quot;634&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;div&gt;
&lt;blockquote style=&quot;margin: 2em 0px; border-left-width: 2px; border-left-color: #84aff4; padding-left: 1em; box-sizing: border-box; font-family: 'Spoqa Han Sans', sans-serif; font-size: 20px; font-style: italic; background-color: #eef2f8;&quot;&gt;
&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;더 많은 메소드&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;레퍼런스 확인 및 자세한 설명은&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp;-&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;a class=&quot;tx-link&quot; href=&quot;https://www.tutorialsteacher.com/python/magic-methods-in-python&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;클릭&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; float: none; text-align: center; clear: none; margin-right: 0px;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;그러나-위-코드가-안먹힌다면&quot; style=&quot;box-sizing: border-box; font-size: 2em; font-family: 'Spoqa Han Sans', sans-serif; margin-top: 0.75em; margin-right: 0px; margin-bottom: 0.35em; line-height: 1.2;&quot;&gt;&lt;span style=&quot;font-size: 24pt; color: #353535;&quot;&gt;&lt;br /&gt;&lt;br /&gt;마무리&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; margin-right: 0px;&quot;&gt;&lt;br /&gt;단순한 예제지만, 파이썬에서&amp;nbsp;&amp;nbsp;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: 'Spoqa Han Sans'; padding: 0.1em; color: #c7254e; background-color: #f9f2f4; border-radius: 3px; overflow: auto; border: 1px solid #84aff4;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: #005766; font-size: 14pt;&quot;&gt;&amp;nbsp;모든 데이터들은 객체 및 객체 사이의 관계로 표현&amp;nbsp;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;될 수 있는 부분을 보여줄 수&amp;nbsp;&lt;br /&gt;있는 내용이라고 생각합니다.&lt;br /&gt;&lt;br /&gt;즉, 파이썬 인터프리터를 통해서 해석 후 데이터 객체 생성 및 연산을 통해서 우리가 원하는 출력 값 및&lt;br /&gt;프로그램 개발 흐름을 제어 할 수 있다는 것이지요.&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; margin-right: 0px;&quot;&gt;&lt;br /&gt;시간이 여유가 되신다면 더블 언더스코어를 지원하는 모든 메소드를 한 번 찾아보시는 것도 파이썬 &lt;br /&gt;실력향상에 아주 큰 도움이 되실거라 생각됩니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;다음 포스팅에서도 좋은 내용으로 찾아뵙겠습니다. 감사합니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 2em 0px; border-left-width: 2px; border-left-color: #84aff4; padding-left: 1em; box-sizing: border-box; font-size: 20px; font-family: 'Spoqa Han Sans', sans-serif; font-style: italic; background-color: #eef2f8;&quot;&gt;
&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box;&quot;&gt;소스코드 다운로드 :&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/99A40B345D36E0020B?original&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;python_magic.zip&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;다운로드&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/blockquote&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;215&quot; height=&quot;160&quot; data-origin-width=&quot;215&quot; data-origin-height=&quot;160&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/99FDCA445D36E0151B?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/99FDCA445D36E0151B?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99FDCA445D36E0151B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99FDCA445D36E0151B&quot; width=&quot;215&quot; height=&quot;160&quot; data-origin-width=&quot;215&quot; data-origin-height=&quot;160&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 style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; margin-right: 0px; text-align: center; clear: none; float: none;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; margin-right: 0px; text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>언어/Python</category>
      <category>magic method</category>
      <category>python</category>
      <category>special method</category>
      <author>[좋은사람]</author>
      <guid isPermaLink="true">https://niceman.tistory.com/196</guid>
      <comments>https://niceman.tistory.com/196#entry196comment</comments>
      <pubDate>Tue, 23 Jul 2019 19:30:15 +0900</pubDate>
    </item>
    <item>
      <title>[취미] (New or Old) 3DS,  2DS 커펌(CFW) 업데이트 방법 및 가이드</title>
      <link>https://niceman.tistory.com/195</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 id=&quot;django-프로젝트-만들기&quot; style=&quot;box-sizing: border-box; font-size: 3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.55em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; line-height: 1.2;&quot;&gt;&lt;span style=&quot;font-size: 24pt;&quot;&gt;&lt;font color=&quot;#353535&quot;&gt;New 3DS, 2DS 커펌 후 SW 업데이트(UPDATE)&amp;nbsp;방법&lt;/font&gt;&lt;/span&gt;&lt;/h1&gt;&lt;hr style=&quot;box-sizing: content-box; height: 1px; overflow: visible; width: 756px; border: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; &quot;&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; &quot;&gt;안녕하세요. 지난 3부에 걸쳐서 New 3DS/2DS 커펌 최종 방법에 대해서 이미 포스팅을 진행했습니다.&lt;br /&gt;&lt;br /&gt;이번 글에서는 지난 포스팅&amp;nbsp;이 후 많은 분들께서 블로그 또는 개인적으로 가장 많이 질문을 해주신 &lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(9, 0, 255);&quot;&gt;커펌 이 후&amp;nbsp;정식 소프트웨어 버전&amp;nbsp;및 커펌 버전 업데이트 방법&lt;/span&gt;&lt;/b&gt;에 대한 내용에 대해서 작성해보려고 합니다.&lt;br /&gt;&lt;br /&gt;결론부터 이야기 하면, 정말 쉬운 파트이고&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;어렵지 않으니 내용을 꼼꼼히 확인하셔서 &lt;/span&gt;&lt;/b&gt;진행하시면 됩니다.&lt;br /&gt;&lt;br /&gt;그리고 지난 시간에 언급드렸지만, 중요한 부분은 다시 한 번 하단과 같이 설명드립니다.&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;반드시 아래 내용을 &lt;b&gt;&lt;span style=&quot;color: rgb(103, 0, 0);&quot;&gt;숙지&lt;/span&gt;&lt;/b&gt;하셔서 블로그 댓글 내용을 비공개 처리하는 일이 없었으면 합니다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. 커펌 및 업데이트 진행 중에 발생하는 문제는 언제나 크리티컬 하며,&amp;nbsp;&lt;b&gt;벽돌 사태&lt;/b&gt;가 발생할 수 있습니다.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.&lt;b&gt; 게임(Cia파일)&amp;nbsp;의뢰 및 기타 복잡한 문의&lt;/b&gt;는 받지 않습니다. 어디까지나 정보 공유 차원입니다.&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; 3. 후에 그 밖에 예상하지 못하는 문제가 발생할 가능성 숙지(버전 업에 따라서)&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;그럼 내용 정리를 시작하겠습니다. 잘 따라오세요!&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div&gt;&lt;blockquote style=&quot;margin: 2em 0px; border-left-width: 2px; border-left-color: rgb(132, 175, 244); padding-left: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; background-color: rgb(238, 242, 248);&quot;&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box;&quot;&gt;참고사항!&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(103, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(153, 0, 76);&quot;&gt;2019-07-16&lt;/span&gt; 현재 &lt;/span&gt;&lt;span style=&quot;color: rgb(103, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;11.10&lt;/span&gt;&amp;nbsp;버전 커펌(CFW)&lt;/span&gt;&lt;span style=&quot;color: rgb(103, 0, 0);&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;정상적으로 &lt;b&gt;&lt;span style=&quot;color: rgb(153, 0, 76);&quot;&gt;동작&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 76);&quot;&gt;&amp;nbsp;및 실행&lt;/span&gt;&lt;/b&gt; 확인했습니다. -&amp;gt; &lt;b&gt;3DS, 2DS&lt;/b&gt;&lt;br /&gt;앞으로 다른 버전이 나오면 또 확인해서 블로그 내용 업데이트 하겠습니다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(152, 0, 0);&quot;&gt;마지막으로 본 포스팅을 참고하셔서 발생하는 어떠한 문제도 저는 책임지지 않습니다.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; margin: 0.75em 0px 0.35em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 2em; line-height: 1.2;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;3DS, 2DS 커펌(CFW) - 버전(Version) 업데이트 필수&amp;nbsp;준비 사항&lt;/span&gt;&lt;/h2&gt;&lt;div&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: start;&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;① 이미 커펌 완료 된 대상 디바이스&amp;nbsp;(3DS, 2DS, New 3DS, New 2DS 中 1개)&lt;br /&gt;② 커펌 된 기기에 사용 중인 Micro SD 카드&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;아래는 필요한 설치 프로그램 목록(&lt;b&gt;링크에서 다운로드 또는 첨부파일 클릭&lt;/b&gt;하세요)&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;br /&gt;ⓐ Luma3DSv10.0.1&amp;nbsp;-&amp;gt; &lt;a href=&quot;https://github.com/AuroraWright/Luma3DS/releases&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;다운링크&lt;/a&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/991A214D5D2D965025&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/zip.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.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;Luma3DSv10.0.1.zip&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;blockquote style=&quot;margin: 2em 0px; border-left-width: 2px; border-left-color: rgb(132, 175, 244); padding-left: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; background-color: rgb(238, 242, 248);&quot;&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; box-sizing: border-box;&quot;&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;&lt;span style=&quot;font-weight: bold; color: rgb(0, 0, 0);&quot;&gt;해당 업데이트 방법은 &lt;span style=&quot;color: rgb(103, 0, 0);&quot;&gt;Boot9Strap&lt;/span&gt; 커펌 방식을 사용한 유저들을 대상으로 합니다.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;여러 커펌 방식이 있으니 기타 커스텀 펌웨어로 인한 업데이트는 시도해보지 않았으며,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;권장하지 않습니다. &lt;b&gt;&lt;span style=&quot;color: rgb(152, 0, 0);&quot;&gt;이점 유의&lt;/span&gt;&lt;/b&gt;하시기 바랍니다.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;br /&gt;준비물 사진&amp;nbsp;:&amp;nbsp; &lt;span style=&quot;color: rgb(41, 0, 102);&quot;&gt;&lt;b&gt;이미 커펌&amp;nbsp;된&lt;span style=&quot;color: rgb(34, 116, 28);&quot;&gt; 업데이트 대상 디바이스&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;(현재 버전 확인)&lt;/span&gt;,&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold; color: rgb(41, 0, 102);&quot;&gt;Micro SD&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99BCDD375D2D96980E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99BCDD375D2D96980E&quot; width=&quot;1000&quot; height=&quot;500&quot; filename=&quot;1.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; margin: 0.75em 0px 0.35em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 2em; line-height: 1.2;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;3DS, 2DS 커펌(CFW) - 버전(Version) &lt;span style=&quot;color: rgb(103, 0, 0);&quot;&gt;업데이트 가이드&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;br /&gt;가장 중요한 파트이고 바로 업데이트 설명들어갑니다. 너무 쉽기 때문에 누구나 성공하실 수 있어요.&lt;br /&gt;&lt;br /&gt;중요한 점은 &lt;b&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;한 번 커펌 된 기기는 영구 커펌&lt;/span&gt;&lt;/b&gt;으로 이해하시면 되고 &lt;b&gt;&lt;span style=&quot;color: rgb(103, 0, 0);&quot;&gt;업데이트는 본체에 환경설정 기능을&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(103, 0, 0);&quot;&gt;통해서 소프트웨어 업데이트&lt;/span&gt;&lt;/b&gt;를 하면 됩니다.&lt;br /&gt;&lt;br /&gt;다만, 우리는 현재 설치되어 있는 &lt;b&gt;&lt;span style=&quot;color: rgb(102, 0, 255);&quot;&gt;Luma3ds 커스텀 펌웨어를 본체 기기 &lt;span style=&quot;color: rgb(152, 0, 0);&quot;&gt;새로운 버전에 맞게 설치&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;만 &lt;br /&gt;해주시면 지속적으로 사용하실 수 있습니다.&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: left; clear: none; float: none;&quot;&gt;&lt;b style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;SD 카드 분리&lt;/b&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(0, 34, 102);&quot;&gt;지금 사용하는 Micro SD카드를 분리 후 PC에 연결합니다.&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: left;&quot;&gt;(1). &lt;b&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;Luma3DSv10.0.1.zip&lt;/span&gt;&lt;/b&gt; 파일 다운로드합니다. 위에 링크 클릭 또는 파일 직접 다운로드 하세요.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99A065475D2D97210A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99A065475D2D97210A&quot; width=&quot;1000&quot; height=&quot;661&quot; filename=&quot;2.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: left;&quot;&gt;&lt;br /&gt;(2). &lt;/span&gt;&lt;b style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: left;&quot;&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;Luma3DSv10.0.1.zip&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: left;&quot;&gt;&amp;nbsp;파일 압축 해제 후&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: left;&quot;&gt;&lt;span style=&quot;color: rgb(153, 0, 76);&quot;&gt;boot.firm&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: left;&quot;&gt;파일이 있는지 확인합니다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 787px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/995CF4475D2D97220C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F995CF4475D2D97220C&quot; width=&quot;787&quot; height=&quot;623&quot; filename=&quot;3.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;(3).&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;span style=&quot;color: rgb(153, 0, 76);&quot;&gt;boot.firm&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;파일을 기존에 Micro SD 카드 루트(Root)에 덮어 쓰기 합니다.&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&amp;nbsp; &amp;nbsp; 이미 B9S 기반으로 커펌이 되어 있는 기기이므로,&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;span style=&quot;color: rgb(153, 0, 76);&quot;&gt;boot.firm&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;파일이 존재하겠죠?&lt;br /&gt;&amp;nbsp; &amp;nbsp; 센스 있으신 분들은 혹시 문제가 생길지 모르니 기존&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;span style=&quot;color: rgb(153, 0, 76);&quot;&gt;boot.firm&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;파일을 &lt;b&gt;&lt;span style=&quot;color: rgb(41, 0, 102);&quot;&gt;백업&lt;/span&gt;&lt;/b&gt;하시는 것도 좋아요.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 913px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99ED40475D2D97223B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99ED40475D2D97223B&quot; width=&quot;913&quot; height=&quot;511&quot; filename=&quot;4.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;&lt;br /&gt;(4). &lt;/span&gt;&lt;b style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;기기 전원을 On&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;후 &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; color: rgb(153, 0, 76);&quot;&gt;&lt;b&gt;Luma Updater&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;를 실행 한 후 &lt;b&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;Current installed version&lt;/span&gt;&lt;/b&gt; 부분을 확인합니다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;버전이 아래와 같이 10.0.1-c 형식이면 정확하게 진행하고 계신거예요.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: left; clear: none; float: none;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 960px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99D0DB475D2D972308&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99D0DB475D2D972308&quot; width=&quot;960&quot; height=&quot;720&quot; filename=&quot;5.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;(5). &lt;/span&gt;&lt;b style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;본체설정-&amp;gt;기타설정&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&amp;nbsp;메뉴 진입 후&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; color: rgb(153, 0, 76);&quot;&gt;&lt;b&gt;본체 업데이트&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&amp;nbsp;실행합니다. 거의 끝났습니다.&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;당연히 무선랜(와이파이)에 연결이 되어 있으셔야 겠죠?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 720px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99D744475D2D97243C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99D744475D2D97243C&quot; width=&quot;720&quot; height=&quot;960&quot; filename=&quot;6.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;&lt;br /&gt;(6).&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;본체 업데이트&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;가 진행되고 있는 것을 확인합니다. 혹시 모르니 어댑터를 연결하고 진행하세요.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 720px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99C5AF475D2D972432&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99C5AF475D2D972432&quot; width=&quot;720&quot; height=&quot;960&quot; filename=&quot;7.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;&lt;br /&gt;(7).&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; color: rgb(153, 0, 76);&quot;&gt;&lt;b&gt;업데이트 최종 완료!!&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&amp;nbsp;최종 버전을 확인합니다.&amp;nbsp;&lt;b&gt;앞으로도 본체 정품 소프트웨어가 업데이트&lt;/b&gt; 된다면 &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;지금과 같이&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 20px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif;&quot;&gt;진행하시면 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 960px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/992C25475D2D97250E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F992C25475D2D97250E&quot; width=&quot;960&quot; height=&quot;720&quot; filename=&quot;8.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: left; clear: none; float: none;&quot;&gt;&lt;br style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&lt;/p&gt;&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; margin: 0.75em 0px 0.35em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 2em; line-height: 1.2;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;3DS, 2DS 커펌(CFW) - 커펌 버전 업데이트 완료 후 실행 화면&lt;/span&gt;&lt;/h2&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;상단 가이드에 따라서 설치하시면 아래와 같은 커펌 완료 후 &lt;b&gt;&lt;span style=&quot;color: rgb(255, 0, 127);&quot;&gt;기존 프로그램들 모두 &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 127);&quot;&gt;문제 없이 동작&lt;/span&gt;&lt;/b&gt;하는 것을&lt;br /&gt;&lt;/span&gt;확인하실 수 있습니다.&lt;br style=&quot;text-align: left;&quot;&gt;&lt;b style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; margin-right: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;b style=&quot;text-align: left;&quot;&gt;실행 영상&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&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;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;/p&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 id=&quot;그러나-위-코드가-안먹힌다면&quot; style=&quot;box-sizing: border-box; margin: 0.75em 0px 0.35em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 2em; line-height: 1.2; &quot;&gt;&lt;span style=&quot;font-size: 24pt; color: rgb(53, 53, 53);&quot;&gt;마무리&lt;/span&gt;&lt;/h2&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; &quot;&gt;&lt;br /&gt;원래는 정보 공유를 위해서 간단하게 커펌 방법 등을 정리하려고 했으나, 난이도가 약간은 높다고 판단되어&amp;nbsp;&lt;br /&gt;자세하게 정리하려고 노력하고 있습니다.&lt;br /&gt;&lt;br /&gt;커펌이 완료 된 기기는 &lt;b&gt;&lt;u&gt;이제 앞으로 새로운 버전이 업로드 될 때 마다 지금과 같은 방법&lt;/u&gt;&lt;/b&gt;으로 수월하게 &lt;br /&gt;진행하시면 됩니다.&lt;br /&gt;&lt;br /&gt;항상 좋은 정보를 공유하려고 노력하고 있습니다. &lt;b&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;불법적인 질문은 절대 금지&lt;/span&gt;&lt;/b&gt;합니다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(9, 0, 255);&quot;&gt;정보가 좋으시면 &lt;span style=&quot;color: rgb(103, 0, 0);&quot;&gt;공감&lt;/span&gt; 꼭 눌러주세요.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;새로운 정보가 업데이트 되면 다시 포스팅 해드리겠습니다.&lt;br /&gt;&lt;br /&gt;감사합니다.&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;  text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 215px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99942E485D2D96CC32&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99942E485D2D96CC32&quot; width=&quot;215&quot; height=&quot;160&quot; filename=&quot;logo.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>라이프/취미</category>
      <category>2DS</category>
      <category>3DS</category>
      <category>CFW</category>
      <category>커펌</category>
      <category>커펌 업데이트</category>
      <author>[좋은사람]</author>
      <guid isPermaLink="true">https://niceman.tistory.com/195</guid>
      <comments>https://niceman.tistory.com/195#entry195comment</comments>
      <pubDate>Tue, 16 Jul 2019 18:32:50 +0900</pubDate>
    </item>
    <item>
      <title>[취미] PS4 분해 - 렌즈 교체, 내부 먼지 청소 및 써멀 재도포 후기</title>
      <link>https://niceman.tistory.com/194</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 id=&quot;django-프로젝트-만들기&quot; style=&quot;box-sizing: border-box; font-size: 3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.55em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; line-height: 1.2;&quot;&gt;&lt;span style=&quot;font-size: 24pt;&quot;&gt;&lt;font color=&quot;#353535&quot;&gt;PS4(플레이스테이션4) 전체 작업(렌즈 교체, 써멀, 먼지 청소)&lt;/font&gt;&lt;/span&gt;&lt;/h1&gt;&lt;hr style=&quot;box-sizing: content-box; height: 1px; overflow: visible; width: 756px; border: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; &quot;&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; &quot;&gt;안녕하세요. 이번 포스팅 제 작은 취미인 레트로 수집 및 수리 중에서 그 동안 묵혀놨던 초기형 PS4 작업에&lt;br /&gt;대해&amp;nbsp;포스팅 해보겠습니다.&lt;br /&gt;&lt;br /&gt;PS4-100X(한국 버전 1005) 모델은 2013년 12월에 한국에 정식 발매된 고전 모델이며, 벌써 6년이라는&lt;br /&gt;시간이 훌쩍 지나버렸습니다.&lt;br /&gt;&lt;br /&gt;무상 A/S는 당연히 만료되었고 잘못된 결과가 나와도 관련 지식을 습득한다는 마음가짐으로 작업에&lt;br /&gt;들어갔는데 좋은 결과가 나와서 매우 기분이 좋습니다.&lt;br /&gt;&lt;br /&gt;저는 PS4 슬림 -&amp;gt; Pro로 빠른 기기 교체로 인해 많이 사용은 안했지만, 내부에 세월의 흔적이 고스란히 &lt;br /&gt;쌓여 있을 거라는 생각에 블루레이 &lt;b&gt;&lt;span style=&quot;color: rgb(34, 116, 28);&quot;&gt;렌즈 교체 및 내부 먼지 청소, 써멀 재도포&lt;/span&gt;&lt;/b&gt; 작업을 성공적으로 수행해서&lt;br /&gt;정보를 공유드리고자 합니다.&lt;br /&gt;&lt;br /&gt;어려운 부분이 있으면 &lt;b&gt;&lt;span style=&quot;color: rgb(0, 34, 102);&quot;&gt;무조건 유투브에서 영문으로 &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 34, 102);&quot;&gt;검색&lt;/span&gt;&lt;/b&gt;하시면 편하게 영상으로 된 정보를 확인할 수&amp;nbsp;&lt;br /&gt;있습니다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;아울러, 웬만한 부품은 &lt;b&gt;&lt;span style=&quot;color: rgb(103, 0, 0);&quot;&gt;아마존 또는&lt;/span&gt;&lt;span style=&quot;color: rgb(103, 0, 0);&quot;&gt;&amp;nbsp;Aliexpress&lt;/span&gt;&lt;/b&gt; 검색하시면 부품을 전부 구매할 수 있으시니 걱정하지 않아도&lt;br /&gt;될 것 같습니다.&lt;br /&gt;&lt;br /&gt;그럼 하단에서 차근차근 설명해볼께요.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; margin: 0.75em 0px 0.35em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 2em; line-height: 1.2;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;PS4(플레이스테이션4)&amp;nbsp;- 블루레이 렌즈(Lens) 및 픽업(Pickup) 교체&lt;/span&gt;&lt;/h2&gt;&lt;div&gt;&lt;blockquote style=&quot;margin: 2em 0px; border-left-width: 2px; border-left-color: rgb(132, 175, 244); padding-left: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; font-style: italic; background-color: rgb(238, 242, 248);&quot;&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box;&quot;&gt;교체용 렌즈는 Aliexpress에서 구매했습니다.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;br /&gt;오늘 교체 대상인 블루레이 렌즈&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; overflow: auto; border-radius: 3px; border: 1px solid rgb(132, 175, 244); padding: 0.1em;&quot;&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;KEM-490AAA&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-size: 20px; font-family: Menlo, Consolas, monospace;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;입니다. PS4는 모델 종류가 많으니 정확하게 구입하셔야 해요.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;겉보기 상태는 좋고 상태는 훌륭해 보입니다.(아직 테스트 전이니..)&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;div style=&quot;text-align: start;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot; style=&quot;&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99F8664E5D0F955309&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99F8664E5D0F955309&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_195124.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;필요한 공구랑 전체 사진 한장 샷!&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/997A874E5D0F95572F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F997A874E5D0F95572F&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_195146.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;렌즈 픽업부에 사용 예정인 그리스 및 내부 먼지 제거제, 칩셋 써멀 준비&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9956094E5D0F955A06&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9956094E5D0F955A06&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_195348.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;후면부에 개봉 확인 스티커를 제거합니다. 총 네 부분입니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/992AD64E5D0F955E32&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F992AD64E5D0F955E32&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_195804.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;탈거합니다. 벌써 부터 내부 먼지 상태가 심상치 않습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9952634E5D0F956106&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9952634E5D0F956106&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_200303.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;만능 파워 클리너 등장합니다. 가성비가 너무 좋은 제품이죠.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9967804E5D0F956505&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9967804E5D0F956505&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_200315.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;나사 제거 후 파워서플라이 제거! 모듈화가 되어 있어서 쉽게 분해 가능합니다.&lt;br /&gt;But! 힘조절 잘하셔야 합니다. 선 단선되면 안되요!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9957E64E5D0F956806&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9957E64E5D0F956806&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_201229.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;서플라이 내부에 먼지가 엄청납니다. 밖으로 나가서 스프레이로 전부 제거!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9923B04D5D0F956C03&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9923B04D5D0F956C03&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_201437.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;먼지 제거된 서플라이!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9977D24D5D0F956F2F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9977D24D5D0F956F2F&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_202349.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;블루레이를 제거했습니다. 나사도 많고 지금부터는 약간 복잡해 집니다.&lt;br /&gt;처음 하시는 분들은 반드시 유투브 영상 또는 사진을 촬영하면서 작업해 주세요.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99778B4D5D0F95732E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99778B4D5D0F95732E&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_202946.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; text-align: center; clear: none; float: none;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;br /&gt;기존 렌즈 픽업부와 비교해보니 정확하게 똑같습니다. 대단합니다. 느낌이 좋네요.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99CEF74D5D0F957606&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99CEF74D5D0F957606&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_203437.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;완전 분해된 블루레이 내부 모습&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/993A6F4D5D0F957A02&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F993A6F4D5D0F957A02&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_203446.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;블루레이 뒷 부분을 탈거해야 픽업 전체를 교체 할 수 있어요.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9947374D5D0F957D31&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9947374D5D0F957D31&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_203827.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;모델명도 똑같습니다. 작동이 제대로 되기를 기원해 봅니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/993DFD4D5D0F958102&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F993DFD4D5D0F958102&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_204009_HDR.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;&amp;nbsp;제거 했습니다. 이제 새로운 픽업부로 교체합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9978F4485D0F95840A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9978F4485D0F95840A&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_204142.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;br /&gt;픽업부 비교 스샷!&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9960CD485D0F958701&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9960CD485D0F958701&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_204154.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;교체 완료 했습니다. 여기까지 오셨으면 나사 위치와 케이블 위치를 정확하게 기억하셔야 해요.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/993215485D0F958B18&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F993215485D0F958B18&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_204419.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;블루레이 재 조립 완료!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99F9AB485D0F958E33&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99F9AB485D0F958E33&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_205121.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;이제 써멀 작업 및 먼지 제거를 위해서 전면부를 탈거합니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99BABA485D0F959236&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99BABA485D0F959236&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_205607.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; text-align: center; clear: none; float: none;&quot;&gt;&lt;/p&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;&quot;&gt;&lt;blockquote style=&quot;margin: 2em 0px; border-left: 2px solid rgb(132, 175, 244); padding: 10px 15px 10px 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; font-style: italic; background-color: rgb(238, 242, 248);&quot;&gt;&lt;p style=&quot;margin: 0px 0px 0.75em; box-sizing: border-box;&quot;&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=GeeINh2v1cw&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot; style=&quot;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(34, 116, 28);&quot;&gt;참고&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;영상&amp;nbsp;-&amp;gt; &amp;nbsp;Youtube 영상이고 정말 많은 도움이&amp;nbsp;되었습니다.&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; margin-top: 0.75em; margin-right: 0px; margin-bottom: 0.35em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 2em; line-height: 1.2;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/h2&gt;&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; margin: 0.75em 0px 0.35em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 2em; line-height: 1.2;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;PS4(플레이스테이션4)&amp;nbsp;- 메인보드 써멀 재도포 작업&lt;/span&gt;&lt;/h2&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box; font-size: 20px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;br /&gt;후면부에서는 블루레이 픽업 교체 및 먼지 제거를 수행하시면 됩니다.&lt;br /&gt;전면부에서는 보드를 완전 분해 할 수 있고 소음에 영향을 주는&lt;br /&gt;쿨링 팬을 분리 작업 역시 가능합니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;br /&gt;메인보드 가이드를 분해합니다.&amp;nbsp;&lt;/span&gt;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;font-size: 1em; box-sizing: border-box; font-family: &amp;quot;Spoqa Han Sans&amp;quot;; overflow: auto; border-radius: 3px; border: 1px solid rgb(132, 175, 244); padding: 0.1em;&quot;&gt;&lt;span style=&quot;color: rgb(0, 87, 102);&quot;&gt;조심히 신중하게&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-family: Menlo, Consolas, monospace;&quot;&gt;&amp;nbsp;&lt;/span&gt;작업하세요&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99C6404B5D0F95CB2D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99C6404B5D0F95CB2D&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_210210.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;칩셋이 보입니다. 이쪽 파트는 먼지가 유입이 되지 않아서 깔끔합니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9974E94B5D0F95CE19&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9974E94B5D0F95CE19&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_210228.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;드디어 드러난 프로세서&amp;nbsp;부분이네요. 세월에 흐름에 따라 써멀도 엉성하게 굳어 있습니다.&lt;br /&gt;항공기 이륙소리에 주범이라&amp;nbsp;생각해볼 수 있습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99061F4B5D0F95D234&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99061F4B5D0F95D234&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_210602.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;접근 샷! 출하 될 당시에도 꼼꼼한 작업은 이루어지지 않은 것 같네요.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99E2F64B5D0F95D52B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99E2F64B5D0F95D52B&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_210608.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;만능 클리너로 깔끔하게 지워줍니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99D0C74B5D0F95DD01&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99D0C74B5D0F95DD01&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_211436.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;쿨링 팬 완전 분리 완료! 가장 많은 먼지를 머금고 있습니다.&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/994390495D0F95E503&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F994390495D0F95E503&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_211637.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;분리해서 밖으로 가지고 나갑니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99A596495D0F95E934&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99A596495D0F95E934&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_212031.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;상판을 완전 분리했으니 깔끔하게 청소해 줍니다. 이번 작업 후 꽤 오랜기간 박스에 있어야 하니까요.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9988B1495D0F95EC0B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9988B1495D0F95EC0B&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_212045.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;PS4가 완전 분해 되었네요. 스샷 한 번 남겨봅니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/993600495D0F95EF2E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F993600495D0F95EF2E&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_212140.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;보드와 가이드에 써멀을 정성스럽게 도포해줍니다.&amp;nbsp;&lt;br /&gt;리퀴드는 옆으로 흘러서 보드를 손상 시킬 염려가 있으니 신중하게 선택하세요.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9926B6495D0F95F32F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9926B6495D0F95F32F&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_214032.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;모든 작업 후 재 조립 완료 정말 깔끔합니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/998B6B495D0F95F60B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F998B6B495D0F95F60B&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_215042.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;재 조립 후 팬 및 나사 부분이 빠진 곳은 없는지 다시 한 번 점검합니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/990387495D0F95F931&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F990387495D0F95F931&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_220857.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;HDD를 연결 해 주고 이제는 두근두근 테스트 해볼 차례입니다. 과연?&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/997FAB485D0F95FD2B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F997FAB485D0F95FD2B&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_221058.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;잘 될거라는 믿음을 가지고 외관을 다시 한 번 정성스럽게 닦아 줍니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/990845485D0F960133&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F990845485D0F960133&quot; width=&quot;1000&quot; height=&quot;750&quot; filename=&quot;20190618_221241.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 id=&quot;django-설치하기&quot; style=&quot;box-sizing: border-box; margin: 0.75em 0px 0.35em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 2em; line-height: 1.2;&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;PS4(플레이스테이션4)&amp;nbsp;- 재 조립 후 작동 영상&lt;/span&gt;&lt;/h2&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box; font-size: 20px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;br /&gt;모든 작업 완료 후 드디어 전원을 넣고 CD를 투입해 봅니다.&lt;br /&gt;체크 리스트는 &lt;b&gt;&lt;span style=&quot;color: rgb(0, 34, 102);&quot;&gt;소음, CD인식 및 실행, 전원 안정화&lt;/span&gt;&lt;/b&gt; 입니다.&lt;br /&gt;&lt;br /&gt;결과는 만족스러웠습니다. &lt;b&gt;&lt;span style=&quot;color: rgb(34, 116, 28);&quot;&gt;심리적 안정감 및 렌즈 읽는 속도가 약간(?)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 116, 28);&quot;&gt;신속&lt;/span&gt;&lt;/b&gt;하게 이루어지는 것 같습니다. &lt;b&gt;&lt;span style=&quot;color: rgb(34, 116, 28);&quot;&gt;팬 소음도 현저하게 감소&lt;/span&gt;&lt;/b&gt;했습니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;작업 후 작동 영상&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center;&quot;&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;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; text-align: center;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 id=&quot;그러나-위-코드가-안먹힌다면&quot; style=&quot;box-sizing: border-box; margin-top: 0.75em; margin-right: 0px; margin-bottom: 0.35em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 2em; line-height: 1.2;&quot;&gt;&lt;span style=&quot;font-size: 24pt; color: rgb(53, 53, 53);&quot;&gt;&lt;br /&gt;&lt;br /&gt;마무리&lt;/span&gt;&lt;/h2&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px; &quot;&gt;&lt;br /&gt;몇 번 언급드리지만, 레트로 취미를 가지면서 전자 기기에 관한 제반 지식을 습득하고 있습니다.&lt;br /&gt;&lt;br /&gt;작업 시간은 2시간 정도 걸렸으며, 숙련자 분들은 쉽게 작업하실 수 있을 거라 사료됩니다.&lt;br /&gt;&lt;br /&gt;전자제품도 얼마든지 사용자의 관심에 따라서 수명이 좌우 되는 것 같습니다. &lt;br /&gt;&lt;br /&gt;혹시 포스팅을 보고 작업하실&amp;nbsp;분은 반드시 관련 자료를 검색하시고 내부 구조에 대해서 충분히 습득 후 &lt;br /&gt;작업하시는 것을 추천드립니다.&lt;br /&gt;&lt;br /&gt;다음에 또 뵙겠습니다. 감사합니다.&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 20px;  text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 210px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/994E81485D0F97CB05&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F994E81485D0F97CB05&quot; width=&quot;210&quot; height=&quot;162&quot; filename=&quot;logo.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>라이프/취미</category>
      <category>ps4</category>
      <author>[좋은사람]</author>
      <guid isPermaLink="true">https://niceman.tistory.com/194</guid>
      <comments>https://niceman.tistory.com/194#entry194comment</comments>
      <pubDate>Mon, 24 Jun 2019 00:18:35 +0900</pubDate>
    </item>
    <item>
      <title>Flask(플라스크) - 머신러닝, 딥러닝 웹 서비스 예제 소스 및 개념 설명(2)</title>
      <link>https://niceman.tistory.com/193</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 id=&quot;django-프로젝트-만들기&quot; style=&quot;box-sizing: border-box; font-size: 3em; font-family: 'Spoqa Han Sans', sans-serif; margin: 0px 0px 0.55em; line-height: 1.2;&quot;&gt;&lt;span style=&quot;color: #353535;&quot;&gt;&lt;span style=&quot;color: #353535;&quot;&gt;파이썬(Python) Flask - ML &amp;amp; DL RESTFul API&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;hr style=&quot;box-sizing: content-box; font-size: 20px; overflow: visible; height: 1px; font-family: 'Spoqa Han Sans', sans-serif; width: 756px; border: 0px;&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; margin-right: 0px; line-height: 1.8;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;지난 포스팅에 이어서 Flask 머신러닝 서비스 프로젝트를 완성해보겠습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; margin-left: 0px; margin-right: 0px; line-height: 1.8;&quot; data-ke-size=&quot;size16&quot;&gt;이번 내용의 핵심은&amp;nbsp;머신러닝 학습 서비스를 모듈화 한 후 플라스크에서 요청 시 재 학습(Retrain) 또는&lt;br /&gt;학습 결과를 리턴해주는 부분을 수정 할 예정입니다.&lt;br /&gt;&lt;br /&gt;이번 예제를 읽기 전에 반드시 지난 포스팅을 참고하시기를 부탁드립니다. (&lt;b&gt;&lt;span style=&quot;color: #030066;&quot;&gt;&lt;/span&gt;&lt;a class=&quot;tx-link&quot; href=&quot;https://niceman.tistory.com/192&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;color: #030066;&quot;&gt;지난 포스팅&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;)&lt;br /&gt;&lt;br /&gt;아울러, 문서 맨 하단에 예제 소스를 항상 첨부해드립니다. &lt;br /&gt;자세한 동작 환경은&amp;nbsp;소스코드를 직접 다운로드 받으셔서 차근차근 분석해보시면 쉽게 이해하실 수 있습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; margin-right: 0px; line-height: 1.8;&quot; data-ke-size=&quot;size16&quot;&gt;그러면 하단에서 간단하게 예제를 작성해보겠습니다.&lt;/p&gt;
&lt;blockquote style=&quot;font-family: 'Spoqa Han Sans', sans-serif; font-size: 20px; margin: 2em 0px; border-left-width: 2px; border-left-color: #84aff4; padding-left: 1em; box-sizing: border-box; font-style: italic; background-color: #eef2f8;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Flask 관련&amp;nbsp;포스팅 &amp;nbsp;:&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a class=&quot;tx-link&quot; style=&quot;background-color: transparent; color: #0a0a0a; border-bottom-style: solid; border-bottom-color: #84aff4; font-style: normal; box-sizing: border-box; transition: color 0.4s ease-in-out;&quot; href=&quot;http://niceman.tistory.com/category/%EC%9B%B9%20%EB%B0%B1%EC%97%94%EB%93%9C/Django%20%26%20Flask&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;color: #353535;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Flask 관련&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box; text-align: center; clear: none; float: none;&quot; 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 style=&quot;font-size: 20px; font-weight: 400;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box; text-align: center; clear: none; float: none;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-family: 'Spoqa Han Sans', sans-serif;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #353535;&quot;&gt;&lt;br /&gt;파이썬(Python) Flask&lt;/span&gt;&lt;span style=&quot;color: #353535;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #353535;&quot;&gt;- ML &amp;amp; DL REST API Architecture&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: '맑은 고딕', sans-serif; font-size: 13px; font-weight: 400;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 0.75em; box-sizing: border-box; font-size: 20px; margin-right: 0px; line-height: 1.8;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;개발에 들어가기 전 가장 중요한 부분을 짚어보겠습니다. &lt;br /&gt;&lt;br /&gt;지난 시간에 언급드렸지다시피 백엔드 파트에서 가장 중요한 모델 재 학습(Retrain)입니다. &lt;br /&gt;&lt;br /&gt;모델을 재 생성한다는 것은 지속적으로 생성되는 새로운 데이터셋을 기반으로 기존 모델을 강화시키고&lt;br /&gt;안정적이고 높은 스코어 및 변화하는 사용자 요구에 적합한&amp;nbsp;서비스를 제공하기 위해서는 필수적인 작업이라 &lt;br /&gt;생각됩니다.&lt;br /&gt;&lt;br /&gt;모델 재 생성은 여러 스케쥴러를 통해서 실행 할 수 있으나, 이번 예제에서는 Rest API로 별도로 분리해서&lt;br /&gt;사용자가 언제든지 요청 할 경우 &lt;/span&gt;&lt;span style=&quot;color: #22741c;&quot;&gt;기존 모델 백업 후 새로운 모델을 &lt;/span&gt;&lt;span style=&quot;color: #22741c;&quot;&gt;생성&lt;/span&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;하는 방향으로 진행했습니다.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;아래 아키텍쳐 다이어그램을 참고하시면 보다 쉽게 이해하실 수 있습니다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;그 후 사용자는 브라우저를 통한 Request 후 생성된 Model을 통해서 &lt;/span&gt;&lt;span style=&quot;color: #22741c;&quot;&gt;인터렉티브한 서비스&lt;/span&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;를 제공&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;하실 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 0.75em; font-weight: 400; box-sizing: border-box; font-size: 20px; margin-right: 0px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: 'Spoqa Han Sans', sans-serif; text-align: center; clear: none; float: none;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-size: 20px; text-align: start;&quot;&gt;아키텍처 다이어그램&lt;span style=&quot;font-weight: 400;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #22741c;&quot;&gt;&lt;a class=&quot;tx-link&quot; href=&quot;https://cloudxlab.com/blog/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;참고&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/9995AC505D09E35215?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/9995AC505D09E35215?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9995AC505D09E35215&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9995AC505D09E35215&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;575&quot; height=&quot;376&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;font-family: 'Spoqa Han Sans', sans-serif; text-align: center; clear: none; float: none;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;font-family: 'Spoqa Han Sans', sans-serif; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #353535;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;파이썬(Python) Flask&lt;/span&gt;&lt;span style=&quot;color: #353535;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #353535;&quot;&gt;- ML &amp;amp; DL REST API 소스코드&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; margin-right: 0px;&quot; data-ke-size=&quot;size16&quot;&gt;다운 받으신 소스코드를 실행하기 위해서는 기본적으로 개발 및 실행 환경 설정은 가상환경을 이용해서 진행 &lt;br /&gt;해 주시면 됩니다. &lt;br /&gt;&lt;br /&gt;지난 시간에 이미 환경설정 및 관련 아키텍쳐에 대해서는 상세하게 설명드렸습니다. 변경된&amp;nbsp;소스코드로 &lt;br /&gt;위주로 설명드리겠습니다.&lt;br /&gt;&lt;br /&gt;그럼 아래 소스를 살펴보겠습니다.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt; color: #005766;&quot;&gt;기본 패키지 설치 및 다운로드 파일(&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; color: #005766;&quot;&gt;필수)&lt;/span&gt;&lt;/p&gt;
&lt;blockquote style=&quot;margin: 2em 0px; border-left-width: 2px; border-left-color: #84aff4; padding-left: 1em; box-sizing: border-box; background-color: #eef2f8;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #353535; font-size: 16px;&quot;&gt;1. 학습에 필요한 Dataset 파일 다운로드 :&amp;nbsp; &lt;span style=&quot;color: #670000;&quot;&gt;&lt;a class=&quot;tx-link&quot; href=&quot;http://ufldl.stanford.edu/housenumbers/extra_32x32.mat&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;링크&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style=&quot;color: #353535;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #353535; font-size: 16px;&quot;&gt;2. 필수 패키지 설치 : &lt;span style=&quot;color: #670000;&quot;&gt;pip install -r requirements.txt&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; margin-right: 0px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-size: 12pt; color: #005766;&quot;&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;소스 코드&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;p style=&quot;color: #f0f0f0; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-weight: 400; font-size: 14pt; float: none; clear: none;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #f0f0f0; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-weight: 400; font-size: 14pt; overflow: auto; position: relative !important;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;p style=&quot;color: #f0f0f0; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-weight: 400; font-size: 14pt;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote class=&quot;&quot; style=&quot;color: #f0f0f0; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 13px; overflow: auto; position: relative !important;&quot; data-ke-style=&quot;style2&quot;&gt;
&lt;p style=&quot;font-size: medium;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; font-family: 'Spoqa Han Sans', sans-serif; font-size: 12pt; font-weight: normal;&quot;&gt;main.py&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; font-size: 13px; color: #f0f0f0; overflow: auto; line-height: 1; position: relative !important;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #f0f0f0; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position: relative !important; overflow: auto;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #f0f0f0; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position: relative !important; overflow: auto;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #010101; overflow: auto; position: relative !important;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;font-size: 13px; color: #f0f0f0; overflow: auto; line-height: 1.8; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position: relative !important;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #010101; overflow: auto; position: relative !important;&quot;&gt;
&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin: 0px; padding: 0px; border: none; background-color: #fafafa; border-radius: 4px; width: 988px;&quot; width=&quot;988&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border-right: 2px solid #e5e5e5;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; word-break: normal; text-align: right; color: #666; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;1&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;2&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;3&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;4&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;5&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;6&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;7&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;8&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;9&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;10&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;11&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;12&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;13&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;14&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;15&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;16&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;17&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;18&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;19&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;20&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;21&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;22&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;23&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;24&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;25&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;26&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;27&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;28&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;29&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;30&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;31&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;32&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;33&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;34&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;35&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;36&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;37&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;38&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;39&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;40&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;41&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;42&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;43&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;44&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;45&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;46&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;47&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;48&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;49&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;50&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;51&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;52&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;53&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;54&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;55&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;56&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;57&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;58&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;59&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;60&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;61&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;62&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;63&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;64&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;65&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;66&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;67&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;68&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;69&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;70&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;71&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;72&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;73&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;padding: 6px 0;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;import&lt;/span&gt;&amp;nbsp;flask&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;from&lt;/span&gt;&amp;nbsp;flask&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;import&lt;/span&gt;&amp;nbsp;Flask,&amp;nbsp;request,&amp;nbsp;render_template&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;from&lt;/span&gt;&amp;nbsp;sklearn.externals&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;import&lt;/span&gt;&amp;nbsp;joblib&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;import&lt;/span&gt;&amp;nbsp;numpy&amp;nbsp;as&amp;nbsp;np&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;from&lt;/span&gt;&amp;nbsp;scipy&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;import&lt;/span&gt;&amp;nbsp;misc&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;from&lt;/span&gt;&amp;nbsp;ml.model&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;import&lt;/span&gt;&amp;nbsp;export_model&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;from&lt;/span&gt;&amp;nbsp;flask_restful&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;import&lt;/span&gt;&amp;nbsp;Resource,&amp;nbsp;Api&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;app&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;Flask(__name__)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;api&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;Api(app)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;메인&amp;nbsp;페이지&amp;nbsp;라우팅&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;@app.route(&lt;span style=&quot;color: #993333;&quot;&gt;&quot;/&quot;&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;@app.route(&lt;span style=&quot;color: #993333;&quot;&gt;&quot;/index&quot;&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;def&lt;/span&gt;&amp;nbsp;index():&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;return&lt;/span&gt;&amp;nbsp;flask.render_template(&lt;span style=&quot;color: #993333;&quot;&gt;'index.html'&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;데이터&amp;nbsp;예측&amp;nbsp;처리&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;@app.route(&lt;span style=&quot;color: #993333;&quot;&gt;'/predict'&lt;/span&gt;,&amp;nbsp;methods&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;[&lt;span style=&quot;color: #993333;&quot;&gt;'POST'&lt;/span&gt;])&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;def&lt;/span&gt;&amp;nbsp;make_prediction():&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;if&lt;/span&gt;&amp;nbsp;request.method&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #993333;&quot;&gt;'POST'&lt;/span&gt;:&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;업로드&amp;nbsp;파일&amp;nbsp;처리&amp;nbsp;분기&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #0099cc;&quot;&gt;file&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;request.files[&lt;span style=&quot;color: #993333;&quot;&gt;'image'&lt;/span&gt;]&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;if&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;not&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0099cc;&quot;&gt;file&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;return&lt;/span&gt;&amp;nbsp;render_template(&lt;span style=&quot;color: #993333;&quot;&gt;'index.html'&lt;/span&gt;,&amp;nbsp;ml_label&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;&quot;No&amp;nbsp;Files&quot;&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;이미지&amp;nbsp;픽셀&amp;nbsp;정보&amp;nbsp;읽기&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;알파&amp;nbsp;채널&amp;nbsp;값&amp;nbsp;제거&amp;nbsp;후&amp;nbsp;1차원&amp;nbsp;Reshape&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;img&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;misc.imread(&lt;span style=&quot;color: #0099cc;&quot;&gt;file&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;img&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;img[:,&amp;nbsp;:,&amp;nbsp;:&lt;span style=&quot;color: #308ce5;&quot;&gt;3&lt;/span&gt;]&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;img&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;img.reshape(&lt;span style=&quot;color: #308ce5;&quot;&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #308ce5;&quot;&gt;1&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;입력&amp;nbsp;받은&amp;nbsp;이미지&amp;nbsp;예측&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;prediction&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;model.predict(img)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;예측&amp;nbsp;값을&amp;nbsp;1차원&amp;nbsp;배열로부터&amp;nbsp;확인&amp;nbsp;가능한&amp;nbsp;문자열로&amp;nbsp;변환&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;label&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0099cc;&quot;&gt;str&lt;/span&gt;(np.squeeze(prediction))&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;숫자가&amp;nbsp;10일&amp;nbsp;경우&amp;nbsp;0으로&amp;nbsp;처리&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;if&lt;/span&gt;&amp;nbsp;label&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #993333;&quot;&gt;'10'&lt;/span&gt;:&amp;nbsp;label&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #993333;&quot;&gt;'0'&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;결과&amp;nbsp;리턴&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;return&lt;/span&gt;&amp;nbsp;render_template(&lt;span style=&quot;color: #993333;&quot;&gt;'index.html'&lt;/span&gt;,&amp;nbsp;ml_label&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;label)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;데이터&amp;nbsp;모델&amp;nbsp;재학습&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;@app.route(&lt;span style=&quot;color: #993333;&quot;&gt;'/retrain'&lt;/span&gt;,&amp;nbsp;methods&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;[&lt;span style=&quot;color: #993333;&quot;&gt;'POST'&lt;/span&gt;])&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;def&lt;/span&gt;&amp;nbsp;make_model():&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;if&lt;/span&gt;&amp;nbsp;request.method&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #993333;&quot;&gt;'POST'&lt;/span&gt;:&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;모델&amp;nbsp;재&amp;nbsp;생성&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;export_model(&lt;span style=&quot;color: #993333;&quot;&gt;'R'&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;return&lt;/span&gt;&amp;nbsp;render_template(&lt;span style=&quot;color: #993333;&quot;&gt;'index.html'&lt;/span&gt;,&amp;nbsp;md_label&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;'모델&amp;nbsp;재생성&amp;nbsp;완료'&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;데이터&amp;nbsp;모델&amp;nbsp;재학습(RestApi)&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;class&lt;/span&gt;&amp;nbsp;RestMl(Resource):&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;def&lt;/span&gt;&amp;nbsp;get(self):&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;export_model(&lt;span style=&quot;color: #993333;&quot;&gt;'R'&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;return&lt;/span&gt;&amp;nbsp;{&lt;span style=&quot;color: #993333;&quot;&gt;'result'&lt;/span&gt;:&amp;nbsp;True,&amp;nbsp;&lt;span style=&quot;color: #993333;&quot;&gt;'modelName'&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;color: #993333;&quot;&gt;'model.pkl'&lt;/span&gt;}&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;Rest&amp;nbsp;등록&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;api.add_resource(RestMl,&amp;nbsp;&lt;span style=&quot;color: #993333;&quot;&gt;'/retrainModel'&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;if&lt;/span&gt;&amp;nbsp;__name__&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #993333;&quot;&gt;'__main__'&lt;/span&gt;:&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;모델&amp;nbsp;로드&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;ml/model.py&amp;nbsp;선&amp;nbsp;실행&amp;nbsp;후&amp;nbsp;생성&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;model&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;joblib.load(&lt;span style=&quot;color: #993333;&quot;&gt;'./model/model.pkl'&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;Flask&amp;nbsp;서비스&amp;nbsp;스타트&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;app.run(host&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #993333;&quot;&gt;'0.0.0.0'&lt;/span&gt;,&amp;nbsp;port&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #308ce5;&quot;&gt;8000&lt;/span&gt;,&amp;nbsp;debug&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;True)&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;vertical-align: bottom; padding: 0px 2px 4px 0px; width: 389px;&quot;&gt;&lt;a style=&quot;color: white;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: #e5e5e5; border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; font-family: 'Spoqa Han Sans', sans-serif; font-size: 20px;&quot;&gt;&lt;span style=&quot;color: #353535; font-size: 14pt;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;- 6번 라인 : 별도로 분리된 모델 학습 파일&lt;/span&gt;(model.py)&lt;span style=&quot;font-weight: 400;&quot;&gt;를&amp;nbsp;패키지 형태로 임포트 합니다.&lt;br /&gt;- 50번&amp;nbsp;라인 : 추가 된 메소드 입니다. 모델 재 학습을 위해서 &lt;/span&gt;Rest API(/retreain)&lt;span style=&quot;font-weight: 400;&quot;&gt; 수신 시 &lt;/span&gt;export_method&lt;span style=&quot;font-weight: 400;&quot;&gt;를 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;호출 후 &lt;/span&gt;model.py에 있는 메소드를 실행&lt;span style=&quot;font-weight: 400;&quot;&gt;합니다. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;그 이후 새로운 모델을 사용해서 ML &amp;amp; DL 서비스를 제공합니다.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important; line-height: 1.5;&quot;&gt;&lt;span style=&quot;color: #353535; font-family: 'Spoqa Han Sans', sans-serif; font-size: 18.6667px; font-weight: 400;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote class=&quot;&quot; style=&quot;color: #f0f0f0; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 13px; overflow: auto; position: relative !important;&quot; data-ke-style=&quot;style2&quot;&gt;
&lt;p style=&quot;font-size: medium;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; font-family: 'Spoqa Han Sans', sans-serif; font-size: 12pt; font-weight: normal;&quot;&gt;model.py&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important; line-height: 1.5;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;font-size: 13px; color: #f0f0f0; overflow: auto; line-height: 1; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position: relative !important;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #f0f0f0; overflow: auto; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position: relative !important;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #f0f0f0; overflow: auto; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position: relative !important;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #010101; overflow: auto; position: relative !important;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;
&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin: 0px; padding: 0px; border: none; background-color: #fafafa; border-radius: 4px; width: 1388px;&quot; width=&quot;1388&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border-right: 2px solid #e5e5e5;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; word-break: normal; text-align: right; color: #666; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;1&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;2&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;3&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;4&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;5&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;6&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;7&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;8&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;9&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;10&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;11&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;12&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;13&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;14&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;15&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;16&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;17&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;18&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;19&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;20&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;21&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;22&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;23&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;24&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;25&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;26&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;27&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;28&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;29&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;30&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;31&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;32&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;33&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;34&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;35&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;36&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;37&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;38&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;39&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;40&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;41&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;42&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;43&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;44&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;45&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;46&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;47&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;48&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;padding: 6px 0;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;import&lt;/span&gt;&amp;nbsp;os&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;import&lt;/span&gt;&amp;nbsp;time&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;import&lt;/span&gt;&amp;nbsp;scipy.io&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;from&lt;/span&gt;&amp;nbsp;sklearn.utils&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;import&lt;/span&gt;&amp;nbsp;shuffle&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;from&lt;/span&gt;&amp;nbsp;sklearn.ensemble&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;import&lt;/span&gt;&amp;nbsp;RandomForestClassifier&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;from&lt;/span&gt;&amp;nbsp;sklearn.model_selection&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;import&lt;/span&gt;&amp;nbsp;train_test_split&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;from&lt;/span&gt;&amp;nbsp;sklearn.externals&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;import&lt;/span&gt;&amp;nbsp;joblib&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;from&lt;/span&gt;&amp;nbsp;pathlib&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;import&lt;/span&gt;&amp;nbsp;Path&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;def&lt;/span&gt;&amp;nbsp;export_model(mode&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;None):&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;Google&amp;nbsp;주소&amp;nbsp;숫자&amp;nbsp;인식&amp;nbsp;모델&amp;nbsp;생성&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;Path&amp;nbsp;설정&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ml_dir&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0099cc;&quot;&gt;str&lt;/span&gt;(Path(__file__).parent)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;md_dir&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0099cc;&quot;&gt;str&lt;/span&gt;(Path(__file__).parent.parent)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;로드&amp;nbsp;mat&amp;nbsp;파일&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;train_data&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;scipy.io.loadmat(ml_dir&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #993333;&quot;&gt;'/extra_32x32.mat'&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;학습&amp;nbsp;데이터,&amp;nbsp;훈련&amp;nbsp;데이터&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;X&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;train_data[&lt;span style=&quot;color: #993333;&quot;&gt;'X'&lt;/span&gt;]&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;y&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;train_data[&lt;span style=&quot;color: #993333;&quot;&gt;'y'&lt;/span&gt;]&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;매트릭스&amp;nbsp;1D&amp;nbsp;변환&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;X&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;X.reshape(X.shape[&lt;span style=&quot;color: #308ce5;&quot;&gt;0&lt;/span&gt;]&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;*&lt;/span&gt;&amp;nbsp;X.shape[&lt;span style=&quot;color: #308ce5;&quot;&gt;1&lt;/span&gt;]&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;*&lt;/span&gt;&amp;nbsp;X.shape[&lt;span style=&quot;color: #308ce5;&quot;&gt;2&lt;/span&gt;],&amp;nbsp;X.shape[&lt;span style=&quot;color: #308ce5;&quot;&gt;3&lt;/span&gt;]).T&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;y&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;y.reshape(y.shape[&lt;span style=&quot;color: #308ce5;&quot;&gt;0&lt;/span&gt;],&amp;nbsp;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;셔플(섞기)&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;X,&amp;nbsp;y&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;shuffle(X,&amp;nbsp;y,&amp;nbsp;random_state&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #308ce5;&quot;&gt;42&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;학습&amp;nbsp;훈련&amp;nbsp;데이터&amp;nbsp;분리&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;X_train,&amp;nbsp;X_test,&amp;nbsp;y_train,&amp;nbsp;y_test&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;train_test_split(X,&amp;nbsp;y,&amp;nbsp;test_size&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #308ce5;&quot;&gt;0.&lt;/span&gt;&lt;span style=&quot;color: #308ce5;&quot;&gt;05&lt;/span&gt;,&amp;nbsp;random_state&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #308ce5;&quot;&gt;42&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;랜덤&amp;nbsp;포레스트&amp;nbsp;객체&amp;nbsp;생성&amp;nbsp;및&amp;nbsp;학습&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clf&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;RandomForestClassifier()&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clf.fit(X_train,&amp;nbsp;y_train)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;#&amp;nbsp;모델&amp;nbsp;저장(첫&amp;nbsp;학습,&amp;nbsp;재&amp;nbsp;학습&amp;nbsp;구분)&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;if&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;not&lt;/span&gt;&amp;nbsp;mode:&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;joblib.dump(clf,&amp;nbsp;md_dir&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #993333;&quot;&gt;'/model/model.pkl'&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;else&lt;/span&gt;:&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;if&lt;/span&gt;&amp;nbsp;os.path.isfile(md_dir&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #993333;&quot;&gt;'/model/model.pkl'&lt;/span&gt;):&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;os.rename(md_dir&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #993333;&quot;&gt;'/model/model.pkl'&lt;/span&gt;,&amp;nbsp;md_dir&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;f&lt;span style=&quot;color: #993333;&quot;&gt;'/model/model_{time.time()}.pkl'&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;joblib.dump(clf,&amp;nbsp;md_dir&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #993333;&quot;&gt;'/model/model.pkl'&lt;/span&gt;)&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;if&lt;/span&gt;&amp;nbsp;__name__&amp;nbsp;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #993333;&quot;&gt;&quot;__main__&quot;&lt;/span&gt;:&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;export_model()&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: right; margin-top: -13px; margin-right: 5px; font-size: 9px; font-style: italic;&quot;&gt;&lt;a style=&quot;color: #e5e5e5;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;vertical-align: bottom; padding: 0px 2px 4px 0px; width: 675px;&quot;&gt;&lt;a style=&quot;color: white;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: #e5e5e5; border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;font-size: 13px; color: #f0f0f0; overflow: auto; line-height: 1.8; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position: relative !important;&quot;&gt;&lt;span style=&quot;color: #000000; font-family: 'Spoqa Han Sans', sans-serif; font-size: 20px; font-weight: 400;&quot;&gt;&lt;span style=&quot;color: #353535; font-size: 14pt;&quot;&gt;&lt;br /&gt;- 11번 라인 : 패키지 형태의 모듈 서비스를 제공하기 위해서 함수 형태로 변환합니다.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #353535; font-family: 'Spoqa Han Sans', sans-serif; font-size: 18.6667px; font-weight: 400;&quot;&gt;- 39&lt;/span&gt;&lt;span style=&quot;color: #353535; font-family: 'Spoqa Han Sans', sans-serif; font-size: 18.6667px; font-weight: 400;&quot;&gt;~44라인 : 학습 완료 된 모델을 추출합니다. 기존 모델을 지우지 않고 datetime을 붙인 후 백업합니다.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;font-size: 13px; color: #f0f0f0; overflow: auto; line-height: 1.8; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position: relative !important;&quot;&gt;&lt;span style=&quot;color: #353535; font-family: 'Spoqa Han Sans', sans-serif; font-size: 18.6667px; font-weight: 400;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;이 부분은 시간이 흐름에 따라 저장장치에 많은 용량이 필요하므로, 주기적 삭제 정책에 대해서는 &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;환경에 따라서 기능 추가가 필요한 부분입니다.&lt;/span&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;box-sizing: border-box; font-size: 2em; font-family: 'Spoqa Han Sans', sans-serif; margin: 0.75em 0px 0.35em; line-height: 1.2;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;font-family: '맑은 고딕', sans-serif; font-size: 13px;&quot;&gt;
&lt;blockquote style=&quot;margin: 2em 0px; border-left-width: 2px; border-left-color: #84aff4; padding-left: 1em; box-sizing: border-box; font-family: 'Spoqa Han Sans', sans-serif; font-size: 20px; background-color: #eef2f8;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p style=&quot;margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; box-sizing: border-box;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-style: italic; font-weight: 400;&quot;&gt;Flask Rest API의 추가적인 상세 설명은&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #22741c;&quot;&gt;&lt;a class=&quot;tx-link&quot; href=&quot;https://flask-restful.readthedocs.io/en/latest/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;color: #22741c; font-size: 14pt;&quot;&gt;&lt;i&gt;이 곳&lt;/i&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-weight: 400;&quot;&gt;을 참고해 주세요.&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #353535;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;파이썬(Python) Flask&lt;/span&gt;&lt;span style=&quot;color: #353535;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #353535;&quot;&gt;- ML &amp;amp; DL REST API 테스트&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; margin-right: 0px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;아래 이미지로 총 2단계의 완성 된 실행 환경을 GIF 이미지로 확인하실 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; margin-right: 0px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; float: none; clear: none; margin-right: 0px; text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;실행&amp;nbsp;화면 - Flask 서버 기동&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/99E969365D08B84F22?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/99E969365D08B84F22?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99E969365D08B84F22&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99E969365D08B84F22&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;883&quot; height=&quot;687&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; float: none; text-align: center; clear: none; margin-right: 0px;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;실행&amp;nbsp;화면(model.py)&amp;nbsp;- 학습 재 학습 결과 확인&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/994270385D08B85B1B?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/994270385D08B85B1B?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/994270385D08B85B1B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F994270385D08B85B1B&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;883&quot; height=&quot;687&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;blockquote style=&quot;margin: 2em 0px; border-left-width: 2px; border-left-color: #84aff4; padding-left: 1em; box-sizing: border-box; font-size: 20px; font-style: italic; background-color: #eef2f8;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Flask 공식 Reference&amp;nbsp; :&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #353535; border-bottom-style: solid; border-bottom-color: #84aff4; background-color: transparent; font-style: normal; box-sizing: border-box; transition: color 0.4s ease-in-out;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;a class=&quot;tx-link&quot; style=&quot;color: #0a0a0a; border-bottom-style: solid; border-bottom-color: #84aff4; background-color: transparent; font-style: normal; box-sizing: border-box; transition: color 0.4s ease-in-out;&quot; href=&quot;http://flask.pocoo.org/docs/1.0/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Flask 관련&lt;/a&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;그러나-위-코드가-안먹힌다면&quot; style=&quot;box-sizing: border-box; font-size: 2em; font-family: 'Spoqa Han Sans', sans-serif; margin-top: 0.75em; margin-right: 0px; margin-bottom: 0.35em; line-height: 1.2;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-size: 24pt; color: #353535;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;마무리&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; margin-right: 0px; line-height: 1.8;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;2회의&amp;nbsp;포스팅에 걸쳐서&amp;nbsp;플라스크 프레임워크를&amp;nbsp;활용해서 머신러닝, 딥러닝 서비스를 Rest API 형태로 서버를&lt;br /&gt;구성하는 예제를 작성해보았습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; margin-right: 0px; line-height: 1.8;&quot; data-ke-size=&quot;size16&quot;&gt;현재 다양한 네이버 클로바, 구글 딥러닝 VM, 아마존 AWS Rest 기계학습&amp;nbsp;서비스, 삼성 브라이틱스&amp;nbsp;등 &lt;br /&gt;대표 기업들이 클라우드 환경에서 웹&amp;nbsp;GUI 기반 다양한 알고리즘을 활용한 빅데이터 분석 및 기계학습 &lt;br /&gt;서비스를 제공 하고 있습니다.&lt;br /&gt;&lt;br /&gt;이번 예제에서는 모델 재 학습(Retrain)이라는 중요한 부분을 기능 추가 후 테스트까지 완료했습니다.&lt;br /&gt;&lt;br /&gt;개인적으로 요즘 분석 기반 프로젝트를 진행하면서 대용량 인프라 기반 및 많은 양의 데이터가 존재&lt;br /&gt;한다면 딥러닝을 사용할 경우 좋은 결과 값 도출을 확인했습니다.&lt;br /&gt;&lt;br /&gt;다만, 제가 경험한 바운더리안에서는 거의 국내에서 현업에서 발생되는 데이터는 텍스트 타입 데이터가 &lt;br /&gt;대부분이었고 이 때는 머신러닝 알고리즘을 활용하는 것이 비즈니스 서비스에 더 도움이 되는 경우가 &lt;br /&gt;많았습니다. &lt;br /&gt;&lt;br /&gt;데이터 타입이 영상, 이미지 자료등의 멀티미디어 자료라면 두말 할거 없어 딥러닝이라&amp;nbsp;생각됩니다.&lt;br /&gt;&lt;br /&gt;불확실성을 확실성으로 개선시키는 작업은 힘들지만, 자가 발전에 큰 활력소가 되고 있는 것 같습니다.&lt;br /&gt;&lt;br /&gt;다음 예제에서도 좋은 정보를 공유하도록 하겠습니다. 꼭 예제 파일 다운로드 후&amp;nbsp;직접 실행하시는 것을 &lt;br /&gt;추천 드립니다.&lt;br /&gt;&lt;br /&gt;감사합니다.&lt;/p&gt;
&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; margin-left: 0px; margin-right: 0px; line-height: 1.8;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;border-left-width: 2px; box-sizing: border-box; font-size: 20px; font-family: 'Spoqa Han Sans', sans-serif; border-left-color: #84aff4; font-style: italic; padding-left: 1em; margin: 2em 0px; background-color: #eef2f8;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p style=&quot;box-sizing: border-box; margin-bottom: 0.75em; margin-left: 0px; margin-right: 0px;&quot; data-ke-size=&quot;size16&quot;&gt;소스코드 다운로드 :&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/990AED3D5D08B10307?original&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;FLASK-ML &amp;amp;amp; DL-EXAMPLE(2).zip&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;다운로드&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/blockquote&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/99108F3D5D08B1A627?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/99108F3D5D08B1A627?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99108F3D5D08B1A627&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99108F3D5D08B1A627&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;215&quot; height=&quot;160&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;box-sizing: border-box; font-size: 20px; margin-bottom: 0.75em; font-family: 'Spoqa Han Sans', sans-serif; margin-left: 0px; margin-right: 0px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>빅데이터 &amp;amp; 분석/Machine Learning</category>
      <category>Deep Learning</category>
      <category>flask</category>
      <category>Machine Learning</category>
      <category>딥러닝</category>
      <category>머신러닝</category>
      <author>[좋은사람]</author>
      <guid isPermaLink="true">https://niceman.tistory.com/193</guid>
      <comments>https://niceman.tistory.com/193#entry193comment</comments>
      <pubDate>Tue, 18 Jun 2019 19:17:07 +0900</pubDate>
    </item>
  </channel>
</rss>