<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Gray CHA</title>
    <link>https://graycha.tistory.com/</link>
    <description>생활정보, 제품리뷰, 프로그래밍 정보를 기록하는 블로그입니다.</description>
    <language>ko</language>
    <pubDate>Sun, 2 Aug 2026 21:50:57 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>차고차곡</managingEditor>
    <image>
      <title>Gray CHA</title>
      <url>https://tistory1.daumcdn.net/tistory/1876942/attach/42230b94bb3e45c5ae713e878c8fc0f4</url>
      <link>https://graycha.tistory.com</link>
    </image>
    <item>
      <title>[SSL] 무료 SSL인증서 - Let`s Encrypt 갱신 절차</title>
      <link>https://graycha.tistory.com/232</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;단일 WAS 를 통해 트래픽이 낮은 서비스를 운영중이다. 해당 서비스는 모두 Let`s Encrypt SSL 인증서를 활용중이며 지속적으로 갱신 관리를 해주어야 하는 이슈가 발생했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;갱신 명령어&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;certbot 명령어를 통해 도메인에 할당된 인증서 기간을 쉽게 갱신할 수 있다.&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;$ certbot certonly -d [도메인주소]&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;갱신 과정 중, 아래와 같이 port 80 사용하는데 문제가 발생했다는 에러가 발생했을 경우&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WAS 에서 사용중인 80 서비스를 중단 후, 재실행해준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;912&quot; data-origin-height=&quot;60&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cf10OB/btrosaGsXHB/5VaHtEqIuIrCyMdyg3EE3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cf10OB/btrosaGsXHB/5VaHtEqIuIrCyMdyg3EE3K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cf10OB/btrosaGsXHB/5VaHtEqIuIrCyMdyg3EE3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcf10OB%2FbtrosaGsXHB%2F5VaHtEqIuIrCyMdyg3EE3K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;664&quot; height=&quot;60&quot; data-origin-width=&quot;912&quot; data-origin-height=&quot;60&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;유효기간 확인&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;80 서비스는 재시작 해주고, 인증서가 정상적으로 갱신되었는지 확인한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;848&quot; data-origin-height=&quot;350&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ci3xOg/btrozwHKMfo/6sb3skP7s6BxoYlRvseSDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ci3xOg/btrozwHKMfo/6sb3skP7s6BxoYlRvseSDK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ci3xOg/btrozwHKMfo/6sb3skP7s6BxoYlRvseSDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fci3xOg%2FbtrozwHKMfo%2F6sb3skP7s6BxoYlRvseSDK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;577&quot; height=&quot;350&quot; data-origin-width=&quot;848&quot; data-origin-height=&quot;350&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;해결과제&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1) 80서비스를 중단시키지 않은 상태에서 인증서를 갱신할 수 있는 방법에 대해서 고민해봐야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2) 인증서 갱신주기 60일에 맞춰 갱신할 수 있는 자동 갱신 스크립트를 생성해보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3) wild type ( *.test.kr ) / standalone type ( &lt;a href=&quot;http://www.test.kr&quot;&gt;www.test.kr&amp;nbsp;&lt;/a&gt; ) 를 모두 사용 중인 점을 고려해야한다.&lt;/p&gt;</description>
      <category>프로그래밍/ETC</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/232</guid>
      <comments>https://graycha.tistory.com/232#entry232comment</comments>
      <pubDate>Wed, 22 Dec 2021 00:39:32 +0900</pubDate>
    </item>
    <item>
      <title>VSCode - PHPDoc Comment</title>
      <link>https://graycha.tistory.com/231</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;PHPDoc Comment 는 정형화된 주석을 자동으로 생성하여, 프로그램의 가독성을 높이고 유지관리를 효율적으로 할 수 있게 도와주는 Plugin 입니다. 클래스, 함수, 변수에 대해 PHPDoc 블록을 자동으로 추가 해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;PHPDoc Comment Plugin&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1421&quot; data-origin-height=&quot;931&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/n5jmQ/btrlwKqgUDc/LQcIOZCrO7v0OtHosjVfw0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/n5jmQ/btrlwKqgUDc/LQcIOZCrO7v0OtHosjVfw0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/n5jmQ/btrlwKqgUDc/LQcIOZCrO7v0OtHosjVfw0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fn5jmQ%2FbtrlwKqgUDc%2FLQcIOZCrO7v0OtHosjVfw0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1421&quot; height=&quot;931&quot; data-origin-width=&quot;1421&quot; data-origin-height=&quot;931&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;단축키&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- &lt;span style=&quot;color: #f89009;&quot;&gt;&lt;b&gt;command + shift + i&amp;nbsp;&lt;/b&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;1320&quot; data-origin-height=&quot;126&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FLSmI/btrlzOrctlW/7BMiGOvzABltVkM1gwlLZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FLSmI/btrlzOrctlW/7BMiGOvzABltVkM1gwlLZ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FLSmI/btrlzOrctlW/7BMiGOvzABltVkM1gwlLZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFLSmI%2FbtrlzOrctlW%2F7BMiGOvzABltVkM1gwlLZ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1320&quot; height=&quot;126&quot; data-origin-width=&quot;1320&quot; data-origin-height=&quot;126&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 클래스, 함수, 변수에서 사용시&amp;nbsp; 아래와같은 형태로 정형화된 주석을 자동으로 생성해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 함수에 선언된 매개변수(parameter)를 자동으로 생성해줍니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;802&quot; data-origin-height=&quot;840&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cIgnBB/btrlxLhIveY/jTy4BOuGKSsT2Y6OxJZIOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cIgnBB/btrlxLhIveY/jTy4BOuGKSsT2Y6OxJZIOk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cIgnBB/btrlxLhIveY/jTy4BOuGKSsT2Y6OxJZIOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcIgnBB%2FbtrlxLhIveY%2FjTy4BOuGKSsT2Y6OxJZIOk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;802&quot; height=&quot;840&quot; data-origin-width=&quot;802&quot; data-origin-height=&quot;840&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>프로그래밍/ETC</category>
      <category>phpdoc comment</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/231</guid>
      <comments>https://graycha.tistory.com/231#entry231comment</comments>
      <pubDate>Fri, 19 Nov 2021 11:02:31 +0900</pubDate>
    </item>
    <item>
      <title>Codility - BinaryGap 문제 및 풀이 ( Php / Python )</title>
      <link>https://graycha.tistory.com/230</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;문제.BinaryGap&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;binary gap&lt;/i&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;within a positive integer N is any maximal sequence of consecutive zeros that is surrounded by ones at both ends in the binary representation of N.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;For example, number 9 has binary representation&lt;span&gt;&amp;nbsp;&lt;/span&gt;1001&lt;span&gt;&amp;nbsp;&lt;/span&gt;and contains a binary gap of length 2. The number 529 has binary representation&lt;span&gt;&amp;nbsp;&lt;/span&gt;1000010001&lt;span&gt;&amp;nbsp;&lt;/span&gt;and contains two binary gaps: one of length 4 and one of length 3. The number 20 has binary representation&lt;span&gt;&amp;nbsp;&lt;/span&gt;10100&lt;span&gt;&amp;nbsp;&lt;/span&gt;and contains one binary gap of length 1. The number 15 has binary representation&lt;span&gt;&amp;nbsp;&lt;/span&gt;1111&lt;span&gt;&amp;nbsp;&lt;/span&gt;and has no binary gaps. The number 32 has binary representation&lt;span&gt;&amp;nbsp;&lt;/span&gt;100000&lt;span&gt;&amp;nbsp;&lt;/span&gt;and has no binary gaps.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Write a function:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;function solution($N);&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;that, given a positive integer N, returns the length of its longest binary gap. The function should return 0 if N doesn't contain a binary gap.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;For example, given N = 1041 the function should return 5, because N has binary representation&lt;span&gt;&amp;nbsp;&lt;/span&gt;10000010001&lt;span&gt;&amp;nbsp;&lt;/span&gt;and so its longest binary gap is of length 5. Given N = 32 the function should return 0, because N has binary representation '100000' and thus no binary gaps.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Write an&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;b&gt;efficient&lt;/b&gt;&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;algorithm for the following assumptions:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;N is an integer within the range [&lt;span&gt;1&lt;/span&gt;..&lt;span&gt;2,147,483,647&lt;/span&gt;].Copyright 2009&amp;ndash;2021 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;풀이&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과정
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;이진수 변환&lt;/li&gt;
&lt;li&gt;이진 간격 찾기&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;관련 함수
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;array_push()&lt;/li&gt;
&lt;li&gt;explode()&lt;/li&gt;
&lt;li&gt;implode()&lt;/li&gt;
&lt;li&gt;array_reverse()&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;# php&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1635310776704&quot; class=&quot;php&quot; style=&quot;margin: 20px auto 0px; display: block; overflow: auto; padding: 20px; color: #383a42; background: #f8f8f8; font-size: 14px; font-family: 'SF Mono', Menlo, Consolas, Monaco, monospace; border: 1px solid #ebebeb; line-height: 1.71; cursor: default; z-index: 1; 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; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function solution($N) {
    // write your code in PHP7.0

    // get binary vaolue
    $n = 2;
    if($N&amp;gt;0){
        $num = $N;
        $binary = Array();
        
        //	이진수 변환
        while(true){            
            $q = (int)($num/$n);
            $r = (int)($num%$n);
            array_push($binary, $r);            

            if( $q&amp;gt;0 ){
                $num = $q;
            }else{
                break;
            }
        }
		
        // 간격 구하기
        $count = 0;
        $max_count = 0;
        $set_binary = array_reverse($binary);
        foreach($set_binary as $k=&amp;gt;$v){
            if($v == 1){
                if($count&amp;gt;$max_count){
                    $max_count = $count;
                }
                $count = 0;
            }else{
                $count++;
            }
        }
        
        return $max_count;
    }else{
        return false;
    }    
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;# python&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1635402049908&quot; class=&quot;php&quot; style=&quot;margin: 20px auto 0px; display: block; overflow: auto; padding: 20px; color: #383a42; background: #f8f8f8; font-size: 14px; font-family: 'SF Mono', Menlo, Consolas, Monaco, monospace; border: 1px solid #ebebeb; line-height: 1.71; cursor: default; z-index: 1; 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; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;&quot; data-ke-language=&quot;php&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# you can write to stdout for debugging purposes, e.g.
# print(&quot;this is a debug message&quot;)

def solution(N):
    # write your code in Python 3.6
    num = N
    binarys = []

    # 2진수 변환
    while True:
        a = int(num/2)
        b = num%2
        binarys.append(b)

        if a&amp;gt;0:            
            num = a
        else:
            break

    # 1과 1사이 간격
    count = 0
    max = 0
    binarys.reverse()
    for i in range(len(binarys)):
        if binarys[i] == 1:
            if count &amp;gt; max:
                max=count
            count = 0
        else:
            count+=1
            
    return max&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;# python - 다른사람 풀이&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파이썬 문법을 활용하여 정말 심플하게 작성하였다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;bin() : 진법 변환, 반환타입 string&amp;nbsp; / [2:]&amp;nbsp; 반환값에 진법 미표기&amp;nbsp;&lt;/li&gt;
&lt;li&gt;strip(A) : 문자열 시작 끝에 있는 문자 'A' 의 연속 문자 모두 제거&lt;/li&gt;
&lt;li&gt;split(A) : 문자열 중, 문자 'A'를 기준으로 자른다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1635434870013&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(N):
    # write your code in Python 3.6
    binary = bin(N)[2:]
    return len(max(binary.strip('0').strip('1').split('1')))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;* 출처&lt;/b&gt;&lt;br /&gt;&lt;a href=&quot;https://app.codility.com/programmers/&quot;&gt;Codility_ [바로가기]&lt;/a&gt;&lt;/p&gt;</description>
      <category>프로그래밍/Algorithm</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/230</guid>
      <comments>https://graycha.tistory.com/230#entry230comment</comments>
      <pubDate>Fri, 29 Oct 2021 00:32:26 +0900</pubDate>
    </item>
    <item>
      <title>경기도 청년 전세 보증금지원 사업 자격 및 무주택 기준 정리</title>
      <link>https://graycha.tistory.com/228</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;전세 보증금 지원사업은 주거복지 서비스 중 하나로 경기도시공사와 입주대상자가 공동 임차인이 되어 주택소유자와 전세계약을 체결하면 입주대상자에게 보증금 일부를 지원하는 사업입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;843&quot; data-origin-height=&quot;535&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RKJGT/btrhlAkHVOh/GHe1cys7oN6laM2QrsGnc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RKJGT/btrhlAkHVOh/GHe1cys7oN6laM2QrsGnc0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RKJGT/btrhlAkHVOh/GHe1cys7oN6laM2QrsGnc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRKJGT%2FbtrhlAkHVOh%2FGHe1cys7oN6laM2QrsGnc0%2Fimg.png&quot; data-origin-width=&quot;843&quot; data-origin-height=&quot;535&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;자격 기준&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만 19세 이상 ~ 만39세 이하의 청년을 대상으로 월평균 소득은 전년도 도시근로자 가구당 월평균 소득의 75% 이하의 소득요건에 부함하면 신청이 가능합니다. 단, 세대원 중 부모가 있는 세대주인 자는 본인과 부모 소득의 월평균 소득 합산액이 도시근로자 가구당 월평균 소득의 100% 이하를 충족해야 하기 때문에 소득검증은 꼭 확인해야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;668&quot; data-origin-height=&quot;66&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Sel7d/btrhtUP0yFN/mOZ6Hu9FUKEqKfBahjrTK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Sel7d/btrhtUP0yFN/mOZ6Hu9FUKEqKfBahjrTK0/img.png&quot; data-alt=&quot;20년 도시근로자 가구당 월평균 소득기준 금액&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Sel7d/btrhtUP0yFN/mOZ6Hu9FUKEqKfBahjrTK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSel7d%2FbtrhtUP0yFN%2FmOZ6Hu9FUKEqKfBahjrTK0%2Fimg.png&quot; data-origin-width=&quot;668&quot; data-origin-height=&quot;66&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;20년 도시근로자 가구당 월평균 소득기준 금액&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;무주택 기준&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무주택 기준이 놓치기 쉬운데,&amp;nbsp; 경기도 청년 전세보증금 지원사업의 경우 세대 내 다른 구성원이 주택을 소유해도 신청이 가능합니다. 즉, 부모님과 같이 살고 있어도, 신청자 본인이 주택을 소유하고 있지 않다면 신청이 가능합니다!&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;소득산정 기준&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;신청자 본인의 월평균 소득을 기준으로 합니다. 만약, 신청자 본인이 세대주인 청년의 경우 세대 구성원 중 부모님이 계시다면 부모님의 월평균 소득도 합산해야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;상담문의&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;경기주택도시공사&lt;s&gt; 콜센터 ☎️ 1588-0466로&lt;/s&gt; 문의 가능한데, 정말 콜센터 역할만 하고 있어서 큰 도움이 되지는 않았습니다. 그래서 지원 자격 및 소득 관련된 자세한 정보는 ☎️ 031-220-3589로 문의하여 정확한 상담을 받을 수 있었습니다.&lt;/p&gt;</description>
      <category>알아두기</category>
      <category>청년 전세 보증금지원</category>
      <category>청년 전세 보증금지원 무주택 기준</category>
      <category>청년 전세 보증금지원 소득산정 기준</category>
      <category>청년 전세 보증금지원 자격기준</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/228</guid>
      <comments>https://graycha.tistory.com/228#entry228comment</comments>
      <pubDate>Tue, 12 Oct 2021 11:28:04 +0900</pubDate>
    </item>
    <item>
      <title>React 리액트 무한 스크롤 (Infinite scroll) 구현</title>
      <link>https://graycha.tistory.com/227</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;토이 프로젝트를 진행하면서, 메인 페이지 더보기 기능을 추가해야 했다. 버튼 방식과 무한 스크롤 방식에 대해 고민하였고 모바일 화면에서 좀 더 유연하게 대응할 수 있는 무한 스크롤 방식으로 구현해보았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&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;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;기본개념&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;웹 브라우저 콘텐츠의 높이값을 이용하면, 쉽게 구현이 가능합니다. 필요한 속성값은 다음과 같습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;Element.scrollHeight&lt;br /&gt;읽기 전용 속성으로 요소 콘텐츠의 총 높이를 나타내며 화면에 보이지 않는 영역도 포함됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;Element.scrollY&lt;br /&gt;읽기 전용 속성으로 콘텐츠가 수직으로 얼마나 스크롤됐는지 표현합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;Element.clientHeight&lt;br /&gt;읽기 전용 속성으로 엘리먼트의 내부 높이를 표현하며 정확한 영역은 내부 여백(padding)은 포함하지만, 외부 여백(margin)은 포함되지 않습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;984&quot; data-origin-height=&quot;596&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/clhDad/btrhbyaeo2R/sAypCDWrWagqTHmFaMjMZK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/clhDad/btrhbyaeo2R/sAypCDWrWagqTHmFaMjMZK/img.png&quot; data-alt=&quot;출처.developer.mozilla.org&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/clhDad/btrhbyaeo2R/sAypCDWrWagqTHmFaMjMZK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FclhDad%2Fbtrhbyaeo2R%2FsAypCDWrWagqTHmFaMjMZK%2Fimg.png&quot; data-origin-width=&quot;984&quot; data-origin-height=&quot;596&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출처.developer.mozilla.org&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&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;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&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;즉, 수직으로 스크롤을 내린 값( scrollY )과 엘리먼트의 내부높이 값( clientHeight )을 합쳤을대, 콘텐츠 총 높이( scrollHeight )를 초과할때 이벤트를 발생시켜, 무한 스크롤 (infinite scroll)을 구현할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d1GBd9/btrhdwJfnEJ/qpKSwME6RrJF3hk7qcD3ZK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d1GBd9/btrhdwJfnEJ/qpKSwME6RrJF3hk7qcD3ZK/img.png&quot; data-origin-width=&quot;1140&quot; data-origin-height=&quot;1568&quot; style=&quot;width: 32.7005%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d1GBd9/btrhdwJfnEJ/qpKSwME6RrJF3hk7qcD3ZK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd1GBd9%2FbtrhdwJfnEJ%2FqpKSwME6RrJF3hk7qcD3ZK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1140&quot; height=&quot;1568&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dHe4Km/btrhdDaovMV/gIOPtkLIyPEETEp2zYlJXk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dHe4Km/btrhdDaovMV/gIOPtkLIyPEETEp2zYlJXk/img.png&quot; data-origin-width=&quot;1132&quot; data-origin-height=&quot;1570&quot; style=&quot;width: 32.4297%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dHe4Km/btrhdDaovMV/gIOPtkLIyPEETEp2zYlJXk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdHe4Km%2FbtrhdDaovMV%2FgIOPtkLIyPEETEp2zYlJXk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1132&quot; height=&quot;1570&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/duSLPq/btrhdeB3WwB/82oypqUK6cvkOYmTeSbbHk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/duSLPq/btrhdeB3WwB/82oypqUK6cvkOYmTeSbbHk/img.png&quot; data-origin-width=&quot;1136&quot; data-origin-height=&quot;1570&quot; style=&quot;width: 32.5443%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/duSLPq/btrhdeB3WwB/82oypqUK6cvkOYmTeSbbHk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FduSLPq%2FbtrhdeB3WwB%2F82oypqUK6cvkOYmTeSbbHk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1136&quot; height=&quot;1570&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;Element스크롤 기본개념&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1633707212951&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;if (window.scrollY + document.documentElement.clientHeight &amp;gt; document.documentElement.scrollHeight - limitMinScroll) {
	console.log('More Scroll &amp;gt; ' + window.scrollY, document.documentElement.clientHeight, document.documentElement.scrollHeight);
	
    console.log('Called More List &amp;gt;');     
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그래밍/React</category>
      <category>clientHeight</category>
      <category>scrollHeight</category>
      <category>scrollY</category>
      <category>무한 스크롤</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/227</guid>
      <comments>https://graycha.tistory.com/227#entry227comment</comments>
      <pubDate>Sat, 9 Oct 2021 00:37:06 +0900</pubDate>
    </item>
    <item>
      <title>python 기본 검색 알고리즘 - 선형검색과 이진검색</title>
      <link>https://graycha.tistory.com/226</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;python 문법을 통한 검색 알고리즘 선형 검색과 이진 검색에 대해서 알아보자. 선형 검색은 가장 기본적인 알고리즘으로 맨 앞부터 순수대로 검색하는 알고리즘이고, 이진 검색은 검색할 데이터의 기준값을 부여하여 선형 검색보다 빠르게 검색할 수 있는 알고리즘이다.&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;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&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;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;선형 검색&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 기본적인 검색 알고리즘으로 원하는 값을 찾을때까지 맨 앞부터 순서대로 검색하는 알고리즘이다. 선형 검색은 검색 성공과 검색 &lt;span data-grammar=&quot;{&amp;quot;input&amp;quot;:&amp;quot;실패 의&amp;quot;,&amp;quot;output&amp;quot;:&amp;quot;실패의&amp;quot;,&amp;quot;etype&amp;quot;:&amp;quot;space&amp;quot;}&quot; data-grammar-id=&quot;grammar2&quot; data-grammar-focus=&quot;false&quot;&gt;실패 의&lt;/span&gt; 두 가지 종료 조건으로 나뉜다.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1633397598252&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 선형검색
def line_search(list, key):
    for i in range(len(list)):
        # 검색 성공
        if(list[i] == key):
            return list[i]
    else:
        # 검색 실패
        return 'None'


if __name__ == '__main__':
    list = ['가', '나', '다', '라', '마', ]
    key = '마'

print(line_search(list, key))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&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;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;선형 검색의 경우 반복하는 횟수마다 성공과 실패의 &lt;span data-grammar=&quot;{&amp;quot;input&amp;quot;:&amp;quot;두가지&amp;quot;,&amp;quot;output&amp;quot;:&amp;quot;두 가지&amp;quot;,&amp;quot;etype&amp;quot;:&amp;quot;space&amp;quot;}&quot; data-grammar-id=&quot;grammar4&quot; data-grammar-focus=&quot;false&quot;&gt;두가지&lt;/span&gt; 조건을 확인해야 하기 때문에 검색하는 항목이 늘어날수록 검색에 발생되는 비용이 늘어날 수밖에 없다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서, &lt;span data-grammar=&quot;{&amp;quot;input&amp;quot;:&amp;quot;검색해야하는&amp;quot;,&amp;quot;output&amp;quot;:&amp;quot;검색해야 하는&amp;quot;,&amp;quot;etype&amp;quot;:&amp;quot;space&amp;quot;}&quot; data-grammar-id=&quot;grammar5&quot; data-grammar-focus=&quot;false&quot;&gt;검색해야하는&lt;/span&gt; 대상을 배열의 맨 마지막에 넣어, 실패 조건을 판단하는 횟수를 줄이는 &lt;span data-grammar=&quot;{&amp;quot;input&amp;quot;:&amp;quot;보초법을&amp;quot;,&amp;quot;output&amp;quot;:&amp;quot;보초 법을&amp;quot;,&amp;quot;etype&amp;quot;:&amp;quot;space&amp;quot;}&quot; data-grammar-id=&quot;grammar6&quot; data-grammar-focus=&quot;false&quot;&gt;보초법을&lt;/span&gt; 이용할 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1633398203252&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 선형검색 - 보초법
def line_search(list, key):

    # 배열 마지막에 key 등록
    list.append(key)

    for i in range(len(list)):
        # 검색 성공
        if(list[i] == key):
            break

    return 'None' if (i+1) == len(list) else list[i]


if __name__ == '__main__':
    list = ['가', '나', '다', '라', '마', ]
    key = '나'

    print(line_search(list, key))&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;이진 검색&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;검색할 전체 범위의 시작 값, &lt;span data-grammar=&quot;{&amp;quot;input&amp;quot;:&amp;quot;중앙 값,&amp;quot;,&amp;quot;output&amp;quot;:&amp;quot;중앙값,&amp;quot;,&amp;quot;etype&amp;quot;:&amp;quot;space&amp;quot;}&quot; data-grammar-id=&quot;grammar8&quot; data-grammar-focus=&quot;false&quot;&gt;중앙 값,&lt;/span&gt; 마지막 값을 기본으로 검색할 데이터를 찾는 알고리즘이다. 선형 검색보다 빠르며, 일정한 규칙을 갖고 있는 데이터로 그룹에서 사용 가능한데, 데이터 그룹은 오름차순 또는 내림차순으로 정렬된 상태여야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;기본값&amp;nbsp;&lt;br /&gt;시작 : start =0&lt;br /&gt;중앙 :&amp;nbsp; center = (start+end)/2&lt;br /&gt;마지막 : end = n- 1&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;알고리즘&amp;nbsp;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색 키값 &amp;gt; 가운데 값&lt;br /&gt;중앙값에서 오른쪽으로 &lt;span data-grammar=&quot;{&amp;quot;input&amp;quot;:&amp;quot;한칸&amp;quot;,&amp;quot;output&amp;quot;:&amp;quot;한 칸&amp;quot;,&amp;quot;etype&amp;quot;:&amp;quot;space&amp;quot;}&quot; data-grammar-id=&quot;grammar9&quot; data-grammar-focus=&quot;false&quot;&gt;한칸&lt;/span&gt; 이동하여, 새로운 범위의 &lt;span data-grammar=&quot;{&amp;quot;input&amp;quot;:&amp;quot;시작값(start)을&amp;quot;,&amp;quot;output&amp;quot;:&amp;quot;시작 값(start)을&amp;quot;,&amp;quot;etype&amp;quot;:&amp;quot;space&amp;quot;}&quot; data-grammar-id=&quot;grammar10&quot; data-grammar-focus=&quot;false&quot;&gt;시작값(start)을&lt;/span&gt; 재설정합니다.&lt;/li&gt;
&lt;li&gt;검색 키값 &amp;lt; 가운데 값&lt;br /&gt;중앙값에서 왼쪽으로 &lt;span data-grammar=&quot;{&amp;quot;input&amp;quot;:&amp;quot;한칸&amp;quot;,&amp;quot;output&amp;quot;:&amp;quot;한 칸&amp;quot;,&amp;quot;etype&amp;quot;:&amp;quot;space&amp;quot;}&quot; data-grammar-id=&quot;grammar11&quot; data-grammar-focus=&quot;false&quot;&gt;한칸&lt;/span&gt; 이동하여, 새로운 범위의 &lt;span data-grammar=&quot;{&amp;quot;input&amp;quot;:&amp;quot;마지막값(end)을&amp;quot;,&amp;quot;output&amp;quot;:&amp;quot;마지막 값(end)을&amp;quot;,&amp;quot;etype&amp;quot;:&amp;quot;space&amp;quot;}&quot; data-grammar-id=&quot;grammar12&quot; data-grammar-focus=&quot;false&quot;&gt;마지막값(end)을&lt;/span&gt; 설정합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&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;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1633400052311&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 이진검색
def binary_search(list, key) -&amp;gt; int:
    start = 0
    end = len(list)-1

    for i in range(len(list)):
        center = int((start+end)/2)

        if(key == list[center]):
            return center
        elif(key &amp;gt; list[center]):
            start = center+1
        else:
            end = center-1

        if start &amp;gt; end:
            break


if __name__ == '__main__':
    key = 7
    list = [1, 2, 3, 4, 5, 6, 7, 8,
            9, 10, 11, ]
    print(f'list[{binary_search(list, key)}]')&lt;/code&gt;&lt;/pre&gt;</description>
      <category>프로그래밍/Python</category>
      <category>선형검색</category>
      <category>이진 검색</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/226</guid>
      <comments>https://graycha.tistory.com/226#entry226comment</comments>
      <pubDate>Tue, 5 Oct 2021 12:03:40 +0900</pubDate>
    </item>
    <item>
      <title>소아청소년 백신 접종 일정 및 예약방법</title>
      <link>https://graycha.tistory.com/225</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;10월 부터 12세 ~ 17세 소아청소년의 백신 접종이 진행됩니다. 대상자 개인 선택 또는 보호자(법정대리인) 자발적 동의에 의해 시행이 되며, 백신 신청은 온라인 사이트를 통해서 가능합니다. 출생년도에 따라 사전예약 및 접종 날짜가 다르니 일정은 꼭 확인 바랍니다.&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;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;예약 일정&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출생년도에 따라 사전예약이 진행되기 때문에 정확한 일정 확인하여 진행해주시기 바랍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;2004 ~ 2005년생인 경우 10월 5일(화) 20시부터 10월 29일(금) 18시까지 사전예약이 진행됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;2006 ~ 2009년생인 경우 10월 18일(월) 20시부터 11월 12일(금) 18시까지 사전예약이 진행됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;04 ~ 05 년생 ( 16세 ~ 17세 )&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;10월 5일(화) 20시 ~ 10월 29일(금) 18시까지&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;06 ~ 09 년생 ( 12세 ~ 15세 )&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;10월 18일(월) 20시 ~ 11월 12일(금) 18시까지&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1125&quot; data-origin-height=&quot;787&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/clMlsH/btrgHD94bok/uekYQzjFXRCouhjvlqKKm0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/clMlsH/btrgHD94bok/uekYQzjFXRCouhjvlqKKm0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/clMlsH/btrgHD94bok/uekYQzjFXRCouhjvlqKKm0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FclMlsH%2FbtrgHD94bok%2FuekYQzjFXRCouhjvlqKKm0%2Fimg.png&quot; data-origin-width=&quot;1125&quot; data-origin-height=&quot;787&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;접종 일정&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출생 연도에 따라 접종이 진행되기 때문에 정확한 일정 확인 후, 접종하시기 바랍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;2004 ~ 2005년생인 경우 10월 18일(월)부터 11월 13일(토)까지 4주간 진행됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;2006 ~ 2009년생인 경우 11월 1일(월)부터 11월 27일(토)까지 4주간 진행됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;04 ~ 05 년생 ( 16세 ~ 17세 )&lt;br /&gt;10월 18일(월) ~ 11월 13일(토)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;06 ~ 09 년생 ( 12세 ~ 15세 )&lt;br /&gt;11월 1일(월) ~ 11월 27일(토)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1125&quot; data-origin-height=&quot;787&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvqULn/btrgIOXw4Mg/8LdJTfYpKkIEdbtilVndM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvqULn/btrgIOXw4Mg/8LdJTfYpKkIEdbtilVndM0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvqULn/btrgIOXw4Mg/8LdJTfYpKkIEdbtilVndM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvqULn%2FbtrgIOXw4Mg%2F8LdJTfYpKkIEdbtilVndM0%2Fimg.png&quot; data-origin-width=&quot;1125&quot; data-origin-height=&quot;787&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1126&quot; data-origin-height=&quot;674&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btydsz/btrgMAEDOi3/MuVo1j65STXC25G2MXlelk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btydsz/btrgMAEDOi3/MuVo1j65STXC25G2MXlelk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btydsz/btrgMAEDOi3/MuVo1j65STXC25G2MXlelk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbtydsz%2FbtrgMAEDOi3%2FMuVo1j65STXC25G2MXlelk%2Fimg.png&quot; data-origin-width=&quot;1126&quot; data-origin-height=&quot;674&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;신청방법&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예방접종 누리집을 이용해 신청 가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약, 온라인 이용이 어려울 경우 콜센터 1399를 통한 예약 및 대리예약 가능한 점 참고 바랍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZvaHV/btrgFSl6BkK/kn7cCAbAVUTKExwq5IlWK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZvaHV/btrgFSl6BkK/kn7cCAbAVUTKExwq5IlWK1/img.png&quot; style=&quot;width: 42.9401%; margin-right: 10px;&quot; data-origin-width=&quot;573&quot; data-origin-height=&quot;420&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZvaHV/btrgFSl6BkK/kn7cCAbAVUTKExwq5IlWK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZvaHV%2FbtrgFSl6BkK%2Fkn7cCAbAVUTKExwq5IlWK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;573&quot; height=&quot;420&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/upejk/btrgHDWutge/pjhJNPkkGGKDlPoYzlkZm0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/upejk/btrgHDWutge/pjhJNPkkGGKDlPoYzlkZm0/img.png&quot; data-origin-width=&quot;650&quot; data-origin-height=&quot;366&quot; style=&quot;width: 55.8971%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/upejk/btrgHDWutge/pjhJNPkkGGKDlPoYzlkZm0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fupejk%2FbtrgHDWutge%2FpjhJNPkkGGKDlPoYzlkZm0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;650&quot; height=&quot;366&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;출처.pixabay&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;접종 후 출결처리&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소아청소년 접종은 개인별로 진행되기 때문에 학사 운영은 평상시와 동일하게 처리됩니다. 그렇기 때문에 각 지역별 적용되는 거리두기 단계에 맞춰 수업이 지속될 예정이라고 합니다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;접종 후 3일까지는 정상 출결 처리되며, 필요한 증빙자료는 다음과 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;출결처리&lt;br /&gt;접종 당일 ~ 접종 후 2일 : 출석 인정에 따라 출결처리됩니다.&lt;br /&gt;접종 후 3일 : 질병으로 인한 출결 처리됩니다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;증빙자료&lt;br /&gt;접종 당일 ~ 접종 후 1일 : 예방접종내역 확인서 또는 증명서&lt;br /&gt;접종 후 2일 : 가전 내 건강 관리 기록지(..?), 보호자 의견사, 담임교사 확인서 등&lt;br /&gt;접종 후 3일 : 의사 진단서 (소견서) 등&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;426&quot; data-origin-height=&quot;480&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/51e5R/btrgDUEudat/pKNmnTrIYi5vRp1nFrKpnK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/51e5R/btrgDUEudat/pKNmnTrIYi5vRp1nFrKpnK/img.png&quot; data-alt=&quot;출처.pixabay&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/51e5R/btrgDUEudat/pKNmnTrIYi5vRp1nFrKpnK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F51e5R%2FbtrgDUEudat%2FpKNmnTrIYi5vRp1nFrKpnK%2Fimg.png&quot; data-origin-width=&quot;426&quot; data-origin-height=&quot;480&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출처.pixabay&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;접종으로 인한 평가 및 불이익 처리는?&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;중간 및 기말고사 등 평가 상황에서 학생들의 불이익을 최소화하기 위해&amp;nbsp; 4주의 접종기간을 부여한다고 합니다. 하지만, 심리적인 부분도 분명 작용할 거라 생각합니다. 원활한 학사운영을 위해였다면, 방학기간 이용이 더 좋지 않았을까 하는 생각이 듭니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무엇보다 소아청소년 백신 접종은 안전이 최우선이고 안정적으로 진행돼야 함을 분명하게 해야 합니다. 첫째도, 둘째도 아이들의 안전이 최우선입니다!&lt;/p&gt;</description>
      <category>알아두기</category>
      <category>백신접종 출결처리</category>
      <category>사전예약 일정</category>
      <category>소아청소년 백신접종</category>
      <category>소아청소년 사전예약</category>
      <category>소아청소년 접종일정</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/225</guid>
      <comments>https://graycha.tistory.com/225#entry225comment</comments>
      <pubDate>Tue, 5 Oct 2021 00:08:45 +0900</pubDate>
    </item>
    <item>
      <title>위닉스 제습기 2년 사용후기 장단점</title>
      <link>https://graycha.tistory.com/224</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;여름 장마를 대비하여 구입했던 위닉스 제습기를 사용한 지&amp;nbsp; 벌써 2년이 넘었다. 여름에는 비도 많이 오고 집이 많이 습하기 때문에 필수로 사용하고, 주로 세탁 후 빨래 건조할 때 사용하는데 특히 이불 같이 부피가 큰 빨래를 건조할 때 빛을 발한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;제품 살펴보기&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구입한 제품은 위닉스 뽀송 10L 로 모델명은 DXAP100-IWK입니다.&amp;nbsp; 위닉스 뽀송으로 제품을 검색해보면 모델명이 JWK, IWK, HWK 가 있어 헷갈릴 수 있는데, 이는 제품이 생상 된 년도를 의미하니 참고하세요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1356&quot; data-origin-height=&quot;1696&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7yyXK/btrgBkXtopX/xU4pCmHSErS9sHSMdewgf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7yyXK/btrgBkXtopX/xU4pCmHSErS9sHSMdewgf0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7yyXK/btrgBkXtopX/xU4pCmHSErS9sHSMdewgf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7yyXK%2FbtrgBkXtopX%2FxU4pCmHSErS9sHSMdewgf0%2Fimg.png&quot; data-origin-width=&quot;1356&quot; data-origin-height=&quot;1696&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제품 상단 패널이며, 전원 / 풍속조절 / 습도 조절 등의 간단한 버튼 형식으로 구성되어 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제 2년동안 사용하면서. 전원 / 풍속 조절 / 습도 조절&amp;nbsp; 세 가지 버튼만 사용했습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20211002_230446.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bUTya8/btrgFTD7JQT/nSeKgLdCGXgjUeWG5IAKP0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bUTya8/btrgFTD7JQT/nSeKgLdCGXgjUeWG5IAKP0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bUTya8/btrgFTD7JQT/nSeKgLdCGXgjUeWG5IAKP0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbUTya8%2FbtrgFTD7JQT%2FnSeKgLdCGXgjUeWG5IAKP0%2Fimg.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20211002_230446.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;본체에서 물통을 분리할 경우 물통비움에 빨간 불이 들어옵니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-filename=&quot;20211002_230756.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QFBpQ/btrgCGr0F1T/PsIi48QMFmtRogHyaL2UbK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QFBpQ/btrgCGr0F1T/PsIi48QMFmtRogHyaL2UbK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QFBpQ/btrgCGr0F1T/PsIi48QMFmtRogHyaL2UbK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQFBpQ%2FbtrgCGr0F1T%2FPsIi48QMFmtRogHyaL2UbK%2Fimg.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-filename=&quot;20211002_230756.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모델명은 DXAP100-IWK인데,&amp;nbsp; 위닉스 뽀송으로 제품을 검색해보면 모델명이 JWK, IWK, HWK 가 있어 헷갈릴 수 있습니다.&amp;nbsp; 이는 제품이 생상 된 년도를 의미합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;JWK : 2020년&lt;/li&gt;
&lt;li&gt;IWK :2019년&lt;/li&gt;
&lt;li&gt;HWK : 2018년&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-filename=&quot;20211002_231051.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/evBH4s/btrgAMGVIMU/kLhKkF83zklXk2Oax7mXtK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/evBH4s/btrgAMGVIMU/kLhKkF83zklXk2Oax7mXtK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/evBH4s/btrgAMGVIMU/kLhKkF83zklXk2Oax7mXtK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FevBH4s%2FbtrgAMGVIMU%2FkLhKkF83zklXk2Oax7mXtK%2Fimg.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-filename=&quot;20211002_231051.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물통은 물통 커버와 물통으로 구성되어 있습니다. 커버를 씌운 상태로 물을 버릴 수 있어 편리합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20211002_230612.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wxoJF/btrgFSSKPht/okOxM8h15oJsViGGkhz2uK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wxoJF/btrgFSSKPht/okOxM8h15oJsViGGkhz2uK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wxoJF/btrgFSSKPht/okOxM8h15oJsViGGkhz2uK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwxoJF%2FbtrgFSSKPht%2FokOxM8h15oJsViGGkhz2uK%2Fimg.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20211002_230612.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-filename=&quot;20211002_230703.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pBKeM/btrgBkDcrrs/AJZHFOBmAxJKEvgpltil5k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pBKeM/btrgBkDcrrs/AJZHFOBmAxJKEvgpltil5k/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pBKeM/btrgBkDcrrs/AJZHFOBmAxJKEvgpltil5k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpBKeM%2FbtrgBkDcrrs%2FAJZHFOBmAxJKEvgpltil5k%2Fimg.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-filename=&quot;20211002_230703.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물통 내부인데, 위닉스 제습기의 가장 큰 단점입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물통 내부가 계층형 구조로 되어 있어 세척이 정말 불편합니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-filename=&quot;20211002_230636.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WvgwG/btrgALH1KyQ/fKDrGryKGpwGYh8jjLPKS0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WvgwG/btrgALH1KyQ/fKDrGryKGpwGYh8jjLPKS0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WvgwG/btrgALH1KyQ/fKDrGryKGpwGYh8jjLPKS0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWvgwG%2FbtrgALH1KyQ%2FfKDrGryKGpwGYh8jjLPKS0%2Fimg.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-filename=&quot;20211002_230636.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;요약정리&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;집안을 언제나 뽀송뽀송하게 유지할 수 있다.&lt;/li&gt;
&lt;li&gt;이불 같이 부피가 큰 빨래를 할 때 좋다.&lt;/li&gt;
&lt;li&gt;물통 세척이 편리한 구조인지 확인하자.&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>제품리뷰</category>
      <category>DXAP100-IWK</category>
      <category>위니아뽀송</category>
      <category>위닉스 제습기</category>
      <category>제습기 건조</category>
      <category>제습기 이불</category>
      <category>제습기 추천</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/224</guid>
      <comments>https://graycha.tistory.com/224#entry224comment</comments>
      <pubDate>Sat, 2 Oct 2021 23:57:12 +0900</pubDate>
    </item>
    <item>
      <title>react 리덕스(redux) 기본개념과 사이클(cycle) 구조 알아보기</title>
      <link>https://graycha.tistory.com/223</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;리덕스(redux)는 리액트 상태를 관리해주는 라이브러리다. 리덕스를 사용하면 컴포넌트의 상태 파악 및 컴포넌트 간 상태 공유가 가능하기 때문에 전역 상태를 관리할때 효과적이지만, 모든 프로젝트에서 리덕스 라이브러리를 필요로하는건 아니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;컴포넌트 상태 관리 비교&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리덕스를 사용했을때와 그렇지 않았을때 컴포넌트끼리 상태를 공유하는 과정을 알아보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;먼저, 리덕스를 사용하지 않았을 경우 상태 관리 과정을 살펴보자. 지역 컴포넌트에서 상태가 변동되면, 상위 컴포넌트부터 최상위 컴포넌트 까지 상태 변경에 대한 관리가 필요하다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt; &lt;/span&gt;즉, 관리해야하는 컴포넌트의 수가 많을 수록 상태 관리는 어려워지고 코드 유지보수성과 작업 효율이 낮아진다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;361&quot; data-origin-height=&quot;308&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cWU0Kd/btrgvqQcxg4/N07rqG6u1KuLH2Jmsa8z4K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cWU0Kd/btrgvqQcxg4/N07rqG6u1KuLH2Jmsa8z4K/img.png&quot; data-alt=&quot;react.redux 미사용&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cWU0Kd/btrgvqQcxg4/N07rqG6u1KuLH2Jmsa8z4K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcWU0Kd%2FbtrgvqQcxg4%2FN07rqG6u1KuLH2Jmsa8z4K%2Fimg.png&quot; data-origin-width=&quot;361&quot; data-origin-height=&quot;308&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;react.redux 미사용&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음, 리덕스를 사용했을 경우 상태 관리 과정을 살펴보자. 지역 컴포넌트에서 상태가 변경되면, 스토어라는 곳에서 전체 컴포넌트의 상태를 관리해주고 있어서, 여러 컴포넌트를 거치지 않고 쉽게 상태값을 전달하거나 업데이트할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 효율적인 컴포넌트 관리를 통해 코드 유지보수성을 높이고 작업 효율도 높여준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;370&quot; data-origin-height=&quot;341&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgsqGm/btrguOqyxKa/WBNOhQx6nIxbalfJIQ7LZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgsqGm/btrguOqyxKa/WBNOhQx6nIxbalfJIQ7LZ0/img.png&quot; data-alt=&quot;react.redux 사용&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgsqGm/btrguOqyxKa/WBNOhQx6nIxbalfJIQ7LZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgsqGm%2FbtrguOqyxKa%2FWBNOhQx6nIxbalfJIQ7LZ0%2Fimg.png&quot; data-origin-width=&quot;370&quot; data-origin-height=&quot;341&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;react.redux 사용&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;기본 개념 이해하기&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;스토어&lt;br /&gt;애플리케이션 전체 상태를 관리하며 dispatch(action) 기능 수행한다. 하나의 스토어를 사용하는것이 바람직하다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;액션&lt;br /&gt;이벤트 정보를 저장하기 위한 순수 객체형태로 표현하며, 액션 객체는 반드시 type 필드를 갖고 있어야 한다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;디스패치&lt;br /&gt;dispatch(action) 형태로 사용하는데, 액션을 발생시킨다 정도로 이해하면 된다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;리듀서&lt;br /&gt;애플리케이션이 로드될때 발생되는 상태를 통해 저장소 정보를 업데이트 한다. state와 action 값을 받아 사용한다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;구독&lt;br /&gt;스토어를 통해 함수가 액션이 디스패치되어 상태가 갱신될&amp;nbsp; 때마다 전달된 함수를 호출한다&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;632&quot; data-origin-height=&quot;180&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bp6uob/btrgoJKoH6c/sEsHEwimDwT2K0F7hkYLh1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bp6uob/btrgoJKoH6c/sEsHEwimDwT2K0F7hkYLh1/img.png&quot; data-alt=&quot;redux cycle&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bp6uob/btrgoJKoH6c/sEsHEwimDwT2K0F7hkYLh1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbp6uob%2FbtrgoJKoH6c%2FsEsHEwimDwT2K0F7hkYLh1%2Fimg.png&quot; data-origin-width=&quot;632&quot; data-origin-height=&quot;180&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;redux cycle&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>프로그래밍/React</category>
      <category>redux cycle</category>
      <category>redux개념</category>
      <category>리액트 리덕스</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/223</guid>
      <comments>https://graycha.tistory.com/223#entry223comment</comments>
      <pubDate>Fri, 1 Oct 2021 11:38:27 +0900</pubDate>
    </item>
    <item>
      <title>javascript URL 유효성 처리 방법</title>
      <link>https://graycha.tistory.com/222</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;입력값에 URL 주소만 허용해야 하는 상황이 발생했을 때, 정규식을 통해 간편하게 유효성 검사를 처리할 수 있으며, 유효성 검사 정책에 따른 커스터마이징도 가능하니 살펴보도록 하겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;position: absolute;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;정규식 사용&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래와 같이 URL 입력값에 대한 정규식 처리로 원하는 유효성 처리를 수행하였다.&lt;/p&gt;
&lt;pre id=&quot;code_1632963355286&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# URL value
var url = $(&quot;#url&quot;).val();

# 정규식 표현 셋팅
let regex = /^(http(s)?:\/\/)([^\/]*)(\.)(com|net|kr|my|shop)(\/)/gi

# 유효성 처리결과
console.log(regex.test(url));&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;546&quot; data-origin-height=&quot;62&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/biAZSt/btrgofawpSh/GrQzkN1IvfLi3bOkrkQ6U1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/biAZSt/btrgofawpSh/GrQzkN1IvfLi3bOkrkQ6U1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/biAZSt/btrgofawpSh/GrQzkN1IvfLi3bOkrkQ6U1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbiAZSt%2FbtrgofawpSh%2FGrQzkN1IvfLi3bOkrkQ6U1%2Fimg.png&quot; data-origin-width=&quot;546&quot; data-origin-height=&quot;62&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;선언한 정규식에 대한 해설은 다음과 간다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;예시1&amp;gt; /^(http(s)?:\/\/)&lt;span style=&quot;color: #006dd7;&quot;&gt;([^\/]*)&lt;/span&gt;(\.)(com|net|kr|my|shop)(\/)/gi&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;b&gt;예시2&amp;gt; /^(http(s)?:\/\/)&lt;/b&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;([a-z0-9\s.-]*)&lt;/span&gt;&lt;b&gt;(\.)(com|net|kr|my|shop)(\/)/gi&lt;/b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;/ : 정규식 시작&lt;/li&gt;
&lt;li&gt;^ : 문자열의 시작
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;(http(s)?:\/\/) : http:// 또는 https:// 허용&lt;/li&gt;
&lt;li&gt;: ([^\/]*)&amp;nbsp;&lt;br /&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;^ 는 not 의미한다 즉, / 를 제외한 모든 문자열을 허용한다는 의미&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;([a-z0-9\s.-]*)
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;a-z 0-9 . - 만 허용한다는 의미&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;(\.) : . 를 선언해야 한다.&lt;/li&gt;
&lt;li&gt;(com|net|kr|my|shop) : 선언된 문자만 허용&lt;/li&gt;
&lt;li&gt;(\/) : / 를 선언해야 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;/ : 정규식 끝&lt;/li&gt;
&lt;li&gt;g : 전역&lt;/li&gt;
&lt;li&gt;i : 대소문자 구분없음&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>프로그래밍/Script, jQuery</category>
      <category>url 정규식</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/222</guid>
      <comments>https://graycha.tistory.com/222#entry222comment</comments>
      <pubDate>Thu, 30 Sep 2021 10:28:08 +0900</pubDate>
    </item>
    <item>
      <title>AWS 개념 익히기 - EC2 / Auto Scaling / Instance 알아보자</title>
      <link>https://graycha.tistory.com/221</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;AWS 를 사용하기 위해서는 기본적인 개념정리가 선행 학습되야 한다. 가장 기본이 되는 EC2에 대한 개념과 Auto Scaling 그리고 인스턴스(Instance) 에 대해서 살펴보겠다. 특히&amp;nbsp; 인스턴스에 대한 기본 개념을 잡아두면 클라우드에 대한 전체적인 개념을 이해할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;EC2&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가상의 컴퓨터 인스턴스를 제공하는 서비스로 Elastic Compute Cloud의 약자인데, C가 두번 반복되어 EC2로 불린다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단 몇분만에 안전하게 용량의 조정이 가능하며, 단일 인스턴스부터 시작해서 다수의 인스턴스 지정도 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;인스턴스를 통한 가상 컴퓨팅 환경을 제공한다.&lt;/li&gt;
&lt;li&gt;인스턴스 구성을 위한 CPU, 메모리, 스토리지, 네트워킹 용량을 제공한다.&lt;/li&gt;
&lt;li&gt;안정적인 확장형 온디맨드 인프라 구축이 가능하다.&lt;/li&gt;
&lt;li&gt;필요한 컴퓨팅에 대해서만 비용을 지불하기 때문에 비용 최적화가 가능하다.&lt;/li&gt;
&lt;li&gt;오토스케일링을 통해 99.99% 가용성을 보장한다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;359&quot; data-origin-height=&quot;275&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BrmR2/btrgoAys5O6/sKo65aHoI8jWriBjVLCYy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BrmR2/btrgoAys5O6/sKo65aHoI8jWriBjVLCYy1/img.png&quot; data-alt=&quot;aws EC2&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BrmR2/btrgoAys5O6/sKo65aHoI8jWriBjVLCYy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBrmR2%2FbtrgoAys5O6%2FsKo65aHoI8jWriBjVLCYy1%2Fimg.png&quot; data-origin-width=&quot;359&quot; data-origin-height=&quot;275&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;aws EC2&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;&amp;lt; 광고 &amp;gt;&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 인스턴스에 대한 개념을 익히기 위해서는 실제로 생성해봐야 한다. &lt;u&gt;개념을 이해했다면 실습까지하여 내 것으로 만들어 두는 것이 가장 적합하다.&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;만약, EC2사용에 자신이 없거나 조금 더 가볍게 시작해보고 싶다면 라이트세일을 추천한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;실제로 라이트 세일의 경우 EC2 에서 진행되는 절차의 70% 이상 빠지기 때문에 쉽게 인스턴스의 개념을 익힐 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1120&quot; data-origin-height=&quot;248&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;a href=&quot;https://aws.amazon.com/ko/lightsail/&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMKJdS/btrgjF8KvRk/GRsaPYXEdE8CQbkwT69fsk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMKJdS%2FbtrgjF8KvRk%2FGRsaPYXEdE8CQbkwT69fsk%2Fimg.png&quot; data-origin-width=&quot;1120&quot; data-origin-height=&quot;248&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/a&gt;&lt;figcaption&gt;출처.aws Lightsail 설명&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;EC2 인스턴트 타입&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용 목적에 맞는 다양한 인스턴스를 제공한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인스턴스는 T4g / T3 / T2 / M4 등과 같은 네이밍을 갖는데 이는 인스턴스 유형마다 CPU처리 능력을 의미 하고 숫자는 버전을 의미한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래는 현재 AWS 공식 사이트에서 제공되는 인스턴스 유형이다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;범용&lt;/li&gt;
&lt;li&gt;컴퓨팅 최적화&lt;/li&gt;
&lt;li&gt;메모리 최적화&lt;/li&gt;
&lt;li&gt;가속화된 컴퓨팅&lt;/li&gt;
&lt;li&gt;스토리지 최적화&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;809&quot; data-origin-height=&quot;492&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;a href=&quot;https://aws.amazon.com/ko/ec2/instance-types/&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VpBsz/btrgkUYOVdN/90a29mwc1sZp1dIxSQpIo1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVpBsz%2FbtrgkUYOVdN%2F90a29mwc1sZp1dIxSQpIo1%2Fimg.png&quot; data-origin-width=&quot;809&quot; data-origin-height=&quot;492&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/a&gt;&lt;figcaption&gt;출처.aws EC2 범용 인스턴스&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;EC2 Auto Scaling&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Auto Scaling 그룹을 생하여 그룹에서 최소 및 최대 인스턴스 수와 원하는 인스턴스 수를 지정할 수 있으며, 조정 정책을 지정하는 경우 애플리케이션의 크기가 조정됨에 따라 인스턴스를 시작 종료할 수 있다.&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;즉, Auto Scaling을 통해 애플리케이션의 현재 트래픽 요구를 처리할 수 있는 적절한 용량을 유지한다. 결국 동적 용량 조정을 통한 비용관리를 가능하게 한다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style15&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;함께 보면 더욱 좋은 포스팅 정보 &lt;span style=&quot;background-color: #2780d4; color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;∙ AWS 라이트세일 플랜 스냅샷을 활용한 업그레이드&lt;br /&gt;&amp;nbsp; &amp;nbsp;↳ &lt;a href=&quot;https://graycha.tistory.com/211&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://graycha.tistory.com/211&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;∙ AWS 라이트세일 5달러에서 20달러 플랜으로 스펙 상향조정&lt;br /&gt;&amp;nbsp; &amp;nbsp;↳ &lt;a href=&quot;https://graycha.tistory.com/212&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://graycha.tistory.com/212&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 참고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://docs.aws.amazon.com/ko_kr/ec2/index.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Amazon Elastic Compute Cloud 설명서 [바로가기]&lt;/a&gt;&lt;/p&gt;</description>
      <category>프로그래밍/AWS</category>
      <category>auto scaling</category>
      <category>ec2</category>
      <category>instance</category>
      <category>인스턴스</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/221</guid>
      <comments>https://graycha.tistory.com/221#entry221comment</comments>
      <pubDate>Wed, 29 Sep 2021 21:28:19 +0900</pubDate>
    </item>
    <item>
      <title>Python 출력문 print( sep = &amp;quot;&amp;quot;, end = &amp;quot;&amp;quot; ) 알아보기</title>
      <link>https://graycha.tistory.com/220</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;출력문을 사용할때, 기본적으로 print(*objects, end='\n') 표현을 자주 사용합니다.&amp;nbsp; 기본적으로&amp;nbsp; sep 와 end 를 선언하여 사용할 수 있으며 두가지 표현방식에 대해서 살펴 보도록하겠습니다.&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;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;아래는 python 공식문서에 설명된 print()에 대한 내용이니 참고하도록 하자.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;911&quot; data-origin-height=&quot;361&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;a href=&quot;https://docs.python.org/ko/3/library/functions.html#print&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dngoSW/btrgk8uEIjH/3b5N0hjyGkYGKPhNGQHTvk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdngoSW%2Fbtrgk8uEIjH%2F3b5N0hjyGkYGKPhNGQHTvk%2Fimg.png&quot; data-origin-width=&quot;911&quot; data-origin-height=&quot;361&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/a&gt;&lt;figcaption&gt;출처.https://docs.python.org&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;end 와 sep 선언 방법과 출력 결과 비교&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;end는 출력만 마지막에 설정된 값을 출력할때 이용한다.&lt;/p&gt;
&lt;pre id=&quot;code_1632885550733&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;gt; print('가', '나', '다', '라', '마', '바', '사', end=&quot; :: 끝 &quot;)
#가 나 다 라 마 바 사 :: 끝&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sep는 출력문 사이사이 설정된 값을 출력할때 이용한다.&lt;/p&gt;
&lt;pre id=&quot;code_1632885568302&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;gt; print('가', '나', '다', '라', '마', '바', '사', sep=&quot;***&quot;)
# 가***나***다***라***마***바***사&lt;/code&gt;&lt;/pre&gt;</description>
      <category>프로그래밍/Python</category>
      <category>print</category>
      <category>print end</category>
      <category>print sep</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/220</guid>
      <comments>https://graycha.tistory.com/220#entry220comment</comments>
      <pubDate>Wed, 29 Sep 2021 12:23:22 +0900</pubDate>
    </item>
    <item>
      <title>2021년 대체공휴일 확대 삼일절, 광복절, 개천절, 한글날 알아보자</title>
      <link>https://graycha.tistory.com/219</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;대체공휴일 개정안이 인사혁신처를 통해 21.07.15일 발표되었습니다.&amp;nbsp;올해부터 3&amp;middot;1절, 광복절, 개천절, 한글날 주말일 경우 그다음 주 월요일이 대체공휴일로 적용됩니다. 즉, 2021년부터 대체공휴일이 확대되어 삼일절, 광복절, 개천절, 한글날 적용됩니다.&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;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;대체공휴일&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공휴일이 토요일이나 일요일, 다른 공휴일과 겹칠 경우 대체휴일로 지정하여 운영할 수 있으며, 대통령령으로 지정 가능합니다. 단, 근로기준법에 의해 상시 5인 미만 사업장은 제외됩니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;제3조(대체공휴일)&amp;nbsp;&lt;br /&gt;① 제2조에 따른 공휴일이 토요일이나 일요일, 다른 공휴일과 겹칠 경우에는 대체공휴일로 지정하여 운영할 수 있다.&lt;br /&gt;② 제1항의 대체공휴일의 지정 및 운영에 관한 사항은 대통령령으로 정한다.&lt;br /&gt;&lt;a href=&quot;https://www.law.go.kr/%EB%B2%95%EB%A0%B9/%EA%B3%B5%ED%9C%B4%EC%9D%BC%EC%97%90%EA%B4%80%ED%95%9C%EB%B2%95%EB%A5%A0/&quot;&gt;[출처] 공휴일에 관한 법령&lt;/a&gt;&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;제11조(적용 범위)&amp;nbsp;&lt;br /&gt;① 이 법은 상시 5명 이상의 근로자를 사용하는 모든 사업 또는 사업장에 적용한다. 다만, 동거하는 친족만을 사용하는 사업 또는 사업장과 가사(家事) 사용인에 대하여는 적용하지 아니한다.&lt;br /&gt;② 상시 4명 이하의 근로자를 사용하는 사업 또는 사업장에 대하여는&amp;nbsp;대통령령으로 정하는 바에 따라 이 법의 일부 규정을 적용할 수 있다.&lt;br /&gt;③ 이 법을 적용하는 경우에 상시 사용하는 근로자 수를 산정하는 방법은&amp;nbsp;대통령령으로 정한다.&lt;br /&gt;&lt;a href=&quot;https://www.law.go.kr/%EB%B2%95%EB%A0%B9/%EA%B7%BC%EB%A1%9C%EA%B8%B0%EC%A4%80%EB%B2%95&quot;&gt;[출처] 근로기준법 법령&lt;/a&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&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;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;2021 대체공휴일 확인&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ef5369;&quot;&gt;광복절&lt;/span&gt; -&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;2021.08.15(일)&lt;br /&gt;대체공휴일적용 ➠&lt;span style=&quot;color: #ef5369;&quot;&gt;2021.08.16&lt;span style=&quot;background-color: #fcfcfc; color: #ef5369;&quot;&gt;(월)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;개천절 -&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;background-color: #fcfcfc; color: #666666;&quot;&gt;2021.10.03(일)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #fcfcfc; color: #666666;&quot;&gt;대체공휴일 적용 ➠&lt;/span&gt;&lt;span style=&quot;color: #ef5369;&quot;&gt;2021.10.04&lt;span style=&quot;background-color: #fcfcfc; color: #ef5369;&quot;&gt;(월)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;한글날 -&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;background-color: #fcfcfc; color: #666666;&quot;&gt;2021.10.09(토)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #fcfcfc; color: #666666;&quot;&gt;대체공휴일 적용 ➠&lt;/span&gt;&lt;span style=&quot;color: #ef5369;&quot;&gt;2021.10.11(월)&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;859&quot; data-origin-height=&quot;514&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cmsBxR/btrgdFGkP83/TPZ1m4J5xdGXBWBydj1mK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cmsBxR/btrgdFGkP83/TPZ1m4J5xdGXBWBydj1mK0/img.png&quot; data-alt=&quot;2021 대체공휴일 - 광복절&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cmsBxR/btrgdFGkP83/TPZ1m4J5xdGXBWBydj1mK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcmsBxR%2FbtrgdFGkP83%2FTPZ1m4J5xdGXBWBydj1mK0%2Fimg.png&quot; data-origin-width=&quot;859&quot; data-origin-height=&quot;514&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;2021 대체공휴일 - 광복절&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&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;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;858&quot; data-origin-height=&quot;586&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bAz1c9/btrgdHjQqwt/FcbMbJjisqEFUIKWnHMff0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bAz1c9/btrgdHjQqwt/FcbMbJjisqEFUIKWnHMff0/img.png&quot; data-alt=&quot;2021 대체공휴일 - 개천절/한글날&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bAz1c9/btrgdHjQqwt/FcbMbJjisqEFUIKWnHMff0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbAz1c9%2FbtrgdHjQqwt%2FFcbMbJjisqEFUIKWnHMff0%2Fimg.png&quot; data-origin-width=&quot;858&quot; data-origin-height=&quot;586&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;2021 대체공휴일 - 개천절/한글날&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>알아두기</category>
      <category>2021년 대체공휴일</category>
      <category>개천절 대체공휴일</category>
      <category>광복절 대체공휴일</category>
      <category>한글날 대체공휴일</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/219</guid>
      <comments>https://graycha.tistory.com/219#entry219comment</comments>
      <pubDate>Tue, 28 Sep 2021 12:09:11 +0900</pubDate>
    </item>
    <item>
      <title>알뜰폰 요금제 실사용 요금 및 프로모션 지급 후기</title>
      <link>https://graycha.tistory.com/217</link>
      <description>&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;자급제폰으로 핸드폰을 교체하면서, 통신사를 알뜰 통신사로 변경했다. 알뜰폰 통신사는 ktm을 이용하고 있으며, 아주 만족스럽게 사용 중이다. 21.07월부터 21.09월까지 지급된 명세서와 프로모션 지급에 대해서 리뷰해보려고 한다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;월 이용요금&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2021년 7월&lt;br /&gt;- 74,590원으로 기존 통신사 요금이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;484&quot; data-origin-height=&quot;286&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/crU42F/btrgbKVDVe2/V25t8lkxikFZX8tuLNuICk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/crU42F/btrgbKVDVe2/V25t8lkxikFZX8tuLNuICk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/crU42F/btrgbKVDVe2/V25t8lkxikFZX8tuLNuICk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcrU42F%2FbtrgbKVDVe2%2FV25t8lkxikFZX8tuLNuICk%2Fimg.png&quot; data-origin-width=&quot;484&quot; data-origin-height=&quot;286&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2021년 8월&lt;br /&gt;- 73,400원으로 기존 통신사 요금 + 알뜰 통신사 요금이다.&lt;br /&gt;- 각 통신사별로 사용한 일수만큼 일할 계산 금액으로 청구되었다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;518&quot; data-origin-height=&quot;449&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nk22S/btrgfObUJgi/BeCQJuuSNSHkhzylcDJ9Ik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nk22S/btrgfObUJgi/BeCQJuuSNSHkhzylcDJ9Ik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nk22S/btrgfObUJgi/BeCQJuuSNSHkhzylcDJ9Ik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fnk22S%2FbtrgfObUJgi%2FBeCQJuuSNSHkhzylcDJ9Ik%2Fimg.png&quot; data-origin-width=&quot;518&quot; data-origin-height=&quot;449&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2021년 9월&lt;br /&gt;- 32,910원으로 이제 알뜰 통신사를 사용하는 기분이 든다 :D&lt;br /&gt;- 기존 통신사 바로 &lt;span style=&quot;color: #ef5369;&quot;&gt;직전 요금과 비교했을 때, 월 -41,680원의 차액&lt;/span&gt;이 발생된다. 그러면, &lt;span style=&quot;color: #006dd7;&quot;&gt;핸드폰 약정기간을 24개월이라고 가정해보자. - 1,000,320원의 차액이 발생&lt;/span&gt;된다.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;586&quot; data-origin-height=&quot;482&quot; width=&quot;520&quot; height=&quot;476&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wPtbi/btrf7BrTo33/326T4nIlQbsw8Fj6t8BHvk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wPtbi/btrf7BrTo33/326T4nIlQbsw8Fj6t8BHvk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wPtbi/btrf7BrTo33/326T4nIlQbsw8Fj6t8BHvk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwPtbi%2Fbtrf7BrTo33%2F326T4nIlQbsw8Fj6t8BHvk%2Fimg.png&quot; data-origin-width=&quot;586&quot; data-origin-height=&quot;482&quot; width=&quot;520&quot; height=&quot;476&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;알뜰 통신사 요금제 프로모션 지급내역&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;사용자 입장에서 정말 유리하고 좋다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;저렴하게 무약정으로 요금제를 이용하며, 프로모션 혜택을 누릴 수 있으니 말이다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;아래는 ktm 통신사 요금제 번호이동 및 요금제 프로모션 혜택이다.&lt;br /&gt;현재까지 받은 혜택이며 추가로 지급될 혜택이 남아있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;컬처랜드 : 7,000원&lt;/li&gt;
&lt;li&gt;이마트 상품권 : 20,000원&lt;/li&gt;
&lt;li&gt;이마트 상품권 : 10,000원&lt;/li&gt;
&lt;/ul&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IRA5d/btrgdE1A7Mr/bMYMQ05GF5PU9E9MIMkhqK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IRA5d/btrgdE1A7Mr/bMYMQ05GF5PU9E9MIMkhqK/img.png&quot; data-origin-width=&quot;324&quot; data-origin-height=&quot;566&quot; data-filename=&quot;blob&quot; style=&quot;width: 32.6459%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IRA5d/btrgdE1A7Mr/bMYMQ05GF5PU9E9MIMkhqK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIRA5d%2FbtrgdE1A7Mr%2FbMYMQ05GF5PU9E9MIMkhqK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;324&quot; height=&quot;566&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4DmWO/btrf3svp0S4/DkkDzgr78sPfHFZtEZkkT1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4DmWO/btrf3svp0S4/DkkDzgr78sPfHFZtEZkkT1/img.png&quot; data-origin-width=&quot;309&quot; data-origin-height=&quot;555&quot; style=&quot;width: 31.7516%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4DmWO/btrf3svp0S4/DkkDzgr78sPfHFZtEZkkT1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4DmWO%2Fbtrf3svp0S4%2FDkkDzgr78sPfHFZtEZkkT1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;309&quot; height=&quot;555&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xt4Sv/btrgbArPhSH/RfTjT6NiDZDKTe0U3V4Lo1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xt4Sv/btrgbArPhSH/RfTjT6NiDZDKTe0U3V4Lo1/img.png&quot; data-origin-width=&quot;290&quot; data-origin-height=&quot;497&quot; style=&quot;width: 33.2768%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xt4Sv/btrgbArPhSH/RfTjT6NiDZDKTe0U3V4Lo1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fxt4Sv%2FbtrgbArPhSH%2FRfTjT6NiDZDKTe0U3V4Lo1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;290&quot; height=&quot;497&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;알뜰 요금제 프로모션 지급내역&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;마치며&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;자급제폰과 알뜰 통신사 요금제 조합은 정말 괜찮은 것 같다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;현재 부모님도 자급제 + 알뜰 통신사로 교체한 상태다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;항상 핸드폰 구입할 때 스트레스(?)로 부담이었는데, 앞으로 이런 걱정은 없을 것 같다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;너무 장점 위주로 포스팅을 준비했는,&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt; 실제 사용해보니 큰 단점보다는 사용자 입장에서 유리한 조건들이 많아서 요금제와 프로모션 정보 공유에 포커스를 맞춰&lt;/span&gt;&lt;/b&gt; 포스팅을&amp;nbsp; 준비했습니다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style15&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;함께 보면 더욱 좋은 포스팅 정보&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #2780d4; color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;∙ &lt;span style=&quot;color: #666666;&quot;&gt;자급제폰 갤럭시노트20 울트라 구입부터 알뜰 요금제 번호이동 까지&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;↳ &lt;a href=&quot;https://graycha.tistory.com/216&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://graycha.tistory.com/216&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>제품리뷰</category>
      <category>알뜰폰 요금제</category>
      <category>알뜰폰 프로모션</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/217</guid>
      <comments>https://graycha.tistory.com/217#entry217comment</comments>
      <pubDate>Tue, 28 Sep 2021 11:41:33 +0900</pubDate>
    </item>
    <item>
      <title>자급제폰 갤럭시노트20 울트라 구입부터 알뜰 요금제 번호이동 까지</title>
      <link>https://graycha.tistory.com/216</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;사용 중이던 노트 9 액정이 파손됐다.&amp;nbsp; 2년이 넘어가는 시점부터 배터리 수명저하 문제로 기기변경에 대해서 고민하고 있었는데 노트20 울트라 구입에 좋은 계기가 되어 주었다 :D&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만, 문제는 핸드폰을 알아봐야 한다는 점이었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 나에게는 매번 어렵고 귀찮은 일이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;첫째, 호갱이라는 수식어가 매우 불쾌하고 싫다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;둘째, 대리점, 성지(?)라 불리는 곳을 찾아다녀야 하는 번거로움은 더더더&amp;nbsp; 싫었다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;의심과 불안함 .. 심지어 어떤 곳은 신분증을 맡기기까지 해야 했다..??&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이걸 당연하게 생각하더라 .. 참 ㅡㅡ...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;심지어 그렇게 구입을 하는 사람들이 정말 많다는거다 ..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;너와 나의 개인정보인가 하하..;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;자급제폰 구입&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;쉽게 말해서 자급제폰은 &lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;u&gt;제값주고 기계를 사는 거다.&lt;/u&gt;&lt;/b&gt;&lt;/span&gt; 응..?!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데, 핸드폰 제값 주고 사면 주변에서 한소리씩 듣는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;호갱(?)이라는 인식이 참 사람 힘들게 만든다&amp;nbsp; -_-&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만, 자급제폰을 구입하기로 한 가장 큰 이유는 다음과 같았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;첫째, 이것저것 알아볼 필요가 없다. 그냥 제값 주고 사면된다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;둘째, 알뜰통신사 이용을 통해 월 사용요금을 50% 이상 줄일 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서, 집 근처 삼성 디지털 프라자에 이벤트 및 재고 수량만 파악한 후, 갤럭시 노트20 울트라 자급제폰을 구입했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구입 당시 출고가 할인 이벤트를 진행하고 있어서 조금 저렴하게 구입 할 수 있었다.&lt;/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;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;678&quot; data-origin-height=&quot;439&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c1kxoQ/btrgdHxkRkE/J2erWXU9CMI7S1y1K4UG0K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c1kxoQ/btrgdHxkRkE/J2erWXU9CMI7S1y1K4UG0K/img.png&quot; data-alt=&quot;노트20 울트라 구입&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c1kxoQ/btrgdHxkRkE/J2erWXU9CMI7S1y1K4UG0K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc1kxoQ%2FbtrgdHxkRkE%2FJ2erWXU9CMI7S1y1K4UG0K%2Fimg.png&quot; data-origin-width=&quot;678&quot; data-origin-height=&quot;439&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;노트20 울트라 구입&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;674&quot; data-origin-height=&quot;379&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c535hc/btrf9DJHMzq/wbU5cO5lOsz9gsGeArqLm0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c535hc/btrf9DJHMzq/wbU5cO5lOsz9gsGeArqLm0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c535hc/btrf9DJHMzq/wbU5cO5lOsz9gsGeArqLm0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc535hc%2Fbtrf9DJHMzq%2FwbU5cO5lOsz9gsGeArqLm0%2Fimg.png&quot; data-origin-width=&quot;674&quot; data-origin-height=&quot;379&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;알뜰 통신사로 번호이동&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;자급제폰을 구입했다면 알뜰 통신사로 번호이동까지 하는게 가장 유리하고 합리적&lt;/b&gt;&lt;/span&gt;이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 10년 이상 유지하던 통신사를 떠너야한다는 아쉬움과, 남아있던 포인트가 아깝다는 이상한 논리에 잠시 고민했지만, 그뿐이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;고민할 거 없이 과감하게 알뜰 통신사로 번호이동을 하면 된다.&lt;/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;나의 경우 kt m 모바일로 알뜰 통신사를 결정하였는데, 모바일 앱을 지원하고 가입자수가 가장 많았기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;QnA&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;Q1. SK/KT 통신사와 알뜰 통신사 요금제 어떤가요?&lt;/b&gt;&lt;br /&gt;- 기존 KT 69,000원 요금제를 사용했는데, 현재 3만 원대 요금제를 사용 중이다.&lt;br /&gt;- 알뜰 통신사 요금제가&amp;nbsp; 재미있는 게 요금제 선택군이 다양하며, 무약정이다. 그리고 다양한 프로모션에 따른 할인이 많다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q2. SK/KT 통신사를 떠나며..?&lt;/b&gt;&lt;br /&gt;- 10년 넘게 충성 고객이었다는 자부심(?)과 매년 10만 원 이상 지급되던 포인트의 아쉬움이 있었지만, 어차피 다 쓰지도 못했고 그것 대문에 유지해야 한다? 이거야 말로 호갱(?) 이라는 결론을 내렸다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q3. SK/KT 통신사 가족 결합에 따른 혜택을 포기하는 건?&lt;/b&gt;&lt;br /&gt;- 알뜰 통신사의 요금제와 비교했을 때 가족 결합에 따른 할인금액이 인당 5,500원으로 유지할 이유가 없었다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q4. 알뜰 통신사 고객센터 연락이 잘 안 된다던데?&lt;/b&gt;&lt;br /&gt;- KT M 모바일의 경우 상담원 연결까지 5분 이내였다. 상담 및 응대 역시 빠르고 정확했다.&lt;br /&gt;사실 고객센터 연결할 일이 많지 않기 때문에 이걸로 고민할 필요는 없을 것 같다.&lt;/blockquote&gt;</description>
      <category>제품리뷰</category>
      <category>kt m 개통</category>
      <category>갤럭시노트20 울트라</category>
      <category>갤럭시노트20 울트라 자급제</category>
      <category>알뜰요금제</category>
      <category>알뜰폰 개통</category>
      <category>알뜰폰 개통 방법</category>
      <category>알뜰폰 고객센터</category>
      <category>자급제 개통</category>
      <category>자급제 구매</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/216</guid>
      <comments>https://graycha.tistory.com/216#entry216comment</comments>
      <pubDate>Tue, 28 Sep 2021 11:00:19 +0900</pubDate>
    </item>
    <item>
      <title>nginx letsencrypt https ssl 설정 방법</title>
      <link>https://graycha.tistory.com/215</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;conf 파일 설정을 통한 ssl 적용 방법과 무료 ssl 인증서 발급 방법에 대해서 알아보자. 우선 nginx conf 파일은 conf.d 디렉토리 하위에 *.conf 파일을 생성하여 설정 가능하며 본문 내용을 참고하도록 하자.&amp;nbsp; 만약, ssl 인증서가 없다면, 본문 하단 무료 ssl 인증서 발급 방법을 참고하도록 하자.&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;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;ngix conf.d 의 *.conf 파일 설정 방법&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ssl 인증서가 필요하며, 본 내용은 &lt;span style=&quot;color: #000000;&quot;&gt;letsencrypt을 기준으로 작성하였습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;649&quot; data-origin-height=&quot;388&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cIQgAo/btrgC7CRaqM/AGceEvLFvNOmdgHr5ylKAk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cIQgAo/btrgC7CRaqM/AGceEvLFvNOmdgHr5ylKAk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cIQgAo/btrgC7CRaqM/AGceEvLFvNOmdgHr5ylKAk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcIQgAo%2FbtrgC7CRaqM%2FAGceEvLFvNOmdgHr5ylKAk%2Fimg.png&quot; data-origin-width=&quot;649&quot; data-origin-height=&quot;388&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1632583186571&quot; class=&quot;shell&quot; style=&quot;margin: 20px auto 0px; display: block; overflow: auto; padding: 20px; color: #383a42; background: #f8f8f8; font-size: 14px; font-family: 'SF Mono', Menlo, Consolas, Monaco, monospace; border: 1px solid #ebebeb; line-height: 1.71; cursor: default; z-index: 1;&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;server {
    listen 443 ssl;
    server_name [도메인];

    access_log [on / off 선택];

    # SSL 인증서 경로를 선언해줍니다.
    ssl_certificate /etc/letsencrypt/live/[도메인]/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/[도메인]/privkey.pem;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 무료 SSL인증서 - Let`s Encrypt DNS 방식 발급은 아래 포스팅을 참고하시기 바랍니다.&lt;/p&gt;
&lt;figure id=&quot;og_1632583361637&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[SSL] 무료 SSL인증서 - Let&amp;#96;s Encrypt  DNS 방식 발급 과정&quot; data-og-description=&quot;개인 프로젝트를 수행하면서 무료로 사용할 수 있는 SSL인증서에 대해서 조사하였으며, Let&amp;#96;s Encrypt SSL 인증서 발급하여 적용하기로 결정하였다. Let&amp;rsquo;s Encrypt는 일반의 이익을 위해 실행되는 무료,&quot; data-og-host=&quot;graycha.tistory.com&quot; data-og-source-url=&quot;https://graycha.tistory.com/106&quot; data-og-url=&quot;https://graycha.tistory.com/106&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/re9cv/hyLKn1vCZN/p75WMqH73fAdwtGYDk7A91/img.png?width=800&amp;amp;height=206&amp;amp;face=0_0_800_206,https://scrap.kakaocdn.net/dn/c0KWK2/hyLIYbcIYe/videEpq4TkW4ZG1op0BkEK/img.png?width=800&amp;amp;height=206&amp;amp;face=0_0_800_206,https://scrap.kakaocdn.net/dn/yDQX0/hyLKtOclVi/jKcxp0XTuJxry9WT4LHOgK/img.png?width=1032&amp;amp;height=267&amp;amp;face=0_0_1032_267&quot;&gt;&lt;a href=&quot;https://graycha.tistory.com/106&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://graycha.tistory.com/106&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/re9cv/hyLKn1vCZN/p75WMqH73fAdwtGYDk7A91/img.png?width=800&amp;amp;height=206&amp;amp;face=0_0_800_206,https://scrap.kakaocdn.net/dn/c0KWK2/hyLIYbcIYe/videEpq4TkW4ZG1op0BkEK/img.png?width=800&amp;amp;height=206&amp;amp;face=0_0_800_206,https://scrap.kakaocdn.net/dn/yDQX0/hyLKtOclVi/jKcxp0XTuJxry9WT4LHOgK/img.png?width=1032&amp;amp;height=267&amp;amp;face=0_0_1032_267');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[SSL] 무료 SSL인증서 - Let`s Encrypt DNS 방식 발급 과정&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;개인 프로젝트를 수행하면서 무료로 사용할 수 있는 SSL인증서에 대해서 조사하였으며, Let`s Encrypt SSL 인증서 발급하여 적용하기로 결정하였다. Let&amp;rsquo;s Encrypt는 일반의 이익을 위해 실행되는 무료,&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;graycha.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Nginx http to https / www to non-www / ip to https 방법은 아래 포스팅을 참고하시기 바랍니다.&lt;/p&gt;
&lt;figure id=&quot;og_1632583434060&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;nginx http to https  / www to non-www / ip to https 방법&quot; data-og-description=&quot;conf.d 의 *.conf 파일 수정 listen 80 에 대한 도메인 요청을 아래와 같이 https로 전환할 수 있다. server { listen 80 ; server_name [도메인]; return 301 https://[도메인]$request_uri; } IP로 접근 역시 ht..&quot; data-og-host=&quot;graycha.tistory.com&quot; data-og-source-url=&quot;https://graycha.tistory.com/214&quot; data-og-url=&quot;https://graycha.tistory.com/214&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/HWsVF/hyLI52tNYp/ORrVJsJUz876UnEeeYH5W1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/NG6Ac/hyLI764wXA/ukTPLoJHDKOzH2ghFSADSK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800&quot;&gt;&lt;a href=&quot;https://graycha.tistory.com/214&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://graycha.tistory.com/214&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/HWsVF/hyLI52tNYp/ORrVJsJUz876UnEeeYH5W1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/NG6Ac/hyLI764wXA/ukTPLoJHDKOzH2ghFSADSK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;nginx http to https / www to non-www / ip to https 방법&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;conf.d 의 *.conf 파일 수정 listen 80 에 대한 도메인 요청을 아래와 같이 https로 전환할 수 있다. server { listen 80 ; server_name [도메인]; return 301 https://[도메인]$request_uri; } IP로 접근 역시 ht..&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;graycha.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그래밍/ETC</category>
      <category>nginx https 설정</category>
      <category>nginx letsencrypt 설정</category>
      <category>nginx ssl 설정</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/215</guid>
      <comments>https://graycha.tistory.com/215#entry215comment</comments>
      <pubDate>Mon, 27 Sep 2021 01:24:30 +0900</pubDate>
    </item>
    <item>
      <title>nginx http to https  / www to non-www / ip to https 방법</title>
      <link>https://graycha.tistory.com/214</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;conf 파일 설정을 통한 리다이렉트 설정이 가능하다. 우선 nginx conf 파일은 conf.d 디렉토리 하위에 *.conf 파일을 생성하여 설정 가능하며 본문 내용을 참고하도록 하자.&amp;nbsp;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;conf.d 의 *.conf 파일 수정&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;listen 80 에 대한 도메인 요청을 아래와 같이 https로 전환할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;445&quot; data-origin-height=&quot;139&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/k3BzF/btrgHE7I12T/D1wNSwXUWokHjwxknJZ5wK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/k3BzF/btrgHE7I12T/D1wNSwXUWokHjwxknJZ5wK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/k3BzF/btrgHE7I12T/D1wNSwXUWokHjwxknJZ5wK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fk3BzF%2FbtrgHE7I12T%2FD1wNSwXUWokHjwxknJZ5wK%2Fimg.png&quot; data-origin-width=&quot;445&quot; data-origin-height=&quot;139&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1632582775967&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;server {
	listen 80 ;
	server_name [도메인];
    
	return 301 https://[도메인]$request_uri;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&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;IP로 접근 역시 https 로 요청을 전환할 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1632582967133&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;server {
	listen 80 ;
	server_name [아이피:1.1.1.1];
    
	return 301 https://[도메인]$request_uri;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;www to non-www 또는 non-www to www로 요청을 전환할 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1632583028218&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# www to non-www
server {
	listen 80 ;
	server_name www.[도메인];
    
	return 301 https://[도메인]$request_uri;
}


# non-www to www
server {
	listen 80 ;
	server_name [도메인];
    
	return 301 https://www.[도메인]$request_uri;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그래밍/ETC</category>
      <category>nginx http to https</category>
      <category>nginx ip to https</category>
      <category>nginx non-www to www</category>
      <category>nginx www to non-www</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/214</guid>
      <comments>https://graycha.tistory.com/214#entry214comment</comments>
      <pubDate>Sun, 26 Sep 2021 00:18:45 +0900</pubDate>
    </item>
    <item>
      <title>Docker nginx Reverse Proxy 설정을 통한 서버구축</title>
      <link>https://graycha.tistory.com/213</link>
      <description>&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;서버 구성도&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Docker를 활용한 서버 구성도며, 하나의 서버에서 Docker container 확장을 통한 WAS 운영이 목표였다. Docker jwilder/nginx-proxy 를 통한 Reverse Proxy 환경을 구현할 수 있었고, 아래와 같은 서버 구성으로 서비스를 운영 중이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;833&quot; data-origin-height=&quot;433&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wcOjh/btrfWbsJ7TF/6gVNzd3nIiHO7G8eZ4Gs10/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wcOjh/btrfWbsJ7TF/6gVNzd3nIiHO7G8eZ4Gs10/img.png&quot; data-alt=&quot;docker reverse proxy 구성도&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wcOjh/btrfWbsJ7TF/6gVNzd3nIiHO7G8eZ4Gs10/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwcOjh%2FbtrfWbsJ7TF%2F6gVNzd3nIiHO7G8eZ4Gs10%2Fimg.png&quot; data-origin-width=&quot;833&quot; data-origin-height=&quot;433&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;docker reverse proxy 구성도&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;Docker Reverse Proxy 설정&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;jwilder/nginx-proxy 이미지를 내려받아, nginx proxy 컨테이너를 구동시켜야 한다.&lt;/p&gt;
&lt;pre id=&quot;code_1632580505840&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;docker pull jwilder/nginx-proxy&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;589&quot; data-origin-height=&quot;234&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;a href=&quot;https://hub.docker.com/r/jwilder/nginx-proxy&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BSD71/btrfWLHlZRK/CtQjKM6ZBQVamdhkMELLJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBSD71%2FbtrfWLHlZRK%2FCtQjKM6ZBQVamdhkMELLJK%2Fimg.png&quot; data-origin-width=&quot;589&quot; data-origin-height=&quot;234&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/a&gt;&lt;figcaption&gt;출처.hub.docker.com/r/jwilder/nginx-proxy&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 명령어를 통해 proxy_nginx 컨테이너를 생성한다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;port : 80 / 443&lt;/li&gt;
&lt;li&gt;volume ( *ro : 읽기 전용 )
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;/var/run/docker.sock:/tmp/docker.sock:ro&lt;br /&gt;&lt;span style=&quot;color: #252525;&quot;&gt;Docker 데몬이 기본적으로 수신 대기하는 Unix 소켓으로 컨테이너 내에서 데몬과 통신하는 데 사용한다.&lt;br /&gt;&lt;/span&gt;자세한 내용은 다음 링크를 참고하자. &lt;a href=&quot;https://betterprogramming.pub/about-var-run-docker-sock-3bfd276e12fd&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[바로가기]&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;/etc/letsencrypt:/etc/letsencrypt:ro&amp;nbsp;&lt;br /&gt;SSL 인증서 파일을 위한 볼륨 설정&lt;/li&gt;
&lt;li&gt;/home/centos/nginx/conf.d:/etc/nginx/conf.d&lt;br /&gt;Nginx Conf 설정을 위한 볼륨 설정&lt;/li&gt;
&lt;li&gt;/home/centos/nginx/log:/var/log/nginx&lt;br /&gt;Nginx 로그 확인을 위한 볼륨 설정&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1632580608535&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;docker run -d -p 80:80 -p 443:443 -v /var/run/docker.sock:/tmp/docker.sock:ro -v /etc/letsencrypt:/etc/letsencrypt:ro -v /home/centos/nginx/conf.d:/etc/nginx/conf.d -v /home/centos/nginx/log:/var/log/nginx --name [컨테이너:proxy-nginx] [이미지:jwilder/nginx-proxy]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정상적으로 생성되었다면, 아래와 같이 docker 프로세스 정보를 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;563&quot; data-origin-height=&quot;90&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dYhcgb/btrfWL1InsN/Rrqk4xdZ967CR7YzkiiCmk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dYhcgb/btrfWL1InsN/Rrqk4xdZ967CR7YzkiiCmk/img.png&quot; data-alt=&quot;docker ps.jwilder/nginx-proxy&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dYhcgb/btrfWL1InsN/Rrqk4xdZ967CR7YzkiiCmk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdYhcgb%2FbtrfWL1InsN%2FRrqk4xdZ967CR7YzkiiCmk%2Fimg.png&quot; data-origin-width=&quot;563&quot; data-origin-height=&quot;90&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;docker ps.jwilder/nginx-proxy&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;WAS Cotainer 설정&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존 Cotainer 가 있다면, VIRTUAL_HOST 설정을 위해 Container를 재생성해야 한다. 자세한 내용은 아래 포스팅을 참고하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1632581416277&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Centos Docker config.json 경로 및 디렉토리 구조&quot; data-og-description=&quot;Docker Config.json 경로 Centos 기준 Docker config.json 경로 및 디렉토리 구조는 아래와 같다. Containers 디렉토리를 보면, 생성된 CONTAINER ID별로 디렉토리가 생성되며, 하위에 Container에 설정된 config...&quot; data-og-host=&quot;graycha.tistory.com&quot; data-og-source-url=&quot;https://graycha.tistory.com/208&quot; data-og-url=&quot;https://graycha.tistory.com/208&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/b1rQKM/hyLKpSyTQU/odTZ1dvm6BanYw0W7NpXbK/img.png?width=339&amp;amp;height=622&amp;amp;face=0_0_339_622,https://scrap.kakaocdn.net/dn/bG3DSo/hyLKmuKNwc/WNnVcB3IfHoekVyKRCFCwk/img.png?width=339&amp;amp;height=622&amp;amp;face=0_0_339_622,https://scrap.kakaocdn.net/dn/bAGanv/hyLI61mfJ7/vjbYxsj41GdRrcspWf6pxK/img.png?width=339&amp;amp;height=622&amp;amp;face=0_0_339_622&quot;&gt;&lt;a href=&quot;https://graycha.tistory.com/208&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://graycha.tistory.com/208&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/b1rQKM/hyLKpSyTQU/odTZ1dvm6BanYw0W7NpXbK/img.png?width=339&amp;amp;height=622&amp;amp;face=0_0_339_622,https://scrap.kakaocdn.net/dn/bG3DSo/hyLKmuKNwc/WNnVcB3IfHoekVyKRCFCwk/img.png?width=339&amp;amp;height=622&amp;amp;face=0_0_339_622,https://scrap.kakaocdn.net/dn/bAGanv/hyLI61mfJ7/vjbYxsj41GdRrcspWf6pxK/img.png?width=339&amp;amp;height=622&amp;amp;face=0_0_339_622');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Centos Docker config.json 경로 및 디렉토리 구조&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Docker Config.json 경로 Centos 기준 Docker config.json 경로 및 디렉토리 구조는 아래와 같다. Containers 디렉토리를 보면, 생성된 CONTAINER ID별로 디렉토리가 생성되며, 하위에 Container에 설정된 config...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;graycha.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Was container를 생성할 때, &amp;nbsp;&lt;span style=&quot;color: #ef5369;&quot;&gt;&lt;b&gt;-e VIRTUAL_HOST=[도메인] 을 반드시 선언&lt;/b&gt;&lt;/span&gt;해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래야, reverse proxy에서 해당 도메인을 기준으로 container를 바라본다.&lt;/p&gt;
&lt;pre id=&quot;code_1632581650018&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;docker run -d -e VIRTUAL_HOST=[도메인]--name [컨테이너:was-blper] [이미지]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&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;proxy container를 재시작해주자.&lt;/p&gt;
&lt;pre id=&quot;code_1632581850036&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;docker [컨테이너:proxy-nginx] restart&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최종 docker 프로세스는 아래와 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;528&quot; data-origin-height=&quot;92&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pM11x/btrfVtG96dY/vW5xOM0EU5b40N3Yws447k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pM11x/btrfVtG96dY/vW5xOM0EU5b40N3Yws447k/img.png&quot; data-alt=&quot;docker ps&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pM11x/btrfVtG96dY/vW5xOM0EU5b40N3Yws447k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpM11x%2FbtrfVtG96dY%2FvW5xOM0EU5b40N3Yws447k%2Fimg.png&quot; data-origin-width=&quot;528&quot; data-origin-height=&quot;92&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;docker ps&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;nginx default.conf살펴보기&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;default.conf 를 확인하기 위해서, nginx proxy 컨테이너를 생성할 때 볼륨을 설정해둔 이유다.&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;마운트 된 볼륨 경로의 default.conf 를 확인해보면, 아래와 같이 WAS Container - VIRTUAL_HOST에 대한&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;upstream 이 자동으로 설정된 것을 확인할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1632582076465&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# graycha.net
upstream graycha.net {
	## Can be connected with &quot;bridge&quot; network
	# was-graycha
	server 192.0.0.2:80;
}

# www.blper.kr
upstream www.blper.kr {
	## Can be connected with &quot;bridge&quot; network
	# was-blper
	server 192.0.0.3:80;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제&amp;nbsp; 설정한 도메인으로 정상적으로 요청이 들어가는지 확인해보면 끝이다.&lt;/p&gt;</description>
      <category>프로그래밍/Docker</category>
      <category>docker proxy</category>
      <category>docker Reverse Proxy</category>
      <category>nginx proxy</category>
      <category>Reverse Proxy</category>
      <category>VIRTUAL_HOST</category>
      <category>도커 프록시 서버 설정</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/213</guid>
      <comments>https://graycha.tistory.com/213#entry213comment</comments>
      <pubDate>Sun, 26 Sep 2021 00:07:20 +0900</pubDate>
    </item>
    <item>
      <title>AWS 라이트세일 5달러에서 20달러 플랜으로 스펙 상향조정</title>
      <link>https://graycha.tistory.com/212</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;운영 중인 웹사이트 중 아마존 라이트세일 5달러 플랜을 사용하는 곳이 있다. &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;최근 Docker를 활용한 리버스 프록시 서버 설정을 진행하면서, 컨테이너의 수와 DB커넥션 수가 늘어남에 따라 서버에 부하가 지속적으로 발생하였다.&amp;nbsp;&amp;nbsp;&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;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;소라이트세일 플랜 상향조정&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;아마존 라이트 세일 지표를 확인하니, CPU 지속가능 영역이 초과함에 따라 서버의 평균 부하가 최소 20 이상을 기록했다. 작업 기간에 발생한 CPU지표량만으로도 도저히 사용이 불가능한 수준이었다. 그래서 AWS 라이트세일 플랜의 스펙을 상향조정하기로 결정하였다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;765&quot; data-origin-height=&quot;435&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d34sn0/btrfPWIzCjG/tYH89rww0wRy9dnh0QKgok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d34sn0/btrfPWIzCjG/tYH89rww0wRy9dnh0QKgok/img.png&quot; data-alt=&quot;라이트세일 - 5달러 버스트 가능 영역&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d34sn0/btrfPWIzCjG/tYH89rww0wRy9dnh0QKgok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd34sn0%2FbtrfPWIzCjG%2FtYH89rww0wRy9dnh0QKgok%2Fimg.png&quot; data-origin-width=&quot;765&quot; data-origin-height=&quot;435&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;라이트세일 - 5달러 버스트 가능 영역&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;5달러 플랜 -&amp;nbsp; 1GB 메모리 / 1 vCPU 제한된 버스트 영역이 &lt;span style=&quot;color: #ee2323;&quot;&gt;10% 미만&lt;/span&gt;이다.&lt;/li&gt;
&lt;li&gt;10달러 플랜 - 2GB 메모리 / 1 vCPU 제한된 버스트 영역이 &lt;span style=&quot;color: #006dd7;&quot;&gt;20% 미만&lt;/span&gt;이다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;u&gt;&lt;b&gt;20달러 플랜 - 4GB 메모리 / 2 vCPU&lt;/b&gt; 제한된 버스트 영역이 &lt;span style=&quot;color: #006dd7;&quot;&gt;20% 미만&lt;/span&gt;이다.&lt;/u&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&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;작업기간 동안 발생된 CPU 지표와 향후 운영의 지속성을 따져 보았을 때, 20달러 플랜으로 상향 조정하는 것이 가장 바람직하다고 판단하였다.&amp;nbsp; AWS 라이트세일 플랜 스냅샷을 활용한 업그레이드에 대한 자세한 내용은 아래를 참고하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1632409743662&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;AWS 라이트세일 플랜 스냅샷을 활용한 업그레이드&quot; data-og-description=&quot;스냅샷 생성 기존 인스턴스 관리 페이지 &amp;gt; 스냅샷 탭에서 '스냅샨 생성' 을 클릭하여 새로운 스냅샷을 생성합니다. * 스냅샷을 통하여 신규 인스턴스를 생성하며, 해당 시스템 디스크 및 연결 디&quot; data-og-host=&quot;graycha.tistory.com&quot; data-og-source-url=&quot;https://graycha.tistory.com/211&quot; data-og-url=&quot;https://graycha.tistory.com/211&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/1FwJd/hyLI1jIdg0/4Gpxv6UXJetM9DHmyv9W50/img.png?width=800&amp;amp;height=965&amp;amp;face=0_0_800_965,https://scrap.kakaocdn.net/dn/EG4Sk/hyLI1cWJQM/KdLcZdyD1vmswC2dBkWTR1/img.png?width=800&amp;amp;height=965&amp;amp;face=0_0_800_965,https://scrap.kakaocdn.net/dn/cDyRLl/hyLI1jIdaR/Fxcz4cWUDnpXiWRl9NBTh1/img.png?width=1046&amp;amp;height=1262&amp;amp;face=0_0_1046_1262&quot;&gt;&lt;a href=&quot;https://graycha.tistory.com/211&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://graycha.tistory.com/211&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/1FwJd/hyLI1jIdg0/4Gpxv6UXJetM9DHmyv9W50/img.png?width=800&amp;amp;height=965&amp;amp;face=0_0_800_965,https://scrap.kakaocdn.net/dn/EG4Sk/hyLI1cWJQM/KdLcZdyD1vmswC2dBkWTR1/img.png?width=800&amp;amp;height=965&amp;amp;face=0_0_800_965,https://scrap.kakaocdn.net/dn/cDyRLl/hyLI1jIdaR/Fxcz4cWUDnpXiWRl9NBTh1/img.png?width=1046&amp;amp;height=1262&amp;amp;face=0_0_1046_1262');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;AWS 라이트세일 플랜 스냅샷을 활용한 업그레이드&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;스냅샷 생성 기존 인스턴스 관리 페이지 &amp;gt; 스냅샷 탭에서 '스냅샨 생성' 을 클릭하여 새로운 스냅샷을 생성합니다. * 스냅샷을 통하여 신규 인스턴스를 생성하며, 해당 시스템 디스크 및 연결 디&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;graycha.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* AWS 라이트 세일 인스턴트 플랜과 버스트 기준 CPU 성능에 대한 자세한 내용은 아래를 참고하자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;762&quot; data-origin-height=&quot;283&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uidYs/btrfIX23U9X/VONzU0nrz0DkptfWKeVPL1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uidYs/btrfIX23U9X/VONzU0nrz0DkptfWKeVPL1/img.png&quot; data-alt=&quot;라이트세일 - 인스턴스 플랜&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uidYs/btrfIX23U9X/VONzU0nrz0DkptfWKeVPL1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuidYs%2FbtrfIX23U9X%2FVONzU0nrz0DkptfWKeVPL1%2Fimg.png&quot; data-origin-width=&quot;762&quot; data-origin-height=&quot;283&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;라이트세일 - 인스턴스 플랜&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1141&quot; data-origin-height=&quot;589&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ci0OwC/btrfKA7EqOg/dLZ7UffKKk6KJ5QS1n35H1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ci0OwC/btrfKA7EqOg/dLZ7UffKKk6KJ5QS1n35H1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ci0OwC/btrfKA7EqOg/dLZ7UffKKk6KJ5QS1n35H1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fci0OwC%2FbtrfKA7EqOg%2FdLZ7UffKKk6KJ5QS1n35H1%2Fimg.png&quot; data-origin-width=&quot;1141&quot; data-origin-height=&quot;589&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>프로그래밍/AWS</category>
      <category>라이트세일 20달러</category>
      <category>라이트세일 5달러</category>
      <category>라이트세일 CPU 버스트</category>
      <category>라이트세일 버스트 가능영역</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/212</guid>
      <comments>https://graycha.tistory.com/212#entry212comment</comments>
      <pubDate>Fri, 24 Sep 2021 00:12:44 +0900</pubDate>
    </item>
    <item>
      <title>AWS 라이트세일 플랜 스냅샷을 활용한 업그레이드</title>
      <link>https://graycha.tistory.com/211</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;운영 중인 웹사이트 중 &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;최근 Docker를 활용한 리컨테이너의 수와 DB커넥션 수가 늘어남에 따라 서버에 부하가 지속적으로 발생하여 라이트세일 플랜 상향조정을 결정하게되어 스냅샷을 이용한 이전 작업을 진행하였다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;스냅샷 생성&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존 인스턴스 관리 페이지 &amp;gt; 스냅샷 탭에서 '스냅샨 생성' 을 클릭하여 새로운 스냅샷을 생성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;* 스냅샷을 통하여 신규 인스턴스를 생성하며, 해당 시스템 디스크 및 연결 디스크를 바로 백업 및 복구할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1524&quot; data-origin-height=&quot;450&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d05PSv/btrfMtGZ6Hl/SKmkmj9WaGKahK2eVRHHy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d05PSv/btrfMtGZ6Hl/SKmkmj9WaGKahK2eVRHHy1/img.png&quot; data-alt=&quot;라이트세일 - 스냅샷&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d05PSv/btrfMtGZ6Hl/SKmkmj9WaGKahK2eVRHHy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd05PSv%2FbtrfMtGZ6Hl%2FSKmkmj9WaGKahK2eVRHHy1%2Fimg.png&quot; data-origin-width=&quot;1524&quot; data-origin-height=&quot;450&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;라이트세일 - 스냅샷&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;새 인스턴스 생성&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정상적으로 스냅샷이 생성되면, 아래와 같이 '새 인스턴스 생성'을 수행할 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1616&quot; data-origin-height=&quot;394&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBT4mH/btrfPWohYvy/oEJCesWdxxnh2aX5w1w4U0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBT4mH/btrfPWohYvy/oEJCesWdxxnh2aX5w1w4U0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBT4mH/btrfPWohYvy/oEJCesWdxxnh2aX5w1w4U0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBT4mH%2FbtrfPWohYvy%2FoEJCesWdxxnh2aX5w1w4U0%2Fimg.png&quot; data-origin-width=&quot;1616&quot; data-origin-height=&quot;394&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스냅샷을 통해 인스턴스 생성을 할 수 있으며, 아래와 같은 기본 설정을 진행합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1046&quot; data-origin-height=&quot;1262&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bXHXT7/btrfRpDyWvX/HaR9kCZE8Xx6kLG5aIpx50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bXHXT7/btrfRpDyWvX/HaR9kCZE8Xx6kLG5aIpx50/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bXHXT7/btrfRpDyWvX/HaR9kCZE8Xx6kLG5aIpx50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXHXT7%2FbtrfRpDyWvX%2FHaR9kCZE8Xx6kLG5aIpx50%2Fimg.png&quot; data-origin-width=&quot;1046&quot; data-origin-height=&quot;1262&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;기존 IP 연결&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존 인스턴스에서 사용하돈 고정IP를 그대로 인스턴스만 변경하여 사용 가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 기존 생성해둔 IP가 없을 시,&amp;nbsp; 새로 할당하여 진행 가능 합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1422&quot; data-origin-height=&quot;900&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9Xe2V/btrfEnt2oIh/U9JuvNDPM0TAsuz8JzJemk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9Xe2V/btrfEnt2oIh/U9JuvNDPM0TAsuz8JzJemk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9Xe2V/btrfEnt2oIh/U9JuvNDPM0TAsuz8JzJemk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9Xe2V%2FbtrfEnt2oIh%2FU9JuvNDPM0TAsuz8JzJemk%2Fimg.png&quot; data-origin-width=&quot;1422&quot; data-origin-height=&quot;900&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1452&quot; data-origin-height=&quot;908&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dwaEH3/btrfxOlnZY7/Wqbgmnjj95bEjkRsMEOeT0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dwaEH3/btrfxOlnZY7/Wqbgmnjj95bEjkRsMEOeT0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dwaEH3/btrfxOlnZY7/Wqbgmnjj95bEjkRsMEOeT0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdwaEH3%2FbtrfxOlnZY7%2FWqbgmnjj95bEjkRsMEOeT0%2Fimg.png&quot; data-origin-width=&quot;1452&quot; data-origin-height=&quot;908&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;인스턴스 지표관리&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인스턴스 지표관리를 확인해보면, 지속 가능 영역이 20%까지 설정된것을 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1042&quot; data-origin-height=&quot;578&quot; width=&quot;635&quot; height=&quot;352&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bp3RGj/btrfREAIG9p/CP73zDESznIfuiYUdCC4AK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bp3RGj/btrfREAIG9p/CP73zDESznIfuiYUdCC4AK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bp3RGj/btrfREAIG9p/CP73zDESznIfuiYUdCC4AK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbp3RGj%2FbtrfREAIG9p%2FCP73zDESznIfuiYUdCC4AK%2Fimg.png&quot; data-origin-width=&quot;1042&quot; data-origin-height=&quot;578&quot; width=&quot;635&quot; height=&quot;352&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 설정까지 진행하였다면, 스냅샷을 활용한 인스턴스 플랜 업그레이드는 끝입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생성한 신규 인스턴스에 접속하여, 서버 점검을 진행하며 완료 후 기존 인스턴스는 삭제합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 라이트세일 로컬 터미널 및 vscode SSH 인스턴스 연결 방법은 아래 정보를 참고하시기 바랍니다.&lt;/p&gt;
&lt;figure id=&quot;og_1632405566964&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Lightsail 로컬 터미널  및 vscode SSH 인스턴스 연결&quot; data-og-description=&quot;인스턴스 관리 &amp;gt; 계정페이지 생성한 인스턴스 플랜 관리 페이지로 이동하면, [Connect] 탭 하단에 '계정페이지' 라는 링크로 이동하자. SSH키 다운로드 SSH키 탭의 기본키를 다운로드 한다. SSH 접속 &quot; data-og-host=&quot;graycha.tistory.com&quot; data-og-source-url=&quot;https://graycha.tistory.com/99&quot; data-og-url=&quot;https://graycha.tistory.com/99&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/ms2sR/hyLIXO7rwP/FKpRomT2IKDFWhEwD0MVDK/img.png?width=800&amp;amp;height=724&amp;amp;face=0_0_800_724,https://scrap.kakaocdn.net/dn/qgbqI/hyLHIzibSM/dazSAEYntdhAQf2kTVrnJk/img.png?width=800&amp;amp;height=724&amp;amp;face=0_0_800_724,https://scrap.kakaocdn.net/dn/dfmT0e/hyLHIsuAsa/fQqxFcjkQB6JsJkjsEIWBk/img.png?width=1562&amp;amp;height=1414&amp;amp;face=0_0_1562_1414&quot;&gt;&lt;a href=&quot;https://graycha.tistory.com/99&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://graycha.tistory.com/99&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/ms2sR/hyLIXO7rwP/FKpRomT2IKDFWhEwD0MVDK/img.png?width=800&amp;amp;height=724&amp;amp;face=0_0_800_724,https://scrap.kakaocdn.net/dn/qgbqI/hyLHIzibSM/dazSAEYntdhAQf2kTVrnJk/img.png?width=800&amp;amp;height=724&amp;amp;face=0_0_800_724,https://scrap.kakaocdn.net/dn/dfmT0e/hyLHIsuAsa/fQqxFcjkQB6JsJkjsEIWBk/img.png?width=1562&amp;amp;height=1414&amp;amp;face=0_0_1562_1414');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Lightsail 로컬 터미널 및 vscode SSH 인스턴스 연결&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;인스턴스 관리 &amp;gt; 계정페이지 생성한 인스턴스 플랜 관리 페이지로 이동하면, [Connect] 탭 하단에 '계정페이지' 라는 링크로 이동하자. SSH키 다운로드 SSH키 탭의 기본키를 다운로드 한다. SSH 접속&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;graycha.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;</description>
      <category>프로그래밍/AWS</category>
      <category>라이트세일 스냅샷</category>
      <category>라이트세일 플랜 상향조정</category>
      <category>라이트세일 플랜 업그레이드</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/211</guid>
      <comments>https://graycha.tistory.com/211#entry211comment</comments>
      <pubDate>Fri, 24 Sep 2021 00:05:40 +0900</pubDate>
    </item>
    <item>
      <title>Lightsail 로컬 터미널  및 vscode SSH 인스턴스 연결</title>
      <link>https://graycha.tistory.com/99</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;Lightsail SSH 키를 활용하면 원격지로 SSH 접속이 가능하며, 보다 편리한 작업환경을 만들 수 있다. 로컬 터미널을 통한 SSH 연결 방법과&amp;nbsp; vscode SSH 인스턴스 연결 방법에 대해서 알아보자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;Lightsail 인스턴스 관리&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생성한 인스턴스 플랜 관리 페이지로 이동하면, [Connect] 탭 하단에 '계정페이지' 라는 링크로 이동하자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1562&quot; data-origin-height=&quot;1414&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bSxh5P/btrfFF2XQLS/gvFQoOqx1PdAgfGFHRs1g0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bSxh5P/btrfFF2XQLS/gvFQoOqx1PdAgfGFHRs1g0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bSxh5P/btrfFF2XQLS/gvFQoOqx1PdAgfGFHRs1g0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbSxh5P%2FbtrfFF2XQLS%2FgvFQoOqx1PdAgfGFHRs1g0%2Fimg.png&quot; data-origin-width=&quot;1562&quot; data-origin-height=&quot;1414&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;SSH키 다운로드&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SSH키 탭의 기본키를 다운로드 한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1202&quot; data-origin-height=&quot;750&quot; width=&quot;609&quot; height=&quot;380&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d9QIV6/btrfJVwZrBw/Fa1iDgKcZZJXiUtwKqNK31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d9QIV6/btrfJVwZrBw/Fa1iDgKcZZJXiUtwKqNK31/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d9QIV6/btrfJVwZrBw/Fa1iDgKcZZJXiUtwKqNK31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd9QIV6%2FbtrfJVwZrBw%2FFa1iDgKcZZJXiUtwKqNK31%2Fimg.png&quot; data-origin-width=&quot;1202&quot; data-origin-height=&quot;750&quot; width=&quot;609&quot; height=&quot;380&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;SSH 접속&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다운로드 받은 파일을 다음과 같은 명령어를 통해 SSH 접속할 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1632404149683&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ssh -i LightsailDefaultKey-ap-northeast-2.pem [username]@[ 고정IP ]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* username 인스턴스의 사용자 이름으로 변경하여 접속 가능하다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1444&quot; data-origin-height=&quot;538&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kWaDb/btrfKBS0QpX/RkXmeTQI9upsh87Dmhktm0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kWaDb/btrfKBS0QpX/RkXmeTQI9upsh87Dmhktm0/img.png&quot; data-alt=&quot;*출처-라이트세일- SSH Username 지정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kWaDb/btrfKBS0QpX/RkXmeTQI9upsh87Dmhktm0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkWaDb%2FbtrfKBS0QpX%2FRkXmeTQI9upsh87Dmhktm0%2Fimg.png&quot; data-origin-width=&quot;1444&quot; data-origin-height=&quot;538&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;*출처-라이트세일- SSH Username 지정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;vscode config 설정&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;.ssh/config 를 다음과 같이 선언하여 활용하면 된다.&lt;/p&gt;
&lt;pre id=&quot;code_1632404161365&quot; class=&quot;shell&quot; style=&quot;margin: 20px auto 0px; display: block; overflow: auto; padding: 20px; color: #383a42; background: #f8f8f8; font-size: 14px; font-family: 'SF Mono', Menlo, Consolas, Monaco, monospace; border: 1px solid #ebebeb; line-height: 1.71; cursor: default; z-index: 1;&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Host [호스트 네임 선언]
  HostName [IP]
  User [username]
  IdentityFile [절대경로]/LightsailDefaultKey-ap-northeast-2.pem
  
 예시&amp;gt;
 Host 1.1.1.1::LightSail
  HostName 1.1.1.1
  User centos
  IdentityFile /Users/graycha/aws/LightsailDefaultKey-ap-northeast-2.pem&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 참고&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS 터미널에서&amp;nbsp;SSH를&amp;nbsp;사용하여&amp;nbsp;Linux&amp;nbsp;또는&amp;nbsp;Unix&amp;nbsp;인스턴스에&amp;nbsp;연결 &lt;a href=&quot;https://lightsail.aws.amazon.com/ls/docs/ko_kr/articles/amazon-lightsail-ssh-using-terminal#terminal-ssh-confirm-key-pair&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[바로가기]&lt;/a&gt;&lt;/p&gt;</description>
      <category>프로그래밍/AWS</category>
      <category>라이트세일 ssh 연결</category>
      <category>라이트세일 vscode</category>
      <category>라이트세일 터미널 연결</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/99</guid>
      <comments>https://graycha.tistory.com/99#entry99comment</comments>
      <pubDate>Thu, 23 Sep 2021 22:40:38 +0900</pubDate>
    </item>
    <item>
      <title>Laravel Error: Please provide a valid cache path 에러 해결 방법</title>
      <link>https://graycha.tistory.com/210</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Laravel 프로젝트에서 다음과 같은 명령어를 실행했을때, cache path 오류가 발생하였다면 storage 디렉토리 구조를 확인하여 해결 가능하다.&lt;/p&gt;
&lt;pre id=&quot;code_1633181296446&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;php artisan ~  
composer install 
composer update&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;storage 디렉토리 구조&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;storage 디렉토리 구조를 아래와 같이 설정되어 있어야 한다. cache path 오류가 발생했다면, 필요한 디렉토리가 생성되어있지 않은것이기 때문에 임의로 생성하여 구조를 맞춰주면 해결된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;218&quot; data-origin-height=&quot;293&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9UFnA/btrfs60qdZE/7tTJ4IbMJtjtSgKPplvzbk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9UFnA/btrfs60qdZE/7tTJ4IbMJtjtSgKPplvzbk/img.png&quot; data-alt=&quot;laravel storage 디렉토리구조&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9UFnA/btrfs60qdZE/7tTJ4IbMJtjtSgKPplvzbk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9UFnA%2Fbtrfs60qdZE%2F7tTJ4IbMJtjtSgKPplvzbk%2Fimg.png&quot; data-origin-width=&quot;218&quot; data-origin-height=&quot;293&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;laravel storage 디렉토리구조&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>프로그래밍/PHP</category>
      <category>cache path 오류</category>
      <category>laravel storage</category>
      <category>storage 디렉토리 구조</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/210</guid>
      <comments>https://graycha.tistory.com/210#entry210comment</comments>
      <pubDate>Thu, 23 Sep 2021 13:10:26 +0900</pubDate>
    </item>
    <item>
      <title>php  mongo-php-driver  설치 및 모듈 설정 방법</title>
      <link>https://graycha.tistory.com/209</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;php 프로젝트에서 mongo db 를 사용해야할 경우, mongo-php-driver 를 설치하여 사용할 수 있다. mongo-php-driver 깃헙을 통한 설치 방법과 php 모듈 설정 방법에 대해서 알아보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;Composer MongoDB&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1632365727664&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;gt; composer require jenssegers/mongodb:&quot;^3.7&quot;
-- pecl 문제로 소스설치 진행으로 설치. php mongodb extension.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;git clone&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1632365740431&quot; class=&quot;shell&quot; style=&quot;margin: 20px auto 0px; display: block; overflow: auto; padding: 20px; color: #383a42; background: #f8f8f8; font-size: 14px; font-family: 'SF Mono', Menlo, Consolas, Monaco, monospace; border: 1px solid #ebebeb; line-height: 1.71; cursor: default; z-index: 1;&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;gt; git clone https://github.com/mongodb/mongo-php-driver.git

&amp;gt; cd mongo-php-driver

&amp;gt; git submodule update --init

&amp;gt; phpize

&amp;gt; ./configure

&amp;gt; make all

&amp;gt; make install&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;php 모듈 설정&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;경로 : /etc/php.d/&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일생성 : mongodb.ini&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1632365922370&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;파일명 : 20-mongodb.ini 

; Enable mongodb extension module
extension=mongodb.so&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;php 모듈 확인&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;명령어 : php -m&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리스트 내역에 ' mongodb ' 이 설정되었는지 확인한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vuGiF/btrgAKWuErf/BcAlizejSlINfkvgZKgOIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vuGiF/btrgAKWuErf/BcAlizejSlINfkvgZKgOIK/img.png&quot; data-origin-width=&quot;320&quot; data-origin-height=&quot;255&quot; style=&quot;width: 42.7485%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vuGiF/btrgAKWuErf/BcAlizejSlINfkvgZKgOIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvuGiF%2FbtrgAKWuErf%2FBcAlizejSlINfkvgZKgOIK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;320&quot; height=&quot;255&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lka16/btrgHE7JJJ8/lefqBPVP2uUoBEGiCDxZH0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lka16/btrgHE7JJJ8/lefqBPVP2uUoBEGiCDxZH0/img.png&quot; data-origin-width=&quot;354&quot; data-origin-height=&quot;215&quot; width=&quot;321&quot; height=&quot;195&quot; style=&quot;width: 56.0887%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lka16/btrgHE7JJJ8/lefqBPVP2uUoBEGiCDxZH0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Flka16%2FbtrgHE7JJJ8%2FlefqBPVP2uUoBEGiCDxZH0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;354&quot; height=&quot;215&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>프로그래밍/PHP</category>
      <category>mongo-php-driver</category>
      <category>php mongo</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/209</guid>
      <comments>https://graycha.tistory.com/209#entry209comment</comments>
      <pubDate>Thu, 23 Sep 2021 12:02:11 +0900</pubDate>
    </item>
    <item>
      <title>Centos Docker config.json 경로 및 디렉토리 구조</title>
      <link>https://graycha.tistory.com/208</link>
      <description>&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;Docker Config.json 경로&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Centos 기준 Docker config.json 경로 및 디렉토리 구조는 아래와 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Containers 디렉토리를 보면, 생성된 CONTAINER ID별로 디렉토리가 생성되며, 하위에 Container에 설정된 config.json&amp;nbsp; 파일을 확인할 수 있다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;config.json 경로&amp;nbsp;&lt;br /&gt;/var/lib/docker/containers/[CONTAINER ID]/config.json&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;339&quot; data-origin-height=&quot;622&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XpdpU/btrfot2vm2B/vpXe69wBdRwqV7688cyKnK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XpdpU/btrfot2vm2B/vpXe69wBdRwqV7688cyKnK/img.png&quot; data-alt=&quot;Centos Docker 디렉토리 구조 및 config.json 경로&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XpdpU/btrfot2vm2B/vpXe69wBdRwqV7688cyKnK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXpdpU%2Fbtrfot2vm2B%2FvpXe69wBdRwqV7688cyKnK%2Fimg.png&quot; data-origin-width=&quot;339&quot; data-origin-height=&quot;622&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Centos Docker 디렉토리 구조 및 config.json 경로&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;Docker Config.json 수정&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프록시 서버 운영을 위해 이미 사용중인&amp;nbsp; CONTAINER&amp;nbsp; 의 환경변수를 추가해야 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 원본 config.json 파일을 백업한 후, 환경변수를 수정하여 CONTAINER 를 구동하여 테스트를 진행하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Docker Container 중지&lt;br /&gt;&amp;gt; docker stop [CONTAINER&amp;nbsp;ID]&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Docker Config.json 백업&lt;br /&gt;&amp;gt; cp /var/lib/docker/containers/[CONTAINER ID]/config.v2.json /home/backup/&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Docker Config.json 수정&lt;br /&gt;&amp;gt; Env를 추가해야했고 ,다음과 같이 임의로 수정후 저장하였다.&lt;br /&gt;AS-IS&amp;nbsp; : &quot;Env&quot;:[&quot;TZ=Asia/Seoul&quot;,&quot;P&amp;nbsp;&lt;br /&gt;TO-BE :&amp;nbsp;&lt;b&gt;&lt;b&gt;&lt;b&gt;&quot;Env&quot;:[&quot;VIRTUALHOST=도메인명&quot;,&quot;TZ=Asia/Seoul&quot;,&quot;P&lt;br /&gt;&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;628&quot; data-origin-height=&quot;174&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VvYlc/btrfoR3abhk/nd4pUzmHGtBDQIaTDKR920/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VvYlc/btrfoR3abhk/nd4pUzmHGtBDQIaTDKR920/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VvYlc/btrfoR3abhk/nd4pUzmHGtBDQIaTDKR920/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVvYlc%2FbtrfoR3abhk%2Fnd4pUzmHGtBDQIaTDKR920%2Fimg.png&quot; data-origin-width=&quot;628&quot; data-origin-height=&quot;174&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;b&gt;&lt;b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Docker Container 재시작&lt;br /&gt;&amp;gt; docker ps -a&amp;nbsp; // [CONTAINER ID] 확인&lt;br /&gt;&amp;gt; docker start [CONTAINER ID]&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Docker Inspect 로 확인&lt;br /&gt;&amp;gt; docker inspect [CONTAINER ID]&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;컨테이너를 재시작할때, config.json 파일을 생성 시점 파일로 덮어 써진다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&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;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 참고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/moby/moby/issues/8838&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/moby/moby/issues/8838&lt;/a&gt;&lt;/p&gt;</description>
      <category>프로그래밍/Docker</category>
      <category>Centos Docker config.json</category>
      <category>Docker 경로</category>
      <category>Docker 디렉토리 구조</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/208</guid>
      <comments>https://graycha.tistory.com/208#entry208comment</comments>
      <pubDate>Sun, 19 Sep 2021 00:59:05 +0900</pubDate>
    </item>
    <item>
      <title>mac hosts 경로 및 활용 방법</title>
      <link>https://graycha.tistory.com/207</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;로컬 개발을 진행하다 보면, hosts 설정을 변경해야하는 경우가 있다. 맥OS의 경우&amp;nbsp; /private/etc/ 경로에 hosts 파일이 있으며, 해당 파일설정을 통한 활용이 가능하다.&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;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;/private/etc/hosts&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;hosts 경로는 /private/etc/hosts 이며, 아래 명령어를 통해 수정하여 활용 가능합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1631966941952&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo nano /private/etc/hosts&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;557&quot; data-origin-height=&quot;256&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wGAr2/btrfuLmAbTg/xAM5EqdfnyKWPZZKUMit80/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wGAr2/btrfuLmAbTg/xAM5EqdfnyKWPZZKUMit80/img.png&quot; data-alt=&quot;max&amp;amp;amp;nbsp;/private/etc/hosts&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wGAr2/btrfuLmAbTg/xAM5EqdfnyKWPZZKUMit80/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwGAr2%2FbtrfuLmAbTg%2FxAM5EqdfnyKWPZZKUMit80%2Fimg.png&quot; data-origin-width=&quot;557&quot; data-origin-height=&quot;256&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;max&amp;nbsp;/private/etc/hosts&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래와 같이 localhost 에 임의 도메인을 설정하여, 활용 가능합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;527&quot; data-origin-height=&quot;218&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cPx5zU/btrfnVydyHk/ZA4OWynM7qFGlIebkgHqkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cPx5zU/btrfnVydyHk/ZA4OWynM7qFGlIebkgHqkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cPx5zU/btrfnVydyHk/ZA4OWynM7qFGlIebkgHqkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcPx5zU%2FbtrfnVydyHk%2FZA4OWynM7qFGlIebkgHqkK%2Fimg.png&quot; data-origin-width=&quot;527&quot; data-origin-height=&quot;218&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>프로그래밍/ETC</category>
      <category>hosts 설정</category>
      <category>MAC</category>
      <category>mac hosts 경로</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/207</guid>
      <comments>https://graycha.tistory.com/207#entry207comment</comments>
      <pubDate>Sat, 18 Sep 2021 21:13:14 +0900</pubDate>
    </item>
    <item>
      <title>ReactJS Tailwind css 사용 방법</title>
      <link>https://graycha.tistory.com/206</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;react 프로젝트에&amp;nbsp;Tailwind css 설치하는 방법과 설정 방법에 대해서 알아보자. 기본 디렉토리 구조 파악이 필요하며, CRACO와 PostCss 에 대한 기본 개념을 숙지하도록 하자.&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;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;디렉토리 구조 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ReactJS 프로젝트 기준으로 tailwind css 를 설치하면, 기본 디렉토리 구조는 아래와 같다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;221&quot; data-origin-height=&quot;283&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFCfNq/btre5OEQFn7/bhk06r8kpe226brpB1syz1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFCfNq/btre5OEQFn7/bhk06r8kpe226brpB1syz1/img.png&quot; data-alt=&quot;ReactJS 디렉토리 구조&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFCfNq/btre5OEQFn7/bhk06r8kpe226brpB1syz1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFCfNq%2Fbtre5OEQFn7%2Fbhk06r8kpe226brpB1syz1%2Fimg.png&quot; data-origin-width=&quot;221&quot; data-origin-height=&quot;283&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;ReactJS 디렉토리 구조&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;Tailwindcss설치&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1631668630591&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;npm install -D tailwindcss@npm:@tailwindcss/postcss7-compat postcss@^7 autoprefixer@^9&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;CRACO 설치&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1631668641404&quot; class=&quot;bash&quot; style=&quot;margin: 20px auto 0px; display: block; overflow: auto; padding: 20px; color: #383a42; background: #f8f8f8; font-size: 14px; font-family: 'SF Mono', Menlo, Consolas, Monaco, monospace; border: 1px solid #ebebeb; line-height: 1.71; cursor: default; z-index: 1;&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;npm install @craco/craco&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&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;Create React App Configuration Override 의 약어로 create-react-app을 쉽고 간편하게 설정하기 위해 구성한 레이어다. eject를 설정하지 않아도, root폴더 내 craco.config.js 파일을 추가하여 eslint, babel, postcss 등 쉽고 다양한 커스터마이징을 가능하게 할 수 있다.&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;Create-React-App은 PostCSS를 기본적으로 지원하지만, 재정의할 수 없기 때문에&amp;nbsp; Tailwind를 정상적으로 사용하려면, CRACO를 설치해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;795&quot; data-origin-height=&quot;362&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLAl5u/btre2exnPs5/ekgTHkqsB1h17sV6NteEs0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLAl5u/btre2exnPs5/ekgTHkqsB1h17sV6NteEs0/img.png&quot; data-alt=&quot;출처.CRACO-github&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLAl5u/btre2exnPs5/ekgTHkqsB1h17sV6NteEs0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLAl5u%2Fbtre2exnPs5%2FekgTHkqsB1h17sV6NteEs0%2Fimg.png&quot; data-origin-width=&quot;795&quot; data-origin-height=&quot;362&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출처.CRACO-github&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PostCSS는 JS플러그인을 사용하여 CSS를 변환시켜주는 툴로 대표적인 CSS 전처리기 중 하나이다. CSS 모듈화를 지원하며, BEM과 같은 CSS 방법론을 사용하지 않고 효율적인 스타일 관리를 가능하게 해준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;808&quot; data-origin-height=&quot;290&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bS6nuK/btre5vE8L6a/xknspYiQAi1001csVOXla0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bS6nuK/btre5vE8L6a/xknspYiQAi1001csVOXla0/img.png&quot; data-alt=&quot;출처.PostCSS-github&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bS6nuK/btre5vE8L6a/xknspYiQAi1001csVOXla0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbS6nuK%2Fbtre5vE8L6a%2FxknspYiQAi1001csVOXla0%2Fimg.png&quot; data-origin-width=&quot;808&quot; data-origin-height=&quot;290&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출처.PostCSS-github&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;package.json start / build / test 수정&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1631668659576&quot; class=&quot;javascript&quot; style=&quot;margin: 20px auto 0px; display: block; overflow: auto; padding: 20px; color: #383a42; background: #f8f8f8; font-size: 14px; font-family: 'SF Mono', Menlo, Consolas, Monaco, monospace; border: 1px solid #ebebeb; line-height: 1.71; cursor: default; z-index: 1;&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;npm install @craco/cra

{
  &quot;scripts&quot;: {
  - &quot;start&quot;: &quot;react-scripts start&quot;,
  - &quot;build&quot;: &quot;react-scripts build&quot;,
  - &quot;test&quot;: &quot;react-scripts test&quot;,
  + &quot;start&quot;: &quot;craco start&quot;,
  + &quot;build&quot;: &quot;craco build&quot;,
  + &quot;test&quot;: &quot;craco test&quot;,
  &quot;eject&quot;: &quot;react-scripts eject&quot;
  },
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;347&quot; data-origin-height=&quot;131&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/T4u98/btreYl45QXl/zaHFmIz2vn0fjktLEhVwSk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/T4u98/btreYl45QXl/zaHFmIz2vn0fjktLEhVwSk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/T4u98/btreYl45QXl/zaHFmIz2vn0fjktLEhVwSk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FT4u98%2FbtreYl45QXl%2FzaHFmIz2vn0fjktLEhVwSk%2Fimg.png&quot; data-origin-width=&quot;347&quot; data-origin-height=&quot;131&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;craco.config.js 설정&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1631668804790&quot; class=&quot;javascript&quot; style=&quot;margin: 20px auto 0px; display: block; overflow: auto; padding: 20px; color: #383a42; background: #f8f8f8; font-size: 14px; font-family: 'SF Mono', Menlo, Consolas, Monaco, monospace; border: 1px solid #ebebeb; line-height: 1.71; cursor: default; z-index: 1;&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// Top directory
module.exports = {
    style: {
        postcss: {
            plugins: [
                require('tailwindcss'),
                require('autoprefixer'),
            ],
        },
    },
}&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;tailwind.config.js 생성&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1631668845621&quot; class=&quot;javascript&quot; style=&quot;margin: 20px auto 0px; display: block; overflow: auto; padding: 20px; color: #383a42; background: #f8f8f8; font-size: 14px; font-family: 'SF Mono', Menlo, Consolas, Monaco, monospace; border: 1px solid #ebebeb; line-height: 1.71; cursor: default; z-index: 1;&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;npx tailwindcss-cli@latest init&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;tailwind.config.js 설정&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1631668878256&quot; class=&quot;javascript&quot; style=&quot;margin: 20px auto 0px; display: block; overflow: auto; padding: 20px; color: #383a42; background: #f8f8f8; font-size: 14px; font-family: 'SF Mono', Menlo, Consolas, Monaco, monospace; border: 1px solid #ebebeb; line-height: 1.71; cursor: default; z-index: 1;&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;module.exports = {
  purge: ['./src/**/*.{js,jsx,ts,tsx}', './public/index.html'],
  darkMode: false, // or 'media' or 'class'
  theme: {
    extend: {},
    theme: {
      minWidth: {
        '0': '0',
        '1/4': '25%',
        '1/2': '50%',
        '3/4': '75%',
        'full': '100%',
      }
    },
  },
  variants: {
    extend: {
      backgroundColor: ['active'],
    },
  },
  plugins: [],
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;tailwind.config.js 설정&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1631668921311&quot; class=&quot;javascript&quot; style=&quot;margin: 20px auto 0px; display: block; overflow: auto; padding: 20px; color: #383a42; background: #f8f8f8; font-size: 14px; font-family: 'SF Mono', Menlo, Consolas, Monaco, monospace; border: 1px solid #ebebeb; line-height: 1.71; cursor: default; z-index: 1;&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// tailwindcss 프레임워크 기본 설정
@tailwind base;
@tailwind components;
@tailwind utilities;


// 커스터마이징 해야하는 스타일 선언
html {
    min-height:100%;
}
body {
    width: 100%;
    height: 100vh;
    margin: 0;
    padding: 0;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그래밍/React</category>
      <category>craco</category>
      <category>postcss</category>
      <category>tailwind react</category>
      <category>tailwindcss</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/206</guid>
      <comments>https://graycha.tistory.com/206#entry206comment</comments>
      <pubDate>Wed, 15 Sep 2021 11:57:29 +0900</pubDate>
    </item>
    <item>
      <title>ReactJS useState를 이용한 toggle 구현 방법</title>
      <link>https://graycha.tistory.com/205</link>
      <description>&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;font-size: 21px;&quot;&gt;&lt;b&gt;소스 코드&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;useState를 이용하여, toggle 기능을 쉽게 구현할 수 있으니 참고하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;핵심은 onClickGnb 호출 시, 이전 상태를 삼항연산자로 처리하면 쉽게 구현할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1631588930209&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const [gnbStatus, setGnbStatus] = useState(false);

const onClickGnb = (e) =&amp;gt; {
    setGnbStatus(prevStatus =&amp;gt; prevStatus ? false : true);
  };

const GnbMenu = () =&amp;gt; (
    &amp;lt;div id=&quot;gnbMenu&quot; class=&quot;pt-4 pb-8&quot;&amp;gt;
      &amp;lt;div class=&quot;flex flex-col w-full mx-auto px-4&quot;&amp;gt;
        &amp;lt;div class=&quot;flex flex-col space-y-2 text-gray-500&quot;&amp;gt;
          &amp;lt;a class=&quot;hover:underline menu-item-root&quot; href=&quot;/1&quot;&amp;gt;메뉴1&amp;lt;/a&amp;gt;
          &amp;lt;a class=&quot;hover:underline menu-item-root&quot; href=&quot;/2&quot;&amp;gt;메뉴2&amp;lt;/a&amp;gt;
          &amp;lt;a class=&quot;hover:underline menu-item-root&quot; href=&quot;/3&quot;&amp;gt;메뉴3&amp;lt;/a&amp;gt;
        &amp;lt;/div&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  );
  
  
  ... 생략 ...
  
  
  &amp;lt;header&amp;gt;
  &amp;lt;div className=&quot;inline-block absolute py-1 right-2 cursor-pointer&quot; onClick={onClickGnb}&amp;gt;
  	&amp;lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; class=&quot;feather feather-menu&quot;&amp;gt;&amp;lt;line x1=&quot;3&quot; y1=&quot;12&quot; x2=&quot;21&quot; y2=&quot;12&quot;&amp;gt;&amp;lt;/line&amp;gt;&amp;lt;line x1=&quot;3&quot; y1=&quot;6&quot; x2=&quot;21&quot; y2=&quot;6&quot;&amp;gt;&amp;lt;/line&amp;gt;&amp;lt;line x1=&quot;3&quot; y1=&quot;18&quot; x2=&quot;21&quot; y2=&quot;18&quot;&amp;gt;&amp;lt;/line&amp;gt;&amp;lt;/svg&amp;gt;
  &amp;lt;/div&amp;gt;
  &amp;lt;/header&amp;gt;

{/* Gnb Menu */}
{ gnbStatus ? &amp;lt;GnbMenu /&amp;gt; : null}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;출력 결과&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;gnb 버튼을 클릭하여 정상적으로 작동하는지 체크해보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;662&quot; data-origin-height=&quot;39&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/k9mAG/btre2faJHdp/Vebs6ukcq6NxwK5UKhviCk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/k9mAG/btre2faJHdp/Vebs6ukcq6NxwK5UKhviCk/img.png&quot; data-alt=&quot;gnb - 클릭 전&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/k9mAG/btre2faJHdp/Vebs6ukcq6NxwK5UKhviCk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fk9mAG%2Fbtre2faJHdp%2FVebs6ukcq6NxwK5UKhviCk%2Fimg.png&quot; data-origin-width=&quot;662&quot; data-origin-height=&quot;39&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;gnb - 클릭 전&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;676&quot; data-origin-height=&quot;174&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/s1mi2/btre2e3U2cc/X9OlVxmhxLfkQGH1bN8kw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/s1mi2/btre2e3U2cc/X9OlVxmhxLfkQGH1bN8kw1/img.png&quot; data-alt=&quot;gnb - 클릭 후&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/s1mi2/btre2e3U2cc/X9OlVxmhxLfkQGH1bN8kw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fs1mi2%2Fbtre2e3U2cc%2FX9OlVxmhxLfkQGH1bN8kw1%2Fimg.png&quot; data-origin-width=&quot;676&quot; data-origin-height=&quot;174&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;gnb - 클릭 후&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그래밍/React</category>
      <category>react gnb 구현</category>
      <category>react toggle</category>
      <category>reactjs 토글</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/205</guid>
      <comments>https://graycha.tistory.com/205#entry205comment</comments>
      <pubDate>Tue, 14 Sep 2021 12:16:53 +0900</pubDate>
    </item>
    <item>
      <title>갤러시 워치4 40mm 강화유리 필름 및 케이스 사용후기</title>
      <link>https://graycha.tistory.com/204</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;갤럭시 워치4 구매했다면, 강화유리 필름과 케이스는 필수로 구입해야 한다. 시계는 외부로 돌출되어 있기 때문에 의도치 않은 외부 충돌이 많이 발생한다. 디스플레이는 소중하기 때문에 필름 구입을 아까워하지 말고, 꼭 구입해서 부착하자!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;제품 살펴보기&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제품은&amp;nbsp;40mm 강화유리 필름 2장과 워치4 전용 투명 케이스로 구성되어 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필름은 9H 경도의 강화유리로 날카로운 물체에 긁혀도 스크래치로부터 보호할 수 있고, 비산방지 처리가 되어있어 낙하 및 깨짐으로부터 안전하다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-filename=&quot;20210908_112744.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfYFcB/btreOs9UMx3/h4oKQVjbwbh6kFbaQhkSZK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfYFcB/btreOs9UMx3/h4oKQVjbwbh6kFbaQhkSZK/img.jpg&quot; data-alt=&quot;빅쏘.갤럭시 워치4 40mm 강화유리 필름&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfYFcB/btreOs9UMx3/h4oKQVjbwbh6kFbaQhkSZK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfYFcB%2FbtreOs9UMx3%2Fh4oKQVjbwbh6kFbaQhkSZK%2Fimg.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-filename=&quot;20210908_112744.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빅쏘.갤럭시 워치4 40mm 강화유리 필름&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&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;기본 구성품은 강화유리 필름 2장과 부착에 필요한 소모품이 들어있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-filename=&quot;20210908_112954.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJIHQs/btreKkSO8WQ/oE70SQ9fMsXuecQUYsyvT0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJIHQs/btreKkSO8WQ/oE70SQ9fMsXuecQUYsyvT0/img.jpg&quot; data-alt=&quot;빅쏘.갤럭시 워치4 40mm 강화유리 필름 구성품&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJIHQs/btreKkSO8WQ/oE70SQ9fMsXuecQUYsyvT0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJIHQs%2FbtreKkSO8WQ%2FoE70SQ9fMsXuecQUYsyvT0%2Fimg.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-filename=&quot;20210908_112954.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빅쏘.갤럭시 워치4 40mm 강화유리 필름 구성품&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;워치4 40mm 전용 투명 케이스다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-filename=&quot;20210908_113032.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GqssM/btreRSAhakr/D1GOgXVtL6oVfM2EEMaHNk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GqssM/btreRSAhakr/D1GOgXVtL6oVfM2EEMaHNk/img.jpg&quot; data-alt=&quot;빅쏘.갤럭시 워치4 40mm 전용 케이스&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GqssM/btreRSAhakr/D1GOgXVtL6oVfM2EEMaHNk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGqssM%2FbtreRSAhakr%2FD1GOgXVtL6oVfM2EEMaHNk%2Fimg.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-filename=&quot;20210908_113032.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빅쏘.갤럭시 워치4 40mm 전용 케이스&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스크래치 하나 없이 아주 깔끔하고 심플하다!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210908_113100.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/clOcCC/btreLKi0sll/PaQZe7PvhCKN2N9y6h7kO1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/clOcCC/btreLKi0sll/PaQZe7PvhCKN2N9y6h7kO1/img.jpg&quot; data-alt=&quot;빅쏘.갤럭시 워치4 40mm 전용 케이스&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/clOcCC/btreLKi0sll/PaQZe7PvhCKN2N9y6h7kO1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FclOcCC%2FbtreLKi0sll%2FPaQZe7PvhCKN2N9y6h7kO1%2Fimg.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210908_113100.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빅쏘.갤럭시 워치4 40mm 전용 케이스&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210908_113105.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kxYiN/btreMCLKgxH/BPcrkrpz2YRiIsbs9c1Zfk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kxYiN/btreMCLKgxH/BPcrkrpz2YRiIsbs9c1Zfk/img.jpg&quot; data-alt=&quot;빅쏘.갤럭시 워치4 40mm 전용 케이스&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kxYiN/btreMCLKgxH/BPcrkrpz2YRiIsbs9c1Zfk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkxYiN%2FbtreMCLKgxH%2FBPcrkrpz2YRiIsbs9c1Zfk%2Fimg.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210908_113105.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빅쏘.갤럭시 워치4 40mm 전용 케이스&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210908_113110.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/I0Aa6/btreTHL1MuP/oY2CIkYrNkyEKNrthyguPK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/I0Aa6/btreTHL1MuP/oY2CIkYrNkyEKNrthyguPK/img.jpg&quot; data-alt=&quot;빅쏘.갤럭시 워치4 40mm 전용 케이스&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/I0Aa6/btreTHL1MuP/oY2CIkYrNkyEKNrthyguPK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FI0Aa6%2FbtreTHL1MuP%2FoY2CIkYrNkyEKNrthyguPK%2Fimg.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210908_113110.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빅쏘.갤럭시 워치4 40mm 전용 케이스&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;워치4 40mm 필름 + 케이스 착용샷이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;케이스를 착용했을 때, 두터워 보일까 걱정했는데 아주 예쁘게 딱 맞아떨어진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고, 무엇보다 중요한 건 이제부터 워치4를 안전하게 보호해줄 수 있어졌다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210908_113131.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m7pi2/btrePVYkXc6/gOwt0Jk0KDEc9XAuYKJqb0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m7pi2/btrePVYkXc6/gOwt0Jk0KDEc9XAuYKJqb0/img.jpg&quot; data-alt=&quot;빅쏘.갤럭시 워치4 40mm 전용 케이스 착용&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m7pi2/btrePVYkXc6/gOwt0Jk0KDEc9XAuYKJqb0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm7pi2%2FbtrePVYkXc6%2FgOwt0Jk0KDEc9XAuYKJqb0%2Fimg.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210908_113131.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빅쏘.갤럭시 워치4 40mm 전용 케이스 착용&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;케이스를 부착해도 디자인적으로 마이너스한 부분이 전혀 없다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아주 만족스럽다 :D&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210908_113255.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cuWy2N/btreKJkw4gg/4yoJrnSKQQD89h0UnLYNx0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cuWy2N/btreKJkw4gg/4yoJrnSKQQD89h0UnLYNx0/img.jpg&quot; data-alt=&quot;빅쏘.갤럭시 워치4 40mm 전용 케이스 착용&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cuWy2N/btreKJkw4gg/4yoJrnSKQQD89h0UnLYNx0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcuWy2N%2FbtreKJkw4gg%2F4yoJrnSKQQD89h0UnLYNx0%2Fimg.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210908_113255.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빅쏘.갤럭시 워치4 40mm 전용 케이스 착용&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210908_113302.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uxB0Q/btreLJYEK4k/JVkZKypkUDGKqh6kYoJCRk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uxB0Q/btreLJYEK4k/JVkZKypkUDGKqh6kYoJCRk/img.jpg&quot; data-alt=&quot;빅쏘.갤럭시 워치4 40mm 전용 케이스 착용&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uxB0Q/btreLJYEK4k/JVkZKypkUDGKqh6kYoJCRk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuxB0Q%2FbtreLJYEK4k%2FJVkZKypkUDGKqh6kYoJCRk%2Fimg.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210908_113302.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빅쏘.갤럭시 워치4 40mm 전용 케이스 착용&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;가격&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가격은 생각보다 비싸다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필름 2장 12,400 / 케이스 5,900 / 배송비 2,500 - 쿠폰할인 2,500&amp;nbsp; = 18,300&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래도, &lt;span style=&quot;color: #006dd7;&quot;&gt;강화유리 필름 2장 이니깐 괜찮네!라고,&lt;/span&gt; 최면을 걸자..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결국 소모품이기 때문에 &lt;span style=&quot;color: #ef5369;&quot;&gt;15,000원 정도의 가격대가 적당하지 않을까 싶다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;530&quot; data-origin-height=&quot;237&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dU4sNt/btreQ837mHV/LSYF9nL2JP5x6ffJkkPmEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dU4sNt/btreQ837mHV/LSYF9nL2JP5x6ffJkkPmEk/img.png&quot; data-alt=&quot;갤럭시 워치4 40mm 필름 및 케이스 구매완료&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dU4sNt/btreQ837mHV/LSYF9nL2JP5x6ffJkkPmEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdU4sNt%2FbtreQ837mHV%2FLSYF9nL2JP5x6ffJkkPmEk%2Fimg.png&quot; data-origin-width=&quot;530&quot; data-origin-height=&quot;237&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;갤럭시 워치4 40mm 필름 및 케이스 구매완료&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;요약정리&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본적으로 디스플레이는 소중하기 때문에 &lt;span style=&quot;color: #ef5369;&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어차피 소모품이기 때문에 검색과 제품 비교에 많은 시간을 투자하고 싶지 않았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;리뷰 건수+구매건수+등록일+브랜드 등급을&lt;/b&gt;&lt;/span&gt; 기준으로 제품을 리스트업 한 후, 제품 상세정보와 제품 문의에 대한 피드백을 보고 최종 구매까지 약 10분 정도 소요되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1020&quot; data-origin-height=&quot;215&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8bCP1/btreKKDLGAd/60MCyYyXncAkC9D2AdKsHK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8bCP1/btreKKDLGAd/60MCyYyXncAkC9D2AdKsHK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8bCP1/btreKKDLGAd/60MCyYyXncAkC9D2AdKsHK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8bCP1%2FbtreKKDLGAd%2F60MCyYyXncAkC9D2AdKsHK%2Fimg.png&quot; data-origin-width=&quot;1020&quot; data-origin-height=&quot;215&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래는 제품 개봉 시 들어있던 &lt;span style=&quot;color: #006dd7;&quot;&gt;홍보+마케팅 목적의 엽서지만, 개인적으로 이런 소소한 정성이 좋다 :D&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무엇보다 '&lt;span style=&quot;color: #ef5369;&quot;&gt;언제든 빅쏘119 카카오톡 또는 고객센터로 연락 주면 100% 환불 또는 교환을 약속한다&lt;/span&gt;'는 문구가 소비자 입장에서 제품을 믿고 써도 되겠다는 신뢰도를 상승시키는데 영향을 주었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210908_113631.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/T2v2B/btreLLIULcH/cEYVLjYSGlwAGr6OABa9t1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/T2v2B/btreLLIULcH/cEYVLjYSGlwAGr6OABa9t1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/T2v2B/btreLLIULcH/cEYVLjYSGlwAGr6OABa9t1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FT2v2B%2FbtreLLIULcH%2FcEYVLjYSGlwAGr6OABa9t1%2Fimg.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210908_113631.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>제품리뷰</category>
      <category>빅쏘</category>
      <category>워치4 40mm 케이스</category>
      <category>워치4 40mm 필름</category>
      <category>워치4 강화유리</category>
      <category>워치4 케이스</category>
      <category>워치4 필름</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/204</guid>
      <comments>https://graycha.tistory.com/204#entry204comment</comments>
      <pubDate>Sun, 12 Sep 2021 22:27:01 +0900</pubDate>
    </item>
    <item>
      <title>Docker 이미지 이름 재설정 방법</title>
      <link>https://graycha.tistory.com/203</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;docker 를 사용하다 보면 이지미 이름을 재설정 해야하는 경우가 있다. 이럴 경우 docker image 명령어를 통해 이름을 재할당하여 설정할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;docker 이미지 이름 재설정 방법&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;docker images 명령어를 수행했을때, 이름이 &amp;lt;none&amp;gt; 으로 설정되어 있을 경우&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래와 같은 방법을 통해 이름을 재할당 할 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1631273618427&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# docker images
REPOSITORY        TAG       IMAGE ID       CREATED         SIZE
&amp;lt;none&amp;gt;            &amp;lt;none&amp;gt;    d17a7cb8f4b2   5 months ago    1.19GB
certbot/certbot   latest    67cfe9e9c63f   6 months ago    95.5MB
centos            7         8652b9f0cb4c   10 months ago   204MB&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;docker image tag [IMAGE ID] [RENAME]:latest&lt;/p&gt;
&lt;pre id=&quot;code_1631273706847&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;docker image tag d17a7cb8f4b2 text_was:latest&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&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;docker images&amp;nbsp; 명령어를 통해 정상적으로 이름이 재설정된것을 확인할 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1631273773346&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# docker images
REPOSITORY           TAG       IMAGE ID       CREATED         SIZE
test_was  latest    d17a7cb8f4b2   5 months ago    1.19GB
certbot/certbot      latest    67cfe9e9c63f   6 months ago    95.5MB
centos               7         8652b9f0cb4c   10 months ago   204MB&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그래밍/Docker</category>
      <category>docker image 이름 재설정</category>
      <category>docker rename</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/203</guid>
      <comments>https://graycha.tistory.com/203#entry203comment</comments>
      <pubDate>Fri, 10 Sep 2021 20:36:34 +0900</pubDate>
    </item>
    <item>
      <title>Pro#02 블퍼 - 포스팅 도우미 서비스+키워드 v2.0 을 배포하며..</title>
      <link>https://graycha.tistory.com/202</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;지난 8월 22일 &lt;/span&gt;블로그 포스팅을 위한 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;정보검색과 이슈 정보 탐색을 목적으로&amp;nbsp; BLPER 서비스를 오픈했다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;오픈 이후 2주 정도 사용해보니 생각보다 만족스럽지 못했다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;가장 중요한 키워드에 대한 정보가 없었다. &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;검색량은 많으면서, 포스팅한 글이 상위 노출될 수 있는 키워드 정보를 얻어야 했다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;필요한건,&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;포스팅할 키워드의 검색량과 웹문서 보유량 정보였다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;1. 화면구성&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;- 메인&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;메인화면 구성은 v1.0과 동일하며, 검색창 우측으로 &lt;b&gt;검색이력(A)&lt;/b&gt;&amp;nbsp;기능이 추가되었다.&lt;/li&gt;
&lt;li&gt;모바일 화면 구성도 동일하게 적용된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;909&quot; data-origin-height=&quot;712&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bcJhcO/btreg2K7RHe/uwtSKtugQMG3RrgNzjzp41/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bcJhcO/btreg2K7RHe/uwtSKtugQMG3RrgNzjzp41/img.png&quot; data-alt=&quot;블퍼 v2.0.메인화면 - PC&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bcJhcO/btreg2K7RHe/uwtSKtugQMG3RrgNzjzp41/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbcJhcO%2Fbtreg2K7RHe%2FuwtSKtugQMG3RrgNzjzp41%2Fimg.png&quot; data-origin-width=&quot;909&quot; data-origin-height=&quot;712&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;블퍼 v2.0.메인화면 - PC&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;596&quot; data-origin-height=&quot;512&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PFK3A/btrelSHhfeK/vcq9g76KVIIw9Ep5EphfD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PFK3A/btrelSHhfeK/vcq9g76KVIIw9Ep5EphfD0/img.png&quot; data-alt=&quot;블퍼 v2.0.메인화면 - 모바일&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PFK3A/btrelSHhfeK/vcq9g76KVIIw9Ep5EphfD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPFK3A%2FbtrelSHhfeK%2Fvcq9g76KVIIw9Ep5EphfD0%2Fimg.png&quot; data-origin-width=&quot;596&quot; data-origin-height=&quot;512&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;블퍼 v2.0.메인화면 - 모바일&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;- 검색결과&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;b&gt;리포팅 탭 (B)&lt;br /&gt;&lt;/b&gt;&lt;span style=&quot;color: #666666;&quot;&gt;- 키워드 검색량&lt;/span&gt;&lt;br /&gt;검색한 키워드의 PC와 모바일의 월간 평균 검색량 정보를 보여 준다.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666;&quot;&gt;- 유형별 문서수&lt;/span&gt;&lt;br /&gt;검색한 키워드로 블로그, 카페, 웹에 등록된 문서수 정보를 보여 준다.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666;&quot;&gt;- 등급&lt;/span&gt;&lt;br /&gt;구간은 1등급 ~ 10등급이며, 등급이 낮을수록 검색량은 많지만, 문서수는 적은것을 의미한다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;유형별 문서 내역 탭 (C)&lt;br /&gt;&lt;/b&gt;- 키워드와 연관성 있는 블로그, 카페, 웹문서 정보를 리스트업하여 출력한다.&lt;br /&gt;- 우선순위는 다음과 같다&lt;br /&gt;&amp;nbsp; &amp;nbsp; 1) 다음 &amp;gt; 네이버&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; 2) 블로그 &amp;gt; 카페 &amp;gt; 웹문서&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;959&quot; data-origin-height=&quot;678&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dsv45f/btreh154ArN/PW4kW57exR8SHDKxaBnmmK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dsv45f/btreh154ArN/PW4kW57exR8SHDKxaBnmmK/img.png&quot; data-alt=&quot;블퍼 v2.0.화면구성 상세설명&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dsv45f/btreh154ArN/PW4kW57exR8SHDKxaBnmmK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdsv45f%2Fbtreh154ArN%2FPW4kW57exR8SHDKxaBnmmK%2Fimg.png&quot; data-origin-width=&quot;959&quot; data-origin-height=&quot;678&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;블퍼 v2.0.화면구성 상세설명&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;b&gt;검색이력 (A)&lt;br /&gt;&lt;/b&gt;- 검색한 키워드의 상세 이력정보를 확인할 수 있다.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;956&quot; data-origin-height=&quot;719&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cvK4mO/btrea1TTY3A/yWDsIasm6WKklamAsWfPKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cvK4mO/btrea1TTY3A/yWDsIasm6WKklamAsWfPKk/img.png&quot; data-alt=&quot;블퍼 v2.0.검색이력 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cvK4mO/btrea1TTY3A/yWDsIasm6WKklamAsWfPKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcvK4mO%2Fbtrea1TTY3A%2FyWDsIasm6WKklamAsWfPKk%2Fimg.png&quot; data-origin-width=&quot;956&quot; data-origin-height=&quot;719&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;블퍼 v2.0.검색이력 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;- 키워드 등급 매트릭스&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;키워드에 따른 월평균 조회수와 웹문서수 비율을 기준으로 1등급 ~ 10등급으로 구간을 분류하였다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;구간별 문서수와 조회수 기준은 포스팅하면서 수집한 핫 키워드와 콜드 키워드 정보를 바탕으로 설정해보았다&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;702&quot; data-origin-height=&quot;312&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkgGyJ/btreh2jAqhj/BoU1qCbOuHD36hF52KFLVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkgGyJ/btreh2jAqhj/BoU1qCbOuHD36hF52KFLVK/img.png&quot; data-alt=&quot;블퍼 v2.0.키워드 등급 매트릭스&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkgGyJ/btreh2jAqhj/BoU1qCbOuHD36hF52KFLVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkgGyJ%2Fbtreh2jAqhj%2FBoU1qCbOuHD36hF52KFLVK%2Fimg.png&quot; data-origin-width=&quot;702&quot; data-origin-height=&quot;312&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;블퍼 v2.0.키워드 등급 매트릭스&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;마치며&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;키워드와 관련된 훌륭한 서비스들이 정말 많이 있으며, &lt;/span&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&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;다만, 포스팅을 하다 보니 자연스럽게 키워드에 대해 고민하게 되면서, 키워드에 대한 이해와 내 입맛에 맞는 서비스 운영을 목표로 시작했다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;누군가 본 서비스를 이용한다면, 개선사항이나 아이디어를 댓글로 달아 주시면 더 재미있는 서비스로 발전시키도록 노력하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;감사합니다 :D&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;블퍼&amp;nbsp; &lt;a href=&quot;http://www.blper.kr&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[ 바로가기 ]&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;figure id=&quot;og_1632410148394&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Blper::블퍼 v3.2&quot; data-og-description=&quot;블퍼::블로그 포스팅 작성을 위한 도우미 서비스&quot; data-og-host=&quot;www.blper.kr&quot; data-og-source-url=&quot;http://www.blper.kr/&quot; data-og-url=&quot;http://www.blper.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/caht65/hyLHBfSnt1/1nmG8CNh34ppdqZk2oXgx0/img.png?width=461&amp;amp;height=232&amp;amp;face=0_0_461_232&quot;&gt;&lt;a href=&quot;http://www.blper.kr/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;http://www.blper.kr/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/caht65/hyLHBfSnt1/1nmG8CNh34ppdqZk2oXgx0/img.png?width=461&amp;amp;height=232&amp;amp;face=0_0_461_232');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Blper::블퍼 v3.2&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;블퍼::블로그 포스팅 작성을 위한 도우미 서비스&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.blper.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;&lt;i&gt;* 개인 프로젝트 관리를 목적으로 하며, 비상업적 용도로 제작 하였습니다.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래밍/Project</category>
      <category>blper</category>
      <category>네이버 검색광고</category>
      <category>네이버 키워드</category>
      <category>블퍼</category>
      <category>키워드 검색량</category>
      <category>키워드 등급</category>
      <category>키워드 매트릭스</category>
      <category>키워드 서비스</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/202</guid>
      <comments>https://graycha.tistory.com/202#entry202comment</comments>
      <pubDate>Tue, 7 Sep 2021 11:56:50 +0900</pubDate>
    </item>
    <item>
      <title>python 알고리즘 기본 문제 풀이</title>
      <link>https://graycha.tistory.com/201</link>
      <description>&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;1부터 n까지 숫자 합&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1630679125421&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# range(10)은 0부터 10 미만의 숫자를 포함하는 range 객체를 생성한다는 의미이다.
# 시작 숫자와 끝 숫자를 지정하려면 range(시작, 끝) 형태를 사용하는데, 이때 끝 숫자는 포함되지 않는다.
# range(1, 11)은 숫자 1부터 10까지(1 이상 11 미만)의 숫자를 데이터로 갖는 객체이다. 
def sum(a, b):
    result = 0
    for i in range(a, b+1):
        result = result+i
    return result

# 가우스 1~n 까지 합 공식
def sumFormula(n):
    return n*(n+1)//2

def sumSquared(a, b):
    result = 0
    for i in range(a, b+1):
        result = result+squared(i)
    return result

def squared(n):
    return n*n

print(f'O(n) : {sum(1, 10)}');
print();
print(f'O(1) : {sumFormula(10)}');
print();
print(f'O(n) : {sumSquared(1, 10)}');&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;동일한&amp;nbsp;결과값을&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;sum()&amp;nbsp;과&amp;nbsp;sumFormula()&amp;nbsp;함수를&amp;nbsp;살펴보면,&amp;nbsp;sum()&amp;nbsp;함수의&amp;nbsp;n&amp;nbsp;값이&amp;nbsp;클수록&amp;nbsp;반복해야하는&amp;nbsp;횟수는&amp;nbsp;n차시&amp;nbsp;만큼&amp;nbsp;증가한다.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;반면,&amp;nbsp;sumFormula()는&amp;nbsp;n&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;&lt;br /&gt;&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;O&amp;nbsp;로&amp;nbsp;표기하며,&amp;nbsp;빅오&amp;nbsp;표기법이라고&amp;nbsp;명명한다.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;-&amp;nbsp;O(n)&amp;nbsp;:&amp;nbsp;알고리즘을&amp;nbsp;통한&amp;nbsp;계산횟수가&amp;nbsp;입력된&amp;nbsp;n&amp;nbsp;값&amp;nbsp;만큼&amp;nbsp;증가한다.&lt;br /&gt;-&amp;nbsp;O(1)&amp;nbsp;:&amp;nbsp;알고리즘을&amp;nbsp;통한&amp;nbsp;계산횟수가&amp;nbsp;입력된&amp;nbsp;n&amp;nbsp;값과&amp;nbsp;상관없이&amp;nbsp;일정하다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;최대값 / 최소값 구하기&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1630679344064&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def search(type):
    list = [8, 1, 7, 4, 5]

    idx = 0
    num = list[0];

    if type == 'Max':
        for i in range(0, len(list)):
            if (list[i])&amp;gt;num:
                num = (list[i])
        
        return num
    elif type == 'Min':
        for i in range(0, len(list)):
            if (list[i])&amp;lt;num:
                num = (list[i])
        
        return num
            

print(f'Find Max O(n) : {search(&quot;Max&quot;)}')
print()
print(f'Find Min O(n) : {search(&quot;Min&quot;)}')&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;동일한 문자열 찾기&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1630679374618&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def find(array):
    count = 0
    n = len(array)
    result = set()

    for i in range(0, n-1):
        text = array[i]
        for j in range(i+1, n):
            if text == array[j]:
                result.add(array[j])

    return result

array = ['나무', '기차', '기차', '나무', '자동차', '비행기', '나무']
print(f'Find Same Text : {find(array)}')&lt;/code&gt;&lt;/pre&gt;</description>
      <category>프로그래밍/Python</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/201</guid>
      <comments>https://graycha.tistory.com/201#entry201comment</comments>
      <pubDate>Fri, 3 Sep 2021 23:30:24 +0900</pubDate>
    </item>
    <item>
      <title>React map 함수와 key 에 대해서 알아보자</title>
      <link>https://graycha.tistory.com/200</link>
      <description>&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;map( )&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;arr.map(callback(currentValue[, index[, array]])[, thisArg])&lt;br /&gt;- callback 새로운 배열 요소를 생성하는 함수.&lt;br /&gt;- currentValue 처리할 현재 요소.&lt;br /&gt;- index Optional 처리할 현재 요소의 인덱스.&lt;br /&gt;- array Optional map()을 호출한 배열.&lt;br /&gt;- thisArg Optional callback을 실행할 때 this로 사용되는 값.&lt;br /&gt;&lt;br /&gt;반환 값&lt;br /&gt;- 배열의 각 요소에 대해 실행한 callback의 결과를 모은 새로운 배열.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;map 함수를 이용하여 반복적으로 수행해야하는 컴포넌트를 렌더링 할 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1630591830812&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const Map = () =&amp;gt; {

    const menu = ['pizza', 'potato-chips', 'pasta']
    const menuList = menu.map(name =&amp;gt; &amp;lt;li&amp;gt;{name}&amp;lt;/li&amp;gt;);

    return (
        &amp;lt;ul&amp;gt;{menuList}&amp;lt;/ul&amp;gt;
    );
};&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;key&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데, 위와 같이 map 을 선언할 경우 ' &lt;span style=&quot;color: #ef5369;&quot;&gt;Warning: Each child in a list should have a unique &quot;key&quot; prop. &lt;/span&gt;' 이 발생된다.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;엘리먼트의 고유성을 유지하기 위해 key를 지정해야하며 아래와 같이 map 함수에 전달되는 콜백 함수 인자의 index를 이용해야 한다.&lt;/p&gt;
&lt;pre id=&quot;code_1630591903687&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const Map = () =&amp;gt; {

    const menu = ['pizza', 'potato-chips', 'pasta']

    // 엘리먼트의 고유성을 유지하기 위해 key를 지정해야하며 아래와 같이 map 함수에 전달되는 콜백 함수 인자의 index를 이용하자.
    const menuList = menu.map((name, idx) =&amp;gt; &amp;lt;li&amp;gt;{name}&amp;lt;/li&amp;gt;);

    return (
        &amp;lt;ul&amp;gt;{menuList}&amp;lt;/ul&amp;gt;
    );
};&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 참조&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Array.prototype.map() &lt;a href=&quot;https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/map&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[바로가기]&lt;/a&gt;&lt;/p&gt;</description>
      <category>프로그래밍/React</category>
      <category>map callback</category>
      <category>map index</category>
      <category>map()</category>
      <category>react key</category>
      <category>react map()</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/200</guid>
      <comments>https://graycha.tistory.com/200#entry200comment</comments>
      <pubDate>Thu, 2 Sep 2021 23:13:03 +0900</pubDate>
    </item>
    <item>
      <title>React 이벤트 처리에 대해서 알아보자</title>
      <link>https://graycha.tistory.com/199</link>
      <description>&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;이벤트&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이벤트는 카멜표기법으로 명명한다.&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이벤트는 DOM 요소에만 적용 가능하다.&lt;/p&gt;
&lt;pre id=&quot;code_1630589226756&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// DOM 적용 사례
&amp;lt;input onClick={this.props.onClick} /&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Component 에 자체적으로 설정할 수 없다.&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래를 예시를 보면, Test에 onClick 이라는 props를 전달한다는 의미다.&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;onClick 이벤트가 아님을 주의하자!&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1630589244668&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// DOM 적용 사례
&amp;lt;Test onClick={data} /&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;false를 반환해도 기본 동작을 막을 수 없으며, 반드시 preventDefault를 명시적으로 호출해야 한다.&lt;/p&gt;
&lt;pre id=&quot;code_1630589267742&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function returnFalse(e) {
    e.preventDefault();
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;이벤트 - 클래스형 컴포넌트&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바벨 transform-class-properties 문법으로 선언할 경우, constructor를 선언하는것 보다 간편하게 사용할 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1630589350175&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 파일 : PracEventClass.js

import React, { Component } from 'react';

class PracEventClass extends Component {

    // constructor(props) {
    //     super(props);
    // }

    state = {
        msg: ''
    }

    eventChange = (e) =&amp;gt; {
        this.setState({
            msg: e.target.value
        })
    }
    eventClick = (e) =&amp;gt; {
        this.setState({
            msg: ''
        });
    }

    render() {
        return (
            &amp;lt;div&amp;gt;
                React Event - Class
                &amp;lt;div&amp;gt;
                    &amp;lt;input
                        type='text'
                        name='msg'
                        value={this.state.msg}
                        onChange={this.eventChange}
                    /&amp;gt;
                    &amp;lt;hr /&amp;gt;
                    &amp;lt;button onClick={this.eventClick}
                    &amp;gt;Reset&amp;lt;/button&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
        );
    }
}

export default PracEventClass;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;이벤트 - 함수형 컴포넌트&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;useState() 에 객체를 넣어 좀 더 간결하게 표현 가능하다.&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;input 엘리먼트를 중복으로 제어해야할 때, 각 엘리먼트에 name 어트리뷰트를 추가하고 event.target.name 값을 통해 핸들러가 어떤 작업을 할 지 선택할 수 있게 해주면 훨씬 유용하게 활용할 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1630589336999&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 파일 : PracEventFunc.js

import React, { useState } from 'react';

const PracEventFunc = () =&amp;gt; {

	// useState에 객체를 넣어 사용 가능
    const [form, setForm] = useState({
        name: '',
        msg: ''
    });

    const { name, msg } = form;

    const onChange = (e) =&amp;gt; {
        const makeForm = {
            ...form,  // ES6는 spread syntax 배열에서 지원하여 쉽게 사용 가능하다!
            [e.target.name]: e.target.value
        };
        setForm(makeForm);
    };

    const onClick = () =&amp;gt; {
        setForm({
            name: '',
            msg: ''
        })
    }

    return (
        &amp;lt;div&amp;gt;
            React Event - Function
            &amp;lt;div&amp;gt;
                이름 : &amp;lt;input
                    type='text'
                    name='name'
                    value={name}
                    onChange={onChange}
                /&amp;gt;
                &amp;lt;br /&amp;gt;
                입력값 : &amp;lt;input
                    type='text'
                    name='msg'
                    value={msg}
                    onChange={onChange}
                /&amp;gt;
                &amp;lt;hr /&amp;gt;
                &amp;lt;button onClick={onClick}&amp;gt;Reset&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;
    );
};

export default PracEventFunc;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;*참고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;리액트&lt;/span&gt; &lt;span&gt;공식&lt;/span&gt; &lt;span&gt;사이트&lt;/span&gt;-&lt;span&gt;합성&lt;/span&gt; &lt;span&gt;이벤트&lt;/span&gt;(SyntheticEvent) &lt;a href=&quot;https://ko.reactjs.org/docs/events.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[바로가기]&lt;/a&gt;&lt;/p&gt;</description>
      <category>프로그래밍/React</category>
      <category>e.preventDefault</category>
      <category>react 이벤트 처리</category>
      <category>리액트 이벤트 함수형 컴포넌트</category>
      <category>리액트 합성 이벤트</category>
      <category>리앹그 이벤트 클래스형 컴포넌트</category>
      <category>바벨 transform-class-properties</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/199</guid>
      <comments>https://graycha.tistory.com/199#entry199comment</comments>
      <pubDate>Thu, 2 Sep 2021 22:32:24 +0900</pubDate>
    </item>
    <item>
      <title>컴퓨터 인터넷 속도 측정 방법과 100M 숨은 의미 알아보기</title>
      <link>https://graycha.tistory.com/198</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;인터넷 속도를 측정해야 할 상황이 있을 때 간단하게 웹사이트 접속만으로 속도를 측정할 수 있는 서비스가 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;fast.com &lt;a href=&quot;https://fast.com/ko&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[바로가기]&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #221f1f;&quot;&gt;Netflix에서 운영하고 있으며,&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;611&quot; data-origin-height=&quot;519&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AGpDW/btrdNYigUtY/qkGxjNh3UN7Q5K6nopI14K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AGpDW/btrdNYigUtY/qkGxjNh3UN7Q5K6nopI14K/img.png&quot; data-alt=&quot;출처.fast.com 속도측정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AGpDW/btrdNYigUtY/qkGxjNh3UN7Q5K6nopI14K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAGpDW%2FbtrdNYigUtY%2FqkGxjNh3UN7Q5K6nopI14K%2Fimg.png&quot; data-origin-width=&quot;611&quot; data-origin-height=&quot;519&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출처.fast.com 속도측정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;728&quot; data-origin-height=&quot;566&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cMdbcL/btrdNXDB0xa/mFbLOjfuKhQRdkvWUWhY4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cMdbcL/btrdNXDB0xa/mFbLOjfuKhQRdkvWUWhY4k/img.png&quot; data-alt=&quot;출처.fast.com 속도측정 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cMdbcL/btrdNXDB0xa/mFbLOjfuKhQRdkvWUWhY4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcMdbcL%2FbtrdNXDB0xa%2FmFbLOjfuKhQRdkvWUWhY4k%2Fimg.png&quot; data-origin-width=&quot;728&quot; data-origin-height=&quot;566&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출처.fast.com 속도측정 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;&lt;b&gt;benchbee.co.kr&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http:// http://beta.benchbee.co.kr &quot;&gt;[바로가기]&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;벤치비라는 국내기업에서 운영하고 있으며, 2000년부터 '인터넷 속도측정' 서비스를 제공하고 있다고 합니다.&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;550&quot; data-origin-height=&quot;509&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cfVDHI/btrdSRILZh8/2TM6S9khaF6gWQqXh1im4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cfVDHI/btrdSRILZh8/2TM6S9khaF6gWQqXh1im4k/img.png&quot; data-alt=&quot;출처.beta.benchbee.co.kr 속도측정 &quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cfVDHI/btrdSRILZh8/2TM6S9khaF6gWQqXh1im4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcfVDHI%2FbtrdSRILZh8%2F2TM6S9khaF6gWQqXh1im4k%2Fimg.png&quot; data-origin-width=&quot;550&quot; data-origin-height=&quot;509&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출처.beta.benchbee.co.kr 속도측정 &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;&lt;b&gt;속도 단위 알아보기&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;인터넷 속도를 측정하면, Kbps, Mbps 단위로 결과값을 반환하는데, 이는 초당 전송할 수 있는 데이터의 양을 의미합니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666;&quot;&gt;즉, 인터넷을 사용하여 어떤 정보를 요청하고 얼마나 빠르게 결과를 반환해주는지에 대한 단위라고 보시면 됩니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Kbps 는 초당 전송할 수 있는 킬로비트의 데이터 전송 속도입니다.&lt;/li&gt;
&lt;li&gt;Mbps 는 초당 전송할 수 있는 메가비트의 데이터 전송 속도입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;좀 더 살펴 보겠습니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;아래는 KT 인터넷 상품 소개 내용인데, &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;보기 쉬운 단위로&amp;nbsp; 상품을 소개합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;상품 타이틀을 '인터넷 최대 100M'라고 명시하기 때문에 '인터넷 속도가 100MB'라고 생각하지만, 서브 제목을 보면, &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&amp;nbsp;'최대 100 Mbps 속도'라고 되어 있습니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;701&quot; data-origin-height=&quot;135&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lCwJz/btrdOV6m50U/bpqNZD1aVkLSkyPHeQik21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lCwJz/btrdOV6m50U/bpqNZD1aVkLSkyPHeQik21/img.png&quot; data-alt=&quot;출처.KT인터넷 최대 100M&amp;amp;amp;nbsp;상품안내 &quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lCwJz/btrdOV6m50U/bpqNZD1aVkLSkyPHeQik21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlCwJz%2FbtrdOV6m50U%2FbpqNZD1aVkLSkyPHeQik21%2Fimg.png&quot; data-origin-width=&quot;701&quot; data-origin-height=&quot;135&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출처.KT인터넷 최대 100M&amp;nbsp;상품안내 &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;상품속 속도를 정확한 단위에 맞게 MB로&amp;nbsp;풀어보면 다음과 같습니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;1 Mbps = 0.125 MB/s&lt;/li&gt;
&lt;li&gt;100 Mbps = 12.5 MB/s&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;즉, 최대 12.5 MB를 전송할 수 있는 품질의 인터넷 상품이란 뜻입니다.&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;대략,&amp;nbsp; 1/10 정도로 계산하여 생각해도 좋습니다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>알아두기</category>
      <category>100m</category>
      <category>benchbee.co.kr</category>
      <category>Fast.com</category>
      <category>인터넷 속도 단위</category>
      <category>인터넷 속도 측정</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/198</guid>
      <comments>https://graycha.tistory.com/198#entry198comment</comments>
      <pubDate>Thu, 2 Sep 2021 13:10:32 +0900</pubDate>
    </item>
    <item>
      <title>국민지원금 대상자 확인 및 신청방법 요약</title>
      <link>https://graycha.tistory.com/197</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;7월부터 시작된 사회적 거리두기 4단계는 현재도 진행 중입니다. 확산세는 좀처럼 가라앉지 않으며, 방역수칙을 위반하는 사례가 전국적으로 발생하고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;힘들지만 각자의 위치에서 방역수칙을 준수하며 돌파구를 찾아야 하는 상황입니다. 코로나19의 장기화로 어려움을 겪고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정부는 &lt;span style=&quot;color: #666666;&quot;&gt;국민의 피와 땀으로 이룬 세금&lt;/span&gt;으로 국민을 위한 '&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;코로나 상생 국민지원금&lt;/b&gt;&lt;/span&gt;'이라는 타이틀로, 전 국민의 약 80% 이상에게 1인당 25만&amp;nbsp;원씩 지급하기로 결정하였습니다. 단, 지급 대상 기준이 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;국민지원금 지급액&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;1인 가구 25만 원&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;2인가구 50만 원&lt;/li&gt;
&lt;li&gt;3인가구 75만 원&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;4인가구 100만 원&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;5인가구 125만 원&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;국민지원금 대상자 기준&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;21년 6월 건보료를 비교하여 가구별 합산액이 선정기준 이하&lt;/span&gt;인 경우 지원 대상입니다.&lt;/li&gt;
&lt;li&gt;1인 가구와 맞벌이 가구별 특성을 고려하여, 특례를 적용합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;260&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/buChRa/btrdCGQjGxn/jmroJaUCDgY7GiSZKYiWvK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/buChRa/btrdCGQjGxn/jmroJaUCDgY7GiSZKYiWvK/img.png&quot; data-alt=&quot;출처.기재부 - 국민지원금 선정 기준표&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/buChRa/btrdCGQjGxn/jmroJaUCDgY7GiSZKYiWvK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuChRa%2FbtrdCGQjGxn%2FjmroJaUCDgY7GiSZKYiWvK%2Fimg.png&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;260&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출처.기재부 - 국민지원금 선정 기준표&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;국민지원금 대상자 조회&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기간 : &lt;span style=&quot;color: #006dd7;&quot;&gt;21.09.06(월) 09:00부터 ~ 21.10.29(금) 18:00까지&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;카드사 홈페이지&amp;middot;앱 / 콜센터 / 건강보험공단 홈페이지&amp;middot;앱 등을 통해 조회 가능합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;지원금 신청방법 및 일정&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;온라인, 오프라인, 찾아가는 신청 방법 이 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;시행 첫 주는 5부제로 운영&lt;/span&gt;되며, 출생년도 끝자리 기준으로 신청하면 됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;323&quot; data-origin-height=&quot;53&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/veW6q/btrdJ3Xsqfw/6C1KKN5T0gdRAa97SzRY51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/veW6q/btrdJ3Xsqfw/6C1KKN5T0gdRAa97SzRY51/img.png&quot; data-alt=&quot;국민지원금 신청 5부제 생년월일&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/veW6q/btrdJ3Xsqfw/6C1KKN5T0gdRAa97SzRY51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FveW6q%2FbtrdJ3Xsqfw%2F6C1KKN5T0gdRAa97SzRY51%2Fimg.png&quot; data-origin-width=&quot;323&quot; data-origin-height=&quot;53&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;국민지원금 신청 5부제 생년월일&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;신청방법 1. 온라인&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7; font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;기간 : 21.09.06(월) 09:00부터 ~ 21.10.29(금) 18:00까지&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;color: #666666;&quot;&gt;신용 및 체크카드 신청&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;카드사 홈페이지 및 앱&amp;nbsp; / 콜센터 ARS ( &lt;span style=&quot;color: #666666;&quot;&gt;단, 본인명의 카드만 가능 )&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;지급시기 : 신청일 다음날 충전되며, 충전 시 문자 통보됩니다.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;모바일 및 카드형 상품권 신청&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;지역사랑 상품권 홈페이지 및 앱&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;지급시기 : 신청일 다음날 충전되며, 충전 시 문자 통보됩니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;신청방법 2. 오프라인&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;기간 : 21.09.13(월) 09:00부터 ~ 21.10.29(금) 18:00까지&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;신용 및 체크카드 신청&lt;br /&gt;카드 연계 은행창구 방문&amp;nbsp;(&amp;nbsp;&lt;span style=&quot;color: #666666;&quot;&gt;단, 본인명의 카드만 가능 )&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;지급시기 : 신청일 다음날 충전&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333;&quot;&gt;선불카드&lt;br /&gt;주소지 관할 읍면동 주민센터 방문&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;지급시기 : 현장지급&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;신청방법 3. 찾아가는 신청&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;기간 : 21.09.13(월) 09:00부터 ~ 21.10.29(금) 18:00까지&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지자체에서 해당 주민 거주지로 방문하여 신청 접수를 하는데&lt;span style=&quot;color: #ef6f53;&quot;&gt; 고령자 및 장애인이 콜센터로 요청&lt;/span&gt;을&amp;nbsp; 해야 한다고 합니다.&lt;br /&gt;&lt;u&gt;&lt;span style=&quot;color: #666666;&quot;&gt;이런 부분은 실제로 이 범주 내에서도 소외되거나 정말 필요한 대상자에게 지급이 어려울 수 있을 것 같은 사각지대인 듯합니다.&lt;/span&gt; &lt;/u&gt;&lt;br /&gt;지자체별로 독거노인 및 장애인에 대한 선별 조사하여, 선제적으로 방문하는 것이 더 현실적일 것 같습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1133&quot; data-origin-height=&quot;668&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ERqO4/btrdHfdwWCc/jk8k3GG3zBhIawWrmx24O1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ERqO4/btrdHfdwWCc/jk8k3GG3zBhIawWrmx24O1/img.png&quot; data-alt=&quot;지원금 대상자별 신청일정 및 마감일정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ERqO4/btrdHfdwWCc/jk8k3GG3zBhIawWrmx24O1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FERqO4%2FbtrdHfdwWCc%2Fjk8k3GG3zBhIawWrmx24O1%2Fimg.png&quot; data-origin-width=&quot;1133&quot; data-origin-height=&quot;668&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;지원금 대상자별 신청일정 및 마감일정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;지원금 사용기간&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;기간 : 21.12.31(금)까지 사용해야 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;상담정보&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전담 콜센터를 운영하고 있기 때문에 정확한 정보 및 문의는 센터를 이용하는 것이 가장 정확합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;☎️ 1533-2021&lt;/p&gt;</description>
      <category>알아두기</category>
      <category>국민지원금 5부제</category>
      <category>국민지원금 대상자</category>
      <category>국민지원금 신청방법</category>
      <category>국민지원금 지급시기</category>
      <category>지원금 신청 일정</category>
      <category>코로나 상생 국민지원금</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/197</guid>
      <comments>https://graycha.tistory.com/197#entry197comment</comments>
      <pubDate>Wed, 1 Sep 2021 11:41:17 +0900</pubDate>
    </item>
    <item>
      <title>React 컴포넌트 / props / state 에 대해서 알아보자</title>
      <link>https://graycha.tistory.com/196</link>
      <description>&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;컴포넌트&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴포넌트는&amp;nbsp;프로그래밍적인&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;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;명명규칙&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴포넌트명은 항상 대문자로 시작해야 하고, props(속성) 임의 값을 전달받아 화면에 표시하는 React element를 반환한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;컴포넌트 선언&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 클래스형 컴포넌트&lt;/b&gt;&lt;br /&gt;state / 생명주기 활용 가하고, render()&amp;nbsp;함수를&amp;nbsp;반드시&amp;nbsp;선언해야&amp;nbsp;한다.&lt;/p&gt;
&lt;pre id=&quot;code_1630430807867&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import React, { Component } from 'react';

class App extends Component {
  render() {
    return (
      &amp;lt;div&amp;gt;
        
      &amp;lt;/div&amp;gt;
    );
  }
}

export default App;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;&lt;b&gt;2.&lt;/b&gt; 함수형 컴포넌트&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;state / 생명주기 활용 불가능했지만, Hooks 를 통해 가능해졌다.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1630430833584&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import React from 'react';

const App = () =&amp;gt; {
  return (
    &amp;lt;div&amp;gt;
      
    &amp;lt;/div&amp;gt;
  );
};

export default App;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;pros&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴포넌트 속성을 설정할때 사용하며, 입력값을 변경하지 않고, 항상 동일한 입력값에 대해 동일한 결과를 반환하는 순수함수 형태여야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;props 값을 지정하거나, 기본값을 미리 설정할 수 있고, ES6부터&amp;nbsp;비구조화할당&amp;nbsp;문법을&amp;nbsp;통해&amp;nbsp;간결하게&amp;nbsp;선언&amp;nbsp;가능하다.&lt;/p&gt;
&lt;pre id=&quot;code_1630430936428&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# src/App.js
import React from 'react';
import SubComponent from './SubComponent';

const App = () =&amp;gt; {
  // 상황1. SubComponent의 props 지정
  return (
    &amp;lt;div&amp;gt;
      &amp;lt;SubComponent name='홍길동' age='12' /&amp;gt;
    &amp;lt;/div&amp;gt;
  );

  // 상황2. SubComponent 만 선언
  return (
    &amp;lt;div&amp;gt;
      &amp;lt;SubComponent /&amp;gt;
    &amp;lt;/div&amp;gt;
  );
};

export default App; 
   
   
# src/SubComponent.js
import React from 'react';

// 상황1. SubComponent의 props 지정
const SubComponent = ({ name, age }) =&amp;gt; {
    return (
        &amp;lt;div&amp;gt;
            이름: {name} &amp;lt;br /&amp;gt;
            나이 : {age}
        &amp;lt;/div&amp;gt;
    );
};

// 상황2. 기본값 선언
SubComponent.defaultProps ={
   name: '테스트',
   age: 0
};


export default SubComponent;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;state&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴포넌트&amp;nbsp;내부에서&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;state&amp;nbsp;와&amp;nbsp;함수형&amp;nbsp;컴포넌트&amp;nbsp;Hooks&amp;nbsp;useState로&amp;nbsp;구분된다.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;state값을&amp;nbsp;갱신할때는&amp;nbsp;setState&amp;nbsp;또는&amp;nbsp;useState를&amp;nbsp;통해&amp;nbsp;전달받은&amp;nbsp;함수에서&amp;nbsp;&amp;nbsp;처리해야&amp;nbsp;한다.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;클래스형 컴포넌트 - state&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생성자를&amp;nbsp;선언&amp;nbsp;시,&amp;nbsp;super(props)는&amp;nbsp;반드시&amp;nbsp;선언해야&amp;nbsp;한다.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;생성자를&amp;nbsp;선언하지&amp;nbsp;않고&amp;nbsp;state&amp;nbsp;를&amp;nbsp;선언할&amp;nbsp;수&amp;nbsp;도&amp;nbsp;있다.&lt;/p&gt;
&lt;pre id=&quot;code_1630431072385&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import React, { Component } from 'react';

class SubComponent extends Component {

    // 상황1. 생성자 선언할 경우
    constructor(props) {
        super(props);

        this.state = {
            age: 0
        };
    }

    // 상황2. 생성자 선언하지 않을 경우
    state = {
        age: 0
    };

    render() {
        return (
            &amp;lt;div&amp;gt;

            &amp;lt;/div&amp;gt;
        );
    }
}

export default SubComponent;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;클래스형 컴포넌트 - setState&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴포넌트의&amp;nbsp;state&amp;nbsp;객체를&amp;nbsp;갱신하고,&amp;nbsp;컴포넌트는&amp;nbsp;리렌더링&amp;nbsp;된다.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;setState는&amp;nbsp;비동기적으로&amp;nbsp;작동하며&amp;nbsp;setState&amp;nbsp;이후,&amp;nbsp;this.state&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;/p&gt;
&lt;pre id=&quot;code_1630431094390&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// this.state 값에 반영되지 않는다.
incCount() {
  this.setState({count: this.state.count + 1});
}
```

이유는 React는 리렌더링하기 전까지 대기 상태이기 때문이다.
그렇기때문에, setState를 통해 state 값을 사용할 수 있게 보장하려면, setState로 객체 대신 함수를 사용하면 즉시 state 값을 보장 받을 수 있다.   
```javascript

incCount() {
  this.setState((state)=&amp;gt;{
   return {count: state.count + 1}
  });
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;함수형 컴포넌트 - Hooks::useState&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선,&amp;nbsp;함수형&amp;nbsp;컴포넌트에서는&amp;nbsp;state&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;Hooks&amp;nbsp;를&amp;nbsp;통해&amp;nbsp;useState&amp;nbsp;라는&amp;nbsp;함수를&amp;nbsp;이용하여&amp;nbsp;state를&amp;nbsp;사용할&amp;nbsp;수&amp;nbsp;있다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1630431136266&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// statea : 현재상태 , setState : state 갱신 함수
const [state, setState] = useState(initialState);

const [count, setCount] = useState(0);
   return (
       &amp;lt;div&amp;gt;
           &amp;lt;p&amp;gt;{count}&amp;lt;/p&amp;gt;
           &amp;lt;button onClick={() =&amp;gt; setCount(count - 1)}&amp;gt;-&amp;lt;/button&amp;gt;
           &amp;lt;button onClick={() =&amp;gt; setCount(count + 1)}&amp;gt;+&amp;lt;/button&amp;gt;
       &amp;lt;/div&amp;gt;
);&lt;/code&gt;&lt;/pre&gt;</description>
      <category>프로그래밍/React</category>
      <category>react props</category>
      <category>react state</category>
      <category>React 컴포넌트</category>
      <category>setState</category>
      <category>useState</category>
      <category>컴포넌트</category>
      <category>컴포넌트 비교</category>
      <category>클래스형 컴포넌트</category>
      <category>함수형 컴포넌트</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/196</guid>
      <comments>https://graycha.tistory.com/196#entry196comment</comments>
      <pubDate>Wed, 1 Sep 2021 02:35:09 +0900</pubDate>
    </item>
    <item>
      <title>React Developer Tools 크롬 확장프로그램 활용 방법</title>
      <link>https://graycha.tistory.com/195</link>
      <description>&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;React Developer Tools 크롬 확장 프로그램&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;크롬 확장 프로그램을 통해 React 작업 시, 개발자 도구를 통해 효율적인 작업을 처리할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;관련 프로그램 &lt;a href=&quot;https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=ko-kr&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;크롬 React Developer Tools [바로가기] &lt;/a&gt;을 설치합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;782&quot; data-origin-height=&quot;316&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GEKlJ/btrdlx57813/uWHvH7KxpQUADiHGZcD6dk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GEKlJ/btrdlx57813/uWHvH7KxpQUADiHGZcD6dk/img.png&quot; data-alt=&quot;&amp;amp;amp;nbsp; 크롬 React Developer Tools 확장프로그램&amp;amp;amp;nbsp;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GEKlJ/btrdlx57813/uWHvH7KxpQUADiHGZcD6dk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGEKlJ%2Fbtrdlx57813%2FuWHvH7KxpQUADiHGZcD6dk%2Fimg.png&quot; data-origin-width=&quot;782&quot; data-origin-height=&quot;316&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;nbsp; 크롬 React Developer Tools 확장프로그램&amp;nbsp;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;782&quot; data-origin-height=&quot;316&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/coktk6/btrdkawRv8H/95ELllUuKcuJDkiDECbM3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/coktk6/btrdkawRv8H/95ELllUuKcuJDkiDECbM3K/img.png&quot; data-alt=&quot;&amp;amp;amp;nbsp; 크롬 React Developer Tools 확장프로그램&amp;amp;amp;nbsp; 설치완료&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/coktk6/btrdkawRv8H/95ELllUuKcuJDkiDECbM3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcoktk6%2FbtrdkawRv8H%2F95ELllUuKcuJDkiDECbM3K%2Fimg.png&quot; data-origin-width=&quot;782&quot; data-origin-height=&quot;316&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;nbsp; 크롬 React Developer Tools 확장프로그램&amp;nbsp; 설치완료&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;React Developer Tools 구동&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;F12 키를 눌러 개발자 도구툴에서 'Componets'와 'Profiler' 를 확인합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1070&quot; data-origin-height=&quot;358&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c2ITAD/btrdf20vVla/5bgG5H3iJW2jKIF6tPSHAk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c2ITAD/btrdf20vVla/5bgG5H3iJW2jKIF6tPSHAk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c2ITAD/btrdf20vVla/5bgG5H3iJW2jKIF6tPSHAk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc2ITAD%2Fbtrdf20vVla%2F5bgG5H3iJW2jKIF6tPSHAk%2Fimg.png&quot; data-origin-width=&quot;1070&quot; data-origin-height=&quot;358&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조금 더 쾌적하게 작업 하실 수 있습니다 :D&lt;/p&gt;</description>
      <category>프로그래밍/React</category>
      <category>React Developer Tools</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/195</guid>
      <comments>https://graycha.tistory.com/195#entry195comment</comments>
      <pubDate>Fri, 27 Aug 2021 14:41:17 +0900</pubDate>
    </item>
    <item>
      <title>Linux - node 버전 업데이트 방법</title>
      <link>https://graycha.tistory.com/194</link>
      <description>&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;&amp;nbsp;현재 버전 확인&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1629991773094&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# node -v
v10.24.0&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;&amp;nbsp;npm 캐쉬 삭제&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1629991790535&quot; class=&quot;javascript&quot; style=&quot;margin: 20px auto 0px; display: block; overflow: auto; padding: 20px; color: #383a42; background: #f8f8f8; font-size: 14px; font-family: 'SF Mono', Menlo, Consolas, Monaco, monospace; border: 1px solid #ebebeb; line-height: 1.71; cursor: default; z-index: 1;&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# npm cache clean -f
npm WARN using --force I sure hope you know what you are doing.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;&amp;nbsp;node 버전을 관리하는 n 모듈 설치&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1629991822374&quot; class=&quot;javascript&quot; style=&quot;margin: 20px auto 0px; display: block; overflow: auto; padding: 20px; color: #383a42; background: #f8f8f8; font-size: 14px; font-family: 'SF Mono', Menlo, Consolas, Monaco, monospace; border: 1px solid #ebebeb; line-height: 1.71; cursor: default; z-index: 1;&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# npm install -g n
/usr/local/bin/n -&amp;gt; /usr/local/lib/node_modules/n/bin/n
+ n@7.3.1
updated 1 package in 2.018s&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;&amp;nbsp;n 모듈을 통해 최신 버전 설치&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1629991921724&quot; class=&quot;javascript&quot; style=&quot;margin: 20px auto 0px; display: block; overflow: auto; padding: 20px; color: #383a42; background: #f8f8f8; font-size: 14px; font-family: 'SF Mono', Menlo, Consolas, Monaco, monospace; border: 1px solid #ebebeb; line-height: 1.71; cursor: default; z-index: 1;&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# n latest
 installed : v16.8.0 (with npm 7.21.0)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;&amp;nbsp;업데이트 후에도 버전이 그대로일 경우, 링크를 재 설정해주자&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1629991953469&quot; class=&quot;javascript&quot; style=&quot;margin: 20px auto 0px; display: block; overflow: auto; padding: 20px; color: #383a42; background: #f8f8f8; font-size: 14px; font-family: 'SF Mono', Menlo, Consolas, Monaco, monospace; border: 1px solid #ebebeb; line-height: 1.71; cursor: default; z-index: 1;&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# ln -sf /usr/local/n/versions/node/16.8.0/bin/node /usr/bin/node
# node -v
v16.8.0&lt;/code&gt;&lt;/pre&gt;</description>
      <category>프로그래밍/Linux</category>
      <category>node 버전</category>
      <category>node 버전 업데이트</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/194</guid>
      <comments>https://graycha.tistory.com/194#entry194comment</comments>
      <pubDate>Fri, 27 Aug 2021 00:34:20 +0900</pubDate>
    </item>
    <item>
      <title>React 생명주기(라이프사이클) 메서드 알아보기</title>
      <link>https://graycha.tistory.com/193</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;모든 컴포넌트는 생명주기 메서드를 가지며, 크게 마운트(mount) / 업데이트(update) / 언마운트(unmount) 의 개념으로 구분됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 생명주기 도표를 참고하면서, 생명주기 메서드에 대해서 알아보겠습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1006&quot; data-origin-height=&quot;382&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bsCklW/btrdferkn5a/MHCF9gKW721kqhL3ykyiC0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bsCklW/btrdferkn5a/MHCF9gKW721kqhL3ykyiC0/img.png&quot; data-alt=&quot;컴포넌트 생명주기 - 기본&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bsCklW/btrdferkn5a/MHCF9gKW721kqhL3ykyiC0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbsCklW%2Fbtrdferkn5a%2FMHCF9gKW721kqhL3ykyiC0%2Fimg.png&quot; data-origin-width=&quot;1006&quot; data-origin-height=&quot;382&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;컴포넌트 생명주기 - 기본&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1009&quot; data-origin-height=&quot;582&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Hebu1/btrdfIeKn8t/QktXhS1qXqwqY6wtjWyaF0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Hebu1/btrdfIeKn8t/QktXhS1qXqwqY6wtjWyaF0/img.png&quot; data-alt=&quot;컴포넌트 생명주기 - 상세&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Hebu1/btrdfIeKn8t/QktXhS1qXqwqY6wtjWyaF0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHebu1%2FbtrdfIeKn8t%2FQktXhS1qXqwqY6wtjWyaF0%2Fimg.png&quot; data-origin-width=&quot;1009&quot; data-origin-height=&quot;582&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;컴포넌트 생명주기 - 상세&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;render( )&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클래스 컴포넌트 생성 시, 필수로 생성해야 하는 메서드로 호출될때마다 동일한 결과를 반환해야 하며, 브라우저와 직접적인 상호작용을 하지 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;constructor( )&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생성자로 컴포넌트 생성시 처음 실행됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단, 바인딩, state 초기화 작업이 없다면, 생성하지 않아도 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;( * 메서드 생성 시, super(props)를 반드시 정의 해줘야 합니다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;getDerivedStateFromProps( )&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴포넌트를 마운트할 때와 업데이트 할때 render 메서드 호출 직전에 호출됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;componentDidMount( )&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴포넌트 생성 후,&amp;nbsp; 마운트된 직후 호출되기 때문에, DOM 초기작업을 비롯한 비동기 작업을 처리해주면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;shouldComponentUpdate( )&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;props 또는 state 변경했을 때,렌더링 수행 여부를 결정하는 메서드입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과값은 true / false 값을 반환해야하며, 기본값은 true입니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;getSnapshotBeforeUpdate( )&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최종 렌더링된 결과 DOM 반영되었을 때 호출되는데, 실제 브라우저에 반영되기 직전에 호출된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;componentDidUpdate( )&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최초 렌더링 이후, 컴포넌트 갱신이 일어난 직후 호출됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴포넌트가 갱신이 된 직후이기 때문에, DOM 조작을 위해 활용하는게 좋습ㄴ디ㅏ.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;componentWillUnmount( )&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴포넌트 마운트가 해제되어, 제거할때 호출합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;componentDidCatch( )&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오류 발생 시, 호출합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;예제&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본 컴포넌트 작성 후, 콘솔창을 확인하면 다음과 같은 순서로 메서드가 호출되는것을 확인할 수 있다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;constructor( )&lt;/li&gt;
&lt;li&gt;render( )&lt;/li&gt;
&lt;li&gt;componentDidMount( )&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1629898754267&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import React, { Component } from 'react';

class ComponentLifeCycle extends Component {

    constructor(props){
        super(props);
        console.log('Constructor');
    }

    static getDerivedFromProps(nextProps, prevState){
        console.log('getDerivedFromProps()');
    }

    componentDidMount(){
        console.log('componentDidMount()');
    }
    
    shouldComponentUpdate(nextProps, prevState){
        console.log('shouldComponentUpdate()');
    }
    
    componentWillUnmount(){
        console.log('componentWillUnmount()');
    }
    
    getSnapshotBeforeUpdate(prevProps, prevSate){
        console.log('getSnapshotBeforeUpdate()');
    }

    componentDidUpdate(prevProps, prevState, snapshot){
        console.log('componentDidUpdate()');
    }

    render() {
        console.log('render()');

        return (
            &amp;lt;div&amp;gt;
                
            &amp;lt;/div&amp;gt;
        );
    }
}

export default ComponentLifeCycle;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 출처&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ko.reactjs.org - React.component &lt;a href=&quot;https://projects.wojtekmaj.pl/react-lifecycle-methods-diagram/&quot;&gt;[바로가기]&lt;/a&gt;&lt;/p&gt;</description>
      <category>프로그래밍/React</category>
      <category>react 라이프사이클</category>
      <category>react 생명주기</category>
      <category>컴포넌트는 생명주기</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/193</guid>
      <comments>https://graycha.tistory.com/193#entry193comment</comments>
      <pubDate>Thu, 26 Aug 2021 00:56:34 +0900</pubDate>
    </item>
    <item>
      <title>Script == 와 === 에 대해서 알아보자</title>
      <link>https://graycha.tistory.com/192</link>
      <description>&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;==&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Equal Operator / 변수값(value)을 기준으로 비교연산 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1629865952608&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;console.log(1==&quot;1&quot;);   		 	// true
console.log(0==&quot;0&quot;);   		 	// true
console.log(1==true);     	 	// true
console.log(0==false);   	  	// true
console.log(null==undefined);		// true&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;===&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Strict Equal Operator / 변수값(Value)과 자료형(Type)을 기준으로 비교연산 한다.&lt;/p&gt;
&lt;pre id=&quot;code_1629866017822&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;        console.log(1===&quot;1&quot;);    	// false
        console.log(0===&quot;0&quot;);    	// false
        console.log(1===true);      	// false
        console.log(0===false);      	// false
        console.log(null===undefined);  // false&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;변수를 비교할때는&amp;nbsp; '&lt;b&gt;===&lt;/b&gt;' Strict Equal Operator 연산자 사용을 권장한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 자세한 내용은 아래 ECMAScript 를 참고하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://262.ecma-international.org/11.0/#sec-strict-equality-comparison&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ECMAScript&lt;span style=&quot;color: #4d5156;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;is a programming language based on several technologies like JavaScript and JScript.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;</description>
      <category>프로그래밍/Script, jQuery</category>
      <category>==</category>
      <category>===</category>
      <category>ECMAScript</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/192</guid>
      <comments>https://graycha.tistory.com/192#entry192comment</comments>
      <pubDate>Wed, 25 Aug 2021 13:48:40 +0900</pubDate>
    </item>
    <item>
      <title>Script 배열 비구조화 할당</title>
      <link>https://graycha.tistory.com/191</link>
      <description>&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;비구조화 할당&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배열 안에 있는 값을 쉽고 간결하게 사용할 수 있는 문법 구조입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존 방식 보다 선언이 쉬우며, 가독성이 높습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1629807682366&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 기존 배열 문법 구조
const array = ['a', 'b', 'c'];
const one = array[0];
const two = array[1];
const three = array[2];

console.log(one);	// a
console.log(two);	// b
console.log(three);	// c



// 비구조화 문법 구조
const array = ['a', 'b', 'c'];
const [one, two, three] = array;

console.log(one);	// a
console.log(two);	// b
console.log(three); 	// c



// 기본값 지정 시, 해당 값을 반환하게 된다.
const [a=1, b=5, c=10] = [1, 2];    

console.log(a);	// 1
console.log(b);	// 2
console.log(c);	// 10



// 함수를 활용하여 사용 가능하다
function getArray(){
	return ['a', 'b', 'c']
}
const [one, two, three] = getArray();

console.log(one);	// a
console.log(two);	// b
console.log(three);	// c



// 나머지
const array = [1, 2, 3, 4, 5]
const [a, b, ...etc] = array;

console.log(a);		// 1
console.log(b);		// 2
console.log(etc);	// [3, 4, 5]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그래밍/Script, jQuery</category>
      <category>배열 비구조화 할당</category>
      <category>비구조화 할당</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/191</guid>
      <comments>https://graycha.tistory.com/191#entry191comment</comments>
      <pubDate>Tue, 24 Aug 2021 21:35:01 +0900</pubDate>
    </item>
    <item>
      <title>VScode - React 컴포넌트 코드 자동생성 확장프로그램 사용 방법</title>
      <link>https://graycha.tistory.com/190</link>
      <description>&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;&lt;span style=&quot;color: #616161;&quot;&gt;Reactjs code snippets&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;VS Code를 사용 중이라면, Reactjs code snippets 확장 프로그램을 통해 , 컴포넌트 생성을 쉽게 할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1387&quot; data-origin-height=&quot;614&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Qkugy/btrc3qMM9Dk/MxkOyRuBJXMJ16QvxHmvKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Qkugy/btrc3qMM9Dk/MxkOyRuBJXMJ16QvxHmvKk/img.png&quot; data-alt=&quot;vscode 확장프로그램 -&amp;amp;amp;nbsp;Reactjs code snippets&amp;amp;amp;nbsp;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Qkugy/btrc3qMM9Dk/MxkOyRuBJXMJ16QvxHmvKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQkugy%2Fbtrc3qMM9Dk%2FMxkOyRuBJXMJ16QvxHmvKk%2Fimg.png&quot; data-origin-width=&quot;1387&quot; data-origin-height=&quot;614&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;vscode 확장프로그램 -&amp;nbsp;Reactjs code snippets&amp;nbsp;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;rsc : 함수형 컴포넌트 코드 생성&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치 후, Component 파일 생성하여 에디터에&amp;nbsp; 'rsc(함수형 컴포넌트)'를 입력한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Component 파일명에 맞는 컴포넌트 코드가 자동으로 생성되는걸 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lC6Hf/btrcUjHTaQQ/Q4aSRiMGUWJNkN6XaxVKd0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lC6Hf/btrcUjHTaQQ/Q4aSRiMGUWJNkN6XaxVKd0/img.png&quot; data-origin-width=&quot;533&quot; data-origin-height=&quot;339&quot; style=&quot;width: 56.668%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lC6Hf/btrcUjHTaQQ/Q4aSRiMGUWJNkN6XaxVKd0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlC6Hf%2FbtrcUjHTaQQ%2FQ4aSRiMGUWJNkN6XaxVKd0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;533&quot; height=&quot;339&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/clPZtw/btrc7OlNkCw/zWgONU1SH7lznBDagmihXk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/clPZtw/btrc7OlNkCw/zWgONU1SH7lznBDagmihXk/img.png&quot; data-origin-width=&quot;351&quot; data-origin-height=&quot;300&quot; style=&quot;width: 42.1693%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/clPZtw/btrc7OlNkCw/zWgONU1SH7lznBDagmihXk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FclPZtw%2Fbtrc7OlNkCw%2FzWgONU1SH7lznBDagmihXk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;351&quot; height=&quot;300&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;vscode 확장프로그램 - rsc 함수형 컴포넌트 코드 생성&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;rcc : 클래스형 컴포넌트 코드 생성&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치 후, Component 파일 생성하여 에디터에&amp;nbsp; 'rcc(함수형 컴포넌트)'를 입력한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Component 파일명에 맞는 컴포넌트 코드가 자동으로 생성되는걸 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cHbSgL/btrc2o2LK4b/7OTndXkjScBASXskGW9xjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cHbSgL/btrc2o2LK4b/7OTndXkjScBASXskGW9xjK/img.png&quot; data-origin-width=&quot;482&quot; data-origin-height=&quot;292&quot; style=&quot;width: 56.2176%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cHbSgL/btrc2o2LK4b/7OTndXkjScBASXskGW9xjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcHbSgL%2Fbtrc2o2LK4b%2F7OTndXkjScBASXskGW9xjK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;482&quot; height=&quot;292&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zvAMg/btrcZtcIyeG/vPTcBeABf8fqgfXT8Bvqz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zvAMg/btrcZtcIyeG/vPTcBeABf8fqgfXT8Bvqz0/img.png&quot; data-origin-width=&quot;443&quot; data-origin-height=&quot;354&quot; style=&quot;width: 42.6196%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zvAMg/btrcZtcIyeG/vPTcBeABf8fqgfXT8Bvqz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzvAMg%2FbtrcZtcIyeG%2FvPTcBeABf8fqgfXT8Bvqz0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;443&quot; height=&quot;354&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;vscode 확장프로그램 - rcc 클래스형 컴포넌트 코드 생성&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>프로그래밍/React</category>
      <category>RCC</category>
      <category>Reactjs code snippets</category>
      <category>RSC</category>
      <category>VScode React 확장프로그램</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/190</guid>
      <comments>https://graycha.tistory.com/190#entry190comment</comments>
      <pubDate>Tue, 24 Aug 2021 14:22:12 +0900</pubDate>
    </item>
    <item>
      <title>Script Math.random - 난수 생성 / 랜덤 숫자 생성</title>
      <link>https://graycha.tistory.com/189</link>
      <description>&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;Math.random&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;0 ~ 1 사이의 랜덤한 숫자를 반환합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단, 1은 포함되지 않는 부동소수점의 수를 발생 시키기 때문에&amp;nbsp;정수형 데이터로 변환해야 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1629770617453&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Math.random();

// 함수 실행 시, 아래와 같은 결과값 반환
0.787910016396766
0.9811818120683229
0.018731720450270606
0.26159482631296616
0.4618645356440654
0.5720506552882538
0.8146460036266621&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;Math.floor&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력값을 내림한 가장 작은 정수값을 반환 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1629771417328&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Math.floor(-1.7) : -2
Math.floor(-1.5) : -2
Math.floor(-1.3) : -2
Math.floor(-1) : -1
Math.floor(null) : 0
Math.floor(0) : 0
Math.floor(1.0) : 1
Math.floor(1.3) : 1
Math.floor(1.5) : 1
Math.floor(1.7) : 1&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;Math.floor + &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;Math.random&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Math.floor() 함수와 Math.random() 함수를 이용하여, 원하는 구간별 난수를 발생시킬 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1629771169807&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 0 ~ 5
Math.floor(Math.random() * 6)
0
2
5

// 0 ~ 9
Math.floor(Math.random() * 10)
0
2
9

// 0 ~ 10
Math.floor(Math.random() * 11)
0
2
10

// 0 ~ 99
Math.floor(Math.random() * 100)
97
84
73

// 0 ~ 100
Math.floor(Math.random() * 101)
15
48
100&lt;/code&gt;&lt;/pre&gt;</description>
      <category>프로그래밍/Script, jQuery</category>
      <category>Math.floor</category>
      <category>Math.random</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/189</guid>
      <comments>https://graycha.tistory.com/189#entry189comment</comments>
      <pubDate>Tue, 24 Aug 2021 11:25:34 +0900</pubDate>
    </item>
    <item>
      <title>CSS :hover - 마우스 오버(mouseover) / 마우스 아웃(mouseout) 이벤트 처리</title>
      <link>https://graycha.tistory.com/188</link>
      <description>&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;Script - mouseover / mouseout&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대부분 script 를 이용하여, selector를 지정하여 mouseover / mouseout 이벤트를 구현 한다.&lt;/p&gt;
&lt;pre id=&quot;code_1629725359471&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// jquery - mouseover / mouseout 
$(&quot;.card&quot;).on({
   &quot;mouseover&quot;:function(){
     console.log(&quot;Mouse Over&quot;);
     $(this).css({'background-color':'red'});
   },
   &quot;mouseout&quot;:function(){
     console.log(&quot;Mouse Out&quot;);                
     $(this).css({'background-color':'white'});
   }
 });&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;836&quot; data-origin-height=&quot;194&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dVISkm/btrc13DKTwu/qMgzvQq8ISMG5AjYrZoN2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dVISkm/btrc13DKTwu/qMgzvQq8ISMG5AjYrZoN2K/img.png&quot; data-alt=&quot;jquery mouseover 이벤트&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dVISkm/btrc13DKTwu/qMgzvQq8ISMG5AjYrZoN2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdVISkm%2Fbtrc13DKTwu%2FqMgzvQq8ISMG5AjYrZoN2K%2Fimg.png&quot; data-origin-width=&quot;836&quot; data-origin-height=&quot;194&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;jquery mouseover 이벤트&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;836&quot; data-origin-height=&quot;204&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgB4G8/btrc125TpO4/b6xnu1cd4ZDPZykgqHpJM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgB4G8/btrc125TpO4/b6xnu1cd4ZDPZykgqHpJM0/img.png&quot; data-alt=&quot;jquery&amp;amp;amp;nbsp;mouseout 이벤트&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgB4G8/btrc125TpO4/b6xnu1cd4ZDPZykgqHpJM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgB4G8%2Fbtrc125TpO4%2Fb6xnu1cd4ZDPZykgqHpJM0%2Fimg.png&quot; data-origin-width=&quot;836&quot; data-origin-height=&quot;204&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;jquery&amp;nbsp;mouseout 이벤트&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;CSS&amp;nbsp; - :hover&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CSS :hover selector 를 이용하면,&lt;span&gt;&amp;nbsp;&lt;/span&gt;마우스 오버(mouseover) / 마우스 아웃(mouseout) 이벤트를 쉽게 구현할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단, 모든 elements 에 사용 가능하지만, links 에는 사용 불가하다.&lt;/p&gt;
&lt;pre id=&quot;code_1629725584398&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;.card:hover{ background-color: red; color: white; }&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;835&quot; data-origin-height=&quot;200&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dnIE5l/btrcNJ1om6g/0WzdKyjAxriYHcf18tzpM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dnIE5l/btrcNJ1om6g/0WzdKyjAxriYHcf18tzpM0/img.png&quot; data-alt=&quot;css :hover 이벤트&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dnIE5l/btrcNJ1om6g/0WzdKyjAxriYHcf18tzpM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdnIE5l%2FbtrcNJ1om6g%2F0WzdKyjAxriYHcf18tzpM0%2Fimg.png&quot; data-origin-width=&quot;835&quot; data-origin-height=&quot;200&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;css :hover 이벤트&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;# 전체소스&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1629726042710&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;link href=&quot;bootstrap.min.css&quot; rel=&quot;stylesheet&quot; crossorigin=&quot;anonymous&quot;&amp;gt;
&amp;lt;!-- Bootstrap CSS URl : https://getbootstrap.com/docs/5.1/dist/css/bootstrap.min.css --&amp;gt;
&amp;lt;style&amp;gt;
a:hover {
  background-color: rgb(209, 209, 58);
}

.card{
    cursor:pointer;
}

#css:hover{ background-color: red; color: white; }
   
&amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;

&amp;lt;div id=&quot;script&quot; class=&quot;card m-3&quot; style=&quot;width: 25rem;&quot;&amp;gt;
    &amp;lt;div class=&quot;card-body&quot;&amp;gt;
        &amp;lt;h5 class=&quot;card-title&quot;&amp;gt;Script Mouse Over / Mouse Out&amp;lt;/h5&amp;gt;
    &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;


&amp;lt;div id=&quot;css&quot; class=&quot;card m-3&quot; style=&quot;width: 25rem;&quot;&amp;gt;
    &amp;lt;div class=&quot;card-body&quot;&amp;gt;
        &amp;lt;h5 class=&quot;card-title&quot;&amp;gt;CSS Mouse Over / Mouse Out&amp;lt;/h5&amp;gt;
    &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;

&amp;lt;script src=&quot;https://code.jquery.com/jquery-3.2.1.slim.min.js&quot; crossorigin=&quot;anonymous&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    $(function(){
        
        // jquery - mouseover / mouseout 
        $(&quot;#script&quot;).on({
            &quot;mouseover&quot;:function(){
                console.log(&quot;Mouse Over&quot;);
                $(this).css({'background-color':'red'});
            },
            &quot;mouseout&quot;:function(){
                console.log(&quot;Mouse Out&quot;);                
                $(this).css({'background-color':'white'});
            }
        });

    })
&amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;</description>
      <category>프로그래밍/HTML, CSS</category>
      <category>:hover</category>
      <category>css hover</category>
      <category>mouseOut</category>
      <category>mouseOver</category>
      <category>마우스 오버</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/188</guid>
      <comments>https://graycha.tistory.com/188#entry188comment</comments>
      <pubDate>Mon, 23 Aug 2021 22:41:44 +0900</pubDate>
    </item>
    <item>
      <title>스마트 밴드 갤럭시 핏2 트래커 목적 실사용 후기</title>
      <link>https://graycha.tistory.com/187</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;손목에 착용하는 스마트 기기는 주로 트래커를 목적으로 사용한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫 번째, 스마트 기기는 &lt;span style=&quot;color: #006dd7;&quot;&gt;핏빗-알타&lt;/span&gt; 였고, 디자인이 가장 만족스러웠으며 트래커로써의 역할에 충실했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 번째, 스마트 기기는 &lt;span style=&quot;color: #1b711d;&quot;&gt;갤럭시 기어 S3 프런티어였는데,&lt;/span&gt; 스마트 워치에 가까워 다양한 기능을 제공했지만, 트래커 위주의 기능만 활성화시켜 사용하였다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 가지 스마트 기기를 사용해본 결과 나의 사용 패턴에 적합했던 기기는&amp;nbsp;트래커로써 역할에 충실했던&amp;nbsp;&lt;span style=&quot;color: #006dd7;&quot;&gt;핏빗-알타 &lt;/span&gt;였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;지만,&lt;/span&gt;&lt;span style=&quot;color: #ef5369;&quot;&gt; 두 기기 모두 만 2년이라는 시간이 지나는 시점부터 배터리 수명의 문제로 불편함이 발생&lt;/span&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;하는건 같았다.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;그래서, 아래 기준에 부합하는 제품 위주로 정보를 수집하여, &lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;갤럭시 핏2&lt;/b&gt;&lt;/span&gt; 를 구입하였다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;트래커 중심&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;배터리 수명&lt;/li&gt;
&lt;li&gt;15만원 이내&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;제품 살펴보기&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반가워 가성비 좋은 갤럭시 핏 2 :D&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210819_010318.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pTfuA/btrcVj7BAoL/okv1HXVHYgGrPh2UJZZrIK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pTfuA/btrcVj7BAoL/okv1HXVHYgGrPh2UJZZrIK/img.jpg&quot; data-alt=&quot;갤럭시 핏2&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pTfuA/btrcVj7BAoL/okv1HXVHYgGrPh2UJZZrIK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpTfuA%2FbtrcVj7BAoL%2Fokv1HXVHYgGrPh2UJZZrIK%2Fimg.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210819_010318.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;갤럭시 핏2&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제품은 본체 + 충전기 + 설명서의 기본 구성이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-filename=&quot;20210819_010402.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJrjzs/btrcXjsJfhz/inHkuhe9LDD47yJmFYxyP1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJrjzs/btrcXjsJfhz/inHkuhe9LDD47yJmFYxyP1/img.jpg&quot; data-alt=&quot;갤럭시 핏2 - 구성품&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJrjzs/btrcXjsJfhz/inHkuhe9LDD47yJmFYxyP1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJrjzs%2FbtrcXjsJfhz%2FinHkuhe9LDD47yJmFYxyP1%2Fimg.jpg&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-filename=&quot;20210819_010402.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;갤럭시 핏2 - 구성품&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;갤럭시 핏2 정면 모습이며, 심플하다!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210819_010437.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFzRal/btrcQfxV4PQ/UedmGs31msAoLEz6WJScm0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFzRal/btrcQfxV4PQ/UedmGs31msAoLEz6WJScm0/img.jpg&quot; data-alt=&quot;갤럭시 핏2 - 정면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFzRal/btrcQfxV4PQ/UedmGs31msAoLEz6WJScm0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFzRal%2FbtrcQfxV4PQ%2FUedmGs31msAoLEz6WJScm0%2Fimg.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210819_010437.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;갤럭시 핏2 - 정면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;갤럭시 핏2 후면 모습인데, 스트랩을 착용하는 방식이 불편하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 부분은 핏빗 제품이 훨씬 더 심플하고 사용자 편의를 고려하여 제작된게 느껴진다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210819_010443.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Rkc9n/btrcSscGcOR/yt0D34uXjWj2gX7W6CUeik/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Rkc9n/btrcSscGcOR/yt0D34uXjWj2gX7W6CUeik/img.jpg&quot; data-alt=&quot;갤럭시 핏2 - 후면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Rkc9n/btrcSscGcOR/yt0D34uXjWj2gX7W6CUeik/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRkc9n%2FbtrcSscGcOR%2Fyt0D34uXjWj2gX7W6CUeik%2Fimg.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210819_010443.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;갤럭시 핏2 - 후면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;갤럭시 핏2의 경우 시계처럼 스트랩을 착용하는 방식인데, 좀... 반대다. 그래서 불편하다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;핏빗-알타의 경우 단추처럼 끼워 넣는 방식이라 쉽고 편하며, 단추도 스텐 재질이라 더 예쁘다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210819_012025.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yzEDp/btrcVkFsjZj/CkDyAlPqeH7o7tAjB03On0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yzEDp/btrcVkFsjZj/CkDyAlPqeH7o7tAjB03On0/img.jpg&quot; data-alt=&quot;갤럭시 핏2 vs 핏빗-알타 스트랩 비교&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yzEDp/btrcVkFsjZj/CkDyAlPqeH7o7tAjB03On0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyzEDp%2FbtrcVkFsjZj%2FCkDyAlPqeH7o7tAjB03On0%2Fimg.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210819_012025.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;갤럭시 핏2 vs 핏빗-알타 스트랩 비교&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;갤럭시 기어S3 프론티어&amp;nbsp;&lt;/li&gt;
&lt;li&gt;갤럭시 핏2&lt;/li&gt;
&lt;li&gt;핏빗-알타&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;세가지 제품을 모두 착용해보니, 디자인과 사용목적을 비교하기 훨씬 수훨했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;확실히, 나의 경우 디장인과 사용패턴을 중심으로 보더라도 트래커 기능 중심의 제품을 더 선호한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1568&quot; data-origin-height=&quot;1167&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cHWBvc/btrcNmkumEy/Dr9uUZRk0yVa0L9h7e12O1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cHWBvc/btrcNmkumEy/Dr9uUZRk0yVa0L9h7e12O1/img.png&quot; data-alt=&quot;갤럭시 기어S3 프론티어 vs 갤럭시 핏2 vs 핏빗-알타 비교&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cHWBvc/btrcNmkumEy/Dr9uUZRk0yVa0L9h7e12O1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcHWBvc%2FbtrcNmkumEy%2FDr9uUZRk0yVa0L9h7e12O1%2Fimg.png&quot; data-origin-width=&quot;1568&quot; data-origin-height=&quot;1167&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;갤럭시 기어S3 프론티어 vs 갤럭시 핏2 vs 핏빗-알타 비교&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;갤럭시 핏2 가 좀 더 두껍다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이유는 핏빗-알타의 경우 HR 센서가 없기 때문이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1375&quot; data-origin-height=&quot;844&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rEn4A/btrcORwVKze/Mwtkwls8ejT09eG2dG4ru0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rEn4A/btrcORwVKze/Mwtkwls8ejT09eG2dG4ru0/img.png&quot; data-alt=&quot;갤럭시 핏2 vs 핏빗-알타 비교&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rEn4A/btrcORwVKze/Mwtkwls8ejT09eG2dG4ru0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrEn4A%2FbtrcORwVKze%2FMwtkwls8ejT09eG2dG4ru0%2Fimg.png&quot; data-origin-width=&quot;1375&quot; data-origin-height=&quot;844&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;갤럭시 핏2 vs 핏빗-알타 비교&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;디스플레이는 베절 상하 여백이 불필요하게 많아서 불만이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;핏3 가 출시된다면, 꽉찬 디스플레이로 개선되면 좋을것 같다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210819_011148.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c3p09G/btrcSr5VUec/HWqEvkLgkOgjDEsWVJ8vn1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c3p09G/btrcSr5VUec/HWqEvkLgkOgjDEsWVJ8vn1/img.jpg&quot; data-alt=&quot;갤럭시 핏2&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c3p09G/btrcSr5VUec/HWqEvkLgkOgjDEsWVJ8vn1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3p09G%2FbtrcSr5VUec%2FHWqEvkLgkOgjDEsWVJ8vn1%2Fimg.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210819_011148.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;갤럭시 핏2&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;가격&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;삼성 + 스마트 밴드 = 4만원 ? 더 말이 필요없다. 가성비 정말 좋다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;요약정리&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;스트랩을 착용하는 방식이 불편하다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;디스플레이 베젤 상하 여백이 많아 다음 버전에서는 개선되었으면 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배터리 시간은 공홈 기준 평균 15일로 매우 만족스럽다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&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;정말 가성비 좋은 제품이다 :D&lt;/p&gt;</description>
      <category>제품리뷰</category>
      <category>갤럭시 핏2</category>
      <category>기어 S3 프론티어</category>
      <category>스마트 밴드</category>
      <category>스마트 트래커</category>
      <category>핏빗</category>
      <category>핏빗 알타</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/187</guid>
      <comments>https://graycha.tistory.com/187#entry187comment</comments>
      <pubDate>Mon, 23 Aug 2021 00:05:55 +0900</pubDate>
    </item>
    <item>
      <title>Pro#02 블퍼 - 포스팅 도우미 서비스</title>
      <link>https://graycha.tistory.com/186</link>
      <description>&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;블퍼 v1.0&amp;nbsp;&lt;/span&gt;&lt;/h3&gt;
&lt;figure id=&quot;og_1629554265795&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;GrayCha::블퍼 v1.0&quot; data-og-description=&quot;블퍼::블로그 포스팅 작성을 위한 도우미 서비스&quot; data-og-host=&quot;www.graycha.net&quot; data-og-source-url=&quot;https://www.graycha.net/blper&quot; data-og-url=&quot;https://www.graycha.net/blper&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/fag0T/hyLjRcfKgh/3QkKp25tuJ7txWRxiR5vB0/img.png?width=461&amp;amp;height=232&amp;amp;face=0_0_461_232&quot;&gt;&lt;a href=&quot;https://www.graycha.net/blper&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.graycha.net/blper&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/fag0T/hyLjRcfKgh/3QkKp25tuJ7txWRxiR5vB0/img.png?width=461&amp;amp;height=232&amp;amp;face=0_0_461_232');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;GrayCha::블퍼 v1.0&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;블퍼::블로그 포스팅 작성을 위한 도우미 서비스&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.graycha.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;Blog + Helper = BLPER&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;블로그 포스팅을 위한 정보 검색을 목적으로 하는 서비스입니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;1. 화면구성&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;- 메인&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;검색어 입력, 검색어 출력, 연관 검색어, 실시간 키워드, 실시간 이슈 탭으로 화면을 구성하였습니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;검색어 출력 탭(A)&lt;/b&gt;&lt;/span&gt;과 &lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;연관 검색어 탭(B)을&lt;/b&gt; &lt;/span&gt; 상단 배치하여, &lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;정보검색에 중심&lt;/b&gt;&lt;/span&gt;을 두었습니다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;실시간 키워드 탭(C)과&lt;/b&gt;&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;실시간 이슈 탭(D)을&lt;/b&gt;&lt;/span&gt; 하단 배치하여, &lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;이슈 정보 탐색에 중심&lt;/b&gt;&lt;/span&gt;을 두었습니다.&lt;/li&gt;
&lt;li&gt;모바일 기준 메인 화면 기본 탭은 &lt;b&gt;&lt;span style=&quot;color: #666666;&quot;&gt;검색어 출력 탭(A)&lt;/span&gt;&lt;/b&gt;과 &lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;실시간 키워드 탭(C)으로&lt;/b&gt;&lt;/span&gt; 정보검색과 이슈 정보 탐색을 한눈에 볼 수 있게 구성하였습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;877&quot; data-origin-height=&quot;716&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cpF6fy/btrcONgSF5C/UBsimxhkAUor37VD7lDkKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cpF6fy/btrcONgSF5C/UBsimxhkAUor37VD7lDkKK/img.png&quot; data-alt=&quot;블퍼.메인화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cpF6fy/btrcONgSF5C/UBsimxhkAUor37VD7lDkKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcpF6fy%2FbtrcONgSF5C%2FUBsimxhkAUor37VD7lDkKK%2Fimg.png&quot; data-origin-width=&quot;877&quot; data-origin-height=&quot;716&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;블퍼.메인화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;- 검색어 출력 탭(A) / 연관 검색어 탭(B)&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;검색어 대기 상태일 때는 회색 음영을 기본으로 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;878&quot; data-origin-height=&quot;410&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvyTbo/btrcNniXyX4/0oPlbCUh0Ht4aJMKBioJN1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvyTbo/btrcNniXyX4/0oPlbCUh0Ht4aJMKBioJN1/img.png&quot; data-alt=&quot;블퍼.검색어 출력 탭(A)과 연관 검색어 탭(B)&amp;amp;amp;nbsp; - 검색대기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvyTbo/btrcNniXyX4/0oPlbCUh0Ht4aJMKBioJN1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvyTbo%2FbtrcNniXyX4%2F0oPlbCUh0Ht4aJMKBioJN1%2Fimg.png&quot; data-origin-width=&quot;878&quot; data-origin-height=&quot;410&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;블퍼.검색어 출력 탭(A)과 연관 검색어 탭(B)&amp;nbsp; - 검색대기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;검색어 데이터를 정상적으로 조회했을 경우, 관련 정보와 연관 검색어를 화면에 출력합니다.&lt;/li&gt;
&lt;li&gt;검색 데이터는 다음과 네이버를 기준으로 하며, 우선순위는 다음입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;880&quot; data-origin-height=&quot;409&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KEL3V/btrcMGpLHl3/K4kQuB39vb1FvejIcIiJo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KEL3V/btrcMGpLHl3/K4kQuB39vb1FvejIcIiJo0/img.png&quot; data-alt=&quot;블퍼.검색어 출력 탭(A)과 연관 검색어 탭(B)&amp;amp;amp;nbsp; - 검색출력&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KEL3V/btrcMGpLHl3/K4kQuB39vb1FvejIcIiJo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKEL3V%2FbtrcMGpLHl3%2FK4kQuB39vb1FvejIcIiJo0%2Fimg.png&quot; data-origin-width=&quot;880&quot; data-origin-height=&quot;409&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;블퍼.검색어 출력 탭(A)과 연관 검색어 탭(B)&amp;nbsp; - 검색출력&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;연관 검색어를 클릭하면 해당 검색어를 자동 조회하여, &lt;span&gt;검색어 출력 탭(A)에 추가 탭 형태로&lt;span&gt;&amp;nbsp;정보를 출력합니다.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;검색어 출력 탭(A) 은 기본 탭 확장 형태로 구성되어 있습니다.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;874&quot; data-origin-height=&quot;408&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chufCG/btrcRqlfODN/WmNgbXmoiXVGRkTKtBbz5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chufCG/btrcRqlfODN/WmNgbXmoiXVGRkTKtBbz5k/img.png&quot; data-alt=&quot;블퍼.검색어 출력 탭(A)과 연관 검색어 탭(B)&amp;amp;amp;nbsp; - 연관 검색어&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chufCG/btrcRqlfODN/WmNgbXmoiXVGRkTKtBbz5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FchufCG%2FbtrcRqlfODN%2FWmNgbXmoiXVGRkTKtBbz5k%2Fimg.png&quot; data-origin-width=&quot;874&quot; data-origin-height=&quot;408&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;블퍼.검색어 출력 탭(A)과 연관 검색어 탭(B)&amp;nbsp; - 연관 검색어&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p 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: #666666;&quot;&gt;실시간 키워드 탭(C) /&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #666666;&quot;&gt;실시간 이슈 탭(D)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;실시간 키워드 정보는 구글 트렌드 정보를 수집하여 출력합니다.&lt;/li&gt;
&lt;li&gt;실시간 이슈 정보는 정책 브리핑 정보를 수집하여 출력합니다.&lt;/li&gt;
&lt;li&gt;실시간 정보는 배치 서비스를 통해 데이터를 수집합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;873&quot; data-origin-height=&quot;373&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eaBOzI/btrcOfYZ9SG/sYJ3JYQC4ZxMXEue74RLI0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eaBOzI/btrcOfYZ9SG/sYJ3JYQC4ZxMXEue74RLI0/img.png&quot; data-alt=&quot;블퍼.실시간 키워드 탭(C)과 실시간 이슈 탭(D)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eaBOzI/btrcOfYZ9SG/sYJ3JYQC4ZxMXEue74RLI0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeaBOzI%2FbtrcOfYZ9SG%2FsYJ3JYQC4ZxMXEue74RLI0%2Fimg.png&quot; data-origin-width=&quot;873&quot; data-origin-height=&quot;373&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;블퍼.실시간 키워드 탭(C)과 실시간 이슈 탭(D)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 기능 정의&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;다음 / 네이버 / 구글 API 서비스를 기반의 데이터 정보를 표기합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 프로젝트 스펙&lt;/p&gt;
&lt;pre id=&quot;code_1629557405932&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# Services or Plugins
- Apache v2.3
- PHP v7
- PHP - Simplexml_load_string
  https://www.php.net/manual/en/book.simplexml.php
- Laravel v7.3
- Laravel - Job
- Laravel - Schedul
- Laravel - MongoDB
  https://github.com/jenssegers/laravel-mongodb#query-builder
- NoSQL - MongoDB
- Bootstrap v5

# API 
- Naver Developers
  https://developers.naver.com/docs/serviceapi/search/blog/blog.md
- Kakao Developers
  https://developers.kakao.com/docs/latest/ko/daum-search/dev-guide
- Google Trend
  https://developers.google.com/android-publisher/getting_started?hl=ko
- Korea Issue
  https://www.korea.kr/etc/rss.do&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;i&gt;* 개인 프로젝트 관리를 목적으로 하며, 비상업적 용도로 제작 하였습니다.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>프로그래밍/Project</category>
      <category>블로그 도우미 서비스</category>
      <category>블퍼</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/186</guid>
      <comments>https://graycha.tistory.com/186#entry186comment</comments>
      <pubDate>Sun, 22 Aug 2021 00:21:57 +0900</pubDate>
    </item>
    <item>
      <title>jQuery - scrollTop 스크롤 상단 이동 / 스크롤 위치 정보 확인 방법</title>
      <link>https://graycha.tistory.com/185</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;jQuery scrollTop 메서드를 이용하여 간단하게 스크롤 상단이동 기능을 구현할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;아래와 같이 선택자에 지정한 후, &lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;scrollTop 메서드에 value 값을 지정&lt;/b&gt;&lt;/span&gt;하여 사용하면 된다.&lt;/span&gt;&lt;span style=&quot;color: #795e26;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;scrollTop(value)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1629345107123&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 기본 설정
$('html').scrollTop(0);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;animate를 이용하여, 스크롤 이동 속도를 조절 할 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1629345181305&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 빠르게
$('html').animate({scrollTop : 0}, 100)


// 느리게
$('html').animate({scrollTop : 0}, 500)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;scrollTop()&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;메서드만 선언할 경우는 현재 스크롤의 수직 위치 정보를 반환는다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그래밍/Script, jQuery</category>
      <category>jqueryy scrollTOp</category>
      <category>scrollTop</category>
      <category>스크롤 상단이동</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/185</guid>
      <comments>https://graycha.tistory.com/185#entry185comment</comments>
      <pubDate>Thu, 19 Aug 2021 13:05:03 +0900</pubDate>
    </item>
    <item>
      <title>흔들림 없고 퀄리티 좋은 맥북 거치대 추천</title>
      <link>https://graycha.tistory.com/184</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;식탁이나 거실에서 노트북을 사용하다 보면, 모니터 시선이 너무 낮아 자연스럽게 구부정해지는 나쁜 자세가 된다. 평균 2시간 ~ 4시간 정도 작업을 하기 때문에, 자연스럽게 허리와 목에 통증이 동반된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;맥북을 흔들림 없이 안정적으로 거치할 수 있으면서, 높이와 각도 조절이 되는 제품으로 정보를 수집하여 '&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;니스톨 노트북 거치대'를&lt;/b&gt;&lt;/span&gt; 구입하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;제품 살펴보기&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제품명은 니스톨 노트북 거치대이며, 보유하고 있는 맥북 색상과 동일한 스페이스 그레이로 구입하였다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1407&quot; data-origin-height=&quot;1306&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JXPDc/btrczI1o9Ii/tqG7xAH2gweFSA2jAY4hFK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JXPDc/btrczI1o9Ii/tqG7xAH2gweFSA2jAY4hFK/img.png&quot; data-alt=&quot;니스톨 노트북 거치대 - 언박싱&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JXPDc/btrczI1o9Ii/tqG7xAH2gweFSA2jAY4hFK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJXPDc%2FbtrczI1o9Ii%2FtqG7xAH2gweFSA2jAY4hFK%2Fimg.png&quot; data-origin-width=&quot;1407&quot; data-origin-height=&quot;1306&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;니스톨 노트북 거치대 - 언박싱&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스페이스 그레이 색상이 생각했던 것보다 정말 괜찮았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보유 중인 맥북 M1을 거치했을 때 이질감 없이 애플에서 판매하는 거치대 같은 느낌이 들었다.&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;제품 설명을 보면 애플 제품 제작에 사용하는 ULTRA FINE Glass Blasting 표면처리 공법을 사용하여 부드럽고 고급스러운 무광을 표현했다고 했는데, 기대 이상으로 만족스럽다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1904&quot; data-origin-height=&quot;1446&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZV9PF/btrcutc7OHR/WlchUf56DKc0HBhRWQIfek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZV9PF/btrcutc7OHR/WlchUf56DKc0HBhRWQIfek/img.png&quot; data-alt=&quot;니스톨 노트북 거치대 - 정면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZV9PF/btrcutc7OHR/WlchUf56DKc0HBhRWQIfek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZV9PF%2Fbtrcutc7OHR%2FWlchUf56DKc0HBhRWQIfek%2Fimg.png&quot; data-origin-width=&quot;1904&quot; data-origin-height=&quot;1446&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;니스톨 노트북 거치대 - 정면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제품 무게는 1.45kg으로 묵직하여 안정적으로 거치가 가능했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각도와 높이 조절을 위해 거치대를 조정할때, 정말 뻑뻑한데 그만큼 흔들림이 없다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1451&quot; data-origin-height=&quot;1557&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cdIRsa/btrczJ6627o/2ArRnji2E9hBtEsmy0Bfn0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cdIRsa/btrczJ6627o/2ArRnji2E9hBtEsmy0Bfn0/img.png&quot; data-alt=&quot;니스톨 노트북 거치대 - 옆면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cdIRsa/btrczJ6627o/2ArRnji2E9hBtEsmy0Bfn0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcdIRsa%2FbtrczJ6627o%2F2ArRnji2E9hBtEsmy0Bfn0%2Fimg.png&quot; data-origin-width=&quot;1451&quot; data-origin-height=&quot;1557&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;니스톨 노트북 거치대 - 옆면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;높이와 각도조절이 가능하여 다양한 사용자 환경에 적합하다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210810_140042.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dFgOJ8/btrcvwOaYrl/LupFPqx8mY16ZNVA3kcyRK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dFgOJ8/btrcvwOaYrl/LupFPqx8mY16ZNVA3kcyRK/img.jpg&quot; data-alt=&quot;니스톨 노트북 거치대 - 뒷면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dFgOJ8/btrcvwOaYrl/LupFPqx8mY16ZNVA3kcyRK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdFgOJ8%2FbtrcvwOaYrl%2FLupFPqx8mY16ZNVA3kcyRK%2Fimg.jpg&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20210810_140042.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;니스톨 노트북 거치대 - 뒷면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보유 중인 맥북 M1 정면 거치 모습이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기대 이상의 퀄리티로 정말 만족스럽다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1771&quot; data-origin-height=&quot;1270&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Cf2Vm/btrcxI8F6aT/anfLfptQj2g3vi94kS0FLk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Cf2Vm/btrcxI8F6aT/anfLfptQj2g3vi94kS0FLk/img.png&quot; data-alt=&quot;니스톨 노트북 거치대 - 맥북 거치1&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Cf2Vm/btrcxI8F6aT/anfLfptQj2g3vi94kS0FLk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCf2Vm%2FbtrcxI8F6aT%2FanfLfptQj2g3vi94kS0FLk%2Fimg.png&quot; data-origin-width=&quot;1771&quot; data-origin-height=&quot;1270&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;니스톨 노트북 거치대 - 맥북 거치1&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보유 중인 맥북 M1 옆면 거치 모습이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정말 흔들림 없이 안정적인 거치가 가능하고, 군더더기 없이 깔끔하다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1644&quot; data-origin-height=&quot;1268&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFDQJH/btrczQkCuyO/2UjlBMOkq7E3UwS9MtS9j0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFDQJH/btrczQkCuyO/2UjlBMOkq7E3UwS9MtS9j0/img.png&quot; data-alt=&quot;니스톨 노트북 거치대 - 맥북 거치2&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFDQJH/btrczQkCuyO/2UjlBMOkq7E3UwS9MtS9j0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFDQJH%2FbtrczQkCuyO%2F2UjlBMOkq7E3UwS9MtS9j0%2Fimg.png&quot; data-origin-width=&quot;1644&quot; data-origin-height=&quot;1268&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;니스톨 노트북 거치대 - 맥북 거치2&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1283&quot; data-origin-height=&quot;1825&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Zq8lr/btrczcn8aAF/v2Uiuf6G6MvvFN2b5PPMKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Zq8lr/btrczcn8aAF/v2Uiuf6G6MvvFN2b5PPMKK/img.png&quot; data-alt=&quot;니스톨 노트북 거치대 - 맥북 거치3&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Zq8lr/btrczcn8aAF/v2Uiuf6G6MvvFN2b5PPMKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZq8lr%2Fbtrczcn8aAF%2Fv2Uiuf6G6MvvFN2b5PPMKK%2Fimg.png&quot; data-origin-width=&quot;1283&quot; data-origin-height=&quot;1825&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;니스톨 노트북 거치대 - 맥북 거치3&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;거치대 하단 받침대가 있는데, 표면적이 넓어서 일반 책부터 전공서적까지도 커버할 수 있을 정도다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개인적으로는 독서대 겸용해서 사용해도 정말 좋을것 같다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1404&quot; data-origin-height=&quot;1348&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VHkMl/btrcusSQqlf/48IMwzpIxgolLuSbKKO2sk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VHkMl/btrcusSQqlf/48IMwzpIxgolLuSbKKO2sk/img.png&quot; data-alt=&quot;니스톨 노트북 거치대 - 책 거치&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VHkMl/btrcusSQqlf/48IMwzpIxgolLuSbKKO2sk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVHkMl%2FbtrcusSQqlf%2F48IMwzpIxgolLuSbKKO2sk%2Fimg.png&quot; data-origin-width=&quot;1404&quot; data-origin-height=&quot;1348&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;니스톨 노트북 거치대 - 책 거치&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;가격&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배송비 포함하여 31,400원에 구입하였는데, 적당한것 같다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;612&quot; data-origin-height=&quot;165&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJuBxv/btrctyeivN1/DKkqRFLGD3s7wo7BBeSvk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJuBxv/btrctyeivN1/DKkqRFLGD3s7wo7BBeSvk1/img.png&quot; data-alt=&quot;맥북 거치대 구매확정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJuBxv/btrctyeivN1/DKkqRFLGD3s7wo7BBeSvk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJuBxv%2FbtrctyeivN1%2FDKkqRFLGD3s7wo7BBeSvk1%2Fimg.png&quot; data-origin-width=&quot;612&quot; data-origin-height=&quot;165&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;맥북 거치대 구매확정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;요약정리&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;거치대 본연의 역할에 충실하며, 디자인 및 색상 퀄리티가 정말 기대 이상으로 좋은 제품이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;높이와 각도 조절 시 정말 뻑뻑하지만, 그만큼 흔들림 없이 안정적인 거치 환경을 보장해주는 게 정말 큰 장점이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한, 맥북M1 스페이스 그레이 색상과 기대 이상으로 정말 잘 어울린다.&lt;/p&gt;</description>
      <category>제품리뷰</category>
      <category>M1 거치대</category>
      <category>노트북 거치대</category>
      <category>니스톨 노트북 거치대</category>
      <category>맥북 거치대</category>
      <category>맥북 접이식 거치대</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/184</guid>
      <comments>https://graycha.tistory.com/184#entry184comment</comments>
      <pubDate>Thu, 19 Aug 2021 02:40:40 +0900</pubDate>
    </item>
    <item>
      <title>CSV 파일형식 알아보기</title>
      <link>https://graycha.tistory.com/183</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;CSV는 comma-seprated values의 약어로 쉼표(,)로 구분한 텍스트 데이터로 파일 확장자는 *. csv이다. &lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;주로 대용량 데이터를 비롯한 공공데이터와 이기종간 데이터 교환시 사용되며,&amp;nbsp; &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;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7444190536386520&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7444190536386520&quot; data-ad-slot=&quot;9534504548&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;데이터 구조&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;플레인 텍스트 형태로, 한줄에 하나의 레코드 정보를 포함하는 구조다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래는 구글 트랜드에서 검색한 시간 흐름별 정보와 지역별 관심도 정보를. csv 파일 데이터로 다운로드한 데이터다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;줄 단위로 레코드 정보를 포함하고 있으며, 쉼표(,)로 데이터를 구분한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;947&quot; data-origin-height=&quot;672&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6C0Jn/btrctvBikaV/uFvNVQm2wJgnMDu6D4OMyK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6C0Jn/btrctvBikaV/uFvNVQm2wJgnMDu6D4OMyK/img.png&quot; data-alt=&quot;출추.구글 트랜드 검색 결과와 csv 파일 데이터&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6C0Jn/btrctvBikaV/uFvNVQm2wJgnMDu6D4OMyK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6C0Jn%2FbtrctvBikaV%2FuFvNVQm2wJgnMDu6D4OMyK%2Fimg.png&quot; data-origin-width=&quot;947&quot; data-origin-height=&quot;672&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출추.구글 트랜드 검색 결과와 csv 파일 데이터&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그래밍/ETC</category>
      <category>csv</category>
      <category>csv 파일</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/183</guid>
      <comments>https://graycha.tistory.com/183#entry183comment</comments>
      <pubDate>Wed, 18 Aug 2021 13:29:29 +0900</pubDate>
    </item>
    <item>
      <title>맥북 크롬 및 사파리 스크롤바 표시 방법</title>
      <link>https://graycha.tistory.com/182</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;맥OS를 사용할 경우, 크롬 및 사파리 브라우져에서 결과물을 출력할때, 스크롤바가 표시되지 않는 경우가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프론트 개발을 병행 한다면, 기본적 설정을 변경해두는것이 좋다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;간단한 설정을 통해서 스크롤바를 출력할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;font-family: dotum, sans-serif; color: #9198cee0; border-left: 10px solid #9198cee0; margin: 0px 0px 10px; letter-spacing: -1px; line-height: normal; font-stretch: normal; padding: 0px 0px 0px 7px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 21px; color: #000000;&quot;&gt;설정방법&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;맥OS 기본 설정 값은 '마우스 또는 트랙패드에 따라 자동으로' 로 설정되어있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;2696&quot; data-origin-height=&quot;1464&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b2PqQ5/btrcj0UX0vj/9kIF4qaLQeLdVxlhJfCexk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b2PqQ5/btrcj0UX0vj/9kIF4qaLQeLdVxlhJfCexk/img.png&quot; data-alt=&quot;스크롤 막대보기 - 마우스 또는 트랙패드에 따라 자동으로&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b2PqQ5/btrcj0UX0vj/9kIF4qaLQeLdVxlhJfCexk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2PqQ5%2Fbtrcj0UX0vj%2F9kIF4qaLQeLdVxlhJfCexk%2Fimg.png&quot; data-origin-width=&quot;2696&quot; data-origin-height=&quot;1464&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;스크롤 막대보기 - 마우스 또는 트랙패드에 따라 자동으로&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설정 &amp;gt; 일반 &amp;gt; 스크롤 막대 보기 탭에서 '항상' 으로 변경하면 된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;2708&quot; data-origin-height=&quot;1486&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bA6L46/btrcb78BlYi/ho5gpS4FO1wjWbNSlmoiv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bA6L46/btrcb78BlYi/ho5gpS4FO1wjWbNSlmoiv1/img.png&quot; data-alt=&quot;스크롤 막대보기 - 항상&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bA6L46/btrcb78BlYi/ho5gpS4FO1wjWbNSlmoiv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbA6L46%2Fbtrcb78BlYi%2Fho5gpS4FO1wjWbNSlmoiv1%2Fimg.png&quot; data-origin-width=&quot;2708&quot; data-origin-height=&quot;1486&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;스크롤 막대보기 - 항상&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>프로그래밍/ETC</category>
      <category>맥 스크롤바</category>
      <category>맥북 스크롤 표시</category>
      <author>차고차곡</author>
      <guid isPermaLink="true">https://graycha.tistory.com/182</guid>
      <comments>https://graycha.tistory.com/182#entry182comment</comments>
      <pubDate>Mon, 16 Aug 2021 15:08:04 +0900</pubDate>
    </item>
  </channel>
</rss>